扫描长度译码装置与方法

文档序号:7944073阅读:156来源:国知局
专利名称:扫描长度译码装置与方法
技术领域
本发明有关于一种译码方法,且特别有关于一种可同时译
码多个变动值/级值码(run-length code)的译码装置与方法。
背景技术
随着数字影像技术的进步,数字影像在日常生活中的应用已经愈来愈普及了 。有许多的影像标准是为了不同的目的而建立,例如MPEG用于多々某体,H.263用于^L频会议,在将影片等影像数据储存于各种储存媒体时,为了能够节省所占用的储存空间,通常都会应用如MPEG (Motion Picture Expert Group,简称MPEG)等的影像压缩标准,来压缩原始影像数据,MPEG的压缩比一般由8倍到40倍不等。因此,在应用如DVD播放器来播放影像时,也必须先应用影像解压缩电路来进行影像的解压缩,然后才可将还原的影像显示于显示器。
而这些标准的编译码技术都会应用到离散余弦转换(discrete cosine transform , DCT)、 运动补偿(motioncompensation , MC)、 量化(quantization)以及可变长度译码(variable length decode, VLD)等。其中可变长度i斧码是将数据串流中取出的字码(codeword)去4故查表的动作,以解出此字码所代表的系数(DC/AC coefficients)。
更进一步说明,可变长度译码是从数据串流中取出字码,通过查询适当的编码表来解出 一组变动值/级值码(run-lengthcode),其表示形式为(run, level)。其中,变动值(Run)代表此系数前面出现0的个数,而级值(Level)则代表系数值,据此可算出此字码所代表的DC或AC系数。然而,在传统技术中,由于变动值/级值码中的级值所对应的设置位置有相依性,因此译码
器必须依序转换变动值/级值码才能得到完整的数值列(DC或AC系数),因此转换的速度便受到局限。

发明内容
本发明提供 一 种扫描长度译码(Run-Length Decoding)装置与方法,适用于同时译码多个变动值/级值码,主要利用加法器预先算出多个变动值/级值码所对应的设置位置(index),然后同时将多个变动值/级值码填入数值列中以加速变动值/级值码的i奪码速度。
本发明提出一种扫描长度译码装置,适用于转换N组变动值/级值码(run,level),每 一 组变动值/级值码包括 一 变动值(run)与一级值(level), N为正整数且N^2,上述扫描长度译码装置包括N个加法器,用以产生N个级值位置,所述级值位置分别对应于每一组上述变动值/级值码,其中第i个加法器用以产生第i个级值位置,其中第i个级值位置等于第l至第i组变动值/级值的该变动值的累加值加(i-l), i为正整数且KKN。其中,扫描长度译码装置根据加法器所输出的级值位置与一起始位置设置每一组变动值/级值码的级值,接下来将起始位置设置为该回合的第N个变动级值的i殳置位置加1,以提供下 一 回合新的N组变动级值参考。
本发明所述的扫描长度译码装置,上述扫描长度译码装置设置于一可变长度译码器中。
本发明另提出一种扫描长度译码方法,适用于译码多个变动值/级值码,每一所述变动值/级值码包括一变动值与一级值,上述扫描长度译码方法包括下列步骤接收第 一 变动值/级值与第二变动值/级值,其中第一变动值/级值码具有一第一变动值
6与一第一级值,第二变动值/级值码具有一第二变动值与一第二
级值;根据第一变动值输出一第一级值位置,同时根据第二变 动值与第 一 变动值的累加值输出 一 第二级值位置;以及根据第 一级值位置与第二级值位置设置第一级值与第二级值。
本发明所述的扫描长度译码方法,上述在根据第二变动值 与第 一 变动值的累加值输出第二级值位置的步骤中,上述第二 级值位置等于第二变动值与第一变动值的累加值加l。
本发明所述的扫描长度译码方法,上述扫描长度译码方法 还包括下列步骤接收一第三变动值/级值码,上述第三变动值 /级值码包括一第三变动值与一第三级值;根据第一变动值、第 二变动值以及第三变动值的累加值输出 一第三级值位置,该第 三级值位置与该第一级值位置以及该第二级值位置同时输出; 以及根据第三级值位置设置第三级值。
本发明所述的扫描长度译码方法,上述第三级值位置等于 第一变动值、第二变动值以及第三变动值的累加值加2。
本发明所述的扫描长度译码方法,其中在根据第 一 级值位 置与第二级值位置设置第一级值与第二级值的步骤中,还根据 一起始位置、第 一 级值位置以及第二级值位置 一 并设置第 一 级 值以及第二级值。
从另 一 个观点来看,本发明又提出 一种扫描长度译码方法, 包括下列步骤接收N组变动值/级值码,每一组变动值/级值码 包括一变动值(run)与一级值(level), N为正整数且N^2;同时产 生N个级值位置,所述级值位置分别对应于每一组上述变动值/ 级值码,其中第i个级值位置等于第1至第i组变动值/级值码的变 动值的累加值加(i-l), i为正整数且l^KN;以及根据一起始位 置以及上述所产生的级值位置设置每 一 组变动值/级值码的级 值。本发明所述的扫描长度译码方法,上述N等于3。上述级值 为字元或数字,上述变动值表示"0"的数目。
本发明所述的扫描长度译码方法,该级值为数字或字元, 该变动值表示"0"的个数。
本发明因在可变长度译码器中设置加法器,因此可同时计 算出多个级值所对应的级值位置,在进行i奪码时可一次填入多 个变动值/级值码的级值以降低i奪码所需的时间。


