JP2006287862A - 復号化装置 - Google Patents

復号化装置 Download PDF

Info

Publication number
JP2006287862A
JP2006287862A JP2005108635A JP2005108635A JP2006287862A JP 2006287862 A JP2006287862 A JP 2006287862A JP 2005108635 A JP2005108635 A JP 2005108635A JP 2005108635 A JP2005108635 A JP 2005108635A JP 2006287862 A JP2006287862 A JP 2006287862A
Authority
JP
Japan
Prior art keywords
data
decoding
value
holding means
symbol
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
JP2005108635A
Other languages
English (en)
Inventor
Saki Hiwatari
咲 樋渡
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2005108635A priority Critical patent/JP2006287862A/ja
Publication of JP2006287862A publication Critical patent/JP2006287862A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

【課題】H.264のCAVLC復号化回路の回路規模削減・高速化を目的とする。
【解決手段】H.264のCAVLC復号化において、可変長符号から復号化されたシンタクス要素levelとrun_beforeからDCT変換係数へ復号化する際に、可変長復号化を行いながら順次にシンタクス要素をDCT変換係数へ復号化する。
【選択図】 図1

Description

本発明は復号化装置に関し、主として動画像データの復号化処理に関する。
画像や音声データに対し、冗長度を減らしデータを圧縮する目的で、可変長符号を用いてエントロピー符号化する手法が広く用いられている。
例えば、MPEG−1/2/4符号化方式では、画像をブロック単位に分割し、直交変換および量子化をした後、ブロック内データを定められた順序でスキャンし、値が0であるデータの連続する個数(ラン)およびそれに続く0以外のデータ(非ゼロデータ)の値(レベル)のシンタクス要素について可変長符号化を行っている。ブロック内データは、所定の順番にスキャンされ、可変長符号化されたラン、レベルの組で表される。
例えば、簡単のために図4で示される4×4個のデータからなるブロックを考えると、各データを図5のような順番でジグザグスキャン読み出しして得られた、{+12,−4,−6,0,0,+8,−3,0,0,+1,0,−1,0,0,0,0}のデータ列から、各々の非ゼロデータ以前の連続する0の個数をラン、非ゼロデータの値をレベルとして、図6のように7組のラン及びレベルの組み合わせをとり、それぞれを可変長符号化する(ここで、図6の最後の組(1,−1)は、レベル値”−1”がブロックスキャン順で最後の非ゼロデータであることを示すために、lastフラグを付加して符号化する。)。
このように可変長符号化されたブロックデータの復号化を行う回路の構成として、通常は、図7(従来例1)のように、ブロック単位に、可変長復号化で得られたラン情報、レベル情報をメモリに一時的に保持し、ブロック単位の復号化が終了した後、メモリからラン、レベル各情報を順次読み出してブロック内データを出力する方式が考えられる。
例えば特許文献1の「MPEG復号装置」では、前述のブロック単位可変長復号部の回路規模を削減するために、8×8ブロック内の64個のデータに1対1で対応したフリップフロップ(FF)を持ち、復号化したラン情報をもとに、ブロック内スキャン順に、対応するFFにレベル情報を書き込む。
H.264符号化方式では、ブロックデータの符号化にCAVLC(Cntext−Adaptive Variable Length Coding)方式を用いることにより、前述のMPEG−1/2/4各符号化形式に比べて高い圧縮効率を実現している。DCT変換を行った画素ブロックに対してブロック内の各DCT係数をジグザグスキャンして1次元のデータ列として読み出した後、非ゼロ係数の個数TotalCoeff,最後に連続する、絶対値1となる係数の個数TrailingOnes,およびその符号trailing_ones_sign_flag,絶対値1でない非ゼロ係数各々の値level,最後の非ゼロ係数より前の、値0となる係数(0係数)の個数total_zeros,各非ゼロ係数の前に連続する0係数の個数run_beforeの順で、復号化時に必要な情報を可変長符号化する。
特開2002−159007号公報
H.264符号化方式では、符合語に対応するシンボルがレベル及びラン情報の組み合わせではなく、レベル情報、ラン情報はそれぞれ独立して可変長符号化されており、ブロック内の各非ゼロ係数のレベル情報を一通り全て符号化した後に、ラン情報の符号化を行う。レベル情報、ラン情報が対になっていないため、特許文献1の「MPEG復号装置」の方式を用いて回路規模の削減及び高速化を実現することは出来ない。
本発明は、以上の点に着目して成されたもので、H.264のCAVLC復号化回路の回路規模削減・高速化を目的とする。
上記の問題を解決するために、本発明の復号化装置は、
非ゼロデータおよびゼロデータの連続数がそれぞれ独立して可変長符号化された符号化ストリームを復号化する復号化装置であって、
前記符号化ストリームに対して可変長復号化を行い、非ゼロデータおよびゼロデータの連続数を含む少なくとも2種類のシンボルを出力する可変長復号化手段と、
N個のデータ保持手段と、
前記N個のデータ保持手段に対してゼロデータを設定する初期化手段と、
前記可変長復号化手段から出力された少なくとも2種類のシンボルのうち、シンボル符号化された非ゼロデータを復号化し、データ保持手段に保持させる、第一のシンボル復号化手段と、
前記可変長復号化手段から出力された少なくとも2種類のシンボルのうち、シンボル符号化されたゼロデータの連続数を復号化し、該ゼロデータの連続数に応じて、前記データ保持手段に保持された前記非ゼロデータの位置を変更する、第二のシンボル復号化手段と、
前記データ保持手段に保持されたN個のデータを出力するデータ出力手段
から構成される。
本願の請求項1記載の発明によれば、
N個のデータが、所定値以外の値をあらわす第一のシンボルおよび所定値に関する情報をあらわす第二のシンボルを含む少なくとも2種類のシンボルにシンボル符号化され、さらに該少なくとも2種類のシンボルが各々可変長符号化された符号化ストリームの復号化時に、
逐次符号化される第一のシンボルおよび第二のシンボルの対のテーブルを構成するメモリを設け、N個のデータを符号化したストリーム全ての復号化が終了した後、前記テーブルを順に参照して復号化されたN個のデータを得る方式に比べて、回路規模の削減ならびに処理の高速化が実現できる。
また、本願の請求項5記載の発明によれば、H.264符号化方式のような、符合語に対応するシンボルがレベル及びラン情報の組み合わせではなく、レベル情報、ラン情報はそれぞれ独立して可変長符号化されており、ブロック内の各非ゼロデータをレベル情報として一通り全て符号化した後に、ブロック内の連続するゼロデータの個数であるラン情報の符号化を行う符号化ストリームの復号化回路において、従来例に比較して回路規模の削減ならびに処理の高速化が実現できる。
図1は本発明の画像復号化装置におけるブロックデータ復号化部を表す図面であり、本発明の特徴を最もよく表す。図1において、101は入力される可変長符号111をシンボル112に復号化するシンボル復号化手段である。
102は、第一のシンボルの復号化で生成される所定値以外の値を保持するデータ保持手段であり、復号化対象ブロック内のN個のデータ各々に対応して、データ保持手段#0(102−0),データ保持手段#1(102−1),…,データ保持手段#N(102−N)のN個で構成される。
103は、データ保持手段102のN個の構成要素(102−0,102−1,…,102−N)に選択的に所定値113を入力することにより保持するデータ値を初期化するデータ初期化手段である。
104は、シンボル復号化手段101から出力されるシンボル112のうち第一のシンボルを復号化して所定値以外の値を生成し、選択的にデータ保持手段102に書き込む第一のシンボル復号化手段である。
105は、シンボル復号化手段101から出力されるシンボル112のうち第二のシンボルを復号化して得られる所定値に関する情報に応じて、各々のデータ保持手段(102−0,102−1,…,102−N)間で保持される値の位置を選択的に変更する第二のシンボル復号化手段である。
106は、前記データ保持手段102に保持されたN個のデータ114を出力するデータ出力手段である。
(実施の形態1)
図1は本発明の実施の形態1のブロックデータ復号化部を示すブロック図である。
本実施形態では、図1のとおり構成されたブロックデータ復号化部を使用し、H.264におけるエントロピー復号化処理の1つであるCAVLC方式処理に適用した例を示す。
H.264におけるCAVLC符号化は、図4のような4x4ブロックのDCT係数を、図5のようにジグザグスキャン順{+12,−4,−6,0,0,+8,−3,0,0,+1,0,−1,0,0,0,0}に読み出し、図2に示すような6種のシンタクス要素、
0でない係数(非ゼロ係数)の個数(TotalCoeff)[7],
最後に連続する、絶対値1となる係数の個数(TrailingOnes)[2]および符号(trailing_ones_sign_flag)[−,+],
絶対値1でない非ゼロ係数各々の値(level)[−3,+8,−6,−4,+12],
最後の非ゼロ係数より前の、値0となる係数(0係数)の個数(total_zeros)[5],
各非ゼロ係数の前に連続する0係数の個数(run_before)[1,2,0,2,0,0]
として可変長符号化される。
次に、図2のとおりCAVLC方式にて符号化されたシンタクス要素を順次復号化しブロックデータを得る処理について図3を用いて説明する。なお、図3は4×4すなわち16個の係数を保持するデータ保持手段#0〜#15の遷移を表したものであり、第一のシンボルに相当するシンタクス要素としてlevel,第二のシンボルに相当するシンタクス要素としてrun_beforeを用いる。簡単のため、各データ保持手段の空欄となっている箇所は所定値(ここでは0)が保持されているものとする。あらかじめ各データ保持手段に初期値を入力して初期化しておく。
ステップ1では、可変長復号化によりシンタクス要素としてTotalCoeff=7,すなわち非ゼロ係数の個数が求まり、次ステップ以降で最初に書き込む非ゼロ係数の位置(書き込みポインタ)が決まる。非ゼロ係数はブロックスキャンの逆順に符号化されているため、書き込みポインタは7個目の非ゼロ係数の位置、すなわちデータ保持手段#6にセットされる。この段階ではデータ保持手段への書き込みは行われない。
ステップ2では、可変長復号化によりシンタクス要素としてTrailingOnes=2,すなわち最後に連続する絶対値1となる非ゼロ係数の個数が求まる。ステップ1で非ゼロ係数の個数が7個ということがわかっているため、そのうちの後ろ2つ、すなわちデータ保持手段#5およびデータ保持手段#6には絶対値1の非ゼロ係数が書き込まれることが決まるが、ここではまだ係数の符号が決まっていないため、この段階ではデータ保持手段への書き込みは行われない。次ステップ以降でTrailingOnesの個数だけ、traing_ones_sign_flagの復号化を行う。
ステップ3では、可変長復号化によりシンタクス要素としてtraing_ones_sign_flag:”−“,すなわちデータ保持手段#6に書き込まれる7番目の非ゼロ係数(絶対値1)の符号が負と決定され、データ保持手段#6には値”−1”が書き込まれる。書き込み完了後、書き込みポインタは一つ前、データ保持手段#5にセットされる。
ステップ4では、可変長復号化によりシンタクス要素としてtraing_ones_sign_flag:“+”,すなわちデータ保持手段#5に書き込まれる6番目の非ゼロ係数(絶対値1)の符号が正と決定され、データ保持手段#6には値“+1”が書き込まれる。書き込み完了後、書き込みポインタは一つ前、データ保持手段#4にセットされる。ステップ3、4でTrailingOnesの個数だけのtraing_ones_sign_flagの復号化が終了する。
ステップ5では、可変長復号化によりシンタクス要素としてlevel=−3,すなわち5番目の非ゼロ係数値が決定され、データ保持手段#4には値“−3”が書き込まれる。書き込み完了後、書き込みポインタは一つ前、データ保持手段#3にセットされる。
ステップ6では、可変長復号化によりシンタクス要素としてlevel=+8,すなわち4番目の非ゼロ係数値が決定され、データ保持手段#3には値“+8”が書き込まれる。書き込み完了後、書き込みポインタは一つ前、データ保持手段#2にセットされる。
ステップ7では、可変長復号化によりシンタクス要素としてlevel=−6,すなわち3番目の非ゼロ係数値が決定され、データ保持手段#2には値“−6”が書き込まれる。書き込み完了後、書き込みポインタは一つ前、データ保持手段#1にセットされる。
ステップ8では、可変長復号化によりシンタクス要素としてlevel=−4,すなわち2番目の非ゼロ係数値が決定され、データ保持手段#1には値“−4”が書き込まれる。書き込み完了後、書き込みポインタは一つ前、データ保持手段#0にセットされる。
ステップ9では、可変長復号化によりシンタクス要素としてlevel=+12,すなわち1番目の非ゼロ係数値が決定され、データ保持手段#0には値“+12”が書き込まれる。以上で第1のシンボル復号化による全ての非ゼロ係数の書き込みが終了したので、次ステップ以降の第二のシンボル復号化によるデータ位置の変更処理をおこなうため、書き込みポインタは最後の非ゼロ係数に対応したデータ保持手段#6にセットされる。
ステップ10では、可変長復号化によりシンタクス要素としてtotal_zeros=5,すなわち最後の非ゼロ係数より前の0係数の個数が決定される。本ステップではデータ保持手段への書き込みは行われない。
ステップ11では、可変長復号化によりシンタクス要素としてrun_before=1,すなわち7番目の非ゼロ係数の前に連続する0係数の個数として1が決まる。よって7番目の非ゼロ係数に対応するデータ保持手段#6(およびそれに続くデータ保持手段#7〜データ保持手段#15)の値を、シフト操作により1つずつ後順のデータ保持手段に移動させた後、シフト操作で空きのできたデータ保持手段#6に値0を書き込む。書き込み完了後、書き込みポインタは一つ前の非ゼロ係数に対応したデータ保持手段#5にセットされる。
ステップ12では、可変長復号化によりシンタクス要素としてrun_before=2,すなわち6番目の非ゼロ係数の前に連続する0係数の個数として2が決まる。よって6番目の非ゼロ係数に対応するデータ保持手段#5(およびそれに続くデータ保持手段#6〜データ保持手段#15)の値を、シフト操作により2つずつ後順のデータ保持手段に移動させた後、シフト操作で空きのできたデータ保持手段#5〜データ保持手段#6に値0を書き込む。書き込み完了後、書き込みポインタは一つ前の非ゼロ係数に対応したデータ保持手段#4にセットされる。
ステップ13では、可変長復号化によりシンタクス要素としてrun_before=0,すなわち5番目の非ゼロ係数の前に連続する0係数の個数は0となり、シフト操作および値0の書き込みは行われない。書き込みポインタは一つ前の非ゼロ係数に対応したデータ保持手段#3にセットされる。
ステップ14では、可変長復号化によりシンタクス要素としてrun_before=2,すなわち4番目の非ゼロ係数の前に連続する0係数の個数として2が決まる。よって4番目の非ゼロ係数に対応するデータ保持手段#3(およびそれに続くデータ保持手段#4〜データ保持手段#15)の値を、シフト操作により2つずつ後順のデータ保持手段に移動させた後、シフト操作で空きのできたデータ保持手段#3〜データ保持手段#4に値0を書き込む。書き込み完了後、書き込みポインタは一つ前の非ゼロ係数に対応したデータ保持手段#2にセットされる。本ステップでtotal_zeros(=5)の個数分(ステップ11:1個、ステップ12:2個、ステップ14:2個)だけ0係数書き込み処理が終了したため、以降のシンタクス要素run_beforeは(0となる)実際には符号化されていない。したがってステップ15〜ステップ17は実際には実行されない。また、最初の初期化動作により、ステップ1〜本ステップまでの間に係数データの書き込まれなかったデータ保持手段#12〜データ保持手段#15には0係数が格納されている。
上記ステップ1〜ステップ14までの処理を行った後、データ保持手段を順次読み出すことにより、図4のとおりの元ブロックデータを復号化できる。
本願の画像復号化装置におけるブロックデータ復号化部のブロック図 本願の実施の形態1の符号化/復号化対象となるブロックデータのシンタクス要素の一覧図 本願の実施の形態1におけるデータ保持手段内データの遷移を表す図 本願の実施の形態1の符号化/復号化対象となるブロックデータの図 本願の実施の形態1の符号化/復号化対象となるブロックデータのスキャン順序を示す図 図4のブロックデータに対するランレングス符号化処理の一例を示す図 従来例1のブロックデータ復号化処理を表す図
符号の説明
101 シンボル復号化手段
102 データ保持手段
103 データ初期化手段
104 第一のシンボル復号化手段
105 第二のシンボル復号化手段
106 データ出力手段

