(57)【要約】      （修正有）【課題】動き補償により画像を符号化する際に、演算量を削減することができるデータ処理装置、および符号化装置を提供する。【解決手段】複数の異なるサイズの動き補償ブロックを単位として、動きベクトルを生成する動きベクトル生成部３９１と、動き補償ブロックを単位として、参照画像データの間の差分、および動き補償に伴い発生する発生情報量に基づいて指標データを生成する指標データ生成部３９２と、複数の動き補償ブロックのうち大きいサイズから小さいサイズ順に、または逆順に、動きベクトルおよび指標データを探索する過程で、第１の動き補償ブロックでのデータよりも、第１の動き補償ブロックの次の第２の動き補償ブロックでのデータが大きい場合には、それ以降の動き補償ブロックに対しての探索を中止し、第１の動き補償ブロックと、第１の動き補償ブロックで動きベクトル生成手段が生成した動きベクトルを選択する制御部３９３とを設ける。【選択図】図３
2005191876.tif 000002
【特許請求の範囲】
【請求項１】
複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、前記動き補償で参照される参照画像データの間の差分に基づいて動きベクトルを生成する動きベクトル生成手段と、
前記動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記参照画像データの間の差分、および前記動き補償に伴い発生する発生情報量に基づいて指標データを生成する指標データ生成手段と、
前記複数の動き補償ブロックのうち大きいサイズから小さいサイズ順に、または逆順に、前記動きベクトルおよび前記指標データを探索する過程で、第１の動き補償ブロックでの第１の指標データよりも、前記第１の動き補償ブロックの次の第２の動き補償ブロックでの第２の指標データが大きい場合には、それ以降の動き補償ブロックに対しての前記探索を中止し、前記第１の動き補償ブロックと、前記第１の動き補償ブロックで前記動きベクトル生成手段が生成した動きベクトルを選択する制御手段と
を有するデータ処理装置。
【請求項２】
複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、前記動き補償で参照される参照画像データの間の差分に基づいて、動きベクトルを生成する動きベクトル生成手段と、
前記複数の異なるサイズの動き補償ブロックと量子化パラメータに関する閾値とを対応付ける対応情報を基に、符号化時の量子化パラメータよりも大きい前記閾値に対応付けられたサイズの動き補償ブロックについてのみ探索して、前記動きベクトル生成手段に動きベクトルを生成させる制御手段と
を有するデータ処理装置。
【請求項３】
前記動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記参照画像データの間の差分、および前記動き補償に伴い発生する発生情報量に基づいて指標データを生成する指標データ生成手段を有し、
前記制御手段は、前記探索した動き補償ブロックのうち、前記指標データ生成手段が生成した指標データが最小となる動き補償ブロックと、当該動き補償ブロックについて前記動きベクトル生成手段が生成した動きベクトルを選択する
請求項２に記載のデータ処理装置。
【請求項４】
複数の異なるサイズの動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記動き補償で参照される参照画像データ間の差分絶対値和に基づいて動きベクトルを生成する動きベクトル生成手段と、
精度の異なる第１および第２の精度で、前記複数の動き補償ブロックそれぞれについて前記動きベクトルの探索を行う際に、前記第１の精度で前記動きベクトル生成手段が生成した動きベクトルに対応する差分絶対値和が、前記複数の異なるサイズの動き補償ブロックそれぞれに予め設定された差分絶対値和に関する閾値よりも大きい場合には、前記第２の精度についての探索を中止する制御手段と
を有するデータ処理装置。
【請求項５】
前記複数の異なるサイズの動き補償ブロックそれぞれに予め設定された差分絶対値和に関する閾値は、符号化の際の量子化パラメータに応じて規定される
請求項４に記載のデータ処理装置。
【請求項６】
前記複数の異なるサイズの動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記参照画像データの間の差分、および前記動き補償に伴い発生する発生情報量に基づいて指標データを生成する指標データ生成手段を有し、
前記制御手段は、前記複数のサイズの動き補償ブロックを単位として、前記動きベクトル生成手段が、第１および第２の精度で生成した動きベクトルの内、前記動き補償ブロックそれぞれに対応して前記指標データ生成手段が生成した指標データが最小となるサイズの動き補償ブロックおよび前記動きベクトルを選択する
請求項５に記載のデータ処理装置。
【請求項７】
複数の異なるサイズの動き補償ブロックを単位として、双方向の動き補償により、画像データの符号化を行う符号化手段と、
前記符号化手段による符号化の際の量子化パラメータが、予め設定された量子化パラメータに関する閾値よりも大きい場合には、一方向の動き補償により画像データの符号化を前記符号化手段に行わせ、前記量子化パラメータが前記閾値より小さい場合には、双方向の動き補償により符号化を前記符号化手段に行わせる制御手段と
を有するデータ処理装置。
【請求項８】
複数の異なるサイズの動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記動き補償で参照される参照画像データ間の差分絶対値和に基づいて動きベクトルを生成する動きベクトル生成手段と、
前記画像データの解像度に基づいて、前記複数の異なるサイズの動き補償ブロックのうち、前記画像データの解像度が高くなるにしたがって大きなサイズの動き補償ブロックを選択し、前記選択したサイズの動き補償ブロックについて、前記動きベクトル生成手段に動きベクトルを生成させる制御を行う制御手段と
を有するデータ処理装置。
【請求項９】
前記制御手段は、前記画像データが第１の解像度の場合には、前記複数の異なるサイズの動き補償ブロックのうち、第１のサイズの動き補償ブロックを選択し、画像データが第１の解像度よりも低解像度の第２の解像度の場合には、第１のサイズよりも小さい動き補償ブロックを選択し、前記選択したサイズの動き補償ブロックについて、前記動きベクトル生成手段に動きベクトルを生成させる制御を行う
請求項８に記載のデータ処理装置。
【請求項１０】
複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、前記動き補償で参照される参照画像データの間の差分に基づいて動きベクトルを生成する動きベクトル生成手段と、
前記動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記参照画像データの間の差分、および前記動き補償に伴い発生する発生情報量に基づいて指標データを生成する指標データ生成手段と、
前記複数の動き補償ブロックのうち大きいサイズから小さいサイズ順に、または逆順に、前記動きベクトルおよび前記指標データを探索する過程で、第１の動き補償ブロックでの第１の指標データよりも、前記第１の動き補償ブロックの次の第２の動き補償ブロックでの第２の指標データが大きい場合には、それ以降の動き補償ブロックに対しての前記探索を中止し、前記第１の動き補償ブロックと、前記第１の動き補償ブロックで前記動きベクトル生成手段が生成した動きベクトルを選択し、前記動きベクトルを基に予測画像データを出力する制御手段と、
前記動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す第１の処理手段と、
前記第１の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する第２の処理手段と、
前記制御手段が選択した動きベクトルおよび前記参照画像データを基に前記予測画像データを生成する第３の処理手段と、
前記第１の処理手段で生成したデータ、および前記制御手段が選択した動きベクトルを基に符号化処理を行う符号化手段と
を有する符号化装置。
【請求項１１】
複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、前記動き補償で参照される参照画像データの間の差分に基づいて、動きベクトルを生成する動きベクトル生成手段と、
前記複数の異なるサイズの動き補償ブロックと量子化パラメータの閾値とを対応付ける対応情報を基に、符号化時の量子化パラメータよりも大きい前記閾値に対応付けられたサイズの動き補償ブロックについてのみ探索して、前記動きベクトル生成手段に動きベクトルを生成させ、動きベクトルを基に予測画像データを出力する制御手段と、
前記動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す第１の処理手段と、
前記第１の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する第２の処理手段と、
前記制御手段が選択した動きベクトルおよび前記参照画像データに基づいて、前記予測画像データを生成する第３の処理手段と、
前記第１の処理手段で生成したデータ、および前記制御手段が選択した動きベクトルを基に符号化処理を行う符号化手段と
を有する符号化装置。
【請求項１２】
複数の異なるサイズの動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記動き補償で参照される参照画像データ間の差分絶対値和に基づいて動きベクトルを生成する動きベクトル生成手段と、
精度の異なる第１および第２の精度で、前記複数の動き補償ブロックそれぞれについて前記動きベクトルの探索を行う際に、前記第１の精度で前記動きベクトル生成手段が生成した動きベクトルに対応する差分絶対値和が、前記複数の異なるサイズの動き補償ブロックそれぞれに予め設定された差分絶対値和に関する閾値よりも大きい場合には、前記第２の精度についての探索を中止し、動きベクトルを基に予測画像データを出力する制御手段と、
前記動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す第１の処理手段と、
前記第１の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する第２の処理手段と、
前記動きベクトル生成手段が生成した動きベクトルおよび前記参照画像データに基づいて、前記予測画像データを生成する第３の処理手段と、
前記第１の処理手段で生成したデータ、および前記制御手段が選択した動きベクトルを基に符号化処理を行う符号化手段と
を有する符号化装置。
【請求項１３】
動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す第１の処理手段と、
前記第１の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する第２の処理手段と、
動きベクトルおよび前記参照画像データに基づいて、前記予測画像データを生成する第３の処理手段と、
複数の異なるサイズの動き補償ブロックを単位として、双方向の動き補償により、前記第１の処理手段で生成したデータ、動きベクトルを基に符号化処理を行う符号化手段と、
前記符号化手段による符号化処理の際の量子化パラメータが、予め設定された量子化パラメータに関する閾値よりも大きい場合には、一方向の動き補償により画像データの符号化を前記符号化手段に行わせ、前記量子化パラメータが前記閾値より小さい場合には、双方向の動き補償により符号化を前記符号化手段に行わせる制御手段と
を有する符号化装置。
【請求項１４】
複数の異なるサイズの動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記動き補償で参照される参照画像データ間の差分絶対値和に基づいて動きベクトルを生成する動きベクトル生成手段と、
前記画像データの解像度に基づいて、前記複数の異なるサイズの動き補償ブロックのうち、前記画像データの解像度が高くなるにしたがって大きなサイズの動き補償ブロックを選択し、前記選択したサイズの動き補償ブロックについて、前記動きベクトル生成手段に動きベクトルを生成させる制御を行う制御手段と、
前記動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す第１の処理手段と、
前記第１の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する第２の処理手段と、
前記動きベクトル生成手段が生成した動きベクトルおよび前記参照画像データに基づいて、前記予測画像データを生成する第３の処理手段と、
前記第１の処理手段で生成したデータ、および前記制御手段が選択した動きベクトルを基に符号化処理を行う符号化手段と
を有する符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば動画像データの動き補償を行うデータ処理装置、および符号化装置に関する。
【背景技術】
【０００２】
近年、画像データをデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するＭＰＥＧ（Moving Picture Experts Group）などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
【０００３】
ＭＰＥＧ方式に続いて、さらなる高圧縮率を実現するＪＶＴ（Joint Video Team）と呼ばれる符号化方式が提案されている（例えば、非特許文献１参照）。
ＪＶＴ方式では、ＭＰＥＧと同様に、動き予測・補償処理において、動きベクトルを基にした動き予測・補償を行う。
ところで、ＪＶＴ方式の符号化装置では、例えば、上記動き予測・補償処理において、複数の動き補償ブロックのサイズ、例えば１６×１６，１６×８，８×１６，８×８画素のサイズが規定され、８×８画素のサイズには８×８，８×４，４×８，４×４画素が規定されている。
上述した符号化装置では、各マクロブロックＭＢの動き予測・補償処理を、上記全ての種類の動き予測ブロックサイズを基に予測画像を生成し、原画像との差分が最小となる予測画像を得て動き予測ブロックサイズを最終的に採用して行っている。これにより、高い符号化効率が得られる。
【非特許文献１】トーマス・ウィーガント，ゲーリー・Ｊ・サリバン，ギスレ・ビョンテガード，アジャイ・ルスラ（Thomas Wiegand, Gary J.Sullivan, Gisle Bjontegaard, and Ajay Luthra），ビデオコーディングスタンダードの概要（Overview of the H.264/AVC Video Coding Standard），「IEEEのビデオ技術用の処理回路およびシステム」（IEEE TRANSACTIONS CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY），（米国），，２００３年７月，
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来の符号化装置では、動き予測・補償処理に係る演算量が膨大である。例えば、上述したように、各マクロブロックＭＢの動き予測・補償処理において、全ての動き予測ブロックサイズを基に上記差分を検出するため、演算量が膨大であり、回路が大規模化したり処理時間が長くなるなどの問題点がある。
また、ＪＶＴ方式の符号化装置では、双方向の動き予測・補償処理を行い、いわゆるＢピクチャーを生成する場合があり、さらに膨大な演算処理を行う必要がある。
【０００５】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、動き補償により画像を符号化する際に、従来に比べて演算量を削減することができるデータ処理装置、および符号化装置を提供することにある。
【課題を解決するための手段】
【０００６】
前記目的を達成するために、本発明の第１の観点のデータ処理装置は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、前記動き補償で参照される参照画像データの間の差分に基づいて動きベクトルを生成する動きベクトル生成手段と、前記動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記参照画像データの間の差分、および前記動き補償に伴い発生する発生情報量に基づいて指標データを生成する指標データ生成手段と、前記複数の動き補償ブロックのうち大きいサイズから小さいサイズ順に、または逆順に、前記動きベクトルおよび前記指標データを探索する過程で、第１の動き補償ブロックでの第１の指標データよりも、前記第１の動き補償ブロックの次の第２の動き補償ブロックでの第２の指標データが大きい場合には、それ以降の動き補償ブロックに対しての前記探索を中止し、前記第１の動き補償ブロックと、前記第１の動き補償ブロックで前記動きベクトル生成手段が生成した動きベクトルを選択する制御手段とを有する。
【０００７】
本発明の第１の観点のデータ処理装置の作用は、以下のようになる。
動きベクトル生成手段は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、動き補償で参照される参照画像データの間の差分に基づいて動きベクトルを生成する。
指標データ生成手段は、動き補償ブロックを単位として、動き補償の対象となる画像データと、参照画像データの間の差分、および動き補償に伴い発生する発生情報量に基づいて指標データを生成する。
制御手段は、複数の動き補償ブロックのうち大きいサイズから小さいサイズ順に、または逆順に、動きベクトルおよび指標データを探索する過程で、第１の動き補償ブロックでの第１の指標データよりも、第１の動き補償ブロックの次の第２の動き補償ブロックでの第２の指標データが大きい場合には、それ以降の動き補償ブロックに対しての探索を中止し、第１の動き補償ブロックと、第１の動き補償ブロックで動きベクトル生成手段が生成した動きベクトルを選択する。
【０００８】
さらに、前記目的を達成するために、本発明の第２の観点のデータ処理装置は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、前記動き補償で参照される参照画像データの間の差分に基づいて、動きベクトルを生成する動きベクトル生成手段と、前記複数の異なるサイズの動き補償ブロックと量子化パラメータに関する閾値とを対応付ける対応情報を基に、符号化時の量子化パラメータよりも大きい前記閾値に対応付けられたサイズの動き補償ブロックについてのみ探索して、前記動きベクトル生成手段に動きベクトルを生成させる制御手段とを有する。
【０００９】
本発明の第２の観点のデータ処理装置の作用は、以下のようになる。
動きベクトル生成手段は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、動き補償で参照される参照画像データの間の差分に基づいて、動きベクトルを生成する。
制御手段は、複数の異なるサイズの動き補償ブロックと量子化パラメータに関する閾値とを対応付ける対応情報を基に、符号化時の量子化パラメータよりも大きい閾値に対応付けられたサイズの動き補償ブロックについてのみ探索して、動きベクトル生成手段に動きベクトルを生成させる。
【００１０】
さらに、前記目的を達成するために本発明の第３の観点のデータ処理装置は、複数の異なるサイズの動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記動き補償で参照される参照画像データ間の差分絶対値和に基づいて動きベクトルを生成する動きベクトル生成手段と、精度の異なる第１および第２の精度で、前記複数の動き補償ブロックそれぞれについて前記動きベクトルの探索を行う際に、前記第１の精度で前記動きベクトル生成手段が生成した動きベクトルに対応する差分絶対値和が、前記複数の異なるサイズの動き補償ブロックそれぞれに予め設定された差分絶対値和に関する閾値よりも大きい場合には、前記第２の精度についての探索を中止する制御手段とを有する。
【００１１】
本発明の第３の観点のデータ処理装置の作用は、以下のようになる。
動きベクトル生成手段は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、動き補償で参照される参照画像データ間の差分絶対値和に基づいて動きベクトルを生成する。
制御手段は、精度の異なる第１および第２の精度で、複数の動き補償ブロックそれぞれについて動きベクトルの探索を行う際に、第１の精度で動きベクトル生成手段が生成した動きベクトルに対応する差分絶対値和が、複数の異なるサイズの動き補償ブロックそれぞれに予め設定された差分絶対値和に関する閾値よりも大きい場合には、第２の精度についての探索を中止する。
【００１２】
さらに、前記目的を達成するために、本発明の第４の観点のデータ処理装置は、複数の異なるサイズの動き補償ブロックを単位として、双方向の動き補償により、画像データの符号化を行う符号化手段と、前記符号化手段による符号化の際の量子化パラメータが、予め設定された量子化パラメータに関する閾値よりも大きい場合には、一方向の動き補償により画像データの符号化を前記符号化手段に行わせ、前記量子化パラメータが前記閾値より小さい場合には、双方向の動き補償により符号化を前記符号化手段に行わせる制御手段とを有する。
【００１３】
本発明の第４の観点のデータ処理装置の作用は、以下のようになる。
符号化手段は、複数の異なるサイズの動き補償ブロックを単位として、双方向の動き補償により、画像データの符号化を行う。
制御手段は、符号化手段による符号化の際の量子化パラメータが、予め設定された量子化パラメータに関する閾値よりも大きい場合には、一方向の動き補償により画像データの符号化を符号化手段に行わせ、量子化パラメータが閾値より小さい場合には、双方向の動き補償により符号化を符号化手段に行わせる。
【００１４】
さらに、前記目的を達成するために、本発明の第５の観点のデータ処理装置は、複数の異なるサイズの動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記動き補償で参照される参照画像データ間の差分絶対値和に基づいて動きベクトルを生成する動きベクトル生成手段と、前記画像データの解像度に基づいて、前記複数の異なるサイズの動き補償ブロックのうち、前記画像データの解像度が高くなるに従って大きなサイズの動き補償ブロックを選択し、前記選択したサイズの動き補償ブロックについて、前記動きベクトル生成手段に動きベクトルを生成させる制御を行う制御手段とを有する。
【００１５】
本発明の第５の観点のデータ処理装置の作用は、以下のようになる。
動きベクトル生成手段は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、前記動き補償で参照される参照画像データ間の差分絶対値和に基づいて動きベクトルを生成する。
制御手段は、画像データの解像度に基づいて、複数の異なるサイズの動き補償ブロックのうち、画像データの解像度が高くなるにしたがって大きなサイズの動き補償ブロックを選択し、選択したサイズの動き補償ブロックについて、動きベクトル生成手段に動きベクトルを生成させる制御を行う。
【００１６】
さらに、前記目的を達成するために、本発明の第６の観点の符号化装置は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、前記動き補償で参照される参照画像データの間の差分に基づいて動きベクトルを生成する動きベクトル生成手段と、前記動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記参照画像データの間の差分、および前記動き補償に伴い発生する発生情報量に基づいて指標データを生成する指標データ生成手段と、前記複数の動き補償ブロックのうち大きいサイズから小さいサイズ順に、または逆順に、前記動きベクトルおよび前記指標データを探索する過程で、第１の動き補償ブロックでの第１の指標データよりも、前記第１の動き補償ブロックの次の第２の動き補償ブロックでの第２の指標データが大きい場合には、それ以降の動き補償ブロックに対しての前記探索を中止し、前記第１の動き補償ブロックと、前記第１の動き補償ブロックで前記動きベクトル生成手段が生成した動きベクトルを選択し、前記動きベクトルを基に予測画像データを出力する制御手段と、前記動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す第１の処理手段と、前記第１の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する第２の処理手段と、前記制御手段が選択した動きベクトルおよび前記参照画像データを基に前記予測画像データを生成する第３の処理手段と、前記第１の処理手段で生成したデータ、および前記制御手段が選択した動きベクトルを基に符号化処理を行う符号化手段とを有する。
【００１７】
本発明の第６の観点の符号化装置の作用は、以下のようになる。
動きベクトル生成手段は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、動き補償で参照される参照画像データの間の差分に基づいて動きベクトルを生成する。
指標データ生成手段は、動き補償ブロックを単位として、動き補償の対象となる画像データと、参照画像データの間の差分、および動き補償に伴い発生する発生情報量に基づいて指標データを生成する。
制御手段は、複数の動き補償ブロックのうち大きいサイズから小さいサイズ順に、または逆順に、動きベクトルおよび指標データを探索する過程で、第１の動き補償ブロックでの第１の指標データよりも、第１の動き補償ブロックの次の第２の動き補償ブロックでの第２の指標データが大きい場合には、それ以降の動き補償ブロックに対しての探索を中止し、第１の動き補償ブロックと、第１の動き補償ブロックで動きベクトル生成手段が生成した動きベクトルを選択し、動きベクトルを基に予測画像データを出力する。
第１の処理手段は、動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す。
第２の処理手段は、第１の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する。
第３の処理手段は、制御手段が選択した動きベクトルおよび参照画像データを基に予測画像データを生成する。
符号化手段は、第１の処理手段で生成したデータ、および制御手段が選択した動きベクトルを基に符号化処理を行う。
【００１８】
さらに、前記目的を達成するために、本発明の第７の符号化装置は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、前記動き補償で参照される参照画像データの間の差分に基づいて、動きベクトルを生成する動きベクトル生成手段と、前記複数の異なるサイズの動き補償ブロックと量子化パラメータの閾値とを対応付ける対応情報を基に、符号化時の量子化パラメータよりも大きい前記閾値に対応付けられたサイズの動き補償ブロックについてのみ探索して、前記動きベクトル生成手段に動きベクトルを生成させ、動きベクトルを基に予測画像データを出力する制御手段と、前記動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す第１の処理手段と、前記第１の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する第２の処理手段と、前記制御手段が選択した動きベクトルおよび前記参照画像データに基づいて、前記予測画像データを生成する第３の処理手段と、前記第１の処理手段で生成したデータ、および前記制御手段が選択した動きベクトルを基に符号化処理を行う符号化手段とを有する。
【００１９】
本発明の第７の符号化装置の作用は、以下のようになる。
動きベクトル生成手段は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、動き補償で参照される参照画像データの間の差分に基づいて、動きベクトルを生成する。
制御手段は、複数の異なるサイズの動き補償ブロックと量子化パラメータの閾値とを対応付ける対応情報を基に、符号化時の量子化パラメータよりも大きい閾値に対応付けられたサイズの動き補償ブロックについてのみ探索して、動きベクトル生成手段に動きベクトルを生成させ、動きベクトルを基に予測画像データを出力する。
第１の処理手段は、動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す。
第２の処理手段は、第１の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する。
符号化手段は、制御手段が選択した動きベクトルおよび参照画像データに基づいて、予測画像データを生成する第３の処理手段と、第１の処理手段で生成したデータ、および制御手段が選択した動きベクトルを基に符号化処理を行う。
【００２０】
さらに、前記目的を達成するために、本発明の第８の符号化装置は、複数の異なるサイズの動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記動き補償で参照される参照画像データ間の差分絶対値和に基づいて動きベクトルを生成する動きベクトル生成手段と、精度の異なる第１および第２の精度で、前記複数の動き補償ブロックそれぞれについて前記動きベクトルの探索を行う際に、前記第１の精度で前記動きベクトル生成手段が生成した動きベクトルに対応する差分絶対値和が、前記複数の異なるサイズの動き補償ブロックそれぞれに予め設定された差分絶対値和に関する閾値よりも大きい場合には、前記第２の精度についての探索を中止し、動きベクトルを基に予測画像データを出力する制御手段と、前記動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す第１の処理手段と、前記第１の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する第２の処理手段と、前記動きベクトル生成手段が生成した動きベクトルおよび前記参照画像データに基づいて、前記予測画像データを生成する第３の処理手段と、前記第１の処理手段で生成したデータ、および前記制御手段が選択した動きベクトルを基に符号化処理を行う符号化手段とを有する。
【００２１】
本発明の第８の符号化装置の作用は、以下のようになる。
動きベクトル生成手段は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、動き補償で参照される参照画像データ間の差分絶対値和に基づいて動きベクトルを生成する。
制御手段は、精度の異なる第１および第２の精度で、複数の動き補償ブロックそれぞれについて動きベクトルの探索を行う際に、第１の精度で動きベクトル生成手段が生成した動きベクトルに対応する差分絶対値和が、複数の異なるサイズの動き補償ブロックそれぞれに予め設定された差分絶対値和に関する閾値よりも大きい場合には、第２の精度についての探索を中止し、動きベクトルを基に予測画像データを出力する。
第１の処理手段は、動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す。
第２の処理手段は、第１の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する。
第３の処理手段は、動きベクトル生成手段が生成した動きベクトルおよび参照画像データに基づいて、予測画像データを生成する。
符号化手段は、第１の処理手段で生成したデータ、および制御手段が選択した動きベクトルを基に符号化処理を行う。
【００２２】
さらに、前記目的を達成するために、本発明の第９の観点の符号化装置は、動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す第１の処理手段と、前記第１の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する第２の処理手段と、動きベクトルおよび前記参照画像データに基づいて、前記予測画像データを生成する第３の処理手段と、複数の異なるサイズの動き補償ブロックを単位として、双方向の動き補償により、前記第１の処理手段で生成したデータ、動きベクトルを基に符号化処理を行う符号化手段と、前記符号化手段による符号化処理の際の量子化パラメータが、予め設定された量子化パラメータに関する閾値よりも大きい場合には、一方向の動き補償により画像データの符号化を前記符号化手段に行わせ、前記量子化パラメータが前記閾値より小さい場合には、双方向の動き補償により符号化を前記符号化手段に行わせる制御手段とを有する。
【００２３】
本発明の第９の観点の符号化装置の作用は、以下のようになる。
第１の処理手段は、動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す。
第２の処理手段は、第１の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する。
第３の処理手段は、動きベクトルおよび参照画像データに基づいて、予測画像データを生成する。
符号化手段は、複数の異なるサイズの動き補償ブロックを単位として、双方向の動き補償により、第１の処理手段で生成したデータ、動きベクトルを基に符号化処理を行う。
制御手段は、符号化手段による符号化処理の際の量子化パラメータが、予め設定された量子化パラメータに関する閾値よりも大きい場合には、一方向の動き補償により画像データの符号化を符号化手段に行わせ、量子化パラメータが閾値より小さい場合には、双方向の動き補償により符号化を符号化手段に行わせる。
【００２４】
さらに、前記目的を達成するために、本発明の第１０の観点の符号化装置は、複数の異なるサイズの動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記動き補償で参照される参照画像データ間の差分絶対値和に基づいて動きベクトルを生成する動きベクトル生成手段と、前記画像データの解像度に基づいて、前記複数の異なるサイズの動き補償ブロックのうち、前記画像データの解像度が高くなるにしたがって大きなサイズの動き補償ブロックを選択し、前記選択したサイズの動き補償ブロックについて、前記動きベクトル生成手段に動きベクトルを生成させる制御を行う制御手段と、前記動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す第１の処理手段と、前記第１の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する第２の処理手段と、前記動きベクトル生成手段が生成した動きベクトルおよび前記参照画像データに基づいて、前記予測画像データを生成する第３の処理手段と、前記第１の処理手段で生成したデータ、および前記制御手段が選択した動きベクトルを基に符号化処理を行う符号化手段とを有する。
【００２５】
本発明の第１０の観点の符号化装置の作用は、以下のようになる。
動きベクトル生成手段は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、動き補償で参照される参照画像データ間の差分絶対値和に基づいて動きベクトルを生成する。
制御手段は、画像データの解像度に基づいて、複数の異なるサイズの動き補償ブロックのうち、画像データの解像度が高くなるにしたがって大きなサイズの動き補償ブロックを選択し、選択したサイズの動き補償ブロックについて、動きベクトル生成手段に動きベクトルを生成させる制御を行う。
第１の処理手段は、動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す。
第２の処理手段は、第１の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する。
第３の処理手段は、動きベクトル生成手段が生成した動きベクトルおよび参照画像データに基づいて、予測画像データを生成する。
符号化手段は、第１の処理手段で生成したデータ、および制御手段が選択した動きベクトルを基に符号化処理を行う。
【発明の効果】
【００２６】
本発明によれは、動き補償により画像を符号化する際に、従来に比べて演算量を削減することができるデータ処理装置、および符号化装置を提供することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施形態に係るＪＶＴ方式の符号化装置について説明する。
【００２８】
図１は、本実施形態の通信システム１の概念図である。
図１に示すように、通信システム１は、送信側に設けられた符号化装置２と、受信側に設けられた復号装置３とを有する。
通信システム１では、送信側の符号化装置２において、離散コサイン変換やカルーネン・レーベ変換などの直交変換と動き補償によって圧縮したフレーム画像データ（ビットストリーム）を生成し、当該フレーム画像データを変調した後に、衛星放送波、ケーブルＴＶ網、電話回線網、携帯電話回線網などの伝送媒体を介して送信する。
受信側では、受信した画像信号を復調した後に、上記変調時の直交変換の逆変換と動き補償によって伸張したフレーム画像データを生成して利用する。
なお、上記伝送媒体は、光ディスク、磁気ディスクおよび半導体メモリなどの記録媒体であってもよい。
図１に示す復号装置３は符号化装置２の符号化に対応した復号を行い、従来と同じ構成を有している
なろ、本実施形態では、符号化装置２において、動き予測・補償処理を行う場合に、予め規定された複数の異なるサイズのブロック全を用いて探索し、マクロブロックＭＢの動きベクトルおよび予測画像の生成を行うのではなく、設定された中止条件により探索を中止することで、演算量の削減を図る。
【００２９】
以下、図１に示す符号化装置２について説明する。
図２は、図１に示す符号化装置２の全体構成図である。図３は、図２に示した動き予測・補償回路３９の本発明に係る機能ブロック図である。
図２に示すように、符号化装置２は、例えば、Ａ／Ｄ変換回路２２、画面並べ替え回路２３、演算回路２４、直交変換回路２５、量子化回路２６、可逆符号化回路２７、バッファ２８、逆量子化回路２９、逆直交変換回路３０、レート制御回路３２、フレームメモリ３４、デブロックフィルタ３８、および動き予測・補償回路３９を主構成要素として有する。
また、動き予測・補償回路３９は、例えば図３に示すように、動きベクトル生成部３９１、指標データ生成部３９２、および制御部３９３を有する。
【００３０】
動き予測・補償回路３９は、本発明に係るデータ処理装置に相当する。動きベクトル生成部３９１は本発明に係る動きベクトル生成手段に相当し、指標データ生成部３９２は本発明に係る指標データ生成手段に相当し、制御部３９３は本発明に係る制御手段に相当する。
【００３１】
以下、符号化装置２の構成要素について説明する。
Ａ／Ｄ変換回路２２は、入力されたアナログの輝度信号Ｙ、色差信号Ｃｂ，Ｃｒから構成される原画像信号Ｓ１０をデジタルのフレームデータＳ２２に変換し、これを画面並べ替え回路２３に出力する。
画面並べ替え回路２３は、Ａ／Ｄ変換回路２２から入力したフレームデータＳ２２を、そのピクチャタイプＩ，Ｐ，ＢからなるＧＯＰ（Group Of Pictures） 構造に応じて、符号化する順番に並べ替えたフレームデータＳ２３を演算回路２４、演算回路２４、レート制御回路３２および動き予測・補償回路３９に出力する。
【００３２】
演算回路２４は、フレームデータＳ２３内の処理対象の動き補償ブロックＭＣＢ（マクロブロックともいう）と、それに対応して動き予測・補償回路３９から入力した予測画像データＰＩの動き補償ブロックＭＣＢとの差分を示す画像データＳ２４を生成し、これを直交変換回路２５に出力する。
直交変換回路２５は、画像データＳ２４に離散コサイン変換やカルーネン・レーベ変換などの直交変換を施して画像データ（例えばＤＣＴ係数）Ｓ２５を生成し、これを量子化回路２６に出力する。
量子化回路２６は、レート制御回路３２から入力した量子化スケールで、画像データＳ２５を量子化して画像データＳ２６を生成し、これを可逆符号化回路２７および逆量子化回路２９に出力する。
【００３３】
可逆符号化回路２７は、画像データＳ２６を可変長符号化あるいは算術符号化した画像データをバッファ２８に格納する。
このとき、可逆符号化回路２７は、インター予測符号化が行われた場合には、動き予測・補償回路３９から入力した動きベクトルＭＶを符号化してヘッダデータに格納する。
【００３４】
バッファ２８に格納された画像データは、変調等された後に送信される。
逆量子化回路２９は、他の動き補償ブロックＭＣＢから参照される参照画像データの動き補償ブロックＭＣＢの画像データＳ２６を逆量子化した信号を生成し、これを逆直交変換回路３０に出力する。
逆直交変換回路３０は、デブロックフィルタ３８から入力した画像データに、直交変換回路２５における直交変換の逆変換を施して生成した画像データＳ３０をデブロックフィルタ３８を介してフレームメモリ３４に書き込む。
デブロックフィルタ３８は、画像データＳ２６のブロック歪みを除去した画像データを、フレームメモリ３４に出力する。
【００３５】
レート制御回路３２は、例えば、画面並べ替え回路２３から入力したフレームデータＳ２３を基に、画像中の複雑度が高い部分は細かく量子化し、画像中の複雑度が低い部分は粗く量子化するように量子化パラメータＱｐを生成する。
そして、レート制御回路３２は、上記生成した量子化パラメータＱｐ、並びにバッファ２８から読み出した画像データを基に量子化スケールを生成し、これを量子化回路２６に出力する。
また、レート制御回路３２は、上記生成した量子化パラメータＱｐを、動き予測・補償回路３９に出力する。
【００３６】
図４は、図２に示す符号化装置の動き予測・補償回路における動きベクトルの探索方法を説明するための図である。
動き予測・補償回路３９は、符号化対象のフレームデータＳ２３およびフレームメモリ３４からの参照画像データＲＥＦを基に、参照画像データ内の探索範囲ＳＲを探索して、動き予測・補償処理を行って動き補償ブロックＭＣＢを単位として、動きベクトルＭＶを算出する。
【００３７】
この際、動き予測・補償回路３９は、Ｉピクチャ、Ｐピクチャ、Ｂピクチャを符号化する。ここでＩピクチャは、当該Ｉピクチャの情報だけから符号化し、フレーム間予測（インター予測符号化）を行わない画像データを示す。
Ｐピクチャは、表示順が前（過去）のＩピクチャまたはＰピクチャを基に予測を行って符号化される画像データを示す。
Ｂピクチャは、表示順が前（過去）および後（未来）のＩピクチャおよびＰピクチャを基に双方向予測によって符号化される画像データを示す。
【００３８】
図５は、図２に示した動き予測・補償回路３９において、採用可能な動き予測ブロックのサイズの種類を説明するための図である。
動き予測ブロック（マクロブロックＭＢ）のブロックサイズには、例えば図５に示すように、１６×１６，１６×８，８×１６，８×８画素のサイズが規定され、また、８×８，８×４，４×８，および４×４画素のサイズが規定される。
【００３９】
動き予測・補償回路３９は、例えば図４に示すように、フレームデータＳ２３内の処理対象の動き補償ブロックＭＣＢとの差異が最も小さい動き補償ブロックＭＣＢの位置を参照画像データＲＥＦの探索範囲ＳＲ内で特定し、これらの位置関係に対応した動きベクトルＭＶを算出する。
そして、動き予測・補償回路３９は、後述する指標データＣｏｓｔを最小にする動きベクトルＭＶ、並びにそれに対応する動き補償ブロックＭＣＢのサイズを選択する。
また、動き予測・補償回路３９は、上記選択した動きベクトルＭＶを基に、上記選択したサイズの動き補償ブロックＭＣＢについての予測画像データＰＩを生成する。
動き予測・補償回路３９は、上記選択した動きベクトルＭＶを可逆符号化回路２７に出力し、上記生成した予測画像データＰＩを演算回路２４に出力する。
【００４０】
図６は、一般的な符号化装置の動き予測・補償回路の動作を説明するための図である。
一般的なＭＰＥＧやＪＶＴ等の動画符号化処理では、ブロックサイズを例えば図５に示した複数の候補の中から選ぶことができる。
このブロックの分割が細かいほど、原画に近い予測画を生成する動きベクトルＭＶが選択でき、低ビットレートで高画質を達成できる利点がある。しかし超低ビットレートではブロックの分割が細かい場合には、分割が増えたことによるＭＶの符号コストが増大し、逆に圧縮効率が悪くなるという問題点がある。
最適なブロックの分割サイズを求めるために、一般的な符号化装置では、例えば図６に示すように、動きベクトルＭＶを生成する際に、各ブロックサイズそれぞれについて動きベクトルを生成し、それぞれのブロックサイズで求めた中で、最もビット発生量の小さい動きベクトルＭＶ、およびブロックサイズを選択する。
具体的には、例えば図６に示すように、ブロックサイズ１６×１６、１６×８、８×１６、８×８、８×４、４×８、４×４について整数ピクセル精度での動きベクトルＭＶおよび非整数ピクセル精度（例えば１／２ピクセルや１／４ピクセル精度）の動きベクトルを探索し、その求めた動きベクトルの中で、最小のビット発生量の動きベクトルＭＶおよびブロックサイズを選択している。
【００４１】
上述した方法ではブロックサイズの種類が多くなるにしたがい、ブロックサイズの判定に要する計算量が増大し、高画質を得るために長時間のエンコードが必要となる点が問題となる。特に、ＪＶＴでは、動きベクトルＭＶが１／４ピクセル（Pixel ）精度で指定できるが、高速化のために、まず整数ピクセルでの動きベクトルＭＶを求め、その後で非整数ピクセル（１／２ピクセルや１／４ピクセル）の精度で動きベクトルＭＶを求めなおしている。
しかし、整数ピクセル精度の段階で動きベクトルＭＶが、見当違いな値を算出した場合であっても、非整数ピクセル精度で動きベクトルを求めるという、無駄な演算を行っている場合もある。
【００４２】
本実施形態に係る符号化装置２は、動き予測・補償回路３９が、ブロックサイズを例えば、大きいサイズから小さいサイズへ、または小さいサイズから大きいサイズへ一方向に発生ビット量を算出し、すでに計算した発生ビット量よりも、現在探索しているブロックサイズでの発生ビット量が大きいいことを検出した場合には、その時点以降のブロックサイズについての探索を中止することで演算量を削減する。
【００４３】
以下、本実施形態に係る動き予測・補償回路３９を図３を参照しながら詳細に説明する。
上述したように、動き予測・補償回路３９は、例えば図３に示すように、動きベクトル生成部３９１、指標データ生成部３９２、および制御部３９３を主構成要素として有する。
【００４４】
動きベクトル生成部３９１は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データＳ２３と、動き補償で参照される参照画像データＲＥＦの間の差分に基づいて動きベクトルＭＶを生成する。
【００４５】
指標データ生成部３９２は、動き補償ブロックを単位として、動き補償の対象となる画像データＳ２３と、参照画像データＲＥＦの間の差分、および動き補償に伴い発生する発生情報量に基づいて指標データを生成する。
【００４６】
指標データ生成部３９２は、例えば具体的には、図４に示すように、動き補償ブロックＭＢを用いて、画像並べ替え回路２３から入力したフレームデータＳ２３内のマクロブロックＭＢを単位として、フレームデータＳ２３内の動き補償ブロックＭＣＢと、参照画像データＲＥＦの探索範囲ＳＲ内の所定の一の動き補償ブロックＭＣＢとの差分絶対値和を示す指標データＳＡＤを数式（１）を基に生成する。
【００４７】
【数１】
2005191876.tif 000003
【００４８】
数式（１）において、ｓ[ｘ，ｙ］は、フレームデータＳ２３の画素位置（ｘ，ｙ）の画素データを示す。
また、ｃ（ｘ−ｍｘ，ｙ−ｍｙ）は、参照画像データＲＥＦ内の画素位置（ｘ−ｍｘ，ｙ−ｍｙ）の画素データを示す。
ここで，（ｍｘ，ｍｙ）によって動きベクトルＭＶが規定される。
数式（１）では、フレームデータＳ２３内の処理対象の動き補償ブロックＭＣＢを構成する全ての画素データについて、演算が行われるように、動き補償ブロックＭＣＢ内の全ての画素位置（ｘ，ｙ）が順に選択される。
【００４９】
また、指標データ生成部３９２は、参照画像データＲＥＦの探索範囲内の全てあるいは予め決められた一部の位置の動き補償ブロックＭＣＢのそれぞれについて、上記指標データＳＡＤを生成する。また、この指標データは動きベクトル生成部３９１により参照されてもよい。参照画像データＲＥＦとフレームデータＳ２３との位置が、動きベクトル生成部３９１による動きベクトルＭＶを規定している。
【００５０】
また、指標データ生成部３９２は、数式（１）による指標データＳＡＤと補正データλ、動きベクトルに応じた発生情報量Ｒを用いて、数式（２）に示すように指標データＣｏｓｔを生成する。
【００５１】
【数２】
2005191876.tif 000004
【００５２】
本実施形態において、補正データλは、例えばレート制御回路３２から入力された量子化パラメータＱｐに応じて決まる値であり、指標データ生成部３９２はレート制御回路３２から入力された量子化パラメータＱｐを基に補正データλを算出する。
動きベクトルに応じた発生量Ｒは、例えばテーブルルックアップ（Table lookup）により求められる動きベクトル差分の発生情報量である。発生情報量Ｒは、例えばエントロピー符号化処理、具体的にはＵＶＬＣ（Universal Variable Length Code）やＣＡＢＡＣ（Context based adaptive Binary Arithmetic Coding ）により求められる。
【００５３】
制御部３９３は、例えば動きベクトル生成部３９１および指標データ生成部３９２を制御し、複数の動き補償ブロックのうち大きいサイズから小さいサイズ順に、または逆順に、動きベクトルおよび指標データを探索する過程で、第１の動き補償ブロックでの第１の指標データよりも、第１の動き補償ブロックの次の第２の動き補償ブロックでの第２の指標データが大きい場合には、それ以降の動き補償ブロックに対しての探索を中止し、第１の動き補償ブロックと、第１の動き補償ブロックで動きベクトル生成部３９１が生成した動きベクトルを選択する。
【００５４】
つまり制御部３９３は、ブロックサイズを例えば大きいものから、小さいものというように、一方向に順に探索していき、各ブロックサイズに対して動きベクトルを算出し、探索しているマクロブロックでの指標データＣｏｓｔを比較していき、極小となるブロックサイズを検出する。
そして制御部３９３は、予め規定された複数の異なる大きさのブロックサイズのマクロブロックから順に探索した場合に、今調べているブロックサイズの発生ビット量よりも、すでに探索したブロックサイズでの発生ビット量が大きい場合には、それ以上の細かいサイズ（小さいサイズ）のブロックについては探索を中止し、その発生ビット量が極小を示すブロックサイズでの動きベクトルを選択する。
これにより、全てのブロックサイズの探索を行うことなく、計算量を大きく削減することができる。
例えば、ブロックサイズが１６×１６、１６×８、８×１６、８×８の４種類がある場合のフローを説明する。
【００５５】
図７は、図３に示した符号化装置の制御部３９３による動きベクトルの探索を説明するための図である。具体的には、図７は複数の異なるブロックサイズのブロックで、動きベクトルを生成した際の指標データＣｏｓｔを示す図である。横軸は各マクロブロックをブロックサイズの大きさ順に並べて示し、縦軸は各マクロブロックでの指標データＣｏｓｔを示す。
【００５６】
例えば図７に示すように、横軸に４×４，４×８，８×４，８×８，８×１６，１６×８，１６×１６と、ブロックサイズの大きさ順に整列させ、例えばブロックサイズが大きいほうから小さいほうへ順に、動きベクトルＭＶを生成して探索を行うと、指標データＣｏｓｔが極小となるブロックサイズが１つだけ存在するという特徴がある。
つまり、本実施形態に係る符号化装置では、この特徴を利用して探索を行う過程で、ビット発生量の極小を検出した時点で探索を中止し、その極小でのブロックサイズと、動きベクトルとを選択することにより、計算量を削減している。
【００５７】
具体的には、制御部３９３は、複数の動き補償ブロックのうち大きいサイズから小さいサイズ順に、または逆順に、動きベクトルおよび前記指標データを探索する過程で、第１の動き補償ブロックでの第１の指標データよりも、第１の動き補償ブロックの次の第２の動き補償ブロックでの第２の指標データが大きい場合には、それ以降の動き補償ブロックに対しての探索を中止し、第１の動き補償ブロックと、第１の動き補償ブロックで動きベクトル生成手段が生成した動きベクトルを選択する。
より具体的には制御部３９３は、例えば図７に示すように、ブロックサイズ１６×１６から小さいサイズに順に探索を行う過程で、ブロックサイズ８×８でのビット発生量（指標データ）よりも、ブロックサイズ８×８の次の８×４のブロックサイズでのビット発生量（指標データ）が大きい場合には、それ以降の動き補償ブロックに対しての探索を中止し、８×８のブロックと、そのブロックでの動きベクトルを選択する。
【００５８】
図８は、図１に示した符号化装置の動きベクトルの探索に係る動作の一具体例を説明するためのフローチャートである。
簡単な説明のため、ブロックサイズが１６×１６，１６×８，８×１６，８×８の場合を説明する。
ステップＳＴ１１において、制御部３９３は、動きベクトル生成部３９１および指標データ生成部３９２を制御して、ブロックサイズ１６×１６のマクロブロックを単位として、動きベクトルＭＶを生成させ、発生情報量を基に指標データＣｏｓｔ（１６×１６）を算出させる。ここでカッコ内はブロックサイズを示す。
【００５９】
ステップＳＴ１２において、制御部３９３は、動きベクトル生成部３９１および指標データ生成部３９２を制御して、ブロックサイズ１６×８のマクロブロックを単位として、動きベクトルＭＶを生成させ、発生情報量を基に指標データコストＣｏｓｔ（１６×８）を算出させる。
【００６０】
ステップＳＴ１３において、制御部３９３は、動きベクトル生成部３９１および指標データ生成部３９２を制御して、ブロックサイズ８×１６のマクロブロックを単位として、動きベクトルＭＶを生成させ、発生情報量を基に指標データコストＣｏｓｔ（８×１６）を算出させる。
【００６１】
ステップＳＴ１４において、制御部３９３は、ステップＳＴ１２，１３で生成した指標データＣｏｓｔ（１６×８），Ｃｏｓｔ（８×１６）の最小値を変数Ｃｏｓｔ２に設定する。
【００６２】
ステップＳＴ１５において、制御部３９３は、指標データＣｏｓｔ（１６×１６）がＣｏｓｔ２よりも大きいか否かを判別する。制御部３９３は、指標データＣｏｓｔ（１６×１６）がＣｏｓｔ２よりも大きいと判別した場合には、極小を検出していないと判別し、次のブロックサイズ（８×８）について探索を行う。
一方、ステップＳＴ１５において、Ｃｏｓｔ（１６×１６）がＣｏｓｔ２以下であると判別した場合には、制御部３９３は、ブロックサイズ８×８以降の探索を行わずに、ステップＳＴ１７の処理に進む。
ステップＳＴ１７において、制御部３９３は、演算したブロックサイズの中で、最小の指標データＣｏｓｔのブロックサイズおよび動きベクトルＭＶを選択する。
制御部３９３は、選択した動きベクトルＭＶを可逆符号化回路２７に出力する。
【００６３】
また、制御部３９３の動作は、上述した形態に限られるものではない。例えばブロックサイズ１６×１６〜４×４を大きい順に、または小さい順に探索を行ってもよい。
【００６４】
以上説明したように、本実施形態では、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、前記動き補償で参照される参照画像データの間の差分に基づいて動きベクトルを生成する動きベクトル生成部３９１と、動き補償ブロックを単位として、動き補償の対象となる画像データと、参照画像データの間の差分、および動き補償に伴い発生する発生情報量に基づいて指標データを生成する指標データ生成部３９２と、複数の動き補償ブロックのうち大きいサイズから小さいサイズ順に、または逆順に、動きベクトルおよび指標データを探索する過程で、第１の動き補償ブロックでの第１の指標データよりも、第１の動き補償ブロックの次の第２の動き補償ブロックでの第２の指標データが大きい場合には、それ以降の動き補償ブロックに対しての探索を中止し、第１の動き補償ブロックと、第１の動き補償ブロックで動きベクトル生成手段が生成した動きベクトルを選択する制御部３９３とを設けたので、画質を落とすことなく、演算量を削減することができる。
つまり、全てのブロックサイズについて探索を行うことなく、中止条件により探索を中止するので演算量を削減することができる。
【００６５】
第２実施形態に係る符号化装置２は、図１〜３に示した第１実施形態に係る符号化装置と略同じ構成である。第１実施形態と第２実施形態との相違点は、動き予測・補償回路３９の機能が異なる点である。以下、相違点を中心に詳細に説明する。
【００６６】
図９は、本発明の第２実施形態に係る符号化装置の動作を説明するための図である。
第２実施形態に係る符号化装置２は、ブロックサイズおよび動きベクトルＭＶＢの探索において、画像符号化時の量子化パラメータＱｐを考慮した中止条件を設定することで、計算量が削減する。
【００６７】
例えば具体的には、量子化パラメータＱｐの値が大きい場合には、規定された複数の異なるブロックサイズのうち、小さいサイズのマクロブロックＭＢの動きベクトルＭＶや参照フレームのインデックス（Ref_Idx ）符号化コスト（指標データＣｏｓｔ）が相対的に高くなり、細かいブロック（小さい）ブロックが選ばれにくい。つまり、量子化パラメータＱｐの値によっては、小さいブロックサイズに対して動きベクトルＭＶを演算するのは無駄な場合がある。
【００６８】
本実施形態では、量子化パラメータＱｐに対する各ブロックサイズの統計データを集め、各ブロックサイズが選ばれにくくなる閾値を求める。そして、各ブロックサイズでのＱｐに関する閾値Ｑｐｔｈが、探索している量子化パラメータＱｐよりも大きいブロックサイズに対してのみ、そのブロックサイズの動きベクトルＭＶを計算する。
【００６９】
本実施形態に係る動き予測・補償回路３９は、第１実施形態と略同様に、動きベクトル生成部３９１、指標データ生成部３９２、および制御部３９３を主構成要素として有する。
具体的には本実施形態に係る動きベクトル生成部３９１は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データＳ２３と、動き補償で参照される参照画像データＲＥＦの間の差分に基づいて、動きベクトルＭＶを生成する。
【００７０】
指標データ生成部３９２は、動き補償ブロックを単位として、動き補償の対象となる画像データＳ２３と、参照画像データＲＥＦの間の差分、および動き補償に伴い発生する発生情報量に基づいて指標データＣｏｓｔを生成する。
【００７１】
制御部３９３は、複数の異なるサイズの動き補償ブロックと量子化パラメータに関する閾値とを対応付ける対応情報ＴＢを基に、符号化時の量子化パラメータよりも大きい閾値に対応付けられたサイズの動き補償ブロックについてのみ探索して、動きベクトル生成部３９１に動きベクトルを生成させる。
【００７２】
例えば図９（ａ）に示すように、各量子化パラメータＱｐに対する各ブロックサイズの統計データを生成する。
具体的には、図９（ａ）に示すように、ブロックサイズ（１６×１６）について、横軸は量子化パラメータＱｐ、縦軸は、探索結果によりブロックサイズ１６×１６のマクロブロックＭＢが選ばれた数を示す。ブロックサイズ（１６×８）についても同様に、図９（ｂ）に示すような統計データを生成する。また、ブロックサイズ８×１６，８×８，８×４，４×８，４×４についても同様な統計データを生成するが、簡単な説明のため省略する。
図９（ａ），（ｂ）等に示すように、量子化パラメータＱｐが大きくなると、ある値で急激に選ばれる回数が少なくなるという特徴を有する。また、ブロックサイズが小さくなると、その値が小さくなる特徴を有する。
【００７３】
上述した特徴を基に、各ブロックサイズが選ばれにくくなる量子化パラメータＱｐに関する閾値Ｑｐｔｈを設定する。
具体的には、例えば量子化パラメータＱｐが０からＱｐｔｈまでの累積数が全体の９７％程度となるように、閾値Ｑｐｔｈを設定する。例えば閾値Ｑｐｔｈは、特徴や演算量、符号化の負荷、Ｃｏｓｔ等を考慮して設定する。制御部３９３が統計データ生成し、生成結果を基に設定してもよいし、予め設定してもよい。
【００７４】
図９（ｃ）は、ブロックサイズと、ブロックサイズそれぞれについて設定された閾値Ｑｐｔｈを説明するための図である。例えば図９（ｃ）に示すように、ブロックサイズが大きいほど、量子化パラメータＱｐに関する閾値Ｑｐｔｈの値が大きくなるという特徴を有する。
【００７５】
図１０は、本発明の第２実施形態に係る符号化装置による、複数の異なるサイズの動き補償ブロックと量子化パラメータに関する閾値とを対応付ける対応情報ＴＢを説明するための図である。
上述したように例えば閾値Ｑｐｔｈは、統計データを基に図１０に示すように、複数の異なるサイズの動き補償ブロックと量子化パラメータに関する閾値とを対応付ける対応情報ＴＢを生成する。
【００７６】
対応情報ＴＢは、例えば図１０に示すように、ブロックサイズ１６×１６，１６×８，８×１６，８×８，８×４，４×８，４×４それぞれに、閾値Ｑｐｔｈ＿１６×１６，Ｑｐｔｈ＿１６×８，Ｑｐｔｈ＿８×１６，Ｑｐｔｈ＿８×８，Ｑｐｔｈ＿８×４，Ｑｐｔｈ＿４×８，Ｑｐｔｈ＿４×４それぞれが対応して記憶されている。
【００７７】
制御部３９３は、その対応情報ＴＢに、符号化時の量子化パラメータＱｐよりも大きい閾値Ｑｐｔｈに対応付けられたサイズの動き補償ブロック（マクロブロックＭＢ）についてのみ探索して、動きベクトル生成部３９１に動きベクトルを生成させる。
また、制御部３９３は、探索した動き補償ブロック（マクロブロックＭＢ）のうち、指標データ生成部３９２が生成した指標データＣｏｓｔが最小となる動き補償ブロック（マクロブロックＭＢ）と、その動き補償ブロック（マクロブロックＭＢ）について動きベクトル生成部３９１が生成した動きベクトルＭＶを選択する。
【００７８】
図１１は、第２実施形態に係る符号化装置の動作を説明するためのフローチャートである。
本実施形態では、探索は、ブロックサイズ１６×１６，１６×８，８×１６，８×８，８×４，４×８，４×４の順に行うとする。
【００７９】
ステップＳＴ１０１において、制御部３９３は、探索過程において、レート制御回路３２から入力された現在の量子化パラメータＱｐが、ブロックサイズ１６×１６の閾値Ｑｐｔｈ＿１６×１６以下か否かを判別する。
制御部は３９３は、現在の量子化パラメータＱｐが閾値Ｑｐｔｈ＿１６×１６以下であると判別すると、ブロックサイズ１６×１６についての探索を行う。具体的には、制御部３９３は、動きベクトル生成部３９１に、そのサイズでの動きベクトルＭＶを生成させ（ＳＴ１０２）、ステップＳＴ１０３の処理に進む。
【００８０】
一方、ステップＳＴ１０１において、制御部３９３は、現在の量子化パラメータＱｐが閾値Ｑｐｔｈ＿１６×１６より大きいと判別すると、１６×１６のブロックサイズについての探索を行わずに、ステップＳＴ１０３の処理に進む。
【００８１】
ステップＳＴ１０３において、制御部３９３は、現在の量子化パラメータＱｐが閾値Ｑｐｔｈ＿１６×８以下か否かを判別する。
制御部３９３は、現在の量子化パラメータＱｐが閾値Ｑｐｔｈ＿１６×８以下であると判別すると、ブロックサイズ１６×８についての探索を行う。具体的には、制御部３９３は、動きベクトル生成部３９１に、そのサイズでの動きベクトルＭＶを生成させ（ＳＴ１０４）、次の処理に進む。
一方、ステップＳＴ１０３において、制御部３９３は、現在の量子化パラメータＱｐが閾値Ｑｐｔｈ＿１６×８より大きいと判別すると、１６×８のブロックサイズについての探索を行わずに、次の処理に進む。
以下、ブロックサイズ８×１６，８×８，８×４，４×８，４×４についても同様に行い、ステップＳＴ１１０において、制御部３９３は、探索した動き補償ブロック（マクロブロックＭＢ）のうち、指標データ生成部３９２が生成した指標データＣｏｓｔが最小となる動き補償ブロック（マクロブロックＭＢ）と、その動き補償ブロック（マクロブロックＭＢ）について動きベクトル生成部３９１が生成した動きベクトルＭＶを選択する。
【００８２】
第２実施形態に係る符号化装置の動作は、この形態に限られるものではない。例えば、制御部３９３は、図１０に示した対応情報ＴＢを基に、現在の符号化時の量子化パラメータＱｐよりも大きい閾値Ｑｐｔｈに対応付けられたサイズの動き補償ブロック（マクロブロックＭＢ）についてのみ探索して、動きベクトル生成部３９１に動きベクトルを生成させればよい。
【００８３】
以上説明したように、第２実施形態に係る符号化装置は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データＳ２３と、動き補償で参照される参照画像データＲＥＦの間の差分に基づいて、動きベクトルＭＶを生成する動きベクトル生成部３９１と、動き補償ブロックを単位として、動き補償の対象となる画像データＳ２３と、参照画像データＲＥＦの間の差分、および動き補償に伴い発生する発生情報量に基づいて指標データＣｏｓｔを生成する指標データ生成部３９２と、複数の異なるサイズの動き補償ブロックと量子化パラメータに関する閾値Ｑｐｔｈとを対応付ける対応情報ＴＢを基に、符号化時の量子化パラメータＱｐよりも大きい閾値Ｑｐｔｈに対応付けられたサイズの動き補償ブロック（マクロブロックＭＢ）についてのみ探索して、動きベクトル生成部に動きベクトルＭＶを生成させ、探索した動き補償ブロックのうち、指標データ生成部３９２が生成した指標データＣｏｓｔが最小となる動き補償ブロックＭＢと、当該動き補償ブロックＭＢについて動きベクトル生成部３９１が生成した動きベクトルＭＶを選択する制御部３９３とを設けたので、画質を劣化させることなく、従来に比べて演算量を削減することができる。
【００８４】
第３実施形態に係る符号化装置２は、図１〜３に示した第１実施形態に係る符号化装置と略同じ構成である。第１実施形態と第３実施形態との相違点は、動き予測・補償回路３９の機能が異なる点である。
本実施形態に係る動き予測・補償回路３９は、第１実施形態と略同様に、動きベクトル生成部３９１、指標データ生成部３９２、および制御部３９３を主構成要素として有する。以下、相違点を中心に詳細に説明する。
【００８５】
図１２は、本発明に係る第３実施形態の符号化装置の動作を説明するための図である。
第３実施形態に係る符号化装置２は、探索過程での中止条件として、各ブロックに対して、予測画像に対する差分絶対値和ＳＡＤの閾値をＱｐに応じて設定する。例えば、各ブロックサイズの動きベクトル（ＭＶ）を求める過程で、差分絶対値和ＳＡＤが閾値を超えた場合に、探索を中断することにより、計算量を削減する。
【００８６】
本実施形態に係る符号化装置２は、例えば図１２に示すように、各ブロックサイズにおいて、マクロブロックのブロックサイズとして、採用されたときの差分絶対値和ＳＡＤと、採用されなかったときの差分絶対値和ＳＡＤの分布を生成し、生成した分布から各ブロックサイズが最終的に、マクロブロックのブロックサイズとして採用されるときの差分絶対値和ＳＡＤのとり得る許容値を算出する。
ブロックサイズそれぞれについて、この差分絶対値和ＳＡＤの許容量を閾値ＳＡＤｔｈとして各量子化パラメータＱｐについて求めておき、動きベクトルＭＶでの探索過程での中止条件に用いる。
【００８７】
動きベクトル生成部３９１は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データＳ２３と、動き補償で参照される参照画像データＲＥＦ間の差分絶対値和ＳＡＤに基づいて動きベクトルＭＶを生成する。
【００８８】
指標データ生成部３９２は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データＳ２３と、参照画像データＲＥＦの間の差分、および動き補償に伴い発生する発生情報量に基づいて指標データＣｏｓｔを生成する。
【００８９】
制御部３９３は、精度の異なる第１および第２の精度で、複数の動き補償ブロックそれぞれについて動きベクトルの探索を行う際に、第１の精度で動きベクトル生成部３９１が生成した動きベクトルＭＶに対応する差分絶対値和ＳＡＤが、複数の異なるサイズの動き補償ブロックそれぞれに予め設定された差分絶対値和ＳＡＤに関する閾値ＳＡＤｔｈよりも大きい場合には、第２の精度についての探索を中止する。
また、制御部３９３は、複数のサイズの動き補償ブロックを単位として、動きベクトル生成部３９１が、第１および第２の精度で生成した動きベクトルの内、動き補償ブロックそれぞれに対応して指標データ生成部３９２が生成した指標データＣｏｓｔが最小となるサイズの動き補償ブロック（マクロブロック）ＭＢおよび動きベクトルＭＶを選択する。
【００９０】
ここで、複数の異なるサイズの動き補償ブロックそれぞれに予め設定された差分絶対値和に関する閾値ＳＡＤｔｈは、符号化の際の量子化パラメータＱｐに応じて規定される。
【００９１】
図１３は、本発明の第３実施形態に係る符号化装置の差分絶対値和に関する閾値ＳＡＤｔｈを説明するための図である。
制御部３９３は、例えば上述した図１２に示すように、ブロックサイズが最終的に、マクロブロックのブロックサイズとして採用されるときの差分絶対値和ＳＡＤのとり得る許容値を算出し、ブロックサイズそれぞれについて、この差分絶対値和ＳＡＤの許容量を閾値ＳＡＤｔｈとして各量子化パラメータＱｐについて求め、例えば図１３（ａ）〜（ｇ）に示すように、各ブロックサイズに対して、差分絶対値和ＳＡＤに関する閾値ＳＡＤｔｈが、量子化パラメータに応じて規定される。つまり対応付けられている。
【００９２】
具体的には、ブロックサイズ１６×１６，１６×８，８×１６，８×８，８×４，４×８，４×４それぞれについて、図１３（ａ）〜（ｇ）に示すように、差分絶対値和ＳＡＤに関する閾値ＳＡＤｔｈ＿１６×１６，ＳＡＤｔｈ＿１６×８，ＳＡＤｔｈ＿８×１６，ＳＡＤｔｈ＿８×８，ＳＡＤｔｈ＿８×４，ＳＡＤｔｈ＿４×８，ＳＡＤｔｈ＿４×４それぞれが対応付けられている。
【００９３】
また、各閾値ＳＡＤｔｈは量子化パラメータＱｐに応じて規定されている。
具体的には、図１３（ａ）に示すように、量子化パラメータＱ１，Ｑ２，…と、閾値ＳＡＤ１６×１６＿Ｑ１，閾値ＳＡＤ１６×１６＿Ｑ２，…、図１３（ｂ）に示すように、量子化パラメータＱ１，Ｑ２，…と、閾値ＳＡＤ１６×８＿Ｑ１，閾値ＳＡＤ１６×８＿Ｑ２，…、図１３（ｃ）に示すように、量子化パラメータＱ１，Ｑ２，…と、閾値ＳＡＤ８×１６＿Ｑ１，閾値ＳＡＤ８×１６＿Ｑ２，…、図１３（ｄ）に示すように、量子化パラメータＱ１，Ｑ２，…と、閾値ＳＡＤ８×８＿Ｑ１，閾値ＳＡＤ８×８＿Ｑ２，…、図１３（ｅ）に示すように、量子化パラメータＱ１，Ｑ２，…と、閾値ＳＡＤ８×４＿Ｑ１，閾値ＳＡＤ８×４＿Ｑ２，…、図１３（ｆ）に示すように、量子化パラメータＱ１，Ｑ２，…と、閾値ＳＡＤ４×８＿Ｑ１，閾値ＳＡＤ４×８＿Ｑ２，…、図１３（ｇ）に示すように、量子化パラメータＱ１，Ｑ２，…と、閾値ＳＡＤ４×４＿Ｑ１，閾値ＳＡＤ４×４＿Ｑ２，…とが関連付けられている。
制御部３９３は、図１３（ａ）〜（ｇ）に示した対応関係を基に、探索過程での中止条件を設定することで、演算量を削減する。
【００９４】
図１４は、本発明の第３実施形態の係る符号化装置の動作を説明するための図である。
本実施形態では、制御部３９３は、例えばブロックサイズ１６×１６，１６×８，８×１６，８×８，８×４，４×８，４×４の順に探索を行うとする。
ステップＳＴ２０１において、例えば制御部３９３は、ブロックサイズ１６×１６のマクロブロックを単位として、整数ピクセル精度（第１の精度）での動きベクトルを、動きベクトル生成部３９１に生成させる。
ステップＳＴ２０２において、制御部３９３は、ステップＳＴ２０１の整数精度での動きベクトルＭＶを求めた段階で、差分絶対値和ＳＡＤが、現在の量子化パラメータＱｐに対応する閾値ＳＡＤｔｈ＿１６×１６＿Ｑｐよりも大きいか否かを判別する。制御部３９３は、差分絶対値和ＳＡＤが、現在の量子化パラメータＱｐに対応する閾値ＳＡＤｔｈ＿１６×１６＿Ｑｐよりも大きいと判別した場合には、探索を中止し、ステップＳＴ２０３の処理を行わない。また、制御部３９３は、その中止したブロックサイズを、最終的に選択されるブロックサイズの候補の中から除外する。
【００９５】
一方、ステップＳＴ２０２の判別において、制御部３９３は、ステップＳＴ２０１の整数精度での動きベクトルＭＶを求めた段階で、差分絶対値和ＳＡＤが、現在の量子化パラメータＱｐに対応する閾値ＳＡＤｔｈ＿１６×１６＿Ｑｐ以下であると判別した場合には、制御部３９３は、第２ステップとして、非整数ピクセル精度（１／２ピクセル、１／４ピクセル精度等の第２の精度）での動きベクトルＭＶを、動きベクトル生成部３９１に生成させる。
【００９６】
制御部３９３は、他のブロックサイズについても、ステップＳＴ２０１〜２０３と同様な処理を行う（ＳＴ２０４）。
ステップＳＴ２１０において、制御部３９３は、非整数精度の動きベクトルＭＶまで求めているブロックサイズの中から、最も指標データＣｏｓｔが小さい動きベクトルＭＶおよびブロックサイズを選択する。
具体的には、制御部３９３は、複数のサイズの動き補償ブロックを単位として、動きベクトル生成部３９１が、第１および第２の精度で生成した動きベクトルの内、動き補償ブロックそれぞれに対応して指標データ生成部３９２が生成した指標データＣｏｓｔが最小となるサイズの動き補償ブロック（マクロブロック）ＭＢおよび動きベクトルＭＶを選択する。
【００９７】
以上説明したように、本実施形態に係る符号化装置２は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データＳ２３と、動き補償で参照される参照画像データＲＥＦ間の差分絶対値和ＳＡＤに基づいて動きベクトルＭＶを生成する動きベクトル生成部３９１と、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データＳ２３と、参照画像データＲＥＦの間の差分、および動き補償に伴い発生する発生情報量に基づいて指標データＣｏｓｔを生成する指標データ生成部３９２と、精度の異なる第１および第２の精度で、複数の動き補償ブロックそれぞれについて動きベクトルの探索を行う際に、第１の精度で動きベクトル生成部３９１が生成した動きベクトルＭＶに対応する差分絶対値和ＳＡＤが、複数の異なるサイズの動き補償ブロックそれぞれに予め設定された差分絶対値和に関する閾値ＳＡＤｔｈよりも大きい場合には、第２の精度についての探索を中止し、複数のサイズの動き補償ブロックを単位として、動きベクトル生成部３９１が、第１および第２の精度で生成した動きベクトルＭＶの内、動き補償ブロックそれぞれに対応して指標データ生成部が生成した指標データＣｏｓｔが最小となるサイズの動き補償ブロックＭＢおよび動きベクトルＭＶを選択する制御部３９３とを設けたので、探索過程で、画質が劣化することなく、演算量を削減することができる。
【００９８】
また、複数の異なるサイズの動き補償ブロックそれぞれに予め設定された差分絶対値和に関する閾値は、符号化の際の量子化パラメータＱｐに応じて規定されるので、量子化パラメータＱｐに応じて中止条件を調整することで、画質に応じて演算量を軽減することができる。
【００９９】
第４実施形態に係る符号化装置２は、図１〜３に示した第１実施形態に係る符号化装置と略同じ構成である。第１実施形態と第２実施形態との相違点は、動き予測・補償回路３９および可逆符号化回路２７の機能が異なる点である。以下、相違点を中心に詳細に説明する。
【０１００】
本実施形態に係る符号化装置２は、ビットストリーム内にＢピクチャ（B −Picture）が存在する場合に、量子化パラメータＱｐに応じて、B −Pictureの双方向予測モード判定時の中止条件を設けることで、画質の劣化なしに演算量を削減する。
【０１０１】
Ｂピクチャには、前方向予測、後方向予測・双方向予測・ダイレクト予測（Direct）の予測の４つのモードが規定される。
このうち、双方向予測では、動きベクトルとそれに対応する参照フレームインデックスが２つ必要であるため、他のモードよりもヘッダー部のビット量は高い。つまり量子化パラメータが大きい場合には、細かいブロックサイズが選ばれにくいのと同様に、量子化パラメータＱｐが大きい場合には、双方向予測が選ばれにくいという特徴を有する。
【０１０２】
符号化装置２は、Ｂピクチャの双方向予測モードが選ばれにくい量子化パラメータＱｐに関する閾値を統計的に求め、閾値よりも高い量子化パラメータＱｐに対しては、双方向予測モードの判定自体を行わない。以下、第１実施形態との相違点を中心に詳細に説明する。
符号化手段として動きベクトル生成部３９１、指標データ生成部３９２および可逆符号化回路２７は、複数の異なるサイズの動き補償ブロックを単位として、双方向の動き補償により、画像データの符号化を行う。
【０１０３】
制御部３９３は、上述した符号化手段による符号化の際の量子化パラメータＱｐが、予め設定された量子化パラメータＱｐに関する閾値よりも大きい場合には、一方向の動き補償により画像データの符号化を符号化手段に行わせ、量子化パラメータＱｐが閾値より小さい場合には、双方向の動き補償により符号化を符号化手段に行わせる。
【０１０４】
上述した構成の本実施形態に係る符号化装置の動作を説明する。
まず、符号化装置２は、Ｂピクチャの双方向予測モード選ばれにくい量子化パラメータＱｐに関する閾値を統計的に求める。
符号化手段として動きベクトル生成部３９１および可逆符号化回路２７は、複数の異なるサイズの動き補償ブロックを単位として、双方向の動き補償により、画像データの符号化を行う。
制御部３９３は、上述した符号化手段による符号化の際の量子化パラメータＱｐが、予め設定された量子化パラメータＱｐに関する閾値よりも大きい場合には、一方向の動き補償により画像データの符号化を符号化手段に行わせ、量子化パラメータＱｐが閾値より小さい場合には、双方向の動き補償により符号化を符号化手段に行わせる。
【０１０５】
以上説明したように、本実施形態に係る符号化装置２は、複数の異なるサイズの動き補償ブロックを単位として、双方向の動き補償により、画像データの符号化を行う符号化手段としての動きベクトル生成部３９１、指標データ生成部３９２、および可逆符号化回路２７と、符号化手段による符号化の際の量子化パラメータが、予め設定された量子化パラメータＱｐに関する閾値よりも大きい場合には、一方向の動き補償により画像データの符号化を符号化手段に行わせ、量子化パラメータＱｐが閾値より小さい場合には、双方向の動き補償により符号化を符号化手段に行わせる制御部３９３とを設けたので、画質を劣化させることなく、演算量を削減することができる。
【０１０６】
第５実施形態に係る符号化装置２は、図１〜３に示した第１実施形態に係る符号化装置と略同じ構成である。第１実施形態と第５実施形態との相違点は、動き予測・補償回路３９の機能が異なる点である。以下、相違点を中心に詳細に説明する。
【０１０７】
本実施形態に係る符号化装置２は、第５実施形態では、選択されるブロックサイズには、画像サイズも関係することを利用する。
具体的には、画像データの解像度が低い場合には、小さいブロックサイズによる予測画像生成が選択される傾向があることを利用して、ブロックサイズの判定を制限することで、演算量を削減する。
【０１０８】
一般的に、画像の解像度が高い場合には画像の中で１個のマクロブロックが占める割合は小さいが、解像度が低い場合には、１個のマクロブロックの占める割合が大きくなる。つまり、解像度が低い場合には、１個のマクロブロック内に異なる性質の画像が含まれやすくなる。したがって、解像度が高い場合にはブロックサイズは、細かいサイズ（小さいサイズ）が、解像度が低い場合には大きいブロックサイズが選択される。
【０１０９】
そこで、本実施形態に係る符号化装置２は、各ブロックサイズで、統計的に求めた量子化パラメータＱｐに応じた閾値に対して、解像度が低い場合には細かいサイズ（小さいサイズ）が選ばれるようにオフセットをかける。
以下、詳細に説明する。
【０１１０】
本実施形態に係る動きベクトル生成部３９１は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データＳ２３と、動き補償で参照される参照画像データＲＥＦ間の差分絶対値和ＳＡＤに基づいて動きベクトルを生成する。
制御部３９３は、画像データの解像度に基づいて、複数の異なるサイズの動き補償ブロックのうち、画像データの解像度が高くなるにしたがって大きなサイズの動き補償ブロックを選択し、選択したサイズの動き補償ブロックについて、動きベクトル生成部３９１に動きベクトルＭＶを生成させる制御を行う。
【０１１１】
具体的には、制御部３９３は、画像データが第１の解像度の場合には、複数の異なるサイズの動き補償ブロックのうち、第１のサイズの動き補償ブロックを選択し、画像データが第１の解像度よりも低解像度の第２の解像度の場合には、第１のサイズよりも小さい動き補償ブロックを選択し、選択したサイズの動き補償ブロックについて、動きベクトル生成部３９１に動きベクトルを生成させる制御を行う。
【０１１２】
以上の構成の本実施形態に係る符号化装置２の動作を簡単に説明する。
制御部３９３は、画像データが第１の解像度の場合には、複数の異なるサイズの動き補償ブロックのうち、第１のサイズの動き補償ブロックを選択し、画像データが第１の解像度よりも低解像度の第２の解像度の場合には、第１のサイズよりも小さい動き補償ブロックを選択し、選択したサイズの動き補償ブロックについて、動きベクトル生成部３９１に動きベクトルを生成させる制御を行う。
【０１１３】
以上説明したように、本実施形態に係る符号化装置２は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データＳ２３と、動き補償で参照される参照画像データＲＥＦ間の差分絶対値和ＳＡＤに基づいて動きベクトルＭＶを生成する動きベクトル生成部３９１と、画像データの解像度に基づいて、複数の異なるサイズの動き補償ブロックのうち、画像データの解像度が高くなるにしたがって大きなサイズの動き補償ブロックを選択し、選択したサイズの動き補償ブロックについて、動きベクトル生成部３９１に動きベクトルＭＶを生成させる制御を行う制御部３９３とを設けたので、画質を劣化させることなく計算量を削減することができる。
【０１１４】
なお、本発明は本実施形態に限られるものではなく、任意好適な改変が可能である。
例えば、ブロックサイズは、上述したサイズに限られるものではない。ブロックサイズは任意である。
また、本発明に係る符号化装置の各実施形態は、単独に実施してもよいし、各実施形態それぞれを組み合わせてもよい。こうすることにより、より演算量を削減することができる。
【図面の簡単な説明】
【０１１５】
【図１】本実施形態の通信システム１の概念図である。
【図２】図１に示す符号化装置２の全体構成図である。
【図３】図２に示した動き予測・補償回路の本発明に係る機能ブロック図である。
【図４】図２に示す符号化装置の動き予測・補償回路における動きベクトルの探索方法を説明するための図である。
【図５】図２に示した動き予測・補償回路３９において、採用可能な動き予測ブロックのサイズの種類を説明するための図である。
【図６】一般的な符号化装置の動き予測・補償回路の動作を説明するための図である。
【図７】図３に示した符号化装置の制御部３９３による動きベクトルの探索を説明するための図である。
【図８】図１に示した符号化装置の動きベクトルの探索に係る動作の一具体例を説明するためのフローチャートである。
【図９】本発明の第２実施形態に係る符号化装置の動作を説明するための図である。
【図１０】本発明の第２実施形態に係る符号化装置による、複数の異なるサイズの動き補償ブロックと量子化パラメータに関する閾値とを対応付ける対応情報ＴＢを説明するための図である。
【図１１】第２実施形態に係る符号化装置の動作を説明するためのフローチャートである。
【図１２】本発明に係る第３実施形態の符号化装置の動作を説明するための図である。
【図１３】本発明の第３実施形態に係る符号化装置の差分絶対値和に関する閾値ＳＡＤｔｈを説明するための図である。
【図１４】本発明の第３実施形態の係る符号化装置の動作を説明するための図である。
【符号の説明】
【０１１６】
１…通信システム、２…符号化装置、３…復号装置、２２…Ａ／Ｄ変換回路、２３…画面並べ替え回路、２４…演算回路、２５…直交変換回路、２６…量子化回路、２７…可逆符号化回路、２８…バッファ、２９…逆量子化回路、３０…逆直交変換回路、３４…フレームメモリ、３２…レート制御回路、３９…動き予測・補償回路、３９１…動きベクトル生成部、３９２…指標データ生成部、３９３…制御部。
【図１】
2005191876.tif 000005
【図２】
2005191876.tif 000006
【図３】
2005191876.tif 000007
【図４】
2005191876.tif 000008
【図５】
2005191876.tif 000009
【図６】
2005191876.tif 000010
【図７】
2005191876.tif 000011
【図８】
2005191876.tif 000012
【図９】
2005191876.tif 000013
【図１０】
2005191876.tif 000014
【図１１】
2005191876.tif 000015
【図１２】
2005191876.tif 000016
【図１３】
2005191876.tif 000017
【図１４】
2005191876.tif 000018