【文献】
Thomas Davies et al.,Suggestion for a Test Model,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,1st Meeting: Dresden, DE,2010年 5月,JCTVC-A033_r1,pp.1-15
【文献】
Byeongmoon Jeon et al.,Description of video coding technology proposal by LG Electronics,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,1st Meeting: Dresden, DE,2010年 4月,JCTVC-A110,pp.1,4-11
(58)【調査した分野】(Int.Cl.,DB名)
前記決定ステップでは、前記画像信号のブロック内の画素のうち、最も上の行に含まれる画素の画素値を縦方向に複製することにより、ブロック内の画素数に対応する前記画面内予測子を生成する
請求項1に記載の動画像符号化方法。
前記決定ステップでは、前記画像信号のブロック内の画素のうち、最も左の列に含まれる画素の画素値を横方向に複製することにより、ブロック内の画素数に対応する前記画面内予測子を生成する
請求項3に記載の動画像符号化方法。
該動画像符号化方法は、さらに、前記第2の判定ステップでの判定結果が真である場合に、前記決定ステップで決定された前記画面内予測子を、前記符号化対象ブロックについての画面内予測子に関する情報として符号化する符号化ステップを含む
請求項1から4のいずれか1項に記載の動画像符号化方法。
前記第2の判定ステップでは、前記符号化対象ブロックの周辺ブロックが画面間予測されている場合に、前記符号化対象ブロックが、少なくとも一部の画面内予測子を参照しないブロックであると判定する
請求項1から5のいずれか1項に記載の動画像符号化方法。
前記第2の判定ステップでは、前記符号化対象ブロックの周辺ブロックのブロックサイズが前記符号化対象ブロックよりも小さく、前記周辺ブロックの一部が画面間予測されている場合に、前記符号化対象ブロックが少なくとも一部の面内予測子を参照しないブロックであると判定する
請求項1から6のいずれか1項に記載の動画像符号化方法。
前記決定ステップでは、前記画像信号のブロック内の画素のうち、最も上の行に含まれる画素の画素値を縦方向に複製することにより、ブロック内の画素数に対応する前記画面内予測子を生成する
請求項8に記載の動画像復号化方法。
前記決定ステップでは、前記画像信号のブロック内の画素のうち、最も左の列に含まれる画素の画素値を横方向に複製することにより、ブロック内の画素数に対応する前記画面内予測子を生成する
請求項10に記載の動画像復号化方法。
【発明を実施するための形態】
【0053】
(実施の形態1)
図1は、実施の形態1の画像符号化装置100の機能ブロック図である。
【0054】
画像符号化装置100は、符号化制御部101と、スイッチ102と、画面内予測部103と、差分部104と、変換・量子化部106と、逆量子化・逆変換部107と、加算部108と、スイッチ105と、画面間予測部109と、可変長符号化部110とを含む。
【0055】
符号化制御部101は、入力画像信号から符号化対象画像信号S1に対応する制御信号を抽出し、判定結果に応じてスイッチ102及び/又はスイッチ105を切り替える。又、符号化制御部101は、符号化対象画像信号S1に所定の処理を行い、符号化情報S2を出力する。
【0056】
スイッチ102は、符号化制御部101からの信号に従って、符号化対象画像信号S1を差分部104に出力するか、又は、符号化制御部101に出力するかを切り替える。
【0057】
差分部104は、スイッチ102から取得した所定のブロックの符号化対象画像信号S1と、スイッチ105から取得した予測画像信号Pとの差分値(残差値)を導出し、残差信号Rを変換・量子化部106に出力する。
【0058】
変換・量子化部106は、差分部104から取得した残差信号を周波数係数値に変換後量子化することによって量子化変換係数を生成し、生成した量子化変換係数を逆量子化・逆変換部107及び可変長符号化部110に出力する。
【0059】
逆変換・逆量子化部107は、変換・量子化部106から量子化変換係数を逆変換して周波数係数値を生成し、さらに周波数係数値を逆変換して残差信号R’を復元し、復元した残差信号R’を加算部108に出力する。
【0060】
加算部108は、逆変換・逆量子化部107から取得した復元された残差信号R’と、スイッチ105から取得した予測画像信号Pとを加算して復号画像信号を生成し、生成した復号画像信号を画面内予測部103及び画面間予測部109に出力する。
【0061】
画面内予測部103は、加算部108から取得した復号画像信号または符号化制御部101から符号化信号S1を用いて予測画像信号Pを生成し、生成した予測画像信号Pをスイッチ105に出力する。画面間予測部109は、加算部108から取得した復号画像信号を用いて予測画像信号Pを生成し、生成した予測画像信号Pをスイッチ105に出力する。
【0062】
スイッチ105は、符号化制御部101からの制御信号に従って、画面内予測部103から出力される予測画像信号Pと、画面間予測部109から出力される予測画像信号Pとのいずれを出力するかを切り替える。
【0063】
可変長符号化部110は、入力されたブロック毎の量子化変換係数、又は、種々の制御信号を可変長符号化して符号列を生成する。
【0064】
次に画像符号化装置100の動作について説明する。
【0065】
図2は、画像符号化装置100の処理フロー図である。図中、主要なステップについては符号を付している。
【0066】
まず、画像符号化装置100は、画像あるいはスライスに含まれる最初の符号化対象ブロックを取得する(S200)。
図2の例では、最初のブロックの番号iを0とする(S200)。
【0067】
次に、符号化制御部101は、ブロックi対応する制御信号を取得する(S201)。ブロックiの制御信号は、スライス単位、ピクチャ単位、又はシーケンス単位等の種々の単位に設定された制御信号から取得可能である。
【0068】
次に、符号化制御部101は、取得した制御信号によって、ブロックiが画面内符号化するブロックであるか否かを判定する(S202)。そして、判定結果がブロックi(i=0)が画面内符号化されるブロックである場合、ステップS203の判定に進む(S202でYES)。
【0069】
次に、符号化制御部101は、制御信号が「画面内予測子を参照する」ブロックか否かを判定する(S203)。ブロックiが画面内予測子を参照するブロックか否かの判定には、種々の条件が設定される。一例であるが、ブロックi(i=0)が画面左上端に存在する場合、画面内予測子を参照するブロックではないと判定される。従って、ブロック(i=0)について判定の結果はYESとなる。
【0070】
次に、符号化制御部101は、ブロックiに含まれる符号化対象信号S1(画素)を取得する(S204)。ブロックのサイズが4×4である場合、左上端の16画素の画素値に対応するデータを取得する。
【0071】
次に、符号化制御部101は、ブロックiに含まれる画素から画面内予測子を決定する(S205)。ステップS205における決定の方法は、本発明の主要部の一つであるため、詳細に後述する。
【0072】
次に、符号化制御部101は、ブロックi(i=0)に対応する制御情報に、決定された画面内予測子に関する情報を設定する(S206)。
【0073】
次に、符号化制御部101は、決定した画面内予測子に関する情報を、第2の符号列として可変長符号化部110へ出力する(S207)。この画面内予測子に関する情報には、決定された画面内予測子に関する情報に加えて、画面内予測子の適用方位であるモード番号を含めても良い。
【0074】
ここで、ブロック番号i=0をインクリメントせずに(
図2中のP1)、ステップS201に戻る。従って、ブロック番号は0(左上端を示す)のままとなる。従って、画像符号化装置100は、再度ブロック0についての処理を行うことが可能となる。
【0075】
そして、符号化制御部101は、再度、ブロックi(i=0)に対応する制御情報を取得する(再掲S201)。また、符号化制御部101は、制御信号の内容が、画面内符号化対象ブロックであるか否かを判定する(再掲S202)。ステップS202での判定結果が、画面内符号化されるブロックである場合は、ステップS203に進む。
【0076】
ステップS203において、ブロックi(i=0)についての制御情報は、今度は画面内予測子を参照するブロックとなる。これはステップS206において、ブロックi=0の制御情報に画面内予測子に関する情報が設定されているためである。
【0077】
符号化制御部101は、設定された制御情報に基づいて、ブロックi(i=0)についての画面内予測子を決定する(S208)。ここでの決定は、ステップS206において制御情報に設定された画面内予測子に関する情報に従えばよい。
【0078】
画面内予測部103は、自己のブロック(i=0)の画像信号から決定された画面内予測子に基づいて、本来左上端であったブロック(i=0)についても、画面内予測を実行する(S209)。そして、画面内予測部103は、ブロックiに対応する予測画像信号P(i、i=0)を生成する。
【0079】
以上が、実施の形態1の画像符号化装置100の画面内符号化方法における主要な動作の説明である。
【0080】
尚、ステップS202に戻り、ブロックi(i=k)が画面内符号化するブロックではない場合(S202)、画面間予測部109は、画面間予測を実行し、予測画像信号P(i=k)を生成する。
【0081】
差分部104は、ブロックiの符号化対象信号S1(i=k)と予測画像信号P(i)とから、残差値R(i=k)を導出する(S210)。
【0082】
変換・量子化部106は、差分部104から取得した残差値Rを変換及び量子化し、第1の符号列として逆量子化・逆変換部107及び可変長符号化部110へ出力する。
【0083】
逆変換・逆量子化部107は、変換・量子化部106から取得した第1の符号列を逆量子化及び逆変換し、ブロック(i=k)についての残差値R’(i=k)を導出する。
【0084】
加算部108は、逆量子化・逆変換部107から取得した残差値R’と、スイッチ105から取得した予測画像信号Pとを加算して、ブロックiについての復元画像信号を生成し、画面内予測部103及び画面間予測部109に保持させる。
【0085】
最後に、画像符号化装置100は、ブロックiが最後になるまで、iをインクリメントしながらこの符号化を実行する(P2)。
【0086】
以上が、本実施の形態1の画像符号化装置100の動作フローである。
【0087】
このように、本実施の形態1の画像符号化装置100では、ステップS203の判定に応じて、符号化対象のブロックiについて、自己のブロックi=0の画素値によるブロックi=0についての「画面内予測子」の決定(S205)と、「画面内予測子に関する情報」の符号化(第2の符号列:S207)とを実現する。
【0088】
尚、この動作フローは
図1の画像符号化装置100の各機能との関係で説明したが、一つの制御部で実行されてもよい。
【0089】
尚、ステップS202での判定結果に応じて、画面間予測と画面内予測とを択一的に実行する旨説明した。しかしながら、画面内予測部103での予測画像生成(S209)と、画面間予測部109での予測画像生成とを並列して実行させ、予測画像信号の予測精度の良い方を予測画像信号として決定してもよい。
【0090】
図3は、
図2のステップS203での「ブロックが、少なくとも一部の画面内予測子を参照しないブロックであるか否か」の判定を説明する図である。
図3は、この判定が真となる(即ち、参照しないブロックとなる)場合の符号化対象ブロックと画面内予測子の位置関係とを説明する図である。この
図3は、画面(あるいは1スライス)の左上ブロックから右下ブロックに向けて符号化する場合についての説明図である。
図3では、
図11と同じ意味を示す線あるいはブロックには、同じ符号を用いている。
【0091】
図3の上段の(a)は、通常時(画面内予測子が存在するブロックを符号化する場合)の現在の符号化対象ブロックと画面内予測子との位置関係を示す図である。
図3の符号化対象のブロック305は、現在符号化対象となっているブロックを示している。
図3のブロック301〜304は、現在の符号化対象ブロック(n)が符号化される際に既に符号化済となっているブロックである。
図3の画面内予測子306は、この符号化対象ブロックが参照する画素(あるいは画素値とする。以下同じ。)を示している。このように、通常時では、現在符号化対象となっている符号化対象のブロック305については、画面内予測子として符号化済ブロック305の左上、上、右上、左の各ブロック301〜304に含まれる画素の画素値(あるいは周波数係数値、以下同)のいずれかあるいは全部を、画面内予測子として利用することができる。
【0092】
このような場合、符号化制御部101は、「符号化対象ブロックが、少なくとも一部の画面内予測子を参照しないブロックであるか否か」の判定について偽(FALSE)と判定する(S203)。
【0093】
対して、
図3の中段の(b)は、異常時(画面内予測子が存在しないブロックを符号化する場合)における符号化対象のブロック305bの画面(あるいはスライス、以下同)中の位置を示す図である。
【0094】
符号化対象のブロック305bの符号化時点では、左上、上、右上、左のブロックのいずれも符号化されていない。従って、この場合は、画面内予測子が一つも得られない位置である。
【0095】
この場合は、符号化制御部101は、「符号化対象ブロックが、少なくとも一部の画面内予測子を参照しないブロックであるか否か」の判定について真(TRUE、参照しないブロックである)と判定する。
【0096】
図3の下段の(c)は、異常時(画面内予測子が完全には得られないブロックを符号化する場合)における符号化対象のブロック305c1、305c2の1画面(あるいは1スライス、以下同)中の位置を示す図である。現在、符号化対象とするブロックが符号化対象のブロック305bである場合の位置関係は、
図3の(b)と同様である。現在符号化対象とするブロックが、符号化順で符号化対象のブロック305bの1つ後となるブロックである右に1つ隣接する符号化対象のブロック305c1である場合、参照可能となるブロックは左側のブロック305bのみとなり、左上、上、右上のブロックは参照することができない。
【0097】
同様に、現在符号化対象とするブロックが符号化対象のブロック305bの下に位置する符号化対象のブロック305c2である場合、上、右上のブロックについては参照することができるが、左、左上のブロックについては参照することができない。
【0098】
従って、
図3の(c)の場合も、
図3の(b)の場合同様、符号化制御部101は、「符号化対象ブロックが、少なくとも一部の画面内予測子を参照しないブロックであるか否か」の判定について真(TRUE、参照しないブロックである)と判定する。
【0099】
尚、「符号化対象ブロックが、少なくとも一部の画面内予測子を参照しないブロックであるか否か」の判定については、符号化対象ブロックの位置のみならず、「周囲のブロックの参照」が禁止されているか否かも考慮される。
【0100】
例えば、符号化制御部101は、周囲のブロックの一部または全部が「画面間符号化された」ブロックである場合に、「符号化対象ブロックが、少なくとも一部の画面内予測子を参照しないブロックであるか否か」の判定を真(TRUE(参照しないブロックである))と判定することも可能である。
【0101】
図15の(a)は、符号化対象ブロックの周辺ブロック(B0、B1、B2)の全てが、画面間予測符号化されている場合を示す。このような場合には、周辺ブロックの画素の画素値を画面内予測子として使用できない。このため、符号化制御部101は、「符号化対象ブロックが、少なくとも一部の画面内予測子を参照しないブロックであるか否か」の判定を真と判定する。
図15の(b)は、符号化対象ブロックの周辺ブロックの一部(B0、B1)が、画面間予測符号化されている場合を示す。このような場合には、符号化対象ブロックの左上隣、上隣のブロックの画素の画素値を画面内予測子として使用できない。このため、符号化制御部101は、「符号化対象ブロックが、少なくとも一部の画面内予測子を参照しないブロックであるか否か」の判定を真と判定する。
【0102】
また、
図16は、周辺ブロックの符号化ブロックサイズが、符号化対象ブロックのブロックサイズよりも小さい場合の例である。
図16の(a)は、例えば、エラー伝播を抑制する方法として、周辺の画面間予測モードの符号化されたブロックの画素を画面内予測子として用いない(Constrained Intra Prediction:制限付面内予測モード)場合を示している。制限付面内予測モードは、ストリーム単位で指定される。
【0103】
図16の(a)のように、符号化対象ブロックの上隣の一部のブロックが画面間予測している場合には、符号化対象ブロックの上隣のブロックの全ての画素の画素値を画面内予測子として使用できない。このため、符号化制御部101は、「符号化対象ブロックが、少なくとも一部の画面内予測子を参照しないブロックであるか否か」の判定を真と判定する。
【0104】
図16の(b)は、符号化対象ブロックの上隣の一部のブロックが画面間予測している場合には、符号化対象ブロックの上隣の一部のブロックの画素の画素値を画面内予測子として使用できない。このため、符号化制御部101は、「符号化対象ブロックが、少なくとも一部の画面内予測子を参照しないブロックであるか否か」の判定を真と判定する。
【0105】
なお、
図16の例では、周辺ブロックのブロックサイズは、符号化対象ブロックの1/2のサイズのもの、1/4のサイズのものが存在するが、更にサイズの小さなブロックが存在する場合でも同様に判定を行う。
【0106】
図4は、ステップS205における「ブロックiに含まれる画素から画面内予測子を決定」する場合の画像符号化装置100の動作例を示すフロー図である。
【0107】
まず、符号化制御部101は、現在に符号化対象とするブロックである画面端ブロックに含まれる画素O
00〜O
33等の画素値を取得する(
図2のステップS204)。
【0108】
次に、
図2のステップS205の画面内予測子の決定の例として、この
図4では、符号化対象ブロック(ブロック0)自身からブロック0の画面内予測子を導出するために、平均値を利用する場合を説明している。尚、この画面内予測子を周波数係数変換、量子化、及び符号化を実行し、符号列として出力してもよい(S403a、S404a)。
【0109】
(画面内予測子の決定例1)
図5は、
図2のステップS205における画面内予測子の決定において、
図4の平均値の導出を利用した場合を詳細に説明する図である。
【0110】
図5の下段の(b)は、決定例1による画面内予測子と、画面内予測子から得られる予測値とを説明する図である。
図4に示す決定例1では、符号化制御部101は、入力された自己のブロックの画素値を統計処理して1つの値(例として、平均値)を導出し、この平均値をブロックの画面内予測子として決定する。
図5の(b)中の平均値Aは、画素O
00〜O
33の画素値の平均値(あるいは所定の精度に変換した平均値、以下同様)を示す。
【0111】
画面内予測部103は、この画面内予測子から予測画像Pを生成する。また、差分部104は、この統計処理により得られた1つの画面内予測子から得られる平均値Aを、すべての画素(画素O
00〜O
33)について適用し(
図5中の参照番号502で示される)、残差値R
00〜R
33を導出する。
図5の参照番号5106は、導出された各画素O00〜O33の残差値(R)である。
【0112】
図5に示すとおり、本発明の符号化制御部101は、この1つの可変値をとる画面内予測子から、画素O
00〜O
33についての画面内予測子を決定する。ここで値として、従来技術のように暗示的な固定値である128(
図1の参照番号1105で示される)を用いるのではなく、自己のブロックの画素値に応じて適切な値を用いている(
図5の参照番号502で示される)。
【0113】
このように本発明によれば、一律な値128を画面内予測子として用いるのではなく、画面内予測子として自己のブロックから導出された意味のある値、例えば、画素による平均値等の「現ブロックの画素値から導出された可変値」、を用いて予測画像を導出する。そして、差分部104ではこの値を減算に用いるため、従来よりも残差値(
図5の参照番号5106で示される)は小さくなる。その結果、残差値R
00〜R
33の変動が従来より小さくなるので、残差値R
00〜R
33の周波数変換値が小さくなる確率が向上し、周波数係数値を量子化変換した値を小さい値とすることが可能となる。
【0114】
更に、例1の符号化制御部101は、この画面内予測子に関する情報を第2の符号列として符号化して出力する(
図2のS207)。この符号化情報は、可変長符号化部により、例えばスライスヘッダやピクチャパラメータセット等に含められて符号列として出力される。このように、値128を暗示のルールとして用いるのではないため、画面内予測子として何の値を用いればよいのかを符号化装置及び復号化装置で明示的に共有することができる。
【0115】
ここで、符号列の増加について説明する。符号列には、1つ平均値Aに対応する値のみが符号列に加えられることとなる。このため、全体の符号列の増加を抑えることが可能となる。尚、例1では、統計処理による例として平均値をすべての画素に適用される画面内予測子の値として導出する例を示したが、これは他の統計処理により得られる値であってもよい。又、この画素O
00〜O
33の画素値を用いることとしたが、一部の画素の画素値を利用した統計処理であってもよい。
【0116】
尚、この例では1つの値のみを「画面内予測子に関する情報」として符号化する(S207)。この場合、周囲の画面内予測子が全く無い場合もしくは使わない場合には、画面内予測子に関する情報としての予測モードの符号化は不要である。
【0117】
(画面内予測子の決定例2)
図6は、
図2のステップS205における画面内予測子の決定における第2の決定例を説明する図である。
【0118】
図6の上段の(a)において、例えば、
図6中で上方向の参照ブロックの画面内予測子が得られない場合(Case1)、符号化制御部101は、4つの画素O
00、O
10、O
20、O
30の画素値を、現ブロックの画素値に関連のある画面内予測子として決定する。
【0119】
4つの画素O
00、O
10、O
20、O
30の画素値は、この符号化対象ブロックに上方向のブロックの画面内予測子が仮に存在するとした場合に、その画素値として最も確からしい画素値であるためである。
【0120】
従って、
図6の上段の(a)に示すように、例えば
図6中で左方向の参照ブロックの画面内予測子が得られない場合(Case2)、符号化制御部101は、4つの画素O
00、O
01、O
02、O
03の画素値を、現ブロックの画素値に関連のある可変値についての画面内予測子として決定する。
【0121】
図6の下段の(b)は、Case1の場合における、4つの画面内予測子からの可変値の決定方法を説明する図である。
図6の(b)に示すとおり、例えば
図6中で上方向のブロックの画面内予測子が得られない場合、4つの画素O
00、C
01、C
02、O
03についての画面内予測子を画素O
00の画素値と決定する。
【0122】
又、4つの画素O
10、O
11、O
12、O
13についての画面内予測子を画素O
10の画素値と決定する。同様に、4つの画素O
30、O
31、O
32、O
33についての画面内予測子を画素O
30の画素値と決定する。
【0123】
差分部104は、自己の符号化対象ブロックに含まれる画素の画素値(参照番号1104で示される)から決定された画面内予測子から導出された予測画像信号(参照番号603で示される)を減算し、各々の画素についての残差誤差(参照番号6106で示される)を導出する。
図6では、4つの画素O
00、O
01、O
02、O
03についての残差値は、残差値0、R
01、R
02、R
03となる。また、4つの画素O
30、O
31、O
32、O
33の画素値の残差値は、残差値0、R
31、R
32、R
33となる。
【0124】
このように本発明によれば、従来のようにブロックの画素値の変換に相関のない固定値を用いるのではなく、画面内予測子として「現ブロックの画素値に関連のある可変値」を用いる。
【0125】
ブロックを構成する画素の画素値に応じた値を予測値として用いるため、従来よりも、残差値(参照番号6106で示される)は小さくなる。又、残差値R
00〜R
33の変動が従来より小さいため、残差値の周波数変換値が小さくなる確率が向上し、周波数係数値を量子化変換した値を小さい値とすることが可能となる。
【0126】
更に、例2の符号化制御部101は、4つの画素の値をこのブロックの「画面内予測子に関する情報」として出力する(
図2、S207)。
【0127】
生成される符号列は、一部の画素O
00、O
10、O
20、O
30の画素値のみが符号列に加えられる。このため、すべての画素値を用いる場合に比して付加情報量の増加を抑えることが可能となる。尚、第1列の画素O
00、O
10、O
20、O
30のすべての画素値を画面内予測子として用いることとしたが、このうちの一部の画素の画素値を画面内予測子として利用することも可能である。
【0128】
(画面内予測子の決定例3)
図7は、
図2のステップS205における画面内予測子の第3の決定例を説明する図である。
【0129】
図7の上段の(a)は、第3の決定例により決定される画面内予測子(参照番号701で示される)を示している。符号化制御部101は、このスライスに含まれる複数の符号化対象ブロックについて、第1列の画素O
00、O
10、O
20、・・・、O
i0の一部を画面内予測子として決定する。尚、この場合、符号化制御部101には、事前に一列分のブロックデータが入力されているとする(
図2、S204)。
【0130】
符号化制御部101は、符号化の対象が符号化対象ブロック(B1)である場合、画素O
00、O
10、O
20、O
30を画面内予測子として決定する。
【0131】
符号化対象とするブロックが次の符号化対象ブロック(B2)に移動した場合、符号化制御部101は、画素O
40、O
50、O
60、O
70を画面内予測子として決定する。このように、上一列のブロックについて、左側の画面内予測子が得られるブロックについても
図6と同様に画面内予測子を決定する。
【0132】
図7の下段の(b)は、符号化対象ブロック(B1)についての画面内予測子(O
00、O
10、O
20、O
30)から導出される予測画像信号(参照番号702で示される)と、残差値(参照番号7106で示される)とを説明する図である。
【0133】
又、差分部104は、符号化の対象が次のブロックである符号化対象ブロック(B2)に移動した場合、画面内予測子(O
40、O
50、O
60、O
70)の値から導出した予測信号を用いて、該ブロックの画素の残差値を導出する。
【0134】
このように、第3の決定例によれば、左右の両方の画面内予測子が完全には得られない場合であって、一方の画面内予測子が存在する符号化対象ブロック(B2)のようなブロックについても、両方向の画面内予測子を使って予測符号化することができる。
【0135】
なお、
図16の(b)に示すように、符号化対象ブロックの上隣の符号化ブロックの一部(B1、B2)が画面間予測されており、他の一部(B3)が画面内予測をされている場合には、画面内予測されている符号化ブロック(B3)の画素の画素値は画面内予測子として使用し、画面間予測されている符号化ブロック(B1、B2)の画素の画素値は画面内予測子として使用できないとして、上記の画面内予測の決定例1、2、3を行ってもよい。
【0136】
このように、周辺ブロックのブロックサイズが、符号化対象ブロックよりも小さく、且つ一部が画面内予測している場合には、画面内予測をしている符号化ブロックの画素の画素値のみを画面内予測子として使用することにより、予測精度を向上させることが可能である。
【0137】
なお、
図16の(a)に示すように、符号化対象ブロックの上隣の符号化ブロックの一部(B1、B2)が画面間予測されている場合には、他の一部(B3)が画面内予測をしている場合であっても、符号化対象ブロックの上隣の画素の画素値は全て画面内予測子として使用できないとして、上記の画面内予測子の決定例1、2、3を行ってもよい。
【0138】
(ステップS207の変形例1)
図8は、
図4で説明した画面内予測子に関する情報の符号化処理の他の変形例を示すフロー図である。
図8中、
図4と同じステップには同一の参照番号を付与している。ステップS205で決定された画面内予測子について、一次元配列を生成し、隣接する画面内予測子の値の差分値を取得し(S402b)、得られた差分値の列を量子化する(S403b)。
【0139】
(ステップS207の変形例2)
図9は、
図4で説明した画面内予測子に関する情報の符号化処理の第2の変形例を示すフロー図である。
図9中、
図4と同じステップには同一の参照番号を付与している。ステップS205で決定された画面内予測子について、周波数変換値を導出し(S402c)、直交変換値を量子化した値を出力する(S403c)。尚、この直交変換及び量子化処理は、画面内予測部103でなく変換・量子化部106で実行してもよい。
【0140】
(ステップS207の変形例3)
ケース3:(R1の内容)ステップS205での判定において、周囲のブロックの「一部のみの画面内予測子を参照しないブロックである」と判定する場合であって、且つ(R2の決定)画面内予測子が決定例3のように1ライン分の画素値から構成されるとき、「画面内予測子に関する情報」にどの画素を利用するのかを識別するための予測モードを含める。
【0141】
(実施の形態2)
図10は、本発明の画像符号化装置100により符号化された符号列を復号する画像復号装置1000の構成を示すブロック図である。
【0142】
画像復号装置1000は、可変長復号化部1003と、逆量子化部1004と、逆変換部1005と、加算部1006と、画面内予測部1001と、画面間予測部1007と、スイッチ1008と、復号化制御部1002とを含む。
【0143】
画像復号装置1000は、復号対象とする所定のブロック(i)についての符号列(i番目のブロック)を取得する。可変長復号化部1003は、符号列を可変長復号することによって量子化変換係数を生成し、生成した量子化変換係数を逆量子化部1004に出力する。
【0144】
逆量子化部1004は、可変長復号化部1003から取得した量子化変換係数を逆量子化して直交変換係数を生成し、生成した直交変換係数を逆変換部1005に出力する。
【0145】
逆変換部1005は、逆量子化部1004から取得した直交変換係数を逆直交変換することによりブロック(i)についての残差値を復元し、復元した残差値を加算部1006に出力する。
【0146】
加算部1006は、逆変換部1005から取得した残差値と、スイッチ1008から取得したブロック(i)についての予測画像信号とを加算し、復号対象ブロックについての復号画像信号を出力する。
【0147】
そして、画像復号装置1000は、入力されるブロックが更新されるたびに上記処理を繰り返す。
【0148】
次に、本発明の画像復号装置1000の復号化制御部1002と画面内予測部1001との動作を説明する。
【0149】
復号化制御部1002は、符号列より抽出した情報を用いて現在復号対象とするブロック(i)の「画面内予測子に関する情報」を抽出する。復号化制御部1002は、この情報に応じて復号対象ブロックが、「少なくとも一部の画面内予測子を参照しないブロックであるか否か」を判定する。判定の結果が真である場合、復号化制御部1002は、ブロック(i)についての画面内予測子に関する情報から、
図5〜
図7で説明した方法で画面内予測子を決定するか、又は場合に応じて符号化モードを抽出する。
【0150】
画面内予測部1001は、この抽出された画面内予測子から予測画像を生成する。
【0151】
加算部1006は、この予測画像と逆変換部1005からの出力された復元した残差値とを加算し、「画面内予測子のないブロック」についての復元画像信号を生成する。
【0152】
このように、復号化時に画面内予測子の一部あるいは全部が存在しないブロックの復号化処理において、本来は画面内予測子の存在しなかったブロックの復号時にも、画面内予測子を用いた画像復号処理を行うことができる。
【0153】
なお、
図16の(b)に示すように、周辺ブロックのブロックサイズが、復号化対象ブロックよりも小さく、一部の復号化ブロック(B1、B2)が画面間予測により復号化されており、他方の復号化ブロック(B3)が画面内予測により復号化されているとする。この場合には、画面内予測により復号化されている復号化データの画素の画素値は、画面内予測子として使用し、画面間予測により復号化されている復号化データの画素の画素値は、画面内予測子として使用できないとして、
図5〜7で説明した方法で画面内予測子を決定する。このように、一部の画面内予測子を、画面内予測により復号化された復号化データの画素の画素値とすることにより、予測精度を向上させることができる。
【0154】
上述したとおり、第1の実施の形態による画像符号化装置100及び画像符号化方法によれば、本来は画面内予測における画面内予測子を使用しないはずのブロックの符号化及び復号化時にも、適切な予測画像信号を生成することができる。
【0155】
また、画面内予測子に関する情報を第2の符号列として符号列に加えて出力する。このように、値128を暗示のルールとして用いるのではないため、画面内予測子として何の値を用いればよいのかを画像符号化装置100及び画像復号装置1000で明示的に共有することができる。
【0156】
更に、第2の実施の形態による画像復号装置1000及び画像復号方法によれば、所定ブロックの画素から導出された画面内予測子を用いて、この所定ブロックと同じブロックについて予測画像を復元することができる。
【0157】
(実施の形態3)
上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
【0158】
さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
【0159】
図17は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
【0160】
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
【0161】
しかし、コンテンツ供給システムex100は
図17のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex106からex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
【0162】
カメラ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)等であり、いずれでも構わない。
【0163】
コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記各実施の形態で説明したように符号化処理を行い(即ち、本発明の画像符号化装置として機能する)、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号化処理して再生する(即ち、本発明の画像復号装置として機能する)。
【0164】
なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号化処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
【0165】
また、これら符号化・復号化処理は、一般的にコンピュータex111や各機器が有するLSIex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化・復号化処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
【0166】
また、ストリーミングサーバex103は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
【0167】
以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号化し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
【0168】
なお、コンテンツ供給システムex100の例に限らず、
図18に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の画像復号装置として機能する)。
【0169】
また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
【0170】
図19は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像データに音声データが多重化された多重化データを取得、または出力するチューナex301と、受信した多重化データを復調する、または外部に送信する多重化データに変調する変調/復調部ex302と、復調した多重化データを映像データと、音声データとに分離する、または信号処理部ex306で符号化された映像データ、音声データを多重化する多重/分離部ex303を備える。
【0171】
また、テレビex300は、音声データ、映像データそれぞれを復号化する、またはそれぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305(本発明の画像符号化装置または画像復号装置として機能する)を有する信号処理部ex306と、復号化した音声信号を出力するスピーカex307、復号化した映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインタフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。インタフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
【0172】
まず、テレビex300がアンテナex204等により外部から取得した多重化データを復号化し、再生する構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、CPU等を有する制御部ex310の制御に基づいて、変調/復調部ex302で復調した多重化データを多重/分離部ex303で分離する。さらにテレビex300は、分離した音声データを音声信号処理部ex304で復号化し、分離した映像データを映像信号処理部ex305で上記各実施の形態で説明した復号化方法を用いて復号化する。復号化した音声信号、映像信号は、それぞれ出力部ex309から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex318、ex319等に一旦これらの信号を蓄積するとよい。また、テレビex300は、放送等からではなく、磁気/光ディスク、SDカード等の記録メディアex215、ex216から多重化データを読み出してもよい。次に、テレビex300が音声信号や映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、制御部ex310の制御に基づいて、音声信号処理部ex304で音声信号を符号化し、映像信号処理部ex305で映像信号を上記各実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重/分離部ex303で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex320、ex321等に一旦これらの信号を蓄積するとよい。なお、バッファex318、ex319、ex320、ex321は図示しているように複数備えていてもよいし、1つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302や多重/分離部ex303の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
【0173】
また、テレビex300は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号化処理、外部出力のみが可能な構成であってもよい。
【0174】
また、リーダ/レコーダex218で記録メディアから多重化データを読み出す、または書き込む場合には、上記復号化処理または符号化処理はテレビex300、リーダ/レコーダex218のいずれで行ってもよいし、テレビex300とリーダ/レコーダex218が互いに分担して行ってもよい。
【0175】
一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を
図20に示す。情報再生/記録部ex400は、以下に説明する要素ex401、ex402、ex403、ex404、ex405、ex406、ex407を備える。光ヘッドex401は、光ディスクである記録メディアex215の記録面にレーザスポットを照射して情報を書き込み、記録メディアex215の記録面からの反射光を検出して情報を読み込む。変調記録部ex402は、光ヘッドex401に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex403は、光ヘッドex401に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex215に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex404は、記録メディアex215に記録するための情報および記録メディアex215から再生した情報を一時的に保持する。ディスクモータex405は記録メディアex215を回転させる。サーボ制御部ex406は、ディスクモータex405の回転駆動を制御しながら光ヘッドex401を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。システム制御部ex407は、情報再生/記録部ex400全体の制御を行う。上記の読み出しや書き込みの処理はシステム制御部ex407が、バッファex404に保持された各種情報を利用し、また必要に応じて新たな情報の生成・追加を行うと共に、変調記録部ex402、再生復調部ex403、サーボ制御部ex406を協調動作させながら、光ヘッドex401を通して、情報の記録再生を行うことにより実現される。システム制御部ex407は例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
【0176】
以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
【0177】
図21に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録や再生を行う装置において情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233より内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した多重化データの読み書きを行う。
【0178】
以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
【0179】
また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば
図19に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
【0180】
図22(a)は、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
【0181】
さらに、携帯電話ex114の構成例について、
図22(b)を用いて説明する。携帯電話ex114は、表示部ex358及び操作キー部ex366を備えた本体部の各部を統括的に制御する主制御部ex360に対して、電源回路部ex361、操作入力制御部ex362、映像信号処理部ex355、カメラインタフェース部ex363、LCD(Liquid Crystal Display)制御部ex359、変調/復調部ex352、多重/分離部ex353、音声信号処理部ex354、スロット部ex364、メモリ部ex367がバスex370を介して互いに接続されている。
【0182】
電源回路部ex361は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話ex114を動作可能な状態に起動する。
【0183】
携帯電話ex114は、CPU、ROM、RAM等を有する主制御部ex360の制御に基づいて、音声通話モード時に音声入力部ex356で収音した音声信号を音声信号処理部ex354でデジタル音声信号に変換し、これを変調/復調部ex352でスペクトラム拡散処理し、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して送信する。また携帯電話ex114は、音声通話モード時にアンテナex350を介して受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変調/復調部ex352でスペクトラム逆拡散処理し、音声信号処理部ex354でアナログ音声信号に変換した後、これを音声出力部ex357から出力する。
【0184】
さらにデータ通信モード時に電子メールを送信する場合、本体部の操作キー部ex366等の操作によって入力された電子メールのテキストデータは操作入力制御部ex362を介して主制御部ex360に送出される。主制御部ex360は、テキストデータを変調/復調部ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して基地局ex110へ送信する。電子メールを受信する場合は、受信したデータに対してこのほぼ逆の処理が行われ、表示部ex358に出力される。
【0185】
データ通信モード時に映像、静止画、または映像と音声を送信する場合、映像信号処理部ex355は、カメラ部ex365から供給された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し(即ち、本発明の画像符号化装置として機能する)、符号化された映像データを多重/分離部ex353に送出する。また、音声信号処理部ex354は、映像、静止画等をカメラ部ex365で撮像中に音声入力部ex356で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex353に送出する。
【0186】
多重/分離部ex353は、映像信号処理部ex355から供給された符号化された映像データと音声信号処理部ex354から供給された符号化された音声データを所定の方式で多重化し、その結果得られる多重化データを変調/復調部(変調/復調回路部)ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex350を介して送信する。
【0187】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、または映像およびもしくは音声が添付された電子メールを受信する場合、アンテナex350を介して受信された多重化データを復号化するために、多重/分離部ex353は、多重化データを分離することにより映像データのビットストリームと音声データのビットストリームとに分け、同期バスex370を介して符号化された映像データを映像信号処理部ex355に供給するとともに、符号化された音声データを音声信号処理部ex354に供給する。映像信号処理部ex355は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって復号化することにより映像信号を復号し(即ち、本発明の画像復号装置として機能する)、LCD制御部ex359を介して表示部ex358から、例えばホームページにリンクされた動画像ファイルに含まれる映像、静止画が表示される。また音声信号処理部ex354は、音声信号を復号し、音声出力部ex357から音声が出力される。
【0188】
また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器・復号化器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号化器のみの受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムex200において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
【0189】
このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
【0190】
また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
【0191】
(実施の形態4)
上記各実施の形態で示した動画像符号化方法または装置と、MPEG−2、MPEG4−AVC、VC−1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
【0192】
ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
【0193】
この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG−2トランスポートストリーム形式のデジタルストリームである。
【0194】
図23は、多重化データの構成を示す図である。
図23に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(PG)、インタラクティブグラフィックスストリームのうち、1つ以上を多重化することで得られる。ビデオストリームは映画の主映像および副映像を、オーディオストリーム(IG)は映画の主音声部分とその主音声とミキシングする副音声を、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここで主映像とは画面に表示される通常の映像を示し、副映像とは主映像の中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にGUI部品を配置することにより作成される対話画面を示している。ビデオストリームは、上記各実施の形態で示した動画像符号化方法または装置、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠した動画像符号化方法または装置によって符号化されている。オーディオストリームは、ドルビーAC−3、Dolby Digital Plus、MLP、DTS、DTS−HD、または、リニアPCMのなどの方式で符号化されている。
【0195】
多重化データに含まれる各ストリームはPIDによって識別される。例えば、映画の映像に利用するビデオストリームには0x1011が、オーディオストリームには0x1100から0x111Fまでが、プレゼンテーショングラフィックスには0x1200から0x121Fまでが、インタラクティブグラフィックスストリームには0x1400から0x141Fまでが、映画の副映像に利用するビデオストリームには0x1B00から0x1B1Fまで、主音声とミキシングする副音声に利用するオーディオストリームには0x1A00から0x1A1Fが、それぞれ割り当てられている。
【0196】
図24は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
【0197】
図25は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。
図25における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。
図25の矢印yy1,yy2, yy3, yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time−Stamp)やピクチャの復号時刻であるDTS(Decoding Time−Stamp)が格納される。
【0198】
図26は、多重化データに最終的に書き込まれるTSパケットの形式を示している。TSパケットは、ストリームを識別するPIDなどの情報を持つ4ByteのTSヘッダとデータを格納する184ByteのTSペイロードから構成される188Byte固定長のパケットであり、上記PESパケットは分割されTSペイロードに格納される。BD−ROMの場合、TSパケットには、4ByteのTP_Extra_Headerが付与され、192Byteのソースパケットを構成し、多重化データに書き込まれる。TP_Extra_HeaderにはATS(Arrival_Time_Stamp)などの情報が記載される。ATSは当該TSパケットのデコーダのPIDフィルタへの転送開始時刻を示す。多重化データには
図26下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号はSPN(ソースパケットナンバー)と呼ばれる。
【0199】
また、多重化データに含まれるTSパケットには、映像・音声・字幕などの各ストリーム以外にもPAT(Program Association Table)、PMT(Program Map Table)、PCR(Program Clock Reference)などがある。PATは多重化データ中に利用されるPMTのPIDが何であるかを示し、PAT自身のPIDは0で登録される。PMTは、多重化データ中に含まれる映像・音声・字幕などの各ストリームのPIDと各PIDに対応するストリームの属性情報を持ち、また多重化データに関する各種ディスクリプタを持つ。ディスクリプタには多重化データのコピーを許可・不許可を指示するコピーコントロール情報などがある。PCRは、ATSの時間軸であるATC(Arrival Time Clock)とPTS・DTSの時間軸であるSTC(System Time Clock)の同期を取るために、そのPCRパケットがデコーダに転送されるATSに対応するSTC時間の情報を持つ。
【0200】
図27はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
【0201】
記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
【0202】
多重化データ情報ファイルは、
図28に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
【0203】
多重化データ情報は
図28に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
【0204】
ストリーム属性情報は
図29に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
【0205】
本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
【0206】
また、本実施の形態における動画像復号化方法のステップを
図30に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
【0207】
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
【0208】
(実施の形態5)
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、
図31に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501、ex502、ex503、ex504、ex505、ex506、ex507、ex508、ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
【0209】
例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117やカメラex113等からAV信号を入力する。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声信号の符号化および/または映像信号の符号化が行われる。ここで映像信号の符号化処理は上記各実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力された多重化データは、基地局ex107に向けて送信されたり、または記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
【0210】
なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も1つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
【0211】
また、上記では、制御部ex501が、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有するとしているが、制御部ex501の構成は、この構成に限らない。例えば、信号処理部ex507がさらにCPUを備える構成であってもよい。信号処理部ex507の内部にもCPUを設けることにより、処理速度をより向上させることが可能になる。また、他の例として、CPUex502が信号処理部ex507、または信号処理部ex507の一部である例えば音声信号処理部を備える構成であってもよい。このような場合には、制御部ex501は、信号処理部ex507、またはその一部を有するCPUex502を備える構成となる。
【0212】
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0213】
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0214】
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【0215】
(実施の形態6)
上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
【0216】
この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。
図32は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
【0217】
より具体的には、駆動周波数切替え部ex803は、
図31のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、
図31の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態4で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態4で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、
図34のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
【0218】
図33は、本実施の形態の方法を実施するステップを示している。まず、ステップexS200では、信号処理部ex507において、多重化データから識別情報を取得する。次に、ステップexS201では、CPUex502において、識別情報に基づいて映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものであるか否かを識別する。映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合には、ステップexS202において、駆動周波数を高く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、高い駆動周波数に設定される。一方、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、ステップexS203において、駆動周波数を低く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合に比べ、低い駆動周波数に設定される。
【0219】
さらに、駆動周波数の切替えに連動して、LSIex500またはLSIex500を含む装置に与える電圧を変更することにより、省電力効果をより高めることが可能である。例えば、駆動周波数を低く設定する場合には、これに伴い、駆動周波数を高く設定している場合に比べ、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することが考えられる。
【0220】
また、駆動周波数の設定方法は、復号する際の処理量が大きい場合に、駆動周波数を高く設定し、復号する際の処理量が小さい場合に、駆動周波数を低く設定すればよく、上述した設定方法に限らない。例えば、MPEG4−AVC規格に準拠する映像データを復号する処理量の方が、上記各実施の形態で示した動画像符号化方法または装置により生成された映像データを復号する処理量よりも大きい場合には、駆動周波数の設定を上述した場合の逆にすることが考えられる。
【0221】
さらに、駆動周波数の設定方法は、駆動周波数を低くする構成に限らない。例えば、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を高く設定し、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することも考えられる。また、他の例としては、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、CPUex502の駆動を停止させることなく、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、処理に余裕があるため、CPUex502の駆動を一時停止させることも考えられる。識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合であっても、処理に余裕があれば、CPUex502の駆動を一時停止させることも考えられる。この場合は、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合に比べて、停止時間を短く設定することが考えられる。
【0222】
このように、映像データが準拠する規格に応じて、駆動周波数を切替えることにより、省電力化を図ることが可能になる。また、電池を用いてLSIex500またはLSIex500を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
【0223】
(実施の形態7)
テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
【0224】
この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を
図35(a)のex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4−AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4−AVC規格に対応する復号処理部ex902を共有し、MPEG4−AVC規格に対応しない、本発明特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。特に、本発明は、逆量子化に特徴を有していることから、例えば、逆量子化については専用の復号処理部ex901を用い、それ以外のエントロピー符号化、デブロッキング・フィルタ、動き補償のいずれか、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4−AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
【0225】
また、処理を一部共有化する他の例を
図35(b)のex1000に示す。この例では、本発明に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
【0226】
このように、本発明の動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。