(57)【要約】      （修正有）【課題】動画像の符号化及び復号化において、符号量削減と主観画質向上を図る。【解決手段】動画像復号化装置は、符号化ストリーム２０１を入力し、入力した符号化ストリームに可変長復号化処理２０２を行い、可変長復号化処理を行ったデータについて第１のブロック単位で逆量子化処理２０３及び逆周波数変換処理２０４を行って予測差分を生成し、第２のブロック単位で予測処理２０６，２０７を行い、生成した予測差分と予測処理の結果に基づいて復号画像を生成する。第１のブロック単位は、第２のブロック単位よりも大きいブロック単位である。第２のブロック単位における複数のブロックからなるブロック群に画面内予測ブロックが含まれる場合は、第２のブロック単位で逆量子化処理及び逆周波数変換処理を行い、前記ブロック群に画面内予測ブロックが含まれない場合は、第１のブロック単位で逆量子化処理及び逆周波数変換処理を行う。【選択図】図２
2020005294.tif 000002
【特許請求の範囲】
【請求項１】
動画像符号化装置と動画像復号装置を含むシステムにおける処理方法であって、
前記動画像符号化装置において、動画像を符号化して符号化ストリームを生成する符号化ストリーム生成ステップと、
前記動画像復号装置において、前記符号化ストリームを入力する入力ステップと、
前記動画像復号装置において、前記入力ステップで入力した前記符号化ストリームに可変長復号化処理を行う可変長復号化ステップと、
前記動画像復号装置において、前記可変長復号化ステップで前記可変長復号化処理を行ったデータについて、第１のブロック単位または第２のブロック単位で逆量子化処理及び逆周波数変換処理を行って予測差分を生成する逆量子化・逆周波数変換ステップと、
前記動画像復号装置において、前記第２のブロック単位で予測処理を行う予測ステップと、
前記動画像復号装置において、前記逆量子化・逆周波数変換ステップで生成した前記予測差分と前記予測ステップにおける予測処理結果に基づいて復号画像を生成する復号画像生成ステップとを備え、
前記動画像復号装置において、前記逆量子化・逆周波数変換ステップで用いる前記第１のブロック単位は、前記予測ステップで用いる前記第２のブロック単位における複数のブロックからなるブロック群を統合した前記第２のブロック単位よりも大きいブロック単位であり、
前記動画像復号装置において、前記逆量子化・逆周波数変換ステップは、前記ブロック群に画面内予測ブロックが含まれる場合には、該ブロック群においては、、左上のブロックから右上、左下、右下の順で、前記第２のブロック単位で逆量子化処理及び逆周波数変換処理を行い、
前記動画像復号装置において、前記逆量子化・逆周波数変換ステップは、前記ブロック群に画面内予測ブロックが含まれない場合には、該ブロック群においては、前記第１のブロック単位で逆量子化処理及び逆周波数変換処理を行い、
前記動画像復号装置において、前記第１のブロック単位のブロックの大きさは、前記符号化ストリームに含まれるフラグの情報により決定される、処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像を復号化する動画像復号化技術に関する。
【背景技術】
【０００２】
大容量の動画像情報をデジタルデータ化して記録、伝達する手法として、ＭＰＥＧ（Moving Picture Experts Group）方式及びその他の符号化方式が策定されている。これらの規格は、符号化処理が完了した画像情報を利用して符号化対象画像をブロック単位で予測し、原画像との差分（予測差分）を符号化することによって、動画像の持つ冗長性を除いて符号量を減らしている。
【０００３】
特に、対象画像とは別の画像を参照する画面間予測は、符号化対象ブロックと相関の高いブロックを参照画像中から探索することによって、高精度な予測を可能としている。また、予測差分の符号化は、数値の集積度を高めるために一度周波数変換、例えば離散コサイン変換（ＤＣＴ：Discrete Cosine Transform）、を施し、変換後の係数値を量子化する。予測差分もまた局所領域に強い相関性を有するため、上記周波数変換も画像を細かく分割したブロック単位で施される。
【０００４】
しかし、これらの方式は固定サイズのブロック（マクロブロック）を符号化処理の基本単位として設定しているため、マクロブロックを超えるサイズのブロックや、複数のマクロブロックにまたがるブロックを設定することができず、これが圧縮効率向上の妨げとなっていた。
【０００５】
これに対し、例えば、特許文献１では、その段落０００３から段落０００５に記載されるように、「高精細動画像などの同一動き量とみなされる領域が大きい映像素材」について「符号化効率の改善を図る」ために、「動き予測を行って動画像を符号化する動画像符号化装置において、符号化する当該ピクチャのマクロブロックサイズの上限を、当該ピクチャの直前のピクチャ又は／及び当該ピクチャのマクロブロックの特徴量を基に最適に決定する手段を具備し、動き予測を行う際のマクロブロックサイズの上限をピクチャまたはマクロブロック単位にて任意に選択可能」とする技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−３３９７７４
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に開示の技術は、予測を行う際のブロックを拡大するため、予測精度が低下するといった課題があった。予測精度が低下すると人の目につく雑音が発生する原因となり、主観画質が低下する。
【０００８】
本発明は上記課題を鑑みてなされたものであり、その目的は、符号量削減と主観画質向上を図ることにある。
【課題を解決するための手段】
【０００９】
本発明の一態様の動画像符号化装置と動画像復号装置を含むシステムにおける処理方法は、以下の処理を行う。前記動画像符号化装置において、動画像を符号化して符号化ストリームを生成する符号化ストリーム生成ステップと、前記動画像復号装置において、前記符号化ストリームを入力する入力ステップと、前記動画像復号装置において、前記入力ステップで入力した前記符号化ストリームに可変長復号化処理を行う可変長復号化ステップと、前記動画像復号装置において、前記可変長復号化ステップで前記可変長復号化処理を行ったデータについて、第１のブロック単位または第２のブロック単位で逆量子化処理及び逆周波数変換処理を行って予測差分を生成する逆量子化・逆周波数変換ステップと、前記動画像復号装置において、前記第２のブロック単位で予測処理を行う予測ステップと、前記動画像復号装置において、前記逆量子化・逆周波数変換ステップで生成した前記予測差分と前記予測ステップにおける予測処理結果に基づいて復号画像を生成する復号画像生成ステップとを備え、前記動画像復号装置において、前記逆量子化・逆周波数変換ステップで用いる前記第１のブロック単位は、前記予測ステップで用いる前記第２のブロック単位における複数のブロックからなるブロック群を統合した前記第２のブロック単位よりも大きいブロック単位であり、前記動画像復号装置において、前記逆量子化・逆周波数変換ステップは、前記ブロック群に画面内予測ブロックが含まれる場合には、該ブロック群においては、、左上のブロックから右上、左下、右下の順で、前記第２のブロック単位で逆量子化処理及び逆周波数変換処理を行い、前記動画像復号装置において、前記逆量子化・逆周波数変換ステップは、前記ブロック群に画面内予測ブロックが含まれない場合には、該ブロック群においては、前記第１のブロック単位で逆量子化処理及び逆周波数変換処理を行い、前記動画像復号装置において、前記第１のブロック単位のブロックの大きさは、前記符号化ストリームに含まれるフラグの情報により決定される。
【発明の効果】
【００１０】
本発明によれば、より好適に符号量削減と主観画質向上が可能となる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態で用いる画像符号化装置のブロック図である。
【図２】本実施形態で用いる画像復号化装置のブロック図である。
【図３】Ｈ．２６４／ＡＶＣの符号化方法に関する概念的な説明図である。
【図４】Ｈ．２６４／ＡＶＣの符号化方法に関する概念的な説明図である。
【図５】Ｈ．２６４／ＡＶＣの符号化方法に関する概念的な説明図である。
【図６】Ｈ．２６４／ＡＶＣの符号化方法に関する概念的な説明図である。
【図７】Ｈ．２６４／ＡＶＣの符号化方法に関する概念的な説明図である。
【図８】本実施形態の符号化方法に関する概念的な説明図である。
【図９】本実施形態の符号化方法に関する概念的な説明図である。
【図１０】本実施形態で利用する可変長符号表の一例である。
【図１１】本実施形態の符号化方法に関する概念的な説明図である。
【図１２】本実施形態の符号化方法に関する概念的な説明図である。
【図１３】本実施形態の符号化方法に関する概念的な説明図である。
【図１４】本実施形態により生成される符号化ストリームの一例である。
【図１５】本実施形態で用いる画像符号化装置のフローチャートである。
【図１６】本実施形態で用いる画像復号化装置のフローチャートである。
【図１７】本実施形態の符号化方法に関する概念的な説明図である。
【図１８】本実施形態で利用する可変長符号表の一例である。
【図１９】本実施形態により生成される符号化ストリームの一例である。
【図２０】本実施形態で用いる画像符号化装置のフローチャートである。
【図２１】本実施形態で用いる画像復号化装置のフローチャートである。
【発明を実施するための形態】
【００１２】
実施形態１．
以下本発明の実施形態１について、Ｈ．２６４／ＡＶＣでの処理と比較して説明する。まず、Ｈ．２６４／ＡＶＣは、符号化処理が完了した画像情報を利用して符号化対象画像を予測し、原画像との予測差分を符号化することによって、動画像の持つ冗長性を減らして符号量を削減している。ここでは、動画像の局所的性質を利用するために、画像を細かく分割したブロック単位で予測が行われる。
【００１３】
図３に示すとおり、符号化処理は対象画像３０５に対してラスタースキャンの順序（矢印）３０１に従い、１６×１６画素で構成されるマクロブロック３０２単位で実行される。図３において、対象画像３０５は既符号化領域３０６と未符号化領域３０７とで構成されている。予測には大別して画面内予測と画面間予測がある。
【００１４】
図４はＨ．２６４／ＡＶＣによる画面間予測処理の動作を概念的に示している。画面間予測を行う際には、符号化対象画像４０３と同じ映像４０１に含まれる符号化済みの画像の復号画像を参照画像４０２とし、対象画像中の対象ブロック４０４と相関の高いブロック（予測画像）４０５を参照画像４０２中から探索する。
【００１５】
このとき、両ブロックの差分として計算される予測差分に加えて、予測に必要なサイド情報として、両ブロックの座標値の差分として表される動きベクトル４０６を符号化する。一方復号化の際には上記の逆の手順を行えばよく、復号化された予測差分を参照画像中のブロック（予測画像）４０５に加算することにより、復号化画像を取得できる。
【００１６】
また、Ｈ．２６４／ＡＶＣは、マクロブロックをさらに小さなサイズのブロックに分割して上記予測を行うことができる。図５は、画面間予測を行う際に許容されているマクロブロックの分割パターンについて示している。すなわち、Ｈ．２６４／ＡＶＣは、対象画像５０１中の各マクロブロック５０２の予測において、あらかじめ定義された４×４画素サイズから１６×１６画素サイズまでの分割パターン（マクロブロックの分割パターン）５０３の中から最適なものを選択することができる。マクロブロックごとにどの分割パターンを用いて分割をしたのかを示す情報が、マクロブロック単位で符号化される。
【００１７】
一方、上記予測処理により生成された予測差分は、周波数変換手法の一つであるＤＣＴ（Discrete Cosine Transformation：離散コサイン変換）により周波数成分に分解され、その係数値が符号化される。図６は予測差分がＤＣＴにより周波数成分に分解される様子を概念的に示している。ＤＣＴは、入力信号を基底信号６０３とその係数値の加重和によって表現する周波数変換の一手法である。予測差分６０１に対してＤＣＴを適用することによりその係数値６０２が低周波成分に偏ることが多いため、効率的に可変長符号化を行うことができる。
【００１８】
なお、Ｈ．２６４／ＡＶＣでは、予測差分に対してもマクロブロックをさらに小さなサイズのブロックに分割してＤＣＴを適用することができるが、ＤＣＴを行う際のブロックサイズは固定されており、例えばＨ．２６４／ＡＶＣのBaselineプロファイルでは、図７に示すように、そのサイズを４×４画素とすることが規定されている。図７において、予測差分７０１のマクロブロック７０２は、４×４の小さいブロック（画素）に分割されている（図７における７０３）。
【００１９】
以上のように、Ｈ．２６４／ＡＶＣは、適応的に画像を細かなブロックに分割して符号化することにより、高い性能を実現している。しかし、Ｈ．２６４／ＡＶＣはマクロブロックを符号化処理の基本単位としているため、マクロブロックよりも大きなサイズのブロックや、複数のマクロブロックを跨ぐようなブロックを扱うことができなかった。こういったブロック形状に関する制限が、圧縮効率の向上を妨げている要因の一つであった。
【００２０】
一般的に、小さなサイズのブロックを用いるときめ細かな処理が可能になるため、予測やＤＣＴの精度が向上して画質が高くなる。しかし一方で、小さなブロックを用いると符号量が増大するといった問題がある。これは、画像内のブロック数が増加することに起因する。例えば画面間予測を行う場合には、予測処理に必要な動きベクトルをブロックごとに符号化する必要があるため、ブロック数が増加するとそれに伴って動きベクトル数も増加し、符号量が増大する。
【００２１】
また、ＤＣＴを行う場合には、ブロック数が増加するとそれに伴ってＤＣＴ係数のうちで有意となる低周波成分の数が増えるため、ＶＬＣ（Variable Length Coding）の効率が落ちてしまい符号量が増大する。そのため、適切なブロックサイズの判定は、こういった画質と符号量のトレードオフを考慮する必要がある。
【００２２】
一方、近年ではデジタルシネマやスーパＨＤなどハイビジョンを越える高精細映像に対する需要が高まっており、これら高精細映像を効率的に符号化する方式の登場が望まれている。一般的に、解像度の高い高精細映像は画面内の相関性が高いため、大きなサイズのブロックを用いても画質の劣化が少ないことが知られている。
【００２３】
そのため、符号化のターゲットを高解像度映像に絞れば、符号化の処理単位となるブロックのサイズを拡大することにより圧縮率の劇的向上を実現することができる。例えば、特許文献１の技術は、マクロブロックのサイズを変更可能にし、その上限値を既符号化領域の特徴量に応じて適応的に変更している。この方法によれば、画像の性質に応じてマクロブロックを拡大することが可能になり、特に高精細映像の圧縮効率を高めることができる。
【００２４】
しかし、この方法では予測を行う際のブロックを拡大するため、予測精度が低下するといった課題があった。予測精度が低下すると人の目につく雑音が発生する原因となり、主観画質が低下する。
【００２５】
本実施形態は上記課題を改善し、主観画質をより好適に維持したまま符号量をより低減する。具体的には、本実施形態は、画面間予測処理を小さなブロック単位、例えばマクロブロック単位、で細かく行う一方で、予測差分に対する周波数変換（本実施形態は一例としてＤＣＴを用いる）の適用サイズを拡大可能にする。
【００２６】
例えば図８は、予測差分８０１を示している。図８に示すように、対象画像が複数のオブジェクトにより構成されるような複雑なテキスチャを有する場合でも、予測精度が高ければ予測差分は低周波成分の多いなだらかな分布となり、大きなブロック単位でＤＣＴを施しても画質劣化が少なくなる。そのため、予測精度が高い領域８０２に対しては隣接する複数ブロックの予測差分を統合し、大きなブロックを形成してＤＣＴを施すことにより、ＤＣＴ係数の符号量を大幅に削減することができる。
【００２７】
また、複雑な動きを伴う物体の一部など予測精度が低い領域８０３に対しては、予測差分の分布が複雑になり、高周波成分が多くなるため大きなブロック単位でＤＣＴを施すと画質劣化が目立つ。そのため、こういった予測精度が低い領域に対しては、ブロックの統合は行わず、予測を行った際のブロックと同じもしくはそれよりも小さいブロック単位でＤＣＴを施すことにより、画質を維持することができる。以上のように、複数ブロックの予測差分を統合してＤＣＴを施すことにより、圧縮率を高め、符号量を低減することができる。
【００２８】
以下、本実施形態の詳細について述べる。なお、本実施形態において説明する処理は画面間符号化を行うことが可能なフレーム（Ｈ．２６４／ＡＶＣで言えばＰスライスもしくはＢスライス）に適用するものとして説明する。画面内のすべての領域を画面内符号化するフレーム（Ｈ．２６４／ＡＶＣで言えばＩスライス）に対しては、以下の実施形態において説明する処理を適用してもよく、適用しなくても良い。
【００２９】
実施形態１では、画面間符号化を行うことが可能なフレーム（Ｈ．２６４／ＡＶＣで言えばＰスライスもしくはＢスライス）においてすべての領域を画面間符号化する場合、すなわち画面内にはインターマクロブロック（画面間符号化を行うマクロブロック）のみが存在し、イントラマクロブロック（画面内符号化を行うマクロブロック）は存在しない場合を例として説明する。
【００３０】
図９は、本実施形態におけるＤＣＴに用いるブロックサイズの一例を表している。ここで、予測差分９０１は、例えば、以下の方法で生成される。この方法は、例えばＨ．２６４／ＡＶＣと同様の手段（図５）により１６×１６画素サイズのマクロブロック単位でブロック分割を行い、それぞれのマクロブロックの画面間予測を行い、それらの予測差分を１画面分統合する。本実施形態は、この予測差分に対してＤＣＴを施す際に、例えば隣接する１６個のマクロブロックを統合したブロック群９０２（６４×６４画素）を形成し、ブロック群単位でブロック分割を行う。
【００３１】
ただし、ブロック群９０２のサイズは６４×６４画素サイズに限らず、複数のマクロブロック９０３を統合したものであれば３２×３２や１２８×１２８など、どのようなものでもよい。好ましい一つの方法は、ブロック群９０２の分割パターン９０３として８×８画素、１６×１６画素、３２×３２画素、６４×６４画素など、多くの種類をあらかじめ用意しておき、それらの中から最適なパターンを選択してＤＣＴを施す。
【００３２】
その際、例えば図１０に示すような符号表を利用し、どのパターンを選択したのかを表す情報をブロック群ごとに符号化する。ここでは、頻繁に選択されるパターンに対して短い符号長を割り当てることにより、全体の符号量を削減することができる。また、上記ブロックパターンの選択は、例えば数式１に示すコスト関数を利用し、これを最小化する分割パターンが最適であると判断すると効果的である。
【００３３】
【数１】
2020005294.tif 000003
【００３４】
ただし、数式１において、Ｄｉｓｔは原画像と復号画像の誤差和、ＲａｔｅはＤＣＴ係数の符号量とブロック分割パターンの符号量の和、Ｗｅｉｇｈｔは重み係数を表す。ここで、Ｗｅｉｇｈｔの値を調整することにより、画質と符号量のトレードオフを制御することができる。例えば画質を多少劣化させても符号量を大幅に低下させたければ、コスト値に対する符号量の寄与率が大きくなるようＷｅｉｇｈの値を高めに設定すればよい。
【００３５】
図１１は、各ブロックに対する予測差分の符号化手順を示す。この符号化は、まず対象ブロックの予測差分１１０１に対してＤＣＴを施し、ＤＣＴ係数１１０２を取得する。続いて、ＤＣＴ係数１１０２に対して量子化を行い、符号化対象となる要素数を減少させる。この際、本実施形態のように大きなブロックサイズでＤＣＴを施すと高周波成分に多くのＤＣＴ係数が発生し符号量が増加するため、例えばＤＣＴ係数の高周波成分に対して大きな量子化ステップを適用するように量子化ステップの重み１１０３を設定することにより、高周波成分を大幅に削減して効率的に符号化を行うことができる。ただし、本図では基準となる量子化ステップをＱとして表している。
【００３６】
続いて、量子化後のＤＣＴ係数１１０４に対し、低周波成分から高周波成分に向かって２次元的なジグザグ方向のスキャンによる一次元展開を行い（１１０５）、ＶＬＣを施して符号語を生成する（１１０６）。以上の処理を、ブロック群を分割したすべてのブロックに対して繰り返す。
【００３７】
各ブロック群に対する処理順序はどのようなものでも構わないが、図１２にその一例を示す。ここでは、ブロック群をラスタースキャンの順序に従って処理する例について示している。まず、画面左上端に位置するブロック群１２０１を処理し、続いてブロック群１２０１の右側に隣接するブロック群１２０２を処理する。その後、さらに右側に隣接するブロック群１２０３、ブロック群１２０４に対して処理を進め、処理が画面右端に到達した時点で、ブロック群１２０１の下側に隣接するブロック群１２０５を処理する。以上の処理を画面右下端に到達するまで行う。このとき、同一ブロック群に含まれるマクロブロックの処理順序はどのようなものでも良いが、例えばジグザグ方向１２１０に沿って処理すると効果的である。
【００３８】
また、本実施形態は、複数のマクロブロックによる予測差分を統合してＤＣＴを施すために、予測差分を一時的に記憶しておくためのメモリが必要になる。上記メモリに一度に格納する領域を『アクセスグループ』と呼ぶことにする。このとき、予測とＤＣＴはそれぞれアクセスグループ単位で行われる。本符号化方法は、例えば画面全体を１つのアクセスグループとして設定した場合、画面内のすべてのマクロブロックに対して予測処理を行い、順次メモリに格納する。
【００３９】
続いてメモリに格納されている１画面分の予測差分に対して、ブロック群単位でブロック分割を行い、ＤＣＴを施す。アクセスグループはどのような範囲に設定しても構わないが、例えば図１３に示すように１ライン分のブロック群により１つのアクセスグループを構成すると、効率的に符号化を行うことができる。
【００４０】
この場合、まず初めに画面最上ラインに位置するブロック群１３０１〜ブロック群１３０４によって構成されるアクセスグループ１３１１に対して予測とＤＣＴを行った後、その次のラインに位置するブロック群１３０５〜ブロック群１３０８によって構成されるアクセスグループ１３１２に対して予測とＤＣＴを行う。これを画面最下ラインに到達するまで続ければ、１フレーム分の符号化処理は完了する。
【００４１】
図１４は、本実施形態における符号化ストリームの構成例（１ブロック群分）を表す。ここでは、該当ブロック群内に、予測処理の基本単位となるマクロブロックが１６個存在する場合について説明する。ここではまず、最初のマクロブロック（マクロブロック１）に対して予測方法（順方向画面間予測、逆方向画面間予測、双方向画面間予測、画面内予測など）とそのブロック分割パターンの組み合わせとして表される予測モード１４０１を符号化し、続いて予測に必要なサイド情報１４０２として、各ブロックにおける動きベクトルを符号化する。
【００４２】
続いて、２個目のマクロブロック２に対する予測モード１４０３とそのマクロブロックを分割した各ブロックにおける動きベクトル１４０４を符号化する。これを該当ブロック群に含まれるすべてのマクロブロックに対して繰り返す。続いて、該当ブロック群の予測差分に対してＤＣＴを施す際のブロック分割パターン１４０５と、各ブロックのＤＣＴ係数１４０６を符号化する。このとき、ＤＣＴを行うブロックサイズは例えば６４×６４などで固定値に設定してもよく、この場合は、ブロック群の分割パターン１４０５の符号化は不要である。
【００４３】
図１は本実施形態における動画像符号化装置の一例を示したものである。動画像符号化装置は、入力された原画像１０１を保持する入力画像メモリ１０２と、入力画像メモリ１０２中の画像に対してブロック分割を行うブロック分割部１０３と、ブロック単位で画面内予測を行う画面内予測部１０４と、動き探索部１０５にて検出された動きベクトルを基に画面間予測を行う画面間予測部１０６と、画像の性質に合った予測方法及びブロック形状を決定する予測方法・ブロック決定部１０７を有する。
【００４４】
動画像符号化装置は、さらに、予測差分を生成するための減算部１０８と、予測差分に対して周波数変換を行うＤＣＴ部１１０及び予測差分の性質に合った周波数変換のブロック形状を決定する周波数変換ブロック決定部１１６と、周波数変換後の係数値に対して量子化を施す量子化処理部１１１及び記号の発生確率に応じた符号化を行うための可変長符号化処理部１１２と、一度符号化した予測差分を復号化するための逆量子化処理部１１３及び逆ＤＣＴ部１１４と、復号化された予測差分を用いて復号化画像を生成するための加算部１１５と、復号化画像を保持して後の予測に活用するための参照画像メモリ１１７を有する。
【００４５】
入力画像メモリ１０２は原画像１０１の中から一枚の画像を符号化対象画像として保持する。ブロック分割部１０３は画像データを適切なサイズのブロックに分割し、画面内予測部１０４、動き探索部１０５、画面間予測部１０６及び減算部１０８に送る。動き探索部１０５は、参照画像メモリ１１７に格納されている復号化済み画像を用いて該当ブロックの動き量を計算し、動きベクトルを画面間予測部１０６に送る。画面内予測部１０４及び画面間予測部１０６は、画面内予測処理及び画面間予測処理を数種類の形状のブロック単位で実行する。予測方法・ブロック決定部１０７は、最適な予測方法とブロック形状（マクロブロックの分割パターン）を選ぶ。
【００４６】
続いて減算部１０８は、原画像と予測結果を用いて最適な予測符号化手段による予測差分を生成し、予測差分メモリ１０９に送る。予測差分メモリ１０９は、１アクセスグループ分の予測差分が蓄えられた段階で、予測差分をＤＣＴ部１１０に送る。ＤＣＴ部１１０及び量子化処理部１１１は、ブロック群単位で数種類の形状のブロックに分割してそれぞれＤＣＴなどの周波数変換及び量子化処理を行い、可変長符号化処理部１１２及び逆量子化処理部１１３に送る。逆量子化処理部１１３及び逆ＤＣＴ部１１４は、量子化後の周波数変換係数に対して、それぞれ逆量子化及び逆周波数変換（例えばＩＤＣＴ（Inverse DCT：逆ＤＣＴ））を施し、予測差分を取得して加算部１１５に送る。
【００４７】
続いて加算部１１５は復号化画像を生成する。周波数変換ブロック決定部１１６及び参照画像メモリ１１７は、復号化画像を格納する。周波数変換ブロック決定部１１６は、周波数変換を行う際の最適なブロック形状（ブロック群の分割パターン）を決定し、その情報を可変長符号化処理部１１２に送る。さらに可変長符号化処理部１１２は、予測・周波数変換を行う際の最適なブロック形状情報（マクロブロック、ブロック群の分割パターン）と、最適なブロック形状による周波数変換係数（予測差分情報）、及び復号化時の予測処理に必要なサイド情報（例えば画面内予測を行う際の予測方向や画面間予測を行う際の動きベクトル）を、記号の発生確率に基づいて可変長符号化して符号化ストリームを生成する。
【００４８】
図２は本実施形態による動画像復号化装置の一例を示したものである。動画像復号化装置は、例えば図１に示す動画像符号化装置によって生成された符号化ストリーム２０１に対して可変長符号化の逆の手順を行って各種情報を復号化するための可変長復号化部２０２と、予測差分情報を復号化するための逆量子化処理部２０３及び逆ＤＣＴ部２０４と、１アクセスグループ分の予測差分を記憶するための予測差分メモリ２０５と、画面間予測を行う画面間予測部２０６と、画面内予測を行う画面内予測部２０７と、復号化画像を取得するための加算部２０８と、復号化画像を一時的に記憶しておくための参照画像メモリ２０９を有する。
【００４９】
可変長復号化部２０２は、符号化ストリーム２０１を可変長復号化し、予測と周波数変換を行う際のブロック形状情報、予測差分情報、及び復号化時の予測処理に必要なサイド情報を取得する。これらのうち、周波数変換を行う際のブロック形状情報（ブロック群の分割パターン）と予測差分情報は逆量子化処理部２０３に送られ、予測を行う際のブロック形状情報（マクロブロックの分割パターン）と復号化時の予測処理に必要なサイド情報は、画面間予測部２０６、または画面内予測部２０７に送られる。
【００５０】
続いて、逆量子化処理部２０３及び逆ＤＣＴ部２０４は、ブロック群単位で指定されたブロック形状（ブロック群の分割パターン）でそれぞれ、予測差分情報に対する逆量子化と逆ＤＣＴなどの逆周波数変換を施して復号化を行い、予測差分メモリ２０５に送る。続いて画面間予測部２０６または画面内予測部２０７は、可変長復号化部２０２から送られてきた情報に基づいて、参照画像メモリ２０９を参照して指定されたブロック形状（マクロブロック分割パターン）にて予測処理を実行する。加算部２０８は、予測処理の結果と予測差分メモリ２０５が記憶している１アクセスグループ分の予測差分とから復号化画像を生成するとともに、復号化画像を参照画像メモリ２０９に格納する。
【００５１】
図１５は、本実施形態における１フレームの符号化処理手順を示している。まず、符号化対象となるフレーム内に存在するすべての領域に対して（１５０１）、以下の処理を行う。すなわち、該当アクセスグループ内のすべてのマクロブロックに対して（１５０２）、利用可能なすべての予測方法（前方向画面間予測、後方向画面間予測、双方向画面間予測、画面内予測など）及びブロック形状（マクロブロックの分割パターン）にて予測を実行し（１５０３）、予測差分の計算を行う。
【００５２】
そして、すべての予測方法・ブロック形状にて予測を行った結果の中から、最適な組み合わせを選択し（１５０４）、その組み合わせの情報を符号化するとともに、予測差分をメモリに格納する。ここで言う最適とは、予測差分と符号量がともに小さくなる場合を言う。上記予測方法とブロック形状の組み合わせの選択には、例えばすべての組み合わせに対して数式２にて表される符号化コスト（Ｃｏｓｔ）を計算し、これが最も小さい組み合わせを選択すると効果的である。
【００５３】
ここで、ＳＡＤ（Square Absolute Difference）は予測差分の絶対値和を、Ｒ（Rate）は、予測差分を符号化した際の符号量の見積もり値を表す。また、λは重み付けをするための定数であり、この値は予測方法（画面内予測・画面間予測）や量子化時のパラメータなどによって最適値が異なるので、これらに応じて値を使い分けると効果的である。符号量の見積もり値は、予測差分情報だけではなく、ブロック形状情報や動きベクトルなどの符号量を考慮して算出するのが望ましい。
【００５４】
【数２】
2020005294.tif 000004
【００５５】
アクセスグループ内のすべてのマクロブロックに対して上記の処理が終了すれば、続いてメモリに格納されている該当アクセスグループ分の予測差分に対して（１５０５）、ブロック群ごとに利用可能なすべてのブロック形状（ブロック群の分割パターン）にて、ＤＣＴ（１５０６）、量子化（１５０７）、及び可変長符号化（１５０８）を行う。そして、量子化後のＤＣＴ係数に対して、逆量子化（１５０９）及び逆ＤＣＴ（１５１０）を施して予測差分情報を復号化し、さらに数式１を利用して最適なブロック形状（ブロック群の分割パターン）を選択して（１５１１）、その形状情報を符号化する。
【００５６】
また、形状情報の選択は、数式１以外にも、例えば画質歪みと符号量の関係から最適な符号化モードを決定するＲＤ−Ｏｐｔｉｍｉｚａｔｉｏｎ方式を利用することができる。ＲＤ−Ｏｐｔｉｍｉｚａｔｉｏｎ方式は広く知られた技術であり、ここでの詳細な説明を省略する。詳細については、例えば、参考文献１を参照のこと（参考文献１：G. Sullivan and T. Wiegand : “Rate-Distortion Optimization for Video Compression”、IEEE Signal Processing Magazine, vol.15, no.6, pp.74-90, 1998.）。
【００５７】
続いて、復号化された予測差分と予測画像とを加算することにより復号化画像を取得し（１５１２）、参照画像メモリに格納する。以上の処理をすべてのアクセスグループに対して完了すれば、画像１フレーム分の符号化は終了する（１５１３）。
【００５８】
図１６は、本実施形態における１フレームの復号化処理手順を示している。まず、１フレーム内のすべてのアクセスグループに対して、以下の処理を行う（１６０１）。すなわち、アクセスグループ内のすべてのブロック群に対して（１６０２）、可変長復号化処理を施し（１６０３）、指定されたブロック形状（ブロック群の分割パターン）にて逆量子化処理（１６０４）及び逆ＤＣＴ（１６０５）を施して予測差分を復号化してメモリに格納する。
【００５９】
以上の処理をアクセスグループ内のすべてのブロック群に対して完了すると、続いて、同じアクセスグループに対して（１６０６）、可変長復号化した予測方法と予測を行う際のブロック形状（マクロブロックの分割パターン）に基づいて予測（１６０７）を行い、メモリに格納されている予測差分と加算することにより、復号画像を取得する（１６０８）。以上の処理をフレーム中のすべてのアクセスグループに対して完了すれば、画像1フレーム分の復号化が終了する（１６０９）。
【００６０】
本実施形態では周波数変換の一例としてＤＣＴを挙げているが、ＤＳＴ（Discrete Sine Transformation：離散サイン変換）、ＷＴ（Wavelet Transformation：ウェーブレット変換）、ＤＦＴ（Discrete Fourier Transformation：離散フーリエ変換）、ＫＬＴ（Karhunen-Loeve Transformation：カルーネン-レーブ変換）など、画素間相関除去に利用する直交変換ならどのようなものでも構わないし、特に周波数変換を施さずに予測差分そのものに対して符号化を行っても構わない。さらに、可変長符号化も特に行わなくて良い。また、本実施形態を別の方法と組み合わせて利用しても良い。
【００６１】
以上説明した実施形態１に係る動画像符号化装置及び符号化方法、動画像復号化装置及び復号化方法によれば、インターマクロブロックにより構成されるフレームについての符号化、復号化において、予測に用いるマクロブロックよりも大きいブロック単位で周波数変換を行うことにより、主観画質をより好適に維持したまま符号量をより低減する動画像符号化装置及び符号化方法、動画像復号化装置及び復号化方法を実現することができる。
【００６２】
実施形態２．
実施形態１は、画面間符号化を行うことが可能なフレーム（Ｈ．２６４／ＡＶＣで言えばＰスライスもしくはＢスライス）においてすべての領域を画面間符号化する場合、すなわち画面内にはインターマクロブロック（画面間符号化を行うマクロブロック）のみが存在し、イントラマクロブロック（画面内符号化を行うマクロブロック）は存在しない場合を例として説明した。
【００６３】
これに対し実施形態２は、画面間符号化を行うことが可能なフレーム（Ｈ．２６４／ＡＶＣで言えばＰスライスもしくはＢスライス）において画面内符号化を適用可能な場合、すなわちインターマクロブロック（画面間符号化を行うマクロブロック）とイントラマクロブロック（画面内符号化を行うマクロブロック）とを混在させて符号化を行うことが可能である場合について説明する。
【００６４】
イントラマクロブロックでは、既に符号化が完了したブロックの復号化画像を利用して予測を行うため、対象ブロックを予測する際には、隣接するブロックにおけるＤＣＴ処理が完了している必要がある。そのため、１ブロック群分のマクロブロックに対して一括で予測を行い、それら予測差分を統合してＤＣＴを施すことはできない。
【００６５】
そのため、イントラマクロブロックが１つでも含まれるブロック群に対してはマクロブロック単位で予測とＤＣＴを行う。このとき、ＤＣＴ処理はマクロブロックを分割したブロック単位で行うことになり、そのサイズはマクロブロック以下となる。そのため、ＤＣＴ処理におけるブロックサイズ（ＤＣＴのためのマクロブロックの分割パターン）としては、図９における３２×３２、６４×６４などは利用できない。このとき、例えば図１８に示す符号表を利用して上記分割パターンの符号化を行う。
【００６６】
図１７は、各ブロック群の符号化方法の一例について、概念的に示している。この例では、アクセスグループがブロック群に一致する場合について示している。符号化処理は、まず、画像左上端に位置するブロック群１７０１に含まれるすべてのマクロブロック対して予測を行い、すべてのマクロブロックがインターマクロブロックであれば、実施形態１と同様の手段（図９）でブロック群の分割パターンを決定してＤＣＴを施す。続いてブロック群１の右側に隣接するブロック群１７０２に対しても、イントラマクロブロックを含まなければ同じ処理を行う。
【００６７】
さらにブロック群１７０３、ブロック群１７０４に対しても同じ処理を進め、画面右端に到達した時点で、ブロック群１７０１の下側に隣接するブロック群１７０５を処理する。ここで、例えばブロック群１７０６に含まれる１つ以上のマクロブロックがイントラマクロブロックであったとすると、このブロック群に対してはマクロブロック単位で予測とＤＣＴを行う。以上のように、本実施形態は、該当マクロブロック群がイントラマクロブロックを含むか否かによって、ＤＣＴを行う単位をマクロブロックとマクロブロック群で切り替える。処理が画面右下端に到達すると、位置画面分の符号化が終了する。
【００６８】
図１９は、本実施形態において、１つ以上のイントラマクロブロックが存在するブロック群に対する符号化ストリームの構成例を表す。ここでは、該当ブロック群内に、マクロブロックが１６個存在する場合について説明する。まず、最初のマクロブロック（マクロブロック１）に対して予測を行う際の予測方法（順方向画面間予測、逆方向画面間予測、双方向画面間予測、画面内予測など）とその分割パターンの組み合わせとして表される予測モード１９０１を符号化する。続いて予測に必要なサイド情報１９０２として、インターマクロブロックの場合は動きベクトルを、イントラマクロブロックの場合は予測方向に関する情報を符号化する。
【００６９】
続いて、同じマクロブロックに対してＤＣＴを施す際のマクロブロックブロック分割パターン１９０３と、各ブロックのＤＣＴ係数１９０４を符号化する。以上の処理を１ブロック群に含まれるすべてのマクロブロックに対して行う。また、ＤＣＴを行うブロックサイズは例えば８×８などで固定値に設定してもよく、この場合は、マクロブロック単位の分割パターンの符号化は不要である。なお、イントラマクロブロックが１つも存在しないブロック群に対する符号化ストリームの構成は、実施形態１と同様（図１４）である。
【００７０】
図２０は、本実施形態において、１つ以上のイントラマクロブロックが存在するブロック群における符号化処理手順を示している。この処理は、該当ブロック群に含まれるすべてのマクロブロックに対して（２００１）、利用可能なすべての予測方法（前方向画面間予測、後方向画面間予測、双方向画面間予測、画面内予測など）及びブロック形状（マクロブロックの分割パターン）にて予測を実行し（２００２）、予測差分の計算を行う。
【００７１】
そして、すべての予測方法・ブロック形状にて予測を行った結果の中から、好適な組み合わせを選択し（２００３）、その組み合わせの情報を符号化する。ここで言う好適とは、予測差分と符号量がともに小さくなる場合を言い、その評価には数式２あるいは他の数式で表されるコスト関数を利用すると効果的である。
【００７２】
続いて同じマクロブロックの予測差分に対して、利用可能なブロック形状（ＤＣＴを施すマクロブロックの分割パターン）にて、ＤＣＴ（２００４）、量子化（２００５）、及び可変長符号化（２００６）を行う。そして、量子化後のＤＣＴ係数に対して、逆量子化（２００７）及び逆ＤＣＴ（２００８）を施して予測差分情報を復号化し、さらに数式１を利用して最適なブロック形状（ＤＣＴのためのマクロブロックの分割パターン）を選択し（２００９）、その形状情報を符号化する。形状情報の選択は、上述の参考文献１の別手法あるいは他の手法を利用しても良い。
【００７３】
続いて、復号化された予測差分と予測画像と加算することにより復号化画像を取得し（２０１０）、参照画像メモリに格納する。以上の処理を該当ブロック群に含まれるすべてのマクロブロックに対して完了すれば、該当ブロック群の符号化が終了する。なお、イントラマクロブロックが存在しないブロック群における符号化処理手順は、実施形態１と同様（図１５）である。
【００７４】
図２１は、本実施形態において、１つ以上のイントラマクロブロックが存在するブロック群における復号化処理手順を示している。この処理は、ブロック群に含まれるすべてのマクロブロックに対して（２１０１）、可変長復号化処理を施し（２１０２）、指定されたブロック形状にて逆量子化処理（２１０３）及び逆ＤＣＴ（２１０４）を施して予測差分を復号化してメモリに格納する。
【００７５】
続いて、可変長復号化した予測方法と予測を行う際のブロック形状（ＤＣＴのためのマクロブロックの分割パターン）に基づいて予測（２１０５）を行い、メモリに格納されている予測差分と加算することにより、復号画像を取得する（２１０６）。以上の処理を該当ブロック群に含まれるすべてのマクロブロックに対して完了すれば、該当ブロック群の復号化が終了する。なお、イントラマクロブロックが存在しないブロック群における復号化処理手順は、実施形態１と同様（図１６）である。
【００７６】
なお、実施形態２の処理を行う動画像符号化装置、動画像復号化装置は、図１及び図２に示す実施形態１の動画像符号化装置、動画像復号化装置の構成の各構成部の動作を上述の動作に変更すればよいため、構成自体の説明は省略する。
【００７７】
本実施形態では周波数変換の一例としてＤＣＴを挙げているが、ＤＳＴ（Discrete Sine Transformation：離散サイン変換）、ＷＴ（Wavelet Transformation：ウェーブレット変換）、ＤＦＴ（Discrete Fourier Transformation：離散フーリエ変換）、ＫＬＴ（Karhunen-Loeve Transformation：カルーネン−レーブ変換）など、画素間相関除去に利用する直交変換ならどのようなものでも構わないし、特に周波数変換を施さずに予測差分そのものに対して符号化を行っても構わない。さらに、可変長符号化も特に行わなくて良い。また、本実施形態を別の方法と組み合わせて利用しても良い。
【００７８】
以上説明した実施形態２に係る動画像符号化装置及び符号化方法、動画像復号化装置及び復号化方法によれば、インターマクロブロックとイントラマクロブロックが混在する構成のフレームについての符号化、復号化においても、予測に用いるマクロブロックよりも大きいブロック単位で周波数変換を行うことにより、主観画質をより好適に維持したまま符号量をより低減する動画像符号化装置及び符号化方法、動画像復号化装置及び復号化方法を実現することができる。
【００７９】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【００８０】
特許請求の範囲に記載した以外の本発明の観点の代表的な方法として、次の処理があげられる。
【００８１】
（１）符号化ストリームを入力する。前記入力した符号化ストリームに可変長復号化処理を行う。前記可変長復号化処理を行ったデータについて第１のブロック単位または第２のブロック単位で逆量子化処理及び逆周波数変換処理を行って予測差分を生成する。このとき、前記ブロック群に画面内予測ブロックが含まれる場合には、該ブロック群においては、前記第２のブロック単位で前記逆量子化処理及び前記逆周波数変換処理を行い、前記ブロック群に画面内予測ブロックが含まれない場合には、該ブロック群においては、前記第１のブロック単位で前記逆量子化処理及び前記逆周波数変換処理を行う。前記第２のブロック単位で予測処理を行う。前記生成した予測差分と前記予測処理結果とに基づいて復号画像を生成する。前記第１のブロック単位における１つのブロックは、前記第２の単位における複数のブロックからなるブロック群を統合した１つのブロックである。
【００８２】
（２）符号化ストリームを入力する。前記入力した符号化ストリームに可変長復号化処理を行う。前記可変長復号化処理を行ったデータについて第１のブロック単位または第２のブロック単位で逆量子化処理及び逆周波数変換処理を行って予測差分を生成する。前記第２のブロック単位で予測処理を行う。前記生成した予測差分と前記予測処理結果とに基づいて復号画像を生成する。前記第１のブロック単位における１つのブロックは、前記第２の単位における複数のブロックからなるブロック群を統合した１つのブロックである。前記ブロック群に画面内予測ブロックが含まれる場合には、該ブロック群においては、前記第２のブロック単位で前記逆量子化処理及び前記逆周波数変換処理を行う。前記ブロック群に画面内予測ブロックが含まれない場合には、該ブロック群においては、前記第１のブロック単位で前記逆量子化処理及び前記逆周波数変換処理を行う。前記入力する前記符号化ストリームにおいて、画面内予測ブロックを含むブロック群のストリーム構成には、前記第２のブロック単位の予測モードの情報と前記第２のブロック単位の周波数変換係数とが含まれ、画面内予測ブロックを含まないブロック群のストリーム構成には、前記第２のブロック単位の予測モードの情報と前記第１のブロック単位の周波数変換係数とが含まれる。
【００８３】
（３）入力画像を入力する。前記入力画像について第１のブロック単位で予測処理を行って予測差分を生成する。前記生成した予測差分に周波数変換処理及び量子化処理を行って量子化データを生成する。このとき、複数のブロックからなるブロック群に画面内予測ブロックが含まれる場合には、前記ブロック群において、前記第１のブロック単位で前記周波数変換処理と前記量子化処理を行い、前記ブロック群に画面内予測ブロックが含まれない場合には、前記ブロック群において、前記第１のブロック単位のブロックを複数個統合した大きさの第２のブロック単位で、前記周波数変換処理と前記量子化処理を行う。前記生成した量子化データに可変長符号化を行って符号化ストリームを生成する。
【００８４】
（４）入力画像を入力する。前記入力画像について第１のブロック単位で予測処理を行って予測差分を生成する。前記生成した予測差分に周波数変換処理及び量子化処理を行って量子化データを生成する。前記生成した量子化データに可変長符号化を行って符号化ストリームを生成する。複数のブロックからなるブロック群に画面内予測ブロックが含まれる場合に、前記ブロック群において、前記第１のブロック単位で前記周波数変換処理と前記量子化処理を行い、前記ブロック群に画面内予測ブロックが含まれない場合に、前記ブロック群において、前記第１のブロック単位のブロックを複数個統合した大きさの第２のブロック単位で、前記周波数変換処理と前記量子化処理を行う。前記生成した符号化ストリームの前記複数のブロックからなるブロック群についてのストリーム構成において、前記ブロック群に画面内予測ブロックが含まれる場合には、該ブロック群のストリーム構成には、前記第１のブロック単位の予測モードの情報と前記第１のブロック単位の周波数変換係数とが含まれ、前記ブロック群に画面内予測ブロックが含まれない場合には、前記第１のブロック単位の予測モードの情報と前記第２のブロック単位の周波数変換係数とが含まれる。
【産業上の利用可能性】
【００８５】
以上のように、本発明は、動画像の符号化／復号化に適用することができ、特にブロック単位での符号化／復号化に適用することができる。
【図１】
2020005294.tif 000005
【図２】
2020005294.tif 000006
【図３】
2020005294.tif 000007
【図４】
2020005294.tif 000008
【図５】
2020005294.tif 000009
【図６】
2020005294.tif 000010
【図７】
2020005294.tif 000011
【図８】
2020005294.tif 000012
【図９】
2020005294.tif 000013
【図１０】
2020005294.tif 000014
【図１１】
2020005294.tif 000015
【図１２】
2020005294.tif 000016
【図１３】
2020005294.tif 000017
【図１４】
2020005294.tif 000018
【図１５】
2020005294.tif 000019
【図１６】
2020005294.tif 000020
【図１７】
2020005294.tif 000021
【図１８】
2020005294.tif 000022
【図１９】
2020005294.tif 000023
【図２０】
2020005294.tif 000024
【図２１】
2020005294.tif 000025