CN101917617A - 立体3d视频图像的解码系统和方法 - Google Patents
立体3d视频图像的解码系统和方法 Download PDFInfo
- Publication number
- CN101917617A CN101917617A CN 201010227674 CN201010227674A CN101917617A CN 101917617 A CN101917617 A CN 101917617A CN 201010227674 CN201010227674 CN 201010227674 CN 201010227674 A CN201010227674 A CN 201010227674A CN 101917617 A CN101917617 A CN 101917617A
- Authority
- CN
- China
- Prior art keywords
- video
- eye pattern
- image
- pattern picture
- delta image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本申请是申请日为2004年2月27日、申请号为200480042753.3、发明名称为“用于数字解码3D立体视频图像的方法和系统”的专利申请的分案申请。
技术领域
本发明涉及3DVisorTM装置中的立体视频图像显示,特别涉及借助于数字数据压缩系统的视频图像解码方法,该数字数据压缩系统允许使用标准化压缩技术存储三维信息。
背景技术
目前,使用数据压缩技术以减小图像或图像序列的显示中的比特消耗。标准化工作由国际标准化组织的专家组执行。目前,这些方法通常称为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。
由定义,MPEG有两种在系统流中交织视频和音频的不同方法。
传输流被用在错误概率较高的系统中,例如卫星系统,其易于受到干扰。每一个包的长度是188字节,以标识头开始,这使得可以识别间隙并修复可能的错误。不同的音频和视频程序能够在单一传输流上通过传输流同时传输;由于信息头,它们可为独立的并且被单独解码并集成到许多程序中。
程序流被用在错误概率较低的系统中,如被用在DVD播放中。在这种情况下,包具有可变长度和实际上比传输流中所使用的包大的尺寸。作为主要特性,程序流仅允许单一的程序内容。
即使当传输流和程序流处理不同的包时,也以相同的格式解码视频和音频格式。
按顺序,有三种应用到上面的包的压缩类型,例如,时间预测、压缩和空间压缩。
解码与冗长的数学处理相关,其目的是为了减小信息量。整帧的完整的图像被分为称为宏块的单元,每一个宏块由16像素×16像素的矩阵组成,并且从上到下从左到右排列和命名。尽管在屏幕上有矩阵阵列,在信息流上发送的信息遵循特定的顺序,即,宏块以升序排列,也就是,macroblock0,macroblock 1等。
一组连续宏块表示一片;如果宏块属于单一的行,一片中可以有任意数目的宏块。以与各宏块相同的方式,这些片从左到右从上到下命名。这些片必须覆盖整个图像,因为这是MPEG2压缩视频的格式,编码图像不需要对每一个像素采样。一些MPEG标准需要处理严格的片结构,它们应该覆盖整个图像。
1999年10月5日授予Katata等人的第5,963,257号USP保护一种平面视频图像解码装置,具有根据位置区域和图像格式、底层码、预测编码顶层码来分离解码数据的装置,由此获得编码数据的分层结构;解码器具有分离分层结构中的编码的数据以获得高质量图像的装置。
2001年9月18日授予Shen等人的第6,292,588号USP保护一种用于编码从小区域重建和解码的预测平面图像的装置和方法,方法是,从小区域图像数据和所述图像的优化预测数据的总和生成重建的平面图像的数据。所述对图像数据流的预测解码装置包括一维DCT系数的变长码。2002年4月9日授予Boon的第6,370,276号USP使用与上述相似的解码方法。
2002年9月24日授予Lazzaro等人的第6,456,432号USP保护一种立体3D图像显示系统,其从两个角度拍摄图像,将它们显示在CRT上,并以场顺序方式多路输出图像,而不使观察者的双眼感到闪烁。
2003年12月2日授予Duruoz等人的第6,658,056号USP保护一种数字视频解码器,其包括逻辑显示部件,逻辑显示部件响应于“相邻场”命令以获得输出存储器中的指定位置的数字视频场。数字视频显示系统配备有MPEG2视频解码器。图像被解码为存储器缓冲器,存储器缓冲器被优化,以保持补偿可变表并访问显示为数据场的固定存储器指针表。
2003年12月16日授予Boon的第6,665,445号USP保护一种用于图像传输的数据结构、平面图像编码方法和平面图像解码方法。解码方法由两部分组成,第一部分编码图像格式信息数据流,第二部分为对图像数据流的像素值的解码处理,两部分能够根据平面图像信号编码进行交换。
2004年1月13日授予Moutin等人的第6,678,331号USP保护一种MPEG解码器,其使用共用存储器。实际上,该电路包括微处理器、解码平面图像序列的MPEG解码器,和微处理器以及解码器的共用存储器。它还包括一种用于评估解码器延迟的电路,和用于确定微处理器或解码器的存储器优先级的控制电路。
2004年1月13日授予Ferguson的第6,678,424号USP保护一种实时人体视觉系统的行为模型;实际上,它处理两个不同通道中的二维图像信号,一个信号从另一个中产生。
附图说明
图1是示出本发明的立体3D图像编码和解码系统的示意图;
图2示出了本发明的获取三维图像的处理步骤的流程图;
图3示出了一种解码处理的过程;
图5示出了硬件部分中的解码编译格式。
发明内容
本发明的一个目的是提供一种立体3D视频图像数字解码系统和方法,包括软件的改变和硬件的改变。
本发明的另一个目的是提供一种解码方法,其中,标准video_sequence 处理被应用于编码图像数据,即,variable_length_decoding(VLD)、inverse_scan;inverse_quantization、inverse_discrete_cosine_transform(IDCT),和motion_compensation。
本发明的又一个目的是提供一种解码处理,其中,两个相关的(差别)视频信号可在相同的video_sequence内被发送,其中,应用信息解码并被存储为B类型帧。
本发明的又一个目的是提供一种解码处理,其中,在应用运动和颜色校正矢量时,对最近获得的图像应用错误校正。
本发明的又一个目的是通过软件对解码器进行编程,以同时接收和编码两个独立的程序流。
本发明的又一个目的是提供一种解码系统,其通过其中激活双输出缓冲器的硬件,解码3D图像信息。
本发明的又一个目标是提供一种3D图像信息的解码系统,其并行地并由差别激活图像解码选择器。
本发明的又一个目的是提供一种3D图像信息解码系统,其执行解压缩处理,并显示相应的输出缓冲器。
具体实施方式
硬件和软件算法的组合使得立体3D图像信息压缩成为可能,其通过发送具有立体像对识别符的两个同步程序,作为对应于来自照相机的左和右信号的两个独立的但具有相同time_code的视频信号被接收,由此促进编码-解码处理。同样,两个相关的视频信号可通过获取它们的差别被处理,差别被存储为具有图像类型识别符的“B”类型帧。由于使编码处理保持公开以促进技术发展,仅需要遵循该解码处理,即:对其中获得实质减少的编码数据应用变长解码,但是查询表必须被用于执行解码;应用反向扫描处理;应用反向量化处理,其中每一个数据被乘以一个标量;应用反余弦变换函数;应用错误校正或运动补偿步骤,并最终得到解码的图像。
从附图说明与所附的说明书,将会更好地理解本发明的新颖性特征及其结构和操作方法,其中,用相似的附图标记表示相似的部分和步骤。
图1表示本发明的主题涉及的技术示意图。该图显示出立体3D图像编码和解码系统和相应的方法。图像来自立体照相机(32),信息在(31)中编译并显示在任何适当的系统(30)或(33)中。信息在(34)中被编码,随后其可被传输到具有例如(35)的适当的在先解码过程的系统,其可为电缆系统(36)、卫星系统(37)、高清晰电视系统(38)或例如的(39)的立体视觉系统。
图2显示出其中绘出处理步骤的流程图。其目的是通过对现有MPEG2解码器做出修改和对解码处理(2)中的软件(3)和硬件(4)做出改变:解码器(1)必须与MPEG2-4兼容,从数字视频流中获取三维图像。
下面详细说明解码处理(20)的每一过程:
编码数据(10)为具有块信息的字节、宏块、场、帧、和MPEG2格式视频图像。
Variable_length_decoding(11)(VLC,变长解码器)是用较短码代替最经常使用的符号并用较长码代替较少发生的那些符号的压缩算法。该信息的压缩版本占据较少空间,并可通过网络快速传输。然而,它并不是容易编辑的格式,并且需要使用查询表来解压缩。
例如,单词BEETLE
字母 ASCII码 VLC
B 01000010 0000001010
E 0110 0101 11
L 0110 1100 0001 01
T 0111 0100 0100
因此,该单词的ASCII码是:0100 0010 0110 0101 0110 0101 011101000 0110 1100 0110 0101,在VLC中是:0000 0010 10 11 11 010000010 01 11。
注意到有很大的减少,然而,为了从VLC返回到单词“Beetle”,需要在查询表中搜索以解码该比特流,这是通过精确比较所读取的比特来进行的。
反向扫描(12):信息必须由块分组,并且用VLC对信息进行编码,可获得线性流。块为8×8数据矩阵,所以有必要将线性信息转换为8×8方形矩阵。这是根据它是逐行图像还是隔行图像,通过在两种序列类型中都从上到下和从左到右的向下之字形方式进行的。
反向量化(13):其为简单地将每一个数据值乘以一个因数。当被编码时,块中的多数数据被量化以去除人眼所不能感知到的信息,量化允许获得较大的MPEG2流转换,并且还需要在解码处理中执行逆处理(反向量化)。
反余弦变换(14)(IDCT,inverse discrete cosine transform):在每一个块中处理的数据属于频域,该反余弦变换允许变换回空间域的采样。一旦在IDCT中的数据已经被变换,能够获得像素、颜色和颜色校正。
运动补偿(15)允许校正在MPEG格式的解码过程之前生成的一些错误,运动补偿将之前的帧作为参考,并相对于像素计算运动矢量(它能计算高达四个矢量),并用它们创建新图像。该运动补偿被应用于P和B类型图像,其中,图像位置位于距离参考图象“t”时间处。除了运动补偿外,还应用错误校正,因为其不足以预测特定像素的位置,但可能存在其颜色的改变。由此,获得解码图像(16)。
为了解码P或B类型图像,拍摄参考图像,运动矢量被代数相加,以计算下一图像,并最终应用错误校正数据,由此成功地生成解码图像。实际上,在video_sequence中,存在两个相关的视频信号,“R-L=delta,delta差别是被存储为具有识别符的B类型立体像对帧的差别,并且在解码时通过图像的差别创建。也就是,R-delta=L和L-delta=R,左图像从与右图像的差别创建,相反,右图像从与左图像的差别创建。
以如下方法说明之前的处理:获取左或右信号,二者均存储在邻时缓冲器中,随后,计算左和右信号之间的差别,随后将其编码为B类型图像,存储在video_sequence中,稍后由所述图像的差别解码。
在解码处理中,可得出,由VLC过程输入的数据远小于由相同过程输出的数据。
MPEG视频序列结构:这是MPEG2格式中使用的最大结构,并具有以下格式:
视频序列(Video_Sequence)
序列头(Sequence_header)
序列扩展(Sequence_Extension)
用户数据(0)和扩展(Extension_and_User_Data(0))
图像组头(Group_of_Picture_Header)
用户数据(1)和扩展(Extension_and_User_Data(1))
图像头(Picture_Header)
编码图像扩展(Picture_Coding_Extension)
用户数据(2)和扩展(Extension_and_User_Data(2))
图像数据(Picture_Data)
片(Slice)
宏块(Macroblock)
运动矢量(Motion_Vectors)
编码块图案(Coded_Block_Pattern)
块(Block)
最终序列编码(Sequ_end_Code)
这些结构组成视频序列。视频序列被应用于MPEG格式,以区分每个版本,其中,必须验证紧接在序列头后面是否存在序列扩展;如果序列扩展不接在序列头后面,则该流为MPEG1格式。
在视频序列的开始,sequence_header和sequence_extension出现在video_sequence中。sequence_extension的重复必须与第一次相同,并且sequence_header的“s”的重复与第一次出现相比变化很少,仅定义量化矩阵的部分应该变化。如果序列重复允许对视频流的随机访问,即,如果解码器想在视频流的中间开始播放,这是可以完成的,因为仅需要找到该时刻以前的sequence_header和sequence_extension,以解码后续图像。这也发生在不能从开头开始的视频流的情况,例如在传输时间后打开的卫星解码器。
整个视频信号编码-解码处理由以下步骤组成:
数字化视频信号,其可以NTSC、PAL或SECAM格式完成。
将视频信号存储为数字格式
传输信号
在物理媒介(DVD、VCD、小型DV)中记录数字视频流
接收信号
播放视频流
解码信号
播放信号
实际上,两个通道必须在调用DSP的程序API时被初始化,例如,示例性情况为Texas Instruments TMS320C62X DSP。
MPEG2VDEC_create(const IMPEG2VDEC_fxns*fxns,const MPEG2VDEC_Params*params)。
其中,IMPEG2VDEC_fxns y MPEG2VDEC_Params为定义每一个视频通道的操作参数的指针结构,例如:
3DLhandle=MPEG2VDEC_create(fxns3DLEFT,Params3DLEFT)。
3DRhandle=MPEG2VDEC_create(fxns3DRIGHT,Params3DRIGHT)。
由此使两个视频通道被解码,并获得两个视频处理器,一个用于左-右立体通道。
需要双倍显示输出缓冲器,借助于软件,将定义两个缓冲器中的哪一个必须通过调用AP函数显示输出:
即,MPEG2VDEC_APPLY(3DRhandle,inputR1,inputR2,inputR3,3doutright_pb,3doutright_fb)。
MPEG2VDEC_APPLY(3DLhandle,inputL1,inputL2,inputL3,3doutleft_pb,3doutleft_fb)。
该相同的步骤可被实现以用于任何DSP、微处理器或有类似功能的电子装置。
其中,3DLhandle为指向由DSP的创建(create)函数返回的句柄的指针,input1参数为FUNC_DECODE_FRAME 或FUNC_START_PARA地址,input2为指向外部输入缓冲器地址的指针,并且,input3为外部输入缓冲器的大小。
3doutleft_pb为参数缓冲器的地址,并且,3doutleft_fb为将要存储解码图像的输出缓冲器的开始。
时间码和时间标签将被用于以顺序的、同步的方式输出到最后的装置。
软件和硬件处理的集成是通过称为DSP的装置执行的,DSP执行多数硬件处理。这些DSP通过由制造商提供的C和汇编语言混合编程。每一个DSP有其自己的API,由位于DSP中并被软件调用的功能列表或过程调用组成。
由该参考信息,做出用于MPEG2格式可兼容的3D图像解码的本申请。
实际上,在视频序列的开始,总出现序列头(sequence_header)和序列扩展。序列扩展的重复必须与第一个相同。相反,与第一次出现相比,序列头重复变化很少,仅定义量化矩阵的部分应该变化。
图4显示出用于解码方法的编译软件格式(40),其中,在sequence_header(42)中识别数字立体图像视频流的video_sequence(41),其可为相关的或独立的(并行图像)。如果图像为则激活双倍缓冲器并识别aspect_ratio_information中的变化。对应于此处找到的图像的信息在user_data(43)中被读取。sequence_scalable_extension(44)识别包含在其中的和基层以及增强层中的信息,此处可定位video_sequence,定义sclable_mode和层识别符。extra_bit_picture(45)识别picture_estructure picture_header,并且picture_coding extension(46)读取“B”类型图像,并且如果它为类型图像,则它解码第二缓冲器。
picture_temporal_scalable_extension()(47),在具有时间可扩展性的情况下,被用于解码B类型图像。
即,序列头(sequence_header)提供视频流上的较高的信息级,为了明确说明,还指出对应于每一个信息级的比特数,最高有效比特位于序列扩展(Sequence_Extension)结构中,它是由以下结构形成的:
Sequence_Header
字段 #bits 描述
Sequence_Header_Code 32 Sequence_Header 开始
0x00001B3
Horizontal_Size_Value 12 较低有效比特用于宽度*
Vertical_Size_Value 12 12个较低有效比特用于高度
Aspect Ratio Information(纵横 4 图像方面
比信息) 0000禁用
00104∶3
001116∶9
0111将执行逻辑“与”以获得
与2D系统的向后兼容性。
0101…1111保留
Frame rate code (帧速率码) 4 0000 禁用
24,000/1001(23.976)
0010格式中的24
0100(29,97)“
0111 60,000/1001(59.94)
“(将执行逻辑“与”以获得与
2D系统的向后兼容性。)
1000 60
1111 保留
Bit_rate_value 18 Video_stream比特率的18个较
低有效比特(bit_rata=
400×bit_rate_value +
bit_rate_extension<<18=最
高有效比特位于
sequence_extension结构中。
Marker_bit
1 总为1(防止start_code失效)。
Vbv_ buffer_size_value 10 vbv_buffer_size的10个较低有
效比特,其确定视频缓冲检验
器(VBV)的大小,VBV为一
种结构,其用于确保数据流可
被用于解码有限大小的缓冲器
而不超过或在缓冲器中保留过
多自由空间。
Constrained_parameters_flag 1 总为0,不用在MPEG2中。
Load_intra_quantizer_matrix 1 指示内部编码的(intra-coded)
的量化矩阵是否有效。
If(load_intra_quantizermatrix) 8×64 如果指示量化矩阵,则这里必
Intra_quantizer_matrix(64) 须指出,它为8×64的矩阵。
Load_non_intraquantizermatrix 1 如果
load_non_intra_quantized_matri
x
If 8×64 如果先前的标记被激活,形成
load_non_intra_quantizermatrix 量化矩阵的8×64数据被存储
Non_intraquantizer_matrix(64) 在这里。
*最高有效比特位于sequence_extension结构内。
Picture_coding_extension
字段 bits# 描述
Extension_start_code 32 总为0x000001B5
Extension 4 总为1000
_start_code_identifier
F_code(0)(0) 4 用于解码运动矢量;当它为I类型
图像时,该数据由1111填充。
F_code(0)(1) 4
F_code(1)(0) 4 解码运动矢量(B)中的信息,当它
为(P)类型图像时,它必须被设置
为1111,因为没有向后运动。
F_code(1)(1) 4 解码运动矢量中的信息,当它为P
类型图像时,它必须被设置为
1111,因为没有向后运动。
Intra_dc_precision 2 反向量化DC离散余弦变换系数
的精度。
00 8 比特精度
01 9 比特精度
10 10 比特精度
11 11 比特精度
Picture_structure 2 指示图像被分成多场还是整帧。
00保留(格式的图像)
01顶场
10底场
11逐帧图像
Top_field_first 1 0=先解码底场
1=先解码顶场
Frame_pred_frame_dct 1
Concealment_motion_vectors 1
Q_scale_type 1
Intra_vic_format 1
Alternate_scan 1
Repeat_first_field 1 0=显示逐行帧
1=显示两个相同的逐行帧
Chrome_420_type 1 如果色度格式为4:2:0,则它必须
等于逐行帧(progressive frame),
否则它必须等于零。
Progressive_frame 1 0=隔行的
1=逐行的
Composite_display_flag 1 警告初始编码的信息
V_axis 1
Field_sequence 3
Sub_carrier 1
Burst_amplitude 7
Sub_carrier_phase 8
Next_start_code()
Picture_temporal_scalable_extension()
在具有时间可扩展性的情况下,存在两个空间分辨率流,底层提供视频帧的较少索引版本,而顶层可以被用于获取相同视频的多帧版本。低质量、低成本或免费解码器可使用时间可扩展性,而相同付费下每秒可传输更多帧。
Picture_temporal_scalable_extension()
字段 bits# 描述
Extension_start_code_identifier 4 总为1010
Reference_select_code 2 用于指示参考图像将被用于
解码内部编码的(intra_coded
)图像
对于O类型图像
00增强最近的图像
01按显示顺序的较低和最
近的帧层
10按禁止显示顺序
的下一较低帧层11禁用
对于B类型图像
00禁用
01增强模式下的最近解
码的图像
10增强模式下的最近解
码的图像
11按显示顺序的底层中的
最近图像
Forward_temporalreference 10 时间参考
Marker_bit 1
Backward_temporal_reference 10 时间参考
Next_star_code()
Picture_spatial_scalable_extension()
在图像空间可扩展的情况下,增强层包含数据,其允许基层的更好的分辨率,使其可被重建。当增强层作为动作补偿的参考被用作基层的函数时,底层必须被提高并补偿,以获得增强层的更大分辨率。
Picture_spatial_scalable_extension()
字段 bits# 描述
Extension_start_code_identifier 4 总为1001
Lowerlayer_tempo_ralreference 10 参考较低层的时间图
像
Marker_bit 1 1
Lower_layer_horizontal_offset 15水 平补偿(Offset)
Marker_bit 1 1
Lower_layer_vertical_offset 15 垂直补偿(Offset)
Spatial_temporal_weight_code_table_index 2 预测细节
Lower_layer_progressive_frame 1 1=逐行的
0=隔行的
Lower_layer_desinterlaced_field_select 1 0=使用顶场
1=使用底场
Next_start_code()
Copyright_extension()
Extension_start_code_identifier 4 总为010
Copyright_flag 1 如果它等于1则它使用版权
如果它为零(0),不需要附加的版
权信息
Copyright_identifier 8 1=初始
0=复制
Original_or_copy 1
Reserved 7
Marker_bit 1
Copyright_number_1 20 授予的版权号
Marker_bit 1
Copyright_number_2 22 授予的版权号
Marker_bit 1
Copyright_number_3 22 授予的版权号
Next_start_code()
Picture_data()
这是简单结构,它本身中不具有字段。
Slice()
包含相同的垂直位置中的一个或多个宏块的信息。
Slice_start_code 32
Slice_vertical_position_extension 3
Priority_breakpoint 7
Quantizer_scale_code 5
Intra_slice_flag 1
Intra_slice 1
Reserved_bits 7
Extra_bit_slice 1
Extra_information_slice 8
Extra_bit_slice 1
Macroblock()
Macroblock_modes()
Motion_vectors()
Motion_vector()
Coded_block_pattern()
Block()
EXTENSION_AND_USER_DATA(2)
图像可显示在以下设备上:
DVD(数字通用盘)
DTV(数字电视)
HDTV(高清晰电视)
CABLE(DVB数字视频广播)
SATELLITE(DSS数字卫星系统);并且它是软件和硬件处理的集成。
图5的硬件(50)部分中的解码编译格式,在DSP输入存储器中被复制,同时,允许对应于由立体照相机拍摄的左-右立体现有信号的两个独立的或相关的视频信号的同时输入。在处理步骤中,检测video_sequence(51),以交替左和右帧或并行发送它们,sequence_header识别(52)、识别图像类型(53),其传输到标准视频流(54),随后其经过错误校正处理(55),视频图像信息被发送到交替共享左通道(57)和右通道(58)并将信息分配到左通道(57)和右通道(58)的输出缓冲器(56),并且视频流信息在所述通道中被显示为3D或2D图像。
由于以同时形式存储L(左)和R(右)视频流作为两个独立的视频流,但用相同的time_code同步,因此,它们稍后可被解码并在大容量输出缓冲器中并行播放。它们也可为相关的并通过差别解码。
关于硬件,多数处理是由被称为DSP(数字信号处理器)的装置执行的。作为一个实例,即,可使用Motorola和Texas Instruments(TMS320C62X)模型。
这些DSP通过由所讨论的制造商提供的C和汇编语言的混合语言编程。每一个DSP具有其自己的API,由位于DSP中被软件调用的功能列表或过程调用组成。从该参考信息,3D图像被编码,其可与MPEG2格式和它们自身的编码算法兼容。当信息被编码时,DSP负责运行预测、比较、量化和DCT函数应用程序处理,以形成MPEG2压缩视频流。
为了从数字视频流中获取三维图像,已经通过在解码处理的不同部分中的软件和硬件改变,对现有MPEG2解码器进行了一些修改。视频数据流的结构和video_sequence必须被修改以包括必要的标记以在比特级上识别技术图像类型。
在接下来的解码步骤中做出修改。软件:
-视频格式识别
现MPEG2向后可兼容性。
-扫描video_sequence,以标准方式(现有技术)图像解码。
_区分它们为相关的还是独立的视频信号
_将最近的完整图像缓冲器存储到左或右通道缓冲器中。
_应用B类型帧信息解码。
_通过应用运动和颜色校正矢量对最近获得的图像应
用错误校正。
_在它们各自的通道缓冲器中存储结果。
_继续视频序列读取。硬件:
当通过硬件解码信息时;
_区分图像是2D还是3D
_激活双倍输出缓冲器(存储器增加)。
_激活差别解码选择器。
_激活并行解码选择器。
_执行解压缩处理。
_图像被显示在其相应的输出缓冲器中。
以下结构、子结构和序列,将以特定方式被使用;它们属于MPEG2向后兼容技术的硬件实现的video_sequence结构。
实际上:
Sequence_header
Aspect_ratio_information
与0111执行逻辑“与”以获得与2D系统的向后兼容性,当这发生时,指令被发送到立体重叠照相(左或右)的缓冲器必须等于源的DSP,所以所有解码的图像将被发送到两个输出缓冲器,以允许任何装置中的图像显示。
Frame_rate_code
与0111执行逻辑“与”以获得与2D系统的向后兼容性。
User-data()
Sequence_scalable_extension
Picture_header
Extrabit_picture
1=标准
Picture_coding_extension
Picture-structure
Picture_temporal_scalable_extension()
在编码信息时,使用DSP,DSP负责执行预测、比较和量化处理,应用DCT以形成MPEG2压缩视频流,并区分2D或3D图像。
两个视频信号以独立形式被编码但具有相同的time_code,对应于来自照相机的左信号和右信号的信号,同时发送具有立体重叠照相识别符的两个程序。该类型的解码被称为“通过并行图像”,因为同时存储左和右(L和R)视频流两者作为两个独立的视频流,但是为time_code同步的。随后,它们将并行地被解码和播放。只有解码软件必须被解码,传输流的编码和压缩算法将与当前算法相同。
解码器中的软件修改。
在解码器中,利用程序API,如在使用TMS320C62X系列Texas Instruments DSP的实例中,两个程序流必须被同时编程,或两个相关的视频信号,即,从被存储为具有识别符的B类型帧的二者之间的差别创建。
DSP的编程算法和方法。
_在启动DSP时,创建两个处理通道(当调用API时,主和辅助缓冲器或者左和右缓冲器)。
_得到每一个通道的RAM存储器指针(存储分配图中的RAM地址)
它被认为是B类型
图像被实时解码
变化或差别被应用到补偿缓冲器
结果被存储在辅助缓冲器中。
在与video_sequence数据流中的软件相关的软件中,需要实现两个选项:
1.-一个仅修改软件并使用userdata()部分,以存储允许重新生成立体信号的错误校正。
在MPEG2解码器检测到user_data()码时,其将搜索3DVISION_START_IDENTIFIER=0X000ABCD 32比特识别符,该码非常高并且难于再现码,或者其不表示数据。随后,将考虑要读取的3D块长度,该长度为32比特“n”数据。当在USER DATA()中检测到该信息时,将调用特定解码函数,特定解码函数随后与输出缓冲器比较,并在video_sequence的当前读取偏移处应用,n字节作为对B类型帧的典型校正。该校正的输出被发送到直接与位于电子显示装置中的视频输出以外的附加的视频输出相关的其它输出地址。
如果识别出PICTURE_DATA3D()结构,则进行由解码器直接读取信息;但其将信息写入到也连接到位于电子显示装置中的视频输出以外的附加的视频输出的第二输出缓冲器中。
在程序流的情况下,两个信号(左和右)由time_code同步,两个信号将被具有足够的同时多视频通道解码能力的MPEG解码器并行地解码,或它们可以在相同video_sequence内发送两个相关的视频信号,例如,“R-L=delta”,其中,delta为存储为具有立体重叠照相识别符的“B”类型帧的差别,并且,其可在由图像的差别解码时被重建,即,“R-delta=L”或“L-delta=R”,如前述Texas Instruments DSP的情况,其可作为例证但不是限制性的实例。
包含单个视频序列的视频也被实现;但以每秒60帧速率交替左和右帧(每一个30帧),并且在解码后将视频缓冲器图像置于相应的左或右通道中。
最后,在多路视频的情况下,启动具有两个视频缓冲器(左-右)的MPEG解码器,识别适当的帧并分离每秒30帧的每个信号,因此,由于视频流是连续的,并且由于人眼的特性滞留波,多路作用不明显,可提供无闪烁图像。
已经示例并说明了本发明的具体实施例,在不脱离本发明的范围下做出一些修改或改变,对于本领域的那些技术人员是显而易见的。所有这些修改和改变意在被所附权利要求覆盖,使所有改变和修改落入本发明的范围中。
Claims (29)
1.一种向用户显示立体数字视频的系统,其包括:
接收器,其被配置用来接收一个或多个视频流,其中所述一个或多个视频流包括头部和第一眼图像;
解码器,其被配置成用于读取所述头部,并确定是否所述一个或多个视频流还包括delta图像,其中所述delta图像由第一眼图像和第二眼图像之间的差别得到,并且其中如果所述头部指示delta图像存在,则通过delta图像和第一眼图像创建第二眼图像;以及
视频输出,其被配置成用于从第一眼图像和第二眼图像输出立体数字视频。
2.如权利要求1所述的系统,其中该系统是电缆系统、高清晰电视系统、卫星电视系统、光盘系统、DVD系统或数字电视系统中至少一种的一部分。
3.如权利要求1所述的系统,其中所述一个或多个视频流包括时间码。
4.如权利要求1所述的系统,其中第一眼图像帧和第二眼图像帧被输出到高清晰显示或立体视频系统。
5.如权利要求1所述的系统,其中所述解码器被配置成将delta图像加到第一眼图像来创建第二眼图像。
6.如权利要求1所述的系统,其中所述解码器被配置成读取在头部中的预设置比特组来确定所述一个或多个视频流是否包括delta图像。
7.如权利要求1所述的系统,其中delta图像被存储在特定用于delta图像的视频流数据结构中。
8.如权利要求1所述的系统,其中delta图像包括P或B类型图像帧。
9.如权利要求1所述的系统,其中所述一个或多个视频流包括多个视频流。
10.如权利要求1所述的系统,其中所述解码器被配置成从第一视频流读取头部和第一眼图像并从预设置数据结构中读取delta图像。
11.一种用于解码立体数字视频的系统,其包括:
接收机,其被配置成用于接收一个或多个视频流,其中所述一个或多个视频流包括头部和第一眼图像;
软件,其被配置成用于读取所述头部并确定所述一个或多个视频流是否还包括delta图像,其中所述delta图像从第一眼图像和第二眼图像之间的差别导出,并且其中如果头部指示所述delta图像存在,则通过所述delta图像和第一眼图像创建第二眼图像;以及
视频输出,其被配置成用于从第一眼图像和第二眼图像输出立体数字视频。
12.如权利要求11所述的系统,其中所述视频输出被配置成输出立体数字视频给高清晰电视系统或立体视频系统。
13.如权利要求11所述的系统,其中所述软件从第一视频流读取头部和第一眼图像并且从预设置数据结构读取delta图像。
14.如权利要求11中所述的系统,其中所述软件被配置成通过将delta图像加到第一眼图像上来创建第二眼图像。
15.如权利要求11所述的系统,其中所述delta图像包括P或B-类型图像。
16.如权利要求11所述的系统,其中所述一个或多个视频流是MPEG可兼容视频流。
17.如权利要求11所述的系统,其中所述一个或多个视频流包括多个视频流。
18.如权利要求11所述的系统,其中所述delta图像被存储在特定用于delta图像的预设置结构中。
19.如权利要求11所述的系统,其中所述第一眼图像是P类型图像。
20.如权利要求11所述的系统,其中所述软件通过数字信号处理器施行。
21.一种用于解码立体数字视频的方法,其包括:
接收一个或多个视频流,其中所述一个或多个视频流包括头部和第一眼图像;
读取所述头部并确定所述一个或多个视频流是否还包括delta图像,其中所述delta图像由第一眼图像和第二眼图像之间的差别导出;如果头部指示所述delta图像存在,则从delta图像和第一眼图像创建第二眼图像;并且
从第一眼图像和第二眼图像输出立体数字视频。
22.如权利要求21所述的方法,其中该方法通过电缆系统、高清晰电视系统、卫星电视系统、光盘系统、DVD系统或数字电视系统中至少一种的一部分系统来执行。
23.如权利要求21所述的方法,其中输出立体数字视频包括将第一眼图像帧和第二眼图像帧输出到高清晰显示或立体视频系统。
24.如权利要求21所述的方法,其中创建第二眼图像包括将delta图像加到第一眼图像上。
25.如权利要求21所述的方法,其中读取头部包括读取在头部中的预设置的比特组来确定所述一个或多个视频流是否包括delta图像。
26.如权利要求21所述的方法,还包括将delta图像存储在特定用于delta图像的视频流数据结构中。
27.如权利要求21所述的方法,其中delta图像包括P或B类型图像帧。
28.如权利要求21所述的方法,其中所述一个或多个视频流包括多个视频流。
29.如权利要求21所述的方法,其中读取头部包括从第一视频流读取头部和第一眼图像,以及从预设置数据结构读取delta图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010227674 CN101917617A (zh) | 2004-02-27 | 2004-02-27 | 立体3d视频图像的解码系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010227674 CN101917617A (zh) | 2004-02-27 | 2004-02-27 | 立体3d视频图像的解码系统和方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004800427533A Division CN1938727A (zh) | 2004-02-27 | 2004-02-27 | 用于数字解码3d立体视频图像的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101917617A true CN101917617A (zh) | 2010-12-15 |
Family
ID=43324985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010227674 Pending CN101917617A (zh) | 2004-02-27 | 2004-02-27 | 立体3d视频图像的解码系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101917617A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113573119A (zh) * | 2021-06-15 | 2021-10-29 | 荣耀终端有限公司 | 多媒体数据的时间戳生成方法及装置 |
-
2004
- 2004-02-27 CN CN 201010227674 patent/CN101917617A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113573119A (zh) * | 2021-06-15 | 2021-10-29 | 荣耀终端有限公司 | 多媒体数据的时间戳生成方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1938727A (zh) | 用于数字解码3d立体视频图像的方法和系统 | |
US20190058865A1 (en) | System and method for encoding 3d stereoscopic digital video | |
CN107431797B (zh) | 用于全视差光场显示系统的方法和装置 | |
CN101622878B (zh) | 用于实现位深度可分级性的视频编解码方法和视频编解码设备 | |
JP2001169292A (ja) | 情報処理装置および方法、並びに記録媒体 | |
CN101796843A (zh) | 图像编码方法及装置、图像解码方法及装置、程序、集成电路 | |
CN101218827A (zh) | 对包括图像序列和标识的视频内容进行编码的方法和设备 | |
JP2010505318A (ja) | ビデオフレームと補助データを含むビットストリームの形成及び処理 | |
JP2003517796A (ja) | 「ムラのあるピクチャ」効果を減らす方法 | |
US6133955A (en) | Method for encoding a binary shape signal | |
JP4440776B2 (ja) | Mpegビデオビットストリームデコーダシステム及び方法 | |
US20090208131A1 (en) | Method and Device for Watermarking on Stream | |
CN101917617A (zh) | 立体3d视频图像的解码系统和方法 | |
JP5228077B2 (ja) | 立体3dビデオイメージディジタルデコーディングのシステムおよび方法 | |
CN101917616A (zh) | 用于数字编码3d立体视频图像的方法和系统 | |
KR20090028288A (ko) | 압축영상 내 정보 삽입 방법 | |
KR20070011341A (ko) | 입체적 3d-비디오 이미지 디지털 디코딩 시스템 및 방법 | |
JP5227439B2 (ja) | 立体3dビデオイメージディジタルコーディングのシステムおよび方法 | |
MXPA06009734A (es) | Metodo y sistema de decodificacion digital de imagenes de video 3d estereoscopicas. | |
KR20070011340A (ko) | 입체적 3d-비디오 이미지 디지털 코딩 시스템 및 방법 | |
MXPA06009733A (es) | Metodo y sistema de codificacion digital de imagenes de video 3d estereoscopicas. | |
LGGGGGG | C ZIT źd d': http:% pic. gc. ca-Ottawa-Hull KlA 0C9-http://cipo. gc. ca () PI | |
JP2004179704A (ja) | 立体画像処理方法及びプログラム及び記録媒体 | |
JPH06276483A (ja) | 画像信号符号化方法、装置、復号化方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1151919 Country of ref document: HK |
|
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20101215 |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1151919 Country of ref document: HK |