JP4785706B2 - 復号装置及び復号方法 - Google Patents

復号装置及び復号方法 Download PDF

Info

Publication number
JP4785706B2
JP4785706B2 JP2006298211A JP2006298211A JP4785706B2 JP 4785706 B2 JP4785706 B2 JP 4785706B2 JP 2006298211 A JP2006298211 A JP 2006298211A JP 2006298211 A JP2006298211 A JP 2006298211A JP 4785706 B2 JP4785706 B2 JP 4785706B2
Authority
JP
Japan
Prior art keywords
variable
state variable
decoding
unit
context
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
JP2006298211A
Other languages
English (en)
Other versions
JP2008118304A (ja
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.)
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 JP2006298211A priority Critical patent/JP4785706B2/ja
Priority to US11/927,892 priority patent/US7528749B2/en
Publication of JP2008118304A publication Critical patent/JP2008118304A/ja
Application granted granted Critical
Publication of JP4785706B2 publication Critical patent/JP4785706B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

本発明は、復号装置及び復号方法に関する。特に、本発明は、動画像或いは静止画像の符号化に用いられる圧縮方式の一つであるエントロピー符号化/復号処理の高速化に関するものである。更に、本発明は、特にエントロピー復号方法として算術復号処理に好適なものである。
高能率動画符号化方式として、近年JVTにおいてH.264(ITU-T Rec.H.264|ISO/IEC 14496-10 AVC)符号化方式が標準化された。H.264では、静止画の符号化方式として知られるJPEGや、動画符号化方式として知られるMPEG−2或いはMPEG−4(version 2)と同様に、画像情報はデジタルとして取り扱われる。特に、動画像符号化方式においては、効率の高い情報の伝送、蓄積を目的とし、画面間(時間方向)の冗長情報の削減と、画面内(空間方向)の画素がもつ冗長情報の削減を行うハイブリット符号化を用いた圧縮が行われる。このハイブリット符号化においては、離散コサイン変換等の直交変換及び動き補償と共に、エントロピー符号化が用いられている。エントロピー符号化は、情報の偏りを利用して可変長符号化を行う技術である。
H.264において用いられるエントロピー符号化は、プロファイルに応じてハフマン符号化を用いるCAVLC方式、或いは算術符号化を用いるCABAC方式が規定されている。通信アプリケーション向けに処理の複雑度が低い符号化ツール群から構成されるベースライン・プロファイルにおいてはCAVLC方式が選択される。また、符号化効率を重視したメイン・プロファイル或いはハイ・プロファイルにおいてはCABAC方式が選択されている。
ところで、一般的に算術符号はソフトウエア或いはハードウエアで実装を試みた場合に、ハフマン符号或いはGolomb符号等の可変長符号化方式と比較して高速化が困難であることが知られている。例えば非特許文献1のH.264勧告書(ITU-T Rec.H.264|ISO/IEC 14496-10 AVC)に記載されているCABAC復号処理のフローチャートを図10に示す。この復号化処理の高速化の困難さは、図10のCABACParsing(SE)処理において、処理ループ213が1ビット毎(シンボル)であることに起因している。また、図11、図12には、非特許文献2に開示されている算術復号処理と、再正規化処理を示す。なお、DecodeBin(ctxIdx)の処理(図10のS208)は算術符号化処理であるDecodeDecision(ctxIdx)及び固定長符号化であるDecodeBypass処理からなる。但し、ここでは単純な処理であるDecodeBypass処理は省略する。図11、図12に示される処理は、DecodeDecision(ctxIdx)である。図12に示すCABAC方式の再正規化処理においては、図11に示す算術復号処理後に得られた状態変数の値を用いて、新たに状態変数自体の値を更新すると共に、入力される符号化データの先頭から除去するビット数を求める。すなわち、現在対象としているシンボルに対して、図11及び図12で示されるすべての処理が終了しなければ、次のシンボルの復号を開始するこは出来ない。
更には、CABAC方式においては、符号化対象となるシンタックス要素を予め2値化することによって生成された1シンボルを符号化及び復号化の処理単位としている。すなわち、CABAC方式においては、1シンタックス要素が1シンボルに対応しているハフマン符号と異なり、1シンタックス要素から複数シンボルが生成される。このため、CABAC方式においては、ハフマン符号を用いたCAVLCと比較して、符号化/復号処理に莫大な処理時間を要する。
特許文献1及び特許文献2にはハードウエアで算術復号化装置を実現した技術が開示されている。これらの技術によれば、状態を保持するコンテキストメモリへのアドレスの発生と算術符号化の演算を、パイプライン動作させることにより、クロック毎に滞りなくシンボルデータを算術符号化する技術が示されている。
特開平11−103257号公報 特開平2005−130099号公報 ITU-T Rec.H.264|ISO/IEC 14496-10 AVC H.264 Reference Software Joint Model ver9.0
画像のハイビジョン化に代表される高解像度化が近年急速に進むに従い、高速に処理する符号化装置及び復号装置が必要とされている。H.264に代表されるハイブリット符号化においては、特にエントロピー復号装置の高速化が復号装置全体の処理速度を決定する要因の一つである。
しかしながら、前述の特許文献1及び特許文献2に開示される技術を用いた場合でも、最高でも1サイクルで復号可能なシンボル数は1つであり、それ以上に高速な復号処理を行うことは困難である。
更には、例えば算術復号部を2つ並行に動作させることにより高速化を試みようとしても、上述した復号処理に従えば、始めのシンボルの復号が完全に終了しなければ次のシンボルの復号を開始することは出来ない。従って、それら2つの算術復号部を1サイクルで実行させることは困難である。
本発明は、上記の課題に鑑みてなされたものであり、2つの算術復号部によりシンボルを同時に出力させることを可能な構成を提供し、復号処理の高速化を図ることを目的とする。
上記の目的を達成するための本発明の一態様による復号装置は以下の構成を備える。即ち、
入力された符号化データを、状態変数とコンテキスト変数を用いてシンボルデータに算術復号する復号装置であって、
状態変数とコンテキスト変数を用いて算術復号処理を実行し、第1シンボルデータを出力するとともに、当該算術復号処理により更新された前記状態変数と前記コンテキスト変数を、第1状態変数及び第1コンテキスト変数として出力する第1復号手段と、
前記第1状態変数と前記第1コンテキスト変数を用いて算術復号処理を実行し、第2シンボルデータを出力するとともに、当該算術復号処理により更新された前記第1状態変数と前記第1コンテキスト変数を、第2状態変数及び第2コンテキスト変数として出力する第2復号手段と、
前記第1状態変数の値に基づいて、前記第2シンボルデータを復号結果として採用するか否かを判定する判定手段とを備える。
また、上記の目的を達成するための本発明の他の態様による復号方法は、
入力された符号化データを、状態変数とコンテキスト変数を用いてシンボルデータに算術復号する復号方法であって、
状態変数とコンテキスト変数を用いて算術復号処理を実行し、第1シンボルデータを出力するとともに、当該算術復号処理により更新された前記状態変数と前記コンテキスト変数を、第1状態変数及び第1コンテキスト変数として出力する第1復号工程と、
前記第1状態変数と前記第1コンテキスト変数を用いて算術復号処理を実行し、第2シンボルデータを出力するとともに、当該算術復号処理により更新された前記第1状態変数と前記第1コンテキスト変数を、第2状態変数及び第2コンテキスト変数として出力する第2復号工程と、
前記第1状態変数の値に基づいて、前記第2シンボルデータを復号結果として採用するか否かを判定する判定工程とを備える。
本発明によれば、2つの算術復号部によりシンボルを同時に出力させることが可能となり、復号処理の高速化を達成できる。
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
図1は、本実施形態によるエントロピー復号装置(算術復号装置)の構成を示すブロック図である。本実施形態の算術復号装置は、H.264符号化方式のエントロピー符号化であるCABAC符号化によって得られた符号化データをエントロピー復号処理する。
コンテキスト変数記憶部104には、H.264勧告書(非特許文献1)において規定されるコンテキストインデックスに対応するコンテキスト変数である優勢シンボルの値MPS及び確率状態を表すpStateIdxが保存されている。また、状態変数記憶部109には復号エンジン状態変数(以下、状態変数という)であるcodlRange及びcodlOffsetが保存されている。これらコンテキスト変数及び状態変数は第1算術復号部102に入力される。
H.264勧告書に記載される第1算術復号部102が担う処理は、図11のフローチャートに示したとおりである。また、第1算術復号部102をハードウエアとして構成した場合の、ブロック構成例を図2に示す。また、図3は、図2中の各ブロックと図11中の処理ステップとの対応を示す。
codlRange更新部501は、状態変数記憶部109からの状態変数codlRangeとコンテキスト変数記憶部104からのコンテキスト変数pStateIdxを用いて、codlRangeを更新し、codlRange_tmpとして出力する。より具体的には、codlRange更新部501は、入力されたcoldRangeの7,8ビット目の値によりテーブル(rangeTableLPS)からcodlRangeLPSを取得する。そして、codlRange更新部501は、入力されたcodlRangeから取得したcodlRangeLPSを差し引いて更新されたcodlRange、即ちcodlRange_tmpを取得し、出力する。以上の処理は図11のステップS402に対応する。
比較部502は、更新されたcodlRange(codlRange_tmp)の値と、第1算術復号部102に入力された状態変数codlOffsetとの大小比較を行い、その結果を選択部505に送る(ステップS403)。より具体的には、比較部502は、codlOffset<codlRange_tmpであった場合はMPS信号を、codlOffset≧codlRange_tmpであった場合はLPS信号を選択部505に送る。
一方、LPS処理部503は、更新された状態変数codlRange_tmpと、第1算術復号部102に入力された状態変数codlOffsetに基づいて更新されたcodlOffset'を取得する。より具体的には、LSP処理部503は、codlOffset−codlRange_tmpにより更新されたcodlOffset'を取得し、これを選択部505へ出力する。また、LPS処理部503は、codlRange更新部501からcodlRangeLPSを取得し、これを更新されたcodlRange'として選択部505に出力する。また、LPS処理部503は、確立状態を更新するためのテーブルtransidxLPSから、入力されたpStateIdxに対応するpStateIdxを取得し、更新されたpStateIdx'として出力する。更に、LPS処理部503は、入力された優勢シンボルMPSを反転して!MPSとし、これを第1のシンボルデータとして出力する。以上の、LPS処理部503による処理はステップS405、S408に対応する。
また、MPS処理部504は、codlRange更新部501からのcodlRange_tmpと、第1算術復号部102に入力されたcodlOffsetをそのままcodlRange'及びcodlOffset'として選択部505に出力する。また、MSP処理部504は、確立状態を更新するためのテーブルtransidxMPSから、入力されたpStateIdxに対応するpStateIdxを取得し、更新されたpStateIdx'として出力する。更に、MSP処理部504は、入力された優勢シンボルMPSをそのまま第1のシンボルデータとして選択部505に出力する。以上の処理は、ステップS404に対応する。
選択部505は、比較部502からの比較結果出力がMPS信号であった場合は、MPS処理部504から出力されるcodlRange'、codlOffset'、pStateIdx'及び第1のシンボルデータ(MPS)を選択し、出力する。他方、選択部505は、比較部502からの比較結果出力がLPS信号であった場合は、LPS処理部503から出力されるcodlRange'、codlOffset'、pStateIdx'及び第1のシンボルデータ(!MPS)を選択し、出力する。尚、選択部505から出力されるcodlRange'、codlOffset'を第1の状態変数と称する。以上の処理が、ステップS403〜S408の処理となる。
以上の動作によれば、codlOffset≧codlRange_tmpである場合には、ステップS405において、入力されたMPSの値を反転した値(!MPS)が変数binValにセットされ、第1のシンボルデータとして出力される。また、codlOffset<codlRange_tmpである場合には、ステップS404において、入力されたMPSの値がそのまま変数binValにセットされ、第1のシンボルデータとして出力される。
更に、選択部506は、入力されたMPSと反転器507により反転されたMPSのいずれかを、入力されたpStateIdx及び比較部502の比較結果出力に基づいて選択する。まず、比較部502からの比較結果出力がMPS信号であった場合は、選択部506はMPSを選択し、MPS'として出力する。一方、比較部502からの比較結果出力がLPS信号であった場合は、選択部506は、pStateIdxの値に応じて選択を切り替える。選択部506は、比較部502からの比較結果出力がLPS信号で且つpStateIdxが0の場合には、反転器507の出力信号(反転されたMPS)を選択し、MPS'として出力する。また、選択部506は、比較部502からの比較結果出力がLPS信号で且つpStateIdxが0でない場合には、反転されていないMPSを選択し、MPS'として出力する。
尚、選択部505から出力されるpStateIdx'と、選択部506から出力されるMPS'を第1のコンテキスト変数と称する。
第2算術復号部101の内部構成は、図2に示した構成と同一である。ただし、第2算術復号部101は、第1算術復号部102が出力した第1のコンテキスト変数(pStateIdx'、MPS')と第1の状態変数(codlRange'、codlOffset')を入力として用いる。そして、第2のシンボルデータ、第2の状態変数及び第2のコンテキスト変数を出力する。
次に、第1再正規化部107について説明する。図4は本実施形態の第1再正規化部107の構成を示すブロック図である。第1再正規化部107は、第1復号演算部102が出力した第1の状態変数と符号化データを入力し、第1の更新状態変数を出力する。
シフト量検出部701は、入力されたcodlRange'から、第1シフト部702、第2シフト部703、切り出し部704に供給すべきシフト量を検出する。シフト量検出部701は、入力される9ビットのcodlRange'のMSBからLSBに向けて始めにビット値1が出現したビット位置を検出することによってシフト量を検出する。図5は、シフト量検出部701の処理を説明する図である。表中のXで示されたビットの値は0或いは1のどちらでも良いことを表す。
第1シフト部702は、入力されたcodlRange'を、シフト量検出部701より出力されたシフト量だけ左ビットシフトし、その結果をcodlRange''として出力する。第2シフト部703は、入力されたcodlOffset'を、シフト量検出部701より出力されたシフト量だけ左ビットシフトした結果を出力する。
切り出し部804は、入力される符号化データ(Cin)に対して、シフト量検出部701より出力されたシフト量で指示されるビット数分をMSBから切り出し、その左側(上位側)に0を付加して得られる9ビットのデータを出力する。この様子を図6に示す。図6において、例えばCin[7:0]は、入力される符号化データのMSBから8ビットのデータを表す。そして、この8ビットのデータの左側に1つの"0"を追加することにより9ビットデータが生成され、出力される。
切り出し部704からの9ビットデータと、第2シフト部703からのcodlOffset'が左シフトされた信号との論理和が論理和演算部705により演算され、その結果がcodlOffset''として出力される。
以上の、第1再正規化部107から出力されるcodlRange''とcodlOffset''は、図1に示される第1の更新状態変数である。
一方、第2再正規化部105の内部構成は、図4で示した第1再正規化部107の構成と同一である。ただし、第2再正規化部105は、第2算術復号部101から出力される第2の状態変数を入力とし、第2の更新状態変数を生成し、出力する。
次に状態判定部106について説明する。図7は、状態判定部106の内部構成を示す図である。第1の状態変数であるcodlRange'のMSBビットが入力され、値"1"との論理積がAND回路1001により演算される。MSBビットが1である場合には、第2のシンボルデータが有効であることを示す値"1"が出力される。これは、図5に示したように、第1再正規化部107においてシフト量が0の場合に相当する。
また、図8は状態判定部106の別の実装形態を示す。図8の構成では、比較部1101は、第1の状態変数であるcodlRange'と定数値"0x0100"とを比較する。比較部1101は、codlRange'が"0x0100"以上である判定した場合には、第2のシンボルデータが有効であることを示す値"1"を出力する。これも、図5に示したように、第1再正規化部107においてシフト量が0の場合に相当する。
以上のように、図7及び図8のいずれの実装形態においても、図12で示した再正規化処理(RenormD)において、ステップS303のビットシフト処理が行われない場合に、第2のシンボルデータが有効であることを示す値が出力される。尚、符号化データのMSBをそのまま状態判定部106の第2のシンボルデータ有効通知に用いても良い。
図9には、本実施形態によるエントロピー復号装置のタイミングチャートを示す。サイクル1においては、第1の状態変数codlRange'の値が0x0100以上であるので、状態判定部106は第2の算術復号部101から出力される第2のシンボルデータが有効であることを示す信号を出力する。次にサイクル2においては、第1の状態変数codlRange'の値が0x0100より小さいので、状態判定部106は、第2のシンボルデータが無効であることを示す信号を出力する。
状態判定部106が第2のシンボルデータが有効である旨の信号を出力すると、第1選択部103は第2算術復号部101から出力された第2のコンテキスト変数を選択して、コンテキスト変数記憶部104に書込む。一方、状態判定部106が第2のシンボルデータが無効である旨の信号を出力すると、第1選択部103は第1算術復号部102から出力された第1のコンテキスト変数を選択して、コンテキスト変数記憶部104に書込む。同様に、状態判定部106が第2のシンボルデータが有効である旨の信号を出力すると、第2選択部108は第2再正規化部105から出力された第2の更新状態変数を選択して、状態変数記憶部109に書込む。また、状態判定部106が第2のシンボルデータが無効である旨の信号を出力すると、第2選択部108は第1再正規化部107から出力された第1の更新状態変数を選択して、状態変数記憶部109に書込む。
以上の復号処理をシンタックス要素内のすべてのシンボルデータに対して繰り返し行うことで、高速な復号化処理が可能となる。
尚、以上のように、本実施形態の復号装置には、第1算術復号部102及び第1再正規化部107を有する第1系統と、第2算術復号部101及び第2再正規化部105を有する第2系統との2つの系統が存在する。そして、第1系統及び第2系統には同じ符号化データがそれぞれ同時、並行に入力される。ここで、第1系統が前段、第2系統が後段とすると、前段は先頭のビット列から復号処理を行い、後段は、先頭のビット列から、前段の結果から得られたシフト量分ビットをずらした位置を先頭として復号処理を行うことになる。復号化を待つか否かはそれぞれ、codlRangeの値により判断される。
以上のように、図1に示される本実施形態の復号装置は、入力された符号化データ(Cin)を、状態変数とコンテキスト変数を用いてシンボルデータに算術復号する装置であり、第1算術復号部102と第2算術復号部101の2つの復号部を有する。第1算術復号部102は、状態変数記憶部109とコンテキスト変数記憶部104に記憶されている状態変数とコンテキスト変数を用いて算術復号処理を実行する。そして、第1のシンボルデータを出力するとともに、当該算術復号処理により更新された状態変数とコンテキスト変数を、第1の状態変数及び第1のコンテキスト変数として出力する。また、第2算術復号部101は、第1算術復号部102から出力された第1の状態変数と第1のコンテキスト変数を用いて算術復号処理を実行する。そして、第2のシンボルデータを出力するとともに、当該算術復号処理により更新された第1の状態変数と第1のコンテキスト変数を、第2の状態変数及び第2のコンテキスト変数として出力する。そして、状態判定部106は、第1算術復号部102からの第1の状態変数の値に基づいて、第2算術復号部101の出力を採用するか否かを判定する。例えば、状態判定部106は、第2のシンボルデータを復号結果として採用するか否かを判定する。
上述の構成において、第2算術復号処理部101は、第1算術復号処理部102からの第1の状態変数及び第1のコンテキスト変数を用いて復号処理を行っている。即ち、第2算術復号処理部101は、第1の状態変数に関して、再正規化処理による第1の更新状態変数の出力を待つことなく、復号処理を開始することができる。即ち、第1再正規化部107による再正規化処理と、第2算術復号部101による復号処理を並列に実行させることができる。そして、状態判定部106によって第2のシンボルデータが有効と判定された場合には、第1算術復号処理部102と第2算術復号処理部101の両方の復号結果を利用するので、復号処理速度が向上する。
また、上記実施形態では、状態変数及びコンテキスト変数を記憶してそれらを第1算術復号部102に提供する状態変数記憶部109及びコンテキスト変数記憶部104が設けられている。また、第1再正規化部107は、符号化データと第1の状態変数を用いて再正規化処理を行い、第1の更新状態変数を出力し、第2再正規化部105は、符号化データと第2の状態変数を用いて再正規化処理を行い、第2の更新状態変数を出力する。そして、第1選択部103は、状態判定部106の判定結果に基づいて、第1のコンテキスト変数と第2のコンテキスト変数のいずれかを選択してコンテキスト変数記憶部104に記録する。また、第2選択部108は、状態判定部106の判定結果に基づいて、第1の更新状態変数と第2の更新状態変数のいずれかを選択して状態変数記憶部109に記録する。このように、状態判定部106の判定結果に応じて、第2算術復号部101と第2再正規化部105からなる処理系によって得られた変数やシンボルデータを破棄するか否かを一括して決定するので、復号装置の構成が簡素化される。
また、状態判定部106は、第1の状態変数codlRange'のMSBが"1"の場合、即ち、第1再正規化部107においてシフト量が0の場合に、第2算術復号部101から出力される第2のシンボルデータが有効であると判定する。従って、状態判定部106は、図7や図8に示すようなきわめて簡単な構成で実現でき、復号装置の構成が簡素化される。
以上説明したように、本実施形態は、第2算術復号部101及び第1算術復号部102を並列動作(1クロック周期内で並列処理)させる。そして、第1算術復号部102から出力される第1の状態変数を用いて第2算術復号部101から出力されるシンボルが有効か否かを判定する。このため、高速な動作周波数で動作し、かつ2シンボル同時に復号可能(1サイクルで2シンボルを出力可能)なエントロピー復号装置を実現することが出来る。
<他の実施形態>
なお、上記では、ハードウエア構成による算術復号装置を説明したが、ソフトウエアを利用して算術復号装置を構成するようにしてもよい。その場合、上述した並列動作をマルチスレッド(マルチプロセッサ)で実現すればよい。
従って、本発明の目的は前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体に格納されたプログラムコードを、コンピュータ(又はCPU、MPU)が読み出し実行することによっても、達成されることは言うまでもない。例えば、上記記録媒体はシステム或いは装置に供給され、そのシステム或いは装置のコンピュータが記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合に限られるものではない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOperating System(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれ、CPUなどにより実行される場合も含まれる。この場合、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
実施形態によるエントロピー復号装置(算術復号装置)の構成例を示すブロック図である。 第1算術復号部102をハードウエアとして構成した場合の、ブロック構成例を示す図である。 図2中の各ブロックと図11中の処理ステップとの対応を示す図である。 実施形態の第1再正規化部の構成を示すブロック図である。 実施形態によるシフト量検出部の処理を説明する図である。 シフト量に応じた符号化データの切り出し処理を説明する図である。 状態判定部の内部構成例を示したブロック図である。 状態判定部の他の内部構成を示したブロック図である。 実施形態によるエントロピー復号装置のタイミングチャートである。 CABAC復号処理CABACParsing()を示すフローチャートである。 CABAC復号処理における、DecodeDecision()のフローチャートである。 CABAC復号処理における、RenormD()のフローチャートである。

Claims (6)

  1. 入力された符号化データを、状態変数とコンテキスト変数を用いてシンボルデータに算術復号する復号装置であって、
    状態変数とコンテキスト変数を用いて算術復号処理を実行し、第1シンボルデータを出力するとともに、当該算術復号処理により更新された前記状態変数と前記コンテキスト変数を、第1状態変数及び第1コンテキスト変数として出力する第1復号手段と、
    前記第1状態変数と前記第1コンテキスト変数を用いて算術復号処理を実行し、第2シンボルデータを出力するとともに、当該算術復号処理により更新された前記第1状態変数と前記第1コンテキスト変数を、第2状態変数及び第2コンテキスト変数として出力する第2復号手段と、
    前記第1状態変数の値に基づいて、前記第2シンボルデータを復号結果として採用するか否かを判定する判定手段とを備えることを特徴とする復号装置。
  2. 状態変数及びコンテキスト変数を記憶し、それらを前記第1復号手段に提供する記憶手段と、
    前記符号化データと前記第1状態変数を用いて再正規化処理を行い、第1更新状態変数を出力する第1再正規化手段と、
    前記符号化データと前記第2状態変数を用いて再正規化処理を行い、第2更新状態変数を出力する第2再正規化手段と、
    前記第1コンテキスト変数及び第2コンテキスト変数から、前記記憶手段へ保存すべきコンテキスト変数を選択する第1選択手段と、
    前記第1更新状態変数及び第2更新状態変数から、前記記憶手段へ保存すべき状態変数を選択する第2選択手段とを更に備え、
    前記第1選択手段及び第2選択手段は、前記判定手段の判定結果に応じて選択を行うことを特徴とする請求項1に記載の復号装置。
  3. 前記判定手段は、前記第1再正規化手段において再正規化する際に前記第1状態変数に対するシフト量が0である場合に、前記第2シンボルデータを復号結果として採用すると判定することを特徴とする請求項2に記載の復号装置。
  4. 入力された符号化データを、状態変数とコンテキスト変数を用いてシンボルデータに算術復号する復号方法であって、
    状態変数とコンテキスト変数を用いて算術復号処理を実行し、第1シンボルデータを出力するとともに、当該算術復号処理により更新された前記状態変数と前記コンテキスト変数を、第1状態変数及び第1コンテキスト変数として出力する第1復号工程と、
    前記第1状態変数と前記第1コンテキスト変数を用いて算術復号処理を実行し、第2シンボルデータを出力するとともに、当該算術復号処理により更新された前記第1状態変数と前記第1コンテキスト変数を、第2状態変数及び第2コンテキスト変数として出力する第2復号工程と、
    前記第1状態変数の値に基づいて、前記第2シンボルデータを復号結果として採用するか否かを判定する判定工程とを備えることを特徴とする復号方法。
  5. 前記符号化データと前記第1状態変数を用いて再正規化処理を行い、第1更新状態変数を出力する第1再正規化工程と、
    前記符号化データと前記第2状態変数を用いて再正規化処理を行い、第2更新状態変数を出力する第2再正規化工程と、
    前記第1コンテキスト変数及び第2コンテキスト変数の一方を選択し、前記第1復号工程で利用される状態変数及びコンテキスト変数を記憶するための記憶手段へ保存する第1選択工程と、
    前記第1更新状態変数及び第2更新状態変数の一方を選択し、前記記憶手段へ保存する第2選択工程とを更に備え、
    前記第1選択工程及び第2選択工程は、前記判定工程の判定結果に応じて選択を行うことを特徴とする請求項4に記載の復号方法。
  6. 前記判定工程は、前記第1再正規化工程において再正規化する際に前記第1状態変数に対するシフト量が0である場合に、前記第2シンボルデータを復号結果として採用すると判定することを特徴とする請求項5に記載の復号方法。
JP2006298211A 2006-11-01 2006-11-01 復号装置及び復号方法 Expired - Fee Related JP4785706B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006298211A JP4785706B2 (ja) 2006-11-01 2006-11-01 復号装置及び復号方法
US11/927,892 US7528749B2 (en) 2006-11-01 2007-10-30 Decoding apparatus and decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006298211A JP4785706B2 (ja) 2006-11-01 2006-11-01 復号装置及び復号方法

Publications (2)

Publication Number Publication Date
JP2008118304A JP2008118304A (ja) 2008-05-22
JP4785706B2 true JP4785706B2 (ja) 2011-10-05

Family

ID=39329465

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006298211A Expired - Fee Related JP4785706B2 (ja) 2006-11-01 2006-11-01 復号装置及び復号方法

Country Status (2)

Country Link
US (1) US7528749B2 (ja)
JP (1) JP4785706B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7912302B2 (en) * 2006-09-21 2011-03-22 Analog Devices, Inc. Multiprocessor decoder system and method
JP4739167B2 (ja) * 2006-10-31 2011-08-03 キヤノン株式会社 正規化処理装置
TWI341657B (en) * 2007-04-03 2011-05-01 Nat Univ Tsing Hua Cabac decoding method
US7773004B2 (en) * 2008-07-08 2010-08-10 Qualcomm Incorporated CAVLC run-before decoding scheme
BR122022013454B1 (pt) 2009-10-20 2023-05-16 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Codificador de áudio, decodificador de áudio, método para codificar uma informação de áudio, método para decodificar uma informação de áudio que utiliza uma detecção de um grupo de valores espectrais previamente decodificados
AU2011206677B9 (en) 2010-01-12 2014-12-11 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding and decoding an audio information, and computer program obtaining a context sub-region value on the basis of a norm of previously decoded spectral values
JPWO2013046504A1 (ja) 2011-09-29 2015-03-26 パナソニックIpマネジメント株式会社 算術復号装置、画像復号装置、および算術復号方法
WO2017199800A1 (ja) * 2016-05-20 2017-11-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
JP6707045B2 (ja) * 2017-03-15 2020-06-10 Nttエレクトロニクス株式会社 二値算術復号器および二値算術復号装置
CN112689960B (zh) * 2018-07-06 2025-10-17 弗劳恩霍夫应用研究促进协会 算术编码器、算术解码器、视频编码器、视频解码器、编码方法、解码方法和计算机程序
US20230075534A1 (en) * 2021-08-19 2023-03-09 International Business Machines Corporation Masked shifted add operation

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3384287B2 (ja) * 1997-06-23 2003-03-10 富士ゼロックス株式会社 符号化装置および復号化装置
JP3459759B2 (ja) 1997-09-29 2003-10-27 キヤノン株式会社 算術復号化装置
JP2000115549A (ja) * 1998-10-05 2000-04-21 Mitsubishi Electric Corp 符号化装置及び符号化方法、並びに復号化装置及び復号化方法
KR100316785B1 (ko) * 1999-11-04 2001-12-13 윤종용 비트 오류에 견실한 산술 부호화/복호화 장치 및 그 방법
PT2037412E (pt) 2002-05-02 2013-12-05 Fraunhofer Ges Forschung Método e disposição para a codificação e descodificação aritmética de estados binários e um programa de computador apropriado e correspondente suporte de memória legível por computador
US6825782B2 (en) 2002-09-20 2004-11-30 Ntt Docomo, Inc. Method and apparatus for arithmetic coding and termination
US6940429B2 (en) 2003-05-28 2005-09-06 Texas Instruments Incorporated Method of context based adaptive binary arithmetic encoding with decoupled range re-normalization and bit insertion
JP2005130099A (ja) 2003-10-22 2005-05-19 Matsushita Electric Ind Co Ltd 算術復号装置、算術符号化装置、算術符号化・復号装置、携帯端末装置、動画像撮影装置、及び、動画像記録・再生装置

Also Published As

Publication number Publication date
US20080100479A1 (en) 2008-05-01
JP2008118304A (ja) 2008-05-22
US7528749B2 (en) 2009-05-05

Similar Documents

Publication Publication Date Title
JP4878262B2 (ja) エントロピー符号化装置
US7528749B2 (en) Decoding apparatus and decoding method
US8018996B2 (en) Arithmetic decoding apparatus and method
JP2005130099A (ja) 算術復号装置、算術符号化装置、算術符号化・復号装置、携帯端末装置、動画像撮影装置、及び、動画像記録・再生装置
US20140286417A1 (en) Data encoding and decoding
WO2007129508A1 (ja) 動画像処理方法、動画像処理方法のプログラム、動画像処理方法のプログラムを記録した記録媒体及び動画像処理装置
US8457428B2 (en) Image coding apparatus, control method thereof, and storage medium
JP4547503B2 (ja) 算術符号化装置、算術符号化方法、算術符号化プログラム及びプログラムを格納したコンピュータで読み取り可能な記録媒体
US7495588B2 (en) Decoding apparatus and decoding method
JP4865662B2 (ja) エントロピー符号化装置、エントロピー符号化方法およびコンピュータプログラム
US11431978B2 (en) Video decoding method and video decoding device for improving decoding efficiency
CN112449201B (zh) 解码方法、编码方法、相应的装置、电子设备及存储介质
JP2013016897A (ja) 可変長符号復号装置、符号システムおよび可変長符号復号方法
JP5842357B2 (ja) 画像処理装置及び画像処理プログラム
KR100717002B1 (ko) 영상 부호화 및 복호화 장치와, 그 방법, 및 이를 수행하기위한 프로그램이 기록된 기록 매체
KR100576548B1 (ko) 문맥기반 적응 가변길이 복호화 장치 및 그 방법
CN112449186B (zh) 编码方法、解码方法、相应的装置、电子设备及存储介质
JP2007074648A (ja) Cabac復号化装置
JP6280266B2 (ja) 復号装置、及び復号方法
JP2007158698A (ja) 画像復号装置及び画像復号方法
JP2005229218A (ja) 画像復号装置
JP2014116835A (ja) 復号装置、符号化装置、復号方法、及び符号化方法
JP2002094801A (ja) 画像データ圧縮方法、画像データ圧縮装置、記録媒体
JP2007116501A (ja) 算術符号復号化装置。
JP2008098751A (ja) 算術符号化装置及び算術復号化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091029

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110630

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110708

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110712

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140722

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees