CN100440979C - 基于上下文的自适应二维变长解码方法和装置 - Google Patents

基于上下文的自适应二维变长解码方法和装置 Download PDF

Info

Publication number
CN100440979C
CN100440979C CNB200510130987XA CN200510130987A CN100440979C CN 100440979 C CN100440979 C CN 100440979C CN B200510130987X A CNB200510130987X A CN B200510130987XA CN 200510130987 A CN200510130987 A CN 200510130987A CN 100440979 C CN100440979 C CN 100440979C
Authority
CN
China
Prior art keywords
run
level
data
memory cell
index
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.)
Expired - Fee Related
Application number
CNB200510130987XA
Other languages
English (en)
Other versions
CN1791223A (zh
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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CNB200510130987XA priority Critical patent/CN100440979C/zh
Publication of CN1791223A publication Critical patent/CN1791223A/zh
Application granted granted Critical
Publication of CN100440979C publication Critical patent/CN100440979C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种对于基于上下文的自适应二维变长编码(CA-2D-VLC)的变长编码数据进行基于上下文的自适应二维变长解码(CA-2D-VLD)的方法和装置。针对CA-2D-VLC的编码特性而在解码时针对解码查找表关于索引的特定的数据成分采用解码查找表,通过预定的函数将两个或多个存储空间中的该特定的数据成分映射/和并到一个或几个存储空间中。对于特定的数据也可以通过计算得到。因此本发明使得解码器的硬件消耗减小。

Description

基于上下文的自适应二维变长解码方法和装置
技术领域
本发明涉及视频信号处理中的视频和图像解码,尤其涉及对于符合AVS标准的编码信号进行变长编解码的方法和装置。
背景技术
变长编码(Variable Length Coding,缩写为VLC)是一种无损压缩编码技术,其基本规则是:把较短的码字赋给出现频率较高的字符,把较长的码字赋给出现频率较低的字符。变长编码/解码技术广泛地应用在视频信号的处理中。
变长编码是国际视频编码标准和图像编码标准中重要的熵编码技术。在最新的国际视频编码标准H.264/AVC中,采用两套熵编码方案,即基于上下文的自适应变长编码(Context-based Adaptive VariableLength Coding,缩写为CAVLC),和基于上下文的自适应算术编码(Context-based Adaptive Binary Arithmetic Coding,缩写为CABAC)。中国的音视频标准(Audio Video Standard,缩写为AVS)标准采用了基于上下文自适应二维变长编码(CA-2D-VLC),是多阶指数哥伦布码(Exp-Golomb码)和二维变长编码(2-Dimension Variable LengthCoding,缩写2D-VLC)的结合。
为了能够对于本申请创新的解码方法和装置有更好的理解,先描述变长编码的编解码过程。变长编码是对变换和量化后的系数,经过扫描后的一维数组进行编码。
AVS中的CA-2D-VLC进行编码的基本原理是,是对接收的8×8块经过变换、量化和扫描后的系数先进行游程编码,再对(Run,Level)组合按逆序进行Exp-Golomb编码。对于出现概率很小的(Run,Level)组合,定义为Escape,编码为两个Exp-Golomb码,其它(Run,Level)组合编为一个Exp-Golomb码。AVS中有19个与其相关的二维码表,其中:7个码表用于帧内编码块(VLC0_Intra~VLC6_Intra)、7个码表用于帧间编码块(VLC0_Inter~VLC6_Inter)、5个码表用于色度块(VLC0_Chroma~VLC4_Chroma)。不同码表所用的Exp-Golomb码的阶数不同,其中VLC0_Inter采用3阶指数哥伦布码,VLC2_Chroma及VLC3_Chroma采用1阶指数哥伦布码,VLC1_Chroma及VLC4_Chroma采用0阶指数哥伦布码,其它码表均采用2阶指数哥伦布码。上述19个码表的选择按照标准中规定的规则进行。此外还用到一个一维映射表MaxRun_Tbl,上述19个表的每个表对应一个MaxRun。
下面简要介绍AVS中的CA-2D-VLC进行编码的具体的编码过程。
为便于理解本发明,下面首先简要说明编码前的一个步骤:系数扫描。
系数扫描就是对二维系数块所有系数按照约定的顺序扫描成为一维数组。例如AVS中有两个扫描表,表a为其中之一例如,待编码的系数块如表b所示,
表a        表b
Figure C20051013098700141
对表b所示的8×8系数块依照表a所示顺序扫描后得到的一维数组是:
8,-6,5,-2,1,-4,0,0,0,0,4,0,0,1,0,0,0,2,0,0,3,0,0,0,0,...(后面全部是0)。
对该数组按逆序进行游程编码,Level表示非0系数的值,Run表示非0系数前连续0的个数,编码后得到(Run,Level)如下所示,其中,EOB(End Of Block)表示系数块结束。
(2,3),(3,2),(2,1),(4,4),(0,-4),(0,1),(0,-2),(0,5),(0,-6),(0,8),EOB
在进一步描述编码过程之前,先对几个变量进行解释:
CodeNum表示Exp-Golomb解码得到的值;
|Level|等于当前系数Level的绝对值;
signLevel表示Level的正负,sign_level为“0”表示Level为正值,signLevel为“1”表示Level为负值;
MaxRun表示在当前表中的最大的Run的值;
RefAbsLevel表示absLevel的参考值,用于Escape码,可以在当前表中以Run为索引查到;
RefAbsLevel’表示absLevel的参考值,用于Escape码,包括RefAbsLevel和不能在当前表中以Run为索引查到的absLevel的参考值。
按照标准中规定的规则,从上述19个码表中选择一个码表,在该码表中以Run和|Level|为索引进行查找:
如果是EOB,查表得到的数值就是CodeNum,对CodeNum进行Exp-Golomb编码,即得到编码结果;
如果在表中可以查到,也就是满足(|Level|<RefAbsLevel&& Run<MaxRun),那么查表得到的数值记作data,如果Level为正数,那么CodeNum=data,否则CodeNum=data+1;对CodeNum进行Exp-Golomb编码,即得到编码结果;
如果在表中查不到,该(Run,Level)编码为Escape码,Escape码用两个Exp-Golomb码表示。
CodeNum=59+(Run<<1)+(Level>0)?1:0;
CodeNum’=|Level|-(run>MaxRun)?1:RefAbsLevel;
编码CodeNum和CodeNum’为Exp-Golomb码,即得到编码结果。
下面介绍Exp-Golomb码。
表C给出了0阶、1阶、2阶和3阶指数哥伦布码的结构。指数哥伦布码的比特串分为“前缀”和“后缀”两部分。前缀由leadingZeroBits个连续的‘0’和一个‘1’构成。后缀由leadingZeroBits+k个比特构成,即表中的xi串,xi的值为‘0’或‘1’。
CodeNum和编码结果之间的对应关系可以用下式表示:
CodeNum=2leadingZeroBits+k-2k+x(leadingZeroBits+k-1)...x2 x1 x0
表C  k阶指数哥伦布码表
根据上述编码过程,可以得到CA-2D-VLC的解码过程,下面简单描述以8×8块为单位的解码过程为:
0:选择初始码表;
1.Exp-Golomb码的解码,得到CodeNum
2.如果是一个块的第一个解码码字,则执行下一步,否则判断是否是EOB,如果是,执行步骤7,否则执行下一步;
3.Escape检测,如果CodeNum不大于59,则不是Escape,执行下一步;否则执行步骤5;
4.通过查表得到(Run.Level),执行步骤6;
5.Exp-Golomb码的解码,得到CodeNum’,并查表得到MaxRun和RefAbsLevel。
Run=(CodeNum-59)>>1,
RefAbsLevel’=(Run>MaxRun)?1:RefAbsLevel;
|Level|=CodeNum’+RefAbsLevel’,
如果CodeNum’为奇数,则Level=-|Level|;否则Level=|Level|;
6.更新码表选择,执行步骤1,开始解码下一个码字;
7.块系数解码结束。
上述的AVS中CA-2D-VLC算法是2003年12月AVS会议最终确定的。由于迄今为止该CA-2D-VLC算法发展的时间很短,所以已提出的完整实现结构很少。目前已经公开发表的关于基于上下文的2-DVLC的解码器主要是纯软件解码。例如作为传统的VLC技术,可以参见专利文件US5208593-A,本申请将该文件作为相关的背景技术在此引用作为现有技术方案的参考。
现有的技术方案是纯软件变长解码器,可参考AVS提供的RM5C软件。纯软件解码按照算法流程在PC机上执行解码过程。该方案的缺点是:纯软件解码器为了保证其解码速度,内存开销较大,对PC机的配置要求较高,需要对解码器进行多方面的优化后才能满足实时应用场合的需要。另外,该方案不能应用到集成电路设计中,其应用范围受限。
发明内容
鉴于上述现有技术所存在的问题,本发明的目的是提供一个可用于CA-2D-VLD的新方法和新装置以克服上述的问题。本发明结构合理地存储解码需要的数据,从而实现节省存储空间并且实现高吞吐率的解码的目的。
为了更好地理解本发明,先对文中所述的一些词语进行说明:
索引:本发明中所说的索引指变长编码的码表中对应于码字的索引;
存储单元:本发明中所说的存储单元是存储器的一个单元,每个地址对应一个存储单元;
存储器空间:本发明中所说的存储空间是指存储器中包括一个或若干存储单元的集合;
变换:本发明中所说的变换包括了映射、合并与运算等操作。
映射:本发明中所说的合并是指将多个存储单元映射到一个或几个存储单元中,以减少存储所需要的空间。
合并:本发明中所说的合并是指将多个码表的数据合并到一个或几个大存储器中,以减少所需要的存储器的个数。
根据本发明的一个方案,利用CA-2D-VLC的数据编码特点,给出一种解码查找表的分配方案。而这种解码查找表的分配方案可在AVS中有着重要应用。
本发明的方法和装置的基本构思在于,针对中CA-2D-VLC编码的特点,对于解码查找表,采用函数将两个或多个存储单元映射到另一个存储单元。对于不能用函数映射的存储单元,采用开辟新的存储单元的方法,或者从其它途径获取(比如通过计算得到)。为了寻址简单,对于可以用函数映射的个别单元,也可以开辟新的存储单元,或者从其它途径获取(比如通过计算得到)。
具体地说,根据本发明的一个方案,提供一种对于基于上下文的自适应二维变长编码(CA-2D-VLC)的变长编码数据进行基于上下文的自适应二维变长解码(CA-2D-VLD)的方法,包括步骤:
接收基于上下文的自适应二维变长编码的变长编码数据,并存储在预定的存储空间位置中;
采用预定运算函数对于解码查找表,即VLC0_Intra~VLC6_Intra,VLC0_Inter~VLC6_Inter、VLC0_Chroma~VLC4_Chroma和MaxRun_Tbl)中的多个预定数据成分(Run,Level)、(RefAbsLevel)、EOBcode、MaxRun进行存储器空间的变换操作,从而将所说的多个预定数据成分变换到与原来该预定数据成分的存储器空间不同的一个或几个存储器空间中;
随后用已经变换到一个或几个存储器空间中的数据对输入的变长编码数据进行基于上下文的自适应二维变长解码,以便获得目标数据。
根据本发明的一个方案,在所说的变换操作的步骤中采用预定运算函数对于解码查找表中的关于索引的存储单元进行映射操作,从而将多个存储单元映射到一个或几个存储单元中。
根据本发明的一个方案,在所说的变换操作的步骤中采用预定运算函数对于解码查找表中的关于索引的存储单元采用地址相接而把多个码表的数据合并到一个或几个大存储器中。
根据本发明的一个方案,在所说的变换操作的步骤中采用预定运算函数对于解码查找表中的关于索引(Run,Level)的存储单元进行映射操作,从而将多个存储单元映射到一个或几个存储单元中。
根据本发明的一个方案,在所说的变换操作的步骤中对于解码查找表中的关于索引(Run,Level)的存储单元采用地址相接而把多个码表的数据合并到一个或几个大存储器中
根据本发明的一个方案,在所说的变换操作的步骤中采用预定运算函数对于解码查找表中的关于索引RefAbsLevel的存储单元进行映射操作,从而将多个存储单元映射到一个或几个存储单元中。
根据本发明的一个方案,在所说的变换操作的步骤中对于解码查找表中的关于索引RefAbsLevel的存储单元采用地址相接而把多个码表的数据合并到一个或几个大存储器中。
根据本发明的一个方案,在所说的变换操作的步骤中采用预定运算函数得到解码查找表中的关于索引RefAbsLevel数据的部分或全部;以及,利用所说预定运算函数的计算所得到的全部该索引数据、或利用所说预定运算函数的计算所得到的部分该索引数据加上从存储单元中得到的索引数据,对输入的视频编码信号进行基于上下文的自适应二维变长解码,以便获得目标数据。
根据本发明的一个方案,在所说的变换操作的步骤中采用预定运算函数得到码查找表中的关于EOBcode索引数据;以及利用所说预定运算函数的计算所得到的EOBcode索引数据对输入的视频编码信号进行基于上下文的自适应二维变长解码,以便获得目标数据。
根据本发明的一个方案,在所说的变换操作的步骤中采用预定运算函数将解码查找表中的关于索引MaxRun数据存储在相应的(Run,Level)存储单元之后,并与(Run,Level)处于同一存储空间;以及利用所说预定运算函数的计算所得到的索引MaxRun数据对输入的视频编码信号进行基于上下文的自适应二维变长解码,以便获得目标数据。
根据本发明的另一个方案,提供一种对于基于上下文的自适应二维变长编码(CA-2D-VLC)的变长编码数据进行基于上下文的自适应二维变长解码(CA-2D-VLD)的装置,包括:
接收单元,接收基于上下文的自适应二维变长编码的变长编码数据,并存储在预定的存储空间位置中;
变换单元,采用预定运算函数对于解码查找表,即VLC0_Intra~VLC6_Intra、VLC0_Inter~VLC6_Inter、VLC0_Chroma~VLC4_Chroma和MaxRun_Tbl中的多个预定数据成分(Run,Level)、RefAbsLevel、EOBcode、MaxRun进行存储器空间的变换操作,从而将所说的多个预定数据成分变换到与原来该预定数据成分的存储器空间不同的一个或几个存储器空间中;
存储器单元,用于存储变换的数据成分;
解码单元,用已经变换到一个或几个存储器空间中的数据对输入的变长编码数据进行基于上下文的自适应二维变长解码,以便获得目标数据。
根据本发明的一个方案,在所说的变换单元包括一个映射单元,采用预定运算函数对于解码查找表中的关于索引的存储单元进行映射操作,从而将多个存储单元映射到一个或几个存储单元中。
根据本发明的一个方案,在所说的变换单元包括一个合并单元,采用预定运算函数对于解码查找表中的关于索引的存储单元采用地址相接而把多个码表的数据合并到一个或几个大存储器中。
根据本发明的一个方案,所说的映射单元采用预定运算函数对于解码查找表中的关于索引(Run,Level)的存储单元进行映射操作,从而将多个存储单元映射到一个或几个存储单元中。
根据本发明的一个方案,所说的合并单元对于解码查找表中的关于索引(Run,Level)的存储单元采用地址相接而把多个码表的数据合并到一个或几个大存储器中
根据本发明的一个方案,所说的映射单元采用预定运算函数对于解码查找表中的关于索引RefAbsLevel的存储单元进行映射操作,从而将多个存储单元映射到一个或几个存储单元中。
根据本发明的一个方案,所说的合并单元对于解码查找表中的关于索引(RefAbsLevel)的存储单元采用地址相接而把多个码表的数据合并到一个或几个大存储器中。
根据本发明的一个方案,所说的变换单元包括一个计算单元,采用预定运算函数得到解码查找表中的关于索引RefAbsLevel数据的部分或全部;并且所说的解码单元,利用所说预定运算函数的计算所得到的全部该索引数据、或利用所说预定运算函数的计算所得到的部分该索引数据加上从存储单元中得到的索引数据,对输入的视频编码信号进行基于上下文的自适应二维变长解码,以便获得目标数据。
根据本发明的一个方案,所说的变换单元包括一个计算单元,采用预定运算函数得到码查找表中的关于EOBcode索引数据;并且所说的解码单元,利用所说预定运算函数的计算所得到的EOBcode索引数据对输入的视频编码信号进行基于上下文的自适应二维变长解码,以便获得目标数据。
根据本发明的一个方案,在所说的变换单元包括一个计算单元,采用预定运算函数将解码查找表中的关于索引MaxRun数据存储在相应的(Run,Level)存储单元之后,并与(Run,Level)处于同一存储空间;并且所说的解码单元,利用所说预定运算函数的计算所得到的索引MaxRun数据对输入的视频编码信号进行基于上下文的自适应二维变长解码,以便获得目标数据。
附图说明
下面将结合附图描述描述本发明的装置和方法的具体的实施例的细节。本发明的其它特点、目的、和优点将通过针对附图的描述以及通过权利要求的限定而变得清楚,其中:
图1是按照本发明的AVS CA-2-D-VLC解码器系统的总体方框图;以及
图2是按照本发明的AVS CA-2-D-VLC解码器系统的一个核心局部组成部分的框图
图3是图2中的变换单元的具体组成的示意图;
图4是按照本发明的CA-2-D-VLC解码方法的流程图。
图5是按照本发明的CA-2-D-VLC又一解码方法的流程图。
具体实施方式
下面参照附图1-5来描述本发明的实施例。
图1是按照本发明的AVS CA-2-D-VLC解码器装置的总体方框图。整个解码器装置包括:变长编码数据输入装置10、桶形移位器11、CodeNum产生器12、解码输出装置13、第一个‘1’检测器14、Tblnum&Grad更新单元15、Symbol&MaxRun存储器16、RefAbsLeve存储器17、控制器18和EOBcode产生单元19。作为一个用于对压缩视频信号进行解码的装置当然包括比图1中更多的组成部件,而为了描述的简单起见,图1仅示出了理解本发明的实现和工作所需的那些部件。本领域的技术人员会理解,并知道如何设计、实现和将这些部件互连。进一步说,在图1中的桶形移位器11、第一个‘1’检测器14、CodeNum产生器12、Tblnum&Grad更新单元15、控制器18组成和操作不是本发明直接关联的部件而且其操作属于本领域的公知常识。例如,桶形移位器11电路和第一个‘1’检测电路14可以用任何各种公知检测电路实现。CodeNum产生器12、Tblnum&Grade更新单元15、控制器18的操作和原理比较简单,因此这里不再赘述。
在本说明书随后的描述中,Tblnum指码表的标号,Grad指Exp-Golomb的阶数,Symbol指(Run,Level)。
图1中的Symbol&MaxRun存储器16、RefAbsLeve存储器17、控制器18是和本发明密切相关的组成部分部分,为了描述得清楚,将图1中包括上述三个重要部分的解码器重新绘制成图2的按照本发明的AVS CA-2-D-VLC解码器系统的一个核心局部组成部分的框图。
图2中包括接收装置20、变换单元21、正常操作区22、存储器23、解码器24。其中接收装置20可以认为是图1中的变长编码数据输入装置10,变换单元21、正常操作区22和存储器23可以看作是图1中的Symbol&MaxRun存储器16和RefAbsLeve存储器17的EOBcode产生单元19的组合变形,而解码器24可以看作是图1中除去变长编码数据输入装置10、解码输出装置13、Symbol&MaxRun存储器16、EOBcode产生单元19和RefAbsLeve存储器17之外的其它各部分的集合。
在控制软件的操作下,控制器操作原属是Symbol&MaxRun存储器16和RefAbsLeve存储器17及EOBcode产生单元19成为图2中的变换单元21、正常操作模式存储区22和存储器23。在进行变换操作的条件下,控制软件将其操作为变换单元而进行预定的数据映射、合并和计算。而在传统的正常操作的模式中,存储器则表现为一个正常操作模式存储区22。
作为实现本发明基本构思的核心单元的变换单元21就是在对解码查找表的关于索引的数据的存储位置进行变换,从而实现针对CA-2D-VLC的变长编码数据针对特定的数据成分采用解码查找表。具体地说是通过预定的函数将两个或多个存储单元中的该特定的数据成分映射/和并到一个/或几个存储单元中,对于不能用函数映射/合并的数据存储单元,则采用开辟新的存储单元的方法、或者通过计算得到。为了达到寻址简单的技术效果,对于可以用函数映射/合并的个别数据单元,也可以采用新的存储单元、或者通过计算得到。因此,实现本发明的使得解码器的硬件消耗减小、数据吞吐量提高的目的。
上述的属于是本发明核心的变换单元21在图3中示出。如图3所示,从实现的功能上说,变换单元的具体组成包括映射单元210、码表合并单元211和存储数据计算单元212。换句话说,本发明将通过在控制器的控制下实现上述的映射单元210、码表合并单元211和存储数据计算单元212的映射、合并和计算功能。
应该特别强调说明的是,图3所示的变换单元21中的映射单元210、码表合并单元211和存储数据计算单元212在操作上是独立、并行的关系,即映射、合并和计算功能在实施上可以是单独实现成对实现或同时实现。
下面具体地说明图3的变换单元中21的映射单元210、码表合并单元211和存储数据计算单元212的具体操作。
应该说明,参照附图3对于变换单元21的映射单元210、码表合并单元211和存储数据计算单元212的具体操作的描述是作为示例给出的,而不是对于本发明的限制。
针对AVS CA-2D-VLD中解码查找表中(Run,Level)的存储方式,根据本发明的变换单元21的映射单元210执行映射操作,采用函数将两个或多个存储单元映射到一个存储单元,其映射方式如表1和表2所示。
针对AVS CA-2D-VLD中解码查找表中(Run,Level)的存储方式,根据本发明的变换单元21的映射单元210执行映射操作,采用函数将两个或多个存储单元映射到一个存储单元,其映射方式如下列公式所示,
Figure C20051013098700271
addr_new=m′>>1
其中,m表示查找表中的CodeNum,也就是原来查找表的地址,m’表示m的修正值,addr_new表示映射后的新地址。原存储单元中的(Run,Level)在新的存储单元中的存储数据为(Run,|Level|)。
例如对于解码查找表VLC0_Intra和VLC1_Intra中的(Run,|Level|),其映射后的存储方式如表1和表2所示:
表1.VLC0_Intra解码查找表存储方式
    地址 CodeNum     存储数据
    0 0/1     Run |Level|
    1 2/3     Run |Level|
    ... ...     ...
    28 56/57     Run |Level|
表2.VLC1_Intra解码查找表存储方式
    地址    CodeNum     存储数据
    0    0/1     Run |Level|
    1    2/3     Run |Level|
    2    4/5     ...
    3    6/7     ...
    4    9/10     ...
    5    11/12     ...
  ...   ...   ...
  28   57/58   Run|Level|
应该指出:在表2中,CodeNum=8的存储单元,存储时单独考虑。
针对存储单元间的函数映射关系,映射单元201可以得到相应的解码操作:
(1)把CodeNum映射为新的存储地址addr_new,如下列公式所示,
Figure C20051013098700281
addr_new=m′>>1
(2)推算出解码结果,
run=Run
|level|=|Level|
signLevel=m′[0]
针对AVS CA-2D-VLD中解码查找表中(Run,Level)的存储方式,根据本发明的变换单元21的合并单元211执行合并操作,采用地址相接的方法把19个码表数据合并为一个或几个大存储器中的数据。具体地说,19个码表存在一个存储器中,即Symblo&MaxRun存储器,其具体存储方式如表3所示。该存储器包括19个存储方式如表1和表2所示的小存储单元,该存储器的地址包括两部分,其中高位地址为Tblnum,低位地址小存储单元的地址。
表3.Symblo&MaxRun存储方式
  高位地址   低位地址
  0   0
  0   1
  ...
  0   31
  1   0
  1   1
  ...
  1   31
  ...
  ...
  18   0
18 1
  ...
  18   31
针对AVS CA-2D-VLD中解码查找表中RefAbsLevel的存储方式,按照本发明的变换单元21中的映射装置210执行映射操作,采用函数将两个或多个存储单元映射到一个存储单元,其映射方式是把7<run<MaxRun的数据映射为一个存储单元。
例如对于解码查找表VLC0_Intra和VLC1_Intra中的RefAbsLevel,其映射后的存储方式如表4和表5所示:
表4.VLC0_Intra中RefAbsLevel查找表存储方式
  地址   Run   存储数据(RefAbsLevel)
  0   0   4
  1   1   3
  2   2   3
  3   3   3
  4   4   3
  5   5   2
  6   6   2
  7   7   2
  8   8   2
  -   ...   ...
  -   55   2
  -   56   2
表5.VLC1_Intra中RefAbsLevel查找表存储方式
  地址   Run  存储数据(RefAbsLevel)
0 0 7
  1   1  4
  2   2   4
  3   3   3
  4   4   3
5 5 3
  6   6   3
  7   7   3
  8   8   2
  -   ...   ...
  -   14   2
作为上述方案的替代方案,也可以采用预定运算函数得到解码查找表中的关于索引RefAbsLevel数据的部分,具体来说,对于映射后地址为8的存储单元的数据可以用函数得到,从而使解码时寻址简单。
那么在该方案下,解码的操作如下:
RefAbsLevel &prime; = memdata Run &le; 7 2 , 7 < Run < MaxRun 1 , Others
memdata表示从存储单元中读出的数据。
作为上述方案的替代方案,也可以为run>MaxRun的数据开辟存储单元,例如映射到地址为9的存储单元,等等。
针对AVS CA-2D-VLD中解码查找表中RefAbsLevel的存储方式,根据本发明的变换单元21中的合并单元211执行合并操作,采用地址相接的方法把19个码表合并为一个或几个大存储器,合并方式是:把原小码表的地址作为一个偏移地址,合并后的地址等于偏移地址加上一个预定的基本地址。
具体地说,19个码表存在一个存储器中,即RefAbsLevel存储器中,其具体存储方式如表6所示。该存储器包括19个存储方式如表4和表5所示的地址为0到7的小存储器,该存储器的地址包括两部分,其中高位地址为Tblnum,低位地址小存储单元的地址。
表6.RefAbsLevel存储方式
  高位地址   低位地址
  0   0
  0   1
  ...
  0   7
  1   0
  1   1
  ...
  1   7
  ...
  ...
  18   0
  18   1
  18   7
