视频解码方法和视频解码设备的制造方法

文档序号:9601159阅读:374来源:国知局
视频解码方法和视频解码设备的制造方法
【专利说明】
[0001] 本申请是向中国知识产权局提交的申请日为2014年01月06日的标题为"用于 对条带段进行熵编码的方法及其设备以及用于对条带段进行熵解码的方法及其设备"的第 201480012100. 4号申请的分案申请。
技术领域
[0002] 本发明涉及用于视频编码和解码的熵编码和熵解码。
【背景技术】
[0003] 随着用于再现和存储高分辨率或高质量视频内容的硬件的开发和提供,对于用于 有效地对高分辨率或高质量视频内容进行编码或解码的视频编解码器的需求正在增加。根 据传统的视频编解码器,基于具有预定尺寸的宏块,根据受限的编码方法来对视频进行编 码。
[0004] 通过使用频率变换将空间域的图像数据变换为频域的系数。为了快速地执行频 率变换,视频编解码器将图像划分为均具有预定尺寸的块,对每个块执行DCT变换,并以块 为单位对频率系数进行编码。与空间域的图像数据相比,频域的系数可更容易被压缩。具 体地,由于空间域的图像像素值通过视频编解码器的帧间预测或帧内预测被表示为预测误 差,因此当对预测误差执行频率变换时,大量数据可被变换为零(0)。视频编解码器通过用 小量数据代替连续并重复产生的数据来减少数据量。
[0005] 执行熵编码以对通过视频编码而产生的符号的比特串进行压缩。基于算术编码的 熵编码最近已被广泛使用。为了执行基于算术编码的熵编码,将符号数字化为比特串,并对 该比特串执行基于上下文的算术编码。

【发明内容】

[0006] 技术问题
[0007] 本发明提供用于视频编码和解码的考虑条带段的属性而使用附近数据的上下文 信息的熵编码方法和熵解码方法。
[0008] 解决方案
[0009] 根据各种示例性实施例的视频熵解码方法包括:确定用于从比特流获得的最大编 码单元的二进制位串和二进制位索引;通过将确定的二进制位串与二进制位索引中的可分 配给语法元素的二进制位串进行比较来确定所述语法元素的值;当所述语法元素是所述最 大编码单元中的最后一个语法元素,在包括所述最大编码单元的画面中可包括非独立条带 段,并且所述最大编码单元是条带段中的最后一个最大编码单元时,存储用于最大编码单 元的上下文变量;通过使用确定的所述语法元素的值来恢复所述最大编码单元的符号。 [0010] 有益效果
[0011] 如果基于熵编码/解码可在当前画面中使用非独立条带段,则在完成对每个条带 段的最后一个最大编码单元(LCU)的熵编码(解码)之后,可存储上下文变量。因此,虽然 先前条带段是独立条带段,但是可从被先前编码的独立条带段的最后一个LCU的上下文变 量获得对于下一个非独立条带段而言必需的上下文变量的初始变量。
[0012] 此外,由于指示比子集偏移小1的数字的信息通过条带段被提供以有效地通知用 于熵编码/解码的上下文变量的同步点,因此条带段的数据大小可被减小。
【附图说明】
[0013] 图la是示出根据各种示例性实施例的视频熵编码设备的框图。
[0014] 图lb是根据各种示例性实施例的视频熵编码方法的流程图。
[0015] 图2a是示出根据各种示例性实施例的视频熵解码设备的框图。
[0016] 图2b是根据各种示例性实施例的视频熵解码方法的流程图。
[0017] 图3是示出画面中的并行块(tile)和最大编码单元(LCU)的示图。
[0018] 图4是示出画面中的条带段和IXU的示图。
[0019] 图5是根据示例性实施例的上下文自适应二进制算术编码(CABAC)解析操作的流 程图。
[0020] 图6a是用于解释使用存储的上下文变量进行熵解码的示图。
[0021 ]图6b是根据示例性实施例的在CABAC解析操作中的存储上下文变量的操作的详 细流程图。
[0022] 图7是示出根据示例性实施例的条带段头的语法的示图。
[0023] 图8是根据示例性实施例的基于具有树结构的编码单元的视频编码设备的框图。
[0024] 图9是根据示例性实施例的基于具有树结构的编码单元的视频解码设备的框图。
[0025] 图10是用于解释根据本发明的示例性实施例的编码单元的概念的示图。
[0026] 图11是根据本发明的示例性实施例的基于编码单元的图像编码器的框图。
[0027] 图12是根据本发明的示例性实施例的基于编码单元的图像解码器的框图。
[0028] 图13是示出根据本发明的示例性实施例的根据深度的较深层编码单元以及分区 的示图。
[0029] 图14是用于解释根据本发明的示例性实施例的编码单元和变换单元之间的关系 的示图。
[0030] 图15是用于解释根据本发明的示例性实施例的与编码深度相应的编码单元的编 码信息的示图。
[0031] 图16是示出根据本发明的示例性实施例的根据深度的较深层编码单元的示图。
[0032] 图17至图19是用于解释根据本发明的示例性实施例的编码单元、预测单元和变 换单元之间的关系的示图。
[0033] 图20是用于解释根据表1的编码模式信息的编码单元、预测单元和变换单元之间 的关系的不图。
[0034] 图21是示出根据示例性实施例的存储程序的盘的物理结构的示图。
[0035] 图22是示出用于通过使用盘来记录和读取程序的盘驱动器的示图。
[0036] 图23是示出用于提供内容分配服务的内容供应系统的整体结构的示图。
[0037] 图24和图25是不出根据不例性实施例的应用了根据本发明的视频编码方法和视 频解码方法的移动电话的外部结构和内部结构的示图。
[0038]图26是示出根据本发明的应用通信系统的数字广播系统的示图。
[0039] 图27是示出根据本发明的示例性实施例的使用视频编码设备和视频解码设备的 云计算系统的网络结构的示图。
[0040] 最佳实施方式
[0041]根据各种示例性实施例的一种视频熵解码方法包括:确定用于从比特流获得的最 大编码单元的二进制位串和二进制位索引;通过将确定的二进制位串与二进制位索引中的 能够分配给语法元素的二进制位串进行比较来确定所述语法元素的值;当所述语法元素是 所述最大编码单元中的最后一个语法元素,在包括所述最大编码单元的画面中能够包括非 独立条带段,并且所述最大编码单元是条带段中的最后一个最大编码单元时,存储用于所 述最大编码单元的上下文变量;通过使用确定的所述语法元素的值来恢复所述最大编码单 元的符号。
[0042]根据各种示例性实施例的存储用于所述最大编码单元的上下文变量的步骤可包 括:当在所述画面中能够包括非独立条带段时,不论所述条带段是独立条带段还是非独立 条带段,存储用于所述最大编码单元的上下文变量。
[0043]根据各种示例性实施例的视频熵解码方法还可包括:将存储的上下文变量用于对 所述非独立条带段的第一个最大编码单元的上下文变量进行熵解码,其中,所述非独立条 带段位于所述画面中所包括的多个条带段中并且紧接在所述条带段之后。
[0044]根据各种示例性实施例的视频熵解码方法还可包括:基于从比特流的画面参数集 获得的第一信息来确定在所述画面中是否能够包括非独立条带段;基于从关于所述最大编 码单元的数据获得的第二信息来确定所述最大编码单元是否是所述条带段中的最后一个 最大编码单元,其中,关于所述最大编码单元的数据被包括在比特流的与多个条带段相应 的数据中;从关于所述最大编码单元的数据获得二进制位串。
[0045]根据各种示例性实施例的视频熵解码方法还可包括:基于从比特流的条带段头获 得的第三信息来确定所述条带段中包括的子集的入口点的数量;通过使用偏移和由第四信 息指示的数字来确定每个入口点的位置,其中,偏移是比由第四信息指示的数字大1的数 字,第四信息是从比特流的条带段头获得的,并且第四信息指示根据每个入口点的偏移,其 中,当在所述画面中所包括的条带段中能够包括并行块,或者能够针对所述画面中所包括 的最大编码单元的上下文变量执行同步操作时,入口点的数量和入口点的位置被确定。
[0046]根据各种示例性实施例的一种视频熵编码方法包括:产生通过对最大编码单元进 行编码而确定的符号的比特串;根据与所述符号相应的语法元素值的每个二进制位索引来 确定上下文变量;基于所述语法元素的上下文值来确定指示语法元素值的二进制位串;当 所述语法元素是所述最大编码单元中的最后一个语法元素,在包括所述最大编码单元的画 面中能够包括非独立条带段,并且所述最大编码单元是条带段中的最后一个最大编码单元 时,存储用于所述最大编码单元的上下文变量。
[0047]根据各种示例性实施例的存储用于所述最大编码单元的上下文变量的步骤可包 括:当在所述画面中能够包括非独立条带段时,无论所述条带段是独立条带段还是非独立 条带段,存储用于所述最大编码单元的上下文变量。
[0048]根据各种示例性实施例的视频熵解码设备包括:上下文初始化器,确定用于从比 特流获得的最大编码单元的二进制位串和二进制位索引,并通过将确定的二进制位串与二 进制位索引中的能够分配给语法元素的二进制位串进行比较来确定所述语法元素的值;上 下文存储单元,当所述语法元素是最大编码单元中的最后一个语法元素,在包括所述最大 编码单元的画面中能够包括非独立条带段,并且所述最大编码单元是条带段中的最后一个 最大编码单元时,存储用于所述最大编码单元的上下文变量;符号恢复单元,通过使用确定 的所述语法元素的值来恢复所述最大编码单元的符号。
[0049] 根据各种示例性实施例的一种视频熵编码设备包括:二值化器,产生通过对最大 编码单元执行编码而确定的符号的比特串;二进制位串确定器,根据与所述符号相应的语 法元素值的每个二进制位索引来确定上下文值,并基于所述语法元素的上下文变量来确定 指示语法元素值的二进制位串;上下文存储单元,当所述语法元素是所述最大编码单元中 的最后一个语法元素,在包括所述最大编码单元的画面中能够包括非独立条带段,并且所 述最大编码单元是条带段中的最后一个最大编码单元时,存储用于所述最大编码单元的上 下文变量。
[0050] 根据各种示例性实施例的一种包含有当被计算机运行时执行所述视频熵解码方 法的程序的计算机可读记录介质。
[0051] 根据各种示例性实施例的一种包含有当被计算机运行时执行所述视频熵编码方 法的程序的计算机可读记录介质。
【具体实施方式】
[0052] 将参照图la至图7解释根据各种示例性实施例的基于条带段的熵编码方法和基 于条带段的熵解码方法。此外,将参照图8至图20解释根据可应用熵编码方法和熵解码方 法的各种示例性实施例的基于具有树结构的编码单元的视频编码方法和视频解码方法。此 外,将参照图21至图27解释可应用视频编码方法和视频解码方法的各种示例性实施例。在 下文中,术语"图像"可表示静止图像或运动图像(即,视频本身)。
[0053] 图la是根据各种示例性实施例的视频熵编码设备10的框图。
[0054] 根据各种示例性实施例的视频熵编码设备10包括二值化器12、二进制位串确定 器14和上下文存储单元16。
[0055] 视频熵编码设备10可对根据最大编码单元(LCU)编码的符号执行熵编码。视频 熵编码设备10可存储对LCU执行编码的视频编码器(未示出)。
[0056] 为了便于解释,现在将详细解释包括用于对LCU执行编码并产生符号的视频编码 器(未示出)的视频熵编码设备10所使用的处理。然而,将理解,视频熵编码设备10不限 于直接包括视频编码器(未示出)的结构,并且视频熵编码设备10可接收由外部编码设备 编码的符号。
[0057] 根据各种示例性实施例的视频编码处理可被划分为源编码处理和熵编码处理,其 中,源编码处理使由于图像数据的时空相似性而导致的冗余数据最小化,熵编码处理再次 使通过源编码处理而产生的数据的比特串中的冗余最小化。根据示例性实施例的视频熵编 码设备10根据块对构成视频的画面中的每个画面执行源编码,并产生编码符号。源编码包 括以块为单位对空间域中的视频数据执行帧内预测/帧间预测、变换和量化的处理。作为 源编码的结果,可产生根据块的编码符号。编码符号的示例可包括残差分量的量化后的变 换系数、运动矢量、帧内模式属性、帧间模式属性和量化参数。
[0058] 根据示例性实施例的熵编码可被划分为将符号转换为比特串的二值化处理以及 对比特串执行基于上下文的算术编码的算术编码处理。上下文自适应二进制算术编码 (CABAC)被广泛地用作执行基于上下文的算术编码的编码方法。根据基于上下文的算术编 码/解码,符号比特串中的每个比特可以是每个二进制位(bin),每个比特位置可被映射到 二进制位索引。比特串的长度(即,二进制位的长度)可根据符号值而变化。对于基于上 下文的算术编码/解码,需要用于确定符号的上下文的上下文建模。
[0059] 对于上下文建模,需要针对符号比特串的每个比特位置(即,针对每个二进制位 索引)重新更新上下文。术语"上下文建模"是指分析每个二进制位是〇还是1的概率的 处理。可以以块为单位来反复执行通过以下操作来更新上下文的处理:将通过根据比特对 新块的每个符号的概率进行分析而获得的结果反映到当前上下文。为每个二进制位匹配概 率的概率表可被提供作为包含这种上下文建模的结果的信息。根据示例性实施例的熵编码 概率信息可以是包含上下文建模的结果的信息。
[0060] 因此,一旦上下文建模信息(即,熵编码概率信息)被获得,就可通过基于熵编码 概率信息的上下文将码分配给块符号的二值化后的比特串中的每个比特来执行熵编码。
[0061] 此外,由于熵编码涉及基于上下文的算术编码/解码,因此可以以块为单位来更 新符号码上下文信息,并且,由于通过使用更新后的符号码上下文信息来执行熵编码,因此 压缩率可被提高。
[0062] 根据本发明的各种示例性实施例的视频编码方法不应被解释为仅限于对作为数 据单元的"块"所执行的视频编码方法,还可被应用于各种数据单元。
[0063] 为了提高图像编码效率,图像被划分为均具有预定尺寸的块,然后被编码。块可具 有完美的方形或矩形形状或者任意几何形状。本示例性实施例不限于具有预定尺寸的数据 单元。根据示例性实施例的块可以是具有树结构的编码单元中的LCU、编码单元、预测单元 或变换单元。下面将参照图8至图20来解释基于根据树结构的编码单元的视频编码/解 码方法。
[0064] 以光栅扫描方向来对画面的块进行编码。
[0065] 视频熵编码设备10可将画面划分为一个或更多个并行块,每个并行块可包括画 面的块之中的沿光栅方向排列的块。可将画面划分为以下并行块:被划分为一列或更多列 的并行块、被划分为一行或更多行的并行块、或者被划分为一列或更多列和一行或更多行 的并行块。每个并行块可将空间域划分为子域。为了单独地对每个子域进行编码,视频熵 编码设备10可以以并行块为单位单独地执行编码。
[0066] 由于每个条带段包括沿光栅方向排列的块,因此视频熵编码设备10可通过沿水 平方向划分画面来产生条带段。画面可被划分为一个或更多个条带段。每个条带段的数据 可通过一个网络适应层(NAL)单元来发送。
[0067] 根据示例性实施例的视频熵编码设备10可对条带段执行编码。根据示例性实施 例的视频熵编码设备10可通过顺序地对每个条带段中包括的块执行编码来根据块产生编 码符号。每个条带段中的块的编码数据可被包括在一个NAL单元中,并可通过所述一个NAL 单元来发送。每个并行块可包括至少一个条带段。如果有必要,每个条带段可包括至少一 个并行块。
[0068] 此外,条带段可被分类为非独立条带段和独立条带段。
[0069] 如果当前条带段是非独立条带段,则可执行画面内预测,其中,画面内预测参考在 当前条带段之前被编码的先前条带段的编码符号。此外,在当前条带段是非独立条带段时, 可执行非独立熵编码,其中,非独立熵编码参考在当前条带段之前被编码的先前条带段的 熵信息。
[0070] 如果当前条带段是独立条带段,则不执行参考先前条带段的画面内预测,并且不 参考先前条带段的熵信息。
[0071] 根据示例性实施例的一个画面可包括一个独立条带段以及按光栅扫描顺序在独 立条带段之后的至少一个非独立条带段。一个独立条带段可以是一个条带。
[0072] 根据示例性实施例的视频熵编码设备10可独立于其它并行块对每个并行块单独 地执行编码。视频熵编码设备10可根据并行块顺序地对当前并行块中包括的LCU进行编 码。
[0073] 此外,根据示例性实施例的视频熵编码设备10可根据条带段对当前条带段的LCU进行编码。可按照当前并行块的编码顺序对当前条带段中包括的LCU之中的包括在预定并 行块中的LCU进行编码。
[0074] 如果当前条带段的所有LCU属于当前并行块,则根据示例性实施例的视频熵编码 设备10可在当前并行块中按光栅扫描顺序对当前条带段中包括的多个LCU进行编码。在 此情况下,由于当前条带段没有横跨当前并行块的边界,因此当前条带段的LCU没有越过 当前并行块的边界。在此情况下,根据示例性实施例的视频熵编码设备10可顺序地对每个 并行块中包括的至少一个条带段执行编码,并可按光栅扫描顺序对每个条带段中包括的多 个块进行编码。
[0075] 此外,即使当当前条带段包括至少一个并行块时,视频熵编码设备10仍可按当前 并行块中的LCU的光栅扫描顺序对当前条带段中包括的LCU之中的属于当前并行块的LCU 执行编码。根据示例性实施例的视频熵编码设备10可顺序地对条带段执行编码。因此,根 据示例性实施例的视频熵编码设备10可通过顺序地对条带段执行编码并顺序地对每个条 带段中包括的块执行编码来根据块产生编码符号。视频熵编码设备10可以以每个条带段 的块为单位来执行帧内预测、帧间预测、变换、环路滤波、样点自适应偏移(SA0)补偿和量 化。
[0076] 为了对在源编码处理期间产生的编码符号(例如,帧内样点、运动矢量和编码模 式信息)执行预测编码,可执行画面内预测。当画面内预测被执行时,可对当前编码符号与 先前编码符号之间的差值进行编码,而不是对当前编码符号进行编码。此外,可对当前样点 与邻近样点之间的差值进行编码,而不是对当前样点进行编码。
[0077] 此外,为了对在熵编码处理期间产生的熵上下文信息或码上下文信息执行预测编 码,可执行非独立熵编码。当非独立熵编码被执行并且当前熵信息和先前熵信息相同时,可 省略对当前熵信息的编码。
[0078] 然而,由于视频熵编码设备10单独地对每个并行块进行编码,因此可不在属于不 同并行块的LCU之间执行画面内预测和非独立熵编码。
[0079]视频熵编码设备10可将指示条带段的可用性或者条带段的属性的信息记录在各 种编码单元的头(诸如序列参数集(SPS)、画面参数集(PPS)和条带段头)中。
[0080] 例如,视频熵编码设备10可产生包括指示当前条段是否是当前画面中的初始条 带段的信息的条带段头。
[0081] 关于当前条带段所属于的当前画面的各种基本信息可被包含在PPS中,并可通过 PPS被发送。具体地,PPS可包括关于当前画面是否可包括非独立条带段的信息。因此,当 PPS中包含指示非独立条带段在当前画面中被使用的信息时,视频熵编码设备10可将指示 当前条带段是否是使用先前条带段的条带头信息的非独立条带段的信息包括在当前条带 段头中。
[0082] 相反,当当前画面的PPS中包括指示非独立条带段在当前画面中未被使用的信息 时,指示当前条带段是否为非独立条带段的信息不被包括在当前条带段头中。
[0083] 此外,当当前条带段不是初始条带段时,视频熵编码设备10可将指示当前条带段 是否是非独立条带段的信息添加到条带段头。
[0084] 也就是说,当当前画面的PPS中包括指示非独立条带段在当前画面中被使用的信 息,并且当前条带段头中包括指示当前条带段不是初始条带段的信息时,还可将指示当前 条带段是否是非独立条带段的信息添加到当前条带段头。根据示例性实施例的初始条带段 必须是独立条带段。因此,当当前条带段是初始条带段时,可省略指示当前条带段是否是非 独立条带段的信息。因此,视频熵编码设备10可将指示当前条带段是否是初始条带段的信 息添加到用于初始条带段的条带段头,然后可将关于当前条带段的基本信息添加到条带段 头,并可发送结果信息。
[0085] 因此,当非独立条带段可在当前画面中被使用,并且当前条带段不是初始条带段 时,还可将指示当前条带段是否是非独立条带段的信息添加到当前条带段头。
[0086] 然而,当当前条带段是非独立条带段,而不是初始条带段时,关于条
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1