视频解码方法与流程

文档序号:11954828阅读:692来源:国知局
视频解码方法与流程

技术领域

本文所论述的实施方式涉及在不对经编码的视频数据进行解码的情况下能够对所述视频数据进行编辑的视频解码编码装置和视频编码方法,并且还涉及用于对由这种视频编码装置编码的视频数据进行解码的视频解码装置和视频解码方法。



背景技术:

通常,用于表示视频数据的数据的量是非常大的。因此,处理这种视频数据的装置在将视频数据传输至另一装置之前或者在将视频数据存储在存储装置中之前通过编码来压缩视频数据。由国际标准化组织/国际电工委员会(ISO/IEC)提出的诸如MPEG-2(活动图像专家组2)、MPEG-4以及H.264MPEG-4高级视频编码(MPEG-4AVC/H.264)的编码标准是如今被广泛使用的典型编码标准。

这种编码标准采用帧间编码方法(inter-coding method)(通过使用不仅是来自画面自身的信息而且是来自该画面之前和之后的画面的信息来对该画面进行编码)和帧内编码方法(intra-coding method)(仅使用要被编码的画面中所包含的信息来对画面进行编码)。帧间编码方法使用三种画面,被称为经帧内编码的画面(I画面)、通常根据过去的画面来预测的前向预测出的画面(P画面)以及通常根据过去和未来的画面来预测的双向预测出的画面(B画面)。

通常,通过帧间编码来编码的画面或块的代码量小于通过帧内编码来编码的画面或块的代码量。这样,根据所选择的编码模式,在同样的视频序列内代码量因画面不同而不同。类似地,根据所选择的编码模式,在同样的画面内代码量因块不同而不同。因此,为了即使在代码量按时间变化的情况下也能在恒定的传输速率下使包含经编码的视频的数据流能被传输,在传输端提供用于缓冲数据流的传输缓冲器并且在接收端提供用于缓冲数据流的接收缓冲器。

MPEG-2和MPEG-4AVC/H.264均分别定义了在被称为视频缓冲验证器(VBV)或编码图像缓冲区(CPB)的理想化视频解码装置中的接收缓冲器的性能。为了方便,理想化视频解码装置在下文中将简称为理想化解码器。规定理想化解码器执行不花时间地解码的即时解码。例如,日本特开专利申请第2003-179938号公开了一种关于VBV的视频编码器控制方法。

为了理想化解码器中的接收缓冲器不会上溢出或下溢出,当理想化解码器对给定画面进行解码时,视频编码器控制代码的量以保证在接收缓冲器中能获得用以解码给定画面所需的所有数据。

当视频编码器以恒定的传输速率传输经编码的视频数据流时,如果一直到画面要被视频解码器解码并显示时解码该画面所需的数据的传输还没有完成,则接收缓冲器会下溢出。换言之,接收缓冲器下溢出指这样的情况,其中,在视频解码器的接收缓冲器中不能获得解码该画面所需的数据。如果这种情况发生,则视频解码器不能执行解码并且出现跳帧。

鉴于此,视频解码器将该数据流从其接收时间起延迟了预定的时间之后再显示该画面,使得可在不造成接收缓冲器下溢出的情况下进行解码。如之前所描述的,规定了理想化解码器完成不花时间的解码。结果,如果输入至视频编码器的第i个画面的输入时间是t(i)并且第i个画面在理想化解码器的解码时间是tr(i),则画面为显示做好准备的最早时间与tr(i)一样,由于对于任何画面而言画面显示周期{t(i+1)-t(i)}等于{tr(i+1)-tr(i)},所以解码时间被给出为tr(i)=t(i)+dly,即,该时间从输入时间t(i)开始被延迟了固定的时间dly。这意味着,视频编码器在时间tr(i)之前必须完成解码所需所有数据至接收缓冲器的传输。

参考图1,将给出接收缓冲器如何操作的描述。在图1中,横坐标表示时间,纵坐标表示接收缓冲器的缓冲器占用率。实折线100描绘了作为时间的函数的缓冲器占用率。

接收缓冲器的缓冲器占用率以同步于规定的传输速率的速率进行恢复,并且在画面的解码时间从缓冲器取回用于解码每个画面的数据。第i个画面的数据在时间at(i)开始被输入至接收缓冲器,而第i个画面的最后的数据在时间ft(i)被输入。理想化解码器在时间tr(i)完成第i个画面的解码,因此第i个画面在tr(i)为显示做好准备。然而,如果数据流包含B画面,第i个画面的实际显示时间可能由于出现画面重新排序(改变编码顺序)而变得迟于tr(i)。

下面将详细描述描述了MPEG-4AVC/H.264中的每个画面的解码时间和显示时间的方法。

在MPEG-4AVC/H.264中,在补充增强信息(SEI)消息中描述了与像素的解码并不直接相关的的补充信息。定义了几十种SEI消息类型,每种类型由payloadType(有效载荷类型)参数来标识。SEI被附加到每个画面。

BPSEI(缓冲期间SEI)作为一种类型的SEI被附加到独立画面,即,无需任何之前的画面就能被解码的画面(通常,I画面)。在BPSEI中描述了参数InitialCpbRemovalDelay。InitialCpbRemovalDelay参数指示被附加了BPSEI的画面的第一位的到达接收缓冲器的时间与被附加了BPSEI的画面的解码时间之间的差。该差的分辨率是90kHz。第一画面的解码时间tr(0)是经编码的视频数据的第一位的到达视频解码器的时间(该时间被指定为0);即,解码时间从时间0开始被延迟了等于InitialCpbRemovalDelay÷90,000[秒]的时间量。

通常,PTSEI(画面定时SEI)作为一种类型的SEI被附加到每个画面。在PTSEI中描述了参数CpbRemovalDelay和DpbOutputDelay。CpbRemovalDelay参数指示前一被附加了BPSEI的画面的解码时间与被附加了PTSEI的画面的解码时间之间的差。DpbOutputDelay参数指示被附加了PTSEI的画面的解码时间与该画面的显示时间之间的差。这些差的分辨率是一域画面间隔。因此,当画面是一个帧时,参数CpbRemovalDelay和DpbOutputDelay中的每一个的值是2的倍数。

第二个以及后续画面的解码时间tr(i)从第一画面的解码时间tr(0)开始被延迟了等于tc*CpbRemovalDelay(i)[秒]的时间量。CpbRemovalDelay(i)是被附加到第i个画面的CpbRemovalDelay。另一方面,tc是画面间时间间隔[秒];例如,在29.97Hz渐进视频的情况中,tc是1001/60000。

包括被附加了BPSEI的画面的多个画面中的每一个的显示时间从tr(i)被延迟了等于tc*CpbRemovalDelay(i)的时间量。CpbRemovalDelay(i)是被附加到第i个画面的CpbRemovalDelay。换言之,在时间tr(0)之后,在等于tc的整数倍的时间解码并显示每个画面。

基于视频数据的目的,可对经编码的视频进行编辑。编辑经编码的视频涉及将编码的视频数据划分成更小的部分并将它们进行拼接(splicing)以产生新的经编码的视频数据流。例如,另一视频数据流(例如,广告)插入进当前广播视频流(即,拼接)是编辑的一个实例。

当编辑经帧间预测性编码的视频时,尤其是在经帧间编码的画面的情况下,经编码的画面不能通过其自身被正确地解码。因此,当将两个经编码的视频数据流拼接在期望的画面位置时,经编码的视频数据编辑器首先将要被拼接的两个经编码的视频数据流解码,然后基于经解码的一个接一个画面将它们进行拼接,之后对拼接视频数据进行重新编码。

然而,由于重新编码会是非常麻烦,尤其,在诸如拼接的实时处理的情况中,一般要限制拼接点并且通过消除重新编码的需要来直接编辑编码的视频。当在无需重新编码的情况下通过编辑来拼接两个经编码的视频数据流时,要被拼接在时间下游侧的经编码的视频数据流的第一画面必须是I画面。此外,要被拼接在时间下游侧的经编码的视频数据流的GOP结构受限于所谓的紧凑GOP结构,其中跟随起始I画面的所有画面在不参考在时间上在起始I画面之前的任何画面的情况下是可被解码的,这就有可能通过在期望的拼接点进行编辑来对被拼接在下游侧的经编码的视频数据流的起始I画面之后的所有画面进行正确地解码。

然而,由于紧凑GOP结构的编码效率低于非紧凑GOP结构的编码效率,所以可采用非紧凑GOP结构。在此情形中,拼接点之后的紧跟起始I画面的一些画面不能被正确解码,但是由于这些画面在显示顺序上在起始I画面之前,如果它们不被显示就不会有问题。因此,作为通常的做法,在显示了时间上在前的经编码的视频数据流的最后画面之后,视频解码器执行诸如冻结显示的处理,由此掩盖未能被正确解码的画面的显示。

在现有技术中,即使在不重新编码的情况下编辑经帧间预测性编码的视频数据时,还编辑头(header)信息,使得在拼接在一起的两个经编码的视频数据流之间不出现矛盾。例如,在MPEG-4AVC/H.264中,POC(图像序列号)和帧编号(FrameNum)被附加到片头,以保持画面间的时间关系并且标识参考画面。POC指示画面的相关显示顺序。帧编号是每次参考画面出现在经编码的视频中时就被加1的值。由于POC值和帧编号值在拼接的两个经编码的视频数据流之间必须是连续的,所以需要对要被拼接在时间在前的经编码的视频数据流的下游侧的经编码的视频数据流中的所有POC值和帧编号进行编辑。

另一方面,在非专利文献JCTVC-I1003("High-Efficiency Video Coding(HEVC)text specification Working Draft 7,"Joint Collaborative Team on Video Coding of ITU-T SG16WP3and ISO/IEC JTC1/SC29/WG11,May 2012)中所公开的方法中,由于已引入了用于标识参考画面的新方法,所以废除了帧编号。此外,由于被拼接在下游侧的经编码的视频数据流的第一画面的POC值关于被拼接在上游侧的经编码的视频数据流无需具有连续性,所以无需编辑片头。在上面的非专利文献中所公开的方法中,除了在MPEG-4AVC/H.264中定义的IDR(即时解码刷新(Instantaneous Decoding Refresh))画面之外,还引入了CRA(净随机存取(Clean Random Access))画面、BLA(断开链路存取(Broken Link Access))画面以及TFD(被标记用于丢弃(Tagged For Discard))画面作为新画面类型。

在这些画面中,CRA画面和BLA画面都是独立画面,即,不用参考任何其它画面的画面,因此,可正确地解码CRA画面或BLA画面之后的画面。例如,当视频解码器开始从CRA画面开始的解码时,可正确地解码除了紧跟CRA画面的TFD画面以外的任何后续画面。

TFD画面是这样的画面,即,紧跟CRA画面或BLA画面出现并且参考在时间顺序上和解码顺序上早于CRA画面或BLA画面出现的画面。在符合MPEG-2的非紧凑GOP结构的情况下,在GOP头部的紧跟I画面的多个B画面均对应于TFD画面。

