用于通过使用旋转变换对图像编码和解码的方法和设备.pdf

上传人:a**** 文档编号:4287207 上传时间:2018-09-13 格式:PDF 页数:30 大小:749.70KB
返回 下载 相关 举报
摘要
申请专利号:

CN201080036019.1

申请日:

2010.08.13

公开号:

CN102484702A

公开日:

2012.05.30

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):H04N 7/26申请公布日:20120530|||实质审查的生效IPC(主分类):H04N 7/26申请日:20100813|||公开

IPC分类号:

H04N7/26; H04N7/50

主分类号:

H04N7/26

申请人:

三星电子株式会社

发明人:

艾琳娜·阿尔辛娜; 亚历山大·阿尔辛; 范迪姆·谢廖金

地址:

韩国京畿道

优先权:

2009.08.13 KR 10-2009-0074898

专利代理机构:

北京铭硕知识产权代理有限公司 11286

代理人:

韩明星

PDF下载: PDF下载
内容摘要

提供了一种对图像编码的方法和设备。所述方法和设备包括:对第二频率系数矩阵进行量化和熵编码,其中,通过执行第一频率系数矩阵的行之间和列之间的一个或多个值的部分交换来产生第二频率系数矩阵。还提供了一种用于对通过使用用于对图像编码的方法和设备编码的图像数据解码的方法和设备。

权利要求书

1: 一种对图像编码的方法, 所述方法包括 : 产生第一频率系数矩阵 ; 通过基于角参数执行第一频率系数矩阵的至少两行之间或至少两列之间的一个或多 个值的部分交换来产生第二频率系数矩阵 ; 对第二频率系数矩阵进行量化 ; 对第二频率系数矩阵和关于角参数的信息进行熵编码, 其中, 角参数是这样的参数, 所述参数指示第一频率系数矩阵的至少两行之间或至少 两列之间的一个或多个值的部分交换的水平。2: 如权利要求 1 所述的方法, 其中, 角参数是关于欧拉角的参数。3: 如权利要求 1 所述的方法, 其中, 第二频率系数矩阵的产生步骤包括 : 将用于执行第 一频率系数矩阵的至少两行之间的部分交换的矩阵乘以第一频率系数矩阵的左侧, 将用于 执行第一频率系数矩阵的至少两列之间的部分交换的矩阵乘以第一频率系数矩阵的右侧。4: 如权利要求 3 所述的方法, 其中, 用于执行第一频率系数矩阵的至少两行之间的部 分交换的矩阵为 其中 : A = cosαcosγ-sinαcosβsinγ B = -sinαcosγ-cosαcosβsinγ C = sinβsinγ D = cosαsinγ+sinαcosβcosγ E = -sinαsinγ+cosαcosβcosγ F = -sinβcosγ G = sinαsinβ H = cosαsinβ I = cosβ 其中, α、 β、 γ 是欧拉角。5: 如权利要求 1 所述的方法, 还包括 : 针对不同的角参数重复地执行以下操作 : 通过执 行第一频率系数矩阵的至少两行之间或至少两列之间的一个或多个值的部分交换来产生 第二频率系数矩阵, 对第二频率系数矩阵进行量化, 对第二频率系数矩阵进行熵编码 ; 从不同角参数中选择与最高压缩率对应的角参数。6: 如权利要求 5 所述的方法, 其中, 从不同角参数中选择角参数的步骤包括 : 针对不同角参数并通过使用蒙特卡罗方法重复地执行以下操作 : 通过执行第一频率系 数矩阵的至少两行之间或至少两列之间的一个或多个值的部分交换来产生第二频率系数 矩阵, 对第二频率系数矩阵进行量化, 对第二频率系数矩阵进行熵编码 ; 从不同角参数中选择与最高压缩率对应的角参数。 27: 如权利要求 5 所述的方法, 其中, 选择角参数的步骤包括 : 将不同角参数与随机序列对应 ; 针对不同角参数重复地执行以下操作 : 通过执行第一频率系数矩阵的至少两行之间或 至少两列之间的一个或多个值的部分交换来产生第二频率系数矩阵, 对第二频率系数矩阵 进行量化, 对第二频率系数矩阵进行熵编码 ; 从不同角参数中选择与最高压缩率对应的角参数, 其中, 对关于角参数的信息进行熵 编码的步骤包括 : 将与选择的角参数对应的随机序列的数量编码为关于角参数的信息。8: 如权利要求 1 所述的方法, 其中, 产生第二频率系数矩阵的方法包括 : 选择仅包括第一频率系数矩阵的一些系数的矩阵 ; 通过基于角参数执行包括所选择的系数的矩阵的至少两行之间或至少两列之间的一 个或多个值的部分交换来产生第二频率系数矩阵。9: 一种图像编码设备, 包括 : 变换器, 产生第一频率系数矩阵, 通过基于角参数执行第一频率系数矩阵的至少两行 之间或至少两列之间的一个或多个值的部分交换来产生第二频率系数矩阵 ; 量化单元, 对第二频率系数矩阵进行量化 ; 熵编码器, 对第二频率系数矩阵和关于角参数的信息进行熵编码, 其中, 角参数是这样的参数, 所述参数指示第一频率系数矩阵的至少两行之间或至少 两列之间的一个或多个值的部分交换的水平。10: 一种对图像解码的方法, 所述方法包括 : 对第二频率系数矩阵和关于角参数的信息进行熵解码 ; 对第二频率系数矩阵进行逆量化 ; 通过基于角参数执行第二频率系数矩阵的至少两行之间或至少两列之间的一个或多 个值的部分交换来产生第一频率系数矩阵 ; 将第一频率系数矩阵逆变换为像素域, 并重构预定块, 其中, 角参数是这样的参数, 所述参数指示第二频率系数矩阵的至少两行之间或至少 两列之间的一个或多个值的部分交换的水平。11: 如权利要求 10 所述的方法, 其中, 角参数是关于欧拉角的参数。12: 如权利要求 10 所述的方法, 其中, 第一频率系数矩阵的产生步骤包括 : 将用于执行 第二频率系数矩阵的至少两行之间的部分交换的矩阵乘以第二频率系数矩阵的左侧, 将用 于执行第二频率系数矩阵的至少两列之间的部分交换的矩阵乘以第二频率系数矩阵的右 侧。13: 一种图像解码设备, 包括 : 熵解码器, 对第二频率系数矩阵和关于角参数的信息进行熵解码 ; 逆量化单元, 对第二频率系数矩阵进行逆量化 ; 逆变换器, 通过基于角参数执行第二频率系数矩阵的至少两行之间或至少两列之间的 一个或多个值的部分交换来产生第一频率系数矩阵 ; 将第一频率系数矩阵逆变换到像素 域, 并重构预定块, 其中, 角参数是这样的参数, 所述参数指示第二频率系数矩阵的至少两行之间或至少 3 两列之间的一个或多个值的部分交换的水平。14: 一种记录有当被计算机执行时执行对图像编码的方法的程序的计算机可读记录介 质, 所述方法包括 : 产生第一频率系数矩阵 ; 通过基于角参数执行第一频率系数矩阵的至少两行之间或至少两列之间的一个或多 个值的部分交换来产生第二频率系数矩阵 ; 对第二频率系数矩阵进行量化 ; 对第二频率系数矩阵和关于角参数的信息进行熵编码, 其中, 角参数是这样的参数, 所述参数指示第一频率系数矩阵的至少两行之间或至少 两列之间的一个或多个值的部分交换的水平。15: 一种记录有当被计算机执行时执行对图像解码的方法的程序的计算机可读记录介 质, 所述方法包括 : 对第二频率系数矩阵和关于角参数的信息进行熵解码 ; 对第二频率系数矩阵进行逆量化 ; 通过基于角参数执行第二频率系数矩阵的至少两行之间或至少两列之间的一个或多 个值的部分交换来产生第一频率系数矩阵 ; 将第一频率系数矩阵逆变换到像素域, 并重构预定块, 其中, 角参数是这样的参数, 所述参数指示第二频率系数矩阵的至少两行之间或至少 两列之间的一个或多个值的部分交换的水平。

说明书


