(発明の基礎となった知見)
従来の画像符号化方式においては、動き情報として平行移動に関する情報のみが利用されている。
しかし撮影された動画像において、カメラのズーム操作による拡大縮小又は被写体の回転などの動きが存在する場合に、平行移動のみでは動きを適切に表現できない。そのため、符号化時においては、予測ブロックのサイズを小さくすることにより予測精度を向上する方法が用いられている。
一方、動き情報としてアフィン変換などの高次な動き情報を利用する手法も検討されている。例えば、アフィン変換は、平行移動に加えて、拡大縮小、回転及びせん断の3種類の変換も表現することができ、前述した被写体の回転などの変換を表現できる。これにより、生成される予測画像の品質が向上する。また、予測単位を大きくできるので符号化効率を向上できる。
しかしながら、平行移動が2次元の情報で表現できる一方、アフィン変換では、平行移動に加え上記3種類の変換を表現するために少なくとも6次元の情報が必要である。このように動き情報に必要な次元数が増加することにより、符号化される動き情報が増加するという問題、及び動き情報の推定処理に必要な計算量が増加するという問題が生じる。
このような課題に対して、先行技術(特許文献1)には以下の手法が開示されている。符号化時に各予測ブロックにおいて、平行移動のみに関する動き情報の推定と、アフィン変換などの高次な動き情報の推定とが行われる。これらのうち、より符号化効率が高くなると判断された手法が選択される。動き情報が平行移動かアフィン変換かを示すフラグとそのフラグに対応した動き情報とが符号化される。これにより、高次な動き情報を用いた際の利点を生かしつつ、情報量を削減できるので、符号化効率が向上される。しかし、この手法では、高次な動き情報を表現した際の符号量を十分には削減できないという課題がある。
この課題に対し、本発明の一態様に係る画像符号化方法は、画像を符号化する画像符号化方法であって、符号化対象であるカレントブロックの参照先を示す参照情報として、平行移動成分と複数の非平行移動成分とを含む複数の変換成分のうち2以上の変換成分を選択する選択ステップと、前記参照情報を用いて予測画像を生成する予測ステップと、前記カレントブロックを、前記予測画像を用いて符号化する画像符号化ステップと、前記複数の変換成分の中から、選択された前記2以上の変換成分を特定するための選択情報を符号化する選択情報符号化ステップと、前記カレントブロックとは異なる符号化済みブロックの参照情報を用いて、前記カレントブロックの前記参照情報を符号化する参照情報符号化ステップとを含む。
これにより、当該画像符号化方法は、平行移動及び複数の非平行移動を含む複数の変換成分のうち、任意の変換成分を選択できる。よって、当該画像符号化方法は、高次な動き情報を用いた符号化方式において、符号化効率が改善できる。
例えば、前記複数の非平行移動成分は、回転成分、拡大縮小成分及びせん断成分を含んでもよい。
例えば、前記選択情報は、前記複数の変換成分のそれぞれに対応し、対応する変換成分が選択されたか否かを示すフラグを含んでもよい。
これにより、当該画像符号化方法は、アフィン行列を複数の変換成分に分割し、それぞれに対して選択及び非選択を指定することができるので、情報量を削減できる。
例えば、前記選択ステップでは、前記複数の変換成分の一部又は全てを含む組であって、互いに異なる組を示す複数の符号化レベルから1つの符号化レベルを選択し、選択された符号化レベルで示される組に含まれる前記2以上の変換成分を選択し、前記選択情報は、選択された前記符号化レベルを示してもよい。
これにより、当該画像符号化方法は、さらに情報量を削減できる。また、当該画像符号化方法は、選択のための処理負荷を低減できる。
例えば、前記選択情報符号化ステップでは、前記カレントブロックを含む画像に対して共通に用いられる一つの前記選択情報を符号化してもよい。
これにより、当該画像符号化方法は、さらに情報量を削減できる。また、当該画像符号化方法は、選択のための処理負荷を低減できる。
例えば、前記選択ステップでは、前記カレントブロックのサイズに応じて前記2以上の変換成分を選択し、前記選択情報は、前記サイズを示してもよい。
これにより、当該画像符号化方法は、さらに情報量を削減できる。
例えば、前記複数の非平行移動成分は、回転成分、拡大縮小成分及びせん断成分を含み、前記選択ステップでは、前記カレントブロックのサイズが第1閾値未満である場合には前記せん断成分を選択しなくてもよい。
これにより、当該画像符号化方法は、予測精度の向上に寄与しにくい変換成分を制限することでより処理負荷を低減できる。
例えば、前記選択ステップでは、前記平行移動成分、前記回転成分、前記拡大縮小成分、前記せん断成分の順に優先して前記2以上の変換成分を選択してもよい。
これにより、当該画像符号化方法は、予測精度の向上に寄与する変換成分の優先度を高めることで、より効率的な処理を実現できる。
また、本発明の一態様に係る画像復号方法は、画像が符号化されることにより得られたビットストリームを復号する画像復号方法であって、平行移動成分と複数の非平行移動成分とを含む複数の変換成分の中から2以上の変換成分を特定するための選択情報を、前記ビットストリームから復号する選択情報復号ステップと、復号対象であるカレントブロックの参照先を示す参照情報として、前記復号された前記選択情報で特定される前記2以上の変換成分を選択する選択ステップと、前記カレントブロックとは異なる復号済みブロックの参照情報を用いて、前記カレントブロックの前記参照情報を前記ビットストリームから復号する参照情報復号ステップと、前記参照情報を用いて予測画像を生成する予測ステップと、前記ビットストリームから前記カレントブロックを、前記予測画像を用いて復号する画像復号ステップとを含む。
これにより、当該画像復号方法は、符号化効率が改善されたビットストリームを復号できる。
例えば、前記複数の非平行移動成分は、回転成分、拡大縮小成分及びせん断成分の4つの変換成分を含んでもよい。
例えば、前記選択情報は、前記複数の変換成分のそれぞれに対応し、対応する変換成分が選択されたか否かを示すフラグを含んでもよい。
例えば、前記選択情報は、前記複数の変換成分の一部又は全てを含む組であって、互いに異なる組を示す複数の符号化レベルの1つを示し、前記選択ステップでは、前記選択情報で示される前記符号化レベルで示される組に含まれる前記2以上の変換成分を選択してもよい。
例えば、前記選択情報復号ステップでは、前記カレントブロックを含む画像に対して共通に用いられる一つの前記選択情報を復号してもよい。
例えば、前記選択情報は、前記カレントブロックのサイズを示し、前記選択ステップでは、前記カレントブロックのサイズに応じて前記2以上の変換成分を選択してもよい。
例えば、前記複数の非平行移動成分は、回転成分、拡大縮小成分及びせん断成分を含み、前記選択ステップでは、前記カレントブロックのサイズが第1閾値以下である場合には、前記せん断成分を選択しなくてもよい。
例えば、前記複数の非平行移動成分は、回転成分、拡大縮小成分及びせん断成分を含み、前記選択ステップでは、前記平行移動成分、前記回転成分、前記拡大縮小成分、前記せん断成分の順に優先して前記2以上の変換成分を選択してもよい。
また、本発明の一態様に係る画像符号化装置は、画像を符号化する画像符号化装置であって、処理回路と、前記処理回路からアクセス可能な記憶装置とを備え、前記処理回路は、前記記憶装置を用いて、前記画像符号化方法を実行する。
これにより、当該画像符号化装置は、平行移動及び複数の非平行移動を含む複数の変換成分のうち、任意の変換成分を選択できる。よって、当該画像符号化装置は、高次な動き情報を用いた符号化方式において、符号化効率が改善できる。
また、本発明の一態様に係る画像復号装置は、画像が符号化されることにより得られたビットストリームを復号する画像復号装置であって、処理回路と、前記処理回路からアクセス可能な記憶装置とを備え、前記処理回路は、前記記憶装置を用いて、前記画像復号方法を実行する。
これにより、当該画像復号装置は、符号化効率が改善されたビットストリームを復号できる。
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、既によく知られた事項の詳細な説明、及び実質的に同一の構成に対する重複する説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
本実施の形態に係る画像符号化方式を用いた画像符号化装置の実施の形態の一つに関して説明する。本実施の形態に係る画像符号化装置は、アフィン変換で表現される複数の変換成分のうち、任意の変換成分を選択し、選択した変換成分を動き情報を用いて予測画像を生成する。また、選択された変換成分を示す情報を含むビットストリームを生成する。これにより、当該画像符号化装置は、符号化効率を改善できる。
図1は、本実施の形態に係る画像符号化装置100のブロック図である。画像符号化装置100は、ブロック分割部101、減算部102、周波数変換部103、量子化部104、エントロピー符号化部105、逆量子化部106、逆周波数変換部107、加算部108、イントラ予測部109、ループフィルタ110、フレームメモリ111、インター予測部112、及び切替部113を含む。
画像符号化装置100は、入力画像121を符号化することでビットストリーム126を生成する。
図2は、本実施の形態における画像符号化装置100による符号化処理のフローチャートである。
まず、ブロック分割部101は、1以上のピクチャを含む静止画又は動画である入力画像121を符号化処理単位である符号ブロック122に分割する(S101)。
次に、イントラ予測部109又はインター予測部112は、符号ブロック122ごとに復号ブロック129又は復号画像131を利用して予測ブロック134を生成する(S102)。なお、この処理の詳細は後述する。
次に、減算部102は、符号ブロック122と予測ブロック134との差分である差分ブロック123を生成する(S103)。周波数変換部103は、差分ブロック123を周波数変換することで係数ブロック124を生成する。量子化部104は係数ブロック124を量子化することで係数ブロック125を生成する(S104)。
次に、エントロピー符号化部105は、係数ブロック125をエントロピー符号化することでビットストリーム126を生成する(S105)。
一方で、後続のブロック又はピクチャの予測ブロック134の生成に利用する復号ブロック129及び復号画像131を生成するために、逆量子化部106は、係数ブロック125を逆量子化することで係数ブロック127を生成する。逆周波数変換部107は、係数ブロック127を逆周波数変換することで差分ブロック128を復元する(S106)。
次に、加算部108は、ステップS102で利用された予測ブロック134と、差分ブロック128とを加算することで、復号ブロック129(再構築画像)を生成する(S107)。この復号ブロック129は、イントラ予測部109によるイントラ予測処理に利用される。また、ループフィルタ110は、復号ブロック129にループフィルタ処理を行うことで復号画像131を生成する。フレームメモリ111は、復号画像131を格納する。この復号画像131は、インター予測部112によるインター予測処理に用いられる。
これら一連の処理が、入力画像121全体に対する符号化処理が完了するまで繰り返し行われる(S108)。
なお、ステップS104の周波数変換及び量子化と、ステップS106の逆量子化及び逆周波数変換は、それぞれが別処理として逐次行われても良いし、一括して行われてもよい。また量子化とは、予め定められた間隔でサンプリングした値を予め定められたレベルに対応づけてデジタル化する処理である。逆量子化とは、量子化で得られた値を元の区間の値に戻す処理である。データ圧縮分野では、量子化は、値をオリジナルよりも粗い区間に分ける処理を意味し、逆量子化は粗い区間をオリジナルの細かい区間に分けなおす処理を意味する。コーデック技術分野では、量子化及び逆量子化を、丸め、ラウンディング、又はスケーリングと呼ぶ場合もある。
次に、ステップS102の予測ブロック生成処理に関して、図3を用いて説明を行う。図3は、本実施の形態に係る予測ブロック生成処理(S102)のフローチャートである。
まず、画像符号化装置100は、処理対象の予測ブロックに行う予測処理方法がイントラ予測なのかインター予測なのかを判定する(S121)。
予測処理方法がイントラ予測の場合(S121で「イントラ予測」)、イントラ予測部109は、イントラ予測処理により予測ブロック130を生成する(S122)。また、切替部113は、生成された予測ブロック130を予測ブロック134として出力する。
一方、予測処理方法がインター予測の場合(S121で「インター予測」)、インター予測部112はインター予測処理により予測ブロック132を生成する(S123)。また、切替部113は、生成された予測ブロック132を予測ブロック134として出力する。
なお、画像符号化装置100は、ステップS121を行わず、ステップS122及びS123の処理を両方とも行い、得られたそれぞれの予測ブロックに対してR−D最適化モデル(下記(式1))などを用いてコスト計算を行い、コストの小さい、つまり符号化効率の高い手法を選択してもよい。
(式1)において、Dは符号化歪を表し、例えば、符号化対象ブロックの元の画素値と、生成された予測画像との差分絶対値和である。また、Rは発生符号量を表し、例えば、予測ブロックを生成するための動き情報などを符号化するのに必要な符号量である。また、λはラグランジュの未定乗数である。これにより、イントラ予測及びインター予測から適切な予測モードを選ぶことが可能となり、符号化効率を向上できる。
続いて、ステップS123のインター予測処理に関して、図4及び図5を用いて説明を行う。
図4は、インター予測部112の構成例を示すブロック図である。インター予測部112は、符号化情報選択部141、動き推定部142、動き補償部143、及び動き情報計算部144を備える。
図5は、本実施の形態に係るインター予測処理(S123)のフローチャートである。
まず、符号化情報選択部141は、入力画像(符号ブロック122)などを利用して、使用する動き情報の変換成分(変形成分)を選択する(S141)。ここで、変換成分とは、各種変換(変形)(例えば、平行移動、回転、拡大縮小及びせん断)を示す情報であり、各種変換における係数等である。図6に示すように、本実施の形態では、動き情報に、平行移動に加え、回転、拡大縮小及びせん断等の複数の非平行移動が用いられる。
次に、動き推定部142は、ステップS141で選択された動き情報の変換成分に関する動き推定処理を入力画像(符号ブロック122)及び復号画像131を用いて行うことで動き情報151を生成する(S142)。
次に、動き補償部143は、ステップS142で得られた動き情報151及び復号画像131を用いて動き補償処理を行うことで、予測ブロック132を生成する(S143)。
次に、動き情報計算部144は、ステップS142で得られた動き情報151と、符号化対象であるカレントブロックに空間的又は時間的に隣接する符号化済ブロックの動き情報との差分である差分動き情報を算出する(S144)。
以上により、インター予測処理が終了する。なお、ステップS144で算出された差分動き情報は動き情報133としてエントロピー符号化部105に出力される。エントロピー符号化部105は、動き情報133を符号化し、ビットストリーム126に含めて出力する。
次に動き情報の変換成分の選択(S141)に関して、図7を用いて詳細に説明を行う。図7は、本実施の形態に係る動き情報の変換成分の選択(S141)のフローチャートである。
まず、符号化情報選択部141は、入力画像(符号ブロック122)と復号画像131との画像間の動き成分を取得する(S161)。例えば、符号化情報選択部141は、入力画像及び復号画像131の両方のSIFT(Scale−Invariant Feature Transform)の特徴量を抽出する。符号化情報選択部141は、入力画像の特徴量と復号画像131の特徴量とから、各種変換を表現するホモグラフィー行列を推定し、それを画像間の動き成分として設定する。なお、ここでは動き成分として設定される特徴量としてSIFTの特徴量を使う例を示したが、これに限るものではない。
次に、符号化情報選択部141は、ステップS161で取得された動き成分に応じて、符号化に用いる動き情報の変換成分を選択する(S162)。また、符号化情報選択部141は、予測ブロックのサイズに応じて、符号化に用いる動き情報の変換成分を選択する(S163)。以上の一連の処理によって、ステップS141の処理が終わる。
なお、ステップS162及びステップS163は、両方をこの順序で行われてもよいし、逆の順序で行われてもよいし、並列に行われてもよいし、どちらか一方のみが行われてもよい。
なお、本実施の形態では、「動き成分」は画像を所定の解析手法を用いて解析して得られる特徴量(画像間の動き)を示すものとし、「動き情報」は、動き成分に基づいて決定される、符号化に用いられる行列、ベクトル、又はそれらを構成する係数等を示すものとして説明する。
以下、動き成分を利用した変換成分の選択(ステップS162)と予測ブロックのサイズを利用した変換成分の選択(ステップS163)に関して、詳細を述べる。
図8は、本実施の形態に係る動き成分を利用した変換成分の選択(ステップS162)のフローチャートである。
まず、符号化情報選択部141は、動き成分から平行移動、回転、拡大縮小及びせん断の変換成分を抽出する(S181)。
ここで、アフィン行列aは下記(式2)のように表現できる。下記(式2)に示すように、アフィン行列aは、拡大率k(x方向にkx、y方向にky)の拡大縮小を表す行列、回転角θの回転を表す行列、及びせん断角φのせん断をそれぞれ表す行列の積と、x方向にc、y方向にfだけ平行移動することを表す行列との和で表現される。
上記(式2)のように表現されたアフィン行列aからは、拡大率k、回転角θ、せん断角φ及び平行移動成分を抽出することが可能である。動き情報は、上記4つの変換成分を有する情報として記載され、例えば、(c、f、θ、kx、ky、φ)と表現される。
平行移動成分であるc及びfがともに0である場合、動き情報に平行移動成分が存在せず、それ以外の場合は動き情報に平行移動成分が存在する。拡大率kが1であった場合、動き情報に拡大縮小成分が存在せず、それ以外の場合は動き情報に拡大縮小成分が存在する。回転角θが0であった場合は動き情報に回転成分が存在せず、それ以外の場合は動き情報に回転成分が存在する。せん断角φが0であった場合は動き情報にせん断成分が存在せず、それ以外の場合は動き情報にせん断成分が存在する。
なお、ここでは、平行移動、回転、拡大縮小及びせん断の、それぞれの変換成分の閾値が(0、0)、0、(1、1)、0である例を示したが、これに限るものではない。これらの閾値は、画像の特徴又は撮像装置の精度等を考慮した値であってもよい。また、拡大縮小をx方向とy方向に分解せず、x方向及びy方向で同一の拡大率が用いられてもよい。これにより、符号量及び処理量を削減できる。
このようにして、ステップS181において、符号化情報選択部141は、動き情報から各種変換成分を抽出する。なお、ここでは、動き情報を、アフィン行列を用いて示す場合の説明をおこなったが、利用できる動き情報はこの限りではない。以降、各種変換成分は、回転角が回転成分、拡大率が拡大縮小成分、せん断角がせん断成分、平行移動ベクトルが平行移動を表現しているものとする。
続いて、符号化情報選択部141は、平行移動を使用するか否かを決定する選択処理を行う。まず、符号化情報選択部141は、ステップS181で、動きベクトルなどで示される平行移動成分が、動き成分から抽出されたかを判定する(S182)。
動き成分に平行移動成分が存在する場合(S182でYes)、符号化情報選択部141は、平行移動を選択する(S183)。一方、動き成分に平行移動成分が存在しない場合(S182でNo)、符号化情報選択部141は、平行移動を選択しない(S184)。
次に、符号化情報選択部141は、回転を使用するか否かを決定する。符号化情報選択部141は、ステップS181で、回転角θなどで示される回転成分が、動き成分から抽出されたかを判定する(S185)。
動き成分に回転成分が存在する場合(S185でYes)、符号化情報選択部141は、回転を選択する(S186)。動き成分に回転成分が存在しない場合(S185でNo)、符号化情報選択部141は、回転を選択しない(S187)。
次に、符号化情報選択部141は、拡大縮小を使用するか否かを決定する。符号化情報選択部141は、ステップS181で、拡大率kなどで示される拡大縮小成分が、動き成分から抽出されたかを判定する(S188)。動き成分に拡大縮小成分が存在する場合(S188でYes)、符号化情報選択部141は、拡大縮小を選択する(S189)。動き成分に拡大縮小成分が存在しない場合(S188でNo)、符号化情報選択部141は、拡大縮小を選択しない(S190)。
最後に、符号化情報選択部141は、せん断を使用するか否かを決定する。符号化情報選択部141は、ステップS181で、せん断角φなどで示されるせん断成分が、動き成分から抽出されたかを判定する(S191)。
動き成分にせん断成分が存在する場合(S191でYes)、符号化情報選択部141は、せん断を選択する(S192)。動き成分にせん断成分が存在しない場合(S191でNo)、符号化情報選択部141は、せん断を選択しない(S193)。以上の一連の処理によって、ステップS162の処理が終わる。
次に、図7に示すステップS163に関して図9を用いて説明を行う。図9は、本実施の形態に係るブロックサイズを利用した変換成分の選択(ステップS163)のフローチャートである。
まず、符号化情報選択部141は、予測ブロックのブロックサイズを取得する(S201)。
最初に、符号化情報選択部141は、平行移動を使用するか否かを決定する。符号化情報選択部141は、ステップS201で取得されたブロックサイズが4×4ブロック以下かを判定する(S202)。
ブロックサイズが4×4ブロックより大きい場合(S202でNo)、符号化情報選択部141は、平行移動を選択する(S203)。一方、ブロックサイズが4×4ブロック以下である場合(S202でYes)、符号化情報選択部141は、平行移動を選択しない(S204)。
続いて、符号化情報選択部141は、回転を使用するか否かを決定する。符号化情報選択部141は、ステップS201で取得されたブロックサイズが8×8ブロック以下かを判定する(S205)。
ブロックサイズが8×8ブロックより大きい場合(S205でNo)、符号化情報選択部141は、回転を選択する(S206)。一方、ブロックサイズが8×8ブロック以下である場合(S205でYes)、符号化情報選択部141は、回転を選択しない(S207)。
次に、符号化情報選択部141は、拡大縮小を使用するか否かを決定する。符号化情報選択部141は、ステップS201で取得されたブロックサイズが16×16ブロック以下かを判定する(S208)。ブロックサイズが16×16ブロックより大きい場合(S208でNo)、符号化情報選択部141は、拡大縮小を選択する(S209)。一方、ブロックサイズが16×16ブロック以下である場合(S208でYes)、符号化情報選択部141は、拡大縮小を選択しない(S210)。
最後に、符号化情報選択部141は、せん断を使用するか否かを決定する。符号化情報選択部141は、ステップS201で取得されたブロックサイズが32×32ブロック以下かを判定する(S211)。
ブロックサイズが32×32ブロックより大きい場合(S211でNo)、符号化情報選択部141は、せん断を選択する(S212)。一方、ブロックサイズが32×32ブロック以下である場合(S211でYes)、符号化情報選択部141は、せん断を選択しない(S213)。以上、一連の処理を経て、ステップS163の処理が終了する。
ここで、ステップS202、S205、S208及びS211において、ブロックサイズの閾値の一例としてそれぞれ4×4、8×8、16×16及び32×32を用いる場合を説明したが、ブロックサイズの閾値は、この限りではなく、任意のサイズでよい。また、符号化情報選択部141は、画像の特性に合わせて閾値を切り替えてもよい。これにより、符号化効率を向上できる。
また、ここでは、ステップS162とステップS163とをこの順に逐次に行う例を説明したが、順序は逆であってもよいし、これらの処理の一部又は全てが同時に行われてもよい。また、ステップS162及びステップS163の一方のみが行われてもよい。
ステップS162とステップS163との両方が行われる場合、例えば、符号化情報選択部141は、変換成分が存在し、かつ、ブロックサイズが閾値より大きい場合に、当該変換を選択し、それ以外の場合には、当該変換を選択しない。言い換えると、符号化情報選択部141は、ステップS162及びステップS163の両方において、選択すると判定された変換を選択し、ステップS162及びステップS163の少なくとも一方において選択しないと判定された変換を選択しない。
また、符号化情報選択部141は、ステップS163におけるサイズの比較を先に行って、選択すると決定した変換に対してのみ、変換成分の有無(S162)を判定してもよい。または、符号化情報選択部141は、ステップS162における変換成分の有無の判定を先に行って、変換成分が存在する変換に対してのみ、ブロックサイズの比較(S163)を行ってもよい。
さらに、図8に示すステップS182〜S193の順序は任意でよく、一部又は全てが並列に行われてもよい。同様に、図9に示すS202〜S213の順序は任意でよく、一部又は全てが並列に行われてもよい。
ただし、発明者らが検証したところ、せん断成分はその他の変換成分と比較し、有効な画像が少ないため、予測精度の向上に寄与しにくかった。そのため、せん断成分の優先度を、その他の変換成分と比べて低く設定してもよい。例えば、判定処理の順番を他の成分の判定処理より後にする、又は、ブロックサイズの閾値を、他の成分の閾値より大きくすることにより、優先度を低くすることができる。
図5に示すステップS141に続くステップS142では、動き推定部142は、ステップS141で選択された変換成分に関して動き推定を行う。例えば、動き推定部142は、平行移動の大きさ、及び拡大率等である複数の変換成分の各々を一定値ずつ変化させながら、残差信号(差分ブロック)を算出する。そして、動き推定部142は、得られた複数の残差信号のうち最も小さい残差信号に対応する変換成分の組み合わせを動き情報151に決定する。
次に、ステップS143では、動き補償部143は、ステップS142で得られた動き情報151を用いて、復号画像131から予測画像(予測ブロック132)を生成する。
最後のステップS144に関しては、図10〜図14を用いて詳細を述べる。
図10は、本実施の形態に係る差分動き情報算出処理(S144)のフローチャートである。
まず、動き情報計算部144は、符号化対象であるカレントブロックに空間的または時間的に隣接する1以上の符号化済ブロックで用いられている動き情報から予測動き情報を導出する(S221)。なお、予測動き情報は、動き情報と同様に、平行移動成分、回転成分、拡大縮小成分及びせん断成分を含む。なお、以下では予測動き情報に含まれる各種変換成分を、予測変換成分とも呼ぶ。また、予測動き情報に含まれる平行移動成分、回転成分、拡大縮小成分及びせん断成分を、予測平行移動成分、予測回転成分、予測拡大縮小成分及び予測せん断成分とも呼ぶ。
例えば、動き情報計算部144は、予測変換成分の種別ごとに、複数の符号化済みブロックの複数の動き情報に含まれる当該種別の複数の変換成分を取得し、取得された複数の変換成分から当該種別の予測変換成分を導出する。例えば、動き情報計算部144は、同じ参照ピクチャを参照する複数の符号化済みブロックそれぞれの変換成分の平均値を予測変換成分として導出する。なお、予測変換成分の導出方法として、その他、HEVC等で用いられるような全ての算出方法を適用できる。
最初に、動き情報計算部144は、平行移動成分の差分動き情報である差分平行移動成分を算出する(S222)。
図11は、この差分平行移動成分の算出処理(S222)のフローチャートである。
まず、動き情報計算部144は、ステップS142で推定された動き情報151に平行移動成分が存在するかを判定する(S241)。例えば、動き情報計算部144は、平行移動成分に含まれるx方向及びy方向の成分が共にゼロである場合に、平行移動成分が存在しないと判定し、x方向及びy方向の成分の少なくとも一方がゼロでない場合に、平行移動成分が存在すると判定する。なお、動き情報計算部144は、平行移動成分の大きさがある所定値より小さい場合に、平行移動成分が存在しないと判定してもよい。また、動き情報計算部144は、画像の特徴に応じて、その所定値を切り替えてもよい。また、動き情報計算部144は、画像の特徴が所定の条件を満たす場合に、常に平行移動成分が存在する(又は常に平行移動成分が存在しない)と判定してもよい。
また、動き情報計算部144は、図8のステップS184又は図9のステップS204において、平行移動を選択しないと判定されている場合に、平行移動成分が存在しないと判定してもよい。
動き情報151に平行移動成分が存在しない場合(S241でNo)、動き情報計算部144は、“平行移動が存在する”ことを示す平行移動フラグをOFFに設定し、当該平行移動フラグを、符号化される動き情報133に付与する(S242)。
動き情報151に平行移動成分が存在する場合(S241でYes)、動き情報計算部144は、平行移動フラグをONに設定し、当該平行移動フラグを動き情報133に付与する(S243)。
次に、動き情報計算部144は、ステップS221で導出された予測動き情報に平行移動成分が存在するかを判定する(S244)。予測動き情報に平行移動成分が存在しない場合(S244でNo)、動き情報計算部144は、予測平行移動成分を0に設定する(S245)。
一方、予測動き情報に平行移動成分が存在する場合(S244でYes)、動き情報計算部144は、予測動き情報の平行移動成分を予測平行移動成分として設定する(S246)。
次に、動き情報計算部144は、ステップS245又はS246で得られた予測平行移動成分を、ステップS142で得られた動き情報151の平行移動成分から減算することで差分平行移動成分を算出し、算出された差分平行移動成分を動き情報133に追加する(S247)。
続いて、動き情報計算部144は、回転成分の差分動き情報である差分平行移動成分を算出する(S223)。
図12は、この差分回転成分の算出処理(S223)のフローチャートである。
まず、動き情報計算部144は、ステップS142で推定された動き情報151に回転成分が存在するかを判定する(S261)。例えば、動き情報計算部144は、平行移動の判定(S241)と同様に、回転成分がゼロであるかを判定してもよいし、回転角の大きさとある所定値とを比較してもよい。また、動き情報計算部144は、画像の特徴に応じて所定値を切り替えてもよい。例えば、動き情報計算部144は、回転が予測精度の向上に寄与しそうな特徴を有する画像であれば、常に回転成分が存在すると判定し、そうではない場合には常に回転成分が存在しないと判定してもよい。常に存在すると判定された場合には、例えば、回転中心からの角度の時間変換に基づいて予め回転角θが定められており、動き情報計算部144は、常にその値を使用してもよい。
また、動き情報計算部144は、図8のステップS187又は図9のステップS207において、回転を選択しないと判定されている場合に、回転成分が存在しないと判定してもよい。
動き情報151に回転成分が存在しない場合(S261でNo)、動き情報計算部144は、“回転が存在する”ことを示す回転フラグをOFFに設定し、当該回転フラグを、符号化される動き情報133に付与する(S262)。
動き情報151に回転成分が存在する場合(S261でYes)、動き情報計算部144は、回転フラグをONに設定し、当該回転フラグを動き情報133に付与する(S263)。
次に、動き情報計算部144は、ステップS221で取得された予測動き情報に回転成分が存在するかを判定する(S264)。
予測動き情報に回転成分が存在しない場合(S264でNo)、動き情報計算部144は、予測回転成分を0に設定する(S265)。予測動き情報に回転成分が存在する場合(S264でYes)、動き情報計算部144は、予測動き情報の回転成分を予測回転成分として設定する(S266)。
動き情報計算部144は、ステップS265又はS266で得られた予測回転成分を、ステップS142で得られた動き情報の回転成分から減算することで差分回転成分を算出し、算出された差分回転成分を動き情報133に追加する(S267)。
次に、動き情報計算部144は、拡大縮小成分の差分動き情報である差分拡大縮小成分を算出する(S224)。
図13は、この差分拡大縮小成分の算出処理(S224)のフローチャートである。
まず、動き情報計算部144は、ステップS142で推定された動き情報151に拡大縮小成分が存在するかを判定する(S281)。例えば、動き情報計算部144は、ステップS241又はS261と同様に、拡大縮小成分がゼロ(値が1)であるかを判定してもよいし、拡大縮小成分の大きさとある所定値とを比較してもよい。また、動き情報計算部144は、画像の特徴に応じて所定値を切り替えてもよい。例えば、動き情報計算部144は、ズームイン、又はズームアウトを行った際の映像などの場合に、その画角の時間変化に基づいて所定値を設定してもよい。
また、動き情報計算部144は、拡大縮小成分が予測精度に大きく寄与しそうな特徴を有する画像であれば、常に拡大縮小成分が存在すると判定し、そうではない場合には常に拡大縮小成分が存在しないと判定してもよい。例えば、動き情報計算部144は、入力画像121が、ズームイン、又はズームアウトを行った際の映像などである場合に、常に拡大縮小成分が存在すると判定してもよい。常に存在すると判定する場合には、例えば、画角の時間変化に基づいて予め拡大縮小成分の値が定められており、動き情報計算部144は、常にその値を使用してもよい。
また、動き情報計算部144は、図8のステップS190又は図9のステップS210において、拡大縮小を選択しないと判定されている場合に、拡大縮小成分が存在しないと判定してもよい。
動き情報151に拡大縮小成分が存在しない場合(S281でNo)、動き情報計算部144は、“拡大縮小が存在する”ことを示す拡大縮小フラグをOFFに設定し、当該拡大縮小フラグを、符号化される動き情報133に付与する(S282)。
動き情報151に拡大縮小成分が存在する場合(S281でYes)、動き情報計算部144は、拡大縮小フラグをONに設定し、当該拡大縮小フラグを動き情報133に付与する(S283)。
次に、動き情報計算部144は、ステップS221で取得された予測動き情報に拡大縮小成分が存在するかを判定する(S284)。
予測動き情報に拡大縮小成分が存在しない場合(S284でNo)、動き情報計算部144は、予測拡大縮小成分を1に設定する(S285)。予測動き情報に拡大縮小成分が存在する場合(S284でYes)、動き情報計算部144は、予測動き情報の拡大縮小成分を予測拡大縮小成分として設定する(S286)。
動き情報計算部144は、ステップS284又はS285で得られた予測拡大縮小成分を、ステップS142で得られた動き情報の拡大縮小成分から減算することで差分拡大縮小成分を算出し、算出された差分拡大縮小成分を動き情報133に追加する(S287)。
最後に、動き情報計算部144は、せん断成分の差分動き情報である差分せん断成分を算出する(S225)。
図14は、この差分せん断成分の算出処理(S225)のフローチャートである。
まず、動き情報計算部144は、ステップS142で推定された動き情報151にせん断成分が存在するかを判定する(S301)。例えば、動き情報計算部144は、ステップS241、S261、又はS281と同様に、せん断成分がゼロであるかを判定してもよいし、せん断成分の大きさとある所定値とを比較してもよい。また、動き情報計算部144は、画像の特徴に応じて所定値を切り替えてもよい。また、動き情報計算部144は、画像の特徴が所定の条件を満たす場合に、常にせん断成分が存在する(又は常にせん断成分が存在しない)と判定してもよい。
また、動き情報計算部144は、図8のステップS193又は図9のステップS213において、せん断を選択しないと判定されている場合に、せん断成分が存在しないと判定してもよい。
動き情報151にせん断成分が存在しない場合(S301でNo)、動き情報計算部144は、 “せん断が存在する”ことを示すせん断フラグをOFFに設定し、当該せん断フラグを、符号化される動き情報133に付与する(S302)。
動き情報151にせん断成分が存在する場合(S301でYes)、動き情報計算部144は、せん断フラグをオンに設定し、当該せん断フラグを動き情報133に付与する(S303)。
次に、動き情報計算部144は、ステップS221で取得された予測動き情報にせん断成分が存在するかを判定する(S304)。
予測動き情報にせん断成分が存在しない場合(S304でNo)、動き情報計算部144は、予測せん断成分を0に設定する(S305)。予測動き情報にせん断成分が存在する場合(S304でYes)、動き情報計算部144は、予測動き情報のせん断成分を予測せん断成分として設定する(S306)。
動き情報計算部144は、ステップS305又はS306で得られた予測せん断成分を、ステップS142で得られた動き情報のせん断成分から減算することで差分せん断成分を算出し、算出された差分せん断成分を動き情報133に追加する(S307)。
以上の処理を経て、ステップS144の処理が終了する。
なお、ステップS222〜S225の処理順は、この順に限らず任意の順序でよい。また、これらの処理の一部又は全てが並列に行われてもよい。また先に述べたとおり、カレントブロックのサイズ等により、符号化に用いることが可能な変換成分が制限される場合には、動き情報計算部144は、許容された変換成分についての処理のみを行ってもよい。
図15及び図16は、符号化される動き情報133の一例を示す図である。図15に示すように、動き情報133は、平行移動フラグ161と、回転フラグ162と、拡大縮小フラグ163と、せん断フラグ164と、差分平行移動成分171と、差分回転成分172と、差分拡大縮小成分173と、差分せん断成分174とを含む。なお、各情報の意味は上述した通りである。
また、各フラグがオンの場合にのみ、動き情報133に、当該フラグに対応する差分動き成分が含まれる。例えば、図16に示すように、平行移動フラグ161及び回転フラグ162がONであり、拡大縮小フラグ163及びせん断フラグ164がOFFの場合には、動き情報133に、差分平行移動成分171及び差分回転成分172が含まれ、差分拡大縮小成分173及び差分せん断成分174は含まれない。
(効果)
以上より、本実施の形態に係る画像符号化装置100は、画像の特徴などを利用して必要な変換成分のみを選択し、選択された変換成分を示す情報(平行移動フラグ、回転フラグ、拡大縮小フラグ及びせん断フラグ)と、選択された変換成分とを符号化する。これにより、画像符号化装置100は、有効な変換成分のみを選択的に用いることができるので、符号化効率を向上させることが可能である。このように、画像符号化装置100は、各種変換を柔軟に選択できるとともに、予測画像を生成するために必要な動き情報を削減できるので、符号化効率を向上できる。
また、画像符号化装置100は、符号化中の画像に存在する変換の種類の推定結果、又は予測ブロックのサイズなどを用いて変換成分を選択する。これにより、画像符号化装置100は、予測処理の際に探索する動き情報の種類を制限できるので、処理の高速化を図ることができる。
なお、本実施の形態では、動き情報としてアフィン変換を利用し、変換の種類として平行移動、回転、拡大縮小及びせん断を利用しているが、使用する変換の種類はこの限りではない。
例えば、アフィン行列の代わりに、射影変換を表現可能な射影変換行列が用いられてもよい。この場合、動き情報として台形変換を利用できる。これにより、さらに予測ブロックの品質を向上できるとともに、符号化効率の向上が期待できる。
つまり、本実施の形態に係る画像符号化装置100は、動き成分を複数の変換成分に分割し、変換成分毎に使用の有無を判定できればよい。つまり、画像符号化装置100は、上記以外の行列又は変換を用いてもよいし、動き情報を上記とは異なる変換成分に分割してもよい。
また、上記説明では、各変換成分について、ステップS242、S243、S261、S263、S282、S283、S302及びS303において、インター予測の際にブロック単位でフラグを付与する例を示したが、これらのフラグを画像単位、シーケンス単位、または画像が分割された領域単位で指定してもよい。例えば、この領域とは、画像が4分割された領域である。これにより、インター予測を行う前に予め指定された画像又はシーケンスに含まれるブロックは全て同じ種別の変換成分を用いて符号化される。よって、ブロック単位での判定処理を省略できるため、より符号化効率を向上させることができる。また、ビットストリーム中のフラグの数を減らすことができるので、より符号化効率を向上させることができる。
また、予測動き情報に各種変換成分が存在しなかった場合に、ステップS245、S265、S285及びS305において、予測変換成分として、それぞれ0、0、1、0を代入しているが、代入する値はこの限りではない。例えば、画面全体が回転している場合には、画像の特徴に応じて決定される角度が、予測回転成分として代入されてもよい。さらに、0のような所定角度を予測変換成分に代入する処理と、画像の特徴に応じて決定される角度等を予測変換成分に代入する処理とが、所定の条件に応じて切り替えられてもよい。このように動き情報には変換成分が存在するが、予測動き情報にはその変換成分が存在しない場合に、代入値を切り替えながら予測を行うことで、差分動き情報の値を小さくすることが可能である。これにより、さらに符号化効率を向上ができる。
(実施の形態2)
上記実施の形態1では、各種変換の各々が用いられているかを示す情報として、複数の変換の各々に対応するフラグを用いる例を述べた。本実施の形態では、各種変換成分の組み合わせに対して順位(符号化レベル)を対応付ける。そして、上記情報として、この符号化レベルを指定する情報が用いられる。
本実施の形態では、上述したステップS162及びS163の処理に変えて、例えば、下記のような処理が行われる。
図17は、符号レベルと変換成分との関係の一例を示す図である。図17に示すように、例えば、符号化レベル1は平行移動を含み、符号化レベル2は回転及び拡大縮小を含み、符号化レベル3はせん断を含む。
符号化情報選択部141は、画像の特徴又は許容される帯域幅などの条件に応じて、符号化レベルを選択する。
次に、符号化情報選択部141は、選択された符号化レベル以下の符号化レベルに含まれる変換成分を選択する。例えば、符号化レベル2の場合、符号化レベル2及び符号化レベル1に含まれる平行移動、回転、及び拡大縮小の3種の変換成分が選択される。
また、選択された符号化レベルを示す符号化レベル情報181が、符号化される動き情報133に付加される。
図18及び図19は、符号化される動き情報133の一例を示す図である。図18に示すように、動き情報133は、符号化レベル情報181と、差分平行移動成分171と、差分回転成分172と、差分拡大縮小成分173と、差分せん断成分174とを含む。
また、符号化レベル情報181で示される符号化レベル以下の符号化レベルに含まれる変換成分に対応する差分動き成分が動き情報133に含まれる。例えば、図19に示すように、符号化レベル情報181が符号化レベル2を示す場合、動き情報133は、符号化レベル1及び2の差分平行移動成分171、差分回転成分172及び差分拡大縮小成分173を含み、符号化レベル3の差分せん断成分174を含まない。
以上より、本実施の形態では、符号化に必要な情報量をさらに減らすことができるので、符号化効率を向上できる。なお、ここでは、各種変換のレベルを用いる例を述べたが、これに限定されず、変換成分の組み合わせを示す情報が用いられればよい。例えば、上記では、選択されたレベル以下に含まれる変換成分の全てが指定される例を説明したが、以下のような情報を用いてもよい。例えば、レベル0なら全ての変換成分が用いられず、レベル1なら平行移動のみが用いられ、レベル2なら平行移動と回転とが用いられ、レベル3なら平行移動及び拡大縮小が用いられ、レベル4なら回転及び拡大縮小が用いられ、レベル5なら平行移動、回転及び拡大縮小が用いられ、レベル6なら平行移動及びせん断が用いられ、レベル7なら平行移動、回転、拡大縮小及びせん断が用いられてもよい。このように、レベル毎に変換成分の組み合わせを指定し、各レベルに対応づけられた変換成分が選択されてもよい。
(実施の形態3)
発明者らが検証したところ、平行移動、回転、拡大縮小、及びせん断のうち、せん断は、その他の変換に比べて、予測精度の向上に寄与しにくいことが分かった。そこで、本実施の形態では、複数の変換成分に優先度をつける例を説明する。
複数の変換成分に優先度をつける第1の方法として、上述した図9に示すステップS163の処理のように、ブロックサイズの閾値を変更する。具体的には、せん断の閾値を、回転などの予測精度を大きく向上しうる他の変換に比べて、大きく設定する。これにより、ブロックサイズが小さい場合には、予測精度を向上させにくい変換成分の利用を制限できるので、符号化効率が低下することを抑制できる。同様に、拡大縮小も、小さいブロックサイズではあまり予測精度の向上に寄与しないので、平行移動及び回転に比べて大きい閾値を設定する。
発明者らが一般的な動画像で検証したところ、画像の特徴により、順位は異なるが、平行移動、回転、拡大縮小、せん断の順で予測精度を向上させやすいことが分かった。よって、この順で優先度を設定する。これにより、画像の特徴やサイズ又は帯域などの状態に応じて、優先度の低い変換成分が選択されることを制限できる。
以下、複数の変換成分に優先度をつける第2の方法を説明する。ここでは、せん断を制限する方法の一例について説明する。
まず、アフィン変換の係数の設定の仕方について簡単に説明する。非特許文献2に記載されているように、下記(式3)に示す、アフィン行列aを変数とする評価関数E(a)を設定し、最小化問題を解くことで、アフィン行列の係数を設定する。つまり、評価関数E(a)が最も小さくなる係数(動き情報)が導出される。
せん断が制限される場合には、アフィン変換前後でx方向とy方向の軸の直交性が保たれる。つまり上記(式2)に示したアフィン変換の係数が、下記(式4)の制約条件を満たす必要がある。
そこで、下記(式5)のように上記(式3)の評価関数に制約条件を追加する。この制約条件により、せん断成分が大きいほど評価関数E(a)の値は大きくなるので、せん断成分が含まれる係数は選択され難くなる。この方法は、ペナルティ法と呼ばれる。また、正の定数μを大きくすることで制約条件の影響が大きくなる。このように下記(式5)の評価関数E(a)が最も小さくなるアフィン行列の係数を求めることで、せん断成分を制限した係数を算出することが可能になる。
発明者らは、小さいμを設定し最小化問題を解き、一定回数探索を繰り返した結果における、その時点での最適解を新しい初期値とし、μの値を大きくした状態で再度最小化問題を解くという処理を予め定められた大きさにμが達するまで繰り返すことにより、係数を算出した。なお、係数を求める方法は、この方法に限るものではない。
また、ここでは、せん断を制限する(優先度を下げる)方法を説明したが、他の変換に対しても同様の手法を適用できる。
(その他変形例)
上記実施の形態1〜3では、動き情報と予測動き情報の差分である差分動き情報を符号化する方法を説明したが、これに限らない。
例えば、HEVCではマージモードと呼ばれる動き予測方法がある。このマージモードでは、差分情報は符号化されず、複数の予測動きベクトル候補から選択された予測動きベクトルがカレントブロックの動きベクトルとして用いられる。そして、選択された予測動きベクトル候補を示す選択情報が符号化される。このような場合にも、上記実施の形態1〜3と同様に、画像符号化装置は、複数の変換成分から1以上の変換成分を選択し、選択した変換成分を用いて予測画像を生成してもよい。また、画像符号化装置は、選択された(使用される)変換成分を示す情報(上記フラグ又は符号化レベル情報)を符号化してもよい。
例えば、画像符号化装置は、選択された変換成分を、カレントブロックに空間的または時間的に隣接するブロックの動き情報から予測された予測情報に各種変換成分があるか否かに基づいて、符号化する。この場合、画像符号化装置は、複数の隣接ブロックの動き情報の全てに回転成分が含まれる場合は、その回転成分の平均値を当該カレントブロックの回転成分として用いてもよい。また、画像符号化装置は、複数の隣接ブロックの動き情報の1つだけに回転成分が含まれ、かつ、その回転成分が所定値未満の場合、カレントブロックに回転成分を用いないと決定してもよい。または、画像符号化装置は、その他の隣接する複数のブロックの回転成分をゼロとして、複数の回転成分の平均値を算出し、算出した平均値を回転成分として用いてもよい。
このような平均値を用いる方法、及び、時間的なスケーリング処理を用いる方法などが知られており、本実施の形態にこれらの変形を適用してもよい。
(実施の形態4)
本実施の形態では、上記実施の形態1に係る画像符号化装置により生成されたビットストリームを復号する画像復号装置の実施の形態の一つに関して説明する。
図20は、本実施の形態に係る画像復号装置200のブロック図である。画像復号装置200は、エントロピー復号部201、逆量子化部202、逆周波数変換部203、加算部204、イントラ予測部205、ループフィルタ206、フレームメモリ207、インター予測部208、及び切替部209を含む。
画像復号装置200は、ビットストリーム221を復号することで復号画像227を生成する。例えば、ビットストリーム221は、上記画像符号化装置100により生成される。
図21は、本実施の形態に係る画像復号処理のフローチャートである。
まず、エントロピー復号部201は、1以上のピクチャを含む静止画又は動画が符号化されることで得られたビットストリーム221から動き情報228を復号する(S401)。また、エントロピー復号部201は、ビットストリーム221から係数ブロック222を復号する(S402)。
逆量子化部202は、係数ブロック222を逆量子化することで係数ブロック223を生成する。逆周波数変換部203は、係数ブロック223を逆周波数変換することで差分ブロック224を復元する(S403)。
次に、イントラ予測部205又はインター予測部208は、ステップS401で復号された動き情報228と復号済の復号ブロックとを利用して、予測ブロック230を生成する(S404)。具体的には、イントラ予測部205は、イントラ予測処理により予測ブロック226を生成する。インター予測部208はインター予測処理により予測ブロック229を生成する。切替部209は、予測ブロック226及び229の一方を予測ブロック230として出力する。
次に、加算部204は、差分ブロック224と予測ブロック230とを加算することで復号ブロック225を生成する(S405)。この復号ブロック225は、イントラ予測部205によるイントラ予測処理に利用される。
次に、画像復号装置200は、ビットストリーム221に含まれる全ブロックが復号されたかを判定する(S406)。例えば、画像復号装置200は、入力されるビットストリーム221が終了したかに応じて、この判定を行う。全ブロックの復号が完了していない場合(S406でNo)、次のブロックに対してステップS401以降の処理が行われる。ビットストリーム221に含まれる全ブロックの復号が終了した場合(S406でYes)、ループフィルタ206は、全復号ブロックを結合するとともにループフィルタ処理を行うことで復号画像227(再構築画像)を生成する(S407)。フレームメモリ207は、復号画像227を格納する。この復号画像227は、インター予測部208によるインター予測処理に用いられる。
なお、ステップS403の逆量子化及び逆周波数変換は、それぞれが別処理として逐次行われても良いし、一括して行われてもよい。なお、HEVCなどの現在主流のコーディング規格では、逆量子化及び逆周波数変換は、一括して行われる。また、復号側においても、符号化側(実施の形態1)と同様に、スケーリング等の表現が用いられる場合がある。
次に、動き情報復号処理(S401)に関して、図22を用いて説明を行う。図22は、本実施の形態に係る動き情報復号処理(S401)のフローチャートである。
まず、エントロピー復号部201は、ビットストリーム221から差分動き情報を復号する(S421)。また、エントロピー復号部201は、予測動き情報を導出するための情報を復号する(S422)。なお、予測動き情報を導出するための情報、及び差分動き情報は、動き情報228に含まれる。次に、インター予測部208は、ステップS422で取得された情報から予測動き情報を導出し、導出された予測動き情報と、ステップS421で取得された差分動き情報とから動き情報を生成する(S423)。
以下、差分動き情報復号(S421)と動き情報生成(S423)に関して詳細を述べる。
差分動き情報の復号処理(S421)に関して、図23を用いて説明を行う。図23は、本実施の形態に係る差分動き情報の復号処理(S421)のフローチャートである。
最初に、エントロピー復号部201は、差分平行移動成分の復号処理を行う(S441〜S443)。まず、エントロピー復号部201は、ビットストリーム221から、平行移動が存在するかを示す(動き情報228に差分平行移動成分が含まれているかを示す)平行移動フラグを復号する(S441)。なお、動き情報228の構成及び動き情報228に含まれる各種情報の意味は、実施の形態1の動き情報133の構成及び動き情報133に含まれる各種情報の意味と同様である。次に、エントロピー復号部201は、平行移動フラグを用いて、平行移動が存在するかを判定する(S442)。
平行移動フラグにより平行移動が存在することが示される場合(S442でYes)、エントロピー復号部201は、ビットストリーム221から差分平行移動成分を復号する(S443)。平行移動フラグにより平行移動が存在しないことが示される場合(S442でNo)、エントロピー復号部201は、差分平行移動成分を復号せず、次の処理ステップ(S444)を行う。
続いて、エントロピー復号部201は、差分回転成分の復号処理を行う(S444〜S446)。エントロピー復号部201は、ビットストリーム221から、回転が存在するかを示す(動き情報228に差分回転成分が含まれているかを示す)回転フラグを復号する(S444)。エントロピー復号部201は、回転フラグを用いて、回転が存在するかを判定する(S445)。
回転フラグにより回転が存在することが示される場合(S445でYes)、エントロピー復号部201は、ビットストリーム221から差分回転成分を復号する(S446)。回転フラグにより回転が存在しないことが示される場合(S445でNo)、エントロピー復号部201は、次の処理ステップ(S447)を行う。
次に、エントロピー復号部201は、差分拡大縮小成分の復号処理を行う(S447〜S449)。エントロピー復号部201は、ビットストリーム221から、拡大縮小が存在するかを示す(動き情報228に差分拡大縮小成分が含まれているかを示す)拡大縮小フラグを復号する(S447)。エントロピー復号部201は、拡大縮小フラグを用いて、拡大縮小が存在するかを判定する(S448)。
拡大縮小フラグにより拡大縮小が存在することが示される場合(S448でYes)、エントロピー復号部201は、ビットストリーム221から差分拡大縮小成分を復号する(S449)。拡大縮小フラグにより拡大縮小が存在しないことが示される場合(S448でNo)、エントロピー復号部201は、次の処理ステップ(S450)を行う。
最後に、エントロピー復号部201は、差分せん断成分の復号処理を行う(S450〜S452)。エントロピー復号部201は、ビットストリーム221から、せん断成分が存在するかを示す(動き情報228に差分せん断成分が含まれているかを示す)せん断フラグを復号する(S450)。エントロピー復号部201は、せん断フラグを用いて、せん断成分が存在するかを判定する(S451)。
せん断フラグによりせん断が存在することが示される場合(S451でYes)、エントロピー復号部201は、ビットストリーム221から差分せん断成分を復号する(S452)。その後、エントロピー復号部201は、差分動き情報復号処理(S421)を終了する。せん断フラグにより回転が存在しないことが示される場合(S451でNo)、エントロピー復号部201は、差分動き情報復号処理(S421)を終了する。
続いて、動き情報生成処理(S423)に関して図24〜図28を用いて説明する。
図24は、本実施の形態に係る動き情報生成処理(S423)のフローチャートである。
まず、インター予測部208は、ステップS422で取得した情報を用いて予測動き情報を導出する。具体的には、インター予測部208は、復号対象であるカレントブロックに空間的又は時間的に隣接する復号済ブロックの動き情報を取得し、取得した動き情報を用いて予測動き情報を導出する(S461)。
最初に、インター予測部208は、差分動き情報及び予測動き情報から平行移動成分を生成する(S462)。図25は、この平行移動成分の生成処理(S462)のフローチャートである。
まず、インター予測部208は、ステップS421で差分平行移動成分が取得されたかを判定する(S481)。
差分平行移動成分が取得されている場合(S481でYes)、インター予測部208は、ステップS461で取得された予測動き情報に、平行移動成分が存在するかを判定する(S482)。
予測動き情報に平行移動が存在しない場合(S482でNo)、インター予測部208は、予測平行移動成分を0に設定する(S483)。予測動き情報に平行移動成分が存在する場合(S482でYes)、インター予測部208は、予測動き情報の平行移動成分を予測平行移動成分として設定する(S484)。
インター予測部208は、ステップS483又はS484で取得された予測平行移動成分を、差分平行移動成分に加算することで平行移動成分を生成する(S485)。
差分平行移動成分が存在しない場合(S482でNo)、インター予測部208は、平行移動成分に関する処理(S462)を終了する。
次に、インター予測部208は、差分動き情報及び予測動き情報から回転成分を生成する(S463)。図26は、この回転成分の生成処理(S463)のフローチャートである。
まず、インター予測部208は、ステップS421で差分回転成分が取得されたかを判定する(S501)。
差分回転成分が取得されている場合(S501でYes)、インター予測部208は、ステップS461で取得された予測動き情報に、回転成分が存在するかを判定する(S502)。
予測動き情報に回転が存在しない場合(S502でNo)、インター予測部208は、予測回転成分を0に設定する(S503)。予測動き情報に回転成分が存在する場合(S502でYes)、インター予測部208は、予測動き情報の回転成分を予測回転成分として設定する(S504)。
インター予測部208は、ステップS503又はS504で取得された予測回転成分を、差分回転成分に加算することで回転成分を生成する(S505)。
差分回転成分が存在しない場合(S501でNo)、インター予測部208は、回転成分に関する処理(S463)を終了する。
続いて、インター予測部208は、差分動き情報及び予測動き情報から拡大縮小成分を生成する(S464)。図27は、この拡大縮小成分の生成処理(S464)のフローチャートである。
まず、インター予測部208は、ステップS421で差分拡大縮小成分が取得されたかを判定する(S521)。
差分拡大縮小成分が取得されている場合(S521でYes)、インター予測部208は、ステップS461で取得された予測動き情報に、拡大縮小成分が存在するかを判定する(S522)。
予測動き情報に拡大縮小が存在しない場合(S522でNo)、インター予測部208は、予測拡大縮小成分を1に設定する(S523)。予測動き情報に拡大縮小成分が存在する場合(S523でYes)、インター予測部208は、予測動き情報の拡大縮小成分を予測拡大縮小成分として設定する(S524)。
インター予測部208は、ステップS523及びS524で取得された予測拡大縮小成分を、差分拡大縮小成分に加算することで拡大縮小成分を生成する(S525)。
差分拡大縮小成分が存在しない場合(S521でNo)、インター予測部208は、拡大縮小成分に関する処理(S464)を終了する。
最後に、インター予測部208は、差分動き情報及び予測動き情報からせん断成分を生成する(S465)。図28は、このせん断成分の生成処理(S465)のフローチャートである。
まず、インター予測部208は、ステップS421で差分せん断成分が取得されたかを判定する(S541)。
差分せん断成分が取得されている場合(S541でYes)、インター予測部208は、ステップS461で取得された予測動き情報に、せん断成分が存在するかを判定する(S542)。
予測動き情報にせん断が存在しない場合(S542でNo)、インター予測部208は、予測せん断成分を0に設定する(S543)。予測動き情報にせん断成分が存在する場合(S542でYes)、インター予測部208は、予測動き情報のせん断成分を予測せん断成分として設定する(S544)。
インター予測部208は、ステップS543及びS544で取得された予測せん断成分を差分せん断成分に加算することでせん断成分を生成する(S545)。
差分せん断成分が存在しない場合(S541でNo)、インター予測部208は、せん断成分に関する処理(S465)を終了する。
インター予測部208は、ブロック毎にこれら一連の処理を行った後に、動き情報生成処理(S423)を終了する。
なお、実施の形態1で説明したとおり、各フラグは、ブロック毎に設けられていてもよいし、画像単位、シーケンス単位、又は画像が分割された領域単位で設けられていてもよい。ブロック単位以外の単位でフラグが設けられ、当該フラグにより変換成分が指定される場合には、画像復号装置は、その指定された単位に含まれる全ブロックに対して、同じ種別の変換成分を用いて復号処理を行う。これにより、画像復号装置は、判定ステップ等を省略でき、少ない情報量かつ少ない処理負荷で、予測精度の高い復号処理を実行できる。
また、実施の形態1と同様に、各種変換成分の生成処理(S462〜S465)の順序は、図24に示す順序に限らない。また、ステップS462〜S465の処理の一部又は全てが並列に行われてもよい。または、これらの処理に優劣が設定され、優先度が高い処理から順番に行われてもよい。
また、実施の形態2のように、各種フラグの代わりに符号化レベルを示す符号化レベル情報が用いられる場合には、画像復号装置200は、上述した各種フラグの代わりに符号化レベル情報をビットストリーム221から復号する。また、画像復号装置は、各種フラグの代わりに、符号化レベル情報で示される情報を用いて、変換成分の有無を判定する。
また、実施の形態1で説明したように、ブロックサイズにより、各種変換成分の有無が指定されている場合には、画像復号装置200は、ブロックサイズをビットストリーム221から復号し、当該ブロックサイズを用いて、各種変換成分の有無を判定する。
(効果)
以上より、本実施の形態に係る画像復号装置200は、予測ブロック生成するために必要な変換成分のみが符号化されたビットストリーム221を復号できる。また、画像復号装置200は、符号量が少なくなるように生成されたビットストリーム221を、高次元の動き予測を用いて復号できるので、より高画質な画像を再生できる。
なお、本実施の形態では、変換成分として、平行移動、回転、拡大縮小、及びせん断が動き情報に含まれる例を述べたが、利用できる変換はこの限りではない。例えば、台形変換が利用されてもよい。これにより、複雑な変換を表現することができるため、画像復号装置は、より高精度な予測画像を生成できる。
つまり、本実施の形態に係る画像復号装置200は、動き情報が複数の変換成分に分割し、変換成分毎に復号するかしないかを決定できればよい。つまり、画像復号装置200は、上記以外の変換成分を用いてもよい。
また、動き情報と予測動き情報との差分である差分動き情報を復号する場合に限らず、例えばマージモードなどにも本実施の形態の手法を応用できる。
(実施の形態5)
上記実施の形態1〜4では、アフィン変換をインター予測に用いる例を述べたが、本実施の形態ではアフィン変換をイントラ予測に用いる例を述べる。
本実施の形態に係る画像符号化装置(又は画像復号装置)は、図29に示すように、カレントブロックと同一ピクチャ内の既に処理済み(符号化済み又は復号済み)のブロックの画素値を、カレントブロックの画素値として用いる。つまり、処理済みのブロックの画素値がカレントブロックにコピーされる。さらに、本実施に形態では、図30に示すように、このコピーの際に、平行移動だけでなく、回転、拡大縮小及びせん断等の各種変換が用いられる。
つまり、本実施の形態では、イントラ予測部109(又は205)は、処理済みのブロックを示す参照情報を用いて予測ブロックを生成する。この参照情報は、平行移動成分、回転成分、拡大縮小成分及びせん断成分等の各種変換成分を含む。
このような場合において、上記実施の形態1〜4と同様に、各種変換成分の各々が使用されるか否かを示す情報(各種フラグ又は符号化レベル)を符号化(又は復号)することで、任意の変換成分を選択的に使用できる。
なお、イントラ予測では、回転、拡大縮小及びせん断のうち、拡大縮小、回転、せん断の順に、予測精度の向上に寄与しやすい。よって、この順に、優先度を付けることが好ましい。なお、複数の変換に優先度つける方法は、実施の形態3で説明した方法を用いることができる。
また、画像の種別等に応じて、この優先度を変更してもよい。例えば、自然画等では、上記の拡大縮小、回転、せん断の順に、優先度を付け、地図情報などのスクリーンコンテンツでは、回転、拡大縮小、せん断の順に、優先度を付けてもよい。
以上、実施の形態1〜3、5で説明したように、実施の形態に係る画像符号化装置は、画像符号化する画像符号化装置であって、図31に示す処理を行う。
まず、画像符号化装置は、符号化対象であるカレントブロックの参照先を示す参照情報として、平行移動成分と複数の非平行移動成分とを含む複数の変換成分のうち2以上の変換成分を選択する(S601)。ここで、参照情報とは、インター予測における動き情報、又は、イントラ予測における、参照先の処理済みのブロックを示す情報である。また、複数の非平行移動成分は、例えば、回転成分、拡大縮小成分及びせん断成分を含む。
次に、画像符号化装置は、参照情報を用いて予測画像を生成する(S602)。次に、画像符号化装置は、カレントブロックを、予測画像を用いて符号化する(S603)。
また、画像符号化装置は、複数の変換成分の中から、選択された2以上の変換成分を特定するための選択情報を符号化する(S604)。例えば、選択情報は、複数の変換成分のそれぞれに対応し、対応する変換成分が選択されたか否かを示すフラグ(平行移動フラグ、回転フラグ、拡大縮小フラグ及びせん断フラグ)を含む。または、選択情報は、複数の変換成分の一部又は全てを含む組であって、互いに異なる組を示す複数の符号化レベルから1つの符号化レベルを示す。この場合、ステップS601において、選択情報で示される符号化レベルで示される組に含まれる2以上の変換成分が選択される。
また、画像符号化装置は、選択情報を、ブロック毎に符号化してもよいし、ピクチャ単位で符号化してもよいし、シーケンス単位で符号化してもよいし、ピクチャが分割された領域単位で符号化してもよい。つまり、画像符号化装置は、カレントブロックを含む画像に対して共通に用いられる一つの選択情報を符号化してもよいし、カレントブロックを含むシーケンスに対して共通に用いられる一つの選択情報を符号化してもよいし、カレントブロックを含む領域に対して共通に用いられる一つの選択情報を符号化してもよい。
次に、画像符号化装置は、カレントブロックとは異なる符号化済みブロックの参照情報を用いて、カレントブロックの参照情報を符号化する(S605)。例えば、画像符号化装置は、符号化済みブロックの参照情報とカレントブロックの参照情報との差分である差分参照情報を符号化する。
なお、ステップS601において、画像符号化装置は、カレントブロックのサイズに応じて2以上の変換成分を選択してもよい。この場合、選択情報は、カレントブロックのサイズを示す。例えば、選択情報は、最大符号化単位(CU)のサイズを示す情報と、各符号化単位をさらに分割するか否かを示す情報とを含む。
また、例えば、画像符号装置は、カレントブロックのサイズが第1閾値未満である場合にはせん断成分を選択しない。
また、ステップS601において、画像符号化装置は、平行移動成分、回転成分、拡大縮小成分、せん断成分の順に優先して2以上の変換成分を選択してもよい。例えば、実施の形態3で説明した手法を用いて優先度を設定できる。
また、実施の形態4及び5で説明したように、実施の形態に係る画像復号装置は、画像が符号化されることにより得られたビットストリームを復号する画像復号装置であって、図32に示す処理を行う。
まず、画像復号装置は、平行移動成分と複数の非平行移動成分とを含む複数の変換成分の中から2以上の変換成分を特定するための選択情報を、ビットストリームから復号する(S611)。ここで、複数の非平行移動成分は、例えば、回転成分、拡大縮小成分及びせん断成分を含む。また、選択情報は、例えば、複数の変換成分のそれぞれに対応し、対応する変換成分が選択されたか否かを示すフラグ(平行移動フラグ、回転フラグ、拡大縮小フラグ及びせん断フラグ)を含む。または、選択情報は、複数の変換成分の一部又は全てを含む組であって、互いに異なる組を示す複数の符号化レベルから1つの符号化レベルを示す。
また、画像復号装置は、選択情報を、ブロック毎に復号してもよいし、ピクチャ単位で復号してもよいし、シーケンス単位で復号してもよいし、ピクチャが分割された領域単位で復号してもよい。つまり、画像復号装置は、カレントブロックを含む画像に対して共通に用いられる一つの選択情報を復号してもよいし、カレントブロックを含むシーケンスに対して共通に用いられる一つの選択情報を復号してもよいし、カレントブロックを含む領域に対して共通に用いられる一つの選択情報を復号してもよい。
また、画像復号装置は、復号対象であるカレントブロックの参照先を示す参照情報として、復号された選択情報で特定される2以上の変換成分を選択する(S612)。ここで、参照情報とは、インター予測における動き情報、又は、イントラ予測における、参照先の処理済みのブロックを示す情報である。なお、選択情報が符号化レベルを示す場合には、画像復号装置は、選択情報で示される符号化レベルで示される組に含まれる2以上の変換成分を選択する。
次に、画像復号装置は、カレントブロックとは異なる復号済みブロックの参照情報を用いて、カレントブロックの参照情報をビットストリームから復号する(S613)。具体的には、画像復号装置は、ビットストリームから、選択された変換成分の差分参照情報を復号する。次に、画像復号装置は、選択された変換成分毎に、得られた差分復号情報と、復号済みブロックの参照情報とを加算することで、参照情報を生成する。
次に、画像復号装置は、参照情報を用いて予測画像を生成する(S614)。次に、画像復号装置は、ビットストリームからカレントブロックを、予測画像を用いて復号する(S615)。
なお、選択情報は、カレントブロックのサイズを示し、ステップS612では、画像復号装置は、カレントブロックのサイズに応じて2以上の変換成分を選択してもよい。例えば、選択情報は、最大符号化単位(CU)のサイズを示す情報と、各符号化単位をさらに分割するか否かを示す情報とを含む。画像復号装置は、これらの情報を用いて、カレントブロックサイズを判定する。
また、例えば、画像復号装置は、カレントブロックのサイズが第1閾値以下である場合には、せん断成分を選択しない。
また、ステップS612において、画像符号化装置は、平行移動成分、回転成分、拡大縮小成分、せん断成分の順に優先して2以上の変換成分を選択してもよい。例えば、実施の形態3で説明した手法を用いて優先度を設定できる。
以上、実施の形態に係る画像符号化方法に及び画像復号方法ついて説明したが、本発明は、この実施の形態に限定されるものではない。
また、上記実施の形態に係る画像符号化装置及び画像復号装置に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサなどのプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
言い換えると、画像符号化装置及び画像復号装置は、処理回路(processing circuitry)と、当該処理回路に電気的に接続された(当該制御回路からアクセス可能な)記憶装置(storage)とを備える。処理回路は、専用のハードウェア及びプログラム実行部の少なくとも一方を含む。また、記憶装置は、処理回路がプログラム実行部を含む場合には、当該プログラム実行部により実行されるソフトウェアプログラムを記憶する。処理回路は、記憶装置を用いて、上記実施の形態に係る符号化方法又は復号方法を実行する。
さらに、本発明は上記ソフトウェアプログラムであってもよいし、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
また、上記の符号化方法又は復号方法に含まれるステップが実行される順序は、本発明を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
以上、本発明の一つ又は複数の態様に係る符号化装置及び復号装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の一つ又は複数の態様の範囲内に含まれてもよい。
(実施の形態6)
上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
図33は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図33のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex106からex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex116はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex114は、GSM(登録商標)(Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-Code Division Multiple Access)方式、若しくはLTE(Long Term Evolution)方式、HSPA(High Speed Packet Access)の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記各実施の形態で説明したように符号化処理を行い(即ち、本発明の一態様に係る画像符号化装置として機能する)、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号化処理して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号化処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
また、これら符号化・復号化処理は、一般的にコンピュータex111や各機器が有するLSIex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化・復号化処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
また、ストリーミングサーバex103は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号化し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
なお、コンテンツ供給システムex100の例に限らず、図34に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
図35は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像データに音声データが多重化された多重化データを取得、または出力するチューナex301と、受信した多重化データを復調する、または外部に送信する多重化データに変調する変調/復調部ex302と、復調した多重化データを映像データと、音声データとに分離する、または信号処理部ex306で符号化された映像データ、音声データを多重化する多重/分離部ex303を備える。
また、テレビex300は、音声データ、映像データそれぞれを復号化する、またはそれぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305(本発明の一態様に係る画像符号化装置または画像復号装置として機能する)を有する信号処理部ex306と、復号化した音声信号を出力するスピーカex307、復号化した映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインタフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。インタフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
まず、テレビex300がアンテナex204等により外部から取得した多重化データを復号化し、再生する構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、CPU等を有する制御部ex310の制御に基づいて、変調/復調部ex302で復調した多重化データを多重/分離部ex303で分離する。さらにテレビex300は、分離した音声データを音声信号処理部ex304で復号化し、分離した映像データを映像信号処理部ex305で上記各実施の形態で説明した復号化方法を用いて復号化する。復号化した音声信号、映像信号は、それぞれ出力部ex309から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex318、ex319等に一旦これらの信号を蓄積するとよい。また、テレビex300は、放送等からではなく、磁気/光ディスク、SDカード等の記録メディアex215、ex216から多重化データを読み出してもよい。次に、テレビex300が音声信号や映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、制御部ex310の制御に基づいて、音声信号処理部ex304で音声信号を符号化し、映像信号処理部ex305で映像信号を上記各実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重/分離部ex303で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex320、ex321等に一旦これらの信号を蓄積するとよい。なお、バッファex318、ex319、ex320、ex321は図示しているように複数備えていてもよいし、1つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302や多重/分離部ex303の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
また、テレビex300は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号化処理、外部出力のみが可能な構成であってもよい。
また、リーダ/レコーダex218で記録メディアから多重化データを読み出す、または書き込む場合には、上記復号化処理または符号化処理はテレビex300、リーダ/レコーダex218のいずれで行ってもよいし、テレビex300とリーダ/レコーダex218が互いに分担して行ってもよい。
一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を図36に示す。情報再生/記録部ex400は、以下に説明する要素ex401、ex402、ex403、ex404、ex405、ex406、ex407を備える。光ヘッドex401は、光ディスクである記録メディアex215の記録面にレーザスポットを照射して情報を書き込み、記録メディアex215の記録面からの反射光を検出して情報を読み込む。変調記録部ex402は、光ヘッドex401に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex403は、光ヘッドex401に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex215に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex404は、記録メディアex215に記録するための情報および記録メディアex215から再生した情報を一時的に保持する。ディスクモータex405は記録メディアex215を回転させる。サーボ制御部ex406は、ディスクモータex405の回転駆動を制御しながら光ヘッドex401を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。システム制御部ex407は、情報再生/記録部ex400全体の制御を行う。上記の読み出しや書き込みの処理はシステム制御部ex407が、バッファex404に保持された各種情報を利用し、また必要に応じて新たな情報の生成・追加を行うと共に、変調記録部ex402、再生復調部ex403、サーボ制御部ex406を協調動作させながら、光ヘッドex401を通して、情報の記録再生を行うことにより実現される。システム制御部ex407は例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
図37に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録や再生を行う装置において情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233より内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した多重化データの読み書きを行う。
以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば図35に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
図38Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
さらに、携帯電話ex114の構成例について、図38Bを用いて説明する。携帯電話ex114は、表示部ex358及び操作キー部ex366を備えた本体部の各部を統括的に制御する主制御部ex360に対して、電源回路部ex361、操作入力制御部ex362、映像信号処理部ex355、カメラインタフェース部ex363、LCD(Liquid Crystal Display)制御部ex359、変調/復調部ex352、多重/分離部ex353、音声信号処理部ex354、スロット部ex364、メモリ部ex367がバスex370を介して互いに接続されている。
電源回路部ex361は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話ex114を動作可能な状態に起動する。
携帯電話ex114は、CPU、ROM、RAM等を有する主制御部ex360の制御に基づいて、音声通話モード時に音声入力部ex356で収音した音声信号を音声信号処理部ex354でデジタル音声信号に変換し、これを変調/復調部ex352でスペクトラム拡散処理し、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して送信する。また携帯電話ex114は、音声通話モード時にアンテナex350を介して受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変調/復調部ex352でスペクトラム逆拡散処理し、音声信号処理部ex354でアナログ音声信号に変換した後、これを音声出力部ex357から出力する。
さらにデータ通信モード時に電子メールを送信する場合、本体部の操作キー部ex366等の操作によって入力された電子メールのテキストデータは操作入力制御部ex362を介して主制御部ex360に送出される。主制御部ex360は、テキストデータを変調/復調部ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して基地局ex110へ送信する。電子メールを受信する場合は、受信したデータに対してこのほぼ逆の処理が行われ、表示部ex358に出力される。
データ通信モード時に映像、静止画、または映像と音声を送信する場合、映像信号処理部ex355は、カメラ部ex365から供給された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し(即ち、本発明の一態様に係る画像符号化装置として機能する)、符号化された映像データを多重/分離部ex353に送出する。また、音声信号処理部ex354は、映像、静止画等をカメラ部ex365で撮像中に音声入力部ex356で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex353に送出する。
多重/分離部ex353は、映像信号処理部ex355から供給された符号化された映像データと音声信号処理部ex354から供給された符号化された音声データを所定の方式で多重化し、その結果得られる多重化データを変調/復調部(変調/復調回路部)ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex350を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、または映像およびもしくは音声が添付された電子メールを受信する場合、アンテナex350を介して受信された多重化データを復号化するために、多重/分離部ex353は、多重化データを分離することにより映像データのビットストリームと音声データのビットストリームとに分け、同期バスex370を介して符号化された映像データを映像信号処理部ex355に供給するとともに、符号化された音声データを音声信号処理部ex354に供給する。映像信号処理部ex355は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって復号化することにより映像信号を復号し(即ち、本発明の一態様に係る画像復号装置として機能する)、LCD制御部ex359を介して表示部ex358から、例えばホームページにリンクされた動画像ファイルに含まれる映像、静止画が表示される。また音声信号処理部ex354は、音声信号を復号し、音声出力部ex357から音声が出力される。
また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器・復号化器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号化器のみの受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムex200において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
(実施の形態7)
上記各実施の形態で示した動画像符号化方法または装置と、MPEG−2、MPEG4−AVC、VC−1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG−2トランスポートストリーム形式のデジタルストリームである。
図39は、多重化データの構成を示す図である。図39に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(PG)、インタラクティブグラフィックスストリームのうち、1つ以上を多重化することで得られる。ビデオストリームは映画の主映像および副映像を、オーディオストリーム(IG)は映画の主音声部分とその主音声とミキシングする副音声を、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここで主映像とは画面に表示される通常の映像を示し、副映像とは主映像の中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にGUI部品を配置することにより作成される対話画面を示している。ビデオストリームは、上記各実施の形態で示した動画像符号化方法または装置、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠した動画像符号化方法または装置によって符号化されている。オーディオストリームは、ドルビーAC−3、Dolby Digital Plus、MLP、DTS、DTS−HD、または、リニアPCMのなどの方式で符号化されている。
多重化データに含まれる各ストリームはPIDによって識別される。例えば、映画の映像に利用するビデオストリームには0x1011が、オーディオストリームには0x1100から0x111Fまでが、プレゼンテーショングラフィックスには0x1200から0x121Fまでが、インタラクティブグラフィックスストリームには0x1400から0x141Fまでが、映画の副映像に利用するビデオストリームには0x1B00から0x1B1Fまで、主音声とミキシングする副音声に利用するオーディオストリームには0x1A00から0x1A1Fが、それぞれ割り当てられている。
図40は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
図41は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図41における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。図41の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time−Stamp)やピクチャの復号時刻であるDTS(Decoding Time−Stamp)が格納される。
図42は、多重化データに最終的に書き込まれるTSパケットの形式を示している。TSパケットは、ストリームを識別するPIDなどの情報を持つ4ByteのTSヘッダとデータを格納する184ByteのTSペイロードから構成される188Byte固定長のパケットであり、上記PESパケットは分割されTSペイロードに格納される。BD−ROMの場合、TSパケットには、4ByteのTP_Extra_Headerが付与され、192Byteのソースパケットを構成し、多重化データに書き込まれる。TP_Extra_HeaderにはATS(Arrival_Time_Stamp)などの情報が記載される。ATSは当該TSパケットのデコーダのPIDフィルタへの転送開始時刻を示す。多重化データには図42下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号はSPN(ソースパケットナンバー)と呼ばれる。
また、多重化データに含まれるTSパケットには、映像・音声・字幕などの各ストリーム以外にもPAT(Program Association Table)、PMT(Program Map Table)、PCR(Program Clock Reference)などがある。PATは多重化データ中に利用されるPMTのPIDが何であるかを示し、PAT自身のPIDは0で登録される。PMTは、多重化データ中に含まれる映像・音声・字幕などの各ストリームのPIDと各PIDに対応するストリームの属性情報を持ち、また多重化データに関する各種ディスクリプタを持つ。ディスクリプタには多重化データのコピーを許可・不許可を指示するコピーコントロール情報などがある。PCRは、ATSの時間軸であるATC(Arrival Time Clock)とPTS・DTSの時間軸であるSTC(System Time Clock)の同期を取るために、そのPCRパケットがデコーダに転送されるATSに対応するSTC時間の情報を持つ。
図43はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
多重化データ情報ファイルは、図44に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
多重化データ情報は図44に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
ストリーム属性情報は図45に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
また、本実施の形態における動画像復号化方法のステップを図46に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
(実施の形態8)
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図47に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501、ex502、ex503、ex504、ex505、ex506、ex507、ex508、ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117やカメラex113等からAV信号を入力する。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声信号の符号化および/または映像信号の符号化が行われる。ここで映像信号の符号化処理は上記各実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力された多重化データは、基地局ex107に向けて送信されたり、または記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も1つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
また、上記では、制御部ex501が、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有するとしているが、制御部ex501の構成は、この構成に限らない。例えば、信号処理部ex507がさらにCPUを備える構成であってもよい。信号処理部ex507の内部にもCPUを設けることにより、処理速度をより向上させることが可能になる。また、他の例として、CPUex502が信号処理部ex507、または信号処理部ex507の一部である例えば音声信号処理部を備える構成であってもよい。このような場合には、制御部ex501は、信号処理部ex507、またはその一部を有するCPUex502を備える構成となる。
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。このようなプログラマブル・ロジック・デバイスは、典型的には、ソフトウェア又はファームウェアを構成するプログラムを、ロードする又はメモリ等から読み込むことで、上記各実施の形態で示した動画像符号化方法、又は動画像復号化方法を実行することができる。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
(実施の形態9)
上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図48は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
より具体的には、駆動周波数切替え部ex803は、図47のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、図47の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態7で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態7で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、図50のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
図49は、本実施の形態の方法を実施するステップを示している。まず、ステップexS200では、信号処理部ex507において、多重化データから識別情報を取得する。次に、ステップexS201では、CPUex502において、識別情報に基づいて映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものであるか否かを識別する。映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合には、ステップexS202において、駆動周波数を高く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、高い駆動周波数に設定される。一方、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、ステップexS203において、駆動周波数を低く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合に比べ、低い駆動周波数に設定される。
さらに、駆動周波数の切替えに連動して、LSIex500またはLSIex500を含む装置に与える電圧を変更することにより、省電力効果をより高めることが可能である。例えば、駆動周波数を低く設定する場合には、これに伴い、駆動周波数を高く設定している場合に比べ、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することが考えられる。
また、駆動周波数の設定方法は、復号する際の処理量が大きい場合に、駆動周波数を高く設定し、復号する際の処理量が小さい場合に、駆動周波数を低く設定すればよく、上述した設定方法に限らない。例えば、MPEG4−AVC規格に準拠する映像データを復号する処理量の方が、上記各実施の形態で示した動画像符号化方法または装置により生成された映像データを復号する処理量よりも大きい場合には、駆動周波数の設定を上述した場合の逆にすることが考えられる。
さらに、駆動周波数の設定方法は、駆動周波数を低くする構成に限らない。例えば、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を高く設定し、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することも考えられる。また、他の例としては、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、CPUex502の駆動を停止させることなく、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、処理に余裕があるため、CPUex502の駆動を一時停止させることも考えられる。識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合であっても、処理に余裕があれば、CPUex502の駆動を一時停止させることも考えられる。この場合は、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合に比べて、停止時間を短く設定することが考えられる。
このように、映像データが準拠する規格に応じて、駆動周波数を切替えることにより、省電力化を図ることが可能になる。また、電池を用いてLSIex500またはLSIex500を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
(実施の形態10)
テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図51Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4−AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4−AVC規格に対応する復号処理部ex902を共有し、MPEG4−AVC規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。特に、本発明の一態様は、動き補償に特徴を有していることから、例えば、動き補償については専用の復号処理部ex901を用い、それ以外の逆量子化、エントロピー復号、デブロッキング・フィルタのいずれか、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4−AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
また、処理を一部共有化する他の例を図51Bのex1000に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。