作为编辑经编码的视频数据的结果产生BLA画面。在拼接的两个经编码的视频数据流中,拼接在下游侧的经编码的视频数据流通常以CRA画面开始,但是如果此CRA画面出现在拼接的经编码的视频数据的中间,则其画面类型从CRA画面改变为BLA画面。在上面的非专利文中所公开的方法中,当BLA画面出现时,允许POC值变得不连续。此外,从被拼接的经编码的视频数据中的任何点不能正确地解码紧跟此BLA画面的TFD画面,是因为从被拼接的经编码的视频流丢失了要被其参考的画面。因此,视频编码器可从经编码的视频数据删除要被拼接在下游侧的经编码的视频数据流头部的BLA画面之后的任何TFD画面。



技术实现要素:

在上述的非专利文献中所公开的方法中,如在MPEG-4AVC/H.264中,每个经编码的画面的解码时间和显示时间通过利用参数InitialCpbRemovalDelay、CpbRemovalDelay以及DpbOutputDelay来确定。当拼接两个经编码的视频数据流时,拼接点之后的画面的参数CpbRemovalDelay和DpbOutputDelay需要被校正为适当的值,以便确保跨拼接点的连续的视频解码和显示。

更具体地,视频编码器或视频解码器需要基于时间上在前的经编码的视频数据流中的最后的被附加了BPSEI的画面之后的画面的数目来校正被拼接在下游侧的经编码的视频数据流的前面的CRA画面的CpbRemovalDelay的值。此外,视频编码器或视频解码器中的值增长以便确保CPB的缓冲器的连续性。此外,当丢弃要被拼接在下游侧的经编码的视频数据流中的TFD画面时,视频编码器或视频解码器需要校正在丢弃TFD画面之后要被校正的画面的CpbRemovalDelay的值以及拼接点之后的第一CRA画面的DpbOutputDelay的值。

因此,在上面的非专利文献中所公开的方法中,当为了拼接两个经编码的视频数据流而执行编辑操作时仍需要校正PTSEI的内容。

因此,本发明的一个目的是提供在拼接两个经帧间预测性编码的视频数据流时在不编辑原始的经编码的视频数据的头中的参数的情况下能确保连续的视频解码处理和显示处理的一种运动视频编码装置和运动视频解码装置。

根据一种实施方式,提供了一种用于通过帧间预测性编码来对经编码的视频数据进行解码的视频解码方法。该视频解码方法包括:当所述经编码的视频数据包含指示所述经编码的视频数据已通过将第二经编码的视频数据拼接到第一经编码的视频数据的尾端而被产生的信息、指示在所述第一经编码的视频数据和所述第二经编码的视频数据被拼接于的拼接点之后的、所述第二经编码的视频数据中的在编码顺序上迟于起始的经编码的画面的一个或多个经编码的画面已被丢弃的信息、用于对跟随所述起始的经编码的画面的画面的解码延迟进行校正的解码延迟校正信息、以及用于对所述起始的经编码的画面的显示延迟进行校正的显示延迟校正信息时,则由至少一个处理器基于所述显示延迟校正信息来对所述起始的经编码的画面的显示延迟进行校正,同时由所述至少一个处理器基于所述解码延迟校正信息来对跟随所述起始的经编码的画面的画面的解码延迟进行校正。其中,所述解码延迟校正信息携带了与在编码顺序上迟于所述起始的经编码的画面的被丢弃的经编码的画面的数目对应的值。

附图说明

图1是示出接收缓冲器的缓冲器占用率与显示时间之间的关系的示图。

图2是示出视频数据中所包含的各种画面的显示顺序和解码顺序与解码延迟之间的关系以及各个画面的显示延迟值的示图。

图3是用于解释当两个经编码的视频数据流被拼接时拼接点之后的画面的解码延迟和显示延迟值的示图。

图4是用于解释在根据第一实施方式的经编码的视频中的一个画面的数据结构的示图。

图5是根据第一实施方式的视频编码装置的简化框图。

图6是根据第一实施方式的视频编码处理的操作流程图。

图7是根据第一实施方式的视频编辑处理的操作流程图。

图8是根据第一实施方式的视频解码装置的简化框图。

图9是根据第一实施方式的视频解码处理的操作流程图。

图10是用于解释在根据第二实施方式的经编码的视频中的一个画面的数据结构的示图。

图11是用于解释当两个经编码的视频数据流被拼接时并且当被拼接在拼接点的上游的经编码的视频数据流中已丢弃了在显示顺序上在该拼接点之前的画面时在该拼接点之后画面的解码延迟和显示延迟值的示图。

图12是用于解释当被拼接在拼接点的下游的经编码的视频数据流中要重新排序的画面的数目小于被拼接在拼接点的上游的经编码的视频数据流中要重新排序的画面的画面时在拼接点之后的画面的延迟和显示延迟值的示图。

图13是用于解释当被拼接在拼接点的上游的经编码的视频数据流中要重新排序的画面的数目小于被拼接在拼接点的下游的经编码的视频数据流中要重新排序的画面的数目时拼接点之后的画面的解码延迟和显示延迟值的示图。

图14是用于解释在根据第五实施方式的经编码的视频中的一个画面的数据结构的示图。

图15是用于解释在根据第六实施方式的经编码的视频中的一个画面的数据结构的示图。

图16是用于解释在根据第七实施方式的经编码的视频中的一个画面的数据结构的示图。

图17是示出通过执行用于实现根据实施方式或其变形例中的任何一个的视频编码装置或视频解码装置中的各个单元的功能的计算机程序来作为视频编码装置或视频解码装置操作的计算机的构造的示图。

具体实施方式

下面将参考附图描述根据各种实施方式的视频编码装置和视频解码装置。当两个经编码的视频数据流在不对其进行解码的情况下被拼接时,视频编码装置计算待用于校正指示拼接点之后出现的每个画面的解码时间和显示时间的参数的值,并在拼接点之后出现的每个画面的头信息中添加该值。以这种方式,视频编码装置消除了当拼接两个经编码的视频数据流时对原始的经编码的视频数据的头中的参数进行编辑的需要。

在本实施方式中,画面是帧。然而,该画面可不限于帧,而可以是域(field)。帧指视频数据中一个完整的静态图像,而域指通过从一个帧提取仅在奇数行或偶数行中的数据而获得的静态图像。该经编码的视频数据可以是彩色视频数据或黑白视频数据。

首先,参考图2,将通过将一个画面编码结构(picture coding structure)作为实例来描述根据第一实施方式的画面解码延迟CpbRemovalDelay和显示延迟DpbOutputDelay的值。

在图2中,作为画面编码结构的一个实例的画面编码结构201包含多个画面。画面编码结构201中的每个块表示一个画面。对应于每个画面的块中所携带的两个字符中,在左边的字母字符指示应用于该画面的编码模式。字符I、P、B分别意味着I画面、P画面和B画面。在每个块中所携带的两个字符中,右边的数字指示输入至视频编码装置的顺序。该输入顺序与其中画面从视频解码装置被输出的顺序一致。在画面编码结构201上面描绘的每个箭头指示要通过前向帧预测来编码的画面所参考的参考画面。例如,画面P4参考比画面P4出现早的画面I0。另一方面,在画面编码结构201下面描绘的每个箭头指示要通过后向帧预测来编码的画面所参考的参考画面。例如,画面B2参考迟于画面B2出现的画面P4。

表示在画面编码结构201的下面的画面序列是画面编码结构201中所包含的画面的解码顺序202。解码顺序202中的每个块表示一个画面,并且与在画面编码结构201的情况一样,块中携带的字符指示编码模式和输入至视频编码装置的顺序。解码顺序202与通过视频编码装置执行的编码的顺序一致。

在解码顺序202中,BPSEI被附加到下面携带了标记“BPSEI”的每个画面。在示出的实例中,BPSEI被附加到每个I画面。换言之,对于每个I画面,定义了InitialCpbRemovalDelay参数,其指示I画面的第一个位到达接收缓冲器的时间与I画面的解码时间之间的差。

在解码顺序202的下面表示的块阵列203指示附加到每个画面的PTSEI中所携带的CpbRemovalDelay和DpbOutputDelay的值。块阵列203的上部行中的每个块携带了位于该块正上方的解码顺序202中的对应画面的CpbRemovalDelay值。同样,块阵列203的下部行中的每个块携带了位于该块正上方的解码顺序202中的对应画面的DpbOutputDelay值。CpbRemovalDelay对应于从BPSEI被附加到的画面当中的在编码顺序上最新近的画面算起时的编码顺序。例如,当从画面I0算起时,画面P8在编码顺序上是第五个画面。在本实施方式中,由于每个画面是一个帧,并且画面间时间间隔tc是以域为单位表示的值,所以画面P8的CpbRemovalDelay值被给出为10(=5*2)。

另一方面,DpbOutputDelay规定了视频解码装置中所需的以按照正确的顺序连续地输出画面的显示延迟。例如,画面P4的DpbOutputDelay值是10。这是正确显示画面B1(它的在视频编码装置中的输入顺序与编码顺序之间的差是最大)所需的时间。换言之,由于画面B1以P4之后的两个画面被解码的延迟来解码,所以画面P4的显示时间必须从画面B1为显示做好准备的最早时间(即,画面B1被解码的时间)被进一步延迟三个画面时间。由于画面P4的解码时间与显示时间之间的差等于5个画面时间,并且由于tc以域为单位来表示,所以DpbOutputDelay的值被给出为10。

接下来,参考图3,将给出当两个经编码的视频数据被拼接时为了消除在两个经编码的视频数据流的拼接点之前和之后在解码延迟和显示延迟上的任何差别被拼接在拼接点的下游的经编码的视频数据流的每个画面的解码延迟CpbRemovalDelay和显示延迟DpbOutputDelay可采用的值的解释。

拼接在拼接点的上游的第一经编码的视频数据流301中的每个块表示一个画面,并且块中所携带的字符指示编码模式和输入至视频编码装置的顺序,与图2中的情况一样。在所示出的实例中,第一经编码的视频数据流301的编码结构与图2中描绘的编码结构相同。

在所示出的实例中,紧跟第一经编码的视频数据流的最后画面B15拼接了第二视频数据流302。在第二视频数据流302中,同样,每个块表示一个画面,并且块中所携带的字符指示编码模式和输入至视频编码装置的顺序。第二经编码的视频数据流302的编码结构也与在图2中描绘的编码结构201相同。在所示出的实例中,第二经编码的视频数据流302中的画面I72和后续的画面被拼接,从而在第一经编码的视频数据流中的画面B15之后。

在第二经编码的视频数据流302的下面表示的块阵列303指示被附加到第二经编码的视频数据流302的每个画面的PTSEI中所携带的解码延迟CpbRemovalDelay和显示延迟DpbOutputDelay的值。在块阵列303的上部行中的每个块携带位于该块正上方的第二经编码的视频数据流302中的对应画面的解码延迟CpbRemovalDelay的值。同样,块阵列303的下部行中的每个块携带了位于该块正上方的第二解码视频数据流302中的对应画面的显示延迟DpbOutputDelay的值。

在块阵列303下面描绘了通过拼接第一经编码的视频数据流301和第二经编码的视频数据流302产生的被拼接的经编码的视频数据304。在示出的实例中,在被拼接的经编码的视频数据304中不包含第二经编码的视频数据流302中的画面B67以及编码顺序在画面B67之前的画面。此外,画面B70、B69以及B71均参考编码顺序上在画面I72之前的画面I68。结果,当数据被拼接在画面I72处时,画面B70、B76以及B71将变得不能被正确再现。因此,当拼接数据时将画面B70、B76以及B71丢弃。然而,画面B70、B76以及B71可以不被丢弃并可保留在被拼接的经编码的视频数据中。

块阵列305指示应具有的被拼接的经编码的视频数据304中的画面I72、P76、B74、B73以及B75的解码延迟CpbRemovalDelay和显示延迟DpbOutputDelay的值。在块阵列305的上部行中的每个块携带位于该块正上方的被拼接的经编码的视频数据304中的对应画面的解码延迟CpbRemovalDelay的值。同样,块阵列305的下部行中的每个块携带了位于该块正上方的被拼接的经编码的视频数据304中的对应画面的显示延迟DpbOutputDelay的值。拼接之后画面I72的解码延迟CpbRemovalDelay需要与关于画面I12(其是具有前面最新近的BPSEI的画面)的经编码的画面间隔相匹配。在所示的实例中,从画面I12算起时,画面I72在编码顺序上是第八个画面,因此解码延迟CpbRemovalDelay被给出为16。画面I72的解码延迟DpbOutputDelay还需被校正,使得迟于画面I72解码的画面B73能被正确地显示。画面I72的显示延迟DpbOutputDelay的值在丢弃画面B70、B69以及B71之前和之后是不同的。在丢弃画面B70、B69以及B71之后的显示延迟DpbOutputDelay的值对应于比画面B69迟输入至视频编码装置但是编码比画面B69早的画面的数目。在所示的实例中,存在两个这样的画面,画面I72和B70,因此画面I72的显示延迟被给出为4。

画面P76、B74、B73以及B75中每个的解码延迟CpbRemovalDelay的值在丢弃画面B70、B69、以及B71之前和之后也是不同的。画面P76、B74、B73以及B75中每个的解码延迟CpbRemovalDelay的值在丢弃画面B70、B69、以及B71之后等于从丢弃画面之前的解码延迟CpbRemovalDelay的值减去对应于被丢弃的画面的数目的值而获得的值。在所示的实例中,通过从各个信号的解码延迟CpbRemovalDelay的原始值减去6,画面P76、B74、B73以及B75的解码延迟CpbRemovalDelay的值被分别给出为2、4、6、8。画面P76、B74、B73以及B75中每一个的显示延迟DpbOutputDelay的值保持不变。此外,在被拼接的经编码的视频数据中,对于迟于改变为第一CRA画面的画面输入的任何画面,既无需校正编码延迟DpbOutputDelay,也无需校正显示延迟DpbOutputDelay。

如上所述,当两个经编码的视频数据流被拼接在一起时,需要在解码时校正被拼接在拼接点的下游的经编码的视频数据流中所包含的某些画面的解码延迟CpbRemovalDelay和显示延迟DpbOutputDelay的值。在本实施方式中,视频编码装置在经编码的视频数据的头中添加当视频解码装置对被拼接的经编码的视频数据进行解码时可被用于将解码延迟CpbRemovalDelay和显示延迟DpbOutputDelay的值改变为适当值的参数,而不是校正拼接之前原始的经编码的视频数据中所包含的受影响画面的解码延迟CpbRemovalDelay和显示延迟DpbOutputDelay的值。

接下来,参考图4,将描述根据第一实施方式的包含可被用于将解码延迟CpbRemovalDelay和显示延迟DpbOutputDelay的值改变为适当值的参数的经编码的视频数据的结构。

如图4中所描绘的,一个画面的数据结构400包含六种网络提取层(NAL)单元410至415。这些NAL单元410至415均符合在MPEG-4AVC/H.264中定义的NAL单元以及在非专利文献JCTVC-I1003("High-Efficiency Video Coding(HEVC)text specification Working Draft 7,"Joint Collaborative Team on Video Coding of ITU-T SG16WP3and ISO/IEC JTC1/SC29/WG11,May 2012)中公开的方法。头NUH 420被附加到每个NAL单元。头NUH 420包含指示NAL单元的类型的NalUnitType字段。当NalUnitType是4时,此头被附加到的画面是自含式CRA画面,紧接在其之后出现参考在时间顺序上以及解码顺序上在CRA画面之前的画面的TFD画面。当NalUnitType是5时,此头被附加到的画面是CRA画面,紧接在其之后不出现TFD画面。当NalUnitType是6时,此头被附加到的画面是紧跟拼接点并且被TFD画面紧跟的自含式BLA画面。当NalUnitType是7时,此头被附加到的画面是BLA画面,紧接在其之后不出现TFD画面。每个画面的NalUnitType不必受限于上面的规定值,而可以被设定成某些其它适合值。

下面将解释NAL单元。

NAL单元410是定界符(DELIM)NAL单元并且指示画面的边界。

NAL单元411是序列参数设定(SPS)NAL单元,其携带经编码的视频的整个序列所公用的一组参数。NAL单元411被附加到自含式画面。

NAL单元412是画面参数设定(PPS)NAL单元,其携带多个经编码的画面所公用的一组参数。PPS NAL 412被附加到自含式画面,并且有时可被附加到其它类型的画面。

NAL单元413是BPSEI NAL单元,其仅被附加到自含式画面。在本实施方式中,要被视频解码装置用于校正在拼接点之后出现的每个画面的解码延迟和显示延迟的参数被添加在此NAL单元413中。

NAL单元414是PTSEI NAL单元,其被附加到每个画面。

NAL单元415是拼接(SLICE)NAL单元,其是经编码的画面的内容。

根据本实施方式的BPSEI NAL单元413包含多个(N+1)InitialCpbRemovalDelay/InitialCpbRemovalDelayOffset字段对(其中N是不小于0的整数)和在这些对后面的RapCpbParamsPresentFlag字段。当RapCpbParamsPresentFlag是1时,BPSEI NAL单元413中还包含用于校正解码延迟的解码延迟校正信息AltCpbRemovalDelayOffset字段431和用于校正显示延迟的显示延迟校正信息AltDpbOutputDelay字段413。另一方面,当RapCpbParamsPresentFlag是0时,BPSEI NAL单元413中既不包含解码延迟校正信息AltCpbRemovalDelayOffset字段431也不包含显示延迟校正信息AltDpbOutputDelay字段413。将在后面给出如何确定和使用解码延迟校正信息AltCpbRemovalDelayOffset字段431和显示延迟校正信息AltDpbOutputDelay字段413的描述。

存在不止一个InitialCpbRemovalDelay/InitialCpbRemovalDelayOffset字段对的原因是描述适合于其中编码的位流(bit stream)在(N+1)个不同的位速率(bit rate)下被传输的情形的InitialCpbRemovalDelay和InitialCpbRemovalDelayOffset参数。InitialCpbRemovalDelayOffset参数定义视频编码装置中的第一画面的编码完成时间与传输经编码的画面数据至视频解码装置的传输的开始时间之间差。

PTSEI NAL单元414包含解码延迟CpbRemovalDelay字段和DpbOutputDelay字段。这些字段的定义可以与在之前引用的非专利文献中或在MPEG-4AVC/H.264中所公开的方法中所给出定义相同。

图5是根据第一实施方式的视频编码装置的简化框图。视频编码装置1包括控制单元11、编码控制单元12、画面编码单元13、拼接点标识信息处理单元14以及数据拼接单元15。构成视频编码装置1的这些单元均作为单独的电路被实现在视频编码装置1中。可替选地,构成视频编码装置1的这些单元可以以单个集成电路(其上的实现各个单元的功能的电路被集成)的形式被实现在视频编码装置1中。此外,构成视频编码装置1的这些单元可以是通过在视频编码装置1中所合并的处理器上执行计算机程序实现的功能模块。

当对视频数据进行编码时或者当编辑该经编码的视频数据时,控制单元11控制视频编码装置1的每个指定单元的操作。例如,控制器单元11基于经编码的视频数据所需的再现图像质量、压缩比等来确定被应用于要被编码的视频数据的GOP结构等。然后,控制单元11将GOP结构等通过信号发给编码控制单元12。

首先,将描述用于对视频数据进行编码的视频编码处理。利用编码控制单元12和画面编码单元13来执行视频编码处理。

编码控制单元12根据从控制单元11发过来的GOP结构来确定每个画面的编码顺序、编码模式(例如,帧内编码、前向预测,或后向预测)等。然后,编码控制单元12基于每个画面的编码模式、在GOP结构内的位置等来确定CRA画面插入间隔、在编码时要被重新排序的画面数目以及最大显示延迟。在图2中所示出的实例中,CRA画面插入间隔是2,要被重新排序的画面数目是2,并且最大显示延迟是5。编码控制单元12基于这些值产生每个画面的头信息。

例如,如果画面类型是在不参考任何其它画面的情况下被编码的I画面(CRA画面),并且如果该画面不是经编码的视频数据的起始画面,则当要被重新排序的画面数目不小于1时,编码控制单元12将画面的每个片的NUH 420中的NalUnitType设定为4,其指示该画面被TFD画面紧跟。另一方面,当要被重新排序的画面的数目被设定为0时,编码控制单元将画面的每个片的NUH 420中的NalUnitType设定为5,其指示该画面未被TFD画面紧跟。经编码的视频数据的起始画面的每个片的NUH420中的NalUnitType被设定为8(IDR画面)。此外,当要被重新排序的画面的数目不小于1时,对于紧跟CRA画面并且参考在解码顺序和显示顺序二者上都早于CRA画面的画面的非参考画面,编码控制单元12将NalUnitType设定为2(TFD画面)。对于其它画面,编码控制单元将NalUnitType设定为1。

编码控制单元12通知画面编码单元13关于要被编码的画面的每个片的头NUH 420中已设定的NalUnitType的值。此外,编码控制单元12根据画面预测结构获得每个画面的PTSET中的解码延迟CpbRemovalDelay和显示延迟DpbOutputDelay(如图2中所示)并且相应地通知画面编码单元13。

当画面的每个片的NUH 420中的NalUnitType是8、4、5时,编码控制单元12将BPSEI附加到画面。然后,当NalUnitType是8或5时,编码控制单元12将RapCpbParamsPresentFlag设定为0。另一方面,当NalUnitType是4时,编码控制单元12将RapCpbParamsPresentFlag设定为1。

此外,编码控制单元12将用于校正显示延迟的显示延迟校正信息AltDpbOutputDelay参数的值设定成等于要重新排序的画面数目的两倍,即,在编码顺序上在CRA画面之后、并且在在解码顺序上最早的画面的显示时间与CRA画面的显示时间之间出现的画面的数目的两倍。然后,编码控制单元将用于校正解码延迟的解码延迟校正信息AltCpbRemovalDelayOffset参数的值设定成等于紧跟CRA画面的TFD画面的数目的两倍。

对于每个画面,编码控制单元12将编码模式和画面的头信息用信号发送至画面编码单元13,并且发出对该画面进行编码的指令。

画面编码单元13响应于来自编码控制单元12的指令通过采用能够帧间预测性编码的视频编码方法中的一种用规定的编码模式来编码该画面。画面编码单元13采用的视频编码方法可以是(例如)MPEG-4AVC/H.264或MPEG-2。画面编码单元13将包含每个经编码的画面的经编码的视频数据存储在存储单元(未描绘出)中。

接下来,将描述当拼接两个经编码的视频数据流时执行的编辑处理。利用拼接点标识信息处理单元14和数据拼接单元15来执行编辑处理。

拼接点标识信息处理单元14经由未描绘出的用户接口单元从存储单元(未描绘出)读出所选的这两个经编码的视频数据流。然而,拼接点标识信息处理单元14根据未描绘的外部施加的控制信号来标识时间上要被拼接在另一经编码的视频数据流的下游的第二经编码的视频数据流中的拼接点起始画面。例如,外部控制信号规定从第二经编码的视频数据流的起点开始的经编码的画面的数目,拼接点标识信息处理单元14将这个数目的经编码的画面内的最迟的CRA画面作为拼接点画面。

对于被标识出的拼接点CRA,如果那个画面的片的NalUnitType是4,则拼接点标识信息处理单元14将NalUnitType的值改变为7,其指示该画面是未被TFD画面紧跟的BLA画面。此外,拼接点标识信息处理单元14将第二经编码的视频数据流中的拼接点CRA画面及其后续画面提供给数据拼接单元15,并且同时发出丢弃紧跟拼接点CRA画面的TFD画面的指令。

另一方面,对于被标识出的拼接点CRA画面,如果该画面的片的NalUnitType是5,则拼接点标识信息处理单元14将NalUnitType的值改变为7,其指示该画面是未被TFD画面紧跟的BLA画面。此外,拼接点标识信息处理单元14将第二经编码的视频数据流中的拼接点CRA画面及其后续画面提供给数据拼接单元15。然而,在此情形中,拼接点标识信息处理单元14并不发出以丢弃拼接点CRA画面之后紧随的TFD画面的指令。

数据拼接单元15从拼接点标识信息处理单元14接收第二经编码的视频数据流,并且把它拼接到在时间上要被拼接在拼接点上游的第一经编码的视频数据流的尾端。此时,数据拼接单元15从第二经编码的视频数据流中丢弃紧跟其起始画面并且不能被正确再现的任何TFD画面。然后,数据拼接单元15将通过将第一和第二经编码的视频数据流拼接在一起而创建的被拼接的经编码的视频数据存储在存储单元(未描绘出)中。

图6是示出通过根据第一实施方式的视频编码装置执行的视频编码处理的操作流程图。视频编码装置1根据图6的操作流程图对要被编码的整个视频序列进行编码。

在开始这个序列的编码处理之前,例如,通过控制单元11来确定诸如GOP的画面预测结构(步骤S101)。将所确定的画面预测结构用信号发送至编码控制单元12。

然后,编码控制单元12基于画面预测结构、根据视频数据的起点开始的的目标画面的位置等来确定要被用于对目标画面进行编码的编码模式并且产生要被编码的目标画面的头信息(步骤S102)。

接下来,编码控制单元12确定是否目标画面的片NUH中的NalUnitType是否是4或5或8中的任何一个,或者不是其中之一(步骤S103)。当NalUnitType是4时,目标画面是被TFD画面跟随的CRA画面。当包含作为起始画面的此目标画面的经编码的视频数据流被拼接在另一经编码的视频数据流的下游侧时,需要在视频解码处理过程中校正此目标画面及其后续画面的解码延迟和显示延迟值。因此,编码控制单元12将被附加到此目标画面的BPSEI中的RapCpbParamsPresentFlag设定为1(步骤S104)。然后,编码控制单元12将要被用于校正显示延迟的显示延迟校正信息AltDpbOutputDelay的值设定成等于要被重新排序的画面的数目的二倍。此外,编码控制单元12将要被用于校正解码延迟的解码延迟校正信息AltCpbRemovalDelayOffset的值设定成等于紧跟CRA画面的TFD画面的数目的二倍(步骤S105)。

另一方面,当NalUnitType是4或5时,目标画面是被附加了BPSEI的画面,但是此目标画面未被TFD画面跟随。因此,编码控制单元12将被附加到此目标画面的BPSEI中的RapCpbParamsPresentFlag设定为0(步骤S106)。当NalUnitType既不是4也不是5或8时,此目标画面不是被附加了BPSEI的画面。因此,编码控制单元12并不设定RapCpbParamsPresentFlag。

在步骤S105或S106之后,或者如果在步骤S103中NalUnitType不是4或5,则编码控制单元12将目标画面的数据与那个画面的头信息和编码模式的类型一起提供至画面编码单元13。然后,画面编码单元13根据编码模式和头信息来对目标画面进行编码并将头信息附加到经编码的画面的数据(S107)。

之后,控制单元11确定在视频序列中是否存在余下要被编码的任何画面(步骤S108)。如果存在余下要被编码的任何画面(步骤S108中的是),则控制单元11执行从步骤S102开始的处理以对下一目标画面进行编码。另一方面,如果不存在余下要被编码的任何画面(步骤S108中的否),则控制单元11终止编码处理。

图7是示出通过根据第一实施方式的视频编码装置执行的视频编辑处理的操作流程图。

拼接点标识信息处理单元14从存储单元(未描绘出)依次读出要被拼接在拼接点的上游的第一经编码的视频数据流中的直到拼接点的编码数据(步骤S201)。此外,拼接点标识信息处理单元14从存储单元(未描绘出)读出要被拼接在拼接点下游的第二经编码的视频数据流中的在拼接点之后的经编码的画面(步骤S202)。接下来,针对读取自第二经编码的视频数据流的起始CRA画面,拼接点标识信息处理单元14将每个片NUH中的NalUnitType的值改变为指示BLA画面的值,并将起始CRA画面提供至数据拼接单元15(步骤S203)。此外,拼接点标识信息处理单元14确定是否NalUnitType的原始值是4,即,是否存在任何TFD画面(步骤204)。如果NalUnitType的原始值是4(步骤S204中的是),则存在在起始CRA(拼接之后其是BLA画面)画面之后的TFD画面。因此,拼接点标识信息处理单元将TFD丢弃标志设定为1(步骤S205)。另一方面,如果NalUnitType的原始值不是4(步骤S204中的否),则不存在起始CRA画面之后的TFD画面。因此,拼接点标识信息处理单元将TFD丢弃标志设定为0(步骤S206)。

在步骤S205或S206,拼接点标识信息处理单元14将第二经编码的视频数据流的起始CRA画面及其后续画面提供至数据拼接单元15。然后,数据拼接单元15将起始CRA画面(即,BLA画面)拼接在第一经编码的视频数据流的拼接点的下游侧(步骤S207)。

之后,数据拼接单元15进行至在被拼接到第一经编码的视频数据流的画面之后或者在被丢弃的画面之后的在第二经编码的视频数据流中的下一目标画面。然后,数据拼接单元15确定是否此目标画面的每个片NUH中的NalUnitType是2(即,是否该画面是TFD画面),并且是否TFD丢弃标志是1(步骤S208)。

如果NalUnitType是2并且如果TFD丢弃标志是1(步骤S208中的是),则数据拼接单元15丢弃此目标画面(步骤S209)。另一方面,如果NalUnitType不是2或者如果TFD丢弃标志是0(步骤S208中的否),则数据拼接单元15将此目标画面添加于被拼接的经编码的视频数据的尾端,并将TFD丢弃标志设定为0(步骤S201)。

在步骤S209或S210之后,数据拼接单元15确定目标画面之后是否存在任何其它画面(步骤S211)。如果存在任何后续画面(步骤S211中的是),则数据拼接单元15返回步骤S208以重复上面的步骤。另一方面,如果不存在任何后续画面(步骤S211中的否),则数据拼接单元15终止视频编辑处理。

接下来将描述用于对通过根据第一实施方式的视频编码装置1编码或编辑了的经编码的视频数据进行解码的视频解码装置。

图8是根据第一实施方式的视频解码装置的简化框图。视频解码装置2包括控制单元21、头信息分析单元22、画面解码/显示时间确定单元23、画面解码单元24以及帧存储器25。构成视频解码装置2的这些单元均作为单独的电路被实现在视频解码装置2中。可替选地,构成视频解码装置2的这些单元可以以单个集成电路(其上的实现各个单元的功能的电路被集成)的形式被实现在视频解码装置2中。此外,构成视频解码装置2的这些单元可以是通过在视频解码装置2中所合并的处理器上执行计算机程序实现的功能模块。

在对经编码的视频数据进行解码时,控制单元21控制视频解码装置2的每个指定单元的操作。

头信息分析单元22分析经编码的视频数据的头信息并将确定画面解码和显示时间所需的参数(例如,每个画面的NalUnitType,BPSEI中所携带的AltDpbOutputDelay和AltCpbRemovalDelayOffset,以及PTSEI中所携带CpbRemovalDelay和DpbOutputDelay)传递至画面解码/显示时间确定单元23。

从头信息分析单元22接收参数的画面解码/显示时间确定单元23检查要被解码的目标画面的片NUH。当NUH中所携带的NalUnitType的值是6或7时,画面解码/显示时间确定单元23确定要被解码的画面是BLA画面。

当要被解码的画面是BLA画面时,画面解码/显示时间确定单元23使用以下列方式计算出的值而不是被附加到BLA画面的PTSEI中所携带的CpbRemovalDelay的值来作为BLA画面的解码延迟CpbRemovalDelay。

画面解码/显示时间确定单元23从BLA画面之前的紧跟最新近的被附加了BPSEI的画面的画面开始一直到紧接在BLA画面之前的画面,对画面的数目A进行计数。接下来,画面解码/显示时间确定单元23检查被附加到紧接在BLA画面之前的画面的PTSEI中所携带的CpbRemovalDelay的值B。然后画面解码/显示时间确定单元23将BLA画面的解码延迟CpbRemovalDelay的值计算为A*(B/(A-1))。

当要被解码的画面是NalUnitType是7(其指示BLA画面被TFD画面紧跟)的BLA画面时,画面解码/显示时间确定单元23进一步检查被附加到BLA画面的BPSEI中的标志RapCpbParamsPresentFlag。当RapCpbParamsPresentFlag的值是1时,画面解码/显示时间确定单元23确定紧跟BLA画面的TFD画面已被丢弃,并且以下面的方式校正该BLA画面的显示延迟DpbOutputDelay和从紧跟BLA画面的画面到下一个被附加了BPSEI的画面的每个后续画面的解码延迟CpbRemovalDelay。

画面解码/显示时间确定单元23使用被附加到BLA画面的BPSEI中所携带的AltDpbOutputDelay,而不是被附加到BLA画面的PTSET中所携带的DpbOutputDelay来作为BLA画面的显示延迟DpbOutputDelay。此外,画面解码/显示时间确定单元23对从紧跟BLA画面的画面到下一个被附加了BPSEI的画面中的每个后续画面、通过从被附加到后续画面的PTSET中所携带的CpbRemovalDelay的值减去被附加到BLA画面的BPSEI中所携带的AltCpbRemovalDelayOffset的值来进行校正。

对于除上面的画面之外的画面,画面解码/显示时间确定单元23通过直接取得被附加到该画面的PTSEI中所携带的CpbRemovalDelay和DpbOutputDelay的值来确定该画面的解码延迟CpbRemovalDelay和显示延迟DpbOutputDelay。

