(本発明の基礎となった知見)
本発明者は、「背景技術」の欄において記載した、画像を符号化する画像符号化装置、又は、画像を復号する画像復号装置に関して、以下の問題が生じることを見出した。
近年、デジタル映像機器の技術進歩が著しく、ビデオカメラ又はテレビチューナから入力された映像信号(時系列順に並んだ複数のピクチャ)が圧縮符号化され、得られたデータがDVD又はハードディスク等の記録メディアに記録される機会が増えている。画像符号化規格としてはH.264/AVC(MPEG−4 AVC)があるが、次世代の標準規格としてHEVC(High Efficiency Video Coding)規格(非特許文献1)が検討されている。
HEVC規格(非特許文献1)では、時間スケーラビリティを実現するために、階層構造を用いることが可能となっている。これにより、例えば、図1、図2及び図3に示すような符号化構造を実現できる。
図1、図2及び図3において、TemporalIdとは符号化構造の階層の識別子である。TemporalIdが大きくなるほど深い(低い)階層であることを示す。1つの四角のブロックはピクチャを示し、ブロック内のIxはIピクチャ(画面内予測ピクチャ)、PxはPピクチャ(前方参照予測ピクチャ)、BxはBピクチャ(双方向参照予測ピクチャ)を示す。Ix/Px/Bxのxは、ピクチャが表示される順番を表わす。アンダーラインの付いたIx/Px/Bxのピクチャは同じGOP(Group Of Picture)に属することを示す。斜線で網掛けしているピクチャは最大TemporalIdのピクチャであることを示す。
また、図1は、最大TemporalIdが4である場合の例を示し、図2は、最大TemporalIdが3である場合の例を示し、図3は、最大TemporalIdが2である場合の例を示す。
自らのTemporalIdより大きいTemporalIdを持つピクチャを参照画像として使うことは禁止されており、それによって時間スケーラビリティが実現される。例えば、図1に示す映像は、120fps(frame per second)の映像である。画像復号装置が、120fpsの映像から60fpsの映像を取得したい場合、TemporalIdが0からTemporalIdが3のピクチャのみを復号する。ここで、TemporalIdが0からTemporalIdが3のピクチャは、TemporalIdが4のピクチャを参照することが禁止されているため、画像復号装置は、TemporalIdが4のピクチャを復号しなくても、TemporalIdが0からTemporalIdが3のピクチャを復号できる。このように、画像復号装置は、TemporalIdが0からTemporalIdが3のピクチャのみを復号して60fpsの映像を得ることができる。
また、処理対象の対象ピクチャの参照画像として、対象ピクチャのTemporalId以下のTemporalIdを持つピクチャしか使うことできない。これにより、図1、図2及び図3に示すピクチャの符号列(符号化順)は、それぞれ図4、図5及び図6に示すようになる。図4は、最大TemporalIdが4である場合の例を示し、図5は、最大TemporalIdが3である場合の例を示し、図6は、最大TemporalIdが2である場合の例を示す。つまり、画像符号化装置は、先にTemporalIdが小さいピクチャから符号化し、それらのピクチャを参照画像として使うTemporalIdが大きいピクチャをその後に符号化する。
しかしながら、時間スケーラビリティを利用して低いフレームレートで画像を再生する場合でも、低くする前のフレームレートでピクチャ復号をしないと、CPB(Coded
Picture Buffer)のバッファモデルが破綻してしまうという課題があることを本発明者は見出した。
例えば図4に示す符号列が120fpsである場合、画像復号装置は、60fpsで映像を再生する場合には、斜線で網掛けしていないピクチャのみを復号する。しかしながら、I0、P16、B8、B4、B2が連続して符号列に存在するために1/120秒で1ピクチャを復号しないと符号列がどんどんCPBに溜まっていく。これにより、オーバーフローが発生してしまう。しかし、60fpsで再生したいケースは、1ピクチャの復号能力が1/60秒しかないシステムである場合が多い。そして、そういったシステムでは、オーバーフローが発生するため60fpsで映像を表示することができない。このように、画像復号装置が1/120秒のピクチャ復号能力がなければ60fpsの映像を表示できないという課題があることを本発明者は見出した。
本発明の一態様に係る画像符号化方法は、複数のピクチャを階層符号化してビットストリームを生成する画像符号化方法であって、各々が複数の階層のいずれかに属する前記複数のピクチャそれぞれを、当該ピクチャが属する階層と同じ又は低い階層に属するピクチャを参照し、当該ピクチャが属する階層より高い階層に属するピクチャは参照せずに符号化し、符号化された前記複数のピクチャと、前記複数のピクチャの復号時刻を示す時刻情報とを符号化して前記ビットストリームを生成し、前記時刻情報は、前記複数のピクチャのうち、最も高い階層に属する最上層ピクチャ以外の複数の下層ピクチャの復号時刻が等間隔に設定されていることを示す。
これによれば、当該画像符号化方法は、最も高い階層に属する最上層ピクチャ以外の複数の下層ピクチャの復号時刻が等間隔に設定されている符号化ビットストリームを生成できる。よって、例えば、全階層のピクチャのフレームレートが120fpsであり、下層ピクチャのフレームレートが60fpsである場合、60fpsの復号能力を有する画像復号装置で、下層ピクチャを復号できる。このように、当該画像符号化方法は、画像復号装置が効率的に復号できる符号化ビットストリームを生成できる。
例えば、前記時刻情報は、ランダムアクセス可能なIピクチャより表示順で前の前方ピクチャの復号時刻が、前記Iピクチャより表示順で後の後方ピクチャの復号時刻より前であることを示してもよい。
これによれば、当該画像符号化方法は、画像復号装置の参照フレームメモリの容量を削減できる。
例えば、前記複数のピクチャは、各々が、少なくとも一つのIピクチャを含み、表示順で連続する複数のピクチャを含む複数のピクチャ群のいずれかに含まれ、各前記ピクチャ群に含まれる複数のピクチャが、他のピクチャ群に含まれるピクチャの復号をはさまず連続して復号されるように、前記復号時刻が設定されていてもよい。
これによれば、当該画像符号化方法は、画像復号装置において特別な処理を行うことなく復号できる符号化ビットストリームを生成できる。
例えば、前記複数のピクチャの符号化では、前記最上層ピクチャと、前記下層ピクチャとを交互に符号化してもよい。
例えば、前記下層ピクチャのフレームレートは、前記複数のピクチャのフレームレートの半分であってもよい。
例えば、前記最上層ピクチャは、表示順で直後、かつ、1階層下のピクチャを参照せずに符号化されてもよい。
また、本発明の一態様に係る画像復号方法は、複数の階層のいずれかにそれぞれが属する複数のピクチャを階層符号化することにより生成されたビットストリームを復号する画像復号方法であって、前記ビットストリームから前記複数のピクチャの復号時刻を示す時刻情報を復号し、前記時刻情報に従って、前記複数のピクチャのそれぞれを、当該ピクチャが属する階層と同じ又は低い階層に属するピクチャを参照し、当該ピクチャが属する階層より高い階層に属するピクチャは参照せずに復号し、前記時刻情報は、前記複数のピクチャのうち、最も高い階層に属する最上層ピクチャ以外の複数の下層ピクチャの復号時刻が等間隔に設定されていることを示す。
これによれば、例えば、全階層のピクチャのフレームレートが120fpsであり、下層ピクチャのフレームレートが60fpsである場合、60fpsの復号能力を有する画像復号装置で、下層ピクチャを復号できる。このように、当該画像復号方法は、画像を効率的に復号できる。
例えば、前記時刻情報は、ランダムアクセス可能なIピクチャより表示順で前の前方ピクチャの復号時刻が、前記Iピクチャより表示順で後の後方ピクチャの復号時刻より前であることを示してもよい。
これによれば、当該画像復号方法は、参照フレームメモリの容量を削減できる。
例えば、前記複数のピクチャは、各々が、少なくとも一つのIピクチャを含み、表示順で連続する複数のピクチャを含む複数のピクチャ群のいずれかに含まれ、各前記ピクチャ群に含まれる複数のピクチャが、他のピクチャ群に含まれるピクチャの復号をはさまず連続して復号されるように、前記復号時刻が設定されていてもよい。
これによれば、当該画像復号方法は、特別な処理を行うことなく画像を復号できる。
例えば、前記下層ピクチャのフレームレートは、前記複数のピクチャのフレームレートの半分であってもよい。
例えば、前記最上層ピクチャは、表示順で直後、かつ、1階層下のピクチャを参照せずに符号化されていてもよい。
また、本発明の一態様に係る画像符号化装置は、複数のピクチャを階層符号化してビットストリームを生成する画像符号化装置であって、各々が複数の階層のいずれかに属する前記複数のピクチャそれぞれを、当該ピクチャが属する階層と同じ又は低い階層に属するピクチャを参照し、当該ピクチャが属する階層より高い階層に属するピクチャは参照せずに符号化する符号化部と、符号化された前記複数のピクチャと、前記複数のピクチャの復号時刻を示す時刻情報とを符号化して前記ビットストリームを生成する生成部とを備え、前記時刻情報は、前記複数のピクチャのうち、最も高い階層に属する最上層ピクチャ以外の複数の下層ピクチャの復号時刻が等間隔に設定されていることを示す。
これによれば、当該画像符号化装置は、最も高い階層に属する最上層ピクチャ以外の複数の下層ピクチャの復号時刻が等間隔に設定されている符号化ビットストリームを生成できる。よって、例えば、全階層のピクチャのフレームレートが120fpsであり、下層ピクチャのフレームレートが60fpsである場合、60fpsの復号能力を有する画像復号装置で、下層ピクチャを復号できる。このように、当該画像符号化装置は、画像復号装置が効率的に復号できる符号化ビットストリームを生成できる。
また、本発明の一態様に係る受信装置は、複数の階層のいずれかにそれぞれが属する複数のピクチャを階層符号化することにより生成されたビットストリームを受信する受信装置であって、前記ビットストリームから前記複数のピクチャの復号時刻を示す時刻情報を復号する第1復号部と、前記時刻情報に従って、前記複数のピクチャのそれぞれを、当該ピクチャが属する階層と同じ又は低い階層に属するピクチャを参照し、当該ピクチャが属する階層より高い階層に属するピクチャは参照せずに復号する第2復号部とを備え、前記時刻情報は、前記複数のピクチャのうち、最も高い階層に属する最上層ピクチャ以外の複数の下層ピクチャの復号時刻が等間隔に設定されていることを示す。
これによれば、例えば、全階層のピクチャのフレームレートが120fpsであり、下層ピクチャのフレームレートが60fpsである場合、60fpsの復号能力を有する受信装置で、下層ピクチャを復号できる。このように、当該受信装置は、画像を効率的に復号できる。
また、本発明の一態様に係る送信装置は、複数のピクチャを階層符号化して生成されたビットストリームを外部に送信する送信装置であって、前記階層符号化は、各々が複数の階層のいずれかに属する前記複数のピクチャそれぞれを、当該ピクチャが属する階層と同じ又は低い階層に属するピクチャを参照し、当該ピクチャが属する階層より高い階層に属するピクチャは参照せずに符号化し、符号化された前記複数のピクチャと、前記複数のピクチャの復号時刻を示す時刻情報とを符号化して前記ビットストリームを生成することにより実行され、前記時刻情報は、前記複数のピクチャのうち、最も高い階層に属する最上層ピクチャ以外の複数の下層ピクチャの復号時刻が等間隔に設定されていることを示す。
これによれば、当該送信装置は、最も高い階層に属する最上層ピクチャ以外の複数の下層ピクチャの復号時刻が等間隔に設定されている符号化ビットストリームを送信できる。よって、例えば、全階層のピクチャのフレームレートが120fpsであり、下層ピクチャのフレームレートが60fpsである場合、60fpsの復号能力を有する画像復号装置で、下層ピクチャを復号できる。このように、当該送信装置は、画像復号装置が効率的に復号できる符号化ビットストリームを送信できる。
また、本発明の一態様に係る画像符号化復号装置は、前記画像符号化装置と、前記画像復号装置とを備える。
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
以下、本発明の実施の形態について、図面を参照しながら説明する。
なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
<全体構成>
図7は、本実施の形態における画像符号化装置100の構成を示すブロック図である。図7に示す画像符号化装置100は、入力画像121を符号化することで符号列124を生成する。この画像符号化装置100は、符号化構造決定部101と、NALタイプ決定部102と、符号化部103とを備える。
<動作(全体)>
次に、図8を参照しつつ、符号化処理全体の流れを説明する。図8は、本実施の形態に係る画像符号化処理のフローチャートである。
まず、符号化構造決定部101は、外部から入力された入力画像121及び最大TemporalId122に基づき符号化構造を決定する(S101)。具体的には、符号化構造決定部101は、各ピクチャのTemporalIdを決定する。
次に、NALタイプ決定部102は、対象ピクチャのNALタイプを決定する(S102)。
次に、符号化部103は、au_cpb_removal_delay_minus1、及びpic_dpb_output_delayを符号化し(S104)、NALタイプを符号化し(S105)、TemporalIdを符号化し(S107)、参照ピクチャセットを符号化し(S108)、ピクチャを符号化する(S109)ことで、符号列124を生成する。具体的には、符号化部103は、複数のセットの中から、外部から入力された参照ピクチャセット識別子123で特定される参照ピクチャセットを符号化する。また、符号化部103は、対象ピクチャがIピクチャである場合は画面内予測を用い、対象ピクチャがPピクチャである場合は片方向画面間予測を用い、対象ピクチャがBピクチャである場合は双方向画面間予測を用いて、対象ピクチャを符号化する。また、符号化部103は、周波数変換及び可変長符号化を用いて対象ピクチャを符号化する。
なお、au_cpb_removal_delay_minus1、pic_dpb_output_delay及びNALタイプについては後述する。
そして、画像符号化装置100は、全ピクチャの処理が完了するまでステップS102〜S109の処理を繰り返す(S110)。
<動作(符号化構造決定)>
次に、図9を参照しつつ、符号化構造決定処理(図8のステップS101)の流れを説明する。図9は、本実施の形態に係る符号化構造決定処理のフローチャートである。
まず、符号化構造決定部101は、外部から入力された最大TemporalId122に応じて図1、図2及び図3に示すように各ピクチャにTemporalIdを割り当てる(S121)。例えば、最大TemporalIdが4である場合は、符号化構造決定部101は、表示順番が0及び16の倍数のピクチャにはTemporalId0を割り当て、表示順番が8以降のピクチャには16ピクチャ間隔でTemporalId1を割り当て、表示順番が4以降のピクチャには8ピクチャ間隔でTemporalId2を割り当て、表示順番が2以降のピクチャには4ピクチャ間隔でTemporalId3を割り当て、表示順番が奇数のピクチャにはTemporalId4を割り当てる。
次に、符号化構造決定部101は、決定したTemporalIdに応じて画像を並び替え、図4、図5及び図6に示すような符号化順を設定する(S122)。
次に、符号化構造決定部101は、ランダムアクセスポイントから次のランダムアクセスポイントまでのピクチャが同じGOPに含まれるように複数のピクチャをグループ分けする(S123)。この時、符号化構造決定部101は、参照関係に応じてI/P/Bのピクチャタイプを決定する。具体的には、符号化構造決定部101は、ランダムアクセスポイントのピクチャをIピクチャに設定する。ここでランダムアクセスポイントとは符号化した映像を途中から復号又は再生したい場合に指定できるピクチャであり、このピクチャから再生可能であることを示す。
次に、符号化構造決定部101は、最大TemporalIdのピクチャが奇数時刻、それ以外のピクチャが偶数時刻になるように画像を並び替える(S124)。例えば、符号化構造決定部101は、図10A及び図10B、図11、又は図12に示すように画像を並び替える。図10A及び図10Bは、最大TemporalIdが4である場合の例を示し、図11は、最大TemporalIdが3である場合の例を示し、図12は、最大TemporalIdが2である場合の例を示す。同図に示すように、符号化構造決定部101は、斜線の網掛けの最大TemporalIdのピクチャとそうでないピクチャが交互に符号化されるようにピクチャを並び替える。
<動作(NALタイプ決定)>
次に、図13を参照しつつ、NALタイプ決定処理(図8のステップS102)の流れを説明する。図13は、本実施の形態に係るNALタイプ決定処理のフローチャートである。
まず、NALタイプ決定部102は、対象ピクチャがランダムアクセスポイントのピクチャであるかを判定する(S141)。対象ピクチャがランダムアクセスポイントのピクチャである場合(S141でYes)、NALタイプ決定部102は、対象ピクチャのNALタイプをIRAPに設定して処理を終了する(S142)。
対象ピクチャがランダムアクセスポイントのピクチャでない場合(S141でNo)、NALタイプ決定部102は、対象ピクチャが、符号化順で直前のIRAPより表示順が前であるかを判定する(S143)。
対象ピクチャが、符号化順で直前のIRAPより表示順が前である場合(S143でYes)、NALタイプ決定部102は、対象ピクチャが、符号化順で2つ前のIRAPと同じGOPに含まれるかを判定する(S144)。対象ピクチャが、符号化順で2つ前のIRAPと同じGOPに含まれる場合(S144でYes)、NALタイプ決定部102は、対象ピクチャのNALタイプをBLPに設定する(S145)。
一方、対象ピクチャが、符号化順で2つ前のIRAPが含まれるGOPと異なるGOPに含まれる場合(S144でNo)、NALタイプ決定部102は、対象ピクチャのNALタイプをLPに設定する(S146)。
次に、NALタイプ決定部102は、対象ピクチャが、符号化順でGOPの最後のピクチャであるかを判定する(S147)。対象ピクチャが、符号化順でGOPの最後のピクチャである場合(S147でYes)、NALタイプ決定部102は、対象ピクチャのNALタイプをLLPに設定して処理を終了する(S148)。
また、対象ピクチャが、符号化順で直前のIRAPより表示順が後である場合(S143でNo)、NALタイプ決定部102は、符号化順で直前のIRAPより表示順が前のピクチャがまだ符号化されていないかを判定する(S149)。符号化順で直前のIRAPより表示順が前のピクチャがまだ符号化されていない場合(S149でYes)、NALタイプ決定部102は、対象ピクチャのNALタイプをPTPに設定し処理を終了する(S150)。
符号化順で直前のIRAPより表示順が前のピクチャが符号化済みである場合(S149でNo)NALタイプ決定部102は、対象ピクチャが、符号化順で2つ前のIRAPと同じGOPに含まれるかを判定する(S151)。対象ピクチャが、符号化順で2つ前のIRAPと同じGOPに含まれる場合(S151でYes)、NALタイプ決定部102は、対象ピクチャのNALタイプをBTPに設定する(S152)。
対象ピクチャが、符号化順で2つ前のIRAPが含まれるGOPと異なるGOPに含まれる場合(S151でNo)、NALタイプ決定部102は、対象ピクチャのNALタイプをTPに設定する(S153)。
次に、NALタイプ決定部102は、対象ピクチャが、符号化順でGOPの最後のピクチャであるかを判定する(S154)。対象ピクチャが、符号化順でGOPの最後のピクチャである場合(S154でYes)、NALタイプ決定部102は、対象ピクチャのNALタイプをLTPに設定して処理を終了する(S155)。
以上の処理によって、図10A及び図10B、図11及び図12に示すような符号列が生成される。各NALタイプの意味を以下に示す。IRAPは、ランダムアクセス可能なIスライスのみを含むピクチャを意味する。LPは、IRAPより表示順で前のピクチャを意味する。TPは、IRAPより表示順で後のピクチャを意味する。BLPは、符号化順で2つ前のIRAPと同じGOPに含まれるLPのピクチャを意味する。BTPは、符号化順で2つ前のIRAPと同じGOPに含まれるTPのピクチャを意味する。LLPは、符号化順でGOPの最終のピクチャであるLPのピクチャを意味する。LTPは、符号化順でGOPの最終のピクチャであるTPのピクチャを意味する。PTPは、符号化順で後にまだLPのピクチャがあるTPのピクチャを意味する。
また、au_cpb_removal_delay_minus1は、復号を開始するタイミングを示すパラメータであり、au_cpb_removal_delay_minus1+1の時刻で復号を開始すべきことを示す。また、pic_dpb_output_delayは復号したピクチャの表示タイミングを示すパラメータであり、au_cpb_removal_delay_minus1+1+pic_dpb_output_delayの時刻で復号したピクチャを表示すべきことを示す。図10A及び図10Bに示すP16を例に説明すると、au_cpb_removal_delay_minus1+1である時刻2で復号が開始され、au_cpb_removal_delay_minus1+1+pic_dpb_output_delayである時刻24でP16が表示される。
また、これらの復号時刻を示す情報は、符号列124に含まれて画像復号装置に送信される。画像復号装置は、これらの情報で示される復号時刻にピクチャを復号する。つまり、図10A、図10B、図11及び図12に示す時刻(符号化時刻)は、画像復号装置における復号時刻を示す。また、上記符号化順は、画像復号装置における復号順を示す。
また、復号時刻及び表示時刻を示す情報は、上記au_cpb_removal_delay_minus1及びpic_dpb_output_delayに限らず、任意の情報が用いられてもよい。
参照ピクチャセットは、参照ピクチャとして使用される複数ピクチャを示す。(1)ピクチャは、自らのTemporalIdより大きいTemporalIdのピクチャを参照してはならない、かつ、(2)TPのピクチャはLPのピクチャを参照してはならない、という制約を守れば、参照ピクチャセットは、自由に設定されてよい。
本実施の形態に係る参照ピクチャセットの例を、図14、図15及び図16に示す。図14は、圧縮率を重視したセットであり、可能な限り符号化済みのピクチャが参照されるセットを示す。図15は、使用するフレームメモリサイズを小さくできるセットであり、対象ピクチャに表示順が近い前と後のピクチャが参照されるセットを示す。また、このセットは、ランダムアクセスが行われやすいように対象ピクチャと同じGOPのピクチャのみが参照されるように設定されている。
図16は、圧縮率とフレームメモリサイズのバランスがとられているセットであり、符号化誤差が小さいTemporalId0のピクチャが参照されたり、対象ピクチャに表示順が近い前と後のピクチャが参照されたりするセットを示す。また、このセットは、ランダムアクセスが行われやすいように対象ピクチャと同じGOPのピクチャのみが参照されるように設定されている。また、このセットでは、再生フレームレートを符号列の途中で切り替えることができるように、HEVC(非特許文献1)のTSAピクチャと同様に同じTemporalIdのピクチャの参照が禁止されている。
先に述べたように本実施の形態では、画像符号化装置100は、外部から入力された参照ピクチャセット識別子123に応じて、3つのセットの中から1つを選択し、選択したセットを符号化する。
なお、図14、図15及び図16に示す例は、最大TemporalIdが4である場合の例である。最大TemporalIdが4以外である場合も、(1)ピクチャは、自らのTemporalIdより大きいTemporalIdのピクチャを参照してはならない、かつ(2)TPのピクチャはLPのピクチャを参照してはならない、という制約を守れば、参照ピクチャセットは、自由に設定されてよい。
また、符号列の先頭付近のピクチャ(例えばI0とP16)の間が、時刻との関係を説明するために空けられているが、実際の符号列では連続している。また、au_cpb_removal_delay_minus1によって復号開始時刻の間隔が設定される。
<効果>
以上、本実施の形態によれば、符号列の最大フレームレートで復号できる能力を有していないシステムでも、表示フレームレートを下げて映像を表示できる。例えば、図10A及び図10Bの符号列が120fpsの符号列である場合、画像復号装置は、120fpsの映像を表示したい場合には、図10A及び図10Bの「復号」と「表示」で示した通りに復号することで、120fpsの映像を表示できる。また、画像復号装置は、60fpsで映像を表示したい場合は「復号」と「表示」で示したピクチャの内、斜線の網掛けがないピクチャのみを復号及び表示すればよい。この場合、該当のピクチャは2ピクチャ間隔で符号化されているため、画像復号装置は、1/60秒に1回ピクチャを復号すればバッファを破綻させることなく符号列の復号及び表示を行える。つまり、画像復号装置は、1/120秒のピクチャ復号の能力を有していなくても1/60秒のピクチャ復号能力を有していれば60fpsで映像を表示できる。
また、TPからLPへの参照が禁止され、TPの符号化後には次のIRAPまでLPが符号化されないことによって、画像符号化装置100又は画像復号装置は、TPの符号化又は復号時に参照フレームメモリからLPのピクチャを削減することができる。これにより、参照フレームメモリのサイズを削減できる。また、符号化順(復号順)で後にまだLPのピクチャがあることを示すPTPというNALタイプが用いられることによって、画像符号化装置100又は画像復号装置は、IRAPより表示順が後のピクチャをLPより前に符号化又は復号できる。これにより、フレームメモリのサイズ削減とフレームレートを下げた復号とを両立できる。
また、ピクチャが符号化順で前のGOPに属することを示すBLP及びBTPと、GOPの最後を示すLLP及びLTPが用いられることによって、画像復号装置は、2つのGOPのピクチャが混在するような符号列において、ピクチャがどのGOPに属するかを判定しやすくなる。これにより、画像復号装置は、特殊再生等を行う場合に、符号列からGOPを容易に抽出できる。
このように、本実施の形態に係る画像符号化装置100は、複数のピクチャを階層符号化してビットストリーム(符号列124)を生成する。画像符号化装置100は、各々が複数の階層のいずれかに属する複数のピクチャそれぞれを、当該ピクチャが属する階層と同じ又は低い階層に属するピクチャを参照し、当該ピクチャが属する階層より高い階層に属するピクチャは参照せずに符号化する。画像符号化装置100は、符号化された複数のピクチャと、複数のピクチャの復号時刻を示す時刻情報(au_cpb_removal_delay_minus1)とを符号化してビットストリーム(符号列124)を生成する。時刻情報は、複数のピクチャのうち、最も高い階層に属する最上層ピクチャ以外の複数の下層ピクチャの復号時刻が等間隔に設定されていることを示す。言い換えると、画像符号化装置100は、最上層ピクチャと、下層ピクチャとを交互に符号化する。
例えば、下層ピクチャのフレームレートは、複数のピクチャのフレームレートの半分である。例えば、下層ピクチャのフレームレートは60fpsであり、複数のピクチャのフレームレートは120fpsである。
これにより、画像符号化装置100は、最も高い階層に属する最上層ピクチャ以外の複数の下層ピクチャの復号時刻が等間隔に設定されている符号化ビットストリームを生成できる。よって、例えば、全階層のピクチャのフレームレートが120fpsであり、下層ピクチャのフレームレートが60fpsである場合、60fpsの復号能力を有する画像復号装置で、下層ピクチャを復号できる。このように、画像符号化装置100は、画像復号装置が効率的に復号できる符号化ビットストリームを生成できる。
なお、上記説明では、画像符号化装置100は、外部から入力された最大TemporalId122に基づき符号化構造を決定しているが、最大TemporalIdは外部から入力されなくてもよい。例えば、画像符号化装置100は、最大TemporalIdとして固定値を用いてもよい。または、画像符号化装置100は、入力画像121のフレームレートに基づき、最大TemporalIdを決めてもよいし、入力画像121の動き情報又は複雑性に基づき最大TemporalIdを決めてもよい。
また、上記説明では、画像符号化装置100は、外部から入力された参照ピクチャセット識別子123を用いて3種類の参照ピクチャセットから使用する参照ピクチャセットを選択しているが、参照ピクチャセット識別子123は外部から入力されなくてもよい。例えば、画像符号化装置100は、固定の参照ピクチャセットを使用してもよい。または、画像符号化装置100は、参照フレームメモリの不足量に応じて、使用する参照ピクチャセットを切り替えてもよいし、入力画像121の動き情報又は複雑性に基づき、使用する参照ピクチャセットを切り替えてもよい。
また、上記説明では、参照ピクチャリストを3種類示したが、この限りではなく、(1)ピクチャは、自らのTemporalIdより大きいTemporalIdのピクチャを参照してはならない、かつ、(2)TPのピクチャはLPのピクチャを参照してはならない、という制約を守れば、参照ピクチャリストは自由に設定されてよい。
また、図10A、図10B、図11及び図12では、時刻の単位を1/120秒としたが、この限りではなく、時刻の単位は1/60秒でも1/30秒でもよい。この時刻の単位は、入力画像121のフレームレート又は符号化するピクチャのフレームレートから決定されればよい。
また、上記説明では、Iピクチャ以外のTemporalId0のピクチャがPピクチャである例を示したが、これらのピクチャは前方向を参照するBピクチャでもよい。また、Iピクチャ(ランダムアクセスポイント)の間隔は図10A、図10B、図11及び図12の通りでなくてもよい。例えば、Iピクチャの間隔は図10A、図10B、図11及び図12に示す例より長くても短くてもよい。
また、上記説明では、図9に示すように、図4、図5及び図6に示すような符号順を設定した後、ステップS124において、図10A、図10B、図11及び図12に示すような符号順に並び替えを行っているが、最終的に図10A、図10B、図11及び図12に示すような符号順が設定されればよく、図4、図5及び図6に示すような符号順を一旦設定しなくてもよい。
更に、本実施の形態における処理は、ソフトウェアで実現してもよい。そして、このソフトウェアをダウンロード等により配布してもよい。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布してもよい。
また、このような各種変形例は、本明細書における他の実施の形態においても該当する。
(実施の形態2)
<全体構成>
図17は、本実施の形態における画像符号化装置100Aの構成を示すブロック図である。図17に示す画像符号化装置100Aは、入力画像121を符号化することで符号列124Aを生成する。この画像符号化装置100Aは、図7に示す画像符号化装置100の構成に対して、さらに、SEI決定部104を備える。また、NALタイプ決定部102A及び符号化部103Aの機能が、NALタイプ決定部102及び符号化部103と異なる。
なお、以下では、実施の形態1と重複する説明は省略し、主に相違点を説明する。
<動作(全体)>
次に、図18を参照しつつ、符号化処理全体の流れを説明する。図18は、本実施の形態に係る画像符号化処理のフローチャートである。
図18に示す処理は、図8に示す処理に対して、ステップS103及びS106が追加されている。また、NALタイプの決定処理(S102A)が図8と異なる。
まず、符号化構造決定部101は符号化構造を決定する(S101)。
次に、NALタイプ決定部102Aは、対象ピクチャのNALタイプを決定する(S102A)。
次に、SEI決定部104は、SEIを決定する(S103)。
次に、符号化部103Aは、au_cpb_removal_delay_minus1及びpic_dpb_output_delayを符号化し(S104)、NALタイプを符号化し(S105)、SEIを符号化し(S106)、TemporalIdを符号化し(S107)、参照ピクチャセットを符号化し(S108)、ピクチャを符号化する(S109)ことで符号列124Aを生成する。
そして、画像符号化装置100Aは、全ピクチャの処理が完了するまでステップS102A〜S109の処理を繰り返す(S110)。
<動作(符号化構造決定)>
符号化構造決定処理の流れは実施の形態1(図9)と同様であるため、説明を省略する。
<動作(NALタイプ決定)>
次に、図19を参照しつつ、NALタイプ決定処理(図18のS102A)の流れを説明する。図19は、本実施の形態に係るNALタイプ決定処理のフローチャートである。
まず、NALタイプ決定部102Aは、対象ピクチャが符号化順の先頭ピクチャであるかを判定する(S161)。対象ピクチャが符号化順の先頭ピクチャである場合(S161でYes)、NALタイプ決定部102Aは、対象ピクチャのNALタイプをIRAPに設定する(S162)。そうでない場合(S161でNo)、NALタイプ決定部102Aは、対象ピクチャのNALタイプをTPに設定する(S163)。
<動作(SEI決定)>
次に、図20を参照しつつ、SEI決定処理(図18のS103)の流れを説明する。
まず、SEI決定部104は、対象ピクチャがランダムアクセスポイントのピクチャであるかを判定する(S181)。対象ピクチャがランダムアクセスポイントのピクチャである場合(S181でYes)、SEI決定部104は、対象ピクチャのSEIをrecovery_point SEIに設定して処理を終了する(S182)。
対象ピクチャがランダムアクセスポイントのピクチャでない場合(S181でNo)、SEI決定部104は、対象ピクチャが、符号化順の直前のリカバリポイントより表示順が前であるかを判定する(S183)。
対象ピクチャが、符号化順の直前のリカバリポイントより表示順が前である場合(S183でYes)、SEI決定部104は、対象ピクチャが、符号化順で2つ前のリカバリポイントと同じGOPに含まれるかを判定する(S184)。対象ピクチャが、符号化順で2つ前のリカバリポイントと同じGOPに含まれる場合(S184でYes)、SEI決定部104は、対象ピクチャのSEIをBLP SEIに設定する(S185)。
一方、対象ピクチャが、符号化順で2つ前のリカバリポイントが含まれるGOPと異なるGOPに含まれる場合(S184でNo)、SEI決定部104は、対象ピクチャのSEIをLP SEIに設定する(S186)。
次に、SEI決定部104は、対象ピクチャが、符号化順でGOPの最後のピクチャであるかを判定する(S187)。対象ピクチャが、符号化順でGOPの最後のピクチャである場合(S187でYes)、SEI決定部104は、対象ピクチャのSEIをLLP
SEIに設定して処理を終了する(SS188)。
また、対象ピクチャが、符号化順の直前のリカバリポイントより表示順が後である場合(S183でNo)、SEI決定部104は、符号化順で直前のIRAPより表示順が前のピクチャがまだ符号化されていないかを判定する(S189)。符号化順で直前のIRAPより表示順が前のピクチャがまだ符号化されていない場合(S189でYes)、SEI決定部104は、対象ピクチャのSEIをPTP SEIに設定して処理を終了する(S190)。
符号化順で直前のIRAPより表示順が前のピクチャが符号化済みである場合(S189でNo)、SEI決定部104は、対象ピクチャが、符号化順で2つ前のリカバリポイントと同じGOPに含まれるかを判定する(S191)。対象ピクチャが、符号化順で2つ前のリカバリポイントと同じGOPに含まれる場合(S191でYes)、SEI決定部104は、対象ピクチャのSEIをBTP SEIに設定する(S192)。対象ピクチャが、符号化順で2つ前のリカバリポイントが含まれるGOPと異なるGOPに含まれる場合(S191でNo)、SEI決定部104は、対象ピクチャのSEIをTP SEIに設定する(S193)。
次に、SEI決定部104は、対象ピクチャが、符号化順でGOPの最後のピクチャであるかを判定する(S194)。対象ピクチャが、符号化順でGOPの最後のピクチャである場合(S194でYes)、SEI決定部104は、対象ピクチャのSEIをLTP
SEIに設定して処理を終了する(S195)。
以上の処理によって、図21A、図21B、図22及び図23のような符号列が生成される。図21A及び図21Bは、最大TemporalIdが4である場合の例を示し、図22は、最大TemporalIdが3である場合の例を示し、図23は、最大TemporalIdが2である場合の例を示す。
各SEIタイプの意味を以下に示す。RP SEIは、ランダムアクセス可能なIスライスのみを含むピクチャを意味する。LP SEIは、RPより表示順で前のピクチャを意味する。TP SEIは、RPより表示順で後のピクチャを意味する。BLP SEIは、符号化順で2つ前のRPと同じGOPに含まれるLPのピクチャを意味する。BTP
SEIは、符号化順で2つ前のRPと同じGOPに含まれるTPのピクチャを意味する。LLP SEIは、符号化順でGOPの最終のピクチャであるLPのピクチャを意味する。LTP SEIは、符号化順でGOPの最終のピクチャであるTPのピクチャを意味する。PTP SEIは、符号化順で後にまだLPのピクチャがあるTPのピクチャを意味する。
また、参照ピクチャセットの具体例は実施の形態1(図14、図15、図16)と同様であるため、説明を省略する。
<効果>
以上、本実施の形態によれば、符号列の最大フレームレートで復号できる能力を有していないシステムでも、表示フレームレートを下げて映像を表示できる。
また、HEVC規格(非特許文献1)ではTPがLPよりも先に符号化されることが禁止されている。本実施の形態では、IRAPがピクチャの途中に存在しない、これにより、TPがLPよりも先に符号化される状況が発生しない。また、途中のIRAPの代わりにRecovery_point SEIが用いられることによりランダムアクセスが実現される。つまり、HEVC規格に準拠しつつ、ランダムアクセスと時間スケーラビリティとが実現される。
このように、本実施の形態に係る画像符号化装置100Aは、上記実施の形態1に係る画像符号化装置100と同様の効果を実現できる。
(実施の形態3)
<全体構成>
本実施の形態に係る画像符号化装置100の構成は実施の形態1(図7)と同様であるため、説明を省略する。
<動作(全体)>
符号化処理全体の流れは実施の形態1(図8)と同様であるため、説明を省略する。
<動作(符号化構造決定)>
次に、図24を参照しつつ、符号化構造決定処理(図8のS101)の流れを説明する。図24は、本実施の形態に係る符号化構造決定処理のフローチャートである。
図24に示す処理は、実施の形態1で説明した図9に示す処理に対して、ステップS125が追加されている。また、S121〜S124は実施の形態1と同様であるため、説明を省略する。
符号化構造決定部101は、最大TemporalIdのピクチャが奇数時刻、それ以外のピクチャが偶数時刻になるように画像を並び替えた後(S124の後)、異なるGOPのピクチャが混在しないように、最大TemporalIdのピクチャの符号化タイミングを図25A、図25B、図26及び図27に示すように前に移動させる(S125)。図25A及び図25Bは、最大TemporalIdが4である場合の例を示し、図26は、最大TemporalIdが3である場合の例を示し、図27は、最大TemporalIdが2である場合の例を示す。
例えば図25A及び図25Bに示す例では、斜線の網掛けのピクチャが図10A及び図10Bに比べて6時刻分前に移動される。これにより、IRAPから次のIRAPまでのピクチャがひと塊に配置される。つまり、GOPごとにピクチャが連続して配置される。言い換えると、異なるGOPに含まれるピクチャが混在しない。
<動作(NALタイプ決定)>
次に、図28を参照しつつ、NALタイプ決定処理(図8のS102)の流れを説明する。図28は、本実施の形態に係るNALタイプ決定処理のフローチャートである。
まず、NALタイプ決定部102は、対象ピクチャが、ランダムアクセスポイントのピクチャであるかを判定する(S201)。対象ピクチャが、ランダムアクセスポイントのピクチャである場合(S201でYes)、NALタイプ決定部102は、対象ピクチャのNALタイプをIRAPに設定して処理を終了する(S202)。
対象ピクチャが、ランダムアクセスポイントのピクチャでない場合(S201でNo)、NALタイプ決定部102は、対象ピクチャが、符号化順の直前IRAPより表示順が前であるかを判定する(S203)。対象ピクチャが、符号化順の直前IRAPより表示順が前である場合(S203でYes)、NALタイプ決定部102は、対象ピクチャのNALタイプをLPに設定する(S204)。そうでない場合(S203でNo)、NALタイプ決定部102は、対象ピクチャのNALタイプをTPに設定する(S205)。
以上の処理によって、図25A、図25B、図26及び図27に示すような符号列が生成される。
本実施の形態に係る参照ピクチャセットの例を図29、図30及び図31に示す。なお、図29、図30及び図31に示す例は、最大TemporalIdが4である場合の例である。
図29は、圧縮率を重視したセットであり、可能な限り符号化済みのピクチャが参照されるセットを示す。図30は、使用するフレームメモリサイズを小さくできるセットであり、対象ピクチャに表示順が近い前と後のピクチャが参照されるセットを示す。また、このセットは、ランダムアクセスが行われやすいように対象ピクチャと同じGOPのピクチャのみが参照されるように設定されている。
図31は、圧縮率とフレームメモリサイズのバランスがとられているセットであり、符号化誤差が小さいTemporalId0のピクチャが参照されたり、対象ピクチャに表示順が近い前と後のピクチャが参照されたりするセットを示す。また、このセットは、ランダムアクセスが行われやすいように、対象ピクチャと同じGOPのピクチャのみが参照されるように設定されている。また、このセットでは、再生フレームレートを符号列の途中で切り替えることができるように、HEVC(非特許文献1)のTSAピクチャと同様に同じTemporalIdのピクチャの参照が禁止されている。
図32は、本実施の形態に係る符号化構造の一例を示す図である。なお、図32は、最大TemporalIdが2である場合の例を示す。また、同図の時刻は表示順を示す。本実施の形態では、最大TemporalIdのピクチャの符号化タイミングが早められているため、最大TemporalIdのピクチャから一部のピクチャへの参照が禁止される。具体的には、最大TemporalIdの最上層ピクチャは、表示順で直後、かつ、1階層下のピクチャを参照せずに符号化される。例えば、図32に示すB1からB2への参照が禁止される。
また、図32に示すように、最も低い階層に属するピクチャの表示順で直前に位置する最上層ピクチャ(例えばB7)は、表示順で直前、かつ、1階層下のピクチャ(例えばB6)を参照可能である。言い換えると、最も低い階層に属するピクチャの表示順で直前に位置しない最上層ピクチャ(例えばB5)は、表示順で直前、かつ、1階層下のピクチャを参照せずに符号化される。
先に述べたように、本実施の形態では、画像符号化装置100は、外部から入力された参照ピクチャセット識別子123に応じて、3つのセットの中から1つを選択し、選択したセットを符号化する。また、本実施の形態では、実施の形態1の例より、最大TemporalIdのピクチャの符号化タイミング(復号タイミング)が早められている。そのため、最大TemporalIdのピクチャを符号化(復号)する際の、符号化済み(復号済み)のピクチャが減ることで、最大TemporalIdのピクチャが使用できる参照画像が減少する。
<効果>
以上、本実施の形態によれば、符号列の最大フレームレートで復号できる能力を有していないシステムでも、表示フレームレートを下げて映像を表示できる。
また、TPからLPへの参照が禁止され、TPの符号化後には次のIRAPまでLPが符号化されないことによって、画像符号化装置100又は画像復号装置は、TPの符号化又は復号時に参照フレームメモリからLPのピクチャを削減することができる。これにより、参照フレームメモリのサイズを削減できる。
また、異なるGOPに含まれるピクチャが混在しないので、画像復号装置は、特殊再生等を行う場合に、符号列からGOPを容易に抽出できる。
また、最大TemporalIdのピクチャの符号化タイミングが早められていることにより、復号開始から表示までの遅延が少なくなる。図10A及び図10Bと図25A及び図25Bを比較して説明する。図10A及び図10BではI0の表示が時刻8から始まるが、図25A及び図25B(本実施の形態)では時刻6から表示開始されている。このように、本実施の形態では、表示の開始時刻が早まっている。これにより、ユーザが復号を指示してから表示が開始されるまでの時間を短くすることができるので、レスポンスが早いシステムを構築することができる。
このように、最大TemporalIdのピクチャの符号化タイミングが早められることにより、GOPの混在の回避、及び低遅延が実現される。一方で、最大TemporalIdのピクチャの符号化タイミングが早められることにより、最大TemporalIdのピクチャが使用できる参照ピクチャが減る。これにより、符号化効率が低下することが懸念される。しかし、最大TemporalIdのピクチャは最大TemporalId以外のTemporalIdのピクチャからは参照されない。つまり、最大TemporalIdのピクチャは、他のピクチャから参照される頻度が低い。よって、最大TemporalIdのピクチャの画質が悪化してもその誤差が他のピクチャには伝搬しにくい。そのため、最大TemporalIdの参照ピクチャが少なくなっても、全体の符号化効率の低下は少ない。つまり、本実施の形態は、符号化効率の低下を抑制しつつ、GOPの混在を回避できる。
このように、本実施の形態に係る画像符号化装置100は、複数のピクチャを階層符号化してビットストリーム(符号列124)を生成する。画像符号化装置100は、各々が複数の階層のいずれかに属する複数のピクチャそれぞれを、当該ピクチャが属する階層と同じ又は低い階層に属するピクチャを参照し、当該ピクチャが属する階層より高い階層に属するピクチャは参照せずに符号化する。画像符号化装置100は、符号化された複数のピクチャと、複数のピクチャの復号時刻を示す時刻情報(au_cpb_removal_delay_minus1)とを符号化してビットストリーム(符号列124)を生成する。時刻情報は、複数のピクチャのうち、最も高い階層に属する最上層ピクチャ以外の複数の下層ピクチャの復号時刻が等間隔に設定されていることを示す。言い換えると、画像符号化装置100は、最上層ピクチャと、下層ピクチャとを交互に符号化する。
例えば、下層ピクチャのフレームレートは、複数のピクチャのフレームレートの半分である。例えば、下層ピクチャのフレームレートは60fpsであり、複数のピクチャのフレームレートは120fpsである。
これにより、画像符号化装置100は、最も高い階層に属する最上層ピクチャ以外の複数の下層ピクチャの復号時刻が等間隔に設定されている符号化ビットストリームを生成できる。よって、例えば、全階層のピクチャのフレームレートが120fpsであり、下層ピクチャのフレームレートが60fpsである場合、60fpsの復号能力を有する画像復号装置で、下層ピクチャを復号できる。このように、画像符号化装置100は、画像復号装置が効率的に復号できる符号化ビットストリームを生成できる。
さらに、時刻情報(au_cpb_removal_delay_minus1)は、ランダムアクセス可能なIピクチャより表示順で前の前方ピクチャの復号時刻が、上記Iピクチャより表示順で後の後方ピクチャの復号時刻より前であることを示す。これにより、画像復号装置の参照フレームメモリの容量を削減できる。
また、複数のピクチャは、各々が、少なくとも一つのIピクチャを含み、表示順で連続する複数のピクチャを含む複数のピクチャ群(GOP)のいずれかに含まれる。各ピクチャ群に含まれる複数のピクチャが、他のピクチャ群に含まれるピクチャの復号をはさまず連続して復号されるように、複数のピクチャの復号時刻が設定されている。これにより、画像符号化装置100は、画像復号装置において特別な処理を行うことなく復号できる符号化ビットストリームを生成できる。
(実施の形態4)
<全体構成>
本実施の形態に係る画像符号化装置100の構成は実施の形態1(図7)と同様であるため、説明を省略する。
<動作(全体)>
符号化処理全体の流れは実施の形態1(図8)と同様であるため、説明を省略する。
<動作(符号化構造決定)>
次に、図33を参照しつつ、符号化構造決定処理(図8のS101)の流れを説明する。図33は、本実施の形態に係る符号化構造決定処理のフローチャートである。
図24に示す処理は、実施の形態1で説明した図9に示す処理に対して、ステップS126及びS127が追加されている。また、S121〜S124は実施の形態1と同様であるため、説明を省略する。
符号化構造決定部101は、最大TemporalIdのピクチャが奇数時刻、それ以外のピクチャが偶数時刻になるように画像を並び替えた後(S124の後)、復号開始時間が等間隔になるよう最大TemporalIdのピクチャの符号化タイミングを図34A、図34B、図35及び図36に示すように前に移動させる(S126)。図34A及び図34Bは、最大TemporalIdが4である場合の例を示し、図35は、最大TemporalIdが3である場合の例を示し、図36は、最大TemporalIdが2である場合の例を示す。
例えば図34A及び図34Bに示す例では、斜線の網掛けのピクチャが図10A及び図10Bに比べて8時刻分前に移動される。これにより、ピクチャ間の隙間がなくなり、画像復号装置が、この符号列を、最大フレームレートで再生する場合には1時刻に1ピクチャが復号される。
次に、符号化構造決定部101は、ステップS123と同様にランダムアクセスポイントから次のランダムアクセスポイントまでのピクチャが同じGOPに含まれるように複数のピクチャをグループ分けする(S127)。例えば、図34A及び図34Bに示す例では、B17は、実施の形態1ではI32と同じGOPに含まれるが、本処理によってI0と同じGOPに含まれる。
<動作(NALタイプ決定)>
NALタイプ決定処理は実施の形態3(図28)と同様であるため、説明を省略する。
以上の処理によって、図34A、図34B、図35及び図36に示すような符号列が生成される。
本実施の形態に係る参照ピクチャセットを図37、図38及び図39に示す。なお、図37、図38及び図39に示す例は、最大TemporalIdが4である場合の例である。
図37は、圧縮率を重視したセットであり、可能な限り符号化済みのピクチャが参照されるセットを示す。図38は、使用するフレームメモリサイズを小さくできるセットであり、対象ピクチャに表示順が近い前と後のピクチャが参照されるセットを示す。また、このセットは、ランダムアクセスが行われやすいように対象ピクチャと同じGOPのピクチャのみが参照されるように設定されている。
図39は、圧縮率とフレームメモリサイズのバランスがとられているセットであり、符号化誤差が小さいTemporalId0のピクチャが参照されたり、対象ピクチャに表示順が近い前と後のピクチャが参照されたりするセットを示す。また、このセットは、ランダムアクセスが行われやすいように、対象ピクチャと同じGOPのピクチャのみが参照されるように設定されている。また、このセットでは、再生フレームレートを符号列の途中で切り替えることができるように、HEVC(非特許文献1)のTSAピクチャと同様に同じTemporalIdのピクチャの参照が禁止されている。
先に述べたように、本実施の形態では、画像符号化装置100は、外部から入力された参照ピクチャセット識別子123に応じて、3つのセットの中から1つを選択し、選択したセットを符号化する。また、実施の形態1及び実施の形態3の例より、最大TemporalIdのピクチャの符号化タイミング(復号タイミング)が早められている。そのため、最大TemporalIdのピクチャを符号化(復号)する際の、符号化済み(復号済み)のピクチャが減ることで、最大TemporalIdのピクチャが使用できる参照画像が減少する。
<効果>
以上、本実施の形態によれば、符号列の最大フレームレートで復号できる能力を有していないシステムでも、表示フレームレートを下げて映像を表示できる。
また、TPからLPへの参照が禁止され、TPの符号化後には次のIRAPまでLPが符号化されないことによって、画像符号化装置100又は画像復号装置は、TPの符号化又は復号時に参照フレームメモリからLPのピクチャを削減することができる。これにより、参照フレームメモリのサイズを削減できる。
また、異なるGOPに含まれるピクチャが混在しないので、画像復号装置は、特殊再生を行う場合に、符号列からGOPを容易に抽出できる。
また、ピクチャの復号間隔が統一化されるので、システムの簡易化を実現できる。例えば、画像復号装置は、最大フレームレートで映像を再生する場合には1時刻に1ピクチャを復号すればよいので、ピクチャに応じて復号間隔を切り替える必要がない。
このように、最大TemporalIdのピクチャの符号化タイミングが早められることにより、GOPの混在の回避、低遅延、及び復号間隔の統一化が実現される。一方で、最大TemporalIdのピクチャの符号化タイミングが早められることにより、最大TemporalIdのピクチャが使用できる参照ピクチャが減る。これにより、符号化効率が低下することが懸念される。しかし、最大TemporalIdのピクチャは最大TemporalId以外のTemporalIdのピクチャからは参照されない。つまり、最大TemporalIdのピクチャは、他のピクチャから参照される頻度が低い。よって、最大TemporalIdのピクチャの画質が悪化してもその誤差が他のピクチャには伝搬しにくい。そのため、最大TemporalIdの参照ピクチャが少なくなっても、全体の符号化効率の低下は少ない。つまり、本実施の形態は、符号化効率の低下を抑制しつつ、GOPの混在を回避できる。
このように、本実施の形態に係る画像符号化装置100は、上記実施の形態1に係る画像符号化装置100と同様の効果を実現できる。
(実施の形態5)
本実施の形態では、上記実施の形態1に係る画像符号化装置100により生成された符号列を復号する画像復号装置について説明する。
<全体構成>
図40は、本実施の形態における画像復号装置200の構成を示すブロック図である。図40に示す画像復号装置200は、符号列221を復号することで画像224を生成する。符号列221は、例えば、実施の形態1に係る画像符号化装置100により生成された符号列124である。
この画像復号装置200は、再生GOP抽出部201と、復号部202と、復号判定部203と、表示部204とを備える。
<動作(全体)>
次に、図41を参照しつつ、復号処理全体の流れを説明する。図41は、本実施の形態に係る復号処理のフローチャートである。
まず、再生GOP抽出部201は、再生するGOPを符号列221から抽出する(S301)。
次に、復号部202は、IRAPカウントという変数に0を初期値として設定する(S302)。
次に、復号部202は、符号列221から、au_cpb_removal_delay_minus1、及びpic_dpb_output_delayを復号し(S303)、au_cpb_removal_delay_minus1+1の時刻になるまで待機する(S304)。
次に、復号部202は、符号列221からNALタイプを復号し(S305)、NALタイプがIRAPであるかを判定する(S307)。NALタイプがIRAPである場合(S307でYes)、復号部202は、IRAPカウンタに1を加算する(S308)。
次に、復号判定部203は、IRAPカウンタが1より大きいかを判定する(S309)。また、復号判定部203は、NALタイプがBLP、BTP、LLP及びLTPのいずれかであるかを判定する(S310及びS311)。
IRAPカウンタが1より大きく、かつ、NALタイプがBLP、BTP、LLP及びLTPのいずれでもない場合(S309でYesかつS310でNo)、画像復号装置200は、復号処理を行わず、次のピクチャに処理を移行する。また、IRAPカウンタが1以下であり、かつ、NALタイプがBLP、BTP、LLP及びLTPのいずれかである場合も(S309でNoかつS311でYes)、画像復号装置200は、復号処理を行わず、次のピクチャに処理を移行する。こうすることにより、画像復号装置200は、対象ピクチャが再生GOPに含まれるかを判定し、対象ピクチャが再生GOPに含まれない場合は、対象ピクチャを復号しない。
図10A及び図10Bの例で説明する。また、アンダーラインがついたピクチャが再生GOPに含まれる。この場合、I32からB47までの符号列が再生GOP抽出部201によって抽出される。上記判定により、B11、B13、B15、I64、B56及びB52は再生GOPに含まれないと判定され、復号がスキップされる。
一方、IRAPカウンタが1より大きく、かつ、NALタイプがBLP、BTP、LLP及びLTPのいずれかである場合(S309でYesかつS310でYes)、又は、IRAPカウンタが1以下であり、かつ、NALタイプがBLP、BTP、LLP及びLTPのいずれでもない場合(S309でNoかつS311でNo)、復号判定部203は、NALタイプがTPであるかを判定する(S312)。NALタイプがTPである場合(S312でYes)、復号判定部203は、参照フレームメモリからLPのピクチャを削除する(S313)。これはTPのピクチャからLPのピクチャを参照することが禁止されており、尚且つ符号化順でTPのピクチャ以降は次のIRAPまでLPのピクチャが符号化されないという制約により、TPのピクチャ以降はLPを参照するピクチャが存在しないためである。
次に、復号部202は、TemporalIdを復号する(S314)。復号判定部203は、TemporalIdが、外部から入力された再生TId223以下であるかを判定する(S315)。TemporalIdが再生TId223より大きい場合(S315でNo)、画像復号装置200は、対象ピクチャを復号せず、次のピクチャに処理を移行する。本処理によって時間スケーラビリティが実現される。
TemporalIdが再生TId223以下である場合(S315でYes)、復号部202は、参照ピクチャセットを復号し(S316)、ピクチャを復号する(S317)。次に、復号部202は、au_cpb_removal_delay_minus1+1+pic_dpb_output_delayの時刻に復号ピクチャが表示されるように要求するための要求信号を表示部204に送信する(S318)。
次に、復号判定部203は、NALタイプがLLP及びLTPのいずれかであり、かつ、IRAPカウンタが1でないかを判定する(S319及びS320)。NALタイプがLLP及びLTPのいずれかであり、かつ、IRAPカウンタが1でない場合(S319でYesかつS320でNo)、復号判定部203は、再生GOPの最後のピクチャを復号したと判定し、処理を終了する。
図10A及び図10Bの例で説明する。アンダーラインがついたピクチャが再生GOPに含まれる。この場合、I32からB47までの符号列が再生GOP抽出部201によって抽出される。復号判定部203は、2つ目のIRAPであるI64以降のLTPであるB47の処理終了後に再生GOP全てのピクチャを処理したと判定し、処理を終了する。
NALタイプがLLP及びLTPのいずれでもない場合(S319でNo)、又は、IRAPカウンタが1である場合(S320でYes)、次のピクチャに対して、ステップS303以降の処理が行われる。
<動作(再生GOPの取得)>
次に、図42を参照しつつ、再生GOPの取得処理(図41のS301)の流れを説明する。図42は、本実施の形態に係る再生GOPの取得処理のフローチャートである。
まず、再生GOP抽出部201は、再生位置222のIRAPのピクチャを符号列221から探索する(S331、S332及びS333)。具体的には、再生GOP抽出部201は、NALタイプを復号し(S331)、NALタイプがIRAPであるかを判定し(S332)、NALタイプがIRAPである場合(S332でYes)、そのピクチャが再生位置222のピクチャであるかを判定する(S333)。再生GOP抽出部201は、この一連の処理を符号列221の先頭のピクチャから順に実施する。そして、再生GOP抽出部201は、探索された再生位置222のIRAPのピクチャを取得開始ポイントのピクチャとして設定する(S334)。
次に、再生GOP抽出部201は、IRAPカウンタを1に初期化する(S335)。
次に、再生GOP抽出部201は、対象ピクチャのNALタイプを復号し(S336)、NALタイプがIRAPであるかを判定する(S337)。NALタイプがIRAPである場合(S337でYes)、再生GOP抽出部201は、IRAPカウンタに1を加算する(S338)。
また、再生GOP抽出部201は、NALタイプがLLP又はLTPであるかを判定する(S339)。また、再生GOP抽出部201は、IRAPカウンタが1でないかを判定する(S340)。NALタイプがLLP又はLTPであり、かつIRAPカウンタが1でない場合(S339でYesかつS340でNo)、再生GOP抽出部201は、探索を終了し、取得終了ポイントに現ピクチャを設定する(S341)。
また、NALタイプがLLP及びLTPのいずれでもない場合(S339でNo)、又はIRAPカウンタが1である場合(S340でYes)、再生GOP抽出部201は、探索を継続し、取得開始ポイントの次のピクチャに対してステップS336以降の処理を行う。
次に、再生GOP抽出部201は、取得開始ポイントから取得終了ポイントまでのピクチャを符号列221から取得し、取得されたピクチャを復号部202に出力する(S342)。
<効果>
以上、本実施の形態に係る画像復号装置200は、実施の形態1に係る図10A、図10B、図11及び図12に示す符号列から指定された再生GOPを抽出し、そのGOPに含まれるピクチャのみを復号及び再生できる。これにより、実施の形態1と同様の効果を得ることができる。
このように、本実施の形態に係る画像復号装置200は、複数の階層のいずれかにそれぞれが属する複数のピクチャを階層符号化することにより生成されたビットストリーム(符号列221)を復号する。画像復号装置200は、ビットストリームから複数のピクチャの復号時刻を示す時刻情報(au_cpb_removal_delay_minus1)を復号する。画像復号装置200は、時刻情報に従って、複数のピクチャのそれぞれを、当該ピクチャが属する階層と同じ又は低い階層に属するピクチャを参照し、当該ピクチャが属する階層より高い階層に属するピクチャは参照せずに復号する。時刻情報は、複数のピクチャのうち、最も高い階層に属する最上層ピクチャ以外の複数の下層ピクチャの復号時刻が等間隔に設定されていることを示す。
例えば、下層ピクチャのフレームレートは、複数のピクチャのフレームレートの半分である。例えば、下層ピクチャのフレームレートは60fpsであり、複数のピクチャのフレームレートは120fpsである。
これにより、例えば、全階層のピクチャのフレームレートが120fpsであり、下層ピクチャのフレームレートが60fpsである場合、60fpsの復号能力を有する画像復号装置で、下層ピクチャを復号できる。このように、画像復号装置200は、画像を効率的に復号できる。
(実施の形態6)
本実施の形態では、上記実施の形態2に係る画像符号化装置100Aにより生成された符号列を復号する画像復号装置について説明する。
<全体構成>
本実施の形態における画像符号化装置の構成は実施の形態5(図40)と同様であるため、説明を省略する。
<動作(全体)>
次に、図43を参照しつつ、復号処理全体の流れを説明する。図43は、本実施の形態に係る復号処理のフローチャートである。なお、図43に示す処理は、図41に示す処理に対して、ステップS306Aが追加されている。また、ステップS307A、S310A、S311A及びS319Aが、ステップS307、S310、S311及びS319と異なる。また、図43に示す処理にはステップS312及びS313が含まれない。
まず、再生GOP抽出部201は、再生するGOPを符号列221から抽出する(S301)。
次に、復号部202は、IRAPカウントという変数に0を初期値として設定する(S302)。
次に、復号部202は、符号列221から、au_cpb_removal_delay_minus1、及びpic_dpb_output_delayを復号し(S303)、au_cpb_removal_delay_minus1+1の時刻になるまで待機する(S304)。
次に、復号部202は、符号列221からNALタイプ及びSEIを復号し(S305及びS306A)、SEIがrecovery_point SEIであるかを判定する(S307A)。SEIがrecovery_point SEIである場合(S307AでYes)、復号部202は、IRAPカウンタに1加算する(S308)。
次に、復号判定部203は、IRAPカウンタが1より大きいかを判定する(S309)。また、復号判定部203は、SEIがBLP SEI、BTP SEI、LLP SEI及びLTP SEIのいずれかであるかを判定する(S310A及びS311A)。
IRAPカウンタが1より大きく、かつ、SEIがBLP SEI、BTP SEI、LLP SEI及びLTP SEIのいずれかでもない場合(S309でYesかつS310AでNo)、画像復号装置200は、復号処理を行わず、次のピクチャに処理を移行する。また、IRAPカウンタが1以下であり、かつ、SEIがBLP SEI、BTP
SEI、LLP SEI及びLTP SEIのいずれかである場合も(S309でNoかつS311AでYes)、画像復号装置200は、復号処理を行わず、次のピクチャに処理を移行する。こうすることにより、画像復号装置200は、対象ピクチャが再生GOPに含まれるかを判定し、対象ピクチャが再生GOPに含まれない場合は、対象ピクチャを復号しない。
図21A及び図21Bの例で説明する。また、アンダーラインがついたピクチャが再生GOPに含まれる。この場合、I32からB47までの符号列が再生GOP抽出部201によって抽出される。上記判定により、B11、B13、B15、I64、B56及びB52は再生GOPに含まれないと判定され、復号がスキップされる。
IRAPカウンタが1より大きく、かつ、SEIがBLP SEI、BTP SEI、LLP SEI及びLTP SEIのいずれかである場合(S309でYesかつS310AでYes)、又は、IRAPカウンタが1以下であり、かつ、SEIがBLP SEI、BTP SEI、LLP SEI及びLTP SEIのいずれでもないある場合(S309でNoかつS311AでNo)、復号部202は、TemporalIdを復号し(S314)。復号判定部203は、TemporalIdが、外部から入力された再生TId223以下であるかを判定する(S315)。TemporalIdが再生TId223より大きい場合(S315でNo)、画像復号装置200は、対象ピクチャを復号せず、次のピクチャに処理を移行する。本処理によって時間スケーラビリティが実現される。
TemporalIdが再生TId223以下である場合(S315でYes)、復号部202は、参照ピクチャセットを復号し(S316)、ピクチャを復号する(S317)。次に、復号部202は、au_cpb_removal_delay_minus1+1+pic_dpb_output_delayの時刻に復号ピクチャが表示されるように要求するための要求信号を表示部204に送信する(S318)。
次に、復号判定部203は、SEIがLLP及びLTPのいずれかであり、かつ、IRAPカウンタが1でないかを判定する(S319A及びS320)。SEIがLLP及びLTPのいずれかであり、かつ、IRAPカウンタが1でない場合(S319AでYesかつS320でNo)、復号判定部203は、再生GOPの最後のピクチャを復号したと判定し、処理を終了する。
図21A及び図21Bの例で説明する。アンダーラインがついたピクチャが再生GOPに含まれる。この場合、I32からB47までの符号列が再生GOP抽出部201によって抽出される。復号判定部203は、2つ目のrecovery_point SEIであるI64以降のLTP SEIであるB47の処理終了後に再生GOP全てのピクチャを処理したと判定し、処理を終了する。
SEIがLLP SEI及びLTP SEIのいずれでもない場合(S319AでNo)、又は、IRAPカウンタが1である場合(S320でYes)、次のピクチャに対して、ステップS303以降の処理が行われる。
<動作(再生GOPの取得)>
次に、図44を参照しつつ、再生GOPの取得処理(図43のS301)の流れを説明する。図44は、本実施の形態に係る再生GOP取得処理のフローチャートである。なお、図44に示す処理は、図42に示す処理に対して、ステップS331A、S332A、S336A、S337A及びS339Aが、ステップS331、S332、S336、S337及びS339と異なる。
まず、再生GOP抽出部201は、再生位置222のrecovery_point SEIのピクチャを符号列221から探索する(S331A、S332A及びS333)。具体的には、再生GOP抽出部201は、SEIを復号し(S331A)、SEIがrecovery_point SEIであるかを判定する(S332A)。SEIがrecovery_point SEIである場合(S332AでYes)、再生GOP抽出部201は、そのピクチャが再生位置222のピクチャであるかを判定する(S333)。再生GOP抽出部201は、この一連の処理を符号列221の先頭のピクチャから順に実施する。そして、再生GOP抽出部201は、探索された再生位置222のrecovery_point SEIのピクチャを取得開始ポイントのピクチャとして設定する(S334)。
次に、再生GOP抽出部201は、IRAPカウンタを1に初期化する(S335)。
次に、再生GOP抽出部201は、対象ピクチャのSEIを復号し(S336A)、SEIがrecovery_point SEIであるかを判定する(S337A)。SEIがrecovery_point SEIである場合(S337でYes)、再生GOP抽出部201は、IRAPカウンタに1を加算する(S338)。
また、再生GOP抽出部201は、SEIがLLP SEI又はLTP SEIであるかを判定する(S339A)。また、再生GOP抽出部201は、IRAPカウンタが1でないかを判定する(S340)。SEIがLLP SEI又はLTP SEIであり、IRAPカウンタが1でない場合(S339AでYesかつS340でNo)、再生GOP抽出部201は、探索を終了し、取得終了ポイントに現ピクチャを設定する(S341)。
また、SEIがLLP及びLTPのいずれでもない場合(S339AでNo)、又はIRAPカウンタが1である場合(S340でYes)、再生GOP抽出部201は、探索を継続し、取得開始ポイントのピクチャの次のピクチャに対してステップS336A以降の処理を行う。
次に、再生GOP抽出部201は、取得開始ポイントから取得終了ポイントまでのピクチャを符号列221から取得し、取得されたピクチャを復号部202に出力する(S342)。
<効果>
以上、本実施の形態に係る画像復号装置200は、実施の形態2に係る図21A、図21B、図22及び図23に示す符号列から指定された再生GOPを抽出し、そのGOPに含まれるピクチャのみを復号及び再生できる。これにより、実施の形態2と同様の効果を得ることができる。
(実施の形態7)
本実施の形態では、上記実施の形態3に係る画像符号化装置100により生成された符号列を復号する画像復号装置について説明する。
<全体構成>
本実施の形態における画像復号装置200の構成は実施の形態5(図40)と同様であるため、説明を省略する。
<動作(全体)>
次に、図45を参照しつつ、復号処理全体の流れを説明する。図45は、本実施の形態に係る復号処理のフローチャートである。なお、図45に示す処理は、図41に示す処理に対して、ステップS319Bが、ステップS319と異なる。また、図45に示す処理にはステップS302及びS306〜S311が含まれない。それ以外は実施の形態5(図41)と同様であるため、説明を省略する。
ステップS319Bでは、画像復号装置200は、対象ピクチャがGOP内の最後のピクチャであるかを判定する(S319B)。対象ピクチャがGOP内の最後のピクチャである場合(S319BでYes)、画像復号装置200は、処理を終了する。また、対象ピクチャがGOP内の最後のピクチャでない場合(S319BでNo)、次のピクチャに対して、ステップS303以降の処理が行われる。
<動作(再生GOPの取得)>
次に、図46を参照しつつ、再生GOPの取得処理(図45のS301)の流れを説明する。図46は、本実施の形態に係る再生GOPの取得処理のフローチャートである。なお、図46に示す処理は、図42に示す処理に対して、ステップS340A及びS340Aが、ステップS340及びS341と異なる。また、図46に示す処理にはステップS335、及びS337〜S339が含まれない。また、ステップS331、S332、S333及びS334は実施の形態5(図42)と同様であるため、説明を省略する。
ステップS334の後、再生GOP抽出部201は、NALタイプを復号し(S336)、IRAPのピクチャを探索する(S340A)。具体的には、再生GOP抽出部201は、対象ピクチャのNALタイプがIRAPであるかを判定する(S340A)。対象ピクチャのNALタイプがIRAPである場合(S340AでYes)、再生GOP抽出部201は、対象ピクチャの1つ前のピクチャを取得終了ポイントのピクチャに設定する(S341A)。
次に、再生GOP抽出部201は、取得開始ポイントから取得終了ポイントまでのピクチャを符号列221から取得し、取得されたピクチャを復号部202に出力する(S342)。
対象ピクチャのNALタイプがIRAPでない場合(S340AでNo)、再生GOP抽出部201は、次のピクチャに対してステップS336以降の処理を行う。
<効果>
以上、本実施の形態に係る画像復号装置200は、実施の形態3の図25A、図25B、図26及び図27の符号列から指定された再生GOPを抽出し、そのGOPに含まれるピクチャのみを復号及び再生できる。これにより、実施の形態3と同様の効果を得ることができる。
このように、本実施の形態に係る画像復号装置200は、複数の階層のいずれかにそれぞれが属する複数のピクチャを階層符号化することにより生成されたビットストリーム(符号列221)を復号する。画像復号装置200は、ビットストリームから複数のピクチャの復号時刻を示す時刻情報(au_cpb_removal_delay_minus1)を復号する。画像復号装置200は、時刻情報に従って、複数のピクチャのそれぞれを、当該ピクチャが属する階層と同じ又は低い階層に属するピクチャを参照し、当該ピクチャが属する階層より高い階層に属するピクチャは参照せずに復号する。時刻情報は、複数のピクチャのうち、最も高い階層に属する最上層ピクチャ以外の複数の下層ピクチャの復号時刻が等間隔に設定されていることを示す。
例えば、下層ピクチャのフレームレートは、複数のピクチャのフレームレートの半分である。例えば、下層ピクチャのフレームレートは60fpsであり、複数のピクチャのフレームレートは120fpsである。
これにより、例えば、全階層のピクチャのフレームレートが120fpsであり、下層ピクチャのフレームレートが60fpsである場合、60fpsの復号能力を有する画像復号装置で、下層ピクチャを復号できる。このように、画像復号装置200は、画像を効率的に復号できる。
さらに、時刻情報(au_cpb_removal_delay_minus1)は、ランダムアクセス可能なIピクチャより表示順で前の前方ピクチャの復号時刻が、上記Iピクチャより表示順で後の後方ピクチャの復号時刻より前であることを示す。これにより、画像復号装置200は、参照フレームメモリの容量を削減できる。
また、複数のピクチャは、各々が、少なくとも一つのIピクチャを含み、表示順で連続する複数のピクチャを含む複数のピクチャ群(GOP)のいずれかに含まれる。各ピクチャ群に含まれる複数のピクチャが、他のピクチャ群に含まれるピクチャの復号をはさまず連続して復号されるように、複数のピクチャの復号時刻が設定されている。これにより、画像符号化装置100は、特別な処理を行うことなく復号できる画像を復号できる。
(実施の形態8)
本実施の形態では、上記実施の形態4に係る画像符号化装置100により生成された符号列を復号する画像復号装置について説明する。
<全体構成>
本実施の形態における画像復号装置200の構成は実施の形態5(図40)と同様であるため、説明を省略する。
<動作(全体)>
次に、図47を参照しつつ、復号処理全体の流れを説明する。図41は、本実施の形態に係る復号処理のフローチャートである。なお、図47に示す処理は、図45に示す処理に対して、ステップS304Aが、ステップS304と異なる。それ以外は実施の形態7(図45)と同様であるため、説明を省略する。
ステップS304Aでは、復号部202は、前ピクチャの復号開始から一定時間が経過するまで待機する。図34A及び図34Bに示す例で説明すると、復号部202は、I0の復号を開始してから1時刻経過後にB1の復号を開始し、それから1時刻経過後にP16を復号する。このように、復号部202は、等間隔にピクチャの復号を開始する。
<動作(再生GOPの取得)>
再生GOPの取得処理(図47のS301)の流れは実施の形態7(図46)と同様であるため、説明を省略する。
<効果>
以上、本実施の形態によれば、実施の形態4に係る図34A、図34B、図35及び図36に示す符号列から指定された再生GOPを抽出し、そのGOPに含まれるピクチャのみを復号及び再生できる。これにより、実施の形態4と同様の効果を得ることができる。
以上、実施の形態に係る画像符号化装置及び画像復号装置について説明したが、本発明は、この実施の形態に限定されるものではない。
また、上記実施の形態に係る画像符号化装置及び画像復号装置に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサなどのプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
言い換えると、画像符号化装置及び画像復号装置は、制御回路(control circuitry)と、当該制御回路に電気的に接続された(当該制御回路からアクセス可能な)記憶装置(storage)とを備える。制御回路は、専用のハードウェア及びプログラム実行部の少なくとも一方を含む。また、記憶装置は、制御回路がプログラム実行部を含む場合には、当該プログラム実行部により実行されるソフトウェアプログラムを記憶する。
さらに、本発明は上記ソフトウェアプログラムであってもよいし、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
また、本発明は、上記画像符号化装置により生成された符号化ビットストリーム(符号列)を受信する受信装置として実現されてもよい。また、この受信装置は、上記画像復号装置を含んでもよい。また、本発明は、上記画像符号化装置により生成された符号化ビットストリーム(符号列)を送信する送信装置として実現されてもよい。
また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
また、上記の画像符号化方法又は画像復号方法に含まれるステップが実行される順序は、本発明を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
また、各実施の形態において説明した処理は、単一の装置(システム)を用いて集中処理することによって実現されてもよく、又は、複数の装置を用いて分散処理することによって実現されてもよい。また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理が行われてもよく、又は分散処理が行われてもよい。
以上、本発明の一つ又は複数の態様に係る画像符号化装置及び画像復号装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の一つ又は複数の態様の範囲内に含まれてもよい。
(実施の形態9)
上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
図48は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図48のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局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の例に限らず、図49に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
図50は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)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の構成を図51に示す。情報再生/記録部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はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
図52に光ディスクである記録メディア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の構成は例えば図50に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
図53Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
さらに、携帯電話ex114の構成例について、図53Bを用いて説明する。携帯電話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において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
(実施の形態10)
上記各実施の形態で示した動画像符号化方法または装置と、MPEG−2、MPEG4−AVC、VC−1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG−2トランスポートストリーム形式のデジタルストリームである。
図54は、多重化データの構成を示す図である。図54に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(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が、それぞれ割り当てられている。
図55は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
図56は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図56における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。図56の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time−Stamp)やピクチャの復号時刻であるDTS(Decoding Time−Stamp)が格納される。
図57は、多重化データに最終的に書き込まれる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フィルタへの転送開始時刻を示す。多重化データには図57下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号は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時間の情報を持つ。
図58はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
多重化データ情報ファイルは、図59に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
多重化データ情報は図59に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
ストリーム属性情報は図60に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
また、本実施の形態における動画像復号化方法のステップを図61に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
(実施の形態11)
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図62に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に置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
(実施の形態12)
上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図63は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
より具体的には、駆動周波数切替え部ex803は、図62のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、図62の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態10で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態10で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、図65のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
図64は、本実施の形態の方法を実施するステップを示している。まず、ステップ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を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
(実施の形態13)
テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図66Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4−AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4−AVC規格に対応する復号処理部ex902を共有し、MPEG4−AVC規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。特に、本発明の一態様は、階層符号化に特徴を有していることから、例えば、階層符号化については専用の復号処理部ex901を用い、それ以外のエントロピー復号、逆量子化、デブロッキング・フィルタ、動き補償のいずれか、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4−AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
また、処理を一部共有化する他の例を図66Bのex1000に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。