视频编码设备以及视频编码方法

文档序号:7944354阅读:189来源:国知局
专利名称:视频编码设备以及视频编码方法
技术领域
本发明涉及一种通过预先调查事先以可变比特率编码的数据的比特率的改变,能够高 效地设定将被多路复用的视频数据的传输比特率,并且能够实现高质量的可变比特率控制 的视频编码设备以及视频编码方法。
背景技术
已经被开发出一种随机多路复用控制设备,该设备以给定的多路复用传输比特率同 时对多个通道的视频数据进行编码,并且优化通道之间的比特率的分配,以将视频数据 多路复用(JP-A 2001-359094 (KOKAI),以及JP-A 2002-58022 (KOKAI))。
将被多路复用的数据不仅仅是视频数据,也可以是音频数据。特别是近年来,诸如 DolbyTrueHD和DTSHD的对音频进行无损可变长度压縮的编解码器在作为下一代的 DVD标准的HD DVD中被釆用,并且音频数据与视频数据一起被多路复用并被记录在HD DVD碟片上。
传统的随机的多路复用控制基于实时处理,并能够调整通道之间的编码比特数,但 是有在时间轴方向上不被优化的问题。当视频数据与将被进行无损可变长度编码的音频 数据一起被多路复用时,不可能调整音频数据的编码比特数。从而像传统的随机的多路 复用控制一样难以将视频数据与无损的音频数据一起充分地多路复用。在无损的音频数 据中比特率是可变的。在这种情况下,无损的音频比特率占据传输比特率,剩下的传输 比特率被分派给视频数据。因此,其中无损的音频的比特率更高的部分,换言之,其中 视频的比特率低的部分不能被有效地使用。
本发明的目的在于提供一种通过分析编码数据的比特率在无损的音频被编码时如何 波动,并基于分析的信息动态设定视频数据的传输比特率的用于对视频进行编码的视频 编码设备以及视频解码方法。

发明内容
本发明的一个方面提供一种视频编码设备,该视频编码设备包括从在解码时间方向 上通过分割输入编码数据得到的多个时间间隔中的每一个时间间隔的编码比特数计算输入编码数据每个时间间隔的输入比特率的计算器,所述输入编码数据包括事先以可变比特率编码的可变比特率编码数据;通过从第一传输比特率减去输入比特率计算每个时间间隔的第二传输比特率的计算器;以及根据第二传输比特率将视频数据编码以输出编码数据的编码器。


