以下、本発明の実施の形態に係る画像符号化装置について、図面を参照しながら説明する。
(実施の形態1)
本実施の形態に係る画像符号化装置の概要について説明する。本実施の形態に係る画像符号化装置は、画像をスライスに分割し、スライス間での情報の参照を許す。そして、本実施の形態に係る画像符号化装置は、スライスの先頭で、周辺のマクロブロックのシンボル発生確率テーブルを用いる。これにより、本実施の形態に係る画像符号化装置は、画像に応じたシンボル発生確率テーブルを使用することができる。したがって、符号化効率の向上が可能となる。
以上が本実施の形態に係る画像符号化装置の概要についての説明である。
次に、本実施の形態に係る画像符号化装置の構成について説明する。図1は、本実施の形態に係る画像符号化装置のブロック図である。本実施の形態の画像符号化装置は、算術符号化を行う算術符号化部1および算術符号化部2から構成される。
図2は、図1に示された算術符号化部1の構成を示す構成図である。算術符号化部1は、2値化部3、シンボル発生確率格納部4、コンテキスト制御部5および2値算術符号化器6を備える。
2値化部3は、多値信号の2値化(Binarization)を行う。シンボル発生確率格納部4は、シンボルの発生確率を保持する。コンテキスト制御部5は、シンボル発生確率格納部4に格納されているどのシンボル発生確率を使用するかを決定し、シンボル発生確率格納部4からシンボル発生確率を読み出す。2値算術符号化器6は、コンテキスト制御部5が出力するシンボル発生確率を用いて算術符号化を行う。算術符号化部2は、算術符号化部1と同様であるので説明を省略する。
以上が本実施の形態に係る画像符号化装置の構成についての説明である。
次に、図1および図2に示した画像符号化装置の動作を図3に示すフローチャートに従って説明する。図3は、1マクロブロックの符号化を示している。ここでは、主に、算術符号化部1の動作が示されるが、算術符号化部2の動作も同様である。
図3に示すように、本実施の形態に係る画像符号化装置は、まずシンボル発生確率格納部4が、保持するシンボル発生確率を初期化する(S100)。発生確率の初期化の詳細は後で説明する。次に、2値化部3は、H.264規格に示される方法で多値信号の2値化を行う(S101)。
次に、コンテキスト制御部5は、H.264規格に示される方法でコンテキスト制御を行う(S102)。ここでコンテキスト制御とは、符号化中のマクロブロックの周辺の情報、および、符号化するビット位置などによって、対応するシンボル発生確率をシンボル発生確率格納部4から読み出し、2値算術符号化器6に入力する処理である。次に、2値算術符号化器6は、H.264規格に示される方法により算術符号化を行う(S103)。
コンテキスト制御部5は、算術符号化の結果、更新されたシンボル発生確率をシンボル発生確率格納部4に格納する(S104)。さらに、必要に応じて、シンボル発生確率格納部4は、格納されたシンボル発生確率を出力する(S105)。シンボル発生確率の出力は後で説明する。
次に、算術符号化部1は、マクロブロックの符号化が全て終了したかを判定する(S106)。算術符号化部1は、全ての符号化が終了している場合(S106でYes)、処理を終了し、全ての符号化が終了していない場合(S106でNo)、再度2値化(S101)から処理を継続する。
図4は、シンボル発生確率格納部4が保持するシンボル発生確率テーブルを示す説明図である。図4におけるインデックス(ctxIdx)は、コンテキストすなわち符号化中のマクロブロックの周辺の情報、および、符号化するビット位置に応じて決まるインデックスである。各インデックスが示すエントリは、それぞれ、シンボル発生確率(pStateIdx)と、発生確率の高いシンボル(Most Probable Symbol)を示すvalMPSとで構成される。これらは、H.264規格に示されるものと同等である。
図3のシンボル発生確率の初期化(S100)について、図5を用いて説明する。まず、算術符号化部1は、符号化対象マクロブロックがスライスの先頭であるかどうかの判定を行う(S110)。ここでスライスとは、非特許文献3で示されるエントロピースライス、すなわちスライス間での情報の参照が可能なスライスであるとする。
符号化対象マクロブロックがスライスの先頭ではない場合(S110でNo)、算術符号化部1は、何もせず処理を終了する。符号化対象マクロブロックがスライスの先頭である場合(S110でYes)、算術符号化部1は、次に、符号化対象マクロブロックがピクチャの先頭であるかどうかの判定を行う(S111)。
ピクチャの先頭の場合(S111でYes)、算術符号化部1は、シンボル発生確率格納部4で保持されているシンボル発生確率テーブルをH.264規格で定められる方法で初期化する(S112)。ピクチャの先頭ではない場合(S111でNo)、算術符号化部1は、符号化対象マクロブロックのすぐ上のマクロブロックの符号化時に出力されるシンボル発生確率テーブルをシンボル発生確率格納部4に読み込む(S113)。
次に、図3のシンボル発生確率の出力(S105)について、図6を用いて説明する。まず、算術符号化部1は、符号化対象マクロブロックの下がスライスの境界であって、かつ、符号化対象マクロブロックがピクチャの左端であるかを判定する(S120)。
符号化対象マクロブロックの下がスライスの境界ではない、または、符号化対象マクロブロックがピクチャの左端ではない場合(S120でNo)、算術符号化部1は、何もせず処理を終了する。符号化対象マクロブロックの下がスライスの境界であって、かつ、符号化対象マクロブロックがピクチャの左端である場合(S120でYes)、次に、算術符号化部1は、マクロブロックの処理が終了したかどうかを判定する(S121)。
マクロブロックの処理が終了していない場合(S121でNo)、算術符号化部1は、何もせず処理を終了する。マクロブロックの処理が終了している場合(S121でYes)、算術符号化部1は、シンボル発生確率格納部4が保持するシンボル発生確率テーブルを出力(S122)して、処理を終了する。
これらの動作について図7Aを用いて、ピクチャ全体から見た動作を説明する。図7Aに示すように、ピクチャは4つのスライスに分割される。スライスは、さらに、16x16画素からなるマクロブロックに分割される。図7Aに示されたAの位置は、ピクチャの先頭である。したがって、算術符号化部1は、シンボル発生確率格納部4が保持するシンボル発生確率テーブルをH.264規格で定められる方法で初期化する(図5のS112)。図7Aに示されたBの位置は、その下がスライスの境界であって、かつ、画像の左端である。したがって、算術符号化部1は、シンボル発生確率格納部4が保持するシンボル発生確率テーブルを出力する(図6のS122)。図7Aに示されたCの位置は、スライスの先頭であって、ピクチャの先頭ではない。したがって、算術符号化部1は、シンボル発生確率格納部4に、Bの位置で出力されるシンボル発生確率テーブルを読み込む(図5のS113)。
さらに、詳細には、16x16画素単位の各マクロブロックは、それぞれ、複数の8x8画素単位のサブブロックに分割されて、符号化される。つまり、図8に示すように、スライス0に属する上側マクロブロックの処理終了時とは、サブブロック3の処理終了時である。画像符号化装置は、サブブロック3の処理終了時にシンボル発生確率テーブルを出力し、スライス1の先頭マクロブロックとなる下側マクロブロックの処理開始時に、出力されたシンボル発生確率テーブルをシンボル発生確率格納部4に読み込むように動作する。
以上が本実施の形態に係る画像符号化装置についての説明である。
このように、本実施の形態に係る画像符号化装置は、ピクチャの先頭においてのみ、シンボル発生確率テーブルを初期化する。そして、画像符号化装置は、各スライスの先頭で、前のスライスの空間的に最も近いマクロブロックのシンボル発生確率テーブルを読み込む。これにより、画像符号化装置は、空間的に近い位置のシンボル発生確率を用いて、画像を符号化することができ、より高い符号化効率を実現することができる。
なお、本実施の形態において、H.264規格に示される算術符号化方法が適用されている。しかし、シンボル発生確率テーブル、あるいは、それに類する画像に応じて適応的に更新するデータを用いた符号化であれば、どのような方法が適用されてもよい。
また、本実施の形態において、画像符号化装置は、画像を16x16画素からなるマクロブロック単位に処理している。しかし、画像符号化装置は、8x8画素、32x32画素、あるいは、64x16画素などの単位で画像を処理しても構わない。
また、本実施の形態において、スライス内部をジグザグの順序で符号化するような例が図7Bなどに示されている。しかし、符号化順は、H.264規格に示されるラスター順であってもよいし、どのような順序であっても構わない。
また、本実施の形態において、符号化が示されたが、復号についても、この動作を逆に行うことで実現することが可能であることはいうまでもない。
また、本実施の形態において、符号化は、H.264規格に基づいているが、同様の他の規格に基づいていてもよい。
(実施の形態2)
本実施の形態に係る画像符号化装置の概要について説明する。本実施の形態に係る画像符号化装置は、実施の形態1に係る画像符号化装置と比較して、シンボル発生確率テーブルが出力される位置と、出力されたシンボル発生確率テーブルが用いられる位置とが空間的により近くなる。これにより、符号化効率がさらに向上する。
以上が、本実施の形態に係る画像符号化装置の概要についての説明である。
本実施の形態に係る画像符号化装置の構成は、実施の形態1と同様であるので、説明を省略する。
次に、本実施の形態に係る画像符号化装置の動作を説明する。本実施の形態に係る画像符号化装置の動作は、図3に示された実施の形態1に係る画像符号化装置の動作と同様であるが、図3に示されたシンボル発生確率出力(S105)の動作が異なる。シンボル発生確率出力(S105)の動作について、図9を用いて説明する。
まず、算術符号化部1は、符号化対象マクロブロックの下がスライスの境界であって、かつ、符号化対象マクロブロックがピクチャの左端であるかを判定する(S130)。
符号化対象マクロブロックの下がスライスの境界ではない場合、または、符号化対象マクロブロックがピクチャの左端ではない場合(S130でNo)、算術符号化部1は、何もせず処理を終了する。符号化対象マクロブロックの下がスライスの境界であって、かつ、符号化対象マクロブロックがピクチャの左端である場合(S130でYes)、算術符号化部1は、次に、符号化対象マクロブロック内のサブブロック2の処理が終了したかどうかを判定する(S131)。
サブブロック2の処理が終了していない場合(S131でNo)、算術符号化部1は、何もせず処理を終了する。サブブロック2の処理が終了している場合(S131でYes)、算術符号化部1は、シンボル発生確率格納部4が保持するシンボル発生確率テーブルを出力(S132)して、処理を終了する。
さらに詳細には、図10に示すように、算術符号化部1は、スライス0に属する上側マクロブロックのサブブロック2の処理終了時にシンボル発生確率テーブルを出力する。算術符号化部2は、スライス1の先頭マクロブロックとなる下側マクロブロックの処理開始時に、出力されたシンボル発生確率テーブルをシンボル発生確率格納部4に読み込むように動作する。
以上が、本実施の形態に係る画像符号化装置についての説明である。
このように、本実施の形態に係る画像符号化装置は、各スライスの先頭で、前のスライスの空間的により近いマクロブロックのシンボル発生確率テーブルを読み込む。これにより、本実施の形態に係る画像符号化装置は、より空間的に近い位置のシンボル発生確率を用いて、各スライスの先頭を符号化することができる。そして、本実施の形態に係る画像符号化装置は、より高い符号化効率を実現することができる。
なお、本実施の形態において、H.264規格に示される算術符号化方法が適用されている。しかし、シンボル発生確率テーブル、あるいは、それに類する画像に応じて適応的に更新するデータを用いた符号化であれば、どのような方法が適用されてもよい。
また、本実施の形態において、画像符号化装置は、画像を16x16画素からなるマクロブロック単位に処理している。しかし、画像符号化装置は、8x8画素、32x32画素、あるいは、64x16画素などの単位で画像を処理しても構わない。マクロブロックのさらに細かいサブブロックについても、2x2画素、または、4x4画素などのどのような単位であっても構わない。
また、本実施の形態において、スライス内部をジグザグの順序で符号化するような例が示されている。しかし、符号化順は、H.264規格に示されるラスター順であってもよいし、どのような順序であっても構わない。
また、本実施の形態において、符号化が示されたが、復号についても、この動作を逆に行うことで実現することが可能であることはいうまでもない。
また、本実施の形態において、符号化は、H.264規格に基づいているが、同様の他の規格に基づいていてもよい。
(実施の形態3)
本実施の形態に係る画像符号化装置の概要について説明する。本実施の形態に係る画像符号化装置は、実施の形態1および2と異なり、スライスの先頭だけでなく、常にシンボル発生確率テーブルとして空間的に近い位置のシンボル発生確率テーブルを使用することで、さらに符号化効率の向上が可能となる。
以上が本実施の形態に係る画像符号化装置の概要についての説明である。
次に、本実施の形態に係る画像符号化装置の構成について説明する。本実施の形態に係る画像符号化装置の構成は、図1に示された実施の形態1に係る画像符号化装置の構成と同様であるので説明を省略する。図11は、図1に示された算術符号化部1の構成を示す構成図である。本実施の形態に係る算術符号化部1は、出力されたシンボル発生確率テーブルを保持し、新たなシンボル発生確率を算出するシンボル発生確率算出部7を備える。他の構成要素は、図2に示された実施の形態1に係る構成要素と同様であり、同じ番号を振って説明を省略する。また、算術符号化部2は、算術符号化部1と同様であるので説明を省略する。
以上が本実施の形態に係る画像符号化装置の構成についての説明である。
次に、本実施の形態に係る画像符号化装置の動作を図12に示す動作フローチャートを用いて説明する。図12は、1マクロブロックの符号化を示している。図12に示すように、まず、シンボル発生確率算出部7は、シンボル発生確率格納部4が保持するシンボル発生確率の算出を行う(S150)。発生確率の算出の詳細は後で説明する。次に、2値化部3は、H.264規格に示される方法で多値信号の2値化を行う(S151)。
次に、コンテキスト制御部5は、H.264規格に示される方法でコンテキスト制御を行う(S152)。ここでコンテキスト制御とは、符号化中のマクロブロックの周辺の情報、および、符号化するビット位置などによって、対応するシンボル発生確率をシンボル発生確率格納部4から読み出し、2値算術符号化器6に入力する処理である。次に、2値算術符号化器6は、H.264規格に示される方法により算術符号化を行う(S153)。
算術符号化部1は、算術符号化の結果、更新されたシンボル発生確率をシンボル発生確率格納部4に格納する(S154)。さらに、算術符号化部1は、必要に応じて、シンボル発生確率格納部4からシンボル発生確率を出力する(S155)。シンボル発生確率の出力は後で説明する。
次に、算術符号化部1は、マクロブロックの符号化が全て終了したかを判定する(S156)。符号化が終了している場合(S156でYes)、算術符号化部1は、処理を終了し、符号化が終了していない場合(S156でNo)、算術符号化部1は、再度2値化(S151)から処理を継続する。
シンボル発生確率格納部4が保持するシンボル発生確率テーブルは、図4に示された実施の形態1に係るシンボル発生確率テーブルと同様であるので説明を省略する。
図12のシンボル発生確率算出部7によるシンボル発生確率テーブルの算出(S150)について、図13を用いて説明する。
まず、シンボル発生確率算出部7は、図13に示すように上のマクロブロックが存在するか判定する(S160)。上のマクロブロックが存在する場合(S160でYes)、次に、シンボル発生確率算出部7は、左のマクロブロックが存在するか判定する(S161)。左のマクロブロックが存在する場合(S161でYes)、左と上のマクロブロックが両方存在するので、シンボル発生確率算出部7は、上と左のマクロブロックのシンボル発生確率を平均化したシンボル発生確率を算出する(S162)。
ここで、上のマクロブロックのシンボル発生確率をpStateIdxA、シンボルをvalMPSAとし、左のマクロブロックのシンボル発生確率をpStateIdxB、シンボルをvalMPSBとして、求めようとするマクロブロックのシンボル発生確率をpStateIdx、シンボルをvalMPSとした場合の平均の計算方法を式1に示す。
if (valMPSA == valMPSB) [
pStateIdx = ( pStateIdxA + pStateIdxB ) / 2;
valMPS = valMPSA;
] else [
pStateIdx = ( - pStateIdxA + pStateIdxB ) / 2;
valMPS = valMPSB;
if (pStateIdx < 0) [
pStateIdx = - pStateIdx;
valMPS = valMPSA;
]
]
・・・(式1)
式1に示すように、valMPSAとvalMPSBが同じ場合、シンボル発生確率算出部7は、pStateIdxAとpStateIdxBの算術平均を取得する。valMPSAとvalMPSBが異なる場合、シンボル発生確率算出部7は、擬似的にpStateIdxAを符号反転してから算術平均を取得する。
シンボル発生確率算出部7は、このようにして、全てのインデックスに対してシンボル発生確率を算出する。そして、シンボル発生確率算出部7は、シンボル発生確率を算出することにより得られたシンボル発生確率テーブルをシンボル発生確率格納部4に書き込む。
左のマクロブロックが存在しない場合(S161でNo)、シンボル発生確率算出部7は、上のマクロブロックのシンボル発生確率テーブルをそのままシンボル発生確率格納部4に書き込む(S163)。
上のマクロブロックが存在しない場合(S160でNo)、次に、シンボル発生確率算出部7は、左のマクロブロックが存在するかを判定する(S164)。左のマクロブロックが存在する場合(S164でYes)、シンボル発生確率算出部7は、左のマクロブロックのシンボル発生確率テーブルをそのままシンボル発生確率格納部4に書き込む(S165)。
左のマクロブロックが存在しない場合(S164でNo)、上も左もマクロブロックが存在しない。そのため、算術符号化部1は、シンボル発生確率テーブルの初期化を行う(S166)。初期化は、H.264規格に示される方法で構わない。シンボル発生確率格納部4がシンボル発生確率テーブルの初期化を行ってもよいし、シンボル発生確率算出部7が初期化したシンボル発生確率テーブルを生成して、シンボル発生確率格納部4に書き込むことにより、シンボル発生確率テーブルの初期化を行ってもよい。
次に、図12のシンボル発生確率格納部4によるシンボル発生確率テーブルの出力(S155)について、図14を用いて説明する。
まず、算術符号化部1は、右又は下のマクロブロックがあるかを判定する(S170)。右又は下のマクロブロックがなければ(S170でNo)、算術符号化部1は、処理を終了する。右又は下のマクロブロックがあれば(S170でYes)、算術符号化部1は、マクロブロックの処理が終了したかを判定する(S171)。
マクロブロックの処理が終了していなければ(S171でNo)、算術符号化部1は、処理を終了する。マクロブロックの処理が終了していれば(S171でYes)、算術符号化部1は、シンボル発生確率テーブルをシンボル発生確率格納部4から出力する(S172)。本実施の形態では、ほとんどのマクロブロックでシンボル発生確率テーブルの出力が必要である。したがって、算術符号化部1は、全てのマクロブロックでシンボル発生確率テーブルの出力を行うとしても構わない。
これらの動作について図15A、図15Bおよび図15Cを用いて、ピクチャ全体から見た動作を説明する。図15A、図15Bに示すように、ピクチャは4つのスライスに分割され、スライスはさらに16x16画素からなるマクロブロックに分割されているとする。図15A、図15BのXはこれから処理しようとするマクロブロックの位置を示し、Aはその左側のマクロブロック、Bはその上側のマクロブロックを示している。
本実施の形態において、スライス間の情報の参照が可能である。そのため、図15Aのように、スライスの境界をまたいでシンボル発生確率テーブルが算出される場合もあるし、図15Bのように、スライスの内部で、シンボル発生確率テーブルが算出される場合もある。なお、図15Cは、スライス内部のマクロブロックの処理の順序を示している。
さらに詳細には、算術符号化部1は、図16に示すように、上側マクロブロックの処理終了時、すなわち、8x8画素単位に分割したサブブロック3の処理終了時(図16のB)に、シンボル発生確率テーブルを出力する。また、算術符号化部1は、左側マクロブロックの処理の終了時、すなわち、8x8画素単位に分割したサブブロック3の処理終了時(図16のA)に、シンボル発生確率テーブルを出力する。そして、算術符号化部1は、処理しようとするマクロブロックの処理開始時(図16のX)に、出力されたシンボル発生確率テーブルをシンボル発生確率格納部4に読み込むように動作する。
以上が本実施の形態に係る画像符号化装置についての説明である。
このように、本実施の形態に係る画像符号化装置は、各マクロブロックの先頭で、処理の順序ではなく、上および左という空間的に最も近いマクロブロックのシンボル発生確率を用いる。また、本実施の形態に係る画像符号化装置は、上および左から得られた2つのシンボル発生確率を平均化したシンボル発生確率を用いる。これにより、本実施の形態に係る画像符号化装置は、空間的に最も確からしいシンボル発生確率を用いることが可能となり、より高い符号化効率を実現することができる。
なお、本実施の形態に係る画像符号化装置は、必ずしも画像がスライスに分割されている必要はなく、図17Aに示すように、画像がスライスに分割されていない場合にも、より適切な確率を用いることができる。
また、図17Bに示すように、本実施の形態に係る画像符号化装置は、スライス内部のみのためのシンボル発生確率テーブルを使用してもよい。すなわち、符号化対象マクロブロックがスライス境界に隣接する場合であっても、符号化対象マクロブロックがピクチャの端にある場合と同様に、本実施の形態に係る画像符号化装置は、他のスライスの符号化に用いられるシンボル発生確率テーブルを使用しなくてもよい。
また、図17Cに示すように、本実施の形態に係る画像符号化装置は、H.264規格などで使用されているラスター順の符号化順序でも、より適切な確率を用いることができる。
特に、図17Cに示すように、画像がラスター順で符号化され、かつ、図17Aに示すように、画像の左端のマクロブロックXの符号化に、空間的に近いマクロブロックBで更新されたシンボル発生確率テーブルが用いられることにより、符号化効率が向上する。
また、本実施の形態において、H.264規格に示される算術符号化方法が適用されている。しかし、シンボル発生確率テーブル、あるいは、それに類する画像に応じて適応的に更新するデータを用いた符号化であれば、どのような方法が適用されてもよい。
また、本実施の形態において、画像符号化装置は、画像を16x16画素からなるマクロブロック単位に処理している。しかし、画像符号化装置は、8x8画素、32x32画素、あるいは、64x16画素などの単位で画像を処理しても構わない。
また、本実施の形態において、スライス内部をジグザグの順序で符号化するような例が示されている。しかし、符号化順は、H.264規格に示されるラスター順であってもよいし、どのような順序であっても構わない。
また、本実施の形態において、符号化が示されたが、復号についても、この動作を逆に行うことで実現することが可能であることはいうまでもない。
また、本実施の形態において、符号化は、H.264規格に基づいているが、同様の他の規格に基づいていてもよい。
また、本実施の形態において、画像符号化装置は、pStateIdxをシンボル発生確率の演算に用いた。しかし、pStateIdxは、実際のシンボル発生確率に線形に対応しているわけではない。そのため、画像符号化装置は、pStateIdxを実際のシンボル発生確率に変換してから演算を行い、再度pStateIdxに変換してもよい。あるいは、画像符号化装置は、2つのpStateIdxの値の組み合わせごとにシンボル発生確率を算出するテーブルを用いてシンボル発生確率を算出してもよい。
(実施の形態4)
本実施の形態に係る画像符号化装置の概要について説明する。本実施の形態に係る画像符号化装置は、実施の形態3に係る画像符号化装置と比較して、シンボル発生確率テーブルが出力される位置と、出力されたシンボル発生確率テーブルが用いられる位置とが空間的により近くなる。これにより、符号化効率がさらに向上する。
以上が、本実施の形態に係る画像符号化装置の概要についての説明である。
本実施の形態に係る画像符号化装置の構成は、実施の形態3と同様であるので、説明を省略する。
本実施の形態に係る画像符号化装置の動作は、図12に示された実施の形態3に係る画像符号化装置の動作と同様であるが、シンボル発生確率算出(S150)およびシンボル発生確率出力(S155)が異なる。
実施の形態3に係る画像符号化装置は、周辺マクロブロックの処理が終了した時点で出力されたシンボル発生確率テーブルを用いて、符号化対象マクロブロックを符号化していた。この場合、図16から明らかなように、8x8画素単位で見ると、空間的に近い位置ではない。そこで、本実施の形態に係る画像符号化装置は、より空間的に近い位置で更新されたシンボル発生確率テーブルを使用する。
本実施の形態に係るシンボル発生確率出力(図12のS155)の動作を図18に示すフローチャートにそって説明する。図18に示すように、まず、算術符号化部1は、右のマクロブロックが存在するかを判定する(S180)。右のマクロブロックが存在する場合(S180でYes)、算術符号化部1は、さらにサブブロック1の処理が終了したかを判定する(S181)。
サブブロック1の処理が終了している場合(S181でYes)、シンボル発生確率格納部4は、右マクロブロック用のシンボル発生確率テーブルを出力する(S182)。右のマクロブロックが存在しない場合(S180でNo)、または、サブブロック1の処理が終了していない場合(S181でNo)、算術符号化部1は、次の処理を実行する。
次に、算術符号化部1は、下のマクロブロックが存在するかを判定する(S183)。下のマクロブロックが存在する場合(S183でYes)、算術符号化部1は、さらにサブブロック2の処理が終了したかを判定する(S184)。
サブブロック2の処理が終了している場合(S184でYes)、シンボル発生確率格納部4は、下マクロブロック用のシンボル発生確率テーブルを出力する(S185)。下のマクロブロックが存在しない場合(S183でNo)、または、サブブロック2の処理が終了していない場合(S184でNo)、算術符号化部1は、処理を終了する。
また、図12に示されたシンボル発生確率算出(S150)において、シンボル発生確率算出部7は、左のマクロブロックのシンボル発生確率テーブルを使用する時、右マクロブロック用に出力されたシンボル発生確率テーブル(図18のS182)を使用する。また、シンボル発生確率算出部7は、上のマクロブロックのシンボル発生確率テーブルを使用する時、下マクロブロック用に出力されたシンボル発生確率テーブル(図18のS185)を使用する。
このような動作により、図19に示すように、8x8画素単位に分割された上側のマクロブロックのうち、サブブロック2(図19のB)の処理終了時に、シンボル発生確率テーブルが出力される。また、8x8画素単位に分割された左側のマクロブロックのうち、サブブロック1(図19のA)の処理終了時に、シンボル発生確率テーブルが出力される。
そして、処理しようとするサブブロック(図19のX)の処理開始時に、シンボル発生確率算出部7は、出力された2つのシンボル発生確率テーブルを平均し、シンボル発生確率格納部4に書き込む。
以上が、本実施の形態に係る画像符号化装置についての説明である。
このように、本実施の形態に係る画像符号化装置は、マクロブロック単位の処理の終了時ではなく、8x8画素単位の処理の終了時のシンボル発生確率テーブルであって、空間的により近い位置のシンボル発生確率テーブルを用いて画像を符号化する。また、本実施の形態に係る画像符号化装置は、上側および左側から得られた2つのシンボル発生確率テーブルを平均化したシンボル発生確率テーブルを用いる。
これにより、本実施の形態に係る画像符号化装置は、空間的に最も確からしいシンボル発生確率を用いることが可能となり、より高い符号化効率を実現することができる。
なお、本実施の形態に係る画像符号化装置は、必ずしも画像がスライスに分割されている必要はなく、図17Aに示すように、画像がスライスに分割されていない場合にも、より適切な確率を用いることができる。
また、図17Bに示すように、本実施の形態に係る画像符号化装置は、スライス内部のみのためのシンボル発生確率テーブルを使用してもよい。すなわち、符号化対象マクロブロックがスライス境界に隣接する場合であっても、符号化対象マクロブロックがピクチャの端にある場合と同様に、本実施の形態に係る画像符号化装置は、他のスライスの符号化に用いられるシンボル発生確率テーブルを使用しなくてもよい。
また、図17Cに示すように、本実施の形態に係る画像符号化装置は、H.264規格などで使用されているラスター順の符号化順序でも、より適切な確率を用いることができる。
特に、図17Cに示すように、画像がラスター順で符号化され、かつ、図17Aに示すように、画像の左端のマクロブロックXの符号化に、空間的に近いマクロブロックBで更新されたシンボル発生確率テーブルが用いられることにより、符号化効率が向上する。
また、本実施の形態において、H.264規格に示される算術符号化方法が適用されている。しかし、シンボル発生確率テーブル、あるいは、それに類する画像に応じて適応的に更新するデータを用いた符号化であれば、どのような方法が適用されてもよい。
また、本実施の形態において、画像符号化装置は、画像を16x16画素からなるマクロブロック単位に処理している。しかし、画像符号化装置は、8x8画素、32x32画素、あるいは、64x16画素などの単位で画像を処理しても構わない。マクロブロックのさらに細かいサブブロックについても、2x2画素、または、4x4画素などのどのような単位であっても構わない。
また、本実施の形態において、スライス内部をジグザグの順序で符号化するような例が示されている。しかし、符号化順は、H.264規格に示されるラスター順であってもよいし、どのような順序であっても構わない。
また、本実施の形態において、符号化が示されたが、復号についても、この動作を逆に行うことで実現することが可能であることはいうまでもない。
また、本実施の形態において、符号化は、H.264規格に基づいているが、同様の他の規格に基づいていてもよい。
また、本実施の形態において、画像符号化装置は、pStateIdxをシンボル発生確率の演算に用いた。しかし、pStateIdxは、実際のシンボル発生確率に線形に対応しているわけではない。そのため、画像符号化装置は、pStateIdxを実際のシンボル発生確率に変換してから演算を行い、再度pStateIdxに変換してもよい。あるいは、画像符号化装置は、2つのpStateIdxの値の組み合わせごとにシンボル発生確率を算出するテーブルを用いてシンボル発生確率を算出してもよい。
また、本実施の形態において、シンボル発生確率は、マクロブロックの先頭で算出されているが、8x8ブロックなどさらに細かい単位で、それぞれ、シンボル発生確率が算出されてもよい。
(実施の形態5)
本実施の形態に係る画像符号化装置の概要について説明する。本実施の形態に係る画像符号化装置は、シンボル発生確率テーブルを使用する空間的位置として左上のマクロブロックのシンボル発生確率テーブルを用いる。これにより、本実施の形態に係る画像符号化装置は、実施の形態3に係る画像符号化装置と比較して、空間的には同様に近い位置の情報を用いるが、処理の遅延を小さくすることができる。
以上が本実施の形態に係る画像符号化装置の概要についての説明である。
本実施の形態に係る画像符号化装置の構成は、実施の形態3と同様であるので、説明を省略する。
次に、本実施の形態に係る画像符号化装置の動作を説明する。本実施の形態に係る画像符号化装置の動作は、図12に示された実施の形態3に係る画像符号化装置の動作と同様であるが、シンボル発生確率算出(S150)が異なる。
本実施の形態に係るシンボル発生確率の算出(図12のS150)の動作を図20に示されたフローチャートにそって説明する。図20に示すように、まず、算術符号化部1は、左上のマクロブロックが存在するかを判定する(S190)。左上のマクロブロックが存在する場合(S190でYes)、左のマクロブロックは必ず存在する。そのため、シンボル発生確率算出部7は、左上と左の2つのマクロブロックの2つのシンボル発生確率を平均することにより、新たなシンボル発生確率を算出し、算出されたシンボル発生確率をシンボル発生確率格納部4に書き込む(S191)。この時の、平均の方法は、実施の形態3で示す方法と同様である。
左上のマクロブロックが存在しない場合(S190でNo)、算術符号化部1は、上のマクロブロックが存在するかを判定する(S192)。上のマクロブロックが存在する場合(S192でYes)、シンボル発生確率算出部7は、上のマクロブロックのシンボル発生確率テーブルをシンボル発生確率格納部4に書き込む(S193)。
上のマクロブロックが存在しない場合(S192でNo)、算術符号化部1は、左のマクロブロックが存在するかを判定する(S194)。上のマクロブロックが存在する場合(S194でYes)、シンボル発生確率算出部7は、左のマクロブロックのシンボル発生確率テーブルをシンボル発生確率格納部4に書き込む(S195)。
左のマクロブロックが存在しない場合(S194でNo)、左のマクロブロックも、上のマクロブロックも存在しない。そのため、算術符号化部1は、シンボル発生確率テーブルをH.264規格に定められた方法で初期化し、シンボル発生確率格納部4に書き込む(S196)。シンボル発生確率格納部4がシンボル発生確率テーブルの初期化を行ってもよいし、シンボル発生確率算出部7が初期化したシンボル発生確率テーブルを生成して、シンボル発生確率格納部4に書き込むことにより、シンボル発生確率テーブルの初期化を行ってもよい。
このような動作により、図21に示すように、左上マクロブロックの処理終了時、すなわち、8x8画素単位に分割されたマクロブロックのサブブロック3(図21のB)の処理終了時に、シンボル発生確率テーブルが出力される。また、左側マクロブロックの処理の終了時、すなわち、8x8画素単位に分割されたマクロブロックのサブブロック3(図21のA)の処理終了時に、シンボル発生確率テーブルを出力する。処理しようとするマクロブロック(図21のX)の処理開始時に、シンボル発生確率算出部7は、出力された2つのシンボル発生確率テーブルを平均し、シンボル発生確率格納部4に書き込む。
以上が本実施の形態に係る画像符号化装置の動作についての説明である。
このように、本実施の形態に係る画像符号化装置は、上側のシンボル発生確率テーブルとして、左上のマクロブロックのマクロブロック終了時すなわちサブブロック3終了後のシンボル発生確率テーブルを用いる。画像は、通常左から右に処理されるため、本実施の形態に係る画像符号化装置は、より早く処理を開始することが可能となり、処理の遅延を削減することが可能となる。
また、マクロブロックの処理終了後、すなわち、サブブロック3終了後のシンボル発生確率テーブルを用いる実施の形態3と比較すると、空間的には同じ距離で更新されたシンボル発生確率テーブルが用いられる。したがって、本実施の形態に係る画像符号化装置は、遅延を削減しつつ同様の符号化効率を実現することができる。
なお、本実施の形態に係る画像符号化装置は、必ずしも画像がスライスに分割されている必要はなく、図17Aに示すように、画像がスライスに分割されていない場合にも、より適切な確率を用いることができる。
また、図17Bに示すように、本実施の形態に係る画像符号化装置は、スライス内部のみのためのシンボル発生確率テーブルを使用してもよい。すなわち、符号化対象マクロブロックがスライス境界に隣接する場合であっても、符号化対象マクロブロックがピクチャの端にある場合と同様に、本実施の形態に係る画像符号化装置は、他のスライスの符号化に用いられるシンボル発生確率テーブルを使用しなくてもよい。
また、図17Cに示すように、本実施の形態に係る画像符号化装置は、H.264規格などで使用されているラスター順の符号化順序でも、より適切な確率を用いることができる。
特に、図17Cに示すように、画像がラスター順で符号化され、かつ、図17Aに示すように、画像の左端のマクロブロックXの符号化に、空間的に近いマクロブロックBで更新されたシンボル発生確率テーブルが用いられることにより、符号化効率が向上する。
また、本実施の形態において、H.264規格に示される算術符号化方法が適用されている。しかし、シンボル発生確率テーブル、あるいは、それに類する画像に応じて適応的に更新するデータを用いた符号化であれば、どのような方法が適用されてもよい。
また、本実施の形態において、画像符号化装置は、画像を16x16画素からなるマクロブロック単位に処理している。しかし、画像符号化装置は、8x8画素、32x32画素、あるいは、64x16画素などの単位で画像を処理しても構わない。マクロブロックのさらに細かいサブブロックについても、2x2画素、または、4x4画素などのどのような単位であっても構わない。
また、本実施の形態において、スライス内部をジグザグの順序で符号化するような例が示されている。しかし、符号化順は、H.264規格に示されるラスター順であってもよいし、どのような順序であっても構わない。
また、本実施の形態において、符号化が示されたが、復号についても、この動作を逆に行うことで実現することが可能であることはいうまでもない。
また、本実施の形態において、符号化は、H.264規格に基づいているが、同様の他の規格に基づいていてもよい。
また、本実施の形態において、画像符号化装置は、pStateIdxをシンボル発生確率の演算に用いた。しかし、pStateIdxは、実際のシンボル発生確率に線形に対応しているわけではない。そのため、画像符号化装置は、pStateIdxを実際のシンボル発生確率に変換してから演算を行い、再度pStateIdxに変換してもよい。あるいは、画像符号化装置は、2つのpStateIdxの値の組み合わせごとにシンボル発生確率を算出するテーブルを用いてシンボル発生確率を算出してもよい。
また、本実施の形態において、シンボル発生確率は、マクロブロックの先頭で算出されているが、8x8ブロックなどさらに細かい単位で、それぞれ、シンボル発生確率が算出されてもよい。
(実施の形態6)
本実施の形態に係る画像符号化装置の概要について説明する。本実施の形態に係る画像符号化装置は、左上のマクロブロックの処理終了後のシンボル発生確率テーブルと、左のマクロブロックのサブブロック1の処理終了後のシンボル発生確率テーブルとを用いる。これにより、本実施の形態に係る画像符号化装置は、実施の形態5に係る画像符号化装置と比較して、空間的により近い位置のシンボル発生確率テーブルを使用することにより、符号化効率を向上させる。
以上が、本実施の形態に係る画像符号化装置の概要についての説明である。
本実施の形態に係る画像符号化装置の構成は、実施の形態5と同様であるので、説明を省略する。
次に、本実施の形態に係る画像符号化装置の動作を説明する。本実施の形態に係る画像符号化装置の動作は、図12に示された実施の形態5に係る画像符号化装置の動作と同様であるが、シンボル発生確率出力(S155)の処理内容が異なる。
本実施の形態に係るシンボル発生確率出力(図12のS155)の動作を図22に示すフローチャートに沿って説明する。図22に示すように、まず、算術符号化部1は、右のマクロブロックが存在するかを判定する(S200)。
右のマクロブロックが存在する場合(S200でYes)、さらに、算術符号化部1は、サブブロック1の処理が終了したかを判定する(S201)。サブブロック1の処理が終了している場合(S201でYes)、シンボル発生確率格納部4は、右マクロブロック用のシンボル発生確率テーブルを出力する(S202)。右のマクロブロックが存在しない場合(S200でNo)、または、サブブロック1の処理が終了していない場合(S201でNo)、算術符号化部1は、次の処理を実行する。
次に、算術符号化部1は、下のマクロブロックが存在するかを判定する(S203)。下のマクロブロックが存在する場合(S203でYes)、さらに、算術符号化部1は、サブブロック3の処理が終了したかを判定する(S204)。サブブロック3の処理が終了している場合(S204でYes)、シンボル発生確率格納部4は、下マクロブロック用のシンボル発生確率テーブルを出力する(S205)。下のマクロブロックが存在しない場合(S203でNo)、または、サブブロック3の処理が終了していない場合(S204でNo)、処理を終了する。
このような動作により、図23に示すように、8x8画素単位に分割された左上マクロブロックのサブブロック3(図23のB)の処理終了時に、シンボル発生確率テーブルが出力される。また、8x8画素単位に分割された左側マクロブロックのサブブロック1(図23のA)の処理終了時に、シンボル発生確率テーブルが出力される。
そして、本実施の形態に係る画像符号化装置は、処理しようとするマクロブロック(図23のX)の処理開始時に、出力された2つのシンボル発生確率テーブルを平均することにより得られる新たなシンボル発生確率テーブルをシンボル発生確率格納部4に書き込む。
また、図12に示されたシンボル発生確率算出(S150)において、シンボル発生確率算出部7は、左のマクロブロックのシンボル発生確率テーブルを使用する時、右マクロブロック用に出力されたシンボル発生確率テーブル(図22のS202)を使用する。また、シンボル発生確率算出部7は、上側のマクロブロックのシンボル発生確率テーブルを使用する時、下側マクロブロック用に出力されたシンボル発生確率テーブル(図22のS205)を使用する。
以上が、本実施の形態に係る画像符号化装置の動作についての説明である。
このように、本実施の形態に係る画像符号化装置は、実施の形態5と比較して、左側マクロブロックのうち、より空間的に近いサブブロック1の処理終了後のシンボル発生確率テーブルを左側のシンボル発生確率テーブルとして用いる。これにより、本実施の形態に係る画像符号化装置は、実施の形態5に係る画像符号化装置よりも高い符号化効率を実現することができる。
なお、本実施の形態に係る画像符号化装置は、必ずしも画像がスライスに分割されている必要はなく、図17Aに示すように、画像がスライスに分割されていない場合にも、より適切な確率を用いることができる。
また、図17Bに示すように、本実施の形態に係る画像符号化装置は、スライス内部のみのためのシンボル発生確率テーブルを使用してもよい。すなわち、符号化対象マクロブロックがスライス境界に隣接する場合であっても、符号化対象マクロブロックがピクチャの端にある場合と同様に、本実施の形態に係る画像符号化装置は、他のスライスの符号化に用いられるシンボル発生確率テーブルを使用しなくてもよい。
また、図17Cに示すように、本実施の形態に係る画像符号化装置は、H.264規格などで使用されているラスター順の符号化順序でも、より適切な確率を用いることができる。
特に、図17Cに示すように、画像がラスター順で符号化され、かつ、図17Aに示すように、画像の左端のマクロブロックXの符号化に、空間的に近いマクロブロックBで更新されたシンボル発生確率テーブルが用いられることにより、符号化効率が向上する。
また、本実施の形態において、H.264規格に示される算術符号化方法が適用されている。しかし、シンボル発生確率テーブル、あるいは、それに類する画像に応じて適応的に更新するデータを用いた符号化であれば、どのような方法が適用されてもよい。
また、本実施の形態において、画像符号化装置は、画像を16x16画素からなるマクロブロック単位に処理している。しかし、画像符号化装置は、8x8画素、32x32画素、あるいは、64x16画素などの単位で画像を処理しても構わない。マクロブロックのさらに細かいサブブロックについても、2x2画素、または、4x4画素などのどのような単位であっても構わない。
また、本実施の形態において、スライス内部をジグザグの順序で符号化するような例が示されている。しかし、符号化順は、H.264規格に示されるラスター順であってもよいし、どのような順序であっても構わない。
また、本実施の形態において、符号化が示されたが、復号についても、この動作を逆に行うことで実現することが可能であることはいうまでもない。
また、本実施の形態において、符号化は、H.264規格に基づいているが、同様の他の規格に基づいていてもよい。
また、本実施の形態において、画像符号化装置は、pStateIdxをシンボル発生確率の演算に用いた。しかし、pStateIdxは、実際のシンボル発生確率に線形に対応しているわけではない。そのため、画像符号化装置は、pStateIdxを実際のシンボル発生確率に変換してから演算を行い、再度pStateIdxに変換してもよい。あるいは、画像符号化装置は、2つのpStateIdxの値の組み合わせごとにシンボル発生確率を算出するテーブルを用いてシンボル発生確率を算出してもよい。
また、本実施の形態において、シンボル発生確率は、マクロブロックの先頭で算出されているが、8x8ブロックなどさらに細かい単位で、それぞれ、シンボル発生確率が算出されてもよい。
(実施の形態7)
本実施の形態に係る画像符号化装置の概要について説明する。これまでの実施の形態に係る画像符号化装置は、2つのシンボル発生確率テーブルから、新たなシンボル発生確率テーブルを算出する場合、算術平均を用いている。しかし、本実施の形態に係る画像符号化装置は、符号化すべきマクロブロックへの距離に応じて、より空間的に近いシンボル発生確率テーブルに重みをつける。これにより、本実施の形態では、実施の形態6よりも確からしいシンボル発生確率テーブルが使用される。したがって、符号化効率が向上する。
以上が、本実施の形態に係る画像符号化装置の概要についての説明である。
本実施の形態に係る画像符号化装置の構成は、実施の形態6と同様であるので、説明を省略する。
次に、本実施の形態に係る画像符号化装置の動作を説明する。本実施の形態に係る画像符号化装置の動作は、図12に示された実施の形態6に係る画像符号化装置の動作と同様であるが、実施の形態6と比べると、シンボル発生確率算出(S150)の処理内容が異なる。さらに詳細には、図20に示された実施の形態6のシンボル発生確率算出(S150)の動作フローにおける左上と左のマクロブロックのシンボル発生確率を平均する処理(S191)が異なる。
実施の形態6では、実施の形態3と同じく、式1に示す算術平均が用いられているが、本実施の形態では、式2に示す重み付きの平均が用いられる。式2において、pStateIdxAとvalMPSAとは、それぞれ、左上のマクロブロックのシンボル発生確率とシンボルとを示す。また、pStateIdxBとvalMPSBとは、それぞれ、左のマクロブロックのシンボル発生確率とシンボルとを示す。また、式2のaは、符号化対象マクロブロックの先頭であるサブブロック0と左上のマクロブロックのサブブロック3との空間的な距離を示す。式2のbは、符号化対象マクロブロックの先頭であるサブブロック0と左のマクロブロックのサブブロック1との空間的な距離を示す。pStateIdx、valMPSは、それぞれ、求めようとするマクロブロックのシンボル発生確率とシンボルとを示す。
if (valMPSA == valMPSB) [
pStateIdx = ( pStateIdxA x b + pStateIdxB x a ) / (a + b);
valMPS = valMPSA;
] else [
pStateIdx = ( - pStateIdxA x b + pStateIdxB x a) / (a + b);
valMPS = valMPSB;
if (pStateIdx < 0) [
pStateIdx = - pStateIdx;
valMPS = valMPSA;
]
]
・・・(式2)
式2に示すように、それぞれのシンボル発生確率が空間的な距離によって重み付けられる。図24に示すように、2つのサブブロックの間の距離は、例えば、サブブロックの中心位置に基づいて定められる。
左上のマクロブロックのサブブロック3(図24中のB)と、符号化対象マクロブロックのサブブロック0(図24のX)との間の距離は、左のマクロブロックのサブブロック1(図24中のA)と符号化対象マクロブロックのサブブロック0(図24のX)との間の距離に比べて大きい。そのため、シンボル発生確率算出部7は、距離の大きさに比例してシンボル発生確率に対する影響を小さくするように、シンボル発生確率を算出する。
以上が本実施の形態に係る画像符号化装置の動作についての説明である。
このように、本実施の形態に係る画像符号化装置は、空間的な距離に従って重み付け平均を行う。これにより、空間的に近い位置のシンボル発生確率の寄与を大きく、遠い位置のシンボル発生確率の寄与を小さくする。したがって、シンボル発生確率テーブルがより確からしくなり、実施の形態6と比べ、より高い符号化効率が実現される。
なお、本実施の形態において、実施の形態6に係るシンボル発生確率の算出処理に重み付け平均が適用される例が示されている。しかし、実施の形態3、4、5に係るシンボル発生確率の算出処理に重み付け平均が適用されてもよい。
また、本実施の形態に係る画像符号化装置は、必ずしも画像がスライスに分割されている必要はなく、図17Aに示すように、画像がスライスに分割されていない場合にも、より適切な確率を用いることができる。
また、図17Bに示すように、本実施の形態に係る画像符号化装置は、スライス内部のみのためのシンボル発生確率テーブルを使用してもよい。すなわち、符号化対象マクロブロックがスライス境界に隣接する場合であっても、符号化対象マクロブロックがピクチャの端にある場合と同様に、本実施の形態に係る画像符号化装置は、他のスライスの符号化に用いられるシンボル発生確率テーブルを使用しなくてもよい。
また、図17Cに示すように、本実施の形態に係る画像符号化装置は、H.264規格などで使用されているラスター順の符号化順序でも、より適切な確率を用いることができる。
特に、図17Cに示すように、画像がラスター順で符号化され、かつ、図17Aに示すように、画像の左端のマクロブロックXの符号化に、空間的に近いマクロブロックBで更新されたシンボル発生確率テーブルが用いられることにより、符号化効率が向上する。
また、本実施の形態において、H.264規格に示される算術符号化方法が適用されている。しかし、シンボル発生確率テーブル、あるいは、それに類する画像に応じて適応的に更新するデータを用いた符号化であれば、どのような方法が適用されてもよい。
また、本実施の形態において、画像符号化装置は、画像を16x16画素からなるマクロブロック単位に処理している。しかし、画像符号化装置は、8x8画素、32x32画素、あるいは、64x16画素などの単位で画像を処理しても構わない。マクロブロックのさらに細かいサブブロックについても、2x2画素、または、4x4画素などのどのような単位であっても構わない。
また、本実施の形態において、スライス内部をジグザグの順序で符号化するような例が示されている。しかし、符号化順は、H.264規格に示されるラスター順であってもよいし、どのような順序であっても構わない。
また、本実施の形態において、符号化が示されたが、復号についても、この動作を逆に行うことで実現することが可能であることはいうまでもない。
また、本実施の形態において、符号化は、H.264規格に基づいているが、同様の他の規格に基づいていてもよい。
また、本実施の形態において、画像符号化装置は、pStateIdxをシンボル発生確率の演算に用いた。しかし、pStateIdxは、実際のシンボル発生確率に線形に対応しているわけではない。そのため、画像符号化装置は、pStateIdxを実際のシンボル発生確率に変換してから演算を行い、再度pStateIdxに変換してもよい。あるいは、画像符号化装置は、2つのpStateIdxの値の組み合わせごとにシンボル発生確率を算出するテーブルを用いてシンボル発生確率を算出してもよい。
また、本実施の形態において、シンボル発生確率は、マクロブロックの先頭で算出されているが、8x8ブロックなどさらに細かい単位で、それぞれ、シンボル発生確率が算出されてもよい。
(実施の形態8)
本実施の形態に係る画像符号化装置の概要について説明する。実施の形態3に係る画像符号化装置は、シンボル発生確率テーブルを常に上と左のマクロブロックのシンボル発生確率テーブルを用いて算出している。この方法は、符号化効率の向上には有効である。一方で、実施の形態3に係る画像符号化装置は大量の上のマクロブロックのシンボル発生確率テーブルを保持する必要がある。本実施の形態に係る画像符号化装置は、上のマクロブロックのシンボル発生確率テーブルを使用する場合を制限することで、保持するシンボル発生確率テーブルを削減することができる。
以上が、本実施の形態に係る画像符号化装置の概要についての説明である。
本実施の形態に係る画像符号化装置の構成は、実施の形態3と同様であるので、説明を省略する。
次に、本実施の形態に係る画像符号化装置の動作を説明する。本実施の形態に係る画像符号化装置の動作は、図12に示された実施の形態3に係る画像符号化装置の動作と同様であるが、実施の形態3と比較して、シンボル発生確率算出(S150)およびシンボル発生確率出力(S155)の処理内容が異なる。
本実施の形態に係るシンボル発生確率算出(図12のS150)の動作について、図25を用いて説明する。まず、算術符号化部1は、マクロブロックの左上の画素の水平位置が64N(Nは自然数)であるかを判定する(S210)。水平位置が64Nである場合(S210でYes)、次に、算術符号化部1は、上のマクロブロックは存在するかどうかを判定する(S211)。上のマクロブロックが存在する場合(S211でYes)、次に、算術符号化部1は、左のマクロブロックが存在するかを判定する(S212)。
左のマクロブロックが存在する場合(S212でYes)、水平位置が64Nであって、かつ、上と左のマクロブロックが存在する。この場合、シンボル発生確率算出部7は、上と左のマクロブロックから得られる2つのシンボル発生確率を式1にしたがって平均することにより、シンボル発生確率テーブルを算出する。そして、シンボル発生確率算出部7は、算出されたシンボル発生確率テーブルをシンボル発生確率格納部4に書き込む(S213)。
次に、左のマクロブロックが存在しない場合(S212でNo)、水平位置が64Nであって、かつ、上のマクロブロックのみが存在する。この場合、シンボル発生確率算出部7は、上のマクロブロックのシンボル発生確率テーブルをそのままシンボル発生確率格納部4に書き込む(S214)。
また、水平位置が64Nではない場合(S210でNo)、または、上のマクロブロックが存在しない場合(S211でNo)、算術符号化部1は、左のマクロブロックが存在するかを判定する(S215)。左のマクロブロックが存在する場合(S215でYes)、シンボル発生確率算出部7は、左のマクロブロックのシンボル発生確率テーブルをそのままシンボル発生確率格納部4に書き込む(S216)。
左のマクロブロックが存在しない場合(S215でNo)、上も左もマクロブロックが存在しない。この場合、算術符号化部1は、シンボル発生確率テーブルの初期化を行う(S217)。初期化は、H.264規格に示される方法で構わない。シンボル発生確率格納部4がシンボル発生確率テーブルの初期化を行ってもよいし、シンボル発生確率算出部7が初期化したシンボル発生確率テーブルを生成して、シンボル発生確率格納部4に書き込むことにより、シンボル発生確率テーブルの初期化を行ってもよい。
本実施の形態に係るシンボル発生確率出力(図12のS155)の動作を図26に示すフローチャートにそって説明する。図26に示すように、まず、算術符号化部1は、マクロブロックの左上の画素の水平位置が64N(Nは自然数)であるかを判定する(S220)。水平位置が64Nである場合(S220でYes)、算術符号化部1は、右又は下のマクロブロックが存在するかどうかを判定する(S221)。右又は下のマクロブロックが存在しない場合(S221でNo)、算術符号化部1は、処理を終了する。
水平位置が64Nでない場合(S220でNo)、算術符号化部1は、右のマクロブロックが存在するかを判定する(S222)。右のマクロブロックが存在しない場合(S222でNo)、算術符号化部1は、処理を終了する。
水平位置が64Nであって、右又は下のマクロブロックが存在する場合(S221でYes)、または、水平位置が64Nではなく、右のマクロブロックが存在する場合(S222でYes)、算術符号化部1は、マクロブロックの処理が終了しているかを判定する(S223)。マクロブロックの処理が終了していない場合(S223でNo)、算術符号化部1は、処理を終了する。マクロブロックの処理が終了している場合(S223でYes)、算術符号化部1は、シンボル発生確率テーブルを出力する(S224)。
これらの動作について図27Aを用いて、ピクチャ全体から見た動作を説明する。図27Aに示すように、ピクチャは4つのスライスに分割され、スライスはさらに16x16画素からなるマクロブロックに分割されている。図27Aの斜線部のマクロブロックでは、上のマクロブロックのシンボル発生確率テーブルを使用してシンボル発生確率テーブルが算出されるマクロブロックを示している。ピクチャの上端のマクロブロックでは、それより上のマクロブロックがないため、上のマクロブロックのシンボル発生確率テーブルが使用できない。それ以外のマクロブロックについては、水平方向に4マクロブロック毎に1度、上のマクロブロックが使用される。
この時、図27Bに示すように、算術符号化部1がスライス0を処理し、算術符号化部2がスライス1を処理する場合、算術符号化部1は、スライス0を処理後、スライス2の処理を開始する。マクロブロックの番号は、算術符号化部1および算術符号化部2が処理する順序を示している。この時、スライス2のマクロブロック42を算術符号化部1が処理するためには、スライス1のマクロブロック5のシンボル発生確率テーブルが必要である。つまり、算術符号化部2は、スライス1を処理している間、スライス1のマクロブロック5を左端とする水平方向のシンボル発生確率テーブルを保持しておかなければならない。本実施の形態において、保持されるシンボル発生確率テーブルが、4マクロブロック毎に1度に削減されることにより、1/4に削減される。
また、算術符号化部1と算術符号化部2との間で、シンボル発生確率テーブルを交換しなければならない場合は、スライスをまたぐ場合だけである。そのため、図28に示すように、スライスの境界においては、4マクロブロックに1回のみ、上のマクロブロックのシンボル発生確率テーブルが使用され、スライスの内部においては、常に、上のマクロブロックのシンボル発生確率テーブルが使用されてもよい。
以上が、本実施の形態に係る画像符号化装置の動作についての説明である。
このように、本実施の形態に係る画像符号化装置は、上のマクロブロックのシンボル発生確率テーブルの使用を水平方向に4マクロブロックに1度に制限する。これにより、本実施の形態に係る画像符号化装置は、空間的に近い位置のシンボル発生確率テーブルを使用して、符号化効率を高めると共に、保持するシンボル発生確率テーブルを削減することが可能となる。
なお、本実施の形態において、実施の形態7と同様に、重み付け平均が適用されてもよい。
また、本実施の形態に係る画像符号化装置は、必ずしも画像がスライスに分割されている必要はなく、図17Aに示すように、画像がスライスに分割されていない場合にも、より適切な確率を用いることができる。
また、図17Bに示すように、本実施の形態に係る画像符号化装置は、スライス内部のみのためのシンボル発生確率テーブルを使用してもよい。すなわち、符号化対象マクロブロックがスライス境界に隣接する場合であっても、符号化対象マクロブロックがピクチャの端にある場合と同様に、本実施の形態に係る画像符号化装置は、他のスライスの符号化に用いられるシンボル発生確率テーブルを使用しなくてもよい。
また、図17Cに示すように、本実施の形態に係る画像符号化装置は、H.264規格などで使用されているラスター順の符号化順序でも、より適切な確率を用いることができる。
特に、図17Cに示すように、画像がラスター順で符号化され、かつ、図17Aに示すように、画像の左端のマクロブロックXの符号化に、空間的に近いマクロブロックBで更新されたシンボル発生確率テーブルが用いられることにより、符号化効率が向上する。
また、本実施の形態において、H.264規格に示される算術符号化方法が適用されている。しかし、シンボル発生確率テーブル、あるいは、それに類する画像に応じて適応的に更新するデータを用いた符号化であれば、どのような方法が適用されてもよい。
また、本実施の形態において、画像符号化装置は、画像を16x16画素からなるマクロブロック単位に処理している。しかし、画像符号化装置は、8x8画素、32x32画素、あるいは、64x16画素などの単位で画像を処理しても構わない。マクロブロックのさらに細かいサブブロックについても、2x2画素、または、4x4画素などのどのような単位であっても構わない。
また、本実施の形態において、スライス内部をジグザグの順序で符号化するような例が示されている。しかし、符号化順は、H.264規格に示されるラスター順であってもよいし、どのような順序であっても構わない。
また、本実施の形態において、符号化が示されたが、復号についても、この動作を逆に行うことで実現することが可能であることはいうまでもない。
また、本実施の形態において、符号化は、H.264規格に基づいているが、同様の他の規格に基づいていてもよい。
また、本実施の形態において、画像符号化装置は、pStateIdxをシンボル発生確率の演算に用いた。しかし、pStateIdxは、実際のシンボル発生確率に線形に対応しているわけではない。そのため、画像符号化装置は、pStateIdxを実際のシンボル発生確率に変換してから演算を行い、再度pStateIdxに変換してもよい。あるいは、画像符号化装置は、2つのpStateIdxの値の組み合わせごとにシンボル発生確率を算出するテーブルを用いてシンボル発生確率を算出してもよい。
また、本実施の形態において、シンボル発生確率は、マクロブロックの先頭で算出されているが、8x8ブロックなどさらに細かい単位で、それぞれ、シンボル発生確率が算出されてもよい。
また、本実施の形態において、上側のマクロブロックのシンボル発生確率テーブルは、4マクロブロックに1回、用いられているが、2マクロブロック、または、8マクロブロックに1回など、どのようなマクロブロック毎に用いられてもよい。上側を用いるか否かは、符号化対象マクロブロックの空間的な位置に基づいて定められてもよいし、その他の条件で定められてもよい。
(実施の形態9)
本実施の形態に係る画像符号化装置の概要について説明する。本実施の形態に係る画像符号化装置は、実施の形態1で説明した算術符号化に画素符号化を組み合わせた画像符号化装置である。
以上が、本実施の形態の画像符号化装置の概要についての説明である。
次に、本実施の形態の画像符号化装置の構成を説明する。本実施の形態の画像符号化装置の構成を図29に示す。本実施の形態の画像符号化装置は、フレームメモリ23、画素符号化部21、22、算術符号化部1、2、周辺情報メモリ34、ビットストリームバッファ24、25を備える。
フレームメモリ23は、入力画像および局所復号画像を格納する。画素符号化部21、22は、フレームメモリの画像の一部を切り出し符号化する。算術符号化部1、2は、算術符号化処理を行う。周辺情報メモリ34は、符号化に使用する周辺マクロブロックの情報を格納する。ビットストリームバッファ24、25は、算術符号化された符号化ビットストリームを格納する。
算術符号化部1および算術符号化部2の内部の構成は、図2に示された実施の形態1に係る構成と同様であるので、説明を省略する。
図30は、本実施の形態の画素符号化部21の構成図である。図29と同じ構成要素については説明を省略する。画素符号化部21は、動き検出部35、動き補償部36、面内予測部26、差分計算部28、周波数変換部29、量子化部30、逆量子化部31、逆周波数変換部32、再構成部33およびデブロックフィルタ部27を備える。動き検出部35は、動き検出を行う。
動き補償部36は、動き検出によって得られた動きベクトルを元に動き補償を行って予測画像を生成する。面内予測部26は、面内予測を行い、予測画像を生成する。差分計算部28は、入力画像と予測画像の差分を生成する。周波数変換部29は、周波数変換を行う。量子化部30は、生成符号量に応じて目標ビットレートに合うように量子化を行う。逆量子化部31は、逆量子化を行う。逆周波数変換部32は、逆周波数変換を行う。再構成部33は、予測画像と逆周波数変換結果から再構成を行う。デブロックフィルタ部27は、再構成した復号結果にデブロックフィルタ処理を行う。
なお、画素符号化部22については、画素符号化部21と同様であるので図30では記載を省略している。
以上が、本実施の形態の画像符号化装置についての説明である。
次に、本実施の形態の画像符号化装置の動作について説明する。
図31は、図29の画素符号化部21で行う画素符号化処理を示すフローチャートである。
まず、動き検出部35は、以前に局所復号したピクチャと、符号化するマクロブロックの最も相関の高い部分を検出する。そして、動き補償部36で予測画像を生成する(S611)。
次に、面内予測部26は、面内予測処理のために、周辺情報メモリをチェックする(S001)。周辺情報チェック(S001)の処理は、周辺情報メモリ34に面内予測処理に必要な情報が格納されているかを判別する処理である。面内予測部26は、図32に示す周辺のマクロブロックの画像を用いて面内予測画像を生成する(S612)。
次に、差分計算部28は、動き検出によるインターMBと、面内予測によるイントラMBのどちらの符号量が小さくなるかを判定する。そして、差分計算部28は、符号化モードを決定し、予測画像と符号化するマクロブロックの差分データを算出する(S613)。
インターMBの場合(S614でYes)、差分計算部28は、周辺情報をチェックする(S001)。S001の周辺情報チェックの処理は、周辺情報メモリ34に差分動きベクトル計算に必要な情報が格納されているかを判別する処理である。
差分動きベクトルに必要なデータが周辺情報メモリ34にあれば、差分計算部28は、差分動きベクトルの計算を行う(S615)。差分動きベクトルの計算は、図33に示されたmvdを算出すればよい。
差分計算部28は、差分動きベクトルの計算が終わると、決定した動きベクトルを周辺情報メモリ34に書き込むために、周辺情報書き込みの処理を行う(S002)。周辺情報書き込みの処理は、周辺情報メモリ34に空き領域があれば、書き込みを行い、空き領域がなければ、空き領域ができるまでウェイトする処理である。
次に、周波数変換部29は、差分計算部28で算出した差分データの周波数変換を行う(S616)。
量子化部30は、周波数変換したデータの量子化処理を行う(S617)。この時、量子化部30は、算術符号化部1により算出された生成符号量から量子化パラメータを決定し、量子化処理を行う。
生成符号量が、あらかじめ決められた目標符号量に比べて大きくなることが予想される場合、量子化部30は、量子化幅を大きくして、生成符号量を下げる。生成符号量が、目標符号量に比べて小さくなることが予想される場合、量子化部30は、量子化幅を小さくして、生成符号量を大きくする。量子化部30は、このようなフィードバック制御により目標符号量に近づくように制御される。
ここで、符号化ストリーム生成のための画素符号化部21で行う画素符号化処理は、完了するが、参照画像を画像復号装置側と一致させるために、局所復号処理が必要である。次に、局所復号処理について説明する。
局所復号では、まず、逆量子化部31が、逆量子化処理を行う(S618)。
次に、逆周波数変換部32は、逆周波数変換を行う(S619)。
インターMBの場合、再構成部33は、逆周波数変換されたデータと、動き補償部36が生成した参照画像とから再構成処理を行う(S620)。イントラMBの場合、再構成部33は、逆周波数変換されたデータと、面内予測部26が生成した参照画像とから再構成処理を行う(S620)。
再構成部33は、再構成処理が終わると、次のマクロブロックの面内予測処理を行うために、周辺情報の書き込み処理を行う(S002)。周辺情報書き込みの処理は、周辺情報メモリ34に空き領域があれば、書き込みを行い、空き領域がなければ、空き領域ができるまでウェイトする処理である。
次に、デブロックフィルタ部27は、デブロックフィルタのための周辺情報のチェックを行う(S001)。周辺情報チェック(S001)の処理は、周辺情報メモリ34にデブロックフィルタに必要な情報が格納されているかを判別する処理である。
処理に必要な周辺情報があれば、デブロックフィルタ部27は、デブロックフィルタの処理を行い、結果をフレームメモリ23に格納する(S621)。
デブロックフィルタ部27は、デブロックフィルタの処理が終わると、周辺情報書き込みの処理を行う(S002)。そして、画素符号化部21は、画素符号化処理を完了する。周辺情報書き込みの処理は、周辺情報メモリ34に空き領域があれば、書き込みを行い、空き領域がなければ、空き領域ができるまでウェイトする処理である。
画素符号化部22の処理は画素符号化部21と同様であるので省略する。
また、算術符号化部1、2の処理は、実施の形態1と同様であるので説明を省略する。
以上が本実施の形態の画像符号化装置の動作についての説明である。
このように、本実施の形態の画像符号化装置は、算術符号化と画素符号化とを組み合わせることができる。
なお、本実施の形態において、算術符号化を実現するための形態は、上述に示された複数の実施の形態のいずれの形態でも構わない。
また、本実施の形態において、H.264規格に示される算術符号化方法が適用されている。しかし、シンボル発生確率テーブル、あるいは、それに類する画像に応じて適応的に更新するデータを用いた符号化であれば、どのような方法が適用されてもよい。
また、本実施の形態において、画像符号化装置は、画像を16x16画素からなるマクロブロック単位に処理している。しかし、画像符号化装置は、8x8画素、32x32画素、あるいは、64x16画素などの単位で画像を処理しても構わない。
また、本実施の形態において、スライス内部をジグザグの順序で符号化するような例が示されている。しかし、符号化順は、H.264規格に示されるラスター順であってもよいし、どのような順序であっても構わない。
また、本実施の形態において、符号化は、H.264規格に基づいているが、同様の他の規格に基づいていてもよい。
また、本実施の形態において、データを記憶するための記憶部は、メモリあるいはバッファとして示されているが、どのような構成のメモリであってもよいし、フリップフロップまたはハードディスクといった異なる方式の記憶手段であってもよい。
また、本実施の形態に係る画像符号化装置は、ハードウェア回路として実現されても良いし、プロセッサ上のソフトウェアとして実現されても良い。また、本実施の形態に係る画像符号化装置は、複数のプロセッサ上に実現されても構わないし、1つのプロセッサ上に実現されても構わない。
また、本実施の形態に係る画像符号化装置は、2つのビットストリームバッファ24、25を備えている。別の処理部は、2つのビットストリームバッファ24、25から2つのビットストリームを読み出して、1つのビットストリームに変換しても良い。また、システムエンコーダが、2つのビットストリームバッファ24、25から1つのビットストリームになるようにデータを読み出しても構わない。
(実施の形態10)
本実施の形態に係る画像復号装置の概要について説明する。本実施の形態に係る画像復号装置は、実施の形態9で説明した画像符号化装置に対応した画像復号装置である。
以上が、本実施の形態の画像復号装置の概要についての説明である。
次に、本実施の形態の画像復号装置の構成を説明する。
図34は、本実施の形態の画像復号装置の構成図である。本実施の形態の画像復号装置は、ビットストリームバッファ44、算術復号部40、41、画素復号部42、43、周辺情報メモリ46およびフレームメモリ45を備える。ビットストリームバッファ44は、符号化ビットストリームを格納する。算術復号部40、41は、算術復号処理を行う。画素復号部42、43は、画素データを復号する。周辺情報メモリ46は、符号化に使用する周辺マクロブロックの情報を格納する。フレームメモリ45は、復号画像を格納する。
図35は、図34における算術復号部40の内部構成図である。算術復号部40は、シンボル発生確率格納部47、コンテキスト制御部48、2値算術復号器49および逆2値化部50を備える。シンボル発生確率格納部47は、シンボルの発生確率を保持する。コンテキスト制御部48は、シンボル発生確率格納部47に格納されているどのシンボル発生確率を使用するかを決定し、シンボル発生確率格納部47からシンボル発生確率を読み出す。2値算術復号器49は、算術復号を行う。逆2値化部50は、2値信号を多値信号に変換する。
算術復号部41は算術復号部40と同様であるので説明を省略する。
図36は、本実施の形態の画素復号部42の構成図である。図34および図35と同じ構成要素については説明を省略する。画素復号部42は、逆量子化部51、逆周波数変換部52、再構成部53、面内予測部54、動きベクトル計算部55、動き補償部56およびデブロックフィルタ部57を備える。
逆量子化部51は、逆量子化処理を行う。逆周波数変換部52は、逆周波数変換処理を行う。再構成部53は、逆周波数変換処理されたデータと動き補償又は面内予測された予測データから画像を復元する。
面内予測部54は、面内の上および左から予測データを生成する。動きベクトル計算部55は、動きベクトルを計算する。動き補償部56は、動きベクトルが指す位置の参照画像を取得し、フィルタ処理することによって予測データを生成する。デブロックフィルタ部57は、再構成処理された画像データにブロックノイズを低減するフィルタ処理を行う。
なお、画素復号部43の内部については、画素復号部42と同様であるので図36では記載を省略している。
以上が本実施の形態の画像復号装置の構成についての説明である。
次に、本実施の形態の画像復号装置の動作について説明する。
図37は、図34および図35に示した算術復号部の動作を示すフローチャートである。図37は、1マクロブロックの復号を示している。
図37に示すように、本実施の形態の算術復号部40は、まずシンボル発生確率格納部47が保持するシンボル発生確率の初期化を行う(S700)。発生確率の初期化は、図3に示せれた実施の形態1に係るシンボル発生確率初期化(S100)と同様であるので、説明を省略する。
次に、コンテキスト制御部48は、H.264規格に示される方法でコンテキスト制御を行う(S701)。ここでコンテキスト制御とは、復号中のマクロブロックの周辺の情報、および、復号するビット位置などによって、対応するシンボル発生確率をシンボル発生確率格納部47から読み出し、2値算術復号器49に入力する処理である。次に、2値算術復号器49は、H.264規格に示される方法により算術復号を行う(S702)。
コンテキスト制御部48は、算術復号の結果、更新されたシンボル発生確率をシンボル発生確率格納部47に格納する(S703)。次に、逆2値化部50は、H.264規格に示される方法で2値信号の多値化を行う(S704)。
さらに、算術復号部40は、必要に応じて、シンボル発生確率格納部47からシンボル発生確率を出力する(S705)。シンボル発生確率の出力は、図3に示された実施の形態1に係るシンボル発生確率出力(S105)と同様であるので説明を省略する。
次に、算術復号部40は、マクロブロックの復号が全て終了したかを判定する(S706)。マクロブロックの復号が終了している場合(S706でYes)、算術復号部40は、処理を終了する。マクロブロックの復号が終了していない場合(S706でNo)、算術復号部40は、再度コンテキスト制御(S701)から処理を継続する。
次に、図34および図36に示された画素復号部42の動作について、図38および図39に示すフローチャートを用いて説明する。
まず、逆量子化部51は、算術復号部40から入力されたデータを逆量子化する(S710)。次に、逆周波数変換部52は、逆量子化されたデータを逆周波数変換する(S711)。
次に、デコードするマクロブロックがインターMBである場合(S712でYes)、動きベクトル計算部55は、周辺情報メモリ46に動きベクトル計算に必要な情報があるかどうかをチェックする(S001)。動きベクトル計算に必要な情報がなければ、動きベクトル計算部55は、周辺情報メモリ46に必要な情報が書き込まれるまでウェイトする。
必要な情報があれば、動きベクトル計算部55は、その情報を用いて動きベクトルの演算を行う(S713)。
動きベクトルの演算の概略を図33に示す。動きベクトルmvは、周辺マクロブロックの動きベクトルmvA、mvBおよびmvCの中間値から予測動きベクトル値mvpを算出し、ストリーム中の差分動きベクトル値mvdと加算することによって得られる。
動きベクトル計算が終わると、動きベクトル計算部55は、周辺情報メモリ46に空き領域があるかチェックする(S002)。空き領域があれば、動きベクトル計算部55は、周辺情報メモリ46に算出した動きベクトルを書き込み、なければウェイトする。
動き補償部56は、算出した動きベクトルを用いてフレームメモリ45から参照画像を取得し、フィルタ処理などの動き補償演算を行う(S714)。
デコードするマクロブロックがイントラMB(面内予測MB)である場合(S712でNo)、面内予測部54は、周辺情報メモリ46に面内予測の計算に必要な情報があるかどうかをチェックする(S001)。面内予測の計算に必要な情報がなければ、面内予測部54は、周辺情報メモリ46に必要な情報が書き込まれるまでウェイトする。
必要な情報があれば、面内予測部54は、その情報を用いて面内予測の演算を行う(S715)。面内予測の演算には、周辺情報として、面内予測モードにもよるが、図32に示すようにnA、nB、nCおよびnDの再構成処理後の画素データが必要になる。必要な情報が周辺情報メモリ46にあれば、面内予測部54は、面内予測の演算を行う(S715)。
動き補償(S714)又は面内予測(S715)の処理が終わると、再構成部53は、それらによって生成された予測画像データと逆周波数変換した差分データを加算し(S716)、再構成画像を得る。
次に、再構成部53は、周辺情報メモリ46に空き領域があるかチェックする(S002)。空き領域があれば、再構成部53は、再構成処理(S716)で生成した再構成画像を周辺情報メモリ46に書き込み、なければウェイトする。
次に、デブロックフィルタ部57は、周辺情報メモリ46にデブロックフィルタ処理に必要なデータがあるかどうかをチェックする(S001)。デブロックフィルタ処理に必要なデータがなければ、デブロックフィルタ部57は、周辺情報メモリ46に必要なデータが書き込まれるまでウェイトする。
必要なデータがあれば、デブロックフィルタ部57は、そのデータを用いて、デブロックフィルタ処理(S717)を行い、フレームメモリ45に復号画像を書き込む。
デブロックフィルタ処理が終わると、デブロックフィルタ部57は、周辺情報メモリ46に空き領域があるかチェックする(S002)。空き領域があれば、デブロックフィルタ部57は、周辺情報メモリ46に算出したデブロックフィルタ結果を書き込み、画素復号部42は、処理を終了する。
画素復号部43の動作は画素復号部42の動作と同様であるので省略する。
以上が本実施の形態の画像復号装置の動作についての説明である。
このように、本実施の形態の画像復号装置は、算術符号化と画素符号化とを組み合わせることができる。
なお、本実施の形態に係る画像復号装置は、上述の複数の実施の形態に示されたいずれの算術符号化に対応してもよい。
また、本実施の形態において、H.264規格に示される算術符号化方法が適用されている。しかし、シンボル発生確率テーブル、あるいは、それに類する画像に応じて適応的に更新するデータを用いた符号化であれば、どのような方法が適用されてもよい。
また、本実施の形態において、画像符号化装置は、画像を16x16画素からなるマクロブロック単位に処理している。しかし、画像符号化装置は、8x8画素、32x32画素、あるいは、64x16画素などの単位で画像を処理しても構わない。
また、本実施の形態において、スライス内部をジグザグの順序で符号化するような例が示されている。しかし、符号化順は、H.264規格に示されるラスター順であってもよいし、どのような順序であっても構わない。
また、本実施の形態において、符号化は、H.264規格に基づいているが、同様の他の規格に基づいていてもよい。
また、本実施の形態において、データを記憶するための記憶部は、メモリあるいはバッファとして示されているが、どのような構成のメモリであってもよいし、フリップフロップまたはハードディスクといった異なる方式の記憶手段であってもよい。
また、本実施の形態に係る画像符号化装置は、ハードウェア回路として実現されても良いし、プロセッサ上のソフトウェアとして実現されても良い。また、本実施の形態に係る画像符号化装置は、複数のプロセッサ上に実現されても構わないし、1つのプロセッサ上に実現されても構わない。
以上、本発明に係る画像符号化装置および画像復号装置について、複数の実施の形態に基づいて説明したが、本発明はこれらの実施の形態に限定されるものではない。これらの実施の形態に対して当業者が思いつく変形を施して得られる形態、および、これらの実施の形態における構成要素を任意に組み合わせて実現される別の形態も本発明に含まれる。
例えば、特定の処理部が実行する処理を別の処理部が実行してもよい。また、処理を実行する順番が変更されてもよいし、複数の処理が並行して実行されてもよい。
また、本発明は、画像符号化装置または画像復号装置として実現できるだけでなく、画像符号化装置または画像復号装置を構成する処理手段をステップとする方法として実現できる。そして、本発明は、それらの方法に含まれるステップをコンピュータに実行させるプログラムとして実現できる。さらに、本発明は、そのプログラムを記録したCD−ROM等のコンピュータ読み取り可能な記録媒体として実現できる。
また、上述の複数の実施の形態において、画像は、複数のスライスに分割されているが、より一般的な領域に分割されていてもよい。
また、上述の複数の実施の形態において、シンボル発生確率テーブルを用いる算術符号化が示されているが、本発明に係る画像符号化装置は、シンボル発生確率テーブル以外の確率情報を用いて、算術符号化以外の符号化方法により、画像を符号化してもよい。
(実施の形態11)
図40Aは、本実施の形態に係る画像符号化装置の構成を示す構成図である。図40Aに示された画像符号化装置60は、第1の符号化部61、および、第2の符号化部62を備える。第1の符号化部61は、上述の複数の実施の形態に示された算術符号化部1に相当する。第2の符号化部62は、上述の複数の実施の形態に示された算術符号化部2に相当する。そして、画像符号化装置60は、複数のブロックをそれぞれ含む複数の領域を有する画像を符号化する。
図40Bは、図40Aに示された画像符号化装置の動作を示すフローチャートである。
まず、第1の符号化部61は、複数の領域のうちの第1の領域に含まれるブロックを、データの生起確率を示す第1の確率情報を用いて、順次、符号化する(S811)。また、符号化の際、第1の符号化部61は、符号化対象ブロックを符号化した後、次の符号化対象ブロックを符号化する前に、符号化対象ブロックのデータに依存させて第1の確率情報を更新する。
次に、第2の符号化部62は、複数の領域のうち、第1の領域とは異なる第2の領域に含まれるブロックを、データの生起確率を示す第2の確率情報を用いて、順次、符号化する(S812)。また、符号化の際、第2の符号化部62は、符号化対象ブロックを符号化した後、次の符号化対象ブロックを符号化する前に、符号化対象ブロックのデータに依存させて第2の確率情報を更新する。
さらに、第2の符号化部62は、最初の符号化対象ブロックを符号化する前に、第1の符号化部61で更新した第1の確率情報で第2の確率情報を更新する。
これにより、符号化に用いられる確率情報が、画像の領域の先頭で、画像の特性に応じて、更新される。したがって、符号化効率が向上する。
図41Aは、本実施の形態に係る画像復号装置の構成を示す構成図である。図41Aに示された画像復号装置70は、第1の復号部71、および、第2の復号部72を備える。第1の復号部71は、実施の形態10に示された算術復号部40に相当する。第2の復号部72は、実施の形態10に示された算術復号部41に相当する。そして、画像復号装置70は、複数のブロックをそれぞれ含む複数の領域を有する画像を復号する。
図41Bは、図41Aに示された画像復号装置の動作を示すフローチャートである。
まず、第1の復号部71は、複数の領域のうちの第1の領域に含まれるブロックを、データの生起確率を示す第1の確率情報を用いて、順次、復号する(S821)。また、復号の際、第1の復号部71は、復号対象ブロックを復号した後、次の復号対象ブロックを復号する前に、復号対象ブロックのデータに依存させて第1の確率情報を更新する。
次に、第2の復号部72は、複数の領域のうち、第1の領域とは異なる第2の領域に含まれるブロックを、データの生起確率を示す第2の確率情報を用いて、順次、復号する(S822)。また、復号の際、第2の復号部72は、復号対象ブロックを復号した後、次の復号対象ブロックを復号する前に、復号対象ブロックのデータに依存させて第2の確率情報を更新する。
さらに、第2の復号部72は、最初の復号対象ブロックを復号する前に、第1の復号部71で更新した第1の確率情報で第2の確率情報を更新する。
これにより、本実施の形態に係る画像復号装置は、本実施の形態に係る画像符号化装置に対応して、画像を復号できる。
(実施の形態12)
図42Aは、本実施の形態に係る画像符号化装置の構成を示す構成図である。図42Aに示された画像符号化装置60は、符号化部63を備える。符号化部63は、上述の複数の実施の形態に示された算術符号化部1または算術符号化部2に相当する。そして、画像符号化装置60は、複数のブロックを有する画像を符号化する。
図42Bは、図42Aに示された画像符号化装置の動作を示すフローチャートである。
符号化部63は、複数のブロックを、データの生起確率を示す確率情報を用いて、符号化する(S831)。また、符号化部63は、符号化対象ブロックを符号化した後、次の符号化対象ブロックを符号化する前に、符号化対象ブロックのデータに依存させて確率情報を更新する。また、符号化部63は、符号化対象ブロックの上側に隣接するブロックのデータに依存させて更新した確率情報を用いて、符号化対象ブロックを符号化する。
これにより、ブロックが、空間的に近い上側のブロックで更新された確率情報に依存して、符号化される。したがって、符号化効率がより向上する。
図43Aは、本実施の形態に係る画像復号装置の構成を示す構成図である。図43Aに示された画像復号装置70は、復号部73を備える。復号部73は、実施の形態10に示された算術復号部40または算術復号部41に相当する。そして、画像復号装置70は、複数のブロックを有する画像を復号する。
図43Bは、図43Aに示された画像復号装置の動作を示すフローチャートである。
復号部73は、複数のブロックを、データの生起確率を示す確率情報を用いて、復号する(S841)。また、復号部73は、復号対象ブロックを復号した後、次の復号対象ブロックを復号する前に、復号対象ブロックのデータに依存させて確率情報を更新する。また、復号部73は、復号対象ブロックの上側に隣接するブロックのデータに依存させて更新した確率情報を用いて、復号対象ブロックを復号する。
これにより、本実施の形態に係る画像復号装置は、本実施の形態に係る画像符号化装置に対応して、画像を復号できる。
図44Aは、本実施の形態の変形例に係る画像符号化装置の構成を示す構成図である。図44Aに示された画像符号化装置60は、算出部64をさらに備える。算出部64は、上述の複数の実施の形態に示されたシンボル発生確率算出部7に相当する。
図44Bは、図44Aに示された画像符号化装置の動作を示すフローチャートである。
算出部64は、符号化対象ブロックの上側のブロックのデータに依存させて更新した確率情報と、符号化対象ブロックの真左のブロックのデータに依存させて更新した確率情報とから、符号化対象ブロックの符号化に用いられる確率情報を算出する(S851)。
符号化部63は、算出部64で算出された確率情報を用いて、符号化対象ブロックを符号化する(S852)。
これにより、ブロックが、複数の確率情報に基づいて、符号化される。したがって、符号化効率がより向上する。
図45Aは、本実施の形態の変形例に係る画像復号装置の構成を示す構成図である。図45Aに示された画像復号装置70は、算出部74をさらに備える。算出部74は、上述の複数の実施の形態に示されたシンボル発生確率算出部7に相当する。
図45Bは、図45Aに示された画像復号装置の動作を示すフローチャートである。
算出部74は、復号対象ブロックの上側のブロックのデータに依存させて更新した確率情報と、復号対象ブロックの真左のブロックのデータに依存させて更新した確率情報とから、復号対象ブロックの復号に用いられる確率情報を算出する(S861)。
復号部73は、算出部74で算出された確率情報を用いて、復号対象ブロックを復号する(S862)。
これにより、本実施の形態の変形例に係る画像復号装置は、本実施の形態の変形例に係る画像符号化装置に対応して、画像を復号できる。
(実施の形態13)
上記各実施の形態で示した画像符号化方法および画像復号方法の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
さらに、ここで、上記各実施の形態で示した画像符号化方法および画像復号方法の応用例とそれを用いたシステムを説明する。
図46は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106〜ex110が設置されている。
このコンテンツ供給システムex100では、電話網ex104、および、基地局ex106〜ex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が相互に接続される。また、各機器が、インターネットサービスプロバイダex102を介して、インターネットex101に接続されている。
しかし、コンテンツ供給システムex100は、図46のような構成に限定されず、いずれかの要素を組み合せて接続するようにしてもよい。また、固定無線局である基地局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の例に限らず、図47に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも画像符号化装置または画像復号装置のいずれかを組み込むことができる。具体的には、放送局ex201では映像情報のビットストリームが電波を介して通信または衛星ex202に伝送される。このビットストリームは、上記各実施の形態で説明した画像符号化方法により符号化された符号化ビットストリームである。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信したビットストリームを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号して再生する。
また、記録媒体であるCDおよびDVD等の記録メディアex214に記録したビットストリームを読み取り、復号する再生装置ex212にも上記実施の形態で示した画像復号装置を実装することが可能である。この場合、再生された映像信号はモニタex213に表示される。
また、DVD、BD等の記録メディアex215に記録した符号化ビットストリームを読み取り復号する、または、記録メディアex215に映像信号を符号化し書き込むリーダ/レコーダex218にも上記各実施の形態で示した画像復号装置または画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、符号化ビットストリームが記録された記録メディアex215により他の装置およびシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に画像復号装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に画像復号装置を組み込んでもよい。
図48は、上記各実施の形態で説明した画像復号方法を用いたテレビ(受信機)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の構成を図49に示す。情報再生/記録部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はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
図50に光ディスクである記録メディア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の構成は例えば図48に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111および携帯電話ex114等でも考えられる。また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器および復号器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号器のみの受信端末という3通りの実装形式が考えられる。
このように、上記各実施の形態で示した画像符号化方法あるいは画像復号方法を上述したいずれの機器またはシステムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
(実施の形態14)
本実施の形態では、実施の形態1に示した画像符号化装置を、典型的には半導体集積回路であるLSIとして実現する。実現した形態を図51に示す。ビットストリームバッファ24、25およびフレームメモリ23をDRAM上に実現し、その他の回路やメモリをLSI上に構成している。
これらは個別に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)、または、ハードディスクなど他の記憶装置と連携してもかまわない。
(実施の形態15)
上記各実施の形態で示した画像符号化装置、画像復号装置、画像符号化方法および画像復号方法は、典型的には集積回路であるLSIで実現される。一例として、図52に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に置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。