(本発明の基礎となった知見)
本発明者らは、「背景技術」の欄において記載したLAST位置情報の算術符号化および算術復号に関して以下のことを見出した。
なお、以下において、LAST位置情報は、対象ブロックに含まれる複数の係数の中で、予め定められた順番で最後の非ゼロ係数の水平方向および垂直方向の位置を示す。ここでは、LAST位置情報は、水平成分(以下、「X成分」と呼ぶ)と垂直成分(以下、「Y成分」と呼ぶ)とを含む。X成分は、対象ブロック内の水平方向の位置を示す。また、Y成分は、対象ブロック内の垂直方向の位置を示す。
図1は、想定技術に係る画像復号装置1000の構成の一例を示すブロック図である。また、図2は、想定技術に係る画像復号方法の一例を示すフローチャートである。図1に示すように、画像復号装置1000は、第1の復号部1001と、第2の復号部1002と、復号制御部1003と、復元部1004とを備える。
画像復号装置1000は、LAST位置情報を含むビットストリームBSを取得する。そして、画像復号装置1000は、ビットストリームBSを第1の復号部1001と第2の復号部1002と復号制御部1003とに入力する。
復号制御部1003は、取得したビットストリームBS内の各信号がLAST位置情報のX成分かY成分かを管理する。
第1の復号部1001は、ビットストリームBSに含まれるLAST位置情報のX成分のプリフィックス部を算術復号する(S1001)。具体的には、第1の復号部1001は、コンテキスト適応算術復号によって、X成分のプリフィックス部を復号する。ここで、プリフィックス部とは、X成分またはY成分の2値化信号の中で、コンテキスト適応算術符号化によって符号化される部分である。
次に、第1の復号部1001は、X成分の2値化信号がサフィックス部を含むか否かを判定する(S1002)。サフィックス部とは、X成分またはY成分の2値化信号の中で、バイパス符号化によって符号化される部分である。
これらのプリフィックス部およびサフィックス部は、例えば図3A〜図3Dに示すように、X成分およびY成分の各値(以下、「Last値」とも呼ぶ)によって定まる。したがって、第1の復号部1001は、予め定められた方法で、X成分の2値化信号がサフィックス部を含むか否かを判定することができる。
具体的には、例えば、変換ブロックのサイズ(以下、「変換サイズ」と呼ぶ)が4x4の場合は図3Aに示すように、X成分の2値化信号は、Last値に関わらず、プリフィックス部のみを含み、サフィックス部を含まない。したがって、第1の復号部1001は、復号対象ブロックのサイズが4x4の場合は、X成分の2値化信号がサフィックス部を含まないと判定する。
また例えば、変換サイズが8x8の場合は図3Bに示すように、復号されたX成分の2値化信号の4ビット目までの2値シンボルの値のいずれかが「1」であるときに、第1の復号部1001は、X成分の2値化信号がサフィックス部を含まないと判定する。一方、復号されたX成分の2値化信号の4ビット目までの2値シンボルの値の全てが「0」であるときに、第1の復号部1001は、X成分の2値化信号が固定長2ビットのサフィックス部を含むと判定する。
また例えば、変換サイズが16x16の場合は図3Cに示すように、復号されたX成分の2値化信号の8ビット目までの2値シンボルの値のいずれかが「1」であるときに、第1の復号部1001は、X成分の2値化信号がサフィックス部を含まないと判定する。一方、復号されたX成分の2値化信号の8ビット目までの2値シンボルの値の全てが「0」であるときに、第1の復号部1001は、X成分の2値化信号が固定長3ビットのサフィックス部を含むと判定する。
また例えば、変換サイズが32x32の場合は図3Dに示すように、復号されたX成分の2値化信号の16ビット目までの2値シンボルの値のいずれかが「1」であるときに、第1の復号部1001は、X成分の2値化信号がサフィックス部を含まないと判定する。一方、復号されたX成分の2値化信号の16ビット目までの2値シンボルの値の全てが「0」であるときに、第1の復号部1001は、X成分の2値化信号が固定長4ビットのサフィックス部を含むと判定する。
ここで、X成分の2値化信号がサフィックス部を含む場合(S1002でYes)、第2の復号部1002は、予め定められた固定長のビット数のサフィックス部を算術復号する(S1003)。具体的には、第2の復号部1002は、バイパス復号によって、X成分のサフィックス部を算術復号する。一方、X成分の2値化信号がサフィックス部を含まない場合(S1002でNo)、サフィックス部の復号処理はスキップされる。
復元部1004は、復号されたプリフィックス部およびサフィックス部を用いて、LAST位置情報のX成分を復元する(S1004)。つまり、X成分の2値化信号がサフィックス部を含む場合は、復元部1004は、復号されたプリフィックス部およびサフィックス部を含む2値化信号を多値化することによりX成分を復元する。一方、X成分の2値化信号がサフィックス部を含まない場合は、復号されたプリフィックス部を含む2値化信号を多値化することによりX成分を復元する。
次に、第1の復号部1001は、ステップS1001と同様に、LAST位置情報のY成分のプリフィックス部を算術復号する(S1005)。続いて、第1の復号部1001は、ステップS1002と同様に、Y成分の2値化信号がサフィックス部を含むか否かを判定する(S1006)。
ここで、Y成分の2値化信号がサフィックス部を含む場合(S1006でYes)、第2の復号部1002は、ステップS1003と同様に、予め定められた固定長のサフィックス部を算術復号する(S1007)。一方、Y成分の2値化信号がサフィックス部を含まない場合(S1006でNo)、サフィックス部の復号処理はスキップされる。
最後に、復元部1004は、ステップS1004と同様に、LAST位置情報のY成分を復元する(S1008)。つまり、Y成分の2値化信号がサフィックス部を含む場合は、復元部1004は、復号されたプリフィックス部およびサフィックス部を含む2値化信号を多値化することによりY成分を復元する。一方、Y成分の2値化信号がサフィックス部を含まない場合は、復号されたプリフィックス部を含む2値化信号を多値化することによりY成分を復元する。
以上のように、LAST位置情報に含まれるX成分およびY成分が復元される。
次に、可変長符号化および可変長復号について説明する。H.264では、可変長符号化方法の1つとして、コンテキスト適応算術符号化(CABAC:Context Adaptive Binary Arithmetic Coding)が用いられる。プリフィックス部は、このCABACによって符号化される。一方、サフィックス部は、固定確率(例えば「0.5」)を用いた算術符号化であるバイパス符号化によって符号化される。そこで、コンテキスト適応算術復号処理およびバイパス復号処理について、図4〜図6を用いて説明する。
図4は、コンテキスト適応算術復号処理を示すフローチャートである。なお、この図4は、非特許文献1より抜粋した図面である。特に説明がない限り、図4の説明は、非特許文献1に記載の通りである。
算術復号処理では、まず、復号対象信号の信号種別に基づいて決められるコンテキスト(ctxIdx)が入力される。
次に、ステップS2001において、以下の処理が行われる。
まず、現在の算術復号の状態を示す第1のパラメタcodIRangeから、qCodIRangeIdxを算出する。さらに、ctxIdxに対応した状態値であるpStateIdxを取得する。そして、テーブル(rangeTableLPS)を参照することにより、その2つの値(qCodIRangeIdxおよびpStateIdx)に対応するcodIRangeLPSを取得する。
なお、このcodIRangeLPSは、算術復号の状態を示す第1のパラメタcodIRangeに対してLPSが発生した場合の算術復号の状態を示す。LPSは、シンボル「0」および「1」のうち発生確率が低い側のシンボルを指し示す。
さらに、codIRangeに、現在のcodIRangeから前述のcodIRangeLPSを減算した値をセットする。
次に、ステップS2002において、codIRangeと、算術復号の状態を示す第2のパラメタcodIOffsetとを比較する。
ここで、codIOffsetがcodIRangeと等しいか大きい場合には(S2002でYes)、ステップS2003において、以下の処理が行われる。
まず、LPSが発生したと判断し、復号出力値であるbinValに、valMPSと異なる値(valMPS=1の場合は「0」、valMPS=0の場合は「1」)をセットする。valMPSは、MPSの具体的な値(「0」または「1」)を示す。また、MPSは、2値シンボルの値「0」および「1」のうち発生確率が高い側の2値シンボルを指し示す。
また、算術復号の状態を示す第2のパラメタcodIOffsetに、現在のcodIOffsetからcodIRangeを減算した値をセットする。さらに、算術復号の状態を示す第1のパラメタcodIRangeに、ステップS2001でセットしたcodIRangeLPSの値をセットする。
次に、ステップS2005において、pStateIdxの値が「0」であるか否かを判定する。
ここで、pStateIdxの値が「0」である場合(ステップS2005でYes)、LPSの確率がMPSの確率を上回ることを示しているので、valMPSの値を入れ替える(valMPS=1の場合は「0」、valMPS=0の場合は「1」を設定する)(ステップS2006)。一方、pStateIdx値が「0」でない場合(ステップS2005でNo)、pStateIdxの値を、LPSが発生した場合に参照する変換テーブルtransIdxLPSに基づいて更新する(ステップS2007)。
また、codIOffsetがcodIRangeより小さい場合には(S2002でNo)、MPSが発生したと判断し、復号出力値であるbinValに、valMPSをセットし、pStateIdxの値をMPSが発生した場合に参照する変換テーブルtransIdxMPSに基づいて更新する(ステップS2004)。
最後に、正規化処理(RenormD)を行い(ステップS2008)、算術復号を終了する。
このようにコンテキスト適応算術復号処理では、2値シンボルの発生確率であるシンボル発生確率をコンテキストインデックスに対応づけて複数保持する。そして、条件(例えば隣接ブロックの値)に応じてコンテキストを切り替えるため、処理の順番を維持する必要がある。
図5は、バイパス復号処理を示すフローチャートである。なお、この図5は、非特許文献1より抜粋した図面である。特に説明がない限り、図5の説明は、非特許文献1に記載の通りである。
まず、現在の算術復号の状態を示す第2のパラメタcodIOffsetを左シフト(2倍)する。さらに、ビットストリームから1ビット読出し、その読出しビットが「1」であれば、さらにcodIOffsetに1を加算する(S3001)。
次に、codIOffsetが算術復号の状態を示す第1のパラメタcodIRangeと等しいもしくは大きい場合には(S3002でYes)、復号出力値であるbinValに「1」をセットし、codIOffsetに、現在のcodIOffsetからcodIRangeを減算した値をセットする(ステップS3003)。一方、codIOffsetが算術復号の状態を示す第1のパラメタcodIRangeより小さい場合には(S3002でNo)、復号出力値であるbinValに「0」をセットする(ステップS3004)。
図6は、図4のステップS2008で示した正規化処理(RenormD)を詳しく説明するためのフローチャートである。この図6は、非特許文献1より抜粋した図面である。特に説明がない限り、図6の説明は、非特許文献1に記載の通りである。
算術復号の状態を示す第1のパラメタcodIRangeが0x100(16進:256(10進))よりも小さくなった場合には(S4001でYes)、codIRangeを左シフト(2倍)する。さらに、算術復号の状態を示す第2のパラメタcodIOffsetを左シフト(2倍)する。さらに、ビットストリームから1ビット読出し、その読出しビットが「1」であれば、さらにcodIOffsetに1を加算する(S4002)。
このステップS4002の処理によって、最終的にcodIRangeが256以上になったときに(S4001でNo)、正規化処理を終了する。
以上のように、算術復号は行われる。
しかしながら、上記の想定技術において、LAST位置情報に含まれるX成分およびY成分は順番に復号されている。つまり、ビットストリーム内には、X成分とY成分とが順に配置されている。したがって、LAST位置情報を算術復号する時には、コンテキスト適応算術復号とバイパス復号とが交互に実行される。すなわち、算術復号方法の切り替えが多く、効率的にLAST位置情報を算術復号することが難しい。
そこで、本発明の一態様に係る画像符号化方法は、符号化対象ブロックに含まれる複数の係数の中で、予め定められた順番で最後の非ゼロ係数の水平方向および垂直方向の位置を示すLAST位置情報を符号化する画像符号化方法であって、前記LAST位置情報に含まれる水平成分および垂直成分の一方である第1の成分と、前記水平成分および前記垂直成分の他方である第2の成分とを2値化することにより、第1の2値化信号と第2の2値化信号とをそれぞれ生成する2値化ステップと、前記第1の2値化信号の一部である第1の部分信号と、前記第2の2値化信号の一部である第2の部分信号とを、第1の算術符号化よって符号化し、かつ、前記第1の2値化信号の他の一部である第3の部分信号と、前記第2の2値化信号の他の一部である第4の部分信号とを、前記第1の算術符号化とは方法が異なる第2の算術符号化によって符号化する算術符号化ステップと、符号化された第1の部分信号、符号化された第2の部分信号、符号化された第3の部分信号、および、符号化された第4の部分信号をビットストリーム内に配置する配置ステップとを含み、前記配置ステップでは、(i)前記符号化された第1の部分信号の次に、前記符号化された第2の部分信号を配置する、または、(ii)前記符号化された第3の部分信号の次に、前記符号化された第4の部分信号を配置する。
これによれば、ある符号化された部分信号の次に、その部分信号と同一の算術符号化によって符号化された部分信号がビットストリーム内に配置される。したがって、算術符号化されたLAST位置情報が復号される際に、異なる方法で算術符号化された複数の部分信号が交互に配置される場合よりも、算術復号の方法の切り替えを減らすことができる。つまり、LAST位置情報を効率的に復号することが可能なビットストリームを出力することができる。
例えば、前記第1の算術符号化は、符号化済み信号に基づいて更新された変動確率を用いるコンテキスト適応算術符号化であり、前記配置ステップでは、前記符号化された第1の部分信号の次に、前記符号化された第2の部分信号を配置してもよい。
これによれば、第1の算術符号化としてコンテキスト適応算術符号化を用いることができる。したがって、2つの符号化された部分信号を、連続して効率的にコンテキスト適応算術復号によって復号することが可能なビットストリームを出力することができる。
例えば、前記第2の算術符号化は、固定確率を用いるバイパス符号化であり、前記配置ステップでは、前記符号化された第3の部分信号の次に、前記符号化された第4の部分信号を配置してもよい。
これによれば、第1の算術符号化としてバイパス符号化を用いることができる。なお、バイパス復号では、変動確率が用いられないので並列処理が容易となる。したがって、2つの符号化された部分信号を、連続してまたは並列して効率的にバイパス復号することが可能なビットストリームを出力することができる。
例えば、前記第1の算術符号化は、符号化済み信号に基づいて更新された変動確率を用いるコンテキスト適応算術符号化であり、前記第2の算術符号化は、固定確率を用いるバイパス符号化であり、前記配置ステップでは、前記符号化された第1の部分信号、前記符号化された第2の部分信号、前記符号化された第3の部分信号および前記符号化された第4の部分信号を、前記符号化された第1の部分信号、前記符号化された第2の部分信号、前記符号化された第3の部分信号および前記符号化された第4の部分信号の順で前記ビットストリーム内に配置してもよい。
これによれば、コンテキスト適応算術符号化によって符号化された2つの部分信号の次に、バイパス符号化によって符号化された2つの部分信号を配置することができる。したがって、LAST位置情報が復号される際に、さらに算術復号の方法の切り替えを減らすことができる。つまり、LAST位置情報をより効率的に復号することが可能なビットストリームを出力することができる。
例えば、前記第1の算術符号化は、符号化済み信号に基づいて更新された変動確率を用いるコンテキスト適応算術符号化であり、前記第2の算術符号化は、固定確率を用いるバイパス符号化であり、前記配置ステップでは、前記符号化された第1の部分信号、前記符号化された第2の部分信号、前記符号化された第3の部分信号および前記符号化された第4の部分信号を、前記符号化された第1の部分信号、前記符号化された第2の部分信号、前記符号化された第4の部分信号および前記符号化された第3の部分信号の順で前記ビットストリーム内に配置してもよい。
これによれば、コンテキスト適応算術符号化によって符号化された2つの部分信号の次に、バイパス符号化によって符号化された2つの部分信号を配置することができる。したがって、LAST位置情報が復号される際に、さらに算術復号の方法の切り替えを減らすことができる。つまり、LAST位置情報をより効率的に復号することが可能なビットストリームを出力することができる。
また、これによれば、符号化された第2の部分信号の次に、符号化された第4の部分信号が配置されるので、第2の2値化信号を一連の復号処理によって得ることが可能なビットストリームを出力することができる。
例えば、前記画像符号化方法は、さらに、第1規格に準拠する第1符号化処理、または第2規格に準拠する第2符号化処理に、符号化処理を切り替える切り替えステップと、切り替えられた前記符号化処理が準拠する前記第1規格または前記第2規格を示す識別情報をビットストリームに付加する付加ステップとを含み、前記符号化処理が前記第1符号化処理に切り替えられた場合に、前記第1符号化処理として、前記2値化ステップと、前記算術符号化ステップと、前記配置ステップとが行われてもよい。
これによれば、第1規格に準拠する第1符号化処理と第2規格に準拠する第2符号化処理とを切り替えることが可能となる。
また、本発明の一態様に係る画像復号方法は、復号対象ブロックに含まれる複数の係数の中で、予め定められた順番で最後の非ゼロ係数の水平方向および垂直方向の位置を示すLAST位置情報を復号する画像復号方法であって、ビットストリームに含まれる、符号化された第1の部分信号および符号化された第2の部分信号を、第1の算術復号によって復号し、かつ、前記ビットストリームに含まれる、符号化された第3の部分信号および符号化された第4の部分信号を、前記第1の算術復号とは方法が異なる第2の算術復号によって復号する算術復号ステップと、前記第1の部分信号および前記第3の部分信号からなる第1の2値化信号を多値化することにより、前記LAST位置情報に含まれる水平成分および垂直成分の一方である第1の成分を復元し、かつ、前記第2の部分信号および前記第4の部分信号からなる第2の2値化信号を多値化することにより、前記水平成分および前記垂直成分の他方である第2の成分を復元する復元ステップとを含み、前記ビットストリームには、(i)前記符号化された第1の部分信号の次に、前記符号化された第2の部分信号が配置されている、または、(ii)前記符号化された第3の部分信号の次に、前記符号化された第4の部分信号が配置されている。
これによれば、ある符号化された部分信号の次に、その部分信号と同一の算術符号化によって符号化された部分信号が配置されたビットストリームを復号することによりLAST位置情報を復元することができる。したがって、異なる方法で算術符号化された複数の部分信号が交互に配置されたビットストリームを復号する場合よりも、算術復号の方法の切り替えを減らすことができる。つまり、LAST位置情報を効率的に復号することができる。
例えば、前記ビットストリームには、前記符号化された第1の部分信号の次に、前記符号化された第2の部分信号が配置されており、前記第1の算術復号は、復号済み信号に基づいて更新された変動確率を用いるコンテキスト適応算術復号であってもよい。
これによれば、第1の算術復号としてコンテキスト適応算術復号を用いることができる。したがって、2つの符号化された部分信号を、連続して効率的にコンテキスト適応算術復号によって復号することができる。
例えば、前記ビットストリームには、前記符号化された第3の部分信号の次に、前記符号化された第4の部分信号が配置されており、前記第2の算術復号は、固定確率を用いるバイパス復号であってもよい。
これによれば、第1の算術復号としてバイパス復号を用いることができる。なお、バイパス復号では、変動確率が用いられないので並列処理が容易となる。したがって、2つの符号化された部分信号を、連続してまたは並列して効率的にバイパス復号することができる。
例えば、前記ビットストリームには、前記符号化された第1の部分信号、前記符号化された第2の部分信号、前記符号化された第3の部分信号および前記符号化された第4の部分信号が、前記符号化された第1の部分信号、前記符号化された第2の部分信号、前記符号化された第3の部分信号および前記符号化された第4の部分信号の順で配置されており、前記第1の算術復号は、復号済み信号に基づいて更新された変動確率を用いるコンテキスト適応算術復号であり、前記第2の算術復号は、固定確率を用いるバイパス復号であってもよい。
これによれば、コンテキスト適応算術符号化によって符号化された2つの部分信号の次に、バイパス符号化によって符号化された2つの部分信号が配置されたビットストリームを復号することができる。したがって、LAST位置情報を復号する際に、さらに算術復号の方法の切り替えを減らすことができ、LAST位置情報をより効率的に復号することができる。
例えば、前記ビットストリームには、前記符号化された第1の部分信号、前記符号化された第2の部分信号、前記符号化された第3の部分信号および前記符号化された第4の部分信号が、前記符号化された第1の部分信号、前記符号化された第2の部分信号、前記符号化された第4の部分信号および前記符号化された第3の部分信号の順で配置されており、前記第1の算術復号は、復号済み信号に基づいて更新された変動確率を用いるコンテキスト適応算術復号であり、前記第2の算術復号は、固定確率を用いるバイパス復号であってもよい。
これによれば、コンテキスト適応算術符号化によって符号化された2つの部分信号の次に、バイパス符号化によって符号化された2つの部分信号が配置されたビットストリームを復号することができる。したがって、LAST位置情報を復号する際に、さらに算術復号の方法の切り替えを減らすことができ、LAST位置情報をより効率的に復号することができる。
また、これによれば、符号化された第2の部分信号の次に、符号化された第4の部分信号が配置されたビットストリームが復号されるので、第2の2値化信号を一連の復号処理によって得ることができる。
例えば、前記画像復号方法は、さらに、ビットストリームに付加された第1規格または第2規格を示す識別情報に応じて、前記第1規格に準拠する第1復号処理、または前記第2規格に準拠する第2復号処理に、復号処理を切り替える切り替えステップを含み、前記復号処理が第1復号処理に切り替えられた場合に、前記第1復号処理として、前記算術復号ステップと、前記復元ステップとが行われてもよい。
これによれば、第1規格に準拠する第1復号処理と第2規格に準拠する第2復号処理とを切り替えることが可能となる。
なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を用いて詳細に説明する。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示す。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置および接続形態、ステップ、ステップの順序などは、一例であり、請求の範囲を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
図7は、実施の形態1に係る画像復号装置100の機能構成を示すブロック図である。この画像復号装置100は、LAST位置情報を復号する。ここでは、符号化されたLAST位置情報が、符号化された第1の部分信号、符号化された第2の部分信号、符号化された第3の部分信号および符号化された第4の部分信号を含む場合について説明する。
図7に示すように、画像復号装置100は、算術復号部110と、復元部104とを備える。算術復号部110は、第1の復号部101と、第2の復号部102と、復号制御部103とを有する。
画像復号装置100は、符号化されたLAST位置情報を含むビットストリームBSを取得する。
なお、ビットストリームBSは、符号化された第3の部分信号または符号化された第4の部分信号を含まない場合もある。例えば、復号対象ブロックが所定サイズよりも小さい場合、あるいは、LAST位置情報に含まれる第1の成分または第2の成分の値(Last値)が所定値よりも小さい場合には、ビットストリームBSは、符号化された第3の部分信号または符号化された第4の部分信号を含まない。
符号化された第1の部分信号および符号化された第2の部分信号の各々は、例えば、コンテキスト適応算術符号化によって符号化されたプリフィックス部に相当する。また、符号化された第3の部分信号および符号化された第4の部分信号の各々は、例えば、バイパス符号化によって符号化されたサフィックス部に相当する。
ここでは、ビットストリームBSには、符号化された第2の部分信号が、符号化された第1の部分信号の次に配置されている、または、符号化された第4の部分信号が、符号化された第3の部分信号の次に配置されている。
具体的には、ビットストリームBSには、例えば、符号化された第1の部分信号、符号化された第2の部分信号、符号化された第3の部分信号および符号化された第4の部分信号が、符号化された第1の部分信号、符号化された第2の部分信号、符号化された第3の部分信号および符号化された第4の部分信号の順で配置される。また、ビットストリームBSには、例えば、符号化された第1の部分信号、符号化された第2の部分信号、符号化された第3の部分信号および符号化された第4の部分信号が、符号化された第1の部分信号、符号化された第2の部分信号、符号化された第4の部分信号および符号化された第3の部分信号の順で配置されてもよい。
第1の復号部101は、符号化された第1の部分信号および符号化された第2の部分信号を第1の算術復号によって復号する。第1の算術復号は、例えば、復号済み信号に基づいて更新された変動確率を用いるコンテキスト適応算術復号である。この場合、第1の復号部101は、符号化された第1の部分信号および符号化された第2の部分信号をコンテキスト適応算術復号によって復号する。なお、第1の算術復号は、コンテキスト適応算術復号でなくてもよい。
第2の復号部102は、符号化された第3の部分信号および符号化された第4の部分信号を、第2の算術復号によって復号する。例えば、第2の算術復号は、固定確率を用いるバイパス復号である。この場合、第2の復号部102は、符号化された第3の部分信号および符号化された第4の部分信号をバイパス復号によって復号する。このとき、第2の復号部102は、符号化された第3の部分信号および符号化された第4の部分信号を並列に復号してもよい。
なお、第2の算術復号は、バイパス復号でなくてもよい。つまり、第1の算術復号の方法と第2の算術復号の方法とが異なればよい。
復号制御部103は、ビットストリームBS内の各部がLAST位置情報のX成分であるかY成分であるかを管理する。なお、復号制御部103は、算術復号部110に含まれなくてもよい。つまり、画像復号装置100は、復号制御部103を備えなくてもよい。この場合は、第1の復号部101および第2の復号部102が、X成分およびY成分を管理すればよい。
復元部104は、第1の部分信号および第3の部分信号を含む第1の2値化信号を多値化することにより、LAST位置情報に含まれる水平成分および垂直成分の一方である第1の成分を復元する。また、復元部104は、第2の部分信号および第4の部分信号を含む第2の2値化信号を多値化することにより、LAST位置情報に含まれる水平成分および垂直成分の他方である第2の成分を復元する。
次に、以上のように構成された画像復号装置100の動作について、図8Aおよび図8Bを用いて詳しく説明する。
以下では、第1の成分がX成分であり、第2の成分がY成分であるとする。また、第1の部分信号および第2の部分信号がプリフィックス部であり、第3の部分信号および第4の部分信号がサフィックス部であるとする。また、X成分のサフィックスフラグおよびY成分のサフィックスフラグには、初期値として、「OFF」が設定されているとする。なお、サフィックスフラグは、LAST位置情報の各成分の2値化信号にサフィックス部が含まれているか否かを示す内部フラグである。
図8Aは、実施の形態1に係る画像復号装置100の処理動作の一例を示すフローチャートである。図8Aにおいて、ビットストリームBSには、符号化されたX成分のプリフィックス部、符号化されたY成分のプリフィックス部、符号化されたX成分のサフィックス部および符号化されたY成分のサフィックス部が、符号化されたX成分のプリフィックス部、符号化されたY成分のプリフィックス部、符号化されたX成分のサフィックス部および符号化されたY成分のサフィックス部の順で連続して配置される。なお、各成分のサフィックス部は、各成分の値によってはビットストリームBSに含まれない場合がある。
まず、第1の復号部101は、ビットストリームBSから、符号化されたX成分のプリフィックス部をコンテキスト適応算術復号によって復号する(S101)。例えば、第1の復号部101は、予め定められた最大長まで、または、「1」が復号されるまで、符号化されたプリフィックス部を1ビットずつ算術復号していく。
次に、第1の復号部101は、X成分の2値化信号がサフィックス部を含むか否かを判定する(S102)。例えば、プリフィックス部が予め定められた最大長を有し、かつ、プリフィックス部に含まれる2値シンボルの値の全てが「0」である場合に、第1の復号部101は、X成分の2値化信号がサフィックス部を含むと判定する。
なお、このプリフィックス部の最大長は、例えば変換サイズに応じて予め定められる。例えば、プリフィックス部の最大長は、図9Bまたは図9Cのように定められる。
ここで、X成分の2値化信号がサフィックス部を含む場合(S102でYes)、第1の復号部101は、X成分のサフィックスフラグに「ON」を設定する(S103)。一方、X成分の2値化信号がサフィックス部を含まない場合には(S102でNo)第1の復号部101は、X成分のサフィックスフラグに「ON」を設定しない。つまり、X成分のサフィックスフラグには、初期値である「OFF」が設定されたままとなる。なお、第1の復号部101は、ここでX成分のサフィックスフラグに「OFF」を設定してもよい。
次に、第1の復号部101は、符号化されたX成分のプリフィックス部に続いて配置された、符号化されたY成分のプリフィックス部をコンテキスト適応算術復号によって復号する(S104)。具体的には、第1の復号部101は、X成分のプリフィックス部の復号と同様に、Y成分のプリフィックス部を復号する。
続いて、第1の復号部101は、Y成分の2値化信号がサフィックス部を含むか否かを判定する(S105)。具体的には、第1の復号部101は、X成分の2値化信号がサフィックス部を含むか否かの判定と同様に、Y成分の2値化信号がサフィックス部を含むか否かを判定する。
ここで、Y成分の2値化信号がサフィックス部を含む場合(S105でYes)、第1の復号部101は、Y成分のサフィックスフラグに「ON」を設定する(S106)。一方、Y成分の2値化信号がサフィックス部を含まない場合には(S105でNo)第1の復号部101は、Y成分のサフィックスフラグに「ON」を設定しない。
次に、第2の復号部102は、X成分のサフィックスフラグに「ON」が設定されているか否かを判定する(S107)。ここで、X成分のサフィックスフラグに「ON」が設定されている場合(S107でYes)、第2の復号部102は、符号化されたY成分のプリフィックス部に続いて配置された、符号化されたX成分のサフィックス部をバイパス復号によって復号する(S108)。一方、X成分のサフィックスフラグに「ON」が設定されていない場合(S107でNo)、ステップS108はスキップされる。
復元部104は、プリフィックス部およびサフィックス部の両方を含む、または、プリフィックス部のみを含むX成分の2値化信号を多値化することにより、LAST位置情報のX成分を復元する(S109)。例えば図3BのようにX成分の値が2値化される場合、復元部104は、2値化信号「000010」を多値化することにより、X成分の値「5」を復元する。
次に、第2の復号部102は、Y成分のサフィックスフラグに「ON」が設定されているか否かを判定する(S110)。ここで、Y成分のサフィックスフラグに「ON」が設定されている場合(S110でYes)、第2の復号部102は、符号化されたX成分のサフィックス部に続いて配置された、または、符号化されたY成分のプリフィックス部に続いて配置された、符号化されたY成分のサフィックス部をバイパス復号によって復号する(S111)。一方、Y成分のサフィックスフラグに「ON」が設定されていない場合(S110でNo)、ステップS111はスキップされる。
最後に、復元部104は、プリフィックス部およびサフィックス部の両方を含む、または、プリフィックス部のみを含むY成分の2値化信号を多値化することにより、LAST位置情報のY成分を復元する(S112)。
なお、図8Aでは、第2の復号部102は、X成分のサフィックス部の復号(S108)の後に、Y成分のサフィックス部の復号(S111)を行っていたが、X成分のサフィックス部の復号とY成分のサフィックス部の復号とを並列に行ってもよい。これにより、第2の復号部102は、LAST位置情報の算術復号処理を高速化することができる。
次に、図8Aとは異なる順番でビットストリーム内に、各成分のプリフィックス部およびサフィックス部が配置される場合について説明する。
図8Bは、実施の形態1に係る画像復号装置100の処理動作の他の一例を示すフローチャートである。なお、図8Bにおいて、図8Aと同じ符号が付されたステップの処理は、原則として図8Aで説明した処理と同じである。
また、図8Bにおいて、ビットストリームBSには、符号化されたX成分のプリフィックス部、符号化されたY成分のプリフィックス部、符号化されたX成分のサフィックス部および符号化されたY成分のサフィックス部が、符号化されたX成分のプリフィックス部、符号化されたY成分のプリフィックス部、符号化されたY成分のサフィックス部および符号化されたX成分のサフィックス部の順で連続して配置される。なお、図8Aの場合と同様に、各成分のサフィックス部は、各成分の値によってはビットストリームBSに含まれない場合がある。
まず、第1の復号部101は、符号化されたX成分のプリフィックス部をコンテキスト適応算術復号によって復号する(S101)。そして、第1の復号部101は、X成分の2値化信号がサフィックス部を含むか否かを判定する(S102)。
ここで、X成分の2値化信号がサフィックス部を含む場合(S102でYes)、第1の復号部101は、X成分のサフィックスフラグに「ON」を設定する(S103)。一方、X成分の2値化信号がサフィックス部を含まない場合(S102でNo)、第1の復号部101は、X成分のサフィックスフラグに「ON」を設定しない。
次に、第1の復号部101は、符号化されたX成分のプリフィックス部に続いて配置された、符号化されたY成分のプリフィックス部をコンテキスト適応算術復号によって復号する(S104)。そして、第1の復号部101は、Y成分の2値化信号がサフィックス部を含むか否かを判定する(S105)。
ここで、Y成分の2値化信号がサフィックス部を含む場合(S105でYes)、第2の復号部102は、符号化されたY成分のプリフィックス部に続いて配置された、符号化されたY成分のサフィックス部をバイパス復号によって復号する(S111)。一方、Y成分の2値化信号がサフィックス部を含まない場合(S105でNo)、ステップS111はスキップされる。
次に、復元部104は、プリフィックス部およびサフィックス部の両方を含む、または、プリフィックス部のみを含むY成分の2値化信号を多値化することにより、LAST位置情報のY成分を復元する(S112)。
その後、第2の復号部102は、X成分のサフィックスフラグに「ON」が設定されているか否かを判定する(S107)。ここで、X成分のサフィックスフラグに「ON」が設定されている場合(S107でYes)、第2の復号部102は、符号化されたY成分のプリフィックス部またはサフィックス部に続いて配置された、符号化されたX成分のサフィックス部をバイパス復号によって復号する(S108)。一方、X成分のサフィックスフラグに「ON」が設定されていない場合(S107でNo)、ステップS108はスキップされる。
最後に、復元部104は、プリフィックス部およびサフィックス部の両方を含む、または、プリフィックス部のみを含むX成分の2値化信号を多値化することにより、LAST位置情報のX成分を復元する(S109)。
このように、Y成分のプリフィックス部およびサフィックス部を連続して復号することにより、Y成分の2値化信号がサフィックス部を含むか否かを示す情報(ここではY成分のサフィックスフラグ)をメモリ保持せずに、Y成分を復元することができる。したがって、メモリの必要量を削減することができる。
なお、図8Aおよび図8Bのフローチャートにおいて、X成分およびY成分の2値化信号がサフィックス部を含むことが、例えばビットストリームに含まれる情報に基づいて、予め判定されている場合には、サフィックス部の判定処理(S102、S105)、サフィックスフラグの設定処理(S103、S106)、および、サフィックスフラグの判定処理(S107、S110)は実行されなくてもよい。
次に、符号化されたX成分およびY成分のサフィックス部の復号処理(S108、S111)の一例について説明する。ここでは、サフィックス部が、ゴロム−ライス符号によって2値化されている場合について説明する。
ゴロム−ライス符号では、サフィックス部の長さは、固定長ではない。サフィックス部は、前半部分と後半部分との2部分に分けられる。
後半部分は、ライスパラメタ(以下、「RP」と呼ぶ)が示す長さを有する固定長部分である。
前半部分は、2のRP乗(2RP)で表現できる数(例えば、RPが「2」の場合は「4」)の単位で増加する「1」と、最後のビット位置に設定される「0」とで表現される。つまり、RPが「2」の場合、前半部分の長さは、0、0、0、0、10、10、10、10、110、110、110、110、・・・というように、2のRP乗の単位ごとに1ビットずつ増加する。
なお、ここでは、サフィックス部が表現すべき情報量が既に分かっているため、前半部分が最大長となる場合には、前半部分の最後の「0」を省略することができる。例えば、RPが「2」であり、かつ、最大の情報量が「12」である場合、前半部分は、0、0、0、0、10、10、10、10、11、11、11、11のいずれかで表現することができる。このように、前半部分の最後の「0」を省略することにより、2値化信号の符号量を1ビット削減することができる。
この最大の情報量は、変換サイズの長さと、プリフィックス部の長さとの差分であらわすことができる。これにより、冗長なビットを削減することができる。
また、このRPは、例えば図9Dまたは図9Eのように変換サイズに対して予め定められればよい。これにより、変換サイズに応じて適切な長さの2値化信号でサフィックス部を表現することが可能となり、符号化効率を向上させることができる。
このようにゴロム−ライス符号によって2値化されたサフィックス部を復号する場合の第2の復号部102の動作について図9Aを用いて説明する。図9Aは、実施の形態1に係る第2の復号部102の処理動作の一例を示すフローチャートである。
まず、第2の復号部102は、RP値を設定する(S201)。具体的には、第2の復号部102は、例えば、予め定められたテーブルを参照して、RP値を設定する。この場合の、予め定められたテーブルは、例えば、図9Dまたは図9Eに示すテーブルである。
なお、第2の復号部102は、テーブル参照せずに、RP値を設定してもよい。このRP値の設定については、図10A〜図10Dを用いて後で詳しく説明する。
次に、第2の復号部102は、Max値を設定する(S202)。ここで、Max値とは、ゴロム−ライス符号の前半部分の長さの最大値を示す。つまり、Max値は、Last値の最大値からプリフィックス部の最大長を引いた値を表現できる最短の2値化信号の長さを示す。したがって、第2の復号部102は、Last値の最大値からプリフィックス部の長さを減算し、減算して得られた値を2のRP乗で割る、もしくはRPビットだけ右シフト演算することにより、Max値を導出する。
なお、プリフィックス部の最大長は、図9Bまたは図9Cに示すように、変換サイズに応じて変えられてもよい。
次に、第2の復号部102は、ビットストリームBSから、ゴロム−ライス符号の1ビット分をバイパス復号によって復号し、カウント値(初期値は「0」)を1だけインクリメントする(S203)。
ここで、復号された1ビット分の信号が「0」である場合(S204でYes)、ゴロム−ライス符号の前半部分の復号を終了し、ステップS206へ進む。
一方、復号された信号が「0」ではない(「1」である)場合(S204でNo)、カウント値がMax値と同じであるかどうかを判定する(S205)。ここで、カウント値がMax値と同じではない場合(S205でNo)、ステップS203に戻る。すなわち、第2の復号部102は、ゴロム−ライス符号の次の1ビット分をバイパス復号によって復号する。
一方、カウント値がMax値と同じである場合は(S205でYes)、サフィックス部の前半部分の復号を終了し、ステップS206へ進む。
次に、第2の復号部102は、ゴロム−ライス符号の後半部分(RPビットの固定長の2値化信号)をバイパス復号によって復号する(S206)。
最後に、第2の復号部102は、ゴロム−ライス符号で表現された値を復元する(S207)。ここで、値の復元方法としては、ゴロム−ライス符号の前半部分で表される値から1引いた値をRPビットだけ左にシフトした値と、後半部分とを加算する。
なお、後半部分の2値化信号の値を逆転させて2値化している場合もある。この場合、第2の復号部102は、この逆転を考慮して復元する。なお、2値化信号の値を逆転させるか否かは、予め復号側と符号化側とで決めておけばよい。2値化信号の値を逆転させるか否かは、符号化効率および処理負荷に影響しない。
次に、RP値およびプリフィックス部の最大長の決定方法を図10A〜図10Dを用いて説明する。
図10Aは、変換サイズに応じて、RP値とプリフィックス部の最大長とを決定する方法を示す。
まず、第2の復号部102は、変換サイズを取得する(S301)。そして、第2の復号部102は、図9Dまたは図9Eに示すような変換サイズとRP値との関係を示すテーブルを参照することにより、取得された変換サイズに対応するRP値を決定する(S302)。さらに、第2の復号部102は、図9Bまたは図9Cに示すような変換サイズとプリフィックス部の最大長との関係を示すテーブルを参照することにより、プリフィックス部の最大長を決定する(S303)。
図10Bは、予測情報に応じて、RP値とプリフィックス部の最大長とを決定する方法を示す。
まず、第2の復号部102は、予測情報を取得する(S311)。この予測情報とは、復号対象ブロックである変換ブロックの予測に関する情報である。例えば、予測情報は、変換ブロックがイントラ予測であるか、インター予測であるかを示す。また例えば、予測情報は、イントラ予測の予測方向を示す情報であってもよい。
次に、第2の復号部102は、予測情報に基づいてRP値を決定する(S312)。例えば、インター予測の場合には、イントラ予測に比べて一般的に高周波数成分が少ないことが知られている。したがって、第2の復号部102は、予測情報がインター予測を示す場合に、小さい値を有するX成分およびY成分を短い2値化信号で表現できるようなRP値を決定すればよい。具体的には、第2の復号部102は、予測情報がインター予測を示す場合に、予測情報がイントラ予測を示す場合に比べて小さなRP値を決定すればよい。
また、イントラ予測の方向が水平方向である場合には、一般的に、LAST位置情報のY成分がX成分よりも小さくなることが想定される。そこで、イントラ予測の予測方向が水平方向である場合に、第2の復号部102は、X成分のRP値よりも小さいRP値をY成分のRP値として決定すればよい。なお、イントラ予測の予測方向が垂直方向である場合は、第2の復号部102は、Y成分のRP値よりも小さいRP値をX成分のRP値として決定すればよい。
最後に、第2の復号部102は、予測情報に基づいてプリフィックス部の最大長を決定する(S313)。
このように、第2の復号部102は、予測情報に応じて2値化信号の符号長を変化させることができるため、符号化効率を上げることができる。
図10Cは、統計情報に応じて、RP値とプリフィックス部の最大長とを決定する方法を示す。
まず、第2の復号部102は、統計情報を取得する(S321)。統計情報は、例えば、既に復号されたブロックのLAST位置情報に含まれるX成分またはY成分の2値化信号の長さの統計情報である。
次に、第2の復号部102は、統計情報に基づいてRP値を決定する(S322)。最後に、第2の復号部102は、統計情報に基づいてプリフィックス部の最大長を決定する(S323)。
このように、第2の復号部102は、統計情報に応じて2値化信号の符号長を変化させることができるため、さらに符号化効率を向上させることができる。
図10Dは、X成分およびY成分のうちの既に復号済みの成分に応じて、RP値とプリフィックス部の最大長とを決定する方法を示す。
まず、第2の復号部102は、X成分およびY成分のうちの既に復号済みの成分を取得する(S331)。例えば、第2の復号部102は、符号化されたY成分を復号しているときに、既に復号済みのX成分を取得する。また例えば、第2の復号部102は、符号化されたX成分を復号しているときに、既に復号済みのY成分を取得してもよい。
そして、第2の復号部102は、X成分およびY成分のうちの既に復号済みの成分を用いて、X成分およびY成分のうちの未復号の成分のRP値を決定する(S332)。一般的に、X成分とY成分とは、同じようなとなりやすい。そこで、第2の復号部102は、例えば復号済みのX成分の値が一定値(例えば変換サイズの半分)より小さい場合には、Y成分のRP値をX成分のRP値よりも小さな値に決定する。
最後に、第2の復号部102は、X成分およびY成分のうちの既に復号済みの成分に基づいて、X成分およびY成分のうちの未復号の成分のプリフィックス部の最大長を決定する(S333)。
このように、第2の復号部102は、X成分およびY成分のうちの既に復号済みの成分に応じて2値化信号の符号長を変化させることができるため、さらに符号化効率を向上させることができる。
なお、図10A〜図10Dに示すRP値およびプリフィックス部の最大長の決定方法は組み合わせて使用することも可能である。例えば、第2の復号部102は、参照する情報がない場合には、予め決めていた表からRP値を決定し、参照できた情報に応じてRP値を決定してもよい。
また、第2の復号部102は、プリフィックス部の最大長もRP値と同様に決定してもよい。なお、第2の復号部102は、X成分およびY成分の値が小さいことが予測される場合には、X成分およびY成分の値が小さいことが予測される場合よりもプリフィックス部の最大長を短く決定すればよい。これにより、さらに符号化効率を向上させることができる。
次に、符号化されたLAST位置情報の算術復号処理のために必要な時間について、図11Aおよび図11Bを用いて説明する。
図11Aは、実施の形態1における算術復号処理の例を説明するための図である。図11Aでは、符号化されたX成分のプリフィックス部、符号化されたY成分のプリフィックス部、符号化されたY成分のサフィックス部、および符号化されたX成分のサフィックス部が、この順でビットストリームBSに含まれる場合について説明する。
図11Aの(a)は、各成分のプリフィックス部およびサフィックス部を順に算術復号した場合の例を示す。図11Aの(a)では、LAST位置情報のX成分のプリフィックス部の復号(LASTX_PREFIX)、Y成分のプリフィックス部の復号(LASTY_PREFIX)、Y成分のサフィックス部の復号(LASTY_SUFFIX)、X成分のサフィックス部の復号(LASTX_SUFFIXの順で処理が行われている。
ここで、算術復号の処理速度を向上させるために、LAST位置情報の算術復号を並列に実行することが考えられる。しかし、プリフィックス部は、コンテキスト適応算術復号されるため、算術復号処理を並列化することが難しい。具体的には、プリフィックス部の算術復号には、符号化済み信号に基づいて更新された変動確率(シンボル発生確率)が用いられる。つまり、シンボル発生確率の読み込みおよび更新が逐次的に行われる必要がある。そのため、プリフィックス部の算術復号処理の並列化は難しい。
一方、サフィックス部は、バイパス復号によって復号されるため、算術復号処理の並列化は比較的容易である。つまり、サフィックス部の算術復号には、符号化済み信号に基づいて更新された変動確率が用いられず、固定確率(シンボル発生確率)が用いられる。したがって、サフィックス部の算術復号処理の並列化は比較的容易である。
そこで、図11Aの(b)に示すように、サフィックス部の算術復号処理をビット単位で並列化してもよい。これにより、LAST位置情報の算術復号の処理速度を向上させることが可能となる。
また、さらに並列化する場合には、例えば、図11Aの(c)のように、ビットストリームBSからサフィックス部に関する情報を取得し、コンテキスト適応算術復号処理が完了する前に、サフィックス部の算術復号処理が開始されてもよい。これにより、さらに高速にLAST位置情報を復号することが可能となる。
図11Bは、比較例における算術復号処理の例を説明するための図である。図11Bでは、符号化されたX成分のプリフィックス部、符号化されたX成分のサフィックス部、符号化されたY成分のプリフィックス部、および符号化されたY成分のサフィックス部が、この順でビットストリームBSに含まれる場合について説明する。
図11Bの(a)は、各成分のプリフィックス部およびサフィックス部を順に算術復号した場合の例を示す。図11Bの(a)の場合の処理時間は、図11Aの(a)の場合と処理時間は同じである。しかし、図11Bの(a)では、図11Aの(a)より、コンテキスト適応算術復号とバイパス復号との切り替え回数が増加する。
図11Bの(b)は、サフィックス部の算術復号処理をビット単位で並列化した場合の例を説明するための図である。図11Bの(b)では、サフィックス部のバイパス処理が並列化され、図11Bの(a)よりも処理時間が減少する。しかし、X成分のサフィックス部とY成分のサフィックス部とは並列化できない。したがって、図11Bの(b)では、図11Aの(b)よりも処理時間が増大する。
以上のように、実施の形態1に係る画像復号装置100によれば、効率的にLAST位置情報を復号することができる。
具体的には、画像復号装置100は、LAST位置情報に含まれるX成分およびY成分の符号化された2値化信号が、コンテキスト適応算術復号されるグループとバイパス復号されるグループとに分けて配置されたビットストリームを復号することで、LAST位置情報を復元することができる。したがって、画像復号装置100は、算術復号の方法の切り替え回数を減らすことができる。また、並列演算可能なバイパス復号によって復号される部分信号がまとめられるので、画像復号装置100は、符号化されたLAST情報を高速に算術復号することができる。
つまり、画像復号装置100は、ある符号化された部分信号(例えば、X成分のサフィックス部)の次に、その部分信号と同一の算術符号化によって符号化された部分信号(例えば、Y成分のサフィックス部)が配置されたビットストリームを復号することによりLAST位置情報を復元することができる。したがって、異なる方法で算術符号化された複数の部分信号が交互に配置されたビットストリームを復号する場合よりも、画像復号装置100は、算術復号の方法の切り替えを減らすことができ、LAST位置情報を効率的に復号することができる。
なお、図9B〜図9Eに示したRP値およびプリフィックス部の最大長は一例であり、これらとは異なるRP値およびプリフィックス部の最大長であってもよい。例えば、プリフィックス部の最大長をさらに小さくし、サフィックス部を長くしてもよい。これにより、算術復号処理の並列度を上げ、さらに高速な算術復号処理を実現することができる。
なお、本実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、本実施の形態の画像復号装置を実現するソフトウェアは、次のようなプログラムである。
すなわち、このプログラムは、コンピュータに、復号対象ブロックに含まれる複数の係数の中で、予め定められた順番で最後の非ゼロ係数の水平方向および垂直方向の位置を示すLAST位置情報を復号する画像復号方法であって、ビットストリームに含まれる、符号化された第1の部分信号および符号化された第2の部分信号を、第1の算術復号によって復号し、かつ、前記ビットストリームに含まれる、符号化された第3の部分信号および符号化された第4の部分信号を、前記第1の算術復号とは方法が異なる第2の算術復号によって復号する算術復号ステップと、前記第1の部分信号および前記第3の部分信号からなる第1の2値化信号を多値化することにより、前記LAST位置情報に含まれる水平成分および垂直成分の一方である第1の成分を復元し、かつ、前記第2の部分信号および前記第4の部分信号からなる第2の2値化信号を多値化することにより、前記水平成分および前記垂直成分の他方である第2の成分を復元する復元ステップとを含み、前記ビットストリームには、(i)前記符号化された第1の部分信号の次に、前記符号化された第2の部分信号が配置されている、または、(ii)前記符号化された第3の部分信号の次に、前記符号化された第4の部分信号が配置されている画像復号方法を実行させる。
(実施の形態1の変形例)
なお、実施の形態1に係る画像復号装置100は、以下の画像復号装置に含まれてもよい。図12は、実施の形態1の変形例に係る画像復号装置200の構成の一例を示すブロック図である。
画像復号装置200は、圧縮符号化された符号化画像データを復号する。例えば、画像復号装置200は、符号化画像データがブロック毎に復号対象信号として入力される。画像復号装置200は、入力された復号対象信号に、可変長復号、逆量子化および逆変換を行うことで、画像データを復元する。
図12に示すように、画像復号装置200は、エントロピー復号部210と、逆量子化・逆変換部220と、加算器225と、デブロッキングフィルタ230と、メモリ240と、イントラ予測部250と、動き補償部260と、イントラ/インター切換スイッチ270とを備える。
エントロピー復号部210は、入力信号(ビットストリーム)を可変長復号することで、量子化係数を復元する。なお、ここで、入力信号は、復号対象信号であり、符号化画像データのブロック毎のデータに相当する。この符号化画像データには、符号化されたLAST位置情報が含まれる。また、エントロピー復号部210は、入力信号から動きデータを取得し、取得した動きデータを動き補償部260に出力する。
なお、実施の形態1に係る画像復号装置100は、このエントロピー復号部210の一部に相当する。つまり、エントロピー復号部210は、符号化されたLAST位置情報を復号する。
逆量子化・逆変換部220は、エントロピー復号部210によって復元された量子化係数を逆量子化することで、変換係数を復元する。そして、逆量子化・逆変換部220は、復元した変換係数を逆変換することで、予測誤差を復元する。
加算器225は、復元された予測誤差と予測信号とを加算することで、復号画像を生成する。
デブロッキングフィルタ230は、生成された復号画像にデブロッキングフィルタ処理を行う。デブロッキングフィルタ処理された復号画像は、復号信号として出力される。
メモリ240は、動き補償に用いられる参照画像を格納するためのメモリである。具体的には、メモリ240は、デブロッキングフィルタ処理が施された復号画像を格納する。
イントラ予測部250は、イントラ予測を行うことで、予測信号(イントラ予測信号)を生成する。具体的には、イントラ予測部250は、加算器225によって生成された復号画像における、復号対象ブロック(入力信号)の周囲の画像を参照してイントラ予測を行うことで、イントラ予測信号を生成する。
動き補償部260は、エントロピー復号部210から出力された動きデータに基づいて動き補償を行うことで、予測信号(インター予測信号)を生成する。
イントラ/インター切換スイッチ270は、イントラ予測信号およびインター予測信号のいずれかを選択し、選択した信号を予測信号として加算器225に出力する。
以上の構成により、画像復号装置200は、圧縮符号化された符号化画像データを復号する。
(実施の形態2)
実施の形態2に係る画像符号化装置について図面を参照しながら説明する。
図13は、実施の形態2に係る画像符号化装置300の機能構成を示すブロック図である。この画像符号化装置300は、LAST位置情報を符号化する。ここでは、LAST位置情報に含まれる第1の成分の2値化信号(第1の2値化信号)が、第1の部分信号および第3の部分信号を含み、LAST位置情報に含まれる第2の成分の2値化信号(第2の2値化信号)が、第2の部分信号および第4の部分信号を含む場合について説明する。
なお、第1の成分は、水平成分および垂直成分の一方であり、第2の成分は、水平成分および垂直成分の他方である。
図13に示すように、画像符号化装置300は、2値化部310と、算術符号化部320と、配置部330とを備える。算術符号化部320は、第1の符号化部321と、第2の符号化部322と、符号化制御部323とを備える。
2値化部310は、LAST位置情報に含まれる第1の成分と第2の成分とを2値化することにより、第1の2値化信号と第2の2値化信号とをそれぞれ生成する。
第1の符号化部321は、第1の2値化信号の一部である第1の部分信号と、第2の2値化信号の一部である第2の部分信号とを、第1の算術符号化よって符号化する。第1の算術符号化は、例えば、符号化済み信号に基づいて更新された変動確率を用いるコンテキスト適応算術符号化である。なお、第1の算術符号化は、コンテキスト適応算術符号化でなくてもよい。
第2の符号化部322は、第1の2値化信号の他の一部である第3の部分信号と、第2の2値化信号の他の一部である第4の部分信号とを、第1の算術符号化とは方法が異なる第2の算術符号化によって符号化する。第2の算術符号化は、例えば、固定確率を用いるバイパス符号化である。なお、第2の算術符号化は、バイパス符号化でなくてもよい。つまり、第1の算術符号化の方法と第2の算術符号化の方法とが異なればよい。
符号化制御部323は、算術符号化部320に入力された信号が第1〜第4の部分信号のいずれかであるかを管理する。なお、符号化制御部323は、算術符号化部320に含まれなくてもよい。つまり、画像符号化装置300は、符号化制御部323を備えなくてもよい。
配置部330は、符号化された第1の部分信号、符号化された第2の部分信号、符号化された第3の部分信号、および、符号化された第4の部分信号をビットストリーム内に配置する。ここでは、配置部330は、符号化された第2の部分信号を、符号化された第1の部分信号の次に配置する、または、符号化された第4の部分信号を、符号化された第3の部分信号の次に配置する。
具体的には、配置部330は、例えば、符号化された第1の部分信号、符号化された第2の部分信号、符号化された第3の部分信号および符号化された第4の部分信号を、符号化された第1の部分信号、符号化された第2の部分信号、符号化された第3の部分信号および符号化された第4の部分信号の順でビットストリーム内に配置してもよい。また例えば、配置部330は、符号化された第1の部分信号、符号化された第2の部分信号、符号化された第3の部分信号および符号化された第4の部分信号を、符号化された第1の部分信号、符号化された第2の部分信号、符号化された第4の部分信号および符号化された第3の部分信号の順でビットストリーム内に配置してもよい。
次に、以上のように構成された画像符号化装置300の動作について、図14Aおよび図14Bを用いて説明する。
以下では、第1の成分がX成分であり、第2の成分がY成分であるとする。また、第1の部分信号および第2の部分信号がプリフィックス部であり、第3の部分信号および第4の部分信号がサフィックス部であるとする。また、X成分のサフィックスフラグおよびY成分のサフィックスフラグには、初期値として、「OFF」が設定されているとする。なお、サフィックスフラグは、LAST位置情報の各成分の2値化信号にサフィックス部が含まれているか否かを示す内部フラグである。
図14Aは、実施の形態2に係る画像符号化装置300の処理動作の一例を示すフローチャートである。具体的には、図14Aは、図8Aの復号方法で復号可能なビットストリームを生成するための符号化方法を示す。
まず、2値化部310は、LAST位置情報のX成分およびY成分の各々を2値化する(S401)。具体的には、2値化部310は、例えば図15に示すように、X成分およびY成分の各々(Last値)を2値化する。ここでは、サフィックス部は、ゴロム−ライス符号によって2値化される。
次に、第1の符号化部321は、LAST位置情報に含まれるX成分のプリフィックス部をコンテキスト適応算術符号化によって符号化する(S402)。
コンテキスト適応算術符号化とは、図4に示すコンテキスト適応算術復号に対応する符号化である。コンテキスト適応算術符号化では、条件によりコンテキストを切り替え、コンテキストに対応するシンボル発生確率を取得する。そして、取得したシンボル発生確率を用いて2値シンボルを算術符号化する。さらに、符号化した2値シンボルの値に応じて、そのコンテキストに対応する確率値を更新する(非特許文献1参照)。
次に、第1の符号化部321は、X成分の2値化信号がサフィックス部を含むか否かを判定する(S403)。具体的には、第1の符号化部321は、図8AのステップS102と同じ方法で、X成分の2値化信号がサフィックス部を含むか否かを判定する。
ここで、X成分の2値化信号がサフィックス部を含む場合(S403でYes)、第1の符号化部321は、X成分のサフィックスフラグに「ON」を設定する(S404)。一方、X成分の2値化信号がサフィックス部を含まない場合(S403でNo)、第1の符号化部321は、X成分のサフィックスフラグに「ON」を設定しない。つまり、X成分のサフィックスフラグには、「OFF」が設定されたままとなる。なお、第1の符号化部321は、ここでX成分のサフィックスフラグに「OFF」を設定してもよい。
次に、第1の符号化部321は、LAST位置情報に含まれるY成分のプリフィックス部をコンテキスト適応算術符号化によって符号化する(S405)。続いて、第1の符号化部321は、Y成分の2値化信号がサフィックス部を含むか否かを判定する(S406)。
ここで、Y成分の2値化信号がサフィックス部を含む場合(S406でYes)、第1の符号化部321は、Y成分のサフィックスフラグに「ON」を設定する(S407)。一方、Y成分の2値化信号がサフィックス部を含まない場合(S406でNo)、第1の符号化部321は、Y成分のサフィックスフラグに「ON」を設定しない。
次に、第2の符号化部322は、X成分のサフィックスフラグに「ON」が設定されているか否かを判定する(S408)。ここで、X成分のサフィックスフラグに「ON」が設定されている場合(S408でYes)、第2の符号化部322は、X成分のサフィックス部をバイパス符号化によって符号化する(S409)。一方、X成分のサフィックスフラグに「ON」が設定されていない場合(S408でNo)、ステップS409はスキップされる。
第2の符号化部322は、Y成分のサフィックスフラグに「ON」が設定されているか否かを判定する(S410)。ここで、Y成分のサフィックスフラグに「ON」が設定されている場合(S410でYes)、第2の符号化部322は、Y成分のサフィックス部をバイパス符号化によって符号化する(S411)。一方、Y成分のサフィックスフラグに「ON」が設定されていない場合(S410でNo)、ステップS411はスキップされる。
最後に、配置部330は、符号化されたX成分のプリフィックス部、符号化されたY成分のプリフィックス部、符号化されたX成分のサフィックス部、および符号化されたY成分のサフィックス部を、この順でビットストリームBS内に配置する(S412)。ここでは、配置部330は、符号化された順に、各成分のプリフィクス部およびサフィックス部をビットストリームBS内に配置する。
次に、図14Aとは異なる順番でビットストリーム内に、各成分のプリフィックス部およびサフィックス部が配置される場合について説明する。
図14Bは、実施の形態2に係る画像符号化装置300の処理動作の他の一例を示すフローチャートである。具体的には、図14Bは、図8Bの復号方法で復号可能なビットストリームを生成するための符号化方法を示す。なお、図14Bにおいて、図14Aと同じ符号が付されたステップの処理は、原則として図14Aで説明した処理と同じである。
まず、2値化部310は、LAST位置情報のX成分およびY成分の各々を2値化する(S401)。第1の符号化部321は、LAST位置情報に含まれるX成分のプリフィックス部をコンテキスト適応算術符号化によって符号化する(S402)。
次に、第1の符号化部321は、X成分の2値化信号がサフィックス部を含むか否かを判定する(S403)。ここで、X成分の2値化信号がサフィックス部を含む場合(S403でYes)、第1の符号化部321は、X成分のサフィックスフラグに「ON」を設定する(S404)。一方、X成分の2値化信号がサフィックス部を含まない場合(S403でNo)、第1の符号化部321は、X成分のサフィックスフラグに「ON」を設定しない。
そして、第1の符号化部321は、Y成分のプリフィックス部をコンテキスト適応算術符号化によって符号化する(S405)。続いて、第1の符号化部321は、Y成分の2値化信号がサフィックス部を含むか否かを判定する(S406)。
ここで、Y成分の2値化信号がサフィックス部を含む場合(S406でYes)、第2の符号化部322は、Y成分のサフィックス部をバイパス符号化によって符号化する(S411)。一方、Y成分の2値化信号がサフィックス部を含まない場合(S406でNo)、ステップS411はスキップされる。
次に、第2の符号化部322は、X成分のサフィックスフラグに「ON」が設定されているか否かを判定する(S408)。ここで、X成分のサフィックスフラグに「ON」が設定されている場合(S408でYes)、第2の符号化部322は、X成分のサフィックス部をバイパス符号化によって符号化する(S409)。一方、X成分のサフィックスフラグに「ON」が設定されていない場合(S408でNo)、ステップS409はスキップされる。
最後に、配置部330は、符号化されたX成分のプリフィックス部、符号化されたY成分のプリフィックス部、符号化されたY成分のサフィックス部、および符号化されたX成分のサフィックス部を、この順でビットストリームBS内に配置する(S512)。ここでは、配置部330は、符号化された順に、各成分のプリフィクス部およびサフィックス部をビットストリームBS内に配置する。
このように、Y成分のプリフィックス部およびサフィックス部を連続して符号化することにより、Y成分の2値化信号がサフィックス部を含むか否かを示す情報(図14AにおけるY成分のサフィックスフラグ)をメモリ保持せずに、Y成分の2値化信号を符号化することができる。したがって、メモリの必要量を削減することができる。
なお、図14Aおよび図14Bのフローチャートにおいて、X成分およびY成分の2値化信号がサフィックス部を含むことが予め判定されている場合には、サフィックス部の判定処理(S403、S406)、サフィックスフラグの設定処理(S404、S407)、および、サフィックスフラグの判定処理(S408、S410)は実行されなくてもよい。
次に、LAST位置情報に含まれるプリフィックス部およびサフィックス部の符号化方法について、図15を用いて簡単に説明する。
図15は、ブロックサイズが16x16の場合におけるLAST位置情報の2値化信号の一例を示す図である。図15では、プリフィックス部の最大長は「4」であり、RPは「2」である。
プリフィックス部が、プリフィックス部の最大長より短い場合には、第1の符号化部321は、X成分の値の数だけ「0」をコンテキスト適応算術符号化によって符号化し、最後に「1」をコンテキスト適応算術符号化によって符号化する。この場合は、X成分の2値化信号にサフィックス部は含まれていないので、これでX成分の符号化は終了する。
一方、プリフィックス部が、プリフィックス部の最大長より長い場合には、第1の符号化部321は、最大長の数だけ「0」をコンテキスト適応算術符号化によって符号化する。
次に、第2の符号化部322は、サフィックス部の前半部分を符号化する。具体的には、第2の符号化部322は、2のRP乗で表現できる数(RPが「2」の場合は「4」)の単位で「1」を増加させて符号化し、最後に「0」を符号化する。
すなわち、X成分の値が4以上8未満の場合には、第2の符号化部322は、前半部分として「0」のみを符号化する。また、X成分の値が8以上12未満の場合には、第2の符号化部322は、前半部分として「10」を符号化する。また、X成分の値が12以上16未満の場合には、第2の符号化部322は、前半部分として「110」を符号化する。
なお、図15の例では、サフィックス部が表現すべき情報量が「12」(16−4=12)であるので、X成分の値が12以上16未満の場合には、前半部分として、「110」ではなく、最後の「0」が省略された「11」が符号化される。これにより符号長を削減することができる。
次に、第2の符号化部322は、サフィックス部の後半部分を符号化する。後半部分は、RP値の長さを有する固定長部分である。図15の例では、後半部分は、2のRP乗の部分のサフィックス部の数値を2値化した値を左から読んだ形で出力した例である。すなわち、後半部分は、0、1、2、3を2値化した値となる。これは、一例であり、符号化側と復号側の方法が一致すれば特に符号化効率には影響がない。
なお、図14Aおよび図14Bでも、実施の形態1で説明した図11Aのように、サフィックス部の符号化処理を並列化することができ、算術符号化の処理速度を向上させることができる。
以上のように、本実施の形態に係る画像符号化装置300によれば、ある符号化された部分信号(例えば、X成分のサフィックス部)の次に、その部分信号と同一の算術符号化によって符号化された部分信号(例えば、Y成分のサフィックス部)がビットストリーム内に配置される。したがって、算術符号化されたLAST位置情報が復号される際に、異なる方法で算術符号化された複数の部分信号が交互に配置される場合よりも、算術復号の方法の切り替えを減らすことができる。つまり、画像符号化装置300は、LAST位置情報を効率的に復号することが可能なビットストリームを出力することができる。
なお、本実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、本実施の形態の画像符号化装置を実現するソフトウェアは、次のようなプログラムである。
すなわち、このプログラムは、コンピュータに、符号化対象ブロックに含まれる複数の係数の中で、予め定められた順番で最後の非ゼロ係数の水平方向および垂直方向の位置を示すLAST位置情報を符号化する画像符号化方法であって、前記LAST位置情報に含まれる水平成分および垂直成分の一方である第1の成分と、前記水平成分および前記垂直成分の他方である第2の成分とを2値化することにより、第1の2値化信号と第2の2値化信号とをそれぞれ生成する2値化ステップと、前記第1の2値化信号の一部である第1の部分信号と、前記第2の2値化信号の一部である第2の部分信号とを、第1の算術符号化よって符号化し、かつ、前記第1の2値化信号の他の一部である第3の部分信号と、前記第2の2値化信号の他の一部である第4の部分信号とを、前記第1の算術符号化とは方法が異なる第2の算術符号化によって符号化する算術符号化ステップと、符号化された第1の部分信号、符号化された第2の部分信号、符号化された第3の部分信号、および、符号化された第4の部分信号をビットストリーム内に配置する配置ステップとを含み、前記配置ステップでは、(i)前記符号化された第1の部分信号の次に、前記符号化された第2の部分信号を配置する、または、(ii)前記符号化された第3の部分信号の次に、前記符号化された第4の部分信号を配置する画像符号化方法を実行させる。
(実施の形態2の変形例)
なお、実施の形態2に係る画像符号化装置300は、以下の画像符号化装置に含まれてもよい。図16は、実施の形態2の変形例に係る画像符号化装置400の構成の一例を示すブロック図である。
画像符号化装置400は、画像データを圧縮符号化する。例えば、画像符号化装置400には、画像データがブロック毎に入力信号として入力される。画像符号化装置400は、入力された入力信号に、変換、量子化および可変長符号化を行うことで、符号化信号(ビットストリーム)を生成する。
図16に示すように、画像符号化装置400は、減算器405と、変換・量子化部410と、エントロピー符号化部420と、逆量子化・逆変換部430と、加算器435と、デブロッキングフィルタ440と、メモリ450と、イントラ予測部460と、動き検出部470と、動き補償部480と、イントラ/インター切換スイッチ490とを備える。
減算器405は、入力信号と予測信号との差分を、予測誤差として算出する。
変換・量子化部410は、空間領域の予測誤差を変換することで、周波数領域の変換係数を生成する。例えば、変換・量子化部410は、予測誤差にDCT(Discrete Cosine Transform)変換を行うことで、変換係数を生成する。さらに、変換・量子化部410は、変換係数を量子化することで、量子化係数を生成する。
エントロピー符号化部420は、量子化係数を可変長符号化することで、符号化信号を生成する。また、エントロピー符号化部420は、動き検出部470によって検出された動きデータ(例えば、動きベクトル)を符号化し、符号化信号に含めて出力する。
なお、実施の形態2に係る画像符号化装置300は、このエントロピー符号化部420の一部に相当する。つまり、エントロピー符号化部420は、LAST位置情報を符号化する。
逆量子化・逆変換部430は、量子化係数を逆量子化することで、変換係数を復元する。さらに、逆量子化・逆変換部430は、復元した変換係数を逆変換することで、予測誤差を復元する。なお、復元された予測誤差は、量子化により情報が失われているので、減算器405が生成する予測誤差とは一致しない。すなわち、復元された予測誤差は、量子化誤差を含んでいる。
加算器435は、復元された予測誤差と予測信号とを加算することで、ローカル復号画像を生成する。
デブロッキングフィルタ440は、生成されたローカル復号画像にデブロッキングフィルタ処理を行う。
メモリ450は、動き補償に用いられる参照画像を格納するためのメモリである。具体的には、メモリ450は、デブロッキングフィルタ処理が施されたローカル復号画像を格納する。
イントラ予測部460は、イントラ予測を行うことで、予測信号(イントラ予測信号)を生成する。具体的には、イントラ予測部460は、加算器435によって生成されたローカル復号画像における、符号化対象ブロック(入力信号)の周囲の画像を参照してイントラ予測を行うことで、イントラ予測信号を生成する。
動き検出部470は、入力信号と、メモリ450に格納された参照画像との間の動きデータ(例えば、動きベクトル)を検出する。
動き補償部480は、検出された動きデータに基づいて動き補償を行うことで、予測信号(インター予測信号)を生成する。
イントラ/インター切換スイッチ490は、イントラ予測信号およびインター予測信号のいずれかを選択し、選択した信号を予測信号として減算器405および加算器435に出力する。
以上の構成により、画像符号化装置400は、画像データを圧縮符号化する。
以上、1つまたは複数の態様に係る画像復号装置および画像符号化装置について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、1つまたは複数の態様の範囲内に含まれてもよい。
例えば、上記各実施の形態では、LAST位置情報の復号または符号化に特化して説明したが、動きベクトルのX成分およびY成分も上記と同様に復号および符号化することができる。すなわち、X成分のプリフィックス部(コンテキスト適応符号化された部分)とY成分のプリフィックス部(コンテキスト適応符号化された部分)との後に、Y成分のサフィックス部および正負符号を含むバイパス符号化された部分と、X成分のサフィックス部および正負符号を含むバイパス符号化された部分とを配置することで、Y成分のサフィックス部の有無を示す情報をバッファリングすることなく符号化および復号することができる。なお、動きベクトル情報の詳細については、非特許文献1に詳しく記載されているので省略する。
また、上記各実施の形態では、サフィックス部がゴロム−ライス符号によって2値化されていたが、サフィックス部は、他の方法によって2値化されてもよい。例えば、サフィックス部は、図3A〜図3Dに示すように、固定長で2値化されてもよい。
また、上記各実施の形態におけるX成分およびY成分の2値化方法は、一例であり、他の2値化方法によって2値化されてもよい。例えば、図3A〜図3Dにおいて、「0」と「1」とを逆転してLast値が2値化されてもよい。具体的には例えば、図3Bにおいて、Last値「3」が「1110」と2値化されてもよい。
また、上記各実施の形態では、(i)X成分のプリフィックス部、Y成分のプリフィックス部、X成分のサフィックス部、およびY成分のサフィックス部の順に、または、(ii)X成分のプリフィックス部、Y成分のプリフィックス部、Y成分のサフィックス部、およびX成分のサフィックス部の順に、各部が配置される例を説明したが、各部の配置はこれに限られない。例えば、Y成分のプリフィックス部およびX成分のプリフィックス部の順に2つのプリフィックス部が配置されてもよい。
(実施の形態3)
上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
図17は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図17のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局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の例に限らず、図18に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
図19は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)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の構成を図20に示す。情報再生/記録部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はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
図21に光ディスクである記録メディア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の構成は例えば図19に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
図22Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
さらに、携帯電話ex114の構成例について、図22Bを用いて説明する。携帯電話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において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
(実施の形態4)
上記各実施の形態で示した動画像符号化方法または装置と、MPEG−2、MPEG4−AVC、VC−1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG−2トランスポートストリーム形式のデジタルストリームである。
図23は、多重化データの構成を示す図である。図23に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(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が、それぞれ割り当てられている。
図24は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
図25は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図25における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。図25の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time−Stamp)やピクチャの復号時刻であるDTS(Decoding Time−Stamp)が格納される。
図26は、多重化データに最終的に書き込まれる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フィルタへの転送開始時刻を示す。多重化データには図26下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号は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時間の情報を持つ。
図27はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
多重化データ情報ファイルは、図28に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
多重化データ情報は図28に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
ストリーム属性情報は図29に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
また、本実施の形態における動画像復号化方法のステップを図30に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
(実施の形態5)
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図31に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に置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
(実施の形態6)
上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図32は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
より具体的には、駆動周波数切替え部ex803は、図31のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、図31の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態4で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態4で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、図34のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
図33は、本実施の形態の方法を実施するステップを示している。まず、ステップ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を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
(実施の形態7)
テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図35Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4−AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4−AVC規格に対応する復号処理部ex902を共有し、MPEG4−AVC規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。特に、本発明の一態様は、エントロピー復号に特徴を有していることから、例えば、エントロピー復号については専用の復号処理部ex901を用い、それ以外のデブロッキング・フィルタ、動き補償、逆量子化のいずれか、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4−AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
また、処理を一部共有化する他の例を図35Bのex1000に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。