JP2017079485A - 画像符号化装置と画像符号化方法およびプログラム - Google Patents
画像符号化装置と画像符号化方法およびプログラム Download PDFInfo
- Publication number
- JP2017079485A JP2017079485A JP2016236532A JP2016236532A JP2017079485A JP 2017079485 A JP2017079485 A JP 2017079485A JP 2016236532 A JP2016236532 A JP 2016236532A JP 2016236532 A JP2016236532 A JP 2016236532A JP 2017079485 A JP2017079485 A JP 2017079485A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- quantization parameter
- block
- image
- information
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】量子化パラメータの符号化効率を向上させる。
【解決手段】レート制御部18は、符号化対象ブロックに対して量子化パラメータを設定する。情報生成部19は、符号化対象ブロックの左側に隣接するブロックが参照不可能で上側に隣接するブロックが参照可能な場合、上側に隣接するブロックの量子化パラメータを用いて符号化対象ブロックの予測量子化パラメータを算出し、左側に隣接するブロックが参照可能で上側に隣接するブロックが参照不可能な場合、左側に隣接するブロックの量子化パラメータを用いて符号化対象ブロックの予測量子化パラメータを算出し、予測量子化パラメータと符号化対象ブロックに設定された量子化パラメータとの差分を示す差分情報を生成する。可逆符号化部16は、差分情報を含むビットストリームを生成する。
【選択図】 図3
【解決手段】レート制御部18は、符号化対象ブロックに対して量子化パラメータを設定する。情報生成部19は、符号化対象ブロックの左側に隣接するブロックが参照不可能で上側に隣接するブロックが参照可能な場合、上側に隣接するブロックの量子化パラメータを用いて符号化対象ブロックの予測量子化パラメータを算出し、左側に隣接するブロックが参照可能で上側に隣接するブロックが参照不可能な場合、左側に隣接するブロックの量子化パラメータを用いて符号化対象ブロックの予測量子化パラメータを算出し、予測量子化パラメータと符号化対象ブロックに設定された量子化パラメータとの差分を示す差分情報を生成する。可逆符号化部16は、差分情報を含むビットストリームを生成する。
【選択図】 図3
Description
この技術は、画像符号化装置と画像符号化方法およびプログラムに関する。詳しくは、量子化パラメータの符号化効率を向上させる。
近年、画像情報をディジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を行う装置、例えば離散コサイン変換等の直交変換と動き補償により圧縮するMPEG等の方式に準拠した装置が、放送局や一般家庭において普及しつつある。
特に、MPEG2(ISO/IEC13818−2)は、汎用画像符号化方式として定義されており、プロフェッショナル用途およびコンシューマー用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4〜8Mbpsの符号量(ビットレート)を割り当てることで、高い圧縮率と良好な画質の実現が可能である。また、1920×1088画素を持つ高解像度の飛び越し走査画像であれば18〜22Mbpsの符号量を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
また、MPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号により多くの演算量が要求されるものの、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われて、H.264およびMPEG−4 Part10(以下「H.264/AVC(Advanced Video Coding)」と記す)という名の下に国際標準となった。
このMPEGやH.264/AVCでは、マクロブロックを量子化する際に、量子化ステップの大きさを変えて、圧縮率を一定とすることが可能とされている。また、MPEGでは、量子化ステップに比例した量子化パラメータが用いられており、H.264/AVCでは量子化ステップが2倍となるとき、パラメータ値が「6」増加する量子化パラメータが用いられている。MPEGやH.264/AVCでは、量子化パラメータを符号化することが行われている(特許文献1参照)。
ところで、量子化パラメータの符号化処理では、例えばデコード順序が図1に示すようにラスタスキャンであるとき、スライスの先頭のマクロブロックにおいて初期値の量子化パラメータSliceQPYが用いられる。その後、矢印が示すデコード順序で処理されて、左側に位置するマクロブロックとの量子化パラメータの差分値(mb_qp_delta)によって、当該マクロブロックの量子化パラメータが更新される。したがって、デコード順が右端のブロックから左端のブロックに移動したとき、画像が異なることから差分値が大きくなって符号化効率が悪化する場合がある。また、左側に位置するマクロブロックとの差分値が大きい場合も符号化効率が悪化する。
さらに、画像圧縮技術では、H.264/AVC方式よりもさらに高い符号化効率を実現するHEVC(High Efficiency Video Coding)の規格化も検討されている。このHEVCでは、マクロブロックの概念を拡張したコーディングユニット(CU:Coding Unit)と呼ばれる基本単位が定義されている。図2に示す各ブロックがコーディングユニットである場合、デコード順序は数字が「0」から順次増加するブロックの順序とされる。このようにデコード順序がラスタスキャンでない場合、例えばブロック「7」からブロック「8」、ブロック「15」からブロック「16」のように移動すると、空間的な距離が離れるため差分値が大きくなることが考えられる。
そこで、本技術では、量子化パラメータの符号化効率を向上させることを目的とする。
この技術の第1の側面は、符号化対象ブロックの左側に隣接するブロックが参照不可能で上側に隣接するブロックが参照可能な場合、前記上側に隣接するブロックの量子化パラメータを用いて前記符号化対象ブロックの予測量子化パラメータを算出し、前記左側に隣接するブロックが参照可能で前記上側に隣接するブロックが参照不可能な場合、前記左側に隣接するブロックの量子化パラメータを用いて前記符号化対象ブロックの予測量子化パラメータを算出し、前記予測量子化パラメータと前記符号化対象ブロックに設定された量子化パラメータとの差分を示す差分情報を生成する情報生成部と、前記差分情報を含むビットストリームを生成する符号化部とを有する画像符号化装置にある。
この技術においては、情報生成部において、符号化対象ブロックの左側に隣接するブロックが参照不可能で上側に隣接するブロックが参照可能な場合、前記上側に隣接するブロックの量子化パラメータを用いて前記符号化対象ブロックの予測量子化パラメータを算出し、前記左側に隣接するブロックが参照可能で前記上側に隣接するブロックが参照不可能な場合、前記左側に隣接するブロックの量子化パラメータを用いて前記符号化対象ブロックの予測量子化パラメータを算出し、前記予測量子化パラメータと前記符号化対象ブロックに設定された量子化パラメータとの差分を示す差分情報を生成する。また、情報生成部では、参照可能なブロックがない場合、スライスにおける初期値の量子化パラメータと設定された量子化パラメータとの差分を示す差分情報を生成する。符号化部は、符号化対象ブロックに設定された量子化パラメータを用いて符号化処理を行いビットストリームを生成して、このビットストリームに情報生成部で生成された差分情報を含める。
この技術の第2の側面は、符号化対象ブロックの左側に隣接するブロックが参照不可能で上側に隣接するブロックが参照可能な場合、前記上側に隣接するブロックの量子化パラメータを用いて前記符号化対象ブロックの予測量子化パラメータを算出し、前記左側に隣接するブロックが参照可能で前記上側に隣接するブロックが参照不可能な場合、前記左側に隣接するブロックの量子化パラメータを用いて前記符号化対象ブロックの予測量子化パラメータを算出し、前記予測量子化パラメータと前記符号化対象ブロックに設定された量子化パラメータとの差分を示す差分情報を情報生成部で生成する工程と、前記差分情報を含むビットストリームを符号化部で生成する工程とを含む画像符号化方法にある。
この技術の第3側面は、コンピュータに、符号化対象ブロックの左側に隣接するブロックが参照不可能で上側に隣接するブロックが参照可能な場合、前記上側に隣接するブロックの量子化パラメータを用いて前記符号化対象ブロックの予測量子化パラメータを算出し、前記左側に隣接するブロックが参照可能で前記上側に隣接するブロックが参照不可能な場合、前記左側に隣接するブロックの量子化パラメータを用いて前記符号化対象ブロックの予測量子化パラメータを算出し、前記予測量子化パラメータと前記符号化対象ブロックに設定された量子化パラメータとの差分を示す差分情報を情報生成部で生成する手順と、前記差分情報を含むビットストリームを符号化部で生成する手順とを実行させるプログラムにある。
なお、本技術のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
この技術によれば、符号化対象ブロックの左側に隣接するブロックが参照不可能で上側に隣接するブロックが参照可能な場合、上側に隣接するブロックの量子化パラメータを用いて符号化対象ブロックの予測量子化パラメータを算出し、左側に隣接するブロックが参照可能で上側に隣接するブロックが参照不可能な場合、左側に隣接するブロックの量子化パラメータを用いて符号化対象ブロックの予測量子化パラメータを算出し、予測量子化パラメータと符号化対象ブロックに設定された量子化パラメータとの差分を示す差分情報が生成されて、この差分情報を含むビットストリームが生成される。したがって、量子化パラメータの符号化効率を向上させてビットストリームを生成できる。
以下、本技術を実施するための形態について説明する。なお、説明は以下の順序で行う。
1.画像符号化装置の構成
2.画像符号化装置の動作
3.量子化パラメータに基づく識別情報と差分情報の生成動作
4.画像復号装置の構成
5.画像復号装置の動作
6.画像符号化装置と画像復号装置の他の動作
7.ソフトウェア処理の場合
8.電子機器に適用した場合
1.画像符号化装置の構成
2.画像符号化装置の動作
3.量子化パラメータに基づく識別情報と差分情報の生成動作
4.画像復号装置の構成
5.画像復号装置の動作
6.画像符号化装置と画像復号装置の他の動作
7.ソフトウェア処理の場合
8.電子機器に適用した場合
<1.画像符号化装置の構成>
図3は、画像符号化装置の構成を示している。画像符号化装置10は、アナログ/ディジタル変換部(A/D変換部)11、画面並べ替えバッファ12、減算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、レート制御部18を備えている。さらに、画像符号化装置10は、逆量子化部21、逆直交変換部22、加算部23、デブロッキングフィルタ24、フレームメモリ26、イントラ予測部31、動き予測・補償部32、予測画像・最適モード選択部33を備えている。
図3は、画像符号化装置の構成を示している。画像符号化装置10は、アナログ/ディジタル変換部(A/D変換部)11、画面並べ替えバッファ12、減算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、レート制御部18を備えている。さらに、画像符号化装置10は、逆量子化部21、逆直交変換部22、加算部23、デブロッキングフィルタ24、フレームメモリ26、イントラ予測部31、動き予測・補償部32、予測画像・最適モード選択部33を備えている。
A/D変換部11は、アナログの画像信号をディジタルの画像データに変換して画面並べ替えバッファ12に出力する。
画面並べ替えバッファ12は、A/D変換部11から出力された画像データに対してフレームの並べ替えを行う。画面並べ替えバッファ12は、符号化処理に係るGOP(Group of Pictures)構造に応じてフレームの並べ替えを行い、並べ替え後の画像データを減算部13とレート制御部18およびイントラ予測部31と動き予測・補償部32に出力する。
減算部13には、画面並べ替えバッファ12から出力された画像データと、後述する予測画像・最適モード選択部33で選択された予測画像データが供給される。減算部13は、画面並べ替えバッファ12から出力された画像データと予測画像・最適モード選択部33から供給された予測画像データとの差分である予測誤差データを算出して、直交変換部14に出力する。
直交変換部14は、減算部13から出力された予測誤差データに対して、離散コサイン変換(DCT;Discrete Cosine Transform)、カルーネン・レーベ変換等の直交変換処理を行う。直交変換部14は、直交変換処理を行うことにより得られた変換係数データを量子化部15に出力する。
量子化部15には、直交変換部14から出力された変換係数データと、後述する情報生成部19から量子化パラメータ(量子化スケール)が供給されている。量子化部15は変換係数データの量子化を行い、量子化データを可逆符号化部16と逆量子化部21に出力する。また、量子化部15は、レート制御部18で設定された量子化パラメータに応じて量子化データのビットレートを変化させる。
可逆符号化部16には、量子化部15から量子化データ、後述する情報生成部19から識別情報と差分情報、イントラ予測部31から予測モード情報や動き予測・補償部32から予測モード情報と差分動きベクトル等が供給される。また、予測画像・最適モード選択部33から最適モードがイントラ予測であるかインター予測であるかを示す情報が供給される。なお、予測モード情報には、イントラ予測またはインター予測に応じて、予測モードや動き予測ユニットのブロックサイズ情報等が含まれる。
可逆符号化部16は、量子化データに対して例えば可変長符号化または算術符号化等により可逆符号化処理を行い、ストリーム情報を生成して蓄積バッファ17に出力する。また、可逆符号化部16は、最適モードがイントラ予測である場合、イントラ予測部31から供給された予測モード情報の可逆符号化を行う。また、可逆符号化部16は、最適モードがインター予測である場合、動き予測・補償部32から供給された予測モード情報や差分動きベクトル等の可逆符号化を行う。さらに、可逆符号化部16は、量子化パラメータに関する情報例えば差分情報等の可逆符号化を行う。可逆符号化部16は、可逆符号化後の情報をストリーム情報に含める。
蓄積バッファ17は、可逆符号化部16からのストリーム情報を蓄積する。また、蓄積バッファ17は、蓄積したストリーム情報を伝送路に応じた伝送速度で出力する。
レート制御部18は、蓄積バッファ17の空き容量の監視を行い、空き容量が少なくなっている場合には量子化データのビットレートが低下して、空き容量が十分大きい場合には量子化データのビットレートが高くなるように量子化パラメータを設定する。また、レート制御部18は、画面並べ替えバッファから供給された画像データを用いて画像の複雑度、例えば画素値の分散を示す情報であるアクティビティを検出する。レート制御部18は、画像の複雑度の検出結果に基づき、例えば画素の分散値が低い画像部分は粗い量子化で、そうでない部分は細かい量子化となるように量子化パラメータを設定する。レート制御部18は、設定した量子化パラメータを、情報生成部19に出力する。
情報生成部19は、レート制御部18から供給された量子化パラメータを量子化部15に出力する。また、情報生成部19は、符号化対象ブロックに対して空間的または時間的に隣接する符号化済みのブロックの量子化パラメータを選択候補とする。情報生成部19は、レート制御部18で設定された量子化パラメータに応じて選択候補から量子化パラメータを選択して予測量子化パラメータとする。さらに、情報生成部19は、選択した量子化パラメータに対応する識別情報、すなわち選択候補から予測量子化パラメータを選択するための識別情報と、予測量子化パラメータと設定された量子化パラメータとの差分を示す差分情報を生成する。
図4は、情報生成部の構成を示している。情報生成部19は、量子化パラメータメモリ部191と差分演算部192を有している。情報生成部19は、レート制御部18から供給された量子化パラメータを量子化部15に出力する。また、情報生成部19は、レート制御部18から供給された量子化パラメータを量子化パラメータメモリ部191と差分演算部192に供給する。
量子化パラメータメモリ部191は、供給された量子化パラメータを記憶する。差分演算部192は、量子化パラメータメモリ部191に記憶されている符号化済みのブロックの量子化パラメータから、符号化対象ブロックに対して空間的または時間的に周囲の符号化済みであるブロックの量子化パラメータを選択候補として読み出す。また、少なくとも量子化パラメータが重複するブロック、または量子化パラメータを用いた量子化が行われないブロック例えば量子化部15で量子化する変換係数データが全て「0」であるブロックを選択候補から除外する。また、差分演算部192は、後述する動き予測・補償部32と予測画像・最適モード選択部33からの情報に基づきスキップ処理を行うと判別したブロック(以下「スキップブロック」という)を選択候補から除外する。
差分演算部192は、符号化対象ブロックの量子化パラメータすなわちレート制御部18から供給された量子化パラメータに応じて、選択候補から量子化パラメータを選択して予測量子化パラメータとする。さらに、差分演算部192は、選択候補から予測量子化パラメータを選択するための識別情報と、予測量子化パラメータと符号化対象ブロックの量子化パラメータの差分を示す差分情報を生成して可逆符号化部16に出力する。
図3に戻り、逆量子化部21は、量子化部15から供給された量子化データの逆量子化処理を行う。逆量子化部21は、逆量子化処理を行うことで得られた変換係数データを逆直交変換部22に出力する。
逆直交変換部22は、逆量子化部21から供給された変換係数データの逆直交変換処理を行い、得られたデータを加算部23に出力する。
加算部23は、逆直交変換部22から供給されたデータと予測画像・最適モード選択部33から供給された予測画像データを加算して復号画像データを生成して、デブロッキングフィルタ24とイントラ予測部31に出力する。なお、復号画像データは参照画像の画像データとして用いられる。
デブロッキングフィルタ24は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタ処理を行う。デブロッキングフィルタ24は、加算部23から供給された復号画像データからブロック歪みを除去するフィルタ処理を行い、フィルタ処理後の復号画像データをフレームメモリ26に出力する。
フレームメモリ26は、デブロッキングフィルタ24から供給されたフィルタ処理後の復号画像データを保持する。フレームメモリ26に保持された復号画像データは、動き予測・補償部32に参照画像データとして供給される。
イントラ予測部31は、画面並べ替えバッファ12から供給された符号化対象画像の入力画像データと加算部23から供給された参照画像データを用いて、候補となる全てのイントラ予測モードで予測を行い、最適イントラ予測モードを決定する。イントラ予測部31は、例えば各イントラ予測モードでコスト関数値を算出して、算出したコスト関数値に基づき符号化効率が最良となるイントラ予測モードを最適イントラ予測モードとする。イントラ予測部31は、最適イントラ予測モードで生成された予測画像データと最適イントラ予測モードでのコスト関数値を予測画像・最適モード選択部33に出力する。さらに、イントラ予測部31は、最適イントラ予測モードを示す予測モード情報を可逆符号化部16に出力する。
動き予測・補償部32は、画面並べ替えバッファ12から供給された符号化対象画像の入力画像データとフレームメモリ26から供給された参照画像データを用いて、候補となる全てのインター予測モードで予測を行い、最適インター予測モードを決定する。動き予測・補償部32は、例えば各インター予測モードでコスト関数値を算出して、算出したコスト関数値に基づき符号化効率が最良となるインター予測モードを最適インター予測モードとする。動き予測・補償部32は、最適インター予測モードで生成された予測画像データと最適インター予測モードでのコスト関数値を予測画像・最適モード選択部33に出力する。さらに、動き予測・補償部32は、最適インター予測モードに関する予測モード情報を可逆符号化部16と情報生成部19に出力する。
予測画像・最適モード選択部33は、イントラ予測部31から供給されたコスト関数値と動き予測・補償部32から供給されたコスト関数値を比較して、コスト関数値が少ない方を、符号化効率が最良となる最適モードとして選択する。また、予測画像・最適モード選択部33は、最適モードで生成した予測画像データを減算部13と加算部23に出力する。さらに、予測画像・最適モード選択部33は、最適モードがイントラ予測モードであるかインター予測モードであるかを示す情報を可逆符号化部16と情報生成部19に出力する。なお、予測画像・最適モード選択部33は、スライス単位でイントラ予測またはインター予測の切り替えを行う。
<2.画像符号化装置の動作>
画像符号化装置では、例えばH.264/AVC方式よりもマクロブロックの大きさを拡張して符号化処理を行う。図5はコーディングユニットの階層構造を例示している。なお、図5では、最大サイズが128画素×128画素、階層の深さ(Depth)が「5」である場合を示している。例えば、階層の深さが「0」である場合、2N×2N(N=64画素)のブロックがコーディングユニットCU0とされる。また、split flag=1とすると、コーディングユニットCU0は4つの独立したN×Nのブロックに分割されて、N×Nのブロックが1つ下の階層のブロックとされる。すなわち、階層の深さが「1」とされて、2N×2N(N=32画素)のブロックがコーディングユニットCU1とされる。同様に、split flag=1とされると、4つの独立したブロックに分割される。さらに、最も深い階層である深さ「4」の場合、2N×2N(N=4画素)のブロックがコーディングユニットCU4とされて、8画素×8画素がコーディングユニットCUの最小サイズとなる。また、HEVCでは、コーディングユニットを分割して予測用の基本単位である予測ユニット(PU:Prediction Unit)や、変換や量子化のための基本単位であるトランスフォームユニット(TU:Transform Unit)が定義されている。
画像符号化装置では、例えばH.264/AVC方式よりもマクロブロックの大きさを拡張して符号化処理を行う。図5はコーディングユニットの階層構造を例示している。なお、図5では、最大サイズが128画素×128画素、階層の深さ(Depth)が「5」である場合を示している。例えば、階層の深さが「0」である場合、2N×2N(N=64画素)のブロックがコーディングユニットCU0とされる。また、split flag=1とすると、コーディングユニットCU0は4つの独立したN×Nのブロックに分割されて、N×Nのブロックが1つ下の階層のブロックとされる。すなわち、階層の深さが「1」とされて、2N×2N(N=32画素)のブロックがコーディングユニットCU1とされる。同様に、split flag=1とされると、4つの独立したブロックに分割される。さらに、最も深い階層である深さ「4」の場合、2N×2N(N=4画素)のブロックがコーディングユニットCU4とされて、8画素×8画素がコーディングユニットCUの最小サイズとなる。また、HEVCでは、コーディングユニットを分割して予測用の基本単位である予測ユニット(PU:Prediction Unit)や、変換や量子化のための基本単位であるトランスフォームユニット(TU:Transform Unit)が定義されている。
次に、画像符号化装置の動作について、図6に示すフローチャートを用いて説明する。ステップST11において、A/D変換部11は入力された画像信号をA/D変換する。
ステップST12において画面並べ替えバッファ12は、画像並べ替えを行う。画面並べ替えバッファ12は、A/D変換部11より供給された画像データを記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
ステップST13において減算部13は、予測誤差データの生成を行う。減算部13は、ステップST12で並べ替えられた画像の画像データと予測画像・最適モード選択部33で選択された予測画像データとの差分を算出して予測誤差データを生成する。予測誤差データは、元の画像データに比べてデータ量が小さい。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
ステップST14において直交変換部14は、直交変換処理を行う。直交変換部14は、減算部13から供給された予測誤差データを直交変換する。具体的には、予測誤差データに対して離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数データを出力する。
ステップST15において量子化部15は、量子化処理を行う。量子化部15は、変換係数データを量子化する。量子化に際しては、後述するステップST25の処理で説明されるように、レート制御が行われる。
ステップST16において逆量子化部21は、逆量子化処理を行う。逆量子化部21は、量子化部15により量子化された変換係数データを量子化部15の特性に対応する特性で逆量子化する。
ステップST17において逆直交変換部22は、逆直交変換処理を行う。逆直交変換部22は、逆量子化部21により逆量子化された変換係数データを直交変換部14の特性に対応する特性で逆直交変換する。
ステップST18において加算部23は、参照画像データの生成を行う。加算部23は、予測画像・最適モード選択部33から供給された予測画像データと、この予測画像と対応する位置の逆直交変換後のデータを加算して、復号データ(参照画像データ)を生成する。
ステップST19においてデブロッキングフィルタ24は、フィルタ処理を行う。デブロッキングフィルタ24は、加算部23より出力された復号画像データをフィルタリングしてブロック歪みを除去する。
ステップST20においてフレームメモリ26は、参照画像データを記憶する。フレームメモリ26はフィルタ処理後の復号データ(参照画像データ)を記憶する。
ステップST21においてイントラ予測部31と動き予測・補償部32は、それぞれ予測処理を行う。すなわち、イントラ予測部31は、イントラ予測モードのイントラ予測処理を行い、動き予測・補償部32は、インター予測モードの動き予測・補償処理を行う。予測処理は、図7を参照して後述するが、この処理により、候補となる全ての予測モードでの予測処理がそれぞれ行われ、候補となる全ての予測モードでのコスト関数値がそれぞれ算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードが選択され、選択された予測モードで生成された予測画像とそのコスト関数および予測モード情報が予測画像・最適モード選択部33に供給される。
ステップST22において予測画像・最適モード選択部33は、予測画像データの選択を行う。予測画像・最適モード選択部33は、イントラ予測部31および動き予測・補償部32より出力された各コスト関数値に基づいて、符号化効率が最良となる最適モードを決定する。すなわち、予測画像・最適モード選択部33では、例えば図5に示す各階層から符号化効率が最良となるコーディングユニットと該コーディングユニットにおける予測ユニットのブロックサイズ、およびイントラ予測とインター予測のいずれかを行うか決定する。さらに、予測画像・最適モード選択部33は、決定した最適モードの予測画像データを、減算部13と加算部23に出力する。この予測画像データが、上述したように、ステップST13,ST18の演算に利用される。
ステップST23において可逆符号化部16は、可逆符号化処理を行う。可逆符号化部16は、量子化部15より出力された量子化データを可逆符号化する。すなわち、量子化データに対して可変長符号化や算術符号化等の可逆符号化が行われて、データ圧縮される。また、可逆符号化部16は、ステップST22で選択された予測画像データに対応する予測モード情報等の可逆符号化を行い、量子化データを可逆符号化して生成されたストリーム情報に、予測モード情報等の可逆符号化データが含められる。
ステップST24において蓄積バッファ17は、蓄積処理を行う。蓄積バッファ17は、可逆符号化部16から出力されるストリーム情報を蓄積する。この蓄積バッファ17に蓄積されたストリーム情報は、適宜読み出されて伝送路を介して復号側に伝送される。
ステップST25においてレート制御部18は、レート制御を行う。レート制御部18は、蓄積バッファ17でストリーム情報を蓄積する場合、オーバーフローまたはアンダーフローが蓄積バッファ17で発生しないように、量子化部15の量子化動作のレートを制御する。
次に、図7のフローチャートを参照して、図6のステップST21における予測処理を説明する。
ステップST31において、イントラ予測部31はイントラ予測処理を行う。イントラ予測部31は符号化対象の予測ユニットの画像を、候補となる全てのイントラ予測モードでイントラ予測する。なお、イントラ予測において参照される復号画像の画像データは、デブロッキングフィルタ24でブロッキングフィルタ処理が行われる前の復号画像データが用いられる。このイントラ予測処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、全てのイントラ予測モードの中から、符号化効率が最良となる1つのイントラ予測モードが選択される。
ステップST32において、動き予測・補償部32はインター予測処理を行う。動き予測・補償部32は、フレームメモリ26に記憶されているデブロッキングフィルタ処理後の復号画像データを用いて、候補となるインター予測モードのインター予測処理を行う。このインター予測処理により、候補となる全てのインター予測モードで予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、全てのインター予測モードの中から、符号化効率が最良となる1つのインター予測モードが選択される。
次に、図8のフローチャートを参照して、図7におけるステップST31のイントラ予測処理について説明する。
ステップST41でイントラ予測部31は、各予測モードのイントラ予測を行う。イントラ予測部31は、ブロッキングフィルタ処理前の復号画像データを用いて、イントラ予測モード毎に予測画像データを生成する。
ステップST42でイントラ予測部31は、各予測モードでのコスト関数値を算出する。コスト関数値の算出は、例えばH.264/AVC方式における参照ソフトウェアであるJM(Joint Model)で定められているように、High Complexityモードか、Low Complexityモードのいずれかの手法に基づいて行う。
すなわち、High Complexityモードにおいては、候補となる全ての予測モードに対して、仮に可逆符号化処理までを行い、次の式(1)で表されるコスト関数値を各予測モードに対して算出する。
Cost(Mode∈Ω)=D+λ・R ・・・(1)
Cost(Mode∈Ω)=D+λ・R ・・・(1)
Ωは、当該予測ユニットの画像を符号化するための候補となる予測モードの全体集合を示している。Dは、予測モードで符号化を行った場合の予測画像と入力画像との差分エネルギー(歪み)を示している。Rは、直交変換係数や予測モード情報等を含んだ発生符号量、λは、量子化パラメータの関数として与えられるラグランジュ乗数である。すなわち、High Complexityモードにおいては、ステップST42の処理として、候補となる全ての予測モードに対して、仮に可逆符号化処理までを行い、上述の式(1)で表されるコスト関数値を各予測モードに対して算出する。
一方、Low Complexityモードにおいては、候補となる全ての予測モードで、予測画像の生成、および差分動きベクトルや予測モード情報などを含むヘッダビットの生成等を行い、次の式(2)で表されるコスト関数値を算出する。
Cost(Mode∈Ω)=D+QP2Quant(QP)・Header_Bit ・・・(2)
Cost(Mode∈Ω)=D+QP2Quant(QP)・Header_Bit ・・・(2)
Ωは、当該予測ユニットの画像を符号化するための候補となる予測モードの全体集合を示している。Dは、予測モードで符号化を行った場合の予測画像と入力画像との差分エネルギー(歪み)を示している。Header_Bitは、予測モードに対するヘッダビット、QP2Quantは、量子化パラメータの関数として与えられる関数である。すなわち、Low Complexityモードにおいては、ステップST42の処理として、候補となる全ての予測モードに対して、予測画像の生成および動きベクトルや予測モード情報などのヘッダビットを用いて、上述の式(2)で表されるコスト関数値を各予測モードに対して算出する。
ステップST43でイントラ予測部31は、最適イントラ予測モードを決定する。イントラ予測部31は、ステップST42において算出されたコスト関数値に基づいて、それらの中から、コスト関数値が最小値である1つのイントラ予測モードを選択して最適イントラ予測モードに決定する。
次に、図9のフローチャートを参照して、図7におけるステップST32のインター予測処理について説明する。
ステップST51で動き予測・補償部32は、動き検出処理を行う。動き予測・補償部32は、動きベクトルを検出してステップST52に進む。
ステップST52で動き予測・補償部32は、動き補償処理を行う。動き予測・補償部32は、ステップST51で検出した動きベクトルに基づき参照画像データを用いて動き補償を行い、予測画像データを生成する。
ステップST53で動き予測・補償部32は、コスト関数値の算出を行う。動き予測・補償部32は、符号化対象である予測ユニットの入力画像データと、ステップST52で生成した予測画像データ等を用いて、上述のようにコスト関数値を算出してステップST54に進む。
ステップST54で動き予測・補償部32は、最適インター予測モードを決定する。動き予測・補償部32は、ステップST51からステップST53までの処理を全てのインター予測モード毎に行う。動き予測・補償部32は、予測モード毎に算出されたコスト関数値が最小値となる参照インデックス、コーディングユニットのブロックサイズ、当該コーディングユニットにおける予測ユニットのブロックサイズを判別して、最適インター予測モードを決定する。なお、コスト関数が最小となるモードの決定では、スキップモードでインター予測を行った場合のコスト関数値も用いる。
また、動き予測・補償部32は、予測画像・最適モード選択部33で最適インター予測モードが最適予測モードとして選択された場合、最適インター予測モードの予測画像データを減算部13と加算部23に供給できるように、予測画像データの生成を行う。
<3.量子化パラメータに基づく識別情報と差分情報の生成動作>
上述の画像符号化処理において、画像符号化装置10は、ブロック毎に画像の複雑度に応じて適応量子化を行うように、量子化パラメータを設定する。また、画像符号化装置10は、ステップST15の量子化処理で用いる量子化パラメータの符号化効率を向上させるため、識別情報と差分情報を生成して可逆符号化してストリーム情報に含める。
上述の画像符号化処理において、画像符号化装置10は、ブロック毎に画像の複雑度に応じて適応量子化を行うように、量子化パラメータを設定する。また、画像符号化装置10は、ステップST15の量子化処理で用いる量子化パラメータの符号化効率を向上させるため、識別情報と差分情報を生成して可逆符号化してストリーム情報に含める。
次に、量子化パラメータの設定および識別情報と差分情報の生成について説明する。レート制御部18は、例えばMPEG2のTM5で定められている符号量制御方式を用いて、量子化パラメータの設定を行う。
MPEG2のTM5において定められているレート制御方式では、ステップ1〜ステップ3の処理が示されている。
ステップ1では、GOP(Group Of Pictures)内の各ピクチャに対する割当符号量を、割当対象ピクチャを含めて、まだ符号化されていないピクチャに対して、割当られるビット量Rを基にして配分する。この配分をGOP内の符号化ピクチャ順に繰り返す。その際、以下の2つの仮定を用いて、各ピクチャへの符号量割当を行っている。
第1の仮定は、各ピクチャを符号化する際に用いる、平均量子化スケールコードと発生符号量との積は、画面が変化しない限り、ピクチャタイプ毎に一定となるという仮定である。
そこで、各ピクチャを符号化した後、ピクチャタイプ毎に、画面の複雑さを表す媒介変数XI,XP,XB(Global Complexity Measure)を式(3)〜(5)により更新する。この媒介変数により、次のピクチャを符号化する際の量子化スケールコードと発生符号量の関係を推定できる。
XI=SI・QI ・・・(3)
XP=SP・QP ・・・(4)
XB=SB・QB ・・・(5)
XI=SI・QI ・・・(3)
XP=SP・QP ・・・(4)
XB=SB・QB ・・・(5)
ここで、SI,SP,SBは、ピクチャ符号化時の発生符号化ビット、QI,QP,QBは、ピクチャ符号化時の平均量子化スケールコードである。また、初期値は、目標符号量であるbit_rate[bits/sec]を用いて、式下記(6),(7),(8)で示される値とする。
XI=160×bit_rate/115 ・・・(6)
XP=160×bit_rate/115 ・・・(7)
XB=160×bit_rate/115 ・・・(8)
XI=160×bit_rate/115 ・・・(6)
XP=160×bit_rate/115 ・・・(7)
XB=160×bit_rate/115 ・・・(8)
第2の仮定は、Iピクチャの量子化スケールコードを基準としたP,Bピクチャの量子化スケールコードの比率KP,KBが、式(9)に定める値になるとき、常に全体の画質が最適化されると仮定する。
KP=1.0;KB=1.4 ・・・(9)
KP=1.0;KB=1.4 ・・・(9)
すなわち、Bピクチャの量子化スケールコードは、I,Pピクチャの量子化スケールコードの常に1.4倍としている。これは、BピクチャをI,Pピクチャに比較して多少粗めに量子化することにより、Bピクチャで節約できる符号量をI,Pピクチャに加えると、I,Pピクチャの画質が改善されるとともに、これを参照するBピクチャの画質をも向上させることを想定している。
上記2つの仮定より、GOP中の各ピクチャに対する割当符号量(TI,TP,TB)、式(10),(11),(12)で示される値となる。なお、picture_rateは、当該シーケンスにおける、1秒あたり表示されるピクチャの数を示している。
ここで、NP,NBは、GOP内でまだ符号化されていない、P,Bピクチャの枚数である。すなわち、GOP内の未符号化ピクチャのうち、割当対象となるピクチャと、異なるピクチャタイプのものに関しては、上述の画質最適化条件の元、そのピクチャの発生する符合量が、割当対象ピクチャの発生符号量の何倍となるかを推定する。次に、未符号化ピクチャ全体の発生する推定発生符号量が、割当対象ピクチャの何枚分の符号量に相当するかを求める。例えば、TIに関する式の、第1引数の分母第2項、NPXP/XIKPは、GOP内の、NP枚の未符号化ピクチャが、Iピクチャに換算すると何枚分に換算するかを表している。また、NPに、Pピクチャに対する発生符号量の、Iピクチャの発生符号量に対する割合SP/SIを乗じて、上述のようにXI,XP,KBで表すことにより得られる。
割当対象ピクチャに対するビット量は、未符号化ピクチャに対する割当符号量Rを、この枚数で割ることによって得られる。但し、ヘッダなどに、固定的に必要となる符号量を考慮して、その値に下限を設定している。
このようにして求めた割当符号量を基にして、各ピクチャをステップ1,2にしたがって符号化する毎に、GOP内の未符号化ピクチャに対して割当られる符号量Rを、式(13)により更新する。
R=R−SI,P,B ・・・(13)
R=R−SI,P,B ・・・(13)
次に、ステップ2について述べる。ステップ2では、ステップ1で求めた、各ピクチャに対する割当符号量(TI,TP,TB)を、実際の符号量に一致させるため量子化スケールコードを求める。量子化スケールコードは、ピクチャタイプ毎に、独立に設定した3種類の仮想バッファの容量を基に、マクロブロック単位のフィードバック制御により求める。
d0 I,d0 P,d0 Bは、各仮想バッファの初期占有量、Bjは、ピクチャの先頭からj番目のマクロブロックまでの発生ビット量、MBcntは、1ピクチャ内のマクロブロック数である。
各ピクチャ符号化終了時の仮想バッファ占有量(dMBcntI,dMBcntP,dMBcntB)は、それぞれ同一のピクチャタイプで、次のピクチャに対する仮想バッファ占有量の初期値(d0 I,d0 P,d0 B)として用いられる。
次に、ステップ3について述べる。アクティビティは、原画の輝度信号画素値を用い、例えばフレームDCTモードにおける4個の8×8ブロックと、フィールドDCT符号化モードにおける4個の8×8ブロックとの合計8個のブロックの画素値を用いて、式(21)〜(23)により与えられる。
式(21)に示すvar_sblkは、各画素の画素データとその平均値との差分の自乗和であり、当該8×8ブロックの画像が複雑になるにしたがって値が大きくなる。式(22),(23)のPkは、原画の輝度信号ブロック内画素値である。式(22)において最小値(min)を採るのは、16×16のマクロブロック内の一部だけでも平坦部分のある場合には量子化を細かくするためである。さらに、式(24)により、その値が0.5〜2の範囲をとる正規化アクティビティNactjを求める。
レート制御部18は、上述のようにして算出した量子化スケールコードmquantjを量子化パラメータとして出力する。また、スライス境界に位置するマクロブロックについても、上述した手法で、スライス境界以外に位置するマクロブロックと同様に、量子化パラメータを生成する。なお、量子化パラメータは、上述のようにアクティビティに基づいて決定する場合に限らず、コスト関数値が小さくなるように決定してもよい。
なお、上述のMPEG2のTM5において定められているレート制御方式の説明では、マクロブロック単位で処理が行われる場合について説明している。このため、量子化パラメータの切り替えが可能なブロック単位で同様な処理を行うことで、量子化パラメータの切り替えが可能なブロック毎に量子化パラメータを設定できる。
次に、量子化パラメータの符号化効率を向上させるために用いる情報の生成動作について説明する。情報生成部19は、符号化対象ブロックに対して空間的または時間的に隣接する符号化済みの量子化パラメータを選択候補とする。また、情報生成部19は、符号化対象ブロックに対して設定された量子化パラメータに応じて選択候補から量子化パラメータを選択して予測量子化パラメータとする。さらに、情報生成部19は、選択候補から予測量子化パラメータを選択するための識別情報と、予測量子化パラメータと符号化対象ブロックに設定された量子化パラメータとの差分を示す差分情報を生成する。
図10は、情報生成部の動作を説明するための図であり、符号化対象フレームと、表示順序で最も時間の近い符号化済みフレームを示している。符号化対象フレームにおける符号化対象ブロックの量子化パラメータを例えば「QP_O」とする。また、左に隣接する符号化済みブロックの量子化パラメータを例えば「QP_A」とする。同様に、上、右上、左上、左下に隣接する符号化済みブロックの量子化パラメータを例えば「QP_B」「QP_C」「QP_D」「QP_E」とする。また、時間的に隣接する符号化済みブロックの量子化パラメータを「QP_T」とする。なお、符号化対象フレームにおける符号化対象ブロックの符号化を行うとき、量子化パラメータ「QP_A」〜「QP_E」,「QP_T」は、量子化パラメータメモリ部191に記憶されている。また、各ブロックは、量子化パラメータを変えられる最小単位のブロックとする。
差分演算部192は、符号化対象ブロックと隣接する符号化済みのブロックの量子化パラメータを選択候補として、符号化対象ブロックに設定された量子化パラメータとの差分が最も小さい量子化パラメータを選択候補から選択して予測量子化パラメータとする。差分演算部192は、選択候補から予測量子化パラメータを選択するための識別情報と、予測量子化パラメータと符号化対象ブロックの量子化パラメータとの差分を示す差分情報を生成する。
図11は、情報生成部の動作例を示す図である。なお、スキップブロックや残差情報がないためブロックに対して量子化パラメータが設定されていない場合を「−」として示している。
符号化対象ブロックをブロックBKOとすると、符号化済みブロックの量子化パラメータは、「QP_A=32」,「QP_B=40」,「QP_C=40」,「QP_D=35」,「QP_E=−」,「QP_T=31」となる。ここで、情報生成部19は、スキップブロックや残差情報がないため量子化パラメータが設定されていないブロックおよび量子化パラメータが重複するブロックを候補から除外する。したがって、選択候補は、量子化パラメータ「QP_A=32」,「QP_B=40」,「QP_D=35」,「QP_T=31」の符号化済みブロックとなる。また、情報生成部19は、選択候補に対して予め識別情報例えばインデックス番号を設定する。識別情報は、隣接する符号化済みのブロックに対して設定してもよく、隣接する符号化済みのブロックの量子化パラメータに対して設定してもよい。
隣接する符号化済みのブロックに対して識別情報を設定する場合、情報生成部19は、隣接する符号化済みのブロックを所定の並び順として、並び順にインデックス番号を予め設定する。所定の並び順は、例えば左側に隣接する符号化済みのブロックと、上側に隣接する符号化済みのブロックと、時間的に隣接する符号化済みのブロックのいずれかを優先させた並び順とする。また、情報生成部19は、並び順を切り替え可能としてもよい。並び順を切り替え可能とする場合、どのような並び順であるかを示す情報をストリーム情報に含める。また、可逆符号化部16と情報生成部19は、優先させたブロックの識別情報を符号化したときの符号量が少なくなるように識別情報の設定や可逆符号化を行う。
差分演算部192は、選択候補から符号化対象ブロックの量子化パラメータとの差分が最も小さくなる候補を選択して、選択した候補に対して設定されている識別情報を用いることで、選択候補から予測量子化パラメータを選択するための識別情報の生成を行う。また、差分演算部192は、選択した候補の量子化パラメータである予測量子化パラメータと符号化対象ブロックの量子化パラメータとの差分を示す差分情報を生成する。例えば、図11において左側に隣接する符号化済みのブロックを優先させた場合、情報生成部19は、「0(インデックス番号):QP_Aのブロック」「1:QP_Bのブロック」「2:QP_Dのブロック」「3:QP_Tのブロック」とする。また、例えば符号化対象ブロックの量子化パラメータが「33」であると、差分演算部192は、符号化対象ブロックの量子化パラメータとの差分が最も小さいブロックのインデックス番号を、選択候補から予測量子化パラメータを選択するための識別情報「0(インデックス番号)」とする。また、差分演算部192は、予測量子化パラメータと符号化対象ブロックの量子化パラメータとの差分を示す差分情報「1(=33−32)」を生成する。
このように、隣接する符号化済みのブロックに対して識別情報を設定することで、量子化パラメータの符号化効率を高めることが可能となる。例えば左側のブロックを優先させて、量子化パラメータ「QP_A」「QP_B」「QP_C」「QP_D」「QP_E」「QP_T」のブロック順とすると、左側のブロックの画像と近似している符号化対象ブロックが多い画像でデータ量が少なくなる。また、上側のブロックを優先させて量子化パラメータ「QP_B」「QP_A」「QP_C」「QP_D」「QP_E」「QP_T」のブロック順とすると、上側のブロックの画像と近似している符号化対象ブロックが多い画像でデータ量が少なくなる。さらに、時間的に隣接するブロックを優先させて量子化パラメータ「QP_T」「QP_A」「QP_B」「QP_C」「QP_D」「QP_E」のブロック順とすると、時間的に隣接するブロックの画像と近似している符号化対象ブロックが多い画像、すなわち静止している被写体が多い画像でデータ量が少なくなる。
隣接する符号化済みのブロックの量子化パラメータに対して予め識別情報を設定する場合、情報生成部19は、隣接する符号化済みのブロックを所定の並び順としてインデックス番号を設定する。例えば、情報生成部19は、パラメータ値が小さい量子化パラメータから順に並べてインデックス番号を設定する。すなわち、図11の場合、情報生成部19は、「0(インデックス番号):32(量子化パラメータ)」「1:40」「2:35」「3:31」のようにインデックス番号を設定する。
差分演算部192は、選択候補から符号化対象ブロックの量子化パラメータとの差分が最も小さくなる候補を選択して、選択した候補に対して設定されている識別情報を用いることで、選択候補から予測量子化パラメータを選択するための識別情報の生成を行う。また、差分演算部192は、予測量子化パラメータと符号化対象ブロックの量子化パラメータとの差分を示す差分情報を生成する。例えば、符号化対象ブロックの量子化パラメータが「33」であると、差分演算部192は、識別情報として「0(インデックス番号)」と差分情報「1(=33−32)」を生成する。
また、選択候補がない場合、差分演算部192は、スライスにおける初期値の量子化パラメータSliceQPYと設定された量子化パラメータとの差分を示す差分情報を生成する。
図12は、符号化における量子化パラメータについての処理を示すフローチャートである。ステップST61で画像符号化装置10は、量子化パラメータユニット最小サイズ(MinQpUnitSize)を求めるための情報を生成する。量子化パラメータユニット最小サイズは、適応的に量子化パラメータが切り替えられる最小のサイズである。
画像符号化装置10は、量子化パラメータユニット最小サイズ(MinQpUnitSize)を求めるための情報として、例えばトランスフォームユニット最小サイズ(MinTransformUnitSize)との差分を用いる。
量子化パラメータユニット最小サイズ(MinQpUnitSize)は、式(26)によって決定される。
MinQpUnitSize=1<<(log2_min_transform_unit_size_minus2
+log2_min_qp_unit_size_offset+2) ・・・(26)
なお、式(26)における「log2_min_transform_unit_size_minus2」は、トランスフォームユニット最小サイズ(MinTransformUnitSize)を決めるパラメータである。
MinQpUnitSize=1<<(log2_min_transform_unit_size_minus2
+log2_min_qp_unit_size_offset+2) ・・・(26)
なお、式(26)における「log2_min_transform_unit_size_minus2」は、トランスフォームユニット最小サイズ(MinTransformUnitSize)を決めるパラメータである。
トランスフォームユニット最小サイズ(MinTransformUnitSize)は、式(27)によって決定される。
MinTransformUnitSize=1<<(log2_min_transform_unit_size_minus2
+2)・・・(27)
MinTransformUnitSize=1<<(log2_min_transform_unit_size_minus2
+2)・・・(27)
量子化パラメータユニット最小サイズ(MinQpUnitSize)とトランスフォームユニット最小サイズ(MinTransformUnitSize)との差分は、式(26)(27)から明らかなように、「log2_min_qp_unit_size_offset」に相当する。なお、量子化パラメータは、トランスフォームユニット(TU)単位で用いられる。すなわちトランスフォームユニット内では量子化パラメータが変わらない。
また、量子化パラメータユニット最小サイズ(MinQpUnitSize)は、コーディングユニットサイズに応じて決定するようにしてもよい。この場合、画像符号化装置10は、量子化パラメータユニット最小サイズ(MinQpUnitSize)を求めるための情報として、例えばコーディングユニットCUの最小サイズを規定する情報(log2_min_coding_block_size_minus3)、およびコーディングユニットCUの最大サイズを規定する情報(log2_diff_max_min_coding_block_size)を用いる。なお、コーディングユニットCUの最大サイズ「log2MaxCUSize」は式(28)となる。
log2MaxCUSize = log2_min_coding_block_size_minus 3 + 3
+ log2_diff_max_min_coding_block_size ・・・(28)
log2MaxCUSize = log2_min_coding_block_size_minus 3 + 3
+ log2_diff_max_min_coding_block_size ・・・(28)
量子化パラメータユニット最小サイズの対数値(log2MinQpUnitSize)は、式(29)によって決定される。
log2MinQpUnitSize= log2_min_coding_block_size_minus 3 + 3
+ log2_diff_max_min_coding_block_size
- log2_min_qp_unit_size_offset ・・・(29)
log2MinQpUnitSize= log2_min_coding_block_size_minus 3 + 3
+ log2_diff_max_min_coding_block_size
- log2_min_qp_unit_size_offset ・・・(29)
したがって、「log2_min_qp_unit_size_offset」を大きすれば量子化パラメータユニット最小サイズが小さくなる。例えば、コーディングユニットCUの最小サイズが「8×8」で最大サイズが「64×64」の場合、「log2_min_qp_unit_size_offset」を「1」とすれば量子化パラメータユニット最小サイズは「32×32」となる。また、「log2_min_qp_unit_size_offset」を「2」とすれば量子化パラメータユニット最小サイズは「16×16」となる。
ステップST62で画像符号化装置10は、生成された情報をストリーム情報に含める処理を行う。画像符号化装置10は、「log2_min_qp_unit_size_offset」やトランスフォームユニット最小サイズ(MinTransformUnitSize)を決めるパラメータである「log2_min_qp_unit_size_offset」をストリーム情報に含めてステップST63に進む。また、コーディングユニットサイズに応じて量子化パラメータユニット最小サイズを決定する場合は、「log2_min_coding_block_size_minus3」「log2_diff_max_min_coding_block_size」「log2_min_qp_unit_size_offset」をストリーム情報に含める。画像符号化装置10は、生成された情報を、例えばRBSP(raw byte sequence payload)のシンタックスとして定義されているシーケンスパラメータセット(SPS:sequence parameter set)に含める。なお、なお、図13はシーケンスパラメータセットを例示している。
ステップST63で画像符号化装置10は、符号化するフレームが存在するか判別する。画像符号化装置10は、符号化するフレームが存在する場合はステップST64に進み図14に示すフレーム符号化処理を行い、存在しない場合は符号化処理を終了する。
図14のフレーム符号化処理において、ステップST71で画像符号化装置10は符号化するスライスが存在するか判別する。画像符号化装置10は、符号化するスライスが存在する場合はステップST72に進み、存在しない場合は当該フレームの符号化処理を終了する。
ステップST72で画像符号化装置10は、符号化するスライスの量子化パラメータを決定する。画像符号化装置10は、目標符号量となるようにスライスにおける初期値の量子化パラメータを決定してステップST73に進む。
ステップST73で画像符号化装置10は、「slice_qp_delta」を算出する。スライスにおける初期値の量子化パラメータSliceQPYは、式(30)に示す関係を有しており、「pic_init_qp_minus26」は、予めユーザ等によって設定される。したがって、画像符号化装置10は、ステップST72よって決定された量子化パラメータとなるように「slice_qp_delta」を算出してステップST74に進む。
SliceQPY=26+pic_init_qp_minus26+slice_qp_delta ・・・(30)
SliceQPY=26+pic_init_qp_minus26+slice_qp_delta ・・・(30)
ステップST74で画像符号化装置10は、「slice_qp_delta」と「pic_init_qp_minus26」をストリーム情報に含める。画像符号化装置10は、算出した「slice_qp_delta」をストリーム情報の例えばスライスヘッダに含める。また、画像符号化装置10は、設定されている「pic_init_qp_minus26」をストリーム情報の例えばピクチャパラメータセットに含める。このように、「slice_qp_delta」と「pic_init_qp_minus26」をストリーム情報に含めことで、ストリーム情報の復号を行う画像復号装置では、式(30)の演算を行うことで、スライスにおける初期値の量子化パラメータSliceQPYを算出できる。なお、図15はシーケンスパラメータセット、図16はスライスヘッダを例示している。
ステップST75で画像符号化装置10は、スライス符号化処理を行う。図17はスライス符号化処理を示すフローチャートである。
図17のステップST81で画像符号化装置10は、符号化するコーディングユニットCUが存在するか判別する。画像符号化装置10は、符号化処理するスライスにおいて、符号化処理が行われていないコーディングユニットが存在する場合はステップST82に進む。また、画像符号化装置10は、スライス内の全てのコーディングユニットの符号化処理が完了している場合は、スライス符号化処理を終了する。
ステップST82で画像符号化装置10は、符号化するコーディングユニットCUにトランスフォームユニットTUが存在するか判別する。画像符号化装置10は、トランスフォームユニットが存在する場合はステップST83に進み、トランスフォームユニットが存在しない場合はステップST87に進む。例えば量子化パラメータを用いて量子化する係数が全て「0」である場合やスキップブロックである場合はステップST87に進む。
ステップST83で画像符号化装置10は、符号化するコーディングユニットCUの量子化パラメータを決定する。画像符号化装置10のレート制御部18は、上述のようにコーディングユニットの画像の複雑さに応じて、あるいはコスト関数値が小さくなるように量子化パラメータを決定してステップST84に進む。
ステップST84で画像符号化装置10は、選択候補に識別情報を設定する。画像符号化装置10の情報生成部19は、符号化するコーディングユニットに対して空間的または時間的に周囲の符号化済みのコーディングの量子化パラメータを選択候補とする。また、情報生成部19は、スキップブロックや残差情報がないためブロックに対して量子化パラメータが設定されていない場合、および量子化パラメータが他の候補と等しい場合、これらを選択候補から除外する。画像符号化装置10は、選択候補に対して識別情報例えばインデックス(ref_qp_block_index)を設定してステップST85に進む。
ステップST85で画像符号化装置10は、識別情報と差分情報を生成する。画像符号化装置10の情報生成部19は、符号化対象のコーディングユニットの量子化パラメータとの差分が最も小さくなる候補を選択候補から選択して予測量子化パラメータとする。情報生成部19は、選択した候補のインデックス(ref_qp_block_index)を、選択候補から予測量子化パラメータを選択するための識別情報として用いることで識別情報の生成を行う。また、情報生成部19は、予測量子化パラメータと符号化するコーディングユニットの量子化パラメータとの差分(qb_qp_delta)を差分情報としてステップST86に進む。ここで、判別した候補のインデックス(ref_qp_block_index)で示される予測量子化パラメータを「ref_qp(ref_qp_block_index)」とすると、符号化対象のコーディングユニットの量子化パラメータ(CurrentQP)は、式(31)に示す関係となる。
CurrentQP=qb_qp_delta+ref_qp(ref_qp_block_index) ・・・(31)
CurrentQP=qb_qp_delta+ref_qp(ref_qp_block_index) ・・・(31)
ステップST86で画像符号化装置10は、識別情報と差分情報をストリーム情報に含める。画像符号化装置10の可逆符号化部16は、情報生成部19で生成された識別情報と差分情報を可逆符号化してストリーム情報に含めてステップST87に進む。
ステップST87で画像符号化装置10は、決定された量子化パラメータを用いてコーディングユニットについての量子化を量子化部15で行いステップST81に戻る。
このように、画像符号化装置10は、符号化対象ブロックに対して空間的または時間的に隣接する符号化済みのブロックの量子化パラメータから、符号化対象ブロックの量子化パラメータとの差分が最も小さくなる候補を予測量子化パラメータとして選択する。また、画像符号化装置10は、選択した量子化パラメータに対応する識別情報を生成する。さらに、画像符号化装置10は、予測量子化パラメータと符号化対象ブロックの量子化パラメータとの差分を示す差分情報を生成する。画像符号化装置10は、生成した識別情報と差分識別をストリーム情報に含める。このように、差分が最も小さくなる候補が予測量子化パラメータとして選択されることから、予測量子化パラメータと符号化対象ブロックの量子化パラメータとの差分が大きな値となってしまうことを防止することが可能となる。したがって、画像符号化装置10は、量子化パラメータの符号化効率を向上させることができる。
<4.画像復号装置の構成>
次に、画像符号化装置から出力されるストリーム情報の復号処理を行う画像復号装置について説明する。入力画像を符号化して生成されたストリーム情報は、所定の伝送路や記録媒体等を介して画像復号装置に供給されて復号される。
次に、画像符号化装置から出力されるストリーム情報の復号処理を行う画像復号装置について説明する。入力画像を符号化して生成されたストリーム情報は、所定の伝送路や記録媒体等を介して画像復号装置に供給されて復号される。
図18は、ストリーム情報の復号処理を行う画像復号装置の構成を示している。画像復号装置50は、蓄積バッファ51、可逆復号部52、逆量子化部53、逆直交変換部54、加算部55、デブロッキングフィルタ56、画面並べ替えバッファ57、ディジタル/アナログ変換部(D/A変換部)58を備えている。さらに、画像復号装置50は、量子化パラメータ算出部59、フレームメモリ61、イントラ予測部71、動き補償部72、セレクタ73を備えている。
蓄積バッファ51は、伝送されてきたストリーム情報を蓄積する。可逆復号部52は、蓄積バッファ51より供給されたストリーム情報を、図3の可逆符号化部16の符号化方式に対応する方式で復号する。
可逆復号部52は、情報取得部として動作を行いストリーム情報から種々の情報を取得する。例えば、可逆復号部52は、ストリーム情報を復号して得られた予測モード情報をイントラ予測部71や動き補償部72に出力する。また、可逆復号部52は、ストリーム情報を復号して得られた差分動きベクトルや閾値または閾値生成情報を動き補償部72に出力する。また、可逆復号部52は、ストリーム情報を復号して得られた量子化パラメータに関する情報例えば差分情報等を量子化パラメータ算出部59に出力する。さらに、可逆復号部52は、ストリーム情報を復号して得られた量子化データを逆量子化部53に出力する。
逆量子化部53は、量子化パラメータ算出部59から供給された量子化パラメータを用いて、図3の量子化部15の量子化方式に対応する方式で、可逆復号部52から供給された量子化データの逆量子化を行う。逆直交変換部54は、図3の直交変換部14の直交変換方式に対応する方式で逆量子化部53の出力を逆直交変換して加算部55に出力する。
加算部55は、逆直交変換後のデータとセレクタ73から供給される予測画像データを加算して復号画像データを生成してデブロッキングフィルタ56とイントラ予測部71に出力する。
デブロッキングフィルタ56は、加算部55から供給された復号画像データに対してデブロッキングフィルタ処理を行い、ブロック歪みを除去してからフレームメモリ61に供給し蓄積させるとともに、画面並べ替えバッファ57に出力する。
画面並べ替えバッファ57は、画像の並べ替えを行う。すなわち、図3の画面並べ替えバッファ12により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられて、D/A変換部58に出力される。
D/A変換部58は、画面並べ替えバッファ57から供給された画像データをD/A変換し、図示せぬディスプレイに出力することで画像を表示させる。
量子化パラメータ算出部59は、可逆復号部52から供給された情報に基づき量子化パラメータを復元して逆量子化部53に出力する。図19は、量子化パラメータ算出部の構成を示しており、量子化パラメータ算出部59は演算部591と量子化パラメータメモリ部592を有している。
演算部591は、可逆復号部52から供給された情報と量子化パラメータメモリ部592に記憶されている量子化パラメータを用いて、復号対象ブロックで行われている符号化における量子化で用いられた量子化パラメータを復元して逆量子化部53に出力する。また、演算部591は、復号対象ブロックの量子化パラメータを量子化パラメータメモリ部592に記憶させる。
演算部591は、例えばピクチャパラメータセットから取り出した「pic_init_qp_minus26」と、スライスヘッダから取り出した「slice_qp_delta」を用いて、式(30)の演算を行い、量子化パラメータSliceQPYを算出して逆量子化部53に出力する。
また、演算部591は、可逆復号部52から供給された識別情報および差分情報と、量子化パラメータメモリ部592に記憶されている復号済みのブロックの量子化パラメータを用いて、復号対象ブロックの量子化パラメータを算出する。演算部591は、算出した量子化パラメータを逆量子化部53に出力する。この場合、演算部591は、量子化パラメータメモリ部592に記憶されている復号済みのブロックの量子化パラメータから、復号対象ブロックに対して空間的または時間的に周囲の復号済みであるブロックの量子化パラメータを読み出す。演算部591は、差分演算部192と同様にして選択候補を設定する。例えば演算部591は、少なくとも量子化パラメータが重複するブロックまたは量子化パラメータを用いた逆量子化が行われないブロックを除外して選択候補とする。さらに、演算部591は、各候補の量子化パラメータに対して差分演算部192と等しい識別情報例えばインデックス(ref_qp_block_index)を設定する。すなわち、演算部591は、隣接する復号済みのブロックを所定の並び順として、インデックス(ref_qp_block_index)を設定する。演算部591は、可逆復号部52から供給された識別情報に対応する量子化パラメータ「ref_qp(ref_qp_block_index)」、すなわち予測量子化パラメータと、可逆復号部52から供給された差分情報で示された差分(qb_qp_delta)を用いて式(31)の演算を行う。演算部91は、算出した量子化パラメータ(CurrentQP)を復号対象の量子化パラメータとして逆量子化部53に出力する。また、選択候補がない場合、演算部591は、スライスにおける初期値の量子化パラメータを逆量子化部53に出力する。
また、演算部591は、ストリーム情報からブロックの並び順を指定する情報が取り出されている場合、復号済みのブロックを指定された並び順として、インデックス(ref_qp_block_index)を設定する。このようにすれば、画像符号化装置10で並び順が変更されても、画像復号装置50は、画像符号化装置10で用いられた量子化パラメータを復元できる。
図18に戻り、フレームメモリ61は、デブロッキングフィルタ24でフィルタ処理が行われた後の復号画像データを参照画像データとして記憶する。
イントラ予測部71は、可逆復号部52から供給された予測モード情報と加算部55から供給された復号画像データに基づいて予測画像データの生成を行い、生成した予測画像データをセレクタ73に出力する。
動き補償部72は、可逆復号部52から供給された予測モード情報や差分動きベクトルに基づきフレームメモリ61から参照画像データを読み出して動き補償を行い、予測画像データを生成する。動き補償部72は、生成した予測画像データをセレクタ73に出力する。また、動き補償部72は、動きベクトルの大きさに応じて、フィルタ特性を切り替えて予測画像データの生成を行う。
セレクタ73は、可逆復号部52から供給された予測モード情報に基づき、イントラ予測である場合はイントラ予測部71、インター予測である場合は動き補償部72を選択する。セレクタ73は、選択されたイントラ予測部71または動き補償部72で生成された予測画像データを加算部55に出力する。
セレクタ73は、可逆復号部52から供給された予測モード情報に基づき、イントラ予測である場合はイントラ予測部71、インター予測である場合は動き補償部72を選択する。セレクタ73は、選択されたイントラ予測部71または動き補償部72で生成された予測画像データを加算部55に出力する。
<5.画像復号装置の動作>
次に、図20のフローチャートを参照して、画像復号装置50の動作について説明する。
次に、図20のフローチャートを参照して、画像復号装置50の動作について説明する。
ステップST91で蓄積バッファ51は、供給されたストリーム情報を蓄積する。ステップST92で可逆復号部52は、可逆復号処理を行う。可逆復号部52は、蓄積バッファ51から供給されるストリーム情報を復号する。すなわち、図3の可逆符号化部16により符号化された各ピクチャの量子化データが得られる。また、可逆復号部52、ストリーム情報に含まれている予測モード情報等の可逆復号を行い、得られた予測モード情報がイントラ予測モードに関する情報である場合、予測モード情報をイントラ予測部71に出力する。また、可逆復号部52は、予測モード情報がインター予測モードに関する情報である場合、予測モード情報を動き補償部72に出力する。さらに、可逆復号部52は、ストリーム情報を復号して得られた差分動きベクトルや閾値または閾値生成情報を動き補償部72に出力する。
ステップST93において逆量子化部53は、逆量子化処理を行う。逆量子化部53は、可逆復号部52により復号された量子化データを、図3の量子化部15の特性に対応する特性で逆量子化する。
ステップST94において逆直交変換部54は、逆直交変換処理を行う。逆直交変換部54は、逆量子化部53により逆量子化された変換係数データを、図3の直交変換部14の特性に対応する特性で逆直交変換する。
ステップST95において加算部55は、復号画像データの生成を行う。加算部55は、逆直交変換処理を行うことにより得られたデータと、後述するステップST99で選択された予測画像データを加算して復号画像データを生成する。これにより元の画像が復号される。
ステップST96においてデブロッキングフィルタ56は、フィルタ処理を行う。デブロッキングフィルタ56は、加算部55より出力された復号画像データのデブロッキングフィルタ処理を行い、復号画像に含まれているブロック歪みを除去する。
ステップST97においてフレームメモリ61は、復号画像データの記憶処理を行う。なお、フレームメモリ61に記憶された復号画像データや加算部55から出力される復号画像データは、参照画像データとして予測画像データの生成で用いられる。
ステップST98においてイントラ予測部71と動き補償部72は、予測画像生成処理を行う。イントラ予測部71と動き補償部72は、可逆復号部52から供給される予測モード情報に対応してそれぞれ予測画像生成処理を行う。
すなわち、可逆復号部52からイントラ予測の予測モード情報が供給された場合、イントラ予測部71は、予測モード情報に基づいて予測画像データを生成する。また、可逆復号部52からインター予測の予測モード情報が供給された場合、動き補償部72は、予測モード情報に基づき動き補償を行い、予測画像データを生成する。
ステップST99において、セレクタ73は予測画像データの選択を行う。セレクタ73は、イントラ予測部71から供給された予測画像と動き補償部72から供給された予測画像データの選択を行い、選択した予測画像データを加算部55に供給して、上述したように、ステップST95において逆直交変換部54の出力と加算させる。
ステップST100において画面並べ替えバッファ57は、画像並べ替えを行う。すなわち画面並べ替えバッファ57は、図3の画像符号化装置10の画面並べ替えバッファ12により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
ステップST101において、D/A変換部58は、画面並べ替えバッファ57からの画像データをD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
次に、図21のフローチャートを参照して、図20のステップST98の予測画像生成処理について説明する。
ステップST111で可逆復号部52は、復号対象ブロックがイントラ符号化されているか否かを判定する。可逆復号部52は、可逆復号を行うことにより得られた予測モード情報がイントラ予測の予測モード情報である場合、予測モード情報をイントラ予測部71に供給してステップST112に進む。また、可逆復号部52は、予測モード情報がインター予測の予測モード情報である場合、予測モード情報を動き補償部72に供給してステップST113に進む。
ステップST112でイントラ予測部71は、イントラ予測画像生成処理を行う。イントラ予測部71は、加算部55から供給されたデブロックフィルタ処理前の復号画像データと予測モード情報を用いてイントラ予測を行い、予測画像データを生成する。
ステップST113で動き補償部72は、インター予測画像生成処理を行う。動き補償部72は、可逆復号部52から供給された予測モード情報等の情報に基づいて、フレームメモリ61から参照画像データを読み出して予測画像データの生成を行う。
図22は、復号における量子化パラメータについての処理を示すフローチャートである。ステップST121で画像復号装置50は、量子化パラメータユニット最小サイズを求めるための情報の取り出しを行う。画像復号装置50は、符号化パラメータユニット最小サイズを求めるための情報、例えば「log2_min_qp_unit_size_offset」をストリーム情報から取り出してステップST122に進む。
ステップST122で画像復号装置50は、量子化パラメータユニット最小サイズを算出する。画像復号装置50は、「log2_min_qp_unit_size_offset」と、トランスフォームユニット最小サイズ(MinTransformUnitSize)を決めるパラメータ「log2_min_transform_unit_size_minus2」を用いて式(26)の演算を行い、量子化パラメータユニット最小サイズ(MinQpUnitSize)を算出する。また、画像復号装置50は、式(29)の演算によって量子化パラメータユニット最小サイズ(MinQpUnitSize)を算出してもよい。
ステップST123で画像復号装置50は、復号するフレームが存在するか判別する。画像復号装置50は、復号するフレームが存在する場合にはステップST124に進み、復号するフレームが存在しない場合には処理を終了する。
ステップST124で画像復号装置50は、復号するスライスが存在するか判別する。画像復号装置50は、復号するスライスが存在する場合にはステップST125に進み、復号するスライスが存在しない場合にはステップST123に戻る。
ステップST125で画像復号装置50は、スライスにおける初期値の量子化パラメータを求めるための情報の取り出しを行う。画像復号装置50の可逆復号部52は、例えばピクチャパラメータセット(PPS:picture parameter set)から「pic_init_qp_minus26」を取り出す。またスライスヘッダから「slice_qp_delta」を取り出してステップST126に進む。
ステップST126で画像復号装置50は、スライスにおける初期値の量子化パラメータを算出する。画像復号装置50の量子化パラメータ算出部59は、「pic_init_qp_minus26」と「slice_qp_delta」を用いて式(30)の演算を行い、量子化パラメータSliceQPYを算出してステップST127に進む。
ステップST127で画像復号装置50は、復号するコーディングユニットCUが存在するか判別する。画像復号装置50は、復号するコーディングユニットが存在する場合にはステップST128に進み、存在しない場合にはステップST124に戻る。
ステップST128で画像復号装置50は、選択候補に識別情報を設定する。画像復号装置50の量子化パラメータ算出部59は、画像符号化装置10の情報生成部19と同様にして、選択候補に識別情報を設定する。すなわち、量子化パラメータ算出部59は、復号するコーディングユニットに対して空間的または時間的に周囲の復号済みのコーディングの量子化パラメータを候補とする。また、量子化パラメータ算出部59は、スキップブロックや残差情報がないためブロックに対して量子化パラメータが設定されていない場合、および量子化パラメータが他の候補と等しい場合、候補から除外する。量子化パラメータ算出部59は、各候補の量子化パラメータに対して画像符号化装置10と等しい識別情報例えばインデックス(ref_qp_block_index)を設定してステップST129に進む。
ステップST129で画像復号装置50は、識別情報と差分情報を取得する。画像復号装置50の可逆復号部52は、画像符号化装置10でストリーム情報に含められた識別情報と差分情報、すなわちインデックス(ref_qp_block_index)と差分(qb_qp_delta)を取り出す。可逆復号部52は、取り出した識別情報と差分情報を量子化パラメータ算出部59に供給してステップST130に進む。
ステップST130で画像復号装置50は、識別情報と差分情報を用いて量子化パラメータの算出を行う。画像復号装置50の量子化パラメータ算出部59は、識別情報であるインデックス(ref_qp_block_index)に対応する量子化パラメータ「ref_qp(ref_qp_block_index)」と、差分情報である差分(qb_qp_delta)を用いて、式(31)の演算を行う。すなわち、予測量子化パラメータに対して差分を加算することで、復号対象のコーディングユニットの量子化パラメータを算出する。量子化パラメータ算出部59は、算出された復号対象のコーディングユニットの量子化パラメータ(CurrentQP)を逆量子化部53に出力してステップST124に戻る。
このように、ストリーム情報に含まれた識別情報と差分情報を利用することで、ストリーム情報に各ブロックの量子化パラメータが含まれていなくとも復号対象ブロックに関する量子化パラメータを復元することができる。すなわち、画像符号化装置10で識別情報と差分情報を用いることで量子化パラメータの符号化効率が向上されていても、画像復号装置50では、各ブロックに関する量子化パラメータを復元して正しく復号処理を行い復号画像を生成できる。
<6.画像符号化装置と画像復号装置の他の動作>
上述の画像符号化装置と画像復号装置の動作では、符号化対象ブロックに対して空間的または時間的に隣接する符号化済みのブロックの量子化パラメータを選択候補とする。また、符号化対象ブロックに対して設定された量子化パラメータに応じて選択候補から選択した量子化パラメータを予測量子化パラメータとする。さらに、選択候補から予測量子化パラメータを選択するための識別情報と、予測量子化パラメータと符号化対象ブロックに対して設定された量子化パラメータとの差分を示す差分情報をストリーム情報に含めることで、量子化パラメータの符号化効率の向上がはかられている。
上述の画像符号化装置と画像復号装置の動作では、符号化対象ブロックに対して空間的または時間的に隣接する符号化済みのブロックの量子化パラメータを選択候補とする。また、符号化対象ブロックに対して設定された量子化パラメータに応じて選択候補から選択した量子化パラメータを予測量子化パラメータとする。さらに、選択候補から予測量子化パラメータを選択するための識別情報と、予測量子化パラメータと符号化対象ブロックに対して設定された量子化パラメータとの差分を示す差分情報をストリーム情報に含めることで、量子化パラメータの符号化効率の向上がはかられている。
しかし、選択候補は空間的または時間的に隣接する符号化済みのブロックの量子化パラメータに限らず、最後に更新された量子化パラメータを選択候補に含めてもよい。最後に更新された量子化パラメータを選択候補に含めることで、後述するように、空間的または時間的に隣接する符号化済みのブロックが逆量子化を伴わないブロックであっても、符号化対象ブロックに近い位置のブロックの量子化パラメータを予測量子化パラメータとして設定できる。さらに、選択候補の量子化パラメータから暗黙的または明示的に量子化パラメータを予測して、予測した量子化パラメータと符号化対象ブロックの量子化パラメータとの差分を示す差分情報を生成してもよい。
次に、画像符号化装置と画像復号装置の他の動作として、量子化パラメータユニット最小サイズ(MinQpUnitSize)を、コーディングユニットサイズに応じて決定して、選択候補の量子化パラメータから暗黙的または明示的に予測量子化パラメータを選択する場合について説明する。以下、上述の画像符号化装置と画像復号装置に対する相違部分について説明する。
画像符号化装置は、選択候補の量子化パラメータから暗黙的または明示的に予測量子化パラメータを選択する場合、量子化パラメータを暗黙的に決定するか明示的に決定するかを示す判別情報「qp_explicit_flag」をストリーム情報に含める。また、画像符号化装置と画像復号装置で、量子化パラメータを暗黙的に決定するか明示的に決定するか予め決めておくようにしてもよい。
暗黙的に量子化パラメータを決定するとは、選択候補から予測量子化パラメータを選択するための識別情報を画像符号化装置から画像復号装置に供給することなく、画像復号装置で画像符号化装置と等しい予測量子化パラメータを選択できることを意味する。具体的には、選択候補から予め決められた優先順位に基づいて量子化パラメータ選択して予測量子化パラメータを決定する方法、選択候補の量子化パラメータの統計値を予測量子化パラメータとする方法、現在のブロックからの距離に応じて選択候補の量子化パラメータの重み付けを行い、重み付け後の量子化パラメータの統計値を予測量子化パラメータとする方法等が用いられる。
明示的に量子化パラメータを決定するとは、選択候補から予測量子化パラメータを選択するための識別情報を画像符号化装置から画像復号装置に供給することで、画像復号装置が画像符号化装置と等しい予測量子化パラメータを選択できることを意味する。具体的には、画像符号化装置で選択候補を指定するインデックス情報を計算してストリーム情報に含めて、画像復号装置では、予測量子化パラメータとしてインデックス情報で示された選択候補の量子化パラメータを用いる方法、量子化が行われないブロックに対してインデックス情報を含めない方法等が用いられる。
図23は、画像符号化装置の他の動作を説明するためのフローチャートであり、スライス符号化処理を示している。ステップST141で画像符号化装置10は、符号化するコーディングユニットCUが存在するか判別する。画像符号化装置10は、符号化処理するスライスにおいて、符号化処理が行われていないコーディングユニットが存在する場合はステップST142に進む。また、画像符号化装置10は、スライス内の全てのコーディングユニットの符号化処理が完了している場合は、スライス符号化処理を終了する。
ステップST142で画像符号化装置10は、コーディングユニットCUの分割を行う。画像符号化装置10は、図5に示すようにコーディングユニットの分割を行い、コスト関数値が小さくなるコーディングユニットのサイズを決定してステップST143に進む。また、画像符号化装置10は、コスト関数値が小さくなるコーディングユニットのサイズを判別可能とするため、図5に示すsplit flagに相当する「split_coding_unit_flag」をストリーム情報に含める。例えば「Coding tree syntax」に含める。
ステップST143で画像符号化装置10は、符号化するコーディングユニットCUは、逆量子化を伴うか判別する。画像符号化装置10は、符号化するコーディングユニットCUが、復号を行うときに量子化パラメータを用いた逆量子化を行う必要のないモード、例えばスキップモードやI_PCMモード、ダイレクトモード(CBP(Coded Block Pattern)=0)のブロックである場合にステップST141に戻り、逆量子化を行うブロックである場合にステップST144に進む。
ステップST144で画像符号化装置10は、コーディングユニットCUのサイズが「log2MinQpUnitSize」以上であるか判別する。画像符号化装置10は、コーディングユニットのサイズが「log2MinQpUnitSize」以上である場合、ステップST145に進む。また、画像符号化装置10は、コーディングユニットのサイズが「log2MinQpUnitSize」以上でない場合はステップST152に進む。
ステップST145で画像符号化装置10は、符号化するコーディングユニットCUの量子化パラメータQPを決定する。画像符号化装置10のレート制御部18は、上述のようにコーディングユニットの画像の複雑さに応じて、あるいはコスト関数値が小さくなるように量子化パラメータを決定してステップST146に進む。
ステップST146で画像符号化装置10は、暗黙的または明示的のいずれで量子化パラメータを予測するかを識別可能とするための判別情報「qp_explicit_flag」が「1」であるか判別する。画像符号化装置10は、判別情報「qp_explicit_flag」が「1」であり、明示的に量子化パラメータを予測する場合にはステップST147に進む。また、画像符号化装置10は、判別情報「qp_explicit_flag」が「0」であり、暗黙的に量子化パラメータを予測する場合にはステップST149に進む。画像符号化装置10は、例えば判別情報「qp_explicit_flag」を「1」とした場合のコスト関数値と、判別情報「qp_explicit_flag」を「0」とした場合のコスト関数値を比較する。画像符号化装置10は、比較結果に基づき符号化効率が高くなるように判別情報「qp_explicit_flag」の値を設定する。また、ユーザによって判別情報「qp_explicit_flag」が設定可能である場合、画像符号化装置10は、ユーザの指示に応じて判別情報「qp_explicit_flag」を設定する。
ステップST147で画像符号化装置10は、識別情報の生成を行う。画像符号化装置10は、上述のように情報生成部19で符号化対象のコーディングユニットの量子化パラメータとの差分が最も小さくなる候補を選択候補から選択して予測量子化パラメータとする。画像符号化装置10は、例えば、符号化対象ブロックに対して空間的または時間的に隣接する符号化済みのブロックの量子化パラメータ、最後に更新された量子化パラメータ、スライスの先頭ブロックで設定された量子化パラメータを選択候補とする。画像符号化装置10は、選択候補から符号化対象のコーディングユニットの量子化パラメータとの差分が最も小さくなる候補を選択して予測量子化パラメータとする。さらに情報生成部19は、選択した候補のインデックス(ref_qp_block_index)を、選択候補から予測量子化パラメータを選択するための識別情報としてステップST148に進む。
ステップST148で画像符号化装置10は、識別情報をストリーム情報に含める。画像符号化装置10は、ステップST147で生成した識別情報をストリーム情報に含めてステップST150に進む。
ステップST149で画像符号化装置10は、暗黙的に予測量子化パラメータdQPを決定する。すなわち、画像符号化装置10は、画像復号装置50と等しい方法で量子化パラメータを予測する。量子化パラメータを予測する方法としては、例えば予め決められた優先順位に基づいて予測量子化パラメータを決定する。また、候補となる複数の量子化パラメータの統計値を予測量子化パラメータとしてもよい。さらに、現在のブロックからの距離に応じて重み付けが行われた候補の量子化パラメータの統計値を予測量子化パラメータとする方法等を用いることもできる。画像符号化装置10は、予測量子化パラメータを算出してステップST150に進む。
ステップST150で画像符号化装置10は、差分情報を生成する。画像符号化装置10は、ステップST147で生成した識別情報で示された予測量子化パラメータとステップST145で決定された量子化パラメータとの差分、またはステップST149で決定された予測量子化パラメータとステップST145で決定された量子化パラメータとの差分を算出する。画像符号化装置10は、算出された差分を示す差分情報を生成してステップST151に進む。
ステップST151で画像符号化装置10は、差分情報と判別情報をストリーム情報に含める。画像符号化装置10は、ステップST151で生成した差分情報とステップST146で用いた判別情報「qp_explicit_flag」をストリーム情報に含める。画像符号化装置10は、例えばシーケンスパラメータセットあるいはピクチャパラメータセット、スライスヘッダ等のいずれかに判別情報を含めてステップST152に進む。
ステップST152で画像符号化装置10は、コーディングユニットCUの量子化を行う。画像符号化装置10は、決定されている量子化パラメータを用いてコーディングユニットの量子化を行いステップST141に戻る。
図24は、暗黙的に量子化パラメータを予測する場合の動作例、図25は、暗黙的に量子化パラメータを予測する場合のフローチャート例を示している。なお、説明を簡単とするため、選択候補は3つの場合を示している。
図24の(A)に示すように、符号化対象フレームにおける符号化対象ブロックの量子化パラメータは例えば「QP_O」とする。また、3つの候補は、左に隣接する符号化済みブロックの量子化パラメータ「QP_A」、隣接する符号化済みブロックの量子化パラメータ「QP_B」、デコード済みのコーディングユニットの量子化パラメータ「QP_LS」とする。
図25において、ステップST161で画像符号化装置10は、量子化パラメータ「QP_A」「QP_B」が参照可能であるか判別する。画像符号化装置10は、左に隣接する符号化済みブロックおよび上に隣接する符号化済みブロックが、逆量子化を行う必要のないモード、例えばスキップモードやI_PCMモード、ダイレクトモード(CBP(Coded Block Pattern)=0)のブロックでない場合、参照可能と判別してステップST162に進む。また、画像符号化装置10は、量子化パラメータ「QP_A」と量子化パラメータ「QP_B」の少なくともいずれかが逆量子化を行う必要のないモードである場合、ステップST163に進む。
ステップST162で画像符号化装置10は、量子化パラメータ「QP_A」「QP_B」の平均値を予測量子化パラメータdQPとする。すなわち、図24の(B)に示すように、量子化パラメータ「QP_A」「QP_B」が参照可能である場合は、量子化パラメータ「QP_A」「QP_B」の平均値「(QP_A+QP_B+1)/2」を予測量子化パラメータdQPとする。
ステップST163で画像符号化装置10は、量子化パラメータ「QP_A」が参照可能であるか判別する。画像符号化装置10は、左に隣接する符号化済みブロックが逆量子化を行う必要のないモードでない場合、参照可能と判別してステップST164に進む。また、画像符号化装置10は、左に隣接する符号化済みブロックが逆量子化を行う必要のないモードである場合、参照可能でないと判別してステップST165に進む。
ステップST164で画像符号化装置10は、量子化パラメータ「QP_A」を予測量子化パラメータdQPとする。すなわち、図24の(C)に示すように、量子化パラメータ「QP_A」が参照可能であり、量子化パラメータ「QP_B」が参照可能でない場合、量子化パラメータ「QP_A」を予測量子化パラメータdQPとする。なお、図24および後述する図26では、逆量子化を行う必要のないモードのブロック、すなわち参照可能でないブロックを斜線で示す。
ステップST165で画像符号化装置10は、量子化パラメータ「QP_B」が参照可能であるか判別する。画像符号化装置10は、上に隣接する符号化済みブロックが、逆量子化を行う必要のないモードでない場合、参照可能と判別してステップST166に進む。また、画像符号化装置10は、上に隣接する符号化済みブロックが、逆量子化を行う必要のないモードである場合、参照可能でないと判別してステップST167に進む。
ステップST166で画像符号化装置10は、量子化パラメータ「QP_B」を予測量子化パラメータdQPとする。すなわち、図24の(D)に示すように、量子化パラメータ「QP_B」が参照可能であり、量子化パラメータ「QP_A」が参照可能でない場合、量子化パラメータ「QP_B」を予測量子化パラメータdQPとする。
ステップST167で画像符号化装置10は、量子化パラメータ「QP_LS」を予測量子化パラメータdQPとする。図24の(E)に示すように、左の隣接ブロックと上の隣接ブロックが逆量子化を行う必要のないモードである場合、量子化パラメータ「QP_LS」を予測量子化パラメータdQPとする。
図26は、暗黙的に量子化パラメータを予測する場合の他の動作例を示している。例えば、図24の(E)に示すように、左の隣接ブロックと上の隣接ブロックが逆量子化を行う必要のないモードである場合、選択候補を増やして予測量子化パラメータの生成を行うようにしてもよい。例えば、図26の(A)に示すように、右上に隣接する符号化済みブロックの量子化パラメータ「QP_C」、左上に隣接する符号化済みブロックの量子化パラメータ「QP_D」、左下に隣接する符号化済みのブロックの量子化パラメータ「QP_E」を選択候補に追加する。
画像符号化装置10は、図26の(B)に示すように、量子化パラメータ「QP_C」「QP_D」「QP_E」が参照可能である場合は、量子化パラメータ「QP_C」「QP_D」の平均値「(QP_C+QP_D+1)/2」、またはメディアンを予測量子化パラメータdQPとする。
画像符号化装置10は、図26の(C)に示すように、量子化パラメータ「QP_C」「QP_D」が参照可能である場合は、量子化パラメータ「QP_C」「QP_D」の平均値「(QP_C+QP_D+1)/2」を予測量子化パラメータdQPとする。
画像符号化装置10は、図26の(D)に示すように、量子化パラメータ「QP_D」「QP_E」が参照可能である場合は、量子化パラメータ「QP_D」「QP_E」の平均値「(QP_D+QP_E+1)/2」を予測量子化パラメータdQPとする。
画像符号化装置10は、図26の(E)に示すように、量子化パラメータ「QP_C」「QP_E」が参照可能である場合は、量子化パラメータ「QP_C」「QP_E」の平均値「(QP_C+QP_E+1)/2」を予測量子化パラメータdQPとする。
画像符号化装置10は、図26の(F)に示すように、量子化パラメータ「QP_C」「QP_D」「QP_E」が参照可能でない場合、量子化パラメータ「QP_LS」を予測量子化パラメータdQPとする。なお、図27は、図24の(B)〜(D)と図26の(B)〜(F)の動作を行うプログラムを示している。
また、図26の(G)〜(I)に示すように、参照可能な量子化パラメータが1つである場合は、この参照可能な量子化パラメータを予測量子化パラメータdQPとして用いるようにしてもよい。
このように、画像符号化装置10は、符号化対象ブロックに対して空間的または時間的に隣接する符号化済みのブロック等の量子化パラメータを選択候補として、設定された量子化パラメータに応じて選択候補から予測量子化パラメータを選択する。また、画像符号化装置10は、選択候補から予測量子化パラメータを選択するための識別情報を生成する。さらに、画像符号化装置10は、予測量子化パラメータと符号化対象ブロックに設定された量子化パラメータとの差分を示す差分情報を生成する。画像符号化装置10は、生成した識別情報と差分識別をストリーム情報に含める。このような処理を行うことで、符号化対象ブロックの量子化パラメータと予測量子化パラメータとの差分が大きな値となってしまうことを防止することが可能となる。このため、画像符号化装置10は、量子化パラメータの符号化効率を向上させることができる。
また、暗黙的に量子化パラメータを予測する場合、選択候補から予測量子化パラメータを選択するための識別情報をストリーム情報に含めることなく、画像復号装置50で画像符号化装置10と等しい予測量子化パラメータを用いることができる。さらに、判別情報をストリーム情報に含めることで、明示的な予測量子化パラメータの予測と暗黙的な量子化パラメータの予測を適用的に切り替えることが可能となる。
図28は、画像復号装置の他の動作を説明するためのフローチャートである。画像復号装置50は、図22のステップST127において、復号するコーディングユニットが存在すると判別された場合、ステップST171からの処理を行い、コーディングユニットの復号を行う。
ステップST171で画像復号装置50は、情報の取り出しを行う。画像復号装置50は、ストリーム情報からコーディングユニットの復号に用いる情報を抽出する。例えば、コーディングユニットのサイズを判別可能とするための情報「Coding tree syntax」や量子化パラメータユニット最小サイズを判別可能とするための情報「log2_min_qp_unit_size_offset」、判別情報「qp_explicit_flag」等を取り出してステップST172に進む。
ステップST172で画像復号装置50は、コーディングユニットCUの分割を行う。画像復号装置50は、ストリーム情報に含まれている「split_coding_unit_flag」等に基づきコーディングユニットCUの分割を行いステップST173に進む。
ステップST173で画像復号装置50は、復号するコーディングユニットCUが、逆量子化を伴うか判別する。画像復号装置50は、復号するコーディングユニットCUが、量子化パラメータを用いた逆量子化を行うモードである場合はステップST174に進み、量子化パラメータを用いた逆量子化を行う必要がないモードである場合は復号処理を終了する。
ステップST174で画像復号装置50は、コーディングユニットCUのサイズが「log2MinQpUnitSize」以上であるか判別する。画像復号装置50は、コーディングユニットのサイズが「log2MinQpUnitSize」以上である場合、ステップST175に進む。また、画像復号装置50は、コーディングユニットのサイズが「log2MinQpUnitSize」以上でない場合はステップST180に進む。
ステップST175で画像復号装置50は、判別情報「qp_explicit_flag」が「1」であるか判別する。画像復号装置50は、ストリーム情報に含まれている判別情報「qp_explicit_flag」が「1」とされており、明示的に量子化パラメータを予測する場合にはステップST176に進む。また、画像復号装置50は、判別情報「qp_explicit_flag」が「0」であり、暗黙的に量子化パラメータを予測する場合にはステップST178に進む。
ステップST176で画像復号装置50は、ストリーム情報からインデックス(ref_qp_block_index)を取り出してステップST177に進む。
ステップST177で画像復号装置50は、予測量子化パラメータdQPを決定する。画像復号装置50は、画像符号化装置10と等しい選択候補の量子化パラメータからインデックス(ref_qp_block_index)に基づいて量子化パラメータを選択して、選択した量子化パラメータを予測量子化パラメータdQPに決定してステップST179に進む。
ステップST178で画像復号装置50は、暗黙的に予測量子化パラメータdQPを決定する。画像復号装置50は、画像符号化装置10と等しい方法で量子化パラメータを予測する。量子化パラメータを予測する方法としては、例えば予め決められた優先順位に基づいて量子化パラメータを決定する。また、候補となる複数の量子化パラメータの統計値を予測量子化パラメータとしてもよい。さらに、現在のブロックからの距離に応じて重み付けが行われた候補の量子化パラメータの統計値を予測量子化パラメータとする方法等を用いることもできる。画像復号装置50は、量子化パラメータを予測してステップST179に進む。
ステップST179で画像復号装置50は、当該コーディングユニットCUの量子化パラメータQPを計算する。画像復号装置50はストリーム情報から差分情報「qb_qp_delta」を取得して、この差分情報と予測量子化パラメータdQPを加算して、復号対象のコーディングユニットの量子化パラメータを算出してステップST180に進む。
ステップST180で画像復号装置50は、コーディングユニットの逆量子化を行う。画像復号装置50は、決定されている量子化パラメータを用いてコーディングユニットの逆量子化を行う。
このようにすれば、画像復号装置50は、画像符号化装置で用いられている量子化パラメータと等しい量子化パラメータを用いて画像の復号を行うことができる。
<7.ソフトウェア処理の場合>
上述の一連の処理は、ハードウェア、またはソフトウェア、または両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させる。または、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることも可能である。
上述の一連の処理は、ハードウェア、またはソフトウェア、または両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させる。または、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることも可能である。
図29は、上述した一連の処理をプログラムにより実行するコンピュータ装置の概略構成を例示した図である。コンピュータ装置80のCPU801は、ROM802、または記録部808に記録されているプログラムにしたがって各種の処理を実行する。
RAM803には、CPU801が実行するプログラムやデータなどが適宜記憶される。これらのCPU801、ROM802、およびRAM803は、バス804により相互に接続されている。
CPU801にはまた、バス804を介して入出力インタフェース805が接続されている。入出力インタフェース805には、タッチパネルやキーボード、マウス、マイクロホンなどの入力部806、ディスプレイなどよりなる出力部807が接続されている。CPU801は、入力部806から入力される指令に対応して各種の処理を実行する。そして、CPU801は、処理の結果を出力部807に出力する。
入出力インタフェース805に接続されている記録部808は、例えばハードディスクからなり、CPU801が実行するプログラムや各種のデータを記録する。通信部809は、インターネットやローカルエリアネットワークなどのネットワークやディジタル放送といった有線または無線の通信媒体を介して外部の装置と通信する。また、コンピュータ装置80は、通信部809を介してプログラムを取得し、ROM802や記録部808に記録してもよい。
ドライブ810は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア85が装着された場合、それらを駆動して、記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じてROM802やRAM803または記録部808に転送される。
CPU801は、上述した一連の処理を行うプログラムを読み出して実行して、記録部808やリムーバブルメディア85に記録されている画像信号や、通信部809を介して供給された画像信号の符号化処理やストリーム情報の復号処理を行う。
<8.電子機器に適用した場合>
また、以上においては、符号化方式/復号方式としてH.264/AVC方式が用いられたが、本技術は、その他の動き予測・補償処理を行う符号化方式/復号方式を用いる画像符号化装置/画像復号装置に適用することもできる。
また、以上においては、符号化方式/復号方式としてH.264/AVC方式が用いられたが、本技術は、その他の動き予測・補償処理を行う符号化方式/復号方式を用いる画像符号化装置/画像復号装置に適用することもできる。
さらに、本技術は、例えば、MPEG,H.26x等のように符号化処理を行うことで得られたストリーム情報を、衛星放送、ケーブルTV(テレビジョン)、インターネット、および携帯電話機などのネットワークメディアを介して受信する際に、または、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。
次に、上述した画像符号化装置10や画像復号装置50が適用された電子機器について説明する。
図30は、本技術を適用したテレビジョン装置の概略構成を例示している。テレビジョン装置90は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース部909を有している。さらに、テレビジョン装置90は、制御部910、ユーザインタフェース部911等を有している。
チューナ902は、アンテナ901で受信された放送波信号から所望のチャンネルを選局して復調を行い、得られたストリームをデマルチプレクサ903に出力する。
デマルチプレクサ903は、ストリームから視聴対象である番組の映像や音声のパケットを抽出して、抽出したパケットのデータをデコーダ904に出力する。また、デマルチプレクサ903は、EPG(Electronic Program Guide)等のデータのパケットを制御部910に出力する。なお、スクランブルが行われている場合、デマルチプレクサ等でスクランブルの解除を行う。
デコーダ904は、パケットの復号処理を行い、復号処理化によって生成された映像データを映像信号処理部905、音声データを音声信号処理部907に出力する。
映像信号処理部905は、映像データに対して、ノイズ除去やユーザ設定に応じた映像処理等を行う。映像信号処理部905は、表示部906に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成する。また、映像信号処理部905は、項目の選択などのメニュー画面等を表示するための映像データを生成し、それを番組の映像データに重畳する。映像信号処理部905は、このようにして生成した映像データに基づいて駆動信号を生成して表示部906を駆動する。
表示部906は、映像信号処理部905からの駆動信号に基づき表示デバイス(例えば液晶表示素子等)を駆動して、番組の映像などを表示させる。
音声信号処理部907は、音声データに対してノイズ除去などの所定の処理を施し、処理後の音声データのD/A変換処理や増幅処理を行い、スピーカ908に供給することで音声出力を行う。
外部インタフェース部909は、外部機器やネットワークと接続するためのインタフェースであり、映像データや音声データ等のデータ送受信を行う。
制御部910にはユーザインタフェース部911が接続されている。ユーザインタフェース部911は、操作スイッチやリモートコントロール信号受信部等で構成されており、ユーザ操作に応じた操作信号を制御部910に供給する。
制御部910は、CPU(Central Processing Unit)やメモリ等を用いて構成されている。メモリは、CPUにより実行されるプログラムやCPUが処理を行う上で必要な各種のデータ、EPGデータ、ネットワークを介して取得されたデータ等を記憶する。メモリに記憶されているプログラムは、テレビジョン装置90の起動時などの所定タイミングでCPUにより読み出されて実行される。CPUは、プログラムを実行することで、テレビジョン装置90がユーザ操作に応じた動作となるように各部を制御する。
なお、テレビジョン装置90では、チューナ902、デマルチプレクサ903、映像信号処理部905、音声信号処理部907、外部インタフェース部909等と制御部910を接続するためバス912が設けられている。
このように構成されたテレビジョン装置では、デコーダ904に本願の画像復号装置(画像復号方法)の機能が設けられる。このため、放送局側の画像符号化処理において、量子化パラメータを伝送するために必要とされる符号量を削減する処理が行われても、テレビジョン装置で正しく量子化パラメータを復元して復号画像を生成することができる。
図31は、本技術を適用した携帯電話機の概略構成を例示している。携帯電話機92は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931を有している。これらは、バス933を介して互いに接続されている。
また、通信部922にはアンテナ921が接続されており、音声コーデック923には、スピーカ924とマイクロホン925が接続されている。さらに制御部931には、操作部932が接続されている。
携帯電話機92は、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
音声通話モードにおいて、マイクロホン925で生成された音声信号は、音声コーデック923で音声データへの変換やデータ圧縮が行われて通信部922に供給される。通信部922は、音声データの変調処理や周波数変換処理等を行い、送信信号を生成する。また、通信部922は、送信信号をアンテナ921に供給して図示しない基地局へ送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、得られた音声データを音声コーデック923に供給する。音声コーデック923は、音声データのデータ伸張やアナログ音声信号への変換を行い、スピーカ924に出力する。
また、データ通信モードにおいて、メール送信を行う場合、制御部931は、操作部932の操作によって入力された文字データを受け付けて、入力された文字を表示部930に表示する。また、制御部931は、操作部932におけるユーザ指示等に基づいてメールデータを生成して通信部922に供給する。通信部922は、メールデータの変調処理や周波数変換処理等を行い、得られた送信信号をアンテナ921から送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、メールデータを復元する。このメールデータを、表示部930に供給して、メール内容の表示を行う。
なお、携帯電話機92は、受信したメールデータを、記録再生部929で記憶媒体に記憶させることも可能である。記憶媒体は、書き換え可能な任意の記憶媒体である。例えば、記憶媒体は、RAMや内蔵型フラッシュメモリ等の半導体メモリ、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアである。
データ通信モードにおいて画像データを送信する場合、カメラ部926で生成された画像データを、画像処理部927に供給する。画像処理部927は、画像データの符号化処理を行い、ストリーム情報を生成する。
多重分離部928は、画像処理部927で生成されたストリーム情報と、音声コーデック923から供給された音声データを所定の方式で多重化して、通信部922に供給する。通信部922は、多重化データの変調処理や周波数変換処理等を行い、得られた送信信号をアンテナ921から送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、多重化データを復元する。この多重化データを多重分離部928に供給する。多重分離部928は、多重化データの分離を行い、ストリーム情報を画像処理部927、音声データを音声コーデック923に供給する。
画像処理部927は、ストリーム情報の復号処理を行い、画像データを生成する。この画像データを表示部930に供給して、受信した画像の表示を行う。音声コーデック923は、音声データをアナログ音声信号に変換してスピーカ924に供給して、受信した音声を出力する。
このように構成された携帯電話装置では、画像処理部927に本願の機能が設けられる。したがって、例えば画像を符号化処理して送信する場合に、データを削減できる。また、受信した画像の復号処理において、量子化パラメータを復元して復号画像を生成することができる。
図32は、本技術を適用した記録再生装置の概略構成を例示している。記録再生装置94は、例えば受信した放送番組のオーディオデータとビデオデータを、記録媒体に記録して、その記録されたデータをユーザの指示に応じたタイミングでユーザに提供する。また、記録再生装置94は、例えば他の装置からオーディオデータやビデオデータを取得し、それらを記録媒体に記録させることもできる。さらに、記録再生装置94は、記録媒体に記録されているオーディオデータやビデオデータを復号して出力することで、モニタ装置等において画像表示や音声出力を行うことができるようにする。
記録再生装置94は、チューナ941、外部インタフェース部942、エンコーダ943、HDD(Hard Disk Drive)部944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)部948、制御部949、ユーザインタフェース部950を有している。
チューナ941は、図示しないアンテナで受信された放送信号から所望のチャンネルを選局する。チューナ941は、所望のチャンネルの受信信号を復調して得られたストリーム情報をセレクタ946に出力する。
外部インタフェース部942は、IEEE1394インタフェース、ネットワークインタフェース部、USBインタフェース、フラッシュメモリインタフェース等の少なくともいずれかで構成されている。外部インタフェース部942は、外部機器やネットワーク、メモリカード等と接続するためのインタフェースであり、記録する映像データや音声データ等のデータ受信を行う。
エンコーダ943は、外部インタフェース部942から供給された映像データや音声データが符号化されていない場合所定の方式で符号化処理を行い、ストリーム情報をセレクタ946に出力する。
HDD部944は、映像や音声等のコンテンツデータ、各種プログラムやその他のデータ等を内蔵のハードディスクに記録し、また再生時等にそれらを当該ハードディスクから読み出す。
ディスクドライブ945は、装着されている光ディスクに対する信号の記録および再生を行う。光ディスク、例えばDVDディスク(DVD−Video、DVD−RAM、DVD−R、DVD−RW、DVD+R、DVD+RW等)やBlu−rayディスク等である。
セレクタ946は、映像や音声の記録時には、チューナ941またはエンコーダ943からのいずれかのストリームを選択して、HDD部944やディスクドライブ945のいずれかに供給する。また、セレクタ946は、映像や音声の再生時に、HDD部944またはディスクドライブ945から出力されたストリームをデコーダ947に供給する。
デコーダ947は、ストリームの復号処理を行う。デコーダ947は、復号処理化を行うことにより生成された映像データをOSD部948に供給する。また、デコーダ947は、復号処理化を行うことにより生成された音声データを出力する。
OSD部948は、項目の選択などのメニュー画面等を表示するための映像データを生成し、それをデコーダ947から出力された映像データに重畳して出力する。
制御部949には、ユーザインタフェース部950が接続されている。ユーザインタフェース部950は、操作スイッチやリモートコントロール信号受信部等で構成されており、ユーザ操作に応じた操作信号を制御部949に供給する。
制御部949は、CPUやメモリ等を用いて構成されている。メモリは、CPUにより実行されるプログラムやCPUが処理を行う上で必要な各種のデータを記憶する。メモリに記憶されているプログラムは、記録再生装置94の起動時などの所定タイミングでCPUにより読み出されて実行される。CPUは、プログラムを実行することで、記録再生装置94がユーザ操作に応じた動作となるように各部を制御する。
このように構成された記録再生装置では、エンコーダ943に本願の機能が設けられる。したがって、例えば画像を符号化処理して記録する場合に、記録するデータ量を削減できる。また、記録された画像の復号処理において、量子化パラメータを復元して復号画像を生成することができる。
図33は、本技術を適用した撮像装置の概略構成を例示している。撮像装置96は、被写体を撮像し、被写体の画像を表示部に表示させたり、それを画像データとして、記録媒体に記録する。
撮像装置96は、光学ブロック961、撮像部962、カメラ信号処理部963、画像データ処理部964、表示部965、外部インタフェース部966、メモリ部967、メディアドライブ968、OSD部969、制御部970を有している。また、制御部970には、ユーザインタフェース部971が接続されている。さらに、画像データ処理部964や外部インタフェース部966、メモリ部967、メディアドライブ968、OSD部969、制御部970等は、バス972を介して接続されている。
光学ブロック961は、フォーカスレンズや絞り機構等を用いて構成されている。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCDまたはCMOSイメージセンサを用いて構成されており、光電変換によって光学像に応じた電気信号を生成してカメラ信号処理部963に供給する。
カメラ信号処理部963は、撮像部962から供給された電気信号に対してニー補正やガンマ補正、色補正等の種々のカメラ信号処理を行う。カメラ信号処理部963は、カメラ信号処理後の画像データを画像データ処理部964に供給する。
画像データ処理部964は、カメラ信号処理部963から供給された画像データの符号化処理を行う。画像データ処理部964は、符号化処理を行うことにより生成されたストリーム情報を外部インタフェース部966やメディアドライブ968に供給する。また、画像データ処理部964は、外部インタフェース部966やメディアドライブ968から供給されたストリーム情報の復号処理を行う。画像データ処理部964は、復号処理を行うことにより生成された画像データを表示部965に供給する。また、画像データ処理部964は、カメラ信号処理部963から供給された画像データを表示部965に供給する処理や、OSD部969から取得した表示用データを、画像データに重畳させて表示部965に供給する。
OSD部969は、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを生成して画像データ処理部964に出力する。
外部インタフェース部966は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタと接続される。また、外部インタフェース部966には、必要に応じてドライブが接続され、磁気ディスク、光ディスク等のリムーバブルメディアが適宜装着され、それらから読み出されたプログラムが、必要に応じて、インストールされる。さらに、外部インタフェース部966は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。制御部970は、例えば、ユーザインタフェース部971からの指示にしたがって、メモリ部967からストリーム情報を読み出し、それを外部インタフェース部966から、ネットワークを介して接続される他の装置に供給させることができる。また、制御部970は、ネットワークを介して他の装置から供給されるストリーム情報や画像データを、外部インタフェース部966を介して取得し、それを画像データ処理部964に供給したりすることができる。
メディアドライブ968で駆動される記録メディアとしては、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアが用いられる。また、記録メディアは、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であってもよい。
また、メディアドライブ968と記録メディアを一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
制御部970は、CPUやメモリ等を用いて構成されている。メモリは、CPUにより実行されるプログラムやCPUが処理を行う上で必要な各種のデータ等を記憶する。メモリに記憶されているプログラムは、撮像装置96の起動時などの所定タイミングでCPUにより読み出されて実行される。CPUは、プログラムを実行することで、撮像装置96がユーザ操作に応じた動作となるように各部を制御する。
このように構成された撮像装置では、画像データ処理部964に本願の機能が設けられる。したがって、撮像画像を符号化処理してメモリ部967や記録メディア等に記録する場合に、記録するデータ量を削減できる。また、記録された画像の復号処理において、量子化パラメータを復元して復号画像を生成できる。
さらに、本技術は、上述した実施の形態に限定して解釈されるべきではない。この実施の形態は、例示という形態で本技術を開示しており、本技術の要旨を逸脱しない範囲で当業者が実施の形態の修正や代用をなし得ることは自明である。すなわち、本技術の要旨を判断するためには、特許請求の範囲を参酌すべきである。
この技術の画像符号化装置と画像符号化方法およびプログラムでは、符号化対象ブロックの左側に隣接するブロックが参照不可能で上側に隣接するブロックが参照可能な場合、上側に隣接するブロックの量子化パラメータを用いて符号化対象ブロックの予測量子化パラメータを算出し、左側に隣接するブロックが参照可能で上側に隣接するブロックが参照不可能な場合、左側に隣接するブロックの量子化パラメータを用いて符号化対象ブロックの予測量子化パラメータを算出し、予測量子化パラメータと符号化対象ブロックに設定された量子化パラメータとの差分を示す差分情報が生成されて、この差分情報を含むビットストリームが生成される。したがって、量子化パラメータの符号化効率を向上させてビットストリームを生成できる。このため、ブロック単位で符号化を行うことにより得られたストリーム情報を生成する機器、例えば放送機器やコンテンツ配信機器、コンテンツを光、磁気ディスク、フラッシュメモリのような記憶メディア等に記録する記録機器等に適している。
10・・・画像符号化装置、11・・・A/D変換部、12,57・・・画面並べ替えバッファ、13・・・減算部、14・・・直交変換部、15・・・量子化部、16・・・可逆量子化部、17,51・・・蓄積バッファ、18・・・レート制御部、19・・・情報生成部、21,53・・・逆量子化部、22,54・・・逆直交変換部、23,55・・・加算部、24,56・・・デブロッキングフィルタ、26,61・・・フレームメモリ、31,71・・・イントラ予測部、32・・・動き予測・補償部、33・・・予測画像・最適モード選択部、50・・・画像復号装置、52・・・可逆復号部、58・・・D/A変換部、59・・・量子化パラメータ算出部、62,73・・・セレクタ、72・・・動き補償部、80・・・コンピュータ装置、90・・・テレビジョン装置、92・・・携帯電話機、94・・・記録再生装置、96・・・撮像装置、191・・・量子化パラメータメモリ部、192・・・差分演算部、591・・・演算部、592・・・量子化パラメータメモリ部
Claims (6)
- 符号化対象ブロックの左側に隣接するブロックが参照不可能で上側に隣接するブロックが参照可能な場合、前記上側に隣接するブロックの量子化パラメータを用いて前記符号化対象ブロックの予測量子化パラメータを算出し、前記左側に隣接するブロックが参照可能で前記上側に隣接するブロックが参照不可能な場合、前記左側に隣接するブロックの量子化パラメータを用いて前記符号化対象ブロックの予測量子化パラメータを算出し、前記予測量子化パラメータと前記符号化対象ブロックに設定された量子化パラメータとの差分を示す差分情報を生成する情報生成部と、
前記差分情報を含むビットストリームを生成する符号化部と
を有する画像符号化装置。 - 前記ブロックはコーディングユニットであり、前記コーディングユニットは階層構造とされている
請求項1に記載の画像符号化装置。 - 前記符号化部は、前記符号化対象ブロックに設定された量子化パラメータを用いて符号化処理を行い前記ビットストリームを生成する
請求項1または請求項2に記載の画像符号化装置。 - 前記情報生成部は、参照可能なブロックがない場合、スライスにおける初期値の量子化パラメータと前記設定された量子化パラメータとの差分を示す差分情報を生成する
請求項1乃至請求項3の何れかに記載の画像符号化装置。 - 符号化対象ブロックの左側に隣接するブロックが参照不可能で上側に隣接するブロックが参照可能な場合、前記上側に隣接するブロックの量子化パラメータを用いて前記符号化対象ブロックの予測量子化パラメータを算出し、前記左側に隣接するブロックが参照可能で前記上側に隣接するブロックが参照不可能な場合、前記左側に隣接するブロックの量子化パラメータを用いて前記符号化対象ブロックの予測量子化パラメータを算出し、前記予測量子化パラメータと前記符号化対象ブロックに設定された量子化パラメータとの差分を示す差分情報を情報生成部で生成する工程と、
前記差分情報を含むビットストリームを符号化部で生成する工程と
を含む画像符号化方法。 - コンピュータに、
符号化対象ブロックの左側に隣接するブロックが参照不可能で上側に隣接するブロックが参照可能な場合、前記上側に隣接するブロックの量子化パラメータを用いて前記符号化対象ブロックの予測量子化パラメータを算出し、前記左側に隣接するブロックが参照可能で前記上側に隣接するブロックが参照不可能な場合、前記左側に隣接するブロックの量子化パラメータを用いて前記符号化対象ブロックの予測量子化パラメータを算出し、前記予測量子化パラメータと前記符号化対象ブロックに設定された量子化パラメータとの差分を示す差分情報を情報生成部で生成する手順と、
前記差分情報を含むビットストリームを符号化部で生成する手順と
を実行させるプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011011861 | 2011-01-24 | ||
JP2011011861 | 2011-01-24 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011153183A Division JP6056122B2 (ja) | 2011-01-24 | 2011-07-11 | 画像符号化装置と画像復号装置およびその方法とプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018147489A Division JP2018191334A (ja) | 2011-01-24 | 2018-08-06 | 画像符号化装置と画像符号化方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017079485A true JP2017079485A (ja) | 2017-04-27 |
Family
ID=58666242
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016236532A Pending JP2017079485A (ja) | 2011-01-24 | 2016-12-06 | 画像符号化装置と画像符号化方法およびプログラム |
JP2018147489A Pending JP2018191334A (ja) | 2011-01-24 | 2018-08-06 | 画像符号化装置と画像符号化方法およびプログラム |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018147489A Pending JP2018191334A (ja) | 2011-01-24 | 2018-08-06 | 画像符号化装置と画像符号化方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (2) | JP2017079485A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023092256A1 (zh) * | 2021-11-23 | 2023-06-01 | 华为技术有限公司 | 一种视频编码方法及其相关装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014509150A (ja) * | 2011-03-11 | 2014-04-10 | 華為技術有限公司 | 符号化方法及び装置並びに復号化方法及び装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8897359B2 (en) * | 2008-06-03 | 2014-11-25 | Microsoft Corporation | Adaptive quantization for enhancement layer video coding |
BR112012031160B1 (pt) * | 2010-06-10 | 2022-04-19 | Interdigital Vc Holdings, Inc. | Método em um decodificador de vídeo, decodificador de vídeo e mídia de armazenamento legível por computador para determinação de preditores de parâmetros de quantização a partir de uma pluralidade de parâmetros de quantização vizinhos |
-
2016
- 2016-12-06 JP JP2016236532A patent/JP2017079485A/ja active Pending
-
2018
- 2018-08-06 JP JP2018147489A patent/JP2018191334A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014509150A (ja) * | 2011-03-11 | 2014-04-10 | 華為技術有限公司 | 符号化方法及び装置並びに復号化方法及び装置 |
Non-Patent Citations (1)
Title |
---|
K.SATO (SONY): "Description of Core Experiment 4: Quantization[online]", JCTVC-E JCTVC-E704R1, JPN6017042860 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023092256A1 (zh) * | 2021-11-23 | 2023-06-01 | 华为技术有限公司 | 一种视频编码方法及其相关装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2018191334A (ja) | 2018-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6056122B2 (ja) | 画像符号化装置と画像復号装置およびその方法とプログラム | |
WO2011155364A1 (ja) | 画像復号化装置と画像符号化装置およびその方法とプログラム | |
WO2012063878A1 (ja) | 画像処理装置と画像処理方法 | |
JP2011259205A (ja) | 画像復号化装置と画像符号化装置およびその方法とプログラム | |
JP2018191334A (ja) | 画像符号化装置と画像符号化方法およびプログラム | |
JP2012010147A (ja) | 情報処理装置と情報処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171114 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180109 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180619 |