(57)【要約】【課題】複数の符号化ユニットを用いて画像の符号化処理を同時に行うことを、画面を複数のＲＯＷで分割することなくできるようにする。【解決手段】下位ＲＯＷ最初のマクロブロックの量子化パラメータを一時的に保存しておき、上位ＲＯＷの符号化処理が最終マクロブロックまで終了した時点で、あらためて差分を取り、符号化データとして生成させるようにすることにより、複数のＲＯＷが同時に符号化する並列化処理を実行できるようにする。【選択図】  図１
2009267440.tif 000002
【特許請求の範囲】
【請求項１】
符号化する画像データを、任意のサイズからなるブロックの集合で形成されたエリアの各々に分割する画像分割手段と、
前記画像分割手段により複数に分割された前記画像データを符号化するために配置された複数個の符号化ユニットのうち、任意の符号化ユニットが符号化処理を開始するブロックの量子化パラメータを一時的に記録する量子化パラメータ記録手段と、
前記任意の符号化ユニットが符号化処理するエリアに隣接するエリアを符号化処理する隣接エリア符号化ユニットが、前記エリア内の全ブロックについて符号化処理を終了したことを検出する符号化終了検出手段と、
前記符号化終了検出手段により前記隣接エリア符号化ユニットの符号化終了が検出された後に、前記量子化パラメータ記録に記録された前記任意の符号化ユニットが符号化処理を開始するブロックの量子化パラメータと、前記隣接エリア符号化ユニットで最後に符号化処理された最終ブロックの量子化パラメータの差分を演算する差分値演算手段とを具備することを特徴とする画像符号化装置。
【請求項２】
前記ブロックを構成するデータのうち、量子化パラメータ以外のデータを二値化処理する二値化手段と、前記二値化手段により二値化処理された二値化データと、二値化処理が行われていない量子化パラメータとを多重化する多重化手段とを具備することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記多重化手段により多重化されたデータを順次解析し、二値化処理が行われていない量子化パラメータを検出する二値データ解析手段を有することを特徴とする請求項２に記載の画像符号化装置。
【請求項４】
前記二値データ解析手段により、二値化処理が行われていない量子化パラメータが検出されるたびに、それらの差分値を求める差分値演算手段と、前記差分値演算手段により求められた差分値を二値化する差分値二値化手段と、前記量子化パラメータの二値化データと、前記量子化パラメータ以外の既二値化データとを多重化する再多重化手段と、前記再多重化手段により多重化された多重化データのバイト配列を整える整列手段と、前記整列手段によってバイト配列が整えられた二値化フレームデータを符号化する符号化手段とを具備することを特徴とする請求項３に記載の画像符号化装置。
【請求項５】
符号化する画像データを、任意のサイズからなるブロックの集合で形成されたエリアの各々に分割する画像分割工程と、
前記画像分割工程において複数に分割された前記画像データを符号化するために配置された複数個の符号化ユニットのうち、任意の符号化ユニットが符号化処理を開始するブロックの量子化パラメータを一時的に記録する量子化パラメータ記録工程と、
前記任意の符号化ユニットが符号化処理するエリアに隣接するエリアを符号化処理する隣接エリア符号化ユニットが、前記エリア内の全ブロックについて符号化処理を終了したことを検出する符号化終了検出工程と、
前記符号化終了検出工程において前記隣接エリア符号化ユニットの符号化終了が検出された後に、前記量子化パラメータ記録に記録された前記任意の符号化ユニットが符号化処理を開始するブロックの量子化パラメータと、前記隣接エリア符号化ユニットで最後に符号化処理された最終ブロックの量子化パラメータの差分を演算する差分値演算工程とを具備することを特徴とする画像符号化方法。
【請求項６】
前記ブロックを構成するデータのうち、量子化パラメータ以外のデータを二値化処理する二値化工程と、前記二値化工程において二値化処理された二値化データと、二値化処理が行われていない量子化パラメータとを多重化する多重化工程とを具備することを特徴とする請求項５に記載の画像符号化方法。
【請求項７】
前記多重化工程において多重化されたデータを順次解析し、二値化処理が行われていない量子化パラメータを検出する二値データ解析工程を有することを特徴とする請求項６に記載の画像符号化方法。
【請求項８】
前記二値データ解析工程において、二値化処理が行われていない量子化パラメータが検出されるたびに、それらの差分値を求める差分値演算工程と、前記差分値演算工程において求められた差分値を二値化する差分値二値化工程と、前記量子化パラメータの二値化データと、前記量子化パラメータ以外の既二値化データとを多重化する再多重化工程と、前記再多重化工程において多重化された多重化データのバイト配列を整える整列工程と、前記整列工程によってバイト配列が整えられた二値化フレームデータを符号化する符号化工程とを具備することを特徴とする請求項７に記載の画像符号化方法。
【請求項９】
符号化する画像データを、任意のサイズからなるブロックの集合で形成されたエリアの各々に分割する画像分割工程と、
前記画像分割工程において複数に分割された前記画像データを符号化するために配置された複数個の符号化ユニットのうち、任意の符号化ユニットが符号化処理を開始するブロックの量子化パラメータを一時的に記録する量子化パラメータ記録工程と、
前記任意の符号化ユニットが符号化処理するエリアに隣接するエリアを符号化処理する隣接エリア符号化ユニットが、前記エリア内の全ブロックについて符号化処理を終了したことを検出する符号化終了検出工程と、
前記符号化終了検出工程において前記隣接エリア符号化ユニットの符号化終了が検出された後に、前記量子化パラメータ記録に記録された前記任意の符号化ユニットが符号化処理を開始するブロックの量子化パラメータと、前記隣接エリア符号化ユニットで最後に符号化処理された最終ブロックの量子化パラメータの差分を演算する差分値演算工程とをコンピュータに実行させることを特徴とするプログラム。
【請求項１０】
請求項９に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像符号化装置及び画像符号化方法に関し、特に、ハイビジョンサイズの動画像を符号化するために用いて好適な技術に関する。
【背景技術】
【０００２】
動画像の符号化の規格としては、ISO/IECの国際標準規格である、MPEG-1、 MPEG-2、 MPEG-4が広く使用されている。近年、より高い符号化効率を持つ規格として、ITU-T H.264（あるいはMPEG-4 AVCと呼称される）が制定され、その実用化が急速に進んでいる。
H.264規格対応の画像符号化装置の従来例を図９に載せる。
【０００３】
図９において、９０１はフレームメモリであり、符号化の対象となるフレーム、及び動き補償において参照となる画像を一時的に記録する。９０２は動き検出部であり、動きベクトルの検出やマクロブロックタイプの判定を行う。
【０００４】
９０３は動き補償部であり、動き検出部９０２で求められた動きベクトルやマクロブロックタイプから、指定された動き補償処理を行い、局所デコード画像を生成する。９０５は整数変換部であり、所定のマクロブロックデータを周波数空間に変換する。周波数空間に変換する際に、MPEG-4規格までは離散コサイン変換が用いられていた。しかしながら、逆変換時の変換誤差が積算されるという問題があったため、H.264規格では、原理的に変換誤差の生じない整数変換が採用されている。
【０００５】
９０６は量子化部であり、整数変換部９０５で周波数変換された係数データを量子化する。９０９は逆量子化部であり局所デコード画像のための処理を行う。９０４はデブロッキングフィルタであり、ブロック境界の平滑化処理を行う。
【０００６】
９０８は二値化部であり、量子化済みの係数データ、及びマクロブロックに付随する各種情報も同時に、すべてのデータの二値化処理を行う。二値化の方式については、各符号化要素（シンタックスエレメントと呼称される）によって異なっている。
【０００７】
９１０はエントロピー符号化部であり、二値化部９０８による二値化済みデータを最終的に符号化する。符号化の方式としては、CAVLC (Content Adaptive Variable Length Code)がある。また、CABAC (Content Adaptive Binary Arithmetic Code)の２種類がある。これらの符号化方式の何れかを、ビットストリームのプロファイルに応じて選択して使用可能である。
【０００８】
H.264規格は、画像サイズやビットレートの適用範囲が広く、ハイビジョンサイズの符号化への需要が高まってきている。ハイビジョンサイズでのリアルタイム符号化を行うときには、その処理負荷を考慮すると、複数の符号化ユニットを用い、並列処理によって行うことが必要となることが多い。このとき、各フレームは、所定サイズの複数エリアに分割され、各々のエリアごとに独立した符号化ユニットが配置され、符号化動作を並列に行う。
【０００９】
図５〜図７に、画面分割の例を示す。
以下の説明においては、第１のＣＯＲＥ＃１及び第２のＣＯＲＥ＃２からなる、２つの符号化ユニットを並列動作させて符号化を行なうものとする。
【００１０】
図５は、画面をロウ（ＲＯＷ）ごとに分割し、ＲＯＷごとに第１のＣＯＲＥ＃１及び第２のＣＯＲＥ＃２が交互に符号化していく方式である。ＲＯＷとは、マクロブロック単位での１行分のデータを表わす。ＲＯＷの垂直画素数はマクロブロックのサイズにより輝度成分は１６画素と定義される（ただし、マクロブロック単位でのフィールド・フレーム適用予測モードを除く）。また、ＲＯＷの水平画素数は、画面サイズと同じ水平画素数で定義される。
【００１１】
図６は、画面を上下に２分割して処理する方式を説明する図である。
図７は、複数のフレーム（あるいはフィールド）を、２つのコアで交互に符号化していく方式を示している。このとき、どの方式も並列化処理することによる様々な問題点が発生することが分かっている。
【００１２】
図５の場合は、第１のＣＯＲＥ＃１及び第２のＣＯＲＥ＃２が比較的近傍のマクロブロックを同時に処理するため、イントラフレームでのマクロブロックデータの相互の参照（予測）関係を特に考慮する必要がある。
【００１３】
図６の場合は、第２のＣＯＲＥ＃２の処理開始から、第１のＣＯＲＥ＃１の処理終了までの時間差が大きくなるため、量子化ステップが両ＣＯＲＥの処理境界（＝画面中央）で不連続になる現象が発生し、画質に影響が発生する可能性が高い。
【００１４】
また、図７の場合は、直前フレームの符号化結果を原理的に参照できないため、符号量制御が的確に行われない可能性がある。また、動き補償における参照画像の生成タイミングに問題が出る可能性もある（局所デコード画像が生成されていない場合がありえる）。したがって、並列処理により、フレーム内及び複数フレーム間での画質を損ねることなく、符号化処理を行うには、図５の構成が最も適していると考えられる。
【００１５】
例えば、特許文献１においては、画像を分割し、複数コアを用いて符号化処理を交互に行い、後工程において１つのビットストリームとして形成する方式についての提案がなされている。
【００１６】
【特許文献１】特開平１０−２３４０４３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
動画像を、複数の符号化ユニットを用いて並列に処理する場合において、H.264規格のように、連続するマクロブロックの量子化パラメータの差分値を符号化し、かつ、ＲＯＷ分割を行わない構成の場合は、以下のような問題点があった。すなわち、上部ＲＯＷに属するマクロブロックの符号化をすべて終了しないと、下部ＲＯＷの最初のマクロブロックの符号データを確定できない（差分値が決まらない）ため、その後の可変長符号化が困難であるという課題があった。
【００１８】
この問題を図８を参照しながら説明する。
MPEG-2のケースでは、スライスは単独のＲＯＷから形成されたが、画面８０１のようなスライス分割のみが可能であった。しかしながら、H.264規格においては、スライスは複数のＲＯＷで構成することが可能である。画面８０２では２ＲＯＷをスライスとして構成する。
【００１９】
このように、１つのスライスを大きくすることによって、フレーム内符号化のための上ＲＯＷ内マクロブロックの参照や、エントロピー符号化の適応的な処理の長期継続により、より符号化効率を向上することが可能になる。
【００２０】
各マクロブロックには、量子化パラメータを付随することができる。付随しない場合には、前置マクロブロックの量子化パラメータをそのまま使用する。量子化パラメータを付随させる場合のシンタックスは以下のように定義されている（以下は輝度の場合）。
ＱＰｙ＝(ＱＰｙ＿ｐｒｅｖ＋ｍｂ＿ｑｐ＿ｄｅｌｔａ＋５２)％５２・・・（式１）
ＱＰｙ：符号化対象マクロブロックの輝度成分用量子化パラメータである。
ＱＰｙ＿ｐｒｅｖ：前置マクロブロック（既符号化済み）の輝度成分用量子化パラメータである。
【００２１】
つまり、前置マクロブロックの量子化パラメータとの差分値（ｍｂ＿ｑｐ＿ｄｅｌｔａ）を符号化することにより、量子化パラメータを設定可能である。また、スライスはそれ単独でデコードするように作用させるため、ＱＰｙ＿ｐｒｅｖはスライスの先頭にてリセットされる。
【００２２】
したがって、画面８０１のようなスライス構造をとれば、各ＲＯＷにおいてＱＰｙ＿ｐｒｅｖはリセットされるため、連続するＲＯＷに対して並列符号化を行っても問題無い。しかしながら、各ＲＯＷごとに独立したスライス構造をとると、符号化効率が落ちてしまうという問題が生じるため、エラー耐性よりも画質が優先なアプリケーションにおいては好適な方式ではない。
【００２３】
一方、画面８０２のように、複数ＲＯＷを同一スライスとして扱う場合には、右端のマクロブロックと連続する左端マクロブロックの量子化パラメータは、その差分をビットストリーム化する必要がある。しかし、並列化処理をすると、複数のＲＯＷが同時に符号化を行うため、その差分値は、各ＲＯＷの最終マクロブロックの量子化パラメータ決定した後でなければ計算を行うことができないという問題があった。
【００２４】
本発明は前述の問題点に鑑み、複数の符号化ユニットを用いて画像の符号化処理を同時に行うことを、画面を複数のＲＯＷで分割することなくできるようにすることを目的とする。
【課題を解決するための手段】
【００２５】
本発明の画像符号化装置は、符号化する画像データを、任意のサイズからなるブロックの集合で形成されたエリアの各々に分割する画像分割手段と、前記画像分割手段により複数に分割された前記画像データを符号化するために配置された複数個の符号化ユニットのうち、任意の符号化ユニットが符号化処理を開始するブロックの量子化パラメータを一時的に記録する量子化パラメータ記録手段と、前記任意の符号化ユニットが符号化処理するエリアに隣接するエリアを符号化処理する隣接エリア符号化ユニットが、前記エリア内の全ブロックについて符号化処理を終了したことを検出する符号化終了検出手段と、前記符号化終了検出手段により前記隣接エリア符号化ユニットの符号化終了が検出された後に、前記量子化パラメータ記録に記録された前記任意の符号化ユニットが符号化処理を開始するブロックの量子化パラメータと、前記隣接エリア符号化ユニットで最後に符号化処理された最終ブロックの量子化パラメータの差分を演算する差分値演算手段とを具備することを特徴とする。
【００２６】
本発明の画像符号化方法は、符号化する画像データを、任意のサイズからなるブロックの集合で形成されたエリアの各々に分割する画像分割工程と、前記画像分割工程において複数に分割された前記画像データを符号化するために配置された複数個の符号化ユニットのうち、任意の符号化ユニットが符号化処理を開始するブロックの量子化パラメータを一時的に記録する量子化パラメータ記録工程と、前記任意の符号化ユニットが符号化処理するエリアに隣接するエリアを符号化処理する隣接エリア符号化ユニットが、前記エリア内の全ブロックについて符号化処理を終了したことを検出する符号化終了検出工程と、前記符号化終了検出工程において前記隣接エリア符号化ユニットの符号化終了が検出された後に、前記量子化パラメータ記録に記録された前記任意の符号化ユニットが符号化処理を開始するブロックの量子化パラメータと、前記隣接エリア符号化ユニットで最後に符号化処理された最終ブロックの量子化パラメータの差分を演算する差分値演算工程とを具備することを特徴とする。
【００２７】
本発明のプログラムは、符号化する画像データを、任意のサイズからなるブロックの集合で形成されたエリアの各々に分割する画像分割工程と、前記画像分割工程において複数に分割された前記画像データを符号化するために配置された複数個の符号化ユニットのうち、任意の符号化ユニットが符号化処理を開始するブロックの量子化パラメータを一時的に記録する量子化パラメータ記録工程と、前記任意の符号化ユニットが符号化処理するエリアに隣接するエリアを符号化処理する隣接エリア符号化ユニットが、前記エリア内の全ブロックについて符号化処理を終了したことを検出する符号化終了検出工程と、前記符号化終了検出工程において前記隣接エリア符号化ユニットの符号化終了が検出された後に、前記量子化パラメータ記録に記録された前記任意の符号化ユニットが符号化処理を開始するブロックの量子化パラメータと、前記隣接エリア符号化ユニットで最後に符号化処理された最終ブロックの量子化パラメータの差分を演算する差分値演算工程とをコンピュータに実行させることを特徴とする。
【発明の効果】
【００２８】
本発明によれば、下位ＲＯＷ最初のマクロブロックの量子化パラメータを一時的に保存しておく。そして、上位ＲＯＷの符号化処理が最終マクロブロックまで終了した時点で、あらためて差分を取り、符号化データとして生成させるようにする。これにより、数の符号化ユニットを用いて画像の符号化処理を同時に行うことを、画面を複数のＲＯＷで分割することなくできるようにすることが可能になり、高解像度な画像の符号化を高速に行うことができる。
【発明を実施するための最良の形態】
【００２９】
（第１の実施形態）
図１のブロック図を参照しながら本発明の第１の実施形態を説明する。なお、本実施形態では、２つの符号化ユニットにより並列動作させる例を説明する。
図１において、１００は各部の動作を制御する制御部である。１０１は画像を分割する画像分割部であり、画像を複数に分割するための装置である。１２４は符号化ユニット１（第１のＣＯＲＥ＃１）であり、１２６は符号化ユニット２（第２のＣＯＲＥ＃２）である。
【００３０】
各ユニット１及び２の内部の説明を以下に行う。
１１２はフレームメモリであり、符号化の対象となるフレーム及び動き補償において、参照となる画像を一時的に記録するために用いられる。１０３は動き検出部であり、動きベクトルの検出やマクロブロックタイプの判定を行う。
【００３１】
１０４は動き補償部であり、動き検出部１０３で求められた動きベクトルやマクロブロックタイプから、指定された動き補償処理を行い、局所デコード画像を生成する。１０７は整数変換部であり、所定のマクロブロックデータを周波数空間に変換する。１０６は量子化制御部であり、量子化部１０８の量子化動作、及びＲＯＷバッファ１１１のバッファ動作を制御する。
【００３２】
１０８は量子化部であり、周波数変換された係数データを量子化する。本実施形態においては、入力された符号化ブロックを構成するデータのうち、量子化パラメータ以外のデータを二値化処理する。１０９は逆量子化部であり、局所デコード画像のための処理を行う。１０５はデブロッキングフィルタであり、ブロック境界の平滑化処理を行う。
【００３３】
１１０は二値化部であり、量子化済みの係数データ、及びマクロブロックに付随する各種情報も同時に、すべてのデータを二値化する。二値化の方式については、各符号化要素（シンタックスエレメントと呼称される）によって異なっている。
【００３４】
二値化部１１０により二値化された量子化済みの係数データ、及びマクロブロックに付随する各種情報等のすべてのデータは、制御部１００の制御に従ってＲＯＷバッファ１１１に一時保存される。そして、ＲＯＷバッファ１１１に保存するデータがなくなった祭に、１ＲＯＷ分の画像データの符号化処理が終了したとして、符号化終了検出を行う。
【００３５】
以上、本実施形態においても、各符号化コアは、従来例と同じ機能を持ち、この符号化コアをもう１つのコア(第２のＣＯＲＥ＃２)が具備することにより並列動作を行う。１２６は第２のＣＯＲＥ＃２であり、内部は第１のＣＯＲＥ＃１と同等の機能を具備している。第２のＣＯＲＥ＃２内における各部の構成要件には、第１のＣＯＲＥ＃１に付した符号よりに「＋１０」した符号を付している。
【００３６】
１２３は、コア間のマクロブロック調停部であり、２つのコア第１のＣＯＲＥ＃１、第２のＣＯＲＥ＃２の進行状況を司る。具体的には、特にフレーム内符号化モードにおいて、第２のＣＯＲＥ＃２での処理では、第１のＣＯＲＥ＃１の処理済の画像（ローカルデコード画像）をイントラ予測参照元として使用する場合がある。このため、第２のＣＯＲＥ＃２の処理が第１のＣＯＲＥ＃１の処理よりも先行しないように調停を行う。また、コア間での符号量制御データの送信受信を行うが、この詳細については、本実施形態と特徴として着目する点ではないため、詳細な説明を割愛する。
【００３７】
１１１及び１２１は二値データＲＯＷバッファであり、二値化済みのデータを一時的に保存する。このとき、第１のＣＯＲＥ＃１ではそれより上部に位置するロウ（ＲＯＷ）の符号化は終了している。
【００３８】
このため、ｍｂ＿ｑｐ＿ｄｅｌｔａの値はすべてのマクロブロックであらかじめ計算可能であるが、第２のＣＯＲＥ＃２では、左端のマクロブロックでＱＰｙ＿ｐｒｅｖが定まっていないため、ｍｂ＿ｑｐ＿ｄｅｌｔａの計算ができない。そこで、このマクロブロックでは、ｍｂ＿ｑｐ＿ｄｅｌｔａではなく、暫定的にＱＰｙの値を保持しておく。
【００３９】
実際には、ｍｂ＿ｑｐ＿ｄｅｌｔａは、図３に示されるテーブルに基づいて二値化される。この方式は、Unary Binarizationと呼ばれている。注目すべきは、ｍｂ＿ｑｐ＿ｄｅｌｔａの値によって二値化結果が可変長になっていることである。一方、ＱＰｙの値は、「−２６から＋２５」の値までを取り得るため、２の補数表現では６ビット固定長で表現可能である。
【００４０】
１２７は二値データ統合部であり、複数のコアにより生成された１ＲＯＷ分の二値化データを統合して二値化されたフレーム（あるいはフィールド）データを形成する。本実施形態では、第１のＣＯＲＥ＃１の出力及び第２のＣＯＲＥ＃２の出力を交互に多重化して一つのフレームとして形成し、二値フレームバッファ１２８にストアする。
【００４１】
１２９〜１３６は後工程にあたり、二値化されたフレームデータからフレーム単位（あるいはフィールド単位）のビットストリームを生成するための構成である。
【００４２】
１２９は二値データ解析部であり、二値データ統合部１２７により多重化されたデータを順次解析する。１３０は量子化パラメータ抽出部であり、規定のシンタックスよりＱＰｙの値（固定長）を抽出する。１３１は、量子化パラメータ記録部であり、抽出されたＱＰｙの値を一時的に保存する。１３２は差分器であり、連続するＱＰｙの差分ｍｂ＿ｑｐ＿ｄｅｌｔａを演算する差分値演算手段として機能する。
【００４３】
１３３は二値化部であり、「式１」に従って、ｍｂ＿ｑｐ＿ｄｅｌｔａを求める。本実施形態においては、差分値二値化手段として機能する。１３４は再多重化部であり、二値化部１３３で求められたｍｂ＿ｑｐ＿ｄｅｌｔａをその他のシンタックスエレメントデータに多重し直すために用いられる。
【００４４】
１３５はバイトアライナであり、ｍｂ＿ｑｐ＿ｄｅｌｔａが可変長であるため、その符号長に応じて、すべてのデータをバイトアラインし直して整形する。本機能は必須ではないが、データの配列上、バイト単位で扱えるほうが楽であるため、便宜上構成されている。１３６はエントロピー符号化部であり、CAVLCあるいはCABACを使用して最終的なビットストリームが生成される。
【００４５】
次に、図４を参照しながらデータの形成過程の一例を説明する。
前段では、図４（ａ）に示すように、パラメータ以外のデータはすべて二値化され、二値化フレームデータを形成する。この時点では、すべての量子化パラメータは差分を取らずに絶対値で記録される。後段の処理として、各量子化パラメータが検出されて差分を求め、図４（ｂ）に示すように、二値化を行う。図４では、二値化済みのデータをＢＩＮと表記している。また、二値化前のｍｂ＿ｑｐ＿ｄｅｌｔａをΔと表記している。
【００４６】
このように構成することにより、複数のＲＯＷを同一スライスとして扱う場合には以下のように処理する。すなわち、ＲＯＷの切り替えポイントにおいて、ｍｂ＿ｑｐ＿ｄｅｌｔａが左端のマクロブロックの符号化時点で一意的に求められないときに、輝度成分用量子化パラメータＱＰｙを二値化フレームデータに一時的に記録しておく。
【００４７】
そして、後工程において、図４（ｃ）に示すように、差分を求める。次に、二値データの解析及び演算を行い、量子化パラメータを抽出する。次に、図４（ｄ）に示すように、二値化前のΔを二値化して「BIN」とする。その後、エントロピー符号化を行うことによって実現が可能になる。なお、本実施形態の説明においては、量子化パラメータのうち、輝度成分のみについて記述したが、色差成分においても、同様の方法で処理可能である。
【００４８】
次に、前述した本実施形態の画像符号化装置により画像データを符号化する処理手順の一例を、図１１のフローチャートを参照しながら説明する。
図１１に示すように、処理が開始されると、ステップＳ１１０１において、符号化する画像データを、画像分割部１０１が任意のサイズからなるブロックの集合で形成されたエリアの各々に分割する。画像分割部１０１によって複数に分割された前記画像データは、フレームメモリ１１２を介して第１の符号化ユニット１２４及び第２の符号化ユニット１２６に供給される。
【００４９】
第１の符号化ユニット１２４は、画像データを符号化するために配置された複数個の符号化ユニットのうち、１ＲＯＷ分の画像データを符号化する任意の符号化ユニットである。また、第２の符号化ユニット１２６は、第１の符号化ユニット１２４が符号化処理するエリアに隣接するエリアを符号化処理する隣接エリア符号化ユニットとして機能する符号化ユニットである。
【００５０】
次に、ステップＳ１１０２に進み、第１の符号化ユニット１２４及び第２の符号化ユニット１２６において、１ＲＯＷ分の二値化データを生成する。ここで、本実施形態においては、量子化パラメータは絶対値をそのまま固定長で二値データに混入させて１ＲＯＷ分の二値化データを生成する。
【００５１】
次に、ステップＳ１１０３に進み、第１の符号化ユニット１２４及び第２の符号化ユニット１２６で別個に生成された１ＲＯＷ分の二値化データを二値データ統合部１２７により統合して二値化されたフレームデータを形成する。
【００５２】
次に、ステップＳ１１０４に進み、エリア内の全ブロックについて符号化処理を終了したことを検出する。この終了検出は、ＲＯＷバッファ１１１及びＲＯＷバッファ１２１に二値化済みのデータを保存する制御を行っている制御部１００により行われる。
【００５３】
次に、ステップＳ１１０５に進み、二値データ解析部１２９により、二値化処理が行われていない量子化パラメータを検出する。この検出処理によって、第１の符号化ユニット１２４が符号化処理を開始するブロックの量子化パラメータが検出される。また、第２の符号化ユニット１２６で最後に符号化処理された最終ブロックの量子化パラメータが検出される。
【００５４】
次に、ステップＳ１１０６に進み、差分器１３２によって、ステップＳ１１０５において検出した２つの量子化パラメータの差分を演算する処理を行う。次に、ステップＳ１１０７に進み、差分器１３２によって演算された差分値を、二値化部１３３により二値化する。
【００５５】
次に、ステップＳ１１０８に進み、量子化パラメータの二値化データと、量子化パラメータ以外の既二値化データとを多重化する処理を再多重化部１３４により行う。次に、ステップＳ１１０９に進み、再多重化部１３４により多重化された多重化データのバイト配列を、バイトアライナ１３５により整える整列処理を実行する。次に、ステップＳ１１１０に進み、バイトアライナ１３５によってバイト配列が整えられた二値化フレームデータを、エントロピー符号化部１３６により符号化する処理を行い、１ＲＯＷ分の符号データを生成する。
【００５６】
（第２の実施形態）
図２に、本発明の第２の実施形態を示す。図１との相違は、ＱＰバッファ２３７にある。その他の構成については、図１に示した構成と同様であり、図１に示したブロックに対応するブロックのそれぞれには、「＋１００」の符号を付している。
【００５７】
本実施形態においては、二値フレームデータには、輝度成分用量子化パラメータＱＰｙの値は記録を行わない。その代わりに、ＱＰバッファ２３７に輝度成分用量子化パラメータＱＰｙの値と、二値フレームデータに対しての本来はシンタックスとして挿入されるべき位置情報を記録しておく。ここで、シンタックスとは、圧縮符号化されたデータ列の規則をいう。後工程において、各輝度成分用量子化パラメータＱＰｙの差分値を求めてから二値化を行い、規定のシンタックスを形成する。
【００５８】
本実施形態では、第１の実施形態と比較すると、ＱＰバッファを別途具備する必要があるが、反面、その利点として、第１の実施形態における、二値化フレームデータの解析工程が不要であるという点にある。両実施形態でも、効果としては同じである。
【００５９】
なお、２つの実施形態とも、符号化コアの数は２として例示したが、これが２以上の任意の数でも適用可能であることはいうまでもない。図１０では、４つのコアによる画像分割例を示している。
【００６０】
（本発明に係る他の実施の形態）
前述した本発明の実施の形態における画像符号化装置を構成する各手段は、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００６１】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施の形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００６２】
なお、本発明は、前述した画像符号化方法における各工程を実行するソフトウェアのプログラム（実施の形態では図１１に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接、あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００６３】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００６４】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００６５】
プログラムを供給するための記録媒体としては種々の記録媒体を使用することができる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【００６６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００６７】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００６８】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００６９】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施の形態の機能が実現される他、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行うことによっても前述した実施の形態の機能が実現され得る。
【００７０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施の形態の機能が実現される。
【図面の簡単な説明】
【００７１】
【図１】本発明の第１の実施形態を示し、画像符号化装置の概略構成の一例を示すブロック図である。
【図２】本発明の第２の実施形態を示し、画像符号化装置の概略構成の一例を示すブロック図である。
【図３】量子化パラメータの二値化の方式（規格）を示す図である。
【図４】本発明の実施形態を示し、データの形成過程の一例を説明する図である。
【図５】複数符号化コアにより行われるフレーム分割処理の一例を示す図である。
【図６】複数符号化コアにより行われるフレーム分割処理の他の例を示す図である。
【図７】複数符号化コアにより行われるフレーム分割処理の他の例を示す図である。
【図８】スライス分割の説明図である。
【図９】H.264規格対応の画像符号化装置の従来例を説明するブロック図である。
【図１０】４つのコアによる画像分割例を示す図である。
【図１１】本発明の実施形態を示し、画像符号化手順の一例を説明するフローチャートである。
【符号の説明】
【００７２】
１００  制御部
１０１  画像分割部
１０３  動き検出部
１０４  動き補償部
１０５  デブロッキングフィルタ
１０６  量子化制御部
１０７  整数変換部
１０８  量子化部
１０９  逆量子化部
１１０  二値化部
１１１  二値化データＲＯＷバッファ
１１２  フレームメモリ
１１３  動き検出部
１１４  動き補償部
１１５  デブロッキングフィルタ
１１６  量子化制御部
１１７  整数変換部
１１８  量子化部
１１９  逆量子化部
１２０  二値化部
１２１  二値化データＲＯＷバッファ
１２３  コア間マクロブロック調停部
１２７  二値データ統合部
１２８  二値フレームバッファ
１２９  二値データ解析部
１３０  量子化パラメータ抽出部
１３１  量子化パラメータ記録部
１３２  差分器
１３３  二値化部
１３４  再多重化部
１３５  バイトアライナ
１３６  エントロピー符号化部
９０１  フレームメモリ
９０２  動き検出部
９０３  動き補償部
９０４  デブロッキングフィルタ
９０５  整数変換部
９０６  量子化部
９０８  二値化部
９０９  逆量子化部
９１０  エントロピー符号化部
【図１】
2009267440.tif 000003
【図２】
2009267440.tif 000004
【図３】
2009267440.tif 000005
【図４】
2009267440.tif 000006
【図５】
2009267440.tif 000007
【図６】
2009267440.tif 000008
【図７】
2009267440.tif 000009
【図８】
2009267440.tif 000010
【図９】
2009267440.tif 000011
【図１０】
2009267440.tif 000012
【図１１】
2009267440.tif 000013