JP2005191876A - データ処理装置、および符号化装置 - Google Patents
データ処理装置、および符号化装置 Download PDFInfo
- Publication number
- JP2005191876A JP2005191876A JP2003430106A JP2003430106A JP2005191876A JP 2005191876 A JP2005191876 A JP 2005191876A JP 2003430106 A JP2003430106 A JP 2003430106A JP 2003430106 A JP2003430106 A JP 2003430106A JP 2005191876 A JP2005191876 A JP 2005191876A
- Authority
- JP
- Japan
- Prior art keywords
- motion compensation
- image data
- motion vector
- motion
- data
- 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.)
- Granted
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【解決手段】複数の異なるサイズの動き補償ブロックを単位として、動きベクトルを生成する動きベクトル生成部391と、動き補償ブロックを単位として、参照画像データの間の差分、および動き補償に伴い発生する発生情報量に基づいて指標データを生成する指標データ生成部392と、複数の動き補償ブロックのうち大きいサイズから小さいサイズ順に、または逆順に、動きベクトルおよび指標データを探索する過程で、第1の動き補償ブロックでのデータよりも、第1の動き補償ブロックの次の第2の動き補償ブロックでのデータが大きい場合には、それ以降の動き補償ブロックに対しての探索を中止し、第1の動き補償ブロックと、第1の動き補償ブロックで動きベクトル生成手段が生成した動きベクトルを選択する制御部393とを設ける。
【選択図】図3
Description
JVT方式では、MPEGと同様に、動き予測・補償処理において、動きベクトルを基にした動き予測・補償を行う。
ところで、JVT方式の符号化装置では、例えば、上記動き予測・補償処理において、複数の動き補償ブロックのサイズ、例えば16×16,16×8,8×16,8×8画素のサイズが規定され、8×8画素のサイズには8×8,8×4,4×8,4×4画素が規定されている。
上述した符号化装置では、各マクロブロックMBの動き予測・補償処理を、上記全ての種類の動き予測ブロックサイズを基に予測画像を生成し、原画像との差分が最小となる予測画像を得て動き予測ブロックサイズを最終的に採用して行っている。これにより、高い符号化効率が得られる。
トーマス・ウィーガント,ゲーリー・J・サリバン,ギスレ・ビョンテガード,アジャイ・ルスラ(Thomas Wiegand, Gary J.Sullivan, Gisle Bjontegaard, and Ajay Luthra),ビデオコーディングスタンダードの概要(Overview of the H.264/AVC Video Coding Standard),「IEEEのビデオ技術用の処理回路およびシステム」(IEEE TRANSACTIONS CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY),(米国),,2003年7月,
また、JVT方式の符号化装置では、双方向の動き予測・補償処理を行い、いわゆるBピクチャーを生成する場合があり、さらに膨大な演算処理を行う必要がある。
動きベクトル生成手段は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、動き補償で参照される参照画像データの間の差分に基づいて動きベクトルを生成する。
指標データ生成手段は、動き補償ブロックを単位として、動き補償の対象となる画像データと、参照画像データの間の差分、および動き補償に伴い発生する発生情報量に基づいて指標データを生成する。
制御手段は、複数の動き補償ブロックのうち大きいサイズから小さいサイズ順に、または逆順に、動きベクトルおよび指標データを探索する過程で、第1の動き補償ブロックでの第1の指標データよりも、第1の動き補償ブロックの次の第2の動き補償ブロックでの第2の指標データが大きい場合には、それ以降の動き補償ブロックに対しての探索を中止し、第1の動き補償ブロックと、第1の動き補償ブロックで動きベクトル生成手段が生成した動きベクトルを選択する。
動きベクトル生成手段は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、動き補償で参照される参照画像データの間の差分に基づいて、動きベクトルを生成する。
制御手段は、複数の異なるサイズの動き補償ブロックと量子化パラメータに関する閾値とを対応付ける対応情報を基に、符号化時の量子化パラメータよりも大きい閾値に対応付けられたサイズの動き補償ブロックについてのみ探索して、動きベクトル生成手段に動きベクトルを生成させる。
動きベクトル生成手段は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、動き補償で参照される参照画像データ間の差分絶対値和に基づいて動きベクトルを生成する。
制御手段は、精度の異なる第1および第2の精度で、複数の動き補償ブロックそれぞれについて動きベクトルの探索を行う際に、第1の精度で動きベクトル生成手段が生成した動きベクトルに対応する差分絶対値和が、複数の異なるサイズの動き補償ブロックそれぞれに予め設定された差分絶対値和に関する閾値よりも大きい場合には、第2の精度についての探索を中止する。
符号化手段は、複数の異なるサイズの動き補償ブロックを単位として、双方向の動き補償により、画像データの符号化を行う。
制御手段は、符号化手段による符号化の際の量子化パラメータが、予め設定された量子化パラメータに関する閾値よりも大きい場合には、一方向の動き補償により画像データの符号化を符号化手段に行わせ、量子化パラメータが閾値より小さい場合には、双方向の動き補償により符号化を符号化手段に行わせる。
動きベクトル生成手段は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、前記動き補償で参照される参照画像データ間の差分絶対値和に基づいて動きベクトルを生成する。
制御手段は、画像データの解像度に基づいて、複数の異なるサイズの動き補償ブロックのうち、画像データの解像度が高くなるにしたがって大きなサイズの動き補償ブロックを選択し、選択したサイズの動き補償ブロックについて、動きベクトル生成手段に動きベクトルを生成させる制御を行う。
動きベクトル生成手段は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、動き補償で参照される参照画像データの間の差分に基づいて動きベクトルを生成する。
指標データ生成手段は、動き補償ブロックを単位として、動き補償の対象となる画像データと、参照画像データの間の差分、および動き補償に伴い発生する発生情報量に基づいて指標データを生成する。
制御手段は、複数の動き補償ブロックのうち大きいサイズから小さいサイズ順に、または逆順に、動きベクトルおよび指標データを探索する過程で、第1の動き補償ブロックでの第1の指標データよりも、第1の動き補償ブロックの次の第2の動き補償ブロックでの第2の指標データが大きい場合には、それ以降の動き補償ブロックに対しての探索を中止し、第1の動き補償ブロックと、第1の動き補償ブロックで動きベクトル生成手段が生成した動きベクトルを選択し、動きベクトルを基に予測画像データを出力する。
第1の処理手段は、動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す。
第2の処理手段は、第1の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する。
第3の処理手段は、制御手段が選択した動きベクトルおよび参照画像データを基に予測画像データを生成する。
符号化手段は、第1の処理手段で生成したデータ、および制御手段が選択した動きベクトルを基に符号化処理を行う。
動きベクトル生成手段は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、動き補償で参照される参照画像データの間の差分に基づいて、動きベクトルを生成する。
制御手段は、複数の異なるサイズの動き補償ブロックと量子化パラメータの閾値とを対応付ける対応情報を基に、符号化時の量子化パラメータよりも大きい閾値に対応付けられたサイズの動き補償ブロックについてのみ探索して、動きベクトル生成手段に動きベクトルを生成させ、動きベクトルを基に予測画像データを出力する。
第1の処理手段は、動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す。
第2の処理手段は、第1の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する。
符号化手段は、制御手段が選択した動きベクトルおよび参照画像データに基づいて、予測画像データを生成する第3の処理手段と、第1の処理手段で生成したデータ、および制御手段が選択した動きベクトルを基に符号化処理を行う。
動きベクトル生成手段は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、動き補償で参照される参照画像データ間の差分絶対値和に基づいて動きベクトルを生成する。
制御手段は、精度の異なる第1および第2の精度で、複数の動き補償ブロックそれぞれについて動きベクトルの探索を行う際に、第1の精度で動きベクトル生成手段が生成した動きベクトルに対応する差分絶対値和が、複数の異なるサイズの動き補償ブロックそれぞれに予め設定された差分絶対値和に関する閾値よりも大きい場合には、第2の精度についての探索を中止し、動きベクトルを基に予測画像データを出力する。
第1の処理手段は、動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す。
第2の処理手段は、第1の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する。
第3の処理手段は、動きベクトル生成手段が生成した動きベクトルおよび参照画像データに基づいて、予測画像データを生成する。
符号化手段は、第1の処理手段で生成したデータ、および制御手段が選択した動きベクトルを基に符号化処理を行う。
第1の処理手段は、動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す。
第2の処理手段は、第1の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する。
第3の処理手段は、動きベクトルおよび参照画像データに基づいて、予測画像データを生成する。
符号化手段は、複数の異なるサイズの動き補償ブロックを単位として、双方向の動き補償により、第1の処理手段で生成したデータ、動きベクトルを基に符号化処理を行う。
制御手段は、符号化手段による符号化処理の際の量子化パラメータが、予め設定された量子化パラメータに関する閾値よりも大きい場合には、一方向の動き補償により画像データの符号化を符号化手段に行わせ、量子化パラメータが閾値より小さい場合には、双方向の動き補償により符号化を符号化手段に行わせる。
動きベクトル生成手段は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、動き補償で参照される参照画像データ間の差分絶対値和に基づいて動きベクトルを生成する。
制御手段は、画像データの解像度に基づいて、複数の異なるサイズの動き補償ブロックのうち、画像データの解像度が高くなるにしたがって大きなサイズの動き補償ブロックを選択し、選択したサイズの動き補償ブロックについて、動きベクトル生成手段に動きベクトルを生成させる制御を行う。
第1の処理手段は、動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す。
第2の処理手段は、第1の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する。
第3の処理手段は、動きベクトル生成手段が生成した動きベクトルおよび参照画像データに基づいて、予測画像データを生成する。
符号化手段は、第1の処理手段で生成したデータ、および制御手段が選択した動きベクトルを基に符号化処理を行う。
図1に示すように、通信システム1は、送信側に設けられた符号化装置2と、受信側に設けられた復号装置3とを有する。
通信システム1では、送信側の符号化装置2において、離散コサイン変換やカルーネン・レーベ変換などの直交変換と動き補償によって圧縮したフレーム画像データ(ビットストリーム)を生成し、当該フレーム画像データを変調した後に、衛星放送波、ケーブルTV網、電話回線網、携帯電話回線網などの伝送媒体を介して送信する。
受信側では、受信した画像信号を復調した後に、上記変調時の直交変換の逆変換と動き補償によって伸張したフレーム画像データを生成して利用する。
なお、上記伝送媒体は、光ディスク、磁気ディスクおよび半導体メモリなどの記録媒体であってもよい。
図1に示す復号装置3は符号化装置2の符号化に対応した復号を行い、従来と同じ構成を有している
なろ、本実施形態では、符号化装置2において、動き予測・補償処理を行う場合に、予め規定された複数の異なるサイズのブロック全を用いて探索し、マクロブロックMBの動きベクトルおよび予測画像の生成を行うのではなく、設定された中止条件により探索を中止することで、演算量の削減を図る。
図2は、図1に示す符号化装置2の全体構成図である。図3は、図2に示した動き予測・補償回路39の本発明に係る機能ブロック図である。
図2に示すように、符号化装置2は、例えば、A/D変換回路22、画面並べ替え回路23、演算回路24、直交変換回路25、量子化回路26、可逆符号化回路27、バッファ28、逆量子化回路29、逆直交変換回路30、レート制御回路32、フレームメモリ34、デブロックフィルタ38、および動き予測・補償回路39を主構成要素として有する。
また、動き予測・補償回路39は、例えば図3に示すように、動きベクトル生成部391、指標データ生成部392、および制御部393を有する。
A/D変換回路22は、入力されたアナログの輝度信号Y、色差信号Cb,Crから構成される原画像信号S10をデジタルのフレームデータS22に変換し、これを画面並べ替え回路23に出力する。
画面並べ替え回路23は、A/D変換回路22から入力したフレームデータS22を、そのピクチャタイプI,P,BからなるGOP(Group Of Pictures) 構造に応じて、符号化する順番に並べ替えたフレームデータS23を演算回路24、演算回路24、レート制御回路32および動き予測・補償回路39に出力する。
直交変換回路25は、画像データS24に離散コサイン変換やカルーネン・レーベ変換などの直交変換を施して画像データ(例えばDCT係数)S25を生成し、これを量子化回路26に出力する。
量子化回路26は、レート制御回路32から入力した量子化スケールで、画像データS25を量子化して画像データS26を生成し、これを可逆符号化回路27および逆量子化回路29に出力する。
このとき、可逆符号化回路27は、インター予測符号化が行われた場合には、動き予測・補償回路39から入力した動きベクトルMVを符号化してヘッダデータに格納する。
逆量子化回路29は、他の動き補償ブロックMCBから参照される参照画像データの動き補償ブロックMCBの画像データS26を逆量子化した信号を生成し、これを逆直交変換回路30に出力する。
逆直交変換回路30は、デブロックフィルタ38から入力した画像データに、直交変換回路25における直交変換の逆変換を施して生成した画像データS30をデブロックフィルタ38を介してフレームメモリ34に書き込む。
デブロックフィルタ38は、画像データS26のブロック歪みを除去した画像データを、フレームメモリ34に出力する。
そして、レート制御回路32は、上記生成した量子化パラメータQp、並びにバッファ28から読み出した画像データを基に量子化スケールを生成し、これを量子化回路26に出力する。
また、レート制御回路32は、上記生成した量子化パラメータQpを、動き予測・補償回路39に出力する。
動き予測・補償回路39は、符号化対象のフレームデータS23およびフレームメモリ34からの参照画像データREFを基に、参照画像データ内の探索範囲SRを探索して、動き予測・補償処理を行って動き補償ブロックMCBを単位として、動きベクトルMVを算出する。
Pピクチャは、表示順が前(過去)のIピクチャまたはPピクチャを基に予測を行って符号化される画像データを示す。
Bピクチャは、表示順が前(過去)および後(未来)のIピクチャおよびPピクチャを基に双方向予測によって符号化される画像データを示す。
動き予測ブロック(マクロブロックMB)のブロックサイズには、例えば図5に示すように、16×16,16×8,8×16,8×8画素のサイズが規定され、また、8×8,8×4,4×8,および4×4画素のサイズが規定される。
そして、動き予測・補償回路39は、後述する指標データCostを最小にする動きベクトルMV、並びにそれに対応する動き補償ブロックMCBのサイズを選択する。
また、動き予測・補償回路39は、上記選択した動きベクトルMVを基に、上記選択したサイズの動き補償ブロックMCBについての予測画像データPIを生成する。
動き予測・補償回路39は、上記選択した動きベクトルMVを可逆符号化回路27に出力し、上記生成した予測画像データPIを演算回路24に出力する。
一般的なMPEGやJVT等の動画符号化処理では、ブロックサイズを例えば図5に示した複数の候補の中から選ぶことができる。
このブロックの分割が細かいほど、原画に近い予測画を生成する動きベクトルMVが選択でき、低ビットレートで高画質を達成できる利点がある。しかし超低ビットレートではブロックの分割が細かい場合には、分割が増えたことによるMVの符号コストが増大し、逆に圧縮効率が悪くなるという問題点がある。
最適なブロックの分割サイズを求めるために、一般的な符号化装置では、例えば図6に示すように、動きベクトルMVを生成する際に、各ブロックサイズそれぞれについて動きベクトルを生成し、それぞれのブロックサイズで求めた中で、最もビット発生量の小さい動きベクトルMV、およびブロックサイズを選択する。
具体的には、例えば図6に示すように、ブロックサイズ16×16、16×8、8×16、8×8、8×4、4×8、4×4について整数ピクセル精度での動きベクトルMVおよび非整数ピクセル精度(例えば1/2ピクセルや1/4ピクセル精度)の動きベクトルを探索し、その求めた動きベクトルの中で、最小のビット発生量の動きベクトルMVおよびブロックサイズを選択している。
しかし、整数ピクセル精度の段階で動きベクトルMVが、見当違いな値を算出した場合であっても、非整数ピクセル精度で動きベクトルを求めるという、無駄な演算を行っている場合もある。
上述したように、動き予測・補償回路39は、例えば図3に示すように、動きベクトル生成部391、指標データ生成部392、および制御部393を主構成要素として有する。
また、c(x−mx,y−my)は、参照画像データREF内の画素位置(x−mx,y−my)の画素データを示す。
ここで,(mx,my)によって動きベクトルMVが規定される。
数式(1)では、フレームデータS23内の処理対象の動き補償ブロックMCBを構成する全ての画素データについて、演算が行われるように、動き補償ブロックMCB内の全ての画素位置(x,y)が順に選択される。
動きベクトルに応じた発生量Rは、例えばテーブルルックアップ(Table lookup)により求められる動きベクトル差分の発生情報量である。発生情報量Rは、例えばエントロピー符号化処理、具体的にはUVLC(Universal Variable Length Code)やCABAC(Context based adaptive Binary Arithmetic Coding )により求められる。
そして制御部393は、予め規定された複数の異なる大きさのブロックサイズのマクロブロックから順に探索した場合に、今調べているブロックサイズの発生ビット量よりも、すでに探索したブロックサイズでの発生ビット量が大きい場合には、それ以上の細かいサイズ(小さいサイズ)のブロックについては探索を中止し、その発生ビット量が極小を示すブロックサイズでの動きベクトルを選択する。
これにより、全てのブロックサイズの探索を行うことなく、計算量を大きく削減することができる。
例えば、ブロックサイズが16×16、16×8、8×16、8×8の4種類がある場合のフローを説明する。
つまり、本実施形態に係る符号化装置では、この特徴を利用して探索を行う過程で、ビット発生量の極小を検出した時点で探索を中止し、その極小でのブロックサイズと、動きベクトルとを選択することにより、計算量を削減している。
より具体的には制御部393は、例えば図7に示すように、ブロックサイズ16×16から小さいサイズに順に探索を行う過程で、ブロックサイズ8×8でのビット発生量(指標データ)よりも、ブロックサイズ8×8の次の8×4のブロックサイズでのビット発生量(指標データ)が大きい場合には、それ以降の動き補償ブロックに対しての探索を中止し、8×8のブロックと、そのブロックでの動きベクトルを選択する。
簡単な説明のため、ブロックサイズが16×16,16×8,8×16,8×8の場合を説明する。
ステップST11において、制御部393は、動きベクトル生成部391および指標データ生成部392を制御して、ブロックサイズ16×16のマクロブロックを単位として、動きベクトルMVを生成させ、発生情報量を基に指標データCost(16×16)を算出させる。ここでカッコ内はブロックサイズを示す。
一方、ステップST15において、Cost(16×16)がCost2以下であると判別した場合には、制御部393は、ブロックサイズ8×8以降の探索を行わずに、ステップST17の処理に進む。
ステップST17において、制御部393は、演算したブロックサイズの中で、最小の指標データCostのブロックサイズおよび動きベクトルMVを選択する。
制御部393は、選択した動きベクトルMVを可逆符号化回路27に出力する。
つまり、全てのブロックサイズについて探索を行うことなく、中止条件により探索を中止するので演算量を削減することができる。
第2実施形態に係る符号化装置2は、ブロックサイズおよび動きベクトルMVBの探索において、画像符号化時の量子化パラメータQpを考慮した中止条件を設定することで、計算量が削減する。
具体的には本実施形態に係る動きベクトル生成部391は、複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データS23と、動き補償で参照される参照画像データREFの間の差分に基づいて、動きベクトルMVを生成する。
具体的には、図9(a)に示すように、ブロックサイズ(16×16)について、横軸は量子化パラメータQp、縦軸は、探索結果によりブロックサイズ16×16のマクロブロックMBが選ばれた数を示す。ブロックサイズ(16×8)についても同様に、図9(b)に示すような統計データを生成する。また、ブロックサイズ8×16,8×8,8×4,4×8,4×4についても同様な統計データを生成するが、簡単な説明のため省略する。
図9(a),(b)等に示すように、量子化パラメータQpが大きくなると、ある値で急激に選ばれる回数が少なくなるという特徴を有する。また、ブロックサイズが小さくなると、その値が小さくなる特徴を有する。
具体的には、例えば量子化パラメータQpが0からQpthまでの累積数が全体の97%程度となるように、閾値Qpthを設定する。例えば閾値Qpthは、特徴や演算量、符号化の負荷、Cost等を考慮して設定する。制御部393が統計データ生成し、生成結果を基に設定してもよいし、予め設定してもよい。
上述したように例えば閾値Qpthは、統計データを基に図10に示すように、複数の異なるサイズの動き補償ブロックと量子化パラメータに関する閾値とを対応付ける対応情報TBを生成する。
また、制御部393は、探索した動き補償ブロック(マクロブロックMB)のうち、指標データ生成部392が生成した指標データCostが最小となる動き補償ブロック(マクロブロックMB)と、その動き補償ブロック(マクロブロックMB)について動きベクトル生成部391が生成した動きベクトルMVを選択する。
本実施形態では、探索は、ブロックサイズ16×16,16×8,8×16,8×8,8×4,4×8,4×4の順に行うとする。
制御部は393は、現在の量子化パラメータQpが閾値Qpth_16×16以下であると判別すると、ブロックサイズ16×16についての探索を行う。具体的には、制御部393は、動きベクトル生成部391に、そのサイズでの動きベクトルMVを生成させ(ST102)、ステップST103の処理に進む。
制御部393は、現在の量子化パラメータQpが閾値Qpth_16×8以下であると判別すると、ブロックサイズ16×8についての探索を行う。具体的には、制御部393は、動きベクトル生成部391に、そのサイズでの動きベクトルMVを生成させ(ST104)、次の処理に進む。
一方、ステップST103において、制御部393は、現在の量子化パラメータQpが閾値Qpth_16×8より大きいと判別すると、16×8のブロックサイズについての探索を行わずに、次の処理に進む。
以下、ブロックサイズ8×16,8×8,8×4,4×8,4×4についても同様に行い、ステップST110において、制御部393は、探索した動き補償ブロック(マクロブロックMB)のうち、指標データ生成部392が生成した指標データCostが最小となる動き補償ブロック(マクロブロックMB)と、その動き補償ブロック(マクロブロックMB)について動きベクトル生成部391が生成した動きベクトルMVを選択する。
本実施形態に係る動き予測・補償回路39は、第1実施形態と略同様に、動きベクトル生成部391、指標データ生成部392、および制御部393を主構成要素として有する。以下、相違点を中心に詳細に説明する。
第3実施形態に係る符号化装置2は、探索過程での中止条件として、各ブロックに対して、予測画像に対する差分絶対値和SADの閾値をQpに応じて設定する。例えば、各ブロックサイズの動きベクトル(MV)を求める過程で、差分絶対値和SADが閾値を超えた場合に、探索を中断することにより、計算量を削減する。
ブロックサイズそれぞれについて、この差分絶対値和SADの許容量を閾値SADthとして各量子化パラメータQpについて求めておき、動きベクトルMVでの探索過程での中止条件に用いる。
また、制御部393は、複数のサイズの動き補償ブロックを単位として、動きベクトル生成部391が、第1および第2の精度で生成した動きベクトルの内、動き補償ブロックそれぞれに対応して指標データ生成部392が生成した指標データCostが最小となるサイズの動き補償ブロック(マクロブロック)MBおよび動きベクトルMVを選択する。
制御部393は、例えば上述した図12に示すように、ブロックサイズが最終的に、マクロブロックのブロックサイズとして採用されるときの差分絶対値和SADのとり得る許容値を算出し、ブロックサイズそれぞれについて、この差分絶対値和SADの許容量を閾値SADthとして各量子化パラメータQpについて求め、例えば図13(a)〜(g)に示すように、各ブロックサイズに対して、差分絶対値和SADに関する閾値SADthが、量子化パラメータに応じて規定される。つまり対応付けられている。
具体的には、図13(a)に示すように、量子化パラメータQ1,Q2,…と、閾値SAD16×16_Q1,閾値SAD16×16_Q2,…、図13(b)に示すように、量子化パラメータQ1,Q2,…と、閾値SAD16×8_Q1,閾値SAD16×8_Q2,…、図13(c)に示すように、量子化パラメータQ1,Q2,…と、閾値SAD8×16_Q1,閾値SAD8×16_Q2,…、図13(d)に示すように、量子化パラメータQ1,Q2,…と、閾値SAD8×8_Q1,閾値SAD8×8_Q2,…、図13(e)に示すように、量子化パラメータQ1,Q2,…と、閾値SAD8×4_Q1,閾値SAD8×4_Q2,…、図13(f)に示すように、量子化パラメータQ1,Q2,…と、閾値SAD4×8_Q1,閾値SAD4×8_Q2,…、図13(g)に示すように、量子化パラメータQ1,Q2,…と、閾値SAD4×4_Q1,閾値SAD4×4_Q2,…とが関連付けられている。
制御部393は、図13(a)〜(g)に示した対応関係を基に、探索過程での中止条件を設定することで、演算量を削減する。
本実施形態では、制御部393は、例えばブロックサイズ16×16,16×8,8×16,8×8,8×4,4×8,4×4の順に探索を行うとする。
ステップST201において、例えば制御部393は、ブロックサイズ16×16のマクロブロックを単位として、整数ピクセル精度(第1の精度)での動きベクトルを、動きベクトル生成部391に生成させる。
ステップST202において、制御部393は、ステップST201の整数精度での動きベクトルMVを求めた段階で、差分絶対値和SADが、現在の量子化パラメータQpに対応する閾値SADth_16×16_Qpよりも大きいか否かを判別する。制御部393は、差分絶対値和SADが、現在の量子化パラメータQpに対応する閾値SADth_16×16_Qpよりも大きいと判別した場合には、探索を中止し、ステップST203の処理を行わない。また、制御部393は、その中止したブロックサイズを、最終的に選択されるブロックサイズの候補の中から除外する。
ステップST210において、制御部393は、非整数精度の動きベクトルMVまで求めているブロックサイズの中から、最も指標データCostが小さい動きベクトルMVおよびブロックサイズを選択する。
具体的には、制御部393は、複数のサイズの動き補償ブロックを単位として、動きベクトル生成部391が、第1および第2の精度で生成した動きベクトルの内、動き補償ブロックそれぞれに対応して指標データ生成部392が生成した指標データCostが最小となるサイズの動き補償ブロック(マクロブロック)MBおよび動きベクトルMVを選択する。
このうち、双方向予測では、動きベクトルとそれに対応する参照フレームインデックスが2つ必要であるため、他のモードよりもヘッダー部のビット量は高い。つまり量子化パラメータが大きい場合には、細かいブロックサイズが選ばれにくいのと同様に、量子化パラメータQpが大きい場合には、双方向予測が選ばれにくいという特徴を有する。
符号化手段として動きベクトル生成部391、指標データ生成部392および可逆符号化回路27は、複数の異なるサイズの動き補償ブロックを単位として、双方向の動き補償により、画像データの符号化を行う。
まず、符号化装置2は、Bピクチャの双方向予測モード選ばれにくい量子化パラメータQpに関する閾値を統計的に求める。
符号化手段として動きベクトル生成部391および可逆符号化回路27は、複数の異なるサイズの動き補償ブロックを単位として、双方向の動き補償により、画像データの符号化を行う。
制御部393は、上述した符号化手段による符号化の際の量子化パラメータQpが、予め設定された量子化パラメータQpに関する閾値よりも大きい場合には、一方向の動き補償により画像データの符号化を符号化手段に行わせ、量子化パラメータQpが閾値より小さい場合には、双方向の動き補償により符号化を符号化手段に行わせる。
具体的には、画像データの解像度が低い場合には、小さいブロックサイズによる予測画像生成が選択される傾向があることを利用して、ブロックサイズの判定を制限することで、演算量を削減する。
以下、詳細に説明する。
制御部393は、画像データの解像度に基づいて、複数の異なるサイズの動き補償ブロックのうち、画像データの解像度が高くなるにしたがって大きなサイズの動き補償ブロックを選択し、選択したサイズの動き補償ブロックについて、動きベクトル生成部391に動きベクトルMVを生成させる制御を行う。
制御部393は、画像データが第1の解像度の場合には、複数の異なるサイズの動き補償ブロックのうち、第1のサイズの動き補償ブロックを選択し、画像データが第1の解像度よりも低解像度の第2の解像度の場合には、第1のサイズよりも小さい動き補償ブロックを選択し、選択したサイズの動き補償ブロックについて、動きベクトル生成部391に動きベクトルを生成させる制御を行う。
例えば、ブロックサイズは、上述したサイズに限られるものではない。ブロックサイズは任意である。
また、本発明に係る符号化装置の各実施形態は、単独に実施してもよいし、各実施形態それぞれを組み合わせてもよい。こうすることにより、より演算量を削減することができる。
Claims (14)
- 複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、前記動き補償で参照される参照画像データの間の差分に基づいて動きベクトルを生成する動きベクトル生成手段と、
前記動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記参照画像データの間の差分、および前記動き補償に伴い発生する発生情報量に基づいて指標データを生成する指標データ生成手段と、
前記複数の動き補償ブロックのうち大きいサイズから小さいサイズ順に、または逆順に、前記動きベクトルおよび前記指標データを探索する過程で、第1の動き補償ブロックでの第1の指標データよりも、前記第1の動き補償ブロックの次の第2の動き補償ブロックでの第2の指標データが大きい場合には、それ以降の動き補償ブロックに対しての前記探索を中止し、前記第1の動き補償ブロックと、前記第1の動き補償ブロックで前記動きベクトル生成手段が生成した動きベクトルを選択する制御手段と
を有するデータ処理装置。 - 複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、前記動き補償で参照される参照画像データの間の差分に基づいて、動きベクトルを生成する動きベクトル生成手段と、
前記複数の異なるサイズの動き補償ブロックと量子化パラメータに関する閾値とを対応付ける対応情報を基に、符号化時の量子化パラメータよりも大きい前記閾値に対応付けられたサイズの動き補償ブロックについてのみ探索して、前記動きベクトル生成手段に動きベクトルを生成させる制御手段と
を有するデータ処理装置。 - 前記動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記参照画像データの間の差分、および前記動き補償に伴い発生する発生情報量に基づいて指標データを生成する指標データ生成手段を有し、
前記制御手段は、前記探索した動き補償ブロックのうち、前記指標データ生成手段が生成した指標データが最小となる動き補償ブロックと、当該動き補償ブロックについて前記動きベクトル生成手段が生成した動きベクトルを選択する
請求項2に記載のデータ処理装置。 - 複数の異なるサイズの動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記動き補償で参照される参照画像データ間の差分絶対値和に基づいて動きベクトルを生成する動きベクトル生成手段と、
精度の異なる第1および第2の精度で、前記複数の動き補償ブロックそれぞれについて前記動きベクトルの探索を行う際に、前記第1の精度で前記動きベクトル生成手段が生成した動きベクトルに対応する差分絶対値和が、前記複数の異なるサイズの動き補償ブロックそれぞれに予め設定された差分絶対値和に関する閾値よりも大きい場合には、前記第2の精度についての探索を中止する制御手段と
を有するデータ処理装置。 - 前記複数の異なるサイズの動き補償ブロックそれぞれに予め設定された差分絶対値和に関する閾値は、符号化の際の量子化パラメータに応じて規定される
請求項4に記載のデータ処理装置。 - 前記複数の異なるサイズの動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記参照画像データの間の差分、および前記動き補償に伴い発生する発生情報量に基づいて指標データを生成する指標データ生成手段を有し、
前記制御手段は、前記複数のサイズの動き補償ブロックを単位として、前記動きベクトル生成手段が、第1および第2の精度で生成した動きベクトルの内、前記動き補償ブロックそれぞれに対応して前記指標データ生成手段が生成した指標データが最小となるサイズの動き補償ブロックおよび前記動きベクトルを選択する
請求項5に記載のデータ処理装置。 - 複数の異なるサイズの動き補償ブロックを単位として、双方向の動き補償により、画像データの符号化を行う符号化手段と、
前記符号化手段による符号化の際の量子化パラメータが、予め設定された量子化パラメータに関する閾値よりも大きい場合には、一方向の動き補償により画像データの符号化を前記符号化手段に行わせ、前記量子化パラメータが前記閾値より小さい場合には、双方向の動き補償により符号化を前記符号化手段に行わせる制御手段と
を有するデータ処理装置。 - 複数の異なるサイズの動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記動き補償で参照される参照画像データ間の差分絶対値和に基づいて動きベクトルを生成する動きベクトル生成手段と、
前記画像データの解像度に基づいて、前記複数の異なるサイズの動き補償ブロックのうち、前記画像データの解像度が高くなるにしたがって大きなサイズの動き補償ブロックを選択し、前記選択したサイズの動き補償ブロックについて、前記動きベクトル生成手段に動きベクトルを生成させる制御を行う制御手段と
を有するデータ処理装置。 - 前記制御手段は、前記画像データが第1の解像度の場合には、前記複数の異なるサイズの動き補償ブロックのうち、第1のサイズの動き補償ブロックを選択し、画像データが第1の解像度よりも低解像度の第2の解像度の場合には、第1のサイズよりも小さい動き補償ブロックを選択し、前記選択したサイズの動き補償ブロックについて、前記動きベクトル生成手段に動きベクトルを生成させる制御を行う
請求項8に記載のデータ処理装置。 - 複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、前記動き補償で参照される参照画像データの間の差分に基づいて動きベクトルを生成する動きベクトル生成手段と、
前記動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記参照画像データの間の差分、および前記動き補償に伴い発生する発生情報量に基づいて指標データを生成する指標データ生成手段と、
前記複数の動き補償ブロックのうち大きいサイズから小さいサイズ順に、または逆順に、前記動きベクトルおよび前記指標データを探索する過程で、第1の動き補償ブロックでの第1の指標データよりも、前記第1の動き補償ブロックの次の第2の動き補償ブロックでの第2の指標データが大きい場合には、それ以降の動き補償ブロックに対しての前記探索を中止し、前記第1の動き補償ブロックと、前記第1の動き補償ブロックで前記動きベクトル生成手段が生成した動きベクトルを選択し、前記動きベクトルを基に予測画像データを出力する制御手段と、
前記動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す第1の処理手段と、
前記第1の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する第2の処理手段と、
前記制御手段が選択した動きベクトルおよび前記参照画像データを基に前記予測画像データを生成する第3の処理手段と、
前記第1の処理手段で生成したデータ、および前記制御手段が選択した動きベクトルを基に符号化処理を行う符号化手段と
を有する符号化装置。 - 複数の異なるサイズの動き補償ブロックを単位として、動き補償の対象となる画像データと、前記動き補償で参照される参照画像データの間の差分に基づいて、動きベクトルを生成する動きベクトル生成手段と、
前記複数の異なるサイズの動き補償ブロックと量子化パラメータの閾値とを対応付ける対応情報を基に、符号化時の量子化パラメータよりも大きい前記閾値に対応付けられたサイズの動き補償ブロックについてのみ探索して、前記動きベクトル生成手段に動きベクトルを生成させ、動きベクトルを基に予測画像データを出力する制御手段と、
前記動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す第1の処理手段と、
前記第1の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する第2の処理手段と、
前記制御手段が選択した動きベクトルおよび前記参照画像データに基づいて、前記予測画像データを生成する第3の処理手段と、
前記第1の処理手段で生成したデータ、および前記制御手段が選択した動きベクトルを基に符号化処理を行う符号化手段と
を有する符号化装置。 - 複数の異なるサイズの動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記動き補償で参照される参照画像データ間の差分絶対値和に基づいて動きベクトルを生成する動きベクトル生成手段と、
精度の異なる第1および第2の精度で、前記複数の動き補償ブロックそれぞれについて前記動きベクトルの探索を行う際に、前記第1の精度で前記動きベクトル生成手段が生成した動きベクトルに対応する差分絶対値和が、前記複数の異なるサイズの動き補償ブロックそれぞれに予め設定された差分絶対値和に関する閾値よりも大きい場合には、前記第2の精度についての探索を中止し、動きベクトルを基に予測画像データを出力する制御手段と、
前記動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す第1の処理手段と、
前記第1の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する第2の処理手段と、
前記動きベクトル生成手段が生成した動きベクトルおよび前記参照画像データに基づいて、前記予測画像データを生成する第3の処理手段と、
前記第1の処理手段で生成したデータ、および前記制御手段が選択した動きベクトルを基に符号化処理を行う符号化手段と
を有する符号化装置。 - 動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す第1の処理手段と、
前記第1の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する第2の処理手段と、
動きベクトルおよび前記参照画像データに基づいて、前記予測画像データを生成する第3の処理手段と、
複数の異なるサイズの動き補償ブロックを単位として、双方向の動き補償により、前記第1の処理手段で生成したデータ、動きベクトルを基に符号化処理を行う符号化手段と、
前記符号化手段による符号化処理の際の量子化パラメータが、予め設定された量子化パラメータに関する閾値よりも大きい場合には、一方向の動き補償により画像データの符号化を前記符号化手段に行わせ、前記量子化パラメータが前記閾値より小さい場合には、双方向の動き補償により符号化を前記符号化手段に行わせる制御手段と
を有する符号化装置。 - 複数の異なるサイズの動き補償ブロックを単位として、前記動き補償の対象となる画像データと、前記動き補償で参照される参照画像データ間の差分絶対値和に基づいて動きベクトルを生成する動きベクトル生成手段と、
前記画像データの解像度に基づいて、前記複数の異なるサイズの動き補償ブロックのうち、前記画像データの解像度が高くなるにしたがって大きなサイズの動き補償ブロックを選択し、前記選択したサイズの動き補償ブロックについて、前記動きベクトル生成手段に動きベクトルを生成させる制御を行う制御手段と、
前記動き補償の対象となる画像データと、予測画像データとの差分に直交変換処理および量子化処理を順に施す第1の処理手段と、
前記第1の処理手段で生成したデータに、逆量子化処理および逆直交変換処理を順に施して参照データを生成する第2の処理手段と、
前記動きベクトル生成手段が生成した動きベクトルおよび前記参照画像データに基づいて、前記予測画像データを生成する第3の処理手段と、
前記第1の処理手段で生成したデータ、および前記制御手段が選択した動きベクトルを基に符号化処理を行う符号化手段と
を有する符号化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003430106A JP4423968B2 (ja) | 2003-12-25 | 2003-12-25 | 符号化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003430106A JP4423968B2 (ja) | 2003-12-25 | 2003-12-25 | 符号化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005191876A true JP2005191876A (ja) | 2005-07-14 |
JP4423968B2 JP4423968B2 (ja) | 2010-03-03 |
Family
ID=34788576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003430106A Expired - Fee Related JP4423968B2 (ja) | 2003-12-25 | 2003-12-25 | 符号化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4423968B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007037054A1 (ja) * | 2005-09-29 | 2007-04-05 | Megachips Corporation | 動き探索方法 |
WO2007037053A1 (ja) * | 2005-09-29 | 2007-04-05 | Megachips Corporation | 動き探索方法 |
JP2011239307A (ja) * | 2010-05-12 | 2011-11-24 | Canon Inc | 動画像符号化装置、及びその制御方法 |
-
2003
- 2003-12-25 JP JP2003430106A patent/JP4423968B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007037054A1 (ja) * | 2005-09-29 | 2007-04-05 | Megachips Corporation | 動き探索方法 |
WO2007037053A1 (ja) * | 2005-09-29 | 2007-04-05 | Megachips Corporation | 動き探索方法 |
JP2011239307A (ja) * | 2010-05-12 | 2011-11-24 | Canon Inc | 動画像符号化装置、及びその制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP4423968B2 (ja) | 2010-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6672226B2 (ja) | 大型マクロ・ブロックを用いたビデオ・コーディング | |
JP5944423B2 (ja) | 大型マクロ・ブロックを用いたビデオ・コーディング | |
JP3879741B2 (ja) | 画像情報符号化装置および画像情報符号化方法 | |
KR100950743B1 (ko) | 화상 정보 부호화 장치 및 방법, 및 화상 정보 복호 장치및 방법 | |
JP2018056685A (ja) | 画像符号化装置、画像符号化方法、及び画像符号化プログラム、並びに、画像復号装置、画像復号方法、及び画像復号プログラム | |
JP2010135864A (ja) | 画像符号化方法及び装置並びに画像復号化方法及び装置 | |
JP2004336369A (ja) | 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム | |
JP2013520875A (ja) | ビデオコーディングのための適応動き解像度 | |
CN101946516A (zh) | 快速宏块增量量化参数的决定 | |
JP2006005438A (ja) | 画像処理装置およびその方法 | |
KR20120048612A (ko) | 비디오 인코딩에서 넌-제로 라운딩 및 예측 모드 선택 기법들 | |
KR20050074286A (ko) | 화상 부호화 장치, 화상 부호화 방법 및 화상 부호화프로그램 | |
JP2009089332A (ja) | 動き予測方法及び動き予測装置 | |
JP4470431B2 (ja) | データ処理装置およびその方法 | |
JP2005348093A (ja) | 画像処理装置、そのプログラムおよびその方法 | |
JP5560009B2 (ja) | 動画像符号化装置 | |
JP4360093B2 (ja) | 画像処理装置および符号化装置とそれらの方法 | |
JP4289126B2 (ja) | データ処理装置およびその方法と符号化装置 | |
JP4349109B2 (ja) | 画像データ処理装置、その方法、および、符号化装置 | |
WO2011148887A1 (ja) | 動画像配信システム、動画像送信装置、動画像配信方法および動画像配信プログラム | |
JP4423968B2 (ja) | 符号化装置 | |
JP2009049969A (ja) | 動画像符号化装置及び方法並びに動画像復号化装置及び方法 | |
JP2006025033A (ja) | 画像処理装置および画像処理方法 | |
JP4697561B2 (ja) | 復号装置及びその方法 | |
JP4277793B2 (ja) | 画像処理装置、符号化装置およびそれらの方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090825 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091019 |
|
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: 20091117 |
|
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: 20091130 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121218 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |