(57)【要約】【課題】復号されたピクチャの画質劣化を抑制できる直交変換サイズを選択可能な動画像符号化装置を提供する。【解決手段】動画像符号化装置１は、ピクチャ内の符号化対象ブロックに写っているシーンの複雑さを表す複雑度を算出する複雑度算出部１１と、互いに異なる複数の直交変換サイズのそれぞれについて、符号化対象ブロックをその直交変換サイズを持つサブブロック単位で直交変換したときの符号量を表す評価値を、複雑度が低いほど、小さい直交変換サイズほど評価値が小さくなるように重み付けして算出し、評価値が最小となる直交変換サイズを選択するサイズ選択部１３と、符号化対象ブロックと予測ブロック間の予測誤差画像を選択された直交変換サイズを持つサブブロック単位で直交変換して得られる直交変換係数を符号化する符号化部１４とを有する。【選択図】図２
2015211269.tif 000002
【特許請求の範囲】
【請求項１】
動画像データに含まれるピクチャを符号化する動画像符号化装置であって、
前記ピクチャを複数のブロックに分割する分割部と、
前記複数のブロックのうちの符号化対象ブロックに写っているシーンの複雑さを表す複雑度を算出する複雑度算出部と、
前記符号化対象ブロックを含む符号化対象ピクチャ、または、前記符号化対象ピクチャよりも前に符号化されたピクチャから前記符号化対象ブロックの予測ブロックを生成する予測ブロック生成部と、
互いに異なる複数の直交変換サイズのそれぞれについて、前記符号化対象ブロックを当該直交変換サイズを持つサブブロック単位で直交変換したときの符号量を表す評価値を、前記複雑度が低いほど、小さい前記直交変換サイズほど該評価値が小さくなるように重み付けして算出し、当該評価値が最小となる直交変換サイズを選択するサイズ選択部と、
前記符号化対象ブロックと前記予測ブロック間の予測誤差画像を前記選択された直交変換サイズを持つサブブロック単位で直交変換して得られる直交変換係数を符号化する符号化部と、
を有する動画像符号化装置。
【請求項２】
前記評価値は、前記直交変換サイズが小さいほど増える第１の項を含み、
前記サイズ選択部は、前記複雑度が低いほど小さくなる重み係数で、前記第１の項に重み付けして前記評価値を算出する、請求項１に記載の動画像符号化装置。
【請求項３】
前記項は、前記符号化対象ブロックを前記直交変換サイズを持つサブブロックごとに分割したときの、前記複数のサブブロックのそれぞれごとに規定される情報を含む、請求項２に記載の動画像符号化装置。
【請求項４】
前記複数のサブブロックのそれぞれごとに規定される情報は、当該サブブロックが絶対値が０でない前記直交変換係数を持つか否かを表すフラグを含む、請求項３に記載の動画像符号化装置。
【請求項５】
前記評価値は、前記符号化対象ブロックを前記直交変換サイズを持つサブブロックで分割したときの当該サブブロックごとの符号量を表す第２の項を含み、
前記複雑度算出部は、前記符号化対象ブロックを前記直交変換サイズを持つサブブロックで分割したときの当該サブブロックごとに前記複雑度を算出し、
前記サイズ選択部は、前記サブブロックごとに、当該サブブロックについて算出された複雑度が低いほど大きくなる重み係数で前記第２の項に重み付けして前記評価値を算出する、請求項１に記載の動画像符号化装置。
【請求項６】
前記サイズ選択部は、前記符号化対象ブロックのサイズを前記直交変換サイズとしたときの前記評価値である第１の評価値と、前記符号化対象ブロックを４個の第１のサブブロックに等分割したときの当該第１のサブブロックのサイズを前記直交変換サイズとしたときの前記評価値である第２の評価値とを算出し、前記第１の評価値の方が、前記第２の評価値よりも小さい場合、前記符号化対象ブロックのサイズを前記直交変換サイズとして選択し、
一方、前記第１の評価値よりも、前記第２の評価値の方が小さい場合、前記複雑度算出部に前記４個の前記第１のサブブロックを前記符号化対象ブロックとして前記複雑度を算出させ、かつ、前記４個の前記第１のサブブロックのそれぞれを前記符号化対象ブロックとして、前記第１の評価値及び前記第２の評価値を算出し、当該第１の評価値と当該第２の評価値の比較結果に応じて前記直交変換サイズを選択する、請求項１〜５の何れか一項に記載の動画像符号化装置。
【請求項７】
動画像データに含まれるピクチャを符号化する動画像符号化装置であって、
前記ピクチャを複数のブロックに分割し、
前記複数のブロックのうちの符号化対象ブロックに写っているシーンの複雑さを表す複雑度を算出し、
前記符号化対象ブロックを含む符号化対象ピクチャ、または、前記符号化対象ピクチャよりも前に符号化されたピクチャから前記符号化対象ブロックの予測ブロックを生成し、
互いに異なる複数の直交変換サイズのそれぞれについて、前記符号化対象ブロックを当該直交変換サイズを持つサブブロック単位で直交変換したときの符号量を表す評価値を、前記複雑度が低いほど、小さい前記直交変換サイズほど該評価値が小さくなるように重み付けして算出し、当該評価値が最小となる直交変換サイズを選択し、
前記符号化対象ブロックと前記予測ブロック間の予測誤差画像を前記選択された直交変換サイズを持つサブブロック単位で直交変換して得られる直交変換係数を符号化する、
ことを含む動画像符号化方法。
【請求項８】
動画像データに含まれるピクチャを符号化する動画像符号化用コンピュータプログラムであって、
前記ピクチャを複数のブロックに分割し、
前記複数のブロックのうちの符号化対象ブロックに写っているシーンの複雑さを表す複雑度を算出し、
前記符号化対象ブロックを含む符号化対象ピクチャ、または、前記符号化対象ピクチャよりも前に符号化されたピクチャから前記符号化対象ブロックの予測ブロックを生成し、
互いに異なる複数の直交変換サイズのそれぞれについて、前記符号化対象ブロックを当該直交変換サイズを持つサブブロック単位で直交変換したときの符号量を表す評価値を、前記複雑度が低いほど、小さい前記直交変換サイズほど該評価値が小さくなるように重み付けして算出し、当該評価値が最小となる直交変換サイズを選択し、
前記符号化対象ブロックと前記予測ブロック間の予測誤差画像を前記選択された直交変換サイズを持つサブブロック単位で直交変換して得られる直交変換係数を符号化する、
ことをコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、動画像データに含まれるピクチャを複数のブロックに分割し、ブロックごとに符号化する動画像符号化装置、動画像符号化方法、及び動画像符号化用コンピュータプログラムに関する。
【背景技術】
【０００２】
動画像データは、一般に非常に大きなデータ量を有する。そのため、動画像データを扱う装置は、動画像データを他の装置へ送信しようとする場合、あるいは、動画像データを記憶装置に記憶しようとする場合、動画像データを符号化することにより圧縮する。
【０００３】
その際、符号化対象のピクチャは、複数のブロックに分割され、ブロックごとに符号化される。動画像データを符号化する動画像符号化装置は、符号化対象ブロックに対して、そのブロックが含まれるピクチャよりも前に符号化されたピクチャ、あるいは、そのブロックが含まれるピクチャ内の既に符号化されたブロックから予測ブロックを生成する。動画像符号化装置は、符号化対象ブロックと予測ブロック間の空間的な相関が高いことを利用して冗長性を低減するために、符号化対象ブロックと予測ブロック間の誤差を表す予測誤差画像を算出し、ブロック内の画素の空間的な相関が高いことを利用して冗長性を低減する直交変換により、直交変換係数を求める。そして動画像符号化装置は、その直交変換係数を量子化した後に可変長符号化する。
【０００４】
さらに、動画像符号化方式の一つである、H.264 MPEG-4 Advanced Video Coding（H.264 MPEG-4 AVC）あるいはH.265(High Efficiency Video Coding(HEVC)と呼ばれることもある)では、動画像符号化装置は、ピクチャに応じて、予測単位あるいは直交変換単位となるブロックのサイズを選択可能である。そこで、動画像符号化装置は、符号化対象ブロックについて、予め用意された複数の分割モード、予測モード及び変換サイズモードの組み合わせごとに、符号化情報量の評価値を計算する。そして動画像符号化装置は、評価値が最小となる組み合わせでそのブロックを符号化する（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２４３４２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ピクチャに写っているシーンが、グラウンドに投げられたボールが転がるシーンのように、比較的平坦な背景の中を小さな物体が高速で移動するシーンであることがある。このような場合、ピクチャ内に特徴的なところが少なく、かつ、物体の移動量が大きいため、そのピクチャを他のピクチャを参照して符号化するインター予測符号化モードにより符号化する場合、動き予測が適切でないことがある。すなわち、予測ブロックを生成するための動き探索処理の結果、背景だけが写っている領域が選択されてしまい、予測ブロックに移動する物体が含まれないことがある。またこのようなシーンでは、ピクチャ内の既に符号化された領域の情報を利用して符号化対象ブロックを符号化するイントラ予測符号化モードで符号化対象ブロックを符号化する場合でも、予測ブロックは背景だけが写っている領域から作成される。そのため、予測誤差画像では、その移動する物体が存在する領域に含まれる画素は0以外の値を持つものの、その他の領域に含まれる画素はほぼ0となる。このような場合、ブロックサイズが大きいほど、符号化量の評価値は小さくなるので、直交変換のブロックのサイズとして、相対的に大きなブロックが選択されることになる。直交変換のブロックのサイズが大きくなるほど、小さな移動物体が含まれる領域がそのブロックに占める割合が小さくなるので、その領域に起因する直交変換係数は、絶対値が比較的小さい高周波成分となる。その結果、量子化処理によってその移動物体が含まれる領域に起因する、量子化された直交変換係数が0となって、その移動物体に関する情報が失われてしまい、復号されたピクチャ上では、その移動物体が存在しなくなってしまう。このように、直交変換の単位となるブロックについて適切なサイズが選択されないと、復号されたピクチャの画質が劣化してしまう。
【０００７】
そこで、本明細書は、復号されたピクチャの画質劣化を抑制できる直交変換サイズを選択可能な動画像符号化装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
一つの実施形態によれば、動画像データに含まれるピクチャを符号化する動画像符号化装置が提供される。この動画像符号化装置は、ピクチャを複数のブロックに分割する分割部と、複数のブロックのうちの符号化対象ブロックに写っているシーンの複雑さを表す複雑度を算出する複雑度算出部と、符号化対象ブロックを含む符号化対象ピクチャ、または、符号化対象ピクチャよりも前に符号化されたピクチャから符号化対象ブロックの予測ブロックを生成する予測ブロック生成部と、互いに異なる複数の直交変換サイズのそれぞれについて、符号化対象ブロックをその直交変換サイズを持つサブブロック単位で直交変換したときの符号量を表す評価値を、複雑度が低いほど、小さい直交変換サイズほど評価値が小さくなるように重み付けして算出し、評価値が最小となる直交変換サイズを選択するサイズ選択部と、符号化対象ブロックと予測ブロック間の予測誤差画像を選択された直交変換サイズを持つサブブロック単位で直交変換して得られる直交変換係数を符号化する符号化部とを有する。
【０００９】
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を限定するものではないことを理解されたい。
【発明の効果】
【００１０】
本明細書に開示された動画像符号化装置は、復号されたピクチャの画質劣化を抑制できる直交変換サイズを選択できる。
【図面の簡単な説明】
【００１１】
【図１】直交変換を適用するブロックのサイズによる、復号されたピクチャの画質への影響を説明する図である。
【図２】一つの実施形態に係る動画像符号化装置の概略構成図である。
【図３】符号化対象ブロックの複雑度と重み係数の関係を示す図である。
【図４】動画像符号化処理の動作フローチャートである。
【図５】変形例による、サブブロックの複雑度と重み係数の関係を示す図である。
【図６】HEVCによるピクチャ分割の一例を示す図である。
【図７】HEVCに準拠して直交変換の適用サイズを決定する際の処理の一例を示す図である。
【図８】実施形態またはその変形例による動画像符号化装置の各部の機能を実現するコンピュータプログラムが動作することにより、動画像符号化装置として動作するコンピュータの構成図である。
【発明を実施するための形態】
【００１２】
以下、図を参照しつつ、動画像符号化装置について説明する。最初に、符号化対象ブロック内の直交変換を適用するブロックのサイズの影響について説明する。
【００１３】
図１は、直交変換を適用するブロックのサイズによる、復号されたピクチャの画質への影響を説明する図である。１６×１６画素のサイズを持つ予測誤差画像１００には、移動物体を表す領域１０１が含まれる。この領域１０１は小さく、例えば、４×４画素未満のサイズであるとする。予測誤差画像１００が、直交変換の適用単位である、４×４画素のサイズを持つサブブロックごとに分割され、そのうちの一つのサブブロック１１０に領域１０１が含まれるとする。この場合、各サブブロックが直交変換されると、サブブロック１１０のサイズが小さいために、サブブロック１１０では、領域１０１の影響で、直交変換係数は比較的大きな値となる。なお、サブブロック１１０以外のサブブロックでは、予測誤差画像１００が平坦なため、直交変換係数は直流成分を除いてほぼ０となる。直交変換係数が比較的大きな値となるため、サブブロック１１０の直交変換係数が量子化されたサブブロック１２０に示されるように、サブブロック１２０においては、直流成分以外の量子化された直交変換係数の少なくとも一部は０以外の値を持つ。その結果、復号されたピクチャ１３０でも、領域１０１が再現される。
【００１４】
一方、予測誤差画像１００全体が一つのブロック１４０として直交変換される場合、ブロック１４０に対して領域１０１は相対的に小さいため、直交変換係数の絶対値も小さくなる。その結果、直交変換係数が量子化されたブロック１５０に示されるように、量子化処理により、直流以外の成分について、量子化された直交変換係数は０となってしまい、領域１０１の情報が消失する。その結果、復号されたピクチャ１６０において、領域１０１が消失する。
【００１５】
このような、小さな領域の消失による、復号されたピクチャの画質劣化は、ピクチャに写っているシーンが比較的複雑な場合には視聴者に気付かれ難いものの、背景が比較的平坦な場合には目立ってしまう。
【００１６】
そこで、本実施形態では、動画像符号化装置は、符号化対象ブロックについて、そのブロックに写っているシーンの複雑さの度合いを表す複雑度を算出する。そして動画像符号化装置は、直交変換の適用単位となるブロックのサイズを決定する際に、複雑度が低いほど小さくなる重み係数で、直交変換サイズが小さいほど符号量が増加する項の符号量を重み付けして、符号化対象ブロックの符号量の評価値を算出する。これにより、この動画像符号化装置は、平坦なシーンが写っているブロックについては、直交変換が適用されるブロックのサイズとして比較的小さなサイズを選択し易くする。
【００１７】
なお、ピクチャは、フレームまたはフィールドの何れであってもよい。フレームは、動画像データ中の一つの静止画像であり、一方、フィールドは、フレームから奇数行のデータあるいは偶数行のデータのみを取り出すことにより得られる静止画像である。
【００１８】
図２は、一つの実施形態による動画像符号化装置の概略構成図である。動画像符号化装置１は、分割部１０と、複雑度算出部１１と、予測ブロック生成部１２と、サイズモード選択部１３と、符号化部１４とを有する。また符号化部１４は、予測誤差算出部１５と、直交変換部１６と、量子化部１７と、復号部１８と、記憶部１９と、可変長符号化部２０とを有する。
動画像符号化装置１が有するこれらの各部は、それぞれ別個の回路として形成される。あるいは動画像符号化装置１が有するこれらの各部は、その各部に対応する回路が集積された一つの集積回路として動画像符号化装置１に実装されてもよい。さらに、動画像符号化装置１が有するこれらの各部は、動画像符号化装置１が有するプロセッサ上で実行されるコンピュータプログラムにより実現される、機能モジュールであってもよい。
【００１９】
動画像符号化装置１全体を制御する制御部（図示せず）により、例えば、Group Of Pictures（GOP）により指定された符号化順序に従って、動画像データに含まれるピクチャが、順次、分割部１０に入力される。なお、GOPは、連続する複数のピクチャを含み、各ピクチャに対する符号化方法が規定された構造を表す。
分割部１０は、符号化対象となるピクチャを所定数の画素を持つ複数のブロックに分割する。各ブロックは、直交変換の適用サイズのうちの最大サイズ、例えば、横16画素×縦16画素のサイズを持つ。そして分割部１０は、例えば、ラスタスキャン順に各ブロックを出力する。
【００２０】
複雑度算出部１１は、分割部１０から出力されたブロックのうち、符号化対象ブロックに写っているシーンの複雑さの度合いを表す複雑度を計算する。この複雑度は、直交変換するブロックのサイズ及び予測モードの決定の際の符号化量の評価値を算出する際の重み係数の決定に利用される。なお、予測モードは、予測ブロックの生成方法を規定し、インター予測符号化モードかイントラ予測符号化モードかを表す。さらに、予測モードは、イントラ予測符号化モードが選択される場合には予測ブロックの生成方法を規定するイントラ予測モードを表し、インター予測符号化モードが選択される場合には、一方向の予測モードか双方向の予測モードかを表す。
【００２１】
本実施形態では、複雑度算出部１１は、ブロック内の全画素の平均画素値と各画素の差分絶対値の総和（アクティビティと呼ばれる）を算出する。アクティビティは、次式で算出される。
【数１】
2015211269.tif 000003
ここでpiは、ブロック内の画素の値であり、mは、ブロック内の全画素の平均画素値である。Mは、ブロック内に含まれる画素の総数であり、例えば、ブロックが16×16画素のサイズを持つ場合、M=256である。そしてActはブロックのアクティビティである。
【００２２】
なお、複雑度算出部１１は、ブロックのアクティビティの代わりに、次式に従って、１画素あたりのアクティビティPixActを、複雑度として算出してもよい。
【数２】
2015211269.tif 000004
あるいは、複雑度算出部１１は、ブロック内の画素値の分散を、複雑度として算出してもよい。
【００２３】
複雑度算出部１１は、複雑度をサイズモード選択部１３へ出力する。
【００２４】
予測ブロック生成部１２は、符号化対象ブロックについて適用可能な予測モードごとに予測ブロックを生成する。
【００２５】
例えば、符号化対象ピクチャがIピクチャであれば、予測ブロック生成部１２は、予測ブロックの生成方法を規定するイントラ予測モードごとに、符号化対象ブロックの左側または上側に隣接する符号化済みのブロックから予測ブロックを生成する。なお、符号化対象ピクチャは、符号化対象ブロックを含むピクチャである。またIピクチャは、イントラ予測符号化の対象となり、インター予測符号化されないピクチャである。
【００２６】
また、符号化対象ピクチャがPピクチャであれば、予測ブロック生成部１２は、例えば、符号化済みのピクチャを復号して得られた参照ピクチャと符号化対象ブロック間の動き探索を行う。そして予測ブロック生成部１２は、符号化対象ブロックと最も一致する参照ピクチャ上の領域を示す動きベクトルを算出し、その動きベクトルで示された領域を予測ブロックとする。また、符号化対象ピクチャがBピクチャであれば、予測ブロック生成部１２は、２方向、例えば、再生時間順で符号化対象ピクチャよりも前のピクチャと後のピクチャの両方で動き探索して、二つのピクチャ上で符号化対象ブロックと最も一致する領域を求める。そして予測ブロック生成部１２は、それら二つの領域内の対応する位置にある画素の値の平均値を求めて、予測ブロックとする。さらに、予測ブロック生成部１２は、PピクチャまたはBピクチャについては、符号化対象ピクチャがIピクチャの場合と同様に、イントラ予測モードごとの予測ブロックを生成してもよい。さらに、予測ブロック生成部１２は、Bピクチャについては、Pピクチャと同様に、一方向の動き予測により予測ブロックを生成してもよい。なお、Pピクチャは、既に符号化されている１枚のピクチャの情報を用いてインター予測符号化されることが可能なピクチャである。また、Bピクチャは、既に符号化されている２枚のピクチャの情報を用いて双方向のインター予測符号化されることが可能なピクチャである。Pピクチャ内の各ブロックは、イントラ予測符号化されてもよい。また、Bピクチャ内の各ブロックも、イントラ予測符号化されてもよく、あるいは、一方向についてインター予測符号化されてもよい。
【００２７】
予測ブロック生成部１２は、さらに、予測モードの適用対象となるブロックのサイズ、または、動き探索の対象となるブロックのサイズを変更できる場合には、符号化対象ブロックを分割した複数のサブブロックごとに、予測ブロックを生成してもよい。
【００２８】
予測ブロック生成部１２は、符号化対象ブロックについて生成された予測ブロックと、その予測ブロックに対応する予測モード、動きベクトルなどをサイズモード選択部１３へ出力する。
【００２９】
サイズモード選択部１３は、サイズ選択部の一例であり、符号化対象ブロックに対して適用される直交変換の単位となるブロックのサイズ、及び、予測モードを決定する。例えば、直交変換のブロックのサイズは、16×16画素、8×8画素、及び、4×4画素のなかから選択される。そのために、サイズモード選択部１３は、直交変換単位となるブロックのサイズごと、かつ、予測ブロック生成部１２により生成された予測ブロックごとに、符号化対象ブロックの符号量の推定値である評価値Eを算出する。その際、サイズモード選択部１３は、評価値を、複雑度が低いほど、小さい直交変換サイズほど評価値が小さくなるように重み付けして算出する。
【数３】
2015211269.tif 000005
ここで、Dは、予測ブロックと符号化対象ブロック間の差分演算により算出される予測誤差画像の符号量の評価値である予測誤差画像評価値である。Rは、直交変換の適用サイズに応じて算出される、符号化項目情報量である。またαは、複雑度に応じて決定される重み係数であり、λは定数である。
【００３０】
サイズモード選択部１３は、直交変換の適用サイズごとの予測誤差画像評価値Dを求めるために、予測誤差画像を直交変換の適用サイズに応じてN個のサブブロックに分割し、個々のサブブロックをアダマール変換する。例えば、直交変換の適用サイズが8×8画素であれば、N=4であり、直交変換の適用サイズが4×4画素であれば、N=16である。サイズモード選択部１３は、アダマール変換により得られた係数Cji(i=1,2,...,M、ただし、Mはサブブロックに含まれる画素数)の絶対値の総和SATDj(j=1,2,...,N)をサブブロックごとに算出する。そして、サイズモード選択部１３は、各サブブロックのアダマール変換係数の絶対値の総和SATDjの合計を予測誤差画像評価値Dとする。
【００３１】
また、サイズモード選択部１３は、符号化項目情報量Rとして、直交変換サイズ分割フラグ、符号化対象ブロックに適用される量子化値、及び、係数有無フラグなどの符号量を算出する。なお、直交変換サイズ分割フラグは、直交変換の適用サイズを表す。また、係数有無フラグは、画素値が輝度の場合と色差の場合のそれぞれについて求められる、絶対値が０でない直交変換係数の有無を表し、直交変換されるサブブロックごとに求められる。したがって、直交変換のブロックサイズが小さくなるほど、係数有無フラグの数が増えるので、直交変換のブロックサイズが小さくなるほど、符号化項目情報量Rも増加する。
【００３２】
重み係数αは、符号化対象ブロックの複雑度が低いほど、小さくなるように設定される。そして重み係数αは、（３）式に示されるように、評価値Eの算出の際に、直交変換のブロックサイズが小さくなるほど増加する符号化項目情報量Rを重み付けするために用いられる。
【００３３】
図３は、符号化対象ブロックの複雑度と重み係数の関係を示す図である。図３において、横軸は複雑度（この例では、１画素あたりのアクティビティ）を表し、縦軸は、重み係数αの値を表す。そしてグラフ３００は、複雑度と重み係数αの関係を表す。この例では、複雑度が０、すなわち、符号化対象ブロックに含まれる全ての画素が同一の値を持つ場合に重み係数αは、最小の0.2となる。そして複雑度が増加するほど、重み係数αも線形に増加し、複雑度が１０以上では、重み係数αも1で一定となる。
【００３４】
このように重み係数αが設定されることで、符号化対象ブロックに写っているシーンが平坦なほど、符号化項目情報量Rを含む項の値が小さくなる。そのため、符号化対象ブロックに写っているシーンが平坦なほど、直交変換の適用サイズとして小さなサイズが選択され易くなる。
【００３５】
サイズモード選択部１３は、評価値の最小値に対応する直交変換サイズと予測モードとを、符号化対象ブロックの符号化に利用するとして選択する。そこでサイズモード選択部１３は、選択された予測モードに従って生成された予測ブロックと、直交変換サイズとを、符号化部１４へ出力する。
さらに、サイズモード選択部１３は、選択された予測モードを表すパラメータ、及び、選択された予測モードで予測ブロックを生成するために利用される情報、例えば、動きベクトルも符号化部１４へ出力する。
【００３６】
符号化部１４は、サイズモード選択部１３により選択された予測モードに従って生成された予測ブロックと、直交変換サイズとに従って、符号化対象ブロックを符号化する。すなわち、符号化部１４は、符号化対象ブロックと予測ブロック間の予測誤差画像を選択された直交変換サイズを持つサブブロック単位で直交変換して得られる直交変換係数を符号化する。
【００３７】
そこで、符号化部１４の予測誤差算出部１５は、符号化対象ブロックと予測ブロックとの差分演算を実行する。そして予測誤差算出部１５は、その差分演算により得られたブロック内の各画素に対応する差分値を、予測誤差画像とする。予測誤差算出部１５は、予測誤差画像と、直交変換サイズとを符号化部１４の直交変換部１６へ出力する。
【００３８】
直交変換部１６は、符号化対象ブロックの予測誤差画像を、選択された直交変換サイズのサブブロックに分割し、サブブロック単位で直交変換することにより、各サブブロックの直交変換係数を求める。例えば、直交変換部１６は、直交変換処理として、離散コサイン変換（Discrete Cosine Transform、DCT）を各サブブロックに対して実行することにより、直交変換係数として、サブブロックごとのDCT係数の組を得る。ただし、選択された直交変換サイズと符号化対象ブロックのサイズが同一である場合は、直交変換部１６は、符号化対象ブロック自体に対して直交変換処理を実行すればよい。
【００３９】
直交変換部１６は、符号化対象ブロックの各サブブロックの直交変換係数を符号化部１４の量子化部１７へ出力する。
【００４０】
量子化部１７は、符号化対象ブロックの各直交変換係数を量子化することにより、その直交変換係数の量子化係数を算出する。この量子化処理は、一定区間に含まれる信号値を一つの信号値で表す処理である。そしてその一定区間は、量子化幅と呼ばれる。例えば、量子化部１７は、直交変換係数から、量子化幅に相当する所定数の下位ビットを切り捨てることにより、その直交変換係数を量子化する。量子化幅は、量子化パラメータによって決定される。例えば、量子化部１７は、量子化パラメータの値に対する量子化幅の値を表す関数にしたがって、使用される量子化幅を決定する。またその関数は、量子化パラメータの値に対する単調増加関数とすることができ、予め設定される。また量子化パラメータは、符号化対象ブロックを含む符号化対象ピクチャに割り当てられる符号量などに基づいて、例えば、制御部（図示せず）により決定され、量子化部１７に通知される。
【００４１】
量子化部１７は、符号化対象ブロックの量子化係数を、復号部１８及び可変長符号化部２０へ出力する。
【００４２】
復号部１８は、符号化対象ブロックの量子化係数から、そのブロックよりも後のブロックを符号化するための参照ブロック及び参照ピクチャを生成する。そのために、復号部１８は、量子化係数に、量子化パラメータにより決定された量子化幅に相当する所定数を乗算することにより、量子化係数を逆量子化する。この逆量子化により、符号化対象ブロックの直交変換係数、例えば、DCT係数の組が復元される。その後、復号部１８は、直交変換係数を、適用された直交変換のサイズを持つサブブロックごとに逆直交変換処理する。例えば、直交変換部１６がDCTを用いて直交変換係数を算出している場合、復号部１８は、復元された直交変換係数に対して逆DCT処理を実行する。逆量子化処理及び逆直交変換処理を量子化信号に対して実行することにより、符号化前の予測誤差画像と同程度の情報を有する予測誤差画像が再生される。
【００４３】
復号部１８は、予測ブロックの各画素値に、その画素に対応する再生された予測誤差信号を加算する。これらの処理を各ブロックについて実行することにより、復号部１８は、その後に符号化されるブロックに対する予測ブロックを生成するために利用される参照ブロックを生成する。また復号部１８は、参照ブロックのブロックノイズを軽減するために、参照ブロックに対してデブロッキングフィルタ処理を実行してもよい。
復号部１８は、参照ブロックを生成する度に、その参照ブロックを記憶部１９に記憶させる。
【００４４】
記憶部１９は、復号部１８から受け取った参照ブロックを一時的に記憶する。なお、参照ピクチャは、各ブロックの符号化順序にしたがって、１枚のピクチャ分の参照ブロックを結合することで得られる。記憶部１９は、予測ブロック生成部１２及びサイズモード選択部１３に、参照ピクチャまたは参照ブロックを供給する。なお、記憶部１９は、符号化対象ピクチャが参照する可能性がある、予め定められた所定枚数分の参照ピクチャを記憶し、参照ピクチャの枚数がその所定枚数を超えると、符号化順序が古い参照ピクチャから順に破棄する。
【００４５】
可変長符号化部２０は、量子化部１７から受け取った量子化係数を、生起確率が高い信号値ほど短くなるように可変長符号化する。また可変長符号化部２０は、動きベクトルなどの予測ブロックの生成に利用される情報も可変長符号化する。可変長符号化部２０は、例えば、可変長符号化処理として、CAVLCといったハフマン符号化処理あるいはCABACといった算術符号化処理を用いることができる。
【００４６】
可変長符号化部２０により生成された符号化信号に対して、動画像符号化装置１は、ブロックごとの予測モードなどを含む所定の情報をヘッダ情報として付加することにより、符号化された動画像データを含むデータストリームを生成する。動画像符号化装置１は、そのデータストリームを磁気記憶媒体、光記憶媒体あるいは半導体メモリなどを有する記憶部（図示せず）に記憶するか、あるいはそのデータストリームを他の機器へ出力する。
【００４７】
図４は、動画像符号化装置１により実行される、動画像符号化処理の動作フローチャートである。動画像符号化装置１は、符号化対象ブロックごとに図４に示される動画像符号化処理を実行する。
【００４８】
複雑度算出部１１は、符号化対象ブロックの複雑度を算出する（ステップ１０１）。そして複雑度算出部１１は、複雑度をサイズモード選択部１３へ出力する。また予測ブロック生成部１２は、符号化対象ブロックについて適用可能な予測モードごとに予測ブロックを生成する（ステップＳ１０２）。予測ブロック生成部１２は、予測ブロックをサイズモード選択部１３へ出力する。
【００４９】
サイズモード選択部１３は、複雑度が低いほど、符号化項目情報量Rに対する重み係数αが小さくなるように重み係数αを決定する（ステップＳ１０３）。そしてサイズモード選択部１３は、符号化対象ブロックについて適用可能な予測モード及び適用可能な直交変換のブロックサイズごとに、その重み係数αで符号化項目情報量Rを重み付けして評価値Eを算出する（ステップＳ１０４）。サイズモード選択部１３は、評価値Eが最小となる予測モード及び直交変換のブロックサイズを、符号化対象ブロックに対して適用する予測モード及び直交変換のブロックサイズとする（ステップＳ１０５）。そしてサイズモード選択部１３は、適用する予測モードで生成された予測ブロック及び直交変換のブロックサイズを符号化部１４へ出力する。
【００５０】
符号化部１４の予測誤差算出部１５は、符号化対象ブロックと予測ブロック間で差分演算を行って、予測誤差画像を算出する（ステップＳ１０６）。そして符号化部１４の直交変換部１６は、予測誤差画像を、適用される直交変換サイズを持つサブブロック単位で分割し、サブブロックごとに直交変換して直交変換係数を算出する（ステップＳ１０７）。
【００５１】
符号化部１４の量子化部１７は、直交変換係数を量子化して量子化係数を求める（ステップＳ１０８）。そして量子化部１７は、量子化係数を符号化部１４の復号部１８及び可変長符号化部２０へ出力する。
【００５２】
復号部１８は、量子化係数を逆量子化して直交変換係数を再生し、その直交変換係数に対して、直交変換の際に適用されたブロックサイズのサブブロックごとに逆直交変換を適用して、予測誤差画像を再生する。そして復号部１８は、予測誤差画像の各画素の値を、予測ブロックの対応する画素の値に加算して、参照ブロックを求め、その参照ブロックを記憶部１９に記憶する（ステップＳ１０９）。
【００５３】
一方、可変長符号化部２０は、符号化対象ブロックに含まれる各量子化係数を可変長符号化する（ステップＳ１１０）。そして動画像符号化装置１は、符号化対象ブロックに対する動画像符号化処理を終了する。
【００５４】
なお、動画像符号化装置１は、ステップＳ１０１の処理と、Ｓ１０２の処理の順序を入れ換えてもよく、あるいは、ステップＳ１０１の処理と、Ｓ１０２の処理を並列に実行してもよい。
【００５５】
以上に説明してきたように、この動画像符号化装置は、符号化対象ブロックの複雑度が低いほど、すなわち、符号化対象ブロックに写っているシーンが平坦であるほど、符号化項目情報量に対する重み係数を小さくする。そのため、符号化対象ブロックの複雑度が低いほど、直交変換の適用サイズとして小さなサイズが選ばれ易くなる。これにより、この動画像符号化装置は、平坦な背景とともに小さな移動物体が写っているようなシーンでも、復号画像においてその小さな移動物体が消失するような画質劣化を抑制できる、適切な直交変換サイズを選択できる。
【００５６】
変形例によれば、複雑度算出部１１は、符号化対象ブロックについて生成された予測ブロックから複雑度を算出してもよい。この場合において、予測ブロック生成部１２により複数の予測ブロックが生成されている場合、複雑度算出部１１は、各予測ブロックについて複雑度を算出し、その平均値を符号化対象ブロックについての複雑度としてもよい。
【００５７】
あるいは、複雑度算出部１１は、各予測ブロックのうち、符号化対象ブロックと予測ブロック間の予測誤差画像の各画素の値の絶対値の総和が最小となる予測ブロックが、符号化対象ブロックに最も類似していると推定される。そこで複雑度算出部１１は、予測誤差画像の各画素の値の絶対値の総和が最小となる予測ブロックから複雑度を算出してもよい。
【００５８】
また他の変形例によれば、複雑度算出部１１は、符号化対象ブロックを直交変換の単位となるサブブロックに分割し、サブブロックごとに複雑度を算出してもよい。
この場合には、サイズモード選択部１３は、（３）式の代わりに、次式に従って評価値Eを算出することが好ましい。
【数４】
2015211269.tif 000006
ここで、SATDjは、符号化対象ブロックの予測誤差画像をN個のサブブロックに分割したときのj番目のサブブロックについて算出される予測誤差評価値であり、アダマール変換係数Cjiの絶対値の総和として算出される。Rは符号化項目情報量であり、λは定数である。またβjは、j番目のサブブロックについて算出された複雑度に応じて決定される重み係数である。
【００５９】
この変形例では、重み係数βjは、複雑度が低いほど大きくなるように設定される。
図５は、この変形例による、サブブロックの複雑度と重み係数の関係を示す図である。図５において、横軸は複雑度（この例では、１画素あたりのアクティビティ）を表し、縦軸は、重み係数βjの値を表す。そしてグラフ５００は、複雑度と重み係数βjの関係を表す。この例では、複雑度が０、すなわち、符号化対象ブロックに含まれる全ての画素が同一の値を持つ場合に重み係数βjは最大の1となる。そして複雑度が増加するほど、重み係数βjは線形に減少し、複雑度が１０以上では、重み係数βjは0.2で一定となる。
【００６０】
サブブロックのサイズが小さいほど、サブブロック内の少しの画素値のばらつきで複雑度が高くなる。特に、符号化対象ブロックに写っているシーンが平坦な背景のなかを小さな物体が移動しているようなシーンである場合、その移動物体を表す領域を含むサブブロックが大きいほど、そのサブブロックの複雑度は低下する。したがって、上記のように重み係数βjが設定されることで、移動物体を表す領域を含むサブブロックについての予測誤差評価値に対する重み係数が、そのサブブロックのサイズが小さくなるほど小さくなる。その結果として、上記のようなシーンが写っている符号化対象ブロックでは、直交変換の適用サイズとして小さなサイズが選択され易くなる。
【００６１】
さらに他の変形例によれば、サイズモード選択部１３は、HEVCに準拠するように、予測モード及び直交変換の適用サイズを決定してもよい。
【００６２】
図６は、HEVCによる、ピクチャの分割の一例を示す図である。図６に示されるように、ピクチャ６００は、符号化ブロックCoding Tree Unit(CTU)単位で分割され、各CTU６０１は、ラスタスキャン順に符号化される。CTU６０１のサイズは、64x64〜16x16画素の中から選択できる。
【００６３】
CTU６０１は、さらに、四分木構造で複数のCoding Unit（CU）６０２に分割される。一つのCTU６０１内の各CU６０２は、Zスキャン順に符号化される。CU６０２のサイズは可変であり、そのサイズは、CU分割モード8x8〜64x64画素の中から選択される。CU６０２は、符号化モードであるイントラ予測符号化モードとインター予測符号化モードを選択する単位となる。CU６０２は、Prediction Unit（PU）６０３単位またはTransform Unit（TU）６０４単位で個別に処理される。PU６０３は、符号化モードに応じた予測が行われる単位となる。例えば、PU６０３は、イントラ予測符号化モードでは、イントラ予測モードが適用される単位となり、インター予測符号化モードでは、動き補償を行う単位となる。PU６０３のサイズは、例えば、インター予測符号化では、PU分割モードPartMode =2Nx2N, NxN, 2NxN, Nx2N, 2NxU, 2NxnD, nRx2N, nLx2Nの中から選択できる。一方、TU６０４は、直交変換の単位であり、TU６０４のサイズは、4x4画素〜32x32画素の中から選択される。TU６０４は、四分木構造で分割され、Zスキャン順に処理される。
【００６４】
この場合、複雑度算出部１１は、例えば、CUを符号化対象ブロックとして、複雑度を算出する。そして複雑度算出部１１は、CUについて算出した複雑度をサイズモード選択部１３へ出力する。
【００６５】
サイズモード選択部１３は、符号化対象ブロックと、符号化対象ブロックをサブブロックに４分割したときのそれぞれについて評価値Eを算出する。例えば、符号化対象ブロックであるCUのサイズが32×32画素であるとする。この場合、サイズモード選択部１３は、CU自体を直交変換の適用単位とする場合と、CUを４個に等分割した16×16画素のサブブロックごとに直交変換する場合とで、それぞれ評価値Eを算出する。なお、適用可能な予測モードが複数存在する場合、サイズモード選択部１３は、各予測モードについても評価値Eを算出する。サイズモード選択部１３は、符号化対象ブロック自体を直交変換の適用単位とするときの評価値の方が、符号化対象ブロックを４分割したサブブロックを直交変換の適用単位とするときの評価値よりも小さい場合、符号化対象ブロック自体を直交変換の適用単位とする。一方、符号化対象ブロック自体を直交変換の適用単位とするときよりも、符号化対象ブロックを４分割したサブブロックを直交変換の適用単位とするときの評価値の方が小さい場合、サイズモード選択部１３は、個々のサブブロックを符号化対象ブロックとする。そしてサイズモード選択部１３は、個々の符号化対象ブロックについて、評価値の算出及び適用する直交変換サイズの選択を行う。その際、複雑度算出部１１も、新たに設定された符号化対象ブロックについて複雑度を算出する。
【００６６】
サイズモード選択部１３は、符号化対象ブロック自体が直交変換の適用単位となるか、サブブロックのサイズがTUサイズの最小設定値である4×4画素となるまで、上記の処理を繰り返す。
【００６７】
図７は、HEVCに準拠して直交変換の適用サイズを決定する際の処理の一例を示す図である。なお、この例では、サイズモード選択部１３は、（３）式に従って評価値Eを算出する。しかし、複雑度算出部１１が、４分割するか否かの判断の対象となるブロックまたはサブブロックを４分割したサブブロックのそれぞれについて複雑度を算出することで、サイズモード選択部１３は、（４）式に従って評価値Eを算出してもよい。
【００６８】
最初に、複雑度算出部１１及びサイズモード選択部１３は、CU７００を符号化対象ブロックとして、CU７００自体をTUとする場合と、CU７００を４分割した16×16画素のサブブロックをTUとする場合とで、それぞれ評価値Eを算出する。そしてCU７００自体をTUとするときの評価値の方が、CU７００を４分割した16×16画素のサブブロックをTUとする場合の評価値よりも小さい場合、TU７１０は、CU７００と同サイズとなる。
【００６９】
一方、CU７００自体をTUとするときの評価値よりもCU７００を４分割した16×16画素のサブブロックをTUとする場合の評価値の方が小さい場合、複雑度算出部１１は、16×16画素のサブブロック７０１ごとに、複雑度を算出する。さらに、サイズモード選択部１３は、各サブブロック７０１をTUとするときの評価値と、各サブブロックをそれぞれ４分割した8×8画素のサブブロックをTUとするときの評価値を算出する。
【００７０】
各サブブロック７０１をTUとするときの評価値の方が、各サブブロック７０１をそれぞれ４分割した8×8画素のサブブロックをTUとするときの評価値よりも小さい場合、サイズモード選択部１３は、各サブブロック７０１をTU７１１とする。
一方、何れかのサブブロック７０１、例えば、右上のサブブロック７０１ａについて、そのサブブロック７０１ａをTUとするときの評価値よりも、そのサブブロック７０１ａを４分割したサブブロックをTUとするときの評価値の方が小さいとする。この場合、複雑度算出部１１は、サブブロック７０１ａを４分割した8×8画素のサブブロック７０２ごとに、複雑度を算出する。さらに、サイズモード選択部１３は、各サブブロック７０２をTUとするときの評価値と、各サブブロック７０２をそれぞれ４分割した4×4画素のサブブロックをTUとするときの評価値を算出する。
【００７１】
各サブブロック７０２をTUとするときの評価値が、各サブブロック７０２をそれぞれ４分割した4×4画素のサブブロックをTUとするときの評価値よりも小さい場合、サイズモード選択部１３は、サブブロック７０１ａ内の各サブブロック７０２をTU７１２とする。また、サブブロック７０１ａ以外のサブブロック７０１については、そのサブブロック７０１をTU７１１とする。
一方、何れかのサブブロック７０２、例えば、左下のサブブロック７０２ａについて、そのサブブロック７０２ａをTUとするときの評価値よりも、そのサブブロック７０２ａを４分割したサブブロックをTUとするときの評価値の方が小さいとする。この場合、サイズモード選択部１３は、サブブロック７０２ａ内の各サブブロックをTU７１３とする。また、サブブロック７０２ａ以外のサブブロック７０２については、そのサブブロック７０２をTU７１２とする。
【００７２】
この変形例によれば、動画像符号化装置は、上記の実施形態と同様に、画質劣化を抑制できる、適切な直交変換サイズを選択できるとともに、HEVCに準拠して、直交変換サイズを選択できる。
【００７３】
図８は、上記の実施形態またはその変形例による動画像符号化装置の各部の機能を実現するコンピュータプログラムが動作することにより、動画像符号化装置として動作するコンピュータの構成図である。
【００７４】
コンピュータ１００は、ユーザインターフェース部１０１と、通信インターフェース部１０２と、記憶部１０３と、記憶媒体アクセス装置１０４と、プロセッサ１０５とを有する。プロセッサ１０５は、ユーザインターフェース部１０１、通信インターフェース部１０２、記憶部１０３及び記憶媒体アクセス装置１０４と、例えば、バスを介して接続される。
【００７５】
ユーザインターフェース部１０１は、例えば、キーボードとマウスなどの入力装置と、液晶ディスプレイといった表示装置とを有する。または、ユーザインターフェース部１０１は、タッチパネルディスプレイといった、入力装置と表示装置とが一体化された装置を有してもよい。そしてユーザインターフェース部１０１は、例えば、ユーザの操作に応じて、符号化する動画像データを選択する操作信号をプロセッサ１０５へ出力する。
【００７６】
通信インターフェース部１０２は、コンピュータ１００を、動画像データを生成する装置、例えば、ビデオカメラと接続するための通信インターフェース及びその制御回路を有してもよい。そのような通信インターフェースは、例えば、Universal Serial Bus（ユニバーサル・シリアル・バス、USB）とすることができる。
【００７７】
さらに、通信インターフェース部１０２は、イーサネット（登録商標）などの通信規格に従った通信ネットワークに接続するための通信インターフェース及びその制御回路を有してもよい。
【００７８】
この場合には、通信インターフェース部１０２は、通信ネットワークに接続された他の機器から、符号化する動画像データを取得し、それらのデータをプロセッサ１０５へ渡す。また通信インターフェース部１０２は、プロセッサ１０５から受け取った、符号化動画像データを通信ネットワークを介して他の機器へ出力してもよい。
【００７９】
記憶部１０３は、例えば、読み書き可能な半導体メモリと読み出し専用の半導体メモリとを有する。そして記憶部１０３は、プロセッサ１０５上で実行される、動画像符号化処理を実行するためのコンピュータプログラム、及びこれらの処理の途中または結果として生成されるデータを記憶する。
【００８０】
記憶媒体アクセス装置１０４は、例えば、磁気ディスク、半導体メモリカード及び光記憶媒体といった記憶媒体１０６にアクセスする装置である。記憶媒体アクセス装置１０４は、例えば、記憶媒体１０６に記憶されたプロセッサ１０５上で実行される、動画像符号化処理用のコンピュータプログラムを読み込み、プロセッサ１０５に渡す。
【００８１】
プロセッサ１０５は、上記の実施形態または変形例による動画像符号化処理用コンピュータプログラムを実行することにより、符号化動画像データを生成する。そしてプロセッサ１０５は、生成された符号化動画像データを記憶部１０３に保存し、または通信インターフェース部１０２を介して他の機器へ出力する。
【００８２】
なお、動画像符号化装置１の各部の機能をプロセッサ上で実行可能なコンピュータプログラムは、コンピュータによって読み取り可能な媒体に記録された形で提供されてもよい。ただし、そのような記憶媒体には、搬送波は含まれない。
【００８３】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【符号の説明】
【００８４】
１    動画像符号化装置
１０    分割部
１１    複雑度算出部
１２    予測ブロック生成部
１３    サイズモード選択部
１４    符号化部
１５    予測誤差算出部
１６    直交変換部
１７    量子化部
１８    復号部
１９    記憶部
２０    可変長符号化部
１００    コンピュータ
１０１    ユーザインターフェース部
１０２    通信インターフェース部
１０３    記憶部
１０４    記憶媒体アクセス装置
１０５    プロセッサ
１０６    記憶媒体
【図１】
2015211269.tif 000007
【図２】
2015211269.tif 000008
【図３】
2015211269.tif 000009
【図４】
2015211269.tif 000010
【図５】
2015211269.tif 000011
【図６】
2015211269.tif 000012
【図７】
2015211269.tif 000013
【図８】
2015211269.tif 000014