视频编码设备、视频解码设备、视频编码方法、视频解码方法,以及程序的制作方法
【技术领域】
[0001]本发明涉及用于自动分割编码树单元的视频编码设备和视频解码设备。
【背景技术】
[0002]基于非专利文献(NPL) I中所描述的系统的视频编码系统将数字化视频的每一帧划分成编码树单元(CTU),并且每个CTU按光栅扫描顺序被编码。每个CTU按四叉树结构被分割成编码单元(CU)并且被编码。每个CU被分割成预测单元(PU)并且被预测。此外,每个CU的预测误差按四叉树结构被分割成变换单元(TU)并且被变换。
[0003]CU是帧内预测/帧间预测的编码单元。帧内预测和帧间预测在下面将被描述。
[0004]帧内预测是根据要被编码的帧的重构的图像的预测。在NPL I中所描述的系统中,在要被编码的块周围的重构的像素被外推以生成帧内预测信号。下文中,使用帧内预测的⑶被称为帧内⑶。注意,在NPL I中,帧内⑶的pred_mode_flag语法的值为I。
[0005]此外,不使用帧内预测的帧内⑶被称为I_PCM (帧内脉冲码调制)⑶。在I_PCM⑶中,⑶的图像被完好地发送,而不是发送⑶的预测误差。注意,在NPL I中,I_PCM⑶的pcm_flag语法的值为I。
[0006]帧间预测是基于与要被编码的帧在显示时间上不同的重构的帧(参考图片)的图像的预测。在下文中,帧间预测也被称为间预测。图10是描述帧间预测的示例的说明性示图。运动矢量MV= (mvx,mvy)指示参考图片的重构的图像块相对于要被编码的块的平移量。在帧间预测中,帧间预测信号基于参考图片的重构的图像块而被生成(在必要的情况下使用像素插值)。下文中,使用帧间预测的CU被称为帧间CU。注意,在NPL I中,帧间CU的pred_mode_flag 语法的值为 O。
[0007]使用帧间预测不发送运动矢量差别信息和⑶预测误差的帧间⑶被称为Skip⑶。在NPL I中,Skip CU的skip_flag语法的值为I。
[0008]只利用以上所提到的帧内⑶编码的帧被称为I帧(或I图片)。包括帧间⑶以及帧内CU的编码的帧被称为P帧(或P图片)。包括帧间CU的编码的帧被称为B帧(或B图片),对于该B帧,不只是一个参考图片而是两个参考图片被同时用于块的帧间预测。
[0009]帧内预测和帧间预测如上所述。
[0010]参考图11,典型的视频编码设备的配置和操作将被描述,该视频编码设备接收数字化视频的每个帧的每个CU作为输入图像并且输出比特流。
[0011]图11中所示的视频编码设备包括变换器/量化器102、熵编码器103、逆变换器/逆量化器104、缓冲器105、预测器106、PCM编码器107、PCM解码器108、复用数据选择器109、复用器110、开关121和开关122。
[0012]如图12中所示,帧由IXU(最大编码单元)构成。IXU由⑶(编码单元)构成。图12是示出了在帧的空间分辨率为CIF (共用中间格式)并且CTU尺寸为64时帧t的CTU分割的示例和帧t中的CTU8的CU分割的示例。CTU8的四叉树结构可以通过以下来表示:在CUDepth = O处的cu_split_flag = 1,指示64X64区域被分割;在CUDepth = I处的三个cu_split_flag = O,指示前三个 32X32 的 CU(CUO、CUl 和 CU2)未被分割;在 CUDepth =I处的cu_split_flag = 1,指示最后一个32X32的CU被分割;在CUD^th = 2处的三个cu_split_flag = O,指示前三个 16X16 的 CU(CU3、CU4 和 CU5)未被分割的、在 CUD^th =2处的cu_split_flag = 1,指示最后一个16X 16的CU被分割;以及在CUDepth = 3处的四个cu_split_flag = O,指示所有的8X8的CU(CU6、CU7、CU8和CU9)未被分割。
[0013]图11中所示的视频编码设备按光栅扫描顺序编码LCU,并且按Z-扫描顺序编码构成每个IXU的⑶。⑶的尺寸为64X64、32X32、16X16和8X8中的任一个。最小的⑶被称为最小编码单兀(SCU)。
[0014]变换器/量化器102对图像(预测误差图像)进行频率变换,预测信号从所述图像中被减掉以获得预测误差图像的频率变换系数。
[0015]变换器/量化器102还利用预定的量化步进尺寸Qs对来量化频率变换系数。下文中,经量化的频率变换系数被称为系数量化值或者量化水平值。
[0016]熵编码器103熵编码预测参数和量化水平值。预测参数是与关于以上所提到的CU和被包括在CU中的PU(预测单元)的预测类型(帧内预测或帧间预测)的信息相关的信息。
[0017]逆变换器/逆量化器104利用量化步进尺寸Qs来逆量化量化水平值。逆变换器/逆量化器104还对通过逆量化所获得的频率变换系数进行逆频率变换。预测信号被加到通过逆变换所获得的重构的预测误差图像上,并且重构的预测误差图像被提供给开关122。
[0018]复用数据选择器109监测与要被编码的⑶对应的熵编码器103的输入数据的量。在熵编码器103能够在CU的处理时间内熵编码输入数据时,复用数据选择器109选择熵编码器103的输出数据,并通过开关121将该输出数据供给复用器110。复用数据选择器109还选择逆变换器/逆量化器104的输出数据,并通过开关122将该输出数据供给缓冲器105。
[0019]在熵编码器103不能在⑶的处理时间内熵编码输入数据时,复用数据选择器109选择PCM编码器107的输出数据,并通过开关121将该输出数据供给复用器110。复用数据选择器109还选择由PCM解码器108获得的输出数据,该PCM解码器108PCM解码PCM编码器107的输出数据,并通过开关122将该输出数据供给缓冲器105。
[0020]缓冲器105存储通过开关122提供的重构的图像。针对一帧的重构的图像被称为重构的图片。
[0021]复用器110复用熵编码器103和PCM编码器107的输出数据,并输出经复用的输出数据。
[0022]基于以上所提到的操作,视频编码设备中的复用器110生成比特流。
[0023]文献引用列表
[0024]非专利文献
[0025]NPL I:Benjamin Brossj Woo-Jin Han,Jens-Rainer Ohm, Gary J.Sullivan, andThomas Wiegandj “High Efficiency Video Coding (HEVC) text specificat1n draft9,”JCTVC-K1003—vlO,Joint Collaborative Team on Video Coding(JCT-VC)of ITU-TSG16WP3and IS0/IEC JTCl/SC29/WG116th Meeting:Shanghai,CN, 10-19,October 2012.
【发明内容】
[0026]技术问题
[0027]在图11中所示的视频编码设备中,CU的块头部被熵编码。换言之,在I_PCM CU的块头部(I_PCM模式头部)要被发送时,需要两个过程,即输出熵编码器103的编码引擎的非输出符号的过程(在pcm_flag被熵编码之后)和重置编码引擎的过程。从NPL I中的章节7.3.9.4编码四叉树语法和章节7.3.9.5编码单元语法明显可见,I_PCM模式头部一般由QJ分割信息(cu_split_flag语法)、⑶预测类型(skip_flag语法、pred_mode_f lag语法和pred_mode语法、part_mode语法)和针对PU的PCM标志(pcm_flag语法)组成。
[0028]参考图13,将描述在CTU中对I_PCM⑶按编码顺序连续的编码。如图13的(A)中所示,假设在要被编码的CTU中,该CTU中按编码顺序0、1、2和3连续的⑶(⑶(O)、⑶(I)、⑶(2)和⑶(3))是I_PCM⑶。对应的CTU比特流通过将每个⑶的I_PCM模式头部的视频比特流、对准数据(pcm_alignment_zero_bit)和PCM数据(pcm_sample_luma/pcm_sample_chroma)进行交织而被构成。换言之,图13中的(A)中所示的CTU比特流由以下构成:CU (O)的 cu_split_flag = K cu_split_flag = 0、skip_flag = 0、pred_mode_flag = l、part_mode = 2Nx2N、pcm_flag = Kpcm_aIignment_zero_bit 和 pcm_sample_luma/pcm_sample_chroma ;CU (I)的 cu_split_flag = 0、skip_flag = 0、pred_mode_flag = l、part_mode =2Nx2N、pcm_flag = l、pcm_alignment_zero_bit 和 pcm_sample_luma/pcm_sample_chroma ;CU(2)的 cu_split_flag = 0、skip_flag = 0、pred_mode_flag = l、part_mode = 2Nx2N、pcm_flag = 1、pcm_alignment_zero_bit 和 pcm_sample_luma/pcm_sample_chroma ;及CU(3)的 cu_split_flag = 0、skip_flag = 0、pred_mode_flag = l、part_mode = 2Nx2N、pcm_f lag = Kpcm_aIignment_zero_bit 和 pcm_sample_luma/pcm_sample_chroma0 从 NPLI中的章节7.3.9.5编码单元语法和章节7.3.9.7PCM采样语法明显可见,pcm_alignment_zero_bit、pcm_sample_luma 和 pcm_sample_chroma 是要被非火商编石马的语法。
[0029]由于CTU中按编码顺序连续的I_PCM的⑶(O)、⑶(I)、⑶⑵和⑶(3)中的每一个的I_PCM模式头部被熵编码,所以上面所提到的输出编码引擎的非输出符号的过程和重置编码引擎的过程被重复。因此,即使CU(O)、CU(I)、CU⑵和CU (3)是在CTU中按编码
顺序的连续的I_PCM,在每个⑶上的PCM数据被复用之前,⑶必须等待,一直到在每个I_PCM模式头部上执行的上面所提到的输出编码引擎的非输出符号的过程和重置编码引擎的过程完成。在典型的技术中,有如下问题:CTU中编码顺序连续的I_PCM CU上的PCM数据不能被高效率地复用到比特流中,即CTU中编码顺序连续的I_PCM⑶上的PCM数据不能被高效率地发送。
[0030]类似地,如图13的(B)中所示,就在图像的右边缘上的不完全CTU中的编码顺序连续的I_PCM⑶而言,也存在相同的问题。在图13的⑶中,“Infer”表明数值在不发送cu_split_flag的情况下由解码器基于以下各项确定:要被处理的⑶的位置(x0和y0)和块尺寸(log2CbSize)、图像帧的尺寸(宽度pic_width_in_luma_samples和高度pic_height_in_luma_samples)和最小⑶尺寸(Log2MinCbSizeY)(详细内容参见NPL I中的章节7.3.9.5编码单元语法和章节7.4.9.4编码四叉树语义)。此外,在图13的(B)中,“N”表示在所关心的位置处没有⑶,因而冗余的cu_Split_flag不被发送。
[0031]图13中的(B)中所示的CTU比特流由以下比特构成:CU(0)的cu_split_flag=O、skip_flag = 0、pred_mode_flag = 1、part_mode = 2Nx2N、pcm_flag = 1、pcm_alignment_zero_bit 和 pcm_sample_luma/pcm_sample_chroma ;CU (I)的 cu_split_flag=0、skip_flag = 0、pred_mode_flag = 1、part_mode = 2Nx2N、pcm_flag = 1、pcm_alignment_zero_bit 和 pcm_sample_luma/pcm_sample_chroma ;CU (2)的 cu_split_flag=0、skip_flag = 0、pred_mode_flag = 1、part_mode = 2Nx2N、pcm_flag = 1、pcm_alignment_zero_bit 和 pcm_sample_luma/pcm_sample_chroma ;CU (3)的 cu_split_flag=0、skip_flag = 0、pred_mode_flag = 1、part_mode = 2Nx2N、pcm_flag = 1、pcm_alignment_zero_bit 和 pcm_sample_luma/pcm_sample_chroma ;CU (4)的 cu_split_flag=0、skip_flag = 0、pred_mode_flag = 1、part_mode = 2Nx2N、pcm_flag = 1、pcm_alignment_zero_bit 和 pcm_sample_luma/pcm_sample_chroma ;及 CU (5)的 cu_split_flag = 0、skip_flag = 0、pred_mode_flag = l、part_mode = 2Nx2N、pcm_flag = l、pcm_alignment_zero_bit 和 pcm_sample_luma/pcm_sample_chroma0
[0032]本发明的目的在于提供即使在I_PCM⑶在CTU中按编码顺序连续被生成时也能够高效率地发送I_PCM⑶上的PCM数据的视频编码设备、视频解码设备、视频编码方法、视频解码方法、视频编码程序和视频解码程序。
[0033]问题解决方案
[0034]根据本发明的视频编码设备包括:变换装置,该变换装置用于变换图像块;熵编码装置,该熵编码装置用于熵编码由变换装置变换的图像块上的经变换的数据;PCM编码装置,用于PCM编码图像块;复用数据选择装置,用于针对每个图像块选择熵编码装置的输出数据或者PCM编码装置的输出数据;以及复用装置,该复用装置用于在作为被复用数据选择装置选择的图像块的集合的编码树单元的顶部处复用ctu_pcm_flag语法,该ctu_pcm_flag语法指示是否属于编码树单元的所有图像块是PCM块,其中在属于编码树单元的所有图像块是PCM块时,复用装置至少不复用指示编码树单元的分割模式的cu_split_flag语法。
[0035]根据本发明的视频解码设备包括:解复用装置,该解复用装置用于解复用包括ctu_pcm_flag语法的比特流,所述ctu_pcm_flag语法指示是否属于要被解码的编码树单元的所有图像块是PCM块;PCM解码装置,用于PCM解码被包括在比特流中的图像块上的PCM数据;熵解码装置,用于熵解码被包括在比特流中的图像块上的经变换的数据;以及解码控制装置,在要被解码的编码树单元的ctu_pCm_flag语法的值为I时,所述解码控制装置基于编码树单元中的图像块的位置、要被解码的图像帧的尺寸和最大PCM块尺寸来确定指示编码树单元的分割模式的cu_split_flag语法。
[0036]根据本发明的视频编码方法包括:变换图像块;熵编码经变换的图像块上的经变换的数据;PCM编码图像块;针对每个图像块选择经熵编码的数据或者经PCM编码的数据;以及在作为图像块的集合的编码树单元的顶部处复用ctu_pcm_flag语法,该ctu_pcm_flag语法指示是否属于编码树单元的所有图像块是PCM块,其中在属于编码树单元的所有图像块是PCM块时,至少指示编码树单元的分割模式的cu_split_flag语法不被复用。
[0037]根据本发明的视频解码方法包括:解复用包括Ctu_pCm_flag语法的比特流,所述ctu_pcm_flag语法指示是否属于要被解码的编码树单元的所有图像块是PCM块;PCM解码被包括在比特流中的图像块上的PCM数据;熵解码被包括在比特流中的图像块上的经变换的数据;并且在要被解码的编码树单元的ctu_pcm_flag语法的值为I时,基于编码树单元中的图像块的位置、要被解码的图像帧的尺寸和最大PCM块尺寸来确定指示编码树单元的分割模式的cu_split_flag语法。
[0038]根据本发明的视频编码程序使得计算机执行:变换图像块的过程;熵编码经变换的图像块上的经变换的数据的过程;PCM编码图像块的过程;针对每个图像块选择经熵编码的数据或者经PCM编码的数据的过程;以及在作为图像块的集合的编码树单元的顶部处复用ctu_pcm_flag语法的过程,所述ctu_pcm_flag语法指示是否属于编码树单元的所有图像块是PCM块,其中在属于编码树单元的所有图像块是PCM块时,计算机被促使至少不复用指示编码树单元的分割模式的cu_split_flag语法。
[0039]根据本发明的视频解码程序使得计算机执行:解复用包括Ctu_pCm_flag语法的比特流的过程,所述ctu_pcm_flag语法指示是否属于要被解码的编码树单元的所有图像块是PCM块;PCM解码比特流中所包括的图像块上的PCM数据的过程;熵解码被包括在比特流中的图像块上的经变换的数据的过程;以及在要被解码的编码树单元的Ctu_pCm_flag语法的值为I时,基于编码树单元中的图像块的位置、要被解码的图像帧的尺寸和最大PCM块尺寸来确定指示编码树单元的分割模式的cu_split_flag语法的过程。
[0040]本发明的有益效果
[0041]根据本发明,在CTU中的所有⑶是I_PCM时,这些PCM数据片段可以被高效率地发送。
【附图说明】
[0042][图1]示出了图示第一示例性实施例的视频编码设备的框图。
[0043][图2]示出了对I_PCM⑶编码的说明性示图。
[0044][图3]示出了图示第一示例性实施例的视频编码设备的操作的流程图。
[0045][图4]示出了图示第二示例性实施例的视频解码设备的框图。
[0046][图5]示出了图示第二示例性实施例的视频解码设备的操作的流程图。
[0047][图6]示出了表示编码树单元语法的列表的说明性示图。
[0048][图7]示出了表示PCM四叉树语法的列表的说明性示图。
[0049][图8]示出了表示PCM采样语法的列表的说明性示图。
[0050][图9]示出了图示使用程序的信息处理系统的框图。
[0051][图10]示出了图示帧间预测的示例的说明性示图。
[0052][图11]示出了图示典型的视频编码设备的框图。
[0053][图12]示出了图示帧t的CTU分割的示例和帧t中的CTU8的⑶分割的示例的说明性示图。
[0054][图13]示出了对I_PCMCU编码的说明性示图。
【具体实施方式】
[0055]示例性实施例1
[0056]图1是图示第一示例性实施例的视频编码设备的框图。该示例性实施例的视频编码设备包括复用器1100,而不是图11中所示的视频编码设备中的复用器110。与图11中所示的复用器110不同,该示例性实施例中的复用器1100包括确定是否要被编码的CTU中的所有⑶是I_PCM的PCM确定器1101。其中PCM确定器1101出现在复用器1100中的示例在图1中被图示,但该确定器不是必不可少的。PCM确定器1101可以被设置在不同于复用器1100的部件中,或者可以独立于图1中所示的每个单元而被提供。
[0057]假设该示例性实施例的视频编码设备在每个CTU中发送按传输顺序连续的I_PCMCU。在该示例性实施例中,还假设,如图2的㈧中所示(与图13的㈧中一样),按编码顺序连续的⑶(O)、⑶⑴、⑶⑵和⑶(3)是要被PCM编码的块。
[0058]视频编码设备的操作将通过用图2的(A)中所示的I_PCM⑶作为示例参考图3的流程图而被描述。
[0059]该示例性实施例的视频编码设备按图3的流程图中所示的方式操作。换言之,PCM确定器1101在步骤SlOl中确定是否要被编码的CTU中的所有⑶是I_PCM。在所有⑶是I_PCM时,ctu_pcm_f lag语法被设置为I。否则,ctu_pcm_f lag语法被设置为O。在图2的⑷中所示的示例被使用时,ctu_pcm_flag的值变成I。在这种情况下,摘编码器103在步骤S102中熵编码ctu_pcm_flag = I。熵编码器103还输出尚未被输出的符号。在ctu_pcm_flag的值为O时,虽然在图3的流程图中处理被完成,但是该示例性
实施例的视频编码设备在摘编码器103 j:商编码ctu_pcm_flag = O之后按照与典型的视频编码设备相同的方式编码每个CU。
[0060]基于要被处理的⑶的位置(x0,y0)和尺寸(log2CbSize)、图像帧的尺寸(宽度 pic_width_in_luma_samples 和高度 pic_height_in_luma_samples)以及 I_PCM CU的最大尺寸(Log2MaxIpcmCbSizeY,其中Log2MaxIpcmCbSizeY大于或等于最小CU尺寸Log2MinCbSizeY),复用器1100在步骤S103中计算由解码器确定的要被处理的⑶的cu_split_flag。在以下条件中的任一个或多个条件被满足时,复用器1100设置cu_split_flag = 1换言之,要被处理的⑶被分割。
[0061][条件]
[0062]1.x0+ (l<<log2CbSize) >pic_width_in_luma_samples
[0063]2.y0+ (l<<log2CbSize) >pic_height_in_luma_samples
[0064]3.log2CbSize>Log2MaxIpcmCbSizeY
[0065]在以上条件都没有被满足时,复用器1100设置cu_split_flag = O。换言之,要被处理的⑶不被分割。
[0066]复用器1100 在步骤 S104 中确定是否有 cu_split_flag = O。在 cu_split_flag=O时,该流程进行到步骤S105。否则,⑶被分割并且该流程返回到步骤S103。
[0067]在步骤S105 中,复用器 1100 非摘编码 CU (η)的 pcm_alignment_zero_bit。
[0068]在步骤S106中,PCM编码器107非熵编码⑶(η)上的PCM数据。
[0069]在步骤S107中,复用器1100确定是否要被编码的CTU中的所有⑶被编码。在要被编码的CTU中的所有CU都被编码时,该流程进行到步骤S108。否则,该流程返回到步骤S103以编码接下来要被处理的⑶。
[0070]在步骤S108中,熵编码器103重置编码引擎。然后,该流程进行到编码下一 CTU的过程。
[0071]复用器1100输出通过复用由PCM编码器107和熵编码器103编码的数据所获得的比特流。
[0072]该示例性实施例的视频编码设备的操作如上所述。注意,虽然复用器1100在与由复用数据选择器109选择的图像块的集合相对应的编码树单元的顶部处复用了指示是否属于编码树单元的所有图像块是PCM块的ctu_pcm_flag语法,但是在属于编码树单元的所有图像块是PCM块时,复用器1100至少不复用指示编码树单元的分割模式的cu_split_flag语法。
[0073]根据该示例性实施例的视频编码设备的上述操作,在要被编码的CTU中的所有CU是I_PCM时,要被熵编码的I_PCM模式头部不被插入在连续的I_PCM⑶上的PCM数据之间。换言之,图2的(A)中所示的CTU比特流由以下各项构成:ctu_pcm_flag = I ;CU (O)的Pcm_aIignment_zero_bit 和 pcm_sample_luma/pcm_sample_chroma ;CU (I)的 pcm_sample_luma/pcm_sample_chroma ;CU (2)的 pcm_sample_luma/pcm_sample_chroma 以及 CU (3)的pcm_sample_luma/pcm_sample_chroma。一个PCM数据片段的比特数必将是8比特的倍数。因此,在I_PCM⑶首先被发送之后,后续I_PCM⑶的开始位置必将变成8比特的倍数。换言之,后续I_PCM⑶的开始位置必将变成字节对准的地址。因此,Pcm_aIignment_zero_bit在CU(I)、CU⑵和CU (3)中不被发送。
[0074]类似地,图2的⑶中所示的CTU比特流由以下各项构成:ctu_pcm_flag = I ;CU (O)的 pcm_alignment_zero_bit 和 pcm_sample_luma/pcm_sample_chroma ;CU(1)的pcm_sample_luma/pcm_sample_chroma ;CU (2)的 pcm_sample_luma/pcm_sample_chroma ;CU(3)的 pcm_sampIe_luma/pcm_sampIe_chroma ;CU (4)的 pcm_sampIe_Iuma/pcm_sampIe_chroma 以及 CU(5)的 pcm_sample_luma/pcm_sample_chroma。换言之,在要被编码的 CTU中的所有⑶是I_PCM时,要被熵编码的I_PCM模式头部不被插入在连续的I_PCM⑶上的PCM数据之间。
[0075]因此,在继第一个I_PCM⑶之后的I_PCM⑶上的PCM数据被复用到比特流中时,不需要一直等到上面所提到的输出编码引擎的非输出符号的过程和重置编码引擎的过程完成。因此,该示例性实施例的视频编码设备可以高效率地将连续的I_PCM CU上的PCM数据复用到比特流中。换言之,连续的I_PCM⑶上的PCM数据可以被高效率地被发送。
[0076]示例性实施例2
[0077]图4是图示与第一示例性实施例的视频编码设备相对应的视频解码设备的框图。该示例性实施例的视频解码设备包括解复用器201、解码控制器202、PCM解码器203、熵解码器204、逆变换器/逆量化器206、预测器207、缓冲器208以及开关221和开关222。
[0078]解复用器201包括确定是否要被解码的CTU中的所有⑶是I_PCM的PCM确定器2011。其中PCM确定器2011出现在解复用器201中的示例在图4中被图示,但该确定器不是必不可少的。PCM确定器2011可以被设置在不同于复用器201的部件中,或者可以独立于图4中所示的每个单元而被提供。
[0079]解复用器201解复用输入比特流并提取视频比特流。
[0080]在通过j:商解码要被解码的CTU的视频比特流而获得的ctu_pcm_flag为I时(即在PCM确定器2011确定要被解码的CTU中的所有⑶是I_PCM时),解码控制器202计算在要被解码的CTU中要被处理的⑶的cu_split_flag。具体而言,基于要被处理的⑶的位置(xO, yO)和尺寸(log2CbSize)、图像帧的尺寸(宽度 pic_width_in_luma_samples 和高度 pic_height_in_luma_samples)以及 I_PCM CU 的最大尺寸(Log2MaxIpcmCbSizeY,其中Log2MaxIpcmCbSizeY大于或等于最小⑶尺寸Log2MinCbSizeY),在以下条件中的任一个或多个条件被满足时,cu_split_flag = I被设置。换言之,要被处理的⑶被分割。
[0081][条件]
[0082]1.xO+ (l<<log2CbSize) >pic_width_in_luma_samples
[0083]2.yO+ (l<<log2CbSize) >pic_height_in_luma_samples
[0084]3.log2CbSize>Log2MaxIpcmCbSizeY
[0085]在以上条件都不被满足时,解码控制器202设置cu_split_flag = O。换言之,要被处理的⑶不被分割。
[0086]此外,在cu_split_flag = O时,解码控制器202从视频比特流读取要被解码的1_PCM⑶的pcm_alignment_zero_bit语法,并且在不使得摘解码器204 j:商解码当前要被解码的⑶的⑶/I3U头部的情况下将后续的PCM数据供给PCM解码器203。PCM解码器203读取通过开关221提供的PCM数据并PCM解码该PCM数据。解码控制器202转变开关222以将从PCM解码器203提供的重构的图像供给缓冲器208。在cu_split_flag = I的情况下,解码控制器202进行到解码要被解码的CTU中要被处理的下一⑶的过程。
[0087]在通过摘解码要被解码的CTU的视频比特流所获得的ctu_pcm_f lag为O时,解码控制器202使得熵解码器204熵解码当前要被解码的⑶的⑶/TO头部。在熵解码器204熵解码值为I的pcm_flag时,解码控制器202从视频比特流读取要被解码的I_PCM⑶的Pcm_aIignment_zero_bit,并将后续的PCM数据提供给PCM解码器203。PCM解码器203读取通过开关221提供的PCM数据并PCM解码该PCM数据。解码控制器202转变开关222以将从PCM解码器203提供的重构的图像供给缓冲器208。在熵解码器204熵解码值为O的pcm_f lag时或者在不存在pcm_f lag时,j:商解码器204进一步j:商解码要被解码的⑶的预测参数和量化水平值,并将它们供给逆变换器/逆量化器206和预测器207。
[0088]逆变换器/逆量化器206对量化水平值进行逆频率量化,并且还对通过逆量化所获得的频率变换系数进行逆频率变换。
[0089]在逆变换之后,预测器207基于经熵解码的预测参数利用被存储在缓冲器208中的重构的图片的图像生成预测信号。在预测信号被生成之后,从预测器207被提供的预测信号被加到经逆变换器/逆量化器206逆频率变换的重构的预测误差图像上,并且重构的预测误差图像被供给开关122。在预测信号被加上之后,解码控制器202转变开关222以将被加上预测信号的重构的预测误差图像作为重构的图像提供给缓冲器208。然后,该流程进行到解码下一⑶的过程。
[0090]示例性实施例的视频解码设备的操作将参考图5的流程图被描述。
[0091]在步骤S201中,PCM确定器2011确定是否要被解码的CTU中的所有⑶是I_PCM。在要被解码的CTU中的所有CU是I_PCM时,流程进行到步骤S202。否则,虽然在图5的流程图中处理结束,但是该示例性实施例的视频解码设备按与典型的视频编码设备相同的方式解码每个⑶。
[0092]在步骤S202中,解码控制器202计算要被解码的CU (η)的cu_split_f lag。
[0093]在步骤S203中,解码控制器202确定计算出的cu_split_flag是否为O。在cu_split_flag为O时,流程进行到步骤S204。否则(在cu_split_flag为I时),要被解码的⑶被分割,并且流程返回到步骤S202。
[0094]在步骤S204中,解码控制器202从视频比特流读取要被解码的I_PCM的CU (η)的Pcm_aIignment_zero_bit语法。注意,PCM解码器203也可以读取要被非摘编码的pcm_alignment_zero_bit 语法。
[0095]在步骤S205中,解码控制器202从视频比特流读取要被解码的I_PCM的⑶(η)上的PCM数据。PCM解码器203非熵解码⑶(η)上的PCM数据。注意,PCM解码器203也可以读取要被非熵解码的PCM数据。然后,如上所述,CU (η)的重构的图像基于PCM数据被确定。
[0096]在步骤S206中,解码控制器202确定是否要被解码的CTU中的所有⑶都被解码。在所有CU都被解码时,流程进行到步骤S207。否则,流程返回到步骤S202以解码下一 CU。
[0097]在步骤S207中,熵解码器204重置解码引擎,并且随后结束对要被解码的CTU的解码过程。
[0098]该示例性实施例的视频解码设备的操作如上所述。
[0099]根据上述示例性实施例的视频解码设备的操作,不需要等待重置解码引擎的过程完成以后才从比特流中读取继第一个I_PCM⑶之后的I_PCM⑶上的PCM数据。因此,该示例性实施例的视频解码设备可以高效率地从比特流读取连续的I_PCM CU上的PCM数据。换言之,连续的I_PCM⑶上的PCM数据可以高效率地被接收。
[0100]与之前所提到的示例性实施例中的每一个示例性实施例相对应的编码树语法、PCM四叉树语法和PCM采样语法分别在图6、图7和图8中被示出。参考图6、图7和图8,发送Ctu_pCm_flag语法的状态从图6中被找到。基于编码树单元的图像块的位置、要被解码的图像帧的尺寸和最大PCM块尺寸(Log2MaxIpcmCbSizeY)来确定指示编码树单元的分割模式的cu_split_flag语法的状态从图7中被找到。编码pcm_alignment_zero_bit和PCM数据(pcm_sample_luma/pcm_sample_chroma)的状态从图8中被找到。换言之,可以发现重置解码引擎的过程不是从比特流读取连续的I_PCM CU上的PCM数据所必需的。
[0101]在之前所提到的每个示例性实施例中,假设CTU中的所有CU是I_PCM,但是本发明也可以被应用于其中CTU中的所有CU是Skip的情况。例如,确定是否CTU中的所有CU是I_PCM的全-PCM确定器只需要被确定是否CTU中的所有⑶是Skip的全-Skip确定器替换,以使得在所有⑶是Skip时,ctu_skip语法将像ctu_pcm语法那样被编码/解码。此夕卜,在NPL I的章节7.3.9.6预测单元语法中所描述的merge_idx只需要在ctu_skip标志之后被编码/解码。
[0102]之前所提到的每个示例性实施例可以用硬件来配置,但是也可以通过计算机程序来实现示例性实施例。
[0103]图9中所示的信息处理系统包括处理器1001、程序存储器1002、用于存储视频数据的存储介质1003和用于存储比特流的存储介质1004。存储介质1003和存储介质1004可以是单独的存储介质,或者是同一存储介质上的存储区域。诸如硬盘之类的磁性存储介质可以被用作存储介质。
[0104]在图9中所示的信息处理系统中,用于实现分别在图1和图4中被示出的每个块的功能的程序被存储在程序存储器1002中。然后,处理器1001根据被存储在程序存储器1002中的程序来执行过程以实现分别在图1或图4中示出的视频编码设备或视频解码设备的功能。
[0105]虽然本发明已参考之前所提到的示例性实施例和示例而被描述,但是本发明不局限于之前所提到的示例性实施例和示例。可以做出对在本发明的范围内的可以被本领域技术人员理解的对本发明的配置和细节的各种改变。
[0106]本申请基于2013年I月7日提交的日本专利申请N0.2013-000290并要求该日本专利申请的优先权,该日本专利申请的公开全部通过引用被合并于此。
[0107]标号列表
[0108]102变换器/量化器
[0109]103熵编码器
[0110]104逆变换器/逆量化器
[0111]105缓冲器
[0112]106预测器
[0113]107PCM 编码器
[0114]108PCM 解码器
[0115]109复用数据选择器
[0116]110,1100 复用器
[0117]1101PCM 确定器
[0118]121 开关
[0119]122 开关
[0120]201解复用器
[0121]2011 PCM 确定器
[0122]202解码控制器
[0123]203 PCM 解码器
[0124]204熵解码器
[0125]206逆变换器/逆量化器
[0126]207预测器
[0127]208缓冲器
[0128]221 开关
[0129]222 开关
[0130]1001 处理器
[0131]1002程序存储器
[0132]1003存储介质
[0133]1004存储介质
【主权项】
1.一种视频编码设备,包括: 变换装置,所述变换装置用于变换图像块; 熵编码装置,所述熵编码装置用于熵编码由所述变换装置变换的所述图像块上的经变换的数据; PCM编码装置,所述PCM编码装置用于PCM编码所述图像块; 复用数据选择装置,所述复用数据选择装置用于针对每个图像块来选择所述熵编码装置的输出数据或者所述PCM编码装置的输出数据;以及 复用装置,所述复用装置用于在作为由所述复用数据选择装置选择的图像块的集合的编码树单元的顶部处复用ctu_pcm_f lag语法,所述ctu_pcm_f lag语法指示是否属于所述编码树单元的所有图像块是PCM块, 其中在属于所述编码树单元的所有图像块是PCM块时,所述复用装置至少不复用指示所述编码树单元的分割模式的cu_split_flag语法。2.一种视频解码设备,包括: 解复用装置,所述解复用装置用于解复用包括ctU_pCm_flag语法的比特流,所述ctu_pcm_flag语法指示是否属于要被解码的编码树单元的所有图像块是PCM块; PCM解码装置,所述PCM解码装置用于PCM解码被包括在所述比特流中的图像块上的PCM数据; 熵解码装置,所述熵解码装置用于熵解码被包括在所述比特流中的所述图像块上的经变换的数据;以及 解码控制装置,所述解码控制装置在要被解码的所述编码树单元的ctu_pcm_flag语法的值为I时,基于所述编码树单元中的所述图像块的位置、要被解码的图像帧的尺寸和最大PCM块尺寸来确定指示所述编码树单元的分割模式的cu_split_flag语法。3.一种视频编码方法,包括: 变换图像块; 熵编码经变换的所述图像块上的经变换的数据; PCM编码所述图像块; 针对每个图像块选择经熵编码的数据或者经PCM编码的数据;以及在作为图像块的集合的编码树单元的顶部处复用ctu_pcm_flag语法,所述ctu_pcm_flag语法指示是否属于所述编码树单元的所有图像块是PCM块, 其中在属于所述编码树单元的所有图像块是PCM块时,至少指示所述编码树单元的分割模式的cu_split_flag语法不被复用。4.一种视频解码方法,包括: 解复用包括ctu_pcm_flag语法的比特流,所述ctu_pcm_flag语法指示是否属于要被解码的编码树单元的所有图像块是PCM块; PCM解码被包括在所述比特流中的图像块上的PCM数据; 熵解码被包括在所述比特流中的所述图像块上的经变换的数据;以及在要被解码的所述编码树单元的ctu_pcm_flag语法的值为I时,基于所述编码树单元中的所述图像块的位置、要被解码的图像帧的尺寸和最大PCM块尺寸来确定指示所述编码树单元的分割模式的cu_split_flag语法。5.一种视频编码程序,用于使得计算机执行: 变换图像块的过程; 熵编码经变换的所述图像块上的经变换的数据的过程; PCM编码所述图像块的过程; 针对每个图像块选择经熵编码的数据或者经PCM编码的数据的过程;以及在作为图像块的集合的编码树单元的顶部处复用ctU_pCm_flag语法的过程,所述ctu_pcm_flag语法指示是否属于所述编码树单元的所有图像块是PCM块, 其中在属于所述编码树单元的所有图像块是PCM块时,所述计算机被促使至少不复用指示所述编码树单元的分割模式的cu_split_flag语法。6.一种视频解码程序,用于使得计算机执行: 解复用包括ctu_pcm_flag语法的比特流的过程,所述ctu_pcm_flag语法指示是否属于要被解码的编码树单元的所有图像块是PCM块; PCM解码被包括在所述比特流中的图像块上的PCM数据的过程; 熵解码被包括在所述比特流中的所述图像块上的经变换的数据的过程;以及在要被解码的所述编码树单元的ctu_pcm_flag语法的值为I时,基于所述编码树单元中的所述图像块的位置、要被解码的图像帧的尺寸和最大PCM块尺寸来确定指示所述编码树单元的分割模式的cu_split_flag语法的过程。
【专利摘要】虽然视频编码设备在作为图像块的集合的编码树单元的头部顶部处复用指示是否属于编码树单元的所有图像块是PCM块的ctu_pcm_flag语法。但是,为了高效地发送PCM数据,在属于编码树单元的所有图像块是PCM块时,至少指示编码树单元的分割模式的cu_split_flag语法不被复用以用于高效地发送PCM数据。
【IPC分类】H04N19/70, H04N19/119
【公开号】CN104904210
【申请号】CN201380069590
【发明人】蝶野庆一
【申请人】日本电气株式会社
【公开日】2015年9月9日
【申请日】2013年12月11日
【公告号】EP2942958A1, US20150358632, WO2014106878A1