用于数字编码3d立体视频图像的方法和系统的制作方法

文档序号:7753741阅读:161来源:国知局

专利名称::用于数字编码3d立体视频图像的方法和系统的制作方法
技术领域
:本发明涉及3DVis0r装置中的立体视频图像显示,特别涉及借助于数字数据压缩系统的视频图像编码方法,该数字数据压缩系统允许使用标准化的压缩技术进行三维信息存储。
背景技术
:目前,使用数据压缩技术以减小图像或者图像序列显示中的比特消耗。标准化工作由国际标准化组织的专家组执行。目前,这些方法通常称为为JPEG(联合图像专家组),和MPEG(运动图像专家组)。这些技术的公共特性在于,图像块是借助于应用适用于块的变换来处理的,该变换通常通称为离散余弦变换(DCT)。形成的块被送往量化处理,随后用变长码来进行编码。变长码是可逆过程,其允许对已经用变长码进行编码的块进行精确重建。数字视频显示包括以30至75HZ频率连续显示或表示的一定数量的图像帧(30至96fps)。每一个图像帧仍然是由像素阵列根据特定系统的显示分辨率形成的图像。例如,VHS系统的显示分辨率为320列480行,NTSC系统的显示分辨率为720列486行,并且,高清晰电视系统(HDTV)的显示分辨率为1360列1020行。关于低分辨率的数字化形式,320列乘480行的VHS格式,两小时长度的电影可等于100GB的数字视频信息。为了比较,传统压缩光盘的容量约为0.6GB,磁盘的容量为1-2GB,并且目前的压缩光盘的容量为8GB或者更大。由于存储和传输这种大信息量的限制,已经建立了几种标准的压缩处理。这些视频压缩技术使用连续图像帧之间的相似特性,称为时间空间相关性,以提供逐帧压缩,逐帧压缩是根据从帧到帧的像素表示进行的。我们在电影院和电视屏幕上看到的所有图像都是根据以很高的速率显示完整图像(静态图像,如照片)的原理。当它们以每秒30帧的速度(30fps)以快速并且连续的方式被显示出来时,由于人眼的视觉暂留(retention),我们把它们看成动画图像。为了将图像编码成以连续方式显示并形成视频信号,每一个图像都需要被分成行,其中每行依次被分为图像元素或像素,每一个像素具有两个相关联的值,即,亮度和色度。亮度表示每个点上的光强,而色度表示颜色,该颜色为定义的可以用三个字节来表示的颜色空间(RGB)的函数。图像被显示在水平-垂直网格(raster)上,从上到下,从左到右循环地显示。显示的线数和频率可以由于格式不同而改变,例如,NTSC、PAL、或者SECAM。理论上,可以为每一个亮度、色度U和色度V像素赋值,但是这表示四个字节(一个用于色度,三个用于颜色),在NTSC的480行乘720列格式每秒约30帧下,结果为由于可用带宽的限制这是很难存储和传输的。当前,已经能够将色度数据减小为1:4像素;S卩,每四个像素取一个颜色采样,并且复制相同的信息用于缺失的三个像素,人眼并不能感知到差别;这些格式为,即4:4:4(在4X4=16像素组中,四个亮度采样和四个色度采样)。4:2:2(在4X2=8像素组中,四个亮度采样和两个色度采样)。4:1:1(在4X1=4像素组中,四个亮度采样和一个色度采样)。MPEGl中的4:2:0(在4X2=8像素组中,八个亮度采样,水平像素之间的两个色度采样)。MPEGl中的4:2:0(在4X2=8像素组中,八个亮度采样,垂直像素之间的两个色度采样)。即使当以这种方式减少信息时,用NTSC格式以420的质量存储一秒钟的信息所必需的数字信息量是15MB,或者,对于两小时长的文件是108GB。现有几种用于从二维视频序列进行三维场景重建的方法。考虑到近来技术发展以及考虑到将来的发展,MPEG4标准试图提供时空相关的图形编码媒介,它将是立体图像、工程应用的设计和制造中的重要工具。在重建场景的几何模型处创建虚拟空间。例如,2003年12月9日提交的授予CecileDufour的第6,661,914号USP,其中描述了新的三维重建方法,场景连续性用简单的照相机取得,图像的轮廓被重建,每个场景中隐藏部分深度稍后被投影并经过提取处理。在图像处理的领域中,许多人做出了有价值的贡献,例如2003年10月21日授予Itokawa的第6,636,644号USP,其涉及使用MPEG4的图像处理,其中跨越图像边界延伸的图像色度值被提取出来,由此实现了编码的更高效率,并且能够实现图像轮廓的自然色重现。现有几种用于对视频信号进行编码的方法和方案,例如,2003年10月14日授予Kleihorstetal.的第6,633,676号USP,该方法被应用于照相机系统中的编码器检测器,用运动补偿(I.B.P.)对视频信号进行编码,并生成高分辨率图像,该图像是先前图像的插值结果,总之,确定视频信号中更感兴趣的区域,其总共占用较少的存储空间。图像压缩编码主要用于以高效方式存储或传输数字图像,一种压缩数字图像编码的方法使用DCT,因为这是例如JPEG和MPEG的公共标准中的一种主要技术。2002年2月5日授予Boon的第6,345,123号USP描述了一种通过普通的DCT方法变换系数来进行数字图像编码的方法,对上述系数进行量化处理,以便于将它们变换成预先写入的量化级数,最后,变长编码处理被应用到量化和转换后的系数,将它们与变长编码表进行比较。图像被分为多个小区域,以进行编码,小区域互相邻接,从一个区域采样,就可预测下一个图像区域的情况。在2000年11月14日授予Boon等人的第6,148,109号USP中使用的该预测编码方法,其中对所生成的小区域之间的差别的图像数据进行编码并将该生成的图像数据提取出来。2000年8月1日授予Murakamietal.的第6,097,759号USP描述了用于场编码图像的邻近的块编码系统。块的图案包括一个单独的多块区域和一个非交织的块;而且,编码系统查询奇数和偶数场运动,以产生运动补偿预测信号,从而提供高效率编码。授予Katata等的第5,978,515,5,963,257,5,815,601号USP专利,涉及用于以这5样的方式编码图像数据的图像编码器它们增强所选区域相对于其它区域的图像质量,而不增加用于描述该所选区域的数据量。1996年11月26日授予Gisle的第5,579,413号USP描述了用于将数据信号变换成量化的图像块、并将其转换成变长编码数据信号的方法,其中每个事件都用三维向量来表示。需要使用允许在较小空间中存储相同内容的数据压缩系统,专家组致力于提出压缩信息和显示图像的方法;但在实现细节与MPEG相符合时,在所有软件和硬件开发者可创建执行处理的新方式的目标下,并不提及实现的细节。当前,MPEG2是世界范围的标准,被电视和视频以及音频相关的公司广泛使用。音频和视频被打包到基本包(PES)中,所述音频和视频包交织在一起,以创建MPEG2数据流。每个包具有用于音频和视频在播放时间同步的时间标识(时间标签),例如,对于每三个视频帧,结合一个音频帧。MPEG有两种在系统的数据流中交织视频和音频的不同方法传输流被用在错误概率较高的系统中,例如卫星系统,其易于受到干扰。每个包的长度是188字节,以标识头开始,这使得可以识别间隙和修复错误。不同的音频和视频程序能够同时在单一传输流上通过传输流传输;由于信息头,它们可为独立的并且可单独解码并且集成到许多程序中。程序流被用在错误概率较低的系统中,如在DVD播放系统中。在这种情况下,包具有可变长度和实际上比传输流中所使用的包大的尺寸。作为主要特性,程序流仅允许单一的程序内容。MPEG2标准下的视频系统允许隔行类型的和逐行类型的视频图像的编码。S卩,逐行视频格式被存储在整帧(帧图片,fp)中,并且在隔行的视频格式中,它可以两种方法被存储,通过整帧图像(帧图片)或者通过场图像(场图片)。在压缩格式中,存在三种MPEG2格式的图像帧内编码(I),它们的信息被编码为图像自身内部数据的函数。预测编码(P),其信息单独地取决于其它将来时间点处的数据。双向预测编码(B),其信息取决于过去和将来时间点处的数据。按顺序,有三种应用到上面的包的压缩类型,例如,时间预测、压缩和空间压缩。时间上的预测压缩涉及两个时间上不同的帧,但是它们具有相互运动,该时间上的预测压缩利用帧之间的图像差别很小的事实。空间压缩将位于一个相同帧(帧内编码的)内的信息压缩,例如,在100X100像素图像中,3个字节用于颜色,1个字节用于亮度,如果需要存储该信息,则每帧需要40KB;相反,如果该图像是全白的,可以表示为一个颜色255R,255G,255B,Xstart=0,Ystart=0,Xend=99,Yend=99,这将指示该整个区域是白色的;仅使用7KB或8KB,而没有使用40KB。这样,就实现了MPEG压缩;该处理步骤比较复杂,在本发明的范围之外。类型(I)图像是仅包含自身图像的,它们不涉及任何先前的或后续的图像,因此不使用时间预测压缩,而只作为它自身空间的函数。类型(P)图像是根据参考图像,以对它们本身进行编码的,因此它们使用时间预测压缩,也使用空间压缩。这些图像可涉及(I)类型图像或者其它(P)类型图像,但是仅使用一种图像参考图像。6(B)类型图像需要先前的和后续的两个参考图像,以进行重建,该类型的图像具有最佳压缩指标。用于获得⑶类型图像的参考图像可为⑵或者⑴类型,而不能是⑶类型。编码和解码序列不同。为了降低信息量,完整图像被分为称为宏块的单元的整帧;每个宏块包括16像素X16像素,从上到下从左到右排列和命名,在屏幕上创建宏块矩阵阵列,宏块以顺序的形式在信息流中被发送,即,0,1,2,3,...,η。具有(I)类型图像的宏块仅包含自身的空间压缩;(P)类型图像可包含(P)类型的宏块,以便于参考先前的图像,有包含内部编码的宏块(交织的宏块)的可能性,并不受到限制。(B)类型的图像也可由内部编码(交织)类型的宏块形成,其涉及先前的图像、后续的图像,或者二者均涉及。按顺序,宏块被分成多块,一个块是8X8数据或采样矩阵;由于色度格式被分为4:4:4格式的形式需要一个亮度采样Y,一个色度采样Cr,一个色度采样Cb,因此,4:4:4格式的每个宏块需要12个块,在4:2:0格式中,每个宏块需要6个块。一组连续宏块表示一片;一片中可以有任意数目的宏块,它们必须属于单一的行,以与各宏块相同的方式,这些片从左到右从上到下命名。各片不必须覆盖所有的图像,因为编码后的图像不需要对每个像素采样。一些MPEG标准需要图像必须完全符合的固定的片结构。使用适当的硬件和软件算法的组合允许MPEG图像压缩。编码后的数据是具有特定块信息的字节、宏块、场、帧、图像和MPEG2格式视频。信息必须被分成块组,并且从信息编码例如(VLC)获得的结果是线性比特_字节流。其中VLC(变长解码器)是用较短码代替最频繁使用的符号并用较长码代替较少发生的那些符号的压缩算法。压缩后的该信息占用较少的空间,并能够较快地通过网络传输。然而,它不是容易编辑的格式,并且需要使用查阅表进行解压缩。反向扫描,信息必须被分成块组,并且当借助VLC对信息进行编码时,所得到的是线性流。块是8X8数据矩阵,因此有必要将线性信息转换成8X8的方形矩阵。根据其是逐行图像还是隔行图像,这是以向下之字形方式进行的,在两种序列类型中都是从上到下从左到右的。反向量化,在于简单地将每个数据值乘以一个因子。当编码的时候,块中的多数数据被量化以去除人眼所不能够感知到的信息,量化允许获得较大的MPEG2流的转换,并且还需要执行在解码处理中的反向处理(反向量化)。MPEG视频序列结构这是MPEG2格式中使用的最大结构,并具有以下格式视频序歹[J(Video_Sequence)序列头(Sequence_header)序列扩展(Sequence_Extension)用户数据(0)和扩展(Extension_and_User_Data(0))图像组头(Group_of_Picture_Header)7用户数据(1)和扩展(Extension_and_User_Data(l))图像头(PictureJfeader)Hei^SftifM(Picture_Coding_Extension)用户数据(2)和扩展(Extension_and_User_Data(2))图像数据(Picture_Data)片(Slice)宏块(Macroblock)动作矢量(Motion_Vectors)编码块图案(Coded_Block_Pattern)块(Block)最终序列编码(Sequence_end_Code)视频序列包括三种结构,视频序列被应用于MPEGl和MPEG2格式,以便于区分各版本,必须验证在序列头后面存在序列扩展;如果序列头后面不接有序列扩展,则该流是MPEGl格式的视频流。
发明内容本发明的一个目的是提供一种立体3D图像数字编码方法和系统,其提供用于在3Dvisors中传输、接收和显示的编码的数据。本发明的另一个目的是提供一种编码方案,其中,视频数据流Vide0_sequence的结构被修改,并且在比特级包括识别标记。本发明的又一个目的是提供一种3D图像数字编码软件处理,以Vide0_SeqUence、识别标记、数据字段,和图像字段被修改的方式。本发明的又一个目的是提供一种3D图像数字编码硬件处理,其方式是,在左和右通道之间进行电比较,对图像之间的差别进行错误校正,将处理后的图像存储在具有TDVision技术识别符的video_sequence中。本发明的又一个目的是提供一种3D图像数字编码硬件处理,其方式是,DSP的输入缓冲器的存储器被增为双倍的,两个独立的视频信号可同时输入,并且DSP能够对二个视频信号的输入缓冲器进行比较。图1表示立体3D视频图像编码的硬件和软件改变;图2表示MPEG2-4可兼容的立体3D视频图像的编译处理;图3表示用于编译MPEG2-4可兼容的立体3D视频图像的软件格式;图4表示用于编译MPEG2-4可兼容的立体3D视频图像的硬件格式;图5表示本发明的编码器所属的技术分支图S卩,立体3D图像处理,其编码、解码、经由电缆的传输、卫星和DVD、HDTV和3DVisors显示。具体实施例方式为了实现从数字视频流中获取三维图像的目的,已经通过在编码处理的不同部分中对硬件和软件进行改变而对现有的MPEG2编码器进行修改。如图1中所示,MPEG2-4可兼容的TDVision编码器⑴具有其自身的编码处理(2),是通过软件(3)和硬件(4)的改变而实现的。在图2中,显示出本发明的编码器实体的编译处理,实际上,图像(10)被拍摄并被提交到动作补偿和错误检测处理(11);应用离散余弦变换函数来改变频率参数(12),随后应用量化矩阵(13),以执行归一化处理,应用用于行转换处理的矩阵(14),在此处有执行变长编码(15)的可能性,并且,最后,得到具有编码数据(16)的视频序列。为了执行该编译处理,必须遵照格式(30,图3)或者MPEG2兼容的3D图像编译方法,实际上,如图3所示,必须对video_sequence(31)在sequence_header(32)、user_data(33)、sequence_scalable_extension(34)、picture_header(35)、picture_coding_extension(36)禾口picture_temporal_scalable_extension(37)结构中进行修改,从而获得适于用TDVision立体照相机拍摄的立体3D数字图像的编译格式。视频数据流的结构和videc^sequence必须被修改以包括在比特级上识别TDVision技术编码图像类型所必要的标记。在以下编码阶段进行的修改,即,当以MPEG2(软件)编码双图像时;当用硬件编码图像时。软件修改video_sequence头。识别识别标记。修改数据字段。修改图像字段。硬件在左和右通道之间进行电比较。将差别作为B类型图像进行处理(错误校正)。随后,将其与TDVision识别符一起存储。对附加缓冲器进行改变。其结果被保存并存储到辅助缓冲器中。实际上,DSP缓冲器的输入存储器被增为双倍;允许同时输入对应于来自立体TDVision照相机的立体左-右现有信号的两个独立视频信号;DSP能够比较两个视频信号的输入缓冲器。硬件编码处理是作为单一视频输入通道的函数,以标准MPEG2方式执行的,获得两个信号(左和右)并进行电比较,得到左和右信号之间的比较的差别,上述差别被存储到临时缓冲器中,计算关于左信号的亮度和色度的错误校正;应用DCT(离散余弦变换)函数,并将信息存储到B类型块中a)在USER_DATA()(Sff)识别结构中b)在PICTURE_DATA3D()结构中在下一帧中继续。在图4中的框图中显示出硬件,实际上,获得左信号(41)和右信号(42),两个fir、号都存储在临时缓冲器(43)中,比较左和右信号之间的差别,计算错误差别并存储信息9(45),对正确图像进行编码(46),作为“1”、“8”或者“?”类型图像执行编码(47),并最后存储至丨Jvideo_sequence中(48)。复制将由DSP处理的存储是重要的,并且可能设置高达8个输出缓冲器,这允许立体图像在例如TDVision的3DVisor的装置上的先前的和同时的显示。实际上,两个信道必须在调用TexasInstrumentsTMS320C62XDSP的编程API的时候被初始化。MPEG2VDEC_create(constIMPEG2VDEC_fxns*fxns,constMPEG2VDEC_Params^params)。其中IMPEG2VDEC_fxnsyMPEG2VDEC_Params是为每个视频通道定义操作参数的指针结构,例如3DLhandle=MPEG2VDEC_create(fxns3DLEFT,Params3DLEFT)。3DRhandle=MPEG2VDEC_create(fxns3DRIGHT,Params3DRIGHT)。从而使得两个视频通道能够被解码,并能够获得两个视频处理器,一个用于左"右立体通道。需要两个显示输出缓冲器,借助于软件,将定义两个缓冲器中的哪一个必须通过调用AP函数显示输出艮口,MPEG2VDEC_APPLY(3DRhandle,inputRl,inputR2,inputR3,3doutright_pb,3doutright_fb)。MPEG2VDEC_APPLY(3DLhandle,inputLl,inputL2,inputL3,3doutleft_pb,3doutleft_fb)。其中3DLhandle是指向由DSP的创建函数返回的句柄的指针,inputl参数是FUNC_DECODE_FRAME或FUNC_START_PARA地址,input2是指向外部输入缓冲器地址的指针,并且,input3是外部输入缓冲器的大小。3doutleft_pb是参数缓冲器的地址,并且,3doutleft_fb是将要存储解码图像的输出缓冲器的开始部分。时间码和时间标签将被用于以顺序和同步的方式输出到最后的装置。软件和硬件处理的集成是通过被称为DSP的装置执行的,DSP执行多数硬件处理。这些DSP通过由制造商所提供的C和汇编语言混合进行编程。每个DSP有其自己的API,包括位于DSP中并被软件调用的函数列表或过程调用。通过该参考信息,作出用于MPEG2格式可兼容的3D图像编码的本申请。实际上,在视频序列的开始,总出现序列头和序列扩展。序列扩展的重复必须与第一个相同。相反,与第一次发生相比,序列头重复变化很少,仅有定义量化矩阵的部分应该改变。因为序列重复允许对视频流的随机访问,即,解码器可在视频流的中间开始播放,这是可以实现的,仅需要搜索先前的序列头和序列扩展,以便能够解码视频流中的后续图像。这也会发生在不能从开头开始的视频流上,例如在程序已经开始时开启卫星解码器。S卩,序列头提供视频流上的较高信息级,为了明确说明,还指出对应于每一个信息级的比特数,最高有效比特位于序列扩展(SequendExtension)结构内,它是通过以下结构形成的Sequence—Header10字段#bits描述Sequence_Header_Code32Sequence_Header开始0x00001B3Horizontal_Size_Value1212个较低有效比特用于宽度Vertical_Size_Value1212个较低有效比特用于高度4图像方面0000禁用AspectRatioInformation(參从横比000ln/aTDVision信息)00104:3TDVision001116:9TDVision01002·21:1TDVision0111将执行逻辑“与”以获得与2D系统的向后兼容性。0101...1111保留40000禁用Frameratecode(帧速率码)0001TDVision⑥格式中的24,000/1001(23.976)0010TDVision格式中的24001125“010030,000/1001(29,97)“010130“011050“011160,000/1001(59,94)“(将执行逻辑“与”以获得与2D系统的向后兼容性。)1000601111保留Bit_rate_value18Video_stream比特率的18个较低有效比特(bit_rata=400Xbit_rate_value+bit_rate_extension<<18)最高有效比特位于sequence_extension结构中。Marker_bit1总为1(防止start_code_失效)。Vbv_buffer_size_value10vbv_buffer_size的10个较低有效比特,其确定视频缓冲检验器(VBV)的大小,VBV为一种结构,其用于确保数110160]据流可被用于解码有限大小0161]的缓冲数据而不超过或在缓0162]冲器中保留过多自由空间。0163]Constrained_parameters_flag1总为0,不用在MPEG2中。0164]Load_intra_quantizer_matrix1指示intra-coded的量化矩阵0165]是否可用。0166]Ifload_intra_quantizer_matrix8X64如果指示量化矩阵,则这里0167]Non_intra_quantizer_matrix(64)必须指出,它是8X64的矩阵。0168]Load_non_intra_quantizer_matrix1如果non-intra-quantized矩阵0169]可用,则该标记必须被激活。0170]Ifload_non_intra_quantizer_matrix8X64如果先前的标记被激活,形0171]Non_intra_quantizer_matrix(64)成量化矩阵的8X64数据被存0172]储在这里。0173]Sequence_extension0174]字段描述0175]Extension_Start_Code32开始,sequence—extension』·^0176]0x000001B50177]Extension_Start_code_Identifier4用扩展类型0X1标识0178]Profile_and_level_indication8定义类(profile)和视频流级0179]progressive_sequence11=帧,0=帧和场0180]Chrome—format200保留0181]014:2:00182]104:2:20183]114:4:40184]Horizontal_size_extension2sequence_header扩展0185]Vertical_size_extension2sequence_header扩展0186]Bit_rate_extension12sequence_header扩展0187]Marker—bit1总为10188]Vbv—buffer_size_extension8sequence—header扩展0189]Low—delay11=不具有B类型图像,还可能引0190]起正常播放期间的VBV缓冲器0191]的利用不足(称为BIG图像)0192]0=可包含B类型图像;但是不可0193]具有BIG图像,它不会引起VBV0194]缓冲器的利用不足。0195]Frame—rate_extension—η20196]Frame—rate_extension_d50197]Next_start_code()0198]扩展和用户数据(υ12它是一种用于存储其它结构的容器,并且不具有其自身的数据,基本上它是一系列extension_data(l)和user_data()结构,在一些情况下,结构可以完全为空。Extension_data(i)该结构包含简单的结构扩展。所包含的扩展结构类型取决于(i)的值,(i)的值可以是1或2的值。如果它等于“0”,则data_extension跟随sequence_extension并extension—data(i)可包含以下二者一个sequence—display—extension或者一个sequence—scalable—extension。如果i=2,则该结构跟随picture—coding—extension,其可包含quant—matrix—extension()、copyright—extension()、picture—display—extension()、picture_spatial_scalable_extension(),或者一个picture_temporal_scalable—extension。该结构总是以0x000001B5开始。User_datauser_data结构允许应用程序的特定数据被存储在视频序列(videc^sequence)内。MPEG2规范没有定义该函数的格式,也没有定义用户数据的格式。结构以User_data_start_code=0x000001B5开始,并包含任意数量的数据(uSer_data),其持续到数据流(stream)中的下一个开始码为止。唯一的条件是,不能有多于23个连续的零,因为它会被认为是开始码。该结构提供了不在解码处理中使用的信息,涉及编码内容的对正确显示解码视频有帮助的信息。Sequence_display_extension()Sequence_display_extension()字段Extension_start_code_identifierVideo_formatbits#描述4必须为2,标识开始3000组件Color_descriptionCo1or_rprimaries10=不指定颜色参数。1=包含下面的3个颜色参数。8禁用1ITU-R-BT.709推荐2未指定的视频3保留4ITU-R-BT.470-2系统MTransfercharacteristicsMatrixcoefficientsDisplay—horizontal—styleMarker_bitDisplay—vertical—sizeNext_start_codeSequence_scalable_extension14114推荐5ITU-R-BT.470-2推荐系统B,G6SMPTE170M7SMPTE240M8-255保留8禁用1ITU-RBΤ.709推荐2未指定的视频3保留4ITU-R-BΤ.470-2系统M推荐5ITU-R-BΤ.470-2系统B,G推荐6SMPTE170Μ7SMPTE240Μ8真实转移特性255保留8禁用1ITU-RBT8709推荐2未指定的视频3保留4FCC5ITU-R-BT.470-2系统B,G推荐6SMPTE170Μ7SMPTE240Μ8-255保留未在MPEG2中指定总为1未在MPEG2中指定14该结构必须存在于每个可扩展的视频流中,其包含基层和一个或多个增强层。存在不同类型的MPEG2可扩展性,主层的可扩展性的一个实例是,它包含视频内容的标准定义,而扩展层具有增加定义的附加的数据。Sequence—scalable—extension描述Extension_start_code_identifierScalablemodebits#描述42Layer—id4Lower_layer—prediction—horizontal_size14Marker—bit1Lower_layer—prediction_vertical_size14Horizontal_subsampling—factor—m5Horizontal_subsampling—factor—η5Vertical_subsampling—factor—m5Vertial_subsampling—factor—η5Picture_mux_enabIe1Mux_to—progressive_sequence1Picture—mux—order3Picture—mux—factor3Group_of—picture—header()该结构标记图像组的开始。Group_of—picture—header()字段Group—start—codeTimecode总为500分区数据01空间可扩展10SNR可扩展11时间可扩展层数(0)Closed—gopBroken_linkNext_start_code()bits#描述320x000001B825group_of—picture—header之前第一图像的时间标签Dromp_frame_f1ag-1Time_code—hours—5Time_code—minutes—6Marker—bit-1Time_code_seconds_6Time_code—pictures—61如果1=B图像,不参照先前的图像11=指示不再存在的丢失的I类型帧0=链接不被断开15Picture—header字段bits#Picture—start—code32Temporal—reference10Picture_coding—type3Vbv_delay16Full—pel_forward—vector1ForwardfcodeFull—pel—backward—vectorBackwardfcodeExtra—bit_pictureExtra—information—pictureExtra—bit_pictureExtra—start_codePicture_coding—extension字段Extension_start_codeExtension_start_code_identifierF_code(0)(0)F_code(0)(1)F_code(l)(0)F_code(l)(1)44描述0x00000100图像显示顺序0000禁用001内部编码(I)010预测编码(P)011(B)双向预测编码100为MPEGl保留101保留110保留111保留视频缓冲器检验机制(临时存储器)在MPEG1中使用MPEG2=03在MPEGl中使用MPEG2=1111在MPEG1中使用MPEG2=03在MPEG1中使用MPEG2=1111可忽略8可忽略1可忽略Bits#描述32总为0x000001B54总为1000用于解码运动矢量;当它为I类型图像时,该数据充满1111。解码运动矢量(B)信息,当它是(P)类型图像时,它必须被设置成1111,因为没有向后运动。4解码运动矢量信息,当它是P类型图像时,它必须被设置成1111,因为没有向后运动。16Intra—dc—precision2反向量化DC离散余弦变换系数的精度。008比特精度0l9比特精度1010比特精度1111比特精度Picture—structure2指示图像被分成多场还是整帧。00保留(TDⅥsion⑧格式的图像)0l顶场10底场11逐帧图像Top—field—firstl0一先解码底场l一先解码顶场FramepredframedctlC。nCealmentmotionvectorslQscaletypelIntraviCformatlA1ternatescanlRepeat—first—fieldl0一显示逐行帧l一显示两个相同的逐行帧Chrome一420一typel如果色度格式为420,则它必须等于progressive—frame,否则它必须等于零。Progressive—framel0一隔行的l一逐行的Composite—display—flagl警告初始编码的信息VaxiSlFieldsequence3SubcarrierlBurstamplitude7Subcarrierphase8Nextstartcode0Picturetemporalscalableextension0在具有时间可扩展性的情况下,存在两个空间分辨率流,底层提供视频帧的较少索引版本,而顶层可以被用于获取相同视频的较多帧版本。低质量、低成本或免费解码器可使用时间可扩展性,而相同付费下每秒可传输更多帧。Picturetemporalscalableextension0字段bits#描述Extension4总为lolostartcodeidentifier用于指示参考图像将被用于解码intra_coded图像对于0类型图像00增强最近的图像01按显示顺序的较低和最近的帧层10按显示顺序的帧下的一层11禁用对于B类型图像00禁用01增强模式下的最近解码的图像10增强模式下的最近解码的图像11按显示顺序的底层中的最近图像时间参考时间参考Reference_select_code2Forward_temporal_reference10Marker_bit1Backward_temporal_reference10Next_star_code()Picture_spatial_acalable_extension()在图像空间可扩展的情况下,增强层包含数据,其允许基层的更好的分辨率,以便于它能够被重建。当增强层作为运动补偿的参考被用作基层的函数时,底层必须被增强和补偿,以便于获得增强层的更大分辨率。Picture_spatial_scalable_extension()字段bits#Extension_start_code_identifier4Lower_layer_temporal_reference10Marker_bit1Lowerl_ayer_horizontal_offset15Marker_bit1Lower_layer_veretical_offset15Spatial_temporal_weight_code_table_index2Lowerlayer_progressive_frame1Lower_layer_desinterlaced_field_select1描述总是1001参考较低层的时间图像1水平补偿(补偿)1垂直补偿(补偿)预测细节1=逐行的0=隔行的0=使用顶场1=使用底场18Next_start_code()Copyright—extension()Extension4总为010_start_code_identifierCopyright一flag1如果它等于1则它使用版权如果它是零(0),不需要附加的版权fp息Copyright一identifier81=初始0=复制0riginal_or_copy1Reserved7Marker_bit1Copyright一number_l20授予的版权号Marker_bit1Copyright一number_222授予的版权号Marker_bit1Copyright一number_322授予的版权号Next_start_code()Picture_data()这是简单结构,它本身中不具有字段。SliceO包含相同的垂直位置处的一-个或多个宏块的信息。Slice_start_code32Slice_vertical_position_extension3Priority_breakpoint7Quantizer_scale_code5Intra_slice_flag1Intra_slice1Reserved_bits7Extra_bit—slice1Extra_information_slice8Extra_bit—slice1Macroblock()Macroblock_modes()Motion_vectors()Motion_vector()Coded_block_pattern()BlockOEXTENSION—AND_USER_DATA(2)该MPEG2可兼容的编码处理当前被用于编码图5的立体照相机(52)拍摄的3D数字图像,随后经过编译器(51)传送,随后可获得在PC(50)和DVD(53)中显示的信号;当解码器(54)中的信号被编码时,其可被发送到解码器(55)中,用于经由电缆(56)、卫星(57)、高清晰电视(59)(HDTV)、或在3DVisor装置(59)等中显示。这样,图像可显示在以下装置上DVD(数字多用盘)DTV(数字电视)HDTV(高清晰电视)CABLE(DVB数字视频广播)SATELLITE(DSS数字卫星系统);并且它是软件和硬件处理的集成。关于硬件,大多数处理是由被称为DSP(数字信号处理器)的装置执行的。即,一个Motorola模型和一个TexasInstruments(TMS320C62X)模型。这些DSP通过由所讨论的制造商提供的C和汇编语言的混合语言编程。每一个DSP具有其自己的API,包括位于DSP中被软件调用的函数列表或过程调用。从该参考信息,3D图像被编码,其可与MPEG2格式兼容,并可与它们自身的编码算法兼容。当信息被编码时,DSP负责执行预测、比较、量化和DCT函数应用程序处理,以便形成MPEG2压缩的视频流。以上示例说明并描述了本发明的具体实施例,对于本领域的技术人员来说显而易见的是,可以进行一些修改或变化,而不会脱离本发明的范围。所有这种修改和变化意在由所附权利要求覆盖,使得所有变化和修改落在本发明的范围内。20权利要求一种用于编码立体数字视频的系统,包括接收器,其配置成接收来自一个或多个输入视频信号的第一眼图像和第二眼图像;处理器,其配置成计算来自所述第一眼图像和所述第二眼图像之间差别的差别图像;以及编码器,其配置成在一个或多个输出视频流中输出所述第一眼图像和所述差别图像,其中所述一个或多个输出视频流包括信息头、所述第一眼图像和所述差别图像,并且其中所述信息头包括告知解码器在所述一个或多个输出视频流中存在差别图像的数据。2.如权利要求1所述的系统,其中所述系统是电缆系统、高清晰电视系统、卫星电视系统、光盘系统或数字电视系统中的至少一个的一部分。3.如权利要求1所述的系统,其中所述编码器进一步对所述差别图像进行错误校正。4.如权利要求1所述的系统,其中所述接收器包括照相机,所述照相机配置成拍摄立体数字视频。5.如权利要求1所述的系统,其中所述处理器配置成计算作为B或P类型图像帧的所述差别图像。6.如权利要求1所述的系统,其中所述编码器配置成将预定的一组比特存储在所述信息头中,用来表示所述一个或多个输出视频流包括差别图像。7.如权利要求1所述的系统,其中所述编码器配置成将所述差别图像存储在差别图像专用的数据结构中。8.如权利要求1所述的系统,其中所述一个或多个输出视频流包括多个视频流。9.如权利要求1所述的系统,其中所述一个或多个输出视频流是MPEG可兼容的视频流。10.如权利要求1所述的系统,其中所述编码器配置成将所述信息头和第一眼帧存储在第一视频流中,并将所述差别图像存储在预定数据结构中。11.一种立体视频编码系统,包括至少一个缓冲器,其配置成接收来自一个或多个输入视频信号的第一眼图像和第二眼图像;第一软件,其用于计算来自所述第一眼图像和所述第二眼图像之间差别的差别图像;以及第二软件,其用于将所述第一眼图像和所述差别图像存储在一个或多个输出视频流中,其中所述一个或多个输出视频流包括信息头、所述第一眼图像和所述差别图像,并且其中所述信息头包括告知解码器在所述一个或多个输出视频流中存在差别图像的数据。12.如权利要求11所述的系统,其中所述至少一个缓冲器是数字信号处理器的一部分。13.如权利要求11所述的系统,其中所述系统是电缆系统、高清晰电视系统、卫星电视系统、光盘系统或数字电视系统中的至少一个的一部分。14.如权利要求11所述的系统,进一步包括对所述差别图像进行错误校正的指令。15.如权利要求11所述的系统,其中所述第一软件计算作为B或P类型图像帧的所述差别图像。16.如权利要求11所述的系统,其中所述第二软件将预定的一组比特存储在所述信息头中,用来表示所述一个或多个输出视频流包括差别图像。17.如权利要求11所述的系统,其中所述第二软件将所述差别图像存储在差别图像专用的数据结构中。18.如权利要求11所述的系统,其中所述一个或多个输出视频流包括多个视频流。19.如权利要求11所述的系统,其中所述一个或多个输出视频流是MPEG可兼容的视频流。20.如权利要求11所述的系统,其中所述第二软件配置成将所述信息头和第一眼帧存储在第一视频流中,并将所述差别图像存储在预定数据结构中。21.一种用于编码立体数字视频的方法,包括接收来自一个或多个输入视频信号的第一眼图像和第二眼图像;计算来自所述第一眼图像和所述第二眼图像之间差别的差别图像;以及在一个或多个输出视频流中输出所述第一眼图像和所述差别图像,其中所述一个或多个输出视频流包括信息头、所述第一眼图像和所述差别图像,并且其中所述信息头包括告知解码器在所述一个或多个输出视频流中存在差别图像的数据。22.如权利要求21所述的方法,其中所述方法是由作为电缆系统、高清晰电视系统、卫星电视系统、光盘系统或数字电视系统中的至少一个的一部分的系统来执行的。23.如权利要求21所述的方法,进一步包括对所述差别图像进行错误校正。24.如权利要求21所述的方法,其中接收步骤包括用照相机拍摄立体数字视频。25.如权利要求21所述的方法,其中计算步骤包括计算作为B或P类型图像帧的所述差别图像。26.如权利要求21所述的方法,其中输出步骤包括将预定的一组比特存储在所述信息头中,用来表示所述一个或多个输出视频流包括差别图像。27.如权利要求21所述的方法,其中输出步骤包括将所述差别图像存储在差别图像专用的数据结构中。28.如权利要求21所述的方法,其中所述一个或多个输出视频流包括多个视频流。29.如权利要求21所述的方法,其中所述一个或多个输出视频流是MPEG可兼容的视频流。30.如权利要求21所述的方法,其中输出步骤包括将所述信息头和第一眼帧存储在第一视频流中,并将所述差别图像存储在预定数据结构中。全文摘要本发明提供了一种用于数字编码3D立体视频图像的方法和系统。为了从数字视频流中获取三维图像,对现有的MPEG2编码器进行了某些修改;在编码处理的不同部分对软件和硬件进行了改变。实际上,视频数据流的结构和video_sequence被修改以包括在比特级识别技术的图像类型所必需的标记。关于软件,将在以下处理中进行修改video_sequence头、识别标记修改、数据字段修改、和图像字段修改。关于硬件,在左和右信道的图像之间进行电比较,将差别作为B类型图像进行处理,即,执行错误校正,将结果与技术识别符一起存储在临时缓冲器中。当编码信息时,DSP被用于执行预测、比较、量化、和DCT函数应用处理,以形成MPEG2可兼容的压缩视频流。文档编号H04N7/26GK101917616SQ20101022196公开日2010年12月15日申请日期2004年2月27日优先权日2004年2月27日发明者M·R·古铁雷斯诺韦洛申请人:Td视觉有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1