数据编码和解码的制作方法

文档序号:10494753阅读:443来源:国知局
数据编码和解码的制作方法
【专利摘要】一种数据编码方法,包括将数据值的阵列编码为数据集和用于未由所述数据集编码的值的转义码,转义码包括前缀部分和非一元编码后缀部分,所述非一元编码后缀部分具有按位计的长度,根据对于至少一些由前缀部分编码的值使得所述非一元编码后缀部分的长度大于所述前缀部分按位计的长度的关系,所述非一元编码后缀部分的长度取决于由所述前缀部分编码的值。
【专利说明】
数据编码和解码
[000。相关申请交叉引用
[0002] 本申请要求分别于2014年3月5日和2013年12月23日向英国知识产权局提交的 GB1403854.1和GB1322947.1的在先申请日的权利,将其运两个申请的全部内容通过引证结 合于此。
技术领域
[0003] 本公开设及数据编码和解码。
【背景技术】
[0004] 在本文中提供的"背景"描述是为了总体上呈现本公开的上下文。就其在此背景部 分描述的程度而言,目前署名的发明人的工作W及申请时未另有资格作为现有技术的描述 的方面,既没有明确地也没有隐含地承认作为与本公开的相对的现有技术。
[0005] 存在若干种视频数据压缩和解压缩系统,其设及将视频数据变换成频域表示,量 化频域系数,然后对量化的系数施加某种形式的赌编码。
[0006] 在本上下文中,可W认为赌表示数据符号或者符号序列的信息内容。赌编码的目 的是使用(理想地)表示数据符号序列的信息内容所必需的最小数目的编码数据位W无损 方式编码数据符号序列。实际上,赌编码用于编码量化系数,使得经编码的数据(在其位数 方面)小于原始量化系数的数据大小。更高效的赌编码过程对于相同的输入数据大小给出 较小的输出数据大小。
[0007] -种用于赌编码视频数据的技术是所谓的CABAC(上下文自适应二进制算术编码) 技术。

【发明内容】

[000引本公开提供了数据解码装置,包括:解码器,被配置为将输入编码数据值解码为具 有位深的解码数据值,输入编码数据值被编码为数据集,和用于未由数据集编码的值的转 义码,转义码包括前缀部分和非一元编码后缀部分,前缀部分具有W最大前缀长度封顶的 前缀长度,该最大前缀长度取决于数据值的位深,非一元编码后缀部分具有按位计的长度, 根据对于至少一些由前缀部分编码的值,使得非一元编码后缀部分的长度大于前缀部分的 按位计的长度的关系,非一元编码后缀部分的长度由前缀部分编码的值。
[0009] 在所附权利要求中限定了另外的相应的方面及特征。
[0010] 应理解,前述的一般描述及之后的详细描述为示例性的,而非限制本公开。
【附图说明】
[0011] 将容易获得本发明的更全面理解W及本发明伴随的许多优点,因为运些在结合附 图进行考虑时参照实施例的W下描述将变得更好理解,其中:
[0012] 图1示意性地示出了使用视频数据压缩和解压缩的音频/视频(AA)数据传输和接 收系统;
[0013] 图2示意性地示出了利用视频数据解压缩的视频显示系统;
[0014] 图3示意性地示出了利用视频数据压缩和解压缩的音频/视频存储系统;
[0015] 图4示意性地示出了使用视频数据压缩的摄影机;
[0016] 图5提供视频数据压缩和解压缩装置的示意图;
[0017] 图6示意性地示出了预测图像的生成;
[001引图7示意性地示出了最大编码单元化CU);
[0019] 图8示意性地示出了四个编码单元(CU)的组;
[0020] 图9和图10示意性地示出了细分为更小编码单元的图8的编码单元;
[0021] 图11示意性地示出了预测单元(PU)的阵列;
[0022] 图12示意性地示出了变换单元(TU)的阵列;
[0023] 图13示意性地示出了部分编码的图像;
[0024] 图14示意性地示出了可能的预测方向的组;
[0025] 图15示意性地示出了预测模式的组;
[00%]图16示意性地示出了之字形扫描;
[0027] 图17示意性地示出了 CABAC赌编码器;
[0028] 图18是示意性地示出编码技术的流程图;
[0029] 图19是示出编码技术的示意性流程图;
[0030] 图20是示出编码技术的示意性流程图;W及 [0031 ]图21是示出编码技术的示意性流程图。
【具体实施方式】
[0032] 现在参考附图,提供图1-4W给出将在下文结合实施方式描述的利用压缩及/或解 压缩装置的装置或系统的示意图。
[0033] 下文将描述的所有数据压缩和/或解压缩装置可W W硬件、在诸如通用计算机、如 专用集成电路(ASIC)或者现场可编程口阵列(FPGA)的可编程硬件或其组合的通用数据处 理装置上运行的软件实施。在由软件和/或固件实施实施方式的情况下,应当理解,运样的 软件和/或固件,W及通过其存储,或W其他方式提供运种软件和/或固件的非易失性机器 可读数据存储介质被认为是实施方式。
[0034] 图1示意性地示出了利用视频数据压缩和/或解压缩的音频/视频数据传输和接收 系统。
[0035] 将输入音频/视频信号10提供给视频数据压缩装置20,视频数据压缩装置2压缩音 频/视频信号10的至少视频分量,W用于沿着诸如、、如电缆、光纤、无线连接等的传输路径 30传输。解压缩装置40处理经压缩的信号W提供输出音频/视频信号50。对于返回路径,压 缩装置60压缩音频/视频信号,用于沿着传输路径30传输到解压缩装置70。
[0036] 因此压缩装置20和解压缩装置70可W形成传输链路的一个节点。解压缩装置40和 解压缩装置60可W形成传输链路的另一节点。当然,在传输链路为单向的情况下,仅节点中 的一个需要压缩装置而另一节点仅需要解压缩装置。
[0037] 图2示意性地示出了使用视频数据解压缩的视频显示系统。具体地,经压缩的音 频/视频信号100由解压缩装置110处理W提供经解压缩的信号,经解压缩的信号可W在显 示器120上显示。解压缩装置110可W实施为显示器120的组成部分,例如,与显示设备设置 在同一壳体内。替换地,解压缩装置110可W配置为(例如)所谓的机顶盒(STB),注意,表达 "机顶"并非表示该盒需要位于相对于显示器120的任何特定方位或位置;其仅为本领域中 使用的术语,W指示作为外围设备可连接至显示器的设备。
[0038] 图3示意性地示出了使用视频数据压缩和解压缩的音频/视频存储系统。将输入音 频/视频信号130提供给压缩装置140,压缩装置140生成经压缩的信号,该经压缩的信号由 诸如磁盘设备、光盘设备、磁带设备、诸如半导体存储器的固态存储设备或者其他存储器设 备的存储设备150存储。对于重放,从存储设备150读取经压缩的数据并且将该数据传送到 用于解压缩的解压缩装置160W提供输出音频/视频信号170。
[0039] 应当理解,经压缩的或者编码的信号,W及存储介质或者存储该信号的数据载体 被认为是实施方式。
[0040] 图4示意性地示出了使用视频数据解压缩的摄影机。在图4中,图像获取设备180, 如电荷禪合装置(CCD)图像传感器和相关的控制与读出电子设备,生成视频信号,该视频信 号被传送至压缩装置190。一个扩音器(或多个扩音器)200生成传送至压缩装置190的音频 信号。压缩装置190生成待存储和/或传输(通常示出为示意性阶段220)的经压缩的音频/视 频信号210。
[0041] 下文描述的技术主要设及视频数据压缩。应当理解,许多现有技术可与即将描述 的视频数据压缩技术相结合用于音频数据压缩,W生成经压缩的音频/视频信号。因此,将 不提供对音频数据压缩的单独讨论。还应理解,与视频数据相关联的数据速率,尤其是广播 质量的视频数据,通常比与(无论是压缩或者未压缩)音频数据相联的数据速率高很多。因 此,应当理解,未经压缩的音频数据可伴随经压缩的视频数据形成经压缩的音频/视频信 号。应进一步理解,虽然本实例(图1-图4中示出的)设及音频/视频数据,但下文将描述的技 术可W在仅处理(也就是说,压缩、解压缩、储存、显示及/或传输)视频数据的系统中获得使 用。也就是说,实施方式能够应用于视频数据压缩,而完全不必具有任何相关的音频数据处 理。
[0042] 图5提供了在控制器345的控制下操作的视频数据压缩和解压缩装置的示意图。
[0043] 输入视频信号的连续图像被提供至加法器310和图像预测器320。将在下文参考图 6更详细地描述图像预测器320。事实上,加法器310执行减法(负加法)操作,因为其在V'输 入端接收输入视频信号300并且在输入端接收图像预测器320的输出,因而从输入图像 中减去预测图像。结果是生成表示实际图像与投影图像之间差的所谓残差图像信号330。
[0044] 生成残差图像信号的原因之一如下。将描述数据编码技术,也就是说将应用于残 差图像信号的技术,在待编码的图像中存在较少"能量"时趋向于更高效地工作。此处,术语 "高效地"指少量经编码的数据的生成;对于特定的图像质量水平,期望生成实际上尽可能 少的数据(并且认为"高效地")。提及的残差图像中的"能量"指残差图像中含有的信息量。 如果预测图像与实际图像一致,两者之间的差(也就是残差图像)将含有零信息(零能量)并 且非常容易编码成少量的编码数据。通常,如果可W使预测过程相当好地工作,预期残差图 像数据将含有比输入图像少的信息(少的能量)并且因而更容易编码成少量的经编码的数 据。
[0045] 残差图像数据330被提供给变换单元340,变换单元340生成残差图像数据的离散 余弦变换(DCT)表示。DCT技术本身是公知的并且此处将不详细描述。然而,下文将更详细地 描述在本装置中使用的技术的方面,具体地,设及施加 DCT运算的不同数据块的选择。下文 将参考图7-图12讨论运些。
[0046] 应注意在一些实施方式中,使用离散正弦变换(DST)而非DCT。在其他实施方式中, 可W不使用变换。其可W选择性地进行,因而实际上例如在"跳过变换"的命令或模式的控 制下,绕过了变换阶段。
[0047] 变换单元340的输出,也就是说每个经变换的图像数据块的一组变换系数,被提供 给量化器350。从简单地乘W量化比例因数,到在量化参数的控制下的复杂查找表的应用范 围内,各种量化技术在视频数据压缩的领域中是已知的。总的目标是双重的。首先,量化过 程减少了变换数据的可能值的数目。其次,量化过程可W增加变换数据的值为零的可能性。 运两者可W使将在下文描述的赌编码过程更有高效地作用于产生少量经压缩的视频数据。
[0048] 通过扫描单元360施加数据扫描处理。扫描出的目的是对量化变换的数据重新排 序,从而将尽可能多的非零量化变换系数收集在一起,并且当然,由此将尽可能多的零值系 数收集在一起。运些特征可W使得所谓的行程长度编码(run-1 ength coding)或类似的技 术高效地应用。所W,扫描处理设及从经量化的变换数据选择系数,并且具体地,根据"扫描 顺序"从对应于已经变换和量化的图像数据的块的系数块中选择系数,使得(a)-次选择所 有系数作为扫描的一部分;并且(b)扫描趋向于提供期望的重新排序。下文将描述用于选择 扫描顺序的技术。可W倾向于给出有用结果的一个扫描顺序实例是所谓的之字形扫描顺 序。
[0049] 然后,将扫描的系数传送至赌编码器化E)370。再次,可使用各种类型的赌编码。下 文将描述的两种实例是所谓的CABAC(上下文自适应二进制算术编码)系统和所谓的CA化C (上下文自适应可变长度编码)系统的变形。总体而言,认为CABAC提供更佳的效率,并且在 一些研究中已经显示,与CA化C相比,对于相当的图像质量,提供编码输出数据的量减少10-20%。然而,认为CAVLC表现出(在其实施方面)比CABAC低得多的复杂水平。将参考下文的图 17讨论CABAC技术。
[0050] 应注意,扫描过程和赌编码过程示出为单独的过程,但事实上,可W组合或者一起 处理。也就是说,将数据读入赌编码器,可W W扫描顺序进行。相应的考虑适于下文将描述 的相应的反向程序。
[0051] 赌编码器370的输出,连同例如限定预测器320产生预测图像的方式的另外的数据 (上述的和/或下文讨论的),提供经压缩的输出视频信号380。
[0052] 然而,因为预测器320自身的操作取决于经压缩的输出数据的解压缩的版本,还提 供了返回路径。
[0053] 该特征的原因如下。在解压缩处理(下文将描述)中的适当阶段中,产生残差数据 的经解压缩的版本。该经解压缩的残差数据必须被加入预测图像中W生成输出图像(因为 原始残差数据为输入图像与预测图像之间的差)。为了使该处理在压缩侧与解压缩侧之间 是相当的,在压缩处理期间和在解压缩处理期间由预测器320生成的预测图像应相同。当 然,在解压缩时,该装置并不访问原始输入图像,而仅访问经解压缩的图像。因此,在压缩 时,预测器320基于其对压缩图像的解压缩版本(至少,对图像间编码)的预测。
[0054] 由赌编码器370进行的赌编码过程认为是"无损的",也就是说其可W逆转W达到 与开始提供给赌编码器370的恰好相同的数据。所W,在赌编码阶段之前可W实施返回路 径。实际上,由扫描单元360进行的扫描过程也认为是无损的,但是在本实施方式中,返回路 径390为从量化器350的输出至互补逆量化器420的输入。
[0055] 总体而言,赌解码器410、反向扫描单元400、逆量化器420和逆变换单元430提供赌 编码器370、扫描单元360、量化器350和变换单元340的相应的逆功能。目前,将通过压缩过 程继续讨论;将在下文分开讨论解压缩输入压缩视频信号的过程。
[0056] 在压缩过程中,通过返回路径390将扫描系数从量化器350传送至逆量化器420,逆 量化器420进行扫描单元360的逆运算。由单元420、430进行逆量化和逆变换处理W生成经 压缩的-解压缩残差图像信号440。
[0057] 在加法器450处,将图像信号440加入预测器320的输出W生成重构的输出图像 460。如将在下文描述的,其形成图像预测器320的一个输入。
[0058] 现在转向施加给所接收的压缩视频信号470的处理,信号被提供至赌解码器410, 并在由加法器450加入图像预测器320的输出之前,从此提供至反向扫描单元400、逆量化器 420和逆变换单元430的链。实际上,可W在输出信号之前施加另外的滤波。
[0化9] 虽然已经在编码器的上下文中描述图5,应注意,返回解码路径(400、410、420、 430、450、320,均在控制器345的控制下操作)形成解码器的实例。上文描述的和在下文中讨 论的操作提供了设及(可应用的)编码和解码操作的方法步骤的实例。
[0060] 图6示意性地示出了预测图像的生成,并且具体地,图像预测器320的操作。
[0061] 存在两种基本预测模式:所谓的图像内预测和所谓的图像间或者运动补偿(MC)预 测。
[0062] 图像内预测基于对来自同一图像内的数据的图像块的内容的预测。运对应于其他 视频压缩技术中的所谓I帖编码。与其中内编码整个图像的I帖编码不同,在本实施方式中, 可W在逐块的基础上进行内编码与间编码之间的选择,虽然在其他实施例中仍然在逐图像 的基础上进行选择。
[0063] 运动补偿预测利用试图限定在另一相邻的或附近的图像中,将在当前图像中编码 的图像细节的来源的运动信息。因此,在理想的实例中,预测图像中的图像数据块的内容可 W非常简单地编码为,指向相邻的图像中位于相同的或略微不同的位置的相应块的参照 (运动矢量)。
[0064] 回到图6,示出了两种图像预测设置(对应于图像内和图像间预测),其结果由模式 信号510的控制下的多路转换器500选择,W提供用于提供至加法器310和450的预测图像的 块。根据哪个选项给出最低"能量"(如上所述,其认为是需要编码的信息内容)做出选择,并 且将该选择发信至编码输出数据流内的编码器。例如,通过进行来自输入图像的两个版本 的预测图像的区域的试验减法,对差值图像的每个像素值求平方,对平方值求和,并且确定 两个版本中的哪一个产生了有关该图像区域的差值图像的较低均方值,来检测关于运点的 图像能量。
[0065] 内编码系统中的实际预测是基于接收为信号460的部分的图像块做出的,也就是 说,预测基于经编码的-解码图像块,W在解压缩装置处能够做出恰好相同的预测。然而,可 W通过内模式选择器520控制图像内预测器的操作,由输入视频信号300得出数据。
[0066] 对于图像间预测,运动补偿(MC)预测器540使用诸如由运动估测器550从输入视频 信号300得出的运动矢量的运动信息。那些运动矢量由运动补偿预测器540应用于重构图像 460的处理版本W生成图像间预测的块。
[0067] 现将描述应用于信号460的处理。首先,由滤波器单元560对信号滤波。运设及应用 "解块"滤波器W去除或者至少趋向于减少由变换单元340和后续操作进行的基于块处理的 效果。此外,使用通过处理重构信号460和输入视频信号300得到的系数来应用自适应环路 滤波器。自适应环路滤波器是使用已知技术将自适应滤波器系数应用于待过滤的数据的滤 波器类型。也就是说,滤波器系数可根据各种因素而变化。定义使用哪个滤波器系数的数据 包括为编码输出数据流的一部分。
[0068] 事实上,来自滤波器单元560的滤波输出形成输出视频信号480。其还缓存在一个 或多个图像存储器570中;运动补偿预测处理特别是运动矢量生成需要连续图像的存储。为 了节省存储需求,图像存储器570中的存储图像可W W压缩形式保存,然后解压缩用于生成 运动矢量。对于运个特定的目的,可使用任何已知的压缩/解压缩系统。将存储图像传送至 内插滤波器580,内插滤波器生成存储图像的较高分辨率版本;在此实例中,生成中间样本 (子样本),从而使由内插滤波器580输出的内插图像的分辨率为存储在图像存储器570中的 图像的8倍(在每个维度上)。内插图像作为输入传送至运动估测器550 W及运动补偿预测器 540。
[0069] 在实施方式中,提供另外的可选阶段,其使用乘法器600将输入视频信号的数据值 乘W因子四(效果上恰好将数据值向左移两位);并且使用除法器或右移器610在装置的输 出处施加相应的除法运算(右移两位)。所W,左移和右移仅用于装置的内部运算而改变数 据。因为降低了任何数据取整误差的影响,该措施可W提供装置内更高的计算精度。
[0070] 现将描述将图像分割W用于压缩处理的方式。在基本水平,待压缩的图像被认为 是样本块的阵列。出于本讨论的目的,考虑的最大的运种块是所谓的最大编码单元化CU) 700 (图7 ),其代表64 X 64样本的方阵。此处,本讨论设及亮度样本。取决于色度模式,如4:4: 4、4: 2: 2、4: 2:0或者4:4:4:4(GBR加关键数据化巧data)),将存在对应于亮度块的不同数 目的相应色度样本。
[0071] 将描述S种基本类型的块:编码单元、预测单元W及变换单元。总体而言,LCU的递 归细分(recursive subdividing)使得W运样的方式分割输入图像:可W根据待编码的图 像的具体特征设置块大小和块编码参数(如预测或者残差编码模式)。
[0072] LCU可W被细分为所谓的编码单元(CU)。编码单元始终是正方形并且具有8 X 8样 本与LCU 700的整个大小之间的大小。可W将编码单元排列为树结构的种类,从而可WW如 在图8中所示的进行第一细分,给出32X32样本的编码单元710;然后可W在选择的基础上 进行随后的细分,W给出一些16X16样本的编码单元720(图9),和潜在的,一些8X8样本的 编码单元730(图10)。总之,该处理可W提供CU块的内容适应的编码树结构,每个CU块可W 与LCU-样大或与8X8样本一样小。基于编码单元结构进行输出视频数据的编码。
[0073] 图11示意性地示出了预测单元(PU)的阵列。预测单元是用于携带设及图像预测处 理的信息的基本单元,或者换言之,将附加数据添加到赌编码残差图像数据W从图5中的装 置形成输出视频信号。通常,预测单元并不局限于正方形形状。只要编码单元大于最小(8X 8)大小,预测单元可W采取其他形状,具体地,形成一个正方形编码单元的一半的矩形形 状。目的是使得相邻预测单元的边界与图片中真实物体的边界(尽可能密切地)匹配,从而 不同的预测参数可W应用于不同的真实物体。每个编码单元可含有一个或者多个预测单 J L O
[0074] 图12示意性地示出了变换单元(TU)的阵列。变换单元是变换和量化处理的基本单 元。变换单元始终是正方形并且可W采取从4 X 4到32 X 32样本的大小。每个编码单元可含 有一个或者多个变换单元。图12中的缩写SDIP-P表示所谓的短距离内预测分区(short distance intra-prediction partition)。在该布置中,仅使用一维变换,所W将4XN块通 过N个变换,其中至变换的输入数据基于当前SDIP-P中的先前解码的邻近块和先前解码的 邻近线。
[0075] 现在将讨论内预测处理。一般而言,内预测设及由相同图像中的先前编码和解码 的样本产生样本的当前块的预测(预测单元)。图13示意性地示出部分编码的图像800。此 处,图像基于LCU从左上至右下编码。部分通过完整图像的处理而编码的LCU实例示出为块 810。块810上方和左侧的阴影区820已被编码。块810的内容的图像内预测可利用阴影区820 的任何部分但不能利用其下方非阴影的区域。
[0076] 块810表示LCU;如上所述,对于图像内预测处理的目的,其可W细分为较小的预测 单元的组。LCU 810内示出了预测单元830的实例。
[0077] 图像内预测考虑了当前LCU 810上方和/或左侧的样本。由其预测所需样本的源样 本相对于LCU 810内的当前预测单元可位于不同的位置或方向。为了确定哪一方向适用于 当前预测单元,比较基于每个候选方向的试验预测结果,W查看哪一候选方向给出最接近 输入图像相应块的结果。给出最接近结果的候选方向选为用于该预测单元的预测方向。
[0078] 还可WW"片(slice)"为基础编码图片。在一个实例中,片是水平相邻的LCU的组。 但是更一般而言,整个残留图像可W形成片,或者片可W是单个LCU,或片可W是一列LCU 等。因为它们编码为独立单元,片可W提供对错误的一些恢复性。在片的边界编码器和解码 器状态完全重置。例如内预测不越过片的边界进行;为此目的将片的边界当作图像边界。
[0079] 图14示意性地示出可能的(候选)预测方向的组。整组34个候选方向可用于8X8、 16 X 16、32 X 32样本的预测单元。4 X 4及64 X 64样本的预测单元大小的特殊情况具有减少 的可用于它们的候选方向的组(分别为17个候选方向及5个候选方向)。该方向是通过相对 于当前块位置的水平及垂直位移确定的,但被编码为预测"模式",其组在图15中示出。应注 意,所谓的D对莫式表示周围的上部和左手侧样本的简单算术平均。
[0080] 图16示意性地示出了之字形扫描,其是可W由扫描单元360施加的扫描图案。在图 16中,示出对于8X8变换系数的实例块的图案,其中DC系数被置于该块的左上位置840处, 并且增加水平和垂直空间频率由向下增加的距离并且在左上位置840右侧的系数所表示。
[0081] 应注意,在一些实施方式中,可W W反向顺序(使用图16中的顺序标记自右下至左 上)扫描系数。还应注意,在一种实施方式中,扫描可从左至右越过几个(例如一个和=个之 间)最上端的水平行,然后进行剩余系数的之字形。
[0082] 图17示意性地示出了 CABAC赌编码器的操作。
[0083] 在该性质的基于上下文的自适应编码中,根据实施方式,可相对于表示数据位多 大可能为一或零的预期或预测的概率模型或上下文来编码数据位。为做到运点,将输入数 据位赋值为,从两个(或更多,通常多个)码值范围的补子范围选定的一个之内的码值,其中 子范围的相应大小(在实施方式中,子范围相对于码值的组的相应比例)由上下文定义(因 而其由与输入值相关联或与W其他方式与输入值相关的上下文变量定义)。下一步骤是响 应于赋值的码值和选择的子范围的当前大小修改整个范围,也就是码值的组(用于在设及 下一个输入数据位或值中使用)。如果然后修改的范围小于代表预定最小尺寸的阔值(例如 原始范围尺寸的二分之一),则其尺寸增加,例如,通过使修改的范围加倍(左移),如果需要 的话可连续进行该加倍过程(一次W上),直至范围具有至少预定最小尺寸。在此刻,生成输 出编码的数据位W指示(或者如果一次W上的话,每个)加倍或增大操作发生。另外的步骤 是关于或就下一个输入数据位或值而言(或在一些实施方式中,就下一个待编码的数据位 或值的组而言),修改上下文(即,在实施方式中,修改上下文变量)使用。运可W通过使用当 前上下文和当前"最可能符号"(一或者零,无论哪个被上下文指示,当前具有大于0.5的概 率)的标识作为到新上下文值的查找表中的索引或作为从其可得出新上下文变量的适当的 数学公式的输入来执行。在实施方式中,上下文变量的修改可增加码值的组在选择用于当 前数据值的子范围内的比例。
[0084] CABAC编码器就二进制数据,也就是说仅由两个符号0和1表示的数据进行操作。编 码器利用所谓的上下文建模过程,上下文建模过程基于先前编码的数据W选择后续数据的 "上下文"或概率模型。W确定性的方式实现上下文的选择,使得在解码器基于先前解码的 数据进行相同判定而不需要将另外的数据(指定上下文)加至传送至该解码器的编码数据 流。
[0085] 参考图17,待编码的输入数据如果尚未处于二进制形式,则可W被传送至二进制 转换器900,如果该数据已经处于二进制形式,则绕开变换器900(通过示意性的开关910)。 在本实施方式中,向二进制形式的转换实际是通过将量化的变换系数数据表示为二进制 "映射"串来进行的,下面将进一步描述。
[0086] 然后二进制数据可W由两种处理路径"常规"和"旁路"(其示意性地示出为单独的 路径,但在下文讨论的实施方式中,其实际上可W由相同的处理阶段来实施,仅使用稍微不 同的参数)之一处理。旁路路径采用所谓的旁路编码器920,其不必W与常规路径同样形式 利用上下文建模。在CABAC编码的一些实例中,如果需要对于一批数据进行特别快速的处 理,可W选择该旁路路径,但是在本实施方式中,注意所谓"旁路"数据的两个特征:首先,旁 路数据是由CABAC编码器(950、960)处理的,仅使用表示50%概率的固定上下文模型;其次, 旁路数据设及特定种类的数据,一个具体实例是系数标志数据。另外,由示意性的开关930、 940选择常规路径。运设及数据由上下文建模器950处理,随后由编码引擎960处理。
[0087] 如果整个数据块由零值数据构成,则图17所示的赌编码器将该数据块(即,例如, 对应于与残差图像的块有关的系数的块的数据)编码为单个值。对于没有落入此类别的每 个块,也就是说含有至少某些非零数据的块,准备"有效映图(significance map)"。有效映 图表示,对于待编码的数据块中的每个位置,块中相应的系数是否是非零的(并且所W也是 指示出非零最高有效数据部分相对于数据值的阵列的位置的有效映图的实例)。有效映图 可W包括指示,根据预定排序的数据值阵列,最后一个的具有非零值的最高有效数据部分 的位置的数据标志(data flag)。
[0088] 为二进制形式的有效映图数据被自CABAC编码。有效映图的使用辅助压缩,因为对 于具有有效映图指示为零的量值的系数,没有数据需要编码。另外,有效映图可包括指示块 中的最终非零系数的特殊码,从而所有的最终高频/拖尾零(trailing zero)系数可W从编 码中省去。在编码位流中,有效映图继之W由有效映图指定的,定义非零系数的值的数据。
[0089] 还准备另外水平的映图数据并进行CABAC编码。实例为映图作为二进制值(1 =是, 0 =否)定义位于有效映图指示为"非零"的映图位置的系数数据是否实际上具有"一"的值。 另一映图指定位于有效映图指示为"非零"的映图位置上的系数数据是否实际上具有"二" 的值。另外的映图指定,对于位于有效映图指示系数数据为"非零"的那些映图位置,该数据 是否实际上具有"大于二"的值。再次对于确定为"非零"的数据,另一映图指示数据值的符 号(使用预定的二进制记数,如1为+、〇为-,或当然反之亦然)。
[0090] 在实施方式中,有效映图和其他映图通过例如扫描单元360由经量化的变换系数 生成,并且在经受CABAC编码之前经受之字形扫描处理(或者根据内预测模式,选自之字形、 水平光栅W及垂直光栅扫描的扫描处理)。
[0091] 在一些实施方式中,肥VC CABAC赌编码器使用W下过程编码语法元素:
[0092] TU中最后的有效系数(按扫描顺序)的位置被编码。
[0093] 对于每个4X4系数组(W相反的扫描顺序处理组),编码有效系数组标记,指示该 组是否含有非零系数。运对于含有最后有效系数的组是不需要的,并且对于左上的组(含有 DC系数)假定为1。如果标记为1,则紧随其编码随后的关于该组的语法元素;
[0094] 有效映图;
[0095] 对于组中的每个系数,标记被编码指示该系数是否是有效的(具有非零值)。对于 由最后的有效位置指示的系数不需要标记。
[0096] 大于一映图:
[0097] 对于至多八个具有有效映图值1的系数(从组的末尾向后计),运指示量值是否大 于1。
[0098] 大于二标记:
[0099] 对于至多一个具有大于一映图值1的系数(最接近组的末尾的一个),运指示量值 是否大于2。
[0100] 符号位:
[0101] 对于所有的非零系数,将符号位编码为等概率的CABAC二进数(bin),其中当使用 符号位隐藏时,可W代替由奇偶性推断最后的符号位(W相反扫描顺序)。
[0102] 转义码:
[0103] 对于其量值没有完全由先前的语法元素描述的任意系数,将剩余的编码为转义 码。
[0104] -般而言,CABAC编码设及,对于待编码的下一位,基于其他先前编码的数据,预测 上下文或概率模型。假如下一位与由概率模型确定为"最可能"的位相同,则可W用高效率 编码"符合概率模型的下一位"的信息的编码。编码"不符合概率模型的下一位"效率较低, 所W上下文数据的得出对于编码器的良好操作是重要的。术语"自适应的"意指在编码过程 中适配或改变上下文或概率模式,W尝试提供与(仍未编码的)下一数据的良好匹配。
[0105] 使用简单类比,在书面的英文语言中,字母"U"是相对不常用的。但是处于紧接在 字母%'(其确实是非常常用的)之后的字母位置。所W,概率模型可W将"U"的概率设为非 常低的值,但是如果当前字母为"Q",可W将作为下一个字母的"U"的概率模型设为非常高 的概率值。
[0106] 虽然可W不对于每个系数编码运些语法元素的每一个,对于至少有效映图和指示 非零值是否是一或二的映图,在本设置中使用CABAC编码。旁路处理,其在运些实施方式中 除将概率模型固定为1和0相等的(0.5:0.5)概率分布的事实之外与CABAC编码相同,用于至 少符号数据和没有由先前的语法元素描述的系数量值的部分。对于那些指示为具有它们的 系数量值没有完全描述的部分的数据位置,可W将单独的所谓的转义数据编码用于编码数 据的实际剩余值,其中实际量值是剩余的量值加上由相应的编码语法元素得出的偏移量。 运可W包括Golomb-Rice编码技术。
[0107] WD4:Working Draft 4of High-Efficiency Video Coding,JCTVC-F803_d5, Draft ISO/IEC 23008-HEVC;201x化)2011-10-28中更详细地描述了CABAC上下文建模和编 码过程。
[0108] 将参考图18讨论另外的关于转义位编码或相关技术的技术。
[0109] 然而,首先将讨论用于编码转义码的技术。
[0110] 在当前的肥VC标准中(在本申请的优先权日),使用两种机制编码转义码:
[0111] 1/具有最大前缀长度2的Golomb-Rice码。
[0112] 2/如果编码值不能完全由Golomb-Ri Ce码描述,使用指数-Go lomb-k阶 (exponent ial-Golomb-order-k)编码"转义-转义"码。
[0113] 所谓的Golomb-Rice编码将值V编码为一元编码前缀(可变数目的1继之W0,或反 之亦然)继之Wk(另外称作巧aram)位的后缀。
[0114] 将代码空间分为区间,其尺寸由Rice参数巧aram确定为:
[0115] 区间尺寸= l<<rF*aram
[0116] 如通常的,标记"<<n"表示左移等于值n的位位置数。类似的标记〉〉n表示右移n位 位置。所W,例如当巧aram是0时,代码区间尺寸是1。当巧aram是3时,区间尺寸是8,等等。
[0117] 将巧aram的值分别由编码器和解码器维持并在预定的条件下修改。
[0118] 前缀使用一元码编码W指示最终值落入哪个编码区间。
[0119] 例如前缀值=2 jParam=2、区间尺寸=4并且值落在包括8-11的范围内。可W将 其认为是值的"粗略"部分。
[0120] 使用二进制代码编码后缀(后缀长度等于巧aram)。后缀值指示最终值位于指定的 区间中的哪里。
[0121] 例如,前缀值=2 JParam = 2、后缀值=3;运表示最终值位于区间8-11内。后缀值0 表示8的最终值;后缀值3(如在本实例中)表示最终值11。
[0122] 因此可W将后缀认为是值的"精细"部分。
[0123] 在一元编码前缀中使prefix_length为1的总数。使K为最不重要的巧aram位的值。
[0124] 最终值=(pref ix_length<<;rParam)+K
[01巧]如上所述,在当前的肥VC标准(在本申请的优先权日)中,在Golomb-Rice编码的最 大前缀长度上强加了(2的)限制(因此存在不大于3的区间)。如果发送更长的前缀,将其值 减3(前缀的值等于其长度)并且将前缀代替视为k阶指数Golomb码(rfaram用作k的值)。可 W将该k阶指数Golomb码认为是根据正常转义-编码机制的转义,"转义-转义"码。
[01%] 应理解的是,具有最大长度2继之Wk阶指数Golomb的Golomb-Rice前缀也相当于 具有最大长度3继之Wk+1阶指数Golomb的Golomb-Rice前缀。
[0127] 此外,最终值还通过加(在解码器中)或减去(在编码器中)不能使用Golomb-Rice 编码编码的最小值来修改,因为由于使用转义-转义编码,已知最终值至少为那么大。
[0128] 现在将讨论k阶指数Golomb码。在运种码中,待编码的数字被分成可变长度的一元 编码前缀和可变长度的后缀。后缀位数=prefix_leng化+k。此处,prefix_length再次是一 元码中1的数目。
[0129] 如在Golomb-Rice编码中,将编码空间被分为区间。然而,该间隔不是等大小的;反 而它们指数地增加大小,例如(区间0 = 0、区间1 = 1 -2、区间2 = 3-6)等。
[0130] 前缀使用一元编码编码W指示最终值落入哪个编码间隔。
[0131] 虽然此处后缀长度等于前缀长度,后缀使用二进制编码进行编码。后缀值指示最 终值位于指定的间隔中的哪里。
[0132] 等于k的若干额外的位使用二进制编码进行编码,运些位用作最终值的另外的 LSB。
[0133] 码中位的总数= pref ix_length+l+pref ix_length+k。
[0134] 使K为最后的k位的值。
[0135] 当 pref ix_length为0 时,V将等于 K。
[0136] 当 prefix_length为1 时,V将在(l?k)+K和(3<<k)+K之间(排他)。
[0137] 当 prefix_length为2时,V将在(3<<k)+K和(7<<k)+K之间(排他)。
[013 引当 prefix_length为3时,V将在(7<<k)+K和(15?k)+K之间(排他)。
[0139] 因此V = ((2~pref ;[义_16]1邑1:11)-1)<<1〇+后缀。
[0140] 例如:最终二进制码= 110011。
[0141] 在此实例中,rfaram=l;前缀长度=2(第一个0之前两个1)、编码区间= 3-6;后缀 =化01 = 1,k之前的值=4 =化100;额外位= Obl = U最终值=化1001 = 9(化代表二进制表 示法)。
[0142] 在肥VC中,如上所述,使用Golomb-Rice和指数Golomb码两者。如果前缀长度小于 S,将码编译为Golomb-Rice码。然而,如果prefix_length大于或等于3,将码编译为k阶指 数Go 1 omb码,其中将上述的;rParam值用作k值。
[0143] (任一系统中的)前缀是一元码的实例。后缀是非一元码的实例。两种系统是两部 分的可变长度码的实例。
[0144] 在运种情况下,用于解码指数Golomb码的prefix_length值减少3,并且从解码运 算得到的值增加(3<<k),因为运是不能使用Golomb-Rice码表示的最小值。
[0145] 用于皿VC转义的值"k"和转义-转义码不同。对于16个系数的每组,k值由0开始,并 且不论系数值的量值合适大于3?k,是增加的。响应于该状态,k增长至最大值4。应注意,该 讨论设及系数量值,因为表示系数的符号的符号位是单独发送的。还可W应用其他用于设 定初值和调整k的方案。
[0146] 图18是示出生成如上文讨论的转义码的方法的流程图。
[0147] 该方法是可用数据值的组操作的,该数据值的组包括(例如)频率变换的图像系数 的序列,或该序列的非零组分或其中每个数据值已经减少了 1的该序列的非零组分(在此最 后的情形中,可W首先生成有效映图,从而在进一步处理之前每个系数减少1,因为有效映 图会导致I的值)。
[0148] 在步骤2000,在每组的开始设置k的初始值。虽然可W存在用于延伸肥VC标准的替 代方案,在正常的皿VC版本1系统中,k最初设置为0。在步骤2010,CABAC编码器检查当前的 组是否是含有相当于DC系数的左上组或含有由先前的过程标记为最后的有效系数的组。如 果是,控制传至步骤2030。如果不是,在步骤2020,CABAC编码器检查当前的组是否含有非零 系数。如果不是,过程结束,将相应的有效组标记编码为0。如果是,则控制传至步骤2030,将 相应的有效组标记编码为1。在步骤2030针对组中的每个系数生成有效映图(虽然对于含有 最后的有效系数的组,一些系数不需要有效映图入口,因为运些是可W推断的)。在步骤 2040,生成〉1映图,其指示对于至多8个具有有效映图值1的系数,从组的末尾向后数,量值 是否大于1。在步骤2050生成〉2映图。对于至多1个具有〉1映图值1的系数(最接近组的末尾 的一个),运指示量值是否大于2。在步骤2060,对所有有效系数生成符号位(虽然称为符号 位隐藏的方案可W用于推断另外由组中的编码值的偶数和奇数奇偶性编码的最后的符号 位),并且在步骤1570,对于任何其量值没有完全由先前的语法元素描述的系数(也就是说, 在步骤2030-2060中的任一个生成的数据)生成转义码。应注意,在图18中,在某些皿VC的实 施方式实例中,不需要对每个系数生成所有的映图。例如,在(比方说)16个系数的组中,可 W存在不对其生成一些映图的一个或多个系数。
[0149] 运些映图是指示大于1的最高有效数据部分相对于数据值阵列的位置的大于一映 图的实例;W及指示大于2的最高有效数据部分相对于数据值阵列的位置的大于二映图的 实例。
[0150] 在步骤2070,如果需要转义码,其基于当前的k值使用刚才描述的技术生成。具体 地,首先使用有效映图W及可选的一个或多个其他映图处理需要使用转义码的系数。应注 意,在系数需要转义编码的情况下,任何使用的有效、〉1和〉2映图将标记为"1"。运是因为任 何需要转义编码的系数,根据定义是大于可W使用任一关于该系数可用的映图编码的值 的。
[0151] 如果当前数据值没有被完全编码,则需要转义码。此处,术语"完全"编码意指数据 值减去已经(例如由映图,或映图加上固定的位)编码的值为零。换言之,数据值由已经生成 的分量完全编码,如果将那些分量考虑在内数据值的残差量为零的话。
[0152] 所W,假设对于实例的系数,有效映图和〉1及〉2映图可用,相对于该系数将运些各 自标记为巧效的"、"〉1"和"〉2"。
[0153] (在运个实施例中)运意味着该系数必须至少为3。
[0154] 因此,可W在转义编码之前从系数中减去3的值,而没有信息损失。在解码中恢复3 的值(或通常更多,变量base_leve 1,其表示由应用于该系数的映图定义的数值范围)。
[0巧5] W十进制15(二进制1111)的系数值举例,有效映图是"r,〉i映图是"r并且〉2映 图是"1"。值的base_level是3。从系数值中减去base_level W给出十进制12(二进制1100) 的值,将其传送用于转义编码。
[0156] 现在k值(见上文)定义后缀位的数目。后缀位取自减去base_level之后的系数值 的最低有效位。如果(例如化=2,则将剩余值1100的两个最低有效位视为后缀位,也就是说 在运个实施例中后缀位是00。将剩余的位(在运个实施例中,11)作为前缀编码处理。
[0157] 所W总起来说,有关于转义码的处理包括:
[0158] 生成定义一个或多个系数的最低有效位的一个或多个映图,从而(如果需要转义 码)该系数必须具有至少base_level的值;
[0159] 从系数中减去base_level;
[0160] 将系数剩余部分的最低有效的k位编码为后缀位;W及
[0161] 将系数剩余部分的剩余最高有效位编码为前缀。
[0162] 本公开的实施方式设及识别在编码用于系数的转义码时会出现的最坏情况码长。 [0163]当对16位视频使用扩展精度处理时,赌编码器中的系数范围maxTrDynamicRange 是22位的,因此可W示出,用此方案,其中可W对于系数编码的转义码位的最大数是给定 的,当巧aram是加寸,系数量值处于其(1 ?22)的最大值,为:
[0164] 最大指数-Golomb编码值=
[0165] (1<<22)(初始系数量值)
[0166] -U由于该值已经由有效映图编码,扣除1)
[0167] -3(如上文讨论的,由于其不是Golomb-Rice码,扣除3)
[0168] =4194300
[0169] 在肥V巧旨数-Golomb编码中,该值需要21位的后缀(并且因此21位的前缀)W及1位 的分隔符(separator)和3个额外的前缀位W发送器不是Golomb-Rice码的信号。运导致总 计46位的最坏情况,其对解码器会是过重的负担。
[0170] 本公开的实施方式提供转义编码的指数-Golomb部分的一种或多种替代方案,其 可W将最坏情况转义码长度减少至32,其与皿VC版本1中的最坏情况转义码长度是相同的。 虽然其成为码长和编码效率之间的权衡,但潜在地可W进一步减少码长。由于版本2解码器 必须支持版本1,不存在对于减少低于版本1标准的最大码长的,在延伸的版本2解码器配置 中的最大码长的需要。
[0171] 如上所述,在当前的肥VC标准中(在本申请的优先权日),使用两部分Golomb-Rice/指数-Golomb方法编码转义码(系数的量值的任何部分没有由CABAC编码的语法元素 描述)。当使用扩展精度编码16位视频时,该方法导致,如W上得出的46位的最大转义码长 度可W对解码单个系数是相当大的负荷。
[0172] 在一些实施方式中,通过修改转义码方案的指数-Golomb部分中的前缀和后缀长 度之间的映射,可W将最坏情况减少至例如32位,而对编码效率或处理效率没有显著的不 良影响。在其他实施方式中,还可W调整,乃至移除整个Golomb-Rice。
[0173] 当使用所谓的扩展精度编码16位视频时,变换和量化器的动态范围和因此的进入 赌编码器(maxlYDynamicRange)的系数等于16+6 = 22。运导致222 = 4194304的最大系数量 值。当通过对有效映图入口减去1并对Golomb-Rice码减去3(在最坏情况中化Ce参数巧aram 为0)来调节时,可W使用指数-Golomb编码来编码的最大值是4194300。
[0174] 可W示出,为在皿VC中使用指数-Golomb编码该值,除了一位的分隔符和S个额外 的前缀位W发送该指数-Golomb代码在使用中的信号,需要21位的后缀(和因此的21位前 缀)。运导致46的最坏情况总码长。
[0175] 然而,在此处通过各种的替代方案而非简单地直接将前缀长度映射到后缀长度上 (作为1:1映射)。
[0176] 在一些实施方式中,后缀长度可W是前缀长度的函数(诸如指数函数)。指数函数 的实例是suffixLength=(l<<prefixLength)〉〉l。运样,例如仅需要发送5前缀位W发送16 后缀位的信号;还需要分隔符"0",取决于使用一元编码还是具有最大值5的截断一元编码。 设置的实例是,其中由前缀部分编码的值与非一元编码后缀部分的长度相关联,使得非一 元编码后缀部分的长度是由前缀部分编码的值的指数函数。
[0177] 在一些实施方式中,前缀本身可W是指数-Golomb码而不是一元编码。
[0178] 在一些实施方式中,可W通过使用表将前缀长度映射至后缀长度。该方法使得区 间尺寸的设置适合于数据。该表可W是预定的(也就是说,在编码器和解码器中预先提供 的),或在经编码的数据流的中发送或者与经编码的数据流相关联(从而前缀部分的长度与 后缀部分的长度之间的关系由待编码的数据关联传送的信息定义),或得出自先前编码的 系数或其他数据,或运些或其他技术的组合(如选自使用在流中传送的数据的预定的表的 组)。在一些实施方式中,由前缀部分编码的值和非一元编码后缀部分的长度是由一个或多 个表关联的。一些实施方式包括,根据W下组成的组中的一个或多个,选择关联由前缀部分 编码的值与非一元编码后缀部分的长度的表中的一个:(i)与经编码的数据值相关联的数 据标志;和(ii)得出自一个或多个先前经编码的数据值的参数。
[0179] 可W如W下操作其它的实施方式。当使用所谓的扩展精度编码16位视频时,变换 和量化器的动态范围和因此的进入赌编码器(1113計扣7]1曰111;[。1?曰]1旨6)的系数等于16+6 = 22。 如上所述,运导致222 = 4194304的最大系数量值。如上文讨论的,当通过对有效映图入口减 去1并对Golomb-Rice码减去3 (在最坏情况中Rice参数巧aram为0)来调节时,可W使用指 数-Golomb编码来编码的最大值是4194300,W及46的最坏情况总码长。
[0180] 然而,当启用扩展精度处理,其限制需要放松最坏情况信号的前缀位数时,可W使 用替代方案而非简单地使前缀长度无限地扩展。最大前缀长度由W下给出:
[0181 ] maxim 皿 PrefixLength = 32-(3+MAX_TR_DYNAMIC_RANGE)
[0182] 当达到该前缀长度时,则由W下给出相应的后缀长度:
[0183] SUff ixLength=MAX_TR_DYNAMIC_RANGE-巧 aram
[0184] 此外,由于在开始编码/解码时最大前缀长度是已知的,如果达到最大前缀长度, 可W使用省略分隔符的截断一元编码来编码该前缀。
[0185] 因此最坏情况转义码长度减少至:
[01 化](32- (3+MAX_TR_DYNAMIC_RANGE))(前缀)
[0187] +(MAX_TR_DYNAMIC_RANGE-rfaram)(后缀)
[0188] +!"Param(固定的位)
[0189] +3(非 Golomb-Rice 码位)
[0190] =32
[0191] 运使得转义码适合单个32位整数并呈现于皿VC版本1中相同的最大转义码长度。 应注意,支持高位深操作的肥VC解码器(如16位视频的使用)在至少一些实施方式中仍需要 支持使用肥VC版本1编码的数据的使用,所W该在皿VC版本1下最大允许的转义码的位数的 限制意味着在此设置中转义码长度不大于已经支持的最大值。
[0192] 运些实施方式可W提供与上文讨论的映射表设置类似的优点,但是本实例可W实 现相同的最坏情况码长缓解和相同的编码性能,而不需要查表。然而,将前缀长度封顶至取 决于数据值(待编码的或如解码的)位深的最大长度的主要原理还可W与一种或多种如上 所述的表或与前缀长度和后缀长度之间的关系的另外的表达式结合使用。
[0193] 因此运些实施方式提供其中将前缀长度封顶为最大前缀长度值的技术的实例。例 如,最大前缀长度值可W取决于maxTrDynamicRange值,其是用于编码的数据值的动态范 围。在一些实例中,最大前缀长度等于29-maxTrDynamicRange。在其他实例中,最大前缀长 度等于 28-maxTrDynamicRange。
[0194] 应注意,另一种表达运些技术中的一些的方式是,视频数据具有位深(如16位,各 个通道中每样本的位数的表达)。该位深应用于原始视频数据的样本(即用于由编码器编码 的样本),W及相应地应用于如由解码器解码的解码样本。位深可W隐含自如提供至编码器 或解码器的数据结构,或可W由一种或多种指示符,如标记或参数标记或另外指示至编码 器或解码器。在一些实例中,将HiaxTrDynamicRange设置为等于位深加上偏移量,如6位的偏 移量(所W在其中位深为例如16位的情况下,变量HiaxTrDynamicRange可W等于16+6 = 22 位),并且因此将前缀长度封顶在取决于用于编码的数据值或经解码的数据值(视情况而 定)的位深最大前缀长度。更具体地,在一些实例中因此将前缀长度封顶在取决于用于编码 的数据值或解码的数据值(视情况而定)的位深的最大前缀长度,加上六位。
[0195] 因此运种设置可W提供编码或解码系统和方法的实例,其中最大前缀长度等于预 定常数减去等于用于编码的数据值的动态范围的值。例如,预定的常数可W等于29,或预定 常数等于28。
[0196] 可W使用将在下文讨论的技术和/或运些技术的组合。
[0197] 可W操作控制器345(在解码器或编码器之一的情况下,或在相应的方法的情况 下)检测前缀长度和/或前缀长度与后缀长度之间的关系所依据的任何参数,并且设置或另 外实施最大前缀长度W及前缀长度与后缀长度之间的关系。
[0198] 运些方案均是技术的实施方式,其中数据编码装置的操作方法包括,数据编码装 置,将数据值的阵列编码为数据集和用于未由数据集编码的值的转义码,该转义码包括前 缀部分和非一元编码后缀部分,非一元编码后缀部分具有按位计的长度,根据对于至少一 些由前缀部分编码的值,使得非一元编码后缀部分的长度大于前缀部分的按位计的长度的 关系,非一元编码后缀部分的长度取决于由前缀部分编码的值。运里描述的实例提供技术 的实施方式,其中前缀长度W最大前缀长度封顶,最大前缀长度取决于备编码的数据值或 解码数据值的位深。
[0199] 在相应的解码操作(在解码器或在编码器的解码路径中)方面,运些方案均是技术 的实施方式,其中数据解码装置的操作方法包括,数据解码装置将输入编码数据值编码为 数据集和用于未由数据集编码的值的转义码,该转义码包括前缀部分和非一元编码后缀部 分,非一元编码后缀部分具有按位计的长度,根据对于至少一些由前缀部分编码的值,使得 非一元编码后缀部分的长度大于W位计的前缀部分的长度的关系,非一元编码后缀部分的 长度取决于由前缀部分编码的值。
[0200] 实施方式包括进行运种方法的编码和/或解码装置,由其发起运种方法的软件,该 方法由运行运种软件的计算机进行,由其提供运种软件的非临时性机器可读存储介质(如 磁盘或光盘),W及包括运种装置的视频数据捕捉、传输,显示和/或存储装置。
[0201] 如讨论的,前缀部分可W包含一元编码的值。
[0202] 在一些实施方式中,可W在启用扩展精度处理时使用映射,其可W用于限制发送 最坏情况信号所需的前缀位的数目。在下表中显示运种映射,其将后缀长度映射至前缀长 度用于扩展精度处理。
[0203]
[0204] 方案(i)重复正常的指数-Golomb编码的行为。
[0205] 方案(ii)模拟后缀长度,其如上文讨论的,是前缀长度的指数函数。
[0206] 可W注意到,方案(ii)可W减少从46位(使用一元编码的方案i)至31位(如果一元 代码用于前缀)或30位(如果截断一元代码用于前缀)的16位视频代码的最坏情况(其中 MAX_TR_DYNAMIC_RANGE为22位),具有最大5前缀位,尽管由于对较小的值损失了区间精确 度,运导致比方案(iii)更大的编码效率损失。然而,如果还采用GB1320775.8(通过引证结 合其内容)中公开的Golomb-Rice参数调节方法,可W减少运些方案的损失。
[0207] 使用方案(i ii),维持较小值的细粒度(f ine-grained)代码区间,同时需要不多于 7个前缀位(而非21个)W发送可能最大的后缀信号。此外,由于在编码/解码开始时最大前 缀长度是已知的,如果达到最大前缀长度,可W使用截位的一元代码作为省略分隔符的截 位的一元编码值编码该前缀。最大后缀长度是HiaxTrDynamicRange,虽然当!"Param是非0时, 最大后缀长度是maxTrDynamicRange-rfaram,具有后缀随后的另外的;rParam位。因此在该 方案一些实施方式中,表中的一些或所有的值是巧aram的函数。
[0208] 可W配置控制器345W使用表的组中的一种或多种(如上文的表(i)至(iii)) W查 出前缀长度和后缀长度之间适当的关系。
[0209] 因此将最坏情况转义码长度减少至7(前缀)+22(最大后缀)+3(非Golomb-Rice码 位)=32,应注意,不存在用于截断一元前缀的分隔符,使得任何转义码可W适配为单个32 位整数。
[0210] 一些实施方式的更多特征如下:
[0211] 由于最大后缀长度是已知的,可W使用截断一元编码代替简单的一元编码传送前 缀(也就是说,如果达到前缀位的最大数目,不需要通常设置在前缀和后缀之间的分隔符)。
[0212] 在可W将前缀长度映射至大于需要的后缀长度(例如大于maxTrDynamicRange)的 方案中,作为替代其可W附带在该值上,从而将任何大于maxTrDynamicRange的,由前缀长 度和后缀长度之间的关系提供的值设置为等于maxTrDynamicRange。通常在实施方式中,由 前缀部分编码的值和非一元编码后缀部分的长度之间的关系,使得非一元编码后缀部分的 最大长度不大于每个待编码的数据值的的最大位数。
[0213] 在maxTrDynamicRange小于16位的配置中,可W,例如通过将上述关系中的最大后 缀长度设置为15来去除16的值。例如,其可W用于编译值为4的指数前缀,其另外意味着16 位的后缀。
[0214] 现在将讨论第一工作实施例。
[0215] 输入该过程的是基于表的语法元素的二进制化的请求,该语法元素具有无符号的 值syn化l、Rice参数rice化ram和显示当前语法元素是否设及色度系数的标记is化roma。
[0216] 该过程的输出是基于表的语法元素 syn化1的二进制化。
[0217] 变量 maxTrDynamicRange得出如下:
[0218] 女曰果isChroma 等于 0,则maxTrDynamicRange = extended_precision_processing_ flag?Max(15,BitDepthY+6):15
[0219] 否贝lJ,maxTrDynamicRan邑e = extended_precision_processin邑_fla邑?Max(15, BitDepthC+6):15
[0220] 此处使用的标记如下。"A = flag?B:C"表示取决于二进制值吁lag"的状态为真或 假,分别将A分配为值B或值CsMax化,E)返回值D和E中较大的。BitD邱thY是亮度或绿色通道 的位深;BitD邱the是色度或蓝色和红色通道的位深。值extended_precision_p;rocessing_ flag是指示是否启用扩展精度处理的标记。
[0221] 指示如上所述的转义-转义码的最小值的值,变量SUf f ixLength [ X ]和 minimumUncodeable化lue[x]得出自下表(作为实例):
[0222]
[0223] 基于表的语法元素 synVa 1的二进制化过程的二进制字符串指定如下,其中每次调 用函数put(X)(其中X等于0或1)会在二进制字符串的末尾添加二进制值X:
[0224]
[0225]
[O。6] 变量cMax得自cRiceParam,其相当于上文使用的;rParam,为:
[0227] cMax = 43?cRi ceParam
[02巧]语法元素 coeff_abs_level_remaining[n]的二进制化是前缀二进制字符串和后 缀二进制字符串(当存在时)的级联。
[0229] 对于前缀二进制字符串的得出,应用W下:
[0230] Cu_qp_delta_abs 的前缀值,pref ix 化 1 得出如下:
[0231 ] pref ixVal=Min(cMax,coeff_abs_level_remaining[n])
[0232] 通过引起其中变量cMax和cRiceParam作为输入的,用于prefixVal的TR二进制化 过程来指定前缀二进制字符串。
[0233] 当前缀二进制字符串等于长度43的位串且所有的位等于1时,存在后缀二进制字 符串并且其得出如下:
[0234] Cu_qp_delta_abs 的后缀值,SUff ix 化 1 得出如下:
[0235] SUffixVal=coeff_abs_level_remaining[n]-cMax
[0236] 当extended_precision_p;rocessing_f lag 等于I时,通过调用用于suff ix化I 的基 于表的二进制化过程来指定后缀二进制字符串,其中,如果Cldx大于0,设置变量is化roma 等于1,否则为0。
[0237] 否则(extended_precision_p;rocessing_f lag等于0),通过调用用于SUff ixVal 的 EGk二进制化过程来指定后缀二进制字符串,其中设置k阶指数-Golomb等于cRiceParam。
[0238] 现在将描述设及其中前缀长度封顶的实施方式的另外的工作实例。该过程的输入 是用于语法元素的受限指数-Golomb二进制化的请求,带有无符号的值SynVaKRi Ce参数 r i ceParam和指示当前语法元素是否设及色度系数的标记i S化roma。该过程的输出是语法 元素 syn化1的受限指数-Golomb-k阶二进制化。
[0239] 变量 maxTrDynamicRange得出如下:
[0240] 女曰果 isChroma 等于 0,maxTrDynamicRange = extended_precision_processing_ flag?Max(15,BitDepthY+6):15
[0241 ] 否贝lJ,maxTrDynamicRan邑e = extended_precision_processin邑_fla邑?Max(15, BitDepthc+6):15
[0242]设置变量maximumPref ixLength等于(29-maxTrDynamicRange)。
[0243] 语法元素 synVal的受限k阶指数-Golomb二进制化过程的二进制字符串指定如下, 其中每次调用函数put(X)(其中X等于0或1)会在二进制字符串的末尾添加二进制值X:
[0244]
[
[0246] 在正常的指数-Golomb代码中,如上所述,通过减去不能由来自待编码的值的更小 的后缀长度编码的最小值形成后缀。例如,用k = 0(或不应用k)编码9(化IOOlK化前缀表示 二进制表示法),应注意:
[0247] 0位的前缀/后缀至多编码值0
[0248] 1位的前缀/后缀至多编码值2
[0249] 2位的前缀/后缀至多编码值6
[0250] 因此需要3位的前缀/后缀(编码至多值14)。不能用2位前缀/后缀编码的最小值是 7 (6+1 ),所W后缀形成为9- 7 = 2 (化010)为3位,使得最终编码的值为111 -0-010。
[0251] 在本公开下,与最大前缀长度关联的后缀长度是(必须)足够大的,从而不需要该 减法,所W可W简单地使后缀等于待编码的值。
[0252] 例如,最大前缀长度=3,相关的后缀长度=4。
[0253] 则编码的值等于截位的一元前缀,继之W等于带编码的值的后缀。例如,可W将十 进制的9编码为111-1001。
[0254]在另外的工作实例中,用于发送"非Golomb-Rice轉'信号的1的数目是4,但是然后 将该码编译为指数Golomb码的化+1)阶。上述技术的最大前缀长度得出为:
[0巧日]maximumPref ixLength = 32 (期望的最大码长)-(发送"非Go lomb-r i Ce码"信号的 位数)-maxTrDynamicRan 邑 e
[0 巧 6] =28-maxTrDynamicRange
[0257] 考虑下列的码:
[0 巧引(i)llOX...
[0 巧 9] (Ii)IllOX...
[0260] (iii)lllX...
[0261] (其中X表示"不论该位的值为何")
[0262] 在码(i)中,其中前导的1的数目等于2,上文的设置均不会将其编译为指数-Go Iomb 码。
[0263] 在码(ii)中,其中前导的1的数目等于3,首先在上文描述的系统会将其编译为指 数-Golomb码,然而第二种设置不会。然而,由于恰好存在3个前导的1,指数-Golomb码的前 缀长度是〇(第一个0之前不存在1)。但是当前缀长度为0时,第k阶指数-Golomb码的编译与 第k阶Golomb-Rice码的编译是相同的。
[0264] 在码(iii)中,其中前导的1的数目是4,两种技术均会将其编译为指数-Golomb码。 在第一种系统中,其将被编译为具有至少1的前缀长度的第k阶码。在第二中系统中,其将被 编译为具有至少0的前缀长度的第化+1)阶码。在两种情况中,前缀长度取决于继该码的开 头之后另外的1的数目。但是由于在指数-Golomb代码中前缀位实际加上k的值,可W看出两 种编译是等同的。因此其相当于将"非Golomb-Rice码"的阔值提高了(不多于)1,条件是k的 值在解码指数-Golomb码时也增加1。
[0265] 图19是示出编码技术的示意性流程图。在步骤2200,由上述的任一技术限定前缀 长度和/或最大前缀长度(例如由控制器345响应于一个或多个参数,如数据位深)。在步骤 2210,根据如此限定的前缀长度编码一个或多个数据值。
[0266] 图20是示出编码技术的示意性流程图。在步骤2220,将前缀编码为一元编码值(实 例是截断一元编码值)。在步骤2230编码相应的后缀。
[0267] 图21是示出编码技术的示意性流程图。在步骤2240,参考W上所讨论的表,W (在 步骤2250)获得后缀长度。
[0268] 将相应的技术应用于各个解码阶段。
[0269] 在W下的编号项中限定本公开各个进一步的方面和特征:
[0270] 1. -种数据编码装置的操作方法,该方法包括:
[0271] 数据编码装置将数据值的阵列编码为数据集,和用于未由数据集编码的转义码, 转义码包括前缀部分和非一元编码后缀部分,非一元编码后缀部分具有按位计的长度,非 一元编码后缀部分的长度,根据对于至少一些由前缀部分编码的值,非一元编码后缀部分 的长度大于前缀部分的按位计的长度的关系,取决于由前缀部分编码的值。
[0272] 2.根据项1所述的方法,其中,所述前缀部分包括一元编码值。
[0273] 3.根据项2所述的方法,其中,所述前缀部分包括截断一元编码值。
[0274] 4.根据前述项中任一项所述的方法,其中,所述前缀部分的长度与所述后缀部分 的长度之间的关系是由与待编码的所述数据相关联传送的信息限定的。
[0275] 5.根据前述项中任一项所述的方法,其中,由所述前缀部分编码的值和所述非一 元编码的后缀部分的长度是由一个或多个表关联的。
[0276] 6.根据项5所述的方法,包括,根据选自W下所组成的组中的一个或多个,选择关 联所述由前缀部分编码的值与所述非一元编码的后缀部分的长度的所述表中的一个的步 骤:(i)与所述编码的数据值相关联的数据标志;和(ii)得自一个或多个先前编码的数据值 的参数。
[0277] 7.根据前述项中任一项所述的方法,其中,所述由前缀部分编码的值与所述非一 元编码的后缀部分的长度相关联,使得所述非一元编码的后缀部分的长度是所述由前缀部 分编码的值的指数函数。
[0278] 8.根据前述项中任一项所述的方法,其中,所述由前缀部分编码的值和所述非一 元编码的后缀部分的长度之间的关系是,使得所述非一元编码的后缀部分的最大长度不大 于选自由W下组成的列表的最大值:每个所述待编码的数据值的最大位数;和预定最大值。
[0279] 9.根据前述项中任一项所述的方法,其中,所述前缀部分被自身编码为指数 Go Iomb 码。
[0280] 10.根据前述项中任一项所述的方法,其中,将所述前缀长度被封顶为最大前缀长 度值。
[0281] 1 1 .根据项1 0所述的方法,其中,所述最大前缀长度值取决于值 maxTrDy nam i cRange,其是所述用于编码的数据值的动态范围。
[0282] 12.根据项11所述的方法,其中,所述最大前缀长度等于29-maxTrDynamicRange。
[0283] 13.根据前述项中任一项所述的方法,其中,所述数据集之一是指示非零最高有效 数据部分相对于数据值的阵列的位置的有效映图。
[0284] 14.根据项13所述的方法,其中,所述有效映图包括指示,根据预定的所述数据值 阵列的排序,具有非零值的所述最高有效的数据部分的最后一个的位置的数据标志。
[0285] 15.根据项13所述的方法,其中,所述数据集包括:
[0286] 指示大于1的最高有效数据部分相对于所述数据值的阵列的位置的大于一映图, 和
[0287] 指示大于2的最高有效数据部分相对于所述数据值的阵列的位置的大于二映图。
[0288] 16. -种数据解码装置的操作方法,所述方法包括:
[0289] 数据解码装置将输入编码数据值编码为数据集,和用于未由所述数据集编码的值 的转义码,该转义码包括前缀部分和具有按位计的长度的非一元编码后缀部分,根据对于 至少一些由所述前缀部分编码的值,使得所述非一元编码后缀部分的长度大于所述前缀部 分的按位计的长度的关系,非一元编码后缀部分的长度取决于由所述前缀部分编码的值。
[0290] 17 . -种计算机软件,当通过计算机执行时,使所述计算机进行根据前述项中任一 项所述的方法。
[0巧1 ] 18. -种数据编码装置,包括:
[0292] 编码器,配置为将数据值的阵列编码为数据集,和用于未由所述数据集编码的值 的转义码,转义码包括前缀部分和非一元编码后缀部分,非一元编码后缀部分具有按位计 的长度,根据对于至少一些由所述前缀部分编码的值使得所述非一元编码后缀部分的长度 大于所述前缀部分的按位计的长度的关系,该长度取决于由所述前缀部分编码的值。
[0293] 19. -种数据解码装置,包括:
[0294] 解码器,被配置为将输入编码数据值解码为数据集和用于未由所述数据集编码的 值的转义码,转义码包括前缀部分和非一元编码后缀部分,非一元编码后缀部分具有W位 计的长度,根据对于至少一些由所述前缀部分编码的值使得所述非一元编码后缀部分的长 度大于W位计的所述前缀部分的长度的关系,所述长度取决于由所述前缀部分编码的值。 [02M] 20.-种视频数据捕捉、传输、显示和/或存储装置,包括根据项18或权利要求19所 述的装置。
[0296] 在W下的编号项中限定本公开各个进一步的方面和特征:
[0297] 1. -种数据解码装置,包括:
[0298] 解码器,被配置为将输入编码数据值解码为具有位深的解码数据值,输入编码数 据值被编码为数据集和用于未由所述数据集编码的值的转义码,转义码包括前缀部分和非 一元编码后缀部分,前缀部分具有W最大前缀长度封顶的前缀长度,所述最大前缀长度取 决于所述数据值的位深,W及非一元编码后缀部分具有按位计的长度,根据对于至少一些 所述由前缀部分编码的值,使得所述非一元编码后缀部分的长度大于W位计的所述前缀部 分的长度的关系,非一元编码后缀部分的长度取决于由所述前缀部分编码的值。
[0299] 2.根据项1所述的装置,其中,所述前缀部分包括一元编码值。
[0300] 3.根据项2所述的装置,其中,所述前缀部分包括截断一元编码的值。
[0301] 4.根据项1至3中任一项所述的装置,包括控制器,该控制器被配置为访问一个或 多个表,在表中,所述由前缀部分编码的值和所述非一元编码的后缀部分的长度是关联的。
[0302] 5.根据项4所述的装置,其中,所述控制器配置为,根据选自W下所组成的组中的 一个或多个,选择关联所述由前缀部分编码的值与所述非一元编码的后缀部分的长度的所 述表中的一个:(i)与所述编码的数据值相关联的数据标志;和(ii)得自一个或多个先前编 码的数据值的参数。
[0303] 6.根据项1至3中任一项所述的装置,其中,由前缀部分编码的值所述非一元编码 后缀部分的长度相关联,使得所述非一元编码的后缀部分的长度是由前缀部分编码的值的 指数函数。
[0304] 7.根据项1至3中任一项所述的装置,其中,由所述前缀部分编码的值和所述非一 元编码的后缀部分的长度之间的关系是,使得所述非一元编码后缀部分的最大长度不大于 选自由W下组成的列表的最大值:每个所述待编码的数据值的最大位数;和预定的最大值。
[0305] 8.根据前述项中任一项所述的装置,其中,所述前缀部分被自身编码为指数 Go Iomb 码。
[0306] 9.根据前述项中任一项所述的装置,其中,所述前缀长度被封顶为取决于所述数 据值的位深加六的最大前缀长度。
[0307] 10.根据前述项中任一项所述的装置,其中,所述最大前缀长度等于预定常数减去 等于用于编码的所述数据值的动态范围的值。
[0308] 11.根据项10所述的装置,其中,所述预定常数等于29。
[0309] 12.根据项10所述的装置,其中,所述预定常数等于28。
[0310] 13.根据前述项中任一项所述的装置,其中,所述数据集之一是指示非零最高有效 数据部分相对于数据值的阵列的位置的有效映图。
[0311] 14.根据项13所述的装置,其中,所述有效映图包括指示,根据预定的所述数据值 阵列的排序,具有非零值的所述最高有效的数据部分的最后一个的位置的数据标志。
[0312] 15. -种数据解码装置的操作方法,所述方法包括:
[0313] 数据解码装置将输入编码数据值解码为具有位深的解码数据值,所述输入编码数 据值编码为数据集,和用于未由所述数据集编码的值的转义码,该转义码包括前缀部分和 非一元编码后缀部分,所述前缀部分具有W最大前缀长度封顶的前缀长度,所述最大前缀 长度取决于所述数据值的位深,非一元编码后缀部分具有按位计的长度,根据对于至少一 些所述由前缀部分编码的值,使得所述非一元编码后缀部分的长度大于所述前缀部分的按 位计的长度的关系,非一元编码后缀部分的长度由所述前缀部分编码的值。
[0314] 16 . -种计算机软件,当由计算机执行时,使所述计算机进行根据项15所述的方 法。
[0315] 17.-种非临时性机器可读存储介质,其存储根据项16所述的计算机软件。
[0316] 18. -种数据编码装置,包括:
[0317] 编码器,被配置为将具有位深的数据值的阵列编码为数据集,和用于未由所述数 据集编码的值的转义码,该转义码包括前缀部分和非一元编码后缀部分,所述前缀部分具 有W最大前缀长度封顶的前缀长度,所述最大前缀长度取决于所述数据值的位深,所述非 一元编码后缀部分具有按位计的长度,根据对于至少一些所述由前缀部分编码的值使得所 述非一元编码后缀部分的长度大于所述前缀部分的按位计的长度的关系,所述非一元编码 后缀部分的长度取决于由所述前缀部分编码的值。
[0318] 19.根据项18所述的装置,其中,所述前缀部分包括一元编码值。
[0319] 20.根据项19所述的装置,其中,所述前缀部分包括截位的断一元编码值。
[0320] 21.根据项18至20中任一项所述的装置,包括控制器,所述控制器被配置为访问一 个或多个表,在所述表中,由所述前缀部分编码的值和所述非一元编码的后缀部分的长度 是关联的。
[0321] 22.根据项21所述的装置,其中,所述控制器配置为,根据选自W下所组成的组中 的一个或多个,选择关联所述由前缀部分编码的值与所述非一元编码的后缀部分的长度的 所述表中的一个:(i)与所述编码的数据值相关联的数据标志;和(ii)得自一个或多个先前 编码的数据值的参数。
[0322] 23.根据项18至20中任一项所述的装置,其中,由所述前缀部分编码的值与所述非 一元编码的后缀部分的长度相关联,使得所述非一元编码后缀部分的长度是由所述前缀部 分编码的值的指数函数。
[0323] 24.根据项18至20中任一项所述的装置,其中,由所述前缀部分编码的值和所述非 一元编码的后缀部分的长度之间的关系是,使得所述非一元编码的后缀部分的最大长度不 大于选自由W下组成的列表的最大值:每个所述待编码的数据值的最大位数;和预定的最 大值。
[0324] 25.根据项18至24中任一项所述的装置,其中,所述前缀部分自编码为指数Golomb 码。
[0325] 26.根据项18至25中任一项所述的装置,其中,所述最大前缀长度等于预定常数减 去等于用于编码的所述数据值的动态范围的值。
[0326] 27.根据项26所述的装置,其中,所述预定常数等于29。
[0327] 28.根据项26所述的装置,其中,所述预定常数等于28。
[0328] 29.根据项18至28中任一项所述的装置,其中,所述数据集之一是指示非零最高有 效数据部分相对于数据值的阵列的位置的有效映图。
[0329] 30.根据项29所述的装置,其中,所述有效映图包括指示,根据预定的所述数据值 阵列的排序,具有非零值的所述最高有效数据部分的最后一个的位置的数据标志。
[0330] 31.根据项29或权利要求30所述的装置,其中,所述数据集包括:
[0331] 指示大于1的最高有效数据部分相对于所述数据值的阵列的位置的大于一映图, 和
[0332] 指示大于2的最高有效数据部分相对于所述数据值的阵列的位置的大于二映图。
[0333] 32. -种数据编码装置的操作方法,所述方法包括:
[0334] 数据编码装置将数据值的阵列编码为具有位深的数据集和用于未由所述数据集 编码的值的转义码,转义码包括具有封顶于最大前缀长度的前缀长度的前缀部分,所述最 大前缀长度取决于所述数据值的位深,W及具有W位计的长度的非一元编码后缀部分,根 据对于至少一些所述由前缀部分编码的值所述非一元编码后缀部分的长度大于所述前缀 部分的按位计的长度的关系,所述非一元编码后缀部分的长度取决于由所述前缀部分编码 的值。
[0335] 33 . -种计算机软件,当由计算机执行时,使所述计算机进行根据项32所述的方 法。
[0336] 34.-种非临时性机器可读存储介质,其存储根据项33所述的计算机软件。
[0337] 35.-种视频数据捕捉、传输、显示和/或存储装置,包括根据项1至14和18至31中 任一项所述的装置。
[0338] 应注意,为选择或另外建立前缀长度和后缀长度之间的关系,和/或选择或另外建 立最大前缀长度的解码器或编码器的功能,或解码方法或编码方法的功能性步骤,可W由 控制器等进行,如(在上述的一些实施例中)控制器345。
[0339] 如先前讨论的,应注意,W上项的装置特征可W由如先前讨论的编码器或解码器 的相应特征实现。
【主权项】
1. 一种数据解码装置,包括: 解码器,被配置为将输入编码数据值解码为具有位深的解码数据值,所述输入编码数 据值被编码为数据集,和用于未由所述数据集编码的值的转义码,所述转义码包括前缀部 分和非一元编码后缀部分,所述前缀部分具有以最大前缀长度封顶的前缀长度,所述最大 前缀长度取决于所述数据值的位深,所述非一元编码后缀部分具有按位计的长度,根据对 于至少一些由所述前缀部分编码的值所述非一元编码后缀部分的长度大于所述前缀部分 的按位计的长度的关系,所述非一元编码后缀部分的长度取决于由所述前缀部分编码的 值。2. 根据权利要求1所述的装置,其中,所述前缀部分包括一元编码值。3. 根据权利要求2所述的装置,其中,所述前缀部分包括截断一元编码值。4. 根据权利要求1所述的装置,包括控制器,所述控制器被配置为访问一个或多个表, 在所述表中,由所述前缀部分编码的值和所述非一元编码后缀部分的长度是关联的。5. 根据权利要求4所述的装置,其中,所述控制器被配置为,根据选自以下所组成的组 中的一个或多个,选择关联由所述前缀部分编码的值与所述非一元编码后缀部分的所述长 度的所述表中的一个:(i)与所述编码数据值相关联的数据标志;和(ii)得自一个或多个先 前编码的数据值的参数。6. 根据权利要求1所述的装置,其中,由所述前缀部分编码的值与所述非一元编码后缀 部分的所述长度相关联,使得所述非一元编码后缀部分的所述长度是由所述前缀部分编码 的值的指数函数。7. 根据权利要求1所述的装置,其中,由所述前缀部分编码的值和所述非一元编码后缀 部分的长度之间的关系是,使得所述非一元编码后缀部分的最大长度不大于选自由以下组 成的列表的最大值:每个待编码的数据值的最大位数;和预定最大值。8. 根据权利要求1所述的装置,其中,所述前缀部分被自编码为指数Golomb码。9. 根据权利要求1所述的装置,其中,所述前缀长度被封顶为取决于所述数据值的位深 加6的最大前缀长度。10. 根据权利要求1所述的装置,其中,所述最大前缀长度等于预定常数减去等于用于 编码的所述数据值的动态范围的值。11. 根据权利要求10所述的装置,其中,所述预定常数等于29。12. 根据权利要求10所述的装置,其中,所述预定常数等于28。13. 根据权利要求1所述的装置,其中,所述数据集之一是指示非零最高有效数据部分 相对于所述数据值的阵列的位置的有效映图。14. 根据权利要求13所述的装置,其中,所述有效映图包括指示,根据预定的所述数据 值的阵列的排序,具有非零值的所述最高有效数据部分的最后一个的位置的数据标志。15. -种数据解码装置的操作方法,所述方法包括: 数据解码装置将输入编码数据值解码为具有位深的解码数据值,所述输入编码数据值 被编码为数据集,和用于未由所述数据集编码的值的转义码,所述转义码包括前缀部分和 非一元编码后缀部分,所述前缀部分具有以最大前缀长度封顶的前缀长度,所述最大前缀 长度取决于所述数据值的位深,所述非一元编码后缀部分具有按位计的长度,根据对于至 少一些由所述前缀部分编码的值使得所述非一元编码后缀部分的长度大于所述前缀部分 的按位计的长度的关系,所述非一元编码后缀部分的长度取决于由所述前缀部分编码的 值。16. -种计算机软件,当由计算机执行时,使所述计算机执行根据权利要求15所述的方 法。17. -种非临时性机器可读存储介质,所述存储介质存储根据权利要求16所述的计算 机软件。18. -种数据编码装置,包括: 编码器,被配置为将具有位深的数据值的阵列编码为数据集和用于未由所述数据集编 码的值的转义码,所述转义码包括前缀部分和非一元编码后缀部分,所述前缀部分具有以 最大前缀长度封顶的前缀长度,所述最大前缀长度取决于所述数据值的位深,所述非一元 编码后缀部分具有按位计的长度,根据对于至少一些由所述前缀部分编码的值使得所述非 一元编码后缀部分的长度大于所述前缀部分的按位计的长度的关系,所述非一元编码后缀 部分的长度取决于由所述前缀部分编码的值。19. 根据权利要求18所述的装置,其中,所述前缀部分包括一元编码值。20. 根据权利要求19所述的装置,其中,所述前缀部分包括截断一元编码值。21. 根据权利要求18所述的装置,包括控制器,所述控制器被配置为访问一个或多个 表,在所述表中,由所述前缀部分编码的值和所述非一元编码后缀部分的长度是关联的。22. 根据权利要求21所述的装置,其中,所述控制器被配置为,根据选自以下所组成的 组中的一个或多个,选择关联由所述前缀部分编码的值与所述非一元编码后缀部分的长度 的所述表中的一个:(i)与所述编码数据值相关联的数据标志;和(ii)得自一个或多个先前 编码的数据值的参数。23. 根据权利要求18所述的装置,其中,由所述前缀部分编码的值与所述非一元编码后 缀部分的长度相关联,使得所述非一元编码后缀部分的所述长度是由所述前缀部分编码的 值的指数函数。24. 根据权利要求18所述的装置,其中,由所述前缀部分编码的值和所述非一元编码后 缀部分的长度之间的关系是,使得所述非一元编码后缀部分的最大长度不大于选自由以下 组成的列表的最大值:每个待编码的数据值的最大位数;和预定最大值。25. 根据权利要求18所述的装置,其中,所述前缀部分被自编码为指数Golomb码。26. 根据权利要求18所述的装置,其中,所述最大前缀长度等于预定常数减去等于用于 编码的所述数据值的动态范围的值。27. 根据权利要求26所述的装置,其中,所述预定常数等于29。28. 根据权利要求26所述的装置,其中,所述预定常数等于28。29. 根据权利要求18所述的装置,其中,所述数据集之一是指示非零最高有效数据部分 相对于所述数据值的阵列的位置的有效映图。30. 根据权利要求29所述的装置,其中,所述有效映图包括指示,根据预定的所述数据 值的阵列的排序,具有非零值的所述最高有效数据部分的最后一个的位置的数据标志。31. 根据权利要求29所述的装置,其中,所述数据集包括: 指示大于1的最高有效数据部分相对于所述数据值的阵列的位置的大于一映图,和 指示大于2的最高有效数据部分相对于所述数据值的阵列的位置的大于二映图。32. -种数据编码装置的操作方法,所述方法包括: 数据编码装置将数据值的阵列编码为具有位深的数据集,和用于未由所述数据集编码 的值的转义码,所述转义码包括前缀部分和非一元编码后缀部分,所述前缀部分具有以最 大前缀长度封顶的前缀长度,所述最大前缀长度取决于所述数据值的位深,所述非一元编 码后缀部分具有按位计的长度,根据对于至少一些由所述前缀部分编码的值使得所述非一 元编码后缀部分的长度大于所述前缀部分的按位计的长度的关系,所述非一元编码后缀部 分的长度取决于由所述前缀部分编码的值。33. -种计算机软件,当由计算机执行时,使所述计算机执行根据权利要求32所述的方 法。34. -种非临时性机器可读存储介质,所述存储介质存储根据权利要求33所述的计算 机软件。35. -种视频数据捕捉、传输、显示和/或存储装置,包括根据权利要求1所述的装置。
【文档编号】H04N19/14GK105850125SQ201480070778
【公开日】2016年8月10日
【申请日】2014年11月7日
【发明人】詹姆斯·亚历山大·戈梅, 卡尔·詹姆斯·沙曼
【申请人】索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1