JP4779230B2 - 動画像符号化装置、動画像符号化方法、動画像符号化プログラム格納媒体及び動画像符号化プログラム - Google Patents
動画像符号化装置、動画像符号化方法、動画像符号化プログラム格納媒体及び動画像符号化プログラム Download PDFInfo
- Publication number
- JP4779230B2 JP4779230B2 JP2001145580A JP2001145580A JP4779230B2 JP 4779230 B2 JP4779230 B2 JP 4779230B2 JP 2001145580 A JP2001145580 A JP 2001145580A JP 2001145580 A JP2001145580 A JP 2001145580A JP 4779230 B2 JP4779230 B2 JP 4779230B2
- Authority
- JP
- Japan
- Prior art keywords
- image data
- motion vector
- resolution
- moving image
- frame image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【発明の属する技術分野】
本発明は動画像符号化装置、動画像符号化方法、動画像符号化プログラム格納媒体及び動画像符号化プログラムに関し、例えばインターネットを利用して動画像データを配信する際に当該動画像データを圧縮符号化する動画像符号化装置に適用して好適なものである。
【0002】
【従来の技術】
近年、インターネットを利用した動画像データの配信方法として、ビデオカメラ等で被写体を撮像しながら得られる動画像データをインターネットを介してユーザのパーソナルコンピュータ等に送信することにより当該動画像データに基づく動画像をリアルタイムで見せるようにした、いわゆるストリーミングと呼ばれる配信方法が普及し始めている
【0003】
実際上、このようなストリーミングによる配信方法においては、インターネットとユーザのパーソナルコンピュータとを接続するインターネット接続回線のデータ転送速度が比較的低いために、送信側で配信対象の動画像データを例えばMPEG2(Moving Picture Experts Group phase 2)と呼ばれる圧縮符号化方式を用いて圧縮符号化して送信することによりユーザに動画像をリアルタイムで提供している。
【0004】
ここで、MPEG2方式は、ISO/IEC JTC1/SC2/WG11(International Organization for Standardization/International Electrotechnical Commission Joint Technical Committee/Sub Committee 2/Working Group 11)等の機関によって標準化され、動き補償予測符号化と離散コサイン変換(DCT:Discrete Cosine Transform )とを組み合わせたハイブリット符号化方式を採用して規格化された圧縮符号化方式である。
【0005】
そして、このMPEG2方式では、I(Intra )ピクチャと呼ばれるフレーム内符号化画像(イントラ符号化画像)と、P(Predictive)ピクチャと呼ばれるフレーム間順方向予測符号化画像と、B(Bidirectionally predictive)ピクチャと呼ばれる双方向予測符号化画像との3種類のピクチャタイプが規定されており、これらIピクチャ、Pピクチャ及びBピクチャのうちいずれかを動画像データを構成するフレーム画像データに順次所定の順番で割り当てて圧縮符号化するように規定されている。
【0006】
また、このMPEG2方式では、フレーム内符号化、順方向予測符号化、逆方向予測符号化及び双方向予測符号化の4種類の予測モードが規定されており、Iピクチャを割り当てたフレーム画像については例えば16画素×16ラインのマクロブロックと呼ばれる単位でフレーム内符号化により圧縮符号化し、Pピクチャを割り当てたフレーム画像についてはマクロブロック単位でフレーム内符号化又は順方向予測符号化のいずれかにより圧縮符号化し、さらにBピクチャを割り当てたフレーム画像についてはマクロブロック単位でフレーム内符号化、順方向予測符号化、逆方向予測符号化及び双方向予測符号化のいずれかにより圧縮符号化するように規定されている。
【0007】
【発明が解決しようとする課題】
ところで最近では、それぞれデータ転送速度の異なる複数種類のインターネット接続回線が提供されており、未だ全体的にはデータ転送速度が低いもののユーザがこれらインターネット接続回線を任意に選択して利用し得るようになされている。
【0008】
このため、ストリーミングにより動画像データを配信するには、送信側で配信対象の動画像データを複数種類の圧縮率で圧縮符号化することにより各種インターネット接続回線をそれぞれ効率良く利用して動画像データを配信することが提案されている。
【0009】
ここで、各種インターネット接続回線に応じて動画像データを圧縮符号化する動画像符号化装置として、図15に示すように構成されたものがある。
【0010】
図15に示すように、かかる構成の動画像符号化装置1においては、外部のビデオカメラ等から供給される配信対象の動画像データを順次フレーム画像データ単位で第1乃至第3の解像度変換器2乃至4に取り込む。
【0011】
第1乃至第3の解像度変換器2乃至4は、それぞれ動画像データを順次フレーム画像データ単位で取り込むと、当該フレーム画像データに基づくフレーム画像から予め設定された解像度の変換率に応じて画素を間引くことによりその動画像データの解像度を例えば1/2、1/4及び1/8の解像度に変換し、これら解像度の異なる動画像データをそれぞれ対応する第1乃至第3のエンコーダ5乃至7に送出する。
【0012】
ここで、第1乃至第3のエンコーダ5乃至7は、それぞれMPEG2方式が適用され、同様の回路構成を有していることにより、以下に図16を用いて第1のエンコーダ5の回路構成について詳細に説明する。
【0013】
図16に示すように、第1のエンコーダ5は、対応する第1の解像度変換器2から与えられた例えば1/2の解像度の動画像データを順次フレーム画像データ(以下、これを低解像度フレーム画像データと呼ぶ)単位で、複数フレーム分の記録容量を有する入力用フレームメモリ10に取り込み、当該入力用フレームメモリ10に取り込んだ低解像度フレーム画像データにIピクチャ、Pピクチャ及びBピクチャのうちいずれかを所定の順番で割り当てると共に、その割り当てたIピクチャ、Pピクチャ及びBピクチャを表すピクチャ情報を低解像度フレーム画像データに対応付けて記録する。
【0014】
そして、演算器11は、入力用フレームメモリ10内でIピクチャが割り当てられた低解像度フレーム画像データ(以下、これを特に第1の低解像度フレーム画像データと呼ぶ)については、当該第1の低解像度フレーム画像データの解像度に応じた低解像度のマクロブロック単位のデータ(以下、これを第1の低解像度マクロブロックデータと呼ぶ)として順次読み出す。
【0015】
このとき、動きベクトル検出器12は、演算器11により入力用フレームメモリ10から第1の低解像度マクロブロックデータが読み出される毎に当該第1の低解像度マクロブロックデータに対応するピクチャ情報(すなわち、Iピクチャを表す)を読み出しており、そのピクチャ情報に基づいて第1の低解像度マクロブロックデータをフレーム内符号化により圧縮符号化することを表す予測モードデータを生成してこれを動き補償器13及び可変長符号化器14に送出する。
【0016】
これにより動き補償器13は、動きベクトル検出器12から与えられた予測モードデータ(フレーム内符号化を表す)に基づいて、対応する第1の低解像度マクロブロックデータに対する動き補償処理を停止する。
【0017】
従って、演算器11は、入力用フレームメモリ10から第1の低解像度マクロブロックデータを読み出すと、このとき動き補償器13からは何らデータが与えられないことにより当該第1の低解像度マクロブロックデータをそのまま離散コサイン変換器15に送出する。
【0018】
離散コサイン変換器15は、演算器11から与えられた第1の低解像度マクロブロックデータを離散コサイン変換し、得られた離散コサイン変換係数を量子化器16に送出する。
【0019】
量子化器16は、出力段に設けられたバッファ17における符号化データの蓄積量(以下、これをデータ蓄積量と呼ぶ)を所定周期で検出し、当該検出したデータ蓄積量に応じて量子化ステップを選定する。
【0020】
これにより量子化器16は、離散コサイン変換器15から与えられた離散コサイン変換係数を対応する量子化ステップに基づいて量子化し、得られた量子化係数をその量子化ステップと共に可変長符号化器14及び逆量子化器18に送出する。
【0021】
可変長符号化器14は、量子化器16から与えられた量子化係数をハフマン符号等により可変長符号化(VLC:Variable Length Code)すると共に、当該量子化器16から与えられた量子化ステップ及び動きベクトル検出器12から与えられた予測モードデータも可変長符号化し、得られた符号化データをバッファ17を介して外部に出力する。
【0022】
このようにして第1のエンコーダ5においては、入力用フレームメモリ10内の第1の低解像度フレーム画像データを順次第1の低解像度マクロブロックデータ単位でフレーム内符号化により圧縮符号化し、得られた符号化データを外部に出力する。
【0023】
また、逆量子化器18は、量子化器16から与えられた量子化係数を同様に量子化器16から与えられた量子化ステップに基づいて逆量子化し、得られた離散コサイン変換係数を逆離散コサイン変換器19に送出する。
【0024】
逆離散コサイン変換器19は、逆量子化器18から与えられた離散コサイン変換係数を逆離散コサイン変換(IDCT:Inverse Discrete Cosine Transform)し、得られた第1の低解像度マクロブロックデータを加算器20に送出する。
【0025】
加算器20は、逆離散コサイン変換器19から第1の低解像度マクロブロックデータが与えられると、このとき動き補償器13からは何らデータが与えられないことにより第1の低解像度マクロブロックデータをそのまま複数フレーム分の記録容量を有する参照用フレームメモリ21に送出して格納し、かくして参照用フレームメモリ21内に第1の低解像度フレーム画像データを再構築する。
【0026】
一方、演算器11は、入力用フレームメモリ10内でPピクチャが割り当てられた低解像度フレーム画像データ(以下、これを特に第2の低解像度フレーム画像データと呼ぶ)については、当該第2の低解像度フレーム画像データの解像度に応じた低解像度のマクロブロック単位のデータ(以下、これを第2の低解像度マクロブロックデータと呼ぶ)として順次読み出す。
【0027】
この場合、動きベクトル検出器12は、演算器11により入力用フレームメモリ10から第2の低解像度マクロブロックデータが読み出される毎に、当該入力用フレームメモリ10から同じ第2の低解像度マクロブロックデータとこれに対応するピクチャ情報(すなわち、Pピクチャを表す)とを読み出すと共に、そのピクチャ情報に基づいて第2の低解像度マクロブロックデータよりも順方向側(時間的に過去)の第1又は第2の低解像度フレーム画像データを順方向予測の参照用として読み出す。
【0028】
そして、動きベクトル検出器12は、ブロックマッチング法により参照用の第1又は第2の低解像度フレーム画像データに基づく第1又は第2の低解像度フレーム画像内で第2の低解像度マクロブロックデータに基づく第2の低解像度マクロブロックを複数の比較用ブロックと順次対応付けながら当該第2の低解像度マクロブロック内の各画素の画素値と比較用ブロックのそれぞれ対応する画素の画素値との差分の絶対値の総和(以下、これを予測誤差と呼ぶ)を算出する。
【0029】
これにより動きベクトル検出器12は、第2の低解像度マクロブロックと各比較用ブロックとの間で順次算出した予測誤差のうち最も値の小さい予測誤差(以下、これを特に最小予測誤差)を選定すると共に、その最小予測誤差を算出したときに用いた比較用ブロック(以下、これを順方向近似ブロックと呼ぶ)を第2の低解像度マクロブロックと最も一致するものとして検出し、当該検出した順方向近似ブロックと第2の低解像度マクロブロックとの動き量により第2の低解像度マクロブロックデータの順方向の動きベクトルを検出する。
【0030】
これに加えて、動きベクトル検出器12は、第2の低解像度マクロブロック内の各画素の画素値の平均値を算出した後にその算出した平均値と各画素値との差分の絶対値の総和(以下、これを分散値と呼ぶ)を算出し、当該算出した分散値を最小予測誤差と比較する。
【0031】
この結果、動きベクトル検出器12は、分散値が最小予測誤差よりも小さければ、第2の低解像度マクロブロックに対して各画素の分散(画素値のばらつき)が小さいために第2の低解像度マクロブロックデータをそのまま圧縮符号化しても符号化データのデータ量(以下、これを符号化データ量と呼ぶ)を比較的少なくし得ると判断し、その第2の低解像度マクロブロックデータをフレーム内符号化により圧縮符号化することを表す予測モードデータを生成してこれを動き補償器13及び可変長符号化器14に送出する。
【0032】
これに対して、動きベクトル検出器12は、分散値が最小予測誤差よりも大きければ、第2の低解像度マクロブロックに対して各画素の分散(画素値のばらつき)が大きいために第2の低解像度マクロブロックデータを順方向予測符号化により圧縮符号化しなければ符号化データ量を少なくし難いと判断し、このとき第2の低解像度マクロブロックデータを順方向予測符号化により圧縮符号化することを表す予測モードデータを生成してこれを当該第2の低解像度マクロブロックデータの動きベクトルと共に動き補償器13及び可変長符号化器14に送出する。
【0033】
これにより動き補償器13は、動きベクトル検出器12から第2の低解像度マクロブロックデータに対してフレーム内符号化を表す予測モードデータが与えられると、当該第2の低解像度マクロブロックデータに対する動き補償処理を停止する。
【0034】
これに対して、動き補償器13は、動きベクトル検出器12から第2の低解像度マクロブロックデータに対する動きベクトルと、順方向予測符号化を表す予測モードデータとが与えられると、動き補償処理を実行して参照用フレームメモリ21から第2の低解像度マクロブロックデータよりも順方向側(時間的に過去)の第1又は第2の低解像度フレーム画像データを参照用として読み出す。
【0035】
そして、動き補償器13は、その第1又は第2の低解像度フレーム画像データに基づく第1又は第2の低解像度フレーム画像内から動きベクトルに基づいて第2の低解像度マクロブロックデータに基づく第2の低解像度マクロブロックと最も一致する演算用ブロックを抽出し、これを演算用ブロックデータとして演算器11及び加算器20に送出する。
【0036】
演算器11は、入力用フレームメモリ10から読み出した第2の低解像度マクロブロックデータに対する予測モードとしてフレーム内符号化が選択されたときには、動き補償器13から演算用ブロックデータが与えられないことにより当該第2の低解像度マクロブロックデータをそのまま離散コサイン変換器15に送出する。
【0037】
これにより第1のエンコーダ5においては、第2の低解像度マクロブロックデータに対する予測モードとしてフレーム内符号化が選択されたときには、離散コサイン変換器15、量子化器16、可変長符号化器14、バッファ17、逆量子化器18、逆離散コサイン変換器19、加算器20及び参照用フレームメモリ21をそれぞれ上述した第1の低解像度マクロブロックデータを圧縮符号化したときと同様に動作させ、かくして第2の低解像度マクロブロックデータを量子化ステップ及び予測モードデータと共に可変長符号化し、得られた符号化データを外部に出力すると共に、圧縮した第2の低解像度マクロブロックデータを復号化して参照用フレームメモリ21に格納する。
【0038】
また演算器11は、入力用フレームメモリ10から読み出した第2の低解像度マクロブロックデータに対する予測モードとして順方向予測符号化が選択されたときには、動き補償器13から与えられた演算用ブロックデータを当該第2の低解像度マクロブロックデータから減算し、得られた差分データを離散コサイン変換器15に送出する。
【0039】
この場合、離散コサイン変換器15は、演算器11から与えられた差分データを離散コサイン変換し、得られた離散コサイン変換係数を量子化器16に送出する。
【0040】
また、量子化器16は、その離散コサイン変換係数を上述した第1の低解像度マクロブロックデータを処理したときと同様に選定した対応する量子化ステップに基づいて量子化し、得られた量子化係数をその量子化ステップと共に可変長符号化器14及び逆量子化器18に送出する。
【0041】
そして、可変長符号化器14は、その量子化係数をハフマン符号等により可変長符号化すると共に、対応する量子化ステップ及び予測モードデータ(順方向予測符号化を表す)並びに動きベクトルも可変長符号化し、このようにして得られた符号化データをバッファ17を介して外部に出力する。
【0042】
このとき、逆量子化器18は、量子化器16から与えられた量子化係数を同様に量子化器16から与えられた量子化ステップに基づいて逆量子化し、得られた離散コサイン変換係数を逆離散コサイン変換器19に送出する。
【0043】
また、逆離散コサイン変換器19は、逆量子化器18から与えられた離散コサイン変換係数を逆離散コサイン変換し、得られた差分データを加算器20に送出する。
【0044】
加算器20は、逆離散コサイン変換器19から与えられた差分データをこのとき動き補償器13から与えられた演算用ブロックデータと加算し、得られた第2の低解像度マクロブロックデータを参照用フレームメモリ21に送出して格納する。
【0045】
このようにして第1のエンコーダ5においては、第2の低解像度フレーム画像データを順次第2の低解像度マクロブロックデータ単位で圧縮符号化したときにも参照用フレームメモリ21内に第2の低解像度フレーム画像データを再構築する。
【0046】
これに加えて、演算器11は、入力用フレームメモリ10内でBピクチャが割り当てられた低解像度フレーム画像データ(以下、これを特に第3の低解像度フレーム画像データと呼ぶ)については、当該第3の低解像度フレーム画像データの解像度に応じた低解像度のマクロブロック単位のデータ(以下、これを第3の低解像度マクロブロックデータと呼ぶ)として順次読み出す。
【0047】
この場合、動きベクトル検出器12は、演算器11により入力用フレームメモリ10から第3の低解像度マクロブロックデータが読み出される毎に、当該入力用フレームメモリ10から同じ第3の低解像度マクロブロックデータとこれに対応するピクチャ情報(すなわち、Bピクチャを表す)とを読み出すと共に、そのピクチャ情報に基づいて第3の低解像度マクロブロックデータよりも順方向側(時間的に過去)の第1又は第2の低解像度フレーム画像データ及び逆方向側(時間的に未来)の第1又は第2の低解像度フレーム画像データを順方向予測、逆方向予測及び双方向予測の参照用として読み出す。
【0048】
そして、動きベクトル検出器12は、上述した第2の低解像度マクロブロックデータのときと同様にブロックマッチング法により順方向側の第1又は第2の低解像度フレーム画像データに基づく第1又は第2の低解像度フレーム画像内で最小予測誤差(以下、これを特に順方向最小予測誤差と呼ぶ)となる順方向近似ブロックを検出するようにして第3の低解像度マクロブロックデータに対する順方向の動きベクトルを検出する。
【0049】
同様に動きベクトル検出器12は、ブロックマッチング法により逆方向側の第1又は第2の低解像度フレーム画像データに基づく第1又は第2の低解像度フレーム画像内で最小予測誤差(以下、これを特に逆方向最小予測誤差と呼ぶ)となる比較用ブロック(以下、これを逆方向近似ブロックと呼ぶ)を検出するようにして第3の低解像度マクロブロックデータに対する逆方向の動きベクトルを検出する。
【0050】
さらに、動きベクトル検出器12は、このように検出した順方向近似ブロック及び逆方向近似ブロックの対応する画素同士の画素値を平均化して平均近似ブロックを生成し、当該生成した平均近似ブロックと第3の低解像度マクロブロックとの予測誤差(以下、これを双方向予測誤差と呼ぶ)を算出する。
【0051】
これにより動きベクトル検出器12は、順方向最小予測誤差、逆方向最小予測誤差及び双方向予測誤差のうち最も値の小さい1つの順方向最小予測誤差、逆方向最小予測誤差又は双方向予測誤差を選定すると共に、第3の低解像度マクロブロックデータに対しても上述した第2の低解像度マクロブロックデータのときと同様にして分散値を算出し、当該算出した分散値をその選定した1つの順方向最小予測誤差、逆方向最小予測誤差又は双方向予測誤差(以下、これを特に選定予測誤差と呼ぶ)と比較する。
【0052】
この結果、動きベクトル検出器12は、分散値が選定予測誤差よりも小さければ、第3の低解像度マクロブロックに対して各画素の分散(ばらつき)が小さいために第3の低解像度マクロブロックデータをそのまま圧縮符号化しても符号化データ量を比較的少なくし得ると判断し、その第3の低解像度マクロブロックデータをフレーム内符号化により圧縮符号化することを表す予測モードデータを生成してこれを動き補償器13及び可変長符号化器14に送出する。
【0053】
これに対して、動きベクトル検出器12は、分散値が選定予測誤差よりも大きければ、第3の低解像度マクロブロックに対して各画素の分散(ばらつき)が大きいために第3の低解像度マクロブロックデータをフレーム内符号化以外の予測モードで圧縮符号化しなければ符号化データ量を少なくし難いと判断する。
【0054】
このとき、動きベクトル検出器12は、選定予測誤差が順方向最小予測誤差であれば、第3の低解像度マクロブロックデータを順方向予測符号化により圧縮符号化することを表す予測モードデータを生成してこれを当該第3の低解像度マクロブロックデータの順方向の動きベクトルと共に動き補償器13及び可変長符号化器14に送出する。
【0055】
また、動きベクトル検出器12は、その選定予測誤差が逆方向最小予測誤差であれば、第3の低解像度マクロブロックデータを逆方向予測符号化により圧縮符号化することを表す予測モードデータを生成してこれを当該第3の低解像度マクロブロックデータの逆方向の動きベクトルと共に動き補償器13及び可変長符号化器14に送出する。
【0056】
さらに、動きベクトル検出器12は、その選定予測誤差が双方向予測誤差であれば、第3の低解像度マクロブロックデータを双方向予測符号化により圧縮符号化することを表す予測モードデータを生成してこれを当該第3の低解像度マクロブロックデータの順方向及び逆方向の双方の動きベクトルと共に動き補償器13及び可変長符号化器14に送出する。
【0057】
動き補償器13は、動きベクトル検出器12から第3の低解像度マクロブロックデータに対してフレーム内符号化を表す予測モードデータが与えられると、当該第3の低解像度マクロブロックデータに対する動き補償処理を停止する。
【0058】
これに対して動き補償器13は、動きベクトル検出器12から第3の低解像度マクロブロックデータに対する順方向の動きベクトルと順方向予測符号化を表す予測モードデータとが与えられると、動き補償処理を実行して参照用フレームメモリ21から第3の低解像度マクロブロックデータよりも順方向側(時間的に過去)の第1又は第2の低解像度フレーム画像データを参照用として読み出す。
【0059】
そして、動き補償器13は、参照用の第1又は第2の低解像度フレーム画像データに基づく第1又は第2の低解像度フレーム画像内からその順方向の動きベクトルに基づいて第3の低解像度マクロブロックデータに基づく第3の低解像度マクロブロックと最も一致する演算用ブロックを抽出し、これを演算用ブロックデータとして演算器11及び加算器20に送出する。
【0060】
また、動き補償器13は、動きベクトル検出器12から第3の低解像度マクロブロックデータに対する逆方向の動きベクトルと逆方向予測符号化を表す予測モードデータとが与えられると、このときにも動き補償処理を実行して参照用フレームメモリ21から第3の低解像度マクロブロックデータよりも逆方向側(時間的に未来)の第1又は第2の低解像度フレーム画像データを参照用として読み出す。
【0061】
そして、動き補償器13は、参照用の第1又は第2の低解像度フレーム画像データに基づく第1又は第2の低解像度フレーム画像内からその逆方向の動きベクトルに基づいて第3の低解像度マクロブロックデータに基づく第3の低解像度マクロブロックと最も一致する演算用ブロックを抽出し、これを演算用ブロックデータとして演算器11及び加算器20に送出する。
【0062】
さらに動き補償器13は、動きベクトル検出器12から第3の低解像度マクロブロックデータに対する順方向及び逆方向の双方の動きベクトルと双方向予測符号化を表す予測モードデータとが与えられたときにも動き補償処理を実行して参照用フレームメモリ21から第3の低解像度マクロブロックデータよりも順方向側(時間的に過去)の第1又は第2の低解像度フレーム画像データと逆方向側(時間的に未来)の第1又は第2の低解像度フレーム画像データを参照用として読み出す。
【0063】
そして、動き補償器13は、順方向側の第1又は第2の低解像度フレーム画像データに基づく第1又は第2の低解像度フレーム画像内から順方向の動きベクトルに基づいて第3の低解像度マクロブロックと最も一致する演算用ブロックを抽出すると共に、逆方向側の第1又は第2の低解像度フレーム画像データに基づく第1又は第2の低解像度フレーム画像内から逆方向の動きベクトルに基づいて第3の低解像度マクロブロックと最も一致する演算用ブロックを抽出し、これら抽出した2つの演算用ブロックの対応する画素同士の画素値を平均化して平均演算用ブロックを生成し、これを平均演算用ブロックデータとして演算器11及び加算器20に送出する。
【0064】
演算器11は、入力用フレームメモリ10から読み出した第3の低解像度マクロブロックデータに対する予測モードとしてフレーム内符号化が選択されたときには、動き補償器13からは何らデータが与えられないことにより当該第3の低解像度マクロブロックデータをそのまま離散コサイン変換器15に送出する。
【0065】
これにより第1のエンコーダ5においては、第3の低解像度マクロブロックデータに対する予測モードとしてフレーム内符号化が選択されたときには、離散コサイン変換器15、量子化器16、可変長符号化器14、バッファ17、逆量子化器18、逆離散コサイン変換器19、加算器20及び参照用フレームメモリ21をそれぞれ上述した第1の低解像度マクロブロックデータを圧縮符号化したときと同様に動作させ、かくして第3の低解像度マクロブロックデータを量子化ステップ及び予測モードデータと共に可変長符号化し、得られた符号化データを外部に出力すると共に、圧縮した第3の低解像度マクロブロックデータを復号化して参照用フレームメモリ21に格納する。
【0066】
また、演算器11は、入力用フレームメモリ10から読み出した第3の低解像度マクロブロックデータに対する予測モードとして順方向予測符号化、逆方向予測符号化及び双方向予測符号化が選択されたときには、動き補償器13から与えられた演算用ブロックデータ又は平均演算用ブロックデータを当該第3の低解像度マクロブロックデータから減算し、得られた差分データを離散コサイン変換器15に送出する。
【0067】
この場合、離散コサイン変換器15は、演算器11から与えられた差分データを離散コサイン変換し、得られた離散コサイン変換係数を量子化器16に送出する。
【0068】
量子化器16は、その離散コサイン変換係数を上述した第1の低解像度マクロブロックデータを処理したときと同様に選定した対応する量子化ステップに基づいて量子化し、得られた量子化係数をその量子化ステップと共に可変長符号化器14及び逆量子化器18に送出する。
【0069】
そして、可変長符号化器14は、このとき量子化係数の元になる第3の低解像度マクロブロックデータに対する予測モードとして順方向予測符号化が選定されたときには、当該量子化係数をハフマン符号等により可変長符号化すると共に、対応する量子化ステップ及び予測モードデータ(順方向予測符号化を表す)並びに順方向の動きベクトルも可変長符号化し、このようにして得られた符号化データをバッファ17を介して外部に出力する。
【0070】
また、可変長符号化器14は、量子化係数の元になる第3の低解像度マクロブロックデータに対する予測モードとして逆方向予測符号化が選定されたときには、当該量子化係数をハフマン符号等により可変長符号化すると共に、対応する量子化ステップ及び予測モードデータ(逆方向予測符号化を表す)並びに逆方向の動きベクトルも可変長符号化し、このようにして得られた符号化データをバッファ17を介して外部に出力する。
【0071】
さらに、可変長符号化器14は、量子化係数の元になる第3の低解像度マクロブロックデータに対する予測モードとして双方向予測符号化が選定されたときには、当該量子化係数をハフマン符号等により可変長符号化すると共に、対応する量子化ステップ及び予測モードデータ(双方向予測符号化を表す)並びに順方向及び逆方向の双方の動きベクトルも可変長符号化し、このようにして得られた符号化データをバッファ17を介して外部に出力する。
【0072】
このとき、逆量子化器18は、量子化器16から与えられた量子化係数を同様に量子化器16から与えられた量子化ステップに基づいて逆量子化し、得られた離散コサイン変換係数を逆離散コサイン変換器19に送出する。
【0073】
また、逆離散コサイン変換器19は、逆量子化器18から与えられた離散コサイン変換係数を逆離散コサイン変換し、得られた差分データを加算器20に送出する。
【0074】
そして、加算器20は、逆離散コサイン変換器19から与えられた差分データをこのとき動き補償器13から与えられた演算用ブロックデータ又は平均演算用ブロックデータと加算し、得られた第3の低解像度マクロブロックデータを参照用フレームメモリ21に送出して格納する。
【0075】
このようにして第1のエンコーダ5においては、第3の低解像度フレーム画像データを順次第3の低解像度マクロブロックデータ単位で圧縮符号化したときにも、参照用フレームメモリ21内に第3の低解像度フレーム画像データを再構築する。
【0076】
かくして第1のエンコーダ5においては、解像度を下げた動画像データを順次低解像度フレーム画像データ単位でIピクチャ、Pピクチャ、当該Iピクチャ及びPピクチャ間、又は2つのPピクチャ間に位置するBピクチャの順番を繰り返すようにして圧縮符号化し、得られた符号化データを外部に出力し得るようになされている。
【0077】
一方、第2及び第3のエンコーダ6及び7は、それぞれ対応する第2及び第3の解像度変換器3及び4から1/4の解像度に変換された動画像データ及び1/8の解像度に変換された動画像データが与えられ、当該解像度の変換された動画像データを順次低解像度フレーム画像データ単位で第1のエンコーダ5の場合と同様に圧縮符号化し、得られた符号化データを外部に出力する。
【0078】
かくして動画像符号化装置1においては、配信対象の動画像データからそれぞれ解像度の異なる複数の動画像データを生成し、これら解像度の異なる動画像データを圧縮符号化することにより各種インターネット接続回線をそれぞれ効率良く利用して動画像を配信させ得るようになされている。
【0079】
ところがかかる構成の動画像符号化装置1においては、配信対象の動画像データは1つであるのにその解像度が異なるだけで第1乃至第3のエンコーダ5乃至7がこれら解像度の異なる動画像データをそれぞれ個別に圧縮符号化していることにより配信対象の動画像データに対する圧縮符号化処理の処理負荷が大幅に増加し、その圧縮符号化処理に多大な処理時間が必要になる問題があった。
【0080】
本発明は以上の点を考慮してなされたもので、1つの動画像データから得られる解像度の異なる複数の動画像データに対して圧縮符号化処理を高速化し得る動画像符号化装置、動画像符号化方法、動画像符号化プログラム格納媒体及び動画像符号化プログラムを提案しようとするものである。
【0081】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、1つの動画像データを構成する複数のフレーム画像データそれぞれの暫定的な、圧縮符号化の種類を規定するピクチャタイプに従い、当該1つの動画像データから得られる解像度の異なる複数の動画像データのうち最も低い解像度の動画像データに含まれる動きベクトル検出対象のフレーム画像内の所定ブロックと、当該最も低い解像度の動画像データに含まれる参照用のフレーム画像との最小予測誤差を算出するようにして当該所定ブロックの階層動きベクトルを検出し、当該階層動きベクトルを検出したときに算出した最小予測誤差に基づき、1つの動画像データを構成する複数のフレーム画像データについてシーンが変更された時点のフレーム画像データであるかを検出して、当該1つの動画像データを構成する複数のフレーム画像データについてシーンが変更された時点のフレーム画像データであることを検出しないときは暫定的なピクチャタイプを変更せずに確定し、1つの動画像データを構成する複数のフレーム画像データについてシーンが変更された時点のフレーム画像データであることを検出したときは暫定的なピクチャタイプを変更して確定すると共に、当該変更後のピクチャタイプに従い、最も低い解像度の動画像データに含まれる動きベクトル検出対象のフレーム画像内の所定ブロックと、最も低い解像度の動画像データに含まれる参照用のフレーム画像との最小予測誤差を算出するようにして当該所定ブロックの階層動きベクトルを検出し直し、解像度の異なる複数の動画像データのうち最も低い解像度以上の少なくとも2種類の解像度の動画像データをそれぞれ、確定したピクチャタイプに従い、フレーム内符号化により圧縮符号化すると共に、階層動きベクトルを共有化して用いて少なくとも2種類の解像度にそれぞれ合わせた動きベクトルを検出して、当該検出した動きベクトルを用いた動き補償予測符号化により圧縮符号化するようにした。
【0082】
従って、最も低い解像度以上の少なくとも2種類の解像度の動画像データを圧縮符号化する際、動きベクトルの検出及びシーンチェンジの有無の検出による演算量を減らして圧縮符号化処理の処理負荷を大幅に低減させることができる。
【0083】
【発明の実施の形態】
以下、図面について、本発明の一実施の形態を詳述する。
【0084】
(1)第1の実施の形態
図1において、30は全体として第1の実施の形態による動画像符号化装置を示し、被写体を撮像している外部のビデオカメラ(図示せず)から供給される動画像データD1を順次フレーム画像データ単位で解像度変換処理部31の第1乃至第3の解像度変換器32乃至34と、簡易動きベクトル検出処理部35に取り込む。
【0085】
この場合、第1乃至第3の解像度変換器32乃至34は、外部から動画像データD1の解像度の変換率(例えば1/1、1/2、1/4、1/8の変換率)を指定する変換率指定情報HS1乃至HS3が与えられており、その変換率指定情報HS1乃至HS3に基づいて動画像データD1に対する解像度の変換処理を実行し、当該変換率指定情報HS1乃至HS3の指定内容が変化すれば、これに応じて動画像データD1の解像度の変換率を変更し得るようになされている。
【0086】
このため、第1乃至第3の解像度変換器32乃至34は、動画像データD1に対する解像度の変換処理を実行すると、この結果得られる動画像データを対応する変換率指定情報HS1乃至HS3と共に対応する第1乃至第3のエンコーダ37乃至39に送出することにより当該第1乃至第3のエンコーダ37乃至39にその変換率指定情報HS1乃至HS3によって動画像データの解像度を通知する。
【0087】
実際上第1の解像度変換器32は、外部から供給される動画像データD1を順次フレーム画像データ単位で取り込む毎に、例えば1/4の変換率を指定する変換率指定情報HS1に基づいてフレーム画像データに基づくフレーム画像から画素を間引くことにより動画像データD1の解像度を1/4の解像度に変換し、当該解像度を1/4に変換した動画像データD2を変換率指定情報HS1と共に第1のエンコーダ37に送出する。
【0088】
また、第2の解像度変換器33は、外部から供給される動画像データD1を順次フレーム画像データ単位で取り込む毎に、例えば1/2の変換率を指定する変換率指定情報HS2に基づいてフレーム画像データに基づくフレーム画像から画素を間引くことにより動画像データD1の解像度を1/2の解像度に変換し、当該解像度を1/2に変換した動画像データD3を変換率指定情報HS2と共に第2のエンコーダ38に送出する。
【0089】
さらに、第3の解像度変換器34は、外部から供給される動画像データD1を順次フレーム画像データ単位で取り込む毎に、1/1の変換率を指定する変換率指定情報HS3に基づいて当該動画像データD1をそのまま変換率指定情報HS3と共に第3のエンコーダ39に送出する。
【0090】
かくして解像度変換処理部31は、配信対象の1つの動画像データD1からそれぞれ解像度の異なる複数の動画像データD1乃至D3を得て対応する第1乃至第3のエンコーダ37乃至39に送出する。
【0091】
簡易動きベクトル検出処理部35は、図2に示すように、外部から供給される動画像データD1を順次フレーム画像データ単位で、複数フレーム分の記録容量を有する割当用フレームメモリ40に取り込む。
【0092】
この場合、ピクチャ割当器41は、図3(A)に示すように、割当用フレームメモリ40に動画像データD1のフレーム画像データを順次取り込む毎に、当該取り込んだフレーム画像データに例えば先頭のフレーム画像データにBピクチャを割り当て、2フレーム目以降には1つのIピクチャに所定数のBピクチャ及びPピクチャが順次交互に連続するようなパターンを順次繰り返す順番でIピクチャ、Pピクチャ及びBピクチャのピクチャタイプを暫定的に割り当てる。
【0093】
また、ピクチャ割当器41は、このようにフレーム画像データに順次Iピクチャ、Pピクチャ及びBピクチャを割り当てると、当該Iピクチャ、Pピクチャ及びBピクチャを表すピクチャタイプとこれらを割り当てたフレーム画像データ固有のフレーム識別情報とをピクチャ情報として割当用フレームメモリ40に記録する。
【0094】
簡易動きベクトル検出器42(図2)は、割当用フレームメモリ40内でIピクチャが割り当てられたフレーム画像データ(以下、これを第1のフレーム画像データと呼ぶ)については、当該割当用フレームメモリ40から第1のフレーム画像データのピクチャ情報を読み出して第1乃至第3のエンコーダ37乃至38に送出する。
【0095】
また、簡易動きベクトル検出器42は、割当用フレームメモリ40内でPピクチャが割り当てられたフレーム画像データ(以下、これを第2のフレーム画像データと呼ぶ)については、図3(B)に示すように、当該割当用フレームメモリ40からその第2のフレーム画像データを動きベクトル検出対象として順次マクロブロック単位のデータ(以下、これを第2のマクロブロックデータと呼ぶ)D10で読み出すと共に、当該第2のフレーム画像データよりも時間的に順方向側の任意の第1又は第2のフレーム画像データD11を参照用として読み出す。
【0096】
ここで、簡易動きベクトル検出器42は、動きベクトル検出対象の第2のフレーム画像データを、第1乃至第3の解像度変換器32乃至34に対して設定し得る解像度よりも低い例えば1/16の解像度に変換して簡易動きベクトルを検出する。
【0097】
すなわち、簡易動きベクトル検出器42は、図4(A)及び(B)に示すように、階層サーチ動きベクトル検出方式による原画像レベルの第1階層よりも下層の第5階層において、第2のマクロブロックデータD10に基づく第2のマクロブロックMB1から画素を間引くことにより1/16の解像度の階層マクロブロックMB2を生成すると共に、同様に参照用の第1又は第2のフレーム画像データD11に基づく第1又は第2のフレーム画像FG1から画素を間引くことにより1/16の解像度の階層フレーム画像FG2を生成する。
【0098】
そして、簡易動きベクトル検出器42は、ブロックマッチング法により階層マクロブロックMB2を階層フレーム画像FG2の比較的狭いサーチ範囲内で複数の比較用ブロックと順次対応付けながら当該階層マクロブロックMB2の各画素の画素値と比較用ブロックのそれぞれ対応する画素の画素値との差分の絶対値の総和(以下、これを予測誤差と呼ぶ)を算出する。
【0099】
これにより簡易動きベクトル検出器42は、階層マクロブロックMB2と各比較用ブロックとの間で順次算出した予測誤差のうち最も値の小さい予測誤差(以下、これを特に最小予測誤差と呼ぶ)を選定し、当該選定した最小予測誤差を算出したときに用いた比較用ブロック(以下、これを近似ブロックと呼ぶ)を階層マクロブロックMB2と最も一致するものとして検出する。
【0100】
このようにして簡易動きベクトル検出器42は、これら階層マクロブロックMB2と近似ブロックとの動き量により階層マクロブロックデータD12の第5階層における動きベクトル(以下、これを第5階層動きベクトルと呼ぶ)を検出する。
【0101】
ところで、簡易動きベクトル検出器42は、第1乃至第3の解像度変換器32乃至34に与えられた変換率指定情報HS1乃至HS3の内容を表す制御情報SG1が外部から与えられており、動きベクトル検出対象の第2のフレーム画像データに対する1フレーム分の第5階層動きベクトルを検出すると、制御情報SG1に基づいてこれら第5階層動きベクトルを第1乃至第3の解像度変換器32乃至34における解像度の変換率に応じて4倍、8倍及び16倍に変倍することにより第1乃至第3のエンコーダ37乃至39における処理用に解像度を合わせた順方向側の簡易動きベクトル(以下、これを順方向側簡易動きベクトルと呼ぶ)D15、D16、D17を生成する。
【0102】
そして、簡易動きベクトル検出器42は、このように順方向側簡易動きベクトルD15、D16及びD17を生成すると、割当用フレームメモリ40から順方向側簡易動きベクトルD15、D16及びD17の検出に用いた動きベクトル検出対象の第2のフレーム画像データのピクチャ情報及び参照用の第1又は第2のフレーム画像データD11のピクチャ情報を読み出し、当該読み出したこれらピクチャ情報を順方向側簡易動きベクトルD15、D16及びD17と対応付けてそれぞれ対応する第1乃至第3のエンコーダ37乃至39に送出する。
【0103】
また、簡易動きベクトル検出器42は、割当用フレームメモリ40内でBピクチャが割り当てられたフレーム画像データ(以下、これを第3のフレーム画像データと呼ぶ)については、図3(B)に示すように、当該割当用フレームメモリ40から第3のフレーム画像データを動きベクトル検出対象として順次マクロブロック単位のデータ(以下、これを第3のマクロブロックデータと呼ぶ)D20で読み出す。
【0104】
これに加えて簡易動きベクトル検出器42は、割当用フレームメモリ40からその動きベクトル検出対象の第3のフレーム画像データよりも時間的に順方向側の任意の第1又は第2のフレーム画像データD21と、同様に時間的に逆方向側の任意の第1又は第2のフレーム画像データD22とをそれぞれ参照用として読み出す。
【0105】
この場合、簡易動きベクトル検出器42は、まず図4(A)及び(B)について上述した場合と同様に階層サーチ動きベクトル検出方式による第5階層において、第3のマクロブロックデータD20に基づく第3のマクロブロックから1/16の解像度の階層マクロブロックを生成すると共に、同様に順方向側で参照用に割り当てた第1又は第2のフレーム画像データD21に基づく第1又は第2のフレーム画像から1/16の解像度の階層フレーム画像データを生成する。
【0106】
そして、簡易動きベクトル検出器42は、これら階層マクロブロック及び階層フレーム画像を用いてブロックマッチング法により階層マクロブロックデータの順方向側の第5階層動きベクトルを検出する。
【0107】
次いで、簡易動きベクトル検出器42は、図4(A)及び(B)について上述した場合と同様に階層サーチ動きベクトル検出方式による第5階層において、逆方向側で参照用に割り当てた第1又は第2のフレーム画像データD21に基づく第1又は第2のフレーム画像から1/16の解像度の階層フレーム画像を生成し、当該生成した階層フレーム画像と、第3のマクロブロックデータの階層マクロブロックとを用いてブロックマッチング法により当該階層マクロブロックデータの逆方向側の第5階層動きベクトルを検出する。
【0108】
そして、簡易動きベクトル検出器42は、動きベクトル検出対象の第3のフレーム画像データに対する1フレーム分の順方向側及び逆方向側の第5階層動きベクトルを検出すると、制御情報SG1に基づいてこれら順方向側及び逆方向側の第5階層動きベクトルをそれぞれ4倍、8倍及び16倍に変倍することにより第1乃至第3のエンコーダ37乃至39における処理用に解像度を合わせた順方向側の簡易動きベクトル(以下、これを順方向側簡易動きベクトルと呼ぶ)D23、D24、D25を生成すると共に逆方向側の簡易動きベクトル(以下、これを逆方向側簡易動きベクトルと呼ぶ)D26、D27、D28を生成する。
【0109】
これにより簡易動きベクトル検出器42は、このように順方向側及び逆方向側簡易動きベクトルD23乃至D28を生成すると、割当用フレームメモリ40からその順方向側及び逆方向側簡易動きベクトルD23乃至D28の検出に用いた動きベクトル検出対象の第3のフレーム画像データのピクチャ情報及び順方向側及び逆方向側の参照用の第1又は第2のフレーム画像データD21及びD22のピクチャ情報を読み出し、当該読み出したこれらピクチャ情報を順方向側及び逆方向側簡易動きベクトルD23乃至D28と対応付けてそれぞれ対応する第1乃至第3のエンコーダ37乃至39に送出する。
【0110】
ところで、簡易動きベクトル検出器42は、第2及び第3のフレーム画像データに対する1フレーム分の順方向側及び逆方向側の第5階層動きベクトルを検出すると、当該第5階層動きベクトルに基づいて順方向側及び逆方向側簡易動きベクトルD15乃至D17、D23乃至D28を生成する前に、当該第5階層動きベクトルの検出によって算出した全ての最小予測誤差をシーンチェンジ検出器43に送出する。
【0111】
これによりシーンチェンジ検出器43は、簡易動きベクトル検出器42から1フレーム分の最小予測誤差が与えられる毎に、当該1フレーム分の最小予測誤差を全て加算して合計最小予測誤差を算出し、その合計最小予測誤差をすでに算出している全ての合計最小予測誤差の平均値(以下、これを予測誤差平均値と呼ぶ)と比較する。
【0112】
この結果、シーンチェンジ検出器43は、算出した合計最小予測誤差が予測誤差平均値以下の値であれば、この時点で動きベクトル検出対象の第2又は第3のフレーム画像データと、すでに処理している順方向側の連続する第1乃至第3のフレーム画像データとの相関が比較的高いことによりこれら動きベクトル検出対象の第2及び第3のフレーム画像データを含む第1乃至第3のフレーム画像データが全て動画像の1つのシーンを構成するフレーム画像データであると判断する。
【0113】
このときシーンチェンジ検出器43は、この時点で動きベクトル検出対象の第2又は第3のフレーム画像データに対して暫定的に割り当てていたピクチャタイプを恒久的なピクチャタイプとして確定してこれを簡易動きベクトル検出器42に通知する。
【0114】
また、シーンチェンジ検出器43は、算出した合計最小予測誤差が予測誤差平均値よりも大きい値であれば、この時点で動きベクトル検出対象の第2又は第3のフレーム画像データと、すでに処理している順方向側の連続する第1乃至第3のフレーム画像データとの相関が比較的低いことにより当該順方向側の連続する第1乃至第3のフレーム画像データの構成する動画像のシーンに対してこの時点で動きベクトル検出対象の第2又は第3のフレーム画像データの構成する動画像のシーンが変化したと判断する。
【0115】
このときシーンチェンジ検出器43は、この時点で動きベクトル検出対象の第2又は第3のフレーム画像データに対して暫定的に割り当てていたピクチャタイプを他のピクチャタイプに変更することを簡易動きベクトル検出器42に通知する。
【0116】
従って、簡易動きベクトル検出器42は、シーンチェンジ検出器43からピクチャタイプの確定が通知されると、この時点で動きベクトル検出対象の第2又は第3のフレーム画像データに対して検出した1フレーム分の順方向側及び逆方向側の第5階層動きベクトルに基づいて順方向側簡易動きベクトルD15乃至D17、順方向側及び逆方向側簡易動きベクトルD23乃至D28を生成し、対応するピクチャ情報と共に第1乃至第3のエンコーダ37乃至39に送出する。
【0117】
これに対して簡易動きベクトル検出器42は、シーンチェンジ検出器43からピクチャタイプの変更が通知されると、この時点で動きベクトル検出対象の第2又は第3のフレーム画像データに対して暫定的なピクチャタイプに変えてシーンチェンジに応じた新たなピクチャタイプ(Iピクチャ、Pピクチャ及びBピクチャのいずれか)を割り当てることにより当該新たなピクチャタイプに従ってその第2又は第3のフレーム画像データに対して上述と同様な処理を実行する。
【0118】
因みに、簡易動きベクトル検出器42は、シーンが変化した時点のフレーム画像データに対してIピクチャを割り当てるように設定されているときには、当該シーンの変化した時点の第2又は第3のフレーム画像データに新たにIピクチャを割り当て直してピクチャ情報のみを第1乃至第3のエンコーダ37乃至39に送出する。
【0119】
また、簡易動きベクトル検出器42は、シーンが変化した時点のフレーム画像データに対してPピクチャ又はBピクチャを割り当てるように設定されているときには、当該シーンの変化した時点の第2又は第3のフレーム画像データに新たにPピクチャ又はBピクチャを割り当て直して第5階層動きベクトルを再検出した後、当該再検出した第5階層動きベクトルに基づいて順方向側簡易動きベクトルD15乃至D17、順方向側及び逆方向側簡易動きベクトルD23乃至D28を生成して対応するピクチャ情報と共に第1乃至第3のエンコーダ37乃至39に送出する。
【0120】
因みに、簡易動きベクトル検出器42は、シーンの変化に応じて第2又は第3のフレーム画像データのピクチャタイプを変更したときには、当該ピクチャタイプの変更に応じてピクチャ情報の内容(すなわち、暫定的に割り当てていたピクチャタイプ)を変更して第1乃至第3のエンコーダ37乃至39に送出する。
【0121】
このようにして簡易動きベクトル検出器42は、暫定的なピクチャタイプに従って第2及び第3のフレーム画像データに対して順次簡易動きベクトルの検出処理を実行するものの、当該第2及び第3のフレーム画像データに対してシーンが変化した時点のフレーム画像データであることを検出したときには、その第2及び第3のフレーム画像データをシーンチェンジに応じた第1乃至第3のフレーム画像データに変更して処理する。
【0122】
これにより簡易動きベクトル検出処理部35は、第1乃至第3のフレーム画像データに対してシーンチェンジに応じて適確に割り当てたピクチャタイプを第1乃至第3のエンコーダ37乃至39に通知し得ると共に、このように適確に割り当てたピクチャタイプに応じて生成した順方向側簡易動きベクトルD15乃至D17、順方向側及び逆方向側簡易動きベクトルD23乃至D28を当該第1乃至第3のエンコーダ37乃至39に送出し、かくして第1乃至第3のエンコーダ37乃至39に対して適確に動きベクトルを検出させて動画像データD1を圧縮符号化させ得るようになされている。
【0123】
ここで、第1乃至第3のエンコーダ37乃至39は、それぞれMPEG2方式が適用された同様な回路構成でなり、対応する第1乃至第3の解像度変換器32乃至34から与えられた変換率指定情報HS1乃至SH3に基づいて動画像データD1乃至D3に対する圧縮符号化処理の設定を解像度に合わせて変更し、これにより動画像データD1乃至D3に対して順次フレーム画像データ単位で解像度に合わせた圧縮符号化処理を適確に実行し得るようになされている。
【0124】
実際上、第1乃至第3のエンコーダ37乃至39については、図5を用いて以下に第1のエンコーダ37の回路構成についてのみ詳細に説明する。
【0125】
図5に示すように、第1のエンコーダ37は、対応する第1の解像度変換器32から与えられた1/4の解像度の動画像データD2を順次フレーム画像データ(以下、これを低解像度フレーム画像データと呼ぶ)単位で変換率指定情報HS1と共に、複数フレーム分の記録容量を有する入力用フレームメモリ50に取り込むと共に、簡易動きベクトル検出処理部35から与えられた順方向側簡易動きベクトルD15、順方向側及び逆方向側簡易動きベクトルD23及びD26、ピクチャ情報を順次動きベクトル検出器51に取り込む。
【0126】
動きベクトル検出器51は、入力用フレームメモリ50に低解像度フレーム画像データと共に順次取り込まれた変換率指定情報HS1に基づいて、当該低解像度フレーム画像データに対して1/4の解像度に応じた動きベクトルの検出処理を実行するように処理パラメータを設定する。
【0127】
また、動きベクトル検出器51は、簡易動きベクトル検出処理部35から与えられたピクチャ情報を入力用フレームメモリ50に送出して格納することにより当該入力用フレームメモリ50よりも後段の各種回路ブロックに対して低解像度フレーム画像データに割り当てられたピクチャタイプを認識させ得るようになされている。
【0128】
一方、演算器52は、入力用フレームメモリ50に低解像度フレーム画像データと共に順次取り込まれた変換率指定情報HS1に基づいて当該低解像度フレーム画像データに対して1/4の解像度に応じた圧縮符号化処理を実行するように処理パラメータを設定すると共に、その低解像度フレーム画像データの解像度(1/4)の情報を後段の各種回路ブロックに通知することによりこれら各種回路ブロックに対しても低解像度フレーム画像データに対して1/4の解像度に応じた処理を実行するように処理パラメータを設定させ得るようになされている。
【0129】
そして、第1のエンコーダ37において、入力用フレームメモリ50に順次取り込んでいる低解像度フレーム画像データに対して圧縮符号化処理を開始すると、演算器52はその入力用フレームメモリ50からIピクチャの割り当てられている符号化対象の低解像度フレーム画像データ(以下、これを特に第1の低解像度フレーム画像データと呼ぶ)については、順次1/4の解像度のマクロブロック単位のデータ(以下、これを第1の低解像度低解像度マクロブロックデータと呼ぶ)D30として読み出す。
【0130】
このとき動きベクトル検出器51は、演算器52により入力用フレームメモリ50から符号化対象の第1の低解像度フレーム画像データが順次第1の低解像度マクロブロックデータD30単位で読み出される毎に対応するピクチャ情報(すなわちIピクチャを表す)に基づいて当該符号化対象の第1の低解像度フレーム画像データのフレーム識別情報を表すと共に、第1の低解像度マクロブロックデータD30をフレーム内符号化により圧縮符号化することを表す予測モードデータD31を生成してこれを動き補償器53及び可変長符号化器54に送出する。
【0131】
これにより動き補償器53は、動きベクトル検出器51から与えられた予測モードデータD31(フレーム内符号化を表す)に基づいて、対応する第1の低解像度マクロブロックデータD30に対する動き補償処理を停止する。
【0132】
従って、演算器52は、入力用フレームメモリ50から第1の低解像度マクロブロックデータD30を読み出すと、このとき動き補償器53からは何らデータが与えられないことにより当該第1の低解像度マクロブロックデータD30をそのまま離散コサイン変換器55に送出する。
【0133】
離散コサイン変換器55は、演算器52から与えられた第1の低解像度マクロブロックデータD30を離散コサイン変換し、得られた離散コサイン変換係数K1を量子化器56に送出する。
【0134】
量子化器56は、出力段に設けられたバッファ57における符号化データの蓄積量(以下、これをデータ蓄積量と呼ぶ)DRを所定周期で検出することにより当該検出したデータ蓄積量DRに応じて順次量子化ステップSTを選定しており、離散コサイン変換器55から与えられた離散コサイン変換係数K1を対応する量子化ステップSTに基づいて量子化し、得られた量子化係数K2をその量子化ステップSTと共に可変長符号化器54及び逆量子化器58に送出する。
【0135】
因みに、量子化器56は、データ蓄積量DRが比較的多いときには量子化ステップSTを大きくすることにより圧縮率を高くし、これとは逆にデータ蓄積量DRが比較的少ないときには量子化ステップSTを小さくすることにより圧縮率を低くし、このようにしてバッファ57において符号化データのオーバーフローやアンダーフローが発生することを防止している。
【0136】
可変長符号化器54は、量子化器56から与えられた量子化係数K2をハフマン符号等により可変長符号化すると共に、当該量子化器56から与えられた量子化ステップST及び動きベクトル検出器51から与えられた予測モードデータD31も可変長符号化し、得られた符号化データD32をバッファ57に一旦蓄積することにより符号化データD32のデータ量を平滑化した符号化ビットストリームBS1として外部に出力する。
【0137】
このようにして第1のエンコーダ37においては、入力用フレームメモリ50内の第1の低解像度フレーム画像データを順次第1の低解像度マクロブロックデータD30単位でフレーム内符号化により圧縮符号化し、得られた符号化データD32を符号化ビットストリームBS1として外部に出力する。
【0138】
また、逆量子化器58は、量子化器56から与えられた量子化係数K2を同様に量子化器56から与えられた量子化ステップSTに基づいて逆量子化し、得られた離散コサイン変換係数K3を逆離散コサイン変換器59に送出する。
【0139】
逆離散コサイン変換器59は、逆量子化器58から与えられた離散コサイン変換係数K3を逆離散コサイン変換し、得られた第1の低解像度マクロブロックデータD33を加算器60に送出する。
【0140】
加算器60は、逆離散コサイン変換器59から第1の低解像度マクロブロックデータD33が与えられると、このとき動き補償器53からは何らデータが与えられていないことにより当該第1の低解像度マクロブロックデータD33をそのまま複数フレーム分の記録容量を有する参照用フレームメモリ61に送出して格納する。
【0141】
このようにして加算器60は、第1の低解像度フレーム画像データに対する圧縮符号化により逆離散コサイン変換器59から第1の低解像度マクロブロックデータD33が順次与えられる毎に当該第1の低解像度マクロブロックデータD33をそのまま参照用フレームメモリ61に送出して格納することにより、参照用フレームメモリ61内にこれら第1の低解像度マクロブロックデータD33によって動き補償処理の参照用となる第1の低解像度フレーム画像データを再構築する。
【0142】
また、演算器52は、入力用フレームメモリ50からPピクチャが割り当てられている符号化対象の低解像度フレーム画像データ(以下、これを特に第2の低解像度フレーム画像データと呼ぶ)については、順次1/4の解像度のマクロブロック単位のデータ(以下、これを第2の低解像度マクロブロックデータと呼ぶ)D35として順次読み出す。
【0143】
このとき、動きベクトル検出器51は、演算器52により入力用フレームメモリ50から符号化対象の第2の低解像度フレーム画像データに対する読み出しが開始されると、対応するピクチャ情報に基づいて入力用フレームメモリ50から当該符号化対象の第2の低解像度フレーム画像データに対して時間的に順方向側の任意の第1又は第2の低解像度フレーム画像データD2aを順方向予測の参照用として読み出す。
【0144】
また、動きベクトル検出器51は、演算器52により入力用フレームメモリ50から符号化対象の第2の低解像度フレーム画像データが順次第2の低解像度マクロブロックデータD35単位で読み出される毎に当該入力用フレームメモリ50から同じ第2の低解像度マクロブロックデータD35を読み出す。
【0145】
そして、動きベクトル検出器51は、図6に示すように、第2の低解像度フレーム画像データの1/4の解像度に応じた階層サーチ動きベクトル検出方式による第1階層よりも下層の第3階層において、ブロックマッチング法により参照用の第1又は第2の低解像度フレーム画像データD2aに基づく第1又は第2の低解像度フレーム画像FG3に対して対応する順方向側簡易動きベクトルD15の終点周辺に格段的に狭いサーチ範囲を設定し、当該サーチ範囲内で複数の比較用ブロックと第2の低解像度マクロブロックデータD35に基づく第2の低解像度マクロブロックMB3とを順次対応付けながら予測誤差を算出する。
【0146】
この結果、動きベクトル検出器51は、算出した予測誤差のうち最小予測誤差を算出したときに用いた比較用ブロック(以下、これを順方向近似ブロックと呼ぶ)と第2の低解像度マクロブロックMB3との動き量により1/4の解像度で順方向側簡易動きベクトルD15を補正する補正用動きベクトルD36を検出し、当該検出した補正用動きベクトルD36を順方向側簡易動きベクトルD15と加算することにより第2の低解像度マクロブロックデータD35に対する最終的な第3階層の動きベクトルD37を生成する。
【0147】
因みに、動きベクトル検出器51は、第3階層の動きベクトルD37を生成する場合、参照用の第1又は第2の低解像度フレーム画像FG3と、第2の低解像度マクロブロックMB3とに対してそれぞれ順次隣接する画素同士の画素値の平均値を算出し、当該算出した平均値をその画素同士の間に新たな画素の画素値として補間した状態でブロックマッチング法により補正用動きベクトルD36を検出している。
【0148】
これにより動きベクトル検出器51は、第1又は第2の低解像度フレーム画像FG3及び第2のマクロブロックMB3の画素を補間する分、補正用動きベクトルD36を1/2画素レベルで高精度に検出することができ、かくして第3階層の動きベクトルD37を1/2画素レベルで高精度に生成し得るようになされている。
【0149】
これに加えて、動きベクトル検出器51は、このとき第2の低解像度マクロブロックMB3内の各画素の画素値の平均値を算出した後にその算出した平均値と各画素値との差分の絶対値の総和(以下、これを分散値と呼ぶ)を算出し、当該算出した分散値を最小予測誤差と比較する。
【0150】
この結果、動きベクトル検出器51は、分散値が最小予測誤差よりも小さければ、第2の低解像度マクロブロックMB3に対して各画素の分散(画素値のばらつき)が小さいために第2の低解像度マクロブロックデータD35をそのまま圧縮符号化しても得られる符号化データのデータ量(以下、これを符号化データ量と呼ぶ)を比較的少なくし得ると判断し、第2の低解像度マクロブロックデータD35をフレーム内符号化により圧縮符号化することを表す予測モードデータD39を生成してこれを動き補償器53及び可変長符号化器54に送出する。
【0151】
また、動きベクトル検出器51は、分散値が最小予測誤差よりも大きければ、第2の低解像度マクロブロックMB3に対して各画素の分散(画素値のばらつき)が大きいために第2の低解像度マクロブロックデータD35を順方向予測符号化により圧縮符号化しなければ符号化データ量を少なくし難いと判断し、その第2の低解像度マクロブロックデータD35を順方向予測符号化により圧縮符号化することを表す予測モードデータD40を生成してこれを当該第2の低解像度マクロブロックデータD35の動きベクトルD37と共に動き補償器53及び可変長符号化器54に送出する。
【0152】
これにより動き補償器53は、動きベクトル検出器51から第2の低解像度マクロブロックデータD35に対してフレーム内符号化を表す予測モードデータD39が与えられると、当該第2の低解像度マクロブロックデータD35に対する動き補償処理を停止する。
【0153】
また、動き補償器53は、動きベクトル検出器51から第2の低解像度マクロブロックデータD35に対する動きベクトルD37と、順方向予測符号化を表す予測モードデータD40とが与えられると、動き補償処理を実行して参照用フレームメモリ61からこの時点で符号化対象の第2の低解像度フレーム画像データよりも時間的に順方向側の任意の第1又は第2の低解像度フレーム画像データを参照用として読み出す。
【0154】
そして、動き補償器53は、その第1又は第2の低解像度フレーム画像データに基づく第1又は第2の低解像度フレーム画像内から動きベクトルD37に基づいて第2の低解像度マクロブロックデータに基づく第2の低解像度マクロブロックと最も一致する演算用ブロックを抽出し、当該抽出した演算用ブロックのデータ(以下、これを演算用ブロックデータと呼ぶ)D41を演算器52及び加算器60に送出する。
【0155】
演算器52は、入力用フレームメモリ50から読み出した第2の低解像度マクロブロックデータD35に対する予測モードとしてフレーム内符号化が選択されたときには、動き補償器53から演算用ブロックデータが与えられないことにより当該第2の低解像度マクロブロックデータD35をそのまま離散コサイン変換器55に送出する。
【0156】
これにより第1のエンコーダ37においては、第2の低解像度マクロブロックデータD35に対する予測モードとしてフレーム内符号化が選択されたときには、離散コサイン変換器55、量子化器56、可変長符号化器54、バッファ57、逆量子化器58、逆離散コサイン変換器59、加算器60及び参照用フレームメモリ61をそれぞれ上述した第1の低解像度マクロブロックデータD30を圧縮符号化したときと同様に動作させ、かくして第2の低解像度マクロブロックデータD35を量子化ステップST及び予測モードデータD39と共に可変長符号化し、得られた符号化データD42をバッファ57に一旦蓄積して符号化ビットストリームBS1として外部に出力すると共に、圧縮した第2の低解像度マクロブロックデータD35を復号化して参照用フレームメモリ61に格納する。
【0157】
また、演算器52は、入力用フレームメモリ50から読み出した第2の低解像度マクロブロックデータD35に対する予測モードとして順方向予測符号化が選択されたときには、動き補償器53から与えられた演算用ブロックデータD41を当該第2の低解像度マクロブロックデータD35から減算し、得られた差分データD43を離散コサイン変換器55に送出する。
【0158】
このとき離散コサイン変換器55は、演算器52から与えられた差分データD43を離散コサイン変換し、得られた離散コサイン変換係数K4を量子化器56に送出する。
【0159】
量子化器56は、その離散コサイン変換係数K4を対応する量子化ステップSTに基づいて量子化し、得られた量子化係数K5をその量子化ステップSTと共に可変長符号化器54及び逆量子化器58に送出する。
【0160】
これにより可変長符号化器54は、その量子化係数K5をハフマン符号等により可変長符号化すると共に、対応する量子化ステップST及び予測モードデータD40(順方向予測符号化を表す)並びに動きベクトルD37も可変長符号化し、得られた符号化データD44をバッファ57に一旦蓄積することにより符号化データD44のデータ量を平滑化した符号化ビットストリームBS1として外部に出力する。
【0161】
このとき、逆量子化器58は、量子化器56から与えられた量子化係数K5を同様に量子化器56から与えられた量子化ステップSTに基づいて逆量子化し、得られた離散コサイン変換係数K6を逆離散コサイン変換器59に送出する。
【0162】
また、逆離散コサイン変換器59は、逆量子化器58から与えられた離散コサイン変換係数K6を逆離散コサイン変換し、得られた差分データD45を加算器60に送出する。
【0163】
加算器60は、逆離散コサイン変換器59から与えられた差分データD45をこのとき動き補償器53から与えられた演算用ブロックデータD41と加算し、得られた第2の低解像度マクロブロックデータD47を参照用フレームメモリ61に送出して格納する。
【0164】
このようにして第1のエンコーダ37においては、第2の低解像度フレーム画像データを順次第2の低解像度マクロブロックデータD35単位でフレーム内符号化及び順方向予測符号化により圧縮符号化したときにも参照用フレームメモリ61内に、復号化して得られた第2の低解像度マクロブロックデータD47によって動き補償処理の参照用となる第2の低解像度フレーム画像データを再構築する。
【0165】
これに加えて、演算器52は、入力用フレームメモリ50からBピクチャが割り当てられている符号化対象の低解像度フレーム画像データ(以下、これを特に第3の低解像度フレーム画像データと呼ぶ)については、順次1/4の解像度のマクロブロック単位のデータ(以下、これを第3の低解像度マクロブロックデータと呼ぶ)D50として順次読み出す。
【0166】
このとき、動きベクトル検出器51は、演算器52により入力用フレームメモリ50から符号化対象の第3の低解像度フレーム画像データに対する読み出しが開始されると、対応するピクチャ情報に基づいて入力用フレームメモリ50から当該符号化対象の第3の低解像度フレーム画像データよりも順方向側の任意の第1又は第2の低解像度フレーム画像データD2bを順方向予測の参照用として読み出すと共に、その符号化対象の第3の低解像度フレーム画像データよりも逆方向側の任意の第1又は第2の低解像度フレーム画像データD2cを逆方向予測の参照用として読み出す。
【0167】
また、動きベクトル検出器51は、演算器52により入力用フレームメモリ50から符号化対象の第3の低解像度フレーム画像データが順次第3の低解像度マクロブロックデータD50単位で読み出される毎に当該入力用フレームメモリ50から同じ第3の低解像度マクロブロックデータD50を読み出す。
【0168】
この場合、動きベクトル検出器51は、まず図6について上述した第2の低解像度マクロブロックデータD35のときと同様に第3の低解像度フレーム画像データの1/4の解像度に応じた階層サーチ動きベクトル検出方式による第3階層において、第3の低解像度マクロブロックデータD50に対する順方向側の動きベクトル検出処理を実行する。
【0169】
すなわち、動きベクトル検出器51は、その第3階層においてブロックマッチング法により順方向予測の参照用の第1又は第2の低解像度フレーム画像データD2bに基づく第1又は第2の低解像度フレーム画像及び第3の低解像度マクロブロックデータD50に基づく第3の低解像度マクロブロック並びに対応する順方向側簡易動きベクトルD23を用いて当該第3の低解像度マクロブロックとの間で最小予測誤差(以下、これを順方向側最小予測誤差と呼ぶ)となる近似ブロック(以下、これを順方向側近似ブロックと呼ぶ)を検出するようにして1/4の解像度で順方向側簡易動きベクトルD23を補正する補正用動きベクトルを1/2画素レベルで検出する。
【0170】
そして、動きベクトル検出器51は、その補正用動きベクトルを順方向側簡易動きベクトルD23と加算することにより第3の低解像度マクロブロックデータD50に対する第3階層の順方向側の動きベクトルD51を1/2画素レベルで生成する。
【0171】
次いで、動きベクトル検出器51は、図6について上述した第2の低解像度マクロブロックデータD35のときと同様に第3の低解像度フレーム画像データの1/4の解像度に応じた階層サーチ動きベクトル検出方式による第3階層において、第3の低解像度マクロブロックデータD50に対する逆方向側の動きベクトル検出処理を実行する。
【0172】
このとき、動きベクトル検出器51は、その第3階層においてブロックマッチング法により逆方向予測の参照用の第1又は第2の低解像度フレーム画像データD2cに基づく第1又は第2の低解像度フレーム画像及び第3の低解像度マクロブロック並びに対応する逆方向側簡易動きベクトルD26を用いて当該第3の低解像度マクロブロックとの間で最小予測誤差(以下、これを逆方向側最小予測誤差と呼ぶ)となる近似ブロック(以下、これを逆方向側近似ブロックと呼ぶ)を検出するようにして1/4の解像度で逆方向側簡易動きベクトルD26を補正する補正用動きベクトルを1/2画素レベルで検出する。
【0173】
そして、動きベクトル検出器51は、その補正用動きベクトルを逆方向側簡易動きベクトルD26と加算することにより第3の低解像度マクロブロックデータD50に対する第3階層の逆方向側の動きベクトルD52を1/2画素レベルで生成する。
【0174】
これに加えて動きベクトル検出器51は、順方向側近似ブロックと逆方向側近似ブロックとの対応する画素同士の画素値を平均化して平均近似ブロックを生成し、当該生成した平均近似ブロックと第3の低解像度マクロブロックとの予測誤差(以下、これを双方向予測誤差と呼ぶ)を算出する。
【0175】
これにより動きベクトル検出器51は、順方向側最小予測誤差、逆方向側最小予測誤差及び双方向予測誤差のうち最も値の小さい1つの順方向側最小予測誤差、逆方向側最小予測誤差又は双方向予測誤差を選定すると共に、第3の低解像度マクロブロックに対しても上述した第2の低解像度マクロブロックのときと同様にして分散値を算出し、当該算出した分散値をその選定した1つの順方向側最小予測誤差、逆方向側最小予測誤差又は双方向予測誤差(以下、これを特に選定予測誤差と呼ぶ)と比較する。
【0176】
この結果、動きベクトル検出器51は、分散値が選定予測誤差よりも小さければ、第3の低解像度マクロブロックに対して各画素の分散(ばらつき)が小さいために第3の低解像度マクロブロックデータD50をそのまま圧縮符号化しても符号化データ量を比較的少なくし得ると判断し、その第3の低解像度マクロブロックデータD50をフレーム内符号化により圧縮符号化することを表す予測モードデータD53を生成してこれを動き補償器53及び可変長符号化器54に送出する。
【0177】
また、動きベクトル検出器51は、分散値が選定予測誤差よりも大きければ、第3の低解像度マクロブロックに対して各画素の分散(ばらつき)が大きいために当該第3の低解像度マクロブロックデータD50をフレーム内符号化以外の予測モードで圧縮符号化しなければ符号化データ量を少なくし難いと判断する。
【0178】
このとき、動きベクトル検出器51は、選定予測誤差が順方向側最小予測誤差であれば、第3の低解像度マクロブロックデータD50を順方向予測符号化により圧縮符号化することを表す予測モードデータD54を生成してこれを当該第3の低解像度マクロブロックデータD50の順方向側の動きベクトルD51と共に動き補償器53及び可変長符号化器54に送出する。
【0179】
また、動きベクトル検出器51は、選定予測誤差が逆方向最小予測誤差であれば、第3の低解像度マクロブロックデータD50を逆方向予測符号化により圧縮符号化することを表す予測モードデータD55を生成してこれを当該第3の低解像度マクロブロックデータD50の逆方向側の動きベクトルD52と共に動き補償器53及び可変長符号化器54に送出する。
【0180】
さらに、動きベクトル検出器51は、選定予測誤差が双方向予測誤差であれば、第3の低解像度マクロブロックデータD50を双方向予測符号化により圧縮符号化することを表す予測モードデータD56を生成してこれを当該第3の低解像度マクロブロックデータD50の順方向側及び逆方向側の双方の動きベクトルD51及びD52と共に動き補償器53及び可変長符号化器54に送出する。
【0181】
動き補償器53は、動きベクトル検出器51から第3の低解像度マクロブロックデータD50に対してフレーム内符号化を表す予測モードデータD53が与えられると、当該第3の低解像度マクロブロックデータD50に対する動き補償処理を停止する。
【0182】
また、動き補償器53は、動きベクトル検出器51から第3の低解像度マクロブロックデータD50に対する順方向側の動きベクトルD51と順方向予測符号化を表す予測モードデータD54とが与えられると、動き補償処理を実行して参照用フレームメモリ61からこの時点で符号化対象の第3の低解像度フレーム画像データよりも順方向側の任意の第1又は第2の低解像度フレーム画像データを参照用として読み出す。
【0183】
そして、動き補償器53は、その順方向側で参照用の第1又は第2の低解像度フレーム画像データに基づく第1又は第2の低解像度フレーム画像内から順方向側の動きベクトルD51に基づいて第3の低解像度マクロブロックデータD50に基づく第3の低解像度マクロブロックと最も一致する演算用ブロックを抽出し、これを演算用ブロックデータD60として演算器52及び加算器60に送出する。
【0184】
さらに、動き補償器53は、動きベクトル検出器51から第3の低解像度マクロブロックデータD50に対する逆方向側の動きベクトルD52と逆方向予測符号化を表す予測モードデータD55とが与えられると、このときも動き補償処理を実行して参照用フレームメモリ61からこの時点で符号化対象の第3の低解像度フレーム画像データよりも逆方向側の任意の第1又は第2の低解像度フレーム画像データを参照用として読み出す。
【0185】
そして、動き補償器53は、その読み出した第1又は第2の低解像度フレーム画像データに基づく第1又は第2の低解像度フレーム画像内から逆方向側の動きベクトルD52に基づいて第3の低解像度マクロブロックと最も一致する演算用ブロックを抽出し、これを演算用ブロックデータD61として演算器52及び加算器60に送出する。
【0186】
これに加えて、動き補償器53は、動きベクトル検出器51から第3の低解像度マクロブロックデータD50に対する順方向側及び逆方向側の双方の動きベクトルD51及びD52と双方向予測符号化を表す予測モードデータD56とが与えられたときにも動き補償処理を実行し、参照用フレームメモリ61からこの時点で符号化対象の第3の低解像度フレーム画像データよりも順方向側の任意の第1又は第2の低解像度フレーム画像データを参照用として読み出すと共に逆方向側の任意の第1又は第2の低解像度フレーム画像データも参照用として読み出す。
【0187】
そして、動き補償器53は、順方向側の第1又は第2の低解像度フレーム画像データに基づく第1又は第2の低解像度フレーム画像内から順方向側の動きベクトルD51に基づいて第3の低解像度マクロブロックと最も一致する演算用ブロックを抽出すると共に、逆方向側の第1又は第2の低解像度フレーム画像データに基づく第1又は第3の低解像度フレーム画像内から逆方向側の動きベクトルD52に基づいて第3の低解像度マクロブロックと最も一致する演算用ブロックを抽出し、これら抽出した2つの演算用ブロックの対応する画素同士の画素値を平均化して平均演算用ブロックを生成することにより当該生成した平均演算用ブロックのデータ(以下、これを平均演算用ブロックデータと呼ぶ)D62を演算器52及び加算器60に送出する。
【0188】
演算器52は、入力用フレームメモリ50から読み出した第3の低解像度マクロブロックデータD50に対する予測モードとしてフレーム内符号化が選択されたときには、動き補償器53からは何らデータが与えられないことにより当該第3の低解像度マクロブロックデータD50をそのまま離散コサイン変換器55に送出する。
【0189】
これにより第1のエンコーダ37においては、第3の低解像度マクロブロックデータD50に対する予測モードとしてフレーム内符号化が選択されたときには、離散コサイン変換器55、量子化器56、可変長符号化器54、バッファ57、逆量子化器58、逆離散コサイン変換器59、加算器60及び参照用フレームメモリ61をそれぞれ上述した第1の低解像度マクロブロックデータD30を圧縮符号化したときと同様に動作させ、かくして第3の低解像度マクロブロックデータD50を量子化ステップST及び予測モードデータD53と共に可変長符号化し、得られた符号化データD65をバッファ57に一旦蓄積することにより当該符号化データD65のデータ量を平滑化した符号化ビットストリームBS1として外部に出力すると共に、圧縮した第3の低解像度マクロブロックデータD50を復号化して参照用フレームメモリ61に格納する。
【0190】
また、演算器52は、入力用フレームメモリ50から読み出した第3の低解像度マクロブロックデータD50に対する予測モードとして順方向予測符号化、逆方向予測符号化及び双方向予測符号化が選択されたときには、動き補償器53から与えられた演算用ブロックデータD60、D61又は平均演算用ブロックデータD62を当該第3の低解像度マクロブロックデータD50から減算し、得られた差分データD66を離散コサイン変換器55に送出する。
【0191】
この場合、離散コサイン変換器55は、演算器52から与えられた差分データD66を離散コサイン変換し、得られた離散コサイン変換係数K7を量子化器56に送出する。
【0192】
量子化器56は、その離散コサイン変換係数K7を対応する量子化ステップSTに基づいて量子化し、得られた量子化係数K8をその量子化ステップSTと共に可変長符号化器54及び逆量子化器58に送出する。
【0193】
そして、可変長符号化器54は、このとき量子化係数K8の元になる第3の低解像度マクロブロックデータD50に対する予測モードとして順方向予測符号化が選定されたときには、当該量子化係数K8をハフマン符号等により可変長符号化すると共に、対応する量子化ステップST及び予測モードデータD54(順方向予測符号化を表す)並びに順方向側の動きベクトルD51も可変長符号化し、得られた符号化データD67をバッファ57に一旦蓄積することにより当該符号化データD67のデータ量を平滑化した符号化ビットストリームBS1として外部に出力する。
【0194】
また、可変長符号化器54は、量子化係数K8の元になる第3の低解像度マクロブロックデータD50に対する予測モードとして逆方向予測符号化が選定されたときには、当該量子化係数K8をハフマン符号等により可変長符号化すると共に、対応する量子化ステップST及び予測モードデータD55(逆方向予測符号化を表す)並びに逆方向側の動きベクトルD52も可変長符号化し、得られた符号化データD68をバッファ57に一旦蓄積することにより当該符号化データD68のデータ量を平滑化した符号化ビットストリームBS1として外部に出力する。
【0195】
さらに、可変長符号化器54は、量子化係数K8の元になる第3の低解像度マクロブロックデータD50に対する予測モードとして双方向予測符号化が選定されたときには、当該量子化係数K8をハフマン符号等により可変長符号化すると共に、対応する量子化ステップST及び予測モードデータD56(双方向予測符号化を表す)並びに順方向側及び逆方向側の双方の動きベクトルD51及びD52も可変長符号化し、得られた符号化データD69をバッファ57に一旦蓄積することにより当該符号化データD69のデータ量を平滑化した符号化ビットストリームBS1として外部に出力する。
【0196】
このとき、逆量子化器58は、量子化器56から与えられた量子化係数K8を同様に量子化器56から与えられた量子化ステップSTに基づいて逆量子化し、得られた離散コサイン変換係数K9を逆離散コサイン変換器59に送出する。
【0197】
また、逆離散コサイン変換器59は、逆量子化器58から与えられた離散コサイン変換係数K9を逆離散コサイン変換し、得られた差分データD70を加算器60に送出する。
【0198】
そして加算器60は、逆離散コサイン変換器59から与えられた差分データD70をこのとき動き補償器53から与えられた演算用ブロックデータD60、D61又は平均演算用ブロックデータD62と加算し、得られた第3の低解像度マクロブロックデータD71を参照用フレームメモリ61に送出して格納する。
【0199】
このようにして第1のエンコーダ37においては、第3の低解像度フレーム画像データを順次第3の低解像度マクロブロックデータD50単位でフレーム内符号化、順方向予測符号化、逆方向予測符号化及び両方向予測符号化により圧縮符号化したときにも、参照用フレームメモリ61内に、復号化して得られた第3の低解像度マクロブロックデータD71によって第3の低解像度フレーム画像データを再構築する。
【0200】
かくして第1のエンコーダ37においては、原画像レベルから1/4に解像度を下げた動画像データD2を順次低解像度フレーム画像データ単位で圧縮符号化し、得られた符号化データD32、D42、D44、D65、D67、D68、D69を符号化ビットストリームBS1として外部に出力し得るようになされている。
【0201】
また、第2のエンコーダ38(図1)は、図5について上述した第1のエンコーダ37と基本的には同様に動作し、対応する第2の解像度変換器33から順次与えられる変換率指定情報HS2に従って各種回路ブロックがそれぞれ1/2の解像度の動画像データD3を順次低解像度フレーム画像データ単位で圧縮符号化し、得られた符号化データをデータ量を平滑化した符号化ビットストリームBS2として外部に出力する。
【0202】
さらに、第3のエンコーダ39(図1)も図5について上述した第1のエンコーダ37と基本的には同様に動作し、対応する第3の解像度変換器34から順次与えられる変換率指定情報HS3に従って各種回路ブロックがそれぞれ1/1の解像度の動画像データD1を順次フレーム画像データ単位で圧縮符号化し、得られた符号化データをデータ量を平滑化した符号化ビットストリームBS3として外部に出力する。
【0203】
因みに第2のエンコーダ38は、1/2の解像度の動画像データD3に対する圧縮符号化処理時、図7に示すように、内部の動きベクトル検出器(図示せず)により図6について上述した場合とほぼ同様に動画像データD3の1/2の解像度に応じた階層サーチ動きベクトル検出方式による第1階層よりも下層の第2階層において動きベクトル検出処理を実行する。
【0204】
すなわち、第2のエンコーダ38は、動きベクトル検出器により低解像度フレーム画像データから分割した動きベクトル検出対象の1/2の解像度の低解像度マクロブロックテータに基づく低解像度マクロブロックMB5に対して順次隣接する画素同士の画素値の平均値を算出し、当該算出した平均値をその画素同士の間に新たな画素の画素値として補間する。
【0205】
また、第2のエンコーダ38は、動きベクトル検出器により動きベクトル検出対象の低解像度マクロブロックデータの参照用となる低解像度フレーム画像データに基づく低解像度フレーム画像FG5に対しても順次隣接する画素同士の画素値の平均値を算出し、当該算出した平均値をその画素同士の間に新たな画素の画素値として補間する。
【0206】
そして、第2のエンコーダ38は、動きベクトル検出器により画素を補間した参照用の低解像度フレーム画像FG5に対して対応する順方向側簡易動きベクトルD16、D24、逆方向側簡易動きベクトルD27の終点周辺に格段的に狭いサーチ範囲を設定し、当該サーチ範囲内で複数の比較用ブロックと、画素を補間した低解像度マクロブロックMB5とを順次対応付けながら予測誤差を算出する。
【0207】
この結果、第2のエンコーダ38は、動きベクトル検出器により最小予測誤差を算出したときに用いた比較用ブロックと低解像度マクロブロックMB5との動き量により1/2の解像度で順方向側簡易動きベクトルD16、D24、逆方向側簡易動きベクトルD27を補正する補正用動きベクトルD75を検出し、当該検出した補正用動きベクトルD75を順方向側簡易動きベクトルD16、D24、逆方向側簡易動きベクトルD27と加算することにより低解像度マクロブロックデータに対する最終的な第2階層の動きベクトルD76を1/2画素レベルで生成する。
【0208】
これにより第2のエンコーダ38は、動画像データD3に対して1/2の解像度に合わせた動きベクトルD76を高精度に検出し、当該検出した動きベクトルD76を用いて動画像データD3を順次低解像度フレーム画像データ単位で動き補償予測符号化により圧縮符号化することができる。
【0209】
また、第3のエンコーダ39は、1/1の解像度の動画像データD1に対する圧縮符号化処理時、図8に示すように、内部の動きベクトル検出器(図示せず)により図6について上述した場合とほぼ同様に動画像データD1の1/1の解像度に応じた階層サーチ動きベクトル検出方式による原画像レベルの第1階層において動きベクトル検出処理を実行する。
【0210】
すなわち、第3のエンコーダ39は、動きベクトル検出器によりフレーム画像データから分割した動きベクトル検出対象の1/1の解像度のマクロブロックテータに基づくマクロブロックMB6に対して順次隣接する画素同士の画素値の平均値を算出し、当該算出した平均値をその画素同士の間に新たな画素の画素値として補間する。
【0211】
また第3のエンコーダ39は、動きベクトル検出器により動きベクトル検出対象のマクロブロックデータの参照用となるフレーム画像データに基づくフレーム画像FG6に対しても順次隣接する画素同士の画素値の平均値を算出し、当該算出した平均値をその画素同士の間に新たな画素の画素値として補間する。
【0212】
そして、第3のエンコーダ39は、動きベクトル検出器により画素を補間した参照用のフレーム画像FG6に対して対応する順方向側簡易動きベクトルD17、D25、逆方向側簡易動きベクトルD28の終点周辺に格段的に狭いサーチ範囲を設定し、当該サーチ範囲内で複数の比較用ブロックと、画素を補間したマクロブロックMB6とを順次対応付けながら予測誤差を算出する。
【0213】
この結果、第3のエンコーダ39は、動きベクトル検出器により最小予測誤差を算出したときに用いた比較用ブロックとマクロブロックMB6との動き量により1/1の解像度で順方向側簡易動きベクトルD17、D25、逆方向側簡易動きベクトルD28を補正する補正用動きベクトルD77を検出し、当該検出した補正用動きベクトルD77を順方向側簡易動きベクトルD17、D25、逆方向側簡易動きベクトルD28と加算することによりマクロブロックデータに対する最終的な第1階層(すなわち原画像レベル)の動きベクトルD78を1/2画素レベルで生成する。
【0214】
これにより第3のエンコーダ39は、動画像データD1に対して1/1の解像度に合わせた動きベクトルD78を高精度に検出し、当該検出した動きベクトルD78を用いて動画像データD1を順次フレーム画像データ単位で動き補償予測符号化により圧縮符号化することができる。
【0215】
このようにして動画像符号化装置30においては、図9に示すように、第1乃至第3のエンコーダ37乃至39において、簡易動きベクトル検出処理部35によって1/16の解像度の動画像データを用いて検出した第5階層動きベクトルを互いに共有化して用いてそれぞれ解像度の異なる動画像データD1乃至D3の解像度に合わせた動きベクトルD37、D51、D52、D76、D78を検出し、当該検出した動きベクトルD37、D51、D52、D76、D78をその動画像データD1乃至D3の圧縮符号化処理に用いるようになされている。
【0216】
ここで、動画像符号化装置30の解像度変換処理部31と簡易動きベクトル検出処理部35と圧縮符号化処理部36とによる配信対象の動画像データD1の圧縮符号化処理手順についてまとめてみると、図10(A)に示すように、まず解像度変換処理部31はルーチンRT1の開始ステップから入ってステップSP1に移る。
【0217】
ステップSP1において解像度変換処理部31は、配信対象の動画像データD1を構成するフレーム画像データに対してそれぞれ変換率の異なる解像度の変換処理を施してステップSP2に移る。
【0218】
ステップSP2において解像度変換処理部31は、動画像データD1の全てのフレーム画像データに対してそれぞれ変換率の異なる解像度の変換処理を施したか否かを判断する。
【0219】
このステップSP2において否定結果を得ることは、外部から未だ配信対象の動画像データD1が供給されていることを意味し、このとき解像度変換処理部31はステップSP1に戻り、この後ステップSP2において肯定結果を得るまでの間はステップSP1−SP2の処理を順次繰り返すことにより配信対象の動画像データD1のフレーム画像データに順次、それぞれ変換率の異なる解像度の変換処理を施す。
【0220】
このとき、図10(B)に示すように、簡易動きベクトル検出処理部35は、ルーチンRT2の開始ステップから入ってステップSP11に移る。
【0221】
ステップSP11において簡易動きベクトル検出部35は、外部から供給される動画像データD1を順次フレーム画像データ単位で取り込んで当該フレーム画像データにピクチャタイプを暫定的に割り当てると共に、当該フレーム画像データの解像度を1/16の解像度に変換し、階層サーチ動きベクトル検出方式による第5階層においてその暫定的なピクチャタイプに従って動きベクトル検出対象のフレーム画像データに対する1フレーム分の階層マクロブロックデータの第5階層動きベクトルを検出してステップSP12に移る。
【0222】
ステップSP12において簡易動きベクトル検出処理部35は、動きベクトル検出対象のフレーム画像データに対する1フレーム分の第5階層動きベクトルの検出に伴って算出した最小予測誤差に基づいて当該動きベクトル検出対象のフレーム画像データが動画像でシーンが変更された時点のフレーム画像データであるか否かを判断する。
【0223】
このステップSP12において肯定結果を得ることは、動きベクトル検出対象のフレーム画像データとすでに処理した順方向側のフレーム画像データとの相関が比較的小さく、当該動きベクトル検出対象のフレーム画像データが動画像でシーンが変更された時点のフレーム画像データであることを意味し、このとき簡易動きベクトル検出処理部35はステップSP13に移って当該動きベクトル検出対象のフレーム画像データにシーンチェンジに応じた新たなピクチャタイプを割り当て直し、その新たなピクチャタイプによっては第5階層動きベクトルを再検出してステップSP14に移る。
【0224】
またステップSP12において否定結果を得ることは、動きベクトル検出対象のフレーム画像データとすでに処理した順方向側のフレーム画像データとの相関が比較的大きく、当該動きベクトル検出対象のフレーム画像データが動画像で1つのシーンを構成するフレーム画像データのうちの1つであるために暫定的なピクチャタイプを圧縮符号化用に確定したことを意味し、このとき簡易動きベクトル検出処理部35はステップSP14に移る。
【0225】
ステップSP14において簡易動きベクトル検出処理部35は、動きベクトル検出対象のフレーム画像データに対して検出した第5階層動きベクトルに基づいて順方向側簡易動きベクトルD15乃至D17、順方向側及び逆方向側簡易動きベクトルD23乃至D28を生成し、対応するピクチャ情報と共に第1乃至第3のエンコーダ37乃至39に送出した後、ステップSP15に移る。
【0226】
ステップSP15において簡易動きベクトル検出処理部35は、動画像データD1に含まれる全ての動きベクトル検出対象のフレーム画像データに対して簡易動きベクトルを生成したか否かを判断する。
【0227】
このステップSP15において否定結果を得ることは、外部から未だ配信対象の動画像データD1が供給されていることを意味し、このとき簡易動きベクトル検出処理部35はステップSP11に戻り、この後ステップSP15において肯定結果を得るまでの間はステップSP11−SP12―SP13−SP14−SP15の処理を順次繰り返すことによりシーンチェンジに応じてピクチャタイプを確定しながら順次動きベクトル検出対象のフレーム画像データに対する第5階層動きベクトルを検出すると共に、その第5階層動きベクトルに基づいて順方向側簡易動きベクトルD15乃至D17、順方向側及び逆方向側簡易動きベクトルD23乃至D28を生成して対応するピクチャ情報と共に第1乃至第3のエンコーダ37乃至39に送出する。
【0228】
このようにして解像度変換処理部31及び簡易動きベクトル検出処理部35が処理を開始すると、図10(C)に示すように、圧縮符号化処理部36は、ルーチンRT3の開始ステップから入ってステップSP21に移る。
【0229】
ステップSP21において圧縮符号化処理部36は、解像度変換処理部31から与えられたそれぞれ解像度の異なる動画像データD1乃至D3を順次低解像度フレーム画像データ単位及びフレーム画像データ単位で取り込むと共に、簡易動きベクトル検出処理部35から与えられる順方向側簡易動きベクトルD15乃至D17、順方向側及び逆方向側簡易動きベクトルD23乃至D28、ピクチャ情報を取り込み、当該順方向側簡易動きベクトルD15乃至D17、順方向側及び逆方向側簡易動きベクトルD23乃至D28を用いて動きベクトル検出対象の低解像度フレーム画像データ及びフレーム画像データに対する解像度に合わせた動きベクトルD37、D51、D52、D76、D78を検出してステップSP22に移る。
【0230】
ステップSP22において圧縮符号化処理部36は、Iピクチャの割り当てられた第1の低解像度フレーム画像データ及び第1のフレーム画像データについてはフレーム内予測符号化により圧縮符号化し、得られた符号化データD32をバッファ57に蓄積すると共に、Pピクチャ及びBピクチャの割り当てられた第2及び第3の低解像度フレーム画像データ並びに第2及び第3のフレーム画像データについては動きベクトルD37、D51、D52、D76、D78を用いた動き補償予測符号化により圧縮符号化し、得られた符号化データD42、D44、D65、D67、D68、D69をバッファ57に蓄積してステップSP23に移る。
【0231】
ステップSP23において圧縮符号化処理部36は、バッファ57に一旦蓄積した符号化データD32、D42、D44、D65、D67、D68、D69のデータ量を平滑化することにより当該符号化データD32、D42、D44、D65、D67、D68、D69を符号化ビットストリームBS1乃至BS3として外部に出力してステップSP24に移る。
【0232】
ステップSP24において圧縮符号化処理部36は、符号化対象の低解像度フレーム画像データ及びフレーム画像データを全て圧縮符号化したか否かを判断する。
【0233】
このステップSP24において否定結果を得ることは、解像度変換処理部31から未だ解像度の異なる動画像データD1乃至D3が供給されていることを意味し、このとき圧縮符号化処理部36は、ステップSP21に戻り、この後ステップSP24において肯定結果を得るまでの間はステップSP21−SP22―SP23−SP24の処理を順次繰り返すことにより解像度の異なる動画像データD1乃至D3を順次低解像度フレーム画像データ単位及びフレーム画像データ単位で圧縮符号化する。
【0234】
そしてステップSP2において肯定結果を得ることは、外部からの動画像データD1の供給が停止して当該動画像データD1の全てのフレーム画像データに対してそれぞれ異なる変換率で解像度の変換処理を施したことを意味し、このとき解像度変換処理部31はステップSP3に移って当該解像度変換処理部31の処理手順を終了する。
【0235】
また、ステップSP15において肯定結果を得ることは、外部からの動画像データD1の供給が停止して全てのフレーム画像データに対するピクチャタイプを確定すると共に、これらフレーム画像データのうち全ての動きベクトル検出対象のフレーム画像データに対して順方向側簡易動きベクトルD15乃至D17、順方向側及び逆方向側簡易動きベクトルD23乃至D28を生成したことを意味し、このとき簡易動きベクトル検出処理部35はステップSP16に移って当該簡易動きベクトル検出処理部35の処理手順を終了する。
【0236】
さらに、ステップSP24において肯定結果を得ることは、解像度変換処理部31からのそれぞれ解像度の異なる動画像データD1乃至D3の供給が停止して全ての符号化対象の低解像度フレーム画像データ及びフレーム画像データを圧縮符号化したことを意味し、このとき圧縮符号化処理部36はステップSP25に移って当該圧縮符号化処理部36の処理手順を終了し、かくして動画像符号化装置30における配信対象の動画像データD1に対する圧縮符号化処理手順を全て終了する。
【0237】
以上の構成において、この動画像符号化装置30では、解像度変換処理部31により配信対象の1つの動画像データD1から得られる複数の動画像データD1乃至D3の解像度のみがそれぞれ異なることを利用し、動画像データD1乃至D3に対する動きベクトルの検出方式として階層サーチ動きベクトル検出方式を適用してこれら複数の動画像データD1乃至D3のそれぞれ異なる1/1、1/2、1/4、1/8の解像度を階層サーチ動きベクトル検出方式による動きベクトル検出用の複数の第1乃至第4階層に対応させる。
【0238】
また、この動画像符号化装置30では、簡易動きベクトル検出器42により配信対象の動画像データD1の解像度を、複数の動画像データD1乃至D3のそれぞれ異なる1/1、1/2、1/4、1/8の解像度よりもさらに低く、かつ第1乃至第4階層よりも下層の第5階層に対応する1/16の解像度に変換し、当該1/16の解像度に変換した動画像データを用いて階層サーチ動きベクトル検出方式による第5階層において第5階層動きベクトルを検出する。
【0239】
そして、この動画像符号化装置30では、簡易動きベクトル検出器42によって検出した第5階層動きベクトルを第1乃至第3のエンコーダ37乃至39で共有化して用いてそれぞれ階層サーチ動きベクトル検出方式により第1乃至第4階層において動画像データD1乃至D3の解像度に合わせた動きベクトルD37、D51、D52、D76、D78を検出し、当該検出した動きベクトルD37、D51、D52、D76、D78を用いてそれぞれ対応する解像度の動画像データD1乃至D3を動き補償予測符号化により圧縮符号化するようにした。
【0240】
従って、この動画像符号化装置30では、それぞれ解像度の異なる動画像データD1乃至D3の圧縮符号化に用いる動きベクトルの検出方式として、階層サーチ動きベクトル検出方式を適用し、解像度の異なる動画像データD1乃至D3に対してそれぞれ2階層分の処理で解像度に合わせた動きベクトルを検出するため、これら動画像データD1乃至D3に対してそれぞれ直接1階層で動きベクトルを検出する場合よりも動きベクトル検出時の演算量を低減させている。
【0241】
すなわち、この階層サーチ動きベクトル検出方式によれば、所望の階層よりも下層の階層においては、その階層に応じて解像度を下げた(すなわちデータ量を減らした)動画像データを用いて当該階層の動きベクトルを検出するため、参照用のフレーム画像に対するサーチ範囲を原画像レベルでの検出に比べて小さくすることができ、その分予測誤差の演算量を低減させ得ると共に、所望の階層においても下層の階層で検出した動きベクトルを当該所望の階層に対応する解像度に応じて変倍し、得られる簡易動きベクトルの終点部分のみを補正するようにして最終的な動きベクトルを検出するため同様に予測誤差の演算量を大幅に低減させることができる。
【0242】
そして、この動画像符号化装置30では、動画像データD1乃至D3のそれぞれ異なる解像度に対応させた階層よりも下層の階層で第5階層動きベクトルを検出し、これら解像度の異なる動画像データD1乃至D3に対してその第5階層動きベクトルを共有化して用いてそれぞれ異なる解像度に合わせた動きベクトルD37、D51、D52、D76、D78を検出するため、解像度の異なる動画像データD1乃至D3に対して動きベクトルD37、D51、D52、D76、D78を検出する際の検出回数を減少させることができ、かくして動きベクトル検出時の演算量を低減させて圧縮符号化処理における処理負荷を低減させることができる。
【0243】
また、通常、動画像データD1乃至D3を圧縮符号化する際にはそれぞれシーンチェンジの有無を検出してその検出結果に応じてフレーム画像データに割り当てるピクチャタイプを特定する必要があるものの、この動画像符号化装置30では、配信対象の動画像データD1を取り込む簡易動きベクトル検出処理部35においてシーンチェンジの有無を検出し、その検出結果に応じてフレーム画像データに割り当てるピクチャタイプを確定して当該フレーム画像データに対して確定したピクチャタイプの情報を第1乃至第3のエンコーダ37乃至39で共有化して使用するため、シーンチェンジ検出時の演算量も大幅に低減させることができ、圧縮符号化処理における処理負荷をさらに低減させることができる。
【0244】
従って、この動画像符号化装置30では、1つの動画像データD1から得られる複数の動画像データD1乃至D3の解像度のみがそれぞれ異なることを利用して当該動画像データD1乃至D3に対する圧縮符号化処理に動きベクトルやシーンチェンジの有無の情報からなる圧縮符号化パラメータを共有化して用いるため、当該動画像データD1乃至D3の圧縮符号化処理における処理負荷を格段的に低減させることができる。
【0245】
因みに、この動画像符号化装置30では、配信対象の1つの動画像データD1から得られる解像度の異なる動画像データD1乃至D3よりもさらに解像度の低い(すなわちデータ量の少ない)1/16の解像度の動画像データを用いて第5階層動きベクトル及びシーンチェンジの有無を検出するため、その1/16の解像度の動画像データを用いることでも第5階層動きベクトル及びシーンチェンジの有無の検出における演算量を低減させることができる。
【0246】
以上の構成によれば、簡易動きベクトル検出器42において配信対象の1つの動画像データD1から得られる複数の動画像データD1乃至D3のそれぞれ異なる解像度よりも低い解像度に変換した配信対象の動画像データを用いて第5階層動きベクトルを検出し、第1乃至第3のエンコーダ37乃至39において第5階層動きベクトルを共有化して用いてこれら解像度の異なる動画像データD1乃至D3に対して当該解像度に合わせた動きベクトルD37、D51、D52、D76、D78を検出し、動画像データD1乃至D3をその検出した動きベクトルD37、D51、D52、D76、D78を用いて動き補償予測符号化により圧縮符号化するようにしたことにより、これら解像度の異なる動画像データD1乃至D3に対して圧縮符号化処理の処理負荷を低減させることができ、かくして1つの動画像データから得られる解像度の異なる複数の動画像データに対して圧縮符号化処理を高速化し得る動画像符号化装置を実現することができる。
【0247】
これに加えて、簡易動きベクトル検出処理部35において、配信対象の1つの動画像データD1から得られた複数の動画像データD1乃至D3のそれぞれ異なる解像度よりも低い解像度に変換した配信対象の動画像データD1を用いてシーンチェンジの有無を検出し、第1乃至第3のエンコーダ37乃至38において、そのシーンチェンジの有無の検出結果を共有化して用いて解像度の異なる複数の動画像データD1乃至D3を圧縮符号化処理するようにしたことにより、これら解像度の異なる複数の動画像データD1乃至D3に対する圧縮符号化処理の処理負荷をさらに低減させることができ、かくして1つの動画像データから得られるそれぞれ解像度の異なる複数の動画像データに対する圧縮符号化処理をさらに高速化することができる。
【0248】
なお、上述した第1の実施の形態においては、図3(A)及び(B)について上述したように配信対象の動画像データD1のフレーム画像データにIピクチャ、Pピクチャ及びBピクチャを割り当てるようにした場合について述べたが、本発明はこれに限らず、配信対象の動画像データD1のフレーム画像データにIピクチャ及びPピクチャを所定の順番で割り当てるようにしても良い。因みに、動画像データD1にIピクチャ、Pピクチャ及びBピクチャを割り当てる場合でも図3(A)及び(B)について上述した順番とは異なる順番で割り当てるようにしても良い。
【0249】
また、上述した第1の実施の形態においては、動画像データD1の解像度を1/1、1/2、1/4、1/8、1/16の解像度に変換するようにした場合について述べたが、本発明はこれに限らず、動画像データD1の解像度をこの他種々の変換率で変換するようにしても良い。
【0250】
さらに、上述した第1の実施の形態においては、簡易動きベクトル検出処理部35により第5階層動きベクトルに基づいて順方向側簡易動きベクトルD15乃至D17、順方向側及び逆方向側簡易動きベクトルD23乃至D28を生成して第1乃至第3のエンコーダ37乃至39に送出するようにした場合について述べたが、本発明はこれに限らず、簡易動きベクトル検出処理部35により所定階層の動きベクトルを検出して第1乃至第3のエンコーダ37乃至39に送出し、当該第1乃至第3のエンコーダ37乃至39においてその所定階層の動きベクトルに基づいて簡易動きベクトルを生成した後に当該生成した簡易動きベクトルを用いて最終的な動きベクトルを検出するようにしても良い。
【0251】
さらに、上述した第1の実施の形態においては、動きベクトル検出器51において、ブロックマッチング法により動きベクトルD37、D51、D52を検出するようにした場合について述べたが、本発明はこれに限らず、テレスコピックサーチ法やオプティカルフロー等のように、この他種々の方法によって動きベクトルを検出するようにしても良い。
【0252】
(2)第2の実施の形態
図1との対応部分に同一符号を付して示す図11は第2の実施の形態による動画像符号化装置70を示し、解像度変換処理部71に2つの第1及び第3の解像度変換器32及び34が設けられると共に、同様に圧縮符号化処理部72にも2つの第1及び第3のエンコーダ73及び39が設けられて構成されている。
【0253】
この動画像符号化装置70においては、外部から供給される動画像データD1を順次フレーム画像データ単位で第1及び第3の解像度変換器32及び34に取り込む。
【0254】
第1の解像度変換器32は、図1について上述した第1の実施の形態による動画像符号化装置30の場合と同様に変換率指定情報HS1に基づいて、動画像データD1の解像度を1/4の解像度に変換し、当該解像度を変換した動画像データD2を変換率指定情報HS1と共に第1のエンコーダ73に送出する。
【0255】
また、第3の解像度変換器34も、図1について上述した第1の実施の形態による動画像符号化装置30の場合と同様に変換率指定情報HS3に基づいて、動画像データD1を1/1の解像度のまま変換率指定情報HS3と共に第3のエンコーダ39に送出する。
【0256】
そして、図5との対応部分に同一符号を付して示す図12において第1のエンコーダ73は、ピクチャ割当器74、簡易動きベクトル検出器75、シーンチェンジ検出器76及び動きベクトル検出器77の構成を除いて第1の実施の形態による動画像符号化装置30(図1)の第1のエンコーダ37(図5)と同様に構成されている。
【0257】
この場合、ピクチャ割当器74は、図3(A)について上述した場合と同様に入力フレームメモリ50に解像度を変換した動画像データD2を順次低解像度フレーム画像データ単位で取り込む毎に、当該取り込んだ低解像度フレーム画像データに先頭の低解像度フレーム画像データにBピクチャを割り当て、2フレーム目以降には1つのIピクチャに所定数のBピクチャ及びPピクチャが順次交互に連続するようなパターンを順次繰り返す順番でIピクチャ、Pピクチャ及びBピクチャのピクチャタイプを暫定的に割り当てる。
【0258】
また、ピクチャ割当器74は、低解像度フレーム画像データに順次Iピクチャ、Pピクチャ及びBピクチャを割り当てると、当該Iピクチャ、Pピクチャ及びBピクチャを表すピクチャタイプとこれらを割り当てた低解像度フレーム画像データ固有のフレーム識別情報とをピクチャ情報として入力用フレームメモリ50に記録する。
【0259】
簡易動きベクトル検出器75は、入力用フレームメモリ50内で低解像度フレーム画像データにIピクチャが割り当てられたときには、当該入力用フレームメモリ50からそのIピクチャが割り当てられた第1の低解像度フレーム画像データのピクチャ情報を読み出して第3のエンコーダ38に送出する。
【0260】
また、簡易動きベクトル検出器75は、入力用フレームメモリ50内で低解像度フレーム画像データにPピクチャが割り当てられたときには、当該入力用フレームメモリ50からそのPピクチャが割り当てられた第2の低解像度フレーム画像データを動きベクトル検出対象として順次第2の低解像度マクロブロックデータD35単位で読み出すと共に、当該第2の低解像度フレーム画像データよりも時間的に順方向側の任意の第1又は第2の低解像度フレーム画像データD2aを参照用として読み出す。
【0261】
そして、簡易動きベクトル検出器75は、階層サーチ動きベクトル検出方式による第1階層よりも下層の第3階層において、ブロックマッチング法により第2の低解像度マクロブロックデータD35及び参照用の第1又は第2の低解像度フレーム画像データD2aをそのまま用いて当該第2の低解像度マクロブロックデータD35に対する順方向側の第3階層における動きベクトル(以下、これを順方向側の第3階層動きベクトルと呼ぶ)D80を1画素レベルで検出する。
【0262】
ここで、簡易動きベクトル検出器75は、第3の解像度変換器34から与えられた変換率指定情報HS3の内容を表す制御情報SG2が外部から与えられており、動きベクトル検出対象の第2の低解像度フレーム画像データに対する1フレーム分の順方向側の第3階層動きベクトルD80を検出すると、当該制御情報SG2に基づいて順方向側の第3階層動きベクトルD80を第3の解像度変換器34における解像度の変換率に応じて4倍に変倍することにより第3のエンコーダ39における処理用に解像度を合わせた順方向側簡易動きベクトルD81を生成する。
【0263】
そして、簡易動きベクトル検出器75は、このように順方向側簡易動きベクトルD81を生成すると、入力用フレームメモリ50から順方向側簡易動きベクトルD81の検出に用いた動きベクトル検出対象の第2の低解像度フレーム画像データのピクチャ情報及び参照用の第1又は第2の低解像度フレーム画像データD2aのピクチャ情報を読み出し、当該読み出したこれらピクチャ情報を順方向側簡易動きベクトルD81と対応付けて第3のエンコーダ39に送出すると共に、順方向側の第3階層動きベクトルD80をそのまま動きベクトル検出器77に送出する。
【0264】
また、簡易動きベクトル検出器75は、入力用フレームメモリ50内で低解像度フレーム画像データにBピクチャが割り当てられたときには、当該入力用フレームメモリ50からそのBピクチャが割り当てられた第3の低解像度フレーム画像データを動きベクトル検出対象として順次第3の低解像度マクロブロックデータD50単位で読み出す。
【0265】
これに加えて簡易動きベクトル検出器75は、入力用フレームメモリ50からその動きベクトル検出対象の第3の低解像度フレーム画像データよりも時間的に順方向側の任意の第1又は第2の低解像度フレーム画像データD2bと、同様に時間的に逆方向側の任意の第1又は第2の低解像度フレーム画像データD2cとをそれぞれ参照用として読み出す。
【0266】
簡易動きベクトル検出器75は、まず上述した場合と同様に階層サーチ動きベクトル検出方式による第3階層において、ブロックマッチング法により第3の低解像度マクロブロックデータD50及び順方向側で参照用に割り当てた第1又は第2の低解像度フレーム画像データD2bをそのまま用いて当該第3の低解像度マクロブロックデータD50の順方向側の第3階層動きベクトルD82を1画素レベルで検出する。
【0267】
次いで、簡易動きベクトル検出器75は、上述した場合と同様に階層サーチ動きベクトル検出方式による第3階層において、ブロックマッチング法により第3の低解像度マクロブロックデータD50及び逆方向側で参照用に割り当てた第1又は第2の低解像度フレーム画像データD2cをそのまま用いて当該第3の低解像度マクロブロックデータD50の逆方向側の第3階層動きベクトルD83を1画素レベルで検出する。
【0268】
そして、簡易動きベクトル検出器75は、動きベクトル検出対象の第3の低解像度フレーム画像データに対する1フレーム分の順方向側及び逆方向側の第3階層動きベクトルD82及びD83を検出すると、制御情報SG2に基づいてこれら順方向側及び逆方向側の第3階層動きベクトルD82及びD83をそれぞれ4倍に変倍することにより第3のエンコーダ39における処理用に解像度を合わせた順方向側簡易動きベクトルD84を生成すると共に逆方向側簡易動きベクトルD85を生成する。
【0269】
これにより簡易動きベクトル検出器75は、このように順方向側及び逆方向側簡易動きベクトルD84及びD85を生成すると、入力用フレームメモリ50からその順方向側及び逆方向側簡易動きベクトルD84及びD85の検出に用いた動きベクトル検出対象の第3の低解像度フレーム画像データのピクチャ情報及び順方向側及び逆方向側の参照用の第1又は第2の低解像度フレーム画像データD2a及びD2cのピクチャ情報を読み出し、当該読み出したこれらピクチャ情報を順方向側及び逆方向側簡易動きベクトルD84及びD85と対応付けて第3のエンコーダ39に送出すると共に、順方向側及び逆方向側の第3階層動きベクトルD82及びD83をそのまま動きベクトル検出器77に送出する。
【0270】
ここで、簡易動きベクトル検出器75は、図2について上述した簡易動きベクトル検出器42と同様に第2及び第3の低解像度フレーム画像データに対する1フレーム分の順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83を検出すると、当該順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83に基づいて順方向側簡易動きベクトルD81、順方向側及び逆方向側簡易動きベクトルD84及びD85を生成する前に、その順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83の検出によって算出した全ての最小予測誤差をシーンチェンジ検出器76に送出する。
【0271】
シーンチェンジ検出器76は、図2について上述したシーンチェンジ検出器43とほぼ同様に動作し、簡易動きベクトル検出器75から1フレーム分の最小予測誤差が与えられる毎に、当該1フレーム分の最小予測誤差を全て加算して合計最小予測誤差を算出し、その合計最小予測誤差をすでに算出している全ての合計最小予測誤差の平均値(以下、これを予測誤差平均値と呼ぶ)と比較する。
【0272】
この結果、シーンチェンジ検出器76は、算出した合計最小予測誤差が予測誤差平均値以下の値であれば、この時点で動きベクトル検出対象の第2又は第3の低解像度フレーム画像データと、すでに処理している順方向側の連続する第1乃至第3の低解像度フレーム画像データとの相関が比較的高いことによりこれら動きベクトル検出対象の第2又は第3の低解像度フレーム画像データを含む第1乃至第3のフレーム画像データが全て動画像の1つのシーンを構成する低解像度フレーム画像データであると判断する。
【0273】
このときシーンチェンジ検出器76は、この時点で動きベクトル検出対象の第2又は第3の低解像度フレーム画像データに対して暫定的に割り当てていたピクチャタイプを恒久的なピクチャタイプとして確定してこれをピクチャ割当器74及び簡易動きベクトル検出器75に通知する。
【0274】
また、シーンチェンジ検出器76は、算出した合計最小予測誤差が予測誤差平均値よりも大きい値であれば、この時点で動きベクトル検出対象の第2又は第3の低解像度フレーム画像データと、すでに処理している順方向側の連続する第1乃至第3の低解像度フレーム画像データとの相関が比較的低いことにより当該順方向側の連続する第1乃至第3の低解像度フレーム画像データの構成する動画像のシーンに対してこの時点で動きベクトル検出対象の第2又は第3の低解像度フレーム画像データの構成する動画像のシーンが変化したと判断する。
【0275】
このときシーンチェンジ検出器76は、この時点で動きベクトル検出対象の第2又は第3の低解像度フレーム画像データに対して暫定的に割り当てていたピクチャタイプを他のピクチャタイプに変更することをピクチャ割当器74及び簡易動きベクトル検出器75に通知する。
【0276】
従って、ピクチャ割当器74は、シーンチェンジ検出器76からピクチャタイプの確定が通知されると、入力用フレームメモリ50内の対応するピクチャ情報をそのままにする。
【0277】
また、ピクチャ割当器74は、シーンチェンジ検出器76からピクチャタイプの変更が通知されると、入力用フレームメモリ50内の対応するピクチャ情報の内容をシーンチェンジに応じた新たなピクチャタイプを表すように変更する。
【0278】
これによりピクチャ割当器74は、入力用フレームメモリ50内のピクチャ情報に基づいて後段の各種回路ブロックに低解像度フレーム画像データに割り当てたピクチャタイプを適確に認識させて圧縮符号化処理を実行させ得るようになされている。
【0279】
また、簡易動きベクトル検出器75は、シーンチェンジ検出器76からピクチャタイプの確定が通知されると、この時点で動きベクトル検出対象の第2又は第3の低解像度フレーム画像データに対して検出した1フレーム分の順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83に基づいて順方向側簡易動きベクトルD81、順方向側及び逆方向側簡易動きベクトルD84及びD85を生成し、対応するピクチャ情報と共に第3のエンコーダ39に送出すると共に、順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83をそのまま動きベクトル検出器77に送出する。
【0280】
これに対して簡易動きベクトル検出器75は、シーンチェンジ検出器76からピクチャタイプの変更が通知されると、この時点で動きベクトル検出対象の第2又は第3の低解像度フレーム画像データに対して暫定的なピクチャタイプに変えてシーンチェンジに応じた新たなピクチャタイプ(Iピクチャ、Pピクチャ及びBピクチャのいずれか)を割り当てることにより当該新たなピクチャタイプに従ってその第2又は第3の低解像度フレーム画像データに対して上述と同様な処理を実行する。
【0281】
因みに、簡易動きベクトル検出器75は、シーンが変化した時点の低解像度フレーム画像データに対してIピクチャを割り当てるように設定されているときには、当該シーンの変化した時点の第2又は第3の低解像度フレーム画像データに新たにIピクチャを割り当て直してピクチャ情報のみを第3のエンコーダ39に送出する。
【0282】
また、簡易動きベクトル検出器75は、シーンが変化した時点の低解像度フレーム画像データに対してPピクチャ又はBピクチャを割り当てる用に設定されているときには、当該シーンの変化した時点の第2又は第3の低解像度フレーム画像データに新たにPピクチャ又はBピクチャを割り当て直して順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83を再検出した後、当該再検出した順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83に基づいて順方向側簡易動きベクトルD81、順方向側及び逆方向側簡易動きベクトルD84及びD85を生成して対応するピクチャ情報と共に第3のエンコーダ39に送出すると共に、順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83をそのまま動きベクトル検出器77に送出する。
【0283】
さらに、簡易動きベクトル検出器75は、シーンの変化に応じて第2又は第3の低解像度フレーム画像データのピクチャタイプを変更したときには、当該ピクチャタイプの変更に応じてピクチャ情報の内容(すなわち、暫定的に割り当てていたピクチャタイプ)を変更して第3のエンコーダ39に送出する。
【0284】
これにより簡易動きベクトル検出器75は、低解像度フレーム画像データに対する順方向側及び逆方向側の簡易動きベクトルD80乃至D82をシーンチェンジに応じて確定されたピクチャタイプに従って適確に生成し、かくして第1及び第3のエンコーダ73及び39に対して適確に動きベクトルを検出させて動画像データD1及びD2を圧縮符号化させ得るようになされている。
【0285】
一方、動きベクトル検出器77は、第1乃至第3の低解像度フレーム画像データに対する圧縮符号化の開始に合わせて、演算器52により入力用フレームメモリ50から符号化対象の第1の低解像度フレーム画像データが順次第1の低解像度マクロブロックデータD30単位で読み出されると、当該入力用フレームメモリ50から対応するピクチャ情報を読み出して第1の低解像度マクロブロックデータD30に対する予測モードデータD31を生成してこれを動き補償器53及び可変長符号化器54に送出する。
【0286】
また、動きベクトル検出器77は、演算器52により入力用フレームメモリ50から符号化対象の第2の低解像度フレーム画像データが順次第2の低解像度マクロブロックデータD35単位で読み出されると、当該入力用フレームメモリ50から第2の低解像度マクロブロックデータD35を順次読み出すと共に、順方向側で参照用に割り当てられた第1又は第2の低解像度フレーム画像データD2aを読み出す。
【0287】
このとき動きベクトル検出器77は、参照用の第1又は第3の低解像度フレーム画像データD2aに基づく第1位又は第2の低解像度フレーム画像と、第2の低解像度マクロブロックデータD35に基づく第2の低解像度マクロブロックとに対してそれぞれ順次隣接する画素同士の画素値の平均値を算出し、当該算出した平均値をその画素同士の間に新たな画素の画素値として補間する。
【0288】
そして、動きベクトル検出器77は、ブロックマッチング法により、画素を補間した参照用の第1又は第2の低解像度フレーム画像に対して対応する順方向側の第3階層動きベクトルD80の終点周辺に格段的に狭いサーチ範囲を設定し、当該サーチ範囲内で複数の比較用ブロックと、画素を補間した第2の低解像度マクロブロックとを順次対応付けながら最小予測誤差となる順方向近似ブロックを検出するようにして当該順方向側の第3階層動きベクトルD80を補正する補正用動きベクトルを検出する。
【0289】
これにより動きベクトル検出器77は、その補正用動きベクトルを順方向側の第3階層動きベクトルD80と加算することにより第2の低解像度マクロブロックデータD35に対する第3階層の1/2画素レベルの動きベクトルD37を生成する。
【0290】
これに加えて、動きベクトル検出器77は、上述した第1の実施の形態による第1のエンコーダ37(図5)の動きベクトル検出器51(図5)と同様に、画素を補間した第2の低解像度マクロブロックに対する分散値を算出し、当該算出した分散値を最小予測誤差と比較する。
【0291】
この結果、動きベクトル検出器77は、分散値が最小予測誤差よりも小さければ、第2の低解像度マクロブロックデータD35をフレーム内符号化により圧縮符号化することを表す予測モードデータD39を生成してこれを動き補償器53及び可変長符号化器54に送出する。
【0292】
また、動きベクトル検出器77は、分散値が最小予測誤差よりも大きければ、第2の低解像度マクロブロックデータD35を順方向予測符号化により圧縮符号化することを表す予測モードデータD40を生成してこれを対応する動きベクトルD37と共に動き補償器53及び可変長符号化器54に送出する。
【0293】
さらに、動きベクトル検出器77は、演算器52により入力用フレームメモリ50から符号化対象の第3の低解像度フレーム画像データが順次第3の低解像度マクロブロックデータD50単位で読み出されると、当該入力用フレームメモリ50から第3の低解像度マクロブロックデータD50を順次読み出すと共に、順方向側及び逆方向側で参照用に割り当てた第1又は第2の低解像度フレーム画像データD2b及びD2cを読み出す。
【0294】
このとき動きベクトル検出器77は、順方向側及び逆方向側の参照用の第1又は第3の低解像度フレーム画像データD2b及びD2cに基づく第1位又は第2の低解像度フレーム画像と、第3の低解像度マクロブロックデータD50に基づく第3の低解像度マクロブロックとに対してそれぞれ順次隣接する画素同士の画素値の平均値を算出し、当該算出した平均値をその画素同士の間に新たな画素の画素値として補間する。
【0295】
そして、動きベクトル検出器77は、ブロックマッチング法により、まず画素を補間した順方向側の参照用の第1又は第2の低解像度フレーム画像に対して対応する順方向側の第3階層動きベクトルD82の終点周辺に格段的に狭いサーチ範囲を設定し、当該サーチ範囲内で複数の比較用ブロックと、画素を補間した第3の低解像度マクロブロックとを順次対応付けながら最小予測誤差となる順方向近似ブロックを検出するようにして当該順方向側の第3階層動きベクトルD82を補正する補正用動きベクトルを検出する。
【0296】
これにより動きベクトル検出器77は、その補正用動きベクトルを順方向側の第3階層動きベクトルD82と加算することにより第3の低解像度マクロブロックデータD50に対する第3階層の1/2画素レベルの動きベクトルD51を生成する。
【0297】
次いで、動きベクトル検出器77は、ブロックマッチング法により、画素を補間した逆方向側の参照用の第1又は第2の低解像度フレーム画像に対して対応する逆方向側の第3階層動きベクトルD83の終点周辺に格段的に狭いサーチ範囲を設定し、当該サーチ範囲内で複数の比較用ブロックと、画素を補間した第3の低解像度マクロブロックとを順次対応付けながら最小予測誤差となる逆方向近似ブロックを検出するようにして当該逆方向側の第3階層動きベクトルD83を補正する補正用動きベクトルを検出する。
【0298】
これにより動きベクトル検出器77は、その補正用動きベクトルを逆方向側の第3階層動きベクトルD83と加算することにより第3の低解像度マクロブロックデータD50に対する第3階層の1/2画素レベルの動きベクトルD52を生成する。
【0299】
これに加えて、動きベクトル検出器77は、上述した第1の実施の形態による第1のエンコーダ37(図5)の動きベクトル検出器51(図5)と同様に、順方向側近似ブロック及び逆方向側近似ブロックに基づいて平均近似ブロックを生成し、当該生成した平均近似ブロックと第3の低解像度マクロブロックとの双方向予測誤差を算出する。
【0300】
そして、動きベクトル検出器77は、順方向側最小予測誤差、逆方向側最小予測誤差及び双方向予測誤差のうち最も値の小さい1つの選定予測誤差を選定すると共に、第3の低解像度マクロブロックに対する分散値を算出して当該算出した分散値を選定予測誤差と比較する。
【0301】
この結果、動きベクトル検出器77は、分散値が選定予測誤差よりも小さければ、第3の低解像度マクロブロックデータD50をフレーム内符号化により圧縮符号化することを表す予測モードデータD53を生成してこれを動き補償器53及び可変長符号化器54に送出する。
【0302】
また、動きベクトル検出器77は、分散値が選定予測誤差よりも大きく、かつ当該選定予測誤差が順方向側最小予測誤差であれば、第3の低解像度マクロブロックデータD50を順方向予測符号化により圧縮符号化することを表す予測モードデータD54を生成してこれを当該第3の低解像度マクロブロックデータD50の順方向側の動きベクトルD51と共に動き補償器53及び可変長符号化器54に送出する。
【0303】
さらに、動きベクトル検出器77は、分散値が選定予測誤差よりも大きく、かつ当該選定予測誤差が逆方向最小予測誤差であれば、第3の低解像度マクロブロックデータD50を逆方向予測符号化により圧縮符号化することを表す予測モードデータD55を生成してこれを当該第3の低解像度マクロブロックデータD50の逆方向側の動きベクトルD52と共に動き補償器53及び可変長符号化器54に送出する。
【0304】
さらに、動きベクトル検出器77は、分散値が選定予測誤差よりも大きく、かつ当該選定予測誤差が双方向予測誤差であれば、第3の低解像度マクロブロックデータD50を双方向予測符号化により圧縮符号化することを表す予測モードデータD56を生成してこれを当該第3の低解像度マクロブロックデータD50の順方向側及び逆方向側の双方の動きベクトルD51及びD52と共に動き補償器53及び可変長符号化器54に送出する。
【0305】
このようにして第1のエンコーダ73においては、図13に示すように、第3のエンコーダ39と順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83を共有化しながら動画像データD2を順次低解像度フレーム画像データ単位で圧縮符号化し得るようになされている。
【0306】
因みに、第3のエンコーダ39は、第1のエンコーダ73から順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83が与えられると、階層サーチ動きベクトル検出方式による原画像レベルの第1階層においてブロックマッチング法により、画素を補間した参照用のフレーム画像データ及び画素を補間した動きベクトル検出対象のマクロブロックデータ並びに順方向側簡易動きベクトルD81、順方向側及び逆方向側簡易動きベクトルD84及びD85を用いて当該マクロブロックデータに対する第1階層(すなわち原画像レベル)の動きベクトルを1/2画素レベルで生成する。
【0307】
ここで、動画像符号化装置70の解像度変換処理部71と圧縮符号化処理部72とによる配信対象の動画像データD1の圧縮符号化処理手順についてまとめてみると、図14(A)に示すように、まず解像度変換処理部71はルーチンRT4の開始ステップから入ってステップSP41に移る。
【0308】
このステップSP41において解像度変換処理部71は、配信対象の動画像データD1を構成するフレーム画像データに対してそれぞれ変換率の異なる解像度の変換処理を施してステップSP42に移る。
【0309】
ステップSP42において解像度変換処理部71は、動画像データD1の全てのフレーム画像データに対してそれぞれ変換率の異なる解像度の変換処理を施したか否かを判断する。
【0310】
このステップSP42において否定結果を得ることは、外部から未だ配信対象の動画像データD1が供給されていることを意味し、このとき解像度変換処理部71はステップSP41に戻り、この後ステップSP42において肯定結果を得るまでの間はステップSP41−SP42の処理を順次繰り返すことにより配信対象の動画像データD1のフレーム画像データに順次それぞれ変換率の異なる解像度の変換処理を施す。
【0311】
このとき、図14(B)に示すように、圧縮符号化処理部72は、ルーチンRT5の開始ステップから入ってステップSP51に移る。
【0312】
ステップSP51において圧縮符号化処理部72は、第1及び第3のエンコーダ73及び39のうち一方の第1のエンコーダ73において、解像度変換処理部71から供給される動画像データD2を順次低解像度フレーム画像データ単位で取り込んで当該低解像度フレーム画像データにピクチャタイプを暫定的に割り当てると共に、階層サーチ動きベクトル検出方式による第3階層においてその暫定的なピクチャタイプに従って当該低解像度フレーム画像データをそのまま用いて動きベクトル検出対象の低解像度フレーム画像データに対する1フレーム分の順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83を検出してステップSP52に移る。
【0313】
ステップSP52において圧縮符号化処理部72は、動きベクトル検出対象の低解像度フレーム画像データに対する1フレーム分の順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83の検出に伴って算出した最小予測誤差に基づいて当該動きベクトル検出対象の低解像度フレーム画像データが動画像でシーンが変更された時点の低解像度フレーム画像データであるか否かを判断する。
【0314】
このステップSP52において肯定結果を得ることは、動きベクトル検出対象の低解像度フレーム画像データとすでに処理した順方向側の低解像度フレーム画像データとの相関が比較的小さく、当該動きベクトル検出対象の低解像度フレーム画像データが動画像でシーンが変更された時点の低解像度フレーム画像データであることを意味し、このとき圧縮符号化処理部72はステップSP53に移って当該動きベクトル検出対象の低解像度フレーム画像データにシーンチェンジに応じた新たなピクチャタイプを割り当て直し、その新たなピクチャタイプによっては順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83を再検出してステップSP54に移る。
【0315】
またステップSP52において否定結果を得ることは、動きベクトル検出対象の低解像度フレーム画像データとすでに処理した順方向側の低解像度フレーム画像データとの相関が比較的大きく、当該動きベクトル検出対象の低解像度フレーム画像データが動画像で1つのシーンを構成する低解像度フレーム画像データのうちの1つであるために暫定的なピクチャタイプを圧縮符号化用に確定したことを意味し、このとき圧縮符号化処理部72はステップSP54に移る。
【0316】
ステップSP54において圧縮符号化処理部72は、動きベクトル検出対象の低解像度フレーム画像データに対して検出した順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83に基づいて順方向側簡易動きベクトルD81、順方向側及び逆方向側簡易動きベクトルD84乃至D85を生成し、対応するピクチャ情報と共に他方の第3のエンコーダ39に引き渡してステップSP55に移る。
【0317】
ステップSP55において圧縮符号化処理部72は、一方の第1のエンコーダ73において、順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83を用いて第3階層の最終的な動きベクトルD37、D51、D52を検出すると共に、他方の第3のエンコーダ39において、順方向側簡易動きベクトルD81、順方向側及び逆方向側簡易動きベクトルD84乃至D85を用いて第1階層の最終的な動きベクトルD78を検出してステップSP56に移る。
【0318】
ステップSP56において圧縮符号化処理部72は、一方の第1のエンコーダ73において、Iピクチャの割り当てられた第1の低解像度フレーム画像データについてはフレーム内予測符号化により圧縮符号化し、得られた符号化データD32をバッファ57に蓄積すると共に、Pピクチャ及びBピクチャの割り当てられた第2及び第3の低解像度フレーム画像データについては動きベクトルD37、D51、D52を用いた動き補償予測符号化により圧縮符号化し、得られた符号化データD42、D44、D65、D67、D68、D69をバッファ57に蓄積し、他方の第3のエンコーダ39において、Iピクチャの割り当てられた第1のフレーム画像データについてはフレーム内予測符号化により圧縮符号化し、得られた符号化データをバッファに蓄積すると共に、Pピクチャ及びBピクチャの割り当てられた第2及び第3のフレーム画像データについては動きベクトルD78を用いた動き補償予測符号化により圧縮符号化し、得られた符号化データをバッファに蓄積してステップSP57に移る。
【0319】
ステップSP57において圧縮符号化処理部72は、バッファ57に一旦蓄積した符号化データD32、D42、D44、D65、D67、D68、D69のデータ量を平滑化することにより当該符号化データD32、D42、D44、D65、D67、D68、D69を符号化ビットストリームBS1及びBS3として外部に出力してステップSP58に移る。
【0320】
ステップSP58において圧縮符号化処理部72は、符号化対象の低解像度フレーム画像データ及びフレーム画像データを全て圧縮符号化したか否かを判断する。
【0321】
このステップSP58において否定結果を得ることは、解像度変換処理部71から未だそれぞれ解像度の異なる動画像データD1及びD2が供給されていることを意味し、このとき圧縮符号化処理部72は、ステップSP51に戻り、この後ステップSP58において肯定結果を得るまでの間はステップSP51−SP52−SP53−SP54−SP55−SP56−SP57−SP58の処理を順次繰り返すことにより動画像データD1及びD2を順次低解像度フレーム画像データ単位及びフレーム画像データ単位で圧縮符号化する。
【0322】
そしてステップSP42において肯定結果を得ることは、外部からの動画像データD1の供給が停止して当該動画像データD1の全てのフレーム画像データに対してそれぞれ異なる変換率の解像度の変換処理を施したことを意味し、このとき解像度変換処理部71はステップSP43に移って当該解像度変換処理部71の処理手順を終了する。
【0323】
また、ステップSP58において肯定結果を得ることは、解像度変換処理部71からのそれぞれ解像度の異なる動画像データD1及びD2の供給が停止して全ての符号化対象の低解像度フレーム画像データ及びフレーム画像データを圧縮符号化したことを意味し、このとき圧縮符号化処理部72はステップSP59に移って当該圧縮符号化処理部72の処理手順を終了し、かくして動画像符号化装置70における動画像データD1の圧縮符号化処理手順を全て終了する。
【0324】
以上の構成において、この動画像符号化装置70では、第1のエンコーダ73内部で簡易動きベクトル検出器75が当該第1のエンコーダ73に取り込んだ1/4の解像度の動画像データD2を用いて順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83を検出する。
【0325】
そして、この動画像符号化装置70では、簡易動きベクトル検出器75により検出した順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83を第1及び第3のエンコーダ73及び39において共有化して用いてそれぞれ符号化対象の動画像データD1及びD2の解像度に合わせた動きベクトルD37、D51、D52、D78を検出し、解像度の異なる動画像データD1及びD2を順次フレーム画像データ単位及び順次低解像度フレーム画像データ単位で当該検出した動きベクトルD37、D51、D52、D78を用いた動き補償予測符号化により圧縮符号化するようにした。
【0326】
従って、この動画像符号化装置70では、第1及び第3のエンコーダ73及び39において共有化して用いる順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83の検出用に、特には配信対象の動画像データD1の解像度を変換せずに、解像度変換処理部71によって当該配信対象の動画像データD1から得られる1/4の解像度の動画像データD2を有効に利用するため、上述した第1の実施の形態による動画像符号化装置30(図1)に比べて配信対象の動画像データD1の解像度を変換するための演算量を低減させて解像度の異なる動画像データD1及びD2に対する圧縮符号化処理の処理負荷を低減させることができる。
【0327】
また、この動画像符号化装置70では、第1及び第2のエンコーダ73及び39において共有化して用いるシーンチェンジの有無の検出用にも、特には配信対象の動画像データD1の解像度を変換せずに、解像度変換処理部71によって当該配信対象の動画像データD1から得られる1/4の解像度の動画像データD2を有効に利用するため、解像度の異なる動画像データD1及びD2に対する圧縮符号化処理の処理負荷をさらに低減させることができる。
【0328】
さらに、この動画像符号化装置70では、配信対象の1つの動画像データD1から得られる解像度の異なる動画像データD1及びD2のうち最も解像度の低い(すなわちデータ量の少ない)動画像データD2を用いて、順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83、シーンチェンジの有無を検出するため、その動画像データD2を用いることでも順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83、シーンチェンジの有無の検出における演算量を低減させることができる。
【0329】
これに加えて、この動画像符号化装置70では、第1のエンコーダ73に取り込む動画像データD2を順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83やシーンチェンジの有無の情報からなる圧縮符号化パラメータの検出に流用するため、当該動画像符号化装置70の回路構成を簡易化することもできる。
【0330】
以上の構成によれば、簡易動きベクトル検出器75において、配信対象の1つの動画像データD1から得られる解像度の異なる動画像データD1及びD2のうち第1のエンコーダ73に取り込んだ動画像データD2を用いて順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83を検出し、第1及び第3のエンコーダ73及び39においてその検出した順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83を共有化して用いて、解像度の異なる動画像データD1及びD2に対して当該解像度に合わせた動きベクトルD37、D51、D52、D78を検出し、当該解像度の異なる動画像データD1及びD2をその動きベクトルD37、D51、D52、D78を用いて動き補償予測符号化により圧縮符号化するようにしたことにより、上述した第1の実施の形態によって得られる効果よりも、解像度の異なる動画像データD1及びD2に対する圧縮符号化処理の処理負荷を低減させることができ、かくして1つの動画像データから得られる解像度の異なる複数の動画像データに対して圧縮符号化処理をさらに高速化し得る動画像符号化装置を実現することができる。
【0331】
これに加えて、シーンチェンジ検出器76において、配信対象の1つの動画像データD1から得られる解像度の異なる動画像データD1及びD2のうち第1のエンコーダ73に取り込んだ動画像データD2を用いてシーンチェンジの有無を検出し、当該検出結果を共有化して用いて解像度の異なる複数の動画像データD1及びD2を圧縮符号化するようにしたことにより、解像度の異なる動画像データD1及びD2に対する圧縮符号化処理の処理負荷をさらに低減させて当該圧縮符号化処理を高速化し得る動画像符号化装置を実現することができる。
【0332】
なお、上述した第2の実施の形態においては、図3(A)及び(B)について上述したように配信対象の動画像データD1のフレーム画像データにIピクチャ、Pピクチャ及びBピクチャを割り当てるようにした場合について述べたが、本発明はこれに限らず、配信対象の動画像データD1のフレーム画像データにIピクチャ及びPピクチャを所定の順番で割り当てるようにしても良い。因みに、動画像データD1にIピクチャ、Pピクチャ及びBピクチャを割り当てる場合でも図3(A)及び(B)について上述した順番とは異なる順番で割り当てるようにしても良い。
【0333】
また、上述した第2の実施の形態においては、動画像データD1の解像度を1/1、1/2、1/4、1/8の解像度に変換するようにした場合について述べたが、本発明はこれに限らず、動画像データD1の解像度をこの他種々の変換率で変換するようにしても良い。
【0334】
さらに、上述した第2の実施の形態においては、動きベクトル検出器77において、ブロックマッチング法により動きベクトルD37、D51、D52を検出するようにした場合について述べたが、本発明はこれに限らず、テレスコピックサーチ法やオプティカルフロー等のように、この他種々の方法によって動きベクトルを検出するようにしても良い。
【0335】
さらに、上述した第2の実施の形態においては、簡易動きベクトル検出器75により順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83に基づいて順方向側簡易動きベクトルD81、順方向側及び逆方向側簡易動きベクトルD84及びD85を生成して第3のエンコーダ39に送出するようにした場合について述べたが、本発明はこれに限らず、簡易動きベクトル検出器75により所定階層の動きベクトルを検出して第3のエンコーダ39に送出し、当該第3のエンコーダ39においてその所定階層の動きベクトルに基づいて簡易動きベクトルを生成した後に当該生成した簡易動きベクトルを用いて最終的な動きベクトルを検出するようにしても良い。
【0336】
さらに、上述した第2の実施の形態においては、簡易動きベクトル検出器75により、第1のエンコーダ73に取り込んだ1/4の解像度の動画像データD2を用いて順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83を検出するようにした場合について述べたが、本発明はこれに限らず、第1及び第2のエンコーダ73及び39において共有化して用いることができる下層の階層動きベクトルを検出することができれば、第1の解像度変換器32において配信対象の動画像データD1から得られる1/4の解像度の動画像データD2を用いて順方向側の第3階層動きベクトルD80、順方向側及び逆方向側の第3階層動きベクトルD82及びD83を検出するようにしても良い。また、シーンチェンジの有無も、共有化し得る下層動きベクトルの検出時に合わせて検出すれば、演算量を低減させることができるため、同様に第1の解像度変換器32において検出しても良い。
【0337】
(3)他の実施の形態
なお、上述した第1及び第2の実施の形態においては、本発明による動画像符号化装置として、図1乃至図14について上述した動画像符号化装置30及び70を適用するようにした場合について述べたが、本発明はこれに限らず、ISO/IEC(International Organization for Standardization/International Electrotechnical Commission)等の機関によって規格化されたMPEG4(Moving Picture Experts Group phase 4)と呼ばれる圧縮符号化方式等のようにこの他種々の圧縮符号化方式が適用された動画像符号化装置やビデオカメラから供給される動画像データD1に代えて外部又は内部に予め記憶している動画像データを圧縮符号化処理する動画像符号化装置、さらには動画像データを圧縮符号化処理し得るものであれば、パーソナルコンピュータや携帯電話機、PDA(Personal Digital Assistance )等の電子機器のように、この他種々の動画像符号化装置に広く適用することができる。
【0338】
因みに、本発明による動画像符号化装置をパーソナルコンピュータや携帯電話機、PDA等の電子機器に適用する場合には、当該電子機器に図1、図2、図5、図11及び図12について上述した各回路ブロックをハードウェアとして設けるようにしても良いし、その電子機器にハードウェアに代えて図10(A)乃至(C)及び図14(A)及び(B)について上述した動画像データD1の圧縮符号化処理手順を実行するためのプログラムをインストールし、当該プログラムに従ってソフトウェア処理として動画像データD1の圧縮符号化処理手順を実行しても本発明を実現することができる。
【0339】
そして、このように電子機器に図10(A)乃至(C)及び図14(A)及び(B)について上述した動画像データD1の圧縮符号化処理手順を実行するためのプログラムをインストールするには、当該プログラムが格納されたプログラム格納媒体を用いても良いし、ローカルエリアネットワークやインターネット、ディジタル衛星放送等の有線及び無線通信媒体を利用しても良く、さらにはルータやモデム等の各種通信インターフェイスを介してインストールするようにしても良い。
【0340】
因みに、電子機器にプログラムをインストールして実行可能な状態にするためのプログラム格納媒体としては、例えばフロッピーディスク、CD−ROM(Compact Disc-Read Only Memory )、DVD(Digital Versatile Disc)等のパッケージメディアのみならず、配信処理プログラムが一時的もしくは永続的に格納される半導体メモリや磁気ディスク等で実現しても良い。また、これらプログラム格納媒体に配信処理プログラムを格納する手段としては、ローカルエリアネットワークやインターネット、ディジタル衛星放送等の有線及び無線通信媒体を利用してもよく、ルータやモデム等の各種通信インターフェイスを介して格納するようにしても良い。
【0341】
さらに、上述した第1及び第2の実施の形態においては、1つの動画像データから得られる解像度の異なる複数の動画像データのうち任意の解像度の動画像データを用いて圧縮符号化パラメータを検出するパラメータ検出手段として、図2について上述した簡易動きベクトル検出器42及びシーンチェンジ検出器43と、図12について上述した簡易動きベクトル検出器75及びシーンチェンジ検出器76とを適用するようにした場合について述べたが、本発明はこれに限らず、1つの動画像データから得られる解像度の異なる複数の動画像データのうち任意の解像度の動画像データを用いて圧縮符号化パラメータを検出することができれば、例えば圧縮符号化パラメータとして、動画像データのフレームレートの変換の有無を検出するフレームレート検出器や、動画像データを通すノイズリダクションフィルタのフィルタ係数を検出するフィルタ係数検出器、動画像データの連続するフレーム画像データから抽出すべき順次任意形状の抽出画像を追跡する抽出画像追跡器等のように、この他種々のパラメータ検出手段を広く適用することができる。
【0342】
さらに、上述した第1及び第2の実施の形態においては、複数種類の解像度の動画像データのうち少なくとも2種類の解像度の動画像データをそれぞれ圧縮符号化パラメータを共有化して用いて圧縮符号化する圧縮符号化手段として、図1及び図5並びに図11及び図12について上述した動画像データを順次フレーム画像データ単位で圧縮符号化する第1乃至第3のエンコーダ37乃至39、73を適用するようにした場合について述べたが、本発明はこれに限らず、複数種類の解像度の動画像データのうち少なくとも2種類の解像度の動画像データをそれぞれ圧縮符号化パラメータを共有化して用いて圧縮符号化することができれば、動画像データの連続するフレーム画像データから順次任意形状の抽出画像のデータを抽出して圧縮符号化する圧縮符号化手段等のように、この他種々の圧縮符号化手段を広く適用することができる。
【0343】
さらに、上述した第1及び第2の実施の形態においては、複数種類の解像度のうち任意の当該解像度の動画像データを用いて圧縮符号化パラメータとなるフレーム画像間の階層動きベクトルを検出する階層動きベクトル検出手段として、ブロックマッチング法により階層動きベクトルを検出する図2について上述した簡易動きベクトル検出器42及び図12について上述した簡易動きベクトル検出器75を適用するようにした場合について述べたが、本発明はこれに限らず、複数種類の解像度のうち任意の当該解像度の動画像データを用いて圧縮符号化パラメータとなるフレーム画像間の階層動きベクトルを検出することができれば、テレスコピックサーチ法やオプティカルフローにより階層動きベクトルを検出する階層動きベクトル検出手段等のように、この他種々の階層動きベクトル検出手段を広く適用することができる。
【0344】
【発明の効果】
上述のように本発明によれば、1つの動画像データを構成する複数のフレーム画像データそれぞれの暫定的な、圧縮符号化の種類を規定するピクチャタイプに従い、当該1つの動画像データから得られる解像度の異なる複数の動画像データのうち最も低い解像度の動画像データに含まれる動きベクトル検出対象のフレーム画像内の所定ブロックと、当該最も低い解像度の動画像データに含まれる参照用のフレーム画像との最小予測誤差を算出するようにして当該所定ブロックの階層動きベクトルを検出し、当該階層動きベクトルを検出したときに算出した最小予測誤差に基づき、1つの動画像データを構成する複数のフレーム画像データについてシーンが変更された時点のフレーム画像データであるかを検出して、当該1つの動画像データを構成する複数のフレーム画像データについてシーンが変更された時点のフレーム画像データであることを検出しないときは暫定的なピクチャタイプを変更せずに確定し、1つの動画像データを構成する複数のフレーム画像データについてシーンが変更された時点のフレーム画像データであることを検出したときは暫定的なピクチャタイプを変更して確定すると共に、当該変更後のピクチャタイプに従い、最も低い解像度の動画像データに含まれる動きベクトル検出対象のフレーム画像内の所定ブロックと、最も低い解像度の動画像データに含まれる参照用のフレーム画像との最小予測誤差を算出するようにして当該所定ブロックの階層動きベクトルを検出し直し、解像度の異なる複数の動画像データのうち最も低い解像度以上の少なくとも2種類の解像度の動画像データをそれぞれ、確定したピクチャタイプに従い、フレーム内符号化により圧縮符号化すると共に、階層動きベクトルを共有化して用いて少なくとも2種類の解像度にそれぞれ合わせた動きベクトルを検出して、当該検出した動きベクトルを用いた動き補償予測符号化により圧縮符号化するようにしたことにより、最も低い解像度以上の少なくとも2種類の解像度の動画像データを圧縮符号化する際、動きベクトルの検出及びシーンチェンジの有無の検出による演算量を減らして圧縮符号化処理の処理負荷を大幅に低減させることができ、かくして1つの動画像データから得られた解像度の異なる複数の動画像データに対して圧縮符号化処理を高速化することができる。
【図面の簡単な説明】
【図1】本発明による動画像符号化装置の回路構成の第1の実施の形態を示すブロック図である。
【図2】簡易動きベクトル検出処理部の回路構成を示すブロック図である。
【図3】動画像データのフレーム画像データに暫定的に割り当てたピクチャタイプの説明に供する略線図である。
【図4】階層マクロブロック及び階層フレーム画像の生成の説明に供する略線図である。
【図5】第1乃至第3のエンコーダの回路構成を示すブロック図である。
【図6】階層サーチ動きベクトル検出方式の説明に供する略線図である。
【図7】階層サーチ動きベクトル検出方式による第2階層の動きベクトルの検出の説明に供する略線図である。
【図8】階層サーチ動きベクトル検出方式による第1階層の動きベクトルの検出の説明に供する略線図である。
【図9】第5階層動きベクトルの共有化の説明に供する略線図である。
【図10】動画像データの圧縮符号化処理手順を示すフローチャートである。
【図11】第2の実施の形態による動画像符号化装置の回路構成を示すブロック図である。
【図12】第1のエンコーダの回路構成を示すブロック図である。
【図13】エンコーダで検出した動きベクトルの共有化の説明に供する略線図である。
【図14】動画像データの圧縮符号化処理手順を示すフローチャートである。
【図15】従来の動画像符号化装置の回路構成を示すブロック図である。
【図16】第1乃至第3のエンコーダの回路構成を示すブロック図である。
【符号の説明】
30、70……動画像符号化装置、31、71……解像度変換処理部、32……第1の解像度変換器、33……第2の解像度変換器、34……第3の解像度変換器、35……簡易動きベクトル検出処理部、36、72……圧縮符号化処理部、37、73……第1のエンコーダ、38……第2のエンコーダ、39……第3のエンコーダ、42、75……簡易動きベクトル検出器、43、76……シーンチェンジ検出器、51、77……動きベクトル検出器、D1、D2、D3……動画像データ、D15乃至D16、D23乃至D28、D81、D84、D85……簡易動きベクトル、D37、D51、D52、D76、D78……動きベクトル、D80、D82、D83……第3階層動きベクトル。
Claims (6)
- 1つの動画像データを構成する複数のフレーム画像データそれぞれの暫定的な、圧縮符号化の種類を規定するピクチャタイプに従い、上記1つの動画像データから得られる解像度の異なる複数の動画像データのうち最も低い解像度の上記動画像データに含まれる動きベクトル検出対象のフレーム画像内の所定ブロックと、上記最も低い解像度の上記動画像データに含まれる参照用のフレーム画像との最小予測誤差を算出するようにして当該所定ブロックの階層動きベクトルを検出する階層動きベクトル検出手段と、
上記階層動きベクトル検出手段により上記暫定的な上記ピクチャタイプに従い上記階層動きベクトルが検出されたときに算出された上記最小予測誤差に基づき、上記1つの動画像データを構成する上記複数のフレーム画像データについてシーンが変更された時点のフレーム画像データであるかを検出するシーンチェンジ検出手段と、
上記シーンチェンジ検出手段により、上記1つの動画像データを構成する上記複数のフレーム画像データについて上記シーンが変更された時点のフレーム画像データであることが検出されないときは上記暫定的な上記ピクチャタイプを変更せずに確定し、上記1つの動画像データを構成する上記複数のフレーム画像データについて上記シーンが変更された時点のフレーム画像データであることが検出されたときは上記暫定的な上記ピクチャタイプを変更して確定するピクチャタイプ確定手段と、
解像度の異なる複数の上記動画像データのうち上記最も低い解像度以上の少なくとも2種類の解像度の上記動画像データをそれぞれ上記ピクチャタイプ確定手段により確定された上記ピクチャタイプに従い、フレーム内符号化により圧縮符号化すると共に、上記階層動きベクトルを共有化して用いて上記少なくとも2種類の解像度にそれぞれ合わせた動きベクトルを検出して、当該検出した動きベクトルを用いた動き補償予測符号化により圧縮符号化する圧縮符号化手段と
を具え、
上記階層動きベクトル検出手段は、
上記ピクチャタイプ確定手段により上記暫定的な上記ピクチャタイプが変更されずに確定されたときには、当該変更されずに確定された上記ピクチャタイプに従って検出していた上記階層動きベクトルを、上記少なくとも2種類の解像度にそれぞれ合わせた上記動きベクトルの検出用として上記圧縮符号化手段に供給し、上記ピクチャタイプ確定手段により上記暫定的な上記ピクチャタイプが変更されて確定されたときには、当該変更後の上記ピクチャタイプに従い、上記最も低い解像度の上記動画像データに含まれる動きベクトル検出対象のフレーム画像内の所定ブロックと、上記最も低い解像度の上記動画像データに含まれる参照用のフレーム画像との最小予測誤差を算出するようにして当該所定ブロックの上記階層動きベクトルを検出し直して、上記少なくとも2種類の解像度にそれぞれ合わせた上記動きベクトルの検出用として上記圧縮符号化手段に供給する
動画像符号化装置。 - 上記ピクチャタイプ確定手段は、
上記1つの動画像データを構成する上記複数のフレーム画像データにそれぞれ上記ピクチャタイプを暫定的に割り当て、上記シーンチェンジ検出手段により、上記1つの動画像データを構成する上記複数のフレーム画像データについて上記シーンが変更された時点のフレーム画像データであることが検出されないときは上記暫定的な上記ピクチャタイプを変更せずに確定し、上記1つの動画像データを構成する上記複数のフレーム画像データについて上記シーンが変更された時点のフレーム画像データであることが検出されたときは上記暫定的な上記ピクチャタイプを変更して確定する
請求項1に記載の動画像符号化装置。 - 外部から与えられた、解像度の変換率を指定する変換率指定情報に基づいて、上記1つの動画像データから解像度の異なる複数の上記動画像データを生成すると共に、当該生成した解像度の異なる複数の上記動画像データをそれぞれ対応する上記変換率指定情報と共に上記圧縮符号化手段に送出する解像度変換手段
を具え、
上記圧縮符号化手段は、
上記最も低い解像度以上の上記少なくとも2種類の解像度の上記動画像データに対応する上記変換率指定情報に基づいて、当該少なくとも2種類の解像度にそれぞれ合わせた上記動きベクトルを検出する
請求項2に記載の動画像符号化装置。 - 1つの動画像データを構成する複数のフレーム画像データそれぞれの暫定的な、圧縮符号化の種類を規定するピクチャタイプに従い、上記1つの動画像データから得られる解像度の異なる複数の動画像データのうち最も低い解像度の上記動画像データに含まれる動きベクトル検出対象のフレーム画像内の所定ブロックと、上記最も低い解像度の上記動画像データに含まれる参照用のフレーム画像との最小予測誤差を算出するようにして当該所定ブロックの階層動きベクトルを検出する階層動きベクトル検出ステップと、
上記暫定的な上記ピクチャタイプに従い上記階層動きベクトルを検出したときに算出した上記最小予測誤差に基づき、上記1つの動画像データを構成する上記複数のフレーム画像データについてシーンが変更された時点のフレーム画像データであるかを検出するようにして、当該1つの動画像データを構成する上記複数のフレーム画像データについて上記シーンが変更された時点のフレーム画像データであることを検出しないときは上記暫定的な上記ピクチャタイプを変更せずに確定し、上記1つの動画像データを構成する上記複数のフレーム画像データについて上記シーンが変更された時点のフレーム画像データであることを検出したときは上記暫定的な上記ピクチャタイプを変更して確定すると共に、当該変更後のピクチャタイプに従い、上記最も低い解像度の上記動画像データに含まれる動きベクトル検出対象のフレーム画像内の所定ブロックと、上記最も低い解像度の上記動画像データに含まれる参照用のフレーム画像との最小予測誤差を算出するようにして当該所定ブロックの上記階層動きベクトルを検出し直すピクチャタイプ確定ステップと、
解像度の異なる複数の上記動画像データのうち上記最も低い解像度以上の少なくとも2種類の解像度の上記動画像データをそれぞれ、上記確定した上記ピクチャタイプに従い、フレーム内符号化により圧縮符号化すると共に、上記階層動きベクトルを共有化して用いて上記少なくとも2種類の解像度にそれぞれ合わせた動きベクトルを検出して、当該検出した動きベクトルを用いた動き補償予測符号化により圧縮符号化する圧縮符号化ステップと
を具える動画像符号化方法。 - コンピュータに
1つの動画像データを構成する複数のフレーム画像データそれぞれの暫定的な、圧縮符号化の種類を規定するピクチャタイプに従い、上記1つの動画像データから得られる解像度の異なる複数の動画像データのうち最も低い解像度の上記動画像データに含まれる動きベクトル検出対象のフレーム画像内の所定ブロックと、上記最も低い解像度の上記動画像データに含まれる参照用のフレーム画像との最小予測誤差を算出するようにして当該所定ブロックの階層動きベクトルを検出する階層動きベクトル検出ステップと、
上記暫定的な上記ピクチャタイプに従い上記階層動きベクトルを検出したときに算出した上記最小予測誤差に基づき、上記1つの動画像データを構成する上記複数のフレーム画像データについてシーンが変更された時点のフレーム画像データであるかを検出するようにして、当該1つの動画像データを構成する上記複数のフレーム画像データについて上記シーンが変更された時点のフレーム画像データであることを検出しないときは上記暫定的な上記ピクチャタイプを変更せずに確定し、上記1つの動画像データを構成する上記複数のフレーム画像データについて上記シーンが変更された時点のフレーム画像データであることを検出したときは上記暫定的な上記ピクチャタイプを変更して確定すると共に、当該変更後のピクチャタイプに従い、上記最も低い解像度の上記動画像データに含まれる動きベクトル検出対象のフレーム画像内の所定ブロックと、上記最も低い解像度の上記動画像データに含まれる参照用のフレーム画像との最小予測誤差を算出するようにして当該所定ブロックの上記階層動きベクトルを検出し直すピクチャタイプ確定ステップと、
解像度の異なる複数の上記動画像データのうち上記最も低い解像度以上の少なくとも2種類の解像度の上記動画像データをそれぞれ、上記確定した上記ピクチャタイプに従い、フレーム内符号化により圧縮符号化すると共に、上記階層動きベクトルを共有化して用いて上記少なくとも2種類の解像度にそれぞれ合わせた動きベクトルを検出して、当該検出した動きベクトルを用いた動き補償予測符号化により圧縮符号化する圧縮符号化ステップと
を実行させるための動画像符号化プログラムを格納したコンピュータ読取可能な動画像符号化プログラム格納媒体。 - コンピュータに
1つの動画像データを構成する複数のフレーム画像データそれぞれの暫定的な、圧縮符号化の種類を規定するピクチャタイプに従い、上記1つの動画像データから得られる解像度の異なる複数の動画像データのうち最も低い解像度の上記動画像データに含まれる動きベクトル検出対象のフレーム画像内の所定ブロックと、上記最も低い解像度の上記動画像データに含まれる参照用のフレーム画像との最小予測誤差を算出するようにして当該所定ブロックの階層動きベクトルを検出する階層動きベクトル検出ステップと、
上記暫定的な上記ピクチャタイプに従い上記階層動きベクトルを検出したときに算出した上記最小予測誤差に基づき、上記1つの動画像データを構成する上記複数のフレーム画像データについてシーンが変更された時点のフレーム画像データであるかを検出するようにして、当該1つの動画像データを構成する上記複数のフレーム画像データについて上記シーンが変更された時点のフレーム画像データであることを検出しないときは上記暫定的な上記ピクチャタイプを変更せずに確定し、上記1つの動画像データを構成する上記複数のフレーム画像データについて上記シーンが変更された時点のフレーム画像データであることを検出したときは上記暫定的な上記ピクチャタイプを変更して確定すると共に、当該変更後のピクチャタイプに従い、上記最も低い解像度の上記動画像データに含まれる動きベクトル検出対象のフレーム画像内の所定ブロックと、上記最も低い解像度の上記動画像データに含まれる参照用のフレーム画像との最小予測誤差を算出するようにして当該所定ブロックの上記階層動きベクトルを検出し直すピクチャタイプ確定ステップと、
解像度の異なる複数の上記動画像データのうち上記最も低い解像度以上の少なくとも2種類の解像度の上記動画像データをそれぞれ、上記確定した上記ピクチャタイプに従い、フレーム内符号化により圧縮符号化すると共に、上記階層動きベクトルを共有化して用いて上記少なくとも2種類の解像度にそれぞれ合わせた動きベクトルを検出して、当該検出した動きベクトルを用いた動き補償予測符号化により圧縮符号化する圧縮符号化ステップと
を実行させるための動画像符号化プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001145580A JP4779230B2 (ja) | 2001-05-15 | 2001-05-15 | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム格納媒体及び動画像符号化プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001145580A JP4779230B2 (ja) | 2001-05-15 | 2001-05-15 | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム格納媒体及び動画像符号化プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002344972A JP2002344972A (ja) | 2002-11-29 |
JP4779230B2 true JP4779230B2 (ja) | 2011-09-28 |
Family
ID=18991367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001145580A Expired - Fee Related JP4779230B2 (ja) | 2001-05-15 | 2001-05-15 | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム格納媒体及び動画像符号化プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4779230B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2667194C (en) * | 2006-10-23 | 2013-06-25 | Vidyo, Inc. | System and method for scalable video coding using telescopic mode flags |
JP2008211294A (ja) * | 2007-02-23 | 2008-09-11 | Saxa Inc | 符号化装置および符号化方法 |
EP2680527A1 (en) * | 2012-06-28 | 2014-01-01 | Alcatel-Lucent | Adaptive streaming aware node, encoder and client enabling smooth quality transition |
KR102281217B1 (ko) * | 2015-10-30 | 2021-07-23 | 에스케이텔레콤 주식회사 | 인코딩 방법 및 디코딩 방법, 그리고 이를 위한 장치 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3189258B2 (ja) * | 1993-01-11 | 2001-07-16 | ソニー株式会社 | 画像信号符号化方法および画像信号符号化装置、並びに画像信号復号化方法および画像信号復号化装置 |
JP2971724B2 (ja) * | 1994-02-22 | 1999-11-08 | ケイディディ株式会社 | 動画像のカット点検出装置 |
JP3240024B2 (ja) * | 1993-12-27 | 2001-12-17 | ソニー株式会社 | 画像処理方法 |
JP3532709B2 (ja) * | 1996-10-29 | 2004-05-31 | 株式会社東芝 | 動画像符号化方法および装置 |
-
2001
- 2001-05-15 JP JP2001145580A patent/JP4779230B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002344972A (ja) | 2002-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4765194B2 (ja) | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム格納媒体及び動画像符号化プログラム | |
JP3072035B2 (ja) | 2ステージビデオフィルム圧縮方法及びシステム | |
JP3861698B2 (ja) | 画像情報符号化装置及び方法、画像情報復号装置及び方法、並びにプログラム | |
JP3093499B2 (ja) | シーンチェンジ検出装置 | |
US10469851B2 (en) | Advanced video coding method, system, apparatus, and storage medium | |
JP4779230B2 (ja) | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム格納媒体及び動画像符号化プログラム | |
JP5032936B2 (ja) | 動画像符号化装置及びその制御方法 | |
JP2004523985A (ja) | ビデオ符号化方法及びこれに対応する符号化装置 | |
JP4278385B2 (ja) | グレースフルデグラデーションを伴う低減された複雑度を有するidct復号 | |
JP4421734B2 (ja) | 符号化データ変換方法,及びデータ記録媒体 | |
JP2010010917A (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法、及び動画像復号方法 | |
JP2004521547A (ja) | ビデオ符号化器及び記録装置 | |
CN1204747C (zh) | 影像转换编码装置 | |
JP4169767B2 (ja) | 符号化方法 | |
US6845179B1 (en) | Motion predicted image signal compression | |
JPH11308618A (ja) | 画像信号処理装置及び方法並びに画像信号再生装置 | |
JP4243286B2 (ja) | 符号化方法 | |
JP2002344973A (ja) | 画像符号化データのサイズ変換方法、画像符号化データ伝送方法、及び画像符号化データサイズ変換装置 | |
JP2004056616A (ja) | 符号化信号復号装置、符号化信号復号方法および符号化信号復号プログラム | |
JP2005151167A (ja) | 動き補償予測符号化装置及び動き補償予測符号化プログラム | |
JPH1066092A (ja) | 映像データ圧縮装置およびその方法 | |
JP2002185969A (ja) | 動画像符号化データの形式変換方法及び装置 | |
JP4100067B2 (ja) | 画像情報変換方法及び画像情報変換装置 | |
JP2007036887A (ja) | 符号化方法 | |
JP2002335531A (ja) | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム格納媒体及び動画像符号化プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080306 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091210 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100902 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101101 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110607 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110620 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140715 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140715 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |