(57)【特許請求の範囲】
【請求項１】
多値信号を２値化するための２値化部と、
前記２値化部で生成された２値シンボルを算術符号化するための算術符号化部と、
コンテキスト番号を生成するためのコンテキスト計算部と、
前記２値化部で生成された２値シンボルに基づいて、優勢シンボル或いは劣勢シンボルが示すシンボル値とシンボル出現確率とを更新するための更新部と、
前記コンテキスト計算部で計算されたコンテキスト番号をインデックスとして、前記シンボル値と前記シンボル出現確率とを格納するための確率状態格納部と、
を備える算術符号化装置であって、
前記算術符号化部は、
劣勢シンボルの区間を発生確率に基づいて分割した領域ｒＬＰＳの予測値を格納する第１格納部と、
同じくｒＬＰＳの予測値を格納する、前記第１格納部とは別個の第２格納部と、
前記第１格納部及び第２格納部に格納されたｒＬＰＳの予測値を参照して算術符号化を行う演算部と、
を備えてなることを特徴とする算術符号化装置。
【請求項２】
多値信号を２値化するための２値化部と、
前記２値化部で生成された２値シンボルを算術符号化するための算術符号化部と、
コンテキスト番号を生成するためのコンテキスト計算部と、
前記２値化部で生成された２値シンボルに基づいて、優勢シンボル或いは劣勢シンボルが示すシンボル値とシンボル出現確率とを更新するための更新部と、
前記コンテキスト計算部で計算されたコンテキスト番号をインデックスとして、前記シンボル値と前記シンボル出現確率とを格納するための確率状態格納部と、
を備える算術符号化装置であって、
前記算術符号化部は、
優勢シンボル処理時の優勢シンボル処理連続数、初期の区間、シンボル出現確率に基づいて決定される更新区間の予測値を格納する更新区間格納部と、
優勢シンボル処理時の優勢シンボル処理連続数、及び初期のシンボル出現確率に基づいて決定されるシンボル出現確率の予測値を格納するためのコンテキスト更新テーブルと、
再正規化の回数に基づいて、更新区間の補集合であるｌｏｗを更新する再正規化テーブルを有する再正規化部と、
を備えることを特徴とする算術符号化装置。
【請求項３】
多値信号を２値化するための２値化部と、
前記２値化部で生成された２値シンボルを算術符号化するための算術符号化部と、
コンテキスト番号を生成するためのコンテキスト計算部と、
前記２値化部で生成された２値シンボルに基づいて、優勢シンボル或いは劣勢シンボルが示すシンボル値とシンボル出現確率とを更新するための更新部と、
前記コンテキスト計算部で計算されたコンテキスト番号をインデックスとして、前記シンボル値と前記シンボル出現確率とを格納するための確率状態格納部と、
を備える算術符号化装置であって、
前記算術符号化部は、
優勢シンボル処理時の優勢シンボル処理連続数、初期の区間、シンボル出現確率に基づいて決定される更新区間の予測値を格納する第１更新区間格納部と、
同じく更新区間の予測値を格納する、前記第１更新区間格納部と別個の第２更新区間格納部と、
優勢シンボル処理時の優勢シンボル処理連続数、及び初期のシンボル出現確率に基づいて決定されるシンボル出現確率の予測値を格納するための第１コンテキスト更新テーブルと、
優勢シンボル処理時の優勢シンボル処理連続数、及び前記第１コンテキスト更新テーブルで更新されたシンボル出現確率に基づいて決定されるシンボル出現確率の予測値を格納するための、前記第１コンテキスト更新テーブルと別個の第２コンテキスト更新テーブルと、
再正規化の回数に基づいて、更新区間の補集合であるｌｏｗを更新する再正規化テーブルを有する再正規化部と、
を備えることを特徴とする算術符号化装置。
【請求項４】
多値信号を２値化するための２値化部と、
前記２値化部で生成された２値シンボルを算術符号化するための算術符号化部と、
コンテキスト番号を生成するためのコンテキスト計算部と、
前記２値化部で生成された２値シンボルに基づいて、優勢シンボル或いは劣勢シンボルが示すシンボル値とシンボル出現確率とを更新するための更新部と、
前記コンテキスト計算部で計算されたコンテキスト番号をインデックスとして、前記シンボル値と前記シンボル出現確率とを格納するための確率状態格納部と、
を備える算術符号化装置であって、
前記算術符号化部が、
劣勢シンボルの区間を発生確率に基づいて分割した領域ｒＬＰＳの予測値を格納する第１格納部と、
同じくｒＬＰＳの予測値を格納する、前記第１格納部とは別個の第２格納部と、
前記第１格納部及び第２格納部に格納されたｒＬＰＳの予測値を参照して算術符号化を行う演算部と、
を備える２サイクル予測部と、
優勢シンボル処理時の優勢シンボル処理連続数、初期の区間、シンボル出現確率に基づいて決定される更新区間の予測値を格納する更新区間格納部と、
優勢シンボル処理時の優勢シンボル処理連続数、及び初期のシンボル出現確率に基づいて決定されるシンボル出現確率の予測値を格納するためのコンテキスト更新テーブルと、
再正規化の回数に基づいて、更新区間の補集合であるｌｏｗを更新する再正規化テーブルを有する再正規化部と、
を備える連続優勢シンボル処理予測部と
前記２サイクル予測部と連続優勢シンボル処理予測部のいずれかを切り替える予測手法切替部と、
を備えることを特徴とする算術符号化装置。
【請求項５】
２値シンボルの算術符号化にあたり、出現確率の高いシンボルである優勢シンボルと出現確率の低いシンボルである劣勢シンボルとを、前シンボルまでの数線上の区間及び劣勢シンボルの数線上の区間の座標値に基づいて、数線上の所定の区間に対応させ、
その数線上の区間対応結果と入力される２値シンボルから符号化信号を出力する算術符号化方法であって、
符号化対象のシンボルが優勢シンボルである場合の優勢シンボル処理時の区間座標値、及び劣勢シンボルである場合の劣勢シンボル処理時の区間座標値を予め記録した第１ｒＬＰＳテーブルを参照して、第１シンボルの区間を更新した分割領域を求める工程と、
得られた分割領域と、第１ｒＬＰＳテーブルと別個の第２ｒＬＰＳテーブルを参照して、第１シンボルに続く第２シンボルの区間を更新した分割領域を求める工程と、
必要に応じて再正規化を行い、出力符号を出力する工程と、
コンテキスト番号を更新する工程と、
を含むことを特徴とする算術符号化方法。
【請求項６】
２値シンボルの算術符号化にあたり、出現確率の高いシンボルである優勢シンボルと出現確率の低いシンボルである劣勢シンボルとを、前シンボルまでの数線上の区間及び劣勢シンボルの数線上の区間の座標値に基づいて、数線上の所定の区間に対応させ、
その数線上の区間対応結果と入力される２値シンボルから符号化信号を出力する算術符号化方法であって、
２値シンボルの優勢シンボルが連続する場合に、優勢シンボルの連続数とコンテキスト番号に基づいて、更新区間格納部を参照して更新区間の予測値を求める工程と、
コンテキスト番号を格納するコンテキスト更新テーブルを用いて更新する工程と、
を含むことを特徴とする算術符号化方法。
【請求項７】
２値シンボルの算術符号化にあたり、出現確率の高いシンボルである優勢シンボルと出現確率の低いシンボルである劣勢シンボルとを、前シンボルまでの数線上の区間及び劣勢シンボルの数線上の区間の座標値に基づいて、数線上の所定の区間に対応させ、
その数線上の区間対応結果と入力される２値シンボルから符号化信号を出力する算術符号プログラムであって、
符号化対象のシンボルが優勢シンボルである場合の優勢シンボル処理時の区間座標値、及び劣勢シンボルである場合の劣勢シンボル処理時の区間座標値を予め記録した第１ｒＬＰＳテーブルを参照して、第１シンボルの区間を更新した分割領域を求める機能と、
得られた分割領域と、第１ｒＬＰＳテーブルと別個の第２ｒＬＰＳテーブルを参照して、第１シンボルに続く第２シンボルの区間を更新した分割領域を求める機能と、
必要に応じて再正規化を行い、出力符号を出力する機能と、
コンテキスト番号を更新する機能と、
をコンピュータに実現させることを特徴とする算術符号化プログラム。
【請求項８】
２値シンボルの算術符号化にあたり、出現確率の高いシンボルである優勢シンボルと出現確率の低いシンボルである劣勢シンボルとを、前シンボルまでの数線上の区間及び劣勢シンボルの数線上の区間の座標値に基づいて、数線上の所定の区間に対応させ、
その数線上の区間対応結果と入力される２値シンボルから符号化信号を出力する算術符号化プログラムであって、
２値シンボルの優勢シンボルが連続する場合に、優勢シンボルの連続数とコンテキスト番号に基づいて、更新区間格納部を参照して更新区間の予測値を求める機能と、
コンテキスト番号を格納するコンテキスト更新テーブルを用いて更新する機能と、
をコンピュータに実現させることを特徴とする算術符号化プログラム。
【請求項９】
請求項７又は８に記載されるプログラムを格納したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化・復号に用いられる算術符号化技術に関するものであり、特に、動画像符号化規格であるＨ．２６４／ＡＶＣにおけるＣＡＢＡＣ（Context-based Adaptive Binary Arithmetic Coding：コンテキスト準拠適応２進算術符号化）に準拠した算術符号化装置、算術符号化方法、算術符号化プログラム及びプログラムを格納したコンピュータで読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
近年、ＤＶＤや地上デジタルハイビジョン等の高画質動画像の普及が急速に進んでおり、動画像の高ビットレート、高解像度によって情報量が飛躍的に増加し、効率のよい動画像データの圧縮が必須となっている。デジタル動画像圧縮の主な構成技術は、予測符号化、動き処理、変換符号化、量子化、符号割当の５つがある。この内、符号割当は、量子化レベルなどに「０」、「１」の符号を効率よく割り当て、冗長な符号の削減をする。符号割当には可変長符号化、適応符号化、固定長符号化等が知られている。可変長符号化（ＶＬＣ：Variable Length Cording）はハフマン符号化、ランレングス符号化、算術符号化、適応ビット割当等に区分される。この内、算術符号化は、シンボルの出現確率に応じて符号化テーブルを作成し符号割当を行うものである。【０００３】
算術符号化は、画像データの特徴に応じた最適な符号割当ができるため、固定した符号化テーブルを使用するハフマン符号化などに比べて符号化効率が優れている。しかしながら算術符号化は、シンボルの出現確率を計算しながら符号化テーブルを作成し符号割当をする動的な方式のため、一般的にハフマン符号化と比較して多大な計算処理を必要とするという問題がある。【０００４】
一方、ＩＴＵ−Ｔ（International Telecommunication Union - Telecommunication Standardization Sector）では、動画像符号化・復号技術としてＨ．２６４の規格策定を行っている（非特許文献１参照）。特許文献１には、ＩＴＵ−Ｔ規格Ｈ．２６４による算術符号化・復号の処理プロセスの具体的な実現方法の実例が開示される。図２６は、Ｈ．２６４／ＡＶＣによる算術符号化・復号の処理プロセスのフローチャートである。同図は、非特許文献１のＦｉｇ．９−１を、機能を中心に再編集したものである。図２６を用いて、算術符号化・復号の流れを以下に説明する。【０００５】
あるシンタックス要素（Syntax Element：ＳＥ）について、符号化又は復号が開始されると、ステップ１において、そのシンタックス要素に対して、コンテキスト計算が行われる。コンテキスト計算では、コンテキストに対応するコンテキスト番号が求められ、コンテキスト番号によりシンボル値と確率状態が求められる。シンボル値は、一部の例外はあるものの、多くは対応表を参照することによって求められる。確率状態は、後述のステップ３で格納されている値を参照して求められる。求められたシンボル値と確率状態は、算術符号化・復号プロセスに与えられ、ステップ２に進む。【０００６】
ステップ２においては、ステップ１より受け取ったシンボル値と確率状態を用いて、当該シンタックスの算術符号化又は復号を行い、結果を出力信号として出力する。同時に、符号化又は復号したシンボルの情報を、シンボル出現確率制御プロセスに出力し、ステップ３に進む。【０００７】
ステップ３においては、符号化または復号したシンボルの情報を受けて、次の処理で用いるシンボル値と確率状態の更新値を求め、確率状態として格納しておく。【０００８】
ステップ４において、当該シンタックス要素の符号化又は復号が完了したかどうかを判定し、完了してない場合には、ステップ１に戻り、符号化又は復号が完了するまで同様のプロセスを繰り返す。当該シンタックス要素の符号化又は復号が完了すると、次のシンタックス要素について符号化又は復号を行う。【０００９】
図２７に、Ｈ．２６４／ＡＶＣの算術符号化の処理プロセスを具現化した算術符号化装置のブロック図を示す。この算術符号化装置７００は、適応算術符号化・復号部７１０、コンテキスト計算部７２０、及び符号化・復号制御部７３０を備え、適応算術符号化・復号部７１０は、算術符号化・復号部７１１、シンボル出現確率制御部７１２、及び確率状態格納部７１３を有する。コンテキスト計算部７２０は、入力信号（Ｓｉｎ）Ｓ１１のシンタックス要素（ＳＥ）の種別と既符号化ビット数又は復号ビット数より、コンテキスト番号を生成する（図２６のステップ１の処理に相当する）。【００１０】
この算術符号化装置７００では、各処理ステップは、その前のステップでの処理結果を受けて、そのステップでの処理を開始する必要があるため、その動作は、シーケンシャルな処理となり、一つのシンタックス要素が処理される時間は、各処理ステップの和となる。すなわち、例えば、シンタックス要素０の処理に必要な区間Ｓ０は、処理５１と処理５２と処理５３と処理５４とのそれぞれに費やされる時間の和となる。【００１１】
符号化又は復号の時間当たりの処理符号量（即ちシンタックス要素数）が多い場合、符号化又は復号の処理時間を短縮することは、必須の要件となる。本検討例の算術符号化・復号装置４０では、各ステップは、シーケンシャルな処理を行っているため、全体の処理時間の短縮のためには、各ステップの処理時間を短縮しなければならず、現状の技術レベルでは、高速化には限界がある。【００１２】
これに対して、特許文献１には、算術符号化処理を高速化した算術符号化装置が開示される。この算術符号化装置８００は、図２８のブロック図に示すように適応算術符号化部８１０、コンテキスト計算部８２０、及び符号化制御部８３０を備える。コンテキスト計算部８２０は、レジスタ８２１と比較判定部８２２とを有する。適応算術符号化部８１０は、算術符号化部８１１とシンボル出現確率制御部８１４と確率状態格納部８１５とを有する。これによれば、ある入力信号が算術符号化部８１１で符号化される間に、コンテキスト計算部８２０は、次の入力信号についてコンテキストを求めることができるので、算術符号化部８１１は、ある入力信号を符号化後、直ちに次の入力信号の符号化処理を行える。従って、符号化処理の高速化が可能となる。【００１３】
さらに、ある信号が算術符号化部８１１で符号化される間に、シンボル出現確率制御部８１４は、算術符号化部８１１による符号化シンボルが、優勢シンボルである場合と劣勢シンボルである場合とについて、それぞれのシンボル値と確率状態の更新値を求めておき、符号化シンボルが確定した後に、一方の更新値を選択する。この結果、算術符号化部８１１は、次の符号の符号化において、必要なシンボル値と確率状態を得て、直ちに符号化処理と確率状態記録部８１５への書込み処理を行えるため、算術符号化処理の更なる高速化が可能となる。
【特許文献１】特開２００５−１３００９９号公報
【非特許文献１】Joint Video Team(JVT) of ISO/IEC MPEG & ITU-TVCEG; "DraftI TU-T Recommendation and Final Draft International Standard of Joint Video Specification (ITU-T Rec. H.264|ISO/IEC 14496-10 MPEG-AVC)."
【非特許文献２】Hassan Shojania and Subramania Sudharsanan, "A VLSI Architecture for High Performance CABAC Encoding." Visual Communications and Image Processing 2005, Proc. of SPIE Vol. 5960, pp.1444.
【非特許文献３】大久保榮他「改訂版  Ｈ．２６４／ＡＶＣ教科書」インプレス
【非特許文献４】「技術分野別特許マップ  電気１４  デジタル動画像圧縮技術」特許庁
【非特許文献５】Roberto R. Osorio, Javier D. Bruguera, "High-Throughput Architecture for H.264/AVC CABAC Compression System" IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 16, NO. 11, NOVEMBER 2006.
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながらこの方法でも、１サイクルで１ビットの符号化を実現するものでなく、高速化対策としては十分ではない。一方、非特許文献２では１サイクルで１バイナリシンボルを処理可能な高速化手法が提案されているが、この手法でも十分でなく１サイクルで複数の処理を行うには至っておらず、十分な高速処理が実現できるとは言い難い。【００１５】
Ｈ．２６４／ＡＶＣの符号化処理処理においては、エントロピー符号化である可変長符号化（ＶＬＣ）が採用されている。ＶＬＣは、実際にＨ．２６４／ＡＶＣのビットストリームを生成しているモジュールである。この符号化方式としてＣＡＢＡＣとＣＡＶＬＣがある。ＣＡＶＬＣ（Context-Adaptive Variable Length Coding：コンテキスト適応型可変長符号化方式）は、量子化されたＤＣＴ係数値の符号化にのみ用いられる。一方ＣＡＢＡＣ（Context Adaptive Binary Arithmetic Coding：コンテキスト適応型２値算術符号化方式）は、算術符号化を用いたエントロピー符号化方式であり、ＣＡＶＬＣと比較して符号化効率が高いという利点を有する。【００１６】
しかしながら、ＣＡＢＡＣ処理は高い符号化効率を得ることができる反面、処理時間が長いという問題がある。特に高解像度アプリケーションにおいて、リアルタイムに符号化を行うには、処理に極めて高い動作周波数を要する。既存のＭＰＵやＣＰＵでは、計算上数ＧＨｚもの動作周波数が要求されることとなって、ハイビジョン放送などのメディアに対応できないという問題があった。このため、ＣＡＢＡＣ処理を高速に行うための構成が切望されているものの、上述の通り従来の手法では未だ不十分であった。【００１７】
本発明は、このような問題点を解消するためになされたものである。本発明の主な目的は、Ｈ．２６４／ＡＶＣにおけるＣＡＢＡＣの処理の演算量を削減し、実装を容易にした算術符号化装置、算術符号化方法、算術符号化プログラム及びプログラムを格納したコンピュータで読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【００１８】
上記の目的を達成するために、本発明の第１の算術符号化装置は、多値信号を２値化するための２値化部と、２値化部で生成された２値シンボルを算術符号化するための算術符号化部と、コンテキスト番号を生成するためのコンテキスト計算部と、２値化部で生成された２値シンボルに基づいて、優勢シンボル或いは劣勢シンボルが示すシンボル値とシンボル出現確率とを更新するための更新部と、コンテキスト計算部で計算されたコンテキスト番号をインデックスとして、シンボル値とシンボル出現確率とを格納するための確率状態格納部とを備える算術符号化装置であって、算術符号化部は、劣勢シンボルの区間を発生確率に基づいて分割した領域ｒＬＰＳの予測値を格納する第１格納部と、同じくｒＬＰＳの予測値を格納する、第１格納部とは別個の第２格納部と、第１格納部及び第２格納部に格納されたｒＬＰＳの予測値を参照して算術符号化を行う演算部とを備える。これにより、１サイクル中に２ビット以上の処理が可能な高速な算術符号化を実現できる。【００１９】
さらに第２の算術符号化装置は、多値信号を２値化するための２値化部と、２値化部で生成された２値シンボルを算術符号化するための算術符号化部と、コンテキスト番号を生成するためのコンテキスト計算部と、２値化部で生成された２値シンボルに基づいて、優勢シンボル或いは劣勢シンボルが示すシンボル値とシンボル出現確率とを更新するための更新部と、コンテキスト計算部で計算されたコンテキスト番号をインデックスとして、シンボル値とシンボル出現確率とを格納するための確率状態格納部とを備える算術符号化装置であって、算術符号化部は、優勢シンボル処理時の優勢シンボル処理連続数、初期の区間、シンボル出現確率に基づいて決定される更新区間の予測値を格納する更新区間格納部と、優勢シンボル処理時の優勢シンボル処理連続数、及び初期のシンボル出現確率に基づいて決定されるシンボル出現確率の予測値を格納するためのコンテキスト更新テーブルと、再正規化の回数に基づいて、更新区間の補集合であるｌｏｗを更新する再正規化テーブルを有する再正規化部とを備える。これにより、連続して優勢シンボル処理が行われる場合の算術符号化処理を数サイクル削減でき、処理の低減と高速化が図られる。【００２０】
さらにまた第３の算術符号化装置は、多値信号を２値化するための２値化部と、２値化部で生成された２値シンボルを算術符号化するための算術符号化部と、コンテキスト番号を生成するためのコンテキスト計算部と、２値化部で生成された２値シンボルに基づいて、優勢シンボル或いは劣勢シンボルが示すシンボル値とシンボル出現確率とを更新するための更新部と、コンテキスト計算部で計算されたコンテキスト番号をインデックスとして、シンボル値とシンボル出現確率とを格納するための確率状態格納部とを備える算術符号化装置であって、算術符号化部は、優勢シンボル処理時の優勢シンボル処理連続数、初期の区間、シンボル出現確率に基づいて決定される更新区間の予測値を格納する第１更新区間格納部と、同じく更新区間の予測値を格納する、第１更新区間格納部と別個の第２更新区間格納部と、優勢シンボル処理時の優勢シンボル処理連続数、及び初期のシンボル出現確率に基づいて決定されるシンボル出現確率の予測値を格納するための第１コンテキスト更新テーブルと、優勢シンボル処理時の優勢シンボル処理連続数、及び前記第１コンテキスト更新テーブルが更新したシンボル出現確率に基づいて決定されるシンボル出現確率の予測値を格納するための、第１コンテキスト更新テーブルと別個の第２コンテキスト更新テーブルと、再正規化の回数に基づいて、更新区間の補集合であるｌｏｗを更新する再正規化テーブルを有する再正規化部とを備える。これにより、連続して優勢シンボル処理が行われる場合の算術符号化処理を、複数の異なるコンテキストが使用される場合でも削減できる。【００２１】
さらにまた第４の算術符号化装置は、多値信号を２値化するための２値化部と、２値化部で生成された２値シンボルを算術符号化するための算術符号化部と、コンテキスト番号を生成するためのコンテキスト計算部と、２値化部で生成された２値シンボルに基づいて、優勢シンボル或いは劣勢シンボルが示すシンボル値とシンボル出現確率とを更新するための更新部と、コンテキスト計算部で計算されたコンテキスト番号をインデックスとして、シンボル値とシンボル出現確率とを格納するための確率状態格納部とを備える算術符号化装置であって、算術符号化部が、劣勢シンボルの区間を発生確率に基づいて分割した領域ｒＬＰＳの予測値を格納する第１格納部と、同じくｒＬＰＳの予測値を格納する、第１格納部とは別個の第２格納部と、第１格納部及び第２格納部に格納されたｒＬＰＳの予測値を参照して算術符号化を行う演算部とを備える２サイクル予測部と、優勢シンボル処理時の優勢シンボル処理連続数、初期の区間、シンボル出現確率に基づいて決定される更新区間の予測値を格納する更新区間格納部と、優勢シンボル処理時の優勢シンボル処理連続数、及び初期のシンボル出現確率に基づいて決定されるシンボル出現確率の予測値を格納するためのコンテキスト更新テーブルと、再正規化の回数に基づいて、更新区間の補集合であるｌｏｗを更新する再正規化テーブルを有する再正規化部とを備える連続優勢シンボル処理予測部と、２サイクル予測部と連続優勢シンボル処理予測部のいずれかを切り替える予測手法切替部とを備える。これにより、２サイクル予測又は連続優勢シンボル処理予測を適宜切り替えて、サイクル数を効率よく削減して更に高速な算術符号化が実現できる。【００２２】
一方、算術符号化方法は、２値シンボルの算術符号化にあたり、出現確率の高いシンボルである優勢シンボルと出現確率の低いシンボルである劣勢シンボルとを、前シンボルまでの数線上の区間及び劣勢シンボルの数線上の区間の座標値に基づいて、数線上の所定の区間に対応させ、その数線上の区間対応結果と入力される２値シンボルから符号化信号を出力する算術符号化方法であって、符号化対象のシンボルが優勢シンボルである場合の優勢シンボル処理時の区間座標値、及び劣勢シンボルである場合の劣勢シンボル処理時の区間座標値を予め記録した第１ｒＬＰＳテーブルを参照して、第１シンボルの区間を更新した分割領域を求める工程と、得られた分割領域と、第１ｒＬＰＳテーブルと別個の第２ｒＬＰＳテーブルを参照して、第１シンボルに続く第２シンボルの区間を更新した分割領域を求める工程と、必要に応じて再正規化を行い、出力符号を出力する工程と、コンテキスト番号を更新する工程とを含む。これにより、１サイクル中に２ビット以上の処理が可能な高速な算術符号化を実現できる。【００２３】
また算術符号化方法は、２値シンボルの算術符号化にあたり、出現確率の高いシンボルである優勢シンボルと出現確率の低いシンボルである劣勢シンボルとを、前シンボルまでの数線上の区間及び劣勢シンボルの数線上の区間の座標値に基づいて、数線上の所定の区間に対応させ、その数線上の区間対応結果と入力される２値シンボルから符号化信号を出力する算術符号化方法であって、２値シンボルの優勢シンボルが連続する場合に、優勢シンボルの連続数とコンテキスト番号に基づいて、更新区間格納部を参照して更新区間の予測値を求める工程と、コンテキスト番号を格納するコンテキスト更新テーブルを用いて更新する工程とを含む。これにより、連続して優勢シンボル処理が行われる場合の算術符号化処理を数サイクル削減でき、処理の低減と高速化が図られる。【００２４】
さらに、算術符号化プログラムは、２値シンボルの算術符号化にあたり、出現確率の高いシンボルである優勢シンボルと出現確率の低いシンボルである劣勢シンボルとを、前シンボルまでの数線上の区間及び劣勢シンボルの数線上の区間の座標値に基づいて、数線上の所定の区間に対応させ、その数線上の区間対応結果と入力される２値シンボルから符号化信号を出力する算術符号プログラムであって、符号化対象のシンボルが優勢シンボルである場合の優勢シンボル処理時の区間座標値、及び劣勢シンボルである場合の劣勢シンボル処理時の区間座標値を予め記録した第１ｒＬＰＳテーブルを参照して、第１シンボルの区間を更新した分割領域を求める機能と、得られた分割領域と、第１ｒＬＰＳテーブルと別個の第２ｒＬＰＳテーブルを参照して、第１シンボルに続く第２シンボルの区間を更新した分割領域を求める機能と、必要に応じて再正規化を行い、出力符号を出力する機能と、コンテキスト番号を更新する機能とをコンピュータに実現させる。これにより、１サイクル中に２ビット以上の処理が可能な高速な算術符号化を実現できる。【００２５】
さらにまた算術符号化プログラムは、２値シンボルの算術符号化にあたり、出現確率の高いシンボルである優勢シンボルと出現確率の低いシンボルである劣勢シンボルとを、前シンボルまでの数線上の区間及び劣勢シンボルの数線上の区間の座標値に基づいて、数線上の所定の区間に対応させ、その数線上の区間対応結果と入力される２値シンボルから符号化信号を出力する算術符号化プログラムであって、２値シンボルの優勢シンボルが連続する場合に、優勢シンボルの連続数とコンテキスト番号に基づいて、更新区間格納部を参照して更新区間の予測値を求める機能と、コンテキスト番号を格納するコンテキスト更新テーブルを用いて更新する機能とをコンピュータに実現させる。これにより、連続して優勢シンボル処理が行われる場合の算術符号化処理を数サイクル削減でき、処理の低減と高速化が図られる。【００２６】
またコンピュータで読み取り可能な記録媒体は、上記プログラムを格納するものである。記録媒体には、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷやフレキシブルディスク、磁気テープ、ＭＯ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ＋Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、Ｂｌｕｅ−ｒａｙ（登録商標）、ＨＤ  ＤＶＤ（登録商標）（ＡＯＤ）等の磁気ディスク、光ディスク、光磁気ディスク、半導体メモリその他のプログラムを格納可能な媒体が含まれる。またプログラムには、上記記録媒体に格納されて配布されるものの他、インターネット等のネットワーク回線を通じてダウンロードによって配布される形態のものも含まれる。さらに記録媒体には、上記プログラムがソフトウェアやファームウェア等の形態で実行可能な状態に実装された汎用もしくは専用機器を含む。さらにまたプログラムに含まれる各処理や機能は、コンピュータで実行可能なプログラムソフトウエアにより実行してもよいし、各部の処理を所定のゲートアレイ（ＦＰＧＡ、ＡＳＩＣ）等のハードウエア、又はプログラム・ソフトウエアとハードウェアの一部の要素を実現する部分的ハードウエア・モジュールとが混在する形式で実現してもよい。
【発明の効果】
【００２７】
本発明の算術符号化装置、算術符号化方法、算術符号化プログラム及びプログラムを格納したコンピュータで読み取り可能な記録媒体によれば、Ｈ．２６４／ＡＶＣにおけるＣＡＢＡＣの処理のサイクル数を削減し、処理の低負荷化、高速化を図ることができる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の実施の形態を図面に基づいて説明する。ただし、以下に示す実施の形態は、本発明の技術思想を具体化するための算術符号化装置、算術符号化方法、算術符号化プログラム及びプログラムを格納したコンピュータで読み取り可能な記録媒体を例示するものであって、本発明は算術符号化装置、算術符号化方法、算術符号化プログラム及びプログラムを格納したコンピュータで読み取り可能な記録媒体を以下のものに特定しない。また、本明細書は請求の範囲に示される部材を、実施の形態の部材に特定するものでは決してない。特に実施の形態に記載されている構成部品の寸法、材質、形状、その相対的配置等は特に特定的な記載がない限りは、本発明の範囲をそれのみに限定する趣旨ではなく、単なる説明例にすぎない。なお、各図面が示す部材の大きさや位置関係等は、説明を明確にするため誇張していることがある。さらに以下の説明において、同一の名称、符号については同一もしくは同質の部材を示しており、詳細説明を適宜省略する。さらに、本発明を構成する各要素は、複数の要素を同一の部材で構成して一の部材で複数の要素を兼用する態様としてもよいし、逆に一の部材の機能を複数の部材で分担して実現することもできる。【００２９】
本明細書において算術符号化装置に接続される操作、制御、入出力、表示、その他の処理等のためのコンピュータ、プリンタ、外部記憶装置その他の周辺機器との接続は、例えばＩＥＥＥ１３９４、ＲＳ−２３２ｘ、ＲＳ−４２２、ＲＳ−４２３、ＲＳ−４８５、ＵＳＢ等のシリアル接続、パラレル接続、あるいは１０ＢＡＳＥ−Ｔ、１００ＢＡＳＥ−ＴＸ、１０００ＢＡＳＥ−Ｔ等のネットワークを介して電気的に接続して通信を行う。接続は有線を使った物理的な接続に限られず、ＩＥＥＥ８０２．１ｘ、ＯＦＤＭ方式等の無線ＬＡＮやＢｌｕｅｔｏｏｔｈ等の電波、赤外線、光通信等を利用した無線接続等でもよい。さらに検索対象のテキストや画像データの保存やデータベース構築、検索等に関する設定の保存等を行うための記録媒体には、メモリカードや磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等が利用できる。
（動画像符号化／復号装置）【００３０】
図１に、Ｈ．２６４／ＡＶＣの符号化処理処理により、画像データからビットストリームを得る動画像符号化／復号装置を構成するブロック図の一例を、図１に示す。この図に示す動画像符号化／復号装置１００は、メモリ管理を行うＤＭＡ１（Direct Memory Access）と、動き探索部２（ＭＥ）と、デブロッキングフィルタ３（ＤＦ：Deblocking Filter）と、動き補償部４（ＭＣ）と、変換部５と、量子化部６と、逆量子化部７と、逆変換部８と、全体制御部９と、可変長符号化部（ＶＬＣ：Variable Length Coder）である算術符号化／復号装置１０と、可変長復号化部１１（ＶＬＤ：Variable Length Decoder）とを備える。算術符号化／復号装置１０は、算術符号化技術としてＣＡＢＡＣやＣＡＶＬＣを行う。動画像符号化／復号装置１００は、ハードウェアで構成する他、プロセッサでソフトウェア的に処理することも可能である。この場合は、コンピュータにインストールされた算術符号化プログラムにて、算術符号化を行う。なおコンピュータには、汎用のパーソナルコンピュータやワークステーションの他、携帯電話やスマートフォン、ＰＤＡ、通信機能付カーナビゲーションやデータ通信可能な固定電話等の、動画像を表示可能な機器が適宜利用できる。【００３１】
動画像符号化／復号装置１００では、まず符号化処理を行う動画像が入力され、動き探索部２において動き検出処理を行う。この処理で求められた動きベクトルを用い、動き補償部４、変換部５、量子化部６において、動き補償処理、変換処理、量子化処理を行う。量子化処理を行ったブロック係数、および符号化に使用するすべての情報が算術符号化／復号装置１０に集められ、ビットストリームを作成する。次のフレームの符号に用いる参照フレームを作成するため、逆符号化部７、逆変換部８、動き補償部４を用いて、その逆処理を行い、参照フレームを作成し、フレームメモリＦＭに保管する。フレームメモリＦＭに保管する前に、デブロッキングフィルタ３を用いれば、ブロックノイズを軽減する効果が得られる。【００３２】
この動画像符号化／復号装置１００では、符号化以外に復号処理も可能となる。その処理手順は、まず入力されるビットストリームを復号処理を行う可変長復号化部１１より解析し、ビットストリームにある画像情報を復号し、参照フレーム生成手順と同じく逆量子化部７、逆変換部８、動き補償部４を用いて画像フレームを復元し、フレームメモリＦＭに保管する。このように、算術符号化技術には、符号化されたデータの復号も含まれる。本明細書においては、算術符号化装置、方法、プログラム等は、算術符号化のみならず、復号を行う装置、方法、プログラムも含むものとして説明する。
（算術符号化方式）【００３３】
本実施の形態では、Ｈ．２６４／ＡＶＣにおけるＣＡＢＡＣ処理の高速化を図る。ＣＡＢＡＣは算術符号化方式である。基本的な算術符号化であるエリアス符号化・復号化の概念を、図２に示す。算術符号化では、一般に下限値０以上、上限値１未満の実数直線を考える。この区間を初期のｒａｎｇｅとする。算術符号化においては、優勢シンボル（Most Possible Symbol：ＭＰＳ）、劣勢シンボル（Least Possible Symbol：ＬＰＳ）の発生確率に基づいて実数直線を分割する。分割した領域をそれぞれｒＭＰＳ、ｒＬＰＳとする。その後、符号化出力対象となるシンボルが属する領域を選択する。ここでは仮にｒＭＰＳを選択したとする。その後、選択したｒＭＰＳを次のｒａｎｇｅとし、このｒａｎｇｅに対して同様にｒＭＰＳ、ｒＬＰＳに分割し、符号化出力対象となる領域を選択する。この動作を符号化出力対象が無くなるまで繰り返し、最終的に特定された領域であるｒａｎｇｅの範囲内に収まる値を出力値ｖａｌｕｅとして出力することで符号化が完了する。通常はｒａｎｇｅの下限値を出力値ｖａｌｕｅとして出力する。このような基本的な算術符号化は、区間のｒａｎｇｅや入力値であるｖａｌｕｅが実数値であり、演算精度の問題から現実的ではない。そこで実数直線を有限のビット幅を持つ整数区間とし、特定した区間の幅であるｒａｎｇｅと特定した区間の下限値であるｖａｌｕｅに対して正規化処理を導入することで問題を解決している。正規化処理は、左シフト演算により行われ、この正規化処理によって、ｒａｎｇｅとｖａｌｕｅの演算精度を確保している。ＣＡＢＡＣでは、複数のコンテキスト変数情報を利用して符号化効率の向上を図っている。【００３４】
次に算術符号化（ＡＣ：Arithmetic Coding）を行う手順を、図３に基づいて説明する。ＣＡＢＡＣにおいて用いられる２値算術符号化の場合、与えられた２値シンボルの発生確率に基づいて、入力信号に応じて実数０．０から１．０の間で区間を逐次分割していく。ここで、入力信号０００１０とすると、”０”の発生確率が０．８、”１”の発生確率が０．２となる。このため、入力信号の内”０”が符号化されると、前の区間の下０．８の部分が、新しい区間として更新される。一方、”１”が符号化されると、前の区間の上０．２が新しい区間として更新される。【００３５】
図３の最初のステップ１では”０”を符号化する。この結果、初期区間の０．０−１．０の下側０．８の部分（０．０〜０．８）が新しい区間として更新される。【００３６】
次にステップ２で”０”を符号化する。この結果、現在の区間（０．０〜０．８）の下側で０．８×０．８＝０．６４の部分（０．０〜０．６４）が更新された区間となる。【００３７】
同様にステップ３で”０”を符号化する。この結果、現在の区間（０．０〜０．６４）のさらに下側で０．６４×０．８＝０．５１２の部分（０．０〜０．５１２）が更新区間となる。【００３８】
次にステップ４では”１”を符号化する。この結果、現在の区間（０．０〜０．５１２）の上側で、０．５１２×０．２＝０．１０２４の部分、すなわち（（０．５１２−０．１０２４＝０．４０９６）〜０．５１２）＝（０．４０９６〜０．５１２）が更新区間となる。【００３９】
そしてステップ５で再び”０”を符号化する。この結果、現在の区間（０．４０９６〜０．５１２）の下側で０．１０２４×０．８＝０．０８１９２の部分（０．４０９６〜（０．４０９６＋０．０８１９２））＝（０．４０９６〜０．４９１５２）が更新区間となる。【００４０】
最後に、ステップ６で符号を決定する。算術符号の符号語は、最終区間を特定する実数値の２進表現となる。この例では、最終の更新区間が（０．４０９６〜０．４９１５２）となるので、その間に含まれる実数の中で最も２進表現が短くなる０．４３７５をとることができる。０．４３７５の２進表現は０．０１１１になるので、常に０となる最初の桁を除いた、小数点以下の”０１１１”が符号語として出力される。
（算術符号化装置のブロック図）【００４１】
次に、ＣＡＢＡＣ処理を行う算術符号化装置の例を、図４に示す。この図に示すように算術符号化装置１０Ａは、多値信号を２値シンボルに変換する２値化部１２と、符号化すべき２値シンボルの発生確率を周囲の状況すなわちコンテキストに応じて計算・更新するためのコンテキスト計算部１４と、これら２値シンボルと２値シンボル発生確率に基づいて算術符号化を行う２値算術符号化部１６で構成されている。【００４２】
２値算術符号化部１６の詳細を図５に示す。この図に示すように、２値算術符号化部１６はｒＬＰＳテーブル２０と、コンテキスト変更テーブル３０と、演算部４０と、再正規化部５０とを有する。
（再正規化）【００４３】
ＣＡＢＡＣ内部の２値算術符号化部も、算術符号化にあたっては上記と同様の動作を行う。ただ、実際に区間区間を保持する記憶素子であるレジスタの桁数が有限であるため、出力すべき区間の上位ビットが確定した段階で適時確定ビットを出力し、更新区間の幅を広げる再正規化（Renormalization）の処理が加わる。【００４４】
再正規化の手順を、図６に基づいて説明する。ステップ１で０を符号化した結果、更新区間が（０〜０．８）となる。次にステップ２で１を符号化した結果、区間（０．０〜０．８）の上側０．２の部分（０．６４〜０．８）が更新区間となる。この段階で、出力すべき区間の代表値が０．５以上になることが確定する。すなわち、先頭のビットが”１”であることが確定するため、この時点でステップ３として、”１”を出力すると共に、（０．５〜１．０）の区間を（０．０〜１．０）に拡大するようマッピング（対応付け）する。ここでは、（０．６４〜０．８）の区間を（（（０．６４−０．５）×２＝０．２８）〜（（０．８−０．５）×２＝０．６））＝（０．２８〜０．６）に拡大する。このように、処理の途中で（この例ではステップ２で１を符号化した時点で）区間の座標値が０．５（２進表現で０．１）以上となることが判明するので、その時点で小数点第１位の”１”を出力する。同時に、区間から０．５を減算して２倍することにより、区間を実質的に拡張でき、使用可能な桁数を大きくできる。一方、区間の座標値が０．２５よりも小さくなると、先頭ビットが”０”であることが判明する。この処理によって、区間の幅を表す実数の桁数が増え続けることを防ぐことができ、有限桁数の演算で符号化を行うことが可能となる。【００４５】
以上の例では、説明のため２値シンボルの発生確率は固定のものとしたが、実際には一動作ごとに適応的に変更させることも可能である。２値算術符号化部に２値シンボルの発生確率を与える役割は、コンテキスト計算部１４が行っている。
（ＣＡＢＡＣの動作）【００４６】
ＣＡＢＡＣの動作としては、更新区間を更新する、すなわちｒａｎｇｅ（更新区間）とｌｏｗ（更新区間以外）に区分する動作として、ＭＰＳ（Most Possible Symbol）処理とＬＰＳ（Least Possible Symbol）処理の２種類がある。上記図３の例では、０を符号化する処理がＭＰＳに該当し、１を符号化する処理がＬＰＳに相当する。【００４７】
ＭＰＳ処理時には、以下の式によってｒａｎｇｅとｌｏｗが決定される。
ｒａｎｇｅ＝ｒａｎｇｅ−ｒＬＰＳ
ｌｏｗ＝ｌｏｗ【００４８】
一方、ＬＰＳ処理時には以下の式でｒａｎｇｅとｌｏｗが決定される。
ｒａｎｇｅ＝ｒＬＰＳ
ｌｏｗ＝ｌｏｗ＋ｒａｎｇｅ−ｒＬＰＳ
これらの処理のいずれが行われるかは、コンテキストとｒａｎｇｅによって決定される。コンテキストは、２値シンボルの発生確率を示しており、シンボルの処理時に更新される。【００４９】
コンテキストは図４に示すコンテキスト計算部１４で保持、更新される。コンテキスト計算部１４は、２値シンボルの発生確率を複数保持しており、現在の符号化対象や周囲の状況すなわちコンテキストに応じて発生確率を切り替え、２値算術符号化部１６に与える。２値シンボルの発生確率は、発生確率テーブルに保持され、発生確率が高い０、１いずれかのシンボル（ＭＰＳ：Most Probable Symbol：発生確率が最も高いシンボル）と、その発生確率テーブル番号（pStateIdx）とが対応付けて保持される。発生確率テーブル番号を指定すると、対応する発生確率が得られる。
（従来のＣＡＢＡＣ処理）【００５０】
次に、ＣＡＢＡＣ処理を行う従来の算術符号化装置において、２値算術符号化部１６が、コンテキスト計算部１４から与えられた発生確率（コンテキスト）に従って、２値化部１２から与えられる２値シンボルの符号化を行い、区間を更新する手順を、図７のブロック図及び図８の動作図に基づいて説明する。【００５１】
図７に示す算術符号化装置２００は、演算部４０と、ｒＬＰＳテーブル２０と、コンテキスト更新部７０とを備える。また算術符号化装置２００は、入力端子として、区間を入力するｒａｎｇｅ入力及び／又はｌｏｗ入力、２値列入力、コンテキスト入力を備えている。ｒａｎｇｅ入力、ｌｏｗ入力はそれぞれ、演算部４０、ｒＬＰＳテーブル２０に接続される。また２値列入力は演算部４０、ｒＬＰＳテーブル２０、コンテキスト更新部７０に接続される。さらにコンテキスト入力は、ｒＬＰＳテーブル２０、コンテキスト更新部７０に接続される。ここでｒＬＰＳテーブル２０は、指定されたｒａｎｇｅとコンテキストに応じて、ｒＬＰＳを選択するテーブルである。また演算部４０は再正規化部を備え、再正規化の際に符号ビットを生成し、演算部４０から出力符号を出力する。コンテキストは、ｒａｎｇｅ、ｌｏｗの更新後に更新される。コンテキスト更新部７０は、前段の処理結果に基づいてコンテキストを更新して出力する。【００５２】
演算部４０は、算術符号化演算を行う。ここでは、入力された区間ｒａｎｇｅ及び／又はｌｏｗ、これに対応するｒＬＰＳをｒＬＰＳテーブル２０を参照して決定し、これらに基づいて区間を更新し、ｒａｎｇｅ’とｌｏｗ’を出力する。【００５３】
この処理を、図８の動作図に基づいて説明する。ここでは、所定の区間に対して、（サイクル１）ＭＰＳ処理と、（サイクル２）ＬＰＳ処理及び再正規化を行う処理を説明している。すなわち、まずサイクル１で、ｒａｎｇｅとｌｏｗが決定されている区間に対して、２値シンボルＡ及び対応するコンテキストＸの場合に演算部４０がＭＰＳ処理して符号化を行い、区間をｒａｎｇｅ’とｌｏｗ’に更新する。ここでは、
ｒａｎｇｅ’＝ｒａｎｇｅ−ｒＬＰＳ、
ｌｏｗ’＝ｌｏｗ
となる。一方でコンテキスト更新部７０がコンテキストＸを更新する。そしてサイクル２で、このｒａｎｇｅ’とｌｏｗ’を２値シンボルＢ及び対応するコンテキストＹの場合に演算部４０がＬＳＰ処理で符号化を行って、区間をｒａｎｇｅ”とｌｏｗ”に更新する。ここでは
ｒａｎｇｅ”＝ｒＬＰＳ’、
ｌｏｗ”＝ｌｏｗ’＋ｒａｎｇｅ’−ｒＬＰＳ’
となる。また一方、コンテキスト更新部７０がコンテキストＹを更新する。【００５４】
さらに再正規化を行って区間をｒａｎｇｅ”’とｌｏｗ”’に拡大する。この結果、
ｒａｎｇｅ”’＝（ｒａｎｇｅ”−０．５）×２
ｌｏｗ”’＝（ｌｏｗ”−０．５）×２
となる。さらに演算部４０が出力符号”１”を出力する。このように従来のＣＡＢＡＣ処理では、上記の処理を完了するまでに２サイクルを要した。【００５５】
一方で近年の画像の高精細化に伴ってＨ．２６４／ＡＶＣの符号化処理をリアルタイムで行うなど、高速化の要求が高く、ＣＡＢＡＣ処理の演算量を削減することが求められている。しなしながら、上記の構成ではｒａｎｇｅ、ｌｏｗの値が前の処理に依存するため、演算をパイプライン化できないという問題があった。すなわち、隣接するシンボルの算術符号化においては、２シンボル目の処理にはｒａｎｇｅ、ｌｏｗだけでなくｒＬＰＳの値までも前の処理（１シンボル目の処理）に依存する。このため、１サイクル間に２シンボル以上の処理は困難とされていた。【００５６】
言い換えると、従来、ＣＡＢＡＣの実行速度の高速化手法としては、ＣＡＢＡＣ装置の各処理部の処理やメモリアクセス、符号化器部分の動作並列化等に着目し、如何に効率よくデータ処理を行うかという手法を主眼として、１シンボル／１サイクルの処理の実現が研究されている。しかしながら、ＣＡＢＡＣのシンボル処理は、常に過去のシンボルの出現確率に依存する特徴があり、各シンボルの処理時に更新が必要なコンテキスト、ｒＬＰＳは、直前のシンボルの処理結果を得なければならない。このため従来は、前段の処理に依存する性質上、演算処理のハードウェアを増やすことでは処理の効率化は望めないと考えられており、十分に満足できる高速化が実現されていないにもかかわらず、１シンボル／１サイクルの処理速度が高速化の限界であると理解されていた。【００５７】
これに対し本発明では、シンボルの出現確率の演算手順を分析し、シンボル間の依存性の詳細関係を解明した。これにより、状況によりシンボル間の依存性を失くし、事前に次サイクルの処理を実行し、テーブルの更新も同時に実現できる手法を開発するに至った。
（２サイクル予測）【００５８】
本実施の形態では、２シンボルの処理に必要な情報を一括して入力し、１サイクル間に２シンボルの処理を行うため、コンテキスト更新テーブル、ｒＬＰＳテーブル、演算部をそれぞれ２つ設けている。ここではｒａｎｇｅとｌｏｗを演算するために必要なコンテキスト、すなわち２値列とシンタックス要素と周囲の状況（コンテキスト）に基づいて、生成された２値列に使用するコンテキストを決定するためのｒＬＰＳテーブルを予め作成し、処理時にはこれを参照することで先の演算の予測を可能としている。さらにｒＬＰＳテーブルを２つ用意することで、２サイクル分の処理を行うための異なるｒＬＰＳを、同時に参照可能とした。例えば、一方のテーブルをＭＰＳ処理用のＬＰＳを記録した第１ｒＬＰＳテーブルとし、他方をＬＰＳ処理用のＬＰＳを記録した第２ｒＬＰＳを保持したテーブルとしており、１サイクル中にＭＰＳ処理、ＬＰＳ処理両方に対応できる。また各ｒＬＰＳテーブルはマルチポート（デュアルポート）メモリを利用し、２つのアクセスポートから同時に書き込みと読み出しを可能としている。これにより、一方のアクセスポートからデータを読み書きしているときに、他方のアクセスポートを使用してデータの読み出しなどが行なえる。これにより、２つのプロセッサが同じメモリに同時にアクセス可能となり、２サイクル分の処理を１サイクル内で完了でき、処理サイクル数を低減してＣＡＢＡＣ処理の高速化を図っている。【００５９】
なおコンテキストをメモリから２つ同時に読み出し、且つ２つ同時に書き込むには、更新コンテキストの内容により、最大で従来の４倍程度のメモリ量が必要になると見込まれる。またメモリ量を従来の２倍のみ使用した場合には、同じコンテキストの更新が必要となる際に２サイクルの処理を要し、処理速度の低減になる。同様に３シンボルの処理も可能であるが、コンテキストのメモリ量は従来の６倍程度となる。このように、パフォーマンスとハードウェア仕様のバランス、及び要求される処理能力や速度などに応じて、適切な構成に設計する必要がある。好ましくは、一括に入力する情報は２シンボル分とし、２サイクル予測と、後述する連続ＭＰＳ処理予測を併用して、これらを切り替えることにより、画像にあまり依存せず、高い処理速度を保つことができる。以下、順次説明する。
（実施の形態１）【００６０】
図９に、本実施の形態１に係る算術符号化装置を示す。この図に示す算術符号化装置は、多値信号を２値シンボルに変換する２値化部１１２と、符号化すべき２値シンボルの発生確率を周囲の状況（コンテキスト）に応じて計算・更新するためのコンテキスト計算部１１４と、これら２値シンボルと２値シンボル発生確率に基づいて算術符号化を行う算術符号化部１１６と、コンテキストを保持する第１メモリ部１１７と、ｒａｎｇｅ及びｌｏｗを保持する第２メモリ部１１８と、２サイクル予測を行う予測部１１９と、出力バッファ１２１とを備える。この算術符号化装置は、多値信号及び／又は符号化対象のシンタックス要素を２値化部１１２で入力すると、２値列に変換して算術符号化部１１６と予測部１１９に送られる。また必要に応じて周囲の状況（コンテキスト）もコンテキスト計算部１１４に入力される。そして予測部１１９でｒａｎｇｅの予測を行う一方、算術符号化部１１６で算術符号化を行い、得られた結果を符号ビットとして各々出力バッファ１２１に出力する。なお、必要に応じて入力側にバッファを設けることも可能であることは言うまでもない。
（第１メモリ部１１７）【００６１】
第１メモリ部１１７は、コンテキストを保持するコンテキストテーブルとして機能する。コンテキストテーブルは必要に応じて随時更新される。このため第１メモリ部１１７には更新が可能なメモリ、例えばＲＡＭなどが使用される。第１メモリ部１１７の例を図１０に示す。この図に示すように第１メモリ部１１７内にはコンテキスト＃１、＃２、＃３、・・・が保持され、各コンテキストが２値列（０，１）と対応付けられる。この際、１のコンテキストに複数の２値列を割り当てることも可能である。【００６２】
第２メモリ部１１８は、コンテキストを保持する第２コンテキスト更新テーブルとして機能する。ｒａｎｇｅ、ｌｏｗ値の保持には、レジスタなどが使用できる。【００６３】
また、図１１の変形例に示すように、第１メモリ部と第２メモリ部を共通のメモリ部１１７Ａとして構成し、コンテキストとｒａｎｇｅ、ｌｏｗを一のメモリ内に各々保持することも可能である。【００６４】
第１メモリ部１１７にはデュアルポート型メモリを使用する。これによって、コンテキストテーブルに同時にリード／ライトを行うことが可能となる。
（算術符号化部１１６）【００６５】
図９の算術符号化部１１６の詳細を、図１２のブロック図及び図１３の動作図に基づいて説明する。図１２に示す算術符号化部１１６は、演算部１４０と、第１ｒＬＰＳテーブル１２０と、第２ｒＬＰＳテーブル１２２と、符号ビット生成部１６０と、コンテキスト更新部１７０とを備える。また算術符号化部１１６は、入力端子として、区間を入力するｒａｎｇｅ入力及び／又はｌｏｗ入力、２値列入力、コンテキスト入力としてコンテキストＸ入力、コンテキストＹ入力を備えている。ｒａｎｇｅ入力は、演算部１４０、第１ｒＬＰＳテーブル１２０、第２ｒＬＰＳテーブル１２２、符号ビット生成部１６０に接続される。一方ｌｏｗ入力は、演算部１４０、第２ｒＬＰＳテーブル１２２、符号ビット生成部１６０に接続される。また２値列入力は演算部１４０、第２ｒＬＰＳテーブル１２２、符号ビット生成部１６０、コンテキスト更新部１７０に接続される。さらにコンテキストＸ入力は、第１ｒＬＰＳテーブル１２０、第２ｒＬＰＳテーブル１２２、符号ビット生成部１６０、コンテキスト更新部１７０に接続される。一方コンテキストＹ入力は、第２ｒＬＰＳテーブル１２２、符号ビット生成部１６０、コンテキスト更新部１７０に接続される。【００６６】
第１ｒＬＰＳテーブル１２０、第２ｒＬＰＳテーブル１２２は、それぞれ入力されたｒａｎｇｅとコンテキストに応じて、ｒＬＰＳを決定するテーブルである。テーブルを２つ備えたことで、１サイクル中に２ビットの読み出しや書き込みを行うことが可能となり、高速な処理が見込まれる。また一方、いずれのテーブルに最新のデータが保持されているかを管理し、必要に応じてテーブルを切り替える制御が必要となる。このため、図９の算術符号化部１１６はテーブル管理手段を備えている。【００６７】
符号ビット生成部１６０は、再正規化の際に出力符号を出力する。さらにコンテキスト更新部１７０は、前段の処理結果に基づいてコンテキストを更新して出力する。演算部１４０は、入力された区間ｒａｎｇｅ及び／又はｌｏｗ、これに対応するｒＬＰＳをｒＬＰＳテーブル２０を参照して決定し、これらに基づいて区間を更新し、ｒａｎｇｅ’とｌｏｗ’を出力する。【００６８】
この処理を、図１３の動作図に基づいて説明する。図１３は図８と同様、所定の区間に対してＭＰＳ処理、ＬＰＳ処理、再正規化を行う処理を説明している。ここではｒａｎｇｅとｌｏｗが決定されている区間に対して、２値シンボルＡ及び対応するコンテキストＸの場合に演算部１４０がＭＰＳ処理して符号化を行い、区間をｒａｎｇｅ’とｌｏｗ’に更新する処理と、このｒａｎｇｅ’とｌｏｗ’を２値シンボルＢ及び対応するコンテキストＹの場合に演算部１４０がＬＳＰ処理で符号化を行って、区間をｒａｎｇｅ”とｌｏｗ”に更新する処理、及び再正規化を行って区間をｒａｎｇｅ”’とｌｏｗ”’に拡大する処理と、コンテキスト更新部１７０がコンテキストＸ、コンテキストＹをそれぞれ更新する処理を、１サイクルで行う。すなわち、演算部１４０は第１ｒＬＰＳテーブル１２０を参照してＭＰＳ時のｒＬＰＳを、第２ｒＬＰＳテーブル１２２を参照してＬＰＳ時のｒＬＰＳ’を、各々取得し、以下の計算を行う。
ｒａｎｇｅ”’＝（ｒＬＰＳ’−０．５）×２
ｌｏｗ”’＝（ｌｏｗ＋ｒａｎｇｅ−ｒＬＰＳ−ｒＬＰＳ’−０．５）×２【００６９】
また同じサイクル内で符号ビット生成部１６０が出力符号”１”を出力し、コンテキスト更新部１７０はコンテキストＸ、コンテキストＹをそれぞれ更新する。これによって、１サイクルでＭＰＳ処理、ＬＰＳ処理、再正規化を完了させることができる。【００７０】
次に、図１４に、他の構成に係る算術符号化部３００の例を示す。この図に示す算術符号化部３００は、１サイクル中で２シンボルを処理するために、１シンボル目処理用の第１算術符号化手段３０１と、２シンボル目処理用の第２算術符号化手段３０２と、符号ビット生成部３６０を備える。第１算術符号化手段３０１は、第１ｒＬＰＳテーブル３２０と、第１コンテキスト更新テーブル３３０と、第１演算部３４０と、第１再正規化部３５０とを備える。また第２算術符号化手段３０２は同様に、第２ｒＬＰＳテーブル３２２と、第２コンテキスト更新テーブル３３２と、第２演算部３４２と、第２再正規化部３５２とを備える。この算術符号化部３００は、２値列としてシンボルＡ及びコンテキストＸを入力すると、コンテキストＸ及びｒａｎｇｅに対応したｒＬＰＳを第１ｒＬＰＳテーブル３２０を参照して求め、この値とシンボルＡとで第１演算部３４０は算術符号化を行い、ｒａｎｇｅとｌｏｗを更新する。さらに必要に応じて第１再正規化部３５０で再正規化を行い、ｒａｎｇｅ’とｌｏｗ’を第２算術符号化手段３０２に送出すると共に、符号ビットを符号ビット生成部３６０に出力する。また第１コンテキスト更新テーブル３３０を更新し、コンテキストＸ’を出力する。【００７１】
一方、第２算術符号化手段３０２は、コンテキストＹ及びｒａｎｇｅ’に対応したｒＬＰＳを第２ｒＬＰＳテーブル３２２を参照して求め、この値とｒａｎｇｅ’とｌｏｗ’に基づいて第２演算部３４２で算術符号化を行い、ｒａｎｇｅ’とｌｏｗ’を更新する。さらに必要に応じて第２再正規化部３５２で再正規化を行い、ｒａｎｇｅ”とｌｏｗ”を出力すると共に、符号ビット生成部３６０に符号ビットを出力する。符号ビット生成部３６０は、出力符号ビットを出力する。またシンボルＢ及びコンテキストＹに基づいて第２コンテキスト更新テーブル３３２を更新し、コンテキストＹ’を出力する。【００７２】
以上の処理は、１サイクル中で終えることができる。すなわち、ｒａｎｇｅとｌｏｗ、コンテキストＸに基づいて第１算術符号化手段３０１で１シンボル目のシンボルＡを算術符号化すると共に、得られたｒａｎｇｅ’とｌｏｗ’、及びコンテキストＹに基づいて第２算術符号化手段３０２が２シンボル目のシンボルＢを算術符号化する。このように本実施の形態では、２値列とシンタックス要素と周囲の状況（コンテキスト）に基づいて、生成された２値列に使用するコンテキストを決定するｒＬＰＳテーブルを予め作成しておくと共に、ｒＬＰＳテーブルを２つ用意することで、１サイクル中に演算部は各々のテーブルから必要なデータを読み出し、更新することができ、２サイクル分の演算を１サイクルで完了することができる。この結果、高い符号化効率を達成する一方で処理時間の長さが問題となっていたＣＡＢＡＣの処理サイクル数を削減することが可能となり、もって処理の高速化を図り、高解像度アプリケーションのリアルタイム符号化等に実装可能なシステムを構築できる。この手法は、汎用のＣＰＵやＭＰＵでソフトウェア的に実装することも可能であるが、好ましくは専用のハードウェアを構築して実行させることで、より効率のよい処理が可能となる。
（２サイクル予測を行う算術符号化部の変形例）【００７３】
図９のブロック図に示す算術符号化装置の構成では、算術符号化部１１６で算術符号化演算を行う。算術符号化部１１６の具体的な構成としては、例えば図５のブロック図に示した構成が利用できる。ここで、コンテキスト更新テーブルを各々ＲＯＭで構成すると、各々がシンボルに応じてコンテキストを決定するため、ＲＯＭのサイズを大きくする必要がある。また、ＲＯＭではデータのアクセスに１サイクルを要するため、遅延が生じる。そこで、一方のコンテキスト更新テーブルを組み合わせ回路で構成することでＲＯＭのサイズを小さくでき、安価に構成できる。さらに組み合わせ回路では、演算論理の結果はそのサイクル中に生成されるので、余分なサイクルを要さず、処理を高速化できる利点が得られる。組み合わせ回路を用いた算術符号化部２１６の例を、図２９に示す。【００７４】
この図に示す算術符号化部２１６は、コンテキストメモリ部２１７と、図２９においてコンテキストメモリ部２１７の第１の出力側に接続された第１コンテキスト更新テーブル２３０と、第２の出力側に接続された第２コンテキスト更新テーブル２３２と、コンテキストメモリ部２１７の第１の出力側に接続された第１ｒＬＰＳテーブル２２０と、第１コンテキスト更新テーブル２３０とコンテキストメモリ部２１７の加算器出力と接続された第２ｒＬＰＳテーブル２２２と、ｒａｎｇｅの値を保持するためのｒａｎｇｅメモリ部２１８と、ｒａｎｇｅメモリ部２１８及び第１ｒＬＰＳテーブル２２０の出力側に接続された第１選択器２２４と、第１選択器２２４及びｒａｎｇｅメモリ部２１８に接続された第１ｒａｎｇｅ更新部２４０と、第２ｒＬＰＳテーブル２２２及び第１ｒａｎｇｅ更新部２４０の出力側に接続された第２選択器２２６と、第２選択器２２６及び第１ｒａｎｇｅ更新部２４０の出力側に接続され、且つ出力側をｒａｎｇｅメモリ部２１８に接続した第２ｒａｎｇｅ更新部２４２と、ｌｏｗの値を保持するｌｏｗメモリ部２１９と、ｌｏｗメモリ部２１９、第１ｒａｎｇｅ更新部２４０及び第１選択器２２４の出力側に接続された第１ｌｏｗ更新部２５０と、第１ｌｏｗ更新部２５０、第２ｒａｎｇｅ更新部２４２及び第２選択器２２６の出力側に接続され、且つ出力側をｌｏｗメモリ部２１９に接続した第２ｌｏｗ更新部２５２とを備える。【００７５】
なお図２９は、処理工程とデータの流れをブロック図的に表現した図であるため、実際のハードウェア的な結線とは必ずしも一致しない。例えばｒａｎｇｅ値については、ｒａｎｇｅメモリ部２１８→第１ｒａｎｇｅテーブル→第２ｒａｎｇｅテーブル→ｒａｎｇｅメモリ部２１８にループして、ｒａｎｇｅが順次更新される様子を示しているが、実際には第１ｒａｎｇｅテーブル及び第２ｒａｎｇｅテーブルがそれぞれｒａｎｇｅメモリ部２１８に接続され、各々のｒａｎｇｅテーブルで更新したｒａｎｇｅ値をｒａｎｇｅメモリ部２１８に書き込むことができる。またコンテキストメモリ部２１７が重複して表示されているが、両者は同じものであり、図２９において左側のコンテキストメモリ部２１７はリード時、中央のコンテキストメモリ部２１７はライト時の動作をそれぞれ示している。【００７６】
コンテキストメモリ部２１７は、図９においてコンテキストを保持する第１メモリ部１１７に相当する。ここでは、シンボルＡとこれに対応するコンテキストＸ、シンボルＢとこれに対するコンテキストＹの４つの入力、及び更新されたコンテキストＸ’、Ｙ’２つの出力を備えるデュアルポートＲＡＭ等で構成される。このコンテキストメモリ部２１７は、更新されたコンテキストを保持すると共に、指定されたアドレスに従い該当するコンテキストの読み込みを行い、さらに第１、第２コンテキスト更新テーブル２３２によって更新された２つのコンテキストＸ’、Ｙ’の書き込みを各々行う。ここで第２コンテキスト更新テーブル２３２は、ＲＯＭで構成されるが、一方第１コンテキスト更新テーブル２３０は組み合わせ回路で構成される。一方のコンテキスト更新テーブルを組み合わせ回路で構成することで、第２段階でコンテキストＸ、Ｙを同時に更新できるので、１サイクルで２シンボルの処理を行う高速化に大きく資する。【００７７】
なお、図２９に示す算術符号化部２１６の例において、第１コンテキスト更新テーブル２３０及び第２コンテキスト更新テーブル２３２の両方を組み合わせ回路で構成することもできる。この場合は、一層の高速化を図ることができる。なお、コンテキスト更新テーブルに大量のデータを記憶する場合は、組み合わせ回路で実現すると大面積化と高コスト化となるため不適となる。ただ、保存すべきデータ量が少ない場合は、組み合わせ回路で実装しても面積がＲＯＭの場合に比べさほど大きくならないため、両方を組み合わせ回路で構成することが好ましい。【００７８】
第１及び第２ｒＬＰＳテーブル２２２は、各々ＲＯＭで構成され、入力されたコンテキストに従い、ｒＬＰＳを出力する。ＲＯＭに保持されたｒＬＰＳテーブルのデータは、コンテキストに応じて４つに区分されているため、各ｒＬＰＳテーブルが４つの出力を備える。各々のｒＬＰＳテーブルから出力されたｒＬＰＳは、第１及び第２選択器２２６にそれぞれ入力される。第１、第２選択器２２６は、各々入力されるｒａｎｇｅに従い、該当するｒＬＰＳを選択して、第１、第２ｒａｎｇｅ更新部２４２に出力する。第１、第２ｒａｎｇｅ更新部２４２は、ｒａｎｇｅの値を更新してｒａｎｇｅメモリ部２１８のｒａｎｇｅ値を書き換える。同様にｌｏｗメモリ部２１９は、ｌｏｗ値を保持する。これらｒａｎｇｅメモリ部２１８やｌｏｗメモリ部２１９は、レジスタで構成できる。また第１、第２ｌｏｗ更新部２５２は、再正規化部の機能を実現しており、ｒａｎｇｅ及び再正規化の回数に従い再正規化してｌｏｗを更新する。このようにして第１ｌｏｗ更新部２５０はシンボルＡの算術符号化された符号ビット１を出力し、第２ｌｏｗ更新部２５２はシンボルＢの算術符号化された符号ビット２を出力する。【００７９】
なお図２９の例では、各処理を行う部材を機能的に表現したものであって、実際のハードウェア構成においては、一の部材で複数の機能を実現することができる。例えば、コンテキストメモリ部２１７は図９において第１メモリ部１１７に、ｒａｎｇｅメモリ部２１８及びｌｏｗメモリ部２１９は、第２メモリ部１１８に相当する。また、第１ｒａｎｇｅ更新部２４０及び第１ｌｏｗ更新部２５０は、図１４に示す第１演算部に、第２ｒａｎｇｅ更新部２４２及び第２ｌｏｗ更新部２５２は、第２演算部に、各々相当し、さらにこれらを適宜纏めることもできる。
（ＤＳＥの算術符号化処理工程）【００８０】
以上の算術符号化部２１６で１サイクル中に２シンボルの算術符号化演算を行う処理は、図２９及び図３０のフローチャートに示すように、４段階に分けることができる。すなわち、ステップＳ１で示す第１段階では、各コンテキストの読み込みが行われる。具体的には、コンテキストメモリ部２１７で、アドレスに従いシンボルＡ、Ｂと対応するコンテキストＸ、Ｙの読み出しを行う。図２９において、左側のコンテキストメモリ部２１７はリード状態を示している。【００８１】
次にステップＳ２で示す第２段階で、各コンテキストの更新と各ｒＬＰＳの読み込みが行われる。具体的には、コンテキストメモリ部２１７の第１の出力から第１コンテキスト更新テーブル２３０がコンテキストＸを読み込み、コンテキストＸ’に更新する。また、更新されたコンテキストＸ’を第２コンテキスト更新テーブル２３２が参照し、他方でコンテキストメモリ部２１７の第２の出力から得られたコンテキストＹをコンテキストＹ’に更新する。ここで、コンテキスト更新テーブルを２つのＲＯＭとせず、一方を組み合わせ回路で構成した第１コンテキスト更新テーブル２３０とし、他方をＲＯＭで構成された第２コンテキスト更新テーブル２３２とすることで、処理の高速化と小面積化を両立させ、２つのシンボルＡ、ＢのコンテキストＸ、Ｙを同時に更新することが可能となる。また上述の通り、すべてのコンテキスト更新テーブルを組み合わせ回路で構成することで、一層の高速化が図られる。【００８２】
また一方で、第２段階において更新前のコンテキストＸに基づき、シンボルＡのｒＬＰＳをｒＬＰＳテーブルを参照して求める。すなわち、コンテキストメモリ部２１７の第１の出力から得られるコンテキストＸに基づき、第１ｒＬＰＳテーブル２２０がｒＬＰＳを第１選択器２２４に出力する。他方、第１コンテキスト更新テーブル２３０で得られるコンテキストＸ’及びコンテキストメモリ部２１７の第２の出力から得られるコンテキストＹのＡＮＤ出力が第２ｒＬＰＳテーブル２２２に送られ、同様に更新前のコンテキストＹのｒＬＰＳが求められ、第２選択器２２６に出力される。【００８３】
さらにステップＳ３で示す第３段階で、更新されたコンテキストの書き込みとｒａｎｇｅの更新が行われる。まず、第１コンテキスト更新テーブル２３０及び第２コンテキスト更新テーブル２３２から各々出力されるコンテキストＸ’、Ｙ’がコンテキストメモリ部２１７に書き込まれる。図２９において、中央下段のコンテキストメモリ部２１７はライト状態を示している。【００８４】
一方で、第１選択器２２４は、ｒａｎｇｅメモリ部２１８を参照して得られるｒａｎｇｅに従い、シンボルＡの該当するｒＬＰＳを選択して、第１ｒａｎｇｅ更新部２４０に出力する。第１ｒａｎｇｅ更新部２４０は、ｒａｎｇｅメモリ部２１８に保持される現在のｒａｎｇｅを、選択されたｒＬＰＳに応じてｒａｎｇｅ’に更新すると共に、次段のシンボルＢに相当するｒａｎｇｅを決定するために第２ｒａｎｇｅ更新部２４２に出力する。また一方で、更新されたｒａｎｇｅ’に応じて、再正規化の回数を決定し、第１ｌｏｗ更新部２５０に出力する。【００８５】
第２ｒａｎｇｅ更新部２４２は、第１ｒａｎｇｅ更新部２４０で更新されたｒａｎｇｅ’を、第２選択器２２６で選択されたｒＬＰＳに従い、ｒａｎｇｅ”に更新し、ｒａｎｇｅメモリ部２１８のｒａｎｇｅ値をｒａｎｇｅ”に更新する。一方、更新されたｒａｎｇｅ”に応じて再正規化の回数を決定し、第２ｌｏｗ更新部２５２に出力する。【００８６】
最後にステップＳ４で示す第４段階で、ｌｏｗの更新が行われる。第１ｌｏｗ更新部２５０は、ｒａｎｇｅ’及び再正規化の回数に応じて、ｌｏｗメモリ部２１９に保持されたｌｏｗ値をｌｏｗ’に更新すると共に、シンボルＡの符号ビット１を出力する。一方第２ｌｏｗ更新部２５２は、ｒａｎｇｅ”及び再正規化の回数に応じてｌｏｗ’をｌｏｗ”に更新し、ｌｏｗメモリ部２１９のｌｏｗ値をｌｏｗ”に更新する。また、シンボルＢの符号ビット２を出力する。【００８７】
以上のようにして、２つのコンテキスト更新テーブルの一方をＲＯＭ、他方を組み合わせ回路で構成して、１サイクルで２シンボルの算術符号化を安価に実現できる。
（連続ＭＰＳ処理予測）【００８８】
一方で、ＣＡＢＡＣ処理による２値化の特徴として、同じシンボルを連続して生成しやすい点が挙げられる。またＣＡＢＡＣ処理に含まれるＭＰＳ処理とＬＰＳ処理の内、ＭＰＳ処理の特徴として、ｌｏｗは変化せずｒａｎｇｅの値のみ緩やかに減少するという傾向がある。そこで、２値列がＭＰＳの連続である場合、この連続数とｒａｎｇｅ及びコンテキストから、数サイクル先までの結果を予測することが可能となる。【００８９】
この処理の手順を、図１５の動作図に基づいて説明する。ここではコンテキストＸが一定値で、ＭＰＳ処理が連続して４回続くものとする。まず第１サイクルでｒａｎｇｅ０がｒａｎｇｅ１に更新されるとすると、このときのＭＰＳ処理で使用するｒＬＰＳがｒＬＰＳ１であれば、
ｒａｎｇｅ１＝ｒａｎｇｅ０−ｒＬＰＳ１
ｌｏｗ０＝ｌｏｗ１
となる。また次の第２サイクルでｒａｎｇｅ１がｒａｎｇｅ２に更新されるとすると、このときのＭＰＳ処理で使用するｒＬＰＳがｒＬＰＳ２であれば、
ｒａｎｇｅ２＝ｒａｎｇｅ１−ｒＬＰＳ２
＝ｒａｎｇｅ０−ｒＬＰＳ１−ｒＬＰＳ２
ｌｏｗ２＝ｌｏｗ１＝ｌｏｗ０
となる。さらに第３サイクルでｒａｎｇｅ２がｒａｎｇｅ３に更新され、このときｒＬＰＳ３であれば、
ｒａｎｇｅ３＝ｒａｎｇｅ２−ｒＬＰＳ３
＝ｒａｎｇｅ０−ｒＬＰＳ１−ｒＬＰＳ２−ｒＬＰＳ３
ｌｏｗ３＝ｌｏｗ２＝ｌｏｗ１＝ｌｏｗ０
となり、最後に第４サイクルでｒａｎｇｅ３がｒａｎｇｅ４に更新され、このときｒＬＰＳ４であれば、
ｒａｎｇｅ４＝ｒａｎｇｅ３−ｒＬＰＳ４
＝ｒａｎｇｅ０−ｒＬＰＳ１−ｒＬＰＳ２−ｒＬＰＳ３−ｒＬＰＳ４
ｌｏｗ４＝ｌｏｗ３＝ｌｏｗ２＝ｌｏｗ１＝ｌｏｗ０
となる。このように同一コンテキストを用いたＭＰＳの連続した処理は、ｒａｎｇｅ、コンテキストＸ、連続数から演算することができるので、予め演算した結果をテーブルに記録しておくことで、上記のパラメータから数サイクル先まで予測可能となる。これを実現するために、ＭＰＳ連続数テーブルを用意する。
（ＭＰＳ連続数テーブル）【００９０】
図１６に、コンテキストが一定の場合のＭＰＳ連続数テーブルの例を示す。この図に示すように、ＭＰＳ連続数テーブルは、ｒａｎｇｅ、コンテキスト、ＭＰＳ連続数に応じたｒａｎｇｅを表として保持している。このため、これらのパラメータでテーブルを参照すれば、連続したＭＰＳ処理後のｒａｎｇｅの値を取り出すことができる。図１５の例では、初期値であるｒａｎｇｅをｒａｎｇｅＡｍコンテキストＸ（一定）、ＭＰＳ連続数４であるから、ｒａｎｇｅ予測値は、図１６のＭＰＳ連続数テーブルにおいてＥの位置に格納された値となる。このように、テーブルの参照のみによって数サイクル先の更新区間を求めることができるので、特にＭＰＳ処理が連続する場合には極めて大幅な演算量の低減が見込まれ、処理数低減による高速化が図られる。
（再正規化による変化）【００９１】
以上のＭＰＳ処理では、ＬＰＳ処理が生じない間、すなわちＭＰＳ処理が連続する間はｌｏｗは一定である。しかしながら、図１７（ａ）に示すように再正規化を行うとｌｏｗの値が変化する。ただ、再正規化の値はｒａｎｇｅによって決まる。このため、ｒａｎｇｅの値と再正規化を行う回数が判れば、ｌｏｗの値を求めることができる。このように、再正規化によって変化するｌｏｗについてもテーブル化することが可能となる。【００９２】
再正規化を考慮した連続ＭＰＳ処理予測部４００のブロック図を図１８に示す。この図に示す連続ＭＰＳ処理予測部４００は、ｒａｎｇｅテーブル４２０と、コンテキスト更新テーブル４３０と、再正規化部４５０を備える。この連続ＭＰＳ処理予測部４００は、ｒａｎｇｅとＭＰＳ連続数、コンテキストに応じてｒａｎｇｅテーブル４２０を参照し、ｒｅｎｇｅをｒａｎｇｅ’に更新する。一方で再正規化回数とｌｏｗに基づいて、再正規化部４５０がｌｏｗ’と符号ビットを出力する。さらに、ＭＰＳ連続数とコンテキストに基づいて、コンテキスト更新テーブル４３０を参照し、コンテキストを更新する（ｃｏｎｔｅｘｔ→ｃｏｎｔｅｘｔ’）。【００９３】
再正規化を考慮したｒａｎｇｅ予測の例を、図１７（ｂ）に示す。この図に示すように、ＭＰＳ連続数と再正規化の回数に応じて、ｒａｎｇｅの値を予測でき、さらにコンテキストを更新できる。
（コンテキストの変化）【００９４】
また上記の例ではコンテキストが一定としたが、コンテキストが途中で切り替わる場合もあり得る。上記の手法では同一シンボルに対して同一コンテキストを使用することを前提としていたため、コンテキストが変更されるとそれ以降の変化を予測できないこととなる。そこで、ｒａｎｇｅテーブルとコンテキスト更新テーブルとを各々２つ用意することで、このようなコンテキストの変化にも対応可能な連続ＭＰＳ処理予測を実現する。【００９５】
図１９は、連続するＭＰＳ処理において、コンテキストが４サイクルまではコンテキストＸ、続く２サイクルはコンテキストＹに切り替わる例を示している。この場合も、コンテキスト毎にテーブル化することが可能である。図２０に、ｒａｎｇｅ、コンテキスト（可変）、ＭＰＳ連続数に応じたｒａｎｇｅ予測値を記録したＭＰＳ連続数テーブルの例を示す。図１９の例では、初期値であるｒａｎｇｅをｒａｎｇｅＡ、コンテキストＸでのＭＰＳ連続数が４、その時点でのｒａｎｇｅがｒａｎｇｅＥで、その後のコンテキストＹでのＭＰＳ連続数が２であるため、ｒａｎｇｅ予測値は、図２０のＭＰＳ連続数テーブルにおいてＥの位置に格納された値と、Ｉの位置に格納された値の和Ｅ＋Ｉとなる。このように、コンテキストが変化する場合であっても、同様にテーブルの参照によって容易に更新区間を求めることができるので、大幅な処理の低減と高速化が図られる。【００９６】
コンテキストが変化する場合に連続ＭＰＳ処理予測を実現する連続ＭＰＳ処理予測部４００Ｂを構成するブロック図の例を図２１に示す。この図に示す連続ＭＰＳ処理予測部４００Ｂは、２つの予測テーブル４２０Ａ、４２０Ｂ（ＭＰＳ連続数テーブル）を設けることで、ｒａｎｇｅとコンテキスト、ＭＰＳ連続数が入力されると、これらのパラメータに応じたｒａｎｇｅ予測値が参照され、対応する値としてｒａｎｇｅ”が出力される。また予測テーブル４２０Ａ、４２０Ｂ内のコンテキストは適宜更新される。この例ではコンテキストをＸ、Ｙの２種類とした例を説明したが、さらに多くのコンテキストに対応させた複数のテーブルを用意することも可能であることは言うまでもない。【００９７】
図２２に、より詳細な連続ＭＰＳ処理予測部５００のブロック図を示す。この図に示すように、連続ＭＰＳ処理予測部５００は第１コンテキスト更新テーブル５３０と、第２コンテキスト更新テーブル５３２と、第１ｒａｎｇｅテーブル５２０と、第２ｒａｎｇｅテーブル５２２と、再正規化テーブルを有する一の再正規化部５５０を備える。この連続ＭＰＳ処理予測部５００は、ｒａｎｇｅとＭＰＳ連続数Ｘ（図１９の例では４）、コンテキストＡ（図１９ではコンテキストＸ）に基づいて、第２ｒａｎｇｅテーブル５２２を参照し、ｒａｎｇｅ’（ｒａｎｇｅＥ）を求める。一方、コンテキストＢ（図１９ではコンテキストＹ）、ＭＰＳ連続数Ｙ（図１９では２）、第２ｒａｎｇｅテーブル５２２で得られたｒａｎｇｅ’に基づいて、第１ｒａｎｇｅテーブル５２０を参照し、ｒａｎｇｅ”を求める。一方で、第１ｒａｎｇｅテーブル５２０及び第２ｒａｎｇｅテーブル５２２の再正規化回数と、ｌｏｗの値に基づいて、再正規化部５５０が再正規化テーブルを参照してｌｏｗ’と、再正規化による符号ビットを出力する。このように、一の再正規化部５５０でコンテキストの異なる再正規化を加算して、適切な符号ビットを出力することができ、回路の簡素化に寄与する。さらにまた、コンテキストＡを、ＭＰＳ連続数に基づき第２コンテキスト更新テーブル５３２を参照してコンテキストＡ’に更新し、コンテキストＢをＭＰＳ連続数に基づいて第１コンテキスト更新テーブル５３０を参照し、コンテキストＢ’に更新する。また上述の通り、コンテキスト変更数を増やすことも可能である。
（連続ＭＰＳ処理予測を行う算術符号化部の変形例）【００９８】
また上記図２９で説明したのと同様に、連続ＭＰＳ処理予測においても、コンテキスト更新テーブルを各々ＲＯＭで構成する他、より安価で安定した高速化を得るために、一方を組み合わせ回路で構成したり、両方を組み合わせ回路で構成することもできる。このような算術符号化部３１６の例を、図３１に示す。図３１も処理工程をブロック的に表現した図であるため、コンテキストメモリ部２１７Ｂが重複して表示されているが、両者は同じものである。【００９９】
この図に示す算術符号化部３１６も、第１及び第２コンテキスト更新テーブル２３０Ｂ、２３２Ｂの出力側に接続されたコンテキストメモリ部２１７Ｂと、コンテキストメモリ部２１７Ｂの第１の出力側に接続された第１コンテキスト更新テーブル２３０Ｂと、第２の出力側に接続された第２コンテキスト更新テーブル２３２Ｂとを備え、これらの構成は図２９とほぼ同様である。すなわち、第１コンテキスト更新テーブル２３０Ｂは組み合わせ回路で構成され、第２コンテキスト更新テーブル２３２ＢはＲＯＭで構成される。あるいは、第１コンテキスト更新テーブル２３０Ｂ及び第２コンテキスト更新テーブル２３２Ｂのいずれも、組み合わせ回路で構成してもよい。特に保存すべきデータ量が少ない場合は、実装面積も大きくならないので、より高速化が図られる組み合わせ回路のみでの構成が好ましい。【０１００】
また算術符号化部３１６は、ｒａｎｇｅの値を保持するｒａｎｇｅメモリ部２１８Ｂと、ｌｏｗの値を保持するｌｏｗメモリ部２１９Ｂも備え、これらもレジスタ等で構成できる。これらの部材は、図２９とほぼ同様に構成できるので、詳細説明は省略する。【０１０１】
一方で算術符号化部３１６は、シンボルＡ（ＭＰＳ）の連続数ｍ及び対応するコンテキストＸを入力し、ｒａｎｇｅメモリ部２１８Ｂから読み出したｒａｎｇｅをｒａｎｇｅ’に更新する第１ｒａｎｇｅテーブル５２０Ｂと、シンボルＢ（ＭＰＳ）の連続数ｎ及び対応するコンテキストＹを入力し、第１ｒａｎｇｅテーブル５２０Ｂのｒａｎｇｅ’を更新してｒａｎｇｅ”を出力する第２ｒａｎｇｅテーブル５２２Ｂを備える。これらｒａｎｇｅテーブルは、ＭＰＳ連続数に基づき、ｒａｎｇｅを予測する。さらに算術符号化部３１６は、図２９と同様に第１ｒａｎｇｅテーブル５２０Ｂで更新されたｒａｎｇｅ’と再正規化の回数に基づいて再正規化を行い、ｌｏｗメモリ部２１９Ｂのｌｏｗを更新してｌｏｗ’と符号ビット１を出力する第１ｌｏｗ更新部２５０Ｂと、第２ｒａｎｇｅテーブル５２２Ｂのｒａｎｇｅ”及び再正規化の回数に基づいて再正規化を行い、第１ｌｏｗ更新部２５０Ｂで得られたｌｏｗ’を更新したｌｏｗ”と符号ビット２を出力する第２ｌｏｗ更新部２５２Ｂを備える。【０１０２】
図３１も、図２９と同様に処理工程とデータの流れをブロック図的に表現した図であるため、実際のハードウェア的な結線とは必ずしも一致しない。例えばコンテキストメモリ部２１７Ｂが重複して表示されているが、両者は同じものであり、図３１において左側のコンテキストメモリ部２１７Ｂはリード時、中央のコンテキストメモリ部２１７Ｂはライト時の動作をそれぞれ示している。
（ＭＰＳＥの算術符号化処理工程）【０１０３】
この算術符号化部３１６も、図３１及び図３２のフローチャートに示すようにステップＳ’１〜Ｓ’４の４段階で、シンボルＡ、Ｂの算術符号化処理を行える。すなわち、ステップＳ’１で示す第１段階では、各コンテキストの読み込みが行われる。具体的には、コンテキストメモリ部２１７Ｂで、シンボルＡ、Ｂと対応するコンテキストＸ、Ｙの読み出し（リード）を行う。【０１０４】
次にステップＳ’２で示す第２段階で、各コンテキストの更新が行われる。具体的には、コンテキストメモリ部２１７Ｂの第１の出力から第１コンテキスト更新テーブル２３０ＢがコンテキストＸを読み込み、さらにシンボルＡのＭＰＳ連続数ｍに基づいてコンテキストＸ’に更新する。また、更新されたコンテキストＸ’を第２コンテキスト更新テーブル２３２Ｂが参照し、他方でコンテキストメモリ部２１７Ｂの第２の出力から得られたコンテキストＹ、及びそのＭＰＳ連続数ｎに基づき、コンテキストＹ’に更新する。【０１０５】
さらにステップＳ’３で示す第３段階で、更新されたコンテキストの書き込みとｒａｎｇｅの更新が行われる。すなわち、第１コンテキスト更新テーブル２３０Ｂ及び第２コンテキスト更新テーブル２３２Ｂから各々出力されるコンテキストＸ’、Ｙ’がコンテキストメモリ部２１７Ｂに書き込まれる。このようにして第１、第２コンテキスト更新テーブル２３２Ｂで、ＭＰＳを処理した分のコンテキスト（発生確率）の更新をステップＳ’２で行い、ステップＳ’３でコンテキストメモリ部２１７Ｂに書き込む。【０１０６】
一方でシンボルＡにつき、ＭＰＳ連続数ｍとそのコンテキストＸに基づき、第１ｒａｎｇｅテーブル５２０Ｂがｒａｎｇｅの値をｒａｎｇｅ’に更新する。ｒａｎｇｅの値は、ｒａｎｇｅメモリ部２１８Ｂから読み込まれる。さらにシンボルＢにつき、ＭＰＳ連続数ｎとそのコンテキストＹに基づき、第２ｒａｎｇｅテーブル５２２Ｂがｒａｎｇｅ’の値をｒａｎｇｅ”に更新する。更新されたｒａｎｇｅ”の値は、ｒａｎｇｅメモリ部２１８Ｂに書き込まれる。【０１０７】
最後にステップＳ’４で示す第４段階で、ｌｏｗの更新が行われる。第１ｌｏｗ更新部２５０Ｂは、ｒａｎｇｅ’及び再正規化の回数に応じて、ｌｏｗメモリ部２１９Ｂに保持されたｌｏｗ値をｌｏｗ’に更新すると共に、シンボルＡの符号ビット１を出力する。一方第２ｌｏｗ更新部２５２Ｂは、ｒａｎｇｅ”及び再正規化の回数に応じてｌｏｗ’をｌｏｗ”に更新し、ｌｏｗメモリ部２１９Ｂのｌｏｗ値をｌｏｗ”に更新する。また、シンボルＢの符号ビット２を出力する。この方法はシンボルがＭＰＳのときのみ有効であるが、図２９と同様に簡単な演算回路で１サイクルで２シンボルの処理が可能な算術符号化部３１６が実現できる。【０１０８】
このようにして、前段のシンボルの演算を待たずに次段のシンボルの算術符号化を行うことができるので、パイプライン処理が可能となり、従来は不可能と考えられていた処理の高速化が図られる。図３３に、このようなパイプライン処理の例を示す。図３３に示すように、３つのシンボルについて、算術符号化処理を並列して行うことができるので、１サイクルで２シンボル以上の処理が可能となる。
（２つの手法の切り替え）【０１０９】
以上のように、２サイクル予測は１サイクル分の処理を削減し、多くの場面で予測可能である利点を有する。一方連続ＭＰＳ処理予測は、数サイクル分の処理を削減でき、削減量が大きいが、ＭＰＳが連続する場合のみ予測可能であるという制約がある。【０１１０】
よって、これら２サイクル予測と連続ＭＰＳ処理予測とを組み合わせ、状況に応じてより有効な手法を選択し、これらを切り替えて利用することで、一層の高速化を図ることができる。本発明の実施の形態３として、このような予測手法切替部を備える算術符号化装置の一例を、図２３及び図２４に示す。これらの図に示す算術符号化装置６００も、図９と同様にコンテキスト計算部６１４、第１メモリ部６１７、第２メモリ部６１８、算術符号化部６１０を備える。これらの部材は基本的に図９等と同様であって、詳細説明を省略する。算術符号化部６１０は、入力された２信号をバッファリングする入力バッファ６２１と、２サイクル予測部６２２と、連続ＭＰＳ処理予測部６２３と、これらを切り替える予測手法切替部６２４とを備える。予測手法切替部６２４は、入力されるコンテキストやｒａｎｇｅ等に応じて、その時点で適切な予測手法を選択して切り替える。図２３の例では２サイクル予測部６２２を選択した状態を、図２４の例では連続ＭＰＳ処理予測部６２３を選択した状態を、それぞれ示している。これにより、２サイクル予測と、連続ＭＰＳ処理予測を適宜組み合わせて、多くのサイクル数を削減できる。【０１１１】
図２５に、２サイクル予測と連続ＭＰＳ処理予測を予測手法切替部６２４で切り替える様子を示す。この図に示すように、２値化されたビット列の状態に基づいて、予測手法切替部６２４がこれらの切り替えを行う。ここでは、切り替えの条件として、入力ビットが”０”の連続である場合のみ連続ＭＰＳ処理予測を使用し、その他の場合は２サイクル予測を使用する。予測手法切替部６２４はこの条件に従い、いずれかの手法を選択し、選択した手法に従って処理を行う。
（実施例）【０１１２】
次に本発明の実施例として、２サイクル予測、連続ＭＰＳ処理予測、及びこれらを切り替える場合のそれぞれについて算術符号化を行い、削減されるサイクル数の比率をシミュレーションで求めた。ここでは、一括で入力するコンテキスト数を２として、種々のシミュレーション用画像シーケンス（akiyo、bridge-close、bridge-far、carphone、clair）に対して算術符号化を行い、そのシミュレーション結果を、それぞれ表１〜表５に示す。表においてＤＳＥは２サイクル予測、ＭＰＳＥは連続ＭＰＳ処理予測、ＤＳＥ＋ＭＰＳＥはこれらを切り替えた例を、それぞれ示している。この表に示すように、いずれのシーケンスに対しても２サイクル予測、連続ＭＰＳ処理予測によって演算量を削減でき、特に２サイクル予測が良好な結果を示している。またこれらを切り替える方式では、一層の演算量削減が図られ、本実施の形態の有用性が確認できた。またシミュレーション結果によれば、コンテキストの変更許可数を増すほど、削減率は向上した。ただ、コンテキストの変更許可数を増加すると、削減できるサイクル数は増加するものの、回路構成が複雑化して回路面積が増大するというデメリットもあるので、サイクル数削減効果と回路構成に要するコスト、要求される仕様などに応じて適宜決定する。【０１１３】
【表１】
0004547503.tif 000002
【０１１４】
【表２】
0004547503.tif 000003
【０１１５】
【表３】
0004547503.tif 000004
【０１１６】
【表４】
0004547503.tif 000005
【０１１７】
【表５】
0004547503.tif 000006
【０１１８】
なお他の実施の形態に係る算術符号化装置は、多値信号を２値化するための２値化部と、２値化部で生成された２値シンボルを算術符号化するための算術符号化部と、コンテキスト番号を生成するためのコンテキスト計算部と、２値化部で生成された２値シンボルに基づいて、優勢シンボル或いは劣勢シンボルが示すシンボル値とシンボル出現確率とを更新するための更新部と、コンテキスト計算部で計算されたコンテキスト番号をインデックスとして、シンボル値とシンボル出現確率とを格納するための確率状態格納部とを備える算術符号化装置であって、算術符号化部は、劣勢シンボルの区間を発生確率に基づいて分割した領域ｒＬＰＳの予測値を格納する第１格納部と、同じくｒＬＰＳの予測値を格納する、第１格納部とは別個の第２格納部と、第１格納部に格納されたｒＬＰＳの予測値及び初期の区間を参照して算術符号化を行い区間を更新する第１演算部と、同じく第２格納部に格納されたｒＬＰＳの予測値及び前記第１演算部で更新された更新区間を参照して算術符号化を行う、第１演算部とは別個の第２演算部と、シンボル出現確率及び優勢シンボルが示すシンボル値を更新する第１コンテキスト更新テーブルと、同じくシンボル出現確率及び優勢シンボルが示すシンボル値を更新する、第１コンテキスト更新テーブルとは別個の第２コンテキスト更新テーブルとを備え、第１コンテキスト更新テーブルは、入力されたコンテキストに対する出力を同サイクル中に前記第２コンテキストテーブルに入力可能な組み合わせ回路で構成されている。これにより、１サイクル中に２ビット以上の処理が可能な高速な算術符号化を実現できる。【０１１９】
算術符号化装置においては、第１コンテキスト更新テーブル及び第２コンテキスト更新テーブルを組み合わせ回路で構成できる。これによって処理の高速化が図られる。なお、第１コンテキスト更新テーブルをＲＯＭで、第２コンテキスト更新テーブルを組み合わせ回路で構成してもよく、これによって算術符号化を安価に実現できる。
【産業上の利用可能性】
【０１２０】
本発明の算術符号化装置、算術符号化方法、算術符号化プログラム及びプログラムを格納したコンピュータで読み取り可能な記録媒体は、動画像信号を圧縮して記録したり伝送する用途に有用であり、例えば携帯端末装置、動画像撮像装置、動画像記録・再生装置等、高画質動画像を処理する装置及びその応用分野において好適に利用できる。
【図面の簡単な説明】
【０１２１】
【図１】Ｈ．２６４／ＡＶＣの符号化処理処理により、画像データからビットストリームを得る動画像符号化／復号装置を示すブロック図である。
【図２】算術符号化・復号化の概念を説明するための概念図である。
【図３】２値算術符号化を行う手順を示す概念図である。
【図４】ＣＡＢＡＣ処理を行う算術符号化装置を示すブロック図である。
【図５】図４の２値算術符号化部の詳細を示すブロック図である。
【図６】再正規化の手順を示す概念図である。
【図７】算術符号化装置を示すブロック図である。
【図８】図７の算術符号化装置の動作を示す概念図である。
【図９】本実施の形態１に係る算術符号化装置を示すブロック図である。
【図１０】図９の第１メモリ部を示す概念図である。
【図１１】本実施の形態１に係る算術符号化装置の変形例を示すブロック図である。
【図１２】図９に示す算術符号化装置の算術符号化部のブロック図である。
【図１３】図１２の算術符号化部の動作を示す概念図である。
【図１４】他の構成に係る算術符号化部を示すブロック図である。
【図１５】連続ＭＰＳ処理予測の手順を示す概念図である。
【図１６】コンテキストが一定の場合のＭＰＳ連続数テーブルを示す概念図である。
【図１７】図１７（ａ）再正規化を行う様子を示す概念図、図１７（ｂ）は再正規化を考慮したｒａｎｇｅ予測を示す概念図である。
【図１８】再正規化を考慮した連続ＭＰＳ処理予測部のブロック図である。
【図１９】連続するＭＰＳ処理において、コンテキストが変化する様子を示す概念図である。
【図２０】ＭＰＳ連続数テーブルの例を示す概念図である。
【図２１】コンテキストが変化する場合に連続ＭＰＳ処理予測を実現する連続ＭＰＳ処理予測部を構成するブロック図である。
【図２２】詳細な連続ＭＰＳ処理予測部のブロック図を示す。
【図２３】本発明の実施の形態３に係る算術符号化装置を示すブロック図である。
【図２４】本発明の実施の形態３に係る算術符号化装置を示すブロック図である。
【図２５】２サイクル予測と連続ＭＰＳ処理予測を予測手法切替部で切り替える様子を示すブロック図である。
【図２６】Ｈ．２６４／ＡＶＣによる算術符号化・復号の処理プロセスのフローチャートである。
【図２７】Ｈ．２６４／ＡＶＣの算術符号化の処理プロセスを具現化した算術符号化装置を示すブロック図である。
【図２８】従来の算術符号化装置を示すブロック図である。
【図２９】２サイクル予測を行う算術符号化部の変形例を示すブロック図である。
【図３０】図２９の算術符号化部による算術符号化の手順を示すフローチャートである。
【図３１】連続ＭＰＳ処理予測を行う算術符号化部の変形例を示すブロック図である。
【図３２】図３１の算術符号化部による算術符号化の手順を示すフローチャートである。
【図３３】図２９、図３１の算術符号をパイプライン処理で行う様子を示すタイミングチャートである。
【符号の説明】
【０１２２】
１…ＤＭＡ
２…動き探索部
３…デブロッキングフィルタ
４…動き補償部
５…変換部
６…量子化部
７…逆量子化部
８…逆変換部
９…全体制御部
１０…算術符号化／復号装置
１０Ａ…算術符号化装置
１１…可変長復号化部
１２、１１２…２値化部
１４、１１４、６１４…コンテキスト計算部
１６、１１６…２値算術符号化部
２０…ｒＬＰＳテーブル
３０…コンテキスト変更テーブル
４０、１４０…演算部
５０…再正規化部
７０、１７０…コンテキスト更新部
１００…動画像符号化／復号装置
１１７…第１メモリ部
１１７Ａ…メモリ部
１１８…第２メモリ部
１１９…予測部
１２０…第１ｒＬＰＳテーブル
１２１…出力バッファ
１２２…第２ｒＬＰＳテーブル
１６０、３６０…符号ビット生成部
２００、３００…算術符号化装置
２１６、３１６…算術符号化部
２１７、２１７Ｂ…コンテキストメモリ部
２１８、２１８Ｂ…ｒａｎｇｅメモリ部
２１９、２１９Ｂ…ｌｏｗメモリ部
２２０…第１ｒＬＰＳテーブル
２２２…第２ｒＬＰＳテーブル
２２４…第１選択器
２２６…第２選択器
２３０、２３０Ｂ…第１コンテキスト更新テーブル
２３２、２３２Ｂ…第２コンテキスト更新テーブル
２４０…第１ｒａｎｇｅ更新部
２４２…第２ｒａｎｇｅ更新部
２５０、２５０Ｂ…第１ｌｏｗ更新部
２５２、２５２Ｂ…第２ｌｏｗ更新部
３０１…第１算術符号化手段
３０２…第２算術符号化手段
３２０…第１ｒＬＰＳテーブル
３２２…第２ｒＬＰＳテーブル
３３０…第１コンテキスト更新テーブル
３３２…第２コンテキスト更新テーブル
３４０…第１演算部
３４２…第２演算部
３５０…第１再正規化部
３５２…第２再正規化部
４００、４００Ｂ、５００…連続ＭＰＳ処理予測部
４２０…ｒａｎｇｅテーブル
４２０Ａ、４２０Ｂ…予測テーブル
４３０…コンテキスト更新テーブル
４５０…再正規化部
５２０、５２０Ｂ…第１ｒａｎｇｅテーブル
５２２、５２２Ｂ…第２ｒａｎｇｅテーブル
５３０…第１コンテキスト更新テーブル
５３２…第２コンテキスト更新テーブル
５５０…再正規化部
６００…算術符号化装置
６１０…算術符号化部
６１７…第１メモリ部
６１８…第２メモリ部
６２１…入力バッファ
６２２…２サイクル予測部
６２３…連続ＭＰＳ処理予測部
６２４…予測手法切替部
７００…算術符号化装置
７１０…適応算術符号化・復号部
７１１…算術符号化・復号部
７１２…シンボル出現確率制御部
７１３…確率状態格納部
７２０…コンテキスト計算部
７３０…符号化・復号制御部
８００…算術符号化装置
８１０…適応算術符号化部
８１１…算術符号化部
８１４…シンボル出現確率制御部
８１５…確率状態格納部
８２０…コンテキスト計算部
８２１…レジスタ
８２２…比較判定部
８３０…符号化制御部
ＦＭ…フレームメモリ
【図１】
0004547503.tif 000007
【図２】
0004547503.tif 000008
【図３】
0004547503.tif 000009
【図４】
0004547503.tif 000010
【図５】
0004547503.tif 000011
【図６】
0004547503.tif 000012
【図７】
0004547503.tif 000013
【図８】
0004547503.tif 000014
【図９】
0004547503.tif 000015
【図１０】
0004547503.tif 000016
【図１１】
0004547503.tif 000017
【図１２】
0004547503.tif 000018
【図１３】
0004547503.tif 000019
【図１４】
0004547503.tif 000020
【図１５】
0004547503.tif 000021
【図１６】
0004547503.tif 000022
【図１７】
0004547503.tif 000023
【図１８】
0004547503.tif 000024
【図１９】
0004547503.tif 000025
【図２０】
0004547503.tif 000026
【図２１】
0004547503.tif 000027
【図２２】
0004547503.tif 000028
【図２３】
0004547503.tif 000029
【図２４】
0004547503.tif 000030
【図２５】
0004547503.tif 000031
【図２６】
0004547503.tif 000032
【図２７】
0004547503.tif 000033
【図２８】
0004547503.tif 000034
【図２９】
0004547503.tif 000035
【図３０】
0004547503.tif 000036
【図３１】
0004547503.tif 000037
【図３２】
0004547503.tif 000038
【図３３】
0004547503.tif 000039