画面解码/显示时间确定单元23基于上面的解码延迟CpbRemovalDelay来确定每个画面的解码时间,并且在确定的解码时间将解码指令发送至画面解码单元24。此外,画面解码/显示时间确定单元23基于上面的显示延迟DpbOutputDelay来确定每个画面的显示时间,并且在确定的显示时间将显示指令发送至帧存储器25。

一旦接收到目标画面的解码指令,画面解码单元24通过利用帧存储器25中所存储的参考画面来解码目标画面。然后,画面解码单元24将经解码的画面存储到帧存储器25中。画面解码单元24通过使用与视频编码装置1中的画面编码单元所采用的方法相同的编码方法来执行该解码。

帧存储器25存储经解码的画面。此外,帧存储器25将经解码的画面输出至画面解码单元24以向随后要被解码的画面提供参考画面。帧存储器25还根据从画面解码/显示时间确定单元23接收的显示指令向显示单元(未描绘出)输出经解码的画面。

图9是示出通过根据第一实施方式的视频解码装置执行的视频解码处理的操作流程图。视频解码装置2根据图9的操作流程图来对要被解码的整个视频序列进行解码。

在对整个序列开始解码处理之前,控制单元21将变量“cnt”和“flag”初始化为0(步骤S301)。变量“cnt”表示从被附加了BPSEI的画面至下一个被附加了BPSEI的画面范围中的画面的数目。变量“flag”是指示画面是否是其CpbRemovalDelay需要校正的非BLA画面的变量。

接下来,头信息分析单元22分析要被解码的目标画面的头信息,并将确定显示时间所需的参数传送至画面解码/显示时间确定单元23(步骤S302)。画面解码/显示时间确定单元23确定是否变量“flag”是0或者是否要被解码的画面的片头NUH中的NalUnitType的值是6或7,即,是否要被解码的画面是BLA画面(步骤S303)。如果变量标志是1,并且如果要被解码的画面的片头NUH中的NalUnitType的值不是6或7(步骤S303中的否),则画面解码/显示时间确定单元23通过使用解码延迟校正信息来校正要被解码的画面(在此情形中,其是非BLA画面)的解码延迟CpbRemovalDelay。

在步骤S304之后,或者如果在步骤S303中确定出变量“flag”是0或者NalUnitType是6或7(步骤S303中的是),则画面解码/显示时间确定单元23确定是否要被解码的画面是被附加了BPSEI的画面(步骤S305)。

如果要被解码的画面是被附加了BPSEI的画面(步骤S305中的是),则画面解码/显示时间确定单元23将变量“cnt”的值复制为变量“d”,并将变量“cnt”和“flag”重置为0(步骤S306)。如果要被解码的画面不是被附加了BPSEI的画面(步骤S305中的否),则画面解码/显示时间确定单元23使变量“cnt”的值增加1(步骤S307)。

在步骤S306或S307之后,画面解码/显示时间确定单元23确定要被解码的画面的片头NUH中的NalUnitType的值是否是6或7(步骤S308)。如果要被解码的画面的片头NUH中的NalUnitType的值是6或7(步骤S308中的是),则要被解码的画面是BLA画面。然后,画面解码/显示时间确定单元23根据变量“d”的值来校正画面的解码延迟CpbRemovalDelay(步骤S309)。

接下来,画面解码/显示时间确定单元23确定是否要被解码的画面的片头NUH中的NalUnitType的值是7并且是否被附加到要被解码的画面的BPSEI中的RapCpbParamsPresentFlag的值是1(步骤S310)。如果要被解码的画面的片头NUH中的NalUnitType的值是7,并且如果被附加到要被解码的画面的BPSEI中的RapCpbParamsPresentFlag的值是1(步骤S310中是),则画面解码/显示时间确定单元23将变量“flag”设定为1,同时将BLA画面的显示延迟DpbOutputDelay校正为显示延迟校正信息AltDpbOutputDelay(步骤S311)。

在步骤S311之后,或者如果在步骤S308中确定出要被解码的画面的片头NUH中的NalUnitType的值不是6或7(步骤S308中的否),或者如果在步骤S310中确定出要被解码的画面的片头NUH中的NalUnitType的值不是7并且被附加到要被解码的画面的BPSEI中的RapCpbParamsPresentFlag的值是0(步骤S310中的否),则画面解码/显示时间确定单元23在确定的解码时间向画面解码单元24发出解码指令。此外,画面解码/显示时间确定单元23在确定的显示定时向帧存储器25发出显示指令。然后,画面解码单元24在解码时间对目标画面进行解码。另一方面,帧存储器25在显示单元(未描绘出)上显示经解码的画面(步骤S312)。

控制单元21确定经编码的视频数据中是否存在余下要被解码的任何画面(步骤S313)。如果存在余下要被解码的任何画面(步骤S313中的是)则控制单元21返回至步骤S302。然后,解码顺序中下一个要被解码的画面被当做目标画面,并且重复从步骤S302开始的处理。另一方面,如果不存在余下要被解码的任何画面(步骤S313中的否),则控制单元21终止视频解码处理。

如上所述,即使当两个或多个经编码的视频数据流在不对其解码的情况下被拼接在一起时,根据本实施方式的视频编码装置不需要校正在编码时确定的解码延迟和显示延迟参数。然后,由于可利用在拼接经编码的视频数据流时添加的解码延迟校正和显示延迟校正参数来校正每个画面的解码延迟和显示延迟,所以根据本实施方式的视频解码装置可在校正时间对每个画面进行解码并显示。

接下来,将描述第二实施方式。第二实施方式与第一实施方式的不同在于经编码的视频数据的结构。

参考图10,将描述根据第二实施方式的经编码的视频数据的结构。与根据图4中描绘的第一实施方式的经编码的画面结构一样,一个画面的数据结构包含六种NAL单元1010至1015。其中,BPSEI 1013和1014不同于图4中描绘的BPSEI 413和BPSEI 414。另一方面,DELIM 1010、SPS 1011、PPS 1012、SLICE 1015以及NUH 1020分别与图4中描绘的DELIM 410、SPS 411、PPS 412、SLICE 415以及NUH 420相同。

BPSEI 1013像BPSEI 413一样包含多个(N+1)个字InitialCpbRemovalDelay和InitialCpbRemovalDelayOffset段以及这些字段之后的RapCpbParamsPresentFlag字段。然而,AltCpbRemovalDelay字段和AltDpbOutputDelay字段并不被包含在BPSEI中。另一方面,PTSEI 1014像PTSEI 414一样包含CpbRemovalDelay字段和DpbOutputDelay字段。当BPSEI中的RapCpbParamsPresentFlag的值是1时,PTSEI 1014进一步包含AltCpbRemovalDelay字段和AltDpbOutputDelay字段。

如果即使当TFD画面被丢弃时特定画面的PTSET中的CpbRemovalDelay或DpbOutputDelay也不改变,则CpbRemovalDelay或DpbOutputDelay的值被设定为与CpbRemovalDelay或DpbOutputDelay的值相同。

如上所述,与第一实施方式的差异在于携带AltCpbRemovalDelay和AltDpbOutputDelay字段的SEI的类型。因此,第二实施方式的视频编码装置与第一实施方式的视频编码装置的不同在于编码控制单元12的操作。因此下面描述编码控制单元12的操作。

编码控制单元12将AltCpbRemovalDelay和AltDpbOutputDelay字段被存储到被附加到每个画面的PTSEI中,而不是在BPSEI中。在此情形中,编码控制单元12执行控制,使得每个画面的解码延迟和显示延迟的值在两个经编码的视频数据流被拼接时分别被存储到AltCpbRemovalDelay和AltDpbOutputDelay字段中。

接下来,将描述根据第二实施方式的视频解码装置的操作。根据第二实施方式的视频解码装置的构造与根据第一实施方式的视频解码装置的构造基本上相同。然而,第二实施方式的视频解码装置与第一实施方式的视频解码装置不同在于画面解码解码/显示时间确定单元23的操作。因此下面描述画面解码/显示时间确定单元23的操作。

当要被解码的画面是其NalUnitType是7的BLA画面时,画面解码/显示时间确定单元23进一步检查BPSEI中的RapCpbParamsPresentFlag。当RapCpbParamsPresentFlag是1时,画面解码/显示时间确定单元23确定紧跟BLA画面的TFD画面已被丢弃。然后,画面解码/显示时间确定单元23以下面的方式校正BLA画面的DpbOutputDelay和从紧跟BLA画面的画面(非TFD画面)至下一个被附加了BPSEI的画面范围中的每个画面的CpbRemovalDelay。

画面解码/显示时间确定单元23使用被附加到BLA画面的PTSEI中所携带的AltDpbOutputDelay,而不是被附加到BLA画面的PTSET中所携带的DpbOutputDelay来作为BLA画面的DpbOutputDelay。

此外,画面解码/显示时间确定单元23使用被附加到该画面的PTSEI中所携带的AltCpbRemovalDelayOffset,而不是被附加到该画面的PTSET中所携带的CpbRemovalDelay来作为从紧跟BLA画面的画面到下一个被附加了BPSEI的画面的范围中的每个画面的CpbRemovalDelay。

接下来,将描述第三实施方式,第三实施方式不同于第一实施方式在于视频解码装置中的画面解码/显示时间确定单元23计算BLA画面的解码延迟。因此下面将描述画面解码/显示时间确定单元23。

画面解码/显示时间确定单元23在分析从头信息分析单元22传递的目标画面的头信息时对片NUH进行检查。当HUH中所携带的NalUnitType的值是6或7时,画面解码/显示时间确定单元23确定出要被解码的目标画面是BLA画面。

当要被解码的目标画面是BLA画面时,画面解码/显示时间确定单元23使用以下面的方式计算出的值,而不是被附加到BLA画面的PTSEI中所携带的CpbRemovalDelay的值来作为BLA画面的CpbRemovalDelay。

用A来表示从BLA画面(下文中被称为Pic2)之前的、紧跟最新近的被附加了BPSEI的画面(在下文中被称为Pic1)的画面开始一直到紧接在Pic2之前的画面进行计数所得到的画面数目。画面解码/显示时间确定单元23根据Pic2的CpbRemovalDelay的值B导出第一校正值Mod1为A*(B/(A-1))。B/(A-1)对应于连续的画面之间的时间差(单位是tc)。B/(A-1)将在下文中被指定为“s”。

接下来,画面解码/显示时间确定单元23计算用于校正在拼接点处的CPB中保持的数据量上的差别。用Pos2表示正好在对Pic2进行解码之前在CPB中保持的数据量,更具体地,当通过将被附加到Pic2的BPSEI中所携带的InitialCpbRemovalDelay的值(表示为Init2)除以90000(即,90kHz)而计算出的时间[秒]从时间0(带有作为起始画面的Pic2的经编码的视频数据流的第一位到达视频解码装置的接收缓冲器的时间)开始消逝时在CPB中保持的数据量。然后,Pos被计算为(R*Init2/90000)。R表示位速率。

另一方面,用Init1表示被附加到Pic1的BPSEI中所携带的InitialCpbRemovalDelay的值,TotalB表示位于Pic1与Pic2之间(包括Pic1)的所有画面的代码的总量;然后,正好在对Pic2解码之前在视频解码装置对经编码的视频数据从其开始进行解码时被保持在CPB中的数据量Pos2被计算为(R*(Init1+(A+1)*s)-TotalB)。

