CN114501036A - 熵解码装置及相关熵解码方法 - Google Patents

熵解码装置及相关熵解码方法 Download PDF

Info

Publication number
CN114501036A
CN114501036A CN202011269811.3A CN202011269811A CN114501036A CN 114501036 A CN114501036 A CN 114501036A CN 202011269811 A CN202011269811 A CN 202011269811A CN 114501036 A CN114501036 A CN 114501036A
Authority
CN
China
Prior art keywords
context
entropy decoding
candidate
coefficient
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN202011269811.3A
Other languages
English (en)
Inventor
吴明隆
郑佳韵
张永昌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
MediaTek Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MediaTek Inc filed Critical MediaTek Inc
Priority to CN202011269811.3A priority Critical patent/CN114501036A/zh
Publication of CN114501036A publication Critical patent/CN114501036A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

熵解码装置包括熵解码电路、预提取电路以及上下文预加载缓冲器。所述预提取电路在所述熵解码电路熵解码一个帧的一部分已编码比特流之前,预提取至少一个候选上下文用于熵解码所述帧的所述部分已编码比特流。所述上下文预加载缓冲器缓冲所述至少一个候选上下文。当熵解码所述帧的所述部分已编码比特流实际所需要的目标上下文在所述上下文预载入缓冲器中不可用时,所述上下文预载入缓冲器指示所述预提取电路来再提取所述目标上下文,以及所述熵解码电路停止熵解码所述帧的所述部分已编码比特流。

Description

