本発明は、符号化された動画像の処理に係り、より詳しくは、フレーム毎に階層符号化された動画像のフレームの動き量の推定及びフレーム間引きに関する。
動画像の符号化は、フレーム内符号化とフレーム間符号化の2つに大別することができる。フレーム内符号化とは、動画像を構成する各フレームを独立して符号化し、各フレームの符号を連結して動画像の符号を生成する方式であり、その代表例はDV、motion-JPEG、motion-JPEG2000などである。一方、フレーム間符号化とは、動画像を構成するフレーム列から、連続する複数のフレームを取り出して1つのグループとし,各グループ毎に符号化を行い、グループ毎の符号を連結して動画像の符号を生成する方式であり、その代表例はMPEG1、MPEG2、MPEG4などである。
本発明の対象となる動画像は、上に述べたフレーム内符号化された動画像であって、各フレームが階層符号化された動画像(Motion-JPEG2000の動画像など)である。
なお、本発明に関連する公知文献としては、例えば特許文献1及び2がある。特許文献1には、符号化側において、動画像の各フレームについて、前後のフレーム画像間のブロックマッチングなどによりフレーム間の動きを検出し、動きが変化するフレーム画像のみ符号化し(動きが一様なフレームは間引く)、復号側において、復号したフレーム画像を参照画像とした動き補償フレーム内挿処理により符号化時に間引かれたフレーム画像を合成する技術が記載されている。特許文献2には、ビデオカメラ等の撮像装置で1ライン置きの飛び越し走査により、フレームを偶数ラインのフィールドと奇数ラインのフイールドとに分けて撮像し、それら2フィールドで1フレームを構成するインターレース画像において、フレームを構成するフィールド間で被写体が移動することによる被写体の縦方向エッジ部に生じる「櫛形」について記載されている。
特許第2919211号公報
特開2002−64830号公報
動画像のフレームの間引き処理が必要となる場合が少なくない。例えば、ネットワーク上のサーバからクライアントへ動画像の符号を転送する際に、転送時間の短縮やネットワークの負荷の低減などを図るため、サーバ側で動画像の一部フレームを間引くことにより転送フレーム数を削減したいような場合である。
前記特許文献1に記載の技術は、符号化側で、前後のフレームに対し動きの少ないフレームを間引いて符号化することにより、画質の低下を抑えつつフレームレートを低下させる技術の一種である。
さて、フレーム間符号化された動画像は、複数フレームを1グループとしたグループ単位での符号化が行われているので、グループの符号を復号しない限り、個々のフレームを取り出すことができないため、フレーム単位の符号の間引きは容易でない。
これに対し、フレーム内符号化された動画像の場合は、復号することなく個々のフレームの符号を取り出すことができるため、フレーム単位の間引きは容易である。しかし、各フレームの符号からフレーム画像をデコードし、前記特許文献1に記載の技術と同様に、フレーム画像間のブロックマッチングなどで前後フレームとの動きを検出して間引くべきフレームを選定したのでは、処理に時間がかかり効率的でない。
よって、本発明の目的は、フレーム毎に階層符号化された動画像に対し、より効率的な処理によりフレームの動き量を推定する新規な動画像処理装置又は方法を提供することにある。
動画像にはノンインターレース動画像とインターレース動画像とがある。インターレース動画像では、フィールドを単位として符号化するフィールドベース符号化と、フレームを単位として符号化するフレームベース符号化のいずれも用いられる。
本発明のもう1つの目的は、そのような種類の異なる動画像に対して、効率的な処理により動き量を推定する新規な動画像処理装置及び方法を提供することにある。
本発明のもう1つ目的は、効率的な処理により動画像の間引きフレームを適切に選定する動画像処理装置又は方法を提供することにある。
請求項1の発明は、フレーム毎に階層符号化された動画像を処理する動画像処理装置であって、フレームの動き量を推定する第1の動き量推定手段を有し、前記第1の動き量推定手段は、フレームの符号より、最上位階層の低周波数帯域の周波数変換係数をデコードする手段と、該手段によりデコードされた注目フレーム及びその隣接フレームの周波数変換係数に基づいて注目フレームの動き量の推定計算を行う手段とを含むことを特徴とする動画像処理装置である。
請求項2の発明は、フレーム毎に階層符号化された動画像を処理する動画像処理装置であって、フレームの動き量を推定する第1の動き量推定手段を有し、該第1の動き量推定手段は、フレームの符号より、所要の係数サイズを満たす最も上の階層の低周波数帯域の周波数変換係数をデコードする手段と、該手段によりデコードされた注目フレーム及びその隣接フレームの周波数変換係数に基づいて注目フレームの動き量の推定計算を行う手段とを含むことを特徴とする動画像処理装置である。
請求項3の発明は、請求項1又は2の発明による動画像処理装置であって、前記動き量の推定計算を行う手段は、前記デコードする手段によりデコードされた注目フレーム及びその隣接フレームの周波数変換係数の間でブロックマッチングにより局所的な動き量を計算し、その計算値を総合することにより注目フレームの動き量の推定値を求めることを特徴とする動画像処理装置である。
請求項4の発明は、請求項1,2又は3の発明による動画像処理装置であって、動画像は各フレームが2次元ウェーブレット変換を用いる符号化方式により階層符号化されたものであり、前記デコードする手段によりデコードされる周波数変換係数はLLサブバンド係数であることを特徴とする動画像処理装置である。
請求項5の発明は、請求項1,2又は3の発明による動画像処理装置であって、インターレース画像における被写体の動き量と被写体の縦方向エッジ部の櫛型の横方向エッジ量との関係を利用して、フレームの符号より動き量を推定する第2の動き量推定手段と、前記第1の動き量推定手段による推定結果又は前記第2の動き量推定手段による推定結果を有効な動き量推定結果として選択する推定方法選択手段とをさらに有することを特徴とする動画像処理装置である。
請求項6の発明は、請求項1,2又は3の発明による動画像処理装置であって、インターレース画像における被写体の動き量と被写体の縦方向エッジ部の櫛型の横方向エッジ量との関係を利用して、フレームの符号より動き量を推定する第2の動き量推定手段と、フレームに対する前記第1の動き量推定手段による推定結果と前記第2の動き量推定手段による推定結果を合成して最終的な動き量の推定結果を得る合成手段とをさらに有することを特徴とする動画像処理装置である。
請求項7の発明は、請求項5の発明による動画像処理装置であって、前記推定方法選択手段は、ノンインターレース動画像及びフィールドベース符号化されたインターレース動画像に対しては前記第1の動き量推定手段による推定結果を有効な動き量推定結果として選択し、フレームベース符号化されたインターレース動画像に対しては前記第2の動き量推定手段による推定結果を有効な動き量推定結果として選択することを特徴とする動画像処理装置である。
請求項8の発明は、請求項5の発明による動画像処理装置であって、前記推定方法選択手段は、ノンインターレース動画像及びフィールドベース符号化されたインターレース動画像に対しては前記第1の動き量推定手段による推定結果を有効な動き量推定結果として選択し、フレームベース符号化されたインターレース動画像に対しては、その量子化率、圧縮率又は符号破棄量の程度に応じて、前記第1の動き量推定手段又は前記第2の動き量推定手段による推定結果を有効な動き量推定結果として選択することを特徴とする動画像処理装置である。
請求項9の発明は、請求項6の発明による動画像処理装置であって、前記合成手段による合成の際の前記第1の動き量推定手段の推定結果に対する重み係数α及び前記第2の動き量推定手段による推定結果に対する重み係数βを設定するα,β設定手段をさらに有し、該α,β設定手段は、フレームベース符号化されたインターレース動画像に対して、その量子化率、圧縮率又は符号破棄量の程度に応じてα,βの値を変更することを特徴とする動画像処理装置である。
請求項10の発明は、請求項9の発明による動画像処理装置であって、前記α,β設定手段は、フレームベース符号化されたインターレース動画像に対して、その量子化率、圧縮率又は符号破棄量が所定値より小さい場合にはα=0,β=1に設定し、その量子化率、圧縮率又は符号破棄量が所定値以上の場合にはα=1,β=0に設定することを特徴とする動画像処理装置である。
請求項11の発明は、請求項9又は10の発明による動画像処理装置であって、前記α,β設定手段は、ノンインターレース動画像及びフィールドベース符号化されたインターレース動画像に対してα=1,β=0に設定することを特徴とする動画像処理装置である。
請求項12の発明は、請求項5乃至11のいずれか1項の発明による動画像処理装置であって、前記第2の動き量推定手段は、フレームの符号より特定の複数の階層の特定の周波数帯域の符号量を計算する符号量計算手段と、該符号量計算手段により計算された符号量に基づいて注目フレームの動き量の推定計算を行う動き量推定計算手段とを含むことを特徴とする動画像処理装置である。
請求項13の発明は、請求項12の発明による動画像処理装置であって、動画像は各フレームが2次元ウェーブレット変換を用いる符号化方式により階層符号化されたものであり、前記第1の動き量推定手段の前記デコードする手段によりデコードされる周波数変換係数はLLサブバンド係数であり、前記第2の動き量推定手段の前記符号量計算手段により1LHサブバンドの符号量sum1LH及び1HLサブバンドの符号量sum1HLが計算され、前記第2の動き量推定手段の前記動き量推定計算手段により符号量比sum1LH/sum1HLが計算されることを特徴とする動画像処理装置である。
請求項14の発明は、請求項12の発明による動画像処理装置であって、動画像は各フレームが2次元ウェーブレット変換を用いる符号化方式により階層符号化されたものであり、前記第1の動き量推定手段の前記デコードする手段によりデコードされる周波数変換係数はLLサブバンド係数であり、前記第2の動き量推定手段の前記符号量計算手段により1LHサブバンドの符号量sum1LH及び2LHサブバンドの符号量sum2LHが計算され、前記第2の動き量推定手段の前記動き量推定計算手段により符号量比sum1LH/sum2LHが計算されることを特徴とする動画像処理装置である。
請求項15の発明は、請求項12の発明による動画像処理装置であって、動画像は各フレームが2次元ウェーブレット変換を用いる符号化方式により階層符号化されたものであり、前記第1の動き量推定手段の前記デコードする手段によりデコードされる周波数変換係数はLLサブバンド係数であり、前記第2の動き量推定手段の前記符号量計算手段により1LHサブバンドの符号量sum1LH、1HLサブバンドの符号量sum1HL、2LHサブバンドの符号量sum2LH及び2HLサブバンドの符号量sum2HLが計算され、前記第2の動き量推定手段の前記動き量推定計算手段により符号量比(sum1LH/sum1HL)/(sum2LH/sum2HL)が計算されることを特徴とする動画像処理装置である。
請求項16の発明は、請求項1乃至15のいずれか1項の発明による動画像処理装置であって、動画像の間引きフレームを、推定された動き量に基づいて選定する間引きフレーム選定手段をさらに有することを特徴とする動画像処理装置である。
請求項17の発明は、請求項16の発明による動画像処理装置であって、前記間引きフレーム選定手段は、所定フレーム数間隔で設定された特定のフレームを間引きフレームの選定対象から除外することを特徴とする動画像処理装置である。
請求項18の発明は、請求項16の発明による動画像処理装置であって、前記間引きフレーム選定手段は、連続した所定数のフレームを間引きフレームに選定したときには次のフレームを間引きフレームの選定対象から除外することを特徴とする動画像処理装置である。
請求項19の発明は、フレーム毎に階層符号化された動画像を処理する動画像処理方法であって、注目フレーム及びその隣接フレームの符号より、所要の係数サイズを満たす最も上の階層の低周波数帯域の周波数変換係数をデコードし、デコードされた注目フレーム及びその隣接フレームの周波数変換係数に基づいて注目フレームの動き量の推定計算を行う動き量推定処理工程を含むことを特徴とする動画像処理方法である。
請求項20の発明は、フレーム毎に階層符号化された動画像を処理する動画像処理方法であって、注目フレーム及びその隣接フレームの符号より、所要の係数サイズを満たす最も上の階層の低周波数帯域の周波数変換係数をデコードし、デコードされた注目フレーム及びその隣接フレームの周波数変換係数に基づいて注目フレームの動き量の推定計算を行う第1の動き量推定処理工程と、インターレース画像における被写体の動き量と被写体の縦エッジ部の櫛型の横方向エッジ量との関係を利用して、フレームの符号より動き量を推定する第2の動き量推定処理工程とを含むことを特徴とする動画像処理方法である。
請求項21の発明は、請求項1乃至18のいずれか1項の発明による動画像処理装置の各手段としてコンピュータを機能させるプログラムである。
請求項22の発明は、請求項1乃至18のいずれか1項の発明による動画像処理装置の各手段としてコンピュータを機能させるプログラムが記録された、コンピュータが読み取り可能な情報記録媒体である。
請求項1〜15,19,20の発明によれば、低解像度の階層の低周波数帯域係数のデコード処理と低解像度係数空間でのブロックマッチングなどの処理や、特定階層の特定周波数帯域の符号量の計算と符号量比の計算などの処理により動き量を推定するため、フレーム符号よりフレーム画像をデコードし、フレーム画像間のブロックマッチングなどにより動き量を推定する場合に比べ、遙かに少ない処理量で効率的に動き量を推定することができる。また、ノンインターレース動画像、フィールドベース符号化されたインターレース動画像、フレームベース符号化されたインターレース動画像に対し適切な動き量推定が可能である。請求項16〜18の発明によれば、効率的な処理により動き量を推定し、推定した動き量に基づき、フレーム間引き後の動画像に違和感を生じさせないように間引きフレームを適切に選定することができる。請求項21,22の発明によれば、コンピュータを利用して容易に請求項1〜18の発明を実施することができる、等々の効果を得られる。
前述のように、本発明の対象とする動画像は、フレーム毎に階層符号化された動画像であり、その典型例がMotion-JPEG2000の動画像である。Motion-JPEG2000の動画像は、その各フレームがJPEG2000のアルゴリズムにより符号化されている。ここで、JPEG2000のアルゴリズムの概要を説明する。
図24はJPEG2000アルゴリズムを説明するためのブロック図である。図中、111は色空間変換・逆変換部、112は2次元ウエーブレット変換・逆変換部、113は量子化・逆量子化部、114はエントロピー符号化・復号化部、115はタグ処理部である。
カラー画像は、一般に、図25に示すように、各コンポーネント(ここではRGB原色系)が、重複しない矩形領域(タイル)に分割され、個々のタイルが圧縮伸長プロセスを実行する際の基本単位となる。圧縮伸長動作は、コンポーネント毎、タイル毎に独立に行なわれる。
まず符号化について説明すると、各コンポーネントの各タイルのデータが、色空間変換・逆変換部111に入力されてY,Cb,Cr(又はY,U,V)のコンポーネントに色空間変換を施され、各コンポーネント毎に2次元ウェーブレット変換部112で2次元ウェーブレット変換(離散ウェーブレット変換)が適用されて周波数帯域(サブバンド)に空間分割される。
図26に、デコンポジション・レベル数が3の場合の、各デコンポジション・レベルにおけるサブバンドを示している。すなわち、(a)に示す各コンポーネントのタイル原画像に対して2次元ウェーブレット変換を施し、(b)に示すデコンポジション・レベル1のサブバンド(1LL,1HL,1LH,1HH)を分離する。引き続き、この階層における低周波数帯域である1LLサブバンドの係数に対して2次元ウェーブレット変換を施し、(c)に示すデコンポジション・レベル2のサブバンド(2LL,2HL,2LH,2HH)を分離する。同様に、2LLサブバンドの係数に対して2次元ウェーブレット変換を施し、(d)に示すデコンポジション・レベル3のサブバンド(3LL,3HL,3LH,3HH)を分離する。
符号化手順の説明を続ける。ウェーブレット変換係数は、サブバンド毎に必要に応じて量子化・逆量子化部113によって線形量子化された後、エントロピー符号化・復号化部114でエントロピー符号化される。ウェーブレット変換係数をそのまま符号化することも可能であるが、JPEG2000では符号化効率を上げるため、通常、係数値を「ビットプレーン」単位に分解して符号化する(より詳細にはビットプレーンは3つのサブビットプレーンに分割されて符号化される)。この符号化では、指定された符号化の順番に従って符号化の対象となるビットが定められ、量子化・逆量子化部113で対象ビット周辺のビットからコンテキストが生成され、このコンテキストと対象ビットから確率推定によって符号が決定される。
このようにして各コンポーネントについてタイル単位で符号化処理が行われる。タグ処理部115では、エントロピー符号化・復号化部114で生成された符号を1本のコードストリームに結合するとともに、それにタグ情報及びタグを付加する処理を行う。図27にコードストリームの概略構造を示す。図示のように、コードストリームの先頭と各タイルを構成する部分タイルの先頭にはヘッダと呼ばれるタグ情報が付加され、その後に、各タイルの符号が続く。そして、コード・ストリームの終端に再びタグが置かれる。
符号化処理においては、量子化後のウエーブレット係数は、各サブバンド毎に「プレシンクト」と呼ばれる重複しない矩形に分割される。図28に示すように、1つのプレシンクトは、空間的に一致した3つの矩形領域からなり、各プレシンクトは重複しない矩形の「コードブロック」に分割される。このコードブロックがエントロピー符号化の基本単位となる。
前述のように各サブバンドの係数はビットプレーン単位に分解されるが、コードブロック毎にビットプレーンに順位付けを行うことができる。図29は、その手順を模式的に示している。ここに示す例は、原画像(32x32画素)を16x16画素のタイルに分割した場合で、デコンポジション・レベル1のプレシンクトとコードブロックの大きさはそれぞれ8x8画素、4x4画素としている。プレシンクトとコード・ブロックの番号は、ラスター順に付けられる。また、図29では、タイル0・プレシンクト3・コード・ブロック3について、代表的な「レイヤー」の概念をも併せて示している。レイヤーの構造は、ウェーブレット係数値を横方向(ビットプレーン方向)から見ると理解し易い。1つのレイヤーは任意の数のビットプレーンから構成される。この例では、レイヤー0、1、2、3は、それぞれ1枚、3枚、1枚、3枚のビットプレーンから成っている。そして、LSBに近いビットプレーンを含むレイヤーほど先に量子化の対象となり、逆にMSBに近いビットプレーンを含むレイヤーは最後まで量子化されずに残ることになる。LSBに近いレイヤーから符号を破棄する方法はトランケーションと呼ばれ、量子化率を細かく制御することが可能である。
復号化時には、符号化時とは逆に、各コンポーネントの各タイルのコードストリームから画像データを生成する。タグ処理部115は、外部より入力したコードストリームに付加されたタグ情報を解釈し、コードストリームを各コンポーネントの各タイルのコードストリームに分解する。その各コンポーネントの各タイルのコードストリーム毎に復号化処理が行われる。コードストリーム内のタグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、量子化・逆量子化部113で、その対象ビット位置の周辺ビット(既に復号化を終えている)の並びからコンテキストが生成される。エントロピー符号化・復号化部114は、このコンテキストとコードストリームとから確率推定によって対象ビットを生成し、それを対象ビットの位置に書き込む。このようにして復号化された係数はサブバンド毎に空間分割されているため、これを2次元ウェーブレット変換・逆変換部112で2次元ウェーブレット逆変換を行うことにより、各タイルの各コンポーネントの画像データが復元される。復元された画像データは色空間変換・逆変換部111によって元の表色系のデータに戻される。なお、符号化時に量子化が行われた場合には、2次元ウェーブレット逆変換に先立って、量子化・逆量子化部113によりウェーブレット係数に逆量子化が施される。
以上の説明から理解されるように、JPEG2000は、周波数変換として2次元ウェーブレット変換を用いる階層符号化方式の一種である。そして、デコンポジションレベルの高いサブバンドほど上位階層の周波数帯域である。また、LLサブバンド係数は垂直,水平両方向の低周波数成分(ローパス成分)であり、したがって各階層のLLサブバンドはその階層における低周波数帯域である。なお、motion-JPEG2000では、インターレース動画像のフィールドベース符号化とフレームベース符号化の両方が可能である。
以下、Motion-JPEG2000の動画像のように、各フレームが独立してJPEG2000により階層符号化されたフレーム符号の系列からなる動画像を処理対象とするものとして、本発明の実施の形態を説明する。
図1は、本発明の実施の形態を説明するためのブロック図である。ここに示す本発明に係る動画像処理装置は、記憶装置などに蓄積されている動画像の符号データ1のフレーム符号からフレームの動き量を推定する動き量推定部2と、推定された動き量に基づいて間引くべきフレームを選定する間引きフレーム選定部3と、選定された間引きフレームの間引き処理を行うフレーム間引き処理部4とから構成される。
この動画像処理装置における処理は、フレームの動き量を推定する処理工程、推定された動き量に基づき間引きフレームを選定する処理工程、選定されたフレームの符号を間引く処理工程とからなる。これらの各処理工程は本発明に係る動画像処理方法の処理工程でもあることは明らかである。
典型的な1実施形態においては、動き量推定部2は、後述するLL法による動き量推定手段からなり、フレーム符号より最上位階層のLLサブバンド係数をデコードし、または、所要の係数サイズを持つ最上位階層より下位の階層のLLサブバンド係数をデコードし、注目フレーム及びその隣接フレームのデコードされたLLサブバンド係数に基づいて注目フレームの動き量を推定する。他の実施形態においては、動き量推定部2は、LL法の動き量推定手段に加えて、後述の櫛型法による動き量推定手段を含み、それら2つの動き量推定手段を選択的に利用し又は併用してフレームの動き量を推定する。
典型的な実施形態においては、動き量推定部2は、フレームの動き量を「小」「大」の2段階、あるいは、「小」「中」「大」というような3段階又は4段階以上に評価する手段を含む。このような評価手段は動き量推定部2の必須の要素ではないが、動き量に基づいて間引きフレームを選定する際には、何らかの基準によりフレームの推定された動き量を評価する必要があるため、動き量推定部2内に推定された動き量の評価手段を設けることは合理的である。ただし、評価手段を間引きフレーム選定部3に設けることも可能であることは明らかである。
経験則から、動き量の大きなフレームを間引いた場合に比べ、動き量の小さなフレームを間引いたほうが、フレーム間引き後の動画像を再生した時に違和感を生じにくい。したがって、動き量が「小」と「大」の2段階に評価される場合、間引きフレーム選定部3は動き量が「小」のフレームを間引きフレームに選定する。
ただし、前後のフレームとの動きの少ないフレームであっても、連続して多数のフレームが間引かれると、フレーム間引き後の動画像を再生した時に違和感を生じやすい。そこで、1実施形態においては、所定フレーム数間隔で非間引きフレームを設定し、非間引きフレーム以外のフレームのみを対象として間引きフレームの選定を行う。これを図2により説明する。
図2に示す例では、3フレーム間隔で非間引きフレーム(斜線のフレーム)を設定し、非間引きフレームの間にある動き量が「小」のフレームを間引きフレームとして選定する。図2の下段は間引きフレームとして選定されたフレームが間引かれた様子を示している。ただし、これはあくまで例示を目的としており、非間引きフレームの間隔をより大きくすることもできる。
非間引きフレームを設定せずに間引きフレームの選定を行うことも可能である(ただし、動画像の先頭フレームは、動画像のアイコン表示などに利用されることが多いため、非間引きフレームに設定するのが一般に好ましい)。
1実施形態においては、予め非間引きフレームを設定せず、間引きフレームが所定枚数連続した場合には、その次のフレームを非間引きフレームとする方法、換言すれば、連続した間引きフレームの枚数が所定値を超えないように間引きフレームの選定を制御する方法が採用される。
また、動き量推定部2で動き量を3段階以上に評価する場合には、間引きフレーム選定部3で、動き量の小さい方からフレームに優先順位をつけ、優先順位の高いフレームから優先的に間引きフレームに選定することもできる。例えば、3段階に評価された場合に、連続した所定数フレーム毎に(あるいは全フレームについて)予め間引きフレームの割合を決めておき、まず、動き量「小」のフレームを間引きフレームとして選定し、間引きフレーム数が所定割合に達しないときに、所定割合に達するまでは、残りの動き量「中」のフレームから間引きフレームを選定する、というような方法である。この場合においても、前述のように、連続する間引きフレームの枚数を所定枚数を超えないように間引きフレームの選定を行ってもよく、このような方法も本発明に包含される。
フレーム間引き処理部4における間引き処理方法として、動画像データ1の一連のフレームの符号を外部に出力する際に、間引きフレームとして選定されたフレームの符号を間引き、動画像データ1そのものは変更しない処理方法と、選定されたフレームの符号を動画像の符号データ1より実際に削除する処理方法とを選ぶことができる。
以上の述べたような本発明に係る動画像処理装置は、独立した装置として実現される形態と、パソコンなどの汎用コンピュータ、インターネット上のウェブサーバ、LAN上のファイルサーバなどのネットワーク機器や、デジタルカメラ、携帯電話機、携帯情報端末、医療用画像処理装置などの動画像データを扱う各種機器の組み込み装置として実現される形態のいずれもとり得るものであり、また、いずれの形態においても、ハードウェア、ファームウェア、ソフトウェア又はそれらの組み合わせにより実現し得る。
パソコンなどの汎用コンピュータやマイクロコンピュータなどのコンピュータ上でプログラムにより本発明の動画像処理装置もしくは方法を実現する場合について、図3により簡単に説明する。図3において、11は中央演算処理ユニット(CPU)、12は実行プログラムやデータなどを一時的に記憶するためのメインメモリ、13はプログラムやデータを蓄積するためのハードディスク装置などの補助記憶装置、14はネットワークを介して外部機器との通信を行うための通信インターフェース部、15はJPEG2000のデコーダであり、以上の各部はバス16に接続されている。ただし、デコーダ15は必須ではない。
このようなコンピュータを、動き量推定部2、間引きフレーム選定部3及びフレーム間引き処理部4として機能させるためのプログラムは、例えば補助記憶装置13よりメインメモリ12にロードされ、CPU11により実行される。処理対象となる動画像の符号データは、例えば補助記憶装置13に蓄積されており、その全体又は一部がメインメモリ12に読み込まれて処理される。フレーム間引き処理は、例えば、動画像符号データを通信インターフェース部14によりネットワークを介して外部装置へ転送する際に行われ、あるいは、メインメモリ12上の動画像符号データに対して行われる。動き量推定部2においてLL法の動き量推定を行う場合には最上位階層又はそれより下位の階層のLLサブバンド係数のデコード処理が必要となるが、このデコード処理をデコーダ15を利用して行うことも、プログラム処理で行うことも可能である。
このような本発明に係る動画像処理装置をコンピュータ上で実現するためのプログラム(アプリケーションプログラム、デバイスドライバなど)、及び、同プログラムが記録された磁気ディスク、光ディスク、光磁気ディスク、半導体記憶素子などの、コンピュータが読み取り可能な各種情報記録(記憶)媒体も本発明に含まれる。
以下、本発明の実施の形態について、いくつかの実施例に関し詳細に説明する。
本実施例においては、動画像処理装置の動き量推定部2は、LL法の動き量推定手段からなり、図4に示すように、LLデコード部201、動き量推定計算部202及び評価部204を含む。動き量推定計算部202は注目フレームの直前フレームのLLサブバンド係数を一時的に記憶するためのLLデータ記憶部203を有する。
LLデコード部201は、フレーム符号から最上位階層又はそれより下位の階層のLLサブバンド係数を得るためのデコード処理を行う手段である。なお、カラー動画像の場合には、Yコンポーネントについてデコード処理を行う。動き量推定計算部202は、注目しているフレームとその直前フレームのLLサブバンド係数に基づいて注目フレームの動き量の推定計算を行う手段である。評価部204は、動き量推定計算部202による推定計算値から、注目フレームの動き量を前述したような2段階又は3段階以上に評価する手段である。この評価の結果がフレームの推定された動き量として間引きフレーム選定部3に与えられる。なお、前述のように、評価部204はLL法の動き量推定手段の必須要素ではない。
ここで、LL法による動き量推定の原理について図5により説明する。図5において、右側の格子は注目したフレームの最上位階層又はそれより下位の階層のLLサブバンド係数を示し、左側の格子は注目フレームの直前フレームの同じ階層のLLサブバンド係数を示す。LL法では、直前フレームのLLサブバンド係数に対し2×2の評価ブロックを設定し、注目フレームのLLサブバンド係数に対して設定した2×2の参照ブロックをラスタ順に移動しつつ、評価ブロック内の係数と参照ブロック内の係数の一致を調べる。
上段に示す例では、参照ブロックを評価ブロックに対し右方向に1係数分だけ移動させた位置で、評価ブロック内の係数と参照ブロック内の係数とが最もよく一致する。したがって、注目フレームの直前フレームに対する動き量(距離)は1とみることができる。同様に、中段に示す例では、評価ブロックに対し、参照ブロックを下に1係数分移動した位置で最もよく一致するため、動き量(距離)は1とみることができる。同様に、下段に示す例では、評価ブロックに対し、参照ブロックを右に3係数分、下に1係数分移動した位置で最もよく一致するため、動き量(距離)は4とみることができる。
しかしながら、フレームには多くの被写体が含まれており、また、局所的にみると類似した被写体も少ないため、上に述べたようなブロックマッチングにより求めた局所的な動き量をそのままフレームの動き量と推定するのは危険である。したがって、実際には、評価ブロックの位置を移動させてブロックマッチングにより動き量を求め、その結果を総合してフレームの動き量を推定する必要がある。
次に、動き量推定部2の動作について、図6〜図8を参照し、より具体的に説明する。図6は動画像の先頭フレームに対するLLデコード部201の動作を説明するためのフローチャートである。図7は動画像の第2フレーム以降の各フレームに対する動き量推定部2の動作を説明するためのフローチャートである。図8は動き量推定計算部202における動き量推定計算処理のフローチャートである。
まず、図6を参照して説明する。図5に関連して説明したようなLL法による動き量推定を行うためには、ブロックサイズから決まる所要の係数サイズを持つ階層のLLサブバンドまでデコードする必要がある。図5の例のように、ブロックサイズが2×2の場合には、例えば3×3係数以上の係数サイズを持つLLサブバンドまでデコードする必要がある。そこで、先頭フレームでは、最上位階層より下位階層へ向かってLLサブバンドを順次デコードしていき、その係数サイズを確認し、デコードされたLLサブバンドの係数サイズが必要サイズ以上となった時にデコード処理を終了し、その時の階層(デコンポジションレベル)を保存する。
すなわち、LLデコード部201において、まず、カウンタnに符号の最上階層のデコンポジションレベルを初期設定する(step1)。そして、デコンポジションレベルnのLLサブバンドをデコードし(step2)、そのLLサブバンドの係数サイズがブロックサイズから決まる必要係数サイズ以上であるか判定する(step3)。係数サイズが必要係数サイズに満たないときには、カウンタnを1だけデクリメントし(step4)、デコンポジションレベルnのLLサブバンドまでデコードし(step2)、その係数サイズを判定し(step3)、係数サイズが必要係数サイズに満たないときには再びカウンタnをデクリメントし、次階層のLLサブバンドをデコードするという動作を繰り返す。デコードしたLLサブバンドの係数サイズが必要係数サイズに達したならば(step3,YES)、その時のデコンポジションレベル(階層)すなわちカウンタnの値を保存し(step5)、先頭フレームに対する処理は終わる。フレームの画像サイズ及びデコンポジションレベル数にもよるが、通常、最上位階層又は次位階層のLLサブバンドで係数サイズは必要係数サイズに達する。最終的にデコードされたLLサブバンド係数は、第2フレームの動き量推定に利用するためLLデータ記憶部203に記憶される。
JPEG2000の説明より明らかなように、最上位階層のLLサブバンド係数は、エントロピー復号化によって(逆量子化が必要な場合には、さらに逆量子化によって)デコードされる。次位以下の階層のLLサブバンド係数は、同階層のHL,LH,HHサブバンド係数と、その上の階層のLLサブバンド係数を用いた2次元逆ウェーブレット変換によりデコードされる。
次に、図7を参照して、動画像の第2フレーム以降の各フレームに対する動き量推定部2の動作を説明する。
LLデコード部201は、現在のフレームの符号から、先頭フレームの処理時に保存したカウンタnの値に対応する階層(デコンポジションレベル)nのLLサブバンド係数を得るためのデコード処理が行われる(step11)。現在のフレームが非間引きフレームならば(step12,YES)、デコードされた階層nのLLサブバンド係数が次フレームの動き量推定のためにLLデータ記憶部203に記憶されるが、動き量推定計算は行わず現在のフレームに対する処理を終了する。
現在のフレームが非間引きフレームでないならば(step12,NO)、動き量推定計算部202で、現在のフレームのLLサブバンド係数とLLデータ記憶部203に記憶されている直前フレームのLLサブバンド係数とに基づき動き量推定計算が行われ、計算値が評価部204へ送られ、また、現在のフレームのLLサブバンド係数はLLデータ記憶部203に記憶される(step13)。評価部204で、動き量推定計算部202より入力した現在フレームの動き量推定計算値は前述のように2段階又は3段階以上に評価され、評価結果が最終的な推定された動き量として間引きフレーム選定部3へ入力される(step14)。
このようにして、先頭フレームと非間引きフレームを除いた各フレームについて動き量が順次推定され、間引きフレーム選定部3に送られる。なお、非間引きフレームを設定しない場合にはstep12の判定は不要である。
次に、図8を参照し、step13における動き量推定計算部202による動き量推定計算処理について説明する。まず、直前フレームのLLサブバンド係数に対し評価ブロックYが設定され(step21)、カウンタiが0に初期設定される(step22)。次に、評価ブロックと同サイズの参照ブロックXが現在フレームのLLサブバンド係数に対し設定される(step23)。変数mindifに十分大きな初期値が設定され、また、カウンタiが1だけインクリメントされる(step24)。
評価ブロックと参照ブロックの内部の対応した係数の差の絶対値の合計diffが計算され(step25)、diffの値が変数minidifの値と比較される(step26)。step25〜step29のループの1回目には必ずdiff<minidiffとなるので、diffの値が変数minidiffに代入され、また、この時の評価ブロックからの参照ブロックの動き量(距離)dispが変数DISP(i)に代入される(step27)。参照ブロックXがラスタ順に1係数分だけ移動させられ、再び参照ブロックXと評価ブロックYの内部の対応係数の差の絶対値の合計diffが計算され(step25)、その値と変数minidiffの値とが比較され(step26)、diff<minidiffならば、diffの値により変数minidiffが書き換えられ、かつ、その時の評価ブロックに対する参照ブロックの動き量(距離)dispにより変数DISP(i)が書き換えられる(step27)。
step25〜step29のループが繰り返され、参照ブロックの移動の余地がなくなると(step29,YES)、その時の変数DISP(i)の値は、現在の評価ブロックの位置における図5に関連して説明したような動き量であり、動き量推定計算部202に保存される。
評価ブロックYがラスタ順に1係数分だけ移動させられ(step30)、step23にもどり、参照ブロックが現在フレームのLLサブバンド係数に対し改めて設定され、step24で変数minidiffに初期値が設定され、また、カウンタiがインクリメントされる。そして、再びstep25〜step29のループが実行される。このループの繰り返し実行により、現在の評価ブロックの位置における動き量が変数DISP(i)として求まり、保存される。
評価ブロックを移動させつつ、step23〜step31のループが繰り返され、評価ブロックの移動の余地がなくなると(step31,YES)、全てのDISP(i)の合計sumを計算し(step32)、動き量推定計算処理を終了する。
このsumの値は、局所的な動き量を総合した動き量推定計算値であり、以上の説明から容易に理解されるように評価ブロックの移動回数が多いほど(LLサブバンドの係数サイズが大きいほど)増加する傾向があるが、評価部204で動き量を2段階に評価するような場合には格別支障はない。ただし、動き量を多段階に評価する場合などは、sumの値を例えばカウンタiの最終値で割り算して正規化した値を最終的な動き量推定計算値としてもよく、かかる態様も本実施例に含まれる。
以上に説明したように、LL法では、各フレームの低解像度の階層の低周波数帯域の周波数係数をデコードする処理と、低解像度の係数空間でのブロックマッチングなどの処理によって動き量を推定できるため、フレーム画像をデコードしてフレーム画像間のブロックマッチングなどにより動き量を推定する方法に比べ、遙かに少ない処理量で効率的に動き量を推定することができる。
通常、各フレームの符号化の際にタイリングが行われる。したがって、フレームの一部のタイル(例えば中心部分の1又は複数タイル)のみを対象として、LLサブバンド係数のデコード処理及びLLサブバンド係数に基づいた動き量推定計算を行うことも可能である。このようにすれば、フレーム全体を処理対象とした場合に比べ動き量推定のための処理時間をさらに短縮できる。かかる態様も本実施例に含まれる。
また、LL法は基本的にノンインターレース動画像、フレームベース符号化されたインターレース動画像、フィールドベース符号化されたインターレース動画像のいずれにも適用可能である。フィールドベース符号化されたインターレース動画像の場合には、フレームを構成する2フィールド中の奇数フィールド又は偶数フィールに関してデコード処理などを行えばよい。
なお、注目フレームのLLサブバンド係数と隣接フレームのLLサブバンドの間で適当な相関関数を用いた相関計算を行って動き量を推定することも可能であり、かかる態様も本発明に含まれる。
さて、評価部204における動き量の評価方法は、前述のように2段階に評価する方法と3段階又は4段階以上に評価する方法を選択可能であり、また、評価のための閾値も指定可能である。
図9は評価部204における2段階評価のフローチャートである。動き量推定計算値が所定の閾値thと比較され(step41)、動き量推定計算値が閾値thより小さいときはフレームの動き量は「小」と評価され(step42)、そうでないときは動き量は「大」と評価される(step43)。
図10は評価部204における3段階評価のフローチャートである。動き量推定計算値は所定の閾値th1と比較され(step51)、動き量推定計算値が閾値th1より小さいときは動き量は「小」と評価される(step52)。動き量推定計算値が閾値th1以上ならば、動き量推定計算値は所定の閾値th2(>th1)と比較され(step53)、閾値th2より小さいときは動き量は「中」と評価され(step54)、そうでないときは動き量は「大」と評価される(step55)。
前述のように、間引きフレーム選定部3における間引きフレームの選定についても、いくつかの方法から選択可能であり、また、非間引きフレームの間隔も指定可能である。
動き量が「小」と「大」に2段階評価される場合に、先頭フレームと非間引きフレームを除いて、動き量が「小」のフレームを間引きフレームに選定する方法の処理フローを図11示す。この方法では、注目したフレームの推定された動き量が「小」であるか判定し(step61)、それが「小」ならば注目フレームを間引きフレームに選定する(step62)。
動き量が2段階評価される場合に、間引きフレームを3フレーム以上連続させないように間引きフレームを選定する方法の処理フローを図12に示す。この方法では、注目したフレームの前の2フレームが両方とも間引きフレームに選定されているか判定し(step71)、そうならば注目フレームを間引きフレームに選定しない。前2フレーム中の少なくとも1フレームが間引きフレームに選定されていなければ、注目したフレームの推定された動き量が「小」であるか判定し(step72)、それが「小」ならば注目フレームを間引きフレームに選定する(step73)。
動き量が「小」「中」「大」に3段階評価される場合に、非間引きフレーム(動画像の先頭フレームも含む)と次の非間引きフレームの間のNフレームから、最大M(<N)フレームの間引きフレームを選定する方法の処理フローを図13に示す。この方法では、まず、Nフレームの最初のフレームから動き量が「小」のフレームを探す(step81)。動き量が「小」のフレームが見つかったならば、そのフレームを間引きフレームに選択し(step83)、カウンタi(初期値は0)をインクリメントする(step85)。そして、カウンタiの値がMより小さいならば(step85,YES)、step81に戻り、動き量が「小」の次のフレームを探す。step85の判定結果がNOとなったときには処理を終了する。
動き量が「小」のフレームが見つからないときには(step82,NO)、最初のフレーム側から動き量が「中」のフレームを探し(step86)、見つかったならば、そのフレームを間引きフレームに選定し(step88)、カウンタiをインクリメントする(step89)。カウンタiの値がM未満ならば(step90,YES)、step86に戻り、動き量「中」の次のフレームを探す。動き量「中」のフレームが見つからなくなったとき(step87,NO)、又は、カウンタiの値がMに達したとき(step90,NO)、処理を終了する。
本実施例においては、動画像処理装置の動き量推定部2は、LL法による動き量推定と櫛型法による動き量推定のいずれも可能な構成であり、図14に示すように、LL法による動き量推定手段である動き量推定部200、櫛型法による動き量推定手段である動き量推定部300、及び、いずれの動き量推定部による推定結果を有効にするか選択する推定方法選択部305からなる。
LL法の動き量推定部200は図4に示した構成であり、その動作は前記実施例1において説明した通りであるので説明は繰り返さない。
櫛型法の動き量推定部300は、符号量計算部301、動き量推定計算部302及び評価部303からなる。なお、評価部204,303は必須要素ではないことは前述した通りである。
まず、櫛型法による動き量推定の原理を説明する。インターレース動画像の場合、前記特許文献1にも記載されているように、フレームを構成する2つのフィールド間で被写体が横方向に移動すると、フレーム上で被写体の縦エッジ部分が”櫛型”にずれる。この櫛型の横方向エッジの長さ(エッジ量)は、被写体の横方向の動き量(速度)に比例する。この様子を図15に模式的に示す。図15の(a)は動き量が大きい(高速)の場合であり、(b)は動き量が中程度(中速)の場合であり、(c)は動き量が小さい(低速)の場合である。一方、図15から明らかなように、櫛型の縦方向エッジ量は被写体の動き量にかかわらず略一定である。
そして、ビデオカメラで撮影した動画像などでは被写体の動きとしては左右方向の移動が圧倒的に多い。したがって、櫛型の横方向エッジ量をフレームの動き量の指標として用いることは合理的である。
さて、櫛型の横方向エッジ量は符号データの特定の階層の特定のサブバンド(JPEG2000では1LHサブバンド)の符号量に反映される。櫛型法の原理は、そのような特定のサブバンドの符号量に着目してフレームの動き量を推定しようとするものである。なお、本願出願人は、インターレース画像の櫛型に着目して動き量を推定する発明を特願2002−289867号により特許出願済みである。
次に、櫛型法の動き量推定部300の動作について説明する。本実施例においては、図16〜図18に示す3種類の推定アルゴリズムを選択することができる。
図16のフローチャートを参照して第1の推定アルゴリズムについて説明する。この場合、符号量計算部301により、1LHサブバンドの符号量sum1LHと1HLサブバンドの符号量sum1HLが計算される(step101,102)。これら符号量は、符号データのタグ情報を基に計算することができる。なお、いずれの符号量もYコンポーネントの符号量であり、このことは第2及び第3の推定アルゴリズムにおいても同様である。
動き量推定計算部302において、それら符号量の比
speed=sum1LH/sum1HL
が動き量推定計算値として求められる(step103)。sum1LHは櫛型の横方向エッジ量の増加に比例して増加するのに対し、1HLサブバンド係数は縦方向エッジ成分であるので、sum1HLは被写体の左右の動きによっては殆ど変化しない。したがって、speedの値は動き量を反映した値として用いることができる。
評価部303において、speedの値が所定の閾値th1より大きいときに(step104,YES)、動き量は「大」(高速)と評価される(step105)。speedが閾値th1以下のときには、別の閾値th2(<th1)とspeedの値が比較され(step106)、speedがその閾値th2より大きいときには動き量は「中」(中速)と評価され(step107)、speedが閾値th2以下のときに動き量は「小」(低速)と評価される(step108)。
このように、櫛型法は、符号データのタグ情報を利用するので、LL法のようなデコード処理は不要であり、極めて効率的な動き量推定が可能である。ただし、インターレース動画像にのみ適用可能である。
なお、この例では、動き量を「大」「中」「小」の3段階に評価したが、評価段階数は指定可能であり、「大」「小」の2段階に評価することも4段階以上に評価することも可能である。
図17のフローチャートを参照し、第2の推定アルゴリズムについて説明する。符号量計算部301により、1LHサブバンドの符号量sum1LHと2LHサブバンドの符号量sum2LHが計算される(step111,112)。これら符号量は、符号データのタグ情報を基に計算することができる。そして、動き量推定計算部302で、それら符号量の比
speed=sum1LH/sum2LH
が動き量推定計算値として求められる(step113)。sum1LHは櫛型の横方向エッジ量の増加に比例して増加する。これに対し、2LHサブバンドは横方向エッジ成分であるが、1LHサブバンドより解像度が1レベル低いため1画素単位の櫛型の横方向エッジの影響はほとんどないため、その符号量sum2LHは櫛型の横方向エッジ量が増加しても変化しない。したがって、speedの値はフレームの動き量を反映した値として用いることができる。
評価部303において、speedの値が所定の閾値th1より大きいときに(step114,YES)、動き量は「大」(高速)と評価される(step115)。speedが閾値th1以下のときには、別の閾値th2(<th1)とspeedの値が比較され(step116)、speedがその閾値th2より大きいときには動き量は「中」(中速)と評価され(step117)、speedが閾値th2以下のときに動き量は「小」(低速)と評価される(step118)。
なお、動き量を「大」「中」「小」の3段階に評価したが、評価段階数は指定可能であり、「大」「小」の2段階に評価することも4段階以上に評価することも可能である。
図18のフローチャートを参照し、第3の推定アルゴリズムについて説明する。符号量計算部301において、1LHサブバンドの符号量の和sum1LH、1HLサブバンドの符号量sum1HL、2LHサブバンドの符号量sum2LH及び2HLサブバンドの符号量sum2HLが計算される(step121〜124)。これら符号量は、符号データのタグ情報を基に容易に計算することができる。
そして、動き量推定計算部302で、符号量比
speed=(sum1LH/sum1HL)/(sum2LH/sum2HL)
が動き量推定計算値として求められる(step125)。
1LH,1HLサブバンドの符号量は櫛型の横方向,縦方向のエッジ量を反映するが、櫛型以外の横方向,縦方向のエッジ量も反映する。したがって、画像中に櫛型以外の長い横エッジが存在する場合には、櫛型の横エッジ量が小さいときにもsum1LH/sum1HLが大きな値をとる。一方、1LH,1HLサブバンドより1レベル低解像度の2LH,2HLサブバンドの符号量は、櫛型のエッジのような1画素単位のエッジには殆ど影響を受けないが、それ以外の横方向,縦方向のエッジ量を反映するため、画像中に櫛型以外の長い横エッジがするとsum1LH/sum2HLは大きな値をとる。したがって、前者の符号量比を後者の符号量比で除したspeedは櫛型以外の長い横エッジの影響を受けにくく、動き量推定精度の向上を期待できる。
評価部303においては、speedの値が所定の閾値th1より大きいときに(step126,YES)、動き量は「大」(高速)と評価される(step127)。speedが閾値th1以下のときには、別の閾値th2(<th1)とspeedの値が比較され(step128)、speedがその閾値th2より大きいときに動き量は「中」(中速)と評価され(step129)、speedが閾値th2以下のときに動き量は「小」(低速)と評価される(step130)。
なお、この例でも動き量を「大」「中」「小」の3段階に評価したが、評価段階数は指定可能であり、「大」「小」の2段階に評価することも4段階以上に評価することも可能である。
通常、各フレームの符号化の際にタイリングが行われる。したがって、動き量推定のための符号量計算を、フレームの一部のタイル(例えば中心部分の1又は複数タイル)のみを対象として行うことも可能である。このようにすれば、フレーム全体を処理対象とした場合に比べ動き量推定のための処理時間をさらに短縮できる。かかる態様も本実施例に含まれる。
次に、推定方法選択部305について説明する。図19に、推定方法の選択例を示す。このような選定は、ユーザによる指示があるときにはそれに従い、指示がないときには、推定方法選択部305で自動的に行う。以下、自動的な選択について説明する。
ノンインターレース動画像の場合には、推定方法選択部305は、LL法を選択し、櫛型法の動き量推定部300の動作を抑止し、LL法の動き量推定部200の推定結果を有効にする。
インターレース動画像でフィールドベース符号化されている場合も同様にLL法を選択し、LL法の動き量推定部200の推定結果を有効にする。
インターレース動画像でフレームベース符号化されている場合には、櫛型法を適用可能であることは勿論であり、またLL法も適用可能である。本実施例では、量子化率(又は圧縮率もしくは符号破棄量)を調べ、それが所定値より「小」のときには、LL法よりも一般に処理効率に優れた櫛型法を選択し、LL法の動き量推定部200の動作を抑止し、櫛型法の動き量推定部300による推定結果を有効にする。量子化率(又は圧縮率もしくは符号破棄量)が「大」のときには、櫛型の横方向エッジ成分の損失が大きく櫛型法による推定精度が低下するおそれがあるため、LL法を選択し、LL法の動き量推定部200の推定結果を有効にする。
このように、本実施例によれば、ノンインターレース動画像、フィールドベース符号化されたインターレース動画像、フレームベース符号化されたインターレース動画像のそれぞれに対し、それに適した動き量推定方法によって動き量を推定することができる。
フレームベース符号化されたインターレース動画像に対し、上に述べたように量子化率(又は圧縮率もしくは符号破棄量)の大小により推定方法を切り替えると、推定精度の面では一般に有利である。しかし、フレームベース符号化されたインターレース動画像に対して一律に櫛型法を選択することも可能であり、かかる態様は量子化率(又は圧縮率もしくは符号破棄量)の計算が不要になる点で有利である。後者の態様も本実施例に包含されるものである。
量子化率は符号データのタグ情報(メインヘッダ情報)によって知ることができる。圧縮率は、メインヘッダ情報中の画像サイズやビット深さと符号データの符号量とから計算することができる(簡易には符号データの全体サイズそのものを圧縮率として用いることもできる)。符号破棄量も符号データのタグ情報を基に計算することができるが、これについて若干説明する。
以下に説明するように、JPEG2000には符号の破棄(トランケーション)を行うポスト量子化の機能がある。符号破棄量として、簡易には、総パケット数と実際のパケット数の差、又は、総パケット数に対する実際のパケット数の割合を用いることができる。より精度を上げるには、符号が破棄されたビットプレーン数、又は、総ビットプレーン数に対する破棄されたビットプレーン数の割合を、符号破棄量として用いることができる。いずれの場合も、櫛型の横エッジ量が反映される1LHサブバンドに関する符号破棄量を用いればよい。また、タイリングされている場合に、例えばフレームの中心部分のタイルなど、一部のタイルに関する符号破棄量を用いることもできる。
ここで、JPEG2000のポスト量子化と符号が破棄されたビットプレーン数の計算方法について説明する。ポスト量子化は量子化テーブルを用いて実行される。図20はその説明図である。図20において、(a)はポスト量子化前の符号を模式的に示している。本例では3つのコンポーネント(色成分)C0,C1,C2があり、ここでは、その1つのコンポーネントC0を示している。また、階層数(デコンポジションレベル数)は3であり、3LL,3HL,3LH,3HH〜1HL,1LH,1HHのサブバンドからなり、深さ方向に8つのビットプレーンで構成された符号の例である。(b)はポスト量子化のための量子化テーブルの一例であり、各コンポーネント、各サブバンド毎に符号が破棄されるビットプレーンの枚数(トランケート数)が記述されている。(c)はコンポーネントC0のトランケーション例である。コンポーネントC0に関しては、3LLサブバンドはトランケート数は1であるので、8枚のビットプレーン中、最下位の1枚が破棄される。1HHサブバンドについては、トランケート数は7であるので、8枚のビットプレーンのうち下位の7枚が破棄される。このようにして、すべてのサブバンドについて、量子化テーブルの値に従って符号を破棄した後の符号が(d)に模式的に示されている。
次に、トランケート数の算出方法について説明する。図21はその説明図である。図21の上段に示すように、トランケーションを行う前の総ビットプレーン数は、元データのビットプレーン数(桁数)と、ウェーブレットで増えるビットプレーン数(桁数)と、色変換で増えるビットプレー数(桁数)の和である。また、下段に示すように、ゼロビットプレーン数(コーディングされなかったビットプレーン数)と、コーディングされたビットプレーン数と、トランケート(符号破棄)されたビットプレーン数の和が総ビットプレーン数である。このことから、トランケート数は、総ビットプレーン数からゼロビットプレーン数とコーディングされたビットプレーン数を差し引くことにより求まることが分かる。そして、ゼロビットプレーン数は、JPEG2000の符号データを構成するパケットのヘッダ(パケットヘッダ)に記述されている。また、パケットヘッダに記述されているコーディングパス数から、コーディングされたビットプレーン数を計算することができる。
櫛型法では1HLサブバンドの符号破棄量が重要であるので、上に述べた方法により符号データの1LHサブバンドのトランケート数(又は総ビットプレーン数に対するトランケート数の割合)を符号破棄量として求めることができる。この計算のためにはタグ情報を解析するのみでよく、デコード処理は不要である。
なお、以上の推定法の選択は、通常、動画像を単位として行う。したがって、量子化率又は圧縮率もしくは符号破棄量は動画像の先頭フレームの符号データから求めればよい。ただし、各フレームで量子化率(又は圧縮率もしくは符号破棄量)を計算し、それに基づきフレーム単位で動き量推定方法を選択することも可能である。
図22は、以上説明した推定方法選択の手順例を示すフローチャートである。ユーザ指定がある場合は、step151〜152により推定方法が選択される。ユーザ指定がない場合は、step153〜158で推定方法が自動的に選択される。
間引きフレーム選定部3の動作は、前記実施例1の場合と同様であるので説明を繰り返さない。
本実施例においては、動画像処理装置の動き量推定部2は、図23に示すように、LL法の動き量推定手段を構成するLLデコード部201、動き量推定計算部202及びLLデータ記憶部203と、櫛型法による動き量推定手段を構成する符号量計算部301及び動き量推定計算部302を備える。これら各部の機能は前記実施例1,2において説明した通りであるので説明を繰り返さない。
本実施例に係る動き量推定部2は、さらに、LL法の動き量推定部202による動き量推定計算値SPEED1と、櫛型法の動き量推定計算部302の動き量推定計算値SPEED2の合成値
SPEED=α・SPEED1+β・SPEED2
(α,βは正規化及び重み付けのための係数,α+β=1)
を求める合成部401と、合成値SPEEDを2段階又は3段階以上に評価する評価部403と、合成部401に対し係数α,βの値を設定するα,β設定部402を備える。なお、評価部403は動き量推定部2の必須要素ではないことは前述した通りである。
処理される動画像が、ノンインターレース動画像又はフィールドベース符号化されたインターレース動画像の場合には、α,β設定部402はα=1、β=0に設定する。したがって、SPEED=SPEED1となり、実質的にLL法による動き量推定結果が最終的な推定結果となる。この場合、符号量計算部301及び動き量推定計算部302の動作を抑止してもよい。
処理される動画像が、フレームベース符号化されたインターレース動画像の場合には、α,β設定部402は、ユーザからの指定があるときは指定に従ってα,βの値を設定するが、ユーザにより指定がないときには、量子化率(又は圧縮率もしくは符号破棄量)に応じたα,βの値を自動的に設定する(ただし、1≧α≧0、1≧β≧0、α+β=1)。すなわち、量子化率(又は圧縮率もしくは符号破棄量)を算出し、それが小さい場合には櫛型法による推定精度が良好であるので、α<βとなるようなα,βの値を設定してSPEED2に対する重みを上げる。量子化率(又は圧縮率もしくは符号破棄量)が大きい場合には、LL法の推定精度が良好であるのでα>βとなるようなα,βの値を設定してSPEED1に対する重みを上げる。また、量子化率(又は圧縮率もしくは符号破棄量)が中程度の場合には例えばα=β=0.5に設定する。
なお、量子化率(又は圧縮率もしくは符号破棄量)が所定値より小さい場合にα=0,β=1に設定し、量子化率(又は圧縮率もしくは符号破棄量)が所定値以上の場合にα=1,β=0に設定することも可能であり、この場合は実質的に図19に示した推定方法の選択が行われることになる。かかる態様も本実施例に含まれる。
また、フレーム内に量子化率又は符号破棄量の小さい部分(ROI領域など)と量子化率又は符号破棄量の大きい部分(ROI領域の外側など)とが混在する場合がある。このような場合に対応するため、フレーム内の局所的な量子化率又は符号破棄量を算出し、それに従ってフレーム内でα,βの値を切り替えることも可能である。かかる態様も本実施例に包含される。
以上のように、本実施例によればノンインターレース動画像、フィールドベース符号化されたインターレース動画像、フレームベース符号化されたインターレース動画像のそれぞれに対し、効率的な処理により動き量を適切に推定することができる。
間引きフレーム決定部3及びフレーム間引き処理部4は前記実施例1と同様であるので、その説明は繰り返さない。
ここまで本発明に係る動画像処理装置に関して説明したが、その処理もしくは動作の説明は本発明に係る動画像処理方法における処理手順の説明でもあることは明らかである。よって、本発明に係る動画像処理方法についての同様の説明は省略する。
また、各フレームをJPEG2000で符号化した動画像を処理するものとして実施の形態を説明したが、各フレームの符号化方式はJPEG2000に限定されるものではない。ウェーブレット変換その他の周波数変換を使用する階層符号化方式によって各フレームが符号化された動画像ならば、前述のLL法による動き量推定が可能であることは明らかである。また、2次元ウェーブレット変換その他の周波数変換を使用し階層符号化する方式であって、特定の階層の特定の周波数帯域(サブバンド)の符号量に櫛型の横エッジ量が反映されるよう符号化方式により各フレームが符号化された動画像ならば、前述の櫛型法による動き量推定が可能であることは明らかである。
本発明の実施の形態を説明するためのブロック図である。
フレーム間引きの説明図である。
本発明をコンピュータを利用して実施する形態の説明のためのブロック図である。
実施例1における動き量推定部のブロック図である。
LL法による動き量推定原理の説明図である。
実施例1における先頭フレームに対する処理を説明するためのフローチャートである。
実施例1における第2フレーム以降の各フレームに対する処理を説明するためのフローチャートである。
LL法による動き量推定の説明のためのフローチャートである。
動き量の2段階評価のフローチャートである。
動き量の3段階評価のフローチャートである。
間引きフレーム選定の説明のためのフローチャートである。
間引きフレーム選定の説明のためのフローチャートである。
間引きフレーム選定の説明のためのフローチャートである。
実施例2における動き利用推定部のブロック図である。
インターレース画像の櫛型と動き量との関係を示す図である。
櫛型法による動き量推定の説明のためのフローチャートである。
櫛型法による動き量推定の説明のためのフローチャートである。
櫛型法による動き量推定の説明のためのフローチャートである。
動き量推定方法の選択方法の説明図である。
JPEG2000における符号破棄の説明図である。
符号が破棄されたビットプレーン数の算出方法の説明図である。
動き量推定方法選択を説明するためのフローチャートである。
実施例3における動き量推定部のブロック図である。
JPEG2000のアルゴリズムを説明するためのブロック図である。
JPEG2000におけるタイリングの説明図である。
JPEG2000におけるウェーブレット変換の説明図である。
JPEG2000のコードストリームのフォーマットを示す図である。
JPEG2000におけるタイル、サブバンド、プレシンクト、コードブロックの関係を示す図である。
JPEG2000における符号形成の説明図である。
符号の説明
1 動画像の符号データ
2 動き量推定部
3 間引きフレーム選定部
4 フレーム間引き処理部
200 LL法の動き量推定部
201 LLデコード部
202 動き量推定計算部
203 LLデータ記憶部
204 評価部
300 櫛型法による動き量推定部
301 符号量計算部
302 動き量推定計算部
303 評価部
305 推定方法選択部
401 合成部
402 α,β設定部
403 評価部