图像编码装置、图像编码方法及记录介质、图像解码装置、图像解码方法及记录介质的制作方法

文档序号:7793876阅读:163来源:国知局
图像编码装置、图像编码方法及记录介质、图像解码装置、图像解码方法及记录介质的制作方法
【专利摘要】基于区块数据划分信息、区块数据位置信息、块行数据划分信息以及块行数据位置信息,对编码数据进行解码。区块数据划分信息表示所述编码数据是否由用作区块的编码数据项的区块数据项构成。区块数据位置信息表示所述区块数据项的位置。块行数据划分信息表示各个区块数据项是否由第一块行数据和第二块行数据构成。第一块行数据用作作为线性布置的块的组的第一块行的编码数据。第二块行数据用作紧接着所述第一块行的第二块行的编码数据。块行数据位置信息表示所述第二块行数据的位置。
【专利说明】图像编码装置、图像编码方法及记录介质、图像解码装置、图像解码方法及记录介质

【技术领域】
[0001]本发明涉及一种图像编码装置、图像编码方法以及记录介质,图像解码装置、图像解码方法以及记录介质。本发明尤其涉及一种基于将各个图片划分为矩形区块(tile)的图像的并行处理的编码和解码。

【背景技术】
[0002]一种已知的用于动画压缩记录的编码方法是H.264/MPEG-4 AVC(在下文中为“H.264”)(ITU-T H.264(03/2010)用于通用视听服务的高级视频编码)。根据H.264,可以将各个图片划分为多个片(slice),并且可以以片为单位对图像数据进行编码。片彼此之间具有很小的依赖性。相应地,可以对片并行地进行编码或解码。划分为片的重大优点之一是,通过例如多核CPU执行并行处理使得能够减少处理时间。
[0003]此外,通过在H.264中使用的现有技术的二进制算法编码方法来对各片进行编码。具体而言,各个句法元素被二值化,从而生成二值信号。预先将发生概率作为表(在下文中为“概率表”)分配给各句法元素。基于概率表,对二值信号进行算术编码。概率表被用作在解码期间用于解码后续符号的解码信息,并且被用作在编码期间用于编码后续符号的编码信息。每次进行编码时,基于表示编码的二值信号是否是被分配更高概率的符号的统计信息来更新概率表。
[0004]近来,已经开始了作为H.264的后继的高效编码的国际标准化的活动,并且通过IS0/IEC和ITU-T建立了视频编码联合协作小组(JCT-VC)。根据JCT-VC,高效视频编码(HEVC)的标准化正在进行中。
[0005]为了 HEVC的标准化,不仅从提高编码效率而且从易于实现和减少处理时间的角度出发,已经广泛研究了各种编码工具。为了减少处理时间,已经研究了用于提高并行性的方案。其中一个方案是称为波前(Wavefront)的方案,用于并行熵编码/解码(JCT-VCdocument JCTVC-11003.doc, the Internet〈http://phenix.1nt-evry.fr/jct/doc)。由于必须使用不断更新的概率表来对要编码的目标二值信号进行编码,所以如果未重置统计信息则不能进行并行处理。然而,如果重置统计信息,则遗憾地降低了编码效率。另一方面,根据波前,将对预定位置的多个块编码时的概率表用于下一行的左块,从而实现以行为单位对块的并行编码,同时防止编码效率的降低。尽管主要针对编码描述了波前,但是同样适用于解码。
[0006]根据HEVC,用于提高并行性的方案包括区块化。根据该技术,区块使得将图片划分为可以被独立处理的矩形区域。由此,通过并行编码/解码可以实现高吞吐量(throughput),并且可以减小在编码装置和解码装置的各个中包括的存储器的容量。
[0007]根据HEVC,使用符号 tiles_or_entropy_coding_sync_idc 专门进行了诸如区块或波前的处理。如果符号具有值0,则这意味着图片由单个区块构成并且不进行波前并行处理。如果符号具有值1,则这意味着图片由多个区块构成但不进行波前并行处理。如果符号具有值2,则这意味着图片由单个区块构成并且进行诸如波前等的并行处理。如果符号具有值3,则这意味着图片由单个区块构成、不进行波前并行处理并且使用可以被独立解码的熵片(entropy slice)。不能使用其他值。原因如下。如果对清晰度非常低的图像并行地进行多个处理,对这种并行处理的控制将是复杂的。由于针对该图片大小,复杂程度变高,所以进行专门的处理。尤其是,对于诸如8k或4k图像等非常大的图像的实时解码需要高并行性。可以通过将图像划分为非常小的区块来提高并行性,但是由于在区块之间的边界处可用于预测的信息是有限的,所以编码效率降低。对被划分为块行(block line)的这种非常大的图像进行的波前并行处理需要大容量的行缓冲器,然而遗憾的是,因为块行彼此具有依赖性(该依赖性包括概率表),所以波前并行处理无法将并行性提高到比使用区块的情况更高。对于这种大图像,需要将图像划分为具有一定大小的片段,对计算机节点分配片段,并且针对各个节点操作多个处理器。例如,在对节点分配区块并且以节点为单位进行处理的情况下,遗憾的是,不能在区块中进行诸如波前等的并行处理。
[0008]本发明提供一种能够进行多阶段并行处理的编码格式,以提高处理的并行性并且实现高速编码和解码。


【发明内容】

[0009]本发明提供一种图像解码装置,该图像解码装置对通过将图像数据的帧划分为矩形的区块并且以区块为单位编码所述图像数据而获得的编码数据进行解码,该图像解码装置包括以下元件。得到单元,其被构造为由所述编码数据得到区块数据划分信息、区块数据位置信息、块行数据划分信息以及块行数据位置信息。区块数据划分信息表示所述编码数据是否由用作所述区块的编码数据项的区块数据项构成。所述区块数据位置信息表示所述区块数据项的位置。所述块行数据划分信息表示各个区块数据项是否由第一块行数据和第二块行数据构成,所述第一块行数据用作作为线性布置的块的组的第一块行的编码数据,所述第二块行数据用作紧接着所述第一块行的第二块行的编码数据。块行数据位置信息表示所述第二块行数据的位置。第一解码单元,其被构造为基于所述得到单元得到的信息来解码所述第一块行数据。第二解码单元,其被构造为基于所述得到单元得到的信息以及通过对属于所述第一块行的预定位置处的块的编码数据进行解码而获得的解码信息,来解码所述第二块行数据。
[0010]根据本发明,提供能够进行多阶段并行处理的编码格式,从而提高处理的并行性并且实现高速编码和解码。
[0011]根据以下参照附图对示例性实施例的描述,本发明的其他特征将变得清楚。

【专利附图】

【附图说明】
[0012]图1是例示根据第一实施例要由图像解码装置解码的图像编码格式的图。
[0013]图2是例示将图像划分为区块的图。
[0014]图3是例示将区块划分为块行的图。
[0015]图4是例示根据第一实施例的图像解码装置和根据第二实施例的图像解码装置的各个的结构的框图。
[0016]图5是例示根据第一和第二实施例的各个的图像解码装置的操作的流程图。
[0017]图6是例示第一和第二实施例的各个中的顶端块行解码的过程的流程图。
[0018]图7是例示第一和第二实施例的各个中的非顶端块行解码的过程的流程图。
[0019]图8是例示第一和第二实施例中的块解码的过程的流程图。
[0020]图9是例示第一实施例中的区块数据的大小的确定过程的流程图。
[0021]图10是例示根据第二实施例要由图像解码装置解码的图像编码格式的图。
[0022]图11是例示第二实施例中的区块数据的大小的确定方法的流程图。
[0023]图12是例示第二实施例中的块行数据的大小的确定方法的流程图。
[0024]图13是例示根据第三和第四实施例的各个的图像编码装置的结构的框图。
[0025]图14是例示根据第三实施例的图像编码装置的操作的流程图。
[0026]图15是例示第三实施例中的顶端块行编码的过程的流程图。
[0027]图16是例示第三实施例中的块编码的过程的流程图。
[0028]图17是例示第三实施例中的非顶端块行编码的过程的流程图。
[0029]图18是例示第三实施例中的计算位置信息的过程的流程图。
[0030]图19是例示第一和第二实施例中的各个区块解码单元的结构的框图。
[0031]图20是例示第一和第二实施例中的区块解码的过程的流程图。
[0032]图21是例示第一实施例中的块行数据的大小的确定过程的流程图。
[0033]图22是例示第四实施例中的计算位置信息的过程的流程图。
[0034]图23是例示第三和第四实施例中的各个区块编码单元的结构的框图。
[0035]图24是例示第三和第四实施例中的区块编码的过程的流程图。
[0036]图25是例示可应用于根据本发明的各个解码装置的计算机的硬件的示例性结构的框图。

【具体实施方式】
[0037]下面,将参照附图详细描述本发明的优选实施例。在以下实施例中例示的结构旨在于仅用于举例说明的目的,本发明并不限于所例示的结构。
[0038]第一实施例
[0039]在根据本发明的第一实施例要由图像解码装置解码的图像编码格式中,将一帧划分为作为矩形区域的多个区块。图2例示了第一实施例中的区块布置。参照图2,将水平7680像素X垂直4320像素的帧划分为以水平2个区块X垂直2个区块的阵列布置的四个区块。在本发明中的编码格式中,各个块由水平16像素X垂直16像素构成,并且以块为单位进行编码或解码。尽管在本实施例中各个块由16X16像素构成,但是本发明不限于此。各个块可以由32X32像素或64X64像素构成。各个区块的大小是块的大小的多倍。在图2中,各个区块由水平240块X垂直135块构成。该区块还被进一步划分为多个块行。如图中3所示,各个块行是区块中线性布置的块的组。参照图3,由细线限定的各个正方形表示块301,由粗线限定的各个矩形表示块行302。
[0040]图1例示了在本实施例中的HEVC-编码数据的格式。在图1中,编码数据包括序列参数集,该序列参数集是包含关于序列编码的信息的头信息。编码数据还包括图片参数集、片头以及各区块的多重编码数据项,图片参数集是包含关于图片编码的信息的头信息,片头是包含关于片编码的信息的头信息。图片参数集包括区块数据划分信息以及块行数据划分信息。片头包括区块数据位置信息以及块行数据位置信息。
[0041]图片参数集包括表示是否将帧划分为了区块以及是否对各个区块的图像数据进行了编码的标记TileFlag,作为区块数据划分信息。如果标记TileFlag具有值1,则表示将帧划分为了区块并且对各个区块的图像数据进行了编码。如果标记TileFlag不具有值1,则表示未将编码的帧划分为区块。在标记TileFlag具有值1的情况下,布置如下信息,SP,表示巾贞中的水平区块的数量的信息num_tile_columns_minusl,表示垂直区块的数量的信息num_tile_rows_minusl以及表示区块的形状的标记uniform_spacing_f lag。信息num_tile_columns_minusl具有通过从巾贞中的水平区块的实际数量中减去1而获得的值。信息num_tile_rows_minusl具有通过从垂直区块的实际数量中减去1而获得的值。参照图1,N 表不在片(slice)中的区块的数量,通过(num_tile_columns_minusl+l) X (num_tile_rows_minusl+l)唯一地确定区块的数量。标记uniform_spacing_f lag表示在巾贞中的区块是否具有相同的大小。如果该标记具有值1,则表示区块具有相同的大小。图2例示了标记uniform_spacing_flag = 1的情况,即,使用具有相同大小的区块。如果该标记具有值0,则表示区块具有不同的大小。相应地,必须将不同的大小编码为句法元素。
[0042]图片参数集包括标记WPPFlag作为块行数据划分信息。如果标记WPPFlag具有值1,则表示将各个区块划分为了块行并且对各个块行的图像数据进行了编码。尽管在本实施例中块行数据划分信息和区块数据划分信息包括不同的标记,但是本发明不限于此。仅需要知道区块数据划分和块行数据划分被组合使用即可。例如,表示两个标记的组合的句法元素可以被提供并且被定义如下。
[0043]如果该句法元素具有值0,则这意味着不存在区块数据划分和块行数据划分。如果该句法元素具有值1,则这意味着存在区块数据划分但不存在块行数据划分。如果该句法元素具有值2,则这意味着不存在区块数据划分但存在块行数据划分。如果该句法元素具有值3,则这意味着存在区块数据划分和块行数据划分。
[0044]在标记TileFlag具有值1的情况下,片头包括区块数据位置信息,并且在标记WPPFlag具有值1的情况下,片头还包括块行数据位置信息。区块数据位置信息包括句法兀素 num_tile_entry_point_offsets 和句法兀素 tile_entry_point_offset。块行数据位置信息包括数量与区块相等的集合,各个集合包括句法元素num_wpp_entry_point_offsets 和句法兀素 wpp_entry_point_offset0 句法兀素 num_tile_entry_point_offsets具有通过从表示片中的区块的数量的N中减去1而获得的值。句法元素num_wpp_entry_point_offsets具有通过从表示区块中的块行的数量的Μ中减去1而获得的值。如果标记TileFlag具有值0,则句法元素num_tile_entry_point_offsets被当作具有值0。如果标记WPPFlag具有值0,则省略与句法元素num_wpp_entry_point_offsets对应的符号,并且句法兀素num_wpp_entry_point_offsets被当作具有值0。
[0045]句法元素num_tile_entry_point_offsets表示在片中的区块的编码数据项的入口点(entry point)的数量。通过片中包括的区块的数量来唯一地确定区块的编码数据项的入口点的数量。当区块的数量为2时,入口点的数量为1。当区块的数量为4时,入口点的数量为3。在本实施例中,假设帧由包括四个区块的单片构成。也就是说,句法元素num_tile_entry_point_offsets 具有值 3。句法兀素 tile_entry_point_offset 各自表不区块的编码数据的入口点,即,区块的编码数据的首位置。句法元素tile_entry_point_offset的数量等于由句法元素num_tile_entry_point_offsets表示的值。句法元素tile_entry_point_offset[i]表示第i个区块的编码数据的入口点。因为已知第0个区块(Tile 0)的编码数据紧接着片头,所以省略第0个区块的入口点。将第(1-Ι)个区块的编码数据的大小编码为句法元素 tile_entry_point_offset [i]。如果句法元素 num_ti 1 e_entry_point_offsets具有值0,则由于不需要句法元素tile_entry_point_offset,所以不提及句法元素 tile_entry_point_offset0
[0046]句法元素num_wpp_entry_point_offsets表示属于区块的块行的编码数据项的入口点的数量。因为在本实施例中各个区块中的垂直块的数量是135,所以句法元素 num_wpp_entry_point_offsets 具有值 134。句法兀素 wpp_entry_point_offset 各自表示块行的编码数据的入口点,即,块行的编码数据的首位置。句法元素wpp_entry_point_offset[j]表示第j个块行的编码数据的入口点。因为第0个块行的编码数据的首位置,与块行所属的区块的编码数据的首位置相同,所以省略该句法元素wpp_entry_point_offset。将第(j_l)个块行的编码数据的大小编码为句法元素wpp_entry_point_offset [j]。如果句法元素num_wpp_entry_point_offsets具有值0,则因为不需要句法元素 wpp_entry_point_offset,所以不提及句法兀素 wpp_entry_point_offset0
[0047]图4例示了用于对按照上述图像编码格式的编码数据进行解码的图像解码装置的结构。
[0048]在图4中,比特流分析单元401被配置为分析包括输入的编码数据的序列参数集、图片参数集以及片头的头。解码单元402和403被配置为以区块为单位,基于输入的编码参数,对输入的编码数据进行解码。尽管在本实施例中布置了两个区块解码单元,但是本发明不限于此。区块图像数据合并单元404被配置为合并由第一区块解码单元402生成的图像数据和由第二区块解码单元403生成的图像数据,并且输出结果数据。
[0049]在上述结构中,比特流分析单元401分析图片参数集和片头,以得到区块数据划分信息、块行数据划分信息、区块数据位置信息和块行数据位置信息。比特流分析单元401基于上述信息,将在头之后的编码数据提供给第一区块解码单元402或第二区块解码单元403。注意,首区块是第0个区块。如果目标块属于偶数编号的区块,则将区块的编码数据提供给第一区块解码单元402。如果目标块属于奇数编号的区块,则将区块的编码数据提供给第二区块解码单元403。在图2中,通过第一区块解码单元402解码TileO和Tile 2的编码数据项,并且通过第二区块解码单元403解码Tile 1和Tile 3的编码数据项。
[0050]以下将参照图19详细描述第一区块解码单元402和第二区块解码单元403,其中图19是解码单元的框图。
[0051]选择器1901被配置为确定目标块是否属于区块中的偶数编号的块行。以区块为单位向选择器1901提供编码数据。如果块属于偶数编号的块行,则选择器1901将该块行的编码数据输出到第一块行解码部1902。如果块不属于偶数编号的块行,则选择器1901将该块行的编码数据输出到第二块行解码部1903。第一和第二块行解码部1902和1903被配置为以块为单位对输入的块行的编码数据解码。对于解码,进行算术解码。算术解码生成并更新概率表。第一概率表存储部1904被配置为存储由第一块行解码部1902生成的概率表,作为解码信息。第二概率表存储部1905被配置为存储由第二块行解码部1903生成的概率表,作为解码信息。块行图像数据合并部1906被配置为合并由第一块行解码部1902生成的图像数据和由第二块行解码部1903生成的图像数据,并且输出结果图像数据。
[0052]在图3中,通过第一块行解码部1902解码属于偶数编号的块行(包括顶端块行(第0行))的白块的编码数据,并且通过第二块行解码部1903解码属于奇数编号的块行的阴影块的编码数据。也就是说,第一块行和第二块行被彼此相邻地布置。
[0053]在各个块行解码部中,首先,选择针对要解码的编码数据的二值信号的概率表,并且基于概率表进行算术解码以生成量化系数。随后,基于量化参数,对量化系数进行逆量化,从而生成变换系数。然后,对变换系数进行逆正交变换,从而生成预测误差。最后,进行参照目标块的周边像素的巾贞内(intra-frame)预测或参照另一巾贞的巾贞间(inter-frame)预测,从而生成目标块的图像数据。
[0054]将参照图5的流程图详细描述根据本实施例的图像解码装置的操作。在本实施例中,以帧为单位提供编码数据。各帧由多个区块构成,各个区块被划分为块,并且以块为单位对编码数据进行解码。尽管在本实施例中以帧为单位输入数据,但是可以以片为单位输入数据,通过划分帧获得片。尽管为了便于说明,在本实施例中仅描述了帧内预测解码,但是解码不限于此。可以将本实施例应用于帧间预测解码。
[0055]在步骤S501中,比特流分析单元401分析输入的比特流的头。在这种情况下,分析序列参数集、图片参数集和片头。尤其是,分析图片参数集中的标记TileFlag和WPPFlag,并且从片头中得到区块数据位置信息和块行数据位置信息。
[0056]在步骤S502中,将变量CurTile初始化为0。变量CurTile表示目标区块的编号。在步骤S503中,比特流分析单元401确定要发送到第一区块解码单元402或第二区块解码单元403的发送数据的量(或目标区块的编码数据的大小)。
[0057]将参照图9的流程图来描述比特流分析单元401中的区块数据的大小的确定处理。参照图9,在步骤S901中,确定目标区块是否是帧中的最后区块。如果目标区块是最后区块(步骤S901中“是”),则处理进行到步骤S902。如果在步骤S901中为“否”,则处理进行到步骤S903。
[0058]在步骤S902中,将从目标区块的编码数据的前端到下一个ML单元的数据的大小设置为发送数据的量。NAL单元是存储序列参数集、图片参数集和已编码的片等的箱(container)。因为在NAL单元的数据的前端包括特定比特序列,例如,0x000001,所以可以正确地识别数据的前端。在步骤S903中,读取表示第(CurTile)个区块的编码数据的大小的句法元素tile_entry_point_offset[CurTile+l]的值,并且确定发送数据量。
[0059]再次参照图5,在步骤S504中,在第一区块解码单元402或第二区块解码单元403中进行区块解码。在这种情况下,比特流分析单元401将偶数编号的区块的编码数据输出到第一区块解码单元402并且将奇数编号的区块的编码数据输出到第二区块解码单元403,使得发送与步骤S503中确定的大小一样大的数据。稍后将详细描述区块解码。
[0060]在步骤S505中,区块图像数据合并单元404合并从第一区块解码单元402输出的区块图像数据和从第二区块解码单元403输出的区块图像数据,以生成解码的图像数据并且输出该数据。在步骤S506中,确定是否完成了对帧中所有区块的编码数据的解码。如果完成了一帧解码(步骤S506中“是”),则终止一帧解码。如果未完成解码,则处理进行到步骤S507。在步骤S507中,将变量CurTile递增1。这意味着下一区块变为目标区块。
[0061]现在,将参照图20的流程图详细描述步骤S504中的区块解码。参照图20,在步骤S2001中,将变量CurBL初始化为0。变量CurBL表示目标块行的编号。
[0062]在步骤S2002中,确定通过选择器1901要发送到第一块行解码部1902或第二块行解码部1903的发送数据的量(或目标块行的编码数据的大小)。稍后将详细描述发送数据量的确定过程。在步骤S2003中,确定目标块行是否是区块中的顶端块行。如果是顶端块行(步骤S2003中“是”),则处理进行到步骤S2004。如果在步骤S2003中为“否”,则处理进行到步骤S2005。
[0063]在步骤S2004中,对区块中的顶端块行的编码数据解码以生成块行的图像数据。稍后将描述步骤S2004中的处理的详情。在步骤S2005中,对除了顶端块行以外的块行的编码数据解码,以生成块行的图像数据。关于块行解码,通过选择器1901基于变量CurBL来确定目标块行是偶数编号还是奇数编号的块行。如果目标块行是偶数编号的块行,则通过第一块行解码部1902来解码目标块行的编码数据。如果目标块行是奇数编号的块行,则通过第二块行解码部1903来解码目标块行的编码数据。通过第一块行解码部1902和第二块行解码部1903,以块行为单位对块行的编码数据项进行并行解码。稍后也将描述解码的详情。
[0064]在步骤S2006中,块行图像数据合并部1906合并从第一块行解码部1902输出的块行的图像数据和从第二块行解码部1903输出的块行的图像数据,以生成区块图像数据并且输出该数据。在步骤S2007中,确定是否完成了对区块中所有块行的编码数据的解码。如果完成了解码(步骤S2007中“是”),则终止区块解码。如果在步骤S2007中为“否”,则处理进行到步骤S2008。
[0065]在步骤S2008中,将变量CurBL递增1。这意味着目标区块中的下一块行变为目标块行。将参照图21的流程图,来详细描述在步骤S2002中的、比特流分析单元401中块行数据的大小的确定处理或过程。在该过程中,给出表示目标块行的编号的变量CurBL和表不目标区块的编号的变量CurTile作为输入。
[0066]在步骤S2101中,确定目标块行是否是区块中的最后块行。如果是最后块行(步骤S2101中“是”),则处理进行到步骤S2103。如果在步骤S2101中为“否”,则处理进行到步骤S2102。
[0067]在步骤S2102中,表示在第(CurTile)个区块中的第(CurBL)个块行的编码数据的大小的句法元素wpp_entry_point_offset[CurTile+l] [CurBL+1]的值被读取,并且确定发送数据的量。在步骤S2103中,确定目标区块是否是帧中的最后区块。如果是最后区块(步骤S2103中“是”),则处理进行到步骤S2104。如果在步骤S2103中为“否”,则处理进行到步骤S2105。
[0068]在步骤S2104中,将从目标块行的编码数据的前端到下一个ML单元的数据的大小设置为最后区块中的最后块行的发送数据的量。因为在NAL单元的数据的前端包括诸如0x000001等的特定比特序列,所以可以正确地识别数据的前端。
[0069]在步骤S2105中,将除了最后区块之外的区块中的最后块行的数据的大小确定为发送数据的量。区块中的最后块行的数据的大小不被给出作为句法元素wpp_entry_p0int_offset。因此,通过从表示目标区块的编码数据的大小的句法元素tile_entry_point_offset[CurTile+1]的值中减去处理后的区块的数据的大小,来计算最后块行的数据的大小。
[0070]下面,将参照图6的流程图,来详细描述图20中的步骤S2004中的处理(顶端块行解码的过程)。因为顶端块行是偶数标号的块行,所以通过选择器1901将目标块行的编码数据提供给对数据进行解码的第一块行解码部1902。在这种情况下,选择器1901将与步骤S2002中确定的发送数据量(或目标块行的编码数据的大小)一样多的编码数据,输出到第一块行解码部1902。
[0071 ] 参照图6,在步骤S601中,通过预定方法初始化概率表。初始化的概率表被用于块行的左块中的第一二值信号的算术解码,并且在稍后将描述的步骤S602中在任意时刻被更新。在以下描述中,将用于块行的第一块中的二值信号的算术解码的概率表称为“块行基准概率表”。
[0072]在步骤S602中,通过第一块行解码部1902以块为单位对编码数据进行解码,从而生成图像数据。现在,将参照图8的流程图详细描述步骤S602中的以块为单位的解码。
[0073]参照图8,在步骤S801中,基于概率表,对编码数据进行算术解码,从而生成二值信号。此外,以类似于H.264的方式,针对各个句法元素来解码通过诸如一元二值化和固定长度二值化等的各种二值化方案中的任意一种而二值化的二值信号,从而生成包括量化系数的句法元素。在步骤S802中,基于算术解码后的二值信号是否是具有更高概率的符号,来更新概率表。在步骤S803中,确定是否对块中的所有句法元素进行了算术解码。如果对所有句法元素进行了算术解码(步骤S803中“是”),则处理进行到步骤S804。如果在步骤S803中为“否”,则处理返回到步骤S801。解码下一句法元素。在步骤S804中,对量化系数进行逆量化,从而生成变换系数。此外,对变化系数进行逆正交变换,从而生成预测误差。在步骤S805中,基于目标块的周边像素进行帧内预测,从而生成预测的图像数据。此外,将预测误差添加到预测的图像数据中,从而生成以块为单位的图像数据。
[0074]再次参照图6的流程图,在步骤S603中,确定是否满足用于存储概率表的条件。在本实施例中,关于预定数量的块是否位于步骤S602中解码的块和块行的左端之间的准则,是用于存储概率表的条件。如果满足上述条件(步骤S603中“是”),则处理进行到步骤S604,并且将概率表作为第一概率表存储在第一概率表存储部1904中。如果不满足条件,则处理进行到步骤S605。将第一概率表用作块行基准概率表,该块行基准概率表用于解码下一块行中的左块的编码数据。
[0075]在步骤S605中,确定是否完成了对目标块行中的所有块的编码数据的解码。如果完成了解码(步骤S605中“是”),则终止顶端块行解码。如果在步骤S605中为“否”,则处理返回到步骤S602,并且以光栅顺序解码下一块。
[0076]将参照图7的流程图,来详细描述图20中的步骤S2005中的处理(或非顶端块行解码的过程)。如果目标块行是偶数编码的块行,则将目标块行的编码数据提供给第一块行解码部1902,并且通过第一块行解码部1902解码。如果目标块行是奇数编码的块行,则将目标块行的编码数据提供给第二块行解码部1903,并且通过第二块行解码部1903解码。选择器1901将与步骤S2002中确定的发送数据量(或目标块行的编码数据的大小)一样多的编码数据输出到第一块行解码部1902或第二块行解码部1903。以下将描述在第二块行解码部1903中解码奇数编号的块行的编码数据的过程。
[0077]参照图7,在步骤S701中,从第一概率表存储部1904提供第一概率表作为块行基准概率表。
[0078]由于步骤S702和S703中的处理与步骤S602和S603中的处理相同,所以省略说明。在步骤S704中,将概率表作为第二概率表存储到第二概率表存储部1905中。将第二概率表用作用于算术解码下一块行中的左块的编码数据的块行基准概率表。步骤S705中的处理与步骤S605中的处理相同。在步骤S705中,确定是否完成了对奇数编号的块行中的所有块的编码数据的解码。以下将描述在第一块行解码部1902中解码偶数编号的块行的编码数据的过程。在步骤S701中,从第二概率表存储部1905提供第二概率表作为块行基准概率表。由于步骤S702至S705的处理与步骤S602至S605的处理相同,所以省略说明。
[0079]上述结构和操作使得能够正确识别各个区块的编码数据的前端以及各个块行的编码数据的前端。相应地,可以以区块为单位并行地解码数据,并且可以进一步以块行为单位并行地解码各个区块的数据。因此,将帧划分为区块并且将各个区块划分为块行使得能够提高并行性和编码效率两者。
[0080]尽管本实施例描述了关于布置两个区块解码单元和两个块行解码部的情况,但是显然例如第三区块解码单元、第三块行解码部以及第三概率表存储部的附加布置使得能够通过更多的解码单元和部进行并行处理。
[0081]第二实施例
[0082]在根据本发明的第二实施例要由图像解码装置来解码的图像编码格式中,以与第一实施例相同的方式,将一帧划分为作为矩形区域的多个区块。因为第二实施例中的区块布置与图2中所示的第一实施例中的区块布置相同,所以省略说明。
[0083]图10例示了本实施例中的HEVC编码数据的格式。除了片头以外,图10中的编码数据与第一实施例中的编码数据相同。相应地,以下将仅描述片头。在图10中,当标记TileFlag具有值1或标记WPPFlag具有值1时,片头包括句法元素num_entry_point_offsets和句法元素entry_point_offset作为位置信息。
[0084]如果标记TileFlag具有值1并且标记WPPFlag具有值0,则这意味着帧被划分为多个区块、各个区块未被划分为块行,并且对各个区块的图像数据进行编码。在这种情况下,句法元素num_entry_point_offsets具有通过从表示片中的区块的数量的N中减去1而获得的值。句法元素entry_point_offset[i]表示第i个区块的编码数据的入口点。由于已知第0个区块的编码数据紧接着片头,所以省略第0个区块的入口点。将第(1-Ι)个区块的编码数据的大小编码为句法元素entry_point_offset[i]。
[0085]如果标记TileFlag具有值0并且标记WPPFlag具有值1,则这意味着帧由单个区块构成、该区块被划分为了块行,并且对各个块行的图像数据进行编码。在这种情况下,句法元素num_entry_point_offsets具有通过从片中的块行的数量中减去1而获得的值。句法元素entry_point_offset[i]表示第i个块行的编码数据的入口点。由于已知第0个块行的编码数据紧接着片头,所以省略第0个块行的入口点。将第(1-Ι)个块行的编码数据的大小编码为句法元素entry_point_offset[i]。
[0086]如果标记TileFlag具有值1并且标记WPPFlag具有值1,则这意味着帧被划分为了多个区块、各个区块被划分为了块行,并且对各个块行的图像数据进行了编码。在这种情况下,句法元素num_entry_point_ofTsets具有通过从片中的区块的数量N和各个区块中的块行的数量Μ的乘积中减去1而获得的值。句法元素entry_point_offset[i]表示第i个块行的编码数据的入口点。由于已知第0个块行的编码数据紧接着片头,所以省略第0个块行的入口点。将第(1-ι)个块行的编码数据的大小编码为句法元素entry_p0int_offset[i]。
[0087]如果标记TileFlag具有值0并且标记WPPFlag具有值0,即,在帧由单个区块构成、该区块未被划分为块行,并且对区块的图像数据进行了编码的情况下,句法元素num_entry_point_offsets 被当作具有值 0。
[0088]在本实施例中,标记TileFlag和标记WPPFlag各自具有值1。在本实施例中的编码数据的片由四个区块构成。由于各个区块中的垂直块的数量是135,所以句法元素num_entry_point_offsets 具有值 4X 135-1 = 539。
[0089]按照图像编码格式的编码数据被解码。由于根据本实施例的图像解码装置具有与图4和图19中所示的第一实施例中的图像解码装置相同的结构,所以省略说明。
[0090]将参照图5的流程图详细描述根据本实施例的图像解码装置的操作。参照图5,在步骤S501中,以与第一实施例中相同的方式,来分析图片参数集中的标记TileFlag和WPPFlag,因此从片头得到位置信息。在步骤S502中,将变量CurTile初始化为0。在步骤S503中,通过与第一实施例中不同的过程,在比特流分析单元401中确定要发送到第一区块解码单元402或第二区块解码单元403的发送数据的量。
[0091]将参照图11的流程图来详细描述本实施例中确定区块数据的大小的过程。由于图11中的步骤S1101和S1102中的处理与图9中的步骤S901和步骤S902中的处理相同,所有省略说明。
[0092]在步骤S1103中,基于区块中的垂直块的数量来确定目标区块中的入口点的数量,并且将句法元素entry_p0int_0ffSet的值的总和设置为发送数据的量。在本实施例中,区块中的垂直块的数量是固定的135。相应地,将句法元素entry_point_offset [CurTile X 135+1]至句法兀素 entry_point_off set [ (CurTile+1) X 135]的值的总和设置为发送数据量。在各区块具有不同数量的垂直块的情况下,已经被处理的区块的块行的数量累加,以确定累加开始的句法元素entry_point_offset[]的位置。
[0093]再次参照图5,在步骤S504中,以与第一实施例中相同的方式,通过第一区块解码单元402或第二区块解码单元403进行区块解码。以与第一实施例类似的方式,将参照图20的流程图描述步骤S504中的区块解码。除了步骤S2002中的块行数据的大小的确定处理之外,本实施例中的图20的过程与第一实施例中的过程相同。相应地,在本实施例中,将参照图12仅描述步骤S2002。参照图12,在步骤S1201中,通过比特流分析单元401确定目标块行是否是帧中的最后块行。如果目标块行是最后块行(步骤S1201中“是”),则处理进行到步骤S1203。如果在步骤S1201中为“否”,则处理进行到步骤S1202。
[0094]在步骤S1202中,表示目标块行的编码数据的大小的句法元素entry_point_offset的值被读取,以确定发送数据量。因此,终止块行数据的大小的确定过程。在本实施例中,由于各个区块中的垂直块的数量是固定的135,所以读取句法元素entry_point_offset [CurTile X 135+CurBL+l]。在各区块具有不同数量的垂直块的情况下,已经被处理的区块的垂直块的数量的总和必须被替换为值CurTileX 135。
[0095]在步骤S1203中,将从目标块行的编码数据的前端到下一个NAL单元的数据的大小设置为发送数据的量。终止块行数据的大小的确定过程。由于在NAL单元的数据的前端包括例如0x000001的特定比特序列,所以能够正确地识别数据的前端。
[0096]由于图5中步骤S505至S507中的处理与第一实施例中相同,所以省略说明。
[0097]上述结构和操作使得能够正确识别各个区块的编码数据的前端以及各个块行的编码数据的前端。相应地,可以以区块为单位并行地解码数据,并且还可以以块行为单位并行地解码各个区块中的数据。在第一实施例中,需要提供表示区块的入口点的数量的句法元素和表示区块的入口点的句法元素,并且还提供数量等于区块数量的句法元素组,各个句法元素组包括表示区块中的块行的入口点的数量的句法元素以及表示块行的入口点的句法元素。根据本实施例,各个入口点由块行的编码数据的大小来代表。相应地,不必分别提供关于区块的入口点的信息以及关于块行的入口点的信息。因此,能够利用较小的信息量实现并行解码。
[0098]尽管本实施例描述了关于布置两个区块解码单元和两个块行解码部的情况,但是显然例如第三区块解码单元、第三块行解码部以及第三概率表存储部的附加布置使得能够通过更多的解码单元和部进行并行处理。
[0099]第三实施例
[0100]在用于根据本发明的第三实施例的图像编码装置进行编码的图像编码格式中,以与第一实施例中相同的方式,将一帧划分为作为矩形区域的多个区块。因为第三实施例中的区块布置与第一实施例中的图2中的区块布置相同,所以省略说明。注意,区块布置不限于图2中的区块布置。
[0101]尽管图1例示了本实施例中的HEVC编码流的格式,但是因为其与第一实施例中相同,所以省略说明。图13例示了用于以该图像编码格式生成编码流的图像编码装置的结构。
[0102]参照图13,区块选择器1301被配置为确定目标块是否属于偶数编号的区块。如果块属于偶数编号的区块,则区块选择器1301将块的数据输出到第一区块编码单元1302。如果块不属于偶数编号的区块,则区块选择器1301将块的数据输出到第二区块编码单元1303。
[0103]第一区块编码单元1302和第二区块编码单元1303被配置为以区块为单位编码输入的块的图像数据,各个块由ηΧη像素(η是大于或等于2的正整数)构成。尽管在本实施例中描述了两个区块编码单元的布置,但是本发明不限于此。在图2中,通过第一区块编码单元1302编码Tile 0和Tile 2的图像数据项,并且通过第二区块编码单元1303编码Tile 1和Tile 3的图像数据项。
[0104]将参照图23的框图详细描述第一区块编码单元1302和第二区块编码单元1303。
[0105]块行选择器2301被配置为确定目标块是否属于区块中的偶数编号的块行,并且依据确定的结果选择输出目的地。第一块行编码部2302被配置为编码属于偶数编号的块行的块的图像数据。第二块行编码部2303被配置为编码属于奇数编号的块行的块的图像数据。第一概率表存储部2304被配置为存储由第一块行编码部2302生成的概率表,作为编码信息。在以下描述中,将在第一概率表存储部2304中存储的概率表称为第一概率表。第二概率表存储部2305被配置为存储由第二块行编码部2303生成的概率表,作为编码信息。在以下描述中,将在第二概率表存储部2305中存储的概率表称为第二概率表。块行数据合并部2306被配置为合并由第一块行编码部2302生成的编码数据和由第二块行编码部2303生成的编码数据,并且将合并的数据与包括位置信息的编码参数一起输出。
[0106]块行选择器2301以区块为单位提供图像数据。如果目标块属于偶数编号的块行,则块行选择器2301将块的数据输出到第一块行编码部2302。如果目标块属于不属于偶数编号的块行,则块行选择器2301将块的数据输出到第二块行编码部2303。参照图3,通过第一块行编码部2302编码表示偶数编号的块行的白块的图像数据,并且通过第二块行编码部2303编码表示奇数编号的块行的阴影块的图像数据。由于顶端块行是第0行,所以通过第一块行编码部2302编码顶端块行的图像数据。稍后将详细描述使用第一块行编码部2302和第二块行编码部2303的编码过程。
[0107]再次参照图13,合并单元1304被配置为,将由第一区块编码单元1302生成的编码数据和编码参数以及由第二区块编码单元1303生成的编码数据和编码参数合并为比特流,并且输出该比特流。合并单元1304将诸如标记TileFlag和WPPFlag的划分信息合并为图片参数集,并且将合并位置信息合并为片头,并且输出比特流。
[0108]将参照图14至图17的流程图,来详细描述根据本实施例的图像编码装置的操作。在本实施例中,以帧为单位输入图像。各帧由多个区块构成,各个区块被划分为多个块,并且以块为单位编码图像数据。尽管在本实施例中以帧为单位输入图像,但是也可以以片为单位输入图像,通过划分帧而获得片。此外,尽管为了便于说明在本实施例中将仅描述帧内预测编码,但是编码不限于此。可以将本实施例应用于帧间预测编码。
[0109]将参照图14描述一帧的编码。在步骤S1401中,将表示目标区块的数量的变量CurTile初始化为0。在步骤S1402中,在第一区块编码单元1302或第二区块编码单元1303中进行区块编码。在这种情况下,区块选择器1301将偶数编号的区块的数据发送到第一区块编码单元1302并且将奇数编号的区块的数据发送到第二区块编码单元1303。将参照图24的流程图来详细描述区块编码。
[0110]参照图24,在步骤S2401中,将表示目标块行的数量的变量CurBL初始化为0。在步骤S2402中,确定目标块行是否是区块中的顶端块行。如果目标块行是顶端块行(步骤S2402中“是”),则处理进行到步骤S2403。如果在步骤S2402中为“否”,则处理进行到步骤 S2404。
[0111]在步骤S2403中,对区块中的顶端块行编码。在步骤S2404中,对除了顶端块行以外的块行的数据进行编码。稍后将详细描述这些步骤中的编码。在步骤S2405中,设置要在片头中包含的位置信息(句法元素tile_entry_point_offset和句法元素wpp_entry_point_offset)。稍后也将详细描述该步骤中的处理。
[0112]在步骤S2406中,通过块行数据合并部2306合并从第一块行编码部2302输出的编码数据和从第二块行编码部2303输出的编码数据。此外,将合并的编码数据与包括步骤S2405中计算的位置信息的编码参数进行合并,并且输出结果编码数据。
[0113]在步骤S2407中,确定是否完成了对区块中所有块行的数据的编码。如果完成了编码(步骤S2407中“是”),则终止区块编码。如果在步骤S2407中为“否”,则处理进行到步骤S2408。
[0114]在步骤S2408中,将变量CurBL递增1。这意味着目标区块中的下一块行变为目标块行。
[0115]再次参照图14,在步骤S1403中,确定是否完成了对帧中所有区块的数据的编码。如果完成了编码(步骤S1403中“是”),则处理进行到步骤S1405。如果在步骤S1403中为“否”,则处理进行到步骤S1404。在步骤S1404中,将表示区块编号的变量CurTile递增1。这意味着下一区块变为目标区块。在步骤S1405中,通过合并单元1304合并从第一区块编码单元1302输出的编码数据和从第二区块编码单元1303输出的编码数据。此外,将合并的编码数据与包括步骤S2405中计算的位置信息的编码参数合并为比特流,并且输出该比特流。
[0116]以下,将详细描述图24中的区块编码的过程中包括的块行编码。首先,将参照图15的流程图来详细描述步骤S2403中的处理(或顶端块行编码的过程)。由于顶端块行是偶数编号的块行,所以通过区块选择器1301将目标块行的图像数据提供给第一区块编码单元1302,并且通过第一区块编码单元1302来编码图像数据。
[0117]参照图15,在步骤S1501中,通过预定方法来初始化概率表。初始化的概率表被用于块行中的左块的第一二值信号的算术编码,并且在步骤S1502中在任意时刻对概率表进行更新,稍后对此进行描述。在以下描述中,将用于块行中的第一块的二值信号的算术编码的概率表称为块行基准概率表。
[0118]在步骤S1502中,通过第一区块编码单元1302以块为单位对图像数据编码,从而生成编码数据。将参照图16的流程图来详细描述步骤S1502中的块编码。
[0119]参照图16,在步骤S1601中,对输入的块的图像数据进行使用块的周边像素的帧内预测,从而生成预测误差。在步骤S1602中,对预测误差进行正交变换,从而生成变换系数。此外,使用基于例如图像特征和符号量而确定的量化参数来量化变换系数,从而生成量化系数。在步骤S1603中,表示例如量化参数或预测模式的句法元素被二值化,从而生成二值信号。使用诸如一元二值化和固定长度二值化等的各种二值化方案,同时以类似于H.264的方式针对各个句法元素切换二值化方案。此外,基于概率表,对二值信号进行算术编码。在步骤S1604中,基于算术编码的二值信号是否为具有更高概率的符号来更新概率表。在步骤S1605中,确定是否对块中的所有句法元素进行了算术编码。如果对所有句法元素进行了算术编码(步骤S1605中“是”),则终止块编码。如果在步骤S1605中为“否”,则处理返回到步骤S1603,对下一句法元素进行编码。
[0120]再次参照图15的流程图,在步骤S1503中,确定是否满足用于存储概率表的条件。在本实施例中,关于预定数量的块是否位于步骤S1502中编码的块和块行的左端之间的准贝U,是用于存储概率表的条件。如果满足上述条件(步骤S1503中“是”),则处理进行到步骤S1504。将概率表作为第一概率表存储到第一概率表存储部2304中。如果不满足条件,则处理进行到步骤S1505。将第一概率表用作用于编码下一块行中的左块的图像数据的块行基准概率表。
[0121]在步骤S1505中,确定是否完成了对目标块行中的所有块的数据的编码。如果完成了编码(步骤S1505中“是”),则终止顶端块行编码。如果在步骤S1505中为“否”,则处理返回到步骤S1502,并且以光栅顺序编码下一块的图像数据。
[0122]将参照图17的流程图来详细描述图24中的步骤S2402中的处理(或非顶端块行编码的过程)。如果目标块行是偶数编号的块行,则将目标块行的图像数据提供给第一块行编码部2302,并且通过第一块行编码部2302编码。如果目标块行是奇数编号的块行,则将目标块行的图像数据提供给第二块行编码部2303,并且通过第二块行编码部2303编码。首先,以下将描述在第二块行编码部2303中对奇数编号的块行的图像数据进行编码的过程。
[0123]在步骤S1701中,从第一概率表存储部2304中提供第一概率表作为块行基准概率表。由于步骤S1702和S1703中的处理与步骤S1502和S1503中的处理相同,所以省略说明。在步骤S1704中,将概率表作为第二概率表存储到第二概率表存储部2305中。将第二概率表用作用于对下一块行中的左块的图像数据的算术编码的块行基准概率表。步骤S1705中的处理与步骤S1505中的处理相同。在步骤S1705中,确定是否完成了对奇数编号的块行中的所有块的图像数据的编码。
[0124]接着,以下将描述在第一块行编码部2302中对偶数编号的块行的图像数据进行编码的过程。在步骤S701中,从第二概率表存储部2305中提供第二概率表作为块行基准概率表。因为步骤S1702至S1704中的处理与步骤S1502至S1504中的处理相同,所以省略说明。在步骤S1705中,确定是否完成了对偶数编号的块行中的所有块的图像数据的编码。
[0125]将参照图18的流程图来详细描述图24中的步骤S2405中的计算位置信息的处理或过程。在该过程中,给出变量CurBL和变量CurTile作为输入。
[0126]参照图18,在步骤S1801中,确定目标块行是否是目标区块中的最后块行。如果是最后块行(步骤S1801中“是”),则处理进行到步骤S1803。如果在步骤S1801中为“否”,则处理进行到步骤S1802。
[0127]在步骤S1802中,将目标块行的编码数据的大小设置为句法元素wpp_entry_point_offset[CurTile+1][CurBL+1]ο 句法兀素 wpp_entry_point_offset[CurTile][CurBL]表示在第(CurTile)个区块中的第(CurBL)个块行的编码数据的大小。
[0128]在步骤S1803中,确定目标区块是否是帧中的最后区块。如果是最后区块,则终止计算位置信息的过程。如果目标区块不是最后区块,则处理进行到步骤S1804。如果目标区块是最后区块,则这意味着目标块行是最后区块中的最后块行。关于块行的入口点的信息不被编码为句法元素。
[0129]在步骤S1804中,将目标区块的编码数据的大小设置为,表示第(CurTile)个区块的编码数据的大小的句法元素tile_entry_point_offset [CurTile+1]。在图14的步骤 S1405 中,将句法兀素 wpp_entry_point_offset []和句法兀素 tile_entry_point_offset[]的值合并为片头。
[0130]上述结构和操作使得能够将图像划分为区块并且以块行为单位并行编码。相应地,可以实现高速编码。此外,由于可以正确识别各个区块的编码数据的前端以及各个块行的编码数据的前端,所以可以编码比特流,该比特流能够以区块为单位被并行解码并且在各个区块中以块行为单位被并行解码。因此,由于可以将帧划分为区块并且可以将各个区块划分为块行,所以能够提高并行性和编码效率两者。
[0131]尽管本实施例描述了关于布置两个区块编码单元和两个块行编码部的情况,但是显然例如第三区块编码单元、第三块行编码部以及第三概率表存储部的附加布置使得能够通过更多的编码单元和部进行并行处理。
[0132]第四实施例
[0133]在根据本发明的第四实施例的用于图像编码装置进行编码的图像编码格式中,以与第一实施例相同的方式,将一帧划分为作为矩形区域的多个区块。由于第四实施例中的区块布置与图2中所示的第一实施例中的区块布置相同,所以省略说明。注意,区块布置不限于此布置。
[0134]图10中例示了在本实施例中HEVC编码流的格式。图10中的编码流与第二实施例中的编码流相同。通过块行的入口点来表示所有的入口点。
[0135]图13和图23例示了根据本实施例的图像编码装置的结构(部件),该图像编码装置以根据本实施例的图像编码格式来生成编码流。由于根据本实施例的图像编码装置具有与第三实施例中相同的结构,所以省略说明。
[0136]除了图24中的步骤S2405中的计算位置信息的处理之外,根据本实施例的图像编码装置的操作与第三实施例中的操作相同。因此,将参照图22仅描述步骤S2405中的处理。
[0137]参照图22,在步骤S2201中,确定目标块行是否是帧中的最后块行。如果是最后块行(步骤S2201中“是”),则终止计算位置信息的处理。如果目标块行不是最后块行,则处理进行到步骤S2202。如果目标块行是最后块行,则关于块行的入口点的信息不被编码为句法元素。
[0138]在步骤S2202中,将目标块行的编码数据的大小设置为句法元素entry_point_offset。在本实施例中,由于各个区块中的垂直块的数量是固定的135,所以将在第(CurTile)个区块中的第(CurBL)个块行的编码数据的大小设置为句法元素entry_point_offset[CurTileX135+CurBL+l]。如果各区块具有不同数量的垂直块,则需要将已处理的区块中的垂直块的数量的总和替换为值CurTileX 135。
[0139]以与第三实施例相同的方式,将图24中的步骤S2405中获得的位置信息entry_point_offset作为句法元素合并到步骤S1405中的片头。
[0140]上述结构和操作使得能够将图像划分为区块并且以块行为单位并行编码。相应地,能够实现高速编码。此外,由于能够正确识别各个区块的编码数据的前端以及各个块行的编码数据的前端,所以能够编码比特流,该比特流能够以区块为单位被并行解码并且在各个区块中以块行为单位被并行解码。
[0141]在本实施例中,需要提供表示区块的入口点的数量的句法元素和表示区块的入口点的句法元素,并且还提供数量等于区块数量的句法元素组,各个句法元素组包括表示各个区块中的块行的入口点的数量的句法元素以及表示块行的入口点的句法元素。根据本实施例,各个入口点由块行的编码数据的大小来代表。相应地,不必分别提供关于区块的入口点的信息以及关于块行的入口点的信息。因此,能够对能够利用较小的信息量进行并行解码的流进行编码。
[0142]尽管本实施例描述了关于布置两个区块编码单元和两个块行编码部的情况,但是显然例如第三区块编码单元、第三块行编码部以及第三概率表存储部的附加布置使得能够通过更多的编码单元和部进行并行处理。
[0143]第五实施例
[0144]在假设通过硬件构造图4、图13、图19和图23所示的处理单元和部的前提下,描述了上述实施例。可以通过计算机程序实现由图4、图13、图19和图23中的处理单元和部进行的处理。
[0145]图25是例示可应用于根据上述实施例的图像处理(解码和编码)装置的计算机的硬件的示例性结构的框图。
[0146]CPU 2501被配置为基于在RAM 2502和ROM 2503中存储的计算机程序和数据来进行计算机的整体控制,并且执行通过根据实施例的图像处理装置进行的上述处理。也就是说,CPU 2501起到图4、图13、图19和图23中所示的处理单元和部的作用。
[0147]RAM 2502具有用于临时存储从外部存储器2506中加载的计算机程序和数据以及通过接口(I/F)2507从外部设备获得的数据的区域。RAM2502还具有用于通过CPU 2501执行各种处理的工作区域。也就是说,RAM 2502可以起到帧存储器的作用或适当提供各种区域。
[0148]ROM 2503存储计算机的设定数据、引导程序等。操作单元2504包括键盘和鼠标。当计算机的用户进行操作时,操作单元2504可以将各种指令输入到CPU 2501。输出单元2505输出CPU 2501的处理结果。可以通过显示设备(例如,液晶显示器)构造输出单元2505,使得可以显示处理结果。
[0149]外部存储器2506起到诸如硬盘驱动等的大容量存储器的作用。外部存储器2506存储操作系统(0S)以及用于使CPU 2501实现图4、图13、图19和图23中所示的单元和部的功能的计算机程序。外部存储器2506还存储要处理的图像。
[0150]在CPU 2501的控制下,外部存储器2506中存储的计算机程序和数据被适当地加载到RAM 2502,并且用作要由CPU 2501处理的目标。可以将I/F 2507连接到诸如局域网(LAN)和因特网等的网络,以及诸如投影仪和显示设备等的其他设备。计算机可以通过I/F2507接收和发送各种信息。总线2508连接上述部件。
[0151]通过CPU 2501主要控制参照前述流程图描述的操作。
[0152]其他实施例
[0153]本发明的方面还可以通过读出并执行记录在存储设备上的用于执行上述实施例的功能的程序的系统或装置(或诸如CPU或MPU等的设备)的计算机来实现,以及通过例如读出并执行记录在存储设备上的用于执行上述实施例的功能的程序的系统或装置的计算机来执行其步骤的方法来实现。为此,例如经由网络或者从用作存储器设备的各种类型的记录介质(例如,计算机可读介质)向计算机提供程序。
[0154]虽然已经参照示例性实施例描述了本发明,但是应当理解,本发明并不局限于公开的示例性实施例。所附权利要求的范围应当适合最广泛的解释,以使其涵盖所有这些改动、等同结构和功能。
[0155]本申请要求2012年6月29日提交的日本专利申请第2012-147153号的优先权,该申请的全部内容通过弓I用并入本文。
【权利要求】
1.一种图像解码装置,该图像解码装置对通过将图像数据的帧划分为矩形的区块并且以区块为单位编码所述图像数据而获得的编码数据进行解码,该图像解码装置包括: 得到单元,其被构造为由所述编码数据得到区块数据划分信息、区块数据位置信息、块行数据划分信息以及块行数据位置信息,所述区块数据划分信息表示所述编码数据是否由用作所述区块的编码数据项的区块数据项构成,所述区块数据位置信息表示所述区块数据项的位置,所述块行数据划分信息表示各个区块数据项是否由第一块行数据和第二块行数据构成,所述第一块行数据用作作为线性布置的块的组的第一块行的编码数据,所述第二块行数据用作紧接着所述第一块行的第二块行的编码数据,所述块行数据位置信息表示所述第二块行数据的位置; 第一解码单元,其被构造为基于所述得到单元得到的信息来解码所述第一块行数据;以及 第二解码单元,其被构造为基于所述得到单元得到的信息以及通过对属于所述第一块行的预定位置处的块的编码数据进行解码而获得的解码信息,来解码所述第二块行数据。
2.根据权利要求1所述的图像解码装置,其中,属于帧中的第N个区块的第O个块行的数据的位置由第N个区块数据位置信息来表示,并且第M个块行以及后续块行的数据项的位置,由第(M-1)个块行的编码数据的大小作为块行数据位置信息来表示,其中N大于或等于1,M大于或等于I。
3.一种图像解码装置,该图像解码装置对通过将图像数据的帧划分为矩形的区块并且以区块为单位编码所述图像数据而获得的编码数据进行解码,该图像解码装置包括: 得到单元,其被构造为由所述编码数据得到区块数据划分信息、块行数据划分信息以及大小信息,所述区块数据划分信息表示所述编码数据是否由第一区块数据和第二区块数据构成,所述第一区块数据和所述第二区块数据用作对应区块的编码数据,所述块行数据划分信息表示各个区块数据项是否由第一块行数据和第二块行数据构成,所述第一块行数据用作作为线性布置的块的组的第一块行的编码数据,所述第二块行数据用作紧接着所述第一块行的第二块行的编码数据,所述大小信息表示所述第一区块数据或所述第一块行数据的大小; 第一解码单元,其被构造为基于所述得到单元得到的信息来解码所述第一块行数据; 第二解码单元,其被构造为基于所述得到单元得到的信息以及通过对属于所述第一块行的预定位置处的块的编码数据进行解码而获得的解码信息,来解码所述第二块行数据; 并且,如果利用区块数据划分来对所述编码数据进行编码、而不利用块行数据划分对所述区块数据进行编码,则所述大小信息表示第一区块数据大小,否则,所述大小信息表示第一块行数据大小。
4.根据权利要求3所述的图像解码装置,其中,如果利用区块数据划分来对所述编码数据进行编码并且利用块行划分来对所述区块数据进行编码,则由第O个至第(M-1)个块行数据大小的信息的总和得到从第O个块行数据起的第M个块行数据的位置,并且由第O个至第(N-1)个区块数据中对应块数据的块数据大小信息的总和得到从第O个区块数据起的第N个区块数据的位置,其中M大于或等于1,N大于或等于I。
5.一种图像解码装置的图像解码方法,该图像解码装置对通过将图像数据的帧划分为矩形的区块并且以区块为单位编码所述图像数据而获得的编码数据进行解码,该图像解码方法包括以下步骤: 由所述编码数据得到区块数据划分信息、区块数据位置信息、块行数据划分信息以及所述块行数据位置信息,所述区块数据划分信息表示所述编码数据是否由用作所述区块的编码数据项的区块数据项构成,所述区块数据位置信息表示所述区块数据项的位置,所述块行数据划分信息表示各个区块数据项是否由第一块行数据和第二块行数据构成,所述第一块行数据用作作为线性布置的块的组的第一块行的编码数据,所述第二块行数据用作紧接着所述第一块行的第二块行的编码数据,所述块行数据位置信息表示所述第二块行数据的位置; 基于所得到的信息来解码所述第一块行数据;以及 基于所得到的信息以及通过对属于所述第一块行的预定位置处的块的编码数据进行解码而获得的解码信息,来解码所述第二块行数据。
6.一种存储程序的记录介质,当通过计算机读取并且执行所述程序时,所述程序使得所述计算机起到根据权利要求1所述的图像解码装置的作用。
【文档编号】H04N19/174GK104396259SQ201380034770
【公开日】2015年3月4日 申请日期:2013年6月26日 优先权日:2012年6月29日
【发明者】大川浩司 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1