当Pos1小于Pos2时,直到解码装置刚开始对解码视频数据流中的Pic2进行解码时,所有的Pic2数据还没有到达视频解码装置,因此不能对Pic1进行解码。这可以通过以(s*tc)为时间单位延迟Pic2的解码时间来避免。

当(Pos2-Pos1)<Th时,画面解码/显示时间确定单元23将第二校正值Mod2设定成0。阈值Th是正值。另外,画面解码/显示时间确定单元23将第二校正值Mod2设定成(Ceil((Pos2-Pos1)/R/(s*tc)))。Ceil()是取顶函数。当要被解码的画面是BLA画面时,画面解码/显示时间确定单元23将BLA画面的CpbRemovalDelay替换为(Mod1+Mod2)。

以这种方式,根据第三实施方式的视频解码装置确定正好在对BLA画面进行解码之前在CPB中保持的数据量。结果,根据此实施方式的视频解码装置能防止在VPB中出现下溢出。

接下来,将描述第四实施方式。在第四实施方式中,即使当被拼接在拼接点上游的第一经编码的视频数据流中要被重新排序的画面的数目不同于被拼接在拼接点的下游的第二经编码的视频数据流中要被重新排序画面的数目时,也可适当地确定解码延迟和显示延迟。此外,在第四实施方式中,即使当在第一经编码的视频数据流中在拼接点之前要被显示的任何画面已被丢弃了,也可适当地确定解码延迟和显示延迟。

参考图11至图13,针对不同画面编码结构和不同编辑点,给出画面解码延迟CpbRemovalDelay和显示延迟DpbOutputDelay的值的解释。

在图11中,第一经编码的视频数据流中要被重新排序的画面的数目以及第二经编码的视频数据流中要被重新排序的画面的数目都是2,与在图3的情况中一样。此外,第一经编码的视频数据流1101和第二经编码的视频数据流1102与图3描绘中的第一经编码的视频数据流301和第二经编码的视频数据流301一样。指示第二经编码的视频数据流1102的解码延迟和显示延迟值的块阵列1103与图3中描绘的块阵列也一样。然而,与图3不同的是,第一经编码的视频数据流1101中的画面B13是拼接点画面。

结果,与被拼接的经编码的视频数据流304不同的是,被拼接的经编码的视频数据1104中不包含画面B15。

块阵列1105指示被拼接的经编码的视频数据1104中的画面I72、I76、B74、B73以及B75应具有的解码延迟CpbRemovalDelay和显示延迟DpbOutputDelay。块阵列1105的上部行中的每个块携带了位于该块正上方的被拼接的经编码的视频数据1104中的对应画面的解码延迟CpbRemovalDelay的值。同样,块阵列1105的下部行中的每个块携带了位于该块正上方的被拼接的经编码的视频数据1104中的对应画面的显示延迟DpbOutputDelay的值。如可从块阵列1105看到的,即使当画面I72被拼接使得在B13之后时,画面I72、I76、B74、B73以及B75的解码延迟值和显示延迟值与当画面I72被拼接使得紧跟画面B15时的一样。

与图3相比较,位于在画面I72与前面的最新近的被附加了BPSEI的画面I12之间的画面的数目是6,其比图3中位于画面I72与I12之间的画面的数目小1。然而,与图3中的情况一样,为了以与画面被输入时相同的间隔及相同顺序完全显示经解码的画面,CpbRemovalDelay的值需被设定为16。

将参考块阵列1106来描述原因。块阵列1106指示按照解码时间顺序和显示时间顺序的在被拼接的经编码的视频数据中的画面。如块阵列1106中所描绘的,被拼接的经编码的视频数据并不包含画面B15,但画面P16需要在B14之后被显示两个画面时间。如果画面I72和后续的画面要在显示P16之后被连续地显示,则画面I72的解码时间必须被延迟一个画面时间。在此情形中,由于画面B14被显示了两个画面时间,所以出现了显示冻结。

在图12中所示的实例中,第二经编码的视频数据流1202中要被重新排序的画面的数目小于第一经编码的视频数据流1201中要被重新排序的画面的数目,在所示出的实例中,第一经编码的视频数据流1201中要被重新排序的画面的数目是2,而第二经编码的视频数据流1202中要被重新排序的画面的数目是1。块阵列1203指示拼接之前第二经编码的视频数据流中的每个画面的解码延迟CpbRemovalDelay和显示延迟DpbOutputDelay。

假如,第二经编码的视频数据流1202中的画面I72被拼接使得在第一经编码的视频数据流1201中的画面B15之后,如在被拼接的经编码的视频数据流1204中所描绘的。在此情形中,拼接之后的画面I72及其后续画面的解码延迟和显示延迟值如在块阵列1205中所描绘的一样。块阵列1206指示按照解码时间顺序和按照显示时间顺序的在被拼接的经编码的视频数据中的画面。

为了以与画面被输入相同的间隔及相同的顺序接连地完全显示经解码的画面,如在块阵列1206中所描绘的,需要与在第一经编码的视频数据流1201中要被重新排序的画面的数目与在第二经编码的视频数据流1202中要被重新排序的画面的数目之间的差成比例地增加第二经编码的视频数据流1202中的起始画面的解码延迟。在所示的实例中,解码延迟被增加了2至16

如果第一经编码的视频数据流中被选为拼接点画面的画面不是B15,而是画面B13、B14或B16,则第二经编码的视频数据流中的起始画面的解码延迟与当第二经编码的视频数据流被拼接从而在画面B15之后时一样。然而,在此情形中,在等于画面B16之前的画面当中被丢弃的画面的数目的时段内出现画面显示冻结。

在图13中所示的实例中,第一经编码的视频数据流1301中要被重新排序的画面的数目小于第二经编码的视频数据流1302中要被重新排序的画面的数目。在所示的实例中,第一经编码的视频数据流1301中要被重新排序的画面的数目是1,而第二经编码的视频数据流1302中要被重新排序的画面的数目是2。块阵列指示拼接之前第二经编码的视频数据流中每个画面的解码延迟CpbRemovalDelay和显示延迟DpbOutputDelay。

假定第二经编码的视频数据流1302中的画面I72被拼接成跟随在第一经编码的视频数据流1301中的画面B15,如在被拼接的经编码的视频数据流1304中所描绘的。在此情形中,拼接之后画面I72及其后续画面的解码延迟和显示延迟如在块阵列1305中所描述的。块阵列1306指示按照解码时间顺序和显示时间顺序的在被拼接的经编码的视频数据中的画面。

为了以与画面被输入相同的间隔及相同的顺序完全显示经解码的画面,第一经编码的视频数据流中的最后显示画面需被重复。

如图12和图13中所示,基于第一经编码的视频数据流中要重新排序的画面的数目与第二经编码的视频数据流中要重新排序的画面的数目之间的关系,需要延迟第二经编码的视频数据流中的起始画面的解码时间,否则可能跨拼接点而发生显示画面冻结。此外,如在图11中所示出的,根据第一经编码的视频数据流中拼接点的位置,显示画面冻结可能变得不可避免。

接下来将描述解决上述问题的根据第四实施方式的视频解码装置。第四实施方式的视频解码装置与第一实施方式的视频解码装置不同在于画面解码/显示实现确定单元23的操作。因此下面描述画面解码/显示实现确定单元23。

画面解码/显示实现确定单元23在分析从头信息分析单元22传递的目标画面的头信息时对片NUH进行检查。当HUH中所携带的NalUnitType的值是6或7时,画面解码/显示时间确定单元23确定出要被解码的目标画面是BLA画面。

当要被解码的目标画面是BLA画面时,画面解码/显示时间确定单元23使用以下面的方式计算出的值,而不是被附加到BLA画面的PTSEI中所携带的CpbRemovalDelay的值来作为BLA画面的CpbRemovalDelay。

画面解码/显示时间确定单元23从BLA画面(在下文中被称为Pic2)之前的紧跟最新近的被附加了BPSEI的画面的画面(在下文中被称为Pic1)开始一直到紧接在Pic2之前的画面对画面的数目A进行计数。画面解码/显示时间确定单元23检查被附加到紧接在Pic2之前的画面的PTSET中所携带的CpbRemovalDelay的值B,并将PTSET的第一校正值Mod1计算为A*(B/(A-1))。

接下来,画面解码/显示时间确定单元23将要重新排序的画面的数目R1(其在紧接在Pic2之前的画面所参考的SPS中被定义)与要重新排序的画面的数目R2(其被紧跟Pic2的非TFD画面所参考)相比较。指示SPS中要被重新排序的画面的数目的字段是根据在非专利文献JCTVC-I1003("High-Efficiency Video Coding(HEVC)text specification Working Draft 7,"Joint Collaborative Team on Video Coding of ITU-T SG16WP3and ISO/IEC JTC1/SC29/WG11,May 2012)中所公开的方法的SpsNumReorderPics。

当R1等于R2时,画面解码/显示时间确定单元23使用Mod1直接作为Pic2的CpbRemovalDelay。当R2大于R1时,画面解码/显示时间确定单元23将PTSEI的第二校正值Mod2计算为(R2-R1)*B/(A-1)。当R2小于R1时,画面解码/显示时间确定单元23使用Mod1直接作为Pic1的CpbRemovalDelay。

此外,画面解码/显示时间确定单元23基于R1与R2之间的关系来确定第一经编码的视频数据流中的最后画面是否要被冻结显示,向帧存储器25发信号通知确定的冻结时间段。

画面解码/显示时间确定单元23以下列方式确定冻结时间段(以tc为单位)。当R1等于R2时或当R1大于R2时,画面解码/显示时间确定单元23将冻结时间段设定成0。另一方面,当R1小于R2时,画面解码/显示时间确定单元23将冻结时间段设定成(R2-R1)*B/(A-1)。

如上所述,根据第四实施方式,即使当拼接在拼接点的上游的第一经编码的视频数据流包含在编码(解码)顺序上迟于拼接点画面并且要早于拼接点画面被再现的任何画面时,视频解码装置也能适当地确定位于拼接点之后的每个画面的解码延迟和显示延迟。此外,即使当要被重新排序的画面的数目在拼接点之前和之后是不同的时,视频解码装置也能适当地确定位于拼接点之后的每个画面的解码延迟和显示延迟。

接下来将描述第五实施方式。在第五实施方式中,视频编码装置添加了一个当两个经编码的视频数据流被拼接在一起时用于标识不会造成显示画面冻结的画面的参数。

为了防止跨拼接点而发生显示画面冻结,第一经编码的视频数据流中要被重新排序的画面的数目必须等于或大于第二经编码的视频数据流中要被重新排序画面的数目,并且第一经编码的视频数据流的拼接点必须被定位在仅参考时间在前的画面的画面的前一位置。在图11的实例中,满足此条件的拼接点式画面B11或B15。

图14示出了在根据第五实施方式的经编码的视频中所包含的一个画面的数据结构。图14中所示出的经编码的视频中所包含一个画面的数据结构与图4中所示的时间结构400不同在于包括了编辑点SEI(EPSEI)NAL单元1416。其它六个NAL单元1410至1415与图4中所示的数据结构400的对应NAL单元410至415相同。

