(57)【要約】【課題】画像符号化の処理の効率化を図ることを目的とする。【解決手段】複数のサイズの中から選択されたサイズのブロック単位で原画像に対するイントラ予測符号化を行う画像符号化装置であって、原画像を分割することにより得られたブロックに基づいて、イントラ予測を行う際の処理単位となる予測ブロックのブロックサイズを決定するサイズ決定手段と、サイズ決定手段により決定されたブロックサイズの予測ブロックに対し、予測モード候補に従いイントラ予測を行い、予測誤差を求める予測手段と、予測誤差と、予測モード候補と、予測ブロックのブロックサイズと、に基づいて、予測ブロックに対する符号化コストを決定するコスト決定手段と、符号化コストに基づいて、予測ブロックに対する予測モードを決定するモード決定手段とを有する。【選択図】図２
2018186456.tif 000002
【特許請求の範囲】
【請求項１】
複数のサイズの中から選択されたサイズのブロック単位で原画像に対するイントラ予測符号化を行う画像符号化装置であって、
原画像を分割することにより得られたブロックに基づいて、イントラ予測を行う際の処理単位となる予測ブロックのブロックサイズを決定するサイズ決定手段と、
前記サイズ決定手段により決定されたブロックサイズの前記予測ブロックに対し、予測モード候補に従いイントラ予測を行い、予測誤差を求める予測手段と、
前記予測誤差と、前記予測モード候補と、前記予測ブロックのブロックサイズと、に基づいて、前記予測ブロックに対する符号化コストを決定するコスト決定手段と、
前記符号化コストに基づいて、前記予測ブロックに対する予測モードを決定するモード決定手段と
を有することを特徴とする画像符号化装置。
【請求項２】
前記モード決定手段は、前記符号化コストが最小となる予測モード候補を、前記予測ブロックの予測モードとして決定することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記コスト決定手段は、
前記予測誤差に関する第１の値と、前記予測モード候補に関する第２の値と、を加算することにより、前記符号化コストを算出し、
さらに、前記予測ブロックに隣接する隣接ブロックに対して決定された予測モードが前記予測モード候補として選択された場合に、前記隣接ブロックの予測モード以外の予測モードが前記予測モード候補として選択された場合に比べて小さな値を前記第２の値として用いることを特徴とする請求項２に記載の画像符号化装置。
【請求項４】
前記コスト決定手段は、前記隣接ブロックに対して決定された予測モードと異なる予測モードが前記予測モード候補として選択された場合の前記第２の値に対する、前記隣接ブロックに対して決定された予測モードが前記予測モード候補として選択された場合の前記第２の値の割合が、前記予測ブロックのブロックサイズが大きくなる程、小さくなるような値を前記第２の値として用いることを特徴とする請求項３に記載の画像符号化装置。
【請求項５】
複数のサイズの中から選択されたサイズのブロック単位で原画像に対するイントラ予測符号化を行う画像符号化装置であって、
原画像を分割することにより得られたブロックに基づいて、イントラ予測を行う際の処理単位となる予測ブロックのブロックサイズを決定するサイズ決定手段と、
前記サイズ決定手段により決定されたブロックサイズの前記予測ブロックに対し、予測モード候補に従いイントラ予測を行い、予測誤差を求める予測手段と、
前記サイズ決定手段により決定されたブロックサイズの前記予測ブロックの複雑度を特定する複雑度特定手段と、
前記予測誤差と、前記予測モード候補と、前記複雑度と、に基づいて、前記予測ブロックに対する符号化コストを決定するコスト決定手段と、
前記符号化コストに基づいて、前記予測ブロックに対する予測モードを決定するモード決定手段と
を有することを特徴とする画像符号化装置。
【請求項６】
前記モード決定手段は、前記符号化コストが最小となる予測モード候補を、前記予測ブロックの予測モードとして決定することを特徴とする請求項５に記載の画像符号化装置。
【請求項７】
前記コスト決定手段は、
前記予測誤差に関する第１の値と、前記予測モード候補に関する第２の値と、を加算することにより、前記符号化コストを算出し、
さらに、前記予測ブロックに隣接する隣接ブロックに対して決定された予測モードが前記予測モード候補として選択された場合に、前記隣接ブロックの予測モード以外の予測モードが前記予測モード候補として選択された場合に比べて小さな値を前記第２の値として用いることを特徴とする請求項６に記載の画像符号化装置。
【請求項８】
前記コスト決定手段は、前記隣接するブロックに対して決定された予測モードと異なる予測モードが前記予測モード候補として選択された場合の前記第２の値に対する、前記隣接するブロックに対して決定された予測モードが前記予測モード候補として選択された場合の前記第２の値の割合が、前記複雑度が高くなる程、小さくなるような値を前記第２の値として用いることを特徴とする請求項７に記載の画像符号化装置。
【請求項９】
複数のサイズの中から選択されたサイズのブロック単位で原画像に対するイントラ予測符号化を行う画像符号化装置が実行する画像符号化方法であって、
原画像を分割することにより得られたブロックに基づいて、イントラ予測を行う際の処理単位となる予測ブロックのブロックサイズを決定するサイズ決定ステップと、
前記サイズ決定ステップにおいて決定されたブロックサイズの前記予測ブロックに対し、予測モード候補に従いイントラ予測を行い、予測誤差を求める予測ステップと、
前記予測誤差と、前記予測モード候補と、前記予測ブロックのブロックサイズと、に基づいて、前記予測ブロックに対する符号化コストを決定するコスト決定ステップと、
前記符号化コストに基づいて、前記予測ブロックに対する予測モードを決定するモード決定ステップと
を含むことを特徴とする画像符号化方法。
【請求項１０】
複数のサイズの中から選択されたサイズのブロック単位で原画像に対するイントラ予測符号化を行う画像符号化装置が実行する画像符号化方法であって、
原画像を分割することにより得られたブロックに基づいて、イントラ予測を行う際の処理単位となる予測ブロックのブロックサイズを決定するサイズ決定ステップと、
前記サイズ決定ステップにおいて決定されたブロックサイズの前記予測ブロックに対し、予測モード候補に従いイントラ予測を行い、予測誤差を求める予測ステップと、
前記サイズ決定ステップにおいて決定されたブロックサイズの前記予測ブロックの複雑度を特定する複雑度特定ステップと、
前記予測誤差と、前記予測モード候補と、前記複雑度と、に基づいて、前記予測ブロックに対する符号化コストを決定するコスト決定ステップと、
前記符号化コストに基づいて、前記予測ブロックに対する予測モードを決定するモード決定ステップと
を含むことを特徴とする画像符号化方法。
【請求項１１】
複数のサイズの中から選択されたサイズのブロック単位で原画像に対するイントラ予測符号化を行う画像符号化装置のコンピュータを、
原画像を分割することにより得られたブロックに基づいて、イントラ予測を行う際の処理単位となる予測ブロックのブロックサイズを決定するサイズ決定手段と、
前記サイズ決定手段により決定されたブロックサイズの前記予測ブロックに対し、予測モード候補に従いイントラ予測を行い、予測誤差を求める予測手段と、
前記予測誤差と、前記予測モード候補と、前記予測ブロックのブロックサイズと、に基づいて、前記予測ブロックに対する符号化コストを決定するコスト決定手段と、
前記符号化コストに基づいて、前記予測ブロックに対する予測モードを決定するモード決定手段と
して機能させるためのプログラム。
【請求項１２】
複数のサイズの中から選択されたサイズのブロック単位で原画像に対するイントラ予測符号化を行う画像符号化装置のコンピュータを、
原画像を分割することにより得られたブロックに基づいて、イントラ予測を行う際の処理単位となる予測ブロックのブロックサイズを決定するサイズ決定手段と、
前記サイズ決定手段により決定されたブロックサイズの前記予測ブロックに対し、予測モード候補に従いイントラ予測を行い、予測誤差を求める予測手段と、
前記サイズ決定手段により決定されたブロックサイズの前記予測ブロックの複雑度を特定する複雑度特定手段と、
前記予測誤差と、前記予測モード候補と、前記複雑度と、に基づいて、前記予測ブロックに対する符号化コストを決定するコスト決定手段と、
前記符号化コストに基づいて、前記予測ブロックに対する予測モードを決定するモード決定手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化装置、画像符号化方法及びプログラムに関する。
【背景技術】
【０００２】
従来、動画像の圧縮記録の符号化方式として、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（以下Ｈ．２６４）が知らされている。また、Ｈ．２６４の後継としてさらに高効率な国際標準符号化方式であるＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ符号化方式（以下、ＨＥＶＣ）が知られている（非特許文献１、非特許文献２参照）。ＨＥＶＣにおいては符号化効率を向上させるために、画面内における画素間の相関を利用して画面内予測（以下、イントラ予測と記す）を行い予測誤差を符号化するイントラ予測符号化が採用されている。このイントラ予測は、予測の単位である予測ブロックのサイズ（以下、予測ブロックサイズ）に基づいて行われる。
【０００３】
Ｈ．２６４においては、予測ブロックサイズとして水平方向４画素、垂直方向４画素（以下、４×４画素と示す）、８×８画素、１６×１６画素の３種類が選択可能である。またＨ．２６４においては符号化の単位であるマクロブロック内で異なる予測ブロックサイズを混在させることはできない。
【０００４】
ＨＥＶＣにおいては、予測ブロックサイズとして４×４画素、８×８画素、１６×１６画素、３２×３２画素、６４×６４画素の５種類を使用可能である。さらにＨＥＶＣにおいては符号化のブロック単位であるＣｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔ（以下、ＣＴＵ）内において、異なる予測ブロックサイズを混在させて使用することが可能である。さらに、画像の輝度成分のイントラ予測モード（以下、輝度イントラ予測モード）として、各予測ブロックサイズに対して３５個のモードが夫々定義されている。そして、ＨＥＶＣにおいてイントラ予測符号化を行う場合に、５種類の予測ブロックサイズ及び３５個の輝度イントラ予測モードから最適な予測ブロックサイズ及び輝度イントラ予測モードを選択しないと、予測誤差が大きくなり、符号化効率が低下してしまう。
【０００５】
また、ＨＥＶＣ  Ｓｏｆｔｗａｒｅ（非特許文献２、以下ＨＭ）における予測ブロックサイズの決定方法においては、演算量が膨大になる。各予測ブロックサイズについて、輝度イントラ予測モード及び色差イントラ予測モードの全ての組み合わせについて符号化コストを算出するためである。このため、符号化の対象画像が高解像度を有する場合に、リアルタイムでの符号化が困難であるという問題があった。これに対し、特許文献１には、画像の平坦度合いに応じて予測ブロックサイズを決定し、当該決定したブロックサイズに基づいて予測モードを決定する方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−１４０１６９号公報
【非特許文献】
【０００７】
【非特許文献１】ＩＴＵ−Ｔ  Ｈ．２６５  （０４／２０１３）  Ｈｉｇｈ  ｅｆ  ｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ
【非特許文献２】ＨＥＶＣ  Ｓｏｆｔｗａｒｅ  ［Ｏｎｌｉｎｅ］、［平成２９年４月１０日検索］、インターネット：＜  ｈｔｔｐｓ：／／ｈｅｖｃ．ｈｈｉ．ｆｒａｕｎｈｏｆｅｒ．ｄｅ／ｓｖｎ／ｓｖｎ＿ＨＥＶＣＳｏｆｔｗａｒｅ／  ＞
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、画像符号化における更なる効率化が望まれている。本発明はこのような問題点に鑑みなされたもので、画像符号化の処理の効率化を図ることを目的とする。
【課題を解決するための手段】
【０００９】
そこで、本発明は、複数のサイズの中から選択されたサイズのブロック単位で原画像に対するイントラ予測符号化を行う画像符号化装置であって、画像を分割することにより得られたブロックに基づいて、イントラ予測を行う際の処理単位となる予測ブロックのブロックサイズを決定するサイズ決定手段と、前記サイズ決定手段により決定されたブロックサイズの前記予測ブロックに対し、予測モード候補に従いイントラ予測を行い、予測誤差を求める予測手段と、前記予測誤差と、前記予測モード候補と、前記予測ブロックのブロックサイズと、に基づいて、前記予測ブロックに対する符号化コストを決定するコスト決定手段と、前記符号化コストに基づいて、前記予測ブロックに対する予測モードを決定するモード決定手段とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、画像符号化の処理の効率化を図ることができる。
【図面の簡単な説明】
【００１１】
【図１】動画符号化装置の機能ブロック図である。
【図２】イントラ予測部の機能ブロック図である。
【図３】イントラ予測処理を示すフローチャートである。
【図４】画素ブロックの説明図である。
【図５】予測ブロックサイズ決定処理を示すフローチャートである。
【図６】モード決定部の機能ブロック図である。
【図７】Ｒ値決定処理の説明図である。
【図８】第２の実施形態に係るイントラ予測部の機能ブロック図である。
【図９】モード決定部の機能ブロック図である。
【図１０】動画符号化装置のハードウェア構成図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について図面に基づいて説明する。
【００１３】
（第１の実施形態）
図１は、第１の実施形態に係る動画像符号化装置１００の機能ブロック図である。動画像符号化装置１００は、異なる複数のサイズの中から選択（決定）されたブロック単位でイントラ予測符号化及びインター予測符号化を行うことができる。動画像符号化装置１００は、全体制御部１０１と、直交変換部１０２と、量子化部１０３と、符号化部１０４と、を有している。動画像符号化装置１００は、さらに、逆量子化部１０５と、逆直交変換部１０６と、フィルタ部１０７と、インター予測部１０８と、イントラ予測部１０９と、判定部１１０と、加算器１１１と、を有している。
【００１４】
動画像符号化装置１００に入力された入力画像（入力フレーム）はインター予測部１０８とイントラ予測部１０９に入力される。インター予測部１０８は、入力画像に対して参照画像（参照フレーム）を用いたインター予測処理を行い、その予測結果（予測誤差、動きベクトル情報、ブロックサイズ、符号化コスト等）を判定部１１０に出力する。イントラ予測部１０９は、入力画像（入力フレーム）に対してイントラ予測処理を行い、その予測結果（予測誤差、予測モード、ブロックサイズ、符号化コスト等）を判定部１１０に出力する。
【００１５】
判定部１１０は、インター予測の符号化コストとイントラ予測の符号化コストとを比較し、一方の予測誤差とブロックサイズの情報を直交変換部１０２へと出力する。判定部１１０はさらに、インター予測を選択した場合は動きベクトルを符号化部１０４へ、インター予測画像を加算器１１１へと出力する。判定部１１０は、イントラ予測を選択した場合は、予測モードを符号化部１０４へ、イントラ予測画像を加算器１１１へと出力する。
【００１６】
直交変換部１０２は、予測誤差に対して直交変換を行い、変換係数を量子化部１０３に出力する。量子化部１０３は変換係数を量子化し、変換量子化係数を符号化部１０４に出力する。符号化部１０４は、判定部１１０から入力される予測モードと、動きベクトルと、変換量子化係数と、を各々符号化し、符号化ストリームとして出力する。さらに変換量子化係数は逆量子化部１０５で逆量子化、逆直交変換部１０６で逆直交変換を施されることで予測誤差として復元される。復元された予測誤差は加算器１１１に入力される。加算器１１１は、復元された予測誤差と予測処理部１１２からの予測画像とを加算することで再構成画像を生成し、フィルタ部１０７とイントラ予測部１０９に出力する。フィルタ部１０７は、加算器１１１からの再構成画像にフィルタ処理を行い、インター予測に用いる再構成画像として出力し、不図示の記憶部に記憶する。なお、各部の制御は全体制御部１０１からの制御信号（不図示）を通して行う。
【００１７】
図２は、イントラ予測部１０９の機能ブロック図である。イントラ予測部１０９は、イントラ予測部１０９は、サイズ決定部２０１と、モード決定部２０２と、予測部２０３と、を有している。サイズ決定部２０１は、ＣＴＵ単位で画像を取り込み、ＣＴＵの各サブブロックの特徴量を算出する。サイズ決定部２０１はまた、特徴量に基づいて、ＣＴＵについて、ツリー状階層構造で表される、予め定義された予測ブロックサイズ構造に則り各階層における予測ブロックサイズを決定する。ここで、予測ブロックとは、イントラ予測を行う際の処理単位となるサイズのブロックである。また、予測ブロックサイズは、予測ブロックのサイズである。予測ブロックサイズは、ＣＴＵのブロックサイズ以下で、かつサブブロックのサイズ以上となる。サイズ決定部２０１によるブロックサイズ決定方法に関する詳細については、後述する。
【００１８】
モード決定部２０２は、量子化パラメータ、予測部２０３より出力される予測誤差を入力とし、サイズ決定部２０１で決定された予測ブロックサイズをもとに、処理対象ＣＴＵの予測モードを決定する。予測部２０３は、サイズ決定部２０１により決定された予測ブロックサイズ及びモード決定部２０２より決定された予測モードに基づき、処理対象の画像に対する予測処理を行なう。この際、予測部２０３は、既に符号化された画像の再構成画像を予測値として使用する。さらに予測部２０３は、予測値と処理対象の画像との誤差をとり、予測誤差値として出力する。
【００１９】
図３は、イントラ予測部１０９によるイントラ予測処理を示すフローチャートである。まずＳ３００において、サイズ決定部２０１は、入力画像（原画像）をＣＴＵ単位で取り込む。次に、Ｓ３０１において、サイズ決定部２０１は、Ｓ３００において取り込んだＣＴＵから処理対象の１つのサブブロックを読み出す。そして、サイズ決定部２０１は、処理対象のサブブロックの特徴量を抽出する。本実施形態においては、サイズ決定部２０１は、処理対象のサブブロックの複雑度を表す指標値の１つであるアクティビティを特徴量として用いるものとする。アクティビティとは、算出対象となるブロックに属する各画素の輝度値と、該ブロックの輝度値の平均値との差分絶対値和で表され、値が大きいほど複雑度が高いと考えることができる。なお、特徴量は、イントラ予測における予測ブロックサイズの決定に有効な値であればよく、実施形態に限定されるものではない。特徴量の他の例としては、例えば輝度の分散や、色差のアクティビティ、分散等が挙げられる。
【００２０】
次に、Ｓ３０２において、サイズ決定部２０１は、ステップＳ２０１において得たサブブロックの特徴量に基づいて、処理対象のＣＴＵについて予測ブロックサイズを決定する。本処理は、サイズ決定処理の一例である。ここで、ＣＵＴの予測ブロックサイズ決定処理（Ｓ３０２）について説明する。本実施形態においては、ＣＴＵサイズが３２×３２画素である場合を例に説明する。図４は、３２×３２サイズＣＴＵに属する８×８画素ブロックと、１６×１６画素ブロックの関係を示す図である。ここで、ＰＵはＰｒｅｄｉｃｔｉｏｎ  Ｕｎｉｔの略であり、予測ブロックを意味する。本実施形態においては、８×８画素ブロックをＰＵ８×８ij（ｉ＝０，１，２，３；ｊ＝０，１，２，３）、１６×１６画素ブロックをＰＵ１６×１６i（ｉ＝０，１，２，３）と表すこととする。図４に示すように、３２×３２画素ブロックは、４つの１６×１６画素ブロック（ＰＵ１６×１６1〜ＰＵ１６×１６3）からなる。また、１６×１６画素ブロックＰＵ１６×１６i（ｉ＝０，１，２，３）は、それぞれ４つの８×８画素ブロック（ＰＵ８×８i0〜ＰＵ８×８i3）からなる。
【００２１】
サイズ決定部２０１は、ブロックサイズ情報として、３２×３２ＣＴＵ及びこれに属する各ＰＵに対応するフラグを格納するレジスタを有するものとする。当該フラグは非ＰＵ３２フラグ、非ＰＵ１６フラグ［ｉ］（ｉ＝０，１，２，３）、及び非ＰＵ８フラグ［ｉｊ］（ｉ＝０，１，２，３；ｊ＝０，１，２，３）より構成される。非ＰＵ３２フラグは、３２×３２画素ブロックのＰＵサイズを３２×３２サイズとするか否かの情報を格納する。本実施形態ではこのフラグの値の意味を、３２×３２サイズにする場合は０、そうでない場合は１と定義づけるものとする。
【００２２】
また非ＰＵ１６フラグ［ｉ］（ｉ＝０，１，２，３）は、図４に示すＰＵ１６×１６iに対応し、これらの１６×１６画素ブロックを１６×１６サイズにするか否かの情報を格納する。本実施形態ではこのフラグの値の意味を、１６×１６サイズにする場合は０、そうでない場合は１と定義づけるものとする。また非ＰＵ８フラグ［ｉｊ］（ｉ＝０，１，２，３；ｊ＝０，１，２，３）は、図４に示すＰＵ８×８ijに対応し、これらの８×８画素ブロックを８×８サイズにするか否かの情報を格納する。本実施形態では、このフラグの値の意味を、８×８サイズにする場合は０、４×４サイズに分割する場合は１と定義づけるものとする。
【００２３】
図５は、予測ブロックサイズ決定処理（Ｓ３０２）における詳細な処理を示すフローチャートである。まずＳ５００において、サイズ決定部２０１は、ＣＴＵ毎の初期化処理を行う。ここでサイズ決定部２０１は、非ＰＵ３２フラグ、非ＰＵ１６フラグ［ｉ］、及び非ＰＵ８フラグ［ｉｊ］を格納するレジスタを全てゼロクリアする。また、サイズ決定部２０１は、変数ｉ及びｊもゼロクリアする。次に、Ｓ５０１において、サイズ決定部２０１は、サブブロックとして使用する、８×８画素ブロックＰＵ８×８ijのアクティビティ値を取得する。次にＳ５０２において、サイズ決定部２０１は、Ｓ５０１において取得したアクティビティ値と予め定められたＰＵ８×８用閾値とを比較する。
【００２４】
一般的にアクティビティ値が低い場合、そのブロック内における画素値の変化が少ないと考えられるため、イントラ予測を行なう単位を細かく設定する必要はないと考えることができる。例えば、画面内の空や模様の無い壁等の領域内においては、画素値の変化はほとんど無いため、こうした領域ではイントラ予測の単位サイズに関わらず予測精度は高い。そのため予測誤差以外の付帯情報量の少ない分、イントラ予測単位サイズを大きく設定する方が有利といえる。一方で、画素値の変化が比較的多い場合には、イントラ予測を行う単位をより細かく設定した方が有利といえる。
【００２５】
サイズ決定部２０１は、アクティビティ値がＰＵ８×８用閾値より大きい場合には（Ｓ５０２でＹｅｓ）、処理をＳ５０３へ進める。サイズ決定部２０１は、アクティビティ値がＰＵ８×８用閾値以下の場合には（Ｓ５０２でＮｏ）、処理をＳ５０４へ進める。Ｓ５０３において、サイズ決定部２０１は、処理対象の８×８画素ブロックＰＵ８×８ijのＰＵサイズを４×４に決定する。このように、アクティビティ値がＰＵ８×８用閾値より大きい場合は、処理対象の８×８画素ブロック内における画素値の変化は比較的多い場合に対応するものとし、サイズ決定部２０１は、比較的小さい予測ブロックサイズを設定することとする。
【００２６】
さらに、Ｓ５０３において、サイズ決定部２０１は、関連する非ＰＵ８フラグ［ｉｊ］を１に更新する。サイズ決定部２０１は、Ｓ５０３において処理対象の８×８画素の予測ブロックサイズを４×４と決定したことに従い、１６×１６画素ブロックＰＵ１６×１６iに対応する非ＰＵ１６フラグ［ｉ］も１に更新する。８×８画素ブロックＰＵ８×８ijの属する上位階層ブロックＰＵ１６×１６iの予測ブロックサイズが１６×１６サイズとなることはないためである。サイズ決定部２０１は同様に、非ＰＵ３２フラグも１に更新する。３２×３２ＣＴＵの予測ブロックサイズが３２×３２サイズとなることもないためである。
【００２７】
Ｓ５０４において、サイズ決定部２０１は、８×８画素ブロックＰＵ８×８ijのアクティビティ値と予め定められたＰＵ１６×１６用閾値とを比較する。サイズ決定部２０１は、上位階層ブロックＰＵ１６×１６iの予測ブロックサイズについては、ＰＵ１６×１６iに属するすべての８×８画素ブロックＰＵ８×８i0〜ＰＵ８×８i3のアクティビティとＰＵ１６×１６用閾値とを比較する。そして、サイズ決定部２０１は、ＰＵ１６×１６iに属する８×８画素ブロックのアクティビティのすべてがＰＵ１６×１６用閾値以下の場合にのみ、１６×１６サイズに決定するものとする。サイズ決定部２０１は、アクティビティ値がＰＵ１６×１６用閾値より大きい場合には（Ｓ５０４でＹｅｓ）、処理をＳ５０５へ進める。Ｓ５０４における比較結果がＹｅｓだった場合は、８×８画素ブロックＰＵ８×８ijの属する上位階層ブロックＰＵ１６×１６iの予測ブロックサイズは、１６×１６サイズより細かい値が好ましい。
【００２８】
Ｓ５０５において、サイズ決定部２０１は、１６×１６画素ブロックＰＵ１６×１６iに対応する非ＰＵ１６フラグ［ｉ］を１に更新することとする。また、３２×３２ＣＴＵの予測単位ブロックサイズが３２×３２サイズとなることはなくなるため、サイズ決定部２０１はさらに、非ＰＵ３２フラグも１に更新する。サイズ決定部２０１は、Ｓ５０５の処理の後、処理をＳ５０８へ進める。サイズ決定部２０１は、アクティビティ値がＰＵ１６×１６用閾値以下の場合には（Ｓ５０４Ｎｏ）、処理をＳ５０６へ進める。
【００２９】
Ｓ５０６において、サイズ決定部２０１は、８×８画素ブロックＰＵ８×８ijのアクティビティ値と予め定められたＰＵ３２×３２用閾値とを比較する。サイズ決定部２０１は、３２×３２ＣＴＵのイントラ予測単位サイズについては、３２×３２ＣＴＵに属するすべての８×８画素ブロックＰＵ８×８i0〜ＰＵ８×８i3の特徴量とＰＵ３２×３２用閾値とを比較する。そして、サイズ決定部２０１は、３２×３２ＣＴＵに属するすべての８×８画素ブロックのアクティビティのすべてがＰＵ３２×３２用閾値以下の場合にのみ、３２×３２サイズに決定するものとする。
【００３０】
サイズ決定部２０１は、アクティビティ値がＰＵ３２×３２用閾値より大きい場合には（Ｓ５０６でＹｅｓ）、処理をＳ５０７へ進める。Ｓ５０６における比較結果がＹｅｓだった場合は、３２×３２ＣＴＵのイントラ予測単位サイズは、３２×３２サイズより細かい値が好ましい。Ｓ５０７において、サイズ決定部２０１は、３２×３２ＣＴＵに対応する非ＰＵ３２フラグを１に更新し、その後処理をＳ５０８へ進める。サイズ決定部２０１は、アクティビティ値がＰＵ３２×３２用閾値以下の場合には（Ｓ５０６でＮｏ）、処理をＳ５０８へ進める。
【００３１】
Ｓ５０８において、サイズ決定部２０１は、変数ｊが３と等しいか否かを確認する。サイズ決定部２０１は、変数ｊが３と等しい場合には（Ｓ５０８でＹｅｓ）、処理をＳ５１０へ進める。サイズ決定部２０１は、変数ｊが３と等しくない場合には（Ｓ５０８でＮｏ）、処理をＳ５０９へ進める。Ｓ５０９において、サイズ決定部２０１は、変数ｊの値をインクリメントし、その後処理をＳ５０１へ進める。このように、１つの１６×１６画素ブロックＰＵ１６×１６iに属する８×８画素ブロックについて順にスキャンし、Ｓ５０１〜Ｓ５０７に示す処理を、すべての８×８画素ブロックＰＵ８×８i0〜ＰＵ８×８i3に対して行なっていく。
【００３２】
Ｓ５１０において、サイズ決定部２０１は、変数ｊをゼロクリアし、その後処理をＳ５１１へ進める。Ｓ５１１において、サイズ決定部２０１は、変数ｉが３と等しいか否かを確認する。サイズ決定部２０１は、変数ｉが３と等しい場合には（Ｓ５１１でＹｅｓ）、予測ブロックサイズ決定処理を終了する。サイズ決定部２０１は、変数ｉが３と等しくない場合には（Ｓ５１１でＮｏ）、処理を５１２へ進める。Ｓ５１２において、サイズ決定部２０１は、変数ｉの値をインクリメントし、その後処理をＳ５０１へ進める。このように、３２×３２ＣＴＵに属する１６×１６画素ブロックについて順にスキャンし、Ｓ５０１〜Ｓ５１０に示す処理をすべての１６×１６画素ブロックＰＵ１６×１６0〜ＰＵ１６×１６3に対して行なっていく。なお、本実施形態においては、ＰＵ８×８用閾値、ＰＵ１６×１６用閾値、及びＰＵ３２×３２用閾値はいずれも予め定められた値を使用する例を示したが、これに限定されるものではない。
【００３３】
一般的に画像の平坦な部分は大きな予測ブロックサイズを使用しても、画像の予測誤差は十分小さくでき、かつ予測モード情報等の符号化パラメータに要するビット数を抑えることができるため、大きな予測ブロックサイズを選択するのが望ましい。その一方で、画像の複雑な部分はブロックサイズを小さくしてきめ細かな予測を行わないと画像の予測誤差を小さくすることができないケースが多いため、予測ブロックサイズを小さくするのが望ましいといえる。これに対し、本実施形態の動画像符号化装置１００は、上述のように平坦な部分に対しては比較的大きな予測ブロックサイズを決定し、画像の複雑な部分に対して比較的小さな予測ブロックサイズを決定することができる。さらに、動画像符号化装置１００は、後述するように、ブロックサイズ決定後に予測モード探索を行うことで、符号化コストを算出するための演算量を削減することが可能である。
【００３４】
図３に戻り、Ｓ３０２の処理の後、Ｓ３０３において、モード決定部２０２は、量子化パラメータ及びＳ３０２において決定された予測ブロックサイズを示すブロックサイズ情報に基づき、各ブロックについて処理対象ＣＴＵのイントラ予測モードを決定する。この際、モード決定部２０２は、各ブロックについてそれぞれに設定された予測ブロックサイズに対応する３５種類の輝度イントラ予測モードと５種類の色差イントラ予測モードの各モードで予測を行なった場合の予測誤差をそれぞれ算出する。そして、モード決定部２０２は、算出結果に基づいて、最適な予測モードを探索する。
【００３５】
なお、モード決定部２０２が予測モードを決定する際の予測モード探索アルゴリズムは特に限定されるものではない。モード決定部２０２は、輝度イントラ予測モード及び色差イントラ予測モード探索においては、すべてのモードを網羅して探索してもよく、特定のモードを省略して探索してもよい。また、モード決定部２０２は、色差イントラ予測モード探索を行わず、輝度について探索した予測モードと同一の予測モードを選ぶようにしてもよい。
【００３６】
そして、モード決定部２０２は、探索する予測モードを予測部２０３へ出力する。予測部２０３は、予測モードに従い、イントラ予測を行い、予測誤差を求める。モード決定部２０２は、これに対応する予測誤差を予測部２０３より受け取り、探索予測モードにおける符号化コストを算出する。そして、モード決定部２０２は、決定した符号化コストと、過去探索した予測モードの符号化コストと、を比較して次の探索予測モードを決定して予測部２０３へと出力する。これを繰り返すことで最適な予測モードを決定する。また、これを処理対象ＣＴＵの各ブロックに対して行うことで、処理対象ＣＴＵの分割された各ブロックの予測モードを決定する。
【００３７】
図６は、モード決定部２０２の機能ブロック図である。モード決定部２０２は、コスト算出部６００と、モード探索部６１０と、を有している。コスト算出部６００は、ブロックサイズ情報、量子化パラメータ、予測誤差、及び探索予測モード情報を入力として、対応するブロックの符号化コストを計算して出力する。一般的に、符号化コストの算出はＤ＋λ＊Ｒという関数を用いて行うことが多く、探索する予測モード毎にこれを計算して最小の符号化コストの予測モードを選択する。
【００３８】
本実施形態においても、コスト算出部６００は、Ｄ＋λ＊Ｒの関数を用いて符号化コストを算出する。ここで、Ｄは入力画像と予測画像の差分より得られる歪み量であり、本実施形態においては、Ｄとして、予測誤差の差分絶対値和（ＳＡＤ）を用いるものとする。なお、Ｄ値は、ＳＡＤに限定されるものではなく、予測誤差をアダマール変換した絶対値和（ＳＡＴＤ）、２乗誤差和（ＳＳＤ）等であってもよい。また、λは歪み量と予測モードの符号量の比率を合わせこむ係数であり、量子化パラメータに基づき算出される。画素値自体の符号量と予測モードの符号量の比率は量子化パラメータによって変わるため、これをλで表現している。また、Ｒは予測モードを符号化するのに必要な符号量であり、本実施形態においてはブロックサイズ情報及び探索予測モード情報に応じて算出される。
【００３９】
モード探索部６１０は、ブロックサイズ情報及び符号化コストを入力として、探索すべき予測モードを順次決定し、探索すべき予測モードを探索予測モード情報として出力する。また、モード探索部６１０は、探索の結果として最適な予測モードを決定し、決定した予測モードを決定予測モード情報として出力する。
【００４０】
コスト算出部６００は、Ｄ算出部６０１と、λ算出部６０２と、Ｒ決定部６０３と、乗算器６０４と、加算器６０５と、を有している。Ｄ算出部６０１は、処理対象ブロックの探索予測モードに対応する予測誤差を入力とし、対応する画素値符号化コスト（前述のＤ値に相当）を算出して出力する。λ算出部６０２は、量子化パラメータを入力としてλ値を算出して出力する。
【００４１】
Ｒ決定部６０３は、ブロックサイズ情報及び探索予測モードを入力として探索対象の予測モードの符号化コスト（前述のＲ値に相当）を算出し、出力する。以下、探索対象の予測モードを、適宜予測モード候補と称する。ＨＥＶＣにおいては、符号化対象ブロックの予測モードが隣接ブロックの予測モードと同じ場合に圧縮率が高くなるように規格化されている。例えば、処理対象の予測ブロックの予測モードが隣接するブロック（以下、隣接ブロックと称する）の予測モードと同じである場合、予測モードが同じであるか否かを表すフラグのみを符号化し、そうでない場合は当該フラグと予測モードの差分値を符号化する。
【００４２】
これに基づき、Ｒ決定部６０３は、隣接ブロックと同じ予測モードを予測モード候補とする場合の符号化コストが、隣接ブロックと異なる予測モードを予測モード候補とする場合の符号化コストに比べて小さくなるようなＲを算出することとする。これにより、隣接ブロックと同じ予測モードが選ばれ易くなり、予測モードの符号化コスト低減を図ることができる。
【００４３】
また、隣接ブロックと同じ予測モードが選ばれやすくした場合、小さいサイズの予測ブロックが多く存在する画像においては、画像の予測誤差を十分に小さくすることができないケースが存在することがわかっている。これは、平坦度の低い複雑な画像は予測ブロックサイズを小さくしてきめ細かな予測を行うことが望ましいが、隣接ブロックと同じ予測モードを選ばれやすくすることで予測モードに偏りが生じ、十分な予測効果が得られないことが原因である。一方、大きいサイズの予測ブロックにおいては、隣接ブロックと同じ予測モードを選ばれやすくすることによる予測モードの偏りが生じても、画像の予測誤差を十分小さくすることが可能なため、こうした問題は起き難い。
【００４４】
これに対応し、Ｒ決定部６０３は、予測モードに加えて予測ブロックサイズに基づいて、Ｒを算出する。具体的には、Ｒ決定部６０３は、予測モード候補が隣接ブロックの予測モードと等しい場合のＲの値の、予測モード候補が隣接ブロックと等しくない場合のＲの値に対する割合が、予測ブロックサイズに依存して異なるよう調整する。具体的には、Ｒ決定部６０３は、予測モード候補が隣接ブロックの予測モードと等しい場合のＲの値の、予測モード候補が隣接ブロックと等しくない場合のＲの値に対する割合が、予測ブロックサイズが小さくなるほど大きくなるようなＲの値を算出する。これにより、画像の複雑度が高くサイズが小さい予測ブロックの多い画像において、予測モードの偏りが低減され、結果として高い符号化効率を得ることが可能となる。
【００４５】
なお、本実施形態に係るＲ決定部６０３は、テーブルを参照することにより、予測モードと、ブロックサイズに基づいて、Ｒ値を決定する。図７は、テーブルの構成例を示す図である。図７（Ａ）のテーブル７００は、予測モードとブロックサイズの組み合わせとＲの値とを対応付けたテーブルである。図７（Ｂ）は、テーブル７１０の他の例を示す図である。いずれのテーブル７００、７１０においても、各予測モード０〜７に対する予測モード符号化コストＲが、予測ブロックサイズ毎に定められている。ここで予測モード０は隣接ブロックと等しいモードであることを意味する。図７（Ａ）のテーブル７００においては、予測モード０（即ち予測モード候補が隣接ブロックの予測モードと等しい場合）におけるＲ値が、予測ブロックサイズが大きいほど小さくなるように設定されている。
【００４６】
図７（Ｂ）のテーブル７１０は、図７（Ａ）のテーブル７００とＲの値のみが異なっている。テーブル７１０においては、予測モード０におけるＲ値はすべての予測ブロックサイズで同一の値とし、予測モード０以外の予測モードにおけるＲ値がブロックサイズに応じて変わるように設定されている。これにより、相対的に予測ブロックサイズが小さくなる程、予測モード０が選ばれ難くなる。なお、図７（Ａ）のテーブル７００と図７（Ｂ）のテーブル７１０のいずれにおいても、予測モード候補が隣接ブロックの予測モードと等しい場合に、等しくない場合に比べて小さい値がＲとして決定されるようなＲ値が定められている。また、いずれのテーブル７００、７１０においても、予測ブロックサイズが大きくなる程、隣接ブロックの予測モード以外の予測モードに対するＲ値を基準とした、隣接ブロックの予測モードに対するＲ値の割合が小さくなるよう定められている。
【００４７】
λとＲは、乗算器６０４により乗算され、さらに加算器６０５においてＤとλ×Ｒが加算された値が符号化コストとして出力される。図６、図７を参照しつつ説明した、コスト算出部６００の処理は、予測誤差と、予測モード候補と、予測ブロックサイズと、に基づいて、符号化コストを決定するコスト決定処理の一例である。そして、モード探索部６１０は、符号化コストが最小となる予測モード候補を、予測ブロックに対する予測モードとして決定する。本処理は、符号化コストに基づいて予測モードを決定するモード決定処理の一例である。
【００４８】
図３に戻り、Ｓ３０３の処理の後、Ｓ３０４において、予測部２０３は、サイズ決定部２０１から適宜必要な処理対象ＣＴＵの画素値を受け取り、また、予測値を生成するのに必要な再構成画像の画素値を受け取る。そして、予測部２０３は、Ｓ３０２において決定された予測ブロックサイズ及びステップＳ３０３において決定されたイントラ予測モードに基づき、処理対象ＣＴＵのイントラ予測を行ない、予測誤差を出力する。以上で、イントラ処理が終了する。
【００４９】
以上のように、第１の実施形態に係る動画像符号化装置１００においては、予測誤差、予測モード候補だけでなく、予測ブロックサイズに応じて符号化コストを決定する。これにより、複雑度が高くサイズが小さい予測ブロックの多い画像における予測モードの偏りを低減させる等、ブロックサイズを考慮した、画像符号化の処理の効率化を図ることができる。
【００５０】
（第２の実施形態）
次に、第２の実施形態に係る動画像符号化装置１００について、第１の実施形態にかかる動画像符号化装置１００と異なる部分を説明する。図８は、第２の実施形態に係る動画像符号化装置１００のイントラ予測部１０９の機能ブロック図である。イントラ予測部１０９は、サイズ決定部８０１と、モード決定部８０２と、予測部８０３と、を有している。サイズ決定部８０１は、図２を参照しつつ説明したサイズ決定部２０１と同様であるが、さらにサブブロックの複雑度を特定する。ここで、複雑度とは、処理対象の画像の複雑さを示す指標値であり、例えば、処理対象の画像における画素の分散値等が挙げられる。本処理は、複雑度特定処理の一例である。
【００５１】
モード決定部８０２は、量子化パラメータ、予測部８０３より出力される予測誤差を入力とし、サイズ決定部８０１で決定された予測ブロックサイズ及び複雑度に基づいて、処理対象ＣＴＵの予測モードを決定する。予測部８０３は、サイズ決定部８０１により決定された予測ブロックサイズと、モード決定部８０２により決定された予測モードと、に基づいて、サイズ決定部８０１より適宜画像を入力して予測処理を行なう。この際、予測部８０３は、過去に符号化した画像の再構成画像を入力し、予測値として使用する。さらに予測部８０３は、当該予測値と入力画像との誤差をとり、予測誤差値として出力する。なお、予測部８０３は、図２を参照しつつ説明した予測部２０３と同様である。
【００５２】
図９は、モード決定部８０２の機能ブロック図である。モード決定部８０２は、コスト算出部９００と、モード探索部９１０と、を有している。コスト算出部９００は、ブロックサイズ情報、量子化パラメータ、予測誤差、及び探索予測モードを入力として、対応するブロックの符号化コストを計算して出力する。コスト算出部９００は、第１の実施形態に係るコスト算出部６００（図６）と同様に、Ｄ＋λ＊Ｒの関数を用いて符号化コストを算出する。本実施形態においては、Ｒは、複雑度及び予測モード候補に応じて算出される。コスト算出部９００は、Ｄ算出部９０１と、λ算出部９０２と、Ｒ決定部９０３と、乗算器９０４と、加算器９０５と、を有している。Ｄ算出部９０１及びλ算出部９０２は、それぞれ図６を参照しつつ説明した、第１の実施形態に係るＤ算出部６０１及びλ算出部６０２と同様である。乗算器９０４と及び加算器９０５は、それぞれ第１の実施形態に係る乗算器６０４及び加算器６０５と同様である。
【００５３】
Ｒ決定部９０３は、複雑度及び探索予測モードに基づいて、予測モードの符号化コスト（Ｒ）を計算する。第１の実施形態において説明したように、Ｒの算出において隣接ブロックと同じ予測モードのコストを小さくすることとする。これにより、隣接ブロックと同じ予測モードが選ばれ易くし、予測モードの符号化コスト低減を図る。ところで前述したように、平坦度の低い複雑な画像においては、隣接ブロックと同じ予測モードを選ばれ易くすることで予測モードに偏りが生じ、十分な予測効果を得られないケースがあることがわかっている。
【００５４】
これを改善すべく、本実施形態においては、Ｒ決定部９０３は、予測モードに加え複雑度に応じてＲを算出する。具体的には、Ｒ決定部９０３は、複雑度が高くなる程小さくなるような値をＲとして算出する。さらに、Ｒ決定部６０３は、予測モード候補が隣接ブロックの予測モードと等しい場合のＲの値の、予測モード候補が隣接ブロックと等しくない場合のＲの値に対する割合が、複雑度が高くなるほど大きくなるようなＲの値を算出する。これにより、画像の複雑度が高くサイズが小さい予測ブロックの多い画像においても、予測モードの偏りが低減され、結果として高い符号化効率を得ることが可能となる。なお、第２の実施形態に係る動画像符号化装置１００のこれ以外の構成及び処理は、第１の実施形態に係る動画像符号化装置１００の構成及び処理と同様である。
【００５５】
図１０は、上記実施形態に係る動画像符号化装置１００のハードウェア構成図である。動画像符号化装置１００は、ＣＰＵ１００１と、ＲＯＭ１００２と、ＲＡＭ１００３と、ＨＤＤ１００４と、表示部１００５と、入力部１００６と、通信部１００７とを有している。ＣＰＵ１００１は、ＲＯＭ１００２に記憶された制御プログラムを読み出して、上述の処理を含む、各種処理を実行する。ＲＡＭ１００３は、ＣＰＵ１００１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ１００４は、各種データや各種プログラム等を記憶する。表示部１００５は、各種情報を表示する。入力部１００６は、キーボードやマウスを有し、ユーザによる各種操作を受け付ける。通信部１００７は、ネットワークを介して外部装置との通信処理を行う。
【００５６】
なお、後述する動画像符号化装置１００の機能や処理は、ＣＰＵ１００１がＲＯＭ１００２又はＨＤＤ１００４に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。また、他の例としては、ＣＰＵ１００１は、ＲＯＭ１００２等に替えて、ＳＤカード等の記録媒体に格納されているプログラムを読み出してもよい。
【００５７】
また、他の例としては、動画像符号化装置１００の機能や処理の少なくとも一部は、例えば複数のＣＰＵ、ＲＡＭ、ＲＯＭ、及びストレージを協働させることにより実現してもよい。また、他の例としては、動画像符号化装置１００の機能や処理の少なくとも一部は、ハードウェア回路を用いて実現してもよい。
【００５８】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００５９】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６０】
１００  画像符号化装置
１０９  イントラ予測部
２０１  サイズ決定部
２０２  モード決定部
２０３  予測部
【図１】
2018186456.tif 000003
【図２】
2018186456.tif 000004
【図３】
2018186456.tif 000005
【図４】
2018186456.tif 000006
【図５】
2018186456.tif 000007
【図６】
2018186456.tif 000008
【図７】
2018186456.tif 000009
【図８】
2018186456.tif 000010
【図９】
2018186456.tif 000011
【図１０】
2018186456.tif 000012