(本発明の基礎となった知見)
本発明者は、従来の技術において、以下の問題が生じることを見出した。
以下、本発明の比較例に係る画像復号装置について説明する。
ビデオのアクセスユニット(Access Unit:例えば、ピクチャに相当)は、複数の復号ユニット(Decoding Unit)に分割される。また、復号ユニット毎に、画像復号装置が、CPB(Coded Picture Buffer)から当該復号ユニットの符号化データを引き抜く時刻である引き抜き時刻が設定される。これにより、画像復号装置は、復号ユニットの符号化データが揃い次第、当該符号化データを順次復号することができる。こうすることで、画像復号装置は、アクセスユニットの全データの受信完了を待つ必要がないので、遅延時間を低減できる。
この復号ユニット毎のCPBからの引き抜き時刻を決定するためのパラメータは、例えば、全てPicture Timing SEIに記述される。これにより、画像復号装置が、復号ユニットの引き抜き時刻を取得するためには、アクセスユニット内のPicture Timing SEIを毎回解析する必要がある。よって、画像復号装置の負荷が増大するという問題があることを本発明者は見出した。
また、復号ユニットの引き抜き時刻の情報を画像符号化装置から画像復号装置に伝達する方法として、複数の復号ユニットのそれぞれの引き抜き時刻の情報を符号化ビットストリームに含める方法が考えられる。しかしながら、複数の復号ユニット間においてそれぞれ異なる引き抜き時刻の間隔を用いる必要がある場合もあれば、同一の間隔でもよい場合もある。同一の間隔が用いられる場合に、上記のように複数の復号ユニットのそれぞれの引き抜き時刻の情報を符号化ビットストリームに含めることは、冗長な情報が符号化ビットストリームに含まれることになることを本発明者は見出した。
本発明の一態様に係る画像符号化方法は、ピクチャに含まれる1つ以上のユニットを符号化する画像符号化方法であって、仮想デコーダが、符号化データを格納するためのバッファから前記符号化データを読み出す時刻が、前記ユニット単位で設定されるか否かを示す第1フラグを生成する第1フラグ生成ステップと、前記時刻が前記ユニット単位で設定される場合、複数の前記ユニットの読み出し時刻の間隔が一定であるか任意であるかを示す第2フラグを生成する第2フラグ生成ステップと、前記符号化データ、前記第1フラグ及び前記第2フラグを含む符号化ビットストリームを生成するビットストリーム生成ステップとを含む。
これによれば、当該画像符号化方法は、画像復号装置がユニット単位の符号化データをバッファから読み出す時間間隔を一定にすることできる。これにより、例えば、画像復号装置における処理量の低減できる。
例えば、前記ビットストリーム生成ステップでは、前記符号化ビットストリームに含まれ、1以上のピクチャを含むピクチャ群ごとに設けられるピクチャ群の制御情報に前記第2フラグを含めてもよい。
例えば、前記画像符号化方法は、さらに、前記第2フラグが、前記間隔が一定であることを示す場合に、当該間隔を示す固定間隔情報を生成する固定間隔情報生成ステップを含み、前記ビットストリーム生成ステップでは、前記符号化ビットストリームに含まれ、1ピクチャ単位ごとに設けられる1ピクチャ単位の制御情報に前記固定間隔情報を含めてもよい。
例えば、前記固定間隔情報は、1つのピクチャに含まれる前記複数のユニットの数と、ピクチャの時間間隔とを含んでもよい。
例えば、前記画像符号化方法は、さらに、前記第2フラグが、前記間隔が任意であることを示す場合に、前記ユニットごとに前記間隔を示す可変間隔情報を生成する可変間隔情報生成ステップを含み、前記ビットストリーム生成ステップでは、前記1ピクチャ単位の制御情報に前記可変間隔情報を含めてもよい。
例えば、前記画像符号化方法は、さらに、前記第2のフラグが、前記間隔が任意であることを示す場合に、前記ユニットごとに前記間隔を示す可変間隔情報を生成する可変間隔情報生成ステップを含み、前記ビットストリーム生成ステップでは、前記符号化ビットストリームに含まれ、1ユニット単位ごとに設けられる1ユニット単位の制御情報に前記可変間隔情報を含めてもよい。
例えば、前記符号化ビットストリームは、トランスポートストリームと、デスクリプタとを含み、前記ビットストリーム生成ステップでは、前記デスクリプタに前記第2フラグを含めてもよい。
また、本発明の一態様に係る画像復号方法は、符号化データを、ピクチャに含まれる1つ以上のユニットごとに復号する画像復号方法であって、前記符号化データを格納するためのバッファから前記符号化データを読み出す時刻が前記ユニット単位で設定されるか否かを示す第1フラグを、前記符号化データを含む符号化ビットストリームから取得する第1フラグ取得ステップと、前記時刻が前記ユニット単位で設定される場合、複数の前記ユニットの読み出し時刻の間隔が一定であるか任意であるかを示す第2フラグを、前記符号化ビットストリームから取得する第2フラグ取得ステップと、前記第2フラグに従い、前記バッファから符号化データを前記ユニットごとに一定の間隔、又は、任意の間隔で読み出す読み出しステップと、読み出された前記符号化データを復号する復号ステップとを含む。
これによれば、当該画像復号方法は、処理量を低減できる。
例えば、前記第2フラグ取得ステップでは、前記符号化ビットストリームに含まれ、1以上のピクチャを含むピクチャ群ごとに設けられているピクチャ群の制御情報から前記第2フラグを取得してもよい。
例えば、前記画像復号方法は、さらに、前記第2フラグが、前記間隔が一定であることを示す場合に、当該間隔を示す固定間隔情報を、前記符号化ビットストリームに含まれ、1ピクチャ単位ごとに設けられる1ピクチャ単位の制御情報から取得する固定間隔情報取得ステップを含み、前記読み出しステップでは、前記第2フラグが、前記間隔が一定であることを示す場合に、前記固定間隔情報が示す前記間隔で前記バッファから符号化データを前記ユニットごとに読み出してもよい。
例えば、前記固定間隔情報は、1つのピクチャに含まれる前記複数のユニットの数と、ピクチャの時間間隔とを示し、前記読み出しステップでは、前記複数のユニットの数と、前記ピクチャの時間間隔とを用いて、前記間隔を算出し、算出された間隔で前記バッファから符号化データを前記ユニットごとに読み出してもよい。
例えば、前記画像復号方法は、さらに、前記第2フラグが、前記間隔が任意であることを示す場合に、前記複数のユニットの各々の前記間隔を示す可変間隔情報を、前記1ピクチャ単位の制御情報から取得する固定間隔情報取得ステップを含み、前記読み出しステップでは、前記第2フラグが、前記間隔が任意であることを示す場合に、前記可変間隔情報が示す前記間隔で前記バッファから符号化データを前記ユニットごとに読み出してもよい。
例えば、前記画像復号方法は、さらに、前記第2フラグが、前記間隔が任意であることを示す場合に、前記複数のユニットの各々の前記間隔を示す可変間隔情報を、前記符号化ビットストリームに含まれ、1ユニット単位ごとに設けられている1ユニット単位の制御情報から取得する可変間隔情報取得ステップを含み、前記読み出しステップでは、前記第2フラグが、前記間隔が任意であることを示す場合に、前記可変間隔情報が示す前記間隔で前記バッファから符号化データを前記ユニットごとに読み出してもよい。
例えば、前記符号化ビットストリームは、トランスポートストリームと、デスクリプタとを含み、前記第2フラグ取得ステップでは、前記デスクリプタから前記第2フラグを取得してもよい。
また、本発明の一態様に係る画像符号化装置は、制御回路と、前記制御回路に電気的に接続される記憶装置とを備え、ピクチャに含まれる1以上のユニットを符号化する画像符号化装置であって、前記制御回路は、仮想デコーダが、符号化データを格納するためのバッファから前記符号化データを読み出す時刻が、前記ユニット単位で設定されるか否かを示す第1フラグを生成する第1フラグ生成ステップと、前記時刻が前記ユニット単位で設定される場合、複数の前記ユニットの読み出し時刻の間隔が一定であるか任意であるかを示す第2フラグを生成する第2フラグ生成ステップと、前記符号化データ、前記第1フラグ及び前記第2フラグを含む符号化ビットストリームを生成するビットストリーム生成ステップとを実行する。
これによれば、当該画像符号化装置は、画像復号装置がユニット単位の符号化データをバッファから読み出す時間間隔を一定にすることできる。これにより、例えば、画像復号装置における処理量の低減できる。
また、本発明の一態様に係る画像復号装置は、制御回路と、前記制御回路に電気的に接続される記憶装置とを備え、符号化データを、ピクチャに含まれる1以上のユニットごとに復号する画像復号装置であって、前記制御回路は、前記符号化データを格納するためのバッファから前記符号化データを読み出す時刻が前記ユニット単位で設定されるか否かを示す第1フラグを、前記符号化データを含む符号化ビットストリームから取得する第1フラグ取得ステップと、前記時刻が前記ユニット単位で設定される場合、複数の前記ユニットの読み出し時刻の間隔が一定であるか任意であるかを示す第2フラグを、前記符号化ビットストリームから取得する第2フラグ取得ステップと、前記第2フラグに従い、前記バッファから符号化データを前記ユニットごとに一定の間隔、又は、任意の間隔で読み出す読み出しステップと、読み出された前記符号化データを復号する復号ステップとを実行する。
これによれば、当該画像復号装置は、処理量を低減できる。
また、本発明の一態様に係る画像符号化復号装置は、前記画像符号化装置と、前記画像復号装置とを備える。
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
本実施の形態に係る画像符号化装置及び画像復号装置は、アクセスユニットにおける復号ユニット間でCPBからの引き抜き時刻の間隔が(1)一定のモード(間隔固定モード)と、(2)任意のモード(間隔可変モード)との2つのモードを用いる。そして、画像符号化装置は、情報の送信相手である画像復号装置を、仮想参照デコーダとして想定し、モード毎に引き抜き時刻情報の生成と送信方法を切替える。
一例として、画像符号化装置及び画像復号装置は、基本的には間隔固定モードを用いる。また、画像符号化装置及び画像復号装置は、アクセスユニット内で領域ごとに符号量が著しく変動するような映像では間隔可変モードを用いる。
また、画像符号化装置は、間隔固定モードにおいては、アクセスユニット単位ではなく、SPS(Sequence Parameter Set)などのアクセスユニット単位より上位の単位(例えば複数ピクチャ単位)に、引き抜き時刻の間隔を示す情報を含めてもよい。これにより、画像復号装置は、アクセスユニット単位での解析を行う必要がない。
画像復号装置は、SPS(より具体的には、SPS内のVUI(Video Usability Information))などのアクセスユニット単位より上位の単位を解析することで、モードが、間隔固定モード及び間隔可変モードのどちらであるかを判定し、判定されたモードに応じて引き抜き時刻情報の取得方法を切替える。
また、間隔固定モードのみに対応した画像復号装置では、間隔可変モードであると判定した際には、復号ユニット単位での復号開始を行わずに、アクセスユニット単位で復号を開始してもよい。
符号化ストリームは、一般に、MPEG−2 TS(Transport Stream)、MP4、又は、RTP(Real−time Transport Protocol)などにより多重化されて伝送される。よって、画像符号化装置は、上記モードの識別情報、及び間隔固定モードにおける引き抜き時刻の間隔などの、シーケンス単位(複数ピクチャ単位)で固定の情報を、多重化レイヤで伝送してもよい。
以下、本実施の形態に係る第1のシンタックス例を説明する。
図1は、SPSに含まれるVUIのシンタックス例を示す図である。図2は、アクセスユニット毎に付加されるPicture timing SEIのシンタックス例を示す図である。
アクセスユニット内の復号ユニットにおいて、CPBからの引き抜き時刻の間隔が、間隔固定モード、及び、間隔可変モードのどちらであるかを示す情報である間隔可変フラグ(variable_sub_pic_removal_period_flag)は、VUIに格納される。また、画像復号装置は、間隔固定モード時には、引き抜き時刻の間隔をVUI内のパラメータを用いて決定し、間隔可変モード時は、引き抜き時刻の間隔をPicture timing SEIに含まれるパラメータを用いて決定する。
例えば、間隔可変フラグ(variable_sub_pic_removal_period_flag)の値が0の場合、アクセスユニット内の復号ユニット間において、CPBからの引き抜き時刻の間隔は一定である(間隔固定モード)。また、引き抜き時刻の間隔は、VUI内の後続シンタックスにより定義される。
一方、間隔可変フラグの値が1の場合、アクセスユニット内の復号ユニット間において、CPBからの引き抜き時刻の間隔は任意である(間隔可変モード)。また、引き抜き時刻の間隔は、アクセスユニット毎に付加されるPicture timing SEIに含まれる情報により定義される。
また、VUIに含まれる復号単位フラグ(sub_pic_cpb_flag)は、復号処理(CPBからの符号化データの引き抜き)の設定が、アクセスユニット(ピクチャ)単位、又は、復号ユニット単位のどちらで行われるかを示す。復号単位フラグの値が0の場合、アクセスユニット単位であることを示し、復号単位フラグの値が1の場合、復号ユニット単位であることを示す。
なお、その他のシンタックスの定義は、例えば、非特許文献2と同様である。
復号単位フラグ(sub_pic_cpb_flag)と間隔可変フラグ(variable_sub_pic_removal_period_flag)が共に1の場合、Picture timing SEI内にnum_decoding_units_minus1及びcpb_removal_delayが存在する。アクセスユニット内の復号ユニット数は、num_decoding_units_minus1+1である。cpb_removal_delayは、復号ユニット毎のCPBからの引き抜き時刻を規定する。
その他の場合、Picture timing SEI内にnum_decoding_units_minus1は存在せず、その値は0とみなされる。
また、復号単位フラグ(sub_pic_cpb_flag)の値が0の場合、CPBからの引き抜きはアクセスユニット単位で行われ、引き抜き時刻はcpb_removal_delayに基づいて決定される。
また、復号単位フラグの値が1であり、かつ、間隔可変フラグの値が0である場合(sub_pic_cpb_flag=1 && variable_sub_pic_removal_period_flag=0)、CPBからの引き抜きは復号ユニット単位で行われ、引き抜き時刻はVUI内のパラメータに基づいて決定される。
以下、本実施の形態に係る第2のシンタックス例を説明する。
図3は、SPSに含まれるVUIのシンタックス例を示す図である。図4は、SPSに含まれるBuffering period SEIのシンタックス例を示す図である。図5は、アクセスユニット毎に付加されるPicture timing SEIのシンタックス例を示す図である。
このシンタックス例では、アクセスユニットにおける復号ユニット間の引き抜き時刻の間隔が、間隔固定モード、又は、間隔可変モードのどちらであるかを示す情報である間隔可変フラグ(variable_sub_pic_removal_period_flag)は、Buffering period SEIに格納される。ここで、Buffering period SEIは、VUIと同様に例えばSPSに含まれる。言い換えると、Buffering period SEIは、複数ピクチャ単位毎に生成される。
また、画像復号装置は、間隔固定モード時には、引き抜き時刻の間隔をVUI内のパラメータを用いて決定し、間隔可変モード時には、引き抜き時刻の間隔をPicture timing SEI内のパラメータを用いて決定する。
つまり、画像符号化装置は、間隔可変フラグ(variable_sub_pic_removal_period_flag)を、Buffering period SEIに定義する。
なお、復号単位フラグ(sub_pic_cpb_flag)の値が1の場合、画像符号化装置は、VUI内のhrd_parameters()において定義されていたremoval_time_offsetを、Buffering period SEIに格納してもよい。
また、画像符号化装置は、間隔固定モードにおける復号ユニットのCPBからの引き抜き時刻を決定するためのパラメータ(num_ctbs_in_subpicture_minus1及びpicture_interval)を、Buffering period SEIに格納してもよい。
次に、本実施の形態に係る画像復号装置による画像復号方法の流れを説明する。
図6Aは、本実施の形態に係る画像復号方法のフローチャートである。
まず、画像復号装置は、VUIに含まれる復号単位フラグ(sub_pic_cpb_flag)の値に基づいて、CPBからの符号化データの引き抜きがアクセスユニット単位であるか復号ユニット単位であるかを決定する(S101)。
CPBからの引き抜きが復号ユニット単位である場合(S102でYes)、画像復号装置は、VUIに含まれる間隔可変フラグ(variable_sub_pic_removal_period_flag)の値に基づいて、モードが、間隔固定モード、及び間隔可変モードのいずれであるかを決定する(S103)。
間隔固定モードである場合(S104でYes)、画像復号装置は、VUIに含まれるパラメータ(num_ctbs_in_subpicture_minus1及びpicture_interval)に基づいて、復号ユニットの引き抜き時刻を決定する(S105)。
一方、間隔可変モードである場合(S104でNo)、画像復号装置は、Picture timing SEIに含まれるパラメータ(cpb_removal_delay)に基づいて、復号ユニットの引き抜き時刻を決定する(S106)。
また、CPBからの引き抜きがアクセスユニット単位である場合(S102でNo)、画像復号装置は、Picture timing SEIに含まれるパラメータに基づいて、アクセスユニットの引き抜き時刻を決定する(S107)。
次に、本実施の形態に係る画像符号化装置による画像符号化方法の流れを説明する。
図6Bは、本実施の形態に係る画像符号化方法のフローチャートである。
まず、画像符号化装置は、CPBからの符号化データの引き抜きがアクセスユニット単位であるか復号ユニット単位であるかを決定する。そして、画像符号化装置は、決定結果を示す復号単位フラグ(sub_pic_cpb_flag)をVUIに格納する(S201)。
CPBからの引き抜きが復号ユニット単位である場合(S202でYes)、画像符号化装置は、モードが、間隔固定モード、及び間隔可変モードのいずれであるかを決定し、決定結果を示す間隔可変フラグ(variable_sub_pic_removal_period_flag)をVUIに格納する(S203)。
間隔固定モードである場合(S204でYes)、画像符号化装置は、復号ユニットの引き抜き時刻を決定し、決定結果を示すパラメータ(num_ctbs_in_subpicture_minus2及びpicture_interval)をVUIに格納する(S205)。
一方、間隔可変モードである場合(S204でNo)、画像符号化装置は、復号ユニットの引き抜き時刻を決定するためのパラメータ(cpb_removal_delay)をPicture timing SEIに格納する(S206)。
また、CPBからの引き抜きがアクセスユニット単位である場合(S202でNo)、画像符号化装置は、アクセスユニットの引き抜き時刻を決定するためのパラメータをPicture timing SEIに格納する(S207)。
なお、画像符号化装置は、例えば、外部からの指示に従い、CPBからの符号化データの引き抜き単位(アクセスユニット単位又は復号ユニット単位)の選択、間隔固定モード又は間隔可変モードの選択、復号ユニットの引き抜き時刻の決定、及びアクセスユニットの引き抜き時刻の決定を行う。なお、画像符号化装置は、外部からの情報及び入力画像の特性等に応じて、これらの選択又は決定を行ってもよい。
ここで、間隔固定モードを用いた場合、画像符号化装置は、各復号ユニットのデータ量がある範囲内になるように符号化処理を調整する。これにより、ある復号ユニットのデータが大きいことによる、画像復号装置における復号処理の遅延を低減できる。つまり、間隔固定モードは、リアルタイム性が要求される場合に有用である。一方、間隔可変モードでは、画像符号化装置は、必要に応じて復号ユニットのデータ量を適応的に変更することができる。これにより、例えば、ある程度の画質を確保するためには、大きなデータが必要となる復号ユニットには、大きなデータを割り当てることができる。つまり、間隔可変モードは、画質を優先する場合に有用である。
次に、本実施の形態に係る画像復号装置の構成を説明する。
図7Aは、本実施の形態に係る画像復号装置のブロック図である。図7Aに示すように、画像復号装置300は、CPB301と、引き抜き時刻決定部302と、復号部303と、DPB304とを備える。
CPB301は、符号化ストリームを一時的に格納するためのバッファ(メモリ)である。
引き抜き時刻決定部302は、アクセスユニット単位でのCPB301からの引き抜き時刻、及び、復号ユニット単位でのCPB301からの引き抜き時刻を決定する。
復号部303は、引き抜き時刻決定部302で決定された引き抜き時刻において、アクセスユニット単位、又は、復号ユニット単位の符号化データをCPB301から取得し、取得した符号化データを復号し、復号後の復号データをDPB304に格納する。
DPB304は、復号データを一時的に格納するためのバッファ(メモリ)である。
図7Bは、引き抜き時刻決定部302のブロック図である。図7Bに示すように、引き抜き時刻決定部302は、引き抜き単位判定部311と、アクセスユニット引き抜き時刻決定部312と、モード判定部313と、復号ユニット引き抜き時刻決定部314と、引き抜き時刻通知部315とを備える。
引き抜き単位判定部311は、CPB301からの符号化データの引き抜きが、アクセスユニット単位、及び、復号ユニット単位のどちらであるかを判定する。
アクセスユニット引き抜き時刻決定部312は、符号化データの引き抜きがアクセスユニット単位である場合、アクセスユニットのCPB301からの引き抜き時刻を決定する。
モード判定部313は、符号化データの引き抜きが復号ユニット単位である場合、モードが、間隔固定モード及び間隔可変モードのどちらであるかを判定する。
復号ユニット引き抜き時刻決定部314は、モード判定部313の判定結果を用いて、アクセスユニットを構成する複数の復号ユニット各々のCPB301からの引き抜き時刻を決定する。
引き抜き時刻通知部315は、アクセスユニット引き抜き時刻決定部312で決定されたアクセスユニットの引き抜き時刻、又は、復号ユニット引き抜き時刻決定部314で決定された復号ユニットの引き抜き時刻を復号部303に通知する。
図8Aは、本実施の形態に係る画像符号化装置のブロック図である。図8Aに示すように、画像符号化装置400は、引き抜き時刻決定部402と、符号化部403とを備える。
引き抜き時刻決定部402は、画像復号装置における、アクセスユニット単位でのCPBからの引き抜き時刻、及び、復号ユニット単位でのCPBからの引き抜き時刻を決定する。
符号化部403は、入力画像を符号化する。また、符号化部403は、引き抜き時刻決定部402での決定結果を示す情報を符号化する。そして、符号化部403は、符号化された入力画像及び符号化された情報を含む符号化ビットストリームを生成する。
図8Bは、引き抜き時刻決定部402のブロック図である。図8Bに示すように、引き抜き時刻決定部402は、引き抜き単位決定部411と、アクセスユニット引き抜き時刻決定部412と、モード決定部413と、復号ユニット引き抜き時刻決定部414とを備える。
引き抜き単位決定部411は、画像復号装置における、CPBからの符号化データの引き抜きが、アクセスユニット単位、及び、復号ユニット単位のどちらであるかを決定する。
アクセスユニット引き抜き時刻決定部412は、符号化データの引き抜きがアクセスユニット単位である場合、アクセスユニットのCPBからの引き抜き時刻を決定する。
モード決定部413は、符号化データの引き抜きが復号ユニット単位である場合、モードが、間隔固定モード及び間隔可変モードのどちらであるかを決定する。
復号ユニット引き抜き時刻決定部414は、モード決定部413の決定結果を用いて、アクセスユニットを構成する複数の復号ユニット各々の符号化データのCPBからの引き抜き時刻を決定する。
上記各処理部で決定された結果が、符号化部403により符号化される。
次に、復号ユニット単位のCPB引き抜き時刻を示すSEIについて説明する。
間隔可変モードの場合には、上記説明では、画像符号化装置は、Picture Timing SEIにおいてアクセスユニットを構成する復号ユニット毎のCPB引き抜き時刻を格納した。
しかしながら、本構成では、復号ユニット毎に符号量が変動するため、画像符号化装置は、アクセスユニット内の全ての復号ユニットの符号化が終了するまで、各復号ユニットのCPB引き抜き時刻が決定できない。よって、画像符号化装置は、Picture Timing SEIのデータを、アクセスユニット内の最終復号ユニットの符号化が完了するまで決定できない。また、Picture Timing SEIはアクセスユニット内の先頭の復号ユニットにおいて伝送される。結果として、画像符号化装置は、各復号ユニットの符号化が完了次第、順次復号ユニットを送出することができない。これは、特に、コンテンツがリアルタイムで伝送される際には送信側における遅延の増加につながる。
そこで、各復号ユニットのCPB引き抜き時刻を格納するSEIを定義する。画像符号化装置は、このSEIを、各復号ユニット内に付加することで、復号ユニットの符号化が完了次第、復号ユニットのデータを送出できる。
図9は、復号ユニット単位のCPB引き抜き時刻を格納するSEIであるDecoding Unit CPB Delay SEIのシンタックス例を示す図である。
本SEIは、CPBからの引き抜き動作が復号ユニット単位であり、かつ、間隔可変モードの場合に有効となる。また、本SEIは、本SEIとスライスデータ(VCL NAL Unitに格納)とを含む復号ユニットのCPB引き抜き時刻を示す。
具体的には、本SEIは、du_cpb_removal_delayを含む。du_cpb_removal_delayは、復号ユニットのCPB引き抜き時刻を示す。
また、Decoding Unit CPB delay SEIを使用する場合、Picture Timing SEIは、アクセスユニット単位のCPB引き抜き時刻とDPB引き抜き時刻とを示す。つまり、復号ユニット単位のCPB引き抜き時刻はDecoding Unit CPB delay SEIにより管理される。
図10及び図11は、アクセスユニットの構成例を示す図である。
図10に示すように、各復号ユニットは、Decoding Unit CPB delay SEIとスライスデータとを含む。また、先頭の復号ユニットは、さらに、Access Unit Delimiterと、Picture Timing SEIとを含む。Access Unit Delimiterは、アクセスユニットの開始を示す。
なお、図11に示すように、Access Unit Delimiterと同様に、復号ユニットの開始を示すNALユニット(Decoding Unit Delimiter)を導入してもよい。また、アクセスユニット内の先頭の復号ユニットについては、Access Unit Delimiterにより開始位置を示してもよい。
以下、本実施の形態に係る画像符号化方法及び画像復号方法の変形例について説明する。
図1及び図2に示す例では、画像符号化装置は、間隔固定モード時は、VUI内に復号ユニット毎のCPB引き抜き時刻の間隔を示す情報を格納したが、VUI内に引き抜き時刻の間隔を示す情報を格納せず、予め定められた固定の間隔に基づいてPicture Timing SEI内に、CPB引き抜き時刻の情報を設定してもよい。このとき、同一シーケンス内においては復号ユニット間のCPB引き抜き時刻は一定であるため、Picture Timing SEI内のCPB引き抜き時刻の情報も一定となる。従って、間隔固定モード時には、画像復号装置は、シーケンスの先頭アクセスユニットにおけるCPB引き抜き時刻の情報を解析し、以降のアクセスユニットにおいては先頭アクセスユニットにおいて取得したCPB引き抜き時刻の情報を用いることができる。
また、図10及び図11の例では、Decoding Unit Delimiterによって復号ユニットの境界を示したが、復号ユニットを構成するスライスデータのNALユニットが固定数である場合には、Decoding Unit Delimiterを用いなくてもよい。この場合、画像復号装置は、スライスデータのNALユニットに基づいて復号ユニットの境界を判定してもよい。例えば、画像符号化装置は、復号ユニットに含まれるスライスデータのNALユニットが1つである場合には、アクセスユニットの先頭復号ユニットがAccess Unit Delimiterから開始するように設定し、2番目以降の復号ユニットが、それぞれ2番目以降のスライスデータのNALユニットから開始するように設定する。これにより、画像復号装置は、復号ユニットの境界を判定できる。
次に、MPEG−2 TSへのパケット多重化方法を説明する。
符号化データのCPBからの引き抜き単位がアクセスユニット単位、又は、復号ユニット単位のどちらであるかを示す情報は、復号及び表示などのシステム動作に影響するため、復号に先立って符号化ストリームとは別の手段により通知できることが望ましい。また、引き抜き単位が復号ユニット単位の場合には、間隔固定モードと間隔可変モードの判別を示す情報も同様である。
例えば、デスクリプタを用いることで、これらの情報をプログラム情報の一部として画像符号化装置から画像復号装置に伝送できる。なお、デスクリプタを用いる方法以外に、引き抜き単位にアクセスユニット単位を用いる場合と、復号ユニット単位を用いる場合とで、異なるstream_id又はprogram_idを用いることで、画像符号化装置から画像復号装置へ引き抜き単位を通知してもよい。
このデスクリプタの一例を図12に示す。図12に示すsub_pic_cpb_removal_flagは、符号化データのCPBからの引き抜き単位がアクセスユニット単位であるか、復号ユニット単位であるかを示すフラグである。このフラグの値が1の場合、引き抜き単位が復号ユニット単位であり、フラグの値が0の場合、引き抜き単位がアクセスユニット単位である。
variable_sub_pic_removal_period_flagは、復号ユニットのCPBからの引き抜きが間隔固定モード、又は、間隔可変モードのどちらであるかを示すフラグである。このフラグの値が1の場合、モードは間隔可変モードであり、フラグの値が0の場合、モードは間隔固定モードである。
sub_pic_removal_periodは、間隔固定モード時のみ有効である。このsub_pic_removal_periodは、連続する復号ユニットにおけるCPBからの引き抜き時刻の差分(復号ユニット間の引き抜き時刻の間隔)を示す。
なお、画像符号化装置は、引き抜き時刻の差分を直接示す情報を画像復号装置へ送らずに、復号順で連続するアクセスユニット間の復号時刻の間隔と、アクセスユニットを構成する復号ユニットの数とを画像復号装置へ送ってもよい。この場合、画像復号装置は、これらの情報を用いて、差分を計算により取得することができる。
また、画像符号化装置は、CPB引き抜き時刻の差分を、デスクリプタに含める代わりに、PESパケットにより伝送される符号化データ(SPS、又はPicture Timing SEIなど)に含めてもよい。この場合、画像復号装置は、SPS又はPicture Timing SEIなどからCPB引き抜き時刻の差分を取得する。
また、画像符号化装置は、アクセスユニットを構成する復号ユニットの数が固定であるかどうかを示す情報を画像復号装置へ送ってもよい。さらに、画像符号化装置は、アクセスユニットを構成する復号ユニットの数が固定である場合には、アクセスユニットを構成する復号ユニットの数を示す情報を画像復号装置へ送ってもよい。こうすることで、画像復号装置は、例えば、アクセスユニットに含まれる最終の復号ユニットを識別できる。
また、フレームレートが固定であれば、画像復号装置は、フレームの復号時刻の間隔を、復号ユニットの数で除算することで、各復号ユニットのCPB引き抜き時刻を決定できる。これにより、画像復号装置は、PESパケットのヘッダからアクセスユニットの復号時刻を取得した段階で、当該アクセスユニットの各復号ユニットのCPB引き抜き時刻を決定できる。
ここで、MPEG−2 TSにおけるPESパケットでは、復号時刻(DTS: Decoding Time Stamp)を付加できる最小単位はアクセスユニットである。従って、画像復号装置は、復号ユニットの復号時刻を、図12に示すデスクリプタ内、又は、符号化ストリーム内の情報から取得して復号部に通知する。
図13は、復号ユニットの復号時刻を通知するためのSTD(System Target Decoder)のブロック図である。
このSTD500は、本実施の形態に係る画像復号装置の一例であって、TSデマルチプレクサ501と、TB502(Transport Buffer)と、MB503(Multiplexing Buffer)と、EB504(Elementary stream Buffer)と、復号部505と、復号ユニット引き抜き時刻決定部506と、DPB507(Decoded Pictre Buffer)とを含む。
引き抜き単位がアクセスユニットか復号ユニットのどちらであるかに応じて、引き抜き単位と引き抜き時刻の決定方法が切り替わる。
STD500は、アクセスユニット単位で動作する際には、PESパケットのDTSに基づいて動作し、復号ユニット単位で動作する際には、別途取得した復号ユニットの引き抜き時刻に従って動作する。
STD500は、引き抜き単位が復号ユニットである場合には、アクセスユニットにおける先頭の復号ユニットの引き抜き時刻をPESパケットのDTSとして用いる。
TSデマルチプレクサ501は、入力ストリームに含まれるデータをPIDに基づいてフィルタリングすることで分類する。具体的には、TSデマルチプレクサ501は、入力ストリームに含まれるデスクリプタ等のプログラム情報を復号ユニット引き抜き時刻決定部506に出力する。また、TSデマルチプレクサ501は、HEVCの符号化データを含むTSパケットをTB502へ出力する。この符号化データは、MB503及びEB504を介して、復号部505及び復号ユニット引き抜き時刻決定部506に入力される。
復号ユニット引き抜き時刻決定部506は、デスクリプタ等に含まれる情報に基づいてSTD500の動作単位が復号ユニット単位であるか、アクセスユニット単位であるかを判定する。さらに、復号ユニット引き抜き時刻決定部506は、動作単位が復号ユニット単位である場合には、復号ユニットの復号時刻を取得し、当該復号時刻を復号部505に通知する。
具体的には、モードが間隔固定モードであり、デスクリプタにおいて復号ユニットのCPB引き抜き時刻の間隔Tが示される場合には、復号ユニット引き抜き時刻決定部506は、PESパケットヘッダから取得したアクセスユニットの復号時刻(DTS)と間隔Tとに基づいて、復号ユニットの復号時刻を決定する。
一方、モードが間隔可変モードである場合は、復号ユニット引き抜き時刻決定部506は、Picture Timing SEI、又は、Decoding Unit CPB delay SEIなどを解析することで、復号ユニットの復号時刻を決定する。
また、STD500の動作単位がアクセスユニット単位である場合には、従来通り、STD500は、PESパケットのDTSなどに基づいて、アクセスユニット単位で動作する。
復号部505は、復号ユニット引き抜き時刻決定部506から通知された復号ユニットの引き抜き時刻に従って、復号ユニットに含まれる符号化データをEB504から引き抜く。
また、復号部505は、復号ユニットの境界を、Decoding Unit Delimiter、又は、スライスデータを格納するNALユニットの開始位置に基づいて決定する。
なお、復号ユニット引き抜き時刻決定部506が、復号ユニットの境界も検出し、復号ユニットのデータサイズを復号部505に通知してもよい。この場合、復号部505は通知されたデータサイズ分のデータをEB504から引き抜く。
DPB507は、復号部505により生成された復号データを格納する。
なお、画像符号化装置の動作は、各種情報の格納先が、デスクリプタに変更されている点を除き、上述した説明と同様である。
以下、PESパケットのDTS設定方法の変形例を説明する。
画像復号装置が、PESパケットのDTSを先頭復号ユニットのCPB引き抜き時刻(=復号時刻)として用いる場合、復号ユニット単位での動作に対応しない受信機に対する互換性が確保できない。従って、画像復号装置は、PESパケットのDTSを、従来通りアクセスユニットの復号時刻として用いる。また、画像符号化装置は、PESパケットヘッダの拡張領域に復号ユニットの復号時刻情報を格納し、画像復号装置は、その復号時刻情報を用いてもよい。
例えば、画像符号化装置は、上記拡張領域に、アクセスユニットを構成する各復号ユニットの復号時刻を復号順に列挙してもよいし、各復号ユニットの復号時刻とPESパケットのDTSとの差分を示す情報を格納してもよい。
また、画像符号化装置は、上記拡張領域に、間隔固定モード時には、アクセスユニット内の先頭の復号ユニットの復号時刻を示す情報のみを格納してもよい。
また、画像復号装置は、PESパケットに含まれるDTSをアクセスユニットのDTSとして用い、符号化ストリームを解析することで復号ユニットのDTSを取得してもよい。
また、引き抜き単位が復号ユニット単位である場合には、画像符号化装置は、PESパケットにおいて、復号ユニット単位でDTSを付与してもよい。このとき、復号ユニット引き抜き時刻決定部506は、PESパケットのヘッダに格納されたDTSを参照することで復号ユニットのDTSを決定できる。
以下、復号ユニット単位でのCPBからの引き抜きを行う場合の効果を説明する。
図14Aは、アクセスユニット単位で引き抜きを行う場合のEB504における符号化データのバッファ占有量の遷移を示す図である。図14Bは、復号ユニット単位で引き抜きを行う場合のEB504における符号化データのバッファ占有量の遷移を示す図である。
図14Bに示すように復号ユニット単位で引き抜きを行う場合、復号ユニットの符号化データが順次引き抜かれるため、図14Aに示すアクセスユニット単位で引き抜きを行う場合に比べてEB504のバッファ占有量が低減される。よって、復号ユニット単位でCPBからの引き抜きを行う場合、アクセスユニット単位と比べてEB504のサイズを低減できる。
なお、画像符号化装置は、復号ユニット単位での引き抜きを行う際に必要なEBサイズを示す情報を、デスクリプタなどに含めて画像復号装置へ伝送してもよい。これにより、画像復号装置は、当該EBサイズに基づいてEB504を確保できる。
以下、画像復号装置において、復号ユニットのCPBからの引き抜き時刻の間隔を算出する方法を説明する。
画像復号装置は、復号順で連続する2つのアクセスユニットの復号時刻の間隔(picture_interval)を、アクセスユニットを構成する復号ユニットの個数(num_ctbs_in_subpicture_minus1)で割った値を間隔固定モードにおける引き抜き時刻の間隔として用いる。
例えば、アクセスユニットの復号時刻の間隔が50msecであり、アクセスユニットを構成する復号ユニットが5個である場合、復号ユニットの引き抜き時刻の間隔は、50/5=10msecである。
なお、アクセスユニットのフレームレートが固定である場合には、画像復号装置は、フレームレートと復号ユニット数とに基づいて復号ユニットの引き抜き時刻の間隔が決定できる。よって、画像符号化装置は、この場合には、引き抜き時刻の間隔を伝送せずに、画像復号装置は、引き抜き時刻の間隔を計算により取得してもよい。
但し、フレームレートが可変である場合には、フレームレートから引き抜き時刻の間隔を一意に決定できない。よって、画像符号化装置は、引き抜き時刻の間隔を示す情報をMPEG−2 TS、又は、符号化ストリーム内に含めて伝送する。
以下、MPEG−2 TS以外の多重化方式へ本実施の形態を適用する場合について説明する。
多重化方式としては、MPEG−2 TS以外にも、ダウンロード配信で一般的なMP4、及び、ストリーミングで広く用いられるRTP(Real−time Transport Protocol)などがあり、本実施の形態に係る符号化ストリームは、これらの多重化方式にも適用できる。
まず、MP4に本実施の形態に係る符号化ストリームを適用する場合を説明する。
画像符号化装置は、MPEG−2 TSにおいてデスクリプタに記述した情報を、MP4において定義される構造であるBox内に格納する。具体的には、画像符号化装置は、符号化データを復号する際の初期化情報を格納するBoxなどに上記情報を格納する。また、CPBからの引き抜きが復号ユニット単位である場合には、画像符号化装置は、復号ユニット毎の復号時刻を示す情報をBoxに格納してもよい。
また、MP4ではアクセスユニットに対応するサンプルと呼ばれる単位が用いられる。画像符号化装置は、サンプルに含まれる復号ユニットにアクセスするためのアドレス情報を、サンプル単位のアドレス情報に加えて格納してもよい。
次に、RTPに本実施の形態に係る符号化ストリームを適用する場合を説明する。
画像符号化装置は、MPEG−2 TSにおいてデスクリプタに記述した情報を、RTPパケットのペイロードヘッダ、又は、RTP通信に関する補助情報をやり取りする、SDP(Session Description Protocol)、或いはSIP(Session Initiation Protocol)などに記述する。
なお、画像符号化装置は、CPBからの引き抜き単位がアクセスユニット単位、及び、復号ユニット単位のどちらであるかに応じて、パケット化の単位を切替えてもよい。例えば、画像符号化装置は、引き抜き単位が復号ユニット単位である場合には、1つの復号ユニットを1つのRTPパケットとして伝送する。さらに、画像符号化装置は、パケット化の単位を示す情報を、SDPなどの補助情報により画像復号装置に通知する。
さらに、画像符号化装置は、CPBからの引き抜き単位に応じて、RTPパケットのペイロードヘッダに記述する復号時刻の格納方法を切替えてもよい。例えば、画像符号化装置は、引き抜き単位がアクセスユニット単位の場合にはアクセスユニット単位で復号時刻を付加し、引き抜き単位が復号ユニット単位の場合には復号ユニット単位での復号時刻を付加する。
また、画像符号化装置は、引き抜き単位が復号ユニット単位であり、かつ、間隔固定モード時には、アクセスユニットに含まれる先頭復号ユニットのみの復号時刻を示してもよい。この場合、画像復号装置は、後続の復号ユニットに対しては、例えば、デフォルトの間隔を用いる。これにより、復号時刻の伝送に必要な符号量を削減できる。
以上のように、本実施の形態に係る画像復号方法は、符号化データを、ピクチャ(アクセスユニット)に含まれる1以上のユニット(復号ユニット)ごとに復号する。図15に示すように、画像復号装置は、符号化データを格納するためのバッファ(CPB)から符号化データを読み出す時刻がユニット単位で設定されるか否かを示す第1フラグ(復号単位フラグ)を、符号化データを含む符号化ビットストリームから取得する(S121)。
次に、画像復号装置は、符号化データを読み出す時刻がユニット単位で設定される場合、複数のユニットの読み出し時刻の間隔が一定であるか任意であるかを示す第2フラグ(間隔可変フラグ)を、符号化ビットストリームから取得する(S122)。
次に、画像復号装置は、第2フラグに従い、バッファから符号化データを復号ユニットごとに一定の間隔、又は、任意の間隔で読み出す(S124及びS125)。具体的には、画像復号装置は、第2フラグが、間隔が任意であることを示す場合(S123でYes)、可変間隔で復号ユニットの符号化データを読み出す(S124)。また、画像復号装置は、第2フラグが、間隔が一定であることを示す場合(S123でNo)、固定間隔で復号ユニットの符号化データを読み出す(S125)。
そして、画像復号装置は、ステップS124又はS125で読み出された復号ユニットの符号化データを復号する(S126)。
これにより、画像復号装置は、例えば、間隔が一定である場合には、一つの固定の間隔に基づき、複数の復号ユニットの時間間隔を決定することができる。よって、画像復号装置の処理量を低減できる。
また、本発明の実施の形態に係る画像符号化方法は、ピクチャ(アクセスユニット)に含まれる1以上のユニット(復号ユニット)を符号化する。図16に示すように、画像符号化装置は、仮想参照デコーダが、符号化データを格納するためのバッファ(CPB)から符号化データを読み出す時刻が、ユニット単位で設定されるか否かを示す第1フラグ(復号単位フラグ)を生成する(S221)。次に、画像符号化装置は、符号化データを読み出す時刻の間隔が一定であるか任意であるかを示す第2フラグ(間隔可変フラグ)を生成する(S222)。次に、画像符号化装置は、符号化データ、第1フラグ及び第2フラグを含む符号化ビットストリームを生成する(S223)。
また、上述したように、画像符号化装置は、1以上のピクチャを含むピクチャ群(ピクチャグループ)ごとに第2フラグを生成する。また、画像符号化装置は、符号化ビットストリームに含まれ、ピクチャ群ごとに設けられるピクチャ群の制御情報(ヘッダ)に第2フラグを含める。つまり、画像復号装置は、ピクチャ群の制御情報から第2フラグを取得する。
ここで、ピクチャ群とは、例えば、複数ピクチャ(シーケンス)単位である。また、ピクチャ群の制御情報とは、SPSであり、より具体的には、SPSに含まれるVUIである。なお、ピクチャ群の制御情報は、MPEG−2 TSにおけるデスクリプタであってもよい。
また、画像符号化装置は、第2フラグが、間隔が一定であること(間隔固定モード)を示す場合に、当該固定である間隔を示す固定間隔情報を生成する。ここで、固定間隔情報は、例えば、1つのピクチャ(アクセスユニット)に含まれる複数の復号ユニットの数(num_ctbs_in_subpicture_minus1)と、ピクチャの時間間隔(picture_interval)とを示す。画像復号装置は、これらの、複数の復号ユニットの数と、ピクチャの時間間隔とを用いて、固定である間隔を算出し、算出された間隔でバッファから符号化データを復号ユニットごとに読み出す。
また、画像符号化装置は、固定間隔情報を、第2フラグと同じくピクチャ群の制御情報(例えばVUI)に含める。つまり、画像復号装置は、第2フラグが、間隔が一定であること(間隔固定モード)を示す場合に、当該間隔を示す固定間隔情報をピクチャ群の制御情報から取得する。また、画像復号装置は、第2フラグが、間隔が固定であること(間隔固定モード)を示す場合に、固定間隔情報が示す間隔でバッファから符号化データを復号ユニットごとに読み出す。なお、画像符号化装置は、固定間隔情報を、1ピクチャ単位ごとに設けられる1ピクチャ単位の制御情報(例えば、Picture timing SEI)に含めてもよい。つまり、画像復号装置は、第2フラグが、間隔が一定であること(間隔固定モード)を示す場合に、当該間隔を示す固定間隔情報を1ピクチャ単位の制御情報から取得する。
また、第2フラグが、時間間隔が任意であること(間隔可変モード)を示す場合、画像符号化装置は、複数の復号ユニットの各々の読み出し時刻の間隔を示す可変間隔情報(cpb_removal_delay)を生成する。また、画像符号化装置は、この可変間隔情報を、符号化ビットストリームに含まれ、1ピクチャ単位で設けられる1ピクチャ単位の制御情報(例えば、Picture timing SEI)に含める。つまり、画像復号装置は、第2フラグが、間隔が任意であること(間隔可変モード)を示す場合に、可変間隔情報を、1ピクチャ単位の制御情報から取得する。そして、画像復号装置は、可変間隔情報が示す間隔でバッファから符号化データを復号ユニットごとに読み出す。
なお、画像符号化装置は、この可変間隔情報を、符号化ビットストリームに含まれ、1復号ユニット単位で設けられる1ユニット単位の制御情報(例えば、Decoding Unit CPB delay SEI)に含めてもよい。つまり、画像復号装置は、可変間隔情報を、1復号ユニット単位の制御情報から取得してもよい。
また、符号化ビットストリームは、トランスポートストリーム(TS)と、デスクリプタとを含み、画像符号化装置は、デスクリプタに第2フラグを含めてもよい。つまり、画像復号装置は、デスクリプタから第2フラグを取得してもよい。
以下、画像符号化装置が備える符号化部403及び画像復号装置が備える復号部303又は505の基本的な構成を説明する。
図17は、符号化部403の一例である符号化部100のブロック図である。この符号化部100は、例えば、音声データ及び動画像データを低ビットレートで符号化する。
図17に示す符号化部100は、入力画像信号101を符号化することで符号化信号191を生成する。この符号化部100は、減算部110と、変換部120と、量子化部130と、逆量子化部140と、逆変換部150と、加算部160と、メモリ170と、予測部180と、エントロピー符号化部190とを備える。
減算部110は、入力画像信号101から予測信号181を減算することで予測誤差信号111(変換入力信号)を生成し、生成した予測誤差信号111を変換部120へ出力する。
変換部120は、予測誤差信号111を周波数変換することで変換出力信号121を生成する。具体的には、変換部120は、予測誤差信号111、又は予測誤差信号111に何らかの処理を加えた後の変換入力信号を、時空間ドメインから周波数ドメインへ変換することで、相関が軽減された変換出力信号121を生成する。
量子化部130は、変換出力信号121を量子化することで、総データ量の少ない量子化係数131を生成する。
エントロピー符号化部190は、量子化係数131を、エントロピー符号化アルゴリズムを用いて符号化することで、冗長性を更に圧縮した符号化信号191を生成する。
逆量子化部140は、量子化係数131を逆量子化することで復号変換出力信号141を生成する。逆変換部150は、復号変換出力信号141を逆変換することで復号変換入力信号151を生成する。
加算部160は、復号変換入力信号151と予測信号181と加算することで復号信号161を生成する。メモリ170は復号信号161を格納する。
予測部180は、イントラ予測又はインター予測等の予測方法に基づいてメモリ170から所定の信号を取得し、当該予測方法に基づいて所定の方法で予測信号181を生成する。具体的には、予測部180は、符号化効率が最大となる予測方法を決定し、決定した予測方法を用いて予測信号181を生成する。また、この予測方法を示す情報が必要に応じてエントロピー符号化部190においてエントロピー符号化される。
ここで、逆量子化部140、逆変換部150、加算部160、メモリ170、及び、予測部180は画像復号装置においても備えられる構成であり、復号信号161は画像復号装置において得られる再生画像信号(復号信号261)に相当する。
図18は復号部303及び505の一例である復号部200のブロック図である。図18に示す復号部200は、符号化信号191を復号することで復号信号261を生成する。この復号部200は、逆量子化部240と、逆変換部250と、加算部260と、メモリ270と、予測部280と、エントロピー復号部290とを備える。
エントロピー復号部290は、符号化信号191をエントロピー復号することで量子化係数231と、予測方法291とを生成する。
逆量子化部240は、量子化係数231を逆量子化することで復号変換出力信号241を生成する。逆変換部250は、復号変換出力信号241を逆変換することで復号変換入力信号251を生成する。
加算部260は、復号変換入力信号251と予測信号281と加算することで復号信号261を生成する。この復号信号261は、復号部200で得られる再生画像であり、復号部200の出力信号として出力されるとともに、メモリ270へ格納される。
予測部280は、予測方法291に基づいてメモリ270から所定の信号を取得し、予測方法291に基づいて所定の方法で予測信号281を生成する。
以上、実施の形態に係る画像符号化装置に及び画像復号装置ついて説明したが、本発明は、この実施の形態に限定されるものではない。
また、上記実施の形態に係る画像符号化装置及び画像復号装置に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサなどのプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
言い換えると、画像符号化装置及び画像復号装置は、制御回路(control circuitry)と、当該制御回路に電気的に接続された(当該制御回路からアクセス可能な)記憶装置(storage)とを備える。制御回路は、専用のハードウェア及びプログラム実行部の少なくとも一方を含む。また、記憶装置は、制御回路がプログラム実行部を含む場合には、当該プログラム実行部により実行されるソフトウェアプログラムを記憶する。
さらに、本発明は上記ソフトウェアプログラムであってもよいし、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
また、上記の画像符号化方法又は画像復号方法に含まれるステップが実行される順序は、本発明を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
以上、本発明の一つ又は複数の態様に係る画像符号化装置及び画像復号装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の一つ又は複数の態様の範囲内に含まれてもよい。
(実施の形態2)
上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
図19は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図19のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex106からex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex116はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex114は、GSM(登録商標)(Global System for Mobile Communications)方式、C
DMA(Code Division Multiple Access)方式、W−CDMA(Wideband-CodeDivision
Multiple Access)方式、若しくはLTE(Long Term Evolution)方式、HSPA(High
Speed Packet Access)の携帯電話機、またはPHS(PersonalHandyphoneSystem)等で
あり、いずれでも構わない。
コンテンツ供給システム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の例に限らず、図20に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
図21は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)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の構成を図22に示す。情報再生/記録部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はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
図23に光ディスクである記録メディア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の構成は例えば図21に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
図24Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
さらに、携帯電話ex114の構成例について、図24Bを用いて説明する。携帯電話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トランスポートストリーム形式のデジタルストリームである。
図25は、多重化データの構成を示す図である。図25に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(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が、それぞれ割り当てられている。
図26は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
図27は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図27における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。図27の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time−Stamp)やピクチャの復号時刻であるDTS(Decoding Time−Stamp)が格納される。
図28は、多重化データに最終的に書き込まれる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フィルタへの転送開始時刻を示す。多重化データには図28下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号は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時間の情報を持つ。
図29はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
多重化データ情報ファイルは、図30に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
多重化データ情報は図30に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
ストリーム属性情報は図31に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
また、本実施の形態における動画像復号化方法のステップを図32に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
(実施の形態4)
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図33に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などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図34は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
より具体的には、駆動周波数切替え部ex803は、図33のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、図33の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態3で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態3で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、図36のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
図35は、本実施の形態の方法を実施するステップを示している。まず、ステップ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などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図37Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4−AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4−AVC規格に対応する復号処理部ex902を共有し、MPEG4−AVC規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。特に、本発明の一態様は、バッファからの符号化データの引き抜きに特徴を有していることから、例えば、この符号化データの引き抜きについては専用の復号処理部ex901を用い、それ以外のエントロピー復号、逆量子化、デブロッキング・フィルタ、動き補償のいずれか、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4−AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
また、処理を一部共有化する他の例を図37Bのex1000に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。