EPSEI NAL单元1416是指示不会跨拼接点而造成显示画面冻结的拼接点画面的SEI数据。在本实施方式中,EPSEI不包括任何特定字段。

下面将描述根据第五实施方式的视频编码装置的操作。第五实施方式的视频编码装置与第一实施方式的视频编码装置不同之处在于在编码时将EPSEI附加到特定画面的编码控制单元12和画面编码单元13,以及在于通过在编辑时参考EPSEI来确定拼接点的数据拼接单元15。因此下面将描述用于附加EPSEI的编码控制单元12和画面编码单元13以及在编辑过程中数据拼接单元15的操作。

在编码时,编码控制单元命令画面编码单元13将EPSEI附加到要被编码的画面,如果该画面是仅参考在显示时间顺序上较早的画面的紧接在B画面或P画面之前的画面或者紧接在I画面之前的画面的话。可替选地,如果该画面不是仅参考显示时间顺序上较早的I画面或B画面或P画面,编码控制单元12可以命令画面编码单元13将EPSEI附加到要被编码的画面。

当从编码控制单元12接收到用于附加EPSEI的命令时,画面编码单元13对该画面进行编码并将EPSEI附加到它。

在编辑时,时间拼接单元15根据来自控制单元11的控制信号来标识第一经编码的视频数据流中的拼接点画面。控制信号例如包括从第一经编码的视频数据流的开始计数的经编码的画面的数目。数据拼接单元15通过在可应用画面以及跟随该可应用画面的画面当中选择在编码顺序上最早的被附加了EPSEI的画面来确定拼接点画面。可替选地,数据拼接单元15通过在可应用画面及跟随可应用画面的画面当中选择紧接在在编码顺序上最早的被附加了EPSEI的画面的画面来确定第一经编码的视频数据流中的拼接点画面。然后,然后,数据拼接单元15从存储单元(未描绘出)读出第一经编码的视频数据流中的拼接点画面和所有其之前的画面。接下来,数据拼接单元15从存储单元(未描绘出)读出提供自拼接点标识信息处理单元14的第二经编码的视频数据流的一部分(具有作为起始画面的拼接点CRA画面)。此时,如果从拼接点标识信息处理单元14发出丢弃紧跟拼接点CRA画面的任何TFD画面的指令,则数据拼接单元15丢弃所有这种TFD画面。数据拼接单元15然后输出读取的第一经编码的视频数据流,并在之后输出第二经编码的视频数据流。

如上所述,根据第五实施方式的视频编码装置,指示当两个经编码的视频数据流被拼接时不会造成显示冻结的画面的信息被附加到该经编码的视频数据,结果,视频编码装置可将两个经编码的视频拼接在一起而不会造成显示冻结。

接下来,将描述第六实施方式。

在第六实施方式的视频编码装置中,被用于获得第二校正值Mod2(用于校正在拼接点处在CPB中保持的数据量上的差别)的值如在第三实施方式中所描述的那样预先被附加到第一经编码的视频数据流。

图15示出了根据第六实施方式的经编码的视频中所包含的一个画面的数据结构。图15中所示出的数据结构150与图14中所示出的数据结构1400不同在于EPSEI NAL单元1516包括BufferOccupancy字段。其它六个NAL单元1510至1515与图14中示出的数据结构400的对应NAL单元1410至1415相同。BufferOccupancy字段指示刚好在拼接点前在CPB中保持的数据量。

将描述根据第六实施方式的视频编码装置的操作。第六实施方式的视频编码装置不同于第五实施方式的视频编码装置之处在于编码控制单元12的操作部分。因此下面描述所不同的编码控制单元12的操作部分。

编码控制单元12命令画面编码单元13将EPSEI附加到要被编码的画面,如果该画面是仅参考在显示时间顺序上较早的画面的紧接在B画面或P画面之前的画面或者紧接在I画面之前的画面的话。在第三实施方式中所描述的值(R*(Init1+(A+1)*s)-TotalB)被存储在EPSEI中的BufferOccupancy字段。可选择地,(R*(Init1+(A+1)*s)-TotalB)被位速率R除后可被存储在BufferOccupancy字段。

将描述根据第六实施方式的视频解码装置的操作。第六实施方式的视频解码装置与第三实施方式的视频解码装置不同之处在于画面解码/显示时间确定单元23的操作部分。因此下面描述所不同的画面解码/显示时间确定单元23的操作部分。

当分析从头信息分析单元22传送的目标画面的头信息时,画面解码/显示时间确定单元23检查片NUH。当NUH中所携带的NalUnitType的值是6或7时,画面解码/显示时间确定单元23确定要被解码的画面是BLA画面。

当要被解码的画面是BLA画面时,画面解码/显示时间确定单元23使用以下面的方式计算出的值,而不是在被附加到BLA画面的PTSEI中所携带的CpbRemovalDelay的值来作为BLA画面的解码延迟CpbRemovalDelay。

用A来表示从BLA画面(下文中被称为Pic2)之前的、紧跟最新近的被附加了BPSEI的画面(下文中被称为Pic1)的画面开始一直到紧接在Pic2之前的画面进行计数所得到的画面数目。画面解码/显示时间确定单元23根据Pic2的CpbRemovalDelay的值B导出第一校正值Mod1为A*(B/(A-1))。B/(A-1)对应于连续的画面之间的时间差(单位是tc)。B/(A-1)将在下文中被指定为“s”。

画面解码/显示时间确定单元23通过使用被附加到紧接在BLA画面之前的画面的EPSEI中的字段BufferOccupancy中所存储的值(或者该值乘以R后所得的结果,如果存储了该值除以比特率R后所得的结果的话)作为在第三实施方式中所描述的值(R*(Init1+(A+1)*s)-TotalB),根据第三实施方式的方法来计算第二校正值Mod2。

接下来,画面解码/显示时间确定单元23将要被重新排序的画面数目R1(其在紧接在Pic2之前的画面所参考的SPS中被定义)与要被重新排序的画面数目R2(其被紧跟Pic2的非TFD画面所参考)相比较。根据在之前引用的非专利文献中所公开的的方法,SPS中指示要被重新排序的画面的数目的字段是SpsNumReorderPics。

当R2大于R1时,画面解码/显示时间确定单元23将PTSEI的第三校正值Mod3计算为(R2-R1)*B/(A-1)。否则,画面解码/显示时间确定单元23将PTSEI的第三校正值Mod3设定为0。然后,画面解码/显示时间确定单元23将Pic2的CpbRemovalDelay校正为(Mod1+Mod2+Mod3)。

接下来,将描述第七实施方式,在第七实施方式中,当拼接两个经编码的视频数据流时,视频编码装置校正BLA画面的CpbRemovalDelay。此时,视频编码装置添加指示是否被拼接的经编码的视频数据可跨BLA画面而被连续地解码并显示的参数。

校正BLA画面的CpbRemovalDelay的方法与第六实施方式中画面解码/显示时间确定单元23用于校正CpbRemovalDelay的方法基本上相同。

图16示出了根据第七实施方式的经编码的视频中所编码的一个画面的数据结构。图16中所示出的经编码的视频中所编码的一个画面的数据结构1600不同于图14中所示出的数据结构1400之处在于BPSEI NAL单元1613包括ContinuousHrdFlag字段。其它六个NAL单元1610至1612和1614至1617与图14中所示出的数据结构1400的对应NAL单元1410至1412和1414至1417相同。

ContinuousHrdFlag字段指示视频解码装置是否可跨BPSEI已被附加到的BLA画面而连续地解码并显示经编码的视频数据。

ContinuousHrdFlag字段可被包含在SPS 1611或某些其它NAL单元中,而不是被包含在BPSEI中。

将描述根据第七实施方式的视频编码装置的操作。第七实施方式的视频编码装置的操作不同于第五实施方式的视频编码装置的操作在于数据拼接单元15的操作部分。因此下面描述所不同的数据拼接单元15的操作部分。

数据拼接单元15从拼接点标识信息处理单元14接收第二经编码的视频数据流,并将其拼接到时间上被拼接在拼接点上游的第一经编码的视频数据流的尾端。此时,数据拼接单元15将画面参数(指示第一和第二经编码的视频数据流中所包含的画面的特征)中的至少一个进行比较。例如,如果,第一和第二经编码的视频数据流中,在两个经编码的视频数据流之间画面尺寸或画面速率不同,则数据拼接单元15将参数ContFlag(其指示被拼接的经编码的视频数据是否能跨拼接点而被连续地解码并显示)的值设定成0(其指示视频数据不能被连续地解码并显示)。另一方面,如果第一和第二经编码的视频数据流之间画面尺寸和画面速率相同,则数据拼接单元15以与第六实施方式中的画面解码/显示时间确定单元23校正CpbRemovalDelay的方式相同的方式来计算BLA画面的CpbRemovalDelay。数据拼接单元15根据第六实施方式中的编码控制单元12用于计算BufferOccupancy字段的值的方法来计算对应于在EPSEI中的BufferOccupancy字段的值,即,用于计算第二校正参数Mod2的值。此外,数据拼接单元15将ContFlag参数设定成1,其指示拼接编码数据可被连续地解码并显示。

除了画面尺寸和画面速率之外,画面的色差成分格式或画面的像素分辨率可作为用于确定被拼接的经编码的视频数据是否能跨拼接点而被连续地解码并显示的画面参数而被添加。在此情形中,如果在第一和第二经编码的视频数据之间,所有的参数是相同的,则确定出被拼接的经编码的视频数据可跨拼接点而被连续地解码并显示。

当ContFlag参数的值是0时,数据拼接单元15将被附加到BLA画面的BPSEI中的ContinuousHrdFlag字段的值设定为0,其指示被拼接的经编码的视频数据不能被连续地解码并显示。另一方面,当ContFlag参数的值是1时,数据拼接单元15将被附加到BLA画面的BPSEI中的ContinuousHrdFlag字段的值设定为1,其指示被拼接的经编码的视频数据能被连续地解码并显示。此外,数据拼接单元15将第二经编码的视频数据流的起始画面(即,BLA画面)的解码延迟CpbRemovalDelay的值校正为如上面所计算出的值。

将描述根据第七实施方式的视频解码这种的操作。第七实施方式的视频解码这种不同于第一实施方式的视频解码这种之处在于画面解码/显示时间确定单元23的操作部分。因此下面描述所不同的画面解码/显示时间确定单元23的操作部分。

当要被解码的画面是BLA画面时,画面解码/显示时间确定单元23参考被附加到BLA画面的BPSEI中的ContinuousHrdFlag字段的值。

当ContinuousHrdFlag字段的值是1时,即,当被拼接的经编码的视频数据能跨拼接点而被连续地解码并显示时,画面解码/显示时间确定单元23使用被附加到BLA画面的BPSEI中的CpbRemovalDelay直接作为BLA画面的解码延迟。另一方面,当ContinuousHrdFlag字段的值是0时,即,当被拼接的经编码的视频数据不能跨拼接点而被连续地解码并显示时,画面解码/显示时间确定单元23并不根据CpbRemovalDelay,而是通过使用BPSEI中所包括的初始解码延迟信息InitialCpbRemovalDelay的值来确定BLA画面的解码时间。在此情形中,画面解码/显示时间确定单元23通过参考时间0(其被设定为迟于紧接在BLA画面之前的画面的解码时间)根据InitialCpbRemovalDelay来计算BLA画面的解码时间。可替选地,画面解码/显示时间确定单元23可在BLA画面之前的所有经编码的画面的显示被完成时的时间之后设定时间0。