对于AVS CA-2D-VLD中解码查找表中EOBcode以及MaxRun_Tbl数据成分,本发明的变换装置21中的计算单元212将决定它们的存储方式。
具体地说,按照本发明可以有以下几个存储方式:
上述19个码表每个码表对应一个MaxRun,除VLC0_Intra、VLC0_Inter和VLC0_Chrma外,每个码表有一个EOBcode。
存储方式一:采用预定运算函数将解码查找表中的关于索引MaxRun和索引EOBcode数据存储在相应的(Run,Level)存储单元之后,并与(Run,Level)处于同一存储空间。
MaxRun和EOBcode可以存在一个存储单元中,也可以分开存储。
例如VLC1_Intra,按照本发明的装置,解码查找表的存储方式如表7和表8所示,当然,也可以把EOBcode和MaxRun的存储位置互相交换。
表7.VLC0_Intra解码查找表存储方式一
  地址   存储数据
0   Run|Level|
1   Run|Level|
2   Run|Level|
3   Run|Level|
  ...   ...
28   Run|Level |
  29   MaxRun
  30   EOBcode
表8.VLC0_Intra解码查找表存储方式一
  地址   存储数据
0   Run|Level|
1   Run|Level|
2   Run|Level|
3   Run|Level|
  ...   ...
