以下、発明を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(画像符号化装置)
2.第2の実施の形態(画像復号装置)
3.第3の実施の形態(パーソナルコンピュータ)
4.第4の実施の形態(テレビジョン受像機)
5.第5の実施の形態(携帯電話機)
6.第6の実施の形態(ハードディスクレコーダ)
7.第7の実施の形態(カメラ)
<1.第1の実施の形態>
[画像符号化装置]
図1は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
図1に示される画像符号化装置100は、例えば、H.264及びMPEG(Moving Picture Experts Group)4 Part10(AVC(Advanced Video Coding))(以下H.264/AVCと称する)方式で画像を符号化する符号化装置である。ただし、画像符号化装置100は、イントラ予測(画面内予測)の際に使用される隣接画素を所定の方法でサンプリングして(間引いて)記憶する。そして、画像符号化装置100は、そのサンプリングされた隣接画素を所定の方式に従って補間してからイントラ予測に使用する。
図1の例において、画像符号化装置100は、A/D(Analog / Digital)変換部101、画面並べ替えバッファ102、演算部103、直交変換部104、量子化部105、可逆符号化部106、および蓄積バッファ107を有する。また、画像符号化装置100は、逆量子化部108、逆直交変換部109、および演算部110を有する。さらに、画像符号化装置100は、デブロックフィルタ111、およびフレームメモリ112を有する。また、画像符号化装置100は、イントラ予測部114、動き予測補償部115、および選択部116を有する。さらに、画像符号化装置100は、レート制御部117を有する。
また、画像符号化装置100は、特徴量抽出部121、サンプリング実行決定部122、およびサンプリング方式決定部123を有する。
A/D変換部101は、入力された画像データをA/D変換し、画面並べ替えバッファ102に出力し、記憶させる。画面並べ替えバッファ102は、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、演算部103、イントラ予測部114、および動き予測補償部115に供給する。
演算部103は、画面並べ替えバッファ102から読み出された画像から、選択部116から供給される予測画像を減算し、その差分情報を直交変換部104に出力する。例えば、イントラ符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像にイントラ予測部114から供給される予測画像を加算する。また、例えば、インター符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像に動き予測補償部115から供給される予測画像を加算する。
直交変換部104は、演算部103からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部105に供給する。量子化部105は、直交変換部104が出力する変換係数を量子化する。量子化部105は、量子化された変換係数を可逆符号化部106に供給する。
可逆符号化部106は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。
可逆符号化部106は、イントラ予測を示す情報などをイントラ予測部114から取得し、インター予測モードを示す情報などを動き予測補償部115から取得する。なお、イントラ予測を示す情報は、以下、イントラ予測モード情報とも称する。また、インター予測を示す情報モードを示す情報は、以下、インター予測モード情報とも称する。
可逆符号化部106は、量子化された変換係数を符号化するとともに、フィルタ係数、イントラ予測モード情報、インター予測モード情報、および量子化パラメータなどを、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部106は、符号化して得られた符号化データを蓄積バッファ107に供給して蓄積させる。
例えば、可逆符号化部106においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
蓄積バッファ107は、可逆符号化部106から供給された符号化データを、一時的に保持し、所定のタイミングにおいて、H.264/AVC方式で符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
また、量子化部105において量子化された変換係数は、逆量子化部108にも供給される。逆量子化部108は、その量子化された変換係数を、量子化部105による量子化に対応する方法で逆量子化し、得られた変換係数を、逆直交変換部109に供給する。
逆直交変換部109は、供給された変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力は、演算部110に供給される。
演算部110は、逆直交変換部109より供給された逆直交変換結果、すなわち、復元された差分情報に、選択部116から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部110は、その差分情報にイントラ予測部114から供給される予測画像を加算する。また、たとえば、差分情報が、インター符号化が行われる画像に対応する場合、演算部110は、その差分情報に動き予測補償部115から供給される予測画像を加算する。
その加算結果は、デブロックフィルタ111またはイントラ予測部114に供給される。
デブロックフィルタ111は、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去するとともに、例えばウィナーフィルタ(Wiener Filter)を用いて適宜ループフィルタ処理を行うことにより画質改善を行う。デブロックフィルタ111は、各画素をクラス分類し、クラスごとに適切なフィルタ処理を施す。デブロックフィルタ111は、そのフィルタ処理結果をフレームメモリ112に供給する。
フレームメモリ112は、所定のタイミングにおいて、蓄積されている参照画像を動き予測補償部115に出力する。
イントラ予測部114は、画面内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部114は、複数のモード(イントラ予測モード)によりイントラ予測を行う。このイントラ予測モードには、演算部110から供給された、局所的な復号画像に基づいて予測画像を生成するモードがある。
なお、この局所的な復号画像は、デブロックフィルタ処理されていない画像である。以下においては、デブロックフィルタ111によりデブロックフィルタ処理され、フレームメモリ112に記憶される画素値と区別するために、局所的な復号画像の、このデブロックフィルタ処理前の画素値を再構成画素値と称する。すなわち、イントラ予測部114には、この再構成画素値が供給される。
この再構成画素値は、イントラ予測部114において、他のマクロブロックの予測処理の際に、その一部が隣接画素値として使用される。より具体的には、イントラ予測部114に供給されるマクロブロック単位の再構成画素値のうち、一番下の画素行と一番右の画素列の画素値が隣接画素値として使用される。
そこでイントラ予測部114は、演算部110から供給されるマクロブロック単位の再構成画素値のうち、一番下の画素行と一番右の画素列の画素値を保持する。イントラ予測部114は、1行分以上のマクロブロック(1マクロブロックライン以上)について、このように再構成画素値の一部を記憶する。
イントラ予測部114は、その記憶している再構成画素値を隣接画素値として用いながら後続のマクロブロックについてのイントラ予測処理を行う。
なお、この再構成画素値に対して、局所的な復号画像の、デブロックフィルタ111においてデブロックフィルタ処理され、フレームメモリ112に記憶される画素値を復号画素値と称する。この復号画素値は、参照画像として動き予測補償部115に供給される。
イントラ予測部114は、全てのイントラ予測モードで予測画像を生成し、各予測画像を評価し、最適なモードを選択する。イントラ予測部114は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、選択部116を介して演算部103や演算部110に供給する。
また、上述したように、イントラ予測部114は、採用したイントラ予測モードを示すイントラ予測モード情報等を、適宜可逆符号化部106に供給する。
動き予測補償部115は、インター符号化が行われる画像について、画面並べ替えバッファ102から供給される入力画像と、フレームメモリ112から供給される参照画像(復号画素値)とを用いて、動きベクトルを算出する。動き予測補償部115は、算出した動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。
動き予測補償部115は、候補となる全てのインター予測モードのインター予測処理を行い、予測画像を生成する。動き予測補償部115は、生成された予測画像を、選択部116を介して演算部103や演算部110に供給する。
動き予測補償部115は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報を可逆符号化部106に供給する。
選択部116は、イントラ符号化を行う画像の場合、イントラ予測部114の出力を演算部103に供給し、インター符号化を行う画像の場合、動き予測補償部115の出力を演算部103に供給する。
レート制御部117は、蓄積バッファ107に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
特徴量抽出部121は、A/D変換部101から出力される画像データの特徴量を抽出する。例えば、特徴量抽出部121は、画像データのヘッダ情報を参照したり、実データを解析したりして、画像の水平サイズおよびマクロブロックの垂直サイズのうち、少なくともいずれか一方を特定する。
特徴量抽出部121が抽出する画像の特徴の内容は任意である。例えば、特徴量抽出部121が、画像の内容(例えばテクスチャのパターンや複雑さ)を解析し、その内容を示す情報を生成するようにしてもよい。また、例えば、特徴量抽出部121が、画像のピクチャタイプ(Iピクチャ、Pピクチャ、若しくはBピクチャ)やスキャン方式を特定するようにしてもよい。
もちろん、特徴量抽出部121が、これら以外のパラメータを特徴量として抽出するようにしてもよいし、複数種類の特徴量を抽出するようにしてもよい。
特徴量抽出部121は、抽出した特徴量(画像の特徴を示す情報)を、サンプリング実行判定部122に供給する。
サンプリング実行決定部122は、供給された画像の特徴に応じて、イントラ予測部114が、隣接画素値として使用する再構成画素値をサンプリングしてから(間引いてから)記憶するか否かを決定し、再構成画素値のサンプリングを行うか否かを制御する制御情報を生成する。サンプリング実行決定部122は、画像の特徴量(画像の特徴を示す情報)とともに、生成した制御情報をサンプリング方式決定部123に供給する。
サンプリング方式決定部123は、制御情報に基づいてサンプリングを行うか否かを判定し、サンプリングが行われる場合、そのサンプリングの方法(サンプリング方式)を決定し、そのサンプリング方式を指定する制御情報を生成する。サンプリング方式決定部123は、画像の特徴量(画像の特徴を示す情報)とともに、生成した各種制御情報等をイントラ予測部114に供給する。
イントラ予想部114は、サンプリング方式判定部123から供給される制御情報に従って、再構成画素値のサンプリングを実行する。
[マクロブロック]
H.264/AVCにおけるマクロブロック内係数データのブロック分割は、輝度成分の場合、図2Aに示されるように4×4画素単位でのブロック分割(4×4ブロック)と、図2Bに示されるように8×8画素単位でのブロック分割(8×8ブロック)の2種類が定義されている。図2に示される各四角はブロック(4×4ブロック若しくは8×8ブロック)を示し、そのブロック内の数字はマクロブロック内のブロックスキャンの順序を示している。なお、色差成分については4×4画素単位でのブロック分割のみが定義されている。
[イントラ予測モード]
H.264/AVCにおけるイントラ予測では、4×4ブロック単位、8×8ブロック単位、およびマクロブロック単位でのイントラ予測方式が定義されている。
図3は、4×4ブロック単位でのイントラ予測であるイントラ4×4予測の予測モードを説明する図である。この場合、処理対象の4×4ブロックに対して、左、左上、上、右上の13画素の隣接再構成画素値がイントラ予測をするために使用される可能性がある。
図4は、8×8ブロック単位でのイントラ予測であるイントラ8×8予測の予測モードを説明する図である。この場合、処理対象の8×8ブロックに対して、左、左上、上、右上の25画素の隣接再構成画素がイントラ予測をするために使用される可能性がある。
なお、イントラ8×8予測においては、隣接再構成画素から予測画を生成する前段階の処理として、それぞれの画素に対して平滑化フィルタ処理が行われる。予測画の生成はフィルタ処理後の隣接再構成画素値から計算される。
図5は、マクロブロック単位でのイントラ予測であるイントラ16×16予測の予測モード、および予測に使用される隣接再構成画素を示したものである。この場合16×16ブロック(マクロブロック)に対して左、左上、上の33画素の隣接再構成画素がイントラ予測をするために使用される可能性がある。
色差成分については輝度成分とは独立したマクロブロック単位で予測モードが準備される。図6は色差フォーマット4:2:0の場合における色差成分のイントラ予測に使用される隣接再構成画素を示したものである。
図4乃至図6の各図において、白抜きの四角で示される画素が、処理対象マクロブロックの予測を行う画素である。これに対して、グレーの四角で示される画像は、そのイントラ予測を行うのに必要な隣接画素(再構成画素)である。つまり、イントラ予測部114は、図4乃至図6にグレーで示される画素値を記憶する必要がある。
したがって、例えば、画像の水平サイズやマクロブロックサイズが大きくなると、イントラ予測部114が記憶しなければならない再構成画素値のデータ量が増大する恐れがある。
[マクロブロック符号化順]
H.264/AVCでのインターレース画像の符号化処理においてマクロブロック アダプティブ フレーム・フィールド符号化処理を行う場合、マクロブロックの復号化順序が変化するため、保存に必要な画素数が増大する。
例えば、マクロブロック アダプティブ フレーム・フィールド符号化処理以外でのマクロブロックの処理順は、図7Aに示されるラスタースキャン順である。これに対して、マクロブロック アダプティブ フレーム・フィールド符号化処理の真っ黒ブロックの処理順は、図7Bに示される順序となる。
したがって、この場合、マクロブロックペアとして2ライン分の画素値を直下のマクロブロックペアのイントラ予測のため、メモリ領域あるいはラインバッファに保存しておく必要がある。同様に右端1ピクセル分の画素値についてもマクロブロックペア単位となるため、倍の32個の画素値を保存しておく必要がある。
このように、例えば、スキャン方式(マクロブロック処理順)によっても、イントラ予測部114が記憶しなければならない再構成画素値のデータ量が増大する恐れがある。
また、例えば、画像の内容(例えばエッジの有無やテクスチャの複雑さ)やピクチャタイプ等によって、サンプリングが与える復号画像への影響の大きさが異なる可能性がある。
そこで、サンプリング実行決定部122は、画像の特徴に応じて、イントラ予測部114に、記憶する再構成画素値のサンプリングを行わせるか否かを決定する。
例えば、符号化する画像の水平方向のサイズ(水平サイズ)が所定の閾値より大きい場合、サンプリング実行決定部122は、イントラ予測部114が記憶するデータ量の増大を抑制させるために、再構成画素値のサンプリングを実行させることを決定し、その旨を指示する制御情報を生成する。逆に、画像の水平サイズが所定の閾値以下である場合、サンプリング実行決定部122は、不要な画質劣化を抑制するために、再構成画素値のサンプリングを実行させないことを決定し、その旨を指示する制御情報を生成する。
また、例えば、マクロブロックの垂直方向のサイズ(垂直方向のマクロブロックサイズ)が所定の閾値より大きい場合(例えば拡張マクロブロックの場合)、サンプリング実行決定部122は、イントラ予測部114が記憶するデータ量の増大を抑制させるために、再構成画素値のサンプリングを実行させることを決定し、その旨を指示する制御情報を生成する。逆に、垂直方向のマクロブロックサイズが所定の閾値以下である場合(例えば16×16画素以下のマクロブロックの場合)、サンプリング実行決定部122は、不要な画質劣化を抑制するために、再構成画素値のサンプリングを実行させないことを決定し、その旨を指示する制御情報を生成する。
さらに、例えば、マクロブロックの処理順がラスタスキャン順でない場合、サンプリング実行決定部122は、イントラ予測部114が記憶するデータ量の増大を抑制させるために、再構成画素値のサンプリングを実行させることを決定し、その旨を指示する制御情報を生成する。逆に、マクロブロックの処理順がラスタスキャン順である場合、サンプリング実行決定部122は、不要な画質劣化を抑制するために、再構成画素値のサンプリングを実行させないことを決定し、その旨を指示する制御情報を生成する。
また、例えば、画像に含まれるエッジ成分や、テクスチャの複雑さや、テクスチャの変化の頻度等が、所定の基準以下である場合、サンプリング実行決定部122は、イントラ予測部114が記憶するデータ量の増大を抑制させるために、再構成画素値のサンプリングを実行させることを決定し、その旨を指示する制御情報を生成する。逆に、所定の基準より、画像にエッジ成分が多数含まれていたり、テクスチャが複雑であったり、テクスチャの変化の頻度が多かったりする場合、サンプリング実行決定部122は、不要な画質劣化を抑制するために、再構成画素値のサンプリングを実行させないことを決定し、その旨を指示する制御情報を生成する。
さらに、例えば、ピクチャタイプがPピクチャやBピクチャの場合、サンプリングが復号画像に与える視覚的影響が比較的小さいので、サンプリング実行決定部122は、イントラ予測部114が記憶するデータ量を低減させるために、再構成画素値のサンプリングを実行させることを決定し、その旨を指示する制御情報を生成する。逆に、ピクチャタイプがIピクチャである場合、サンプリング実行決定部122は、サンプリングが復号画像に与える視覚的影響が比較的大きいので、再構成画素値のサンプリングを実行させないことを決定し、その旨を指示する制御情報を生成する。
もちろん、サンプリング実行決定部122が、これら以外の判断基準に従ってサンプリングを実行するか否かを決定するようにしてもよい。
同様に、サンプリング方式決定部123は、画像の特徴に応じて、イントラ予測部114に、記憶する再構成画素値をどの程度の割合でサンプリングさせるかを決定する。
例えば、サンプリング方式決定部123は、符号化する画像の水平方向のサイズ(水平サイズ)が大きいほど、イントラ予測部114が記憶するデータ量の増大をより強く抑制するように、サンプリングする画素数を低減させる(間引く画素数を増大させる)ことを決定し、その旨を指示する制御情報を生成する。
また、例えば、サンプリング方式決定部123は、マクロブロックの垂直方向のサイズ(垂直方向のマクロブロックサイズ)が大きいほど、イントラ予測部114が記憶するデータ量の増大をより強く抑制するように、サンプリングする画素数を低減させる(間引く画素数を増大させる)ことを決定し、その旨を指示する制御情報を生成する。
さらに、例えば、サンプリング方式決定部123は、マクロブロックの処理順がラスタスキャン順でない場合、イントラ予測部114が記憶するデータ量の増大をより強く抑制するように、サンプリングする画素数を低減させる(間引く画素数を増大させる)ことを決定し、その旨を指示する制御情報を生成する。逆に、マクロブロックの処理順がラスタスキャン順である場合、サンプリング方式決定部123は、できるだけ不要な画質劣化を抑制するように、サンプリングする画素数を増大させる(間引く画素数を低減させる)ことを決定し、その旨を指示する制御情報を生成する。
また、例えば、サンプリング方式決定部123は、画像に含まれるエッジ成分の数が多いほど、テクスチャがより複雑な程、若しくは、テクスチャの変化の頻度が多いほど、イントラ予測部114が記憶するデータ量の増大をより強く抑制するように、サンプリングする画素数を低減させる(間引く画素数を増大させる)ことを決定し、その旨を指示する制御情報を生成する。
さらに、例えば、サンプリング方式決定部123は、ピクチャタイプがPピクチャやBピクチャの場合、サンプリングが復号画像に与える視覚的影響が比較的小さいので、サンプリングする画素数を低減させる(間引く画素数を増大させる)ことを決定し、その旨を指示する制御情報を生成する。逆に、ピクチャタイプがIピクチャである場合、サンプリング方式決定部123は、サンプリングが復号画像に与える視覚的影響が比較的大きいので、できるだけ不要な画質劣化を抑制するように、サンプリングする画素数を増大させる(間引く画素数を低減させる)ことを決定し、その旨を指示する制御情報を生成する。
もちろん、サンプリング方式決定部123が、これら以外の判断基準に従ってサンプリングする程度を決定するようにしてもよい。
なお、サンプリング方式決定部123は、サンプリングの方式(間引く度合い)だけでなく、サンプリングされた再構成画素値(隣接画素値)の補間方式(方法)も決定し、その補間方式を指定する制御情報を生成し、その制御情報をイントラ予測部114に供給する。
イントラ予測部114は、サンプリングされた再構成画素値を使用する際、間引かれた画素値を補間してから使用する。この補間方法は任意である。サンプリング方式決定部123は、例えば画像の内容や装置の処理能力等に応じて、補間方法を決定する。
[イントラ予測部の構成]
図8は、図1のイントラ予測部114の主な構成例を示すブロック図である。図8に示されるように、イントラ予測部114は、サンプリング部151、再構成画素記憶部152、隣接画素再構成部153、および予測画生成部154を有する。イントラ予測部114は、さらに、コスト関数算出部155、およびモード判定部156を有する。
サンプリング部151は、サンプリング方式決定部123から供給されるサンプリングを実行するか否かを示す制御情報とサンプリング方式を示す制御情報とを取得し、それらの制御情報に従って、演算部110から供給される再構成画素値のうち、隣接画素として後続のマクロブロックの処理に用いる画素値に対してサンプリング(間引き)を行う。サンプリング部151は、制御情報に基づいてサンプリングされた再構成画素値(サンプリング部151が間引いて残った再構成画素値)、若しくは制御情報に基づいてサンプリングされなかった再構成画素値を再構成画素記憶部152に供給する。
再構成画素記憶部152は、サンプリング部151から供給される再構成画素値を記憶する。隣接画素再構成部153は、処理対象マクロブロックの隣接画素の画素値を、再構成画素記憶部152から読み出す。この読み出された画素値がサンプリング部151によりサンプリングされたものである場合、隣接画素再構成部153は、サンプリング方式決定部123から供給される制御情報により指定される補間方式で、その読みだされた画素値に対して補間処理を行い、間引かれた画素値を復元する。隣接画素再構成部153は、このように必要に応じて補間した隣接画素値を予測画生成部154に供給する。
予測画生成部154は、供給された隣接画素値を用いて、処理対象マクロブロックの予測画像を生成し、その予測画像をコスト関数算出部155に供給する。予測画生成部154は、全てのイントラ予測モードで予測画像を生成する。隣接画素再構成部153は、必要に応じて再構成画素記憶部152から再構成画素を読み出し、隣接画素値として予測画生成部154に供給する。
コスト関数算出部155は、予測画生成部154により生成された予測画像に対して、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対するコスト関数値を算出する。
ここで、コスト関数値としては、High Complexity モードか、Low Complexity モードのいずれかの手法に基づいて行う。これらのモードは、H.264/AVC方式における参照ソフトウエアであるJM(Joint Model)で定められている。
コスト関数算出部155は、以上のように算出したコスト関数値をモード判定部156に供給する。モード判定部156は、供給されたコスト関数値に基づいて、最適イントラ予測モードを選択する。すなわち、各イントラ予測モードの中から、コスト関数値が最小値であるモードを、最適イントラ予測モードとして選択する。
モード判定部156は、最適イントラ予測モードとして選択した予測モードの予測画像を、必要に応じて、選択部116を介して演算部103や演算部110に供給する。また、モード判定部156は、必要に応じて、その予測モードの情報を可逆符号化部106に供給する。
[サンプリング例および補間例]
次に、サンプリング方法および補間方法の例について説明する。
イントラ予測部114に供給されるマクロブロック毎の再構成画素のうち、後続のマクロブロックに対する予測画像生成に隣接画素として使用される画素は、マクロブロックの一番下の画素行と、一番右の画素列である。
サンプリング方法の第1の例は、これらのマクロブロックの一番下の画素行と一番右の画素列を、2画素に1画素の割合で間引く(1画素おきにサンプリングする)方法である。
この第1の例の方法でサンプリングされた再構成画素を隣接画素として使用する場合の例を図9に示す。図9に示される白抜きの四角はマクロブロックを分割するブロックを示す。つまり各四角がブロックを示し、四角群の外枠が処理対象のマクロブロックを示す。各四角の内部の数字はそのマクロブロック内における処理順(ブロック番号)を示す。グレーの四角は最初に処理されるブロック番号0のブロックの予測に使用される隣接画素の例を示している。この隣接画素は、上述した第1の例の方法によりサンプリングされている。
図9Aは、処理対象マクロブロック(輝度成分)をイントラ4×4予測モードでイントラ予測する場合の例を示している。図9Bは、処理対象マクロブロック(輝度成分)をイントラ8×8予測モードでイントラ予測する場合の例を示している。図9Cは、処理対象マクロブロック(輝度成分)をイントラ16×16予測モードでイントラ予測する場合の例を示している。図9Dは、処理対象マクロブロック(色差成分のCb)をイントラ予測する場合の例を示している。
図9に示されるように、イントラ予測処理対象マクロブロックの水平方向をx軸とし、垂直方向をy軸とし、マクロブロックの左上端を原点とする。最初のブロックのイントラ予測において隣接画素として使用される、間引かれずに保存された再構成画素の位置p(x,y)は、以下の式(1)乃至式(4)のように表すことができる。なお、式(1)は図9Aに対応し、式(2)は図9Bに対応し、式(3)は図9Cに対応し、式(4)は図9Dに対応する。
p(2n-1,-1) n=0..4, p(-1,2m-1) m=0..2 ・・・(1)
p(2n-1,-1) n=0..8, p(-1,2m-1) m=0..4 ・・・(2)
p(2n-1,-1) n=0..8, p(-1,2m-1) m=0..8 ・・・(3)
p(2n-1,-1) n=0..4, p(-1,2m-1) m=0..4 ・・・(4)
つまり、最初のブロックのイントラ予測の際に、隣接画素再構成部153は、上述した式(1)乃至式(4)のうち、イントラ予測モードに応じたいずれかの式で表される位置の再構成画素を隣接画素として再構成画素記憶部152から読み出す。
隣接画素再構成部153は、読みだした隣接画素に対して、例えば、以下の式(5)乃至式(8)に示されるような方法で補間処理を行う。
x=2n n=0,1,2.. の場合、
p'(x,-1)={p(x-1,-1)+p(x+1,-1)}/2 ・・・(5)
それ以外の場合、
p'(x,-1)=p(x,-1) ・・・(6)
y=2n n=0,1,2.. の場合、
p'(-1,y)={p(-1,y-1)+p(-1,y+1)}/2 ・・・(7)
それ以外の場合、
p'(-1,y)=p(-1,y) ・・・(8)
なお、補間処理方法の他の例としては、例えば、以下の式(9)乃至式(12)に示されるような方法も考えられる。このようにすることにより、演算量が低減され、補間処理の負荷が低減される。
x=2n n=0,1,2.. の場合、
p'(x,-1)=p(x-1,-1) ・・・(9)
それ以外の場合、
p'(x,-1)=p(x,-1) ・・・(10)
y=2n n=0,1,2.. の場合、
p'(-1,y)={p(-1,y-1) ・・・(11)
それ以外の場合、
p'(-1,y)=p(-1,y) ・・・(12)
もちろん、サンプリング方式決定部123が決定した方法であれば、これら以外の補間方法であってもよい。
なお、マクロブロック内においては、各ブロックのイントラ予測結果のうち、一番下の画素行と、一番右の画素列が、後続のブロックの予測処理に隣接画素として使用される。例えば、ブロック番号0のブロックの予測結果のうち、一番下の画素行は、ブロック番号2のブロックのイントラ予測処理において隣接画素として使用される。また、ブロック番号0のブロックの予測結果のうち、一番右の画素列は、例えば、ブロック番号1のブロックのイントラ予測処理において隣接画素として使用される。
しかしながら、これらの画素値は少量であり、かつ、保持される時間は短時間(そのマクロブロックの処理の間のみ)であるので、サンプリング部151は、これらの画素はサンプリングしない(間引かない)。
サンプリング方法の第2の例は、これらのマクロブロックの一番下の画素行のみを、2画素に1画素の割合で間引く(1画素おきにサンプリングする)方法である。
この第2の例の方法でサンプリングされた再構成画素を隣接画素として使用し、処理対象マクロブロック(輝度成分)をイントラ4×4予測モードでイントラ予測する場合の例を図10に示す。
この場合、最初のブロックのイントラ予測において隣接画素として使用される、間引かれずに保存された再構成画素の位置p(x,y)は、以下の式(13)のように表すことができる。
p(2n-1,-1) n=0..4, p(-1,m-1) m=0..4 ・・・(13)
ブロック番号0のブロックのイントラ予測においては、図10Aに示されるような位置の隣接画素が使用される。図10Aに示されるように、この場合、処理対象ブロック(ブロック番号0のブロック)の左に隣接する、垂直方向に並ぶ隣接画素は、隣接するマクロブロックの再構成画素であり、図9の例の場合では間引かれていたが、この例では間引かれていない。したがって、隣接画素再構成部153は、上側の隣接画素のみ補間してやればよい。
ブロック番号0のブロックの予測が終了すると、次に、図10Bに示されるように、ブロック番号1のイントラ予測処理が行われる。
ブロック番号1のブロックのイントラ予測においては、図10Bに示されるような位置の隣接画素が使用される。図10Bに示されるように、ブロック番号0のブロックの予測結果は間引かれない。したがって、隣接画素再構成部153は、上側の隣接画素のみ補間してやればよい。
ブロック番号1のブロックの予測が終了すると、次に、図10Cに示されるように、ブロック番号2のイントラ予測処理が行われる。
ブロック番号2のブロックのイントラ予測においては、図10Cに示されるような位置の隣接画素が使用される。つまり、ブロック番号0のブロックの予測結果の一番下の行と、ブロック番号1のブロックの予測結果の一番下の画素行とが隣接画素として使用されるので、これらの隣接画素は間引かれない。また、図10Aの場合と同様に、処理対象ブロック(ブロック番号2のブロック)の左に隣接する、垂直方向に並ぶ隣接画素は間引かれない。したがって、隣接画素再構成部153は、隣接画素の補間は行わない。
図10Dは、ブロック番号4のイントラ予測の場合、図10Eはブロック番号5のイントラ予測の場合の例をそれぞれ示している。これらの場合、隣接画素の位置が、図10Aや図10Bの場合と同様であるので、隣接画素再構成部153は、上側の隣接画素のみ補間してやればよい。
図11は、イントラ8×8予測モードでイントラ予測する場合の例を示す図である。
図11Aに示されるように、ブロック番号0のブロックで予測が行われると、図11Bに示されるように、ブロック番号1のブロックで予測が行われ、次に、図11Cに示されるように、ブロック番号2のブロックで予測が行われ、最後に、図11Dに示されるように、ブロック番号3のブロックで予測が行われる。
この場合、図11Aおよび図11Bに示されるように、ブロック番号0とブロック番号1の予測処理においては、隣接画素再構成部153は、上側の隣接画素のみ補間する。これに対して、図11Cおよび図11Dに示されるように、ブロック番号2とブロック番号3の予測処理においては、隣接画素再構成部153は、隣接画素の補間を行わない。
この方式により、画像符号化装置100は、マクロブロックの最下1ラインを保存するメモリ領域ないしはラインバッファの容量を削減しつつ、それ以外の画素は従来の方式と同数の隣接再構成画素を保存することにより画質の劣化を抑えることができる。
サンプリング方法の第3の例は、マクロブロックの一番下の画素行のみを、4画素に3画素の割合で間引く(3画素おきにサンプリングする)方法である。
この第3の例の方法でサンプリングされた再構成画素を隣接画素として使用する場合の例を図12に示す。
図12Aは、処理対象マクロブロック(輝度成分)をイントラ4×4予測モードでイントラ予測する場合の例を示している。図12Bは、処理対象マクロブロック(輝度成分)をイントラ8×8予測モードでイントラ予測する場合の例を示している。図12Cは、処理対象マクロブロック(輝度成分)をイントラ16×16予測モードでイントラ予測する場合の例を示している。
図12に示されるように、最初のブロックのイントラ予測において隣接画素として使用される、間引かれずに保存された再構成画素の位置p(x,y)は、以下の式(14)乃至式(17)のように表すことができる。なお、式(14)は図12Aに対応し、式(15)は図12Bに対応し、式(16)は図12Cに対応する。
p(4n-1,-1) n=0..2, p(-1,4m-1) m=0,1 ・・・(14)
p(4n-1,-1) n=0..4, p(-1,4m-1) m=0..2 ・・・(15)
p(4n-1,-1) n=0..4, p(-1,4m-1) m=0..4 ・・・(16)
p(4n-1,-1) n=0..2, p(-1,4m-1) m=0..2 ・・・(17)
この場合、隣接画素再構成部153は、は、例えば、以下の式(18)乃至式(25)に示されるように間引かれた隣接画素を補間する。
x=4n n=0,1,2.. の場合、
p'(x,-1)={p(x-1,-1)×3+p(x+3,-1)}/4 ・・・(18)
x=4n+1 n=0,1,2.. の場合、
p'(x,-1)={p(x-2,-1)+p(x+2,-1)}/2 ・・・(19)
x=4n+2 n=0,1,2.. の場合、
p'(x,-1)={p(x-3,-1)+p(x+1,-1)×3}/2 ・・・(20)
それ以外の場合、
p'(x,-1)=p(x,-1) ・・・(21)
y=4n n=0,1,2.. の場合、
p'(-1,y)={p(-1,y-1)×3+p(-1,y+3)}/4 ・・・(22)
y=4n+1 n=0,1,2.. の場合、
p'(-1,y)={p(-1,y-2)+p(-1,-y+2)}/2 ・・・(23)
y=4n+2 n=0,1,2.. の場合、
p'(-1,y)={p(-1,y-3)+p(-1,y+1)×3}/4 ・・・(24)
それ以外の場合、
p'(-1,y)=p(-1,y) ・・・(25)
この方式は間引きかれる画素の量が多くなるため、前述の方式にくらべて符号化効率は劣化する可能性があるが、隣接画素を保存する必要なメモリ領域ないしはラインバッファの容量は大きく削減することができる。
以上のように、隣接画素再構成部153は、再構成画素記憶部152に記憶されている再構成画素が間引かれている場合のみ、適切な方法で隣接画素を補間する。これにより、予測画生成部154は、どのような方法で再構成画素がサンプリングされていても、適切に予測画像を生成することができる。
[符号化処理]
次に、以上のような画像符号化装置100により実行される各処理の流れについて説明する。最初に、図13のフローチャートを参照して、符号化処理の流れの例を説明する。
ステップS101において、A/D変換部101は入力された画像をA/D変換する。ステップS102において、特徴量抽出部121は、A/D変換された画像についての特徴量を抽出する。ステップS103において、サンプリング実行決定部122は、画像の特徴量として抽出された、画像の水平サイズおよび垂直方向のマクロブロックサイズのうち、少なくともいずれか一方に基づいて、再構成画素値のサンプリングを行うか否かを決定する。
ステップS104において、サンプリング方式決定部123は、ステップS103においてサンプリングを行うと判定された場合、画像の特徴量として抽出された、画像の水平サイズおよび垂直方向のマクロブロックサイズのうち、少なくともいずれか一方に基づいて、そのサンプリング方式を決定する。
ステップS105において、画面並べ替えバッファ102は、A/D変換部101から供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
ステップS106において、イントラ予測部114および動き予測補償部115は、それぞれ画像の予測処理を行う。すなわち、ステップS106において、イントラ予測部114は、イントラ予測モードのイントラ予測処理を行う。動き予測補償部115は、インター予測モードの動き予測補償処理を行う。
ステップS107において、選択部116は、イントラ予測部114および動き予測補償部115から出力された各コスト関数値に基づいて、最適予測モードを決定する。つまり、選択部116は、イントラ予測部114により生成された予測画像と、動き予測補償部115により生成された予測画像のいずれか一方を選択する。
また、この予測画像の選択情報は、イントラ予測部114または動き予測補償部115に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部114は、最適イントラ予測モードを示す情報(すなわち、イントラ予測モード情報)を、可逆符号化部106に供給する。
なお、イントラ予測において再構成画素のサンプリングを行う場合、イントラ予測部114は、サンプリングを実行する旨の通知と、サンプリング方式や補間方式の指定とを含む情報を可逆符号化部106に供給する。
最適インター予測モードの予測画像が選択された場合、動き予測補償部115は、最適インター予測モードを示す情報と、必要に応じて、最適インター予測モードに応じた情報を可逆符号化部106に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報やフラグ情報、参照フレーム情報などがあげられる。
ステップS108において、演算部103は、ステップS105で並び替えられた画像と、ステップS106の予測処理により得られた予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測補償部115から、イントラ予測する場合はイントラ予測部114から、それぞれ選択部116を介して演算部103に供給される。
差分データは元の画像データに較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
ステップS109において、直交変換部104は演算部103から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップS110において、量子化部105は変換係数を量子化する。
ステップS111において、可逆符号化部106は量子化部105から出力された量子化された変換係数を符号化する。すなわち、差分画像(インターの場合、2次差分画像)に対して、可変長符号化や算術符号化等の可逆符号化が行われる。
なお、可逆符号化部106は、ステップS104の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データのヘッダ情報に付加する。
つまり、可逆符号化部106は、イントラ予測部114から供給されるイントラ予測モード情報、または、動き予測補償部115から供給される最適インター予測モードに応じた情報なども符号化し、ヘッダ情報に付加する。また、可逆符号化部106は、イントラ予測部114からサンプリングを実行する旨の通知や、サンプリング方式や補間方式の指定等が供給される場合、それらの情報も、符号化データのヘッダ情報等に付加する。
ステップS112において蓄積バッファ107は、可逆符号化部106から出力される符号化データを蓄積する。蓄積バッファ107に蓄積された符号化データは、適宜読み出され、伝送路を介して復号側に伝送される。
ステップS113においてレート制御部117は、蓄積バッファ107に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
また、ステップS110の処理により量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS114において、逆量子化部108は量子化部105により量子化された変換係数を量子化部105の特性に対応する特性で逆量子化する。ステップS115において、逆直交変換部109は、逆量子化部108により逆量子化された変換係数を直交変換部104の特性に対応する特性で逆直交変換する。
ステップS116において、演算部110は、選択部116を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部103への入力に対応する画像)である再構成画素を生成する。
ステップS117において、イントラ予測部114は、ステップS116において生成された再構成画素を記憶する。
ステップS118においてデブロックフィルタ111は、演算部110から出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップS119においてフレームメモリ112は、フィルタリングされた画像を記憶する。
[予測処理]
次に、図14のフローチャートを参照して、図13のステップS106において実行される予測処理の流れの例を説明する。
ステップS131において、イントラ予測部114は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。
画面並べ替えバッファ102から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ112から読み出され、動き予測補償部115に供給される。これらの画像に基づいて、ステップS132において、動き予測補償部115はインター動き予測処理を行う。すなわち、動き予測補償部115は、フレームメモリ112から供給される画像を参照して、候補となる全てのインター予測モードの動き予測処理を行う。
ステップS133において、動き予測補償部115は、ステップS132において算出されたインター予測モードに対してのコスト関数値の中から、最小値を与える予測モードを、最適インター予測モードとして決定する。そして、動き予測補償部115は、インター処理する画像と最適インター予測モードで生成された2次差分情報との差分、および最適インター予測モードのコスト関数値を、選択部116に供給する。
[イントラ予測処理]
図15は、図14のステップS131において実行されるイントラ予測処理の流れの例を説明するフローチャートである。
イントラ予測処理が開始されると、ステップS151において、隣接画素再構成部153は、サンプリング方式決定部123の指定に従って補間方法を決定する。ステップS152において、予測画生成部154は、未処理の予測モードの中から実行する予測モードを選択する。ステップS153において、隣接画素再構成部153は、ステップS152において選択された予測モードに応じて隣接画素を再構成画素記憶部152から読み出す。
ステップS154において、隣接画素再構成部153は、読み出した隣接画素に対して必要に応じて補間処理を行い、予測に用いる隣接画素を再構成する。ステップS155において、予測画生成部154は、ステップS154において再構成された隣接画素を用いて予測画像を生成する。
ステップS156において、予測画生成部154は、全ての予測モードで予測画像を生成したか否かを判定し、予測画像を生成していない予測モードが存在すると判定された場合、処理をステップS152に戻し、それ以降の処理を繰り返す。
つまり、ステップS152乃至ステップS156の処理が繰り返されることにより、予測画生成部154は、全ての予測モードにより予測画像を生成する。ステップS156において全ての予測モードで予測画像が生成されたと判定された場合、予測画生成部154は、処理をステップS157に進める。
ステップS157において、コスト関数算出部155は、各予測モードについて、コスト関数値を算出する。
ステップS158において、モード判定部156は、ステップS157の処理により算出された各モードのコスト関数値に基づいて、各イントラ予測モードに対して最適モードを決定する。
ステップS159において、モード判定部156は、ステップS157の処理により算出された各モードのコスト関数値に基づいて、最適イントラ予測モードを選択する。
モード判定部156は、最適イントラ予測モードとして選択したモードで生成された予測画像を演算部103および演算部110に供給する。また、モード判定部156は、選択した予測モードを示す情報や、サンプリングを実行する旨の通知や、サンプリング方式や補間方式の指定等を可逆符号化部106に供給する。
ステップS159の処理が終わると、イントラ予測部114は、処理を図14に戻し、ステップS132以降の処理を実行させる。
[再構成画素記憶処理]
次に、図16のフローチャートを参照して、図13のステップS117において実行される再構成画素記憶処理の流れの例を説明する。
再構成画素記憶処理が開始されると、サンプリング部151は、ステップS171において、サンプリング方式決定部123から供給される通知に基づいて、再構成画素記憶部152に記憶させる再構成画素に対してサンプリングを行うか否かを判定する。サンプリングを行うと判定された場合、サンプリング部151は、処理をステップS172に進める。
ステップS172において、サンプリング部151は、サンプリング方式決定部123から供給される通知に基づいて、再構成画素に対するサンプリング方式を決定する。ステップS173において、サンプリング部151は、供給されるマクロブロック毎の再構成画素に対して、そのマクロブロックの右端および下端の画素をサンプリングする。
ステップS174において、再構成画素記憶部152は、ステップS173においてサンプリングされた再構成画素(間引かれて残った再構成画素)を記憶する。ステップS174の処理を終了すると、イントラ予測部114は、再構成画素記憶処理を終了し、処理を図13のステップS117に戻し、ステップS118に処理を進める。
また、図16のステップS171において、サンプリングを行わないと判定された場合、サンプリング部151は、処理をステップS175に進める。ステップS175において、再構成画素記憶部152は、供給されるマクロブロック毎の再構成画素のうち、そのマクロブロックの右端および下端の画素を全て記憶する。ステップS175の処理を終了すると、イントラ予測部114は、再構成画素記憶処理を終了し、処理を図13のステップS117に戻し、ステップS118に処理を進める。
以上のように、画像符号化装置100は、イントラ予測に利用される再構成画素をサンプリングすることにより、より少ないメモリ量で画面内予測を実現させることができる。これにより、画像符号化装置100は、装置の小型化を実現することが出来るとともに、コストや消費電力の低減も実現することができる。
なお、以上に説明した各ブロックのサイズは一例であり、上述した以外のサイズであってもよい。また、以上においては、サンプリングを実行する旨の通知や、サンプリング方式や補間方式の指定等を伝送する方法として、符号化データのヘッダ情報にこれらの情報を多重化するように説明したが、これらの情報の格納場所は任意である。例えば、これらの情報がSEI(Suplemental Enhancement Information)等のパラメータセット(例えばシーケンスやピクチャのヘッダ等)に格納されるようにしてもよい。またこれらの情報が、符号化データとは別に(別のファイルとして)、画像符号化装置から画像復号装置に伝送されるようにしてもよい。
なお、サンプリングを行うか否かの制御やその方法等の制御は、任意の処理単位毎に行われるようにしてもよい。例えば、ピクチャ単位毎に行われるようにしてもよいし、シーケンス単位毎に行われるようにしてもよい。もちろんこれら以外の処理単位毎に行われるようにしてもよい。
<2.第2の実施の形態>
[画像復号装置]
第1の実施の形態において説明した画像符号化装置100により符号化された符号化データは、所定の伝送路を介して、画像符号化装置100に対応する画像復号装置に伝送され、復号される。
以下に、その画像復号装置について説明する。図17は、本発明を適用した画像復号装置の主な構成例を示すブロック図である。
図17に示されるように、画像復号装置200は、蓄積バッファ201、可逆復号部202、逆量子化部203、逆直交変換部204、演算部205、デブロックフィルタ206、画面並べ替えバッファ207、およびD/A変換部208を有する。また、画像復号装置200は、フレームメモリ209、イントラ予測部211、動き予測補償部212、および選択部213をさらに有する。
蓄積バッファ201は、伝送されてきた符号化データを蓄積する。この符号化データは、画像符号化装置100により符号化されたものである。可逆復号部202は、蓄積バッファ201から所定のタイミングで読み出された符号化データを、図1の可逆符号化部106の符号化方式に対応する方式で復号する。
逆量子化部203は、可逆復号部202により復号されて得られた係数データを、図1の量子化部105の量子化方式に対応する方式で逆量子化する。逆量子化部203は、逆量子化された係数データを、逆直交変換部204に供給する。逆直交変換部204は、図1の直交変換部104の直交変換方式に対応する方式で、その係数データを逆直交変換し、画像符号化装置100において直交変換される前の残差データに対応する復号残差データを得る。
逆直交変換されて得られた復号残差データは、演算部205に供給される。また、演算部205には、選択部213を介して、イントラ予測部211若しくは動き予測補償部212から予測画像が供給される。
演算部205は、その復号残差データと予測画像とを加算し、画像符号化装置100の演算部103により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部205は、その復号画像データをイントラ予測部211およびデブロックフィルタ206に供給する。
デブロックフィルタ206は、復号された画像のブロック歪を除去した後、フレームメモリ209に供給し、蓄積させるとともに、画面並べ替えバッファ207にも供給する。
画面並べ替えバッファ207は、画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ102により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部208は、画面並べ替えバッファ207から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
イントラ予測部211には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報や、サンプリングを実行する旨の通知や、サンプリング方式や補間方式の指定等が可逆復号部202から適宜供給される。イントラ予測部211は、これらの情報に基づいて、必要に応じて隣接画素の補間処理を行い、予測画像を生成し、生成した予測画像を選択部213に供給する。
動き予測補償部212は、ヘッダ情報を復号して得られた情報(予測モード情報、動きベクトル情報、参照フレーム情報)を可逆復号部202から取得する。インター予測モードを示す情報が供給された場合、動き予測補償部212は、可逆復号部202からのインター動きベクトル情報に基づいてフレームメモリ209から参照画像を取得し、その参照画像や動きベクトル情報を用いて予測画像を生成し、生成した予測画像を選択部213に供給する。
選択部213は、動き予測補償部212またはイントラ予測部211により生成された予測画像を選択し、演算部205に供給する。
[イントラ予測部]
図18は、図17のイントラ予測部211の主な構成例を示すブロック図である。
図18に示されるように、イントラ予測部211は、制御部231、サンプリング部232、再構成画素記憶部233、隣接画素再構成部234、および予測画像生成部235を有する。
制御部231は、可逆復号部202から供給される予測モードや、サンプリングを実行する旨の通知や、サンプリング方式や補間方式の指定等に基づいて、サンプリング部232乃至予測画像生成部235の各部を制御し、画像符号化装置100のイントラ予測部114の場合と同様に、再構成画素のサンプリングや補間を実行させる。
サンプリング部232は、サンプリング部151と基本的に同様の構成を有し、基本的に同様の処理を行う。つまり、サンプリング部232は、制御部231の制御に従って、演算部205から供給される再構成画素に対して必要に応じてサンプリングを行い、サンプリングされた再構成画素値(サンプリング部232が間引いて残った再構成画素値)、若しくは制御情報に基づいてサンプリングされなかった再構成画素値を再構成画素記憶部233に供給する。
再構成画素記憶部233は、基本的に再構成画素記憶部152と同様の構成を有し、同様の処理を行う。つまり、再構成画素記憶部233は、制御部231に制御され、サンプリング部232から供給される再構成画素値を記憶する。
隣接画素再構成部234は、基本的に隣接画素再構成部153と同様の構成を有し、同様の処理を行う。つまり、隣接画素再構成部234は、制御部231に制御され、処理対象マクロブロックの隣接画素の画素値を、再構成画素記憶部233から読み出す。この読み出された画素値がサンプリング部232によりサンプリングされたものである場合、隣接画素再構成部234は、制御部231を介して供給される制御情報により指定される補間方式で、その読みだされた画素値に対して補間処理を行い、間引かれた画素値を復元する。隣接画素再構成部234は、このように必要に応じて補間した隣接画素値を予測画像生成部235に供給する。
予測画像生成部235は、基本的に予測画生成部154と同様の構成を有し、同様の処理を行う。つまり予測画像生成部235は、制御部231に制御されて、隣接画素再構成部234から供給された隣接画素値を用いて、処理対象マクロブロックの予測画像を生成し、その予測画像を演算部205に供給する。予測画像生成部235は、全てのイントラ予測モードでこのように予測画像を生成する。隣接画素再構成部234は、必要に応じて再構成画素記憶部233から再構成画素を読み出し、隣接画素値として予測画像生成部235に供給する。
つまり、画像復号装置200のイントラ予測部211においても、画像符号化装置100のイントラ予測部114の場合と同様のイントラ予測が行われるが、イントラ予測部211は、イントラ予測部114の場合と同様に、必要に応じて、そのイントラ予測において隣接画素として用いられる再構成画素に対するサンプリング(間引き)を行う。
このとき、画像復号装置200のイントラ予測部211は、画像符号化装置100から提供される、サンプリングを実行する旨の通知や、サンプリング方式や補間方式の指定等の情報に基づいて、画像符号化装置100において行われたのと同様のサンプリングや補間を行う。これにより、画像復号装置200は、画面内予測に必要なメモリ量を低減させることができる。
[復号処理]
次に、以上のような画像復号装置200により実行される各処理の流れについて説明する。最初に、図19のフローチャートを参照して、復号処理の流れの例を説明する。
復号処理が開始されると、ステップS201において、蓄積バッファ201は伝送されてきた符号化データを蓄積する。ステップS202において、可逆復号部202は、蓄積バッファ201から供給される符号化データを復号する。すなわち、図1の可逆符号化部106により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
このとき、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、またはインター予測モード)、フラグ情報、並びに、サンプリングを実行する旨の通知や、サンプリング方式や補間方式の指定等も復号される。
すなわち、予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部211に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報は、動き予測補償部212に供給される。
また、サンプリングを実行する旨の通知や、サンプリング方式や補間方式の指定等の情報は、イントラ予測部211に供給される。
ステップS203において、逆量子化部203は可逆復号部202により復号された変換係数を、図1の量子化部105の特性に対応する特性で逆量子化する。ステップS204において逆直交変換部204は逆量子化部203により逆量子化された変換係数を、図1の直交変換部104の特性に対応する特性で逆直交変換する。これにより図1の直交変換部104の入力(演算部103の出力)に対応する差分情報が復号されたことになる。
ステップS205において、イントラ予測部211、または動き予測補償部212は、可逆復号部202から供給される予測モード情報に対応して、それぞれ画像の予測処理を行う。
すなわち、可逆復号部202からイントラ予測モード情報が供給された場合、イントラ予測部211は、イントラ予測モードのイントラ予測処理を行う。また、可逆復号部202からサンプリングを実行する旨の通知や、サンプリング方式や補間方式の指定等も供給された場合、イントラ予測部211は、それらの情報を用いたイントラ予測処理(再構成画素のサンプリングや補間処理等を伴う画面内予測)を行う。
可逆復号部202からインター予測モード情報が供給された場合、動き予測補償部212は、インター予測モードの動き予測処理を行う。
ステップS206において、選択部213は予測画像を選択する。すなわち、選択部213には、イントラ予測部211により生成された予測画像、若しくは、動き予測補償部212により生成された予測画像が供給される。選択部213は、そのいずれか一方を選択する。選択された予測画像は、演算部205に供給される。
ステップS207において、演算部205は、ステップS204の処理により得られた差分情報に、ステップS206の処理により選択された予測画像を加算する。これにより元の画像データが復元される。
ステップS208において、イントラ予測部211は、ステップS207において復元された画像データである再構成画素を記憶する。
ステップS209において、デブロックフィルタ206は、演算部205から供給された復号画像データをフィルタリングする。これによりブロック歪みが除去される。
ステップS210において、フレームメモリ209は、フィルタリングされた復号画像データを記憶する。
ステップS211において、画面並べ替えバッファ207は、復号画像データのフレームの並べ替えを行う。すなわち、復号画像データの、画像符号化装置100の画面並べ替えバッファ102(図1)により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
ステップS212において、D/A変換部208は、画面並べ替えバッファ207においてフレームが並べ替えられた復号画像データをD/A変換する。この復号画像データが図示せぬディスプレイに出力され、その画像が表示される。
[予測処理]
次に図20のフローチャートを参照して、図19のステップS205において実行される予測処理の流れの例を説明する。
予測処理が開始されると、可逆復号部202は、イントラ予測モード情報に基づいて、イントラ符号化されているか否かを判定する。イントラ符号化されていると判定した場合、可逆復号部202は、イントラ予測モード情報をイントラ予測部211に供給し、処理をステップS232に進める。なお、サンプリングを実行する旨の通知や、サンプリング方式や補間方式の指定等が存在する場合、可逆復号部202は、それらの情報もイントラ予測部211に供給する。
ステップS232において、イントラ予測部211は、イントラ予測処理を行う。イントラ予測処理が終了すると、画像復号装置200は、処理を図19のステップS205に戻し、ステップS206以降の処理を実行させる。
また、ステップS231において、インター符号化されていると判定された場合、可逆復号部202は、インター予測モード情報を動き予測補償部212に供給し、処理をステップS233に進める。
ステップS233において、動き予測補償部212は、インター動き予測補償処理を行う。インター動き予測補償処理が終了すると、画像復号装置200は、処理を図19のステップS205に戻し、ステップS206以降の処理を実行させる。
[イントラ予測処理]
次に、図21のフローチャートを参照して、図20のステップS232において実行されるイントラ予測処理の流れの例を説明する。
イントラ予測処理が開始されると、隣接画素再構成部234は、制御部231の制御に従って補間方法を決定する。ステップS252において、予測画像生成部235は、制御部231の制御に従って予測モードを決定する。ステップS253において、隣接画素再構成部234は、ステップS252において決定された予測モードに応じて隣接画素を読み出す。
ステップS254において、隣接画素再構成部234は、ステップS251において決定された補間方法に従って隣接画素を再構成する。ステップS255において、予測画像生成部235は、再構成された隣接画素を用いて予測画像を生成する。
ステップS255の処理が終了すると、制御部231は、イントラ予測処理を終了し、処理を図20のステップS232に処理を戻し、それ以降の処理を行う。
なお、図19のステップS208において実行される再構成画素記憶処理は、図16のフローチャートに示される場合と同様に行われるので、その説明を省略する。
以上のように、画像復号装置200は、画面内予測に必要なメモリ量を低減させることができる。
なお、以上において説明した直交変換や逆直交変換の代わりにアダマール変換等を用いるようにしてもよい。また、以上に説明した各ブロックのサイズは一例である。
以上においては、画像符号化装置100においてサンプリングが行われたか否かを示す情報や、画像符号化装置100において行われたサンプリング方法や補間方法を示す情報が画像符号化装置100から画像復号装置200に伝送され、画像復号装置200がそれらの情報に基づいて画像符号化装置100と同様のサンプリングや補間処理を行うように説明した。しかしながら、これに限らず、画像復号装置200が、画像符号化装置100と同様に画像の特徴量を抽出し、その抽出した特徴量に基づいてサンプリングや補間処理を行うようにしてもよい。
その場合、サンプリングが行われたか否かを示す情報や、画像符号化装置100において行われたサンプリング方法や補間方法を示す情報等の伝送は省略可能である。画像復号装置200は、符号化データのヘッダ情報等から画像の特徴量を抽出するようにしてもよいし、復号画像データを解析して特徴量を抽出するようにしてもよい。
[マクロブロック]
以上においては、16×16以下のマクロブロックについて説明したが、マクロブロックのサイズは、16×16より大きくてもよい。
本発明は、例えば図22に示されるようなあらゆる大きさのマクロブロックに対して適用することができる。例えば、本発明は、通常の16×16画素のようなマクロブロックだけでなく、32×32画素のような拡張されたマクロブロック(拡張マクロブロック)にも適用することができる。
図22において、上段には、左から、32×32画素、32×16画素、16×32画素、および16×16画素のブロック(パーティション)に分割された32×32画素で構成されるマクロブロックが順に示されている。また、中段には、左から、16×16画素、16×8画素、8×16画素、および8×8画素のブロックに分割された16×16画素で構成されるブロックが順に示されている。さらに、下段には、左から、8×8画素、8×4画素、4×8画素、および4×4画素のブロックに分割された8×8画素のブロックが順に示されている。
すなわち、32×32画素のマクロブロックは、上段に示される32×32画素、32×16画素、16×32画素、および16×16画素のブロックでの処理が可能である。
上段の右側に示される16×16画素のブロックは、H.264/AVC方式と同様に、中段に示される16×16画素、16×8画素、8×16画素、および8×8画素のブロックでの処理が可能である。
中段の右側に示される8×8画素のブロックは、H.264/AVC方式と同様に、下段に示される8×8画素、8×4画素、4×8画素、および4×4画素のブロックでの処理が可能である。
これらのブロックは、以下の3階層に分類することができる。すなわち、図20の上段に示される32×32画素、32×16画素、および16×32画素のブロックを第1階層と称する。上段の右側に示される16×16画素のブロック、並びに、中段に示される16×16画素、16×8画素、および8×16画素のブロックを、第2階層と称する。中段の右側に示される8×8画素のブロック、並びに、下段に示される8×8画素、8×4画素、4×8画素、および4×4画素のブロックを、第3階層と称する。
このような階層構造を採用することにより、16×16画素のブロック以下に関しては、H.264/AVC方式と互換性を保ちながら、そのスーパーセットとして、より大きなブロックを定義することができる。
<3.第3の実施の形態>
[パーソナルコンピュータ]
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図23に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
図23において、パーソナルコンピュータ500のCPU501は、ROM(Read Only Memory)502に記憶されているプログラム、または記憶部513からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU501、ROM502、およびRAM503は、バス504を介して相互に接続されている。このバス504にはまた、入出力インタフェース510も接続されている。
入出力インタフェース510には、キーボード、マウスなどよりなる入力部511、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部512、ハードディスクなどより構成される記憶部513、モデムなどより構成される通信部514が接続されている。通信部514は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース510にはまた、必要に応じてドライブ515が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア521が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部513にインストールされる。
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図23に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア521により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM502や、記憶部513に含まれるハードディスクなどで構成される。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、上述した画像符号化装置100や画像復号装置200は、任意の電子機器に適用することができる。以下にその例について説明する。
<4.第4の実施の形態>
[テレビジョン受像機]
図24は、本発明を適用した画像復号装置200を用いるテレビジョン受像機の主な構成例を示すブロック図である。
図24に示されるテレビジョン受像機1000は、地上波チューナ1013、ビデオデコーダ1015、映像信号処理回路1018、グラフィック生成回路1019、パネル駆動回路1020、および表示パネル1021を有する。
地上波チューナ1013は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ1015に供給する。ビデオデコーダ1015は、地上波チューナ1013から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路1018に供給する。
映像信号処理回路1018は、ビデオデコーダ1015から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路1019に供給する。
グラフィック生成回路1019は、表示パネル1021に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路1020に供給する。また、グラフィック生成回路1019は、項目の選択などにユーザにより利用される画面を表示するための映像データ(グラフィック)を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路1020に供給するといった処理も適宜行う。
パネル駆動回路1020は、グラフィック生成回路1019から供給されたデータに基づいて表示パネル1021を駆動し、番組の映像や上述した各種の画面を表示パネル1021に表示させる。
表示パネル1021はLCD(Liquid Crystal Display)などよりなり、パネル駆動回路1020による制御に従って番組の映像などを表示させる。
また、テレビジョン受像機1000は、音声A/D(Analog/Digital)変換回路1014、音声信号処理回路1022、エコーキャンセル/音声合成回路1023、音声増幅回路1024、およびスピーカ1025も有する。
地上波チューナ1013は、受信した放送波信号を復調することにより、映像信号だけでなく音声信号も取得する。地上波チューナ1013は、取得した音声信号を音声A/D変換回路1014に供給する。
音声A/D変換回路1014は、地上波チューナ1013から供給された音声信号に対してA/D変換処理を施し、得られたデジタルの音声信号を音声信号処理回路1022に供給する。
音声信号処理回路1022は、音声A/D変換回路1014から供給された音声データに対してノイズ除去などの所定の処理を施し、得られた音声データをエコーキャンセル/音声合成回路1023に供給する。
エコーキャンセル/音声合成回路1023は、音声信号処理回路1022から供給された音声データを音声増幅回路1024に供給する。
音声増幅回路1024は、エコーキャンセル/音声合成回路1023から供給された音声データに対してD/A変換処理、増幅処理を施し、所定の音量に調整した後、音声をスピーカ1025から出力させる。
さらに、テレビジョン受像機1000は、デジタルチューナ1016およびMPEGデコーダ1017も有する。
デジタルチューナ1016は、デジタル放送(地上デジタル放送、BS(Broadcasting Satellite)/CS(Communications Satellite)デジタル放送)の放送波信号を、アンテナを介して受信し、復調し、MPEG-TS(Moving Picture Experts Group-Transport Stream)を取得し、それをMPEGデコーダ1017に供給する。
MPEGデコーダ1017は、デジタルチューナ1016から供給されたMPEG-TSに施されているスクランブルを解除し、再生対象(視聴対象)になっている番組のデータを含むストリームを抽出する。MPEGデコーダ1017は、抽出したストリームを構成する音声パケットをデコードし、得られた音声データを音声信号処理回路1022に供給するとともに、ストリームを構成する映像パケットをデコードし、得られた映像データを映像信号処理回路1018に供給する。また、MPEGデコーダ1017は、MPEG-TSから抽出したEPG(Electronic Program Guide)データを図示せぬ経路を介してCPU1032に供給する。
テレビジョン受像機1000は、このように映像パケットをデコードするMPEGデコーダ1017として、上述した画像復号装置200を用いる。なお、放送局等より送信されるMPEG-TSは、画像符号化装置100によって符号化されている。
MPEGデコーダ1017は、画像復号装置200の場合と同様に、放送局(画像符号化装置100)より供給される符号化データから抽出した、放送局(画像符号化装置100)においてサンプリングが行われたか否かの通知やサンプリング方式および補間方式の指定等の情報を用いて、隣接画素のサンプリングや補間処理を必要に応じて行い、その隣接画素を用いて予測画像を生成し、その予測画像を用いて残差情報から復号画像データを生成する。したがって、MPEGデコーダ1017は、画面内予測に必要なメモリ量を低減させることができる。
MPEGデコーダ1017から供給された映像データは、ビデオデコーダ1015から供給された映像データの場合と同様に、映像信号処理回路1018において所定の処理が施され、グラフィック生成回路1019において、生成された映像データ等が適宜重畳され、パネル駆動回路1020を介して表示パネル1021に供給され、その画像が表示される。
MPEGデコーダ1017から供給された音声データは、音声A/D変換回路1014から供給された音声データの場合と同様に、音声信号処理回路1022において所定の処理が施され、エコーキャンセル/音声合成回路1023を介して音声増幅回路1024に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ1025から出力される。
また、テレビジョン受像機1000は、マイクロホン1026、およびA/D変換回路1027も有する。
A/D変換回路1027は、音声会話用のものとしてテレビジョン受像機1000に設けられるマイクロホン1026により取り込まれたユーザの音声の信号を受信し、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データをエコーキャンセル/音声合成回路1023に供給する。
エコーキャンセル/音声合成回路1023は、テレビジョン受像機1000のユーザ(ユーザA)の音声のデータがA/D変換回路1027から供給されている場合、ユーザAの音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路1024を介してスピーカ1025より出力させる。
さらに、テレビジョン受像機1000は、音声コーデック1028、内部バス1029、SDRAM(Synchronous Dynamic Random Access Memory)1030、フラッシュメモリ1031、CPU1032、USB(Universal Serial Bus) I/F1033、およびネットワークI/F1034も有する。
A/D変換回路1027は、音声会話用のものとしてテレビジョン受像機1000に設けられるマイクロホン1026により取り込まれたユーザの音声の信号を受信し、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データを音声コーデック1028に供給する。
音声コーデック1028は、A/D変換回路1027から供給された音声データを、ネットワーク経由で送信するための所定のフォーマットのデータに変換し、内部バス1029を介してネットワークI/F1034に供給する。
ネットワークI/F1034は、ネットワーク端子1035に装着されたケーブルを介してネットワークに接続される。ネットワークI/F1034は、例えば、そのネットワークに接続される他の装置に対して、音声コーデック1028から供給された音声データを送信する。また、ネットワークI/F1034は、例えば、ネットワークを介して接続される他の装置から送信される音声データを、ネットワーク端子1035を介して受信し、それを、内部バス1029を介して音声コーデック1028に供給する。
音声コーデック1028は、ネットワークI/F1034から供給された音声データを所定のフォーマットのデータに変換し、それをエコーキャンセル/音声合成回路1023に供給する。
エコーキャンセル/音声合成回路1023は、音声コーデック1028から供給される音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路1024を介してスピーカ1025より出力させる。
SDRAM1030は、CPU1032が処理を行う上で必要な各種のデータを記憶する。
フラッシュメモリ1031は、CPU1032により実行されるプログラムを記憶する。フラッシュメモリ1031に記憶されているプログラムは、テレビジョン受像機1000の起動時などの所定のタイミングでCPU1032により読み出される。フラッシュメモリ1031には、デジタル放送を介して取得されたEPGデータ、ネットワークを介して所定のサーバから取得されたデータなども記憶される。
例えば、フラッシュメモリ1031には、CPU1032の制御によりネットワークを介して所定のサーバから取得されたコンテンツデータを含むMPEG-TSが記憶される。フラッシュメモリ1031は、例えばCPU1032の制御により、そのMPEG-TSを、内部バス1029を介してMPEGデコーダ1017に供給する。
MPEGデコーダ1017は、デジタルチューナ1016から供給されたMPEG-TSの場合と同様に、そのMPEG-TSを処理する。このようにテレビジョン受像機1000は、映像や音声等よりなるコンテンツデータを、ネットワークを介して受信し、MPEGデコーダ1017を用いてデコードし、その映像を表示させたり、音声を出力させたりすることができる。
また、テレビジョン受像機1000は、リモートコントローラ1051から送信される赤外線信号を受光する受光部1037も有する。
受光部1037は、リモートコントローラ1051からの赤外線を受光し、復調して得られたユーザ操作の内容を表す制御コードをCPU1032に出力する。
CPU1032は、フラッシュメモリ1031に記憶されているプログラムを実行し、受光部1037から供給される制御コードなどに応じてテレビジョン受像機1000の全体の動作を制御する。CPU1032とテレビジョン受像機1000の各部は、図示せぬ経路を介して接続されている。
USB I/F1033は、USB端子1036に装着されたUSBケーブルを介して接続される、テレビジョン受像機1000の外部の機器との間でデータの送受信を行う。ネットワークI/F1034は、ネットワーク端子1035に装着されたケーブルを介してネットワークに接続し、ネットワークに接続される各種の装置と音声データ以外のデータの送受信も行う。
テレビジョン受像機1000は、MPEGデコーダ1017として画像復号装置200を用いることにより、画面内予測に必要なメモリ量を低減させることができる。その結果として、テレビジョン受像機1000は、アンテナを介して受信する放送波信号や、ネットワークを介して取得するコンテンツデータの画面内予測に必要なメモリ量を低減させることができ、リアルタイム処理をより低いコストで実現することができる。
<5.第5の実施の形態>
[携帯電話機]
図25は、本発明を適用した画像符号化装置100および画像復号装置200を用いる携帯電話機の主な構成例を示すブロック図である。
図25に示される携帯電話機1100は、各部を統括的に制御するようになされた主制御部1150、電源回路部1151、操作入力制御部1152、画像エンコーダ1153、カメラI/F部1154、LCD制御部1155、画像デコーダ1156、多重分離部1157、記録再生部1162、変復調回路部1158、および音声コーデック1159を有する。これらは、バス1160を介して互いに接続されている。
また、携帯電話機1100は、操作キー1119、CCD(Charge Coupled Devices)カメラ1116、液晶ディスプレイ1118、記憶部1123、送受信回路部1163、アンテナ1114、マイクロホン(マイク)1121、およびスピーカ1117を有する。
電源回路部1151は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話機1100を動作可能な状態に起動する。
携帯電話機1100は、CPU、ROMおよびRAM等でなる主制御部1150の制御に基づいて、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
例えば、音声通話モードにおいて、携帯電話機1100は、マイクロホン(マイク)1121で集音した音声信号を、音声コーデック1159によってデジタル音声データに変換し、これを変復調回路部1158でスペクトラム拡散処理し、送受信回路部1163でデジタルアナログ変換処理および周波数変換処理する。携帯電話機1100は、その変換処理により得られた送信用信号を、アンテナ1114を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(音声信号)は、公衆電話回線網を介して通話相手の携帯電話機に供給される。
また、例えば、音声通話モードにおいて、携帯電話機1100は、アンテナ1114で受信した受信信号を送受信回路部1163で増幅し、さらに周波数変換処理およびアナログデジタル変換処理し、変復調回路部1158でスペクトラム逆拡散処理し、音声コーデック1159によってアナログ音声信号に変換する。携帯電話機1100は、その変換して得られたアナログ音声信号をスピーカ1117から出力する。
更に、例えば、データ通信モードにおいて電子メールを送信する場合、携帯電話機1100は、操作キー1119の操作によって入力された電子メールのテキストデータを、操作入力制御部1152において受け付ける。携帯電話機1100は、そのテキストデータを主制御部1150において処理し、LCD制御部1155を介して、画像として液晶ディスプレイ1118に表示させる。
また、携帯電話機1100は、主制御部1150において、操作入力制御部1152が受け付けたテキストデータやユーザ指示等に基づいて電子メールデータを生成する。携帯電話機1100は、その電子メールデータを、変復調回路部1158でスペクトラム拡散処理し、送受信回路部1163でデジタルアナログ変換処理および周波数変換処理する。携帯電話機1100は、その変換処理により得られた送信用信号を、アンテナ1114を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(電子メール)は、ネットワークおよびメールサーバ等を介して、所定のあて先に供給される。
また、例えば、データ通信モードにおいて電子メールを受信する場合、携帯電話機1100は、基地局から送信された信号を、アンテナ1114を介して送受信回路部1163で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機1100は、その受信信号を変復調回路部1158でスペクトラム逆拡散処理して元の電子メールデータを復元する。携帯電話機1100は、復元された電子メールデータを、LCD制御部1155を介して液晶ディスプレイ1118に表示する。
なお、携帯電話機1100は、受信した電子メールデータを、記録再生部1162を介して、記憶部1123に記録する(記憶させる)ことも可能である。
この記憶部1123は、書き換え可能な任意の記憶媒体である。記憶部1123は、例えば、RAMや内蔵型フラッシュメモリ等の半導体メモリであってもよいし、ハードディスクであってもよいし、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアであってもよい。もちろん、これら以外のものであってもよい。
さらに、例えば、データ通信モードにおいて画像データを送信する場合、携帯電話機1100は、撮像によりCCDカメラ1116で画像データを生成する。CCDカメラ1116は、レンズや絞り等の光学デバイスと光電変換素子としてのCCDを有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。CCDカメラ1116は、その画像データを、カメラI/F部1154を介して、画像エンコーダ1153で符号化し、符号化画像データに変換する。
携帯電話機1100は、このような処理を行う画像エンコーダ1153として、上述した画像符号化装置100を用いる。画像エンコーダ1153は、画像符号化装置100の場合と同様に、画像データから抽出した特徴量に基づいて隣接画素のサンプリングを行うか否かの決定、行う場合はそのサンプリング方式や補間処理の方式の決定等を行い、必要に応じて隣接画素をサンプリングして記憶する。画像エンコーダ1153は、イントラ予測を行う際に、その隣接画素を読み出し、必要に応じて補間処理を行い、隣接画素を再構成する。そして画像エンコーダ1153は、再構成された隣接画素を用いて予測画像を生成し、その予測画像を用いて残差情報から符号化データを生成する。したがって、画像エンコーダ1153は、画面内予測に必要なメモリ量を低減させることができる。
なお、携帯電話機1100は、このとき同時に、CCDカメラ1116で撮像中にマイクロホン(マイク)1121で集音した音声を、音声コーデック1159においてアナログデジタル変換し、さらに符号化する。
携帯電話機1100は、多重分離部1157において、画像エンコーダ1153から供給された符号化画像データと、音声コーデック1159から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機1100は、その結果得られる多重化データを、変復調回路部1158でスペクトラム拡散処理し、送受信回路部1163でデジタルアナログ変換処理および周波数変換処理する。携帯電話機1100は、その変換処理により得られた送信用信号を、アンテナ1114を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(画像データ)は、ネットワーク等を介して、通信相手に供給される。
なお、画像データを送信しない場合、携帯電話機1100は、CCDカメラ1116で生成した画像データを、画像エンコーダ1153を介さずに、LCD制御部1155を介して液晶ディスプレイ1118に表示させることもできる。
また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機1100は、基地局から送信された信号を、アンテナ1114を介して送受信回路部1163で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機1100は、その受信信号を変復調回路部1158でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機1100は、多重分離部1157において、その多重化データを分離して、符号化画像データと音声データとに分ける。
携帯電話機1100は、画像デコーダ1156において符号化画像データをデコードすることにより、再生動画像データを生成し、これを、LCD制御部1155を介して液晶ディスプレイ1118に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ1118に表示される。
携帯電話機1100は、このような処理を行う画像デコーダ1156として、上述した画像復号装置200を用いる。つまり、画像デコーダ1156は、画像復号装置200の場合と同様に、他の装置の画像エンコーダ1153(画像符号化装置100)より供給される符号化データから抽出した、他の装置の画像エンコーダ1153(画像符号化装置100)においてサンプリングが行われたか否かの通知やサンプリング方式および補間方式の指定等の情報を用いて、隣接画素のサンプリングや補間処理を必要に応じて行い、その隣接画素を用いて予測画像を生成し、その予測画像を用いて残差情報から復号画像データを生成する。したがって、画像デコーダ1156は、画面内予測に必要なメモリ量を低減させることができる。
このとき、携帯電話機1100は、同時に、音声コーデック1159において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ1117より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
なお、電子メールの場合と同様に、携帯電話機1100は、受信した簡易ホームページ等にリンクされたデータを、記録再生部1162を介して、記憶部1123に記録する(記憶させる)ことも可能である。
また、携帯電話機1100は、主制御部1150において、撮像されてCCDカメラ1116で得られた2次元コードを解析し、2次元コードに記録された情報を取得することができる。
さらに、携帯電話機1100は、赤外線通信部1181で赤外線により外部の機器と通信することができる。
携帯電話機1100は、画像エンコーダ1153として画像符号化装置100を用いることにより、例えばCCDカメラ1116において生成された画像データを符号化して伝送する際の、画面内予測に必要なメモリ量を低減させることができ、リアルタイム処理をより低いコストで実現することができる。
また、携帯電話機1100は、画像デコーダ1156として画像復号装置200を用いることにより、例えば、簡易ホームページ等にリンクされた動画像ファイルのデータ(符号化データ)を復号する際の画面内予測に必要なメモリ量を低減させることができ、リアルタイム処理をより低いコストで実現することができる。
なお、以上において、携帯電話機1100が、CCDカメラ1116を用いるように説明したが、このCCDカメラ1116の代わりに、CMOS(Complementary Metal Oxide Semiconductor)を用いたイメージセンサ(CMOSイメージセンサ)を用いるようにしてもよい。この場合も、携帯電話機1100は、CCDカメラ1116を用いる場合と同様に、被写体を撮像し、被写体の画像の画像データを生成することができる。
また、以上においては携帯電話機1100として説明したが、例えば、PDA(Personal Digital Assistants)、スマートフォン、UMPC(Ultra Mobile Personal Computer)、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機1100と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機1100の場合と同様に、画像符号化装置100および画像復号装置200を適用することができる。
<6.第6の実施の形態>
[ハードディスクレコーダ]
図26は、本発明を適用した画像符号化装置100および画像復号装置200を用いるハードディスクレコーダの主な構成例を示すブロック図である。
図26に示されるハードディスクレコーダ(HDDレコーダ)1200は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号(テレビジョン信号)に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
ハードディスクレコーダ1200は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ1200は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
さらに、ハードディスクレコーダ1200は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ1260に供給し、モニタ1260の画面にその画像を表示させ、モニタ1260のスピーカよりその音声を出力させることができる。また、ハードディスクレコーダ1200は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ1260に供給し、モニタ1260の画面にその画像を表示させ、モニタ1260のスピーカよりその音声を出力させることもできる。
もちろん、この他の動作も可能である。
図26に示されるように、ハードディスクレコーダ1200は、受信部1221、復調部1222、デマルチプレクサ1223、オーディオデコーダ1224、ビデオデコーダ1225、およびレコーダ制御部1226を有する。ハードディスクレコーダ1200は、さらに、EPGデータメモリ1227、プログラムメモリ1228、ワークメモリ1229、ディスプレイコンバータ1230、OSD(On Screen Display)制御部1231、ディスプレイ制御部1232、記録再生部1233、D/Aコンバータ1234、および通信部1235を有する。
また、ディスプレイコンバータ1230は、ビデオエンコーダ1241を有する。記録再生部1233は、エンコーダ1251およびデコーダ1252を有する。
受信部1221は、リモートコントローラ(図示せず)からの赤外線信号を受信し、電気信号に変換してレコーダ制御部1226に出力する。レコーダ制御部1226は、例えば、マイクロプロセッサなどにより構成され、プログラムメモリ1228に記憶されているプログラムに従って、各種の処理を実行する。レコーダ制御部1226は、このとき、ワークメモリ1229を必要に応じて使用する。
通信部1235は、ネットワークに接続され、ネットワークを介して他の装置との通信処理を行う。例えば、通信部1235は、レコーダ制御部1226により制御され、チューナ(図示せず)と通信し、主にチューナに対して選局制御信号を出力する。
復調部1222は、チューナより供給された信号を、復調し、デマルチプレクサ1223に出力する。デマルチプレクサ1223は、復調部1222より供給されたデータを、オーディオデータ、ビデオデータ、およびEPGデータに分離し、それぞれ、オーディオデコーダ1224、ビデオデコーダ1225、またはレコーダ制御部1226に出力する。
オーディオデコーダ1224は、入力されたオーディオデータをデコードし、記録再生部1233に出力する。ビデオデコーダ1225は、入力されたビデオデータをデコードし、ディスプレイコンバータ1230に出力する。レコーダ制御部1226は、入力されたEPGデータをEPGデータメモリ1227に供給し、記憶させる。
ディスプレイコンバータ1230は、ビデオデコーダ1225またはレコーダ制御部1226より供給されたビデオデータを、ビデオエンコーダ1241により、例えばNTSC(National Television Standards Committee)方式のビデオデータにエンコードし、記録再生部1233に出力する。また、ディスプレイコンバータ1230は、ビデオデコーダ1225またはレコーダ制御部1226より供給されるビデオデータの画面のサイズを、モニタ1260のサイズに対応するサイズに変換し、ビデオエンコーダ1241によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部1232に出力する。
ディスプレイ制御部1232は、レコーダ制御部1226の制御のもと、OSD(On Screen Display)制御部1231が出力したOSD信号を、ディスプレイコンバータ1230より入力されたビデオ信号に重畳し、モニタ1260のディスプレイに出力し、表示させる。
モニタ1260にはまた、オーディオデコーダ1224が出力したオーディオデータが、D/Aコンバータ1234によりアナログ信号に変換されて供給されている。モニタ1260は、このオーディオ信号を内蔵するスピーカから出力する。
記録再生部1233は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
記録再生部1233は、例えば、オーディオデコーダ1224より供給されるオーディオデータを、エンコーダ1251によりエンコードする。また、記録再生部1233は、ディスプレイコンバータ1230のビデオエンコーダ1241より供給されるビデオデータを、エンコーダ1251によりエンコードする。記録再生部1233は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部1233は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
記録再生部1233は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部1233は、デコーダ1252によりオーディオデータおよびビデオデータをデコードする。記録再生部1233は、復号したオーディオデータをD/A変換し、モニタ1260のスピーカに出力する。また、記録再生部1233は、復号したビデオデータをD/A変換し、モニタ1260のディスプレイに出力する。
レコーダ制御部1226は、受信部1221を介して受信されるリモートコントローラからの赤外線信号により示されるユーザ指示に基づいて、EPGデータメモリ1227から最新のEPGデータを読み出し、それをOSD制御部1231に供給する。OSD制御部1231は、入力されたEPGデータに対応する画像データを発生し、ディスプレイ制御部1232に出力する。ディスプレイ制御部1232は、OSD制御部1231より入力されたビデオデータをモニタ1260のディスプレイに出力し、表示させる。これにより、モニタ1260のディスプレイには、EPG(電子番組ガイド)が表示される。
また、ハードディスクレコーダ1200は、インターネット等のネットワークを介して他の装置から供給されるビデオデータ、オーディオデータ、またはEPGデータ等の各種データを取得することができる。
通信部1235は、レコーダ制御部1226に制御され、ネットワークを介して他の装置から送信されるビデオデータ、オーディオデータ、およびEPGデータ等の符号化データを取得し、それをレコーダ制御部1226に供給する。レコーダ制御部1226は、例えば、取得したビデオデータやオーディオデータの符号化データを記録再生部1233に供給し、ハードディスクに記憶させる。このとき、レコーダ制御部1226および記録再生部1233が、必要に応じて再エンコード等の処理を行うようにしてもよい。
また、レコーダ制御部1226は、取得したビデオデータやオーディオデータの符号化データを復号し、得られるビデオデータをディスプレイコンバータ1230に供給する。ディスプレイコンバータ1230は、ビデオデコーダ1225から供給されるビデオデータと同様に、レコーダ制御部1226から供給されるビデオデータを処理し、ディスプレイ制御部1232を介してモニタ1260に供給し、その画像を表示させる。
また、この画像表示に合わせて、レコーダ制御部1226が、復号したオーディオデータを、D/Aコンバータ1234を介してモニタ1260に供給し、その音声をスピーカから出力させるようにしてもよい。
さらに、レコーダ制御部1226は、取得したEPGデータの符号化データを復号し、復号したEPGデータをEPGデータメモリ1227に供給する。
以上のようなハードディスクレコーダ1200は、ビデオデコーダ1225、デコーダ1252、およびレコーダ制御部1226に内蔵されるデコーダとして画像復号装置200を用いる。つまり、ビデオデコーダ1225、デコーダ1252、およびレコーダ制御部1226に内蔵されるデコーダは、画像復号装置200の場合と同様に、画像符号化装置100より供給される符号化データから抽出した、画像符号化装置100においてサンプリングが行われたか否かの通知やサンプリング方式および補間方式の指定等の情報を用いて、隣接画素のサンプリングや補間処理を必要に応じて行い、その隣接画素を用いて予測画像を生成し、その予測画像を用いて残差情報から復号画像データを生成する。したがって、ビデオデコーダ1225、デコーダ1252、およびレコーダ制御部1226に内蔵されるデコーダは、画面内予測に必要なメモリ量を低減させることができる。
したがって、ハードディスクレコーダ1200は、例えば、チューナや通信部1235が受信するビデオデータ(符号化データ)や、記録再生部1233が再生するビデオデータ(符号化データ)を復号する際の画面内予測に必要なメモリ量を低減させることができ、リアルタイム処理をより低いコストで実現することができる。
また、ハードディスクレコーダ1200は、エンコーダ1251として画像符号化装置100を用いる。したがって、エンコーダ1251は、画像符号化装置100の場合と同様に、画像データから抽出した特徴量に基づいて隣接画素のサンプリングを行うか否かの決定、行う場合はそのサンプリング方式や補間処理の方式の決定等を行い、必要に応じて隣接画素をサンプリングして記憶する。エンコーダ1251は、イントラ予測を行う際に、その隣接画素を読み出し、必要に応じて補間処理を行い、隣接画素を再構成する。そしてエンコーダ1251は、再構成された隣接画素を用いて予測画像を生成し、その予測画像を用いて残差情報から符号化データを生成する。したがって、エンコーダ1251は、画面内予測に必要なメモリ量を低減させることができる。
したがって、ハードディスクレコーダ1200は、例えば、ハードディスクに記録する符号化データを生成する際の、画面内予測に必要なメモリ量を低減させることができ、リアルタイム処理をより低いコストで実現することができる。
なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ1200について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ1200の場合と同様に、画像符号化装置100および画像復号装置200を適用することができる。
<7.第7の実施の形態>
[カメラ]
図27は、本発明を適用した画像符号化装置100および画像復号装置200を用いるカメラの主な構成例を示すブロック図である。
図27に示されるカメラ1300は、被写体を撮像し、被写体の画像をLCD1316に表示させたり、それを画像データとして、記録メディア1333に記録したりする。
レンズブロック1311は、光(すなわち、被写体の映像)を、CCD/CMOS1312に入射させる。CCD/CMOS1312は、CCDまたはCMOSを用いたイメージセンサであり、受光した光の強度を電気信号に変換し、カメラ信号処理部1313に供給する。
カメラ信号処理部1313は、CCD/CMOS1312から供給された電気信号を、Y,Cr,Cbの色差信号に変換し、画像信号処理部1314に供給する。画像信号処理部1314は、コントローラ1321の制御の下、カメラ信号処理部1313から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ1341で符号化したりする。画像信号処理部1314は、画像信号を符号化して生成した符号化データを、デコーダ1315に供給する。さらに、画像信号処理部1314は、オンスクリーンディスプレイ(OSD)1320において生成された表示用データを取得し、それをデコーダ1315に供給する。
以上の処理において、カメラ信号処理部1313は、バス1317を介して接続されるDRAM(Dynamic Random Access Memory)1318を適宜利用し、必要に応じて画像データや、その画像データが符号化された符号化データ等をそのDRAM1318に保持させる。
デコーダ1315は、画像信号処理部1314から供給された符号化データを復号し、得られた画像データ(復号画像データ)をLCD1316に供給する。また、デコーダ1315は、画像信号処理部1314から供給された表示用データをLCD1316に供給する。LCD1316は、デコーダ1315から供給された復号画像データの画像と表示用データの画像を適宜合成し、その合成画像を表示する。
オンスクリーンディスプレイ1320は、コントローラ1321の制御の下、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを、バス1317を介して画像信号処理部1314に出力する。
コントローラ1321は、ユーザが操作部1322を用いて指令した内容を示す信号に基づいて、各種処理を実行するとともに、バス1317を介して、画像信号処理部1314、DRAM1318、外部インタフェース1319、オンスクリーンディスプレイ1320、およびメディアドライブ1323等を制御する。FLASH ROM1324には、コントローラ1321が各種処理を実行する上で必要なプログラムやデータ等が格納される。
例えば、コントローラ1321は、画像信号処理部1314やデコーダ1315に代わって、DRAM1318に記憶されている画像データを符号化したり、DRAM1318に記憶されている符号化データを復号したりすることができる。このとき、コントローラ1321は、画像信号処理部1314やデコーダ1315の符号化・復号方式と同様の方式によって符号化・復号処理を行うようにしてもよいし、画像信号処理部1314やデコーダ1315が対応していない方式により符号化・復号処理を行うようにしてもよい。
また、例えば、操作部1322から画像印刷の開始が指示された場合、コントローラ1321は、DRAM1318から画像データを読み出し、それを、バス1317を介して外部インタフェース1319に接続されるプリンタ1334に供給して印刷させる。
さらに、例えば、操作部1322から画像記録が指示された場合、コントローラ1321は、DRAM1318から符号化データを読み出し、それを、バス1317を介してメディアドライブ1323に装着される記録メディア1333に供給して記憶させる。
記録メディア1333は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアである。記録メディア1333は、もちろん、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であっても良い。
また、メディアドライブ1323と記録メディア1333を一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
外部インタフェース1319は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタ1334と接続される。また、外部インタフェース1319には、必要に応じてドライブ1331が接続され、磁気ディスク、光ディスク、あるいは光磁気ディスクなどのリムーバブルメディア1332が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、FLASH ROM1324にインストールされる。
さらに、外部インタフェース1319は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。コントローラ1321は、例えば、操作部1322からの指示に従って、DRAM1318から符号化データを読み出し、それを外部インタフェース1319から、ネットワークを介して接続される他の装置に供給させることができる。また、コントローラ1321は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース1319を介して取得し、それをDRAM1318に保持させたり、画像信号処理部1314に供給したりすることができる。
以上のようなカメラ1300は、デコーダ1315として画像復号装置200を用いる。つまり、デコーダ1315は、画像復号装置200の場合と同様に、画像符号化装置100より供給される符号化データから抽出した、画像符号化装置100においてサンプリングが行われたか否かの通知やサンプリング方式および補間方式の指定等の情報を用いて、隣接画素のサンプリングや補間処理を必要に応じて行い、その隣接画素を用いて予測画像を生成し、その予測画像を用いて残差情報から復号画像データを生成する。したがって、デコーダ1315は、画面内予測に必要なメモリ量を低減させることができる。
したがって、カメラ1300は、例えば、CCD/CMOS1312において生成される画像データや、DRAM1318または記録メディア1333から読み出すビデオデータの符号化データや、ネットワークを介して取得するビデオデータの符号化データを復号する際の画面内予測に必要なメモリ量を低減させることができ、リアルタイム処理をより低いコストで実現することができる。
また、カメラ1300は、エンコーダ1341として画像符号化装置100を用いる。エンコーダ1341は、画像符号化装置100の場合と同様に、画像データから抽出した特徴量に基づいて隣接画素のサンプリングを行うか否かの決定、行う場合はそのサンプリング方式や補間処理の方式の決定等を行い、必要に応じて隣接画素をサンプリングして記憶する。エンコーダ1341は、イントラ予測を行う際に、その隣接画素を読み出し、必要に応じて補間処理を行い、隣接画素を再構成する。そしてエンコーダ1341は、再構成された隣接画素を用いて予測画像を生成し、その予測画像を用いて残差情報から符号化データを生成する。したがって、エンコーダ1341は、画面内予測に必要なメモリ量を低減させることができる。
したがって、カメラ1300は、例えば、DRAM1318や記録メディア1333に記録する符号化データや、他の装置に提供する符号化データを生成する際の画面内予測に必要なメモリ量を低減させることができ、リアルタイム処理をより低いコストで実現することができる。
なお、コントローラ1321が行う復号処理に画像復号装置200の復号方法を適用するようにしてもよい。同様に、コントローラ1321が行う符号化処理に画像符号化装置100の符号化方法を適用するようにしてもよい。
また、カメラ1300が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
もちろん、画像符号化装置100および画像復号装置200は、上述した装置以外の装置やシステムにも適用可能である。