用于通过使用旋转变换对图像编码和解码的方法和设备

    技术领域 与示例性实施例一致的方法和设备涉及一种用于对图像编码和解码的方法和设 备, 更具体地说, 涉及一种用于对频域的系数编码和解码的方法和设备。
     背景技术 为了执行图像压缩, 大多数图像编码和解码方法和设备通过将像素域的图像变换 为频域的系数来对图像编码。离散余弦变换 (DCT) 是广泛用于图像或声音压缩的频率变换 技术。近年来, 已经进行了研究以搜索更有效的编码方法。针对音频编码, 参数编码获得比 DCT 更好的结果。针对二维 (2D) 数据, 尽管 Karhunen Loeve 变换 (KLT) 系数具有最小的比 特大小, 但是系统开销 (overhead) 信息的大小显著增加。
     发明内容 解决方案
     示例性实施例提供一种对图像编码和解码的方法和设备。
     示例性实施例还提供一种记录有用于执行该方法的程序的计算机可读记录介质。
     有益效果
     如上所描述的, 根据示例性实施例的用于对图像编码和解码的方法和设备可基于 固态 (solid) 数学基础以较高压缩率对频率系数矩阵编码, 从而可显著地提高整体图像编 码操作的压缩率。
     附图说明 通过参照附图详细描述本发明的示例性实施例, 以上和其它特点将变得更明显, 附图中 :
     图 1 是根据示例性实施例的图像编码设备的示图 ;
     图 2 是根据另一示例性实施例的图像解码设备的示图 ;
     图 3 是根据另一示例性实施例的分级编码单位的示图 ;
     图 4 是根据另一示例性实施例的基于编码单位的图像编码器的框图 ;
     图 5 是根据另一示例性实施例的基于编码单位的图像解码器的框图 ;
     图 6 示出根据另一示例性实施例的最大编码单位、 子编码单位和预测单位 ;
     图 7 是根据另一示例性实施例的编码单位和变换单位的示图 ;
     图 8A 和图 8B 示出根据另一示例性实施例的最大编码单位、 预测单位和变换单元 的划分形式 ;
     图 9 是根据另一示例性实施例的图像编码设备的框图 ;
     图 10 是根据另一示例性实施例的变换器的示图 ;
     图 11A 到图 11C 示出根据另一示例性实施例的旋转变换 (ROT) ;
     图 12 是根据另一示例性实施例的欧拉角的示图 ;
     图 13 示出根据另一示例性实施例的伪随机点 ;
     图 14 是根据另一示例性实施例的图像解码设备的框图 ;
     图 15 是根据另一示例性实施例的逆变换器的示图 ;
     图 16 是根据示例性实施例的对图像编码的方法的流程图 ;
     图 17 是根据另一示例性实施例的对图像解码的方法的流程图。
     最佳实施方式
     根据示例性实施例的一方面, 提供了一种对图像编码的方法, 所述方法包括 : 通过 将预定块变换到频域来产生第一频率系数矩阵 ; 通过基于角参数执行第一频率系数矩阵的 行之间或列之间的一个或多个值的部分交换来产生第二频率系数矩阵 ; 对第二频率系数矩 阵进行量化 ; 对第二频率系数矩阵和关于角参数的信息进行熵编码, 其中, 角参数是指示行 之间和列之间的一个或多个值的部分交换的水平的参数。
     根据示例性实施例的另一方面, 提供了一种图像编码设备, 包括 : 变换器, 通过将 预定块变换到频域来产生第一频率系数矩阵, 通过基于角参数执行第一频率系数矩阵的行 之间或列之间的一个或多个值的部分交换来产生第二频率系数矩阵 ; 量化单元, 对第二频 率系数矩阵进行量化 ; 熵编码器, 对第二频率系数矩阵和关于角参数的信息进行熵编码, 其 中, 角参数是指示行之间和列之间的一个或多个值的部分交换的水平的参数。
     根据示例性实施例的另一方面, 提供了一种对图像解码的方法, 所述方法包括 : 对 第二频率系数矩阵和关于角参数的信息进行熵解码 ; 对第二频率系数矩阵进行逆量化 ; 通 过基于角参数执行第二频率系数矩阵的行之间或列之间的一个或多个值的部分交换来产 生第一频率系数矩阵 ; 将第一频率系数矩阵逆变换到像素域, 并重构预定块, 其中, 角参数 是指示行之间和列之间的一个或多个值的部分交换的水平的参数。
     根据示例性实施例的另一方面, 提供了一种图像解码设备, 包括 : 熵解码器, 对第 二频率系数矩阵和关于角参数的信息进行熵解码 ; 逆量化单元, 对第二频率系数矩阵进行 逆量化 ; 逆变换器, 通过基于角参数执行第二频率系数矩阵的行之间或列之间的一个或多 个值的部分交换来产生第一频率系数矩阵 ; 将第一频率系数矩阵逆变换到像素域, 并重构 预定块, 其中, 角参数是指示行之间和列之间的一个或多个值的部分交换的水平的参数。
     根据示例性实施例的另一方面, 提供了一种计算机可读记录介质, 所述记录介质 存储用于执行对图像编码和对图像解码的方法的计算机可读程序。 具体实施方式
     在下文, 将参照附图详细描述示例性实施例。在本说明书中, “图像” 可表示用于视 频的静止图像或运动图像 ( 即, 视频本身 )。
     图 1 是根据示例性实施例的用于对图像编码的设备 100 的框图。
     参照图 1, 设备 100 包括最大编码单位划分器 110、 编码深度确定单元 120、 图像数 据编码器 130 和编码信息编码器 140。
     最大编码单位划分器 110 可基于最大编码单位 ( 其为最大大小的编码单位 ) 来划 分当前画面或像条 (slice)。即, 最大编码单位划分器 110 可划分当前画面或像条, 以获得 至少一个最大编码单位。
     根据示例性实施例, 可通过使用最大编码单位和深度来表示编码单位。 如上所述,最大编码单位表示当前画面的编码单位中具有最大大小的编码单位, 深度表示通过分级地 减小编码单位获得的子编码单位的大小。随着深度增加, 编码单位的大小从最大编码单位 减小到最小编码单位, 其中, 最大编码单位的深度被定义为最小深度, 最小编码单位的深度 被定义为最大深度。由于编码单位的大小随着深度增加而从最大编码单位减小, 所以第 k 深度的子编码单位可包括第 (k+n) 深度的多个子编码单位 (k 和 n 为等于或大于 1 的整数 )。
     根据将被编码的画面的大小的增加, 以较大的编码单位对图像编码可引起较高的 图像压缩比。然而, 如果较大的编码单位被固定, 则考虑到连续改变的图像特性, 无法对图 像进行有效编码。
     例如, 当对诸如大海或天空的平滑区域编码时, 编码单位越大, 可增加越多的压缩 比。然而, 当对诸如人或建筑的复杂区域编码时, 编码单位越小, 压缩比可增加的越多。
     因此, 根据示例性实施例, 针对每个画面或像条设置不同的最大图像编码单位和 不同的最大深度。由于最大深度表示编码单位可减小的最大倍数, 最大图像编码单位中包 括的每个最小编码单位的大小可根据最大深度被变化地设置。
     编码深度确定单元 120 确定最大深度。可基于率失真 (R-D) 代价的计算来确定最 大深度。可针对每个画面或像条或者针对每个最大编码单位来不同地确定最大深度。确定 的最大深度被提供给编码信息编码器 140, 根据最大编码单位的图像数据被提供给图像数 据编码器 130。 最大深度表示具有可被包括在最大编码单位中的最小大小的编码单位, 即, 最小 编码单位。换句话讲, 可根据不同深度将最大编码划分成具有不同大小的子编码单位。稍 后将参照图 8A 和图 8B 对此进行详细描述。另外, 可基于具有不同大小的处理单位来预测 或变换最大编码单位中包括的具有不同大小的子编码单位。换句话讲, 设备 100 可基于具 有各种大小和各种形状的处理单位来对图像执行多个处理操作。为了对图像数据编码, 可 执行诸如预测、 变换和熵编码的处理操作, 其中, 可对每个操作使用具有相同大小的处理单 位, 或者可对每个操作使用具有不同大小的处理单位。
     例如, 设备 100 可选择与编码单位不同的处理单位, 以预测编码单位。
     当编码单位的大小是 2N×2N( 其中, N 为正整数 ) 时, 用于预测的处理单位可以是 2N×2N、 2N×N、 N×2N、 N×N。 换句话讲, 可基于具有由此编码单位的高度和宽度中的至少一 个被均除以 2 的形状的处理单位来执行运动预测。以下, 作为预测基础的处理单位被定义 为 “预测单位” 。
     预测模式可以是帧内模式、 帧间模式和跳过模式中的至少一个。可仅对具有特定 大小或形状的预测单位执行特定预测模式。例如, 可仅对形状是正方形的大小为 2N×2N 和 N×N 的预测单位执行帧内模式。此外, 可仅对大小为 2N×2N 的预测单位执行跳过模式。如 果在编码单位中存在多个预测单位, 则在对每个预测单位执行了预测之后, 可选择具有最 少编码误差的预测模式。
     可选择地, 设备 100 可基于大小与编码单位不同的处理单位来对图像数据执行到 频率的变换。针对编码单位中的频率变换, 可基于大小等于或小于编码单位的大小的处理 单位来执行频率变换。以下, 作为频率变换基础的处理单位被定义为 “变换单位” 。频率变 换可以是任何变换 : 例如, 离散余弦变换 (DCT) 或 Karhunen Loeve 变换 (KLT)。
     编码深度确定单元 120 可基于拉格朗日乘法器通过使用 RD 优化来确定最大编码
     单位中包括的子编码单位。换句话讲, 编码深度确定单元 120 可确定从最大编码单位划分 的多个子编码单位的形状, 其中, 所述多个子编码单位根据其深度具有不同的大小。 图像数 据编码器 130 基于由编码深度确定单元 120 确定的划分形状通过对最大编码单位编码来输 出比特流。
     编码信息编码器 140 对关于由编码深度确定单元 120 确定的最大编码单位的编码 模式的信息进行编码。换句话讲, 编码信息编码器 140 通过对关于最大编码单位的划分形 状的信息、 关于最大深度的信息、 关于针对每个深度的子编码单位的编码模式的信息进行 编码来输出比特流。 关于子编码单位的编码模式的信息可包括关于子编码单位的预测单位 的信息、 关于针对每个预测单位的预测模式的信息、 关于子编码单位的变换单位的信息。
     由于针对每个最大编码单位存在具有不同大小的子编码单位, 并且针对每个子编 码单位必须确定关于编码模式的信息, 所以可针对一个最大编码单位确定关于至少一个编 码模式的信息。
     设备 100 可根据深度的增加将最大编码单位的高度和宽度均除以 2 来产生子编码 单位。即, 当第 k 深度的编码单位的大小是 2N×2N 时, 第 (k+1) 深度的编码单位的大小是 N×N。 因此, 根据示例性实施例的设备 100 可考虑图像特性基于最大深度和最大编码单 位的大小来确定每个最大编码单位的最优划分形状。 通过考虑图像特性变化地调整最大编 码单位的大小, 并通过将最大编码单位划分成不同深度的子编码单位对图像编码, 可更有 效地对具有各种分辨率的图像进行编码。
     图 2 是根据示例性实施例的用于对图像解码的设备 200 的框图。
     参照图 2, 设备 200 包括图像数据获取单元 210、 编码信息提取单元 220 和图像数 据解码器 230。
     图像数据获取单元 210 通过解析由设备 200 接收的比特流根据最大编码单位来获 取图像数据, 并将所述图像数据输出到图像数据解码器 230。 图像数据获取单元 210 可从当 前画面或像条的头中提取关于当前画面或像条的最大编码单位的信息。换句话讲, 图像数 据获取单元 210 按最大编码单位划分比特流, 从而图像数据解码器 230 可根据最大编码单 位对图像数据解码。
     编码信息提取单元 220 通过解析由设备 200 接收的比特流从当前画面的头中提取 关于最大编码单位、 最大深度、 最大编码单位的划分形状、 子编码单位的编码模式的信息。 关于划分形状的信息和关于编码模式的信息被提供给图像数据解码器 230。
     关于最大编码单位的划分形状的信息可包括与根据最大编码单位中包括的深度 具有不同大小的子编码单位有关的信息, 关于编码模式的信息可包括与根据子编码单位的 预测单位有关的信息、 关于预测模式的信息和关于变换单位的信息。
     图像数据解码器 230 通过基于由编码信息提取单元 220 提取的信息对每个最大编 码单位的图像数据解码来恢复当前画面。编码信息解码器 230 可基于关于最大编码单位的 划分形状的信息来对最大编码单位中包括的子编码单位解码。 解码处理可包括具有帧内预 测和运动补偿的预测处理、 逆变换处理。
     图像数据解码器 230 可基于关于预测单位的信息和关于预测模式的信息来执行 帧内预测或帧间预测, 以对预测单位进行预测。图像数据解码器 230 还可基于关于子编码
     单位的变换单位的信息来对每个子编码单位执行逆变换。
     图 3 示出根据示例性实施例的分级编码单位。
     参照图 3, 根据示例性实施例的分级编码单位可包括尺寸为 64×64、 32×32、 16×16、 8×8、 4×4 的编码单位。除了这些具有完全正方形的编码单位之外, 还可存在尺寸 为 64×32、 32×64、 32×16、 16×32、 16×8、 8×16、 8×4、 4×8 的编码单位。
     参照图 3, 针对分辨率为 1920×1080 的图像数据 310, 最大编码单位的大小被设置 为 64×64, 最大深度被设置为 2。
     针 对 分 辨 率 为 1920×1080 的 图 像 数 据 320, 最大编码单位的大小被设置为 64×64, 最大深度被设置为 3。针对分辨率为 352×288 的图像数据 330, 最大编码单位的大 小被设置为 16×16, 最大深度被设置为 1。
     当分辨率为高或者数据量大时, 优选地, 编码单位的最大大小相对大, 以增加压缩 比并准确地反映图像特性。因此, 针对分辨率高于图像数据 330 的图像数据 310 和 320, 可 选择 64×64 作为最大编码单位的大小。
     最大深度表示在分级编码单位中层的总数量。 由于图像数据 310 的最大深度是 2, 因此, 根据深度的增加, 图像数据 310 的编码单位 315 可包括长轴大小为 64 的最大编码单 位以及长轴大小为 32 和 16 的子编码单位。 另一方面, 由于图像数据 330 的最大深度为 1, 因此, 根据深度的增加, 图像数据 330 的编码单位 335 可包括长轴大小为 16 的最大编码单位以及长轴大小为 8 的编码单位。
     然而, 由于图像数据 320 的最大深度为 3, 所以, 根据深度的增加, 图像数据 320 的 编码单位 325 可包括长轴大小为 64 的最大编码单位以及长轴大小为 32、 16、 8 和 4 的子编 码单位。由于随着深度的增加基于较小的子编码单位对图像进行编码, 所以示例性实施例 适用于对包括更微小场景的图像进行编码。
     图 4 是根据示例性实施例的基于编码单位的图像编码器 400 的框图。
     帧内预测器 410 对当前帧 405 中的帧内模式的预测单位执行帧内预测, 运动估计 单元 420 和运动补偿单元 425 通过使用当前帧 405 和参考帧 495 对帧间模式的预测单位执 行帧间预测和运动补偿。
     基于从帧内预测单位 410、 运动估计单元 420、 运动补偿单元 425 输出的预测单位 来产生残差值, 并且产生的残差值通过变换器 430 和量化单元 440 被输出为量化的变换系 数。
     量化的变换系数通过逆量化单元 460 和频率逆变换器 470 被恢复成残差值, 恢复 的残差值通过去块单元 480 和环路滤波单元 490 被进行后处理, 并被输出为参考帧 495。 量 化的变换系数可通过熵编码器 450 被输出为比特流 455。
     为了基于根据示例性实施例的编码方法执行编码, 图像编码器 400 的部件 ( 即, 帧 内预测器 410、 运动估计单元 420、 运动补偿单元 425、 变换器 430、 量化单元 440、 熵编码器 450、 逆量化单元 460、 频率逆变换器 470、 去块单元 480 和环路滤波单元 490) 基于最大编码 单位、 根据深度的子编码单位、 预测单位和变换单位执行图像编码。
     图 5 是根据示例性实施例的基于编码单位的图像解码器 500 的框图。
     比特流 505 通过解析器 510, 从而将被解码的编码图像数据和解码所必需的编码 信息被解析。编码图像数据通过熵解码器 520 和逆量化器 530 被输出为逆量化数据, 并通
     过频率逆变换器 540 被恢复为残差值。残差值通过被加上帧内预测器 550 的帧内预测结果 或者运动补偿单元 560 的运动补偿结果根据编码单位被恢复。恢复的编码单位通过去块单 元 570 和环路滤波单元 580 被用于随后的编码单位或下一画面的预测。
     为了基于根据示例性实施例的解码方法执行解码, 图像解码器 500 的部件 ( 即, 解 析单元 510、 熵解码器 520、 逆量化单元 530、 频率逆变换器 540、 帧内预测器 550、 运动补偿单 元 560、 去块单元 570 和环路滤波单元 580) 基于最大编码单位、 根据深度的子编码单位、 预 测单位和变换单位执行图像解码处理。
     具体地讲, 帧内预测器 550 和运动补偿单元 560 通过考虑最大编码单位和深度确 定子编码单位中的预测模式和预测单位, 频率逆变换器 540 通过考虑变换单位的大小执行 逆变换。
     图 6 示出根据示例性实施例的最大编码单位、 子编码单位和预测单位。
     根据示例性实施例的设备 100 和设备 200 考虑图像特性使用分级编码单位执行编 码和解码。最大编码单位和最大深度可根据图像特性被自适应地设置, 或者根据用户需求 被不同地设置。
     根据示例性实施例的分级编码单位结构 600 示出高和宽为 64 以及最大深度为 4 的最大编码单位 610。深度沿着分级编码单位结构 600 的纵轴增加, 随着深度增加, 子编码 单位 620 至 650 的高度和宽度减小。沿着分级编码结构 600 的横轴示出了最大编码单位 610 以及子编码单位 620 至 650 的预测单位。
     最大编码单位 610 深度为 0, 编码单位的大小 ( 即, 高和宽 ) 为 64×64。深度沿着 纵轴增加, 存在大小为 32×32 并且深度为 1 的子编码单位 620、 大小为 16×16 并且深度为 2 的子编码单位 630、 大小为 8×8 并且深度为 3 的子编码单位 640、 大小为 4×4 并且深度为 4 的子编码单位 650。大小为 4×4 并且深度为 4 的子编码单位 650 是最小编码单位, 最小 编码单位可被划分成多个预测单位, 所述多个预测单位中的每一个小于最小编码单位。
     参照图 6, 根据每个深度沿横轴示出了预测单位的示例。即, 深度为 0 的最大编码 单位 610 的预测单位可以是大小等于编码单位 610 的大小 ( 即, 64×64) 的预测单位, 或者 深度为 0 的最大编码单位 610 的预测单位可以是大小为 64×32 的预测单位 612、 大小为 32×64 的预测单位 614 或者大小为 32×32 的预测单位 616, 其中, 预测单位 612、 614 或 616 的大小小于大小为 64×64 的编码单位 610 的大小。
     深度为 1 并且大小为 32×32 的编码单位 620 的预测单位可以是大小等于编码 单位 620 的大小 ( 即, 32×32) 的预测单位, 或者编码单位 620 的预测单位可以是大小为 32×16 的预测单位 622、 大小为 16×32 的预测单位 624 或者大小为 16×16 的预测单位 626, 其中, 预测单位 622、 624 或者 626 的大小小于大小为 32×32 的编码单位 620 的大小。
     深度为 2 并且大小为 16×16 的编码单位 630 的预测单位可以是大小等于编码单 位 630 的大小 ( 即, 16×16) 的预测单位, 或者编码单位 620 的预测单位可以是大小为 16×8 的预测单位 632、 大小为 8×16 的预测单位 634 或者大小为 8×8 的预测单位 636, 其中, 预 测单位 632、 634 或者 636 的大小小于大小为 16×16 的编码单位 630 的大小。
     深度为 3 并且大小为 8×8 的编码单位 640 的预测单位可以是大小等于编码单位 640 的大小 ( 即, 8×8) 的预测单位, 或者编码单位 640 的预测单位可以是大小为 8×4 的预 测单位 642、 大小为 4×8 的预测单位 644 或者大小为 4×4 的预测单位 646, 其中, 预测单位642、 644 或者 646 的大小小于大小为 8×8 的编码单位 640 的大小。
     最后, 深度为 4 并且大小为 4×4 的编码单位 650 是最小编码单位和最大深度的编 码单位, 编码单位 650 的预测单位可以是大小为 4×4 的预测单位 650、 大小为 4×2 的预测 单位 652、 大小为 2×4 的预测单元 654 或者大小为 2×2 的预测单位 656。
     图 7 示出根据示例性实施例的编码单位和变换单位。
     根据示例性实施例的设备 100 和设备 200 使用最大编码单位自身或者使用从最大 编码单位划分的等于或小于最大编码单位的子编码单位执行编码。
     在编码处理中, 选择用于频率变换的变换单位的大小以不大于相应编码单位的大 小。例如, 在当前编码单位 710 大小为 64×64 时, 可通过使用大小为 32×32 的变换单位 720 来执行频率变换。
     图 8A 和图 8B 示出根据示例性实施例的编码单位、 预测单位和频率变换单位的划 分形状。
     图 8A 示出根据示例性实施例的编码单位和预测单位。
     图 8A 的左侧示出根据示例性实施例的由设备 100 选择的划分形状, 以对最大编码 单位 810 编码。设备 100 将最大编码单位 810 划分成不同形状, 执行编码, 并通过基于 R-D 代价对各划分形状的编码结果进行相互比较来选择最优划分形状。 当保持原样对最大编码 单位 810 编码为最优时, 可在不划分最大编码单位 810 的情况下对最大编码单位 810 编码, 如图 8A 和图 8B 所示。 参照图 8A 的左侧, 通过将深度为 0 的最大编码单位 810 划分成深度等于或大于 1 的子编码单位来对最大编码单位 810 编码。即, 最大编码单位 810 被划分成深度为 1 的四 个子编码单位, 深度为 1 的所有或一些子编码单位被划分成深度为 2 的子编码单位。
     深度为 1 的子编码单位中位于右上侧的子编码单位和位于左下侧的子编码单位 被划分成深度等于或大于 2 的子编码单位。深度等于或大于 2 的子编码单位中的一些可被 划分成深度等于或大于 3 的子编码单位。
     图 8A 的右侧示出最大编码单位 810 的预测单位的划分形状。
     参照图 8A 的右侧, 可与最大编码单位 810 不同地来划分最大编码单位 810 的预测 单位 860。换句话讲, 每个子编码单位的预测单位可小于相应的子编码单位。
     例如, 深度为 1 的子编码单位中位于右下侧的子编码单位 854 的预测单位可小于 子编码单位 854。另外, 深度为 2 的子编码单位 814、 816、 850 和 852 中的一些子编码单位 (814、 816、 850 和 852) 的预测单位可分别小于子编码单位 814、 816、 850 和 852。另外, 深度 为 3 的子编码单位 822、 832 和 848 的预测单位可分别小于子编码单位 822、 832 和 848。预 测单位可具有由此各子编码单位在高度或宽度方向被均除以 2 的形状, 或者可具有由此各 子编码单位在高度和宽度方向被均除以 4 的形状。
     图 8B 示出根据示例性实施例的预测单位和变换单位。
     图 8B 的左侧示出在图 8 的右侧示出的最大编码单位 810 的预测单位的划分形状, 图 8B 的右侧示出最大编码单位 810 的变换单位的划分形状。
     参照图 8B 的右侧, 可从预测单位 860 不同地设置变换单位 870 的划分形状。
     例如, 即使深度为 1 的编码单位 854 的预测单位被选择具有由此编码单位 854 的 高度被均除以 2 的形状, 变换单位可被选择具有与编码单位 854 的大小相同的大小。同样
     地, 即使深度为 2 的编码单位 814 和 850 的预测单位被选择具有由此编码单位 814 和 850 中的每一个的高度被均除以 2 的形状, 变换单位可被选择具有与编码单位 814 和 850 中的 每一个的原始大小相同的大小。
     变换单位可被选择具有比预测单位小的大小。例如, 当深度为 2 的编码单位 852 的预测单位被选择具有由此编码单位 852 的宽度被均除以 2 的形状时, 变换单位可被选择 具有由此编码单位 852 沿着高度和宽度的方向被均除以 4 的形状, 该形状具有比预测单位 的形状小的大小。
     图 9 是根据另一示例性实施例的图像编码设备 900 的框图。
     图 9 的图像编码设备 900 可以是包括在图 1 的图像编码设备 100 中的模块或包括 在图 4 的图像编码器 400 中的模块, 所述模块执行稍后将描述的图像编码过程。参照图 9, 根据本示例性实施例的图像编码设备 900 包括变换器 910、 量化单元 920 和熵编码器 930。
     变换器 910 接收预定块并将预定快变换到频域。预定块根据预定变换算法被变 换, 然后产生频域的系数。变换器 910 可使用包括将像素域的块变换到频域的系数的多种 算法之一。例如, 可通过使用离散余弦变换 (DCT) 或 Karhunen Loeve 变换 (KLT) 将预定块 变换到频域。预定块可以是残差块。此外, 预定块可以是关于图 7 或图 8B 描述的变换单位 的块。 此外, 变换器 910 执行包括在矩阵的行之间和矩阵的列之间交换一个或多个值的 后处理, 其中, 所述矩阵包括产生为变换的结果的频域的系数, 将参照图 10、 图 11A 到图 11C 详细描述后处理。
     图 10 是根据示例性实施例的变换器 910 的示图。
     参照图 10, 变换器 910 包括变换执行单元 1010、 旋转变换 (ROT) 执行单元 1020。
     变换执行单元 1010 接收预定块, 将预定块变换到频域, 并产生频率系数矩阵。例 如, 如上所述, 通过执行 DCT 或 KLT, 可产生包括频域的系数的频率系数矩阵。
     ROT 执行单元 1020 接收由变换执行单元 1010 产生的频率系数矩阵, 执行 ROT, 然 后产生调整后的频率系数矩阵。ROT 可与这样的变换对应 : 通过所述变换来对行之间和列 之间的一个或多个值进行交换。将参照图 11A 到图 11C 详细描述 ROT。
     图 11A 到图 11C 示出根据示例性实施例的 ROT。
     ROT 执行单元 1020 对频率系数矩阵的行之间和列之间的一个或多个值进行部分 地交换。现在将参照图 11A 到图 11C 描述频率系数矩阵的行之间和列之间的交换。
     根据一个或多个示例性实施例, 行之间或列之间的部分交换不指示特定行或特定 列的值按一到一对应被无条件交换, 而是指示通过使用包括正弦函数的特定函数对两行之 间或两列之间的值进行部分地交换。
     例如, 根据参数 a 的值, 两行 A 和 B 之间的交换可由等式 1 定义。
     【等式 1】
     行 A( 新 ) = cos(a)× 行 A( 旧 )-sin(a)× 行 B( 旧 )
     行 B( 新 ) = sin(a)× 行 A( 旧 )+cos(a)× 行 B( 旧 )
     参照等式 1, 参数 “a” 用作角。因此, 在本发明的一个或多个实施例中, 指示 DCT 变 换矩阵的行之间和列之间的部分交换的水平的参数 “a” 被定义为角参数。
     在参数 “a” 的值为 0 度的情况下, 该情况意味着交换未发生。此外, 在参数 “a” 的
     值为 90 度的情况下, 在行之间发生整体交换。
     在参数 “a” 的值具有大于 90 度小于 180 度的值的情况下, 该情况意味着在行之间 发生交换, 并且元素值的符号被改变。在参数 “a” 的值为 180 度的情况下, 在行之间没有发 生交换, 但是包括在每行中的所有元素的符号被改变。 在一个或多个示例性实施例中, 列之 间的部分交换以与行之间的部分交换同样的方式被定义。
     图 11A 示出对 4×4 频率系数矩阵执行 ROT 的情况。参照图 11A, 三个参数 α1、 α2 和 α3 用于频率系数矩阵的行之间的部分交换, 三个参数 α4、 α5 和 α6 用于频率系数矩阵 的列之间的部分交换。
     图 11B 示出对 8×8 频率系数矩阵执行 ROT 的情况。在图 11B 的情况下, α1、 α2、 α3、 α4、 α5 和 α6 被用于行之间的部分交换, α7、 α8、 α9、 α10、 α11 和 α12 被用于列之间 的部分交换。
     图 11C 示出对大小等于或大于 16×16 的频率系数矩阵执行 ROT 的情况。
     如以上关于图 11A 和图 11B 的描述, 随着频率系数矩阵的大小增加, 角参数的数量 增加。 为了对图 11A 的 4×4 频率系数矩阵执行 ROT, 需要六个角参数, 为了对图 11B 的 8×8 频率系数矩阵执行 ROT, 需要 12 个角参数。 虽然以通过对频率系数矩阵执行 ROT 来产生调整后的频率系数矩阵的方式提高 了压缩率, 然后对调整后的频率系数矩阵执行量化和熵编码, 但是如果角参数的数量增加 使得系统开销增加, 则数据的总量不减少。因此, 预定大小, 例如, 当对大小等于或大于 16×16 的频率系数矩阵执行 ROT 时, 使用系数采样。
     换句话说, 如图 11C 中所示, ROT 执行单元 1020 选择仅包括频率系数矩阵 1010 的 一些系数的采样的频率系数矩阵 1120, 然后对选择的频率系数矩阵 1120 执行 ROT。不对频 率系数矩阵 1110 的剩余部分 1130 执行 ROT。
     为了使对具有大的大小的频率系数矩阵的 ROT 达到足够效果, 包括在频率系数矩 阵 1120 中的系数需要具有图像数据的压缩效果。因此, ROT 执行单元 1020 只选择具有低 频分量并且具有除 0 之外的值的系数, 并对这些系数执行 ROT。
     一般地, 作为变换结果的产生的频率系数矩阵包括关于在频率系数矩阵的左上角 的低频分量的系数。因此, 如图 11C 中所示, ROT 执行单元 1020 仅选择位于频率系数矩阵 1110 的左上角的系数, 然后执行 ROT。在图 11C 的示例中, ROT 执行单元 1020 以与关于图 11B 的 ROT 相同的方式对大小为 8×8 的频率系数矩阵 1120 执行 ROT。
     参照图 11A 的对 4×4 频率系数矩阵的 ROT, 根据三个角参数 α1、 α2 和 α3 的应用 顺序获得不同结果。即, 三个角参数彼此不独立。作为在首先应用角参数 α1 然后应用角 参数 α2 的情况下执行 ROT 的结果而产生的调整后的频率系数矩阵不同于作为在首先应用 角参数 α2 然后应用角参数 α1 的情况下执行 ROT 的结果而产生的调整后的频率系数矩阵。 这将参照图 12 进行详细描述。
     图 12 是根据另一示例性实施例的欧拉 (Euler) 角的示图。
     参照图 12, 可理解矩阵的行之间或列之间的交换与三维 (3D) 空间中的坐标轴的 旋转相似。即, 三行或三列分别与 3D 坐标的 X 轴、 Y 轴和 Z 轴对应。针对 3D 空间中的坐标 轴的旋转, 根据哪个轴首先旋转获得不同结果。因此, 已经尝试显示 3D 空间中的坐标轴的 旋转, 在所述尝试中的代表性尝试就是欧拉角。
     在图 12 中, α、 β、 γ 角指示欧拉角。图 12 中, X 轴、 Y 轴和 Z 轴指示旋转之前的 坐标轴, X’ 轴、 Y’ 轴、 Z’ 轴指示旋转之后的坐标轴。N 轴是 X-Y 平面和 X’ -Y’ 平面的相交 线。这里, N 轴被称为 “节点的线” 。
     角 α 指示绕 Z 轴旋转的 X 轴和 N 轴之间的角。角 β 指示绕 N 轴旋转的 Z 轴和 Z’ 轴之间的角。角 γ 指示绕 Z’ 轴旋转的 N 轴和 X’ 轴之间的角。
     等式 2 给出根据欧拉角的坐标轴的旋转。
     【等式 2】
     第一矩阵指示围绕 Z’ 轴的旋转。第二矩阵指示围绕 N 轴的旋转。第三矩阵指示 围绕 Z 轴的旋转。
     在一个或多个示例性实施例中, 在矩阵的行之间或列之间的交换可被指示为使用 欧拉角的坐标轴的旋转。
     返回参照图 9 和图 10, 变换器 910 的 ROT 执行单元 1020 对频率系数矩阵执行 ROT, 从而产生调整后的频率系数矩阵。调整后的频率系数矩阵被输入到量化单元 920。
     量化单元 920 根据预定量化步长对包括在调整后的频率系数矩阵中的系数进行 量化, 熵编码器 930 对量化的调整后的频率系数矩阵执行熵编码。可通过使用上下文自适 应变量算术编码 (CABAC) 或上下文自适应变长编码 (CAVLC) 来执行熵编码。在由于频率系 数矩阵 1110 的大的大小而仅对只包括一些系数的频率系数矩阵 1120 执行 ROT 的情况下, 对包括频率系数矩阵 1120 和剩余部分 1130 的频率系数矩阵 1110 执行量化然后执行熵编 码, 其中, 频率系数矩阵 1120 包括旋转变换的一些系数。
     熵编码器 930 对在由变换器 910 执行的 ROT 中使用的角参数执行熵编码, 图像编 码设备 900 根据以下过程确定用于 ROT 的最佳角参数。
     为了有效地执行压缩, 为了最佳角参数需要搜索最佳角参数。 然而, 这是对参数具 有强烈非平滑度依赖性的多参数问题。为了解决该问题, 使用蒙特卡罗 (Monte Carlo) 方 法。这里, 在蒙特卡罗方法中可使用莱默 (Lehmer) 随机序列数以产生随机点。仅可存储或 发送指示序列数的一个整数, 而不是存储或发送用作参数的角参数。 因此, 可减少通知解码 器在 ROT 中使用的角参数所必需的系统开销。
     即, 将被考虑以确定最佳角参数的组合的内容被陈述如下。
     1、 变换矩阵的可逆变换
     2、 用于更有效编码的能量的重排列
     3、 通过使用莱默随机序列数而增加的信息的最小化
     返回参照图 11A 到图 11C, 通过频率系数矩阵的旋转被修正的部分被涂为黑色, 未 被修正的部分被涂为白色。在图 11A 的 4×4 频率系数矩阵中, 在根据行之间和列之间的交 换对十五个系数的修正中涉及六个角参数。在图 11B 的 8×8 频率系数矩阵中, 在六十个系 数的修正中涉及十二个角参数。
     参照图 11A, 对于行之间的交换, 三个见参数是必须的, 对于列之间的交换, 三个角 参数也是必须的。因此, 针对 4×4 块, 六个角参数是必须的。
     参照图 11B, 对于行之间的交换, 六个见参数是必须的, 对于列之间的交换, 六个角 参数也是必须的。因此, 针对 8×8 块, 十二个角参数是必须的。
     图像编码设备 900 可根据以下步骤执行 ROT。
     步骤 1- 正交变换家族参数化
     步骤 2- 蒙特卡罗方法
     步骤 3- 莱默伪随机数
     步骤 4- 用于最佳角参数的音域 (diapason) 的定位
     步骤 5- 准最佳要素 (basis)
     虽然通过使用 ROT 提高了图像的压缩率, 但是如果添加太多的参数, 则视频信号 的发送可达到比压缩更好的结果。换句话说, 存在在压缩率和附加参数的系统开销之间的 交替使用。例如, 虽然 4×4 频率系数矩阵中的图像信号被压缩到接近 0 的大小, 但是如果 压缩需要十六个附加参数, 则可不需要执行 ROT。在这方面, 可更有效地将十六个像素值发 送到解码器。因此, 图像信号的压缩和附加系统开销的最小化两者是重要的。
     为此, 在根据以下步骤最小化系统开销的同时, ROT 执行单元 1020 搜索最佳角参 数。
     < 步骤 1- 正交变换家族参数化 >
     为了选择用于当前数据的最佳变换, 需要要素调整。要素的旋转被选择作为要素 修改。从而旋转角的集合唯一地描述要素修改。
     介绍过的旋转角以与欧拉角描述 3D 空间中的固态体的旋转相同的方式来描述要 素修改。该相似性解释该算法的名称。
     为了修正要素, 可主要选择要素的旋转。 在一个或多个示例性实施例中, 通过使用 角参数执行要素的选择。这里, 使用通过利用角参数执行的要素的旋转。角参数可以是欧 拉角。 然而, 角参数不限于欧拉角, 因此可包括可指示矩阵的行之间和列之间的一个或多个 值的部分交换的水平的其它。以下, 现在将描述涉及使用欧拉角的示例。
     旋转由等式 3 通过使用频率系数矩阵 D 的左乘法 Rhorizontal 和右乘法 Rvertical 定义。
     【等式 3】
     D’ = Rhorizontal×D×Rvertical
     (D’ 指示被旋转变换的调整后的频率系数矩阵。)
     矩阵 Rhorizontal 执行频率系数矩阵 D 的行之间的交换。Rvertical 执行频率系数矩阵 D 的列之间的交换。
     4×4 块中的矩阵 Rhorizontal 的示例由等式 4 给出。
     【等式 4】
     A = cosαcosγ-sinαcosβsinγ B = -sinαcosγ-cosαcosβsinγ C = sinβsinγD = cosαsinγ+sinαcosβcosγ
     E = -sinαsinγ+cosαcosβcosγ
     F = -sin βcosγ
     G = sinαsinβ
     H = cosαsinβ
     I = cosβ
     在等式 4 中, α、 β、 γ 指示欧拉角。
     因此, 对于 4×4 频率系数矩阵, 欧拉角通过六个参数 α1、 α2、 ...α6 的组描述 十二个频率系数的修正。对于 8×8 频率系数矩阵, 十二个欧拉角 α-1、 α2、 ...α12 描述 六十个频率系数的修正。
     < 步骤 2- 蒙特卡罗方法 >
     在自由度减小到六个角参数 (8×8 频率系数矩阵情况下的十二个角参数 ) 之后, 需要考虑到节省比特检查优化问题。即, 需要对选择角参数的组的方法进行优化。
     对使用高维域的参数 ( 六个或十二个角参数 ) 的优化是困难的, 并且图像的压缩 对于使用的参数具有非平滑依赖性。一般地, 通过使用蒙特卡罗方法来解决该困难。 蒙特卡罗方法的核心在于执行多个尝试。 即, 从几个点测量压缩率, 然后选择最佳 点。在蒙特卡罗方法中, 多维域中的随机点的质量是很重要的 ( 具体地, 根据维数的升高质 量更加重要 )。伪随机点优选为均衡栅格点。这将参照二维 (2D) 情况在图 13 中描述。
     图 13 示出根据另一示例性实施例的伪随机点。
     图 13 的左示图示出均衡栅格点, 图 13 的右示图示出根据伪随机处理的第一十六 个点。
     在使用均衡栅格点的情况下, 不管蒙特卡罗方法的十六个点, 仅针对第一参数 ( 和第二参数 ) 检查四个不同值。另一方面, 在使用伪随机的情况下, 通过十六个点针对第 一参数 ( 和第二参数 ) 检查十六个不同值。即, 当使用伪随机点时, 针对十六个点充分检查 第一参数和第二参数的各个值。具体地说, 针对蒙特卡罗方法, 根据参数的数量的增加, 伪 随机点的使用比均衡栅格点的使用更有益。
     < 步骤 3- 莱默伪随机数 >
     可通过使用各种方法产生伪随机序列。最有效的方法之一是使用莱默数。这是人 工产生的序列, 并接近于被均衡地分布的真实随机数。 用于产生莱默序列的算法是公知的, 因此这里省略对其的详细描述。 根据示例性实施例, 提供至少 1013 个不重复点。 莱默序列是 人造序列, 并且用于产生莱默序列的算法是公知的, 因此解码器可容易地对其进行再计算。
     通过使用莱默序列, 可通过使用一个信息 ( 即, 随机序列中的数量 ) 来对角参数的 组合编码。在六维 ( 在 4×4 频率系数矩阵的情况下 ) 或十二维 ( 在 8×8 频率系数矩阵的 情况下 ) 参数域中, 产生与角参数的组合对应的随机点, 在通过使用随机点执行压缩之后 测量压缩率, 然后选择最佳参数点。 与最佳参数点对应的莱默序列的数量被存储或发送, 而 不是存储或发送角参数的组合。
     如果对 2p 个点 ( 即, 蒙特卡罗方法中的角参数的组合 ) 执行 ROT, 则只有 p 比特的 信息被包括作为系统开销。
     < 步骤 4- 用于最佳角参数的音域的定位 >
     根据一个或多个示例性实施例, 最佳旋转角具有接近 0 度或 180 度 (π 弧度 ) 的 值。这意味着用于转换到频域的要素 ( 例如, DCT 要素或 KLT 要素 ) 几乎被优化。
     因此, 根据一个或多个示例性实施例的角参数仅用于执行行之间和列之间的一个 或多个值的部分交换 ( 对在欧拉角的情况下的接近 0 度的角 ), 或执行所述部分交换和要素 元素的符号的改变 ( 在欧拉角的情况下接近 180 度的角 )。 即, 用于一个或多个示例性实施 例的参数的音域被限制为域的特定部分, 该限制被称为定位。
     通过对参数的音域执行定位, 关于系统开销的比特的数量减小。如果假设图 13 中的将被检查的点被限制为特定部分, 则将被检查以搜索角参数的最佳组合的点的数量减 少。
     此外, 如果将被检查的点的数量是固定的 ( 即, 在用作系统开销的比特的数量是 固定的情况下 ), 并且应用定位, 则可检查在较小角中的更多点, 从而可增加压缩率。
     < 步骤 5- 准最佳要素 >
     通过执行上述步骤 1 至步骤 4, 可关于所有块 ( 大小等于或大于 4×4 和 8×8 的 块 ) 选择最佳要素。可以以高比特率将具有 8 或 10 字节的系统开销添加到每个块。当比 特率减小时, 优选选择准最佳要素。 准最佳要素意味着相同的旋转应用于包括在像条或画面中的所有变换单位的组 或变换单位的一些。 如果最佳选择应用于每个块, 则关于图像的压缩率增加, 而系统开销也 增加。
     为了确定变换单位、 变换单位的组合、 像条和画面中的哪个单位应用了相同旋转, 可执行各种试验。
     在以低比特率变换到频域之后, 频率系数矩阵的许多部分中的量化系数值变为 0。 因此, 针对频率系数矩阵的部分, 不必须执行 ROT 和发送关于旋转角度值的附加信息。
     图像编码设备 900 通过使用蒙特卡罗方法对多个角参数的组合执行 ROT, 并重复 地执行量化和熵编码, 从而确定角参数的最佳组合。此外, 图像编码设备 900 不对角参数编 码, 而将莱默伪随机序列数编码为关于确定的角参数的最佳组合的信息。 这里, 通过使用定 位和准最佳要素, 关于角参数的信息可以以更高的效率被编码。
     图 14 是根据另一示例性实施例的图像解码设备 1400 的框图。图 14 的图像解码 设备 1400 可以是包括在图 2 的图像解码设备 200 中的模块或包括在图 5 的图像解码器 500 中的模块, 并且图像解码设备 1400 执行稍后描述的图像解码过程。参照图 14, 图像解码设 备 1400 包括熵解码器 1410、 逆量化器 1420 和逆变换器 1430。
     熵解码器 1410 接收比特流, 并对预定块的调整后的频率系数矩阵执行熵解码。调 整后的频率系数矩阵以如下方式产生 : 通过将预定块变换到频域来产生频率系数矩阵, 并 且对频率系数矩阵执行 ROT。此外, 对于逆 ROT, 熵解码器 1410 可对关于在 ROT 中使用的角 参数的信息解码。与熵编码器 930 类似, 熵解码器 1410 通过使用 CABAC 或 CAVLC 执行熵解 码。
     逆量化器 1420 对由熵解码器 1410 熵解码的调整后的频率系数矩阵逆量化。根据 编码操作的量化步骤执行逆量化。
     逆变换器 1430 通过对调整后的频率系数矩阵执行逆 ROT 来产生频率系数矩阵, 并 将频率系数矩阵逆变换到像素域。这将参照图 15 进行详细描述。
     图 15 是根据另一示例性实施例的逆变换器 1430 的示图。
     参照图 15, 逆变换器 1430 包括逆 ROT 执行单元 1510 和逆变换执行单元 1520。
     逆 ROT 执行单元 1510 对从逆量化单元 1420 接收的逆量化的调整后的频率系数 矩阵执行逆 ROT。逆 ROT 执行单元 1510 逆执行关于图 11A 到图 11C、 图 12 和图 13 描述的 ROT。这里, 逆 ROT 执行单元 1510 可通过参考关于由熵解码器 1410 熵解码的角参数的信息 来执行逆 ROT。 根据关于角参数的信息, 调整后的频率系数矩阵的行之间和列之间的一个或 多个值被部分交换, 从而产生频率系数矩阵。
     在对仅包括频率系数矩阵 1110 的一些系数的频率系数矩阵 1120 执行 ROT 的情况 下, 对仅包括所述一些系数的频率系数矩阵 1120 执行逆 ROT, 从而产生频率系数矩阵 1110。
     逆变换执行单元 1520 从逆 ROT 执行单元 1510 接收频率系数矩阵, 并将频率系数 矩阵变换到像素域。通过逆执行 DCT 或 KLT, 逆变换执行单元 1520 可对频率系数矩阵逆变 换。作为逆变换的结果, 重构像素域的预定块。
     图 16 是根据示例性实施例的对图像编码的方法的流程图。
     参照图 16, 在操作 1610, 图像编码设备通过将预定块变换到频域来产生频率系数 矩阵。图像编码设备接收预定块, 对预定块执行 DCL 或 KLT, 然后产生包括频域的系数的频 率系数矩阵。
     在操作 1620, 图像编码设备通过执行在操作 1610 中产生的频率系数矩阵的行之 间和列之间的一个或多个值的部分交换来产生调整后的频率系数矩阵。 图像编码设备通过 对频率系数矩阵执行参照图 11A 到 11C、 图 12 和图 13 描述的 ROT 来产生调整后的频率系数 矩阵。
     当频率系数矩阵的大小是大的 ( 例如, 等于或大于 16×16 的大小 ) 时, 可选择仅 包括频率系数矩阵的一些系数的矩阵, 然后可对仅包括所述一些系数的矩阵执行 ROT。 在仅 包括一些系数的矩阵的选择中, 可选择仅包括关于低频分量的系数的矩阵。
     在操作 1630, 图像编码设备对在操作 1620 产生的调整后的频率系数矩阵进行量 化。根据预定量化步长对调整后的频率系数矩阵进行量化。
     在操作 1640, 图像编码设备对在操作 1630 量化的调整后的频率系数矩阵执行熵 编码。通过使用 CABAC 或 CAVLC 执行熵编码。在操作 1640, 图像编码设备还对关于在操作 1620 在行之间和列之间的一个或多个值的部分交换中使用的角参数的信息执行熵编码。 所 述角参数是指示行之间和列之间的一个或多个值的部分交换的水平的参数。
     图像编码设备可对多个角参数的组合重复地执行操作 1620 至操作 1640, 从而可 确定最佳角参数。通过对多个角参数的组合重复地执行编码, 可选择指示最佳压缩率的角 参数。
     可通过使用蒙特卡罗方法选择多个角参数的组合, 并且多个角参数的组合可与莱 默伪随机数对应。在多个角参数的组合与莱默伪随机数对应的情况下, 在操作 1640 被编码 的关于角参数的信息可以是与确定的最佳角参数对应的莱默伪随机序列数。
     图 17 是根据另一示例性实施例的对图像解码的方法的流程图。
     参照图 17, 在操作 1710, 图像解码设备接收关于预定块的比特流, 并对关于角参 数的信息和调整后的频率系数矩阵执行熵解码。 调整后的频率系数矩阵是通过对所有的频 率系数矩阵或一些频率系数矩阵执行 ROT 形成的矩阵。在操作 1720, 图像解码设备对在操作 1710 被熵解码的调整后的频率系数矩阵进 行逆量化。 图像解码设备根据在图像解码中使用的量化步长对调整后的频率系数矩阵的系 数进行逆量化。
     在操作 1730, 图像解码设备通过执行在操作 1720 被逆量化的调整后的频率系数 矩阵的行之间和列之间的一个或多个值的部分交换来产生频率系数矩阵。 图像解码设备通 过逆执行参照图 11A 到图 11C、 图 12 和图 13 描述的 ROT 来产生评论系数矩阵, 其中, 通过参 考关于在操作 1710 中被熵解码的角参数的信息来逆执行 ROT。
     如上所述, 在仅包括频率系数矩阵的一些系数的矩阵在编码过程中被旋转地变换 的情况下, 对仅包括一些系数的矩阵执行逆 ROT, 从而产生频率系数矩阵。
     在操作 1740, 图像解码设备对在操作 1730 产生的频率系数矩阵进行逆变换。 通过 对频率系数矩阵执行 DCT 或 KLT, 重构频域的块。
     如上所述, 根据示例性实施例的对图像编码和解码的方法和设备可基于固态数学 基础以更高的压缩率对频率系数矩阵编码, 从而可显著地提高整体图像编码操作的压缩 率。
     示例性实施例还可被实施为计算机可读记录介质上的计算机可读代码。 计算机可 读记录介质是可存储数据的任何数据存储装置, 所述数据可由计算机系统读取。计算机可 读记录介质的示例包括只读存储器 (ROM)、 随机存取存储器 (RAM)、 CD-ROM、 磁带、 软盘和光 学数据存储装置。 计算机可读记录介质还可被分布到联网的计算机系统从而计算机可读代 码以分布方式被存储和执行。
     例如, 根据一个或多个示例性实施例的图像编码设备、 图像解码设备、 图像编码器 和图像解码器中的每个可包括连接到如图 1-2、 图 4-5、 图 9-10 和图 14-15 中示出的设备中 的每个单元的总线, 并且包括连接到总线的至少一个处理器。 此外, 根据一个或多个示例性 实施例的图像编码设备、 图像解码设备、 图像编码器和图像解码器中的每个可包括连接到 至少一个处理器的存储器从而存储命令、 接收的消息或产生的消息, 并执行命令, 其中, 所 述至少一个处理器连接到总线。
     虽然具体地示出了示例性实施例, 但是本领域普通技术人员将理解, 在不脱离由 权利要求限定的本发明的精神和范围的情况下, 可以对其进行形式和细节的各种改变。应 仅以说明意义考虑示例性实施例, 而不是为了限制的目的。 因此, 本发明的范围不是由示例 性实施例的详细描述限定的, 而是由权利要求限定的。

用于通过使用旋转变换对图像编码和解码的方法和设备.pdf_第1页
第1页 / 共30页
用于通过使用旋转变换对图像编码和解码的方法和设备.pdf_第2页
第2页 / 共30页
用于通过使用旋转变换对图像编码和解码的方法和设备.pdf_第3页
第3页 / 共30页
点击查看更多>>
资源描述

《用于通过使用旋转变换对图像编码和解码的方法和设备.pdf》由会员分享,可在线阅读,更多相关《用于通过使用旋转变换对图像编码和解码的方法和设备.pdf(30页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102484702 A (43)申请公布日 2012.05.30 C N 1 0 2 4 8 4 7 0 2 A *CN102484702A* (21)申请号 201080036019.1 (22)申请日 2010.08.13 10-2009-0074898 2009.08.13 KR H04N 7/26(2006.01) H04N 7/50(2006.01) (71)申请人三星电子株式会社 地址韩国京畿道 (72)发明人艾琳娜阿尔辛娜 亚历山大阿尔辛 范迪姆谢廖金 (74)专利代理机构北京铭硕知识产权代理有限 公司 11286 代理人韩明星 (54) 发明名称 用于。

2、通过使用旋转变换对图像编码和解码的 方法和设备 (57) 摘要 提供了一种对图像编码的方法和设备。所述 方法和设备包括:对第二频率系数矩阵进行量化 和熵编码,其中,通过执行第一频率系数矩阵的行 之间和列之间的一个或多个值的部分交换来产生 第二频率系数矩阵。还提供了一种用于对通过使 用用于对图像编码的方法和设备编码的图像数据 解码的方法和设备。 (30)优先权数据 (85)PCT申请进入国家阶段日 2012.02.13 (86)PCT申请的申请数据 PCT/KR2010/005366 2010.08.13 (87)PCT申请的公布数据 WO2011/019248 EN 2011.02.17 (5。

3、1)Int.Cl. 权利要求书3页 说明书15页 附图11页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 3 页 说明书 15 页 附图 11 页 1/3页 2 1.一种对图像编码的方法,所述方法包括: 产生第一频率系数矩阵; 通过基于角参数执行第一频率系数矩阵的至少两行之间或至少两列之间的一个或多 个值的部分交换来产生第二频率系数矩阵; 对第二频率系数矩阵进行量化; 对第二频率系数矩阵和关于角参数的信息进行熵编码, 其中,角参数是这样的参数,所述参数指示第一频率系数矩阵的至少两行之间或至少 两列之间的一个或多个值的部分交换的水平。 2.如权利要求1所述的方法,其中。

4、,角参数是关于欧拉角的参数。 3.如权利要求1所述的方法,其中,第二频率系数矩阵的产生步骤包括:将用于执行第 一频率系数矩阵的至少两行之间的部分交换的矩阵乘以第一频率系数矩阵的左侧,将用于 执行第一频率系数矩阵的至少两列之间的部分交换的矩阵乘以第一频率系数矩阵的右侧。 4.如权利要求3所述的方法,其中,用于执行第一频率系数矩阵的至少两行之间的部 分交换的矩阵为 其中: Acoscos-sincossin B-sincos-coscossin Csinsin Dcossin+sincoscos E-sinsin+coscoscos F-sincos Gsinsin Hcossin Icos 其中。

5、,、是欧拉角。 5.如权利要求1所述的方法,还包括:针对不同的角参数重复地执行以下操作:通过执 行第一频率系数矩阵的至少两行之间或至少两列之间的一个或多个值的部分交换来产生 第二频率系数矩阵,对第二频率系数矩阵进行量化,对第二频率系数矩阵进行熵编码; 从不同角参数中选择与最高压缩率对应的角参数。 6.如权利要求5所述的方法,其中,从不同角参数中选择角参数的步骤包括: 针对不同角参数并通过使用蒙特卡罗方法重复地执行以下操作:通过执行第一频率系 数矩阵的至少两行之间或至少两列之间的一个或多个值的部分交换来产生第二频率系数 矩阵,对第二频率系数矩阵进行量化,对第二频率系数矩阵进行熵编码; 从不同角参。

6、数中选择与最高压缩率对应的角参数。 权 利 要 求 书CN 102484702 A 2/3页 3 7.如权利要求5所述的方法,其中,选择角参数的步骤包括: 将不同角参数与随机序列对应; 针对不同角参数重复地执行以下操作:通过执行第一频率系数矩阵的至少两行之间或 至少两列之间的一个或多个值的部分交换来产生第二频率系数矩阵,对第二频率系数矩阵 进行量化,对第二频率系数矩阵进行熵编码; 从不同角参数中选择与最高压缩率对应的角参数,其中,对关于角参数的信息进行熵 编码的步骤包括: 将与选择的角参数对应的随机序列的数量编码为关于角参数的信息。 8.如权利要求1所述的方法,其中,产生第二频率系数矩阵的方法。

7、包括: 选择仅包括第一频率系数矩阵的一些系数的矩阵; 通过基于角参数执行包括所选择的系数的矩阵的至少两行之间或至少两列之间的一 个或多个值的部分交换来产生第二频率系数矩阵。 9.一种图像编码设备,包括: 变换器,产生第一频率系数矩阵,通过基于角参数执行第一频率系数矩阵的至少两行 之间或至少两列之间的一个或多个值的部分交换来产生第二频率系数矩阵; 量化单元,对第二频率系数矩阵进行量化; 熵编码器,对第二频率系数矩阵和关于角参数的信息进行熵编码, 其中,角参数是这样的参数,所述参数指示第一频率系数矩阵的至少两行之间或至少 两列之间的一个或多个值的部分交换的水平。 10.一种对图像解码的方法,所述方。

8、法包括: 对第二频率系数矩阵和关于角参数的信息进行熵解码; 对第二频率系数矩阵进行逆量化; 通过基于角参数执行第二频率系数矩阵的至少两行之间或至少两列之间的一个或多 个值的部分交换来产生第一频率系数矩阵; 将第一频率系数矩阵逆变换为像素域,并重构预定块, 其中,角参数是这样的参数,所述参数指示第二频率系数矩阵的至少两行之间或至少 两列之间的一个或多个值的部分交换的水平。 11.如权利要求10所述的方法,其中,角参数是关于欧拉角的参数。 12.如权利要求10所述的方法,其中,第一频率系数矩阵的产生步骤包括:将用于执行 第二频率系数矩阵的至少两行之间的部分交换的矩阵乘以第二频率系数矩阵的左侧,将用。

9、 于执行第二频率系数矩阵的至少两列之间的部分交换的矩阵乘以第二频率系数矩阵的右 侧。 13.一种图像解码设备,包括: 熵解码器,对第二频率系数矩阵和关于角参数的信息进行熵解码; 逆量化单元,对第二频率系数矩阵进行逆量化; 逆变换器,通过基于角参数执行第二频率系数矩阵的至少两行之间或至少两列之间的 一个或多个值的部分交换来产生第一频率系数矩阵;将第一频率系数矩阵逆变换到像素 域,并重构预定块, 其中,角参数是这样的参数,所述参数指示第二频率系数矩阵的至少两行之间或至少 权 利 要 求 书CN 102484702 A 3/3页 4 两列之间的一个或多个值的部分交换的水平。 14.一种记录有当被计算。

10、机执行时执行对图像编码的方法的程序的计算机可读记录介 质,所述方法包括: 产生第一频率系数矩阵; 通过基于角参数执行第一频率系数矩阵的至少两行之间或至少两列之间的一个或多 个值的部分交换来产生第二频率系数矩阵; 对第二频率系数矩阵进行量化; 对第二频率系数矩阵和关于角参数的信息进行熵编码, 其中,角参数是这样的参数,所述参数指示第一频率系数矩阵的至少两行之间或至少 两列之间的一个或多个值的部分交换的水平。 15.一种记录有当被计算机执行时执行对图像解码的方法的程序的计算机可读记录介 质,所述方法包括: 对第二频率系数矩阵和关于角参数的信息进行熵解码; 对第二频率系数矩阵进行逆量化; 通过基于角。

11、参数执行第二频率系数矩阵的至少两行之间或至少两列之间的一个或多 个值的部分交换来产生第一频率系数矩阵; 将第一频率系数矩阵逆变换到像素域,并重构预定块, 其中,角参数是这样的参数,所述参数指示第二频率系数矩阵的至少两行之间或至少 两列之间的一个或多个值的部分交换的水平。 权 利 要 求 书CN 102484702 A 1/15页 5 用于通过使用旋转变换对图像编码和解码的方法和设备 技术领域 0001 与示例性实施例一致的方法和设备涉及一种用于对图像编码和解码的方法和设 备,更具体地说,涉及一种用于对频域的系数编码和解码的方法和设备。 背景技术 0002 为了执行图像压缩,大多数图像编码和解码。

12、方法和设备通过将像素域的图像变换 为频域的系数来对图像编码。离散余弦变换(DCT)是广泛用于图像或声音压缩的频率变换 技术。近年来,已经进行了研究以搜索更有效的编码方法。针对音频编码,参数编码获得比 DCT更好的结果。针对二维(2D)数据,尽管Karhunen Loeve变换(KLT)系数具有最小的比 特大小,但是系统开销(overhead)信息的大小显著增加。 发明内容 0003 解决方案 0004 示例性实施例提供一种对图像编码和解码的方法和设备。 0005 示例性实施例还提供一种记录有用于执行该方法的程序的计算机可读记录介质。 0006 有益效果 0007 如上所描述的,根据示例性实施例。

13、的用于对图像编码和解码的方法和设备可基于 固态(solid)数学基础以较高压缩率对频率系数矩阵编码,从而可显著地提高整体图像编 码操作的压缩率。 附图说明 0008 通过参照附图详细描述本发明的示例性实施例,以上和其它特点将变得更明显, 附图中: 0009 图1是根据示例性实施例的图像编码设备的示图; 0010 图2是根据另一示例性实施例的图像解码设备的示图; 0011 图3是根据另一示例性实施例的分级编码单位的示图; 0012 图4是根据另一示例性实施例的基于编码单位的图像编码器的框图; 0013 图5是根据另一示例性实施例的基于编码单位的图像解码器的框图; 0014 图6示出根据另一示例性。

14、实施例的最大编码单位、子编码单位和预测单位; 0015 图7是根据另一示例性实施例的编码单位和变换单位的示图; 0016 图8A和图8B示出根据另一示例性实施例的最大编码单位、预测单位和变换单元 的划分形式; 0017 图9是根据另一示例性实施例的图像编码设备的框图; 0018 图10是根据另一示例性实施例的变换器的示图; 0019 图11A到图11C示出根据另一示例性实施例的旋转变换(ROT); 0020 图12是根据另一示例性实施例的欧拉角的示图; 说 明 书CN 102484702 A 2/15页 6 0021 图13示出根据另一示例性实施例的伪随机点; 0022 图14是根据另一示例性。

15、实施例的图像解码设备的框图; 0023 图15是根据另一示例性实施例的逆变换器的示图; 0024 图16是根据示例性实施例的对图像编码的方法的流程图; 0025 图17是根据另一示例性实施例的对图像解码的方法的流程图。 0026 最佳实施方式 0027 根据示例性实施例的一方面,提供了一种对图像编码的方法,所述方法包括:通过 将预定块变换到频域来产生第一频率系数矩阵;通过基于角参数执行第一频率系数矩阵的 行之间或列之间的一个或多个值的部分交换来产生第二频率系数矩阵;对第二频率系数矩 阵进行量化;对第二频率系数矩阵和关于角参数的信息进行熵编码,其中,角参数是指示行 之间和列之间的一个或多个值的部。

16、分交换的水平的参数。 0028 根据示例性实施例的另一方面,提供了一种图像编码设备,包括:变换器,通过将 预定块变换到频域来产生第一频率系数矩阵,通过基于角参数执行第一频率系数矩阵的行 之间或列之间的一个或多个值的部分交换来产生第二频率系数矩阵;量化单元,对第二频 率系数矩阵进行量化;熵编码器,对第二频率系数矩阵和关于角参数的信息进行熵编码,其 中,角参数是指示行之间和列之间的一个或多个值的部分交换的水平的参数。 0029 根据示例性实施例的另一方面,提供了一种对图像解码的方法,所述方法包括:对 第二频率系数矩阵和关于角参数的信息进行熵解码;对第二频率系数矩阵进行逆量化;通 过基于角参数执行第。

17、二频率系数矩阵的行之间或列之间的一个或多个值的部分交换来产 生第一频率系数矩阵;将第一频率系数矩阵逆变换到像素域,并重构预定块,其中,角参数 是指示行之间和列之间的一个或多个值的部分交换的水平的参数。 0030 根据示例性实施例的另一方面,提供了一种图像解码设备,包括:熵解码器,对第 二频率系数矩阵和关于角参数的信息进行熵解码;逆量化单元,对第二频率系数矩阵进行 逆量化;逆变换器,通过基于角参数执行第二频率系数矩阵的行之间或列之间的一个或多 个值的部分交换来产生第一频率系数矩阵;将第一频率系数矩阵逆变换到像素域,并重构 预定块,其中,角参数是指示行之间和列之间的一个或多个值的部分交换的水平的参。

18、数。 0031 根据示例性实施例的另一方面,提供了一种计算机可读记录介质,所述记录介质 存储用于执行对图像编码和对图像解码的方法的计算机可读程序。 具体实施方式 0032 在下文,将参照附图详细描述示例性实施例。在本说明书中,“图像”可表示用于视 频的静止图像或运动图像(即,视频本身)。 0033 图1是根据示例性实施例的用于对图像编码的设备100的框图。 0034 参照图1,设备100包括最大编码单位划分器110、编码深度确定单元120、图像数 据编码器130和编码信息编码器140。 0035 最大编码单位划分器110可基于最大编码单位(其为最大大小的编码单位)来划 分当前画面或像条(sli。

19、ce)。即,最大编码单位划分器110可划分当前画面或像条,以获得 至少一个最大编码单位。 0036 根据示例性实施例,可通过使用最大编码单位和深度来表示编码单位。如上所述, 说 明 书CN 102484702 A 3/15页 7 最大编码单位表示当前画面的编码单位中具有最大大小的编码单位,深度表示通过分级地 减小编码单位获得的子编码单位的大小。随着深度增加,编码单位的大小从最大编码单位 减小到最小编码单位,其中,最大编码单位的深度被定义为最小深度,最小编码单位的深度 被定义为最大深度。由于编码单位的大小随着深度增加而从最大编码单位减小,所以第k 深度的子编码单位可包括第(k+n)深度的多个子编。

20、码单位(k和n为等于或大于1的整数)。 0037 根据将被编码的画面的大小的增加,以较大的编码单位对图像编码可引起较高的 图像压缩比。然而,如果较大的编码单位被固定,则考虑到连续改变的图像特性,无法对图 像进行有效编码。 0038 例如,当对诸如大海或天空的平滑区域编码时,编码单位越大,可增加越多的压缩 比。然而,当对诸如人或建筑的复杂区域编码时,编码单位越小,压缩比可增加的越多。 0039 因此,根据示例性实施例,针对每个画面或像条设置不同的最大图像编码单位和 不同的最大深度。由于最大深度表示编码单位可减小的最大倍数,最大图像编码单位中包 括的每个最小编码单位的大小可根据最大深度被变化地设置。

21、。 0040 编码深度确定单元120确定最大深度。可基于率失真(R-D)代价的计算来确定最 大深度。可针对每个画面或像条或者针对每个最大编码单位来不同地确定最大深度。确定 的最大深度被提供给编码信息编码器140,根据最大编码单位的图像数据被提供给图像数 据编码器130。 0041 最大深度表示具有可被包括在最大编码单位中的最小大小的编码单位,即,最小 编码单位。换句话讲,可根据不同深度将最大编码划分成具有不同大小的子编码单位。稍 后将参照图8A和图8B对此进行详细描述。另外,可基于具有不同大小的处理单位来预测 或变换最大编码单位中包括的具有不同大小的子编码单位。换句话讲,设备100可基于具 有。

22、各种大小和各种形状的处理单位来对图像执行多个处理操作。为了对图像数据编码,可 执行诸如预测、变换和熵编码的处理操作,其中,可对每个操作使用具有相同大小的处理单 位,或者可对每个操作使用具有不同大小的处理单位。 0042 例如,设备100可选择与编码单位不同的处理单位,以预测编码单位。 0043 当编码单位的大小是2N2N(其中,N为正整数)时,用于预测的处理单位可以是 2N2N、2NN、N2N、NN。换句话讲,可基于具有由此编码单位的高度和宽度中的至少一 个被均除以2的形状的处理单位来执行运动预测。以下,作为预测基础的处理单位被定义 为“预测单位”。 0044 预测模式可以是帧内模式、帧间模式。

23、和跳过模式中的至少一个。可仅对具有特定 大小或形状的预测单位执行特定预测模式。例如,可仅对形状是正方形的大小为2N2N和 NN的预测单位执行帧内模式。此外,可仅对大小为2N2N的预测单位执行跳过模式。如 果在编码单位中存在多个预测单位,则在对每个预测单位执行了预测之后,可选择具有最 少编码误差的预测模式。 0045 可选择地,设备100可基于大小与编码单位不同的处理单位来对图像数据执行到 频率的变换。针对编码单位中的频率变换,可基于大小等于或小于编码单位的大小的处理 单位来执行频率变换。以下,作为频率变换基础的处理单位被定义为“变换单位”。频率变 换可以是任何变换:例如,离散余弦变换(DCT)。

24、或Karhunen Loeve变换(KLT)。 0046 编码深度确定单元120可基于拉格朗日乘法器通过使用RD优化来确定最大编码 说 明 书CN 102484702 A 4/15页 8 单位中包括的子编码单位。换句话讲,编码深度确定单元120可确定从最大编码单位划分 的多个子编码单位的形状,其中,所述多个子编码单位根据其深度具有不同的大小。图像数 据编码器130基于由编码深度确定单元120确定的划分形状通过对最大编码单位编码来输 出比特流。 0047 编码信息编码器140对关于由编码深度确定单元120确定的最大编码单位的编码 模式的信息进行编码。换句话讲,编码信息编码器140通过对关于最大编。

25、码单位的划分形 状的信息、关于最大深度的信息、关于针对每个深度的子编码单位的编码模式的信息进行 编码来输出比特流。关于子编码单位的编码模式的信息可包括关于子编码单位的预测单位 的信息、关于针对每个预测单位的预测模式的信息、关于子编码单位的变换单位的信息。 0048 由于针对每个最大编码单位存在具有不同大小的子编码单位,并且针对每个子编 码单位必须确定关于编码模式的信息,所以可针对一个最大编码单位确定关于至少一个编 码模式的信息。 0049 设备100可根据深度的增加将最大编码单位的高度和宽度均除以2来产生子编码 单位。即,当第k深度的编码单位的大小是2N2N时,第(k+1)深度的编码单位的大小。

26、是 NN。 0050 因此,根据示例性实施例的设备100可考虑图像特性基于最大深度和最大编码单 位的大小来确定每个最大编码单位的最优划分形状。通过考虑图像特性变化地调整最大编 码单位的大小,并通过将最大编码单位划分成不同深度的子编码单位对图像编码,可更有 效地对具有各种分辨率的图像进行编码。 0051 图2是根据示例性实施例的用于对图像解码的设备200的框图。 0052 参照图2,设备200包括图像数据获取单元210、编码信息提取单元220和图像数 据解码器230。 0053 图像数据获取单元210通过解析由设备200接收的比特流根据最大编码单位来获 取图像数据,并将所述图像数据输出到图像数据。

27、解码器230。图像数据获取单元210可从当 前画面或像条的头中提取关于当前画面或像条的最大编码单位的信息。换句话讲,图像数 据获取单元210按最大编码单位划分比特流,从而图像数据解码器230可根据最大编码单 位对图像数据解码。 0054 编码信息提取单元220通过解析由设备200接收的比特流从当前画面的头中提取 关于最大编码单位、最大深度、最大编码单位的划分形状、子编码单位的编码模式的信息。 关于划分形状的信息和关于编码模式的信息被提供给图像数据解码器230。 0055 关于最大编码单位的划分形状的信息可包括与根据最大编码单位中包括的深度 具有不同大小的子编码单位有关的信息,关于编码模式的信息。

28、可包括与根据子编码单位的 预测单位有关的信息、关于预测模式的信息和关于变换单位的信息。 0056 图像数据解码器230通过基于由编码信息提取单元220提取的信息对每个最大编 码单位的图像数据解码来恢复当前画面。编码信息解码器230可基于关于最大编码单位的 划分形状的信息来对最大编码单位中包括的子编码单位解码。解码处理可包括具有帧内预 测和运动补偿的预测处理、逆变换处理。 0057 图像数据解码器230可基于关于预测单位的信息和关于预测模式的信息来执行 帧内预测或帧间预测,以对预测单位进行预测。图像数据解码器230还可基于关于子编码 说 明 书CN 102484702 A 5/15页 9 单位的。

29、变换单位的信息来对每个子编码单位执行逆变换。 0058 图3示出根据示例性实施例的分级编码单位。 0059 参照图3,根据示例性实施例的分级编码单位可包括尺寸为6464、3232、 1616、88、44的编码单位。除了这些具有完全正方形的编码单位之外,还可存在尺寸 为6432、3264、3216、1632、168、816、84、48的编码单位。 0060 参照图3,针对分辨率为19201080的图像数据310,最大编码单位的大小被设置 为6464,最大深度被设置为2。 0061 针对分辨率为19201080的图像数据320,最大编码单位的大小被设置为 6464,最大深度被设置为3。针对分辨率为。

30、352288的图像数据330,最大编码单位的大 小被设置为1616,最大深度被设置为1。 0062 当分辨率为高或者数据量大时,优选地,编码单位的最大大小相对大,以增加压缩 比并准确地反映图像特性。因此,针对分辨率高于图像数据330的图像数据310和320,可 选择6464作为最大编码单位的大小。 0063 最大深度表示在分级编码单位中层的总数量。由于图像数据310的最大深度是2, 因此,根据深度的增加,图像数据310的编码单位315可包括长轴大小为64的最大编码单 位以及长轴大小为32和16的子编码单位。 0064 另一方面,由于图像数据330的最大深度为1,因此,根据深度的增加,图像数据 。

31、330的编码单位335可包括长轴大小为16的最大编码单位以及长轴大小为8的编码单位。 0065 然而,由于图像数据320的最大深度为3,所以,根据深度的增加,图像数据320的 编码单位325可包括长轴大小为64的最大编码单位以及长轴大小为32、16、8和4的子编 码单位。由于随着深度的增加基于较小的子编码单位对图像进行编码,所以示例性实施例 适用于对包括更微小场景的图像进行编码。 0066 图4是根据示例性实施例的基于编码单位的图像编码器400的框图。 0067 帧内预测器410对当前帧405中的帧内模式的预测单位执行帧内预测,运动估计 单元420和运动补偿单元425通过使用当前帧405和参考。

32、帧495对帧间模式的预测单位执 行帧间预测和运动补偿。 0068 基于从帧内预测单位410、运动估计单元420、运动补偿单元425输出的预测单位 来产生残差值,并且产生的残差值通过变换器430和量化单元440被输出为量化的变换系 数。 0069 量化的变换系数通过逆量化单元460和频率逆变换器470被恢复成残差值,恢复 的残差值通过去块单元480和环路滤波单元490被进行后处理,并被输出为参考帧495。量 化的变换系数可通过熵编码器450被输出为比特流455。 0070 为了基于根据示例性实施例的编码方法执行编码,图像编码器400的部件(即,帧 内预测器410、运动估计单元420、运动补偿单元。

33、425、变换器430、量化单元440、熵编码器 450、逆量化单元460、频率逆变换器470、去块单元480和环路滤波单元490)基于最大编码 单位、根据深度的子编码单位、预测单位和变换单位执行图像编码。 0071 图5是根据示例性实施例的基于编码单位的图像解码器500的框图。 0072 比特流505通过解析器510,从而将被解码的编码图像数据和解码所必需的编码 信息被解析。编码图像数据通过熵解码器520和逆量化器530被输出为逆量化数据,并通 说 明 书CN 102484702 A 6/15页 10 过频率逆变换器540被恢复为残差值。残差值通过被加上帧内预测器550的帧内预测结果 或者运动。

34、补偿单元560的运动补偿结果根据编码单位被恢复。恢复的编码单位通过去块单 元570和环路滤波单元580被用于随后的编码单位或下一画面的预测。 0073 为了基于根据示例性实施例的解码方法执行解码,图像解码器500的部件(即,解 析单元510、熵解码器520、逆量化单元530、频率逆变换器540、帧内预测器550、运动补偿单 元560、去块单元570和环路滤波单元580)基于最大编码单位、根据深度的子编码单位、预 测单位和变换单位执行图像解码处理。 0074 具体地讲,帧内预测器550和运动补偿单元560通过考虑最大编码单位和深度确 定子编码单位中的预测模式和预测单位,频率逆变换器540通过考虑。

35、变换单位的大小执行 逆变换。 0075 图6示出根据示例性实施例的最大编码单位、子编码单位和预测单位。 0076 根据示例性实施例的设备100和设备200考虑图像特性使用分级编码单位执行编 码和解码。最大编码单位和最大深度可根据图像特性被自适应地设置,或者根据用户需求 被不同地设置。 0077 根据示例性实施例的分级编码单位结构600示出高和宽为64以及最大深度为4 的最大编码单位610。深度沿着分级编码单位结构600的纵轴增加,随着深度增加,子编码 单位620至650的高度和宽度减小。沿着分级编码结构600的横轴示出了最大编码单位 610以及子编码单位620至650的预测单位。 0078 最。

36、大编码单位610深度为0,编码单位的大小(即,高和宽)为6464。深度沿着 纵轴增加,存在大小为3232并且深度为1的子编码单位620、大小为1616并且深度为 2的子编码单位630、大小为88并且深度为3的子编码单位640、大小为44并且深度为 4的子编码单位650。大小为44并且深度为4的子编码单位650是最小编码单位,最小 编码单位可被划分成多个预测单位,所述多个预测单位中的每一个小于最小编码单位。 0079 参照图6,根据每个深度沿横轴示出了预测单位的示例。即,深度为0的最大编码 单位610的预测单位可以是大小等于编码单位610的大小(即,6464)的预测单位,或者 深度为0的最大编码。

37、单位610的预测单位可以是大小为6432的预测单位612、大小为 3264的预测单位614或者大小为3232的预测单位616,其中,预测单位612、614或616 的大小小于大小为6464的编码单位610的大小。 0080 深度为1并且大小为3232的编码单位620的预测单位可以是大小等于编码 单位620的大小(即,3232)的预测单位,或者编码单位620的预测单位可以是大小为 3216的预测单位622、大小为1632的预测单位624或者大小为1616的预测单位626, 其中,预测单位622、624或者626的大小小于大小为3232的编码单位620的大小。 0081 深度为2并且大小为1616。

38、的编码单位630的预测单位可以是大小等于编码单 位630的大小(即,1616)的预测单位,或者编码单位620的预测单位可以是大小为168 的预测单位632、大小为816的预测单位634或者大小为88的预测单位636,其中,预 测单位632、634或者636的大小小于大小为1616的编码单位630的大小。 0082 深度为3并且大小为88的编码单位640的预测单位可以是大小等于编码单位 640的大小(即,88)的预测单位,或者编码单位640的预测单位可以是大小为84的预 测单位642、大小为48的预测单位644或者大小为44的预测单位646,其中,预测单位 说 明 书CN 102484702 A。

39、 10 7/15页 11 642、644或者646的大小小于大小为88的编码单位640的大小。 0083 最后,深度为4并且大小为44的编码单位650是最小编码单位和最大深度的编 码单位,编码单位650的预测单位可以是大小为44的预测单位650、大小为42的预测 单位652、大小为24的预测单元654或者大小为22的预测单位656。 0084 图7示出根据示例性实施例的编码单位和变换单位。 0085 根据示例性实施例的设备100和设备200使用最大编码单位自身或者使用从最大 编码单位划分的等于或小于最大编码单位的子编码单位执行编码。 0086 在编码处理中,选择用于频率变换的变换单位的大小以不。

40、大于相应编码单位的大 小。例如,在当前编码单位710大小为6464时,可通过使用大小为3232的变换单位 720来执行频率变换。 0087 图8A和图8B示出根据示例性实施例的编码单位、预测单位和频率变换单位的划 分形状。 0088 图8A示出根据示例性实施例的编码单位和预测单位。 0089 图8A的左侧示出根据示例性实施例的由设备100选择的划分形状,以对最大编码 单位810编码。设备100将最大编码单位810划分成不同形状,执行编码,并通过基于R-D 代价对各划分形状的编码结果进行相互比较来选择最优划分形状。当保持原样对最大编码 单位810编码为最优时,可在不划分最大编码单位810的情况下。

41、对最大编码单位810编码, 如图8A和图8B所示。 0090 参照图8A的左侧,通过将深度为0的最大编码单位810划分成深度等于或大于1 的子编码单位来对最大编码单位810编码。即,最大编码单位810被划分成深度为1的四 个子编码单位,深度为1的所有或一些子编码单位被划分成深度为2的子编码单位。 0091 深度为1的子编码单位中位于右上侧的子编码单位和位于左下侧的子编码单位 被划分成深度等于或大于2的子编码单位。深度等于或大于2的子编码单位中的一些可被 划分成深度等于或大于3的子编码单位。 0092 图8A的右侧示出最大编码单位810的预测单位的划分形状。 0093 参照图8A的右侧,可与最大。

42、编码单位810不同地来划分最大编码单位810的预测 单位860。换句话讲,每个子编码单位的预测单位可小于相应的子编码单位。 0094 例如,深度为1的子编码单位中位于右下侧的子编码单位854的预测单位可小于 子编码单位854。另外,深度为2的子编码单位814、816、850和852中的一些子编码单位 (814、816、850和852)的预测单位可分别小于子编码单位814、816、850和852。另外,深度 为3的子编码单位822、832和848的预测单位可分别小于子编码单位822、832和848。预 测单位可具有由此各子编码单位在高度或宽度方向被均除以2的形状,或者可具有由此各 子编码单位在高。

43、度和宽度方向被均除以4的形状。 0095 图8B示出根据示例性实施例的预测单位和变换单位。 0096 图8B的左侧示出在图8的右侧示出的最大编码单位810的预测单位的划分形状, 图8B的右侧示出最大编码单位810的变换单位的划分形状。 0097 参照图8B的右侧,可从预测单位860不同地设置变换单位870的划分形状。 0098 例如,即使深度为1的编码单位854的预测单位被选择具有由此编码单位854的 高度被均除以2的形状,变换单位可被选择具有与编码单位854的大小相同的大小。同样 说 明 书CN 102484702 A 11 8/15页 12 地,即使深度为2的编码单位814和850的预测单。

44、位被选择具有由此编码单位814和850 中的每一个的高度被均除以2的形状,变换单位可被选择具有与编码单位814和850中的 每一个的原始大小相同的大小。 0099 变换单位可被选择具有比预测单位小的大小。例如,当深度为2的编码单位852 的预测单位被选择具有由此编码单位852的宽度被均除以2的形状时,变换单位可被选择 具有由此编码单位852沿着高度和宽度的方向被均除以4的形状,该形状具有比预测单位 的形状小的大小。 0100 图9是根据另一示例性实施例的图像编码设备900的框图。 0101 图9的图像编码设备900可以是包括在图1的图像编码设备100中的模块或包括 在图4的图像编码器400中的。

45、模块,所述模块执行稍后将描述的图像编码过程。参照图9, 根据本示例性实施例的图像编码设备900包括变换器910、量化单元920和熵编码器930。 0102 变换器910接收预定块并将预定快变换到频域。预定块根据预定变换算法被变 换,然后产生频域的系数。变换器910可使用包括将像素域的块变换到频域的系数的多种 算法之一。例如,可通过使用离散余弦变换(DCT)或Karhunen Loeve变换(KLT)将预定块 变换到频域。预定块可以是残差块。此外,预定块可以是关于图7或图8B描述的变换单位 的块。 0103 此外,变换器910执行包括在矩阵的行之间和矩阵的列之间交换一个或多个值的 后处理,其中,。

46、所述矩阵包括产生为变换的结果的频域的系数,将参照图10、图11A到图11C 详细描述后处理。 0104 图10是根据示例性实施例的变换器910的示图。 0105 参照图10,变换器910包括变换执行单元1010、旋转变换(ROT)执行单元1020。 0106 变换执行单元1010接收预定块,将预定块变换到频域,并产生频率系数矩阵。例 如,如上所述,通过执行DCT或KLT,可产生包括频域的系数的频率系数矩阵。 0107 ROT执行单元1020接收由变换执行单元1010产生的频率系数矩阵,执行ROT,然 后产生调整后的频率系数矩阵。ROT可与这样的变换对应:通过所述变换来对行之间和列 之间的一个或。

47、多个值进行交换。将参照图11A到图11C详细描述ROT。 0108 图11A到图11C示出根据示例性实施例的ROT。 0109 ROT执行单元1020对频率系数矩阵的行之间和列之间的一个或多个值进行部分 地交换。现在将参照图11A到图11C描述频率系数矩阵的行之间和列之间的交换。 0110 根据一个或多个示例性实施例,行之间或列之间的部分交换不指示特定行或特定 列的值按一到一对应被无条件交换,而是指示通过使用包括正弦函数的特定函数对两行之 间或两列之间的值进行部分地交换。 0111 例如,根据参数a的值,两行A和B之间的交换可由等式1定义。 0112 【等式1】 0113 行A(新)cos(a。

48、)行A(旧)-sin(a)行B(旧) 0114 行B(新)sin(a)行A(旧)+cos(a)行B(旧) 0115 参照等式1,参数“a”用作角。因此,在本发明的一个或多个实施例中,指示DCT变 换矩阵的行之间和列之间的部分交换的水平的参数“a”被定义为角参数。 0116 在参数“a”的值为0度的情况下,该情况意味着交换未发生。此外,在参数“a”的 说 明 书CN 102484702 A 12 9/15页 13 值为90度的情况下,在行之间发生整体交换。 0117 在参数“a”的值具有大于90度小于180度的值的情况下,该情况意味着在行之间 发生交换,并且元素值的符号被改变。在参数“a”的值为180度的情况下,在行之间没有发 生交换,但是包括在每行中的所有元素的符号被改变。在一个或多个示例性实施例中,列之 间的部分交换以与行之间的部分交换同样的方式被定义。 0118 图11A示出对44频率系数矩阵执行ROT的情况。参照图11A,三个参数 1 、 2 和 3 用于频率系数矩阵的行之间的部分交换,三个参数 4 、 5 和 6 用于频率系数矩阵 的列之间的部分交换。 0119 图11B示出对88频率系数矩阵执行ROT的情况。在图11B的情况下, 1 、 2 、。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1