28   Run|Level|
  29   MaxRun EOBcode
存储方式二:采用预定运算函数将解码查找表中的关于索引MaxRun数据存储在相应的(Run,Level)存储单元之后,并与(Run,Level)处于同一存储空间;EOBcode采用预定运算函数得到。
图1中采用的是该存储方式。
存储方式三:采用预定运算函数将解码查找表中的关于索引EOBcode数据存储在相应的(Run,Level)存储单元之后,并与(Run,Level)处于同一存储空间;MaxRun采用预定运算函数得到。
存储方案四:MaxRun和EOBcode都采用预定运算函数得到。
下面结合图4和图5的流程图描述根据本发明的AVS CA-2-D-VLC解码方法实施例的方法。
图4是按照本发明的AVS CA-2-D-VLC解码方法的流程图。先按照本发明的方法对解码所需要的查找表进行初始化,然后开始解码。解码操作从步骤101开始,这里指对一个块的量化系数进行CA-2D-VLD解码。
首先,步骤101对Tblnum进行初始化。
在步骤102中,进行Exp-Golomb解码,得到CodeNum。同时根据Tblnum计算得到EOBcode。接着执行步骤103,判断是否为EOB,如果是EOB,那么执行步骤112,表示对一个块的解码结束;否则,执行步骤104。
在步骤104中判断是否为Escape,如果不是Escape,那么执行步骤105,根据本发明的映射方法得到映射后的地址来读取Symbol&MaxRun存储器,得到Run和|Level|,根据CodeNum可以得到signLevel.这样就完成非Escape情况下一个码字的解码,然后执行步骤111。
在步骤104中,如果判断的结果是Escape,那么执行步骤107,根据CodeNum算出Run,即Run=(CodeNum-59)>>1。然后步骤执行108。
在步骤108中,按照本发明的方法,MaxRun紧接在其相应码表的(Run,Level)之后存储,所以从Symbol&MaxRun存储器中读出MaxRun。按照本发明的方法,RefAbsLevel存储器中存储部分RefAbsLevel数据,其他数据可以直接得到,在该步骤108中,根据Tblnum和Run的值确定RefAbsLevel的地址,如果解码得到的Run的值大于预先定义的可以存储在存储器中的RefAbsLevel数据对应的Run的值,那么就可以省去读取RefAbsLevel数据存储器而直接得到的数据,这一点在图4中没有详细示出。
然后进执行步骤109而得到CodeNum’。步骤110根据MaxRun、RefAbsLevel和MaxRun,以及CodeNum’来计算Level,具体的计算方法如下:
|Level|=CodeNum’+(run>MaxRun)?1:RefAbsLevel;
signLevel=CodeNum[0]
至此在完成Escape情况下的一个码字的解码,然后执行步骤111。
在步骤111中进行更新Tblnum数据的更新,然后执行步骤102来进行下一个码字的解码。直到执行步骤112解码结束,表示一个块的量化系数解码结束。
图5是按照本发明的AVS CA-2D-VLC的另一解码方法的流程图,与图4所示实施例的流程图相对照,其中只有步骤202、步骤205和步骤208与图4中的步骤102、步骤105和步骤108不同,而其它步骤则与图4中的对应步骤相同。这是因为在采用本发明的方法初始化存储器时的具体步骤不同。在此,将省略对于与图4的相同步骤的描述而仅描述步骤102、105和108。
首先考虑步骤102和步骤202,在图4中,由于EOBcode没有存储在存储器中,所以解码时需要根据Tblnum直接得到,而在图5中,由于EOBcode数据已经存储在存储器中,所以解码时从存储器读取该EOBcode数据。
再考虑步骤105和步骤205,以及步骤108和步骤208。在图4中,MaxRun数据和Symbol数据存储在同一个存储器中,而在图5中,MaxRun数据和Symbol数据分别被存储在不同的存储器中。
本领域技术人员将会理解到,在实施根据本发明的方法的过程中,随着具体的解码查找表的存储方式不同,将会有对应的不同解码流程图,申请人不在此赘述。同时,本申请无意将本发明局限与上述的具体实施例,而本发明意在包括属于本发明精神实质的全部可能的实施方式。
根据本发明上述的方法和装置的实施可以节省存储单元,同时存储的数据推算和存储地址映射也变得很简单。可以用于软件解码,也可集成在视频编解码VLSI(Very Large Scale Integrated Circuits)芯片之中,因此尤其适和应用于VLSI电路的设计。
尽管已经参照优选实施例和附图对本发明的方法和装置进行了描述,但是,本领域技术人员能够理解,在不脱离本发明的精神和范围的情况下,可以对本发明的技术方案作出各种改进和变型,例如解码查找表数目不同或者表中数据多少不同。所有的这些改进和变形都应该包括在由所附权利要求所限定的保护范围之内。

Claims (36)

