分类:
2011-10-27 10:35:31
现在家用的3D视频已经渐渐普及。经常看到有人问,我的3D电视能看什么格式的片子?左右和上下到底哪个效果好?蓝光3D原盘ISO是上下还是左右的? 等等
很多人的回答,特别是在对3D格式的认识上,错误好象很多。
我认为,现有的3D视频,是由储存、传输、显示,这3个主要环节构成。这就算你是在电视上插U盘直接播放,其实在电视内部也还是有这3个环节的。这3个环节虽然有所关联,但实际上各自有着的格式(方式),最好分开来单独讨论。不然各种概念会相互混淆,最后搅成一锅粥。
这次先谈谈3D视频的数据存储格式。最后会重点介绍蓝光3D的数据格式。
1. 互补色(分色)anaglyph
这种格式的原理就不详细介绍了,大家都看过,缺点有优点都同样的明显。以应用最广泛的红青(红蓝)格式为例,它主要是以红色储存左路信息,青色储存右路信息,当然右路信息包含绿色和蓝色信息,右路信息较为丰富。由于青和蓝在汉语里有时候分不清,不知什么时候起,我们把红青格式叫做了红蓝电影,红蓝眼镜了。
其他还有 ,绿红(绿品红或绿玫瑰红)、红绿、棕蓝(咖啡蓝)、黄蓝等互补色格式,各有特点,但原理都是一样的。互补色格式效果都差不多,看个人对喜欢喜好和色彩感观了。2. 左右格式(半宽)Side by Side(Half)
这种格式的长宽比是全高清、高清、标清的标准的16:9或4:3。其算法是将同步的左右图像各在水平方向压缩为1/2的,高度不变,左右排列后合成为1帧标准分辨率的图像。
这种格式的宽高比是标准的,但是单眼的有效水平分辨率是正常2D图像的一半,播放的时候要水平方向重新拉伸一倍才能恢复正常比例。
这种格式在数据存储和解码上和2D的视频完全相同,可以直接利用现有的解码软硬件。所以很多带USB口的3D电视可以利用和既有的2D电视相同的解码芯片解码,降低成本,通用性比较好。
国外的一些电视台的3D节目也是用了这种格式,同样是因为可以直接利用2D的广播设备。
缺点嘛,当然是水平分辨率降低一半。由于人眼对垂直方向的分辨率比水平方向更敏感,左右半宽比下面的上下半高格式在实际效果上要好一些。但是这种格式如果在水平线的偏振3D电视上播放的话,由于电视构造上的特点,有效的垂直分辨率还要减半,造成实际单眼有效像素只有2D时的1/4,效果要比原始2D图像差很多。
2. 上下格式(半高) Top-and-Bottom
这种格式也是标准的16:9或4:3长宽比,将同步的左右图像各在垂直方向压缩为1/2的,宽度不变,上下排列后合成为1帧标准分辨率的图像。
这种格式的宽高比是标准的,但是单眼的有效垂直分辨率是正常2D图像的一半,播放的时候要垂直方向重新拉伸一倍才能恢复正常比例。
和左右格式(半宽)一样,这种格式在数据存储和解码上和2D的视频完全相同,可以直接利用现有的解码软硬件,通用性比较好。
缺点是在垂直分辨率降低一半。但这种格式如果在偏振3D电视上播放的话,正好贴合电视构造上的特点,所有像素都能有效利用,不多也不少,而且不用做拉伸处理。
3. 水平交错 Row interleaved
这种格式是将同步的左右图像各自抽取一半的垂直方向的像素线,然后左右图像的像素线1条隔1条排列成1帧标准分辨率的图像。
这种格式的宽高比是标准的,但是单眼的有效垂直分辨率是正常2D图像的一半。这个格式可以直接输出到偏振3D电视上,不用再做左右图像像素线的交错排列。而且所有像素都能有效利用,不用做拉伸处理。所以也有人把它说成是偏振格式,另外还有同样原理的垂直交错格式,这里就不多说了。
5.棋盘格 Checkerboard
在这种格式中,用于左眼和右眼的两幅图像被交织,即每隔一个像素用于左眼或者右眼。看看国际象棋的棋盘然后把上面的方格想象成像素。黑色的方格是用于左眼的像素,而白色的方格则是用于右眼的像素
这种格式的宽高比是标准的,但是单眼的有效像素是正常2D图像的一半。和上下左右格式不同,这种格式不是在单一的坐标方向上减少分辨率,所以图像的主观感觉比上下左右格式稍好。
可以直接输出到DLP 3D Ready TV上,不用再做左右图像像素排列处理了。(注意:DLP投影机是不支持的)
---------------------------------------------------------------------------------------
以上几种格式,说穿了对解码器来说实际上都是标准的2D视频,用现有的解码软硬件都可以解码。但是要作3D显示的话,有些格式还有图像的分割,拉伸,重新组合等处理。这些处理需要播放端或显示端的支持。现在的3D电视通常都能支持其中的几种,而高清播放机好象还没有看到能支持的。
在一个2D的图像里要放下左右两路的信息,必然要丢弃一部分东西,或者是色彩,或者是某个方向的分辨率。所以效果肯定没有下面几种格式好。
6. 帧序列 Frame Sequential
这种格式的左右图像不做任何分辨率上的压缩处理。左右图像1帧隔1帧,按照时间序列,顺序排列后成为1条视频流。
优点是分辨率无损失。这种格式就是有些人所说的,所谓的快门格式,分时格式,理论上这种格式解码后可以直接输出到显示设备上用分时快门眼镜直接观看。
但实际上,这种格式作为一种储存格式却是不太合适的,特别是对于全高清的视频。由于现在高质量的原始视频要么来自于电影胶片扫描,或者是数字摄影机,其图像是1080p逐行扫描,帧率24Hz。还有就是高清数字摄像机,其图像是1080i隔行扫描,帧率是50/60Hz,或者720p逐行扫描,帧率50/60Hz。(以上都单指一路视频)
现在的分时方式的显示都是逐行扫描的,通常要单眼逐行60Hz,双眼逐行120Hz,或以上才能保证足够的观看效果。只有高清720p@60Hz的2D原始视频流合成的720p@120Hz的视频流才适合直接拿来输出。全高清的1080p@24Hz和1080i@50/60Hz都不能简单的合成帧序列的视频流。问题主要有2个。
1 1080p@24Hz合成的1080p@48Hz,1080i@50/60Hz合成的1080i@ 100/120Hz,这2种格式并不能直接拿来驱动显示面板,最终还是要通过软硬件处理成120p的数据流。既然都不能直接用,那就没有处理简单这个优点,和后面的几种格式并没有什么本质区别了。
2 1080p@48Hz这种格式,用的不是标准的帧率,恐怕只有在电脑上用专用解码软件才能识别。绝大多数播放设备,特别是电视内置的解码器和高清播放机都不能放,没有通用性。
就算是把48p或120i直接转换成120p存起来也不行。这种处理插入了大量的重复帧,最后的文件比原来增大不少,太占储存空间了。同时1080p@120Hz也不是标准的格式,兼容性的问题还是存在。
7. 左右格式(全宽)Side by Side (Full)
左右全宽格式是把左右图像不做任何压缩处理,左右并排后合成为1帧图像,高度不变,水平分辨率为标准2倍。然后按时间序列输出1条视频流。
优点是分辨率无损失,最方便看立体,可简单出双屏或双投。就算用KMP等软件播放也能用观屏镜或对眼**直接看。
缺点是分辨率非标准,高清播放器,电视内置的解码器可能无法识别播放。在电脑上播放时,电脑要有解码双全高清视频流的能力,对硬件要求较高。
8. 上下格式(全高)
上下全高格式是把左右图像不做任何压缩处理,上下排列后合成为1帧图像,宽度不变,垂直分辨率为标准2倍。然后按时间序列输出1条视频流。
优点是分辨率无损失,可简单出双屏或双投。上下格式的产生最初是因当时辉煌一时的红网眼镜立体时代(4:3的屏),因流行的宽屏的16:9立体电影做成上下格式,2D播放时拥有更大的可视面积。现在再看的话,和左右全宽比也没有什么优点了,基本没有人压了。
缺点同样是分辨率非标准,高清播放器,电视内置的解码器可能无法识别播放。在电脑硬件要求较高。
9. 左右分离
左右分离也叫两路视频。将独立的左右两路视频,分别保存为2个数据文件。音轨可以单独存放,也可以放在某一路视频文件中。播放时需要用专用播放软件同步解码播放两条视频流和音轨。
其来源通常是2台摄像机的同步摄制的原始视频流,也可以是对蓝光3D的重编码等等。
优点是分辨率无损失,效果好,两路视频都可以简单的单独播放。
缺点是是对电脑主机,显卡要求较高,体积较大。由于连音轨可能是3个数据文件,并且文件很大,对硬盘的随机读取能力有较高的要求。光盘的随机读取能力较差,所以蓝光盘不能使用这种格式
10.左右混流
这个格式是把上面的左右分离格式的两路视频以及音轨混合成一个文件。
这是我生造的一个格式,在技术上没有难度。不知道大家看过带画中画的蓝光盘没有,那个就是把全高清的主视频流和一个标清分辨率的PIP视频流混流在一起的。如果PIP视频换成另外一个视角的视频流,就得到一个左右混流的3D格式了。理论上可以制作,但应该还没有现成的东西可以下载。
某网站出过蓝光3D的REMUX,原理上应该和这个格式差不多。当然真正的REMUX的话用的是MVC编码,其中1路视频是不能单独解码播放的。
这个格式的优点是分辨率无损失,效果好,单个文件容易同步。对硬盘的随机读取能力没有太高要求。后面我还要说道,如果不是为了兼容2D设备,实际上蓝光3D盘也是可以用这种格式的。
缺点是现在还是非标准数据格式,真的要实现的话要开发新的分离器分离数据流。播放器或电脑要有解码双全高清视频流的能力,对硬件要求较高。文件体积也较大。
11. 蓝光3D(Blu-ray 3D)格式
重头戏来了。蓝光3D格式,和一些人所认为的不同,它既不是左右上下格式,也不是什么偏振分时格式,和分色格式更是扯不上关系。严格的算起来,可以说是上面说到的左右分离格式的一个变种。另外还和左右混流格式也有点关系。
A. 新的编码方式
蓝光3D的视频流使用了MPEG-4 MVC 编码格式。MVC视频流由两部分组成。一部分为MVC主视频流,另一部分为MVC辅视频流。MVC主视频流兼容AVC视频流,因此现有的2D 播放机可以解码MVC主视频流进行2D播放。在制作内容时,可以选择左眼或右眼的视频流作为MVC主视频流,用于兼容2D播放机中播放2D视频流时的源数据。
由于MVC编码在AVC编码所使用的视点内预测(intra-view prediction)编码技术基础上,还采用了视点间预测(Inter-view rediction)技术,可以实现更高的视频压缩效率。与左右眼图像同时显示(即对左右眼图像分别编码)相比,采用MVC编码技术可以使MVC辅视频流在主观图像质量相同的情况下降低50%的码流带宽。但是相应的,MVC辅视频流也失去了单独解码播放的能力。
B.主辅视频分流保存
为了向后与现有的2D蓝光盘播放机保持兼容及实现全高清画面质量,蓝光3D中使用了分离保存的两个传输流文件(m2ts):兼容2D的传输流(主传输流文件)和3D扩展传输流(辅传输流文件)。从左右视频流分开保存这点上说,和左右分离格式是一样的。
主传输流中包含MVC主视频流及其它播放2D所必须的基本流(音轨和字幕)。主传输流完全兼容2D播放机。辅传输流中则含有MVC辅视频流及其它播放3D所必须的基本流(3D字幕)。播放机对主传输流与辅传输流同时解码,以进行3D播放。
主传输流与辅传输流复用的最高速率总计为64Mbps,而单个传输流(包括主传输流与辅传输流)的最高速率为 48Mbps,以保证左右眼全高清的画面质量。此外,蓝光3D的规范中,也允许MVC主视频流及相应的MVC辅视频流可以在同一个传输流中同时传输。也就是说主辅两个视频流实际上也可以混流在一个传输流文件里,采用左右混流格式保存。但是为了兼容老的2D播放设备,对最高码率有限制,该传输流的速率小于或等于48Mbps。C.主辅交错排列
主辅两种传输流虽然是分离的两个流文件,但是为了适应光盘读取的特性(寻道时间长,随机读取能力差)在文件储存方式上玩了一个技巧。
主辅两种传输流(m2ts文件)各自被分割为多个数据块,每个数据块中包含数秒的AV音视频数据,主传输流与辅传输流的数据块交错间隔排列在光盘上。
当这种蓝光3D光盘在现有的2D播放机中播放时,只须读取主传输流,而跳过辅传输流,以2D方式播放主传输流(图中的2D播放路径)。其中的跳过距离(=每个辅传输流数据块的大小)应满足现有2D播放机的BD-ROM光盘驱动器的性能(缓存和寻道时间)。
当蓝光3D光盘在3D播放机中以3D模式播放时,同时读取光盘上的主传输流与辅传输流,以3D 方式播放这些数据流(图中的3D播放路径)。为了能够连续地读取主传输流与辅传输流,将上述交错间隔排列的主传输流与辅传输流数据块,整体定义为Stereoscopic Interleaved 文件(zzzzz.ssif)。
从实际的光盘上的数据排列来看,3D的ssif文件的数据完全是连续的,而2D流文件的数据分布反倒是分散的,是一个个数据“碎片”。因此,和一般人的看法不太一样,我认为2D文件和3D文件是互为虚拟文件。也就是说如果3D文件你认为是实体文件的话,2D文件就是虚拟文件,反之也可以。
D.为了2D兼容和光盘储存而特化
光盘上用虚拟文件,使得看到的总的文件大小大于光盘的总容量,这个其实也不是什么新鲜东西,Windows的Nin1安装盘很多人都用过吧,和那个差不多。还有硬盘上也有类似的hard link技术。当然这些都是以文件为单位的数据复用。而蓝光3D的ssif文件是数据扇区层次的、文件系统层次的数据复用。其目的是为了老的2D播放机不用升级也能识别2D的主传输流。同时保证3D播放机的连续顺畅的数据传输。
可以说,ssif文件这种形式,这是一种为了兼容2D,同时为了BD-ROM储存载体而特化的保存形式。如果不要求2D兼容,不用BD-ROM储存,完全可以采用更单纯的高码率的左右混流格式。离开这两个要求,是很难理解为什么要采用这种特殊的3D储存格式的。
E.今后的标准,现在的问题
不用说,蓝光3D这个格式这个将是今后很长一段时间的标准,分辨率无损失,效果最好。由于辅视频流的码带宽大约是主视频流的一半,所以理论上同等画质下,总的流文件大小大约是左右分离、全宽、全高格式的3/4。将来会有很多软件、播放设别去支持它。
但是现有的2D播放设备,除了变态的PS3,所用的高清播放机和3D电视内嵌的解码器几乎没有可能通过升级固件在3D模式下播放这种格式。问题主要有3个:
(1) 识别ssif文件。这个不难,在固件中加入对新文件格式和目录结构的定义就可以了。)
(2) 解码MVC视频流。这个几乎没有通过固件升级来实现的可能性。解码MVC视频流需要同时解码2条1080p视频流的能力,现在的解码芯片的处理能力绝对没有这个设计余量。
(3) 3D视频数据的输出。解码后还需要转换成3D显示设备能接受的3D视频数据传输格式,这对播放设备的处理能力又有一些要求,不是升级能解决的。
PS3能放蓝光3D,一是因为其硬件够强,可编程能力也强,潜力足够大。另外还有一点很重要,SONY是靠卖软件赚钱的,不论是游戏还是电影,那个才是大头,所以会化大力气对卖出去的硬件作升级。
而靠卖硬件生存的高清机厂商,会傻乎乎的投入资源去发掘旧机器本来就不大的潜力?
现阶段对应的软硬件如下:
Blu-ray 3D对应蓝光播放机
PowerDVD 10/11
WinDVD Pro 2010
Stereoscopic Player 1.6.9 以上(直接解码ssif文件)
注:关于蓝光3D更权威的说明,请看蓝光协会官方的白皮书。
---------------------------------------------------------------------------------------
后面的几种格式都不是标准的2D格式,需要新的软硬件解码器才能解码。现在上市的高清播放机都不能解,大多数电视内置的解码器也不行。今后肯定会有支持的新东西出来,但现在用PC放是最好的选择。
现有的3D视频从本质上都是储存了有视差的两路图像。以上所有格式,除了分色,理论上都可以分离出左右两路视频,再组合成另外一种储存格式,只是处理麻烦不麻烦,画质效果好不好的问题。只要解码器播放器支持,功能足够强大。(实际上分色也可以,不过需要人工干预);
所以储存格式和传输格式,以及最终的显示方式没有必然的联系。用某种传输或显示格式命名一种储存格式,不过是这种格式用在某种传输或显示格式上不需要转换,处理比较简单,软硬件要求低,或者分辨率损失小,数据不浪费也不多于而已。
储存格式实际上还有几种,不常见,这里就省略了。
下一次我会谈谈,3D视频的传输格式,也就是从播放设备到显示设备的视频线上是怎么传输3D视频的。总结下来常见的有这么几种:
1. 2D格式(和普通2D视频分辨率帧率相同)
2. 双屏双路输出
3. 帧序列
4. HDMI 1.4(a)(其中定义了若干种数据格式))