(58)【調査した分野】(Int.Cl.,DB名)
前記テーブル選択ステップでは、第1及び第2ピクチャリストの一方に登録されている前記参照ピクチャのみを用いる場合と、前記第1及び第2ピクチャリストの両方に登録されている前記参照ピクチャを用いる場合との全ての組み合わせを前記最大変動幅として、前記可変長符号化テーブルを選択する
請求項1又は2に記載の画像符号化方法。
【発明を実施するための形態】
【0024】
(実施の形態1)
図1A及び
図1Bを参照して、実施の形態1に係る画像符号化装置を説明する。
図1Aは、実施の形態1に係る画像符号化装置10の概略ブロック図である。
図1Bは、画像符号化装置10の動作を示すフローチャートである。
【0025】
実施の形態1に係る画像符号化装置10は、
図1Aに示されるように、取得部11と、混合信号生成部12と、テーブル選択部13と、可変長符号化部14とを備える。
【0026】
取得部11は、符号化対象信号に含まれる第1の情報及び第2の情報を取得する(S11)。本実施の形態1における第1の情報は、複数の参照ピクチャリストのうちの画像の画面間予測に用いられた参照ピクチャリストを特定する情報である。また、本実施の形態2における第2の情報は、第1の情報で特定される参照ピクチャリストに含まれる参照ピクチャのうちの画像の画面間予測に用いられた参照ピクチャを特定する情報である。
【0027】
混合信号生成部12は、取得部11で取得された第1及び第2の情報を混合して混合信号を生成する(S12)。第1及び第2の情報の混合の仕方は、後述する。
【0028】
テーブル選択部13は、混合信号生成部12で生成された混合信号の最大変動幅に応じて、予め作成されている複数の画像符号化テーブルのうちから、混合信号の符号化に用いる可変長符号化テーブルを選択する(S13)。テーブル選択部13で選択され得る可変長符号化テーブルは、混合信号の取り得る複数の値と複数の符号とを対応づけて保持している。また、可変長符号化テーブルに保持されている複数の符号は、符号長が最も長く、且つ最下位桁の異なる2つの符号を含む。
【0029】
可変長符号化部14は、テーブル選択部13で選択された可変長符号化テーブルを用いて、混合信号を可変長符号化する(S14)。
【0030】
図2Aは、本発明の可変長符号化方法を用いた画像符号化装置のブロック図である。
図2Aに示すように、画像符号化装置100は、差分部110と、変換部120と、量子化部130と、逆量子化部140と、逆変換部150と、加算部160と、ブロックメモリ(図示省略)と、フレームメモリ(図示省略)と、画面内予測部170と、画面間予測部180と、符号化制御部190と、スイッチ200、210と、可変長符号化部220とを備える。なお、画面内予測部170、画面間予測部180、及び可変長符号化部220は、それぞれ内部にメモリを備えていても良い。
【0031】
入力画像信号は、画面間予測部180および差分部110に対して入力される。画面間予測部180は、符号化制御部190より入力される参照ピクチャ情報に基づいて、入力画像信号と既に符号化済みの画像信号である復号画像信号とから予測画像信号を生成し、スイッチ200のS2に対して出力する。さらに、予測画像信号の生成に必要な画面間予測モード情報と、参照ピクチャインデックス情報とを含む画面間予測情報をスイッチ210のS3に対して出力する。
【0032】
一方、画面内予測部170は、既に符号化済みの画像信号である復号画像信号から予め決められた方法(例えば、隣接画素値を水平方向に引き伸ばした画像信号を予測画像とする)により予測画像信号を生成し、スイッチ200のS1に対して出力する。さらに予測画像信号の生成に必要な予測モード情報を含む画面内予測情報をスイッチ210のS2に対して出力する。
【0033】
ここで、画面間予測モード情報とは、対象画像と参照ピクチャ画像(既に符号化済みのピクチャ)との関係を示す画面間予測情報の一部であり、具体的には、参照ピクチャを管理する参照ピクチャリストのうち、どの参照ピクチャリストで管理されている参照ピクチャ画像を予測に使用するかを示す情報である。例えば、2つの参照ピクチャリストL0、L1がある場合、参照ピクチャリストL0のみを使用する、参照ピクチャリストL1のみを使用する、参照ピクチャリストL0、L1の両方を使用するという3種類の状態を示す情報となる。
【0034】
スイッチ200は、符号化制御部190よりS1またはS2のどちらかを選択した結果を取得し、選択された予測画像信号を出力する。
【0035】
ここで、S1またはS2の決定方法としては、予測画像信号と入力画像信号との差分値と、予測画像の生成に必要な情報との重み付け和の小さい方を予測画像信号として決定してもよい。決められた予測画像信号は、差分部110と、さらに既に符号化済みの画像信号を生成するために加算部160とに対して出力する。符号化制御部190は、さらに、符号化対象信号の種別を示す符号化制御信号をスイッチ210のS3と、可変長符号化部220とに対して出力する。
【0036】
差分部110は、入力画像信号と予測画像信号との差分処理を行い、その信号を変換部120に対して出力する。変換部120は、差分信号に対して変換処理を施し、量子化部130に対して出力する。量子化部130は、変換処理が施された変換係数に対して量子化処理を施し、量子化変換係数情報をスイッチ210のS1と、逆量子化部140とに対して出力する。逆量子化部140は、量子化変換係数情報に逆量子化処理を施し、変換係数を逆変換部150に対して出力する。逆変換部150は、変換係数に対して逆変換処理を施し、復号残差画像信号を加算部160に対して出力する。加算部160では、復号残差画像信号と予測画像信号とに対して加算処理を施し、復号画像信号を画面内予測部170と、画面間予測部180とに対して出力する。スイッチ210は、符号化制御信号が示す信号の種別に応じてS1、S2、S3を切り替え、符号化対象信号を可変長符号化部220に対して出力する。可変長符号化部220は、符号化対象信号を符号化制御信号が示す信号の種別に応じて可変長符号化し、符号列として出力する。
【0037】
さらに可変長符号化部220を
図2B及び
図3を用いて詳細に説明する。
図2Bは、可変長符号化部220のブロック図である。また
図3は、可変長符号化部220の動作フローを示すフローチャートである。
【0038】
可変長符号化部220は、制御部(
図1Aの取得部11に相当)221と、信号混合部(
図1Aの混合信号生成部12に相当)222と、VLCテーブル群223と、VLCテーブル選択部(
図1Aのテーブル選択部13に相当)224と、テーブル参照部(
図1Aの可変長符号化部14に相当)225と、テーブル更新部226とを備える。なお、信号混合部は内部にメモリを備えていても良い。
【0039】
可変長符号化部220は、入力された符号化対象信号に対応する制御信号を制御部221に対して入力する(ステップS301)。制御部221は、符号化対象信号が混合対象信号かどうかを判断する。そして、混合対象情報である場合(ステップS302でYES)、符号化対象信号は、信号混合部222に対して入力され保持される(ステップS303)。
【0040】
一方、混合を完了するための情報が全て取得できていない場合(ステップS304でNO)、さらに符号化制御信号に対応する制御信号を取得することを繰り返し、混合を完了するための情報が全て取得できれば(ステップS304でYES)、符号化対象信号の混合処理を実施し、符号化信号Sを決定する(ステップS305)。なお、符号化対象信号が混合対象信号ではない場合(ステップS302でNO)、符号化対象信号をそのまま符号化信号Sとして決定する。
【0041】
なお、ここで混合対象信号とは、例えば予測に用いる画面間予測モード情報(第1の情報)と、参照インデックス情報(第2の情報)とであってもよい。これらの情報は、共に画面間予測符号化に関する情報である。具体的には、画面間予測モード情報は、参照ピクチャリストのうちのどちらか一方、もしくは両方の参照ピクチャリストを用いるかを示す情報である。また、参照インデックス情報は、画面間予測モードで指定された参照ピクチャリストの中で、実際に参照されるピクチャを示すインデックス情報(番号)である。
【0042】
制御部221は、さらに符号化対象信号に対応するテーブル選択情報CSを決定し、VLCテーブル選択部224に対して出力する(ステップS306)。VLCテーブル選択部224は、テーブル選択情報CSに対応するテーブル情報TIをVLCテーブル群223より取得し、取得したテーブル情報をテーブル参照部225に対して出力する(ステップS307)。また、対応するテーブル情報TIをテーブル更新部に対して出力する。
【0043】
テーブル参照部225は、入力される符号化信号Sに対応する符号を取得したテーブル情報TIに示されるVLCテーブルから探索し、符号列BSとして出力する(ステップS308)。ここでテーブル参照部225は、テーブル参照結果TR(符号列BSを取得するために用いたテーブル位置)をテーブル更新部226に対して出力する。テーブル更新部226は、テーブル参照結果TRに基づいて用いられたVLCテーブルを更新し、VLCテーブル群223に対して更新処理を行う(ステップS309)。
【0044】
さらに
図4及び
図5A〜
図5Cを用いて、VLCテーブルの更新方法について説明する。
図4は、VLCテーブル群の例を示した図である。
図5Aは、符号化信号列の例を示す図である。
図5Bは、入力信号(符号化信号)とシンボルとの対応テーブルの一例を示す図である。
図5Cは、対応テーブルが更新される様子を示す模式図である。
【0045】
図4に示すように、VLCテーブル群には、複数のcode(符号列)とval(符号化対象信号列)との対応テーブルが蓄積されている。
図5Aは、可変長符号化部220に入力される符号化信号列の一例である。なお、
図4に示すVLCテーブル群のうち、どのVLCテーブルを用いるかは、例えば信号の種別に応じて決定される。決定方法については、後に詳しく説明する。
【0046】
図5Bに示す対応テーブル501は、入力される符号化信号Sとシンボルインデックスとの対応関係を示す。
図5Aの符号化信号列に対応するシンボルインデックスは、s4、s7、s7、s2の順番となる。
図5Cは、s4、s7、s7、s2の順番でテーブル参照を行う場合の対応テーブルの更新の一例を示している。初期状態の対応テーブル502は、s4を参照したため、s4を一つ上にシフトし、s3を一つ下にシフトする形で入れ替えられる。その結果、対応テーブル503に示すように、参照されたシンボルが以前の状態と比べて上位に位置する形となる。同様に、s7、s7、s2と更新すると、対応テーブル504、505、506の順に更新される。
【0047】
上記のように更新することにより、発生頻度の高いシンボルインデックスに対する符号化対象信号列valを小さくすることができ、VLCテーブルにより算出される符号長を短くすることができる。例えば、初期状態の対応テーブル502を使って
図5Aの符号化信号列をvalに変換し、
図4のVLCTable[0]を用いて符号化したとする。この場合、valは3、6、6、1となり、符号長はそれぞれ4、7、7、2となり、符号長の合計は20となる。一方、更新後の対応テーブル506を使った場合、valは2、4、4、0となり、符号長はそれぞれ3、5、5、1となり、符号長の合計は14となる。また、実際に参照した直後に対応テーブルを更新する場合には、valは3、6、5、1となり、符号長はそれぞれ4、7、6、2となり、符号長の合計は19となる。このように、傾向が似た信号が発生する場合には、符号長を短くすることが期待できる。
【0048】
なお、
図5A〜
図5Cの例では、更新時にシンボルインデックスを一つ上にシフトする例を述べたが、これに限らない。対応テーブルの下位のシンボルインデックスに対しては一つ以上シフトし、その間のシンボルインデックスを一つずつ下にシフトする方法をとっても良い。これにより、発生頻度が低いシンボルインデックスの発生頻度が上がった場合に、短時間で符号長を短くすることができ、符号化効率を向上することができる。
【0049】
また、ここでは
図5Bに示す符号化信号Sとシンボルインデックスとを別として扱ったが、直接符号化信号Sをシンボルインデックスとして更新してもよい。この場合、使用メモリ量を削減することが期待できる。
【0050】
さらに
図6を用いて、2つの参照ピクチャリストL0、L1がある場合の画面間予測モード情報と、参照インデックス情報との混合方法について説明する。まず、出力となる出力インデックス(符号化信号S)をリセット(0をセット)する(ステップS601)。
【0051】
次に、信号混合部222は、画面間予測モード情報と参照インデックス情報(参照ピクチャリストに対応する予測に使用される参照インデックス番号および参照インデックス数)とを入力する(ステップS602)。画面間予測モード情報が、参照ピクチャリストL0に登録されている参照ピクチャのみを予測に用いることを示す場合(ステップS603でYES)、出力インデックスに対し、参照ピクチャリストL0中で使用される参照インデックス番号を加える(ステップS604)。一方、画面間予測モード情報が、参照ピクチャリストL0に登録されている参照ピクチャのみを予測に用いるのでないことを示す場合(ステップS603でNO)、出力インデックスに参照ピクチャリストL0のインデックス数を加える(ステップS605)。
【0052】
なお、ここでインデックス数とは、参照ピクチャリストに入れられているインデックスの総数であり、対象フレームの符号化時には既に決められている情報である。この情報は制御部221より信号混合部222に入力され、信号混合部222で保持される。
【0053】
次に、画面間予測モード情報が、参照ピクチャリストL1に登録されている参照ピクチャのみを予測に用いることを示す場合(ステップS606でYES)、出力インデックスに対し、参照ピクチャリストL1中で使用される参照インデックス番号を加える(ステップS607)。一方、画面間予測モード情報が、参照ピクチャリストL1に登録されている参照ピクチャのみを予測に用いるのでないことを示す場合(ステップS606でNO)、出力インデックスにさらに参照ピクチャリストL1のインデックス数を加える(ステップS608)。さらに、出力インデックスに参照ピクチャリストL0中で使用される参照インデックス番号と参照ピクチャリストL1のインデックス数とを掛け合わせた値を加える(ステップS609)。さらに、出力インデックスに参照ピクチャリストL1中で使用される参照インデックス番号を加える(ステップS610)。最後に得られる出力インデックスが符号化信号Sとして決定され(ステップS611)、テーブル参照部225に対して出力される。
【0054】
この混合方法については、例えば、式1のように示すことができる。
【0055】
if ( PredDir == L0-Pred )
{
TargetIdx = L0Idx;
}
else if( PredDir == L1-Pred )
{
TargetIdx = Number(L0)+L1Idx;
}
else // ( PredDir == Bi-Pred )
{
TargetIdx = {Number(L0) + Number(L1)}+L0Idx*Number(L1)+L1Idx;
} ・・(式1)
【0056】
ここでPredDirは画面間予測モード、すなわち参照ピクチャリストL0のみを使用するか(L0−Pred)、参照ピクチャリストL1のみを使用するか(L1−Pred)、参照ピクチャリストL0、L1の両方を使用するか(Bi−Pred)を示す情報である。また、TargetIdxは出力インデックス(符号化信号S)を、Number(L0)は参照ピクチャリストL0のインデックス数を、Number(L1)は参照ピクチャリストL1のインデックス数を、L0Idxは参照ピクチャリストL0中で使用される参照インデックス番号を、L1Idxは参照ピクチャリストL1中で使用される参照インデックス番号を、それぞれ示す。
【0057】
なお、復号時の除算を削減するため、Number(L1)が2の乗数ではない場合、Number(L1)にOffset値を加え、Number(L1)を超える最も小さい2の乗数となるようにしてもよい。この場合、TargetIdxは離散数になるが、値の取りうる種別数(最大変動幅)は変わらず、また、間に変換テーブルを持つことにより、式1を用いることができ、復号時の除算を削減することできる。
【0058】
次に
図7及び
図8A〜
図8Cを参照して、VLCテーブル選択部224における処理の流れを説明する。VLCテーブル選択部224は、制御部221より参照ピクチャリストL0のインデックス数および参照ピクチャリストL1のインデックス数を取得する(ステップS701)。なお、上記に述べたように、参照ピクチャリストL0のインデックス数および参照ピクチャリストL1のインデックス数は、ストリームのヘッダ情報として、符号化対象信号の符号化に先立って、既に符号化されている情報である。次に、取得した参照ピクチャ情報より符号化信号Sの最大変動幅を算出する(ステップS702)。ここで最大変動幅(MaxRange)は、例えば、式2のように算出できる。
【0059】
MaxRange = {Number(L1)+Number(L0)}+ {Number(L1)*Number(L0)}・・・(式2)
【0060】
なお、式1の場合と同様に、Number(L0)は参照ピクチャリストL0のインデックス数を、Number(L1)は参照ピクチャリストL1のインデックス数を示す。上記に示すように最大変動幅とは、符号化信号Sの取りうる値の数の最大値を示しており、例えば、符号化信号Sが0、2、4の3種類のみの信号となる場合には、最大変動幅は“3”となる。言い換えれば、式2で算出される最大変動幅は、参照ピクチャリストL0、L1の一方に登録されている参照ピクチャのみを用いる場合と、第1及び第2ピクチャリストL0、L1の両方に登録されている参照ピクチャを用いる場合との全ての組み合わせ数を表す。
【0061】
次に、最大変動幅に合わせてVLCテーブルを選択する(ステップS703)。
【0062】
図8A〜
図8Cは、最大変動幅に合わせてVLCテーブルを選択する場合の一例を示している。例えば
図8Aは、最大変動幅(MaxRange)と
図4のVLCテーブル群との対応関係を示した例である。ただし、最大変動幅が“2”の場合には、単純な0もしくは1のフラグとして符号化できるため、VLCテーブルは用いなくてもよい。
図8Aの場合において、最大変動幅が“3”の場合には、短い符号になるVLCテーブルを選択する。一方、最大変動幅が大きい場合には、その発生確率に合わせて異なるVLCテーブルを選択する方が効率が高い場合があるため、別のVLCテーブルを選択し(
図8Aでは、最大変動幅が“11”以上で異なるVLCテーブルを使用する例を示す)、それ以外は共通のVLCテーブルを利用する例である。
【0063】
それ以外は共通のVLCテーブルを利用する例である。
【0064】
このような対応関係を用いる場合、VLCテーブルの切換えが少なくなり、処理量が少なくてすむ。その結果、VLCテーブルを保持するためのメモリ量を節約することができる。
【0065】
一方、
図8Bは、最大変動幅が既知であるため、VLCテーブルの符号を1ビットずつ増加させ、最後の符号のビットを1ビット削る方式の例である。例えば、最大変動幅が“5”である場合、符号化対象信号3、4に対して同じ長さの符号(0001、0000)を用いることが出来る。この場合、符号長が最大となる部分で、符号量を節約することができるメリットがある。また、
図8Bの方法は、式3の方法で符号に変更することができる。
【0066】
for( counter=0; counter<val; counter++ )
{
output_code(“0”);
}
if ( val != MaxRange )
{
output_code(“1”);
} ・・・(式3)
【0067】
図8Cは、式3の処理の流れを示すフローチャートである。まず上記より得られる符号化対象信号valおよび最大変動幅MaxRangeを取得する(ステップS801)。次にCounterが0からval−1の値をとる間繰り返し処理を行う(ステップS802とステップS804で囲まれる処理)。繰り返し処理として、符号“0”を出力する(ステップS803)処理を実施し、その後、Counterを1つ進めて(ステップS804)、ステップS802へ戻る。なお、val=0となる場合には、繰り返し処理は行わないものとする。全ての繰り返し処理が終わった後、valの値がMaxRangeの値と等しいかどうかを判定する。そして、一致しない場合には(ステップS805でNO)、符号“1”を出力して(ステップS806)終了する。また、valの値とMaxRangeの値とが一致する場合には(ステップS806でYES)、そのまま終了する。これによって出力された符号列が符号化対象信号valに対応する符号列となる。
【0068】
なお、上記のテーブルの組み合わせ方法については一例でありこれに限らない。
【0069】
なお、初期テーブルもしくは更新テーブルについては、ストリームのヘッダ部分(実施の形態3記載のヘッダ部)に記述しておいてもよい。
【0070】
なお、本実施例の説明では、参照ピクチャリストが2種類の場合について説明したが、本発明はこれに限らない。3種類以上ある場合には、さらに画面間予測モード情報および参照インデックス情報の符号量が増えるため、本発明を用いることで、さらに符号量の削減が期待できる。
【0071】
なお、制御部221により符号化制御信号中の信号種別からテーブル選択情報CSを決定する方法としては、予め符号化方法及び復号方法で種別情報毎にどのVLCテーブルを使用するかを決めておいても良い。これにより、信号種別にあわせたVLCテーブルを使用することができる。
【0072】
また、異なる種別情報(例えば予測画像生成に使用する画面間予測に必要な情報と、画面内予測に必要な情報)に対して同じVLCテーブルを使用することにしておいてもよい。信号の種別が異なったとしても、符号化対象信号が同じような分布を取る場合があり、この場合、VLCテーブルを共有化することで、符号化効率を維持しつつVLCテーブルの保持に必要なメモリ量を削減することができる。
【0073】
(実施の形態2)
図9A及び
図9Bを参照して、実施の形態2に係る画像復号装置を説明する。
図9Aは、実施の形態2に係る画像復号装置90の概略ブロック図である。
図9Bは、画像復号装置90の動作を示すフローチャートである。
【0074】
実施の形態2に係る画像復号装置90は、取得部91と、テーブル選択部92と、可変長復号部93と、分割部94とを備える。
【0075】
取得部91は、符号化された混合信号である符号化混合信号を取得する(S91)。
【0076】
テーブル選択部92は、混合信号の最大変動幅に応じて、予め作成されている複数の画像復号テーブルのうちから、混合信号の復号に用いる可変長復号テーブルを選択する(S92)。
【0077】
可変長復号部93は、テーブル選択部92で選択された可変長復号テーブルを用いて符号化混合信号を可変長復号する(S93)。
【0078】
分割部94は、可変長復号部93で復号された混合信号を第1の情報と第2の情報とに分割する(S94)。
【0079】
図10Aは、本発明の可変長復号方法を用いた画像復号装置のブロック図である。
図10Aに示すように、画像復号装置900は、可変長復号部910と、復号制御部920と、逆量子化部930と、逆変換部940と、画面内予測部950と、画面間予測部960と、加算部970と、スイッチ980とを備える。なお、可変長復号部910、画面内予測部950、及び画面間予測部960は、それぞれ内部にメモリを備えていても良い。
【0080】
入力符号列は、本発明の可変長符号化方法を用いた画像符号化装置100により生成されたものとする。入力符号列は、可変長復号部910に入力される。可変長復号部910では、復号制御部920より得られる信号の種別情報に基づいて、符号列に対して可変長復号を施し、復号信号を復号制御部920と逆量子化部930とに対して出力する。復号信号が量子化された変換係数である場合、逆量子化部930で逆量子化を施され、逆変換部940で逆変換を施されて、復号残差画像信号となり、加算部970に対して出力される。また復号信号が予測画像生成関連情報である場合、復号制御部920は復号信号を画面間予測部960と画面内予測部950とスイッチ980とに対して出力する。画面間予測部960は、既に復号済みの復号画像信号と予測画像生成関連情報とから予測画像信号を生成し、スイッチ980のS2に対して出力する。一方、画面内予測部950は、既に復号済みの復号画像信号と予測画像生成関連情報とから予測画像信号を生成し、スイッチ980のS1に対して出力する。スイッチ980は、符号化制御部920から得られる符号化モード情報により、S1もしくはS2のどちらか一方に切り替え、選択された予測画像信号を加算部970に対して出力する。加算部970は、復号残差画像信号と予測画像信号とを加算して復号画像信号として出力する。また、復号制御部920は、可変長復号部910に対して次に復号すべき信号種別情報を出力する。
【0081】
さらに可変長復号部910を
図10Bおよび
図11を用いて詳細に説明する。
図10Bは、可変長復号部910のブロック図である。また
図11は、可変長復号部910の動作フローを示すフローチャートである。
【0082】
可変長復号部910は、制御部(
図9Aの取得部91に相当)911と、信号分割部(
図9Aの分割部94に相当)912と、VLDテーブル群913と、VLDテーブル選択部(
図9Aのテーブル選択部92に相当)914と、テーブル参照部(
図9Aの可変長復号部93に相当)915と、テーブル更新部916とを備える。
【0083】
可変長復号部910は、入力された信号種別情報を含む復号制御信号を制御部911に対して入力する(ステップS1101)。制御部911は、種別情報に対応するテーブル選択情報CSを決定し、VLDテーブル選択部914に対して出力する(ステップS1102)。VLDテーブル選択部914は、テーブル選択情報CSに対応するVLDテーブルをVLDテーブル群913より取得し、取得したテーブル情報TIをテーブル参照部915に対して出力する(ステップS1103)。また、VLDテーブル選択部914は、対応するVLDテーブルをテーブル更新部916に対して出力する。テーブル参照部915は、取得したVLDテーブルから入力される符号列BSに対応する符号を探索し、復号信号DSとして出力する(ステップS1104)。ここでテーブル参照部915は、テーブル参照結果TR(復号信号DSを取得するために用いたテーブル位置)をテーブル更新部916に対して出力する。テーブル更新部916は、用いられたVLDテーブルのテーブル参照結果TRに基づきVLDテーブルを更新する(ステップS1105)。次に、制御部911は、復号制御情報の信号種別情報により、復号対象の符号列の情報に対応して取得される復号信号DSが分割対象であるかどうかを判断する。
【0084】
なお、ここで分割対象信号とは、実施の形態1で説明した符号化時に混合対象とした信号であり、例えば予測に用いる画面間予測モード情報(第1の情報)と、参照インデックス情報(第2の情報)とが混合された情報としてもよい。これらの情報は、共に画面間予測符号化に関する情報として得られる情報となる。
【0085】
分割対象であった場合(ステップS1106でYES)、信号分割部912は、復号信号DSを分割する(ステップS1107)。なお、分割方法については後に詳しく説明する。一方、分割対象ではない場合(ステップS1106でNO)、復号信号DSはそのまま復号信号として出力される。
【0086】
さらに
図12A及び
図12Bを用いてVLDテーブルの参照方法について説明する。
図12Aは、VLDテーブル群の例である。
図12Aに示すように、VLDテーブル群には複数のCode(符号列)とval(復号信号)との対応テーブルが蓄積されている。復号に必要な種別情報を取得し、実施の形態1に示す方法と同じように、種別情報と対応するVLDテーブルをVLDテーブル群より抽出し、符号列BSに対応する復号信号DSを出力する。例えば、VLDテーブル0を対象とする復号処理の場合、符号列が“001”であった場合にはval“2”を復号信号DSとして出力する。
【0087】
その後、VLDテーブルの更新処理を行う。なお、VLDテーブルの更新は、符号化方法と同じ方法を用いる。実施の形態1に示した方法と同じ方法に従い、例えば、更新の幅を変える場合には、復号時に同じ方法で更新テーブルを切り替える。実施の形態1で詳しく説明したように、更新に用いる場合に、中間テーブルを用いる場合には、
図12Bに示すように、テーブル参照結果のvalの値から更に復号信号DSに変換する。例えば、上記のようにval“2”の場合、“1”が対応する復号信号DSとなる。
【0088】
次に
図13を用いて、信号列BSが画面間予測符号化に関する情報として得られるインデックス情報である場合に、画面間予測モード情報と、参照インデックス情報とに分割する方法について説明する。なお、実施の形態1で説明したものと同様に、画面間予測モード情報は、参照ピクチャリストのうちのどちらか一方、もしくは両方を用いるかを示す情報である。また、参照インデックス情報とは、参照ピクチャ情報により特定される参照ピクチャリストの中の実際に参照する参照ピクチャを示すインデックス情報である。また、ここでは、参照ピクチャリストが2種類(参照ピクチャリストL0、参照ピクチャリストL1)のみの場合の例を示す。
【0089】
まず、VLDテーブルの参照によって復号された信号列BSをテーブル参照部915から取得し、参照ピクチャリストL0に含まれるインデックス数、および参照ピクチャリストL1に含まれるインデックス数を制御部911から取得する(ステップS1301)。取得した復号信号DSが参照ピクチャリストL0のインデックス数より小さい場合(ステップS1302でYES)、画面内予測モード情報の予測信号として、参照ピクチャリストL0に登録されている参照ピクチャを用いた予測であることを設定し、参照インデックス情報として、参照ピクチャリストL0の予測インデックスに復号信号DSの数値を設定する(ステップS1303)。
【0090】
一方、復号信号DSが参照ピクチャリストL0のインデックス数より大きい場合(ステップS1302でNO)、復号信号DSが参照ピクチャリストL0のインデックス数と参照ピクチャリストL1のインデックス数との和の値より小さいかどうかを判断する。判断結果として小さい場合(ステップS1304でYES)、画面内予測モード情報の予測信号として、参照ピクチャリストL1に登録されている参照ピクチャを用いた予測であることを設定し、参照インデックス情報として、参照ピクチャリストL1の予測インデックス番号に復号信号DSの数値から参照ピクチャリストL0のインデックス数を引いた値を設定する(ステップS1305)。一方、ステップS1304でNOとなる場合、画面内予測モード情報の予測信号として、双方向(Bi)参照予測であることを設定する(ステップS1306)。次に、復号信号DSから、参照ピクチャリストL0の予測インデックス番号と、参照ピクチャリストL1の予測インデックス番号とを後述する方法で取得し、設定する(ステップS1307)。
【0091】
双方向参照予測の場合の、参照ピクチャリストL0の予測インデックス番号は、復号信号DSから参照ピクチャリストL0及び参照ピクチャリストL1の予測インデックス数を引いた値を、参照ピクチャリストL1の予測インデクス数で割った場合の商で表される値となる。また、参照ピクチャリストL1の予測インデックス番号は、復号信号DSから参照ピクチャリストL0及び参照ピクチャリストL1の予測インデックス数を引いた値を、参照ピクチャリストL1の予測インデクス数で割った場合の剰余で表される値となる。
【0092】
上記の分割処理は、例えば、式4のように示すことができる。
【0093】
if ( DecodedIdx < Number(L0) )
{
PredDir = L0-Pred;
L0Idx = DecodedIdx;
}
else if( DecodedIdx < Number(L0)+Number(L1) )
{
PredDir = L1-Pred;
L1Idx = DecodedIdx-Number(L0);
}
else
{
PredDir = Bi-Pred;
L0Idx = Quotient{{DecodedIdx-{Number(L0)+ Number(L1)}, Numer(L1)}
L1Idx = Mod( DecodedIdx-{Number(L0)+ Number(L1)}, Number(L1) )
} ・・・(式4)
【0094】
なお、PredDirは画面間予測モード情報、すなわち参照ピクチャリストL0に登録されている参照ピクチャのみを用いるか(L0−Pred)、参照ピクチャリストL1に登録されている参照ピクチャのみを用いるか(L1−Pred)、参照ピクチャリストL0、L1の両方を使用するか(Bi−Pred)を示す情報である。また、DecodedIdxは復号信号DSを、Number(L0)を参照ピクチャリストL0のインデックス数を、Number(L1)は参照ピクチャリストL1のインデックス数を、L0Idxは参照ピクチャリストL0のうちの参照インデックス番号を、L1Idxは参照ピクチャリストL1の参照インデックス番号を、それぞれ示す。
【0095】
但し、Quotient(A,B)はAをBで割ったときの商の値、Mod(A,B)はAをBで割ったときの余りの値を表す。
【0096】
なお、実施の形態1で説明したように、予め符号化時にNumber(L1)が2の乗数ではない場合であって、Number(L1)を超える最も小さい2の乗数となるようにOffset値を加えている場合には、DecodedIdx−{Number(L0)+Number(L1)}の値から、前述のOffsetを加えてできる2の乗数の乗数値を右シフトして得られる値がL0Idxとなり、DecodedIdx−{Number(L0)+Number(L1)}の値から、2のL0Idx乗数の値(1をL0Idxの値だけ左シフトした値)を引いた値がL1Idxとなる。また、符号化時と同様に、使用しないインデックス分を飛ばすことが必要である。このように処理することで除算を省くことができ、演算回路を小さくすることができる。
【0097】
次に
図14及び
図15A〜
図15Cを参照して、VLDテーブル選択部914における処理の流れを説明する。
【0098】
VLDテーブル選択部914は、参照ピクチャリストL0のインデックス数および参照ピクチャリストL1のインデックス数を制御部911から取得する(ステップS1401)。なお、参照ピクチャリストL0のインデックス数および参照ピクチャリストL1のインデックス数は、ストリームのヘッダ情報として、復号対象信号の復号に先立って、既に復号されている情報である。次に、取得した参照ピクチャリストL0、L1のインデックス数から最大変動幅を算出する(ステップS1402)。ここで最大変動幅(MaxRange)は符号化時と同様に式2を用いて算出できる。次に、VLDテーブル選択部914は、最大変動幅に合わせてVLDテーブルを選択する(ステップS1403)。
【0099】
図15A〜
図15Cは、最大変動幅に合わせてVLDテーブルを選択する場合の一例を示している。例えば、
図15Aは、最大変動幅(MaxRange)と
図12AのVLDテーブル群との対応関係を示した例である。ただし、最大変動幅が“2”の場合には、単純な0もしくは1のフラグとして符号化/復号できるため、VLDテーブルは用いなくてもよい。
【0100】
図15Aの場合において、最大変動幅が“3”の場合には、短い符号になるVLDテーブルを選択する。一方、最大変動幅が長い場合には、その発生確率に合わせて異なるVLDテーブルを選択する方が効率が高い場合があるため、異なるVLDテーブルとし(
図15Aでは、最大変動幅が“11”以上で異なるVLDテーブルを使用する例を示す)、それ以外は共通のVLDテーブルを利用する例である。
【0101】
なお、このような対応関係を用いる場合、VLDテーブルの切換えが少なくなり、処理量が少なくてすむ。すなわち、VLDテーブルを保持するためのメモリ量を節約することができるメリットがある。なお、VLDテーブル選択の方法は、符号化側と同様のものを用いる必要があり、
図15Aの例は、符号化側で
図8AのVLCテーブルの選択方法を用いた場合の例となる。
【0102】
一方、
図15Bは、最大変動幅が既知であるため、VLDテーブルの符号を1ビットずつ増加させ、最後の符号のビットを1ビット削る方式の例である(符号化側で
図8BのVLCテーブルの選択方法を用いた場合の例に対応する)。例えば、最大変動幅が“5”である場合、シンボル3、4に対して同じ長さの符号(0001、0000)を用いることが出来る。この場合、最大変動幅となる部分で、符号量を節約することができるメリットがある。また、
図15Bの方法はテーブル参照ではなく、式5の方法で復号することもできる。
【0103】
DS = 0;
for( counter=0; counter<MaxRange; counter++ )
{
code = read_code();
if ( code == “1” )
{
break;
}
else
{
DS += 1;
}
} ・・・(式5)
【0104】
図15Cは、式5の処理の流れを示すフローチャートである。まず復号信号DSをリセット(0をセット)し、上記より得られる最大変動幅MaxRangeを取得する(ステップS1501)。次に、Counterが0からMaxRange−1の値をとる間繰り返し処理を行う(ステップS1502とステップS1506とで囲まれる処理)。
【0105】
繰り返して処理として、符号列から1ビットを読み出す(ステップS1504)、読み出しコードが1かどうかを判定し(ステップS1504)、復号信号DSに1を加える(ステップS1505)。一方、読み出されたコードが1でない場合(ステップ1504でNO)、復号信号DSに1を加える処理を行い(ステップS1505)、Counterを一つ進めて(ステップS1506)、S1502の繰り返し処理に戻る。一方、読み出されたコードが1である場合(ステップS1504でYES)、繰り返し処理をスキップして、次のステップへ進む。繰り返し処理が終了もしくは、ステップS1504でYESとなった場合、その時点での復号信号DSを出力する(S1507)ことにより、復号処理が行われる。
【0106】
上記のような処理を行うことで、本発明の符号化方法で符号化した符号列を正しく復号処理することができ、符号化効率の高い符号化方法、復号方法を実現することができる。
【0107】
(実施の形態3)
本実施の形態では、信号と参照するテーブルとの対応関係を示すテーブル関連情報TblStrをストリームのヘッダ情報として記述し、符号化および復号する方法を説明する。
図16は、本発明の画像符号化方法における符号列BSの構成図である。
図16の(a)は少なくとも1画面で構成される動画シーケンスに対応する符号化信号である。符号化信号は、全画面のデータであるシーケンスデータSeqDataと、全画面の全データに共通のデータであるシーケンスヘッダSeqHdrとで構成される。
【0108】
テーブル関連情報TblStrとは、例えば、参照ピクチャリストL0のインデックス数と参照ピクチャリストL1のインデックス数とが同じであり、かつ、参照ピクチャリストL0中の参照インデックス番号の示す参照ピクチャと、参照ピクチャリストL1中の参照インデックス番号の示す参照ピクチャとが同じである場合を示す情報である。
図17は、上記の情報を示すフラグ“L0_L1_info_merge_flg”を含むシンタックスの例である。
【0109】
このフラグが1の場合には、参照ピクチャリストL0、L1に登録されている参照ピクチャが同じであり、予測モードとしてL1参照モードが無いものとして扱うことができる。この場合、例えば、式6で示す方法でインデックスを決定できる。
【0110】
if ( PredDir == L0-Pred )
{
TargetIdx = L0Idx;
}
else // ( PredDir == Bi-Pred )
{
TargetIdx = Number(L0)+L0Idx*Number(L0)+L1Idx;
} ・・・(式6)
【0111】
なお、PredDirは画面間予測モード情報、すなわち参照ピクチャリストL0に登録されている参照ピクチャのみを用いるか(L0−Pred)、参照ピクチャリストL0、L1の両方を使用するか(Bi−Pred)を示す情報である。また、TargetIdxは出力インデックスを、Number(L0)は参照ピクチャリストL0のインデックス数を、L0Idxは参照ピクチャリストL0の参照インデックス番号を、L1Idxは参照ピクチャリストL1の参照インデックス番号を、それぞれ示す。
【0112】
この場合の最大変動幅は、例えば、式7で算出され、短い符号長で表現できることがわかる。
【0113】
MaxRange = Number(L0) + {Number(L1)*Number(L0)}
・・・(式7)
【0114】
なお、式1の場合と同様に、Number(L0)は参照ピクチャリストL0のインデックス数を、Number(L1)は参照ピクチャリストL1のインデックス数を、それぞれ示す。なお、上記方法で符号化された符号列は、復号時には、式8で示す方法で復号することができる。
【0115】
if ( DecodedIdx < Number(L0) )
{
PredDir = L0-Pred;
L0Idx = DecodedIdx;
}
else
{
PredDir = Bi-Pred;
L0Idx = Quotient( DecodedIdx-Number(L0),Number(L0) )
L1Idx = Mod( DecodedIdx-Number(L0), Number(L0) )
} ・・・(式8)
【0116】
但し、Quotient(A,B)はAをBで割ったときの商の値、Mod(A,B)はAをBで割ったときの余りの値を表す。なお、実施の形態1および実施の形態2と同様に除算処理を省き、シフト演算で処理してもよい。
【0117】
シーケンスヘッダには、テーブル関連情報TblStrが含まれている。
【0118】
図16の(b)は、シーケンスデータSeqDataの構造である。シーケンスデータSeqDataは、複数の1画面に対応する符号化信号であるピクチャの符号化信号である、ピクチャ信号PicStrを含んでいる。
【0119】
図16の(c)は、ピクチャ信号PicStrの構造である。ピクチャ信号PicStrは、1画面のデータであるピクチャデータPicDataと、1画面全体に共通のデータであるピクチャヘッダPicHdrとで構成される。ピクチャヘッダPicHdrには、テーブル関連情報TblStrが含まれている。
【0120】
図16の(d)は、ピクチャデータPicDataの構造である。ピクチャデータPicDataは、複数のブロック単位の集合で構成されるスライスの符号化信号である、スライス信号SliceStrを含んでいる。
【0121】
図16の(e)は、スライス信号SliceStrの構造である。スライス信号SliceStrは、1スライスのデータであるスライスデータSliceDataと、1スライスの全データに共通のデータであるスライスヘッダSliceHdrとで構成される。スライスヘッダSliceHdrにテーブル関連情報TblStrを含めることにより、スライスデータSliceData単位で受信した符号化信号を正しく復号できる。
【0122】
なお、シーケンスデータSeqDataに複数の画面信号PicStrが含まれている場合には、全てのPicHdrにテーブル関連情報TblStrを含める代わりに、一部のPicHdrのみにテーブル関連情報TblStrを含むようにしてもよい。同様に、ピクチャデータPicDataに複数のスライス信号SliceStrが含まれている場合は、全てのスライスヘッダSliceHdrにテーブル関連情報TblStrを含める代わりに、一部のスライスヘッダSliceHdrのみにテーブル関連情報TblStrを含めるようにしてもよい。テーブル関連情報TblStrの内容が各スライスで共通であれば、
図16の(e)に示すようにスライスヘッダSliceHdrにテーブル関連情報TblStrが無い場合は、他のスライスヘッダSliceHdrのテーブル関連情報TblStrで代用することで、テーブル関連情報TblStrの繰り返しによるビット数の増加を抑えることも可能である。
【0123】
また、符号列BSが連続したビットストリームでなく、細切れのデータの単位であるパケット等で伝送する場合はヘッダ部とヘッダ以外のデータ部とを分離して別に伝送してもよい。その場合は、
図16のようにヘッダ部とデータ部とが1つのビットストリームとなることはない。しかしながら、パケットの場合は、ヘッダ部とデータ部との伝送する順序が連続しなくても、対応するデータ部に対応するヘッダ部が別のパケットで伝送されるだけであり、1つのビットストリームとなっていなくても、概念は
図16で説明したビットストリームの場合と同じである。
【0124】
また、本発明の復号方法において、上記の手法で符号化された符号列BSは、次の手順で復号される。まず、シーケンスヘッダSeqHdrに含まれるテーブル関連情報TblStrを取得し、各情報を保持する。次に、ピクチャヘッダPicHdrに含まれるテーブル関連情報TblStrを取得し、各情報を更新する。ここで、テーブル関連情報TblStrが無い場合、もしくは一部が無い場合には、シーケンスヘッダSeqHdrに含まれた情報をそのまま保持する。同様に、スライスヘッダSliceHdr含まれるテーブル関連情報TblStrを取得し、各情報を更新する。
【0125】
このようにすることにより、上記符号列を正しく復号することができる。
【0126】
(実施の形態4)
上記各実施の形態で示した動画像符号化方法または動画像復号化方法の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
【0127】
さらにここで、上記各実施の形態で示した動画像符号化方法や動画像復号化方法の応用例とそれを用いたシステムを説明する。
【0128】
図20は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
【0129】
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
【0130】
しかし、コンテンツ供給システムex100は
図20のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex106からex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
【0131】
カメラ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)等であり、いずれでも構わない。
【0132】
コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記各実施の形態で説明したように符号化処理を行い、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号化処理して再生する。
【0133】
なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号化処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
【0134】
また、これら符号化・復号化処理は、一般的にコンピュータex111や各機器が有するLSIex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化・復号化処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
【0135】
また、ストリーミングサーバex103は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
【0136】
以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号化し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
【0137】
なお、コンテンツ供給システムex100の例に限らず、
図21に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置または動画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する。
【0138】
また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
【0139】
図22は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像データに音声データが多重化された多重化データを取得、または出力するチューナex301と、受信した多重化データを復調する、または外部に送信する多重化データに変調する変調/復調部ex302と、復調した多重化データを映像データと、音声データとに分離する、または信号処理部ex306で符号化された映像データ、音声データを多重化する多重/分離部ex303を備える。
【0140】
また、テレビex300は、音声データ、映像データそれぞれを復号化する、またはそれぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305を有する信号処理部ex306と、復号化した音声信号を出力するスピーカex307、復号化した映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインタフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。インタフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
【0141】
まず、テレビ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の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
【0142】
また、テレビex300は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号化処理、外部出力のみが可能な構成であってもよい。
【0143】
また、リーダ/レコーダex218で記録メディアから多重化データを読み出す、または書き込む場合には、上記復号化処理または符号化処理はテレビex300、リーダ/レコーダex218のいずれで行ってもよいし、テレビex300とリーダ/レコーダex218が互いに分担して行ってもよい。
【0144】
一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を
図23に示す。情報再生/記録部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は例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
【0145】
以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
【0146】
図24に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録や再生を行う装置において情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233より内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した多重化データの読み書きを行う。
【0147】
以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
【0148】
また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば
図22に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
【0149】
図25(a)は、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
【0150】
さらに、携帯電話ex114の構成例について、
図25(b)を用いて説明する。携帯電話ex114は、表示部ex358及び操作キー部ex366を備えた本体部の各部を統括的に制御する主制御部ex360に対して、電源回路部ex361、操作入力制御部ex362、映像信号処理部ex355、カメラインタフェース部ex363、LCD(Liquid Crystal Display)制御部ex359、変調/復調部ex352、多重/分離部ex353、音声信号処理部ex354、スロット部ex364、メモリ部ex367がバスex370を介して互いに接続されている。
【0151】
電源回路部ex361は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話ex114を動作可能な状態に起動する。
【0152】
携帯電話ex114は、CPU、ROM、RAM等を有する主制御部ex360の制御に基づいて、音声通話モード時に音声入力部ex356で収音した音声信号を音声信号処理部ex354でデジタル音声信号に変換し、これを変調/復調部ex352でスペクトラム拡散処理し、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して送信する。また携帯電話ex114は、音声通話モード時にアンテナex350を介して受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変調/復調部ex352でスペクトラム逆拡散処理し、音声信号処理部ex354でアナログ音声信号に変換した後、これを音声出力部ex356から出力する。
【0153】
さらにデータ通信モード時に電子メールを送信する場合、本体部の操作キー部ex366等の操作によって入力された電子メールのテキストデータは操作入力制御部ex362を介して主制御部ex360に送出される。主制御部ex360は、テキストデータを変調/復調部ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して基地局ex110へ送信する。電子メールを受信する場合は、受信したデータに対してこのほぼ逆の処理が行われ、表示部ex358に出力される。
【0154】
データ通信モード時に映像、静止画、または映像と音声を送信する場合、映像信号処理部ex355は、カメラ部ex365から供給された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し、符号化された映像データを多重/分離部ex353に送出する。また、音声信号処理部ex354は、映像、静止画等をカメラ部ex365で撮像中に音声信号入力部ex356で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex353に送出する。
【0155】
多重/分離部ex353は、映像信号処理部ex355から供給された符号化された映像データと音声信号処理部ex354から供給された符号化された音声データを所定の方式で多重化し、その結果得られる多重化データを変調/復調回路部ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex350を介して送信する。
【0156】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、または映像およびもしくは音声が添付された電子メールを受信する場合、アンテナex350を介して受信された多重化データを復号化するために、多重/分離部ex353は、多重化データを分離することにより映像データのビットストリームと音声データのビットストリームとに分け、同期バスex370を介して符号化された映像データを映像信号処理部ex355に供給するとともに、符号化された音声データを音声信号処理部ex354に供給する。映像信号処理部ex355は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって復号化することにより映像信号を復号し、LCD制御部ex359を介して表示部ex358から、例えばホームページにリンクされた動画像ファイルに含まれる映像、静止画が表示される。また音声信号処理部ex354は、音声信号を復号し、音声出力部ex357から音声が出力される。
【0157】
また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器・復号化器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号化器のみの受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムex200において、映像データに音楽データなどが多重化された多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
【0158】
このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
【0159】
また、本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
【0160】
(実施の形態5)
上記各実施の形態で示した動画像符号化方法または装置と、MPEG−2、MPEG4−AVC、VC−1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
【0161】
ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
【0162】
この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG−2トランスポートストリーム形式のデジタルストリームである。
【0163】
図26は、多重化データの構成を示す図である。
図26に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(PG)、インタラクティブグラファイックスストリームのうち、1つ以上を多重化することで得られる。ビデオストリームは映画の主映像および副映像を、オーディオストリーム(IG)は映画の主音声部分とその主音声とミキシングする副音声を、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここで主映像とは画面に表示される通常の映像を示し、副映像とは主映像の中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にGUI部品を配置することにより作成される対話画面を示している。ビデオストリームは、上記各実施の形態で示した動画像符号化方法または装置、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠した動画像符号化方法または装置によって符号化されている。オーディオストリームは、ドルビーAC−3、Dolby Digital Plus、MLP、DTS、DTS−HD、または、リニアPCMのなどの方式で符号化されている。
【0164】
多重化データに含まれる各ストリームはPIDによって識別される。例えば、映画の映像に利用するビデオストリームには0x1011が、オーディオストリームには0x1100から0x111Fまでが、プレゼンテーショングラフィックスには0x1200から0x121Fまでが、インタラクティブグラフィックスストリームには0x1400から0x141Fまでが、映画の副映像に利用するビデオストリームには0x1B00から0x1B1Fまで、主音声とミキシングする副音声に利用するオーディオストリームには0x1A00から0x1A1Fが、それぞれ割り当てられている。
【0165】
図27は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
【0166】
図28は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。
図28における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。
図28の矢印yy1,yy2, yy3, yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time−Stamp)やピクチャの復号時刻であるDTS(Decoding Time−Stamp)が格納される。
【0167】
図29は、多重化データに最終的に書き込まれる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フィルタへの転送開始時刻を示す。多重化データには
図29下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号はSPN(ソースパケットナンバー)と呼ばれる。
【0168】
また、多重化データに含まれる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時間の情報を持つ。
【0169】
図30はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
【0170】
記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
【0171】
多重化データ情報ファイルは、
図31に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
【0172】
多重化データ情報は
図31に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
【0173】
ストリーム属性情報は
図32に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
【0174】
本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
【0175】
また、本実施の形態における動画像復号化方法のステップを
図33に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
【0176】
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
【0177】
(実施の形態6)
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、
図34に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501、ex502、ex503、ex504、ex505、ex506、ex507、ex508、ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
【0178】
例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117やカメラex113等からAV信号を入力する。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声信号の符号化および/または映像信号の符号化が行われる。ここで映像信号の符号化処理は上記各実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力された多重化データは、基地局ex107に向けて送信されたり、または記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
【0179】
なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も1つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
【0180】
また、上記では、制御部ex510が、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有するとしているが、制御部ex510の構成は、この構成に限らない。例えば、信号処理部ex507がさらにCPUを備える構成であってもよい。信号処理部ex507の内部にもCPUを設けることにより、処理速度をより向上させることが可能になる。また、他の例として、CPUex502が信号処理部ex507、または信号処理部ex507の一部である例えば音声信号処理部を備える構成であってもよい。このような場合には、制御部ex501は、信号処理部ex507、またはその一部を有するCPUex502を備える構成となる。
【0181】
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0182】
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0183】
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【0184】
(実施の形態7)
上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
【0185】
この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。
図35は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
【0186】
より具体的には、駆動周波数切替え部ex803は、
図34のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、
図32の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態5で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態5で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、
図37のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
【0187】
図36は、本実施の形態の方法を実施するステップを示している。まず、ステップexS200では、信号処理部ex507において、多重化データから識別情報を取得する。次に、ステップexS201では、CPUex502において、識別情報に基づいて映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものであるか否かを識別する。映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合には、ステップexS202において、駆動周波数を高く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、高い駆動周波数に設定される。一方、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、ステップexS203において、駆動周波数を低く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合に比べ、低い駆動周波数に設定される。
【0188】
さらに、駆動周波数の切替えに連動して、LSIex500またはLSIex500を含む装置に与える電圧を変更することにより、省電力効果をより高めることが可能である。例えば、駆動周波数を低く設定する場合には、これに伴い、駆動周波数を高く設定している場合に比べ、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することが考えられる。
【0189】
また、駆動周波数の設定方法は、復号する際の処理量が大きい場合に、駆動周波数を高く設定し、復号する際の処理量が小さい場合に、駆動周波数を低く設定すればよく、上述した設定方法に限らない。例えば、MPEG4−AVC規格に準拠する映像データを復号する処理量の方が、上記各実施の形態で示した動画像符号化方法または装置により生成された映像データを復号する処理量よりも大きい場合には、駆動周波数の設定を上述した場合の逆にすることが考えられる。
【0190】
さらに、駆動周波数の設定方法は、駆動周波数を低くする構成に限らない。例えば、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、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などの規格に準拠する映像データであることを示している場合に比べて、停止時間を短く設定することが考えられる。
【0191】
このように、映像データが準拠する規格に応じて、駆動周波数を切替えることにより、省電力化を図ることが可能になる。また、電池を用いてLSIex500またはLSIex500を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
【0192】
(実施の形態8)
テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
【0193】
この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を
図38(a)のex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4−AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4−AVC規格に対応する復号処理部ex902を共有し、MPEG4−AVC規格に対応しない、本発明特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。特に、本発明は、逆量子化に特徴を有していることから、例えば、逆量子化については専用の復号処理部ex901を用い、それ以外のエントロピー符号化、デブロッキング・フィルタ、動き補償のいずれか、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4−AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
【0194】
また、処理を一部共有化する他の例を
図38(b)のex1000に示す。この例では、本発明に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
【0195】
このように、本発明の動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。