专利名称:画面编码装置和画面解码装置的制作方法
技术领域:
本发明涉及一种在逐画面的基础上对运动画面进行编码编码装置,和对由画面编码装置编码的编码运动画面进行解码的画面解码装置,特别是,涉及对应于诸如高速播放(可变速播放)之类的特技播放的画面编码装置和画面解码装置。
背景技术:
在将声音、画面以及其它像素值综合处理的多媒体时代,具体地讲,近来,象报纸、杂志、电视、无线电和电话之类的通过其将信息传递给人们的现有信息媒体已经被包括在多媒体的范围内。一般地讲,多媒体是指一种不仅将字符,而且也将图形、声音、特别是图像相关联一起显现的事物,但是为了将上述现有信息媒体包括在多媒体的范围内,需要以数字形式显现这些信息。
但是,如果按数字信息量估计由上面提到的每种信息媒体携带的信息量,虽然在文本的情况下1个字符的信息量是1至2字节,而每秒声音所需的信息量是64千字节(电话语音质量),每秒运动画面(当前电视接收质量)需要的信息量则在100兆字节以上。因此,要信息媒体以数字形式处理如此大的信息量是不现实的。例如,虽然视频电话已经通过提供64Kbit/s至1.5Mbit/s的传输速度的综合业务数字网(ISDN)而投入实际应用,但是,不能直接通过ISDN传输电视上的图像和由摄像机拍摄的图像。
因此,需要信息压缩技术,例如,在视频电话的情况下,将国际电信同盟-电信标准化部(ITU-T)国际标准化的H.261和H.263用于运动画面压缩技术。此外,利用MPEG-1标准的信息压缩技术,也使得能够将视频信息与声音信息一同存储在一张普通音乐CD(光盘)中。
在这里,运动画面专家组(MPEG)是由国际标准化组织/国际工程协会(ISO/IECInternational Standardization Organization/InternationEngineering Consortium)标准化的、用于运动画面信号压缩的国际标准。MPEG-1是一种将运动画面信号压缩到1.5Mbps,换句话说,将电视信号压缩到大约百分之一的标准。此外,由于MPEG-1标准范围内的目标画面质量限于能够由大约1.5Mbps的传输速度实现的中等程度的质量,因此,使用为满足进一步改善画面质量的要求而标准化的MPEG-2来实现电视广播质量,MPEG-2将运动画面信号压缩到2至15Mbps。此外,当前,促进MPEG-1和MPEG-2标准化的工作组(ISO/IEC JTC1/SC29/WG11)已经提出了标准化的MPEG-4,MPEG-4具有超过MPEG-1和MPEG-2的压缩率,能够在按对象的基础上进行编码,解码和操作,把实现了多媒体时代所需的新功能。MPEG-4的最初目的是要标准化低比特率的编码方法。但是,当前,其目标已经扩展到进一步包括用于隔行扫描画面的高比特率编码的更通用的编码方法的标准化。此后,ISO/IEC和ITU-T共同标准化了作为具有更高压缩率的下一代画面编码方法的MPEG-4高级视频编码(AVC)。预期用于与下一代光盘有关的装置或与对蜂窝电话终端有关的广播。
一般地讲,在运动画面的编码过程中,通过减少时间和空间方向的冗余来压缩信息量。因此,在目的在于减少时间冗余的画面间预测编码中,通过参考在前或随后画面,在一块接一块的基础上执行运动估算和预测画面产生,并且对得到的预测画面和要编码的画面之间的差值进行编码。在此,“画面(Picture)”表示一屏在逐行画面中,它代表一帧;在隔行画面中,它代表一帧或一场。这里,所述的“隔行画面”表示其帧由时间彼此不同的两个场构成的画面。在隔行画面的编码和解码中,可以将一帧作为一帧来处理,将一帧作为两个场来处理,或在帧中在逐块的基础上将帧结构来处理或作为场结构来处理。
I画面是不参考任何参考画面而被进行画面间(Inter-Picture)预测编码的画面。另外,P画面是通过仅参考一个画面而被进行画面间预测编码的画面。此外,B画面是通过同时参考两个画面而被画面间预测编码的画面。B画面可以参考两个画面,作为在B画面之前或之后显示的一对任意画面。可以为作为编码和解码的基本单元的每个块来规定参考画面。以如下方式区分这些参考画面把在编码比特流中在前说明的参考画面称为第一参考画面,而把在后说明的参考画面称为第二参考画面。应当指出,作为编码或解码这些画面的条件,必须已经对被参考的画面进行了编码和解码。
图1是显示现有MPEG-2流的结构图。如图1所示,MPEG-2流具有下面要说明的层级结构。流是由一个以上的画面组(GOPGroup ofPictures)构成的。允许利用作为编码的基本单元的流来对运动画面进行编辑和随机存取。每个GOP是由一个以上的画面构成。每个画面是I画面、P画面、或B画面中的一个。每个流、GOP和画面进一步由指示每个单元的分界点的同步码(sync),和在单元中作为共同数据的首部构成。
图2A和2B是显示MPEG-2中使用的画面间的预测结构的实例的示意图。
在图中,由带有斜线的区域所示的画面是被其它画面参考的画面。如图2A中所示,在MPEG-2中,可以通过参考I画面或在所述P画面前刚刚显示的P画面来对P画面(P0,P6,P9,P12和P15)进行预测编码。另外,可以通过参考I画面或在所述B画面之前和之后显示的P画面来对B画面(B1,B2,B4,B5,B7,B8,B10,B11,B13,B14,B16,B17,B19和B20)进行预测编码。此外,已经确定画面在流中安排顺序如下按照显示顺序安排I画面和P画面;每个B画面被安排在紧挨着I画面之后,或紧接着所述B画面之后显示的P画面之后。作为GOP结构,例如,如图2B中所示,从I3到B14的画面被包括在一个GOP中。
图3是显示MPEG-4 AVC流结构的示意图。在MPEG-4 AVC中,不存在与GOP等价的概念。但是,通过将数据分成不依赖其它画面来对每个画面解码的特定画面单元,可以构成能够随机存取的、并且等同于GOP的单元,以下将这种比分开的单元称为随机存取单元(RUARandomAccess Unit)。
接下来,说明作为处理流的基础单元的存取单元(以下简称为AU)。AU是用于存储一个画面中的编码数据的单元,包括参数集(PS)、片段数据。参数集PS(PS)被分成作为与每个画面的首部对应的数据的画面参数集(以下简称为PPS),和与MPEG-2或更高中的GOP单元的首部对应的序列参数集(以下简称为SPS)。应该指出,PPS和SPS初始化各个解码所需的初始化信息。
SPS包括可供参考的画面的最大数量,画面大小等等用于对随机存取单元(RAU)中的所有编码画面解码的公共参考信息。对于随机存取单元(RAU)中的每个编码画面,PPS包括可变长度编码方法的类型,量化步骤的初始值,参考画面的号码等等,作为对该画面解码的参考信息。另外,SPS和PPS可以包括量化矩阵,以便如果需要,可以用SPS中的量化矩阵集重写PPS。每个画面被加入用于识别要参考PPS和SPS中的哪一个的标识符。此外,片段数据包括作为识别画面的标识号的帧号FN。在此,可以在逐画面的基础上更新每个画面参考的PPS。而仅在稍后要说明的IDR画面中更新SPS。
对MPEG-4 AVC中的I画面,有两种类型的I画面瞬时解码器刷新(IDR)画面;和不是IDR画面的另一种I画面。IDR画面是可以不用参考按解码顺序放置在IDR画面之前的画面,能够被解码的I画面,并且等同于MPEG-2的闭合GOP的最前端I画面。对于不是IDR画面的I画面,按解码顺序在所述I画面之后的画面可以参考按解码顺序在所述I画面之前的画面。可以通过将不是IDR画面的I画面定位在随机存取单元RAU的第一存取单元中并限制随机存取单元RAU中画面的预测结构来构成诸如MPEG-2的开始GOP之类的结构。
除了对画面解码所需的数据外,MPEG-4 AVC的AU可以包括对画面解码不需要的、被称为补充增强信息(SEI)的补充信息,AU的边界信息等。诸如参数集、片段数据、和SEI之类的数据存储在网络抽象层(NetworkAbstraction Layer)(NAL)单元(NALU)中。NAL单元由首部和有效负载构成,首部包括指示存储在有效负载中的数据类型的字段(以下称为NAL单元类型)。为诸如片段或SEI之类的每种数据类型定义NAL单元类型的值。通过参考NAL单元类型,能够规定存储在NAL单元中的数据的类型。
SEI的NAL单元可以存储一个或多个SEI消息。SEI消息是由首部和有效负载构成的,由首部中指示的SEI消息的类型来标识有效负载中存储的信息类型。
位于随机存取单元RAU的头部的第一AU包括由随机存取单元RAU的所有AU参考的SPS的NAL单元和第一AU参考的PPS的NAL单元。另外,保证对随机存取单元RAU的每个AU解码所需的PPS的NAL单元按解码顺序,在当前AU或随机存取单元RAU中包括确定AU之前的AU。
在此,没有用于识别NAL单元中NAL单元边界的信息,所以可以向每个NAL单元的首部加入边界信息。当在MPEG-2传输流(TS)或MPEG-2程序流(PS)中使用MPEG-4 AVC流时,将以3字节的0x000001指示的开始码前缀加到NAL单元的首部。此外,在MPEG-2 TS和PS中,确定不应该将被称为存取单元定界符(Access Unit Delimiter)的NAL单元插入到AU的首部,表示AU的边界。
已经提出了涉及这种视频编码和解码的各种传统技术(例如,参考专利申请特许公开2003-18549)。图4是显示实现传统画面编码方法的画面编码装置的方框图。
画面编码装置191压缩和编码输入的视频画面数据Vin,并输出作为MPEG-4 AVC的编码流的AVC流st。画面编码装置191包括片段编码单元11,存储器12,SPS产生单元13,新PPS判断单元14,PPS产生单元16和AU确定单元17。
视频数据Vin被输入到片段编码单元11。片段编码单元11对一个AU的片段数据进行编码,将作为编码结果的片段数据Sin存储在存储器12中,并向SPS产生单元13输出对画面解码所需的SPS信息SPSin,同时向新PPS判断单元14输出用于对AU解码所需的PPS信息PPSin。
SPS产生单元13根据SPS信息SPSin产生SPS,并向AU确定单元17输出包括该SPS的SPSnal。
新PPS判断单元14按从随机存取单元RAU中第一个AU开始的顺序。保持每个AU的PPS信息PPSin,将输入的PPS信息PPSin与保持的PPS信息PPSin进行比较。当输入的PPS信息PPSin是新的时,将指示输入的PPS信息PPSin为新的新PPS标记flg设置为1,并向PPS产生单元16输出PPS信息PPSin,作为PPS信息PPSout。另一方面,当保持的PPS信息PPSin包括输入的PPS信息PPSin时,新PPS判断单元14将新PPS标记设置为0。
当新PPS标记flg为1时,PPS产生单元16根据输入的PPS信息PPSout产生PPS,并向AU确定单元17输出包括PPS的数据PPSnal。
AU确定单元17分别根据数据SPSnal和数据PPSnal来产生SPS和NAL单元,并通过从存储器12获得片段数据Snal来产生片段数据的NAL单元。然后,AU确定单元17通过按预定顺序安排所产生的NAL单元来确定AU数据,构成AVC流st,和输出AVC流st。
图5是显示画面编码装置191的操作的流程图。在步骤S101中,画面编码单元101对一个画面的片段数据编码,并在步骤S102中产生SPS。在此,可以仅在随机存取单元RAU的第一AU中执行SPS的产生。此后,在步骤S103,画面编码装置191判断该AU的PPS信息(PPS)在随机存取单元RAU中是否是新的。如果PPS信息是新的(步骤S111中为“是”),画面编码装置191确定把该PPS存储到AU中,并且该操作从步骤S111转移到步骤S106。如果PPS信息不是新的(步骤S111中为“否”),操作转移到步骤S107。在步骤S106,画面编码装置191产生PPS。在步骤S107,当判断PPS是新的并且在步骤S111把该PPS存储到AU中时,画面编码装置191在AU中包括在步骤S106产生的PPS,为产生一个AU的数据,并输出产生的数据。
图6是显示实现传统画面解码方法的画面解码装置的方框图。
画面解码装置291从输入的AVC流st分离AU并对其解码,输出解码的数据Dout作为解码画面。画面解码装置291包括AU边界检测单元22,PPS获得单元23,PPS存储器24,解码信息获得单元25和解码单元26。
AU边界检测单元22检测AU的边界并分离AU数据。当PPS的NAL单元被包括在AU数据中时,AU边界检测单元22向PPS获得单元23输出PPS PPSnal的NAL单元,和向解码信息获得单元25输出其它NAL单元Dnal。
PPS获得单元23分析NAL单元PPSnal,使PPS存储器24保持分析结果作为分析结果信号PPSet。解码信息获得单元25分析NAL单元Dnal,并获得SPS,片段数据等,同时从PPS存储器24获得包括由AU参考的PPS的数据PPSref,并把片段数据和SPS以及用于对片段数据解码所需的PPS输出到解码单元26,作为预解码数据Din。
解码单元26根据预解码数据Din对片段数据进行解码,并输出解码数据Dout。
这样,随机存取单元RAU是一种指示能够从第一AU执行解码的、实现诸如跳入播放、变速播放、和逆向播放之类的特技,或在具有光盘和硬盘的存储设备中在随机存取逐单元的基础上实现跳跃播放所需的数据结构。
然而,在传统MPEG-4 AVC流中的随机存取单元RAU中,在通过选择,解码和显示诸如I画面或P画面的AU之类的特定AU来进行高速播放的情况下,还不能获得用于对AU解码所需的PPS。
图7A和图7B示出了随机存取单元RAU的结构实例。
如图7A所示,随机存取单元RAU由从AU1至AU15这15个AU构成。在高速播放时,对AU1、AU4、AU7、AU10、和AU13这5个AU进行解码变显示。在此,AU1至AU8参考PPS#1作为PPS,AU9至AU15参考PPS#2。PPS#1和PPS#2分别存储在AU1和AU9中。在此,如图7B所示,在高速播放时要解码的AU不包括AU9,并且在高速播放时不能获得PPS#2,以致不能对AU10和AU13解码。
因此,当有选择地对随机存取单元RAU中的AU进行解码和显示时,如果如同MPEG-2中那样只对预定AU进行解码,则不能获得所需的PPS。因此,存在着需要分析随机存取单元RAU中的所有AU,以便获得PPS的问题。
为了解决该问题,本发明的目的是提供产生流以便通过获得进行解码所需的适当画面参数集来对画面解码的画面编码装置,和对所产生的流进行解码的画面解码装置。
发明内容
为了实现上述目的,根据本发明的画面编码装置是在逐画面的基础上对画面编码,并产生随机存取单元作为流的一部分的画面编码装置,所述随机存取单元包括编码的画面,所述装置包括编码单元,用于通过在逐画面基础上对画面编码来产生编码画面数据条;第一信息产生单元,用于产生作为对所有条编码画面数据解码要参考的参数组的序列参数集信息;第二信息产生单元,用于产生画面参数集信息条,每个信息条是对每条编码画面数据解码要参考的参数组;第一存储单元,用于把编码画面数据条目分别存储到组成随机存取单元的存取单元中;第二存储单元,用于把序列参数集信息存储到位于随机存取单元头部的第一存取单元中;和第三存储单元,用于把每条画面参数集信息存储到随机存取单元的第一存取单元中,或存储到其中存储了参考画面参数集信息条目的编码画面数据条目的存取单元中。例如,所述第三存储单元i)把画面参数集信息条目存储到所述第一存取单元,和与由所述第二信息产生单元产生的画面参数集信息条目之一相同的画面参数集信息条目未被存储到所述第一存取单元中的情况下,ii)把画面参数集信息条目存储到其中存储了参考画面参数集信息条目的编码画面数据条目的存取单元中。
因此,在作为流的一部分产生的随机存取单元中,对每个编码画面数据条目解码所需的画面参数集信息(PPS)被存储在随机存取单元的第一存取单元(AU)中,或其中存储了编码画面数据条目的存取单元中。因此,即使在选择和播放随机存取单元中所有编码画面数据的条目中至少是存储在第一存取单元中的编码画面数据的条目来执行特技播放的情况下,能够适当并迅速地获得对所选择的画面数据条目解码所需的画面参数集信息的条目,而不会失败。结果是,能够平滑地进行特技播放。
另外,根据本发明的画面解码装置是一种从流中获得包括编码画面的随机存取单元,每个编码画面被存储在各个存储单元中作为编码画面数据的条目,和在逐画面的基础上对编码画面数据的条目解码的画面解码装置,所述装置包括画面规定单元,用于规定要从编码画面数据的条目解码的编码画面数据的条目的一部分,以便规定存储在位于随机存取单元头部的第一存取单元中的编码画面数据的条目;第一获得单元,用于从第一存取单元获得作为对编码画面数据的所有条目解码要参考的参数组的序列参数集信息;第二获得单元,用于从第一存取单元或其中存储了要被解码的编码画面数据的条目的存取单元中,获得作为对要解码的编码画面数据的条目解码参考的参数组的画面参数集信息;和解码单元,用于通过参考序列参数集信息和画面参数集信息,对要被解码的编码画面数据的条目解码。
例如,对编码画面数据的每个条目解码所需的画面参数集信息(PPS)被存储在随机存取单元的第一存取单元(AU)中,或其中存储了参考画面参数集信息条目的编码画面数据的存取单元中。因此,即使在解码和播放随机存取单元中的编码画面数据的一部分条目来执行特技播放的情况下,从第一存取单元或其中存储了要被解码的编码画面数据条目的存取单元获得要被解码的编码画面数据条目的画面参数集信息的条目,作为至少是第一存取单元中存储的编码画面数据的条目。因此,能够适当并迅速地获得对编码画面数据的条目解码所需的画面参数集信息的条目,而不会失败。结果是,能够平滑地进行特技播放。
此外,为了实现上述目的,根据本发明的画面编码方法是一种在逐画面的基础上对运动画面编码的画面编码方法,所述方法包括通过对画面像素进行编码来产生像素编码数据,以使具有一个或多个画面的随机存取单元包括在诸如高速播放或反向播放之类的特技播放时要解码的画面,和仅在对所有画面解码和显示的正常播放时要解码的画面;通过对画面像素进行编码来产生像素编码数据;产生序列初始化信息,所述序列初始化信息对组成在对画面解码时参考的初始化信息之外的随机存取单元的所有画面有效;把产生的像素的编码数据,序列信息或画面初始化信息分别存储到不同的子画面单元中;和产生画面存取单元,所述画面存取单元必定包括产生的编码数据的子画面单元,和有选择地序列初始化信息的子画面单元或画面初始化信息,其中在产生画面存取单元的所述步骤中,存储画面初始化信息的子画面单元,以便能够从画面存取单元获得在特技播放时要被解码的画面的画面初始化信息,在所述画面存取单元中,按解码顺序产生一幅画面在同一个画面存取单元或随机存取单元之前,并且在特技播放时被解码。
另外,在特技播放时被解码的画面可以是由画面内预测或单一预测编码的画面。
另外,在特技播放时被解码的画面是由内部预测和该单一预测编码的画面,或双预测编码的画面之外,不被它画面参考的画面。
此外,在所述产生画面存取单元的步骤中,对于在特技播放时要解码的所有画面,可以把包括对画面解码要参考的画面初始化信息的子画面单元存储在画面存取单元中。
另外,随机存取单元中的第一画面存取单元可以包括其中存储可序列初始化信息的子画面单元,对随机存取单元中的所有画面解码时参考的序列初始化信息。
另外,为了实现上述目的,根据本发明的画面解码方法是一种对由该画面编码方法编码的编码数据解码的画面解码方法,所述解码方法包括确定要解码的画面;从确定画面的画面存取单元获得序列初始化信息和画面初始化信息;通过参考获得的序列初始化信息和画面初始化信息对子画面存取单元中存储的编码数据解码,其中所述确定步骤包括确定正常播放时的所有画面,选择在特技播放时需要解码的画面。
此外,为了实现上述目的,根据本发明的多路复用方法是一种将编码流与编码流的管理信息进行多路复用,并记录复用结果的多路复用方法,所述多路复用方法包括连队运动画面编码并产生编码流;使编码流成为数据包;从包编码流产生用于分离画面数据所需的存取信息;将包括该存取信息的管理信息与包编码流多路复用,其中,在所述编码步骤中,由上述画面编码方法产生编码流。
另外,为了实现上述目的,根据本发明的程序是使计算机执行画面编码方法的程序,所述程序包括在逐画面的基础上对运动画面编码,所述方法包括通过对画面像素进行编码来产生像素编码数据,以使具有一个或多个画面的随机存取单元包括在诸如高速播放或反向播放之类的特技播放时要解码的画面,和仅在对所有画面解码和显示的正常播放时要解码的画面;通过对画面像素进行编码来产生像素编码数据;产生序列初始化信息,所述序列初始化信息对组成在对画面解码时参考的初始化信息之外的随机存取单元的所有画面有效;把产生的像素的编码数据,序列信息或画面初始化信息分别存储到不同的子画面单元中;和产生画面存取单元,所述画面存取单元必定包括产生的编码数据的子画面单元,和有选择地序列初始化信息的子画面单元或画面初始化信息,其中在产生画面存取单元的所述步骤中,存储画面初始化信息的子画面单元,以便能够从画面存取单元获得在特技播放时要被解码的画面的画面初始化信息,在所述画面存取单元中,按解码顺序产生一幅画面在同一个画面存取单元或随机存取单元之前,并且在特技播放时被解码。
另外,为了实现上述目的,根据本发明的程序是一种使计算机执行画面解码方法的程序,所述程序使计算机对由画面编码方法编码的编码数据进行解码,所述程序包括确定要解码的画面;从确定画面的画面存取单元获得序列初始化信息和画面初始化信息;通过参考获得的序列初始化信息和画面初始化信息对子画面存取单元中存储的编码数据解码,其中所述确定步骤包括确定正常播放时要解码的所有画面,和选择在执行特技播放时需要解码的画面。
如上所述,在流中的随机存取单元RAU中,只选择在可变速播放时要解码的AU,并且能够通过适当地获得对该AU解码所需的画面参数集信息来该AU解码。因此,本发明能够很容易地实现与可变速播放对应的优选的画面编码装置和画面解码装置,以致其实用价值非常高。
应该指出,本发明不仅能够实现为画面编码装置,画面解码装置及其程序,而且可以实现为记录该程序的记录介质,以及由画面编码装置产生的流。
作为有关本申请的技术背景的进一步信息,在此引入2004年6月2日提交的包括说明书,附图和权利要求在内的日本专利申请No.2004-165006揭示的整体内容作为参考。
从以下结合示出了本发明的特定实施方式的附图的说明中,可以清楚地了解本发明的这些和其它目的、优点和特征。在附图中图1示出了MPEG-2流结构的示意图。
图2A和2B示出MPEG-2的GOP结构的示意图。
图3示出了MPEG-4 AVC流结构的示意图。
图4是显示传统画面编码装置的结构方框图。
图5是显示传统画面编码装置的操作流程图。
图6是显示传统画面解码装置的结构方框图。
图7A和图7B是说明传统画面编码装置的问题的示意图。
图8是显示根据本发明第一实施方式的画面编码装置的方框图。
图9是显示根据本发明第一实施方式中的画面编码装置的操作的流程图。
图10是显示根据本发明第一实施方式的画面编码装置中确定PPS的排列的操作的第一流程图。
图11A、图11B和图11C示出了根据本发明第一实施方式的画面编码装置的输出流的第一结构实例。
图12是根据本发明第一实施方式的画面编码装置中确定PPS的排列的操作的第二流程图。
图13A和图13B示出了根据本发明第一实施方式的画面编码装置的输出流的第一结构实例。
图14是显示根据本发明第一实施方式的画面编码装置的操作的流程图。
图15是显示根据本发明第二实施方式的画面解码装置的方框图。
图16是显示根据本发明第二实施方式的画面解码装置的操作的流程图。
图17是显示根据本发明第三实施方式的多路复用器的方框图。
图18是显示HD-DVD的数据层级的示意图。
图19是显示HD-DVD上的逻辑空间结构的示意图。
图20是显示VOB信息文件的结构的示意图。
图21是说明时间映射的示意图。
图22是显示播放列表文件的示意图。
图23是显示对应于播放列表的程序文件的结构的示意图。
图24是显示BD盘总数据库信息文件的结构的示意图。
图25是显示用于记录全局事件处理器的文件结构的示意图。
图26是显示HD-DVD播放器的示意方框图;和图27A、27B和图27C分别示出了记录用于实现本发明的画面编码方法和画面解码方法的程序的记录介质。
具体实施例方式
以下参考
本发明的实施方式。
(第一实施方式)图18是显示实现本发明的画面编码方法的画面编码装置的方框图。
在图中,与实现图4所示传统编码方法的画面编码装置中的组件执行相同操作的组件被赋予了相同的参考标号。
本发明与传统画面编码装置的区别是布置PPS的NAL单元,以使其通过选择在诸如可变速播放和反向播放之类的特技播放时要被解码的AU来获得用于对AU解码所需的PPS。此后,把在特技播放时要被解码的AU称作为特技播放AU。在特技播放时,可以显示所有特技播放AU的解码结果,或者可以选择一个或多个特技播放AU进行显示。
特技播放AU指示,例如,I画面和P画面的AU。在此,如果设置诸如P画面的AU不参考B画面的AU之类的限制,在特技播放时能够只对特技播放AU进行解码。另外,从不被参考的B画面区分要由其它AU参考的B画面,由其它画面参考的B画面、I画面、和P画面的AU可以是特技播放AU。
画面编码装置10除了传统画面编码装置中的组件外,还包括PPS安排确定单元15。PPS安排确定单元15根据新PPS标记flg的值、PPS信息PPSout、指示已经产生的AU是否是特技播放AU的特技播放AU信息trk来判断是否把该PPS存储到AU中。当PPS安排确定单元15判断PPS被存储时,PPS安排确定单元15将PPS产生标记mk设置为1,而在其判断PPS未被存储时,将该标记设置为0,并向PPS产生单元16输出PPS产生标记mk。在此,当PPS产生标记mk被设置为1时,PPS安排确定单元15将PPS产生标记mk与用于产生PPS的PPS信息PPSmk一起输出到PPS产生单元16。当PPS产生标记mk被设置为1时,PPS产生单元16根据PPS信息PPSmk来产生PPS的NAL单元。在此,从图中未示出的单元,或从片段编码单元11分开获得特技播放AU信息trk。
图9是显示本发明的画面编码方法的过程的流程图。
在流程图中,与图5所示的传统编码方法相同的步骤被赋予相同的标志,并且在此省略对这些相同步骤的说明。在步骤S104,画面编码装置10判断PPS存储到该AU中,以便能够根据步骤S103中获得的判断结果和指示该AU是否产生的信息来从特技播放AU获得用于对特技播放AU解码所需的PPS,并且该过程转到步骤S105。当判断存储了PPS时(步骤S105组为“是”),该过程转到步骤S106,画面编码装置10产生PPS。此后,该过程转到步骤S107,画面编码装置10产生一个AU的数据。
另一方面,当判断未存储PPS时(步骤S105组为“否”),该过程直接转到步骤S107。
在步骤S107,当判断在步骤S105中存储了PPS时,画面编码装置10使步骤S106中产生的PPS包括在AU中,以便产生一个AU的数据,并输出产生的数据。应该指出,当已经存储在不作为特技播放AU的AU中的PPS被再次存储在特技播放AU中时,画面编码装置10可以存储步骤S107中保持的PPS,而不在步骤S106中再次产生PPS。
另外,可以根据例如确定I画面和P画面是特技播放画面时的编码类型来确定特技播放AU,并且可以根据画面间的预测结构动态地确定特技播放AU。
图10是显示有关步骤S104中的过程的流程图。
在此,假设PPS产生标记mk的初始值为0。在步骤S201,画面编码装置10判断在步骤S103设置的新PPS标记flg是否为1(PPS是否是新的)。当新PPS标记flg是1时,画面编码装置10转到步骤S204,而当新PPS标记flg是0时,画面编码装置10转到步骤S202。在步骤S202,画面编码装置10根据特技播放信息trk来判断产生中的AU是否是特技播放AU,当AU是特技播放AU时,画面编码装置10转到步骤S203,而当AU不是特技播放AU时,画面编码装置10转到图9中的步骤S105。
在步骤S203,画面编码装置10判断PPS是否被存储在同一个随机存取单元RAU中按显示顺序处在提到的特技播放AU之前的特技播放AU中。如果已经存储了PPS,该过程终止。而如果没有仍没有存储PPS,画面编码装置10转到步骤S204。在步骤S204,画面编码装置10将PPS产生标记mk设置为1,并转到图9中的步骤S105。
应该指出,有两种更新PPS的方法一种方法是重新产生具有不同ID号的PPS,ID号作为PPS的标识符;另一种方法是覆盖具有相同ID号的PPS。当用该PPS覆盖具有相同ID号的PPS时,使预覆盖的PPS无效。因此,在步骤S103和S104的判断过程中,不仅需要比较PPS的ID号,而且要比较由PPS本身指示的信息。然而,当按照操作标准等禁止用相同ID号覆盖PPS时,可以用ID号来识别PPS。
图11A、11B和11C是显示由本发明的画面编码方法产生的流中的随机存取单元RAU的结构实施例的示意图。
如图11A所示,随机存取单元RAU按照解码顺序,由从AU1至AU15这15个AU组成。另外,假设AU1、AU4、AU7、AU10和AU13这5个AU是特技播放AU。在此,AU1、AU4、AU7、AU10和AU13分别参考PPS#1、PPS#3、PPS#2、PPS#3、和PPS#1作为PPS。另外,AU6参考PPS#2,并且是在随机存取单元RAU中保持PPS#2的第一个AU。另外,AU2和AU3参考PPS#1,AU5参考PPS#3。
图11B示出了各个AU中保持的PPS的NAL单元。在随机存取单元RAU中,PPS#1在AU1中被第一次参考,PPS#3在AU4中被第一次参考。因此,PPS#1和PPS#3分别被存储在AU1和AU4。接下来,当PPS#2被存储在AU6中时,AU7是参考PPS#2的第一个特技播放AU。因此,PPS#2也被存储在AU7中。AU10和AU13分别参考PPS#3和PPS#1。然而,由于它们已经被存储在作为特技播放AU的AU4和AU1中,因此不将它们存储在AU10和AU13中。
应该指出,在特技播放AU中,由当前AU参考的PPS可以被确定地存储在AU本身中。
图11C示出了当特技播放AU参考的PPS被确定地存储在AU本身时PPS存储的实施例。如图11C所示,由AU10和AU13分别参考的PPS#3和PPS#1已经被存储在作为特技播放AU的AU4和AU1中。然而,他们被再次存储在AU10和AU13中。
应该指出,能够在一个AU中存储PPS的多个NAL单元。因此,在随机存取单元RAU的第一个AU中,可以存储对随机存取单元RAU中的AU解码所需的所有PPS,或可以存储对特技播放AU解码所需的所有PPS。
另外,可以把频繁使用的一个或多个PPS存储在随机存取单元RAU的第一个AU中,作为缺省PPS,而每当在开始AU或跟在开始AU之后的AU中参考与该缺省PPS不同的PPS时,可以将PPS存储在画面中。例如,可以根据I画面、P画面、被参考的B画面、或未被参考的B画面的编码类型来准备缺省PPS。
另外,可以把对特技播放AU进行解码所需的PPS存储在随机存取单元RAU的第一个AU和每个特技播放AU二者中。
应该指出,除特技播放AU之外的AU可以确定地保持由所述AU参考的PPS。
应该指出,在特技播放AU中,可以存储对除了在随机存取单元RAU中按解码顺序跟在所述特技播放AU后的特技播放AU之外的AU解码所需的PPS。例如,对除特技播放AU之外的所有AU解码所需的PPS被存储在随机存取单元RAU的第一个AU中。因此,当特技播放被重置为正常播放时,例如当针对随机存取单元RAU中AU的第一部分仅对I画面和P画面的AU解码和进行显示,和针对剩余AU对所有解码并进行显示时,能够获得对把特技播放设置为正常播放后的所有AU解码所需的PPS,而不需要获得跳过的AU中存储的PPS。
接下来,PPS指示的信息包括能够用诸如量化矩阵之类的PPS覆盖的信息。例如,在AU参考ID号为1的SPS(SPS(1))和ID号为2的PPS(PPS(2)),以及PPS(2)覆盖SPS(1)中的量化矩阵的情况下,在对AU解码时,使用PPS(2)中给出的量化矩阵。只能够在IDR画面的AU中切换由AU参考的SPS。因此,当随机存取单元RAU中的AU切换参考SPS时,确定正常随机存取单元RAU的第一个AU作为IDR画面的AU。然而,如果使用IDR画面的AU,跟在IDR画面的AU之后的AU不能参考位于IDR画面之前的AU。因此,可能降低编码效率。在此,在SPS中,当只能在SPS间更新可由PPS更新的参数时,不更新SPS,但能够通过更新PPS来代替SPS。
图12是显示从由刚好在随机存取单元RAU之前的AU参考的SPS来确定是否更新随机存取单元RAU的第一个AU中存储的SPS的过程的流程图。
首先,在步骤S301,画面编码装置10判断由该第一个AU参考的SPS信息是否与刚好在随机存取单元RAU之前的AU参考的SPS信息不同。但判断它们彼此不同时,画面编码装置10转到步骤S303,而在判断它们彼此相同时,画面编码装置10转到步骤S302。在此,SPS信息包括只能在SPS中设置的信息和可在PPS中更新的信息二者。
在步骤S302,画面编码装置10确定不需要更新SPS和不需要用PPS更新SPS的信息。
在步骤S303,画面编码装置10判断该区别是否仅在于可由PPS更新的数据(被称为SPSvari)。当判断该区别仅在于SPSvari时,画面编码装置10转到步骤S305,而判断该区别在于除SPSvari之外的区别时,画面编码装置10转到步骤S304。在步骤S304,画面编码装置10确定更新SPS并终止该过程。在步骤S305,画面编码装置10确定把包括SPSvari的更新信息的PPS存储到AU中,而不更新该SPS,并终止该过程。
根据处理结果,当确定SPS未被更新时,替代IDR画面的AU,随机存取单元RAU的第一个AU可以是除IDR画面之外的I画面的AU。应该指出,如同在改变场景的情况,当希望使随机存取单元RAU的第一个AU作为IDR画面的AU时,不需要上述判断过程。
图13A和13B示出了用图12所示的方法产生的随机存取单元RAU的数据结构的实施例。
在图13A中,由作为两个连续随机存取单元RAU的RAU#1和RAU#2参考的SPS数据的区别仅在于作为可由PPS更新的数据的SPSvari。在此,在RAU#2中,I画面的AU可以是通过把具有SPSvari#1的数据的PPS包括在第一AU中的头部AU。
在图13B中,在RAU#1的AU中,由PPS更新SPSvari#1。在RAU#2中也使用更新的SPS信息。在此,RAU#2的第一个AU中存储的PPS也包括SPSvari#1。
应该指出,可以在随机存取单元RAU中指示标记信息,该标记信息指示它保证通过仅对特技播放AU解码能够获得对特技播放AU解码所需的PPS。例如,可以把该标记信息存储在诸如SPS和PPS之类的NAL单元的首部中的nal_ref_idc字段中,或定义另一种类型的NAL单元,SEI消息等中。在此,nal_ref_idc字段是2比特字段,被确定为取0值或1或对于每种类型的NAL单元更高的值。例如,诸如SPS和PPS之类的NAL单元取1或更高的值。因此,可以用作为1或更高的值中的任何一个指示标记信息。
另外,在随机存取单元RAU的第一个AU中,可以指示标记信息,指示存储对随机存取单元RAU的AU解码所需的所有PPS。
应该指出,虽然上面说明了PPS的存储方法,如果它在存取单元基础上的初始化信息,或用于更新由多个存取单元共同参考的初始化信息的信息,该信息可以是除PPS之外的信息。
应该指出,编码方法不限于MPEG-4 AVC,如果能够在特定单元更新初始化信息,也可以应用其它方法。
(变化)上述实施方式中的画面编码装置10判断目标AU是否是特技播放AU,并在判断目标AU是特技播放AU时把对特技播放AU解码要参考的PPS存储到特技播放AU中,或存储到按解码顺序在所述特技播放AU之前的特技播放AU中。
根据该变化的画面编码装置把对目标AU解码要参考的PPS存储在随机存取单元RAU的第一个AU中,或存储在参考PPS的AU本身中,而不判断该目标是否是特技播放AU。
在此,随机存取单元RAU的第一个AU是特技播放AU,以致能够正确和迅速地获得PPS,以便如果如上所述把PPS存储在第一个AU或参考该PPS的AU本身中时,即使在特技播放时,也能够对AU(画面)解码。
图14是显示根据该变化的画面编码方法的一部分过程的流程图。
与图9所示的画面编码方法相比。根据该变化的画面编码方法在步骤S103和S104的过程中存在区别。换句话说,根据该变化的画面编码方法执行图14中所示的步骤S1001和S1002的过程来代替图9所示的步骤S103和S104的过程。
具体地讲,画面编码装置判断目标AU的PPS是否是已经被存储在随机存取单元RAU的第一个AU中的PPS(步骤S1001)。
在此,在画面编码装置判断该PPS是已经被存储在第一个AU中的PPS的情况下(步骤S1001中为“是”),则执行图9中所示的步骤S105的过程,同时维持将PPS产生标记mk设置为0的状态。
另一方面,在画面编码装置判断该PPS不是已经被存储在第一个AU中的PPS的情况下(步骤S1001中为“否”),则将PPS产生标记设置为1(步骤S1002),并执行图9中所示的步骤S105的过程。
应该指出,在这种画面编码方法中,不需要预先在随机存取单元RAU的第一个AU中存储多个PPS。
在预先存储了多个PPS的情况下,把由目标AU参考的PPS与第一个AU中预先存储的多个PPS进行比较。然后,如果目标AU的PPS与该多个PPS中的任何一个都不同,把该PPS存储到目标AU本身中。
另一方面,在没有预先存储多个PPS的情况下,把由第一个AU参考的PPS存储在第一个AU中。同样,对于每个其它的AU,把由AU参考的PPS存储在该AU中。如果该AU参考的PPS与第一个AU中存储的PPS不同,也可以把该PPS存储到除第一个AU之外的每个AU中。
另外,可以把对随机存取单元RAU中包括的各个AU解码所参考的所有PPS存储在随机存取单元RAU的第一个AU中。这种情况下,例如,在对随机存取单元RAU中包括的所有画面进行编码或确定 随机存取单元RAU中所有画面的编码类型之后,画面编码装置把所有PPS存储在第一个AU中。应该指出,虽然能够将多个PPS存储在第一个AUZ6,随着第一个AU中存储的PPS的数量立即增加,解码时的处理负担也随之增加。因此,可以确定能够立即在第一个AU中存储的PPS的最大数量。可以根据组成随机存取单元RAU的画面的最大数量或考虑处理负担来确定该最大数量。例如,如果可在随机存取单元RAU中存储的帧的最大数量是15,可以确定PPS的最大数量为15。在此,由于该上限限制而把第一个AU中不能存储的PPS存储在参考该PPS的AU中。
此外,根据本方法,可以把被存储在跟随机存取单元RAU中的第一个AU之后的AU中的PPS的数量设置为0或1,以便能够有效地存储PPS。
因此,在该变化中,在产生的随机存取单元RAU中,把对每个AU解码所需的PPS存储在随机存取单元RAU的第一个AU中或AU本身中。因此,即使在从该随机存取单元RAU中包括的所有AU中选择和播放至少该头部AU的特技播放的情况下,通过正确和迅速地获得PPS能够多所选择的AU进行解码,而不会获得不到对所选择的AU进行解码所需的PPS。因此,能够进行平滑的特技播放。
(第二实施方式)图15是显示实现本发明的画面解码方法的画面解码装置的方框图。
在图中,与实现图6所示传统画面解码方法的画面解码装置中的组件执行相同操作的组件被赋予了相同的参考标号,并且在此省略对有关相同组件的详细说明。本画面解码装置与传统画面解码装置的区别是在诸如变速播放和反向播放之类的特技播放时,仅选择和解码特技播放AU。
除了传统画面解码装置的组件之外,本发明的画面解码装置20包括解码解码判断单元21。由根据第一实施方式的画面编码装置编码的MPEG-4 AVC流(AVC流st)被输入到画面解码装置20。
AU边界检测单元28检测AU的边界,分离AU,获得用于判断是否对每个分离的AU进行解码所需的判断信息1st,并把获得的判断信息1st输出到解码判断单元21。在特技播放时,向解码判断单元21输入特技播放命令。
在输入特技播放trkply时,解码判断单元21根据判断信息1st来判断该AU是否的特技播放AU,当该AU是特技播放AU时,向AU边界检测单元28输出解码命令sw。应该指出,在解码和显示所有AU的正常播放时,不输入特技播放trkply,解码判断单元21向所有AU输出解码命令sw。
AU边界检测单元28接收解码命令sw,输出对每个组件解码所需的信息。具体地讲,向PPS获得单元23输出PPS的NAL单元PPSnal,和当PPS的NAL单元被包括在AU中时,向解码信息获得单元25输出其它NAL单元。应该指出,仅在向解码判断单元21输入特技播放命令trkply的情况下,可以向解码判断单元21输入判断信息1st。
图16是显示画面解码装置20对一个AU的数据解码时进行的操作的流程图。
首先,在步骤S401,画面解码装置20确定是否对AU解码。在特技播放时,判断该AU是否是特技播放AU,仅当该AU是特技播放AU时确定对该AU解码。应该指出,画面解码装置20判断随机存取单元RAU的第一个AU是肯定是在特技播放时的特技播放AU。在正常播放时,确定对所有AU解码。
在步骤S402,当在步骤S401确定对该AU解码的时,画面解码装置20转到步骤S402,而在判断不对该AU解码时终止该过程。在步骤S403,画面解码装置20搜索SPS的NAL单元,如果检测到SPS的NAL单元,则在步骤S404获得SPS的数据,如果未检测到SPS的NAL单元,则转到步骤S405。在步骤S405,画面解码装置20搜索PPS的NAL单元,如果检测到PPS的NAL单元,则在步骤S406获得PPS的数据,如果未检测到PPS的NAL单元,则转到步骤S407。在步骤S407,画面解码装置20分离片段数据的NAL单元,并根据从本AU之前的AU获得的SPS和PPS的数据,或者是按解码顺序在随机存取单元RAU中的数据,对片段数据进行解码。
在此,在确定判断信息1st的情况下,可以从AVC流中诸如在存取单元分隔符中指示画面类型的primary_pic_type的值,在片段首部中指示片段类型slice_type的值,或在诸如SPS、PPS和片段之类的NAL单元中的nal_ref_idc字段的值之类的每个信息来确定判断信息1st,或在提供特技播放AU的列表信息时根据该信息来确定判断信息。另外,可以从数据库信息中以用于把AVC流记录到诸如光盘之类的记录介质上的复用格式指示的信息来进行确定。
应该指出,为了处理AVC流的输入不保证能够从特技播放AU获得对特技播放AU解码所需的PPS的情况,画面解码装置可以搜索、获得和保持用于除特技播放AU之外的AU的PPS。不需要针对那些AU来分析片段数据的NAL单元或片段数据中的宏块数据。
(第三实施方式)图17是显示多路复用由本发明的画面编码装置输出的AVC流st,把复用的流记录到诸如光盘和硬盘之类的记录介质上的多路复用器的方框图。
多路复用器30包括画面编码单元10,存储器32,流分析单元31,数据库信息产生单元33,多路复用单元34和存储单元35。在此,画面编码单元10与根据本发明第一实施方式的画面编码装置相同。
画面编码单元10通过压缩和编码输入的运动画面数据Vin来产生AVC流,并把AVC流记录到存储器32。
流分析单元31读出存储器32中记录的AVC流数据out1,获得和分析AU的解码和显示时间,指示AU是否在随机存取单元RAU的第一个AU的信息,或有关画面尺寸和视频格式等信息,并把分析结果STinf输出到数据库信息产生单元33。
数据库信息产生单元33根据分析结果Stinf产生数据库信息Db,并把数据库信息Db输出到多路复用单元34。数据库信息Db包括对AVC流st的存取信息,诸如视频格式和宽高比之类的属性,和播放列表信息。
多路复用单元34将管理信息Db与从存储器32读出的AVC流数据out2进行复用,产生复用数据Mux,并把复用数据Mux输出到存储单元35。虽然假设多路复用方法是由蓝光盘(BD)的只读格式和可重写格式标准化的格式,也可以是诸如DVD或HD-DVD中定义的方法之类的其它多路复用方法,和支持作为MPEG标准化的文件格式的MP4的方法。应该指出,在只读格式和可重写格式中,把MPEG-4 AVC的编码流分组化到MPEG-2,然后多路复用。
另外,应该指出,可以把标记信息存储在多路复用数据的数据库信息中,该标记信息指示通过仅对特技播放AU解码能够获得对特技播放AU解码所需的PPS,或者,可以把指示随机存取单元RAU中的所有PPS存储在随机存取单元RAU的第一个AU中的标记信息存储到多路复用数据的数据库信息中。
(第四实施方式)特技功能功能对播放分组化介质的光盘装置特别重要。首先,在作为下一代光盘的蓝光盘(BD)中,说明记录根据第三实施方式的多路复用装置的复用数据Mux的实施例。
首先,说明BD-ROM的记录格式。
图18是指示BD-ROM的结构,特别是作为盘介质的BD盘104的结构,和存储在盘中的数据的示意图。存储在BD盘104中的数据包括AV数据103,诸如有关AV数据和AU播放顺序的数据库信息之类的BD数据库信息102,和实现互动性的BD播放程序101。在本实施方式中,为了说明的目的,将BD盘的说明集中于用于播放电影的AV内容的AV应用,然而,在其它使用中是同样的。
图19是显示存储在上述BD盘中的逻辑数据的目录文件的结构示意图。例如,如同DVD、CD等一样,BD盘具有从其内周到其外周呈螺旋状的记录区,并具有在内周的读入和外周的读出之间的、用于存储逻辑数据的逻辑地址空间。此外,在读入内侧,具有叫作脉冲分割区(Burst CuttingArea)(BCA)的,只能由驱动器读出的专用区。由于这个区不能从应用读出,所以可以将它用于,例如,版权保护技术。
在逻辑地址空间,记录诸如由最终系统信息(卷)引导的视频数据之类的应用数据。如背景技术中所述,文件系统是UDF,ISO9660等等。它允许如同正常个人计算机PC的情况一样读出利用目录结构或文件结构存储的逻辑数据。
在该实施方式中,作为BD盘上的目录结构和文件结构,BDVIDEO目录紧接着根目录(ROOT)之下放置。在该目录中,存储诸如AV内容或在BD中处理的数据库信息(图18中说明的101,102和103)之类的数据。
在BDVIDEO目录之下,记录着以下七种类型的文件。
(i)BD.INFO(文件名是固定的)作为“BD数据库信息”之一的文件,并且将有关BD盘的信息作为整体记录在文件中。BD播放器首先读出这个文件。
(ii)BD.PROG(文件名是固定的)作为“BD播放程序”之一的文件,并且将有关BD盘的播放控制信息作为整体记录在文件中。
(iii)XXX.PL(“XXX”是可变的,而扩展名“PL”是固定的)作为“BD数据库信息”之一的文件,并且是存储作为脚本(播放序列)的播放列表信息的文件。每个播放列表具有一个文件。
(iv)XXX.PROG(“XXX”是可变的,而扩展名“PROG”是固定的)作为“BD播放程序”之一的文件,并且是存储根据播放列表准备的播放控制信息的文件。对应播放列表是根据文件体名(“XXX”的匹配)识别的。
(v)YYY.VOB(“YYY”是可变的,而扩展名“VOB”是固定的)作为“AV数据”之一的文件,并且是存储VOB(与背景技术中说明的VOB相同)的文件。每个VOB具有一个文件。
(vi)YYY.VOBI(“YYY”是可变的,而扩展名“VOBI”是固定的)作为“BD数据库信息”之一的文件,并且是存储有关作为AV数据的VOB的流管理信息的文件。对应播放列表是根据文件体名(“YYY”的匹配)识别的。
(vii)ZZZ.PNG(“ZZZ”是可变的,而扩展名“PNG”是固定的)作为“AV”数据之一的文件,并且是存储用于构成副标题和菜单的图像数据PNG(这是由V3C标准化的画面格式,念作“ping”)的文件。每个PNG图像具有一个文件。
参考图20至图25说明BD导航数据的结构(BD数据库信息)。
图20是显示VOB数据库信息文件(“YYY.VOBI”)的内部结构的示意图。
VOB数据库信息具有所述VOB的流属性信息(Attribute)和时间映射表(TMAP)。流属性具有视频属性(Video)和音频属性(Audio#0至Audio#m)。更具体地讲,在音频流的情况下,由于VOB同时具有多个音频流,所以通过音频流的号码(Number)来指示数据字段的存在或不存在。
下面给出视频属性(Video)的字段及其值。
压缩方法(编码)MPEG1MPEG2MPEG3MPEG4(高级视频编码)分辨率1920×10801440×10801280×720720×480720×565宽高比4比316比9。
帧速率
6059.94(60/1.001)503029.97(30/1.001)252423.976(24/1.001)。
以下是音频属性(Audio)的字段及其值压缩方法(Coding)AC3MPEG1MPEG2LPCM。
声道号(Ch)1至8。
语言属性(Language)时间映射表(TMAP)是具有每个VOBU的信息的表,并且包括由所述VOB保持的VOBU数量(Number)和每个VOBU信息(VOBU#1至VOBU#n)。每个VOBU信息由作为VOBU最前端TS数据分组(I画面开始)的地址I_start,和直到I画面的结束地址的偏离地址(I#end),和I画面的播放开始时间(PTS)构成。
图21是说明VOBU信息的详细情况的示意图。
众所周知,由于可以对MPEG视频流执行可变比特率压缩以便高质量地记录视频流,所以播放时间与数据大小之间没有简单的对应关系。相反,由于在作为音频压缩标准的AC3中执行固定比特率压缩,所以可以从初等表达式获得时间与地址之间的关系。但是,在MPEG视频数据的情况下,每个帧具有固定的显示时间,例如,在NTSC情况下,一个帧具有1/29.97秒的显示时间,但是根据图像特征,或压缩中使用的画面类型,具体地讲I/P/B画面,压缩每个帧之后的数据大小极大地改变。因此,在MPEG视频的情况下,不能利用初等表达式表示时间与地址之间的关系。
事实上,不能以初等表达式的形式来描述通过多路复用MPEG视频数据而获得的MPEG系统流中。具体地讲,VOB也不能以初等表达式来描述时间与数据大小。因此,在VOB中用时间映射表(TMAP)将时间与地址联系在一起。
因此,在给出了时间信息的情况下,首先搜索时间所属的VOBU(跟随每个VOBU的PTS),使紧挨着该时间之前的PTS跳到具有TMAP的VOBU(由I_start指定的地址),从该VOBU的最前端I画面开始解码,并且从所述时间的画面开始显示画面。
接下来,参考图22说明播放列表信息(“XXX.PL”)的内部结构。
播放列表信息由单元列表(CellList)和事件列表(EventList)组成。
单元列表(CellList)是播放列表中的播放序列,并且单元以这个列表中指示的顺序来播放。单元列表(CellList)的内容包括单元号(Number)和每个单元的信息(Cell#1至Cell#n)。
单元信息(Cell#)具有VOB文件名(VOBName),该VOB中的开始时间(In)和结束时间(Out),和副标题表(SubtitleTable)。在每个VOB中由帧号描述开始时间(In)和结束时间(Out)。利用时间映射(TMAP)可以获得播放所需的VOB数据的地址。
副标题表(SubtitleTable)是具有与VOB同步播放的副标题信息的表。如同音频的情况一样,副标题可以具有多种语言,副标题表(SubtitleTable)的第一信息包括语言号(Number)和随后为每种语言准备的表(Language#1至Language#k)。
每个语言表(Language#)包括语言信息(Lang),要独立显示的副标题信息的号(Number),和副标题的副标题信息(Speech#1至Speech#j)。副标题信息(Speech#)包括图像数据文件名(Name),副标题显示开始时间(In),副标题显示结束时间(Out),和副标题显示位置(Position)。
事件列表(EventList)是定义播放列表中发生的每个事件的表。事件列表包括跟在事件号(Number)后的各个事件(Event#1至Event#m)。每个事件(Event#)包括事件类型(Type),事件ID(ID),事件发生时间(Time),和事件持续时间(Duration)。
图23是具有为每个播放列表准备的事件处理程序(用于菜单选择的时间事件和用户事件)的事件处理程序表(“XXX.PROG”)。
事件处理程序表包括定义的事件处理程序/程序号(Number),和相应的事件处理程序/程序(Program#1至Program#n)。每个事件处理程序/程序(Program#)的内容具有事件处理程序的开始的定义(<event_handler>tag)和与事件组成对的事件处理程序ID。其后是跟随在函数(Function)后面的波形括号“{”and“}”之间说明的程序。存储在“XXX.PL”的事件列表(EventList)中的事件(Event#1至Event#m)是利用事件处理程序的ID指定的。
接下来,参考图24说明有关整个BD盘的信息(“BD.INFO”)的内部结构。
BD盘的整个信息包括标题列表(TitleList)和全局事件的事件表(EventList)。
标题列表(TitleList)包括盘的标题号(Number)和跟随在后的每个标题信息(Title#1至Title#n)。每个标题信息(Title#)包括被包括在标题中的播放序列表(PLTable),和标题中的章列表(ChapterList)。播放序列表(PLTable)包括标题中的播放列表的号(Number),和作为播放列表的文件名的播放列表名(Name)。
章列表(ChapterList)包括被包括在标题中的章号(Number)和各个章信息(Chapter#1至Chapter#n)。每条章信息(Chapter#)包括被包括在该章中的单元表(CellTable)。单元表(CellTable)包括单元号(Number)和各个单元项信息(CellEntry#1至CellEntry#k)。单元项信息(CellEntry#)包括播放列表名,播放列表名包括该播放列表中的单元和单元号。
事件列表(EvenList)包括全局事件号(Number)和各个全局事件。应当注意,首先定义的全局事件被称作第一事件(FirstEvent),并且是BD插入播放器后首先调用的事件。全局事件的事件信息仅有一个事件类型(Type)和一个事件ID(ID)。
图25示出全局事件处理程序的程序的表(“BD.PROG”)。该表的内容与图23中说明的事件处理程序表的内容相同。
在这种BD-ROM格式中,在存储从画面编码单元10输出AVC流st的情况下,VOBU由一个或多个随机存取单元RAU组成。
应该指出,在复用到BD-ROM中的MPEG-4 AVC流中,可以把指示保证通过仅对特技播放AU解码能够获得对特技播放AU解码所需的PPS的标记信息,或指示把随机存取单元RAU中的所有PPS存储在随机存取单元RAU的头部AU中的标记信息存储在BD数据库信息中。
应该指出,诸如EP映射之类的存取信息可以被存储在表中,作为二进制数据,或者可以是诸如可扩展标记语言(XML)之类的文本信息。
(第五实施方式)图26是大致示出播放第四实施方式记录到BD盘的数据的播放器的功能结构的方框图。
通过光拾取头202读出BD盘201上记录的数据。根据数据的各种类型,将读出的数据传送到专用存储器。将BD播放程序(“BD.PROG”或“XXX.PROG”文件的内容),BD数据库信息(“BD.INFO”,“XXX.PL”或“YYY.VOBI”),和AV数据(“YYY.VOB”或“ZZZ.PNG”)分别传送到程序记录存储器203,数据库信息记录存储器204,AV记录存储器205。
程序处理单元206,数据库信息处理单元207,和显现处理单元208分别处理记录在程序记录存储器203中的BD播放程序,数据库信息记录存储器204中记录的BD数据库信息,和AV记录存储器205中记录的AV数据。
程序处理单元206处理用于接收有关管理信息处理单元207要播放的播放列表的信息,和诸如执行程序的时序之类的事件信息的程序。另外,程序能够动态地改变要播放的播放列表。这种情况下,可以通过将播放该播放列表的指令发送到管理信息处理单元207来实现。程序处理单元206接收来自用户的事件,具体地说,从遥控器按键发送的请求,并且如果有应于用户事件的程序,则执行该事件。
数据库信息处理单元207接收程序处理单元206的指令,分析对应的播放列表和与播放列表对应的VOB的数据库信息,并指令显现处理单元208播放目标AV数据。另外,数据库信息处理单元207接收来自显现处理单元208的标准时间信息,根据时间信息指令显现处理单元208停止播放AV数据,管理信息处理单元207还产生一个事件,向程序处理单元206指示程序执行定时。
显现处理单元208具有分别对应于视频、音频、副标题/图像(静止画面)的解码器。每个解码器根据从数据库信息处理单元207发送的指令对AV数据解码,并输出解码的AV数据。在视频数据,副标题和图像被解码后,将它们分别描述在特定平面,视频平面210和图像平面209上。此后,合成处理单元211合成该图像,并输出到诸如电视之类的显示装置。
在诸如变速播放和反向播放时,显现处理单元208翻译用户请求的变速播放和反向播放操作,并将指示播放方法的信息通知给数据库信息处理单元207。数据库信息处理单元207将播放方法通知给显现处理单元208。显现处理单元208根据用于指定VOBU中存储的特技播放AU的信息来检测特技播放AU,确定要解码和显示的AU,以满足由用户指定的特技播放操作。例如,当仅解码和显示I画面和P画面的AU时,显现处理单元208根据存取单元分隔符、片段首部、和NAL单元的首部中包括的识别信息等来检测I画面和P画面的AU。下面说明确定特技播放AU的方法。
首先,说明通过参考存取单元分隔符来确定特技播放AU的方法。存取单元分隔可以给出组成AU的片段数据的类型(primary_pic_type字段)。因此,对于I画面、P画面或B画面的各个AU,通过指定的AU各个类型能够确定特技播放时解码的。
接下来,在片段首部中,能够给出片段数据的类型(slice_type字段)。在此,可以在slice_type字段中设置指示AU中的所有片段数据为相同类型的值。例如,如果在组成AU的一个仲裁片段数据中slice_type是7,这表明该AU中的所述片段和其它片段全是I片段。同样,定义该值以指示如果slice_type是5,则表明该AU中的所有片段是P片段;如果slice_type是6,则表明该AU中的所有片段是B片段。假设在编码时仅使用slice_type为5、6和7中的任何一个的片段,通过分析该AU的第一个片段的片段类型来确定特技播放时要解码的AU。应该指出,即使slice_type是除5、6和7之外的值,也能够通过分析AU中所有片段的slice_type来确定特技播放时要解码的AU。
接下列,在根据NAL单元的首部进行确定时,通过设置I画面、P画面和B画面的不同字段值为诸如片段之类的NAL单元中的nal_ref_idc字段的值,能够确定特技播放时要解码的AU。
另外,在随机存取单元RAU中包括指示有关特技播放和SEI消息的信息的NAL单元时,可以根据该信息确定特技播放时要解码的AU。
应该指出,当数据库信息中包括用于指定特技播放AU的信息,数据库信息处理单元207能够确定要解码和显示的AU。
此外,在数据库信息或VOBU中已经存储了标记信息,该标记信息指示通过仅对特技播放AU解码能够获得对特技播放AU解码所需的PPS的情况下,可以根据标记信息切换获得PPS的方法。在此,如果已经设置了该标记,仅从特技播放AU获得PPS,而如果仍没有设置该标记,也获得除特技播放AU之外的AU中存储的PPS。
应该指出,在上述实施方式中,编码方法不限于MPEG-4 AVC,也可以应用其它方法,只要它们是可应用于类似处理的编码方法。
此外,可以将诸如EP映射之类的存取信息存储在表中作为二进制数据,或呈可以是诸如可扩展标记语言(XML)之类的文本格式。
(第六实施方式)另外,通过把用于实现上述实施方式中的每一个给出的运动画面编码方法和运动画面解码方法的程序记录到诸如软盘之类的记录介质上,能够很容易地在独立的计算机系统中执行上面各个实施方式中给出的处理。
图27A、27B和27C是显示计算机系统如何使用诸如软盘之类的记录介质中记录的程序来执行上述实施方式中的运动画面编码方法和运动画面解码方法的情况的示意图。
图27B示出了软盘的前视图和截面图,以及软盘本身。图27A示出了作为记录介质本身的软盘的物理格式的例子。软盘(FD)容纳在外壳F中,从盘的外周到内周在盘的表面上同心地形成有多个轨道(Tr),并且每个轨道在角度方向上被分割成16个扇区。因此,在软盘存储上述程序的情况下,程序被存储在软盘FD上分配给它的区中。另外,图27C示出了记录和播放软盘上的程序的结构。在把程序记录在软盘FD上时,计算机系统Cs通过软盘驱动器写入运动画面编码方法和运动画面解码方法作为软盘上的程序。在利用软盘中记录的程序在计算机系统中构造上述运动画面编码方法和运动画面节目方法时,通过软盘驱动器从软盘读出程序,并将它发送到计算机系统。
应当注意,上述说明是假设记录介质是软盘来进行的,但是,也可以使用光盘执行相同的过程。此外,记录介质不限于此,也可以使用诸如IC卡,ROM盒之类的任何其它记录介质,只要它能够记录程序。
至此,根据上述各种实施方式说明了根据本发明的画面编码装置,画面解码装置,多路复用装置,BD盘播放器等。然而,本发明不限于这些实施方式的揭示。本发明包括熟悉本领域的人员根据这些实施方式可以想到的各种改变,并且这些改变在本发明的技术主题的范围内。
例如,本发明包括没有提到的光盘记录装置,视频传送装置,数字电视广播发射装置,web服务器,通信装置,蜂窝电话信息终端等,上述装置包括本实施方式中的画面编码装置和多路复用装置之一,以及本发明包括视频接收装置,数字电视广播接收装置,通信装置,蜂窝电话信息终端等,上述装置包括本实施方式的画面解码装置。
应当注意,方框图(例如图8和图15)中的各功能块一般以作为集成电路的大规模集成电路的LSI来实现。功能块可以分别制成为芯片,或者可以以包括一部分或全部功能块的方式集成到一个芯片中(例如,可以将除了存储器之外的功能块集成到一个芯片)。
在这里,使用LSI,根据集成度,可以称之为集成电路(IC)、系统LSI、超LSI、或超大LSI。
此外,制造成集成电路的方法不限于此,也可以通过专用电路或通用处理器来实现。此外,在构成LSI之后,可以使用下列设备能够编程的可现场编程门阵列(FPGA);和能够重新配置LSI中的电路单元的连接或设置的重配置处理器,此外,在半导体技术进一步发展或出现了任何派生技术,导致可以考虑替代LSI的集成电路制造方法时,自然可以用这种技术集成这些功能块。生物技术的应用是有可能的。
此外,作为另一种结构,可以分开在功能块中存储要编码或解码的数据的单元,而不是集成在一个芯片中。
尽管以上仅详细说明了本发明的示例实施方式,熟悉本领域的人员应当知道,可以对示例实施方式进行多种修改而不脱离本发明的新的教导和优点。因此,所有这些修改包括在本发明的范围内。
工业实用性本发明的画面编码方法具有即使在诸如高速播放之类的特技播放时失单地获得解码所需的画面参数集和对画面解码的效果。可以应用于具有诸如变速播放和反向播放之类使用MPEG-4 AVC流的特技播放功能的一般装置,另外,它们对集中特技播放功能的设备有关光盘特别有效。
权利要求
1.一种画面编码装置,在逐画面的基础上对画面编码,并产生随机存取单元作为流的一部分,所述随机存取单元包括编码的画面,所述装置包括编码单元,用于通过在逐画面基础上对画面进行编码来产生编码画面数据条目;第一信息产生单元,用于产生作为对所有编码画面数据条目进行解码要参考的参数组的序列参数集信息;第二信息产生单元,用于产生画面参数集信息条目,每个信息条目是对每个编码画面数据条目进行解码要参考的参数组;第一存储单元,用于把编码画面数据条目分别存储到组成随机存取单元的存取单元中;第二存储单元,用于把序列参数集信息存储到位于随机存取单元头部的第一存取单元中;和第三存储单元,用于把每个画面参数集信息条目存储到随机存取单元的第一存取单元中,或存储到其中存储了参考画面参数集信息条目的编码画面数据条目的存取单元中。
2.根据权利要求1所述的画面编码装置,其中所述第三存储单元i)把画面参数集信息条目存储到所述第一存取单元,和在与由所述第二信息产生单元产生的画面参数集信息条目之一相同的画面参数集信息条目未被存储到所述第一存取单元中的情况下,ii)把画面参数集信息条目存储到其中存储了参考画面参数集信息条目的编码画面数据条目的存取单元中。
3.根据权利要求1所述的画面编码装置,其中所述第三存储单元把对所述第一存取单元中存储的编码画面数据条目进行解码而要参考的画面参数集信息条目存储在所述第一存取单元中。
4.根据权利要求1所述的画面编码装置,其中所述第三存储单元把画面参数集信息的所有条目存储到所述第一存取单元中,参考画面参数集信息的每个条目以便对随机存取单元的各个存取单元中存储的编码画面数据的每个条目进行解码。
5.根据权利要求1所述的画面编码装置,其中所述第三存储单元把由所述第二信息产生单元产生的画面参数集信息的条目中预定数量的画面参数集信息条目存储到所述第一存取单元中,和把除预定数量的画面参数集信息条目之外的剩余画面参数集信息条目存储到其中存储了参考画面参数集信息条目的编码画面数据条目的存取单元中。
6.一种画面解码装置,从流中获得包括编码画面的随机存取单元,每个编码画面被存储在各个存储单元中作为编码画面数据的条目,和在逐画面的基础上对编码画面数据的条目进行解码,所述装置包括画面规定单元,用于规定要从编码画面数据的条目解码的编码画面数据条目的一部分,以便规定存储在位于随机存取单元头部的第一存取单元中的编码画面数据的条目;第一获得单元,用于从所述第一存取单元获得作为对编码画面数据的所有条目进行解码而要参考的参数组的序列参数集信息;第二获得单元,用于从所述第一存取单元或其中存储了要被解码的编码画面数据的条目的存取单元中,获得作为对要解码的编码画面数据的条目进行解码而要参考的参数组的画面参数集信息;和解码单元,用于通过参考所述序列参数集信息和所述画面参数集信息,对要被解码的编码画面数据的条目进行解码。
7.一种多路复用装置,多路复用信息条目和把多路复用的信息条目记录到记录介质中,所述装置包括根据权利要求1所述的画面编码装置;分组化单元,用于把包括由所述画面编码装置产生的随机存取单元的流分成数据包;多路复用单元,通过管理信息与数据包流进行多路复用而产生多路复用数据,所述管理信息是从数据包流中分离每个画面的信息所需的;和记录单元,用于把所述多路复用单元产生的多路复用数据记录到记录介质上。
8.一种集成电路,对画面条目进行编码并产生包括编码画面条目的随机存取单元,所述集成电路包括编码单元,用于通过在逐画面基础上对画面进行编码来产生编码画面数据条目;第一信息产生单元,用于产生作为对所有编码画面数据条目进行解码而要参考的参数组的序列参数集信息;第二信息产生单元,用于产生画面参数集信息条目,每个信息条目是对每个编码画面数据条目进行解码要参考的参数组;第一存储单元,用于把编码画面数据条目分别存储到组成随机存取单元的存取单元中;第二存储单元,用于把序列参数集信息存储到位于随机存取单元头部的第一存取单元中;和第三存储单元,用于把每个画面参数集信息条目存储到随机存取单元的第一存取单元中,或存储到其中存储了参考画面参数集信息条目的编码画面数据条目的存取单元中。
9.一种流,具有作为流的一部分的随机存取单元,所述随机存取单元包括作为编码画面数据条目的编码画面条目,其中所述随机存取单元包括在组成所述随机存取单元的存取单元中分别存储的编码画面随机条目;对画面编码数据的所有条目进行解码而要参考的序列参数集信息,所述序列参数集信息被存储在位于所述随机存取单元的头部的第一个存取单元中;和画面参数集信息条目,每个画面参数集信息条目是对画面编码数据的每个条目进行解码而要参考的参数组,所述画面参数集信息的每个条目被存储在所述随机存取单元的第一个存取单元中,或存储在其中存储了参考画面参数集信息条目的画面编码数据条目的存取单元中。
10.一种画面编码方法,对画面进行编码并产生作为流的一部分的随机存取单元,所述随机存取单元包括编码画面数据条目,所述方法包括通过在逐画面的基础上对画面进行编码来产生编码画面数据;产生序列参数集信息,所述序列参数集信息作为对编码画面数据的所有条目进行解码而要参考的参数组;产生画面参数集信息条目,每个信息条目是对每个编码画面数据条目进行解码要参考的参数组;把编码画面数据条目分别存储到组成随机存取单元的存取单元中;把序列参数集信息存储到位于随机存取单元头部的第一存取单元中;和把每个画面参数集信息条目存储到随机存取单元的第一存取单元中,或存储到其中存储了参考画面参数集信息条目的编码画面数据条目的存取单元中。
11.一种画面解码方法,从流中获得包括编码画面条目的随机存取单元,每个编码画面条目被存储在各个存取单元中,作为编码画面数据条目,所述方法包括从编码画面数据条目指定要解码的编码画面数据条目的一部分,以便指定位于随机存取单元头部的第一存取单元中存储的编码画面数据条目;从第一存取单元获得序列参数集信息,所述序列参数集信息作为对编码画面数据的所有条目进行解码而要参考的参数组;从第一存取单元或其中存储了要被解码的编码画面数据条目的存取单元中获得画面参数集信息,所述画面参数集信息作为对要被解码的编码画面数据条目进行解码而要参考的参数组;和通过参考序列参数集信息和画面参数集信息对要被解码的编码画面数据条目进行解码。
12.一种程序,用于在逐画面的基础上对画面进行编码并产生随机存取单元作为流的一部分,所述随机存取单元包括编码画面,所述程序使计算机执行通过在逐画面的基础上对画面进行编码来产生编码画面数据;产生序列参数集信息,所述序列参数集信息作为对编码画面数据的所有条目进行解码而要参考的参数组;产生画面参数集信息条目,每个信息条目是对每个编码画面数据条目进行解码而要参考的参数组;把编码画面数据条目分别存储到组成随机存取单元的存取单元中;把序列参数集信息存储到位于随机存取单元头部的第一存取单元中;和把每个画面参数集信息条目存储到随机存取单元的第一存取单元中,或存储到其中存储了参考画面参数集信息条目的编码画面数据条目的存取单元中。
13.一种程序,用于从流中获得包括编码画面条目的随机存取单元,每个编码画面条目被存储在各个存取单元中,作为编码画面数据条目,所述程序使计算机执行从编码画面数据条目指定要解码的编码画面数据条目的一部分,以便指定位于随机存取单元头部的第一存取单元中存储的编码画面数据条目;从第一存取单元获得序列参数集信息,所述序列参数集信息作为对编码画面数据的所有条目进行解码而要参考的参数组;从第一存取单元或其中存储了要被解码的编码画面数据条目的存取单元中获得画面参数集信息,所述画面参数集信息作为对要被解码的编码画面数据条目进行解码而要参考的参数组;和通过参考序列参数集信息和画面参数集信息对要被解码的编码画面数据条目进行解码。
全文摘要
一种画面编码装置(10),产生流,以便能够通过获得即使在特技播放时对画面解码所需的画面参数集而对画面进行解码,所述装置包括片段编码单元(11),对画面进行编码并产生编码数据;画面参数集(PPS)产生单元(13),产生序列参数集(SPS);PPS产生单元(16),产生PPS;和存取单元(AU)确定单元(17),把编码数据条目分别存储到随机存取单元(RAU)的存取单元中,和把SPS存储的第一AU中,和把PPS存储到第一AU或其中存储了参考PPS的编码数据的一个条目的AU中。
文档编号G11B27/32GK1965574SQ20058001814
公开日2007年5月16日 申请日期2005年6月1日 优先权日2004年6月2日
发明者远间正真, 角野真也, 冈田智之 申请人:松下电器产业株式会社