Claims (5)

  1. N個のデータが、所定値以外の値をあらわす第一のシンボルおよび所定値に関する情報をあらわす第二のシンボルを含む少なくとも2種類のシンボルにシンボル符号化され、
    さらに該少なくとも2種類のシンボルが各々可変長符号化された符号化ストリームを復号化する復号化装置であって、
    前記符号化ストリームに対して可変長復号化を行い、該少なくとも2種類のシンボルを出力する可変長復号化手段と、
    N個のデータ保持手段と、
    前記N個のデータ保持手段に対して所定値を設定する初期化手段と、
    前記可変長復号化手段から出力された少なくとも2種類のシンボルのうち、第一のシンボルをシンボル復号化して所定値以外の値を生成し、該所定値以外の値を前記データ保持手段に保持させる、第一のシンボル復号化手段と、
    前記可変長復号化手段から出力された少なくとも2種類のシンボルのうち、第二のシンボルをシンボル復号化して所定値に関する情報を生成し、該所定値に関する情報に応じて、前記データ保持手段に保持された前記所定値以外の値の位置を変更する、第二のシンボル復号化手段と、
    前記データ保持手段に保持されたN個のデータを出力するデータ出力手段
    から構成されることを特徴とする復号化装置。
  2. 前記所定値以外の値はデータの非ゼロデータで、前記所定値に関する情報はゼロの連続数で、前記所定値はゼロであることを特徴とする、請求項1記載の復号化装置。
  3. 前記データは画像データであることを特徴とする、請求項1記載の復号化装置。
  4. 前記データは直交変換係数であることを特徴とする、請求項1記載の復号化装置。
  5. H.264規格の可変長符号化データをCAVLC方式で復号化する復号化装置であって、
    前記第一のシンボル復号化手段が、前記非ゼロデータとしてシンタクス要素levelの値を前記データ保持手段に保持させ、
    前記第二のシンボル復号化手段が、前記ゼロの連続数としてシンタクス要素run_beforeを復号化し、run_beforeの値に応じて前記データ保持手段に保持させたlevelの値の位置を変更する
    ことを特徴とする、請求項1乃至4いずれか記載の復号化装置。