熵解码装置及相关熵解码方法
技术领域
本发明涉及视频解码,更具体地,涉及具有上下文预提取(context pre-fetch)以及缺失处理(miss handling)的熵解码装置以及相关熵解码方法。
背景技术
传统的视频编解码标准通常采用基于块的编解码技术来利用空间以及时间冗余。例如,基础方法是将原始帧拆分成多个块,对每一块执行预测,变换每一块的残差以及执行量化、扫描以及熵编码。另外,在视频编码器的内部解码环路中生成重构的帧,重构的帧提供用于编解码后续块的参考像素数据。例如,逆量化(inverse quantization)以及逆变换(inverse transform)可以被包括与视频编码器的内部解码环路中来恢复每一块的残差,其将被添加到每一块的预测样本用于生成重构帧。
一般来说,视频解码器用于执行在视频解码器所执行的编码操作的逆操作。例如,视频解码器配备有包括熵解码、逆量化、逆变换、帧内预测、运动补偿等功能来恢复每一块的残差并生成重构的帧。然而,由于数据依赖性问题,视频解码器性能受到熵解码性能的限制。此外,大且复杂的上下文表(context table)使问题更加糟糕。
发明内容
所要求保护发明的目的之一是提供具有上下文预提取以及缺失处理的熵解码装置以及相关的熵解码方法。
根据本发明的第一方面,公开了一种示例性熵解码装置。所述示例性熵解码装置包括熵解码电路、预提取电路以及上下文预加载缓冲器,所述预提取电路用于在所述熵解码电路开始熵解码帧的一部分已编码比特流之前,预提取至少一个候选上下文用于熵解码所述帧的所述部分已编码比特流的,所述上下文预加载缓冲器,用于缓冲所述至少一个候选上下文,其中当熵解码所述帧的所述部分已编码比特流实际所需要的目标上下文在所述上下文预载入缓冲器中是不可用的时,所述上下文预载入缓冲器指示所述预提取电路来再提取所述目标上下文,以及所述熵解码电路停止熵解码所述帧的所述部分已编码比特流。
根据本发明的第二方面,公开了一种示例性熵解码方法。所述示例性熵解码方法包括:在熵解码帧一部分已编码比特流之前,预提取至少一个候选上下文用于熵解码所述帧的所述部分已编码比特流;由上下文预加载缓冲器来缓冲所述至少一个候选上下文;以及当熵解码所述帧的所述部分已编码比特流实际所需要的目标上下文在所述上下文预载入缓冲器中不可用时,再提取所述目标上下文并且停止熵解码所述帧的所述部分已编码比特流。
在阅读以各种图式示出的优先实施例的下文细节描述后,本发明的这些以及其其他目的对本领域普通技术人员是显而易见的。
附图说明
图1示出了根据本发明实施例的视频解码器。
图2示出了根据本发明实施例的一个熵解码装置。
图3示出了根据本发明实施例的预提取控制方法。
图4示出了根据本发明实施例的地址生成方法。
图5示出了根据本发明实施例的正方形变换形状。
图6示出了根据本发明实施例的垂直变换形状。
图7示出了根据本发明实施例的水平变换形状。
图8示出了根据本发明实施例的另一个熵解码装置。
图9示出了根据本发明实施例的管线解码进程的时序图。
具体实施方式
在后续描述以及权利要求中使用了某些术语,其指特定的组件。本领域具体通常知识者将能理解,电子设备制造商可以用不同的名称指相同的元件。本文不旨在区分名称不同但功能相同的组件。在后续描述以及权利要求中,以开放式的方式使用术语“包括”以及“包含”,因此应当被解释为“包括但不限于”,另外,术语“耦合”意味着间接或直接电性连接。因此,如果一个装置耦合于另一个装置,连接可以是通过直接电性连接,或者通过经由其他装置以及连接的间接电性连接。
图1示出了根据本发明实施例的视频解码装置。举例而非限制,视频解码器100可以是AV1视频解码器。视频解码器100包括熵解码装置(标记为“熵解码”)102、逆量化电路(标记为“IQ”)104、逆变换电路(标记为“IT”)106、运动向量生成电路(标记为“MV生成”)108、帧内预测电路(标记为“IP”)110、运动补偿电路(标记为“MC”)112、多任务电路(标记为“MUX”)114、重构电路(标记为“REC”)116、去块滤波器(标记为“DF”)118以及一个或多个参考帧缓冲器120。视频解码器100解码一帧的已编码比特流BS来生成重构的帧。当块由帧内预测模式编码时,帧内预测电路110用于决定预测子(predictor),以及重构电路116根据从多任务电路115输出的帧内预测子以及从逆变换电路106输出的残差来生成重构块。当块由帧间预测模式编码时,运动向量生成电路108以及运动补偿电路112用于决定预测子,以及重构电路116根据从多任务电路114输出的帧间预测子以及从逆变换电路106输出的残差来生成重构块。从重构电路116生成的重构帧在被存储到参考帧缓冲器120作为参考帧之前受到环路滤波(如,去块滤波)处理。
因为本领域普通技术人员可以容易地理解逆量化电路104、逆变换电路106、运动向量生成电路108、帧内预测电路110、运动补偿电路112、多任务电路114、重构电路116、去块滤波器118以及参考帧缓冲器120的细节,进一步的描述在此不再赘述。
为了解决熵解码性能瓶颈的问题,本发明提出了使用配备有上下文预提取以及缺失处理器机制(标记为“预提取&缺失处理”)122的熵解码装置102。在下文给出里的所提出的熵解码器设计的进一步细节。
图2示出了根据本发明实施例的一个熵解码装置。图1示出的熵解码装置102可以使用图2示出的熵解码装置200来实施。熵解码装置200包括语法控制电路202、预提取电路204、上下文储存装置206、上下文预加载缓冲器208以及熵解码电路210。预提取电路204包括预提取控制电路212以及地址生成电路214。
举例而非限制,熵解码装置200时AV1视频解码器的一部分。因此,熵解码线路210用于对帧的已编码比特流BS_F执行非二进制(non-binary)熵解码。AV1使用符号到符号适应性多符号算术编码器。AV1中的每一语法元素是N个元素的特定字母表的成员,以及上下文包括N个概率与计数的集合以便于快速早期自适应。因为采用了非二进制熵解码,熵上下文表是复杂的。因为每一语法(语法元素)有其概率值,熵上下文表比较大。为了改善熵解码性能,本发明提出使用上下文预提取机制。在熵解码电路210开始熵解码部分已编码比特流BS_F之前,预提取电路204用于预提取至少一个候选上下文用于熵解码所述部分已编码比特流BS_F(如,一个语法),以及上下文预加载缓冲器208用于缓冲从上下文储存装置206预提取的至少一个候选上下文。上下文储存装置206用于存储一个帧的整个上下文表(整个概率表)。换言之,与一个帧相关的所有语法(语法元素)的上下文在上下文储存装置206中是可用的,而仅与一个帧相关的部分语法(语法元素)的上下文在上下文预载入缓冲器208中是可用的。
在这一实施例中,上下文预加载缓冲器208可以使用片上(内部)储存(如,静态随机存取存储器(SRAM)或正反器(flip-flop))来实施,以及上下文储存装置206可以使用片上(内部)储存(如,SRAM或正反器)、片外(外部)储存(如,动态随机存取存储器(DRAM)、快速存储器或硬盘驱动器)或片上(内部)储存与片外(外部)储存的组合来实施。然而,这仅是说明性的,不旨在对本发明进行限制。
在熵解码电路210所需要的上下文被预提取并存储于上下文预载入缓冲器208中的情况下,上下文预加载缓冲器208可以说明熵解码电路来更快的获得所需要上下文。这样,可以有效地改善熵解码性能。在下文描述了上下文预提取机制的进一步细节。术语“语法”以及“语法元素”在后续描述中可以相互替换。
语法控制电路202用于处理语法解析流控制。因此,在熵解码电路210的语法元素的熵解码由语法控制电路202来控制。预提取控制电路212用于监测在语法控制电路202执行的语法解析流控制,以及参考语法解析流控制的当前状态来预测还未被熵解码电路210解码的下一个语法,来构建候选上下文列表(C1,C2,…,Cn),其包括由上下文预测决定的至少一个候选上下文,其中n是不小于1的整数(即,n≥1)。术语“下一个语法”意味着在当前语法的解码进程进行时任何“还未被解码的语法”。
由预提取控制电路212构建的候选上下文列表(C1,C2,…,Cn)被提供到地址生成电路214。地址生成电路214用于根据候选上下文列表(C1,C2,…,Cn)生成至少一个读取地址(A1,A2,…,Am),其中m是不大于n的整数(即,n≥m)。在这一实施例中,地址生成电路214进一步用于监测上下文预加缓冲器208的缓冲状态,以及当至少一个候选上下文已经在上下文预加载缓冲器208中被缓冲时,参考所述上下文预加载缓冲器208的缓冲状态来从候选上下文列表(C1,C2,…,Cn)移除至少一个候选上下文。例如,当候选上下文Ci以及被存储于上下文预加载缓冲器208时,上下文预载入缓冲器208保持持有现有的候选上下文Ci,以及不需要再次从上下文储存装置206提取候选上下文Ci。因此,候选上下文Ci不涉及决定用于从上下文储存装置206预提取至少一个候选上下文的至少一个读取地址(A1,A2,…,Am)。
上下文储存装置206输出至少一个候选上下文(D1,D2,…,Dm)到上下文预加载缓冲器208,其中至少一个候选上下文(D1,D2,…,Dm)由至少一个读取地址(A1,A2,…,Am)来定位。特别地,响应于读取地址A1,从上下文储存装置206读取候选上下文D1,响应于读取地址A2,从上下文储存装置206读取候选上下文D2,以及响应于读取地址Am,从上下文储存装置206读取候选上下文Dm
在熵解码电路210开始熵解码(具体地,非二进制熵解码)当前语法之后并且在熵解码电路210开始熵解码(具体地,非二进制熵解码)下一个语法之前,上下文预加载缓冲器208存储候选上下文列表(C1,C2,…,Cn)所请求的所有的候选上下文(P1,P2,…,Pn),其中在下一个语法的预测的基础上构建候选上下文列表(C1,C2,…,Cn),其中P1=C1,P2=C2,…,以及Pn=Cn
在熵解码(具体地,非二进制熵解码)下一个语法实际所需要的目标上下文在上下文预加载缓冲器208中是可用的情况下(即,目标上下文是候选上下文(P1,P2,…,Pn)中的一个),熵解码电路210根据当前语法的解码结果选择目标上下文,以及在没有存取上下文储存装置206的情况下,从上下文预加载缓冲器208获得目标上下文。在本发明的一些实施例中,上下文预加载缓冲器208的读取延迟远低于上下文储存装置206的读取延迟,与/或上下文预加载缓冲器的数据转换速率远高于上下文储存装置206的数据转换速率。这样,在上下文预加载缓冲器208中提前存储所需要上下文,上下文预加载缓冲器208的低延迟与/或高转换速率对熵解码是有利的。
在完成下一个语法的熵解码(具体地,非二进制熵解码)以后,熵解码电路210对存储于上下文预加载缓冲器208与/或上下文储存装置206中的目标上下文P’(其是候选上下文(P1,P2,…,Pn)中的一个)应用适应性更新。
在熵解码(具体地,非二进制熵解码)下一个语法实际所需要的目标上下文在上下文预加载缓冲器208中不可用的情况下(即,没有候选上下文(P1,P2,…,Pn)是目标上下文),启动所提出的缺失处理机制。例如,熵解码电路210停止熵解码(具体地,非二进制熵解码)下一个语法,以及推断缺失信号S1来向上下文预加载缓冲器208通知上下文缺失事件。响应于所推断的缺失信号S1,上下文预载入缓冲器208生成再提取信号S2并且输出再提取信号S2到地址生成电路。地址生成电路214进一步用于根据再提取信号S2决定另一个读取地址Arf,其中响应于另一个读取地址Arf,从上下文储存装置206读取目标上下文,以及经由(或不经由)上下文预加载缓冲器208被提供到熵解码电路210。在从上下文储存装置206提取的目标上下文对熵解码电路210是可用的之后,熵解码电路210恢复熵解码(具体地,非二进制熵解码)下一个语法。类似地,在完成下一个语法的熵解码后(特别地,非二进制熵解码),熵解码电路210对存储于上下文预加载缓冲器208与/或上下文储存装置206的目标上下文P’应用适应性更新。
图3示出了根据本发明实施例的预提取控制方法。预提取控制方法可以由预提取控制电路212来采用。假定结果是基本相同的,步骤不需要以图3示出的精确次序来执行。在步骤302,预提取控制电路212监测语法控制电路202来了解语法解析的当前状态。在步骤304,预提取控制电路212检查熵解码下一个语法(还未被解码的语法)是否需要上下文(其由概率值组成)。如果熵解码下一个语法需要上下文,在步骤306,预提取控制电路212生成包括一个或多个候选上下文的候选列表(C1,C2,…,Cn)。在步骤308,预提取控制电路212检查解码进程是否完成。如果解码进程还未完成,流程前进到步骤302,以致预提取控制电路212持续监测语法控制电路202。
图4示出了根据本发明实施例的地址生成方法的流程图。地址生成方法可以由地址生成电路214来采用。假定结果是基本相同的,步骤不需要以图4示出的精确次序来执行。在步骤402,上下文索引(“i”)以及地址索引(“j”)的每一个由一个初始值(如,0)来设置。在步骤404,地址生成电路214检查再提取信号是否从上下文预加载缓冲器208产生。如果需要上下文再提取操作,地址生成电路214生成用于获得熵解码下一个语法(还未被解码的语法)所需要的目标上下文的读取地址(步骤406)。如果不需要上下文预提取操作,流程前进到步骤408。在步骤408,地址生成电路214决定包括于候选上下文列表中的所有候选上下文是否已经被检查。如果包括于候选上下文列表中的所有候选上下文已经被检查,流程前进到步骤416。如果包括于候选上下文列表中的至少一个候选上下文还未被检查,地址生成电路214更新上下文索引(步骤410),以及检查具有更新的上下文索引的候选上下文是否存在于上下文预加载缓冲器208(步骤412)。
如果具有更新的上下文索引的候选上下文存在于上下文预加载缓冲器208中,不需要再次从上下文储存装置206提取具有更新的上下文索引的候选上下文。如果具有更新的上下文索引的候选上下文不存在于上下文预加载缓冲器208中,地址更新电路214更新地址索引(步骤413),生成具有更新的地址索引的读取地址,以及输出具有更新的地址索引的读取地址到上下文储存装置206用于从上下文储存装置206预提取具有更新的上下文索引的候选上下文。然后,流程前进到步骤408。
在步骤416,地址生成电路214检查解码进程是否完成。如果解码进程还未完成,流程前进到步骤418来等待更新的候选列表。当候选列表由于还未被解码的另一个语法的上下文预测被更新时,流程前进到步骤402。
应当注意,一个帧可以被拆分成多个图块(tile),其中每一图块具有其自身的概率表用于熵解码。因此,当熵解码从当前图块切换到相邻图块时,上下文预加载缓冲器208中缓冲的所有上下文可以被设置为无效。
相同的上下文预提取以及缺失处理概念可以被应用于系数语法的熵解码。为了获得更好的压缩率,已经被熵解码的相邻变换系数值可以用于预测来选择待熵解码的当前变换系数的上下文表。选择相邻变换系数值的方法也取决于系数变换的形状。图5示出了根据本发明实施例的正方形变换形状(I=J)。图6示出了根据本发明实施例的垂直变换形状(I>J)。图7示出了根据本发明实施例的水平变换形状(I<J)。被解码的当前变换系数由Pc表示。待解码的下一个变换系数由Pc+1表示。右侧相邻变换系数由Prj表示,其中J=1~j。底部相邻变换系数由Pbi表示,其中I=1~i。右侧底部相邻变换系数由Prb表示。
向后沿着一维(1D)数组从最高频率系数朝直流(DC)系数编码/解码变换系数。例如,当采用反向扫描次序时,从离散余弦变换(DCT)系数块的EOB(块的最后)位置向后编码/解码变换系数。熵解码一直具有数据依赖性问题,以及语法解析的最大量总是发生于系数解码。为了减少解码泡沫,当前解码的变换系数Pc用于待解码的下一个变换系数Pc+1的上下文预测。然而,设计时序关键路径包括当前变换系数的熵解码以及下一个变换系数的上下文选择,并且成为了时钟频率瓶颈。为了增加系数解码的时钟频率,本发明提出使用具有上下文预提取以及缺失处理的熵解码装置。术语“系数”以及“变换系数”在后续描述中可以互换。
图8示出了根据本发明实施例的另一个熵解码装置。图1示出的熵解码装置102可以使用图8示出的熵解码装置800来实施。熵解码装置800包括系数语法控制电路802、预提取电路804、上下文储存装置806、上下文预加载缓冲器808、上下文选择电路810、熵解码电路812以及等待解码索引缓冲器814。预提取电路804包括相邻位置控制电路816以及地址生成电路818。地址生成电路818包括系数储存装置820以及预计算上下文地址生成电路822。
举例而非限制,熵解码装置800是AV1视频解码器的一部分。因此,熵解码电路812用于对一个帧的已编码比特流BS_F执行非二进制熵解码。因为采用了非二进制熵解码,熵上下文表示复杂的。因为每一语法具有其自身的概率值,所述熵上下文比较大。此外,如上所提到的,用于系数解码的设计时序关键路径包括当前变换系数的熵解码以及下一个变换系数的上下文选择,并且称为时钟频率瓶颈。为了改善熵解码系数语法的性能,本发明提出了使用具有上下文预提取以及缺失处理的熵解码装置。
在熵解码电路812开始熵解码部分已编码比特流BS_F之前,预提取电路804用于预提取至少一个候选上下文用于熵解码所述部分已编码比特流BS_F(如,一个变换系数),以及上下文预加载缓冲器808用于缓冲从上下文储存装置806提取的至少一个候选上下文。上下文储存装置806用于存储一个帧的整个上下文表(整个概率表),而上下文预载入缓冲器808用于存储所述帧的部分上下文表(部分概率表)。换言之,与一个帧有关的所有语法(语法元素)的上下文在上下文储存装置806中是可用的,而仅与一个帧有关的部分语法(语法元素)的上下文在上下文预载入缓冲器808中是可用的。
在这一实施例中,上下文预加载缓冲器808可以使用片上(内部)存储器(如,SRAM或正反器)来实施,以及上下文储存装置808可以使用片上(内部)存储器(如,SRAM或正反器)、片外(外部)存储器(如,DRAM、快速存储器或硬盘驱动器)或者片上(内部)存储器与片外(外部)存储器的组合来实施。然而,这仅是示例性的,以及不旨在限制本发明。
在熵解码电路(其作为系数解码器)812所需要的目标上下文被预提取并被存储于上下文预载入缓冲器808中的情况下,上下文预加载缓冲器808可以说明熵解码电路812来更快的获得所需要的上下文。这样,可以有效地改善熵解码变换系数的性能。在下文描述了上下文预提取机制的进一步细节。
系数语法控制电路802用于处理系数语法解析流控制。因此,在熵解码电路812熵解码系数语法由系数语法控制电路802来控制。相邻位置控制电路816用于监测在系数语法控制电路802执行的系数语法解析流控制,参考系数语法解析流控制的当前状态来决定下一个系数位置,在所述位置的下一个变换系数还未被熵解码电路进行解码,以及根据下一个系数位置以及变换形状在下一个变换系数附近决定相邻变换系数的相邻位置索引(Ir1…Irj,Ib1…Ibi,Irb)。术语“下一个变换系数”可以表示当前变换系数的解码进程正在进行时任何“还未被解码的变换系数”。
相邻位置索引(Ir1…Irj,Ib1…Ibi,Irb)被提供到系数储存装置820。系数储存装置820用于存储从熵解码电路812的解码结果推导的已解码变换系数,以及输出在系数储存装置820中是可用的并且由至少一个相邻位置索引(Ir1…Irj,Ib1…Ibi,Irb)来编索引的至少一个已解码变换系数。系数储存装置820充当系数队列。例如,熵解码电路812的解码结果可以被直接存储于系数储存装置820作为已解码变换系数。又例如,熵解码电路812的解码结果可以被预处理(如,钳位)以及然后被存储于系数储存装置820作为已解码变换系数。
在由相邻位置索引(Ir1…Irj,Ib1…Ibi,Irb)进行编索引的已解码系数(Pr1…Prj,Pb1…Pbi,Prb)在系数储存装置820中都是可用的情况下,系数储存装置820提供已解码变换系数(Pr1…Prj,Pb1…Pbi,Prb)到预计算上下文地址生成电路822。在所有由相邻位置索引(Ir1…Irj,Ib1…Ibi,Irb)进行编索引的已解码系数(Pr1…Prj,Pb1…Pbi,Prb)在系数储存装置820中不都是可用的情况下,系数储存装置820仅提供现有的已解码变换系数(即,已解码变换系数(Pr1…Prj,Pb1…Pbi,Prb)的子集)到预计算上下文地址生成电路822。
预计算上下文索引生成电路822用于根据至少一个已解码变换系数(Pr1…Prj,Pb1…Pbi,Prb)来决定至少一个读取地址(A1,A2,…,An),已解码变换系数(Pr1…Prj,Pb1…Pbi,Prb)是响应于相邻位置索引(Ir1…Irj,Ib1…Ibi,Irb)从系数储存装置820中输出的,其中n是不小于1的正整数(即,n≥1)。
在这一实施例中,地址生成电路818用于根据相邻位置索引(Ir1…Irj,Ib1…Ibi,Irb)决定至少一个读取地址(A1,A2,…,An)。上下文储存装置806输出至少一个候选上下文(D1,D2,…,Dn)到上下文预加载缓冲器808,其中至少一个候选上下文(D1,D2,…,Dn)由至少一个读取地址(A1,A2,…,An)来定位。特别地,响应于读取地址A1从上下文储存装置806读取候选上下文D1,响应于读取地址A2从上下文储存装置806读取候选上下文D2,以及响应于读取地址An从上下文储存装置806读取候选上下文Dn
熵解码装置800可以采用系数层级的管线(pipeline)架构来以管线处理的方式解码变换系数。因此,预提取电路804可以是一个管线时期(管线阶段)的一部分,其在一个或多个变换系数在其他管线时期(管线阶段)经受管线处理时,执行变换系数的上下文预测。在这一实施例中,系数储存装置820被进一步用于输出至少一个变换系数的至少一个等待索引(Iw1,…,Iwk),至少一个变换系数的每一者正经受已经开始但还未结束的解码进程,其中k是不小于1的正整数(即,k≥1)。等待解码索引缓冲器814可以由先进先出(FIFO)缓冲器来实施,以及用于存储至少一个等待索引(Iw1,…,Iwk)。例如,当在一个管线阶段执行变换系数Pc+3的上下文预测时先前变换系数Pc、Pc+1以及Pc+2在其他管线阶段仍在被处理并且还未完成解码。等待解码索引缓冲器814存储从系数储存装置820生成的等待索引,其中所储存的等待索引包括变换系数Pc、Pc+1以及Pc+2的索引值。
当当前变换系数Pc的值被解码以及从熵解码电路812输出时,等待解码索引缓冲器814检查当前变换系数Pc的索引值是否匹配任何所存储的等待索引。当当前变换系数Pc的索引值等于存储于等待解码索引缓冲器814中的一个等待索引时,等待解码索引缓冲器814推断相等信号S3,其指示当前变换系数Pc的已解码值对下一个变换系数Pc+1的上下文选择是可用的。上下文选择电路810用于根据当前变换系数Pc的已解码值选择熵解码下一个变换系数Pc+1所需要的目标上下文,其中当前变换系数Pc的索引值等于存储于等待解码索引缓冲器814中的一个等待索引。
如上所提到的,在当前变换系数的管线解码进程开始之后并且在熵解码电路812开始熵解码(具体地,非二进制熵解码)下一个变换系数之前,上下文预加载缓冲器808存储根据基于上下文预测的相邻系数从上下文储存装置806预提的取候选上下文(C1,…,Cn)。
在熵解码(具体地,非二进制熵解码)下一个变换系数实际所需要的目标上下文在上下文预加载缓冲器808中是可用的情况下(即,目标上下文是候选上下文(C1,…,Cn)中的一个),上下文选择电路810根据当前变换系数的解码结果选择目标上下文,以及在没有存取上下文储存装置806的情况下,从上下文预加载缓冲器808提供目标上下文到熵解码电路812。在本发明的一些实施例中,上下文预加载缓冲器808的读取延迟远低于上下文储存装置806的读取延迟,与/或上下文预加载缓冲器808的数据转换速率远高于上下文储存装置806的数据转换速率。这样,在上下文预加载缓冲器808中提前存储所需要的上下文,上下文预加载缓冲器808的低延迟与/或高转换速率对熵解码是有利的。在完成下一个变换系数的熵解码(具体地,非二进制熵解码)后,熵解码电路812对存储于上下文预加载缓冲器808与/或上下文储存装置806的目标上下文P’(其是候选上下文(C1,…,Cn)中的一个)应用适应性更新。
在熵解码(具体地,非二进制熵解码)下一个变换系数实际所需要的目标上下文在上下文预加载缓冲器808中不可用的情况下(其,没有候选上下文(C1,…,Cn)是目标上下文),启动所提出的缺失处理机制。例如,熵解码电路812停止熵解码(具体地,非二进制熵解码)下一个变换系数,以及推断缺失信号S1来向上下文预加载缓冲器808通知上下文缺失的事实。响应于所推断的缺失信号S1,上下文预载入缓冲器808生成再提取信号S2以及输出所述再提取信号S2到预计算上下文地址生成电路822。预计算上下文地址生成电路822进一步用于根据再提取信号S2决定另一个读取地址Arf,其中响应于另一个读取地址Arf从上下文储存装置806提取上下文索引,以及由上下文选择电路810经由(或不经由)上下文预加载缓冲器808提供到熵解码电路812。在从上下文储存装置806提取的目标上下文对熵解码电路812是可用之后,熵解码电路812恢复下一个变换系数的熵解码(具体地,非二进制熵解码)。类似地,在完成下一个变换系数的熵解码(具体地,非二进制熵解码)后,熵解码电路812对存储于上下文预加载缓冲器808与/或上下文储存装置806的目标上下文P’应用适应性更新。
结合图9参考图8。图9示出了根据本发明实施例的管线解码进程的时序图。在熵解码装置800执行管线的解码进程。在这一实施例中,每一变换系数的管线解码进程包括四个管线阶段t0、t1、t2以及t3。举例而非限制,每一管线阶段t0、t1、t2以及t3可以在单个周期中完成其指定的任务。如图9所示,与变换系数Pc的语法解码有关的管线阶段被标记为t0c、t1c、t2c以及t3c,与变换系数Pc+1的语法解码有关的管线阶段被标记为t0c+1、t1c+1、t2c+1以及t3c+1,与变换系数Pc+2的语法解码有关的管线阶段被标记为t0c+2、t1c+2、t2c+2以及t3c+2,以及与变换系数Pc+3的语法解码有关的管线阶段被标记为t0c+3、t1c+3、t2c+3以及t3c+3。根据解码次序来逐一熵解码变换系数Pc、Pc+1、Pc+2以及Pc+3
管线阶段t0是在相邻系数以及变换形状的基础上预测候选上下文地址的上下文预测阶段。管线阶段t1是从上下文储存装置806读取候选上下文的上下文读取阶段。管线阶段t2是上下文选择阶段,其根据已解码变换系数的系数值执行上下文选择用于还未解码的变换系数,以及提供所述还未解码的变换系数的熵解码所需要的目标上下文到熵解码电路812,其中从上下文储存装置806获得的目标上下文可以经由(或不经由)上下文预加载缓冲器808被提供到熵解码电路812。例如,如果因为上下文再提取从上下文储存装置806获得目标上下文,上下文预加载缓冲器808可以旁路其到熵解码电路812。管线阶段t3是系数解码阶段,其生成并输出进一步由上下文选择或上下文预测参考的变换系数的已解码值,用于至少一个还未解码的变换系数。如图9所示,在管线阶段t3c生成并输出变换系数Pc的已解码值,在管线阶段t3c+1生成并输出变换系数Pc+1的已解码值,在管线阶段t3c+2生成并输出变换系数Pc+2的已解码值,以及在管线阶段t3c+3生成并输出变换系数Pc+3的已解码值。在管线阶段t3c的变换系数Pc的已解码值可以由在管线阶段t2c+1阶段的变换系数Pc+1的上下文选择来使用,与/或可以由在管线阶段t0c+3的变换系数Pc+3的上下文预测来使用。
将注意到,一个帧可以被拆分成多个图块,其中每一图块具有其自身的概率表用于熵解码。因此,当熵解码从当前图块切换到相邻图块时,在上下文预加载缓冲器808缓冲的所有上下文可以被设置为无效。
本领域普通技术人员将容易观察到,可以在保留本发明教导的同时对装置以及方法进行各种修正以及替换。因此,上述公开的内容被解释为仅由所附权利要求的边界以及界限来限制。