图l是说明根据第一实施例的基于可变比特率的视频编码器及其输入和输出数据的框图。
图2是说明根据第一实施例的视频编码器的用于对其生成输入数据的操作的流程图。图3是用干说明以AII为单位计算比特率的图。图4是用于说明在给定的时间间隔中计算比特率的图。图5是用于说明计算视频的传输比特率的图。图6是说明第一实施例的变形例的操作的流程图。
图7是说明根据第二实施例的基于可变比特率的视频编码器及其输入和输出数据的框图。
图8是说明根据第二实施例的视频编码器的用于对其生成输入数据的操作的流程图。图9是说明多路复用的数据的分配以及空白的图。
具体实施例方式
下面将连同附图描述本发明的实施例。(第一实施例)
视频编码设备包括视频编码器101、无损音频编码器102、有损音频编码器103、子图像编码器104和传输比特率计算器105。视频编码器101被连接至视频源107,并且在基于由传输比特率计算器105给出的传输比特率执行可变比特率控制的同时,将输入视频数据编码并输出视频数据。无损音频编码器102被连接至音频源(英语)108,并且使用无损可变比特率编码将输入音频(英语)编码以输出英语数据。有损音频编码器103被连接至音频源(西班牙语)109和音频源(法语)110,并且使用有损恒定比特率编码将输入音频(西班牙语,法语)编码以输出西班牙语数据和法语数据。子图像编码器104被连接至子图像源111,并且将输入的子图像编码以输出子图像数据。
传输比特率计算器105测量事先编码的数据的比特率(即,无损英语音频数据,有损西班牙语音频数据、法语音频数据,子图像数据),并对视频编码器101设定目标传输比特率。数据多路复用器106将视频数据、音频数据和子图像数据多路复用,并输出多路复用的数据(视频+音频+子图像)。用于该多路复用的系统可以是MPEG2 PS (程序流)或者MPEG2TS (传送流)。
在本实施例中事先编码的数据包括如上所述的无损音频数据,两个有损音频数据和一个子图像数据,但是本发明不限于这些数据的组合以及它们的数量。
下面将参照图2描述根据本实施例的视频编码设备基于可变比特率的操作。无损音频编码器102接收输入数据(英语)并将其编码(步骤201)。存在各种无损音频编码方法,诸如DolbyTrueHD、 DTSHDMasterAudio和线性PCM。在本实施例中,当存在以可变比特率编码的数据时,假定DolbyTrueHo或者DTSHD被用来优化视频数据的传输比特率。
在将视频数据编码之前确认是否存在其他数据(步骤202)。在本实施例中,由于剩下的数据包括两个音频和一个子图像,因此继续将这些数据编码(步骤201)。换句话说,有损音频编码器103接收输入数据(西班牙语和法语)并将其编码。存在各种有损音频编码方法,诸如AC-3、 MP 3,但这里假定采用以恒定比特率将数据编码的方法,并且不具体地限制编解码器。子图像编码器104接收输入数据(隐藏式字幕数据,closed caption data)并将其编码(步骤201)。如果除了视频数据以外所有的数据已经被处理,处理前进至接下来的处理(步骤203)。
传输比特率计算器105计算编码数据的组合(一个无损音频,两个有损音频, 一个子图像)的比特率。对于音频的比特率,如果以AU (存取单元)为单位的编码比特数在时间轴方向上被绘制,则容易地提供如图3 (A)中所示的在最小的时间间隔中的比特率的改变。同时,对于子图像,因为显示计时(或者解码计时)在时间轴中是不连续的,当编码比特数以AU为单位简单地绘制时,比特率的改变如图3 (B)所示是不连续的。当通过将这些比特率简单地组合计算比特率时,计算出如图3 (C)所示的大的不平坦的比特率。
上述计算在小单位中的比特率的计算方面没有向题。然而,当假定视频编码器101基于在该比特率处最后计算的传输比特率实施可变比特率控制时,比特率的变化间隔的单位太小。举例来说,如果视频编码器101的编码方案是H.264,根据传输比特率的改变以具有SPS (序列参数集,Sequence Parameter Set)的图像为单位来控制CPB (编码图像缓冲器,Coding Picture Buffer)。通常,SPS被包括在I图像中,并且通常以0.5秒的间隔存在以便对于随机存取等等是有效的。在这样的情况下,期望的是将用于计算比特率的时间间隔设定为比0.5秒更长的间隔。替代地,可以设定比要被编码的GOP (图像组)的长度更长的间隔。此外,也可以设定比通过以传输比特率对以传输比特率分离多路复用的数据所2009
必需的系统目标解码器的缓冲器的大小进行分割所得到的值更大的值。
当比特率被计算出高于指定的时间间隔(多个AU)时,计算出如图4中所示的平滑
的比特率。此外,AU的编码比特数可以在对音频数据和子图像进行解析(parse)(通过简单的解码检测起始码)的同时被计算。此外,在无损音频编码器102,有损音频编码器103或者子图像编码器104将每一个AU的编码比特数编码的同时,它可以被作为日志输出,并且传输比特率计算器105可以接收它。
举例来说,音频数据的西班牙语和法语是由于以恒定比特率被编码。如果该情形是事先已知的,用户不需要等待有损音频编码器103实际上已经将音频数据编码。从目标恒定比特率、编码的无损音频压缩数据和子图像压缩数据的值仅计算出比特率。在这种情况下,处理流程被改变为图6而不同于图2。因为直到将无损的音频(可变比特率)数据编码结束,比特率的计算都是困难的,即,由于无损耗不能实施比特率控制,所以需要事先将数据编码。
如上所述,从在解码时间方向上通过分割输入编码数据得到的多个时间间隔中的每一个时间间隔的编码比特数计算出输入编码数据的每个时间间隔的输入比特率之后,即,在事先编码的数据的比特率的计算结束之后,执行传输比特率的计算(步骤203),其中输入编码数据包括事先以可变比特率编码的可变比特率编码数据,解码时间方向对应于输入编码数据中的AU (图像,片段)的解码顺序。具体地,如图5所示,通过从目标传输比特率(作为系统)减去比特率的变化计算出视频的传输比特率。换句话说,通过从第一传输比特率减去输入比特率计算出每个时间间隔的第二传输比特率。
视频编码器101从视频源107接收输入数据(视频),并且在根据用传输比特率计算器105计算出的传输比特率实施可变比特率控制的同时将输入数据编码(步骤204)。存在各种可变比特率控制系统。然而,在本实施例中,将说明根据计算的传输比特率或者目标比特率(即,平均比特率)的值的控制方法。
1. 传输比特率的最大值^目标比特率
设定的传输比特率在指定时间间隔波动,但是当在控制可变比特率的时候的目标比特率大于贯穿整个时间间隔的传输比特率的最大值时,编码比特数被分派以满足传输比特率=目标比特率,可变比特率控制被进行。如果编码比特数被分派为比传输比特率更大的值,虚拟解码器的缓冲器可能下溢并且因此编码数据不符合标准。此外,此时用于分派编码比
特数的控制不必是双路可变比特率控制,而是成为单路可变比特率控制。
2. 通过传输比特率分派的编码比特数^通过目标比特率分派的编码比特数(比特率X
7输入视频数据的时间=分派的比特数)
当设定的传输比特率的改变是剧烈的时候,可以满足该条件。当满足该条件时,进行类似于上述方法l的处理。换句话说,当目标传输比特率在控制可变比特率的时候大于贯穿整个时间间隔的传输比特率的最大值时,编码比特数被分派以便满足传输比特率-目标比特率,可变比特率控制被进行。
3.除了上述方法1和2以外的方法
当方法1和2不可应用时,在目标比特率与传输比特率不相符的条件下,可变比特率控制是可能的。作为简单的方法,存在这样的方法,即当编码比特数以目标比特率均匀地被分配给整个输入视频数据之后,确定虚拟解码器的缓冲器是否在传输比特率被破坏。换句话说,如果传输比特率的最小值超过目标比特率,破坏(crash)不会出现。然而,如果它小于目标比特率,破坏可能出现。当这由单路处理实现时,比特率控制被进行以致在编码处理中,虚拟解码器的缓冲器即将下溢时,g卩,占用率达到不大于给定阈值时,减少被分派的比特数。在比特率控制中被删除的编码比特数被存储在存储器(未显示)中,以便当虚拟解码器的缓冲器可用时使用。
在虚拟解码器的缓冲器下溢的风险消除之后,使用存储在存储器中的编码比特数。存储的编码比特数可以被均匀地分配给将被编码的图像或者可以被有意地分派给编码困难的场景(scene)。在任何情况下,存储的编码比特数必须只被用于没有虚拟解码器缓冲器的下溢风险的对象。即使难以将场景编码,存在其中传输率较高的情形,即,无损音频数据的编码比特数较少。这是由于将视频数据编码的复杂度和将音频数据编码的复杂度之间的时间相关性较低的可能性。
上述处理通过单路实现,但也可以通过双路实现。如果通过双路实现,可以降低将被分派给虚拟解码器的缓冲器可能下溢的场景的编码比特数,并且将在减少比特中被删除的编码比特数分派给其它的场景。可以实现比类似单路的反馈处理更高水平的控制,即,只打算处理当前及以后的图像的处理。然而,如果是双路处理,编码比特数不被如上所述地均匀地分派给整个输入视频数据,而是根据在第一路的处理中分析的编码复杂度分派给输入视频数据。换句话说,当可变比特率控制以给定传输比特率实施时,编码比特数被分派给每一个图像。如果编码比特数的分派和基于传输比特率的虚拟解码器的缓冲器的转移模拟被实施以致引起下溢风险的某个部分的编码比特数被分配给另一个场景,启用更高级的可变比特率控制。对于将进行的这样有效的可变比特率控制,必须分析使得事先比特率调整不可能事先执行的无损音频压縮数据。在基于这样的控制进行可变比特率控制时,压縮输入视频数据。
数据多路复用器106接收一个视频编码数据, 一个无损音频编码数据,两个有损音频编码数据,以及一个子图像编码数据并将它们多路复用(步骤S205)。存在各种多路复用方法,诸如由MPEG2系统规定的程序流或者传送流。在任何情况下,以不低于传输比特率计算器105作为目标的传输比特率(作为系统)的传输比特率进行多路复用。当输出多路复用数据时,第一实施例的处理流程结束。(第二实施例)
如图7所示的第二实施例的视频编码设备包括视频编码器401、无损音频编码器402、有损音频编码器403、子图像编码器404和传输比特率计算器405。视频编码器401在基于由传输比特率计算器405给出的传输比特率执行可变比特控制的同时,对从视频源407输入的视频数据进行编码。无损音频编码器402对从音频源408输入的音频(英语)数据使用无损可变比特率编码进行编码。有损音频编码器403对从音频源409和410输入的音频(西班牙语,法语)数据使用有损恒定比特率编码进行编码。子图像编码器404对从子图像源411输入的子图像数据(隐藏式字幕数据,closed caption data)进行编码。
数据多路复用器406将事先编码的数据(无损英语音频数据,有损西班牙语音频数据,有损法语音频数据,子图像数据)或者用视频编码器401编码的视频数据多路复用。传输比特率计算器405计算能够与输入的多路复用数据被进一步多路复用的数据的比特率并将其设定至视频编码器401作为目标比特率。在本实施例中事先编码的数据是如前所述的一个无损音频数据,两个有损音频数据和一个子图像数据。然而,本发明不限于这些数据的组合或者它们的数据量。
现在将参照图8描述根据本实施例的视频编码器基于可变比特率的操作。视频编码器401、无损音频编码器402、有损音频编码器403和子图像编码器404从视频源407、音频源408、音频源409和410、和子图像来源411接收音频和子图像的输入数据。将这些输入数据编码的步骤501和502类似于第一实施例的步骤201和202。
数据多路复用器406基于目标传输比特率(作为系统)对已经通过步骤502编码的数据进行临时的多路复用(步骤503)。存在各种用于多路复用数据的方法。然而,在这些多路复用方法中,用于音频数据或者子图像数据的分离虚拟缓冲器的大小小于分离虚拟缓冲器的大小。因此,其中延迟量能够在缓冲器大小中被吸收的音频数据或者子图像数据被多路复用以使得延迟时间最小化。换句话说,编码数据和视频数据被多路复用以使得从事先以可变比特率被编码的数据被输入到解码器缓冲器的时间到它被解码的时间的延迟时间
9最小化。该状态如图9所示。
在图9中,横轴表示代表系统时间的SCR (系统时钟基准),传输比特率较高的数据 间隔被显示在该轴的上侧,传输比特率较低的数据间隔显示在该轴的下侧。存在于同样的 SCR间隔的数据块的数目随着比特率的增加而增加。在图9中,数据的块大小被设定为2KB (2048字节),并且音频数据和子图像数据存储在各自的数据块中。换句话说,在图9中, A是音频数据,S是子图像数据。当这些数据被多路复用时,数据A和S被输入至其的数 据块被确定,并且数据被依序输入这些块。在这种情况下,如果音频的比特率较低,输出 音频/视频数据。此时,在音频/视频数据输出时将数据输入到数据块中。
由于缓冲器较大,视频不能吸收延迟,以及由于缓冲器较小,音频不能吸收延迟。从 而,系统被构造为以便当音频数据被输入缓冲器时立即被输出。换句话说,当靠近解码计 时的时候,音频数据被保存在缓冲器的区域中以及视频被存储在剩下的区域中。所以,由 于缓冲器具有充足的区域,视频数据被存储在缓冲器中并且以后被输出。如果比特率较高, 可用的数据块增加。从而,能够通过是否每个时间单位存在多少可用的块来计算出比特率, 并且能够估算是否有多少数据能够被传输。
将被编码的视频数据从现在开始被保存在空白数据中。此外,本实施例采用目的是通 过将数据块大小设定为1KB使音频和子图像的解码延时量最小化的多路复用数据的方法, 但本发明不限于此方法。举例来说,块大小可以是2KB以上。替代地,音频和子图像可以 被多路复用以便解码延时量变得最大,并且传输比特率计算器406可以从可用的数据间隔 计算将被设定至视频编码器401的传输比特率。进一步,多路复用方法可以在序列的中间 被改变。举例来说,延迟量可以在前一半中是最大值,而在后一半是最小值。
在其中视频数据还没被多路复用的临时多路复用的数据被输入至传输比特率计算器 405,并且从空白数据和SCR计算出能够设定至视频编码器401的传输比特率(步骤504)。 比特率计算可以通过对在给定的SCR间隔中的空白数据计数来进行,此时的SCR间隔能 够具有与第一实施例中描述的间隔相似的一些时间间隔。
因为与第一实施例的步骤204及其之后的处理类似,步骤505及其之后的编码处理被 省略。
能够通过使用作为基础硬件的通用计算机装置来实现视频编码设备。换句话说,能够 通过使安装在计算机设备中的处理器执行程序来实现视频编码器、无损音频编码器、有损 音频编码器、子图像编码器、传输比特率计算器和数据多路复用器。此时,可以通过在计 算机中事先安装程序来实现视频编码设备。此外,程序可以是被存储在诸如CD-ROM的记录介质中或通过网络分布并被适当地安装在计算机中。
根据本发明,可以通过执行利用给定的多路复用传输比特率的有效的可变比特率控制 实现高质量的视频编码。
权利要求
1. 一种视频编码设备,其特征在于,包括从在解码时间方向上通过分割输入编码数据得到的多个时间间隔中的每一个时间间隔的编码比特数,计算所述输入编码数据每个时间间隔的输入比特率的计算器,所述输入编码数据包括事先以可变比特率编码的可变比特率编码数据;从第一传输比特率减去所述输入比特率以获得每个时间间隔的第二传输比特率的计算器;以及根据所述第二传输比特率对视频数据编码以输出编码数据的编码器。
2. 如权利要求1所述的视频编码设备,其特征在于,所述编码数据包括通过无损编 码所编码的数据。
3. 如权利要求1所述的视频编码设备,其特征在于,所述编码数据包括子图像的数据。
4. 如权利要求l所述的视频编码设备,其特征在于,进一步包括基于所述第二传 输比特率和当用第三传输比特率执行可变比特率控制时被分派给每一个图像的所述编码 比特数,执行虚拟解码器缓冲器的输入和输出的模拟的模拟器;以及当虚拟解码器的缓 冲器下溢时将发生下溢的所述编码比特数分配给其他图像的分配器。
5. 如权利要求1所述的视频编码设备,其特征在于,所述第一传输比特率是使以所 述可变比特率编码的所述输入编码数据和用所述编码器编码的所述视频数据被多路复用 时的传输比特率。
6. 如权利要求1所述的视频编码设备,其特征在于,所述多个时间间隔中的每一个 时间间隔不小于通过以所述第一传输比特率对以所述第一传输比特率分离多路复用的数据所必需的系统目标解码器的缓冲器的大小进行分割所获得的值。
7. 如权利要求l所述的视频编码设备,其特征在于,所述多个时间间隔中的每一个 时间间隔是不小于将被编码的GOP的长度的值。
8. 如权利要求6所述的视频编码设备,其特征在于,进一步包括MPEG2PS (程序 流)方案的多路复用器,所述MPEG2PS (程序流)方案的多路复用器将以所述可变比 特率编码的所述编码数据和用所述编码器编码的所述视频数据多路复用,其中所述系统 目标解码器的缓冲器包括P-STD缓冲器。
如权利要求6所述的视频编码设备,其特征在于,进一步包括MPEG2TS (传送 流)方案的多路复用器,所述MPEG2TS (传送流)方案的多路复用器将以所述可变比 特率编码的所述编码数据和用所述编码器编码的所述视频数据多路复用,其中所述系统目标解码器的缓冲器包括T-STD缓冲器。
—种视频编码方法,其特征在于,包括从在解码时间方向上通过分割输入编码数据得到的多个时间间隔中的每一个时间间 隔的编码比特数,计算所述输入编码数据每个时间间隔的输入比特率,所述输入编码数 据包括事先以可变比特率编码的可变比特率编码数据;从第一传输比特率减去所述输入比特率以计算每个时间间隔的第二传输比特率;基于所述第二传输比特率和当以第三传输比特率执行可变比特率控制时被分派给每 一个图像的所述编码比特数,执行虚拟解码器缓冲器的输入和输出的模拟;以及当虚拟解码器的缓冲器下溢时,将发生下溢的所述编码比特数分配给其他图像。 一种视频编码方法,其特征在于,包括以第一传输比特率多路复用所述编码数据以使得延迟时间最小化,所述延迟时间是 从编码数据被输入的时间到所述编码数据被解码的时间,所述编码数据包括事先以可变 比特率编码的编码数据;计算对应于每个时间间隔的所述编码比特数的第二传输比特率,在所述每个时间间 隔中所述视频数据与所述多路复用数据被多路复用;基于所述第二传输比特率和假定用第三传输比特率执行可变比特率控制时被分派给 每一个图像的所述编码比特数,执行虚拟解码器缓冲器的输入和输出的模拟;以及当所述虚拟解码器缓冲器下溢时,将发生下溢的所述编码比特数分配给其他图像。
全文摘要
本发明涉及视频编码设备以及视频编码方法,其中视频编码设备包括从在解码时间方向上通过分割输入编码数据得到的多个时间间隔中的每一个时间间隔的编码比特数计算输入编码数据每个时间间隔的输入比特率的计算器,输入编码数据包括事先以可变比特率编码的可变比特率编码数据;从第一传输比特率减去输入比特率以获得每个时间间隔的第二传输比特率的计算器;以及根据第二传输比特率将视频数据编码以输出编码数据的编码器。
文档编号H04N7/26GK101489127SQ200910005040
公开日2009年7月22日 申请日期2009年1月14日 优先权日2008年1月17日
发明者松村淳 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1