JP2005108635A 2005-04-05 2005-04-05 復号化装置 Withdrawn JP2006287862A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005108635A JP2006287862A (ja) 2005-04-05 2005-04-05 復号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005108635A JP2006287862A (ja) 2005-04-05 2005-04-05 復号化装置

Publications (1)

Publication Number Publication Date
JP2006287862A true JP2006287862A (ja) 2006-10-19

Family

ID=37409247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005108635A Withdrawn JP2006287862A (ja) 2005-04-05 2005-04-05 復号化装置

Country Status (1)

Country Link
JP (1) JP2006287862A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007329903A (ja) * 2006-05-11 2007-12-20 Matsushita Electric Ind Co Ltd 可変長復号化装置、可変長復号化方法および撮像システム
JP2008227946A (ja) * 2007-03-13 2008-09-25 Toshiba Corp 画像復号装置
JP2009296200A (ja) * 2008-06-04 2009-12-17 Renesas Technology Corp 可変長復号装置およびそれを用いた動画復号装置
KR100947870B1 (ko) 2008-03-24 2010-03-18 숭실대학교산학협력단 H.264/avc를 위한 엔트로피 복호기 및 이를 구비한복호화기
JP2011188431A (ja) * 2010-03-11 2011-09-22 Hitachi Kokusai Electric Inc 可変長復号装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007329903A (ja) * 2006-05-11 2007-12-20 Matsushita Electric Ind Co Ltd 可変長復号化装置、可変長復号化方法および撮像システム
JP2008227946A (ja) * 2007-03-13 2008-09-25 Toshiba Corp 画像復号装置
KR100947870B1 (ko) 2008-03-24 2010-03-18 숭실대학교산학협력단 H.264/avc를 위한 엔트로피 복호기 및 이를 구비한복호화기
JP2009296200A (ja) * 2008-06-04 2009-12-17 Renesas Technology Corp 可変長復号装置およびそれを用いた動画復号装置
JP2011188431A (ja) * 2010-03-11 2011-09-22 Hitachi Kokusai Electric Inc 可変長復号装置