Claims (20)

1.一种熵解码装置,其特征在于,所述装置包括:
熵解码电路;
预提取电路,用于在所述熵解码电路开始熵解码帧的一部分已编码比特流之前,预提取至少一个候选上下文用于熵解码所述帧的所述部分已编码比特流的;
上下文预加载缓冲器,用于缓冲所述至少一个候选上下文,其中当熵解码所述帧的所述部分已编码比特流实际所需要的目标上下文在所述上下文预载入缓冲器中是不可用的时,所述上下文预载入缓冲器指示所述预提取电路来再提取所述目标上下文,以及所述熵解码电路停止熵解码所述帧的所述部分已编码比特流。
2.如权利要求1所述的熵解码装置,其特征在于,其中所述熵解码电路用于对所述帧的所述部分已编码比特流执行非二进制熵解码。
3.如权利要求1所述的熵解码装置,其特征在于,进一步包括:
语法控制电路,用于处理语法解析流控制;
其中所述预提取电路包括:
预提取控制电路,用于监测在所述语法控制电路执行的所述语法解析流控制,以及参考所述语法解析流控制的当前状态来预测所述熵解码电路还未解码的下一个语法来构造候选上下文列表,所述候选上下文列表指示所述至少一个候选上下文;以及
地址生成电路,用于根据所述候选上下文列表决定至少一个读取地址,其中响应于所述至少一个读取地址,从储存装置预提取所述至少一个候选上下文。
4.如权利要求3所述的熵解码装置,其特征在于,其中所述候选列上下文列表进一步包括至少一个额外的候选上下文,以及在接收所述候选上下文列表后,所述地址生成电路进一步用于监测所述上下文预加载缓冲器的缓冲状态,以及参考所述上下文预加载缓冲器的所述缓冲状态来从所述候选上下文列表移除所述至少一个额外的候选上下文,其中所述至少一个额外的候选上下文已经在所述上下文预加载缓冲器中被缓冲。
5.如权利要求3所述的熵解码装置,其特征在于,其中所述地址生成电路进一步用于根据从所述上下文预加载缓冲器生成的一再提取信号决定另一个读取地址,其中响应于所述另一个读取地址,从所述储存装置提取所述目标上下文。
6.如权利要求1所述的熵解码装置,其特征在于,进一步包括:
系数语法控制电路,用于处理系数语法解析流控制;
其中所述预提取电路包括:
相邻位置控制电路,用于监测在所述系数语法控制电路执行的所述系数语法解析流控制,参考所述系数语法解析流控制的当前状态来决定下一个系数位置,其中位于所述下一个系数位置的下一个变换系数还未被所述熵解码电路进行解码,以及根据所述下一个系数位置以及变换形状,决定所述下一个变换系数附近的相邻变换系数的相邻位置索引;以及
地址生成电路,用于根据所述相邻位置索引决定至少一个读取地址,其中响应于所述至少一个读取地址,从储存装置预提取所述至少一个候选上下文。
7.如权利要求6所述的熵解码装置,其特征在于,其中所述地址生成电路包括:
系数储存装置,用于存储从所述熵解码电路的解码结果推导的已解码变换系数,以及输出在所述系数储存装置中可用的并且由所述至少一个所述相邻位置索引编索引的至少一个已解码变换系数;以及
预计算上下文地址生成电路,用于根据所述至少一个已解码变换系数决定所述至少一个读取地址。
8.如权利要求7所述的熵解码装置,其特征在于,其中所述预计算上下文地址生成电路根据从所述上下文预加载缓冲器生成的再提取信号,进一步用于决定另一个读取地址,其中响应于所述另一个读取地址从所述储存装置提取所述目标上下文。
9.如权利要求6所述的熵解码装置,其特征在于,其中所述系数储存装置进一步用于输出至少一个变换系数的至少一个等待索引,至少一个变换系数的每一者正处于开始但还未结束的解码进程,以及所述熵解码装置进一步包括:
等待解码索引缓冲器,用于存储所述至少一个等待索引;以及
上下文选择电路,用于根据当前变换系数的已解码值,选择所述下一个变换系数的熵解码所需要的所述目标上下文,其中所述当前变换系数的索引值等于存储于所述等待解码索引缓冲器中的所述至少一个等待索引中的一个。
10.如权利要求3所述的熵解码装置,其特征在于,其中所述熵解码电路进一步用于在完成所述帧的所述部分已编码比特流的熵解码后,对存储于所述上下文预加载缓冲器中的所述目标上下文应用适应性更新。
11.一种熵解码方法,其特征在于,包括:
在熵解码帧一部分已编码比特流之前,预提取至少一个候选上下文用于熵解码所述帧的所述部分已编码比特流;
由上下文预加载缓冲器来缓冲所述至少一个候选上下文;以及
当熵解码所述帧的所述部分已编码比特流实际所需要的目标上下文在所述上下文预载入缓冲器中不可用时,再提取所述目标上下文并且停止熵解码所述帧的所述部分已编码比特流。
12.如权利要求11所述的熵编码方法,其特征在于,其中非二进制熵解码被应用于所述帧的所述部分已编码比特流。
13.如权利要求11所述的熵编码方法,其特征在于,进一步包括:
监测语法解析流控制;
参考所述语法解析流控制的当前状态来预测还未被熵解码的下一个语法来构建候选上下文列表,所述候选上下文列表指示所述至少一个候选上下文;以及
根据所述候选上下文列表决定至少一个读取地址,其特征在于,其中响应于所述至少一个读取地址,从储存装置预提取所述至少一个候选上下文。
14.如权利要求13所述的熵编码方法,其特征在于,其中所述候选上下文列表进一步包括至少一个额外的候选上下文,以及所述根据所述候选上下文列表决定所述至少一个读取地址包括:
在接收所述候选上下文列表后,监测所述上下文预加载缓冲器的缓冲状态,以及参考所述上下文预加载缓冲器的所述缓冲状态来从所述候选上下文列表移除所述至少一个额外的候选上下文,其中所述至少一个额外的候选上下文已经在所述上下文预加载缓冲器中被缓冲。
15.如权利要求13所述的熵编码方法,其特征在于,进一步包括:
根据从所述候选预加载缓冲器生成的再提取信号决定另一个读取地址,其中响应于所述另一个读取地址从所述储存装置提取所述目标上下文。
16.如权利要求11所述的熵编码方法,其特征在于,进一步包括:
监测系数语法解析流控制;
参考所述系数语法解析流控制的当前状态来决定下一个系数位置,位于所述下一个系数位置的下一个变换系数还未被熵解码;以及
根据所述下一个系数位置以及变换形状,在所述下一个变换系数的附近决定相邻变换系数的相邻系位置索引;以及
根据所述相邻位置索引决定至少一个读取地址,其中响应于所述至少一个读取地址从储存装置预提取所述至少一个候选上下文。
17.如权利要求16所述的熵编码方法,其特征在于,其中根据所述相邻位置索引决定所述至少一个读取地址包括:
由系数储存装置存储从熵解码的解码结果推导的已解码变换系数;
输出在所述系数储存装置中可用并且由至少一个所述相邻位置索引编索引的至少一个已解码变换系数;以及
根据所述至少一个已解码变换系数决定所述至少一个读取地址。
18.如权利要求17所述的熵编码方法,其特征在于,进一步包括:
根据从所述上下文预加载缓冲器生成的一再提取信号决定另一个读取地址,其中响应于所述另一个读取地址从所述储存装置提取所述目标上下文。
19.如权利要求16所述的熵编码方法,其特征在于,进一步包括:
输出至少一个变换系数的至少一个等待索引,所述至少一个变换系数的每一者正处于开始但还未结束的解码进程;
由等待解码索引缓冲器存储所述至少一个等待索引;以及
根据当前变换系数的已解码值选择所述下一个变换系数的熵解码所需要的所述目标上下文,其中所述当前变换系数的索引值等于存储于所述等待解码索引缓冲器中的所述至少一个等待索引中的一个。
20.如权利要求13所述的熵编码方法,其特征在于,进一步包括:
在完成所述帧的所述部分已编码比特流的熵解码后,对存储于所述上下文预加载缓冲器中的所述目标上下文应用适应性更新。
CN202011269811.3A 2020-11-13 2020-11-13 熵解码装置及相关熵解码方法 Withdrawn CN114501036A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011269811.3A CN114501036A (zh) 2020-11-13 2020-11-13 熵解码装置及相关熵解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011269811.3A CN114501036A (zh) 2020-11-13 2020-11-13 熵解码装置及相关熵解码方法

