(57)【要約】【課題】  画像符号化・復号化装置にはエントロピー符号が用いられ、エントロピー符号の１つには算術符号（CABAC）がある。算術符号では、直前までの復号化結果が以後の復号処理に影響を与えるフィードバックループが存在する。このループ内の処理、特にContext計算に一定の時間がかかるため、全体の処理をある程度以上高速化することが難しい。【解決手段】  そこで、Context計算部を2系統設け、直前の計算結果が０の場合と1の場合とに備え、あらかじめ計算をスタートさせ（バイナリ処理のため、直前の計算結果「Bin」は、０または１のいずれかである）、直前の結果が出たところで正しいほうを取捨選択する。【選択図】図１０
2008172545.tif 000002
【特許請求の範囲】
【請求項１】
算術符号を用いる画像符号化・復号化装置であって、
符号化画像データが入力される入力部と、
入力された符号化画像データに対して算術符号化処理を行って、１または０の値であるＢｉｎを求めるＢｉｎデコーダ部と、
複数の上記Ｂｉｎの列から数値を求める数値復元部と、
上記Ｂｉｎデコーダでの復号化処理に使用するパラメータであるコンテキスト値を計算するコンテキスト計算部と、
を備え、
上記コンテキスト計算部は、Ｂｉｎが１の場合のコンテキスト値を計算する第１のコンテキスト計算部と、Ｂｉｎが０の場合のコンテキスト値を計算する第２のコンテキスト計算部とを有し、上記Ｂｉｎデコーダ部がＢｉｎを求める前に、Ｂｉｎが１の場合のコンテキスト値およびＢｉｎが０の場合のコンテキスト値を計算し、
上記Ｂｉｎデコーダ部は、Ｂｉｎを求めると、次の算術符号化処理に用いるコンテキスト値を、上記コンテキスト計算部から出力された、Ｂｉｎが１の場合のコンテキスト値およびＢｉｎが０の場合のコンテキスト値のいずれか適切な方を選択すること、
を特徴とする画像符号化・復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化・復号化装置に関する。
【背景技術】
【０００２】
この分野の背景技術として、例えば、特開平8-195680号公報がある。該公報には、「［目的］算術符号の復号化を高速で行えるようにする。［構成］処理手順を変更し、レジスタの更新回数を減らす。コードレジスタのスタッフィングビットの幅を増やし、符号入力に伴うループを完全に無くす。データを先読みし、先行する未確定の画素に依存した２つの文脈を用意して処理を行い、先行する画素が確定した段階で１つを選択するようにし、処理の二重化を行って、先行する画素が確定するまでの待ち時間を減らす。」と記載されている（要約参照）。
【０００３】
また、この分野の背景技術として、例えば、特開平8-46520号公報がある。該公報には、「［目的］算術符号の符号化あるいは復号化に要する処理時間を短縮する。［構成］算術符号の符号化あるいは復号化に際しては、オージェンドレジスタＡＲや符号コードレジスタＣＲを用いた符号化処理を繰り返すループ処理がなされることに着目している。又、このような符号化あるいは復号化処理中の処理を並行実行可能な構成を見出している。シフト演算部３２Ａでオージェンドレジスタに関する並行処理を行い、シフト演算部３４Ａで符号コードレジスタに関する並行処理を行い、カウント演算部３６Ａでループカウンタに関する並行処理を行う。比較部５０Ａで並行実行の結果の複数のオージェンド値で適切な値を選択し、これに基づいて、前記シフト演算部３２Ａ及び３４Ａ、又前記カウント演算部３６Ａの演算結果を選択することで、前述のようなループ処理を排除する。」と記載されている（要約参照）。
【０００４】
【特許文献１】特開平8-195680号公報
【特許文献２】特開平8-46520号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
画像符号化・復号化装置にはエントロピー符号が用いられ、エントロピー符号の１つには算術符号（CABAC）がある。算術符号では、図９に記載のように、直前までの復号化結果が以後の復号処理に影響を与えるフィードバックループが存在する。図９において、１４９１は算術復号化処理を行って、１ビットの値「Bin」を求めるBinデコーダ部、１４９２は複数のBinの列から、１組の数値を求める数値復元部、１４９３は、Binデコーダ部での復号化処理に使用するパラメータ「Context値」を計算するContext計算部である。このループ内の処理、特にContext計算に一定の時間がかかるため、全体の処理をある程度以上高速化することが難しい。
【課題を解決するための手段】
【０００６】
そこで、本発明では、一例として、Context計算部を2系統設け、直前の計算結果が０の場合と1の場合とに備え、あらかじめ計算をスタートさせ（バイナリ処理のため、直前の計算結果「Bin」は、０または１のいずれかである）、直前の結果が出たところで正しいほうを取捨選択する。
【発明の効果】
【０００７】
本発明によれば、一例として、ループの遅延時間を少しでも削減し、高速化を実現することができる。
【０００８】
上記した以外の課題、構成、効果は、以下の実施形態の中で説明される。
【発明を実施するための最良の形態】
【０００９】
以下、図面を用いて、実施形態を説明する。
【実施例１】
【００１０】
図１に本発明の実施例である画像符号化・復号化装置１のブロック図を示す。まず符号化時の動作について説明する。画像入力端子より動画像が入力され、Video I/F部12にて受信する。受信した動画像はSDRAMI/F部17を介して一旦SDRAM2内の設けたバッファ領域に格納される。所定の遅延時間後にSDRAM2内のバッファ領域から動画像データが読み出され、Encoder部13に送られる。Encoder部13にて符号化処理が行われる。符号化処理が終わった符号化データ（エレメンタリーストリーム）は、Mux/Demux部15に送られる。System Mux/Demux部15では、ヘッダコードやタイムスタンプ付加、パケット化などのシステムストリーム化処理を行う。システムストリーム化の終わった符号化データは、Device I/F部16を介して、外部の機器に符号化画像として出力される。
【００１１】
次に、復号化時の動作について説明する。まず符号化画像データが外部の機器からDevice I/F部16に入力される。Device I/F部16で受信した符号化画像データは、System Mux/Demux部15に入力される。System Mux/Demux部15では、入力された符号化画像データに対し、ヘッダコードの除去などを行い、エレメンタリーストリームを取り出す。取り出されたエレメンタリーストリームは、Decoder部14に送られる。Decoder部14においてエレメンタリーストリームの復号化処理が行われる。復号化処理が終わった動画像データは、Video I/F部12に送られる。Video I/F部12に送られた動画像データは復号化処理介してSDRAM2内に設けたバッファ領域に格納される。所定の遅延時間後にSDRAM2内のバッファ領域から動画像データが読み出され、Video I/F部12から画像出力として装置１外部に出力される。
【００１２】
また、図４のように、Decoder部14とEncoder部13を用いることでトランスコードすることもできるようになっている。この場合、符号化画像データがDecoder部14に入力され、上述のように復号化され、動画像データが出力される。また、この動画像データはEncoder部13に入力され、上述のように符号化され、符号化画像データが出力される。この際、図４に示すように、Decoder部14のプロセッサとEncoder部13のプロセッサとの間で符号化に関する情報を交換することにより、Encoder部13ではより効率的な符号化が可能となる。
【００１３】
図2にEncoder部１３のブロック図を示す。メインプロセッサ１３１およびサブプロセッサ１３２と、これらのプロセッサにより制御される処理ブロック１３３〜１３１０とから成る。入力された画像は画面内予測部133および動き探索部134に入力される。画面内予測部133においては、当該画面内においてすでに符号化済みの部分から、現在処理中の部分画像の予測画像を作成する。また動き探索部１３４においては、過去に符号化済みの他の画像から、現在処理中の部分画像により近い画像を探し出し、予測画像を作成する。画面内予測部１３３または動き探索部１３４の出力である予測画像のうちより有利なほうが選択される。この選択決定は、メインプロセッサ１３１が関与して行う。最終的に選択された一方のブロックは、予測画像と現画像との差を求める。その結果である予測誤差は、DCT/量子化処理部１３５に出力される。また、最終的に選択された当該ブロックは、予測画像を動き補償部１３７に出力する。
【００１４】
DCT/量子化処理部１３５において、入力された予測誤差に対して、離散コサイン変換またはそれと同等の所定の周波数変換処理が行われる。さらに引き続き、量子化係数による量子化処理が行われる。処理された結果はエントロピー符号化部１３９に出力される。
【００１５】
エントロピー符号化部１３９では、サブプロセッサ１３２からの指示に基づき、所定のエントロピー符号化処理を行う。その処理結果は、バッファ部１３１０を介して出力される。
【００１６】
DCT/量子化処理部１３５の出力は、逆量子化/IDCT処理部１３６に入力される。逆量子化/IDCT処理部１３６では、逆量子化処理および逆離散コサイン変換（または所定の同等処理）を行い、予測誤差を求め、その結果を補償部１３７に出力する。
【００１７】
動き補償部１３７では、入力された予測誤差および予測画像を加算し、復元画像を作成する。復元画像はデブロッキング部１３８に出力される。
【００１８】
デブロッキング部１３８に入力された復元画像は、ブロック境界のフィルタ処理を施される。その結果であるローカル復号画像は、動き探索画像として、動き探索部１３４において将来用いられる。
【００１９】
動き探索部１３４の処理について図5を用いて説明する。画像３は過去に符号化済みの画像、画像４は現在符号化中の画像である。マクロブロック４１は現在符号化処理中の部分画像であり、マクロブロック３１は、画像３において、マクロブロック４１と同じ位置に相当するマクロブロックである。このマクロブロック３１を中心に、幅Ｈ、高さＶの領域３２をとり、動き探索範囲とする。
【００２０】
図６は動き探索範囲３２を示したものである。動き探索部１３４は、この動き探索範囲３２の範囲内で、マクロブロック４１に最も近い部分を見つけ出す処理を行う。ここで、範囲ＨおよびＶをできるだけ大きくとることができれば、それだけより広範囲に、類似の画像を発見できる可能性が高くなる。しかしながら、ＨおよびＶをむやみに大きく取ると、探索に要する時間がそれに比例して増加し、処理時間の増大を招く。そこで、以下の工夫を行っている。
【００２１】
すなわち、探索範囲３２および、マクロブロック４１の画素をそれぞれ水平方向に対して２画素単位で間引いた画像を用意する。こうすると、水平方向に対してはH/2の処理画素数で済むことになり、処理時間が半減可能となる。あるいは、探索範囲３２および、マクロブロック４１の画素をそれぞれ水平方向に対して４画素単位で間引いた画像を用意すると、同じく処理時間は４分の１で済む。
または、同じ処理時間であれば、それぞれ２倍または４倍の探索範囲を探索することが可能となり、画質が向上する。特に、画素数の多い高品位テレビジョン信号の符号化を行う場合には、広い探索範囲を確保することが必要である。そこで、４画素単位を選択することにより、広い探索範囲を確保することが可能である。また、従来のテレビジョン信号の場合には、広い探索範囲よりも、細かい探索を行うことを優先し、２画素単位の間引きを使用することが可能である。
【００２２】
以上のように、本発明によれば、画像サイズに応じて、探索範囲の間引き率および探索範囲の大きさを適応的に選択することが可能である。
このように、動き探索部１３４では、動き探索範囲３２のなかで最も現画像マクロブロック４１に近いものを探索する。
【００２３】
図７は動き探索部１３４の引き続きの動作を説明する図面である。上記で発見した画素位置に対して、さらに水平±２画素、垂直±２画素の範囲で、より詳しく探索を行う。中心画素を含め、計２５画素分の探索を同時に行うことの可能なＰＥ（プロセッサエレメント）群Ａを用い、図７の８ｘ８画素の領域Ａを探索する。同様に隣接する８ｘ８画素の領域Ｂ、Ｃ、Ｄに対しても、ＰＥ−Ｂ、Ｃ，Ｄにより、同時並行で探索を実行する。
【００２４】
このようにして、ＰＥ−Ａ〜Ｄの各領域に対して、それぞれ最も近い画像の探索が行われ、その結果それぞれの位置オフセットすなわち動きベクトルが求められる。
【００２５】
動き探索部１３４ではさらに、上記動きベクトルに対し、その近傍で水平・垂直各±０．５の領域を０．２５画素刻みで探索する。この探索には上述のＰＥ―Ａ〜Ｄを再び用いる。
【００２６】
次にDecoder部１４について図３を用いて説明する。メインプロセッサ１４１およびサブプロセッサ１４２と、これらのプロセッサにより制御される処理ブロック１４３、１４６〜１４１０とから成る。
【００２７】
入力されたエレメンタリーストリームはバッファ部１４１０でバッファリングされた後、エントロピー復号化部１４９に入力される。図８に示すように、エントロピー復号化部１４９では、サブプロセッサ１４２からの指示に基づき、所定のエントロピー復号化処理を行う。その処理結果であるマクロブロックレイヤのパラメータおよびデータは、逆量子化/IDCT部１４６に入力される。また、シーケンスやピクチャヘッダなどの上位レイヤはサブプロセッサ１４２が解析を行い、上位レイヤ情報として出力する。
【００２８】
逆量子化/IDCT処理部１４６では、逆量子化処理および逆離散コサイン変換（または所定の同等処理）を行い、予測誤差を復元し、その結果を補償部１４７に出力する。
動き補償部１４７では、入力された予測誤差および予測画像を加算し、復元画像を作成する。なお、ここにおける予測画像は、符号の内容により動き補償または画面内予測画像のいずれかが用いられる。画面内予測画像の場合には、画面内予測部１４３が作成した予測画像を用いる。動き補償部１４７において作成した復元画像はデブロッキング部１４８に出力される。
【００２９】
デブロッキング部１４８に入力された復元画像は、ブロック境界のフィルタ処理を施され、出力画像として出力される。
【００３０】
エントロピー復号化部１４９において取り扱うことのできるエントロピー符号のうち、算術符号の復号化処理について図９を用いて説明する。図において１４９１は算術復号化処理を行って、１ビットの値「Bin」を求めるBinデコーダ部、１４９２は複数のBinの列から、１組の数値を求める数値復元部、１４９３は、Binデコーダ部での復号化処理に使用するパラメータ「Context値」を計算するContext計算部である。
【００３１】
図１０に本発明のContext計算部１４９４についてさらに詳しく説明する。内部にContext#0計算部１４９４１およびContext#1計算部１４９４２を内蔵する。Context#0計算部１４９４１は、直前の復号化結果であるBinの値Bn-1が確定する前に、その結果が仮に０であったと仮定して、Context計算を開始する。同様に、Context#1計算部１４９４２は、直前の復号化結果Binの値Bn-1が確定する前に、その結果が仮に１であったと仮定して、Context計算を開始する。これらの結果は、Context[0]および[1]として、Binデコーダ部1491に共に入力される。Binデコーダ部1491は、直前の復号化結果Bn-1が確定次第、その値に基づき、上記入力されたContext[0]または[1]のうち適切なほうを選択して、次回の復号化に利用する。
【００３２】
以上、本発明の算術復号化処理によれば、直前のBinデコード値が確定する前にContext演算を開始できるため、算術復号化処理内部のフィードバックループの処理時間を短くすることができ、したがって、算術復号化処理の処理速度を大幅に高めることが可能である。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施例である画像符号化・復号化装置１のブロック図を示す。
【図２】Encoder部１３のブロック図を示す。
【図３】Decoder部１４のブロック図を示す。
【図４】トランスコードする場合の実施例を示す図である。
【図５】動き探索部１３４の処理について説明する図である。
【図６】動き探索範囲３２を示す。
【図７】動き探索部１３４の動作を説明する図である。
【図８】エントロピー復号化部１４９を説明する図である。
【図９】算術符号の復号化処理について説明する図である。
【図１０】Context計算部１４９４について説明する図である。
【符号の説明】
【００３４】
１・・・画像符号化・復号化装置
２・・・ＳＤＲＡＭ
１２・・Ｖｉｄｅｏ  Ｉ／Ｆ
１３・・Ｅｎｃｏｄｅｒ部
１４・・Ｄｅｃｏｄｅｒ部
１５・・Ｓｙｓｔｅｍ  Ｍｕｘ／Ｄｅｍｕｘ部
１６・・Ｄｅｖｉｃｅ  Ｉ／Ｆ
１７・・ＳＤＲＡＭ  Ｉ／Ｆ
【図１】
2008172545.tif 000003
【図２】
2008172545.tif 000004
【図３】
2008172545.tif 000005
【図４】
2008172545.tif 000006
【図５】
2008172545.tif 000007
【図６】
2008172545.tif 000008
【図７】
2008172545.tif 000009
【図８】
2008172545.tif 000010
【図９】
2008172545.tif 000011
【図１０】
2008172545.tif 000012