使用自适应几何划分进行视频编码和解码的方法及装置 相关申请的交叉引用
本申请要求 2009 年 6 月 26 日提交的美国临时申请序列号 No.61/220,918( 代理 人案号 No.PU090067) 的权益, 通过引用将其内容全部并入于此。
技术领域
本原理一般地涉及视频编码和解码, 并且更具体地涉及使用自适应几何划分 (geometric partition) 进行视频编码和解码的方法及装置。 背景技术 帧划分是有效的视频编码中至关重要的处理。大多数当前的视频压缩技术使用 基于树的帧划分。一种示例的当前视频压缩技术涉及国际标准化组织 / 国际电工委员会 (ISO/IEC) 运动画面专家组 -4(MPEG-4) 第 10 部分高级视频编码 (AVC) 标准 / 国际电信联 盟电信分部 (ITU-T)H.264 推荐 ( 下文中 “MPEG-4AVC 标准” )。MPEG-4AVC 标准中的帧划分 比简单的均匀 (uniform) 块划分更有效, 所述均匀块划分典型地被用于诸如 MPEG-2 的更老
的视频编码标准中。 然而, 基于树的帧划分仍没有足够有效地编码视频信息, 这是因为其不 能捕捉二维 (2D) 数据的几何结构。
尽管已经提出几何自适应的块划分来改进编码效率, 但是其以复杂度为代价来改 进编码效率。为了获得改进的性能, 第一种现有技术方案支持基于每个距离和角度的所有 划分模式。在该第一种现有技术方案中, 使用用于对块进行划分的简单的自适应模型。更 具体地, 使用直线模型来适应角度和位置, 以便捕捉可预测区域的局部几何统计依赖性。 通 过发送两个索引来执行线编码。 这两个索引中的每一个对应于到该块的中心的角度和距离 的值。距离 Δρ 和角度 Δθ 的量化步骤可以被固定在高级语法上, 以便在被耗费用于编 码该划分的比特方面具有最佳的率失真 (R-D) 折衷 ( 同样, 如果需要, 对最大允许的计算复 杂度的控制 )。
第二种现有技术方案试图通过将角度 Δθ 限制为垂直、 水平或斜线 (diagonal) (+45 度或 -45 度 ) 定向来降低划分模式复杂度。 然而, 与第一种现有技术方案相比, 这降级 了性能。
为了解决这样的局限性, 第一种现有技术方案提出了一种通过考虑 2D 视频数据 的 2D 几何来更好地表现并编码该 2D 视频数据的方法。也就是说, 第一种现有技术方案 对于帧间预测 (INTER 16×16GEO, INTER 8×8GEO) 和帧内预测 (INTRA 16×16GEO, INTRA 8×8GEO) 两者的一组新模式使用楔形划分 ( 即, 由任意线或曲线分离的两个区域中的块的 划分 )。
通过线的隐式来建模块内的几何划分。这里, 划分被如下地定义 :
f(x, y) = x cosθ+ysinθ-ρ
其中, ρ 和 θ 分别表示 : 沿着到 f(x, y) 的正交方向从原点到边界线 f(x, y) 的距 离; 以及到 f(x, y) 的正交方向与水平坐标轴 x 的角度。将每个块像素 (x, y) 分类, 使得 :为了编码的目的, 可能的几何划分 ( 或几何模式 ) 的字典 ( 所定义的汇编或列表 ) 是先验定义的。这可以通过如下地为 f(x, y) 的每个参数确定值范围和采样精度来正式地 定义 :
和 以及 和其中, Δρ 和 Δθ 是所选择的量化 ( 参数分辨率 ) 步长, MBsize 是宏块的大小。θ 和 ρ 的量化索引为传送的用于编码划分边界线的信息。然而, 如果在编码例程中使用模式 16×8 和 8×16, 则对于 ρ = 0 的情况可以从一组可能边缘中移除角度 0 和 90。
在第一种现有技术方案中提出的实施例内, 对于几何自适应的运动补偿模式, 执 行对于每个划分的 θ、 ρ 和运动矢量的搜索, 以便找到最佳配置。以两个阶段执行完全搜 索策略, 使得对于每个 θ、 ρ 对, 搜索最佳的运动矢量。在几何自适应的帧内预测模式内, 执行对于每个划分的 θ、 ρ 和最佳预测者 ( 直接预测、 或统计等 ) 的搜索, 以便找到最佳配 置。
在编码器侧, 如果使用完全搜索, 几何模式的计算复杂度可能非常高。在解码器 侧, 解码器需要支持所有的划分模式。 如果使用查找表格来降低模式形状的实时计算, 则表 格将非常大。
在第二种现有技术方案中描述的其它几何划分工作通过仅仅允许垂直、 水平或斜 线 (+45 度或 -45 度 ) 定向而试图减少几何模式的数量。这确实降低了确定的复杂度, 但确 实是以降级的编码性能为代价的。 发明内容 通过本原理解决现有技术的这些和其它缺陷和缺点, 本原理针对使用自适应几何 划分进行视频编码和解码的方法和装置。
根据本原理的一个方面, 提供了一种装置。该装置包括使用自适应几何划分对画 面中区域的画面数据进行编码的编码器, 其中, 响应于距离和角度中的至少一个来确定被 用来编码该区域的画面数据的几何划分子集。 所述距离是从该区域内的所定义的点到划分 边界测量的。 所述角度是相对于至少一条从该区域内的所定义的点到划分边界延伸的线而 测量的。
根据本原理的另一方面, 提供了一种视频编码器中的方法。该方法包括使用自适 应几何划分对画面中区域的画面数据进行编码, 其中, 响应于距离和角度中的至少一个来
确定被用来编码该区域的画面数据的几何划分子集。 所述距离是从该区域内的所定义的点 到划分边界测量的。 所述角度是相对于至少一条从该区域内的所定义的点到划分边界延伸 的线而测量的。
根据本原理的又一方面, 提供了一种装置。该装置包括使用自适应几何划分对画 面中区域的画面数据进行解码的解码器, 其中, 响应于距离和角度中的至少一个来确定被 用来解码该区域的画面数据的几何划分子集。 所述距离是从该区域内的所定义的点到划分 边界测量的。 所述角度是相对于至少一条从该区域内的所定义的点到划分边界延伸的线而 测量的。
根据本原理的再一方面, 提供了一种视频解码器中的方法。该方法包括使用自适 应几何划分对画面中区域的画面数据进行解码, 其中, 响应于距离和角度中的至少一个来 确定被用来解码该区域的画面数据的几何划分子集。 所述距离是从该区域内的所定义的点 到划分边界测量的。 所述角度是相对于至少一条从该区域内的所定义的点到划分边界延伸 的线而测量的。
本原理的这些和其它方面、 特征和优点将从示例实施例的以下具体描述中变得明 显, 将结合附图阅读以下具体描述。 附图说明 依据以下示例性图将更好地理解本原理, 其中 :
图 1 是依据本原理实施例的可以应用本原理的示例性编码器的框图 ;
图 2 是依据本原理实施例的可以应用本原理的示例性解码器的框图 ;
图 3 是依据本原理实施例的可以应用本原理的图像块的示例性几何划分的框图 ;
图 4 是依据本原理实施例的使用自适应几何划分来编码画面数据的示例性方法 的流程图 ;
图 5 是依据本原理实施例的使用自适应几何划分字典在编码器侧搜索最佳预测 的示例性方法的流程图 ;
图 6 是依据本原理实施例的利用自适应几何划分字典用于几何划分模式的熵编 码的示例性方法的流程图 ;
图 7 是依据本原理实施例的使用自适应几何划分字典来解码画面数据的示例性 方法的流程图 ;
图 8 是依据本原理实施例的使用自适应几何划分字典来编码画面数据的另一示 例性方法的流程图 ;
图 9 是依据本原理实施例的使用自适应几何划分字典来编码画面数据的另一示 例性方法的流程图 ;
图 10 是依据本原理实施例的使用自适应几何划分字典来编码画面数据的另一示 例性方法的流程图 ;
图 11 是依据本原理实施例的使用自适应几何划分字典来编码画面数据的另一示 例性方法的流程图 ;
图 12 是依据本原理实施例的使用自适应几何划分字典来编码画面数据的另一示 例性方法的流程图 ;
图 13 是依据本原理实施例的使用自适应几何划分字典来解码画面数据的另一示 例性方法的流程图 ;
图 14 是依据本原理实施例的使用自适应几何划分字典来解码画面数据的另一示 例性方法的流程图 ;
图 15 是依据本原理实施例的使用自适应几何划分字典来解码画面数据的另一示 例性方法的流程图 ;
图 16 是依据本原理实施例的使用自适应几何划分字典来解码画面数据的另一示 例性方法的流程图 ; 以及
图 17 是依据本原理实施例的使用自适应几何划分字典来解码画面数据的另一示 例性方法的流程图。 具体实施方式
本原理针对使用自适应几何划分进行视频编码和解码的方法和装置。
本描述例示了本原理。 因此, 将理解, 本领域技术人员将能够开发尽管未在这里明 确描述或示出但是体现本原理并且被包括在本原理的精神和范围之内的各种布置。 在此叙述的所有示例和条件性语言意欲用于教导的目的以便帮助读者理解本原 理以及由发明人贡献以推动现有技术发展的构思, 并且应该被解释为不局限于这样具体叙 述的示例和条件。
另外, 在这里叙述本原理的原理、 方面和实施例及其具体示例的所有陈述意欲包 括其结构和功能上的等效物。 另外, 意图是 : 这样的等效物包括当前已知的等效物以及将来 开发的等效物二者, 即所开发的执行相同功能的任何元件, 而不论其结构如何。
因此, 例如, 本领域技术人员将认识到 : 在此呈现的框图表示体现本原理的例示 性电路的概念性视图。类似地, 将认识到 : 任何流程图示 (flow chart)、 流程图 (flow diagram)、 状态转换图、 伪代码等表示实质上可以表示在计算机可读介质中并因此由计算 机或处理器执行的各种处理, 而不管是否明确地示出这样的计算机或处理器。
可以通过使用专用硬件以及与适当的软件相关联的能够执行软件的硬件来提供 图中示出的各种元件的功能。 当利用处理器来提供所述功能时, 可以利用单个专用处理器、 利用单个共享处理器、 或者利用其中一些可被共享的多个独立处理器来提供所述功能。另 外, 术语 “处理器” 或 “控制器” 的明确使用不应该被解释为排他性地指代能够执行软件的 硬件, 而是可以隐含地没有限制地包括数字信号处理器 (“DSP” ) 硬件、 用于存储软件的只 读存储器 (“ROM” )、 随机存取存储器 (“RAM” )、 和非易失性存储装置。
还可以包括其它传统的和 / 或定制的硬件。类似地, 图中示出的任何开关只是概 念性的。 它们的功能可以通过程序逻辑的运行、 通过专用逻辑、 通过程序控制和专用逻辑的 交互、 或者甚至手动地来执行, 如从上下文更具体地理解的, 实施者可选择具体技术。
在其权利要求中, 被表示为用于执行指定功能的部件的任何元件意欲包含执行那 个功能的任何方式, 例如包括 : a) 执行那个功能的电路元件的组合或者 b) 与适当电路相组 合的任何形式的软件, 所述软件因此包括固件或微代码等, 所述适当电路用于执行该软件 以执行所述功能。 由这种权利要求限定的本发明在于如下事实, 即, 以权利要求所要求的方 式将由各种所叙述的部件提供的功能组合和集合到一起。 因此认为可以提供那些功能的任
何部件与在此示出的那些部件等效。
在本说明书中提到的本原理的 “一个实施例” 或 “实施例” 及其其它变型意味着 : 结 合所述实施例描述的具体特征、 结构、 特性等被包括在本原理的至少一个实施例中。因此, 在说明书各处出现的短语 “在一个实施例中” 和 “在实施例中” 、 以及任何其它变型不一定都 指代相同的实施例。
应当认识到, 例如在 “A/B” 、 “A 和 / 或 B” 和 “A 和 B 中的至少一个” 的情况中, “/” 、 “和 / 或” 以及 “至少一个” 任何一个的使用意欲包括对于仅仅第一个列出的选项 (A) 的选 择、 或对于仅仅第二个列出的选项 (B) 的选择、 或者对于两个选项 (A 和 B) 的选择。作为另 一示例, 在 “A、 B 和 / 或 C” 以及 “A、 B 和 C 中的至少一个” 的情况中, 这种措辞意欲包括对 于仅仅第一个列出的选项 (A) 的选择、 或对于仅仅第二个列出的选项 (B) 的选择、 或对于仅 仅第三个列出的选项 (C) 的选择、 或对于仅仅第一个和第二个列出的选项 (A 和 B) 的选择、 或对于仅仅第一个和第三个列出的选项 (A 和 C) 的选择、 或对于仅仅第二个和第三个列出 的选项 (B 和 C) 的选择、 或者对于全部三个选项 (A 和 B 和 C) 的选择。如本领域和相关领 域普通技术人员容易认识到的, 这可以被扩展用于很多列出的条目。
此外, 应理解, 尽管这里关于 MPEG-4AVC 标准来描述本原理的一个或多个实施例, 但本原理不仅仅限于该标准, 并且因此可以关于其它视频编码标准、 推荐、 及其扩展 ( 包括 MPEG-4AVC 标准的扩展 ) 而被利用, 同时保持本原理的精神。 而且, 如这里所使用的, 词语 “画面” 和 “图像” 被可互换地使用, 并且指代静止图 像或来自视频序列的画面。如已知的, 画面可以是帧或场。
如这里所使用的, “高级语法” 指代在层级上驻留在宏块层之上的比特流中表现 的语法。例如, 如这里所使用的, 高级语法可以指代但不限于 : 码片首标级、 补充增强信息 (SEI) 级、 画面参数集 (PPS) 级、 序列参数集 (SPS) 级、 和网络抽象层 (NAL) 单元首标级处的 语法。
此外, 如这里所使用的, 词语 “发信号通知”指代向对应解码器指示某些内容 (something)。 例如, 编码器可以发信号通知来自多个几何划分子集中的具体一个几何划分 子集, 以便使得解码器得知在编码器侧使用哪个具体子集。 以此方式, 在编码器侧和解码器 侧两处可以使用相同的子集。因此, 例如, 编码器可以将子集传送到解码器, 使得解码器可 以使用相同的具体子集, 或者如果解码器已经具有该具体子集以及其它子集, 则可以使用 信令 ( 而非传送 ) 来简单地允许解码器知道并选择该具体子集。通过避免传送任何实际子 集, 可以实现比特节省。应理解, 可以以多种方式来完成发信号通知。例如, 可以使用一个 或多个语法元素、 标志等来向对应解码器发信号通知信息。
另外, 如这里所使用的, 短语 “画面区域” ( 或简单地简称为 “区域” ) 指代包含例如 一个或多个块或任何大小的任意形状、 以及 / 或者另外由一个或多个块或任何大小的任意 形状表示的画面的一部分。所述一个或多个块可能涉及例如超宏块、 宏块、 宏块划分、 子宏 块划分等等。在一个示例中, 区域可以是块, 在该情况下, 划分边界可以是该块的边缘。给 出这里提供的本原理的教导, 本领域和相关领域中的普通技术人员容易确定可以被认为是 ( 画面内的 ) 区域以及可以被认为是区域的划分边界的这些和其它变型, 同时保持本原理 的精神。
此外, 如这里所使用的, 短语 “随后区域” 指代画面或视频序列中尚未被编码或解
码的区域。该短语被用来区分正在被编码或解码的 ( 当前 ) 区域。
此外, 如这里所使用的, 短语 “几何划分子集” 指代比可能在强力 (brute force) 计 算或列表中可用的所有几何划分小的几何划分编组。以此方式, 减少了对应编码器或解码 器需要考虑的几何划分的总数。
而且, 如这里所使用的, 短语 “距离空间” 指代几何模式的距离参数的所有允许值 的集合。例如, 对于 16×16 块, 距离的最大值为 11.312( 主对角线的长度, 16×1.414/2), 而最小值为 0( 因为其不可能为负 )。由于存在过多的距离参数的选择, 在构造几何划分字 典时, 仅从整个空间中选择有限数量的值 ( 该 “选择” 被称作 “采样” )。
另外, 如这里所使用的, 短语 “角度空间” 指代角度参数的所有允许值的集合。当 距离参数为 0 时, 角度空间为 [0, 180)( 即, 其可以是等于或大于 0 但小于 180 的任何值 )。 当距离参数大于 0 时, 角度空间为 [0, 360)( 即, 其可以是等于或大于 0 但小于 360 的任何 值 )。
如上面注意到的, 本原理针对使用自适应几何划分进行视频编码和解码的方法和 装置。
转到图 1, 由参考标号 100 总地指示能够依据 MPEG-4AVC 标准执行视频编码的视 频编码器。视频编码器 100 包括帧排序缓冲器 110, 该帧排序缓冲器 110 具有与组合器 185 的非反相输入端进行信号通信的输出端。组合器 185 的输出端以信号通信方式与具有几何 扩展的变换器和量化器 125 的第一输入端连接。具有几何扩展的变换器和量化器 125 的输 出端以信号通信方式与具有几何扩展的熵编码器 145 的第一输入端以及具有几何扩展的 逆变换器和逆量化器 150 的第一输入端连接。具有几何扩展的熵编码器 145 的输出端以信 号通信方式与组合器 190 的第一非反相输入端连接。组合器 190 的输出端以信号通信方式 与输出缓冲器 135 的第一输入端连接。
具有几何扩展的编码器控制器 105 的第一输出端以信号通信方式与帧排序缓冲 器 110 的第二输入端、 具有几何扩展的逆变换器和逆量化器 150 的第二输入端、 画面类型判 定模块 115 的输入端、 具有几何扩展的宏块类型 (MB 类型 ) 判定模块 120 的第一输入端、 具 有几何扩展的帧内预测模块 160 的第二输入端、 具有几何扩展的去块滤波器 165 的第二输 入端、 具有几何扩展的运动补偿器 170 的第一输入端、 具有几何扩展的运动估计器 175 的第 一输入端、 和参考画面缓冲器 180 的第二输入端连接。
具有几何扩展的编码器控制器 105 的第二输出端以信号通信方式与补充增强信 息 (SEI) 插入器 130 的第一输入端、 具有几何扩展的变换器和量化器 125 的第二输入端、 具 有几何扩展的熵编码器 145 的第二输入端、 输出缓冲器 135 的第二输入端、 以及序列参数集 (SPS) 和画面参数集 (PPS) 插入器 140 的输入端连接。
SEI 插入器 130 的输出端以信号通信方式与组合器 190 的第二非反相输入端连接。
画面类型判定模块 115 的第一输出端以信号通信方式与帧排序缓冲器 110 的第三 输入端连接。画面类型判定模块 115 的第二输出端以信号通信方式与具有几何扩展的宏块 类型判定模块 120 的第二输入端连接。
序列参数集 (SPS) 和画面参数集 (PPS) 插入器 140 的输出端以信号通信方式与组 合器 190 的第三非反相输入端连接。
具有几何扩展的逆量化器和逆变换器 150 的输出端以信号通信方式与组合器 119的第一非反相输入端连接。组合器 119 的输出端以信号通信方式与具有几何扩展的帧内预 测模块 160 的第一输入端和具有几何扩展的去块滤波器 165 的第一输入端连接。具有几何 扩展的去块滤波器 165 的输出端以信号通信方式与参考画面缓冲器 180 的第一输入端连 接。参考画面缓冲器 180 的输出端以信号通信方式与具有几何扩展的运动估计器 175 的第 二输入端、 以及具有几何扩展的运动补偿器 170 的第三输入端连接。具有几何扩展的运动 估计器 175 的第一输出端以信号通信方式与具有几何扩展的运动补偿器 170 的第二输入端 连接。具有几何扩展的运动估计器 175 的第二输出端以信号通信方式与具有几何扩展的熵 编码器 145 的第三输入端连接。
具有几何扩展的运动补偿器 170 的输出端以信号通信方式与开关 197 的第一输入 端连接。具有几何扩展的帧内预测模块 160 的输出端以信号通信方式与开关 197 的第二输 入端连接。具有几何扩展的宏块类型判定模块 120 的输出端以信号通信方式与开关 197 的 第三输入端连接。开关 197 的第三输入端确定开关的 “数据” 输入 ( 与控制输入 ( 即, 第三 输入端 ) 相比 ) 是由具有几何扩展的运动补偿器 170 提供还是由具有几何扩展的帧内预测 模块 160 提供。开关 197 的输出端以信号通信方式与组合器 119 的第二非反相输入端和组 合器 185 的反向输入端连接。 帧排序缓冲器 110 的第一输入端和具有几何扩展的编码器控制器 105 的输入端可 用作编码器 100 的用于接收输入画面 101 的输入端。此外, 补充增强信息 (SEI) 插入器 130 的第二输入端可用作编码器 100 的用于接收元数据的输入端。输出缓冲器 135 的输出端可 用作编码器 100 的用于输出比特流的输出端。
转到图 2, 通过参考标号 200 总地指示能够依据 MPEG-4AVC 标准执行视频解码的视 频解码器。 视频解码器 200 包括输入缓冲器 210, 该输入缓冲器 210 具有以信号通信方式与 具有几何扩展的熵解码器 245 的第一输入端连接的输出端。具有几何扩展的熵解码器 245 的第一输出端以信号通信方式与逆变换器和逆量化器 250 的第一输入端连接。具有几何扩 展的逆变换器和逆量化器 250 的输出端以信号通信方式与组合器 225 的第二非反相输入端 连接。组合器 225 的输出端以信号通信方式与具有几何扩展的去块滤波器 265 的第二输入 端和具有几何扩展的帧内预测模块 260 的第一输入端连接。具有几何扩展的去块滤波器 265 的第二输出端以信号通信方式与参考画面缓冲器 280 的第一输入端连接。参考画面缓 冲器 280 的输出端以信号通信方式与具有几何扩展的运动补偿器 270 的第二输入端连接。
具有几何扩展的熵解码器 245 的第二输出端以信号通信方式与具有几何扩展的 运动补偿器 270 的第三输入端和具有几何扩展的去块滤波器 265 的第一输入端连接。具有 几何扩展的熵解码器 245 的第三输出端以信号通信方式与具有几何扩展的解码器控制器 205 的输入端连接。具有几何扩展的解码器控制器 205 的第一输出端以信号通信方式与具 有几何扩展的熵解码器 245 的第二输入端连接。具有几何扩展的解码器控制器 205 的第二 输出端以信号通信方式与具有几何扩展的逆变换器和逆量化器 250 的第二输入端连接。具 有几何扩展的解码器控制器 205 的第三输出端以信号通信方式与具有几何扩展的去块滤 波器 265 的第三输入端连接。具有几何扩展的解码器控制器 205 的第四输出端以信号通信 方式与具有几何扩展的帧内预测模块 260 的第二输入端、 具有几何扩展的运动补偿器 270 的第一输入端、 以及参考画面缓冲器 280 的第二输入端连接。
具有几何扩展的运动补偿器 270 的输出端以信号通信方式与开关 297 的第一输入
端连接。具有几何扩展的帧内预测模块 260 的输出端以信号通信方式与开关 297 的第二输 入端连接。开关 297 的输出端以信号通信方式与组合器 225 的第一非反相输入端连接。
输入缓冲器 210 的输入端可用作解码器 200 的用于接收输入比特流的输入端。具 有几何扩展的去块滤波器 265 的第一输出端可用作解码器 200 的用于对输出画面进行输出 的输出端。
如上面所注意的, 已经将使用几何区域划分的帧间预测和帧内预测标识为改进视 频编码效率的有前途的研究方向, 但是增加的计算复杂度的问题是艰巨的并且仍然是有待 解决的问题。因此, 在本原理的实施例中, 提供了使用自适应几何区域划分字典 ( 例如, 作 为由强力方案所规定的汇编或列表的子集的所定义的汇编或列表 ) 的机制。在保持编码效 率的同时减少在编码器和解码器中考虑的几何划分的数量在编码器和解码器两处都提供 了益处。
因此, 在实施例中, 提供了自适应几何划分字典 ( 例如, 所定义的汇编或列表 ) 以 便在仍保持良好编码效率的同时减少所考虑的几何模式的数量。其背后的基本构思在于 : 没有均匀地支持可用于强力计算和列表的所有距离和角度组合的划分。相反, 距离步长和 角度步长是从块 ( 或区域 ) 的所定义的点 ( 例如, 从中心或原点 ) 到边界线的距离的函数。 可以使用以下标记方法 (nomenclature), 即, Δρ = h(ρ), Δθ = g(ρ), 其中和 h() 和 g() 可以是线性和 / 或非线性函数。此外, 如上面注意到的, ρ 和 θ 分别表示 : 沿着到边界 线 f(x, y) 的正交方向从原点到 f(x, y) 的距离 ; 以及到 f(x, y) 的正交方向关于水平坐标 轴 x 的角度 ( 参见, 例如图 8 和图 13)。 转到图 3, 通过参考标号 300 总地指示图像块的示例性几何划分。通过参考标号 320 总地指示整个图像块, 分别通过参考标号 330 和 340 总地指示图像块 320 的位于斜线 350 相对侧的两个划分。
在实施例中, 当 ρ 接近该块的中心 ( 原点 ) 时, 支持密集的距离 (Δρ 小 ), 而当 ρ 远离该块的中心 ( 原点 ) 时, 支持稀疏的距离 (Δρ 大 )( 参见例如图 8 和图 13)。
在实施例中, 当 ρ 接近该块的中心 ( 原点 ) 时, 支持密集的角度, 而当 ρ 远离该 块的中心 ( 原点 ) 时, 支持稀疏的角度 (Δρ 大 )( 参见例如图 8 和图 13)。
在实施例中, 以默认字典 ( 例如, 所定义的汇编或列表 ) 开始。该实施例可以被认 为包含训练阶段和编码阶段。在编码了 Mtraining 个帧、 码片或块 ( 其可以被认为对应于训练 阶段 ) 之后, 分析由已经编码的块选择的划分的统计, 并且重新建立用于接下来的 Ncoding 个 帧、 码片或块的编码 ( 其可以被认为对应于编码阶段 ) 的字典。然后开始另一循环 ( 训练 阶段之后是编码阶段 )。可以在一个或多个高级语法元素 ( 例如, 码片首标、 SEI 消息、 PPS、 SPS、 NAL 单元首标等等 ) 中指定 Mtraining 和 Ncoding 的数量。它们还可以是预先定义的对于编 码器和解码器两者都已知的常数。在解码器处应用相同的例程 ( 参见例如图 9 和图 14)。
在实施例中, 从默认字典开始。 在完成了编码当前块之后, 根据为当前块选择的划 分来调整用于编码下一块的字典。 所述调整可以是移除远离由当前块选择的划分的一些划 分。所述调整还可以如下 : 外推当前块的所选择的划分以便预测下一块的划分 ; 以及用于 下一块的字典基于该预测的划分。在解码器处应用相同的例程 ( 参见例如图 9 和图 14)。
在实施例中, 从默认字典开始。 对于一个块, 基于某个率失真准则从默认集合中选 择最佳划分, 执行几何运动补偿以获得残差, 并且编码所述残差。在编码器处重构预测残
差, 并且分析所述预测残差以便推断出新的划分字典, 其包括所选择的划分和一些其它划 分, 并且将划分的索引发送给解码器。 假设所述新的字典包括比所述默认集合更少的划分, 使得需要更少的比特来将所选择的划分传递到解码器。在解码器侧, 重构并且分析残差以 便推断出与编码器所使用的字典相同的字典。利用所接收的索引, 从该字典中选择划分用 于重构该块。
时间上或空间上相邻的块可以具有相似的内容, 并且因此趋于从所述默认字典中 的有限数量的划分中选择。与使用具有许多划分的默认字典相比, 使用具有更少划分的小 字典可以节省编码时间以及用于发信号通知几何划分模式的比特。在实施例中, 预先定义 被预存储在编码器和解码器两者处的多个几何划分字典。 这些字典中的每个字典是默认字 典子集。使用索引来指示在编码器处当前使用哪个字典并且在一个或多个高级语法元素 ( 例如, 码片首标、 SEI 消息、 PPS、 SPS、 NAL 单元首标等等 ) 中指定该索引, 使得解码器可以 与编码器同步。仅仅选择字典中的几何划分, 以便减少在发送几何划分模式时的开销 ( 参 见例如图 11 和图 16)。
在实施例中, 对于编码器应用用户定义的字典, 并且例如使用要被传送到解码器 的一个或多个高级语法元素 ( 例如, 码片首标、 SEI 消息、 PPS、 SPS、 NAL 单元首标等等 ) 在 比特流中指定所述用户定义的字典 ( 参见例如图 10 和图 15)。 所有上面的实施例需要显式发信号通知所选择的几何划分。 如果可以将划分索引 嵌入在其它编码信息中, 则可以节省编码比特并且可以改进编码效率。 在实施例中, 从默认 字典开始。 对于一个块, 基于某个率失真准则从默认集合中选择最佳划分, 执行几何运动补 偿以获得残差, 并且编码所述残差。 在编码器侧, 将几何划分信息嵌入到变换系数或量化系 数中。解码器遵循相同的规则以便从所解码的比特流中推断出几何划分。将几何划分索引 嵌入到变换系数或量化系数中的一个示例可以是如下。将划分索引信息嵌入到系数总和 M 中。如果划分索引为 n, 修改一些系数, 使得 M% k = n, 其中, k 为对于编码器和解码器两者 都已知的常数,%为模运算。处理后的系数被传送到解码器, 并且解码器可以精确地重构 相同的残差。然后, 其可以推断出该几何划分。因此, 节省了用于几何划分的比特 ( 参见例 如图 12 和图 17)。
以下是详细说明如何在压缩系统中构造并使用自适应几何划分字典的具体示例。 尽管以下示例基于 MPEG-4AVC 标准, 如上所述, 本原理可以应用于其它视频编码标准、 推荐 及其扩展。
构造自适应字典 :
假设编码块单元的大小为 16×16。对于默认几何划分字典, 假设将均匀的采样应 用于角度参数和距离参数两者, 其中, Δθ = 11.25 以及 Δρ = 1。该字典中可能划分的 总数量为 274。
在构造该示例的自适应字典时, 首先执行距离 ρ 的非均匀采样。此外, 对于 ρ 的 不同值 ( 距离 ), 设 Δθ 的角度采样密度不同并且因此 Δθ 是 ρ 的函数, Δθ = g(ρ)。
具体地, 在 16×16 编码块单元的假设下, 可以从图 3 计算的 ρ 的最大距离为 11( 小于主对角线的长度的一半 16×1.414/2 = 11.312 的最大整数 )。为了减小字典的大 小, 减小距离采样间隔并且仅仅考虑 ρ ≤ 7 时的几何划分。类似地, 我们减小角度采样间 隔。
对于 ρ 的不同值, 使用不同的采样密度来最大化地开发几何划分的效率且同时 最小化开销。如下, 表 1 对应于依据本原理的实施例的一种示例性采样方法 :
表1
ρ Δθ 0 22.5 6 可能划分 1 90 4 2 22.5 16 3 90 4 4 90 4 5 90 4 6 90 4 7 90 4表 1 中示出的采样方法对应于 ρ ≤ 7 以及 θ 的非均匀的 ρ 依赖采样, 产生总共 仅仅 46 个可能划分。假设规则是先验的, 编码器和解码器两者可以构造该字典, 该字典的 元素可以比默认字典的元素少得多。
使用自适应字典的编码和解码 :
在编码器侧, 首先执行搜索以找到最佳划分 ( 其由 (ρ, θ) 表示 ) 以及相关联的 运动矢量。然后, 使用某种熵编码方法编码 ρ。一种可能的熵编码方法可以包括指数哥伦 布码 (Expo-Golomb code), 然而应理解 : 本原理不限于仅仅前述的码, 而是还可以使用其它 码。此后, 利用 ρ 和预先定义的规则 Δθ = g(ρ), 可以计算 θ 的可能的总数量和 θ 的 索引。相应地, 可以设计熵编码方法。一种可能的熵编码方法可以是 N 比特固定长度编码, 其中可以从 ρ 和 Δθ 来计算 N。
在解码器侧, 首先解码 ρ。利用 ρ 和预先定义的规则 Δθ = g(ρ), 可以计算 θ 的可能的总数量以便帮助解析 θ 的语法并重构其值。
语法
表 2 示出了依据本原理实施例的示例性码片级语法。
slice_header(){ .... adaptive_dictionary_flag if(adaptive_dictionary_flag == 1) Geo_partition_derivation_adaptive() else Geo_partition_derivation_default() .... } u(1) 描述符
在该示例中, 假设 : 除了默认字典之外, 在编码器和解码器两者处存储预先定义的自适应字典。
adaptive_dictionary_flag :
adaptive_dictionary_flag 等于 1 指定在解码该码片中的所有几何划分块时利 用自适应字典。在函数 Geo_partition_derivation_adaptive() 中定义解码操作, 其中, 从 比特流中解析划分索引, 并且从所述预先定义的自适应字典中选择划分。
adaptive_dictionary_flag 等于 0 指定在解码该码片中的所有几何划分块时利 用默认字典。在函数 Geo_partition_derivation_default() 中定义解码操作, 其中, 从比 特流中解析划分索引, 并且从所述预先定义的默认字典中选择划分。
转到图 4, 通过参考标号 400 来总地指示使用自适应几何划分编码画面数据的示 例性方法。方法 400 包括开始块 405, 其将控制传递到功能块 410。功能块 410 构造自适应 几何划分字典, 并将控制传递到功能块 415。 功能块 415 利用自适应几何划分字典搜索最佳 几何划分, 并将控制传递到功能块 420。功能块 420 使用常规编码模式搜索最佳预测, 将利 用常规编码模式获得的预测与几何预测进行比较以便选择最佳预测, 并将控制传递到判定 块 425。判定块 425 确定最佳预测模式是否是几何预测模式。如果是, 则将控制传递到功能 块 430。否则, 将控制传递到功能块 435。
功能块 430 利用自适应几何划分字典执行用于 ( 多个 ) 几何划分模式的熵编码, 并将控制传递到结束块 499。
功能块 435 执行常规 ( 传统 ) 熵编码, 并将控制传递到结束块 499。
转到图 5, 通过参考标号 500 总地指示使用自适应几何划分字典的在编码器侧搜 索最佳预测的示例性方法。方法 500 包括开始块 505, 其将控制传递到循环限制块 510。循 环限制块 510 对于字典中的可能距离 ρ 开始循环 1, 并将控制传递到循环限制块 515。循 环限制块 515 对于字典中的用于距离 ρ 的可能角度 θ 开始循环 2, 并将控制传递到功能 块 520。功能块 520 利用参数集合 (ρ, θ) 生成划分, 并将控制传递到功能块 525。功能块 525 在给定划分集合的情况下搜索最佳预测者, 并将控制传递到循环限制块 530。循环限制 块 530 结束循环 1, 并将控制传递到循环限制块 535。循环限制块 535 结束循环 2, 并将控制 传递到结束块 599。
转到图 6, 通过参考标号 600 总地指示使用自适应几何划分字典的用于几何划分 模式的熵编码的示例性方法。方法 600 包括开始块 605, 其将控制传递到功能块 610。功能 块 610 对于所选择的距离 ρ, 在字典中查找以找到对应索引, 编码该索引, 并将控制传递到 功能块 615。功能块 615 对于所选择的角度, 在字典中查找以便找到对应的索引, 编码该索 引, 并将控制传递到功能块 620。功能块 620 编码该块的剩余模式信息, 并将控制传递到功 能块 625。功能块 625 编码该块的预测误差 ( 残差 ), 并将控制传递到结束块 699。
转到图 7, 通过参考标号 700 总地指示使用自适应几何划分字典解码画面数据的 示例性方法。方法 700 包括开始块 705, 其将控制传递到功能块 710。功能块 710 构造自适 应几何划分字典, 并将控制传递到判定块 715。 判定块 715 确定当前模式是否是几何划分模 式。如果是, 则将控制传递到功能块 720。否则, 将控制传递到功能块 730。
功能块 720 利用自适应几何划分字典执行用于几何划分模式块的熵解码, 并将控 制传递到功能块 725。功能块 725 利用自适应划分字典执行用于几何划分模式块的预测和 重构, 并将控制传递到结束块 799。功能块 730 执行常规 ( 传统 ) 熵解码, 并将控制传递到功能块 735。功能块 735 执 行常规 ( 传统 ) 预测和重构, 并将控制传递到结束块 799。
转到图 8, 通过参考标号 800 总地指示使用自适应几何划分编码画面数据的示例 性方法。在方法 800 中, 自适应几何划分字典基于划分边界的角度以及 / 或者其到该块中 所定义的点的距离。方法 800 包括开始块 805, 其将控制传递到功能块 810。功能块 810 选 择多个划分, 以便基于划分边界的角度以及 / 或者其到该块中所定义的点的距离来构造自 适应几何划分字典, 并将控制传递到功能块 815。功能块 815 利用自适应几何划分字典搜 索最佳几何预测, 并将控制传递到功能块 820。功能块 820 搜索用于常规 ( 即, 非几何 ) 编 码模式的最佳预测, 将用于常规编码模式的预测与几何预测进行比较以便 ( 例如基于率失 真 (RD) 成本 ) 选择最佳的预测, 并将控制传递到判定块 825。判定块 825 确定最佳预测是 否是利用几何预测模式获得的。如果是, 则将控制传递到功能块 830。否则, 将控制传递到 功能块 835。 功能块 830 利用自适应几何划分字典熵编码用于几何划分模式的语法元素, 并 将控制传递到结束块 899。功能块 835 执行常规 ( 传统 ) 熵编码, 并将控制传递到结束块 899。
转到图 9, 通过参考标号 900 来总地指示使用自适应几何划分编码画面数据的另 一示例性方法。在方法 900 中, 自适应几何划分字典基于先前编码区域的信息。方法 900 包括开始块 905, 其将控制传递到功能块 910。功能块 910 基于先前编码的 ( 多个 ) 区域的 信息, 例如基于为先前编码的 ( 多个 ) 其它区域选择的划分和 / 或选择的划分的统计等等, 来构造用于 ( 要被编码的 ) 当前块的自适应几何划分字典, 并将控制传递到功能块 915。 功 能块 915 利用自适应几何划分字典搜索最佳几何预测, 并将控制传递到功能块 920。 功能块 920 搜索用于常规 ( 即, 非几何 ) 编码模式的最佳预测, 将用于常规编码模式的预测与几何 预测进行比较以便 ( 例如基于率失真 (RD) 成本 ) 选择最佳的预测, 并将控制传递到判定块 925。判定块 925 确定最佳预测是否是利用几何预测模式获得的。如果是, 则将控制传递到 功能块 930。否则, 将控制传递到功能块 935。功能块 930 利用自适应几何划分字典熵编码 用于几何划分模式的语法元素, 并将控制传递到结束块 999。功能块 935 执行常规 ( 传统 ) 熵编码, 并将控制传递到结束块 999。
转到图 10, 通过参考标号 1000 来总地指示使用自适应几何划分编码画面数据的 另一示例性方法。在方法 1000 中, 自适应几何划分字典是用户定义的并被传送到解码器。 方法 1000 包括开始块 1005, 其将控制传递到功能块 1010。功能块 1010 基于用户输入来构 造用于 ( 要被编码的 ) 当前块的自适应几何划分字典, 并将控制传递到功能块 1015。功能 块 1015 将用户定义的字典发送到解码器, 并将控制传递到循环限制块 1020。循环限制块 1020 使用具有 1 到 ( 例如当前画面中的 ) 块数量 (#) 的范围的变量 I 在 ( 例如当前画面中 的 ) 块上开始循环, 并将控制传递到功能块 1025。 功能块 1025 利用自适应几何划分字典搜 索最佳几何预测, 并将控制传递到功能块 1030。功能块 1030 搜索用于常规 ( 即, 非几何 ) 编码模式的最佳预测, 将用于常规编码模式的预测与几何预测进行比较以便 ( 例如基于率 失真 (RD) 成本 ) 选择最佳的预测, 并将控制传递到判定块 1035。判定块 1035 确定最佳预 测是否是利用几何预测模式获得的。 如果是, 则将控制传递到功能块 1040。 否则, 将控制传 递到功能块 1045。功能块 1040 利用自适应几何划分字典熵编码用于几何划分模式的语法 元素, 并将控制传递到循环限制块 1050。功能块 1045 执行常规 ( 传统 ) 熵编码, 并将控制传递到循环限制块 1050。循环限制块 1050 结束循环, 将控制传递到结束块 1099。
转到图 11, 通过参考标号 1100 来总地指示使用自适应几何划分编码画面数据的 另一示例性方法。在方法 1100 中, 自适应几何划分字典 ( 即, 几何划分子集 ) 是从多个子 集 ( 每个子集是例如从默认字典获得的, 而所述默认字典是使用例如强力方案获得的 ) 中 选择的, 并且将该子集或者该子集的索引指示给解码器。方法 1100 包括开始块 1105, 其将 控制传递到功能块 1110。功能块 1110 从多个子集构造自适应几何划分字典 ( 即, 子集 ), 并将控制传递到功能块 1115。功能块 1115 指示所选择的几何划分子集或者指示所选择的 子集的索引, 并将控制传递到循环限制块 1120。循环限制块 1120 使用具有 1 到例如当前 画面中的块数量 (#) 的范围的变量 I 在 ( 例如当前画面中的 ) 块上开始循环, 并将控制传 递到功能块 1125。功能块 1125 利用自适应几何划分字典搜索最佳几何预测, 并将控制传 递到功能块 1130。功能块 1130 搜索用于常规 ( 即, 非几何 ) 编码模式的最佳预测, 将用于 常规编码模式的预测与几何预测进行比较以便 ( 例如基于率失真 (RD) 成本 ) 选择最佳预 测, 并将控制传递到判定块 1135。 判定块 1135 确定最佳预测是否是利用几何预测模式获得 的。如果是, 则将控制传递到功能块 1140。否则, 将控制传递到功能块 1145。功能块 1140 利用自适应几何划分字典熵编码用于几何划分模式的语法元素, 并将控制传递到循环限制 块 1150。功能块 1145 执行常规 ( 传统 ) 熵编码, 并将控制传递到循环限制块 1150。循环 限制块 1150 结束循环, 将控制传递到结束块 1199。 转到图 12, 通过参考标号 1200 来总地指示使用自适应几何划分编码画面数据的 另一示例性方法。在方法 1200 中, 几何划分模式是由解码器从所解码的残差中推断出的。 方法 1200 包括开始块 1205, 其将控制传递到功能块 1210。功能块 1210 利用默认几何划分 字典搜索最佳几何预测, 并将控制传递到功能块 1215。 功能块 1215 使用该最佳几何划分编 码当前块, 处理残差使得在解码器处从所解码的残差中仅能推断出所选择的划分, 并且将 控制传递到功能块 1220。功能块 1220 搜索用于常规 ( 即, 非几何 ) 编码模式的最佳预测, 将用于常规编码模式的预测与几何预测进行比较以便 ( 例如基于率失真 (RD) 成本 ) 选择 最佳的预测, 并将控制传递到判定块 1225。 判定块 1225 确定最佳预测是否是利用几何预测 模式获得的。如果是, 则将控制传递到功能块 1230。否则, 将控制传递到功能块 1240。功 能块 1230 熵编码用于选择的几何划分模式的残留系数, 并将控制传递到功能块 135。功能 块 1235 熵编码用于几何划分模式的、 除了划分索引之外的其它语法元素, 并将控制传递到 结束块 1299。功能块 1240 执行常规 ( 传统 ) 熵编码, 并将控制传递到结束块 1299。
这里, 给出了如何处理残差使得在解码器处从所解码的残差中仅能推断出所选择 的划分的一个示例 : 将划分信息嵌入到系数总和 M 中。如果划分索引为 n, 我们修改一些系 数, 使得 M% k = n, 其中, k 为对于编码器和解码器两者都已知的常数,%为模运算。处理 后的系数被传送到解码器, 并且解码器可以精确地重构相同的残差。 然后, 其可以推断出该 几何划分。
转到图 13, 通过参考标号 1300 总地指示使用自适应几何划分字典解码画面数据 的示例性方法。在方法 1300 中, 自适应几何划分字典基于划分边界的角度以及 / 或者其到 该块中所定义的点的距离。方法 1300 包括开始块 1305, 其将控制传递到功能块 1310。功 能块 1310 通过基于划分边界的角度以及 / 或者其到该块中预先定义的点的距离选择多个 划分来构造自适应几何划分字典, 并将控制传递到判定块 1315。 判定块 1315 确定当前预测
模式是否是几何预测模式。 如果是, 则将控制传递到功能块 1320。 否则, 将控制传递到功能 块 1325。功能块 1320 利用自适应几何划分字典执行熵解码以便解码用于几何划分模式的 语法元素, 并将控制传递到功能块 1325。功能块 1325 利用自适应几何划分字典执行用于 几何划分模式的预测和重构, 并将控制传递到结束块 1399。功能块 1330 执行常规 ( 传统 ) 熵编码, 并将控制传递到功能块 1335。功能块 1335 执行常规 ( 传统 ) 预测和重构, 并将控 制传递到结束块 1399。
转到图 14, 通过参考标号 1400 总地指示使用自适应几何划分字典解码画面数据 的另一示例性方法。在方法 1400 中, 自适应几何划分字典基于先前解码区域的信息。方法 1400 包括开始块 1405, 其将控制传递到功能块 1410。 功能块 1410 基于先前解码的 ( 多个 ) 区域的信息, 例如基于为先前编码的 ( 多个 ) 其它区域选择的划分和 / 或选择的划分的统 计等等, 来构造用于 ( 要被解码的 ) 当前块的自适应几何划分字典, 并将控制传递到判定块 1415。判定块 1415 确定当前预测模式是否是几何预测模式。如果是, 则将控制传递到功能 块 1420。否则, 将控制传递到功能块 1430。功能块 1420 利用自适应几何划分字典执行熵 解码以便解码用于几何划分模式的语法元素, 并将控制传递到功能块 1425。 功能块 1425 利 用自适应几何划分字典执行用于所述几何划分模式的预测和重构, 并将控制传递到结束块 1499。功能块 1430 执行常规 ( 传统 ) 熵编码, 并将控制传递到功能块 1435。功能块 1435 执行常规 ( 传统 ) 预测和重构, 并将控制传递到结束块 1499。
转到图 15, 通过参考标号 1500 总地指示使用自适应几何划分字典解码画面数据 的另一示例性方法。在方法 1500 中, 自适应几何划分字典在比特流中传送并且被解码器解 析。方法 1500 包括开始块 1505, 其将控制传递到功能块 1510。功能块 1510 从比特流中解 析用户定义的自适应几何划分字典, 并将控制传递到循环限制块 1515。 循环限制块 1515 使 用具有 1 到例如当前画面中的块数量 (#) 的范围的变量 I 在 ( 例如当前画面中的 ) 块上开 始循环, 并将控制传递到判定块 1520。判定块 1520 确定当前预测模式是否是几何预测模 式。如果是, 则将控制传递到功能块 1525。否则, 将控制传递到功能块 1535。功能块 1525 利用自适应几何划分字典执行熵解码以便解码用于几何划分模式的语法元素, 并将控制传 递到功能块 1530。功能块 1530 利用自适应几何划分字典执行用于所述几何划分模式的预 测和重构, 并将控制传递到循环限制块 1545。功能块 1535 执行常规 ( 传统 ) 熵编码, 并将 控制传递到功能块 1540。功能块 1540 执行常规 ( 传统 ) 预测和重构, 并将控制传递到循环 限制块 1545。循环限制块 1545 结束循环, 并将控制传递到结束块 1599。
转到图 16, 通过参考标号 1600 总地指示使用自适应几何划分字典解码画面数据 的另一示例性方法。在方法 1600 中, 自适应几何划分字典的索引在比特流中传送并且被 解码器解析。方法 1600 包括开始块 1605, 其将控制传递到功能块 1610。功能块 1610 解 析子集的索引以便选择正确的子集并构造自适应几何划分字典, 并将控制传递到循环限制 块 1615。循环限制块 1615 使用具有 1 到例如当前画面中的块数量 (#) 的范围的变量 I 在 ( 例如当前画面中的 ) 块上开始循环, 并将控制传递到判定块 1620。判定块 1620 确定当前 预测模式是否是几何预测模式。 如果是, 则将控制传递到功能块 1625。 否则, 将控制传递到 功能块 1635。功能块 1625 利用自适应几何划分字典执行熵解码以便解码用于几何划分模 式的语法元素, 并将控制传递到功能块 1630。 功能块 1630 利用自适应几何划分字典执行用 于所述几何划分模式的预测和重构, 并将控制传递到循环限制块 1645。 功能块 1635 执行常规 ( 传统 ) 熵编码, 并将控制传递到功能块 1640。功能块 1640 执行常规 ( 传统 ) 预测和重 构, 并将控制传递到循环限制块 1645。循环限制块 1645 结束循环, 并将控制传递到结束块 1699。
转到图 17, 通过参考标号 1700 总地指示使用自适应几何划分字典解码画面数据 的另一示例性方法。在方法 1700 中, 解码器从所解码的残差中推断出几何划分模式。方法 1700 包括开始块 1705, 其将控制传递到判定块 1710。判定块 1710 确定当前预测模式是否 是几何预测模式。如果是, 则将控制传递到功能块 1715。否则, 将控制传递到功能块 1730。 功能块 1715 执行熵解码以便解码残差系数, 从重构的残差中推断出划分索引, 并将控制传 递到功能块 1720。 功能块 1720 执行熵解码以便解码用于几何划分模式的其它语法元素, 并 将控制传递到功能块 1725。功能块 1725 利用自适应几何划分字典执行用于所述几何划分 模式的预测和重构, 并将控制传递到结束块。功能块 1730 执行常规 ( 传统 ) 熵编码, 并将 控制传递到功能块 1735。功能块 1735 执行常规 ( 传统 ) 预测和重构, 并将控制传递到结束 块 1799。
现在将描述本发明的许多伴随优点 / 特征中的一些, 其中的一些已经在上面提 及。例如, 一个优点 / 特征是一种具有使用自适应几何划分对画面中区域的画面数据进行 编码的编码器的装置, 其中, 响应于距离和角度中的至少一个来确定被用来编码该区域的 画面数据的几何划分子集。所述距离是从该区域内定义的点到划分边界测量的。所述角度 是相对于从该区域内的所定义的点到所述划分边界延伸的至少一条线而测量的。
另一优点 / 特征是具有上述编码器的装置, 其中, 所述区域内的所定义的点是所 述区域的中心, 以及响应于从所述区域的中心到划分边界的距离来确定所述几何划分子 集。
另一优点 / 特征是具有所述编码器的装置, 如上所述其中所述区域内的所定义的 点是所述区域的中心以及响应于从所述区域的中心到划分边界的距离来确定所述几何划 分子集, 其中, 使用距离步长和角度步长来对自适应几何划分的距离空间和角度空间进行 采样以便构造几何划分字典, 所述距离步长和角度步长是从所定义的点到所述划分边界的 距离的函数, 所述几何划分子集具有比所述几何划分字典少的几何划分。
另一优点 / 特征是具有所述编码器的装置, 如上所述, 其中所述区域内的所定义 的点是所述区域的中心以及响应于从所述区域的中心到划分边界的距离来确定所述几何 划分子集, 其中, 所述几何划分子集包括具有从所定义的点到所述划分边界的等于或小于 阈值距离的距离的几何划分。
另一优点 / 特征是具有如上所述的编码器的装置, 其中, 所述几何划分子集基于 所述区域和所述画面中先前编码的其它区域中的至少一个的先前编码信息。
另一优点 / 特征是具有所述编码器的装置, 如上所述, 其中所述几何划分子集基 于所述区域和所述画面中先前编码的其它区域中的至少一个的先前编码信息, 其中, 所述 几何划分子集基于为所述先前编码的其它区域选择的划分。
此外, 另一优点 / 特征是具有所述编码器的装置, 如上所述, 其中所述几何划分子 集基于为所述先前编码的其它区域选择的划分, 其中, 为所述区域选择的划分被外推以便 预测用于随后区域的划分, 并且用于编码随后区域的几何划分子集基于所预测的用于所述 随后区域的划分。此外, 另一优点 / 特征是具有所述编码器的装置, 如上所述, 其中所述几何划分子 集基于所述区域和所述画面中先前编码的其它区域中的至少一个的先前编码信息, 其中, 所述几何划分子集是基于为所述先前编码的其它区域选择的划分的统计而导出的。
而且, 另一优点 / 特征是具有所述编码器的装置, 如上所述, 其中所述几何划分子 集是基于为所述先前编码的其它区域选择的划分的统计而导出的, 其中, 所述画面被包含 在视频序列中, 使用与强力划分计算方案相对应的默认几何划分字典来编码所述视频序列 中的一组画面, 每个画面不具有所述区域, 为该组画面选择的划分的统计被用来构造用于 所述区域的所述几何划分子集, 所述子集具有比所述默认字典少的几何划分。
另外, 另一优点 / 特征是具有如上所述的编码器的装置, 其中, 对于所述自适应几 何划分可用的所述几何划分子集是用户定义的并且在作为结果的比特流中显式地发信号 通知。
此外, 另一优点 / 特征是具有如上所述的编码器的装置, 其中, 所述子集是多个子 集之一, 其中, 所述子集以及所述多个子集一起表示小于所有可能划分, 所述多个子集是预 先存储的, 并且其中所述编码器使用一个或多个高级语法元素向解码器发送索引, 所述索 引指示要用于解码的多个子集中的具体一个或多个子集。
此外, 另一优点 / 特征是具有如上所述的编码器的装置, 其中, 在比特流中向解码 器传送供解码器在解码至少所述区域的画面数据时使用所述几何划分子集。
而且, 另一优点 / 特征是具有如上所述的编码器的装置, 其中, 所述编码器基于率 失真准则从默认几何划分字典中选择用于所述区域的划分, 执行几何运动补偿以便获得所 述区域的残差, 以及重构所述残差, 使得仅仅能够在解码器处从所述残差的随后重构中推 断出从所述默认几何划分字典中的多个可用划分中选择的划分。
基于这里的教导, 本领域普通技术人员可以容易确定本原理的这些和其它特征和 优点。 应理解本原理的教导可以以硬件、 软件、 固件、 专用处理器、 或其组合的各种形式来实 现。
更优选地, 本原理的教导被实现为硬件与软件的组合。 此外, 软件可以实现为有形 地体现在程序存储单元上的应用程序。 应用程序可以被上载到包括任何适当架构的机器并 由该机器执行。优选地, 在具有诸如一个或多个中央处理单元 (“CPU” )、 随机存取存储器 (“RAM” )、 以及输入 / 输出 (“I/O” ) 接口等的硬件的计算机平台上实现该机器。计算机 平台还可以包括操作系统和微指令代码。这里描述的各种处理与功能可以是可能由 CPU 执 行的微指令代码的一部分或是应用程序的一部分、 或者是其任何组合。 另外, 各种其它外设 单元可以连接到计算机平台, 如附加数据存储单元以及打印单元。
还应理解, 由于在附图中描绘的一些组成系统组件和方法优选地以软件实现, 因 此这些系统组件或处理功能块之间的实际连接可能取决于本原理被编程的方式而有所不 同。给出这里的教导, 本领域普通技术人员将能够预期本原理的这些和类似的实现方式或 配置。
尽管这里已经参考附图描述了示例实施例, 应理解本原理不限于那些确切的实施 例, 并且本领域普通技术人员可以在其中进行各种改变和修改, 而不偏离本原理的范围和 精神。所有这些改变和修改意在被包括在所附权利要求阐述的本原理的范围之内。