1.一种对于基于上下文的自适应二维变长编码即CA-2D-VLC的变长编码数据进行基于上下文的自适应二维变长解码即CA-2D-VLD的方法,包括步骤:
接收基于上下文的自适应二维变长编码的变长编码数据,并存储在预定的存储器空间位置中;
采用预定运算函数对于解码查找表,即VLC0_Intra~VLC6_Intra、VLC0_Inter~VLC6_Inter、VLC0_Chroma~VLC4_Chroma和MaxRun_Tbl中的多个预定数据成分(Run,Level)、RefAbsLevel、EOBcode和MaxRun进行存储器空间的变换操作,从而将所说的多个预定数据成分变换到与原来该预定数据成分的存储器空间不同的一个或几个存储器空间中;
随后用已经变换到一个或几个存储器空间中的数据对输入的变长编码数据进行基于上下文的自适应二维变长解码,以便获得目标数据;
VLC0_Intra~VLC6_Intra、VLC0_Inter~VLC6_Inter、VLC0_Chroma~VLC4_Chroma和MaxRun_Tbl是AVS定义的用于系数编解码的码表;其中VLC0_Intra~VLC6_Intra这7个码表用于亮度帧内编码块,VLC0_Inter~VLC6_Inter这7个码表用于亮度帧间编码块,VLC0_Chroma~VLC4_Chroma这5个码表用于色度块,MaxRun_Tbl是表示上述19个码表与MaxRun对应关系的码表;
Run、Level、RefAbsLevel和EOBcode是上述除MaxRun_Tbl以外的19个码表中的预定数据,也称索引;MaxRun是MaxRun_Tbl的预定数据,也称索引。
2.根据权利要求1的方法,其中所说的变换操作的步骤包括:
采用预定运算函数对于解码查找表中的关于索引的存储单元进行映射操作,从而将多个存储单元映射到一个或几个存储单元中。
3.根据权利要求1的方法,其中所说的变换操作的步骤包括:
采用预定运算函数对于解码查找表中的关于索引的存储单元采用地址相接而把多个码表的数据合并到一个或几个大存储器中。
4.根据权利要求2的方法,其中所说的映射操作的步骤包括:
采用预定运算函数对于解码查找表中的关于索引(Run,Level)的存储单元进行映射操作,从而将多个存储单元映射到一个或几个存储单元中。
5.根据权利要求3的方法,其中所说的合并操作的步骤包括:
对于解码查找表中的关于索引(Run,Level)的存储单元采用地址相接而把多个码表的数据合并到一个或几个大存储器中。
6.根据权利要求2的方法,其中所说的映射操作的步骤包括:
采用预定运算函数对于解码查找表中的关于索引RefAbsLevel的存储单元进行映射操作,从而将多个存储单元映射到一个或几个存储单元中。
7.根据权利要求3的方法,其中所说的合并操作的步骤包括:
对于解码查找表中的关于索引RefAbsLevel的存储单元采用地址相接而把多个码表的数据合并到一个或几个大存储器中。
8.根据权利要求1的方法,其中所说的变换操作的步骤包括:
采用预定运算函数得到解码查找表中的关于索引RefAbsLevel数据的部分或全部;以及
利用所说预定运算函数的计算所得到的全部该索引数据、或利用所说预定运算函数的计算所得到的部分该索引数据加上从存储单元中得到的索引数据,对输入的变长编码数据进行基于上下文的自适应二维变长解码,以便获得目标数据。
9.根据权利要求1的方法,其中所说的变换操作的步骤包括:
采用预定运算函数得到解码查找表中的关于EOBcode索引数据;或者采用预定运算函数将解码查找表中的关于索引MaxRun数据存储在相应的(Run,Level)存储单元之后,并与(Run,Level)处于同一存储器空间;
利用所说预定运算函数的计算所得到的EOBcode索引数据或者从存储单元中得到的EOBcode索引数据对输入的变长编码数据进行基于上下文的自适应二维变长解码,以便获得目标数据。
10.根据权利要求1的方法,其中所说的变换操作的步骤包括:
采用预定运算函数将解码查找表中的关于索引MaxRun数据存储在相应的(Run,Level)存储单元之后,并与(Run,Level)处于同一存储器空间;或者采用预定运算函数得到解码查找表中的关于MaxRun索引数据;
利用从存储单元中得到的MaxRun索引数据或者利用所说预定运算函数的计算所得到的索引MaxRun数据对输入的变长编码数据进行基于上下文的自适应二维变长解码,以便获得目标数据。
11.根据权利要求4的方法,其中所说的对于解码查找表中的关于索引(Run,Level)数据采用函数将两个或多个存储单元的数据映射到一个存储单元中的映射方式如下列公式所示,
addr_new=m′>>1
其中,m表示查找表中的CodeNum,也就是原来查找表的地址,m’表示m的修正值,addr_new表示映射后的新地址;原存储单元中的(Run,Level)在新的存储单元中的存储数据为(Run,|Level|);Tblnum指码表的标号。
12.根据权利要求5的方法,其中所说的对于解码查找表中的关于索引(Run,Level)数据采用地址相接而把多个码表的数据合并存储在一个或几个较大存储器中的方式为:把原小码表的地址作为一个偏移地址,合并后的地址等于偏移地址加上一个预定的基本地址。
13.根据权利要求6的方法,其中所说的对于解码查找表中的关于索引RefAbsLevel数据采用函数将两个或多个存储单元的数据映射到一个存储单元中的映射方式为:在每个关于索引RefAbsLevel的查找表中,把索引Run大于某个预定数值的存储单元映射为一个存储单元。
14.根据权利要求7的方法,其中所说的对于解码查找表的关于索引RefAbsLevel数据采用地址相接而把多个码表的数据合并存储为一个或几个大存储器中的方式为:把原小码表的地址作为一个偏移地址,合并后的地址等于偏移地址加上一个预定的基本地址。
15.根据权利要求9的方法,其中EOBcode接在其对应码表的(Run,Level)的存储单元之后存储,该MaxRun的存储位置为:
  地址   存储数据   0   Run |Level|   1   Run |Level|   2   Run |Level|   3   Run |Level|   ...   ...   28   Run |Level|   29   EOBcode
  地址   存储数据   0   Run |Level|   1   Run |Level|   2   Run |Level|   3   Run |Level|   ...   ...
  28   Run |Level| ... ...   30   EOBcode
  地址   存储数据   0   Run |Level|   1   Run |Level|   2   Run |Level|   3   Run |Level|   ...   ...   28   Run |Level|   ...   ...   31   EOBcode
16.根据权利要求10的方法,其中MaxRun接在其对应码表的(Run,Level)的存储单元之后存储,该MaxRun的存储位置为:
  地址   存储数据   0   Run |Level|   1   Run |Level|   2   Run |Level|   3   Run |Level|   ...   ...   28   Run |Level|   29   MaxRun
  地址   存储数据   0   Run |Level|   1   Run |Level|   2   Run |Level|   3   Run |Level|   ...   ...   28   Run |Level|   ...   ...   30   MaxRun
  地址   存储数据   0   Run |Level|   1   Run |Level|   2   Run |Level|   3   Run |Level|   ...   ...   28   Run |Level|   ...   ...   31   MaxRun
