近年、マルチメディアアプリケーションの発展に伴い、画像・音声・テキストなど、あらゆるメディアの情報を統一的に扱うことが一般的になってきた。この時、全てのメディアをディジタル化することにより、統一的にメディアを扱うことが可能になる。しかしながら、ディジタル化された画像は膨大なデータ量を持つため、蓄積・伝送のためには、画像の情報圧縮技術が不可欠である。一方で、圧縮した画像データを相互運用するためには、圧縮技術の標準化も重要である。画像圧縮技術の標準規格としては、ITU‐T(国際電気通信連合 電気通信標準化部門)のH.261、H.263、ISO/IEC(国際標準化機構 国際電気標準会議)のMPEG(Moving Picture Experts Group)-1、MPEG-2、MPEG-4など、またITU−TとMPEGの合同であるJVT(JointVideoTeam)により現在標準化中のH.264(MPEG−4AVC)がある。
一般に動画像の符号化では、時間方向および空間方向の冗長性を削減することによって情報量の圧縮を行う。そこで時間的な冗長性の削減を目的とする画面間予測符号化では、前方または後方のピクチャを参照してブロック単位で動きの検出および予測画像の作成を行い、得られた予測画像と符号化対象ピクチャとの差分値に対して符号化を行う。ここで、ピクチャとは1枚の画面を表す用語であり、プログレッシブ画像ではフレームを意味し、インタレース画像ではフレームもしくはフィールドを意味する。ここで、インタレース画像とは、1つのフレームが時刻の異なる2つのフィールドから構成される画像である。インタレース画像の符号化や復号化処理においては、1つのフレームをフレームのまま処理したり、2つのフィールドとして処理したり、フレーム内のブロック毎にフレーム構造またはフィールド構造として処理したりすることができる。
参照画像を持たず画面内予測符号化を行うものをIピクチャと呼ぶ。また、1枚の参照画像のみを参照し画面間予測符号化を行うものをPピクチャと呼ぶ。また、同時に2枚の参照画像を参照して画面間予測符号化を行うことのできるものをBピクチャと呼ぶ。Bピクチャは表示時間が前方もしくは後方から任意の組み合わせとして2枚のピクチャを参照することが可能である。参照画像(参照ピクチャ)は符号化の基本単位であるマクロブロックごとに指定することができるが、符号化を行ったビットストリーム中に先に記述される方の参照ピクチャを第1参照ピクチャ、後に記述される方を第2参照ピクチャとして区別する。ただし、これらのピクチャを符号化する場合の条件として、参照するピクチャが既に符号化されている必要がある。
Pピクチャ又はBピクチャの符号化には、動き補償画面間予測符号化が用いられている。動き補償画面間予測符号化とは、画面間予測符号化に動き補償を適用した符号化方式である。動き補償とは、単純に参照フレームの画素値から予測するのではなく、ピクチャ内の各部の動き量(以下、これを動きベクトルと呼ぶ)を検出し、当該動き量を考慮した予測を行うことにより予測精度を向上すると共に、データ量を減らす方式である。例えば、符号化対象ピクチャの動きベクトルを検出し、その動きベクトルの分だけシフトした予測値と符号化対象ピクチャとの予測残差を符号化することによりデータ量を減している。この方式の場合には、復号化の際に動きベクトルの情報が必要になるため、動きベクトルも符号化されて記録又は伝送される。
動きベクトルはマクロブロック単位で検出されており、具体的には、符号化対象ピクチャ側のマクロブロックを固定しておき、参照ピクチャ側のマクロブロックを探索範囲内で移動させ、基準ブロックと最も似通った参照ブロックの位置を見つけることにより、動きベクトルが検出される。
図13は、従来の画像符号化装置1000の構成を示すブロック図である。画像符号化装置1000は、差分器1001、画像符号化部1002、可変長符号化部1003、画像復号化部1004、加算器1005、画像メモリ1006、ピクチャメモリ1007、動き補償符号化部1008、動きベクトル検出部1009、予測方向決定部1010および動きベクトル記憶部1011を備えている。なお、符号化の処理は16x16画素のマクロブロックと呼ばれる単位で行われ、動き補償のブロックのサイズとしては、現在策定中の規格案であるH.264では、4×4、4×8、8×4、8×8、8×16、16×8、16×16、の7通りの動き補償のブロックサイズからマクロブロック単位で適切なものを選択して符号化に使用する。
ピクチャメモリ1007は、表示時間順にピクチャ単位で入力された、動画像を表す画像データImgを格納する。差分器1001は、ピクチャメモリ1007より読み出された画像データImgと、動き補償符号化部1008より入力された予測画像データPredとの差分を演算し、予測差分画像データResを生成する。画像符号化部1002は、入力された予測差分画像データResに対して周波数変換や量子化等の符号化処理を行い、差分画像符号化データCodedResを生成する。画面内符号化の場合には、画面間の動き補償を行わないので、予測画像データPredの値は"0"と考える。
動きベクトル検出部1009は、画像メモリ1006に記憶された符号化済みの復号化画像データである参照画像データRefを参照ピクチャとして用いて、そのピクチャ内の探索領域において最適と予測される位置を示す動きベクトルMotionVectorと参照ピクチャ番号RefIdxを検出し、出力する。このとき検出する動きベクトルMotionVectorは1つの参照画像データRefに対し1つである。
図14は上記動きベクトル検出部1009の処理をさらに詳しく説明するための図である。ここでは、例として符号化対象マクロブロック(16x16画素)内の動き補償ブロックを16x16画素のサイズとしたBピクチャ時の動きベクトルを検出する場合で説明する。
動きベクトル検出部1009は、符号化対象のピクチャが格納されているピクチャメモリ1007から符号化対象のマクロブロックMB0の画素と、参照ピクチャの格納されている画像メモリ1006から参照ピクチャRefIdx1、RefIdx2内の探索領域の画素P3、P5を取得する。参照ピクチャRefIdx1、RefIdx2内の符号化対象マクロブロックの位置をMB0aとする。まず、符号化対象マクロブロックMB0の画素と最も類似した位置を探索領域P3内で検出する(MB1と検出されたとする)。このとき、検出された類似位置を符号化対象マクロブロックの位置MB0aからの移動距離を動きベクトルMV1であらわす。同様に探索領域P5でも同様に類似位置を検出し(MB2の位置が検出されたとする)、その位置を動きベクトルMV2とあらわす。
動きベクトル検出部で検出された動きベクトルMV1、MV2および、参照しているピクチャ番号RefIdx(RefIdx1やRefIdx2など)は予測方向決定部1010に出力する。
予測方向決定部1010は、符号化対象ブロックの予測方向Dir(前方片方向(Fwd)、後方片方向(Bwd)、双方向(Bid)など)を決定し、決定された方向Dirと参照ピクチャ番号RefIdxと、動きベクトルMoitonVectorを動き補償符号化部1008に入力する。動き補償符号化部1008はこの入力に基づいて予測画像データPredを生成する。ここで決定された予測方向Dirで使用した参照ピクチャ番号RefIdxと動きベクトルMotionVectorは動きベクトル記憶部1011に保存される。
なお、動き補償符号化部1008では、動きベクトルが1/2画素、1/4画素などの小数以下の画素位置を指す場合には、低域通過フィルタなどを用いて1/2画素、1/4画素などの小数画素位置の画素値を補間生成する。可変長符号化部1003は、入力された差分画像符号化データCodedResおよび動きベクトル検出部1009で求められた動きパラメータMotionParamに対して可変長符号化等を行い、さらに動き補償符号化部1008から出力された予測方向Dirと参照するブロックが属する参照ピクチャ番号RefIdxを付加することにより符号化データBitstreamを生成する。ここで動きパラメータMotionParamとは動きベクトルMotionVectorと既に符号化した符号化対象ピクチャの動きベクトル(動きベクトル記憶部1011を参照)から予測した動きベクトルから求めた動きベクトル差分である。
画像復号化部1004は、入力された符号化データ差分画像符号化データCodedResに対して逆量子化や逆周波数変換等の復号化処理を行い、復号差分画像データReconResを生成する。加算器1005は、画像復号化部1004より出力された復号差分画像データと、動き補償符号化部1008より入力された予測画像データPredとを加算し、復号化画像データReconを生成する。画像メモリ1006は、生成された復号化画像データReconを格納する。
被写体の動きによっては、整数画素単位より小さい単位の動きで予測を行うと予測効果が高い場合がある。一般に、整数画素単位より小さい単位の動きを伴う予測画像の画素値の計算には画素補間を使用する。この画素補間は、参照画像の画素値に対して線形フィルタ(低域通過フィルタ)によるフィルタリングを行うことにより実行される。この線形フィルタのタップ数を増やせば良好な周波数特性を持つフィルタを実現でき、予測効果が高くなるが処理量は大きくなる。一方、フィルタのタップ数が少ないとフィルタの周波数特性は悪くなり、予測効果は低くなるが処理量は小さくなる。
現在策定中の規格案であるH.264では1/4画素までの単位で動き補償を行うことが許可されており(MPEG-4 Simple Profileでは1/2画素まで)、線形フィルタ画素補間の方法としては、6タップフィルタが採用されている。この6タップフィルタによる画素補間の方法について、図15を用いて説明する。
図14はH.264における輝度成分の画素補間方法を説明するための図である。F1〜F36は整数画素位置の画素値、H1〜H7は1/2画素位置の画素値をQ1、Q2は1/4画素位置の画素値を表している。例えば、1/2画素位置H1の画素値を求める場合、式Aに示すように周囲6画素の整数画素値(F1〜F6)を用いた演算により画素値を予測生成する(H2〜H6も同様に求めることができる)。また、H7の画素値を求める場合、式Bに示すように周囲6画素の1/2画素位置の画素値(H1〜H6)を用いた演算により画素値を予測生成する。また、1/4画素位置Q1やQ2の画素値を求める場合式C、式Dのように、近傍の1/2画素値を用いた演算により画素値を生成する。このとき式A、式Bにおける定数αは丸め係数による値である。(非特許文献1参照)
"Draft ITU-T Recommendation and Final Draft International Standard of Joint Video Specification", Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG , JVT-G050r1 , 27 May 2003
以下、本発明の実施の形態を図面を参照しながら説明する。
(実施の形態1)
以下、本発明の第1の実施形態について図面を用いて詳細に説明する。
図1は、本発明に係る画像符号化方法を用いた画像符号化装置100の構成を示すブロック図である。画像符号化装置100は、差分器1001、画像符号化部1002、可変長符号化部1003、画像復号化部1004、加算器1005、画像メモリ1006、ピクチャメモリ1007、動き補償符号化部1008、モード決定部102、動きベクトル候補検出部101および動きベクトル記憶部1011を備えている。符号化の処理は従来例と同様16x16画素のマクロブロックと呼ばれる単位で行われる。この画像符号化装置100に備わる動きベクトル候補検出部101とモード決定部102以外の処理部は、背景技術で図13を用いて説明した処理部と同様である。したがって、ここでは動きベクトル候補検出部101とモード決定部102の処理についてのみ詳細に述べ、その他の処理部については省略する。
図2は動きベクトル候補検出部101における、動き補償ブロックサイズを4x4とした場合の動きベクトルの検出方法を説明するための図である。背景技術は図14を用いて説明したように、探索領域内で最も類似した位置(整数精度でも小数精度でもよい)を検出するのは同様であるが、従来例が類似位置を1点決定するのにたいし、本発明では、2つ以上の類似位置を検出することが特徴である。
まず、図2(a)に示すように整数画素精度での動き検出を行い、図14で示した参照領域P3から符号化対象ブロックMB0と最も画素値の差分の絶対値和SADが小さい位置(類似した位置)を決定する(MB1に決定したとしMB1に含まれる整数精度画素をF1〜F16とする)。
次に図2(b)に示すように整数画素精度で最も類似した位置MB1を中心に周辺の小数画素(1/2、1/4画素)精度での画素値の差分の絶対値和SADが最も小さい位置2点(最もSADが小さい画素位置Best1、2番目にSADが小さい画素位置Best2)を決定し、動きベクトルを求める(例えば図2(b)の×で示す1/2画素位置がBest1、+で示す1/4画素位置がBest2になったとする)。なお、小数精度の画素値生成は背景技術で図15を用いて説明した方法と同様でも、また異なっていてもよい。また、ここで最も類似した位置の決定方法を符号化対象ブロックの画素値と参照領域の画素値の差分の絶対値和SADとしたが、これ以外の決定方法を用いてもよい。
図2で示したような動き補償ブロックサイズ4x4以外や、参照領域P3(図14の参照ピクチャRefIdx1)以外の参照領域(例えば図13のP5など)でも同様に動き検出を行い、Best1、Best2の動きベクトルを決定し、参照ピクチャ番号RefIdxとともにモード決定部102に出力する。このとき、出力される情報は図3のようにマクロブロック(16x16画素)毎にまとめたかたちで渡されるとする。例えば、動き補償ブロックが8x16の場合、図3(b)のようにマクロブロック内に動き補償ブロックは2つありそれぞれのブロックに参照ピクチャ番号RefIdxと動きベクトル(Best1のベクトルをMV1、Best2のベクトルをMV2とあらわす)の全ての候補が格納される。図3(a)は動き補償ブロックの単位が16x16の場合であり、図3(c)は動き補償ブロックの単位が8x8の場合を示している。
なお、図2を用いて説明した最も類似した位置Best1、Best2の決定方法はまず整数画素精度で最も類似した位置を決定し、その後その位置を中心に周囲の小数精度で類似位置を検出して最も類似した位置2点を決定したが、この最も類似した位置2点の決定方法はこれ以外でもよい。例えば、探索領域内の整数画素、小数画素(1/2、1/4など)すべての中で最も類似した2点を求めるとしてもよい。また、整数画素精度で最も類似した位置を決定し、その後その位置を中心に周囲の1/2画素精度で最も類似した位置を決定し、さらにその周囲1/4画素精度で最も類似した位置2つを検出するとしてもよい。
≪候補の中から最も符号化効率のよいPartition、方向を決定する≫
次にモード決定部102の処理について詳細に説明する。モード決定部102には、上記動きベクトル候補検出部101より動き補償ブロックサイズ毎マクロブロック単位で動きベクトルMotionVectorとそれに対応した参照ピクチャ番号RefIdxの全ての組み合わせが入力される。
まずモード決定部102は上記入力情報から、最も効率よく符号化できるモードを決定する。ここでいうモードとは、動き補償ブロックサイズとその場合の各ブロックの予測タイプ(前方片方向、後方片方向、双方向など)および、参照ピクチャと動きベクトルの組み合わせをいう。Bピクチャの場合このモードは、1つのブロックについて1つまたは2つの異なる参照ピクチャ番号の動きベクトルを用いてもよく、H.264等の場合はさらに同一の参照ピクチャの動きベクトルを用いてもよい。そこで以下で説明するような方法等を用いてモードを決定する。
図4はモード決定方法を具体的に説明するための図である。説明を簡単にするため、候補となる組み合わせ(動き検出部101から与えられる参照ピクチャ番号RefIdxと動きベクトルの組み合わせ)を動き補償ブロックタイプは16x16と8x16の2種、それぞれの参照ピクチャ番号はRefIdx1、RefIdx2の2つとする。参照ピクチャ毎に2つの動きベクトルMV1、MV2がある。ここでMV1、MV2で示される動きベクトルはそれぞれ上記動きベクトル候補検出部101で決定したBest1、Best2の位置を表す動きベクトルであり、参照ピクチャ番号と動きベクトルの組み合わせを明確にするため、図4(a)中にはMV1#Ref1(参照ピクチャ番号1のMV1)等のかたちであらわしている。
まず、図4(a)に示すような動き補償ブロック毎の各モード候補1〜5の評価値を導出する。(動き補償ブロックタイプ8x16の場合、マクロブロックは左右2つに分割されるので、8x16#Left、8x16#Rightとあらわす) 図4(b)に各ブロックのあるモード候補の評価値の導出例をしめす。評価値を求めようとするモード候補は片方向1ベクトルの候補であるか否かの判定を行い(S301)、もし片方向1ベクトルの候補である場合、参照する1つの参照ピクチャ画素と符号化対象ブロックの画素との画素値の差の絶対値和にある値αを加えた値を評価値とする(S302)。もしS301で片方向1ベクトルでない(片方向2ベクトル、または両方向各1ベクトル)であった場合はS303に進み、参照する2つのピクチャの平均画素を求め、これを予測画素とする。次にS303で算出した予測画素と符号化対象ブロックとの画素値の差の絶対値和に値βを加えた値を評価値とする(S304)。ここで用いた値α、βとは動きベクトルをあらわすビットを考慮するために与える値である。また上記予測画素を求める方法は参照する2つのピクチャの平均画素に限定するものではなく、他の方法でも良い。
以上の方法で動き補償ブロックタイプ毎に各ブロックの候補に評価値を与え、そのブロックの候補内で最も評価値の小さいモード1つを選択する。
次に、マクロブロック単位で評価値を算出し、マクロブロック内の動き補償ブロックタイプをいずれにするか決定する。図5は図4(a)の各ブロックの各モード候補に図4(b)の方法で評価値が与えられた例を示すものである。この例の場合、動き補償ブロック16x16では評価値480のモード候補1(片方向1ベクトル、MV1#Ref1)、動き補償ブロックタイプ8x16#Left(マクロブロックを分割した場合の左のブロック)では評価値232のモード候補5(両方向各1ベクトル、MV1#Ref1,MV1#Ref1)、動き補償ブロックタイプ8x16#Rightでは評価値210のモード候補3(片方向2ベクトル,MV1#Ref1,MV2#Ref1)がそれぞれ選ばれる。処理単位であるマクロブロックをどの動き補償単位で符号化すれば最も符号化効率がよいかは、ここで得られた評価値をマクロブロック単位で比較することにより決定する。図5で決定された最小の評価値をマクロブロック単位で比較すると、この場合動き補償単位16x16の評価値は480、動き補償単位8x16の場合は452(232+210 =452)であり、評価値の小さい動き補償単位8x16に決定する。以上の手順により、符号化モードは動き補償ブロックタイプ8x16で各ブロックの符号化は8x16#Leftブロックが両方向各1ベクトル(MV1#Ref1,MV1#Ref2)を用いた双予測、8x16#Rightブロックが片方向2ベクトル(MV1#Ref1,MV2#Ref1)を用いた双予測で符号化すると決定する。
このように、他の複数の動き補償ブロックタイプについても評価値を与え、符号化対象マクロブロックの符号化モードを決定する。
なお、ここでは評価値として、符号化対象ブロックと参照ブロック(または算出した予測画素)との画素値の差の絶対値和を評価値の一部として用いているが、評価値はこれに限ったものではなく、符号化効率の最もよいモードを決定するための値であればよい。
モード決定部102で決定された符号化モードに従い、片方向予測か否かを示すフラグFlagおよび参照ピクチャ番号と動きベクトルを補償符号化部1008に入力し、以降従来符号化と同様に処理する。
以上の実施の形態1に示した動きベクトル候補検出部101およびモード決定部102を含む画像符号化装置で符号化を行うと、Bピクチャの双予測符号化時、マクロブロックが参照する2つの参照ブロックが同一の参照ピクチャになる可能性が考慮され、2つの参照ブロックが同一ピクチャか否かにかかわらず、最も符号化効率の高い予測を選択することが可能となる。すなわち、同一の参照ピクチャ内の1/4画素精度で隣り合う2つの位置の画像を参照した場合、実質的に1/8位置の画素を生成したものと同じ意味合いをもち、より細かな動きの画像について符号化効率の向上が期待できる。
さらに、本実施の形態1の画像符号化方法および装置は従来の双方向予測(異なる参照ピクチャから各1ベクトル、すなわち両方向各1ベクトル)の動き補償符号化を実現するプログラムまたはハードウエアへの入力を変更するのみで、特別なメモリ増加は必要なく実現できる。
また、上記に説明した実施の形態1について、符号化対象マクロブロックが2枚を参照する双予測符号化ブロックである場合、その2枚の参照画像が同一ピクチャであることを許可するか否かの切り替えは簡単なフラグを用いることで実現できる。
図6は双予測を行う符号化において、参照する2枚の参照画像が同一ピクチャであることを許可するか否かを簡単なフラグを用いることで切り替える場合の画像符号化処理を説明するための図である。図6は図1のブロック図における動きベクトル候補検出部101の処理および入力が異なるのみである。図6において,動きベクトル候補検出部103には、外部から双予測において2つの参照画像が同一ピクチャであることを許可するか否かを示す1ビットのフラグBIPflagを入力する。参照画像が同一ピクチャであることを許可する場合BIPflagは1、許可しない場合BIPflagは0とする。動きベクトル候補検出部103ではBIPflagが1の場合、上記において図2を用いて説明したように各参照ピクチャの参照領域から符号化対象と最も類似した2点(Best1,Best2)を決定する。もしBIPflagが0の場合は、参照領域からは最も類似した1点(Best1)のみを決定する。上記と同様各参照ピクチャで決定された1点について、それぞれ参照ピクチャ番号RefIdxと動きベクトルMV1をモード決定部102に出力する。モード決定部102では、図4,5を用いて説明したように、入力されたモード候補について符号化効率が最もよいモードを決定する。BIPflagが0の場合、モード決定部102には各参照ピクチャについて1点の位置しか入力されないため、双予測(2ベクトル)のモード候補として、同一参照ピクチャ内の2点を参照する候補は発生しない。これにより同一ピクチャを参照する双予測符号化を禁止することができる。
このように同一ピクチャの参照を許可するか否かを簡単なフラグによって切り替えることで、例えば2つの参照画像を用いて符号化する場合、その2つが同一ピクチャであることを許可されていないMPEG-2などの符号化標準規格と、同一ピクチャであることが許可されているH.264などの符号化標準規格の双方の符号化方式を実現する画像符号化装置簡単に実現することが可能となる。
以上に説明した画像符号化方法および装置によって符号化した画像のビットストリームは、Bピクチャ内のマクロブロックが同一参照ピクチャの2つの位置を参照することがある、という特徴をもつ。
(実施の形態2)
以下に本発明の実施形態2を説明する。本発明の実施の形態2は上記実施の形態1で示した画像符号化方法および画像符号化装置において、図1で示した動き補償符号化部1008およびモード決定部102の処理に関するものであり、図1のその他の処理については同様である。
以降図1の動き補償符号化部1008、およびモード決定部102で行う画素補間処理の実施の形態を説明する。従来例で図15を用いて説明したように動き補償符号化部1008では小数画素精度の動き補償を行うために画素補間を行う。またモード決定部102では評価値を求めるために、予測画素(参照ピクチャ)の画素が必要でありこのとき画素補間を行う必要がある。
ここで上記実施の形態1で示した、モード決定部102におけるモード候補、動き補償符号化部1008に入力された予測モード(最適モード) (1ベクトル予測や2ベクトル予測)について、参照画像の数を2値のフラグであらわす。予測画像の数が1すなわち1ベクトル予測を0、予測画像の数が2すなわち2ベクトル予測を1とあらわすことにする。
図7に動き補償符号化部1008およびモード決定部102で行う画素補間の処理フローを示す。まず入力された予測モードをチェックし(S501)フラグが1(2ベクトル)の場合、その2つの動きベクトル(2つの動きベクトルをMV1、MV2とし、それぞれの水平・垂直成分をmv1#x、mv1#y、mv2#x、mv2#yとする)と参照ピクチャ番号(MV1#RefIdx、MV2#RefIdx)を参照する(S502)。2つの参照ピクチャ番号が同じ(MV1#RefIdx==MV2#RefIdx)かつ、水平成分、垂直成分の差の絶対値がそれぞれ一定値α、βより小さい、すなわち2つの参照画像が同一ピクチャでかつ重なっているような場合(S502がYESの場合)、1つ目の参照画像(MV1)の画素補間演算時、1/2画素値をメモリ内に一時的に保存する(S503)。そうでない場合は保存しない(S504)。このときS502での値α、βは画素補間時の参照画素数(タップ数)によって決める0以上の値であるとする。
2つの画像を参照(双予測)し、2つの画像が同じ参照ピクチャ内の重複した画素を参照している場合、1つ目の参照画素の画素補間時に演算生成する1/2画素値をメモリに一時的に保存し、2つ目の参照画素の動き補間時にこのメモリを参照することで、2つ目の画素補間にかかる演算を省略することができる。これは動き補償符号化部1008およびモード決定部102をハードウエアで実現する場合に消費電力の削減に効果がある。
(実施の形態3)
さらに、上記各実施の形態で示した画像符号化方法の構成を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
図8は、上記実施の形態1および実施の形態2の画像符号化方法を格納したフレキシブルディスクを用いて、コンピュータシステムにより実施する場合の説明図である。
図8(b)は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図8(a)は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムとしての画像符号化方法が記録されている。
また、図8(c)は、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムとしての画像符号化方法または画像復号化方法をフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより上記画像符号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
さらにここで、上記実施の形態で示した動き補償方法、画像符号化方法応用例とそれを用いたシステムを説明する。
図9は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex107〜ex110が設置されている。
このコンテンツ供給システムex100は、例えば、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex107〜ex110を介して、コンピュータex111、PDA(personal digital assistant)ex112、カメラex113、携帯電話ex114、カメラ付きの携帯電話ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図9のような組み合わせに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex107〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、PDC(Personal Digital Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-Code Division Multiple Access)方式、若しくはGSM(Global System for Mobile Communications)方式の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
また、ストリーミングサーバex103は、カメラex113から基地局ex109、電話網ex104を通じて接続されており、カメラex113を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラ116で撮影した動画データはコンピュータex111を介してストリーミングサーバex103に送信されてもよい。カメラex116はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラex116で行ってもコンピュータex111で行ってもどちらでもよい。また、符号化処理はコンピュータex111やカメラex116が有するLSIex117において処理することになる。なお、画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な記録媒体である何らかの蓄積メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込んでもよい。さらに、カメラ付きの携帯電話ex115で動画データを送信してもよい。このときの動画データは携帯電話ex115が有するLSIで符号化処理されたデータである。
このコンテンツ供給システムex100では、ユーザがカメラex113、カメラex116等で撮影しているコンテンツ(例えば、音楽ライブを撮影した映像等)を上記実施の形態同様に符号化処理してストリーミングサーバex103に送信する一方で、ストリーミングサーバex103は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114等がある。このようにすることでコンテンツ供給システムex100は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
このシステムを構成する各機器の符号化には上記各実施の形態で示した画像符号化装置を用いるようにすればよい。
その一例として携帯電話について説明する。
図10は、上記実施の形態で説明した動き補償方法、画像符号化方法および画像復号化方法を用いた携帯電話ex115を示す図である。携帯電話ex115は、基地局ex110との間で電波を送受信するためのアンテナex201、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex203、カメラ部ex203で撮影した映像、アンテナex201で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex202、操作キーex204群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex208、音声入力をするためのマイク等の音声入力部ex205、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアex207、携帯電話ex115に記録メディアex207を装着可能とするためのスロット部ex206を有している。記録メディアex207はSDカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるEEPROM(Electrically Erasable and Programmable Read Only Memory)の一種であるフラッシュメモリ素子を格納したものである。
さらに、携帯電話ex115について図11を用いて説明する。携帯電話ex115は表示部ex202及び操作キーex204を備えた本体部の各部を統括的に制御するようになされた主制御部ex311に対して、電源回路部ex310、操作入力制御部ex304、画像符号化部ex312、カメラインターフェース部ex303、LCD(Liquid Crystal Display)制御部ex302、画像復号化部ex309、多重分離部ex308、記録再生部ex307、変復調回路部ex306及び音声処理部ex305が同期バスex313を介して互いに接続されている。
電源回路部ex310は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ex115を動作可能な状態に起動する。
携帯電話ex115は、CPU、ROM及びRAM等でなる主制御部ex311の制御に基づいて、音声通話モード時に音声入力部ex205で集音した音声信号を音声処理部ex305によってディジタル音声データに変換し、これを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。また携帯電話機ex115は、音声通話モード時にアンテナex201で受信した受信信号を増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ex306でスペクトラム逆拡散処理し、音声処理部ex305によってアナログ音声信号に変換した後、これを音声出力部ex208を介して出力する。
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex204の操作によって入力された電子メールのテキストデータは操作入力制御部ex304を介して主制御部ex311に送出される。主制御部ex311は、テキストデータを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して基地局ex110へ送信する。
データ通信モード時に画像データを送信する場合、カメラ部ex203で撮像された画像データをカメラインターフェース部ex303を介して画像符号化部ex312に供給する。また、画像データを送信しない場合には、カメラ部ex203で撮像した画像データをカメラインターフェース部ex303及びLCD制御部ex302を介して表示部ex202に直接表示することも可能である。
画像符号化部ex312は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex203から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex308に送出する。また、このとき同時に携帯電話機ex115は、カメラ部ex203で撮像中に音声入力部ex205で集音した音声を音声処理部ex305を介してディジタルの音声データとして多重分離部ex308に送出する。
多重分離部ex308は、画像符号化部ex312から供給された符号化画像データと音声処理部ex305から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex201を介して基地局ex110から受信した受信信号を変復調回路部ex306でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex308に送出する。
また、アンテナex201を介して受信された多重化データを復号化するには、多重分離部ex308は、多重化データを分離することにより画像データの符号化ビットストリームと音声データの符号化ビットストリームとに分け、同期バスex313を介して当該符号化画像データを画像復号化部ex309に供給すると共に当該音声データを音声処理部ex305に供給する。
次に、画像復号化部ex309は、画像データの符号化ビットストリームを復号することにより再生動画像データを生成し、これをLCD制御部ex302を介して表示部ex202に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex305は、音声データをアナログ音声信号に変換した後、これを音声出力部ex208に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図12に示すようにディジタル放送用システムにも上記実施の形態の画像符号化装置を組み込むことができる。具体的には、放送局ex409では映像情報の符号化ビットストリームが電波を介して通信または放送衛星ex410に伝送される。これを受けた放送衛星ex410は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex406で受信し、テレビ(受信機)ex401またはセットトップボックス(STB)ex407などの装置により符号化ビットストリームを復号化してこれを再生する。また、記録媒体であるCDやDVD等の蓄積メディアex402に記録した符号化ビットストリームを読み取り、再生装置ex403で復号化する。
この場合、再生された映像信号はモニタex404に表示される。また、ケーブルテレビ用のケーブルex405または衛星/地上波放送のアンテナex406に接続されたセットトップボックスex407内に画像復号化装置を実装し、これをテレビのモニタex408で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号化装置を組み込んでも良い。また、アンテナex411を有する車ex412で衛星ex410からまたは基地局ex107等から信号を受信し、車ex412が有するカーナビゲーションex413等の表示装置に動画を再生することも可能である。
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクex421に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダex420がある。更にSDカードex422に記録することもできる。レコーダex420が上記実施の形態で示した画像復号化装置を備えていれば、DVDディスクex421やSDカードex422に記録した画像信号を再生し、モニタex408で表示することができる。
なお、カーナビゲーションex413の構成は例えば図11に示す構成のうち、カメラ部ex203とカメラインターフェース部ex303、画像符号化部ex312を除いた構成が考えられ、同様なことがコンピュータex111やテレビ(受信機)ex401等でも考えられる。
また、上記携帯電話ex114等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りの実装形式が考えられる。
このように、上記実施の形態で示した動き補償方法、画像符号化方法上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。