【文献】
Masaaki Kobayashi(外1名),Sub-LCU level delta QP signaling,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-E198,米国,ITU-T,2011年 3月17日,p.1-9
【文献】
Muhammed Coban (外2名),CU-Level QP Prediction,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-E391,米国,ITU-T,2011年 3月19日,p.1-3
(58)【調査した分野】(Int.Cl.,DB名)
前記符号化手段は、前記処理対象のサブブロックが前記ブロックの左端に位置する場合に、前記処理対象のサブブロックの量子化パラメータと、前記処理対象のサブブロックとの位置関係に基づく前記第1のサブブロックの量子化パラメータとの差分値を符号化することを特徴とする請求項1乃至請求項3のいずれか一項に記載の画像符号化装置。
前記符号化手段は、前記処理対象のサブブロックが前記ブロックの左端に位置する場合に、前記処理対象のサブブロックの量子化パラメータと、前記処理対象のサブブロックの上に位置する前記第1のサブブロックの量子化パラメータとの差分値を符号化することを特徴とする請求項1乃至請求項4のいずれか一項に記載の画像符号化装置。
前記符号化手段は、前記取得手段によって取得された符号化モードがイントラ予測モードである場合に、前記ブロックに含まれるサブブロックであって前記処理対象のサブブロックと隣接する位置のサブブロックのうち、前記画像のイントラ予測の方向に基づくサブブロックである前記第1のサブブロックと、前記処理対象のサブブロックとの差分値を符号化することを特徴とする請求項1乃至請求項5のいずれか一項に記載の画像符号化装置。
画像に含まれるブロックを符号化したデータを復号する画像復号装置であって、前記ブロックに含まれる処理対象のサブブロックの量子化パラメータと所定のパラメータとの差分値に関する符号データを復号する復号手段と、
前記画像の符号化モード、前記ブロックの符号化モード、及び前記処理対象のサブブロックの符号化モードのうち、少なくともいずれか1つを取得する第1の取得手段と、前記第1の取得手段によって取得された符号化モードがイントラ予測モードである場合に、前記処理対象のサブブロックとの位置関係に基づく第1のサブブロックの量子化パラメータと、前記復号手段によって復号された差分値とを用いて、前記処理対象のサブブロックの量子化パラメータを取得し、
前記第1の取得手段によって取得された符号化モードがインター予測モードである場合に、前記処理対象のサブブロックとの符号化順序関係に基づく第2のサブブロックの量子化パラメータと、前記復号手段によって復号された差分値とを用いて、前記処理対象のサブブロックの量子化パラメータを取得する第2の取得手段と、
を有することを特徴とする画像復号装置。
前記第2の取得手段は、前記処理対象のサブブロックが前記ブロックの左端に位置する場合に、前記処理対象のサブブロックとの位置関係に基づく前記第1のサブブロックの量子化パラメータと、前記復号手段によって復号された差分値とを用いて、前記処理対象のサブブロックの量子化パラメータを取得することを特徴とする請求項7乃至請求項9のいずれか一項に記載の画像復号装置。
前記第2の取得手段は、前記処理対象のサブブロックが前記ブロックの左端に位置する場合に、前記処理対象のサブブロックの上に位置する前記第1のサブブロックの量子化パラメータと、前記復号手段によって復号された差分値とを用いて、前記処理対象のサブブロックの量子化パラメータを取得することを特徴とする請求項7乃至請求項10のいずれか一項に記載の画像復号装置。
画像に含まれるブロックを符号化したデータを復号する画像復号方法であって、前記ブロックに含まれる処理対象のサブブロックの量子化パラメータと所定のパラメータとの差分値に関する符号データを復号する復号工程と、
前記画像の符号化モード、前記ブロックの符号化モード、及び前記処理対象のサブブロックの符号化モードのうち、少なくともいずれか1つを取得する第1の取得工程と、前記第1の取得工程によって取得された符号化モードがイントラ予測モードである場合に、前記処理対象のサブブロックとの位置関係に基づく第1のサブブロックの量子化パラメータと、前記復号工程によって復号された差分値とを用いて、前記処理対象のサブブロックの量子化パラメータを取得し、
前記第1の取得工程によって取得された符号化モードがインター予測モードである場合に、前記処理対象のサブブロックとの符号化順序関係に基づく第2のサブブロックの量子化パラメータと、前記復号工程によって復号された差分値とを用いて、前記処理対象のサブブロックの量子化パラメータを取得する第2の取得工程と、
を有することを特徴とする画像復号装置。
コンピュータが読み出して実行することにより、前記コンピュータを、請求項1乃至請求項6のいずれか一項に記載の画像符号化装置として機能させることを特徴とするプログラム。
コンピュータが読み出して実行することにより、前記コンピュータを、請求項7乃至請求項12のいずれか一項に記載の画像復号装置として機能させることを特徴とするプログラム。
【発明を実施するための形態】
【0008】
以下、添付の図面を参照して、本願発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【0009】
<実施形態1>
以下、本発明の実施形態を、図面を用いて説明する。
図1は本実施形態の画像符号化装置を示すブロック図である。
【0010】
図1において、11000は画像データを入力する端子である。11001は入力画像を複数の基本ブロック単位でブロックを切り出し、必要に応じてサブブロックに分割するブロック分割部である。説明を容易にするために、入力画像は8ビットの画素値を持つこととするが、これに限定されない。また、基本ブロックのサイズを64画素×64画素とし、サブブロックの最小サイズを8画素×8画素とする。またブロックの分割に関しては縦横1/2のサイズに4分割する方法を例にとって説明するが、これにブロックの形状、サイズは限定されない。サブブロックの分割に関しては、特に限定されない。例えば全体をサブブロックに分割し、エッジ量などを算出しクラスタリングして分割を行っても構わない。すなわち、エッジが多く集まる部分は細かくサブブロックを設定し、平坦な部分は大きなサブブロックを設定する。サブブロックの分割の状態はサブブロックごとに分割の有無を四分木分割の順番に表したサブブロック分割情報として後段に出力する。
【0011】
サブブロックの量子化パラメータの差分値を算出するためのサブブロックの量子化パラメータ予測値の算出方法について
図2(e)及び(f)を用いて説明する。
図2(e)は画像の左端等で基本ブロックの左にサブブロックがない場合を示している。
図2(f)は左側に符号化済みの基本ブロックが存在する場合を示している。両者において、各サブブロックは左隣りで当該サブブロックの左上隅の画素が接するサブブロックの量子化パラメータを予測値とする。もし、左側に参照可能なサブブロックがない場合、
図2(d)の復号する順と同じように参照を行う。
図2(e)に示すように、サブブロック1006及び1008において、サブブロックの符号化の順に符号化されたサブブロック1005及び1007の量子化パラメータを参照する。
【0012】
11002は処理対象ブロックである各サブブロックの量子化パラメータを決定する量子化パラメータ決定部である。
11003はブロック分割部11001で分割された各基本ブロックを、サブブロック単位で予測を行い、差分値算出を行い、各サブブロックの予測誤差を算出するブロック予測部である。静止画または動画の場合のイントラフレームではイントラ予測を行い、動画の場合は動き補償予測も行うものとする。
11004は各サブブロックの予測誤差に対して直交変換を行い、直交変換係数を算出するブロック変換部である。直交変換に関しては特に限定しないが、離散コサイン変換やアダマール変換等を用いてもよい。11005は量子化パラメータ決定部11002で決定された量子化パラメータによって前記直交変換係数を量子化するブロック量子化部である。この量子化によって量子化係数を得ることができる。
11006はこのようにして得られた量子化係数を符号化して量子化係数符号データを生成するブロック符号化部である。符号化の方法は特に限定しないが、ハフマン符号や算術符号等を用いることができる。11007はブロック再生画像生成部である。ブロック量子化部11005、ブロック変換部11004の逆の動作を行って予測誤差を再生し、ブロック予測部11003の結果から基本ブロックの復号画像を生成する。再生された画像データは保持され、ブロック予測部11003での予測に用いられる。
11011は操作部であり、ユーザが、処理時間の遅延が少ない符号化か高効率な符号化かを選択する操作部である。処理時間の遅延が少ない符号化を実施する場合は0を、高効率な符号化の場合は1を選択フラグとして出力する。11008は量子化パラメータ決定部11002で決定した各サブブロックの量子化パラメータを符号化して量子化パラメータ符号データを生成する量子化パラメータ符号化部である。
11009は統合符号化部である。ヘッダ情報や予測に関する符号を生成するとともに、量子化パラメータ符号化部11008で生成された量子化パラメータ符号データおよびブロック符号化部11006で生成された量子化係数符号データを統合する。11010は端子であり、統合符号化部11009で統合されて生成されたビットストリームを外部に出力する端子である。
【0013】
上記画像符号化装置における画像の符号化動作を以下に説明する。本実施形態では動画像データをフレーム単位に入力する構成となっているが、1フレーム分の静止画像データを入力する構成としても構わない。
【0014】
端子11000から入力された1フレーム分の画像データはブロック分割部11001に入力され、64画素×64画素の基本ブロックに分割される。さらに必要に応じて最小8画素×8画素のサブブロックに分割される。サブブロックの分割に関する情報と分割された画像データは量子化パラメータ決定部11002とブロック予測部11003に入力される。
【0015】
ブロック予測部11003ではブロック再生画像生成部11007に保持されている再生画像を参照して予測を行い、予測誤差を生成してブロック変換部11004及びブロック再生画像生成部11007に入力する。ブロック変換部11004では入力された予測誤差に対して直交変換を行い、直交変換係数を求め、ブロック量子化部11005に入力する。
【0016】
一方、量子化パラメータ決定部11002では入力された各サブブロック単位で発生した符号量を鑑みて、サブブロック単位で画質と符号量のバランスから最適な量子化パラメータを決定する。決定された各サブブロックの量子化パラメータはブロック量子化部11005、ブロック再生画像生成部11007、量子化パラメータ符号化部11008に入力される。また、ブロック分割部11001から分割情報も同様に入力される。
【0017】
ブロック量子化部11005において、ブロック変換部11004から出力された直交変換係数を量子化パラメータ決定部11002で決定した量子化パラメータで量子化して量子化係数を生成する。生成された量子化係数はブロック符号化部11006とブロック再生画像生成部11007に入力される。ブロック再生画像生成部11007では入力された量子化係数を量子化パラメータ決定部11002で決定した量子化パラメータで直交変換係数を再生する。直交変換係数は逆直交変換されて予測誤差を再生する。再生された予測誤差は予測時に参照した画素値等によって再生画像として生成され、保持される。一方、ブロック符号化部11006では量子化係数を符号化し、量子化係数符号データを生成して統合符号化部11009に出力する。
【0018】
量子化パラメータ決定部11002で決定された量子化パラメータは量子化パラメータ符号化部11008で基本ブロック単位で符号化される。
【0019】
図3に量子化パラメータ符号化部11008の詳細なブロック図を示す。
図3において、1は
図1の量子化パラメータ決定部11002から各サブブロックの量子化パラメータとサブブロック分割情報を入力する端子である。2は入力された各サブブロックの量子化パラメータを一旦格納する量子化パラメータ保持部である。3は符号化の順に符号化されたサブブロックの量子化パラメータを格納する量子化パラメータ保持部である。例えば、直前に符号化されたサブブロックの量子化パラメータを保持する。4は、符号化するサブブロックの周囲に存在する符号化されたサブブロック(本実施形態では左)の量子化パラメータを格納する量子化パラメータ保持部である。4に格納される量子化パラメータはサブブロック分割情報に基づいてリセットが行われる。例えば、
図2(a)であれば、サブブロック1002の符号化時にはサブブロック1001の量子化パラメータが保持されている。また、サブブロック1005の符号化時にはサブブロック1001からサブブロック1004の量子化パラメータが保持されている。サブブロック1006やサブブロック1008では横に符号化されたサブブロックがない。この時、量子化パラメータ保持部4はリセットされる。
【0020】
5は量子化パラメータ保持部4に格納された各サブブロックの量子化パラメータから符号化するサブブロックの量子化パラメータの予測値を決定するサブブロック量子化パラメータ予測値決定部である。
【0021】
6は
図1の操作部11011から選択フラグを受け取る端子である。7は受け取った選択信号を符号化する選択フラグ符号化部である。以後、この符号化結果をqp_delta_select_flag符号と呼称する。8はこのqp_delta_select_flag符号を出力する端子である。9はセレクタであり、端子6から入力される選択フラグに基づいて、入力先を選択する。選択フラグが0であれば、量子化パラメータ保持部3からの出力を、1であれば、量子化パラメータ予測値決定部5からの出力を選択して入力する。10はサブブロック量子化パラメータ差分部である。量子化パラメータ保持部2で保持された量子化パラメータからセレクタ9の出力値を減算し、サブブロック量子化パラメータ差分値を算出する。11はサブブロック量子化パラメータ差分値を符号化するサブブロック量子化パラメータ符号化部である。生成された符号化データはcu_qp_delta符号として
図1の統合符号部11009に出力される。
【0022】
以上の構成において、処理に先駆け、端子6から選択フラグが入力され、セレクタ9と選択フラグ符号化部7に入力される。選択フラグ符号化部7は入力された選択フラグを符号化してqp_delta_select_flag符号を端子8から出力する。また、セレクタ9は選択フラグが0であれば、量子化パラメータ保持部3の出力を、そうでなければ、量子化パラメータ予測値決定部5の出力を入力として選択する。
【0023】
量子化パラメータ保持部2は端子1から入力されるサブブロック量子化パラメータを格納する。これと並行して、量子化パラメータ予測値決定部5は量子化パラメータ保持部3及び4から周囲のサブブロックの量子化パラメータから当該サブブロックの量子化パラメータ予測値を決定する。量子化パラメータ保持部4を参照し、サブブロック分割情報に基づいて、符号化するサブブロックの周囲(本実施形態では左側)に符号化済みのサブブロックがあるか否かを判定する。もし、量子化パラメータ保持部4に当該サブブロックの左上隅の画素が接する位置のサブブロックが符号化済みであれば、そのサブブロックの量子化パラメータを予測値とする。符号化済みでなければ、ブロックの符号化の順に符号化したサブブロックが該当する場合は量子化パラメータ保持部3から量子化パラメータを予測値とする。
【0024】
セレクタ9は選択フラグが0であれば、復号する順に従って量子化パラメータの予測値を決定するので、量子化パラメータ保持部3の出力をサブブロック量子化パラメータ差分部10に入力する。選択フラグが1であれば、符号化効率向上のため、符号化するサブブロックの左隣または、ブロックの符号化の順に符号化されたサブブロックの量子化パラメータを予測値とする。このため、サブブロック量子化パラメータ予測値決定部5の出力をサブブロック量子化パラメータ差分部10に入力する。
【0025】
サブブロック量子化パラメータ差分部10は符号化するサブブロックの量子化パラメータを量子化パラメータ保持部2から読み出し、セレクタ9から入力された量子化パラメータ予測値を減算し、差分値をサブブロック量子化パラメータ符号化部11に入力する。サブブロック量子化パラメータ符号化部11は入力された量子化パラメータ差分値をゴロム符号化してcu_qp_delta符号を端子12から出力する。
【0026】
図1に戻り、統合符号化部11009は画像のシーケンス、フレームのヘッダといった符号を生成する。また、シーケンスのヘッダ(H.264ではSuquence Parameter Set(SPS))にqp_delta_select_flag符号を挿入する。各基本ブロックに関しては、ブロック予測部11003から予測のモードといった情報を取得して符号化する。続いて量子化パラメータ符号化部11008から基本ブロックの分割状況を表すサブブロック分割情報を入力し、符号化する。符号化の方法は特に限定しないが、非特許分献2に記載の方法を使うことができる。以後、サブブロックごとにcu_qp_delta符号と各量子化係数符号データをビットストリームとして端子11010から出力する。
【0027】
図4は、実施形態1に係る画像符号化装置における画像符号化処理を示すフローチャートである。まず、ステップS001にて、★ユーザは操作部11011から処理時間の遅延が少ない符号化か高効率な符号化かを選択する。選択された機能に合わせて、選択フラグを生成する。
【0028】
ステップS002にて、選択フラグを符号化し、qp_delta_select_flag符号を生成する。
ステップS003にて、統合符号化部11009はシーケンス、フレームのヘッダといった符号を生成し、qp_delta_select_flag符号を含めて出力する。
ステップS004にて、ブロック分割部11001は入力された画像に対して、基本ブロックを画像の左上から順に切り出す。
ステップS005にて、ブロック分割部11001はさらに基本ブロックをサブブロックに分割する。
ステップS006にて、量子化パラメータ決定部11002は、各サブブロックの量子化パラメータを決定する。
ステップS007にて、量子化パラメータ符号化部11008は、ステップS001で決定した選択フラグが復号する順に量子化パラメータの予測を行うモードを示すものか否かを判定する。もし、復号する順に量子化パラメータの予測を行うモード(選択フラグが0)を選択していれば、ステップS008に進み、そうでなければステップS009に進む。
ステップS008にて、量子化パラメータ符号化部11008は、ブロックの符号化の順に符号化したサブブロックの量子化パラメータを予測値として決定する。
ステップS009にて、量子化パラメータ符号化部11008は、符号化するサブブロックの周囲(本実施形態では左隣)または、ブロックの符号化の順に符号化されたサブブロックの量子化パラメータを予測値として決定する。
ステップS010にて、量子化パラメータ符号化部11008は、符号化するサブブロックの量子化パラメータから予測値を引き、サブブロックの量子化パラメータ差分値を算出する。
ステップS011にて、量子化パラメータ符号化部11008は、サブブロック量子化パラメータ差分値にゴロム符号化を行い、cu_qp_delta符号を出力する。
ステップS012にて、サブブロックの画像データに対して、予測を行い、予測誤差に対して、直交変換、量子化を行い、得られた量子化係数を符号化して量子化係数符号データを出力する。
ステップS013にて、得られた量子化係数を逆量子化、逆変換を行い、予測誤差を算出する。この予測誤差と再生画像から当該サブブロックの再生画像を生成する。
ステップS014にて、画像符号化装置は、当該基本ブロック内の全てのサブブロックの符号化が終了したか否かの判定を行い、終了していればステップS015に進み、終了していなければ次のサブブロックを対象としてステップS005に戻る。
ステップS015にて、画像符号化装置は、全ての基本ブロックの符号化が終了したか否かの判定を行い、終了していれば全ての動作を停止して処理を終了し、そうでなければ次の基本ブロックを対象としてステップS004に戻る。
【0029】
この結果、
図5に示すようなビットストリームを生成することができる。シーケンスヘッダ(Sequence Parameter Set)20001にqp_delta_select_flag符号20005が含まれ、本符号化データの量子化パラメータの差分値を求めるための予測値の算出方法を特定できる。また、基本ブロック(LCU)には分割情報を符号化したsplit_coding_flag符号20010が含まれている。さらに、各サブブロックの符号化データ(cording_unit())には各サブブロックの量子化パラメータ差分値の符号化結果であるcu_qp_delta符号20009が含まれている。
【0030】
以上の構成と動作により、特にステップS005からステップS011の処理により、用途に適合した各サブブロック量子化パラメータの差分値を符号化ができる。さらに、本実施形態では説明のために基本ブロックを64画素×64画素、サブブロックを8画素×8画素までとしたが、これに限定されない。例えば基本ブロックは128画素×128画素等のブロックサイズへの変更が可能であり、また、基本ブロック、サブブロックの形状も正方形に限定されず、8画素×4画素などの長方形でもよい。
【0031】
なお、本実施形態で基本ブロック量子化パラメータ、サブブロック量子化パラメータ差分値および量子化係数の符号化にゴロム符号化を用いて説明したが、これに限定されない。例えばハフマン符号化やその他の算術符号化であってももちろん構わないし、値を符号化せずにそのままの値を出力しても構わない。また、選択フラグの符号と動作の組み合わせについても、これに限定されない。
【0032】
さらに、復号する順ではない場合の量子化パラメータの参照についてもこれに限定されない。さらにはサブブロックの中に複数の直交変換サイズのブロックが存在してももちろん構わない。さらに、本実施形態ではqp_delta_select_flag符号20005をシーケンスヘッダ(Sequence Parameter Set)20001に含む形をとった。しかしこれに限定されずピクチャヘッダ(Picture Parameter Set)20002やスライスヘッダ(Slice Header)20007など他のヘッダに含む形をとってももちろん構わない。
図27にスライスヘッダ(Slice Header)20007にqp_delta_select_flag符号20030を挿入したビットストリームの一例を示す。
【0033】
なお、本実施形態で復号する順で量子化パラメータを予測する手段と符号化するサブブロックの周囲のサブブロックの量子化パラメータから予測する手段を備えていた。しかしいずれか一方しか存在しない場合には、存在する手段を表すqp_delta_select_flag符号が挿入される。
【0034】
<実施形態2>
図6は、本発明の実施形態2に係る画像復号装置の構成を示すブロック図である。本実施形態では、
図5に示す実施形態1で生成された符号化データの復号について説明する。
【0035】
1100は符号化されたビットストリームを入力する端子である。1101はビットストリームのヘッダ情報の復号、ビットストリームから必要な符号を分離して後段へ出力する復号・分離部である。復号・分離部1101は
図1の統合符号化部11009の逆の動作を行う。1109はqp_delta_select_flag符号20005を復号し、選択フラグを再生する選択フラグ復号部である。1102は量子化パラメータの符号化データを復号する量子化パラメータ復号部である。1103は各サブブロックの量子化係数符号を復号し、量子化係数を再生するブロック復号部である。1104は量子化パラメータ復号部1102で再生されたサブブロック量子化パラメータによって量子化係数に逆量子化を行い、直交変換係数を再生するブロック逆量子化部である。1105は
図1のブロック変換部11004の逆直交変換を行い、予測誤差を再生するブロック逆変換部である。1106は予測誤差と復号済みの画像データからサブブロックの画像データを再生するブロック再生部である。1107は再生されたサブブロックの画像データをそれぞれの位置に配置し、基本ブロックの画像データを再生するブロック合成部である。
【0036】
上記画像復号装置における画像の復号動作を以下に説明する。本実施形態では実施形態1で生成された動画像ビットストリームをフレーム単位に入力する構成となっているが、1フレーム分の静止画像ビットストリームを入力する構成としても構わない。
【0037】
図6において、端子1100から入力された1フレーム分のストリームデータは復号・分離部1101に入力され、画像を再生するのに必要なヘッダ情報が復号される。ヘッダに含まれるqp_delta_select_flag符号20005は選択フラグ復号部1109に入力され、量子化パラメータの再生を行う予測の方法を選択するフラグが再生される。選択フラグは量子化パラメータ復号部1102に入力される。
【0038】
また、基本ブロック単位で分割情報(split_coding_flag符号20010)も復号・分離部1101で復号され、量子化パラメータ復号部1102に入力される。これに続くサブブロックごとにサブブロックの量子化パラメータ差分値符号(cu_qp_delta符号)ともに量子化パラメータ復号部1102に入力する。
【0039】
図7は量子化パラメータ復号部1102の詳細を表すブロック図である。100は復号・分離部1101から復号するサブブロックを含む基本ブロックのサブブロックの分割情報を入力する端子である。101は選択フラグ復号部1109から選択フラグを入力する端子である。102は
図5の復号・分離部1101からサブブロック量子化パラメータ差分符号(cu_qp_delta符号20009)を入力する端子である。103はサブブロック量子化パラメータ差分符号を入力して復号し、サブブロック量子化パラメータの差分値を再生するサブブロック量子化パラメータ差分値復号部である。104は決定されたサブブロック量子化パラメータの予測値とサブブロック量子化パラメータ差分値を加算してサブブロック量子化パラメータを再生するサブブロック量子化パラメータ加算部である。105は再生されたサブブロック量子化パラメータを
図6のブロック逆量子化部1104に出力する端子である。
【0040】
端子101から入力された選択フラグがセレクタ109に入力される。セレクタ109は、選択フラグが0であれば、量子化パラメータ保持部106を入力先とする。選択フラグが1であれば、量子化パラメータ予測値決定部108を入力先とする。
【0041】
端子102から入力されたサブブロック量子化パラメータ差分値符号はサブブロック量子化パラメータ差分値復号部103に入力され、ゴロム符号の復号により、サブブロック量子化パラメータ差分値を再生し、サブブロック量子化パラメータ加算部104に入力する。サブブロック量子化パラメータ加算部104はセレクタ109を介して入力されるサブブロック量子化パラメータの予測値とサブブロック量子化パラメータ差分値を加算し、サブブロック量子化パラメータを再生する。再生されたサブブロック量子化パラメータは端子105から
図6のブロック逆量子化部1104に出力される。また、再生されたサブブロック量子化パラメータは量子化パラメータ保持部106と量子化パラメータ保持部107に入力される。量子化パラメータ保持部106は常に前に復号されたサブブロックの量子化パラメータを保持している。量子化パラメータ保持部107は、実施形態1の
図3の量子化パラメータ保持部4と同様に、復号の対象となるサブブロックの左側に存在する量子化パラメータを保持する。
【0042】
量子化パラメータ予測値決定部108は端子100からサブブロックの分割情報を入力する。また、量子化パラメータ保持部106からブロックの符号化の順に復号したサブブロックの量子化パラメータと、量子化パラメータ保持部107から周囲の(本実施形態では左)サブブロックの量子化パラメータを入力する。分割情報に従って、当該サブブロックの左上隅の画素が接する位置のサブブロックの量子化パラメータを予測値とする。もし、左側に該当するサブブロックがない場合は、量子化パラメータ保持部106のブロックの符号化の順に復号したサブブロックの量子化パラメータを予測値とする。
【0043】
セレクタ109は選択フラグが0の時、すなわち、復号する順にサブブロックの量子化パラメータの予測値を決定する場合は、量子化パラメータ保持部106を入力先とする。選択フラグが0の時、すなわち、周囲のサブブロックから量子化パラメータを決定する場合は量子化パラメータ予測値決定部108を入力先とする。
【0044】
図6に戻り、復号・分離部1101において分離されたサブブロックの量子化係数符号データはブロック復号部1103に入力され、ゴロム符号の復号により各量子化係数が再生される。サブブロックの量子化係数が再生されたら、ブロック逆量子化部1104に入力される。ブロック逆量子化部1104では、入力されたサブブロックの量子化係数とサブブロック量子化パラメータから逆量子化を行い、直交変換係数を再生する。再生された直交変換係数はブロック逆変換部1105にて逆変換を行い、予測誤差を再生する。再生された予測誤差はブロック再生部1106に入力され、復号済みの周囲の画素データ、または前のフレームの画素データから予測を行ってサブブロックの画像データを再生する。ブロック合成部1107は再生されたサブブロックの画像データをそれぞれの位置に配置し、基本ブロックの画像データを再生する。再生された基本ブロックの画像データは端子1108を介して外部に出力される。
【0045】
図8は、実施形態2に係る画像復号装置における画像復号処理を示すフローチャートである。
【0046】
まず、ステップS101にて、復号・分離部1101がヘッダ情報を復号する。ステップS102にて、qp_delta_select_flag符号20005を選択フラグ復号部1109で復号する。
ステップS103にて、サブブロック量子化パラメータ復号部103はサブブロック量子化パラメータ差分値符号化データを復号し、サブブロック量子化パラメータ差分値を再生する。
ステップS102で復号して得られた選択フラグが復号する順に量子化パラメータの予測を行うモード(処理時間の遅延が少ない符号化)を選択したか否かを判定する。もし、復号する順に量子化パラメータの予測を行うモード(選択フラグが0)を選択していれば、ステップS105に進み、そうでなければステップS106に進む。
ステップS105にて、ブロックの符号化の順に復号したサブブロックの量子化パラメータを予測値として決定する。
ステップS106にて、復号するサブブロックの周囲(本実施形態では左隣)または、ブロックの符号化の順に符号化されたサブブロックの量子化パラメータを予測値として決定する。
ステップS107にて、ステップS105またはステップS106にて得られた量子化パラメータの予測値とステップS103で得られた差分値を加算し、サブブロック量子化パラメータを再生する。
ステップS108にて、サブブロックの量子化係数符号データを復号し、量子化係数を再生し、逆量子化、逆直交変換を行い、予測誤差を再生する。さらに復号済みの周囲の画素データまたは前のフレームの画素データから予測を行い、サブブロックの復号画像を再生する。
ステップS109にて、サブブロックの復号画像を基本ブロックの復号画像に配置する。ステップS110にて、画像復号装置は、当該基本ブロック内の全てのサブブロックの復号が終了したか否かの判定を行い、終了していればステップS111に進み、終了していなければ次のサブブロックを対象としてステップS103に戻る。
ステップS111にて、基本ブロックの復号画像をフレームの復号画像に配置する。ステップS112にて、画像復号装置は、全ての基本ブロックの復号が終了したか否かの判定を行い、終了していれば全ての動作を停止して処理を終了し、そうでなければ次の基本ブロックを対象としてステップS103に戻る。
【0047】
以上の構成と動作により、実施形態1で生成された、用途ごとに異なるビットストリームの復号を行い、再生画像を得ることができる。
【0048】
また、実施形態1と同様にブロックのサイズ、処理ユニットのサイズ、参照する処理ユニットとその画素の配置、符号についてはこれに限定されない。さらに、復号する順ではない場合の量子化パラメータの参照についてもこれに限定されない。
なお、本実施形態でサブブロック量子化パラメータ、サブブロック量子化パラメータ差分値および量子化係数の復号にゴロム符号化を用いて説明したが、これに限定されない。例えばハフマン符号化やその他の算術符号化であってももちろん構わない。
【0049】
<実施形態3>
本実施形態では符号化装置は実施形態1の
図1と同じ構成をとる。ただし、量子化パラメータ符号化部11008の構成が異なる。
【0050】
図9は本実施形態の量子化パラメータ符号化部11008の詳細な構成を示すブロック図である。
図9において、実施形態1の
図1と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【0051】
200は端子1から入力されるサブブロックの分割情報を入力し、符号化するサブブロックがフレームやスライスの端部か否かを判定する端部判定部である。端部判定部200は当該サブブロックが端部に位置するのであれば端部判定信号として1をそうでなければ0を出力する。
201は量子化パラメータ保持部4に格納された各サブブロックの量子化パラメータから符号化するサブブロックの量子化パラメータの予測値を決定するサブブロック量子化パラメータ予測値決定部である。すなわち、符号化処理を行うサブブロックの周囲(本実施形態では左)のサブブロックの量子化パラメータを参照して予測値を決定する。
202は符号化されたサブブロックの量子化パラメータを格納する量子化パラメータ保持部である。量子化パラメータ保持部202は量子化パラメータ保持部107から順に量子化パラメータを受け取る。これにより、符号化されたサブブロックの量子化パラメータを符号化対象のサブブロックの上のサブブロックまでの量子化パラメータを保持する。
203は量子化パラメータ保持部202に格納された各サブブロックの量子化パラメータから符号化するサブブロックの量子化パラメータの予測値を決定する端部量子化パラメータ予測値決定部である。すなわち、サブブロックがフレームやスライスの左端にあたる場合、符号化処理を行うサブブロックの上側のサブブロックの量子化パラメータを参照して予測値を決定する。
204はセレクタであり、実施形態1の
図3のセレクタ9と同様に端子6から入力される選択フラグによって入力先を選択する。選択フラグが0であれば、量子化パラメータ保持部3を入力先に選択する。選択フラグが1であれば、端部量子化パラメータ予測値決定部203を入力先に選択する。
205もセレクタであり、端部判定部200からの端部判定信号に基づいて入力先を選択する。端部判定信号が0であれば、セレクタ204を、そうでなければ量子化パラメータ予測値決定部201を入力先として選択する。
【0052】
上記構成において、実施形態1と同様に、端子11000から画像データが入力され、ブロック分割部11001でサブブロックに分割され、量子化パラメータ決定部11002で各サブブロックの量子化パラメータが決定される。決定されたサブブロック量子化パラメータは量子化パラメータ符号化部11008に入力される。
【0053】
図9に移り、実施形態1と同様に選択フラグ符号化部7は入力された選択フラグを符号化してqp_delta_select_flag符号を端子8から出力する。また、セレクタ204は選択フラグが0であれば、量子化パラメータ保持部3の出力を、そうでなければ、端部量子化パラメータ予測値決定部203の出力を入力として選択する。量子化パラメータ保持部2は端子1から入力されるサブブロック量子化パラメータを格納する。
【0054】
これと並行して、量子化パラメータ予測値決定部201は量子化パラメータ保持部4から周囲(本実施形態では左)のサブブロックの量子化パラメータから当該サブブロックの量子化パラメータ予測値を決定する。量子化パラメータ保持部4を参照し、当該サブブロックの左上隅の画素が接する位置のサブブロックの量子化パラメータを予測値と決定する。
また、端部量子化パラメータ予測値決定部202は量子化パラメータ保持部202から周囲(本実施形態では上)のサブブロックの量子化パラメータから当該サブブロックの量子化パラメータ予測値を決定する。量子化パラメータ保持部202を参照し、当該サブブロックの左上隅の画素が接する位置のサブブロックの量子化パラメータを予測値と決定する。
量子化パラメータ保持部3はブロックの符号化の順に符号化した(例えば、直前に符号化された)サブブロックの量子化パラメータを予測値とする。
【0055】
セレクタ204は選択フラグが0であれば、復号する順に従って量子化パラメータの予測値を決定するので、量子化パラメータ保持部3の出力をセレクタ205に入力する。選択フラグが1であれば、符号化効率向上のため、符号化するサブブロックの左隣のサブブロックの量子化パラメータを予測値とする。このため、端部量子化パラメータ予測値決定部202の出力をセレクタ205に入力する。
【0056】
一方、端部判定部200は入力された分割情報と処理の進捗から符号化するサブブロックがフレームまたはスライスの端部に位置するかどうかを判定して端部判定信号を生成する。
【0057】
セレクタ205は端部判定信号が0であれば、処理するサブブロックは端部ではないと判定し、量子化パラメータ予測値決定部201を入力先に選択する。この時、符号化するサブブロックの左隣の量子化パラメータが予測値となり、サブブロック量子化パラメータ差分部10に入力される。また、端部判定信号が1であれば、処理するサブブロックは端部であると判定し、セレクタ204を入力先に選択する。この時、選択フラグが0であれば、復号する順に選択された量子化パラメータが、1であれば、符号化するサブブロックの直上の量子化パラメータが予測値となり、サブブロック量子化パラメータ差分部10に入力される。以下、実施形態1と同様に差分値を求め、符号化されて、サブブロック量子化パラメータ差分符号であるcu_qp_delta符号を端子12から出力する。
【0058】
図10は、実施形態3に係る画像符号化装置における画像符号化処理を示すフローチャートである。
図10において、実施形態1の
図4と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【0059】
ステップS001からステップS006にて、実施形態1と同様に量子化パラメータの予測方法を選択し、選択モードを決定して、ヘッダ情報とともに符号化する。フレームを基本ブロックに分割し、さらにサブブロックに分割する。さらにそれぞれのサブブロックの量子化パラメータを決定する。
【0060】
ステップS200にて、サブブロックの分割情報から符号化するサブブロックがフレームやスライスの端部にあるか否かを判定する。すなわち、符号化するサブブロックの左隣に符号化済みの参照可能なサブブロックが存在するか否かを判定する。存在するならばステップS009に進む。そうでなければステップS201に進む。
ステップS201にて、実施形態1の
図4のステップS007と同様に選択フラグが0であれば、ステップS008に進み、そうでなければステップS202に進む。
ステップS202にて、符号化対象のサブブロックの左上隅の画素が接する直上のサブブロックの量子化パラメータを予測値とする。符号化対象のサブブロックがフレームまたはスライスの左上に存在する場合、予測値はスライスで指定された量子化パラメータとするがこれに限定されない
以後、ステップS010からステップS013を行い、サブブロック量子化パラメータの差分値の算出と符号化、サブブロックの予測誤差の符号化と再生画像の生成を全てのサブブロック、基本ブロックに対して行う。
【0061】
量子化パラメータの予測に関して
図2(g)を用いて説明を加える。
図2(e)の実施形態1で用いた予測と比較して、サブブロック1006とサブブロック1008の予測が異なる。選択フラグが0であれば、復号する順の予測が行われるため、実施形態1と同様に端部のこれらのサブブロックは符号順で予測される。選択フラグが1であれば、これらのサブブロックは端部量子化パラメータの予測決定部202からの出力で予測する。すなわち、隣接する直上のサブブロックの量子化パラメータから予測を行い、
図2(g)のようになる。
【0062】
以上の構成と動作により、端部においても復号する順に量子化パラメータを予測するか周囲の参照できる量子化パラメータから予測するかを選択することにより、端部でも処理時間の遅延を優先するか、符号化効率を優先するか選択できる効果がある。
【0063】
なお、実施形態1の
図4のステップS009では左隣に参照するサブブロックがない場合は復号する順に予測を行う方法で説明したが、これの代わりに
図10のステップS201、ステップS008、ステップS202を用いてももちろん構わない。
なお、本実施形態で基本ブロック量子化パラメータ、サブブロック量子化パラメータ差分値および量子化係数の符号化にゴロム符号化を用いて説明したが、これに限定されない。例えばハフマン符号化やその他の算術符号化であってももちろん構わない。
【0064】
<実施形態4>
本実施形態では符号化装置は実施形態2の
図6と同じ構成をとる。ただし、量子化パラメータ復号部1102の構成が異なる。本実施形態では、実施形態3で生成された符号化データの復号を例にとって説明する。
【0065】
図11は本実施形態の量子化パラメータ復号部1102の詳細な構成を示すブロック図である。
図11において、実施形態2の
図7と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
図11において、300は復号対象となるサブブロックがフレームまたはスライスの端部にあるか否かを判定する端部判定部である。実施形態3の
図7の端部判定部200と同様に動作し、端部判定信号を生成する。
【0066】
301は量子化パラメータ保持部107に格納された各サブブロックの量子化パラメータから復号するサブブロックの量子化パラメータの予測値を決定するサブブロック量子化パラメータ予測値決定部である。すなわち、本実施形態では復号処理を行うサブブロックの左のサブブロックの量子化パラメータを参照して予測値を決定する。
302は復号されたサブブロックの量子化パラメータを格納する量子化パラメータ保持部である。量子化パラメータ保持部302は量子化パラメータ保持部107から順に量子化パラメータを受け取る。これにより、復号されたサブブロックの量子化パラメータを復号対象のサブブロックの上のサブブロックまでの量子化パラメータを保持する。
303は量子化パラメータ保持部302に格納された各サブブロックの量子化パラメータから復号するサブブロックの量子化パラメータの予測値を決定する端部量子化パラメータ予測値決定部である。すなわち、復号処理を行うサブブロックの上のサブブロックの量子化パラメータを参照して予測値を決定する。
304はセレクタであり、実施形態2の
図7のセレクタ109と同様に端子101から入力される選択フラグによって入力先を選択する。選択フラグが0であれば、量子化パラメータ保持部106を入力先に選択する。選択フラグが1であれば、端部量子化パラメータ予測値決定部303を入力先に選択する。
305もセレクタであり、端部判定部300からの端部判定信号に基づいて入力先を選択する。端部判定信号が0であれば、セレクタ304を、そうでなければ量子化パラメータ予測値決定部301を入力先として選択する。
【0067】
上記画像復号装置における画像の復号動作を以下に説明する。実施形態2と同様に、端子100からサブブロックの分割情報、端子101から選択フラグ、端子102からサブブロックの量子化パラメータ差分値符号(cu_qp_delta符号)が入力される。
上記の構成において、端子102から入力されたサブブロックのサブブロック量子化パラメータ差分値符号はサブブロック量子化パラメータ差分値復号部103に入力され、ゴロム符号の復号により、サブブロック量子化パラメータ差分値を再生する。サブブロック量子化パラメータ加算部104はセレクタ305を介して入力されるサブブロック量子化パラメータの予測値とサブブロック量子化パラメータ差分値を加算し、サブブロック量子化パラメータを再生する。また、量子化パラメータ保持部106と量子化パラメータ保持部107に入力される。量子化パラメータ保持部302は量子化パラメータ保持部107から、今後符号化対象サブブロックの上になることがある量子化パラメータを入力し、格納する。
【0068】
実施形態2と同様に、量子化パラメータ保持部106は常に復号する順に前に復号されたサブブロックの量子化パラメータを保持している。量子化パラメータ保持部107は、復号の対象となるサブブロックの周囲(本実施形態では左)に存在する量子化パラメータを保持する。
【0069】
量子化パラメータ予測値決定部303は量子化パラメータ保持部107から上にあるサブブロックの量子化パラメータを入力する。本実施形態では、当該サブブロックの左上隅の画素が接する位置のサブブロックの量子化パラメータを予測値とする。
【0070】
セレクタ304は選択フラグが0の時、すなわち、復号する順にサブブロックの量子化パラメータの予測値を決定する場合は、量子化パラメータ保持部106を入力先とする。選択フラグが0の時、すなわち、周囲のサブブロックから量子化パラメータを決定する場合は量子化パラメータ予測値決定部303を入力先とする。
【0071】
図12は、実施形態4に係る画像復号装置における画像復号処理を示すフローチャートである。
図12において、実施形態2の
図8と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【0072】
ステップS101とステップS102によって、実施形態2と同様にヘッダ情報と量子化パラメータ予測方法を表す絵qp_delta_select_flag符号の復号を行う。ステップS103でcu_qp_delta符号を復号して、サブブロックの量子化パラメータの差分値を算出する。
【0073】
ステップS300にて、サブブロックの分割情報から復号するサブブロックがフレームやスライスの端部にあるか否かを判定する。すなわち、復号するサブブロックの左隣に符号化済みの参照可能なサブブロックが存在するか否かを判定する。存在するならばステップS106に進む。そうでなければステップS301に進む。
ステップS301にて、量子化パラメータ復号部1102は、実施形態1の
図4のステップS007と同様に選択フラグが0であれば、ステップS105に進み、そうでなければステップS302に進む。
ステップS302にて、量子化パラメータ復号部1102は、符号化対象のサブブロックの左上隅の画素が接する直上のサブブロックの量子化パラメータを予測値とする。符号化対象のサブブロックがフレームまたはスライスの左上に存在する場合、予測値はスライスで指定された量子化パラメータとするが、これに限定されない。
以後、ステップS107からステップS112を行い、サブブロック量子化パラメータの再生、サブブロックの予測誤差の復号と再生画像の生成を全てのサブブロック、基本ブロックに対して行う。
【0074】
以上の構成と動作により、実施形態3で生成した、端部においても復号する順に量子化パラメータを予測するか、周囲の参照できる量子化パラメータから予測するかを選択した符号化データを復号することができる。
【0075】
なお、本実施形態で基本ブロック量子化パラメータ、サブブロック量子化パラメータ差分値および量子化係数の復号にゴロム符号化を用いて説明したが、これに限定されない。例えばハフマン符号化やその他の算術符号化であってももちろん構わない。なお、実施形態2の
図8におけるステップS106では左隣に参照するサブブロックがない場合は復号する順に予測を行う方法で説明したが、これの代わりに
図12のステップS301、ステップS105、ステップS302を用いてももちろん構わない。
【0076】
<実施形態5>
図13は本実施形態の画像符号化装置を示すブロック図である。
図13において、実施形態1の
図1と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【0077】
11100はスライス単位で符号化モードを決定するスライス符号化モード決定部である。ここでは説明を簡単にするため、フレーム内符号化を行いイントラ符号化のモードと動き補償を行って符号化するインター符号化のモードを例にとる。11103はブロック予測部であり、スライスの符号化モードによって、イントラ予測か動き補償による予測を行う。11108は量子化パラメータ符号化部である。実施形態1の
図1の量子化パラメータ符号化部11008とはスライス符号化モードを入力する点にある。
【0078】
フレームの符号化に先立ち、スライス符号化モード決定部11100は当該フレームのスライスをイントラ符号化するかインター符号化するかを決定する。例えば、それまで入力されたフレームの枚数から、周期的にイントラ符号化モードを選択し、残りはインター符号化モードを選択することができる。決定されたスライス符号化モードは量子化パラメータ符号化部11108とブロック予測部11103に入力される。ブロック予測部11103ではスライスがイントラ予測を行う場合、そのイントラ予測を行ったモードも合わせて出力する。例えば、非特許文献1に記載の8つの予測モードを用いてもよい。この予測モードは量子化パラメータ符号化部11108に入力される。
【0079】
図14は本実施形態の量子化パラメータ符号化部11108の詳細な構成を示すブロック図である。
図14において、実施形態1の
図3と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【0080】
400は
図13のスライス符号化モード決定部11100からスライスの符号化モードを入力する端子である。401は端子400から入力されたスライスの符号化モードと端子6から入力される選択フラグからセレクタ9の入力先を選択する選択信号を生成する制御部である。402は端子であり、
図13のブロック予測部11103から係数の予測に用いたられるイントラ予測モードを入力する。403は端子402から入力されたイントラ予測モードに従って周囲のサブブロックの量子化パラメータを選択する量子化パラメータ予測値決定部である。
【0081】
処理に先駆け、選択フラグ符号化部7で入力された選択フラグを符号化してqp_delta_select_flag符号を端子8から出力する。
【0082】
また、スライスの符号化の先頭で、スライスの符号化モードが端子400から制御部401に入力される。
制御部401は入力されたスライス符号化モードと選択フラグからセレクタ9の選択信号を生成する。すなわち、選択フラグが0であり、スライスの符号化モードがイントラ予測であれば、セレクタ9の入力先を量子化パラメータ保持部3とする。この時の制御信号は0となる。選択フラグが0であり、スライスの符号化モードがインター予測であれば、セレクタ9の入力先を量子化パラメータ保持部3とする。この時の制御信号は0となる。選択フラグが1であり、スライスの符号化モードがイントラ予測であれば、セレクタ9の入力先を量子化パラメータ予測値決定部403とする。この時の制御信号は1となる。選択フラグが1であり、スライスの符号化モードがインター予測であれば、セレクタ9の入力先を量子化パラメータ保持部3とする。この時の制御信号は0となる。
【0083】
量子化パラメータ予測値決定部403は端子402から入力されたイントラ予測モードを入力する。非特許文献1に記載されているイントラ予測を行った場合、予測モードが0、3、5、7の場合は符号化対象のサブブロックの上に存在するサブブロックの量子化パラメータを参照する。予測モード1、6、8の場合は左に存在するサブブロックの量子化パラメータを参照する。予測モード2、4の場合は上と左のサブブロックの量子化パラメータの平均値を予測値に用いる。本実施形態では、予測モードと量子化パラメータの参照対象の組み合わせは上記の通りとするが、これに限定されない。
【0084】
セレクタ9は制御信号が0であれば、量子化パラメータ保持部3の出力を、そうでなければ、量子化パラメータ予測値決定部403の出力を入力として選択する。セレクタ9を介して得られた量子化パラメータはサブブロック量子化パラメータ差分部10と量子化パラメータ保持部3及び4に入力される。
セレクタ9は制御信号が0であれば、復号する順に従って量子化パラメータの予測値を決定するので、量子化パラメータ保持部3の出力をサブブロック量子化パラメータ差分部10に入力する。制御信号が1であれば、符号化効率向上のため、イントラ予測モードに従って、符号化するサブブロックの左隣または上のサブブロックの量子化パラメータを予測値とする。このため、サブブロック量子化パラメータ予測値決定部403の出力をサブブロック量子化パラメータ差分部10に入力する。
【0085】
サブブロック量子化パラメータ差分部10は符号化するサブブロックの量子化パラメータを量子化パラメータ保持部2から読み出し、セレクタ9から入力された量子化パラメータ予測値を引き差分を サブブロック量子化パラメータ符号化部11に入力する。サブブロック量子化パラメータ符号化部11は入力された量子化パラメータ差分値をゴロム符号化してcu_qp_delta符号を端子12から出力する。
【0086】
図15は、実施形態5に係る画像符号化装置における画像符号化処理を示すフローチャートである。
図15において、実施形態1の
図4と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【0087】
ステップS001からステップS003にて、実施形態1と同様に量子化パラメータの予測方法を選択し、選択モードを決定して、ヘッダ情報とともに符号化する。
ステップS401にて、スライスモード決定部11100は、スライスの先頭でスライスの符号化モードを決定し、符号化を行い、slice_type符号を生成する。
図5にスライスのヘッダの符号化データの様子を示す。slice_type符号20011はスライスヘッダに含まれる。
ステップS004からステップS006で、ブロック分割部11001は、フレームを基本ブロックに分割し、さらにサブブロックに分割する。さらにそれぞれのサブブロックの量子化パラメータを決定する。
ステップS402にて、量子化パラメータ符号化部11108は、スライス符号化モードがイントラ符号化モードかインター符号化モードかを判定する。イントラ符号化モードならばステップS403に進む。インター符号化モードでならばステップS008に進む。
ステップS403にて、量子化パラメータ符号化部11108は、実施形態1の
図4のステップS007と同様に選択フラグが0であれば、ステップS008に進み、そうでなければステップS404に進む。
ステップS404にて、量子化パラメータ符号化部11108は、符号化対象のサブブロックのイントラ予測モードに従って周囲のサブブロックの量子化パラメータから予測値を決定する。
以後、ステップS010からステップS016を行い、サブブロック量子化パラメータの差分値の算出と符号化、サブブロックの予測誤差の符号化と再生画像の生成を全てのサブブロック、基本ブロック、スライスに対して行う。
【0088】
以上の構成と動作により、用途に適合した各サブブロック量子化パラメータの差分値を符号化ができるまた、インター符号化の場合、画像の構成と量子化パラメータの相関が低いため、復号する順に量子化パラメータの予測を行ってもよい。また、イントラ符号化の場合は画像の特性に合った量子化パラメータの予測を行うことができる。これらによって処理時間の遅延の減少と画質の向上の両方を行える効果もある。
【0089】
なお、本実施形態ではサブブロック量子化パラメータの予測にイントラ予測モードを用いたが、これに限定されず、実施形態1や実施形態2のよそくの方法やそれ以外の方法でも構わない。
【0090】
また、本実施形態では基本ブロック量子化パラメータを前の基本ブロックの各サブブロック量子化パラメータの平均値としたが、これに限定されない。例えばサブブロックの中央値としても構わないし、最も頻度の高いサブブロック量子化パラメータの値としてももちろん構わない。このように算出方法を複数用意し、最も効率の良い基本ブロック量子化パラメータを選択してその方法を表す符号を用いて符号化してももちろん構わない。
【0091】
本実施形態ではスライス単位で符号化モードを決定したが、これに限定されず、MPEG‐1、2、4のようにフレームやピクチャ単位で符号化モードを設定できる場合はこれを用いても構わない。さらに、細かな単位としてマクロブロック等の基本ブロック単位で用いてももちろん構わない。
【0092】
<実施形態6>
図16は本実施形態の画像復号装置を示すブロック図である。
図16において、実施形態2の
図6と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【0093】
1501はスライスの符号化タイプの符号化データ(slice_type符号)を復号するスライス符号化モード復号部である。1502は量子化パラメータ復号部であり、実施形態2の
図6の量子化パラメータ復号部1102とはスライス符号化モードを入力する点が異なる。
【0094】
図16において、端子1100から入力された1フレーム分のストリームデータは復号・分離部1101に入力され、画像を再生するのに必要なヘッダ情報が復号される。ヘッダに含まれるqp_delta_select_flag符号20005は選択フラグ復号部1109に入力され、量子化パラメータの再生を行う予測の方法を選択するフラグが再生される。選択フラグは量子化パラメータ復号部1502に入力される。
【0095】
さらに、スライスの先頭において、スライス符号化モードを表す符号(slice_type符号20011)がスライス符号化モード復号部1501に入力され、復号されてスライスの符号化モードが再生される。再生されたスライス符号化モードは量子化パラメータ復号部1502に入力される。
【0096】
また、基本ブロック単位で分割情報(split_coding_flag符号20010)も復号・分離部1101で復号され、量子化パラメータ復号部1102に入力される。これに続くサブブロックごとにサブブロックの量子化パラメータ差分値符号(cu_qp_delta符号)ともに量子化パラメータ復号部1502に入力する。
【0097】
図17は、本発明の実施形態6に係る量子化パラメータ復号部1502の構成を示すブロック図である。本実施形態では、実施形態5で生成された符号化データの復号を例にとって説明する。
図17において、実施形態2の
図7と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【0098】
501は端子であり、スライス符号化モード復号部1501で再生されたスライス符号化モードが入力される。502は端子501から入力されたスライスの符号化モードと端子101から入力される選択フラグからセレクタ109の入力先を選択する選択信号を生成する制御部である。503は端子402から入力されたイントラ予測モードに従って周囲のサブブロックの量子化パラメータを選択する量子化パラメータ予測値決定部である。
【0099】
上記画像復号装置における画像の復号動作を以下に説明する。本実施形態では動画像ビットストリームをフレーム単位に入力する構成となっているが、1フレーム分の静止画像ビットストリームを入力する構成としても構わない。
【0100】
スライス単位の復号処理に先立ち、スライスの符号化モードが端子501から制御部502に入力される。
制御部502は入力されたスライス符号化モードと選択フラグからセレクタ109の選択信号を生成する。すなわち、選択フラグが0であり、スライスの符号化モードがイントラ予測であれば、セレクタ9の入力先を量子化パラメータ保持部106とする。この時の制御信号は0となる。選択フラグが0であり、スライスの符号化モードがインター予測であれば、セレクタ109の入力先を量子化パラメータ保持部106とする。この時の制御信号は0となる。選択フラグが1であり、スライスの符号化モードがイントラ予測であれば、セレクタ109の入力先を量子化パラメータ予測値決定部503とする。この時の制御信号は1となる。選択フラグが1であり、スライスの符号化モードがインター予測であれば、セレクタ109の入力先を量子化パラメータ保持部106とする。この時の制御信号は0となる。
【0101】
量子化パラメータ予測値決定部503は端子501から入力されたイントラ予測モードを入力するイントラ予測を行った場合、予測モードが0、3、5、7の場合は符号化対象のサブブロックの上に存在するサブブロックの量子化パラメータを参照する。予測モード1、6、8の場合は左に存在するサブブロックの量子化パラメータを参照する。予測モード2、4の場合は上と左のサブブロックの量子化パラメータの平均値を予測値に用いる。本実施形態では予測モードと量子化パラメータの参照対象の組み合わせは上記の通りとするが、これに限定されない。
【0102】
セレクタ109を介して入力されたサブブロックの量子化パラメータの予測値はサブブロック量子化パラメータ加算部104に入力され、復号された差分値に加算されて量子化パラメータを再生する。再生された量子化パラメータは端子105からブロック逆量子化部1104に出力される。また、量子化パラメータ保持部106及び量子化パラメータ保持部107に入力され、以後のサブブロックの量子化の予測値算出に用いられる。
【0103】
図18は、実施形態6に係る画像復号装置における画像復号処理を示すフローチャートである。
【0104】
ステップS101からステップS102にて、復号分離部1101と選択フラグ復号部1109は、ヘッダ情報とそれに含まれるqp_delta_select_flag符号の復号を行う。
ステップS501にて、スライス復号化モード復号部1501は、スライスヘッダに含まれるslice_type符号を復号し、スライス符号化モードを取得する。
ステップS103からサブブロック単位での処理を行う。ステップS103にて、量子化パラメータ復号部1502は、量子化パラメータ差分値符号であるcu_qp_delta符号を復号し、量子化パラメータ差分値を再生する。
ステップS502にて、量子化パラメータ復号部1502は、スライス符号化モードがイントラ符号化モードかインター符号化モードかを判定する。イントラ符号化モードならばステップS503に進む。インター符号化モードでならばステップS105に進む。
ステップS503にて、量子化パラメータ復号部1502は、実施形態2の
図8のステップS104と同様に判定し、選択フラグが0であれば、ステップS105に進み、そうでなければステップS504に進む。
ステップS504にて、量子化パラメータ復号部1502は、復号対象のサブブロックのイントラ予測モードに従って周囲のサブブロックの量子化パラメータから予測値を決定する。
【0105】
以後、ステップS107からステップS113を行い、サブブロック量子化パラメータの差分値の再生、サブブロックの予測誤差の復号と再生画像の生成を全てのサブブロック、基本ブロック、スライスに対して行う。
【0106】
以上の構成と動作により、各サブブロック量子化パラメータの差分値を符号化ができるスライス等の符号化モードを参照して量子化パラメータの予測を適応的に変更して処理時間の遅延の減少と画質の向上の両方を行えるビットストリームを復号することができる。
【0107】
<実施形態7>
図19は本実施形態の画像符号化装置を示すブロック図である。
図19において、実施形態5の
図13と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。実施形態5の
図13とは操作部11011が不要な点が異なる。14008は量子化パラメータ符号化部である。実施形態5の
図13の量子化パラメータ符号化部11008とは選択フラグが入力されない点にある。
【0108】
実施形態5と同様に、フレームの符号化に先立ち、スライス符号化モード決定部11100は当該フレームのスライスをイントラ符号化するかインター符号化するかを決定する。決定されたスライス符号化モードは量子化パラメータ符号化部14008とブロック予測部11103に入力される。
【0109】
図20は本実施形態の量子化パラメータ符号化部14008の詳細な構成を示すブロック図である。
図20において、実施形態5の
図14と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【0110】
600はセレクタであり、端子400から入力されるスライス符号化モードによって入力先を切り替える。
【0111】
実施形態5と同様に、量子化パラメータ決定部11002で決定された量子化パラメータが量子化パラメータ保持部2に格納される。
【0112】
端子400から入力されたスライス符号化モードはセレクタ600に入力される。スライスの符号化モードがイントラ予測であれば、セレクタ600の入力先を量子化パラメータ予測値決定部403とする。スライスの符号化モードがインター予測であれば、セレクタ600の入力先を量子化パラメータ保持部3とする。
【0113】
量子化パラメータ予測値決定部403は実施形態5と同様にイントラ予測モードに従って周囲のサブブロックの量子化パラメータから予測値を算出する。
【0114】
セレクタ600を介して得られた量子化パラメータはサブブロック量子化パラメータ差分部10と量子化パラメータ保持部3及び4に入力される。量子化パラメータ保持部3及び4は以後のサブブロックの量子化パラメータの予測のために使われる。
【0115】
以後、実施形態5と同様にサブブロック量子化パラメータ差分部10で量子化パラメータ差分値を算出し、サブブロック量子化パラメータ符号化部11で符号化し、cu_qp_delta符号を端子12から出力する。
【0116】
図21は、実施形態7に係る画像符号化装置における画像符号化処理を示すフローチャートである。
図21において、実施形態5の
図15と異なる点はステップS001、ステップS003、ステップS403が無い点である。
【0117】
統合符号化部11009は、実施形態5と同様にステップS002でヘッダの符号化を行う。その後、各スライスの符号化処理を行う。ステップS401ではスライスの符号化モードの決定とその符号化を行う。
【0118】
ステップS004からステップS006でフレームを基本ブロックに分割し、さらにサブブロックに分割する。さらにそれぞれのサブブロックの量子化パラメータを決定する。
ステップS402にて、量子化パラメータ符号化部14008は、スライス符号化モードがイントラ符号化モードかインター符号化モードかを判定する。イントラ符号化モードならばステップS403に進む。インター符号化モードでならばステップS008に進む。
ステップS404にて、量子化パラメータ符号化部14008は、符号化対象のサブブロックのイントラ予測モードに従って周囲のサブブロックの量子化パラメータから予測値を決定する。
【0119】
以後、ステップS010からステップS016を行い、サブブロック量子化パラメータの差分値の算出と符号化、サブブロックの予測誤差の符号化と再生画像の生成を全てのサブブロック、基本ブロック、スライスに対して行う。
【0120】
図22に本実施形態で生成されたビットストリームの一例を示す。シーケンスヘッダ(Sequence Parameter Set)20001にqp_delta_select_flag符号20005が含まれていない。スライスの符号化モードを表す符号slice_type符号20011がスライスヘッダに含まれている。
【0121】
以上の構成と動作により、符号化モードを選択フラグの代わりに用いることで、そのオーバーヘッドを削減できる。さらに、簡易な構成で各サブブロック量子化パラメータの差分値を符号化ができるスライス等の符号化モードを参照して量子化パラメータの予測を適応的に変更して処理時間の遅延の減少と画質の向上の両方を行うことができる。
【0122】
本実施形態ではスライス単位で符号化モードを決定したが、これに限定されず、MPEG‐1、2、4のようにフレームやピクチャ単位で符号化モードを設定できる場合はこれを用いても構わない。さらに、細かな単位としてマクロブロック等の基本ブロック単位で用いてももちろん構わない。
【0123】
<実施形態8>
図23は本実施形態の画像復号装置を示すブロック図である。
図23において、実施形態6の
図16と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。実施形態6の
図16とは選択フラグ復号部1109が不要な点が異なる。また、本実施形態は実施形態7で生成されたビットストリーム(
図22)を復号する。
【0124】
図23において、端子1100から入力された1フレーム分のストリームデータは復号・分離部1101に入力され、画像を再生するのに必要なヘッダ情報が復号される。
【0125】
さらに、スライスの先頭において、スライス符号化モードを表す符号(slice_type符号20011)がスライス符号化モード復号部1501に入力され、復号されてスライスの符号化モードが再生される。再生されたスライス符号化モードは量子化パラメータ復号部1502に入力される。
【0126】
また、基本ブロック単位で分割情報(split_coding_flag符号20010)も復号・分離部1101で復号され、量子化パラメータ復号部1102に入力される。これに続くサブブロックごとにサブブロックの量子化パラメータ差分値符号(cu_qp_delta符号)ともに量子化パラメータ復号部1502に入力する。
【0127】
図24は、本発明の実施形態8に係る量子化パラメータ復号部1502の構成を示すブロック図である。本実施形態では、実施形態7で生成された符号化データの復号を例にとって説明する。
図24において、実施形態6の
図17と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。600はセレクタであり、端子400から入力されるスライス符号化モードによって入力先を切り替える。
【0128】
実施形態5と同様に、スライス単位の復号処理に先立ち、スライスの符号化モードが端子501からセレクタ701に入力される。
セレクタ701は入力されたスライス符号化モードがイントラ予測であれば、入力先を量子化パラメータ予測値決定部503とする。スライスの符号化モードがインター予測であれば、入力先を量子化パラメータ保持部106とする。
【0129】
以下、実施形態6と同様に、量子化パラメータ予測値決定部503は端子501から入力されたイントラ予測モードに従って周囲のサブブロックの量子化パラメータから予測値を算出する。
【0130】
セレクタ701を介して入力されたサブブロックの量子化パラメータの予測値はサブブロック量子化パラメータ加算部104に入力され、復号された差分値に加算されて量子化パラメータを再生する。再生された量子化パラメータは端子105からブロック逆量子化部1104に出力される。また、量子化パラメータ保持部106及び量子化パラメータ保持部107に入力され、以後のサブブロックの量子化の予測値算出に用いられる。
【0131】
図25は、実施形態6に係る画像復号装置における画像復号処理を示すフローチャートである。
図25において、実施形態6の
図18と異なる点はステップS002、ステップS503が無い点である。
【0132】
ステップS101にて、ヘッダ情報との復号を行う。ステップS501にて、スライス符号化モード復号部1501は、スライスヘッダに含まれるslice_type符号を復号し、スライス符号化モードを取得する。
ステップS103からサブブロック単位での処理を行う。ステップS103にて、量子化パラメータ復号部1502は、量子化パラメータ差分値符号であるcu_qp_delta符号を復号し、量子化パラメータ差分値を再生する。
ステップS502にて、量子化パラメータ復号部1502は、スライス符号化モードがイントラ符号化モードかインター符号化モードかを判定する。イントラ符号化モードならばステップS504に進む。インター符号化モードでならばステップS105に進む。
ステップS504にて、量子化パラメータ復号部1502は、復号対象のサブブロックのイントラ予測モードに従って周囲のサブブロックの量子化パラメータから予測値を決定する。
【0133】
以後、ステップS107からステップS113を行い、サブブロック量子化パラメータの差分値の再生、サブブロックの予測誤差の復号と再生画像の生成を全てのサブブロック、基本ブロック、スライスに対して行う。
【0134】
以上の構成と動作により、各サブブロック量子化パラメータの差分値を符号化ができるスライス等の符号化モードを参照して量子化パラメータの予測を適応的に変更して処理時間の遅延の減少と画質の向上の両方を行えるビットストリームを復号することができる。
【0135】
また、実施形態1から8において、選択フラグは0と1の値しか持たないように説明したが、これに限定されない。実施形態1、3、5の其々の符号化方法を切り替えらえるように複数ビットで表す値であってももちろん構わない。
本実施形態においてスライス単位の符号化モードに基づいて予測値を復号する順に求めるか、周囲のサブブロックの量子化パラメータからも求めるかを判定したが、基本ブロック単位で判定しても構わない。例えば、H.264のマクロブロックの符号化モードに基づいて判定しても構わない。
【0136】
<実施形態9>
図1、
図3、
図6、
図7、
図9、
図11、
図13、
図14、
図16、
図17、
図19、
図20、
図23、
図24に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、これらの図に示した各処理部で行なう処理をコンピュータプログラムでもって構成しても良い。
図26は、上記各実施形態に係る画像表示装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
【0137】
CPU1401は、RAM1402やROM1403に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置が行うものとして上述した各処理を実行する。即ち、CPU1401は、
図1、
図3、
図6、
図7、
図9、
図11、
図13、
図14、
図16、
図17、
図19、
図20、
図23、
図24に示した各処理部として機能することになる。
RAM1402は、外部記憶装置1406からロードされたコンピュータプログラムやデータ、I/F(インターフェース)1409を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、RAM1402は、CPU1401が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM1402は、例えば、フレームメモリとして割当てたり、その他の各種のエリアを適宜提供することができる。
ROM1403には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部1404は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をCPU1401に対して入力することができる。表示部1405は、CPU1401による処理結果を表示する。また表示部1405は例えば液晶ディスプレイのようなホールド型の表示装置や、フィールドエミッションタイプの表示装置のようなインパルス型の表示装置で構成される。
【0138】
外部記憶装置1406は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置1406には、OS(オペレーティングシステム)や、
図1、
図6、
図13、
図16、
図19、
図23に示した各部の機能をCPU1401に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置1406には、処理対象としての各画像データが保存されていても良い。
外部記憶装置1406に保存されているコンピュータプログラムやデータは、CPU1401による制御に従って適宜RAM1402にロードされ、CPU1401による処理対象となる。I/F1407には、LANやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのI/F1407を介して様々な情報を取得したり、送出したりすることができる。1408は上述の各部を繋ぐバスである。
上述の構成からなる作動は前述のフローチャートで説明した作動をCPU1401が中心となってその制御を行う。
【0139】
<その他の実施形態>
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【0140】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【0141】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
本実施形態においてスライス単位の符号化モードに基づいて予測値を復号する順に求めるか、周囲のサブブロックの量子化パラメータからも求めるかを判定したが、基本ブロック単位で判定しても構わない。例えば、H.264のマクロブロックの符号化モードでmb_type符号の復号結果に基づいて判定しても構わない。