17.根据权利要求9或10的方法,所说的MaxRun和所说的EOBcode的存储位置可以互相交换。
18.根据权利要求9或10的方法,其中将MaxRun和EOBcode的之一存储在存储器中,另一个通过计算获取。
19.一种对于基于上下文的自适应二维变长编码即CA-2D-VLC的变长编码数据进行基于上下文的自适应二维变长解码即CA-2D-VLD的装置,包括:
接收单元,接收基于上下文的自适应二维变长编码的变长编码数据,并存储在预定的存储器空间位置中;
变换单元,采用预定运算函数对于解码查找表,即VLC0_Intra~VLC6_Intra、VLC0_Inter~VLC6_Inter,VLC0_Chroma~VLC4_Chroma和MaxRun_Tbl中的多个预定数据成分(Run,Level)、RefAbsLevel、EOBcode和MaxRun进行存储器空间的变换操作,从而将所说的多个预定数据成分变换到与原来该预定数据成分的存储器空间不同的一个或几个存储器空间中;
存储器,用于存储变换的数据成分;
解码单元,用已经变换到一个或几个存储器空间中的数据对输入的变长编码数据进行基于上下文的自适应二维变长解码,以便获得目标数据;
VLC0_Intra~VLC6_Intra、VLC0_Inter~VLC6_Inter、VLC0_Chroma~VLC4_Chroma和MaxRun_Tbl是AVS定义的用于系数编解码的码表,其中VLC0_Intra~VLC6_Intra这7个码表用于亮度帧内编码块,VLC0_Inter~VLC6_Inter这7个码表用于亮度帧间编码块,VLC0_Chroma~VLC4_Chroma这5个码表用于色度块,MaxRun_Tbl是表示上述19个码表与MaxRun对应关系的码表;
Run、Level、RefAbsLevel和EOBcode是上述除MaxRun_Tbl以外的19个码表中的预定数据,也称索引;MaxRun是MaxRun_Tbl的预定数据,也称索引。
20.根据权利要求19的装置,其中所说的变换单元包括:
映射单元,采用预定运算函数对于解码查找表中的关于索引的存储单元进行映射操作,从而将多个存储单元映射到一个或几个存储单元中。
21.根据权利要求19的装置,其中所说的变换单元包括:
合并单元,采用预定运算函数对于解码查找表中的关于索引的存储单元采用地址相接而把多个码表的数据合并到一个或几个大存储器中。
22.根据权利要求20的装置,其中所说的映射单元采用预定运算函数对于解码查找表中的关于索引(Run,Level)的存储单元进行映射操作,从而将多个存储单元映射到一个或几个存储单元中。
23.根据权利要求21的装置,其中所说的合并单元对于解码查找表中的关于索引(Run,Level)的存储单元采用地址相接而把多个码表的数据合并到一个或几个大存储器中。
24.根据权利要求20的装置,其中所说的映射单元采用预定运算函数对于解码查找表中的关于索引RefAbsLevel的存储单元进行映射操作,从而将多个存储单元映射到一个或几个存储单元中。
25.根据权利要求21的装置,其中所说的合并单元对于解码查找表中的关于索引RefAbsLevel的存储单元采用地址相接而把多个码表的数据合并到一个或几个大存储器中。
26.根据权利要求19的装置,其中所说的变换单元包括:
计算单元,采用预定运算函数得到解码查找表中的关于索引RefAbsLevel数据的部分或全部;以及
解码单元,利用所说预定运算函数的计算所得到的全部该索引数据、或利用所说预定运算函数的计算所得到的部分该索引数据加上从存储单元中得到的索引数据,对输入的变长编码数据进行基于上下文的自适应二维变长解码,以便获得目标数据。
27.根据权利要求19的装置,其中所说的变换单元包括:
计算单元,采用预定运算函数得到解码查找表中的关于EOBcode索引数据;或者采用预定运算函数将解码查找表中的关于索引MaxRun数据存储在相应的(Run,Level)存储单元之后,并与(Run,Level)处于同一存储器空间;以及
解码单元,利用所说预定运算函数的计算所得到的EOBcode索引数据或者从存储单元中得到的EOBcode索引数据对输入的变长编码数据进行基于上下文的自适应二维变长解码,以便获得目标数据。
28.根据权利要求19的装置,其中所说的变换单元包括:
计算单元,采用预定运算函数将解码查找表中的关于索引MaxRun数据存储在相应的(Run,Level)存储单元之后,并与(Run,Level)处于同一存储器空间;或者采用预定运算函数得到解码查找表中的关于MaxRun索引数据;以及
解码单元,利用从存储单元中得到的MaxRun索引数据或者利用所说预定运算函数的计算得到的索引MaxRun数据对输入的变长编码数据进行基于上下文的自适应二维变长解码,以便获得目标数据。
29.根据权利要求22的装置,其中所说的映射单元对于解码查找表中的(Run,Level)数据采用函数将两个或多个存储单元的数据映射到一个存储单元中的映射方式如下列公式所示,
addr_new=m′>>1
其中,m表示查找表中的CodeNum,也就是原来查找表的地址,m’表示m的修正值,addr_new表示映射后的新地址;原存储单元中的(Run,Level)在新的存储单元中的存储数据为(Run,|Level|);Tblnum指码表的标号。
30.根据权利要求23的装置,其中所说的合并单元对于解码查找表中的关于索引(Run,Level)数据采用地址相接而把多个码表的数据合并存储在一个或几个较大存储器中的方式为:把原小码表的地址作为一个偏移地址,合并后的地址等于偏移地址加上一个预定的基本地址。
31.根据权利要求24的装置,其中所说的对于解码查找表中的关于索引RefAbsLevel数据采用函数将两个或多个存储单元的数据映射到一个存储单元中的映射方式为:在每个关于索引RefAbsLevel的查找表中,把索引Run大于某个预定数值的存储单元映射为一个存储单元。
32.根据权利要求25的装置,其中所说的合并单元对于解码查找表的关于索引RefAbsLevel数据采用地址相接而把多个码表的数据合并存储为一个或几个大存储器中的方式为:把原小码表的地址作为一个偏移地址,合并后的地址等于偏移地址加上一个预定的基本地址。
33.根据权利要求27的装置,其中EOBcode接在其对应码表的(Run,Level)的存储单元之后存储,该EOBcode的存储位置为:
  地址   存储数据   0   Run |Level|   1   Run |Level|   2   Run |Level|   3   Run |Level|   ...   ...   28   Run |Level|   29   EOBcode
  地址   存储数据   0   Run |Level|   1   Run |Level|   2   Run |Level|   3   Run |Level|   ...   ...   28   Run |Level|   ...   ...   30   EOBcode
  地址   存储数据   0   Run |Level|   1   Run |Level|   2   Run |Level|   3   Run|Level|   ...   ...   28   Run |Level|   ...   ...   31   EOBcode
