(57)【要約】【課題】マクロブロックパイプライン構造の動画像符号化装置において、隣接ブロックの処理結果を符号化中のブロックの処理に反映する。【解決手段】縦に連続する少なくとも２行のマクロブロック行がひとまとまりとされ、これらひとまとまりのマクロブロック行から、１行のマクロブロック行当たり１個のマクロブロックが選択され、これら選択された複数のマクロブロックが１マクロブロックサイクルごとにマクロブロックパイプラインに投入され、そのマクロブロックの符号化が開始される。例えば、ｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列のマクロブロックが１マクロブロックサイクルごとにマクロブロックパイプラインに投入され、符号化が開始される。【選択図】図１
2007312340.tif 000002
【特許請求の範囲】
【請求項１】
動画像符号化の処理を複数のステージに分割してパイプライン的に実行する第１の手段と、
縦に連続するｍ（ｍは２以上の整数）のマクロブロック行をひとまとまりとし、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックについては、左下隣接マクロブロックがまだ選択されていないマクロブロックを選択し、かつ、前記ひとまとまりのマクロブロック行の中の最も上以外のマクロブロック行に属するマクロブロックについては、右上隣接マクロブロックが既に選択されているマクロブロックを選択することによって、前記ひとまとまりのマクロブロック行に含まれるマクロブロックを１マクロブロック行当たり１個選択する第２の手段と、
前記第２の手段によって選択された個々のマクロブロックについて、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックから、最も下のマクロブロック行に属するマクロブロックまで、ｍマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックを符号化するために必要なデータを前記第１の手段に設定する第３の手段と、
を有し、
前記第３の手段によって前記ひとまとまりのマクロブロック行の中の最も下のマクロブロック行に属するマクロブロックを符号化するために必要なデータが前記第１の手段に設定されると、前記第２の手段は、前記選択されている個々のマクロブロックごとにその右隣接マクロブロックを新たに選択する
ことを特徴とする動画像符号化装置。
【請求項２】
縦に隣接する２つのマクロブロックを組み合わせてマクロブロックペアとし、マクロブロックペアごとにフィールド符号化とフレーム符号化を切り替えて符号化する動画像符号化装置であって、
動画像符号化の処理を複数のステージに分割してパイプライン的に実行する第１の手段と、
縦に連続する２ｎ（ｎは２以上の整数）のマクロブロック行をひとまとまりとし、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つのマクロブロック行に属するマクロブロックペアについては、左下隣接マクロブロックペアがまだ選択されていないマクロブロックペアを選択し、かつ、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つ以外のマクロブロック行に属するマクロブロックペアについては、右上隣接マクロブロックペアが既に選択されているマクロブロックペアを選択することによって、前記ひとまとまりのマクロブロック行に含まれるマクロブロックペアを２マクロブロック行当たり１個選択する第２の手段と、
前記第２の手段によって選択されたマクロブロックペアについて、フィールド符号化が選択されたときは、マクロブロックペアの奇数ラインでトップフィールドマクロブロックを構成し、マクロブロックペアの偶数ラインでボトムフィールドマクロブロックを構成し、一方、フレーム符号化が選択されたときは、マクロブロックペアの上半分のラインで上フレームマクロブロックを構成し、マクロブロックペアの下半分のラインで下フレームマクロブロックを構成する第３の手段と、
前記第２の手段によって選択されたマクロブロックペアについて、フィールド符号化が選択されたときは、最初に、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つのマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２つのマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれるマクロブロックの片方を符号化するために必要なデータを前記第１の手段に設定し、２回目に、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つのマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２つのマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれるマクロブロックのうち最初に設定されなかった他の片方を符号化するために必要なデータを前記第１の手段に設定し、一方、フレーム符号化が選択されたときは、最初に、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つのマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２つのマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれる上フレームマクロブロックを符号化するために必要なデータを前記第１の手段に設定し、２回目に、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つのマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２つのマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれる下フレームマクロブロックを符号化するために必要なデータを前記第１の手段に設定する第４の手段と、
を有し、
前記第４の手段によって、２回目に、前記ひとまとまりのマクロブロック行の中の最も下に位置する２つのマクロブロック行に属するマクロブロックペアに含まれるマクロブロックを符号化するために必要なデータが前記第１の手段に設定されると、前記第２の手段は、前記選択されている個々のマクロブロックペアごとにその右隣接マクロブロックペアを新たに選択する
ことを特徴とする動画像符号化装置。
【請求項３】
前記第１の手段における一部のステージで、マクロブロックサイクルがサブブロックサイクルに分割され、サブブロックサイクルではサブブロックごとの処理が行われる
ことを特徴とする請求項１または請求項２記載の動画像符号化装置。
【請求項４】
請求項１から請求項３までのいずれか１項に記載された動画像符号化装置をａ台（ａは２以上の整数）含む並列動画像符号化装置であって、
ピクチャが前記ひとまとまりのマクロブロック行ごとに分割され、この分割された分割領域ごとに１台の動画像符号化装置が割り当てられ、ａ個の縦に連続した分割領域がａ台の動画像符号化装置によって並列に符号化される
ことを特徴とする並列動画像符号化装置。
【請求項５】
シンタックスデータを２値化シンボルに変換する２値化手段と、
前記２値化手段によって変換された２値化シンボルを記憶する２値化シンボル記憶手段と、
前記２値化シンボル記憶手段から読み出した２値化シンボルに対応するコンテクスト情報を復元するコンテクスト情報復元手段と、
前記２値化シンボル記憶手段から読み出した２値化シンボルを、前記コンテクスト情報復元手段により復元されたコンテクスト情報に基づいて算術符号化する算術符号化手段と、
を有することを特徴とする請求項１から請求項４までのいずれか１項記載の動画像符号化装置。
【請求項６】
前記２値化手段により変換された２値化シンボルを仮算術符号化して仮発生符号量を算出する仮算術符号化手段を、
有することを特徴とする請求項５記載の動画像符号化装置。
【請求項７】
シンタックスデータを可逆圧縮するシンタックスデータ圧縮手段と、
前記シンタックスデータ圧縮手段により圧縮されたシンタックスデータを記憶する圧縮シンタックスデータ記憶手段と、
前記圧縮シンタックスデータ記憶手段から圧縮されたシンタックスデータを読み出してシンタックスデータを復元するシンタックスデータ復元手段と、
前記シンタックスデータ復元手段により復元されたシンタックスデータを２値化シンボルに変換する２値化手段と、
前記２値化手段によって変換された２値化シンボルを算術符号化する算術符号化手段と、
を有することを特徴とする請求項１から請求項４までのいずれか１項記載の動画像符号化装置。
【請求項８】
シンタックスデータを２値化シンボルに変換する２値化手段と、
前記２値化手段により変換された２値化シンボルを仮算術符号化して仮発生符号量を算出する仮算術符号化手段と、
シンタックスデータをＣＡＶＬＣ符号化するＣＡＶＬＣ符号化手段と、
前記ＣＡＶＬＣ符号化手段により生成されたＣＡＶＬＣ符号化ビットストリームを記憶するＣＡＶＬＣ符号化ビットストリーム記憶手段と、
前記ＣＡＶＬＣ符号化ビットストリーム記憶手段からＣＡＶＬＣ符号化ビットストリームを読み出してシンタックスデータを復号するＣＡＶＬＣ復号手段と、
前記ＣＡＶＬＣ復号手段によって復号されたシンタックスデータを２値化シンボルに変換する第２の２値化手段と、
前記第２の２値化手段によって変換された２値化シンボルを算術符号化する算術符号化手段と、
を有することを特徴とする請求項１から請求項４までのいずれか１項記載の動画像符号化装置。
【請求項９】
動画像符号化の処理を複数のステージに分割してパイプライン的に実行する符号化手段を有する動画像符号化装置において、
縦に連続するｍ（ｍは２以上の整数）のマクロブロック行をひとまとまりとし、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックについては、左下隣接マクロブロックがまだ選択されていないマクロブロックを選択し、かつ、前記ひとまとまりのマクロブロック行の中の最も上以外のマクロブロック行に属するマクロブロックについては、右上隣接マクロブロックが既に選択されているマクロブロックを選択することによって、前記ひとまとまりのマクロブロック行に含まれるマクロブロックを１マクロブロック行当たり１個選択する第１の手順と、
前記第１の手順によって選択された個々のマクロブロックについて、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックから、最も下のマクロブロック行に属するマクロブロックまで、ｍマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックを符号化するために必要なデータを前記符号化手段に設定する第２の手順と、
を有し、
前記第２の手順によって前記ひとまとまりのマクロブロック行の中の最も下のマクロブロック行に属するマクロブロックを符号化するために必要なデータが前記符号化手段に設定されると、前記第１の手順に戻り、前記選択されている個々のマクロブロックごとにその右隣接マクロブロックを新たに選択する
ことを特徴とする動画像符号化方法。
【請求項１０】
動画像符号化の処理を複数のステージに分割してパイプライン的に実行する符号化手段を有し、縦に隣接する２つのマクロブロックを組み合わせてマクロブロックペアとし、マクロブロックペアごとにフィールド符号化とフレーム符号化を切り替えて符号化する動画像符号化装置において、
縦に連続する２ｎ（ｎは２以上の整数）のマクロブロック行をひとまとまりとし、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つのマクロブロック行に属するマクロブロックペアについては、左下隣接マクロブロックペアがまだ選択されていないマクロブロックペアを選択し、かつ、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つ以外のマクロブロック行に属するマクロブロックペアについては、右上隣接マクロブロックペアが既に選択されているマクロブロックペアを選択することによって、前記ひとまとまりのマクロブロック行に含まれるマクロブロックペアを２マクロブロック行当たり１個選択する第１の手順と、
前記第１の手順により選択されたマクロブロックペアについて、フィールド符号化が選択されたときは、マクロブロックペアの奇数ラインでトップフィールドマクロブロックを構成し、マクロブロックペアの偶数ラインでボトムフィールドマクロブロックを構成し、一方、フレーム符号化が選択されたときは、マクロブロックペアの上半分のラインで上フレームマクロブロックを構成し、マクロブロックペアの下半分のラインで下フレームマクロブロックを構成する第２の手順と、
前記第１の手順によって選択されたマクロブロックペアについて、フィールド符号化が選択されたときは、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つのマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２つのマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれるマクロブロックの片方を符号化するために必要なデータを前記符号化手段に設定し、一方、フレーム符号化が選択されたときは、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つのマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２つのマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれる上フレームマクロブロックを符号化するために必要なデータを前記符号化手段に設定する第３の手順と、
前記第１の手順によって選択されたマクロブロックペアについて、フィールド符号化が選択されたときは、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つのマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２つのマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれるマクロブロックのうち前記第３の手順により設定されなかった他の片方を符号化するために必要なデータを前記符号化手段に設定し、一方、フレーム符号化が選択されたときは、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つのマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２つのマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれる下フレームマクロブロックを符号化するために必要なデータを前記符号化手段に設定する第４の手順と、
を有し、
前記第４の手順によって、前記ひとまとまりのマクロブロック行の中の最も下に位置する２つのマクロブロック行に属するマクロブロックペアに含まれるマクロブロックを符号化するために必要なデータが前記符号化手段に設定されると、前記第１の手順に戻り、前記選択されている個々のマクロブロックペアごとにその右隣接マクロブロックペアを新たに選択する
ことを特徴とする動画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像のデータ量を圧縮・削減するための動画像符号化装置、動画像符号化方法、および固定長符号を可変長符号に変換する算術符号化装置に関するものである。
【背景技術】
【０００２】
動画像には、７２０Ｐのようにフレームで構成されるものと、１０８０ｉのようにフィールドで構成されるものがあるが、本発明はフレームで構成されるものに適用してもフィールドで構成されるものに適用してもその目的を達成でき、同様の作用・効果を生じる。そこで、以下では、動画像を構成する１枚の画像を示すためにピクチャという用語を用いる。ピクチャはフレームとフィールドの両方を表すものとする。
【０００３】
ＭＰＥＧ−２やＨ．２６４（ＭＰＥＧ−４  ＡＶＣとも呼ばれる）、ＶＣ−１等の動画像符号化方式では、画面を１６画素×１６画素や８画素×８画素等のマクロブロック（以下、ＭＢという。）に分割し、ＭＢ単位で動き検出、動き補償、ＤＣＴまたは整数変換等の周波数変換、量子化、可変長符号化等を行う。これらの動画像符号化方式では、符号化効率を向上させるために、符号化済みの周辺ＭＢの結果をフィードバックし、符号化中のＭＢ（以下、現ＭＢという。）の処理内容を決める適応処理が行われる。
【０００４】
図４６はＭＰＥＧ−２の符号化器のブロック図を示す。ＭＰＥＧ−２では発生符号量が局所的に変動することを防ぐために、個々のＭＢの量子化パラメータを変更することによって発生符号量を制御する。これをレート制御９２という。レート制御９２では、可変長符号化９１の結果発生した符号化済みＭＢの符号量に応じて現ＭＢの量子化パラメータを変更する。例えば、左隣接ＭＢの発生符号量が大きい場合、現ＭＢの量子化パラメータを大きくし、現ＭＢの発生符号量を減少させる。
【０００５】
図４７はＨ．２６４の符号化器のブロック図を示す。Ｈ．２６４はＭＰＥＧ−２に比べて２倍程度の効率で動画像を圧縮できる。この高い圧縮効率を実現するために、Ｈ．２６４では、動き補償１００における参照ピクチャ数の増加、可変ブロックサイズ動き補償や４画素×４画素単位の周波数変換（以下、整数変換９３という。）が採用されると共に、レート制御１０３に加えて以下の３つの適応処理が新たに導入された。ここで、可変ブロックサイズ動き補償とは、ＭＢを８画素×１６画素、８画素×８画素、４画素×４画素等のサブブロック（以下、ＳＢという。）に分割し、ＳＢごとに動き補償を行うことをいう。以下では、単にブロックというときには、ＭＢとＳＢの両方を意味するものとする。
【０００６】
（１）予測誤差の符号量だけではなく、参照ピクチャの符号量と動きベクトルの符号量を考慮し、それらの合計符号量が最小となる参照ピクチャ、動きベクトル、およびブロックの組み合わせを選択する。動きベクトルについては、左隣接ブロック、上隣接ブロック、および右上隣接ブロックの動きベクトルから予測される予測動きベクトル（以下、ＰＭＶという。）を求め、ＰＭＶと現ブロックの動きベクトルの差分を符号化する。また、左隣接ブロック、上隣接ブロック、および右上隣接ブロックの動きベクトルは、空間ダイレクトモードの動きベクトルを求めるときにも参照される。
【０００７】
（２）隣接ＭＢの再生画素から予測値を作成し、イントラ予測９７を行う。輝度信号については４画素×４画素ＳＢ（以下、４×４ＳＢという。）のイントラ予測モードと１６×１６画素ブロックのイントラ予測モードがある。輝度信号の４×４ＳＢのイントラ予測モードでは、左隣接４×４ＳＢ、上隣接４×４ＳＢ、および右上隣接４×４ＳＢの再生画素から現４×４ＳＢのイントラ予測値を作成し、このイントラ予測値と現４×４ＳＢの画素の差分を符号化する。この差分画素を整数変換・量子化・逆量子化・逆整数変換し、その結果にイントラ予測値を加算することにより再生画素が作成される。１６×１６画素ブロックのイントラ予測モードでは左隣接ＭＢと上隣接ＭＢの再生画素から現１６×１６画素ブロックのイントラ予測値を作成し、このイントラ予測値と現１６×１６画素ブロックの画素の差分を符号化する。
【０００８】
（３）４画素×４画素ブロックの境界にデブロッキングフィルタ９８をかけ、ブロックノイズを除去する。
【０００９】
一方、ハードウェアの動画像符号化装置では、回路の稼働率を上げるためにＭＢ単位のパイプライン（本特許請求の範囲および明細書では、マクロブロックパイプラインまたはＭＢパイプラインという。）が採用されるのが一般的である（例えば、非特許文献１のpp.126-128、図３参照）。また、ハードウェアの動画像符号化装置では、通常横方向のＭＢの並び（以下ＭＢ行という）内では左端ＭＢから右端ＭＢに向かって符号化される。そして、１つのＭＢ行に含まれる右端のＭＢの符号化が終了すると、次にその下のＭＢ行に属するＭＢが左端ＭＢから右端ＭＢに向かって符号化される。これがピクチャの最も上のＭＢ行からピクチャの最も下のＭＢ行まで繰り返される。図４８は、従来のＨ．２６４の符号化器のＭＢパイプラインにおいて、ＭＢがＭＢパイプラインの各ステージを流れていく様子を示したものである。ｎ−１、ｎ、およびｎ＋１はあるＭＢ行中の左からそれぞれｎ−１番目、ｎ番目、ｎ＋１番目のＭＢを表す。また、ＭＢサイクルとは、ＭＢパイプラインの各ステージで１個のＭＢが処理されるために要する時間の単位をいい、各ステージでは１ＭＢサイクルで１個のＭＢが処理される。
【００１０】
図４８では、ステージ０で１ＭＢサイクルかけて外部メモリから１個のＭＢの符号化に必要なデータを読み出す。ステージ１で１ＭＢサイクルかけて１個のＭＢについて粗い精度の動き検出を行う。ステージ２で１ＭＢサイクルかけてステージ１で検出された粗い精度の候補動きベクトルの周囲の狭い範囲で詳細な動き検出を行うと共に、イントラ予測を行う。ステージ３では１ＭＢサイクルかけて１個のＭＢについて整数変換、量子化、逆量子化、および逆整数変換を行う。ステージ４では１ＭＢサイクルかけて１個のＭＢについて可変長符号化と動き補償を行う。そして、ステージ５で１ＭＢサイクルかけて１個のＭＢについてレート制御とデブロッキングフィルタを行い、ステージ６で１ＭＢサイクルかけて１個のＭＢ分の再生画素やビットストリームを外部メモリに書き込む。ＭＢサイクルを１０００サイクルと仮定すると、ＭＢパイプラインを行わない場合には１個のＭＢの符号化処理に７０００サイクルかかるのに対し、図４８のＭＢパイプラインでは１０００サイクルごとに１つのＭＢの符号化が終了する。
【００１１】
しかし、このＭＢパイプラインで左隣接ＭＢの処理結果に応じた適応処理を行うためには、以下の４点の課題がある。
【００１２】
（１）図４８に示すように、ｎ−１番目のＭＢについてレート制御が終了したとき、既にｎ＋１番目のＭＢまで量子化が終了している。従って、ｎ−１番目のＭＢの発生符号量に応じて量子化パラメータを変更できるのは、ｎ＋２番目以降のＭＢである。すなわち、２ＭＢ分レート制御が遅れる。
【００１３】
（２）図４８では動き検出をＭＢパイプライン２段で実行し、ステージ２で高精度の動きベクトル検出と同時にイントラ予測を実行している。高精度の動きベクトルが決定し、かつイントラ予測かインター予測かが決まらなければ正確なＰＭＶは算出できないが、ｎ−１番目のＭＢについて高精度の動きベクトルとイントラ予測かインター予測かが決まったときにはｎ番目のＭＢについてステージ１における粗い精度の動きベクトル検出は終了している。このため、図４８のＭＢパイプラインでは、左隣接ＭＢについては荒い精度の動きベクトル検出結果しか考慮して動きベクトルを選択することはできず、左隣接ＭＢにおける高精度の動きベクトルおよびイントラ予測／インター予測判定結果を考慮して動きベクトルを選択することができない。加えて、Ｈ．２６４ではＭＢを分割した８画素×１６画素、８画素×８画素、４画素×４画素等のＳＢでも動きベクトルの符号量を考慮して動きベクトル検出を行うことが望ましいが、図４８のＭＢパイプラインでは左隣接ＳＢ、上隣接ＳＢ、および右上隣接ＳＢの動きベクトルの符号量を考慮して動きベクトル検出を行うことは困難である。
【００１４】
（３）１６画素×１６画素ブロックイントラ予測モードは、左隣接１６画素×１６画素ブロックと上隣接１６画素×１６画素ブロックの画素値と現ブロックの画素値を評価して決定される。ここで、評価に使用する隣接１６画素×１６画素ブロックの画素は再生画素であることが望ましい。再生画素は、イントラ予測やインター予測で得られた予測誤差を整数変換、量子化、逆量子化および逆整数変換し、予測値を加算することにより求められる。しかし、図４８のＭＢパイプラインではステージ３でｎ−１番目のＭＢの整数変換等が終わり、ステージ４の動き補償でｎ−１番目のＭＢの再生画素が作成されたときには、ステージ２におけるｎ番目のＭＢのイントラ予測は終了している。このため、ｎ番目のＭＢについて１６画素×１６画素ブロックイントラ予測の予測モード判定を行うときには、その左に隣接したｎ−１番目のＭＢの再生画素を使用することはできない。このため、左に隣接したｎ−１番目の１６画素×１６画素ブロックの予測モード判定については再生画素ではなく、符号化中の現ピクチャの画素を使用せざるを得ない。同様に、Ｈ．２６４における４画素×４画素ブロックイントラ予測モードでは左隣接、上隣接、右上隣接の４画素×４画素ブロックの再生画素を使用して予測モードを決定することが望ましいが、図４８のＭＢパイプラインでは不可能であり、次善の手段として符号化中の現ピクチャの画素を使用せざるを得ない。このため、図４８のＭＢパイプラインにより決定されるイントラ予測モードは準最適なものとなる。
【００１５】
（４）イントラ予測値は、符号化装置と復号装置で同一のものを使用しなければならないため、再生画素から作成せざるを得ない。一方、ＰピクチャとＢピクチャでは、左に隣接したｎ−１番目のＭＢがインター予測モードと判定された場合には、動き補償が終わるまで再生画素が得られない。しかし、図４８のＭＢパイプラインでは、ｎ−１番目のＭＢについてのステージ４における再生画素の生成と、ｎ番目のＭＢについてのステージ３における整数変換等は同時に実行される。このため、ＰピクチャとＢピクチャでは、ｎ−１番目のＭＢの再生画素を用いて予測値を作成し、ｎ番目のＭＢの整数変換等を行うことは困難である。
【００１６】
また、ピクチャのデータ量は膨大であるため、一般にピクチャは動画像符号化装置の外部のメモリに記憶される。図４９は、従来の動きベクトル検出器１０６の構成を示すブロック図である（例えば、非特許文献２のp2009、図３参照）。内部メモリ１０４と動き検出回路１０５で構成される。従来の動きベクトル検出器１０６では動きベクトルが存在する可能性がある領域（以下、参照領域という。）を動きベクトル検出器１０６の外部メモリ４から動きベクトル検出器１０６の内部メモリ１０４にコピーし、内部メモリ１０４内の画素に対して動きベクトルを検出するための演算が行われる。図５０は、隣接する２つのＭＢ１０７、１０８の参照領域１０９、１１０の例を示す。ＭＢ１０８の参照領域１１０はＭＢ１０７の参照領域１０９と大部分重なっており、重なっていない領域の幅はＭＢの横方向の画素数と一致する。参照領域１１０は参照領域１０９より右方向にＭＢの横方向の画素数分ずれているだけである。以下では、このずれている領域を更新領域１１１と呼ぶ。従来の動きベクトル検出器１０６はこの性質を利用して外部メモリ４と動きベクトル検出器１０６の内部メモリ１０４間の画素転送量を削減する。外部メモリ４から内部メモリ１０４へは更新領域１１１のみ転送し、ＭＢ１０８の動き検出を開始するとき、参照領域の原点を参照領域１０９の（０，０）から参照領域１１０の（０，０）’に付け替える。このように、更新領域１１１のみ読み込んで参照領域を更新することにより外部メモリ４から内部メモリ１０４への転送量を削減していた。すなわち、従来は参照領域の横方向の重なりを利用して外部メモリ４と内部メモリ１０４の間の画素転送量を削減していた。これにより、従来の１チップＭＰＥＧ−２コーデックＬＳＩは、２００ＭＨｚで動作する３２ビット幅のＤＤＲ−ＳＤＲＡＭを２個外付けすることで１０８０ｉの動画像を符号化することが可能となった（例えば、非特許文献４のpp.12-13参照）。
【００１７】
しかし、ＤＣＩ（Ｄｉｇｉｔａｌ  Ｃｉｎｅｍａ  Ｉｎｉｔｉａｔｉｖｅ）の定めたデジタルシネマ規格による１ピクチャの大きさは４０９６画素×２１６０画素であり、１０８０ｉ（１９２０画素×１０８０画素）の４倍の画素数を有する。また、１０８０ｉの３倍を超える画素数のピクチャを１０８０ｉの２倍のレート（６０枚／秒）で出力するＣＭＯＳセンサが開発されている（例えば、非特許文献３のsesion 27.1参照）。最新の技術を用いれば、デジタルシネマクラスの動画像を出力するビデオカメラも実現できると予測されるところ、従来の技術を用いたのでは動画像符号化ＬＳＩに２５６ビット幅の入力端子を設けるか、または外部メモリを８００ＭＨｚ程度の速度で動作させることが必要となるという問題がある。
【００１８】
また、動画像符号化装置の処理速度が遅く、１台では処理が間に合わない場合、複数の動画像符号化装置による並列処理が行われる。この場合のピクチャ分割方法として、図５１に示す４種類が考えられる（例えば、非特許文献５のp.17、Figure
1参照）。すなわち、(a)横分割、(b)縦分割、(c)縦横分割、(d)スライスインタリーブである。従来は、複数の画像符号化装置間の接続やデータ転送が簡単になるという理由で(a)横分割が採用されることが多かった（例えば、非特許文献４参照）。しかし、横分割し、複数の動画像符号化装置で並列処理する方法では、カメラから１ピクチャ分の画素が全て読み込まれるまで符号化開始が遅延するという問題がある。この遅延が生じることは、テレビ電話や遠隔監視等の低遅延を要求される通信アプリケーションでは望ましくない。
【００１９】
また、Ｈ．２６４では可変長符号化を算術符号化の一種であるＣＡＢＡＣで行うことができる。図５２は、ＣＡＢＡＣ符号化器のブロック図を示す。ＣＡＢＡＣでは、まず、多値のシンタックスデータ（Ｈ．２６４ではシンタックスエレメントと呼ばれるが、本明細書と特許請求の範囲では、シンタックスデータという。）を２値化回路１１２により可変長の２値化シンボルに変換する。次に、コンテクスト計算回路１１３により２値化シンボル1
ビット（以下、ｓｙｍｂｏｌという。）ごとにコンテキスト計算を行う。そして、計算されたコンテキスト情報に応じて、算術符号化の確率テーブル１１５を選択し、算術符号化回路１１４によりｓｙｍｂｏｌを算術符号化するとともに、確率テーブル１１５の更新を行い、次のｓｙｍｂｏｌの算術符号化には更新された確率テーブル１１５を用いる。
【００２０】
図５３は、算術符号化回路１１４の処理内容を表すBiari_encode_symbol処理フローである（例えば、非特許文献７参照）。ＣＡＢＡＣでは、符号化の状態をｓｙｍｂｏｌ系列の存在区間の幅（以下、ｒａｎｇｅという。）と下端（以下、ｌｏｗという）で表す。ｒａｎｇｅとｌｏｗのビット幅はそれぞれ９ビットと１０ビットであり、スライスの先頭でｒａｎｇｅは０ｘ１ＦＥ（０ｘは、１６進数であることを示す。以下、同じ）、ｌｏｗは０ｘ０００に初期化される。０と１のうち、発生確率の低い方がＬＰＳ（Ｌｅａｓｔ  Ｐｒｏｂａｂｌｅ  Ｓｙｍｂｏｌ）に割り当てられ、発生確率の高い方がＭＰＳ（Ｍｏｓｔ  Ｐｒｏｂａｂｌｅ  Ｓｙｍｂｏｌ）に割り当てられる。確率テーブル１１５は、コンテクスト情報ごとにｓｙｍｂｏｌの発生確率を保持している。各発生確率は０または１のいずれがＭＰＳに割り当てられているかという情報とＬＰＳの発生確率（以下、ｒＬＰＳという。）の状態を示す番号（以下、ｓｔａｔｅという。）で示され、ｒＬＰＳは、ｓｔａｔｅとｒａｎｇｅによってテーブル（rLPS_table_64x4）を引くことにより求められる（ステップＳ３０）。一方、ＭＰＳの発生確率は、ｒａｎｇｅからｒＬＰＳを減算することで算出される（ステップＳ３１）。
【００２１】
ｓｙｍｂｏｌがＬＰＳであるときのｒａｎｇｅとｌｏｗの変化を図５４（ａ）に示す。ｓｙｍｂｏｌがＬＰＳであるとき、ＭＰＳの発生確率を加算することによってｌｏｗが更新され、ｒａｎｇｅにはｒＬＰＳが設定される（ステップＳ３３）。ｓｔａｔｅ＝０であれば、次の符号化状態における0と１の発生確率の大小が逆転すると予想されるため、ＭＰＳに対応する０と１が入れ替えられる（ステップＳ３４、Ｓ３５）。そして、ＬＰＳに対応する遷移テーブル（AC_next_state_LPS_64）を引くことによって、ｓｔａｔｅの状態が更新される（ステップＳ３６）。
【００２２】
ｓｙｍｂｏｌがＭＰＳであるときのｒａｎｇｅとｌｏｗの変化を図５４（ｂ）に示す。ｓｙｍｂｏｌがＭＰＳであるとき、ｌｏｗは変化せず、ｒａｎｇｅにはＭＰＳの発生確率が設定される（ステップＳ３１）。そして、ＭＰＳに対応する遷移テーブル（AC_next_state_MPS_64）を引くことによって、ｓｔａｔｅの状態が更新される（ステップＳ３７）。
【００２３】
ｒａｎｇｅ＜０ｘ１００のときには、再正規化が行われ、ｒａｎｇｅとｌｏｗが拡大される（ステップＳ３８）。再正規化により、ｒａｎｇｅの範囲は、０ｘ１００≦ｒａｎｇｅ≦０ｘ１ＦＥとなる。
【００２４】
このように、ｓｙｍｂｏｌごとに算術符号化せざるを得えず、処理サイクル数がかかるにもかかわらず、１つのスライス内では１個の確率テーブル１１５しか使用できない。このため、算術符号化器１１４は原理的に並列化できない。
【００２５】
更に、ＩピクチャにはＰピクチャやＢピクチャに比べて多くの符号量が配分される。このため、ピクチャ全体の２値化シンボルの平均発生量に比べてＩピクチャの２値化シンボルの発生量は多い。その上、急激に発生符号量が増加したとき、レート制御が破綻することを防ぐためにＭＢごとの発生符号量を早期にレート制御に反映させる必要がある。このように、算術符号化回路１１４には、処理サイクル数がかかるにもかかわらず、並列化が不可能で、しかも発生符号量の多いＩピクチャにおいて突発的に発生する２値化シンボル発生量を処理できるだけの性能が必要となるという問題がある。
【００２６】
なお、ＣＡＢＡＣに関して実際の算術符号化は行わずに２値化シンボルのシンボル長の総和から算術符号化の発生符号量を推定する方法が提案されている（例えば、非特許文献６のp.20、図６参照）。具体的には、２値化シンボル長N
と直前の符号化済みピクチャの２値化シンボル長と発生符号量との比率αを用いて、発生符号量R＝α×Ｎと推定するものである。ルックアップテーブルを用いれば多値のシンタックスデータを２値化シンボルに１ＣＫで変換することが可能であるため、この方法を用いれば算術符号化の発生符号量の推定をシンタックスデータ当たり１ＣＫで行うことができる。
【非特許文献１】渡辺浩巳，茶木英明，”H.264とMPEG-4に両対応  携帯機器向けコーデック・コアを開発  VGAの動画を36mAで符号化”，日経エレクトロニクス，2004年9月27日号，no.883，pp123-133．
【非特許文献２】南俊宏，長沼次郎，“テレスコピック探索に適した動きベクトル検出器構成法の提案”，信学論（Ｄ−２），vol.J87-D-2，no.11，pp.2007-2024，Nov.2004．
【非特許文献３】S. Yoshihara, M. Kikuchi, Y. Ito, Y. Inada, S. Kuramochi, H. Wakabayashi, M. Okano, K. Koseki,H. Kuriyama, J. Inutsuka,A. Tajima, T. Nakajima, Y.Kudoh, F. Koga, Y. Kasagi, S. Watanabe, T. Nomoto, “A 1/1.8-inch 6.4MPixel 60frames/s CMOS Image Sensor with Seamless ModeChange”, ISSCC2006, session 27.1, Feb. 2006.
【非特許文献４】長沼次郎，岩崎裕江，新田高庸，中村健，吉留健，小倉充雄，中島靖之，田代豊，大西隆之，池田充郎，遠藤真，八島由幸，“1チップHDTV  MPEG-2  CODEC  LSI構成技術――VASA”，ＮＴＴ技術ジャーナル，vol.15，No.9，pp.12-15，２００３年９月．
【非特許文献５】野垣智士，“ＭＰＥＧ−２  ＭＰ＠ＨＬエンコーダにおける符号化制御方式の検討”，PCSJ98，P-2.04，pp.17-18，１９９８年１０月．
【非特許文献６】山影朋夫，中條健，古藤  晋一郎，” HD DVD に用いる動画像符号化技術“，東芝レビュー，vol.60，No.1，pp.17-29，2005．
【非特許文献７】H.264/AVC referencesoftware ( JM 10.2 )．
【発明の開示】
【発明が解決しようとする課題】
【００２７】
本発明は上記事情に鑑み、ＭＢパイプライン構造の動画像符号化装置において、隣接ブロックの処理結果を符号化中のブロックの処理にフィードバック可能とすることを目的とする。具体的には、左隣接ＭＢの発生符号量に応じて現ＭＢをレート制御すること、隣接ブロックの動きベクトルの符号量を考慮して符号化中のブロックの動きベクトルを検出すること、左隣接ＭＢのイントラ予測／インター予測判定結果を考慮して符号化中のブロックの動きベクトルを検出すること、隣接ブロックの再生画素を用いてイントラ予測モードを決定すること、およびＰピクチャとＢピクチャで左隣接ＭＢの再生画素を用いて予測値を作成してイントラ予測を行うことを目的とする。
【００２８】
また、本発明は、ピクチャを記憶している外部メモリから動画像符号化装置の内部メモリへのデータ転送量を削減できる動画像符号化装置を提供することを目的とする。
【００２９】
更に、本発明は、符号化に要する遅延が小さい並列画像符号化装置を提供することを目的とする。
【００３０】
また、本発明は、算術符号化回路が突発的に増加する２値化シンボル発生量を処理できるだけの性能を有していなくても算術符号化可能とすることを目的とする。
【課題を解決するための手段】
【００３１】
第１発明の動画像符号化装置は、動画像符号化の処理を複数のステージに分割してパイプライン的に実行する第１の手段と、縦に連続するｍ（ｍは２以上の整数）のマクロブロック行をひとまとまりとし、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックについては、左下隣接マクロブロックがまだ選択されていないマクロブロックを選択し、かつ、前記ひとまとまりのマクロブロック行の中の最も上以外のマクロブロック行に属するマクロブロックについては、右上隣接マクロブロックが既に選択されているマクロブロックを選択することによって、前記ひとまとまりのマクロブロック行に含まれるマクロブロックを１マクロブロック行当たり１個選択する第２の手段と、前記第２の手段によって選択された個々のマクロブロックについて、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックから、最も下のマクロブロック行に属するマクロブロックまで、ｍマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックを符号化するために必要なデータを前記第１の手段に設定する第３の手段とを有し、前記第３の手段によって前記ひとまとまりのマクロブロック行の中の最も下のマクロブロック行に属するマクロブロックを符号化するために必要なデータが前記第１の手段に設定されると、前記第２の手段は、前記選択されている個々のマクロブロックごとにその右隣接マクロブロックを新たに選択することを特徴とする。
【００３２】
第２発明の動画像符号化装置は、縦に隣接する２つのマクロブロックを組み合わせてマクロブロックペアとし、マクロブロックペアごとにフィールド符号化とフレーム符号化を切り替えて符号化する動画像符号化装置であって、動画像符号化の処理を複数のステージに分割してパイプライン的に実行する第１の手段と、縦に連続する２ｎ（ｎは２以上の整数）のマクロブロック行をひとまとまりとし、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つのマクロブロック行に属するマクロブロックペアについては、左下隣接マクロブロックペアがまだ選択されていないマクロブロックペアを選択し、かつ、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つ以外のマクロブロック行に属するマクロブロックペアについては、右上隣接マクロブロックペアが既に選択されているマクロブロックペアを選択することによって、前記ひとまとまりのマクロブロック行に含まれるマクロブロックペアを２マクロブロック行当たり１個選択する第２の手段と、前記第２の手段によって選択されたマクロブロックペアについて、フィールド符号化が選択されたときは、マクロブロックペアの奇数ラインでトップフィールドマクロブロックを構成し、マクロブロックペアの偶数ラインでボトムフィールドマクロブロックを構成し、一方、フレーム符号化が選択されたときは、マクロブロックペアの上半分のラインで上フレームマクロブロックを構成し、マクロブロックペアの下半分のラインで下フレームマクロブロックを構成する第３の手段と、前記第２の手段によって選択されたマクロブロックペアについて、フィールド符号化が選択されたときは、最初に、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つのマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２つのマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれるマクロブロックの片方を符号化するために必要なデータを前記第１の手段に設定し、２回目に、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つのマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２つのマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれるマクロブロックのうち最初に設定されなかった他の片方を符号化するために必要なデータを前記第１の手段に設定し、一方、フレーム符号化が選択されたときは、最初に、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つのマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２つのマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれる上フレームマクロブロックを符号化するために必要なデータを前記第１の手段に設定し、２回目に、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つのマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２つのマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれる下フレームマクロブロックを符号化するために必要なデータを前記第１の手段に設定する第４の手段とを有し、前記第４の手段によって、２回目に、前記ひとまとまりのマクロブロック行の中の最も下に位置する２つのマクロブロック行に属するマクロブロックペアに含まれるマクロブロックを符号化するために必要なデータが前記第１の手段に設定されると、前記第２の手段は、前記選択されている個々のマクロブロックペアごとにその右隣接マクロブロックペアを新たに選択することを特徴とする。
【００３３】
第３発明の動画像符号化装置は、請求項１または請求項２記載の発明において、前記第１の手段における一部のステージで、マクロブロックサイクルがサブブロックサイクルに分割され、サブブロックサイクルではサブブロックごとの処理が行われることを特徴とする。
【００３４】
第４発明の並列動画像符号化装置は、請求項１から請求項３までのいずれか１項に記載された動画像符号化装置をａ台（ａは２以上の整数）含む並列動画像符号化装置であって、ピクチャが前記ひとまとまりのマクロブロック行ごとに分割され、この分割された分割領域ごとに１台の動画像符号化装置が割り当てられ、ａ個の縦に連続した分割領域がａ台の動画像符号化装置によって並列に符号化されることを特徴とする。
【００３５】
第５発明の動画像符号化装置は、請求項１から請求項４までのいずれか１項記載の発明において、シンタックスデータを２値化シンボルに変換する２値化手段と、前記２値化手段によって変換された２値化シンボルを記憶する２値化シンボル記憶手段と、前記２値化シンボル記憶手段から読み出した２値化シンボルに対応するコンテクスト情報を復元するコンテクスト情報復元手段と、前記２値化シンボル記憶手段から読み出した２値化シンボルを、前記コンテクスト情報復元手段により復元されたコンテクスト情報に基づいて算術符号化する算術符号化手段とを有することを特徴とする。
【００３６】
第６発明の動画像符号化装置は、請求項５記載の発明において、前記２値化手段により変換された２値化シンボルを仮算術符号化して仮発生符号量を算出する仮算術符号化手段を有することを特徴とする。
【００３７】
第７発明の動画像符号化装置は、請求項１から請求項４までのいずれか１項記載の発明において、シンタックスデータを可逆圧縮するシンタックスデータ圧縮手段と、前記シンタックスデータ圧縮手段により圧縮されたシンタックスデータを記憶する圧縮シンタックスデータ記憶手段と、前記圧縮シンタックスデータ記憶手段から圧縮されたシンタックスデータを読み出してシンタックスデータを復元するシンタックスデータ復元手段と、前記シンタックスデータ復元手段により復元されたシンタックスデータを２値化シンボルに変換する２値化手段と、前記２値化手段によって変換された２値化シンボルを算術符号化する算術符号化手段とを有することを特徴とする。
【００３８】
第８発明の動画像符号化装置は、請求項１から請求項４までのいずれか１項記載の発明において、シンタックスデータを２値化シンボルに変換する２値化手段と、前記２値化手段により変換された２値化シンボルを仮算術符号化して仮発生符号量を算出する仮算術符号化手段と、シンタックスデータをＣＡＶＬＣ符号化するＣＡＶＬＣ符号化手段と、前記ＣＡＶＬＣ符号化手段により生成されたＣＡＶＬＣ符号化ビットストリームを記憶するＣＡＶＬＣ符号化ビットストリーム記憶手段と、前記ＣＡＶＬＣ符号化ビットストリーム記憶手段からＣＡＶＬＣ符号化ビットストリームを読み出してシンタックスデータを復号するＣＡＶＬＣ復号手段と、前記ＣＡＶＬＣ復号手段によって復号されたシンタックスデータを２値化シンボルに変換する第２の２値化手段と、前記第２の２値化手段によって変換された２値化シンボルを算術符号化する算術符号化手段と、を有することを特徴とする。
【００３９】
第９発明の動画像符号化方法は、動画像符号化の処理を複数のステージに分割してパイプライン的に実行する符号化手段を有する動画像符号化装置において、縦に連続するｍ（ｍは２以上の整数）のマクロブロック行をひとまとまりとし、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックについては、左下隣接マクロブロックがまだ選択されていないマクロブロックを選択し、かつ、前記ひとまとまりのマクロブロック行の中の最も上以外のマクロブロック行に属するマクロブロックについては、右上隣接マクロブロックが既に選択されているマクロブロックを選択することによって、前記ひとまとまりのマクロブロック行に含まれるマクロブロックを１マクロブロック行当たり１個選択する第１の手順と、前記第１の手順によって選択された個々のマクロブロックについて、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックから、最も下のマクロブロック行に属するマクロブロックまで、ｍマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックを符号化するために必要なデータを前記符号化手段に設定する第２の手順とを有し、前記第２の手順によって前記ひとまとまりのマクロブロック行の中の最も下のマクロブロック行に属するマクロブロックを符号化するために必要なデータが前記符号化手段に設定されると、前記第１の手順に戻り、前記選択されている個々のマクロブロックごとにその右隣接マクロブロックを新たに選択することを特徴とする。
【００４０】
第１０発明の動画像符号化方法は、動画像符号化の処理を複数のステージに分割してパイプライン的に実行する符号化手段を有し、縦に隣接する２つのマクロブロックを組み合わせてマクロブロックペアとし、マクロブロックペアごとにフィールド符号化とフレーム符号化を切り替えて符号化する動画像符号化装置において、縦に連続する２ｎ（ｎは２以上の整数）のマクロブロック行をひとまとまりとし、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つのマクロブロック行に属するマクロブロックペアについては、左下隣接マクロブロックペアがまだ選択されていないマクロブロックペアを選択し、かつ、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つ以外のマクロブロック行に属するマクロブロックペアについては、右上隣接マクロブロックペアが既に選択されているマクロブロックペアを選択することによって、前記ひとまとまりのマクロブロック行に含まれるマクロブロックペアを２マクロブロック行当たり１個選択する第１の手順と、前記第１の手順により選択されたマクロブロックペアについて、フィールド符号化が選択されたときは、マクロブロックペアの奇数ラインでトップフィールドマクロブロックを構成し、マクロブロックペアの偶数ラインでボトムフィールドマクロブロックを構成し、一方、フレーム符号化が選択されたときは、マクロブロックペアの上半分のラインで上フレームマクロブロックを構成し、マクロブロックペアの下半分のラインで下フレームマクロブロックを構成する第２の手順と、前記第１の手順によって選択されたマクロブロックペアについて、フィールド符号化が選択されたときは、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つのマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２つのマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれるマクロブロックの片方を符号化するために必要なデータを前記符号化手段に設定し、一方、フレーム符号化が選択されたときは、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つのマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２つのマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれる上フレームマクロブロックを符号化するために必要なデータを前記符号化手段に設定する第３の手順と、前記第１の手順によって選択されたマクロブロックペアについて、フィールド符号化が選択されたときは、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つのマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２つのマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれるマクロブロックのうち前記第３の手順により設定されなかった他の片方を符号化するために必要なデータを前記符号化手段に設定し、一方、フレーム符号化が選択されたときは、前記ひとまとまりのマクロブロック行の中の最も上に位置する２つのマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２つのマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれる下フレームマクロブロックを符号化するために必要なデータを前記符号化手段に設定する第４の手順とを有し、前記第４の手順によって、前記ひとまとまりのマクロブロック行の中の最も下に位置する２つのマクロブロック行に属するマクロブロックペアに含まれるマクロブロックを符号化するために必要なデータが前記符号化手段に設定されると、前記第１の手順に戻り、前記選択されている個々のマクロブロックペアごとにその右隣接マクロブロックペアを新たに選択することを特徴とする。
【発明の効果】
【００４１】
第１の発明によれば、縦に連続するｍ（ｍは２以上の整数）のＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、１つのＭＢ行当たり１個のＭＢを選択し、これら選択されたｍ個のＭＢを１個のＭＢパイプラインに連続して投入するので、左隣接ＭＢの処理結果を（ｍ−１）ステージ分現ＭＢの処理にフィードバックできる。また、選択されたｍ個のＭＢの参照領域は大きく重なっているので、これらのＭＢの参照領域を共通の参照領域用メモリに記憶する構成とすれば、ピクチャを記憶している外部メモリから、この重なり部分を更新するための転送を重複して行う必要がなくなる。このため、動画像符号化装置の内部に参照領域用メモリを設けることにより、ピクチャを記憶している外部メモリから動画像符号化装置の内部メモリへのデータ転送量を削減できる。
【００４２】
第２の発明によれば、縦に連続する２ｎ（ｎは２以上の整数）のＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、縦に連続する２つのＭＢ行当たり１つのＭＢペアを選択し、最初に、これら選択されたｎ個のＭＢペアに含まれる片方のＭＢを１個のＭＢパイプラインに連続して投入し、２回目に、これら選択されたｎ個のＭＢペアに含まれる残りの片方のＭＢを１個のＭＢパイプラインに連続して投入するので、最初に投入する片方のＭＢの処理結果を（ｎ−１）ステージ分残りの片方のＭＢの処理にフィードバックでき、かつ、左隣接ＭＢペアの処理結果を（ｎ−１）ステージ分現ＭＢペアの処理にフィードバックできる。また、前記選択された２ｎ個のＭＢの参照領域は大きく重なっているので、これらのＭＢの参照領域を共通の参照領域用メモリに記憶する構成とすれば、ピクチャを記憶している外部メモリから、この重なり部分を更新するための転送を重複して行う必要がなくなる。このため、動画像符号化装置の内部に参照領域用メモリを設けることにより、ピクチャを記憶している外部メモリから動画像符号化装置の内部メモリへのデータ転送量を削減できる。
【００４３】
第３の発明によれば、マクロブロックパイプラインの一部のステージで、サブブロックごとの処理をパイプライン的に行うことができる。この発明によれば、隣接サブブロックの処理結果を符号化中のサブブロックの処理にフィードバックとすることも可能となる。
【００４４】
第４の発明によれば、並列動作するａ台の動画像符号化装置の参照領域は縦に大きく重なっているので、外部メモリから並列動画像符号化装置の内部メモリへ全ての動画像符号化装置の参照領域を転送し、内部メモリから個々の動画像符号化装置に転送する構成とすれば、参照領域の重なり部分を重複して転送する必要がなくなる。このため、並列動画像符号化装置に内部メモリを設けることにより、ピクチャを記憶している外部メモリから並列動画像符号化装置の内部メモリへのデータ転送量を削減できる。また、従来のスライスインタリーブと異なり、各々の動画像符号化装置が分担して符号化する領域ごとにスライス分割する必要はなく、ピクチャ全体を１スライスとすることも可能である。更に、ａ台の動画像符号化装置が処理するピクチャの最初の領域が入力されると、動画像符号化装置は符号化を開始することができるので、符号化遅延を抑えることができる。
【００４５】
第５の発明によれば、前記第１〜第４の発明が適用された動画像符号化装置においてＨ．２６４で規定されるＣＡＢＡＣ等の算術符号化を行う場合であっても、縦に連続するひとまとまりのＭＢ行に含まれる全てのＭＢの符号化が終了する前にレート制御を行うことができる。このため、あるＭＢの発生符号量が突発的に増加した場合に、次に符号化するＭＢの量子化パラメータを早急に大きくし、新たに符号化するＭＢから発生する符号量を減少させるようにレート制御することができる。また、算術符号化回路が突発的に増加する２値化シンボル発生量を処理できるだけの性能を有していなくても算術符号化することができる。特に、２値化シンボル記憶回路にＩピクチャの２値化シンボルとその前後のＰピクチャやＢピクチャの２値化シンボルを記憶できるだけの十分な記憶容量を持たせれば、算術符号化回路の性能がＩピクチャにおいて突発的に発生する２値化シンボル発生量を処理できる性能を下回っていても算術符号化することができるという効果がある。
【００４６】
第６の発明によれば、上記第５の発明と同様の効果に加えて、シーンチェンジ等があった場合でも真の算術符号化による発生符号量に基づくレート制御に近いレート制御を行うことができるという効果がある。
【００４７】
第７の発明によれば、第５の発明同様、前記第１〜第４の発明が適用された動画像符号化装置においてＨ．２６４で規定されるＣＡＢＡＣ等の算術符号化を行う場合であっても、縦に連続するひとまとまりのＭＢ行に含まれる全てのＭＢの符号化が終了する前にレート制御を行うことができる。このため、あるＭＢの発生符号量が突発的に増加した場合に、次に符号化するＭＢの量子化パラメータを早急に大きくし、新たに符号化するＭＢから発生する符号量を減少させるようにレート制御することができる。また、算術符号化回路が突発的に増加する２値化シンボル発生量を処理できるだけの性能を有していなくても算術符号化することができる。特に、２値化シンボル記憶回路にＩピクチャの２値化シンボルとその前後のＰピクチャやＢピクチャの２値化シンボルを記憶できるだけの十分な記憶容量を持たせれば、算術符号化回路の性能がＩピクチャにおいて突発的に発生する２値化シンボル発生量を処理できる性能を下回っていても算術符号化することができるという効果がある。
【００４８】
第８の発明によれば、上記第７の発明と同様の効果に加えて、あるＭＢの２値化シンボルの発生量が突発的に増加し、仮算術符号化した結果真の算術符号化回路の処理能力を超えると予測されるときにはそのＭＢを含むピクチャ全体をＣＡＶＬＣ符号化し、一方、仮算術符号化した結果真の算術符号化回路で処理できると予測されるときにはそのＭＢを含むピクチャ全体をＣＡＢＡＣ符号化することができる。これにより、真の算術符号化回路の性能が不測するという状況を確実に回避できる効果が得られる。更に、ＣＡＶＬＣ符号化回路でＣＡＶＬＣ符号化ビットストリームの符号量を算出し、ＣＡＶＬＣ符号化と仮算術符号化の仮発生符号量を比較して、ピクチャごとに発生符号量が少ないと推測されるエントロピー符号化モードを選択することもできる。
【００４９】
第９発明の発明によれば、第１の発明同様、縦に連続するｍ（ｍは２以上の整数）のＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、１つのＭＢ行当たり１個のＭＢを選択し、これら選択されたｍ個のＭＢを１個のＭＢパイプラインに連続して投入するので、左隣接ＭＢの処理結果を（ｍ−１）ステージ分現ＭＢの処理にフィードバックできる。また、前記選択されたｍ個のＭＢの参照領域は大きく重なっているので、これらのＭＢの参照領域を共通の参照領域用メモリに記憶する構成とすれば、ピクチャを記憶している外部メモリから、この重なり部分を更新するための転送を重複して行う必要がなくなる。このため、動画像符号化装置の内部に参照領域用メモリを設けることにより、ピクチャを記憶している外部メモリから動画像符号化装置の内部メモリへのデータ転送量を削減できる。
【００５０】
第１０の発明によれば、第２の発明同様、縦に連続する２ｎ（ｎは２以上の整数）のＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、縦に連続する２つのＭＢ行当たり１つのＭＢペアを選択し、最初に、これら選択されたｎ個のＭＢペアに含まれる片方のＭＢを１個のＭＢパイプラインに連続して投入し、２回目に、これら選択されたｎ個のＭＢペアに含まれる残りの片方のＭＢを１個のＭＢパイプラインに連続して投入するので、最初に投入する片方のＭＢの処理結果を（ｎ−１）ステージ分残りの片方のＭＢの処理にフィードバックでき、かつ、左隣接ＭＢペアの処理結果を（ｎ−１）ステージ分現ＭＢペアの処理にフィードバックできる。また、前記選択された２ｎ個のＭＢの参照領域は大きく重なっているので、これらのＭＢの参照領域を共通の参照領域用メモリに記憶する構成とすれば、ピクチャを記憶している外部メモリから、この重なり部分を更新するための転送を重複して行う必要がなくなる。このため、動画像符号化装置の内部に参照領域用メモリを設けることにより、ピクチャを記憶している外部メモリから動画像符号化装置の内部メモリへのデータ転送量を削減できる。
【発明を実施するための最良の形態】
【００５１】
本発明では、縦に連続する複数のＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、１つのＭＢ行当たり１個のＭＢを選択し、これら選択された複数のＭＢを１個のＭＢパイプラインに連続して投入する。
【００５２】
以下、本発明の実施の形態に係る動画像符号化装置、動画像符号化方法および算術符号化装置を図面に基づいて説明する。
【実施例１】
【００５３】
図１はＭＢパイプラインに連続して投入されるＭＢの例を示した説明図である。図１のピクチャはａ行からｌ行までの１２のＭＢ行からなり、各ＭＢ行は０番目から１５番目までの１６個のＭＢで構成される。図１のピクチャでは、最初にａ−ＭＢ行、ｂ−ＭＢ行、ｃ−ＭＢ行、ｄ−ＭＢ行に含まれるＭＢが１個のＭＢパイプラインで符号化され、次にｅ−ＭＢ行、ｆ−ＭＢ行、ｇ−ＭＢ行、ｈ−ＭＢ行に含まれるＭＢが１個のＭＢパイプラインで符号化され、最後にｉ−ＭＢ行、ｊ−ＭＢ行、ｋ−ＭＢ行、ｌ−ＭＢ行に含まれるＭＢが１個のＭＢパイプラインで符号化される。図１中のｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列のＭＢは１個のＭＢパイプラインに連続して投入されるＭＢの一例である。ｆ行８列のＭＢはｅ行１０列のＭＢから左方向に２ＭＢ離れている。同様にｇ行６列のＭＢはｆ行８列のＭＢから左方向に２ＭＢ離れており、ｈ行４列のＭＢはｇ行６列のＭＢから左方向に２ＭＢ離れている。これらの４つのＭＢは相互に左隣接、上隣接、または右上隣接のいずれの隣接関係にもない。以下では、複数のブロックが相互に左隣接、上隣接、または右上隣接のいずれの隣接関係にもないことを、これらのブロックは隣接関係にないという。
【００５４】
図２は本発明が適用される動画像符号化装置のブロック図を示す。ＭＢ選択回路２は、図１に示すように、ｅ−ＭＢ行、ｆ−ＭＢ行、ｇ−ＭＢ行、ｈ−ＭＢ行をひとまとまりとし、ｅ−ＭＢ行に属するＭＢについては、左下隣接ＭＢがまだ選択されていないＭＢを選択し、かつ、ｆ−ＭＢ行、ｇ−ＭＢ行、およびｈ−ＭＢ行に属するＭＢについては、右上隣接ＭＢが既に選択されているＭＢを選択することによって、ｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列のＭＢを選択する。符号化データ設定回路３は、ｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列のＭＢの順番で、各ＭＢを符号化するために必要なデータをＭＢパイプライン１に設定する。ＭＢを符号化するために必要なデータがＭＢパイプライン１に設定されると、そのＭＢはＭＢパイプライン１に投入される。ｈ行４列のＭＢを符号化するために必要なデータがＭＢパイプライン１に設定され、ｈ行４列のＭＢがＭＢパイプライン１に投入されると、ＭＢ選択回路２は、ｅ行１１列、ｆ行９列、ｇ行７列、ｈ行５列のＭＢを新たに選択する。
【００５５】
図３は本発明が適用される動画像符号化方法の処理のフローチャートを示す。ｅ−ＭＢ行、ｆ−ＭＢ行、ｇ−ＭＢ行、ｈ−ＭＢ行をひとまとまりとし、ｅ−ＭＢ行に属するＭＢについては、左下隣接ＭＢがまだ選択されていないＭＢを選択し、かつ、ｆ−ＭＢ行、ｇ−ＭＢ行、およびｈ−ＭＢ行に属するＭＢについては、右上隣接ＭＢが既に選択されているＭＢを選択することによって、ｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列のＭＢを選択する（ステップＳ１）。次に、ｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列のＭＢの順番で、各ＭＢを符号化するために必要なデータをＭＢパイプライン１に設定し、順次ＭＢパイプラインに投入する（ステップＳ２、ステップＳ３）。ＭＢを符号化するために必要なデータがＭＢパイプライン１に設定されると、そのＭＢはＭＢパイプライン１に投入される。ｈ行４列のＭＢを符号化するために必要なデータがＭＢパイプライン１に設定され、ｈ行４列のＭＢがＭＢパイプライン１に投入されると、ステップＳ１に戻り（ステップＳ４）、ｅ行１１列、ｆ行９列、ｇ行７列、ｈ行５列のＭＢを新たに選択する（ステップＳ１）。
【００５６】
これら４個のＭＢを１個のＭＢパイプライン１に連続して投入したときに、各ＭＢがＭＢパイプライン１の各ステージを流れていく様子を図４に示す。ステージ０からステージ６の各処理内容は図４５のものと同じである。また、図１のピクチャを構成する各ＭＢがＭＢパイプライン１に投入され、ステージ０の処理が開始されるＭＢサイクル番号を図５に示す。図４に示すように、ｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列の４個のＭＢは、ＭＢサイクル番号がそれぞれ１０４、１０５、１０６、１０７のとき順番にステージ０に投入され、ＭＢサイクル番号がそれぞれ１１０、１１１、１１２、１１３のとき順番にステージ６に達して符号化が終了する。このように、ひとまとまりの４つのＭＢ行の中で、最も上のＭＢ行に属するＭＢ、上から２番目のＭＢ行に属するＭＢ、上から３番目のＭＢ行に属するＭＢ、上から４番目のＭＢ行に属するＭＢの順番にＭＢパイプライン１に投入され、続いてそれらの右隣接ＭＢが同様の順番でＭＢパイプライン１に投入される。
【００５７】
本発明によれば、本実施例のようにひとまとまりとして符号化するＭＢ行の数が４のとき、左隣接ＭＢの処理結果を３ステージ分フィードバックし、現ＭＢの処理に反映できる。このため、図４中に矢印で示すように、例えば、ｆ行７列のＭＢの高精度の動き検出結果とイントラ予測結果をｆ行８列のＭＢの粗い精度の動き検出に反映できる。このように、従来の技術と異なり、左に隣接したＭＢの高精度の動き検出結果とイントラ予測結果を考慮して現ＭＢの動きベクトルを選択することができる。また、同様に矢印で示すように、ｆ行７列のＭＢの動き補償の結果をｆ行８列のＭＢのイントラ予測に反映できる。従って、従来の技術と異なり、左に隣接したＭＢの動き補償により求められた再生画素を用いて現ＭＢのイントラ予測を行うことができる。更に、ｆ行７列のＭＢのレート制御結果をｆ行８列のＭＢの量子化に反映できる。このように、左に隣接したＭＢのレート制御結果に応じて現ＭＢの量子化パラメータを修正することができる。
【００５８】
ここで、本実施例では下に隣接したＭＢ行に含まれるＭＢが上のＭＢ行中のＭＢから左方向に２ＭＢ離れている場合を示したが、２ＭＢ以上離れていれば良く、例えば３ＭＢ離れていても本発明の目的を達成することができ、同様の作用・効果を生じる。また、縦に連続する４つのＭＢ行をひとまとまりとして、これら４つのＭＢ行から、１つのＭＢ行当たり１個のＭＢを選択し、これら選択された４個のＭＢを１個のＭＢパイプラインに連続して投入する例を示したが、ひとまとまりのＭＢ行の数は２以上であれば良く、例えば縦に連続する８つのＭＢ行をひとまとまりとして、これら８つのＭＢ行から、１つのＭＢ行当たり１個のＭＢを選択し、これら選択された８個のＭＢを１個のＭＢパイプラインに連続して投入しても本発明の目的を達成することができ、同様の作用・効果を生じる。ただし、ひとまとまりのＭＢ行の数が２のときは、左隣接ＭＢの処理結果を１ステージ分しか現ＭＢの処理にフィードバックできないため、図４のステージ構成では左隣接ＭＢの動き補償とレート制御の結果をそれぞれ現ＭＢのイントラ予測と整数変換・量子化・逆量子化・逆整数変換にフィードバックできない。ひとまとまりのＭＢ行の数が２のときは、図４に示したものとステージ構成を変更する必要がある。
【実施例２】
【００５９】
図６は８画素×８画素の４つのＳＢ（以下、８×８ＳＢという。）に分割されたＭＢを示す。本実施例では、４つの８×８ＳＢについて動きベクトルのコストと予測誤差のコストの和が最小となる動きベクトルを検出する例について示す。一般に、ＰＭＶと動きベクトルの距離が遠いほど動きベクトルのコストは高いと評価される。このため、各８×８ＳＢについて動き検出を始める前に、その８×８ＳＢのＰＭＶが決まっていなければならない。そして、例えば、左隣接８×８ＳＢ、上隣接８×８ＳＢ、右上隣接８×８ＳＢの動きベクトルに基づいてＰＭＶを決めるとすると、図６中の０、１、２、３の番号を付された順番に８×８ＳＢごとの動きベクトルを検出しなければならないことになる。ただし、３番の８×８ＳＢの動きベクトル検出時に右上隣接８×８ＳＢの動きベクトルは存在しないため、３番の８×８ＳＢのＰＭＶは１番と２番の８×８ＳＢの動きベクトルＭＶ１とＭＶ２に基づいて決められる。
【００６０】
図７はＭＢパイプラインに連続して投入されるＭＢの例を示した説明図である。図７のピクチャはａ行から始まっており、ｒ行の下方にもＭＢ行が存在する。また、１６列以降にもＭＢが存在する。本実施例ではｉ−ＭＢ行、ｊ−ＭＢ行、ｋ−ＭＢ行、ｌ−ＭＢ行、ｍ−ＭＢ行、ｎ−ＭＢ行、ｏ−ＭＢ行、ｐ−ＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、ｉ行１５列、ｊ行１３列、ｋ行１１列、ｌ行９列、ｍ行７列、ｎ行５列、ｏ行３列、ｐ行１列のＭＢを選択し、これら選択された８つのＭＢを１個のＭＢパイプラインに連続して投入する例を示す。
【００６１】
図８は８×８ＳＢごとの動きベクトルを検出するために、８つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢが各ステージを流れていく様子を示す。図９は本発明が適用される動きベクトル検出回路１２のブロック図を示す。外部メモリ４には単画素精度の画像が記憶されている。ステージ０で外部メモリ４から画像を読み出す。その画像を２画素精度画像作成回路５で縮小して２画素精度の画像を作成し、２画素精度メモリ６に書き込む。ステージ１で２画素精度メモリ５から画像を読み出しながら、２画素精度動き検出回路７により２画素精度の候補動きベクトルを検出する。そして、ステージ２で候補ベクトルの周辺の領域を外部メモリ４から読み出して、単画素精度メモリ８に書き込む。ここで、一般に外部の大容量メモリは低速であるため、外部メモリ４から単画素精度メモリ８に転送するために１ステージ割り当てている。単画素精度メモリ８から２画素精度候補ベクトルの周辺の領域を読み出しながら、ステージ３で単画素精度動き検出回路９により動きベクトルを検出する。その後、ステージ４で単画素精度メモリ８から単画素精度画素を読み出して、１／４画素精度画像作成回路１０で１／４画素精度の画像を作成しながら１／４画素精度動きベクトル検出回路１１を用いて１／４画素精度動きベクトル検出を行う。単画素精度メモリ８からは単画素精度動き検出回路９と１／４画素精度画像作成回路１０に単画素精度画像を供給することになるため、単画素精度メモリ８はダブルバッファ構成や２リード以上可能な多ポートメモリとする必要がある。なお、図８ではステージ４で単画素精度動きベクトルの周囲を直接探索して１／４画素精度動きベクトルを検出するとしたが、ステージ４で半画素精度動きベクトルを検出した後、ステージ５で半画素精度動きベクトルの周囲を探索して１／４画素精度動きベクトルを検出しても良い。また、ステージ３で単画素精度動きベクトル検出と半画素精度動きベクトル検出を行い、ステージ４で１／４画素精度動きベクトル検出を行っても良い。
【００６２】
ステージ１〜ステージ５ではＭＢサイクルを４つのＳＢサイクルに分割し、各ＳＢサイクルで８×８ＳＢごとの処理を行う。ここで、ＳＢサイクルとは、１個のＳＢが処理されるために要する時間の単位をいい、ＳＢごとの処理を行うとき、ＭＢサイクルはＳＢサイクルに分割される。以下では、ＭＢサイクルがＳＢサイクルに分割され、ＳＢごとの処理を行うステージ群をＳＢパイプライン（またはサブブロックパイプライン）と呼ぶ。図８中のステージ１〜ステージ５がＳＢパイプラインである。図１０はＳＢパイプラインの詳細な動作を示す。−０、−１、−２、−３はそれぞれ図６中の０、１、２、３の番号を付された８×８ＳＢを意味する。例えば、ｉ１５−２はｉ行１５列のＭＢに含まれる２番目の８×８ＳＢを表す。図１０では、ステージ５に空ステージを挿入し、例えばｉ１５−０ＳＢについてステージ４で検出された１／４画素精度動きベクトルをｉ１５−１ＳＢのステージ１における２画素精度動きベクトルのコスト計算に反映できるようにしている。このように、ＭＢサイクルをＳＢ数に等しい数のＳＢサイクルに分割したときは、（ＳＢ数＋１）段のパイプラインとすることにより、同一のＭＢ内における前の８×８ＳＢの処理結果を次の８×８ＳＢに反映させることができる。
【００６３】
なお、ステージ１〜ステージ５において８×８ＳＢごとの動きベクトル検出回路と並列に動作するＭＢごとの動きベクトル検出回路を設けることが可能である。また、ステージ３〜５において、ステージ１において検出された８×８ＳＢごとの候補ベクトルの周辺領域で８×８ＳＢごとの動きベクトル検出と並列にＭＢごと、１６画素×８画素ＳＢごと、８画素×１６画素ＳＢごとの動きベクトルを検出することも可能である。
【００６４】
ステージ０〜５において動きベクトルが検出された後は、ステージ６で１６×１６イントラ予測モード、４×４イントラ予測モード、インター予測モード等の中から符号化効率の最も良くなる予測モードが選択される。ステージ７では整数変換、量子化、逆量子化、および逆整数変換が行われる。ステージ８では可変長符号化と動き補償が行われる。ステージ９ではレート制御とデブロッキングフィルタ処理が行われ、ステージ１０では再生画素や符号化ビットストリームが外部メモリ４に書き込まれる。
【実施例３】
【００６５】
本実施例では、１／４画素精度動き検出回路１１を２個設け、ステージ３とステージ４を結合して、１個の８×８ＳＢの１／４画素精度動き検出を２ＳＢサイクルかけて行う例を示す。ステージ３とステージ４以外は、実施例２のＭＢパイプラインと同一のステージ構成である。図１１はＳＢパイプラインの詳細な動作を示し、図１２はこの動作を実現するための動き検出回路１３のブロック図を示す。２つの１／４画素精度動き検出回路１１を１ＳＢサイクルずらして動作させることにより、個々の８×８ＳＢの１／４画素精度動き検出を２ＳＢサイクルかけて行うことができる。
【実施例４】
【００６６】
本実施例では、Ｈ．２６４における４画素×４画素イントラ予測（以下、４×４イントラ予測という。）に本発明を適用する例ついて説明する。図１３は１６個の４画素×４画素ＳＢ（以下、４×４ＳＢという。）に分割されたＭＢを示す。４×４ＳＢは図１３中に付した０〜１５の順番で符号化され、ビットストリームに変換される。例えば、３番の４×４ＳＢについて４×４イントラ予測を行うときには、１番の４×４ＳＢにおける下端４行の画素と２番の４×４ＳＢの右端４列の画素が参照される。また、１４番の４×４ＳＢについて４×４イントラ予測を行うときには、１２番と１３番の４×４ＳＢにおける下端の４行の画素と１１番の４×４ＳＢにおける右端４列の画素が参照される。これら隣接４×４ＳＢに属する画素は再生画素を用いることが望ましい。
【００６７】
図１４は、４×４イントラ予測のために、８つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢが各ステージを流れていく様子を示す。ステージ４で隣接４×４ＳＢの再生画素を用いて４×４イントラ予測を行い、ステージ５で予測誤差に対して整数変換・量子化・逆整数変換・逆量子化を行ってイントラ予測値を加算し、再生画素を生成する。ステージ４の４×４イントラ予測回路とステージ５の整数変換・量子化・逆整数変換・逆量子化回路は、実施例２または実施例３で示したステージ１〜ステージ５の動き検出回路と並列に動作する。
【００６８】
本実施例では、ステージ４と５においてＭＢサイクルを１６のＳＢサイクルに分割する。このため、ＳＢパイプラインのステージ数に比べてＳＢの数が多く、（ＳＢ数＋１）段のＳＢパイプラインとすると、空ステージが増加し、効率が悪い。図１５はＳＢパイプラインの詳細な動作を示す。−０、−１、−２、……、−１５はそれぞれ図１３中の０、１、２、……、１５の番号を付された４×４ＳＢを意味する。例えば、ｉ１５−８はｉ行１５列のＭＢに含まれる８番目の４×４ＳＢを表す。図１５に示すように、本実施例では、２つのＭＢに含まれる４×４ＳＢを交互に処理することにより、１つのＭＢを２ＭＢサイクル、すなわち３２ＳＢサイクルかけて処理する。１つのＭＢに属する４×４ＳＢを４×４イントラ予測しているとき、同時に別のＭＢに属する４×４ＳＢを整数変換・量子化・逆整数変換・逆量子化する。ＭＢサイクルごとに１つのＭＢの処理を開始し、別のＭＢの処理を終えるように動作させ、ＭＢパイプラインの他ステージと整合を取る。ただし、このように動作させると、図１５に示すように、ステージ４の４×４イントラ予測において、２ＭＢサイクルごとに１ＳＢサイクル、すなわち１／１６ＭＢサイクルだけＭＢサイクルとずれが発生する。そのため、図１５では、ステージ３の有効期間を１５／１６ＭＢサイクルとし、ステージ４における１／１６ＭＢサイクルのずれを吸収している。なお、ステージ３の処理が重く、無効期間を設けることができないときは、ステージ６の有効期間を１５／１６ＭＢサイクルとし、１／１６ＭＢサイクルのずれを吸収しても良い。このように動作させることにより、４×４イントラ予測回路と整数変換・量子化・逆整数変換・逆量子化を行う回路に空を生じることなく、左隣接、上隣接、右上隣接の４×４ＳＢに属する画素について再生画素を用いて４×４イントラ予測を行うことができる。
【００６９】
なお、ＳＢパイプラインの前または後のステージの有効期間を短縮するのではなく、ＳＢパイプラインの前または後に空ステージを挿入することによって、ＭＢパイプラインのずれを吸収することもできる。
【００７０】
本実施例では、図１４に矢印で示すように、左隣接ＭＢのレート制御結果を４×４イントラ予測に付随して行う量子化に反映することができる。
【００７１】
また、輝度信号の１６画素×１６画素イントラ予測や４：２：０フォーマットのときの色差信号の８画素×８画素イントラ予測はＭＢごとに処理される。このため、左隣接ＭＢと上隣接ＭＢに属する画素を参照できれば良い。この場合、ステージ８の動き補償で得られる再生画素を参照できるため、４×４イントラ予測のようにステージ５で整数変換・量子化・逆整数変換・逆量子化を行う必要はない。なお、ステージ６のイントラ・インター判定で４×４イントラ予測モードが選択された場合には、ステージ５の整数変換・量子化・逆整数変換・逆量子化で得られた再生画素を保存しておく構成としても、ステージ７で再度整数変換・量子化・逆整数変換・逆量子化を行う構成としても良い。
【００７２】
なお、４×４イントラ予測のモード判定を入力された画素によって行うことにすれば、ステージ５の整数変換・量子化・逆整数変換・逆量子化は省略することができる。ただし、再生画素を用いてモード判定した場合に比べ、画質は劣化する。
【実施例５】
【００７３】
本実施例では、実施例２〜４とほぼ同一のステージ構成のＭＢパイプラインにおいて、図７におけるｉ−ＭＢ行、ｊ−ＭＢ行、ｋ−ＭＢ行、ｌ−ＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、ｉ行１５列、ｊ行１３列、ｋ行１１列、ｌ行９列等のＭＢを選択し、これら選択された４個のＭＢを１個のＭＢパイプラインに連続して投入する例を示す。実施例２〜４では８つのＭＢ行をひとまとまりとして処理するため、各左隣接ＭＢの処理結果を７ステージ分現ＭＢの処理にフィードバックできるが、本実施例では３ステージ分しかフィードバックできない。このため、左隣接ＭＢの処理結果を現ＭＢの処理に反映するとき、実施例２〜４に比べて制限が生じる。
【００７４】
８×８ＳＢごとの動きベクトルを検出するために、４つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢがＭＢパイプラインの各ステージを流れていく様子を図１６に示す。この場合、例えば、ステージ５でｊ行１２列のＭＢのイントラ・インター判定が終了したとき、同時にステージ１においてｊ行１３列のＭＢの２画素精度動き検出も終了する。このため、左隣接ＭＢのイントラ・インター判定結果を現ＭＢの２画素精度動き検出に反映できないという制限がある。ただし、図１６中に矢印で示すように、左隣接ＭＢのイントラ・インター判定結果はステージ２以降に反映できる。また、左上隣接ＭＢ、上隣接ＭＢ、右上隣接ＭＢ、左方向に１つ離れたＭＢ等についてステージ５で確定したイントラ・インター判定結果はステージ１の２画素精度動き検出に反映できる。そこで、ステージ１においては、左上隣接ＭＢ、上隣接ＭＢ、右上隣接ＭＢ、左方向に１つ離れたＭＢ等の動きベクトルを参照して仮のＰＭＶを作成し、４つの８×８ＳＢ全てが共通にこの仮のＰＭＶを参照して２画素精度動き検出を行う。そして、ステージ２ではステージ１で検出された２画素精度の候補動きベクトルの周辺領域を単画素精度メモリ８に設定し、ステージ３で真のＰＭＶを作成し、ステージ３とステージ４で真のＰＭＶを参照して単画素精度動き検出と１／４画素精度動き検出を行う。
【００７５】
図１７はステージ３と４におけるＳＢパイプラインの詳細な動作を示す。ステージ３の単画素精度動き検出とステージ４の１／４画素精度動き検出では、２つのＭＢに含まれる８×８ＳＢを交互に処理することにより、１つのＭＢを２ＭＢサイクル、すなわち８ＳＢサイクルかけて処理する。１個のＭＢに属する８×８ＳＢについて単画素精度動き検出を行っているとき、同時に別のＭＢに属する８×８ＳＢについて１／４画素精度動き検出を行う。ＭＢサイクルごとに１個のＭＢの処理を開始し、別のＭＢの処理を終えるように動作させ、ＭＢパイプラインの他ステージと整合を取る。そして、ステージ２の有効期間を３／４ＭＢサイクルとし、ステージ４における１／４ＭＢサイクルのずれを吸収する。この方法によれば、１つのＭＢ内に含まれる４個の８×８ＳＢについて０番から３番までシリアルに処理することができる。このため、単画素精度動き検出と１／４画素精度動き検出では隣接８×８ＳＢの動きベクトルを考慮した真のＰＭＶに基づいて動き検出を行うことができる。
【００７６】
ただし、本実施例では、空間ダイレクトアドレスの評価が別途必要となる。ステージ１で仮のＰＭＶに基づいて２画素精度動き検出が行われ、ステージ２ではステージ１で検出された候補動きベクトルの周辺領域が単画素精度メモリ８に設定される。ステージ１の仮のＰＭＶとステージ３の真のＰＭＶが異なる場合、ステージ３と４で動き検出する領域に空間ダイレクトアドレスに対応する位置のＭＢや８×８ＳＢ等が含まれない。そこで、ステージ３およびステージ４と並列に空間ダイレクトアドレスに対応する位置のＭＢや８×８ＳＢのコストを評価する処理を行う必要がある。
【００７７】
４×４イントラ予測のために、４つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢがＭＢパイプラインの各ステージを流れていく様子を図１８に示す。また、図１９はステージ３と４におけるＳＢパイプラインの詳細な動作を示す。ステージ４の４×４イントラ予測とステージ５の整数変換・量子化・逆量子化・逆整数変換では、実施例４のＳＢパイプラインと同様の処理を行う。
【００７８】
ただし、本実施例では左隣接ＭＢの処理結果を３ステージ分しか現ＭＢの処理にフィードバックできないため、動き補償をステージ７で行うと左隣接ＭＢの再生画素を用いて４×４イントラ予測を行うことができない。そこで、動き補償をステージ６で行なわなければならないという制限がある。また、左隣接ＭＢのステージ８のレート制御結果を反映できるのはステージ５以降であって、ステージ４の量子化には反映できない。しかし、ステージ７の可変長符号化によって大量のビットが発生し、ステージ８で量子化パラメータを大きくするというレート制御を行う必要が生じる場合がある。この場合には、ステージ５のイントラ・インター判定において４×４イントラ予測モードを選択しないようにするか、または４×４イントラ予測モードが選択されたときはステージ６で新しい量子化パラメータを用いて整数変換・量子化・逆量子化・逆整数変換をやり直す必要がある。
【００７９】
上記実施例１〜５で示したように、本発明では、縦に連続する複数のＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、１つのＭＢ行当たり１個のＭＢを選択し、これら選択された複数のＭＢを１個のＭＢパイプラインに連続して投入する。これらのＭＢは狭い画像領域にあるため、下に隣接したＭＢ行に属するＭＢの符号化が終了するまで、そのＭＢの上隣接ＭＢと右上隣接ＭＢの再生画素や動きベクトル等を画像符号化装置内に保持することにしてもその保持に要する記憶回路の規模は小さい。この記憶回路を設けることにより、これら複数のＭＢ行の一番上のＭＢ行に含まれるＭＢを除いて、現ＭＢの符号化のために上隣接ＭＢと右上隣接ＭＢの再生画素や動きベクトル等を供給するという問題を解消することができる。
【００８０】
なお、実施例１〜５で示したＭＢパイプラインのステージ構成は一例であって、他のステージ構成とすることも可能である。そして、ステージ構成が変われば、ひとまとまりとして符号化する縦に連続する複数のＭＢ行の数が同じであっても、動き検出やイントラ予測等における制約は変わる。
【実施例６】
【００８１】
図２０は、内部メモリを有する動画像符号化装置２３のブロック図である。動画像符号化装置２３は、ＭＢの符号化に必要な全てのデータを外部メモリ４から読み出してその内部メモリに記憶する。内部メモリは参照領域用メモリ１４とバッファメモリ１５の２種類ある。動き検出の時に参照される参照画像は参照領域用メモリ１４に記憶され、参照領域用メモリ１４から動き検出部１６と動き補償部１７に供給される。符号化のために必要なその他のデータはバッファメモリ１５に記憶され、動き検出部１６、動き補償部１７、イントラ予測部１８、整数変換・量子化・逆量子化・逆整数変換部１９、可変長符号化部２０、デブロッキングフィルタ部２１はバッファメモリ１５との間でデータを転送する。制御部２２はイントラ・インター判定とレート制御を行う。制御部２２はワイヤードロジックまたはマイクロプロセサで構成される。なお、図２０では参照領域用メモリ１４とバッファメモリ１５を別々のものとして表わしたが、参照領域用アドレスとバッファ用アドレスが別れていれば１個の共通メモリであっても良い。
【００８２】
縦に連続する４つのＭＢ行に含まれる４個のＭＢ２４、２５、２６、２７を１個のＭＢパイプラインで処理する場合の参照領域２８、２９、３０、３１を図２１に示す。参照領域２８、２９、３０、３１はそれぞれＭＢ２４、２５、２６、２７の動き検出のときに参照される領域である。参照領域２８、２９、３０、３１は大きく重なっており、縦に隣り合うＭＢ行に属する２個のＭＢの参照領域において重なっていない部分の高さはＭＢの縦方向の画素数と一致する。この重なり部分は動きベクトルの検出範囲が広くなるほど大きくなる。本発明において参照領域２８、２９、３０、３１中の全画素は、参照領域用メモリ１４に記憶される。従来技術と同様に、本実施例でも右方向に隣接するＭＢの符号化を開始するとき、外部メモリ４から参照領域用メモリ１４へ更新領域３２、３３、３４、３５のみ転送し、それまで符号化していた左隣接ＭＢの参照領域２８、２９、３０、３１の原点から次に符号化する右隣りのＭＢのための新しい原点に付け替える。ただし、ＭＢ２５のための更新領域３３は、ＭＢ２４の参照領域２８に含まれていない部分のみである。同様に、ＭＢ２６とＭＢ２７の更新領域３４、３５はそれぞれＭＢ２５とＭＢ２６の参照領域２９、３０に含まれていない部分のみである。従って、従来技術に比べて、外部メモリ４と参照領域用メモリ１４の間の画素転送量を大幅に削減することができる。
【００８３】
図２２は、参照領域用メモリ１４に参照領域２８、２９、３０、３１を記憶するもう一つの方法である。参照領域用メモリ１４には、参照領域２８、２９、３０、３１を全て含む矩形の領域３６を記憶する。この方法によれば、参照領域用メモリ１４のアドレス生成が簡単になる。また、更新領域３７もひとまとまりの矩形領域となるため、外部メモリ４から参照領域用メモリ１４への画素の転送が簡単になる。
【００８４】
上記では、連続した４つのＭＢ行に含まれる４つのＭＢを１個のＭＢパイプラインで同時に処理する場合を例として示したが、本実施例に示す方法は連続した２以上のＭＢ行であれば適用でき、例えば連続した８のＭＢ行であっても良い。
【００８５】
なお、参照領域用メモリ１４には単画素精度画像のみ記憶し、参照領域用メモリ１４から読み出した単画素精度画像から動き検出部１６と動き補償部１７の内部で半画素精度画像や１／４画素精度画像を作成する構成とすることができる。この構成は、予め半画素精度画像や１／４画素精度画像を作成して外部メモリ４に記憶し、外部メモリ４から参照領域用メモリ１４に半画素精度画像や１／４画素精度画像を転送する構成よりも外部メモリ４と参照領域用メモリ１４の間の画素転送量を削減することができる。
【００８６】
また、２画素精度画像等の縮小画像を作成し、最初に縮小画像上で動き検出を行い、段階的に高精度画像で動き検出を行う階層的探索法がある。この探索法に対して本発明を適用する場合にも、参照領域用メモリ１４には単画素精度画像のみを記憶しておき、動き検出部１６と動き補償部１７の内部で縮小画像を作成する構成とすることができる。この構成は、予め縮小画像を作成して外部メモリ４に記憶し、外部メモリ４から参照領域用メモリ１４に縮小画像を転送する構成よりも外部メモリ４と参照領域用メモリ１４の間の画素転送量を削減することができる。
【００８７】
その他、動き検出における演算量を削減する手法としてテレスコピック探索法が提案されている。テレスコピック探索法では、符号化対象画像と参照画像の中間の画像も必要となる。この場合には、中間の画像の中で動き検出に必要な領域に対しても本実施例に示す更新方法を適用することができる。
【００８８】
また、輝度信号だけを本実施例に示す方法で外部メモリ４から画像符号化装置２３の内部メモリに転送しても良いし、輝度信号と色差信号の両方に本実施例に示す方法を適用しても良い。なお、動き検出のときに色差信号を参照しない場合には、色差信号は参照領域用メモリ１４とバッファメモリ１５のどちらに記憶しても良い。
【実施例７】
【００８９】
ＨＤＴＶ映像を符号化対象とする場合、良好な画質を得るために動きベクトルの範囲は横±２００画素、縦±１００画素程度必要である。この範囲の動きベクトルを検出するための演算量は膨大であり、動き検出のために多くのサイクル数を要する。しかし、ＭＢパイプライン構造の動画像符号化装置では、ＭＢサイクル当たりのサイクル数は全てのステージで共通である。動き検出のためのステージのみＭＢサイクル当たりのサイクル数を増加させることはできない。また、本発明を適用したＭＢパイプラインでは、処理結果をフィードバックできるステージ数に限界があるため、ＭＢパイプラインのステージ数を増加させることは好ましくない。
【００９０】
図２３は広い範囲で動きを検出できる動き検出装置３８と、本発明が適用されたＭＢパイプラインを含む動画像符号化装置２３の組み合わせを示す。動き検出装置３８は、動きベクトルの符号化コストを考慮せず、予測誤差の符号化コストのみを考慮して動きベクトル候補を検出する。動画像符号化装置２３は、動き検出装置３８で検出された動きベクトル候補を受け取って、その動きベクトル候補の周辺領域について動きベクトルの符号化コストまで考慮して動き検出を行う。すなわち、広い範囲でＰＭＶを参照せずに動きを検出し、検出された動きベクトル候補の周辺領域についてＰＭＶを参照して再度動き検出を行う。受け取った動きベクトル候補の周辺領域における再度の動き検出は２画素精度動き検出や単画素精度動き検出等任意の精度の動き検出段階で行うことが可能である。動画像符号化装置２３では、この動きベクトル候補の周辺領域に加えて、コスト最小の動きベクトルが存在する可能性が高い他の領域、例えばＰＭＶの周辺領域でも同時に動き検出を行っても良い。動き検出装置３８は、動画像符号化装置２３のＭＢパイプラインと無関係に動作するため、多くのサイクル数をかけて動き検出を行うことができる。
【００９１】
また、動き検出装置３８は、動画像符号化装置２３で作成された再生画像ではなく、符号化されていない入力されたままの画像を対象として動き検出を行う構成とすることもできる。この構成とすることにより、動画像符号化装置２３から動き検出装置３８に再生画像を送る必要が無くなる。
【００９２】
なお、動き検出装置３８と動画像符号化装置２３を同一のＬＳＩ上に集積することも可能である。この場合、動画像符号化装置２３に接続されている外部メモリ４を動き検出装置３８と動画像符号化装置２３の共有メモリとし、動き検出装置３８は再生画像を対象として動き検出を行う構成としても良い。
【００９３】
また、ＭＰＥＧ−２からＨ．２６４へトランスコードするときのように、既に検出された動きベクトルを利用できるときには、動き検出装置３８を用いず、検出済の動きベクトルを直接動画像符号化装置２３に入力し、この検出済み動きベクトルの周辺領域について動きベクトルの符号化コストまで考慮して動き検出を行う構成とすることもできる。
【実施例８】
【００９４】
２つの動画像符号化装置４０、４１と内部メモリ３９を有する並列動画像符号化装置４２のブロック図を図２４に示す。図２５は、動画像符号化装置４０と４１が符号化を分担するピクチャの領域を示す。ｉ−ＭＢ行〜ｌ−ＭＢ行、ｑ−ＭＢ行〜ｔ−ＭＢ行等を動画像符号化装置４０が分担して符号化し、ｅ−ＭＢ行〜ｈ−ＭＢ行、ｍ−ＭＢ行〜ｐ−ＭＢ行等を動画像符号化装置４１が分担して符号化する。このピクチャ分割方法によれば、動画像符号化装置４０と４１の分担するピクチャの領域が縦に連続しているため、両者の参照領域は縦に大きく重なっている。外部メモリ４から内部メモリ３９へ２つの動画像符号化装置４０と４１の参照領域を転送し、内部メモリ３９から個々の動画像符号化装置４０と４１に転送する構成とすれば、両者の参照領域の重なり部分を重複して転送する必要がないため、外部メモリ４と内部メモリ３９の間のデータ転送量を削減することができる。
【００９５】
動画像符号化装置４０と４１に含まれるＭＢパイプラインの各ステージをＭＢが流れていく様子を図２６に示す。各々の動画像符号化装置４０と４１のステージ構成は実施例１の動画像符号化装置と同一である。ただし、例えば、ｌ−ＭＢ行に属するＭＢの再生画素と動きベクトルを動画像符号化装置４０から動画像符号化装置４１に転送し、ｍ−ＭＢ行に属するＭＢの符号化で参照することが可能である。このように、動画像符号化装置４０と４１の分担する領域の境界において、上隣接ＭＢと右上隣接ＭＢにおける再生画素や動きベクトル等現ＭＢの参照するデータを転送できるタイミングで動画像符号化装置４０と４１を動作させる。このように動作させることにより、従来のスライスインタリーブと異なり、本実施例の方法によれば、図２５のｉ−ＭＢ行〜ｌ−ＭＢ行やｍ−ＭＢ行〜ｐ−ＭＢ行のように各動画像符号化装置４０と４１が分担して符号化する領域ごとにスライス分割する必要はなく、ピクチャ全体を１スライスとすることも可能である。更に、ａ−ＭＢ行〜ｄ−ＭＢ行やｅ−ＭＢ行〜ｈ−ＭＢ行等動画像符号化装置４０と４１が処理するピクチャの最初の領域が入力されると、動画像符号化装置４０と４１は符号化を開始することができるので、符号化遅延を抑えることができる。
【００９６】
なお、並列動画像符号化装置４２は３個以上の動画像符号化装置を含んでいても良い。
【実施例９】
【００９７】
Ｈ．２６４では可変長符号化の方法としてＣＡＢＡＣを用いることができる。ＣＡＢＡＣは、１個の算術符号化回路を使用して１つのスライスに含まれる全ＭＢを連続的に処理する。一方、実施例１〜８に記載した発明では、縦に連続する複数のＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、１つのＭＢ行当たり１個のＭＢを選択し、これら選択された複数のＭＢを１個のＭＢパイプラインに連続して投入する。このため、本発明を用いる場合、縦に連続するひとまとまりのＭＢ行に含まれる全てのＭＢの符号化が終了した後でなければ２値化シンボルを算術符号化することができない。しかし、あるＭＢを符号化したとき、その発生符号量が著しく多い場合がある。このような場合、早急に量子化パラメータを大きくし、新たに符号化するＭＢから発生する符号量を減少させるようにレート制御しなければならない。本実施例では、実施例１〜８に記載した発明が適用された動画像符号化装置においてＨ．２６４で規定されるＣＡＢＡＣ等の算術符号化を行う場合に、縦に連続するひとまとまりのＭＢ行に含まれる全てのＭＢの符号化が終了する前にレート制御を行う方法を示す。
【００９８】
背景技術の欄で説明したように、２値化シンボルのシンボル長の総和から算術符号化の発生符号量を推定する方法が提案されている（例えば、非特許文献６のp.20、図６参照）。この方法によって推定される発生符号量によってレート制御を行えば、縦に連続するひとまとまりのＭＢ行に含まれる全てのＭＢの符号化終了を待たずにレート制御することができる。図２７は、推定発生符号量に基づいてレート制御を行うＣＡＢＡＣ符号化器のブロック図である。
【００９９】
まず、シンタックスデータを２値化回路４３により２値化する。２値化回路４３は、ルックアップテーブルを含み、テーブルルックアップを用いて２値化シンボルへの変換を１サイクルで行う。そして、発生符号量推定回路４４により変換された２値化シンボルのシンボル長の総和からＭＢごとの発生符号量を推定し、制御部２２に推定発生符号量を送ってレート制御を行う。これにより、縦に連続するひとまとまりのＭＢ行に含まれる全てのＭＢの符号化が終了する前にレート制御を行うことができる。
【０１００】
ここで、本発明が適用された動画像符号化装置では、ＭＢ行の先頭のＭＢを処理するとき、その上に隣り合ったＭＢ行の最後のＭＢの量子化パラメータはまだ求まっていない。しかし、量子化パラメータは直前に符号化したＭＢの量子化パラメータとの差分が２値化され、算術符号化される。そこで、ＭＢ行内の先頭のＭＢの量子化パラメータについては仮の値との差分（以下、仮ｍｂ＿ｑｐ＿ｄｅｌｔａという。）を２値化するものとする。なお、仮の値は、既に符号化済みのＭＢの量子化パラメータを参照して上に隣り合うＭＢ行内の最後のＭＢの量子化パラメータを推測して決定することが望ましい。一方、ＭＢ行内の先頭以外のＭＢの量子化パラメータは、Ｈ．２６４で規定されている通り、直前に符号化した左隣接ＭＢのものとの差分（以下、ｍｂ＿ｑｐ＿ｄｅｌｔａという。）を２値化する。
【０１０１】
次に、２値化シンボルをいったん２値化シンボル記憶回路４５で記憶し、縦に連続するひとまとまりのＭＢ行に含まれる全てのＭＢの符号化が終了した後、２値化シンボルを２値化シンボル記憶回路４５から読み出す。そして、コンテクスト情報復元回路４７を用いてそれに対応するコンテクスト情報を復元しながら、算術符号化回路４６により算術符号化を行う。コンテクスト情報復元回路４７の処理は、動画像復号装置で使用されるＣＡＢＡＣ復号回路内のコンテクスト情報復元処理とほぼ同一である。コンテクスト情報復元回路４７の処理フローを図２８に示す。スライスの先頭でコンテクスト情報を初期化する（ステップＳ５）。次に、変数tmpをクリアし（ステップＳ６）、シンタックスデータの２値化シンボルを１個取得する（ステップＳ７）。その後、算術符号化するｓｙｍｂｏｌのコンテクスト情報を取得し（ステップＳ８）、２値化シンボル記憶回路４５からｓｙｍｂｏｌを１ビット読み出す（ステップＳ９）。そして、コンテクスト情報とｓｙｍｂｏｌを算術符号化回路４６に出力する（ステップＳ１０）。変数ｔｍｐを１ビット左論理シフトした後、ＬＳＢにｓｙｍｂｏｌを連結する（ステップＳ１１）。この新たなｔｍｐがステップＳ７で取得した２値化シンボルと異なる場合にはステップＳ８に戻る（ステップＳ１２）。ｔｍｐが２値化シンボルと一致する場合にはスライスの最後か否か判定し、スライスの最後でない場合にはステップＳ６に戻り（ステップＳ１３）、ｔｍｐをクリアするとともに新たな２値化シンボルを取得する（ステップＳ６、Ｓ７）。スライスの最後である場合にはコンテクスト情報復元処理を終了する（ステップＳ１３）。
【０１０２】
ただし、ＭＢ行内の先頭のＭＢの仮ｍｂ＿ｑｐ＿ｄｅｌｔａを２値化シンボル記憶回路４５に記憶すると、上に隣り合うＭＢ行内の最後のＭＢの量子化パラメータを再現し、それとの差分を算出して実際のｍｂ＿ｑｐ＿ｄｅｌｔａを求めた後、再度２値化し、算術符号化しなければならない。その際、全てのＭＢについてｍｂ＿ｑｐ＿ｄｅｌｔａを復号して量子化パラメータを再現することが必要となる。これを避けるために、ＭＢ行内の最後のＭＢについてはｍｂ＿ｑｐ＿ｄｅｌｔａとともに量子化パラメータそのものを２値化シンボル記憶回路４５に記憶することとしても良い。ＭＢ行内の最後のＭＢの量子化パラメータを一定のビット長として記憶することにより、コンテクスト情報復元回路４７でＭＢ行内の最後のＭＢの量子化パラメータと識別することができる。
【０１０３】
なお、２値化シンボル記憶回路４５は動画像符号化装置内部に無くても良く、外部メモリ４に２値化シンボルを記憶することとしても良い。
【０１０４】
本実施例の方法には、算術符号化回路が突発的に増加する２値化シンボル発生量を処理できるだけの性能を有していなくても算術符号化することができるという利点がある。特に、２値化シンボル記憶回路４５にＩピクチャの２値化シンボルとその前後のＰピクチャやＢピクチャの２値化シンボルを記憶できるだけの十分な記憶容量を持たせれば、算術符号化回路４６にＩピクチャの２値化シンボル発生量を処理できるだけの性能を持たせる必要はなく、複数ピクチャの２値化シンボルの平均発生量を処理できるだけの性能を持たせれば足りるという利点がある。
【実施例１０】
【０１０５】
本実施例では、ＣＡＢＡＣを用いる動画像符号化装置に本発明を適用する場合における実施例９とは別のレート制御方法を示す。図２９は、仮の発生符号量に基づいてレート制御を行うＣＡＢＡＣ符号化器のブロック図である。２値化シンボルをいったん２値化シンボル記憶回路４５に記憶し、２値化シンボル記憶回路４５から読み出してそれに対応するコンテクスト情報を復元しながら算術符号化（以下、真の算術符号化という。）を行う点については実施例９と同じである。本実施例では、２値化シンボルを仮算術符号化回路４８により仮算術符号化して仮の発生符号量を算出し、縦に連続するひとまとまりのＭＢ行に含まれる全てのＭＢの符号化が終了する前に仮の発生符号量に基づいてレート制御する点が異なる。
【０１０６】
ＭＢ行内の先頭のＭＢでは、通常上に隣り合うＭＢ行内の最後のＭＢの算術符号化が終えたときのｒａｎｇｅ、ｌｏｗ、および確率テーブルを引き継いで算術符号化を行う。しかし、本発明では縦に連続する複数のＭＢ行をひとまとまりとして符号化を進めるため、ＭＢ行内の先頭のＭＢを符号化するとき上に隣り合うＭＢ行内の最後のＭＢは符号化が終わっていない。このため、縦に連続するひとまとまりのＭＢ行の符号化が終了するまで、上に隣り合うＭＢ行内の最後のＭＢの算術符号化が終えたときのｒａｎｇｅ、ｌｏｗ、および確率テーブルを引き継いで算術符号化を行うことができない。そこで、ＭＢ行内の先頭のＭＢについては仮のｒａｎｇｅ、ｌｏｗ、および確率テーブルに仮の値を設定して仮算術符号化を開始する。
【０１０７】
縦に連続する４つのＭＢ行をひとまとまりとして符号化を行う場合の仮算術符号化回路４８のブロック図を図３０に示す。コンテクスト計算部分４９はｓｙｍｂｏｌごとにコンテキスト計算を行う。ｒａｎｇｅを記憶する部分５１〜５４、ｌｏｗを記憶する部分５５〜５８、および確率テーブル５９〜６２は４つのＭＢ行に対応して４個づつ存在する。ｒａｎｇｅ（ｎ）記憶部分５１、ｌｏｗ（ｎ）記憶部分５５、および確率テーブル（ｎ）５９は４つのＭＢ行のうち最も上のＭＢ行に対応する。ｒａｎｇｅ（ｎ＋１）記憶部分５２、ｌｏｗ（ｎ＋１）記憶部分５６、および確率テーブル（ｎ＋１）６０は上から２番目のＭＢ行に対応する。そして、ｒａｎｇｅ（ｎ＋２）記憶部分５３、ｌｏｗ（ｎ＋２）記憶部分５７、および確率テーブル（ｎ＋２）６１は上から３番目のＭＢ行に対応し、ｒａｎｇｅ（ｎ＋３）記憶部分５４、ｌｏｗ（ｎ＋３）記憶部分５８、および確率テーブル（ｎ＋３）６２は最も下のＭＢ行に対応する。ｒａｎｇｅを記憶する部分５１〜５４とｌｏｗを記憶する部分５５〜５８の内容は、４つのＭＢ行に含まれる個々のＭＢの算術符号化を開始するときのみ算術符号化部分５０に読み込まれ、そのＭＢの算術符号化を終了するとき算術符号化部分５０から書き込まれ更新される。
【０１０８】
ＭＢ行内の先頭のＭＢについて仮のｒａｎｇｅ、ｌｏｗ、および確率テーブルを設定する方法として３つ考えられる。最初の方法は、Ｈ．２６４で規定されている初期化を行う方法である。Ｈ．２６４ではスライスの先頭でｒａｎｇｅ、ｌｏｗ、および確率テーブルを初期化する。ＭＢ行内の先頭のＭＢについて仮算術符号化を開始するとき、この初期化を行う。
【０１０９】
２番目の方法は、縦に連続するひとまとまりのＭＢ行内の個々のＭＢ行ごとに、ＭＢ行内の最後のＭＢの算術符号化が終えたときのｒａｎｇｅ、ｌｏｗ、および確率テーブルを、その下に隣接するひとまとまりのＭＢ行内の対応するＭＢ行における先頭ＭＢに引き継ぐ方法である。縦に連続する４つのＭＢ行をひとまとまりとして符号化を行う場合を図３１に示す。図３１は１２のＭＢ行で構成されるピクチャを示す。ピクチャの最も上のひとまとまりの４つのＭＢ行については、個々のＭＢ行内の最初のＭＢのｒａｎｇｅ、ｌｏｗ、および確率テーブルはＨ．２６４で規定されている方法で初期化する。上から２番目のひとまとまりの４つのＭＢ行に含まれる個々のＭＢ行については、最も上のひとまとまりの４つのＭＢ行に含まれる個々のＭＢ行内の最後のＭＢの算術符号化が終えたときのｒａｎｇｅ、ｌｏｗ、および確率テーブルを引き継ぐ。同様に、上から３番目のひとまとまりの４つのＭＢ行については、上から２番目のひとまとまりの４つのＭＢ行に含まれる個々のＭＢ行内の最後のＭＢの算術符号化が終えたときのｒａｎｇｅ、ｌｏｗ、および確率テーブルを引き継ぐ。
【０１１０】
３番目の方法は、既に真の算術符号化を終了したピクチャの同じ位置にあるＭＢが引き継いだｒａｎｇｅ、ｌｏｗ、および確率テーブルと同じものを、ＭＢ行内の先頭のＭＢにおける仮のｒａｎｇｅ、ｌｏｗ、および確率テーブルとして設定する方法である。
【０１１１】
あるＭＢを符号化しているとき２値化シンボルが突発的に増加し、仮算術符号化回路４８の処理能力を超えたときは、そのＭＢについては途中で仮算術符号化を打ち切り、次のＭＢの仮算術符号化を開始しても良い。２値化シンボルの発生量が急激に増大した場合には、実施例９と同様に２値化シンボルの発生量により発生符号量を推定し、これから符号化するＭＢの量子化パラメータを大きくし、２値化シンボルの発生量を減少させる等の方法によりレート制御を行うことができる。このため、突発的に発生する２値化シンボルの最大発生量を処理できるだけの性能を仮算術符号化回路４８に持たせる必要はない。また、本実施例の方法でも、実施例９の方法同様、２値化シンボル記憶回路４５に十分な記憶容量を持たせれば、真の算術符号化回路４６に複数ピクチャの２値化シンボルの平均発生量を処理できるだけの性能を持たせれば足りるという利点がある。
【０１１２】
仮算術符号化回路４８を複数設けることもできる。図３２は、２並列で仮算術符号化を行う場合の仮算術符号化回路６８のブロック図である。コンテクスト計算部分４９と算術符号化部分５０を２個づつ有する。一方の算術符号化部分５０には、ｒａｎｇｅ（ｎ）記憶部分５１、ｌｏｗ（ｎ）記憶部分５５、確率テーブル（ｎ）５９、ｒａｎｇｅ（ｎ＋２）記憶部分５３、ｌｏｗ（ｎ＋２）記憶部分５７、および確率テーブル（ｎ＋２）６１が接続されており、ひとまとまりの４つのＭＢ行のうち最も上のＭＢ行と上から３番目のＭＢ行に含まれるＭＢを仮算術符号化する。また、もうひとつの算術符号化部分５０には、ｒａｎｇｅ（ｎ＋１）記憶部分５２、ｌｏｗ（ｎ＋１）記憶部分５６、確率テーブル（ｎ＋１）６０、ｒａｎｇｅ（ｎ＋３）記憶部分５４、ｌｏｗ（ｎ＋３）記憶部分５８、および確率テーブル（ｎ＋３）６２が接続されており、ひとまとまりの４つのＭＢ行のうち上から２番目のＭＢ行と最も下のＭＢ行に含まれるＭＢを仮算術符号化する。実施例１と類似したＭＢパイプラインのステージ構成において、図１中のｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列のＭＢが各ステージを流れていく様子を図３３に示す。このように、２並列で仮算術符号化を行うことにより、１つのＭＢの仮算術符号化を２ＭＢサイクルかけて行うことができる。なお、図３２中のメモリ６３、６５とメモリ６４、６６はそれぞれ２値化シンボルとシンタックッスデータを２ＭＢサイクル保持するために設けられている。
【０１１３】
実施例９の方法は、直前の符号化済みピクチャの2 値化シンボル長と発生符号量との比率αが必要である。このため、シーンチェンジ等があった場合、発生符号量の推定が不正確となる。一方、本実施例の方法は、同一ＭＢ行内のＭＢの算術符号化が行われるにつれて仮算術符号化に用いられる確率テーブルの値が正確なものに収束する。このため、シーンチェンジ等があった場合でも真の算術符号化による発生符号量に基づくレート制御に近いレート制御を行うことができる。
【実施例１１】
【０１１４】
シンタックスデータを２値化以外の方法で圧縮していったん記憶した後、シンタックスデータを復元して２値化、算術符号化することもできる。例えば、Ｈ．２６４ではＣＡＢＡＣの他にＣＡＶＬＣも可変長符号化方式として規定されているが、ＣＡＶＬＣは１個のシンタックスデータを１ＣＫで可変長符号化することができる。ＣＡＶＬＣで圧縮する場合のＣＡＢＡＣ符号化器のブロック図を図３４に示す。シンタックスデータをＣＡＶＬＣ符号化回路６９で圧縮して発生したＣＡＶＬＣ符号化ビットストリームをＣＡＶＬＣ符号化ビットストリーム記憶回路７０にいったん記憶する。そして、ＣＡＶＬＣ符号化ビットストリーム記憶回路７０から読み出したＣＡＶＬＣ符号化ビットストリームをＣＡＶＬＣ復号回路７１で復号し、復元されたシンタックスデータを２値化回路４３により２値化し、算術符号化回路４６により算術符号化する。なお、図３４には、仮算術符号化を行い、仮発生符号量でレート制御する場合を示したが、実施例９で示したように、２値化シンボルのシンボル長の総和から算術符号化の発生符号量を推定し、レート制御しても良い。
【０１１５】
ここで、実施例９で指摘したように、本発明が適用された動画像符号化装置では、ＭＢ行の先頭のＭＢを処理するとき、その上に隣り合ったＭＢ行の最後のＭＢの量子化パラメータはまだ求まっていない。そこで、実施例９と同様に、ＭＢ行内の先頭のＭＢの量子化パラメータについては仮の値との差分（以下、仮ｍｂ＿ｑｐ＿ｄｅｌｔａという。）をＣＡＶＬＣで符号化し、ＭＢ行内の先頭以外のＭＢの量子化パラメータは直前に符号化した左隣接ＭＢのものとの差分（以下、ｍｂ＿ｑｐ＿ｄｅｌｔａという。）をＣＡＶＬＣで符号化するものとする。そして、ＭＢ行内の先頭のＭＢの量子化パラメータについては、上隣接ＭＢ行内の最後のＭＢの量子化パラメータを再現し、それとの差分を算出して実際のｍｂ＿ｑｐ＿ｄｅｌｔａを求めた後、２値化し、算術符号化する。その際、全てのＭＢについてｍｂ＿ｑｐ＿ｄｅｌｔａを復号して量子化パラメータを再現することを避けるために、ＭＢ行内の最後のＭＢについてｍｂ＿ｑｐ＿ｄｅｌｔａとともに量子化パラメータそのものをＣＡＶＬＣ符号化ビットストリーム記憶回路７０に記憶することとしても良い。
【０１１６】
シンタックスデータを圧縮し、復元できる可逆圧縮方法であれば、ＣＡＶＬＣ以外の方法を用いることもできる。すなわち、シンタックスデータを可逆圧縮して圧縮されたシンタックスデータをいったん記憶する。そして、この圧縮されたシンタックスデータを読み出してシンタックスデータを復元する。この復元されたシンタックスデータを２値化シンボルに変換し、算術符号化する。
【０１１７】
Ｈ．２６４では、entropy_coding_mode_flagを指定することにより、ピクチャごとにＣＡＶＬＣとＣＡＢＡＣを切り替えることができる。そこで、可逆圧縮方法としてＣＡＶＬＣを用いる場合には、あるＭＢの２値化シンボルの発生量が突発的に増加し、仮算術符号化した結果真の算術符号化回路４６の処理能力を超えると予測されるとき、そのＭＢを含むピクチャ全体をＣＡＶＬＣ符号化し、一方、仮算術符号化した結果真の算術符号化回路４６で処理できると予測されるとき、そのＭＢを含むピクチャ全体をＣＡＢＡＣ符号化することができる。これにより、真の算術符号化回路４６の性能が不測するという状況を確実に回避できる。
【０１１８】
また、ＣＡＶＬＣ符号化回路６９でＣＡＶＬＣ符号化ビットストリームの符号量を算出し、ＣＡＶＬＣ符号化と仮算術符号化の仮発生符号量を比較して、ピクチャごとに発生符号量が少ないと推測されるエントロピー符号化モードを選択することもできる。
【実施例１２】
【０１１９】
本実施例では、実施例８で示した２つの動画像符号化装置４０と４１で構成される並列動画像符号化装置４２からＣＡＢＡＣで符号化された１本のビットストリームを生成する方法を示す。動画像符号化装置４０と４１から２値化シンボルが出力される並列動画像符号化装置のブロック図を図３５に示す。動画像符号化装置４０と４１から出力される２値化シンボルを共通の２値化シンボル記憶回路４５にいったん記憶する。そして、２値化シンボルを２値化シンボル記憶回路４５から読み出し、コンテクスト情報復元回路４７を用いてそれに対応するコンテクスト情報を復元しながら、算術符号化回路４６により算術符号化を行う。
【０１２０】
また、動画像符号化装置４０と４１からＣＡＶＬＣ符号化ビットストリームが出力される並列動画像符号化装置のブロック図を図３６に示す。動画像符号化装置４０と４１から出力されるＣＡＶＬＣ符号化ビットストリームを共通のＣＡＶＬＣ符号化ビットストリーム記憶回路７０にいったん記憶する。そして、ＣＡＶＬＣ符号化ビットストリームをＣＡＶＬＣ符号化ビットストリーム記憶回路７０から読み出し、ＣＡＶＬＣ復号回路７１により復号してシンタックスデータに戻した後、そのシンタックスデータを２値化し、算術符号化を行う。
【０１２１】
なお、並列動画像符号化装置４２は３個以上の動画像符号化装置を含んでいても良い。
【実施例１３】
【０１２２】
Ｈ．２６４のＭＢＡＦＦ（Ｍａｃｒｏｂｌｏｃｋ  Ａｄａｐｔｉｖｅ  Ｆｒａｍｅ  Ｆｉｅｌｄ  Ｃｏｄｉｎｇ）では、縦に隣接する２つのＭＢをペア（以下、ＭＢペアという。）とし、１６画素×３２ラインごとにフィールド符号化とフレーム符号化を切り替えて符号化する。フィールド符号化とフレーム符号化のときのＭＢペアを図３７に示す。図３７（ａ）はフィールド符号化のときのＭＢペアである。３２ラインの画素のうち、奇数ラインでトップフィールドＭＢ７２を構成し、偶数ラインでボトムフィールドＭＢ７３を構成する。また、図３７（ｂ）はフレーム符号化のときのＭＢペアである。３２ラインのうち、上半分の１６ラインで上フレームＭＢ７４を構成し、下半分の１６ラインで下フレームＭＢ７５を構成する。トップフィールドＭＢ７２とボトムフィールドＭＢ７３はお互いに隣接ＭＢの関係にないが、上フレームＭＢ７４は下フレームＭＢ７５に対して上隣接ＭＢの関係にある。このため、フレーム符号化が選択された場合、下フレームＭＢ７５のＰＭＶは上フレームＭＢ７４のイントラ／インター判定結果を考慮して決定しなければならないという制限がある。また、下フレームＭＢ７５のイントラ予測は上フレームＭＢ７４の再生画素を用いるため、上フレームＭＢ７４について動き補償が行われ、再生画素が作成されなければ、下フレームＭＢ７５についてイントラ予測を行うことができないという制限がある。
【０１２３】
現ＭＢペアと左隣接ＭＢペアの両方ともフィールド符号化またはフレーム符号化が選択されている場合、現ＭＢペアに含まれる各々のＭＢの左隣接ＭＢはその左隣りに位置するＭＢのみである。しかし、現ＭＢペアと左隣接ＭＢペアのフィールド符号化／フレーム符号化の選択が異なる場合、左隣接ＭＢペアに含まれる両方のＭＢが現ＭＢペアに含まれる個々のＭＢの左隣接ＭＢとなる。現ＭＢペアはフィールド符号化が選択され、左隣接ＭＢペアはフレーム符号化が選択された場合を図３８（ａ）に示す。トップフィールドＭＢ７２の左隣接ＭＢには左隣接ＭＢペアに含まれる上フレームＭＢの奇数ライン７６と下フレームＭＢの奇数ライン７７が対応し、ボトムフィールドＭＢ７３の左隣接ＭＢには、上フレームＭＢの偶数ラインと下フレームＭＢの偶数ラインが対応する。また、現ＭＢペアはフレーム符号化が選択され、左隣接ＭＢペアはフィールド符号化が選択された場合を図３８（ｂ）に示す。上フレームＭＢ７４の左隣接ＭＢにはトップフィールドＭＢの上半分１６ライン７８とボトムフィールドＭＢの上半分１６ライン７９が対応し、下フレームＭＢ７５の左隣接ＭＢにはトップフィールドＭＢの下半分１６ラインとボトムフィールドＭＢの下半分１６ラインが対応する。このため、左隣接ＭＢペアに含まれる両方のＭＢについて動き補償が行われ、再生画素が算出されなければ、現ＭＢペアについてイントラ予測を行うことができないという制限がある。
【０１２４】
本実施例では、ＭＢＡＦＦの場合に、縦に連続する８のＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、縦に連続する２つのＭＢ行当たり１つのＭＢペアを選択し、これら選択された４個のＭＢペアを１個のＭＢパイプラインに投入する例を示す。図３９は、本発明が適用されるＭＢペアの１例を示す図である。ピクチャは図７のものと同一であるが、上述した通りＭＢＡＦＦではＭＢペアがフィールド符号化されるかフレーム符号化されるかにより、２つのＭＢへのラインの割り当てが異なる。そこで、英字の大文字を用いてＭＢペアを構成するＭＢを示す。フィールド符号化のときは、Ｉ１５、Ｋ１３、Ｍ１１、Ｏ９等はトップフィールドＭＢ７２であり、Ｊ１５、Ｌ１３、Ｎ１１、Ｐ９等はボトムフィールドＭＢ７３である。また、フレーム符号化のときは、Ｉ１５、Ｋ１３、Ｍ１１、Ｏ９等は上フレームＭＢ７４であり、Ｊ１５、Ｌ１３、Ｎ１１、Ｐ９等は下フレームＭＢ７５である。
【０１２５】
図４０は本発明が適用される動画像符号化装置のブロック図を示す。ＭＢペア選択回路８１は、例えば、図３９に示すようにｉ−ＭＢ行、ｊ−ＭＢ行、ｋ−ＭＢ行、ｌ−ＭＢ行、ｍ−ＭＢ行、ｎ−ＭＢ行、ｏ−ＭＢ行、ｐ−ＭＢ行をひとまとまりとし、ｉ−ＭＢ行とｊ−ＭＢ行に属するＭＢペアについては、左下隣接ＭＢペアがまだ選択されていないＭＢペアを選択し、かつ、ｋ−ＭＢ行とｌ−ＭＢ行、ｍ−ＭＢ行とｎ−ＭＢ行、ｏ−ＭＢ行とｐ−ＭＢ行に属するＭＢペアについては、右上隣接ＭＢペアが既に選択されているＭＢペアを選択することによって、Ｉ１５−Ｊ１５、Ｋ１３−Ｌ１３、Ｍ１１−Ｎ１１、Ｏ９−Ｐ９のＭＢペアを選択する。フィールドＭＢペア／フレームＭＢペア構成回路８２は、フィールド符号化が選択されたときは、ＭＢペアの奇数ラインでトップフィールドＭＢ７２を構成し、ＭＢペアの偶数ラインでボトムフィールドＭＢ７３を構成する。一方、フレーム符号化が選択されたときは、ＭＢペアの上半分のラインで上フレームＭＢ７４を構成し、ＭＢペアの下半分のラインで下フレームＭＢ７５を構成する。符号化データ設定回路８３は、フィールド符号化が選択されたとき、最初に、Ｉ１５−Ｊ１５、Ｋ１３−Ｌ１３、Ｍ１１−Ｎ１１、Ｏ９−Ｐ９のＭＢペアに含まれる片方のＭＢについて、４ＭＢサイクルかけて順番に、１ＭＢサイクルごとに個々のＭＢを符号化するために必要なデータをＭＢパイプライン８０に設定する。ＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定されると、そのＭＢはＭＢパイプライン８０に投入される。そして、２回目にＩ１５−Ｊ１５、Ｋ１３−Ｌ１３、Ｍ１１−Ｎ１１、Ｏ９−Ｐ９のＭＢペアに含まれる残りの片方のＭＢについて、４ＭＢサイクルかけて順番に、１ＭＢサイクルごとに個々のＭＢを符号化するために必要なデータをＭＢパイプライン８０に設定する。ＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定されると、そのＭＢはＭＢパイプライン８０に投入される。また、フレーム符号化が選択されたとき、Ｉ１５ＭＢ、Ｋ１３ＭＢ、Ｍ１１ＭＢ、Ｏ９ＭＢ、Ｊ１５ＭＢ、Ｌ１３ＭＢ、Ｎ１１ＭＢ、Ｐ９ＭＢの順番で、１マクロブロックサイクルごとに個々のＭＢを符号化するために必要なデータをＭＢパイプライン８０に設定する。ＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定されると、そのＭＢはＭＢパイプライン８０に投入される。ＭＢペア選択回路８１によって選択された最後のＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定され、そのＭＢがＭＢパイプライン８０に投入されると、ＭＢペア選択回路８１は、Ｉ１６−Ｊ１６、Ｋ１４−Ｌ１４、Ｍ１２−Ｎ１２、Ｏ１０−Ｐ１０のＭＢペアを新たに選択する。
【０１２６】
図４１は本発明が適用される動画像符号化方法の処理のフローチャートを示す。例えば、図３９に示すようにｉ−ＭＢ行、ｊ−ＭＢ行、ｋ−ＭＢ行、ｌ−ＭＢ行、ｍ−ＭＢ行、ｎ−ＭＢ行、ｏ−ＭＢ行、ｐ−ＭＢ行をひとまとまりとし、ｉ−ＭＢ行とｊ−ＭＢ行に属するＭＢペアについては、左下隣接ＭＢペアがまだ選択されていないＭＢペアを選択し、かつ、ｋ−ＭＢ行とｌ−ＭＢ行、ｍ−ＭＢ行とｎ−ＭＢ行、ｏ−ＭＢ行とｐ−ＭＢ行に属するＭＢペアについては、右上隣接ＭＢペアが既に選択されているＭＢペアを選択することによって、Ｉ１５−Ｊ１５、Ｋ１３−Ｌ１３、Ｍ１１−Ｎ１１、Ｏ９−Ｐ９のＭＢペアが選択される（ステップＳ１４）。次に、フィールド符号化が選択されたときは、ＭＢペアの奇数ラインでトップフィールドＭＢ７２が構成され、ＭＢペアの偶数ラインでボトムフィールドＭＢ７３が構成される。一方、フレーム符号化が選択されたときは、ＭＢペアの上半分のラインで上フレームＭＢ７４が構成され、ＭＢペアの下半分のラインで下フレームＭＢ７５が構成される（ステップＳ１５、ステップＳ１６、ステップＳ２３）。そして、フィールド符号化が選択されたとき、最初に、Ｉ１５−Ｊ１５、Ｋ１３−Ｌ１３、Ｍ１１−Ｎ１１、Ｏ９−Ｐ９のＭＢペアに含まれる片方のＭＢについて、４ＭＢサイクルかけて順番に、１ＭＢサイクルごとに個々のＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定される（ステップＳ１７、ステップＳ１８、ステップＳ１９）。ＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定されると、そのＭＢはＭＢパイプライン８０に投入される。次に、Ｉ１５−Ｊ１５、Ｋ１３−Ｌ１３、Ｍ１１−Ｎ１１、Ｏ９−Ｐ９のＭＢペアに含まれる残りの片方のＭＢについて、４ＭＢサイクルかけて順番に、１ＭＢサイクルごとに個々のＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定される（ステップＳ２０、ステップＳ２１、ステップＳ２２）。ＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定されると、そのＭＢはＭＢパイプライン８０に投入される。また、フレーム符号化が選択されたとき、Ｉ１５ＭＢ、Ｋ１３ＭＢ、Ｍ１１ＭＢ、Ｏ９ＭＢ、Ｊ１５ＭＢ、Ｌ１３ＭＢ、Ｎ１１ＭＢ、Ｐ９ＭＢの順番で、１ＭＢサイクルごとに個々のＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定される（ステップＳ２４、ステップＳ２５、ステップＳ２６、ステップＳ２７、ステップＳ２８、ステップＳ２９）。ＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定されると、そのＭＢはＭＢパイプライン８０に投入される。選択された最後のＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定され、そのＭＢがＭＢパイプライン８０に投入されると、ステップＳ１４に戻り（ステップＳ２１、ステップＳ２８）、Ｉ１６−Ｊ１６、Ｋ１４−Ｌ１４、Ｍ１２−Ｎ１２、Ｏ１０−Ｐ１０のＭＢペアが新たに選択される（ステップＳ１４）。
【０１２７】
図４２は、８×８ＳＢごとの動きベクトルを検出するために、８つのＭＢ行に含まれるＭＢペアを１個のＭＢパイプラインに投入したとき、各ＭＢペアがＭＢパイプラインの各ステージを流れていく様子を示す。ここで、フィールド画像は縦方向の画素数がフレーム画像の半分であるため、縮小画像を作成するために縦方向について２画素の画素値を平均すると、フィールド画像とフレーム画像では異なる縮小画像となる。一方、縦単画素／横２画素精度の縮小画像では、フレームの縮小画像から奇数ラインを抜き出すとトップフィールドの縮小画像となり、フレームの縮小画像から偶数ラインを抜き出すとボトムフィールドの縮小画像となる。このため、本実施例では、図４２に示すように、ステージ０で縦単画素／横２画素精度の参照領域をメモリに設定し、ステージ１では縦単画素／横２画素精度で動き検出を行う。
【０１２８】
また、本実施例では、Ｉ１５、Ｋ１３、Ｍ１１、Ｏ９等のＭＢペアの片方のＭＢが４つ連続してＭＢパイプラインに投入された後、Ｊ１５、Ｌ１３、Ｎ１１、Ｐ９等のＭＢペアの残りの片方のＭＢが４つ連続して投入される。このように、ＭＢペアの片方のＭＢが連続してＭＢパイプラインに投入されるため、その順番で動きベクトルの参照領域を更新すると、更新領域が不連続となる。そこで、ステージ０で縦単画素／横２画素精度メモリを設定するときは、図２２に示すように、８つのＭＢ行の更新領域をひとまとまりの矩形領域として設定する。
【０１２９】
また、フィールド符号化とフレーム符号化のいずれかを選択するには、フィールド符号化とフレーム符号化の各々についてイントラ予測とインター予測の両方を行い、予測誤差の小さい符号化モードと予測モードの組合せを選択することが望ましい。しかし、この方法は膨大な演算量を必要とする。一方、現ＭＢペア内の画素のみで符号化モードを判定し、選択された方のみについてイントラ予測とインター予測を行う簡易的な選択法も考えられる。たとえば、３２ライン全てについて隣接したライン間で差分絶対値和または差分自乗和を求め、また、１ラインごと、すなわち奇数ライン１６本と偶数ライン１６本の隣接ライン間で差分絶対値和または差分自乗和を求めて、３２ライン全てについて求めた方が小さかったときはフレーム符号化、１ラインごとに求めた方が小さかったときはフィールド符号化とする等の方法である。最適な選択とはならない場合もあるが、演算量は少ない。本実施例では、簡易的な選択法を用いることとし、ステージ０でフィールド／フレーム判定を行った後、選択された符号化モードについて、図４２に示すようにステージ１〜４でインター予測を行い、また、それと並列してステージ３と４で４×４イントラ予測、１６×１６イントラ予測等を行う。
【０１３０】
本実施例では、実施例２〜４と同様に縦に連続した８のＭＢ行をひとまとまりとして処理する。しかし、上記段落０１２２で指摘したように、フレーム符号化が選択された場合、上フレームＭＢ７４は下フレームＭＢ７５に対して上隣接ＭＢの関係にある。また、上記段落０１２３で指摘したように、現ＭＢペアと左隣接ＭＢペアのフィールド符号化／フレーム符号化の選択が異なる場合、左隣接ＭＢペアに含まれる両方のＭＢが現ＭＢペアに含まれる個々のＭＢの左隣接ＭＢとなる。このため、上フレームＭＢ７４の処理結果を３ステージ分しか下フレームＭＢ７５の処理にフィードバックできず、また、左隣接ＭＢペアの処理結果を３ステージ分しか現ＭＢペアの処理にフィードバックできず、縦に連続した４つのＭＢ行をひとまとまりとして処理する実施例５と同様の制限が生じる。
【０１３１】
具体的には、例えば、ステージ５でＩ１５ＭＢのイントラ・インター判定が終了したとき、同時にステージ１においてＪ１５ＭＢの縦単画素／横２画素精度動き検出も終了する。このため上フレームＭＢ７４のイントラ・インター判定結果を下フレームＭＢ７５の縦単画素／横２画素精度動き検出に反映できないという制限がある。ただし、図４２中に矢印で示すように、上フレームＭＢ７４のイントラ・インター判定結果はステージ２以降に反映できる。また、左隣接ＭＢペア、上隣接ＭＢペア、右上隣接ＭＢペア等についてステージ５で確定したイントラ・インター判定結果はステージ１の縦単画素／横２画素精度動き検出に反映できる。そこで、ステージ１においては、左隣接ＭＢペア、上隣接ＭＢペア、右上隣接ＭＢペア等の動きベクトルを参照して仮のＰＭＶを作成し、下フレームＭＢ７５内の４つの８×８ＳＢ全てが共通にこの仮のＰＭＶを参照して縦単画素／横２画素精度動き検出を行う。そして、ステージ２ではステージ１で検出された縦単画素／横２画素精度の候補動きベクトルの周辺領域を単画素精度メモリに設定し、ステージ３で真のＰＭＶを作成し、ステージ３とステージ４で真のＰＭＶを参照して単画素精度動き検出と１／４画素精度動き検出を行う。
【０１３２】
図４３はステージ３と４におけるＳＢパイプラインの詳細な動作を示す。１つのＭＢ内に含まれる４つの８×８ＳＢについて０番から３番までシリアルに処理される。このため、単画素精度動き検出と１／４画素精度動き検出では隣接８×８ＳＢの動きベクトルを考慮した真のＰＭＶに基づいて動き検出を行うことができる。
【０１３３】
ただし、本実施例では、空間ダイレクトアドレスの評価が別途必要となる。ステージ１で仮のＰＭＶに基づいて縦単画素／横２画素精度動き検出が行われ、ステージ２ではステージ１で検出された候補動きベクトルの周辺領域が単画素精度メモリに設定される。ステージ１の仮のＰＭＶとステージ３の真のＰＭＶが異なる場合、ステージ３と４で動き検出する領域に空間ダイレクトアドレスに対応する位置のＭＢや８×８ＳＢ等が含まれない場合がある。そこで、ステージ３およびステージ４と並列に空間ダイレクトアドレスに対応する位置のＭＢや８×８ＳＢのコストを評価する処理を行う必要がある。
【０１３４】
４×４イントラ予測のために、８つのＭＢ行に含まれるＭＢペアを１個のＭＢパイプラインに投入したとき、個々のＭＢペアがＭＢパイプラインの各ステージを流れていく様子を図４４に示す。また、図４５はステージ３と４におけるＳＢパイプラインの詳細な動作を示す。ここで、上記段落０１２２と段落０１２３で指摘した条件を満たすために、実施例５と同様に動き補償はステージ６で行われる。すなわち、上フレームＭＢ７４について動き補償が行われた後に下フレームＭＢ７５についてイントラ予測が行われ、かつ、左隣接ＭＢペアに含まれる両方のＭＢについて動き補償が行われた後に現ＭＢペアについてイントラ予測が行われるという条件を満たすために、動き補償はステージ６で行われる。
【０１３５】
また、ステージ７の可変長符号化による発生符号量の変動を調整するため、量子化パラメータを変更するというレート制御をステージ８で行う必要が生じる場合がある。この場合、実施例５と同様に、ステージ５のイントラ・インター判定において４×４イントラ予測モードを選択しないようにするか、または４×４イントラ予測モードが選択されたときはステージ６で新しい量子化パラメータを用いて整数変換・量子化・逆量子化・逆整数変換をやり直す必要がある。
【０１３６】
なお、本実施例で示したＭＢパイプラインのステージ構成は一例であって、他のステージ構成とすることも可能である。そして、ステージ構成が変われば、ひとまとまりとして符号化する縦に連続する複数のＭＢ行の数が同じであっても、動き検出やイントラ予測等における制約は変わる。
【０１３７】
また、本実施例に記載された発明と実施例６〜実施例１２に記載された発明を同時に動画像符号化装置に適用することも可能である。
【産業上の利用可能性】
【０１３８】
本発明は、ハードウェアの動画像符号化装置の分野で利用価値が高い。
【図面の簡単な説明】
【０１３９】
【図１】ＭＢパイプラインに連続して投入されるＭＢの例を示した説明図である。（実施例１）
【図２】本発明が適用される動画像符号化装置のブロック図である。（実施例１）
【図３】本発明が適用される動画像符号化方法の処理のフローチャートである。（実施例１）
【図４】図１に例示される４個のＭＢを１個のＭＢパイプラインに連続して投入したときに、各ＭＢがＭＢパイプラインの各ステージを流れていく様子を示した説明図である。（実施例１）
【図５】図１のピクチャを構成する各ＭＢがＭＢパイプラインに投入され、ステージ０の処理が開始されるＭＢサイクル番号を示した説明図である。（実施例１）
【図６】８画素×８画素の４つのＳＢに分割されたＭＢを示した説明図である。（実施例２）
【図７】ＭＢパイプラインに連続して投入されるＭＢの例を示した説明図である。（実施例２）
【図８】８画素×８画素ＳＢごとの動きベクトルを検出するために、８つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢが各ステージを流れていく様子を示した説明図である。（実施例２）
【図９】本発明が適用される動きベクトル検出回路のブロック図である。（実施例２）
【図１０】８画素×８画素ＳＢごとの動きベクトルを検出するためのＳＢパイプラインの詳細な動作を示した説明図である。（実施例２）
【図１１】８画素×８画素ＳＢごとの動きベクトルを検出するためのＳＢパイプラインの詳細な動作を示した説明図である。（実施例３）
【図１２】本発明が適用される動きベクトル検出回路のブロック図である。（実施例３）
【図１３】１６個の４画素×４画素ＳＢに分割されたＭＢを示した説明図である。（実施例４）
【図１４】４画素×４画素イントラ予測のために、８つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢが各ステージを流れていく様子を示した説明図である。（実施例４）
【図１５】４画素×４画素イントラ予測のためのＳＢパイプラインの詳細な動作を示した説明図である。（実施例４）
【図１６】８×８ＳＢごとの動きベクトルを検出するために、４つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢがＭＢパイプラインの各ステージを流れていく様子を示した説明図である。（実施例５）
【図１７】８画素×８画素ＳＢごとの動きベクトルを検出するためのＳＢパイプラインの詳細な動作を示した説明図である。（実施例５）
【図１８】４画素×４画素イントラ予測のために、４つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢが各ステージを流れていく様子を示した説明図である。（実施例５）
【図１９】４画素×４画素イントラ予測のためのＳＢパイプラインの詳細な動作を示した説明図である。（実施例５）
【図２０】内部メモリを有する動画像符号化装置のブロック図である。（実施例６）
【図２１】縦に連続する４つのＭＢ行に含まれる４個のＭＢを１個のＭＢパイプラインで処理する場合の参照領域を示した説明図である。（実施例６）
【図２２】参照領域用メモリに参照領域を記憶するもう一つの方法を示した説明図である。（実施例６）
【図２３】広い範囲で動きを検出できる動き検出装置と、本発明が適用されたＭＢパイプラインを含む動画像符号化装置の組み合わせを示した説明図である。（実施例７）
【図２４】２つの動画像符号化装置と内部メモリを有する並列動画像符号化装置のブロック図である。（実施例８）
【図２５】２つの動画像符号化装置が分担するピクチャの領域を示した説明図である。（実施例８）
【図２６】２つの動画像符号化装置に含まれるＭＢパイプラインの各ステージをＭＢが流れていく様子を示した説明図である。（実施例８）
【図２７】推定発生符号量に基づいてレート制御を行うＣＡＢＡＣ符号化器のブロック図である。（実施例９）
【図２８】コンテクスト情報復元回路の処理フローを示す図である。（実施例９）
【図２９】仮の発生符号量に基づいてレート制御を行うＣＡＢＡＣ符号化器のブロック図である。（実施例１０）
【図３０】縦に連続する４つのＭＢ行をひとまとまりとして符号化を行う場合の仮算術符号化回路のブロック図である。（実施例１０）
【図３１】仮算術符号化回路においてＭＢ行内の先頭のＭＢについて仮のｒａｎｇｅ、ｌｏｗ、および確率テーブルを設定する方法の一つを説明する図である。（実施例１０）
【図３２】２並列で仮算術符号化を行う場合の仮算術符号化回路のブロック図である。（実施例１０）
【図３３】２並列で仮算術符号化を行う場合にＭＢがＭＢパイプラインの各ステージを流れていく様子を示した説明図である。（実施例１０）
【図３４】ＣＡＶＬＣで圧縮する場合のＣＡＢＡＣ符号化器のブロック図である。（実施例１１）
【図３５】２つの動画像符号化装置で構成される並列動画像符号化装置から２値化シンボルを出力し、ＣＡＢＡＣで符号化された１本のビットストリームを生成する並列動画像符号化装置のブロック図である。（実施例１２）
【図３６】２つの動画像符号化装置で構成される並列動画像符号化装置からＣＡＶＬＣ符号化ビットストリームを出力し、ＣＡＢＡＣで符号化された１本のビットストリームを生成する並列動画像符号化装置のブロック図である。（実施例１２）
【図３７】フィールド符号化が選択されたときのＭＢペアとフレーム符号化が選択されたときのＭＢペアを示した説明図である。（実施例１３）
【図３８】現ＭＢペアはフィールド符号化が選択され、左隣接ＭＢペアはフレーム符号化が選択された場合の左隣接ＭＢペアと、現ＭＢペアはフレーム符号化が選択され、左隣接ＭＢペアはフィールド符号化が選択された場合の左隣接ＭＢペアを示した説明図である。（実施例１３）
【図３９】ＭＢパイプラインに投入されるＭＢペアの例を示した説明図である。（実施例１３）
【図４０】本発明が適用される動画像符号化装置のブロック図である。（実施例１３）
【図４１】本発明が適用される動画像符号化方法の処理のフローチャートである。（実施例１３）
【図４２】８画素×８画素ＳＢごとの動きベクトルを検出するために、８つのＭＢ行に含まれるＭＢペアを１個のＭＢパイプラインに投入したとき、各ＭＢペアが各ステージを流れていく様子を示した説明図である。（実施例１３）
【図４３】８画素×８画素ＳＢごとの動きベクトルを検出するためのＳＢパイプラインの詳細な動作を示した説明図である。（実施例１３）
【図４４】４画素×４画素イントラ予測のために、８つのＭＢ行に含まれるＭＢペアを１個のＭＢパイプラインに投入したとき、各ＭＢペアがＭＢパイプラインの各ステージを流れていく様子を示した説明図である。（実施例１３）
【図４５】４画素×４画素イントラ予測のためのＳＢパイプラインの詳細な動作を示した説明図である。（実施例１３）
【図４６】ＭＰＥＧ−２の符号化器のブロック図である。（背景技術）
【図４７】Ｈ．２６４の符号化器のブロック図である。（背景技術）
【図４８】従来のＨ．２６４の符号化器のＭＢパイプラインにおいて、ＭＢがＭＢパイプラインの各ステージを流れていく様子を示した説明図である。（背景技術）
【図４９】従来の動きベクトル検出器の構成を示したブロック図である。（背景技術）
【図５０】隣接する２つのＭＢの参照領域の例を示した説明図である。（背景技術）
【図５１】ピクチャ分割方法を示した説明図である。（背景技術）
【図５２】ＣＡＢＡＣ符号化器のブロック図である。（背景技術）
【図５３】算術符号化回路の処理内容を表すBiari_encode_symbol処理フローである。（背景技術）
【図５４】ｓｙｍｂｏｌがＬＰＳであるときのｒａｎｇｅとｌｏｗの変化と、ｓｙｍｂｏｌがＭＰＳであるときのｒａｎｇｅとｌｏｗの変化を示した説明図である。（背景技術）
【符号の説明】
【０１４０】
１    ＭＢパイプライン
２    ＭＢ選択回路
３    符号化データ設定回路
４    外部メモリ
５    ２画素精度画像作成回路
６    ２画素精度メモリ
７    ２画素精度動き検出回路
８    単画素精度メモリ
９    単画素精度動き検出回路
１０    １／４画素精度画像作成回路
１１    １／４画素精度動き検出回路
１２    動きベクトル検出回路
１３    動きベクトル検出回路
１４    参照領域用メモリ
１５    バッファメモリ
１６    動き検出部
１７    動き補償部
１８    イントラ予測部
１９    整数変換・量子化・逆量子化・逆整数変換部
２０    可変長符号化部
２１    デブロッキングフィルタ部
２２    制御部
２３    動画像符号化装置
２４、２５、２６、２７    ＭＢ
２８、２９、３０、３１    参照領域
３２、３３、３４、３５    更新領域
３６    参照領域２８、２９、３０、３４を全て含む矩形の領域
３７    更新領域
３８    動き検出装置
３９    内部メモリ
４０、４１    動画像符号化装置
４２    並列動画像符号化装置
４３    ２値化回路
４４    発生符号量推定回路
４５    ２値化シンボル記憶回路
４６    算術符号化回路
４７    コンテクスト情報復元回路
４８    仮算術符号化回路
４９    仮算術符号化回路内のコンテクスト計算部分
５０    仮算術符号化回路内の算術符号化部分
５１〜５４    仮算術符号化回路内のｒａｎｇｅを記憶する部分
５５〜５８    仮算術符号化回路内のｌｏｗを記憶する部分
５９〜６２    仮算術符号化回路内の確率テーブル
６３、６５    ２値化シンボルを２ＭＢサイクル保持するためのメモリ
６４、６６    シンタックッスデータを２ＭＢサイクル保持するためのメモリ
６７    セレクタ
６８    ２並列で仮算術符号化を行う仮算術符号化回路
６９    ＣＡＶＬＣ符号化回路
７０    ＣＡＶＬＣ符号化ビットストリーム記憶回路
７１    ＣＡＶＬＣ復号回路
７２    トップフィールドＭＢ
７３    ボトムフィールドＭＢ
７４    上フレームＭＢ
７５    下フレームＭＢ
７６    上フレームＭＢ奇数ライン
７７    下フレームＭＢ奇数ライン
７８    トップフィールドＭＢ上半分１６ライン
７９    ボトムフィールドＭＢ上半分１６ライン
８０    ＭＢパイプライン
８１    ＭＢペア選択回路
８２    フィールドＭＢペア／フレームＭＢペア構成回路
８３    符号化データ設定回路
８４    ＤＣＴ
８５    量子化
８６    逆量子化
８７    逆ＤＣＴ
８８    フレームメモリ
８９    動き補償
９０    動き検出
９１    可変長符号化
９２    レート制御
９３    整数変換
９４    量子化
９５    逆量子化
９６    逆整数変換
９７    イントラ予測
９８    デブロッキングフィルタ
９９    フレームメモリ
１００    動き補償
１０１    動き検出
１０２    可変長符号化
１０３    レート制御
１０４    内部メモリ
１０５    動き検出回路
１０６    動き検出器
１０７、１０８    ＭＢ
１０９、１１０    参照領域
１１１    更新領域
１１２    ２値化回路
１１３    コンテクスト計算回路
１１４    算術符号化回路
１１５    確率テーブル
【図１】
2007312340.tif 000003
【図２】
2007312340.tif 000004
【図３】
2007312340.tif 000005
【図４】
2007312340.tif 000006
【図５】
2007312340.tif 000007
【図６】
2007312340.tif 000008
【図７】
2007312340.tif 000009
【図８】
2007312340.tif 000010
【図９】
2007312340.tif 000011
【図１０】
2007312340.tif 000012
【図１１】
2007312340.tif 000013
【図１２】
2007312340.tif 000014
【図１３】
2007312340.tif 000015
【図１４】
2007312340.tif 000016
【図１５】
2007312340.tif 000017
【図１６】
2007312340.tif 000018
【図１７】
2007312340.tif 000019
【図１８】
2007312340.tif 000020
【図１９】
2007312340.tif 000021
【図２０】
2007312340.tif 000022
【図２１】
2007312340.tif 000023
【図２２】
2007312340.tif 000024
【図２３】
2007312340.tif 000025
【図２４】
2007312340.tif 000026
【図２５】
2007312340.tif 000027
【図２６】
2007312340.tif 000028
【図２７】
2007312340.tif 000029
【図２８】
2007312340.tif 000030
【図２９】
2007312340.tif 000031
【図３０】
2007312340.tif 000032
【図３１】
2007312340.tif 000033
【図３２】
2007312340.tif 000034
【図３３】
2007312340.tif 000035
【図３４】
2007312340.tif 000036
【図３５】
2007312340.tif 000037
【図３６】
2007312340.tif 000038
【図３７】
2007312340.tif 000039
【図３８】
2007312340.tif 000040
【図３９】
2007312340.tif 000041
【図４０】
2007312340.tif 000042
【図４１】
2007312340.tif 000043
【図４２】
2007312340.tif 000044
【図４３】
2007312340.tif 000045
【図４４】
2007312340.tif 000046
【図４５】
2007312340.tif 000047
【図４６】
2007312340.tif 000048
【図４７】
2007312340.tif 000049
【図４８】
2007312340.tif 000050
【図４９】
2007312340.tif 000051
【図５０】
2007312340.tif 000052
【図５１】
2007312340.tif 000053
【図５２】
2007312340.tif 000054
【図５３】
2007312340.tif 000055
【図５４】
2007312340.tif 000056
【手続補正書】
【提出日】平成18年5月26日(2006.5.26)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０１０６
【補正方法】変更
【補正の内容】
【０１０６】
ＭＢ行内の先頭のＭＢでは、通常上に隣り合うＭＢ行内の最後のＭＢの算術符号化が終えたときのｒａｎｇｅ、ｌｏｗ、および確率テーブルを引き継いで算術符号化を行う。しかし、本発明では縦に連続する複数のＭＢ行をひとまとまりとして符号化を進めるため、ＭＢ行内の先頭のＭＢを符号化するとき上に隣り合うＭＢ行内の最後のＭＢは符号化が終わっていない。このため、縦に連続するひとまとまりのＭＢ行の符号化が終了するまで、上に隣り合うＭＢ行内の最後のＭＢの算術符号化が終えたときのｒａｎｇｅ、ｌｏｗ、および確率テーブルを引き継いで算術符号化を行うことができない。そこで、ＭＢ行内の先頭のＭＢについては仮の値をｒａｎｇｅ、ｌｏｗ、および確率テーブルに設定して仮算術符号化を開始する。
【手続補正書】
【提出日】平成19年4月1日(2007.4.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
縦に連続する少なくても２行のマクロブロック行をひとまとまりとして符号化を行う動画像符号化装置であって、
動画像符号化の処理を複数のステージに分割して行うマクロブロックパイプラインを有し、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックが前記マクロブロックパイプラインに投入されると、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始し、
上に隣接したマクロブロック行に含まれるマクロブロックの符号化が開始されてから１マクロブロックサイクル後に、下に隣接したマクロブロック行に含まれるマクロブロックであって、前記上に隣接したマクロブロック行に含まれるマクロブロックより左方向に１マクロブロック以上離れているマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始することが、前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行から最も下のマクロブロック行まで繰り返される
動画像符号化装置。
【請求項２】
動画像符号化の処理を複数のステージに分割して行うマクロブロックパイプラインと、
縦に連続するｍ行（ｍは２以上の整数）のマクロブロック行をひとまとまりとし、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックについては、左下隣接マクロブロックがまだ選択されていないマクロブロックを選択し、かつ、前記ひとまとまりのマクロブロック行の中の最も上以外のマクロブロック行に属するマクロブロックについては、右上隣接マクロブロックが既に選択されているマクロブロックを選択することによって、前記ひとまとまりのマクロブロック行に含まれるマクロブロックを１マクロブロック行当たり１個選択するマクロブロック選択部と、
前記マクロブロック選択部によって選択された個々のマクロブロックについて、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックから、最も下のマクロブロック行に属するマクロブロックまで、ｍマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックを符号化するために必要なデータを前記マクロブロックパイプラインに設定する符号化データ設定部と
を有し、
前記符号化データ設定部によってマクロブロックを符号化するために必要な前記データが設定されると、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始し、
前記符号化データ設定部によって前記ひとまとまりのマクロブロック行の中の最も下のマクロブロック行に属するマクロブロックを符号化するために必要な前記データが前記マクロブロックパイプラインに設定されると、前記マクロブロック選択部が前記選択されている個々のマクロブロックごとにその右隣接マクロブロックを新たに選択する
動画像符号化装置。
【請求項３】
縦に連続する２ｎ行（ｎは２以上の整数）のマクロブロック行をひとまとまりとし、縦に隣接する２個のマクロブロックを組み合わせてマクロブロックペアとしてマクロブロックペアごとにフィールド符号化とフレーム符号化を切り替えて符号化する動画像符号化装置であって、
動画像符号化の処理を複数のステージに分割して行うマクロブロックパイプラインを有し、
前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入されると、前記マクロブロックパイプラインが当該片方のマクロブロックの符号化を開始し、
上に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれるマクロブロックの片方の符号化が開始されてから１マクロブロックサイクル後に、下に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックであって、前記上に隣接した２行のマクロブロック行に属するマクロブロックペアより左方向に１マクロブロック以上離れているマクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該片方のマクロブロックの符号化を開始することが、前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行まで繰り返され、
前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアに含まれるマクロブロックのうち最初に符号化を開始されなかった他の片方のマクロブロックが前記マクロブロックパイプラインに投入されると、前記マクロブロックパイプラインが当該他の片方のマクロブロックの符号化を開始し、
上に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれる他の片方のマクロブロックの符号化が開始されてから１マクロブロックサイクル後に、下に隣接した２行のマクロブロック行に属するマクロブロックペアであって、前記上に隣接した２行のマクロブロック行に属するマクロブロックペアより左方向に１マクロブロック以上離れている前記マクロブロックペアに含まれるマクロブロックのうち最初に符号化を開始されなかった他の片方のマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該他の片方のマクロブロックの符号化を開始することが、前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行まで繰り返される
動画像符号化装置。
【請求項４】
縦に隣接する２個のマクロブロックを組み合わせてマクロブロックペアとし、マクロブロックペアごとにフィールド符号化とフレーム符号化を切り替えて符号化する動画像符号化装置であって、
動画像符号化の処理を複数のステージに分割して行うマクロブロックパイプラインと、
縦に連続する２ｎ行（ｎは２以上の整数）のマクロブロック行をひとまとまりとし、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアについては、左下隣接マクロブロックペアがまだ選択されていないマクロブロックペアを選択し、かつ、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行以外のマクロブロック行に属するマクロブロックペアについては、右上隣接マクロブロックペアが既に選択されているマクロブロックペアを選択することによって、前記ひとまとまりのマクロブロック行に含まれるマクロブロックペアを２マクロブロック行当たり１個選択するマクロブロックペア選択部と、
前記マクロブロックペア選択部によって選択されたマクロブロックペアについて、フィールド符号化が選択されたときは、マクロブロックペアの奇数ラインでトップフィールドマクロブロックを構成し、マクロブロックペアの偶数ラインでボトムフィールドマクロブロックを構成し、フレーム符号化が選択されたときは、マクロブロックペアの上半分のラインで上フレームマクロブロックを構成し、マクロブロックペアの下半分のラインで下フレームマクロブロックを構成するフィールドマクロブロックペア・フレームマクロブロックペア構成部と、
前記マクロブロックペア選択部によって選択されたマクロブロックペアについて、フィールド符号化が選択されたときは、最初に、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２行のマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれるマクロブロックの片方を符号化するために必要なデータを前記マクロブロックパイプラインに設定し、２回目に、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２行のマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれるマクロブロックのうち最初に設定されなかった他の片方を符号化するために必要なデータを前記マクロブロックパイプラインに設定し、一方、フレーム符号化が選択されたときは、最初に、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２行のマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれる上フレームマクロブロックを符号化するために必要なデータを前記マクロブロックパイプラインに設定し、２回目に、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２行のマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれる下フレームマクロブロックを符号化するために必要なデータを前記マクロブロックパイプラインに設定する符号化データ設定部と
を有し、
前記符号化データ設定部によってマクロブロックを符号化するために必要な前記データが設定されると、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始し、
前記符号化データ設定部によって、２回目に、前記ひとまとまりのマクロブロック行の中の最も下に位置する２行のマクロブロック行に属するマクロブロックペアに含まれるマクロブロックを符号化するために必要なデータが前記マクロブロックパイプラインに設定されると、前記マクロブロックペア選択部が前記選択されている個々のマクロブロックペアごとにその右隣接マクロブロックペアを新たに選択する
動画像符号化装置。
【請求項５】
前記マクロブロックパイプラインにおける一部のステージで、マクロブロックサイクルがサブブロックサイクルに分割されてサブブロックパイプラインが形成され、サブブロックごとの処理が行われる
請求項１から請求項４までのいずれか１項に記載の動画像符号化装置。
【請求項６】
前記ひとまとまりのマクロブロック行に含まれるマクロブロックを、各マクロブロック行当たり１個符号化するために必要な全てのデータを記憶する内部メモリ
を有する請求項１から請求項５までのいずれか１項に記載の動画像符号化装置。
【請求項７】
請求項１から請求項６までのいずれか１項に記載された少なくても２台の前記動画像符号化装置を含む動画像符号化装置であって、
ピクチャが前記ひとまとまりのマクロブロック行ごとに分割され、この分割された分割領域ごとに個々の前記動画像符号化装置が割り当てられ、縦に連続した分割領域が少なくても２台の前記動画像符号化装置によって並列に符号化される
動画像符号化装置。
【請求項８】
シンタックスデータを２値化シンボルに変換する２値化部と、
前記２値化シンボルを記憶する２値化シンボル記憶部と、
前記２値化シンボル記憶部から読み出した２値化シンボルに対応するコンテクスト情報を復元するコンテクスト情報復元部と、
前記２値化シンボル記憶部から読み出した２値化シンボルを、前記コンテクスト情報復元部により復元されたコンテクスト情報に基づいて算術符号化する算術符号化部と
を有する請求項１から請求項７までのいずれか１項に記載の動画像符号化装置。
【請求項９】
前記２値化部により変換された２値化シンボルを仮算術符号化して仮発生符号量を算出する仮算術符号化部
を有する請求項８記載の動画像符号化装置。
【請求項１０】
シンタックスデータを可逆圧縮するシンタックスデータ圧縮部と、
前記シンタックスデータ圧縮部により圧縮されたシンタックスデータを記憶する圧縮シンタックスデータ記憶部と、
前記圧縮シンタックスデータ記憶部から前記圧縮されたシンタックスデータを読み出して前記シンタックスデータを復元するシンタックスデータ復元部と、
前記シンタックスデータ復元部により復元された前記シンタックスデータを２値化シンボルに変換する２値化部と、
前記２値化部によって変換された２値化シンボルを算術符号化する算術符号化部と
を有する請求項１から請求項７までのいずれか１項に記載の動画像符号化装置。
【請求項１１】
前記シンタックスデータ圧縮部が、前記シンタックスデータをＣＡＶＬＣで圧縮する
請求項１０に記載の動画像符号化装置。
【請求項１２】
動画像符号化の処理を複数のステージに分割して行うマクロブロックパイプラインを含み、縦に連続する少なくても２行のマクロブロック行をひとまとまりとして符号化を行う動画像符号化装置における動画像符号化方法であって、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックが前記マクロブロックパイプラインに投入されると、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始するステップと、
上に隣接したマクロブロック行に含まれるマクロブロックの符号化が開始されてから１マクロブロックサイクル後に、下に隣接したマクロブロック行に含まれるマクロブロックであって、前記上に隣接したマクロブロック行に含まれるマクロブロックより左方向に１マクロブロック以上離れているマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始することが、前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行から最も下のマクロブロック行まで繰り返されるステップと
を有する動画像符号化方法。
【請求項１３】
動画像符号化の処理を複数のステージに分割して行うマクロブロックパイプラインを含む動画像符号化装置における動画像符号化方法であって、
縦に連続するｍ行（ｍは２以上の整数）のマクロブロック行がひとまとまりとされ、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックについては、左下隣接マクロブロックがまだ選択されていないマクロブロックが選択され、かつ、前記ひとまとまりのマクロブロック行の中の最も上以外のマクロブロック行に属するマクロブロックについては、右上隣接マクロブロックが既に選択されているマクロブロックが選択されることによって、前記ひとまとまりのマクロブロック行に含まれるマクロブロックが１マクロブロック行当たり１個選択される第１のステップと、
前記第１のステップによって選択された個々のマクロブロックについて、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックから、最も下のマクロブロック行に属するマクロブロックまで、ｍマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックを符号化するために必要なデータが前記マクロブロックパイプラインに設定される第２のステップと、
前記第２のステップによってマクロブロックを符号化するために必要な前記データが設定されると、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始する第３のステップと、
前記第２のステップによって前記ひとまとまりのマクロブロック行の中の最も下のマクロブロック行に属するマクロブロックを符号化するために必要なデータが前記マクロブロックパイプラインに設定されると、前記第１のステップに戻り、前記選択されている個々のマクロブロックごとにその右隣接マクロブロックが新たに選択される第４のステップと
を有する動画像符号化方法。
【請求項１４】
動画像符号化の処理を複数のステージに分割して行うマクロブロックパイプラインを含み、縦に連続する２ｎ行（ｎは２以上の整数）のマクロブロック行をひとまとまりとし、縦に隣接する２個のマクロブロックを組み合わせてマクロブロックペアとしてマクロブロックペアごとにフィールド符号化とフレーム符号化を切り替えて符号化する動画像符号化装置における動画像符号化方法であって、
前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該片方のマクロブロックの符号化を開始するステップと、
上に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれるマクロブロックの片方の符号化が開始されてから１マクロブロックサイクル後に、下に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックであって、前記上に隣接した２行のマクロブロック行に属するマクロブロックペアより左方向に１マクロブロック以上離れているマクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該片方のマクロブロックの符号化を開始することが、前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行まで繰り返されるステップと、
前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアに含まれるマクロブロックのうち最初に符号化を開始されなかった他の片方のマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該他の片方のマクロブロックの符号化を開始するステップと、
上に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックの符号化が開始されてから１マクロブロックサイクル後に、下に隣接した２行のマクロブロック行に属するマクロブロックペアであって、前記上に隣接した２行のマクロブロック行に属するマクロブロックペアより左方向に１マクロブロック以上離れている前記マクロブロックペアに含まれるマクロブロックのうち最初に符号化を開始されなかった他の片方のマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該他の片方のマクロブロックの符号化を開始することが、前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行まで繰り返されるステップと
を有する動画像符号化方法。
【請求項１５】
動画像符号化の処理を複数のステージに分割して行うマクロブロックパイプラインを含み、縦に隣接する２個のマクロブロックを組み合わせてマクロブロックペアとし、マクロブロックペアごとにフィールド符号化とフレーム符号化を切り替えて符号化する動画像符号化装置における動画像符号化方法であって、
縦に連続する２ｎ行（ｎは２以上の整数）のマクロブロック行がひとまとまりとされ、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアについては、左下隣接マクロブロックペアがまだ選択されていないマクロブロックペアが選択され、かつ、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行以外のマクロブロック行に属するマクロブロックペアについては、右上隣接マクロブロックペアが既に選択されているマクロブロックペアが選択されることによって、前記ひとまとまりのマクロブロック行に含まれるマクロブロックペアが２マクロブロック行当たり１個選択される第１のステップと、
前記第１のステップによって選択されたマクロブロックペアについて、フィールド符号化が選択されたときは、マクロブロックペアの奇数ラインでトップフィールドマクロブロックが構成され、マクロブロックペアの偶数ラインでボトムフィールドマクロブロックが構成され、フレーム符号化が選択されたときは、マクロブロックペアの上半分のラインで上フレームマクロブロックが構成され、マクロブロックペアの下半分のラインで下フレームマクロブロックが構成される第２のステップと、
前記第１のステップによって選択されたマクロブロックペアについて、フィールド符号化が選択されたときは、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２行のマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれるマクロブロックの片方を符号化するために必要なデータが前記マクロブロックパイプラインに設定され、一方、フレーム符号化が選択されたときは、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２行のマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれる上フレームマクロブロックを符号化するために必要なデータが前記マクロブロックパイプラインに設定される第３のステップと、
前記第１のステップによって選択されたマクロブロックペアについて、フィールド符号化が選択されたときは、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２行のマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれるマクロブロックのうち前記第３のステップにより設定されなかった他の片方を符号化するために必要なデータが前記マクロブロックパイプラインに設定され、一方、フレーム符号化が選択されたときは、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２行のマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれる下フレームマクロブロックを符号化するために必要なデータが前記マクロブロックパイプラインに設定される第４のステップと、
前記第３のステップまたは前記第４のステップによってマクロブロックを符号化するために必要な前記データが設定されると、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始する第５のステップと、
前記第４のステップによって前記ひとまとまりのマクロブロック行の中の最も下に位置する２行のマクロブロック行に属するマクロブロックペアに含まれるマクロブロックを符号化するために必要なデータが前記マクロブロックパイプラインに設定されると、前記第１のステップに戻り、前記選択されている個々のマクロブロックペアごとにその右隣接マクロブロックペアが新たに選択される第６のステップと
を有する動画像符号化方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像のデータ量を圧縮・削減するための動画像符号化装置および動画像符号化方法に関するものである。
【背景技術】
【０００２】
動画像には、７２０Ｐのようにフレームで構成されるものと、１０８０ｉのようにフィールドで構成されるものがあるが、本発明はフレームで構成されるものに適用してもフィールドで構成されるものに適用してもその目的を達成でき、同様の作用・効果を生じる。そこで、以下では、動画像を構成する１枚の画像を示すためにピクチャという用語を用いる。ピクチャはフレームとフィールドの両方を表すものとする。
【０００３】
ＭＰＥＧ−２やＨ．２６４（ＭＰＥＧ−４  ＡＶＣとも呼ばれる）、ＶＣ−１等の動画像符号化方式では、画面を１６画素×１６画素や８画素×８画素等のマクロブロック（以下、ＭＢという。）に分割し、ＭＢ単位で動き検出、動き補償、ＤＣＴまたは整数変換等の周波数変換、量子化、可変長符号化等を行う。これらの動画像符号化方式では、符号化効率を向上させるために、符号化済みの周辺ＭＢの結果をフィードバックし、符号化中のＭＢ（以下、現ＭＢという。）の処理内容を決める適応処理が行われる。
【０００４】
図４６はＭＰＥＧ−２の符号化器のブロック図を示す。ＭＰＥＧ−２では発生符号量が局所的に変動することを防ぐために、個々のＭＢの量子化パラメータを変更することによって発生符号量を制御する。これをレート制御９２という。レート制御９２では、可変長符号化９１の結果発生した符号化済みＭＢの符号量に応じて現ＭＢの量子化パラメータを変更する。例えば、左隣接ＭＢの発生符号量が大きい場合、現ＭＢの量子化パラメータを大きくし、現ＭＢの発生符号量を減少させる。
【０００５】
図４７はＨ．２６４の符号化器のブロック図を示す。Ｈ．２６４はＭＰＥＧ−２に比べて２倍程度の効率で動画像を圧縮できる。この高い圧縮効率を実現するために、Ｈ．２６４では、動き補償１００における参照ピクチャ数の増加、可変ブロックサイズ動き補償や４画素×４画素単位の周波数変換（以下、整数変換９３という。）が採用されると共に、レート制御１０３に加えて以下の３つの適応処理が新たに導入された。ここで、可変ブロックサイズ動き補償とは、ＭＢを８画素×１６画素、８画素×８画素、４画素×４画素等のサブブロック（以下、ＳＢという。）に分割し、ＳＢごとに動き補償を行うことをいう。以下では、単にブロックというときには、ＭＢとＳＢの両方を意味するものとする。
【０００６】
（１）予測誤差の符号量だけではなく、参照ピクチャの符号量と動きベクトルの符号量を考慮し、それらの合計符号量が最小となる参照ピクチャ、動きベクトル、およびブロックの組み合わせを選択する。動きベクトルについては、左隣接ブロック、上隣接ブロック、および右上隣接ブロックの動きベクトルから予測される予測動きベクトル（以下、ＰＭＶという。）を求め、ＰＭＶと現ブロックの動きベクトルの差分を符号化する。また、左隣接ブロック、上隣接ブロック、および右上隣接ブロックの動きベクトルは、空間ダイレクトモードの動きベクトルを求めるときにも参照される。
【０００７】
（２）隣接ＭＢの再生画素から予測値を作成し、イントラ予測９７を行う。輝度信号については４画素×４画素ＳＢ（以下、４×４ＳＢという。）のイントラ予測モードと１６×１６画素ブロックのイントラ予測モードがある。輝度信号の４×４ＳＢのイントラ予測モードでは、左隣接４×４ＳＢ、上隣接４×４ＳＢ、および右上隣接４×４ＳＢの再生画素から現４×４ＳＢのイントラ予測値を作成し、このイントラ予測値と現４×４ＳＢの画素の差分を符号化する。この差分画素を整数変換・量子化・逆量子化・逆整数変換し、その結果にイントラ予測値を加算することにより再生画素が作成される。１６×１６画素ブロックのイントラ予測モードでは左隣接ＭＢと上隣接ＭＢの再生画素から現１６×１６画素ブロックのイントラ予測値を作成し、このイントラ予測値と現１６×１６画素ブロックの画素の差分を符号化する。
【０００８】
（３）４画素×４画素ブロックの境界にデブロッキングフィルタ９８をかけ、ブロックノイズを除去する。
【０００９】
一方、ハードウェアの動画像符号化装置では、回路の稼働率を上げるためにＭＢ単位のパイプライン（本特許請求の範囲および明細書では、マクロブロックパイプラインまたはＭＢパイプラインという。）が採用されるのが一般的である（例えば、非特許文献１のpp.126-128、図３参照）。また、ハードウェアの動画像符号化装置では、通常横方向のＭＢの並び（以下ＭＢ行という）内では左端ＭＢから右端ＭＢに向かって符号化される。そして、１つのＭＢ行に含まれる右端のＭＢの符号化が終了すると、次にその下のＭＢ行に属するＭＢが左端ＭＢから右端ＭＢに向かって符号化される。これがピクチャの最も上のＭＢ行からピクチャの最も下のＭＢ行まで繰り返される。図４８は、従来のＨ．２６４の符号化器のＭＢパイプラインにおいて、ＭＢがＭＢパイプラインの各ステージを流れていく様子を示したものである。ｎ−１、ｎ、およびｎ＋１はあるＭＢ行中の左からそれぞれｎ−１番目、ｎ番目、ｎ＋１番目のＭＢを表す。また、ＭＢサイクルとは、ＭＢパイプラインの各ステージで１個のＭＢが処理されるために要する時間の単位をいい、各ステージでは１ＭＢサイクルで１個のＭＢが処理される。
【００１０】
図４８では、ステージ０で１ＭＢサイクルかけて外部メモリから１個のＭＢの符号化に必要なデータを読み出す。ステージ１で１ＭＢサイクルかけて１個のＭＢについて粗い精度の動き検出を行う。ステージ２で１ＭＢサイクルかけてステージ１で検出された粗い精度の候補動きベクトルの周囲の狭い範囲で詳細な動き検出を行うと共に、イントラ予測を行う。ステージ３では１ＭＢサイクルかけて１個のＭＢについて整数変換、量子化、逆量子化、および逆整数変換を行う。ステージ４では１ＭＢサイクルかけて１個のＭＢについて可変長符号化と動き補償を行う。そして、ステージ５で１ＭＢサイクルかけて１個のＭＢについてレート制御とデブロッキングフィルタを行い、ステージ６で１ＭＢサイクルかけて１個のＭＢ分の再生画素やビットストリームを外部メモリに書き込む。ＭＢサイクルを１０００サイクルと仮定すると、ＭＢパイプラインを行わない場合には１個のＭＢの符号化処理に７０００サイクルかかるのに対し、図４８のＭＢパイプラインでは１０００サイクルごとに１つのＭＢの符号化が終了する。
【００１１】
しかし、このＭＢパイプラインで左隣接ＭＢの処理結果に応じた適応処理を行うためには、以下の４点の課題がある。
【００１２】
（１）図４８に示すように、ｎ−１番目のＭＢについてレート制御が終了したとき、既にｎ＋１番目のＭＢまで量子化が終了している。従って、ｎ−１番目のＭＢの発生符号量に応じて量子化パラメータを変更できるのは、ｎ＋２番目以降のＭＢである。すなわち、２ＭＢ分レート制御が遅れる。
【００１３】
（２）図４８では動き検出をＭＢパイプライン２段で実行し、ステージ２で高精度の動きベクトル検出と同時にイントラ予測を実行している。高精度の動きベクトルが決定し、かつイントラ予測かインター予測かが決まらなければ正確なＰＭＶは算出できないが、ｎ−１番目のＭＢについて高精度の動きベクトルとイントラ予測かインター予測かが決まったときにはｎ番目のＭＢについてステージ１における粗い精度の動きベクトル検出は終了している。このため、図４８のＭＢパイプラインでは、左隣接ＭＢについては荒い精度の動きベクトル検出結果しか考慮して動きベクトルを選択することはできず、左隣接ＭＢにおける高精度の動きベクトルおよびイントラ予測／インター予測判定結果を考慮して動きベクトルを選択することができない。加えて、Ｈ．２６４ではＭＢを分割した８画素×１６画素、８画素×８画素、４画素×４画素等のＳＢでも動きベクトルの符号量を考慮して動きベクトル検出を行うことが望ましいが、図４８のＭＢパイプラインでは左隣接ＳＢ、上隣接ＳＢ、および右上隣接ＳＢの動きベクトルの符号量を考慮して動きベクトル検出を行うことは困難である。
【００１４】
（３）１６画素×１６画素ブロックイントラ予測モードは、左隣接１６画素×１６画素ブロックと上隣接１６画素×１６画素ブロックの画素値と現ブロックの画素値を評価して決定される。ここで、評価に使用する隣接１６画素×１６画素ブロックの画素は再生画素であることが望ましい。再生画素は、イントラ予測やインター予測で得られた予測誤差を整数変換、量子化、逆量子化および逆整数変換し、予測値を加算することにより求められる。しかし、図４８のＭＢパイプラインではステージ３でｎ−１番目のＭＢの整数変換等が終わり、ステージ４の動き補償でｎ−１番目のＭＢの再生画素が作成されたときには、ステージ２におけるｎ番目のＭＢのイントラ予測は終了している。このため、ｎ番目のＭＢについて１６画素×１６画素ブロックイントラ予測の予測モード判定を行うときには、その左に隣接したｎ−１番目のＭＢの再生画素を使用することはできない。このため、左に隣接したｎ−１番目の１６画素×１６画素ブロックの予測モード判定については再生画素ではなく、符号化中の現ピクチャの画素を使用せざるを得ない。同様に、Ｈ．２６４における４画素×４画素ブロックイントラ予測モードでは左隣接、上隣接、右上隣接の４画素×４画素ブロックの再生画素を使用して予測モードを決定することが望ましいが、図４８のＭＢパイプラインでは不可能であり、次善の手段として符号化中の現ピクチャの画素を使用せざるを得ない。このため、図４８のＭＢパイプラインにより決定されるイントラ予測モードは準最適なものとなる。
【００１５】
（４）イントラ予測値は、符号化装置と復号装置で同一のものを使用しなければならないため、再生画素から作成せざるを得ない。一方、ＰピクチャとＢピクチャでは、左に隣接したｎ−１番目のＭＢがインター予測モードと判定された場合には、動き補償が終わるまで再生画素が得られない。しかし、図４８のＭＢパイプラインでは、ｎ−１番目のＭＢについてのステージ４における再生画素の生成と、ｎ番目のＭＢについてのステージ３における整数変換等は同時に実行される。このため、ＰピクチャとＢピクチャでは、ｎ−１番目のＭＢの再生画素を用いて予測値を作成し、ｎ番目のＭＢの整数変換等を行うことは困難である。
【００１６】
また、ピクチャのデータ量は膨大であるため、一般にピクチャは動画像符号化装置の外部のメモリに記憶される。図４９は、従来の動画像符号化装置の構成を示すブロック図である（例えば、非特許文献２のp2009、図３参照）。動きベクトル検出器１０６は、内部メモリ１０４と動き検出回路１０５で構成される。従来の動きベクトル検出器１０６では動きベクトルが存在する可能性がある領域（以下、参照領域という。）を動きベクトル検出器１０６の外部メモリ４から動きベクトル検出器１０６の内部メモリ１０４にコピーし、内部メモリ１０４内の画素に対して動きベクトルを検出するための演算が行われる。図５０は、隣接する２つのＭＢ１０７、１０８の参照領域１０９、１１０の例を示す。ＭＢ１０８の参照領域１１０はＭＢ１０７の参照領域１０９と大部分重なっており、重なっていない領域の幅はＭＢの横方向の画素数と一致する。参照領域１１０は参照領域１０９より右方向にＭＢの横方向の画素数分ずれているだけである。以下では、このずれている領域を更新領域１１１と呼ぶ。従来の動きベクトル検出器１０６はこの性質を利用して外部メモリ４と動きベクトル検出器１０６の内部メモリ１０４間の画素転送量を削減する。外部メモリ４から内部メモリ１０４へは更新領域１１１のみ転送し、ＭＢ１０８の動き検出を開始するとき、参照領域の原点を参照領域１０９の（０，０）から参照領域１１０の（０，０）’に付け替える。このように、更新領域１１１のみ読み込んで参照領域を更新することにより外部メモリ４から内部メモリ１０４への転送量を削減していた。すなわち、従来は参照領域の横方向の重なりを利用して外部メモリ４と内部メモリ１０４の間の画素転送量を削減していた。これにより、従来の１チップＭＰＥＧ−２コーデックＬＳＩは、２００ＭＨｚで動作する３２ビット幅のＤＤＲ−ＳＤＲＡＭを２個外付けすることで１０８０ｉの動画像を符号化することが可能となった（例えば、非特許文献３のpp.12-13参照）。
【００１７】
しかし、ＤＣＩ（Ｄｉｇｉｔａｌ  Ｃｉｎｅｍａ  Ｉｎｉｔｉａｔｉｖｅ）の定めたデジタルシネマ規格による１ピクチャの大きさは４０９６画素×２１６０画素であり、１０８０ｉ（１９２０画素×１０８０画素）の４倍の画素数を有する。また、１０８０ｉの３倍を超える画素数のピクチャを１０８０ｉの２倍のレート（６０枚／秒）で出力するＣＭＯＳセンサが開発されている（例えば、非特許文献４のsesion 27.1参照）。最新の技術を用いれば、デジタルシネマクラスの動画像を出力するビデオカメラも実現できると予測されるところ、従来の技術を用いたのでは動画像符号化ＬＳＩに２５６ビット幅の入力端子を設けるか、または外部メモリを８００ＭＨｚ程度の速度で動作させることが必要となるという問題がある。
【００１８】
また、動画像符号化装置の処理速度が遅く、１台では処理が間に合わない場合、複数の動画像符号化装置による並列処理が行われる。この場合のピクチャ分割方法として、図５１に示す４種類が考えられる（例えば、非特許文献５のp.17、Figure
1参照）。すなわち、(a)横分割、(b)縦分割、(c)縦横分割、(d)スライスインタリーブである。従来は、複数の画像符号化装置間の接続やデータ転送が簡単になるという理由で(a)横分割が採用されることが多かった（例えば、非特許文献３参照）。しかし、横分割し、複数の動画像符号化装置で並列処理する方法では、カメラから１ピクチャ分の画素が全て読み込まれるまで符号化開始が遅延するという問題がある。この遅延が生じることは、テレビ電話や遠隔監視等の低遅延を要求される通信アプリケーションでは望ましくない。
【００１９】
また、Ｈ．２６４では可変長符号化を算術符号化の一種であるＣＡＢＡＣで行うことができる。図５２は、ＣＡＢＡＣ符号化器のブロック図を示す。ＣＡＢＡＣでは、まず、多値のシンタックスデータ（Ｈ．２６４ではシンタックスエレメントと呼ばれるが、本明細書と特許請求の範囲では、シンタックスデータという。）を２値化回路１１２により可変長の２値化シンボルに変換する。次に、コンテクスト計算回路１１３により２値化シンボル1
ビット（以下、ｓｙｍｂｏｌという。）ごとにコンテキスト計算を行う。そして、計算されたコンテキスト情報に応じて、算術符号化の確率テーブル１１５を選択し、算術符号化回路１１４によりｓｙｍｂｏｌを算術符号化するとともに、確率テーブル１１５の更新を行い、次のｓｙｍｂｏｌの算術符号化には更新された確率テーブル１１５を用いる。
【００２０】
図５３は、算術符号化回路１１４の処理内容を表すBiari_encode_symbol処理フローである（例えば、非特許文献６参照）。ＣＡＢＡＣでは、符号化の状態をｓｙｍｂｏｌ系列の存在区間の幅（以下、ｒａｎｇｅという。）と下端（以下、ｌｏｗという）で表す。ｒａｎｇｅとｌｏｗのビット幅はそれぞれ９ビットと１０ビットであり、スライスの先頭でｒａｎｇｅは０ｘ１ＦＥ（０ｘは、１６進数であることを示す。以下、同じ）、ｌｏｗは０ｘ０００に初期化される。０と１のうち、発生確率の低い方がＬＰＳ（Ｌｅａｓｔ  Ｐｒｏｂａｂｌｅ  Ｓｙｍｂｏｌ）に割り当てられ、発生確率の高い方がＭＰＳ（Ｍｏｓｔ  Ｐｒｏｂａｂｌｅ  Ｓｙｍｂｏｌ）に割り当てられる。確率テーブル１１５は、コンテクスト情報ごとにｓｙｍｂｏｌの発生確率を保持している。各発生確率は０または１のいずれがＭＰＳに割り当てられているかという情報とＬＰＳの発生確率（以下、ｒＬＰＳという。）の状態を示す番号（以下、ｓｔａｔｅという。）で示され、ｒＬＰＳは、ｓｔａｔｅとｒａｎｇｅによってテーブル（rLPS_table_64x4）を引くことにより求められる（ステップＳ３０）。一方、ＭＰＳの発生確率は、ｒａｎｇｅからｒＬＰＳを減算することで算出される（ステップＳ３１）。
【００２１】
ｓｙｍｂｏｌがＬＰＳであるときのｒａｎｇｅとｌｏｗの変化を図５４（ａ）に示す。ｓｙｍｂｏｌがＬＰＳであるとき、ＭＰＳの発生確率を加算することによってｌｏｗが更新され、ｒａｎｇｅにはｒＬＰＳが設定される（ステップＳ３３）。ｓｔａｔｅ＝０であれば、次の符号化状態における0と１の発生確率の大小が逆転すると予想されるため、ＭＰＳに対応する０と１が入れ替えられる（ステップＳ３４、Ｓ３５）。そして、ＬＰＳに対応する遷移テーブル（AC_next_state_LPS_64）を引くことによって、ｓｔａｔｅの状態が更新される（ステップＳ３６）。
【００２２】
ｓｙｍｂｏｌがＭＰＳであるときのｒａｎｇｅとｌｏｗの変化を図５４（ｂ）に示す。ｓｙｍｂｏｌがＭＰＳであるとき、ｌｏｗは変化せず、ｒａｎｇｅにはＭＰＳの発生確率が設定される（ステップＳ３１）。そして、ＭＰＳに対応する遷移テーブル（AC_next_state_MPS_64）を引くことによって、ｓｔａｔｅの状態が更新される（ステップＳ３７）。
【００２３】
ｒａｎｇｅ＜０ｘ１００のときには、再正規化が行われ、ｒａｎｇｅとｌｏｗが拡大される（ステップＳ３８）。再正規化により、ｒａｎｇｅの範囲は、０ｘ１００≦ｒａｎｇｅ≦０ｘ１ＦＥとなる。
【００２４】
このように、ｓｙｍｂｏｌごとに算術符号化せざるを得えず、処理サイクル数がかかるにもかかわらず、１つのスライス内では１個の確率テーブル１１５しか使用できない。このため、算術符号化器１１４は原理的に並列化できない。
【００２５】
更に、ＩピクチャにはＰピクチャやＢピクチャに比べて多くの符号量が配分される。このため、ピクチャ全体の２値化シンボルの平均発生量に比べてＩピクチャの２値化シンボルの発生量は多い。その上、急激に発生符号量が増加したとき、レート制御が破綻することを防ぐためにＭＢごとの発生符号量を早期にレート制御に反映させる必要がある。このように、算術符号化回路１１４には、処理サイクル数がかかるにもかかわらず、並列化が不可能で、しかも発生符号量の多いＩピクチャにおいて突発的に発生する２値化シンボル発生量を処理できるだけの性能が必要となるという問題がある。
【００２６】
なお、ＣＡＢＡＣに関して実際の算術符号化は行わずに２値化シンボルのシンボル長の総和から算術符号化の発生符号量を推定する方法が提案されている（例えば、非特許文献７のp.20、図６参照）。具体的には、２値化シンボル長N
と直前の符号化済みピクチャの２値化シンボル長と発生符号量との比率αを用いて、発生符号量R＝α×Ｎと推定するものである。ルックアップテーブルを用いれば多値のシンタックスデータを２値化シンボルに１ＣＫで変換することが可能であるため、この方法を用いれば算術符号化の発生符号量の推定をシンタックスデータ当たり１ＣＫで行うことができる。
【非特許文献１】渡辺浩巳，茶木英明，”H.264とMPEG-4に両対応  携帯機器向けコーデック・コアを開発  VGAの動画を36mAで符号化”，日経エレクトロニクス，2004年9月27日号，no.883，pp123-133．
【非特許文献２】南俊宏，長沼次郎，“テレスコピック探索に適した動きベクトル検出器構成法の提案”，信学論（Ｄ−２），vol.J87-D-2，no.11，pp.2007-2024，Nov.2004．
【非特許文献３】長沼次郎，岩崎裕江，新田高庸，中村健，吉留健，小倉充雄，中島靖之，田代豊，大西隆之，池田充郎，遠藤真，八島由幸，“1チップHDTV  MPEG-2  CODEC  LSI構成技術――VASA”，ＮＴＴ技術ジャーナル，vol.15，No.9，pp.12-15，２００３年９月．
【非特許文献４】S. Yoshihara, M.Kikuchi, Y. Ito, Y. Inada, S. Kuramochi, H.Wakabayashi, M. Okano, K. Koseki, H. Kuriyama, J. Inutsuka, A. Tajima,T. Nakajima, Y.Kudoh, F. Koga, Y. Kasagi,S. Watanabe, T. Nomoto, “A 1/1.8-inch 6.4MPixel 60frames/s CMOS Image Sensorwith Seamless Mode Change”, ISSCC2006, session 27.1, Feb. 2006.
【非特許文献５】野垣智士，“ＭＰＥＧ−２  ＭＰ＠ＨＬエンコーダにおける符号化制御方式の検討”，PCSJ98，P-2.04，pp.17-18，１９９８年１０月．
【非特許文献６】H.264/AVC reference software ( JM 10.2 )．
【非特許文献７】山影朋夫，中條健，古藤  晋一郎，” HD DVD に用いる動画像符号化技術“，東芝レビュー，vol.60，No.1，pp.17-29，2005．
【発明の開示】
【発明が解決しようとする課題】
【００２７】
本発明は上記事情に鑑み、ＭＢパイプライン構造の動画像符号化装置において、隣接ブロックの処理結果を符号化中のブロックの処理にフィードバック可能とすることを目的とする。具体的には、左隣接ＭＢの発生符号量に応じて現ＭＢをレート制御すること、隣接ブロックの動きベクトルの符号量を考慮して符号化中のブロックの動きベクトルを検出すること、左隣接ＭＢのイントラ予測／インター予測判定結果を考慮して符号化中のブロックの動きベクトルを検出すること、隣接ブロックの再生画素を用いてイントラ予測モードを決定すること、およびＰピクチャとＢピクチャで左隣接ＭＢの再生画素を用いて予測値を作成してイントラ予測を行うことを目的とする。
【００２８】
また、本発明は、ピクチャを記憶している外部メモリから動画像符号化装置の内部メモリへのデータ転送量を削減できる動画像符号化装置を提供することを目的とする。
【００２９】
更に、本発明は、並列動作するときでも符号化に要する遅延が小さい画像符号化装置を提供することを目的とする。
【００３０】
また、本発明は、算術符号化回路が突発的に増加する２値化シンボル発生量を処理できるだけの性能を有していなくても算術符号化可能とすることを目的とする。
【課題を解決するための手段】
【００３１】
本発明の動画像符号化装置は、縦に連続する少なくても２行のマクロブロック行をひとまとまりとして符号化を行う動画像符号化装置であって、動画像符号化の処理を複数のステージに分割して行うマクロブロックパイプラインを有し、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックが前記マクロブロックパイプラインに投入されると、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始し、上に隣接したマクロブロック行に含まれるマクロブロックの符号化が開始されてから１マクロブロックサイクル後に、下に隣接したマクロブロック行に含まれるマクロブロックであって、前記上に隣接したマクロブロック行に含まれるマクロブロックより左方向に１マクロブロック以上離れているマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始することが、前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行から最も下のマクロブロック行まで繰り返される。
【００３２】
また、本発明の動画像符号化装置は、動画像符号化の処理を複数のステージに分割して行うマクロブロックパイプラインと、縦に連続するｍ行（ｍは２以上の整数）のマクロブロック行をひとまとまりとし、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックについては、左下隣接マクロブロックがまだ選択されていないマクロブロックを選択し、かつ、前記ひとまとまりのマクロブロック行の中の最も上以外のマクロブロック行に属するマクロブロックについては、右上隣接マクロブロックが既に選択されているマクロブロックを選択することによって、前記ひとまとまりのマクロブロック行に含まれるマクロブロックを１マクロブロック行当たり１個選択するマクロブロック選択部と、前記マクロブロック選択部によって選択された個々のマクロブロックについて、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックから、最も下のマクロブロック行に属するマクロブロックまで、ｍマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックを符号化するために必要なデータを前記マクロブロックパイプラインに設定する符号化データ設定部とを有し、前記符号化データ設定部によってマクロブロックを符号化するために必要な前記データが設定されると、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始し、前記符号化データ設定部によって前記ひとまとまりのマクロブロック行の中の最も下のマクロブロック行に属するマクロブロックを符号化するために必要な前記データが前記マクロブロックパイプラインに設定されると、前記マクロブロック選択部が前記選択されている個々のマクロブロックごとにその右隣接マクロブロックを新たに選択する。
【００３３】
また、本発明の動画像符号化装置は、縦に連続する２ｎ行（ｎは２以上の整数）のマクロブロック行をひとまとまりとし、縦に隣接する２個のマクロブロックを組み合わせてマクロブロックペアとしてマクロブロックペアごとにフィールド符号化とフレーム符号化を切り替えて符号化する動画像符号化装置であって、動画像符号化の処理を複数のステージに分割して行うマクロブロックパイプラインを有し、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入されると、前記マクロブロックパイプラインが当該片方のマクロブロックの符号化を開始し、上に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれるマクロブロックの片方の符号化が開始されてから１マクロブロックサイクル後に、下に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックであって、前記上に隣接した２行のマクロブロック行に属するマクロブロックペアより左方向に１マクロブロック以上離れているマクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該片方のマクロブロックの符号化を開始することが、前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行まで繰り返され、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアに含まれるマクロブロックのうち最初に符号化を開始されなかった他の片方のマクロブロックが前記マクロブロックパイプラインに投入されると、前記マクロブロックパイプラインが当該他の片方のマクロブロックの符号化を開始し、上に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれる他の片方のマクロブロックの符号化が開始されてから１マクロブロックサイクル後に、下に隣接した２行のマクロブロック行に属するマクロブロックペアであって、前記上に隣接した２行のマクロブロック行に属するマクロブロックペアより左方向に１マクロブロック以上離れている前記マクロブロックペアに含まれるマクロブロックのうち最初に符号化を開始されなかった他の片方のマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該他の片方のマクロブロックの符号化を開始することが、前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行まで繰り返される。
【００３４】
また、本発明の動画像符号化装置は、縦に隣接する２個のマクロブロックを組み合わせてマクロブロックペアとし、マクロブロックペアごとにフィールド符号化とフレーム符号化を切り替えて符号化する動画像符号化装置であって、動画像符号化の処理を複数のステージに分割して行うマクロブロックパイプラインと、縦に連続する２ｎ行（ｎは２以上の整数）のマクロブロック行をひとまとまりとし、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアについては、左下隣接マクロブロックペアがまだ選択されていないマクロブロックペアを選択し、かつ、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行以外のマクロブロック行に属するマクロブロックペアについては、右上隣接マクロブロックペアが既に選択されているマクロブロックペアを選択することによって、前記ひとまとまりのマクロブロック行に含まれるマクロブロックペアを２マクロブロック行当たり１個選択するマクロブロックペア選択部と、前記マクロブロックペア選択部によって選択されたマクロブロックペアについて、フィールド符号化が選択されたときは、マクロブロックペアの奇数ラインでトップフィールドマクロブロックを構成し、マクロブロックペアの偶数ラインでボトムフィールドマクロブロックを構成し、フレーム符号化が選択されたときは、マクロブロックペアの上半分のラインで上フレームマクロブロックを構成し、マクロブロックペアの下半分のラインで下フレームマクロブロックを構成するフィールドマクロブロックペア・フレームマクロブロックペア構成部と、前記マクロブロックペア選択部によって選択されたマクロブロックペアについて、フィールド符号化が選択されたときは、最初に、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２行のマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれるマクロブロックの片方を符号化するために必要なデータを前記マクロブロックパイプラインに設定し、２回目に、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２行のマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれるマクロブロックのうち最初に設定されなかった他の片方を符号化するために必要なデータを前記マクロブロックパイプラインに設定し、一方、フレーム符号化が選択されたときは、最初に、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２行のマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれる上フレームマクロブロックを符号化するために必要なデータを前記マクロブロックパイプラインに設定し、２回目に、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２行のマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれる下フレームマクロブロックを符号化するために必要なデータを前記マクロブロックパイプラインに設定する符号化データ設定部とを有し、前記符号化データ設定部によってマクロブロックを符号化するために必要な前記データが設定されると、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始し、前記符号化データ設定部によって、２回目に、前記ひとまとまりのマクロブロック行の中の最も下に位置する２行のマクロブロック行に属するマクロブロックペアに含まれるマクロブロックを符号化するために必要なデータが前記マクロブロックパイプラインに設定されると、前記マクロブロックペア選択部が前記選択されている個々のマクロブロックペアごとにその右隣接マクロブロックペアを新たに選択する。
【００３５】
好ましくは、本発明の動画像符号化装置は、前記マクロブロックパイプラインにおける一部のステージで、マクロブロックサイクルがサブブロックサイクルに分割されてサブブロックパイプラインが形成され、サブブロックごとの処理が行われる。
【００３６】
好ましくは、本発明の動画像符号化装置は、前記ひとまとまりのマクロブロック行に含まれるマクロブロックを、各マクロブロック行当たり１個符号化するために必要な全てのデータを記憶する内部メモリを有する。
【００３７】
好ましくは、本発明の動画像符号化装置は、請求項１から請求項６までのいずれか１項に記載された少なくても２台の前記動画像符号化装置を含む動画像符号化装置であって、ピクチャが前記ひとまとまりのマクロブロック行ごとに分割され、この分割された分割領域ごとに個々の前記動画像符号化装置が割り当てられ、縦に連続した分割領域が少なくても２台の前記動画像符号化装置によって並列に符号化される。
【００３８】
好ましくは、本発明の動画像符号化装置は、シンタックスデータを２値化シンボルに変換する２値化部と、前記２値化シンボルを記憶する２値化シンボル記憶部と、前記２値化シンボル記憶部から読み出した２値化シンボルに対応するコンテクスト情報を復元するコンテクスト情報復元部と、前記２値化シンボル記憶部から読み出した２値化シンボルを、前記コンテクスト情報復元部により復元されたコンテクスト情報に基づいて算術符号化する算術符号化部とを有する。
【００３９】
好ましくは、本発明の動画像符号化装置は、前記２値化部により変換された２値化シンボルを仮算術符号化して仮発生符号量を算出する仮算術符号化部を有する。
【００４０】
好ましくは、本発明の動画像符号化装置は、シンタックスデータを可逆圧縮するシンタックスデータ圧縮部と、前記シンタックスデータ圧縮部により圧縮されたシンタックスデータを記憶する圧縮シンタックスデータ記憶部と、前記圧縮シンタックスデータ記憶部から前記圧縮されたシンタックスデータを読み出して前記シンタックスデータを復元するシンタックスデータ復元部と、前記シンタックスデータ復元部により復元された前記シンタックスデータを２値化シンボルに変換する２値化部と、前記２値化部によって変換された２値化シンボルを算術符号化する算術符号化部とを有する。
【００４１】
好ましくは、本発明の動画像符号化装置は、前記シンタックスデータ圧縮部が、前記シンタックスデータをＣＡＶＬＣで圧縮する。
【００４２】
また、本発明の動画像符号化方法は、動画像符号化の処理を複数のステージに分割して行うマクロブロックパイプラインを含み、縦に連続する少なくても２行のマクロブロック行をひとまとまりとして符号化を行う動画像符号化装置における動画像符号化方法であって、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックが前記マクロブロックパイプラインに投入されると、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始するステップと、上に隣接したマクロブロック行に含まれるマクロブロックの符号化が開始されてから１マクロブロックサイクル後に、下に隣接したマクロブロック行に含まれるマクロブロックであって、前記上に隣接したマクロブロック行に含まれるマクロブロックより左方向に１マクロブロック以上離れているマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始することが、前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行から最も下のマクロブロック行まで繰り返されるステップとを有する。
【００４３】
また、本発明の動画像符号化方法は、動画像符号化の処理を複数のステージに分割して行うマクロブロックパイプラインを含む動画像符号化装置における動画像符号化方法であって、縦に連続するｍ行（ｍは２以上の整数）のマクロブロック行がひとまとまりとされ、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックについては、左下隣接マクロブロックがまだ選択されていないマクロブロックが選択され、かつ、前記ひとまとまりのマクロブロック行の中の最も上以外のマクロブロック行に属するマクロブロックについては、右上隣接マクロブロックが既に選択されているマクロブロックが選択されることによって、前記ひとまとまりのマクロブロック行に含まれるマクロブロックが１マクロブロック行当たり１個選択される第１のステップと、前記第１のステップによって選択された個々のマクロブロックについて、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックから、最も下のマクロブロック行に属するマクロブロックまで、ｍマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックを符号化するために必要なデータが前記マクロブロックパイプラインに設定される第２のステップと、前記第２のステップによってマクロブロックを符号化するために必要な前記データが設定されると、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始する第３のステップと、前記第２のステップによって前記ひとまとまりのマクロブロック行の中の最も下のマクロブロック行に属するマクロブロックを符号化するために必要なデータが前記マクロブロックパイプラインに設定されると、前記第１のステップに戻り、前記選択されている個々のマクロブロックごとにその右隣接マクロブロックが新たに選択される第４のステップとを有する。
【００４４】
また、本発明の動画像符号化方法は、動画像符号化の処理を複数のステージに分割して行うマクロブロックパイプラインを含み、縦に連続する２ｎ行（ｎは２以上の整数）のマクロブロック行をひとまとまりとし、縦に隣接する２個のマクロブロックを組み合わせてマクロブロックペアとしてマクロブロックペアごとにフィールド符号化とフレーム符号化を切り替えて符号化する動画像符号化装置における動画像符号化方法であって、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該片方のマクロブロックの符号化を開始するステップと、上に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれるマクロブロックの片方の符号化が開始されてから１マクロブロックサイクル後に、下に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックであって、前記上に隣接した２行のマクロブロック行に属するマクロブロックペアより左方向に１マクロブロック以上離れているマクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該片方のマクロブロックの符号化を開始することが、前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行まで繰り返されるステップと、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアに含まれるマクロブロックのうち最初に符号化を開始されなかった他の片方のマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該他の片方のマクロブロックの符号化を開始するステップと、上に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックの符号化が開始されてから１マクロブロックサイクル後に、下に隣接した２行のマクロブロック行に属するマクロブロックペアであって、前記上に隣接した２行のマクロブロック行に属するマクロブロックペアより左方向に１マクロブロック以上離れている前記マクロブロックペアに含まれるマクロブロックのうち最初に符号化を開始されなかった他の片方のマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該他の片方のマクロブロックの符号化を開始することが、前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行まで繰り返されるステップとを有する。
【００４５】
また、本発明の動画像符号化方法は、動画像符号化の処理を複数のステージに分割して行うマクロブロックパイプラインを含み、縦に隣接する２個のマクロブロックを組み合わせてマクロブロックペアとし、マクロブロックペアごとにフィールド符号化とフレーム符号化を切り替えて符号化する動画像符号化装置における動画像符号化方法であって、縦に連続する２ｎ行（ｎは２以上の整数）のマクロブロック行がひとまとまりとされ、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアについては、左下隣接マクロブロックペアがまだ選択されていないマクロブロックペアが選択され、かつ、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行以外のマクロブロック行に属するマクロブロックペアについては、右上隣接マクロブロックペアが既に選択されているマクロブロックペアが選択されることによって、前記ひとまとまりのマクロブロック行に含まれるマクロブロックペアが２マクロブロック行当たり１個選択される第１のステップと、前記第１のステップによって選択されたマクロブロックペアについて、フィールド符号化が選択されたときは、マクロブロックペアの奇数ラインでトップフィールドマクロブロックが構成され、マクロブロックペアの偶数ラインでボトムフィールドマクロブロックが構成され、フレーム符号化が選択されたときは、マクロブロックペアの上半分のラインで上フレームマクロブロックが構成され、マクロブロックペアの下半分のラインで下フレームマクロブロックが構成される第２のステップと、前記第１のステップによって選択されたマクロブロックペアについて、フィールド符号化が選択されたときは、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２行のマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれるマクロブロックの片方を符号化するために必要なデータが前記マクロブロックパイプラインに設定され、一方、フレーム符号化が選択されたときは、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２行のマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれる上フレームマクロブロックを符号化するために必要なデータが前記マクロブロックパイプラインに設定される第３のステップと、前記第１のステップによって選択されたマクロブロックペアについて、フィールド符号化が選択されたときは、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２行のマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれるマクロブロックのうち前記第３のステップにより設定されなかった他の片方を符号化するために必要なデータが前記マクロブロックパイプラインに設定され、一方、フレーム符号化が選択されたときは、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアから、前記ひとまとまりのマクロブロック行の中の最も下に位置する２行のマクロブロック行に属するマクロブロックペアまで、ｎマクロブロックサイクルかけて順番に、１マクロブロックサイクルごとに個々のマクロブロックペアに含まれる下フレームマクロブロックを符号化するために必要なデータが前記マクロブロックパイプラインに設定される第４のステップと、前記第３のステップまたは前記第４のステップによってマクロブロックを符号化するために必要な前記データが設定されると、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始する第５のステップと、前記第４のステップによって前記ひとまとまりのマクロブロック行の中の最も下に位置する２行のマクロブロック行に属するマクロブロックペアに含まれるマクロブロックを符号化するために必要なデータが前記マクロブロックパイプラインに設定されると、前記第１のステップに戻り、前記選択されている個々のマクロブロックペアごとにその右隣接マクロブロックペアが新たに選択される第６のステップとを有する。
【発明の効果】
【００４６】
本発明によれば、縦に連続するｍ（ｍは２以上の整数）のＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、１つのＭＢ行当たり１個のＭＢを選択し、これら選択されたｍ個のＭＢを１個のＭＢパイプラインに連続して投入するので、左隣接ＭＢの処理結果を（ｍ−１）ステージ分現ＭＢの処理にフィードバックできる。また、選択されたｍ個のＭＢの参照領域は大きく重なっているので、これらのＭＢの参照領域を共通の参照領域用メモリに記憶する構成とすれば、ピクチャを記憶している外部メモリから、この重なり部分を更新するための転送を重複して行う必要がなくなる。このため、動画像符号化装置の内部に参照領域用メモリを設けることにより、ピクチャを記憶している外部メモリから動画像符号化装置の内部メモリへのデータ転送量を削減できる。
【００４７】
また、本発明によれば、縦に連続する２ｎ（ｎは２以上の整数）のＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、縦に連続する２つのＭＢ行当たり１つのＭＢペアを選択し、最初に、これら選択されたｎ個のＭＢペアに含まれる片方のＭＢを１個のＭＢパイプラインに連続して投入し、２回目に、これら選択されたｎ個のＭＢペアに含まれる残りの片方のＭＢを１個のＭＢパイプラインに連続して投入するので、最初に投入する片方のＭＢの処理結果を（ｎ−１）ステージ分残りの片方のＭＢの処理にフィードバックでき、かつ、左隣接ＭＢペアの処理結果を（ｎ−１）ステージ分現ＭＢペアの処理にフィードバックできる。また、前記選択された２ｎ個のＭＢの参照領域は大きく重なっているので、これらのＭＢの参照領域を共通の参照領域用メモリに記憶する構成とすれば、ピクチャを記憶している外部メモリから、この重なり部分を更新するための転送を重複して行う必要がなくなる。このため、動画像符号化装置の内部に参照領域用メモリを設けることにより、ピクチャを記憶している外部メモリから動画像符号化装置の内部メモリへのデータ転送量を削減できる。
【００４８】
更に、本発明によれば、マクロブロックパイプラインの一部のステージで、マクロブロックサイクルをサブブロックサイクルに分割してサブブロックパイプラインを形成し、サブブロックごとの処理を行うことができる。このため、隣接サブブロックの処理結果を符号化中のサブブロックの処理にフィードバックとすることも可能となる。
【００４９】
また、本発明によれば、並列動作する複数台の動画像符号化装置の参照領域は縦に大きく重なっているので、外部メモリから並列動作する動画像符号化装置の共通内部メモリへ全ての動画像符号化装置の参照領域を転送し、共通内部メモリから個々の動画像符号化装置に転送する構成とすれば、参照領域の重なり部分を重複して転送する必要がなくなる。このため、並列動作する動画像符号化装置に共通内部メモリを設けることにより、ピクチャを記憶している外部メモリから並列動作する動画像符号化装置の共通内部メモリへのデータ転送量を削減できる。また、従来のスライスインタリーブと異なり、並列動作する動画像符号化装置が分担して符号化する領域ごとにスライス分割する必要はなく、ピクチャ全体を１スライスとすることも可能である。更に、複数台の動画像符号化装置が処理するピクチャの最初の領域が入力されると、動画像符号化装置は符号化を開始することができるので、符号化遅延を抑えることができる。
【００５０】
更に、本発明によれば、Ｈ．２６４で規定されるＣＡＢＡＣ等の算術符号化を行う場合であっても、縦に連続するひとまとまりのＭＢ行に含まれる全てのＭＢの符号化が終了する前にレート制御を行うことができる。このため、あるＭＢの発生符号量が突発的に増加した場合に、次に符号化するＭＢの量子化パラメータを早急に大きくし、新たに符号化するＭＢから発生する符号量を減少させるようにレート制御することができる。また、算術符号化回路が突発的に増加する２値化シンボル発生量を処理できるだけの性能を有していなくても算術符号化することができる。特に、２値化シンボル記憶回路にＩピクチャの２値化シンボルとその前後のＰピクチャやＢピクチャの２値化シンボルを記憶できるだけの十分な記憶容量を持たせれば、算術符号化回路の性能がＩピクチャにおいて突発的に発生する２値化シンボル発生量を処理できる性能を下回っていても算術符号化することができる。
【００５１】
また、本発明によれば、シーンチェンジ等があった場合でも真の算術符号化による発生符号量に基づくレート制御に近いレート制御を行うことができる。
【００５２】
更に、本発明によれば、あるＭＢの２値化シンボルの発生量が突発的に増加し、仮算術符号化した結果真の算術符号化回路の処理能力を超えると予測されるときにはそのＭＢを含むピクチャ全体をＣＡＶＬＣ符号化し、一方、仮算術符号化した結果真の算術符号化回路で処理できると予測されるときにはそのＭＢを含むピクチャ全体をＣＡＢＡＣ符号化することができる。これにより、真の算術符号化回路の性能が不測するという状況を確実に回避できる。更に、ＣＡＶＬＣ符号化回路でＣＡＶＬＣ符号化ビットストリームの符号量を算出し、ＣＡＶＬＣ符号化と仮算術符号化の仮発生符号量を比較して、ピクチャごとに発生符号量が少ないと推測されるエントロピー符号化モードを選択することもできる。
【発明を実施するための最良の形態】
【００５３】
本発明では、縦に連続する複数のＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、１つのＭＢ行当たり１個のＭＢを選択し、これら選択された複数のＭＢを１個のＭＢパイプラインに連続して投入する。
【００５４】
以下、本発明の実施の形態に係る動画像符号化装置および動画像符号化方法を図面に基づいて説明する。
【００５５】
（第１の実施形態）
図１はＭＢパイプラインに連続して投入されるＭＢの例を示した説明図である。図１のピクチャはａ行からｌ行までの１２のＭＢ行からなり、各ＭＢ行は０番目から１５番目までの１６個のＭＢで構成される。図１のピクチャでは、最初にａ−ＭＢ行、ｂ−ＭＢ行、ｃ−ＭＢ行、ｄ−ＭＢ行に含まれるＭＢが１個のＭＢパイプラインで符号化され、次にｅ−ＭＢ行、ｆ−ＭＢ行、ｇ−ＭＢ行、ｈ−ＭＢ行に含まれるＭＢが１個のＭＢパイプラインで符号化され、最後にｉ−ＭＢ行、ｊ−ＭＢ行、ｋ−ＭＢ行、ｌ−ＭＢ行に含まれるＭＢが１個のＭＢパイプラインで符号化される。図１中のｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列のＭＢは１個のＭＢパイプラインに連続して投入されるＭＢの一例である。ｆ行８列のＭＢはｅ行１０列のＭＢから左方向に１ＭＢ離れている。同様にｇ行６列のＭＢはｆ行８列のＭＢから左方向に１ＭＢ離れており、ｈ行４列のＭＢはｇ行６列のＭＢから左方向に１ＭＢ離れている。これらの４つのＭＢは相互に左隣接、上隣接、または右上隣接のいずれの隣接関係にもない。以下では、複数のブロックが相互に左隣接、上隣接、または右上隣接のいずれの隣接関係にもないことを、これらのブロックは隣接関係にないという。
【００５６】
図２は本発明が適用される動画像符号化装置のブロック図を示す。ＭＢ選択回路２は、図１に示すように、ｅ−ＭＢ行、ｆ−ＭＢ行、ｇ−ＭＢ行、ｈ−ＭＢ行をひとまとまりとし、ｅ−ＭＢ行に属するＭＢについては、左下隣接ＭＢがまだ選択されていないＭＢを選択し、かつ、ｆ−ＭＢ行、ｇ−ＭＢ行、およびｈ−ＭＢ行に属するＭＢについては、右上隣接ＭＢが既に選択されているＭＢを選択することによって、ｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列のＭＢを選択する。符号化データ設定回路３は、ｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列のＭＢの順番で、各ＭＢを符号化するために必要なデータをＭＢパイプライン１に設定する。ＭＢを符号化するために必要なデータがＭＢパイプライン１に設定されると、そのＭＢはＭＢパイプライン１に投入される。ｈ行４列のＭＢを符号化するために必要なデータがＭＢパイプライン１に設定され、ｈ行４列のＭＢがＭＢパイプライン１に投入されると、ＭＢ選択回路２は、ｅ行１１列、ｆ行９列、ｇ行７列、ｈ行５列のＭＢを新たに選択する。
【００５７】
図３は本発明が適用される動画像符号化方法の処理のフローチャートを示す。ｅ−ＭＢ行、ｆ−ＭＢ行、ｇ−ＭＢ行、ｈ−ＭＢ行をひとまとまりとし、ｅ−ＭＢ行に属するＭＢについては、左下隣接ＭＢがまだ選択されていないＭＢを選択し、かつ、ｆ−ＭＢ行、ｇ−ＭＢ行、およびｈ−ＭＢ行に属するＭＢについては、右上隣接ＭＢが既に選択されているＭＢを選択することによって、ｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列のＭＢを選択する（ステップＳ１）。次に、ｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列のＭＢの順番で、各ＭＢを符号化するために必要なデータをＭＢパイプライン１に設定し、順次ＭＢパイプラインに投入する（ステップＳ２、ステップＳ３）。ＭＢを符号化するために必要なデータがＭＢパイプライン１に設定されると、そのＭＢはＭＢパイプライン１に投入される。ｈ行４列のＭＢを符号化するために必要なデータがＭＢパイプライン１に設定され、ｈ行４列のＭＢがＭＢパイプライン１に投入されると、ステップＳ１に戻り（ステップＳ４）、ｅ行１１列、ｆ行９列、ｇ行７列、ｈ行５列のＭＢを新たに選択する（ステップＳ１）。
【００５８】
これら４個のＭＢを１個のＭＢパイプライン１に連続して投入したときに、各ＭＢがＭＢパイプライン１の各ステージを流れていく様子を図４に示す。ステージ０からステージ６の各処理内容は図４５のものと同じである。また、図１のピクチャを構成する各ＭＢがＭＢパイプライン１に投入され、ステージ０の処理が開始されるＭＢサイクル番号を図５に示す。図４に示すように、ｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列の４個のＭＢは、ＭＢサイクル番号がそれぞれ１０４、１０５、１０６、１０７のとき順番にステージ０に投入され、ＭＢサイクル番号がそれぞれ１１０、１１１、１１２、１１３のとき順番にステージ６に達して符号化が終了する。このように、ひとまとまりの４つのＭＢ行の中で、最も上のＭＢ行に属するＭＢ、上から２番目のＭＢ行に属するＭＢ、上から３番目のＭＢ行に属するＭＢ、上から４番目のＭＢ行に属するＭＢの順番にＭＢパイプライン１に投入され、続いてそれらの右隣接ＭＢが同様の順番でＭＢパイプライン１に投入される。
【００５９】
本発明によれば、本実施形態のようにひとまとまりとして符号化するＭＢ行の数が４のとき、左隣接ＭＢの処理結果を３ステージ分フィードバックし、現ＭＢの処理に反映できる。このため、図４中に矢印で示すように、例えば、ｆ行７列のＭＢの高精度の動き検出結果とイントラ予測結果をｆ行８列のＭＢの粗い精度の動き検出に反映できる。このように、従来の技術と異なり、左に隣接したＭＢの高精度の動き検出結果とイントラ予測結果を考慮して現ＭＢの動きベクトルを選択することができる。また、同様に矢印で示すように、ｆ行７列のＭＢの動き補償の結果をｆ行８列のＭＢのイントラ予測に反映できる。従って、従来の技術と異なり、左に隣接したＭＢの動き補償により求められた再生画素を用いて現ＭＢのイントラ予測を行うことができる。更に、ｆ行７列のＭＢのレート制御結果をｆ行８列のＭＢの量子化に反映できる。このように、左に隣接したＭＢのレート制御結果に応じて現ＭＢの量子化パラメータを修正することができる。
【００６０】
ここで、本実施形態では下に隣接したＭＢ行に含まれるＭＢが上のＭＢ行中のＭＢから左方向に１ＭＢ離れている場合を示したが、１ＭＢ以上離れていれば良く、例えば２ＭＢ離れていても本発明の目的を達成することができ、同様の作用・効果を生じる。また、縦に連続する４つのＭＢ行をひとまとまりとして、これら４つのＭＢ行から、１つのＭＢ行当たり１個のＭＢを選択し、これら選択された４個のＭＢを１個のＭＢパイプラインに連続して投入する例を示したが、ひとまとまりのＭＢ行の数は２以上であれば良く、例えば縦に連続する８つのＭＢ行をひとまとまりとして、これら８つのＭＢ行から、１つのＭＢ行当たり１個のＭＢを選択し、これら選択された８個のＭＢを１個のＭＢパイプラインに連続して投入しても本発明の目的を達成することができ、同様の作用・効果を生じる。ただし、ひとまとまりのＭＢ行の数が２のときは、左隣接ＭＢの処理結果を１ステージ分しか現ＭＢの処理にフィードバックできないため、図４のステージ構成では左隣接ＭＢの動き補償とレート制御の結果をそれぞれ現ＭＢのイントラ予測と整数変換・量子化・逆量子化・逆整数変換にフィードバックできない。ひとまとまりのＭＢ行の数が２のときは、図４に示したものとステージ構成を変更する必要がある。
【００６１】
（第２の実施形態）
図６は８画素×８画素の４つのＳＢ（以下、８×８ＳＢという。）に分割されたＭＢを示す。本実施形態では、４つの８×８ＳＢについて動きベクトルのコストと予測誤差のコストの和が最小となる動きベクトルを検出する例について示す。一般に、ＰＭＶと動きベクトルの距離が遠いほど動きベクトルのコストは高いと評価される。このため、各８×８ＳＢについて動き検出を始める前に、その８×８ＳＢのＰＭＶが決まっていなければならない。そして、例えば、左隣接８×８ＳＢ、上隣接８×８ＳＢ、右上隣接８×８ＳＢの動きベクトルに基づいてＰＭＶを決めるとすると、図６中の０、１、２、３の番号を付された順番に８×８ＳＢごとの動きベクトルを検出しなければならないことになる。ただし、３番の８×８ＳＢの動きベクトル検出時に右上隣接８×８ＳＢの動きベクトルは存在しないため、３番の８×８ＳＢのＰＭＶは１番と２番の８×８ＳＢの動きベクトルＭＶ１とＭＶ２に基づいて決められる。
【００６２】
図７はＭＢパイプラインに連続して投入されるＭＢの例を示した説明図である。図７のピクチャはａ行から始まっており、ｒ行の下方にもＭＢ行が存在する。また、１６列以降にもＭＢが存在する。本実施形態ではｉ−ＭＢ行、ｊ−ＭＢ行、ｋ−ＭＢ行、ｌ−ＭＢ行、ｍ−ＭＢ行、ｎ−ＭＢ行、ｏ−ＭＢ行、ｐ−ＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、ｉ行１５列、ｊ行１３列、ｋ行１１列、ｌ行９列、ｍ行７列、ｎ行５列、ｏ行３列、ｐ行１列のＭＢを選択し、これら選択された８つのＭＢを１個のＭＢパイプラインに連続して投入する例を示す。
【００６３】
図８は８×８ＳＢごとの動きベクトルを検出するために、８つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢが各ステージを流れていく様子を示す。図９は本発明が適用される動きベクトル検出回路１２のブロック図を示す。外部メモリ４には単画素精度の画像が記憶されている。ステージ０で外部メモリ４から画像を読み出す。その画像を２画素精度画像作成回路５で縮小して２画素精度の画像を作成し、２画素精度メモリ６に書き込む。ステージ１で２画素精度メモリ６から画像を読み出しながら、２画素精度動き検出回路７により２画素精度の候補動きベクトルを検出する。そして、ステージ２で候補ベクトルの周辺の領域を外部メモリ４から読み出して、単画素精度メモリ８に書き込む。ここで、一般に外部の大容量メモリは低速であるため、外部メモリ４から単画素精度メモリ８に転送するために１ステージ割り当てている。単画素精度メモリ８から２画素精度候補ベクトルの周辺の領域を読み出しながら、ステージ３で単画素精度動き検出回路９により動きベクトルを検出する。その後、ステージ４で単画素精度メモリ８から単画素精度画素を読み出して、１／４画素精度画像作成回路１０で１／４画素精度の画像を作成しながら１／４画素精度動きベクトル検出回路１１を用いて１／４画素精度動きベクトル検出を行う。単画素精度メモリ８からは単画素精度動き検出回路９と１／４画素精度画像作成回路１０に単画素精度画像を供給することになるため、単画素精度メモリ８はダブルバッファ構成や２リード以上可能な多ポートメモリとする必要がある。なお、図８ではステージ４で単画素精度動きベクトルの周囲を直接探索して１／４画素精度動きベクトルを検出するとしたが、ステージ４で半画素精度動きベクトルを検出した後、ステージ５で半画素精度動きベクトルの周囲を探索して１／４画素精度動きベクトルを検出しても良い。また、ステージ３で単画素精度動きベクトル検出と半画素精度動きベクトル検出を行い、ステージ４で１／４画素精度動きベクトル検出を行っても良い。
【００６４】
ステージ１〜ステージ５ではＭＢサイクルを４つのＳＢサイクルに分割し、各ＳＢサイクルで８×８ＳＢごとの処理を行う。ここで、ＳＢサイクルとは、１個のＳＢが処理されるために要する時間の単位をいい、ＳＢごとの処理を行うとき、ＭＢサイクルはＳＢサイクルに分割される。以下では、ＭＢサイクルがＳＢサイクルに分割され、ＳＢごとの処理を行うステージ群をＳＢパイプライン（またはサブブロックパイプライン）と呼ぶ。図８中のステージ１〜ステージ５がＳＢパイプラインである。図１０はＳＢパイプラインの詳細な動作を示す。−０、−１、−２、−３はそれぞれ図６中の０、１、２、３の番号を付された８×８ＳＢを意味する。例えば、ｉ１５−２はｉ行１５列のＭＢに含まれる２番目の８×８ＳＢを表す。図１０では、ステージ５に空ステージを挿入し、例えばｉ１５−０ＳＢについてステージ４で検出された１／４画素精度動きベクトルをｉ１５−１ＳＢのステージ１における２画素精度動きベクトルのコスト計算に反映できるようにしている。このように、ＭＢサイクルをＳＢ数に等しい数のＳＢサイクルに分割したときは、（ＳＢ数＋１）段のパイプラインとすることにより、同一のＭＢ内における前の８×８ＳＢの処理結果を次の８×８ＳＢに反映させることができる。
【００６５】
なお、ステージ１〜ステージ５において８×８ＳＢごとの動きベクトル検出回路と並列に動作するＭＢごとの動きベクトル検出回路を設けることが可能である。また、ステージ３〜５において、ステージ１において検出された８×８ＳＢごとの候補ベクトルの周辺領域で８×８ＳＢごとの動きベクトル検出と並列にＭＢごと、１６画素×８画素ＳＢごと、８画素×１６画素ＳＢごとの動きベクトルを検出することも可能である。
【００６６】
ステージ０〜５において動きベクトルが検出された後は、ステージ６で１６×１６イントラ予測モード、４×４イントラ予測モード、インター予測モード等の中から符号化効率の最も良くなる予測モードが選択される。ステージ７では整数変換、量子化、逆量子化、および逆整数変換が行われる。ステージ８では可変長符号化と動き補償が行われる。ステージ９ではレート制御とデブロッキングフィルタ処理が行われ、ステージ１０では再生画素や符号化ビットストリームが外部メモリ４に書き込まれる。
【００６７】
（第３の実施形態）
本実施形態では、１／４画素精度動き検出回路１１を２個設け、ステージ３とステージ４を結合して、１個の８×８ＳＢの１／４画素精度動き検出を２ＳＢサイクルかけて行う例を示す。ステージ３とステージ４以外は、第２の実施形態のＭＢパイプラインと同一のステージ構成である。図１１はＳＢパイプラインの詳細な動作を示し、図１２はこの動作を実現するための動き検出回路１３のブロック図を示す。２つの１／４画素精度動き検出回路１１を１ＳＢサイクルずらして動作させることにより、個々の８×８ＳＢの１／４画素精度動き検出を２ＳＢサイクルかけて行うことができる。
【００６８】
（第４の実施形態）
本実施形態では、Ｈ．２６４における４画素×４画素イントラ予測（以下、４×４イントラ予測という。）に本発明を適用する例ついて説明する。図１３は１６個の４画素×４画素ＳＢ（以下、４×４ＳＢという。）に分割されたＭＢを示す。４×４ＳＢは図１３中に付した０〜１５の順番で符号化され、ビットストリームに変換される。例えば、３番の４×４ＳＢについて４×４イントラ予測を行うときには、１番の４×４ＳＢにおける下端４行の画素と２番の４×４ＳＢの右端４列の画素が参照される。また、１４番の４×４ＳＢについて４×４イントラ予測を行うときには、１２番と１３番の４×４ＳＢにおける下端の４行の画素と１１番の４×４ＳＢにおける右端４列の画素が参照される。これら隣接４×４ＳＢに属する画素は再生画素を用いることが望ましい。
【００６９】
図１４は、４×４イントラ予測のために、８つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢが各ステージを流れていく様子を示す。ステージ４で隣接４×４ＳＢの再生画素を用いて４×４イントラ予測を行い、ステージ５で予測誤差に対して整数変換・量子化・逆整数変換・逆量子化を行ってイントラ予測値を加算し、再生画素を生成する。ステージ４の４×４イントラ予測回路とステージ５の整数変換・量子化・逆整数変換・逆量子化回路は、第２の実施形態または第３の実施形態で示したステージ１〜ステージ５の動き検出回路と並列に動作する。
【００７０】
本実施形態では、ステージ４と５においてＭＢサイクルを１６のＳＢサイクルに分割する。このため、ＳＢパイプラインのステージ数に比べてＳＢの数が多く、（ＳＢ数＋１）段のＳＢパイプラインとすると、空ステージが増加し、効率が悪い。図１５はＳＢパイプラインの詳細な動作を示す。−０、−１、−２、……、−１５はそれぞれ図１３中の０、１、２、……、１５の番号を付された４×４ＳＢを意味する。例えば、ｉ１５−８はｉ行１５列のＭＢに含まれる８番目の４×４ＳＢを表す。図１５に示すように、本実施形態では、２つのＭＢに含まれる４×４ＳＢを交互に処理することにより、１つのＭＢを２ＭＢサイクル、すなわち３２ＳＢサイクルかけて処理する。１つのＭＢに属する４×４ＳＢを４×４イントラ予測しているとき、同時に別のＭＢに属する４×４ＳＢを整数変換・量子化・逆整数変換・逆量子化する。ＭＢサイクルごとに１つのＭＢの処理を開始し、別のＭＢの処理を終えるように動作させ、ＭＢパイプラインの他ステージと整合を取る。ただし、このように動作させると、図１５に示すように、ステージ４の４×４イントラ予測において、２ＭＢサイクルごとに１ＳＢサイクル、すなわち１／１６ＭＢサイクルだけＭＢサイクルとずれが発生する。そのため、図１５では、ステージ３の有効期間を１５／１６ＭＢサイクルとし、ステージ４における１／１６ＭＢサイクルのずれを吸収している。なお、ステージ３の処理が重く、無効期間を設けることができないときは、ステージ６の有効期間を１５／１６ＭＢサイクルとし、１／１６ＭＢサイクルのずれを吸収しても良い。このように動作させることにより、４×４イントラ予測回路と整数変換・量子化・逆整数変換・逆量子化を行う回路に空を生じることなく、左隣接、上隣接、右上隣接の４×４ＳＢに属する画素について再生画素を用いて４×４イントラ予測を行うことができる。
【００７１】
なお、ＳＢパイプラインの前または後のステージの有効期間を短縮するのではなく、ＳＢパイプラインの前または後に空ステージを挿入することによって、ＭＢパイプラインのずれを吸収することもできる。
【００７２】
本実施形態では、図１４に矢印で示すように、左隣接ＭＢのレート制御結果を４×４イントラ予測に付随して行う量子化に反映することができる。
【００７３】
また、輝度信号の１６画素×１６画素イントラ予測や４：２：０フォーマットのときの色差信号の８画素×８画素イントラ予測はＭＢごとに処理される。このため、左隣接ＭＢと上隣接ＭＢに属する画素を参照できれば良い。この場合、ステージ８の動き補償で得られる再生画素を参照できるため、４×４イントラ予測のようにステージ５で整数変換・量子化・逆整数変換・逆量子化を行う必要はない。なお、ステージ６のイントラ・インター判定で４×４イントラ予測モードが選択された場合には、ステージ５の整数変換・量子化・逆整数変換・逆量子化で得られた再生画素を保存しておく構成としても、ステージ７で再度整数変換・量子化・逆整数変換・逆量子化を行う構成としても良い。
【００７４】
なお、４×４イントラ予測のモード判定を入力された画素によって行うことにすれば、ステージ５の整数変換・量子化・逆整数変換・逆量子化は省略することができる。ただし、再生画素を用いてモード判定した場合に比べ、画質は劣化する。
【００７５】
（第５の実施形態）
本実施形態では、第２の実施形態〜第４の実施形態とほぼ同一のステージ構成のＭＢパイプラインにおいて、図７におけるｉ−ＭＢ行、ｊ−ＭＢ行、ｋ−ＭＢ行、ｌ−ＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、ｉ行１５列、ｊ行１３列、ｋ行１１列、ｌ行９列等のＭＢを選択し、これら選択された４個のＭＢを１個のＭＢパイプラインに連続して投入する例を示す。第２の実施形態〜第４の実施形態では８つのＭＢ行をひとまとまりとして処理するため、各左隣接ＭＢの処理結果を７ステージ分現ＭＢの処理にフィードバックできるが、本実施形態では３ステージ分しかフィードバックできない。このため、左隣接ＭＢの処理結果を現ＭＢの処理に反映するとき、第２の実施形態〜第４の実施形態に比べて制限が生じる。
【００７６】
８×８ＳＢごとの動きベクトルを検出するために、４つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢがＭＢパイプラインの各ステージを流れていく様子を図１６に示す。この場合、例えば、ステージ５でｊ行１２列のＭＢのイントラ・インター判定が終了したとき、同時にステージ１においてｊ行１３列のＭＢの２画素精度動き検出も終了する。このため、左隣接ＭＢのイントラ・インター判定結果を現ＭＢの２画素精度動き検出に反映できないという制限がある。ただし、図１６中に矢印で示すように、左隣接ＭＢのイントラ・インター判定結果はステージ２以降に反映できる。また、左上隣接ＭＢ、上隣接ＭＢ、右上隣接ＭＢ、左方向に１つ離れたＭＢ等についてステージ５で確定したイントラ・インター判定結果はステージ１の２画素精度動き検出に反映できる。そこで、ステージ１においては、左上隣接ＭＢ、上隣接ＭＢ、右上隣接ＭＢ、左方向に１つ離れたＭＢ等の動きベクトルを参照して仮のＰＭＶを作成し、４つの８×８ＳＢ全てが共通にこの仮のＰＭＶを参照して２画素精度動き検出を行う。そして、ステージ２ではステージ１で検出された２画素精度の候補動きベクトルの周辺領域を単画素精度メモリ８に設定し、ステージ３で真のＰＭＶを作成し、ステージ３とステージ４で真のＰＭＶを参照して単画素精度動き検出と１／４画素精度動き検出を行う。
【００７７】
図１７はステージ３と４におけるＳＢパイプラインの詳細な動作を示す。ステージ３の単画素精度動き検出とステージ４の１／４画素精度動き検出では、２つのＭＢに含まれる８×８ＳＢを交互に処理することにより、１つのＭＢを２ＭＢサイクル、すなわち８ＳＢサイクルかけて処理する。１個のＭＢに属する８×８ＳＢについて単画素精度動き検出を行っているとき、同時に別のＭＢに属する８×８ＳＢについて１／４画素精度動き検出を行う。ＭＢサイクルごとに１個のＭＢの処理を開始し、別のＭＢの処理を終えるように動作させ、ＭＢパイプラインの他ステージと整合を取る。そして、ステージ２の有効期間を３／４ＭＢサイクルとし、ステージ４における１／４ＭＢサイクルのずれを吸収する。この方法によれば、１つのＭＢ内に含まれる４個の８×８ＳＢについて０番から３番までシリアルに処理することができる。このため、単画素精度動き検出と１／４画素精度動き検出では隣接８×８ＳＢの動きベクトルを考慮した真のＰＭＶに基づいて動き検出を行うことができる。
【００７８】
ただし、本実施形態では、空間ダイレクトアドレスの評価が別途必要となる。ステージ１で仮のＰＭＶに基づいて２画素精度動き検出が行われ、ステージ２ではステージ１で検出された候補動きベクトルの周辺領域が単画素精度メモリ８に設定される。ステージ１の仮のＰＭＶとステージ３の真のＰＭＶが異なる場合、ステージ３と４で動き検出する領域に空間ダイレクトアドレスに対応する位置のＭＢや８×８ＳＢ等が含まれない。そこで、ステージ３およびステージ４と並列に空間ダイレクトアドレスに対応する位置のＭＢや８×８ＳＢのコストを評価する処理を行う必要がある。
【００７９】
４×４イントラ予測のために、４つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢがＭＢパイプラインの各ステージを流れていく様子を図１８に示す。また、図１９はステージ３と４におけるＳＢパイプラインの詳細な動作を示す。ステージ４の４×４イントラ予測とステージ５の整数変換・量子化・逆量子化・逆整数変換では、第４の実施形態のＳＢパイプラインと同様の処理を行う。
【００８０】
ただし、本実施形態では左隣接ＭＢの処理結果を３ステージ分しか現ＭＢの処理にフィードバックできないため、動き補償をステージ７で行うと左隣接ＭＢの再生画素を用いて４×４イントラ予測を行うことができない。そこで、動き補償をステージ６で行なわなければならないという制限がある。また、左隣接ＭＢのステージ８のレート制御結果を反映できるのはステージ５以降であって、ステージ４の量子化には反映できない。しかし、ステージ７の可変長符号化によって大量のビットが発生し、ステージ８で量子化パラメータを大きくするというレート制御を行う必要が生じる場合がある。この場合には、ステージ５のイントラ・インター判定において４×４イントラ予測モードを選択しないようにするか、または４×４イントラ予測モードが選択されたときはステージ６で新しい量子化パラメータを用いて整数変換・量子化・逆量子化・逆整数変換をやり直す必要がある。
【００８１】
上記第１の実施形態〜第５の実施形態で示したように、本発明では、縦に連続する複数のＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、１つのＭＢ行当たり１個のＭＢを選択し、これら選択された複数のＭＢを１個のＭＢパイプラインに連続して投入する。これらのＭＢは狭い画像領域にあるため、下に隣接したＭＢ行に属するＭＢの符号化が終了するまで、そのＭＢの上隣接ＭＢと右上隣接ＭＢの再生画素や動きベクトル等を画像符号化装置内に保持することにしてもその保持に要する記憶回路の規模は小さい。この記憶回路を設けることにより、これら複数のＭＢ行の一番上のＭＢ行に含まれるＭＢを除いて、現ＭＢの符号化のために上隣接ＭＢと右上隣接ＭＢの再生画素や動きベクトル等を供給するという問題を解消することができる。
【００８２】
なお、第１の実施形態〜第５の実施形態で示したＭＢパイプラインのステージ構成は一例であって、他のステージ構成とすることも可能である。そして、ステージ構成が変われば、ひとまとまりとして符号化する縦に連続する複数のＭＢ行の数が同じであっても、動き検出やイントラ予測等における制約は変わる。
【００８３】
（第６の実施形態）
図２０は、内部メモリを有する動画像符号化装置のブロック図である。動画像符号化装置２３は、ＭＢの符号化に必要な全てのデータを外部メモリ４から読み出してその内部メモリに記憶する。内部メモリは参照領域用メモリ１４とバッファメモリ１５の２種類ある。動き検出の時に参照される参照画像は参照領域用メモリ１４に記憶され、参照領域用メモリ１４から動き検出部１６と動き補償部１７に供給される。符号化のために必要なその他のデータはバッファメモリ１５に記憶され、動き検出部１６、動き補償部１７、イントラ予測部１８、整数変換・量子化・逆量子化・逆整数変換部１９、可変長符号化部２０、デブロッキングフィルタ部２１はバッファメモリ１５との間でデータを転送する。制御部２２はイントラ・インター判定とレート制御を行う。制御部２２はワイヤードロジックまたはマイクロプロセサで構成される。なお、図２０では参照領域用メモリ１４とバッファメモリ１５を別々のものとして表わしたが、参照領域用アドレスとバッファ用アドレスが別れていれば１個の共通メモリであっても良い。
【００８４】
図２１は、縦に連続する４つのＭＢ行に含まれる４個のＭＢを１個のＭＢパイプラインで処理する場合の参照領域を示した説明図である。参照領域２８、２９、３０、３１はそれぞれＭＢ２４、２５、２６、２７の動き検出のときに参照される領域である。参照領域２８、２９、３０、３１は大きく重なっており、縦に隣り合うＭＢ行に属する２個のＭＢの参照領域において重なっていない部分の高さはＭＢの縦方向の画素数と一致する。この重なり部分は動きベクトルの検出範囲が広くなるほど大きくなる。本実施形態において参照領域２８、２９、３０、３１中の全画素は、参照領域用メモリ１４に記憶される。従来技術と同様に、本実施形態でも右方向に隣接するＭＢの符号化を開始するとき、外部メモリ４から参照領域用メモリ１４へ更新領域３２、３３、３４、３５のみ転送し、それまで符号化していた左隣接ＭＢの参照領域２８、２９、３０、３１の原点から次に符号化する右隣りのＭＢのための新しい原点に付け替える。ただし、ＭＢ２５のための更新領域３３は、ＭＢ２４の参照領域２８に含まれていない部分のみである。同様に、ＭＢ２６とＭＢ２７の更新領域３４、３５はそれぞれＭＢ２５とＭＢ２６の参照領域２９、３０に含まれていない部分のみである。従って、従来技術に比べて、外部メモリ４と参照領域用メモリ１４の間の画素転送量を大幅に削減することができる。
【００８５】
図２２は、参照領域用メモリに参照領域を記憶するもう一つの方法を示した説明図である。参照領域用メモリ１４には、参照領域２８、２９、３０、３１を全て含む矩形の領域３６を記憶する。この方法によれば、参照領域用メモリ１４のアドレス生成が簡単になる。また、更新領域３７もひとまとまりの矩形領域となるため、外部メモリ４から参照領域用メモリ１４への画素の転送が簡単になる。
【００８６】
上記では、連続した４つのＭＢ行に含まれる４つのＭＢを１個のＭＢパイプラインで同時に処理する場合を例として示したが、本実施形態に示す方法は連続した２以上のＭＢ行であれば適用でき、例えば連続した８のＭＢ行であっても良い。
【００８７】
なお、参照領域用メモリ１４には単画素精度画像のみ記憶し、参照領域用メモリ１４から読み出した単画素精度画像から動き検出部１６と動き補償部１７の内部で半画素精度画像や１／４画素精度画像を作成する構成とすることができる。この構成は、予め半画素精度画像や１／４画素精度画像を作成して外部メモリ４に記憶し、外部メモリ４から参照領域用メモリ１４に半画素精度画像や１／４画素精度画像を転送する構成よりも外部メモリ４と参照領域用メモリ１４の間の画素転送量を削減することができる。
【００８８】
また、２画素精度画像等の縮小画像を作成し、最初に縮小画像上で動き検出を行い、段階的に高精度画像で動き検出を行う階層的探索法がある。この探索法に対して本発明を適用する場合にも、参照領域用メモリ１４には単画素精度画像のみを記憶しておき、動き検出部１６と動き補償部１７の内部で縮小画像を作成する構成とすることができる。この構成は、予め縮小画像を作成して外部メモリ４に記憶し、外部メモリ４から参照領域用メモリ１４に縮小画像を転送する構成よりも外部メモリ４と参照領域用メモリ１４の間の画素転送量を削減することができる。
【００８９】
その他、動き検出における演算量を削減する手法としてテレスコピック探索法が提案されている。テレスコピック探索法では、符号化対象画像と参照画像の中間の画像も必要となる。この場合には、中間の画像の中で動き検出に必要な領域に対しても本実施形態に示す更新方法を適用することができる。
【００９０】
また、輝度信号だけを本実施形態に示す方法で外部メモリ４から画像符号化装置２３の内部メモリに転送しても良いし、輝度信号と色差信号の両方に本実施形態に示す方法を適用しても良い。なお、動き検出のときに色差信号を参照しない場合には、色差信号は参照領域用メモリ１４とバッファメモリ１５のどちらに記憶しても良い。
【００９１】
（第７の実施形態）
ＨＤＴＶ映像を符号化対象とする場合、良好な画質を得るために動きベクトルの範囲は横±２００画素、縦±１００画素程度必要である。この範囲の動きベクトルを検出するための演算量は膨大であり、動き検出のために多くのサイクル数を要する。しかし、ＭＢパイプライン構造の動画像符号化装置では、ＭＢサイクル当たりのサイクル数は全てのステージで共通である。動き検出のためのステージのみＭＢサイクル当たりのサイクル数を増加させることはできない。また、本発明を適用したＭＢパイプラインでは、処理結果をフィードバックできるステージ数に限界があるため、ＭＢパイプラインのステージ数を増加させることは好ましくない。
【００９２】
図２３は広い範囲で動きを検出できる動き検出装置３８と、本発明が適用されたＭＢパイプラインを含む動画像符号化装置２３の組み合わせを示す。動き検出装置３８は、動きベクトルの符号化コストを考慮せず、予測誤差の符号化コストのみを考慮して動きベクトル候補を検出する。動画像符号化装置２３は、動き検出装置３８で検出された動きベクトル候補を受け取って、その動きベクトル候補の周辺領域について動きベクトルの符号化コストまで考慮して動き検出を行う。すなわち、広い範囲でＰＭＶを参照せずに動きを検出し、検出された動きベクトル候補の周辺領域についてＰＭＶを参照して再度動き検出を行う。受け取った動きベクトル候補の周辺領域における再度の動き検出は２画素精度動き検出や単画素精度動き検出等任意の精度の動き検出段階で行うことが可能である。動画像符号化装置２３では、この動きベクトル候補の周辺領域に加えて、コスト最小の動きベクトルが存在する可能性が高い他の領域、例えばＰＭＶの周辺領域でも同時に動き検出を行っても良い。動き検出装置３８は、動画像符号化装置２３のＭＢパイプラインと無関係に動作するため、多くのサイクル数をかけて動き検出を行うことができる。
【００９３】
また、動き検出装置３８は、動画像符号化装置２３で作成された再生画像ではなく、符号化されていない入力されたままの画像を対象として動き検出を行う構成とすることもできる。この構成とすることにより、動画像符号化装置２３から動き検出装置３８に再生画像を送る必要が無くなる。
【００９４】
なお、動き検出装置３８と動画像符号化装置２３を同一のＬＳＩ上に集積することも可能である。この場合、動画像符号化装置２３に接続されている外部メモリ４を動き検出装置３８と動画像符号化装置２３の共有メモリとし、動き検出装置３８は再生画像を対象として動き検出を行う構成としても良い。
【００９５】
また、ＭＰＥＧ−２からＨ．２６４へトランスコードするときのように、既に検出された動きベクトルを利用できるときには、動き検出装置３８を用いず、検出済の動きベクトルを直接動画像符号化装置２３に入力し、この検出済み動きベクトルの周辺領域について動きベクトルの符号化コストまで考慮して動き検出を行う構成とすることもできる。
【００９６】
（第８の実施形態）
２つの動画像符号化装置４０、４１と内部メモリ３９を有する並列動画像符号化装置４２のブロック図を図２４に示す。図２５は、動画像符号化装置４０と４１が符号化を分担するピクチャの領域を示す。ｉ−ＭＢ行〜ｌ−ＭＢ行、ｑ−ＭＢ行〜ｔ−ＭＢ行等を動画像符号化装置４０が分担して符号化し、ｅ−ＭＢ行〜ｈ−ＭＢ行、ｍ−ＭＢ行〜ｐ−ＭＢ行等を動画像符号化装置４１が分担して符号化する。このピクチャ分割方法によれば、動画像符号化装置４０と４１の分担するピクチャの領域が縦に連続しているため、両者の参照領域は縦に大きく重なっている。外部メモリ４から内部メモリ３９へ２つの動画像符号化装置４０と４１の参照領域を転送し、内部メモリ３９から個々の動画像符号化装置４０と４１に転送する構成とすれば、両者の参照領域の重なり部分を重複して転送する必要がないため、外部メモリ４と内部メモリ３９の間のデータ転送量を削減することができる。
【００９７】
動画像符号化装置４０と４１に含まれるＭＢパイプラインの各ステージをＭＢが流れていく様子を図２６に示す。各々の動画像符号化装置４０と４１のステージ構成は第１の実施形態の動画像符号化装置と同一である。ただし、例えば、ｌ−ＭＢ行に属するＭＢの再生画素と動きベクトルを動画像符号化装置４０から動画像符号化装置４１に転送し、ｍ−ＭＢ行に属するＭＢの符号化で参照することが可能である。このように、動画像符号化装置４０と４１の分担する領域の境界において、上隣接ＭＢと右上隣接ＭＢにおける再生画素や動きベクトル等現ＭＢの参照するデータを転送できるタイミングで動画像符号化装置４０と４１を動作させる。このように動作させることにより、従来のスライスインタリーブと異なり、本実施形態の方法によれば、図２５のｉ−ＭＢ行〜ｌ−ＭＢ行やｍ−ＭＢ行〜ｐ−ＭＢ行のように各動画像符号化装置４０と４１が分担して符号化する領域ごとにスライス分割する必要はなく、ピクチャ全体を１スライスとすることも可能である。更に、ａ−ＭＢ行〜ｄ−ＭＢ行やｅ−ＭＢ行〜ｈ−ＭＢ行等動画像符号化装置４０と４１が処理するピクチャの最初の領域が入力されると、動画像符号化装置４０と４１は符号化を開始することができるので、符号化遅延を抑えることができる。
【００９８】
なお、並列動画像符号化装置４２は３個以上の動画像符号化装置を含んでいても良い。
【００９９】
（第９の実施形態）
Ｈ．２６４では可変長符号化の方法としてＣＡＢＡＣを用いることができる。ＣＡＢＡＣは、１個の算術符号化回路を使用して１つのスライスに含まれる全ＭＢを連続的に処理する。一方、第１の実施形態〜第８の実施形態に記載した発明では、縦に連続する複数のＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、１つのＭＢ行当たり１個のＭＢを選択し、これら選択された複数のＭＢを１個のＭＢパイプラインに連続して投入する。このため、縦に連続するひとまとまりのＭＢ行に含まれる全てのＭＢの符号化が終了した後でなければ２値化シンボルを算術符号化することができない。しかし、あるＭＢを符号化したとき、その発生符号量が著しく多い場合がある。このような場合、早急に量子化パラメータを大きくし、新たに符号化するＭＢから発生する符号量を減少させるようにレート制御しなければならない。本実施形態では、第１の実施形態〜第８の実施形態に記載した発明が適用された動画像符号化装置においてＨ．２６４で規定されるＣＡＢＡＣ等の算術符号化を行う場合に、縦に連続するひとまとまりのＭＢ行に含まれる全てのＭＢの符号化が終了する前にレート制御を行う方法を示す。
【０１００】
２値化シンボルのシンボル長の総和から算術符号化の発生符号量を推定する方法がある。この方法によって推定される発生符号量によってレート制御を行えば、縦に連続するひとまとまりのＭＢ行に含まれる全てのＭＢの符号化終了を待たずにレート制御することができる。図２７は、推定発生符号量に基づいてレート制御を行うＣＡＢＡＣ符号化器のブロック図である。
【０１０１】
まず、シンタックスデータを２値化回路４３により２値化する。２値化回路４３は、ルックアップテーブルを含み、テーブルルックアップを用いて２値化シンボルへの変換を１サイクルで行う。そして、発生符号量推定回路４４により変換された２値化シンボルのシンボル長の総和からＭＢごとの発生符号量を推定し、制御部２２に推定発生符号量を送ってレート制御を行う。これにより、縦に連続するひとまとまりのＭＢ行に含まれる全てのＭＢの符号化が終了する前にレート制御を行うことができる。
【０１０２】
ここで、本発明が適用された動画像符号化装置では、ＭＢ行の先頭のＭＢを処理するとき、その上に隣り合ったＭＢ行の最後のＭＢの量子化パラメータはまだ求まっていない。しかし、量子化パラメータは直前に符号化したＭＢの量子化パラメータとの差分が２値化され、算術符号化される。そこで、ＭＢ行内の先頭のＭＢの量子化パラメータについては仮の値との差分（以下、仮ｍｂ＿ｑｐ＿ｄｅｌｔａという。）を２値化するものとする。なお、仮の値は、既に符号化済みのＭＢの量子化パラメータを参照して上に隣り合うＭＢ行内の最後のＭＢの量子化パラメータを推測して決定することが望ましい。一方、ＭＢ行内の先頭以外のＭＢの量子化パラメータは、Ｈ．２６４で規定されている通り、直前に符号化した左隣接ＭＢのものとの差分（以下、ｍｂ＿ｑｐ＿ｄｅｌｔａという。）を２値化する。
【０１０３】
次に、２値化シンボルをいったん２値化シンボル記憶回路４５で記憶し、縦に連続するひとまとまりのＭＢ行に含まれる全てのＭＢの符号化が終了した後、２値化シンボルを２値化シンボル記憶回路４５から読み出す。そして、コンテクスト情報復元回路４７を用いてそれに対応するコンテクスト情報を復元しながら、算術符号化回路４６により算術符号化を行う。コンテクスト情報復元回路４７の処理は、動画像復号装置で使用されるＣＡＢＡＣ復号回路内のコンテクスト情報復元処理とほぼ同一である。コンテクスト情報復元回路４７の処理フローを図２８に示す。スライスの先頭でコンテクスト情報を初期化する（ステップＳ５）。次に、変数tmpをクリアし（ステップＳ６）、シンタックスデータの２値化シンボルを１個取得する（ステップＳ７）。その後、算術符号化するｓｙｍｂｏｌのコンテクスト情報を取得し（ステップＳ８）、２値化シンボル記憶回路４５からｓｙｍｂｏｌを１ビット読み出す（ステップＳ９）。そして、コンテクスト情報とｓｙｍｂｏｌを算術符号化回路４６に出力する（ステップＳ１０）。変数ｔｍｐを１ビット左論理シフトした後、ＬＳＢにｓｙｍｂｏｌを連結する（ステップＳ１１）。この新たなｔｍｐがステップＳ７で取得した２値化シンボルと異なる場合にはステップＳ８に戻る（ステップＳ１２）。ｔｍｐが２値化シンボルと一致する場合にはスライスの最後か否か判定し、スライスの最後でない場合にはステップＳ６に戻り（ステップＳ１３）、ｔｍｐをクリアするとともに新たな２値化シンボルを取得する（ステップＳ６、Ｓ７）。スライスの最後である場合にはコンテクスト情報復元処理を終了する（ステップＳ１３）。
【０１０４】
ただし、ＭＢ行内の先頭のＭＢの仮ｍｂ＿ｑｐ＿ｄｅｌｔａを２値化シンボル記憶回路４５に記憶し、コンテクスト情報復元回路４７でＭＢ行内の先頭のＭＢの量子化パラメータを再現することとすると、上に隣り合うＭＢ行内の最後のＭＢの量子化パラメータを再現し、それとの差分を算出して実際のｍｂ＿ｑｐ＿ｄｅｌｔａを求めた後、再度２値化し、算術符号化しなければならない。その際、そのＭＢ行に含まれる全てのＭＢについてｍｂ＿ｑｐ＿ｄｅｌｔａを復号して量子化パラメータを再現することが必要となる。これを避けるために、ＭＢ行内の最後のＭＢについてはｍｂ＿ｑｐ＿ｄｅｌｔａとともに量子化パラメータそのものを２値化シンボル記憶回路４５に記憶することとしても良い。ＭＢ行内の最後のＭＢの量子化パラメータを一定のビット長として記憶することにより、コンテクスト情報復元回路４７でＭＢ行内の最後のＭＢの量子化パラメータと識別することができる。
【０１０５】
なお、２値化シンボル記憶回路４５は動画像符号化装置内部に無くても良く、外部メモリ４に２値化シンボルを記憶することとしても良い。
【０１０６】
本実施形態の方法には、算術符号化回路が突発的に増加する２値化シンボル発生量を処理できるだけの性能を有していなくても算術符号化することができるという利点がある。特に、２値化シンボル記憶回路４５にＩピクチャの２値化シンボルとその前後のＰピクチャやＢピクチャの２値化シンボルを記憶できるだけの十分な記憶容量を持たせれば、算術符号化回路４６にＩピクチャの２値化シンボル発生量を処理できるだけの性能を持たせる必要はなく、複数ピクチャの２値化シンボルの平均発生量を処理できるだけの性能を持たせれば足りるという利点がある。
【０１０７】
（第１０の実施形態）
本実施形態では、ＣＡＢＡＣを用いる動画像符号化装置に本発明を適用する場合における第９の実施形態とは別のレート制御方法を示す。図２９は、仮の発生符号量に基づいてレート制御を行うＣＡＢＡＣ符号化器のブロック図である。２値化シンボルをいったん２値化シンボル記憶回路４５に記憶し、２値化シンボル記憶回路４５から読み出してそれに対応するコンテクスト情報を復元しながら算術符号化（以下、真の算術符号化という。）を行う点については第９の実施形態と同じである。本実施形態では、２値化シンボルを仮算術符号化回路４８により仮算術符号化して仮の発生符号量を算出し、縦に連続するひとまとまりのＭＢ行に含まれる全てのＭＢの符号化が終了する前に仮の発生符号量に基づいてレート制御する点が異なる。
【０１０８】
ＭＢ行内の先頭のＭＢでは、通常上に隣り合うＭＢ行内の最後のＭＢの算術符号化が終えたときのｒａｎｇｅ、ｌｏｗ、および確率テーブルを引き継いで算術符号化を行う。しかし、本発明では縦に連続する複数のＭＢ行をひとまとまりとして符号化を進めるため、ＭＢ行内の先頭のＭＢを符号化するとき上に隣り合うＭＢ行内の最後のＭＢは符号化が終わっていない。このため、縦に連続するひとまとまりのＭＢ行の符号化が終了するまで、上に隣り合うＭＢ行内の最後のＭＢの算術符号化が終えたときのｒａｎｇｅ、ｌｏｗ、および確率テーブルを引き継いで算術符号化を行うことができない。そこで、ＭＢ行内の先頭のＭＢについては仮の値をｒａｎｇｅ、ｌｏｗ、および確率テーブルに設定して仮算術符号化を開始する。
【０１０９】
縦に連続する４つのＭＢ行をひとまとまりとして符号化を行う場合の仮算術符号化回路４８のブロック図を図３０に示す。コンテクスト計算部４９はｓｙｍｂｏｌごとにコンテキスト計算を行う。ｒａｎｇｅを記憶する部分５１〜５４、ｌｏｗを記憶する部分５５〜５８、および確率テーブル５９〜６２は４つのＭＢ行に対応して４個づつ存在する。ｒａｎｇｅ（ｎ）記憶部分５１、ｌｏｗ（ｎ）記憶部分５５、および確率テーブル（ｎ）５９は４つのＭＢ行のうち最も上のＭＢ行に対応する。ｒａｎｇｅ（ｎ＋１）記憶部分５２、ｌｏｗ（ｎ＋１）記憶部分５６、および確率テーブル（ｎ＋１）６０は上から２番目のＭＢ行に対応する。そして、ｒａｎｇｅ（ｎ＋２）記憶部分５３、ｌｏｗ（ｎ＋２）記憶部分５７、および確率テーブル（ｎ＋２）６１は上から３番目のＭＢ行に対応し、ｒａｎｇｅ（ｎ＋３）記憶部分５４、ｌｏｗ（ｎ＋３）記憶部分５８、および確率テーブル（ｎ＋３）６２は最も下のＭＢ行に対応する。ｒａｎｇｅを記憶する部分５１〜５４とｌｏｗを記憶する部分５５〜５８の内容は、４つのＭＢ行に含まれる個々のＭＢの算術符号化を開始するときのみ算術符号化部５０に読み込まれ、そのＭＢの算術符号化を終了するとき算術符号化部５０から書き込まれ更新される。
【０１１０】
ＭＢ行内の先頭のＭＢについて仮のｒａｎｇｅ、ｌｏｗ、および確率テーブルを設定する方法として３つ考えられる。最初の方法は、Ｈ．２６４で規定されている初期化を行う方法である。Ｈ．２６４ではスライスの先頭でｒａｎｇｅ、ｌｏｗ、および確率テーブルを初期化する。ＭＢ行内の先頭のＭＢについて仮算術符号化を開始するとき、この初期化を行う。
【０１１１】
２番目の方法は、縦に連続するひとまとまりのＭＢ行内の個々のＭＢ行ごとに、ＭＢ行内の最後のＭＢの算術符号化が終えたときのｒａｎｇｅ、ｌｏｗ、および確率テーブルを、その下に隣接するひとまとまりのＭＢ行内の対応するＭＢ行における先頭ＭＢに引き継ぐ方法である。縦に連続する４つのＭＢ行をひとまとまりとして符号化を行う場合を図３１に示す。図３１は１２のＭＢ行で構成されるピクチャを示す。ピクチャの最も上のひとまとまりの４つのＭＢ行については、個々のＭＢ行内の最初のＭＢのｒａｎｇｅ、ｌｏｗ、および確率テーブルはＨ．２６４で規定されている方法で初期化する。上から２番目のひとまとまりの４つのＭＢ行に含まれる個々のＭＢ行については、最も上のひとまとまりの４つのＭＢ行に含まれる個々のＭＢ行内の最後のＭＢの算術符号化が終えたときのｒａｎｇｅ、ｌｏｗ、および確率テーブルを引き継ぐ。同様に、上から３番目のひとまとまりの４つのＭＢ行については、上から２番目のひとまとまりの４つのＭＢ行に含まれる個々のＭＢ行内の最後のＭＢの算術符号化が終えたときのｒａｎｇｅ、ｌｏｗ、および確率テーブルを引き継ぐ。
【０１１２】
３番目の方法は、既に真の算術符号化を終了したピクチャの同じ位置にあるＭＢが引き継いだｒａｎｇｅ、ｌｏｗ、および確率テーブルと同じものを、ＭＢ行内の先頭のＭＢにおける仮のｒａｎｇｅ、ｌｏｗ、および確率テーブルとして設定する方法である。
【０１１３】
あるＭＢを符号化しているとき２値化シンボルが突発的に増加し、仮算術符号化回路４８の処理能力を超えたときは、そのＭＢについては途中で仮算術符号化を打ち切り、次のＭＢの仮算術符号化を開始しても良い。２値化シンボルの発生量が急激に増大した場合には、第９の実施形態と同様に２値化シンボルの発生量により発生符号量を推定し、これから符号化するＭＢの量子化パラメータを大きくし、２値化シンボルの発生量を減少させる等の方法によりレート制御を行うことができる。このため、突発的に発生する２値化シンボルの最大発生量を処理できるだけの性能を仮算術符号化回路４８に持たせる必要はない。また、本実施形態の方法でも、第９の実施形態の方法同様、２値化シンボル記憶回路４５に十分な記憶容量を持たせれば、真の算術符号化回路４６に複数ピクチャの２値化シンボルの平均発生量を処理できるだけの性能を持たせれば足りるという利点がある。
【０１１４】
仮算術符号化回路４８を複数設けることもできる。図３２は、２並列で仮算術符号化を行う場合の仮算術符号化回路６８のブロック図である。コンテクスト計算部４９と算術符号化部５０を２個づつ有する。一方の算術符号化部５０には、ｒａｎｇｅ（ｎ）記憶部分５１、ｌｏｗ（ｎ）記憶部分５５、確率テーブル（ｎ）５９、ｒａｎｇｅ（ｎ＋２）記憶部分５３、ｌｏｗ（ｎ＋２）記憶部分５７、および確率テーブル（ｎ＋２）６１が接続されており、ひとまとまりの４つのＭＢ行のうち最も上のＭＢ行と上から３番目のＭＢ行に含まれるＭＢを仮算術符号化する。また、もうひとつの算術符号化部５０には、ｒａｎｇｅ（ｎ＋１）記憶部分５２、ｌｏｗ（ｎ＋１）記憶部分５６、確率テーブル（ｎ＋１）６０、ｒａｎｇｅ（ｎ＋３）記憶部分５４、ｌｏｗ（ｎ＋３）記憶部分５８、および確率テーブル（ｎ＋３）６２が接続されており、ひとまとまりの４つのＭＢ行のうち上から２番目のＭＢ行と最も下のＭＢ行に含まれるＭＢを仮算術符号化する。第１の実施形態と類似したＭＢパイプラインのステージ構成において、図１中のｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列のＭＢが各ステージを流れていく様子を図３３に示す。このように、２並列で仮算術符号化を行うことにより、１つのＭＢの仮算術符号化を２ＭＢサイクルかけて行うことができる。なお、図３２中のメモリ６３、６５とメモリ６４、６６はそれぞれ２値化シンボルとシンタックッスデータを２ＭＢサイクル保持するために設けられている。
【０１１５】
第９の実施形態の方法は、直前の符号化済みピクチャの2 値化シンボル長と発生符号量との比率αが必要である。このため、シーンチェンジ等があった場合、発生符号量の推定が不正確となる。一方、本実施形態の方法は、同一ＭＢ行内のＭＢの算術符号化が行われるにつれて仮算術符号化に用いられる確率テーブルの値が正確なものに収束する。このため、シーンチェンジ等があった場合でも真の算術符号化による発生符号量に基づくレート制御に近いレート制御を行うことができる。
【０１１６】
（第１１の実施形態）
シンタックスデータを２値化以外の方法で圧縮していったん記憶した後、シンタックスデータを復元して２値化、算術符号化することもできる。例えば、Ｈ．２６４ではＣＡＢＡＣの他にＣＡＶＬＣも可変長符号化方式として規定されているが、ＣＡＶＬＣは１個のシンタックスデータを１ＣＫで可変長符号化することができる。ＣＡＶＬＣで圧縮する場合のＣＡＢＡＣ符号化器のブロック図を図３４に示す。シンタックスデータをＣＡＶＬＣ符号化回路６９で圧縮して発生したＣＡＶＬＣ符号化ビットストリームをＣＡＶＬＣ符号化ビットストリーム記憶回路７０にいったん記憶する。そして、ＣＡＶＬＣ符号化ビットストリーム記憶回路７０から読み出したＣＡＶＬＣ符号化ビットストリームをＣＡＶＬＣ復号回路７１で復号し、復元されたシンタックスデータを２値化回路４３により２値化し、算術符号化回路４６により算術符号化する。なお、図３４には、仮算術符号化を行い、仮発生符号量でレート制御する場合を示したが第９の実施形態で示したように、２値化シンボルのシンボル長の総和から算術符号化の発生符号量を推定し、レート制御しても良い。
【０１１７】
ここで、第９の実施形態で指摘したように、本発明が適用された動画像符号化装置では、ＭＢ行の先頭のＭＢを処理するとき、その上に隣り合ったＭＢ行の最後のＭＢの量子化パラメータはまだ求まっていない。そこで、第９の実施形態と同様に、ＭＢ行内の先頭のＭＢの量子化パラメータについては仮の値との差分（以下、仮ｍｂ＿ｑｐ＿ｄｅｌｔａという。）をＣＡＶＬＣで符号化し、ＭＢ行内の先頭以外のＭＢの量子化パラメータは直前に符号化した左隣接ＭＢのものとの差分（以下、ｍｂ＿ｑｐ＿ｄｅｌｔａという。）をＣＡＶＬＣで符号化するものとする。そして、ＭＢ行内の先頭のＭＢの量子化パラメータについては、上隣接ＭＢ行内の最後のＭＢの量子化パラメータを再現し、それとの差分を算出して実際のｍｂ＿ｑｐ＿ｄｅｌｔａを求めた後、２値化し、算術符号化する。その際、全てのＭＢについてｍｂ＿ｑｐ＿ｄｅｌｔａを復号して量子化パラメータを再現することを避けるために、ＭＢ行内の最後のＭＢについてｍｂ＿ｑｐ＿ｄｅｌｔａとともに量子化パラメータそのものをＣＡＶＬＣ符号化ビットストリーム記憶回路７０に記憶することとしても良い。
【０１１８】
シンタックスデータを圧縮し、復元できる可逆圧縮方法であれば、ＣＡＶＬＣ以外の方法を用いることもできる。すなわち、シンタックスデータを可逆圧縮して圧縮されたシンタックスデータをいったん記憶する。そして、この圧縮されたシンタックスデータを読み出してシンタックスデータを復元する。この復元されたシンタックスデータを２値化シンボルに変換し、算術符号化する。
【０１１９】
Ｈ．２６４では、entropy_coding_mode_flagを指定することにより、ピクチャごとにＣＡＶＬＣとＣＡＢＡＣを切り替えることができる。そこで、可逆圧縮方法としてＣＡＶＬＣを用いる場合には、あるＭＢの２値化シンボルの発生量が突発的に増加し、仮算術符号化した結果真の算術符号化回路４６の処理能力を超えると予測されるとき、そのＭＢを含むピクチャ全体をＣＡＶＬＣ符号化し、一方、仮算術符号化した結果真の算術符号化回路４６で処理できると予測されるとき、そのＭＢを含むピクチャ全体をＣＡＢＡＣ符号化することができる。これにより、真の算術符号化回路４６の性能が不測するという状況を確実に回避できる。
【０１２０】
また、ＣＡＶＬＣ符号化回路６９でＣＡＶＬＣ符号化ビットストリームの符号量を算出し、ＣＡＶＬＣ符号化と仮算術符号化の仮発生符号量を比較して、ピクチャごとに発生符号量が少ないと推測されるエントロピー符号化モードを選択することもできる。
【０１２１】
（第１２の実施形態）
本実施形態では、第８の実施形態で示した２つの動画像符号化装置４０と４１で構成される並列動画像符号化装置４２からＣＡＢＡＣで符号化された１本のビットストリームを生成する方法を示す。動画像符号化装置４０と４１から２値化シンボルが出力される並列動画像符号化装置のブロック図を図３５に示す。動画像符号化装置４０と４１から出力される２値化シンボルを共通の２値化シンボル記憶回路４５にいったん記憶する。そして、２値化シンボルを２値化シンボル記憶回路４５から読み出し、コンテクスト情報復元回路４７を用いてそれに対応するコンテクスト情報を復元しながら、算術符号化回路４６により算術符号化を行う。
【０１２２】
また、動画像符号化装置４０と４１からＣＡＶＬＣ符号化ビットストリームが出力される並列動画像符号化装置のブロック図を図３６に示す。動画像符号化装置４０と４１から出力されるＣＡＶＬＣ符号化ビットストリームを共通のＣＡＶＬＣ符号化ビットストリーム記憶回路７０にいったん記憶する。そして、ＣＡＶＬＣ符号化ビットストリームをＣＡＶＬＣ符号化ビットストリーム記憶回路７０から読み出し、ＣＡＶＬＣ復号回路７１により復号してシンタックスデータに戻した後、そのシンタックスデータを２値化し、算術符号化を行う。
【０１２３】
なお、並列動画像符号化装置４２は３個以上の動画像符号化装置を含んでいても良い。
【０１２４】
（第１３の実施形態）
Ｈ．２６４のＭＢＡＦＦ（Ｍａｃｒｏｂｌｏｃｋ  Ａｄａｐｔｉｖｅ  Ｆｒａｍｅ  Ｆｉｅｌｄ  Ｃｏｄｉｎｇ）では、縦に隣接する２つのＭＢをペア（以下、ＭＢペアという。）とし、１６画素×３２ラインごとにフィールド符号化とフレーム符号化を切り替えて符号化する。フィールド符号化とフレーム符号化のときのＭＢペアを図３７に示す。図３７（ａ）はフィールド符号化のときのＭＢペアである。３２ラインの画素のうち、奇数ラインでトップフィールドＭＢ７２を構成し、偶数ラインでボトムフィールドＭＢ７３を構成する。また、図３７（ｂ）はフレーム符号化のときのＭＢペアである。３２ラインのうち、上半分の１６ラインで上フレームＭＢ７４を構成し、下半分の１６ラインで下フレームＭＢ７５を構成する。トップフィールドＭＢ７２とボトムフィールドＭＢ７３はお互いに隣接ＭＢの関係にないが、上フレームＭＢ７４は下フレームＭＢ７５に対して上隣接ＭＢの関係にある。このため、フレーム符号化が選択された場合、下フレームＭＢ７５のＰＭＶは上フレームＭＢ７４のイントラ／インター判定結果を考慮して決定しなければならないという制限がある。また、下フレームＭＢ７５のイントラ予測は上フレームＭＢ７４の再生画素を用いるため、上フレームＭＢ７４について動き補償が行われ、再生画素が作成されなければ、下フレームＭＢ７５についてイントラ予測を行うことができないという制限がある。
【０１２５】
現ＭＢペアと左隣接ＭＢペアの両方ともフィールド符号化またはフレーム符号化が選択されている場合、現ＭＢペアに含まれる各々のＭＢの左隣接ＭＢはその左隣りに位置するＭＢのみである。しかし、現ＭＢペアと左隣接ＭＢペアのフィールド符号化／フレーム符号化の選択が異なる場合、左隣接ＭＢペアに含まれる両方のＭＢが現ＭＢペアに含まれる個々のＭＢの左隣接ＭＢとなる。現ＭＢペアはフィールド符号化が選択され、左隣接ＭＢペアはフレーム符号化が選択された場合を図３８（ａ）に示す。トップフィールドＭＢ７２の左隣接ＭＢには左隣接ＭＢペアに含まれる上フレームＭＢの奇数ライン７６と下フレームＭＢの奇数ライン７７が対応し、ボトムフィールドＭＢ７３の左隣接ＭＢには、上フレームＭＢの偶数ラインと下フレームＭＢの偶数ラインが対応する。また、現ＭＢペアはフレーム符号化が選択され、左隣接ＭＢペアはフィールド符号化が選択された場合を図３８（ｂ）に示す。上フレームＭＢ７４の左隣接ＭＢにはトップフィールドＭＢの上半分１６ライン７８とボトムフィールドＭＢの上半分１６ライン７９が対応し、下フレームＭＢ７５の左隣接ＭＢにはトップフィールドＭＢの下半分１６ラインとボトムフィールドＭＢの下半分１６ラインが対応する。このため、左隣接ＭＢペアに含まれる両方のＭＢについて動き補償が行われ、再生画素が算出されなければ、現ＭＢペアについてイントラ予測を行うことができないという制限がある。
【０１２６】
本実施形態では、ＭＢＡＦＦの場合に、縦に連続する８のＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、縦に連続する２つのＭＢ行当たり１つのＭＢペアを選択し、これら選択された４個のＭＢペアを１個のＭＢパイプラインに投入する例を示す。図３９は、ＭＢパイプラインに投入されるＭＢペアの例を示した説明図である。ピクチャは図７のものと同一であるが、上述した通りＭＢＡＦＦではＭＢペアがフィールド符号化されるかフレーム符号化されるかにより、２つのＭＢへのラインの割り当てが異なる。そこで、英字の大文字を用いてＭＢペアを構成するＭＢを示す。フィールド符号化のときは、Ｉ１５、Ｋ１３、Ｍ１１、Ｏ９等はトップフィールドＭＢ７２であり、Ｊ１５、Ｌ１３、Ｎ１１、Ｐ９等はボトムフィールドＭＢ７３である。また、フレーム符号化のときは、Ｉ１５、Ｋ１３、Ｍ１１、Ｏ９等は上フレームＭＢ７４であり、Ｊ１５、Ｌ１３、Ｎ１１、Ｐ９等は下フレームＭＢ７５である。
【０１２７】
図４０は、第１３の実施形態に係る動画像符号化装置のブロック図である。ＭＢペア選択回路８１は、例えば、図３９に示すようにｉ−ＭＢ行、ｊ−ＭＢ行、ｋ−ＭＢ行、ｌ−ＭＢ行、ｍ−ＭＢ行、ｎ−ＭＢ行、ｏ−ＭＢ行、ｐ−ＭＢ行をひとまとまりとし、ｉ−ＭＢ行とｊ−ＭＢ行に属するＭＢペアについては、左下隣接ＭＢペアがまだ選択されていないＭＢペアを選択し、かつ、ｋ−ＭＢ行とｌ−ＭＢ行、ｍ−ＭＢ行とｎ−ＭＢ行、ｏ−ＭＢ行とｐ−ＭＢ行に属するＭＢペアについては、右上隣接ＭＢペアが既に選択されているＭＢペアを選択することによって、Ｉ１５−Ｊ１５、Ｋ１３−Ｌ１３、Ｍ１１−Ｎ１１、Ｏ９−Ｐ９のＭＢペアを選択する。フィールドＭＢペア／フレームＭＢペア構成回路８２は、フィールド符号化が選択されたときは、ＭＢペアの奇数ラインでトップフィールドＭＢ７２を構成し、ＭＢペアの偶数ラインでボトムフィールドＭＢ７３を構成する。一方、フレーム符号化が選択されたときは、ＭＢペアの上半分のラインで上フレームＭＢ７４を構成し、ＭＢペアの下半分のラインで下フレームＭＢ７５を構成する。符号化データ設定回路８３は、フィールド符号化が選択されたとき、最初に、Ｉ１５−Ｊ１５、Ｋ１３−Ｌ１３、Ｍ１１−Ｎ１１、Ｏ９−Ｐ９のＭＢペアに含まれる片方のＭＢについて、４ＭＢサイクルかけて順番に、１ＭＢサイクルごとに個々のＭＢを符号化するために必要なデータをＭＢパイプライン８０に設定する。ＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定されると、そのＭＢはＭＢパイプライン８０に投入される。そして、２回目にＩ１５−Ｊ１５、Ｋ１３−Ｌ１３、Ｍ１１−Ｎ１１、Ｏ９−Ｐ９のＭＢペアに含まれる残りの片方のＭＢについて、４ＭＢサイクルかけて順番に、１ＭＢサイクルごとに個々のＭＢを符号化するために必要なデータをＭＢパイプライン８０に設定する。ＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定されると、そのＭＢはＭＢパイプライン８０に投入される。また、フレーム符号化が選択されたとき、Ｉ１５ＭＢ、Ｋ１３ＭＢ、Ｍ１１ＭＢ、Ｏ９ＭＢ、Ｊ１５ＭＢ、Ｌ１３ＭＢ、Ｎ１１ＭＢ、Ｐ９ＭＢの順番で、１マクロブロックサイクルごとに個々のＭＢを符号化するために必要なデータをＭＢパイプライン８０に設定する。ＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定されると、そのＭＢはＭＢパイプライン８０に投入される。ＭＢペア選択回路８１によって選択された最後のＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定され、そのＭＢがＭＢパイプライン８０に投入されると、ＭＢペア選択回路８１は、Ｉ１６−Ｊ１６、Ｋ１４−Ｌ１４、Ｍ１２−Ｎ１２、Ｏ１０−Ｐ１０のＭＢペアを新たに選択する。
【０１２８】
図４１は、第１３の実施形態に係る動画像符号化方法の処理のフローチャートを示す図である。例えば、図３９に示すようにｉ−ＭＢ行、ｊ−ＭＢ行、ｋ−ＭＢ行、ｌ−ＭＢ行、ｍ−ＭＢ行、ｎ−ＭＢ行、ｏ−ＭＢ行、ｐ−ＭＢ行をひとまとまりとし、ｉ−ＭＢ行とｊ−ＭＢ行に属するＭＢペアについては、左下隣接ＭＢペアがまだ選択されていないＭＢペアを選択し、かつ、ｋ−ＭＢ行とｌ−ＭＢ行、ｍ−ＭＢ行とｎ−ＭＢ行、ｏ−ＭＢ行とｐ−ＭＢ行に属するＭＢペアについては、右上隣接ＭＢペアが既に選択されているＭＢペアを選択することによって、Ｉ１５−Ｊ１５、Ｋ１３−Ｌ１３、Ｍ１１−Ｎ１１、Ｏ９−Ｐ９のＭＢペアが選択される（ステップＳ１４）。次に、フィールド符号化が選択されたときは、ＭＢペアの奇数ラインでトップフィールドＭＢ７２が構成され、ＭＢペアの偶数ラインでボトムフィールドＭＢ７３が構成される。一方、フレーム符号化が選択されたときは、ＭＢペアの上半分のラインで上フレームＭＢ７４が構成され、ＭＢペアの下半分のラインで下フレームＭＢ７５が構成される（ステップＳ１５、ステップＳ１６、ステップＳ２３）。そして、フィールド符号化が選択されたとき、最初に、Ｉ１５−Ｊ１５、Ｋ１３−Ｌ１３、Ｍ１１−Ｎ１１、Ｏ９−Ｐ９のＭＢペアに含まれる片方のＭＢについて、４ＭＢサイクルかけて順番に、１ＭＢサイクルごとに個々のＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定される（ステップＳ１７、ステップＳ１８、ステップＳ１９）。ＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定されると、そのＭＢはＭＢパイプライン８０に投入される。次に、Ｉ１５−Ｊ１５、Ｋ１３−Ｌ１３、Ｍ１１−Ｎ１１、Ｏ９−Ｐ９のＭＢペアに含まれる残りの片方のＭＢについて、４ＭＢサイクルかけて順番に、１ＭＢサイクルごとに個々のＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定される（ステップＳ２０、ステップＳ２１、ステップＳ２２）。ＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定されると、そのＭＢはＭＢパイプライン８０に投入される。また、フレーム符号化が選択されたとき、Ｉ１５ＭＢ、Ｋ１３ＭＢ、Ｍ１１ＭＢ、Ｏ９ＭＢ、Ｊ１５ＭＢ、Ｌ１３ＭＢ、Ｎ１１ＭＢ、Ｐ９ＭＢの順番で、１ＭＢサイクルごとに個々のＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定される（ステップＳ２４、ステップＳ２５、ステップＳ２６、ステップＳ２７、ステップＳ２８、ステップＳ２９）。ＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定されると、そのＭＢはＭＢパイプライン８０に投入される。選択された最後のＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定され、そのＭＢがＭＢパイプライン８０に投入されると、ステップＳ１４に戻り（ステップＳ２１、ステップＳ２８）、Ｉ１６−Ｊ１６、Ｋ１４−Ｌ１４、Ｍ１２−Ｎ１２、Ｏ１０−Ｐ１０のＭＢペアが新たに選択される（ステップＳ１４）。
【０１２９】
図４２は、８×８ＳＢごとの動きベクトルを検出するために、８つのＭＢ行に含まれるＭＢペアを１個のＭＢパイプラインに投入したとき、各ＭＢペアがＭＢパイプラインの各ステージを流れていく様子を示す。ここで、フィールド画像は縦方向の画素数がフレーム画像の半分であるため、縮小画像を作成するために縦方向について２画素の画素値を平均すると、フィールド画像とフレーム画像では異なる縮小画像となる。一方、縦単画素／横２画素精度の縮小画像では、フレームの縮小画像から奇数ラインを抜き出すとトップフィールドの縮小画像となり、フレームの縮小画像から偶数ラインを抜き出すとボトムフィールドの縮小画像となる。このため、本実施形態では、図４２に示すように、ステージ０で縦単画素／横２画素精度の参照領域をメモリに設定し、ステージ１では縦単画素／横２画素精度で動き検出を行う。
【０１３０】
また、本実施形態では、Ｉ１５、Ｋ１３、Ｍ１１、Ｏ９等のＭＢペアの片方のＭＢが４つ連続してＭＢパイプラインに投入された後、Ｊ１５、Ｌ１３、Ｎ１１、Ｐ９等のＭＢペアの残りの片方のＭＢが４つ連続して投入される。このように、ＭＢペアの片方のＭＢが連続してＭＢパイプラインに投入されるため、その順番で動きベクトルの参照領域を更新すると、更新領域が不連続となる。そこで、ステージ０で縦単画素／横２画素精度メモリを設定するときは、図２２に示すように、８つのＭＢ行の更新領域をひとまとまりの矩形領域として設定する。
【０１３１】
また、フィールド符号化とフレーム符号化のいずれかを選択するには、フィールド符号化とフレーム符号化の各々についてイントラ予測とインター予測の両方を行い、予測誤差の小さい符号化モードと予測モードの組合せを選択することが望ましい。しかし、この方法は膨大な演算量を必要とする。一方、現ＭＢペア内の画素のみで符号化モードを判定し、選択された方のみについてイントラ予測とインター予測を行う簡易的な選択法も考えられる。たとえば、３２ライン全てについて隣接したライン間で差分絶対値和または差分自乗和を求め、また、１ラインごと、すなわち奇数ライン１６本と偶数ライン１６本の隣接ライン間で差分絶対値和または差分自乗和を求めて、３２ライン全てについて求めた方が小さかったときはフレーム符号化、１ラインごとに求めた方が小さかったときはフィールド符号化とする等の方法である。最適な選択とはならない場合もあるが、演算量は少ない。本実施形態では、簡易的な選択法を用いることとし、ステージ０でフィールド／フレーム判定を行った後、選択された符号化モードについて、図４２に示すようにステージ１〜４でインター予測を行い、また、それと並列してステージ３と４で４×４イントラ予測、１６×１６イントラ予測等を行う。
【０１３２】
本実施形態では、第２の実施形態〜第４の実施形態と同様に縦に連続した８のＭＢ行をひとまとまりとして処理する。しかし、上記段落０１２２で指摘したように、フレーム符号化が選択された場合、上フレームＭＢ７４は下フレームＭＢ７５に対して上隣接ＭＢの関係にある。また、上記段落０１２３で指摘したように、現ＭＢペアと左隣接ＭＢペアのフィールド符号化／フレーム符号化の選択が異なる場合、左隣接ＭＢペアに含まれる両方のＭＢが現ＭＢペアに含まれる個々のＭＢの左隣接ＭＢとなる。このため、上フレームＭＢ７４の処理結果を３ステージ分しか下フレームＭＢ７５の処理にフィードバックできず、また、左隣接ＭＢペアの処理結果を３ステージ分しか現ＭＢペアの処理にフィードバックできず、縦に連続した４つのＭＢ行をひとまとまりとして処理する第５の実施形態と同様の制限が生じる。
【０１３３】
具体的には、例えば、ステージ５でＩ１５ＭＢのイントラ・インター判定が終了したとき、同時にステージ１においてＪ１５ＭＢの縦単画素／横２画素精度動き検出も終了する。このため上フレームＭＢ７４のイントラ・インター判定結果を下フレームＭＢ７５の縦単画素／横２画素精度動き検出に反映できないという制限がある。ただし、図４２中に矢印で示すように、上フレームＭＢ７４のイントラ・インター判定結果はステージ２以降に反映できる。また、左隣接ＭＢペア、上隣接ＭＢペア、右上隣接ＭＢペア等についてステージ５で確定したイントラ・インター判定結果はステージ１の縦単画素／横２画素精度動き検出に反映できる。そこで、ステージ１においては、左隣接ＭＢペア、上隣接ＭＢペア、右上隣接ＭＢペア等の動きベクトルを参照して仮のＰＭＶを作成し、下フレームＭＢ７５内の４つの８×８ＳＢ全てが共通にこの仮のＰＭＶを参照して縦単画素／横２画素精度動き検出を行う。そして、ステージ２ではステージ１で検出された縦単画素／横２画素精度の候補動きベクトルの周辺領域を単画素精度メモリに設定し、ステージ３で真のＰＭＶを作成し、ステージ３とステージ４で真のＰＭＶを参照して単画素精度動き検出と１／４画素精度動き検出を行う。
【０１３４】
図４３はステージ３と４におけるＳＢパイプラインの詳細な動作を示す。１つのＭＢ内に含まれる４つの８×８ＳＢについて０番から３番までシリアルに処理される。このため、単画素精度動き検出と１／４画素精度動き検出では隣接８×８ＳＢの動きベクトルを考慮した真のＰＭＶに基づいて動き検出を行うことができる。
【０１３５】
ただし、本実施形態では、空間ダイレクトアドレスの評価が別途必要となる。ステージ１で仮のＰＭＶに基づいて縦単画素／横２画素精度動き検出が行われ、ステージ２ではステージ１で検出された候補動きベクトルの周辺領域が単画素精度メモリに設定される。ステージ１の仮のＰＭＶとステージ３の真のＰＭＶが異なる場合、ステージ３と４で動き検出する領域に空間ダイレクトアドレスに対応する位置のＭＢや８×８ＳＢ等が含まれない場合がある。そこで、ステージ３およびステージ４と並列に空間ダイレクトアドレスに対応する位置のＭＢや８×８ＳＢのコストを評価する処理を行う必要がある。
【０１３６】
４×４イントラ予測のために、８つのＭＢ行に含まれるＭＢペアを１個のＭＢパイプラインに投入したとき、個々のＭＢペアがＭＢパイプラインの各ステージを流れていく様子を図４４に示す。また、図４５はステージ３と４におけるＳＢパイプラインの詳細な動作を示す。ここで、上記段落０１２２と段落０１２３で指摘した条件を満たすために、第５の実施形態と同様に動き補償はステージ６で行われる。すなわち、上フレームＭＢ７４について動き補償が行われた後に下フレームＭＢ７５についてイントラ予測が行われ、かつ、左隣接ＭＢペアに含まれる両方のＭＢについて動き補償が行われた後に現ＭＢペアについてイントラ予測が行われるという条件を満たすために、動き補償はステージ６で行われる。
【０１３７】
また、ステージ７の可変長符号化による発生符号量の変動を調整するため、量子化パラメータを変更するというレート制御をステージ８で行う必要が生じる場合がある。この場合、第５の実施形態と同様に、ステージ５のイントラ・インター判定において４×４イントラ予測モードを選択しないようにするか、または４×４イントラ予測モードが選択されたときはステージ６で新しい量子化パラメータを用いて整数変換・量子化・逆量子化・逆整数変換をやり直す必要がある。
【０１３８】
なお、本実施形態で示したＭＢパイプラインのステージ構成は一例であって、他のステージ構成とすることも可能である。そして、ステージ構成が変われば、ひとまとまりとして符号化する縦に連続する複数のＭＢ行の数が同じであっても、動き検出やイントラ予測等における制約は変わる。
【０１３９】
また、本実施形態に記載された発明と第６の実施形態〜第１２の実施形態に記載された発明を同時に動画像符号化装置に適用することも可能である。
【図面の簡単な説明】
【０１４０】
【図１】ＭＢパイプラインに連続して投入されるＭＢの例を示した説明図である。
【図２】本発明が適用される動画像符号化装置のブロック図である。
【図３】本発明が適用される動画像符号化方法の処理のフローチャートである。
【図４】図１に例示される４個のＭＢを１個のＭＢパイプラインに連続して投入したときに、各ＭＢがＭＢパイプラインの各ステージを流れていく様子を示した説明図である。
【図５】図１のピクチャを構成する各ＭＢがＭＢパイプラインに投入され、ステージ０の処理が開始されるＭＢサイクル番号を示した説明図である。
【図６】８画素×８画素の４つのＳＢに分割されたＭＢを示した説明図である。
【図７】ＭＢパイプラインに連続して投入されるＭＢの例を示した説明図である。
【図８】８画素×８画素ＳＢごとの動きベクトルを検出するために、８つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢが各ステージを流れていく様子を示した説明図である。
【図９】本発明が適用される動きベクトル検出回路のブロック図である。
【図１０】８画素×８画素ＳＢごとの動きベクトルを検出するためのＳＢパイプラインの詳細な動作を示した説明図である。
【図１１】８画素×８画素ＳＢごとの動きベクトルを検出するためのＳＢパイプラインの詳細な動作を示した説明図である。
【図１２】本発明が適用される動きベクトル検出回路のブロック図である。
【図１３】１６個の４画素×４画素ＳＢに分割されたＭＢを示した説明図である。
【図１４】４画素×４画素イントラ予測のために、８つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢが各ステージを流れていく様子を示した説明図である。
【図１５】４画素×４画素イントラ予測のためのＳＢパイプラインの詳細な動作を示した説明図である。
【図１６】８×８ＳＢごとの動きベクトルを検出するために、４つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢがＭＢパイプラインの各ステージを流れていく様子を示した説明図である。
【図１７】８画素×８画素ＳＢごとの動きベクトルを検出するためのＳＢパイプラインの詳細な動作を示した説明図である。
【図１８】４画素×４画素イントラ予測のために、４つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢが各ステージを流れていく様子を示した説明図である。
【図１９】４画素×４画素イントラ予測のためのＳＢパイプラインの詳細な動作を示した説明図である。
【図２０】内部メモリを有する動画像符号化装置のブロック図である。
【図２１】縦に連続する４つのＭＢ行に含まれる４個のＭＢを１個のＭＢパイプラインで処理する場合の参照領域を示した説明図である。
【図２２】参照領域用メモリに参照領域を記憶するもう一つの方法を示した説明図である。
【図２３】広い範囲で動きを検出できる動き検出装置と、本発明が適用されたＭＢパイプラインを含む動画像符号化装置の組み合わせを示した説明図である。
【図２４】２つの動画像符号化装置と内部メモリを有する並列動画像符号化装置のブロック図である。
【図２５】２つの動画像符号化装置が分担するピクチャの領域を示した説明図である。
【図２６】２つの動画像符号化装置に含まれるＭＢパイプラインの各ステージをＭＢが流れていく様子を示した説明図である。
【図２７】推定発生符号量に基づいてレート制御を行うＣＡＢＡＣ符号化器のブロック図である。
【図２８】コンテクスト情報復元回路の処理フローを示す図である。
【図２９】仮の発生符号量に基づいてレート制御を行うＣＡＢＡＣ符号化器のブロック図である。
【図３０】縦に連続する４つのＭＢ行をひとまとまりとして符号化を行う場合の仮算術符号化回路のブロック図である。
【図３１】仮算術符号化回路においてＭＢ行内の先頭のＭＢについて仮のｒａｎｇｅ、ｌｏｗ、および確率テーブルを設定する方法の一つを説明する図である。
【図３２】２並列で仮算術符号化を行う場合の仮算術符号化回路のブロック図である。
【図３３】２並列で仮算術符号化を行う場合にＭＢがＭＢパイプラインの各ステージを流れていく様子を示した説明図である。
【図３４】ＣＡＶＬＣで圧縮する場合のＣＡＢＡＣ符号化器のブロック図である。
【図３５】２つの動画像符号化装置で構成される並列動画像符号化装置から２値化シンボルを出力し、ＣＡＢＡＣで符号化された１本のビットストリームを生成する並列動画像符号化装置のブロック図である。
【図３６】２つの動画像符号化装置で構成される並列動画像符号化装置からＣＡＶＬＣ符号化ビットストリームを出力し、ＣＡＢＡＣで符号化された１本のビットストリームを生成する並列動画像符号化装置のブロック図である。
【図３７】フィールド符号化が選択されたときのＭＢペアとフレーム符号化が選択されたときのＭＢペアを示した説明図である。
【図３８】現ＭＢペアはフィールド符号化が選択され、左隣接ＭＢペアはフレーム符号化が選択された場合の左隣接ＭＢペアと、現ＭＢペアはフレーム符号化が選択され、左隣接ＭＢペアはフィールド符号化が選択された場合の左隣接ＭＢペアを示した説明図である。
【図３９】ＭＢパイプラインに投入されるＭＢペアの例を示した説明図である。
【図４０】第１３の実施形態に係る動画像符号化装置のブロック図である。
【図４１】第１３の実施形態に係る動画像符号化方法の処理のフローチャートを示す図である。
【図４２】８画素×８画素ＳＢごとの動きベクトルを検出するために、８つのＭＢ行に含まれるＭＢペアを１個のＭＢパイプラインに投入したとき、各ＭＢペアが各ステージを流れていく様子を示した説明図である。
【図４３】８画素×８画素ＳＢごとの動きベクトルを検出するためのＳＢパイプラインの詳細な動作を示した説明図である。
【図４４】４画素×４画素イントラ予測のために、８つのＭＢ行に含まれるＭＢペアを１個のＭＢパイプラインに投入したとき、各ＭＢペアがＭＢパイプラインの各ステージを流れていく様子を示した説明図である。
【図４５】４画素×４画素イントラ予測のためのＳＢパイプラインの詳細な動作を示した説明図である。
【図４６】ＭＰＥＧ−２の符号化器のブロック図である。
【図４７】Ｈ．２６４の符号化器のブロック図である。
【図４８】従来のＨ．２６４の符号化器のＭＢパイプラインにおいて、ＭＢがＭＢパイプラインの各ステージを流れていく様子を示した説明図である。
【図４９】従来の動画像符号化装置の構成を示したブロック図である。
【図５０】隣接する２つのＭＢの参照領域の例を示した説明図である。
【図５１】ピクチャ分割方法を示した説明図である。
【図５２】ＣＡＢＡＣ符号化器のブロック図である。
【図５３】算術符号化回路の処理内容を表すBiari_encode_symbol処理フローである。
【図５４】ｓｙｍｂｏｌがＬＰＳであるときのｒａｎｇｅとｌｏｗの変化と、ｓｙｍｂｏｌがＭＰＳであるときのｒａｎｇｅとｌｏｗの変化を示した説明図である。
【符号の説明】
【０１４１】
１、８０…ＭＢパイプライン、２…ＭＢ選択回路、３、８３…符号化データ設定回路、１４…参照領域用メモリ、１５…バッファメモリ、２０…可変長符号化部、２３、４０、４１…動画像符号化装置、２４、２５、２６、２７…ＭＢ、２８、２９、３０、３１、３６…参照領域、３２、３３、３４、３５、３７…更新領域、２８、２９、３０、３４を全て含む矩形の領域、３９…内部メモリ、４２…並列動画像符号化装置、４３…２値化回路、４４…発生符号量推定回路、４５…２値化シンボル記憶回路、４６…算術符号化回路、４７…コンテクスト情報復元回路、４８…仮算術符号化回路、６８…２並列で仮算術符号化を行う仮算術符号化回路、６９…ＣＡＶＬＣ符号化回路、７０…ＣＡＶＬＣ符号化ビットストリーム記憶回路、７１…ＣＡＶＬＣ復号回路、７２…トップフィールドＭＢ、７３…ボトムフィールドＭＢ、７４…上フレームＭＢ、７５…下フレームＭＢ、７６…上フレームＭＢ奇数ライン、７７…下フレームＭＢ奇数ライン、７８…トップフィールドＭＢ上半分１６ライン、７９…ボトムフィールドＭＢ上半分１６ライン、８１…ＭＢペア選択回路、８２…フィールドＭＢペア／フレームＭＢペア構成回路
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図３５
【補正方法】変更
【補正の内容】
【図３５】
2007312340.tif 000057
【手続補正書】
【提出日】平成19年5月6日(2007.5.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を、縦方向に連続するｍ行（ｍは２以上の整数）ずつひとまとまりとして符号化を行い、個々のマクロブロック行の中では、左端のマクロブロックから符号化を開始し、右に隣接したマクロブロックを順番に符号化する動画像符号化装置であって、
動画像符号化の処理を複数のステージに分割し、個々のマクロブロックをステージごとに１マクロブロックサイクルかけて処理し、１マクロブロックサイクルごとに１個のマクロブロックの符号化を終了するマクロブロックパイプラインを有し、
ｍマクロブロックサイクルごとに、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始し、
前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行から最も下のマクロブロック行まで、各マクロブロック行に含まれるマクロブロックが順番に、上に隣接したマクロブロック行に含まれるマクロブロックが前記マクロブロックパイプラインに投入されてから１マクロブロックサイクル後に前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始する
動画像符号化装置。
【請求項２】
前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行から最も下のマクロブロック行までのマクロブロック行に含まれる前記マクロブロックは、当該マクロブロックが前記マクロブロックパイプラインに含まれる第１のステージにおいて処理されるとき、当該マクロブロックが前記マクロブロックパイプラインに投入される１マクロブロックサイクル前に前記マクロブロックパイプラインに投入されたマクロブロックを除き、上に隣接したマクロブロック行に含まれるマクロブロックが当該第１のステージより後に実行される第２のステージにおいて処理された結果を用いて処理されることができる
請求項１に記載の動画像符号化装置。
【請求項３】
前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行から最も下のマクロブロック行までのマクロブロック行において、前記マクロブロックパイプラインに投入されるマクロブロックは、当該マクロブロックが前記マクロブロックパイプラインに投入される１マクロブロックサイクル前に前記マクロブロックパイプラインに投入されたマクロブロックより左に位置し、当該マクロブロックが前記マクロブロックパイプラインに投入される１マクロブロックサイクル前に前記マクロブロックパイプラインに投入されたマクロブロックが右上隣接マクロブロックではないマクロブロックである
請求項１に記載の動画像符号化装置。
【請求項４】
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を、縦方向に連続する２ｎ行（ｎは２以上の整数）ずつひとまとまりとし、縦方向に隣接する２個のマクロブロックを組み合わせてマクロブロックペアを作成してマクロブロックペアごとにフィールド符号化とフレーム符号化を切り替えて符号化を行い、縦方向に隣接する２行のマクロブロック行の中では、左端のマクロブロックペアから符号化を開始し、右に隣接したマクロブロックペアを順番に符号化する動画像符号化装置であって、
動画像符号化の処理を複数のステージに分割し、個々のマクロブロックをステージごとに１マクロブロックサイクルかけて処理し、１マクロブロックサイクルごとに１個のマクロブロックの符号化を終了するマクロブロックパイプラインを有し、
２ｎマクロブロックサイクルごとに、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該片方のマクロブロックの符号化を開始し、
前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行まで、縦方向に隣接する２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックが順番に、上に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入されてから１マクロブロックサイクル後に前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該片方のマクロブロックの符号化を開始し、
前記ひとまとまりのマクロブロック行の中の前記最も下に位置する２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入されてから１マクロブロックサイクル後に、前記ひとまとまりのマクロブロック行の中の前記最も上に位置する２行のマクロブロック行に属する前記マクロブロックペアに含まれるマクロブロックであって、まだ前記マクロブロックパイプラインに投入されていない他の片方のマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該他の片方のマクロブロックの符号化を開始し、
前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行まで、縦方向に隣接する２行のマクロブロック行に属するマクロブロックペアに含まれるマクロブロックであって、まだ前記マクロブロックパイプラインに投入されていない他の片方のマクロブロックが順番に、上に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれる他の片方のマクロブロックが前記マクロブロックパイプラインに投入されてから１マクロブロックサイクル後に前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該他の片方のマクロブロックの符号化を開始する
動画像符号化装置。
【請求項５】
前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行までの縦方向に隣接する２行のマクロブロック行に属する前記マクロブロックペアに含まれる片方のマクロブロックは、当該マクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに含まれる第１のステージにおいて処理されるとき、当該片方のマクロブロックが前記マクロブロックパイプラインに投入される１マクロブロックサイクル前に前記マクロブロックパイプラインに投入された片方のマクロブロックが含まれるマクロブロックペアを除き、上に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれるマクロブロックが当該第１のステージより後に実行される第２のステージにおいて処理された結果を用いて処理されることができ、
前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行までの縦方向に隣接する２行のマクロブロック行に属する前記マクロブロックペアに含まれる他の片方のマクロブロックは、当該マクロブロックペアに含まれる他の片方のマクロブロックが前記マクロブロックパイプラインに含まれる第１のステージにおいて処理されるとき、当該他の片方のマクロブロックが前記マクロブロックパイプラインに投入される１マクロブロックサイクル前に前記マクロブロックパイプラインに投入された他の片方のマクロブロックが含まれるマクロブロックペアを除き、上に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれるマクロブロックが当該第１のステージより後に実行される第２のステージにおいて処理された結果を用いて処理されることができる
請求項４に記載の動画像符号化装置。
【請求項６】
前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行において、前記マクロブロックパイプラインに投入される片方のマクロブロックと他の片方のマクロブロックが含まれるマクロブロックペアは、当該片方のマクロブロックまたは当該他の片方のマクロブロックが前記マクロブロックパイプラインに投入される１マクロブロックサイクル前に前記マクロブロックパイプラインに投入されたマクロブロックが含まれるマクロブロックペアより左に位置し、当該片方のマクロブロックまたは当該他の片方のマクロブロックが前記マクロブロックパイプラインに投入される１マクロブロックサイクル前に前記マクロブロックパイプラインに投入されたマクロブロックが含まれるマクロブロックペアが右上隣接マクロブロックペアではないマクロブロックである
請求項４に記載の動画像符号化装置。
【請求項７】
ピクチャの最も上の前記ひとまとまりのマクロブロック行から符号化を開始し、下に隣接した前記ひとまとまりのマクロブロック行を順番に符号化する
請求項１から請求項６までのいずれか１項に記載の動画像符号化装置。
【請求項８】
動画像符号化の処理を複数のステージに分割し、個々のマクロブロックをステージごとに１マクロブロックサイクルかけて処理し、１マクロブロックサイクルごとに１個のマクロブロックの符号化を終了するマクロブロックパイプラインと、
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を、縦方向に連続する少なくても２行ずつひとまとまりとし、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックについては、左下隣接マクロブロックがまだ選択されていないマクロブロックを選択し、かつ、前記ひとまとまりのマクロブロック行の中の最も上以外のマクロブロック行に属するマクロブロックについては、右上隣接マクロブロックが既に選択されているマクロブロックを選択することによって、前記ひとまとまりのマクロブロック行に含まれるマクロブロックを１マクロブロック行当たり１個選択するマクロブロック選択部と、
前記マクロブロック選択部によって選択された個々のマクロブロックについて、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックから、最も下のマクロブロック行に属するマクロブロックまで順番に、１マクロブロックサイクルごとに個々のマクロブロックを符号化するために必要なデータを前記マクロブロックパイプラインに設定する符号化データ設定部と
を有し、
前記符号化データ設定部によってマクロブロックを符号化するために必要な前記データが設定されると、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始し、
前記符号化データ設定部によって前記ひとまとまりのマクロブロック行の中の最も下のマクロブロック行に属するマクロブロックを符号化するために必要な前記データが前記マクロブロックパイプラインに設定されると、前記マクロブロック選択部が前記選択されている個々のマクロブロックごとにその右隣接マクロブロックを新たに選択する
動画像符号化装置。
【請求項９】
前記マクロブロックパイプラインが、マクロブロックが分割されたサブブロックごとの処理を行うサブブロックパイプライン
を含む請求項１から請求項８までのいずれか１項に記載の動画像符号化装置。
【請求項１０】
前記ひとまとまりのマクロブロック行に含まれるマクロブロックを、各マクロブロック行当たり１個符号化するために必要な全てのデータを記憶する内部メモリ
を有する請求項１から請求項９までのいずれか１項に記載の動画像符号化装置。
【請求項１１】
請求項１から請求項１０までのいずれか１項に記載の動画像符号化装置が少なくても２台含まれ、
縦方向に連続した前記ひとまとまりのマクロブロック行が個々の前記動画像符号化装置に割り当てられ、当該縦方向に連続した前記ひとまとまりのマクロブロック行が並列に符号化される
動画像符号化装置。
【請求項１２】
シンタックスデータを２値化シンボルに変換する２値化部と、
前記２値化シンボルを記憶する２値化シンボル記憶部と、
前記２値化シンボル記憶部から読み出した２値化シンボルに対応するコンテクスト情報を復元するコンテクスト情報復元部と、
前記２値化シンボル記憶部から読み出した２値化シンボルを、前記コンテクスト情報復元部により復元されたコンテクスト情報に基づいて算術符号化する算術符号化部と
を有する請求項１から請求項１０までのいずれか１項に記載の動画像符号化装置。
【請求項１３】
前記２値化部により変換された２値化シンボルを仮算術符号化して仮発生符号量を算出する仮算術符号化部
を有する請求項１２に記載の動画像符号化装置。
【請求項１４】
シンタックスデータを可逆圧縮するシンタックスデータ圧縮部と、
前記シンタックスデータ圧縮部により圧縮されたシンタックスデータを記憶する圧縮シンタックスデータ記憶部と、
前記圧縮シンタックスデータ記憶部から前記圧縮されたシンタックスデータを読み出して前記シンタックスデータを復元するシンタックスデータ復元部と、
前記シンタックスデータ復元部により復元された前記シンタックスデータを２値化シンボルに変換する２値化部と、
前記２値化部によって変換された２値化シンボルを算術符号化する算術符号化部と
を有する請求項１から請求項１０までのいずれか１項に記載の動画像符号化装置。
【請求項１５】
前記シンタックスデータ圧縮部が、前記シンタックスデータをＣＡＶＬＣで圧縮する
請求項１４に記載の動画像符号化装置。
【請求項１６】
動画像符号化の処理を複数のステージに分割し、個々のマクロブロックをステージごとに１マクロブロックサイクルかけて処理し、１マクロブロックサイクルごとに１個のマクロブロックの符号化を終了するマクロブロックパイプラインを含み、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を、縦方向に連続する少なくても２行ずつひとまとまりとして符号化を行い、個々のマクロブロック行の中では、左端のマクロブロックから符号化を開始し、右に隣接したマクロブロックを順番に符号化する動画像符号化装置における動画像符号化方法であって、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始する第１のステップと、
前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行から最も下のマクロブロック行まで、各マクロブロック行に含まれるマクロブロックが順番に、上に隣接したマクロブロック行に含まれるマクロブロックが前記マクロブロックパイプラインに投入されてから１マクロブロックサイクル後に前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始する第２のステップと、
を有し、
前記第１のステップと前記第２のステップを繰り返す
動画像符号化方法。
【請求項１７】
前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行から最も下のマクロブロック行までのマクロブロック行に含まれる前記マクロブロックは、当該マクロブロックが前記マクロブロックパイプラインに含まれる第１のステージにおいて処理されるとき、当該マクロブロックが前記マクロブロックパイプラインに投入される１マクロブロックサイクル前に前記マクロブロックパイプラインに投入されたマクロブロックを除き、上に隣接したマクロブロック行に含まれるマクロブロックが当該第１のステージより後に実行される第２のステージにおいて処理された結果を用いて処理されることができる
請求項１６に記載の動画像符号化方法。
【請求項１８】
前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行から最も下のマクロブロック行までのマクロブロック行において、前記マクロブロックパイプラインに投入されるマクロブロックは、当該マクロブロックが前記マクロブロックパイプラインに投入される１マクロブロックサイクル前に前記マクロブロックパイプラインに投入されたマクロブロックより左に位置し、当該マクロブロックが前記マクロブロックパイプラインに投入される１マクロブロックサイクル前に前記マクロブロックパイプラインに投入されたマクロブロックが右上隣接マクロブロックではないマクロブロックである
請求項１６に記載の動画像符号化方法。
【請求項１９】
動画像符号化の処理を複数のステージに分割し、個々のマクロブロックをステージごとに１マクロブロックサイクルかけて処理し、１マクロブロックサイクルごとに１個のマクロブロックの符号化を終了するマクロブロックパイプラインを含み、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を、縦方向に連続する少なくても４行の偶数行ずつひとまとまりとし、縦方向に隣接する２個のマクロブロックを組み合わせてマクロブロックペアを作成してマクロブロックペアごとにフィールド符号化とフレーム符号化を切り替えて符号化を行い、縦方向に隣接する２行のマクロブロック行の中では、左端のマクロブロックペアから符号化を開始し、右に隣接したマクロブロックペアを順番に符号化する動画像符号化装置における動画像符号化方法であって、
前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該片方のマクロブロックの符号化を開始する第１のステップと、
前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行まで、縦方向に隣接する２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックが順番に、上に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入されてから１マクロブロックサイクル後に前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該片方のマクロブロックの符号化を開始する第２のステップと、
前記ひとまとまりのマクロブロック行の中の前記最も下に位置する２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入されてから１マクロブロックサイクル後に、前記ひとまとまりのマクロブロック行の中の前記最も上に位置する２行のマクロブロック行に属する前記マクロブロックペアに含まれるマクロブロックであって、まだ前記マクロブロックパイプラインに投入されていない他の片方のマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該他の片方のマクロブロックの符号化を開始する第３のステップと、
前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行まで、縦方向に隣接する２行のマクロブロック行に属するマクロブロックペアに含まれるマクロブロックであって、まだ前記マクロブロックパイプラインに投入されていない他の片方のマクロブロックが順番に、上に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれる他の片方のマクロブロックが前記マクロブロックパイプラインに投入されてから１マクロブロックサイクル後に前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該他の片方のマクロブロックの符号化を開始する第４のステップと
を有し、
前記第１のステップから前記第４のステップまでを繰り返す
動画像符号化方法。
【請求項２０】
前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行までの縦方向に隣接する２行のマクロブロック行に属する前記マクロブロックペアに含まれる片方のマクロブロックは、当該マクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに含まれる第１のステージにおいて処理されるとき、当該片方のマクロブロックが前記マクロブロックパイプラインに投入される１マクロブロックサイクル前に前記マクロブロックパイプラインに投入された片方のマクロブロックが含まれるマクロブロックペアを除き、上に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれるマクロブロックが当該第１のステージより後に実行される第２のステージにおいて処理された結果を用いて処理されることができ、
前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行までの縦方向に隣接する２行のマクロブロック行に属する前記マクロブロックペアに含まれる他の片方のマクロブロックは、当該マクロブロックペアに含まれる他の片方のマクロブロックが前記マクロブロックパイプラインに含まれる第１のステージにおいて処理されるとき、当該他の片方のマクロブロックが前記マクロブロックパイプラインに投入される１マクロブロックサイクル前に前記マクロブロックパイプラインに投入された他の片方のマクロブロックが含まれるマクロブロックペアを除き、上に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれるマクロブロックが当該第１のステージより後に実行される第２のステージにおいて処理された結果を用いて処理されることができる
請求項１９に記載の動画像符号化方法。
【請求項２１】
前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行において、前記マクロブロックパイプラインに投入される片方のマクロブロックと他の片方のマクロブロックが含まれるマクロブロックペアは、当該片方のマクロブロックまたは当該他の片方のマクロブロックが前記マクロブロックパイプラインに投入される１マクロブロックサイクル前に前記マクロブロックパイプラインに投入されたマクロブロックが含まれるマクロブロックペアより左に位置し、当該片方のマクロブロックまたは当該他の片方のマクロブロックが前記マクロブロックパイプラインに投入される１マクロブロックサイクル前に前記マクロブロックパイプラインに投入されたマクロブロックが含まれるマクロブロックペアが右上隣接マクロブロックペアではないマクロブロックである
請求項１９に記載の動画像符号化方法。
【請求項２２】
ピクチャの最も上の前記ひとまとまりのマクロブロック行から符号化を開始し、下方向に隣接した前記ひとまとまりのマクロブロックを順番に符号化するステップ
を有する請求項１６から請求項２１までのいずれか１項に記載の動画像符号化方法。
【請求項２３】
動画像符号化の処理を複数のステージに分割し、個々のマクロブロックをステージごとに１マクロブロックサイクルかけて処理し、１マクロブロックサイクルごとに１個のマクロブロックの符号化を終了するマクロブロックパイプラインを含む動画像符号化装置における動画像符号化方法であって、
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行が、縦方向に連続する少なくても２行ずつひとまとまりとされ、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックについては、左下隣接マクロブロックがまだ選択されていないマクロブロックが選択され、かつ、前記ひとまとまりのマクロブロック行の中の最も上以外のマクロブロック行に属するマクロブロックについては、右上隣接マクロブロックが既に選択されているマクロブロックが選択されることによって、前記ひとまとまりのマクロブロック行に含まれるマクロブロックが１マクロブロック行当たり１個選択される第１のステップと、
前記第１のステップによって選択された個々のマクロブロックについて、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックから、最も下のマクロブロック行に属するマクロブロックまで順番に、１マクロブロックサイクルごとに個々のマクロブロックを符号化するために必要なデータが前記マクロブロックパイプラインに設定され、当該マクロブロックを符号化するために必要なデータが設定されると、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始する第２のステップと、
前記第２のステップによって前記ひとまとまりのマクロブロック行の中の最も下のマクロブロック行に属するマクロブロックの符号化が開始されると、前記第１のステップに戻り、前記選択されている個々のマクロブロックごとにその右隣接マクロブロックが新たに選択される第３のステップと
を有する動画像符号化方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
本発明の動画像符号化装置は、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を、縦方向に連続するｍ行（ｍは２以上の整数）ずつひとまとまりとして符号化を行い、個々のマクロブロック行の中では、左端のマクロブロックから符号化を開始し、右に隣接したマクロブロックを順番に符号化する動画像符号化装置であって、動画像符号化の処理を複数のステージに分割し、個々のマクロブロックをステージごとに１マクロブロックサイクルかけて処理し、１マクロブロックサイクルごとに１個のマクロブロックの符号化を終了するマクロブロックパイプラインを有し、ｍマクロブロックサイクルごとに、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始し、前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行から最も下のマクロブロック行まで、各マクロブロック行に含まれるマクロブロックが順番に、上に隣接したマクロブロック行に含まれるマクロブロックが前記マクロブロックパイプラインに投入されてから１マクロブロックサイクル後に前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
好ましくは、本発明の動画像符号化装置は、前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行から最も下のマクロブロック行までのマクロブロック行に含まれる前記マクロブロックは、当該マクロブロックが前記マクロブロックパイプラインに含まれる第１のステージにおいて処理されるとき、当該マクロブロックが前記マクロブロックパイプラインに投入される１マクロブロックサイクル前に前記マクロブロックパイプラインに投入されたマクロブロックを除き、上に隣接したマクロブロック行に含まれるマクロブロックが当該第１のステージより後に実行される第２のステージにおいて処理された結果を用いて処理されることができる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】変更
【補正の内容】
【００３３】
好ましくは、本発明の動画像符号化装置は、前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行から最も下のマクロブロック行までのマクロブロック行において、前記マクロブロックパイプラインに投入されるマクロブロックは、当該マクロブロックが前記マクロブロックパイプラインに投入される１マクロブロックサイクル前に前記マクロブロックパイプラインに投入されたマクロブロックより左に位置し、当該マクロブロックが前記マクロブロックパイプラインに投入される１マクロブロックサイクル前に前記マクロブロックパイプラインに投入されたマクロブロックが右上隣接マクロブロックではないマクロブロックである。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
また、本発明の動画像符号化装置は、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を、縦方向に連続する２ｎ行（ｎは２以上の整数）ずつひとまとまりとし、縦方向に隣接する２個のマクロブロックを組み合わせてマクロブロックペアを作成してマクロブロックペアごとにフィールド符号化とフレーム符号化を切り替えて符号化を行い、縦方向に隣接する２行のマクロブロック行の中では、左端のマクロブロックペアから符号化を開始し、右に隣接したマクロブロックペアを順番に符号化する動画像符号化装置であって、動画像符号化の処理を複数のステージに分割し、個々のマクロブロックをステージごとに１マクロブロックサイクルかけて処理し、１マクロブロックサイクルごとに１個のマクロブロックの符号化を終了するマクロブロックパイプラインを有し、２ｎマクロブロックサイクルごとに、前記ひとまとまりのマクロブロック行の中の最も上に位置する２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該片方のマクロブロックの符号化を開始し、前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行まで、縦方向に隣接する２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックが順番に、上に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入されてから１マクロブロックサイクル後に前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該片方のマクロブロックの符号化を開始し、前記ひとまとまりのマクロブロック行の中の前記最も下に位置する２行のマクロブロック行に属するマクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入されてから１マクロブロックサイクル後に、前記ひとまとまりのマクロブロック行の中の前記最も上に位置する２行のマクロブロック行に属する前記マクロブロックペアに含まれるマクロブロックであって、まだ前記マクロブロックパイプラインに投入されていない他の片方のマクロブロックが前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該他の片方のマクロブロックの符号化を開始し、前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行まで、縦方向に隣接する２行のマクロブロック行に属するマクロブロックペアに含まれるマクロブロックであって、まだ前記マクロブロックパイプラインに投入されていない他の片方のマクロブロックが順番に、上に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれる他の片方のマクロブロックが前記マクロブロックパイプラインに投入されてから１マクロブロックサイクル後に前記マクロブロックパイプラインに投入され、前記マクロブロックパイプラインが当該他の片方のマクロブロックの符号化を開始する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
好ましくは、本発明の動画像符号化装置は、前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行までの縦方向に隣接する２行のマクロブロック行に属する前記マクロブロックペアに含まれる片方のマクロブロックは、当該マクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに含まれる第１のステージにおいて処理されるとき、当該片方のマクロブロックが前記マクロブロックパイプラインに投入される１マクロブロックサイクル前に前記マクロブロックパイプラインに投入された片方のマクロブロックが含まれるマクロブロックペアを除き、上に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれるマクロブロックが当該第１のステージより後に実行される第２のステージにおいて処理された結果を用いて処理されることができ、前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行までの縦方向に隣接する２行のマクロブロック行に属する前記マクロブロックペアに含まれる他の片方のマクロブロックは、当該マクロブロックペアに含まれる他の片方のマクロブロックが前記マクロブロックパイプラインに含まれる第１のステージにおいて処理されるとき、当該他の片方のマクロブロックが前記マクロブロックパイプラインに投入される１マクロブロックサイクル前に前記マクロブロックパイプラインに投入された他の片方のマクロブロックが含まれるマクロブロックペアを除き、上に隣接した２行のマクロブロック行に属するマクロブロックペアに含まれるマクロブロックが当該第１のステージより後に実行される第２のステージにおいて処理された結果を用いて処理されることができる。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】変更
【補正の内容】
【００３６】
好ましくは、本発明の動画像符号化装置は、前記ひとまとまりのマクロブロック行の中の上から３行目と４行目のマクロブロック行から最も下に位置する２行のマクロブロック行において、前記マクロブロックパイプラインに投入される片方のマクロブロックと他の片方のマクロブロックが含まれるマクロブロックペアは、当該片方のマクロブロックまたは当該他の片方のマクロブロックが前記マクロブロックパイプラインに投入される１マクロブロックサイクル前に前記マクロブロックパイプラインに投入されたマクロブロックが含まれるマクロブロックペアより左に位置し、当該片方のマクロブロックまたは当該他の片方のマクロブロックが前記マクロブロックパイプラインに投入される１マクロブロックサイクル前に前記マクロブロックパイプラインに投入されたマクロブロックが含まれるマクロブロックペアが右上隣接マクロブロックペアではないマクロブロックである。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】変更
【補正の内容】
【００３７】
好ましくは、本発明の動画像符号化装置は、ピクチャの最も上の前記ひとまとまりのマクロブロック行から符号化を開始し、下に隣接した前記ひとまとまりのマクロブロック行を順番に符号化する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
また、本発明の動画像符号化装置は、動画像符号化の処理を複数のステージに分割し、個々のマクロブロックをステージごとに１マクロブロックサイクルかけて処理し、１マクロブロックサイクルごとに１個のマクロブロックの符号化を終了するマクロブロックパイプラインと、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を、縦方向に連続する少なくても２行ずつひとまとまりとし、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックについては、左下隣接マクロブロックがまだ選択されていないマクロブロックを選択し、かつ、前記ひとまとまりのマクロブロック行の中の最も上以外のマクロブロック行に属するマクロブロックについては、右上隣接マクロブロックが既に選択されているマクロブロックを選択することによって、前記ひとまとまりのマクロブロック行に含まれるマクロブロックを１マクロブロック行当たり１個選択するマクロブロック選択部と、前記マクロブロック選択部によって選択された個々のマクロブロックについて、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に属するマクロブロックから、最も下のマクロブロック行に属するマクロブロックまで順番に、１マクロブロックサイクルごとに個々のマクロブロックを符号化するために必要なデータを前記マクロブロックパイプラインに設定する符号化データ設定部とを有し、前記符号化データ設定部によってマクロブロックを符号化するために必要な前記データが設定されると、前記マクロブロックパイプラインが当該マクロブロックの符号化を開始し、前記符号化データ設定部によって前記ひとまとまりのマクロブロック行の中の最も下のマクロブロック行に属するマクロブロックを符号化するために必要な前記データが前記マクロブロックパイプラインに設定されると、前記マクロブロック選択部が前記選択されている個々のマクロブロックごとにその右隣接マクロブロックを新たに選択する。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
好ましくは、本発明の動画像符号化装置は、前記マクロブロックパイプラインが、マクロブロックが分割されたサブブロックごとの処理を行うサブブロックパイプラインを含む。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
好ましくは、本発明の動画像符号化装置は、前記ひとまとまりのマクロブロック行に含まれるマクロブロックを、各マクロブロック行当たり１個符号化するために必要な全てのデータを記憶する内部メモリを有する。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
好ましくは、本発明の動画像符号化装置は、請求項１から請求項１０までのいずれか１項に記載の動画像符号化装置が少なくても２台含まれ、縦方向に連続した前記ひとまとまりのマクロブロック行が個々の前記動画像符号化装置に割り当てられ、当該縦方向に連続した前記ひとまとまりのマクロブロック行が並列に符号化される。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】変更
【補正の内容】
【００４２】
好ましくは、本発明の動画像符号化装置は、シンタックスデータを２値化シンボルに変換する２値化部と、前記２値化シンボルを記憶する２値化シンボル記憶部と、前記２値化シンボル記憶部から読み出した２値化シンボルに対応するコンテクスト情報を復元するコンテクスト情報復元部と、前記２値化シンボル記憶部から読み出した２値化シンボルを、前記コンテクスト情報復元部により復元されたコンテクスト情報に基づいて算術符号化する算術符号化部とを有する。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】変更
【補正の内容】
【００４３】
好ましくは、本発明の動画像符号化装置は、前記２値化部により変換された２値化シンボルを仮算術符号化して仮発生符号量を算出する仮算術符号化部を有する。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００４４
【補正方法】変更
【補正の内容】
【００４４】
好ましくは、本発明の動画像符号化装置は、シンタックスデータを可逆圧縮するシンタックスデータ圧縮部と、前記シンタックスデータ圧縮部により圧縮されたシンタックスデータを記憶する圧縮シンタックスデータ記憶部と、前記圧縮シンタックスデータ記憶部から前記圧縮されたシンタックスデータを読み出して前記シンタックスデータを復元するシンタックスデータ復元部と、前記シンタックスデータ復元部により復元された前記シンタックスデータを２値化シンボルに変換する２値化部と、前記２値化部によって変換された２値化シンボルを算術符号化する算術符号化部とを有する。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
好ましくは、本発明の動画像符号化装置は、前記シンタックスデータ圧縮部が、前記シンタックスデータをＣＡＶＬＣで圧縮する。
【手続補正書】
【提出日】平成19年9月1日(2007.9.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行の中では、左端のマクロブロックから符号化を開始し、右に隣接したマクロブロックを順番に符号化する動画像符号化部であって、
動画像符号化の処理が少なくとも２つの処理に分割され、当該分割された処理を行うステージが少なくとも２ステージ含まれ、当該ステージの中にシンタックスエレメントを２値化シンボルに変換する可変長符号化ステージが含まれるマクロブロックパイプラインを含み、
縦方向に連続する少なくとも２行であって、ピクチャ全体に含まれる前記マクロブロック行の総行数よりも少ない行数の前記マクロブロック行をひとまとまりとして選択し、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行に含まれるマクロブロックから最も下のマクロブロック行に含まれるマクロブロックまで順番に、各マクロブロック行の上に隣接したマクロブロック行に含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行に含まれ、当該直前投入マクロブロックより左に位置し、かつ当該直前投入マクロブロックが右上隣接マクロブロックではないマクロブロックを、前記マクロブロックパイプラインに投入する
動画像符号化部と、
前記可変長符号化ステージにおいて前記２値化シンボルが書き込まれる２値化シンボル記憶部と、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行について左端のマクロブロックから右端のマクロブロックまで順番に前記２値化シンボル記憶部から前記２値化シンボルが読み出され、前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行から最も下のマクロブロック行まで順次、各マクロブロック行について左端のマクロブロックから右端のマクロブロックまで順番に前記２値化シンボル記憶部から前記２値化シンボルが読み出され、当該読み出された２値化シンボルに対応するコンテクスト情報を復元するコンテクスト情報復元部と、
前記読み出された２値化シンボルを、前記復元されたコンテクスト情報に基づいて算術符号化する算術符号化部と
を有する動画像符号化装置。
【請求項２】
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行の中では、左端のマクロブロックから符号化を開始し、右に隣接したマクロブロックを順番に符号化する動画像符号化部であって、
動画像符号化の処理が２以上の処理に分割され、当該分割された処理を行うステージが２ステージ以上含まれ、当該ステージの中にシンタックスエレメントを可逆圧縮して圧縮されたシンタックスエレメントを生成する可変長符号化ステージが含まれるマクロブロックパイプラインと、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行に含まれるマクロブロックから最も下のマクロブロック行に含まれるマクロブロックまで順番に、各マクロブロック行の上に隣接したマクロブロック行に含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行に含まれ、当該直前投入マクロブロックより左に位置し、かつ当該直前投入マクロブロックが右上隣接マクロブロックではないマクロブロックを、前記マクロブロックパイプラインに投入する
動画像符号化部と、
前記可変長符号化ステージにおいて前記圧縮されたシンタックスエレメントが書き込まれる圧縮シンタックスエレメント記憶部と、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行について左端のマクロブロックから右端のマクロブロックまで順番に前記圧縮シンタックスエレメント記憶部から前記圧縮されたシンタックスエレメントが読み出され、前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行から最も下のマクロブロック行まで順次、各マクロブロック行について左端のマクロブロックから右端のマクロブロックまで順番に前記圧縮シンタックスエレメント記憶部から前記圧縮されたシンタックスエレメントが読み出され、当該読み出された圧縮されたシンタックスエレメントから前記シンタックスエレメントを復元するシンタックスエレメント復元部と、
前記復元されたシンタックスエレメントを２値化シンボルに変換する２値化部と、
前記変換された２値化シンボルを算術符号化する算術符号化部と
を有する動画像符号化装置。
【請求項３】
前記動画像符号化の処理が、動画像符号化規格Ｈ．２６４に準拠しており、
前記可変長符号化ステージが、前記シンタックスエレメントをＣＡＶＬＣで圧縮する
請求項２に記載の動画像符号化装置。
【請求項４】
ピクチャの最も上の前記ひとまとまりのマクロブロック行から符号化を開始し、下に隣接した前記ひとまとまりのマクロブロック行を順番に符号化する請求項１から請求項３までのいずれか１項に記載の動画像符号化装置。
【請求項５】
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を縦方向に隣接する２行ずつ組みにしてマクロブロック行の組を作成し、当該マクロブロック行の組に属する縦方向に隣接した２個のマクロブロックを組み合わせてマクロブロックペアを作成し、マクロブロックペアごとにフレーム符号化とフィールド符号化を選択して符号化を行い、前記マクロブロック行の組の中では、左端のマクロブロックペアから符号化を開始し、右に隣接したマクロブロックペアを順番に符号化する動画像符号化部であって、
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれ、当該ステージの中にシンタックスエレメントを２値化シンボルに変換する可変長符号化ステージが含まれるマクロブロックパイプラインと、
縦方向に連続する２組以上の前記マクロブロック行の組であって、ピクチャ全体に含まれる前記マクロブロック行の組の総数よりも少ない数の前記マクロブロック行の組をひとまとまりとして選択し、
前記ひとまとまりのマクロブロック行の組の中の最も上に位置するマクロブロック行の組に属するマクロブロックペアをフレーム符号化とフィールド符号化のいずれで符号化するか選択し、フレーム符号化を選択したときは当該マクロブロックペアに含まれる上フレームマクロブロックを前記マクロブロックパイプラインに投入し、フィールド符号化を選択したときは当該マクロブロックペアに含まれる片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の組の中の上から２番目のマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組の上に隣接したマクロブロック行の組に属するマクロブロックペアに含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行の組に属し、当該直前投入マクロブロックを含むマクロブロックペアより左に位置し、かつ当該直前投入マクロブロックを含むマクロブロックペアが右上隣接マクロブロックペアではないマクロブロックペアをフレーム符号化とフィールド符号化のいずれで符号化するか選択し、フレーム符号化を選択したときは当該マクロブロックペアに含まれる上フレームマクロブロックを前記マクロブロックパイプラインに投入し、フィールド符号化を選択したときは当該マクロブロックペアに含まれる片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の組の中の最も下に位置するマクロブロック行の組に属するマクロブロックペアに含まれるマクロブロックが前記マクロブロックパイプラインに投入された後に、前記ひとまとまりのマクロブロック行の組みの中の最も上に位置するマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組に属し、片方のマクロブロックのみ前記マクロブロックパイプラインに投入済みである前記マクロブロックペアに含まれる、まだ前記マクロブロックパイプラインに投入されていない他の片方のマクロブロックを前記マクロブロックパイプラインに投入する
動画像符号化部と、
前記可変長符号化ステージにおいて前記２値化シンボルが書き込まれる２値化シンボル記憶部と、
前記ひとまとまりのマクロブロック行の組の中の最も上のマクロブロック行の組について左端のマクロブロックペアから右端のマクロブロックペアまで順番に前記２値化シンボル記憶部から前記２値化シンボルが読み出され、前記ひとまとまりのマクロブロック行の組の中の上から２番目のマクロブロック行の組から最も下に位置するマクロブロック行の組まで順次、各マクロブロック行の組について左端のマクロブロックペアから右端のマクロブロックペアまで順番に前記２値化シンボル記憶部から前記２値化シンボルが読み出され、当該読み出された２値化シンボルに対応するコンテクスト情報を復元するコンテクスト情報復元部と、
前記読み出された２値化シンボルを、前記復元されたコンテクスト情報に基づいて算術符号化する算術符号化部と
を有する動画像符号化装置。
【請求項６】
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を縦方向に隣接する２行ずつ組みにしてマクロブロック行の組を作成し、当該マクロブロック行の組に属する縦方向に隣接した２個のマクロブロックを組み合わせてマクロブロックペアを作成し、マクロブロックペアごとにフレーム符号化とフィールド符号化を選択して符号化を行い、前記マクロブロック行の組の中では、左端のマクロブロックペアから符号化を開始し、右に隣接したマクロブロックペアを順番に符号化する動画像符号化部であって、
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれ、当該ステージの中にシンタックスエレメントを可逆圧縮して圧縮されたシンタックスエレメントを生成する可変長符号化ステージが含まれるマクロブロックパイプラインと、
縦方向に連続する２組以上の前記マクロブロック行の組であって、ピクチャ全体に含まれる前記マクロブロック行の組の総数よりも少ない数の前記マクロブロック行の組をひとまとまりとして選択し、
前記ひとまとまりのマクロブロック行の組の中の最も上に位置するマクロブロック行の組に属するマクロブロックペアをフレーム符号化とフィールド符号化のいずれで符号化するか選択し、フレーム符号化を選択したときは当該マクロブロックペアに含まれる上フレームマクロブロックを前記マクロブロックパイプラインに投入し、フィールド符号化を選択したときは当該マクロブロックペアに含まれる片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の組の中の上から２番目のマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組の上に隣接したマクロブロック行の組に属するマクロブロックペアに含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行の組に属し、当該直前投入マクロブロックを含むマクロブロックペアより左に位置し、かつ当該直前投入マクロブロックを含むマクロブロックペアが右上隣接マクロブロックペアではないマクロブロックペアをフレーム符号化とフィールド符号化のいずれで符号化するか選択し、フレーム符号化を選択したときは当該マクロブロックペアに含まれる上フレームマクロブロックを前記マクロブロックパイプラインに投入し、フィールド符号化を選択したときは当該マクロブロックペアに含まれる片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の組の中の最も下に位置するマクロブロック行の組に属するマクロブロックペアに含まれるマクロブロックが前記マクロブロックパイプラインに投入された後に、前記ひとまとまりのマクロブロック行の組みの中の最も上に位置するマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組に属し、片方のマクロブロックのみ前記マクロブロックパイプラインに投入済みである前記マクロブロックペアに含まれる、まだ前記マクロブロックパイプラインに投入されていない他の片方のマクロブロックを前記マクロブロックパイプラインに投入する
動画像符号化部と、
前記可変長符号化ステージにおいて前記圧縮されたシンタックスエレメントが書き込まれる圧縮シンタックスエレメント記憶部と、
前記ひとまとまりのマクロブロック行の組の中の最も上のマクロブロック行の組について左端のマクロブロックペアから右端のマクロブロックペアまで順番に前記圧縮シンタックスエレメント記憶部から前記圧縮されたシンタックスエレメントが読み出され、前記ひとまとまりのマクロブロック行の組の中の上から２番目のマクロブロック行の組から最も下に位置するマクロブロック行の組まで順次、各マクロブロック行の組について左端のマクロブロックペアから右端のマクロブロックペアまで順番に前記圧縮シンタックスエレメント記憶部から前記圧縮されたシンタックスエレメントが読み出され、当該読み出された圧縮されたシンタックスエレメントから前記シンタックスエレメントを復元するシンタックスエレメント復元部と、
前記復元されたシンタックスエレメントを２値化シンボルに変換する２値化部と、
前記変換された２値化シンボルを算術符号化する算術符号化部と
を有する動画像符号化装置。
【請求項７】
前記動画像符号化の処理が、動画像符号化規格Ｈ．２６４に準拠しており、
前記可変長符号化ステージが、前記シンタックスエレメントをＣＡＶＬＣで圧縮する
請求項６に記載の動画像符号化装置。
【請求項８】
ピクチャの最も上の前記ひとまとまりのマクロブロック行の組から符号化を開始し、下に隣接した前記ひとまとまりのマクロブロック行の組を順番に符号化する請求項５から請求項７のいずれか１項に記載の動画像符号化装置。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、動画像のデータ量を圧縮・削減するための動画像符号化装置に関するものである。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】削除
【補正の内容】
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
算術符号化回路が突発的に増加する２値化シンボル発生量を処理できるだけの性能を有していなくても算術符号化可能とする。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
本発明の動画像符号化装置は、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行の中では、左端のマクロブロックから符号化を開始し、右に隣接したマクロブロックを順番に符号化する動画像符号化部であって、
動画像符号化の処理が少なくとも２つの処理に分割され、当該分割された処理を行うステージが少なくとも２ステージ含まれ、当該ステージの中にシンタックスエレメントを２値化シンボルに変換する可変長符号化ステージが含まれるマクロブロックパイプラインを含み、
縦方向に連続する少なくとも２行であって、ピクチャ全体に含まれる前記マクロブロック行の総行数よりも少ない行数の前記マクロブロック行をひとまとまりとして選択し、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行に含まれるマクロブロックから最も下のマクロブロック行に含まれるマクロブロックまで順番に、各マクロブロック行の上に隣接したマクロブロック行に含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行に含まれ、当該直前投入マクロブロックより左に位置し、かつ当該直前投入マクロブロックが右上隣接マクロブロックではないマクロブロックを、前記マクロブロックパイプラインに投入する
動画像符号化部と、
前記可変長符号化ステージにおいて前記２値化シンボルが書き込まれる２値化シンボル記憶部と、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行について左端のマクロブロックから右端のマクロブロックまで順番に前記２値化シンボル記憶部から前記２値化シンボルが読み出され、前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行から最も下のマクロブロック行まで順次、各マクロブロック行について左端のマクロブロックから右端のマクロブロックまで順番に前記２値化シンボル記憶部から前記２値化シンボルが読み出され、当該読み出された２値化シンボルに対応するコンテクスト情報を復元するコンテクスト情報復元部と、
前記読み出された２値化シンボルを、前記復元されたコンテクスト情報に基づいて算術符号化する算術符号化部と
を有する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
また、本発明の動画像符号化装置は、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行の中では、左端のマクロブロックから符号化を開始し、右に隣接したマクロブロックを順番に符号化する動画像符号化部であって、
動画像符号化の処理が２以上の処理に分割され、当該分割された処理を行うステージが２ステージ以上含まれ、当該ステージの中にシンタックスエレメントを可逆圧縮して圧縮されたシンタックスエレメントを生成する可変長符号化ステージが含まれるマクロブロックパイプラインと、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行に含まれるマクロブロックから最も下のマクロブロック行に含まれるマクロブロックまで順番に、各マクロブロック行の上に隣接したマクロブロック行に含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行に含まれ、当該直前投入マクロブロックより左に位置し、かつ当該直前投入マクロブロックが右上隣接マクロブロックではないマクロブロックを、前記マクロブロックパイプラインに投入する
動画像符号化部と、
前記可変長符号化ステージにおいて前記圧縮されたシンタックスエレメントが書き込まれる圧縮シンタックスエレメント記憶部と、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行について左端のマクロブロックから右端のマクロブロックまで順番に前記圧縮シンタックスエレメント記憶部から前記圧縮されたシンタックスエレメントが読み出され、前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行から最も下のマクロブロック行まで順次、各マクロブロック行について左端のマクロブロックから右端のマクロブロックまで順番に前記圧縮シンタックスエレメント記憶部から前記圧縮されたシンタックスエレメントが読み出され、当該読み出された圧縮されたシンタックスエレメントから前記シンタックスエレメントを復元するシンタックスエレメント復元部と、
前記復元されたシンタックスエレメントを２値化シンボルに変換する２値化部と、
前記変換された２値化シンボルを算術符号化する算術符号化部と
を有する。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】変更
【補正の内容】
【００３３】
好ましくは、本発明の動画像符号化装置は、前記動画像符号化の処理が、動画像符号化規格Ｈ．２６４に準拠しており、
前記可変長符号化ステージが、前記シンタックスエレメントをＣＡＶＬＣで圧縮する。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
好ましくは、本発明の動画像符号化装置は、ピクチャの最も上の前記ひとまとまりのマクロブロック行から符号化を開始し、下に隣接した前記ひとまとまりのマクロブロック行を順番に符号化する。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
また、本発明の動画像符号化装置は、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を縦方向に隣接する２行ずつ組みにしてマクロブロック行の組を作成し、当該マクロブロック行の組に属する縦方向に隣接した２個のマクロブロックを組み合わせてマクロブロックペアを作成し、マクロブロックペアごとにフレーム符号化とフィールド符号化を選択して符号化を行い、前記マクロブロック行の組の中では、左端のマクロブロックペアから符号化を開始し、右に隣接したマクロブロックペアを順番に符号化する動画像符号化部であって、
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれ、当該ステージの中にシンタックスエレメントを２値化シンボルに変換する可変長符号化ステージが含まれるマクロブロックパイプラインと、
縦方向に連続する２組以上の前記マクロブロック行の組であって、ピクチャ全体に含まれる前記マクロブロック行の組の総数よりも少ない数の前記マクロブロック行の組をひとまとまりとして選択し、
前記ひとまとまりのマクロブロック行の組の中の最も上に位置するマクロブロック行の組に属するマクロブロックペアをフレーム符号化とフィールド符号化のいずれで符号化するか選択し、フレーム符号化を選択したときは当該マクロブロックペアに含まれる上フレームマクロブロックを前記マクロブロックパイプラインに投入し、フィールド符号化を選択したときは当該マクロブロックペアに含まれる片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の組の中の上から２番目のマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組の上に隣接したマクロブロック行の組に属するマクロブロックペアに含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行の組に属し、当該直前投入マクロブロックを含むマクロブロックペアより左に位置し、かつ当該直前投入マクロブロックを含むマクロブロックペアが右上隣接マクロブロックペアではないマクロブロックペアをフレーム符号化とフィールド符号化のいずれで符号化するか選択し、フレーム符号化を選択したときは当該マクロブロックペアに含まれる上フレームマクロブロックを前記マクロブロックパイプラインに投入し、フィールド符号化を選択したときは当該マクロブロックペアに含まれる片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の組の中の最も下に位置するマクロブロック行の組に属するマクロブロックペアに含まれるマクロブロックが前記マクロブロックパイプラインに投入された後に、前記ひとまとまりのマクロブロック行の組みの中の最も上に位置するマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組に属し、片方のマクロブロックのみ前記マクロブロックパイプラインに投入済みである前記マクロブロックペアに含まれる、まだ前記マクロブロックパイプラインに投入されていない他の片方のマクロブロックを前記マクロブロックパイプラインに投入する
動画像符号化部と、
前記可変長符号化ステージにおいて前記２値化シンボルが書き込まれる２値化シンボル記憶部と、
前記ひとまとまりのマクロブロック行の組の中の最も上のマクロブロック行の組について左端のマクロブロックペアから右端のマクロブロックペアまで順番に前記２値化シンボル記憶部から前記２値化シンボルが読み出され、前記ひとまとまりのマクロブロック行の組の中の上から２番目のマクロブロック行の組から最も下に位置するマクロブロック行の組まで順次、各マクロブロック行の組について左端のマクロブロックペアから右端のマクロブロックペアまで順番に前記２値化シンボル記憶部から前記２値化シンボルが読み出され、当該読み出された２値化シンボルに対応するコンテクスト情報を復元するコンテクスト情報復元部と、
前記読み出された２値化シンボルを、前記復元されたコンテクスト情報に基づいて算術符号化する算術符号化部と
を有する。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】変更
【補正の内容】
【００３６】
また、本発明の動画像符号化装置は、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を縦方向に隣接する２行ずつ組みにしてマクロブロック行の組を作成し、当該マクロブロック行の組に属する縦方向に隣接した２個のマクロブロックを組み合わせてマクロブロックペアを作成し、マクロブロックペアごとにフレーム符号化とフィールド符号化を選択して符号化を行い、前記マクロブロック行の組の中では、左端のマクロブロックペアから符号化を開始し、右に隣接したマクロブロックペアを順番に符号化する動画像符号化部であって、
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれ、当該ステージの中にシンタックスエレメントを可逆圧縮して圧縮されたシンタックスエレメントを生成する可変長符号化ステージが含まれるマクロブロックパイプラインと、
縦方向に連続する２組以上の前記マクロブロック行の組であって、ピクチャ全体に含まれる前記マクロブロック行の組の総数よりも少ない数の前記マクロブロック行の組をひとまとまりとして選択し、
前記ひとまとまりのマクロブロック行の組の中の最も上に位置するマクロブロック行の組に属するマクロブロックペアをフレーム符号化とフィールド符号化のいずれで符号化するか選択し、フレーム符号化を選択したときは当該マクロブロックペアに含まれる上フレームマクロブロックを前記マクロブロックパイプラインに投入し、フィールド符号化を選択したときは当該マクロブロックペアに含まれる片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の組の中の上から２番目のマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組の上に隣接したマクロブロック行の組に属するマクロブロックペアに含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行の組に属し、当該直前投入マクロブロックを含むマクロブロックペアより左に位置し、かつ当該直前投入マクロブロックを含むマクロブロックペアが右上隣接マクロブロックペアではないマクロブロックペアをフレーム符号化とフィールド符号化のいずれで符号化するか選択し、フレーム符号化を選択したときは当該マクロブロックペアに含まれる上フレームマクロブロックを前記マクロブロックパイプラインに投入し、フィールド符号化を選択したときは当該マクロブロックペアに含まれる片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の組の中の最も下に位置するマクロブロック行の組に属するマクロブロックペアに含まれるマクロブロックが前記マクロブロックパイプラインに投入された後に、前記ひとまとまりのマクロブロック行の組みの中の最も上に位置するマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組に属し、片方のマクロブロックのみ前記マクロブロックパイプラインに投入済みである前記マクロブロックペアに含まれる、まだ前記マクロブロックパイプラインに投入されていない他の片方のマクロブロックを前記マクロブロックパイプラインに投入する
動画像符号化部と、
前記可変長符号化ステージにおいて前記圧縮されたシンタックスエレメントが書き込まれる圧縮シンタックスエレメント記憶部と、
前記ひとまとまりのマクロブロック行の組の中の最も上のマクロブロック行の組について左端のマクロブロックペアから右端のマクロブロックペアまで順番に前記圧縮シンタックスエレメント記憶部から前記圧縮されたシンタックスエレメントが読み出され、前記ひとまとまりのマクロブロック行の組の中の上から２番目のマクロブロック行の組から最も下に位置するマクロブロック行の組まで順次、各マクロブロック行の組について左端のマクロブロックペアから右端のマクロブロックペアまで順番に前記圧縮シンタックスエレメント記憶部から前記圧縮されたシンタックスエレメントが読み出され、当該読み出された圧縮されたシンタックスエレメントから前記シンタックスエレメントを復元するシンタックスエレメント復元部と、
前記復元されたシンタックスエレメントを２値化シンボルに変換する２値化部と、
前記変換された２値化シンボルを算術符号化する算術符号化部と
を有する。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】変更
【補正の内容】
【００３７】
好ましくは、本発明の動画像符号化装置は、前記動画像符号化の処理が、動画像符号化規格Ｈ．２６４に準拠しており、
前記可変長符号化ステージが、前記シンタックスエレメントをＣＡＶＬＣで圧縮する。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
好ましくは、本発明の動画像符号化装置は、ピクチャの最も上の前記ひとまとまりのマクロブロック行の組から符号化を開始し、下に隣接した前記ひとまとまりのマクロブロック行の組を順番に符号化する。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】削除
【補正の内容】
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】削除
【補正の内容】
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】削除
【補正の内容】
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】削除
【補正の内容】
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】削除
【補正の内容】
【手続補正２１】
【補正対象書類名】明細書
【補正対象項目名】００４４
【補正方法】削除
【補正の内容】
【手続補正２２】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】削除
【補正の内容】
【手続補正２３】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】削除
【補正の内容】
【手続補正２４】
【補正対象書類名】明細書
【補正対象項目名】００４７
【補正方法】削除
【補正の内容】
【手続補正２５】
【補正対象書類名】明細書
【補正対象項目名】００４８
【補正方法】削除
【補正の内容】
【手続補正２６】
【補正対象書類名】明細書
【補正対象項目名】００４９
【補正方法】削除
【補正の内容】
【手続補正２７】
【補正対象書類名】明細書
【補正対象項目名】００５０
【補正方法】変更
【補正の内容】
【００５０】
本発明によれば、算術符号化回路が突発的に増加する２値化シンボル発生量を処理できるだけの性能を有していなくても算術符号化することができる。特に、２値化シンボル記憶回路にＩピクチャの２値化シンボルとその前後のＰピクチャやＢピクチャの２値化シンボルを記憶できるだけの十分な記憶容量を持たせれば、算術符号化回路の性能がＩピクチャにおいて突発的に発生する２値化シンボル発生量を処理できる性能を下回っていても算術符号化することができる。
【手続補正２８】
【補正対象書類名】明細書
【補正対象項目名】００５１
【補正方法】削除
【補正の内容】
【手続補正２９】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
また、あるＭＢの２値化シンボルの発生量が突発的に増加し、仮算術符号化した結果真の算術符号化回路の処理能力を超えると予測されるときにはそのＭＢを含むピクチャ全体をＣＡＶＬＣ符号化し、一方、仮算術符号化した結果真の算術符号化回路で処理できると予測されるときにはそのＭＢを含むピクチャ全体をＣＡＢＡＣ符号化することができる。これにより、真の算術符号化回路の性能が不測するという状況を確実に回避できる。更に、ＣＡＶＬＣ符号化回路でＣＡＶＬＣ符号化ビットストリームの符号量を算出し、ＣＡＶＬＣ符号化と仮算術符号化の仮発生符号量を比較して、ピクチャごとに発生符号量が少ないと推測されるエントロピー符号化モードを選択することもできる。
【手続補正３０】
【補正対象書類名】明細書
【補正対象項目名】００５４
【補正方法】変更
【補正の内容】
【００５４】
以下、本発明の実施の形態に係る動画像符号化装置を図面に基づいて説明する。
【手続補正書】
【提出日】平成19年10月14日(2007.10.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行の中では、左端のマクロブロックから符号化を開始し、右に隣接したマクロブロックを順番に符号化する動画像符号化部であって、
動画像符号化の処理が少なくとも２つの処理に分割され、当該分割された処理を行うステージが少なくとも２ステージ含まれ、当該ステージの中にシンタックスエレメントを可逆圧縮して圧縮されたシンタックスエレメントを生成する可変長符号化ステージが含まれるマクロブロックパイプラインを含み、
縦方向に連続する少なくとも２行であって、ピクチャ全体に含まれる前記マクロブロック行の総行数よりも少ない行数の前記マクロブロック行をひとまとまりとして選択し、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行に含まれるマクロブロックから最も下のマクロブロック行に含まれるマクロブロックまで順番に、各マクロブロック行の上に隣接したマクロブロック行に含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行に含まれ、当該直前投入マクロブロックより左に位置し、かつ当該直前投入マクロブロックが右上隣接マクロブロックではないマクロブロックを、前記マクロブロックパイプラインに投入する
動画像符号化部と、
前記可変長符号化ステージにおいて前記圧縮されたシンタックスエレメントが書き込まれる圧縮シンタックスエレメント記憶部と、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行について左端のマクロブロックから右端のマクロブロックまで順番に前記圧縮シンタックスエレメント記憶部から前記圧縮されたシンタックスエレメントが読み出され、前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行から最も下のマクロブロック行まで順次、各マクロブロック行について左端のマクロブロックから右端のマクロブロックまで順番に前記圧縮シンタックスエレメント記憶部から前記圧縮されたシンタックスエレメントが読み出され、当該読み出された圧縮されたシンタックスエレメントから前記シンタックスエレメントを復元するシンタックスエレメント復元部と、
前記復元されたシンタックスエレメントを２値化シンボルに変換する２値化部と、
前記変換された２値化シンボルを算術符号化する算術符号化部と
を有する動画像符号化装置。
【請求項２】
前記動画像符号化の処理が、動画像符号化規格Ｈ．２６４に準拠しており、
前記可変長符号化ステージが、前記シンタックスエレメントをＣＡＶＬＣで圧縮する
請求項１に記載の動画像符号化装置。
【請求項３】
ピクチャの最も上の前記ひとまとまりのマクロブロック行から符号化を開始し、下に隣接した前記ひとまとまりのマクロブロック行を順番に符号化する請求項１または請求項２に記載の動画像符号化装置。
【請求項４】
前記動画像符号化部を少なくとも２つ有する請求項１または請求項２に記載の動画像符号化装置。
【請求項５】
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を縦方向に隣接する２行ずつ組みにしてマクロブロック行の組を作成し、当該マクロブロック行の組に属する縦方向に隣接した２個のマクロブロックを組み合わせてマクロブロックペアを作成し、マクロブロックペアごとにフレーム符号化とフィールド符号化を選択して符号化を行い、前記マクロブロック行の組の中では、左端のマクロブロックペアから符号化を開始し、右に隣接したマクロブロックペアを順番に符号化する動画像符号化部であって、
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれ、当該ステージの中にシンタックスエレメントを可逆圧縮して圧縮されたシンタックスエレメントを生成する可変長符号化ステージが含まれるマクロブロックパイプラインを含み、
縦方向に連続する２組以上の前記マクロブロック行の組であって、ピクチャ全体に含まれる前記マクロブロック行の組の総数よりも少ない数の前記マクロブロック行の組をひとまとまりとして選択し、
前記ひとまとまりのマクロブロック行の組の中の最も上に位置するマクロブロック行の組に属するマクロブロックペアをフレーム符号化とフィールド符号化のいずれで符号化するか選択し、フレーム符号化を選択したときは当該マクロブロックペアに含まれる上フレームマクロブロックを前記マクロブロックパイプラインに投入し、フィールド符号化を選択したときは当該マクロブロックペアに含まれる片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の組の中の上から２番目のマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組の上に隣接したマクロブロック行の組に属するマクロブロックペアに含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行の組に属し、当該直前投入マクロブロックを含むマクロブロックペアより左に位置し、かつ当該直前投入マクロブロックを含むマクロブロックペアが右上隣接マクロブロックペアではないマクロブロックペアをフレーム符号化とフィールド符号化のいずれで符号化するか選択し、フレーム符号化を選択したときは当該マクロブロックペアに含まれる上フレームマクロブロックを前記マクロブロックパイプラインに投入し、フィールド符号化を選択したときは当該マクロブロックペアに含まれる片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の組の中の最も下に位置するマクロブロック行の組に属するマクロブロックペアに含まれるマクロブロックが前記マクロブロックパイプラインに投入された後に、前記ひとまとまりのマクロブロック行の組みの中の最も上に位置するマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組に属し、片方のマクロブロックのみ前記マクロブロックパイプラインに投入済みである前記マクロブロックペアに含まれる、まだ前記マクロブロックパイプラインに投入されていない他の片方のマクロブロックを前記マクロブロックパイプラインに投入する
動画像符号化部と、
前記可変長符号化ステージにおいて前記圧縮されたシンタックスエレメントが書き込まれる圧縮シンタックスエレメント記憶部と、
前記ひとまとまりのマクロブロック行の組の中の最も上のマクロブロック行の組について左端のマクロブロックペアから右端のマクロブロックペアまで順番に前記圧縮シンタックスエレメント記憶部から前記圧縮されたシンタックスエレメントが読み出され、前記ひとまとまりのマクロブロック行の組の中の上から２番目のマクロブロック行の組から最も下に位置するマクロブロック行の組まで順次、各マクロブロック行の組について左端のマクロブロックペアから右端のマクロブロックペアまで順番に前記圧縮シンタックスエレメント記憶部から前記圧縮されたシンタックスエレメントが読み出され、当該読み出された圧縮されたシンタックスエレメントから前記シンタックスエレメントを復元するシンタックスエレメント復元部と、
前記復元されたシンタックスエレメントを２値化シンボルに変換する２値化部と、
前記変換された２値化シンボルを算術符号化する算術符号化部と
を有する動画像符号化装置。
【請求項６】
前記動画像符号化の処理が、動画像符号化規格Ｈ．２６４に準拠しており、
前記可変長符号化ステージが、前記シンタックスエレメントをＣＡＶＬＣで圧縮する
請求項５に記載の動画像符号化装置。
【請求項７】
ピクチャの最も上の前記ひとまとまりのマクロブロック行の組から符号化を開始し、下に隣接した前記ひとまとまりのマクロブロック行の組を順番に符号化する請求項５または請求項６に記載の動画像符号化装置。
【請求項８】
前記動画像符号化部を少なくとも２つ有する請求項５または請求項６に記載の動画像符号化装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
本発明の動画像符号化装置は、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行の中では、左端のマクロブロックから符号化を開始し、右に隣接したマクロブロックを順番に符号化する動画像符号化部であって、
動画像符号化の処理が少なくとも２つの処理に分割され、当該分割された処理を行うステージが少なくとも２ステージ含まれ、当該ステージの中にシンタックスエレメントを可逆圧縮して圧縮されたシンタックスエレメントを生成する可変長符号化ステージが含まれるマクロブロックパイプラインを含み、
縦方向に連続する少なくとも２行であって、ピクチャ全体に含まれる前記マクロブロック行の総行数よりも少ない行数の前記マクロブロック行をひとまとまりとして選択し、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行に含まれるマクロブロックから最も下のマクロブロック行に含まれるマクロブロックまで順番に、各マクロブロック行の上に隣接したマクロブロック行に含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行に含まれ、当該直前投入マクロブロックより左に位置し、かつ当該直前投入マクロブロックが右上隣接マクロブロックではないマクロブロックを、前記マクロブロックパイプラインに投入する
動画像符号化部と、
前記可変長符号化ステージにおいて前記圧縮されたシンタックスエレメントが書き込まれる圧縮シンタックスエレメント記憶部と、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行について左端のマクロブロックから右端のマクロブロックまで順番に前記圧縮シンタックスエレメント記憶部から前記圧縮されたシンタックスエレメントが読み出され、前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行から最も下のマクロブロック行まで順次、各マクロブロック行について左端のマクロブロックから右端のマクロブロックまで順番に前記圧縮シンタックスエレメント記憶部から前記圧縮されたシンタックスエレメントが読み出され、当該読み出された圧縮されたシンタックスエレメントから前記シンタックスエレメントを復元するシンタックスエレメント復元部と、
前記復元されたシンタックスエレメントを２値化シンボルに変換する２値化部と、
前記変換された２値化シンボルを算術符号化する算術符号化部と
を有する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
好ましくは、本発明の動画像符号化装置は、前記動画像符号化の処理が、動画像符号化規格Ｈ．２６４に準拠しており、
前記可変長符号化ステージが、前記シンタックスエレメントをＣＡＶＬＣで圧縮する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】変更
【補正の内容】
【００３３】
好ましくは、本発明の動画像符号化装置は、ピクチャの最も上の前記ひとまとまりのマクロブロック行から符号化を開始し、下に隣接した前記ひとまとまりのマクロブロック行を順番に符号化する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
好ましくは、本発明の動画像符号化装置は、前記動画像符号化部を少なくとも２つ有する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
また、本発明の動画像符号化装置は、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を縦方向に隣接する２行ずつ組みにしてマクロブロック行の組を作成し、当該マクロブロック行の組に属する縦方向に隣接した２個のマクロブロックを組み合わせてマクロブロックペアを作成し、マクロブロックペアごとにフレーム符号化とフィールド符号化を選択して符号化を行い、前記マクロブロック行の組の中では、左端のマクロブロックペアから符号化を開始し、右に隣接したマクロブロックペアを順番に符号化する動画像符号化部であって、
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれ、当該ステージの中にシンタックスエレメントを可逆圧縮して圧縮されたシンタックスエレメントを生成する可変長符号化ステージが含まれるマクロブロックパイプラインを含み、
縦方向に連続する２組以上の前記マクロブロック行の組であって、ピクチャ全体に含まれる前記マクロブロック行の組の総数よりも少ない数の前記マクロブロック行の組をひとまとまりとして選択し、
前記ひとまとまりのマクロブロック行の組の中の最も上に位置するマクロブロック行の組に属するマクロブロックペアをフレーム符号化とフィールド符号化のいずれで符号化するか選択し、フレーム符号化を選択したときは当該マクロブロックペアに含まれる上フレームマクロブロックを前記マクロブロックパイプラインに投入し、フィールド符号化を選択したときは当該マクロブロックペアに含まれる片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の組の中の上から２番目のマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組の上に隣接したマクロブロック行の組に属するマクロブロックペアに含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行の組に属し、当該直前投入マクロブロックを含むマクロブロックペアより左に位置し、かつ当該直前投入マクロブロックを含むマクロブロックペアが右上隣接マクロブロックペアではないマクロブロックペアをフレーム符号化とフィールド符号化のいずれで符号化するか選択し、フレーム符号化を選択したときは当該マクロブロックペアに含まれる上フレームマクロブロックを前記マクロブロックパイプラインに投入し、フィールド符号化を選択したときは当該マクロブロックペアに含まれる片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の組の中の最も下に位置するマクロブロック行の組に属するマクロブロックペアに含まれるマクロブロックが前記マクロブロックパイプラインに投入された後に、前記ひとまとまりのマクロブロック行の組みの中の最も上に位置するマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組に属し、片方のマクロブロックのみ前記マクロブロックパイプラインに投入済みである前記マクロブロックペアに含まれる、まだ前記マクロブロックパイプラインに投入されていない他の片方のマクロブロックを前記マクロブロックパイプラインに投入する
動画像符号化部と、
前記可変長符号化ステージにおいて前記圧縮されたシンタックスエレメントが書き込まれる圧縮シンタックスエレメント記憶部と、
前記ひとまとまりのマクロブロック行の組の中の最も上のマクロブロック行の組について左端のマクロブロックペアから右端のマクロブロックペアまで順番に前記圧縮シンタックスエレメント記憶部から前記圧縮されたシンタックスエレメントが読み出され、前記ひとまとまりのマクロブロック行の組の中の上から２番目のマクロブロック行の組から最も下に位置するマクロブロック行の組まで順次、各マクロブロック行の組について左端のマクロブロックペアから右端のマクロブロックペアまで順番に前記圧縮シンタックスエレメント記憶部から前記圧縮されたシンタックスエレメントが読み出され、当該読み出された圧縮されたシンタックスエレメントから前記シンタックスエレメントを復元するシンタックスエレメント復元部と、
前記復元されたシンタックスエレメントを２値化シンボルに変換する２値化部と、
前記変換された２値化シンボルを算術符号化する算術符号化部と
を有する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】変更
【補正の内容】
【００３６】
好ましくは、本発明の動画像符号化装置は、前記動画像符号化の処理が、動画像符号化規格Ｈ．２６４に準拠しており、
前記可変長符号化ステージが、前記シンタックスエレメントをＣＡＶＬＣで圧縮する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】変更
【補正の内容】
【００３７】
好ましくは、本発明の動画像符号化装置は、ピクチャの最も上の前記ひとまとまりのマクロブロック行の組から符号化を開始し、下に隣接した前記ひとまとまりのマクロブロック行の組を順番に符号化する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
好ましくは、本発明の動画像符号化装置は、前記動画像符号化部を少なくとも２つ有する。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００５０
【補正方法】変更
【補正の内容】
【００５０】
本発明によれば、算術符号化部が突発的に増加する２値化シンボル発生量を処理できるだけの性能を有していなくても算術符号化することができる。特に、圧縮シンタックスエレメント記憶部にＩピクチャの圧縮されたシンタックスエレメントとその前後のＰピクチャやＢピクチャの圧縮されたシンタックスエレメントを記憶できるだけの十分な記憶容量を持たせれば、算術符号化部の性能がＩピクチャにおいて突発的に発生する２値化シンボル発生量を処理できる性能を下回っていても算術符号化することができる。