説明

算術符号化方法及び算術符号化装置

【課題】パイプライン構成を可能とし、スループットを向上させる。
【解決手段】算術符号化装置1は、複数に分割されたパイプライン構造を有し、このステージは、入力されたコンテキストに基づき、コンテキストの出現確率を示す出現確率情報を確定する出現確率情報確定ステージ2と、Aレジスタ21に格納された値を更新し、状態遷移テーブルに基づき出現確率情報を更新し、Aレジスタ21に格納された値を正規化するAレジスタ更新ステージ3と、Cレジスタ41に格納された値を更新し、Cレジスタ41に格納された値及びBレジスタ45に格納された値に基づき、コンテキストに対する符号化データを生成するCレジスタ更新ステージ4とからなる。算術符号化装置1は、このように分割されたステージ毎に順次処理を行い、入力されたコンテキストを符号化する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、算術符号化方法及び算術符号化装置に関し、特に、パイプライン処理により符号化処理を行う方法及び装置に関する。
【背景技術】
【0002】
従来、算術符号化は、画像処理装置等に用いられ、画像データを構成する画素の符号化処理の際に適用される(例えば、特許文献1)。算術符号化処理では、8ビットの符号化されたデータを生成する際に、キャリーが発生する場合がある。
【0003】
そこで、通常は、このようなキャリーを既に値が確定した符号化データに伝搬させないようにするため、ビット・スタフィングと呼ばれる処理が行われる。このとき、ビット・スタフィング処理を実行するか否かに応じて、正規化処理を実行した後のCTレジスタの更新値が変化する。従って、Cレジスタの値により、CTレジスタの更新値が決定される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第3185769号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、従来の算術符号化処理では、Aレジスタ、Cレジスタ及びCTレジスタの値を更新する際に、各々のレジスタの値を更新条件として用いるため、パイプライン構成とすることが困難であるという問題があった。パイプライン構成とすることができない場合、算術符号化処理では、1つの入力処理がすべて終了するまで次の入力を受け付けることができないため、処理を実行するために要する時間(実行スループット)が大幅に低下する。
【0006】
また、算術符号化処理をパイプライン構成とした場合には、演算量の多いAレジスタ及びCレジスタの更新タイミングを、異なるパイプラインステージに分割することができないという問題があった。Cレジスタの更新値は、Aレジスタの更新値を使用するため、Aレジスタ及びCレジスタが同一のパイプラインステージに存在すると、演算による遅延が積み重なり、パイプライン全体のスループットが低下する。これは、Aレジスタ及びCレジスタが共にCTレジスタを更新するアルゴリズムであり、かつ、正規化処理の実施を示すCTレジスタの値が「0」となった後のCTレジスタの更新値が、Cレジスタの更新後に決定されるためである。
【0007】
そこで、本発明は、上記従来の技術における問題点に鑑みてなされたものであって、パイプライン構成を可能とし、スループットを向上させることが可能な算術符号化方法及び算術符号化装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明は、入力されたコンテキストを符号化する算術符号化方法であって、複数のステージに分割され、パイプライン処理によって前記ステージ毎に順次処理を行い、前記ステージは、入力されたコンテキストに基づき、該コンテキストの出現確率を示す出現確率情報を確定する出現確率情報確定ステップによる処理を行う出現確率情報確定ステージと、Aレジスタに格納された値を更新するAレジスタ更新ステップ、状態遷移テーブルに基づき前記出現確率情報を更新する出現確率情報更新ステップ、及び前記Aレジスタに格納された値を正規化する正規化ステップによる処理を行うAレジスタ更新ステージと、Cレジスタに格納された値を更新するCレジスタ更新ステップ、及び前記Cレジスタに格納された値及びBレジスタに格納された値に基づき、前記コンテキストに対する符号化データを生成する符号化データ出力ステップによる処理を行うCレジスタ更新ステージとからなることを特徴とする。
【0009】
そして、本発明によれば、算術符号化処理を複数のステージに分割してパイプライン処理を行うと共に、Aレジスタ及びCレジスタを異なるステージに分割するため、1パイプラインステージ毎の演算量を低減させることができ、スループットを向上させることができる。
【0010】
上記算術符号化方法において、前記出現確率情報確定ステージは、前記入力されたコンテキストに基づき、出現確率情報保持レジスタに保持された複数の出現確率情報から、前記コンテキストに対応する出現確率情報を選択し、前記Aレジスタ更新ステージは、前記出現確率情報の値Qeと、前記Aレジスタに格納された値Aから前記値Qeを減算して得られる値A−QeとのうちいずれかをAレジスタ更新値として選択し、前記Aレジスタ更新値と、前記正規化ステップにより正規化されたAレジスタ更新値のうちいずれかを選択して前記Aレジスタに格納し、前記値Qe及び前記値A−Qeに基づき、前記Cレジスタに格納された値Cと、該値Cに前記値Qeを加算して得られる値C+Qeとのうちいずれかを選択するためのC判定情報を生成し、前記Cレジスタ更新ステージは、前記Aレジスタ更新ステージで生成された前記C判定情報に基づき、前記値C及び前記値C+QeのうちいずれかをCレジスタ更新値として選択して前記Cレジスタに格納し、前記Cレジスタに格納された値及び前記Bレジスタに格納された値とに基づき、前記符号化データ出力ステップで前記コンテキストに対する符号化データを生成することができる。
【0011】
上記算術符号化方法において、前記Cレジスタ更新ステージは、前記符号化データ出力ステップにより、CTレジスタに格納された値の更新値であるCTレジスタ更新値を出力し、前記Aレジスタ更新ステージは、前記CTレジスタに格納された値から、前記正規化による前記Aレジスタ更新値のシフト数を示す正規化シフト数を減算して得られる値と、前記Cレジスタ更新ステージから出力される前記CTレジスタ更新値とを加算し、前記CTレジスタに格納することができる。
【0012】
上記算術符号化方法において、前記CTレジスタは、負の値を格納可能とすることができる。これにより、Aレジスタ及びCレジスタを異なるステージに分割することができる。
【0013】
また、本発明は、入力されたコンテキストを符号化する算術符号化装置であって、複数に分割されたステージ毎に順次処理を行うパイプライン構造を有し、前記ステージは、入力されたコンテキストに基づき、該コンテキストの出現確率を示す出現確率情報を確定する出現確率情報確定ステージと、Aレジスタに格納された値を更新し、状態遷移テーブルに基づき前記出現確率情報を更新し、前記Aレジスタに格納された値を正規化するAレジスタ更新ステージと、Cレジスタに格納された値を更新し、前記Cレジスタに格納された値及びBレジスタに格納された値に基づき、前記コンテキストに対する符号化データを生成するCレジスタ更新ステージとからなることを特徴とする。本発明によれば、前記発明と同様に、Aレジスタ及びCレジスタを異なるステージに分割することにより、スループットを向上させることができる。
【0014】
上記算術符号化装置において、前記出現確率情報確定ステージは、複数のコンテキストに対応する出現確率情報を格納する出現確率情報保持レジスタと、前記入力されたコンテキストに基づき、前記複数の出現確率情報から、前記コンテキストに対応する出現確率情報を選択して出力する出現確率情報セレクタとを備え、前記Aレジスタ更新ステージは、前記Aレジスタと、前記Aレジスタに格納された値Aから前記出現確率情報の値Qeを減算する第1の減算器と、前記値Qe及び前記第1の減算器により得られる値A−Qeのうちいずれかを第1のAレジスタ更新値として選択して出力する第1のAレジスタ更新値セレクタと、前記第1のAレジスタ更新値を正規化する正規化処理部と、前記第1のAレジスタ更新値、及び前記正規化された第1のAレジスタ更新値のうちいずれかを第2のAレジスタ更新値として選択して出力する第2のAレジスタ更新値セレクタと、前記値Qe及び前記値A−Qeに基づき、前記第1のAレジスタ更新値セレクタによる選択を制御するA判定情報を生成すると共に、前記正規化処理部による前記第1のAレジスタ更新値に対する正規化を実施するか否かを判定する正規化判定情報を生成する第1の演算部とを備え、前記第2のAレジスタ更新値を前記Aレジスタに格納し、前記Cレジスタ更新ステージは、前記Cレジスタと、前記Cレジスタに格納された値Cに前記値Qeを加算する第1の加算器と、前記値C及び前記第1の加算器により得られる値C+QeのうちいずれかをCレジスタ更新値として選択して出力するCレジスタ更新値セレクタと、前記Cレジスタに格納された値及び前記Bレジスタに格納された値とに基づき、前記コンテキストに対する符号化データを生成する第2の演算部とを備え、前記Cレジスタ更新値を前記Cレジスタに格納することができる。
【0015】
上記算術符号化装置において、前記第1の演算部は、前記値Qe及び前記値A−Qeに基づき、前記Cレジスタ更新値セレクタによる選択を制御するC判定情報を生成することができる。
【0016】
上記算術符号化装置において、前記正規化処理部は、前記正規化による前記第1のAレジスタ更新値のシフト数を示す正規化シフト数を生成し、前記Aレジスタ更新ステージは、CTレジスタと、前記CTレジスタに格納された値から前記正規化シフト数を減算する第2の減算器と、前記第2の減算器により得られる値と、CTレジスタ更新値とを加算する第2の加算器とをさらに備え、前記第2の加算器から出力された値を前記CTレジスタに格納し、前記第2の演算部は、前記CTレジスタに格納された値の更新値であるCTレジスタ更新値を生成することができる。
【0017】
上記算術符号化装置において、前記CTレジスタは、負の値を格納可能とすることができる。これにより、Aレジスタ及びCレジスタを異なるステージに分割することができる。
【発明の効果】
【0018】
以上のように、本発明によれば、パイプライン構成を可能とし、スループットを向上させることが可能になる。
【図面の簡単な説明】
【0019】
【図1】本発明にかかる算術符号化装置の第1の実施形態における出現確率情報確定ステージ及びAレジスタ更新ステージの一例を示すブロック図である。
【図2】本発明にかかる算術符号化装置の第1の実施形態におけるCレジスタ更新ステージの一例を示すブロック図である。
【図3】算術符号化装置における処理の流れの一例を示すフローチャートである。
【図4】図3のステップS1及びS2における処理について説明するためのブロック図である。
【図5】図3のステップS3における処理の流れの一例を示すフローチャートである。
【図6】図3のステップS5−3における符号化データ出力処理の流れの一例を示すフローチャートである。
【図7】算術符号化装置の動作について説明するためのタイミングチャートである。
【図8】CTレジスタ値の更新について説明するための略線図である
【図9】本発明にかかる算術符号化装置の第2の実施形態における出現確率情報確定ステージ及び出現確率情報確定第2ステージの一例を示すブロック図である。
【発明を実施するための形態】
【0020】
次に、本発明を実施するための形態について、図面を参照しながら詳細に説明する。
【0021】
図1及び図2は、本発明にかかる算術符号化装置の第1の実施形態を示し、この算術符号化装置1は、出現確率情報確定ステージ2、Aレジスタ更新ステージ3及びCレジスタ更新ステージ4からなる複数のステージに分割され、これらのステージにおける処理をパイプライン処理によりステージ毎に順次行う。尚、図1及び図2に示すブロック図おいて、記号A〜Eは、それぞれ対応する記号へとデータが供給されることを示す。
【0022】
図1に示すように、出現確率情報確定ステージ2は、コンテキスト保持レジスタ11、出現確率情報保持レジスタ12及び出現確率情報セレクタ13で構成され、算術符号化装置1に入力された算術符号化処理の対象データを示すコンテキストCXと、このコンテキストCXの出現確率を示す出現確率情報Qeとを対として、次のAレジスタ更新ステージ3に対して出力する。
【0023】
コンテキスト保持レジスタ11は、入力されたコンテキストCXを格納するレジスタであり、算術符号化装置1の動作を制御するクロックのタイミングで、格納されたコンテキストCXを出力すると共に、このクロックのタイミングで入力される次のコンテキストCXを格納する。コンテキスト保持レジスタ11から出力されたコンテキストCXは、出現確率情報セレクタ13及び後述するAレジスタ更新ステージ3に供給される。
【0024】
出現確率情報保持レジスタ12は、複数のコンテキストCXに対応する各々の出現確率情報Qeを保持する複数のレジスタで構成されたレジスタ群であり、Aレジスタ更新ステージ3から供給される、更新された出現確率情報Qeをレジスタ群の対応するレジスタに保持する。
【0025】
出現確率情報セレクタ13は、コンテキスト保持レジスタ11から供給されたコンテキストCXに基づき、出現確率情報保持レジスタ12に格納された複数の出現確率情報Qeから、このコンテキストCXに対応する出現確率情報Qeを選択し、Aレジスタ更新ステージ3に対して出力する。
【0026】
Aレジスタ更新ステージ3は、Aレジスタ21、減算器22、演算部23、第1のAレジスタ値セレクタ24、正規化処理部25、第2のAレジスタ値セレクタ26、正規化シフト数セレクタ27、CTレジスタ28、減算器29、加算器30及び出現確率情報保持レジスタ31で構成され、Aレジスタ21及びCTレジスタ28の値を更新すると共に、出現確率情報Qe、正規化シフト数、CTレジスタ値及び後述するCレジスタの判定結果を、次のCレジスタ更新ステージ4に対して出力する。
【0027】
Aレジスタ21は、格納されたデータ(以下、「データA」とする)を減算器22及び演算部23に対して出力する。また、Aレジスタ21は、後述する第2のAレジスタ値セレクタ26から供給されたデータAを格納する。
【0028】
減算器22は、出現確率情報確定ステージ2の出現確率情報セレクタ13から供給された出現確率情報Qeと、Aレジスタ21から供給されたデータAとを減算し、減算結果を示す減算データA−Qeを取得する。減算器22で得られた減算データA−Qeは、演算部23及び第1のAレジスタ値セレクタ24に対して出力される。
【0029】
演算部23は、出現確率情報確定ステージ2のコンテキスト保持レジスタ11から供給されたコンテキストCX、出現確率情報セレクタ13から供給された出現確率情報Qe、Aレジスタ21から供給されたデータA、及び減算器22から供給された減算データA−Qeに基づき、Aレジスタ値及びCレジスタ値の判定、出現確率情報Qeの更新、正規化を実施するか否かの判定等の処理を行う。
【0030】
Aレジスタ値の判定結果を示すA判定情報は、第1のAレジスタ値セレクタ24に供給され、Cレジスタ値の判定結果を示すC判定情報は、Cレジスタ更新ステージ4に供給される。また、更新された出現確率情報Qeは、出現確率情報確定ステージ2の出現確率情報保持レジスタ12に供給され、正規化実施の判定結果を示す正規化判定情報は、第2のAレジスタ値セレクタ26及び正規化シフト数セレクタ27に供給される。
【0031】
第1のAレジスタ値セレクタ24は、演算部23から供給されたA判定情報に基づき、出現確率情報確定ステージ2の出現確率情報セレクタ13から供給された出現確率情報Qeと、減算器22から供給された減算データA−Qeとのうちいずれかを選択し、正規化処理部25及び第2のAレジスタ値セレクタ26に対して出力する。
【0032】
正規化処理部25は、第1のAレジスタ値セレクタ24から供給されたデータ(データA又は減算データA−Qe)に対して正規化処理を行い、正規化されたデータと正規化シフト数を示す正規化シフト数データとを取得し、正規化データを第2のAレジスタ値セレクタ26に供給すると共に、正規化シフト数データを正規化シフト数セレクタ27に供給する。
【0033】
第2のAレジスタ値セレクタ26は、演算部23から供給された正規化判定情報に基づき、第1のAレジスタ値セレクタ24から供給されたデータ(データA又は減算データA−Qe)と、正規化処理部25から供給された正規化データとのうちいずれかを選択し、データAとしてAレジスタ21に供給する。
【0034】
正規化シフト数セレクタ27は、演算部23から供給された正規化判定情報に基づき、正規化処理部25から供給された正規化シフト数データと、値が「0」であるデータとのうちいずれかを選択し、減算器29及びCレジスタ更新ステージ4に対して出力する。
【0035】
CTレジスタ28は、格納されたデータ(以下、「データCT」とする)を減算器29に対して出力する。また、CTレジスタ28は、後述する加算器30から供給されたデータCTを格納する。
【0036】
減算器29は、正規化シフト数セレクタ27から供給されたデータ(正規化シフト数データ又は「0」データ)と、CTレジスタ28から供給されたデータCTとを減算し、減算結果を示す減算データを取得する。すなわち、減算データは、データCTから、正規化シフト数セレクタ27から供給されたデータを減算したデータとなる。
【0037】
減算器29は、正規化処理部25における正規化処理と同等の処理を行うものであり、5ビットで値「−16」から値「15」までを計算することが可能である。減算器29で得られた減算データは、加算器30に対して出力される。
【0038】
加算器30は、減算器29から供給された減算データと、後述するCレジスタ更新ステージ4から供給されたCTレジスタの更新値を示すCT更新値データとを加算し、加算結果を示す加算データを取得する。すなわち、加算データは、減算データとCT更新値データとを加算したデータとなる。
【0039】
加算器30は、Cレジスタ更新ステージ4で行われる符号化データ出力処理と同等の処理を行うものである。加算器30で得られた加算データは、CTレジスタ値を示すデータCTとしてCTレジスタ28及びCレジスタ更新ステージ4に対して出力される。このデータCTの値が「0」以下である場合に、次のCレジスタ更新ステージ4において符号化データ出力処理が行われることを示す。
【0040】
出現確率情報保持レジスタ31は、出現確率情報Qeを保持するレジスタであり、出現確率情報確定ステージ2の出現確率情報セレクタ13から供給された出現確率情報Qeを格納し、パイプライン処理の動作に応じた所定のタイミングでCレジスタ更新ステージ4に対して出力する。
【0041】
図2に示すように、Cレジスタ更新ステージ4は、Cレジスタ41、加算器42、Cレジスタ値セレクタ43、演算部44、Bレジスタ45、キャリー加算部46及び符号値セレクタ47で構成され、Cレジスタ41及びBレジスタ45の値を更新すると共に、CTレジスタの更新値、算術符号化結果を示す符号出力値及び符号出力タイミングを示す符号タイミング情報を出力する。尚、CTレジスタの更新値を示すCT更新値データは、前のステージであるAレジスタ更新ステージ3に対して出力される。
【0042】
Cレジスタ41は、後述する演算部44から供給されたCレジスタ値の計算結果を示すデータCを格納すると共に、格納されたデータCを加算器42及びCレジスタ値セレクタ43に対して出力する。
【0043】
加算器42は、Aレジスタ更新ステージ3の出現確率情報保持レジスタ31から供給された出現確率情報Qeと、Cレジスタ41から供給されたデータCとを加算し、加算結果を示す加算データC+Qeを取得する。得られた加算データC+Qeは、Cレジスタ値セレクタ43に対して出力される。
【0044】
Cレジスタ値セレクタ43は、Aレジスタ更新ステージ3の演算部23から供給されたCレジスタ値の判定結果を示すC判定情報に基づき、Cレジスタ41から供給されたデータCと、加算器42から供給された加算データC+Qeとのうちいずれかを選択し、演算部44に対して出力する。
【0045】
演算部44は、Aレジスタ更新ステージ3の正規化シフト数セレクタ27から供給された正規化シフト数データと、加算器30から供給されたデータCTと、Cレジスタ値セレクタ43から供給されたデータ(データC又は加算データC+Qe)と、後述するBレジスタ45から供給された符号出力値とに基づき、Cレジスタ値の計算、符号出力値の生成、CTレジスタの更新値(CT更新値データ)の生成、符号キャリーの判定、符号出力のタイミングを示す符号タイミング情報の生成等の処理を行う。
【0046】
Cレジスタ値の計算結果を示すデータCは、Cレジスタ41に供給され、符号出力値は、Bレジスタ45に供給される。また、CTレジスタの更新値を示すCT更新値データは、Aレジスタ更新ステージ3の加算器30に供給され、符号キャリーの判定結果を示す符号キャリー情報は、符号値セレクタ47に供給される。さらに、符号タイミング情報は、Bレジスタ45に供給されると共に、外部に出力される。
【0047】
Bレジスタ45は、演算部44から供給された符号タイミング情報に基づき、演算部44から供給された符号出力値(確定前符号出力値)を格納すると共に、格納された確定前符号出力値を演算部44、キャリー加算部46及び符号値セレクタ47に対して出力する。
【0048】
キャリー加算部46は、Bレジスタ45から供給された確定前符号出力値にキャリーを示す値「1」を加算し、符号値セレクタ47に対して出力する。
【0049】
符号値セレクタ47は、演算部44から供給された符号キャリー情報に基づき、キャリー加算部46から供給されたキャリーが加算された符号出力値と、Bレジスタ45から供給された符号出力値(確定前符号出力値)とのうちいずれかを選択し、符号出力値として出力する。
【0050】
次に、上記構成を有する算術符号化装置1の動作について、図1〜図6を参照して説明する。
【0051】
まず、算術符号化装置1における処理の流れについて、図3に示すフローチャートを参照して説明する。ステップS1において、算術符号化装置1にコンテキストCXが入力されると、入力されたコンテキストCXに対応する出現確率情報Qeが確定される(ステップS2)。
【0052】
例えば、図4に示すように、複数のコンテキストCX1〜CXnに対応する出現確率情報Qe1〜Qenが格納された出現確率情報保持レジスタ12から、算術符号化装置1に入力されたコンテキストCXに対応する出現確率情報Qeが出現確率情報セレクタ13によって選択される。これにより、ステップS1で入力されたコンテキストCXに対応する出現確率情報QeがステップS2において確定される。
【0053】
説明は図3に戻り、次に、入力されたコンテキストCXと、ステップS2で確定された出現確率情報Qeとに基づき、図1に示すAレジスタ21及びCレジスタ41の値(データA及びデータC)を更新する処理が行われると共に、出現確率情報Qeを更新する処理が行われる(ステップS3)。尚、ステップS3における処理の詳細については、後述する。
【0054】
次に、ステップS3による処理の結果に基づき、正規化処理を実施するか否かが判断される(ステップS4)。正規化処理を実施すると判断された場合には、正規化処理が行われる(ステップS5)。尚、ステップS5における正規化処理の詳細については、後述する。一方、正規化処理を実施しないと判断された場合には、処理がステップS1に戻り、次のコンテキストCXの入力が受け付けられる。以下、上述したステップS1〜ステップS5の処理が巡回的に行われる。
【0055】
次に、図3のステップS3における処理の流れについて、図5に示すフローチャートを参照して説明する。まず、算術符号化装置1に入力されたコンテキストCXがMPS(More Probable Symbol;優勢確率シンボル)であるか、又はLPS(Less Probable Symbol;劣勢確率シンボル)であるかが判断される(ステップS11)。
【0056】
ステップS11において、コンテキストCXがMPSであると判断された場合には、Aレジスタ21に格納された値(データA)から出現確率情報Qeを減算した値(減算データA−Qe)をAレジスタ21の値とする(ステップS12)。
【0057】
次に、Aレジスタ21の値(減算データA−Qe)と値「0x8000」とが比較される(ステップS13)。ここで、値の前に示された「0x」は、その値が16進数で表記されていることを示す。Aレジスタ21の値が値「0x8000」以上であると判断された場合には、Cレジスタ41に格納された値(データC)に出現確率情報Qeを加算した値(加算データC+Qe)をCレジスタ41の値とし(ステップS14)、一連の処理が終了される。
【0058】
一方、Aレジスタ21の値が値「0x8000」未満であると判断された場合には、Aレジスタ21の値と出現確率情報Qeとが比較される(ステップS15)。Aレジスタ21の値が出現確率情報Qe以上であると判断された場合には、Cレジスタ41に格納された値(データC)に出現確率情報Qeを加算した値(加算データC+Qe)をCレジスタ41の値とする(ステップS16)。また、Aレジスタ21の値が出現確率情報Qe未満であると判断された場合には、Aレジスタ21に格納された値(データA)を出現確率情報Qeとする(ステップS17)。
【0059】
次に、状態遷移テーブルに基づき出現確率情報Qeが更新される(ステップS18)。ここで、状態遷移テーブルは、インデックス値、出現確率情報Qe、コンテキストCXがMPSである場合の次のインデックス値を示すNMPS、コンテキストCXがLPSである場合の次のインデックス値を示すNLPS等が互いに関連付けられて記述される。
【0060】
ステップS18では、状態遷移テーブルが参照され、コンテキストCXのインデックス値に対応するNMPSが読み出される。そして、出現確率情報QeがNMPSに記述されたインデックス値に対応する出現確率情報Qeに更新される。
【0061】
一方、ステップS11において、コンテキストCXがLPSであると判断された場合、Aレジスタ21に格納された値(データA)から出現確率情報Qeを減算した値(減算データA−Qe)をAレジスタ21の値とする(ステップS19)。
【0062】
次に、Aレジスタ21の値(減算データA−Qe)と出現確率情報Qeとが比較される(ステップS20)。Aレジスタ21の値が出現確率情報Qe以上であると判断された場合には、Aレジスタ21に格納された値(データA)を出現確率情報Qeとする(ステップS21)。また、Aレジスタ21の値が出現確率情報Qe未満であると判断された場合には、Cレジスタ41に格納された値(データC)に出現確率情報Qeを加算した値(加算データC+Qe)をCレジスタ41の値とする(ステップS22)。
【0063】
次に、状態遷移テーブルが参照され、コンテキストCXのインデックス値に対応するNLPSが読み出される。そして、出現確率情報QeがNLPSに記述されたインデックス値に対応する出現確率情報Qeに更新される(ステップS23)。
【0064】
次に、ステップS18及びステップS23において、出現確率情報Qeが更新された場合に、図3のステップS5に示す正規化処理を実施することが確定され(ステップS24)、一連の処理が終了される。
【0065】
このような処理を行うことにより、図1の演算部23は、「算術符号化装置1に入力されたコンテキストCXがMPSであり(ステップS11−MPS)、かつ減算器22から出力される減算データA−Qeの値が出現確率情報Qeの値未満」(ステップS15−Yes)である場合と、「コンテキストCXがLPSであり(ステップS11−LPS)、かつ減算データA−Qeの値が出現確率情報Qeの値以上」(ステップS20−No)である場合とにおいて、第1のAレジスタ値セレクタ24で出現確率情報Qeを選択するためのA判定情報を出力する。第1のAレジスタ値セレクタ24は、このA判定情報に基づき出現確率情報セレクタ13から供給された出現確率情報Qeを選択して出力する。
【0066】
それ以外の場合、演算部23は、第1のAレジスタ値セレクタ24で減算データA−Qeを選択するためのA判定情報を出力する。第1のAレジスタ値セレクタ24は、このA判定情報に基づき減算器22から供給された減算データA−Qeを選択して出力する。
【0067】
その後、第2のAレジスタ値セレクタ26は、演算部23から供給された正規化判定情報に基づき、第1のAレジスタ値セレクタ24から出力されたデータ(出現確率情報Qe又は減算データA−Qe)又は正規化データのいずれかを選択し、Aレジスタ21に供給する。これにより、Aレジスタ21に格納されるデータAの値が更新される。
【0068】
また、演算部23は、「コンテキストCXがMPSであり(ステップS11−MPS)、かつ減算器22から出力される減算データA−Qeの値が値「0x8000」以上」(ステップS13−Yes)である場合と、「コンテキストCXがMPSであり(ステップS11−MPS)、かつ減算データA−Qeの値が出現確率情報Qeの値以上」(ステップS15−No)である場合と、「コンテキストCXがLPSであり(ステップS11−LPS)、かつ減算データA−Qeの値が出現確率情報Qeの値未満」(ステップS20−Yes)である場合とにおいて、図2のCレジスタ値セレクタ43で加算データC+Qeを選択するためのC判定情報を出力する。Cレジスタ値セレクタ43は、このC判定情報に基づき加算器42から供給された加算データC+Qeを選択して出力する。
【0069】
それ以外の場合、演算部23は、Cレジスタ値セレクタ43でデータCを選択するためのC判定情報を出力する。Cレジスタ値セレクタ43は、このC判定情報に基づきCレジスタ41から供給されたデータCを選択し、演算部44に出力する。
【0070】
その後、演算部44は、Cレジスタ値セレクタ43から供給されたデータCに基づき、Cレジスタ41の値を計算する。これにより、Cレジスタ41に格納されるデータCの値が更新される。
【0071】
さらに、演算部23は、ステップS18又はステップS23の処理を行った場合に、状態遷移テーブルに基づき出現確率情報Qeの更新値を決定する。決定された出現確率情報Qeは、出現確率情報保持レジスタ12に供給されて格納される。これにより、出現確率情報Qeが更新される。
【0072】
次に、図3のステップS5における正規化処理の流れについて説明する。図3のステップS4において、正規化処理を実施すると判断された場合には、ステップS5−1において、Aレジスタ21に格納されたデータAの値を左に1ビットだけシフトさせると共に、Cレジスタ41に格納されたデータCの値を左に1ビットだけシフトさせる。また、CTレジスタ28に格納されたデータCTの値を「1」だけ減算する。
【0073】
次に、データCTの値が「0」であるか否かが判断される(ステップS5−2)。データCTの値が0であると判断された場合には、符号化データ出力処理が行われる(ステップS5−3)。尚、符号化データ出力処理の詳細については、後述する。
【0074】
次に、Aレジスタ21の値(データA)と値「0x8000」とが比較される(ステップS5−4)。比較の結果、Aレジスタ21の値が値「0x8000」以上であると判断された場合には、処理がステップS1に戻り、次のコンテキストCXに対する処理が行われる。一方、Aレジスタ21の値が値「0x8000」未満であると判断された場合には、処理がステップS5−1に戻り、データCTの値が「0」となるまで、ステップS5−1〜S5−4の処理が巡回的に行われる。
【0075】
尚、ステップS4における正規化処理の実施判定は、上述した図5のステップS24における処理を行うか否かで判断することができ、ステップS24の処理を行う場合に、ステップS5の正規化処理が行われる。このとき、演算部23は、「算術符号化装置1に入力されたコンテキストCXがMPSであり(図5のステップS11−MPS)、かつ減算器22から出力される減算データA−Qeの値が値「0x8000」以上(ステップS13−Yes)である場合」以外の場合において、第2のAレジスタ値セレクタ26で正規化データを選択するための正規化判定情報を出力する。第2のAレジスタ値セレクタ26は、この正規化判定情報に基づき、正規化処理部25から供給された正規化データを選択して出力する。
【0076】
それ以外の場合は、ステップS24の処理を行わないため、ステップS5の正規化処理が行われない。そのため、演算部23は、第2のAレジスタ値セレクタ26で第1のAレジスタ値セレクタ24から出力されたデータ(出現確率情報Qe又は減算データA−Qe)を選択するための正規化判定情報を出力する。第2のAレジスタ値セレクタ26は、この正規化判定情報に基づき、第1のAレジスタ値セレクタ24から出力されたデータを選択して出力する。
【0077】
次に、図3のステップS5−3における符号化データ出力処理の流れについて、図6に示すフローチャートを参照して説明する。図3のステップS5−2において、データCTの値が0であると判断された場合には、図6のステップS31において、Bレジスタ45の符号出力値と値「0xFF」とが比較される。比較の結果、Bレジスタ45の符号出力値と値「0xFF」とが一致する場合には、ビット・スタフィング処理を行うと判断され、処理がステップS37に移行し、ビット・スタフィング処理が行われる。
【0078】
一方、Bレジスタ45の符号出力値と値「0xFF」とが一致しないと判断された場合には、Cレジスタ41に格納されたデータCの値と値「0x8000000」とが比較される(ステップS32)。この処理は、図2の演算部44(符号キャリー判定)で行われる。比較の結果、データCの値が値「0x8000000」以上であると判断された場合には、Bレジスタ45の符号出力値にキャリーを示す値「1」が加算される(ステップS33)。また、データCの値が値「0x8000000」未満であると判断された場合には、処理がステップS36に移行する。
【0079】
次に、Bレジスタ45の符号出力値に値「1」を加算した値と値「0xFF」とが比較される(ステップS34)。Bレジスタ45の符号出力値に値「1」を加算した値と値「0xFF」とが一致すると判断された場合には、Cレジスタ41に格納されたデータCの値と値「0x7FFFFFF」との論理積値がデータCとされ(ステップS35)、処理がステップS37に移行する。一方、Bレジスタ45の符号出力値に値「1」を加算した値と値「0xFF」とが一致しないと判断された場合には、処理がステップS36に移行する。
【0080】
ステップS36では、Bレジスタ45に格納された符号出力値が符号化データとして出力された後、データCを右に19ビットだけシフトした値がBレジスタ45に格納される。そして、Cレジスタ41に格納されたデータCの値と値「0x007FFFF」との論理積値がデータCとされると共に、CTレジスタ28のデータCTの値が「8」とされる。
【0081】
ステップS37では、ビット・スタフィング処理が行われ、Bレジスタ45に格納された符号出力値が符号化データとして出力された後、データCを右に20ビットだけシフトした値がBレジスタ45に格納される。そして、Cレジスタ41に格納されたデータCの値と値「0x00FFFFF」との論理積値がデータCとされると共に、CTレジスタ28のデータCTの値が「7」とされる。
【0082】
次に、算術符号化装置1の動作について、図7のタイミングチャートを参照して説明する。図7は、算術符号化装置1の動作を制御するクロックの周期によって決定されるサイクルにおいて、各部に対して入出力される各種データのタイミングの一例を示す。
【0083】
「クロック」111は、算術符号化装置1の動作を制御するクロックを示す。この例では、クロック周期によって決定されたサイクル#1〜サイクル#6までが示されている。「コンテキスト」112は、サイクル#1〜サイクル#6において算術符号化装置1に入力されるコンテキスト(A−01〜F−01)を示す。
【0084】
出現確率情報確定ステージ2において、「コンテキスト保持レジスタ」121は、図1のコンテキスト保持レジスタ11に保持されたコンテキスト(A−02〜E−02)を示す。また、「出現確率情報保持レジスタ」122は、出現確率情報保持レジスタ12に保持された出現確率情報(A−03〜E−03)を示し、「出現確率情報」123は、出現確率情報セレクタ13で選択された出現確率情報(A−04〜E−04)を示す。
【0085】
出現確率情報確定ステージ2には、コンテキスト保持レジスタ11が設けられているため、算術符号化装置1に入力されたコンテキストは、コンテキスト保持レジスタ11に保持された後、1サイクル後に値が確定して出現確率情報確定ステージ2から出力される。また、出現確率情報保持レジスタ12に保持された出現確率情報Qeについても、1サイクル後に値が確定し、出現確率情報確定ステージ2から出力される。
【0086】
すなわち、サイクル#1で算術符号化装置1に入力されたコンテキスト(A−01)、及びコンテキスト(A−01)に対応する出現確率情報は、次のサイクル#2で値が確定し、コンテキスト(A−02)及び出現確率情報(A−04)が出現確率情報確定ステージ2から出力される。
【0087】
以下、同様にして、サイクル#2〜サイクル#5で算術符号化装置1に入力されたコンテキスト(B−01〜E−01)、及び各々コンテキストに対応する出現確率情報は、サイクル#3〜サイクル#6で値が確定し、コンテキスト(B−02〜E−02)及び出現確率情報(B−04〜E−04)が出現確率情報確定ステージ2から出力される。
【0088】
Aレジスタ更新ステージ3において、「Aレジスタ」131は、Aレジスタ21に保持されたデータA(A−05〜D−05)を示す。また、「CTレジスタ」132は、CTレジスタ28に保持されたデータCT(A−06〜D−06)を示す。
【0089】
Aレジスタ更新ステージ3では、出現確率情報確定ステージ2で確定した値を用いて計算したデータA及びデータCTをAレジスタ21及びCTレジスタ28に格納するため、出現確率情報確定ステージ2の1サイクル後に値が確定し、Aレジスタ更新ステージ3から出力される。すなわち、サイクル#2で出現確率情報確定ステージ2から出力された出現確率情報A−04に基づくデータA及びデータCTは、サイクル#3で確定し、データA(A−05)及びデータCT(A−06)がAレジスタ更新ステージ3から出力される。
【0090】
以下、同様にして、サイクル#3〜サイクル#5で出現確率情報確定ステージ2から出力された出現確率情報B−04〜D−04に基づくデータA及びデータCTは、サイクル#4〜サイクル#6で確定し、データA(B−05〜D−05)及びデータCT(B−06〜D−06)がAレジスタ更新ステージ3から出力される。
【0091】
Cレジスタ更新ステージ4において、「Cレジスタ」141は、図2のCレジスタ41に保持されたデータC(A−07〜C−07)を示し、「CTレジスタ更新値」142は、演算部44から出力されるCT更新値データ(A−08〜D−08)を示す。また、「Bレジスタ」143は、Bレジスタ45に保持された符号出力値(A−09〜C−09)を示し、「符号出力タイミング」144は、演算部44から出力される符号タイミング情報を示す。
【0092】
Cレジスタ更新ステージ4では、Aレジスタ更新ステージ3から出力された値を使用して計算したデータC及び符号出力値をCレジスタ41及びBレジスタ45に格納するため、Aレジスタ更新ステージ3の1サイクル後に値が確定し、Cレジスタ更新ステージ4から出力される。ただし、Bレジスタ45は、「符号出力タイミング」144をイネーブルとして使用するため、演算部44から符号タイミング情報が出力された場合にのみ値が更新される。また、CT更新値データ及び符号タイミング情報は、レジスタへの更新を行わないため、Aレジスタ更新ステージ3と同じサイクルに値が確定する。
【0093】
すなわち、サイクル#3でAレジスタ更新ステージ3から出力されたデータA(A−05)及びデータCT(A−06)に基づくデータC及び符号出力値は、サイクル#4で確定し、データC(A−07)及び符号出力値(A−09)が出力される。一方、CT更新値データは、Aレジスタ更新ステージ3と同じサイクルであるサイクル#3で確定し、CT更新値データ(A−08)が出力される。
【0094】
以下、同様にして、サイクル#4及び#5でAレジスタ更新ステージ3から出力されたデータA(B−05、C−05)及びデータCT(B−06、C−06)に基づくデータC及び符号出力値は、サイクル#5及び#6で確定し、データC(B−07、C−07)及び符号出力値(B−09、C−09)が出力される。また、CT更新値データは、Aレジスタ更新ステージ3と同じサイクルであるサイクル#4及び#5で確定し、CT更新値データ(B−08、C−08)が出力される。
【0095】
このようにして、サイクル#1で入力されたコンテキストは、サイクル#4でBレジスタ45に格納され、符号出力タイミングがアサートしたタイミングであるサイクル#5で符号キャリーの判定を行い、出力される。
【0096】
尚、符号出力タイミングがアサートされる条件は、CTレジスタ値を示すデータCTの値が「0」以下の場合であるため、データCT(A−06及びC−06)の値が「0」以下である。また、符号出力タイミングがアサートされるのは、符号化データ出力処理が行われるタイミングであるため、CT更新値データ(A−08及びC−08)の値が「7」もしくは「8」となり、それ以外のデータCTの値は「0」となる。
【0097】
ここで、正規化処理直前のAレジスタ21の値を「0x0100」とし、CTレジスタ28の値を「3」とした場合のCTレジスタ値の更新について考える。
【0098】
従来の算術符号化では、図8(a)に示すように、正規化完了後のAレジスタ21は、7回の左シフトを実行することにより、Aレジスタ21の値が「0x8000」となる。
【0099】
この間、CTレジスタ28は、3回の左シフトを実行することにより、CTレジスタ28の値が「0」となり、符号化データ出力処理が開始される。これにより、CTレジスタ28には、符号化データ出力処理を実行した際のCレジスタ41の値に依存した値が設定される。さらに、CTレジスタ28は、残りの4回の左シフトを実行する。
【0100】
このとき、Aレジスタ21及びCレジスタ41を異なるパイプラインステージに分割すると、CTレジスタ28は、符号化データ出力処理によって設定される値を即座に入手できないため、1クロックサイクルで演算を実行することができない。従って、従来は、Aレジスタ21及びCレジスタ41を異なるパイプラインステージに分割してスループットを向上させることができない。
【0101】
これに対して、本実施の形態による算術符号化では、図8(b)に示すように、正規化完了後のAレジスタ21は、7回の左シフトを実行することにより、Aレジスタ21の値が「0x8000」となる。
【0102】
本実施の形態におけるCTレジスタ28は、負の値を許容する構成であるため、CTレジスタ28は、7回の左シフトをそのまま実行することにより、CTレジスタ28の値が「−4」となり、符号化データ出力処理が開始される。これにより、CTレジスタ28には、符号化データ出力処理を実行した際のCレジスタ41の値に依存した値が設定される。
【0103】
このとき、符号化データ出力処理を実行した際のCレジスタ41の値に依存した値は、次のクロックサイクルにおいて、後段のパイプラインステージで確定した値をフィードバックして加算することにより、演算を実行することができる。また、同時に、次のクロックサイクルのAレジスタ21のシフト回数だけ左シフトを実行することにより、パイプラインの流れが停止するパイプラインストールのが発生を防ぐことができる。
【0104】
従って、本実施の形態においては、Aレジスタ21及びCレジスタ41を異なるパイプラインステージに分割し、スループットを向上させることが可能になる。
【0105】
以上のように、本実施の形態によれば、算術符号化処理を、複数のパイプラインステージからなるパイプライン構成とし、Aレジスタ21及びCレジスタ41を異なるパイプラインステージに分割すると共に、CTレジスタ28の値に対して負の値を許容することにより、スループットを向上させることができる。
【0106】
次に、第2の実施形態について説明する。第2の実施形態では、算術符号化装置1’において、上述したパイプラインステージをさらに分割し、出現確率情報確定ステージ2及びAレジスタ更新ステージ3の間に、出現確率情報確定第2ステージ2’を設ける。図9は、本発明にかかる算術符号化装置の第2の実施形態における出現確率情報確定ステージ及び出現確率情報確定第2ステージの一例を示す。尚、上述した第1の実施形態と共通する部分については、同一の符号を付し、詳細な説明を省略する。
【0107】
出現確率情報確定第2ステージ2’は、コンテキスト保持レジスタ51及び52、比較部53、出現確率情報保持レジスタ54及び55、出現確率情報セレクタ56で構成される。コンテキスト保持レジスタ51は、出現確率情報確定ステージ2から出力されたコンテキストCXを格納し、算術符号化装置1’の動作を制御するクロックのタイミングで、格納されたコンテキストCXを出力する。コンテキスト保持レジスタ51から出力されたコンテキストCXは、コンテキスト保持レジスタ52及び比較部53に供給されると共に、Aレジスタ更新ステージ3に供給される。
【0108】
コンテキスト保持レジスタ52は、コンテキスト保持レジスタ51から供給されたコンテキストCXを格納し、算術符号化装置1’の動作を制御するクロックのタイミングで、格納されたコンテキストCXを出力する。コンテキスト保持レジスタ52に格納されたコンテキストCXは、比較部53に供給される。
【0109】
比較部53は、コンテキスト保持レジスタ51から供給されたコンテキストCXと、コンテキスト保持レジスタ52から供給されたコンテキストCXとを比較し、2つのコンテキストCXが同一であるか否かを判断する。ここで、コンテキスト保持レジスタ52から供給されるコンテキストCXは、コンテキスト保持レジスタ51から供給されるコンテキストCXに対して1クロック前、すなわち1サイクル前のコンテキストである。従って、比較部53は、同一のコンテキストCXが1サイクル毎に連続して供給されるか否かを判断する処理を行う。比較部53は、比較結果を示す比較情報を生成し、出現確率情報セレクタ56に供給する。
【0110】
出現確率情報保持レジスタ54は、出現確率情報確定ステージ2の出現確率情報セレクタ13から供給された出現確率情報Qeを格納し、出現確率情報セレクタ56に供給する。出現確率情報保持レジスタ55は、Aレジスタ更新ステージ3から供給される、更新された出現確率情報Qeを格納する。
【0111】
出現確率情報セレクタ56は、比較部53から供給された比較情報に基づき、出現確率情報保持レジスタ54から供給された出現確率情報Qeと、出現確率情報保持レジスタ55から供給された出現確率情報Qeとのうちいずれかを選択する。具体的には、出現確率情報セレクタ56は、比較情報が同一のコンテキストCXが連続すると判断したことを示す場合に、出現確率情報保持レジスタ55に格納された出現確率情報Qeを選択し、比較情報が同一のコンテキストCXが連続しないと判断したことを示す場合に、出現確率情報保持レジスタ54に格納された出現確率情報Qeを選択する。選択された出現確率情報Qeは、Aレジスタ更新ステージ3に対して出力される。
【0112】
出現確率情報確定第2ステージ2’では、出現確率情報確定ステージ2の出現確率情報セレクタ13から出力された出現確率情報Qeを出現確率情報保持レジスタ54に保持するため、出現確率情報セレクタ13で発生する遅延をAレジスタ更新ステージ3に持ち越さず、出現確率情報確定第2ステージ2’から出力される出現確率情報Qeの遅延を低減させることができる。これは、コンテキストCXの種類が多く、出現確率情報セレクタ13の動作が複雑となる場合に、特に有効である。
【0113】
また、出現確率情報確定第2ステージ2’では、入力されたコンテキストCXをコンテキスト保持レジスタ51に保持するため、コンテキストCXのタイミングを調整することができると共に、出現確率情報確定ステージ2の出現確率情報保持レジスタ12の更新の際のタイムラグを調整することができる。
【0114】
さらに、同一のコンテキストCXが連続して入力された場合、通常は、2回目のコンテキストCXにおける、1回目のコンテキストCXに基づきAレジスタ更新ステージ3からフィードバックされる出現確率情報Qeの更新値の反映が間に合わない。
【0115】
そこで、出現確率情報確定第2ステージ2’では、現在のコンテキストCXと1サイクル前のコンテキストCXとを比較し、これらのコンテキストCXが同一である場合には、出現確率情報保持レジスタ55に保持される、Aレジスタ更新ステージ3からフィードバックされた出現確率情報Qeの更新値を、現在のコンテキストCXに対応する出現確率情報Qeとして使用する。これにより、出現確率情報Qeを更新すると共に、出現確率情報Qeの遅延を低減させてAレジスタ更新ステージ3に出力することができる。
【符号の説明】
【0116】
1 、1’ 算術符号化装置
2 出現確率情報確定ステージ
2’ 出現確率情報確定第2ステージ
3 Aレジスタ更新ステージ
4 Cレジスタ更新ステージ
11 コンテキスト保持レジスタ
12 出現確率情報保持レジスタ
13 出現確率情報セレクタ
21 Aレジスタ
22 減算器
23 演算部
24 第1のAレジスタ値セレクタ
25 正規化処理部
26 第2のAレジスタ値セレクタ
27 正規化シフト数セレクタ
28 CTレジスタ
29 減算器
30 加算器
31 出現確率情報保持レジスタ
41 Cレジスタ
42 加算器
43 Cレジスタ値セレクタ
44 演算部
45 Bレジスタ
46 キャリー加算部
47 符号値セレクタ
51、52 コンテキスト保持レジスタ
53 比較部
54、55 出現確率情報保持レジスタ
56 出現確率情報セレクタ
111 クロック
112 コンテキスト
121 コンテキスト保持レジスタ
122 出現確率情報保持レジスタ
123 出現確率情報
131 Aレジスタ(データA)
132 CTレジスタ(データCT)
141 Cレジスタ(データC)
142 CTレジスタ更新値(CT更新値データ)
143 Bレジスタ(確定前符号出力値)
144 符号出力タイミング(符号タイミング情報)

