能够至少依据一个语法元素解码结果来控制扫描程序的重复次数的解码装置与相关的解...的制作方法

文档序号:10579295阅读:280来源:国知局
能够至少依据一个语法元素解码结果来控制扫描程序的重复次数的解码装置与相关的解 ...的制作方法
【专利摘要】一种解码装置包含算术解码器与控制器。控制器中的计数逻辑依据第一语法元素解码结果产生第一统计结果。控制器中的控制逻辑指示算术解码器来执行第一扫描程序至少一次,以产生至少一部分转换系数的第一语法元素解码结果,至少部分依据第一统计结果控制第二扫描程序的重复次数,并且指示算术解码器来执行第二扫描程序至少一次,来产生至少一部分转换系数的第二语法元素解码结果,其中当算术解码器执行一次该第一扫描程序时,该第一扫描程序解码该多个转换系数中的一个转换系数的第一编码的语法元素,其中当算术解码器执行一次该第二扫描程序时,该第二扫描程序解码该多个转换系数中的一个转换系数的第二编码的语法元素。
【专利说明】能够至少依据一个语法元素解码结果来控制扫描程序的重复 次数的解码装置与相关的解码方法
[0001 ] 优先权声明
[0002] 本申请主张在2014年1月24日提出申请的美国临时专利申请第61 /931,094号的权 利,且上述美国专利申请W引用方式并入本文中。
技术领域
[0003] 本发明与转换系数解码有关,更具体来说,与一种能够依据至少一语法元素解码 结果来控制扫描程序的重复次数的解码装置W及相关的方法有关。
【背景技术】
[0004] 高效视频编码化EVC)是一种后继于H.264/AVC(Advanced Video Coding)标准的 视频编码标准。其主要的特点是提供较佳的压缩效率而不具有可侦测到的视觉质量的损 失。相似地,皿VC使用空间与时间预测、预测冗余的转换W及转换与预测信息的赌编码。依 据肥VC,基本处理单元是编码树单元(coding tree unit,CTU),运是H.264/AVC内容的中的 宏区块(MB)的归纳。每一个CTU具有一个相关的四叉树结构(qua化ree Struc化re),其具体 说明了 CTU是怎么分割的。运样的分割产生编码单元(CU)。一个编码单元使用帖内预测或者 帖间预测,并且再分为预测单元(PU)。此外,一个嵌套的四叉树,作为冗余四叉树(residual qua化ree,RQT),将一个编码单元分割为转换单元(transform unit,TU)。关于赌编码,肥VC 使用上下文自适应二进制算数编码(employs context-adaptive binary arithmetic coding,CABAC)。每一转换单元的4x 4转换系数区块中的转换系数依据一个选择的扫描模 式使用CABAC编码,扫描模式举例来说为对角扫描模式(diagonal scan pattern)、水平扫 描模式化〇rizon1:al scan pattern)或者垂直扫描模式(vertical scan pattern)。通常, 使用一个扫描来转换一个二维(2D)转换系数区块为一个一维(ID)转换系数阵列,并且也定 义了编码转换系数的处理顺序。
[0005] 在编码端,一个或者多个语法元素用来编码在4x 4转换系数区块中的每一转换系 数。解码程序是编码程序的逆程序。因此,在解码端,针对在4x 4转换系数区块中的每一转 换系数,一个或者多个语法元素被解码。一个传统的赌解码器使用不同扫描程序(SP)来分 别决定不同的语法元素。具体来说,传统的赌解码器是用来针对一个4x 4转换系数区块中 中每一系数位置执行扫描程序。由于一个4x 4转换系数区块具有16个转换系数,对应16个 不同的系数位置,一个扫描程序重复16次。即,一个扫描程序的重复次数是16。然而,很可能 赌编码器并没有编码一个特定转换系数的一个特定语法元素,针对对应该特定转换系数的 系数位置执行一个特定的扫描程序是不必要的,运将影响解码效率。因此,需要一种创新的 赌解码器设计,能够减少至少一个扫描程序的重复次数,从而增进解码效率。

【发明内容】

[0006] 本发明的目的之一听一种解码装置W及相关的方法,能够依据至少一个语法元素 解码结果来控制扫描程序的重复次数。
[0007] 本发明的一实施例提供了一种用于解码一个转换系数区块的比特流的解码装置。 该转换系数区块包含多个转换系数。该解码装置包含算术解码器与控制器。算术解码器用 来执行算术解码。控制器包含计数逻辑与控制逻辑。计数逻辑用来依据第一语法元素解码 结果产生第一统计结果。控制逻辑用来指示该算术解码器来执行第一扫描程序至少一次, W产生至少一部分转换系数的第一语法元素解码结果,至少部分依据该第一统计结果控制 第二扫描程序的重复次数,并且指示该算术解码器来执行该第二扫描程序至少一次,来产 生至少一部分转换系数的第二语法元素解码结果,其中当该算术解码器执行一次该第一扫 描程序时,该第一扫描程序解码该多个转换系数中的一个转换系数的第一编码的语法元 素,其中当该算术解码器执行一次该第二扫描程序时,该第二扫描程序解码该多个转换系 数中的一个转换系数的第二编码的语法元素。
[0008] 依据本发明的另一实施例提供了一种控制解码转换系数区块的比特流的解码方 法。该转换系数区块包含多个转换系数。该解码方法包含:指示算术解码器来执行第一扫描 程序至少一次,W产生至少一部分转换系数的第一语法元素解码结果,其中当该算术解码 器执行一次该第一扫描程序时,该第一扫描程序解码该多个转换系数中的一个转换系数的 第一编码的语法元素;依据该第一语法元素解码结果产生第一统计结果;W及至少部分依 据该第一统计结果控制第二扫描程序的重复次数,并且指示该算术解码器来执行该第二扫 描程序至少一次,来产生至少一部分转换系数的第二语法元素解码结果,其中当该算术解 码器执行一次该第二扫描程序时,该第二扫描程序解码该多个转换系数中的一个转换系数 的第二编码的语法元素,W产生第二语法元素。
[0009] 在本领域的技术人员阅读了如下的本发明的细节说明与附图之后,可了解本发明 的其他目的。
【附图说明】
[0010] 图1是依据本发明的一实施例的解码装置的举例说明。
[0011] 图2是依据本发明的一实施例的一帖中包含的转换系数区块W及适用于编码该转 换系数区块中的多个转换系数的扫描模式的示意图。
[0012] 图3是依据本发明的一实施例的解码一个4x 4转换系数区块的解码流程的流程 图。
[0013] 图4是依据本发明的一实施例用于存储非零转换系数的位置信息与中间值信息的 第一数据结构的举例说明。
[0014] 图5是依据本发明的另一实施例的用于存储非零转换系数的位置信息与中间值信 息的第二数据结构的举例说明。
[0015] 图6是在针对对应的非零转换系数的每一位置已执行扫描程序之后,存储非零转 换系数的中间值的存储阶段的示意图。
[0016] 图7是在针对对应的每一具有大于1的绝对值的非零转换系数的每一位置已执行 扫描程序之后,存储非零转换系数的中间值的存储阶段的示意图。
[0017] 图8是在针对对应的每一具有大于1的绝对值的非零转换系数的每一位置已执行 扫描程序之后,存储非零转换系数的中间值的另一存储阶段的示意图。
[0018] 图9是依据本发明的实施例的控制解码一个转换系数区块的比特流的方法的流程 图。
【具体实施方式】
[0019] 整个说明书和权利要求书采用确定的术语来指代特定的部件。正如本领域的技术 人员将理解的是,制造商可W使用不同的名称来指代某一部件。本文件无意于区分那些名 称不同但功能相同的部件。在下面的说明书和权利要求书中,用开放式方式使用术语"包 含"和"包括",因此应当被解释为"包含,但是不限于……"。同样地,术语"禪合"既可W表示 间接电气连接也可W表示直接电气连接。因此,如果一个设备与另一个设备禪合,其连接可 W是通过直接电气连接或者是通过其他设备和连接件的间接电气连接。
[0020] 图1是依据本发明的一实施例的一种解码装置的示意图。举例来说,解码装置100 是肥VC解码器的一部分。在运个实施例中,解码装置100包含控制器102、算术解码器 (arithmetic decoder) 104W及一个存储装置106,并且能够解码一个视频帖的一个转换系 数区块的一个比特流BSbk。算术解码器104用来针对转换系数区块的比特流BSbk执行算术解 码,例如CABAC解码程序,其中比特流BSbk包含转换系数区块中的多个转换系数的已编码的 二进制序列(bins)。在运个实施例中,算术解码器104包含算术解码单元112、计算器114W 及一个更新单元116。算术解码单元112具有一个常规模式(regular-mode)解码引擎(未显 示)W及一个旁通模式(bypass-mode)解码引擎(未显示)。算术解码单元112可同时解码至 少一个语法元素的一个二进制值。
[0021] 当一个二进制值(即一个比特)是通过旁通模式来编码的,使能旁通模式解码引擎 来解码该二进制值。需注意的是,在旁通模式解码程序中没有设及文本选择与文本更新。因 此,计算器114W及更新单元116可能在旁通模式解码程序中不工作。然而,当一个二进制值 (即一个比特)是通过常规模式来编码的,使能常规模式解码引擎来解码该二进制值。如本 领域技术人员所知,在常规模式中的CABAC解码可包含文本选择程序、算术解码程序W及文 本更新程序。因此,计算器114与更新单元116在常规模式解码程序中被激活。计算器114与 更新单元116的更多细节将在W下部分中详细说明。
[0022] 存储装置106的第二存储单元118可W使用一个静态随机存取记忆体(SRAM)来实 现。第二存储单元118用来存储上下文变量(context variables)(即上下文模式数据),其 中每一上下文变量对应一个语法元素的二进制值的可能值W及每一可能值的可能性。计算 器114用来通过决定上下文索引CtxIdx来处理上下文选择程序,从而由上下文索引CtxIdx 所指示的上下文变量从第二存储单元118中读出,并且提供给算术编码单元112。上下文索 引CtxIdx可通过上下文索引偏移CtxOff set W及上下文索引增量CtxInc的和来表示。上下 文索引偏移CtxOffset是依据语法元素的类型来唯一定义的。换言之,当待解码的一个二进 制值是第一语法元素的一部分时,上下文索引偏移CtxOff set通过第一预定值来设定,并且 当待解码的二进制值是第二语法元素的一部分时,上下文索引偏移CtxOffset是通过第二 预定值来设定。
[0023] 计算器114在上下文选择程序中评估上下文索引增量ctxinc。在一个实施例中,计 算器114具有多个专属逻辑,每一专属逻辑是用来计算一个对应的语法元素的上下文索引 增量ctxinc。在另一个实施例中,计算器114具有多个通用的基本逻辑,并且每一语法元素 的上下文索引增量CtxInc可W通过所有的通用基本逻辑中的一部分的组合来计算。然而, 运仅仅是举例说明使用,而并非是本发明的限制。
[0024] 算术解码单元112的常规模式解码引擎通过依据待解码的二进制值的选择的上下 文变量产生的二进制值来处理算术解码程序。更新单元116用来处理上下文更新程序。具体 来说,在一个二进制的解码程序完成之后,更新单元116依据二进制值的解码结果(即算术 解码单元112的常规模式解码引擎产生的二进制值)更新在第二存储单元118中的对应的上 下文变量。
[0025] 在比特流BSbk的一部分例如一个编码语法元素的所有二进制位被算术解码单元 112的常规模式解码引擎或者旁通模式解码引擎成功解码之后,一个代表语法元素SE的二 进制字符串据此产生。
[00%]在运个实施例中,控制器102禪接至算术解码器104,并且用来指示算术解码器104 来执行多个不同的扫描程序,每一扫描程序用来解码转换系数区块的比特流BSbk中获得的 部分比特流,来产生转换系数区块的一个转换系数的语法元素SE。在编码端,转换系数区块 的转换系数使用算术编码(例如CABAC编码程序)来编码,从而比特流BSbk从编码转换系数区 块的转换系数产生。
[0027]图2是依据本发明的实施例的一个视频帖的一个转换系数区块W及适用于编码该 转换系数区块中包含的转换系数的示意图。转换系数区块BK的尺寸是4x 4。因此,如图2的 子图(A)所示,转换系数区块BK包含16个转换系数Co-Cis,分别对应16个位置(0,0)-(3,3)。 当使用如图2的子图(B)所示的对角扫描模式时,转换系数区块BK中的转换系数Co-Cis是通 过对角扫描模式所定义的处理顺序来扫描的。因此,转换系数Cis是第一个扫描的转换系数, 并且转换系数Cg是最后一个扫描的转换系数。最多五个扫描程序可应用至转换系数Co-Cis, 并且所有的扫描程序遵循相同的扫描模式。每一扫描程序是用来编码转换系数Co-Cis中的 一个转换系数的语法元素。在每一扫描程序中,仅仅当需要时才编码语法元素。由于解码操 作是编码操作的逆操作。因此,由控制器102控制的算术解码器104执行最多五次扫描程序 来解码转换系数区块服中包含的转换系数Co-Cis的所有编码的语法元素。举例来说,一个特 定的扫描程序一旦当被算术解码器104执行时,可解码从转换系数区块的输入比特流BSbk中 获得的部分比特流,来输出一个转换系数的一个特定语法元素。
[00%]除了指示算术解码器104来执行不同的扫描程序,控制器102更进一步依据一个从 不同的扫描程序产生的语法元素解码结果来控制扫描程序的重复次数(即一个扫描程序的 执行次数),或者依据一个从不同的扫描程序产生的多个语法元素解码结果来控制扫描程 序的重复次数。在运个实施例中,控制器102包含控制逻辑122W及计数逻辑124。计数逻辑 124是用来依据算术解码器104所执行的一个或者多个扫描程序所产生的解码结果来产生 一个或者多个统计结果(例如计数值NCi与NC2)。举例来说,计数逻辑124可依据语法元素解 码结果(例如化6_1)产生第一统计结果(例如计数值NCi),并且进一步依据至少两个语法元 素解码结果(例如Dse_2与化e_3)产生第二统计结果(例如计数值NC2)。控制逻辑122参考至少 一个统计结果(例如计数值NCi与NC2中的一个)来控制一个特定扫描程序的重复次数。W运 样的方式,算术解码器104执行特定扫描程序的次数可被控制小于转换系数区块BK中的转 换系数Co-Cis的数量,因此获得较好的解码效率。更进一步的细节将如下详述。
[0029]图3是依据本发明的实施例的解码一个4x 4转换系数区块的示意图。开始,控制器 102的控制逻辑122指示算术解码器104来执行扫描程序SPi至少一次(例如16次),其中算术 解码器104所执行的扫描程序SPi解码一部分比特流,其中该部分比特流包含转换系数Co- Cis中的一个转换系数的一个已编码语法元素,来产生一个语法元素Si即ificant_coeff_ flag。在运个实施例中,控制逻辑122控制扫描程序SPi的重复次数化是16,从而算术解码器 104产生转换系数Co-Ci日中的每一个转换系数的语法元素Si即if icant_coeff_f lag。换言 之,针对转换系数区块BK中的位置(0,0)-(3,3)中的每一个位置执行扫描程序SPi。因此,转 换系数Co-Cis的语法元素解码结果DsE_lof包含所有转换系数Co-Cis的语法元素 si即if ;[。曰]11:_(3〇6';1^_;1^1曰旨,其中每一语法元素si即if icant_coeff_f lag指示对应的转换系 数是否是非零。举例来说,当significant_coeff_flag = l,表示对应的转换系数具有一个 非零值,并且当significant_coeff_flag = 0,表示对应的转换系数具有零值。更进一步,当 一个特定的转换系数的语法元素significant_coeff_flag指示该特定的转换系数是非零 值时,该特定的转换系数可视为具有一个等于1的中间值,并且应该检查附加语法元素来决 定该特定的转换系数的一个最终值。然而,当特定转换系数的语法元素significant coeff_flag指示特定的转换系数是零值时,该特定的转换系数的最终值确认为零值,并且 也不需要再检查附加的语法元素,附加的语法元素包含coeff_abs_level_greate;rl_flag、 coeff_abs_level_greater2_f lag、coeff_sign_f lag 与 coeff_abs_level_remaining。具体 来说,转换系数区块BK的比特流BSbk可能没有特定的转换系数的编码的语法元素coeff_ abs_level_greaterl_flag、coeff_abs_level_greater2_flag、coeff_sign_flag与coeff- abs_level_remaining。针对特定的转换系数中的一个位置的后续的扫描程序SP2、SP3、SP4 与SPs可省略。
[0030] 计数逻辑124用来参考转换系数Co-Cis的语法元素解码结果化£_1(即转换系数Co- 打5的语法元素31旨]11門。曰]11:_(306'仁門曰旨),来计数每一个具有非零值的转换系数的数量,并 据此输出一个计数值NCi至控制逻辑122。控制逻辑122可存储计数值NCi至暂存器 (register)REGi,作为未来使用。在运个实施例中,控制逻辑122是用来依据计数值NCi控制 扫描程序SP2的重复次数化W及/或者扫描程序SP2的重复次数N4。此外,计数值NCi可用来决 定扫描程序SPs的重复次数化。
[0031] 为了帮助非零转换系数的最终值的计算W及后续扫描程序的重复次数的计算,控 制逻辑122更进一步用来存储扫描程序SPi所找到的非零的转换系数的位置信息W及中间 值信息至存储装置106的第一存储单元117。通过举例说明,而并非限制,第一存储单元117 可使用暂存器实现。
[0032] 图4是依据本发明的实施例的用来存储非零转换系数的位置信息与中间值的第一 数据结构。在运个例子中,一个ID阵列402可用来存储位置信息,并且另一个ID阵列404用来 存储中间值信息。假设转换系数C日、C日、C8、Cl日与Cl3的语法元素si即ificant_coeff_flag指 示对应的转换系数具有非零值,剩余转换系数的语法元素significant_coeff_flag指示对 应的转换系数具有零值。阵列402的阵列元素Eii-Eis分别存储位置信息(0,0)、( 1,1 )、(2, 0)、(2,2)与(3,1),阵列404的阵列元素E21-E25分别存储中间值信息与1。
[0033] 图5是依据本发明另一实施例的用于存储非零转换系数的位置信息与中间值的第 二数据结构的示意图。在运个例子中,一个2D阵列(例如4x 4阵列)502用来存储位置信息与 中间值信息,其中位置信息使用索引值记录,中间值信息记录在由位置信息索引的阵列元 素。为了清楚与简单,假设如图5所示的数据结构是通过第一存储单元117来实现。
[0034] 在运个例子中,转换系数C日、C日、C8、Cl日与Cl3的语法元素si即ificant_coeff_flag 指示转换系数Co、C5、C8、Clo与Cl3具有非零值。因此,计数值NCl设置为5,并且存储在暂存器 REGi。接着,控制器102的控制逻辑122指示算术解码器104来执行至少一次的另一扫描程序 SP2,其中由算术解码器104来执行一次扫描程序SP2解码一部分比特流,该部分比特流包含 转换系数Cq-Cis中的一个的编码的语法元素,来产生一个语法元素coeff_abs_level_ greaterl_f lag。在运个实施例中,控制逻辑122至少部分依据语法元素解码结果化E_1来控 制扫描程序SP2的重复次数化。具体来说,控制逻辑122依据从语法元素解码结果化E_1获得 的计数值NCi来控制扫描程序SP2的重复次数N2。依据皿VC,语法元素coeff_abs_level_ greaterl_flag针对4x4转换系数区块中的最多8个非零转换系数来编码。控制逻辑122用来 比较计数值NCi与一个阔值(例如8),并且依据比较结果设置扫描程序SP2的重复次数化。举 例来说,如果NCi兰8,则化=NCi;如果NCi〉8,则化=8。因此,当NCi兰別寸,执行扫描程序SP2至 对应依据先前扫描程序SPi指示的所有非零转换系数的位置。当NCi〉8时,执行扫描程序SP2 至对应首先的8个非零转换系数的位置,从而对应剩余的非零转换系数的位置将不通过扫 描程序SP2来检查。
[0035] 针对转换系数区块BK内的位置化执行扫描程序SP2。因此,至少一部分转换系数Co- Cis的语法元素解码结果Dse_2包含化转换系数的语法元素coeff_abs_l eve Lgreater 1_ flag,其中每一语法元素coeff_abs_level_greate;rl_flag指示对应的转换系数是否大于 l。举例来说,当coeff_abs_level_greate;rl_flag=l时,指示对应的转换系数大于l;当 coeff_abs_level_greate;rl_f Iag = O时,指示对应的转换系数不大于1。当一个特定的非零 转换系数的语法元素coeff_abs_level_greate;rl_f lag指示该非零的转换系数大于1时,该 特定的非零转换系数可视为具有一个等于2的中间值,并且需要检查附加语法元素来决定 该特定非零转换系数的最终值。然而,当特定的非零转换系数的语法元素coeff_abs_ level_greaterl_flag指示该特定的非零转换系数不大于1时,该特定的非零转换系数的最 终绝对值确认为1,就不需要检查附件的语法元素,附加的语法元素包含coeff_abs_level_ greater2_flag与coeff_abs_level_remaining。具体来说,转换系数区块服的比特流BSbk可 能不包含特定的非零转换系数的编码的语法元素coeff_abs_level_greater2_flag与 coeff_abs_level_remaining。针对该特定的非零转换系数的一个位置的后续的扫描程序 SP3与SPs可W省略。
[0036] 计数逻辑124参考化个转换系数的语法元素解码结果化e_2(即化个转换系数的语 法元素[06''_曰63_16¥61_旨'6曰161'1_'1曰旨)来计数具有等于1或者2的绝对值的转换系数的 数量,并据此输出另一计数值NC2至控制逻辑122。控制逻辑122可存储计数值NC2在另一个暂 存器REG2中W未来使用。
[0037] 为了说明计算非零转换系数的最终值W及计算后续扫描程序的重复次数,控制逻 辑122依据扫描程序SP2所找到的大于1的非零转换系数更新存储装置106的第一存储单元 117中存储的中间值。假设转换系数。、枯与〔8的语法元素(306''_曰63_16¥61_邑'6曰161'1_'1曰邑 指示转换系数C〇、C5与Cs具有大于1的绝对值。因此,在阵列元素中存储的对应位置(0,0)、 (1,1)与(2,0)的中间值更新为2,如图6所示。需注意的是,由于转换系数CiO与Ci3的语法元 素。06''_日63_16¥61_旨'6日161'1_^日旨指示转换系数(:1日与(:13具有不大于1的绝对值,转换系 数Cio与Cl3的最终绝对值确认为1。由于存在两个非零的转换系数,每一转换系数的绝对值 确认为1,计数值NC2因此确认为2。
[003引接着,控制器102的控制逻辑122指示算术解码器104来执行另一扫描程序SP3至少 一次(例如仅仅一次),其中当算术解码器104执行一次扫描程序SP3时,扫描程序SP3解码部 分比特流,该部分比特流包含转换系数Co-Cis中的一个转换系数的编码的语法元素,W产生 i吾'法元素 coef f_abs_level_greater2_f Ia邑。依据HEVC,i吾'法元素 coeff_abs_level_ greater2_flag针对4x 4转换系数区块中的仅仅1个非零转换系数来编码。因此,在转换系 数区块服的解码程序中,算术解码器104仅仅执行扫描程序SP3-次,从而控制逻辑122直接 设定扫描程序SP3的重复次数化为1。
[0039] 扫描程序SP2仅仅针对语法元素coeff_abs_level_greate;rl_f lag指示的具有大 于1的绝对值的对应的转换系数中的一个位置执行。因此转换系数Co-Cis的至少一部分的语 法元素解码结果化e_3仅仅包含一个转换系数的语法元素coeff_abs_level_greater2_ flag,该转换系数的语法元素。06''_日63_16¥61_旨'6日161'1_^日旨指示其具有大于1的绝对 值,其中语法元素coeff_abs_level_greater2_flag指示对应的转换系数是否大于2。举例 来说,当。〇日''_日63_1日¥日1_旨'日日1日'2_門日旨=1时,指示对应的转换系数的绝对值大于2;当 (3〇6''_日63_1日¥日1_旨'日日1日'2_巧日旨=0时,指示对应的转换系数的绝对值不大于2。当语法元 素特定的非零转换系数的coeff_abs_level_greater2_flag指示该特定的非零的转换系数 的绝对值大于2时,该特定的非零的转换系数可视为具有等于3的中间值,并且需要检查附 加的语法元素来绝对该特定的非零转换系数的最终值。然而,当特定的非零的转换系数的 语法元素coeff_abs_level_greater2_flag指示该特定的非零的转换系数不大于2时,该特 定的非零转换系数的最终绝对值确认为2,因此不再需要检查附加语法元素coeff_abs_ level_remaining。具体来说,转换系数区块BK的比特流B&3两能不具有特定的非零转换系 数的编码的语法元素coeff_abs_level_remaining。针对对应于该特定非零转换系数的一 个位置的后续的扫描程序SPs可省略。
[0040] 计数逻辑124参考一个转换系数的语法元素解码结果化e_3(即一个转换系数的语 法元素[06''_曰63_16¥61_旨'6曰16'2_'1曰旨)来选择性地更新具有等于1或者2的绝对值的转 换系数的数量。当语法元素。0日''_日63_1日¥日1_旨'日日1日'2_^日旨指示对应的转换系数的绝对 值大于2时,存储在暂存器REG2中的计数值N2保持不变。然而,当语法元素coeff_abs_level_ greater2_f lag指示对应的转换系数的绝对值不大于2时,计数逻辑124在当前计数值化上 增加1,并且输出更新的计数值化至控制逻辑122。由于存在两个非零转换系数确认具有等 于1的绝对值W及一个非零转换系数确认具有等于2的绝对值,存储在REG2中的计数值NC2因 此更新为3。
[0041] 假设扫描程序SP3在位置(1,1)执行,对应的转换系数Cs具有大于1的绝对值,并且 转换系数C日的语法元素coeff_abs_level_greater2_flag指示转换系数C日具有大于2的绝对 值。因此存储在阵列元素中对应位置(1,1)的中间值更新为3,如图7所示。需注意的是,只有 转换系数Cio与Ci3的最终绝对值已确认。计数值NC2因此设定为2。
[0042] 假设扫描程序SP3在位置(1,1)执行,对应的转换系数Cs具有大于1的绝对值,并且 转换系数C日的语法元素coeff_abs_level_greater2_flag指示转换系数C日不具有大于2的绝 对值。因此转换系数Cs的最终绝对值确认为2,如图8所示。需注意的是,转换系数C5、Cio与Ci3 的最终绝对值已确认。计数值NC2因此设定为3。
[0043] 接着,控制器102的控制逻辑122指示算术解码器104来执行另一扫描程序SP4至少 一次(例如NCi次),其中当算术解码器104执行一次扫描程序SP4时,扫描程序SP3解码部分比 特流,该部分比特流包含转换系数Co-Cis中的一个转换系数的编码的语法元素,W产生语法 元素(306''_31旨]1_'1曰旨。在运个实施例中,控制逻辑122依据至少语法元素解码结果化£_1来 控制扫描程序SP4的重复次数N4。如上所述,当特定转换系数的语法元素Signif icant_ coeff_f lag指示该特定的转换系数是0时,该特定转换系数的最终值确认为0。因此,不需要 再检查附加语法元素来确认特定转换系数的符号信息(sign information)。控制逻辑122 因此依据从语法元素解码结果化E_1或者的计数值NCi控制扫描程序SP4的重复次数N4。具体 来说,扫描程序SP4的重复次数N4是通过计数值NCi来设定。因此,转换系数Co-Cis的至少一部 分的语法元素解码结果Dse_4包含NCi个转换系数的语法元素coeff_sign_flag,其中每一语 法元素coeff_sign_flag指示对应的转换系数的符号信息。举例来说,当coeff_sign_flag =1,指示对应的转换系数是一个正值;当coeff_sign_flag = 0时,指示对应的转换系数是 一个负值。
[0044] 如上所述,转换系数C日、C日、C8、Cl日与Cl3的语法元素 si即ificant_coeff_flag指示 转换系数〔0心心、(:1()与(:13具有非零值。因此扫描程序8?庙对应非零转换系数〔()心心、(:10 与Ci3的位置(0,0)、(1,1)、(2,0)、(2,2)、(3,1)上执行。因此转换系数0)^5、〔8、(:1〇与打3的符 号信息被决定。
[0045] 接着,控制器102的控制逻辑122指示算术解码器104来执行另一扫描程序SPs至少 一次,其中当算术解码器104执行一次扫描程序SPs时,扫描程序SPs解码部分比特流,该部分 比特流包含转换系数Co-Cis中的一个转换系数的编码的语法元素,W产生语法元素coeff_ 曰63_16¥61_'6111曰;[]1;[]1旨。在运个实施例中,控制逻辑122依据至少语法元素解码结果化£_1、 Dse_2与Dse_3来控制扫描程序SP4的重复次数Ns。如上所述,当非零转换系数(其 si 邑 nif icant_coeff_f Ia邑=1)白勺 i吾'法元素 coeff_abs_levle_ 邑 reaterl_fal 邑指示 i亥非零白勺 转换系数的绝对值大不于1时,该非零转换系数的最终值确认为1,当非零转换系数(其 si 邑 nif icant_coeff_f Ia邑=1)白勺 i吾'法元素 coeff_abs_levle_ 邑 reater2_fal 邑指示 i亥非零白勺 转换系数的绝对值大不于2时,该非零转换系数的最终值确认为2。因此,当一个非零转换系 数确认为其绝对值为1或者2时,不需要检查附加语法元素coeff_abs_level_remaining来 确定剩余绝对值。换言之,当一个非零转换系数的最终绝对值还没有确认时,需要检查附加 的语法元素coeff_abs_level_remaining来确认剩余的绝对值。
[0046] 计数逻辑124产生的计数值NCi是具有非零值的第一转换系数的数量的标识,其中 每一个第一转换系数是包含在待解码的转换系数区块服中。计数逻辑124产生/更新的并且 存储在暂存器REG2中的计数值NC2,是具有等于1或者2的绝对值的第二转换系数的数量的标 识,其中每一个第二转换系数是包含在待解码的转换系数区块BK中。因此,控制逻辑122依 据计数值NCi与NC2控制扫描程序SPs的重复次数化。具体来说,扫描程序SPs的重复次数化是 通过计数值NCi与NC2之间的差来设定,即化= NCi-NCs。因此,至少一部分转换系数Co-Cis的语 法元素解码结果Dse_5包含(NC1-NC2)个转换系数的语法元素coeff_abs_level_remaining, 其中每一语法元素coeff_abs_level_remaining指示对应的转换系数的剩余的绝对值。
[0047] 假设转换系数的基本值BaseLevel定义如下:
[0048]
(I)
[0049] 其中旗标的值为0或者I,并且当不存在时即推断为0。换言之,系数的基本值 BaseLevel可W是仅仅通过扫描程序SPi设定的中间值来设定、或者开始通过扫描程序SPi来 设定后续通过扫描程序SP2来更新的中间值来设定、或者开始通过扫描程序SPi来设定后续 通过扫描程序Sh与SP3来更新的中间值来设定。系数的绝对值absCoeff Level可简单定义如 下:
[0050] absCoeffLevel=baseLevel+coeff_abs_level_remaining (2)
[0051] 关于图7所示的例子,非零转换系数Cio与Ci3的最终绝对值分别确认为1与1;并且 非零转换系数Co、C5与Cs的最终绝对值并没有确认。因此,扫描程序SPs在对应非零转换系数 C〇、Cs与Cs的每一个位置(0,0)、(1,1)与(2,0)执行。举例来说,当非零转换系数抗心与〔8的 语法元素coeff_abs_level_remaining指示剩余绝对值是5、3与6时,非零转换系数〔〇心与 Cs的最终绝对值确认为5、6与8。
[0052] 关于图8所示的例子,非零转换系数CsXio与Ci3的最终绝对值分别确认为2、1与1; 并且非零转换系数Co、C8的最终绝对值没有被确认。因此,扫描程序SPs在对应非零转换系数 Co与Cs的每一个位置(0,0)与(2,0)执行。举例来说,当非零转换系数Co与Cs的语法元素 coeff_abs_level_remaining指示剩余绝对值是5与3时,非零转换系数Cq与Cs的最终绝对值 确认为7与5。
[0053] 依据肥 VC,语法元素si 即if icant_coeff_f lag、coeff_abs_level_greate;rl_f Ia 邑 与。06';1^_日63_16¥61_旨'6日16'2_;1^1日旨在常规模式下编码,并且语法元素(306';1^_3;[即_;1^1曰邑与 coeff_abs_level_remaining在旁通模式下编码。在所需的语法元素被解码装置100通过执 行一些或者所有的扫描程序SPi-SPs获得之后,转换系数区块BK中的转换系数Co-Cis的最终 值可W决定。由于算术解码器104所执行的扫描程序的重复次数可在所提出的控制器102的 控制之下减少,解码效率因此大幅增加。
[0054] 在上述实施例中,当从计数逻辑124接收到计数值NC2之后,从控制逻辑122存储计 数值NC连暂存器REG2。因此,控制逻辑122从暂存器REGi与REG2中读出计数值NCi与NC2,并且 从计数值NCi减去计数值NC2来产生一个差值,W控制扫描程序SPs重复次数化。然而,运仅仅 作为举例说明,而并非是本发明的限制。在一个替换性设计中,当从计数逻辑124接收到计 数值NC2之后,控制逻辑122用来从计数值NCi中减去计数值NC2, W产生一个差值,并且存储 上述差值至暂存器REG2。因此,控制逻辑122可直接从暂存器REG2中读出上述差值来控制扫 描程序SPs重复次数化。
[0055] 图9是依据本发明的实施例的用来控制解码一个转换系数区块的比特流的方法的 流程图。作为举例说明,而并非限制,转换系数区块的比特流可从皿VC编码器产生,其中转 换系数区块具有多个转换系数。如果结果相似,则不需严格依照图9所示的各个步骤的顺 序。上述方法由图1所示的解码装置100的控制器102实现,并且简单总结如下。
[0化6] 步骤900:开始。
[0057]步骤902:指示算术解码器来执行扫描程序SPi至少一次(例如16次),W产生至少 一部分(例如所有)转换系数的语法元素解码结果Dse_1,其中当算术解码器执行一次扫描程 序SPi时,扫描程序SPi解码部分比特流,该部分比特流包含多个转换系数中的一个转换系数 的编码的语法元素,W产生语法元素S ignif icant_coef f_f lag。
[0058] 步骤904:依据语法元素解码结果化E_l,计数具有非零值的特定转换系数的数量, 并且据此产生并存储第一计数值NCio
[0059] 步骤906:至少部分依据第一计数值NCi控制另一扫描程序SP2的重复次数,并且指 示算术解码器来执行扫描程序SP2至少一次,来产生至少一部分转换系数的语法元素解码 结果化e_2,其中当算术解码器执行一次扫描程序SP2时,扫描程序SP2解码部分比特流,该部 分比特流包含多个转换系数中的一个转换系数的编码的语法元素,W产生语法元素coeff_ abs_level_greate;rl_flag。当第一计数值NCi与一个阔值的比较结果显示第一计数值NCi超 出该阔值时,另一扫描程序SP2的重复次数可限制在该阔值(例如8)之下。
[0060] 步骤908:依据语法元素解码结果化e_2,计数具有等于1的绝对值的特定转换系数 的数量,并且据此产生并存储第二计数值NC2。
[0061] 步骤910:指示算术解码器来执行另一扫描程序SP3至少一次(例如仅仅1次),W产 生至少一部分(例如仅仅一个)转换系数的语法元素解码结果化e_3,其中当算术解码器执行 一次扫描程序SP3时,扫描程序SP3解码部分比特流,该部分比特流包含多个转换系数中的一 个转换系数的编码的语法元素,W产生语法元素coeff_abs_level_greater2_f lag。
[0062] 步骤912:依据语法元素解码结果化e_3,选择性地更新第二计数值NC2,来指示具有 等于1或2的绝对值的特定转换系数的数量。
[0063] 步骤914:至少部分依据第一计数值NCi控制另一扫描程序SP4的重复次数,并且指 示算术解码器来执行扫描程序SP4至少一次(例如NCi次),来产生至少一部分转换系数的语 法元素解码结果化e_4,其中当算术解码器执行一次扫描程序SP4时,扫描程序SP4解码部分 比特流,该部分比特流包含多个转换系数中的一个转换系数的编码的语法元素,W产生语 i4^^coeff_si 邑 n_fla 邑。
[0064] 步骤916:至少部分依据第一计数值NCi与计数值NC2之间的差值D控制另一扫描程 序SPs的重复次数,并且指示算术解码器来执行扫描程序SPs至少一次(例如D次),来产生至 少一部分转换系数的语法元素解码结果化e_5,其中当算术解码器执行一次扫描程序SPs时, 扫描程序SPs解码部分比特流,该部分比特流包含多个转换系数中的一个转换系数的编码 的语法元素,U产生语法元素coeff_abs_level_remainin邑。
[00化]步骤918:结束。
[0066] 本领域技术人员在阅读了 W上段落之后,可了解图9所示的各个步骤的细节,在此 不再寶述。
[0067] 本发明通过上述实施例进行举例说明,本发明并非局限于上述举例说明。本发明 应理解为涵盖本领域技术人员可了解的多种变型的实施方式与相似的安排。因此,本发明 的权利要求书应该理解为涵盖本领域技术人员可了解的多种变型的实施方式与相似的安 排的较广范围。
【主权项】
1. 一种解码装置,用于解码一个转换系数区块的比特流,该转换系数区块包含多个转 换系数,该解码装置包含: 算术解码器,用来执行算术解码;以及 控制器,包含: 计数逻辑,用来依据第一语法元素解码结果产生第一统计结果;以及 控制逻辑,用来指示该算术解码器来执行至少一次第一扫描程序,以产生至少一部分 转换系数的该第一语法元素解码结果,至少部分依据该第一统计结果控制第二扫描程序的 重复次数,并且指示该算术解码器来执行至少一次该第二扫描程序,来产生至少一部分转 换系数的第二语法元素解码结果,其中当该算术解码器执行一次该第一扫描程序时,该第 一扫描程序解码该多个转换系数中的一个转换系数的第一编码的语法元素,其中当该算术 解码器执行一次该第二扫描程序时,该第二扫描程序解码该多个转换系数中的一个转换系 数的第二编码的语法元素。2. 根据权利要求1所述的解码装置,其特征在于,该第二扫描程序的该重复次数小于该 转换系数区块中的该多个转换系数的数量。3. 根据权利要求1所述的解码装置,其特征在于,在该第一语法元素解码结果中包含的 每一第一语法元素指示对应的转换系数是否是0。4. 根据权利要求3所述的解码装置,其特征在于,该计数逻辑通过计数每一具有非零值 的特定转换系数的数量来产生计数值作为该第一统计结果,其中该每一特定转换系数包含 在该转换系数区块中。5. 根据权利要求1所述的解码装置,其特征在于,在该第二语法元素解码结果中包含的 每一第二语法元素指示对应的转换系数的绝对值是否大于1。6. 根据权利要求1所述的解码装置,其特征在于,在该第二语法元素解码结果中包含的 每一第二语法元素指示对应的转换系数的符号信息。7. 根据权利要求1所述的解码装置,其特征在于,该计数逻辑进一步依据该第二语法元 素解码结果与第三语法元素解码结果产生第二统计结果;并且该控制逻辑进一步指示该算 术解码器来执行第三扫描程序至少一次,以产生至少一部分转换系数的第三语法元素解码 结果,至少部分依据该第一统计结果与该第二统计结果控制第四扫描程序的重复次数,并 且指示该算术解码器来执行至少一次该第四扫描程序,来产生至少一部分转换系数的第四 语法元素解码结果,其中当该算术解码器执行一次该第三扫描程序时,该第三扫描程序解 码该多个转换系数中的一个转换系数的第三编码的语法元素,其中当该算术解码器执行一 次该第四扫描程序时,该第四扫描程序解码该多个转换系数中的一个转换系数的第四编码 的语法元素。8. 根据权利要求7所述的解码装置,其特征在于,该第四扫描程序的该重复次数小于该 转换系数区块中的该多个转换系数的数量。9. 根据权利要求7所述的解码装置,其特征在于,在该第一语法元素解码结果中包含的 每一第一语法元素指示对应的转换系数是否是0;在该第二语法元素解码结果中包含的每 一第二语法元素指示对应的转换系数的绝对值是否大于1;在该第三语法元素解码结果中 包含的每一第三语法元素指示对应的转换系数的绝对值是否大于2。10. 根据权利要求9所述的解码装置,其特征在于,该计数逻辑通过计数每一具有非零 值的第一转换系数的数量来产生第一计数值作为该第一统计结果,并且通过计数每一绝对 值具有1或者2的第二转换系数的数量来产生第二计数值以作为该第二统计结果,其中该每 一第一转换系数包含在该转换系数区块中,其中该每一第二转换系数包含在该转换系数区 块中; 并且该控制逻辑通过该第一计数值与该第二计数值之间的差来控制该第四扫描程序 的重复次数。11. 根据权利要求7所述的解码装置,其特征在于,在该第四语法元素解码结果中包含 的每一第四语法元素指示一个对应的转换系数的剩余绝对值。12. -种解码方法,用于控制解码转换系数区块的比特流,该转换系数区块包含多个转 换系数,该解码方法包含: 指示算术解码器来执行至少一次第一扫描程序,以产生至少一部分转换系数的第一语 法元素解码结果,其中当该算术解码器执行一次该第一扫描程序时,该第一扫描程序解码 该多个转换系数中的一个转换系数的第一编码的语法元素; 依据该第一语法元素解码结果产生第一统计结果;以及 至少部分依据该第一统计结果控制第二扫描程序的重复次数,并且指示该算术解码器 来执行至少一次该第二扫描程序,来产生至少一部分该转换系数的第二语法元素解码结 果,其中当该算术解码器执行一次该第二扫描程序时,该第二扫描程序解码该多个转换系 数中的一个转换系数的第二编码的语法元素,以产生第二语法元素。13. 根据权利要求12所述的解码方法,其特征在于,该第二扫描程序的该重复次数小于 该转换系数区块中的该多个转换系数的数量。14. 根据权利要求12所述的解码方法,其特征在于,在该第一语法元素解码结果中包含 的每一第一语法元素指示对应的转换系数是否是0。15. 根据权利要求12所述的解码方法,其特征在于,该依据该第一语法元素解码结果产 生第一统计结果的步骤包含: 通过计数每一具有非零值的特定转换系数的数量来产生计数值作为该第一统计结果, 其中该每一特定转换系数包含在该转换系数区块中。16. 根据权利要求12所述的解码方法,其特征在于,在该第二语法元素解码结果中包含 的每一第二语法元素指示对应的转换系数的绝对值是否大于1。17. 根据权利要求12所述的解码方法,其特征在于,在该第二语法元素解码结果中包含 的每一第二语法元素指示对应的转换系数的符号信息。18. 根据权利要求12所述的解码方法,其特征在于,进一步包含:指示该算术解码器来 执行至少一次第三扫描程序,以产生至少一部分转换系数的第三语法元素解码结果,其中 当该算术解码器执行一次该第三扫描程序时,该第三扫描程序解码该多个转换系数中的一 个转换系数的第三编码的语法元素; 至少依据该第二语法元素解码结果与第三语法元素解码结果产生第二统计结果;以及 至少部分依据该第一统计结果与该第二统计结果控制第四扫描程序的重复次数,并且 指示该算术解码器来执行至少一次该第四扫描程序,来产生至少一部分转换系数的第四语 法元素解码结果,其中当该算术解码器执行一次该第四扫描程序时,该第四扫描程序解码 该多个转换系数中的一个转换系数的第四编码的语法元素。19. 根据权利要求18所述的解码方法,其特征在于,该第四扫描程序的该重复次数小于 该转换系数区块中的该多个转换系数的数量。20. 根据权利要求18所述的解码方法,其特征在于,在该第一语法元素解码结果中包含 的每一第一语法元素指示对应的转换系数是否是〇;在该第二语法元素解码结果中包含的 每一第二语法元素指示对应的转换系数的绝对值是否大于1;在该第三语法元素解码结果 中包含的每一第三语法元素指示对应的转换系数的绝对值是否大于2。21. 根据权利要求20所述的解码方法,其特征在于: 该依据该第一语法元素解码结果产生第一统计结果的步骤包含: 通过计数每一具有非零值的第一转换系数的数量来产生第一计数值作为该第一统计 结果,其中每一个第一转换系数是包含在该转换系数区块中; 该依据该第二语法元素解码结果与第三语法元素解码结果产生第二统计结果的步骤 包含: 通过计数每一绝对值具有1或者2的第二转换系数的数量来产生第二计数值以作为该 第二统计结果,其中每一个第二转换系数是包含在该转换系数区块中;包含该至少部分依 据该第一统计结果与该第二统计结果控制第四扫描程序的该重复次数的步骤包含:依据该 第一计数值与该第二计数值的差值控制该第四扫描程序的重复次数。22. 根据权利要求18所述的解码方法,其特征在于,在该第四语法元素解码结果中包含 的每一第四语法元素指示一个对应的转换系数的剩余绝对值。
【文档编号】H04N19/00GK105940676SQ201580004681
【公开日】2016年9月14日
【申请日】2015年1月21日
【发明人】郑佳韵, 朱启诚, 张永昌, 王智鸣
【申请人】联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1