(57)【要約】【課題】マクロブロックパイプライン構造の動画像符号化装置において、隣接マクロブロックの処理結果を符号化中のマクロブロックの処理に反映する。【解決手段】ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を、縦方向に連続する４行以上であって、ピクチャ全体に含まれるマクロブロック行の総行数よりも少ない行数のマクロブロック行をひとまとまりとして選択する。そして、これらひとまとまりのマクロブロック行の最も上のマクロブロック行から最も下のマクロブロック行まで順番に、各マクロブロック行当たり１個のマクロブロックをマクロブロックパイプラインに投入する。例えば、ｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列のマクロブロックを順番にマクロブロックパイプラインに投入する。【選択図】図１
2008005545.tif 000002
【特許請求の範囲】
【請求項１】
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行の中では、左端のマクロブロックから符号化を開始し、右に隣接したマクロブロックを順番に符号化する動画像符号化装置であって、
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれるマクロブロックパイプラインを有し、
縦方向に連続する４行以上であって、ピクチャ全体に含まれる前記マクロブロック行の総行数よりも少ない行数の前記マクロブロック行をひとまとまりとして選択し、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行に含まれるマクロブロックから最も下のマクロブロック行に含まれるマクロブロックまで順番に、各マクロブロック行の上に隣接したマクロブロック行に含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行に含まれ、当該直前投入マクロブロックより左に位置し、かつ当該直前投入マクロブロックが右上隣接マクロブロックではないマクロブロックを、前記マクロブロックパイプラインに投入する
動画像符号化装置。
【請求項２】
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれるマクロブロックパイプラインと、
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を、縦方向に連続する４行以上であって、ピクチャ全体に含まれる前記マクロブロック行の総行数よりも少ない行数をひとまとまりとして選択し、当該ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックについては、左下隣接マクロブロックがまだ選択されていないマクロブロックを選択し、かつ、当該ひとまとまりのマクロブロック行の中の最も上以外のマクロブロック行に含まれるマクロブロックについては、右上隣接マクロブロックが既に選択されているマクロブロックを選択することによって、当該ひとまとまりのマクロブロック行に含まれるマクロブロックを１マクロブロック行当たり１個選択するマクロブロック選択部と、
前記マクロブロック選択部によって選択された個々のマクロブロックについて、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックから、最も下のマクロブロック行に含まれるマクロブロックまで順番に、個々のマクロブロックを符号化するために必要なデータを前記マクロブロックパイプラインに設定し、当該マクロブロックを前記マクロブロックパイプラインに投入する符号化データ設定部と
を有し、
前記符号化データ設定部によって前記ひとまとまりのマクロブロック行の中の最も下のマクロブロック行に含まれるマクロブロックを符号化するために必要な前記データが前記マクロブロックパイプラインに設定されると、前記マクロブロック選択部が前記選択されている個々のマクロブロックごとにその右隣接マクロブロックを新たに選択する
動画像符号化装置。
【請求項３】
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれるマクロブロックパイプラインと、
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を、縦方向に連続する４行以上であって、ピクチャ全体に含まれる当該マクロブロック行の総行数よりも少ない行数をひとまとまりとして選択し、当該ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックについては、左下隣接マクロブロックがまだ選択されていないマクロブロックを選択し、かつ、当該ひとまとまりのマクロブロック行の中の最も上以外のマクロブロック行に含まれるマクロブロックについては、右上隣接マクロブロックが既に選択されているマクロブロックを選択することによって、当該ひとまとまりのマクロブロック行に含まれるマクロブロックを１マクロブロック行当たり１個選択する第１の手段と、
前記第１の手段によって選択された個々のマクロブロックを、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックから、最も下のマクロブロック行に含まれるマクロブロックまで順番に、前記マクロブロックパイプラインに投入する第２の手段と
を有し、
前記第２の手段によって前記ひとまとまりのマクロブロック行の中の最も下のマクロブロック行に含まれるマクロブロックが前記マクロブロックパイプラインに投入されると、前記第１の手段が前記選択されている個々のマクロブロックごとにその右隣接マクロブロックを新たに選択する
動画像符号化装置。
【請求項４】
前記マクロブロックパイプラインが、マクロブロックが分割されたサブブロックの処理を行うステージを含む請求項１から請求項３までのいずれか１項に記載の動画像符号化装置。
【請求項５】
前記サブブロックの処理を行うステージが少なくとも２つ連続し、当該サブブロックの処理を行う各ステージにおいて、連続して前記マクロブロックパイプラインに投入される２個のマクロブロックに含まれるサブブロックが交互に処理される請求項４に記載の動画像符号化装置。
【請求項６】
ピクチャの最も上の前記ひとまとまりのマクロブロック行から符号化を開始し、下に隣接した前記ひとまとまりのマクロブロック行を順番に符号化する請求項１から請求項５までのいずれか１項に記載の動画像符号化装置。
【請求項７】
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を縦方向に隣接する２行ずつ組みにしてマクロブロック行の組を作成し、当該マクロブロック行の組に属する縦方向に隣接した２個のマクロブロックを組み合わせてマクロブロックペアを作成し、マクロブロックペアごとにフレーム符号化とフィールド符号化を選択して符号化を行い、前記マクロブロック行の組の中では、左端のマクロブロックペアから符号化を開始し、右に隣接したマクロブロックペアを順番に符号化する動画像符号化装置であって、
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれるマクロブロックパイプラインを有し、
縦方向に連続する２組以上の前記マクロブロック行の組であって、ピクチャ全体に含まれる前記マクロブロック行の組の総数よりも少ない数の前記マクロブロック行の組をひとまとまりとして選択し、
前記ひとまとまりのマクロブロック行の組の中の最も上に位置するマクロブロック行の組に属するマクロブロックペアをフレーム符号化とフィールド符号化のいずれで符号化するか選択し、フレーム符号化を選択したときは当該マクロブロックペアに含まれる上フレームマクロブロックを前記マクロブロックパイプラインに投入し、フィールド符号化を選択したときは当該マクロブロックペアに含まれる片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の組の中の上から２番目のマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組の上に隣接したマクロブロック行の組に属するマクロブロックペアに含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行の組に属し、当該直前投入マクロブロックを含むマクロブロックペアより左に位置し、かつ当該直前投入マクロブロックを含むマクロブロックペアが右上隣接マクロブロックペアではないマクロブロックペアをフレーム符号化とフィールド符号化のいずれで符号化するか選択し、フレーム符号化を選択したときは当該マクロブロックペアに含まれる上フレームマクロブロックを前記マクロブロックパイプラインに投入し、フィールド符号化を選択したときは当該マクロブロックペアに含まれる片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の組の中の最も下に位置するマクロブロック行の組に属するマクロブロックペアに含まれるマクロブロックが前記マクロブロックパイプラインに投入された後に、前記ひとまとまりのマクロブロック行の組みの中の最も上に位置するマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組に属し、片方のマクロブロックのみ前記マクロブロックパイプラインに投入済みである前記マクロブロックペアに含まれる、まだ前記マクロブロックパイプラインに投入されていない他の片方のマクロブロックを前記マクロブロックパイプラインに投入する
動画像符号化装置。
【請求項８】
前記マクロブロックパイプラインが、マクロブロックが分割されたサブブロックの処理を行うステージを含む請求項７に記載の動画像符号化装置。
【請求項９】
前記サブブロックの処理を行うステージが少なくとも２つ連続し、当該サブブロックの処理を行う各ステージにおいて、連続して前記マクロブロックパイプラインに投入される２個のマクロブロックに含まれるサブブロックが交互に処理される請求項８に記載の動画像符号化装置。
【請求項１０】
ピクチャの最も上の前記ひとまとまりのマクロブロック行の組から符号化を開始し、下に隣接した前記ひとまとまりのマクロブロック行の組を順番に符号化する請求項７から請求項９までのいずれか１項に記載の動画像符号化装置。
【請求項１１】
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれるマクロブロックパイプラインを含み、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行の中では、左端のマクロブロックから符号化を開始し、右に隣接したマクロブロックを順番に符号化する動画像符号化装置における動画像符号化方法であって、
縦方向に連続する４行以上であって、ピクチャに含まれる前記マクロブロック行の総行数よりも少ない行数の前記マクロブロック行がひとまとまりとして選択される第１のステップと、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックが前記マクロブロックパイプラインに投入される第２のステップと、
前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行に含まれるマクロブロックから最も下のマクロブロック行に含まれるマクロブロックまで順番に、各マクロブロック行の上に隣接したマクロブロック行に含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行に含まれ、当該直前投入マクロブロックより左に位置し、かつ当該直前投入マクロブロックが右上隣接マクロブロックではないマクロブロックが、前記マクロブロックパイプラインに投入される第３のステップと、
前記第２のステップと前記第３のステップが繰り返される第４のステップと
を有する動画像符号化方法。
【請求項１２】
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれるマクロブロックパイプラインを含み、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を縦方向に隣接する２行ずつ組みにしてマクロブロック行の組を作成し、当該マクロブロック行の組に属する縦方向に隣接した２個のマクロブロックを組み合わせてマクロブロックペアを作成し、マクロブロックペアごとにフレーム符号化とフィールド符号化を選択して符号化を行い、前記マクロブロック行の組の中では、左端のマクロブロックペアから符号化を開始し、右に隣接したマクロブロックペアを順番に符号化する動画像符号化装置における動画像符号化方法であって、
縦方向に連続する２組以上の前記マクロブロック行の組であって、ピクチャ全体に含まれる前記マクロブロック行の組の総数よりも少ない数の前記マクロブロック行の組がひとまとまりとして選択される第１のステップと、
前記ひとまとまりのマクロブロック行の組の中の最も上に位置するマクロブロック行の組に属するマクロブロックペアについてフレーム符号化とフィールド符号化のいずれで符号化されるか選択され、フレーム符号化が選択されたときは当該マクロブロックペアに含まれる上フレームマクロブロックが前記マクロブロックパイプラインに投入され、フィールド符号化が選択されたときは当該マクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入される第２のステップと、
前記ひとまとまりのマクロブロック行の組の中の上から２番目のマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組の上に隣接したマクロブロック行の組に属するマクロブロックペアに含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行の組に属し、当該直前投入マクロブロックを含むマクロブロックペアより左に位置し、かつ当該直前投入マクロブロックを含むマクロブロックペアが右上隣接マクロブロックペアではないマクロブロックペアについてフレーム符号化とフィールド符号化のいずれで符号化されるかが選択され、フレーム符号化が選択されたときは当該マクロブロックペアに含まれる上フレームマクロブロックが前記マクロブロックパイプラインに投入され、フィールド符号化が選択されたときは当該マクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入される第３のステップと、
前記ひとまとまりのマクロブロック行の組の中の最も下に位置するマクロブロック行の組に属するマクロブロックペアに含まれるマクロブロックが前記マクロブロックパイプラインに投入された後に、前記ひとまとまりのマクロブロック行の組みの中の最も上に位置するマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組に属し、片方のマクロブロックのみ前記マクロブロックパイプラインに投入済みである前記マクロブロックペアに含まれる、まだ前記マクロブロックパイプラインに投入されていない他の片方のマクロブロックが前記マクロブロックパイプラインに投入される第４のステップと、
前記第２のステップから前記第４のステップまでが繰り返される第５のステップと
を有する動画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像のデータ量を圧縮・削減するための動画像符号化装置および動画像符号化方法に関するものである。
【背景技術】
【０００２】
動画像には、７２０Ｐのようにフレームで構成されるものと、１０８０ｉのようにフィールドで構成されるものがあるが、本発明はフレームで構成されるものに適用してもフィールドで構成されるものに適用してもその目的を達成でき、同様の作用・効果を生じる。そこで、以下では、動画像を構成する１枚の画像を示すためにピクチャという用語を用いる。ピクチャはフレームとフィールドの両方を表すものとする。
【０００３】
ＭＰＥＧ−２やＨ．２６４（ＭＰＥＧ−４  ＡＶＣとも呼ばれる）、ＶＣ−１等の動画像符号化方式では、画面を１６画素×１６画素や８画素×８画素等のマクロブロック（以下、ＭＢという。）に分割し、ＭＢ単位で動き検出、動き補償、ＤＣＴまたは整数変換等の周波数変換、量子化、可変長符号化等を行う。これらの動画像符号化方式では、符号化効率を向上させるために、符号化済みの周辺ＭＢの結果をフィードバックし、符号化中のＭＢ（以下、現ＭＢという。）の処理内容を決める適応処理が行われる。
【０００４】
図３３はＭＰＥＧ−２の符号化器のブロック図を示す。ＭＰＥＧ−２では発生符号量が局所的に変動することを防ぐために、個々のＭＢの量子化パラメータを変更することによって発生符号量を制御する。これをレート制御９２という。レート制御９２では、可変長符号化９１の結果発生した符号化済みＭＢの符号量に応じて現ＭＢの量子化パラメータを変更する。例えば、左隣接ＭＢの発生符号量が大きい場合、現ＭＢの量子化パラメータを大きくし、現ＭＢの発生符号量を減少させる。
【０００５】
図３４はＨ．２６４の符号化器のブロック図を示す。Ｈ．２６４はＭＰＥＧ−２に比べて２倍程度の効率で動画像を圧縮できる。この高い圧縮効率を実現するために、Ｈ．２６４では、動き補償１００における参照ピクチャ数の増加、可変ブロックサイズ動き補償や４画素×４画素単位の周波数変換（以下、整数変換９３という。）が採用されると共に、レート制御１０３に加えて以下の３つの適応処理が新たに導入された。ここで、可変ブロックサイズ動き補償とは、ＭＢを８画素×１６画素、８画素×８画素、４画素×４画素等のサブブロック（以下、ＳＢという。）に分割し、ＳＢごとに動き補償を行うことをいう。以下では、単にブロックというときには、ＭＢとＳＢの両方を意味するものとする。
【０００６】
（１）予測誤差の符号量だけではなく、参照ピクチャの符号量と動きベクトルの符号量を考慮し、それらの合計符号量が最小となる参照ピクチャ、動きベクトル、およびブロックの組み合わせを選択する。動きベクトルについては、左隣接ブロック、上隣接ブロック、および右上隣接ブロックの動きベクトルから予測される予測動きベクトル（以下、ＰＭＶという。）を求め、ＰＭＶと現ブロックの動きベクトルの差分を符号化する。また、左隣接ブロック、上隣接ブロック、および右上隣接ブロックの動きベクトルは、空間ダイレクトモードの動きベクトルを求めるときにも参照される。
【０００７】
（２）隣接ＭＢの再生画素から予測値を作成し、イントラ予測９７を行う。輝度信号については４画素×４画素ＳＢ（以下、４×４ＳＢという。）のイントラ予測モードと１６×１６画素ブロックのイントラ予測モードがある。輝度信号の４×４ＳＢのイントラ予測モードでは、左隣接４×４ＳＢ、上隣接４×４ＳＢ、および右上隣接４×４ＳＢの再生画素から現４×４ＳＢのイントラ予測値を作成し、このイントラ予測値と現４×４ＳＢの画素の差分を符号化する。この差分画素を整数変換・量子化・逆量子化・逆整数変換し、その結果にイントラ予測値を加算することにより再生画素が作成される。１６×１６画素ブロックのイントラ予測モードでは左隣接ＭＢと上隣接ＭＢの再生画素から現１６×１６画素ブロックのイントラ予測値を作成し、このイントラ予測値と現１６×１６画素ブロックの画素の差分を符号化する。
【０００８】
（３）４画素×４画素ブロックの境界にデブロッキングフィルタ９８をかけ、ブロックノイズを除去する。
【０００９】
一方、ハードウェアの動画像符号化装置では、回路の稼働率を上げるためにＭＢ単位のパイプライン（本特許請求の範囲および明細書では、マクロブロックパイプラインまたはＭＢパイプラインという。）が採用されるのが一般的である（例えば、非特許文献１のpp.126-128、図３参照）。また、ハードウェアの動画像符号化装置では、通常横方向のＭＢの並び（以下ＭＢ行という）内では左端ＭＢから右端ＭＢに向かって符号化される。そして、１つのＭＢ行に含まれる右端のＭＢの符号化が終了すると、次にその下のＭＢ行に属するＭＢが左端ＭＢから右端ＭＢに向かって符号化される。これがピクチャの最も上のＭＢ行からピクチャの最も下のＭＢ行まで繰り返される。図３５は、従来のＨ．２６４の符号化器のＭＢパイプラインにおいて、ＭＢがＭＢパイプラインの各ステージを流れていく様子を示したものである。ｎ−１、ｎ、およびｎ＋１はあるＭＢ行中の左からそれぞれｎ−１番目、ｎ番目、ｎ＋１番目のＭＢを表す。また、ＭＢサイクルとは、ＭＢパイプラインの各ステージで１個のＭＢが処理されるために要する時間の単位をいい、各ステージでは１ＭＢサイクルで１個のＭＢが処理される。
【００１０】
図３５では、ステージ０で１ＭＢサイクルかけて外部メモリから１個のＭＢの符号化に必要なデータを読み出す。ステージ１で１ＭＢサイクルかけて１個のＭＢについて粗い精度の動き検出を行う。ステージ２で１ＭＢサイクルかけてステージ１で検出された粗い精度の候補動きベクトルの周囲の狭い範囲で詳細な動き検出を行うと共に、イントラ予測を行う。ステージ３では１ＭＢサイクルかけて１個のＭＢについて整数変換、量子化、逆量子化、および逆整数変換を行う。ステージ４では１ＭＢサイクルかけて１個のＭＢについて可変長符号化と動き補償を行う。そして、ステージ５で１ＭＢサイクルかけて１個のＭＢについてレート制御とデブロッキングフィルタを行い、ステージ６で１ＭＢサイクルかけて１個のＭＢ分の再生画素やビットストリームを外部メモリに書き込む。ＭＢサイクルを１０００サイクルと仮定すると、ＭＢパイプラインを行わない場合には１個のＭＢの符号化処理に７０００サイクルかかるのに対し、図３５のＭＢパイプラインでは１０００サイクルごとに１つのＭＢの符号化が終了する。
【００１１】
しかし、このＭＢパイプラインで左隣接ＭＢの処理結果に応じた適応処理を行うためには、以下の４点の課題がある。
【００１２】
（１）図３５に示すように、ｎ−１番目のＭＢについてレート制御が終了したとき、既にｎ＋１番目のＭＢまで量子化が終了している。従って、ｎ−１番目のＭＢの発生符号量に応じて量子化パラメータを変更できるのは、ｎ＋２番目以降のＭＢである。すなわち、２ＭＢ分レート制御が遅れる。
【００１３】
（２）図３５では動き検出をＭＢパイプライン２段で実行し、ステージ２で高精度の動きベクトル検出と同時にイントラ予測を実行している。高精度の動きベクトルが決定し、かつイントラ予測かインター予測かが決まらなければ正確なＰＭＶは算出できないが、ｎ−１番目のＭＢについて高精度の動きベクトルとイントラ予測かインター予測かが決まったときにはｎ番目のＭＢについてステージ１における粗い精度の動きベクトル検出は終了している。このため、図３５のＭＢパイプラインでは、左隣接ＭＢについては荒い精度の動きベクトル検出結果しか考慮して動きベクトルを選択することはできず、左隣接ＭＢにおける高精度の動きベクトルおよびイントラ予測／インター予測判定結果を考慮して動きベクトルを選択することができない。加えて、Ｈ．２６４ではＭＢを分割した８画素×１６画素、８画素×８画素、４画素×４画素等のＳＢでも動きベクトルの符号量を考慮して動きベクトル検出を行うことが望ましいが、図３５のＭＢパイプラインでは左隣接ＳＢ、上隣接ＳＢ、および右上隣接ＳＢの動きベクトルの符号量を考慮して動きベクトル検出を行うことは困難である。
【００１４】
（３）１６画素×１６画素ブロックイントラ予測モードは、左隣接１６画素×１６画素ブロックと上隣接１６画素×１６画素ブロックの画素値と現ブロックの画素値を評価して決定される。ここで、評価に使用する隣接１６画素×１６画素ブロックの画素は再生画素であることが望ましい。再生画素は、イントラ予測やインター予測で得られた予測誤差を整数変換、量子化、逆量子化および逆整数変換し、予測値を加算することにより求められる。しかし、図３５のＭＢパイプラインではステージ３でｎ−１番目のＭＢの整数変換等が終わり、ステージ４の動き補償でｎ−１番目のＭＢの再生画素が作成されたときには、ステージ２におけるｎ番目のＭＢのイントラ予測は終了している。このため、ｎ番目のＭＢについて１６画素×１６画素ブロックイントラ予測の予測モード判定を行うときには、その左に隣接したｎ−１番目のＭＢの再生画素を使用することはできない。このため、左に隣接したｎ−１番目の１６画素×１６画素ブロックの予測モード判定については再生画素ではなく、符号化中の現ピクチャの画素を使用せざるを得ない。同様に、Ｈ．２６４における４画素×４画素ブロックイントラ予測モードでは左隣接、上隣接、右上隣接の４画素×４画素ブロックの再生画素を使用して予測モードを決定することが望ましいが、図３５のＭＢパイプラインでは不可能であり、次善の手段として符号化中の現ピクチャの画素を使用せざるを得ない。このため、図３５のＭＢパイプラインにより決定されるイントラ予測モードは準最適なものとなる。
【００１５】
（４）イントラ予測値は、符号化装置と復号装置で同一のものを使用しなければならないため、再生画素から作成せざるを得ない。一方、ＰピクチャとＢピクチャでは、左に隣接したｎ−１番目のＭＢがインター予測モードと判定された場合には、動き補償が終わるまで再生画素が得られない。しかし、図３５のＭＢパイプラインでは、ｎ−１番目のＭＢについてのステージ４における再生画素の生成と、ｎ番目のＭＢについてのステージ３における整数変換等は同時に実行される。このため、ＰピクチャとＢピクチャでは、ｎ−１番目のＭＢの再生画素を用いて予測値を作成し、ｎ番目のＭＢの整数変換等を行うことは困難である。
【００１６】
また、ピクチャのデータ量は膨大であるため、一般にピクチャは動画像符号化装置の外部のメモリに記憶される。図３６は、従来の動画像符号化装置の構成を示すブロック図である（例えば、非特許文献２のp2009、図３参照）。動きベクトル検出器１０６は、内部メモリ１０４と動き検出回路１０５で構成される。従来の動きベクトル検出器１０６では動きベクトルが存在する可能性がある領域（以下、参照領域という。）を動きベクトル検出器１０６の外部メモリ４から動きベクトル検出器１０６の内部メモリ１０４にコピーし、内部メモリ１０４内の画素に対して動きベクトルを検出するための演算が行われる。図３７は、隣接する２つのＭＢ１０７、１０８の参照領域１０９、１１０の例を示す。ＭＢ１０８の参照領域１１０はＭＢ１０７の参照領域１０９と大部分重なっており、重なっていない領域の幅はＭＢの横方向の画素数と一致する。参照領域１１０は参照領域１０９より右方向にＭＢの横方向の画素数分ずれているだけである。以下では、このずれている領域を更新領域１１１と呼ぶ。従来の動きベクトル検出器１０６はこの性質を利用して外部メモリ４と動きベクトル検出器１０６の内部メモリ１０４間の画素転送量を削減する。外部メモリ４から内部メモリ１０４へは更新領域１１１のみ転送し、ＭＢ１０８の動き検出を開始するとき、参照領域の原点を参照領域１０９の（０，０）から参照領域１１０の（０，０）’に付け替える。このように、更新領域１１１のみ読み込んで参照領域を更新することにより外部メモリ４から内部メモリ１０４への転送量を削減していた。すなわち、従来は参照領域の横方向の重なりを利用して外部メモリ４と内部メモリ１０４の間の画素転送量を削減していた。これにより、従来の１チップＭＰＥＧ−２コーデックＬＳＩは、２００ＭＨｚで動作する３２ビット幅のＤＤＲ−ＳＤＲＡＭを２個外付けすることで１０８０ｉの動画像を符号化することが可能となった（例えば、非特許文献３のpp.12-13参照）。
【００１７】
しかし、ＤＣＩ（Ｄｉｇｉｔａｌ  Ｃｉｎｅｍａ  Ｉｎｉｔｉａｔｉｖｅ）の定めたデジタルシネマ規格による１ピクチャの大きさは４０９６画素×２１６０画素であり、１０８０ｉ（１９２０画素×１０８０画素）の４倍の画素数を有する。また、１０８０ｉの３倍を超える画素数のピクチャを１０８０ｉの２倍のレート（６０枚／秒）で出力するＣＭＯＳセンサが開発されている（例えば、非特許文献４のsesion 27.1参照）。最新の技術を用いれば、デジタルシネマクラスの動画像を出力するビデオカメラも実現できると予測されるところ、従来の技術を用いたのでは動画像符号化ＬＳＩに２５６ビット幅の入力端子を設けるか、または外部メモリを８００ＭＨｚ程度の速度で動作させることが必要となるという問題がある。
【非特許文献１】渡辺浩巳，茶木英明，”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.
【発明の開示】
【発明が解決しようとする課題】
【００１８】
ＭＢパイプライン構造の動画像符号化装置において、隣接ブロックの処理結果を符号化中のブロックの処理にフィードバック可能とする。
【課題を解決するための手段】
【００１９】
本発明の動画像符号化装置は、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行の中では、左端のマクロブロックから符号化を開始し、右に隣接したマクロブロックを順番に符号化する動画像符号化装置であって、
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれるマクロブロックパイプラインを有し、
縦方向に連続する４行以上であって、ピクチャ全体に含まれる前記マクロブロック行の総行数よりも少ない行数の前記マクロブロック行をひとまとまりとして選択し、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行に含まれるマクロブロックから最も下のマクロブロック行に含まれるマクロブロックまで順番に、各マクロブロック行の上に隣接したマクロブロック行に含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行に含まれ、当該直前投入マクロブロックより左に位置し、かつ当該直前投入マクロブロックが右上隣接マクロブロックではないマクロブロックを、前記マクロブロックパイプラインに投入する。
【００２０】
また、本発明の動画像符号化装置は、動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれるマクロブロックパイプラインと、
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を、縦方向に連続する４行以上であって、ピクチャ全体に含まれる前記マクロブロック行の総行数よりも少ない行数をひとまとまりとして選択し、当該ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックについては、左下隣接マクロブロックがまだ選択されていないマクロブロックを選択し、かつ、当該ひとまとまりのマクロブロック行の中の最も上以外のマクロブロック行に含まれるマクロブロックについては、右上隣接マクロブロックが既に選択されているマクロブロックを選択することによって、当該ひとまとまりのマクロブロック行に含まれるマクロブロックを１マクロブロック行当たり１個選択するマクロブロック選択部と、
前記マクロブロック選択部によって選択された個々のマクロブロックについて、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックから、最も下のマクロブロック行に含まれるマクロブロックまで順番に、個々のマクロブロックを符号化するために必要なデータを前記マクロブロックパイプラインに設定し、当該マクロブロックを前記マクロブロックパイプラインに投入する符号化データ設定部と
を有し、
前記符号化データ設定部によって前記ひとまとまりのマクロブロック行の中の最も下のマクロブロック行に含まれるマクロブロックを符号化するために必要な前記データが前記マクロブロックパイプラインに設定されると、前記マクロブロック選択部が前記選択されている個々のマクロブロックごとにその右隣接マクロブロックを新たに選択する。
【００２１】
また、本発明の動画像符号化装置は、動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれるマクロブロックパイプラインと、
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を、縦方向に連続する４行以上であって、ピクチャ全体に含まれる当該マクロブロック行の総行数よりも少ない行数をひとまとまりとして選択し、当該ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックについては、左下隣接マクロブロックがまだ選択されていないマクロブロックを選択し、かつ、当該ひとまとまりのマクロブロック行の中の最も上以外のマクロブロック行に含まれるマクロブロックについては、右上隣接マクロブロックが既に選択されているマクロブロックを選択することによって、当該ひとまとまりのマクロブロック行に含まれるマクロブロックを１マクロブロック行当たり１個選択する第１の手段と、
前記第１の手段によって選択された個々のマクロブロックを、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックから、最も下のマクロブロック行に含まれるマクロブロックまで順番に、前記マクロブロックパイプラインに投入する第２の手段と
を有し、
前記第２の手段によって前記ひとまとまりのマクロブロック行の中の最も下のマクロブロック行に含まれるマクロブロックが前記マクロブロックパイプラインに投入されると、前記第１の手段が前記選択されている個々のマクロブロックごとにその右隣接マクロブロックを新たに選択する。
【００２２】
好ましくは、本発明の動画像符号化装置は、前記マクロブロックパイプラインが、マクロブロックが分割されたサブブロックの処理を行うステージを含む。
【００２３】
好ましくは、本発明の動画像符号化装置は、前記サブブロックの処理を行うステージが少なくとも２つ連続し、当該サブブロックの処理を行う各ステージにおいて、連続して前記マクロブロックパイプラインに投入される２個のマクロブロックに含まれるサブブロックが交互に処理される。
【００２４】
好ましくは、本発明の動画像符号化装置は、ピクチャの最も上の前記ひとまとまりのマクロブロック行から符号化を開始し、下に隣接した前記ひとまとまりのマクロブロック行を順番に符号化する。
【００２５】
また、本発明の動画像符号化装置は、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を縦方向に隣接する２行ずつ組みにしてマクロブロック行の組を作成し、当該マクロブロック行の組に属する縦方向に隣接した２個のマクロブロックを組み合わせてマクロブロックペアを作成し、マクロブロックペアごとにフレーム符号化とフィールド符号化を選択して符号化を行い、前記マクロブロック行の組の中では、左端のマクロブロックペアから符号化を開始し、右に隣接したマクロブロックペアを順番に符号化する動画像符号化装置であって、
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれるマクロブロックパイプラインを有し、
縦方向に連続する２組以上の前記マクロブロック行の組であって、ピクチャ全体に含まれる前記マクロブロック行の組の総数よりも少ない数の前記マクロブロック行の組をひとまとまりとして選択し、
前記ひとまとまりのマクロブロック行の組の中の最も上に位置するマクロブロック行の組に属するマクロブロックペアをフレーム符号化とフィールド符号化のいずれで符号化するか選択し、フレーム符号化を選択したときは当該マクロブロックペアに含まれる上フレームマクロブロックを前記マクロブロックパイプラインに投入し、フィールド符号化を選択したときは当該マクロブロックペアに含まれる片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の組の中の上から２番目のマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組の上に隣接したマクロブロック行の組に属するマクロブロックペアに含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行の組に属し、当該直前投入マクロブロックを含むマクロブロックペアより左に位置し、かつ当該直前投入マクロブロックを含むマクロブロックペアが右上隣接マクロブロックペアではないマクロブロックペアをフレーム符号化とフィールド符号化のいずれで符号化するか選択し、フレーム符号化を選択したときは当該マクロブロックペアに含まれる上フレームマクロブロックを前記マクロブロックパイプラインに投入し、フィールド符号化を選択したときは当該マクロブロックペアに含まれる片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の組の中の最も下に位置するマクロブロック行の組に属するマクロブロックペアに含まれるマクロブロックが前記マクロブロックパイプラインに投入された後に、前記ひとまとまりのマクロブロック行の組みの中の最も上に位置するマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組に属し、片方のマクロブロックのみ前記マクロブロックパイプラインに投入済みである前記マクロブロックペアに含まれる、まだ前記マクロブロックパイプラインに投入されていない他の片方のマクロブロックを前記マクロブロックパイプラインに投入する。
【００２６】
好ましくは、本発明の動画像符号化装置は、前記マクロブロックパイプラインが、マクロブロックが分割されたサブブロックの処理を行うステージを含む。
【００２７】
好ましくは、本発明の動画像符号化装置は、前記サブブロックの処理を行うステージが少なくとも２つ連続し、当該サブブロックの処理を行う各ステージにおいて、連続して前記マクロブロックパイプラインに投入される２個のマクロブロックに含まれるサブブロックが交互に処理される。
【００２８】
好ましくは、本発明の動画像符号化装置は、ピクチャの最も上の前記ひとまとまりのマクロブロック行の組から符号化を開始し、下に隣接した前記ひとまとまりのマクロブロック行の組を順番に符号化する。
【００２９】
また、本発明の動画像符号化方法は、動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれるマクロブロックパイプラインを含み、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行の中では、左端のマクロブロックから符号化を開始し、右に隣接したマクロブロックを順番に符号化する動画像符号化装置における動画像符号化方法であって、
縦方向に連続する４行以上であって、ピクチャに含まれる前記マクロブロック行の総行数よりも少ない行数の前記マクロブロック行がひとまとまりとして選択される第１のステップと、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックが前記マクロブロックパイプラインに投入される第２のステップと、
前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行に含まれるマクロブロックから最も下のマクロブロック行に含まれるマクロブロックまで順番に、各マクロブロック行の上に隣接したマクロブロック行に含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行に含まれ、当該直前投入マクロブロックより左に位置し、かつ当該直前投入マクロブロックが右上隣接マクロブロックではないマクロブロックが、前記マクロブロックパイプラインに投入される第３のステップと、
前記第２のステップと前記第３のステップが繰り返される第４のステップと
を有する。
【００３０】
また、本発明の動画像符号化方法は、動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれるマクロブロックパイプラインを含み、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を縦方向に隣接する２行ずつ組みにしてマクロブロック行の組を作成し、当該マクロブロック行の組に属する縦方向に隣接した２個のマクロブロックを組み合わせてマクロブロックペアを作成し、マクロブロックペアごとにフレーム符号化とフィールド符号化を選択して符号化を行い、前記マクロブロック行の組の中では、左端のマクロブロックペアから符号化を開始し、右に隣接したマクロブロックペアを順番に符号化する動画像符号化装置における動画像符号化方法であって、
縦方向に連続する２組以上の前記マクロブロック行の組であって、ピクチャ全体に含まれる前記マクロブロック行の組の総数よりも少ない数の前記マクロブロック行の組がひとまとまりとして選択される第１のステップと、
前記ひとまとまりのマクロブロック行の組の中の最も上に位置するマクロブロック行の組に属するマクロブロックペアについてフレーム符号化とフィールド符号化のいずれで符号化されるか選択され、フレーム符号化が選択されたときは当該マクロブロックペアに含まれる上フレームマクロブロックが前記マクロブロックパイプラインに投入され、フィールド符号化が選択されたときは当該マクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入される第２のステップと、
前記ひとまとまりのマクロブロック行の組の中の上から２番目のマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組の上に隣接したマクロブロック行の組に属するマクロブロックペアに含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行の組に属し、当該直前投入マクロブロックを含むマクロブロックペアより左に位置し、かつ当該直前投入マクロブロックを含むマクロブロックペアが右上隣接マクロブロックペアではないマクロブロックペアについてフレーム符号化とフィールド符号化のいずれで符号化されるかが選択され、フレーム符号化が選択されたときは当該マクロブロックペアに含まれる上フレームマクロブロックが前記マクロブロックパイプラインに投入され、フィールド符号化が選択されたときは当該マクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入される第３のステップと、
前記ひとまとまりのマクロブロック行の組の中の最も下に位置するマクロブロック行の組に属するマクロブロックペアに含まれるマクロブロックが前記マクロブロックパイプラインに投入された後に、前記ひとまとまりのマクロブロック行の組みの中の最も上に位置するマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組に属し、片方のマクロブロックのみ前記マクロブロックパイプラインに投入済みである前記マクロブロックペアに含まれる、まだ前記マクロブロックパイプラインに投入されていない他の片方のマクロブロックが前記マクロブロックパイプラインに投入される第４のステップと、
前記第２のステップから前記第４のステップまでが繰り返される第５のステップと
を有する。
【発明の効果】
【００３１】
以上のように、本発明によれば、縦に連続するｍ（ｍは２以上の整数）のＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、１つのＭＢ行当たり１個のＭＢを選択し、これら選択されたｍ個のＭＢを１個のＭＢパイプラインに連続して投入するので、左隣接ＭＢの処理結果を（ｍ−１）ステージまで現ＭＢの処理にフィードバックできる。
【００３２】
また、マクロブロックペアごとにフレーム符号化とフィールド符号化を切り替えて符号化を行う場合に、縦に連続する２ｎ（ｎは２以上の整数）行のＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、縦に連続する２行のＭＢ行当たり１個のＭＢペアを選択し、最初に、これら選択されたｎ個のＭＢペアに含まれる片方のＭＢをＭＢパイプラインに連続して投入し、２回目に、これら選択されたｎ個のＭＢペアに含まれる他の片方のＭＢをＭＢパイプラインに連続して投入するので、最初に投入する片方のＭＢの処理結果を（ｎ−１）ステージまで残りの片方のＭＢの処理にフィードバックすることができ、かつ、左隣接ＭＢペアの処理結果を（ｎ−１）ステージまで現ＭＢペアの処理にフィードバックすることができる。
【発明を実施するための最良の形態】
【００３３】
本発明では、縦に連続する複数のＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、１つのＭＢ行当たり１個のＭＢを選択し、これら選択された複数のＭＢを１個のＭＢパイプラインに連続して投入する。
【００３４】
以下、本発明の実施の形態に係る動画像符号化装置および動画像符号化方法を図面に基づいて説明する。
【００３５】
（第１の実施形態）
図１はＭＢパイプラインに連続して投入されるＭＢの例を示した説明図である。図１のピクチャはａ行からｌ行までの１２のＭＢ行からなり、各ＭＢ行は０番目から１５番目までの１６個のＭＢで構成される。図１のピクチャでは、最初にａ−ＭＢ行、ｂ−ＭＢ行、ｃ−ＭＢ行、ｄ−ＭＢ行に含まれるＭＢが１個のＭＢパイプラインで符号化され、次にｅ−ＭＢ行、ｆ−ＭＢ行、ｇ−ＭＢ行、ｈ−ＭＢ行に含まれるＭＢが１個のＭＢパイプラインで符号化され、最後にｉ−ＭＢ行、ｊ−ＭＢ行、ｋ−ＭＢ行、ｌ−ＭＢ行に含まれるＭＢが１個のＭＢパイプラインで符号化される。図１中のｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列のＭＢは１個のＭＢパイプラインに連続して投入されるＭＢの一例である。ｆ行８列のＭＢはｅ行１０列のＭＢから左方向に１ＭＢ離れている。同様にｇ行６列のＭＢはｆ行８列のＭＢから左方向に１ＭＢ離れており、ｈ行４列のＭＢはｇ行６列のＭＢから左方向に１ＭＢ離れている。これらの４つのＭＢは相互に左隣接、上隣接、または右上隣接のいずれの隣接関係にもない。以下では、複数のブロックが相互に左隣接、上隣接、または右上隣接のいずれの隣接関係にもないことを、これらのブロックは隣接関係にないという。
【００３６】
図２は本発明が適用される動画像符号化装置のブロック図を示す。ＭＢ選択回路２は、図１に示すように、ｅ−ＭＢ行、ｆ−ＭＢ行、ｇ−ＭＢ行、ｈ−ＭＢ行をひとまとまりとし、ｅ−ＭＢ行に属するＭＢについては、左下隣接ＭＢがまだ選択されていないＭＢを選択し、かつ、ｆ−ＭＢ行、ｇ−ＭＢ行、およびｈ−ＭＢ行に属するＭＢについては、右上隣接ＭＢが既に選択されているＭＢを選択することによって、ｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列のＭＢを選択する。符号化データ設定回路３は、ｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列のＭＢの順番で、各ＭＢを符号化するために必要なデータをＭＢパイプライン１に設定する。ＭＢを符号化するために必要なデータがＭＢパイプライン１に設定されると、そのＭＢはＭＢパイプライン１に投入される。ｈ行４列のＭＢを符号化するために必要なデータがＭＢパイプライン１に設定され、ｈ行４列のＭＢがＭＢパイプライン１に投入されると、ＭＢ選択回路２は、ｅ行１１列、ｆ行９列、ｇ行７列、ｈ行５列のＭＢを新たに選択する。
【００３７】
図３は本発明が適用される動画像符号化方法の処理のフローチャートを示す。ｅ−ＭＢ行、ｆ−ＭＢ行、ｇ−ＭＢ行、ｈ−ＭＢ行をひとまとまりとし、ｅ−ＭＢ行に属するＭＢについては、左下隣接ＭＢがまだ選択されていないＭＢを選択し、かつ、ｆ−ＭＢ行、ｇ−ＭＢ行、およびｈ−ＭＢ行に属するＭＢについては、右上隣接ＭＢが既に選択されているＭＢを選択することによって、ｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列のＭＢを選択する（ステップＳ１）。次に、ｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列のＭＢの順番で、各ＭＢを符号化するために必要なデータをＭＢパイプライン１に設定し、順次ＭＢパイプラインに投入する（ステップＳ２、ステップＳ３）。ＭＢを符号化するために必要なデータがＭＢパイプライン１に設定されると、そのＭＢはＭＢパイプライン１に投入される。ｈ行４列のＭＢを符号化するために必要なデータがＭＢパイプライン１に設定され、ｈ行４列のＭＢがＭＢパイプライン１に投入されると、ステップＳ１に戻り（ステップＳ４）、ｅ行１１列、ｆ行９列、ｇ行７列、ｈ行５列のＭＢを新たに選択する（ステップＳ１）。
【００３８】
これら４個のＭＢを１個のＭＢパイプライン１に連続して投入したときに、各ＭＢがＭＢパイプライン１の各ステージを流れていく様子を図４に示す。ステージ０からステージ６の各処理内容は図３２のものと同じである。また、図１のピクチャを構成する各ＭＢがＭＢパイプライン１に投入され、ステージ０の処理が開始されるＭＢサイクル番号を図５に示す。図４に示すように、ｅ行１０列、ｆ行８列、ｇ行６列、ｈ行４列の４個のＭＢは、ＭＢサイクル番号がそれぞれ１０４、１０５、１０６、１０７のとき順番にステージ０に投入され、ＭＢサイクル番号がそれぞれ１１０、１１１、１１２、１１３のとき順番にステージ６に達して符号化が終了する。このように、ひとまとまりの４つのＭＢ行の中で、最も上のＭＢ行に属するＭＢ、上から２番目のＭＢ行に属するＭＢ、上から３番目のＭＢ行に属するＭＢ、上から４番目のＭＢ行に属するＭＢの順番にＭＢパイプライン１に投入され、続いてそれらの右隣接ＭＢが同様の順番でＭＢパイプライン１に投入される。
【００３９】
本発明によれば、本実施形態のようにひとまとまりとして符号化するＭＢ行の数が４のとき、左隣接ＭＢの処理結果を３ステージ分フィードバックし、現ＭＢの処理に反映できる。このため、図４中に矢印で示すように、例えば、ｆ行７列のＭＢの高精度の動き検出結果とイントラ予測結果をｆ行８列のＭＢの粗い精度の動き検出に反映できる。このように、従来の技術と異なり、左に隣接したＭＢの高精度の動き検出結果とイントラ予測結果を考慮して現ＭＢの動きベクトルを選択することができる。また、同様に矢印で示すように、ｆ行７列のＭＢの動き補償の結果をｆ行８列のＭＢのイントラ予測に反映できる。従って、従来の技術と異なり、左に隣接したＭＢの動き補償により求められた再生画素を用いて現ＭＢのイントラ予測を行うことができる。更に、ｆ行７列のＭＢのレート制御結果をｆ行８列のＭＢの量子化に反映できる。このように、左に隣接したＭＢのレート制御結果に応じて現ＭＢの量子化パラメータを修正することができる。
【００４０】
ここで、本実施形態では下に隣接したＭＢ行に含まれるＭＢが上のＭＢ行中のＭＢから左方向に１ＭＢ離れている場合を示したが、１ＭＢ以上離れていれば良く、例えば２ＭＢ離れていても本発明の目的を達成することができ、同様の作用・効果を生じる。また、縦に連続する４つのＭＢ行をひとまとまりとして、これら４つのＭＢ行から、１つのＭＢ行当たり１個のＭＢを選択し、これら選択された４個のＭＢを１個のＭＢパイプラインに連続して投入する例を示したが、ひとまとまりのＭＢ行の数は２以上であれば良く、例えば縦に連続する８つのＭＢ行をひとまとまりとして、これら８つのＭＢ行から、１つのＭＢ行当たり１個のＭＢを選択し、これら選択された８個のＭＢを１個のＭＢパイプラインに連続して投入しても本発明の目的を達成することができ、同様の作用・効果を生じる。ただし、ひとまとまりのＭＢ行の数が２のときは、左隣接ＭＢの処理結果を１ステージ分しか現ＭＢの処理にフィードバックできないため、図４のステージ構成では左隣接ＭＢの動き補償とレート制御の結果をそれぞれ現ＭＢのイントラ予測と整数変換・量子化・逆量子化・逆整数変換にフィードバックできない。ひとまとまりのＭＢ行の数が２のときは、図４に示したものとステージ構成を変更する必要がある。
【００４１】
（第２の実施形態）
図６は８画素×８画素の４つのＳＢ（以下、８×８ＳＢという。）に分割されたＭＢを示す。本実施形態では、４つの８×８ＳＢについて動きベクトルのコストと予測誤差のコストの和が最小となる動きベクトルを検出する例について示す。一般に、ＰＭＶと動きベクトルの距離が遠いほど動きベクトルのコストは高いと評価される。このため、各８×８ＳＢについて動き検出を始める前に、その８×８ＳＢのＰＭＶが決まっていなければならない。そして、例えば、左隣接８×８ＳＢ、上隣接８×８ＳＢ、右上隣接８×８ＳＢの動きベクトルに基づいてＰＭＶを決めるとすると、図６中の０、１、２、３の番号を付された順番に８×８ＳＢごとの動きベクトルを検出しなければならないことになる。ただし、３番の８×８ＳＢの動きベクトル検出時に右上隣接８×８ＳＢの動きベクトルは存在しないため、３番の８×８ＳＢのＰＭＶは１番と２番の８×８ＳＢの動きベクトルＭＶ１とＭＶ２に基づいて決められる。
【００４２】
図７はＭＢパイプラインに連続して投入されるＭＢの例を示した説明図である。図７のピクチャはａ行から始まっており、ｒ行の下方にもＭＢ行が存在する。また、１６列以降にもＭＢが存在する。本実施形態ではｉ−ＭＢ行、ｊ−ＭＢ行、ｋ−ＭＢ行、ｌ−ＭＢ行、ｍ−ＭＢ行、ｎ−ＭＢ行、ｏ−ＭＢ行、ｐ−ＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、ｉ行１５列、ｊ行１３列、ｋ行１１列、ｌ行９列、ｍ行７列、ｎ行５列、ｏ行３列、ｐ行１列のＭＢを選択し、これら選択された８つのＭＢを１個のＭＢパイプラインに連続して投入する例を示す。
【００４３】
図８は８×８ＳＢごとの動きベクトルを検出するために、８つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢが各ステージを流れていく様子を示す。図９は本発明が適用される動きベクトル検出回路１２のブロック図を示す。外部メモリ４には単画素精度の画像が記憶されている。ステージ０で外部メモリ４から画像を読み出す。その画像を２画素精度画像作成回路５で縮小して２画素精度の画像を作成し、２画素精度メモリ６に書き込む。ステージ１で２画素精度メモリ６から画像を読み出しながら、２画素精度動き検出回路７により２画素精度の候補動きベクトルを検出する。そして、ステージ２で候補ベクトルの周辺の領域を外部メモリ４から読み出して、単画素精度メモリ８に書き込む。ここで、一般に外部の大容量メモリは低速であるため、外部メモリ４から単画素精度メモリ８に転送するために１ステージ割り当てている。単画素精度メモリ８から２画素精度候補ベクトルの周辺の領域を読み出しながら、ステージ３で単画素精度動き検出回路９により動きベクトルを検出する。その後、ステージ４で単画素精度メモリ８から単画素精度画素を読み出して、１／４画素精度画像作成回路１０で１／４画素精度の画像を作成しながら１／４画素精度動きベクトル検出回路１１を用いて１／４画素精度動きベクトル検出を行う。単画素精度メモリ８からは単画素精度動き検出回路９と１／４画素精度画像作成回路１０に単画素精度画像を供給することになるため、単画素精度メモリ８はダブルバッファ構成や２リード以上可能な多ポートメモリとする必要がある。なお、図８ではステージ４で単画素精度動きベクトルの周囲を直接探索して１／４画素精度動きベクトルを検出するとしたが、ステージ４で半画素精度動きベクトルを検出した後、ステージ５で半画素精度動きベクトルの周囲を探索して１／４画素精度動きベクトルを検出しても良い。また、ステージ３で単画素精度動きベクトル検出と半画素精度動きベクトル検出を行い、ステージ４で１／４画素精度動きベクトル検出を行っても良い。
【００４４】
ステージ１〜ステージ５ではＭＢサイクルを４つのＳＢサイクルに分割し、各ＳＢサイクルで８×８ＳＢごとの処理を行う。ここで、ＳＢサイクルとは、１個のＳＢが処理されるために要する時間の単位をいい、ＳＢごとの処理を行うとき、ＭＢサイクルはＳＢサイクルに分割される。以下では、ＭＢサイクルがＳＢサイクルに分割され、ＳＢごとの処理を行うステージ群をＳＢパイプライン（またはサブブロックパイプライン）と呼ぶ。図８中のステージ１〜ステージ５がＳＢパイプラインである。図１０はＳＢパイプラインの詳細な動作を示す。−０、−１、−２、−３はそれぞれ図６中の０、１、２、３の番号を付された８×８ＳＢを意味する。例えば、ｉ１５−２はｉ行１５列のＭＢに含まれる２番目の８×８ＳＢを表す。図１０では、ステージ５に空ステージを挿入し、例えばｉ１５−０ＳＢについてステージ４で検出された１／４画素精度動きベクトルをｉ１５−１ＳＢのステージ１における２画素精度動きベクトルのコスト計算に反映できるようにしている。このように、ＭＢサイクルをＳＢ数に等しい数のＳＢサイクルに分割したときは、（ＳＢ数＋１）段のパイプラインとすることにより、同一のＭＢ内における前の８×８ＳＢの処理結果を次の８×８ＳＢに反映させることができる。
【００４５】
なお、ステージ１〜ステージ５において８×８ＳＢごとの動きベクトル検出回路と並列に動作するＭＢごとの動きベクトル検出回路を設けることが可能である。また、ステージ３〜５において、ステージ１において検出された８×８ＳＢごとの候補ベクトルの周辺領域で８×８ＳＢごとの動きベクトル検出と並列にＭＢごと、１６画素×８画素ＳＢごと、８画素×１６画素ＳＢごとの動きベクトルを検出することも可能である。
【００４６】
ステージ０〜５において動きベクトルが検出された後は、ステージ６で１６×１６イントラ予測モード、４×４イントラ予測モード、インター予測モード等の中から符号化効率の最も良くなる予測モードが選択される。ステージ７では整数変換、量子化、逆量子化、および逆整数変換が行われる。ステージ８では可変長符号化と動き補償が行われる。ステージ９ではレート制御とデブロッキングフィルタ処理が行われ、ステージ１０では再生画素や符号化ビットストリームが外部メモリ４に書き込まれる。
【００４７】
（第３の実施形態）
本実施形態では、１／４画素精度動き検出回路１１を２個設け、ステージ３とステージ４を結合して、１個の８×８ＳＢの１／４画素精度動き検出を２ＳＢサイクルかけて行う例を示す。ステージ３とステージ４以外は、第２の実施形態のＭＢパイプラインと同一のステージ構成である。図１１はＳＢパイプラインの詳細な動作を示し、図１２はこの動作を実現するための動き検出回路１３のブロック図を示す。２つの１／４画素精度動き検出回路１１を１ＳＢサイクルずらして動作させることにより、個々の８×８ＳＢの１／４画素精度動き検出を２ＳＢサイクルかけて行うことができる。
【００４８】
（第４の実施形態）
本実施形態では、Ｈ．２６４における４画素×４画素イントラ予測（以下、４×４イントラ予測という。）に本発明を適用する例ついて説明する。図１３は１６個の４画素×４画素ＳＢ（以下、４×４ＳＢという。）に分割されたＭＢを示す。４×４ＳＢは図１３中に付した０〜１５の順番で符号化され、ビットストリームに変換される。例えば、３番の４×４ＳＢについて４×４イントラ予測を行うときには、１番の４×４ＳＢにおける下端４行の画素と２番の４×４ＳＢの右端４列の画素が参照される。また、１４番の４×４ＳＢについて４×４イントラ予測を行うときには、１２番と１３番の４×４ＳＢにおける下端の４行の画素と１１番の４×４ＳＢにおける右端４列の画素が参照される。これら隣接４×４ＳＢに属する画素は再生画素を用いることが望ましい。
【００４９】
図１４は、４×４イントラ予測のために、８つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢが各ステージを流れていく様子を示す。ステージ４で隣接４×４ＳＢの再生画素を用いて４×４イントラ予測を行い、ステージ５で予測誤差に対して整数変換・量子化・逆整数変換・逆量子化を行ってイントラ予測値を加算し、再生画素を生成する。ステージ４の４×４イントラ予測回路とステージ５の整数変換・量子化・逆整数変換・逆量子化回路は、第２の実施形態または第３の実施形態で示したステージ１〜ステージ５の動き検出回路と並列に動作する。
【００５０】
本実施形態では、ステージ４と５においてＭＢサイクルを１６のＳＢサイクルに分割する。このため、ＳＢパイプラインのステージ数に比べてＳＢの数が多く、（ＳＢ数＋１）段のＳＢパイプラインとすると、空ステージが増加し、効率が悪い。図１５はＳＢパイプラインの詳細な動作を示す。−０、−１、−２、……、−１５はそれぞれ図１３中の０、１、２、……、１５の番号を付された４×４ＳＢを意味する。例えば、ｉ１５−８はｉ行１５列のＭＢに含まれる８番目の４×４ＳＢを表す。図１５に示すように、本実施形態では、２つのＭＢに含まれる４×４ＳＢを交互に処理することにより、１つのＭＢを２ＭＢサイクル、すなわち３２ＳＢサイクルかけて処理する。１つのＭＢに属する４×４ＳＢを４×４イントラ予測しているとき、同時に別のＭＢに属する４×４ＳＢを整数変換・量子化・逆整数変換・逆量子化する。ＭＢサイクルごとに１つのＭＢの処理を開始し、別のＭＢの処理を終えるように動作させ、ＭＢパイプラインの他ステージと整合を取る。ただし、このように動作させると、図１５に示すように、ステージ４の４×４イントラ予測において、２ＭＢサイクルごとに１ＳＢサイクル、すなわち１／１６ＭＢサイクルだけＭＢサイクルとずれが発生する。そのため、図１５では、ステージ３の有効期間を１５／１６ＭＢサイクルとし、ステージ４における１／１６ＭＢサイクルのずれを吸収している。なお、ステージ３の処理が重く、無効期間を設けることができないときは、ステージ６の有効期間を１５／１６ＭＢサイクルとし、１／１６ＭＢサイクルのずれを吸収しても良い。このように動作させることにより、４×４イントラ予測回路と整数変換・量子化・逆整数変換・逆量子化を行う回路に空を生じることなく、左隣接、上隣接、右上隣接の４×４ＳＢに属する画素について再生画素を用いて４×４イントラ予測を行うことができる。
【００５１】
なお、ＳＢパイプラインの前または後のステージの有効期間を短縮するのではなく、ＳＢパイプラインの前または後に空ステージを挿入することによって、ＭＢパイプラインのずれを吸収することもできる。
【００５２】
本実施形態では、図１４に矢印で示すように、左隣接ＭＢのレート制御結果を４×４イントラ予測に付随して行う量子化に反映することができる。
【００５３】
また、輝度信号の１６画素×１６画素イントラ予測や４：２：０フォーマットのときの色差信号の８画素×８画素イントラ予測はＭＢごとに処理される。このため、左隣接ＭＢと上隣接ＭＢに属する画素を参照できれば良い。この場合、ステージ８の動き補償で得られる再生画素を参照できるため、４×４イントラ予測のようにステージ５で整数変換・量子化・逆整数変換・逆量子化を行う必要はない。なお、ステージ６のイントラ・インター判定で４×４イントラ予測モードが選択された場合には、ステージ５の整数変換・量子化・逆整数変換・逆量子化で得られた再生画素を保存しておく構成としても、ステージ７で再度整数変換・量子化・逆整数変換・逆量子化を行う構成としても良い。
【００５４】
なお、４×４イントラ予測のモード判定を入力された画素によって行うことにすれば、ステージ５の整数変換・量子化・逆整数変換・逆量子化は省略することができる。ただし、再生画素を用いてモード判定した場合に比べ、画質は劣化する。
【００５５】
（第５の実施形態）
本実施形態では、第２の実施形態〜第４の実施形態とほぼ同一のステージ構成のＭＢパイプラインにおいて、図７におけるｉ−ＭＢ行、ｊ−ＭＢ行、ｋ−ＭＢ行、ｌ−ＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、ｉ行１５列、ｊ行１３列、ｋ行１１列、ｌ行９列等のＭＢを選択し、これら選択された４個のＭＢを１個のＭＢパイプラインに連続して投入する例を示す。第２の実施形態〜第４の実施形態では８つのＭＢ行をひとまとまりとして処理するため、各左隣接ＭＢの処理結果を７ステージ分現ＭＢの処理にフィードバックできるが、本実施形態では３ステージ分しかフィードバックできない。このため、左隣接ＭＢの処理結果を現ＭＢの処理に反映するとき、第２の実施形態〜第４の実施形態に比べて制限が生じる。
【００５６】
８×８ＳＢごとの動きベクトルを検出するために、４つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢがＭＢパイプラインの各ステージを流れていく様子を図１６に示す。この場合、例えば、ステージ５でｊ行１２列のＭＢのイントラ・インター判定が終了したとき、同時にステージ１においてｊ行１３列のＭＢの２画素精度動き検出も終了する。このため、左隣接ＭＢのイントラ・インター判定結果を現ＭＢの２画素精度動き検出に反映できないという制限がある。ただし、図１６中に矢印で示すように、左隣接ＭＢのイントラ・インター判定結果はステージ２以降に反映できる。また、左上隣接ＭＢ、上隣接ＭＢ、右上隣接ＭＢ、左方向に１つ離れたＭＢ等についてステージ５で確定したイントラ・インター判定結果はステージ１の２画素精度動き検出に反映できる。そこで、ステージ１においては、左上隣接ＭＢ、上隣接ＭＢ、右上隣接ＭＢ、左方向に１つ離れたＭＢ等の動きベクトルを参照して仮のＰＭＶを作成し、４つの８×８ＳＢ全てが共通にこの仮のＰＭＶを参照して２画素精度動き検出を行う。そして、ステージ２ではステージ１で検出された２画素精度の候補動きベクトルの周辺領域を単画素精度メモリ８に設定し、ステージ３で真のＰＭＶを作成し、ステージ３とステージ４で真のＰＭＶを参照して単画素精度動き検出と１／４画素精度動き検出を行う。
【００５７】
図１７はステージ３と４におけるＳＢパイプラインの詳細な動作を示す。ステージ３の単画素精度動き検出とステージ４の１／４画素精度動き検出では、２つのＭＢに含まれる８×８ＳＢを交互に処理することにより、１つのＭＢを２ＭＢサイクル、すなわち８ＳＢサイクルかけて処理する。１個のＭＢに属する８×８ＳＢについて単画素精度動き検出を行っているとき、同時に別のＭＢに属する８×８ＳＢについて１／４画素精度動き検出を行う。ＭＢサイクルごとに１個のＭＢの処理を開始し、別のＭＢの処理を終えるように動作させ、ＭＢパイプラインの他ステージと整合を取る。そして、ステージ２の有効期間を３／４ＭＢサイクルとし、ステージ４における１／４ＭＢサイクルのずれを吸収する。この方法によれば、１つのＭＢ内に含まれる４個の８×８ＳＢについて０番から３番までシリアルに処理することができる。このため、単画素精度動き検出と１／４画素精度動き検出では隣接８×８ＳＢの動きベクトルを考慮した真のＰＭＶに基づいて動き検出を行うことができる。
【００５８】
ただし、本実施形態では、空間ダイレクトアドレスの評価が別途必要となる。ステージ１で仮のＰＭＶに基づいて２画素精度動き検出が行われ、ステージ２ではステージ１で検出された候補動きベクトルの周辺領域が単画素精度メモリ８に設定される。ステージ１の仮のＰＭＶとステージ３の真のＰＭＶが異なる場合、ステージ３と４で動き検出する領域に空間ダイレクトアドレスに対応する位置のＭＢや８×８ＳＢ等が含まれない。そこで、ステージ３およびステージ４と並列に空間ダイレクトアドレスに対応する位置のＭＢや８×８ＳＢのコストを評価する処理を行う必要がある。
【００５９】
４×４イントラ予測のために、４つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢがＭＢパイプラインの各ステージを流れていく様子を図１８に示す。また、図１９はステージ３と４におけるＳＢパイプラインの詳細な動作を示す。ステージ４の４×４イントラ予測とステージ５の整数変換・量子化・逆量子化・逆整数変換では、第４の実施形態のＳＢパイプラインと同様の処理を行う。
【００６０】
ただし、本実施形態では左隣接ＭＢの処理結果を３ステージ分しか現ＭＢの処理にフィードバックできないため、動き補償をステージ７で行うと左隣接ＭＢの再生画素を用いて４×４イントラ予測を行うことができない。そこで、動き補償をステージ６で行なわなければならないという制限がある。また、左隣接ＭＢのステージ８のレート制御結果を反映できるのはステージ５以降であって、ステージ４の量子化には反映できない。しかし、ステージ７の可変長符号化によって大量のビットが発生し、ステージ８で量子化パラメータを大きくするというレート制御を行う必要が生じる場合がある。この場合には、ステージ５のイントラ・インター判定において４×４イントラ予測モードを選択しないようにするか、または４×４イントラ予測モードが選択されたときはステージ６で新しい量子化パラメータを用いて整数変換・量子化・逆量子化・逆整数変換をやり直す必要がある。
【００６１】
上記第１の実施形態〜第５の実施形態で示したように、本発明では、縦に連続する複数のＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、１つのＭＢ行当たり１個のＭＢを選択し、これら選択された複数のＭＢを１個のＭＢパイプラインに連続して投入する。これらのＭＢは狭い画像領域にあるため、下に隣接したＭＢ行に属するＭＢの符号化が終了するまで、そのＭＢの上隣接ＭＢと右上隣接ＭＢの再生画素や動きベクトル等を画像符号化装置内に保持することにしてもその保持に要する記憶回路の規模は小さい。この記憶回路を設けることにより、これら複数のＭＢ行の一番上のＭＢ行に含まれるＭＢを除いて、現ＭＢの符号化のために上隣接ＭＢと右上隣接ＭＢの再生画素や動きベクトル等を供給するという問題を解消することができる。
【００６２】
なお、第１の実施形態〜第５の実施形態で示したＭＢパイプラインのステージ構成は一例であって、他のステージ構成とすることも可能である。そして、ステージ構成が変われば、ひとまとまりとして符号化する縦に連続する複数のＭＢ行の数が同じであっても、動き検出やイントラ予測等における制約は変わる。
【００６３】
（第６の実施形態）
図２０は、内部メモリを有する動画像符号化装置のブロック図である。動画像符号化装置２３は、ＭＢの符号化に必要な全てのデータを外部メモリ４から読み出してその内部メモリに記憶する。内部メモリは参照領域用メモリ１４とバッファメモリ１５の２種類ある。動き検出の時に参照される参照画像は参照領域用メモリ１４に記憶され、参照領域用メモリ１４から動き検出部１６と動き補償部１７に供給される。符号化のために必要なその他のデータはバッファメモリ１５に記憶され、動き検出部１６、動き補償部１７、イントラ予測部１８、整数変換・量子化・逆量子化・逆整数変換部１９、可変長符号化部２０、デブロッキングフィルタ部２１はバッファメモリ１５との間でデータを転送する。制御部２２はイントラ・インター判定とレート制御を行う。制御部２２はワイヤードロジックまたはマイクロプロセサで構成される。なお、図２０では参照領域用メモリ１４とバッファメモリ１５を別々のものとして表わしたが、参照領域用アドレスとバッファ用アドレスが別れていれば１個の共通メモリであっても良い。
【００６４】
図２１は、縦に連続する４つのＭＢ行に含まれる４個のＭＢを１個のＭＢパイプラインで処理する場合の参照領域を示した説明図である。参照領域２８、２９、３０、３１はそれぞれＭＢ２４、２５、２６、２７の動き検出のときに参照される領域である。参照領域２８、２９、３０、３１は大きく重なっており、縦に隣り合うＭＢ行に属する２個のＭＢの参照領域において重なっていない部分の高さはＭＢの縦方向の画素数と一致する。この重なり部分は動きベクトルの検出範囲が広くなるほど大きくなる。本実施形態において参照領域２８、２９、３０、３１中の全画素は、参照領域用メモリ１４に記憶される。従来技術と同様に、本実施形態でも右方向に隣接するＭＢの符号化を開始するとき、外部メモリ４から参照領域用メモリ１４へ更新領域３２、３３、３４、３５のみ転送し、それまで符号化していた左隣接ＭＢの参照領域２８、２９、３０、３１の原点から次に符号化する右隣りのＭＢのための新しい原点に付け替える。ただし、ＭＢ２５のための更新領域３３は、ＭＢ２４の参照領域２８に含まれていない部分のみである。同様に、ＭＢ２６とＭＢ２７の更新領域３４、３５はそれぞれＭＢ２５とＭＢ２６の参照領域２９、３０に含まれていない部分のみである。従って、従来技術に比べて、外部メモリ４と参照領域用メモリ１４の間の画素転送量を大幅に削減することができる。
【００６５】
図２２は、参照領域用メモリに参照領域を記憶するもう一つの方法を示した説明図である。参照領域用メモリ１４には、参照領域２８、２９、３０、３１を全て含む矩形の領域３６を記憶する。この方法によれば、参照領域用メモリ１４のアドレス生成が簡単になる。また、更新領域３７もひとまとまりの矩形領域となるため、外部メモリ４から参照領域用メモリ１４への画素の転送が簡単になる。
【００６６】
上記では、連続した４つのＭＢ行に含まれる４つのＭＢを１個のＭＢパイプラインで同時に処理する場合を例として示したが、本実施形態に示す方法は連続した２以上のＭＢ行であれば適用でき、例えば連続した８のＭＢ行であっても良い。
【００６７】
なお、参照領域用メモリ１４には単画素精度画像のみ記憶し、参照領域用メモリ１４から読み出した単画素精度画像から動き検出部１６と動き補償部１７の内部で半画素精度画像や１／４画素精度画像を作成する構成とすることができる。この構成は、予め半画素精度画像や１／４画素精度画像を作成して外部メモリ４に記憶し、外部メモリ４から参照領域用メモリ１４に半画素精度画像や１／４画素精度画像を転送する構成よりも外部メモリ４と参照領域用メモリ１４の間の画素転送量を削減することができる。
【００６８】
また、２画素精度画像等の縮小画像を作成し、最初に縮小画像上で動き検出を行い、段階的に高精度画像で動き検出を行う階層的探索法がある。この探索法に対して本発明を適用する場合にも、参照領域用メモリ１４には単画素精度画像のみを記憶しておき、動き検出部１６と動き補償部１７の内部で縮小画像を作成する構成とすることができる。この構成は、予め縮小画像を作成して外部メモリ４に記憶し、外部メモリ４から参照領域用メモリ１４に縮小画像を転送する構成よりも外部メモリ４と参照領域用メモリ１４の間の画素転送量を削減することができる。
【００６９】
その他、動き検出における演算量を削減する手法としてテレスコピック探索法が提案されている。テレスコピック探索法では、符号化対象画像と参照画像の中間の画像も必要となる。この場合には、中間の画像の中で動き検出に必要な領域に対しても本実施形態に示す更新方法を適用することができる。
【００７０】
また、輝度信号だけを本実施形態に示す方法で外部メモリ４から画像符号化装置２３の内部メモリに転送しても良いし、輝度信号と色差信号の両方に本実施形態に示す方法を適用しても良い。なお、動き検出のときに色差信号を参照しない場合には、色差信号は参照領域用メモリ１４とバッファメモリ１５のどちらに記憶しても良い。
【００７１】
（第７の実施形態）
ＨＤＴＶ映像を符号化対象とする場合、良好な画質を得るために動きベクトルの範囲は横±２００画素、縦±１００画素程度必要である。この範囲の動きベクトルを検出するための演算量は膨大であり、動き検出のために多くのサイクル数を要する。しかし、ＭＢパイプライン構造の動画像符号化装置では、ＭＢサイクル当たりのサイクル数は全てのステージで共通である。動き検出のためのステージのみＭＢサイクル当たりのサイクル数を増加させることはできない。また、本発明を適用したＭＢパイプラインでは、処理結果をフィードバックできるステージ数に限界があるため、ＭＢパイプラインのステージ数を増加させることは好ましくない。
【００７２】
図２３は広い範囲で動きを検出できる動き検出装置３８と、本発明が適用されたＭＢパイプラインを含む動画像符号化装置２３の組み合わせを示す。動き検出装置３８は、動きベクトルの符号化コストを考慮せず、予測誤差の符号化コストのみを考慮して動きベクトル候補を検出する。動画像符号化装置２３は、動き検出装置３８で検出された動きベクトル候補を受け取って、その動きベクトル候補の周辺領域について動きベクトルの符号化コストまで考慮して動き検出を行う。すなわち、広い範囲でＰＭＶを参照せずに動きを検出し、検出された動きベクトル候補の周辺領域についてＰＭＶを参照して再度動き検出を行う。受け取った動きベクトル候補の周辺領域における再度の動き検出は２画素精度動き検出や単画素精度動き検出等任意の精度の動き検出段階で行うことが可能である。動画像符号化装置２３では、この動きベクトル候補の周辺領域に加えて、コスト最小の動きベクトルが存在する可能性が高い他の領域、例えばＰＭＶの周辺領域でも同時に動き検出を行っても良い。動き検出装置３８は、動画像符号化装置２３のＭＢパイプラインと無関係に動作するため、多くのサイクル数をかけて動き検出を行うことができる。
【００７３】
また、動き検出装置３８は、動画像符号化装置２３で作成された再生画像ではなく、符号化されていない入力されたままの画像を対象として動き検出を行う構成とすることもできる。この構成とすることにより、動画像符号化装置２３から動き検出装置３８に再生画像を送る必要が無くなる。
【００７４】
なお、動き検出装置３８と動画像符号化装置２３を同一のＬＳＩ上に集積することも可能である。この場合、動画像符号化装置２３に接続されている外部メモリ４を動き検出装置３８と動画像符号化装置２３の共有メモリとし、動き検出装置３８は再生画像を対象として動き検出を行う構成としても良い。
【００７５】
また、ＭＰＥＧ−２からＨ．２６４へトランスコードするときのように、既に検出された動きベクトルを利用できるときには、動き検出装置３８を用いず、検出済の動きベクトルを直接動画像符号化装置２３に入力し、この検出済み動きベクトルの周辺領域について動きベクトルの符号化コストまで考慮して動き検出を行う構成とすることもできる。
【００７６】
（第８の実施形態）
Ｈ．２６４のＭＢＡＦＦ（Ｍａｃｒｏｂｌｏｃｋ  Ａｄａｐｔｉｖｅ  Ｆｒａｍｅ  Ｆｉｅｌｄ  Ｃｏｄｉｎｇ）では、縦に隣接する２つのＭＢをペア（以下、ＭＢペアという。）とし、１６画素×３２ラインごとにフィールド符号化とフレーム符号化を切り替えて符号化する。フィールド符号化とフレーム符号化のときのＭＢペアを図２４に示す。図２４（ａ）はフィールド符号化のときのＭＢペアである。３２ラインの画素のうち、奇数ラインでトップフィールドＭＢ７２を構成し、偶数ラインでボトムフィールドＭＢ７３を構成する。また、図２４（ｂ）はフレーム符号化のときのＭＢペアである。３２ラインのうち、上半分の１６ラインで上フレームＭＢ７４を構成し、下半分の１６ラインで下フレームＭＢ７５を構成する。トップフィールドＭＢ７２とボトムフィールドＭＢ７３はお互いに隣接ＭＢの関係にないが、上フレームＭＢ７４は下フレームＭＢ７５に対して上隣接ＭＢの関係にある。このため、フレーム符号化が選択された場合、下フレームＭＢ７５のＰＭＶは上フレームＭＢ７４のイントラ／インター判定結果を考慮して決定しなければならないという制限がある。また、下フレームＭＢ７５のイントラ予測は上フレームＭＢ７４の再生画素を用いるため、上フレームＭＢ７４について動き補償が行われ、再生画素が作成されなければ、下フレームＭＢ７５についてイントラ予測を行うことができないという制限がある。
【００７７】
現ＭＢペアと左隣接ＭＢペアの両方ともフィールド符号化またはフレーム符号化が選択されている場合、現ＭＢペアに含まれる各々のＭＢの左隣接ＭＢはその左隣りに位置するＭＢのみである。しかし、現ＭＢペアと左隣接ＭＢペアのフィールド符号化／フレーム符号化の選択が異なる場合、左隣接ＭＢペアに含まれる両方のＭＢが現ＭＢペアに含まれる個々のＭＢの左隣接ＭＢとなる。現ＭＢペアはフィールド符号化が選択され、左隣接ＭＢペアはフレーム符号化が選択された場合を図２５（ａ）に示す。トップフィールドＭＢ７２の左隣接ＭＢには左隣接ＭＢペアに含まれる上フレームＭＢの奇数ライン７６と下フレームＭＢの奇数ライン７７が対応し、ボトムフィールドＭＢ７３の左隣接ＭＢには、上フレームＭＢの偶数ラインと下フレームＭＢの偶数ラインが対応する。また、現ＭＢペアはフレーム符号化が選択され、左隣接ＭＢペアはフィールド符号化が選択された場合を図２５（ｂ）に示す。上フレームＭＢ７４の左隣接ＭＢにはトップフィールドＭＢの上半分１６ライン７８とボトムフィールドＭＢの上半分１６ライン７９が対応し、下フレームＭＢ７５の左隣接ＭＢにはトップフィールドＭＢの下半分１６ラインとボトムフィールドＭＢの下半分１６ラインが対応する。このため、左隣接ＭＢペアに含まれる両方のＭＢについて動き補償が行われ、再生画素が算出されなければ、現ＭＢペアについてイントラ予測を行うことができないという制限がある。
【００７８】
本実施形態では、ＭＢＡＦＦの場合に、縦に連続する８のＭＢ行をひとまとまりとして、これらひとまとまりのＭＢ行から、縦に連続する２つのＭＢ行当たり１つのＭＢペアを選択し、これら選択された４個のＭＢペアを１個のＭＢパイプラインに投入する例を示す。図２６は、ＭＢパイプラインに投入されるＭＢペアの例を示した説明図である。ピクチャは図７のものと同一であるが、上述した通りＭＢＡＦＦではＭＢペアがフィールド符号化されるかフレーム符号化されるかにより、２つのＭＢへのラインの割り当てが異なる。そこで、英字の大文字を用いてＭＢペアを構成するＭＢを示す。フィールド符号化のときは、Ｉ１５、Ｋ１３、Ｍ１１、Ｏ９等はトップフィールドＭＢ７２であり、Ｊ１５、Ｌ１３、Ｎ１１、Ｐ９等はボトムフィールドＭＢ７３である。また、フレーム符号化のときは、Ｉ１５、Ｋ１３、Ｍ１１、Ｏ９等は上フレームＭＢ７４であり、Ｊ１５、Ｌ１３、Ｎ１１、Ｐ９等は下フレームＭＢ７５である。
【００７９】
図２７は、第８の実施形態に係る動画像符号化装置のブロック図である。ＭＢペア選択回路８１は、例えば、図２６に示すようにｉ−ＭＢ行、ｊ−ＭＢ行、ｋ−ＭＢ行、ｌ−ＭＢ行、ｍ−ＭＢ行、ｎ−ＭＢ行、ｏ−ＭＢ行、ｐ−ＭＢ行をひとまとまりとし、ｉ−ＭＢ行とｊ−ＭＢ行に属するＭＢペアについては、左下隣接ＭＢペアがまだ選択されていないＭＢペアを選択し、かつ、ｋ−ＭＢ行とｌ−ＭＢ行、ｍ−ＭＢ行とｎ−ＭＢ行、ｏ−ＭＢ行とｐ−ＭＢ行に属するＭＢペアについては、右上隣接ＭＢペアが既に選択されているＭＢペアを選択することによって、Ｉ１５−Ｊ１５、Ｋ１３−Ｌ１３、Ｍ１１−Ｎ１１、Ｏ９−Ｐ９のＭＢペアを選択する。フィールドＭＢペア／フレームＭＢペア構成回路８２は、フィールド符号化が選択されたときは、ＭＢペアの奇数ラインでトップフィールドＭＢ７２を構成し、ＭＢペアの偶数ラインでボトムフィールドＭＢ７３を構成する。一方、フレーム符号化が選択されたときは、ＭＢペアの上半分のラインで上フレームＭＢ７４を構成し、ＭＢペアの下半分のラインで下フレームＭＢ７５を構成する。符号化データ設定回路８３は、フィールド符号化が選択されたとき、最初に、Ｉ１５−Ｊ１５、Ｋ１３−Ｌ１３、Ｍ１１−Ｎ１１、Ｏ９−Ｐ９のＭＢペアに含まれる片方のＭＢについて、４ＭＢサイクルかけて順番に、１ＭＢサイクルごとに個々のＭＢを符号化するために必要なデータをＭＢパイプライン８０に設定する。ＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定されると、そのＭＢはＭＢパイプライン８０に投入される。そして、２回目にＩ１５−Ｊ１５、Ｋ１３−Ｌ１３、Ｍ１１−Ｎ１１、Ｏ９−Ｐ９のＭＢペアに含まれる残りの片方のＭＢについて、４ＭＢサイクルかけて順番に、１ＭＢサイクルごとに個々のＭＢを符号化するために必要なデータをＭＢパイプライン８０に設定する。ＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定されると、そのＭＢはＭＢパイプライン８０に投入される。また、フレーム符号化が選択されたとき、Ｉ１５ＭＢ、Ｋ１３ＭＢ、Ｍ１１ＭＢ、Ｏ９ＭＢ、Ｊ１５ＭＢ、Ｌ１３ＭＢ、Ｎ１１ＭＢ、Ｐ９ＭＢの順番で、１ＭＢサイクルごとに個々のＭＢを符号化するために必要なデータをＭＢパイプライン８０に設定する。ＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定されると、そのＭＢはＭＢパイプライン８０に投入される。ＭＢペア選択回路８１によって選択された最後のＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定され、そのＭＢがＭＢパイプライン８０に投入されると、ＭＢペア選択回路８１は、Ｉ１６−Ｊ１６、Ｋ１４−Ｌ１４、Ｍ１２−Ｎ１２、Ｏ１０−Ｐ１０のＭＢペアを新たに選択する。
【００８０】
図２８は、第８の実施形態に係る動画像符号化方法の処理のフローチャートを示す図である。例えば、図２６に示すようにｉ−ＭＢ行、ｊ−ＭＢ行、ｋ−ＭＢ行、ｌ−ＭＢ行、ｍ−ＭＢ行、ｎ−ＭＢ行、ｏ−ＭＢ行、ｐ−ＭＢ行をひとまとまりとし、ｉ−ＭＢ行とｊ−ＭＢ行に属するＭＢペアについては、左下隣接ＭＢペアがまだ選択されていないＭＢペアを選択し、かつ、ｋ−ＭＢ行とｌ−ＭＢ行、ｍ−ＭＢ行とｎ−ＭＢ行、ｏ−ＭＢ行とｐ−ＭＢ行に属するＭＢペアについては、右上隣接ＭＢペアが既に選択されているＭＢペアを選択することによって、Ｉ１５−Ｊ１５、Ｋ１３−Ｌ１３、Ｍ１１−Ｎ１１、Ｏ９−Ｐ９のＭＢペアが選択される（ステップＳ１４）。次に、フィールド符号化が選択されたときは、ＭＢペアの奇数ラインでトップフィールドＭＢ７２が構成され、ＭＢペアの偶数ラインでボトムフィールドＭＢ７３が構成される。一方、フレーム符号化が選択されたときは、ＭＢペアの上半分のラインで上フレームＭＢ７４が構成され、ＭＢペアの下半分のラインで下フレームＭＢ７５が構成される（ステップＳ１５、ステップＳ１６、ステップＳ２３）。そして、フィールド符号化が選択されたとき、最初に、Ｉ１５−Ｊ１５、Ｋ１３−Ｌ１３、Ｍ１１−Ｎ１１、Ｏ９−Ｐ９のＭＢペアに含まれる片方のＭＢについて、４ＭＢサイクルかけて順番に、１ＭＢサイクルごとに個々のＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定される（ステップＳ１７、ステップＳ１８、ステップＳ１９）。ＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定されると、そのＭＢはＭＢパイプライン８０に投入される。次に、Ｉ１５−Ｊ１５、Ｋ１３−Ｌ１３、Ｍ１１−Ｎ１１、Ｏ９−Ｐ９のＭＢペアに含まれる残りの片方のＭＢについて、４ＭＢサイクルかけて順番に、１ＭＢサイクルごとに個々のＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定される（ステップＳ２０、ステップＳ２１、ステップＳ２２）。ＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定されると、そのＭＢはＭＢパイプライン８０に投入される。また、フレーム符号化が選択されたとき、Ｉ１５ＭＢ、Ｋ１３ＭＢ、Ｍ１１ＭＢ、Ｏ９ＭＢ、Ｊ１５ＭＢ、Ｌ１３ＭＢ、Ｎ１１ＭＢ、Ｐ９ＭＢの順番で、１ＭＢサイクルごとに個々のＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定される（ステップＳ２４、ステップＳ２５、ステップＳ２６、ステップＳ２７、ステップＳ２８、ステップＳ２９）。ＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定されると、そのＭＢはＭＢパイプライン８０に投入される。選択された最後のＭＢを符号化するために必要なデータがＭＢパイプライン８０に設定され、そのＭＢがＭＢパイプライン８０に投入されると、ステップＳ１４に戻り（ステップＳ２１、ステップＳ２８）、Ｉ１６−Ｊ１６、Ｋ１４−Ｌ１４、Ｍ１２−Ｎ１２、Ｏ１０−Ｐ１０のＭＢペアが新たに選択される（ステップＳ１４）。
【００８１】
図２９は、８×８ＳＢごとの動きベクトルを検出するために、８つのＭＢ行に含まれるＭＢペアを１個のＭＢパイプラインに投入したとき、各ＭＢペアがＭＢパイプラインの各ステージを流れていく様子を示す。ここで、フィールド画像は縦方向の画素数がフレーム画像の半分であるため、縮小画像を作成するために縦方向について２画素の画素値を平均すると、フィールド画像とフレーム画像では異なる縮小画像となる。一方、縦単画素／横２画素精度の縮小画像では、フレームの縮小画像から奇数ラインを抜き出すとトップフィールドの縮小画像となり、フレームの縮小画像から偶数ラインを抜き出すとボトムフィールドの縮小画像となる。このため、本実施形態では、図２９に示すように、ステージ０で縦単画素／横２画素精度の参照領域をメモリに設定し、ステージ１では縦単画素／横２画素精度で動き検出を行う。
【００８２】
また、本実施形態では、Ｉ１５、Ｋ１３、Ｍ１１、Ｏ９等のＭＢペアの片方のＭＢが４つ連続してＭＢパイプラインに投入された後、Ｊ１５、Ｌ１３、Ｎ１１、Ｐ９等のＭＢペアの残りの片方のＭＢが４つ連続して投入される。このように、ＭＢペアの片方のＭＢが連続してＭＢパイプラインに投入されるため、その順番で動きベクトルの参照領域を更新すると、更新領域が不連続となる。そこで、ステージ０で縦単画素／横２画素精度メモリを設定するときは、図２２に示すように、８つのＭＢ行の更新領域をひとまとまりの矩形領域として設定する。
【００８３】
また、フィールド符号化とフレーム符号化のいずれかを選択するには、フィールド符号化とフレーム符号化の各々についてイントラ予測とインター予測の両方を行い、予測誤差の小さい符号化モードと予測モードの組合せを選択することが望ましい。しかし、この方法は膨大な演算量を必要とする。一方、現ＭＢペア内の画素のみで符号化モードを判定し、選択された方のみについてイントラ予測とインター予測を行う簡易的な選択法も考えられる。たとえば、３２ライン全てについて隣接したライン間で差分絶対値和または差分自乗和を求め、また、１ラインごと、すなわち奇数ライン１６本と偶数ライン１６本の隣接ライン間で差分絶対値和または差分自乗和を求めて、３２ライン全てについて求めた方が小さかったときはフレーム符号化、１ラインごとに求めた方が小さかったときはフィールド符号化とする等の方法である。最適な選択とはならない場合もあるが、演算量は少ない。本実施形態では、簡易的な選択法を用いることとし、ステージ０でフィールド／フレーム判定を行った後、選択された符号化モードについて、図２９に示すようにステージ１〜４でインター予測を行い、また、それと並列してステージ３と４で４×４イントラ予測、１６×１６イントラ予測等を行う。
【００８４】
本実施形態では、第２の実施形態〜第４の実施形態と同様に縦に連続した８のＭＢ行をひとまとまりとして処理する。しかし、上記段落０１２２で指摘したように、フレーム符号化が選択された場合、上フレームＭＢ７４は下フレームＭＢ７５に対して上隣接ＭＢの関係にある。また、上記段落０１２３で指摘したように、現ＭＢペアと左隣接ＭＢペアのフィールド符号化／フレーム符号化の選択が異なる場合、左隣接ＭＢペアに含まれる両方のＭＢが現ＭＢペアに含まれる個々のＭＢの左隣接ＭＢとなる。このため、上フレームＭＢ７４の処理結果を３ステージ分しか下フレームＭＢ７５の処理にフィードバックできず、また、左隣接ＭＢペアの処理結果を３ステージ分しか現ＭＢペアの処理にフィードバックできず、縦に連続した４つのＭＢ行をひとまとまりとして処理する第５の実施形態と同様の制限が生じる。
【００８５】
具体的には、例えば、ステージ５でＩ１５ＭＢのイントラ・インター判定が終了したとき、同時にステージ１においてＪ１５ＭＢの縦単画素／横２画素精度動き検出も終了する。このため上フレームＭＢ７４のイントラ・インター判定結果を下フレームＭＢ７５の縦単画素／横２画素精度動き検出に反映できないという制限がある。ただし、図２９中に矢印で示すように、上フレームＭＢ７４のイントラ・インター判定結果はステージ２以降に反映できる。また、左隣接ＭＢペア、上隣接ＭＢペア、右上隣接ＭＢペア等についてステージ５で確定したイントラ・インター判定結果はステージ１の縦単画素／横２画素精度動き検出に反映できる。そこで、ステージ１においては、左隣接ＭＢペア、上隣接ＭＢペア、右上隣接ＭＢペア等の動きベクトルを参照して仮のＰＭＶを作成し、下フレームＭＢ７５内の４つの８×８ＳＢ全てが共通にこの仮のＰＭＶを参照して縦単画素／横２画素精度動き検出を行う。そして、ステージ２ではステージ１で検出された縦単画素／横２画素精度の候補動きベクトルの周辺領域を単画素精度メモリに設定し、ステージ３で真のＰＭＶを作成し、ステージ３とステージ４で真のＰＭＶを参照して単画素精度動き検出と１／４画素精度動き検出を行う。
【００８６】
図３０はステージ３と４におけるＳＢパイプラインの詳細な動作を示す。１つのＭＢ内に含まれる４つの８×８ＳＢについて０番から３番までシリアルに処理される。このため、単画素精度動き検出と１／４画素精度動き検出では隣接８×８ＳＢの動きベクトルを考慮した真のＰＭＶに基づいて動き検出を行うことができる。
【００８７】
ただし、本実施形態では、空間ダイレクトアドレスの評価が別途必要となる。ステージ１で仮のＰＭＶに基づいて縦単画素／横２画素精度動き検出が行われ、ステージ２ではステージ１で検出された候補動きベクトルの周辺領域が単画素精度メモリに設定される。ステージ１の仮のＰＭＶとステージ３の真のＰＭＶが異なる場合、ステージ３と４で動き検出する領域に空間ダイレクトアドレスに対応する位置のＭＢや８×８ＳＢ等が含まれない場合がある。そこで、ステージ３およびステージ４と並列に空間ダイレクトアドレスに対応する位置のＭＢや８×８ＳＢのコストを評価する処理を行う必要がある。
【００８８】
４×４イントラ予測のために、８つのＭＢ行に含まれるＭＢペアを１個のＭＢパイプラインに投入したとき、個々のＭＢペアがＭＢパイプラインの各ステージを流れていく様子を図３１に示す。また、図３２はステージ３と４におけるＳＢパイプラインの詳細な動作を示す。ここで、上記段落０１２２と段落０１２３で指摘した条件を満たすために、第５の実施形態と同様に動き補償はステージ６で行われる。すなわち、上フレームＭＢ７４について動き補償が行われた後に下フレームＭＢ７５についてイントラ予測が行われ、かつ、左隣接ＭＢペアに含まれる両方のＭＢについて動き補償が行われた後に現ＭＢペアについてイントラ予測が行われるという条件を満たすために、動き補償はステージ６で行われる。
【００８９】
また、ステージ７の可変長符号化による発生符号量の変動を調整するため、量子化パラメータを変更するというレート制御をステージ８で行う必要が生じる場合がある。この場合、第５の実施形態と同様に、ステージ５のイントラ・インター判定において４×４イントラ予測モードを選択しないようにするか、または４×４イントラ予測モードが選択されたときはステージ６で新しい量子化パラメータを用いて整数変換・量子化・逆量子化・逆整数変換をやり直す必要がある。
【００９０】
なお、本実施形態で示したＭＢパイプラインのステージ構成は一例であって、他のステージ構成とすることも可能である。そして、ステージ構成が変われば、ひとまとまりとして符号化する縦に連続する複数のＭＢ行の数が同じであっても、動き検出やイントラ予測等における制約は変わる。
【００９１】
また、本実施形態に記載された発明と第６の実施形態と第７の実施形態に記載された発明を同時に動画像符号化装置に適用することも可能である。
【図面の簡単な説明】
【００９２】
【図１】ＭＢパイプラインに連続して投入されるＭＢの例を示した説明図である。
【図２】本発明が適用される動画像符号化装置のブロック図である。
【図３】本発明が適用される動画像符号化方法の処理のフローチャートである。
【図４】図１に例示される４個のＭＢを１個のＭＢパイプラインに連続して投入したときに、各ＭＢがＭＢパイプラインの各ステージを流れていく様子を示した説明図である。
【図５】図１のピクチャを構成する各ＭＢがＭＢパイプラインに投入され、ステージ０の処理が開始されるＭＢサイクル番号を示した説明図である。
【図６】８画素×８画素の４つのＳＢに分割されたＭＢを示した説明図である。
【図７】ＭＢパイプラインに連続して投入されるＭＢの例を示した説明図である。
【図８】８画素×８画素ＳＢごとの動きベクトルを検出するために、８つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢが各ステージを流れていく様子を示した説明図である。
【図９】本発明が適用される動きベクトル検出回路のブロック図である。
【図１０】８画素×８画素ＳＢごとの動きベクトルを検出するためのＳＢパイプラインの詳細な動作を示した説明図である。
【図１１】８画素×８画素ＳＢごとの動きベクトルを検出するためのＳＢパイプラインの詳細な動作を示した説明図である。
【図１２】本発明が適用される動きベクトル検出回路のブロック図である。
【図１３】１６個の４画素×４画素ＳＢに分割されたＭＢを示した説明図である。
【図１４】４画素×４画素イントラ予測のために、８つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢが各ステージを流れていく様子を示した説明図である。
【図１５】４画素×４画素イントラ予測のためのＳＢパイプラインの詳細な動作を示した説明図である。
【図１６】８×８ＳＢごとの動きベクトルを検出するために、４つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢがＭＢパイプラインの各ステージを流れていく様子を示した説明図である。
【図１７】８画素×８画素ＳＢごとの動きベクトルを検出するためのＳＢパイプラインの詳細な動作を示した説明図である。
【図１８】４画素×４画素イントラ予測のために、４つのＭＢ行に含まれるＭＢを１個のＭＢパイプラインに連続して投入したとき、各ＭＢが各ステージを流れていく様子を示した説明図である。
【図１９】４画素×４画素イントラ予測のためのＳＢパイプラインの詳細な動作を示した説明図である。
【図２０】内部メモリを有する動画像符号化装置のブロック図である。
【図２１】縦に連続する４つのＭＢ行に含まれる４個のＭＢを１個のＭＢパイプラインで処理する場合の参照領域を示した説明図である。
【図２２】参照領域用メモリに参照領域を記憶するもう一つの方法を示した説明図である。
【図２３】広い範囲で動きを検出できる動き検出装置と、本発明が適用されたＭＢパイプラインを含む動画像符号化装置の組み合わせを示した説明図である。
【図２４】フィールド符号化が選択されたときのＭＢペアとフレーム符号化が選択されたときのＭＢペアを示した説明図である。
【図２５】現ＭＢペアはフィールド符号化が選択され、左隣接ＭＢペアはフレーム符号化が選択された場合の左隣接ＭＢペアと、現ＭＢペアはフレーム符号化が選択され、左隣接ＭＢペアはフィールド符号化が選択された場合の左隣接ＭＢペアを示した説明図である。
【図２６】ＭＢパイプラインに投入されるＭＢペアの例を示した説明図である。
【図２７】第８の実施形態に係る動画像符号化装置のブロック図である。
【図２８】第８の実施形態に係る動画像符号化方法の処理のフローチャートを示す図である。
【図２９】８画素×８画素ＳＢごとの動きベクトルを検出するために、８つのＭＢ行に含まれるＭＢペアを１個のＭＢパイプラインに投入したとき、各ＭＢペアが各ステージを流れていく様子を示した説明図である。
【図３０】８画素×８画素ＳＢごとの動きベクトルを検出するためのＳＢパイプラインの詳細な動作を示した説明図である。
【図３１】４画素×４画素イントラ予測のために、８つのＭＢ行に含まれるＭＢペアを１個のＭＢパイプラインに投入したとき、各ＭＢペアがＭＢパイプラインの各ステージを流れていく様子を示した説明図である。
【図３２】４画素×４画素イントラ予測のためのＳＢパイプラインの詳細な動作を示した説明図である。
【図３３】ＭＰＥＧ−２の符号化器のブロック図である。
【図３４】Ｈ．２６４の符号化器のブロック図である。
【図３５】従来のＨ．２６４の符号化器のＭＢパイプラインにおいて、ＭＢがＭＢパイプラインの各ステージを流れていく様子を示した説明図である。
【図３６】従来の動画像符号化装置の構成を示したブロック図である。
【図３７】隣接する２つのＭＢの参照領域の例を示した説明図である。
【符号の説明】
【００９３】
１、８０…ＭＢパイプライン、２…ＭＢ選択回路、３、８３…符号化データ設定回路、１４…参照領域用メモリ、１５…バッファメモリ、２０…可変長符号化部、２３、４０、４１…動画像符号化装置、２４、２５、２６、２７…ＭＢ、２８、２９、３０、３１、３６…参照領域、３２、３３、３４、３５、３７…更新領域、２８、２９、３０、３４を全て含む矩形の領域、７２…トップフィールドＭＢ、７３…ボトムフィールドＭＢ、７４…上フレームＭＢ、７５…下フレームＭＢ、７６…上フレームＭＢ奇数ライン、７７…下フレームＭＢ奇数ライン、７８…トップフィールドＭＢ上半分１６ライン、７９…ボトムフィールドＭＢ上半分１６ライン、８１…ＭＢペア選択回路、８２…フィールドＭＢペア／フレームＭＢペア構成回路
【図１】
2008005545.tif 000003
【図２】
2008005545.tif 000004
【図３】
2008005545.tif 000005
【図４】
2008005545.tif 000006
【図５】
2008005545.tif 000007
【図６】
2008005545.tif 000008
【図７】
2008005545.tif 000009
【図８】
2008005545.tif 000010
【図９】
2008005545.tif 000011
【図１０】
2008005545.tif 000012
【図１１】
2008005545.tif 000013
【図１２】
2008005545.tif 000014
【図１３】
2008005545.tif 000015
【図１４】
2008005545.tif 000016
【図１５】
2008005545.tif 000017
【図１６】
2008005545.tif 000018
【図１７】
2008005545.tif 000019
【図１８】
2008005545.tif 000020
【図１９】
2008005545.tif 000021
【図２０】
2008005545.tif 000022
【図２１】
2008005545.tif 000023
【図２２】
2008005545.tif 000024
【図２３】
2008005545.tif 000025
【図２４】
2008005545.tif 000026
【図２５】
2008005545.tif 000027
【図２６】
2008005545.tif 000028
【図２７】
2008005545.tif 000029
【図２８】
2008005545.tif 000030
【図２９】
2008005545.tif 000031
【図３０】
2008005545.tif 000032
【図３１】
2008005545.tif 000033
【図３２】
2008005545.tif 000034
【図３３】
2008005545.tif 000035
【図３４】
2008005545.tif 000036
【図３５】
2008005545.tif 000037
【図３６】
2008005545.tif 000038
【図３７】
2008005545.tif 000039
【手続補正書】
【提出日】平成19年10月14日(2007.10.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行の中では、左端のマクロブロックから符号化を開始し、右に隣接したマクロブロックを順番に符号化する動画像符号化装置であって、
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれ、少なくても２つの連続した当該ステージにおいてマクロブロックが分割されたサブブロックの処理が行われるマクロブロックパイプラインを有し、
縦方向に連続する４行以上であって、ピクチャ全体に含まれる前記マクロブロック行の総行数よりも少ない行数の前記マクロブロック行をひとまとまりとして選択し、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行に含まれるマクロブロックから最も下のマクロブロック行に含まれるマクロブロックまで順番に、各マクロブロック行の上に隣接したマクロブロック行に含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行に含まれ、当該直前投入マクロブロックより左に位置し、かつ当該直前投入マクロブロックが右上隣接マクロブロックではないマクロブロックを、前記マクロブロックパイプラインに投入し、
前記少なくても２つの連続したステージであってサブブロックの処理が行われる各ステージにおいて、連続して前記マクロブロックパイプラインに投入される２個のマクロブロックに含まれるサブブロックを交互に処理する
動画像符号化装置。
【請求項２】
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれ、少なくても２つの連続した当該ステージにおいてマクロブロックが分割されたサブブロックの処理が行われるマクロブロックパイプラインと、
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を、縦方向に連続する４行以上であって、ピクチャ全体に含まれる前記マクロブロック行の総行数よりも少ない行数をひとまとまりとして選択し、当該ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックについては、左下隣接マクロブロックがまだ選択されていないマクロブロックを選択し、かつ、当該ひとまとまりのマクロブロック行の中の最も上以外のマクロブロック行に含まれるマクロブロックについては、右上隣接マクロブロックが既に選択されているマクロブロックを選択することによって、当該ひとまとまりのマクロブロック行に含まれるマクロブロックを１マクロブロック行当たり１個選択するマクロブロック選択部と、
前記マクロブロック選択部によって選択された個々のマクロブロックについて、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックから、最も下のマクロブロック行に含まれるマクロブロックまで順番に、個々のマクロブロックを符号化するために必要なデータを前記マクロブロックパイプラインに設定し、当該マクロブロックを前記マクロブロックパイプラインに投入する符号化データ設定部と
を有し、
前記少なくても２つの連続したステージであってサブブロックの処理が行われる各ステージにおいて、前記符号化データ設定部によって連続して前記マクロブロックパイプラインに投入される２個のマクロブロックに含まれるサブブロックを交互に処理し、
前記符号化データ設定部によって前記ひとまとまりのマクロブロック行の中の最も下のマクロブロック行に含まれるマクロブロックを符号化するために必要な前記データが前記マクロブロックパイプラインに設定されると、前記マクロブロック選択部が前記選択されている個々のマクロブロックごとにその右隣接マクロブロックを新たに選択する
動画像符号化装置。
【請求項３】
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれ、少なくても２つの連続した当該ステージにおいてマクロブロックが分割されたサブブロックの処理が行われるマクロブロックパイプラインと、
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を、縦方向に連続する４行以上であって、ピクチャ全体に含まれる当該マクロブロック行の総行数よりも少ない行数をひとまとまりとして選択し、当該ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックについては、左下隣接マクロブロックがまだ選択されていないマクロブロックを選択し、かつ、当該ひとまとまりのマクロブロック行の中の最も上以外のマクロブロック行に含まれるマクロブロックについては、右上隣接マクロブロックが既に選択されているマクロブロックを選択することによって、当該ひとまとまりのマクロブロック行に含まれるマクロブロックを１マクロブロック行当たり１個選択する第１の手段と、
前記第１の手段によって選択された個々のマクロブロックを、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックから、最も下のマクロブロック行に含まれるマクロブロックまで順番に、前記マクロブロックパイプラインに投入する第２の手段と、
前記少なくても２つの連続したステージであってサブブロックの処理が行われる各ステージにおいて、前記第２の手段によって連続して前記マクロブロックパイプラインに投入される２個のマクロブロックに含まれるサブブロックを交互に処理する第３の手段と
を有し、
前記第２の手段によって前記ひとまとまりのマクロブロック行の中の最も下のマクロブロック行に含まれるマクロブロックが前記マクロブロックパイプラインに投入されると、前記第１の手段が前記選択されている個々のマクロブロックごとにその右隣接マクロブロックを新たに選択する
動画像符号化装置。
【請求項４】
ピクチャの最も上の前記ひとまとまりのマクロブロック行から符号化を開始し、下に隣接した前記ひとまとまりのマクロブロック行を順番に符号化する請求項１から請求項３までのいずれか１項に記載の動画像符号化装置。
【請求項５】
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を縦方向に隣接する２行ずつ組みにしてマクロブロック行の組を作成し、当該マクロブロック行の組に属する縦方向に隣接した２個のマクロブロックを組み合わせてマクロブロックペアを作成し、マクロブロックペアごとにフレーム符号化とフィールド符号化を選択して符号化を行い、前記マクロブロック行の組の中では、左端のマクロブロックペアから符号化を開始し、右に隣接したマクロブロックペアを順番に符号化する動画像符号化装置であって、
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれ、少なくても２つの連続した当該ステージにおいてマクロブロックが分割されたサブブロックの処理が行われるマクロブロックパイプラインを有し、
縦方向に連続する２組以上の前記マクロブロック行の組であって、ピクチャ全体に含まれる前記マクロブロック行の組の総数よりも少ない数の前記マクロブロック行の組をひとまとまりとして選択し、
前記ひとまとまりのマクロブロック行の組の中の最も上に位置するマクロブロック行の組に属するマクロブロックペアをフレーム符号化とフィールド符号化のいずれで符号化するか選択し、フレーム符号化を選択したときは当該マクロブロックペアに含まれる上フレームマクロブロックを前記マクロブロックパイプラインに投入し、フィールド符号化を選択したときは当該マクロブロックペアに含まれる片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の組の中の上から２番目のマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組の上に隣接したマクロブロック行の組に属するマクロブロックペアに含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行の組に属し、当該直前投入マクロブロックを含むマクロブロックペアより左に位置し、かつ当該直前投入マクロブロックを含むマクロブロックペアが右上隣接マクロブロックペアではないマクロブロックペアをフレーム符号化とフィールド符号化のいずれで符号化するか選択し、フレーム符号化を選択したときは当該マクロブロックペアに含まれる上フレームマクロブロックを前記マクロブロックパイプラインに投入し、フィールド符号化を選択したときは当該マクロブロックペアに含まれる片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の組の中の最も下に位置するマクロブロック行の組に属するマクロブロックペアに含まれるマクロブロックが前記マクロブロックパイプラインに投入された後に、前記ひとまとまりのマクロブロック行の組みの中の最も上に位置するマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組に属し、片方のマクロブロックのみ前記マクロブロックパイプラインに投入済みである前記マクロブロックペアに含まれる、まだ前記マクロブロックパイプラインに投入されていない他の片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記少なくても２つの連続したステージであってサブブロックの処理が行われる各ステージにおいて、連続して前記マクロブロックパイプラインに投入される２個のマクロブロックに含まれるサブブロックを交互に処理する
動画像符号化装置。
【請求項６】
ピクチャの最も上の前記ひとまとまりのマクロブロック行の組から符号化を開始し、下に隣接した前記ひとまとまりのマクロブロック行の組を順番に符号化する請求項５に記載の動画像符号化装置。
【請求項７】
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれ、少なくても２つの連続した当該ステージにおいてマクロブロックが分割されたサブブロックの処理が行われるマクロブロックパイプラインを含み、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行の中では、左端のマクロブロックから符号化を開始し、右に隣接したマクロブロックを順番に符号化する動画像符号化装置における動画像符号化方法であって、
縦方向に連続する４行以上であって、ピクチャに含まれる前記マクロブロック行の総行数よりも少ない行数の前記マクロブロック行がひとまとまりとして選択される第１のステップと、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックが前記マクロブロックパイプラインに投入される第２のステップと、
前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行に含まれるマクロブロックから最も下のマクロブロック行に含まれるマクロブロックまで順番に、各マクロブロック行の上に隣接したマクロブロック行に含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行に含まれ、当該直前投入マクロブロックより左に位置し、かつ当該直前投入マクロブロックが右上隣接マクロブロックではないマクロブロックが、前記マクロブロックパイプラインに投入される第３のステップと、
前記第２のステップと前記第３のステップが繰り返される第４のステップと、
前記少なくても２つの連続したステージであってサブブロックの処理が行われる各ステージにおいて、前記第４のステップによって連続して前記マクロブロックパイプラインに投入される２個のマクロブロックに含まれるサブブロックが交互に処理される第５のステップと
を有する動画像符号化方法。
【請求項８】
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれ、少なくても２つの連続した当該ステージにおいてマクロブロックが分割されたサブブロックの処理が行われるマクロブロックパイプラインを含み、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を縦方向に隣接する２行ずつ組みにしてマクロブロック行の組を作成し、当該マクロブロック行の組に属する縦方向に隣接した２個のマクロブロックを組み合わせてマクロブロックペアを作成し、マクロブロックペアごとにフレーム符号化とフィールド符号化を選択して符号化を行い、前記マクロブロック行の組の中では、左端のマクロブロックペアから符号化を開始し、右に隣接したマクロブロックペアを順番に符号化する動画像符号化装置における動画像符号化方法であって、
縦方向に連続する２組以上の前記マクロブロック行の組であって、ピクチャ全体に含まれる前記マクロブロック行の組の総数よりも少ない数の前記マクロブロック行の組がひとまとまりとして選択される第１のステップと、
前記ひとまとまりのマクロブロック行の組の中の最も上に位置するマクロブロック行の組に属するマクロブロックペアについてフレーム符号化とフィールド符号化のいずれで符号化されるか選択され、フレーム符号化が選択されたときは当該マクロブロックペアに含まれる上フレームマクロブロックが前記マクロブロックパイプラインに投入され、フィールド符号化が選択されたときは当該マクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入される第２のステップと、
前記ひとまとまりのマクロブロック行の組の中の上から２番目のマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組の上に隣接したマクロブロック行の組に属するマクロブロックペアに含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行の組に属し、当該直前投入マクロブロックを含むマクロブロックペアより左に位置し、かつ当該直前投入マクロブロックを含むマクロブロックペアが右上隣接マクロブロックペアではないマクロブロックペアについてフレーム符号化とフィールド符号化のいずれで符号化されるかが選択され、フレーム符号化が選択されたときは当該マクロブロックペアに含まれる上フレームマクロブロックが前記マクロブロックパイプラインに投入され、フィールド符号化が選択されたときは当該マクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入される第３のステップと、
前記ひとまとまりのマクロブロック行の組の中の最も下に位置するマクロブロック行の組に属するマクロブロックペアに含まれるマクロブロックが前記マクロブロックパイプラインに投入された後に、前記ひとまとまりのマクロブロック行の組みの中の最も上に位置するマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組に属し、片方のマクロブロックのみ前記マクロブロックパイプラインに投入済みである前記マクロブロックペアに含まれる、まだ前記マクロブロックパイプラインに投入されていない他の片方のマクロブロックが前記マクロブロックパイプラインに投入される第４のステップと、
前記第２のステップから前記第４のステップまでが繰り返される第５のステップと、
前記少なくても２つの連続したステージであってサブブロックの処理が行われる各ステージにおいて、前記第５のステップによって連続して前記マクロブロックパイプラインに投入される２個のマクロブロックに含まれるサブブロックが交互に処理される第６のステップと
を有する動画像符号化方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
本発明の動画像符号化装置は、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行の中では、左端のマクロブロックから符号化を開始し、右に隣接したマクロブロックを順番に符号化する動画像符号化装置であって、
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれ、少なくても２つの連続した当該ステージにおいてマクロブロックが分割されたサブブロックの処理が行われるマクロブロックパイプラインを有し、
縦方向に連続する４行以上であって、ピクチャ全体に含まれる前記マクロブロック行の総行数よりも少ない行数の前記マクロブロック行をひとまとまりとして選択し、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行に含まれるマクロブロックから最も下のマクロブロック行に含まれるマクロブロックまで順番に、各マクロブロック行の上に隣接したマクロブロック行に含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行に含まれ、当該直前投入マクロブロックより左に位置し、かつ当該直前投入マクロブロックが右上隣接マクロブロックではないマクロブロックを、前記マクロブロックパイプラインに投入し、
前記少なくても２つの連続したステージであってサブブロックの処理が行われる各ステージにおいて、連続して前記マクロブロックパイプラインに投入される２個のマクロブロックに含まれるサブブロックを交互に処理する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
また、本発明の動画像符号化装置は、動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれ、少なくても２つの連続した当該ステージにおいてマクロブロックが分割されたサブブロックの処理が行われるマクロブロックパイプラインと、
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を、縦方向に連続する４行以上であって、ピクチャ全体に含まれる前記マクロブロック行の総行数よりも少ない行数をひとまとまりとして選択し、当該ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックについては、左下隣接マクロブロックがまだ選択されていないマクロブロックを選択し、かつ、当該ひとまとまりのマクロブロック行の中の最も上以外のマクロブロック行に含まれるマクロブロックについては、右上隣接マクロブロックが既に選択されているマクロブロックを選択することによって、当該ひとまとまりのマクロブロック行に含まれるマクロブロックを１マクロブロック行当たり１個選択するマクロブロック選択部と、
前記マクロブロック選択部によって選択された個々のマクロブロックについて、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックから、最も下のマクロブロック行に含まれるマクロブロックまで順番に、個々のマクロブロックを符号化するために必要なデータを前記マクロブロックパイプラインに設定し、当該マクロブロックを前記マクロブロックパイプラインに投入する符号化データ設定部と
を有し、
前記少なくても２つの連続したステージであってサブブロックの処理が行われる各ステージにおいて、前記符号化データ設定部によって連続して前記マクロブロックパイプラインに投入される２個のマクロブロックに含まれるサブブロックを交互に処理し、
前記符号化データ設定部によって前記ひとまとまりのマクロブロック行の中の最も下のマクロブロック行に含まれるマクロブロックを符号化するために必要な前記データが前記マクロブロックパイプラインに設定されると、前記マクロブロック選択部が前記選択されている個々のマクロブロックごとにその右隣接マクロブロックを新たに選択する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
また、本発明の動画像符号化装置は、動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれ、少なくても２つの連続した当該ステージにおいてマクロブロックが分割されたサブブロックの処理が行われるマクロブロックパイプラインと、
ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を、縦方向に連続する４行以上であって、ピクチャ全体に含まれる当該マクロブロック行の総行数よりも少ない行数をひとまとまりとして選択し、当該ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックについては、左下隣接マクロブロックがまだ選択されていないマクロブロックを選択し、かつ、当該ひとまとまりのマクロブロック行の中の最も上以外のマクロブロック行に含まれるマクロブロックについては、右上隣接マクロブロックが既に選択されているマクロブロックを選択することによって、当該ひとまとまりのマクロブロック行に含まれるマクロブロックを１マクロブロック行当たり１個選択する第１の手段と、
前記第１の手段によって選択された個々のマクロブロックを、前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックから、最も下のマクロブロック行に含まれるマクロブロックまで順番に、前記マクロブロックパイプラインに投入する第２の手段と、
前記少なくても２つの連続したステージであってサブブロックの処理が行われる各ステージにおいて、前記第２の手段によって連続して前記マクロブロックパイプラインに投入される２個のマクロブロックに含まれるサブブロックを交互に処理する第３の手段と
を有し、
前記第２の手段によって前記ひとまとまりのマクロブロック行の中の最も下のマクロブロック行に含まれるマクロブロックが前記マクロブロックパイプラインに投入されると、前記第１の手段が前記選択されている個々のマクロブロックごとにその右隣接マクロブロックを新たに選択する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
好ましくは、本発明の動画像符号化装置は、ピクチャの最も上の前記ひとまとまりのマクロブロック行から符号化を開始し、下に隣接した前記ひとまとまりのマクロブロック行を順番に符号化する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
また、本発明の動画像符号化装置は、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を縦方向に隣接する２行ずつ組みにしてマクロブロック行の組を作成し、当該マクロブロック行の組に属する縦方向に隣接した２個のマクロブロックを組み合わせてマクロブロックペアを作成し、マクロブロックペアごとにフレーム符号化とフィールド符号化を選択して符号化を行い、前記マクロブロック行の組の中では、左端のマクロブロックペアから符号化を開始し、右に隣接したマクロブロックペアを順番に符号化する動画像符号化装置であって、
動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれ、少なくても２つの連続した当該ステージにおいてマクロブロックが分割されたサブブロックの処理が行われるマクロブロックパイプラインを有し、
縦方向に連続する２組以上の前記マクロブロック行の組であって、ピクチャ全体に含まれる前記マクロブロック行の組の総数よりも少ない数の前記マクロブロック行の組をひとまとまりとして選択し、
前記ひとまとまりのマクロブロック行の組の中の最も上に位置するマクロブロック行の組に属するマクロブロックペアをフレーム符号化とフィールド符号化のいずれで符号化するか選択し、フレーム符号化を選択したときは当該マクロブロックペアに含まれる上フレームマクロブロックを前記マクロブロックパイプラインに投入し、フィールド符号化を選択したときは当該マクロブロックペアに含まれる片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の組の中の上から２番目のマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組の上に隣接したマクロブロック行の組に属するマクロブロックペアに含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行の組に属し、当該直前投入マクロブロックを含むマクロブロックペアより左に位置し、かつ当該直前投入マクロブロックを含むマクロブロックペアが右上隣接マクロブロックペアではないマクロブロックペアをフレーム符号化とフィールド符号化のいずれで符号化するか選択し、フレーム符号化を選択したときは当該マクロブロックペアに含まれる上フレームマクロブロックを前記マクロブロックパイプラインに投入し、フィールド符号化を選択したときは当該マクロブロックペアに含まれる片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記ひとまとまりのマクロブロック行の組の中の最も下に位置するマクロブロック行の組に属するマクロブロックペアに含まれるマクロブロックが前記マクロブロックパイプラインに投入された後に、前記ひとまとまりのマクロブロック行の組みの中の最も上に位置するマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組に属し、片方のマクロブロックのみ前記マクロブロックパイプラインに投入済みである前記マクロブロックペアに含まれる、まだ前記マクロブロックパイプラインに投入されていない他の片方のマクロブロックを前記マクロブロックパイプラインに投入し、
前記少なくても２つの連続したステージであってサブブロックの処理が行われる各ステージにおいて、連続して前記マクロブロックパイプラインに投入される２個のマクロブロックに含まれるサブブロックを交互に処理する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
好ましくは、本発明の動画像符号化装置は、ピクチャの最も上の前記ひとまとまりのマクロブロック行の組から符号化を開始し、下に隣接した前記ひとまとまりのマクロブロック行の組を順番に符号化する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
また、本発明の動画像符号化方法は、動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれ、少なくても２つの連続した当該ステージにおいてマクロブロックが分割されたサブブロックの処理が行われるマクロブロックパイプラインを含み、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行の中では、左端のマクロブロックから符号化を開始し、右に隣接したマクロブロックを順番に符号化する動画像符号化装置における動画像符号化方法であって、
縦方向に連続する４行以上であって、ピクチャに含まれる前記マクロブロック行の総行数よりも少ない行数の前記マクロブロック行がひとまとまりとして選択される第１のステップと、
前記ひとまとまりのマクロブロック行の中の最も上のマクロブロック行に含まれるマクロブロックが前記マクロブロックパイプラインに投入される第２のステップと、
前記ひとまとまりのマクロブロック行の中の上から２行目のマクロブロック行に含まれるマクロブロックから最も下のマクロブロック行に含まれるマクロブロックまで順番に、各マクロブロック行の上に隣接したマクロブロック行に含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行に含まれ、当該直前投入マクロブロックより左に位置し、かつ当該直前投入マクロブロックが右上隣接マクロブロックではないマクロブロックが、前記マクロブロックパイプラインに投入される第３のステップと、
前記第２のステップと前記第３のステップが繰り返される第４のステップと、
前記少なくても２つの連続したステージであってサブブロックの処理が行われる各ステージにおいて、前記第４のステップによって連続して前記マクロブロックパイプラインに投入される２個のマクロブロックに含まれるサブブロックが交互に処理される第５のステップと
を有する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
また、本発明の動画像符号化方法は、動画像符号化の処理が４以上の処理に分割され、当該分割された処理を行うステージが４ステージ以上含まれ、少なくても２つの連続した当該ステージにおいてマクロブロックが分割されたサブブロックの処理が行われるマクロブロックパイプラインを含み、ピクチャの左端から右端まで横方向に連続して並んだマクロブロックの集まりであるマクロブロック行を縦方向に隣接する２行ずつ組みにしてマクロブロック行の組を作成し、当該マクロブロック行の組に属する縦方向に隣接した２個のマクロブロックを組み合わせてマクロブロックペアを作成し、マクロブロックペアごとにフレーム符号化とフィールド符号化を選択して符号化を行い、前記マクロブロック行の組の中では、左端のマクロブロックペアから符号化を開始し、右に隣接したマクロブロックペアを順番に符号化する動画像符号化装置における動画像符号化方法であって、
縦方向に連続する２組以上の前記マクロブロック行の組であって、ピクチャ全体に含まれる前記マクロブロック行の組の総数よりも少ない数の前記マクロブロック行の組がひとまとまりとして選択される第１のステップと、
前記ひとまとまりのマクロブロック行の組の中の最も上に位置するマクロブロック行の組に属するマクロブロックペアについてフレーム符号化とフィールド符号化のいずれで符号化されるか選択され、フレーム符号化が選択されたときは当該マクロブロックペアに含まれる上フレームマクロブロックが前記マクロブロックパイプラインに投入され、フィールド符号化が選択されたときは当該マクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入される第２のステップと、
前記ひとまとまりのマクロブロック行の組の中の上から２番目のマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組の上に隣接したマクロブロック行の組に属するマクロブロックペアに含まれる直前投入マクロブロックが前記マクロブロックパイプラインに投入された後に、当該各マクロブロック行の組に属し、当該直前投入マクロブロックを含むマクロブロックペアより左に位置し、かつ当該直前投入マクロブロックを含むマクロブロックペアが右上隣接マクロブロックペアではないマクロブロックペアについてフレーム符号化とフィールド符号化のいずれで符号化されるかが選択され、フレーム符号化が選択されたときは当該マクロブロックペアに含まれる上フレームマクロブロックが前記マクロブロックパイプラインに投入され、フィールド符号化が選択されたときは当該マクロブロックペアに含まれる片方のマクロブロックが前記マクロブロックパイプラインに投入される第３のステップと、
前記ひとまとまりのマクロブロック行の組の中の最も下に位置するマクロブロック行の組に属するマクロブロックペアに含まれるマクロブロックが前記マクロブロックパイプラインに投入された後に、前記ひとまとまりのマクロブロック行の組みの中の最も上に位置するマクロブロック行の組から最も下に位置するマクロブロック行の組まで順番に、各マクロブロック行の組に属し、片方のマクロブロックのみ前記マクロブロックパイプラインに投入済みである前記マクロブロックペアに含まれる、まだ前記マクロブロックパイプラインに投入されていない他の片方のマクロブロックが前記マクロブロックパイプラインに投入される第４のステップと、
前記第２のステップから前記第４のステップまでが繰り返される第５のステップと、
前記少なくても２つの連続したステージであってサブブロックの処理が行われる各ステージにおいて、前記第５のステップによって連続して前記マクロブロックパイプラインに投入される２個のマクロブロックに含まれるサブブロックが交互に処理される第６のステップと
を有する。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】削除
【補正の内容】
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】削除
【補正の内容】
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】削除
【補正の内容】
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】削除
【補正の内容】