(本発明の基礎となった知見)
本発明者は、「背景技術」の欄において記載した、予測画像生成を行う画像処理装置に関して、課題の存在を見出した。以下に詳しく説明する。
画像を符号化する画像符号化装置は、画像を構成する各ピクチャを16x16画素でそれぞれが構成される複数のマクロブロック(Macroblock、略してMBと呼ぶこともある)に分割する。そして、画像符号化装置は、ラスタースキャン順に各マクロブロックを符号化する。画像符号化装置は、画像を符号化し圧縮することにより、符号化ストリームを生成する。
画像を復号する画像処理装置は、この符号化ストリームをラスタースキャン順でマクロブロック毎に復号し、元の画像の各ピクチャを再生する。例えば、特許文献1および特許文献2には、画像をマクロブロック毎に復号する装置が示されている。
また、従来の画像符号化方式の1つとしてITU−T H.264規格がある。H.264規格で符号化された画像を復号する画像処理装置は、まず、符号化ストリームを読み込む。そして、画像処理装置は、各種ヘッダ情報の復号後、可変長復号を行う。画像処理装置は、可変長復号により得られた係数情報を逆量子化して、逆周波数変換する。これにより、差分画像が生成される。
次に、画像処理装置は、可変長復号により得られたマクロブロックタイプに応じて、面内予測または動き補償を行う。ここで、動き補償は最大16x16画素に対して行われる。これにより、画像処理装置は、予測画像を生成する。その後、画像処理装置は、予測画像に差分画像を加算することにより、再構成処理を行う。そして、画像処理装置は、再構成画像にインループフィルタ処理を行うことで復号対象画像を復号する。
インループフィルタは、再構成画像がフレームメモリに参照画像として格納される前に適用されるフィルタである。インループフィルタとして、デブロックフィルタ、サンプルアダプティブオフセットフィルタおよびアクティブループフィルタが用いられる場合がある。一方、表示の際に適用されるフィルタは、アウトループフィルタと呼ばれる。
H.264規格に係る画像符号化装置は、先ほど述べた通り、16x16画素で構成されるマクロブロック単位で画像を符号化する。しかし、符号化の単位として16x16画素が、必ずしも最適とは限らない。一般に、画像の解像度が高くなるにつれて、隣接ブロック間の相関が高くなる。そのため、画像の解像度が高い場合、画像符号化装置は、符号化の単位を大きくした方が、より圧縮効率を向上させることができる。
近年、4K2K(3840x2160画素)等のように、超高精細なディスプレイの開発が行われてきている。したがって、画像の解像度がますます高くなっていくことが予想される。H.264規格に係る画像符号化装置は、画像の高解像度化が進むにつれて、高解像度の画像を効率的に符号化することが困難になってきている。
一方、次世代の画像符号化規格として提案されている技術の中には、このような課題を解決する技術がある(非特許文献1)。この技術では、従来のH.264規格に対応する符号化単位ブロックのサイズが可変になる。そして、この技術に係る画像符号化装置は、従来の16x16画素よりも大きなブロックで画像を符号化することも可能であり、超高精細画像を適切に符号化することができる。
具体的には、非特許文献1では、符号化のデータ単位として、符号化ユニット(CU:Coding Unit)が定義されている。この符号化ユニットは、従来の符号化規格におけるマクロブロックと同様に、面内予測を行うイントラ予測と、動き補償を行うインター予測とを切り替えることが可能なデータ単位であり、符号化の最も基本的なブロックとして規定されている。
この符号化ユニットのサイズは、8x8画素、16x16画素、32x32画素、64x64画素のいずれかである。最も大きな符号化ユニットは、最大符号化ユニット(LCU:Largest Coding Unit)と呼ばれる。
さらに、周波数変換のデータ単位として変換ユニット(TU:Transform Unit、周波数変換ユニットとも呼ばれる)が定義されている。この変換ユニットは、4x4画素、8x8画素、16x16画素、16x12画素、32x32画素など、4x4画素以上の様々な矩形のサイズに設定される。
また、さらに、イントラ予測またはインター予測のデータ単位として、予測ユニット(PU:Prediction Unit)が定義されている。予測ユニットは、符号化ユニットの内部において、64x64画素、64x32画素、32x64画素、32x32画素、32x16画素、16x32画素、16x12画素など、4x4画素以上の様々な矩形のサイズに設定される。予測ユニットの最大は、64x64画素である。そして、予測は、予測ユニット毎に行われる。
画像処理装置は、予測ユニットの画像の予測を行う際、他の予測ユニットの情報を参照する場合がある。そのため、画像処理装置は、予測ユニットの情報の転送を行う必要がある。この転送によって、処理負荷および処理遅延が大きくなる。以下、より具体的に説明する。
動き補償は、予測ユニットに対して行われる。例えば、画像処理装置は、復号対象の予測ユニットである現予測ユニットに対して動き補償を行う。この時、画像処理装置は、現予測ユニットの動き補償に必要な動きベクトルを算出する。現予測ユニットの動きベクトルの算出には、現予測ユニットに時間的に隣接する予測ユニットである対応予測ユニットの情報が用いられる場合がある。
この場合において、画像処理装置は、現予測ユニットを含むピクチャとは異なるピクチャに含まれる対応予測ユニットの予測パラメータを参照して、現予測ユニットの動きベクトルを算出する。予測パラメータは、予測画像生成に用いられたパラメータであり、面内予測(イントラ予測)および動き補償(インター予測)のどちらが用いられたかを示す予測モード、動きベクトル、および、参照ピクチャ番号等の情報を含む。
また、予測パラメータは、動きベクトル情報、または、colPU情報と呼ばれる場合がある。また、現予測ユニットを含むピクチャは、現ピクチャと呼ばれる場合がある。また、現ピクチャとは異なるピクチャは、co−locatedピクチャ、colPic、または、対応ピクチャと呼ばれる場合がある。また、対応ピクチャに含まれる対応予測ユニットは、co−locatedマクロブロックまたはcolPUと呼ばれる場合がある。
非特許文献1の場合、画像処理装置は、まず、第1対応予測ユニットの予測パラメータである第1予測パラメータを参照する。第1対応予測ユニットは、対応ピクチャに含まれる対応予測ユニットであり、現予測ユニットの右下の位置に対応する。
第1予測パラメータが利用できない場合、画像処理装置は、第2対応予測ユニットの予測パラメータである第2予測パラメータを参照する。第2対応予測ユニットは、対応ピクチャに含まれる対応予測ユニットであり、現予測ユニットの位置に対応する。第1予測パラメータが利用できない場合として、第1対応予測ユニットが面内予測で符号化されている場合、または、第1対応予測ユニットが対応ピクチャの外部である場合等がある。
第1予測パラメータが利用可能である場合、画像処理装置は、第1予測パラメータを用いて非特許文献1に示されている計算を行うことによって、動きベクトルを算出する。第1予測パラメータが利用不可であり、第2予測パラメータが利用可能である場合、画像処理装置は、第2予測パラメータを用いて非特許文献1に示されている計算を行うことによって、動きベクトルを算出する。
第1予測パラメータおよび第2予測パラメータの両方が利用不可である場合、画像処理装置は、動きベクトルの算出に、対応予測ユニットの予測パラメータを用いない。
以上のように、非特許文献1の場合、現予測ユニットの予測画像生成の際、まず、第1予測パラメータが参照される。第1予測パラメータが利用不可である場合、第2予測パラメータが参照される。すなわち、第1予測パラメータが優先して用いられる。これにより、右下の情報が効果的に利用され、符号化効率が向上する。
しかしながら、第1予測パラメータに基づいて第2予測パラメータの要否を判定する処理では、これらの予測パラメータを保存している記憶部への通信が頻発する。そのため、動きベクトル算出処理に伴う負荷および遅延が大きくなる。
特許文献1に係る復号化装置は、現在復号しているマクロブロック以降のマクロブロックの復号に用いられる情報を先行して取得する。これにより、情報を取得するための転送時間が隠蔽される。しかし、非特許文献1では、予測画像生成に用いられる情報が、第1予測パラメータおよび第2予測パラメータのいずれかに選択的に切り替えられる。したがって、予測画像生成に用いられる情報を予め取得することは困難である。
特許文献2では、マクロブロックタイプに基づいて、co−locatedマクロブロックの情報が必要であるか否かが先行して判定される。そして、co−locatedマクロブロックの情報が必要でない場合、co−locatedマクロブロックの情報を転送しない。これにより、転送量が低減される。
しかし、非特許文献1において、第2予測パラメータの転送の要否を判定するためには、第1予測パラメータの転送が必要である。そして、判定の結果、さらに、第2予測パラメータの転送が必要になる場合がある。したがって、特許文献2の技術が用いられた場合でも、転送処理に伴う処理負荷は低減されない。
すなわち、特許文献1または特許文献2に示された技術が用いられた場合でも、予測パラメータを保存している記憶部への通信が頻発する。そのため、処理負荷および処理遅延が大きくなる。
このような課題を解決するため、本発明の一態様に係る画像処理装置は、ピクチャに含まれる予測ユニットの予測画像生成に用いられた予測パラメータを用いて、当該ピクチャとは異なるピクチャに含まれる予測ユニットの予測画像生成を行う画像処理装置であって、少なくともピクチャ1つ分に対応する複数の予測ユニットの予測画像生成に用いられた複数の予測パラメータを記憶するための第1記憶部と、前記複数の予測ユニットのうちの2つ以上の予測ユニットの予測画像生成に用いられた2つ以上の予測パラメータを記憶するための第2記憶部と、予測画像生成のための前記2つ以上の予測パラメータを前記第1記憶部から前記第2記憶部へ、または、予測画像生成に用いられた前記2つ以上の予測パラメータを前記第2記憶部から前記第1記憶部へ、まとめて転送する転送部とを備える。
これにより、予測ユニットの情報の転送回数が減少する。したがって、予測ユニットの情報の転送に伴う処理負荷および処理遅延が減少する。
例えば、前記転送部は、それぞれが動きベクトルの情報を含む前記2つ以上の予測パラメータをまとめて転送してもよい。
これにより、動きベクトルの情報が効率的に転送される。したがって、他の予測ユニットの動きベクトルを用いる場合の処理負荷および処理遅延が減少する。
また、例えば、前記転送部は、予測画像生成のための前記2つ以上の予測パラメータを前記第1記憶部から前記第2記憶部へ、まとめて転送してもよい。
これにより、予測画像生成のための予測パラメータが効率的に転送される。したがって、予測画像生成のための予測パラメータの転送に伴う処理負荷および処理遅延が減少する。
また、例えば、前記転送部は、予測ユニットの予測画像生成に用いられる可能性を有する前記2つ以上の予測パラメータをまとめて転送してもよい。
これにより、予測パラメータの転送の繰り返しが抑制される。したがって、処理負荷および処理遅延が減少する。
また、例えば、前記転送部は、(i)予測画像生成が行われる第1予測ユニットの右下の位置に対応する予測ユニットであり、前記第1予測ユニットを含む第1ピクチャとは異なる第2ピクチャに含まれる予測ユニットである第2予測ユニットの予測画像生成に用いられた予測パラメータと、(ii)前記第1予測ユニットの位置に対応する予測ユニットであり、前記第2ピクチャに含まれる予測ユニットである第3予測ユニットの予測画像生成に用いられた予測パラメータとを含む前記2つ以上の予測パラメータをまとめて転送してもよい。
これにより、右下の位置に対応する予測パラメータ、および、同一の位置に対応する予測パラメータが同時にまとめて転送される。したがって、転送回数が減少する。
また、例えば、前記転送部は、予測ユニットの予測画像生成に用いられる可能性を有する予測パラメータと当該予測ユニットの予測画像生成に用いられる可能性を有しない予測パラメータとを含む前記2つ以上の予測パラメータをまとめて転送してもよい。
これにより、1回の転送で、より多くの予測パラメータが転送される。したがって、予測パラメータの転送の繰り返しが抑制される。よって、処理負荷および処理遅延が減少する。
また、例えば、前記転送部は、予め定められた最大符号化ユニットに含まれる全ての予測ユニットの予測画像生成のための前記2つ以上の予測パラメータをまとめて転送してもよい。
これにより、最大符号化ユニットに含まれる複数の予測ユニットの予測画像生成において、転送の繰り返しが抑制される。したがって、処理負荷および処理遅延が減少する。
また、例えば、前記転送部は、予測画像生成に用いられた前記2つ以上の予測パラメータを前記第2記憶部から前記第1記憶部へ、まとめて転送してもよい。
これにより、予測画像生成に用いられた予測パラメータが効率的に転送される。したがって、予測画像生成に用いられた予測パラメータの転送に伴う処理負荷および処理遅延が減少する。
また、例えば、前記転送部は、空間的に互いに隣接する前記2つ以上の予測ユニットの予測画像生成に用いられた前記2つ以上の予測パラメータを前記第2記憶部から前記第1記憶部において連続するアドレスへ、まとめて転送してもよい。
これにより、複数の予測パラメータが連続するアドレスにまとめて転送される。まとめて転送された複数の予測パラメータは、空間的に隣接する複数の予測ユニットに対応する。したがって、後で、予測画像生成のための複数の予測パラメータとして、空間的に隣接する複数の予測ユニットに対応する複数の予測パラメータをまとめて転送することが容易になる。
また、例えば、前記転送部は、空間的に水平方向に互いに隣接する前記2つ以上の予測ユニットの予測画像生成に用いられた前記2つ以上の予測パラメータを前記第2記憶部から前記第1記憶部において連続するアドレスへ、まとめて転送してもよい。
これにより、後で、予測画像生成のための複数の予測パラメータとして、水平方向に隣接する複数の予測ユニットに対応する複数の予測パラメータをまとめて転送することが容易になる。
また、例えば、前記転送部は、空間的に垂直方向に互いに隣接する前記2つ以上の予測ユニットの予測画像生成に用いられた前記2つ以上の予測パラメータを前記第2記憶部から前記第1記憶部において連続するアドレスへ、まとめて転送してもよい。
これにより、後で、予測画像生成のための複数の予測パラメータとして、垂直方向に隣接する複数の予測ユニットに対応する複数の予測パラメータをまとめて転送することが容易になる。
また、例えば、前記転送部は、予め定められた最大符号化ユニットに含まれる全ての予測ユニットの予測画像生成に用いられた前記2つ以上の予測パラメータをまとめて転送してもよい。
これにより、最大符号化ユニットに含まれる複数の予測ユニットの予測画像生成において、転送の繰り返しが抑制される。したがって、処理負荷および処理遅延が減少する。
また、例えば、前記転送部は、処理順序において連続する前記2つ以上の予測ユニットの予測画像生成に用いられた前記2つ以上の予測パラメータを前記第2記憶部から前記第1記憶部において連続するアドレスへ、まとめて転送してもよい。
これにより、後で、予測画像生成のための複数の予測パラメータとして、処理順序で連続する複数の予測ユニットに対応する複数の予測パラメータをまとめて転送することが容易になる。
また、例えば、前記転送部は、予測ユニットの予測画像生成に用いられた予測パラメータを複製することにより当該予測ユニットに含まれる等間隔の複数の座標位置に対応する複数の予測パラメータを生成し、生成された前記複数の予測パラメータのそれぞれを他の予測パラメータと共に前記2つ以上の予測パラメータとして前記第2記憶部から前記第1記憶部へ、まとめて転送してもよい。
これにより、予測ユニットに含まれる座標位置に対応する予測パラメータを後で予測画像生成のための予測パラメータとして転送することが容易になる。
また、例えば、画像処理装置は、さらに、前記第1記憶部から前記第2記憶部へ転送された予測パラメータを用いて予測ユニットの予測画像生成を行う予測画像生成部を備えてもよい。
これにより、転送された予測パラメータ、すなわち、入力された予測パラメータを用いて、適切に予測が行われる。
また、例えば、画像処理装置は、さらに、前記第1記憶部から前記第2記憶部へまとめて転送された前記2つ以上の予測パラメータのうちの1つを用いて予測ユニットの予測画像生成を行う予測画像生成部を備えてもよい。
これにより、複数の予測パラメータのうちの1つが選択的に用いられる場合でも、複数の予測パラメータがまとめて転送されることにより、転送の繰り返しが抑制される。したがって、処理負荷および処理遅延が減少する。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの非一時的な記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置および接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
また、64x64画素、および、32x32画素等の表現は、それぞれ、64画素x64画素、および、32画素x32画素等のサイズを意味する。
また、以下において、ブロック、データ単位および符号化ユニット等の表現は、それぞれ、まとまった領域を意味する。それらは、それぞれ、画像領域を意味する場合もある。あるいは、それらは、それぞれ、符号化ストリームにおけるデータ領域を意味する場合もある。
また、画像は、静止画像または動画像を構成する複数のピクチャ、1つのピクチャ、および、ピクチャの一部等のいずれでもよい。
(実施の形態1)
(1−1.概要)
まず、本実施の形態に係る画像処理装置の概要について説明する。本実施の形態に係る画像処理装置は、対応予測ユニットの予測パラメータを参照して、現予測ユニットの動きベクトルを算出する。その際、画像処理装置は、投機的に現予測ユニットの予測画像生成に用いられる可能性のある全ての予測パラメータを取得する。これにより、対応予測ユニットの予測パラメータを取得するためのメモリアクセス回数が減少する。したがって、復号処理全体が高速化する。
(1−2.構成)
次に、本実施の形態に係る画像処理装置の構成について説明する。
図1は、本実施の形態に係る画像処理装置の構成図である。本実施の形態に係る画像処理装置は、制御部501、フレームメモリ502、再構成画像メモリ509、可変長復号部503、逆量子化部504、逆周波数変換部505、動き補償部506、面内予測部507、再構成部508、インループフィルタ部510および動きベクトル演算部511を備える。
制御部501は、画像処理装置の全体を制御する。フレームメモリ502は、復号された画像データを記憶するためのメモリである。再構成画像メモリ509は、生成された再構成画像の一部を記憶するためのメモリである。可変長復号部503は、符号化ストリームを読み込み、可変長符号を復号する。逆量子化部504は、逆量子化を行う。逆周波数変換部505は、逆周波数変換を行う。
動きベクトル演算部511は、予測動きベクトルおよび差分動きベクトル等に基づいて、動きベクトルを算出する。動きベクトル演算部511は、対応予測ユニットの情報に基づいて、動きベクトルを算出してもよい。そして、動きベクトル演算部511は、動きベクトルを動き補償部506に出力する。動き補償部506は、フレームメモリ502から参照画像を読み出して、動き補償を行い、予測画像を生成する。面内予測部507は、再構成画像メモリ509から参照画像を読み出して、面内予測を行い、予測画像を生成する。
再構成部508は、差分画像と予測画像とを加算して再構成画像を生成し、再構成画像の一部を再構成画像メモリ509に格納する。インループフィルタ部510は、再構成画像のブロックノイズを除去し、再構成画像を高画質化する。
図2は、本実施の形態に係る動き補償部506の周辺の構成図である。図1と同様の構成要素には同じ符号を割り当て、説明を省略する。図2には、図1で示された構成要素以外に、DMA(Direct Memory Access)制御部512、参照画像記憶部513、予測画像記憶部514および動きベクトル記憶部515が示されている。これらは、動き補償部506に含まれていてもよい。また、動きベクトル記憶部515は、動きベクトル演算部511に含まれていてもよい。
DMA制御部512は、現予測ユニットの座標およびサイズに基づいて、フレームメモリ502から動きベクトル記憶部515へ、対応予測ユニットの予測パラメータを転送する。動きベクトル記憶部515には、DMA制御部512によって転送された予測パラメータが記憶される。DMA制御部512は、動きベクトル記憶部515からフレームメモリ502へ、動きベクトル演算部511によって算出された動きベクトルを含む予測パラメータを転送する。
また、DMA制御部512は、動きベクトル演算部511によって算出された動きベクトルに基づいて、フレームメモリ502から参照画像記憶部513へ参照画像を転送する。参照画像記憶部513には、DMA制御部512によって転送された参照画像が記憶される。また、予測画像記憶部514には、動き補償部506によって生成された予測画像が記憶される。
(1−3.動作)
次に、本実施の形態に係る画像処理装置の動作を説明する。本実施の形態に係る画像処理装置が復号する符号化ストリームは、符号化ユニットと、変換ユニットと、予測ユニットとで構成される。
符号化ユニットは、64x64画素〜8x8画素のサイズで設定され、面内予測とインター予測との切り替え可能なデータ単位である。変換ユニットは、符号化ユニットの内部の領域において、64x64画素〜4x4画素のサイズで設定される。予測ユニットは、符号化ユニットの内部の領域において、64x64画素〜4x4画素のサイズで設定され、面内予測のための予測モード、または、インター予測のための動きベクトルを有する。以下、図3A〜図5Bを用いて符号化ストリームの構成について説明する。
図3Aおよび図3Bは、本実施の形態に係る画像処理装置が復号する画像の階層的な構成を示している。図3Aのように、複数のピクチャのまとまりは、シーケンスと呼ばれる。また、図3Bのように、各ピクチャはスライスに分割され、各スライスはさらに符号化ユニットに分割される。ピクチャはスライスに分割されない場合もある。本実施の形態において、最大符号化ユニットのサイズは、64x64画素である。
図3Cは、本実施の形態に係る符号化ストリームを示す図である。図3Aおよび図3Bに示されたデータが階層的に符号化されることにより、図3Cに示された符号化ストリームが得られる。
図3Cに示された符号化ストリームは、シーケンスを制御するシーケンスヘッダ、ピクチャを制御するピクチャヘッダ、スライスを制御するスライスヘッダ、および、符号化ユニットレイヤデータ(CUレイヤデータ)で構成される。H.264規格において、シーケンスヘッダは、SPS(Sequence Parameter Set)とも呼ばれ、ピクチャヘッダは、PPS(Picture Parameter Set)とも呼ばれる。
図4Aは、本実施の形態に係る符号化ユニットと符号化ユニットレイヤデータの構成例を示す図である。符号化ユニットに対応する符号化ユニットレイヤデータは、CU分割フラグ、および、CUデータ(符号化ユニットデータ)で構成される。このCU分割フラグは、「1」の場合、符号化ユニットを4分割することを示し、「0」の場合、符号化ユニットを4分割しないことを示す。図4Aでは、64x64画素の符号化ユニットは、分割されない。すなわち、CU分割フラグは「0」である。
図4Bは、本実施の形態に係るCUデータの構成例を示す図である。CUデータは、CUタイプ、動きベクトルまたは面内予測モード、および、係数を含む。CUタイプによって、予測ユニットのサイズが決定される。
図5Aは、選択可能な予測ユニットのサイズの例を示す図である。具体的には、64x64画素、32x64画素、64x32画素、32x32画素、16x32画素、32x16画素、16x16画素、16x8画素、8x16画素、8x8画素、8x4画素、4x8画素、および、4x4画素の予測ユニットが示されている。予測ユニットのサイズは、4x4画素以上のサイズから選択可能である。また、予測ユニットの形状は、長方形でもよい。
そして、予測ユニット毎に、動きベクトルまたは面内予測モードが指定される。本実施の形態では、動きベクトルのみが用いられるため、図4Bでは動きベクトルのみが示されている。また、図5Aのように、正方形を1:3に分割することにより得られる16x64画素の予測ユニットおよび48x64画素の予測ユニットが選択される場合もある。
図5Bは、選択可能な変換ユニットのサイズの例を示す図である。具体的には、32x32画素、16x32画素、32x16画素、16x16画素、16x8画素、8x16画素、8x8画素、8x4画素、4x8画素、および、4x4画素等の予測ユニットが示されている。図5Bのように、正方形を1:3に分割することにより得られる8x32画素の変換ユニットおよび24x32画素の変換ユニットが選択される場合もある。
図6は、本実施の形態に係る現予測ユニットおよび対応予測ユニットの関係を示す図である。現予測ユニットは、復号対象(予測対象)の予測ユニットである。現予測ユニットは、現ピクチャに含まれる。対応ピクチャは、現ピクチャとは異なるピクチャである。第1対応予測ユニットは、対応ピクチャに含まれる予測ユニットであり、現予測ユニットの右下の位置に対応する。第2対応予測ユニットは、対応ピクチャに含まれる予測ユニットであり、現予測ユニットの位置に対応する。
現予測ユニットの予測画像生成には、第2対応予測ユニットの予測画像生成に用いられた予測パラメータよりも、第1対応予測ユニットの予測画像生成に用いられた予測パラメータが、優先的に用いられる。第1対応予測ユニットの予測画像生成に用いられた予測パラメータが利用可能でない場合、現予測ユニットの予測画像生成には、第2対応予測ユニットの予測画像生成に用いられた予測パラメータが用いられる。
図7は、本実施の形態に係る対応予測ユニットの位置の例を示す図である。第1対応予測ユニットは、現予測ユニットの右下の位置に対応する。第2対応予測ユニットは、現予測ユニットの位置に対応する。より具体的には、第1対応予測ユニットは、現予測ユニットの右下の座標位置に対して、16画素で丸め処理を行うことによって得られる位置を含む予測ユニットである。第2対応予測ユニットは、現予測ユニットの中央の座標位置に対して、16画素で丸め処理を行うことによって得られる位置を含む予測ユニットである。
なお、対応予測ユニットの位置は、上述の基準で決定される位置に限られない。対応予測ユニットの位置は、他の基準で決定されてもよい。
図8は、符号化ストリームに含まれる1シーケンスの復号動作を示すフローチャートである。図8に示すフローチャートを用いて、図1に示した画像処理装置の動作を説明する。画像処理装置は、まず、シーケンスヘッダを復号する(S901)。その際、可変長復号部503は、制御部501の制御に基づいて、符号化ストリームを復号する。次に、画像処理装置は、同様に、ピクチャヘッダを復号し(S902)、スライスヘッダを復号する(S903)。
次に、画像処理装置は、符号化ユニットを復号する(S904)。符号化ユニットの復号については後で詳しく説明する。画像処理装置は、符号化ユニットの復号後、復号された符号化ユニットがスライスの最後の符号化ユニットであるか否かを判定する(S905)。そして、復号された符号化ユニットがスライスの最後でない場合(S905でNo)、再度、画像処理装置は、次の符号化ユニットを復号する(S904)。
さらに、画像処理装置は、復号された符号化ユニットを含むスライスがピクチャの最後のスライスであるか否かを判定する(S906)。そして、スライスがピクチャの最後でない場合(S906でNo)、画像処理装置は、再度、スライスヘッダを復号する(S903)。
さらに、画像処理装置は、復号された符号化ユニットを含むピクチャがシーケンスの最後のピクチャであるか否かを判定する(S907)。そして、ピクチャがシーケンスの最後でない場合(S907でNo)、画像処理装置は、再度、ピクチャヘッダを復号する(S902)。画像処理装置は、シーケンスの全てのピクチャの復号後、一連の復号動作を終了する。
図9は、1つの符号化ユニットの復号動作を示すフローチャートである。図9のフローチャートを用いて、図8の符号化ユニットの復号(S904)の動作を説明する。
まず、可変長復号部503は、入力された符号化ストリームに含まれる処理対象の符号化ユニットについて、可変長復号を行う(S1001)。
可変長復号処理(S1001)において、可変長復号部503は、符号化ユニットタイプ、面内予測(イントラ予測)モード、動きベクトルおよび量子化パラメータなどの符号化情報を出力する。本実施の形態において、出力される符号化情報には、符号化ユニットのサイズ、符号化ユニットの処理順序、予測ユニットのサイズ、変換ユニットのサイズ、および、変換ユニットの処理順序などが含まれる。また、可変長復号部503は、各画素データに対応する係数情報を出力する。
符号化情報は、制御部501に出力され、その後、各処理部に入力される。係数情報は、次の逆量子化部504に出力される。次に、逆量子化部504は、逆量子化処理を行う(S1002)。その後、逆周波数変換部505は、逆周波数変換を行って差分画像を生成する(S1003)。
次に、制御部501は、処理対象の符号化ユニットにインター予測が用いられるか、面内予測が用いられるかの判定を行う(S1004)。
インター予測が用いられる場合(S1004でYes)、制御部501は、動きベクトル演算部511を起動する。動きベクトル演算部511は、動きベクトルの算出を行う(S1005)。そして、動きベクトル演算部511は、動きベクトルにより指し示される参照画像をフレームメモリ502から転送する。次に、制御部501は、動き補償部506を起動する。そして、動き補償部506は、1/2画素精度または1/4画素精度等の予測画像を生成する(S1006)。
一方、インター予測が用いられない場合(S1004でNo)、すなわち、面内予測が用いられる場合、制御部501は、面内予測部507を起動する。面内予測部507は、面内予測の処理を行い、予測画像を生成する(S1007)。
再構成部508は、動き補償部506または面内予測部507によって出力された予測画像と、逆周波数変換部505によって出力された差分画像とを加算することにより、再構成画像を生成する(S1008)。
生成された再構成画像は、インループフィルタ部510に入力される。同時に、面内予測で用いられる部分は、再構成画像メモリ509に格納される。最後に、インループフィルタ部510は、得られた再構成画像に対して、ノイズを低減するためのインループフィルタ処理を行う。そして、インループフィルタ部510は、フレームメモリ502に結果を格納する(S1009)。以上で、画像処理装置は、符号化ユニットの復号動作を終了する。
図9の例では、上述の複数の処理が複数のステージに分割されている。そして、これらの複数の処理は、パイプライン処理を構成する。
図10は、本実施の形態に係る動きベクトル算出処理を示すフローチャートである。図10には、動きベクトル演算部511が対応予測ユニットの動きベクトルを用いて、現予測ユニットの動きベクトルを算出する処理が示されている。
まず、動きベクトル演算部511は、現予測ユニットの座標およびサイズから、第1対応予測ユニットの位置を算出する。そして、DMA制御部512は、第1対応予測ユニットの位置に基づいて、フレームメモリ502から動きベクトル記憶部515へ、第1対応予測ユニットの予測パラメータである第1予測パラメータを転送する(S1100)。これにより、動きベクトル演算部511は、第1予測パラメータを取得することができる。
また、同様に、動きベクトル演算部511は、現予測ユニットの座標およびサイズから、第2対応予測ユニットの位置を算出する。そして、DMA制御部512は、第2対応予測ユニットの位置に基づいて、フレームメモリ502から動きベクトル記憶部515へ、第2対応予測ユニットの予測パラメータである第2予測パラメータを転送する(S1101)。これにより、動きベクトル演算部511は、第2予測パラメータを取得することができる。
次に、動きベクトル演算部511は、動きベクトル記憶部515へ転送された第1予測パラメータが利用可能であるか否かを判定する(S1102)。例えば、動きベクトル演算部511は、第1予測パラメータにより示される予測モードがインター予測であるか否かを判定することにより、第1予測パラメータが利用可能であるか否かを判定する。
第1予測パラメータが利用可能である場合(S1102でYes)、動きベクトル演算部511は、第1予測パラメータを用いて動きベクトルを算出する(S1103)。
第1予測パラメータが利用可能でない場合(S1102でNo)、動きベクトル演算部511は、動きベクトル記憶部515へ転送された第2予測パラメータが利用可能であるか否かを判定する(S1104)。例えば、動きベクトル演算部511は、第2予測パラメータにより示される予測モードがインター予測であるか否かを判定することにより、第2予測パラメータが利用可能であるか否かを判定する。
第2予測パラメータが利用可能である場合(S1104でYes)、動きベクトル演算部511は、第2予測パラメータを用いて動きベクトルを算出する(S1105)。第2予測パラメータが利用可能でない場合(S1104でNo)、動きベクトル演算部511は、対応予測ユニットの予測パラメータから動きベクトルを算出しない(S1106)。
図11は、図10に示された処理によって予測パラメータが転送される領域の例を示す図である。図11の上段には、現ピクチャに含まれる複数の予測ユニット0〜23が示されている。図11の中段には、対応ピクチャに含まれる複数の予測ユニット0〜47が示されている。
この例において、現ピクチャの予測ユニット0に対応する第1対応予測ユニットは、対応ピクチャの予測ユニット40である。また、現ピクチャの予測ユニット0に対応する第2対応予測ユニットは、対応ピクチャの予測ユニット0である。したがって、現ピクチャの予測ユニット0が予測される場合、対応ピクチャの予測ユニット40の予測パラメータと、対応ピクチャの予測ユニット0の予測パラメータとが、まとめて転送される。
また、現ピクチャの予測ユニット12に対応する第1対応予測ユニットは、対応ピクチャの予測ユニット13である。また、現ピクチャの予測ユニット12に対応する第2対応予測ユニットは、対応ピクチャの予測ユニット3である。したがって、現ピクチャの予測ユニット12が予測される場合、対応ピクチャの予測ユニット13の予測パラメータと、対応ピクチャの予測ユニット3の予測パラメータとが、まとめて転送される。
以上の処理により、画像処理装置は、第1予測パラメータが利用可能であるか否かにかかわらず、第2予測パラメータが投機的に転送される。これにより、フレームメモリ502の通信回数が減少する。これにより、メモリアクセスレイテンシによる処理遅延が小さくなる。
図12は、予測パラメータが投機的に取得されない場合の例を示す。図12の上段では、第1予測パラメータが利用可能であるため、フレームメモリ502の通信回数は増加しない。しかし、図12の下段では、第1予測パラメータが利用可能でないため、別途の指示によって、第2予測パラメータの転送が必要である。したがって、フレームメモリ502の通信回数が増加する。
図13は、予測パラメータが投機的に取得される場合の例を示す。図13では、第1予測パラメータと第2予測パラメータが、1回の指示でまとめて転送される。図13の上段では、第1予測パラメータが利用可能であるため、転送された第1予測パラメータ、および、転送された第2予測パラメータのうち、第1予測パラメータが用いられる。この場合、フレームメモリ502の通信回数は増加しない。
また、図13の下段では、第1予測パラメータが利用可能でないため、転送された第1予測パラメータ、および、転送された第2予測パラメータのうち、第2予測パラメータが用いられる。この場合も、フレームメモリ502の通信回数は増加しない。
図13のように、予測パラメータが投機的に取得された場合、フレームメモリ502へのアクセス回数が低減される。そのため、メモリアクセスレイテンシによる遅延時間が小さい。図12の下段の場合に比べ、動きベクトル算出に必要な時間が減少する。
なお、図13の例において1回で転送されるデータ量は、図12の例よりも大きい。したがって、データが転送されている時間は減少しないと推定される。しかし、転送回数の削減によって、転送の指示などに伴うオーバーヘッドを含む全体の転送時間が減少する。転送回数の削減は、データ量が比較的小さい予測パラメータの転送時間の削減に、特に有効である。
(1−4.効果)
このように、本実施の形態に係る画像処理装置は、対応ピクチャに含まれる複数の対応予測ユニットに対応する複数の予測パラメータを参照して、現ピクチャに含まれる現予測ユニットの動きベクトルを算出する。この時、投機的に複数の予測パラメータが転送される。これにより、メモリへのアクセス回数が減少し、復号処理全体が高速化する。
(1−5.補足)
なお、本実施の形態では、動きベクトルの算出で参照される予測パラメータの数は、2つである。しかし、動きベクトルの算出で参照される予測パラメータの数は、3つ以上でもよい。
また、本実施の形態において、対応ピクチャにおける第1対応予測ユニットの位置は、現予測ユニットの右下の位置に対応する。また、対応ピクチャにおける第2対応予測ユニットの位置は、現予測ユニットの位置に対応する。しかし、各対応予測ユニットの位置は、必ずしもこの位置でなくてもよい。各対応予測ユニットの位置は、現予測ユニットの左下の位置、または、現予測ユニットの下の位置等のように、どのような位置でもよい。
また、各処理部の構成について、その一部あるいは全部が、専用ハードウェアによる回路で実現されてもよいし、プロセッサにより実行されるプログラムで実現されてもよい。
また、本実施の形態において、フレームメモリ502、動きベクトル記憶部515、参照画像記憶部513および予測画像記憶部514は、メモリまたは記憶部として示されている。これらは、データの記憶が可能な記憶素子であれば、メモリ、フリップフロップまたはレジスタなどいずれの構成でもよい。さらには、プロセッサのメモリ領域の一部、または、キャッシュメモリの一部が、フレームメモリ502、動きベクトル記憶部515、参照画像記憶部513および予測画像記憶部514として、用いられてもよい。
また、本実施の形態において、画像復号装置である画像処理装置が示されている。しかし、画像処理装置は、画像復号装置に限定されない。復号処理を逆の手順で実行する画像符号化装置も、同様に、予測パラメータの転送を行うことが可能である。
また、本実施の形態では、動き補償が例として記載されている。しかし、画像処理装置は、面内予測の場合でも、同様の処理を実行することで、同様の効果を得ることができる。なお、この場合、動きベクトルに代えて、面内予測モードが用いられてもよい。もちろん、予測画像生成に用いられた他の情報が用いられてもよい。また、この場合、空間的に異なるピクチャ、例えば視点の異なるピクチャが対応ピクチャとして用いられてもよい。もちろん、その他のピクチャが対応ピクチャとして用いられてもよい。
また、本実施の形態で示された符号化ユニット、予測ユニットおよび変換ユニットについてのサイズおよび形状は、例であって、これらのサイズおよび形状は、いかなるサイズおよび形状でも構わない。
(実施の形態2)
(2−1.概要)
まず、本実施の形態に係る画像処理装置の概要について説明する。本実施の形態に係る画像処理装置は、対応予測ユニットの予測パラメータを参照して、現予測ユニットの動きベクトルを算出する。その際、画像処理装置は、現予測ユニットの予測画像生成に用いられる可能性のない予測パラメータを含む複数の予測パラメータを投機的に取得する。これにより、対応予測ユニットの予測パラメータを取得するためのメモリアクセス回数が減少する。したがって、復号処理全体が高速化する。
また、実施の形態1よりも、画像処理装置は、より多くの予測パラメータを投機的に取得する。そのため、メモリアクセス回数がさらに減少する。したがって、実施の形態1よりも復号処理が高速化する。
図14は、本実施の形態に係る画像処理装置によって、予測パラメータが転送される領域が示されている。本実施の形態では、転送の領域には、第1対応予測ユニットおよび第2対応予測ユニットが含まれる。さらに、その他の領域が、転送の領域に含まれる。すなわち、第1対応予測ユニットの第1予測パラメータ、および、第2対応予測ユニットの第2予測パラメータだけではなく、その他の予測パラメータもまとめて転送される。
(2−2.構成)
図1は、本実施の形態に係る画像処理装置の構成図である。図2は、本実施の形態に係る動き補償部506の周辺の構成図である。本実施の形態に係る画像処理装置の構成は、実施の形態1と全て同じであるので、説明を省略する。
(2−3.動作)
本実施の形態では、実施の形態1と同様に、図3A〜図5Bに示された符号化ストリームの構造が用いられる。本実施の形態に係る画像処理装置の動作フローは、図8および図9に示された実施の形態1の動作フローと同様であるので、説明を省略する。
図15は、本実施の形態に係る動きベクトル演算部511の動作を示すフローチャートである。以下、本実施の形態に係る動きベクトル演算部511の動作について図15を用いて説明する。
まず、動きベクトル演算部511は、現予測ユニットの座標およびサイズから、第1対応予測ユニットの位置を算出する。また、動きベクトル演算部511は、同様に、第2対応予測ユニットの位置を算出する。そして、動きベクトル演算部511は、動きベクトル記憶部515が第1および第2の予測パラメータを保持しているか否かを判定する(S1200)。
動きベクトル記憶部515が必要な予測パラメータを保持していない場合(S1200でNo)、動きベクトル演算部511は、少なくとも第1および第2の予測パラメータを含む2つ以上の予測パラメータを取得する。この時、DMA制御部512は、2つ以上の予測パラメータをフレームメモリ502から動きベクトル記憶部515へ転送する(S1201)。既に、動きベクトル記憶部515が必要な予測パラメータを保持している場合(S1200でYes)、転送処理(S1201)は行われない。
なお、動きベクトル演算部511は、動きベクトル記憶部515が保持している予測パラメータを除外して、2つ以上の予測パラメータを転送してもよい。例えば、動きベクトル記憶部515が第2予測パラメータを保持している場合、動きベクトル演算部511は、第1予測パラメータを含む2つ以上の予測パラメータを転送してもよい。
次に、動きベクトル演算部511は、動きベクトル記憶部515の第1予測パラメータがイントラ予測を示すか否かを判定することにより、第1予測パラメータが利用可能か否かを判定する(S1202)。第1予測パラメータが利用可能である場合(S1202でYes)、動きベクトル演算部511は、第1予測パラメータを用いて動きベクトルを算出する(S1203)。
第1予測パラメータが利用可能でない場合(S1202でNo)、動きベクトル演算部511は、動きベクトル記憶部515の第2予測パラメータがイントラ予測を示すか否かを判定することにより、第2予測パラメータが利用可能であるか否かを判定する(S1204)。第2予測パラメータが利用可能である場合(S1204でYes)、動きベクトル演算部511は、第2予測パラメータを用いて動きベクトルを算出する(S1205)。
第2予測パラメータが利用可能でない場合(S1204でNo)、動きベクトル演算部511は、対応予測ユニットの予測パラメータから動きベクトルを算出しない(S1206)。
以上の処理により、動きベクトル演算部511は、第1予測パラメータが利用可能であるか否かにかかわらず、第2予測パラメータを投機的に取得する。さらに、動きベクトル演算部511は、その他の予測パラメータも投機的に取得する。これにより、フレームメモリ502の通信回数が減少する。また、メモリアクセスレイテンシによる処理遅延が減少する。
図16は、本実施の形態において、投機的に予測パラメータが転送される領域を示す。なお、図16には示されていないが、現ピクチャの複数の予測ユニットの構成は、図11と同様である。また、図16の対応ピクチャの複数の予測ユニットの構成は、図11と同様である。
図16に示された対応ピクチャのマップは、座標位置と予測ユニット(その予測パラメータ)との対応関係を示している。例えば、フレームメモリ502において、対応ピクチャのマップのように、座標位置と予測ユニット(その予測パラメータ)とが関連づけられている。
画像処理装置は、現ピクチャの予測ユニット12(図11参照)を処理する際に、第1予測パラメータとして対応ピクチャの予測ユニット13の予測パラメータを転送する。また、この時、画像処理装置は、第2予測パラメータとして対応ピクチャの予測ユニット3の予測パラメータも一緒に投機的に転送する。
さらに、画像処理装置は、対応ピクチャの予測ユニット5、7、8および22の予測パラメータ(図16参照)も一緒に投機的に転送する。これにより、現ピクチャの予測ユニット14の動きベクトルの算出に必要な第1予測パラメータとして対応ピクチャの予測ユニット22の予測パラメータと、第2予測パラメータとして対応ピクチャの予測ユニット5の予測パラメータも、まとめて転送される。
したがって、フレームメモリ502の通信回数が減少する。これにより、メモリアクセスレイテンシによる遅延時間が減少する。したがって、動きベクトルの算出に必要な時間が減少する。
(2−4.効果)
このように、画像処理装置は、対応予測ユニットの予測パラメータを用いて動きベクトルを算出する場合、現予測ユニットの予測画像生成に用いられる可能性のない予測パラメータを含む複数の予測パラメータを投機的に転送する。これにより、メモリアクセス回数が減少し、復号処理全体が高速化する。
(2−5.補足)
なお、本実施の形態では、動きベクトルの算出で参照される予測パラメータの数は、2つである。しかし、動きベクトルの算出で参照される予測パラメータの数は、3つ以上でもよい。
また、本実施の形態において、対応ピクチャにおける第1対応予測ユニットの位置は、現予測ユニットの右下の位置に対応する。また、対応ピクチャにおける第2対応予測ユニットの位置は、現予測ユニットの位置に対応する。しかし、各対応予測ユニットの位置は、必ずしもこの位置でなくてもよい。各対応予測ユニットの位置は、現予測ユニットの左下の位置、または、現予測ユニットの下の位置等のように、どのような位置でもよい。
また、各処理部の構成について、その一部あるいは全部が、専用ハードウェアによる回路で実現されてもよいし、プロセッサにより実行されるプログラムで実現されてもよい。
また、本実施の形態において、フレームメモリ502、動きベクトル記憶部515、参照画像記憶部513および予測画像記憶部514は、メモリまたは記憶部として示されている。これらは、データの記憶が可能な記憶素子であれば、メモリ、フリップフロップまたはレジスタなどいずれの構成でもよい。さらには、プロセッサのメモリ領域の一部、または、キャッシュメモリの一部が、フレームメモリ502、動きベクトル記憶部515、参照画像記憶部513および予測画像記憶部514として、用いられてもよい。
また、本実施の形態において、画像復号装置である画像処理装置が示されている。しかし、画像処理装置は、画像復号装置に限定されない。復号処理を逆の手順で実行する画像符号化装置も、同様に、予測パラメータの転送を行うことが可能である。
また、本実施の形態では、動き補償が例として記載されている。しかし、画像処理装置は、面内予測の場合でも、同様の処理を実行することで、同様の効果を得ることができる。なお、この場合、動きベクトルに代えて、面内予測モードが用いられてもよい。もちろん、予測画像生成に用いられた他の情報が用いられてもよい。また、この場合、空間的に異なるピクチャ、例えば視点の異なるピクチャが対応ピクチャとして用いられてもよい。もちろん、その他のピクチャが対応ピクチャとして用いられてもよい。
また、本実施の形態で示された符号化ユニット、予測ユニットおよび変換ユニットについてのサイズおよび形状は、例であって、これらのサイズおよび形状は、いかなるサイズおよび形状でも構わない。
(実施の形態3)
(3−1.概要)
まず、本実施の形態に係る画像処理装置の概要について説明する。本実施の形態に係る画像処理装置は、対応予測ユニットの予測パラメータを参照して、現予測ユニットの動きベクトルを算出する。その際、画像処理装置は、現予測ユニットを含む最大符号化ユニットに含まれる全ての予測ユニットの予測画像生成に必要な全ての予測パラメータを取得する。これにより、対応予測ユニットの予測パラメータを取得するためのメモリアクセス回数が減少する。したがって、復号処理全体が高速化する。
また、実施の形態1よりも、画像処理装置は、より多くの予測パラメータを投機的に取得する。そのため、メモリアクセス回数がさらに減少する。したがって、実施の形態1よりも復号処理が高速化する。
図17は、本実施の形態に係る画像処理装置によって、予測パラメータが転送される領域が示されている。本実施の形態では、転送の領域には、第1対応予測ユニットおよび第2対応予測ユニットが含まれる。さらに、最大符号化ユニットに対応するその他の領域が、転送の領域に含まれる。すなわち、第1対応予測ユニットの第1予測パラメータ、および、第2対応予測ユニットの第2予測パラメータだけではなく、最大符号化ユニットに対応するその他の予測パラメータもまとめて転送される。
(3−2.構成)
図1は、本実施の形態に係る画像処理装置の構成図である。図2は、本実施の形態に係る動き補償部506の周辺の構成図である。本実施の形態に係る画像処理装置の構成は、実施の形態1と全て同じであるので、説明を省略する。
(3−3.動作)
本実施の形態では、実施の形態1、2と同様に、図3A〜図5Bに示された符号化ストリームの構造が用いられる。本実施の形態に係る画像処理装置の動作フローは、図8および図9に示された実施の形態1の動作フローと同様であるので、説明を省略する。
図18は、本実施の形態に係る動きベクトル演算部511の動作を示すフローチャートである。以下、本実施の形態に係る動きベクトル演算部511の動作について図18を用いて説明する。
まず、動きベクトル演算部511は、現予測ユニットを含む最大符号化ユニットの座標およびサイズから、最大符号化ユニットに含まれる全ての予測ユニットについて、第1および第2の対応予測ユニットの位置を算出する。DMA制御部512は、フレームメモリ502から動きベクトル記憶部515へ、最大符号化ユニットに含まれる全ての予測ユニットに対応する全ての第1および第2の予測パラメータを転送する(S1300)。
次に、動きベクトル演算部511は、現予測ユニットについて、動きベクトル記憶部515の第1予測パラメータがイントラ予測を示すか否かを判定することにより、第1予測パラメータが利用可能であるか否かを判定する(S1301)。第1予測パラメータが利用可能である場合(S1301でYes)、動きベクトル演算部511は、第1予測パラメータを用いて動きベクトルを算出する(S1302)。
第2予測パラメータが利用可能でない場合(S1301でNo)、動きベクトル演算部511は、動きベクトル記憶部515の第2予測パラメータがイントラ予測を示すか否かを判定することにより、第2予測パラメータが利用可能であるか否かを判定する(S1303)。第2予測パラメータが利用可能である場合(S1303でYes)、動きベクトル演算部511は、第2予測パラメータを用いて動きベクトルを算出する(S1304)。
第2予測パラメータが利用可能でない場合(S1303でNo)、動きベクトル演算部511は、対応予測ユニットの予測パラメータから動きベクトルを算出しない(S1305)。
上記一連の処理(S1301〜S1305)が完了した後、動きベクトル演算部511は、現予測ユニットを含む最大符号化ユニットに含まれる全ての予測ユニットについて処理が完了しているか否かを判定する(S1306)。
そして、動きベクトル演算部511は、全ての予測ユニットについて処理が完了していない場合(S1306でNo)、一連の処理(S1301〜S1305)を再び実施する。全ての予測ユニットについて処理が完了している場合(S1306でYes)、動きベクトル演算部511は、最大符号化ユニットに含まれる全て予測ユニットについて、動きベクトルの算出を終了する。
以上の処理により、動きベクトル演算部511は、投機的に現予測ユニットを含む最大符号化ユニットに含まれる全ての予測ユニットの予測画像生成に用いられる可能性を有する全ての予測パラメータを取得する。これにより、フレームメモリ502の通信回数が減少する。また、メモリアクセスレイテンシによる処理遅延が減少する。
図19は、投機的に予測パラメータが転送される領域を示す。なお、現ピクチャの複数の予測ユニットの構成は、図11と同様である。そして、図19の太枠は、最大符号化ユニットを示す。また、図19には示されていないが、対応ピクチャの複数の予測ユニットの構成は、図16と同様である。そして、図16と同様、対応ピクチャのマップのように、座標位置と予測ユニット(その予測パラメータ)とが関連づけられている。
本実施の形態に係る画像処理装置は、現予測ユニットを含む最大符号化ユニットに含まれる予測ユニットの予測画像生成に用いられる可能性を有する全ての予測パラメータを転送する。図19のように、画像処理装置は、例えば、現ピクチャの予測ユニット1を処理する際に、対応ピクチャの予測ユニット1〜8、13、22、40〜42および47に対応する複数の予測パラメータを投機的に転送する。
これにより、現ピクチャの予測ユニット1を含む最大符号化ユニットに含まれる予測ユニット1〜16の動きベクトルの算出に参照される可能性を有する全ての予測パラメータが動きベクトル記憶部515に保持される。したがって、フレームメモリ502の通信回数が減少する。これにより、メモリアクセスレイテンシによる遅延時間が減少する。したがって、動きベクトル算出に必要な時間が減少する。
(3−4.効果)
このように、画像処理装置は、対応予測ユニットの予測パラメータを用いて動きベクトルを算出する場合、現予測ユニットを含む最大符号化ユニットに含まれる予測ユニットの参照画像生成に用いられる可能性を有する全ての予測パラメータを投機的に転送する。これにより、メモリアクセス回数が減少し、復号処理全体が高速化する。
(3−5.補足)
なお、本実施の形態では、動きベクトルの算出で参照される予測パラメータの数は、2つである。しかし、動きベクトルの算出で参照される予測パラメータの数は、3つ以上でもよい。
また、本実施の形態において、対応ピクチャにおける第1対応予測ユニットの位置は、現予測ユニットの右下の位置に対応する。また、対応ピクチャにおける第2対応予測ユニットの位置は、現予測ユニットの位置に対応する。しかし、各対応予測ユニットの位置は、必ずしもこの位置でなくてもよい。各対応予測ユニットの位置は、現予測ユニットの左下の位置、または、現予測ユニットの下の位置等のように、どのような位置でもよい。
また、各処理部の構成について、その一部あるいは全部が、専用ハードウェアによる回路で実現されてもよいし、プロセッサにより実行されるプログラムで実現されてもよい。
また、本実施の形態において、フレームメモリ502、動きベクトル記憶部515、参照画像記憶部513および予測画像記憶部514は、メモリまたは記憶部として示されている。これらは、データの記憶が可能な記憶素子であれば、メモリ、フリップフロップまたはレジスタなどいずれの構成でもよい。さらには、プロセッサのメモリ領域の一部、または、キャッシュメモリの一部が、フレームメモリ502、動きベクトル記憶部515、参照画像記憶部513および予測画像記憶部514として、用いられてもよい。
また、本実施の形態において、画像復号装置である画像処理装置が示されている。しかし、画像処理装置は、画像復号装置に限定されない。復号処理を逆の手順で実行する画像符号化装置も、同様に、予測パラメータの転送を行うことが可能である。
また、本実施の形態では、動き補償を例として記載されている。しかし、画像処理装置は、面内予測の場合でも、同様の処理を実行することで、同様の効果を得ることができる。なお、この場合、動きベクトルに代えて、面内予測モードが用いられてもよい。もちろん、予測画像生成に用いられた他の情報が用いられてもよい。また、この場合、空間的に異なるピクチャ、例えば視点の異なるピクチャが対応ピクチャとして用いられてもよい。もちろん、その他のピクチャが対応ピクチャとして用いられてもよい。
また、本実施の形態で示された符号化ユニット、予測ユニットおよび変換ユニットについてのサイズおよび形状は、例であって、これらのサイズおよび形状は、いかなるサイズおよび形状でも構わない。
(実施の形態4)
(4−1.概要)
まず、本実施の形態に係る画像処理装置の概要について説明する。本実施の形態に係る画像処理装置は、対応予測ユニットの予測パラメータを参照して、現予測ユニットの動きベクトルを算出する。その際、画像処理装置は、空間的に隣接する複数の予測ユニットの予測画像生成に用いられた複数の予測パラメータをまとめて転送(保存)する。これにより、メモリアクセス回数が減少する。したがって、復号処理全体が高速化する。
実施の形態4では、実施の形態1、実施の形態2、および、実施の形態3とは異なり、予測パラメータを保存する際のメモリアクセス回数が減少する。これにより、復号処理全体が高速化する。また、画像処理装置は、処理順序によらず、空間的に隣接する複数の予測ユニットに対応する複数の予測パラメータを連続したアドレスに保存する。これにより、画像処理装置は、処理順序に関する情報を用いずに、予測パラメータを取得できる。したがって、予測パラメータを参照する際の演算量が削減される。
図20は、本実施の形態に係る画像処理装置によって、予測パラメータが転送される領域が示されている。本実施の形態では、現予測ユニットの予測画像生成に用いられた予測パラメータがフレームメモリへ転送される。その際、画像処理装置は、現予測ユニットの予測画像生成に用いられた予測パラメータを、他の予測ユニットの予測画像生成に用いられた予測パラメータと共にまとめてフレームメモリへ転送する。
(4−2.構成)
図1は、本実施の形態に係る画像処理装置の構成図である。図2は、本実施の形態に係る動き補償部506の周辺の構成図である。本実施の形態に係る画像処理装置の構成は、実施の形態1と全て同じであるので、説明を省略する。
(4−3.動作)
本実施の形態では、実施の形態1、2と同様に、図3A〜図5Bに示された符号化ストリームの構造が用いられる。本実施の形態に係る画像処理装置の動作フローは、図8および図9に示された実施の形態1の動作フローと同様であるので、説明を省略する。
図21は、本実施の形態に係る動きベクトル演算部511の動作を示すフローチャートである。本実施の形態に係る動きベクトル演算部511は、動きベクトルを算出して、算出された動きベクトルをフレームメモリ502に保存する。この時、より具体的には、動きベクトル演算部511は、算出された動きベクトルを含む予測パラメータを動きベクトル記憶部515に格納する。そして、動きベクトル演算部511は、DMA制御部512によって、動きベクトル記憶部515からフレームメモリ502へ、予測パラメータを転送する。
以下、本実施の形態に係る動きベクトル演算部511の上記の動作について図21を用いて詳細に説明する。なお、ここでは、最大符号化ユニットのサイズは、座標(0,0)〜座標(63,63)で構成される64x64画素であると仮定する。
まず、動きベクトル演算部511は、現予測ユニットの動きベクトルを算出する(S1400)。次に、動きベクトル演算部511は、最大符号化ユニットに含まれる全ての予測ユニットについて、動きベクトルの算出が完了したか否かを判定する(S1401)。最大符号化ユニットに含まれる全ての予測ユニットについて、動きベクトルの算出が完了していない場合(S1401でNo)、動きベクトル演算部511は、動きベクトルが算出されていない予測ユニットの動きベクトルを算出する(S1400)。
最大符号化ユニットに含まれる全ての予測ユニットについて動きベクトルの算出が完了している場合(S1401でYes)、動きベクトル演算部511は、最大符号化ユニットに対応する全ての予測パラメータを転送する(S1402〜S1405)。この時、動きベクトル演算部511は、DMA制御部512によって、次のように、予測パラメータを転送する。
まず、DMA制御部512は、最大符号化ユニットにおいて1行目の座標に対応する4つの予測パラメータをフレームメモリ502において連続するアドレスにまとめて転送する(S1402)。具体的には、DMA制御部512は、最大符号化ユニットにおける座標(0,0)の画素を含む予測ユニットの予測パラメータ、座標(16,0)の画素を含む予測ユニットの予測パラメータ、座標(32,0)の画素を含む予測ユニットの予測パラメータ、および、座標(48,0)の画素を含む予測ユニットの予測パラメータを転送する。
次に、DMA制御部512は、最大符号化ユニットにおいて2行目の座標に対応する4つの予測パラメータをフレームメモリ502において連続するアドレスにまとめて転送する(S1403)。具体的には、DMA制御部512は、最大符号化ユニットにおける座標(0,16)の画素を含む予測ユニットの予測パラメータ、座標(16,16)の画素を含む予測ユニットの予測パラメータ、座標(32,16)の画素を含む予測ユニットの予測パラメータ、および、座標(48,16)の画素を含む予測ユニットの予測パラメータを転送する。
次に、DMA制御部512は、最大符号化ユニットにおいて3行目の座標に対応する4つの予測パラメータをフレームメモリ502において連続するアドレスにまとめて転送する(S1404)。具体的には、DMA制御部512は、最大符号化ユニットにおける座標(0,32)の画素を含む予測ユニットの予測パラメータ、座標(16,32)の画素を含む予測ユニットの予測パラメータ、座標(32,32)の画素を含む予測ユニットの予測パラメータ、および、座標(48,32)の画素を含む予測ユニットの予測パラメータを転送する。
次に、DMA制御部512は、最大符号化ユニットにおいて4行目の座標に対応する4つの予測パラメータをフレームメモリ502において連続するアドレスにまとめて転送する(S1405)。具体的には、DMA制御部512は、最大符号化ユニットにおける座標(0,48)の画素を含む予測ユニットの予測パラメータ、座標(16,48)の画素を含む予測ユニットの予測パラメータ、座標(32,48)の画素を含む予測ユニットの予測パラメータ、および、座標(48,48)の画素を含む予測ユニットの予測パラメータを転送する。
DMA制御部512は、次の最大符号化ユニットについても、同様に、水平方向に並ぶ複数の座標に対応する複数の予測パラメータをフレームメモリ502において連続するアドレスに保存する。
この際、DMA制御部512は、前の最大符号化ユニットに対して水平方向に続けて、次の最大符号化ユニットの複数の予測パラメータをフレームメモリ502に保存する。例えば、DMA制御部512は、次の最大符号化ユニットの1行目に対応する4つの予測パラメータが前の最大符号化ユニットの1行目に対応する4つの予測パラメータにフレームメモリ502において連続するように、複数の予測パラメータを転送する。
以上の処理により、画像処理装置は、空間的に隣接する複数の予測ユニットの予測画像生成に用いられた複数の予測パラメータをまとめて保存する。これにより、予測ユニットの動きベクトルの保存において、メモリアクセス回数が減少する。したがって、復号処理全体が高速化する。
また、画像処理装置は、処理順序によらず、空間的に隣接する複数の予測ユニットに対応する複数の予測パラメータをフレームメモリ502において連続するアドレスに保存する。これにより、画像処理装置は、対応ピクチャの処理順序に関する情報を用いずに、予測パラメータを取得できる。
図22は、本実施の形態における予測パラメータの保存の例を示す図である。図22は、図11と同様の対応ピクチャが現ピクチャとして処理される場合の動作を示す。図22の例において、現ピクチャとして処理される対応ピクチャの1つ目の最大符号化ユニットに含まれる予測ユニット0の動きベクトルが算出された場合、1つ目の最大符号化ユニットに対応する全ての動きベクトルは算出されたと判定される。
そして、DMA制御部512は、最大符号化ユニット内の座標(0,0)、(16,0)、(32,0)、(48,0)に対応する4つの予測パラメータをフレームメモリ502において連続するアドレスに転送する。図22の例では、これらの4つの予測パラメータは、いずれも予測ユニット0に対応する予測パラメータである。
次に、DMA制御部512は、最大符号化ユニット内の座標(0,16)、(16,16)、(32,16)、(48,16)に対応する4つの予測パラメータをフレームメモリ502において連続するアドレスに転送する。図22の例では、これらの4つの予測パラメータは、いずれも予測ユニット0に対応する予測パラメータである。
次に、DMA制御部512は、最大符号化ユニット内の座標(0,32)、(16,32)、(32,32)、(48,32)に対応する4つの予測パラメータをフレームメモリ502において連続するアドレスに転送する。図22の例では、これらの4つの予測パラメータは、いずれも予測ユニット0に対応する予測パラメータである。
次に、DMA制御部512は、最大符号化ユニット内の座標(0,48)、(16,48)、(32,48)、(48,48)に対応する4つの予測パラメータをフレームメモリ502において連続するアドレスに転送する。図22の例では、これらの4つの予測パラメータは、いずれも予測ユニット0に対応する予測パラメータである。
さらに、図22の例において、対応ピクチャの2つ目の最大符号化ユニットに含まれる予測ユニット1〜7の動きベクトルが算出された場合、2つ目の最大符号化ユニットに対応する全ての動きベクトルが算出されたと判定される。
そして、DMA制御部512は、最大符号化ユニット内の座標(0,0)、(16,0)、(32,0)、(48,0)に対応する4つの予測パラメータをフレームメモリ502において連続するアドレスに転送する。これらの4つの予測パラメータは、順に、予測ユニット1の予測パラメータ、予測ユニット1の予測パラメータ、予測ユニット2の予測パラメータ、および、予測ユニット3の予測パラメータである。
DMA制御部512は、これらの4つの予測パラメータを1つ目の最大符号化ユニット内の座標(0,0)、(16,0)、(32,0)、(48,0)に対応する4つの予測パラメータのアドレスに続けてフレームメモリ502に保存する。
次に、DMA制御部512は、最大符号化ユニット内の座標(0,16)、(16,16)、(32,16)、(48,16)に対応する4つの予測パラメータをフレームメモリ502において連続するアドレスに転送する。これらの4つの予測パラメータは、順に、予測ユニット1の予測パラメータ、予測ユニット1の予測パラメータ、予測ユニット4の予測パラメータ、および、予測ユニット5の予測パラメータである。
DMA制御部512は、これらの4つの予測パラメータを1つ目の最大符号化ユニット内の座標(0,16)、(16,16)、(32,16)、(48,16)に対応する4つの予測パラメータのアドレスに続けてフレームメモリ502に保存する。
次に、DMA制御部512は、最大符号化ユニット内の座標(0,32)、(16,32)、(32,32)、(48,32)に対応する4つの予測パラメータをフレームメモリ502において連続するアドレスに転送する。これらの4つの予測パラメータは、順に、予測ユニット6の予測パラメータ、予測ユニット6の予測パラメータ、予測ユニット7の予測パラメータ、および、予測ユニット7の予測パラメータである。
DMA制御部512は、これらの4つの予測パラメータを1つ目の最大符号化ユニット内の座標(0,32)、(16,32)、(32,32)、(48,32)に対応する4つの予測パラメータのアドレスに続けてフレームメモリ502に保存する。
次に、DMA制御部512は、最大符号化ユニット内の座標(0,48)、(16,48)、(32,48)、(48,48)に対応する4つの予測パラメータをフレームメモリ502において連続するアドレスに転送する。これらの4つの予測パラメータは、順に、予測ユニット6の予測パラメータ、予測ユニット6の予測パラメータ、予測ユニット7の予測パラメータ、および、予測ユニット7の予測パラメータである。
DMA制御部512は、これらの4つの予測パラメータを1つ目の最大符号化ユニット内の座標(0,48)、(16,48)、(32,48)、(48,48)に対応する4つの予測パラメータのアドレスに続けてフレームメモリ502に保存する。
上記の手順を繰り返すことにより、図22の下段に示された対応ピクチャのマップのように、複数の予測ユニットに対応する複数の予測パラメータがフレームメモリ502に保存される。
これにより、空間的に隣接する複数の予測ユニットに対応する複数の予測パラメータが、連続するアドレスにまとめて保存される。したがって、後で、空間的に隣接する複数の予測ユニットに対応する複数の予測パラメータを取得することが容易になる。また、図22の下段のように、1つの予測ユニットに対応する1の予測パラメータが複製され、複数の座標位置に対応する複数の予測パラメータが生成される。これにより、後で、座標位置に応じて、予測パラメータを取得することが容易になる。
また、図22の例では、複数の予測パラメータが、16x16画素毎に保存される。図7のように、丸め処理が行われる場合、16x16画素毎に1つの予測パラメータが保存されればよい。したがって、16x16画素内の複数の予測ユニットに対応する複数の予測パラメータが、1つの予測パラメータに集約されて転送されてもよい。
(4−4.効果)
このように、画像処理装置は、空間的に隣接する複数の予測ユニットの予測画像生成に用いられた複数の予測パラメータをまとめて転送(保存)する。これにより、予測ユニットの予測パラメータを保存するためのメモリアクセス回数が減少する。したがって、復号処理全体が高速化する。
また、処理順序によらず、空間的に隣接する複数の予測ユニットに対応する複数の予測パラメータを連続するアドレスに保存する。これにより、画像処理装置は、対応ピクチャの処理順序に関する情報を用いずに、予測パラメータを取得できる。したがって、予測パラメータを参照する際の演算量が削減される。
(4−5.補足)
なお、本実施の形態では、まとめて転送される予測パラメータの数が4つである。しかし、まとめて転送される予測パラメータの数は、2つでもよいし、3つでもよいし、5つ以上でもよい。
また、本実施の形態に係る画像処理装置は、空間的に水平方向に隣接する複数の予測ユニットの予測画像生成に用いられた複数の予測パラメータを連続するアドレスに保存する。しかし、これらの複数の予測ユニットは、水平方向に限らず、空間的に隣接する複数の予測ユニットでもよい。例えば、これらの複数の予測ユニットは、空間的に垂直方向に隣接する複数の予測ユニットでもよい。
また、本実施の形態に係る最大符号化ユニットのサイズは64x64画素である。しかし、最大符号化ユニットのサイズは、このサイズに限られず、いかなるサイズでもよい。例えば、最大符号化ユニットのサイズは、32x32画素、16x16画素、または、64x32画素でもよい。
また、本実施の形態では、保存される予測パラメータに対応するデータ単位は、16x16画素である。しかし、保存のデータ単位は、16x16画素に限られず。いかなるサイズでもよい。例えば、保存のデータ単位は、8x8画素または4x4画素でもよい。
また、各処理部の構成について、その一部あるいは全部が、専用ハードウェアによる回路で実現されてもよいし、プロセッサにより実行されるプログラムで実現されてもよい。
また、本実施の形態において、フレームメモリ502、動きベクトル記憶部515、参照画像記憶部513および予測画像記憶部514は、メモリまたは記憶部として示されている。これらは、データの記憶が可能な記憶素子であれば、メモリ、フリップフロップまたはレジスタなどいずれの構成でもよい。さらには、プロセッサのメモリ領域の一部、または、キャッシュメモリの一部が、フレームメモリ502、動きベクトル記憶部515、参照画像記憶部513および予測画像記憶部514として、用いられてもよい。
また、本実施の形態において、画像復号装置である画像処理装置が示されている。しかし、画像処理装置は、画像復号装置に限定されない。復号処理を逆の手順で実行する画像符号化装置も、同様に、予測パラメータの転送を行うことが可能である。
また、本実施の形態では、動き補償を例として記載されている。しかし、画像処理装置は、面内予測の場合でも、同様の処理を実行することで、同様の効果を得ることができる。なお、この場合、動きベクトルに代えて、面内予測モードが用いられてもよい。もちろん、予測画像生成に用いられた他の情報が用いられてもよい。また、この場合、空間的に異なるピクチャ、例えば視点の異なるピクチャが対応ピクチャとして用いられてもよい。もちろん、その他のピクチャが対応ピクチャとして用いられてもよい。
また、本実施の形態で示された符号化ユニット、予測ユニットおよび変換ユニットについてのサイズおよび形状は、例であって、これらのサイズおよび形状は、いかなるサイズおよび形状でも構わない。
(実施の形態5)
実施の形態5は、実施の形態4の変形例である。本実施の形態に係る画像処理装置は、実施の形態4と同様の構成要素を備え、複数の予測ユニットの予測画像生成に用いられた複数の予測パラメータを動きベクトル記憶部515からフレームメモリ502へまとめて転送(保存)する。
本実施の形態に係る画像処理装置は、最大符号化ユニットの全ての予測ユニットの予測画像生成に用いられた複数の予測パラメータをまとめて転送する。また、本実施の形態に係る画像処理装置は、処理順序において連続する複数の予測ユニットの予測画像生成に用いられた複数の予測パラメータを連続するアドレスへ転送する。なお、この処理順序は、例えば、ピクチャに含まれる複数の予測ユニットが予め定められた一定の大きさである場合に適用される処理順序のように、予め定められた処理順序でもよい。
図23は、本実施の形態に係る動きベクトル演算部511の動作を示すフローチャートである。ここでは、実施の形態4と同様に、最大符号化ユニットのサイズは、座標(0,0)〜座標(63,63)で構成される64x64画素であると仮定する。
まず、動きベクトル演算部511は、現予測ユニットの動きベクトルを算出する(S1500)。次に、動きベクトル演算部511は、最大符号化ユニットに含まれる全ての予測ユニットについて、動きベクトルの算出が完了したか否かを判定する(S1501)。最大符号化ユニットに含まれる全ての予測ユニットについて、動きベクトルの算出が完了していない場合(S1501でNo)、動きベクトル演算部511は、動きベクトルが算出されていない予測ユニットの動きベクトルを算出する(S1500)。
最大符号化ユニットに含まれる全ての予測ユニットについて動きベクトルの算出が完了している場合(S1501でYes)、動きベクトル演算部511は、最大符号化ユニットに対応する全ての予測パラメータを転送する(S1502)。この時、動きベクトル演算部511は、処理順序において連続する複数の予測ユニットに対応する複数の予測パラメータをフレームメモリ502において連続するアドレスへ、DMA制御部512によって、転送する。
具体的には、DMA制御部512は、最大符号化ユニットにおいて16個の座標に対応する16個の予測パラメータをまとめてフレームメモリ502において連続するアドレスへ転送する。これらの16個の予測パラメータは、それぞれ、順に、座標(0,0)、(16,0)、(0,16)、(16,16)、(0,32)、(0,48)、(16,32)、(16,48)、(32,0)、(32,16)、(48,0)、(48,16)、(32,32)、(32,48)、(48,32)、(48,48)の予測ユニットに対応する。
DMA制御部512は、次の最大符号化ユニットについても、同様に、処理順序において連続する複数の予測ユニットに対応する複数の予測パラメータをフレームメモリ502において連続するアドレスに転送する。
この際、DMA制御部512は、前の最大符号化ユニットに続けて、次の最大符号化ユニットの複数の予測パラメータをフレームメモリ502に保存する。例えば、DMA制御部512は、次の最大符号化ユニットの座標(0,0)に対応する予測パラメータが前の最大符号化ユニットの座標(48,48)に対応する予測パラメータにフレームメモリ502において連続するように、複数の予測パラメータを転送する。
図24は、本実施の形態における予測パラメータの保存の例を示す図であって、図11と同様の対応ピクチャが現ピクチャとして処理される場合の動作を示す。図24の対応ピクチャの1つ目の最大符号化ユニットに含まれる予測ユニット0の動きベクトルが算出された場合、1つ目の最大符号化ユニットに対応する全ての動きベクトルは算出されたと判定される。
そして、DMA制御部512は、最大符号化ユニット内の16個の座標に対応する16個の予測パラメータをフレームメモリ502において連続するアドレスに転送する。図24の例では、これらの16個の予測パラメータは、いずれも予測ユニット0に対応する予測パラメータである。
さらに、図24の対応ピクチャの2つ目の最大符号化ユニットに含まれる予測ユニット1〜7の動きベクトルが算出された場合、2つ目の最大符号化ユニットに対応する全ての動きベクトルが算出されたと判定される。
そして、DMA制御部512は、最大符号化ユニット内の16個の座標に対応する16個の予測パラメータをフレームメモリ502において連続するアドレスに転送する。図24の例では、これらの16個の予測パラメータは、それぞれ、順に、予測ユニット1、1、1、1、2、3、4、5、6、6、6、6、7、7、7、7に対応する予測パラメータである。
DMA制御部512は、これらの16個の予測パラメータを1つ目の最大符号化ユニット内の座標(48,48)に対応する予測パラメータのアドレスに続けてフレームメモリ502に保存する。
上記の手順を繰り返すことにより、図24の下段に示された対応ピクチャのマップのように、複数の予測ユニットに対応する複数の予測パラメータがフレームメモリ502に保存される。
なお、本実施の形態では、最大符号化ユニット毎に、複数の予測パラメータが転送される。しかし、より細かいデータ単位毎に、複数の予測パラメータが転送されてもよい。そして、図24の対応ピクチャのマップに示されるように、それらが連続するアドレスに転送されてもよい。
図25は、本実施の形態に係る転送の領域の第1例を示す図である。図25は、対応ピクチャに対応する複数の予測パラメータがフレームメモリ502へ図23の手順で転送された後に、現ピクチャの予測ユニットの予測画像生成においてフレームメモリ502から転送される複数の予測パラメータを示す。なお、現ピクチャおよび対応ピクチャの構成は、図19の例と同様である。
図25の例において、画像処理装置は、現ピクチャの予測ユニット1を処理する際に、対応ピクチャの予測ユニット1〜14、22、40〜44、47に対応する複数の予測パラメータを投機的に転送する。予測ユニット1〜14の処理順序は連続する。また、予測ユニット40〜44の処理順序は連続する。したがって、これらの予測パラメータは、フレームメモリ502において連続するアドレスに保存されている。そのため、画像処理装置は、容易に、これらの予測パラメータをフレームメモリ502からまとめて転送できる。
なお、画像処理装置は、2番目の最大符号化ユニットの処理において転送される複数の予測パラメータのうち、1番目の最大符号化ユニットの処理において転送された予測パラメータの転送を省略してもよい。
図26は、本実施の形態に係る転送の領域の第2例を示す図である。図26の例は、図25の例と、ほぼ同様である。図26の例では、最大符号化ユニット毎に、複数の予測ユニットに対応する複数の予測パラメータが、フレームメモリ502から転送される。
図26の例において、画像処理装置は、現ピクチャの予測ユニット1を処理する際に、対応ピクチャの予測ユニット1〜23、40〜47に対応する複数の予測パラメータを投機的に転送する。予測ユニット1〜23の処理順序は連続する。また、予測ユニット40〜47の処理順序は連続する。したがって、これらの予測パラメータは、フレームメモリ502において連続するアドレスに保存されている。そのため、画像処理装置は、容易に、これらの予測パラメータをフレームメモリ502からまとめて転送できる。
図26の例では、画像処理装置は、フレームメモリ502から動きベクトル記憶部515へ複数の予測パラメータを最大符号化ユニット毎に転送し、動きベクトル記憶部515からフレームメモリ502へ複数の予測パラメータを最大符号化ユニット毎に転送する。これにより、転送回数が減少し、全体の処理が高速化する。
なお、図25の例と同様に、画像処理装置は、2番目の最大符号化ユニットの処理において転送される複数の予測パラメータのうち、1番目の最大符号化ユニットの処理において転送された予測パラメータの転送を省略してもよい。
以上のように、本実施の形態に係る画像処理装置は、最大符号化ユニットに含まれる全ての予測ユニットの予測画像生成に用いられた複数の予測パラメータをまとめて転送する。これにより、転送回数が減少し、全体の処理が高速化する。また、本実施の形態に係る画像処理装置は、処理順序において連続する複数の予測ユニットの予測画像生成に用いられた複数の予測パラメータを連続するアドレスへ転送する。これにより、後で、複数の予測パラメータをまとめて取得することが容易になる。
(実施の形態6)
本実施の形態に係る画像処理装置は、上述の複数の実施の形態で示された画像処理装置に係る特徴的な構成要素を備える。
図27Aは、本実施の形態に係る画像処理装置の構成を示す図である。図27Aに示された画像処理装置100は、ピクチャに含まれる予測ユニットの予測画像生成に用いられた予測パラメータを用いて、当該ピクチャとは異なるピクチャに含まれる予測ユニットの予測画像生成を行う。また、画像処理装置100は、2つの記憶部101、102、および、転送部110を備える。
記憶部101は、少なくともピクチャ1つ分に対応する複数の予測ユニットの予測画像生成に用いられた複数の予測パラメータを記憶するための記憶部である。記憶部101は、このような複数の予測パラメータを記憶可能な容量を有していてもよい。記憶部102は、複数の予測ユニットのうちの2つ以上の予測ユニットの予測画像生成に用いられた2つ以上の予測パラメータを記憶するための記憶部である。記憶部102は、このような2つ以上の予測パラメータを記憶可能な容量を有していてもよい。
例えば、記憶部101は、図2のフレームメモリ502に対応し、記憶部102は、図2の動きベクトル記憶部515に対応する。また、例えば、転送部110は、動きベクトル演算部511およびDMA制御部512に対応する。
図27Bは、図27Aに示された画像処理装置100の動作を示すフローチャートである。転送部110は、予測画像生成のための2つ以上の予測パラメータを記憶部101から記憶部102へ、または、予測画像生成に用いられた2つ以上の予測パラメータを記憶部102から記憶部101へ、まとめて転送する(S101)。
これにより、予測ユニットの情報の転送回数が減少する。したがって、予測ユニットの情報の転送に伴う処理負荷および処理遅延が減少する。
なお、転送部110は、それぞれが動きベクトルの情報を含む2つ以上の予測パラメータをまとめて転送してもよい。動きベクトルの情報は、動きベクトルが用いられなかったことを示す情報でもよい。それぞれがこのような情報を含む2つ以上の予測パラメータがまとめて転送されることにより、動きベクトルの情報が効率的に転送される。したがって、他の予測ユニットの動きベクトルを用いる場合の処理負荷および処理遅延が減少する。
例えば、転送部110は、予測画像生成のための2つ以上の予測パラメータを記憶部101から記憶部102へ、まとめて転送する。これにより、予測画像生成のための予測パラメータが効率的に転送される。したがって、予測画像生成のための予測パラメータの転送に伴う処理負荷および処理遅延が減少する。
また、転送部110は、予測ユニットの予測画像生成に用いられる可能性を有する2つ以上の予測パラメータを記憶部102へまとめて転送してもよい。これにより、予測パラメータの転送の繰り返しが抑制される。したがって、処理負荷および処理遅延が減少する。
また、転送部110は、第2予測ユニットの予測パラメータ、および、第3予測ユニットの予測パラメータを含む2つ以上の予測パラメータを記憶部102へまとめて転送してもよい。ここで、第2予測ユニットは、予測画像生成が行われる第1予測ユニットの右下の位置に対応する予測ユニットであり、第1予測ユニットを含む第1ピクチャとは異なる第2ピクチャに含まれる予測ユニットである。第3予測ユニットは、第1予測ユニットの位置に対応する予測ユニットであり、第2ピクチャに含まれる予測ユニットである。
これにより、右下の位置に対応する予測パラメータ、および、同一の位置に対応する予測パラメータが同時にまとめて転送される。したがって、転送回数が減少する。
また、転送部110は、予測ユニットの予測画像生成に用いられる可能性を有する予測パラメータと当該予測ユニットの予測画像生成に用いられる可能性を有しない予測パラメータとを含む2つ以上の予測パラメータを記憶部102へまとめて転送してもよい。これにより、1回の転送で、より多くの予測パラメータが転送される。したがって、予測パラメータの転送の繰り返しが抑制される。よって、処理負荷および処理遅延が減少する。
また、転送部110は、予め定められた最大符号化ユニットに含まれる全ての予測ユニットの予測画像生成のための2つ以上の予測パラメータを記憶部102へまとめて転送してもよい。これにより、最大符号化ユニットに含まれる複数の予測ユニットの予測画像生成において、転送の繰り返しが抑制される。したがって、処理負荷および処理遅延が減少する。
また、例えば、転送部110は、予測画像生成に用いられた2つ以上の予測パラメータを記憶部102から記憶部101へ、まとめて転送する。これにより、予測画像生成に用いられた予測パラメータが効率的に転送される。したがって、予測画像生成に用いられた予測パラメータの転送に伴う処理負荷および処理遅延が減少する。
また、転送部110は、空間的に互いに隣接する2つ以上の予測ユニットの予測画像生成に用いられた2つ以上の予測パラメータを記憶部102から記憶部101において連続するアドレスへ、まとめて転送してもよい。
これにより、複数の予測パラメータが連続するアドレスにまとめて転送される。まとめて転送された複数の予測パラメータは、空間的に隣接する複数の予測ユニットに対応する。したがって、後で、予測画像生成のための複数の予測パラメータとして、空間的に隣接する複数の予測ユニットに対応する複数の予測パラメータをまとめて転送することが容易になる。
また、転送部110は、空間的に水平方向に互いに隣接する2つ以上の予測ユニットの予測画像生成に用いられた2つ以上の予測パラメータを記憶部102から記憶部101において連続するアドレスへ、まとめて転送してもよい。これにより、後で、予測画像生成のための複数の予測パラメータとして、水平方向に隣接する複数の予測ユニットに対応する複数の予測パラメータをまとめて転送することが容易になる。
また、転送部110は、空間的に垂直方向に互いに隣接する2つ以上の予測ユニットの予測画像生成に用いられた2つ以上の予測パラメータを記憶部102から記憶部101において連続するアドレスへ、まとめて転送してもよい。これにより、後で、予測画像生成のための複数の予測パラメータとして、垂直方向に隣接する複数の予測ユニットに対応する複数の予測パラメータをまとめて転送することが容易になる。
また、転送部110は、予め定められた最大符号化ユニットに含まれる全ての予測ユニットの予測画像生成に用いられた2つ以上の予測パラメータを記憶部101へまとめて転送してもよい。これにより、最大符号化ユニットに含まれる複数の予測ユニットの予測画像生成において、転送の繰り返しが抑制される。したがって、処理負荷および処理遅延が減少する。
また、転送部110は、処理順序において連続する2つ以上の予測ユニットの予測画像生成に用いられた2つ以上の予測パラメータを記憶部102から記憶部101において連続するアドレスへ、まとめて転送してもよい。これにより、後で、予測画像生成のための複数の予測パラメータとして、処理順序で連続する複数の予測ユニットに対応する複数の予測パラメータをまとめて転送することが容易になる。
また、転送部110は、予測ユニットの予測画像生成に用いられた予測パラメータを複製することにより当該予測ユニットに含まれる等間隔の複数の座標位置に対応する複数の予測パラメータを生成してもよい。そして、転送部110は、生成された複数の予測パラメータのそれぞれを他の予測パラメータと共に2つ以上の予測パラメータとして記憶部102から記憶部101へ、まとめて転送してもよい。
これにより、予測ユニットに含まれる座標位置に対応する予測パラメータを後で予測画像生成のための予測パラメータとして転送することが容易になる。
(実施の形態7)
本実施の形態では、図27Aに示された画像処理装置100に、新たな構成要素が追加されている。
図28Aは、本実施の形態に係る画像処理装置の構成を示す図である。図28Aに示された画像処理装置200では、図27Aに示された画像処理装置100の構成要素に、予測画像生成部220が追加されている。例えば、予測画像生成部220は、図2の動きベクトル演算部511および動き補償部506に対応する。予測画像生成部220は、図1の面内予測部507に対応していてもよい。
図28Bは、図28Aに示された画像処理装置200の動作を示すフローチャートである。予測画像生成部220は、記憶部101から記憶部102へ転送された予測パラメータを用いて予測ユニットの予測画像生成を行う(S201)。これにより、転送された予測パラメータ、すなわち、入力された予測パラメータを用いて、適切に予測が行われる。
例えば、転送部110が、予測画像生成のための2つ以上の予測パラメータを記憶部101から記憶部102へまとめて転送した後、予測画像生成部220は、記憶部101から記憶部102へ転送された予測パラメータを用いて予測ユニットの予測画像生成を行う。
また、例えば、予測画像生成部220が、記憶部102へ転送された予測パラメータを用いて予測ユニットの予測画像生成を行った後、転送部110は、予測画像生成に用いられた2つ以上の予測パラメータを記憶部102から記憶部101へ、まとめて転送する。
なお、予測画像生成部220は、記憶部101から記憶部102へまとめて転送された2つ以上の予測パラメータのうちの1つを用いて予測ユニットの予測画像生成を行ってもよい。これにより、複数の予測パラメータのうちの1つが選択的に用いられる場合でも、複数の予測パラメータがまとめて転送されることにより、転送の繰り返しが抑制される。したがって、処理負荷および処理遅延が減少する。
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の画像処理装置などを実現するソフトウェアは、次のようなプログラムである。
すなわち、このプログラムは、コンピュータに、ピクチャに含まれる予測ユニットの予測画像生成に用いられた予測パラメータを用いて、当該ピクチャとは異なるピクチャに含まれる予測ユニットの予測画像生成を行う画像処理方法であって、(i)少なくともピクチャ1つ分に対応する複数の予測ユニットの予測画像生成に用いられた複数の予測パラメータを記憶するための第1記憶部から、前記複数の予測ユニットのうちの2つ以上の予測ユニットの予測画像生成に用いられた2つ以上の予測パラメータを記憶するための第2記憶部へ、予測画像生成のための前記2つ以上の予測パラメータを、または、(ii)前記第2記憶部から前記第1記憶部へ、予測画像生成に用いられた前記2つ以上の予測パラメータを、まとめて転送する転送ステップを含む画像処理方法を実行させる。
また、各構成要素は、回路でもよい。これらの回路は、全体として1つの回路を構成してもよいし、それぞれ別々の回路でもよい。また、これらの回路は、それぞれ、汎用的な回路でもよいし、専用の回路でもよい。
以上、一つまたは複数の態様に係る画像処理装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
例えば、特定の処理部が実行する処理を別の処理部が実行してもよい。また、処理を実行する順番が変更されてもよいし、複数の処理が並行して実行されてもよい。
また、本発明は、画像処理装置として実現できるだけでなく、画像処理装置を構成する処理手段をステップとする方法として実現できる。例えば、それらのステップは、コンピュータによって実行される。そして、本発明は、それらの方法に含まれるステップを、コンピュータに実行させるためのプログラムとして実現できる。さらに、本発明は、そのプログラムを記録したCD−ROM等の非一時的なコンピュータ読み取り可能な記録媒体として実現できる。
また、本発明に係る画像処理装置および画像処理方法は、画像符号化装置、画像復号装置、画像符号化方法および画像復号方法にも適用可能である。
また、画像処理装置に含まれる複数の構成要素は、集積回路であるLSI(Large Scale Integration)として実現されてもよい。これらの構成要素は、個別に1チップ化されてもよいし、一部または全部を含むように1チップ化されてもよい。例えば、メモリ以外の構成要素が、1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC(Integrated Circuit)、システムLSI、スーパーLSIまたはウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。プログラムすることが可能なFPGA(Field Programmable Gate Array)、または、LSI内部の回路セルの接続および設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて、画像処理装置に含まれる構成要素の集積回路化を行ってもよい。
(実施の形態8)
上記各実施の形態で示した画像符号化方法および画像復号方法の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
さらに、ここで、上記各実施の形態で示した画像符号化方法および画像復号方法の応用例とそれを用いたシステムを説明する。
図29は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106〜ex110が設置されている。
このコンテンツ供給システムex100では、電話網ex104、および、基地局ex106〜ex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が相互に接続される。また、各機器が、インターネットサービスプロバイダex102を介して、インターネットex101に接続されている。
しかし、コンテンツ供給システムex100は、図29のような構成に限定されず、いずれかの要素を組み合せて接続するようにしてもよい。また、固定無線局である基地局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および各機器が有するLSI(Large Scale Integration)ex500において実行される。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、画像符号化用のソフトウェアまたは画像復号用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化処理または復号処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画像データを送信してもよい。このときの動画像データは、携帯電話ex114が有するLSIex500で符号化処理されたデータである。
また、ストリーミングサーバex103は、複数のサーバまたは複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号し、再生することができ、特別な権利および設備を有さないユーザでも個人放送を実現できる。
なお、コンテンツ供給システムex100の例に限らず、図30に示すように、デジタル放送用システムex200にも、上記各実施の形態の画像処理装置を組み込むことができる。具体的には、放送局ex201では映像情報のビットストリームが電波を介して通信または衛星ex202に伝送される。このビットストリームは、上記各実施の形態で説明した画像符号化方法により符号化された符号化ビットストリームである。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信したビットストリームを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号して再生する。
また、記録媒体であるCDおよびDVD等の記録メディアex214に記録したビットストリームを読み取り、復号する再生装置ex212にも上記実施の形態で示した画像処理装置を実装することが可能である。この場合、再生された映像信号はモニタex213に表示される。
また、DVD、BD等の記録メディアex215に記録した符号化ビットストリームを読み取り復号する、または、記録メディアex215に映像信号を符号化し書き込むリーダ/レコーダex218にも上記各実施の形態で示した画像処理装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、符号化ビットストリームが記録された記録メディアex215により他の装置およびシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に画像処理装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に画像処理装置を組み込んでもよい。
図31は、上記各実施の形態で説明した画像復号方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像情報のビットストリームを取得または出力するチューナex301と、受信した符号化データを復調する、または外部に送信する符号化データに変調する変調/復調部ex302と、復調した映像データ、音声データを分離する、または符号化された映像データ、音声データを多重化する多重/分離部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〜ex321は図示しているように複数備えていてもよいし、1つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302および多重/分離部ex303の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
また、テレビex300は、放送および記録メディア等から音声データおよび映像データを取得する以外に、マイクおよびカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号処理、外部出力のみが可能な構成であってもよい。
また、リーダ/レコーダex218で記録メディアから符号化ビットストリームを読み出す、または、書き込む場合には、上記復号処理または符号化処理はテレビex300とリーダ/レコーダex218とのいずれで行ってもよいし、テレビex300とリーダ/レコーダex218とが互いに分担して行ってもよい。
一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を図32に示す。情報再生/記録部ex400は、以下に説明する要素ex401〜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はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
図33に光ディスクである記録メディア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の構成は例えば図31に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111および携帯電話ex114等でも考えられる。また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器および復号器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号器のみの受信端末という3通りの実装形式が考えられる。
このように、上記各実施の形態で示した画像符号化方法あるいは画像復号方法を上述したいずれの機器またはシステムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
(実施の形態9)
本実施の形態では、実施の形態1に示した画像処理装置を、典型的には半導体集積回路であるLSIとして実現する。実現した形態を図34に示す。フレームメモリ502をDRAM上に実現し、その他の回路およびメモリをLSI上に構成している。符号化ストリームを格納するビットストリームバッファをDRAM上に実現してもよい。
これらは個別に1チップ化されてもよいし、一部または全てを含むように1チップ化されても良い。ここではLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現しても良い。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、または、LSI内部の回路セルの接続および設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適応などが可能性として有り得る。
さらに加えて、本実施の形態の画像処理装置を集積化した半導体チップと、画像を描画するためのディスプレイとを組み合せて、様々な用途に応じた描画機器を構成することができる。携帯電話、テレビ、デジタルビデオレコーダー、デジタルビデオカメラおよびカーナビゲーション等における情報描画手段として、本発明を利用することが可能である。ディスプレイとしては、ブラウン管(CRT)の他、液晶、PDP(プラズマディスプレイパネル)および有機ELなどのフラットディスプレイ、プロジェクターを代表とする投射型ディスプレイなどと組み合わせることが可能である。
また、本実施の形態におけるLSIは、符号化ストリームを蓄積するビットストリームバッファ、および、画像を蓄積するフレームメモリ等を備えるDRAM(Dynamic Random Access Memory)と連携することにより、符号化処理または復号処理を行ってもよい。また、本実施の形態におけるLSIは、DRAMではなく、eDRAM(embeded DRAM)、SRAM(Static Random Access Memory)、または、ハードディスクなど他の記憶装置と連携しても構わない。
(実施の形態10)
上記各実施の形態で示した画像符号化装置、画像復号装置、画像処理装置、画像符号化方法、画像復号方法および画像処理方法は、典型的には集積回路であるLSIで実現される。一例として、図35に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex502〜ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
例えば、符号化処理を行う場合には、LSIex500は、AV I/Oex509によりマイクex117およびカメラex113等からAV信号の入力を受け付ける。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。蓄積したデータは、処理量および処理速度に応じて適宜複数回に分けるなどされ、信号処理部ex507に送られる。信号処理部ex507は、音声信号の符号化および/または映像信号の符号化を行う。ここで映像信号の符号化処理は、上記実施の形態で説明した符号化処理である。信号処理部ex507では、さらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex504から外部に出力する。この出力されたビットストリームは、基地局ex107に向けて送信されたり、または、記録メディアex215に書き込まれたりする。
また、例えば、復号処理を行う場合には、LSIex500は、マイコン(マイクロコンピュータ)ex502の制御に基づいて、ストリームI/Oex504によって、基地局ex107から得られた符号化データ、または、記録メディアex215から読み出して得た符号化データを一旦メモリex511等に蓄積する。マイコンex502の制御に基づいて、蓄積したデータは処理量および処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声データの復号および/または映像データの復号が行われる。ここで映像信号の復号処理は上記各実施の形態で説明した復号処理である。さらに、場合により復号された音声信号と復号された映像信号を同期して再生できるようそれぞれの信号を一旦メモリex511等に蓄積するとよい。復号された出力信号はメモリex511等を適宜介しながら、AVI/Oex509からモニタex219等に出力される。メモリex511にアクセスする際にはメモリコントローラex503を介する構成である。
なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、または、LSI内部の回路セルの接続および設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。