(57)【特許請求の範囲】
【請求項１】
入力されるシンタックス要素を二値化データへ変換する二値化手段と、
前記二値化データのビット毎のコンテキスト情報を特定するためのコンテキストインデックスを生成するコンテキスト計算手段と、
コンテキスト情報を保持するコンテキストメモリ手段と、
生成された前記コンテキストインデックスに対応して前記コンテキストメモリ手段から出力されたコンテキスト情報と、前記二値化データとを用いて算術符号化を行う算術符号化手段と
を備えるエントロピー符号化装置であって、
前記コンテキストメモリ手段は、
記憶手段と、
生成された前記コンテキストインデックスに基づいて、コンテキスト情報の初期値を生成する初期値生成手段と、
前記初期値と、前記記憶手段に保持され、前記生成されたコンテキストインデックスに対応するコンテキスト情報との、いずれを選択するかを指示する制御信号を出力する制御手段と、
前記初期値と、前記生成されたコンテキストインデックスに対応するコンテキスト情報とのいずれかを、前記制御信号に基づき選択する選択手段と、
前記選択手段の選択結果と、前記二値化データとの比較結果に基づき、更新されたコンテキスト情報を生成する更新手段と、
を備え、
前記記憶手段は、前記更新手段により生成された前記更新されたコンテキスト情報を、前記生成されたコンテキストインデックスと関連づけて保持し、
前記制御手段は、
前記コンテキストインデックスの種別数に対応するビット数を有するレジスタを有し、
前記生成されたコンテキストインデックスの種別に対応する、前記レジスタのビット位置の値に応じて、前記制御信号を出力することを特徴とするエントロピー符号化装置。
【請求項２】
前記制御手段は、
前記生成されたコンテキストインデックスと、該コンテキストインデックスがスライス先頭に相当するか否かを示す信号とを受信する受信手段を更に有し、
受信した前記信号に基づき前記スライス先頭を検知した場合に、前記レジスタをリセットし、該リセットの後に受信したコンテキストインデックスの種別に対応するレジスタのビット位置をアサートすることを特徴とする請求項１に記載のエントロピー符号化装置。
【請求項３】
二値化手段が、入力されるシンタックス要素を二値化データへ変換する二値化工程と、
コンテキスト計算手段が、前記二値化データのビット毎のコンテキスト情報を特定するためのコンテキストインデックスを生成するコンテキスト計算工程と、
コンテキストメモリ手段が、生成されたコンテキストインデックスに対応するコンテキスト情報を出力する出力工程と、
算術符号化手段が、出力された前記コンテキスト情報と、前記二値化データとを用いて算術符号化を行う算術符号化工程と
を備える、エントロピー符号化装置におけるエントロピー符号化方法であって、
前記コンテキストメモリ手段は、記憶手段と、初期値生成手段と、制御手段と、選択手段と、更新手段とを備え、
前記出力工程は、
前記初期値生成手段が、生成された前記コンテキストインデックスに基づいて、コンテキスト情報の初期値を生成する初期値生成工程と、
前記制御手段が、前記初期値と、コンテキスト情報を保持する前記記憶手段に保持され、前記生成されたコンテキストインデックスに対応するコンテキスト情報との、いずれを選択するかを指示する制御信号を出力する制御工程と、
前記選択手段が、前記初期値と、前記生成されたコンテキストインデックスに対応するコンテキスト情報とのいずれかを、前記制御信号に基づき選択する選択工程と、
前記更新手段が、前記選択工程における選択結果と、前記二値化データとの比較結果に基づき、更新されたコンテキスト情報を生成する更新工程と
を備え、
前記記憶手段は、前記更新工程において生成された前記更新されたコンテキスト情報を、前記生成されたコンテキストインデックスと関連づけて保持し、
前記制御手段は、
前記コンテキストインデックスの種別数に対応するビット数を有するレジスタを有し、
前記制御工程では、
前記生成されたコンテキストインデックスの種別に対応する、前記レジスタのビット位置の値に応じて、前記制御信号が出力されることを特徴とするエントロピー符号化方法。
【請求項４】
前記制御手段は、
前記生成されたコンテキストインデックスと、該コンテキストインデックスがスライス先頭に相当するか否かを示す信号とを受信する受信手段を更に有し、
前記制御工程では、
受信した前記信号に基づき前記スライス先頭を検知した場合に、前記レジスタをリセットし、該リセットの後に受信したコンテキストインデックスの種別に対応するレジスタのビット位置をアサートすることを特徴とする請求項３に記載のエントロピー符号化方法。
【請求項５】
コンピュータを、請求項１または２に記載のエントロピー符号化装置の各手段として動作させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エントロピー符号化装置、エントロピー符号化方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、ディジタル信号処理、ＬＳＩの高集積化、高速化などの進歩により、動画像や静止画像、音声等、大量のディジタル情報を高能率符号化し、記録媒体への記録及び通信媒体による伝送を行うことが可能になってきている。このような技術を応用し、テレビ放送や、ディジタルビデオカメラの映像をストリームに変換できる動画像符号化装置の開発が行われている。
【０００３】
動画像符号化の規格として近年、ＩＴＵ−Ｔによって策定された  Ｈ．２６４（ＡＶＣ）が注目されている。Ｈ．２６４では、従来の動画像符号化の規格であるＭＰＥＧよりも高能率符号化を実現している。Ｈ．２６４が高能率の符号化を実現させた理由として様々な要因があるが、そのうちの一つとしてエントロピー符号化によるものがある。特に高能率のエントロピー符号化を実現する方式として、Ｈ．２６４ではＣＡＢＡＣ（Ｃｏｎｔｅｘｔ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｅｍｅｔｉｃ  Ｃｏｄｉｎｇ）という算術符号化を用いたエントロピー符号化を採用している。また、ＣＡＢＡＣについて記した特許文献としては、特許文献１がある。
【０００４】
Ｈ．２６４で採用されたエントロピー符号化部としてのＣＡＢＡＣの主な構成を図４に示す。エントロピー符号化部４００の入力データであるシンタックス要素とは、動きベクトル情報、変換係数、量子化パラメータ等のデータであり、それぞれのデータは多値信号である。ＣＡＢＡＣは、主に以下の４つのブロックによって構成されている。
【０００５】
第一に、多値入力データであるシンタックス要素に対して、各シンタックス要素の種別毎に定められた二値化方式を用いて多値入力に対して二値化を行い、二値化データＤ４２を出力する二値化部４０１がある。二値化部４０１はまた、後述するコンテキストインデックスを生成するために必要な情報Ｄ４１を後述するコンテキスト計算部４０２に出力する。
【０００６】
第二に、二値化データＤ４２の１ビット毎に、コンテキスト情報を定めるコンテキストインデックスＤ４３を出力するコンテキスト計算部４０２がある。コンテキスト情報とは、予測シンボル情報と発生確率情報から構成されており、後述する二値算術符号化部４０４において用いられる信号である。予測シンボル情報とは、二値化部４０１から出力された二値化データＤ４２の１ビット毎に対して、発生する確率が統計的に高いシンボルの値である。また、発生確率情報は、その発生確率を間接的に示すデータである。
【０００７】
ＣＡＢＡＣでは、符号化中にコンテキスト情報を符号化結果に基づいて更新し、入力データに適したコンテキスト情報を符号化途中で構築していく。このような振る舞いをするコンテキスト情報を用いることでＣＡＢＡＣ符号化は、高効率な符号化を実現している。
【０００８】
またＨ．２６４の規格書において、コンテキスト情報の初期値が４６０種類、間接的に定義されている。この４６０種類のコンテキスト情報を管理するのがコンテキストインデックスＤ４３である。コンテキストインデックスＤ４３は０から４５９までの値を取り、コンテキストインデックスＤ４３の値各々に対して１つのコンテキスト情報が対応して存在する。
【０００９】
図４の説明に戻り、第三に、コンテキスト情報を保持するコンテキストメモリ部４０３がある。コンテキストメモリ部４０３は、コンテキスト計算部４０２において生成されたコンテキストインデックスＤ４３毎にコンテキスト情報を保持する記憶部である。コンテキストメモリ部４０３は、コンテキスト情報Ｄ４４を後述する二値算術符号化部４０４に出力する。
【００１０】
第四に、コンテキスト情報Ｄ４４と、二値化データＤ４２を用いて二値算術符号化を行う二値算術符号化部４０４がある。
【００１１】
Ｈ．２６４の規格書によると、ＣＡＢＡＣでは、新しいスライスを符号化する毎に、コンテキスト情報を初期化することが定められている。つまりＣＡＢＡＣによる符号化中に、スライスの先頭を検知すると、コンテキストメモリ部４０３に保持していたコンテキスト情報に対して初期化処理を行う。初期化処理を終えてから符号化処理を行う。
【００１２】
図５を用いて初期化処理と符号化の時間的な概念を説明する。図５の上部に示すフレーム５０１は、ｎ個のスライスに分割された１フレームを示している。図５の下部に示すグラフは、横軸に時間軸をとり、初期化処理の処理時間と、ＣＡＢＡＣ符号化の処理時間とを示している。
【００１３】
まず時刻ｔ１においてスライス＃１の先頭を検知すると、時刻ｔ１からスライス＃１の初期化処理を開始し、４６０種類のコンテキスト情報を初期化する。時刻ｔ２において、スライス＃１のコンテキスト情報の初期化処理が終了すると、初期化されたコンテキスト情報を利用して符号化処理を始める。時刻ｔ３において、スライス＃２の先頭が検知されれば、同様にしてスライス＃２のコンテキスト情報の初期化処理を開始する。そして、時刻ｔ４においてスライス＃２のコンテキスト情報の初期化処理が終了すると、初期化されたコンテキスト情報を利用して符号化処理を始める。
【特許文献１】特開２００４−１３５２５１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
上述の初期化処理では、コンテキスト情報は４６０種類存在するので、完了するまでにそれ相応の処理時間が必要になり、また１フレームが複数のスライスで構成されている場合にはコンテキスト情報の初期化処理がスライス分実行される。従来の技術ではコンテキスト情報の初期値を生成する演算量が多く、処理時間がかかるという問題があった。
【００１５】
そこで本発明では、コンテキスト情報の初期化を行うために必要な処理サイクルを低減し、コンテキスト情報の初期化を高速化する技術を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記課題を解決するための本発明は、
入力されるシンタックス要素を二値化データへ変換する二値化手段と、
前記二値化データのビット毎のコンテキスト情報を特定するためのコンテキストインデックスを生成するコンテキスト計算手段と、
コンテキスト情報を保持するコンテキストメモリ手段と、
生成された前記コンテキストインデックスに対応して前記コンテキストメモリ手段から出力されたコンテキスト情報と、前記二値化データとを用いて算術符号化を行う算術符号化手段と
を備えるエントロピー符号化装置であって、
前記コンテキストメモリ手段は、
記憶手段と、
生成された前記コンテキストインデックスに基づいて、コンテキスト情報の初期値を生成する初期値生成手段と、
前記初期値と、前記記憶手段に保持され、前記生成されたコンテキストインデックスに対応するコンテキスト情報との、いずれを選択するかを指示する制御信号を出力する制御手段と、
前記初期値と、前記生成されたコンテキストインデックスに対応するコンテキスト情報とのいずれかを、前記制御信号に基づき選択する選択手段と、
前記選択手段の選択結果と、前記二値化データとの比較結果に基づき、更新されたコンテキスト情報を生成する更新手段と、
を備え、
前記記憶手段は、前記更新手段により生成された前記更新されたコンテキスト情報を、前記生成されたコンテキストインデックスと関連づけて保持し、
前記制御手段は、
前記コンテキストインデックスの種別数に対応するビット数を有するレジスタを有し、
前記生成されたコンテキストインデックスの種別に対応する、前記レジスタのビット位置の値に応じて、前記制御信号を出力する。
【発明の効果】
【００１７】
本発明によれば、コンテキスト情報を初期化するために必要であった処理サイクルを少ないハードウェアリソースを追加することで、低減することができる。
【発明を実施するための最良の形態】
【００１８】
以下、発明の実施形態を添付の図面を参照して詳細に説明する。
【００１９】
本実施形態のエントロピー符号化（ＣＡＢＡＣ）装置は、図４のブロック図に示した構成のうち、二値化部４０１、コンテキスト計算部４０２及び二値算術符号化部４０４の構成を備える。二値化部４０１は、多値入力データであるシンタックス要素に対して、各シンタックス要素の種別毎に定められた二値化方式を用いて、入力されるシンタックス要素を二値化データへと変換する。二値化部４０１は、後述するコンテキストインデックスを生成するために必要な情報Ｄ４１を後述するコンテキスト計算部４０２に出力する。また、コンテキスト計算部４０２は、二値化データＤ４２の１ビット毎に、コンテキスト情報を定めるコンテキストインデックスＤ４３を出力する。さらに、二値算術符号化部４０４は、入力されるコンテキスト情報（後述するＤ１１）と二値化データＤ４２とを用いて、二値算術符号化を行う。
【００２０】
本実施形態のエントロピー符号化装置は、図４に示したコンテキストメモリ部４０３の代わりに、コンテキストメモリ部１００を備える。図１は本実施形態におけるコンテキストメモリ部１００のブロック図である。図１のコンテキストメモリ部１００は、図４のエントロピー符号化部４００においてコンテキスト計算部４０２と二値算術符号化部４０４との間に配置される。
【００２１】
コンテキストメモリ部１００は、符号化対象である１ビットの二値化データＤ４２と、二値化データ毎に割り当てられたコンテキストインデックスＤ４３と、スライスの先頭が入力されたことを示すスライススタート信号Ｄ１５とを入力とする。スライススタート信号Ｄ１５は、入来するシンタックス要素に対して二値化部４０１によって生成されてもよいし、シンタックス要素を解析する不図示の解析部によって生成されても良い。
【００２２】
本実施形態に対応するコンテキストメモリ部１００は、例えば以下の要素を有する。
【００２３】
メモリ１０１は、コンテキスト情報を保持するメモリである。メモリ１０１には、コンテキスト計算部４０２からのコンテキストインデックスＤ４３が書込みアドレスとして入力され、該コンテキストインデックスＤ４３が更新部１０４の出力である更新されたコンテキスト情報Ｄ１１と関連づけられて格納される。またコンテキストインデックスＤ４３を読出しアドレスとして、メモリ１０１に格納されているコンテキスト情報Ｄ１２を選択部１０３に出力する。
【００２４】
ここで、コンテキスト情報Ｄ１２は、予測シンボル情報（発生する確率が統計的に高いシンボル）と、発生確率情報（発生する確率が統計的に高い該シンボルの発生確率を間接的に示すデータ）とを含む。
【００２５】
初期値生成部１０２は、コンテキストインデックスＤ４３の入力に対応するコンテキスト情報の初期値Ｄ１３を生成し、選択部１０３に出力する。選択部１０３は、メモリ１０１からのコンテキスト情報Ｄ１２と初期値生成部１０２からの初期値Ｄ１３を入力とし、制御部１０５からの制御信号Ｄ１０に従っていずれかを選択し、コンテキスト情報Ｄ１４として更新部１０４へ出力する。
【００２６】
更新部１０４は、二値化データＤ４２と、選択部１０３における選択結果としてのコンテキスト情報Ｄ１４とを入力とし、二値化データＤ４２の値とコンテキスト情報Ｄ１４に含まれる予測シンボル情報の値とを比較する。比較結果において、もし２つの値が等しい場合は、入力されたコンテキスト情報Ｄ１４を更新せずにコンテキスト情報Ｄ１１として出力する。一方、比較結果において２つの値が等しくない場合は、コンテキスト情報Ｄ１４に含まれる発生確率情報を予め定められた特定のテーブルに従って更新し、コンテキスト情報Ｄ１１として出力する。更新部１０４からの出力は、メモリ１０１と二値算術符号化部４０４とにそれぞれ出力される。
【００２７】
制御部１０５は、スライス先頭がエントロピー符号化部４００に入力された時に「Ｈｉｇｈ」となるフラグ信号であるスライススタート信号Ｄ１５と、コンテキストインデックスＤ４３とが入力される。スライススタート信号Ｄ１５の「Ｈｉｇｈ」を検知すると、入力されたコンテキストインデックスＤ４３が、該検知後に初めて入力される種別のものか否かを判定する。
【００２８】
スライススタート信号Ｄ１５の「Ｈｉｇｈ」を検知してから、初めて入力されるコンテキストインデックスか否かを判定するために、本実施形態では、制御部１０５がレジスタを備えることとする。コンテキストインデックスは０から４５９までの値（種別数）であることがＨ．２６４に係る規格書に記載されているので、ここでは該種別数に対応するビット数の４６０ビットのレジスタを用意する。
【００２９】
このレジスタを利用することで、図２ａ、図２ｂ、図３ａおよび図３ｂを参照して詳述するように、入力されたコンテキストインデックスＤ４３に対応するコンテキスト情報が初期化済みかどうかを判断できる。もし、初期化済みと判断されれば、メモリ１０１からのコンテキスト情報Ｄ１２の選択を指示する制御信号Ｄ１０を選択部１０３へ出力する。一方、初期化済みでない判断されれば、初期値生成部１０２からの初期値Ｄ１３の選択を指示する制御信号Ｄ１０を選択部１０３へ出力する。
【００３０】
次に、図２ａおよび図２ｂを参照して、メモリ１０１における初期化処理の流れを説明する。図２ａは、制御部１０５における処理の一例を示すタイミングチャートを示す。また、図２ｂは、制御部１０５における処理の一例を示すフローチャートを示す。
【００３１】
図２ａのクロック２０１は、コンテキストメモリ部１００で用いられる動作クロックを示す。スライススタート信号Ｄ１５は、エントロピー符号化部４００に入力されるデータがスライスの先頭である場合に「Ｈｉｇｈ」となるフラグ信号である。スライススタート信号Ｄ１５を取得することにより、コンテキストメモリ部１００は、入力されるコンテキストインデックスＤ４３が、スライス先頭に相当するか否かを判定することができる。例えば、スライススタート信号Ｄ１５は、図２ａに示すタイミングｔ０において「Ｈｉｇｈ」となる。即ち、タイミングｔ１から入力されるデータがスライスの先頭であることを意味する。
【００３２】
コンテキストインデックスＤ４３は、コンテキストメモリ部１００に入力されるコンテキストインデックスである。タイミングｔ１で入力されるコンテキストインデックスが、スライス先頭のコンテキストインデックスに相当する。
【００３３】
レジスタ[０]、レジスタ[１]、レジスタ[２]、レジスタ[３]、レジスタ[４]、レジスタ[５]は、４６０ビットレジスタの各ビット位置の値を示している。例えば、レジスタ[０]は、４６０ビットレジスタの０ビット目であることを示している。勿論、逆に４５９ビット目でも良い。
【００３４】
以下、図２ｂのフローチャートを更に参照して、制御部１０５における動作をより詳細に説明する。
【００３５】
制御部１０５は、スライススタート信号Ｄ１５を受信すると、ステップＳ２０１において「Ｈｉｇｈ」であるか否かを判定する。図２ａでは、タイミングｔ０において、スライススタート信号Ｄ１５が「Ｈｉｇｈ」となる（ステップＳ２０１において「ＹＥＳ」）。この場合、ステップＳ２０２に移行して、４６０ビットレジスタの各ビットの値を「０」にリセットする。また、スライススタート信号Ｄ１５が「Ｌｏｗ」の場合（ステップＳ２０１において「ＮＯ」）、ステップＳ２０３に移行する。
【００３６】
ステップＳ２０３では、コンテキストインデックスＤ４３を受信する。図２ａでは、タイミングｔ１において、コンテキストインデックスの値「１」が入力される。続くステップＳ２０４では、受信したコンテキストインデックスの値に対応するビット位置のレジスタ値が「Ｈｉｇｈ」になっているか否かを判定する。
【００３７】
もし、レジスタ値が「Ｌｏｗ」の場合（ステップＳ２０４において「ＮＯ」）、制御部１０５は、スライス先頭データの入力後に初めて入力されるコンテキストインデックスと判定できる。該コンテキストインデックスは、初期化が必要なコンテキスト情報に対応するものである。この場合、ステップＳ２０５に移行して、受信したコンテキストインデックスＤ４３の値に対応するビット位置のレジスタ値を「Ｈｉｇｈ」にアサートする。
【００３８】
例えば、タイミングｔ１では、コンテキストインデックスＤ４３の値が「１」を示しているので、４６０ビットレジスタの１ビット目であるレジスタ[１]を「Ｈｉｇｈ」にアサートする。同様に、タイミングｔ２では、コンテキストインデックスＤ４３の値は「２」であるので、レジスタの２ビット目であるレジスタ[２]をＨｉｇｈにアサートする。続くステップＳ２０６では、選択部１０３に対し、「Ｈｉｇｈ」の制御信号Ｄ１０を出力する。
【００３９】
また、ステップＳ２０４において、レジスタ値が「Ｈｉｇｈ」の場合（ステップＳ２０４において「ＹＥＳ」）、制御部１０５は、スライス先頭データの入力後に既に入力されたコンテキストインデックスと判定できる。該コンテキストインデックスは、初期化が必要ないコンテキスト情報に対応するものである。例えば、タイミングｔ５では、タイミングｔ２と同じコンテキストインデックスＤ４３の値「２」が入力される。しかし、レジスタ[２]は既にタイミングｔ３において「Ｈｉｇｈ」にアサートされている。よって、タイミングｔ５においては、４６０ビットレジスタのビットの値の変化はない。そこで、ステップＳ２０７に移行し、選択部１０３に対し「Ｌｏｗ」の制御信号Ｄ１０を出力する。これにより、選択部１０３はメモリ１０１から出力されるコンテキスト情報Ｄ１２を選択することとなる。
【００４０】
ステップＳ２０６又は、ステップＳ２０７における処理が終わると、ステップＳ２０１に戻って、次のスライススタート信号Ｄ１５の「Ｈｉｇｈ」を検知するまで、コンテキストインデックスＤ４３の値に応じてレジスタ値を更新していく。
【００４１】
このように、制御部１０５は４６０ビットのレジスタを有し、コンテキストインデックスＤ４３の値に応じて４６０ビットレジスタの各ビットの値を変化させる。これにより、スライススタート信号Ｄ１５の「Ｈｉｇｈ」を検知してから、初めて入力される種別のコンテキストインデックスであるか否かを判定することができる。
【００４２】
次に図３ａおよび図３ｂを参照して、選択部１０３におけるコンテキスト情報の選択処理について説明する。図３ａは、選択部１０３における処理の一例を示すタイミングチャートである。図３ｂは、選択部１０３における処理の一例を示すフローチャートである。
【００４３】
図３ａにおいて、クロック２０１はコンテキストメモリ部１００で用いられている動作クロックである。
【００４４】
コンテキストインデックスＤ４３は、コンテキストメモリ部１００に、コンテキスト計算部４０２から入力される信号である。各信号に付与された記号Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｈ、Ｉは、コンテキストインデックスＤ４３の種別を示す。図３ａでは、記号Ａは隠れているが、実際は記号Ｂの前に存在している。。
【００４５】
制御信号Ｄ１０は、制御部１０５から選択部１０３へ出力される制御信号を示している。コンテキスト情報Ｄ１２は、メモリ１０１から出力されるコンテキスト情報であり、図３ａに示す記号Ａ'、Ｂ'、Ｃ'、Ｄ'、Ｅ'、Ｆ'、Ｇ'、Ｈ'はコンテキスト情報の種別を示している。それぞれ、コンテキストインデックスＤ４３のＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｈに対応している。
【００４６】
コンテキスト情報Ｄ１３は、初期値生成部１０２から出力されるコンテキスト情報の初期値である。初期値生成部１０２には、コンテキストインデックスＤ４３が入力されており、入力されたコンテキストインデックスＤ４３に対応した初期化されたコンテキスト情報Ｄ１３を常に出力している。図３ａに示す記号a'、b'、c'、d'、e'、f'、g'、h' はコンテキスト情報の種別を示し、コンテキストインデックスＤ４３のＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｈに対応している。
【００４７】
コンテキスト情報Ｄ１４は選択部１０３からの出力を示している。制御信号Ｄ１０が「Ｌｏｗ」の時には、コンテキスト情報Ｄ１２を選択して出力する。また、制御信号Ｄ１０が「Ｈｉｇｈ」の時には、コンテキスト情報Ｄ１３を選択して出力する。
【００４８】
以下、図３ｂのフローチャートを更に参照して、選択部１０３における動作をより詳細に説明する。
【００４９】
選択部１０３は、ステップＳ３０１において、制御部１０５から制御信号Ｄ１０、メモリ１０１からコンテキスト情報Ｄ１２、初期値生成部１０２からコンテキスト情報Ｄ１３を受信する。なお、図３ａでは、制御信号Ｄ１０を、各コンテキスト情報より早い１クロック早いタイミングで受信する場合を記載しているが、信号のタイミングは設計事項であるので、図３ｂのフローチャートの説明では厳密なタイミングまでは考えない。
【００５０】
続くステップＳ３０２では、受信した制御信号Ｄ１０が「Ｈｉｇｈ」で有るか否かを判定する。もし「Ｈｉｇｈ」の場合には（ステップＳ３０２において「ＹＥＳ」）、ステップＳ３０３に移行する。制御信号Ｄ１０が「Ｈｉｇｈ」であるということは、制御部１０５にスライススタート信号Ｄ１５が入力され、コンテキスト情報の初期化が必要であることを意味する。そこで、ステップＳ３０３では、初期値生成部１０２からのコンテキスト情報であるＤ１３を選択する。
【００５１】
図３ａの例では、コンテキストインデックスＤ４３が、Ｄ、Ｆ、Ｇのコンテキスト情報の初期化が必要な場合を示している。コンテキストインデックスＤ、Ｆ、Ｇが入力されると、制御信号Ｄ１０が「Ｈｉｇｈ」になっている。そして選択部１０３では、コンテキスト情報Ｄ１３を選択して、コンテキスト情報Ｄ１４を出力していることがわかる。
【００５２】
一方、受信した制御信号Ｄ１０が「Ｌｏｗ」の場合には（ステップＳ３０２において「ＮＯ」）、ステップＳ３０４に移行する。制御信号Ｄ１０が「Ｌｏｗ」であるということは、コンテキスト情報の初期化が不要であることを意味する。そこで、ステップＳ３０３では、メモリ１０１からのコンテキスト情報であるＤ１２を選択する。
【００５３】
図３ａの例では、コンテキストインデックスＤ４３が、Ａ、Ｂ、Ｃ、Ｅ、Ｈのコンテキスト情報の初期化が不要な場合を示している。コンテキストインデックスＡ、Ｂ、Ｃ、Ｅ、Ｈが入力されると、制御信号Ｄ１０が「Ｌｏｗ」になっている。そして選択部１０３では、コンテキスト情報Ｄ１３を選択して、コンテキスト情報Ｄ１４を出力していることがわかる。
【００５４】
このように、本実施形態では、制御部１０５にレジスタを設けて、スライススタート後に初めて受信したコンテキストインデックスか否かに基づき、初期値とメモリ値とのいずれかを選択して出力することとしている。従って、メモリ１０１をコンテキスト情報の初期値で一斉に初期化する必要が無くなり、レジスタのみをリセットすればよい。また、メモリ１０１への初期値の書き込みは、入力されたコンテキストインデックスＤ４３の値に応じて順次行われる。これにより、初期化されたコンテキスト情報を生成する処理時間を低減することができる。
【００５５】
以上に説明した処理を実行することにより、コンテキスト情報の初期化を行うために必要な処理サイクルを低減し、コンテキスト情報の初期化を高速化することが可能になる。これにより、算術符号化処理のための処理時間を低減することが可能になる。
【００５６】
［その他の実施形態］
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【００５７】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【００５８】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【図面の簡単な説明】
【００５９】
【図１】発明の実施形態に対応するコンテキストメモリ部の構成の一例を示すブロック図である。
【図２ａ】発明の実施形態に対応する、制御部１０５における処理の一例を示すタイミングチャートを示す。
【図２ｂ】発明の実施形態に対応する、制御部１０５における処理の一例を示すフローチャートを示す。
【図３ａ】発明の実施形態に対応する、選択部１０３における処理の一例を示すタイミングチャートである。
【図３ｂ】発明の実施形態に対応する、選択部１０３における処理の一例を示すフローチャートである。
【図４】エントロピー符号化部の構成を示すブロック図である。
【図５】エントロピー符号化処理における初期化処理時間と符号化処理時間の関係を説明するための図である。
【符号の説明】
【００６０】
１００  コンテキストメモリ部
１０１  メモリ
１０２  初期値生成部
１０３  選択部
１０４  更新部
１０５  制御部
４００  エントロピー符号化部
４０１  二値化部
４０２  コンテキスト計算部
４０３  コンテキストメモリ部
４０４  二値算術符号化部
【図１】
0004865662.tif 000002
【図２ａ】
0004865662.tif 000003
【図２ｂ】
0004865662.tif 000004
【図３ａ】
0004865662.tif 000005
【図３ｂ】
0004865662.tif 000006
【図４】
0004865662.tif 000007
【図５】
0004865662.tif 000008