Publications (1)

Publication Number Publication Date
CN114501036A true CN114501036A (zh) 2022-05-13

Family

ID=81490642

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011269811.3A Withdrawn CN114501036A (zh) 2020-11-13 2020-11-13 熵解码装置及相关熵解码方法

Country Status (1)

Country Link
CN (1) CN114501036A (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101115201A (zh) * 2007-08-30 2008-01-30 上海交通大学 视频解码方法与解码装置
CN101137052A (zh) * 2006-08-28 2008-03-05 富士通株式会社 用于高效数据传输的图像数据缓冲装置和数据传输系统
CN103733622A (zh) * 2011-06-16 2014-04-16 弗劳恩霍夫应用研究促进协会 熵编码中的上下文初始化
US20150334425A1 (en) * 2014-05-14 2015-11-19 Blackberry Limited Adaptive context initialization
CN105874800A (zh) * 2014-09-17 2016-08-17 联发科技股份有限公司 在相同帧中处理多个图像区域或处理多个帧的多个句法解析电路的句法解析装置和相关句法解析方法
CN106331715A (zh) * 2016-08-24 2017-01-11 上海富瀚微电子股份有限公司 基于视频压缩编码标准h.265的熵编码系统及其编码方法
US20170111664A1 (en) * 2011-10-31 2017-04-20 Mediatek Inc. Apparatus and method for buffering context arrays referenced for performing entropy decoding upon multi-tile encoded picture and related entropy decoder
CN107771393A (zh) * 2015-06-18 2018-03-06 高通股份有限公司 帧内预测及帧内模式译码
US20200154108A1 (en) * 2018-11-14 2020-05-14 Mediatek Inc. Entropy decoding apparatus with context pre-fetch and miss handling and associated entropy decoding method

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101137052A (zh) * 2006-08-28 2008-03-05 富士通株式会社 用于高效数据传输的图像数据缓冲装置和数据传输系统
CN101115201A (zh) * 2007-08-30 2008-01-30 上海交通大学 视频解码方法与解码装置
CN103733622A (zh) * 2011-06-16 2014-04-16 弗劳恩霍夫应用研究促进协会 熵编码中的上下文初始化
US20170111664A1 (en) * 2011-10-31 2017-04-20 Mediatek Inc. Apparatus and method for buffering context arrays referenced for performing entropy decoding upon multi-tile encoded picture and related entropy decoder
US20150334425A1 (en) * 2014-05-14 2015-11-19 Blackberry Limited Adaptive context initialization
CN105874800A (zh) * 2014-09-17 2016-08-17 联发科技股份有限公司 在相同帧中处理多个图像区域或处理多个帧的多个句法解析电路的句法解析装置和相关句法解析方法
CN107771393A (zh) * 2015-06-18 2018-03-06 高通股份有限公司 帧内预测及帧内模式译码
CN106331715A (zh) * 2016-08-24 2017-01-11 上海富瀚微电子股份有限公司 基于视频压缩编码标准h.265的熵编码系统及其编码方法
US20200154108A1 (en) * 2018-11-14 2020-05-14 Mediatek Inc. Entropy decoding apparatus with context pre-fetch and miss handling and associated entropy decoding method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YU HONG, ET AL: "A 360Mbin/s CABAC decoder for H.264/AVC level 5.1 applications", 《2009 INTERNATIONAL SOC DESIGN CONFERENCE (ISOCC)》 *
许珊珊: "HEVC中熵编码算法的CUDA优化", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 *

Similar Documents

Publication Publication Date Title
US6842124B2 (en) Variable length decoder
US8576924B2 (en) Piecewise processing of overlap smoothing and in-loop deblocking
US7792385B2 (en) Scratch pad for storing intermediate loop filter data
US7106909B2 (en) Method and apparatus for encoding image data in accordance with a target data size
US7965773B1 (en) Macroblock cache
US20170188033A1 (en) Method and Apparatus of Bandwidth Estimation and Reduction for Video Coding
US7411529B2 (en) Method of decoding bin values using pipeline architecture and decoding device therefor
US20060071829A1 (en) Methods and apparatus for processing variable length coded data
US20030152148A1 (en) System and method for multiple channel video transcoding
US9001882B2 (en) System for entropy decoding of H.264 video for real time HDTV applications
JP2007300517A (ja) 動画像処理方法、動画像処理方法のプログラム、動画像処理方法のプログラムを記録した記録媒体及び動画像処理装置
JP2009260977A (ja) 不可逆圧縮及び可逆圧縮を組み合わせて用いたビデオデータ圧縮
US7508328B2 (en) Entropy processor for decoding
US7447266B2 (en) Decoding device and decoding program for video image data
KR20040095742A (ko) 화상 복호 유닛과 그것을 이용한 화상 부호화 장치 및부호화 방법, 및 화상 복호 장치 및 복호 방법
TWI772947B (zh) 具有上下文預提取以及缺失處理的熵解碼裝置及相關熵解碼方法
WO2020181504A1 (zh) 视频编码的方法与装置,以及视频解码的方法与装置
US20050007264A1 (en) Programmable variable-length decoder
Eeckhaut et al. Optimizing the critical loop in the H. 264/AVC CABAC decoder
CN114501036A (zh) 熵解码装置及相关熵解码方法
JP2007259323A (ja) 画像復号化装置
US20080273595A1 (en) Apparatus and related method for processing macroblock units by utilizing buffer devices having different data accessing speeds
KR102171119B1 (ko) 복수개의 블록 기반의 파이프라인을 이용한 데이터 처리 속도 개선 장치 및 그 동작 방법
TWI814585B (zh) 視頻處理電路
JP2005057688A (ja) 画像処理方法、画像処理プログラムおよび画像処理装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20220513

WW01 Invention patent application withdrawn after publication