(57)【要約】【課題】ピクチャをブロックラインごとに並列に符号化可能で、かつ、符号量の増加または再生されたピクチャの画質劣化を抑制できる動画像符号化装置を提供する。【解決手段】動画像符号化装置１は、ブロックのラインにおいて最初に符号化される第１のサブブロックの量子化された直交変換係数が全て０である場合、第１のサブブロックに含まれる変換ユニットのうち、再生された第１のサブブロックの画質の劣化または第１のサブブロックの符号量の増加が最小となる変換ユニットの何れかの量子化された直交変換係数を０以外の所定値に置換することで、デブロッキングフィルタの強度決定の際に、第１のサブブロックよりも前のサブブロックの量子化パラメータが参照されないようにする。【選択図】図４
2015111787.tif 000002
【特許請求の範囲】
【請求項１】
動画像データに含まれる符号化対象ピクチャを複数のブロックに分割し、該ブロックのラインごとに符号化する動画像符号化装置であって、
前記ブロックを分割した複数のサブブロックのそれぞれについて、該サブブロックと対応する予測ブロック間の予測誤差信号を、該サブブロックを分割した変換ユニットごとに直交変換することにより直交変換係数を算出する直交変換部と、
前記複数のサブブロックのそれぞれごとに、前記直交変換係数を、量子化幅を規定する第１の量子化パラメータに従って量子化することにより、量子化された直交変換係数を算出する量子化部と、
前記複数のサブブロックのそれぞれごとに、前記量子化された直交変換係数を前記第１の量子化パラメータを用いて逆量子化することにより前記直交変換係数を復元する逆量子化部と、
前記複数のサブブロックのそれぞれごとに、前記復元された直交変換係数を逆直交変換することにより前記予測誤差信号を復元する逆直交変換部と、
前記複数のサブブロックのそれぞれごとに、前記復元された予測誤差信号を対応する前記予測ブロックの画素の値に加算することで前記サブブロックを再生する加算部と、
前記再生されたサブブロックのそれぞれに対して、当該サブブロックについての前記量子化された直交変換係数が全て０である場合、符号化済みの他のサブブロックについての前記第１の量子化パラメータに基づいてデブロッキングフィルタの強度を決定し、一方、当該サブブロックについての前記量子化された直交変換係数の何れかが０でない場合、当該サブブロックについての前記第１の量子化パラメータに基づいてデブロッキングフィルタの強度を決定し、決定された強度のデブロッキングフィルタ処理を行うデブロックフィルタ部と、
前記複数のサブブロックのうち、前記ブロックのラインにおいて最初に符号化される第１のサブブロックの前記量子化された直交変換係数が全て０である場合、当該第１のサブブロックに含まれる前記変換ユニットのうち、前記再生された第１のサブブロックの画質の劣化または前記第１のサブブロックの符号量の増加が最小となる変換ユニットの何れかの量子化された直交変換係数を０以外の所定値に置換する係数修正部と、
を有する動画像符号化装置。
【請求項２】
前記係数修正部は、前記第１のサブブロックの前記量子化された直交変換係数が全て０である場合、前記第１のサブブロックに含まれる前記変換ユニットのうちのサイズが最大となる変換ユニットの何れかの量子化された直交変換係数を前記所定値に置換する、請求項１に記載の動画像符号化装置。
【請求項３】
前記係数修正部は、前記第１のサブブロックについての前記量子化された直交変換係数が全て０である場合、前記所定値に置換された量子化された直交変換係数を含む前記変換ユニットを逆量子化及び逆直交変換して得られる予測誤差信号が０になる量子化パラメータの値の範囲内で、前記第１の量子化パラメータに最も近い値を第２の量子化パラメータとし、
前記デブロックフィルタ部は、前記第２の量子化パラメータに基づいて前記第１のサブブロックに対するデブロッキングフィルタの強度を決定する、請求項１または２に記載の動画像符号化装置。
【請求項４】
前記係数修正部は、前記第１のサブブロックの前記量子化された直交変換係数が全て０である場合、前記第１のサブブロックについての前記変換ユニットの分割パターンと、前記量子化された直交変換係数を前記所定値に置換する前記変換ユニットの位置と、前記量子化パラメータの候補値の組み合わせのそれぞれごとに、何れかの前記変換ユニットの前記量子化された直交変換係数の何れかを前記所定値に置換したときの符号量の推定値を算出し、該推定値が最小となる組み合わせに従って、前記変換ユニットの分割パターンと、前記量子化された直交変換係数を前記所定値に置換する変換ユニットと、前記第１のサブブロックに対するデブロッキングフィルタの強度決定に利用される第２の量子化パラメータを決定する、請求項１に記載の動画像符号化装置。
【請求項５】
前記係数修正部は、前記第１のサブブロックについての前記量子化された直交変換係数が全て０である場合、前記所定値に置換された量子化された直交変換係数を含む前記変換ユニットを逆量子化及び逆直交変換して得られる予測誤差信号が０になる量子化パラメータの値の範囲内に前記量子化パラメータの候補値を設定する、請求項４に記載の動画像符号化装置。
【請求項６】
前記量子化部は、前記第１のサブブロックについて前記第２の量子化パラメータが設定された場合、前記複数のサブブロックのうち、前記第１のサブブロックについて適用される量子化パラメータと同じ量子化パラメータが適用される範囲に属する他のサブブロックの前記直交変換係数を前記第２の量子化パラメータを用いて量子化する、請求項３〜５の何れか一項に記載の動画像符号化装置。
【請求項７】
動画像データに含まれる符号化対象ピクチャを複数のブロックに分割し、該ブロックのラインごとに符号化する動画像符号化方法であって、
前記ブロックを分割した複数のサブブロックのそれぞれについて、該サブブロックと対応する予測ブロック間の予測誤差信号を、該サブブロックを分割した変換ユニットごとに直交変換することにより直交変換係数を算出し、
前記複数のサブブロックのそれぞれごとに、前記直交変換係数を、量子化幅を規定する第１の量子化パラメータに従って量子化することにより、量子化された直交変換係数を算出し、
前記複数のサブブロックのそれぞれごとに、前記量子化された直交変換係数を前記第１の量子化パラメータを用いて逆量子化することにより前記直交変換係数を復元し、
前記複数のサブブロックのそれぞれごとに、前記復元された直交変換係数を逆直交変換することにより前記予測誤差信号を復元し、
前記複数のサブブロックのそれぞれごとに、前記復元された予測誤差信号を対応する前記予測ブロックの画素の値に加算することで前記サブブロックを再生し、
前記再生されたサブブロックのそれぞれに対して、当該サブブロックについての前記量子化された直交変換係数が全て０である場合、符号化済みの他のサブブロックについての前記第１の量子化パラメータに基づいてデブロッキングフィルタの強度を決定し、一方、当該サブブロックについての前記量子化された直交変換係数の何れかが０でない場合、当該サブブロックについての前記第１の量子化パラメータに基づいてデブロッキングフィルタの強度を決定し、決定された強度のデブロッキングフィルタ処理を実行し、
前記複数のサブブロックのうち、前記ブロックのラインにおいて最初に符号化される第１のサブブロックの前記量子化された直交変換係数が全て０である場合、当該第１のサブブロックに含まれる前記変換ユニットのうち、前記再生された第１のサブブロックの画質の劣化または前記第１のサブブロックの符号量の増加が最小となる変換ユニットの何れかの量子化された直交変換係数を０以外の所定値に置換する、
ことを含む動画像符号化方法。
【請求項８】
動画像データに含まれる符号化対象ピクチャを複数のブロックに分割し、該ブロックのラインごとに符号化することをコンピュータに実行させる動画像符号化用コンピュータプログラムであって、
前記ブロックを分割した複数のサブブロックのそれぞれについて、該サブブロックと対応する予測ブロック間の予測誤差信号を、該サブブロックを分割した変換ユニットごとに直交変換することにより直交変換係数を算出し、
前記複数のサブブロックのそれぞれごとに、前記直交変換係数を、量子化幅を規定する第１の量子化パラメータに従って量子化することにより、量子化された直交変換係数を算出し、
前記複数のサブブロックのそれぞれごとに、前記量子化された直交変換係数を前記第１の量子化パラメータを用いて逆量子化することにより前記直交変換係数を復元し、
前記複数のサブブロックのそれぞれごとに、前記復元された直交変換係数を逆直交変換することにより前記予測誤差信号を復元し、
前記複数のサブブロックのそれぞれごとに、前記復元された予測誤差信号を対応する前記予測ブロックの画素の値に加算することで前記サブブロックを再生し、
前記再生されたサブブロックのそれぞれに対して、当該サブブロックについての前記量子化された直交変換係数が全て０である場合、符号化済みの他のサブブロックについての前記第１の量子化パラメータに基づいてデブロッキングフィルタの強度を決定し、一方、当該サブブロックについての前記量子化された直交変換係数の何れかが０でない場合、当該サブブロックについての前記第１の量子化パラメータに基づいてデブロッキングフィルタの強度を決定し、決定された強度のデブロッキングフィルタ処理を実行し、
前記複数のサブブロックのうち、前記ブロックのラインにおいて最初に符号化される第１のサブブロックの前記量子化された直交変換係数が全て０である場合、当該第１のサブブロックに含まれる前記変換ユニットのうち、前記再生された第１のサブブロックの画質の劣化または前記第１のサブブロックの符号量の増加が最小となる変換ユニットの何れかの量子化された直交変換係数を０以外の所定値に置換する、
ことをコンピュータに実行させるための動画像符号化用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラムに関する。
【背景技術】
【０００２】
動画像データは、一般に非常に大きなデータ量を有する。そのため、動画像データを扱う装置は、動画像データを他の装置へ送信しようとする場合、あるいは、動画像データを記憶装置に記憶しようとする場合、動画像データを符号化することにより圧縮する。代表的な動画像の符号化方式として、International Standardization Organization/International Electrotechnical Commission(ISO/IEC)で策定されたMoving Picture Experts Group phase 2（MPEG-2）、MPEG-4、あるいはH.264 MPEG-4 Advanced Video Coding（H.264 MPEG-4 AVC）が広く利用されている（例えば、非特許文献１を参照）。
【０００３】
このような動画像符号化方式は、動き探索処理と、離散コサイン変換などの直交変換処理と、エントロピー符号化処理などを組み合わせることで、圧縮処理を実現している。そのため、動画像データを符号化するための演算量は膨大となる。特に、ISO/IECとITU-Tが共同で標準化しているHigh Efficiency Video Coding(HEVC)(非特許文献２を参照)は、H.264/MPEG-4 AVCの２倍近い圧縮効率を達成するが、H.264/MPEG-4 AVCと比較して、動画像データを符号化するための演算量はさらに増加している。そのため、クロック周波数が低いプロセッサで、これらの動画像符号化処理を実行するには、動画像データを複数の部分データ（例えば、動画像データに含まれる各ピクチャを分割した複数のスライス）に分割し、部分データごとに符号化する並列処理が有用である。
【０００４】
動画像符号化処理は、時間的または空間的な相関性を利用して、動画像データの情報量を圧縮するために、例えば、符号化対象ブロックに隣接し、かつ符号化済みの他のブロックの情報を、符号化対象ブロックを符号化するために利用する。そのため、動画像データの複数のブロックを並列して符号化できるようにするために、動画像符号化規格によっては、各ブロックの依存関係を解消する方法として、スライスという領域分割方法が規定されている。そしてあるスライスを符号化する際に、他のスライスの情報は参照されないように規定されている。そのため、スライス間では依存関係が発生しないので、動画像符号化装置は、スライスごとに並列して符号化できる。
【０００５】
しかし、動画像符号化装置は、何れかのスライスに属するブロックを符号化する際に、そのブロックと異なるスライスに属するブロック間の相関性を利用できないので、符号化効率が低下する。一方、動画像データを符号化する際に、マクロブロックのラインごとに並列に符号化することも検討されている。ブロックのラインごとに並列的に符号化する場合、下方に位置するラインほど、符号化の開始を遅らせることで、動画像符号化装置は、符号化対象ブロックの上側に隣接する符号化済みのブロックの情報を利用できる。これにより、動画像符号化装置は、ピクチャをスライス単位に分割しなくてもよいため、動画像データの各部分データを並列して符号化しつつ、符号化効率の低下を抑制できる。
【０００６】
しかし、符号化対象ブロックの予測誤差信号を直交変換して得られた直交変換係数に対する量子化処理の調整を行うパラメータ(Quantization Parameter, QP)の予測値は、ラスタスキャン順序で直前のブロックのQPを参照して生成される。したがって、２番目以降のブロックのラインの先頭のブロックのQPの予測値を生成するために、一つ上のブロックのラインの最後のブロックのQPが参照される。そのため、ブロックラインごとに符号化対象ブロックの水平位置をずらす方法では、少なくともQPに関する依存関係が完全には解消されない。
【０００７】
また、量子化誤差により生じるブロックノイズを低減するために、動画像符号化方式によっては、復号されたピクチャに対してブロックノイズを低減するデブロッキングフィルタ処理が行われることがある。上記のように、QPによって、圧縮によるピクチャの歪みの量が変わるため、デブロッキングフィルタの強度は、QPに基づいて調整される。例えば、H.264では、あるマクロブロックのデブロッキングフィルタの強度は、そのマクロブロックのQPと隣接するマクロブロックのQPの平均値に基づいて決定される。ただし、H.264のシンタックスでは、マクロブロックの予測モードが16x16画素のブロックサイズによるイントラ予測モードでなく、かつ、ゼロでない直交変換係数の存在を示すフラグが０だった場合、そのマクロブロックのQPは符号化データに含まれない。この場合、デブロッキングフィルタの強度は、そのマクロブロックのQPの代わりに、直前のマクロブロックのQPが用いられる。そのため、上記のように、マクロブロックのラインごとに並列に符号化する場合において、あるマクロブロックのラインの先頭に位置する着目マクロブロックの直交変換係数が全て０であったとする。この場合、動画像符号化装置及び動画像復号装置は、着目マクロブロックのでブロッキングフィルタの強度を、一つ上のマクロブロックのラインの最終マクロブロックの符号化が終了するまで、決定できない。そこで、あるブロックについて直交変換により得られた変換係数が全て０であった場合に、少なくともいずれかの変換係数を０以外に書き換える動画像符号化装置が提案されている（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−２５１７５８号公報
【非特許文献】
【０００９】
【非特許文献１】ISO/IEC 14496-10 (MPEG-4 Part 10) / ITU-T Rec.H.264
【非特許文献２】ISO/IEC 23008-2 / ITU-T H.265
【発明の概要】
【発明が解決しようとする課題】
【００１０】
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ごとに離散コサイン変換(Discrete Cosine Transform, DCT)あるいは離散サイン変換(Discrete Sine Transform, DST)される。TU１０４のサイズは、4x4画素〜32x32画素の中から選択される。TU１０４は、四分木構造で分割され、Zスキャン順に処理される。
【００１３】
またHEVCでは、QPは、Quantization Group(QG)と呼ばれるグリッドを最小単位として符号化される。すなわち、動画像符号化装置は、QGごとに1度だけQPを切り替えることができる。
QPを符号化する際には、動画像符号化装置は、例えば、QPの予測値をQPpredとして、QPとその予測値QPpred間の差分値cuQpDelta ＝ QP - QPpredを符号化する。QGに含まれるCU内の量子化された直交変換係数がすべて０である場合、逆量子化により得られる係数はQPに依らずにdij=0となる。そのため、動画像符号化装置は、cuQpDeltaを符号化データに含めない。QG内で０でない量子化された直交変換係数が出現するCUについてはcuQpDeltaが動画像復号装置に通知される。一方、cuQpDeltaが符号化されないCUではcuQpDelta=0とみなされて、動画像復号装置は、QP=QPpredとする。量子化された直交変換係数が全て0の場合、逆量子化ではQPは使用されないが、デブロッキングフィルタの強度設定のためにQPが利用される。動画像符号化装置は、動画像復号装置と同一の局所復号画像を生成するため、動画像符号化装置は、処理対象CUを、QP=QPaとして量子化して、その結果の係数がすべて0となった場合、cuQpDeltaを符号化せず、動画像復号装置と同様に、該当CUのQPをQPpredと設定してデブロッキングフィルタの強度を決定する。
【００１４】
QPpredは、QGに含まれる全てのCUについて共通の値となる。QPpredは、処理対象QGの直前のQGのQPであるQPprevと、処理対象QGの上方に隣接するQGのQPであるQPaboveと、処理対象QGの左に隣接するQGのQPであるQPleftから算出される。なお、HEVCでは、QPabove及びQPleftについては、CTU境界を越えて参照されない。
【００１５】
このように、QPは、複数のCUを含むQG単位で決定されるのに対して、CUは、複数のTUに分割される可能性が有る。そのため、HEVCに従って、ピクチャをCTUラインごとに並列に符号化する際に、特許文献１に記載の技術を用いてブロッキングフィルタの強度設定に関するボトルネックを解消しようとした場合、CU内の直交変換係数が全て０である場合にどのTU内の直交変換係数を修正するかが問題となる。
【００１６】
また、特許文献１に記載の技術では、直交変換係数の何れかを０以外に修正したブロックに適用されるQPの値は、画質の劣化を防ぐために、そのブロックの量子化された直交変換係数を逆量子化及び逆変換して得られる予測誤差信号が全て0になるように設定される。そのため、そのQPの値は、非常に小さな値となるように制約される。この制約により、QP値と予測QP値との差分が大きくなるので、cuQpDeltaの符号量が増加する。また、上記のように、QPは、複数のCUを含むQG単位で決定されるので、非常に小さなQPの値が採用されたQGでは、そのQGに含まれる各CUの量子化された直交変換係数の絶対値が小さくならないので、符号化効率が低下してしまう。
【００１７】
そこで、本明細書は、ピクチャをブロックラインごとに並列に符号化可能で、かつ、符号量の増加または再生されたピクチャの画質劣化を抑制できる動画像符号化装置を提供することを目的とする。
【課題を解決するための手段】
【００１８】
一つの実施形態によれば、動画像データに含まれる符号化対象ピクチャを複数のブロックに分割し、ブロックのラインごとに符号化する動画像符号化装置が提供される。この動画像符号化装置は、ブロックを分割した複数のサブブロックのそれぞれについて、そのサブブロックと対応する予測ブロック間の予測誤差信号を、そのサブブロックを分割した変換ユニットごとに直交変換することにより直交変換係数を算出する直交変換部と、複数のサブブロックのそれぞれごとに、直交変換係数を、量子化幅を規定する第１の量子化パラメータに従って量子化することにより、量子化された直交変換係数を算出する量子化部と、複数のサブブロックのそれぞれごとに、量子化された直交変換係数を第１の量子化パラメータを用いて逆量子化することにより直交変換係数を復元する逆量子化部と、複数のサブブロックのそれぞれごとに、復元された直交変換係数を逆直交変換することにより予測誤差信号を復元する逆直交変換部と、複数のサブブロックのそれぞれごとに、復元された予測誤差信号を対応する予測ブロックの画素の値に加算することでサブブロックを再生する加算部と、再生されたサブブロックのそれぞれに対して、そのサブブロックについての量子化された直交変換係数が全て０である場合、符号化済みの他のサブブロックについての第１の量子化パラメータに基づいてデブロッキングフィルタの強度を決定し、一方、サブブロックについての量子化された直交変換係数の何れかが０でない場合、そのサブブロックについての第１の量子化パラメータに基づいてデブロッキングフィルタの強度を決定し、決定された強度のデブロッキングフィルタ処理を行うデブロックフィルタ部と、複数のサブブロックのうち、ブロックのラインにおいて最初に符号化される第１のサブブロックの量子化された直交変換係数が全て０である場合、第１のサブブロックに含まれる変換ユニットのうち、再生された第１のサブブロックの画質の劣化または第１のサブブロックの符号量の増加が最小となる変換ユニットの何れかの量子化された直交変換係数を０以外の所定値に置換する係数修正部とを有する。
【００１９】
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を限定するものではないことを理解されたい。
【発明の効果】
【００２０】
本明細書に開示された動画像符号化装置は、ピクチャをブロックラインごとに並列に符号化可能で、かつ、符号量の増加または再生されたピクチャの画質劣化を抑制できる。
【図面の簡単な説明】
【００２１】
【図１】HEVCによる、ピクチャの分割の一例を示す図である。
【図２】一つの実施形態に係る動画像符号化装置の概略構成図である。
【図３】各符号化部とCTUラインの関係を示す図である。
【図４】符号化部の構成図である。
【図５】（ａ）〜（ｆ）は、それぞれ、ScalingListの一例を示す図である。
【図６】係数修正部の構成図である。
【図７】係数修正処理の動作フローチャートである。
【図８】動画像符号化処理の動作フローチャートである。
【図９】第２の実施形態による係数修正部の構成図である。
【図１０】第２の実施形態による係数修正処理の概念図である。
【図１１】第２の実施形態による係数修正処理の動作フローチャートである。
【図１２】実施形態またはその変形例による動画像符号化装置の各部の機能を実現するコンピュータプログラムが動作することにより、動画像符号化装置として動作するコンピュータの構成図である。
【発明を実施するための形態】
【００２２】
以下、図を参照しつつ、一つの実施形態による、動画像符号化装置について説明する。この動画像符号化装置は、HEVCのように、動画像データに含まれる各ピクチャを多段階に分割して符号化することが可能な符号化方式に従って、符号化処理の単位となるCTUのラインごとに並列に符号化する。この動画像符号化装置は、各CTUラインの最初に符号化されるCUに含まれる量子化された直交変換係数が全て０であった場合に、そのCUに含まれるTUの何れかの量子化された直交変換係数の値を０以外の所定値に修正する。これにより、この動画像符号化装置は、デブロッキングフィルタの強度の決定において、CTUライン間の参照関係が生じることを防止して、CTUラインごとの並列処理を可能にする。
【００２３】
さらに、この動画像符号化装置は、量子化された直交変換係数を修正するTUを、再生されたピクチャの画質劣化を最小限に止めることができるように選択する。さらに、この動画像符号化装置は、そのTUを含むQGに適用される修正されたQP値を、そのTUの量子化に用いたQP値に近い値とすることで、符号量の増加を抑制する。
【００２４】
なお、ピクチャは、フレームまたはフィールドの何れであってもよい。フレームは、動画像データ中の一つの静止画像であり、一方、フィールドは、フレームから奇数行のデータあるいは偶数行のデータのみを取り出すことにより得られる静止画像である。
【００２５】
図２は、一つの実施形態による動画像符号化装置の概略構成図である。動画像符号化装置１は、分割部１０と、ｎ個の符号化部１１−１〜１１−ｎ(ｎは２以上の整数)と、結合部１２とを有する。
動画像符号化装置１が有するこれらの各部は、それぞれ別個の回路として形成される。あるいは動画像符号化装置１が有するこれらの各部は、その各部に対応する回路が集積された一つの集積回路として動画像符号化装置１に実装されてもよい。さらに、動画像符号化装置１が有するこれらの各部は、動画像符号化装置１が有するプロセッサ上で実行されるコンピュータプログラムにより実現される、機能モジュールであってもよい。
【００２６】
分割部１０は、動画像データに含まれる各ピクチャを、水平方向にCTUが並んだCTUラインごとに分割する。そして分割部１０は、各CTUラインのデータを、それぞれ、符号化部１１−１〜１１−ｎの何れかへ出力する。
【００２７】
符号化部１１−１〜１１−ｎは、それぞれ、受け取ったCTUラインに含まれる各CTUを符号化する。符号化部の数がCTUラインの数以上である場合には、各符号化部は、一つのCTUラインを符号化すればよい。符号化部の数がCTUラインの数よりも少ない場合には、例えば、各符号化部は、一番上のCTUラインから順に、ｎラインずつ符号化すればよい。例えば、一つのピクチャに含まれるCTUラインを一番上から順にCTUライン1、CTUライン2、...、CTUラインmと表記する（ただし、m＞n）。この場合、符号化部１１−１〜１−ｎは、最初に、CTUライン1〜CTUラインnを符号化する。次に、符号化部１１−１〜１−ｎは、CTUライン(n+1)〜CTUライン(2ｎ)を符号化する。同様に、符号化部１１−１〜１−ｎは、一番下のCTUラインmの符号化が終了するまで、nラインごとに符号化すればよい。
【００２８】
図３は、各符号化部とCTUラインの関係を示す図である。ピクチャ３００は、m個のCTUライン３０１−１〜３０１−ｍに分割される。例えば、CTUライン３０１−１は、符号化部１１−１により符号化され、CTUライン３０１−２は、符号化部１１−２により符号化され、CTUライン３０１−３は、符号化部１１−３により符号化される。
ここで、CTUライン３０１−２以降のCTUラインを符号化する際には、符号化部は、一つ上のCTUラインの符号化済みのCTUの情報を参照できることが符号化効率の点から好ましい。例えば、符号化対象のCTUを符号化する際に、そのCTUの上方に隣接するCTUと、右斜め上方に隣接するCTUの情報を参照できることが好ましい。そこで、各符号化部は、一つ上のCTUラインを符号化する他の符号化部が、CTUラインの左端から２個のCTUの符号化処理を終了した時点で符号化を開始することが好ましい。したがって、符号化部１１−３が上から３番目のCTUライン３０１−３の先頭のCTU３１３−１の符号化を開始する際には、符号化部１１−２は、上から２番目のCTUライン３０１−２の先頭CTU３１２−１及び次のCTU３１２−２の符号化を完了していることが好ましい。同様に、符号化部１１−１は、１番上のCTUライン３０１−１の先頭CTU３１１−１〜４番目のCTU３１１−４までの符号化を完了していることが好ましい。
【００２９】
符号化部１１−１〜１１−ｎは、符号化されたCTUラインのデータストリームを結合部１２へ出力する。
【００３０】
結合部１２は、符号化された各CTUラインのデータストリームに基づいて、各CTUの符号化データを、一番上のCTUラインに含まれるCTUの符号化データからラスタスキャン順に結合する。そして結合部１２は、そのデータストリームに含まれる各種の符号化データを、生起確率が高い信号値ほど短くなるようにエントロピー符号化する。結合部１２は、例えば、エントロピー符号化処理として、CAVLCといったハフマン符号化処理あるいはCABACといった算術符号化処理を用いることができる。
【００３１】
結合部１２は、エントロピー符号化により生成されたデータストリームに所定の符号化データのフォーマットに従ってヘッダ情報などを付加することで、ピクチャの符号化データストリームを生成する。さらに結合部１２は、ピクチャごとの符号化順序に従って、各ピクチャの符号化データストリームを結合する。そして結合部１２は、その結合されたデータストリームに所定の符号化データのフォーマットに従ってヘッダ情報などを付加することで、符号化された動画像のデータストリームを生成し、そのデータストリームを出力する。
【００３２】
以下、符号化部１１−１〜１１−ｎの詳細について説明する。符号化部１１−１〜１１−ｎは、同一の構成及び同一の機能を有するので、以下では、一つの符号化部についてのみ説明する。
【００３３】
図４は、符号化部１１−ｋ(k=1,2,...,n)の構成図である。符号化部１１−ｋは、予測誤差算出部２１と、直交変換部２２と、量子化部２３と、逆量子化部２４と、逆直交変換部２５と、加算部２６と、デブロックフィルタ部２７と、記憶部２８と、動きベクトル計算部２９と、予測モード判定部３０と、予測ブロック生成部３１と、係数修正部３２とを有する。
符号化部１１−ｋは、分割部１０から受け取ったCTUラインのデータに含まれる先頭（この例では、左端）のCTUから順に、CTU単位で符号化する。
【００３４】
予測誤差算出部２１は、符号化対象CTU内のCUごとに、そのCU内の各TUについて、予測ブロック生成部３１により生成された予測ブロックとの差分演算を実行する。そして予測誤差算出部２１は、その差分演算により得られたTU内の各画素に対応する差分値を、そのTUの予測誤差信号とする。
【００３５】
直交変換部２２は、予測モード判定部３０から通知されるTU分割パターンを表すTU分割情報に従って、CU内のTUごとに、そのTUの予測誤差信号を直交変換することで予測誤差信号の水平方向の周波数成分及び垂直方向の周波数成分を表す直交変換係数を求める。例えば、直交変換部２２は、予測誤差信号に対して、直交変換処理としてDCTを実行することにより、直交変換係数として、DCT係数を得る。
【００３６】
量子化部２３は、直交変換部２２により得られたTUごとの直交変換係数を量子化することにより、量子化された直交変換係数を算出する。
この量子化処理は、一定区間（量子化幅）に含まれる信号値を一つの信号値で表す処理である。量子化部２３は、上記のQPに基づいて決定される量子化ステップQstep(QP)と量子化された直交変換係数の周波数ごとの重みを調整する行列ScalingListとをパラメータとして決定される量子化幅で直交変換係数を量子化する。なお、QPの値は、例えば、制御部（図示せず）により、CUに対して設定される符号量に応じて決定され、その制御部から通知される。例えば、水平方向にi番目、垂直方向にj番目の成分の直交変換係数をcijとして、量子化部２３は、次式にしたがってcijに対応する量子化された直交変換係数c'ijを算出する。
【数１】
2015111787.tif 000003
ここで、Round()は、整数への丸め処理を表し、Abs()は、絶対値を出力する関数である。またSign()は、正負の符号を出力する関数である。そしてTUSizeは、該当TUの水平あるいは垂直の画素数を表す。演算子'a>>b'は、パラメータaを下位方向へbビットシフトさせるシフト演算子である。また、Qstep(QP)は、次式で表される。
【数２】
2015111787.tif 000004
【００３７】
図５（ａ）〜図５（ｆ）は、それぞれ、ScalingListの一例を示す図である。図５（ａ）〜図５（ｆ）のそれぞれにおいて、左上の数値が直流成分に対するScaling値である。図５（ａ）〜図５（ｃ）に示されるScalingList５０１〜ScalingList５０３は、それぞれ、8x8画素、16x16画素、32x32画素のイントラ予測符号化されるTUに適用されるScalingListである。一方、図５（ｄ）〜図５（ｆ）に示されるScalingList５０４〜ScalingList５０６は、それぞれ、8x8画素、16x16画素、32x32画素のインター予測符号化されるTUに適用されるScalingListである。ただし、図５（ｂ）、図５（ｅ）に示されるScalingList５０２及びScalingList５０５における一つの要素は、2x2=4個の成分に適用される。また、図５（ｃ）、図５（ｆ）に示されるScalingList５０３及びScalingList５０６における一つの要素は、4x4=16個の成分に適用される。
【００３８】
なお、TUの各サイズについて、全ての要素の値が同一値（例えば、16）であるScalingListが用いられてもよい。例えば、TUが4x4画素のサイズを有する場合には、イントラ予測符号化モード及びインター予測符号化モードの何れについても、ScalingListの各要素は16となる。なお、各要素が16となるScalingListが、標準規格での初期値として用いられる。
【００３９】
得られたc'ijについては、シフト演算により０に近い値の頻度が高くなるので、結合部１２におけるエントロピー符号化により符号量を圧縮し易くなる。
【００４０】
量子化部２３は、量子化された直交変換係数及びCUがどのようなTUに分割されるかを表すTU分割情報を逆量子化部２４及び係数修正部３２へ出力する。
【００４１】
逆量子化部２４、逆直交変換部２５、加算部２６及びデブロックフィルタ部２７は、各TUの量子化された直交変換係数から、そのTUよりも後のCUなどを符号化するために参照される参照ブロックを生成し、その参照ブロックを記憶部２８に記憶する。
そのために、逆量子化部２４は、各TUの量子化された直交変換係数を逆量子化する。例えば、逆量子化部２４は、次式に従って直交変換係数dijを復元する。
【数３】
2015111787.tif 000005
なお、演算子'a<<b'は、パラメータaを上位方向へbビットシフトさせるシフト演算子である。
逆量子化部２４は、各TUの復元された直交変換係数を逆直交変換部２５へ出力する。
【００４２】
逆直交変換部２５は、TUごとに、復元された直交変換係数に対して逆直交変換を行う。例えば、直交変換部２２が直交変換としてDCTを用いている場合、逆直交変換部２５は、逆直交変換として逆DCT処理を実行する。これにより、逆直交変換部２５は、TUごとに、符号化前の予測誤差信号と同程度の情報を有する予測誤差信号を復元する。
逆直交変換部２５は、TUごとの復元された予測誤差信号を加算部２６へ出力する。
【００４３】
加算部２６は、TUごとに、そのTUの予測ブロックの各画素値に、復元された予測誤差信号を加算することで、その後に符号化されるCUなどに対する予測ブロックを生成するために利用される参照ブロックを生成する。
加算部２６は、参照ブロックを生成する度に、その参照ブロックを記憶部２８に記憶させる。
【００４４】
記憶部２８は、加算部２６から受け取った参照ブロックを一時的に記憶する。なお、参照ピクチャは、各TUの符号化順序にしたがって、１枚のピクチャ分の参照ブロックを結合することで得られる。そのため、記憶部２８は、符号化済みのピクチャについての他のCTUラインの参照ブロックのデータを、他の符号化部から受け取ってもよい。記憶部２８は、動きベクトル計算部２９、予測モード判定部３０及び予測ブロック生成部３１に、参照ピクチャまたは参照ブロックを供給する。なお、記憶部２８は、符号化対象ピクチャが参照する可能性がある、予め定められた所定枚数分の参照ピクチャを記憶し、参照ピクチャの枚数がその所定枚数を超えると、符号化順序が古い参照画ピクチャから順に破棄する。
さらに、記憶部２８は、インター予測符号化された参照ブロックのそれぞれについての動きベクトルを記憶する。
【００４５】
デブロックフィルタ部２７は、記憶部２８に記憶されている参照ブロックに対して、ブロックノイズを低減するために、隣接する二つの参照ブロック間の境界を跨ぐようにデブロッキングフィルタ処理を実行することで、各参照ブロックの画素値を平滑化する。なお、デブロックフィルタ部２７は、参照ブロックに対して他のフィルタ処理、例えば、sample adaptive offsetフィルタ処理を行ってもよい。そしてデブロックフィルタ部２７は、フィルタ処理された参照ブロックを記憶部２８に記憶する。
【００４６】
なお、デブロックフィルタ部２７は、例えば、HEVCの規格に従って、デブロッキングフィルタの強度を決定する。すなわち、デブロックフィルタ部２７は、量子化された直交変換係数の一つ以上が0でないCU、すなわち、QP値が符号化されるCUについては、そのCU自身のQP値に応じてデブロッキングフィルタの強度を決定する。一方、全ての量子化された直交変換係数が0であるCUについては、デブロックフィルタ部２７は、既に符号化されている他のCUについてのQP値に応じてデブロッキングフィルタの強度を決定する。
また、後述するように、係数修正部２８により量子化された直交変換係数が変更されたCUについては、係数修正部２８により設定された第２のQP値に応じて、例えば、HEVCの規格に従ってデブロッキングフィルタの強度を決定する。
【００４７】
動きベクトル計算部２９は、インター予測符号化用の予測ブロックを生成するために、符号化対象CU内のPUごとに、そのPUと参照ピクチャとを用いて、動きベクトルを求める。動きベクトルは、PUと、そのPUに最も類似する参照ピクチャ上の領域間の空間的な移動量を表す。
動きベクトル計算部２９は、PUと、参照ピクチャとのブロックマッチングを実行することにより、そのPUと最も一致する参照ピクチャ及びその参照ピクチャ上の領域の位置を決定する。そして動きベクトル計算部２９は、符号化対象ピクチャ上のPUの位置と、そのPUに最も一致する参照ピクチャ上の領域との水平方向及び垂直方向の移動量を動きベクトルとする。
動きベクトル計算部２９は、求めた動きベクトルと、参照ピクチャの識別情報を、記憶部２８、予測モード判定部３０、予測ブロック生成部３１及び予測誤差算出部２１へ渡す。
【００４８】
予測モード判定部３０は、符号化対象CTUを分割するCU、PU及びTUのサイズ及び予測ブロックの生成方法を決定する。予測モード判定部３０は、例えば、図示しない制御部から取得した、符号化対象CUが含まれる符号化対象のピクチャのタイプを示す情報に基づいて、そのCTUの予測符号化モードを決定する。符号化対象のピクチャのタイプがIピクチャであれば、予測モード判定部３０は適用される予測符号化モードとしてイントラ予測符号化モードを選択する。また、符号化対象のピクチャのタイプがPピクチャまたはBピクチャであれば、予測モード判定部３０は、例えば、適用される予測符号化モードとして、インター予測符号化モード及びイントラ予測符号化モードの何れかを選択する。
【００４９】
予測モード判定部３０は、適用可能な予測符号化モードについての符号化対象CTUの符号化されたデータ量の評価値であるコストをCU単位でそれぞれ算出する。例えば、予測モード判定部３０は、インター予測符号化モードについては、CTUを分割するCU、PU及びTUのサイズ及び動きベクトルの予測ベクトルの生成方法を規定するベクトルモードの組み合わせごとにコストを算出する。また、イントラ予測符号化モードについては、予測モード判定部３０は、CTUを分割するCU、PU及びTUのサイズ及び予測ブロックの生成方法を規定する予測モードの組み合わせごとにコストを算出する。
そして予測モード判定部３０は、コストが最小となるように、符号化対象CTU内のCU単位でイントラ予測符号化モードとインター予測符号化モードを選択する。さらに、予測モード判定部１３は、各CU内の各PU及びTUの組み合わせごとにコストが最小となる予測モードまたはベクトルモードを選択する。
予測モード判定部３０は、選択したCU、PU及びTUのサイズ及び予測ブロックの生成方法の組み合わせを予測ブロック生成部３１に通知する。また予測モード判定部３０は、TU分割情報を直交変換部２２、量子化部２３、逆量子化部２４、逆直交変換部２５及び係数修正部３２へ通知する。
【００５０】
予測ブロック生成部３１は、予測モード判定部３０によって選択されたCU、PU及びTUのサイズ及び予測ブロックの生成方法の組み合わせに従って各TUの予測ブロックを生成する。予測ブロック生成部３１は、例えば、CUがインター予測符号化される場合、そのCU内のPUごとに、記憶部２８から得た参照ピクチャを、動きベクトル計算部２９から提供される動きベクトルに基づいて動き補償する。そして予測ブロック生成部１４は、動き補償されたインター予測符号化用の予測ブロックを生成する。
【００５１】
また予測ブロック生成部３１は、符号化対象CUがイントラ予測符号化される場合、符号化対象CU内のPUごとに選択された予測モードを適用することで、各TUの予測ブロックを生成する。
予測ブロック生成部３１は、生成された予測ブロックを予測誤差算出部２１へ渡す。
【００５２】
係数修正部３２は、CTUライン内の最初に符号化されるCUについての量子化された直交変換係数が全て０か否か判定する。そして係数修正部３２は、CTUライン内の最初に符号化されるCUについての量子化された直交変換係数が全て０となる場合、そのCU内の何れかのTUの量子化された直交変換係数を０以外の所定値に修正し、その修正による画質の劣化が生じないようにQP値を決定する。そして係数修正部３２は、各CUの量子化された直交変換係数を符号化データとして結合部１２へ出力する。
なお、係数修正部３２の詳細は後述する。
【００５３】
以下、係数修正部３２の詳細について説明する。
図６は、係数修正部３２の構成図である。係数修正部３２は、判定部４１と、TU選択部４２と、置換部４３と、QP修正部４４とを有する。
【００５４】
判定部４１は、符号化対象CUが、CTUライン内で最初に符号化されるCUであるか否かを判定する。そして符号化対象CUが最初に符号化されるCUである場合、判定部４１は、CU内の全ての量子化された直交変換係数が０であるか否かを判定する。そして、全ての量子化された直交変換係数が０である場合、判定部４１は、符号化対象CUを、係数修正対象とする。
【００５５】
一方、符号化対象CUがCTUライン内で最初に符号化されるCUでない場合、デブロックフィルタ部２７が、そのCUに対するデブロッキングフィルタの強度を設定する際、CTUライン内の符号化済みの他のCUのQP値を参照できる。そのため、この場合には、判定部４１は、符号化対象CUを係数修正対象としない。また、符号化対象CU内の量子化された直交変換係数の何れかが０でない場合、デブロックフィルタ部２７は、符号化対象CU自身のQP値を利用できるので、判定部４１は、符号化対象CUを係数修正対象としない。
【００５６】
TU選択部４２は、符号化対象CUが係数修正対象と判定された場合、量子化部２３から受け取ったTU分割情報に基づいて、ゼロ以外の値に置換される量子化された直交変換係数を含むTUを選択する。なお、量子化された直交変換係数のうちのどの周波数成分の係数が０以外の値に置換されてもよいが、結合部１２でのエントロピー符号化に要するビット数が少ない点で、直流成分を表す係数(例えば、DCTの(0，0)の係数)をゼロ以外の値に置換することが好ましい。同様に、修正後の量子化された直交変換係数の値も、０以外の任意の整数値とすることができるが、結合部１２でのエントロピー符号化に要するビット数が少ない点で、1または−1とすることが好ましい。
【００５７】
何れかの量子化された直交変換係数の値が０から１に置換された場合、逆量子化及び逆直交変換により得られる、復元された予測誤差信号の値も０から他の値に変化する。量子化された直交変換係数の値を置換した場合に復元された予測誤差信号と量子化された直交変換係数の値を置換しない場合に復元された予測誤差信号との差は、量子化された直交変換係数の置換により生じるノイズとみなせる。したがって、TU選択部４２は、量子化された直交変換係数の置換により生じるノイズが、復号後のピクチャの画質に影響しないように、そのノイズが小さくなるよう、量子化された直交変換係数を置換するTUを選択することが好ましい。
【００５８】
量子化された直流成分を表す直交変換係数（すなわち、（１）式及び（３）式におけるc'00）の値を１としたとき、逆量子化及び逆直交変換後の予測誤差信号の値の大きさは、QPと、TUのサイズと、そのTUに対応するScalingListの直流成分の値scalingListDCによって定まる。
すなわち、TU内の全ての量子化された直交変換係数c'ijが0である場合に、c'00を1に置換としたときの逆量子化後の直交変換係数の直流成分d00は、（３）式に従って算出される。そして、d00から、直流成分が1の場合に逆直交変換（この例では、逆DCT）により復元される予測誤差信号の値rijは、以下のように算出される。
【数４】
2015111787.tif 000006
直流成分の量子化された直交変換係数c'00の値が置換されなければ、rij=0なので、TU選択部４２は、rijの絶対値が小さくなるように直流成分の量子化された直交変換係数c'00の値を置換するTUを選択することで、ノイズを低下できる。（４）式から明らかなように、rijを小さくするには、TU選択部４２は、d00を小さくすればよい。
【００５９】
すなわち、TU選択部４２は、TUサイズごとに、d00の絶対値が小さいほど、優先度が高くなるように各TUに優先度を設定する。そしてTU選択部４２は、符号化対象CU内の各TUのうち、優先度が最も大きいTUサイズを持つTUを、量子化された直交変換係数の置換対象となるTUとして選択する。
【００６０】
なお、符号化対象CUについて使用する可能性のあるScalingListの直流成分が、TUサイズに依存せず同じ値であれば、（３）式から明らかなように、TUサイズが大きいほどdijが小さくなるので、TU選択部４２は、TUサイズが大きいほど、優先度を高くすればよい。
【００６１】
なお、TU選択部４２は、輝度成分のTUの中から、量子化された直交変換係数の値を置換するTUを選択する。あるいは、TU選択部４２は、色差成分のTUの中から、量子化された直交変換係数の値を置換するTUを選択してもよい。あるいはまた、TU選択部４２は、輝度成分のTUと色差成分のTUの中から、量子化された直交変換係数の値を置換するTUを一つ選択してもよい。また、優先度が最高となるサイズを持つTUが複数存在する場合、TU選択部４２は、その複数のTUのうち、CUの所定の領域に含まれるTUを選択してもよい。
【００６２】
置換部４３は、符号化対象CUのうち、TU選択部４２により選択されたTUの量子化された直交変換係数の何れかの値を0以外の値に置換する。
上記のように、本実施形態では、置換部４３は、直流成分を表す量子化された直交変換係数の値を1または-1に置換する。
そして置換部４３は、何れかの量子化された直交変換係数の値が置換された後の符号化対象CUの各量子化された直交変換係数を符号化データとして結合部１２へ出力する。
【００６３】
QP修正部４４は、TU選択部４２により選択されたTUについての復元された予測誤差信号rijが0になる範囲で符号化対象CU内の各TUの量子化処理で使用した第１のQPと最も近い第２のQPを選択する。
【００６４】
なお、量子化された直交変換係数が置換されたTUについて、復元された予測誤差信号rijが0になる範囲は、ScalingListの直流成分に基づいて決定される。例えば、ScalingListDCが16である場合、rijが0になるQPの範囲は下記の表に示される。
【表１】
2015111787.tif 000007
【００６５】
上記の関係表からわかるように、TUサイズが大きいほど、選択可能なQPの範囲が大きくなる。ピクチャ内では、局所的には空間の相関性があることが多いので、符号化対象CUの第１のQPは、周囲のCUについて使用されるQPと近い値になると想定される。したがって、第２のQPとして、第１のQPに近い値を選択するほど、隣接QG間でのQPの差分値cuQpDeltaが小さくなり、その結果としてcuQpDeltaの符号量が削減される。
そこで、QP修正部４４は、例えば、QP修正部４４が有するメモリ回路（図示せず）に記憶されている上記の関係表を参照して、TU選択部４２により選択されたTUのサイズに該当する、rijが0になるQPの範囲を求める。そしてQP修正部４４は、そのQPの範囲内で、量子化部２３から通知された第１のQPの値に最も近いQP値を、第２のQPとする。
【００６６】
本実施形態では、TUサイズが大きくなるように、すなわち、選択可能なQPの範囲が大きくなるように、量子化された直交変換係数の値が置換されるTUが選択されるので、QP修正部４４は、第２のQPとして第１のQPに近い値を選択し易くなる。その結果として、この動画像符号化装置１は、cuQpDeltaについての符号量を削減できる。
【００６７】
なお、量子化された直交変換係数の置換により生じるノイズが許容される場合、QP修正部４４は、第２のQPの値を上記のTUサイズに応じて定まるQP値の範囲から外れる値としてもよい。この場合には、QP修正部４４は、第１のQPの値が上記の範囲から外れていたとしても、第２のQPの値を、第１のQPの値により近い値または第１のQPの値そのものに設定できる。そのため、この変形例では、cuQpDeltaについての符号量がより削減される。またこの場合、逆量子化部２４は、第２のQPに従って、直交変換係数が置換されたTUを逆量子化して直交変換係数を復元し、逆直交変換部２５は、その直交変換係数を逆直交変換して予測誤差信号rijを算出すればよい。そして加算部２６は、そのrijを用いて参照ブロックを生成すればよい。なお、イントラ予測符号化モードでは、符号化対象TUに隣接する参照ブロックの画素の値に基づいて予測ブロックが生成される。そのため、参照ブロックの画素値が変化すると、隣接するTUでのイントラ予測符号化モードにより生成される予測ブロックの画素値も変化してしまう。そのため、QP修正部４４は、量子化された直交変換係数が置換されるTUを含むCUがインター予測符号化されている場合にはノイズを許容するように第２のQPを決定してもよい。一方、そのTUを含むCUがイントラ予測符号化されている場合は、QP修正部４４は、予測誤差信号rijが0になる範囲内で第２のQPを決定することが好ましい。
【００６８】
QP修正部４４は、第２のQP値を、量子化部２３、逆量子化部２４及びデブロックフィルタ部２７に出力する。またQP修正部４４は、第２のQP値を符号化データとして結合部１２へ出力する。結合部１２は、第２のQP値及びその第２のQP値が利用されたTUを含むQGに後続するQGにおいて、第２のQPの値に基づいて算出されたcuQpDeltaをエントロピー符号化する。
また、量子化部２３及び逆量子化部２４は、直交変換係数が置換されたTUと同一のQGに所属する残りの未処理TUの量子化処理及び逆量子化処理を、第１のQPの代わりに第２のQPを用いて実行する。これは、一つのQGについては一度しかQPを動画像復号装置に通知できないため、動画像復号装置は、QG内の残りのTUの逆量子化を第２のQPを用いることになる。そのため、動画像符号化装置１でも、QG内の残りのTUについては、第２のQPを利用して量子化及び逆量子化を行う。同様に、デブロックフィルタ部２７は、通知された第２のQPに基づいてデブロッキングフィルタの強度を決定し、CTUラインの最初のCUについてのデブロッキングフィルタ処理を行えばよい。これにより、動画像符号化装置１が実行するデブロッキングフィルタ処理も、動画像復号装置が実行するデブロッキングフィルタ処理と同じとすることができる。
【００６９】
図７は、係数修正部３２により実行される係数修正処理の動作フローチャートである。
判定部４１は、符号化対象CUがCTUライン内の最初に符号化されるCUか否か判定する（ステップＳ１０１）。符号化対象CUがCTUライン内の最初に符号化されるCUでなければ（ステップＳ１０１−Ｎｏ）、係数修正部３２は、係数修正処理を終了する。
【００７０】
一方、符号化対象CUがCTUライン内の最初に符号化されるCUであれば（ステップＳ１０１−Ｙｅｓ）、判定部４１は、符号化対象CU内の量子化された直交変換係数が全て０か否か判定する（ステップＳ１０２）。符号化対象CU内の何れかの量子化された直交変換係数が０以外の値を有していれば（ステップＳ１０２−Ｎｏ）、係数修正部３２は、係数修正処理を終了する。
【００７１】
一方、判定部４１は、符号化対象CU内の量子化された直交変換係数が全て０であれば（ステップＳ１０２−Ｙｅｓ）、判定部４１は、符号化対象CU内の何れかの量子化された直交変換係数を修正すると判定する。そしてTU選択部４２は、符号化対象CU内で、TUのサイズと、そのTUに対応するScalingListの直流成分の値scalingListDCに基づいて、逆量子化の直交変換係数の直流成分が最小となるサイズのTUを、係数修正対象のTUとして選択する（ステップＳ１０３）。
【００７２】
置換部４３は、選択されたTUの直流成分の量子化された直交変換係数を０以外の所定値に置換する（ステップＳ１０４）。そして置換部４３は、置換された量子化された直交変換係数を含む、符号化対象CUの各TUの量子化された直交変換係数を結合部１２へ出力する。
【００７３】
また、QP修正部４４は、置換された量子化後の直交変換係数を持つTUを逆量子化及び逆直交変換して得られる予測誤差信号が0となるQPの値の範囲内で、符号化対象CUについての量子化に使用された第１のQPに最も近い値を第２のQPとする（ステップＳ１０５）。その後、QP修正部４４は、第２のQP値を、結合部１２、量子化部２３、逆量子化部２４及びデブロックフィルタ部２７に出力する。そして係数修正部３２は、係数修正処理を終了する。
【００７４】
図８は、動画像符号化装置１により実行される動画像符号化処理の動作フローチャートである。動画像符号化装置１は、CUごとに図８に示される動画像符号化処理を実行する。
【００７５】
予測モード判定部３０は、符号化対象CUの予測符号化モードを決定する（ステップＳ２０１）。予測ブロック生成部３１は、決定された予測符号化モードに応じて予測ブロックを生成する（ステップＳ２０２）。
【００７６】
予測誤差算出部２１は、符号化対象CUと予測ブロック間の予測誤差信号を算出する（ステップＳ２０３）。直交変換部２２は、その予測誤差信号をTU単位で直交変換することで、直交変換係数を算出する（ステップＳ２０４）。量子化部２３は、第１のQP値に基づいて決定される量子化幅で直交変換係数を量子化することで、量子化された直交変換係数を算出する（ステップＳ２０５）。
【００７７】
逆量子化部２４は、量子化された直交変換係数を逆量子化することで直交変換係数を復元する（ステップＳ２０６）。そして逆直交変換部２５は、復元された直交変換係数を逆直交変換することで予測誤差信号を復元する（ステップＳ２０７）。加算部２６は、復元された予測誤差信号を予測ブロックに加算することで参照ブロックを生成し、その参照ブロックを記憶部２８に記憶させる（ステップＳ２０８）。
【００７８】
一方、係数修正部３２は、量子化係数に対して係数修正処理を実行する（ステップＳ２０９）。デブロックフィルタ部２７は、第１のQP値または係数修正処理により選択された第２のQP値に応じた強度のデブロッキングフィルタ処理を参照ブロックに対して実行する（ステップＳ２１０）。そして動画像符号化装置１は、一つのCUに対する動画像符号化処理を終了する。
【００７９】
以上に説明してきたように、この動画像符号化装置は、各ピクチャをCTUラインごとに符号化する際に、CTUラインの最初に符号化されるCUについての量子化された直交変換係数が全て０のときに何れかの量子化された直交変換係数を０以外の所定値にする。これにより、この動画像符号化装置は、デブロッキングフィルタ処理に関するCTUライン間の依存を無くし、CTUラインごとの符号化処理を並列に実行できるようにする。さらに、この動画像符号化装置は、量子化された直交変換係数の置換によるノイズが小さくなるようにその置換を行うTUを選択する。そしてこの動画像符号化装置は、置換が行われたTUを含む先頭CUについてのデブロッキングフィルタの強度設定に利用する第２のQP値を、そのCUの量子化に利用されたQP値にできるだけ近い値に設定する。これにより、この動画像符号化装置は、QP値の符号化に要する符号量の増加を抑制する。さらに、この動画像符号化装置は、第２のQP値が非常に小さな値となることを防止して、先頭CUと同一QG内のCUの量子化された直交変換係数が十分に小さな値とならずに符号量が増加することを抑制する。
【００８０】
次に、第２の実施形態による動画像符号化装置について説明する。第２の実施形態による動画像符号化装置は、CTUラインの先頭CU内の量子化された直交変換係数が全て０であった場合に、TU分割パターン、直交変換係数を修正するTUの位置及び第２のQPの候補値の組み合わせごとに符号量の推定値である符号化コストを算出する。そしてこの動画像符号化装置は、符号化コストが最小となる組み合わせに従って量子化された直交変換係数を修正する。
【００８１】
図９は、第２の実施形態による係数修正部５２の構成図である。係数修正部５２は、判定部４１と、修正位置決定部４５と、置換部４３と、QP修正部４４とを有する。第２の実施形態による動画像符号化装置は、第１の実施形態による動画像符号化装置と比較して、係数修正部５２がTU選択部４２の代わりに修正位置決定部４５を有する点で異なる。そこで以下では、修正位置決定部４５及びその関連部分について説明する。動画像符号化装置のその他の構成要素については、第１の実施形態による動画像符号化装置の対応する構成要素の説明を参照されたい。
【００８２】
図１０は、第２の実施形態による係数修正部５２による係数修正処理の概念図である。係数修正部５２は、量子化係数が全て０である最初に符号化されるCU１０００を、適用可能なTU分割パターンのそれぞれに従って分割する。係数修正部５２は、TU分割パターンごとに、そのTU分割パターンで設定されたそれぞれのTUの何れか（図１０では、TU１０１１〜１０１３）の量子化係数を０以外の所定値、例えば１に置換する。そして係数修正部５２は、係数が修正されたTU（図１０では、TU１０１１〜１０１３）を第２のQPの候補値で逆量子化したときの符号化コストを算出する。そして係数修正部５２は、符号化コストが最小となる、TU分割パターン、量子化係数を修正するTUの位置及び第２のQP値の候補の組み合わせを特定する。
【００８３】
修正位置決定部４５は、修正対象となる、CTUライン内の最初に符号化されるCUについて、TU分割パターンの候補と、量子化された直交変換係数を修正するTU位置と、QP値の候補の組み合わせごとに符号化コストを算出する。例えば、修正位置決定部４５は、修正対象CUの量子化に利用された第１のQPと、表１に示されるQP値の範囲内の各QP値を、TUサイズごとの第２のQP値の候補とする。また、修正位置決定部４５は、例えば、HEVCで規定されるTU分割パターンのそれぞれを、TU分割パターンの候補とすればよい。
【００８４】
また、本実施形態において、置換対象となる量子化された直交変換係数は、第１の実施形態と同様に、直流成分を表す係数とする。また、符号化コストの算出において、全ての組み合わせについて、量子化された直交変換係数を同じ絶対値に置換するならば、置換後の量子化された直交変換係数の絶対値がどのような値であっても、組み合わせごとの符号化コストの大小関係は変わらない。そこで、置換後の量子化された直交変換係数は、1または-1であればよい。そこで、修正位置決定部４５は、全ての組み合わせについて、直流成分を表す量子化された直交変換係数を1または-1とし、他の周波数成分の量子化された直交変換係数を０として、符号化コストを算出する。
【００８５】
符号化コストCは、例えば、ラグランジュの未定乗数法に従って、以下の式により算出される。
【数５】
2015111787.tif 000008
ここで、λは未定乗数である。
（５）式における符号化誤差は、以下のように計算できる。
NxN画素のCUに対して、着目するQPの候補値をqpとして、直流成分を表す量子化された直交変換係数をkとした場合、逆量子化及び逆直交変換して得られる予測誤差信号の値rijは、画素位置に依らずに全て同一の値となる。ここで、その予測誤差信号の値をdcVal(N,k,qp)とする。なお、修正位置決定部４５は、dcVal(N,k,qp)を、上記の（３）式及び（４）式に従って算出できる。
【００８６】
符号化誤差は、原ピクチャと復号ピクチャ間の対応画素間の誤差の２乗和で表すことができる。そのため、量子化された直交変換係数の直流成分を修正した場合における、復号されたCUについて考える。画素位置iに関して、予測ブロックの画素値をpred(i)とすると、復号されたCUにおける画素値ldec(i)は、次式で表される。
【数６】
2015111787.tif 000009
【００８７】
したがって、NxN画素の原CUの画素値をorg(i)とすると、復号CUの画素値ldec(i)との2乗誤差の和は、予測誤差信号diff(i) = org(i)-pred(i)として、次式で表される。
【数７】
2015111787.tif 000010
すなわち、逆量子化及び逆直交変換を行わなくても、予測誤差信号の2乗和Σ{diff(i)2}と、予測誤差信号の和Σdiff(i)を算出しておくことにより、修正位置決定部４５は、k=±1,±2・・・の場合の符号化誤差を算出できる。
【００８８】
さらに、上述したように、修正位置決定部４５は、TU分割パターンと、量子化された直交変換係数を修正するTU位置と、QP値の候補の組み合わせのうちの符号化コストが最小となる組み合わせを決定するためには、k=±1の符号化コストを算出すればよい。そのため、修正位置決定部４５は、Σ{diff(i)2}とΣdiff(i)を算出しておけば、符号化誤差算出の演算量を削減できる。
さらに、Σdiff(i)は、直交変換における直流成分の計算で算出されるため、修正位置決定部４５は、直交変換部２２からΣdiff(i)を受け取ってもよい。
【００８９】
CUがインター予測符号化される場合、Σ{diff(i)2}は、TUの分割パターンによらずに同じ値となる。そのため、修正位置決定部４５は、Σ{diff(i)2}を０とみなしても、組み合わせごとの符号化コストの比較結果は変わらない。そのためCUがインター予測符号化される場合、修正位置決定部４５は、Σ{diff(i)2}を算出せず、0としてもよい。以上より、符号化誤差の演算量はほとんど無視できる。
【００９０】
（６）式から明らかなように、dcval(N,k,qp)の符号と、Σdiff(i)の符号が同一となる方が、それらの符号が異なるよりも、右辺の第２項が負になることにより符号化誤差は小さくなる。そのため、dcVal(N,k,qp)を算出する（３）式及び（４）式を考慮すると、修正位置決定部４５は、
Σdiff(i) ≧ 0 のとき k=1、
Σdiff(i) ＜ 0 のとき k=-1
の符号化コストを算出すればよい。
【００９１】
修正位置決定部４５は、上記のように、TU分割パターンの候補と、量子化された直交変換係数を修正するTU位置と、QP値の候補の組み合わせごとに符号化コストを算出する。そして修正位置決定部４５は、符号化コストが最小となる組み合わせを決定する。
修正位置決定部４５は、符号化コストが最小となる組み合わせに含まれるTU分割パターンと量子化された直交変換係数を修正するTU位置及び対応するkの値を置換部４３に通知する。また修正位置決定部４５は、符号化コストが最小となる組み合わせに含まれるQP値をQP修正部４４に通知する。
【００９２】
置換部４３は、通知されたTU分割パターン及びTU位置に従って、先頭CU内で量子化された直交変換係数を修正するTUを特定し、そのTUの直流成分を通知されたk(すなわち、1または-1)に置換する。そして置換部４３は、そのTU分割パターンと、先頭CU内の各量子化された直交変換係数の値を符号化データとして結合部１２へ出力する。
【００９３】
QP修正部４４は、通知されたQP値を、先頭CUが属するQGについての第２のOPとする。そしてQP修正部４４は、第２のQP値を、量子化部２３、逆量子化部２４及びデブロックフィルタ部２７に出力する。またQP修正部４４は、第２のQP値を符号化データとして結合部１２へ出力する。
【００９４】
図１１は、第２の実施形態による動画像符号化装置における、係数修正処理の動作フローチャートである。
判定部４１は、符号化対象CUがCTUライン内の最初に符号化されるCUか否か判定する（ステップＳ３０１）。符号化対象CUがCTUライン内の最初に符号化されるCUでなければ（ステップＳ３０１−Ｎｏ）、係数修正部３２は、係数修正処理を終了する。
【００９５】
一方、符号化対象CUがCTUライン内の最初に符号化されるCUであれば（ステップＳ３０１−Ｙｅｓ）、判定部４１は、符号化対象CU内の量子化された直交変換係数が全て０か否か判定する（ステップＳ３０２）。符号化対象CU内の何れかの量子化された直交変換係数が０以外の値を有していれば（ステップＳ３０２−Ｎｏ）、係数修正部３２は、係数修正処理を終了する。
【００９６】
一方、判定部４１は、符号化対象CU内の量子化された直交変換係数が全て０であれば（ステップＳ３０２−Ｙｅｓ）、判定部４１は、符号化対象CU内の何れかの量子化された直交変換係数を修正すると判定する。この場合、修正位置決定部４５は、TU分割パターンの候補、量子化係数を修正するTU位置、QP値の候補の組み合わせごとに符号化コストを算出する（ステップＳ３０３）。そして修正位置決定部４５は、符号化コストが最小となる組み合わせを選択する（ステップＳ３０４）。
【００９７】
置換部４３は、選択された組み合わせのTU分割パターンにおける修正対象TUの直流成分の量子化された直交変換係数を０以外の所定値に置換する（ステップＳ３０５）。そして置換部４３は、置換された量子化された直交変換係数を含む、符号化対象CUの各TUの量子化された直交変換係数を結合部１２へ出力する。
【００９８】
また、QP修正部４４は、選択された組み合わせに含まれるQPの候補値を第２のQP値とする（ステップＳ３０６）。その後、QP修正部４４は、第２のQP値を、結合部１２、量子化部２３、逆量子化部２４及びデブロックフィルタ部２７に出力する。そして係数修正部５２は、係数修正処理を終了する。
【００９９】
以上に説明してきたように、第２の実施形態による動画像符号化装置は、最初に符号化されるCUの直交変換係数を修正する際、TU分割パターン、量子化された直交変換係数を修正するTU位置及び修正後のQP値の組み合わせごとに符号化コストを算出する。そしてこの動画像符号化装置は、量子化された直交変換係数の修正による符号化コストが最小となるように、TU分割パターン、量子化された直交変換係数を修正するTU位置及び修正後のQP値の組み合わせを決定する。そのため、この動画像符号化装置は、CTUラインごとに符号化する際のデブロッキングフィルタ処理についてのCTUライン間の依存関係をなくしつつ、量子化された直交変換係数を修正する際の符号化コストの増加を抑制できる。
【０１００】
図１２は、上記の実施形態またはその変形例による動画像符号化装置の各部の機能を実現するコンピュータプログラムが動作することにより、動画像符号化装置として動作するコンピュータの構成図である。
【０１０１】
コンピュータ１００は、ユーザインターフェース部１０１と、通信インターフェース部１０２と、記憶部１０３と、記憶媒体アクセス装置１０４と、プロセッサ１０５とを有する。プロセッサ１０５は、ユーザインターフェース部１０１、通信インターフェース部１０２、記憶部１０３及び記憶媒体アクセス装置１０４と、例えば、バスを介して接続される。
【０１０２】
ユーザインターフェース部１０１は、例えば、キーボードとマウスなどの入力装置と、液晶ディスプレイといった表示装置とを有する。または、ユーザインターフェース部１０１は、タッチパネルディスプレイといった、入力装置と表示装置とが一体化された装置を有してもよい。そしてユーザインターフェース部１０１は、例えば、ユーザの操作に応じて、符号化する動画像データを選択する操作信号をプロセッサ１０５へ出力する。
【０１０３】
通信インターフェース部１０２は、コンピュータ１００を、動画像データを生成する装置、例えば、ビデオカメラと接続するための通信インターフェース及びその制御回路を有してもよい。そのような通信インターフェースは、例えば、Universal Serial Bus（ユニバーサル・シリアル・バス、USB）とすることができる。
【０１０４】
さらに、通信インターフェース部１０２は、イーサネット（登録商標）などの通信規格に従った通信ネットワークに接続するための通信インターフェース及びその制御回路を有してもよい。
【０１０５】
この場合には、通信インターフェース部１０２は、通信ネットワークに接続された他の機器から、符号化する動画像データを取得し、それらのデータをプロセッサ１０５へ渡す。また通信インターフェース部１０２は、プロセッサ１０５から受け取った、符号化動画像データを通信ネットワークを介して他の機器へ出力してもよい。
【０１０６】
記憶部１０３は、例えば、読み書き可能な半導体メモリと読み出し専用の半導体メモリとを有する。そして記憶部１０３は、プロセッサ１０５上で実行される、動画像符号化処理を実行するためのコンピュータプログラム、及びこれらの処理の途中または結果として生成されるデータを記憶する。
【０１０７】
記憶媒体アクセス装置１０４は、例えば、磁気ディスク、半導体メモリカード及び光記憶媒体といった記憶媒体１０６にアクセスする装置である。記憶媒体アクセス装置１０４は、例えば、記憶媒体１０６に記憶されたプロセッサ１０５上で実行される、動画像符号化処理用のコンピュータプログラムを読み込み、プロセッサ１０５に渡す。
【０１０８】
プロセッサ１０５は、上記の実施形態または変形例による動画像符号化処理用コンピュータプログラムを実行することにより、符号化動画像データを生成する。そしてプロセッサ１０５は、生成された符号化動画像データを記憶部１０３に保存し、または通信インターフェース部１０２を介して他の機器へ出力する。
【０１０９】
なお、動画像符号化装置１の各部の機能をプロセッサ上で実行可能なコンピュータプログラムは、コンピュータによって読み取り可能な媒体に記録された形で提供されてもよい。ただし、そのような記録媒体には、搬送波は含まれない。
【０１１０】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【符号の説明】
【０１１１】
１    動画像符号化装置
１０    分割部
１１−１〜１１−ｎ    符号化部
１２    結合部
２１    予測誤差算出部
２２    直交変換部
２３    量子化部
２４    逆量子化部
２５    逆直交変換部
２６    加算部
２７    デブロックフィルタ部
２８    記憶部
２９    動きベクトル計算部
３０    予測モード判定部
３１    予測ブロック生成部
３２、５２    係数修正部
４１    判定部
４２    TU選択部
４３    置換部
４４    QP修正部
４５    修正位置決定部
１００    コンピュータ
１０１    ユーザインターフェース部
１０２    通信インターフェース部
１０３    記憶部
１０４    記憶媒体アクセス装置
１０５    プロセッサ
【図１】
2015111787.tif 000011
【図２】
2015111787.tif 000012
【図３】
2015111787.tif 000013
【図４】
2015111787.tif 000014
【図５】
2015111787.tif 000015
【図６】
2015111787.tif 000016
【図７】
2015111787.tif 000017
【図８】
2015111787.tif 000018
【図９】
2015111787.tif 000019
【図１０】
2015111787.tif 000020
【図１１】
2015111787.tif 000021
【図１２】
2015111787.tif 000022