Similar Documents

Publication Publication Date Title
JP4139330B2 (ja) 改良された可変長デコーダ
US6587057B2 (en) High performance memory efficient variable-length coding decoder
US7129862B1 (en) Decoding bit streams encoded according to variable length codes
JP4785706B2 (ja) 復号装置及び復号方法
JP2007300517A (ja) 動画像処理方法、動画像処理方法のプログラム、動画像処理方法のプログラムを記録した記録媒体及び動画像処理装置
CA2452175A1 (en) Variable length coding method and variable length decoding method
GB2542511A (en) Data compression
JP2006287862A (ja) 復号化装置
JP2006093958A (ja) プログレッシブjpeg復号化システム
JPWO2009057459A1 (ja) データ圧縮方法
CN112449191A (zh) 压缩多个图像的方法、解压缩图像的方法和装置
CN112449201B (zh) 解码方法、编码方法、相应的装置、电子设备及存储介质
JP5105191B2 (ja) 画像処理装置
CN110545437B (zh) 系数编码、解码方法、电子设备及介质
JP2008199100A (ja) 可変長符号復号装置
JP2000049621A (ja) ハフマン復号化方法及びデータ処理装置
US9532044B2 (en) Arithmetic decoding device, image decoding apparatus and arithmetic decoding method
JP2003174365A (ja) 復号化装置及びその方法
JP4461859B2 (ja) ランレングス符号の復号装置
JPH02131671A (ja) 画像データ圧縮方法
JP2012253420A (ja) 可変長符号復号装置、復号システムおよび可変長符号復号方法
JP3791793B2 (ja) ディジタル信号符号化方法、復号化方法、符号器、復号器、符号化プログラム、及び復号化プログラム
JP4095454B2 (ja) データ復号装置及びデータ復号方法
KR20180031944A (ko) 비디오 디코더 및 이를 포함하는 전자 시스템
JP6280266B2 (ja) 復号装置、及び復号方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080701