(57)【要約】【課題】  符号化処理を破綻させることなく、共有メモリのメモリ伝送帯域を効率良く使用した符号化処理が可能となる。【解決手段】  映像入力部（１２）、予測符号化方法決定部（１８）、予測符号化処理部（２０）及びエントロピー符号化部（２２）は、メモリ（１６）を共用する。予測符号化方法決定部（１８）はメモリ（１６）の符号化対象画像データに簡易的な符号化処理を適用して発生符号量を評価し、符号化効率が最適となる予測方式を予測符号化処理部（２０）に通知する。予測符号化処理部（２０）は、通知された予測方式でメモリ（１６）の符号化対象画像データを予測符号化する。予測符号化処理部（２０）はマクロブロック単位の処理時間情報を記憶する。ＣＰＵ（１０）は、予測符号化処理部（２０）の処理時間情報が要求処理時間に相当する時間に収束するように、予測符号化方法決定部（１８）の予測方法決定処理条件を制御する。【選択図】  図１
2010050833.tif 000002
【特許請求の範囲】
【請求項１】
動画像を構成する画面をマクロブロック単位で符号化する映像符号化装置であって、
入力映像信号の予測符号化方法を決定する予測符号化方法決定手段と、
前記予測符号化方法決定手段で決定された予測符号化方法に従い前記入力映像信号を予測符号化する予測符号化処理手段であって、マクロブロック単位の処理時間情報を保持する予測符号化処理手段と、
前記予測符号化方法決定手段及び前記予測符号化処理手段により共用されるメモリと、
前記処理時間情報に従い、前記予測符号化方法決定手段の予測方法決定処理条件を制御する制御手段
とを有することを特徴とする映像符号化装置。
【請求項２】
前記処理時間情報は、１マクロブロック当りの実処理時間が要求処理時間に対して超過の場合に加算され、未満の場合に減算されるカウント値であり、
前記制御手段は、前記カウント値の大きさにより、前記予測方法決定処理条件を制御する
ことを特徴とする請求項１に記載の映像符号化装置。
【請求項３】
前記処理時間情報は、１マクロブロック当りの処理時間が要求処理時間に対して増減した時間の累積加算値であり、
前記制御手段は、前記累積加算値の大きさにより、前記予測方法決定処理条件を制御する
ことを特徴とする請求項１に記載の映像符号化装置。
【請求項４】
前記予測方法決定処理条件は、動き探索範囲、動きベクトル数、動きベクトルの画素精度、及びこれらの組み合わせの何れかを含むことを特徴とする請求項１乃至３の何れか１項に記載の映像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像符号化装置に関する。
【背景技術】
【０００２】
昨今の動画像圧縮技術では、空間領域における冗長度と時間領域における冗長度の両面から情報圧縮を行うハイブリッド符号化方式が主流である。前者は、ＤＣＴ（離散コサイン変換）等の直交変換処理により映像データを周波数領域に変換し、人間の視覚に影響の少ないより高周波成分のビット長を削減することで情報を圧縮する。後者は、時間的に前後する複数の画像の画面間の差分を符号化することにより情報量を削減するものであり、動き補償を適用することで更に符号化効率を高めている。
【０００３】
動画圧縮処理の演算では、動き補償における動き探索処理量が支配的である。動画圧縮における動き補償精度も改善されている。即ち、１６×１６画素ブロック単位での１画素精度の動き推定精度であったものが、ＭＰＥＧ−１方式では半画素精度に向上した。更に、ＭＰＥＧ−４  ＡＶＣ（ＩＳＯ／ＩＥＣ  １４４９６−１０）では、最小４×４画素に対する１／４画素精度まで高められている。画面間予測自体に関しても、前方向予測のみから、後方向予測への対応、前後から任意に２画面を参照する両方向予測に拡張されている。動き探索処理量は、動き推定精度の向上と共に増加している。
【０００４】
精度良くかつ効率的に動き推定を行う技術が特許文献１に記載されている。その技術では、複数の参照フレームの中から整数画素位置の精度の予測動き情報ＶＩｐを先ず求める。そして、その際に参照した１つの参照フレームから、他の画素位置精度の予測動き情報ＶＨｐ，ＶＱｐを求め、求めたＶＩｐ，ＶＨｐ，ＶＱｐの中から１つを選択する。
【特許文献１】特開２００６−０９３８８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
動画圧縮方式で規定されている範囲内で如何に精度良く動き検出を行うかが、画質に大きく影響する。限られた伝送帯域の中で柔軟な処理を行うことが、重要となっている。
【０００６】
一般に、動き探索処理は、できるだけ広範囲且つ高精度に行うことでより精度良く動き推定を行うことが可能となる。しかし、現実の実装面では、如何に少ない演算量で精度の高い動き推定が行えるかが重要となる。そのために、動き探索範囲や精度を限定した条件下で動画像圧縮処理が破綻しないための、ワーストケースを考慮したメモリ伝送帯域を確保した設計が必要になる。実際には、メモリ伝送帯域に余裕がある場合においても、動き探索精度を限定して処理する場合が多い。
【０００７】
そこで、符号化処理が破綻することなく、メモリ伝送帯域を効率良く使用する動画像圧縮処理方法が望まれる。
【０００８】
本発明は、このような要望を満たす映像符号化装置及び方法を提示することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る映像符号化装置は、動画像を構成する画面をマクロブロック単位で符号化する映像符号化装置であって、入力映像信号の予測符号化方法を決定する予測符号化方法決定手段と、前記予測符号化方法決定手段で決定された予測符号化方法に従い前記入力映像信号を予測符号化する予測符号化処理手段であって、マクロブロック単位の処理時間情報を保持する予測符号化処理手段と、前記予測符号化方法決定手段及び前記予測符号化処理手段により共用されるメモリと、前記処理時間情報に従い、前記予測符号化方法決定手段の予測方法決定処理条件を制御する制御手段とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、マクロブロック単位の予測符号化処理時間を記憶し、画面全体に必要な処理時間に対して所定時間単位で評価し、予測方法決定処理条件を制御する。これにより、符号化処理時間の調整を行い、限られたメモリ伝送帯域の範囲内で、符号化処理を破綻させることなく、メモリ伝送帯域を効率良く使用した符号化処理が可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【実施例１】
【００１２】
図１は、本発明の一実施例の概略構成ブロック図を示す。本実施例に係る映像符号化装置は、ＭＰＥＧ−４  ＡＶＣ方式で映像信号を符号化する。尚、入力映像信号は、フィールド周波数５９．９４Ｈｚで、１９２０×１０８８画素の４：２：０コンポーネント信号であるとする。
【００１３】
本実施例では、動画像を表現する映像信号の符号化対象画面を１６×１６画素ブロックに分割し、符号化処理をマクロブロック単位で実行する。ＣＰＵ１０は、映像符号化に必要な符号化パラメータを生成し、各部を制御する制御手段として機能する。映像入力部１２は、入力された映像信号をメモリＩ／Ｆ１４を介してメモリ１６に書き込む。メモリＩ／Ｆ１４は、各処理部からのメモリ１６へアクセス要求を調停し、メモリ１６の読み出しと書き込みを制御する。
【００１４】
予測符号化方法決定部１８は、符号化対象画面内の各マクロブロックに対する予測符号化方法を決定する。具体的には、メモリ１６の符号化対象画像データに簡易的な画面内符号化処理又は画面間予測符号化処理を適用して発生符号量を評価し、符号化効率が最適となる予測方式を決定する。例えば、動き探索範囲、動きベクトル精度、動きベクトル数等を含む各種の予測方法決定処理条件に基づいた簡易な符号化処理を使用する。予測符号化方法決定部１８は、決定した予測符号化処理に必要な予測符号化処理情報を予測符号化処理部２０に送信する。ＣＰＵ１０は、予測符号化方法決定部１８に予測方法決定処理条件を設定でき、これにより、予測符号化方法決定部１８による予測方法決定処理条件の内容を制御する。
【００１５】
予測符号化処理部２０は、予測符号化方法決定部１８により指定された予測符号化処理情報に応じて、メモリ１６の符号化対象画像データを予測符号化する。具体的には、メモリ１６から読み出した符号化済み画像データから予測画像データを生成する。そして、符号化対象画像データと予測画像データとの差分となる予測残差信号に対し、８×８画素又は４×４画素ブロック単位で整数精度離散コサイン変換等の直交変換処理を行う。但し、１６×１６画素ブロック単位で画面内予測処理が行われた輝度信号又は色差信号に対して各画素ブロックを整数精度離散コサイン変換した結果のＤＣ（直流）成分に対しては、更に、離散アダマール変換が行われる。
【００１６】
直交変換された変換係数は、指定された量子化パラメータに応じた量子化ステップで量子化され、得られた量子化係数データがエントロピー符号化部２２に供給される。量子化係数データは、同時に、逆量子化処理、逆直交変換処理（逆離散アダマール変換及び逆整数精度離散コサイン変換）及び予測画像データの加算によりローカルで復号化される。ローカルで復号化された画像データは、デブロッキングフィルタ処理を施され、デブロッキングフィルタ処理前後の復号化画像データがメモリ１６に書き戻される。
【００１７】
また、予測符号化処理部２０は、上記一連の処理に要した処理時間情報を保持でき、その時間情報をＣＰＵ１０に通知する。
【００１８】
エントロピー符号化部２２は、予測符号化処理部２０からの量子化係数データをエントロピー符号化する。エントロピー符号化部２２では、エントロピー符号化方式として、ＣＡＢＡＣ（Context-based Adaptive Variable Length Coding）に従った符号化が行われる。又は、ＣＡＶＬＣ（Context-based Adaptive Binary Arithmetic Coding）をエントロピー符号化方式としても良い。エントロピー符号化部２２は、エントロピー符号化で得られた符号データにシステムデータ（シーケンス情報、ピクチャ情報、スライス情報等）を多重化し、符号化データとして出力する。
【００１９】
映像符号化処理をリアルタイムに行う場合を考えると、１フィールド時間内に映像１フィールド分の符号化処理が完了しなければならない。図２は、本実施例の処理シーケンスを示す。１フィールド分の画像が（１９２０×５４４）／（１６×１６）＝４０８０マクロブロックで構成される場合、１マクロブロック当りの要求処理時間は、（１／５９．９４Ｈｚ）／４０８０ＭＢ≒約４μｓとなる。
【００２０】
予測符号化方法決定部１８、予測符号化処理部２０及びエントロピー符号化部２２は１マクロブロック単位のパイプライン処理となっており、各処理部１８，２０，２２の１マクロブロック処理が完了した段階で次のマクロブロック処理に遷移する。各処理部１２，１８，２０，２２がメモリ１６を共用しているので、各処理部１２，１８，２０，２２のメモリ・アクセスが互いに影響する。１マクロブロック当たり平均して４μｓ内で符号化処理を完了できない場合、処理遅延が累積し、入力画像データを保持するためのメモリ領域がオーバーフローし、映像符号化処理が破綻する可能性がある。
【００２１】
各処理部１２，１８，２０，２２の処理内容とメモリ１６に対するメモリ・アクセス頻度を考える。映像入力部１２は、入力映像信号の画像データをメモリ１６に書き込む固定的な処理となり、メモリ・アクセスも固定長の周期的なアクセスとなる。ただし、映像信号がリアルタイムに入力されるので、メモリ・アクセスに対する許容レイテンシも小さく、メモリＩ／Ｆ１４に対する優先度が最も高く設定されている。
【００２２】
予測符号化方法決定部１８によるメモリ１６へのアクセスは、予測方法決定処理条件に大きく依存する。符号化対象画像の１マクロブロックに対する予測方法を決定するために、動き探索等により多くの画像領域を読み込む必要がある。このため、予測符号化方法決定部１８によるメモリ１６へのアクセスが、全体のメモリ・アクセスの大半を占める。
【００２３】
予測符号化処理部２０の処理内容は、予測符号化方法別に固定的な処理となり、メモリ・アクセスも予測符号化方法別に固定的且つ周期的となる。エントロピー符号化部２２の処理内容は、入力される量子化係数データに依存し、生成される符号化データ長も変動する。しかし、符号化後の圧縮されたデータをメモリ１６に書き込むので、メモリ・アクセスも、他の処理部と比較して微少且つ影響も少ない。
【００２４】
以上のことから、本実施例では、１マクロブロック単位での符号化処理時間に注目し、次のようにメモリ・アクセスを制御又は調整した。即ち、処理内容とメモリ・アクセスが固定的な予測符号化処理部２０の処理時間情報を基準にして符号化処理全体の処理時間を把握する。そして、ＣＰＵ１０は、予測符号化処理部２０から得られる処理時間情報を周期的に評価し、予測符号化方法決定部１８の予測方法決定処理条件を制御する。これにより、符号化処理を破綻させることなく、メモリ１６の伝送帯域を有効に利用した符号化処理が行えるようになる。以下に、その制御方法を説明する。
【００２５】
予測符号化処理部２０は、１マクロブロック当りの処理時間をモニタし、実処理時間が上述の要求処理時間を超える場合には、処理時間情報としてのマクロブロック数を加算する。予測符号化処理部２０はまた、１マクロブロック当りの実処理時間が要求処理時間未満の場合には、処理時間情報としてのマクロブロック数を減算する。すなわち、本実施例では、実処理時間が要求処理時間を超えるか否かで、マクロブロック数を増減する。以下、このマクロブロックのカウント値をＯＶＥＲ＿ＭＢと表現する。ＣＰＵ１０は、適宜に、予測符号化処理部２０の保持する処理時間情報を参照する。
【００２６】
図３は、予測符号化処理部２０からの処理時間情報に従い、予測符号化方法決定部１８の予測方法決定処理条件を制御するＣＰＵ１０のフローチャートを示す。
【００２７】
ＣＰＵ１０は、予測符号化処理部２０におけるＯＶＥＲ＿ＭＢ及び処理が完了したマクロブロック数を示すＭＢ＿ＣＯＵＮＴを初期化し（S１）、符号化開始を命令する（S２）。以降、ＣＰＵ１０は、ＭＢ＿ＣＯＵＮＴを周期的に取得する（S３）。マクロブロック処理数ＭＢ＿ＣＯＵＮＴが所定数になった場合に（S５）、ＯＶＥＲ＿ＭＢを取得し、ＯＶＥＲ＿ＭＢ値が、０、正値又は負値かを評価する（S６）。なお、ここでは、１ＭＢライン：１２０ＭＢ単位とする。
【００２８】
ＯＶＥＲ＿ＭＢ値が正値の場合（S６）、ＯＶＥＲ＿ＭＢ値を、予め設定されている予測符号化方法決定部１８の予測方法決定処理条件を変更する閾値であるＯＶＥＲ＿ＬＩＭＩＴ値と比較する（S７）。ＯＶＥＲ＿ＭＢ値がＯＶＥＲ＿ＬＩＭＩＴ値を超過する場合（S７）、メモリ伝送帯域が不足していると判定し、予測符号化方法決定部１８の予測方法決定処理条件を制限する方向に変更する（S８）。
【００２９】
具体的には、動き探索範囲の縮小、動きベクトル精度の減少（例えば、１／４画素から１画素精度に）、及び動きベクトル数の限定（例えば、１６から８）の何れか、又はその組み合わせにより、予測方法決定の負荷を軽減する。動き探索範囲を縮小することで、参照画像の読み込み量を、縮小した領域分だけ削減することが可能となる。動きベクトル精度を下げることで、半画素又は１／４画素を生成するための予測補間処理に伴う参照画像の読み込み量を削減できる。動きベクトル数を限定することで、マクロブロック内の動き探索を行う回数自体を削減でき、参照画像の読み込み量を削減できる。このように予測符号化方法決定部１８の予測方法決定処理条件を制御することにより、予測符号化方法決定部１８のメモリ・アクセスを抑えることができる。この結果として、以降の予測符号化処理部２０のメモリ・アクセス待ちを軽減でき、符号化処理全体の遅延を減少又は解消できる。
【００３０】
ＯＶＥＲ＿ＭＢ値が負値の場合（S６）、符号化処理は要求時間内に実行できていることを示す。従って、メモリ伝送帯域に余裕があると考えることができる。そこで、この場合、予測符号化方法決定部１８の予測方法決定処理条件を緩和する方向に変更することが可能である（Ｓ９）。例えば、動き探索範囲の拡大、動きベクトル精度の向上及び動きベクトル数の増加の何れか、又はその組み合わせにより、予測符号化方法決定部１８の決定精度を改善する。勿論、予測方法決定処理条件の緩和が限界に達していれば、予測方法決定処理条件を変更しなくてもよい。
【００３１】
ＯＶＥＲ＿ＭＢが０値の場合（S６）、予測処理自体が平均的な要求時間で処理できていることを示しているので、条件変更を行わない。
【００３２】
以降、所定ＭＢ単位にＯＶＥＲ＿ＭＢを評価し（S５）、同様の処理を繰り返す。処理済みのマクロブロック数が１フィールド分（４０８０マクロブロック）に達した段階で（S４）、１フィールドの符号化処理を終了する。
【００３３】
以上のように、予測符号化処理部の処理時間を基準にして、要求処理時間に対する実処理時間の超過／未満の時間情報を元に予測符号化方法決定部１８の予測方法決定処理条件を適応的に制御する。この適応制御により、共有されるメモリ１６の伝送帯域を有効に使用しつつ、符号化処理が破綻させないことができる。
【００３４】
共有されるメモリへのアクセスを上述のように適応制御することにより、共有メモリの伝送帯域を有効活用でし、図４に示すように、記録処理部２４にメモリ１６を共有させることも可能になる。
【実施例２】
【００３５】
ＭＰＥＧ−４  ＡＶＣ方式で映像信号を符号化する場合で、予測符号化処理部２０の保持する処理時間情報に従い、予測符号化方法決定部１８の予測方法決定処理条件を制御する動作を説明する。図５は、その制御フローチャートを示す。
【００３６】
図５に示す制御フローでは、予測符号化処理部２０は、処理時間情報にとして、１マクロブロックあたりの実際の処理時間の、要求処理時間との差分の累積値を保持する。予測符号化処理部２０の動作周波数が２００ＭＨｚであるとすると、要求処理時間は、クロック・サイクル数（Ｔ）換算で、（４μｓ）／（１／２００ＭＨｚ）≒８００Ｔとなる。予測符号化処理部２０は、この要求処理クロック・サイクル数（８００Ｔ）に対する超過・未満分のクロック・サイクル数の累積加算値ＯＶＥＲ＿Ｔを保持する。
【００３７】
ＣＰＵ１０は、予測符号化処理部２０におけるＯＶＥＲ＿Ｔ及び処理が完了したマクロブロック数を示すＭＢ＿ＣＯＵＮＴを初期化し（Ｓ１１）、符号化開始を命令する（Ｓ１２）。以降、ＣＰＵ１０は、ＭＢ＿ＣＯＵＮＴを周期的に取得する（Ｓ１３）。マクロブロック処理数ＭＢ＿ＣＯＵＮＴが所定数になった場合に（Ｓ１５）、ＯＶＥＲ＿Ｔを取得し、ＯＶＥＲ＿Ｔ値が、０、正値又は負値を評価する（S１６）。なお、ここでは、１ＭＢライン：１２０ＭＢ単位とする。
【００３８】
ＯＶＥＲ＿Ｔ値が正値の場合（Ｓ１６）、ＯＶＥＲ＿Ｔ値を、予め設定されている予測符号化方法決定部１８の予測方法決定処理条件を変更する閾値であるＯＶＥＲ＿ＬＩＭＩＴ値と比較する（Ｓ１７）。ＯＶＥＲ＿Ｔ値がＯＶＥＲ＿ＬＩＭＩＴ値を超過する場合（Ｓ１７）、メモリ伝送帯域が不足していると判定し、予測符号化方法決定部１８の予測方法決定処理条件を制限する方向に変更する（Ｓ１８）。予測方法決定処理条件を制限するには、図３を参照して説明した方法を採用すれば良い。
【００３９】
ＯＶＥＲ＿Ｔ値が負値の場合（Ｓ１６）、符号化処理は要求時間内に実行できていることを示す。従って、メモリ伝送帯域に余裕があると考えることができる。そこで、この場合、予測符号化方法決定部１８の予測方法決定処理条件を緩和する方向に変更することが可能である（Ｓ１９）。例えば、動き探索範囲の拡大、動きベクトル精度の向上及び動きベクトル数の増加の何れか、又はその組み合わせにより、予測符号化方法決定部１８の決定精度を改善する。勿論、予測方法決定処理条件の緩和が限界に達していれば、予測方法決定処理条件を変更しなくてもよい。
【００４０】
ＯＶＥＲ＿Ｔが０値の場合（Ｓ１６）、予測処理自体が平均的な要求時間で処理できていることを示しているので、条件変更を行わない。
【００４１】
以降、所定ＭＢ単位にＯＶＥＲ＿Ｔを評価し（Ｓ１５）、同様の処理を繰り返す。処理済みのマクロブロック数が１フィールド分（４０８０マクロブロック）に達した段階で（Ｓ１４）、１フィールドの符号化処理を終了する。
【００４２】
以上のように、予測符号化処理部の処理時間を基準にして、要求処理時間に対する実処理時間の超過／未満の時間情報を元に予測符号化方法決定部１８の予測方法決定処理条件を適応的に制御する。この適応制御により、共有されるメモリ１６の伝送帯域を有効に使用しつつ、符号化処理が破綻させないことができる。
【００４３】
共有されるメモリへのアクセスを上述のように適応制御することにより、共有メモリの伝送帯域を有効活用でし、図４に示すように、記録処理部２４にメモリ１６を共有させることも可能になる。
【図面の簡単な説明】
【００４４】
【図１】本発明の一実施例の概略構成ブロック図である。
【図２】マクロブロック単位の符号化処理タイミングを示す図である。
【図３】処理時間情報（ＯＶＥＲ＿ＭＢ）に基づく予測決定処理条件の制御方法を示すフローチャートである。
【図４】記録処理部を変更実施例の概略構成ブロック図である。
【図５】処理時間情報（ＯＶＥＲ＿Ｔ）に基づく予測決定処理条件の制御方法を示すフローチャートである。
【符号の説明】
【００４５】
１０：ＣＰＵ
１２：映像入力部
１４：メモリＩ／Ｆ
１６：メモリ
１８：予測符号化方法決定部
２０：予測符号化処理部
２２：エントロピー符号化部
２４：記録処理部
【図１】
2010050833.tif 000003
【図２】
2010050833.tif 000004
【図３】
2010050833.tif 000005
【図４】
2010050833.tif 000006
【図５】
2010050833.tif 000007