(57)【要約】【課題】量子化ひずみに起因する画質の劣化を抑制する。【解決手段】第１の特徴に係る画像符号化装置（１）は、予測画像と入力画像との残差である残差画像の一部である変換ブロックに対する直交変換を行う変換部（１０４）と、４×４のサイズを有する４×４変換ブロックについて、前記直交変換をスキップする変換スキップ（ＴＳモード）を有効化するか否かを、１又は複数のフレームからなるシーケンス単位で判定する有効化判定部（１０９ｂ）と、前記有効化判定部によって前記変換スキップが有効化されたと判定されたシーケンスに対応する各４×４変換ブロックに対して、異なる値の要素からなる第１量子化行列を用いることなく、等しい値の要素からなる第２量子化行列を用いて量子化を行う量子化部（１０５）とを備える。【選択図】図１
2019075678.tif 000002
【特許請求の範囲】
【請求項１】
予測画像と入力画像との残差である残差画像の一部である変換ブロックに対する直交変換を行う変換部と、
４×４のサイズを有する４×４変換ブロックについて、前記直交変換をスキップする変換スキップを有効化するか否かを、１又は複数のフレームからなるシーケンス単位で判定する有効化判定部と、
前記有効化判定部によって前記変換スキップが有効化されたと判定されたシーケンスに対応する各４×４変換ブロックに対して、異なる値の要素からなる第１量子化行列を用いることなく、等しい値の要素からなる第２量子化行列を用いて量子化を行う量子化部と
を備えることを特徴とする画像符号化装置。
【請求項２】
前記４×４変換ブロックについて前記第１量子化行列及び前記第２量子化行列のいずれを量子化に用いるかをフレーム単位で判定する量子化行列判定部をさらに備え、
前記量子化行列判定部は、前記有効化判定部によって前記変換スキップが有効化されたと判定されたシーケンスに対応する各４×４変換ブロックについて、前記第１量子化行列及び前記第２量子化行列のいずれを量子化に用いるかの判定を省略することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
予測画像と入力画像との残差である残差画像の一部である変換ブロックに対する逆量子化を行う逆量子化部と、
前記逆量子化が施された前記変換ブロックに対する逆直交変換を行う逆変換部と、
４×４のサイズを有する４×４変換ブロックについて、直交変換をスキップする変換スキップが有効化されているか否かを、１又は複数のフレームからなるシーケンス単位で判定する有効化判定部とを備え、
前記逆変換部は、前記有効化判定部によって前記変換スキップが有効化されていると判定されたシーケンスに対応する各４×４変換ブロックに対して、異なる値の要素からなる第１量子化行列を用いることなく、等しい値の要素からなる第２量子化行列を用いて逆量子化を行うことを特徴とする画像復号装置。
【請求項４】
前記４×４変換ブロックについて前記第１量子化行列及び前記第２量子化行列のいずれを逆量子化に用いるかの判定をフレーム単位で行う量子化行列判定部をさらに備え、
前記量子化行列判定部は、前記有効化判定部によって前記変換スキップが有効化されたと判定されたシーケンスに対応する各４×４変換ブロックについて、前記第１量子化行列及び前記第２量子化行列のいずれを逆量子化に用いるかの判定を省略することを特徴とする請求項３に記載の画像復号装置。
【請求項５】
予測画像と入力画像との残差である残差画像の一部である変換ブロックに対する直交変換を行う変換部と、
前記変換ブロックに対する量子化を行う量子化部と、
４×４のサイズを有する４×４変換ブロックについて、異なる値の要素からなる第１量子化行列及び等しい値の要素からなる第２量子化行列のうちいずれを量子化に用いるか否かをフレーム単位で判定する量子化行列判定部とを備え、
前記変換部は、前記量子化行列判定部によって前記第１量子化行列を量子化に用いると判定されたフレームに対応する各４×４変換ブロックに対して、前記直交変換をスキップする変換スキップを適用することなく、当該４×４変換ブロックに対する前記直交変換を行うことを特徴とする画像符号化装置。
【請求項６】
前記変換ブロックごとに、前記変換スキップを適用するか否かを判定する適用判定部をさらに備え、
前記適用判定部は、前記量子化行列判定部によって前記第１量子化行列を量子化に用いると判定されたフレームに対応する各４×４変換ブロックについて、前記変換スキップを適用するか否かの判定を省略することを特徴とする請求項５に記載の画像符号化装置。
【請求項７】
予測画像と入力画像との残差である残差画像の一部である変換ブロックに対する逆量子化を行う逆量子化部と、
前記逆量子化が施された前記変換ブロックに対する逆直交変換を行う逆変換部と、
４×４のサイズを有する４×４変換ブロックについて、異なる値の要素からなる第１量子化行列及び等しい値の要素からなる第２量子化行列のうちいずれを逆量子化に用いるかをフレーム単位で判定する量子化行列判定部とを備え、
前記逆変換部は、前記量子化行列判定部によって前記第１量子化行列を量子化に用いると判定されたフレームに対応する各４×４変換ブロックに対して、前記逆直交変換をスキップする変換スキップを適用することなく、当該４×４変換ブロックに対する逆直交変換を行うことを特徴とする画像復号装置。
【請求項８】
前記変換ブロックごとに、前記変換スキップを適用するか否かを判定する適用判定部をさらに備え、
前記適用判定部は、前記量子化行列判定部によって前記第１量子化行列を逆量子化に用いると判定されたフレームに対応する各４×４変換ブロックについて、前記変換スキップを適用するか否かの判定を省略することを特徴とする請求項７に記載の画像復号装置。
【請求項９】
コンピュータに、
予測画像と入力画像との残差である残差画像の一部である変換ブロックに対する直交変換を行う変換ステップと、
４×４のサイズを有する４×４変換ブロックについて前記直交変換をスキップする変換スキップを有効化するか否かを、１又は複数のフレームからなるシーケンス単位で判定する有効化判定ステップと、
前記有効化判定ステップによって前記変換スキップが有効化されたと判定されたシーケンスに対応する各４×４変換ブロックに対して、異なる値の要素からなる第１量子化行列を用いることなく、等しい値の要素からなる第２量子化行列を用いて量子化を行う量子化ステップと
を実行させることを特徴とする画像符号化プログラム。
【請求項１０】
コンピュータに、
予測画像と入力画像との残差である残差画像の一部である変換ブロックに対する逆量子化を行う逆量子化ステップと、
前記逆量子化が施された前記変換ブロックに対する逆直交変換を行う逆変換ステップと、
４×４のサイズを有する４×４変換ブロックについて直交変換をスキップする変換スキップが有効化されているか否かを、１又は複数のフレームからなるシーケンス単位で判定する有効化判定ステップとを実行させ、
前記逆変換ステップは、前記有効化判定ステップによって前記変換スキップが有効化されていると判定されたシーケンスに対応する各４×４変換ブロックに対して、異なる値の要素からなる第１量子化行列を用いることなく、等しい値の要素からなる第２量子化行列を用いて逆量子化を行うことを特徴とする画像復号プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化装置、画像復号装置、画像符号化プログラム、及び画像復号プログラムに関する。
【背景技術】
【０００２】
高い効率で情報量を圧縮する符号化方式として、予測符号化方式が知られている。予測符号化方式は、現時点での予測画像を過去に符号化した画像から予測し、この予測した予測画像と入力した入力画像との残差である残差画像を符号化する。この残差画像の符号化とは、残差画像を変換処理し、この変換処理における変換領域（例えば、空間周波数領域）で示される変換係数を量子化したうえでエントロピー符号化等の可逆符号化をいう。ここで、人間の視覚特性は、空間周波数における低周波数帯域（低域）が高域よりも敏感であるため、しばしば、量子化において低域ほど小さく、高域ほど大きい量子化幅が用いられることがある。このようなブロック内の周波数毎の量子化幅で形成されるデータは、量子化行列と呼ばれる。低域ほど小さく、高域ほど大きい量子化幅を用いた量子化行列を適用することにより視覚的に敏感である残差信号の低域成分が重視され、情報量を圧縮しても主観的な品質の低下を抑制することができる。
【０００３】
予測符号化方式の代表的な方式として、ＨＥＶＣ（Ｈｉｇｈ  Ｅｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）」方式（「ＩＳＯ／ＩＥＣ  ２３００８−２  ＨＥＶＣ、ＩＴＵ−Ｔ  Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  Ｈ．２６５とも呼ばれる）がある（非特許文献１）。ＨＥＶＣ方式では、残差画像の一部である変換ブロックごとに、変換処理の一種である直交変換をスキップ（省略）するか否かを判定し、スキップすると判定したときは残差画像を直接量子化して可逆符号化する処理が採用されている。直交変換を行うか否かは各々について残差の大きさや信号特性を比較して決定される。このような直交変換をスキップして量子化及び符号化を行う処理モードは、変換スキップ（ＴＳ：Ｔｒａｎｓｆｏｒｍ  Ｓｋｉｐ）モードと呼ばれる。一般的に、画像信号の高域成分が符号化品質として重要な要素となるような信号の場合には、視覚特性に考慮した量子化行列を適用した場合、直交変換及び量子化によって高域成分が劣化する。このため、高域成分の劣化を抑えながら情報量を削減するために、ＴＳモードが選択されることがある。ＴＳモードが選択された場合、ブロック内の位置座標に応じた量子化幅を適用することにより、残差画像の高域成分が主となる信号特性の場合でも、品質を損なうことなく情報量を効率的に圧縮することができる。
【０００４】
ここで、非特許文献１に示される汎用プロファイル（Ｍａｉｎ  ｐｒｏｆｉｌｅやＭａｉｎ１０  ｐｆｏｒｉｌｅなどのＭａｉｎと呼ばれるプロファイル）では、４×４のブロックサイズを有する４×４変換ブロックの符号化における量子化において、任意の量子化行列に加えて低域ほど小さい量子化幅を有する量子化行列（以下、適宜「第１量子化行列」という）、若しくはブロック内の座標若しくは周波数によらず同一の量子化幅を有する量子化行列（以下、適宜「第２量子化行列」という）を用いることが規定されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  ＩＴＵ−Ｔ  Ｈ．２６５，（０４／２０１３）“，Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ”，Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ，Ａｐｒｉｌ  ２０１３
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、４×４変換ブロックについて、直交変換を行うか否かに応じていずれの量子化行列を用いるべきか指針が示されておらず、ＴＳモードであろうとなかろうと、いずれかの量子化行列がフレーム単位又はシーケンス（一連の複数のフレーム）単位で固定的に適用される。
【０００７】
仮に低域ほど小さい量子化幅を有する量子化行列である任意の量子化行列である第１量子化行列を量子化に用いると、直交変換を適用する場合は視覚的に良好な情報量の削減が行えるが、一方で直交変換をスキップする場合においては当該量子化行列を適用するブロックは直交変換されたものでないため、座標によって異なる量子化が適用されることにより空間的なひずみ（量子化ひずみ）が生じ、例えば隣接するブロックとの境界部に視覚的に顕著な劣化が生じるという課題がある。かかる現象は、残差画像の低域成分が主ではない場合、つまり、信号値が急激に変化する部分（エッジ）を有する入力画像で生じる傾向がある。
【０００８】
一方、このような課題から拡張プロファイル（汎用プロファイル以外のプロファイル）においては、４×４変換ブロック以外のブロックにおいてＴＳモードを用いる場合には、第１量子化行列が伝送された場合であっても、ＴＳモードによって符号化されるブロックであれば、第２量子化行列を用いて量子化することが示されている。しかしながら、拡張プロファイルにおいても、４×４変換ブロックにおいては実装における後方互換性のために、ＴＳモードであるか否かにかかわらず、第１量子化行列を適用するフラグが有効である場合にはＴＳモードであっても第１量子化行列が適用されるという問題があった。
【０００９】
本発明は上記の点に鑑みてなされたものであり、量子化ひずみに起因する画質の劣化を抑制することができる画像符号化装置、画像復号装置、画像符号化プログラム、及び画像復号プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
第１の特徴に係る画像符号化装置は、予測画像と入力画像との残差である残差画像の一部である変換ブロックに対する直交変換を行う変換部と、４×４のサイズを有する４×４変換ブロックについて、前記直交変換をスキップする変換スキップ（ＴＳモード）を有効化するか否かを、１又は複数のフレームからなるシーケンス単位で判定する有効化判定部と、前記有効化判定部によって前記変換スキップが有効化されたと判定されたシーケンスに対応する各４×４変換ブロックに対して、異なる値の要素からなる第１量子化行列を用いることなく、等しい値の要素からなる第２量子化行列を用いて量子化を行う量子化部とを備える。
【００１１】
第２の特徴に係る画像復号装置は、予測画像と入力画像との残差である残差画像の一部である変換ブロックに対する逆量子化を行う逆量子化部と、前記逆量子化が施された前記変換ブロックに対する逆直交変換を行う逆変換部と、４×４のサイズを有する４×４変換ブロックについて、直交変換をスキップする変換スキップが有効化されているか否かを、１又は複数のフレームからなるシーケンス単位で判定する有効化判定部とを備える。前記逆変換部は、前記有効化判定部によって前記変換スキップが有効化されていると判定されたシーケンスに対応する各４×４変換ブロックに対して、異なる値の要素からなる第１量子化行列を用いることなく、等しい値の要素からなる第２量子化行列を用いて逆量子化を行う。
【００１２】
第３の特徴に係る画像符号化装置は、予測画像と入力画像との残差である残差画像の一部である変換ブロックに対する直交変換を行う変換部と、前記変換ブロックに対する量子化を行う量子化部と、４×４のサイズを有する４×４変換ブロックについて、異なる値の要素からなる第１量子化行列及び等しい値の要素からなる第２量子化行列のうちのいずれかを量子化に用いるか否かをフレーム単位で判定する量子化行列判定部とを備える。前記変換部は、前記量子化行列判定部によって前記第１量子化行列を量子化に用いると判定されたフレームに対応する各４×４変換ブロックに対して、前記直交変換をスキップする変換スキップを適用することなく、当該４×４変換ブロックに対する前記直交変換を行う。
【００１３】
第４の特徴に係る画像復号装置は、予測画像と入力画像との残差である残差画像の一部である変換ブロックに対する逆量子化を行う逆量子化部と、前記逆量子化が施された前記変換ブロックに対する逆直交変換を行う逆変換部と、４×４のサイズを有する４×４変換ブロックについて、異なる値の要素からなる第１量子化行列及び等しい値の要素からなる第２量子化行列のうちいずれを逆量子化に用いるかをフレーム単位で判定する量子化行列判定部とを備える。前記逆変換部は、前記量子化行列判定部によって前記第１量子化行列を量子化に用いると判定されたフレームに対応する各４×４変換ブロックに対して、前記逆直交変換をスキップする変換スキップを適用することなく、当該４×４変換ブロックに対する逆直交変換を行う。
【発明の効果】
【００１４】
本発明によれば、量子化ひずみに起因する画質の劣化を抑制することができる画像符号化装置、画像復号装置、画像符号化プログラム、及び画像復号プログラムが提供される。
【図面の簡単な説明】
【００１５】
【図１】第１及び第２実施形態に係る画像符号化装置の構成を示すブロック図である。
【図２】量子化行列の例を示す図である。
【図３】変換ブロックの区分の一例を示す図である。
【図４】第１実施形態に係る符号化処理の一例を示すフローチャートである。
【図５】第１及び第２実施形態に係る画像復号装置の構成を示すブロック図である。
【図６】第１実施形態に係る復号処理の一例を示すフローチャートである。
【図７】第２実施形態に係る符号化処理の一例を示すフローチャートである。
【図８】第２実施形態に係る復号処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照しながら本発明の第１及び第２実施形態について説明する。第１及び第２実施形態において、画像符号化装置はＨＥＶＣ方式に基づく符号化処理を行い、画像復号装置はＨＥＶＣ方式に基づく復号処理を行う。
【００１７】
（１）第１実施形態
（１．１）画像符号化装置
第１実施形態に係る画像符号化装置について説明する。
【００１８】
（１．１．１）画像符号化装置の構成
図１は、第１実施形態に係る画像符号化装置１の構成を示す。
【００１９】
図１に示すように、画像符号化装置１は、フレームバッファ１０１、減算部１０２、符号化データ生成部１０３、制御部１０９、加算部（合成部）１１０、デブロッキングフィルタ１１１、参照メモリ１１２、予測部１１３、可逆符号化部１１４、蓄積バッファ１１５、及び動きベクトル算出部１１６を備える。
【００２０】
第１実施形態に係る画像符号化装置１は、予測画像と入力画像との残差である残差画像の一部である変換ブロックに対する直交変換を行う変換部１０４と、変換ブロックに対する量子化を行う量子化部１０５と、４×４のサイズを有する４×４変換ブロックについて、異なる値の要素からなる第１量子化行列及び等しい値の要素からなる第２量子化行列のうちのいずれかを量子化に用いるか否かをフレーム単位で判定する量子化行列判定部１０９ｄとを備える。変換部１０４は、量子化行列判定部１０９ｄによって第１量子化行列を量子化に用いると判定されたフレームに対応する各４×４変換ブロックに対して、直交変換をスキップする変換スキップを適用することなく、当該４×４変換ブロックに対する直交変換を行う。
【００２１】
フレームバッファ１０１は、画像符号化装置１の外部から入力された画像信号をフレームごとに一時的に記憶する。
【００２２】
なお、フレームバッファ１０１は、入力画像信号を記憶する際、予め定めたＧＯＰ（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅ）構造に応じて各フレームの順序を並び替えてもよい。このＧＯＰ構造とは、所定のフレーム数からなるフレームの種類（例えば、イントラフレーム、インターフレーム等）の配列をいう。イントラフレームとは、フレーム内予測（イントラ予測）を行って符号化される画像信号のフレームをいう。インターフレームとは、フレーム間予測（インター予測）を行って符号化される画像信号のフレームをいう。
【００２３】
フレームバッファ１０１は、記憶した入力画像信号から現在処理を行うフレーム（現フレーム、カレントフレームともいう）の画像信号を特定し、特定したフレームの画像信号から、その一部として現在処理を行うブロック（現ブロック、カレントブロックともいう）の画像を示す入力画像ブロック信号を読み出す。
【００２４】
フレームバッファ１０１が現ブロックを選択する順序は、例えば、ラスタスキャンの順序と同一であってもよい。フレームバッファ１０１は、読み出した入力画像ブロック信号を減算部１０２及び動きベクトル算出部１１６に出力する。
【００２５】
減算部１０２は、フレームバッファ１０１から入力された入力画像ブロック信号から、予測部１１３から入力された予測画像ブロック信号を減算し、差分画像ブロック信号を生成する。
【００２６】
ここで、減算部１０２は、入力画像ブロック信号を形成する画素毎の信号値から、参照画像ブロック信号を形成する信号値のうち対応する画素の信号値を減算し、生成した差分画像ブロック信号を符号化データ生成部１０３に出力する。
【００２７】
符号化データ生成部１０３は、減算部１０２から入力された差分画像ブロック信号について、より情報量が低減された符号化データを生成し、生成した符号化データのうち制御部１０９から入力された制御信号が示す処理態様（モード）に応じた符号化データを可逆符号化部１１４に出力する。この制御信号が示す処理態様は、例えば、直交変換をスキップするか否かの判定や、直交変換処理、量子化を行う際に用いる量子化行列の設定及び量子化処理等がある。
【００２８】
また、符号化データ生成部１０３は、それぞれ逆処理を備え、生成した符号化データを復号して復元差分画像ブロック信号を生成し、生成した復元差分画像ブロック信号を加算部１１０に出力する。
【００２９】
符号化データ生成部１０３は、変換部１０４、量子化部１０５、逆量子化部１０６、逆変換部１０７、及び量子化行列設定部１０８を備える。
【００３０】
変換部１０４は、減算部１０２から入力された差分画像ブロック信号について直交変換し、直交変換係数データを生成し、生成した変換係数データを量子化部１０５に出力する。
【００３１】
直交変換とは、例えば、離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）や離散サイン変換（ＤＳＴ：Ｄｉｓｃｒｅｔｅ  Ｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）等をいう。なお、制御信号が示す処理態様によっては、変換部１０４は、直交変換をスキップする場合がある。その場合、変換部１０４は、差分画像ブロック信号を変換せずに変換係数データとして量子化部１０５に出力する。直交変換をスキップする動作態様は、ＴＳ（Ｔｒａｎｓｆｏｒｍ  Ｓｋｉｐ、変換スキップ）モードと呼ばれることがある。
【００３２】
量子化部１０５は、変換部１０４から入力された変換係数データが示す変換係数を量子化パラメータｑＰ及び量子化行列を用いて量子化し、量子化した変換係数を示す量子化変換係数データを生成する。量子化パラメータｑＰは、ブロック内のデータに対して共通して適応される。量子化行列設定部１０８は、ブロック内の変換係数ごとに指定する量子化値によって構成される量子化行列を設定、する。量子化行列の各要素の値（量子化値）は、変換係数データの対応する要素の変換係数を量子化するための量子化幅を示す。量子化行列を構成する要素は、スケーリングファクタ（Ｓｃａｌｉｎｇ  Ｆａｃｔｏｒ）と呼ばれることがあるが、この量子化行列の例については後述する。なお、直交変換がスキップされた場合には、量子化部１０５に入力される変換係数データは、差分画像ブロックの信号値を示す差分画像ブロック信号である。量子化部１０５は、生成した量子化変換係数データを逆量子化部１０６に出力し、その量子化情報（量子化パラメータｑＰ及び量子化行列）と量子化変換係数データとを符号化データの一部として可逆符号化部１１４に出力する。
【００３３】
逆量子化部１０６は、量子化部１０５から入力された量子化変換係数データが示す量子化変換係数を、量子化行列設定部１０８が設定した量子化行列と量子化パラメータｑＰとを用いて逆量子化し、復元変換係数を算出する。逆量子化部１０６が用いる量子化行列は、その量子化行列を生成する際に用いられた量子化行列と同一である。逆量子化部１０６は、算出した復元変換係数を示す復元変換係数データを逆変換部１０７に出力する。
【００３４】
逆変換部１０７は、逆量子化部１０６から入力された復元変換係数データが示す復元変換係数について逆直交変換し、復元差分画像ブロック信号を生成する。逆変換部１０７は、生成した復元差分画像ブロック信号を加算部１１０に出力する。逆変換部１０７が用いる逆直交変換は、変換部１０４が行う直交変換の逆演算である。例えば、変換部１０４がＤＣＴを用いる場合には、逆変換部１０７はＩＤＣＴ（Ｉｎｖｅｒｓｅ  ＤＣＴ、逆離散コサイン変換）を用いる。また、変換部１０４が直交変換をスキップする場合には、逆変換部１０７は、逆直交変換をスキップする。その場合には、入力される復元変換係数データは、量子化された差分画像ブロックの信号値を示す信号であるため、逆変換部１０７は、入力された復元変換係数データを復元差分画像ブロック信号として加算部１１０に出力する。
【００３５】
量子化行列設定部１０８は、制御部１０９から入力された制御信号が示す処理態様に基づいて、量子化及び逆量子化に用いる量子化行列を量子化部１０５及び逆量子化部１０６に設定し、設定される量子化行列の候補である候補行列データを予め複数個（例えば、３個）記憶する。複数の候補行列データのうちの１つは、初期値（デフォルト）の候補行列データである。初期値の候補行列データは、例えば要素間で共通の量子化値（例えば、１６）を有する。以下では、この要素間で共通の量子化値の候補行列データ若しくはその量子化行列を単に初期値、又は平坦（フラット）な初期値と呼ぶことがある。等しい値の要素からなる量子化行列は、第２量子化行列に相当する。残りの候補行列データが示す量子化行列は、要素間で各々異なる量子化値を有していてもよい。異なる値の要素からなる量子化行列は、第１量子化行列に相当する。ここで、異なる値の要素とは、量子化行列を構成する全ての要素の値が異なる場合に限らず、量子化行列を構成する一部の要素の値が異なっていてもよい。例えば、量子化行列において、それぞれが少なくとも１つの要素からなる複数のグループを定義し、グループ内では要素の値が等しく、かつグループ間では要素の値が異なるものであってもよい。なお、量子化行列設定部１０８に記憶された第２量子化行列を示す候補行列データの個数は、１個に限られず、２個以上であってもよい。以下の説明では、量子化行列設定部１０８が設定した第１量子化行列を、「設定された量子化行列」又は「平坦でない量子化行列」と呼ぶことがある。なお、量子化行列設定部１０８は、現フレームの種類（例えば、イントラフレーム、インターフレーム等）、ブロックサイズ、信号値の種類（例えば、輝度信号、色差信号等）に応じて、所定の設定された量子化行列を選択してもよい。また、量子化行列設定部１０８は、差分画像ブロック毎の周波数特性に応じて量子化行列を選択してもよい。
【００３６】
制御部１０９は、画像符号化装置１全体の動作を制御する。制御部１０９は、差分画像ブロックごとに、処理態様として、直交変換をスキップするか否か、及びいかなる量子化行列（例えば、平坦な量子化行列又は平坦でない量子化行列）を選択するかを判定する。制御部１０９は、例えば、各処理態様について復元差分画像ブロック信号の差分画像ブロック信号との近似の度合いを示すコスト値を算出し、算出したコスト値に基づいて最も符号化効率が高い差分画像ブロック信号に近似する処理態様を選択する。その指標は、例えば、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅｓ、絶対差分和）、ＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅｓ、二乗差分和）、ＲＤ（Ｒａｔｅ−Ｄｉｓｔｏｒｔｉｏｎ）コスト等である。制御部１０９は、判定した処理態様を示す制御信号を符号化データ生成部１０３に出力し、判定結果を示す制御信号を符号化データの一部として可逆符号化部１１４に出力する。
【００３７】
制御部１０９は、分割制御部１０９ａ、ＴＳ有効化判定部１０９ｂ、ＴＳ適用判定部１０９ｃ、及び量子化行列判定部１０９ｄを備える。
【００３８】
分割制御部１０９ａは、符号化がなされる単位である差分画像ブロック（逆変換部１０７が逆変換処理を行う単位でもある）を分割して、更に細分化した変換ブロックを生成するための制御を行う。差分画像ブロックを原ブロックとして変換ブロックに分割する処理をブロック分割と呼ぶ。ブロック分割の詳細については後述する。分割制御部１０９ａは、変換ブロックごとに、４×４のブロックサイズを有する４×４変換ブロックであるか否かを判定するブロックサイズ判定部を構成する。
【００３９】
ＴＳ有効化判定部１０９ｂは、フレーム単位又は複数のフレームからなるシーケンス単位で、変換ブロックに対する直交変換をスキップする変換スキップ（ＴＳ：Ｔｒａｎｓｆｏｒｍ  Ｓｋｉｐ）を有効化するか否かを判定する。第１実施形態においては、変換スキップが有効化されている場合を想定する。ＴＳ有効化判定部１０９ｂの詳細については、第２実施形態において説明する。
【００４０】
ＴＳ適用判定部１０９ｃは、差分画像ブロック（変換ブロック）ごとに、直交変換をスキップするか否かを判定する。ＴＳ適用判定部１０９ｃは、ＴＳ有効化判定部１０９ｂがフレーム単位又はシーケンス単位で変換スキップを有効化すると判定した場合に限り、直交変換をスキップするか否かの判定を行ってもよい。ＴＳ適用判定部１０９ｃは、直交変換をスキップすると判定した変換ブロックについて、直交変換をスキップすることを示す制御信号（例えば、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇ＝１）を生成する。ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇ＝１は、現在の変換ブロックに変換スキップが適用されることを示す。一方で、ＴＳ適用判定部１０９ｃは、直交変換をスキップしないと判定した変換ブロックについて、直交変換をスキップしないことを示す制御信号（例えば、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇ＝０）を生成する。
【００４１】
量子化行列判定部１０９ｄは、サイズの異なる差分画像ブロック（変換ブロック）ごとに、いかなる量子化行列（例えば、平坦な量子化行列又は平坦でない量子化行列）を選択するかを判定する。例えば、量子化行列判定部１０９ｄは、４×４変換ブロックについて、平坦な量子化行列又は平坦でない量子化行列のうちいずれを逆量子化に用いるかをフレーム単位で判定する。平坦な量子化行列としては例えばＨＥＶＣで規定されているすべての量子化幅が１６と設計された初期値などがある。平坦でない量子化行列を用いると判定された場合、量子化行列判定部１０９ｄは、平坦でない量子化行列を用いることを示す制御信号（例えば、ｓｃａｌｉｎｇ＿ｌｉｓｔ＿ｅｎａｂｌｅ＿ｆｌａｇ＝１）を生成する。ｓｃａｌｉｎｇ＿ｌｉｓｔ＿ｅｎａｂｌｅ＿ｆｌａｇ＝１は、スケーリングリストを変換係数の量子化に用いることを示す。スケーリングリストは、平坦でない量子化行列を構成する各要素（スケーリングファクタ）を示すリストである。或いは、平坦でない量子化行列を用いることを示す制御信号は、４×４ブロックのｓｃａｌｉｎｇ＿ｌｉｓｔ＿ｐｒｅｄ＿ｍｏｄｅ＿ｆｌａｇ＝１、かつ、平坦でない量子化行列を指示又はエンコーダ定義の量子化行列が平坦でないことを示すものであってもよい。ｓｃａｌｉｎｇ＿ｌｉｓｔ＿ｐｒｅｄ＿ｍｏｄｅ＿ｆｌａｇ＝１は、スケーリングリスト中の値が明示的に指示（通知）されることを示す。一方で、平坦な量子化行列を用いると判定された場合、量子化行列判定部１０９ｄは、平坦な量子化行列を用いることを示す制御信号（例えば、ｓｃａｌｉｎｇ＿ｌｉｓｔ＿ｅｎａｂｌｅ＿ｆｌａｇ＝０）を生成する。ｓｃａｌｉｎｇ＿ｌｉｓｔ＿ｅｎａｂｌｅ＿ｆｌａｇ＝０は、スケーリングリストを変換係数の量子化に用いないことを示す。或いは、平坦な量子化行列を用いることを示す制御信号は、ｓｃａｌｉｎｇ＿ｌｉｓｔ＿ｅｎａｂｌｅ＿ｆｌａｇ＝１であって、４×４ブロックのｓｃａｌｉｎｇ＿ｌｉｓｔ＿ｐｒｅｄ＿ｍｏｄｅ＿ｆｌａｇ＝１、かつ、平坦な量子化行列を指示又はエンコーダ定義の量子化行列が平坦であることを示すものであってもよい。
【００４２】
第１実施形態において、量子化行列判定部１０９ｄの判定は、ＴＳ適用判定部１０９ｃの判定よりも前に行なわれる。ＴＳ適用判定部１０９ｃは、第１量子化行列（平坦でない量子化行列）を量子化に用いると判定されたフレームに対応する４×４変換ブロックについて、変換スキップを適用するか否かの判定を省略する。ＴＳ適用判定部１０９ｃの判定を省略することによって、符号化処理の処理量を削減するとともに符号化処理を高速化することができる。そして、変換部１０４は、制御信号に基づいて、第１量子化行列を量子化に用いると判定された４×４変換ブロックに対して、変換スキップを適用することなく、当該４×４変換ブロックに対する直交変換および量子化処理を行う。換言すると、変換部１０４は、第１量子化行列を量子化に用いる４×４変換ブロックについては必ず直交変換を行う。これにより、第１量子化行列が適用される４×４変換ブロックに変換スキップが適用されないようにすることができるため、ＨＥＶＣ方式において４×４変換ブロックの変換スキップ時の量子化ひずみに起因する画質の劣化を抑制することができる。
【００４３】
加算部１１０は、逆変換部１０７から入力された復元差分画像ブロック信号と、予測部１１３から入力された予測画像ブロック信号とを加算（合成）して、復元画像ブロック信号を生成する。ここで、加算部１１０は、復元差分画像ブロック信号を形成する画素毎の信号値と予測画像ブロック信号を形成する信号値のうち対応する画素の信号値とを加算する。加算部１１０は、生成した復元画像ブロック信号をデブロッキングフィルタ１１１に出力する。
【００４４】
デブロッキングフィルタ１１１は、加算部１１０から入力された復元画像ブロック信号にフィルタリング処理を行ってブロック歪の成分を除去する。また、鮮鋭度向上のためのフィルタ処理（例えばサンプル適応フィルタ：ＳＡＯ）などを伴ってもよい。デブロッキングフィルタ１１１は、これらの符号化歪の成分が除去された復元画像ブロック信号を参照画像ブロック信号として参照メモリ１１２に記憶させる。
【００４５】
参照メモリ１１２は、デブロッキングフィルタ１１１から入力された参照画像ブロック信号を、フレームごとに、その参照画像ブロックに応じた表示領域に対応する記憶領域に記憶し、参照画像を示す参照画像信号をフレームごとに記憶する。
【００４６】
予測部１１３は、参照メモリ１１２に既に記憶された参照画像信号を用いて公知の予測処理を行って現ブロックに係る予測画像ブロック信号を生成し、生成した予測画像ブロック信号を減算部１０２に出力する。ここで、予測部１１３は、現フレームがイントラフレームである場合には、現フレームに係る参照画像信号を用いてイントラ予測を行って現ブロックに係る予測画像ブロック信号を生成する。予測部１１３は、現フレームがインターフレームである場合には、現フレームとは異なるフレームに係る参照画像信号を用いてインター予測を行って現ブロックに係る予測画像ブロック信号を取得する。ここで、予測部１１３は、その参照画像信号から現ブロックを基準として動きベクトル算出部１１６から入力された動きベクトルで指定される位置のブロックを予測画像ブロック信号として抽出する。インター予測に用いられる参照画像信号のフレームは、所定のＧＯＰ構造に応じたフレーム順序のうち現フレームがどのフレームであるかによって定められる。なお、予測部１１３は、選択した予測モードを示すモードデータを符号化データの一部として可逆符号化部１１４に出力する。
【００４７】
動きベクトル算出部１１６は、予測部１１３が予測画像ブロック信号を生成する際に参照する参照画像信号のフレームを示す参照画像データと、フレームバッファ１０１から入力された入力画像ブロック信号とを比較し、動きベクトルを算出する。動きベクトル算出部１１６は、現ブロックの代表点（例えば、左上端の画素）から選択した画像ブロックの代表点までのベクトルを動きベクトルと定める。動きベクトル算出部１１６は、定めた動きベクトルを予め定めた期間記憶する記憶部（図示せず）を備え、定めた動きベクトルとの距離が小さい現ブロックの近傍のブロックの動きベクトルから導かれる候補動きベクトルを予測ベクトルとして選択（ベクトル予測）する。動きベクトル算出部１１６は、定めた動きベクトルと選択された予測ベクトルとの差分ベクトルを算出し、算出した差分ベクトルと定めた予測ベクトルを示すベクトルインデックスを符号化データの一部として可逆符号化部１１４に出力する。動きベクトル算出部１１６は、定めた動きベクトルを予測部１１３に出力する。
【００４８】
可逆符号化部１１４には、符号化データ生成部１０３から符号化データの一部として、量子化変換係数データ、候補行列データ若しくはそのデータに係る符号（該当する場合）が入力され、制御部１０９から符号化データの一部として制御信号が入力される。可逆符号化部１１４には、予測部１１３から符号化データの一部としてモードデータが入力され、動きベクトル算出部１１６から差分ベクトル、ベクトルインデックス（該当する場合）が入力される。可逆符号化部１１４は、入力された符号化データをフレームごとに統合し、統合したデータ（統合データ）について可逆符号化、例えば、エントロピー符号化を行ってビットストリームを生成する。可逆符号化部１１４は、生成したビットストリームを蓄積バッファ１１５に記憶する。
【００４９】
蓄積バッファ１１５は、可逆符号化部１１４から入力されたビットストリームを記憶する。蓄積バッファ１１５は、記憶したビットストリームを、画像符号化装置１の外部、例えば、画像復号装置２に順次出力する。
【００５０】
（１．１．２）量子化行列の例
次に、量子化行列の例について説明する。図２は、量子化行列の例を示す図である。
【００５１】
図２（ａ）、（ｂ）は、それぞれ水平方向に４個（４列）、垂直方向に４個（４行）、計１６個の量子化値を有する量子化行列ｔｂ１１、ｔｂ２１を示す。量子化行列ｔｂ１１、ｔｂ２１にそれぞれ含まれる四角形は要素を示す。四角形のそれぞれに記載された数字は量子化値を示し、その量子化値はその四角形の領域の濃淡でも表されている。図２に示す例では、濃く塗りつぶされた領域ほど量子化値が大きく、薄い領域ほど量子化値が小さい。
【００５２】
図２（ａ）に示すように、量子化行列ｔｂ１１は、平坦な量子化行列（第２量子化行列）の一例であり、各要素の量子化値はいずれも１６である。このような量子化行列を用いると、量子化の対象となる変換係数や信号値が要素によらず同一な精度で量子化できる。そのため、直交変換が行われない場合に、量子化行列ｔｂ２１等のように量子化値に偏りを有する量子化行列を用いることによる、画質の劣化を回避できる。
【００５３】
図２（ｂ）に示すように、量子化行列ｔｂ２１は、平坦でない量子化行列（第１量子化行列）の一例である。量子化行列ｔｂ２１は、水平方向、垂直方向の次数がそれぞれ大きくなるほど、大きな量子化値を有する。量子化行列ｔｂ２１の左上端（第１行第１列）、中間（第３行第２列）、右下端（第４行第４列）の量子化値は、それぞれ１６、２２、４２である。このような量子化行列では、より左上に配列された要素に係る直交変換係数、つまり低域の変換係数ほど高い精度で量子化され、より右下に配列された要素に係る変換係数、つまり高域の変換係数ほど低い精度で量子化される。そのため、直交変換が行われる場合には、低域ほど濃淡や色相の空間的変化に鋭敏であるという人間の視覚特性を活用し、画質を劣化させずに量子化によって高域での情報量を低減することができる。一方、直交変換を伴わない場合には座標ごとに異なるひずみが生じ、ブロックの右下の劣化が顕著となる。
【００５４】
量子化行列設定部１０８は、差分画像ブロックの要素数、つまり、ブロックサイズが可変である場合には、ブロックサイズと要素数が等しい量子化行列を選択する。その場合には、量子化行列設定部１０８は、候補となるブロックサイズのそれぞれに応じた量子化行列を取得する。候補となるブロックサイズは、例えば、水平方向４個、垂直方向４個（計１６個）、水平方向８個、垂直方向８個（計６４個）、水平方向１６個、垂直方向１６個（計２５６個）、水平方向３２個、垂直方向３２個（計１０２４個）などであるがそれ以上でもよい。  
【００５５】
（１．１．３）ブロック分割
次に、ブロック分割について説明する。
【００５６】
制御部１０９の分割制御部１０９ａは、符号化がなされる単位である差分画像ブロック（逆変換部１０７が逆変換処理を行う単位でもある）を分割して更に細分化した変換ブロックを生成するための制御を行う。この差分画像ブロックを原ブロックとして変換ブロックに分割する処理をブロック分割と呼ぶ。符号化がなされる単位である差分画像ブロックは符号化単位（ＣＵ：Ｃｏｄｉｎｇ  Ｕｎｉｔ）と呼ばれることがあり、変換ブロックは変換単位（ＴＵ：Ｔｒａｎｓｆｏｒｍ  Ｕｎｉｔ）と呼ばれることがある。分割制御部１０９ａは、例えば非特許文献１に記載のブロック分割を行う。従って、変換ブロックのブロックサイズは可変である。その場合、量子化及び逆量子化で用いられる量子化行列の大きさ（要素数）は変換ブロックのブロックサイズに等しい。
【００５７】
ここで、分割制御部１０９ａは、原ブロックのブロックサイズが予め定めたブロックサイズ（例えば、水平方向６４個、垂直方向６４個）である場合、この原ブロック（第０階層）を水平方向、垂直方向の要素数がそれぞれ半分の４つのブロック（第１階層）に分割することを試行する。分割制御部１０９ａは、それぞれについて分割を行うか否かを残差の大きさを示す指標（例えば、ＲＤコスト）が分割によって減少するか否かをもって判定する。具体的には、あるブロックについての指標が、そのブロックを仮に分割したブロック毎の指標の合計値よりも大きい場合、分割制御部１０９ａは、そのブロックを分割すると判定する。
【００５８】
そこで、分割制御部１０９ａは、ある階層におけるブロックの各々について、次の階層における４つのブロックに仮に分割し、分割するか否かを判定するといった処理を予め定めた階層数（例えば、４階層）に達するまで繰り返す。分割制御部１０９ａは、分割された変換ブロックの区分を示す区分情報を制御信号として可逆符号化部１１４及び符号化データ生成部１０３に出力する。変換ブロックの区分を示す区分情報は、変換ブロックのブロックサイズを示す情報とみなすことができる。
【００５９】
図３は、変換ブロックの区分の一例を示す図である。図３において、原ブロックｔｂ３１は３階層に分割されている。原ブロックｔｂ３１の右上、左下、右下のブロックｔｂ３１７、ｔｂ３１８、ｔｂ３１９は、第１階層の変換ブロックである。原ブロックｔｂ３１の左上の領域は、さらに分割されている。その領域の右上、左下、右下のブロックｔｂ３１４、ｔｂ３１５、ｔｂ３１６は、第２階層の変換ブロックである。その領域の左上の領域は、またさらに分割されている。その分割された領域は、４つの変換ブロックｔｂ３１０、ｔｂ３１１、ｔｂ３１２、ｔｂ３１３であり、第３階層の変換ブロックである。
【００６０】
（１．１．４）符号化処理の動作
次に、第１実施形態に係る符号化処理の例について説明する。図４は、第１実施形態に係る符号化処理の一例を示すフローチャートである。図４に示すフローは、差分画像ブロック信号を構成する変換ブロックごとの符号化処理を示し、分割制御部１０９ａによって４×４変換ブロックであると判定された変換ブロックに適用する。
【００６１】
図４に示すように、ステップＳ１０１において、量子化行列判定部１０９ｄは、平坦な量子化行列（第２量子化行列）を用いるか又は平坦でない量子化行列（第１量子化行列）を用いるかを判定する。平坦な量子化行列を用いると判定された場合（ステップＳ１０１：ＮＯ）、量子化行列判定部１０９ｄは、平坦な量子化行列を用いることを示す制御信号を符号化データ生成部１０３及び可逆符号化部１１４に出力する。その後、ステップＳ１０２に処理が進む。
【００６２】
ステップＳ１０２において、量子化行列設定部１０８は、平坦な量子化行列を用いることを示す制御信号に基づいて、予め定めた平坦な量子化行列を示す候補行列データを量子化部１０５及び逆量子化部１０６に設定する。候補行列データが示す量子化値ｍ［ｘ］［ｙ］は、例えば、式（１）で示す。
【００６３】
ｍ［ｘ］［ｙ］＝１６  …  （１）
ここで、ｘ、ｙは、それぞれ水平方向、垂直方向の要素を示す整数であり、０からｘＴｂＳ−１、０からｙＴｂＳ−１のいずれかの値をとる。ｘＴｂＳ、ｙＴｂＳは、それぞれ変換ブロックの水平方向、垂直方向の要素数を示す整数（例えば、４、８、１６、３２のいずれか）である。第１実施形態では４×４変換ブロックを対象とするため、ｘＴｂＳ及びｙＴｂＳのいずれも４である。その後、ステップＳ１０３に処理が進む。
【００６４】
ステップＳ１０３において、ＴＳ適用判定部１０９ｃは、変換処理（直交変換）をスキップするか否かを判定する。具体的には、ＴＳ適用判定部１０９ｃは、処理対象の４×４変換ブロックにＴＳモードを適用するか否かを判定する。変換処理をスキップすると判定された場合（ステップＳ１０３：ＹＥＳ）、ＴＳ適用判定部１０９ｃは、変換処理をスキップすることを示す制御信号（ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇ＝１）を符号化データ生成部１０３及び可逆符号化部１１４に出力する。その後、ステップＳ１０７に進む。一方、変換処理をスキップしないと判定された場合（ステップＳ１０３：ＮＯ）、ＴＳ適用判定部１０９ｃは、変換処理をスキップしないことを示す制御信号（ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇ＝０）を符号化データ生成部１０３及び可逆符号化部１１４に出力する。
【００６５】
その後、ステップＳ１０４において、変換部１０４は、変換処理をスキップしないことを示す制御信号に基づいて、処理対象の４×４変換ブロックに対する直交変換を行う。そして、ステップＳ１０７に進む。
【００６６】
一方、平坦でない量子化行列を用いると判定された場合（ステップＳ１０１：ＹＥＳ）、量子化行列判定部１０９ｄは、平坦でない量子化行列を用いることを示す制御信号と、変換処理をスキップしないことを示す制御信号（ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇ＝０）とを符号化データ生成部１０３及び可逆符号化部１１４に出力する。量子化行列判定部１０９ｄは、変換処理をスキップしないことを示す制御信号を出力するようＴＳ適用判定部１０９ｃに指示してもよい。ここで、平坦でない量子化行列を用いると判定された場合には、変換処理をスキップするか否かの判定をＴＳ適用判定部１０９ｃが行わない。
【００６７】
ステップＳ１０５において、量子化行列設定部１０８は、平坦でない量子化行列を用いることを示す制御信号に基づいて、平坦でない量子化行列を量子化部１０５及び逆量子化部１０６に設定する。
【００６８】
そして、ステップＳ１０６において、変換部１０４は、変換処理をスキップしないことを示す制御信号に基づいて、処理対象の４×４変換ブロックに対する直交変換を行う。その後、Ｓ１０７に進む。
【００６９】
ステップＳ１０７において、量子化部１０５は、処理対象の４×４変換ブロックを、量子化行列設定部１０８が設定した量子化行列と量子化パラメータｑＰを用いて量子化し、量子化係数データを生成する。量子化部１０５は、生成した量子化係数データを逆量子化部１０６及び可逆符号化部１１４に出力する。量子化部１０５は、量子化を行う際、例えば、式（２）の右辺の値が変換係数ｄ［ｘ］［ｙ］に最も近似する変換係数レベル値ＴｒａｎｓＣｏｅｆｆＬｅｖｅｌ［ｘＴｂＹ］［ｙＴｂＹ］［ｃＩｄｘ］［ｘ］［ｙ］を選択する。
【００７０】
ｄ［ｘ］［ｙ］＝Ｃｌｉｐ３（ｃｏｅｆｆＭｉｎ，ｃｏｅｆｆＭａｘ，（（ＴｒａｎｓＣｏｅｆｆＬｅｖｅｌ［ｘＴｂＹ］［ｙＴｂＹ］［ｃＩｄｘ］［ｘ］［ｙ］＊ｍ［ｘ］［ｙ］＊ｌｅｖｅｌＳｃａｌｅ［ｑＰ％６］＜＜（ｑＰ／６））＋（１＜＜（ｂｄＳｈｉｆｔ−１）））＞＞ｂｄＳｈｉｆｔ）  …  （２）  （Ｈ．２６５  ８−３１１）
ここで、Ｃｌｉｐ３（ａ，ｂ，ｘｘ）は、実数ｘｘが実数ａよりも小さい場合には、ａと定め、実数ｘｘが実数ｂよりも大きい場合には、ｂと定め、実数ｘｘがａ又はａよりも大きく、かつｂ又はｂよりも小さい場合には、そのままｘｘと定める関数である。ｘＴｂＹ、ｙＴｂＹは、それぞれ処理対象となる変換ブロック（対象ブロック）の左上端の水平方向、垂直方向の座標値を示す。ｃｏｅｆｆＭｉｎ，ｃｏｅｆｆＭａｘは、それぞれ１６ビットで示された要素毎の信号値の最小値、最大値を示す。ｃＩｄｘは、信号値の種類を示すインデックスである。ｃＩｄｘ＝０，１、２とは、それぞれ輝度信号、色差信号Ｃｂ、色差信号Ｃｒを示す。ｌｅｖｅｌＳｃａｌｅ［０］−ｌｅｖｅｌＳｃａｌｅ［５］（Ｈ．２６５  ８．４．４．２．７  Ｄｅｃｏｄｉｎｇ  ｐｒｏｃｅｓｓ  ｆｏｒ  ｐａｌｅｔｔｅ  ｍｏｄｅ（８−７６）の次）は、それぞれ、４０、４５、５７、６４、７２である。ｑＰは、量子化パラメータ、つまり量子化精度を示す整数であって６増加する度に量子化値を半分にすることを促すパラメータである。ｑＰ％６は、ｑＰを６で除算して得られる剰余を示す。ａ＜＜ｂは、ａの値を二進表示でｂ桁だけ左側にシフトすること、つまり、２のｂ乗を乗算することを示すビットシフト演算子である。ａ＞＞ｂは、ａの値を二進表示でｂ桁だけ右側にシフトすること、つまり、２のｂ乗を除算することを示すビットシフト演算子である。ｂｄＳｈｉｆｔは、信号値の種類に応じて予め定められたビットシフト値である。例えば、信号値が輝度信号Ｙである場合、ｂｄＳｈｉｆｔは、ＢｉｔＤｅｐｔｈＹ＋Ｌｏｇ２（ｎＴｂＳ）−５である。ＢｉｔＤｅｐｔｈＹは、輝度信号Ｙのビット深度、つまり量子化ビット数（例えば、１０ビット）を示す。ｎＴｂＳは、対象ブロックのブロックサイズを示す。信号値が色差信号Ｃｂ、Ｃｒである場合、ｂｄＳｈｉｆｔは、ＢｉｔＤｅｐｔｈＣ＋Ｌｏｇ２（ｎＴｂＳ）−５である。ＢｉｔＤｅｐｔｈＣは、輝度信号Ｃｂ、Ｃｒのビット深度、つまり量子化ビット数（例えば、１０ビット）を示す。ここで、ｑＰは、フレームの種類によって異なる値であってもよい。その後、ステップＳ１０８に処理が進む。
【００７１】
ステップＳ１０８において、量子化部１０５は、選択した係数レベル値を示す量子化変換係数データを可逆符号化部１１４に符号化データの一部として出力する。  
【００７２】
また、量子化部１０５は、この量子化変換係数データを逆量子化部１０６に出力する。出力された量子化変換係数データは、逆量子化部１０６において逆量子化され、量子化された変換係数ｄ［ｘ］［ｙ］が算出される。その後、図４に示す処理を終了する。
【００７３】
このように、４×４変換ブロックにおいて平坦でない量子化行列を用いる場合、ＴＳモードの適用／非適用の判断を回避することができ、高速かつ低消費電力を実現することができる。また、平坦でない量子化行列を用いる場合、ＴＳモードを選択することによる空間的な量子化ひずみの発生を抑制することができ、復号画像の主観的な品質を向上することができる。
【００７４】
（１．２）画像復号装置
第１実施形態に係る画像符号化装置について説明する。
【００７５】
（１．２．１）画像復号装置の構成
図５は、第１実施形態に係る画像復号装置２の構成を示すブロック図である。
【００７６】
図５に示すように、画像復号装置２は、制御部２００、蓄積バッファ２０１、可逆復号部２０２、符号化データ復号部２０３、加算部（合成部）２０７、デブロッキングフィルタ２０８、参照メモリ２０９、予測部２１０、フレームバッファ２１１、及び動きベクトル算出部２１２を備える。
【００７７】
第１実施形態に係る画像復号装置２は、予測画像と入力画像との残差である残差画像の一部である変換ブロックに対する逆量子化を行う逆量子化部２０４と、逆量子化が施された変換ブロックに対する逆直交変換を行う逆変換部２０５と、４×４のサイズを有する４×４変換ブロックについて、異なる値の要素からなる第１量子化行列及び等しい値の要素からなる第２量子化行列のうちいずれを逆量子化に用いるかをフレーム単位で判定する量子化行列判定部２００ｄとを備える。逆変換部２０５は、量子化行列判定部２００ｄによって第１量子化行列を量子化に用いると判定されたフレームに対応する各４×４変換ブロックに対して、逆直交変換をスキップする変換スキップを適用することなく、当該４×４変換ブロックに対する逆直交変換を行う。
【００７８】
蓄積バッファ２０１には、画像復号装置２の外部、例えば、画像符号化装置１からビットストリームが入力され、入力されたビットストリームが一時的に記憶される。蓄積バッファ２０１では、入力されたビットストリームがフレームごとに統合される。
【００７９】
可逆符号復号部２０２は、蓄積バッファ２０１からフレーム毎のビットストリームを読み出し、読み出したビットストリームについて可逆符号の復号を行って符号化データを生成する。可逆符号復号部２０２が用いる可逆符号復号方式は、可逆符号化部１１４が用いた可逆符号化方式に対応する復号方式である。
【００８０】
可逆符号復号部２０２は、復号した符号化データのうち、量子化変換係数データ、候補行列データ若しくはそのデータに係る符号（該当する場合）を符号化データ復号部２０３に出力する。可逆符号復号部２０２は、復号した符号化データのうち、制御信号を制御部２００に出力する。可逆符号復号部２０２は、復号した符号化データのうち、モードデータを予測部２１０に出力し、差分ベクトル及びベクトルインデックス（該当する場合）を動きベクトル算出部２１２に出力する。
【００８１】
符号化データ復号部２０３は、逆量子化部２０４、逆変換部２０５、及び量子化行列設定部２０６を備える。
【００８２】
逆量子化部２０４は、可逆符号復号部２０２から入力された量子化変換係数データが示す量子化変換係数を、量子化行列設定部２０６が設定した量子化行列を用いて逆量子化して変換係数を算出する。逆量子化部２０４は、算出した変換係数を示す復元変換係数データを逆変換部２０５に出力する。
【００８３】
逆変換部２０５は、逆量子化部２０４から入力された復元変換係数について逆直交変換を行って復元差分ブロック画像信号を生成する。逆変換部２０５は、生成した復元差分ブロック画像信号を加算部２０７に出力する。逆変換部２０５が用いる逆直交変換は、変換部１０４（図１参照）が行う直交変換の逆演算である。また、制御部２００から入力された制御信号が逆直交変換をスキップすることを示している場合には、逆変換部２０５は、逆直交変換をスキップする。その場合には、入力される量子化変換係数データは、量子化された差分ブロック画像の信号値を示す信号である。そのため、逆変換部２０５は、入力された復元変換係数データを逆変換せずに復元差分ブロック画像信号として加算部２０７に出力する。
【００８４】
量子化行列設定部２０６は、制御部２００及び可逆符号復号部２０２から入力された制御信号が示す処理態様に応じた候補行列データ若しくはそのデータに係る符号が示す量子化行列を逆量子化部２０４に設定する。量子化行列設定部２０６は、量子化行列設定部１０８（図１）と同一の候補行列データを取得する構成、例えば、記憶部を備える。
【００８５】
制御部２００は、可逆符号復号部２０２が出力する制御信号に基づいて、画像復号装置２全体の動作を制御する。制御部２００は、ブロックサイズ判定部２００ａ、ＴＳ有効化判定部２００ｂ、ＴＳ適用判定部２００ｃ、及び量子化行列判定部２００ｄを備える。
【００８６】
ブロックサイズ判定部２００ａは、変換ブロックごとに、４×４のブロックサイズを有する４×４変換ブロックであるか否かを判定し、判定結果を示す制御信号を符号化データ復号部２０３に出力する。例えば、ブロックサイズ判定部２００ａは、制御信号のうち、分割された変換ブロックの区分を示す区分情報に基づいて、４×４変換ブロックであるか否かを判定する。
【００８７】
ＴＳ有効化判定部２００ｂは、フレーム単位又はシーケンス単位で変換スキップを有効化するか否かを示す制御信号（例えば、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）に基づいて、フレーム単位又はシーケンス単位で変換スキップが有効化されているか否かを判定し、判定結果を示す制御信号を符号化データ復号部２０３に出力する。第１実施形態においては、変換スキップが有効化されている場合を想定する。ＴＳ有効化判定部２００ｂの詳細については、第２実施形態において説明する。
【００８８】
ＴＳ適用判定部２００ｃは、直交変換をスキップするか否かを示す制御信号（ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇ）に基づいて、変換ブロックごとに、逆直交変換をスキップするか否かを判定し、判定結果を示す制御信号を符号化データ復号部２０３に出力する。例えば、ＴＳ有効化判定部２００ｂは、処理対象の変換ブロックについて、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇ＝１である場合、逆直交変換をスキップすると判定する。ＴＳ有効化判定部２００ｂは、処理対象の変換ブロックについて、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇ＝０である場合、逆直交変換をスキップしないと判定してもよい。
【００８９】
量子化行列判定部２００ｄは、平坦な量子化行列を用いるか又は平坦でない量子化行列を用いるかを示す制御信号に基づいて、サイズの異なる変換ブロックごとに、平坦な量子化行列を用いるか又は平坦でない量子化行列を逆量子化に用いるかを判定し、判定結果を示す制御信号を符号化データ復号部２０３に出力する。例えば、量子化行列判定部２００ｄは、処理対象の変換ブロックについて、ｓｃａｌｉｎｇ＿ｌｉｓｔ＿ｅｎａｂｌｅ＿ｆｌａｇ＝１である場合、平坦でない量子化行列を逆量子化に用いると判定する。或いは、量子化行列判定部２００ｄは、制御信号が、４×４ブロックのｓｃａｌｉｎｇ＿ｌｉｓｔ＿ｐｒｅｄ＿ｍｏｄｅ＿ｆｌａｇ＝１、かつ、平坦でない量子化行列を指示又はエンコーダ定義の量子化行列が平坦でないことを示す場合、平坦でない量子化行列を逆量子化に用いると判定してもよい。一方で、量子化行列判定部２００ｄは、ｓｃａｌｉｎｇ＿ｌｉｓｔ＿ｅｎａｂｌｅ＿ｆｌａｇ＝０である場合、平坦な量子化行列を逆量子化に用いると判定する。或いは、量子化行列判定部２００ｄは、制御信号が、ｓｃａｌｉｎｇ＿ｌｉｓｔ＿ｅｎａｂｌｅ＿ｆｌａｇ＝１であって、４×４ブロックのｓｃａｌｉｎｇ＿ｌｉｓｔ＿ｐｒｅｄ＿ｍｏｄｅ＿ｆｌａｇ＝１、かつ、平坦な量子化行列を指示又はエンコーダ定義の量子化行列が平坦であることを示す場合、平坦な量子化行列を逆量子化に用いると判定してもよい。
【００９０】
第１実施形態において、量子化行列判定部２００ｄは、ＴＳ適用判定部２００ｃの判定よりも前に上述した判定を行う。ＴＳ適用判定部２００ｃは、平坦でない量子化行列（第１量子化行列）を逆量子化に用いると判定された４×４変換ブロックについて、変換スキップを適用するか否かの判定を省略する。これにより、ＴＳ適用判定部２００ｃの判定を省略し、復号処理の処理量を削減でき、復号処理を高速化できる。
【００９１】
そして、逆変換部２０５は、平坦でない量子化行列を逆量子化に用いると判定された４×４変換ブロックに対して、変換スキップを適用することなく、当該４×４変換ブロックに対する逆直交変換を行う。換言すると、逆変換部２０５は、平坦でない量子化行列を逆量子化に用いる４×４変換ブロックについては必ず逆直交変換を行う。これにより、平坦でない量子化行列が適用される４×４変換ブロックに変換スキップが適用されないようにすることができるため、ＨＥＶＣ方式において４×４変換ブロックの量子化ひずみに起因する画質の劣化を抑制できる。
【００９２】
加算部２０７は、逆変換部２０５から入力された復元差分画像ブロック信号と、予測部２１０から入力された予測画像ブロック信号を加算（合成）して復元画像ブロック信号を生成する。加算部２０７は、生成した復元画像ブロック信号をデブロッキングフィルタ２０８に出力する。
【００９３】
デブロッキングフィルタ２０８は、加算部２０７から入力された復元画像ブロック信号にフィルタリング処理を行ってブロック歪の成分を除去する。また、画像の微細部分の明瞭性を表す鮮鋭度向上のためのフィルタ処理（例えばサンプル適応フィルタ：ＳＡＯ）などを伴ってもよい。デブロッキングフィルタ２０８は、ブロック歪の成分が除去された復元画像ブロック信号を参照画像ブロック信号として参照メモリ２０９及びフレームバッファ２１１に記憶する。
【００９４】
参照メモリ２０９は、デブロッキングフィルタ２０８から入力された参照画像ブロック信号をフレームごとに、その参照画像ブロックに応じた表示領域に対応する記憶領域に記憶する。これにより、参照画像を示す参照画像信号がフレームごとに記憶できる。
【００９５】
予測部２１０は、参照メモリ２０９に記憶された参照画像信号を用いて、現ブロックに係る予測画像ブロック信号を生成し、生成した予測画像ブロック信号を加算部２０７に出力する。現フレームがイントラフレームである場合には、予測部２１０はイントラ予測を行う。現フレームがインターフレームである場合には、予測部２１０は現フレームとは異なるフレームに係る参照画像信号を用いてインター予測を行って現ブロックに係る予測画像ブロック信号を生成する。インター予測に用いられる参照画像信号のフレームは、所定のＧＯＰ構造に応じたフレーム順序のうち現フレームがどのフレームであるかによって定められる。インター予測を行う際、予測部２１０は、可逆符号復号部２０２から入力されたモードデータが示す予測モード（例えば、動き補償予測モード、マージモード等）で予測処理を行う。
【００９６】
予測部２１０は、インター予測を行う場合、定められたフレームの参照画像信号から動きベクトル算出部２１２から入力された動きベクトルで指定される領域の参照画像ブロック信号を抽出し、抽出した参照画像ブロック信号を用いて予測画像ブロック信号を生成する。
【００９７】
フレームバッファ２１１は、デブロッキングフィルタ部２０８から入力された復元画像ブロック信号をフレームごとに、その復元画像ブロックに応じた表示領域に対応する記憶領域に記憶する。これにより、フレームバッファ２１１は、フレーム毎の復元画像信号を記憶領域に記憶する。フレームバッファ２１１は、記憶している復元画像信号を予め定めたＧＯＰ構造に係るフレームの順序に復元画像信号を並び替える。フレームバッファ２１１は、フレームごとに復元画像信号を画像復号装置２の外部に備えた、例えば、画像表示装置（ディスプレイ）に出力する。
【００９８】
（１．２．２）復号処理の例
次に、第１実施形態に係る復号処理の例について説明する。図６は、第１実施形態に係る復号処理の一例を示すフローチャートである。図６に示すフローは、変換ブロックごとに復号処理を実行する。また、図６に示すフローは、ブロックサイズ判定部２００ａによって４×４変換ブロックであると判定された変換ブロックに対して適用される。
【００９９】
図６に示すように、ステップＳ２０１において、符号化データ復号部２０３は、可逆符号復号部２０２から符号化データの一部として制御信号、量子化変換係数データ、候補行列データ若しくはそのデータに係る符号を入力する。その後、ステップＳ２０２に進む。
【０１００】
ステップＳ２０２において、量子化行列判定部２００ｄは、入力された制御信号が量子化変換係数の逆量子化に用いる量子化行列が平坦な量子化値を用いることを示すものであるか、又は平坦でない量子化行列を用いることを示すものであり４×４に関して平坦な量子化値の行列であるか判定する。平坦な量子化行列を用いるものであると判定した場合（ステップＳ２０２：ＮＯ）、量子化行列判定部２００ｄは、平坦な量子化行列を用いることを示す制御信号を符号化データ復号部２０３に出力する。その後、ステップＳ２０３に進む。
【０１０１】
ステップＳ２０３において、量子化行列設定部２０６は、平坦な量子化行列を用いることを示す制御信号に基づいて、予め定めた平坦な量子化行列を示す候補行列データを逆量子化部２０４に設定する。この候補行列データが示す量子化値は、例えば、式（１）で示すｍ［ｘ］［ｙ］としてもよい。次に、ステップＳ２０４において、逆量子化部２０４は、平坦な量子化値からなる量子化行列を用いて、処理対象の４×４変換ブロックに対する逆量子化を行う。逆量子化部２０４は、可逆符号復号部２０２から入力された量子化変換係数データが示す量子化変換係数を量子化行列設定部２０６が設定した候補行列データと量子化パラメータＱｐとが示す量子化値を用いて逆量子化する。ここで、逆量子化部２０４は、例えば、式（２）を用いて復元変換係数ｄ［ｘ］［ｙ］を算出する。算出する過程で、量子化変換係数データが示す変換係数レベル値ＴｒａｎｓＣｏｅｆｆＬｅｖｅｌ［ｘＴｂＹ］［ｙＴｂＹ］［ｃＩｄｘ］［ｘ］［ｙ］と候補行列データが示す量子化値ｍ［ｘ］［ｙ］とを用いて復元変換係数ｄ［ｘ］［ｙ］を算出してもよい。その後、ステップＳ２０５に進む。
【０１０２】
ステップＳ２０５において、ＴＳ適用判定部２００ｃは、入力された制御信号が変換処理をスキップすることを示すものであるか否かを判定する。変換処理をスキップすることを示すもの（ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇ＝１）であると判定された場合（ステップＳ２０５：ＹＥＳ）、ＴＳ適用判定部２００ｃは、逆直交変換をスキップすることを示す制御信号を出力する。この場合、逆変換部２０５は、処理対象の４×４変換ブロックに対する逆直交変換をスキップし、逆量子化部２０４から入力された復元変換係数データを復元差分画像ブロックとして加算部２０７に出力する。一方、変換処理をスキップしないことを示すもの（ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇ＝０）であると判定された場合（ステップＳ２０５：ＮＯ）、ＴＳ適用判定部２００ｃは、逆直交変換をスキップしないことを示す制御信号を出力し、ステップＳ２０６に進む。
【０１０３】
ステップＳ２０６において、逆変換部２０５は、逆量子化部２０４から入力された復元変換係数データが示す復元変換係数について逆直交変換処理を行って復元差分画像ブロックを生成する。逆変換部２０５は、生成した復元差分画像ブロックを加算部２０７に出力する。
【０１０４】
一方、平坦でない量子化行列を用いると判定した場合（ステップＳ２０２：ＹＥＳ）、量子化行列判定部２００ｄは、平坦でない量子化行列を用いることを示す制御信号を符号化データ復号部２０３に出力し、ステップＳ２０７に進む。
【０１０５】
ステップＳ２０７において、量子化行列設定部２０６は、可逆符号復号部２０２から入力された制御信号が示す量子化行列を逆量子化部２０４に設定する。その後、ステップＳ２０８に進む。
【０１０６】
ステップＳ２０８において、逆量子化部２０４は、平坦でない量子化行列を用いて、処理対象の４×４変換ブロックに対する逆量子化を行う。
【０１０７】
次に、ステップＳ２０９において、逆変換部２０５は、逆量子化部２０４から入力された復元変換係数データが示す復元変換係数について逆直交変換処理を行って復元差分画像ブロックを生成し、生成した復元差分画像ブロックを加算部２０７に出力する。なお、平坦でない量子化行列を用いると判定された場合には、変換処理をスキップするか否かの判定をＴＳ適用判定部２００ｃが行わない。
【０１０８】
上述したように、平坦でない量子化行列（第１量子化行列）を用いる場合にはＴＳモードを用いることがないため、ＴＳ適用判定部２００ｃは、直交変換の適用の有無の判定を省略できる。また、直交変換が行われなかった変換ブロックの各要素の信号値が等しい精度で逆量子化されるため、当該ブロック内で精度が不均等になることによる画質の劣化を回避できる。例えば、周波数成分が高い高域成分を多く含む領域が分布している画像について、復号画像の主観的な品質を向上できる。
【０１０９】
（１．３）第１実施形態のまとめ
第１実施形態に係る画像符号化装置１において、変換部１０４は、第１量子化行列（平坦でない量子化行列）を量子化に用いると判定されたフレームに対応する４×４変換ブロックに対して、変換スキップを適用することなく、当該４×４変換ブロックに対する直交変換を行う。換言すると、変換部１０４は、第１量子化行列を量子化に用いる４×４変換ブロックについては必ず直交変換を行う。また、第１実施形態に係る画像復号装置２において、逆変換部２０５は、第１量子化行列を逆量子化に用いると判定された４×４変換ブロックに対して、変換スキップを適用することなく、当該４×４変換ブロックに対する逆直交変換を行う。換言すると、逆変換部２０５は、第１量子化行列を逆量子化に用いる４×４変換ブロックについては必ず逆直交変換を行う。よって、第１量子化行列が適用される４×４変換ブロックに変換スキップを適用しないようにできるため、ＨＥＶＣ方式において自然画像等の一般的な画像の画質を向上させることができる。
【０１１０】
第１実施形態に係る画像符号化装置１において、ＴＳ適用判定部１０９ｂは、第２量子化行列（平坦な量子化行列）を量子化に用いると判定されたフレームに対応する４×４変換ブロックに対して、変換スキップを有効化する。換言すると、ＴＳ適用判定部１０９ｂは、第１量子化行列を量子化に用いる４×４変換ブロックに変換スキップを適用することなく、第２量子化行列を量子化に用いる４×４変換ブロックに変換スキップを適用可能にする。また、第１実施形態に係る画像復号装置２において、ＴＳ適用判定部２００ｃは、第２量子化行列（平坦な量子化行列）を量子化に用いると判定されたフレームに対応する４×４変換ブロックに対して、変換スキップを有効化する。換言すると、ＴＳ適用判定部２００ｃは、第１量子化行列を量子化に用いる４×４変換ブロックに変換スキップを適用することなく、第２量子化行列を量子化に用いる４×４変換ブロックに変換スキップを適用可能にする。このように、変換スキップを適用する４×４変換ブロックに対して第２量子化行列を用いて量子化・逆量子化を行うことによって、ＣＧや、自然画像とＣＧが混在する画像の画質を向上できる。
【０１１１】
さらに、第１実施形態に係る画像符号化装置１において、ＴＳ適用判定部１０９ｃは、第１量子化行列（平坦でない量子化行列）を量子化に用いると判定されたフレームに対応する４×４変換ブロックについて、変換スキップを適用するか否かの判定を省略する。また、第１実施形態に係る画像復号装置２において、ＴＳ適用判定部２００ｃは、第１量子化行列を逆量子化に用いると判定されたフレームに対応する４×４変換ブロックについて、変換スキップを適用するか否かの判定を省略する。これにより、符号化処理及び復号処理の処理量を削減するとともに、符号化処理及び復号処理を高速化できる。
【０１１２】
（２）第２実施形態
次に、第２実施形態について、第１実施形態との相違点を主として説明する。
【０１１３】
（２．１）画像符号化装置
第２実施形態に係る画像符号化装置１について説明する。
【０１１４】
（２．１．１）画像符号化装置の構成
第２実施形態に係る画像符号化装置１の機能ブロック構成は、第１実施形態に係る画像符号化装置１の機能ブロック構成（図１参照）と同様である。但し、一部のブロックの動作が第１実施形態とは異なる。
【０１１５】
第２実施形態に係る画像符号化装置１は、予測画像と入力画像との残差である残差画像の一部である変換ブロックに対する直交変換を行う変換部１０４と、４×４のサイズを有する４×４変換ブロックについて、直交変換をスキップする変換スキップ（ＴＳモード）を有効化するか否かを、１又は複数のフレームからなるシーケンス単位で判定するＴＳ有効化判定部１０９ｄと、ＴＳ有効化判定部１０９ｄによって変換スキップが有効化されたと判定されたシーケンスに対応する各４×４変換ブロックに対して、異なる値の要素からなる第１量子化行列を用いることなく、等しい値の要素からなる第２量子化行列を用いて量子化を行う量子化部１０５とを備える。このように、第２実施形態に係る画像符号化装置１は、シーケンス単位でＴＳモードを有効化する場合に、シーケンスレベル（ＳＰＳ：Ｓｅｑｕｅｎｃｅ  ｐａｒａｍａｔｅｒ  ｓｅｔ）で共通の量子化行列として、４×４変換ブロックについて平坦な量子化行列（第２量子化行列）を設定する。
【０１１６】
第２実施形態において、ＴＳ有効化判定部１０９ｂは、１又は複数のフレームからなるシーケンス単位で、変換スキップを有効化するか否か（すなわち、ＴＳモードを選択可能にするか否か）を判定する。シーケンス単位で変換スキップを有効化すると判定した場合、ＴＳ有効化判定部１０９ｂは、その旨の制御信号（例えば、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１）を出力する。ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１は、対応するシーケンスについてｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇが存在し得ることを示す。一方で、シーケンス単位で変換スキップを有効化しないと判定した場合、ＴＳ有効化判定部１０９ｂは、その旨の制御信号（例えば、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝０）を出力する。ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝０は、対応するシーケンスについてｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇが存在しないことを示す。なお、ＴＳ有効化判定部１０９ｂは、例えば、符号化の前処理においてＣＧ（あるいはＣＧに似た性質）の入力信号であるかどうかを検出し、ＴＳモードを有効化する。ＴＳ有効化判定部１０９ｂは、すでに符号化した映像を解析し、ＴＳモードを有効化してもよい。
【０１１７】
第２実施形態において、量子化部１０５は、ＴＳ有効化判定部１０９ｂによって変換スキップが有効化されたシーケンスを構成するフレームにおける４×４変換ブロックに対して、異なる値の要素からなる第１量子化行列（平坦でない量子化行列）を用いることなく、等しい値の要素からなる第２量子化行列（平坦な量子化行列）を用いて量子化を行うよう設定する。換言すると、量子化部１０５は、ＴＳ有効化判定部１０９ｂによって変換スキップが有効化されたシーケンスを構成するフレームについては、４×４変換ブロックに対する量子化を行う際に、必ず第２量子化行列を用いる。これにより、ピクチャ単位で設定することなく直交変換がスキップされた４×４変換ブロックに第１量子化行列が適用されないようにすることができる。
【０１１８】
量子化部１０５は、ＴＳ有効化判定部１０９ｂによって変換スキップが有効化されたシーケンスを構成するフレームについて、可逆符号化部１１４に出力する量子化情報（すなわち、量子化行列に関する符号化信号）として、代替する符号量の少ない仮想データに置き換えてもよい。後述するように、画像復号装置２は、変換スキップが有効化されたシーケンスについては、等しい値の要素からなる第２量子化行列（平坦な量子化行列）を暗黙的に用いて逆量子化を行う。この場合、画像復号装置２は、４×４ブロックの量子化行列に関する符号化信号を無視することが可能である。量子化行列に関する符号化信号を、符号量の少ない仮想データに置き換えることによって、信号を復号せずに暗黙的に量子化行列を解し、判定を行う必要がなくなり処理量の低減が行える。
【０１１９】
第２実施形態において、量子化行列判定部１０９ｄは、変換スキップが有効化されたシーケンスに対応する各４×４変換ブロックについて、第１量子化行列及び第２量子化行列のいずれを量子化に用いるかの判定を省略する。これにより、符号化処理の処理量を削減するとともに符号化処理を高速化することができる。
【０１２０】
（２．１．２）符号化処理の動作
次に、第２実施形態に係る符号化処理の例について説明する。図７は、第２実施形態に係る符号化処理の一例を示すフローチャートである。図７に示すフローは、変換ブロックごとに符号化処理を実行する。また、図７に示すフローは、分割制御部１０９ａによって４×４変換ブロックであると判定された変換ブロックに対して適用される。なお、上述した第１実施形態に係る符号化処理（図４参照）と同一の処理については、同一の符号を付して説明を適宜援用する。
【０１２１】
図７に示すように、ステップＳ３０１において、ＴＳ有効化判定部１０９ｂは、シーケンス単位で変換スキップを有効化するか否か（すなわち、ＴＳモードを選択可能にするか否か）を判定する。シーケンス単位で変換スキップを有効化しないと判定した場合（ステップＳ３０１：ＮＯ）、ステップＳ３０２において、変換スキップ（ＴＳモード）を使用しない従来の符号化処理と同様の処理を行う。その後、ステップＳ１０６において、変換部１０４は、処理対象の４×４変換ブロックに対する直交変換を行う。そして、Ｓ１０７に進む。
【０１２２】
一方で、シーケンス単位で変換スキップを有効化すると判定した場合（ステップＳ３０１：ＹＥＳ）、ＴＳ有効化判定部１０９ｂは、シーケンス単位で変換スキップを有効化することを示す制御信号（例えば、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１）を出力する。量子化行列判定部１０９ｄは、シーケンス単位で変換スキップを有効化することを示す制御信号に基づいて、４×４変換ブロック用の量子化行列として平坦な量子化値からなる量子化行列を量子化部１０５及び逆量子化部１０６に設定する。平坦な量子化行列として、例えば式（１）を適用する。この場合、量子化行列判定部１０９ｄは、変換スキップが有効化されたシーケンスに対応する各４×４変換ブロックについて、第１量子化行列及び第２量子化行列のいずれを量子化に用いるかの判定を省略する。その後、ステップＳ１０３に処理が進む。
【０１２３】
ステップＳ１０３において、ＴＳ適用判定部１０９ｃは、変換処理（直交変換）をスキップするか否かを判定する。その後の動作については、第１実施形態に係る符号化処理（図４参照）と同様である。
【０１２４】
このように、変換スキップが有効化されたシーケンスに対応する各４×４変換ブロックについては、第１量子化行列及び第２量子化行列のいずれを量子化に用いるかの判定を省略し、平坦な量子化行列を量子化に用いる。これにより、平坦でない量子化行列を設定時にＴＳモードを適用することによって生じる画質劣化を生じることなく、高速、低消費電力かつ高品質な符号化処理を行うことができる。
【０１２５】
（２．２）画像復号装置
第２実施形態に係る画像復号装置２について説明する。
【０１２６】
（２．２．１）画像復号装置の構成
第２実施形態に係る画像復号装置２の機能ブロック構成は、第１実施形態に係る画像復号装置２の機能ブロック構成（図５参照）と同様である。但し、一部のブロックの動作が第１実施形態とは異なる。
【０１２７】
第２実施形態に係る画像復号装置２は、予測画像と入力画像との残差である残差画像の一部である変換ブロックに対する逆量子化を行う逆量子化部２０４と、逆量子化が施された変換ブロックに対する逆直交変換を行う逆変換部２０５と、４×４のサイズを有する４×４変換ブロックについて、直交変換をスキップする変換スキップが有効化されているか否かを、１又は複数のフレームからなるシーケンス単位で判定するＴＳ有効化判定部２００ｂとを備える。逆変換部２０５は、ＴＳ有効化判定部によって変換スキップが有効化されていると判定されたシーケンスに対応する各４×４変換ブロックに対して、異なる値の要素からなる第１量子化行列を用いることなく、等しい値の要素からなる第２量子化行列を用いて逆量子化を行う。
【０１２８】
第２実施形態において、ＴＳ有効化判定部２００ｂは、シーケンス単位で変換スキップを有効化するか否かを示す制御信号（例えば、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）に基づいて、シーケンス単位で変換スキップが有効化されているか否か（すなわち、ＴＳモードを選択可能にされているか否か）を判定し、判定結果を示す制御信号を符号化データ復号部２０３に出力する。
【０１２９】
例えば、ＴＳ有効化判定部２００ｂは、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１である場合、シーケンス単位で変換スキップが有効化されていると判定する。ＴＳ有効化判定部２００ｂは、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝０である場合、シーケンス単位で変換スキップが有効化されていないと判定する。ＴＳ有効化判定部２００ｂは、シーケンス単位で変換スキップが有効化されていると判定した場合、平坦な量子化行列を用いることを示す制御信号を符号化データ復号部２０３に出力してもよい。
【０１３０】
第２実施形態において、逆量子化部２０４は、フレーム単位又はシーケンス単位で変換スキップが有効化されていることを示す制御信号（又は平坦な量子化行列を用いることを示す制御信号）に基づいて、変換スキップが有効化されたシーケンスのフレームに対応する変換ブロックに対して、異なる値の要素からなる第１量子化行列（平坦でない量子化行列）を用いることなく、等しい値の要素からなる第２量子化行列（平坦な量子化行列）を用いて逆量子化を行う。換言すると、逆量子化部２０４は、ＴＳ有効化判定部２００ｂによって変換スキップが有効化されていると判定されたシーケンスのフレームについては、４×４変換ブロックに対する逆量子化を行う際に、必ず第２量子化行列を用いる。これにより、直交変換がスキップされた４×４変換ブロックに第１量子化行列が適用されないようにできる。
【０１３１】
第２実施形態において、量子化行列判定部２００ｄは、変換スキップが有効化されたシーケンスのフレームに対応する各４×４変換ブロックについて、第１量子化行列及び第２量子化行列のいずれを逆量子化に用いるかの判定を省略する。これにより、復号処理の処理量を削減するとともに復号処理を高速化できる。
【０１３２】
なお、量子化行列判定部２００ｄ（及び量子化行列設定部２０６）は、変換スキップが有効化されたシーケンスのフレームについては、可逆符号復号部２０２が復号した符号化データに含まれる量子化行列に関する符号化信号（候補行列データ等）を無視してもよい。
【０１３３】
（２．２．２）復号処理の動作
次に、第２実施形態に係る復号処理の例について説明する。図８は、第２実施形態に係る復号処理の一例を示すフローチャートである。図８に示すフローは、変換ブロックごとに復号処理を実行する。また、図８に示すフローは、ブロックサイズ判定部２００ａによって４×４変換ブロックであると判定された変換ブロックに対して適用される。なお、上述した第１実施形態に係る復号処理（図６参照）と同一の処理については、同一の符号を付して説明を適宜援用する。
【０１３４】
図８に示すように、ステップＳ２０１において、符号化データ復号部２０３は、可逆符号復号部２０２から符号化データの一部として制御信号、量子化変換係数データを入力し、ステップＳ４０１に進む。
【０１３５】
ステップＳ４０１において、ＴＳ有効化判定部２００ｂは、シーケンス単位で変換スキップを有効化するか否かを示す制御信号（例えば、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）に基づいて、シーケンス単位で変換スキップが有効化されているか否かを判定する。シーケンス単位で変換スキップが有効化されていないと判定した場合（ステップＳ４０１：ＮＯ）、ステップＳ４０２において、変換スキップ（ＴＳモード）を使用しない従来の復号処理と同様の処理を行う。
【０１３６】
一方で、シーケンス単位で変換スキップが有効化されていると判定した場合（ステップＳ４０１：ＹＥＳ）、ＴＳ有効化判定部２００ｂは、４ｘ４ブロックにおいて平坦な量子化行列を用いることを示す制御信号を符号化データ復号部２０３に出力する。そして、ステップＳ２０３において、量子化行列設定部２０６は、平坦な量子化行列を用いることを示す制御信号に基づいて、予め定めた平坦な量子化行列を示す候補行列データを逆量子化部２０４に設定する。候補行列データが示す量子化値は、例えば、式（１）で示されるｍ［ｘ］［ｙ］としてもよい。その後の動作については、第１実施形態に係る復号処理（図６参照）と同様である。
【０１３７】
このように、符号化シーケンスについて直交変換をスキップした符号化が行われていた場合は、４×４変換ブロックにおいて平坦な量子化行列が使われることが暗黙的に決定する。これにより、量子化行列の設定に関する処理が不要となり、処理を低減できる。また、暗黙的に設定されることから、量子化行列に関する符号化信号にエラーが重畳しても正常な復号処理を行うことが可能であると同時に、符号化情報として代替する符号量の少ない仮想データに置き換えることによって符号量の削減できる。
【０１３８】
（２．３）第２実施形態のまとめ
第２実施形態に係る画像符号化装置１において、量子化部１０５は、ＴＳ有効化判定部１０９ｂによって変換スキップが有効化されたシーケンスにおける４×４変換ブロックに対して、異なる値の要素からなる第１量子化行列（平坦でない量子化行列）を用いることなく、等しい値の要素からなる第２量子化行列（平坦な量子化行列）を用いて量子化を行う。また、第２実施形態に係る画像復号装置２において、逆量子化部２０４は変換スキップが有効化されたシーケンスに対応する４×４変換ブロックに対して、異なる値の要素からなる第１量子化行列（平坦でない量子化行列）を用いることなく、等しい値の要素からなる第２量子化行列（平坦な量子化行列）を用いて逆量子化を行う。これにより、直交変換がスキップされた４×４変換ブロックに第１量子化行列が適用されないようにすることができるため、ＨＥＶＣ方式において４×４変換ブロックの量子化ひずみに起因する画質の劣化を抑制することができる。特に、ＣＧ画像又は自然画像とＣＧ画像等の人工画像が混在する画像の画質を向上させることができる。
【０１３９】
さらに、第２実施形態に係る画像符号化装置１において、量子化行列判定部１０９ｄは、変換スキップが有効化されたシーケンスに対応する各４×４変換ブロックについて、第１量子化行列及び第２量子化行列のいずれを量子化に用いるかの判定を省略する。また、第２実施形態に係る画像復号装置２において、量子化行列判定部２００ｄは、変換スキップが有効化されたシーケンスに対応する各４×４変換ブロックについて、第１量子化行列及び第２量子化行列のいずれを逆量子化に用いるかの判定を省略する。かかる判定を省略することによって、符号化処理及び復号処理の処理量を削減するとともに、符号化処理及び復号処理を高速化することができる。
【０１４０】
（３）その他の実施形態
上述した第１及び第２実施形態は、画像符号化装置１と画像復号装置２を備えた画像処理システムとして実施してもよい。当該画像処理システムは、画像符号化装置１が出力した符号化データを記憶する記憶媒体を備え、画像復号装置２には当該記憶媒体から読み出された符号化データが入力されてもよい。また、当該画像処理システムは、画像符号化装置１が出力した符号化データを伝送するネットワークを備え、画像復号装置２には当該ネットワークが伝送した符号化データが入力されるようにしてもよい。当該ネットワークは、有線でも無線であってもよいし、複数の送信先に一斉にデータを送信する放送伝送路の一部又は全部であってもよい。
【０１４１】
変換ブロックは、上述のように水平方向の要素数と垂直方向の要素数が等しい正方形のブロックに限られない。変換ブロックは、水平方向の要素数と垂直方向の要素数が異なる矩形のブロックであってもよく、水平方向の要素数と垂直方向の要素数のいずれかが１である線形のブロックであってもよい。
【０１４２】
なお、上述した第１及び第２実施形態における画像符号化装置１又は画像復号装置２の一部、例えば、減算部１０２、変換部１０４、量子化部１０５、逆量子化部１０６、逆変換部１０７、量子化行列設定部１０８、制御部１０９、加算部１１０、デブロッキングフィルタ１１１、予測部１１３、可逆符号化部１１４、制御部２００、可逆符号復号部２０２、逆量子化部２０４、逆変換部２０５、量子化行列設定部２０６、加算部２０７、デブロッキングフィルタ２０８、及び予測部２１０の各機能をコンピュータで実現するようにしてもよい。その場合、これらの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、当該プログラムを実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、画像符号化装置１又は画像復号装置２に内蔵されたコンピュータシステムであって、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【０１４３】
また、上述した第１及び第２実施形態における画像符号化装置１及び画像復号装置２の一部、又は全部をＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の半導体集積回路として実現してもよい。画像符号化装置１及び画像復号装置２の各機能ブロックは個別にプロセッサ化してもよいし、一部又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、又は汎用プロセッサで実現してもよい。
【０１４４】
以上、図面を参照して第１及び第２実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【０１４５】
１：画像符号化装置、１０１：フレームバッファ、１０２：減算部、１０３：符号化データ生成部、１０９：制御部、１１０：加算部、１１１：デブロッキングフィルタ、１１２：参照メモリ、１１３：予測部、１１４：可逆符号化部、１１５：蓄積バッファ、１１６：動きベクトル算出部、２：画像復号装置、２００：制御部、２０１：蓄積バッファ、２０２：可逆符号復号部、２０３：符号化データ復号部、２０７：加算部、２０８：デブロッキングフィルタ、２０９：参照メモリ、２１０：予測部、２１１：フレームバッファ、２１２：動きベクトル算出部
【図１】
2019075678.tif 000003
【図２】
2019075678.tif 000004
【図３】
2019075678.tif 000005
【図４】
2019075678.tif 000006
【図５】
2019075678.tif 000007
【図６】
2019075678.tif 000008
【図７】
2019075678.tif 000009
【図８】
2019075678.tif 000010