(本発明の基礎となった知見)
本発明者は、従来の技術に関し、以下の問題が生じることを見出した。
H.26xと称されるITU−T規格又はMPEG−xと称されるISO/IEC規格においては、1枚の画像が、図1Aに示すようにタイルと呼ばれる複数の単位に分割される。各タイルは、当該タイルが含まれる画像内の他のタイルを参照できない。例えばタイル2が符号化又は復号対象である場合、タイル2はタイル1を参照できない。ただし、時間的に異なる画像が参照される場合は、符号化又は復号対象である対象ブロックは、タイル2以外のタイルを参照することが可能である。例えば図1Aに示す左の画像は時間t−1の画像であり、右の画像は時間tの画像であり、これらの画像は、時間的に異なる画像である。図1Aは、時間tのタイル2に属する対象ブロックが処理される際に、時間t−1のタイル3に属する参照ブロックが参照画像として用いられる例を示す図である。
一方、このような参照を許す場合、次のような課題がある。例えば画像サイズが非常に大きい場合、タイルをそれぞれ別のLSIで処理する並列化処理が行われる。しかし、前述のように、時間の異なる画像に含まれる他のタイルへの参照を許すためには、個々のLSIは、当該LSIが生成した画像を一つの大きなメモリに書き出し、複数のLSIでそのメモリを共有する必要がある。この場合、別々のLSIを同期させることが必要となり、同期処理のための処理量が増加してしまうという課題がある。
そこで、非特許文献1には、時間の異なる画像に含まれる他のタイルへの参照を禁止することを示す情報を符号化ストリーム中に記載する方法が記載されている。この場合、図1Bに示すように、時間的に異なる画像(フレーム(t−1))であっても、対象ブロックは同一のタイル(タイル2)内の参照ブロックを参照する必要がある。これにより、複数のLSIで並列処理を行う場合に、各LSIは、参照画像を共有のメモリに出力する必要がなくなる。なお、以降では、このような制限があるタイルのことをMC制限タイルと呼ぶ。
しかしながら、これを実現するためには、次のような課題があることを本発明者は見出した。
(1)同一タイル内の領域を参照している場合であっても、小数精度の画素である小数画素を算出するために、異なるタイルが参照される場合がある。
小数画素の生成方法を、図2を用いて説明する。図2の(a)は左端のタイル境界から1/4画素ずれた位置の画素値を生成するためのフィルタの参照画素を示す。線で結んだ整数画素が参照される。この場合、タイル領域外の3画素が参照される。
図2の(b)は左端のタイル境界から1/2画素ずれた位置の画素値を生成するためのフィルタの参照画素を示す。この場合、タイル領域外の3画素が参照される。図2の(c)は左端のタイル境界から3/4画素ずれた位置の画素値を生成するためのフィルタの参照画素を示す。この場合、タイル領域外の2画素が参照される。
同様に考えた場合、図2の(d)に示す左端のタイル境界から2画素と3/4画素ずれた位置より右側ではタイル領域外が参照されない。このため、異なる時間の画像信号を参照する場合において、前述のようにタイルを跨がない参照を実現するためには、同一タイル内の整数画素、又は、タイル境界から2と3/4画素より内側の小数画素を参照する必要がある。ただし、画面端において、このような処理を切り替えることは処理量の増大及び回路規模の拡大をもたらす。
(2)スキップモード及びマージモードと呼ばれる、周囲の処理済みのブロックの動きベクトルが再利用されるモードがある。ここで、動きベクトルとは、対象ブロックと参照ブロックとの相対位置を示す情報であり、例えば、水平成分及び垂直成分を含む。このモードが選択された場合、再利用対象のブロックがタイル境界を跨いだ参照を行わない場合であっても、対象ブロックで動きベクトルが再利用された場合に境界を跨いだ参照が行われる場合がある。よって、画像符号化装置及び画像復号装置は、このことを確認する必要がある。
以下、スキップモード及びマージモードで用いられる動きベクトル(以降、スキップ・マージベクトル)の導出の際に参照される領域を、図3A〜図3Cを用いて説明する。
図3Aは、画面内での隣接ブロックの動きベクトルを参照する場合を示す図である。対象ブロックXのスキップ・マージベクトルの導出では、対象ブロックXの周辺に位置するブロックA0、A1、B0、B1及びB2の動きベクトルが参照される可能性がある。
また、時間的に異なるピクチャの動きベクトルを参照する方法もある。図3Bに示すように、時間的に異なるピクチャの対象ブロックXと同じ位置にあるブロックC、又は、ブロックCの右下に位置するブロックHの動きベクトルが参照される。
図3Cは、タイル境界に位置する対象ブロックXが、当該対象ブロックXの右上のブロックB0の動きベクトルMV0を再利用する場合の例を示す図である。図3Cに示すように、ブロックB0を処理する場合には、動きベクトルMV0はタイル境界を跨がず、ブロックB0と同一タイル(タイル2)内の参照ブロックR0が参照される。一方で、動きベクトルMV0が対象ブロックXで再利用された場合、動きベクトルMV0はタイル境界を跨ぎ、他のタイル(タイル1)の参照ブロックR1が参照される。このような場合が発生するので、画像符号化装置又は画像復号装置は、これを確認する必要がある。ただし、全ての動き予測時に動きベクトルがタイル境界を跨ぐかを確認することは、処理量の増大及び回路規模の拡大をもたらす。
また、これらのタイル端の処理として、画像信号の画面端の処理とは異なる処理が必要である。なぜならば、画面端の場合には隣接する画素が無い場合の処理が、非特許文献1に記載されているが、動き参照を制限したタイル端の処理は規定されていない。これにより、前述のような処理が必要となる。
上記のように、タイルに分割された領域をそれぞれ並列処理する場合に、特殊な領域端処理を行わなければならないという課題があることを本発明者は見出した。
より詳しく説明すると、画像符号化装置又は画像復号装置が、対象の画像信号を並列処理(並列符号化及び復号)するために処理が必要である。この処理により処理時間が増加することで、高速処理の実現が困難である。または、この処理を高速に行うためには回路規模を増大させることが必要という課題がある。
また、非特許文献1には、復号済みのピクチャのMV(動きベクトル)を予測MVとして使用する方法が記載されているが、参照されるブロックがMC制限タイル領域外の場合にどう扱うかについては明確に記載されていない。これにより、符号化側と復号側との予測MVリストに不一致が発生する可能性があることを本発明者は発見した。
本実施の形態では、並列符号化処理が可能な画像符号化装置であって、符号化対象の画像信号を高速に符号化することができる画像符号化装置について説明する。
また、本実施の形態では、画像符号化装置における処理量を低減できる画像符号化方法について説明する。
本発明の一態様に係る画像復号方法は、ピクチャが分割されることにより得られた複数のタイルの一つである対象タイルから他のタイルへの参照が禁止されることを示す制限情報を、ビットストリームから復号する制限情報復号ステップと、複数の予測動きベクトル候補と、前記複数の予測動きベクトル候補の各々の予測動きベクトルインデックスを示す予測動きベクトルリストを生成するリスト生成ステップと、前記ビットストリームから、前記対象タイルに含まれる対象ブロックのための予測動きベクトルインデックスを復号するインデックス復号ステップと、前記予測動きベクトルリストにおいて、復号された前記予測動きベクトルインデックスに対応する予測動きベクトル候補を用いて、前記対象ブロックを復号するブロック復号ステップとを含み、前記リスト生成ステップでは、前記対象ブロックの右下のブロックの時間動きベクトルを含まない前記予測動きベクトルリストを生成する。
これによれば、当該画像復号方法は、他のタイルの情報を参照せずに、画像を復号できる。このように、当該画像復号方法は、符号化ビットストリームを適切に復号できる。また、当該画像復号装置は、画像符号化装置において、他のタイルの情報が参照されている場合であっても符号化ビットストリームを適切に復号できる。
例えば、前記リスト生成ステップでは、前記右下のブロックが、前記対象タイル外であるかを判定し、前記右下のブロックが、前記対象タイル外である場合、前記予測動きベクトルリストに、前記右下のブロックの前記時間動きベクトルを含めなくてもよい。
これによれば、当該画像復号方法は、右下のブロックの動きベクトルの使用が不必要に禁止されることを抑制できるので、符号化側と復号側とで異なる予測動きベクトルが用いられるケースの発生を抑制できる。
例えば、前記リスト生成ステップでは、前記対象ブロックの右下のブロックの前記時間動きベクトル、及び、前記対象ブロックの中央の位置のブロックの時間動きベクトルのいずれも含まない前記予測動きベクトルリストを生成してもよい。
これによれば、当該画像復号方法は、処理量を低減できる。
例えば、前記リスト生成ステップでは、前記予測動きベクトルリストに、前記対象ブロックの右下のブロックの時間動きベクトルの代わりに値ゼロの動きベクトルを含めてもよい。
これによれば、当該画像復号方法は、符号化側と復号側との予測動きベクトルリストにおいて、時間動きベクトル候補以降の候補を同じにすることができるので、符号化側と復号側とで異なる予測動きベクトルが用いられるケースの発生を抑制できる。
例えば、前記リスト生成ステップでは、前記対象ブロックの中央の位置のブロックの時間動きベクトルを含む前記予測動きベクトルリストを生成してもよい。
これによれば、当該画像復号方法は、符号化側と復号側との予測動きベクトルリストにおいて、時間動きベクトル候補以降の候補を同じにすることができるので、符号化側と復号側とで異なる予測動きベクトルが用いられるケースの発生を抑制できる。
例えば、前記ブロック復号ステップでは、前記復号された予測動きベクトルインデックスが前記予測動きベクトルリストに存在しない場合、前記予測動きベクトルリストに含まれる複数の予測動きベクトルインデックスのうち最大の予測動きベクトルインデックスに対応する予測動きベクトル候補を用いて、前記対象ブロックを復号してもよい。
これによれば、当該画像復号方法は、符号化側と復号側とで予測動きベクトルリストの不一致が発生した場合であっても、符号化ビットストリームを適切に復号できる。
例えば、前記ブロック復号ステップでは、前記復号された予測動きベクトルインデックスが前記予測動きベクトルリストに存在しない場合、前記予測動きベクトルリストに含まれる複数の予測動きベクトルインデックスのうち最小の予測動きベクトルインデックスに対応する予測動きベクトル候補を用いて、前記対象ブロックを復号してもよい。
これによれば、当該画像復号方法は、符号化側と復号側とで予測動きベクトルリストの不一致が発生した場合であっても、符号化ビットストリームを適切に復号できる。
例えば、前記ブロック復号ステップでは、前記復号された予測動きベクトルインデックスが前記予測動きベクトルリストに存在しない場合、値ゼロの動きベクトルを用いて、前記対象ブロックを復号してもよい。
これによれば、当該画像復号方法は、符号化側と復号側とで予測動きベクトルリストの不一致が発生した場合であっても、符号化ビットストリームを適切に復号できる。
また、本発明の一態様に係る画像符号化方法は、ピクチャを複数のタイルに分割する分割ステップと、前記複数のタイルの一つである対象タイルから他のタイルへの参照が禁止されることを示す制限情報を符号化する制限情報符号化ステップと、複数の予測動きベクトル候補と、前記複数の予測動きベクトル候補の各々の予測動きベクトルインデックスを示す予測動きベクトルリストを生成するリスト生成ステップと、前記複数の予測動きベクトル候補のうちいずれかを選択し、前記予測動きベクトルリストにおいて、選択された前記予測動きベクトル候補に対応する予測動きベクトルインデックスを符号化するインデックス符号化ステップと、選択された前記予測動きベクトル候補を用いて、前記対象タイルに含まれる対象ブロックを符号化するブロック符号化ステップとを含み、前記リスト生成ステップでは、前記予測動きベクトルリストに、前記対象ブロックの右下のブロックの時間動きベクトルを含めない。
これによれば、当該画像符号化方法は、他のタイルの情報を参照せずに、画像を符号化できる。このように、当該画像符号化方法は、画像復号装置で適切に復号できる符号化ビットストリームを生成できる。また、当該画像符号化方法は、符号化側と復号側とで予測動きベクトルリストの不一致が生じることを抑制できる符号化ビットストリームを生成できる。
例えば、前記リスト生成ステップでは、前記右下のブロックが、前記対象タイル外であるかを判定し、前記右下のブロックが、前記対象タイル外である場合、前記予測動きベクトルリストに、前記右下のブロックの前記時間動きベクトルを含めなくてもよい。
これによれば、当該画像符号化方法は、右下のブロックの動きベクトルの使用が不必要に禁止されることを抑制できるので、符号化効率を向上できる。
例えば、前記リスト生成ステップでは、前記対象ブロックの右下のブロックの前記時間動きベクトル、及び、前記対象ブロックの中央の位置のブロックの時間動きベクトルのいずれも含まない前記予測動きベクトルリストを生成してもよい。
これによれば、当該画像符号化方法は、処理量を低減できる。
例えば、前記リスト生成ステップでは、前記予測動きベクトルリストに、前記時間動きベクトル、結合双予測ベクトル、及び値ゼロの動きベクトルを含めなくてもよい。
これによれば、当該画像符号化方法は、符号化側と復号側とで異なる予測動きベクトルが用いられるケースの発生を抑制できる。
例えば、前記ブロック符号化ステップでは、前記対象ブロックを、イントラ予測を用いて符号化してもよい。
これによれば、当該画像符号化方法は、符号化側と復号側とで異なる予測動きベクトルが用いられるケースの発生を抑制できる。
例えば、前記ブロック符号化ステップでは、空間動きベクトル候補が使用できない場合、前記対象ブロックを、イントラ予測を用いて符号化してもよい。
これによれば、当該画像符号化方法は、符号化側と復号側とで異なる予測動きベクトルが用いられるケースの発生を抑制できる。
例えば、前記リスト生成ステップでは、前記対象ブロックが、前記タイルの右端のブロック又はスライスであるかを判定し、前記対象ブロックが、前記タイルの右端のブロック又はスライスである場合、前記予測動きベクトルリストに、前記右下のブロックの前記時間動きベクトルを含めなくてもよい。
これによれば、当該画像符号化方法は、符号化側と復号側とで異なる予測動きベクトルが用いられるケースの発生を抑制できる。また、当該画像符号化方法は、処理量を低減できる。
例えば、前記画像符号化方法は、さらに、双方向参照時において、後方ピクチャ用の参照画像リストを用いる場合に、使用される動きベクトルと予測動きベクトルとの差分を符号化するか否かを示すフラグを符号化するフラグ符号化ステップと、前記参照画像リストを用いる場合に、予測動きベクトルが前記対象タイル外を参照するかを判定するは判定ステップと、前記フラグにより前記差分を符号化しないことが示され、かつ、前記参照画像リストを用いる場合に、前記予測動きベクトルが前記対象ブロックを含む前記タイル外を参照する場合、双方向参照を禁止する禁止ステップとを含んでもよい。
これによれば、当該画像符号化方法は、他のタイルの情報を参照せずに、画像を符号化できる。
例えば、前記画像符号化方法は、さらに、双方向参照時において、後方ピクチャ用の参照画像リストを用いる場合に、使用される動きベクトルと予測動きベクトルとの差分を符号化するか否かを示すフラグを符号化するフラグ符号化ステップを含み、前記フラグ符号化ステップでは、前記制限情報により、前記対象タイルから前記他のタイルへの参照が禁止されていることが示される場合には、前記差分を符号化することを示す前記フラグを符号化してもよい。
これによれば、当該画像符号化方法は、他のタイルの情報を参照せずに、画像を符号化できる。また、当該画像符号化方法は処理量を低減できる。
例えば、前記画像符号化方法は、さらに、前記制限情報により、前記対象タイルから前記他のタイルへの参照が禁止されていることが示される場合、タイル境界に接するブロックの量子化パラメータを、他のブロックの量子化パラメータより小さく設定する設定ステップを含んでもよい。
これによれば、当該画像符号化方法は、他のタイルへの参照が禁止されている場合のタイル境界における画質の低下を抑制できる。
また、本発明の一態様に係る画像復号装置は、復号部と、前記復号部からアクセス可能な記憶装置とを備え、前記復号部は、前記画像復号方法を実行する。
これによれば、当該画像復号装置は、他のタイルの情報を参照せずに、画像を復号できる。このように、当該画像復号装置は、符号化ビットストリームを適切に復号できる。また、当該画像復号装置は、画像符号化装置において、他のタイルの情報が参照されている場合であっても符号化ビットストリームを適切に復号できる。
また、本発明の一態様に係る画像符号化装置は、符号化部と、前記符号化部からアクセス可能な記憶装置とを備え、前記符号化部は、前記画像符号化方法を実行する。
これによれば、当該画像符号化装置は、他のタイルの情報を参照せずに、画像を符号化できる。このように、当該画像符号化装置は、画像復号装置で適切に復号できる符号化ビットストリームを生成できる。また、当該画像符号化装置は、符号化側と復号側とで予測MVリストの不一致が生じることを抑制できる符号化ビットストリームを生成できる。
また、本発明の一態様に係る画像符号化復号装置は、前記画像符号化装置と、前記画像復号装置とを備える。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
以下、本発明の実施の形態について、図面を参照しながら説明する。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
本実施の形態では、並列処理を実現する符号化ストリームを生成するための画像符号化方法について説明する。本実施の形態では、ビットストリームは、画像符号化装置が容易に並列処理を可能となる情報を含む。すなわち、ピクチャが分割された領域であるタイルに含まれるブロックが、動き予測、動き補償処理において、同一時間又は異なる時間のピクチャに含まれる同一タイル内の画素しか参照しない。
まず、本実施の形態に係る画像符号化装置100の構成を説明する。図4は、本実施の形態に係る画像符号化装置100の構成例を示すブロック図である。
画像符号化装置100は、入力画像121を圧縮符号化することで符号化信号129(符号化ビットストリーム)を生成する。例えば、画像符号化装置100には、入力画像121がブロック毎に入力される。画像符号化装置100は、入力された入力画像121に、変換、量子化及び可変長符号化を行うことで、符号化信号129を生成する。
図4に示す画像符号化装置100は、減算器101と、変換量子化部102と、エントロピー符号化部103と、逆量子化逆変換部104と、加算器105と、デブロッキング処理部106と、メモリ107と、イントラ予測部108と、動き補償部109と、動き検出部110と、切換スイッチ112とを備える。
減算器101は、入力画像121と予測信号127との差分である残差信号122(予測誤差又は差分信号とも呼ぶ)を算出する。
変換量子化部102は、空間領域の残差信号122を周波数領域の変換係数に変換する。例えば、変換量子化部102は、残差信号122にDCT(Discrete Cosine Transform)変換を行うことで変換係数を生成する。さらに、変換量子化部102は、変換係数を量子化することで量子化係数123を生成する。
エントロピー符号化部103は、量子化係数123を可変長符号化することで符号化信号129を生成する。また、エントロピー符号化部103は、動き検出部110によって検出された動きデータ128(例えば、動きベクトル)を符号化し、得られた信号を符号化信号129に含めて出力する。
逆量子化逆変換部104は、復元した変換係数を逆変換することで残差信号124を復元する。なお、復元された残差信号124は、量子化により情報の一部が失われているので、減算器101で生成された残差信号122とは一致しない。すなわち、復元された残差信号124は、量子化誤差を含んでいる。
加算器105は、復元された残差信号124と予測信号127とを加算することで、ローカル復号画像125を生成する。
デブロッキング処理部106は、ローカル復号画像125にデブロッキングフィルタ処理を行うことでローカル復号画像126を生成する。
メモリ107は、動き補償に用いられる参照画像を格納するためのメモリである。具体的には、メモリ107は、デブロッキングフィルタ処理が施された後のローカル復号画像126を格納する。また、メモリ107は処理済みの動きデータも格納する。
イントラ予測部108は、イントラ予測を行うことで、予測信号(イントラ予測信号)を生成する。具体的には、イントラ予測部108は、加算器105によって生成されたローカル復号画像125における、符号化対象ブロック(入力画像121)の周囲の画像を参照してイントラ予測を行うことで、イントラ予測信号を生成する。
動き検出部110は、入力画像121と、メモリ107に格納された参照画像との間の動きデータ128(例えば、動きベクトル)を検出する。また、動き検出部110は、符号化済みの動きデータを用いて、スキップベクトル及びマージベクトルに関する演算も行う。
動き補償部109は、検出された動きデータ128に基づいて動き補償を行うことで、予測信号(インター予測信号)を生成する。
切換スイッチ112は、イントラ予測信号及びインター予測信号のいずれかを選択し、選択した信号を予測信号127として減算器101及び加算器105に出力する。
以上の構成により、本実施の形態に係る画像符号化装置100は、画像データを圧縮符号化する。
次に、画像符号化装置100の動作を説明する。図5は、本実施の形態に係る画像符号化装置100による動き予測モードを判定する際の処理の概要を示すフローチャートである。
図5に示す処理では、動きベクトルの再利用が制限される。まず、動き検出部110は、メモリ107から、スキップ・マージベクトルの候補となる動き情報を取得する(S101)。また、動き検出部110は、例えば、図3A及び図3Bに示す隣接ブロックから、スキップ・マージベクトルの候補を導出する。具体的には、動き検出部110は、スキップベクトルの導出方法、及びマージベクトルの導出方法として、非特許文献1に示す方法を用いる。
次に、動き検出部110は、取得したスキップ・マージベクトルがタイル境界を跨ぐかどうかを判定する(S102)。具体的には、動き検出部110は、隣接ブロックの動きベクトルの始点を現在の対象ブロックの座標に変換し、変換後の動きベクトルの参照先が他のタイルであるかを判定する。また、動き検出部110は、変換後の動きベクトルの参照先が他のタイルでない場合であっても、当該動きベクトルの参照先が、タイル境界からの距離が2と3/4画素未満である小数画素である場合に、変換後の動きベクトルがタイル境界を跨ぐと判定してもよい。つまり、スキップ・マージベクトルがタイル境界を跨ぐとは、言い換えると、スキップ・マージベクトルが他のタイルを参照する場合(他のタイルの画素値を用いて予測画像が生成される場合)である。
変換後の動きベクトルがタイル境界を跨がない場合(S102でNO)、動き検出部110は、その動きベクトルを使った場合におけるコストを算出する(S103)。なお、ここでコストとは、例えば、そのスキップ・マージベクトルを示すための符号量と、予測画像(そのベクトルで参照される画像)と符号化対象の入力画像との差分との重み付加算等により算出されるコスト値である。また、動き検出を行った場合のコスト値が算出され、複数のコスト値が比較されることにより、最適な動き予測モードが決定される。また、コスト値がこのように規定される場合には、コスト値が最小となる場合が最適な動き予測モードである。なお、コスト算出の方法はこの限りではないが、簡単のため、ここではコスト値が最小となる場合を最適な動き予測モードとする場合に関して説明する。
一方、スキップ・マージベクトルがタイル境界を超えると判定された場合(S102でYES)、動き検出部110は、当該スキップ・マージベクトルを使用しないと決定する(S104)。例えば、動き検出部110は、当該スキップ・マージベクトルのコスト値を最大値に設定することで、当該スキップ・マージベクトルが使用されないようにする。なお、設定される値は最大値である必要はなく、最適値として選択されない値であれば任意の値でよい。また、スキップ・マージベクトルの使用を禁止する方法は、コスト値を変更する方法以外であってもよい。
ステップS101で取得されたスキップ・マージベクトルの候補全てに対する処理が完了していない場合(S105でNO)、動き検出部110は、次の、スキップ・マージベクトルの候補に関してコスト計算を行う(S102〜S104)。
全てのスキップ・マージベクトルの候補に関してコスト計算が完了した場合(S105でYES)、動き検出部110は、対象ブロックに対する動き検出を行い、当該動き検出のコスト値を算出する(S106)。なお、この際の動き検出の探索範囲は、前述のタイル境界を超えない範囲である。また、小数画素に関しては境界から2と3/4画素未満も探索範囲外に設定される。
最後に、動き検出部110は、算出された全てのコスト値のうち最小のコスト値に対する動き予測モードを、使用する動き予測モードに決定する(S107)。
このように、動き検出部110は、スキップ・マージベクトルがタイル境界を跨ぐかどうかを判定することで、異なる時間のピクチャも含むタイル間での画素データの参照を無くすことができる。なお、このフローチャートは一例であり、さらに変形することにより、より処理量を削減することが可能である。
例えば、図5に示す処理では、動き検出部110は、タイル境界を跨ぐかどうかの判定において、参照先が小数画素の場合に、当該参照先が境界から2と3/4画素未満かどうかを判定したが、この場合、毎回、参照先が小数画素かどうかを判定する必要があるため、回路規模が大きくなる可能性がある。
これに対して、動き検出部110は、参照先が小数画素かどうかにかかわらず、当該参照先がタイル境界から3画素未満かどうかを判定し、参照先がタイル境界から3画素未満の場合に、タイル境界を跨ぐと判定してもよい。この場合、例えば、対象ブロックと同じ位置の整数画素が参照先の場合(ベクトル(0、0))も対象外になるが、動き検出部110は、ベクトル(0、0)は特別に許可してもよい。これにより、参照先が整数画素で、対象ブロックから1又は2画素ずれた場合が除外される。つまり、動き検出部110は、参照先がタイル境界から3画素未満であり、かつ、動きベクトルが(0、0)以外の場合に、タイル境界を跨ぐと判定してもよい。これにより、符号化効率の劣化を抑制できる。また、通常、同一位置(ベクトル(0、0))に関しては、容易に処理が可能なため、上記手法により、処理量を削減しつつ、符号化効率の劣化を抑制できる。
なお、さらに処理量を削減する変形例について図6を用いて説明する。図6は、本実施の形態に係る画像符号化装置100による動き予測モードを判定する際の処理の変形例のフローチャートである。
図6に示す処理では、まず、動き検出部110は、対象ブロックがMC制限タイルの境界に位置するかどうかを確認する(S121)。具体的には、動き検出部110は、対象ブロックが、MC制限タイルの境界から一定数以内のブロックである場合に、対象ブロックがMC制限タイルの境界に位置すると判定する。ここでブロックとは、例えば、符号化ブロックと呼ばれる符号化処理の単位ブロックであってもよいし、LCU(最大符号化ブロック)又はCTB(符号化ツリーブロック)と呼ばれる単位のブロックであってもよい。
対象ブロックがタイル境界に位置しない場合(S122でNO)、動き検出部110は、ステップS101と同様にスキップ・マージベクトル候補を抽出する(S123)。次に、動き検出部110は、ステップS103と同様にコスト値を算出し(S124)、ステップS105と同様に、全ての候補を確認したかどうかを確認する(S125)。
一方、対象ブロックがタイル境界に位置する場合(S122でYES)、動き検出部110は、ステップS123〜S125をスキップし、スキップ・マージベクトル候補の抽出及びコスト値の算出を行わない。
次に、動き検出部110は、ステップS106と同様に動き検出を行い(S126)、ステップS107と同様に動き予測モードを判定する(S127)。
以上の処理により、ブロックごとの境界判定が不要となるため、図5よりも処理量を削減できる。
なお、動き検出部110は、対象ブロックがタイル境界に位置する場合(S122でYES)であっても、(0、0)ベクトルが候補である場合だけ、コスト値を計算してもよい。これにより、演算量は少し増加するが、前述のようにベクトル(0、0)に関しては容易に処理が可能なため、処理量の増加は少ない。
上記処理を行うことにより、例えば独立した符号化又は復号回路により、複数のタイルを並列処理する場合に、高速な処理を実現できる。
以上のように、本実施の形態に係る画像符号化装置100は、画像を複数のタイルに分割し、複数のタイルに含まれる対象ブロックを、当該対象ブロックの周囲のブロックの動きベクトルを用いる予測モードを含む複数の予測モードのいずれかを用いて符号化する。例えば、複数の予測モードは、マージモード又はスキップモードを含む。マージモード及びスキップモードは、対象ブロックの周囲のブロックの動きベクトルをそのまま用いる予測モードである。つまり、マージモード及びスキップモードでは、動きベクトルの差分は符号化されない。なお、マージモード及びスキップモードにおいても、時間スケーリング等の処理は用いられる。また、画像符号化装置100は、対象ブロックを、対象ブロックが含まれる対象タイルとは異なるタイルに含まれるブロックを参照する動きベクトルを用いずに符号化する。なお、ここで、対象ブロックが含まれる対象タイルとは異なるタイルに含まれるブロックを参照する動きベクトルとは、上述したように、参照先が他のタイルである動きベクトル、及び、参照先が、他のブロックの整数画素を参照する小数画素である動きベクトルの少なくとも一方である。
具体的には、図5に示すように、画像符号化装置100は、周囲のブロックの動きベクトルが対象タイルとは異なるタイルに含まれるブロックを参照するか否かを判定する(S102)。また、画像符号化装置100は、周囲のブロックの動きベクトルが対象タイルとは異なるタイルに含まれるブロックを参照すると判定された場合(S102でYES)、当該動きベクトル以外の動きベクトルを用いて(当該動きベクトルを用いずに)対象ブロックを符号化する(S104)。
または、図6に示すように、画像符号化装置100は、対象ブロックがタイル境界から一定値以内に位置するか否かを判定する(S121)。画像符号化装置100は、対象ブロックがタイル境界から一定値以内に位置すると判定された場合(S122でYES)、周囲のブロックの動きベクトルを用いる予測モード(マージモード又はスキップモード)以外の予測モードを用いて(周囲のブロックの動きベクトルを用いる予測モードを用いずに)、対象ブロックを符号化する。
以上により、画像符号化装置100は、高速にMC制限タイル境界の処理を行うことができる。これにより、当該画像符号化装置100及び画像符号化方法は、画像復号装置において高速に処理することが可能となるビットストリームを生成できる。
(実施の形態2)
本実施の形態では、並列処理を実現する符号化ストリームを復号するための画像復号方法について説明する。本実施の形態では、上記実施の形態1に係る画像符号化装置100により生成された符号化ビットストリームを復号する画像復号方法について説明する。
さらに、本実施の形態では、タイル境界を越えた参照が行われる信号を含むビットストリームを受信した場合であっても、画質劣化を抑制しつつ、並列復号を実現できる画像復号方法及び画像復号装置について説明する。
まず、本実施の形態に係る画像復号装置200の構成を説明する。図7は、本実施の形態に係る画像復号装置200の構成の一例を示すブロック図である。
画像復号装置200は、画像が圧縮符号化されることで得られた符号化信号221から復号画像225を生成する。ここで、符号化信号221は、例えば、上記画像符号化装置100により生成された符号化信号129である。例えば、画像復号装置200には、符号化信号221がブロック毎に復号対象信号として入力される。画像復号装置200は、入力された復号対象信号に、可変長復号、逆量子化及び逆変換を行うことで、復号画像225を復元する。
図7に示す画像復号装置200は、エントロピー復号部201と、逆量子化逆変換部202と、加算器203と、デブロッキング処理部204と、メモリ205と、イントラ予測部206と、動き補償部207と、切換スイッチ208とを備える。
エントロピー復号部201は、符号化信号221(符号化ストリーム)を可変長復号することで量子化係数222を復元する。なお、ここで、符号化信号221(入力ストリーム)は、復号対象信号であり、符号化画像データのブロック毎のデータに相当する。また、エントロピー復号部201は、符号化信号221から動きデータ227を取得し、取得した動きデータ227を動き補償部207に出力する。
逆量子化逆変換部202は、エントロピー復号部201によって復元された量子化係数222を逆量子化することで変換係数を復元する。そして、逆量子化逆変換部202は、復元した変換係数を逆変換することで残差信号223(予測誤差又は差分信号とも呼ばれる)を復元する。
加算器203は、復元された残差信号223と予測信号226とを加算することで復号画像224を生成する。
デブロッキング処理部204は、生成された復号画像224にデブロッキングフィルタ処理を行うことで復号画像225を生成する。このデブロッキングフィルタ処理された後の復号画像225は、外部に出力される。
メモリ205は、動き補償に用いられる参照画像を格納するためのメモリである。具体的には、メモリ205は、デブロッキングフィルタ処理が施された後の復号画像225を格納する。
イントラ予測部206は、イントラ予測を行うことで予測信号(イントラ予測信号)を生成する。具体的には、イントラ予測部206は、加算器203によって生成された復号画像224における、復号対象ブロック(符号化信号221)の周囲の画像を参照してイントラ予測を行うことで、イントラ予測信号を生成する。
動き補償部207は、エントロピー復号部201から出力された動きデータ227に基づいて動き補償を行うことで、予測信号(インター予測信号)を生成する。
切換スイッチ208は、イントラ予測信号及びインター予測信号のいずれかを選択し、選択した信号を予測信号226として加算器203に出力する。
以上の構成により、本実施の形態に係る画像復号装置200は、画像が圧縮符号化されることにより得られた符号化信号221から復号画像225を復号する。
以下、本実施の形態に係る処理を説明する前に、本実施の形態に係る特徴的な処理を含まない方法により、前述のような意図と異なる符号化ビットストリームを復号する際の処理を、図8を用いて説明する。
図8は、本実施の形態で想定する意図とは異なるビットストリームを受信した場合の、本実施の形態に係る特徴的な処理を含まない動き補償処理の概要を示すフローチャートである。
まず、動き補償部207は、符号化ビットストリーム(符号化信号221)から動きベクトル(動きデータ227)を取得する(S201)。
次に、動き補償部207は、動きベクトルの参照先が領域外を含むかどうかを判定する(S202)。ここで領域外とは、画像信号(ピクチャ)の画面外、又は、MC制限タイルの場合のMC制限タイル外を意味する。
動きベクトルの参照先が領域外を含むと判定された場合(S202でYES)、動き補償部207は、その領域外が、画面外がどうかを判定する(S203)。
画面外である場合(S203でYES)、動き補償部207は、画面の端の画素を繰り返す処理(パディング処理)を行う(S204)。なお、このパディング処理は、例えば、後述の図10の(b)に示す処理と同じである。次に、動き補償部207は、そのパディング処理をした後の画像を参照して、動き補償画像を生成する(S207)。
一方、画面外ではない場合(対象タイルがMC制限タイルであり、動きベクトルの参照先が対象タイルと異なるタイルに含まれる場合)(S203でNO)、動き補償部207は、領域外を参照する(S205)。この処理は、通常の復号処理では規定されていない動作のため、エラーとなり復号処理が停止してしまう。または、復号装置によっては、予期しないメモリを参照し、メモリ上の不定なデータを参照画像として読みだす場合もある。これにより、画像復号装置は、復号動作を続けられない、または、不定のデータを参照することで、画質の非常に悪い画像を生成してしまう。
一方、動きベクトルの参照先が領域外ではない場合(S202でNO)、動き補償部207は、通常通り、参照先の対象領域を取得し(S206)、取得した対象領域の画像を用いて動き補償画像を生成する(S207)。
なお、非特許文献1等においても、前述のビットストリームをどのように復号するかは規定されていない。
このように、上記手法を用いた場合、画像復号装置が、符号化ビットストリームを復号できない状態になる、又は、復号画像の画質が低下することとなる。
一方、実施の形態1の課題に示したように、MC制限タイルの境界処理は複雑であり、画像符号化装置が前述の複雑な処理を不正に処理するケースもある。
本実施の形態では、このようなケースの場合であっても、復号処理を停止させず、画質の劣化を抑制できる画像復号方法について述べる。
図9は、本実施の形態に係る画像復号装置200が動き予測モードを判定する処理の概要を示すフローチャートである。
まず、図8に示すステップS201と同様に、動き補償部207は符号化ビットストリーム(符号化信号221)から動きベクトル(動きデータ227)を取得する(S301)。次に、動き補償部207は、ステップS202と同様に、動きベクトルの参照先が領域外を含むかどうかを判定する(S302)。
領域外を含むと判断した場合(S302でYES)、動き補償部207は、その領域外が、画面外がどうかを判定する(S303)。画面外である場合(S303でYES)、動き補償部207は、パディング処理を行い(S304)、そのパディング処理をした後の画像を参照して、動き補償画像を生成する(S307)。
一方、画面外ではない場合(対象タイルがMC制限タイルであり、動きベクトルがタイル境界を跨ぐ場合)(S303でNO)、動き補償部207は、領域外参照用の処理を行う(S305)。領域外参照用の処理とは、領域外の画素値を補完生成する処理である。なお、この領域外参照用の処理の詳細は後述する。
また、動きベクトルがタイル境界を跨ぐ場合とは、動きベクトルの参照先が対象タイルと異なるタイルに含まれる場合、及び、小数画素の算出において、他のタイルの整数画素が参照させる場合である。
この処理を規定することにより、画像復号装置を停止させないようにすることができる。また、符号化側で意図しないで領域外が参照されている場合には、ミスマッチ(符号化側で局所復号した画像と、復号画像とが異なることを示す)が発生するものの、領域外参照用の処理を行うことで、不定なメモリのアドレスに格納されている画像を動き補償画像として用いる場合に比べ、画質を改善(画質劣化を抑制)できる。
一方、符号化側でも同様の動き補償を行うことにより、実施の形態1に係る手法とは異なる手法で、境界処理の処理量を低減することができる。また、画像復号装置200も同じ処理を行うことにより、ミスマッチは発生しない。これにより、非特許文献1に示す規格とは異なる方法となるが、簡易な処理で上記の課題を解決できる画像符号化装置及び画像復号装置を実現できる。
次に、動き補償部207は、領域外参照用の処理が施された後の画像を用いて動き補償画像を生成する(S307)。
一方、動きベクトルの参照先が領域外ではない場合(S302でNO)、ステップS206と同様に、動き補償部207は、通常通り、参照先の対象領域を取得し(S306)、動き補償画像を生成する(S307)。
次に、前述の領域外参照の処理について、図10を用いて説明する。図10は、MC制限タイルの使用時に、対象タイルと異なるタイルを参照した場合の特殊処理の例を示す図である。なお、図10の(a)は、図8に示す場合の処理の例であり、対象タイル外の部分は規定されていないため、画像復号装置が、この部分を無理やり参照した場合には、メモリ上にある不定の値を用いてしまい、復号処理が停止してしまう場合もある。
図10の(b)に示す処理は、ステップS304の画面端の場合に用いられる処理と同じであり、パディング処理とも呼ばれる。例えば、図10に示すように、対象タイルに、タイル境界からこの順に並んだ画素a、画素b、画素c、画素d、画素e、画素f、及び画素gが含まれる。この場合、動き補償部207は、タイル境界に隣接する画素aを繰り返すことで対象タイル外の画素値を埋める。この処理をMC制限タイルの領域外処理に用いることで、画面外処理と回路を共通化することができるため、回路規模を低減できる。
なお、動き補償部207は、MC制限タイルの領域外処理として、画面外処理と別の処理を用いてもよい。例えば、図10の(c)に示すように、動き補償部207は、タイル境界を境に画素a、画素b、画素c、画素d、画素e、画素f、画素gをミラー状に折り返して、コピーすることで、対象タイル外の画素値を補完する。前述のパディング処理では、突然同じ値が続くことで、視覚的に目立つケースがある。一方、この手法は、映像の連続性を活用した処理であるので、視覚的な画質を向上できる。例えば、この手法は、グラデーション画像などのように、徐々に映像に変化がある場合などで、パディング処理と比べて画質を向上できる。
また、別の方法として、図10の(d)に示すように、動き補償部207は、一定値Xで対象タイル外の画素値を埋めてもよい。ここで、一定値Xが画素aの画素値である場合が、図10の(b)に相当する。なお、動き補償部207は、例えばタイル境界に近接する画素a、画素b、画素c、及び画素dの画素値の平均値を、一定値Xとして用いてもよい。また、動き補償部207は、この一定値Xとして、タイル境界での画素値の変化が少なくなるような値を選択又は算出してもよい。この方式の場合は、処理量は図10の(b)と比べて増加するが、画質の劣化を抑制できる。
上記のように、領域外参照の処理を規定することにより、例えビットストリームに、想定外にMC制限タイルの境界を越える参照が存在していた場合であっても、画像復号装置200は、途中で止まることなく、また画質の劣化を抑制しつつ復号処理を行うことができる。
また、図11に示すように、画像復号装置200は、動き補償部207が、動きベクトルの参照先が対象タイル外を含むと判定した場合(S321でYES)に、エラーが発生している旨を出力してもよい(S322)。
これにより、画像復号装置200は、エラーを検出しつつ、復号処理を行うため、エラーが検出された場合には復号結果がミスマッチを含んでいることを把握できる。これにより、画像復号装置200は、不要なミスマッチを検出する必要がなく、続けて再生を行うことができる。また、エラー検出結果が符号化ビットストリームの提供元に伝えられることで、画像符号化装置を改良(例えば実施の形態1のような仕組みを導入)することができる。
以上のように、本実施の形態に係る画像復号装置200は、実施の形態1に係る画像符号化装置100により生成された符号化ビットストリームを復号する。
また、本実施の形態に係る画像復号装置200は、複数のタイルに含まれる対象ブロックを、当該対象ブロックの周囲のブロックの動きベクトルを用いる予測モード(マージモード又はスキップモードを用いて動き補償を行う。
画像復号装置200は、周囲のブロックの動きベクトルが、対象ブロックが含まれる対象タイルとは異なるタイルに含まれる参照ブロックを参照する場合、当該参照ブロックの画素値を補完する。具体的には、画像復号装置200は、対象ブロックに含まれる画素値を用いて、参照ブロックの画素値を補完する。
例えば、図10の(b)に示すように、画像復号装置200は、対象ブロックに含まれ、かつ参照ブロックに最も近い画素の画素値を、参照ブロックに含まれる複数の画素値にコピーすることで、参照ブロックの前記画素値を補完する。
または、図10の(c)に示すように、画像復号装置200は、対象ブロックと参照ブロックとが隣接する場合、当該隣接境界を軸として、対象ブロックに含まれる複数の画素の画素値を折り返して、参照ブロックに含まれる複数の画素値にコピーすることで、参照ブロックの前記画素値を補完する。
または、図10の(d)に示すように、画像復号装置200は、対象ブロックに含まれる複数の画素値の平均値を算出し、当該平均値を、参照ブロックに含まれる複数の画素値として補完する。
また、画像復号装置200は、補完された画素値を用いて動き補償を行う。
以上により、画像復号装置200は、前述の意図しない符号化ストリームに対しても領域外参照処理を実行できる。すなわち、画像復号装置200は、MC制限タイルである場合であっても、復号処理が停止することを回避できる。これにより、画像復号装置200の安定化を実現できる。
また、この手法を画像符号化装置100にも導入することで、画像符号化装置100の高速化を実現できる。つまり、画像符号化装置100が備える動き補償部109も、実施の形態2に係る動き補償部207と同様の処理を行ってもよい。画像符号化装置100は、動きベクトルが他のタイルを参照する場合の処理として、前述の領域外参照の処理で生成した画像を参照画像として用いる。これにより、符号化処理を簡素化でき、回路規模を削減できる。なお、この場合、画像復号装置200が同様の動き補償部207を備えることで、両方の回路規模を削減したシステムを実現できる。
つまり、上記処理は、画像復号装置200における画像復号方法として実現できるだけなく、画像符号化装置100における画像符号化方法としても実現できる。また、上記処理は、画像復号装置200又は画像符号化装置100における動き補償方法としても実現できる。
(実施の形態3)
本実施の形態では、並列処理を実現できる符号化ビットストリームの構造について説明する。本実施の形態では、ビットストリームは、画像復号装置200が容易に並列処理を実現するための情報を含む。具体的には、ビットストリームは、どこでミスマッチを発生するかを示す情報を含む。すなわち、ビットストリームは、画面がタイルに分割されて符号化された場合における、動き予測及び動き補償処理において、他のタイルを参照してしまう場合に関する情報を含む。
図12は、従来のMC制限タイルの符号化ビットストリームのシンタックス構造の一部を示す図である。motion_constrained_tile_sets()は、MC制限タイルの領域を示す情報群である。この情報を参照することで、画像復号装置は、対象ストリームがタイル境界を超えた参照を行わないことを知ることができる。また、このシンタックス構造は、exact_sample_value_match_flagを含む。このフラグに関する動作について、図13を用いて説明する。
図13は、exact_sample_value_match_flagに関する動作のフローチャートである。図13に示すように、画像復号装置は、exact_sample_value_match_flagが0である場合(S401でYES)、ストリームに不整合(ミスマッチ)があると判断する(S402)。
ただし、この情報を用いた処理では次のような課題がある。MC制限タイルにおいてミスマッチが生じる原因には、次の3つがある。
(1)ループフィルタにより、タイル境界にフィルタをかける処理がある場合、MC制限タイルであっても境界外の画素を用いたフィルタ処理を行うために、符号化時の局所復号画像と復号画像との間で差(ミスマッチ)が生じる。(2)動きベクトル(スキップ・マージベクトルも含む)がタイル境界外を参照することにより、符号化時の局所復号画像と復号画像との間で差(ミスマッチ)が生じる。(3)小数精度の画素の生成のためにタイル境界外が参照されることにより、符号化時の局所復号画像と復号画像との間で差(ミスマッチ)が生じる。
上記の手法では、この3つを区別できないため、画像復号装置200は、どのようなミスマッチが発生しているかを特定することができない。これにより、画像復号装置200が、ミスマッチの種別に応じた適切な復号処理を行うことが難しいという課題がある。
以下、本実施の形態に係る符号化ビットストリームのシンタックス構造を説明する。図14A〜図14Cは、本実施の形態に係る符号化ビットストリームのシンタックス構造の一例を示す図である。図14A〜図14Cは、本実施の形態に係る符号化ビットストリームに含まれるmotion_constrainted_tile_setsのシンタックス例を示す図である。なお、この情報はSEIと呼ばれ、符号化ビットストリームの補助情報として扱われる。
図14Aに示す例では、符号化ビットストリームは、前述のexact_sample_value_match_flagが0である場合に、前述の3つのミスマッチの原因のうち、ループフィルタに起因することを示すフラグ(filtering_mismatch_flag:1の場合にループフィルタに起因してミスマッチが生じることを示す)と、ループフィルタ以外に起因することを示すフラグ(motion_constraint_mismatch_flag:1の場合にループフィルタ以外に起因してミスマッチが生じることを示す)とを含む。このようにミスマッチの原因を区別するためのフラグを階層的に設けることで、ミスマッチが生じない場合の符号量を削減できる。
図14Bに示す例では、符号化ビットストリームは、exact_sample_value_match_flagを含まず、inloop_filtering_mismatch_flagとmotion_constraint_mismatch_flagとを並列に含む。なお、inloop_filtering_mismatch_flagの意味は、filtering_mismatch_flagと同じである。この構成は、頻繁にミスマッチのストリームが生成される場合に、符号量が少なくなるという利点がある。
図14Cに示す例では、さらに、motion_constraint_mismatch_flagが、小数画素の生成処理のためにミスマッチが生じる場合を示すフラグ(fractional_point_mismatch_flag)と、スキップ、マージ処理によるミスマッチが生じる場合を示すフラグ(skip_merge_mismatch_flag)とに分離されている。
なお、ここに示す構成は一例であり、図14A〜図14Cの構成は組み合わせてもよい。
このように細かくミスマッチが生じる可能性を画像復号装置200に知らせることにより、画像復号装置200は適切に符号化ビットストリームを復号できる。
図15は、図14Aに示す場合の画像復号装置200の処理の流れを示すフローチャートである。図15に示すように、画像復号装置200は、exact_sample_value_match_flagが0である場合に(S421でYES)、不具合が生じると判断する(S422)。
さらに、画像復号装置200は、motion_constraint_mismatch_flagが1の場合(S423でYES)、領域外参照の特殊処理を使用すると判断し(S424)、それ以外の場合は(S423でNO)、ループフィルタに関するミスマッチであると判断し、ループフィルタ用の領域外参照処理を使用する(S425)。例えば、画像復号装置200は、ループフィルタ向けには、図10の(c)で示すミラーリング処理を用い、動き補償用の領域外参照には図10の(b)のパディング処理を用いる。このように、画像復号装置200は、これらのフィルタに応じて、復号処理を切り替える。
なお、この例では、画像符号化装置100は、ミスマッチの原因を示す情報としてフラグを用いたが、フラグではなく番号を示す情報を用いてもよい。例えば、この番号が0の場合は、ミスマッチ無し(特殊処理なし)を示し、番号が1の場合はパディング処理を示し、番号が2の場合はミラーリング処理を示し、番号が3の場合は平均値を用いる処理を示し、番号が4以上の場合は、その値−4の値を固定値として参照画像に用いることを示す。このような構成により、復号画像の画質を落とすことなく、簡便なMC制限タイルを活用した並列処理可能な符号化ストリームを実現できる。
なお、このような処理は図16に示す表のように規定してもよい。従来はミスマッチが発生する際の処理が不定であるため、画像復号装置は、エラーとして処理する、又は、不定となっているデータを参照していた。そのため、表に示すように特殊処理を規定することで、劣化の少ない復号画像を生成することを可能とする。
なお、境界フィルタがあり、かつミスマッチがある場合には、画像復号装置200は、フィルタを掛ける前の値を参照画像として用い、フィルタ処理をあとに回すことで、ミスマッチを回避してもよい。本実施の形態のビットストリーム構成を用いることで、画像復号装置200は、フィルタ処理でミスマッチが発生すると特定できるので、上記のような処理をすることも可能となる。
また、画像復号装置によっては、指定されたミスマッチの可能性がある画素だけを、メモリから読み出す処理を行ってもよい。ここで、ミスマッチの原因を特定できない場合には、ミスマッチの回避を適切に行うことができない。一方、本実施の形態のように、ミスマッチを特定する情報が符号化ビットストリームに含まれることにより、画像復号装置200は、特定されるミスマッチに関する画素のデータだけを、メモリから読み出す又はメモリへ書き出す処理を行うことができる。例えば、ミスマッチが境界フィルタ処理に起因する場合であれば、画像復号装置200は、境界フィルタ処理に必要な画素のデータだけをメモリに書き出す又は読み出す。例えば、スキップ、マージ処理に起因するミスマッチの場合、画像復号装置200は、スキップ、マージ処理で取り得る範囲だけの画素のデータを共有メモリに書き出す又は読み出す。小数画素の生成特殊処理の場合であっても、図2の(a)に示すように、画像復号装置200は、隣接タイルの3画素のデータを読み出せばよい。
このように、何に起因するミスマッチかを示す情報がビットストリームに含まれることで、画像復号装置200は、処理に余裕がある場合には、ミスマッチを回避できる。また、画像復号装置200は、メモリから画素のデータを読み出せない場合であっても、どのように復号画像を生成するかを容易に決定できるので、情報が無い場合と比べて、復号画像の画質を向上できる。
以上のように、本実施の形態に係る画像符号化装置100は、周囲のブロックの動きベクトルが、対象タイルとは異なるタイルに含まれる参照ブロックを参照することを特定するための情報を生成し、当該情報を含む符号化ビットストリームを生成する。言い換えると、画像符号化装置100は、符号化ビットストリームが規格違反の事象を含むことを示す2以上のフラグ又は2以上の情報を生成し、当該2以上のフラグ又は2以上の情報を含む符号化ビットストリームを生成する。
これにより、画像符号化装置100は、画像復号装置で簡素に復号できる、又は、劣化が少ない復号画像を生成できる、符号化ビットストリームを生成できる。
(実施の形態4)
本実施の形態では、エラー耐性に優れている画像復号方法について説明する。なお、全体の画像復号装置200の構成は実施の形態2と同様であるため、説明を省略する。
図17は、本実施の形態に係る、動きベクトル(MV)を導出する際に使用する予測MVリストの作成処理のフローチャートである。画像復号装置200は、非特許文献1と同様に複数のMV導出方法を用いる。また、画像復号装置200は、マージモード又はスキップモードの場合は、予測MVリスト内の予測MVをそのままMVとして使用する。また、画像復号装置200は、適応MV予測モードの場合は予測MVリスト内の予測MVにビットストリーム(符号列)内の差分MV(MVD)を加算することでMVを作り出す。
予測MVリスト内のどの予測MVを使用するかは符号列内の予測MVインデックスにより指定される。この予測MVインデックスとは、非特許文献1に記載のmerge_idx、mvp_l0_flag又はmvp_l1_flagである。マージモード又はスキップモード時にはmerge_idxが用いられ、適応MV予測モード時にはmvp_l0_flag又はmvp_l1_flagが用いられる。
また、マージモード又はスキップモード時には、予測MVの参照画像と同じ参照画像が参照される。適応MV予測モードの場合は、ビットストリームに含まれる、参照画像インデックス(非特許文献1内のref_idx_l0又はref_idx_l1)により指定される参照画像が参照される。
図17に示す処理では、画像復号装置200は、まずビットストリーム内の情報からマージモード又はスキップモードかどうかを判定する(S501)。マージモード又はスキップモードの場合(S501でYes)、画像復号装置200は、ステップS502〜S508を実施し、そうでない場合(適応MV予測モードの場合)(S501でNo)、ステップS509〜S513を実施する。
具体的には、マージモード又はスキップモードの場合(S501でYes)、画像復号装置200は、空間MV候補を導出し、導出された空間MV候補を予測MVリストに追加する(S502)。次に、画像復号装置200は、時間MV候補を導出し、導出された時間MV候補を予測MVリストに追加する(S504)。次に、画像復号装置200は、結合双予測候補を導出し、導出された結合双予測候補を予測MVリストに追加する(S506)。次に、画像復号装置200は、ゼロMVを予測MVリストに追加する(S508)。なお、予測MVリストには最大5つの予測MV候補が格納される。画像復号装置200は、予測MV候補が5つになった時点でそれ以降の予測MV候補のリストへの追加処理を行わない(S503、S505及びS507)。
また、適応MV予測モードの場合(S501でNo)は、画像復号装置200は、空間MV候補を導出し、導出された空間MV候補を予測MVリストに追加する(S509)。次に、画像復号装置200は、時間MV候補を導出し、導出された時間MV候補を予測MVリストに追加する(S511)。次に、画像復号装置200は、ゼロMVを予測MVリストに追加する(S513)。なお、予測MVリストには最大2つの予測MV候補が格納される。画像復号装置200は、予測MV候補が2つになった時点でそれ以降の予測MV候補のリストへの追加処理を行わない(S510及びS512)。
なお、各モードの空間MV候補導出(S502及びS509)、時間MV候補導出(S504及びS511)、ゼロMV追加(S508及びS513)は基本的には同じ処理である。ただし、マージモード又はスキップモードの場合は、画像復号装置200は、予測MVリストに参照画像インデックス(refIdx)も含めて追加する。一方、適応MV予測モード時には参照画像インデックスはビットストリーム内で別途指定されるため、画像復号装置200は、参照画像インデックスを予測MVリストには追加しない。
次に、画像復号装置200は、ビットストリーム内の予測MVインデックスの値が予測MVリスト内の予測MV数以上であるかを判定する(S514)。ここで、予測MVインデックスは0から始まる連続番号である。よって、この処理では、ビットストリーム内の予測MVインデックスの値が、予測MVリストに記載されている予測MVインデックスの最大値より大きいかが判定される。言い換えると、ビットストリーム内の予測MVインデックスの値が、予測MVリストに記載されているかが判定される。
ビットストリーム内の予測MVインデックスの値が予測MVリスト内の予測MV数以上である場合(S514でYes)、画像復号装置200は、予測MVインデックスに、予測MVリスト内の予測MV数から1減算した値を設定する(S515)。
ここで、時間MV候補導出(S504及びS511)において、画像復号装置200は、時間MV候補を状況に応じて予測MVリストに追加しない。これにより、ビットストリーム内の予測MVインデックスが、予測MVリストに存在しない予測MV候補を指し示す場合が発生する。上記S514及びS515の処理により、このような場合においても、画像復号装置200は、予測MVリスト内の予測MV候補を選択できる。
以降では本実施の形態において特徴的な時間MV候補導出(S504及びS511)について説明する。なお、空間MV候補導出(S502及びS509)、結合双予測候補導出(S506)、及びゼロMVの追加(S508及びS513)は、非特許文献1に記載の処理と同様であるため、詳細な説明を省略する。
図18は、時間MV候補を導出し、導出された時間MV候補を予測MVリストに追加する処理のフローチャートである。時間MV候補は、非特許文献1と同様に、処理対象ピクチャとは異なる復号済みのピクチャ内のブロックのMVである。使用されるブロックの位置は処理対象ブロックの右下又は処理対象ブロックの中央である。画像復号装置200は、右下位置のブロックである右下ブロックのMVが使用できない場合に、中央位置のブロックである中央ブロックのMVを使用し、どちらのMVも使用できない場合は時間MV候補を予測MVリストに追加しない。
図3Bを用いて説明する。ここで処理対象ブロック位置はCである。画像復号装置200は、まずはHの位置の右下ブロックのMVが使用可能かを判断し、右下ブロックのMVが使用可能ならそのMVを予測MVリストに追加する。右下ブロックのMVが使用できない場合は、画像復号装置200は、Cの位置のうち中央に位置する中央ブロックのMVが使用可能かを判断し、中央ブロックのMVが使用可能ならそのMVを予測MVリストに追加する。中央ブロックのMVが使用できない場合、画像復号装置200は、予測MVリストに何も追加しない。
ここで、MVが使用可能でない場合とは参照されるブロックがイントラモードで符号化されたイントラブロックである場合、又は処理対象ブロックがLCU内の下端のブロックである場合である。非特許文献1でも処理対象ブロックがLCU内の下端のブロックである場合は、右下のブロックを参照することが禁止されている。それにより縦方向でLCU境界を跨いだ参照が禁止されるので、メモリ量を小さくできる。
ここでLCU(Largest Coding Unit)とは最大の符号化単位を示す。画像は、LCU単位でラスタスキャン順に処理される。また、本実施の形態ではそれに加えて処理対象ブロックの右下位置がMC制限領域外である場合は右下のブロックのMVを予測MVリストに加えない。
図18において、まず、画像復号装置200は、処理対象ブロックがLCU内の下端のブロックであるかを判定する(S521)。処理対象ブロックがLCU内の下端のブロックでない場合(S521でNo)、画像復号装置200は、処理対象ブロックの右下のブロックである右下ブロックがMC制限領域外であるかを判定する(S522)。右下ブロックがMC制限領域外でない場合(S522でNo)、画像復号装置200は、右下ブロックがイントラブロックであるかを判定する(S525)。右下ブロックがイントラブロックでない場合(S525でNo)、画像復号装置200は、右下ブロックのMVを時間MV候補に設定し(S526)、当該時間MV候補を予測MVリストに追加する(S529)。
一方、右下ブロックがイントラブロックである場合(S525でYes)、又は、処理対象ブロックがLCU下端のブロックである場合(S521でYes)、画像復号装置200は、右下ブロックのMVを予測MVリストには追加しない。
右下位置のブロックのMVが利用できなかった場合(S521でYes又はS525でYes)、画像復号装置200は、中央位置のブロックである中央ブロックがイントラブロックであるかを判定する(S527)。中央ブロックがイントラブロックでない場合(S527でNo)、画像復号装置200は、中央ブロックのMVを時間MV候補に設定し(S528)、当該時間MV候補を予測MVリストに追加する(S529)。
また、右下ブロックがMC制限領域外である場合(S522でYes)、画像復号装置200は、ビットストリーム内の信号で示される領域外モードに応じて処理を切り替える(S523)。
領域外モードが時間MV利用不可モードである場合(S523で時間MV利用不可モード)、画像復号装置200は、右下ブロック及び中央ブロックのMVのいずれも予測MVリストには追加しない。つまり、時間MV候補はいずれも使用されない。
また、領域外モードが右下時間MV利用不可モードである場合(S523で右下時間MV利用不可モード)、画像復号装置200は、右下ブロックのMVを使用しないが、中央ブロックのMVが利用可能であれば当該中央ブロックのMVを時間MV候補として予測MVリストに追加する。つまり、画像復号装置200は、ステップS527以降の処理を行う。
また、領域外モードがゼロMV利用モードの場合(S523でゼロMV利用モード)、画像復号装置200は、動きが0のMVであるゼロMVを時間MV候補として予測MVリストに追加し、処理を終える(S524)。
また、マージモード、スキップモード及び適応MV予測モードで、基本的な処理フローは同じである。ただし、前述した通り、画像復号装置200は、マージモード又はスキップモードの場合は、予測MVリストに参照画像インデックス(refIdx)も追加する。一方、適応MV予測モード時には、参照画像インデックスはビットストリーム内で別途指定されるため、画像復号装置200は、参照画像インデックスを予測MVリストに追加しない。
また、ステップS524では、画像復号装置200は、ゼロMVを予測MVリストに追加するが、マージモード又はスキップモード時には値が0の参照画像インデックスも予測MVリストに追加する。
(効果)
以上、本実施の形態に係る画像復号装置200は、右下ブロックがMC制限領域外の場合は当該右下ブロックを参照しないことによって、デコード処理のエラー耐性を高めることができる。具体的に説明すると、MC制限タイルはその領域毎に独立に復号できるよう設計されたツールである。しかし、不正な画像符号化装置又は画像符号化処理は領域外の右下ブロックのMVを時間MV候補として予測MVリストに追加する場合がある。予測MVインデックスがその時間MV候補を予測MVとして指し示した場合、独立してMC制限タイルを復号している画像復号装置は、その予測MVが領域外のブロックのMVであるためその時間MV候補を導出することができない。これにより、復号処理が破綻する。
これに対して、本実施の形態に係る画像復号装置200は、3つのモードを用いてこの復号処理の破綻を回避する。具体的には、画像復号装置200は、ゼロMV利用モードでは右下ブロックのMVの代わりに動きがゼロのMVを時間MV候補として予測MVリストに追加することにより復号処理の破綻を回避する。こうすることにより、画像復号装置200は、予測MVインデックスが領域外の時間MV候補を指し示している場合でも、処理を破綻させることなく復号処理を続けることができる。さらに、画像復号装置200は、動きがゼロで、かつ参照画像インデックスもゼロのMVを使用することにより、予測ブロックの大きな品質低下を抑制できる。その結果、画像復号装置200は、復号画像の品質低下を抑制できる。
また、画像復号装置200は、右下時間MV利用不可モードでは、右下ブロックが領域外の場合は、使用可能な中央ブロックのMVを時間MV候補として予測MVリストに追加する。こうすることにより、画像復号装置200は、領域外の右下ブロックが参照されることを回避し、使用可能であれば中央ブロックのMVを使用することによって、復号画像の画質劣化を抑制できる。
また、画像復号装置200は、時間MV利用不可モードでは、右下ブロックが領域外の場合は、中央ブロックのMVも含めて時間MV候補を使用しない。これは、右下ブロックが領域外の場合はビットストリーム内の時間MV候補が不正になっている可能性も高いためである。
また、時間MV利用不可モード、及び右下時間MV利用不可モードの場合は、時間MV候補が予測MVリストに追加されないので、符号化側と復号側とで予測MVリスト内の予測MV数が一致しないケースが発生する。その場合、ビットストリーム内の予測MVインデックスが予測MVリスト内の予測MV数以上になる可能性がある。これに対して、画像復号装置200は、図17に示すS514及びS515を行うことによって予測MVインデックスを補正する。これにより、復号処理の破綻が抑制される。
また、符号化側がMC制限領域外の右下ブロックのMVを予測MVリストに追加しない場合でも、符号化側と復号側との間で予測MVリストが一致しないケースが発生する。図19はマージモード又はスキップモード時に作成された3つのケースの予測MVリストの例を示す。この図を用いて説明を行う。
予測MVリストには、空間MV候補、時間MV候補、結合双予測候補、及びゼロMVがこの順で追加される。図19の(a)は、右下ブロックがMC制限領域外の場合に、右下ブロックのMVを使用しないようにした場合の予測MVリストの例を示す。図19の(b)は、時間MV候補を利用不可にした場合の予測MVリストの例を示す。図19の(c)は、時間MV候補の代わりにゼロMVを使用した場合の予測MVリストの例を示す。
図19に示すように、どのように対処するかによって予測MVリストが変わる。もし符号化側で図19の(a)のように予測MVリストが作成され、復号側で図19の(b)のように予測MVリストが作成されると、予測MVリストの不一致が発生する。これにより、例えば、符号化側で結合双予測候補を使用するために予測MVインデックスに3を指定していても、復号側ではそれをゼロMVが指定されたと受け止めてしまい、復号処理が破綻してしまう。
予測MVリストの先頭部分に追加される空間MV候補のみが使用される場合にはこのような破綻は発生しないが、空間MV候補以外を使用する場合は予測MVリストの作成方法を統一しておく必要がある。
本実施の形態では、ビットストリームに含まれる、領域外モードを指定する情報を用いることで、符号化側と復号側とで予測MVリスト作成方法を一致させることが可能となり、予測MVインデックスの指し示す予測MVが不一致になることを防ぐことができる。本実施の形態において、右下時間MV利用不可モードの場合の例が図19の(a)に示す例であり、時間MV利用不可モードの場合の例が図19の(b)に示す例であり、ゼロMV利用モードの場合の例が図19の(c)に示す例である。
(変形例)
なお、本実施の形態では、画像復号装置200は、右下ブロックがMC制限領域外かどうかを判定しているが、MC制限タイルを使用する場合は常に右下ブロックを使用不可にしてもよい。この場合の動作は、図18に示す処理フローにおいて、常にステップS522でYesの判定が行われる場合の動作に相当する。こうすることにより、ブロック毎の判定処理が不要となるので、回路規模及び処理量が削減される。
また、MC制限タイルを使用する場合は時間MV候補を常に使用しないようにしてもよい。この場合の動作は、図17に示す処理フローにおいて、ステップS504及びS511を実施しない動作に相当する。こうすることにより、中央ブロックに対する処理も無くなるので、さらに回路規模及び処理量が削減される。
また、画像復号装置200は、MC制限タイルの右端に位置するブロック及びスライスでは常に右下ブロックを使用しなくてもよい。こうすることにより右下ブロックが領域外かの判定処理を簡易化できる。
また、上記説明では、画像復号装置200は、時間MV候補を予測MVリストに入れない場合の破綻を防ぐために予測MVインデックスの補正を行っているが(図17のS514及びS515)、補正方法はこれに限らない。例えば、画像復号装置200は、図20のステップS515Aに示すように、予測MVインデックスの値を0などの固定値に変更してもよい。または、画像復号装置200は、図21のステップS515Bのように予測MVインデックスの値を、ゼロMVを指し示すように変更してもよい。
本実施の形態では、画像復号装置200は、予測MVインデックスの値を、予測MVリスト内の予測MV数−1に補正する。つまり、予測MVインデックスの値が、予測MVインデックスの最大値で置き換えられる。これによってゼロMVが使用される可能性が高くなるので、予測画像の品質低下が抑制される。また、この動作は、ビットストリーム内にある予測MVインデックスを最大値でクリップすることなので、元々の予測MVインデックスが大きく変更されない。よって、符号化側と復号側とで使用する予測MVが一致する可能性も高くなる。
また、画像復号装置200は、予測MVインデックスを補正した場合には、ユーザがそのことを知ることができるように、その旨を表示(外部に出力又は通知)してもよい。同様に、右下ブロックが領域外であり、かつ、時間MV候補、又はそれ以降の結合双予測候補或いはゼロMVが使用された場合に、画像復号装置200は、その旨を表示(外部に出力又は通知)してもよい。これにより、ユーザはその通知を受けて、ビットストリームに何らかのエラーがある可能性が高いことを知ることができる。
また、上記説明では、画像復号装置200は、右下ブロックがMC制限領域外の場合に3つのモードで切り替えているが、その限りではなく、常に固定のモードで動作してもよい。また、領域外モードを示す情報は、ビットストリーム内に存在するとしたが、ビットストリームとは別に外部から入力されてもよい。また、画像復号装置200は、画像の特徴又は復号状況(発生符号量等)に応じて自動で領域外モードを設定してもよい。
(まとめ)
以上のように、本実施の形態に係る画像復号装置200は、図22に示す画像復号処理を行う。
まず、画像復号装置200は、ピクチャが分割されることにより得られた複数のタイルの一つである対象タイルから他のタイルへの参照が禁止されることを示す制限情報を、ビットストリームから復号する(S541)。つまり、制限情報は、複数のタイルの各々がMC制限タイルであるかを示す。言い換えると、制限情報は、タイル境界を跨ぐMCが禁止されることを示す。
次に、画像復号装置200は、複数の予測MV(動きベクトル)候補と、複数の予測MV候補の各々の予測MVインデックスを示す予測MVリストを生成する(S542)。ここで、画像復号装置200は、制限情報により、対象タイルから他のタイルへの参照が禁止されていることが示される場合、対象ブロックの右下のブロックの時間MVを含まない予測MVリストを生成する。
具体的には、画像復号装置200は、例えば、図18のS522に示すように、右下のブロックが、対象タイル外であるかを判定する。制限情報により、対象タイルから他のタイルへの参照が禁止されていることが示され、かつ、右下のブロックが、対象タイル外である場合、画像復号装置200は、予測MVリストに、右下のブロックの時間MVを含めない。つまり、画像復号装置200は、上記条件が満たされる場合に、予測MVリストに、右下のブロックの時間MVを常に含めない。
なお、画像復号装置200は、上記判定を行わず、制限情報により、対象タイルから他のタイルへの参照が禁止されていることが示される場合、予測MVリストに、常に右下のブロックの時間MVを含めなくてもよい。
例えば、図18の時間MV利用不可モードのように、制限情報により、対象タイルから他のタイルへの参照が禁止されていることが示される場合、画像復号装置200は、予測MVリストに、対象ブロックの右下のブロックの時間MV、及び対象ブロックの中央の位置のブロックの時間MVのいずれも含めない。つまり、画像復号装置200は、予測MVリストに、いずれの時間MVも含めない。
または、図18のゼロMV利用モードのように、制限情報により、対象タイルから他のタイルへの参照が禁止されていることが示される場合、画像復号装置200は、予測MVリストに、対象ブロックの右下のブロックの時間MVの代わりに値ゼロのMV(ゼロMV)を含める。
または、図18の右下時間MV利用不可モードのように、制限情報により、対象タイルから他のタイルへの参照が禁止されていることが示される場合、画像復号装置200は、対象ブロックの中央の位置のブロックの時間MVを含む予測MVリストを生成する。つまり、画像復号装置200は、右下のブロックの時間MVの使用を禁止し、中央の位置のブロックの時間MVの使用を許可する。
なお、画像復号装置200は、これらの3つのモードのうち少なくとも2つを、ビットストリームに含まれる情報に基づき、切り替えてもよいし、他の情報に基づき、切り替えてもよい。また、画像復号装置200は、上記3つのモードのいずれかを固定的に使用してもよい。
次に、画像復号装置200は、ビットストリームから、対象ブロックのための予測MVインデックスを復号する(S543)。なお、この処理のタイミングは図22に示すタイミングに限定されず、ステップS541の前、又はステップS542の前であってもよい。
次に、画像復号装置200は、ステップS542で生成された予測MVリストにおいて、ステップS543で復号された予測MVインデックスに対応する予測MV候補を用いて、対象ブロックを復号する(S544)。
以上により、画像復号装置200は、他のタイルの情報を参照せずに、画像を復号できる。このように、画像復号装置200は、符号化ビットストリームを適切に復号できる。また、画像復号装置200は、画像符号化装置において、他のタイルの情報が参照されている場合であっても符号化ビットストリームを適切に復号できる。
また、図17のステップS514及びS515に示すように、画像復号装置200は、復号された予測MVインデックスが予測MVリストに存在しない場合、予測MVリストに含まれる複数の予測MVインデックスのうち最大の予測MVインデックスに対応する予測MV候補を用いて、対象ブロックを復号する。
または、図20のステップS514及びS515Aに示すように、画像復号装置200は、復号された予測MVインデックスが予測MVリストに存在しない場合、予測MVリストに含まれる複数の予測MVインデックスのうち最小の予測MVインデックスに対応する予測MV候補を用いて、対象ブロックを復号する。
または、図21のステップS514及びS515Bに示すように、画像復号装置200は、復号された予測MVインデックスが予測MVリストに存在しない場合、値ゼロのMV(ゼロMV)を用いて、対象ブロックを復号する。
これにより、符号化側と復号側とで予測MVリストの不一致が生じた場合であっても、画像復号装置200は、符号化ビットストリームを適切に復号できる。
なお、本発明は、上記処理と同様の処理により予測MVリストを生成する画像符号化装置として実現されてもよい。この場合、画像符号化装置は、上述した領域外モードを設定し、設定した領域外モードを示す情報を含むビットストリームを生成する。
(実施の形態5)
本実施の形態では、符号化効率向上及びユーザビリティ向上を実現する符号化ストリームを生成するための画像符号化方法について説明する。なお、全体の画像符号化処理及び画像符号化装置100は実施の形態1と同様であるため、説明を省略する。
図23は、本実施の形態に係る、動きベクトル(MV)を符号化する際に使用する予測MVリスト作成処理のフローチャートである。なお、実施の形態4(図17)と同じ処理には同じステップ番号を用い、説明を省略する。
本実施の形態では、画像符号化装置100は、状況に応じて空間MV候補のみしか予測MVリストに追加しない。具体的には、画像符号化装置100は、空間MV候補限定フラグが1であるかを判定する(S602又はS604)。空間MV候補限定フラグが1の場合(S602でYes、又はS604でYes)、画像符号化装置100は、結合双予測候補の導出(S506)及びゼロMVの追加(S508又はS513)を実施しない。また、画像符号化装置100は、空間MV候補限定フラグを、時間MV候補導出処理(S601又はS603)においてで設定する。
図24は、本実施の形態に係る、時間MV候補を導出し、導出された時間MV候補を予測MVリストに追加する処理のフローチャートである。なお、実施の形態4(図18)と同じ処理には同じステップ番号を用い、説明を省略する。
本実施の形態では、画像符号化装置100は、最初に空間MV候補限定フラグを0に初期化する(S621)。また、画像符号化装置100は、処理対象ブロックがLCU内の下端のブロックでなく(S521でNo)、右下ブロックがMC制限領域外の場合(S522でYes)には、空間MV候補限定フラグを1に設定して処理を終える(S622)。
空間MV候補限定フラグが1に設定されると、前述した通り、画像符号化装置100は、結合双予測候補の導出(S506)及びゼロMVの追加(S508又はS513)を実施しない。これにより、空間MV候補のみが予測MVリストに追加される。ここで、画像符号化装置100は、予測MVリストに入っている予測MV候補しか予測MVとして使用できない。よって、画像符号化装置100は、MVの符号化に空間MV候補のみを使用する。
また、処理対象ブロックの周辺が全てイントラブロックである場合等、もし空間MV候補が1つも使えない場合は1つも使用可能な予測MVが存在しない。この場合は、画像符号化装置100は、処理対象ブロックをイントラモードで符号化する。
また、画像符号化装置100は、mvd_l1_zero_flagに応じてインターモード時の双方向予測を禁止してもよい。以下、この処理について説明する。
図25は、本実施の形態に係る、インターモード時の双方向予測の禁止判定を行う処理のフローチャートである。画像符号化装置100は、この処理を、予測MVの決定後、かつ予測モードを決定する直前に実施する。
まず、画像符号化装置100は、mvd_l1_zero_flagが1であるかを判定する(S641)。mvd_l1_zero_flagが1の場合(S641でYes)、画像符号化装置100は、参照画像リストL1の予測MVが領域外を参照するかを判定する(S642)。参照画像リストL1の予測MVが領域外を参照する場合(S642でYes)、画像符号化装置100は、双方向参照モードを禁止する(S643)。
ここで、mvd_l1_zero_flagは非特許文献1と同様にMVの符号量を削減するためのフラグである。双方向予測時にこのフラグが1の場合は、画像符号化装置100は、参照画像リストL1で示される参照画像を使用する場合には差分MVを符号化せず、予測MVそのものをMVとして使用する。なお、参照画像リストとは、使用可能な参照画像と、各参照画像の参照画像インデックスとを示すリストである。双方向予測時には、2つの参照画像リストL0及びL1が用いられる。例えば、参照画像リストL0は、処理対象ピクチャより表示順で前の参照画像を示し、参照画像リストL1は、処理対象ピクチャより表示順で後の参照画像を示す。
また、双方向予測が禁止された場合は、画像符号化装置100は、片方向予測又はイントラモードで処理対象ブロックを符号化する。
また、画像符号化装置100は、処理対象ブロックがMC制限領域の境界に接するかどうかに応じて、量子化パラメータを変更してもよい。図26は、本実施の形態の量子化パラメータの変更処理のフローチャートである。例えば、画像符号化装置100は、この処理を、処理対象ブロックの量子化パラメータが設定された直後に実施する。
まず、画像符号化装置100は、処理対象ブロックがMC制限領域の境界に接するかどうかを判定する(S661)。処理対象ブロックがMC制限領域の境界に接する場合(S661でYes)、画像符号化装置100は、処理対象ブロックに他ブロックよりも多くのビットを割り当てるように量子化パラメータを変更する(S662)。言い換えると、画像符号化装置100は、所定の方式(例えば、従来の方式)により決定された処理対象ブロックの量子化パラメータを、より多くのビットが割り当てるように補正する。
図27はMC制限領域の境界に位置するブロックの例を示す図である。図27に示す例では、処理対象ブロックは、タイル1とタイル2の境界に隣接する。画像符号化装置100は、このような場合に処理対象ブロックに多くのビットを割り当てる。
(効果)
以上、本実施の形態に係る画像符号化装置100は、処理対象ブロックの右下のブロックがMC制限領域外の場合は空間MV候補のみを使用する。これにより、符号化側と復号側とで使用する予測MVが一致しない状況が発生することを防止できる。このように、画像符号化装置100は、画像復号装置が正しく復号できるビットストリームを生成できる。
具体的に説明すると、予測MVリストには時間MV候補よりも先に空間MV候補が追加される。よって、画像符号化装置100が空間MV候補のみを使用することで、画像復号装置が時間MV候補を予測MVリストに追加してもしなくても復号結果には影響しない。
図19を用いて説明すると、図19の(a)、(b)及び(c)いずれの場合でも空間MV候補の予測MVインデックスの値は同じである。よって、符号化側が空間MV候補のみを使用すれば、復号側が時間MV候補をどのように扱おうとも符号化側と復号側とで予測MVは一致する。
また、画像符号化装置100は、mvd_l1_zero_flagを用いたMVの符号量の削減と、MC制限タイルによるユーザビリティ及び並列性の向上とを両立できる。具体的には、mvd_l1_zero_flagが1の場合に、画像符号化装置100は、参照画像リストL1の予測MVをそのままMVとして用いる。よって、画像符号化装置100は、mvd_l1_zero_flagが1の場合、かつ、L1の予測MVが領域外を参照する場合に、双方向参照モードを禁止することにより、MVが領域外を参照することを防止できる。
また、画像符号化装置100は、MC制限タイルを用いた場合の画質劣化を抑制できる。具体的に説明すると、MC制限タイルが用いられると一般的に参照範囲が制限されるために符号化効率は低下する。特に制限領域の境界の画質が低下する傾向にあり、境界付近に写っている物体が時間経過とともに制限領域外に移動すると、それを参照することができなくなるので、予測誤差が大きくなる。その結果、符号化効率が低下する。
また、制限領域は他の制限領域とは独立に符号化されるため、領域毎の符号化効率に差が生じる。これにより、ブロックノイズのように制限領域の境界が目立つことで画質が低下する。
一方、本実施の形態では、画像符号化装置100は、制限領域の境界に接するブロックに多くの符号量を割り当てる。これにより、予測誤差が大きい場合の画質の低下を低減できる。また、制限領域の境界が目立つことを抑制できるので、画質を向上できる。
(変形例)
なお、本実施の形態では、画像符号化装置100は、右下ブロックがMC制限領域外である場合に、空間MV候補のみを使用しているが、図28に示すように、常にイントラ予測を用いてもよい(S624)。そのようにすることによって処理が簡素化されるので、回路規模及び処理量を削減できる。または、図29に示すように、画像符号化装置100は、予測MVリストに空間MV候補が存在しない場合(S623でNo)に、イントラ予測を用いてもよい(S624)。
また、画像符号化装置100は、実施の形態4と同様に右下ブロックがMC制限領域外である場合に中央ブロックのMVを使用してもよいし、MC制限タイルが使用される場合に時間MV候補を常に使用しなくてもよい。こうすることにより、ブロック毎の判定処理が不要となるので、回路規模及び処理量を削減できる。
また、画像符号化装置100は、MC制限タイルの右端に位置するブロック又はスライスに対しては、常に右下ブロック又は時間MV候補を使用不可に設定してもよい。こうすることにより右下ブロックが領域外かの判定処理を簡易化できる。例えば、図30に示すように、画像符号化装置100は、処理対象ブロックが、MC制限タイルの右端のブロックである場合(S522AでYes)、時間MV候補の使用を禁止してもよい。
また、画像符号化装置100は、MC制限タイルを使用する場合に、非特許文献1に記載のsps_temporal_mvp_enabled_flag又はslice_temporal_mvp_enabled_flagを0にすることによって時間MV候補を使用不可に設定してもよい。
ここで、sps_temporal_mvp_enabled_flagは、複数のピクチャを含むシーケンス単位で設けられ、対応するシーケンスに含まれる複数のピクチャに対して時間MV候補が使用されるかを示す。sps_temporal_mvp_enabled_flagの値が0の場合、時間MV候補が使用されない。
slice_temporal_mvp_enabled_flagは、スライス単位で設けられ、対応するスライスに対して時間MV候補が使用されるかを示す。slice_temporal_mvp_enabled_flagの値が0の場合、時間MV候補が使用されない。
また、上記説明では、画像符号化装置100は、mvd_l1_zero_flagが1の場合、かつ参照画像リストL1の予測MVが領域外を参照する場合に、双方向参照モードを禁止しているが、処理を簡易化するために、そのような場合には常にイントラモードで符号化を行ってもよい。また、処理を簡易化するために、画像符号化装置100は、MC制限タイル時には、mvd_l1_zero_flagを常に0に設定することで、このようなケースが発生しないようにしてもよい。
また、図26に示すように、画像符号化装置100は、MC制限領域の境界に接するブロックのビット量を多くしているが、処理対象のブロックは必ずしも境界に接していなくてもよい。例えば、画像符号化装置100は、境界から所定の距離以内のブロックのビット量を多くしてもよい。また、画像符号化装置100は、ブロックの境界からの距離に応じてビット量を変更してもよい。例えば、画像符号化装置100は、ブロックが境界に接していなくても境界に近ければ他よりも多いビットを割り当ててもよいし、境界からの距離が近くなる程、多くのビット量を割り当てるように段階的にビット量を変更してもよい。
(まとめ)
以上のように、本実施の形態に係る画像符号化装置100は、図31に示す画像符号化処理を行う。
まず、画像符号化装置100は、ピクチャを複数のタイルに分割する(S681)。次に、画像符号化装置100は、複数のタイルの一つである対象タイルから他のタイルへの参照が禁止されることを示す制限情報を符号化する(S682)。つまり、制限情報は、複数のタイルの各々がMC制限タイルであるかを示す。言い換えると、制限情報は、タイル境界を跨ぐMCが禁止されることを示す。
次に、画像符号化装置100は、複数の予測MV候補と、複数の予測MV候補の各々の予測MVインデックスを示す予測MVリストを生成する(S683)。ここで、画像符号化装置100は、制限情報により、対象タイルから他のタイルへの参照が禁止されていることが示される場合、対象ブロックの右下のブロックの時間MVを含まない予測MVリストを生成する。
具体的には、画像符号化装置100は、例えば、図24のS522に示すように、右下のブロックが、対象タイル外であるかを判定する。制限情報により、対象タイルから他のタイルへの参照が禁止されていることが示され、かつ、右下のブロックが、対象タイル外である場合、画像符号化装置100は、予測MVリストに、右下のブロックの時間MVを含めない。つまり、画像符号化装置100は、上記条件が満たされる場合に、予測MVリストに、右下のブロックの時間MVを常に含めない。
なお、画像符号化装置100は、上記判定を行わず、制限情報により、対象タイルから他のタイルへの参照が禁止されていることが示される場合、予測MVリストに、常に右下のブロックの時間MVを含めなくてもよい。
例えば、図24のS622及び図23のS602に示すように、制限情報により、対象タイルから他のタイルへの参照が禁止されていることが示される場合、画像符号化装置100は、予測MVリストに、時間MVを含めない。つまり、画像符号化装置100は、予測MVリストに、いずれの時間MVも含めない。
より具体的には、図24のS622及び図23のS602に示すように、制限情報により、対象タイルから他のタイルへの参照が禁止されていることが示される場合、画像符号化装置100は、予測MVリストに、時間MV、結合双予測ベクトル、値ゼロのMV(ゼロMV)を含めない。言い換えると、画像符号化装置100は、予測MVリストに空間MVのみを含める。
なお、画像符号化装置100は、実施の形態4と同様に、時間MV利用不可モード、ゼロMV利用モード、右下時間MV利用不可モードを用いてもよい。また、画像符号化装置100は、使用したモードを示す信号を含むビットストリームを生成してもよい。
次に、画像符号化装置100は、複数の予測MV候補のうちいずれかを選択し、予測MVリストにおいて、選択された予測MV候補に対応する予測MVインデックスを符号化する(S684)。なお、この処理のタイミングは図31に示すタイミングに限定されず、ステップS685の後であってもよい。
次に、画像符号化装置100は、選択された予測MV候補を用いて、対象ブロックを符号化する(S685)。このように、画像符号化装置100は、符号化された、制限情報、予測MVインデックス及び対象ブロックを含むビットストリームを生成する。
以上により、画像符号化装置100は、他のタイルの情報を参照せずに、画像を符号化できる。このように、画像符号化装置100は、画像復号装置で適切に復号できる符号化ビットストリームを生成できる。また、画像符号化装置100は、符号化側と復号側とで予測MVリストの不一致が生じることを抑制できる符号化ビットストリームを生成できる。
また、画像符号化装置100は、図28のステップS624に示すように、制限情報により、対象タイルから他のタイルへの参照が禁止されていることが示される場合、対象ブロックを、イントラ予測を用いて符号化する。つまり、画像符号化装置100は、対象ブロックを、インター予測を用いずに符号化する。
これにより、画像符号化装置100は、符号化側と復号側とで予測MVリストの不一致が生じることを抑制できる符号化ビットストリームを生成できる。また、画像符号化装置100は処理量を低減できる。
また、画像符号化装置100は、図29のステップS623及びS624に示すように、制限情報により、対象タイルから他のタイルへの参照が禁止されていることが示され、かつ、空間MV候補が使用できない場合、対象ブロックを、イントラ予測を用いて符号化する。
これにより、画像符号化装置100は、符号化側と復号側とで予測MVリストの不一致が生じることを抑制できる符号化ビットストリームを生成できる。また、画像符号化装置100は処理量を低減できる。
また、画像符号化装置100は、図30のステップS522Aに示すように、対象ブロックが、タイルの右端のブロック又はスライスであるかを判定し、制限情報により、対象タイルから他のタイルへの参照が禁止されていることが示され、かつ、対象ブロックが、タイルの右端のブロック又はスライスである場合、予測MVリストに、右下のブロックの時間MVを含めない。
これにより、画像符号化装置100は、符号化側と復号側とで予測MVリストの不一致が生じることを抑制できる符号化ビットストリームを生成できる。また、画像符号化装置100は処理量を低減できる。
また、画像符号化装置100は、図25に示すように、双方向参照時において、後方ピクチャ用の参照画像リスト(参照画像リストL1)を用いる場合に、使用されるMVと予測MVとの差分(差分MV)を符号化するか否かを示すフラグ(mvd_l1_zero_flag)を符号化する。画像符号化装置100は、参照画像リストL1を用いる場合に、予測MVが対象タイル外を参照するかを判定し、上記フラグにより差分を符号化しないことが示され、かつ、参照画像リストL1を用いる場合に、予測MVが対象タイル外を参照する場合、双方向参照を禁止する。
これにより、画像符号化装置100は、他のタイルの情報を参照せずに、画像を符号化できる。
なお、画像符号化装置100は、制限情報により、対象タイルから他のタイルへの参照が禁止されていることが示される場合には、使用されるMVと予測MVとの差分を符号化することを示す上記フラグ(mvd_l1_zero_flag)を符号化してもよい。
これにより、画像符号化装置100は、他のタイルの情報を参照せずに、画像を符号化できる。また、画像符号化装置100は処理量を低減できる。
また、画像符号化装置100は、図26に示すように、制限情報により、対象タイルから他のタイルへの参照が禁止されていることが示される場合、タイル境界に接するブロックの量子化パラメータを、他のブロックの量子化パラメータより小さく設定してもよい。
これにより、MC制限タイルを用いた場合のタイル境界における画質の低下を抑制できる。
以上、実施の形態に係る画像符号化装置及び画像復号装置について説明したが、本発明は、この実施の形態に限定されるものではない。
また、上記実施の形態に係る画像符号化装置及び画像復号装置に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサなどのプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
言い換えると、画像符号化装置及び画像復号装置は、制御回路(control circuitry)と、当該制御回路に電気的に接続された(当該制御回路からアクセス可能な)記憶装置(storage)とを備える。制御回路は、専用のハードウェア及びプログラム実行部の少なくとも一方を含む。また、記憶装置は、制御回路がプログラム実行部を含む場合には、当該プログラム実行部により実行されるソフトウェアプログラムを記憶する。
さらに、本発明は上記ソフトウェアプログラムであってもよいし、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
また、上記の画像符号化方法又は画像復号方法に含まれるステップが実行される順序は、本発明を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
以上、本発明の一つ又は複数の態様に係る画像符号化装置及び画像復号装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の一つ又は複数の態様の範囲内に含まれてもよい。
(実施の形態6)
上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
図32は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図32のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局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の例に限らず、図33に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
図34は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)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の構成を図35に示す。情報再生/記録部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はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
図36に光ディスクである記録メディア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の構成は例えば図34に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
図37Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
さらに、携帯電話ex114の構成例について、図37Bを用いて説明する。携帯電話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において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
(実施の形態7)
上記各実施の形態で示した動画像符号化方法または装置と、MPEG−2、MPEG4−AVC、VC−1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG−2トランスポートストリーム形式のデジタルストリームである。
図38は、多重化データの構成を示す図である。図38に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(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が、それぞれ割り当てられている。
図39は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
図40は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図40における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。図40の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time−Stamp)やピクチャの復号時刻であるDTS(Decoding Time−Stamp)が格納される。
図41は、多重化データに最終的に書き込まれる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フィルタへの転送開始時刻を示す。多重化データには図41下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号は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時間の情報を持つ。
図42はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
多重化データ情報ファイルは、図43に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
多重化データ情報は図43に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
ストリーム属性情報は図44に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
また、本実施の形態における動画像復号化方法のステップを図45に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
(実施の形態8)
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図46に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に置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
(実施の形態9)
上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図47は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
より具体的には、駆動周波数切替え部ex803は、図46のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、図46の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態7で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態7で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、図49のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
図48は、本実施の形態の方法を実施するステップを示している。まず、ステップ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を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
(実施の形態10)
テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図50Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4−AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4−AVC規格に対応する復号処理部ex902を共有し、MPEG4−AVC規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。特に、本発明の一態様は、動き補償に特徴を有していることから、例えば、動き補償については専用の復号処理部ex901を用い、それ以外の逆量子化、エントロピー復号、デブロッキング・フィルタのいずれか、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4−AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
また、処理を一部共有化する他の例を図50Bのex1000に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。