34.根据权利要求28的装置,其中MaxRun接在其对应码表的(Run,Level)的存储单元之后存储,该MaxRun的存储位置为:
  地址   存储数据   0   Run |Level|   1   Run |Level|   2   Run |Level|   3   Run |Level|   ...   ...   28   Run |Level|   29   MaxRun
  地址   存储数据   0   Run |Level|   1   Run |Level|   2   Run |Level|   3   Run |Level|   ...   ...   28   Run |Level|   ...   ...   30   MaxRun
  地址   存储数据   0   Run |Level|   1   Run |Level|   2   Run |Level|   3   Run |Level|   ...   ...   28   Run |Level|   ...   ...   31   MaxRun
35.根据权利要求27或28的方法,所说的MaxRun和所说的EOBcode的存储位置可以互相交换。
36.根据权利要求27或28的方法,其中将MaxRun和EOBcode的之一存储在存储器中,另一个通过计算获取。
CNB200510130987XA 2005-12-15 2005-12-15 基于上下文的自适应二维变长解码方法和装置 Expired - Fee Related CN100440979C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB200510130987XA CN100440979C (zh) 2005-12-15 2005-12-15 基于上下文的自适应二维变长解码方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB200510130987XA CN100440979C (zh) 2005-12-15 2005-12-15 基于上下文的自适应二维变长解码方法和装置

Publications (2)

Publication Number Publication Date
CN1791223A CN1791223A (zh) 2006-06-21
CN100440979C true CN100440979C (zh) 2008-12-03

Family

ID=36788660

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200510130987XA Expired - Fee Related CN100440979C (zh) 2005-12-15 2005-12-15 基于上下文的自适应二维变长解码方法和装置

Country Status (1)

Country Link
CN (1) CN100440979C (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7903873B2 (en) * 2007-09-13 2011-03-08 Microsoft Corporation Textual image coding
CN101188753B (zh) * 2007-11-27 2010-12-29 海信集团有限公司 一种视频熵解码查找表的构造方法及视频熵解码方法
CN101959064B (zh) * 2009-07-14 2012-05-30 炬力集成电路设计有限公司 一种视频解码方法及装置
US8743969B2 (en) 2011-06-23 2014-06-03 Panasonic Corporation Image decoding method and apparatus based on a signal type of the control parameter of the current block
KR102062283B1 (ko) 2011-06-24 2020-01-03 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
WO2012176464A1 (ja) 2011-06-24 2012-12-27 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
CA2842646C (en) 2011-06-27 2018-09-04 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
CN106878724B (zh) 2011-06-28 2020-06-05 太阳专利托管公司 图像编码解码装置
MX2013010892A (es) 2011-06-29 2013-12-06 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
AU2012277219A1 (en) 2011-06-30 2013-09-19 Sun Patent Trust Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device
CA2837537C (en) 2011-06-30 2019-04-02 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
CA2838575C (en) 2011-07-11 2018-06-12 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
CN103327314B (zh) * 2012-03-22 2016-06-29 上海算芯微电子有限公司 基于通用格式码表的可变长解码装置和方法
CN104519356B (zh) * 2014-12-04 2019-03-15 广东中星电子有限公司 一种cabac编/解码方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040070525A1 (en) * 2002-06-20 2004-04-15 Nokia Corporation Method and a system for variable-length decoding, and a device for the localization of codewords
CN1589023A (zh) * 2004-08-06 2005-03-02 联合信源数字音视频技术(北京)有限公司 一种基于上下文的多码表变长编解码方法及编解码装置
CN1662063A (zh) * 2004-02-24 2005-08-31 上海交通大学 可变长码解码方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040070525A1 (en) * 2002-06-20 2004-04-15 Nokia Corporation Method and a system for variable-length decoding, and a device for the localization of codewords
CN1662063A (zh) * 2004-02-24 2005-08-31 上海交通大学 可变长码解码方法
CN1589023A (zh) * 2004-08-06 2005-03-02 联合信源数字音视频技术(北京)有限公司 一种基于上下文的多码表变长编解码方法及编解码装置

Also Published As

Publication number Publication date
CN1791223A (zh) 2006-06-21

Similar Documents

Publication Publication Date Title
CN100440979C (zh) 基于上下文的自适应二维变长解码方法和装置
US7710296B2 (en) N-bin arithmetic coding for context adaptive binary arithmetic coding
US8233545B2 (en) Run length encoding in VLIW architecture
US7804430B2 (en) Methods and apparatus for processing variable length coded data
US7385535B2 (en) Decoding system and method based on context-based adaptive binary arithmetic coding
US7817864B2 (en) Coding apparatus and decoding apparatus
JP5952900B2 (ja) エントロピー符号化をサポートするモード切替
JP4886755B2 (ja) コンテキスト適応バイナリ算術符号化と復号化のシステム及び方法
US7119723B1 (en) Decoding variable length codes while using optimal resources
US7221296B2 (en) Method and system for fast context based adaptive binary arithmetic coding
Osorio et al. High-throughput architecture for H. 264/AVC CABAC compression system
US8094048B2 (en) Method of decoding syntax element in context-based adaptive binary arithmetic coding decoder and decoding device therefor
US7411529B2 (en) Method of decoding bin values using pipeline architecture and decoding device therefor
US7365660B2 (en) Method and device for decoding syntax element in CABAC decoder
US20020101367A1 (en) System and method for generating optimally compressed data from a plurality of data compression/decompression engines implementing different data compression algorithms
JP5149444B2 (ja) 復号システムおよび方法
JP2008113374A (ja) エントロピー符号化装置
JP3235555B2 (ja) 信号復号装置及び信号復号方法並びに信号復号処理をコンピュータに行わせるためのプログラムを記録した記録媒体
US11431978B2 (en) Video decoding method and video decoding device for improving decoding efficiency
CN110545437B (zh) 系数编码、解码方法、电子设备及介质
US7567189B2 (en) Variable length code decoding apparatus and variable length code decoding method
Lin et al. A branch selection multi-symbol high throughput CABAC decoder architecture for H. 264/AVC
CN112449191A (zh) 压缩多个图像的方法、解压缩图像的方法和装置
Lee et al. A design of high-performance pipelined architecture for H. 264/AVC CAVLC decoder and low-power implementation
CN115695794A (zh) 视频残差解码装置和关联方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081203

Termination date: 20121215