(57)【要約】      （修正有）【課題】変換符号化で用いるブロックサイズを決定するための演算負荷を低減することができる動画像符号化装置を提供する。【解決手段】動画像符号化装置４０は、設定部４０１と、決定部４０２と、変換符号化部４０３とを含む。設定部４０１は、動画像内の変換符号化の対象ブロックに適用可能な複数のブロックサイズのうちで、第１のブロックサイズを適用して得られる第１のブロックのエッジ強度が所定の閾値よりも大きく、第１のブロックを分割して得られた第２のブロックサイズの複数の第２のブロックのエッジ方向の向きが所定の範囲内で類似している場合、第１のブロックサイズを対象ブロックに対して適用する候補に設定する。決定部４０２は、候補に設定されているブロックサイズのうちから対象ブロックに適用するブロックサイズを決定する。変換符号化部４０３は、決定部により決定されたブロックサイズを用いて対象ブロックを変換符号化する。【選択図】図４
2016208094.tif 000002
【特許請求の範囲】
【請求項１】
動画像内の変換符号化の対象ブロックに適用可能な複数のブロックサイズのうちで、第１のブロックサイズを前記対象ブロックに適用して得られる前記第１のブロックサイズの第１のブロックのエッジ強度が所定の閾値よりも大きく、前記第１のブロックを分割して得られた第２のブロックサイズの複数の第２のブロックのエッジ方向の向きが所定の範囲内で類似している場合、前記第１のブロックサイズを前記対象ブロックに対して適用する候補に設定し、前記第２のブロックサイズを前記対象ブロックに対して適用する前記候補に設定しない設定部と、
前記候補に設定されているブロックサイズのうちから前記対象ブロックに適用するブロックサイズを決定する決定部と、
前記決定部により決定されたブロックサイズを用いて前記対象ブロックを変換符号化する変換符号化部と、
を含む、動画像符号化装置。
【請求項２】
前記設定部は、更に、前記第１のブロックの前記エッジ強度が前記所定の閾値よりも小さい場合、前記第１のブロックサイズを前記対象ブロックに対して適用する前記候補に設定し、前記第２のブロックサイズを前記対象ブロックに対して適用する前記候補に設定しない、ことを特徴とする請求項１に記載の動画像符号化装置。
【請求項３】
前記設定部は、更に、前記第１のブロックの前記エッジ強度が前記所定の閾値よりも大きく、前記複数の第２のブロックのエッジ方向に、互いの向きが所定の値以上離れているエッジ方向が含まれている場合、前記第２のブロックサイズを前記対象ブロックに対して適用する前記候補に設定し、前記第１のブロックサイズを前記対象ブロックに対して適用する前記候補に設定しない、ことを特徴とする請求項１又は２に記載の動画像符号化装置。
【請求項４】
前記所定の閾値、前記所定の範囲、及び前記所定の値は、前記変換符号化部が前記対象ブロックを変換符号化して得られた周波数信号に対して実行される量子化を制御する量子化パラメータの値に応じて設定される、ことを特徴とする請求項１から３のいずれか１項に記載の動画像符号化装置。
【請求項５】
動画像内の変換符号化の対象ブロックに適用可能な複数のブロックサイズのうちで、第１のブロックサイズを前記対象ブロックに適用して得られる前記第１のブロックサイズの第１のブロックのエッジ強度が所定の閾値よりも大きく、前記第１のブロックを分割して得られた第２のブロックサイズの複数の第２のブロックのエッジ方向の向きが所定の範囲内で類似している場合、前記第２のブロックサイズを前記対象ブロックに対して適用する候補に設定せずに、前記第１のブロックサイズを前記対象ブロックに対して適用する前記候補に設定する工程と、
前記候補に設定されているブロックサイズのうちから前記対象ブロックに適用するブロックサイズを決定する工程と、
決定されたブロックサイズを用いて前記対象ブロックを変換符号化する工程と、
を含む、コンピュータが実行する動画像符号化方法。
【請求項６】
動画像内の変換符号化の対象ブロックに適用可能な複数のブロックサイズのうちで、第１のブロックサイズを前記対象ブロックに適用して得られる前記第１のブロックサイズの第１のブロックのエッジ強度が所定の閾値よりも大きく、前記第１のブロックを分割して得られた第２のブロックサイズの複数の第２のブロックのエッジ方向の向きが所定の範囲内で類似している場合、前記第２のブロックサイズを前記対象ブロックに対して適用する候補に設定せずに、前記第１のブロックサイズを前記対象ブロックに対して適用する前記候補に設定し、
前記候補に設定されているブロックサイズのうちから前記対象ブロックに適用するブロックサイズを決定し、
決定されたブロックサイズを用いて前記対象ブロックを変換符号化する、
処理をコンピュータに実行させる動画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化装置、動画像符号化方法、及び動画像符号化プログラムに関する。
【背景技術】
【０００２】
画像データ、特に動画像データは、データ量が大きいことが多いため、例えば、データを動画像符号化装置から動画像復号装置へと伝送する際、又は記憶装置に格納する際などに、データ列を符号化して別のデータ列に変換することが行われている。それにより、例えば、データ量が圧縮されるため、受信側の動画像復号装置での動画像データのスムーズな閲覧などが可能である。
【０００３】
動画像を符号化する技術として、例えば、Ｈ．２６４、及びHigh Efficiency Video Coding（ＨＥＶＣ，Ｈ．２６５）等の技術が知られている。なお、符号化の対象画像は、以下の説明では、フレーム又はピクチャと呼ばれることがある。
【０００４】
動画像を符号化する場合に、画像を複数のブロックに分割し、ブロック単位で符号化が実行されることがある。例えば、ＨＥＶＣでは、各ピクチャの符号化処理を、Coding Tree Unit（ＣＴＵ：符号化ツリーユニット)と呼ばれる正方画素ブロックの単位で行う。ＣＴＵはMoving Picture Experts Group（ＭＰＥＧ）-2やＨ．２６４におけるマクロブロックに対応する処理単位であり、輝度信号ブロックと対応する色差信号ブロックとを含む。ＣＴＵのサイズはマクロブロックのように固定ではなく、シーケンスごとにエンコーダが選択・シグナリングする(最大６４×６４画素ブロック)。
【０００５】
動画像データの符号化において実行されるイントラ予測、インター予測、変換符号化、量子化、エントロピー符号化などの一連の符号化処理は、ＣＴＵを再帰的に４分木分割することによって得られるCoding Unit（ＣＵ)の単位で行われる。なお、変換符号化は、例えば、動画像データを、空間周波数領域のデータなどの他の座標軸に変換して符号化を実行することであってよい。また、ＣＵは、Prediction Unit（ＰＵ、予測ユニット）とTransform Unit（ＴＵ、変換ユニット）にさらに分割できる。ＣＵの符号化処理に際して、イントラ予測、及びインター予測については、ＣＵ内をＰＵに分割して行われる。予測差分信号に対する直交変換などの変換符号化と量子化とは、ＴＵ単位で行われる。ＴＵもＣＴＵ内のＣＵ分割と同様、ＣＵ内部で再帰的に４分木分割を行うことが可能である。
【０００６】
この様に、ＨＥＶＣでは、ＣＴＵ内を可変サイズのＣＵ、ＰＵ、ＴＵに分割して符号化を行うことで、入力画像の局所的な特性に対して符号化処理を適応化することができる。例えば、複雑な動きや絵柄が存在する領域ではブロックのサイズを小さくして動きベクトルやイントラ予測モードなどの予測パラメータに符号量を多く配分することで予測性能を高めることができる。また、平坦な絵柄や一様な動きの領域についてはブロックのサイズを大きくすることで予測パラメータの符号量を抑制することができる。例えば、この様にブロックサイズを選択することで、符号量を抑えつつ高画質化を図ることができる。
【０００７】
これに関し、計算量を削減しつつ、入力画像情報をより忠実に再現しつつ、モスキートノイズなどの量子化劣化を最小限にするための技術が知られている。（例えば、特許文献１）また、特許文献２、及び非特許文献１〜３にも関連する技術が記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−２１９２０５号公報
【特許文献２】特開２００７−１１０５６８号公報
【非特許文献】
【０００９】
【非特許文献１】High Efficiency Video Coding (HEVC) Range Extensions text specification: Draft 7、JCTVC-Q1005_v4, ２０１４年４月１０日、[online]、[平成２６年８月２２日検索]、＜URL:http://phenix.it-sudparis.eu/jct/index.php＞
【非特許文献２】Ｈ．２６５／ＨＥＶＣ教科書、第５章、第８章、インプレスジャパン、２０１３年１０月２１日発行
【非特許文献３】HM、[online]、[平成２６年８月２２日検索]、＜URL:https://HEVC.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tags/＞
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述のＨＥＶＣのように、複数のブロックサイズの中から選択して符号化を行う場合、符号化に適したブロックサイズを選択するための処理が行われる。ブロックサイズの選択は、例えば、符号化コストの比較によって実行することが可能であり、ブロックサイズ（ＣＵ，ＴＵ，ＰＵ）のバリエーション毎に、符号化コストを算出することで、ピクチャの符号化に適したブロックサイズを選択することができる。しかしながら、この場合、ブロックサイズのバリエーション毎に符号化コストを演算しているため、処理負荷が大きく、リアルタイム処理が困難になる恐れがある。また、例えば、Ｈ．２６４において原画のエッジの強度に基づいて直交変換などの変換符号化に用いるブロックサイズを選択することで、ブロックサイズの決定にかかる演算量を削減する技術が知られている。例えば、原画のエッジ強度が小さい場合、原画が平坦であることが推定できるため、大きい直交変換サイズ（例えば、８×８画素）を選択することができる。しかしながら、原画のエッジの強度が小さくない場合に小さい直交変換サイズがよいのか否かについては分からない。この場合に、安易に判定処理を省略すると、最適な直交変換サイズが選択されなくなる恐れがある。本発明の１つの側面に係る目的は、変換符号化で用いるブロックサイズを決定するための演算負荷を低減する技術を提供することである。
【課題を解決するための手段】
【００１１】
本発明の一つの態様の動画像符号化装置は、設定部と、決定部と、変換符号化部とを含む。設定部は、動画像内の変換符号化の対象ブロックに適用可能な複数のブロックサイズのうちで、第１のブロックサイズを対象ブロックに適用して得られる第１のブロックサイズの第１のブロックのエッジ強度が所定の閾値よりも大きく、第１のブロックを分割して得られた第２のブロックサイズの複数の第２のブロックのエッジ方向の向きが所定の範囲内で類似している場合、第１のブロックサイズを対象ブロックに対して適用する候補に設定し、第２のブロックサイズを対象ブロックに対して適用する候補に設定しない。決定部は、候補に設定されているブロックサイズのうちから対象ブロックに適用するブロックサイズを決定する。変換符号化部は、決定部により決定されたブロックサイズを用いて対象ブロックを変換符号化する。
【発明の効果】
【００１２】
１つの側面によれば、変換符号化で用いるブロックサイズを決定するための演算負荷を低減することができる。
【図面の簡単な説明】
【００１３】
【図１】ＨＥＶＣのブロック構造とブロックサイズの選択の一例を説明する図である。
【図２】ＴＵのサイズの一例を示す図である。
【図３】イントラ予測における符号化モード判定処理の一例を示すフローチャートである。
【図４】第１の実施形態に係る動画像符号化装置の機能ブロック構成を例示する図である。
【図５】第１の実施形態に係る動画像符号化装置の機能ブロック構成の別な例を示す図である。
【図６】イントラＴＵモード判定部の機能ブロック構成を例示する図である。
【図７】第１の実施形態に係る符号化処理の動作フローを例示する図である。
【図８】第１の実施形態に係るイントラＴＵモードの判定処理の動作フローを例示する図である。
【図９】エッジの検出対象の画素と、その周辺の入力画素を例示する図である。
【図１０】ＨＥＶＣで規定されているイントラ予測方向を例示する図である。
【図１１】エッジの方向と、対応するエッジの角度の範囲とを例示する図である。
【図１２】処理対象のＴＵと、対応するエッジ方向とを例示する図である。
【図１３】ＴＵ内の画像の絵柄が平坦である場合の差分画像を例示する図である。
【図１４】処理対象のＴＵの１つ下の階層のＴＵのエッジ方向の差が大きい場合と、小さい場合とを例示する図である。
【図１５】第１の実施形態に係る候補ＴＵサイズを設定する処理の動作フローを例示する図である。
【図１６】第１の実施形態に係るＴＵサイズの決定処理の動作フローを例示する図である。
【図１７】第２の実施形態に係るイントラ予測方向判定部及びイントラＴＵモード判定部の機能ブロック構成を例示する図である。
【図１８】第２の実施形態に係るイントラ予測方向の決定処理を例示する図である。
【図１９】一実施形態に係る動画像符号化装置のハードウェア構成を例示する図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、複数の図面において対応する要素には同一の符号を付す。
【００１５】
図１は、ＨＥＶＣのブロック構造とブロックサイズの選択の一例を説明する図である。ＨＥＶＣでは、各ピクチャの符号化処理は、ＣＴＵと呼ばれる画素ブロックの単位で行われる。ＣＴＵは、ＭＰＥＧ-２やＨ.２６４におけるマクロブロックと対応する処理単位である。ＣＴＵは、輝度信号ブロックと対応する色差信号ブロックとを含む。ＣＴＵのサイズは、マクロブロックのように固定ではなく、シーケンス毎に動画像符号化装置が選択・シグナリングする。また、ＣＴＵサイズは、シーケンス単位では一定であり、例えば、１６×１６画素、３２×３２画素、又は６４×６４画素のいずれかのサイズに設定されてよい。
【００１６】
イントラ予測、インター予測、変換符号化、量子化、エントロピー符号化などの一連の符号化処理は、ＣＴＵを再帰的に四分木分割することによって得られるＣＵの単位で行われる。符号化単位となるＣＵのサイズは可変であり、例えば、８×８画素、１６×１６画素、３２×３２画素、６４×６４画素の４種類のサイズから選択することができる。１個のＣＴＵが再帰的な４分木分割に基づいて可変サイズのＣＵに分割された後、各ＣＵは、ＰＵと、ＴＵ単位に個別に処理される。例えば、ＣＵの符号化処理において、イントラ・インター予測についてはＰＵと呼ばれるブロック単位で行われる。ＣＵは、複数のＰＵに分割することが可能であり、その分割形状は、例えば、図１に示すＰＵ分割パターンから選択することができる。
【００１７】
また、予測差分信号の変換符号化・量子化処理は、ＴＵと呼ばれるブロック単位で行われる。ＣＵは、複数のＴＵに分割することが可能であり、ＴＵもＣＴＵ内のＣＵ分割と同様、ＴＵ内部で再帰的に４分木分割を行うことが可能である。ＴＵのサイズは、例えば、４×４画素、８×８画素、１６×１６画素、３２×３２画素の４種類である。図１には、ＣＴＵ、ＣＵ、ＰＵ、ＴＵの関係が例示されている。
【００１８】
ＨＥＶＣでは、この様に、ＣＴＵ内を可変サイズのＣＵ、ＰＵ、ＴＵに分割して符号化を行うことができるため、入力画像の局所的な特性に対して符号化処理を適応化することが可能となる。例えば、複雑な動きや絵柄が存在する領域ではブロックのサイズを小さくして動きベクトルやイントラ予測モードなどの予測パラメータに符号量を多く配分することで予測性能を高める。また、例えば、平坦な絵柄や一様な動きの領域についてはブロックのサイズを大きくして予測パラメータの符号量を抑制する。例えば、この様な制御を行うことで、符号量を抑えつつ高画質化を図ることができる。
【００１９】
一方で、ブロックサイズのバリエーションが増加したことに伴い、符号化処理に適したブロックサイズを選択するために演算が行われる。例えば、ＨＥＶＣの参照ソフト：HEVC Test Model（ＨＭ）では、以下のように、複数のブロックサイズの中から符号化処理に適したブロックサイズが選択されている。なお、ブロックサイズの選択は、ＣＴＵ単位で行われる。
【００２０】
ブロックサイズの選択では、まず、符号化対象のＣＵに対して、ＰＵモードが決定される。なお、ＰＵモードの決定は、例えば、図１のＰＵの分割パターンの中から、適したＰＵ形状を選択することであってよい。次に、符号化対象のＣＵにおけるＴＵのサイズが決定される。
【００２１】
図２は、ＴＵのサイズの一例を示す図である。図２に示すように、ＴＵは、階層：０から、指定されているＴＵの最大の階層である最大ＴＵ階層：MaxTUDepthまでに分割できる。例えば、図１の例では、ＴＵの最大ＴＵ階層：MaxTUDepthは“２”である。なお、以下の説明では、ブロックのサイズが小さくなるほど、大きな数字がＴＵの階層に設定される場合を例示する。従って、例えば、階層：０は、符号化処理において選択可能なＴＵの最大サイズであってよく、また、最大ＴＵ階層：MaxTUDepthの階層は選択可能なＴＵの最小サイズであってよい。
【００２２】
ＨＭでは、ＴＵのサイズ：TUSizeの決定において、まず、階層：０から最大ＴＵ階層までのそれぞれの階層でのＴＵの符号化コスト：TUCostが算出される。次に、最大ＴＵ階層から階層：０までのＴＵの符号化コスト：TUCostを比較して、適したＴＵのサイズ：TUSizeが選択される。なお、以下では、ＴＵのサイズ：TUSizeを決定することを、ＴＵモードを決定するということがある。ＴＵモードの決定では、例えば、最小の符号化コスト：TUCostを有する階層のＴＵのサイズが、ＴＵのサイズ：TUSizeとして決定されてよい。
【００２３】
ＰＵモードとＴＵモードとが決定された後、決定されたＰＵモードとＴＵモードとを用いて、符号化対象のＣＵの符号化コスト：CUCostが算出される。ＣＵの符号化コスト：CUCostは、図１に示す例では、ＣＵの階層：０からＣＵの最大階層：３までの各階層のＣＵの符号化コスト：CUCostが算出されてよい。次に、ＣＵの最大階層：３から階層：０までの符号化コスト：CUCostを比較して、ＣＵのサイズが決定されてよい。
【００２４】
なお、以上で述べたＴＵの符号化コスト、及びＣＵの符号化コストなどの算出は、例えば、予測誤差（例えば、原画素と予測画素との差分絶対値和：ＳＡＤ）に基づいて行われてよい。符号化コストは、例えば、以下の式１により算出されてよい。
【００２５】
符号化コスト＝ＳＡＤ＋λ×Ｂｉｔｓ  ・・・式１
ＳＡＤ：原画素と予測画素との差分絶対値和
Ｂｉｔｓ：発生する情報量
λ：ラグランジュ定数
【００２６】
なお、予測誤差は、ＳＡＤに限定されるものではなく、例えば、差分画素をアダマール変換した後の絶対値和（ＳＡＴＤ）などが用いられてもよい。例えば、ＴＵモードの決定では、周波数領域の特性を考慮して符号化コストを算出するために、ＳＡＴＤを用いて以下の式２により符号化コストが計算されてよい。
【００２７】
符号化コスト＝ＳＡＴＤ＋λ×Ｂｉｔｓ  ・・・式２
ＳＡＴＤ：差分画像をアダマール変換した後の係数の絶対値和
【００２８】
なお、式１及び式２において、λはラグランジュ乗数、Ｂｉｔｓは例えばＣＵサイズ、ＴＵサイズなどの情報を符号化する際に発生する情報量である。
【００２９】
続いて、図３を参照して、ＨＥＶＣのイントラ予測における符号化モードの判定処理について説明する。なお、符号化モードは、例えば、ＣＵサイズ、ＴＵサイズ、ＰＵの分割形状とイントラ予測方向などの情報を含んでいてよい。図３は、イントラ予測における符号化モード判定処理の一例を示すフローチャートである。動画像符号化装置は、例えば、入力画像をＣＴＵ単位に分割した後、それぞれのＣＴＵに対して図３の符号化モードの判定処理を行ってよい。
【００３０】
Ｓ３０１からＳ３０８までの処理は、選択可能なＣＵサイズのそれぞれに対して実行される繰り返し処理である。Ｓ３０２において動画像符号化装置は、処理対象のＣＵサイズのＣＵに対して、ＰＵモードを決定する。なお、ＰＵモードの決定では、例えば、ＰＵの分割形状と、イントラ予測で用いるイントラ予測方向とが決定されてよい。また、イントラ予測方向としては、例えば、ＨＥＶＣでは、３５個の予測方向が規定されており、動画像符号化装置は、３５個の予測方向のうちから最適な予測方向を決定してよい。ここで、最適な予測方向は、例えば、ＣＵに対するイントラ予測において符号化コストが最小となる予測方向であってよい。なお、例えば、処理対象のブロックなどの現在の処理の対象を参照する場合に、以下では、“現”という表現を用いることがあり、例えば、処理対象のＣＵを現ＣＵ、処理対象のＴＵを現ＴＵと呼ぶことがある。
【００３１】
続く、Ｓ３０３からＳ３０５までの処理は、選択可能なＴＵサイズのそれぞれに対して実行される繰り返し処理である。例えば、動画像符号化装置は、図２を参照して述べた、ＴＵの階層：０から最大ＴＵ階層：MaxTUDepthまでの各ＴＵの階層毎に、Ｓ３０３からＳ３０５の処理を繰り返してよい。Ｓ３０４において動画像符号化装置は、決定されたイントラ予測方向を用いて処理対象のＴＵの符号化コストを算出する。従って、Ｓ３０３からＳ３０５の繰り返し処理において動画像符号化装置は、階層：０から指定された最大ＴＵ階層：MaxTUDepthまでのＴＵの階層毎に、決定されたイントラ予測方向とＰＵモードに従って処理対象の階層の各ＴＵの予測画像を生成する。そして、動画像符号化装置は、生成した予測画像と入力画像とを用いて、符号化コストを算出する。それにより、動画像符号化装置は、すべてのＴＵサイズにおける符号化コストを算出する。
【００３２】
続いて、Ｓ３０６において動画像符号化装置は、ＴＵモードを決定する。ＴＵモードの決定では、動画像符号化装置は、算出されたすべてのＴＵサイズにおける符号化コストを比較し、符号化コストが最も小さいＴＵサイズを、ＴＵサイズとして決定する。なお、予測画像の生成は、例えば、非特許文献１〜３等に記載の方法を用いることができる。また、Ｓ３０７において動画像符号化装置は、得られたＴＵに対する符号化コストに基づいて、処理対象のＣＵサイズにおけるＣＵの符号化コストを算出する。従って、Ｓ３０１からＳ３０８までの繰り返し処理において、動画像符号化装置は、各ＣＵサイズにおけるＣＵの符号化コストを算出する。
【００３３】
Ｓ３０９において動画像符号化装置は、ＣＵモードを決定する。例えば、動画像符号化装置は、得られた各階層のＣＵの符号化コストを基に、最小の符号化コストとなるＣＵサイズを決定し、本動作フローは終了する。なお、動画像符号化装置は、以上の動作フローで決定されたイントラ予測方向、ＰＵ分割形状、ＴＵサイズ、及びＣＵサイズを用いて、符号化対象ＣＴＵを符号化する処理を行ってよい。
【００３４】
以上で例示したように、ＨＭではブロックサイズ(例えば、ＣＵ，ＴＵ，ＰＵ)のバリエーション毎に符号化コストを算出し、符号化コストの比較により符号化処理に用いるブロックサイズなどが決定される。そのため、最適なブロックサイズを高い精度で決定することができるが、一方で、この手法では、ブロックサイズを決定するための処理の負荷が大きく、リアルタイム処理が困難になる。
【００３５】
ブロックサイズを決定するための計算量を削減するための手法として、例えば、Ｈ．２６４において、ブロック内の画像のエッジの情報を用いて、直交変換サイズを選択する技術がある。なお、エッジとは、例えば、線画や均等色領域の境界であってよい。一例として、原画のエッジの強度が所定の閾値より小さい場合、その画像に大きな（８×８）直交変換サイズを選択し、また、それ以外の場合には小さな（４×４）の直交変換サイズを選択する。例えば、この様に直交変換サイズが選択される場合、８×８，４×４の両方の直交変換サイズについて符号化コストを算出しなくても、直交変換サイズを選択することができる。そのため、直交変換サイズの決定にかかる演算量が削減できる。
【００３６】
ここで、例えば、原画のエッジの強度が小さい場合、画像の絵柄が平坦であることが推測されるため、大きい直交変換サイズがよいことが推定される。そのため、原画のエッジの強度が小さい場合、大きな直交変換サイズを選択してよい。しかしながら、エッジ強度が大きい場合に小さい直交変換サイズが良いのか否かについては分からない。この場合に、安易に判定処理を省略すると、最適な直交変換サイズが選択されなくなる。また、ＨＥＶＣは、Ｈ．２６４と比較して、１６×１６，３２×３２などの４×４よりも大きい変換符号化で適用可能なブロックサイズが増えている。そして、ブロックが大きくなると、絵柄が複雑になり、エッジの強度が閾値よりも大きいケースが多くなるため、さらに符号化効率が悪くなる。なお、例えば、Ｈ．２６４における直交変換サイズは、ＨＥＶＣにおけるＴＵサイズと対応している。
【００３７】
そこで、第１の実施形態では動画像符号化装置は、イントラ予測における変換符号化で用いるブロックサイズを、各ブロックサイズにおけるブロックのエッジ情報を用いて決定することで、符号化コストの算出を省略し、演算負荷を低減する。以下、第１の実施形態を説明する。
【００３８】
＜第１の実施形態＞
図４は、第１の実施形態に係る動画像符号化装置４０の機能ブロック構成を例示する図である。動画像符号化装置４０は、例えば、制御部４００及び記憶部４１０を含んでいる。制御部４００は、例えば、設定部４０１、決定部４０２、及び変換符号化部４０３を含んでいてよい。また、制御部４００は、例えば、図５を参照して後述するイントラ予測方向判定部５０１、イントラＴＵモード判定部５０２、ＣＵモード判定部５０３、イントラ予測画像生成部５０４、差分画像生成部５０５を含んでいてよい。また、制御部４００は、後述する直交変換・量子化部５０６、エントロピー符号化部５０７、逆直交変換・逆量子化部５０８、及び復号画像生成部５０９などを含んでいてよい。制御部４００は、例えば、図６を参照して後述するエッジ情報抽出部６０１、エッジ方向決定部６０２、候補ＴＵサイズ決定部６０３、ＴＵサイズ判定部６０４を含んでいてよい。制御部４００は、例えば、図１７を参照して後述するエッジ情報抽出部１７０１、候補イントラ予測方向決定部１７０２、イントラ予測方向決定部１７０３を含んでいてよい。動画像符号化装置４０の制御部４００は、一実施形態においては、例えば、記憶部４１０を利用して動画像符号化プログラムを読み出して実行することで、これらの機能部として動作してよい。また、図４に示す設定部４０１、決定部４０２、及び変換符号化部４０３は、例えば、図５、図６、図１７に示す機能ブロックの一部と対応していてよい。動画像符号化装置４０の記憶部４１０は、例えば、動画像符号化プログラム及び動画像データなどの情報を記憶していてよい。記憶部４１０は、例えば、後述する復号画像記憶部５１０として機能してよい。制御部４００に含まれる各機能部の詳細については後述する。
【００３９】
図５は、第１の実施形態に係る動画像符号化装置４０の機能ブロック構成の別な例を示す図である。図５に示すように、動画像符号化装置４０は、イントラ予測方向判定部５０１、イントラＴＵモード判定部５０２、ＣＵモード判定部５０３、イントラ予測画像生成部５０４を含んでいる。また、動画像符号化装置４０は、差分画像生成部５０５、直交変換・量子化部５０６、エントロピー符号化部５０７、逆直交変換・逆量子化部５０８、復号画像生成部５０９、及び復号画像記憶部５１０を含んでいる。
【００４０】
イントラ予測方向判定部５０１は、入力画像を用いて、符号化を行う対象のブロックに対して、複数のイントラ予測方向の中から最適な予測方向を選択し、イントラＴＵモード判定部５０２及びイントラ予測画像生成部５０４に出力する。イントラＴＵモード判定部５０２は、入力画像の輝度値データに基づいて、階層：０から指定された最大ＴＵ階層までの各ＴＵサイズのＴＵのエッジの情報を抽出する。そして、イントラＴＵモード判定部５０２は、抽出されたエッジの情報に基づいて変換符号化に用いるＴＵサイズの候補となる候補ＴＵサイズを決定する。イントラＴＵモード判定部５０２は、イントラ予測方向判定部５０１から入力されたイントラ予測方向を用いて、決定された候補ＴＵサイズのＴＵの符号化コストを算出する。イントラＴＵモード判定部５０２は、算出された符号化コストのうちで最小の符号化コストを有するＴＵサイズを最適なＴＵサイズとして決定し、ＣＵモード判定部５０３とイントラ予測画像生成部５０４とに出力する。ＣＵモード判定部５０３は、イントラＴＵモード判定部５０２で算出したＴＵの符号化コストに基づいて得られた各ＣＵサイズの符号化コストを比較する。そして、ＣＵモード判定部５０３は、複数のＣＵサイズの中から最小の符号化コストを有する最適なＣＵサイズを選択して、イントラ予測画像生成部５０４に出力する。
【００４１】
イントラ予測画像生成部５０４には、イントラ予測方向判定部５０１からイントラ予測方向が入力される。また、イントラ予測画像生成部５０４には、イントラＴＵモード判定部５０２から決定されたＴＵサイズが入力される。イントラ予測画像生成部５０４には、ＣＵモード判定部５０３から決定されたＣＵサイズが入力される。イントラ予測画像生成部５０４は、復号画像記憶部５１０に記憶された符号化対象のブロックの周辺の復号画素を参照し、入力されたイントラ予測方向、ＴＵサイズ、及びＣＵサイズを用いて、符号化対象のブロックの予測画像を生成する。そして、イントラ予測画像生成部５０４は、生成した予測画像を差分画像生成部５０５及び復号画像生成部５０９に出力する。
【００４２】
差分画像生成部５０５は、イントラ予測画像生成部５０４から入力された符号化対象のブロックの予測画像と入力原画像との差分を求めて差分画像を生成し、直交変換・量子化部５０６へ出力する。直交変換・量子化部５０６は、差分画像生成部５０５から入力された差分画像を直交変換して得られた周波数信号を量子化し、得られた量子化信号を、エントロピー符号化部５０７及び逆直交変換・逆量子化部５０８に出力する。
【００４３】
エントロピー符号化部５０７は、入力された量子化信号をエントロピー符号化（可変長符号化）してストリームを出力する。エントロピー符号化とは、シンボルの出現頻度に応じて可変長の符号を割り当てる方式であってよい。
【００４４】
逆直交変換・逆量子化部５０８は、入力された量子化信号を逆量子化し、逆量子化した直交変換係数を逆直交変換処理してから復号画像生成部５０９に出力する。逆直交変換・逆量子化部５０８によって復号化処理が行われることにより、符号化前の差分画像と同程度の信号が得られる。
【００４５】
復号画像生成部５０９は、イントラ予測画像生成部５０４から入力された予測画像と、逆直交変換・逆量子化部５０８により復号処理された差分画像とを加算することにより、現符号化対象ブロックの画像データを再生し、復号画像記憶部５１０に出力する。復号画像記憶部５１０は、復号画像生成部５０９から入力された復号画像を記憶し、イントラ予測画像生成部５０４は、復号画像記憶部５１０に記憶された復号画像を読み出して利用してよい。
【００４６】
また、図６は、図５のイントラＴＵモード判定部５０２の機能ブロック構成を例示する図である。図６に示す例では、イントラＴＵモード判定部５０２は、例えば、エッジ情報抽出部６０１、エッジ方向決定部６０２、候補ＴＵサイズ決定部６０３、及びＴＵサイズ判定部６０４を含む。
【００４７】
エッジ情報抽出部６０１は、入力画像の輝度値データに基づいて、符号化対象のブロックの全画素のエッジの情報を抽出し、エッジ方向決定部６０２に出力する。エッジの情報は、例えば、エッジの方向とエッジの強度などの情報を含んでよい。
【００４８】
エッジ方向決定部６０２は、エッジ情報抽出部６０１から入力された符号化対象のブロックに含まれる画素のエッジの情報を用いて、各階層のＴＵ毎にエッジの情報を決定し、候補ＴＵサイズ決定部６０３に出力する。なお、以降、このＴＵに対して決定されるエッジの情報を、エッジ情報と呼ぶことがある。エッジ情報は、例えば、ＴＵに対して決定されるエッジの方向であるエッジ方向と、ＴＵに対して決定されるエッジの強度であるエッジ強度とを含んでよい。候補ＴＵサイズ決定部６０３は、エッジ方向決定部６０２が決定したＴＵに対するエッジ情報を用いて、各階層のＴＵサイズを評価するか否かを決定し、評価する対象のＴＵサイズを候補ＴＵサイズとして、ＴＵサイズ判定部６０４に出力する。
【００４９】
ＴＵサイズ判定部６０４は、候補ＴＵサイズ決定部６０３から入力された各候補ＴＵサイズに対して、イントラ予測方向判定部５０１から入力された予測方向と入力画像を用いて予測画像を生成する。そして、ＴＵサイズ判定部６０４は、各候補ＴＵサイズの符号化コストを計算し、符号化コストが最小となるＴＵサイズを符号化対象のブロックの最適なＴＵサイズとして決定し、ＣＵモード判定部５０３に出力する。
【００５０】
図７は、第１の実施形態に係る符号化処理の動作フローを例示する図である。動画像符号化装置４０の制御部４００は、例えば、入力画像をＣＴＵ単位に分割した後、それぞれのＣＴＵに対して図７の符号化処理を行ってよい。
【００５１】
ステップ７０１（以降、ステップを“Ｓ”と記載し、例えば、Ｓ７０１と表記する）において、イントラ予測方向判定部５０１は、入力画像を用いてＰＵモードを決定する。ＰＵモードの決定において、イントラ予測方向判定部５０１は、例えば、ＰＵの分割形状と、イントラ予測で用いるイントラ予測方向とを決定してよい。そして、イントラ予測方向判定部５０１は、例えば、決定されたＰＵと、ＰＵに対するイントラ予測方向を、イントラＴＵモード判定部５０２とイントラ予測画像生成部５０４とに出力する。
【００５２】
Ｓ７０２において、イントラＴＵモード判定部５０２は、Ｓ７０１で決定されたＰＵに対して、イントラ予測におけるＴＵモードの決定を行う。ＴＵモードの決定では、例えば、変換符号化に用いるＴＵサイズが決定されてよい。イントラＴＵモード判定部５０２は、例えば、入力画像と、イントラ予測方向判定部５０１から入力されるイントラ予測方向とを用いて、階層：０から最大ＴＵ階層で指定される最大深度の階層までの複数のＴＵサイズの中から最適なＴＵサイズを決定する。そして、イントラＴＵモード判定部５０２は、決定したＴＵサイズをＣＵモード判定部５０３とイントラ予測画像生成部５０４とに出力する。なお、ＴＵモードの判定方法についての更なる詳細は、図８〜図１６を参照して後述する。
【００５３】
Ｓ７０３において、ＣＵモード判定部５０３は、イントラＴＵモード判定部５０２で決定されたＴＵの符号化コストに基づいて得られた各ＣＵサイズの符号化コストを比較し、複数のＣＵサイズの中から符号化に最適なＣＵサイズを決定する。そして、ＣＵモード判定部５０３は、決定したＣＵサイズをイントラ予測画像生成部５０４に出力する。
【００５４】
Ｓ７０４において、イントラ予測画像生成部５０４は、入力された最適な符号化モードと復号画像記憶部５１０に記憶されている復号画像のデータとを用いて、符号化対象のブロックの予測画像を生成し、差分画像生成部５０５に出力する。なお、符号化モードは、例えば、ＣＵサイズ、ＴＵサイズ、ＰＵの分割形状とイントラ予測方向などの情報を含んでよい。これらの情報は、イントラ予測方向判定部５０１、イントラＴＵモード判定部５０２、及びＣＵモード判定部５０３からイントラ予測画像生成部５０４にそれぞれ入力されてよい。
【００５５】
Ｓ７０５において、差分画像生成部５０５は、入力原画像とイントラ予測画像生成部５０４から入力された予測画像との差分を求め、得られた符号化対象ブロックの差分画像を直交変換・量子化部５０６に出力する。
【００５６】
Ｓ７０６において、直交変換・量子化部５０６は、差分画像生成部５０５から入力された差分画像を直交変換処理する。また、直交変換・量子化部５０６は、直交変換処理から得られた周波数信号の量子化を行い、エントロピー符号化部５０７に出力する。なお、Ｓ７０６の直交変換処理において、動画像符号化装置４０の制御部４００は、例えば、変換符号化部４０３として機能してよい。
【００５７】
Ｓ７０７において、エントロピー符号化部５０７は、直交変換・量子化部５０６から入力された量子化信号をエントロピー符号化（可変長符号化）してストリームを出力する。
【００５８】
Ｓ７０８において、逆直交変換・逆量子化部５０８は、直交変換・量子化部５０６から入力された量子化信号を逆量子化して、逆直交変換処理を行う。逆直交変換・逆量子化部５０８が復号化処理を行うことで、符号化対象のブロックの符号化前の差分画像と同程度の差分画像が得られる。逆直交変換・逆量子化部５０８は、この差分画像を復号画像生成部５０９に出力する。
【００５９】
Ｓ７０９において復号画像生成部５０９は、イントラ予測画像生成部５０４から入力された予測画像と、逆直交変換・逆量子化部５０８から入力された差分画像とを加算することで、符号化対象の現ブロックの画像データを再生し、復号画像記憶部５１０に出力する。復号画像記憶部５１０は、入力された復号画像を記憶する。そして、例えば、イントラ予測画像生成部５０４は、復号画像記憶部５１０に記憶された復号画像を読み出して利用してよい。Ｓ７０９の処理が完了すると、本動作フローは終了してよい。
【００６０】
図８は、第１の実施形態に係るイントラＴＵモードの判定処理の動作フローを例示する図である。図８の動作フローは、例えば、図７のＳ７０２に進むと開始してよい。なお、図８の動作フローはＳ７０１で決定されたＰＵのそれぞれに対して実行されてよい。
【００６１】
Ｓ８０１において、エッジ情報抽出部６０１は、入力画像の輝度値データに基づいて、ＰＵ内の全画素のエッジの方向とエッジの強度などのエッジ情報を検出する。
【００６２】
Ｓ８０２においてエッジ方向決定部６０２は、エッジ情報抽出部６０１から入力されたＰＵ内の全画素のエッジ情報に基づいて、全ＴＵ階層に含まれる各ＴＵのエッジ方向を決定する。
【００６３】
Ｓ８０３において候補ＴＵサイズ決定部６０３は、決定された全ＴＵ階層の各ＴＵのエッジ方向を用いて、符号化コストを計算して評価する対象とする候補ＴＵサイズを決める。
【００６４】
Ｓ８０４においてＴＵサイズ判定部６０４は、候補ＴＵサイズ決定部６０３で決められた候補ＴＵサイズの符号化コストを算出し、符号化コストが最小値となるＴＵサイズを最適なＴＵサイズとして決定し、本動作フローは終了する。
【００６５】
以上のＳ８０１からＳ８０４のそれぞれの処理について、以下に更に詳細に説明する。Ｓ８０１の処理では、エッジ情報抽出部６０１は、処理対象のＰＵ内の全画素のエッジの方向とエッジの強度などのエッジ情報を検出する。エッジ情報の検出は、例えば、以下のように実行されてよい。
【００６６】
まず、エッジ情報抽出部６０１は、処理対象のＰＵ内の全画素についてエッジを検出する。エッジの検出は、ここではｓｏｂｅｌオペレーションを用いる例を示すが、実施形態はこれに限定されるものではなく、その他の方法が使用されても良い。
【００６７】
以下の式３は、入力画素とＳｏｂｅｌオペレータを例示している。
【００６８】
【数１】
2016208094.tif 000003
【００６９】
エッジ情報抽出部６０１は、例えば、図９の画素：ｅをエッジの検出対象の画素として、その周辺の８画素（画素：ａ〜ｄ、及びｆ〜ｉ）を入力画素として、式３に定義される加重マトリックスをかける。それにより、エッジ情報抽出部６０１は、画素のエッジの情報（エッジの方向、エッジの強度）の検出を行う。Ｓｏｂｅｌフィルタの結果、水平方向のエッジの強度（ｄｙ）と、垂直方向のエッジの強度（ｄｘ）が出力される。
【００７０】
dy = P*Y = -a - 2d - g + c + 2f + i
dx = P*X = -a - 2b - c + g + 2h + i
【００７１】
続いて、エッジ情報抽出部６０１は、得られた水平方向のエッジの強度（ｄｙ）と、垂直方向のエッジの強度（ｄｘ）とを用いて、エッジの検出対象の画素のエッジの強度（Ａｍｐ）と、エッジの角度（Ａｎｇ）とを算出する。なお、エッジの強度（Ａｍｐ）は、以下の式４から算出されてよい。また、エッジの角度（Ａｎｇ）は、以下の式５から算出されてよい。
【００７２】
【数２】
2016208094.tif 000004
【００７３】
【数３】
2016208094.tif 000005
【００７４】
次に、エッジ情報抽出部６０１は、得られたエッジの角度を用いて各画素のエッジの方向を特定する。例えば、動画像符号化方式がＨＥＶＣの場合には、ＨＥＶＣで規定されている２〜３４の３３方向のイントラ予測方向（図１０）のうちのいずれかの方向に、エッジの方向は特定されてよい。なお、ＨＥＶＣでは、更に、方向０としてＰｌａｎａｒ予測と、方向１としてDirect Current（ＤＣ）予測とが含まれている。
【００７５】
表１は、画素のエッジの方向を判別するための判別区間を例示している。
【００７６】
【表１】
2016208094.tif 000006
【００７７】
表１では、エッジの方向（Ｄｉｒ２〜Ｄｉｒ３４）と、エッジの角度の範囲とが対応付けられている。エッジ情報抽出部６０１は、式５により得られたエッジの角度が表１のエッジの方向の判定区間のいずれのエッジの角度の範囲にあるかを判定することで、エッジの方向を特定してよい。例えば、式５により得られたエッジの角度が43°であった場合、その角度はＤｉｒ２の42.1875°〜45°の角度範囲内にある。そのため、エッジ情報抽出部６０１は、エッジ方向をＤｉｒ２と特定してよい。なお、上述の式５では、|Ang|<90°の範囲で角度範囲の判定を行っている。そして、tan()の値は、例えば、（-90°, -135°）の区間と、（45°, 90°）の区間で等しい。そのため、表１では、図１１に示すように、例えば、（-90°, -135°）の区間を（45°, 90°）の区間に置き換え、予測方向Ｄｉｒ２６〜Ｄｉｒ３４の判別区間を（45°, 90°）の範囲に設定している。しかしながら、予測方向Ｄｉｒ２６〜Ｄｉｒ３４の判別区間は、実際には判別区間（-90°, -135°）と対応しており、例えば、図１０に示す様にＤｉｒ３４とＤｉｒ２との実際の角度差は１８０°近くある。そして、エッジ情報抽出部６０１は、例えば、以上の表１を用いて処理対象のＰＵ内の全画素のエッジ情報（方向と強度）を検出し、エッジ方向決定部６０２に出力する。
【００７８】
Ｓ８０２の処理では、エッジ方向決定部６０２は、処理対象のＰＵ内に含まれる画素のそれぞれに対して決定されたエッジ情報（例えば、方向と強度）に基づいて、処理対象のＰＵ内の各ＴＵ階層におけるＴＵのそれぞれについてエッジ方向を決定する。各ＴＵ階層のＴＵのエッジ方向の決定は、エッジ情報抽出部６０１から入力された処理対象のＰＵ内の画素のエッジ情報を用いて実行されてよい。ここでは、図１２に示すように、MaxTUDepth＝1の場合での、処理対象の現ＴＵのエッジ方向：Edge0と、次の階層の４ＴＵのそれぞれのエッジ方向：Edge1〜Edge4の決定を例として説明する。
【００７９】
エッジ方向決定部６０２は、例えば、最大ＴＵ階層：MaxTUDepthに設定されている最も深い階層である階層：１の４つのＴＵ（図１２のＴＵ１〜ＴＵ４）のエッジ方向を決定する。例えば、エッジ方向決定部６０２は、ＴＵ１に含まれる全画素に対するエッジの強度を、Ｓ８０１で特定されたエッジの方向毎に集計して各エッジの方向（例えば、Ｄｉｒ２〜３３）毎にエッジの強度和（Amp_TU (Dir)）を求める。エッジの強度和は、例えば、各エッジの方向毎に、以下の式６により算出されてよい。なお、式６においてAmp_Pixel(Dir)は、ＴＵ１に含まれる全画素のうちで、エッジの方向が(Dir)で示される方向を向いている画素のエッジの強度であってよい。また、(Dir)は、例えば、Ｄｉｒ２〜３３の方向のうちのいずれかの方向であってよい。
【００８０】
Amp_TU(Dir)＝ΣAmp_Pixel(Dir)  ・・・式６
【００８１】
そして、エッジ方向決定部６０２は、得られた各エッジの方向におけるエッジの強度和のうちで、エッジの強度和が最も高いエッジの方向を、ＴＵ１のエッジ方向：Ｅｄｇｅ１として決定してよい。また、エッジ方向決定部６０２は、ＴＵ１と同様にしてＴＵ２〜ＴＵ４についても演算を行い、エッジ方向：Ｅｄｇｅ２〜Ｅｄｇｅ４を決定してよい。
【００８２】
続いて、エッジ方向決定部６０２は、エッジの方向毎に階層：０のＴＵ０のエッジの強度和を算出し、エッジの強度和が最大となるエッジの方向をＴＵ０のエッジ方向：Ｅｄｇｅ０として決定する。なお、エッジ方向決定部６０２は、例えば、以下の式７に示す様に、階層：１において式６により算出されたＴＵ１〜ＴＵ４における各エッジの方向のエッジの強度和を加算することで、ＴＵ０のエッジの方向毎のエッジの強度和を算出してもよい。或いは、別の実施形態では、ＴＵ０のエッジの方向毎のエッジの強度和は、式６により算出されてもよい。
【００８３】
Amp_TU0(Dir)＝Amp_TU1(Dir)+Amp_TU2(Dir)+Amp_TU3(Dir)+Amp_TU4(Dir)  ・・・式７
【００８４】
なお、以上の例では、MaxTUDepth = 1の場合を例に説明を行ったが、MaxTUDepthが１よりも大きい場合についても同様に、エッジ方向決定部６０２は、各階層の各ＴＵのエッジの強度和を算出することができる。例えば、エッジ方向決定部６０２は、入力された全画素のエッジの方向とエッジの強度とを用いて、最大ＴＵ階層：MaxTUDepthで指定される一番小さいＴＵサイズの階層の各ＴＵの各エッジの方向毎のエッジの強度和を算出してよい。そして、エッジ方向決定部６０２は、得られた階層内の各エッジの方向でのエッジの強度和を用いて、式７により上の階層におけるＴＵの各エッジの方向毎のエッジの強度和を算出してもよい。即ち、例えば、或る階層におけるＴＵの各エッジの方向でのＴＵのエッジの強度和は、そのＴＵに含まれる下の階層のＴＵのエッジの強度和を、各エッジの方向毎に足し合わせることで得られてよい。そして、エッジ方向決定部６０２は、ＴＵ毎に得られる各エッジの方向毎のエッジの強度和のうちで、エッジの強度和が最も高いエッジの方向を、そのＴＵのエッジ方向として特定してよい。エッジ方向決定部６０２は、全てのＴＵ階層の各ＴＵに対して決定したエッジ方向を、候補ＴＵサイズ決定部６０３に出力する。なお、エッジ方向決定部６０２は、例えば、ＴＵ内の全画素のエッジの強度和が所定の閾値Ｔｈよりも小さい場合、表１に示す様に、そのＴＵに対してはエッジ方向が無しと判定してよい。
【００８５】
Ｓ８０３の処理では、候補ＴＵサイズ決定部６０３は、決定された全ＴＵ階層の各ＴＵのエッジ方向を用いて、候補ＴＵサイズを決める。候補ＴＵサイズは、例えば、ＰＵの変換符号化で用いるＴＵサイズとして決定される可能性のある候補となるＴＵサイズであってよい。
【００８６】
以下では、例えば、図１２に例示するMaxTUDepth＝1の場合に階層：０のＴＵのエッジ方向Edge0と、階層：１の４ＴＵのエッジ方向Edge1〜Edge4とを用いて、階層：０及び階層：１を候補ＴＵサイズとするかを判定する場合を例示する。
【００８７】
（ケース１）処理対象のＴＵ内の全画素のエッジの強度和が所定の閾値よりも小さい
処理対象のＴＵの原画において、画素のエッジの強度和が所定の閾値よりも小さい（例えば、以下の式８が満たされる）場合、処理対象のＴＵの全画素が似ており、ＴＵ内の画像が平坦であると考えられる。なお、エッジの強度和の判定で用いる所定の閾値：Ｔｈは、ＴＵ内のエッジの強度和が閾値Ｔｈよりも低い場合に、ＴＵ内の画像が平坦であると推測できる値に設定されていてよく、ＴＵサイズに応じて個別の値が設定されていてよい。また、以下の説明では、処理対象のＴＵ内の全画素のエッジの強度和を、処理対象のＴＵのエッジ強度と呼ぶことがある。
【００８８】
ΣAmp < Th  ・・・式８
ΣAmp：ＴＵ内の全画素のエッジの強度和
Th：所定の閾値
【００８９】
そして、例えば、この様な平坦な画像で符号化コストを計算した場合について述べる。なお、ＴＵサイズは、周波数領域の特性を考慮して決定されることが好ましいため、符号化コストは、例えば、上述の式２のようにＳＡＴＤを使って計算されてよい。
【００９０】
そして、例えば、ＴＵ内の画像の絵柄が平坦である場合、イントラ予測方向判定部５０１によりイントラ予測において決定されるイントラ予測方向はＤＣ予測かＰｌａｎａｒ予測となると推測される。この場合、得られた予測方向を使って生成される予測画像も平坦になるため、原画像と予測画像の差分画像もまた、図１３に示すように平坦になる。従って、差分画像を直交変換した際の係数が低周波に集中することが予測され、ＤＣ以外の係数はほとんど０となることが推測される。ここで、直交変換の特性により、階層：０のＴＵ０に対する係数の絶対値和：ＳＡＴＤ０と、階層：１の４つのＴＵ（ＴＵ１〜ＴＵ４）に対する係数の絶対値和の合計（ＳＡＴＤ１＋ＳＡＴＤ２＋ＳＡＴＤ３＋ＳＡＴＤ４）とはほぼ同じ値になることが予想される。一方で、ＴＵをより細かく分割した場合、分割されたＴＵの数の分だけＢｉｔｓ（ＴＵサイズなどの情報など）を符号化するための符号化コストがかかり、符号化コストが大きくなってしまう。そのため、このような場合では、候補ＴＵサイズ決定部６０３は、階層：０のＴＵサイズが最適なＴＵサイズであると推測でき、現ＴＵサイズを候補ＴＵサイズとして設定してよい。また、候補ＴＵサイズ決定部６０３は、階層：１のＴＵサイズなどの現ＴＵサイズよりも小さいＴＵサイズの評価を省略することができる。
【００９１】
つまり、例えば、処理対象の階層のＴＵ内の全画素のエッジの強度和が所定の閾値よりも小さい場合、ＴＵ内の画像が平坦であると考えられるため、処理対象の階層のＴＵよりも深い階層のＴＵについての符号化コストの算出を省略することができる。
【００９２】
（ケース２）処理対象のＴＵの全画素のエッジの強度和が閾値より大きい
処理対象のＴＵのエッジの強度和が閾値より大きい場合、候補ＴＵサイズ決定部６０３は、処理対象のＴＵより深い１つ下の階層のＴＵのエッジ方向に基づいて、処理対象のＴＵと１つ下の階層のＴＵの符号化コストを算出するか否かを判定する。
【００９３】
（ケース２−１）処理対象のＴＵより深い１つ下の階層の各ＴＵのエッジ方向の差が大きい
候補ＴＵサイズ決定部６０３は、処理対象のＴＵよりも深い１つ下の階層の各ＴＵのエッジ方向の差が大きいか否かを判定する。図１４は、処理対象のＴＵの１つ下の階層のＴＵのエッジ方向の差が大きい場合と、小さい場合とを例示する図である。図１４（ａ）は、処理対象のＴＵ（ここでは、ＴＵ０）より深い１つ下の階層のＴＵ（ここでは、ＴＵ１〜ＴＵ４）のエッジ方向の差が大きい場合を例示しており、図示されるようにＴＵ１〜ＴＵ４のエッジ方向はばらばらな方向を向いている。そして、候補ＴＵサイズ決定部６０３は、例えば、このＴＵ１〜ＴＵ４のエッジ方向の差が大きいか否かを判定してよい。
【００９４】
また、処理対象のＴＵの１つ下の階層の各ＴＵのエッジ方向の差が大きいか否かの判定は、例えば以下のように実施されてよい。上述のように、第１の実施形態においては、エッジ方向は、イントラ予測方向に合わせて、３３方向のうちのいずれかの方向に特定されている。そして、イントラ予測方向では、Ｄｉｒ２〜Ｄｉｒ３４の角度範囲は図１０に示す様に角度の大きさに従って順に並んでいる。そのため、例えば、エッジ方向に付したＤｉｒ２の“２”や、Ｄｉｒ３４の“３４”の数字の差が大きいことは、それら２つの方向の角度差が大きいことを表している。そこで、第１の実施形態においては、候補ＴＵサイズ決定部６０３は、エッジ方向を示す数字の差が大きいか否かによりＴＵのエッジ方向の差が大きいか否かを判定してよい。候補ＴＵサイズ決定部６０３は、例えば、式９のように、処理対象のＴＵの１つ下の階層の各ＴＵのエッジ方向の数字の最大値と最小値との差を求める。そして、候補ＴＵサイズ決定部６０３は、最大値と最小値との差が閾値：Ｔｈ２よりも大きければ、ＴＵのエッジ方向の差が大きいと判定してよい。
【００９５】
Max(Dir)-Min(Dir) > Th2  ・・・式９
Max(Dir)：エッジ方向の数字の最大値
Min(Dir)：エッジ方向の数字の最小値
Th2：所定の閾値
【００９６】
そして、ＴＵのエッジ方向の差が大きい場合、階層：０のＴＵに対して、ブロックの原画の絵柄が複雑であることが推測される。原画の絵柄が複雑であるため、イントラ予測方向判定部５０１によりイントラ予測において決定されたイントラ予測方向を使って生成される予測画像と原画との差分画像の絵柄も複雑になる。この場合、直交変換後の係数の集中性が悪くなり、非０係数の個数が多くなる。従って、ＳＡＴＤの値が大きくなり、符号化コストが大きくなる。また、非０係数の数が多いため、係数の符号化に必要な情報量も増加する。
【００９７】
一方で、階層：１の４ＴＵに対して、それぞれのＴＵ内ではエッジ方向に沿って画素間の相関が高い。また、決められたイントラ予測方向を使って生成した予測画像との差分画像も或る方向に沿って画素間の相関が高い。例えば、図１４（ａ）のＴＵ１に対して、イントラ予測方向がＤＣ（平均予測）であれば、差分画像は原画と同じく垂直方向の相関が高くなる。また、イントラ予測方向が水平方向としたら、差分画像は斜め方向の相関が高くなる。この場合、直交変換後の係数は、或る周波数の周辺に集中しており、非０係数の個数が少ないと考えられる。従って、ＳＡＴＤの値が小さくなり、符号化コストが小さくなる。また、非０係数の数が少ないため、係数の符号化に必要な情報量が少なくなる。
【００９８】
この場合、階層：０の符号化コストは階層：１より大きくなると推測でき、階層：０が選ばれる可能性は低いと考えられるため、候補ＴＵサイズ決定部６０３は、階層：０の符号化コストを算出せずに、階層：１のＴＵの評価に進むことができる。そして、候補ＴＵサイズ決定部６０３は、階層：１のＴＵサイズを候補ＴＵサイズとして設定してよい。なお、この場合に、例えば、ＴＵの階層が図１４（ａ）に例示するように２階層であれば、候補ＴＵサイズ決定部６０３は、最適なＴＵサイズを階層：１のＴＵサイズに決定することができる。
【００９９】
つまり、処理対象のＴＵの１つ下の階層の４ＴＵのエッジ方向の差が大きく、４ＴＵのエッジ方向に、互いの向きが所定の値以上離れているエッジ方向が含まれている場合、処理対象のＴＵサイズは符号化において不適切であることが推測できる。従って、処理対象のＴＵサイズについては符号化コストを算出しなくてもよく、１つ下の階層のＴＵサイズの判定に進むことができる。
【０１００】
（ケース２−２）処理対象のＴＵより深い１つ下の階層の各ＴＵのエッジ方向の差が小さい
候補ＴＵサイズ決定部６０３は、処理対象のＴＵより深い１つ下の階層の４ＴＵのエッジ方向の差が小さいか否かを判定する。図１４（ｂ）は、処理対象のＴＵ（ここでは、ＴＵ０）より深い１つ下の階層のＴＵ（ここでは、ＴＵ１〜ＴＵ４）のエッジ方向の差が小さい場合を例示しており、図示されるようにＴＵ１〜ＴＵ４のエッジ方向は類似した方向を向いている。そして、候補ＴＵサイズ決定部６０３は、例えば、式９で述べたMax(Dir)とMin(Dir)とを用いて差分を計算し、得られた差分が所定の閾値：Ｔｈ３より小さい場合にエッジ方向間の差が小さいと判定してよい。
【０１０１】
Max(Dir)-Min(Dir) < Th3  ・・・式１０
Max(Dir)：エッジ方向の数字の最大値
Min(Dir)：エッジ方向の数字の最小値
Th3：所定の閾値
【０１０２】
そして、各ＴＵのエッジ方向の差が小さい場合、階層：０のＴＵに対して、原画はエッジ方向に沿って画素間の相関が高いことが推測される。そのため、イントラ予測方向判定部５０１により決定されたイントラ予測方向はエッジ方向と似ていると考えられる。この場合、原画と、イントラ予測方向判定部５０１によりイントラ予測において決定されたイントラ予測方向を使って生成された予測画像との差分画像は、平坦であるか、若しくはエッジ方向に沿って画素間の相関が高くなる。そのため、直交変換後の係数が低周波か、或る周波数の周辺に集中し、非０係数の個数が少ないと考えられる。
【０１０３】
一方で、階層：１のＴＵに対して、ＴＵをより細かく分割すると、分割されるＴＵの数の分だけＢｉｔｓ（ＴＵサイズなどの情報など）を符号化するための符号化コストがかかり、符号化コストが大きくなる。従って、この場合は、候補ＴＵサイズ決定部６０３は、処理対象の現ＴＵサイズが最適なＴＵサイズであることが推測できるため、現ＴＵサイズを候補ＴＵサイズとして設定してよい。また、候補ＴＵサイズ決定部６０３は、階層：１のＴＵサイズなどの現ＴＵサイズよりも小さいＴＵサイズの評価を省略することができる。
【０１０４】
つまり、処理対象のＴＵの１つ下の階層の４ＴＵのエッジ方向の差が小さく、エッジ方向の向きが所定の範囲内で類似している場合、処理対象の階層のＴＵよりも深い階層のＴＵについての符号化コストの算出を省略することができる。
【０１０５】
（ケース２−３）その他の場合：（中間値）
処理対象のＴＵの１つ下の階層の４ＴＵのエッジ方向の差が上述の閾値：Ｔｈ２と閾値：Ｔｈ３との間にある場合には階層：０と階層：１とでどちらの符号化コストが小さいかは、両方の符号化コストを算出することで決定することができる。
【０１０６】
Th3 < Max(Dir)-Min(Dir) < Th2  ・・・式１１
Max(Dir)：エッジ方向の数字の最大値
Min(Dir)：エッジ方向の数字の最小値
Th2：所定の閾値
Th3：所定の閾値
【０１０７】
以上で述べたように、Ｓ８０３の処理では、候補ＴＵサイズ決定部６０３は、ケース１、ケース２−１〜ケース２−３の判定に従って、ＴＵのエッジ方向を用いて、候補ＴＵサイズを設定してよい。以下では、図１５を参照して、これらのケース１、ケース２−１〜ケース２−３の判定を用いた候補ＴＵサイズを設定する処理の動作フローを例示する。図１５の動作フローは、例えば、図８の動作フローにおいてＳ８０３に進むと開始してよい。また、図１５の動作フローは、Ｓ７０１で決定されたＰＵのそれぞれに対して実行されてよい。
【０１０８】
Ｓ１５０１において候補ＴＵサイズ決定部６０３は、候補ＴＵサイズに設定するか否かを判定する処理対象となるＴＵのＴＵサイズを、最も浅いＴＵの階層である階層：０に設定する。Ｓ１５０２において候補ＴＵサイズ決定部６０３は、エッジ方向決定部６０２から入力されるＴＵのエッジ情報を用いて、処理対象のＴＵのエッジの強度和が所定の閾値：Ｔｈより大きいか否かを判定する。Ｓ１５０２において処理対象のＴＵのエッジの強度和が所定の閾値：Ｔｈ以下である場合（Ｓ１５０２がＮｏ）には、フローはＳ１５０５に進む。Ｓ１５０５において候補ＴＵサイズ決定部６０３は、処理対象のＴＵのＴＵサイズを候補ＴＵサイズに設定し、処理対象のＴＵよりも小さいＴＵサイズをすべて候補ＴＵサイズには設定せずに、本動作フローを終了し、フローはＳ８０４へと進む。なお、候補ＴＵサイズに設定されたＴＵサイズは、後述する図１６の動作フローにおいて符号化コストの算出に用いられるＴＵサイズである。また、候補ＴＵサイズに設定されなかったＴＵサイズは、後述する図１６の動作フローにおいて符号化コストの算出に用いられないＴＵサイズである。
【０１０９】
また、Ｓ１５０２において処理対象のＴＵのエッジの強度和が所定の閾値：Ｔｈより大きい場合（Ｓ１５０２がＹｅｓ）、フローはＳ１５０３へと進む。Ｓ１５０３において、候補ＴＵサイズ決定部６０３は、エッジ方向決定部６０２から入力された１つ下の階層の４ＴＵのエッジ方向を用いて、エッジ方向間の差を算出する。Ｓ１５０４において候補ＴＵサイズ決定部６０３は、Ｓ１５０３で算出されたエッジ方向の差が閾値：Ｔｈ３よりも小さいか否かを判定する。エッジ方向の差が小さい場合（Ｓ１５０３がＹｅｓ）、フローはＳ１５０５に進む。一方、Ｓ１５０３においてエッジ方向の差が閾値：Ｔｈ３よりも小さくない場合（Ｓ１５０４がＮｏ）、フローはＳ１５０６へと進む。
【０１１０】
Ｓ１５０６において候補ＴＵサイズ決定部６０３は、エッジ方向の差が閾値：Ｔｈ２よりも大きいか否かを判定する。エッジ方向の差が閾値：Ｔｈ２よりも大きい場合（Ｓ１５０６がＹｅｓ）、フローはＳ１５０８に進む。Ｓ１５０８において候補ＴＵサイズ決定部６０３は、処理対象のＴＵのＴＵサイズを候補ＴＵサイズに設定せずに、処理対象のＴＵよりも１つ下の階層のＴＵのＴＵサイズを候補ＴＵサイズとして設定し、フローはＳ１５０９に進む。一方、Ｓ１５０６においてエッジ方向の差が閾値：Ｔｈ２よりも大きくない場合（Ｓ１５０６がＮｏ）、フローはＳ１５０７へと進む。Ｓ１５０７において候補ＴＵサイズ決定部６０３は、処理対象のＴＵのＴＵサイズと、１つ下の階層のＴＵのＴＵサイズとを候補ＴＵサイズとして設定し、フローはＳ１５０９へと進む。
【０１１１】
Ｓ１５０９において候補ＴＵサイズ決定部６０３は、処理対象となるＴＵのＴＵサイズを１つ下の階層に移動させる。Ｓ１５１０において候補ＴＵサイズ決定部６０３は、移動先の１つ下の階層は、最大ＴＵ階層：MaxTUDepthに指定されている値よりも小さいか否かを判定する。移動先の１つ下のＴＵの階層が最大ＴＵ階層：MaxTUDepthよりも小さい場合（Ｓ１５１０がＹｅｓ）、フローはＳ１５０２へと戻り、移動先の１つ下の階層のＴＵサイズのＴＵを処理対象として、処理を繰り返す。なお、Ｓ１５１０においてＹＥＳと判定される場合、候補ＴＵサイズ決定部６０３は、処理対象のＴＵから１つ下のＴＵの階層に移動する際に４分木分割により得られる４つのＴＵのそれぞれを処理対象のＴＵとして、Ｓ１５０２以降の処理を実行してよい。一方、Ｓ１５１０において移動先の１つ下の階層が最大ＴＵ階層：MaxTUDepthである場合（Ｓ１５１０がＮｏ）、本動作フローは終了し、フローはＳ８０４へと進む。なお、Ｓ８０３及び図１５の動作フローにおいて、動画像符号化装置４０の制御部４００は、例えば、設定部４０１として機能してよい。
【０１１２】
Ｓ８０４の処理では、ＴＵサイズ判定部６０４は、候補ＴＵサイズ決定部６０３で設定された候補ＴＵサイズのＴＵの符号化コストを算出し、算出された符号化コストを用いて、符号化コストが最小値となる最適なＴＵサイズを決定する。図１６は、Ｓ８０４で実行される第１の実施形態に係るＴＵサイズの決定処理の動作フローを例示する図である。図１６の動作フローは、図８のＳ８０４へと進むと開始してよい。また、図１６の動作フローは、Ｓ７０１で決定されたＰＵのそれぞれに対して実行されてよい。
【０１１３】
Ｓ１６０１においてＴＵサイズ判定部６０４は、処理対象のＴＵのサイズを最大ＴＵ階層：MaxTUDepthの階層のＴＵサイズ（即ち、最小のＴＵサイズ）に設定する。Ｓ１６０２において、ＴＵサイズ判定部６０４は、候補ＴＵサイズ決定部６０３から出力された結果に基づいて、処理対象の階層のＴＵのそれぞれについて、候補ＴＵサイズに設定されているか否かを判定する。そして、判定対象のＴＵが候補ＴＵサイズに設定されている場合（Ｓ１６０２がＹｅｓ）、フローはＳ１６０３へと進む。Ｓ１６０３においてＴＵサイズ判定部６０４は、判定対象のＴＵの符号化コストを算出する。
【０１１４】
一方、Ｓ１６０２において、判定対象のＴＵが候補ＴＵサイズに設定されていない場合（Ｓ１６０２がＮｏ）、フローはＳ１６０４へと進む。Ｓ１６０４においてＴＵサイズ判定部６０４は、判定対象のＴＵの符号化コストを算出せずに、符号化コストを所定の最大値に設定する。それにより、符号化コストが所定の最大値に設定された判定対象のＴＵは、符号化コストが高いため、後述するＳ１６０５の処理においてＴＵサイズとして決定されなくなる。Ｓ１６０５において、ＴＵサイズ判定部６０４は、現階層のＴＵのそれぞれについて、現階層のＴＵの符号化コストを、そのＴＵに含まれる１つ下の階層の４つのＴＵの符号化コストの合計と比較する。そして、ＴＵサイズ判定部６０４は、符号化コストの小さい方の階層の候補ＴＵサイズをＴＵサイズとして決定する。なお、Ｓ１６０５において現階層が最大ＴＵ階層：MaxTUDepthの階層である場合には、１つ下の階層は存在しない。そのため、ＴＵサイズ判定部６０４は、現階層の候補ＴＵサイズをＴＵサイズとして決定してよい。Ｓ１６０６において、ＴＵサイズ判定部６０４は、処理対象となるＴＵのＴＵサイズを１つ上の階層に移動させる。Ｓ１６０６においてＴＵサイズ判定部６０４は、移動先の１つ上の階層の数字が０より小さいか否かを判定する。移動先の１つ上のＴＵの階層の数字が０より小さくない場合（Ｓ１６０７がＮｏ）、フローはＳ１６０２へと戻り、移動先の１つ上の階層のＴＵサイズのＴＵを処理対象として、処理を繰り返す。一方、移動先の１つ上のＴＵの階層の数字が０より小さい場合（Ｓ１６０７がＹｅｓ）、本動作フローは終了し、図８の動作フローも終了し、フローはＳ７０３へと進む。なお、Ｓ８０４及び図１６の動作フローにおいて、動画像符号化装置４０の制御部４００は、例えば、決定部４０２として機能してよい。
【０１１５】
以上の図８から図１６で述べたように、処理対象のＴＵ内の全画素のエッジの強度和が所定の閾値よりも小さい場合、ＴＵ内の画像が平坦であると考えられる。そのため、第１の実施形態にでは動画像符号化装置４０は、処理対象のＴＵ内の全画素のエッジの強度和が所定の閾値よりも小さい場合、処理対象のＴＵよりも深い階層のＴＵのサイズを候補ＴＵサイズに設定しない。従って、動画像符号化装置４０は、処理対象の階層のＴＵよりも深い階層のＴＵについての符号化コストの算出を省略することができる。
【０１１６】
また、処理対象のＴＵ内の全画素のエッジの強度和が所定の閾値よりも大きく、また、処理対象のＴＵの１つ下の階層の４ＴＵのエッジ方向の差が小さく、エッジ方向の向きが所定の範囲内で類似しているとする。この場合、直交変換後の係数が低周波か、或る周波数の周辺に集中しており、非０係数の個数が少ないと考えられる。そのため、第１の実施形態では動画像符号化装置４０は、処理対象のＴＵのサイズを候補ＴＵサイズに設定する。また、動画像符号化装置４０は、処理対象のＴＵよりも深い階層のＴＵのサイズを候補ＴＵサイズに設定しない。従って、動画像符号化装置４０は、処理対象のＴＵよりも深い階層のＴＵのサイズの符号化コストの計算を省略することができる。
【０１１７】
更に、処理対象のＴＵ内の全画素のエッジの強度和が所定の閾値よりも大きく、また、処理対象のＴＵの１つ下の階層の４ＴＵのエッジ方向の差が大きく、４ＴＵのエッジ方向に互いの向きが所定の値以上離れているエッジ方向が含まれているとする。この場合、処理対象のＴＵの差分画像の絵柄が複雑であると考えられる。そのため、処理対象のＴＵの直交変換後の係数の集中性が悪くなり、非０係数の個数が多くなると考えられる。一方、この場合でも、処理対象のＴＵの１つ下の階層の４ＴＵは、それぞれのＴＵ内ではエッジ方向に沿って画素間の相関が高いため、１つ下の階層の４ＴＵを直交変換した場合、係数が或る周波数の周辺に集中しており、非０係数の個数が少ないと考えられる。そのため、第１の実施形態では動画像符号化装置４０は、処理対象のＴＵのサイズを候補ＴＵサイズに設定しない。また、動画像符号化装置４０は、処理対象のＴＵよりも深い階層のＴＵのサイズを候補ＴＵサイズと設定するか否かの評価を続ける。それにより、処理対象のＴＵのサイズでの符号化コストの計算を省略することができる。
【０１１８】
従って、第１の実施形態によれば、動画像符号化装置４０はイントラ予測における変換符号化で用いるブロックサイズを決定するための演算負荷を低減することができる。
【０１１９】
＜第２の実施形態＞
上述の第１の実施形態では、イントラＴＵモード判定部５０２に含まれるエッジ情報抽出部６０１がエッジ情報を特定する例が述べられている。しかしながら、実施形態はこれに限定されるものではない。例えば、イントラ予測方向判定部５０１が、イントラ予測方向を決定する際にエッジ情報を利用することがある。例えば、イントラ予測方向を決定する際に、３５方向全ての符号化コストを計算すると演算量が多くなってしまう。そこで、まず、エッジの情報を検出して、おおよそのブロックの絵柄の方向を特定し、その絵柄の方向に基づいて符号化コストが最小となる可能性の高いイントラ予測方向の候補を選択する。そして、イントラ予測方向の候補について符号化コストを計算することで、イントラ予測方向を決定することがある。例えば、この場合には、イントラ予測方向判定部５０１が決定したエッジ情報を、イントラＴＵモード判定部５０２においても流用することができ、イントラＴＵモード判定部５０２がエッジ情報を特定する処理を省略することができる。以下、図１７及び図１８を参照して、第２の実施形態を説明する。
【０１２０】
図１７は、第２の実施形態に係るイントラ予測方向判定部５０１及びイントラＴＵモード判定部５０２の機能ブロック構成を例示する図である。図１７（ａ）は、第２の実施形態に係るイントラ予測方向判定部５０１の機能ブロック構成を例示している。イントラ予測方向判定部５０１は、例えば、エッジ情報抽出部１７０１、候補イントラ予測方向決定部１７０２、及びイントラ予測方向決定部１７０３を含んでいる。
【０１２１】
エッジ情報抽出部１７０１は、入力画像の輝度値データに基づいて、符号化対象のＰＵ内の画素のエッジの方向及びエッジの強度などのエッジ情報を抽出し、候補イントラ予測方向決定部１７０２とイントラＴＵモード判定部５０２とに出力する。候補イントラ予測方向決定部１７０２は、入力されたＰＵ内の画素のエッジ情報からエッジ方向を決定し、エッジ方向とその周辺の複数のイントラ予測方向を候補イントラ予測方向に決定し、イントラ予測方向決定部１７０３に出力する。イントラ予測方向決定部１７０３は、入力画像と候補イントラ予測方向決定部１７０２から入力された複数の予測方向に対して、ＰＵの符号化コストを算出する。そして、イントラ予測方向決定部１７０３は、符号化コストが最小となる予測方向を、ＰＵに対する最適な予測方向に決定し、イントラＴＵモード判定部５０２とイントラ予測画像生成部５０４とに出力する。
【０１２２】
また、図１７（ｂ）は、第２の実施形態に係るイントラＴＵモード判定部５０２の機能ブロック構成を例示している。イントラＴＵモード判定部５０２は、例えば、エッジ方向決定部６０２、候補ＴＵサイズ決定部６０３、及びＴＵサイズ判定部６０４を含んでいる。エッジ方向決定部６０２は、イントラ予測方向判定部５０１から入力された処理対象のＰＵ内に含まれる画素のそれぞれに対して決定されたエッジ情報を用いて、各階層のＴＵのエッジ方向を決定し、候補ＴＵサイズ決定部６０３に出力する。また、候補ＴＵサイズ決定部６０３、及びＴＵサイズ判定部６０４は、例えば、第１の実施形態と同様に動作してよい。
【０１２３】
図１８は、イントラ予測方向判定部５０１に含まれる機能ブロックが実行する第２の実施形態に係るイントラ予測方向の決定処理を例示する図である。
【０１２４】
Ｓ１８０１においてエッジ情報抽出部１７０１は、入力画像の輝度値データに基づいて、符号化対象のＰＵ内の全画素のエッジの方向とエッジの強度などのエッジ情報を算出し、候補イントラ予測方向決定部１７０２とイントラＴＵモード判定部５０２に出力する。Ｓ１８０２において、候補イントラ予測方向決定部１７０２は、入力されたエッジ情報からエッジ方向を決定する。Ｓ１８０３において、候補イントラ予測方向決定部１７０２は、エッジ方向とその周辺の複数の予測方向を候補イントラ予測方向に決定し、イントラ予測方向決定部１７０３に出力する。Ｓ１８０４においてイントラ予測方向決定部１７０３は、入力画像と候補イントラ予測方向決定部１７０２から入力された複数の候補イントラ予測方向に対して、符号化コストを算出する。そして、イントラ予測方向決定部１７０３は、符号化コストが最小となる候補イントラ予測方向を最適なイントラ予測方向に決定し、イントラＴＵモード判定部５０２とイントラ予測画像生成部５０４とに出力し、本動作フローは終了する。
【０１２５】
以上で述べたように、第２の実施形態ではイントラ予測方向判定部５０１に含まれるエッジ情報抽出部１７０１は、符号化対象のＰＵ内の画素のエッジの方向とエッジの強度などのエッジ情報を算出する。そして、エッジ情報抽出部１７０１は、候補イントラ予測方向決定部１７０２とイントラＴＵモード判定部５０２にエッジ情報を出力する。
【０１２６】
また、第２の実施形態では、イントラＴＵモード判定部５０２は、図８の動作フローと類似する動作フローを実行してよい。しかしながら、例えば、Ｓ８０１の処理については、イントラ予測方向判定部５０１から入力される符号化対象のＰＵ内の全画素のエッジ情報を流用することで、省略することができる。従って、第２の実施形態によれば、第１の実施形態が奏する効果に加えて、イントラ予測方向判定部５０１から入力される符号化対象のＰＵ内の全画素のエッジ情報をＴＵサイズの決定に流用するため、ＴＵサイズの決定にかかる演算量を更に削減することができる。
【０１２７】
また、以上でいくつかの実施形態を例示したが、実施形態はこれに限定されるものではない。例えば、上記の例では、ＨＥＶＣによる動画像符号化を例として説明したが、実施形態はこれに限定されるものではない。例えば、Ｈ．２６４などの直交変換サイズが複数利用可能な他の動画像符号化方式でも、イントラ予測における適した直交変換サイズを決定するために、上述の実施形態を適用することで、符号化コストを計算する対象のブロックサイズの数を削減することができる。
【０１２８】
また、例えば、上述の実施形態では、ＴＵに対するエッジ強度として、ＴＵ内の全画素のエッジの強度和を用いる例を示したが、実施形態で利用可能なＴＵのエッジ強度はこれに限定されるものではない。別の実施形態では、ＴＵのエッジの強度を表すことが可能な、例えばＴＵ内の全画素の平均値などのその他の代表値を用いて、ＴＵ内の画像が平坦であるか否かの判定が実行されてもよい。
【０１２９】
また、例えば、上述のエッジの強度和の判定で用いる所定の閾値：Ｔｈは、ＴＵ内のエッジの強度和が閾値Ｔｈよりも低い場合に、ＴＵ内の画像が平坦であると推測できる値に設定されていてよく、また、ＴＵサイズに応じて個別の値が設定されていてよい。また、上述の閾値Ｔｈ２は、処理対象のＴＵより深い１つ下の階層の各ＴＵのエッジ方向の差が閾値Ｔｈ２よりも大きい場合、処理対象のＴＵの原画の絵柄が複雑であり、処理対象のＴＵの直交変換後の非０係数の個数が多くなると推定できる値に設定されてよい。上述の閾値Ｔｈ３は、処理対象のＴＵより深い１つ下の階層の各ＴＵのエッジ方向の差が閾値Ｔｈ３よりも小さい場合、処理対象のＴＵの原画がエッジ方向に沿って画素間の相関が高く、直交変換の後の非０係数の個数が少なくなると推定できる値に設定されてよい。
【０１３０】
また、例えば、ＨＥＶＣやＨ．２６４では、絵柄の複雑さに応じて量子化パラメータ（ＱＰ：Quatization Parameter）の値が設定される。ＱＰは、例えば、動画像を変換符号化して得られた周波数信号に対して実行される量子化を制御するパラメータである。例えば、絵柄が複雑な場合には、動画像符号化装置４０の制御部４００は、ＱＰを小さく設定して細かいブロックサイズが選ばれ易くする。また、例えば、絵柄が平坦である場合には、制御部４００は、ＱＰを大きく設定して大きなブロックサイズが選ばれ易くする。そのため、実施形態１及び実施形態２において、制御部４００は、処理対象のＴＵのエッジの強度和の強さとエッジ方向の差の大きさの判定に使う閾値（例えば、閾値Ｔｈ、Ｔｈ２、Ｔｈ３）を、この量子化パラメータの値に応じて変更してもよい。例えば、制御部４００は、ＱＰの値が大きくなると、大きなブロックサイズがより選ばれやすくなるように閾値により大きな値を設定してよい。また、制御部４００は、例えばＱＰの値が小さくなると、小さなブロックサイズがより選ばれやすくなるように閾値により小さな値を設定してよい。この様に、ＱＰに応じて閾値を変更することにより、どんなビットレートでも適切なＴＵサイズを選択することができるため、画質を向上させることができる。
【０１３１】
また、例えば、図３、図７、図８、図１５、図１６、及び図１８の動作フローは例示であり、実施形態はこれに限定されるものではない。例えば、図３、図７、図８、図１５、図１６、及び図１８の動作フローは、可能な場合には、処理の順番が変更されてもよく、別に更なる処理を含んでいてもよく、又は、一部の処理が省略されてもよい。
【０１３２】
また、一実施形態に係る動画像符号化装置４０は、ハードウェア回路として実装することもでき、例えば、図１９に示すような情報処理装置（コンピュータ）１９００を用いて実現することもできる。情報処理装置１９００は、プロセッサ１９０１、メモリ１９０２、入力装置１９０３、出力装置１９０４、記憶装置１９０５、媒体駆動装置１９０６、及びネットワーク接続装置１９０７を含み、これらの構成要素はバス１９０９により互いに接続されている。
【０１３３】
メモリ１９０２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリである。メモリ１９０２は、動画像符号化処理に用いられる動画像符号化プログラム及び例えば動画像データなどのデータを格納する。図４の記憶部４１０、並びに図５の復号画像記憶部５１０は、例えば、メモリ１９０２であってよい。
【０１３４】
プロセッサ１９０１は、例えば、Central Processing Unit（ＣＰＵ）であってよい。また、図４の制御部４００は、例えば、プロセッサ１９０１であってよい。プロセッサ１９０１は、メモリ１９０２を利用して動画像符号化プログラムを実行することにより、例えば、図４の設定部４０１、決定部４０２、及び変換符号化部４０３として動作してよい。また、プロセッサ１９０１は、例えば、図５のイントラ予測方向判定部５０１、イントラＴＵモード判定部５０２、ＣＵモード判定部５０３、イントラ予測画像生成部５０４として動作してよい。プロセッサ１９０１は、例えば、差分画像生成部５０５、直交変換・量子化部５０６、エントロピー符号化部５０７、逆直交変換・逆量子化部５０８、復号画像生成部５０９として動作してよい。プロセッサ１９０１は、例えば、図６のエッジ情報抽出部６０１、エッジ方向決定部６０２、候補ＴＵサイズ決定部６０３、ＴＵサイズ判定部６０４として動作してよい。プロセッサ１９０１は、例えば、図１７のエッジ情報抽出部１７０１、候補イントラ予測方向決定部１７０２、イントラ予測方向決定部１７０３として動作してよい。
【０１３５】
入力装置１９０３は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示や情報の入力に用いられる。出力装置１９０４は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザ又はオペレータへの問い合わせや処理結果の出力に用いられる。
【０１３６】
記憶装置１９０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。記憶装置１９０５は、ハードディスクドライブであってもよい。情報処理装置１９００は、記憶装置１９０５に動画像符号化プログラム及び例えば動画像データなどのデータを格納しておき、それらをメモリ１９０２にロードして使用することができる。
【０１３７】
媒体駆動装置１９０６は、可搬型記録媒体１９１０を駆動し、その記録内容にアクセスする。可搬型記録媒体１９１０は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体１９１０は、Compact Disk Read Only Memory（ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、又はUniversal Serial Bus（ＵＳＢ）メモリであってもよい。ユーザ又はオペレータは、この可搬型記録媒体１９１０に動画像符号化プログラム及び例えば動画像データなどのデータを格納しておき、それらをメモリ１９０２にロードして使用することができる。
【０１３８】
このように、動画像符号化プログラム及び例えば動画像データなどのデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ１９０２、記憶装置１９０５、又は可搬型記録媒体１９１０のような、物理的な（非一時的な）記録媒体である。
【０１３９】
ネットワーク接続装置１９０７は、Local Area Network（ＬＡＮ）、インターネット等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。ネットワーク接続装置１９０７は、動画像復号装置に対して符号化ストリームを出力する出力インタフェースとして用いることもできる。情報処理装置１９００は、動画像符号化プログラム及び例えば動画像データなどのデータを外部の装置からネットワーク接続装置１９０７を介して受信し、それらをメモリ１９０２にロードして使用することもできる。
【０１４０】
なお、図１９に示す情報処理装置１９００のハードウェア構成は例示であり、実施形態はこれに限定されるものではない。例えば、情報処理装置１９００は、用途や条件に応じて一部の構成要素が省略されていてもよい。例えば、ユーザ又はオペレータとのインタフェースが利用されない場合は、入力装置１９０３及び出力装置１９０４を省略してもよい。また、情報処理装置１９００が可搬型記録媒体１９１０にアクセスしない場合は、媒体駆動装置１９０６を省略してもよい。
【０１４１】
また、例えば、別の実施形態では、上述の動画像符号化装置４０の制御部４００の一部又は全部の機能はＦＰＧＡ及びＳｏＣなどによるハードウェアとして実装されてもよい。なお、ＦＰＧＡは、Field Programmable Gate Arrayの略称である。ＳｏＣは、System-on-a-chipの略称である。
【０１４２】
上述の実施形態を含むいくつかの実施形態は、上述の実施形態の各種変形形態及び代替形態を包含するものとして当業者には理解される。例えば、各種実施形態は、構成要素を変形して具体化されてよい。また、上述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態が実施されてよい。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施されてよい。
【符号の説明】
【０１４３】
４０        動画像符号化装置
４００      制御部
４０１      設定部
４０２      決定部
４０３      変換符号化部
４１０      記憶部
５０１      イントラ予測方向判定部
５０２      イントラＴＵモード判定部
５０３      ＣＵモード判定部
５０４      イントラ予測画像生成部
５０５      差分画像生成部
５０６      直交変換・量子化部
５０７      エントロピー符号化部
５０８      逆直交変換・逆量子化部
５０９      復号画像生成部
５１０      復号画像記憶部
６０１      エッジ情報抽出部
６０２      エッジ方向決定部
６０３      候補ＴＵサイズ決定部
６０４      ＴＵサイズ判定部
１７０１    エッジ情報抽出部
１７０２    候補イントラ予測方向決定部
１７０３    イントラ予測方向決定部
１９００    情報処理装置
１９０１    プロセッサ
１９０２    メモリ
１９０３    入力装置
１９０４    出力装置
１９０５    記憶装置
１９０６    媒体駆動装置
１９０７    ネットワーク接続装置
１９０９    バス
１９１０    可搬型記録媒体
【図１】
2016208094.tif 000007
【図２】
2016208094.tif 000008
【図３】
2016208094.tif 000009
【図４】
2016208094.tif 000010
【図５】
2016208094.tif 000011
【図６】
2016208094.tif 000012
【図７】
2016208094.tif 000013
【図８】
2016208094.tif 000014
【図９】
2016208094.tif 000015
【図１０】
2016208094.tif 000016
【図１２】
2016208094.tif 000017
【図１３】
2016208094.tif 000018
【図１４】
2016208094.tif 000019
【図１５】
2016208094.tif 000020
【図１６】
2016208094.tif 000021
【図１７】
2016208094.tif 000022
【図１８】
2016208094.tif 000023
【図１９】
2016208094.tif 000024
【図１１】
2016208094.tif 000025