【特許請求の範囲】
【請求項1】
入力されたコンテキストを符号化する算術符号化方法であって、
複数のステージに分割され、パイプライン処理によって前記ステージ毎に順次処理を行い、
前記ステージは、
入力されたコンテキストに基づき、該コンテキストの出現確率を示す出現確率情報を確定する出現確率情報確定ステップによる処理を行う出現確率情報確定ステージと、
Aレジスタに格納された値を更新するAレジスタ更新ステップ、状態遷移テーブルに基づき前記出現確率情報を更新する出現確率情報更新ステップ、及び前記Aレジスタに格納された値を正規化する正規化ステップによる処理を行うAレジスタ更新ステージと、
Cレジスタに格納された値を更新するCレジスタ更新ステップ、及び前記Cレジスタに格納された値及びBレジスタに格納された値に基づき、前記コンテキストに対する符号化データを生成する符号化データ出力ステップによる処理を行うCレジスタ更新ステージとからなることを特徴とする算術符号化方法。
【請求項2】
前記出現確率情報確定ステージは、
前記入力されたコンテキストに基づき、出現確率情報保持レジスタに保持された複数の出現確率情報から、前記コンテキストに対応する出現確率情報を選択し、
前記Aレジスタ更新ステージは、
前記出現確率情報の値Qeと、前記Aレジスタに格納された値Aから前記値Qeを減算して得られる値A−QeとのうちいずれかをAレジスタ更新値として選択し、
前記Aレジスタ更新値と、前記正規化ステップにより正規化されたAレジスタ更新値のうちいずれかを選択して前記Aレジスタに格納し、
前記値Qe及び前記値A−Qeに基づき、前記Cレジスタに格納された値Cと、該値Cに前記値Qeを加算して得られる値C+Qeとのうちいずれかを選択するためのC判定情報を生成し、
前記Cレジスタ更新ステージは、
前記Aレジスタ更新ステージで生成された前記C判定情報に基づき、前記値C及び前記値C+QeのうちいずれかをCレジスタ更新値として選択して前記Cレジスタに格納し、
前記Cレジスタに格納された値及び前記Bレジスタに格納された値とに基づき、前記符号化データ出力ステップで前記コンテキストに対する符号化データを生成することを特徴とする請求項1に記載の算術符号化方法。
【請求項3】
前記Cレジスタ更新ステージは、前記符号化データ出力ステップにより、CTレジスタに格納された値の更新値であるCTレジスタ更新値を出力し、
前記Aレジスタ更新ステージは、前記CTレジスタに格納された値から、前記正規化による前記Aレジスタ更新値のシフト数を示す正規化シフト数を減算して得られる値と、前記Cレジスタ更新ステージから出力される前記CTレジスタ更新値とを加算し、前記CTレジスタに格納することを特徴とする請求項2に記載の算術符号化方法。
【請求項4】
前記CTレジスタは、負の値を格納可能とすることを特徴とする請求項3に記載の算術符号化方法。
【請求項5】
入力されたコンテキストを符号化する算術符号化装置であって、
複数に分割されたステージ毎に順次処理を行うパイプライン構造を有し、
前記ステージは、
入力されたコンテキストに基づき、該コンテキストの出現確率を示す出現確率情報を確定する出現確率情報確定ステージと、
Aレジスタに格納された値を更新し、状態遷移テーブルに基づき前記出現確率情報を更新し、前記Aレジスタに格納された値を正規化するAレジスタ更新ステージと、
Cレジスタに格納された値を更新し、前記Cレジスタに格納された値及びBレジスタに格納された値に基づき、前記コンテキストに対する符号化データを生成するCレジスタ更新ステージとからなることを特徴とする算術符号化装置。
【請求項6】
前記出現確率情報確定ステージは、
複数のコンテキストに対応する出現確率情報を格納する出現確率情報保持レジスタと、
前記入力されたコンテキストに基づき、前記複数の出現確率情報から、前記コンテキストに対応する出現確率情報を選択して出力する出現確率情報セレクタと
を備え、
前記Aレジスタ更新ステージは、
前記Aレジスタと、
前記Aレジスタに格納された値Aから前記出現確率情報の値Qeを減算する第1の減算器と、
前記値Qe及び前記第1の減算器により得られる値A−Qeのうちいずれかを第1のAレジスタ更新値として選択して出力する第1のAレジスタ更新値セレクタと、
前記第1のAレジスタ更新値を正規化する正規化処理部と、
前記第1のAレジスタ更新値、及び前記正規化された第1のAレジスタ更新値のうちいずれかを第2のAレジスタ更新値として選択して出力する第2のAレジスタ更新値セレクタと、
前記値Qe及び前記値A−Qeに基づき、前記第1のAレジスタ更新値セレクタによる選択を制御するA判定情報を生成すると共に、前記正規化処理部による前記第1のAレジスタ更新値に対する正規化を実施するか否かを判定する正規化判定情報を生成する第1の演算部とを備え、
前記第2のAレジスタ更新値を前記Aレジスタに格納し、
前記Cレジスタ更新ステージは、
前記Cレジスタと、
前記Cレジスタに格納された値Cに前記値Qeを加算する第1の加算器と、
前記値C及び前記第1の加算器により得られる値C+QeのうちいずれかをCレジスタ更新値として選択して出力するCレジスタ更新値セレクタと、
前記Cレジスタに格納された値及び前記Bレジスタに格納された値とに基づき、前記コンテキストに対する符号化データを生成する第2の演算部とを備え、
前記Cレジスタ更新値を前記Cレジスタに格納することを特徴とする請求項5に記載の算術符号化装置。
【請求項7】
前記第1の演算部は、
前記値Qe及び前記値A−Qeに基づき、前記Cレジスタ更新値セレクタによる選択を制御するC判定情報を生成することを特徴とする請求項6に記載の算術符号化装置。
【請求項8】
前記正規化処理部は、
前記正規化による前記第1のAレジスタ更新値のシフト数を示す正規化シフト数を生成し、
前記Aレジスタ更新ステージは、
CTレジスタと、
前記CTレジスタに格納された値から前記正規化シフト数を減算する第2の減算器と、
前記第2の減算器により得られる値と、CTレジスタ更新値とを加算する第2の加算器とをさらに備え、
前記第2の加算器から出力された値を前記CTレジスタに格納し、
前記第2の演算部は、前記CTレジスタに格納された値の更新値であるCTレジスタ更新値を生成することを特徴とする請求項7に記載の算術符号化装置。
【請求項9】
前記CTレジスタは、負の値を格納可能とすることを特徴とする請求項8に記載の算術符号化装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2013−16954(P2013−16954A)
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願番号】特願2011−147064(P2011−147064)
【出願日】平成23年7月1日(2011.7.1)
【出願人】(303013763)NECエンジニアリング株式会社 (651)
【Fターム(参考)】