(57)【要約】【課題】ピクチャを分割した領域ごとに異なる符号化器で符号化する場合に、符号化器間で共有される情報を記憶するメモリ容量を削減できる動画像符号化装置を提供する。【解決手段】動画像符号化装置（１）が有する、ピクチャ中の第１の領域を符号化する符号化部（１１−１）は、インター予測符号化モードが適用される場合に、動きベクトルの予測ベクトルとして、符号化済みの他のピクチャ中の他の符号化部により符号化される第２の領域に含まれる被参照ブロックの動きベクトルを選択する可能性の有る、第１の領域内の第１の制限対象サブブロックを特定する制限ブロック特定部（２１）と、第１の制限対象サブブロックを含み、かつ、インター予測符号化モードの適用単位である第２の制限対象サブブロックをインター予測符号化モードで符号化する際に被参照ブロックの動きベクトル以外の動きベクトルを予測ベクトルとして用いる予測符号化部（２７）を有する。【選択図】図１２
2015173404.tif 000002
【特許請求の範囲】
【請求項１】
動画像に含まれるピクチャを符号化する動画像符号化装置であって、
前記ピクチャを複数の領域に分割する分割部と、
前記複数の領域のうちの互いに異なる領域を符号化して符号化データを生成する複数の符号化部と、
前記複数の符号化部のそれぞれから出力された前記符号化データを所定の順序で並べて前記ピクチャの符号化データを生成する多重化部と、を有し、
前記複数の符号化部のうちの第１の符号化部は、
前記複数の領域のうちの当該第１の符号化部が符号化する第１の領域に含まれる第１のサブブロックを符号化済みの他のピクチャを参照するインター予測符号化モードで符号化する場合に、当該第１のサブブロックの動きベクトルの予測ベクトルとして、前記符号化済みの他のピクチャの前記複数の領域のうちの、前記複数の符号化部のうちの第２の符号化部により符号化される第２の領域に含まれる被参照ブロックの動きベクトルを選択する可能性の有る第１のサブブロックを第１の制限対象サブブロックとして特定する制限ブロック特定部と、
前記第１の領域を分割した、前記インター予測符号化モードまたは前記ピクチャのみを参照するイントラ予測符号化モードの適用単位である複数の第２のサブブロックのうち、前記第１の制限対象サブブロックを含む第２のサブブロックである第２の制限対象サブブロックを、前記インター予測符号化モードで前記第１の制限対象サブブロックについての前記被参照ブロックの動きベクトル以外の動きベクトルを前記予測ベクトルとして符号化するか、または前記イントラ予測符号化モードで符号化することにより符号化データを生成する予測符号化部と、
前記符号化データをエントロピー符号化するエントロピー符号化部と、
を有する動画像符号化装置。
【請求項２】
前記第１の符号化部は、
前記第１の制限対象サブブロックの周囲の所定範囲内にある符号化済みのブロックの何れかが前記インター予測符号化モードで符号化されている場合、当該符号化済みのブロックの動きベクトルを前記予測ベクトルとして設定し、前記所定範囲内にある符号化済みのブロックの何れもが前記イントラ予測符号化モードで符号化されている場合、前記予測ベクトルを無効とするベクトルモード決定部と、
前記第２の制限対象サブブロックに含まれる前記第１の制限対象サブブロックの何れかの前記予測ベクトルが無効である場合、前記第２の制限対象サブブロックを前記イントラ予測符号化モードで符号化し、一方、前記第２の制限対象サブブロックに含まれる前記第１の制限対象サブブロックの全てについて前記予測ベクトルが設定されている場合、前記第２の制限対象サブブロックを、前記イントラ予測符号化モードで符号化したときの符号量の第１の推定値と前記インター予測符号化モードで符号化したときの符号量の第２の推定値とを算出し、前記第１の推定値が前記第２の推定値よりも小さい場合、前記予測符号化部に、前記第２の制限対象サブブロックを前記イントラ予測符号化モードで符号化させ、一方、前記第２の推定値が前記第１の推定値よりも小さい場合、前記予測符号化部に、前記第２の制限対象サブブロックを前記インター予測符号化モードで符号化させる符号化モード決定部と、
をさらに有する、請求項１に記載の動画像符号化装置。
【請求項３】
前記第１の符号化部及び前記第２の符号化部がアクセス可能な共有メモリをさらに有し、
前記第２の符号化部は、前記被参照サブブロックが前記インター予測符号化モードで符号化されているか、あるいは前記イントラ予測符号化モードで符号化されているかを表す符号化モード情報を前記共有メモリに記憶させ、
前記第１の符号化部は、
前記共有メモリに記憶された前記符号化モード情報が、前記被参照サブブロックが前記インター予測符号化モードで符号化されていることを示している場合、前記予測モードの候補の一つとしてダミーベクトルを生成し、かつ、前記第１の制限対象サブブロックの周囲の所定範囲内にある符号化済みのブロックの何れかの動きベクトルまたは大きさがゼロのゼロベクトルから設定される前記予測ベクトルの他の候補を前記予測ベクトルとし、一方、前記共有メモリに記憶された前記符号化モード情報が、前記第２のサブブロックが前記イントラ予測符号化モードで符号化されていることを示している場合、前記第１の制限対象サブブロックの周囲の所定範囲内にある符号化済みのブロックの何れかの動きベクトルと前記ゼロベクトルから設定されるベクトルを前記予測ベクトルとするベクトルモード決定部と、
前記第２の制限対象サブブロックを、前記イントラ予測符号化モードで符号化したときの符号量の第１の推定値と前記インター予測符号化モードで符号化したときの符号量の第２の推定値とを算出し、前記第１の推定値が前記第２の推定値よりも小さい場合、前記予測符号化部に、前記第２の制限対象サブブロックを前記イントラ予測符号化モードで符号化させ、一方、前記第２の推定値が前記第１の推定値よりも小さい場合、前記予測符号化部に、前記第２の制限対象サブブロックを前記インター予測符号化モードで符号化させる符号化モード決定部と、
をさらに有する、請求項１に記載の動画像符号化装置。
【請求項４】
前記制限ブロック特定部は、
前記第１の領域を分割した、符号化処理の適用単位であり、かつ、少なくとも一つの前記第２のサブブロックを含む複数のブロックのうち、前記第１の領域と前記第２の領域との境界に接するブロックをインター予測制限対象ブロックとして特定するインター予測制限対象ブロック決定部と、
前記インター予測制限対象ブロックに含まれる前記第２のサブブロックのうち、前記第１の制限対象サブブロックを含む第２のサブブロックを前記第２の制限対象サブブロックとして特定するインター予測制限対象サブブロック決定部とを有する、
請求項２または３に記載の動画像符号化装置。
【請求項５】
前記第２のサブブロックのサイズは複数のサイズの中から選択可能であり、
前記インター予測制限対象サブブロック決定部は、前記インター予測制限対象ブロックについて、前記複数のサイズのそれぞれごとに前記第２の制限対象サブブロックを特定し、
前記符号化モード決定部は、前記インター予測制限対象ブロックについて、前記複数のサイズ及び前記イントラ予測符号化モードと前記インター予測符号化モードの組み合わせのうち、前記インター予測制限対象ブロックの符号量が最小となるように前記第２のサブブロックのサイズ及び適用される符号化モードを決定する、請求項４に記載の動画像符号化装置。
【請求項６】
前記符号化モード決定部は、前記第２の制限対象サブブロックのサイズを前記第２のサブブロックについて選択可能な複数のサイズのうちの最小サイズに設定する、請求項５に記載の動画像符号化装置。
【請求項７】
前記第１の領域と前記第２の領域間の境界は垂直方向の境界である、請求項４〜６の何れか一項に記載の動画像符号化装置。
【請求項８】
動画像に含まれるピクチャを複数の領域に分割し、
前記複数の領域のうちの互いに異なる領域を、それぞれ、個別に符号化して符号化データを生成し、
前記複数の領域のそれぞれの前記符号化データを所定の順序で並べて前記ピクチャの符号化データを生成する、ことを含み、
前記複数の領域のうちの第１の領域を符号化することは、
当該第１の領域に含まれる第１のサブブロックを符号化済みの他のピクチャを参照するインター予測符号化モードで符号化する場合に当該第１のサブブロックの動きベクトルの予測ベクトルとして、前記符号化済みの他のピクチャのうちの、前記複数の領域のうちの第２の領域に含まれる被参照ブロックの動きベクトルを選択する可能性の有る第１のサブブロックを第１の制限対象サブブロックとして特定し、
前記第１の領域を分割した、前記インター予測符号化モードまたは前記ピクチャのみを参照するイントラ予測符号化モードの適用単位である複数の第２のサブブロックのうち、前記第１の制限対象サブブロックを含む第２のサブブロックである第２の制限対象サブブロックを、前記インター予測符号化モードで前記第１の制限対象サブブロックについての前記被参照ブロックの動きベクトル以外の動きベクトルを前記予測ベクトルとして符号化するか、または前記イントラ予測符号化モードで符号化することにより符号化データを生成し、
前記符号化データをエントロピー符号化する、
ことを含む動画像符号化方法。
【請求項９】
動画像に含まれるピクチャを複数の領域に分割し、
前記複数の領域のうちの互いに異なる領域を、それぞれ、個別に符号化して符号化データを生成し、
前記複数の領域のそれぞれの前記符号化データを所定の順序で並べて前記ピクチャの符号化データを生成し、
前記複数の領域のうちの第１の領域を符号化することは、
当該第１の領域に含まれる第１のサブブロックを符号化済みの他のピクチャを参照するインター予測符号化モードで符号化する場合に当該第１のサブブロックの動きベクトルの予測ベクトルとして、前記符号化済みの他のピクチャのうちの、前記複数の領域のうちの第２の領域に含まれる被参照ブロックの動きベクトルを選択する可能性の有る第１のサブブロックを第１の制限対象サブブロックとして特定し、
前記第１の領域を分割した、前記インター予測符号化モードまたは前記ピクチャのみを参照するイントラ予測符号化モードの適用単位である複数の第２のサブブロックのうち、前記第１の制限対象サブブロックを含む第２のサブブロックである第２の制限対象サブブロックを、前記インター予測符号化モードで前記第１の制限対象サブブロックについての前記被参照ブロックの動きベクトル以外の動きベクトルを前記予測ベクトルとして符号化するか、または前記イントラ予測符号化モードで符号化することにより符号化データを生成し、
前記符号化データをエントロピー符号化する、
ことをコンピュータに実行させるための動画像符号化用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、ピクチャを複数の領域に分割して領域ごとに符号化する動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラムに関する。
【背景技術】
【０００２】
動画像データは、一般に非常に大きなデータ量を有する。そのため、動画像データを扱う装置は、動画像データを他の装置へ送信しようとする場合、あるいは、動画像データを記憶装置に記憶しようとする場合、動画像データを高能率符号化する。なお、「高能率符号化」とは、あるデータ列を他のデータ列に変換する符号化処理であって、そのデータ量を圧縮する処理をいう。
【０００３】
動画像データの高能率符号化方法として、ピクチャ内予測（イントラ予測）符号化方法が知られている。この符号化方法は、動画像データが空間方向に相関性が高いことを利用し、他のピクチャの符号化画像を用いない。ピクチャ内予測符号化方法で符号化されたピクチャは、そのピクチャ内の情報のみで復元できる。
【０００４】
また、高能率符号化方法で採用されている他の符号化方式として、ピクチャ間予測（インター予測）符号化方法が知られている。この符号化方法は、動画像データが時間方向に相関性が高いことを利用する。動画像データでは、一般に、あるタイミングのピクチャとそのピクチャに後続するピクチャ間の類似度が高いことが多い。そのため、インター予測符号化方法は、動画像データのその性質を使用する。一般に、動画像符号化装置は、符号化対象の原ピクチャを複数の符号化ブロックに分割する。動画像符号化装置は、ブロックごとに、符号化済みピクチャを復号して得られた参照ピクチャから、符号化ブロックと類似している領域を参照領域として選択し、参照領域と符号化ブロック間の差分を表す予測誤差画像を計算することで、時間的な冗長性を取り除く。そして動画像符号化装置は、参照領域を示す動きベクトル情報および予測誤差画像を符号化することにより、高い圧縮率が実現される。一般的に、イントラ予測符号化方法よりも、インター予測符号化方法の方が圧縮効率が高い。
【０００５】
これらの予測符号化方法を採用する代表的な動画像の符号化方式として、International Standardization Organization/International Electrotechnical Commission(ISO/IEC)で策定されたMoving Picture Experts Group phase 2（MPEG-2）、MPEG-4、あるいはH.264 MPEG-4 Advanced Video Coding（H.264 MPEG-4 AVC）が広く利用されている。これらの符号化方式では、例えば、ピクチャについて、イントラ予測符号化方法とインター予測符号化方法のいずれが選択されたかは、符号化された動画像データを含む映像ストリームに明示的に記載される。選択された予測符号化方法は符号化モードと呼ばれる。さらに、選択された符号化モードがイントラ予測符号化モードであれば、動画像符号化装置は、実際に使用する予測方法としてイントラ予測符号化方法のみを選択できる。一方、選択された符号化モードがインター予測符号化モードであれば、動画像符号化装置は、実際に使用する予測方法としてインター予測符号化方法を選択できる。さらに、動画像符号化装置は、インター予測符号化方法を選択する場合、動きベクトルの符号化方法が互いに異なる複数のベクトルモードの中から、何れかのベクトルモードを選択できる。
【０００６】
これら動画像符号化方式では、Iピクチャ、Pピクチャ、Bピクチャが規定されている。Iピクチャは、ピクチャ自身の情報のみを用いて符号化されるピクチャである。Pピクチャは、既に符号化されている１枚のピクチャの情報を用いてインター符号化されるピクチャである。Bピクチャは、既に符号化されている２枚のピクチャの情報を用いて双方向予測符号化されるピクチャである。Bピクチャが参照する二つの参照ピクチャを示す時間的な方向は、L0、L1で表される。なお、Bピクチャが参照する２枚の参照ピクチャの一方がそのBピクチャよりも時間的に前のピクチャであり、他方がそのBピクチャよりも時間的に後のピクチャであってもよい。この場合、L0方向は、例えば、Bピクチャである符号化対象ピクチャから時間的に前方を示す向きとなり、L1方向は、符号化対象ピクチャから時間的に後方を示す向きとなる。あるいは、２枚の参照ピクチャの何れも、Bピクチャよりも時間的に前のピクチャであってもよい。この場合、L0方向、L1方向は、何れも、符号化対象ピクチャから時間的に前方を示す向きとなる。さらに、２枚の参照ピクチャの何れも、Bピクチャよりも時間的に後のピクチャであってもよい。この場合、L0方向、L1方向は、何れも、符号化対象ピクチャから時間的に後方を示す向きとなる。
【０００７】
また、最新の動画像符号化方式(High Efficiency Video Coding、HEVC)では、ピクチャをブロックに分割する方法が従来の符号化方式と異なる。図１は、HEVCによる、ピクチャの分割の一例を示す図である。
【０００８】
図１に示されるように、ピクチャ１００は、符号化ブロックCoding Tree Unit(CTU)単位で分割され、各CTU１０１は、ラスタスキャン順に符号化される。CTU１０１のサイズは、64x64〜16x16画素の中から選択できる。ただし、CTU１０１のサイズは、シーケンス単位で一定とされる。
【０００９】
CTU１０１は、さらに、四分木構造で複数のCoding Unit（CU）１０２に分割される。一つのCTU１０１内の各CU１０２は、Zスキャン順に符号化される。CU１０２のサイズは可変であり、そのサイズは、CU分割モード8x8〜64x64画素の中から選択される。CU１０２は、符号化モードであるイントラ予測符号化モードとインター予測符号化モードを選択する単位となる。CU１０２は、Prediction Unit（PU）１０３単位またはTransform Unit（TU）１０４単位で個別に処理される。PU１０３は、符号化モードに応じた予測が行われる単位となる。例えば、PU１０３は、イントラ予測符号化モードでは、予測モードが適用される単位となり、インター予測符号化モードでは、動き補償を行う単位となる。PU１０３のサイズは、例えば、インター予測符号化では、PU分割モードPartMode =2Nx2N, NxN, 2NxN, Nx2N, 2NxU, 2NxnD, nRx2N, nLx2Nの中から選択できる。一方、TU１０４は、直交変換の単位であり、TU１０４のサイズは、4x4画素〜32x32画素の中から選択される。TU１０４は、四分木構造で分割され、Zスキャン順に処理される。本明細書では、便宜上、Prediction Unitを第１のサブブロックと呼び、Coding Unitを第２のサブブロックと呼ぶ。
【００１０】
一般に、ピクチャに含まれる画素数が多くなるほど、動画像符号化処理の演算量も増加する。そこで、動画像に含まれる各ピクチャを、それぞれ、複数の領域に分割し、各領域をそれぞれ個別の符号化器で符号化することで、符号化に要する時間を短縮することが検討されている。
【００１１】
ピクチャを複数の領域に分割する方法として、ピクチャをスライス(Slice)単位で分割することが知られている。この場合、各符号化器は、入力されたスライスを１ピクチャと見なしてそれぞれ独立してスライスを符号化し、各符号化器から出力された符号化データが多重化されて出力される。このように、スライスごとに異なる符号化器を利用することで、符号化器としてそれぞれ処理能力の低い演算装置が利用可能であるため、例えば、全体として符号化装置の製造コストを抑制できる場合がある。
【００１２】
また、複数の符号化器がそれぞれ異なる領域を符号化する方式では、過去に符号化されたピクチャ全体の符号化データが、各符号化器からアクセス可能な共有情報として保存される。その際、必要なハードウェアリソースを削減するために、共有情報のデータ量を抑制することで、共有情報の一時格納メモリを小さくすることが検討されている（例えば、特許文献１〜３を参照）。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開平７−１３５６５４号公報
【特許文献２】特開平１０−２７６４３７号公報
【特許文献３】特開２０００−１６５８８３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
HEVCでは、個々のスライスにおいて、各CTUがラスタスキャン順に符号化される。そして一つのスライスに含まれる複数のCTUは、一つのグループとして取り扱われ、あるスライスに含まれるCTUを符号化する際に、同一ピクチャの他のスライスからそのCTUを予測することは禁止される。
【００１５】
また、HEVCでは、ピクチャを分割する単位として、スライスとともに、タイル（Tile）が新たに導入されている。タイルは、スライスと異なり、垂直方向にもピクチャを分割するように設定可能である。例えば、タイルは、矩形形状に設定される。
【００１６】
図２は、ピクチャに設定されたタイルの一例を示す図である。この例では、ピクチャ２００は、水平方向及び垂直方向のタイル境界２０３により、４個の矩形状のタイル２０１で格子状に分割される。CTU２０２は、矩形状のタイル２０１ごとにグルーピングされる。ピクチャ２００内の各タイル２０１は、ラスタスキャン順で符号化される。また、タイル２０１内の各CTU２０２もラスタスキャン順で符号化される。
【００１７】
あるタイルに含まれるCTUを符号化する際には、同一ピクチャのタイル間の境界を跨いだ他のタイルからそのCTUを予測することは禁止される。一方、動画像符号化装置は、あるタイルに含まれるCTUを符号化する際に、既に符号化されている他のピクチャの他のタイルからそのCTUを予測してもよい。
【００１８】
したがって、タイルごとに異なる符号化器を用いて動画像を符号化する際において、各符号化器間で利用される共有情報を削減するには、上記のようなタイルの特性を考慮することが求められる。
【００１９】
そこで、本明細書は、動画像データに含まれるピクチャを複数の領域に分割し、領域ごとに異なる符号化器で符号化する場合に、符号化器間で共有される情報を記憶するメモリ容量を削減できる動画像符号化装置を提供することを目的とする。
【課題を解決するための手段】
【００２０】
一つの実施形態によれば、動画像に含まれるピクチャを符号化する動画像符号化装置が提供される。この動画像符号化装置は、ピクチャを複数の領域に分割する分割部と、複数の領域のうちの互いに異なる領域を符号化して符号化データを生成する複数の符号化部と、複数の符号化部のそれぞれから出力された符号化データを所定の順序で並べてピクチャの符号化データを生成する多重化部とを有する。そして複数の符号化部のうちの第１の符号化部は、複数の領域のうちの第１の符号化部が符号化する第１の領域に含まれる第１のサブブロックを符号化済みの他のピクチャを参照するインター予測符号化モードで符号化する場合に、第１のサブブロックの動きベクトルの予測ベクトルとして、符号化済みの他のピクチャの複数の領域のうちの、複数の符号化部のうちの第２の符号化部により符号化される第２の領域に含まれる被参照ブロックの動きベクトルを選択する可能性の有る第１のサブブロックを第１の制限対象サブブロックとして特定する制限ブロック特定部と、第１の領域を分割した、インター予測符号化モードまたはピクチャのみを参照するイントラ予測符号化モードの適用単位である複数の第２のサブブロックのうち、第１の制限対象サブブロックを含む第２のサブブロックである第２の制限対象サブブロックを、インター予測符号化モードで第１の制限対象サブブロックについての被参照ブロックの動きベクトル以外の動きベクトルを予測ベクトルとして符号化するか、またはイントラ予測符号化モードで符号化することにより符号化データを生成する予測符号化部と、符号化データをエントロピー符号化するエントロピー符号化部とを有する。
【００２１】
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を限定するものではないことを理解されたい。
【発明の効果】
【００２２】
本明細書に開示された動画像符号化装置は、動画像データに含まれるピクチャを複数の領域に分割し、領域ごとに異なる符号化器で符号化する場合に、符号化器間で共有される情報を記憶するメモリ容量を削減できる。
【図面の簡単な説明】
【００２３】
【図１】HEVCによる、ピクチャの分割の一例を示す図である。
【図２】ピクチャに設定されたタイルの一例を示す図である。
【図３】AMVPモードでの予測ベクトルの決定手順を示す動作フローチャートである。
【図４】AMVPモードにおける、空間予測ベクトルの登録順序を示す図である。
【図５】（ａ）〜（ｃ）は、それぞれ、符号化対象ブロックとColPUの位置関係の一例を示す図である。
【図６】Mergeモードでの予測ベクトルの候補リストmergeCandListの作成手順を示す動作フローチャートである。
【図７】Mergeモードにおける、空間予測ベクトルの登録順序を示す図である。
【図８】L0方向の予測ベクトル候補及びL1方向の予測ベクトル候補と結合両予測ベクトル候補mvLXcombCandの関係を表すテーブルを示す図である。
【図９】タイルと時間予測ベクトルの関係を示す図である。
【図１０】第１の実施形態による動画像符号化装置の概略構成図である。
【図１１】タイル間の境界の位置の説明図である。
【図１２】符号化器の概略構成図である。
【図１３】CTUの水平方向のインデックスの割り当て方法を示す図である。
【図１４】（ａ）〜（ｄ）は、CUの階層構造ごとに、一つのCTUに含まれる各CUに割り当てられるインデックスを示す図である。
【図１５】（ａ）〜（ｄ）は、それぞれ、サイズが64x64画素、32x32画素、16x16画素、8x8画素のCUについて、インター予測制限対象CUを示すマップである。
【図１６】（ａ）〜（ｈ）は、それぞれ、一つのCUに含まれる各PUに割り当てられる、インデックスを示す図である。
【図１７】（ａ）〜（ｈ）は、それぞれ、PU分割モードPartModeが2Nx2N, NxN, 2NxN, Nx2N, 2NxU, 2NxnD, nRx2N, nLx2Nである場合の予測制限対象PUを示すマップの一例である。
【図１８】（ａ）〜（ｈ）は、それぞれ、PU分割モードPartModeが2Nx2N, NxN, 2NxN, Nx2N, 2NxU, 2NxnD, nRx2N, nLx2Nである場合の予測制限対象PUを示すマップの他の一例である。
【図１９】AMVPモードにおける、予測制限対象PUについての予測ベクトルの決定手順の動作フローチャートである。
【図２０】Mergeモードにおける、予測制限対象PUについての予測ベクトルの決定手順の動作フローチャートである。
【図２１】符号化モード決定の手順の説明図である。
【図２２】動画像符号化処理の動作フローチャートである。
【図２３】第２の実施形態による動画像符号化装置の概略構成図である。
【図２４】各実施形態またはその変形例による動画像符号化装置の各部の機能を実現するコンピュータプログラムが動作することにより、動画像符号化装置として動作するコンピュータの構成図である。
【発明を実施するための形態】
【００２４】
以下、図を参照しつつ、一つの実施形態による、動画像符号化装置について説明する。この動画像符号化装置は、ピクチャを複数の領域に分割し、複数の符号化器のそれぞれが異なる領域を符号化する。その際、この動画像符号化装置は、各領域を符号化する際に利用される、各符号化器間で共有される情報を記憶するのに必要なメモリ容量を削減する。
【００２５】
特に、この動画像符号化装置は、領域間の境界近傍に位置するCTUでの動きベクトルを予測符号化する際に、異なる符号化器で符号化される領域間の境界を跨いで参照される情報の量を削減する。また、本実施形態では、動画像符号化装置は、動画像符号化方式としてHEVCを採用する。なお、動画像符号化装置は、タイルごとに個別に符号化可能な他の動画像符号化方式に従って動画像を符号化してもよい。
【００２６】
先ず、HEVCにおける、動きベクトルの予測符号化方式について説明する。HEVCでは、動画像符号化装置は、動きベクトルをPU単位で求めることができる。また、HEVCでは、動きベクトルを符号化するために、予測ベクトルを用いて差分ベクトルを符号化するAdaptive Motion Vector Prediction(AMVP)モードと、符号化済みPUの動きベクトルを符号化対象PUの動きベクトルとしてコピーするMergeモードが規定されている。これらのモードをインター予測モードと呼ぶ。また、インター予測モードでは、予測ベクトルを作成する方法を規定するベクトルモードとして、以下のものが規定されている。
・符号化対象ブロックの空間的な周囲ブロックの動きベクトルを用いるSpatialベクトルモード。なお、以下では、Spatialベクトルモードにより、符号化対象ブロックの空間的な周囲ブロックの動きベクトルのなかから選択される予測ベクトルの候補を、空間予測ベクトルと呼ぶ。
・符号化対象ブロックを含む符号化対象ピクチャに対して時間的に前の符号化済みピクチャにおける、符号化対象ブロックと同一の領域の周囲ブロックの動きベクトルを用いるTemporalベクトルモード。なお、以下では、Temporalベクトルモードにより、符号化済みの他のピクチャ上のブロックの動きベクトルのなかから選択される予測ベクトルの候補を、時間予測ベクトルと呼ぶ。
・Spatialベクトルと Temporalベクトルの組合せのベクトルを用いる combined bi-directive（結合両予測）ベクトルモード
・大きさがゼロのゼロベクトルを用いるゼロベクトルモード
【００２７】
AMVPモードでは、予測方向ごとに、予測ベクトルとして利用可能なベクトルの候補を最大で二つ含む予測ベクトル候補リストmvpListLXが作成される。
【００２８】
図３は、AMVPモードでの予測ベクトルの決定手順を示す動作フローチャートである。
動画像符号化装置は、まず、符号化対象ブロックに隣接する、既に符号化されたブロックの動きベクトルのなかから、予測ベクトルの候補を選択する。
【００２９】
具体的には、動画像符号化装置は、符号化対象ブロックの左側に隣接するブロックの動きベクトルを、所定の順序に従って空間予測ベクトルmvLXAとして選択する（ステップＳ１０１）。
【００３０】
図４を参照しつつ、空間予測ベクトルの選択についての詳細を説明する。図４は、AMVPモードにおける、空間予測ベクトルの登録順序を示す図である。動画像符号化装置は、符号化対象ブロック４００について、矢印４０１に示されるように、左下に隣接するブロックA0、ブロックA0の上側に隣接するブロックA1の順に、各ブロックの動きベクトルを空間予測ベクトルとして登録するか否かを判定する。
【００３１】
動画像符号化装置は、ブロックA0が符号化済みであるか否か判定する。ブロックA0が符号化済みである場合、動画像符号化装置は、ブロックA0が符号化対象ブロック４００と同じ方向についてインター予測符号化されているか否か判定する。ブロックA0が符号化対象ブロック４００と同じ方向についてインター予測符号化されている場合、動画像符号化装置は、ブロックA0の参照ピクチャrefIdxLXA0が、符号化対象ブロック４００の参照ピクチャrefIdxLXと一致するか否か判定する。参照ピクチャrefIdxLXA0が参照ピクチャrefIdxLXと一致する場合、動画像符号化装置は、ブロックA0の動きベクトルを１番目の空間予測ベクトルmvLXAとして選択する。
【００３２】
一方、ブロックA0が符号化されていないか、参照ピクチャrefIdxLXA0が参照ピクチャrefIdxLXと一致しない場合、動画像符号化装置は、ブロックA1について同様の判定処理を行う。そして動画像符号化装置は、ブロックA1が符号化済みであり、かつ、ブロックA1が参照する参照ピクチャrefIdxLXA1が、参照ピクチャrefIdxLXと一致する場合、ブロックA1の動きベクトルを空間予測ベクトルmvLXAとして選択する。
【００３３】
参照ピクチャrefIdxLXA0及びrefIdxLXA1の何れも参照ピクチャrefIdxLXと一致せず、かつ、ブロックA0が符号化対象ブロック４００と同じ方向についてインター予測符号化されている場合、動画像符号化装置は、ブロックA0の動きベクトルを選択する。そして動画像符号化装置は、符号化対象ブロック４００が含まれる符号化対象ピクチャと参照ピクチャrefIdxLXA0間の時間に対する、符号化対象ピクチャと参照ピクチャrefIdxLX間の時間の比を、ブロックA0の動きベクトルに乗じる。これにより得られたベクトルを、動画像符号化装置は、空間予測ベクトルmvLXAとする。
【００３４】
上記の処理によっても空間予測ベクトルmvLXAが求められず、かつ、ブロックA1が符号化対象ブロック４００と同じ方向についてインター予測符号化されている場合、動画像符号化装置は、ブロックA1の動きベクトルを選択する。そして動画像符号化装置は、符号化対象ピクチャと参照ピクチャrefIdxLXA1間の時間に対する、符号化対象ピクチャと参照ピクチャrefIdxLX間の時間の比を、ブロックA1の動きベクトルに乗じる。これにより得られたベクトルを、動画像符号化装置は、空間予測ベクトルmvLXAとする。
なお、ブロックA0、A1の何れもが、符号化対象ブロック４００と同じ方向についてインター予測符号化されていなければ、空間予測ベクトルmvLXAは選択されない。
【００３５】
次に、動画像符号化装置は、符号化対象ブロックの上側に隣接するブロックの動きベクトルを、所定の順序に従って空間予測ベクトルmvLXBとして選択する（ステップＳ１０２）。
再度図４を参照すると、動画像符号化装置は、矢印４０２に示される順に、符号化対象ブロック４００の上側に隣接するブロックB0、B1、B2に対して、ブロックA0、A1に対する選択処理と同様の処理を行う。そして動画像符号化装置は、それらのブロックの動きベクトルを空間予測ベクトルmvLXBとして選択するか否かを判定する。なお、ブロックB0は、符号化対象ブロック４００の右上に隣接し、ブロックB1は、ブロックB0の左隣に隣接する。そしてブロックB2は、符号化対象ブロック４００の左上に隣接する。
【００３６】
すなわち、動画像符号化装置は、ブロックB0からB2の順で、参照ピクチャと符号化対象ブロック４００の参照ピクチャrefIdxLXが最初に一致するブロックの動きベクトルを空間予測ベクトルmvLXBとして選択する。一方、ブロックB0〜B2の参照ピクチャの何れもが、参照ピクチャrefIdxLXと一致しなければ、動画像符号化装置は、ブロックB0からB2の順で、動きベクトルが求められている最初のブロックを特定する。そして、特定されたブロックの動きベクトルに、特定されたブロックが参照する参照ピクチャと符号化対象ピクチャ間の時間に対する符号化対象ピクチャと参照ピクチャrefIdxLX間の時間の比を乗じて得られるベクトルが空間予測ベクトルmvLXBとなる。
【００３７】
なお、ブロックB0〜B2の何れもが、符号化対象ブロック４００と同じ方向についてインター予測符号化されていなければ、動画像符号化装置は、空間予測ベクトルmvLXBに空間予測ベクトルmvLXAを代入する。また、この場合において、空間予測ベクトルmvLXAが選択されていなければ、空間予測ベクトルmvLXBも選択されない。
【００３８】
動画像符号化装置は、空間予測ベクトルmvLXA、mvLXBを、予測ベクトルの候補リストmvpListLXに登録する（ステップＳ１０３）。ただし、空間予測ベクトルmvLXAと空間予測ベクトルmvLXBが等しい場合、動画像符号化装置は、空間予測ベクトルmvLXBを候補リストmvpListLXから消去する。
【００３９】
動画像符号化装置は、候補リストmvpListLXに登録されている予測ベクトルの候補が２以上か否か判定する（ステップＳ１０４）。候補リストmvpListLXに登録されている予測ベクトルの候補が２以上であれば（ステップＳ１０４−Ｙｅｓ）、動画像符号化装置は、予測ベクトルの候補リストの作成を終了する。一方、候補リストmvpListLXに登録されている空間予測ベクトルが２個未満である場合（ステップＳ１０４−Ｎｏ）、動画像符号化装置は、Temporalベクトルモード処理を実行する。
なお、動画像符号化装置は、シンタックスsliceTemporalMvpEnabledFlagにより、スライス単位でTemporalベクトルモード処理を実行しないように選択できる。
【００４０】
Temporalベクトルモード処理では、動画像符号化装置は、符号化済みのピクチャ上の所定位置のブロックColPUを選択する。そして動画像符号化装置は、そのブロックColPUの動きベクトルmvColを、予測ベクトルの候補として利用か否か判定する（ステップＳ１０５）。
【００４１】
動画像符号化装置は、符号化対象ブロックが参照する可能性がある符号化済みピクチャの中から候補となるピクチャを選択する。そして動画像符号化装置は、選択したピクチャColPic上で、符号化対象ブロックと同位置のブロックに隣接するブロックColPUを特定する。
【００４２】
ここで、シンタックスcollocatedFromL0Flagにより、ColPUが含まれるピクチャColPicは、L0方向から選択されるか、あるいは、L1方向から選択されるかが指定される。また、シンタックスcollocatedRefIdxにより、ColPicとして選択されたピクチャが示される。
【００４３】
図５（ａ）〜図５（ｃ）を参照しつつ、符号化対象ブロックとColPUの位置関係について説明する。なお、図５（ａ）〜図５（ｃ）では、ピクチャ内の一つのCTU５００が示されている。基本的に、ColPUとして、符号化対象ブロックであるPUの右下に隣接するPUが選択される。例えば、符号化対象ブロックと右下に隣接するPUの間にCTU境界が挟まれない場合には、符号化対象ブロックの右下に隣接する画素を含む、16×16画素のグリッドの左上端の画素を含むPUがColPUとして選択される。
【００４４】
例えば、図５（ａ）に示されるように、符号化対象ブロックであるPU５１０がCTU５００内の左上の16×16画素よりも大きなブロックである場合、PU５１０の右下に隣接する画素５１１は、16×16画素のグリッド単位でも同じ位置にある。そのため、ColPic５０１において、PU５１０の右下に隣接するPU５１２がColPUとなる。
一方、図５（ｂ）に示されるように、符号化対象ブロックであるPU５２０が、16×16画素のブロックを４分割したうちの左上のブロックである場合、その右下に隣接する画素５２１は、16×16画素のグリッド５２２の中心近傍に位置する。そこで、ColPic５０１において、グリッド５２２の左上端の画素５２３を含むPU５２４がColPUとなる。
【００４５】
また、符号化対象ブロックと右下に隣接するPUの間にCTU境界が挟まれる場合には、符号化対象ブロックの中心の左上の画素の位置が求められ、その画素を含む、16×16画素のグリッドが特定される。そして特定されたグリッドの左上端の画素を含むColPic上のPUが、ColPUとなる。
例えば図５（ｃ）に示されるように、符号化対象ブロックであるPU５３０がCTU５００の右下に位置している場合、PU５３０とその右下の画素５３１との間にCTU境界が位置する。そこでPU５３０内の中心の画素５３２が求められ、画素５３２を含む16×16画素のグリッド５３３が特定される。そしてColPic５０１において、グリッド５３３の左上端の画素５３４を含むPU５３５がColPUとなる。
【００４６】
ここで、ColPUがイントラ予測符号化されるブロックであれば、ColPUには動きベクトルは規定されていないので、動画像符号化装置は、予測ベクトルとしてColPUの動きベクトルを利用することはできない。また、ColPUについて、L0方向の動きベクトルが存在しない場合、動画像符号化装置は、L1方向の動きベクトルを利用する。逆に、ColPUについて、L1方向の動きベクトルが存在しない場合、動画像符号化装置は、L0方向の動きベクトルを利用する。また、ColPUについて、L0方向及びL1方向の両方の動きベクトルが存在し、かつ、符号化対象ブロックの参照ピクチャが全て過去のピクチャまたは自ピクチャであれば、動画像符号化装置は、シンタックスcollocatedFromL0Flagで指定された方向の動きベクトルを用いる。一方、ColPUについて、L0方向及びL1方向の両方の動きベクトルが存在し、かつ、符号化対象ブロックの参照ピクチャに未来のピクチャが含まれていれば、動画像符号化装置は、シンタックスcollocatedFromL0Flagで指定された方向と逆方向の動きベクトルを用いる。
【００４７】
動きベクトルmvColが利用可能な場合（ステップＳ１０５−Ｙｅｓ）、動画像符号化装置は、その動きベクトルmvColを時間スケーリングして得られるベクトルを時間予測ベクトルmvLXBとして候補リストmvpListLXに登録する（ステップＳ１０６）。具体的には、動画像符号化装置は、Colブロックが含まれるピクチャとColブロックが参照するピクチャ間の時間に対する、符号化対象ブロックが含まれる符号化対象ピクチャと符号化対象ブロックが参照するピクチャ間の時間の比を、動きベクトルmvColに乗じる。なお、候補リストmvpListLXに登録された二つのベクトルmvLXAと時間予測ベクトルmvLXBが等しい場合、動画像符号化装置は、時間予測ベクトルmvLXBを候補リストmvpListLXから消去する。
【００４８】
ステップＳ１０６の後、あるいは、ステップＳ１０５で動きベクトルmvColが利用できない場合（ステップＳ１０５−Ｎｏ）、候補リストmvpListLXに登録されている予測ベクトルの候補が２以上か否か判定する（ステップＳ１０７）。候補リストmvpListLXに登録されている予測ベクトルの候補が２個未満である場合（ステップＳ１０７−Ｎｏ）、動画像符号化装置は、予測ベクトルの候補としてゼロベクトルを候補リストmvpListLXに登録する（ステップＳ１０８）。なお、ゼロベクトルは、水平方向の移動量を表す要素の値及び垂直方向の移動量を表す要素の値がともに0のベクトルである。
【００４９】
ステップＳ１０８の後、動画像符号化装置は、その二つの候補の中から、符号化対象ブロックの動きベクトルに対する誤差が小さい方の候補を予測ベクトルmvpLXとして選択する（ステップＳ１０９）。また、ステップＳ１０７にて候補リストmvpListLXに登録されている予測ベクトルの候補が２以上である場合（ステップＳ１０７−Ｙｅｓ）も、動画像符号化装置は、ステップＳ１０９の処理を実行する。そして動画像符号化装置は、予測ベクトルの決定手順を終了する。
予測ベクトルmvpLXとして選択されたベクトルは、候補リストmvpListLXにおけるその選択されたベクトルの位置を表すシンタックスmvpLxFlagで表される。そのシンタックスmvpLxFlag及び符号化対象ブロックの動きベクトルと予測ベクトル間の差分ベクトルがエントロピー符号化される。
【００５０】
動画像符号化装置は、符号化対象ピクチャがPピクチャであれば、L0方向の動きベクトルについてのみ、上記の処理を実行する。一方、符号化対象ピクチャがBピクチャであれば、動画像符号化装置は、L0方向とL1方向の両方の動きベクトルについて上記の処理を実行する。
【００５１】
次に、Mergeモードについて説明する。
【００５２】
図６は、Mergeモードでの予測ベクトルの候補リストmergeCandListの作成手順を示す動作フローチャートである。Mergeモードでは、動画像符号化装置は、シンタックスMaxNumMergeCand（最大５）で示される数の利用可能なMergeベクトル候補の中から一つのベクトルをMergeベクトルmvLXNとして選択し、そのベクトルを、候補リストmergeCandListの位置を表すシンタックスmergeIdxで表す。
【００５３】
動画像符号化装置は、符号化対象ブロックの左側または上側に隣接するブロックの動きベクトルを、所定の順序に従って空間予測ベクトル候補として選択する（ステップＳ２０１）。
【００５４】
図７を参照しつつ、空間予測ベクトルの選択についての詳細を説明する。図７は、Mergeモードにおける、空間予測ベクトルの登録順序を示す図である。動画像符号化装置は、符号化対象ブロックであるPU７００について、矢印７０１〜７０４に示されるように、ブロックA1→B1→B0→A0→B2の順に、各ブロックの動きベクトルを空間予測ベクトル候補として登録するか否かを判定する。
【００５５】
また、複数の空間予測ベクトル候補が同値であれば、それら複数の空間予測ベクトル候補のうちの一つ以外は削除される。 例えば、あるブロックが分割されており、そのブロックが、他のブロックのベクトルを候補とする場合、分割する必要がないことから削除される。ブロックB2については、すでに四つの空間予測ベクトル候補が選択されていたらブロックB2の動きベクトルを、空間予測ベクトル候補から除外する。それぞれの空間予測ベクトル候補をmvLXA0, mvLXA1,mvLXB0, mvLXB1, mvLXB2とする。
【００５６】
次に、動画像符号化装置は、Temporalベクトルモード処理を実行して、時間予測ベクトル候補mvLXColを選択する（ステップＳ２０２）。なお、MergeモードにおけるTemporalベクトルモード処理は、AMVPモードにおけるTemporalベクトルモード処理と同一であるので、Temporalベクトルモード処理の詳細な説明は省略する。
【００５７】
動画像符号化装置は、選択された予測ベクトルの候補を候補リストmergeCandListに登録する（ステップＳ２０３）。そして動画像符号化装置は、候補リストmergeCandListに登録されている予測ベクトルの候補の数numOrigMergeCandを算出する（ステップＳ２０４）。
【００５８】
次に、動画像符号化装置は、符号化対象ブロックが含まれる符号化対象ピクチャがBピクチャであり、かつ、numOrigMergeCandが2以上かつMaxNumMergeCand未満か否か判定する（ステップＳ２０５）。ステップＳ２０５の判定条件が満たされる場合、動画像符号化装置は、候補リストmergeCandListに登録されている予測ベクトルの候補を組み合わせて、結合両予測(combined bi-predictive)ベクトルを導出し、予測ベクトルの候補として追加する（ステップＳ２０６）。動画像符号化装置は、numOrigMergeCand * (numOrigMergeCand − 1)回、または予測ベクトルの候補数がMaxNumMergeCandに達するまでステップＳ２０６の処理を繰り返し実行する。算出されたベクトル候補をmvLXcombCandと表記する。
【００５９】
図８は、MaxNumMergeCandが4のときのL0方向の予測ベクトル候補及びL1方向の予測ベクトル候補と結合両予測ベクトル候補mvLXcombCandの関係を表すテーブルを示す。テーブル８００において、l0CandIdxは、候補リストmergeCandListにおけるL0方向の予測ベクトル候補の登録順を示し、l1CandIdxは、候補リストmergeCandListにおけるL1方向の予測ベクトル候補の登録順を示す。そしてcombIdxは、L0方向の予測ベクトル候補とL1方向の予測ベクトル候補の組み合わせにより導出されるmvLXcombCandを示す。
【００６０】
ステップＳ２０６の後、あるいは、ステップＳ２０５の判定条件が満たされない場合、動画像符号化装置は、予測ベクトルの候補数がMaxNumMergeCand未満か否か判定する（ステップＳ２０７）。予測ベクトルの候補数numOrigMergeCandがMaxNumMergeCand未満であれば（ステップＳ２０７−Ｙｅｓ）、動画像符号化装置は、予測ベクトルの候補数がMaxNumMergeCandに達するまで、予測ベクトルの候補としてゼロベクトルを候補リストmergeCandListに登録する（ステップＳ２０８）。
ステップＳ２０８の後、動画像符号化装置は、予測ベクトルの候補のなかから符号化対象ブロックの動きベクトルとの差が最小となる候補をMergeベクトルmvLXNとして選択する（ステップＳ２０９）。また、ステップＳ２０７で予測ベクトルの候補数numOrigMergeCandがMaxNumMergeCand以上である場合（ステップＳ２０７−Ｎｏ）も、動画像符号化装置は、ステップＳ２０９の処理を実行する。その後、動画像符号化装置は、候補リストmergeCandListの作成を終了する。
【００６１】
ここで、タイルごとに異なる符号化器を用いてピクチャを符号化する場合においてAMVPモードまたはMergeモードを適用することを考える。
図９は、タイルと時間予測ベクトルの関係を示す図である。図９では、簡単のために、ピクチャ９００は、左側のタイル９０１と右側のタイル９０２に分割されるものとする。タイル９０１に含まれるCTU９０４、及び、タイル９０２に含まれるCTU９０５は、それぞれ、64画素x64画素のサイズを持ち、タイル間の境界９０３に隣接している。CTU９０４及び９０５は、動きベクトルの生成単位であるCU/PU単位で分割される。
【００６２】
ここで、動画像符号化装置は、CTU９０４の右上のPU９０６について時間予測ベクトルを求める場合、符号化済みのColPic９１０において、PU９０６の右下にあたるPU９０７と同一にあるColPU９１１の動きベクトルを参照する。このとき、ColPU９１１は、PU９０６からタイル境界９０３を越えた位置にあるタイル９０２に属している。ここで、タイル９０１と９０２が別個の符号化器で符号化される場合、PU９０６の時間予測ベクトルの算出に必要なデータは、タイル９０２を符号化する符号化器とタイル９０１を符号化する符号化器との間で共有される必要がある。
【００６３】
上記のように、タイル境界の近傍に位置するCTUでは、そのCTU内のPUの動きベクトルについての時間予測ベクトルを算出するために、他の符号化器で符号化される領域の情報が必要とされる。そこで、この動画像符号化装置は、できる限り画質を維持しつつ、符号化器間で共有する情報を記憶するメモリの容量を削減するために、時間予測ベクトルを決定する際、隣接するタイル内の情報を必要とするブロックを特定する。そしてこの動画像符号化装置は、隣接するタイル内の情報を必要とするブロックについて、Temporalベクトルモードの適用を禁止する。ただし、この動画像符号化装置により符号化された動画像データは、HEVCに準拠した動画像復号装置で復号できるように、Temporalベクトルモードの適用を禁止する。
【００６４】
図１０は、第１の実施形態による動画像符号化装置の概略構成図である。動画像符号化装置１は、分割部１０と、複数の符号化器１１−１〜１１−ｎ（ただし、ｎは２以上の整数）と、多重化部１２とを有する。
【００６５】
動画像符号化装置１が有するこれらの各部は、それぞれ別個の回路として形成される。あるいは動画像符号化装置１が有するこれらの各部は、その各部に対応する回路が集積された一つの集積回路として動画像符号化装置１に実装されてもよい。さらに、動画像符号化装置１が有するこれらの各部は、動画像符号化装置１が有するプロセッサ上で実行されるコンピュータプログラムにより実現される、機能モジュールであってもよい。
【００６６】
分割部１０には、動画像符号化装置１全体を制御する制御部（図示せず）により設定されたピクチャの順序に従って、各ピクチャが順次入力される。そして分割部１０は、ピクチャが入力される度に、制御部により与えられたピクチャ分割情報に従って、そのピクチャをｎ個の領域に分割する。本実施形態では、各領域は、それぞれ、一つのタイルを含む。そして領域間の境界がタイル間の境界となるように、分割部１０は、ピクチャを分割する。なお、タイル間の境界の位置は、シーケンス全体にわたって一定とする。分割部１０により分割されたピクチャの各領域は、それぞれ、符号化器１１−１〜１１−ｎに入力される。
【００６７】
図１１を参照しつつ、タイル間の境界の位置について説明する。ピクチャ１１００において、個々のCTUの水平方向及び垂直方向のサイズをCTUSIZE（例えば、64画素）とする。また、ピクチャ１１００の垂直画素数をPictureSizeVとし、水平画素数をPictureSizeHとする。ピクチャ分割情報には、例えば、垂直方向の分割数DivNumVと水平方向の分割数DivNumHが含まれる。この例では、DivNumV=DivNumH=2である。すなわち、ピクチャ１１００は、水平方向及び垂直方向に、それぞれ２分割される。
【００６８】
また、ピクチャ１１００の垂直方向のCTU数をCTUNumV(=PictureSizeV/CTUSIZE)とし、水平方向のCTU数をPicCTUNumH(=PictureSizeH/CTUSIZE)とする。この場合、垂直方向にピクチャを等分したときの一つの領域あたりの垂直方向のCTU数TileCTUNumVは、PicCTUNumV/DivNumVとなる。ただし、PicCTUNumVがDivNumVの整数倍でない場合には、最下端のタイルが、TileCTUNumV未満の数のCTUを余分に含んでもよい。同様に、水平方向にピクチャを等分したときの一つの領域あたりの垂直方向のCTU数TileCTUNumHは、PicCTUNumH/DivNumHとなる。ただし、PicCTUNumHがDivNumHの整数倍でない場合には、最右端のタイルが、TileCTUNumH未満の数のCTUを余分に含んでもよい。ここでは、簡単化のために、PicCTUNumVはDivNumVの整数倍であり、かつ、PicCTUNumHがDivNumHの整数倍であるとする。
【００６９】
この例では、ピクチャ１１００は、垂直方向のタイル境界１１０１と水平方向のタイル境界１１０２によって４個のタイル１１０３〜１１０６に分割される。そして例えば、左上のタイル１１０３が符号化器１１−１に入力され、右上のタイル１１０４が符号化器１１−２に入力される。また、左下のタイル１１０５が符号化器１１−３に入力され、右下のタイル１１０６が符号化器１１−４に入力される。
【００７０】
符号化器１１−１〜１１−ｎは、それぞれ、互いに独立して、入力された領域を符号化することで、符号化データを生成する。符号化器１１−１〜１１−ｎは、符号化データを多重化部１２へ出力する。なお、符号化器１１−１〜１１−ｎの詳細については後述する。
【００７１】
多重化部１２は、符号化器１１−１〜１１−ｎから受け取った、各領域の符号化データを、ラスタスキャン順に並べるとともに、HEVCに準拠した所定のヘッダ情報を付加することで、一つのピクチャの符号化データを生成する。そして多重化部１２は、ピクチャの順序に従って、各ピクチャの符号化データを出力する。
【００７２】
以下、符号化器１１−１〜１１−ｎの詳細について説明する。なお、符号化器１１−１〜１１−ｎは、同一の構成及び同一の機能を有するので、以下では、符号化器１１−１について説明する。
【００７３】
符号化器１１−１は、入力された領域内に含まれる複数のCTUを、ラスタスキャン順でCTUごとに符号化する。
【００７４】
図１２は、符号化器１１−１の概略構成図である。符号化器１１−１は、制限ブロック特定部２１と、ベクトルモード決定部２５と、符号化モード決定部２６と、予測符号化部２７と、エントロピー符号化部２８とを有する。
【００７５】
制限ブロック特定部２１は、PUをインター予測符号化する場合に用いられる動きベクトルの時間予測ベクトルとして、符号化済みピクチャの他の符号化器により符号化された領域に含まれるPUの動きベクトルを選択する可能性の有るPUを特定する。そのために、制限ブロック特定部２１は、インター予測制限対象CTU決定部２２と、インター予測制限対象CU決定部２３と、インター予測制限対象PU決定部２４とを有する。
【００７６】
インター予測制限対象CTU決定部２２は、互いに異なる符号化器に入力される二つの領域間の境界位置（すなわち、タイル間の境界位置）に基づいて、Temporalベクトルモードの適用が禁止されるPUを含むCTUを決定する。なお、Temporalベクトルモードの適用が禁止されるPUを含むCTUを、以下では、インター予測制限対象ブロックと呼ぶ。
【００７７】
再度図１１を参照すると、例えば、タイル１１０３については、タイル境界は、タイル１１０３の右端と下端となる。また、タイル１１０４については、タイル境界は、タイル１１０４の左端と下端となる。同様に、タイル１１０５については、タイル境界は、タイル１１０５の右端と上端となる。そしてタイル１１０６については、タイル境界は、タイル１１０６の左端と上端となる。
【００７８】
ここで、Temporalベクトルモードの特徴として、インター予測符号化モードで参照される符号化済みのピクチャにおいて現PUの右下に隣接するPUが参照される。さらに、現PUから、水平方向のCTU間の境界を越えた位置にあるPUは参照されない。そこで、各符号化器が符号化処理を担当するタイルにおいて、右側にタイル境界が存在するタイルだけがインター予測制限対象ブロックを含む。すなわち、この例では、タイル１１０３とタイル１１０５がインター予測制限対象ブロックを含む。以下では、タイル１１０３を例として説明する。
【００７９】
インター予測制限対象ブロックの特定方法の理解を容易にするために、図１３を参照しつつ、各CTUに割り当てられる、CTUを特定するためのインデックスについて説明する。図１３において、タイル１３００は複数のCTU１３０１に分割される。ここでは、CTUのサイズCTUSIZEは64画素とする。上述したように、ピクチャに含まれる複数のCTUは、ラスタスキャン順に符号化される。そこで、各CTUを特定するためのインデックスCTUIDXは、符号化順に設定される。また、各CTU１３０１内に示されている、各CTUの水平方向のインデックスCTUHIDXは、左端のCTUから順に割り当てられる。すなわち、左端のCTUについてのCTUHIDXは0であり、左端から(N+1)番目のCTUについてのCTUHIDXはNとなる。そして右端のCTUについてのCTUHIDXは(TileCTUNumH-1)となる。
【００８０】
Temporalベクトルモードの動作定義から、上記のように、タイル間の境界を跨いで参照される可能性があるのは、右端がタイル間の垂直方向の境界に接するCTUである。そこで、インター予測制限対象CTU決定部２２は、水平方向のインデックスCTUHIDXが(TileCTUNumH-1)となるCTUを、インター予測制限対象ブロックに決定する。
【００８１】
インター予測制限対象CU決定部２３は、インター予測制限対象ブロックにおいて、Temporalベクトルモードの動作定義から、符号化済みのピクチャ上で符号化対象のタイルと同一位置でないタイルに含まれる動きベクトルを参照することが可能なPUを特定する。なお、符号化対象のタイルと同一位置でないタイルに含まれる動きベクトルを参照することが可能なPUは、他の符号化器が符号化する領域を参照することが可能なPUである。そしてインター予測制限対象CU決定部２３は、特定したPUを含むCUについて、Temporalベクトルモードの適用を禁止する。以下では、説明の便宜上、Temporalベクトルモードの適用が禁止されるPUを含むCUを、インター予測制限対象CUと呼ぶ。
【００８２】
図１に示されるように、HEVCでは、選択可能なCUのサイズは、最大64x64画素から四分木構造で32x32画素、16x16画素、8x8画素である。これはCUの階層構造を表しており、符号化モード決定部２６にてCUサイズを決定するために、CUの階層構造ごとにインター予測制限対象CUが決定される。
【００８３】
図１４（ａ）〜図１４（ｄ）を参照しつつ、CUの階層構造ごとに、一つのCTU１４００に含まれる各CUに割り当てられる、CUを識別するためのCUインデックスCUIDXについて説明する。図１４（ａ）〜図１４（ｄ）において、各ブロック１４０１がそれぞれ一つのCUを表し、ブロック内に示された数値がCUインデックスCUIDXを表す。また、CTU１４００の上側に示された数値は、水平方向のCUインデックスCUHIDXを表す。図１４（ａ）は、CUサイズが64x64画素である場合のインデックスCUIDXを表す。同様に、図１４（ｂ）〜図１４（ｄ）は、それぞれ、CUサイズが32x32画素、16x16画素、8x8画素である場合のCUインデックスCUIDXを表す。
【００８４】
CUインデックスCUIDXは、符号化順、例えば、ラスタスキャン順に従って割り当てられる。また、水平方向のCUのインデックスであるCU水平インデックスCUHIDXは、本実施形態では、水平方向に左から右へ順にCUごとに割り当てられる。
【００８５】
便宜上、インター予測制限対象ブロックであるCTUについて、そのCTUの左端を基準とした座標を定義する。この座標系において、タイルの右端にあるタイル境界座標（画素精度）をtbとすると、tb=(TileCTUNumH*CTUSIZE-1)となる。ただし、タイル左端の画素の座標を0とする。
【００８６】
インター予測制限対象CU決定部２３は、タイル右端のタイル境界に接するCUHIDX=tb/CUSIZEとなるCUを、インター予測制限対象CUとする。ただし、図５（ｃ）に示されるように、符号化対象のPUとその右下のPUとの間にCTU境界が位置する符号化対象のPUに対応するCU、すなわちCUIDX={(CTUSIZE/CUSIZE)*(CTUSIZE/CUSIZE)-1}のCUでは、ColPUの位置が修正される。そのため、インター予測制限対象CU決定部２３は、そのCUを、例外的にインター予測制限対象CUとしなくてもよい。
【００８７】
図１５（ａ）〜図１５（ｄ）は、それぞれ、サイズが64x64画素、32x32画素、16x16画素、8x8画素のCUについて、インター予測制限対象ブロックであるCTU１５００におけるインター予測制限対象CUを示すマップである。各ブロック１５０１は、それぞれ、一つのCUを表す。そしてCU内に示された'0'〜'2'のうち、'0'は、インター予測制限対象CUでないことを表す。また'1'は、インター予測制限対象CUであることを表す。そして'2'は、インター予測制限対象CUのうちで例外的にTemporalベクトルモードの適用が禁止されないCUであることを表す。図１５（ａ）〜図１５（ｄ）に示されるように、インター予測制限対象ブロックの右端のCUがインター予測制限対象CUとなる。ただし、インター予測制限対象ブロックの右端かつ下端に位置するCUは、例外として扱われる。
なお、設定の簡略化のため、インター予測制限対象CU決定部２３は、インター予測制限対象ブロックに含まれるすべてのCUをインター予測制限対象CUとしてもよい。
【００８８】
なお、インター予測制限対象CU決定部２３は、選択可能なCUのサイズを制限してもよい。例えば、インター予測制限対象CU決定部２３は、CU制限インデックスとして、無効を示す値を規定することで、CTU内で選択されるCUの分割を制限できる。上述したように、CUは符号化モードを決定する単位であり、動画像符号化装置１は、CUごとに、符号化モードとして、イントラ予測符号化モードとインター予測符号化モードの何れかを選択できる。詳細な説明は後述するが、Temporalベクトルモードで参照するPUが含まれるCUがイントラ予測符号化される可能性がある。イントラ予測符号化モードは一般的にインター予測符号化モードよりも圧縮効率が低いため、イントラ予測符号化モードが適用されるCUのサイズは、選択可能なCUサイズのうちの最小サイズとすることが好ましい。例えば、インター予測制限対象CU決定部２３は、CUの最小サイズCUSIZE=8において、Temporalベクトルモードの適用が禁止されるCU（すなわち、CU制限インデックスが非0であるCU）が選択されるようにする。そのため、インター予測制限対象CU決定部２３は、CUサイズが8より大きい場合、CU制限インデックスが非0である最小サイズのCUと同一位置を含むCUのCU制限インデックスの値を、無効を表す値、例えば、'3'に設定する。
【００８９】
インター予測制限対象PU決定部２４は、インター予測制限対象CUにおいて他の符号化器により符号化される領域を、Temporalベクトルモードにおいて参照可能なPUについて、Temporalベクトルモードの適用を禁止する。以下では、説明の便宜上、Temporalベクトルモードの適用が禁止されるPUをインター予測制限対象PUと呼ぶ。
【００９０】
図１に示されるように、HEVCでは、選択可能なCUのサイズは、最大64x64画素から四分木構造で32x32画素、16x16画素、8x8画素である。それぞれのサイズのCUは、図１に示したPU分割モードPartMode =2Nx2N, NxN, 2NxN, Nx2N, 2NxU, 2NxnD, nRx2N, nLx2Nに従って、複数のPUに分割される。すなわち、PUも、CUについての階層構造となっている。そこで、CUの階層構造ごとにインター予測制限対象PUが決定される。
【００９１】
図１６（ａ）〜図１６（ｈ）を参照しつつ、一つのCU１６００に含まれる各PUに割り当てられる、PUを識別するためのPUインデックスPUIDXについて説明する。図１６（ａ）〜図１６（ｈ）は、それぞれ、PU分割モードPartModeが2Nx2N, NxN, 2NxN, Nx2N, 2NxU, 2NxnD, nRx2N, nLx2Nである場合のインデックスPUIDXを表す。図１６（ａ）〜図１６（ｈ）において、各ブロック１６０１がそれぞれ一つのPUを表し、ブロック内に示された数値がPUインデックスPUIDXを表す。また、CU１６００の上側に示された数値は、水平方向のPUインデックスPUHIDXを表す。
【００９２】
インデックスPUIDXは、PUの符号化順に従って割り当てられる。また、水平方向のPUインデックスPUHIDXは、水平方向に左から右へPUごとに順に割り当てられる。
【００９３】
インター予測制限対象PU決定部２４は、インター予測制限対象CUを示す、各CUの制限インデックスのマップであるCU制限マップを参照し、CU制限インデックスが'１'もしくは'２'のCUを着目するCUとする。そしてインター予測制限対象PU決定部２４は、着目するCUに含まれる各PUについて、他の符号化器により符号化される領域内のPUをTemporalベクトルモードで参照するか否かを判定する。
【００９４】
具体的には、インター予測制限対象PU決定部２４は、制限インデックスが'1'のCUに含まれるPUのうち、PUHIDX=tb/PUHSIZEであるPUをインター予測制限対象PUに設定する。ここで、PUHSIZEは、PUの水平方向のサイズを表す。
【００９５】
図１７（ａ）〜図１７（ｈ）は、それぞれ、PU分割モードPartModeが2Nx2N, NxN, 2NxN, Nx2N, 2NxU, 2NxnD, nRx2N, nLx2Nである場合の予測制限対象PUを示すマップである。図１７（ａ）〜図１７（ｈ）において、各ブロック１７０１は、それぞれ、一つのPUを表す。そしてPU内に示された数値は、そのPUについて設定されたPU制限フラグの値である。PU制限フラグの値'0'は、対応するPUがインター予測制限対象PUでないことを表す。一方、PU制限フラグの値'1'は、対応するPUがインター予測制限対象PUであることを表す。図１７（ａ）〜図１７（ｈ）に示されるように、タイル境界、すなわち、異なる符号化器で符号化される領域間の境界の左側に隣接するPUがインター予測制限対象PUに設定される。
【００９６】
また、インター予測制限対象PU決定部１４は、CU制限インデックスが'2'であるCUに含まれるPUのうち、PUとその右下のPUとの間にCTU境界が位置するPUについては、例外として、インター予測制限対象PUから除外してもよい（すなわち、そのPUのPU制限フラグの値は'0'に設定される）。PUとその右下のPUとの間にCTU境界が位置するPUについては、ColPUがそのPUと重なるように設定され、Temporalベクトルモードで選択される予測ベクトルの候補が他の符号化器により符号化される領域を参照しないためである。
この場合、PU分割モードPartModeが2Nx2N, NxN, 2NxN, Nx2N, 2NxU, 2NxnD, nRx2N, nLx2Nである場合の予測制限対象PUを示すマップは、図１８（ａ）〜図１８（ｈ）に示されるものとなる。図１８（ａ）〜図１８（ｈ）において、各ブロック１８０１は、それぞれ、一つのPUを表す。そしてPU内に示された数値は、そのPUについて設定されたPU制限フラグの値である。
【００９７】
ベクトルモード決定部２５は、符号化対象PUの動きベクトルの予測ベクトルを決定する。ただし、予測制限対象PUについては、ベクトルモード決定部２５は、予測制限対象PUにおいて選択可能なインター予測モードのベクトルモード判定でTemporalベクトルモードの適用を禁止し、予測ベクトルの候補を、Spatialベクトルモードで選択される空間予測ベクトルとする。そしてベクトルモード決定部２５は、空間予測ベクトルの中から、予測ベクトルを決定する。
【００９８】
図１９は、AMVPモードにおける、ベクトルモード決定部２５による、予測制限対象PUについての予測ベクトルの決定手順の動作フローチャートである。ベクトルモード決定部２５は、図３に示されたフローチャートにおける、ステップＳ１０１〜Ｓ１０３の処理を行った後、図１９に示されたステップＳ３０１以降の処理を実行する。なお、ベクトルモード決定部２５は、予測制限対象PU以外のPUについては、図３に示されたフローチャートに従って、予測ベクトルを決定すればよい。
【００９９】
ベクトルモード決定部２５は、予測ベクトル候補リストmvpListLXに、mvLXAまたはmvLXBが登録されているか否か判定する（ステップＳ３０１）。予測ベクトル候補リストmvpListLXに、mvLXAまたはmvLXBが登録されている場合（ステップＳ３０１−Ｙｅｓ）、ベクトルモード決定部２５は、mvLXA及びmvLXBのうち、予測ベクトル候補リストmvpListLXに登録されている方を予測ベクトルmvpLXとする（ステップＳ３０２）。なお、mvLXAとmvLXBの両方が登録されている場合、ベクトルモード決定部２５は、mvLXA及びmvLXBのうち、符号化対象PUの動きベクトルに対する誤差が小さい方、すなわち、情報量が小さい方を予測ベクトルmvpLXとしてもよい。予測ベクトルmvpLXとして選択されたベクトルは、候補リストmvpListLXにおけるその選択されたベクトルの位置を表すシンタックスmvpLxFlagで表される。そのシンタックスmvpLxFlag及び符号化対象PUの動きベクトルと予測ベクトル間の差分ベクトルがエントロピー符号化される。
【０１００】
一方、mvLXA及びmvLXBの両方が登録されていない場合（ステップＳ３０１−Ｎｏ）、ベクトルモード決定部２５は、予測ベクトルmvpLXを無効とする（ステップＳ３０３）。
ステップＳ３０２またはＳ３０３の後、ベクトルモード決定部２５は、予測ベクトルの決定を終了する。
【０１０１】
図２０は、Mergeモードにおける、ベクトルモード決定部２５による、予測制限対象PUについての予測ベクトルの決定手順の動作フローチャートである。ベクトルモード決定部２５は、図６に示されたフローチャートにおける、ステップＳ２０１及びＳ２０３の処理を行った後、図２０に示されたステップＳ４０１以降の処理を実行する。ただし、予測制限対象PU以外のPUについては、ベクトルモード決定部２５は、図６に示されたフローチャートに従って予測ベクトルを決定すればよい。
【０１０２】
ベクトルモード決定部２５は、Mergeベクトル候補リストmergeCandList（最大で５個の候補を含む）を作成した後、mergeCandListにSpatialベクトルモードで選択された空間予測ベクトルの候補mvLXAnまたはmvLXBnが登録されているか否か判定する（ステップＳ４０１）。mvLXAn及びmvLXBnのうちの何れかが、予測ベクトル候補リストmergeCandListに登録されていれば（ステップＳ４０１−Ｙｅｓ）、ベクトルモード決定部２５は、mvLXAn及びmvLXBnのうちの登録されている何れかを予測ベクトルmvpLXとする（ステップＳ４０２）。なお、mvLXAn及びmvLXBnのうちの複数が登録されている場合、ベクトルモード決定部２５は、登録されているmvLXAn及びmvLXBnのうち、符号化対象PUの動きベクトルに対する誤差が最小となるもの、すなわち、情報量が最小となるものを予測ベクトルmvpLXとしてもよい。予測ベクトルmvpLXとして選択されたベクトルは、候補リストmergeCandListにおけるその選択されたベクトルの位置を表すシンタックスmergeIdxで表される。そのシンタックスmergeIdx及び符号化対象PUの動きベクトルと予測ベクトル間の差分ベクトルがエントロピー符号化される。
【０１０３】
一方、mvLXAn及びmvLXBnの何れも登録されていない場合（ステップＳ４０１−Ｎｏ）、ベクトルモード決定部２５は、予測ベクトルmvpLXを無効とする（ステップＳ４０３）。  ステップＳ４０２またはＳ４０３の後、ベクトルモード決定部２５は、予測ベクトルの決定を終了する。
なお、ベクトルモード決定部２５は、符号化モード決定部２６のPUについての処理と同期して、そのPUについての予測ベクトルの決定手順を実行してもよい。
【０１０４】
上記のように、予測制限対象PUでは、Temporalベクトルモードの適用が禁止されるので、時間予測ベクトルの決定に関する処理が省略されてよい。そのため、予測制限対象PUでは、予測ベクトルの決定における演算量が削減される。
【０１０５】
符号化モード決定部２６は、符号化対象ピクチャの各CUについての符号化モードを決定する。さらに、符号化モード決定部２６は、各PUについてのインター予測モードを決定する。
【０１０６】
符号化モード決定部２６は、図１９または図２０において、予測ベクトルmvpLXが無効とされたPUについて、そのPUを含むCUをイントラ予測符号化することに決定する。
【０１０７】
符号化モード決定部２６は、符号化対象ピクチャの符号化対象CTUにおいて、CU分割モード（CUサイズ）とPU分割モードの組み合わせのなかから、一つの組み合わせを選択し、選択した組み合わせに応じたインター予測モードを決定する。さらに、符号化モード決定部２６は、その組み合わせについて、符号化モード、すなわちイントラ予測符号化するか、インター予測符号化するかを決定する。
【０１０８】
符号化モード決定部２６は、CU分割モード及びPU分割モードを決定するために、CU分割モードとPU分割モードの組み合わせのそれぞれについて、符号量の推定値である符号化コストを算出し、その符号化コストが最小となる組み合わせを選択する。符号化モード決定部２６は、符号化コストを算出するために、次式に従って予測誤差、すなわち画素差分絶対値和SADを算出する。
SAD=Σ｜OrgPixel-PredPixel｜
ここで、OrgPixelは符号化対象ピクチャの着目するブロック、例えば、PUに含まれる画素の値であり、PredPixelはHEVC規格で求められる、着目するブロックに対応する予測ブロックに含まれる画素の値である。
ただし、符号化モード決定部２６は、SADの代わりに、符号化対象CTUと予測ブロックとの差分画像をアダマール変換した後の各画素の絶対値和SATDなどを算出してもよい。
【０１０９】
また、差分ベクトルMVD=(予測ベクトル−動きベクトル)を符号化するために必要な情報量をMVDCostとすると、符号化コストCostは、次式で表される。
Cost=SAD + λ*MVDCost
ただし、λはSADとMVDCostのバランスを調整するスケーラーである。
【０１１０】
図２１を参照しつつ、符号化モード決定部２６の処理をより詳細に説明する。なお、符号化モード決定部２６は、無効とされているCUについては選択されないので、そのCUを含む組み合わせの符号化コストを算出しない。ここでは簡単化のためCUSIZE=32とCUSIZE=16が有効であるとして説明する。
【０１１１】
まず、符号化モード決定部２６は、CTU２１００において、CUSIZEを32に設定する。そして符号化モード決定部２６は、符号化対象CU内のPU分割モードPartModeごとにコストPuSizeCostを求めるため、CU２１０１に含まれる各PU２１０２のコストPuCostを求める。インター予測モードの決定において、符号化モード決定部２６は、AMVPモードとMergeモードのそれぞれについてPUのコストを算出する。その際、符号化モード決定部２６は、予測ベクトルとして、ベクトルモード決定部２５により選択された予測ベクトルを用いる。上述したように、インター予測制限対象PUについては、Spatialベクトルモードで選択された空間予測ベクトルの中から予測ベクトルが選択される。AMVPモードとMergeモードの両方で予測ベクトルが無効なPU、すなわち、空間予測ベクトルが無いPUであれば、符号化モード決定部２６は、インター予測モードを無効とし、PUコストPuCostも無効値、すなわち、非常に大きな値とする。
【０１１２】
AMVPモードが無効であり、かつ、Mergeモードが有効、すなわち、Mergeモードにおいて空間予測ベクトルの中から予測ベクトルが選択されていれば、符号化モード決定部２６は、インター予測モードをMergeモードとする。そして符号化モード決定部２６は、PUコストPuCostを、MergeモードのコストMergeCostとする。逆に、AMVPモードが有効、すなわち、AMVPモードにおいて空間予測ベクトルの中から予測ベクトルが選択されており、かつ、Mergeモードが無効であれば、符号化モード決定部２６は、インター予測モードをAMVPモードとする。そして符号化モード決定部２６は、PUコストPuCostを、AMVPモードのコストAMVPCostとする。また、AMVPモードとMergeモードの両方が有効であれば、符号化モード決定部２６は、インター予測モードを、AMVPモードのコストAMVPCostとMergeモードのコストMergeCostのうちの最小値に対応するモードとする。そして符号化モード決定部２６は、その最小値をPUコストPuCostとする。
【０１１３】
CUに含まれる全てのPUについて、PUコストPuCostが算出されると、符号化モード決定部２６は、PU分割モードごとに、CUに含まれる全てのPUのPUコストPuCostの総和PuSizeCost=ΣPuCostを、PU分割モードコストとして算出する。符号化モード決定部２６は、設定可能な全てのPU分割モードのPU分割モードコストのうちの最小値に対応するPU分割モードを選択する。また符号化モード決定部２６は、PU分割モードコストのうちの最小値を、着目するCUサイズ（この例では、32）についてのインター予測符号化モードのコストInterCu32Costとする。
【０１１４】
さらに、符号化モード決定部２６は、CUSIZE=32においてCUをイントラ予測符号化するときのイントラ予測符号化モードのコストIntraCu32Costを算出する。この場合には、符号化モード決定部２６は、例えば、HEVC規格で規定されている、イントラ予測符号化モードで選択可能な予測ブロックの作成方法に従ってそれぞれ予測ブロックを生成し、予測ブロックごとに、上記のSADの算出式に従ってコストを算出する。そして符号化モード決定部２６は、予測画像ごとのコストのうちの最小値をコストIntraCu32Costとすればよい。
【０１１５】
符号化モード決定部２６は、イントラ予測符号化モードのコストIntraCu32Costとインター予測符号化モードのコストInterCu32Costのうちの最小値に対応する符号化モードを、そのCUサイズについて選択される符号化モードとする。選択された符号化モードは、フラグpredModeFlag（=イントラ予測符号化モードまたはインター予測符号化モード）で表される。また符号化モード決定部２６は、その最小値をCUSIZE=32のコストCu32Costとする。なお、CUに含まれるPUのうちの一つでも無効なPUがあれば、InterCu32Costが無効値となる。この場合、符号化モード決定部２６は、CUSIZE=32のCUについてイントラ予測符号化モードを選択する。
【０１１６】
次に、符号化モード決定部２６は、CUSIZEを16に設定し、同様の処理を行う。最後に、符号化モード決定部２６は、CUSIZE=32のコストCu32CostとCUSIZE=16の四つのCUのコストの総和であるコストCu16Costのうちの最小値を求める。そして符号化モード決定部２６は、その最小値に対応するCUサイズ、PU分割モード、及び符号化モード（インター予測符号化モードであれば、さらにインター予測モード）を決定する。
【０１１７】
このように、符号化モード決定部２６は、CUに含まれる何れかのPUについて空間予測ベクトルが無い場合、そのPUを含むCUに対する符号化モードをイントラ予測符号化モードに決定する。
【０１１８】
なお、変形例によれば、符号化モード決定部２６は、CU制限インデックスが'0'以外のCUについては、強制的にそのCUの符号化モードをイントラ予測符号化モードとしてもよい。この場合、符号化モードの選択に要する演算量が削減される。
【０１１９】
予測符号化部２７は、各CUについて、符号化モード決定部２６により決定された符号化モードに従って、PUごとに予測ブロックを生成し、その予測ブロックとPU間の予測誤差を量子化することで、各CUの符号化データを生成する。
【０１２０】
具体的に、予測符号化部２７は、符号化対象PUと、予測ブロックとの差分演算を実行する。そして予測符号化部２７は、その差分演算により得られたPU内の各画素に対応する差分値を、予測誤差信号とする。
【０１２１】
予測符号化部２７は、符号化対象TUの予測誤差信号を直交変換することにより、予測誤差信号の水平方向の周波数成分及び垂直方向の周波数成分を表す周波数信号を求める。例えば、予測符号化部２７は、直交変換処理として、離散コサイン変換（Discrete Cosine Transform、DCT）を予測誤差信号に対して実行することにより、周波数信号として、TUごとのDCT係数の組を得る。
【０１２２】
次に、予測符号化部２７は、周波数信号を量子化することにより、その周波数信号の量子化係数を算出する。この量子化処理は、一定区間に含まれる信号値を一つの信号値で表す処理である。そしてその一定区間は、量子化幅と呼ばれる。例えば、予測符号化部２７は、周波数信号から、量子化幅に相当する所定数の下位ビットを切り捨てることにより、その周波数信号を量子化する。量子化幅は、量子化パラメータによって決定される。例えば、予測符号化部２７は、量子化パラメータの値に対する量子化幅の値を表す関数にしたがって、使用される量子化幅を決定する。またその関数は、量子化パラメータの値に対する単調増加関数とすることができ、予め設定される。
【０１２３】
あるいは、水平方向及び垂直方向の周波数成分のそれぞれに対応する量子化幅を規定する量子化マトリクスが、予め複数準備され、予測符号化部２７が有するメモリに記憶される。そして予測符号化部２７は、量子化パラメータにしたがって、それら量子化マトリクスのうちの特定の量子化マトリクスを選択する。そして予測符号化部２７は、選択された量子化マトリクスを参照して、周波数信号の各周波数成分に対する量子化幅を決定してもよい。
【０１２４】
また予測符号化部２７は、HEVCなどの動画像符号化規格に対応した様々な量子化パラメータ決定方法の何れかに従って量子化パラメータを決定すればよい。予測符号化部２７は、例えば、MPEG-2の標準テストモデル5に関する量子化パラメータの算出方法を用いることができる。なお、MPEG-2の標準テストモデル5に関する量子化パラメータの算出方法に関しては、例えば、http://www.mpeg.org/MPEG/MSSG/tm5/Ch10/Ch10.htmlで特定されるURLを参照されたい。
予測符号化部２７は、量子化処理を実行することにより、周波数信号の各周波数成分を表すために使用されるビットの数を削減できるので、符号化対象TUに含まれる情報量を低減できる。予測符号化部２７は、量子化係数を符号化データとしてエントロピー符号化部２８へ出力する。
【０１２５】
また予測符号化部２７は、符号化対象TUの量子化係数から、そのブロックよりも後のブロックを符号化するための参照領域を生成する。そのために、予測符号化部２７は、量子化係数に、量子化パラメータにより決定された量子化幅に相当する所定数を乗算することにより、量子化係数を逆量子化する。この逆量子化により、符号化対象TUの周波数信号、例えば、DCT係数の組が復元される。その後、予測符号化部２７は、周波数信号を逆直交変換処理する。例えば、予測符号化部２７がDCTを用いて周波数信号を算出している場合、予測符号化部２７は、復元された周波数信号に対して逆DCT処理を実行する。逆量子化処理及び逆直交変換処理を量子化信号に対して実行することにより、符号化前の予測誤差信号と同程度の情報を有する予測誤差信号が再生される。
【０１２６】
予測符号化部２７は、予測ブロックの各画素値に、その画素に対応する再生された予測誤差信号を加算する。これらの処理を各ブロックについて実行することにより、予測符号化部２７は、その後に符号化されるPUに対する予測ブロックを生成するために利用される参照ブロックを生成する。
予測符号化部２７は、参照ブロックを生成する度に、その参照ブロックを、予測符号化部２７が有するメモリに記憶する。
【０１２７】
予測符号化部２７が有するメモリは、順次生成された参照ブロックを一時的に記憶する。各ブロックの符号化順序にしたがって、一つの符号化器により符号化される領域に含まれる全ての参照ブロックを結合することで、後続するピクチャの符号化の際に参照される参照領域が得られる。予測符号化部２７が有するメモリは、符号化対象ピクチャが参照する可能性がある、予め定められた所定枚数分の参照領域を記憶し、参照領域の枚数がその所定枚数を超えると、符号化順序が古い参照領域から順に破棄する。
【０１２８】
なお、変形例によれば、動画像符号化装置は、各符号化器で得られた参照領域を結合して得られる参照ピクチャを記憶する、各符号化器がアクセス可能な共有メモリを有していてもよい。この場合には、各符号化器は、各CU/PUをインター予測符号化する際の予測ブロック及び動きベクトルを生成する際に、その参照ピクチャを利用できるので、符号化済みのピクチャにおける、他の符号化器で符号化された領域の情報も利用できる。
【０１２９】
さらに、予測符号化部２７が有するメモリは、インター符号化された参照ブロックのそれぞれについての動きベクトルを記憶する。
【０１３０】
また、予測符号化部２７は、インター符号化用の予測ブロックを生成するために、符号化対象PUと参照領域または参照ピクチャとの間でブロックマッチングを実行する。そして予測符号化部２７は、符号化対象PUと最も一致する参照領域または参照ピクチャ及びその参照領域または参照ピクチャ上の位置を決定することにより、動きベクトルを求める。
【０１３１】
予測符号化部２７は、符号化モード決定部２６によって選択された符号化モードに従って予測ブロックを生成する。予測符号化部２７は、符号化対象PUがインター予測符号化される場合、参照領域または参照ピクチャを動きベクトルに基づいて動き補償することで予測ブロックを生成する。
【０１３２】
また予測符号化部２７は、符号化対象PUがイントラ予測符号化される場合、符号化対象PUに隣接するブロックから予測ブロックを生成する。その際、予測符号化部２７は、例えば、HEVCに規定されている各種のイントラモードのうち、符号化モード決定部２６により決定されたイントラモードに従って予測ブロックを生成する。
【０１３３】
エントロピー符号化部２８は、予測符号化部２７から出力された量子化信号及び動きベクトルの予測誤差信号などをエントロピー符号化することにより得られたビットストリームを出力する。そして制御部（図示せず）は、出力されたビットストリームを所定の順序で結合し、HEVCなどの符号化規格で規定されるヘッダ情報などを付加することで、符号化された動画像データが得られる。
【０１３４】
図２２は、動画像符号化装置１による動画像符号化処理の動作フローチャートである。動画像符号化装置１はピクチャごとに、下記の動作フローチャートに従ってピクチャを符号化する。
【０１３５】
分割部１０は、ピクチャを複数の領域に分割する（ステップＳ５０１）。各領域は、それぞれ、少なくとも一つのタイルを含み、隣接二つの領域間の境界は、タイル間の境界となる。各領域は、符号化器１１−１〜１１−ｎの何れかに入力される。各符号化器のインター予測制限対象CTU決定部２２は、領域間の境界位置に基づいて、インター予測符号化モードの適用を制限するCTUを特定する（ステップＳ５０２）。
【０１３６】
また、各符号化器のインター予測制限対象CU決定部２３は、インター予測符号化モードの適用を制限するCTU内で、インター予測符号化モードの適用を制限するCUを特定する（ステップＳ５０３）。なお、インター予測符号化モードの適用が制限されないCTUでは、そのCTU内のサブブロック（CU、PU）については、インター予測符号化モードの適用は制限されない。
【０１３７】
そして、各符号化器のインター予測制限対象PU決定部２４は、インター予測符号化モードの適用を制限するCU内で、インター予測符号化モードの適用を制限するPUを特定する（ステップＳ５０４）。なお、インター予測符号化モードの適用が制限されないCUでは、そのCU内のPUについては、インター予測符号化モードの適用は制限されない。
【０１３８】
各符号化器のベクトルモード決定部２５は、Temporalベクトルモードの適用が禁止されるPUについてはTemporalベクトルモードを適用せずに予測ベクトルの候補を選択する。一方、ベクトルモード決定部２５は、インター予測符号化モードの適用が禁止されないPUについてはTemporalベクトルモードも適用して予測ベクトルの候補を選択する（ステップＳ５０５）。そしてベクトルモード決定部２５は、各PUについて予測ベクトルの候補の中から予測ベクトルを選択する（ステップＳ５０６）。
【０１３９】
各符号化器の符号化モード決定部２６は、CTUごとに、符号化コストが最小となるCU及びPUの組み合わせ、及び適用される符号化モードを決定する（ステップＳ５０７）。その際、インター予測符号化モードの適用が制限されるPUを含むCUについては、符号化モード決定部２６は、その制限に従ってTemporalベクトルモードにより選択される予測ベクトルの候補を用いずに符号化コストを算出する。また、符号化モード決定部２６は、無効とされるCUを選択しないように、CUとPUの組み合わせを決定する。
【０１４０】
各符号化器の予測符号化部２７は、各CTUを、決定された符号化モードに従って予測符号化する（ステップＳ５０８）。そして各符号化器のエントロピー符号化部２８は、予測符号化により得られた符号化データをエントロピー符号化する（ステップＳ５０９）。各符号化器から出力された、エントロピー符号化された符号化データは、多重化部１２に入力される。
【０１４１】
多重化部１２は、符号化器１１−１〜１１−ｎから受け取った、各領域の符号化データを、所定の順序、例えば、ラスタスキャン順に並べ、HEVCに準拠した所定のヘッダ情報を付加することで、一つのピクチャの符号化データを生成する（ステップＳ５１０）。そして多重化部１２は、ピクチャの順序に従って、各ピクチャの符号化データを出力する。
ステップＳ５１０の後、動画像符号化装置１は、動画像符号化処理を終了する。
【０１４２】
以上に説明してきたように、この動画像符号化装置は、ピクチャを、タイル間の境界が領域間の境界となるように複数の領域に分割し、領域ごとに異なる符号化器を用いて符号化する。そしてこの動画像符号化装置が有する各符号化器は、自身が符号化処理する領域に含まれるPUのうち、予測ベクトルの候補として、他の符号化器により符号化される領域内のブロックの動きベクトルを選択する可能性があるPUを特定する。そしてこの動画像符号化装置は、特定されたPUについてTemporalベクトルモードの適用を禁止することで、時間予測ベクトルの決定のために利用される動きベクトルを、符号化器間で共有しなくて済む。そのため、この動画像符号化装置は、符号化器間で共有される動きベクトルを記憶するためのメモリを設けなくてよい。
【０１４３】
次に、第２の実施形態による動画像符号化装置について説明する。第２の実施形態による動画像符号化装置は、各符号化器間で、Temporalベクトルモードが適用される際に他の符号化器から参照される可能性があるブロックについて、イントラ予測符号化されたか、インター予測符号化されたかを示すフラグを共有する。なお、Temporalベクトルモードが適用される際に他の符号化器から参照される可能性があるブロックを被参照ブロックと呼ぶ。そして各符号化器は、他の符号化器により符号化される領域内のブロックの動きベクトルを選択する可能性があるPUについて、被参照ブロックのフラグを参照する。そして各符号化器は、被参照ブロックがインター予測符号化されている場合には、予測ベクトルの候補としてダミーの時間予測ベクトルを生成するものの、予測ベクトルとして、ダミー時間予測ベクトル以外の予測ベクトルの候補を選択する。
【０１４４】
図２３は、第２の実施形態による動画像符号化装置の概略構成図である。動画像符号化装置２は、分割部１０と、複数の符号化器１１−１〜１１−ｎ（ただし、ｎは２以上の整数）と、多重化部１２と、共有メモリ１３とを有する。
第２の実施形態による動画像符号化装置２は、第１の実施形態による動画像符号化装置１と比較して、共有メモリ１３を有する点と、各符号化器の処理の一部が異なる。そこで以下では、共有メモリ１３及び各符号化器の共有メモリ１３に関連する処理について説明する。第２の実施形態による動画像符号化装置のその他の構成要素については、第１の実施形態による対応する構成要素の説明を参照されたい。
【０１４５】
共有メモリ１３は、例えば、揮発性の読み書き可能な半導体メモリ回路を有する。そして共有メモリ１３は、各符号化器１１−１〜１１−ｎからアクセス可能であり、各符号化器１１−１〜１１−ｎ間での共有情報を記憶する。共有情報は、例えば、被参照ブロックについて、イントラ予測符号化されたか、インター予測符号化されたかを示すフラグpredModeFlagである。このフラグpredModeFlagは、符号化モード情報の一例である。被参照ブロックは、その被参照ブロックが属する領域の左隣に隣接し、かつ、他の符号化器により符号化される領域に含まれるPUに対してColPUとなるブロックである。すなわち、領域間の境界に左端が接する、例えば、16画素x16画素のブロックごとに、一つのフラグpredModeFlagが、各符号化器の符号化モード決定部２６から出力され、共有メモリ１３に記憶される。
なお、フラグpredModeFlagは、1ビットで表されるので、領域間の境界に左端が接する、16画素x16画素のブロックごとに、1ビットの情報が符号化器間で共有されることになる。
【０１４６】
各符号化器のベクトルモード決定部２５は、予測制限対象PUについての予測ベクトルを決定する際、その予測制限対象PUから領域間の境界を越えた位置にあり、かつ、他の符号化器により符号化される領域内に含まれる、ColPUのフラグpredModeFlagを参照する。ColPUがイントラ予測符号化されていれば、予測制限対象PUについての時間予測ベクトルが存在しないため、ベクトルモード決定部２５は、予測制限対象PUでないPUと同様に予測ベクトルを決定する。一方、ColPUがインター予測符号化されていれば、予測制限対象PUについての時間予測ベクトルが存在する。そこでベクトルモード決定部２５は、予測ベクトルの候補のリストに、ダミーの時間予測ベクトルを登録する。そしてベクトルモード決定部２５は、予測ベクトルの候補のリストが完成した後に、時間予測ベクトル以外の予測ベクトルの候補をそのリストから選択して予測ベクトルとする。
【０１４７】
例えば、AMVPモードでは、ベクトルモード決定部２５は、図３に示されたフローチャートにおける、ステップＳ１０６において、ダミーの時間予測ベクトルを候補リストmvpListLXに登録する。そして時間予測ベクトルは高々一つの候補なので、ステップＳ１０９の開始前の作成完了した候補リストmvpListLXには、必ず、ダミーの時間予測ベクトル以外に、選択可能な予測ベクトルの候補が登録されている。そこで、ステップＳ１０９において、ベクトルモード決定部２５は、候補リストmvpListLXに登録された二つの予測ベクトルの候補のうち、ダミーの時間予測ベクトル以外のベクトルを選択し、予測ベクトルmvpLXとする。そしてベクトルモード決定部２５は、選択したベクトルが格納されている、候補リストmvpListLXの要素の位置をシンタックスmvpLxFlagで表す。
【０１４８】
同様にMergeモードでは、ColPUがインター予測符号化されている場合、結合両予測ベクトルモードが実行され、時間予測ベクトルが予測ベクトルとなる可能性がある。そこでMergeモードでは、ベクトルモード決定部２５は、図６に示されたフローチャートにおける、ステップＳ２０２において、ColPUがインター予測符号化されている場合、時間予測ベクトルを作成せず、ステップＳ２０３において、候補リストmergeCandListに時間予測ベクトルを登録しない。また、ステップＳ２０６において、時間予測ベクトルを利用する結合両予測ベクトルは求められず、候補リストmergeCandListに登録されない。そしてステップＳ２０９において、ベクトルモード決定部２５は、候補リストmergeCandListに登録されたMaxNumMergeCand（最大5）で示される数の利用可能なベクトルの候補の中から、誤差が最小の候補を、MergeベクトルmvLXNとする。そしてベクトルモード決定部２５は、選択したベクトルが格納されている、候補リストmergeCandListの要素の位置をシンタックスmergeIdxで表す。
すなわち、第２の実施形態によれば、予測ベクトルとして、空間予測ベクトルまたはゼロベクトルから決定される予測ベクトルの候補が選択される。
【０１４９】
以上に説明してきたように、第２の実施形態による動画像符号化装置は、各符号化器間で、被参照ブロックについてのフラグpredModeFlagを共有する。これにより、この動画像符号化装置は、他の符号化器が符号化するタイル内のブロックの動きベクトルを選択する可能性があるPUについて単純にTemporalベクトルモードの適用を禁止するよりも、予測ベクトルの候補または選択可能な予測モードの数を増やせる。そのため、この動画像符号化装置は、より最適な予測ベクトルまたは予測モードを選択できるので、再生された動画像の画質を向上できる。またこの動画像符号化装置は、タイル境界に左端が隣接するブロックごとに、1ビットのフラグpredModeFlagを共有すればよいので、それらのブロックの動きベクトルを符号化器間で共有するよりも、共有する情報を記憶するメモリの容量を削減できる。
【０１５０】
図２４は、上記の各実施形態またはその変形例による動画像符号化装置の各部の機能を実現するコンピュータプログラムが動作することにより、動画像符号化装置として動作するコンピュータの構成図である。
【０１５１】
コンピュータ１００は、ユーザインターフェース部１０１と、通信インターフェース部１０２と、記憶部１０３と、記憶媒体アクセス装置１０４と、プロセッサ１０５とを有する。プロセッサ１０５は、ユーザインターフェース部１０１、通信インターフェース部１０２、記憶部１０３及び記憶媒体アクセス装置１０４と、例えば、バスを介して接続される。
【０１５２】
ユーザインターフェース部１０１は、例えば、キーボードとマウスなどの入力装置と、液晶ディスプレイといった表示装置とを有する。または、ユーザインターフェース部１０１は、タッチパネルディスプレイといった、入力装置と表示装置とが一体化された装置を有してもよい。そしてユーザインターフェース部１０１は、例えば、ユーザの操作に応じて、符号化する動画像データあるいは復号する符号化動画像データを選択する操作信号をプロセッサ１０５へ出力する。またユーザインターフェース部１０１は、プロセッサ１０５から受け取った、復号された動画像データを表示してもよい。
【０１５３】
通信インターフェース部１０２は、コンピュータ１００を、動画像データを生成する装置、例えば、ビデオカメラと接続するための通信インターフェース及びその制御回路を有してもよい。そのような通信インターフェースは、例えば、Universal Serial Bus（ユニバーサル・シリアル・バス、USB）とすることができる。
【０１５４】
さらに、通信インターフェース部１０２は、イーサネット（登録商標）などの通信規格に従った通信ネットワークに接続するための通信インターフェース及びその制御回路を有してもよい。
【０１５５】
この場合には、通信インターフェース部１０２は、通信ネットワークに接続された他の機器から、符号化する動画像データを取得し、そのデータをプロセッサ１０５へ渡す。また通信インターフェース部１０２は、プロセッサ１０５から受け取った、符号化動画像データを通信ネットワークを介して他の機器へ出力してもよい。
【０１５６】
記憶部１０３は、例えば、読み書き可能な半導体メモリと読み出し専用の半導体メモリとを有する。そして記憶部１０３は、プロセッサ１０５上で実行される、動画像符号化処理を実行するためのコンピュータプログラム、及びこれらの処理の途中または結果として生成されるデータを記憶する。
【０１５７】
記憶媒体アクセス装置１０４は、例えば、磁気ディスク、半導体メモリカード及び光記憶媒体といった記憶媒体１０６にアクセスする装置である。記憶媒体アクセス装置１０４は、例えば、記憶媒体１０６に記憶されたプロセッサ１０５上で実行される、動画像符号化処理用のコンピュータプログラムを読み込み、プロセッサ１０５に渡す。
【０１５８】
プロセッサ１０５は、上記の実施形態または変形例による動画像符号化処理用コンピュータプログラムを実行することにより、符号化動画像データを生成する。そしてプロセッサ１０５は、生成された符号化動画像データを記憶部１０３に保存し、または通信インターフェース部１０２を介して他の機器へ出力する。
【０１５９】
なお、動画像符号化装置１の各部の機能をプロセッサ上で実行可能なコンピュータプログラムは、コンピュータによって読み取り可能な媒体に記録された形で提供されてもよい。ただし、そのような記録媒体には、搬送波は含まれない。
【０１６０】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【符号の説明】
【０１６１】
１、２    動画像符号化装置
１０    分割部
１１−１〜１１−ｎ    符号化器
１２    多重化部
１３    共有メモリ
２１    制限ブロック特定部
２２    インター予測制限対象CTU決定部
２３    インター予測制限対象CU決定部
２４    インター予測制限対象PU決定部
２５    ベクトルモード決定部
２６    符号化モード決定部
２７    予測符号化部
２８    エントロピー符号化部
１００    コンピュータ
１０１    ユーザインターフェース部
１０２    通信インターフェース部
１０３    記憶部
１０４    記憶媒体アクセス装置
１０５    プロセッサ
１０６    記憶媒体
【図１】
2015173404.tif 000003
【図２】
2015173404.tif 000004
【図３】
2015173404.tif 000005
【図４】
2015173404.tif 000006
【図５】
2015173404.tif 000007
【図６】
2015173404.tif 000008
【図７】
2015173404.tif 000009
【図８】
2015173404.tif 000010
【図９】
2015173404.tif 000011
【図１０】
2015173404.tif 000012
【図１１】
2015173404.tif 000013
【図１２】
2015173404.tif 000014
【図１３】
2015173404.tif 000015
【図１４】
2015173404.tif 000016
【図１５】
2015173404.tif 000017
【図１６】
2015173404.tif 000018
【図１７】
2015173404.tif 000019
【図１８】
2015173404.tif 000020
【図１９】
2015173404.tif 000021
【図２０】
2015173404.tif 000022
【図２１】
2015173404.tif 000023
【図２２】
2015173404.tif 000024
【図２３】
2015173404.tif 000025
【図２４】
2015173404.tif 000026