图l为根据本发明第一实施例的多媒体数据译码装置图。 图2为根据本发明第 一 实施例的扫描长度译码装置图。 图3为根据本发明第二实施例的扫描长度译码方法流程图。 图4为根据本发明第三实施例的扫描长度译码方法流程图。
具体实施例方式
为让本发明的上述特征和优点能更明显易懂,下文特举较 佳实施例,并配合所附图式,作详细"i兌明如下。 第一实施例
请参照图1,图l为根据本发明第一实施例的多媒体数据译 码装置图。译码装置100包括可变长度译码器110、反量化模块 (inverse quantization" 20以及反离散余弦寿争4奐才莫块(inverse DCT)130,其中反量化模块120耦接于可变长度译码器110与反 离散余弦转换模块130之间。可变长度译码器110接收数据位流 BS,并将其译码为数值列以进行反量化以及反离散余弦转换等 运算。
在本实施例中,数据位流BS(bit stream)的字码(codeword) 包括多个变动值/级值码,其各自的表示形式为(run, level),其
8中变动值"run"便是指在非零的离散余弦转换系数之前的连续 零的个数;而级值"level"则是非零的系数值,据此可算出此字 码所代表的DC或AC系数的绝对值。数据位流BS可译码为多个 数据列,每一数据列的长度则例如为16位。每一数据列可由多 个变动值/级值码所组成,数据列的结尾则可由变动值/级值码 中的特殊位'last,来决定。因此,完整的变动值/级值码可表示为 (last, run, level),例如(l, 6, l)或(O, 6, 1),其中(l, 6, 1) 表示对应数据列的结尾。在侦测到'last'为1的变动值/级值码后, 数据列的其余位置均设置为0。但在本实施例中,可不考虑 "last"。
由于在现有技术中,变动值/级值码的译码有顺序性,必须 先将前面的变动值/级值码译码完成后才能进行下一个变动值/ 级值码的译码。若数据位流BS所包括的变动值/级值码依序为 (0, 9)、 (1, 8)、 (3, 7)、 (1, 6),则可变长度编码器110必须先 译码(O, 9),然后再依序进行(l, 8)、 (3, 7)、 (1, 6)的译码, 其i奪码后的数据歹'j为9080007060000000。由于可变长度编码器 110无法同时在数据列中填入9、 8、 7、 6等级值,因此可变长度 编码器110在进行编码时的速度会有所限制。
有鉴于此,在本实施例于可变长度编码器110增设了对应的 加法器,用以预先计算出9、 8、 7、 6等级值在数据列中所对应 的级值位置。请参照图2,图2为根据本发明第一实施例的扫描 长度译码装置图。扫描长度译码装置200包括加法器210、 220、 230,设置于可变长度编码器110之中。扫描长度译码装置200 会先计算变动值/级值码(0, 9)、 (1, 8)、 (3, 7)所对应的级值位 置。加法器210用以计算变动值/级值码(0, 9)中的级值"9,,所对 应的级值位置,由于其变动值为"O,,,因此级值"9"所对应的级 值位置为数据列中的第l个位。在本实施例中,数据列以16位为例,其各个位分别由index^0 15表示。上述第l个位即对应于 index-O的位,因此级值"9"所对应的级值位置为index=0的位。
加法器220用以计算变动值/级值码(1, 8)中的级值"8"所对 应的级值位置,由于其变动值为"l",因此级值"8"所对应的级 值位置为累加第一个变动值/级值码(0, 9)中的变动值"O,,与第二 个变动值/级值码(1, 8)中的变动值"1",然后再加上第一个变动 值/级值码(0, 9)中的级值"9"所需的设置位置(1个位)后所得结 果,也就是0+1 + 1=2。因此,变动值/级值码(1, 8)中的级值"8" 的级值位置为数据列中index二2的位,即第3个位。
加法器230用以计算变动值/级值码(3, 7)中的级值"7,,所对 应的级值位置,由于其变动值为"3",因此级值"7"所对应的级 值位置为累加第一个变动值/级值码(0, 9)中的变动值"0"与第二 个变动值/级值码(1 , 8)中的变动值"l"以及第三个变动值/级值 码(3, 7)中的变动值"3",然后再加上第一个变动值/级值码(0, 9)中的级值"9 ,,与第二个变动值/级值码(1, 8)的级值"8 "所需的 设置位置(各为l个位,共2个位)后所得结果,也就是0+1+3+2=6。 因此,变动值/级值码(3, 7)中的级值"7"的级值位置为数据列中 index-6的位,即第7个位。
由于加法器210、 220、 230已经将变动值/级值码(0, 9)、 (1, 8)、 (3, 7)所对应的级值位置计算出来,分别为index^0、 2、 6, 因此在译码时可同时填入级值9、 8、 7于对应于的级值位置,形 成数据列9080007000000000,然候再进行其余变动值/级值码的 译码。 一般而言,数据列中其余尚未填入级值的位的预设值为0。 由上述可知,利用本实施例的扫描长度译码装置200,可变长度 译码器110中可在一 个译码周期中译码三个变动值/级值码,相 较于现有技术,本实施例的if码速度可增加两倍。
此外,值得注意的是,上述变动值/级值码(0, 9)、 (1, 8)、
10(3, 7)所对应的起始位置是在index二0的位,若起始位置位于数 4居歹'J的中间部分,例^口index^5或index二10,贝'J力口法器210、 220、 2 3 0会再分别加入起始位置所代表的位数以推知正确的级值位 置。以起始位置是在index^5的位为例,则上述变动值/级值码(0, 9)中的级值"9"的级值位置则会位于index=5的位。其余类推, 在此不加累述。
再者,本实施例虽以三个加法器210、 220、 230为例说明, 但本实施例所设置加法器数目并不受限于三个,加法器的数目 越多,同时所能处理的变动值/级值码就越多。 第二实施例
由于可变长度译码器110可直接由软件程序来执行,因此上 述笫一实施例所述的加法器210、220、230也可直接以软件实现。 因此,从另一个观点来看,本发明提出一种扫描长度译码方法, 请参照图3,图3为根据本发明第二实施例的扫描长度译码方法 流程图。此译码方法包括下列步骤首先,在步骤S310中,接收 第 一 变动值/级值码与第二变动值/级值码,该第 一 变动值/级值 码具有第一变动值与第一级值,该第二变动值/级值码具有第二 变动值与第二级值。然后,在步骤S320中,根据第一变动值输 出第一级值位置;在步骤S330中,根据第二变动值与第一变动 值的累加值输出第二级值位置;以及在步骤S340中,根据第一 级值位置与第二级值位置设置第 一 级值与第二级值。
在上述步骤S330中,上述第二级值位置等于第二变动值与 第一变动值的累加值加l。此外,当需要处理的变动值/级值码 为三个时,则上述步骤S310还接收一第三变动值/级值码,第三 变动值/级值码包括一 第三变动值与一第三级值;步骤S330还根 据第 一 变动值、第二变动值以及第三变动值的累加值输出 一第 三级值位置;步骤S340则还根据第三级值位置设置第三级值。其中,第三级值位置等于第一变动值、第二变动值以及第三变
动值的累加值加2。
此外,步骤S340还根据一起始位置、第一级值位置、第二 级值位置以及第三级值位置同时设置第一级值、第二级值以及 第三级值。本实施例的其余细节请参照上述第一实施例的说明, 在此不加累述。 第三实施例
上述第二实施例所述的扫描长度译码方法可进一步延伸为 适用N组变动值/级值码的译码方法。请参照图4,图4为根据本 发明第三实施例的扫描长度译码方法流程图。首先,在步骤 S410中,接收N组变动值/级值码,每一变动值/级值码包括一变 动值与一级值,N为正整数且N^2。然后,在步骤S420中,产生 N个级值位置,分别对应于上述所接收的变动值/级值码,其中 第i个级值位置等于第l至第i组变动值/级值码的变动值的累加 值加(i-l), i为正整数且KKN。接下来,在步骤S430中,根据 一起始位置以及上述级值位置设置每一变动值/级值码的级值。 本实施例的其余细节请参照上述第一实施例的说明,在此不加 累述。
综上所述,本发明因利用加法器预先计算出变动值/级值码 的级值位置,因此可同时译码多个变动值/级值码,并将其所对 应的级值填入适当的位置以形成数据列。相较于现有技术,本 发明可于一个周期内同时"if码多个变动值/级值码,因此"^码速 度可获得倍数的提升。
以上所述仅为本发明较佳实施例,然其并非用以限定本发 明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神 和范围内,可在此基础上做进一步的改进和变化,因此本发明 的保护范围当以本申请的权利要求书所界定的范围为准。附图中符号的简单说明如下
100:译码装置
110:可变长度译码器
120:反量化模块
130:反离散余弦转换模块
210、 220、 230:力口法器
S310 S340:步骤
S410 S430:步骤。
1权利要求
1. 一种扫描长度译码装置,其特征在于,适用于转换N组变动值/级值码,每一组所述变动值/级值码包括一变动值与一级值,N为预定的正整数且N≥2,该扫描长度译码装置包括N个加法器,用以产生N个级值位置,所述级值位置分别对应于每一组所述变动值/级值码,其中第i个加法器用以产生第i个级值位置,其中第i个级值位置等于第1至第i组变动值/级值码的该变动值的累加值加i并减1,i为正整数且1≤i≤N;以及其中,该扫描长度译码装置根据所述加法器所输出的所述级值位置与一起始位置设置每一所述变动值/级值码的该级值。
2. 根据权利要求l所述的扫描长度译码装置,其特征在于, 该N等于3。
3. 根据权利要求l所述的扫描长度译码装置,其特征在于, 所述加法器设置于一可变长度译码器中。
4. 根据权利要求l所述的扫描长度译码装置,其特征在于, 该级值表示一数字或一字元。
5. 根据权利要求l所述的扫描长度译码装置,其特征在于, 上述变动值表示零的数目。
6. —种扫描长度译码方法,其特征在于,适用于译码多个 变动值/级值码,每 一 所述变动值/级值码包括 一 变动值与 一 级 值,上述扫描长度译码方法包括接收一 第 一 变动值/级值码与 一 第二变动值/级值码,该第 一变动值具有一第一变动值与一第一级值,该第二变动值/级值 码具有一第二变动值与一第二级值;根据该第 一 变动值输出 一 第 一 级值位置,同时根据该第二 变动值与该第 一 变动值的累加值输出 一 第二级值位置;以及根据该第 一 级值位置与该第二级值位置设置该第 一 级值与 该第二级值。
7. 根据权利要求6所述的扫描长度译码方法,其特征在于, 在根据该第二变动值与该第 一 变动值的累加值输出该第二级值 位置的步骤中,该第二级值位置等于该第二变动值与该第一变 动值的累加值加l。
8. 根据权利要求6所述的扫描长度译码方法,其特征在于, 还包括接收一 第三变动值/级值码,该第三变动值/级值码包括一 第三变动值与一第三级值;根据该第一变动值、该第二变动值以及该第三变动值的累 加值输出 一第三级值位置,该第三级值位置与该第 一级值位置 以及该第二级值位置同时输出;以及根据该第三级值位置设置该第三级值。
9. 根据权利要求8所述的扫描长度译码方法,其特征在于, 该第三级值位置等于该第 一 变动值、该第二变动值以及该第三 变动值的累加值加2。
10. 根据权利要求6所述的扫描长度译码方法,其特征在于, 在根据该第一级值位置与该第二级值位置设置该第一级值与该 第二级值的步骤中,还根据一起始位置与该第一级值位置设置 该第一级值以及根据该起始位置与该第二级值位置设置该第二 级值。
11. 根据权利要求6所述的扫描长度译码方法,其特征在于, 该级值为数字或字元,该变动值表示零的个数。
12. —种扫描长度译码方法,其特征在于,包括接收N组变动值/级值码,每 一 组所述变动值/级值码包括一 变动值与一级值,N为预定的正整数且N^2;同时产生N个级值位置,所述级值位置分别对应于每一组 所述变动值/级值码,其中第i个级值位置等于第l至第i组变动值/级值码的该变动值的累加值加i并减l, i为正整数且l^匕N;以 及根据一起始位置以及所述级值位置设置每一组所述变动值 /级值码的该级值。
13. 根据权利要求12所述的扫描长度译码方法,其特征在 于,该N等于3。
14. 根据权利要求12所述的扫描长度译码方法,其特征在 于,该级值为数字或字元,该变动值表示零的个数。
全文摘要
本发明提供一种扫描长度译码装置与方法,适用于同时转换多个变动值/级值码,其中上述装置包括多个加法器,用以预先产生对应于变动值/级值码的级值位置以同时设置多个变动值/级值码中的级值。借此,减少可变长度译码器在译码数据串流时所需的译码时间。
文档编号H04N7/38GK101489137SQ200910003090
公开日2009年7月22日 申请日期2009年1月19日 优先权日2009年1月19日
发明者宋廉祥 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1