图7是示出通过执行用于实现根据上面的实施方式或其变形例中的任何一个的视频编码装置或视频解码装置中的各个单元的功能的计算机程序来作为视频编码装置或视频解码装置操作的计算机的构造的示图。

计算机100包括用户界面单元101、通信接口单元102、存储单元103、存储介质存取装置104和处理器105。处理器105(例如,经由总线)被连接至用户界面单元101、通信接口单元102、存储单元103以及存储介质存取装置104。

用户界面单元包括(例如)诸如键盘和鼠标的输入装置和诸如液晶显示器的显示装置。可替选地,用户接口单元101可包括诸如触摸板显示器(输入装置和显示装置被集成在其中)的装置。用户接口单元101(例如,响应于用户操作)产生用于选择要被编码的视频数据、要被编辑的经编码的视频数据或要被解码的经编码的视频数据的操作信号,并将该操作信号提供至处理器105。该接口单元101还可显示从处理器105接收的解码视频数据。

通信接口单元102可包括将于将计算机100连接至视频数据产生装置(例如,摄像机)的通信接口,以及用于通信接口的控制电路。这种通信接口可以是(例如)通用串行总线(USB)接口。

此外,通信接口单元102可包括用于连接至诸如以太网(注册商标)的符合通信标准的通信网络,以及用于该通信接口的控制电路。

在后面的情形中,通信接口102从被连接至通信网络的另一装置接收要被编码的视频数据、要被编辑的经编码的视频数据或要被解码的经编码的视频数据并将接收的数据传递至处理器105。此外,通信接口102可从处理器105接收经编码的视频数据、被拼接的经编码的视频数据或解码视频数据并且可将该数据通过通信网络传输至另一装置。

存储单元103包括(例如)可读取/可写入半导体存储器和只读半导体存储器。存储单元103存储要在处理器105上执行的用于视频编码、视频编辑或视频解码的计算机程序,并且还存储作为程序执行的结果或在程序执行过程中产生的数据。

存储介质存取装置104是存取以磁盘、半导体存储卡或光存储介质为例的存储介质106的装置。存储介质存取装置104存取存储介质以读出(例如)要在处理器105上被执行的用于视频编码、视频编辑或视频解码的计算机程序,并将读出的程序传递至处理器105。

处理器105通过执行根据上面的实施方式或其任何变形例中的任何一个的视频编码计算机程序来产生经编码的视频数据。处理器105之后将所产生的经编码的视频数据存储到存储单元103中,或者将所产生的数据经由通信接口单元102传输至另一装置。此外,处理器105通过执行根据上面的实施方式或其任何变形例中的任何一个的视频编码计算机程序来将两个经编码的视频数据流拼接在一起,来产生被拼接的经编码的视频数据。处理器105然后将所产生的被拼接的经编码的视频数据存储在存储单元103中,或者将所产生的数据经由通信接口单元102传输至另一装置。此外,处理器105通过执行根据上面的实施方式或其任何变形例中的任何一个的视频解码计算机程序来对经编码的视频数据进行解码。处理器15然后将解码视频数据存储到存储单元103中,将该数据呈现给用户接口单元101用于显示,或者将该数据经由通信接口单元102传输至另一装置。

可以以被存储在半导体存储器中的形式或者以被存储在诸如光记录介质的记录介质上的形式来分布在计算机上执行的、实现构成根据上面的实施方式或其任何变形例中的每一个的视频编码装置或视频解码装置的各个单元功能的计算机程序。这里所使用的术语“记录介质”并不是载波。

构成根据上面的实施方式或其任何变形例中的每一个的视频编码装置的各个单元中,合并了与视频编辑相关的拼接点标识信息处理单元14和数据拼接单元15的装置可以与合并了与视频编码相关的编码控制单元12和画面编码单元13的装置分开提供。

根据上面的实施方式或其任何变形例的视频编码装置和视频解码装置被用在各种应用中。例如,该视频编码装置和视频解码装置被合并入摄像机、视频传输装置、视频接收装置、视频电话系统、计算机或移动电话。

发明构思

本发明提供了以下发明构思:

1.一种用于通过帧间预测性编码来对视频数据进行编码的视频编码装置,包括:

编码控制单元,其获得解码延迟校正信息和显示延迟校正信息,以便确保即使当在所述视频数据中在编码顺序上迟于有可能能够被拼接到其它经编码的视频数据的尾端的第一画面的一个或多个画面已被丢弃时,所述经编码的视频数据中的所述第一画面和后续画面也能由视频解码装置连续地解码并显示;以及

画面编码单元,其对所述视频数据中所包含的每个画面进行编码并将所述解码延迟校正信息和所述显示延迟校正信息附加到经编码的所述视频数据。

2.根据发明构思1所述的视频编码装置,其中,所述解码延迟校正信息携带了与能被丢弃的画面的数目对应的值。

3.根据发明构思1所述的视频编码装置,其中,所述显示延迟校正信息携带了与在在编码顺序上迟于所述第一画面的画面当中的、在显示顺序上最早的画面的显示时间与所述第一画面的显示时间之间出现的画面的数目对应的值。

4.根据发明构思1所述的视频编码装置,进一步包括:

拼接点标识信息处理单元,其在将所述经编码的视频数据拼接到所述其它经编码的视频数据时将标识起始的经编码的画面的信息附加到所述经编码的视频数据中的所述起始的经编码的画面;以及

数据拼接单元,其从所述经编码的视频数据中丢弃在编码顺序上迟于所述起始的经编码的画面并且参考在编码顺序上早于所述起始的经编码的画面的画面的一个或多个画面。

5.根据发明构思1所述的视频编码装置,进一步包括:

数据拼接单元,其在通过将所述经编码的视频数据拼接到所述其它经编码的视频数据来产生被拼接的经编码的视频数据时,参考指示所述经编码的视频数据和所述其它经编码的视频数据的画面特征的画面参数,并由此确定所述被拼接的经编码的视频数据是否能跨所述经编码的视频数据和所述其它经编码的视频数据被拼接于的拼接点而被连续地解码并显示,并在所述被拼接的经编码的视频数据中嵌入指示所述被拼接的经编码的视频数据是否能被连续地解码并显示的信息,其中,当所述被拼接的经编码的视频数据能被连续地解码并显示时,所述数据拼接单元将用于所述经编码的视频数据中的起始的经编码的画面的解码延迟值替换为使得能够连续解码和显示的值。

6.根据发明构思1所述的视频编码装置,其中,所述第一画面是在不参考任何其它画面的情况下被编码的画面。

7.根据发明构思1所述的视频编码装置,其中,所述画面编码单元向所述经编码的视频数据附加额外信息,所述额外信息指示紧接在一直到拼接点画面的所述经编码的视频数据被解码之前或之后的、所述视频解码装置中的理想化接收缓冲器的状态,并且其中,所述拼接点画面是这样的画面:其使得即使当另一经编码的视频数据紧接在所述拼接点画面之后被附加时,所述拼接点画面和在编码顺序上早于所述拼接点画面的任何画面也能被解码。

8.一种用于通过帧间预测性编码来对经编码的视频数据进行解码的视频解码装置,包括:

画面解码/显示时间确定单元,其当所述经编码的视频数据包含指示所述经编码的视频数据已通过将第二经编码的视频数据拼接到第一经编码的视频数据的尾端而被产生的信息、指示在所述第一经编码的视频数据和所述第二经编码的视频数据被拼接于的拼接点之后的、所述第二经编码的视频数据中的在编码顺序上迟于起始的经编码的画面的一个或多个经编码的画面已被丢弃的信息、用于对跟随所述起始的经编码的画面的画面的解码延迟进行校正的解码延迟校正信息、以及用于对所述起始的经编码的画面的显示延迟进行校正的显示延迟校正信息时,则基于所述显示延迟校正信息来对所述起始的经编码的画面的所述显示延迟进行校正,同时基于所述解码延迟校正信息来对跟随所述起始的经编码的画面的画面的所述解码延迟进行校正。

9.根据发明构思8所述的视频解码装置,其中,所述解码延迟校正信息携带了与在编码顺序上迟于所述起始的经编码的画面的被丢弃的经编码的画面的数目对应的值。

10.根据发明构思8所述的视频解码装置,其中,所述显示延迟校正信息携带了与在在编码顺序上迟于所述起始的经编码的画面的画面当中的、在显示顺序上最早的画面的显示时间与所述起始的经编码的画面的显示时间之间出现的画面的数目对应的值。

11.根据发明构思8所述视频解码装置,其中,所述画面解码/显示时间确定单元以这样的方式确定所述起始的经编码的画面的所述解码延迟:即,以至于弥补如根据在所述拼接点之前的经编码的画面计算出的、在所述起始的经编码的画面的解码时在接收缓冲器中保持的数据量与在所述接收缓冲器中实际保持的数据量之间的任何差别。

12.根据发明构思8所述的视频解码装置,其中,当所述经编码的视频数据包含指示所述经编码的视频数据是否能跨所述拼接点而被连续地解码并显示的信息时,如果所述信息指示所述经编码的视频数据能被连续地解码并显示,则所述画面解码/显示时间确定单元将所述经编码的视频数据中所包含的解码延迟信息的值作为用于所述起始的经编码的画面的解码延迟值,而如果所述信息指示所述经编码的视频数据不能被连续地解码并显示,则所述画面解码/显示时间确定单元将所述经编码的视频数据中所包含的初始解码延迟信息的值作为用于所述起始的经编码的画面的所述解码延迟值。

13.一种用于通过帧间预测性编码来对视频数据进行编码的视频编码方法,包括:

由至少一个处理器获得解码延迟校正信息和显示延迟校正信息,以便确保即使当在所述视频数据中在编码顺序上迟于有可能能够被拼接到其它经编码的视频数据的尾端的第一画面的一个或多个画面已被丢弃时,所述经编码的视频数据中的所述第一画面和后续画面也能由视频解码装置连续地解码并显示;以及

由所述至少一个处理器对所述视频数据中所包含的每个画面进行编码并将所述解码延迟校正信息和所述显示延迟校正信息附加到经编码的所述视频数据。

14.一种用于通过帧间预测性编码来对经编码的视频数据进行解码的视频解码方法,包括:

当所述经编码的视频数据包含指示所述经编码的视频数据已通过将第二经编码的视频数据拼接到第一经编码的视频数据的尾端而被产生的信息、指示在所述第一经编码的视频数据和所述第二经编码的视频数据被拼接于的拼接点之后的、所述第二经编码的视频数据中的在编码顺序上迟于起始的经编码的画面的一个或多个经编码的画面已被丢弃的信息、用于对跟随所述起始的经编码的画面的画面的解码延迟进行校正的解码延迟校正信息、以及用于对所述起始的经编码的画面的显示延迟进行校正的显示延迟校正信息时,则由至少一个处理器基于所述显示延迟校正信息来对所述起始的经编码的画面的所述显示延迟进行校正,同时由所述至少一个处理器基于所述解码延迟校正信息来对跟随所述起始的经编码的画面的画面的所述解码延迟进行校正。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1