JP2005223533A - 算術復号化装置、および算術復号化プログラム - Google Patents

算術復号化装置、および算術復号化プログラム Download PDF

Info

Publication number
JP2005223533A
JP2005223533A JP2004028423A JP2004028423A JP2005223533A JP 2005223533 A JP2005223533 A JP 2005223533A JP 2004028423 A JP2004028423 A JP 2004028423A JP 2004028423 A JP2004028423 A JP 2004028423A JP 2005223533 A JP2005223533 A JP 2005223533A
Authority
JP
Japan
Prior art keywords
information
context variable
decoding
variable information
unit
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.)
Granted
Application number
JP2004028423A
Other languages
English (en)
Other versions
JP4241417B2 (ja
Inventor
Satoshi Sakazume
智 坂爪
Toru Kumakura
徹 熊倉
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.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
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 Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2004028423A priority Critical patent/JP4241417B2/ja
Publication of JP2005223533A publication Critical patent/JP2005223533A/ja
Application granted granted Critical
Publication of JP4241417B2 publication Critical patent/JP4241417B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】コンテキスト変数情報の初期化処理を軽減し、初期化処理にかかる演算量を削減するとともに、初期化処理にかかる演算量の削減によって復号が完了するまでにかかる時間を短縮することで、より高速な算術復号化装置、および算術復号化プログラムを提供する。
【解決手段】
初期化済みコンテキスト変数情報格納部13は、シンタックス情報の種類に応じて初期化済みコンテキスト変数情報を複数格納し、コンテキスト変数管理部12は、復号済みのシンタックス情報の種類に従って、コンテキスト変数情報が初期化済みコンテキスト変数情報格納部13に格納されているか否かを判定し、蓄積されていなかった場合、コンテキスト変数情報の初期化を行った後、初期化済みコンテキスト変数情報格納手段に格納し、蓄積されていた場合、復号済みのシンタックス情報に基づいて、初期化済みコンテキスト変数情報格納手段から特定のコンテキスト変数情報を取得する。
【選択図】 図2

Description

本発明は、算術復号を利用する画像、映像、音声などの復号化において用いられる算術復号化装置、および算術復号化プログラムに関するものである。
従来、MPEGに代表される動画像符号化においては、ビットストリーム出力時に用いられるエントロピー符号化として、可変長符号化であるVLC(Variable Length Code)が用いられている。VLCはハフマン符号化の手法に基づいて行われるため、符号化効率を向上させようとするとハフマンテーブルの増大を引き起こす(非特許文献1)など、いくつかの問題を生じることが知られている。そこで近年VLCに代わり、JBIG(非特許文献2)ではQM-Coder、JPEG2000(非特許文献3)ではEBCOT、ITU-T H.264(非特許文献4)(以降、AVCと称す)ではVLCの他にCABAC(Context-based Adaptive Binary Arithmetic Coding)などといった各種の算術符号化・復号化の手法が採用されている。
基本的な算術符号化および復号化であるエリアス符号化・復号化の概念を、図7に示す。算術符号化および復号化では、一般に下限値0以上、上限値1未満の実数直線を考える。この区間を初期のrangeとする。
算術符号化においては、優勢シンボル(以降、MPSと称す)、劣勢シンボル(以降、LPSと称す)の発生確率に基づいて実数直線を分割する。分割した領域をそれぞれrMPS、rLPSとする。その後、符号化出力対象となるシンボルが属する領域を選択する。ここでは仮にrMPSを選択したとする。その後、選択したrMPSを次のrangeとし、このrangeに対して同様にrMPS、rLPSに分割し、符号化出力対象となる領域を選択する。この動作を符号化出力対象が無くなるまで繰り返し、最終的に特定された領域であるrangeの範囲内に収まる値を出力値valueとして出力することで符号化が完了する。通常はrangeの下限値を出力値valueとして出力する。
また、算術復号化においては、算術符号化において出力された出力値valueを復号するための値を入力値valueとすると、算術符号化と同様にMPS、LPSの発生確率に基づいて実数直線を分割する。その後、入力値valueが含まれる領域を特定する。ここではrMPSが選択され、この領域に対応するシンボルを復号シンボルとして出力する。この動作を繰り返すことで、必要な復号シンボル列を得ることができる。
上述の基本的な算術符号化・復号化は、区間のrangeや入力・出力値であるvalueが実数値であり、演算精度の問題から現実的ではない。そこで実数直線を有限のビット幅を持つ整数区間とし、特定した区間の幅であるrangeと特定した区間の下限値であるvalueに対して正規化処理を導入することで問題を解決している。正規化処理は、左シフト演算により行われ、この正規化処理によって、rangeとvalueの演算精度を確保している。
現在一般的に利用されているQM-Coder、EBCOT、CABACなどの算術符号化・復号化もこの減算シフト型の適応算術符号化・復号化に基づいて行われている。
また、CABACでは、複数のコンテキスト変数情報を利用して符号化効率の向上を図っており、このように符号化されたビットストリームを算術復号するために、デコーダは図8および図9に示すように構成される(詳細については後述)。
コンテキスト変数情報は、算術符号化を行う際に利用される確率の状態であるステート情報(以降、pStateIdxと記す)と、優勢シンボル情報(以降、valMPSと記す)とから構成される。複数のコンテキスト変数情報を特定するために、それぞれコンテキスト変数情報の構造に対してコンテキストインデックス(以降、ctxIdxと記す)が付与される。ここで、優勢シンボルとは、あるシンボル系列を算術符号化している場合において、現在までに符号化した0,1のバイナリシンボルのうち、どちらのシンボルが多く発生したかを表す。
算術符号化においては、一般に、各シンボルの生起確率を利用して0から1までの位置と区間幅を特定することで入力シンボル列を符号化する。この各シンボルの生起確率が予め正確に判っている場合に、入力シンボル列のエントロピーに最も近い状態で符号化できる。しかし、入力シンボル列がリアルタイムに入力される場合には、この各入力シンボルの生起確率を正確に特定することは難しい。この特定された各入力シンボルの生起確率と実際の生起確率との違いが大きいほど符号化効率は低下することになる。
入力シンボル系列が複数のシンボル系列の連続で構成されているものや、入力シンボル系列における各シンボルの生起確率に変化があるものをリアルタイムに算術符号化を行うことを考えると、算術符号化を行う際に、予め決められた各入力シンボルの生起確率を利用してこの入力シンボル列の全てを符号化する場合には、入力シンボル列の生起確率の実態に即していないために、符号化効率が低下してしまう。
算術符号化装置が入力されるシンボルに応じて適応的に生起確率を更新することができる適応型の装置である場合であっても、例えば、図10に示すように、系列A、系列B、系列C…と明らかに違ったシンボル系列の組み合わせからなる入力シンボル列を符号化する場合には、入力シンボルから推定される生起確率が収束するまでにある程度の時間がかかるため、シンボル系列の切り替えを行う際に生起確率の不整合が生じ、結果として符号化効率が低下してしまう。
そこで、図10に示されるように、入力シンボル列が複数のシンボル系列から構成されていることが予め分かっている場合には、それぞれの系列に対応するコンテキスト、つまり最適な生起確率を用意しておき、シンボル系列が切り替わる度に対応するコンテキストに切り替えることによって、生起確率の不整合を減らすことが可能となる。
コンテキストの切り替えは、一般に所定のルールに従って制御される。CABACでは、シンタックスに従うことで各シンタックス情報に対応する少なくとも1つのコンテキスト変数情報が特定され、内部状態に応じて少なくとも1つのコンテキスト変数情報の中から適切なコンテキスト変数情報が選択される。このような細かいコンテキストの切り替え制御により、符号化効率の向上を図っている。
なお、シンタックスとは、復号手順そのもののことを指し、復号するシンタックスエレメントをどのような順序で符号・復号するかが規定されており、また、シンタックスエレメントとは、シンタックスを構成する各要素のことを指し、シンタックスを構成する各要素の例としては、ベクトル情報、DCTによって得られるDCT係数に関する情報、各種のモード判定を行うためのフラグ情報等がある。以降、シンタックスエレメント=シンタックス情報として扱う。
図8は、一般的なAVCにおいて、ビットストリームをデコードしてシンタックス情報を出力する処理を行うデコーダ101の機能ブロック図である。
デコーダ101は、図8に示すように、ビットストリーム取得部102、復号位置検出部103、ビットストリームバッファ104、復号位置管理部105、シンタックス情報取得部106、シンタックス情報格納部107、および算術復号部108によって構成される。
ビットストリーム取得部102は、符号化されたビットストリームを取得する機能を有する。
復号位置検出部103は、ビットストリーム取得部102によって取得されたビットストリームを、復号位置管理部105より得られるスタートコードに基づいて探索し、スタートコードと一致したビットストリーム内の位置を検出することでデコードの先頭位置を特定する機能を有する。また、復号位置検出部103は、次の復号位置を特定することで復号単位を特定する機能を有する。ここでは、少なくとも1つのスライスを復号することができるビット列を復号単位として特定できるようにすることで、より良い構成となる。復号位置検出部103によって特定されたビットストリーム中のビット列は、ビットストリームバッファ104に格納される。
ビットストリームバッファ104は、復号位置検出部103により特定されたビット列を格納する。
復号位置管理部105は、ビットストリーム取得部102が取得する入力ビットストリーム中の復号位置を管理する機能を有する。また、復号位置管理部105は、ビットストリームバッファに格納されているビット列中の復号位置を管理する機能を有し、必要に応じて復号位置検出部103に対してスタートコードを指定してビットストリームバッファ104内のビット列を更新する。さらに、復号位置管理部105は、シンタックス情報取得部106、算術復号部108に対して、ビットストリームバッファ104内の復号位置情報を通知する機能を有する。
シンタックス情報取得部106は、復号位置管理部105から得られる復号位置情報と、ビットストリームバッファ104に格納されているビット列から、算術復号部108で符号化されたビット列よりも上位に位置するヘッダ情報を復号する機能を有し、その後、得られるシンタックス情報をシンタックス情報格納部107に通知する機能を有する。
シンタックス情報格納部107は、シンタックス情報取得部106から得られる各種のシンタックス情報を格納し、必要に応じて、算術復号部108にシンタックス情報を通知する機能を有する。
算術復号部108は、復号位置管理部105から得られる復号位置情報と、ビットストリームバッファ104に格納されているビット列から、復号位置情報によって特定されたビット列の位置から算術復号を行い、復号結果を出力シンタックス情報として出力する機能を有する。
図11は、図8に示すデコーダ101の動作を表すフローチャートである。以下に図11を用いてデコーダ101の動作を説明する。
デコーダ101がビットストリームの復号処理を開始すると、ビットストリーム取得部102は、復号対象となる入力ビットストリームを取得する(ステップS101)。
復号位置検出部103は、復号位置管理部105から復号位置を特定するために必要なスタートコードを取得し(ステップS102)、ビットストリーム取得部102が取得したビットストリームを探索し、ビット列を特定する。
次に、復号位置検出部103は、ステップS102で特定したビット列をビットストリームバッファ104に格納する(ステップS103)。
シンタックス情報取得部106は、ビットストリームバッファ104に格納されているビット列と、復号位置管理部105から得られる復号位置情報に基づいて復号を行い、シンタックス情報を取得し(ステップS104)、そのシンタックス情報をシンタックス情報格納部116に格納する(ステップS105)。
算術復号部108は、ビットストリームバッファ104からビット列を取得し、復号位置管理部105からビット列の復号位置情報を取得する。また、算術復号部108は、復号位置情報から特定されるビット列上の位置のビットをどのように解釈して復号するかを決定するために、シンタックス情報格納部107から必要なシンタックス情報を取得する。これらの情報を基に算術復号部108は算術復号を行い(ステップS106)、復号結果である出力シンタックス情報を順次出力し、デコーダは、ビットストリームの復号処理を終了する。
図9は、図8で示した算術復号部108をより詳しく示した機能ブロック図である。
算術復号部108は、状態遷移管理部111、コンテキスト初期化部112、コンテキスト初期化情報格納部113、コンテキスト変数情報格納部114、ビット列カウント部115、ビット列情報管理部116、コンテキスト特定部117、2値算術復号部118、復号ビット取得部119、およびビット列比較部120によって構成される。
状態遷移管理部111は、シンタックスに従って現在復号しようとしているシンタックス情報を正しく復号することができるように算術復号部108内の内部状態を管理する機能を有する。この状態遷移管理部111は、コンテキスト初期化部112に対する初期化要求や、ビット列カウント部115の制御、ビット列情報管理部116の制御、コンテキスト特定部117の制御、2値算術復号化部118に対する復号開始要求を行うことで、内部状態を管理する。
コンテキスト初期化部112は、状態遷移管理部111の初期化要求に応じて、算術復号を行う際に使用するコンテキスト変数情報の初期化処理を行う機能を有する。コンテキスト初期化部112は、コンテキスト初期化情報格納部113に格納されている所定の定数と、復号済みシンタックス情報を利用してコンテキスト変数情報の初期化を行う。CABACの初期化を行う際に必要となる復号済みシンタックス情報は、pic_parameter_set_rbsp()に含まれるpic_init_qp_minus26とslice_header()に含まれるslice_qp_deltaから求めるSliceQPY、slice_header()に含まれるslice_type及びcabac_init_idcである。SliceQPYやコンテキスト変数情報の詳しい初期化に関しては、後述する図14で説明するため、ここでは省略する。コンテキスト変数情報の初期化は、一般に復号単位を復号する際の先頭で行われ、CABACでは、復号単位がスライスであるため、スライスを復号する度にその先頭でコンテキスト変数情報の初期化が行われる。
コンテキスト初期化情報格納部113は、コンテキスト初期化部112がコンテキスト変数情報の初期化を行う際に使用する所定の定数を格納する。図12は、格納されているコンテキスト初期化情報の例として、CABACで用いる所定の定数が記述されたテーブルの一部を抜粋したものである。CABACでは、復号済みシンタックス情報から得られるslice_type、cabac_init_idc、そして各コンテキストを特定するためのctxIdxを利用して、図12に示すようなコンテキスト初期化情報のテーブルから定数m、nが特定され、コンテキスト変数情報の初期化に利用される。
コンテキスト変数情報格納部114は、コンテキスト初期化部112の初期化処理によって求められたコンテキスト変数情報を格納する。このコンテキスト変数情報格納部114に格納されるコンテキスト変数情報は、2値算術復号化部118の復号結果に応じて変更される。図9の構成では、コンテキスト変数情報の更新はコンテキスト特定部117を介して行われるが、一般に2値算術復号化部118が直接コンテキスト変数情報格納部114の内容を変更することができるような構成をとることも可能である。
ビット列カウント部115は、現在復号しようとしているビットがビット列中のどの位置に対応するかをカウントする機能を有する。これは、復号するビット位置によってビットの発生確率が違うことから、ビット位置に応じたコンテキスト変数情報を対応付ける必要があるためである。
ビット列情報管理部116は、復号しようとしているシンタックス情報の候補となる情報をビット列表記した情報に変換して対応付けを行う機能を有する。この対応関係は、ビット列比較部120によって利用される。
コンテキスト特定部117は、復号しようとしているビットのコンテキスト変数情報を特定するためのctxIdxを、状態遷移管理部111から得られる現在復号しようとしているシンタックス情報の種類に関する情報、ビット列カウント部115から得られる現在復号しようとしているビット列中のビット位置、復号済みシンタックス情報に基づいて特定する機能を有する。
2値算術復号部118は、コンテキスト特定部117により特定されたコンテキスト変数情報を利用して算術復号を行う機能を有する。算術復号によって状態が変化したコンテキスト変数情報は、順次コンテキスト変数情報格納部114に格納される。図9においては、コンテキスト特定部117を介して行われる。また、2値算術復号部118は、算術復号時に正規化によりビットストリームからのビット補充が必要な場合には、復号ビット取得部119から必要なビットを補充する。
復号ビット取得部119は、2値算術復号化部118のビット要求に応じてビットストリームと復号位置情報を用いて取得する機能を有する。
ビット列比較部120は、2値算術復号化部118の出力結果を保持し、ビット列情報管理部116で用意されているビット列情報との比較を行う機能を有する。ビット列情報中に等しいものが存在した場合は、ビット列比較部120は、等しいビット列情報に対応するシンタックス情報を取得して出力シンタックス情報として出力し、保持していた2値算術復号化部118の出力結果を初期化して次のシンタックス情報の復号に備える。また、ビット列比較部120は、必要に応じて状態遷移管理部111に出力シンタックス情報を通知する。
図13は、CABACの復号単位である1スライス分の復号動作を表すフローチャートである。以下に図13を用いて算術復号部108の動作を説明する。
CABACの復号を開始すると、状態遷移管理部111は、復号する対象となるシンタックス情報がスライスにおける最初のシンタックス情報であるかを判定し、(ステップS111)。最初のシンタックス情報である場合は、コンテキスト初期化部112に対して初期化要求を、2値算術復号化部118に対して初期化要求を行う。最初のシンタックス情報ではない場合は、ステップS114の処理へ移行する。
コンテキスト初期化部112は、状態遷移管理部111から初期化要求がされると、コンテキスト変数情報の初期化を行う(ステップS112)。このコンテキスト変数情報の初期化に関しては、後述する図14で詳しく説明するため、ここでは省略する。
2値算術復号化部118は、状態遷移管理部111から初期化要求がされると、rangeを所定の値に初期化し、valueを復号ビット取得部119から取得したビットで初期化する(ステップS113)。
次に、状態遷移管理部111が、ビット列情報管理部116に対して現在復号しようとするシンタックス情報の候補となる情報をビット列表記した情報に変換して対応付けるよう要求すると、この要求に基づいて、ビット列情報管理部116は、ビット列情報を作成する(ステップS114)。
また、ビット列カウント部115は、ビット列カウント部115内のビット列カウンタbinIdxを−1に初期化する(ステップS115)。
次に、ビット列カウント部115は、ビット列カウント部115内のビット列カウンタbinIdxを1増加する(ステップS116)。
次に、状態遷移管理部111がコンテキスト判定部117に対して復号で使用するコンテキスト変数情報を特定するためのctxIdxを特定するように要求すると、コンテキスト判定部117は、現在復号しようとしているビットのコンテキスト変数情報を特定するためのctxIdxを、状態遷移管理部111から得られる現在復号しようとしているシンタックス情報の種類に関する情報、ビット列カウント部115から得られる現在復号しようとしているビット列中のビット位置、復号済みシンタックス情報を利用して特定する(ステップS117)。
状態遷移管理部111が2値算術復号化部118に対して復号要求すると、2値算術復号化部118は、コンテキスト特定部117から特定されたctxIdxに基づいて得られるコンテキスト変数情報を取得し、復号を行う(ステップS118)。算術復号時に正規化によりビットストリームからのビット補充が必要な場合には、復号ビット取得部119から必要なビットを補充する。復号が完了すると、2値算術復号化部118は、復号結果をビット列比較部120に通知する。
次に、ビット列比較部120は、自己が保持している2値算術復号化部118からの出力結果と、ビット列情報管理部116に格納されているビット列情報との比較を行う(ステップS119)。ビット列情報中に等しいものが存在しない場合は、ステップS116に移行し、処理が継続される。ビット列情報中に等しいものが存在した場合は、ビット列比較部120は、等しいビット列情報に対応するシンタックス情報を取得して出力シンタックス情報として出力し、保持していた2値算術復号化部118の出力結果を初期化して次のシンタックス情報の復号に備える。また、ビット列比較部120は、必要に応じて状態遷移管理部111に出力シンタックス情報を通知する。
次に、状態遷移管理部111は、現在復号対象となっているこれから復号しようとしている次のシンタックス情報がmb_typeであり、かつステップS118の処理において得られる復号結果がI_PCMであるか否か判定する。この条件を満たす場合には、ステップS121に移行し、条件を満たさない場合には、CABACの復号を終了する。
2値算術復号化部118は、状態遷移管理部111から初期化要求がされると、rangeを所定の値に初期化し、valueを復号ビット取得部119から取得したビットで初期化する(ステップS121)。初期化が完了すると、一連のCABACの復号処理が終了する。
図14は、図13のコンテキスト変数情報の初期化(ステップS112)についてより詳しく説明したフローチャートである。以下に図14を用いてコンテキスト変数情報の初期化処理についてさらに説明する。
コンテキスト変数情報の初期化を開始すると、まず、状態遷移管理部111からの初期化要求に応じて、コンテキスト初期化部112は、復号済みシンタックス情報から現在復号しようとしているスライスのpic_init_qp_minus26、slice_qp_delta、slice_type、cabac_init_idcを取得する(ステップS131)。ここでは、コンテキスト初期化部112は、pic_init_qp_minus26=4、slice_qp_delta=5、slice_type=0(P slice)、cabac_init_idc=1を取得したものとする。
次に、コンテキスト初期化部112は、下記の数式に従ってSliceQPYを算出する(ステップS132)。
[数1]
SliceQPY=26+pic_init_qp_minus26+slice_qp_delta
=26+4+5
=35
次に、コンテキスト初期化部112は、ステップS131において取得した復号済みコンテキスト変数情報slice_type、cabac_init_idcから、初期化が必要なctxIdxを特定し、そのctxIdxに対応するm、nをコンテキスト初期化情報格納部113から取得する(ステップS133)。初期化が必要なctxIdxがctxIdx=70であるものとすると、コンテキスト初期化部112は、図12に示すコンテキスト初期化情報のテーブルに従ってm=13、n=15を取得する。
次に、コンテキスト初期化部112は、ステップS132で算出されたSliceQPYと、ステップS133で取得されたm、nを用いて、下記の数式に従って、一時変数preCtxStateを算出する(ステップS134)。
[数2]
preCtxState=((m×SliceQPY)>>4)+n
=(13×35)>>4+15
=28+15
=43
ここで、数式中の「>>4」は、4ビットの右シフト演算を行うことを示す。
次に、コンテキスト初期化部112は、一時変数preCtxStateが1より小さいかどうかを判定する(ステップS135)。
一時変数preCtxStateが1より小さい場合は、コンテキスト初期化部112は、一時変数preCtxStateに1を設定する(ステップS136)。
一時変数preCtxStateが1より小さくない場合、または、一時変数preCtxStateに1が設定された後、コンテキスト初期化部112は、一時変数preCtxStateが126より大きいかどうかを判定する(ステップS137)。
一時変数preCtxStateが126より大きい場合は、コンテキスト初期化部112は、一時変数preCtxStateに126を設定する(ステップS138)。
一時変数preCtxStateが126より大きくない場合、または、一時変数preCtxStateに126が設定された後、コンテキスト初期化部112は、一時変数preCtxStateが63以下であるかを判定する(ステップS139)。
一時変数preCtxStateが63以下でなかった場合、コンテキスト初期化部112は、現在初期化を行っているctxIdxに対応するコンテキスト変数情報の構成要素であるステート情報pStateIdxに一時変数preCtxStateから64を引いた値を設定し、また、コンテキスト初期化部112は、コンテキスト変数情報の構成要素である優勢シンボル情報valMPSに1を設定する(ステップS140)。
また、一時変数preCtxStateが63以下であった場合、コンテキスト初期化部112は、現在初期化を行っているctxIdxに対応するコンテキスト変数情報の構成要素であるステート情報pStateIdxに63から一時変数preCtxStateを引いた値を設定し、また、コンテキスト変数情報の構成要素である優勢シンボル情報valMPSに0を設定する(ステップS141)。ここでは、preCtxState=43であるため、
[数3]
pStateIdx=63−preCtxState
=63−43
=20
valMPS=0
となる。
次に、コンテキスト初期化部112は、ステップS140またはステップS141で求めたコンテキスト変数情報をコンテキスト変数情報格納部114に格納する(ステップS142)。ここでは、pStateIdx=63−43=20、valMPS=0がctxIdx=70のコンテキスト変数情報としてコンテキスト変数情報格納部114に格納される。
次に、コンテキスト初期化部112は、初期化すべきctxIdxが存在するかどうかを判定し(ステップS143)、初期化すべきctxIdxが存在する場合は、ステップS133に戻り、初期化処理を継続し、初期化すべきctxIdxが存在しない場合は、コンテキスト変数情報の初期化処理を終了する。
以上のようなステップを経ることでCABACはコンテキスト変数情報の初期化処理を行っている。従って、CABACにおけるコンテキストの初期化処理は、pic_init_qp_minus26、slice_qp_delta、slice_type、cabac_init_idcといった復号済みシンタックス情報に依存することになる。また、これらのシンタックス情報に基づいて、CABACの復号単位であるスライスの先頭において、毎回複数のコンテキスト変数情報を初期化する必要がある。
他のJBIGやJPEG2000などでも、同様に複数のコンテキスト変数情報を利用して符号化効率の向上を図っている。
JBIGでは、CABACと類似したコンテキスト変数情報が113存在し、これらのコンテキスト変数情報は、復号単位である画像の復号を開始する先頭で、初期化処理が行われる。
このJBIGにおける初期化処理の改善方法として、特許文献1が開示されている。この特許文献1では、ファクシミリなどで複数ページの画像を算術符号化する時、各画像の属性が変わらない場合、あるページの画像の算術符号化終了時の状態管理変数、つまりステート情報と、優勢シンボル情報を引き継ぎ、属性が変わった場合は、この状態管理変数の初期化を行うことを復号側に通知することで、初期化処理の軽減と圧縮効率の向上を図っている。
特許文献1で開示されている初期化処理の軽減と圧縮効率の向上を試みる方法では、符号化時に各画像の属性の変化を測定して、画像の属性が変化しない場合には、コンテキスト変数情報の初期化を行わずに状態を引き継ぎ、属性が変化した場合には、コンテキスト変数情報の初期化を行うことを復号側に通知することで、復号側での初期化処理を軽減する。しかし、復号側のみで初期化処理の軽減を行うことは考慮されておらず、復号側での画像の属性判定に依存してしまう。
また、JBIG等の初期化処理では、予め所定の定数で初期化することができるが、非特許文献4で用いられるCABACの初期化処理などのように、算術復号で必要となる各コンテキスト変数情報、つまり確率分布の状態を特定するためのステート情報と優勢シンボル情報を、一定の復号化単位毎に変化するシンタックス情報によって対応する各コンテキスト初期化情報を特定し、各コンテキスト変数情報を対応する各コンテキスト初期化情報に基づいて算出しながら、一定の復号化単位毎に毎回初期化しなければならなかった。
植松友彦著 「文書データ圧縮アルゴリズム入門」CQ出版 1994年 ITU−T T.82 ISO/IEC 15444 ITU−T H.264 特開平6−319046号公報
上記の問題点を解決するために本発明では、算術復号を行う際に、コンテキスト変数情報を初期化した場合は、このコンテキスト変数情報を初期化済みコンテキスト変数情報として蓄積し、一定の復号化単位毎に変化するシンタックス情報を監視しながら、取得したシンタックス情報によってすでに初期化されたコンテキスト変数情報が初期化済みコンテキスト変数情報として蓄積されている場合には、この初期化済みコンテキスト変数情報に基づいてコンテキスト変数情報を初期化する。このように算術復号におけるコンテキスト変数情報を初期化する際の演算回数を軽減することにより、コンテキスト変数情報の初期化処理を軽減し、初期化処理にかかる演算量を削減するとともに、初期化処理にかかる演算量の削減によって復号が完了するまでにかかる時間を短縮することで、より高速な算術復号化装置、および算術復号化プログラムを提供することを目的とする。
上記目的を達成するために、請求項1に記載の算術復号化装置は、入力されるビットストリームの復号位置を特定するためのスタートコードを基に、入力される前記ビットストリームを探索して算術復号するビット列を特定し、特定したビット列をバッファメモリに格納し、算術復号を開始するビット列上の位置を示す復号位置情報に基づいて、前記バッファメモリに格納されているビット列のヘッダ情報を復号して、当該復号位置情報によって指定されるビット列上の特定位置におけるビット列を算術復号するための復号手順を示すシンタックス情報を取得し、予め複数用意されているコンテキスト変数情報のうちの1つを、前記シンタックス情報に応じて初期化し、その初期化した前記コンテキスト変数情報を利用して、前記特定位置におけるビット列を算術復号する算術復号化装置であって、前記シンタックス情報の種類に応じて初期化された前記コンテキスト変数情報を初期化済みコンテキスト変数情報として複数格納する初期化済みコンテキスト変数情報格納手段と、前記コンテキスト変数情報の初期化に必要な復号済みの前記シンタックス情報を取得し、当該復号済みのシンタックス情報の種類に従って、前記コンテキスト変数情報が前記初期化済みコンテキスト変数情報格納手段に格納されているか否かを判定し、格納されていなかった場合、前記復号済みのシンタックス情報に応じて前記コンテキスト変数情報の初期化を行った後、前記初期化済みコンテキスト変数情報格納手段に格納し、格納されていた場合、前記復号済みのシンタックス情報に基づいて、前記初期化済みコンテキスト変数情報格納手段から特定の前記コンテキスト変数情報を取得するコンテキスト変数管理手段とを備えることを特徴とする。
また、請求項2に記載の算術復号化プログラムは、入力されるビットストリームの復号位置を特定するためのスタートコードを基に、入力される前記ビットストリームを探索して算術復号するビット列を特定し、特定したビット列をバッファメモリに格納し、算術復号を開始するビット列上の位置を示す復号位置情報に基づいて、前記バッファメモリに格納されているビット列のヘッダ情報を復号して、当該復号位置情報によって指定されるビット列上の特定位置におけるビット列を算術復号するための復号手順を示すシンタックス情報を取得し、予め複数用意されているコンテキスト変数情報のうちの1つを、前記シンタックス情報に応じて初期化し、その初期化した前記コンテキスト変数情報を利用して、前記特定位置におけるビット列を算術復号する算術復号化装置をコンピュータに実現させるための算術復号化プログラムであって、前記コンピュータを、前記シンタックス情報の種類に応じて初期化された前記コンテキスト変数情報を初期化済みコンテキスト変数情報として複数格納する初期化済みコンテキスト変数情報格納手段と、前記コンテキスト変数情報の初期化に必要な復号済みの前記シンタックス情報を取得し、当該復号済みのシンタックス情報の種類に従って、前記コンテキスト変数情報が前記初期化済みコンテキスト変数情報格納手段に格納されているか否かを判定し、格納されていなかった場合、前記復号済みのシンタックス情報に応じて前記コンテキスト変数情報の初期化を行った後、前記初期化済みコンテキスト変数情報格納手段に格納し、格納されていた場合、前記復号済みのシンタックス情報に基づいて、前記初期化済みコンテキスト変数情報格納手段から特定の前記コンテキスト変数情報を取得するコンテキスト変数管理手段として機能させることを特徴とする。
本発明では、算術復号におけるコンテキスト変数情報を初期化する際の演算回数を軽減することにより、コンテキスト変数情報の初期化処理を軽減し、初期化処理にかかる演算量を削減できる。また、初期化処理にかかる演算量の削減によって復号が完了するまでにかかる時間を短縮できる。
本発明の実施形態を、図1〜図6を用いて説明する。
図1は、本発明の算術復号化装置であるAVCのデコーダにおいて、本発明の初期化部を備える算術復号部が実際にビットストリームをデコードしてシンタックス情報を出力するまでを示した機能ブロック図である。
デコーダ1は、図1に示すように、ビットストリーム取得部2、復号位置検出部3、ビットストリームバッファ4、復号位置管理部5、シンタックス情報取得部6、シンタックス情報格納部7、および算術復号部8によって構成される。
ビットストリーム取得部2は、符号化されたビットストリームをデコードするために取得する機能を有する。
復号位置検出部3は、ビットストリーム取得部2によって取得されたビットストリーム内を、復号位置管理部5より得られるスタートコードに基づいて探索し、スタートコードと一致したビットストリーム内の位置を検出することでデコードの先頭位置を特定する機能を有する。また、復号位置検出部3は、次の復号位置を特定することで復号単位を特定する機能を有する。ここでは、少なくとも1つのスライスを復号することができるビット列を復号単位として特定できることで、より良い構成となる。このようにして特定されたビットストリーム中のビット列は、後述するビットストリームバッファに格納される。
ビットストリームバッファ4は、復号位置検出部3によって特定されたビット列を格納する。
復号位置管理部5は、ビットストリーム取得部2が取得する入力ビットストリーム中の復号位置を管理する機能を有する。また、復号位置管理部5は、ビットストリームバッファ4に格納されているビット列中の復号位置を管理する機能を有し、必要に応じて復号位置検出部3に対してスタートコードを指定してビットストリームバッファ4内のビット列を更新する機能を有する。さらに、復号位置管理部5は、シンタックス情報取得部6、および算術復号部8に対して、ビットストリームバッファ4内の復号位置情報を通知し、また、算術復号部8からの復号位置の検出要求に応じて復号位置検出部3に検出要求に応じたスタートコードを通知する機能を有する。
シンタックス情報取得部6は、復号位置管理部5から得られる復号位置情報と、ビットストリームバッファ4に格納されているビット列から、後述する算術復号部8で符号化されたビット列よりも上位に位置するヘッダ情報を復号し、得られるシンタックス情報を後述するシンタックス情報格納部7に通知する機能を有する。
シンタックス情報格納部7は、シンタックス情報取得部6から得られる各種のシンタックス情報を格納する。また、シンタックス情報格納部7は、必要に応じて、算術復号部8にシンタックス情報を通知する機能を有する。
算術復号部8は、復号位置管理部5から得られる復号位置情報と、ビットストリームバッファ4に格納されているビット列から、復号位置情報によって特定されたビット列の位置から算術復号を行い、復号結果を出力シンタックス情報として出力する機能を有する。また、算術復号部8は、必要に応じて、復号位置管理部5に対して現在の復号位置よりも前もしくは後ろの復号位置の検出要求を行う機能を有する。
図2は、図1の算術復号部8をより詳しく示したブロック図である。
算術復号部8は、状態遷移管理部11、コンテキスト変数管理部12、初期化済みコンテキスト変数情報格納部13、コンテキスト初期化部14、コンテキスト初期化情報格納部15、コンテキスト変数情報格納部16、ビット列カウント部17、ビット列情報管理部18、コンテキスト特定部19、2値算術復号部20、復号ビット取得部21、およびビット列比較部22によって構成される。
状態遷移管理部11は、現在復号しようとしているシンタックス情報を正しく復号することができるように算術復号部8内の内部状態を管理する機能を有する。この状態遷移管理部11は、コンテキスト変数管理部12に対する初期化要求や、ビット列カウント部17の制御、ビット列情報管理部18の制御、コンテキスト特定部19の制御、2値算術復号化部20に対する復号開始要求を行うことで、内部状態を管理する。
コンテキスト変数管理部12は、状態遷移管理部11からの初期化要求に応じて、コンテキスト変数情報の初期化が必要かどうかを判定する機能を有する。コンテキスト変数情報の初期化判定では、後述する初期化済みコンテキスト変数情報格納部13に格納されている初期化済みコンテキスト変数情報の中から、取得した復号済みシンタックス情報に基づいて初期化されたものが存在するかどうかを検索する。検索の結果、対応する初期化済みコンテキスト変数情報が存在する場合には、後述するコンテキスト変数情報格納部16に格納することでコンテキスト変数情報初期化時の演算回数を削減する。また、対応する初期化済みコンテキスト変数情報が存在しない場合には、通常のコンテキスト変数情報の初期化処理を行うため、コンテキスト初期化部14に対して初期化要求を行い、初期化されたコンテキスト変数情報を初期化済みコンテキスト変数情報として後述する初期化済みコンテキスト変数情報格納部13に格納するとともに、後述するコンテキスト変数情報格納部16に格納する。ここで、後述する初期化済みコンテキスト変数情報格納部13にコンテキスト変数情報を格納する際に、復号済みシンタックス情報から所定の先読み数の分の情報を取得し、初期化済みコンテキスト変数情報格納部13に対してコンテキスト変数情報の格納を制御できることで、より良い構成となる。所定の先読み数分だけ復号済みシンタックス情報が取得できない場合には、先読み要求情報604を図9の復号位置管理部5に通知し、再度復号済みシンタックス情報の取得を試みることができる。
また、コンテキスト変数情報を初期化済みコンテキスト変数情報として格納する際に、初期化済みコンテキスト変数情報格納部13に格納されている初期化済みコンテキスト変数情報の参照率を保持し、新たに初期化済みコンテキスト変数情報格納部13に対して追加できなくなった場合に、参照率の最も低いものと置き換えができることで、より良い構成となる。
初期化済みコンテキスト変数情報格納部13は、コンテキスト初期化部14によって初期化され、コンテキスト変数管理部12によって通知されたコンテキスト変数情報を、コンテキスト変数管理部12が取得する復号済みシンタックス情報に基づいてコンテキスト変数情報の初期化処理を行わずに再利用できるように格納する。
コンテキスト初期化部14は、コンテキスト変数管理部12の初期化要求に応じて、算術復号を行う際に使用するコンテキスト変数情報の初期化処理を行う機能を有する。コンテキスト初期化部14は、コンテキスト初期化情報格納部15に格納されている所定の定数と、コンテキスト変数管理部12から通知される復号済みシンタックス情報を利用してコンテキスト変数情報の初期化を行う。
CABACの初期化を行う際に必要となる復号済みシンタックス情報は、pic_parameter_set_rbsp()に含まれるpic_init_qp_minus26と、slice_header()に含まれるslice_qp_deltaから求めるSliceQPY、slice_header()に含まれるslice_type及びcabac_init_idcである。CABACでは、復号単位がスライスであるため、スライスを復号する度にその先頭でコンテキスト変数情報の初期化が行われる。
コンテキスト初期化情報格納部15は、コンテキスト初期化部14がコンテキスト変数情報の初期化を行う際に使用する所定の定数を格納する。図12は、コンテキスト初期化情報格納部15に格納されているコンテキスト初期化情報の例として、CABACで用いる所定の定数が記述されたテーブルの一部を抜粋したものである。CABACでは、復号済みシンタックス情報から得られるslice_type、cabac_init_idc、そして各コンテキストを特定するためのctxIdxを利用して、図12に示すようなコンテキスト初期化情報のテーブルから定数m、nが特定され、コンテキスト変数情報の初期化に利用される。
コンテキスト変数情報格納部16は、算術復号で実際に使用するコンテキスト変数情報を格納し、コンテキスト変数情報の初期化が必要な場合には、状態遷移管理部11の要求に応じて、コンテキスト変数管理部12は必要なコンテキスト変数情報を取得し、コンテキスト変数情報格納部16に通知する機能を有する。また、コンテキスト変数情報格納部16は、通知されたコンテキスト変数情報に基づいて格納されているコンテキスト変数情報を更新することでコンテキスト変数情報の初期化を行う機能を有する。コンテキスト変数情報格納部16が格納しているコンテキスト変数情報は、2値算術復号化部20の復号結果に応じて変更される。
図2に示す算術復号部8の構成では、コンテキスト変数情報の更新はコンテキスト特定部19を介して行われるが、一般に2値算術復号化部20が直接コンテキスト変数情報格納部16の内容を変更することができるような構成をとることも可能である。
ビット列カウント部17は、現在復号しようとしているビットがビット列中のどの位置に対応するかをカウントする機能を有する。これは、復号するビット位置によってビットの発生確率が違うことから、ビット位置に応じたコンテキスト変数情報を対応付ける必要があるためである。
ビット列情報管理部18は、現在復号しようとしているシンタックス情報の候補となる情報をビット列表記した情報に変換して対応付けを行う機能を有する。この対応関係は、後述するビット列比較部22によって利用される。
コンテキスト特定部19は、現在復号しようとしているビットのコンテキスト変数情報を特定するためのctxIdxを、状態遷移管理部11から得られる現在復号しようとしているシンタックス情報の種類に関する情報、ビット列カウント部17から得られる現在復号しようとしているビット列中のビット位置、復号済みシンタックス情報を利用して特定する機能を有する。
2値算術復号化部20は、コンテキスト特定部19により特定されたコンテキスト変数情報を利用して算術復号を行う機能を有する。算術復号によって状態が変化したコンテキスト変数情報は、順次コンテキスト変数情報格納部16に反映される。図2の算術復号部8においては、コンテキスト特定部19を介して行われる。また、算術復号時に正規化によりビットストリームからのビット補充が必要な場合には、2値算術復号化部20は、復号ビット取得部21から必要なビットを補充する。
復号ビット取得部21は、2値算術復号化部20のビット要求に応じてビットストリームと復号位置情報を用いて取得する機能を有する。
ビット列比較部22は、2値算術復号化部20の出力結果を保持し、ビット列情報管理部18で用意されているビット列情報との比較を行う機能を有する。ビット列情報中に等しいものが存在した場合は、ビット列比較部22は、等しいビット列情報に対応するシンタックス情報を取得して出力シンタックス情報として出力し、保持していた2値算術復号化部20の出力結果を初期化して次のシンタックス情報の復号に備える。また、ビット列比較部22は、必要に応じて状態遷移管理部11に出力シンタックス情報を通知する。
図3は、ビットストリーム復号時の処理手順を示すフローチャートである。以下に図3を用いて、まず、デコーダ1の復号処理時における動作の概要について説明する。
まず、デコーダ1がビットストリームの復号処理を開始すると、ビットストリーム取得部2は、入力ビットストリームを取得するため、復号対象となる入力ビットストリームを取得する(ステップS01)。
次に、復号位置検出部3は、復号位置管理部5から復号位置を特定するために必要なスタートコードを取得する(ステップS02)。復号位置検出部3は、ビットストリーム取得部2が取得したビットストリームを探索、ビット列を特定し、特定したビット列をビットストリームバッファ4に格納する(ステップS03)。
次に、シンタックス情報取得部6は、シンタックス情報を取得するため、ビットストリームバッファ4に格納されているビット列と、復号位置管理部5から得られる復号位置情報に基づいて復号を行い、シンタックス情報を取得し(ステップS04)、取得したシンタックス情報をシンタックス情報格納部7に格納する(ステップS05)。
復号位置管理部5は、算術復号部8から必要に応じて通知される復号位置検出要求に基づいて、算術復号を実行する際に、ビットストリーム内を先読みして次のシンタックス情報を取得する必要があるかどうかを判定する(ステップS06)。次のシンタックス情報が必要な場合には、ステップS02の処理に移行する。
算術復号を行うため、算術復号部8は、ビットストリームバッファ4からビット列を取得、また、復号位置管理部5からビット列の復号位置情報を取得し、復号位置情報から特定されるビット列上の位置のビットをどのように解釈して復号するかを決定するために、シンタックス情報格納部から必要なシンタックス情報を取得する。算術復号部8は、これらの情報を基に算術復号を行い、復号結果である出力シンタックス情報を順次出力する(ステップS07)。
次に、コンテキスト変数情報の初期化処理について説明する。図4は、コンテキスト変数情報の初期化処理における処理手順を示すフローチャートである。以下に、図4を用いて算術復号部8の動作を説明する。
コンテキスト変数情報の初期化を開始すると、コンテキスト変数管理部12は、コンテキスト変数情報の初期化に必要なパラメータを取得する(ステップS11)。図2では、コンテキスト変数管理部12が初期化要求を受けた際に取得する復号済みシンタックス情報が、コンテキスト変数情報の初期化に必要なパラメータとなる。
次に、コンテキスト変数管理部12は、取得したパラメータによって初期化されたコンテキスト変数情報が存在するか否かを判定する(ステップS12)。図2に示す算術復号部8においては、コンテキスト変数管理部12は、ステップS11において取得したパラメータである復号済みシンタックス情報に基づいて初期化済みコンテキスト変数情報格納部13に格納されている初期化済みコンテキスト変数情報を検索する。取得したパラメータで初期化されたコンテキスト変数情報が初期化済みコンテキスト変数情報格納部13に格納されている場合には、ステップS15の処理に移行し、それ以外は、ステップS13の処理に移行する。
取得したパラメータで初期化されたコンテキスト変数情報が初期化済みコンテキスト変数情報格納部13に格納されていない場合、コンテキスト変数管理部12は、コンテキスト初期化部14に対して初期化要求を行う(ステップS13)。この初期化要求によって、コンテキスト初期化部14は、通常のコンテキスト変数情報の初期化処理を行う。
コンテキスト変数管理部12は、コンテキスト初期化部14によって初期化されたコンテキスト変数情報を取得し、初期化済みコンテキスト変数情報格納部13に格納する(ステップS14)。
次に、コンテキスト変数管理部12は、取得した復号済みシンタックス情報に基づいて、初期化済みコンテキスト変数情報格納部13に格納されている初期化済みコンテキスト変数情報から検索することにより該当するコンテキスト変数情報を特定する(ステップS15)。
次に、コンテキスト変数管理部12は、ステップS15で特定したコンテキスト変数情報をコンテキスト変数情報格納部16に格納する(ステップS16)。
このようにして、復号時に必要なコンテキスト変数情報の初期化処理が行われる。
次に、コンテキスト変数情報の初期化処理について、図5のフローチャートに基づいて、詳細に説明する。
コンテキスト変数情報の初期化を開始すると、状態遷移管理部11からの初期化要求に応じて、コンテキスト変数管理部12は、復号済みシンタックス情報から現在復号しようとしているスライスのpic_init_qp_minus26、slice_qp_delta、slice_type、cabac_init_idcを取得する(ステップS21)。ここでは、pic_init_qp_minus26=4、slice_qp_delta=5、slice_type=0(P slice)、cabac_init_idc=1を取得したものとする。
ここで、初期化済みコンテキスト変数情報格納部13に対するコンテキスト変数情報の格納を制御するための所定の先読み数が設定されている場合には、コンテキスト変数管理部12は、復号済みシンタックス情報から所定の先読み数分の情報を取得する。所定の先読み数分だけ復号済みシンタックス情報が取得できない場合には、コンテキスト変数管理部12は、先読み要求情報を復号位置管理部5に通知し、再度復号済みシンタックス情報の取得を行う。
次に、現在復号しようとしているシンタックス情報に該当する初期化済みコンテキスト変数情報を検索するため、コンテキスト変数管理部12は、取得した復号済みシンタックス情報の種類に基づいて、初期化済みコンテキスト変数情報格納部13に格納されている初期化済みコンテキスト変数情報から取得した復号済みシンタックス情報に対応するコンテキスト変数情報が存在するか検索し(ステップS22)、初期化済みコンテキスト変数情報が存在するかを判定する(ステップS23)。対応する初期化済みコンテキスト変数情報が存在する場合には、ステップS24の処理に移行し、それ以外は、ステップS25の処理に移行する。
対応する初期化済みコンテキスト変数情報が存在する場合、コンテキスト変数管理部12は、初期化済みコンテキスト変数情報格納部13から特定したコンテキスト変数情報をコンテキスト変数情報格納部16に格納し(ステップS24)、コンテキスト変数情報の初期化処理を終了する。
また、対応する初期化済みコンテキスト変数情報が存在しない場合、コンテキスト変数管理部12は、下記の数式に従ってSliceQPYを算出する(ステップS25)。
[数4]
SliceQPY=26+pic_init_qp_minus26+slice_qp_delta
=26+4+5
=35
次に、コンテキスト初期化部14は、ステップS21において取得した復号済みコンテキスト変数情報slice_type、cabac_init_idcから、初期化が必要なctxIdxを特定し、そのctxIdxに対応するm、nをコンテキスト初期化情報格納部15から取得する(ステップS26)。ここでは、初期化が必要なctxIdxがctxIdx=70であるものとすると、図11に示すコンテキスト初期化情報のテーブルに従ってm=13、n=15を取得する。
次に、コンテキスト初期化部14は、ステップS25で算出されたSliceQPYと、ステップS26で取得されたm、nを用いて、下記の数式に従って一時変数preCtxStateを算出する(ステップS27)。
[数5]
preCtxState=((m×SliceQPY)>>4)+n
=(13×35)>>4+15
=28+15
=43
ここで、数式中の「>>4」は、4ビットの右シフト演算を行うことを示す。
次に、コンテキスト初期化部14は、一時変数preCtxStateが1より小さいかどうかを判定する(ステップS28)。一時変数preCtxStateが1より小さい場合は、ステップS29の処理に移行し、それ以外の場合は、ステップS30の処理に移行する。
一時変数preCtxStateが1より小さい場合、コンテキスト初期化部14は、一時変数preCtxStateに1を設定する(ステップS29)。
次に、コンテキスト初期化部14は、一時変数preCtxStateが126より大きいかどうかを判定する(ステップS30)。一時変数preCtxStateが126より大きい場合は、ステップS31の処理に移行し、それ以外の場合は、ステップS32の処理に移行する。
一時変数preCtxStateが126より大きい場合、コンテキスト初期化部14は、一時変数preCtxStateに126を設定する(ステップS31)。
次に、コンテキスト初期化部14は、一時変数preCtxStateが63以下であるかを判定する(ステップS32)。一時変数preCtxStateが63以下の場合は、ステップS34の処理に移行し、それ以外の場合は、ステップS33の処理に移行する。
一時変数preCtxStateが63以下でない場合、コンテキスト初期化部14は、現在初期化を行っているctxIdxに対応するコンテキスト変数情報の構成要素であるステート情報pStateIdxに一時変数preCtxStateから64を引いた値を設定し、また、コンテキスト変数情報の構成要素である優勢シンボル情報valMPSに1を設定する(ステップS33)。
また、一時変数preCtxStateが63以下の場合、コンテキスト初期化部14は、現在初期化を行っているctxIdxに対応するコンテキスト変数情報の構成要素であるステート情報pStateIdxに63から一時変数preCtxStateを引いた値を設定し、また、コンテキスト変数情報の構成要素である優勢シンボル情報valMPSに0を設定する(ステップS34)。
ここでは、preCtxState=43であるため、
[数6]
pStateIdx=63−preCtxState
=63−43
=20
valMPS=0
となる。
次に、コンテキスト初期化部14は、ステップS33またはステップS34において取得されたコンテキスト変数情報をコンテキスト変数情報格納部16に格納する(ステップS35)。更に、コンテキスト初期化部14は、同様のコンテキスト変数情報を初期化済みコンテキスト変数情報として初期化済みコンテキスト変数情報格納部13に格納する。
ここでは、pStateIdx=63−43=20、valMPS=0が、ctxIdx=70のコンテキスト変数情報としてコンテキスト変数情報格納部16および初期化済みコンテキスト変数情報格納部13に格納される。
ここで、所定の先読み量が設定されており、ステップS21において、所定の先読み量の分だけ復号済みシンタックス情報が取得できている場合には、現在のコンテキスト変数情報を初期化した条件が、取得した復号済みシンタックス情報に該当する場合のみ格納し、それ以外は格納せずに破棄することで、初期化済みコンテキスト変数情報格納部13に対する格納を制御する。
コンテキスト初期化部14は、初期化すべきctxIdxが存在するか否かを判定し(ステップS36)、初期化すべきctxIdxが存在する場合は、ステップS26の処理に移行し、初期化処理を継続し、初期化すべきctxIdxが存在しない場合は、コンテキスト変数情報の初期化処理を終了する。
このように、不必要なコンテキスト変数情報の初期化処理を軽減し、初期化処理にかかる演算量を削減するとともに、初期化処理にかかる演算量の削減によって、復号が完了するまでにかかる時間を短縮できる。特に、コンテキスト変数管理部12、初期化済みコンテキスト変数情報格納部13を備えることで、一定の復号化単位毎に毎回初期化していたコンテキスト変数情報の再利用が可能となる。
次に、本実施形態におけるCABACの復号処理について、図6のフローチャートに基づいて説明する。図6は、CABACの復号単位である1スライス分の復号動作を表すフローチャートである。
CABACの復号処理を開始すると、状態遷移管理部11は、復号する対象となるシンタックス情報がスライスにおける最初のシンタックス情報であるかを判定する(ステップS41)。復号する対象となるシンタックス情報が最初のシンタックス情報である場合は、ステップS42の処理へ移行し、最初のシンタックス情報ではない場合は、ステップS44の処理へ移行する。
復号する対象となるシンタックス情報が最初のシンタックス情報である場合、状態遷移管理部11は、コンテキスト変数管理部12に対して初期化要求を行い、コンテキスト初期化部14は、状態遷移管理部11から初期化要求がされると、上述のコンテキスト変数情報の初期化を行う(ステップS42)。
また、状態遷移管理部11が2値算術復号化部20対して初期化要求を行うと、2値算術復号化部20は、rangeを所定の値に初期化し、valueを復号ビット取得部21から取得したビットで初期化する(ステップS43)。
次に、状態遷移管理部11がビット列情報管理部18に対して現在復号しようとするシンタックス情報の候補となる情報をビット列表記した情報に変換して対応付けるよう要求すると、この要求に基づいて、ビット列情報管理部18は、ビット列情報を作成する(ステップS44)。
次に、状態遷移管理部11は、ビット列カウント部17内のビット列カウンタbinIdxを‐1に初期化する(ステップS45)。
次に、状態遷移管理部11は、ビット列カウント部17内のビット列カウンタbinIdxを1増加する(ステップS46)。
次に、状態遷移管理部11がコンテキスト判定部19に対して、復号で使用するコンテキスト変数情報を特定するためのctxIdxを特定するように要求すると、コンテキスト判定部19は、現在復号しようとしているビットのコンテキスト変数情報を特定するためのctxIdxを、状態遷移管理部11から得られる現在復号しようとしているシンタックス情報の種類に関する情報、ビット列カウント部17から得られる現在復号しようとしているビット列中のビット位置、復号済みシンタックス情報を利用して特定する(ステップS47)。
次に、状態遷移管理部11が2値算術復号化部20に対して復号要求すると、2値算術復号化部20は、コンテキスト特定部19から特定されたctxIdxに基づいて得られるコンテキスト変数情報を取得し、復号を行う(ステップS48)。算術復号時に正規化によりビットストリームからのビット補充が必要な場合には、2値算術復号化部20は、復号ビット取得部21から必要なビットを補充し、また、復号が完了すると、復号結果をビット列比較部22に通知する。
ビット列比較部22は、保持している2値算術復号化部20からの出力結果と、ビット列情報管理部18で用意されているビット列情報との比較を行い、ビット列情報中に等しいものが存在するか否かを判定する(ステップS49)。ビット列情報中に等しいものが存在しない場合は、ステップS46の処理に移行し、処理を継続する。ビット列情報中に等しいものが存在した場合は、ビット列比較部22は、等しいビット列情報に対応するシンタックス情報を取得して出力シンタックス情報として出力し、保持していた2値算術復号化部20の出力結果を初期化して次のシンタックス情報の復号に備え、必要に応じて状態遷移管理部11に出力シンタックス情報を通知する。
次に、状態遷移管理部11は、現在復号対象となっているこれから復号しようとしている次のシンタックス情報がmb_typeであり、かつステップS48の処理において得られる復号結果がI_PCMであるか否か判定する。この条件を満たす場合には、ステップS51に移行し、条件を満たさない場合には、CABACの復号を終了する。
ステップS51では、ステップS43と同様の処理を行うことで、2値算術復号化部20の状態を初期化する。初期化が完了すると、CABACの復号を終了する。
このように処理を行うことによって、コンテキスト変数情報を初期化する際の演算回数が軽減され、算術復号時の初期化処理の高速化を図ることが可能となる。
なお、本発明は、上記の算術復号化装置(デコーダ1)の機能をコンピュータに実現させるためのプログラムを含むものである。このプログラムは、記録媒体から読み取られてコンピュータに取り込まれても良いし、通信ネットワークを介して伝送されコンピュータに取り込まれても良い。
本発明のデコーダの基本構成を示す機能ブロック図である。 本発明の算術復号部の構成を示す機能ブロック図である。 本発明の基本動作を示すフローチャートである。 本発明の算術復号部の基本動作を示すフローチャートである。 本発明の算術復号部の詳細な動作を示すフローチャートである。 本発明の算術復号部の動作を示すフローチャートである。 算術符号化・復号化の概念を説明するための概念図である。 CABACの基本構成を示す機能ブロック図である。 CABACにおける算術復号部の構成を示す機能ブロック図である。 コンテキスト切り替えによる系列の分離を説明するための図である。 CABACの基本動作を示すフローチャートである。 CABACにおいてコンテキスト変数情報を初期化する際に使用するパラメータm、nの例を示すための図である。 CABACにおける算術復号部の動作を示すフローチャートである。 CABACにおけるコンテキスト変数情報の初期化処理における動作を示すフローチャートである。
符号の説明
1 デコーダ
2 ビットストリーム取得部
3 復号位置検出部
4 ビットストリームバッファ
5 復号位置管理部
6 シンタックス情報取得部
7 シンタックス情報格納部
8 算術復号部
11 状態遷移管理部
12 コンテキスト変数管理部
13 初期化済みコンテキスト変数情報格納部
14 コンテキスト初期化部
15 コンテキスト初期化情報格納部
16 コンテキスト変数情報格納部
17 ビット列カウント部
18 ビット列情報管理部
19 コンテキスト特定部
20 2値算術復号化部
21 復号ビット取得部
22 ビット列比較部
101 デコーダ
102 ビットストリーム取得部
103 復号位置検出部
104 ビットストリームバッファ
105 復号位置管理部
106 シンタックス情報取得部
107 シンタックス情報格納部
108 算術復号部
111 状態遷移管理部
112 コンテキスト初期化部
113 コンテキスト初期化情報格納部
114 コンテキスト変数情報格納部
115 ビット列カウント部
116 ビット列情報管理部
117 コンテキスト特定部
118 2値算術復号化部
119 復号ビット取得部
120 ビット列比較部

Claims (2)

  1. 入力されるビットストリームの復号位置を特定するためのスタートコードを基に、入力される前記ビットストリームを探索して算術復号するビット列を特定し、特定したビット列をバッファメモリに格納し、
    算術復号を開始するビット列上の位置を示す復号位置情報に基づいて、前記バッファメモリに格納されているビット列のヘッダ情報を復号して、当該復号位置情報によって指定されるビット列上の特定位置におけるビット列を算術復号するための復号手順を示すシンタックス情報を取得し、
    予め複数用意されているコンテキスト変数情報のうちの1つを、前記シンタックス情報に応じて初期化し、その初期化した前記コンテキスト変数情報を利用して、前記特定位置におけるビット列を算術復号する算術復号化装置であって、
    前記シンタックス情報の種類に応じて初期化された前記コンテキスト変数情報を初期化済みコンテキスト変数情報として複数格納する初期化済みコンテキスト変数情報格納手段と、
    前記コンテキスト変数情報の初期化に必要な復号済みの前記シンタックス情報を取得し、当該復号済みのシンタックス情報の種類に従って、前記コンテキスト変数情報が前記初期化済みコンテキスト変数情報格納手段に格納されているか否かを判定し、
    格納されていなかった場合、前記復号済みのシンタックス情報に応じて前記コンテキスト変数情報の初期化を行った後、前記初期化済みコンテキスト変数情報格納手段に格納し、
    格納されていた場合、前記復号済みのシンタックス情報に基づいて、前記初期化済みコンテキスト変数情報格納手段から特定の前記コンテキスト変数情報を取得するコンテキスト変数管理手段と、
    を備えることを特徴とする算術復号化装置。
  2. 入力されるビットストリームの復号位置を特定するためのスタートコードを基に、入力される前記ビットストリームを探索して算術復号するビット列を特定し、特定したビット列をバッファメモリに格納し、
    算術復号を開始するビット列上の位置を示す復号位置情報に基づいて、前記バッファメモリに格納されているビット列のヘッダ情報を復号して、当該復号位置情報によって指定されるビット列上の特定位置におけるビット列を算術復号するための復号手順を示すシンタックス情報を取得し、
    予め複数用意されているコンテキスト変数情報のうちの1つを、前記シンタックス情報に応じて初期化し、その初期化した前記コンテキスト変数情報を利用して、前記特定位置におけるビット列を算術復号する算術復号化装置をコンピュータに実現させるための算術復号化プログラムであって、
    前記コンピュータを、
    前記シンタックス情報の種類に応じて初期化された前記コンテキスト変数情報を初期化済みコンテキスト変数情報として複数格納する初期化済みコンテキスト変数情報格納手段と、
    前記コンテキスト変数情報の初期化に必要な復号済みの前記シンタックス情報を取得し、当該復号済みのシンタックス情報の種類に従って、前記コンテキスト変数情報が前記初期化済みコンテキスト変数情報格納手段に格納されているか否かを判定し、
    格納されていなかった場合、前記復号済みのシンタックス情報に応じて前記コンテキスト変数情報の初期化を行った後、前記初期化済みコンテキスト変数情報格納手段に格納し、
    格納されていた場合、前記復号済みのシンタックス情報に基づいて、前記初期化済みコンテキスト変数情報格納手段から特定の前記コンテキスト変数情報を取得するコンテキスト変数管理手段と、
    して機能させることを特徴とする算術復号化プログラム。
JP2004028423A 2004-02-04 2004-02-04 算術復号化装置、および算術復号化プログラム Expired - Lifetime JP4241417B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004028423A JP4241417B2 (ja) 2004-02-04 2004-02-04 算術復号化装置、および算術復号化プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004028423A JP4241417B2 (ja) 2004-02-04 2004-02-04 算術復号化装置、および算術復号化プログラム

Publications (2)

Publication Number Publication Date
JP2005223533A true JP2005223533A (ja) 2005-08-18
JP4241417B2 JP4241417B2 (ja) 2009-03-18

Family

ID=34998842

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004028423A Expired - Lifetime JP4241417B2 (ja) 2004-02-04 2004-02-04 算術復号化装置、および算術復号化プログラム

Country Status (1)

Country Link
JP (1) JP4241417B2 (ja)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007074648A (ja) * 2005-09-09 2007-03-22 Matsushita Electric Ind Co Ltd Cabac復号化装置
WO2007129508A1 (ja) * 2006-05-02 2007-11-15 Sony Corporation 動画像処理方法、動画像処理方法のプログラム、動画像処理方法のプログラムを記録した記録媒体及び動画像処理装置
JP2008118303A (ja) * 2006-11-01 2008-05-22 Canon Inc 復号装置及び復号方法
JP2008289125A (ja) * 2007-04-20 2008-11-27 Panasonic Corp 算術復号化装置及びその方法
WO2009031648A1 (ja) * 2007-09-06 2009-03-12 Nec Corporation 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化あるいは復号プログラム
WO2009081553A1 (ja) * 2007-12-21 2009-07-02 Panasonic Corporation 画像符号化装置及び画像復号化装置
JP2009525627A (ja) * 2005-11-28 2009-07-09 コネクサント システムズ インク 復号化システムおよび方法
JP2009171188A (ja) * 2008-01-16 2009-07-30 Nec Corp エントロピ符号化器、映像符号化装置、映像符号化方法および映像符号化プログラム
JP2012505576A (ja) * 2008-10-08 2012-03-01 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 音声復号器、音声符号器、音声信号の復号化方法、音声信号の符号化方法、コンピュータプログラムおよび符号化音声信号
JP2013508762A (ja) * 2009-10-20 2013-03-07 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 前に復号されたスペクトル値のグループの検出を使用した、オーディオ符号器、オーディオ復号器、オーディオ情報を符号化するための方法、オーディオ情報を復号するための方法、および、コンピュータプログラム
JP2013517520A (ja) * 2010-01-12 2013-05-16 フラウンホーファーゲゼルシャフト ツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. オーディオ符号化器、オーディオ復号器、オーディオ情報を符号化するための方法、オーディオ情報を復号するための方法、および以前の数値コンテキスト値の数値表現の修正を用いたコンピュータプログラム
JP2013165506A (ja) * 2013-04-18 2013-08-22 Panasonic Corp 画像符号化装置
US8731948B2 (en) 2008-07-11 2014-05-20 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio signal synthesizer for selectively performing different patching algorithms
JP2014520470A (ja) * 2011-06-24 2014-08-21 オランジュ 画像を符号化して復号化する方法、符号化して復号化する装置、および対応するコンピュータプログラム
JP2014520451A (ja) * 2011-06-16 2014-08-21 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン エントロピー符号化におけるコンテキスト初期化
JP2014158303A (ja) * 2010-10-01 2014-08-28 Sharp Corp 動画像フレームを復号する復号方法
JPWO2013005659A1 (ja) * 2011-07-07 2015-02-23 ソニー株式会社 画像処理装置および方法
JP2015149766A (ja) * 2010-09-30 2015-08-20 シャープ株式会社 コンテキストの初期化方法および復号方法
JP2016226003A (ja) * 2011-06-30 2016-12-28 シャープ株式会社 デコーダピクチャバッファに基づくコンテキスト初期化
JP2017208846A (ja) * 2011-03-10 2017-11-24 シャープ株式会社 復号方法、復号装置、符号化方法及び符号化装置。
US10645388B2 (en) 2011-06-16 2020-05-05 Ge Video Compression, Llc Context initialization in entropy coding
US11343535B2 (en) 2011-03-07 2022-05-24 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto

Cited By (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007074648A (ja) * 2005-09-09 2007-03-22 Matsushita Electric Ind Co Ltd Cabac復号化装置
JP2009525627A (ja) * 2005-11-28 2009-07-09 コネクサント システムズ インク 復号化システムおよび方法
WO2007129508A1 (ja) * 2006-05-02 2007-11-15 Sony Corporation 動画像処理方法、動画像処理方法のプログラム、動画像処理方法のプログラムを記録した記録媒体及び動画像処理装置
CN101438595B (zh) * 2006-05-02 2011-05-25 索尼株式会社 运动图像处理方法及运动图像处理设备
JP2008118303A (ja) * 2006-11-01 2008-05-22 Canon Inc 復号装置及び復号方法
JP2008289125A (ja) * 2007-04-20 2008-11-27 Panasonic Corp 算術復号化装置及びその方法
WO2009031648A1 (ja) * 2007-09-06 2009-03-12 Nec Corporation 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化あるいは復号プログラム
US9521433B2 (en) 2007-09-06 2016-12-13 Nec Corporation Video encoding device, video decoding device, video encoding method, video decoding method, video encoding or decoding program
WO2009081553A1 (ja) * 2007-12-21 2009-07-02 Panasonic Corporation 画像符号化装置及び画像復号化装置
US8731050B2 (en) 2007-12-21 2014-05-20 Panasonic Corporation Image encoding apparatus and image decoding apparatus
JP2009171188A (ja) * 2008-01-16 2009-07-30 Nec Corp エントロピ符号化器、映像符号化装置、映像符号化方法および映像符号化プログラム
US8351500B2 (en) 2008-01-16 2013-01-08 Nec Corporation Entropy encoder, video coding apparatus, video coding method and video coding program
US10014000B2 (en) 2008-07-11 2018-07-03 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio signal encoder and method for generating a data stream having components of an audio signal in a first frequency band, control information and spectral band replication parameters
US10522168B2 (en) 2008-07-11 2019-12-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio signal synthesizer and audio signal encoder
US8731948B2 (en) 2008-07-11 2014-05-20 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio signal synthesizer for selectively performing different patching algorithms
KR20140085582A (ko) * 2008-10-08 2014-07-07 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 오디오 디코더, 오디오 인코더, 오디오 신호를 디코딩하는 방법, 오디오 신호를 인코딩하는 방법, 컴퓨터 프로그램 및 오디오 신호
KR101596183B1 (ko) 2008-10-08 2016-02-22 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 오디오 디코더, 오디오 인코더, 오디오 신호를 디코딩하는 방법, 오디오 신호를 인코딩하는 방법, 컴퓨터 프로그램 및 오디오 신호
US8494865B2 (en) 2008-10-08 2013-07-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio decoder, audio encoder, method for decoding an audio signal, method for encoding an audio signal, computer program and audio signal
JP2012505576A (ja) * 2008-10-08 2012-03-01 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 音声復号器、音声符号器、音声信号の復号化方法、音声信号の符号化方法、コンピュータプログラムおよび符号化音声信号
KR101436677B1 (ko) * 2008-10-08 2014-09-01 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 오디오 디코더, 오디오 인코더, 오디오 신호를 디코딩하는 방법, 오디오 신호를 인코딩하는 방법, 컴퓨터 프로그램 및 오디오 신호
JP2013508762A (ja) * 2009-10-20 2013-03-07 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 前に復号されたスペクトル値のグループの検出を使用した、オーディオ符号器、オーディオ復号器、オーディオ情報を符号化するための方法、オーディオ情報を復号するための方法、および、コンピュータプログラム
US8612240B2 (en) 2009-10-20 2013-12-17 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using a region-dependent arithmetic coding mapping rule
US8655669B2 (en) 2009-10-20 2014-02-18 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using an iterative interval size reduction
US12080300B2 (en) 2009-10-20 2024-09-03 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using a detection of a group of previously-decoded spectral values
US8706510B2 (en) 2009-10-20 2014-04-22 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using a detection of a group of previously-decoded spectral values
US9978380B2 (en) 2009-10-20 2018-05-22 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using a detection of a group of previously-decoded spectral values
US11443752B2 (en) 2009-10-20 2022-09-13 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using a detection of a group of previously-decoded spectral values
US8682681B2 (en) 2010-01-12 2014-03-25 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
JP2013517520A (ja) * 2010-01-12 2013-05-16 フラウンホーファーゲゼルシャフト ツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. オーディオ符号化器、オーディオ復号器、オーディオ情報を符号化するための方法、オーディオ情報を復号するための方法、および以前の数値コンテキスト値の数値表現の修正を用いたコンピュータプログラム
US8898068B2 (en) 2010-01-12 2014-11-25 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding and audio information, method for decoding an audio information and computer program using a modification of a number representation of a numeric previous context value
TWI466103B (zh) * 2010-01-12 2014-12-21 Fraunhofer Ges Forschung 音訊編碼器、音訊解碼器、用以將音訊資訊編碼的方法、用以將音訊資訊解碼的方法、及使用描述有效狀態值及區間邊界二者之散列表的電腦程式
JP2013517519A (ja) * 2010-01-12 2013-05-16 フラウンホーファーゲゼルシャフト ツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. オーディオ符号化器、オーディオ復号器、オーディオ情報を符号化するための方法、オーディオ情報を復号するための方法、および上位状態値と間隔境界との両方を示すハッシュテーブルを用いたコンピュータプログラム
JP2013517521A (ja) * 2010-01-12 2013-05-16 フラウンホーファーゲゼルシャフト ツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. オーディオ符号化器、オーディオ復号器、オーディオ情報を符号化および復号するための方法、ならびに以前に復号されたスペクトル値のノルムに基づいてコンテキストサブ領域値を取得するコンピュータプログラム
US8645145B2 (en) 2010-01-12 2014-02-04 Fraunhoffer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding and audio information, method for decoding an audio information and computer program using a hash table describing both significant state values and interval boundaries
US9633664B2 (en) 2010-01-12 2017-04-25 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding and audio information, method for decoding an audio information and computer program using a modification of a number representation of a numeric previous context value
CN105959014B (zh) * 2010-09-30 2019-07-23 夏普株式会社 对视频进行解码或编码的方法和装置
CN106060545A (zh) * 2010-09-30 2016-10-26 夏普株式会社 视频编码和解码中上下文初始化的方法和系统
CN106060549A (zh) * 2010-09-30 2016-10-26 夏普株式会社 视频编码和解码中上下文初始化的方法和系统
CN105959014A (zh) * 2010-09-30 2016-09-21 夏普株式会社 视频编码和解码中上下文初始化的方法和系统
JP2017073805A (ja) * 2010-09-30 2017-04-13 シャープ株式会社 動画像復号装置、動画像復号方法、動画像符号化装置および動画像符号化方法
CN106060549B (zh) * 2010-09-30 2019-07-12 夏普株式会社 视频编码和解码中上下文初始化的方法和系统
JP2016167854A (ja) * 2010-09-30 2016-09-15 シャープ株式会社 コンテキストの初期化方法および復号方法
JP2015149766A (ja) * 2010-09-30 2015-08-20 シャープ株式会社 コンテキストの初期化方法および復号方法
JP2014158303A (ja) * 2010-10-01 2014-08-28 Sharp Corp 動画像フレームを復号する復号方法
US11736723B2 (en) 2011-03-07 2023-08-22 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
US11343535B2 (en) 2011-03-07 2022-05-24 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
JP2017208846A (ja) * 2011-03-10 2017-11-24 シャープ株式会社 復号方法、復号装置、符号化方法及び符号化装置。
US10148962B2 (en) 2011-06-16 2018-12-04 Ge Video Compression, Llc Entropy coding of motion vector differences
US11012695B2 (en) 2011-06-16 2021-05-18 Ge Video Compression, Llc Context initialization in entropy coding
US9762913B2 (en) 2011-06-16 2017-09-12 Ge Video Compression, Llc Context initialization in entropy coding
US9768804B1 (en) 2011-06-16 2017-09-19 Ge Video Compression, Llc Context initialization in entropy coding
US9729883B2 (en) 2011-06-16 2017-08-08 Ge Video Compression, Llc Entropy coding of motion vector differences
US9918090B2 (en) 2011-06-16 2018-03-13 Ge Video Compression, Llc Entropy coding supporting mode switching
US9918104B2 (en) 2011-06-16 2018-03-13 Ge Video Compression, Llc Entropy coding of motion vector differences
US9930371B2 (en) 2011-06-16 2018-03-27 Ge Video Compression, Llc Entropy coding of motion vector differences
US9930370B2 (en) 2011-06-16 2018-03-27 Ge Video Compression, Llc Entropy coding of motion vector differences
US9936227B2 (en) 2011-06-16 2018-04-03 Ge Video Compression, Llc Entropy coding of motion vector differences
US9973761B2 (en) 2011-06-16 2018-05-15 Ge Video Compression, Llc Context initialization in entropy coding
US9686568B2 (en) 2011-06-16 2017-06-20 Ge Video Compression, Llc Context initialization in entropy coding
US12069267B2 (en) 2011-06-16 2024-08-20 Ge Video Compression, Llc Context initialization in entropy coding
US10021393B2 (en) 2011-06-16 2018-07-10 Ge Video Compression, Llc Entropy coding of motion vector differences
US10057603B2 (en) 2011-06-16 2018-08-21 Ge Video Compression, Llc Entropy coding supporting mode switching
US10063858B2 (en) 2011-06-16 2018-08-28 Ge Video Compression, Llc Entropy coding of motion vector differences
JP2018186527A (ja) * 2011-06-16 2018-11-22 ジーイー ビデオ コンプレッション エルエルシー エントロピー符号化におけるコンテキスト初期化
US9455744B2 (en) 2011-06-16 2016-09-27 Ge Video Compression, Llc Context initialization in entropy coding
US10230954B2 (en) 2011-06-16 2019-03-12 Ge Video Compression, Llp Entropy coding of motion vector differences
US10298964B2 (en) 2011-06-16 2019-05-21 Ge Video Compression, Llc Entropy coding of motion vector differences
US10306232B2 (en) 2011-06-16 2019-05-28 Ge Video Compression, Llc Entropy coding of motion vector differences
US10313672B2 (en) 2011-06-16 2019-06-04 Ge Video Compression, Llc Entropy coding supporting mode switching
US9628827B2 (en) 2011-06-16 2017-04-18 Ge Video Compression, Llc Context initialization in entropy coding
US9596475B2 (en) 2011-06-16 2017-03-14 Ge Video Compression, Llc Entropy coding of motion vector differences
US11838511B2 (en) 2011-06-16 2023-12-05 Ge Video Compression, Llc Entropy coding supporting mode switching
US10425644B2 (en) 2011-06-16 2019-09-24 Ge Video Compression, Llc Entropy coding of motion vector differences
US10432939B2 (en) 2011-06-16 2019-10-01 Ge Video Compression, Llc Entropy coding supporting mode switching
US10432940B2 (en) 2011-06-16 2019-10-01 Ge Video Compression, Llc Entropy coding of motion vector differences
US10440364B2 (en) 2011-06-16 2019-10-08 Ge Video Compression, Llc Context initialization in entropy coding
JP2014520451A (ja) * 2011-06-16 2014-08-21 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン エントロピー符号化におけるコンテキスト初期化
US10630988B2 (en) 2011-06-16 2020-04-21 Ge Video Compression, Llc Entropy coding of motion vector differences
US10630987B2 (en) 2011-06-16 2020-04-21 Ge Video Compression, Llc Entropy coding supporting mode switching
US10645388B2 (en) 2011-06-16 2020-05-05 Ge Video Compression, Llc Context initialization in entropy coding
US10819982B2 (en) 2011-06-16 2020-10-27 Ge Video Compression, Llc Entropy coding supporting mode switching
US9743090B2 (en) 2011-06-16 2017-08-22 Ge Video Compression, Llc Entropy coding of motion vector differences
JP2021108479A (ja) * 2011-06-16 2021-07-29 ジーイー ビデオ コンプレッション エルエルシー エントロピー符号化におけるコンテキスト初期化
US11277614B2 (en) 2011-06-16 2022-03-15 Ge Video Compression, Llc Entropy coding supporting mode switching
JP2016174378A (ja) * 2011-06-16 2016-09-29 ジーイー ビデオ コンプレッション エルエルシー エントロピー符号化におけるコンテキスト初期化
JP7100836B2 (ja) 2011-06-16 2022-07-14 ジーイー ビデオ コンプレッション エルエルシー エントロピー符号化におけるコンテキスト初期化
US11533485B2 (en) 2011-06-16 2022-12-20 Ge Video Compression, Llc Entropy coding of motion vector differences
US11516474B2 (en) 2011-06-16 2022-11-29 Ge Video Compression, Llc Context initialization in entropy coding
JP2014520470A (ja) * 2011-06-24 2014-08-21 オランジュ 画像を符号化して復号化する方法、符号化して復号化する装置、および対応するコンピュータプログラム
JP2016226003A (ja) * 2011-06-30 2016-12-28 シャープ株式会社 デコーダピクチャバッファに基づくコンテキスト初期化
US10412417B2 (en) 2011-07-07 2019-09-10 Sony Corporation Image processing device and method capable of performing an encoding process or a decoding process on an image at high speed
JPWO2013005659A1 (ja) * 2011-07-07 2015-02-23 ソニー株式会社 画像処理装置および方法
JP2013165506A (ja) * 2013-04-18 2013-08-22 Panasonic Corp 画像符号化装置

Also Published As

Publication number Publication date
JP4241417B2 (ja) 2009-03-18

Similar Documents

Publication Publication Date Title
JP4241417B2 (ja) 算術復号化装置、および算術復号化プログラム
US6894628B2 (en) Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables
US7365660B2 (en) Method and device for decoding syntax element in CABAC decoder
JP4313771B2 (ja) 画像および/またはビデオ符号器と復号器における変換係数を符号化するための方法と装置および対応するコンピュータプログラムと対応するコンピュータによる読み出し可能な記憶媒体
US9397694B2 (en) Methods and devices for coding and decoding the position of the last significant coefficient
US8102911B2 (en) Picture coding device
US8666179B2 (en) Image encoding apparatus and decoding apparatus
US8436755B2 (en) Methods and devices for reducing sources in binary entropy coding and decoding
KR100717055B1 (ko) Cabac 복호기에서 복수의 이진 값들을 파이프라인방식에 의하여 복호화하는 방법 및 이를 위한 복호화 장치
US20120314760A1 (en) Method and system to reduce modelling overhead for data compression
JP2014518473A (ja) エントロピー符号化をサポートするモード切替
JP4438663B2 (ja) 算術符号化装置及び算術符号化方法
JP5264706B2 (ja) 算術デコーディング方法及びデバイス
CA2799763A1 (en) Methods and devices for data compression using context-based coding order
JP6476900B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
JP2009534886A5 (ja)
US20100040136A1 (en) Method for performing binarization using a lookup table
JP5961189B2 (ja) 算術符号化及び終了のための方法及び装置
KR20060038189A (ko) 컨텍스트 기반 적응형 이진 산술 복부호화 방법 및 장치
JP2012531776A (ja) 算術符号化及び復号化方法
US20050232362A1 (en) High-speed image compression apparatus using last non-zero detection circuit
JP2010130522A (ja) 動画像符号化装置及び動画像符号化方法
US8970405B2 (en) Method and apparatus for entropy decoding
US7663514B2 (en) Encoding processing apparatus and decoding processing apparatus
TW202218431A (zh) 對一序列資訊值進行算術編碼之算術編碼器與進行算數解碼之算數解碼器及用以算術編碼與解碼一序列資訊值之方法及實行該等方法之電腦程式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060630

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081205

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: 20081209

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: 20081222

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

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4241417

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20130109

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130109

Year of fee payment: 4

EXPY Cancellation because of completion of term