まず、本発明の実施の形態を説明する前に、画像を符号化または復号する際に行われる幾つかの処理について説明する。
例えば、画像符号化装置および画像復号装置は参照リスト(参照ピクチャリストともいう)を構築する。つまり、これらの装置は、他のピクチャを参照してBスライスなどのスライスを符号化または復号する際には、このスライス(スライスに含まれるマクロブロック)に対して参照されるピクチャを列挙した参照リストを構築する。このプロセスでは、参照リスト内で各ピクチャをピクチャ番号順に並び替える処理(参照リスト初期化時の並べ替え処理)が必要になる。例えば、画像符号化装置および画像復号装置は、Bスライスを取得すると、このBスライスに対して参照される参照ピクチャ(短時間参照および長時間参照の両方に用いられるピクチャ、以下同じ)を参照リスト(L0,L1)に加える。ここで、画像符号化装置および画像復号装置は、この参照リスト(L0,L1)内の各参照ピクチャを、その参照ピクチャのピクチャ番号(PicNum)に応じて降順(若い順)に並び替える。
また、画像符号化装置および画像復号装置は、例えば長時間にわたり参照されつづける参照ピクチャなどのピクチャを1つの論理的なメモリ(DPB:Decoded Picture Buffer)に保持させる。ここで、このメモリが飽和することがないように、このメモリに保持された参照ピクチャを管理するため、これらのピクチャに属性をマーキングすることが要請される。
例えば、画像符号化装置および画像復号装置は、参照ピクチャとして用いられないピクチャに対して、そのピクチャが参照される可能性が低くなったと判断した時点、または、所定のコマンド(MMCO:メモリ管理コマンド)を受けた時点で、属性「参照に使用しない(unused for reference)」をマークキングする。なお、その所定のコマンドは、管理対象とされるピクチャが参照されないことを明示するコマンドである。つまり、このようなマーキングの方式または制御には、FIFO(First−In First−Out)管理方式と、メモリ管理コマンドによる適応メモリ制御とがある。
ここで、H.264のピクチャ定義によって可能とされる参照構造の柔軟さは、画像復号装置の実装簡易化には直接貢献しない。参照構造の柔軟性は符号圧縮率の向上に寄与しうるが、この柔軟性が符号化データ(符号化ストリーム)を再生する画像復号装置の実装簡易化に寄与しうるか否かは別の話である。つまり、参照構造の柔軟さによって、画像符号化装置および画像復号装置の処理負担が増してしまう。例えば、制約条件が付与されていることが把握できれば、画像復号装置の実装が簡易になるような場合も存在する。
また、少なくとも過度の柔軟性は、汎用的な処理に限界をもたらす場合がある。例えば、長時間に多数の参照ピクチャを参照する画像符号化装置および画像復号装置が、上述のFIFO方式によってメモリを管理(マーキング処理)すると、そのメモリのサイズが有限であるため、参照に必要なピクチャがメモリから削除されていることがある。また、その画像符号化装置および画像復号装置が、上述のメモリ管理コマンドによる適応メモリ制御を行う場合には、コマンド(メモリ管理コマンド)が逐一必要となる。
そこで、本発明の実施の形態における画像符号化方法および画像復号方法では、制約条件を付した参照構造によって処理負担を軽減することを特徴とする。また、本発明の実施の形態におけるメモリ管理方法では、処理負担の増加を抑えて、参照に必要なピクチャがメモリから削除されるのを防ぐことを特徴とする。
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。本発明は、請求の範囲だけによって限定される。よって、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、本発明の課題を達成するのに必ずしも必要ではないが、より好ましい形態を構成するものとして説明される。
(実施の形態1)
図1は、本発明の実施の形態1における画像符号化装置のブロック図である。
本実施の形態における画像符号化装置1000は、インター予測符号化におけるピクチャの参照に、ピクチャの階層構造に応じた制限を加えていることを特徴とする。このような画像符号化装置1000は、減算器1101と、直交変換部1102と、量子化部1103と、エントロピー符号化部1104と、逆量子化部1105と、逆直交変換部1106と、加算器1107と、デブロッキングフィルタ1108と、メモリ1109と、面内予測部1110と、インター予測部1111と、動き検出部1112と、スイッチ1113と、メモリ制御部1200とを備える。
減算器1101は、動画像信号を取得するとともに、スイッチ1113から予測画像を取得する。そして、減算器1101は、その動画像信号に含まれる符号化対象ブロックから予測画像を減算することによって差分画像を生成する。
直交変換部1102は、減算器1101によって生成された差分画像に対して、例えば離散コサイン変換などの直交変換(周波数変換)を行うことによって、その差分画像を複数の周波数係数からなる係数ブロックに変換する。量子化部1103は、その係数ブロックに含まれる各周波数係数を量子化することによって、量子化された係数ブロックを生成する。
逆量子化部1105は、量子化部1103によって量子化された係数ブロックを逆量子化する。逆直交変換部1106は、その逆量子化された係数ブロックに含まれる各周波数係数に対して逆離散コサイン変換などの逆直交変換(逆周波数変換)を行うことによって、復号差分画像を生成する。
加算器1107は、スイッチ1113から予測画像を取得し、その予測画像と、逆直交変換部1106によって生成された復号差分画像とを加算することによって局所復号画像(再構成画像)を生成する。
デブロッキングフィルタ1108は、加算器1107によって生成された局所復号画像のブロック歪みを除去し、その局所復号画像をメモリ1109に格納する。メモリ1109は、インター予測の際の参照画像として局所復号画像を格納するためのメモリである。なお、このメモリ1109は復号ピクチャバッファ(DPB)として用いられる。
面内予測部1110は、加算器1107によって生成された局所復号画像を用いて、符号化対象ブロックに対してイントラ予測を行うことによって予測画像(イントラ予測画像)を生成する。
動き検出部1112は、動画像信号に含まれる符号化対象ブロックに対して動きベクトルを検出し、その検出された動きベクトルをインター予測部1111とエントロピー符号化部1104とに出力する。
インター予測部1111は、メモリ1109に格納されている画像を参照画像として参照するとともに、動き検出部1112によって検出された動きベクトルを用いることによって、符号化対象ブロックに対して動き補償を行う。インター予測部1111は、このような動き補償を行うことによって、つまり符号化対象ブロックに対してインター予測を行うことによって、符号化対象ブロックの予測画像(インター予測画像)を生成する。
また、インター予測部1111は、動画像信号に含まれる複数のピクチャを階層化する。具体的には、インター予測部1111は、動画像信号に含まれる複数のピクチャのそれぞれが複数のレイヤー(階層)のうちの何れかに属するように、その複数のピクチャを階層化して分類する。なお、本実施の形態では、一例として、インター予測部1111は複数のピクチャを階層化するが、階層化の対象とされる複数の画像のそれぞれはピクチャに限らず、スライスなどの他の画像単位であってもよい。
このような場合、インター予測部1111は、複数のピクチャのうちの何れか1つのピクチャである符号化対象ピクチャが属する第1のレイヤーに応じて制限された範囲にある第2のレイヤーに属するピクチャを、符号化対象ピクチャに対する参照ピクチャとして参照する。具体的には、インター予測部1111は、第1のレイヤーよりも上(高いレベル)にあるレイヤーに属するピクチャの参照を禁止し、第1のレイヤー以下に制限された範囲にある第2のレイヤーに属するピクチャを参照ピクチャとして参照する。
さらに、インター予測部1111は、上述の複数のピクチャのうちの何れか1つのピクチャである符号化対象ピクチャの符号化に参照される参照ピクチャの選択に制限を加えるか否かを示すフラグを生成してエントロピー符号化部1104に出力する。例えば、上述のように、符号化対象ピクチャに対して階層構造に基づく参照制限が加えられている場合には、インター予測部1111は、1を示すフラグを生成してエントロピー符号化部1104に出力する。言い換えれば、インター予測部1111は、制限を加えることがフラグによって示されている場合には、符号化対象ピクチャが属する第1のレイヤーに応じて制限された条件を満たすピクチャを、符号化対象ピクチャに対する参照ピクチャとして選択する。
さらに、インター予測部1111は、階層化された複数のピクチャのそれぞれに対して、そのピクチャが属するレイヤーを示すレイヤー情報を生成し、そのレイヤー情報をエントロピー符号化部1104およびメモリ制御部1200に出力する。
スイッチ1113は、符号化対象ブロックがイントラ予測符号化される場合には、面内予測部1110によって生成された予測画像(イントラ予測画像)を減算器1101及び加算器1107に出力する。一方、スイッチ1113は、符号化対象ブロックがインター予測符号化される場合には、インター予測部1111によって生成された予測画像(インター予測画像)を減算器1101及び加算器1107に出力する。
エントロピー符号化部1104は、量子化部1103によって量子化された係数ブロックと、動き検出部1112によって検出された動きベクトルと、インター予測部1111によって生成されたフラグおよびレイヤー情報とを、エントロピー符号化(可変長符号化)することによって符号化ストリームを生成する。これにより、符号化ストリームには、上述のフラグおよびレイヤー情報が含まれる。
メモリ制御部1200は、インター予測部1111から各ピクチャのレイヤー情報を取得し、それらのレイヤー情報によって示される各ピクチャのレイヤーに基づいて、つまり階層構造に基づいて、メモリ1109に格納される複数のピクチャのそれぞれを管理する。具体的には、メモリ制御部1200は、レイヤーごとに、メモリ1109内の使用可能なメモリ容量のうちの一部の容量を階層容量として、そのレイヤーに対して割り当てる。そして、メモリ制御部1200は、格納されるべき格納対象ピクチャが属するレイヤーに対して割り当てられた容量である階層容量に制限された、メモリ1109内の領域に、その格納対象ピクチャを格納する。なお、メモリ制御部1200は、格納対象ピクチャを格納するための容量がその領域に残されていない場合には、その領域に既に格納されている少なくとも1つの既存ピクチャのうち、最も早くに格納された既存ピクチャをその領域から削除し、格納対象ピクチャを格納してもよい。
ここで、メモリ制御部1200は、レイヤーごとに階層容量を割り当てる際には、その複数のレイヤーのうちの最も下にある最下位レイヤーに対しては、その最下位レイヤーよりも上にある上位レイヤーに対して割り当てられる階層容量よりも大きい階層容量を割り当てる。
さらに、メモリ制御部1200は、メモリ1109に格納されている複数のピクチャのうち、符号化対象ピクチャが属するレイヤーよりも上にあるレイヤーに属するピクチャに対して属性をマーキングする。具体的には、メモリ制御部1200は、参照に使用されないピクチャであることを示す属性をマーキングする。
以下、インター予測部1111によって構築されるピクチャの階層構造および参照構造について詳細に説明する。
図2は、インター予測部1111によって構築される階層構造および参照構造を示す図である。なお、図2中、ピクチャに付されたアルファベットおよび数字は、それぞれピクチャタイプおよびピクチャの表示順を示す。例えば、I0は、ピクチャタイプ「I」およびピクチャの表示順「0」を示し、Br2は、ピクチャタイプ「B」およびピクチャの表示順「2」を示す。
インター予測部1111は、図2に示すように、動画像信号に含まれる複数のピクチャのそれぞれを各レイヤー(階層)に分類することによって構築される階層構造に基づいて、参照構造を定義している。ここで、インター予測部1111は、複数のピクチャの表示順で先頭のピクチャをIピクチャとして用い、先頭のIピクチャ以外のピクチャを、Bピクチャとして用いる。また、インター予測部1111は、複数のレイヤーのそれぞれにおいて、そのレイヤーに属するピクチャのインター予測には、そのレイヤーと同一のレイヤーに属するピクチャ、または、より低いレベルのレイヤーに属するピクチャを参照する。つまり、インター予測部1111によって構築される参照構造では、符号化対象ピクチャの属するレイヤーより高いまたは上にあるレイヤーに分類されるピクチャの参照を認めない(符号化対象ピクチャのレイヤーと同じレイヤーか低いレイヤーのピクチャへの参照を行う)という制限が付されている。
例えば、インター予測部1111は、図2に示すように、レイヤー3に属するピクチャB1に対してインター予測する際には、レイヤー0に属するピクチャI0と、レイヤー2に属するピクチャBr2とを参照する。また、インター予測部1111は、レベルの最も低いレイヤー0に属するピクチャBf8をインター予測する際には、そのレイヤーと同一のレイヤー0に属するピクチャI0を参照する。ここで、レベルの最も低いレイヤー0に属するピクチャのインター予測には、表示順で前方にあるピクチャのみ参照することができる。
このように、本実施の形態における参照構造では、Iピクチャ以外のピクチャは、Bピクチャとして構成されているため、動画像信号の圧縮率を向上させることが可能である。一般的に、多くの参照ピクチャを参照して符号化されるピクチャの方が、少ない参照ピクチャを参照して符号化されるピクチャよりも、圧縮率を高めることができる。したがって、本実施の形態における参照構造では、Iピクチャ以外のピクチャがBピクチャとして構造されているため、動画像信号の圧縮率を高めることが可能となる。
更に、本実施の形態における参照構造では、複数のレイヤーのうち、レベルの高いレイヤーに属するピクチャは、そのレイヤーと同一のレイヤーに属するピクチャ、または、そのレイヤーよりレベルの低いレイヤーに属するピクチャを参照して符号化される。したがって、画像復号装置を備えた再生装置において、倍速再生などの特殊再生を行うことが容易となる。
例えば、再生装置は、高速再生を行う場合には、レイヤー0に属するピクチャのみを再生する。図2に示す参照構造では、再生装置は、ピクチャI0,Bf8,Bf16を再生する。再生速度を落とす場合には、再生装置は、レイヤー0およびレイヤー1のそれぞれに属するピクチャを再生し、更に、再生速度を落とす場合には、レイヤー0、レイヤー1およびレイヤー2のそれぞれに属するピクチャを再生する。このように、レイヤーにしたがって参照構造を定義することにより、柔軟な高速再生を容易に実現することが可能となる。
つまり、画像符号化装置が、特殊再生で表示される表示対象ピクチャが属するレイヤーよりも高いレベルのレイヤーに属するピクチャを参照ピクチャとして参照して、その表示対象ピクチャを符号化してしまうと、再生装置は、特殊再生において、その参照ピクチャが表示されないにもかかわらず、その参照ピクチャを復号しなければならい。しかし、本実施の形態における画像符号化装置1000では、ピクチャごとに、そのピクチャが属するレイヤーよりも高いレベルのレイヤーに属するピクチャを参照ピクチャとして参照することが禁止されている。したがって、再生装置は、特殊再生において、表示されない参照ピクチャをわざわざ復号するという手間を省くことができる。その結果、本実施の形態では、再生装置に備えられた画像復号装置の処理負担を軽減することができる。
ここで、インター予測部1111は、上述のようにフラグを生成する。つまり、インター予測部1111は、特殊な用途(例えば特殊再生など)のために階層的な制約条件を持って動画像信号(ストリーム)が符号化されたものであるか、又は、制約を受けずに符号化されたものであるか否かを1ビットで識別するフラグを出力する。エントロピー符号化部1104は、例えば、符号化ストリーム中のアクセス単位(例えば、ランダムアクセス単位またはシーケンス)の先頭に、そのフラグ(1ビット)を加える。これにより、再生装置は、符号化ストリームまたは符号化ピクチャが、高速再生またはランダムアクセス等の特殊な用途のためのものか否かを、最小のビット数で判別することができる。その結果、従来のH.264方式により符号化された動画像信号である符号化ストリームと、その符号化ストリームを復号する画像復号装置とに対する、互換性の影響を最小限に抑えることができる。なお、用途に応じた階層構造および参照構造を示す情報、つまり制約の有無を示す情報を、上述のフラグ(1ビット)とは別に、SEI(Supplemental enhancement information)などの付加部分に付与してもよい。
さらに、インター予測部1111は、上述のようにレイヤー情報を生成する。つまり、インター予測部1111は、ピクチャごとに、そのピクチャがどのレイヤーに属しているかを特定するためのレイヤー情報(識別情報)を出力する。このとき、エントロピー符号化部1104は、レイヤー情報を、そのレイヤー情報に対応するピクチャのヘッダに付加する。具体的には、インター予測部1111は、1枚のピクチャ(フレームまたはフィールドペア)内の全てのスライスに対して同じレイヤー情報を割り当てる。これは、高速再生またはランダムアクセスなどの特殊再生の場合、ピクチャ内の各部分(スライス)を互いに異なるレイヤーに割り当てる必要がないためである。これにより、エントロピー符号化部1104は、ピクチャパラメータセットなどのピクチャのヘッダに、レイヤー情報を付加する。
その結果、再生装置は、符号化ストリームに対して高速再生を行う際には、ピクチャのヘッダからレイヤー情報を取得し、高速再生に必要なピクチャのみを再生する。
また、エントロピー符号化部1104は、符号化ストリームの先頭に、複数のレイヤー情報をまとめて配置してもよい。具体的には、エントロピー符号化部1104は、符号化ストリームに含まれる複数のピクチャの符号化順または表示順にしたがって並べられた、それらの複数のピクチャのレイヤー情報を、管理情報として符号化ストリームの先頭に配置する。再生装置は、符号化ストリームを復号する前に、まず、先頭の管理情報を読み込むことにより、どのような高速再生(特殊再生)を行うことができるのかを判断することが可能となる。
また、エントロピー符号化部1104は、光ディスクに符号化ストリームを保存する際などには、符号化ストリームとは別に管理情報を光ディスクに保存してもよい。符号化ストリームとは別に管理情報を保存することにより、再生装置は、符号化ストリームを再生する前に、どのような高速再生を行うことができるのかを判断することが可能となる。
なお、本実施の形態では、レベルの高いレイヤーに属するピクチャは、そのレイヤーと同一のレイヤーに属するピクチャ、または、そのレイヤーより低いレベルのレイヤーに属するピクチャを参照して符号化される。しかし、例外的に、所定のレベルのレイヤーに属するピクチャは、その所定のレベルのレイヤーよりもレベルの高いレイヤーに属するピクチャを参照して符号化されてもよい。例えば、図2の点線の矢印で示すように、最もレベルの低いレイヤーに属するピクチャは、よりレベルの高いレイヤーに属するピクチャを参照して符号化される。具体的には、最もレベルの低いレイヤー0に属するピクチャBf16は、よりレベルの高いレイヤー1に属するピクチャBr4と、よりレベルの高いレイヤー2に属するピクチャBr6を参照して符号化される。
このように、所定のレベルのレイヤーに属するピクチャが、レベルの高いレイヤーに属するピクチャを参照することにより、動画像信号の圧縮率をより高めることが可能となる。一方、特殊再生は制限されることになるため、どのような特殊再生が可能であるのかを示す情報を新たに符号化ストリームに追加してもよい。例えば、最もレベルの低いレイヤーに属するピクチャに対して、どのレイヤーに属するピクチャまで参照することができるのかを示す情報を付加する。例えば、図2に示すように、インター予測部1111は、レイヤー2に属するピクチャまで参照できることを示す情報を出力し、エントロピー符号化部1104は、その情報を符号化ストリームに付加する。その結果、再生装置は、その情報に基づいて、レイヤー0、レイヤー1およびレイヤー2のそれぞれに属するピクチャの再生と、レイヤー0、レイヤー1、レイヤー2およびレイヤー3のそれぞれに属するピクチャの再生とが特殊再生として可能であることを判断する。どのレイヤーに属するピクチャまで参照することができるのかを示す情報は、符号化ストリームのヘッダに付加されもよいし、符号化ストリームとは別の管理情報として保存されてもよい。
なお、インター予測部1111は、最もレベルの低いレイヤーに属するピクチャよりも、表示順で後方に位置するピクチャのインター予測に対しては、その最もレベルの低いレイヤーに属するピクチャよりも、表示順で前方に位置するピクチャの参照を禁止してもよい。すなわち、インター予測部1111は、最もレベルの低いレイヤーに属するピクチャを、参照制限を設ける際の基準ピクチャとして扱う。このような参照制限を設けることにより、画像復号装置が、最もレベルの低いレイヤーに属するピクチャにランダムアクセスした際に、ランダムアクセスされたピクチャ以降に位置するピクチャの復号を保証することが可能となる。また、インター予測部1111は、最もレベルの低いレイヤーに属するピクチャに対し、そのピクチャが参照制限のための基準ピクチャであるか否かを示す情報を出力してもよい。この場合、エントロピー符号化部1104は、そのピクチャに対して、基準ピクチャであるか否かを示す情報を付加する。これにより、最もレベルの低いレイヤーには、基準ピクチャと、基準ピクチャでないピクチャとが混在するため、動画像信号の圧縮率の向上とランダムアクセスとを両立させることが可能となる。
ここで、基準ピクチャは、最もレベルの低いレイヤーに属するピクチャではなく、例えば符号化対象ピクチャのレイヤーよりもレベルの低いレイヤーに属するピクチャであってもよい。つまり、基準ピクチャは、符号化対象ピクチャが属する第1のレイヤーに応じて制限された範囲、つまり第1のレイヤーよりも下に制限された範囲にある第2のレイヤーに属するピクチャである。例えば、符号化順で符号化対象ピクチャと候補ピクチャとの間にその基準ピクチャがある。この場合、インター予測部1111は、参照ピクチャを選択する際には、符号化順で符号化対象ピクチャよりも前にあるその候補ピクチャを参照ピクチャとして選択することを禁止し、その候補ピクチャ以外のピクチャを参照ピクチャとして選択する。これにより、適切なピクチャを参照ピクチャとして選択することができ、処理負担をさらに抑えることができる。
また、インター予測部1111は、さらに、ランダムアクセスのアクセス位置にあるピクチャのインター予測に対しては、最もレベルの低いレイヤーのピクチャを参照してもよい。つまり、ランダムアクセスのアクセス位置となりえるレイヤー3に属するピクチャのインター予測については、必ずレイヤー0に属するピクチャのみが参照ピクチャとして参照されてもよい。これにより、画像復号装置は、ランダムアクセスのアクセス位置のピクチャを復号する際には、レイヤー0の参照ピクチャを直接参照して、中間レイヤー(アクセス位置のピクチャが属するレイヤーと最もレベルの低いレイヤー0との間にあるレイヤー)のピクチャを復号することなく、そのアクセス位置のピクチャを復号することができる。さらに、Switching P(SP)スライス等の追加の符号データも不要である。
以下、メモリ制御部1200がメモリ1109を管理するメモリ管理方法について詳細に説明する。
例えば、図2に示す参照構造に対して現行のH.264の規格におけるメモリ管理方法が単純に適用されると、符号化対象ピクチャの符号化に参照される参照ピクチャがメモリ1109から削除され、その参照ピクチャを参照することができない場合が生じることがある。
図3は、必要な参照ピクチャが削除される場合のメモリ管理方法の一例を示す図である。
まず、符号化順で0番目の処理において、ピクチャI0が符号化および復号され、参照ピクチャI0としてメモリに格納される。その後、参照ピクチャがメモリに順次格納され、符号化順で3番目の処理において、ピクチャI0、ピクチャBf8、ピクチャBr4、およびピクチャBr2がメモリに格納される。次に、符号化順で4番目の処理では、新たにピクチャBr6がメモリ1109に追加され、最も早くメモリに格納されていたピクチャI0がそのメモリから削除さる。
しかし、ピクチャI0は、符号化順で5番目の処理において、ピクチャB1の符号化に参照されるため、5番目の処理においてピクチャI0を再度復号する必要が生じる。言い換えれば、ピクチャB1の符号化のために、メモリには、ピクチャI0を格納しておけるだけのより大きなメモリ容量が必要になる。
また、同様に、符号化順で9番目の処理において、ピクチャBf8がメモリから削除される。しかし、ピクチャBf8は、符号化順で10番目の処理において、ピクチャBr12の符号化に参照されるため、10番目の処理においてピクチャBf8を再度復号する必要が生じる。言い換えれば、符号化順で10番目の処理において、ピクチャBf8をメモリに格納された状態にしておくためには、そのメモリに、より大きなメモリ容量が必要である。または、メモリ管理コマンド(MMCO)の適用が必要である。
このように、図2に示す参照構造に対して現行のH.264の規格におけるメモリ管理方法が単純に適用されると、メモリに格納されておかれるべき参照ピクチャが削除されるという課題が生じる。
このような課題を解決するために、ピクチャの符号化順に制限をかけてもよい。
図4は、ピクチャの符号化順に制限をかけた場合のメモリ管理方法の一例を示す図である。
例えば、最もレベルの高いレイヤー以外のレイヤーに属するピクチャの符号化順をできるだけ後にするという制限をかける。なお、このような制限においても、符号化順で前のピクチャの符号化に後のピクチャが参照されることはない。また、符号化順は復号順と同一である。
具体的には、図4によって示される符号化順では、レイヤー2のピクチャBr6は、レイヤー3のピクチャB1およびB3の符号化順よりも後にある。このような符号化順によって、レイヤー3のピクチャB1を符号化する際には、ピクチャB1に参照されるピクチャI0がメモリ1109に格納されている。したがって、ピクチャI0を再復号する手間を省くことができるとともに、メモリ1109の容量の増加を抑えることができる。
しかし、このような場合であっても、ピクチャBf8は、符号化順で9番目の処理(ピクチャBf16の符号化および復号)によって、メモリから削除される。その結果、ピクチャBf8は、符号化順で10番目の処理において、ピクチャBr12の符号化に参照されるため、ピクチャBf8を再度復号する必要が生じる。または、符号化順で10番目の処理において、ピクチャBf8を格納しておくためには、メモリにより大きなメモリ容量が必要になる。または、メモリ管理コマンド(MMCO)の適用が必要である。
図5は、本実施の形態におけるメモリ制御部1200によるメモリ管理方法を示す図である。
メモリ制御部1200は、ピクチャの階層構造および参照構造を用いてメモリ1109を管理している。例えば、メモリ1109は、4枚のピクチャを格納するだけのメモリ容量を有する。この場合、メモリ制御部1200は、メモリ1109の使用可能な容量であるピクチャ4枚分のメモリ容量のうち、ピクチャ2枚分のメモリ容量を階層容量として、最もレベルの低いレイヤー0に割り当てる。さらに、メモリ制御部1200は、メモリ1109の上述のピクチャ4枚分のメモリ容量のうち、ピクチャ1枚分のメモリ容量を階層容量として、レイヤー1およびレイヤー2のそれぞれに割り当てる。つまり、ピクチャ1枚分の階層容量が、最もレベルの低いレイヤー0および最もレベルの高いレイヤー3を除く、中間レイヤーのそれぞれに割り当てられる。
次に、メモリ制御部1200は、動画像信号に含まれるピクチャのレイヤー情報をインター予測部1111から取得する。そして、そのレイヤー情報がレイヤー0を示す場合には、メモリ制御部1200は、メモリ1109内の、レイヤー0に対して割り当てられた階層容量の領域に、そのピクチャを格納する。また、そのレイヤー情報がレイヤー1または2を示す場合には、メモリ制御部1200は、メモリ1109内の、レイヤー1または2に割り当てられた階層容量の領域に、そのピクチャを格納する。
このように、本実施の形態では、他のピクチャから参照される可能性が高いピクチャが属する、レベルの低いレイヤーに対して多くの階層容量を割り当て、他のピクチャから参照される可能性が低いピクチャが属する、レベルの高いレイヤーに対しては少ないメモリ容量を割り当てる。これにより、メモリ1109のメモリ容量を拡大させることなく、またはMMCOを適用することなく、符号化および復号に必要となる参照ピクチャを確実にメモリ1109に格納しておくことが可能となる。
なお、階層容量の割り当て方は、図5に示す例に限らない。メモリ制御部1200は、レベルの低いレイヤーに対して多くの階層容量を割り当てればよく、例えば、レイヤー0に対しピクチャ3枚分の階層容量を当て、他のレイヤー1および2の全体に対してピクチャ1枚分の階層容量を割り当ててもよい。
図6は、本実施の形態における画像符号化装置1000による処理を示すフローチャートである。
画像符号化装置1000のインター予測部1111は、符号化対象画像が属する第1のレイヤーに応じて制限された範囲にある第2のレイヤーに属する画像を、符号化対象画像に対する参照画像として参照する(ステップS10)。そして、画像符号化装置1000は、参照画像に基づいて符号化対象画像を符号化する(ステップS11)。なお、本実施の形態では、インター予測部1111が、参照画像を参照する参照部(第1の参照部)として構成されている。また、画像符号化装置1000に備えられる少なくとも1つの構成要素が、符号化対象画像を符号化する符号化部として構成されている。
これにより、符号化対象画像の符号化に参照される参照画像が属するレイヤーは、その符号化対象画像が属する第1のレイヤーに応じて制限された範囲にある。したがって、符号化対象画像の符号化に参照される参照画像が第1のレイヤーに応じて制限されているため、その符号化の処理負担を軽減することができる。さらに、このように符号化された画像を復号する際にも、参照画像が制限されているため、その復号の処理負担を軽減することができる。
ここで、インター予測部1111は、ステップS10で参照画像を参照する際には、第1のレイヤーよりも上にあるレイヤーに属する画像の参照を禁止し、第1のレイヤー以下に制限された範囲にある第2のレイヤーに属する画像を参照画像として参照する。
これにより、符号化対象画像が属する第1のレイヤーよりも上にあるレイヤーに属する画像の参照が禁止されているため、少ない処理負担で符号化対象画像を符号化することができる。同様に、符号化された画像を復号する際にも、その符号化された画像が属するレイヤーよりも上にあるレイヤーに属する画像を参照する必要がないため、その符号化された画像を、少ない処理負担で復号することができる。また、動画像信号に含まれる複数の画像のそれぞれが符号化対象画像として扱われてその動画像信号が符号化された場合には、符号化された動画像信号に含まれる何れの画像の復号においても、その画像が属するレイヤーよりも上にあるレイヤーに属する画像を参照する必要がない。したがって、画像復号装置は、特殊再生(高速再生)の対象とされるレイヤーに属する画像のみを復号すればよく、特殊再生の対象とされるレイヤーより上にあるレイヤーに属する画像をわざわざ復号して参照する手間を省くことができる。例えば、N倍速再生(N>2)などの特殊再生の対象とされるレイヤーが最も下にある最下位レイヤー0である場合、画像復号装置は、その最下位レイヤー0よりも上のレイヤー1、2および3にある再生の対象とされない画像をわざわざ復号して参照する必要がなく、最下位レイヤー0に属する各画像のみを復号すればよい。なお、複数の画像のそれぞれはピクチャまたはスライスである。
図7は、本実施の形態における画像符号化装置1000によるフラグを用いた処理を示すフローチャートである。
画像符号化装置1000のインター予測部1111は、符号化対象画像の符号化に参照される参照画像の選択に制限を加えるか否かを示すフラグを生成する(ステップS20)。次に、インター予測部1111は、フラグが制限を加えることを示す場合には、符号化対象画像が属する第1のレイヤーに応じて制限された条件を満たす画像を、符号化対象画像に対する参照画像として選択する(ステップS21)。次に、画像符号化装置1000は、選択された参照画像を参照して符号化対象画像を符号化する(ステップS22)。そして、画像符号化装置1000のエントロピー符号化部1104は、符号化された動画像信号である符号化ストリームにそのフラグを含める(ステップS23)。なお、本実施の形態では、インター予測部1111が、フラグを生成するフラグ生成部として構成されているとともに、参照画像を選択する選択部として構成されている。また、画像符号化装置1000に備えられる少なくとも1つの構成要素が、符号化対象画像を符号化する符号化部として構成されている。また、エントロピー符号化部1104が、符号化ストリームにフラグを含める挿入部として構成されている。
これにより、制限を加えることがフラグによって示される場合には、符号化対象画像が属する第1のレイヤーに応じて制限された条件を満たす画像が参照画像として選択される。つまり、符号化対象画像の符号化に参照される参照画像が第1のレイヤーに応じて制限されている。その結果、符号化対象画像の符号化の処理負担を軽減することができる。また、参照画像の選択に制限を加えるか否かを示すフラグが生成されて、符号化ストリームに含められるため、その符号化ストリームを復号する画像復号装置は、そのフラグに基づいて、参照画像の選択に制限が加えられているか否かを容易に把握することができる。その結果、画像復号装置は、その符号化された動画像信号を少ない処理負担で適切に復号することができる。
図8は、本実施の形態における画像符号化装置1000による具体的な処理を示すフローチャートである。
まず、画像符号化装置1000は、符号化される動画像信号を取得する(S100)。
次に、画像符号化装置1000は、取得された動画像信号に含まれるピクチャをレイヤーに分類する(ステップS101)。そして、画像符号化装置1000は、ピクチャの階層構造に基づく制限にしたがってピクチャを符号化する(ステップS102)。次に、画像符号化装置1000は、符号化されたピクチャと、そのピクチャのレイヤー情報と、フラグとを含む符号化ストリームを出力する(S103)。
図9は、本発明の実施の形態における画像復号装置のブロック図である。
本実施の形態における画像復号装置2000は、画像符号化装置1000によって生成された符号化ストリームを適切に復号する装置であって、エントロピー復号部2101と、逆量子化部2102と、逆直交変換部2103と、加算器2104と、デブロッキングフィルタ2105と、メモリ2106と、面内予測部2107と、インター予測部2108と、スイッチ2109と、メモリ制御部2200とを備える。
エントロピー復号部2101は、符号化ストリームを取得し、その符号化ストリームをエントロピー復号(可変長復号)する。つまり、エントロピー復号部2101は、そのエントロピー復号によって、量子化された係数ブロックと、動きベクトルと、フラグと、レイヤー情報とを生成する。
逆量子化部2102は、エントロピー復号部2101によるエントロピー復号によって生成された、量子化された係数ブロックを逆量子化する。逆直交変換部2103は、その逆量子化された係数ブロックに含まれる各周波数係数に対して逆離散コサイン変換などの逆直交変換(逆周波数変換)を行うことによって、復号差分画像を生成する。
加算器2104は、スイッチ2109から予測画像を取得し、その予測画像と、逆直交変換部2103によって生成された復号差分画像とを加算することによって復号画像(再構成画像)を生成する。
デブロッキングフィルタ2105は、加算器2104によって生成された復号画像のブロック歪みを除去し、その復号画像をメモリ2106に格納するとともに、その復号画像を出力する。
面内予測部2107は、加算器2104によって生成された復号画像を用いて復号対象ブロックに対してイントラ予測を行うことによって予測画像(イントラ予測画像)を生成する。
インター予測部2108は、メモリ2106に格納されている画像を参照画像として参照するとともに、エントロピー復号部2101によるエントロピー復号によって生成された動きベクトルを用いることによって、復号対象ブロックに対して動き補償を行う。インター予測部2108は、このような動き補償を行うことによって、つまり復号対象ブロックに対してインター予測を行うことによって、復号対象ブロックの予測画像(インター予測画像)を生成する。
ここで、このインター予測部2108は、画像符号化装置1000のインター予測部1111と同様に参照画像の選択に制限をかける。つまり、インター予測部2108は、復号対象ピクチャが属する第1のレイヤーに応じて制限された範囲にある第2のレイヤーに属するピクチャを、復号対象ピクチャに対する参照ピクチャとして参照する。具体的には、インター予測部2108は、第1のレイヤーよりも上(高いレベル)にあるレイヤーに属するピクチャの参照を禁止し、第1のレイヤー以下に制限された範囲にある第2のレイヤーに属するピクチャを参照ピクチャとして参照する。
また、インター予測部2108は、符号化ストリームに含まれる複数のピクチャのうち、第1のレイヤーよりも上にある全てのレイヤーのそれぞれに属する全てのピクチャを除く、第1のレイヤー以下にあるレイヤーに属する少なくとも1つのピクチャを示す参照リストを生成する。そして、インター予測部2108は、参照ピクチャを参照する際には、その参照リストに示される少なくとも1つのピクチャから参照ピクチャを選択する。
また、インター予測部2108は上述のフラグを取得する。ここで、インター予測部2108は、そのフラグが制限を加えることを示す場合には、復号対象ピクチャが属する第1のレイヤーに応じて制限された条件を満たすピクチャを、復号対象ピクチャに対する参照ピクチャとして選択する。例えば、インター予測部2108は、画像符号化装置1000のインター予測部1111と同様に、基準ピクチャを用いて参照ピクチャを選択する。そして、インター予測部2108は、選択されたその参照ピクチャを参照して復号対象ピクチャを復号する。
スイッチ2109は、復号対象ブロックがイントラ予測符号化されている場合には、面内予測部2107によって生成された予測画像(イントラ予測画像)を加算器2104に出力する。一方、スイッチ2109は、復号対象ブロックがインター予測符号化されている場合には、インター予測部2108によって生成された予測画像(インター予測画像)を加算器2104に出力する。
メモリ制御部2200は、エントロピー復号部2101から各ピクチャのレイヤー情報を取得し、画像符号化装置1000のメモリ制御部1200と同様に、それらのレイヤー情報によって示される各ピクチャのレイヤーに基づいて、つまり階層構造に基づいて、メモリ2106に格納される複数のピクチャのそれぞれを管理する。
図10は、本実施の形態における画像復号装置2000による処理を示すフローチャートである。
画像復号装置2000のインター予測部2108は、復号対象画像が属する第1のレイヤーに応じて制限された範囲にある第2のレイヤーに属する画像を、復号対象画像に対する参照画像として参照する(ステップS30)。そして、画像復号装置2000は、参照画像に基づいて復号対象画像を復号する(ステップS31)。なお、本実施の形態では、インター予測部2108が、参照画像を参照する参照部(第2の参照部)として構成されている。また、画像復号装置2000に備えられる少なくとも1つの構成要素が、復号対象画像を復号する復号部として構成されている。また、画像はピクチャまたはスライスなどである。
例えば、インター予測部2108は、符号化ストリームに含まれる複数の画像のうち、第1のレイヤーよりも上にある全てのレイヤーのそれぞれに属する全ての画像を除く、第1のレイヤー以下にあるレイヤーに属する少なくとも1つの画像を示す参照リストを生成する。そして、インター予測部2108は、ステップS30において参照画像を参照する際には、その参照リストに示される少なくとも1つの画像から参照画像を選択する。
これにより、復号対象画像の復号に参照される参照画像が属するレイヤーは、その復号対象画像が属する第1のレイヤーに応じて制限された範囲にある。したがって、復号対象画像の復号に参照される参照画像が第1のレイヤーに応じて制限されているため、その復号の処理負担を軽減することができる。
図11は、本実施の形態における画像復号装置2000によるフラグを用いた処理を示すフローチャートである。
画像復号装置2000のインター予測部2108は、符号化ストリームに含まれる複数の画像のうちの何れか1つの画像である復号対象画像の復号に参照される参照画像の選択に制限を加えるか否かを示すフラグを、符号化ストリームから取得する(ステップS40)。次に、インター予測部2108は、そのフラグが制限を加えることを示す場合には、復号対象画像が属する第1のレイヤーに応じて制限された条件を満たす画像を、復号対象画像に対する参照画像として選択する(ステップS41)。そして、画像復号装置2000は、選択された参照画像を参照して復号対象画像を復号する(ステップS42)。なお、本実施の形態では、インター予測部2108が、そのフラグを取得するフラグ取得部として構成されているとともに、参照画像を選択する選択部として構成されている。
これにより、制限を加えることがフラグによって示される場合には、復号対象画像が属する第1のレイヤーに応じて制限された条件を満たす画像が参照画像として選択される。つまり、復号対象画像の復号に参照される参照画像が第1のレイヤーに応じて制限されている。その結果、復号対象画像の復号の処理負担を軽減することができる。
図12は、本実施の形態におけるメモリ管理方法を示すフローチャートである。
画像復号装置2000のメモリ制御部2200は、符号化ストリームに含まれる複数の画像のうちの格納対象画像が属するレイヤーに対して割り当てられた容量である階層容量に制限された、メモリ2106内の領域に、その格納対象画像を格納する(ステップS50)。つまり、メモリ制御部2200は、レイヤーごとに、メモリ2106内の使用可能なメモリ容量のうちの一部の容量を階層容量として当該レイヤーに対して割り当てる。なお、本実施の形態では、メモリ制御部2200が、メモリ管理装置として構成され、上述の格納対象画像を格納する格納制御部を備える。
例えば、長時間にわたって参照される長時間参照画像が他のレイヤーに属し、その長時間参照画像が他の領域に格納されている場合がある。このような場合に、格納対象画像が他の領域に格納されると、その長時間参照画像がメモリ2106から削除されてしまうことがある。したがって、長時間参照画像がメモリ2106から削除された後に、その長時間参照画像を参照するためには、その長時間参照画像を再度復号するなどの処理が必要になる。そこで、本実施の形態におけるメモリ管理方法では、格納対象画像が属するレイヤーに対して割り当てられた階層容量に制限された、メモリ内の領域に、その格納対象画像が格納されるため、長時間参照画像がメモリ2106から削除されてしまうことを防ぐことができる。つまり、必要な参照画像を確実にメモリ2106に格納しておくことができる。その結果、長時間参照画像を再度復号するなどの余分な処理を省くことができる。また、必要な参照画像を確実にメモリ2106に格納しておくために、不要な画像の削除を指示するメモリ管理コマンドを逐次適用するなどの処理負担を省くことができる。
なお、メモリ制御部2200は、格納対象画像を格納する際に、格納対象画像を格納するための容量が上述の領域に残されていない場合には、その領域に既に格納されている少なくとも1つの既存画像のうち、最も早くに格納された既存画像をその領域から削除し、格納対象画像を格納する。
ここで、本実施の形態では、動画像信号(符号化ストリーム)に含まれる複数の画像のうちの処理対象画像の符号化または復号に参照される画像である参照画像が属するレイヤーは、その処理対象画像の属するレイヤー以下のレイヤーに制限されている。このような場合、メモリ制御部2200は、レイヤーごとに階層容量を割り当てる際には、複数のレイヤーのうちの最も下にある最下位レイヤー0に対しては、最下位レイヤー0よりも上にある上位レイヤーに対して割り当てられる階層容量よりも大きい階層容量を割り当てる。
これにより、参照画像が属するレイヤーが、処理対象画像の属するレイヤー以下のレイヤーに制限されているため、最下位レイヤー0に属する画像は、上位レイヤーに属する画像よりも長時間にわたって参照される可能性が高い。そこで、本実施の形態におけるメモリ管理方法では、上位レイヤーに対して割り当てられる階層容量よりも大きい階層容量が最下位レイヤー0に対して割り当てられるため、最下位レイヤー0に属する画像を長時間にわたってメモリに格納しておくことができる。その結果、最下位レイヤー0に属する画像が参照される際に、その画像がメモリ2106から削除され、その画像を参照することができなくなることを防ぐことができる。
また、メモリ制御部2200は、メモリ2106に格納されている複数の画像のうち、復号の対象とされる復号対象画像が属するレイヤーよりも上にあるレイヤーに属する画像に対して属性をマーキングする。例えば、メモリ制御部2200は、参照に使用されない画像であることを示す属性をマーキングする。
これにより、画像に対して属性がマーキングされるため、参照に使用されない不要な画像を簡単に特定することができ、その画像を優先的にメモリ2106から削除することができる。その結果、メモリ2106の容量を有効に活用することができる。
図13は、本実施の形態における画像復号装置2000による具体的な処理を示すフローチャートである。
まず、画像復号装置2000は、符号化ストリームから1ビットのフラグを取得し、そのフラグが1を示しているか否かを判別する(ステップS201)。
ここで、画像復号装置2000は、フラグが1を示していないと判別すると(ステップS201のNO)、そのフラグに対応する復号対象ピクチャを取得し(ステップS202)、その復号対象ピクチャを通常の方法(例えばH.264の規格にしたがったインター予測またはイントラ予測)で復号する(ステップS203)。
一方、画像復号装置2000は、フラグが1を示すと判別すると(ステップS201のYES)、そのフラグに対応する復号対象ピクチャを取得し(ステップS204)、その復号対象ピクチャがインター予測によって復号されるピクチャであるか否かを判別する(ステップS205)。
ここで、画像復号装置2000は、復号対象ピクチャがインター予測によって復号されるピクチャでないと判別すると(ステップS205のNO)、イントラ予測によって復号対象ピクチャを復号する(ステップS206)。
一方、画像復号装置2000は、復号対象ピクチャがインター予測によって復号されるピクチャであると判別すると(ステップS205のYES)、その復号対象ピクチャのレイヤー情報を取得する(ステップS207)。そして、画像復号装置2000のインター予測部2108は、そのレイヤー情報によって示されるレイヤーよりも高いレベルのレイヤーに属するピクチャを特定する(ステップS208)。次に、インター予測部2108は、メモリ2106に格納されているピクチャのうち、特定されたピクチャを除くピクチャを用いて、復号対象ピクチャの参照リスト(L0,L1)を構築する(ステップS209)。
さらに、画像復号装置2000のメモリ制御部2200は、メモリ2106に格納されている、ステップS208で特定されたピクチャに対して、「参照に使用しない」ことを示す属性をマーキングする(ステップS210)。そして、インター予測部2108は、ステップS209で構築された参照リストに示される参照ピクチャを用いたインター予測によって、復号対象ピクチャを復号する(ステップS211)。
ここで、ステップS210では、メモリ制御部2200は、メモリ2106に保持されているピクチャ(参照ピクチャ)のうち、レイヤー情報によって示されるレイヤーよりレベルの高いレイヤーに属する全ての参照ピクチャに対して属性「参照に使用しない」をマーキングする。これによって、復号対象ピクチャのレイヤーより高いレベルのレイヤーに属するピクチャの参照は認めらない旨の制約条件が符号化ストリームに付されていることを、画像復号装置2000はあらかじめ把握することができる。
このように、本実施の形態では、通常のFIFO管理およびMMCOによる適応メモリ制御とは異なる第3の方法(階層構造に基づく方法)により、参照に使用されないことが確かな参照ピクチャに対して属性「参照に使用しない」をマーキングすることができる。これにより、この参照ピクチャが出力(表示)されていれば、その参照ピクチャを自然にメモリ2106から削除することができる。
また、画像復号装置2000は、ステップS209における参照リストの構築(参照リスト初期化時の並び替え処理)において、参照リストから、復号対象ピクチャのレイヤーより高いレベルのレイヤーの参照ピクチャを除き、復号対象ピクチャ(または復号対象スライス)の参照リストを生成または更新する。これにより参照リストの構築プロセスを簡易化することができる。
(変形例)
なお、本実施の形態では、図14、図15および図16に示すようなピクチャの参照およびメモリ管理を行ってもよい。
図14は、本変形例に係る参照構造を示す図である。なお、図14中、ピクチャに付されたアルファベット、数字、および括弧内の数字は、それぞれピクチャタイプ、ピクチャの表示順、およびピクチャの符号化順を示す。I0(0)は、ピクチャタイプ「I」、ピクチャの表示順「0」およびピクチャの符号化順「0」を示し、Br2(3)は、ピクチャタイプ「B」、ピクチャの表示順「2」およびピクチャの符号化順「3」を示す。
例えば、本変形例に係る参照構造では、レベルの最も低いレイヤー0に属するBピクチャであるピクチャBf8(1)とピクチャBf16(9)の符号化および復号には、図14の実線矢印(f:forward)によって示されるように、それぞれ表示順で前にあるピクチャが参照される。また、そのレイヤー0よりもレベルが高く、且つ、レベルの最も高いレイヤー3よりもレベルが低いレイヤーに属するピクチャ、例えばレイヤー2に属するピクチャBr2(3)などの符号化および復号には、図14の実線矢印(r:rear)によって示されるように、表示順で後にあるピクチャが参照される。
このように、本変形例に係る画像符号化装置1000および画像復号装置2000は、Bピクチャを符号化または復号するために、表示順でそのBピクチャから単一の方向(前方または後方)にあるピクチャのみを参照ピクチャとして参照してもよい。この場合、画像符号化装置1000は、単一方向にのみ参照が制限されているか否かを示す単一方向フラグを符号化ストリームに含めてもよい。ここで、この単一方向フラグは、レイヤー0では、前方にのみ参照が可能であって後方への参照が不可能であるか否かを示し、レイヤー1および2では、後方にのみ参照が可能であって前方への参照が不可能であるか否かを示す。このように、単一方向フラグは、階層構造の観点で参照が制限されているか否かを示す。また、画像符号化装置1000は、符号化ストリーム内のシーケンスなどの所定単位ごとに、このような単一方向フラグを符号化ストリームに含める。画像復号装置2000は、符号化ストリームに含まれる単一方向フラグを取得し、その単一方向フラグによって参照制限が示されている場合には、復号対象ピクチャのレイヤーに応じた単一方向(前方または後方)にあるピクチャのみを参照して復号対象ピクチャを復号する。
なお、画像復号装置2000は、単一方向フラグによって参照制限が示されている場合であっても、単一方向以外の他の方向にあるピクチャが利用できれば、図14の点線矢印(opt:option)によって示されるように、単一方向以外の他の方向のピクチャを参照してもよい。また、画像符号化装置1000は、単一方向にあるピクチャをピクチャタイプで示してもよい。この場合、画像符号化装置1000は、そのピクチャタイプを符号化ストリームに含め、画像復号装置2000は、符号化ストリームに含められたそのピクチャタイプに基づいて、単一方向にあるピクチャを参照ピクチャとして参照する。また、レイヤー情報が符号化ストリームに含められる場合には、画像復号装置2000は、そのレイヤー情報に基づいてメモリ2106を開放する。
図15は、本変形例におけるメモリ管理方法の一例を示す図である。
画像復号装置2000は、図14に示す参照構造の符号化ストリームを1倍速再生(通常再生)する場合、全てのレイヤー0,1,2,3のそれぞれに属するピクチャを復号する。このとき、画像復号装置2000は、レイヤー0,1,2のそれぞれに属するピクチャを復号すると、それらのピクチャを参照ピクチャとしてメモリ2106に格納する。一方、画像復号装置2000は、レイヤー3に属するピクチャを復号しても、それらのピクチャを参照ピクチャとしてメモリ2106に格納しない。または、レイヤー3に属するピクチャがメモリ2106に格納されても、メモリ制御部2200は、そのピクチャが格納されると同時に、そのピクチャに対して属性「参照に使用しない」をマーキングする。
図16は、本変形例におけるメモリ管理方法の他の例を示す図である。
画像復号装置2000は、図14に示す参照構造の符号化ストリームを早送り再生する場合、レイヤー3を除くレイヤー0,1,2のそれぞれに属するピクチャを復号する。つまり、ピクチャBr1(4),Br3(5),Br5(7),Br7(8)の復号または再生がスキップされる。このとき、画像復号装置2000は、レイヤー0,1のそれぞれに属するピクチャを復号すると、それらのピクチャを参照ピクチャとしてメモリ2106に格納する。一方、画像復号装置2000は、レイヤー2に属するピクチャを復号しても、そのピクチャを参照ピクチャとしてメモリ2106に格納しない。または、レイヤー2に属するピクチャがメモリ2106に格納されても、メモリ制御部2200は、そのピクチャが格納されると同時に、そのピクチャに対して属性「参照に使用しない」をマーキングする。
このような本変形例に係るピクチャの参照方法およびメモリ管理方法であっても、符号化または復号の処理負担を軽減することができる。
(実施の形態2)
上記実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、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において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
このように、上記実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
(実施の形態3)
上記各実施の形態で示した動画像符号化方法または装置と、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において、従来の規格に準拠した動画像復号方法により復号を行う。
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
(実施の形態4)
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路である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に置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
(実施の形態5)
上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来の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は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態3で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態3で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、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を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
(実施の形態6)
テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図35Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4−AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4−AVC規格に対応する復号処理部ex902を共有し、MPEG4−AVC規格に対応しない、本発明特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4−AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
また、処理を一部共有化する他の例を図35Bのex1000に示す。この例では、本発明に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
このように、本発明の動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。