(本開示の基礎となった知見)
従来の画像及び映像の符号化及び復号方法では、画像はブロックに分割され、ブロックレベルで符号化処理及び復号処理が行われる。近年の映像標準規格では、通常の8x8又は16x16といったサイズ以外にも様々なブロックサイズで符号化処理及び復号処理を行うことができる。例えば、画像の符号化処理及び復号処理では、4x4〜256x256のサイズ範囲を使用することができる。
4x4〜256x256のブロックサイズの範囲を表すために、分割モード(例えば、四分木分割モード及び二分木分割モード)及び分割フラグ(例えば、split flag)等のブロック分割情報がブロックに対して決定され、信号化される。この信号化のオーバーヘッドは、分割深さが増すにつれて増加する。そして、オーバーヘッドが増えると、全体の映像圧縮効率が低下する。
そこで、本開示では、ブロック分割情報に係る符号量を削減して、圧縮効率を向上させることができる符号化装置及び復号装置を提供する。
以下、実施の形態について図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、請求の範囲を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
まず、後述する本開示の各態様で説明する処理および/または構成を適用可能な符号化装置および復号化装置の一例として、実施の形態1の概要を説明する。ただし、実施の形態1は、本開示の各態様で説明する処理および/または構成を適用可能な符号化装置および復号化装置の一例にすぎず、本開示の各態様で説明する処理および/または構成は、実施の形態1とは異なる符号化装置および復号化装置においても実施可能である。
実施の形態1に対して本開示の各態様で説明する処理および/または構成を適用する場合、例えば以下のいずれかを行ってもよい。
(1)実施の形態1の符号化装置または復号化装置に対して、当該符号化装置または復号化装置を構成する複数の構成要素のうち、本開示の各態様で説明する構成要素に対応する構成要素を、本開示の各態様で説明する構成要素に置き換えること
(2)実施の形態1の符号化装置または復号化装置に対して、当該符号化装置または復号化装置を構成する複数の構成要素のうち一部の構成要素について機能または実施する処理の追加、置き換え、削除などの任意の変更を施した上で、本開示の各態様で説明する構成要素に対応する構成要素を、本開示の各態様で説明する構成要素に置き換えること
(3)実施の形態1の符号化装置または復号化装置が実施する方法に対して、処理の追加、および/または当該方法に含まれる複数の処理のうちの一部の処理について置き換え、削除などの任意の変更を施した上で、本開示の各態様で説明する処理に対応する処理を、本開示の各態様で説明する処理に置き換えること
(4)実施の形態1の符号化装置または復号化装置を構成する複数の構成要素のうちの一部の構成要素を、本開示の各態様で説明する構成要素、本開示の各態様で説明する構成要素が備える機能の一部を備える構成要素、または本開示の各態様で説明する構成要素が実施する処理の一部を実施する構成要素と組み合わせて実施すること
(5)実施の形態1の符号化装置または復号化装置を構成する複数の構成要素のうちの一部の構成要素が備える機能の一部を備える構成要素、または実施の形態1の符号化装置または復号化装置を構成する複数の構成要素のうちの一部の構成要素が実施する処理の一部を実施する構成要素を、本開示の各態様で説明する構成要素、本開示の各態様で説明する構成要素が備える機能の一部を備える構成要素、または本開示の各態様で説明する構成要素が実施する処理の一部を実施する構成要素と組み合わせて実施すること
(6)実施の形態1の符号化装置または復号化装置が実施する方法に対して、当該方法に含まれる複数の処理のうち、本開示の各態様で説明する処理に対応する処理を、本開示の各態様で説明する処理に置き換えること
(7)実施の形態1の符号化装置または復号化装置が実施する方法に含まれる複数の処理のうちの一部の処理を、本開示の各態様で説明する処理と組み合わせて実施すること
なお、本開示の各態様で説明する処理および/または構成の実施の仕方は、上記の例に限定されるものではない。例えば、実施の形態1において開示する動画像/画像符号化装置または動画像/画像復号化装置とは異なる目的で利用される装置において実施されてもよいし、各態様において説明した処理および/または構成を単独で実施してもよい。また、異なる態様において説明した処理および/または構成を組み合わせて実施してもよい。
[符号化装置の概要]
まず、実施の形態1に係る符号化装置の概要を説明する。図1は、実施の形態1に係る符号化装置100の機能構成を示すブロック図である。符号化装置100は、動画像/画像をブロック単位で符号化する動画像/画像符号化装置である。
図1に示すように、符号化装置100は、画像をブロック単位で符号化する装置であって、分割部102と、減算部104と、変換部106と、量子化部108と、エントロピー符号化部110と、逆量子化部112と、逆変換部114と、加算部116と、ブロックメモリ118と、ループフィルタ部120と、フレームメモリ122と、イントラ予測部124と、インター予測部126と、予測制御部128と、を備える。
符号化装置100は、例えば、汎用プロセッサ及びメモリにより実現される。この場合、メモリに格納されたソフトウェアプログラムがプロセッサにより実行されたときに、プロセッサは、分割部102、減算部104、変換部106、量子化部108、エントロピー符号化部110、逆量子化部112、逆変換部114、加算部116、ループフィルタ部120、イントラ予測部124、インター予測部126及び予測制御部128として機能する。また、符号化装置100は、分割部102、減算部104、変換部106、量子化部108、エントロピー符号化部110、逆量子化部112、逆変換部114、加算部116、ループフィルタ部120、イントラ予測部124、インター予測部126及び予測制御部128に対応する専用の1以上の電子回路として実現されてもよい。
以下に、符号化装置100に含まれる各構成要素について説明する。
[分割部]
分割部102は、入力動画像に含まれる各ピクチャを複数のブロックに分割し、各ブロックを減算部104に出力する。例えば、分割部102は、まず、ピクチャを固定サイズ(例えば128x128)のブロックに分割する。この固定サイズのブロックは、符号化ツリーユニット(CTU)と呼ばれることがある。そして、分割部102は、再帰的な四分木(quadtree)及び/又は二分木(binary tree)ブロック分割に基づいて、固定サイズのブロックの各々を可変サイズ(例えば64x64以下)のブロックに分割する。この可変サイズのブロックは、符号化ユニット(CU)、予測ユニット(PU)あるいは変換ユニット(TU)と呼ばれることがある。なお、本実施の形態では、CU、PU及びTUは区別される必要はなく、ピクチャ内の一部又はすべてのブロックがCU、PU、TUの処理単位となってもよい。
図2は、実施の形態1におけるブロック分割の一例を示す図である。図2において、実線は四分木ブロック分割によるブロック境界を表し、破線は二分木ブロック分割によるブロック境界を表す。
ここでは、ブロック10は、128x128画素の正方形ブロック(128x128ブロック)である。この128x128ブロック10は、まず、4つの正方形の64x64ブロックに分割される(四分木ブロック分割)。
左上の64x64ブロックは、さらに2つの矩形の32x64ブロックに垂直に分割され、左の32x64ブロックはさらに2つの矩形の16x64ブロックに垂直に分割される(二分木ブロック分割)。その結果、左上の64x64ブロックは、2つの16x64ブロック11、12と、32x64ブロック13とに分割される。
右上の64x64ブロックは、2つの矩形の64x32ブロック14、15に水平に分割される(二分木ブロック分割)。
左下の64x64ブロックは、4つの正方形の32x32ブロックに分割される(四分木ブロック分割)。4つの32x32ブロックのうち左上のブロック及び右下のブロックはさらに分割される。左上の32x32ブロックは、2つの矩形の16x32ブロックに垂直に分割され、右の16x32ブロックはさらに2つの16x16ブロックに水平に分割される(二分木ブロック分割)。右下の32x32ブロックは、2つの32x16ブロックに水平に分割される(二分木ブロック分割)。その結果、左下の64x64ブロックは、16x32ブロック16と、2つの16x16ブロック17、18と、2つの32x32ブロック19、20と、2つの32x16ブロック21、22とに分割される。
右下の64x64ブロック23は分割されない。
以上のように、図2では、ブロック10は、再帰的な四分木及び二分木ブロック分割に基づいて、13個の可変サイズのブロック11〜23に分割される。このような分割は、QTBT(quad−tree plus binary tree)分割と呼ばれることがある。
なお、図2では、1つのブロックが4つ又は2つのブロックに分割されていたが(四分木又は二分木ブロック分割)、分割はこれに限定されない。例えば、1つのブロックが3つのブロックに分割されてもよい(三分木ブロック分割)。このような三分木ブロック分割を含む分割は、MBT(multi type tree)分割と呼ばれることがある。
[減算部]
減算部104は、分割部102によって分割されたブロック単位で原信号(原サンプル)から予測信号(予測サンプル)を減算する。つまり、減算部104は、符号化対象ブロック(以下、カレントブロックという)の予測誤差(残差ともいう)を算出する。そして、減算部104は、算出された予測誤差を変換部106に出力する。
原信号は、符号化装置100の入力信号であり、動画像を構成する各ピクチャの画像を表す信号(例えば輝度(luma)信号及び2つの色差(chroma)信号)である。以下において、画像を表す信号をサンプルともいうこともある。
[変換部]
変換部106は、空間領域の予測誤差を周波数領域の変換係数に変換し、変換係数を量子化部108に出力する。具体的には、変換部106は、例えば空間領域の予測誤差に対して予め定められた離散コサイン変換(DCT)又は離散サイン変換(DST)を行う。
なお、変換部106は、複数の変換タイプの中から適応的に変換タイプを選択し、選択された変換タイプに対応する変換基底関数(transform basis function)を用いて、予測誤差を変換係数に変換してもよい。このような変換は、EMT(explicit multiple core transform)又はAMT(adaptive multiple transform)と呼ばれることがある。
複数の変換タイプは、例えば、DCT−II、DCT−V、DCT−VIII、DST−I及びDST−VIIを含む。図3は、各変換タイプに対応する変換基底関数を示す表である。図3においてNは入力画素の数を示す。これらの複数の変換タイプの中からの変換タイプの選択は、例えば、予測の種類(イントラ予測及びインター予測)に依存してもよいし、イントラ予測モードに依存してもよい。
このようなEMT又はAMTを適用するか否かを示す情報(例えばAMTフラグと呼ばれる)及び選択された変換タイプを示す情報は、CUレベルで信号化される。なお、これらの情報の信号化は、CUレベルに限定される必要はなく、他のレベル(例えば、シーケンスレベル、ピクチャレベル、スライスレベル、タイルレベル又はCTUレベル)であってもよい。
また、変換部106は、変換係数(変換結果)を再変換してもよい。このような再変換は、AST(adaptive secondary transform)又はNSST(non−separable secondary transform)と呼ばれることがある。例えば、変換部106は、イントラ予測誤差に対応する変換係数のブロックに含まれるサブブロック(例えば4x4サブブロック)ごとに再変換を行う。NSSTを適用するか否かを示す情報及びNSSTに用いられる変換行列に関する情報は、CUレベルで信号化される。なお、これらの情報の信号化は、CUレベルに限定される必要はなく、他のレベル(例えば、シーケンスレベル、ピクチャレベル、スライスレベル、タイルレベル又はCTUレベル)であってもよい。
ここで、Separableな変換とは、入力の次元の数だけ方向ごとに分離して複数回変換を行う方式であり、Non−Separableな変換とは、入力が多次元であった際に2つ以上の次元をまとめて1次元とみなして、まとめて変換を行う方式である。
例えば、Non−Separableな変換の1例として、入力が4×4のブロックであった場合にはそれを16個の要素を持ったひとつの配列とみなし、その配列に対して16×16の変換行列で変換処理を行うようなものが挙げられる。
また、同様に4×4の入力ブロックを16個の要素を持ったひとつの配列とみなした後に、その配列に対してGivens回転を複数回行うようなもの(Hypercube Givens Transform)もNon−Separableな変換の例である。
[量子化部]
量子化部108は、変換部106から出力された変換係数を量子化する。具体的には、量子化部108は、カレントブロックの変換係数を所定の走査順序で走査し、走査された変換係数に対応する量子化パラメータ(QP)に基づいて当該変換係数を量子化する。そして、量子化部108は、カレントブロックの量子化された変換係数(以下、量子化係数という)をエントロピー符号化部110及び逆量子化部112に出力する。
所定の順序は、変換係数の量子化/逆量子化のための順序である。例えば、所定の走査順序は、周波数の昇順(低周波から高周波の順)又は降順(高周波から低周波の順)で定義される。
量子化パラメータとは、量子化ステップ(量子化幅)を定義するパラメータである。例えば、量子化パラメータの値が増加すれば量子化ステップも増加する。つまり、量子化パラメータの値が増加すれば量子化誤差が増大する。
[エントロピー符号化部]
エントロピー符号化部110は、量子化部108から入力である量子化係数を可変長符号化することにより符号化信号(符号化ビットストリーム)を生成する。具体的には、エントロピー符号化部110は、例えば、量子化係数を二値化し、二値信号を算術符号化する。
[逆量子化部]
逆量子化部112は、量子化部108からの入力である量子化係数を逆量子化する。具体的には、逆量子化部112は、カレントブロックの量子化係数を所定の走査順序で逆量子化する。そして、逆量子化部112は、カレントブロックの逆量子化された変換係数を逆変換部114に出力する。
[逆変換部]
逆変換部114は、逆量子化部112からの入力である変換係数を逆変換することにより予測誤差を復元する。具体的には、逆変換部114は、変換係数に対して、変換部106による変換に対応する逆変換を行うことにより、カレントブロックの予測誤差を復元する。そして、逆変換部114は、復元された予測誤差を加算部116に出力する。
なお、復元された予測誤差は、量子化により情報が失われているので、減算部104が算出した予測誤差と一致しない。すなわち、復元された予測誤差には、量子化誤差が含まれている。
[加算部]
加算部116は、逆変換部114からの入力である予測誤差と予測制御部128からの入力である予測サンプルとを加算することによりカレントブロックを再構成する。そして、加算部116は、再構成されたブロックをブロックメモリ118及びループフィルタ部120に出力する。再構成ブロックは、ローカル復号ブロックと呼ばれることもある。
[ブロックメモリ]
ブロックメモリ118は、イントラ予測で参照されるブロックであって符号化対象ピクチャ(以下、カレントピクチャという)内のブロックを格納するための記憶部である。具体的には、ブロックメモリ118は、加算部116から出力された再構成ブロックを格納する。
[ループフィルタ部]
ループフィルタ部120は、加算部116によって再構成されたブロックにループフィルタを施し、フィルタされた再構成ブロックをフレームメモリ122に出力する。ループフィルタとは、符号化ループ内で用いられるフィルタ(インループフィルタ)であり、例えば、デブロッキング・フィルタ(DF)、サンプルアダプティブオフセット(SAO)及びアダプティブループフィルタ(ALF)などを含む。
ALFでは、符号化歪みを除去するための最小二乗誤差フィルタが適用され、例えばカレントブロック内の2x2サブブロックごとに、局所的な勾配(gradient)の方向及び活性度(activity)に基づいて複数のフィルタの中から選択された1つのフィルタが適用される。
具体的には、まず、サブブロック(例えば2x2サブブロック)が複数のクラス(例えば15又は25クラス)に分類される。サブブロックの分類は、勾配の方向及び活性度に基づいて行われる。例えば、勾配の方向値D(例えば0〜2又は0〜4)と勾配の活性値A(例えば0〜4)とを用いて分類値C(例えばC=5D+A)が算出される。そして、分類値Cに基づいて、サブブロックが複数のクラス(例えば15又は25クラス)に分類される。
勾配の方向値Dは、例えば、複数の方向(例えば水平、垂直及び2つの対角方向)の勾配を比較することにより導出される。また、勾配の活性値Aは、例えば、複数の方向の勾配を加算し、加算結果を量子化することにより導出される。
このような分類の結果に基づいて、複数のフィルタの中からサブブロックのためのフィルタが決定される。
ALFで用いられるフィルタの形状としては例えば円対称形状が利用される。図4A〜図4Cは、ALFで用いられるフィルタの形状の複数の例を示す図である。図4Aは、5x5ダイヤモンド形状フィルタを示し、図4Bは、7x7ダイヤモンド形状フィルタを示し、図4Cは、9x9ダイヤモンド形状フィルタを示す。フィルタの形状を示す情報は、ピクチャレベルで信号化される。なお、フィルタの形状を示す情報の信号化は、ピクチャレベルに限定される必要はなく、他のレベル(例えば、シーケンスレベル、スライスレベル、タイルレベル、CTUレベル又はCUレベル)であってもよい。
ALFのオン/オフは、例えば、ピクチャレベル又はCUレベルで決定される。例えば、輝度についてはCUレベルでALFを適用するか否かが決定され、色差についてはピクチャレベルでALFを適用するか否かが決定される。ALFのオン/オフを示す情報は、ピクチャレベル又はCUレベルで信号化される。なお、ALFのオン/オフを示す情報の信号化は、ピクチャレベル又はCUレベルに限定される必要はなく、他のレベル(例えば、シーケンスレベル、スライスレベル、タイルレベル又はCTUレベル)であってもよい。
選択可能な複数のフィルタ(例えば15又は25までのフィルタ)の係数セットは、ピクチャレベルで信号化される。なお、係数セットの信号化は、ピクチャレベルに限定される必要はなく、他のレベル(例えば、シーケンスレベル、スライスレベル、タイルレベル、CTUレベル、CUレベル又はサブブロックレベル)であってもよい。
[フレームメモリ]
フレームメモリ122は、インター予測に用いられる参照ピクチャを格納するための記憶部であり、フレームバッファと呼ばれることもある。具体的には、フレームメモリ122は、ループフィルタ部120によってフィルタされた再構成ブロックを格納する。
[イントラ予測部]
イントラ予測部124は、ブロックメモリ118に格納されたカレントピクチャ内のブロックを参照してカレントブロックのイントラ予測(画面内予測ともいう)を行うことで、予測信号(イントラ予測信号)を生成する。具体的には、イントラ予測部124は、カレントブロックに隣接するブロックのサンプル(例えば輝度値、色差値)を参照してイントラ予測を行うことでイントラ予測信号を生成し、イントラ予測信号を予測制御部128に出力する。
例えば、イントラ予測部124は、予め規定された複数のイントラ予測モードのうちの1つを用いてイントラ予測を行う。複数のイントラ予測モードは、1以上の非方向性予測モードと、複数の方向性予測モードと、を含む。
1以上の非方向性予測モードは、例えばH.265/HEVC(High−Efficiency Video Coding)規格(非特許文献1)で規定されたPlanar予測モード及びDC予測モードを含む。
複数の方向性予測モードは、例えばH.265/HEVC規格で規定された33方向の予測モードを含む。なお、複数の方向性予測モードは、33方向に加えてさらに32方向の予測モード(合計で65個の方向性予測モード)を含んでもよい。図5Aは、イントラ予測における67個のイントラ予測モード(2個の非方向性予測モード及び65個の方向性予測モード)を示す図である。実線矢印は、H.265/HEVC規格で規定された33方向を表し、破線矢印は、追加された32方向を表す。
なお、色差ブロックのイントラ予測において、輝度ブロックが参照されてもよい。つまり、カレントブロックの輝度成分に基づいて、カレントブロックの色差成分が予測されてもよい。このようなイントラ予測は、CCLM(cross−component linear model)予測と呼ばれることがある。このような輝度ブロックを参照する色差ブロックのイントラ予測モード(例えばCCLMモードと呼ばれる)は、色差ブロックのイントラ予測モードの1つとして加えられてもよい。
イントラ予測部124は、水平/垂直方向の参照画素の勾配に基づいてイントラ予測後の画素値を補正してもよい。このような補正をともなうイントラ予測は、PDPC(position dependent intra prediction combination)と呼ばれることがある。PDPCの適用の有無を示す情報(例えばPDPCフラグと呼ばれる)は、例えばCUレベルで信号化される。なお、この情報の信号化は、CUレベルに限定される必要はなく、他のレベル(例えば、シーケンスレベル、ピクチャレベル、スライスレベル、タイルレベル又はCTUレベル)であってもよい。
[インター予測部]
インター予測部126は、フレームメモリ122に格納された参照ピクチャであってカレントピクチャとは異なる参照ピクチャを参照してカレントブロックのインター予測(画面間予測ともいう)を行うことで、予測信号(インター予測信号)を生成する。インター予測は、カレントブロック又はカレントブロック内のサブブロック(例えば4x4ブロック)の単位で行われる。例えば、インター予測部126は、カレントブロック又はサブブロックについて参照ピクチャ内で動き探索(motion estimation)を行う。そして、インター予測部126は、動き探索により得られた動き情報(例えば動きベクトル)を用いて動き補償を行うことでカレントブロック又はサブブロックのインター予測信号を生成する。そして、インター予測部126は、生成されたインター予測信号を予測制御部128に出力する。
動き補償に用いられた動き情報は信号化される。動きベクトルの信号化には、予測動きベクトル(motion vector predictor)が用いられてもよい。つまり、動きベクトルと予測動きベクトルとの間の差分が信号化されてもよい。
なお、動き探索により得られたカレントブロックの動き情報だけでなく、隣接ブロックの動き情報も用いて、インター予測信号が生成されてもよい。具体的には、動き探索により得られた動き情報に基づく予測信号と、隣接ブロックの動き情報に基づく予測信号と、を重み付け加算することにより、カレントブロック内のサブブロック単位でインター予測信号が生成されてもよい。このようなインター予測(動き補償)は、OBMC(overlapped block motion compensation)と呼ばれることがある。
このようなOBMCモードでは、OBMCのためのサブブロックのサイズを示す情報(例えばOBMCブロックサイズと呼ばれる)は、シーケンスレベルで信号化される。また、OBMCモードを適用するか否かを示す情報(例えばOBMCフラグと呼ばれる)は、CUレベルで信号化される。なお、これらの情報の信号化のレベルは、シーケンスレベル及びCUレベルに限定される必要はなく、他のレベル(例えばピクチャレベル、スライスレベル、タイルレベル、CTUレベル又はサブブロックレベル)であってもよい。
OBMCモードについて、より具体的に説明する。図5B及び図5Cは、OBMC処理による予測画像補正処理の概要を説明するためのフローチャート及び概念図である。
まず、符号化対象ブロックに割り当てられた動きベクトル(MV)を用いて通常の動き補償による予測画像(Pred)を取得する。
次に、符号化済みの左隣接ブロックの動きベクトル(MV_L)を符号化対象ブロックに適用して予測画像(Pred_L)を取得し、前記予測画像とPred_Lとを重みを付けて重ね合わせることで予測画像の1回目の補正を行う。
同様に、符号化済みの上隣接ブロックの動きベクトル(MV_U)を符号化対象ブロックに適用して予測画像(Pred_U)を取得し、前記1回目の補正を行った予測画像とPred_Uとを重みを付けて重ね合わせることで予測画像の2回目の補正を行い、それを最終的な予測画像とする。
なお、ここでは左隣接ブロックと上隣接ブロックを用いた2段階の補正の方法を説明したが、右隣接ブロックや下隣接ブロックを用いて2段階よりも多い回数の補正を行う構成とすることも可能である。
なお、重ね合わせを行う領域はブロック全体の画素領域ではなく、ブロック境界近傍の一部の領域のみであってもよい。
なお、ここでは1枚の参照ピクチャからの予測画像補正処理について説明したが、複数枚の参照ピクチャから予測画像を補正する場合も同様であり、各々の参照ピクチャから補正した予測画像を取得した後に、得られた予測画像をさらに重ね合わせることで最終的な予測画像とする。
なお、前記処理対象ブロックは、予測ブロック単位であっても、予測ブロックをさらに分割したサブブロック単位であってもよい。
OBMC処理を適用するかどうかの判定の方法として、例えば、OBMC処理を適用するかどうかを示す信号であるobmc_flagを用いる方法がある。具体的な一例としては、符号化装置において、符号化対象ブロックが動きの複雑な領域に属しているかどうかを判定し、動きの複雑な領域に属している場合はobmc_flagとして値1を設定してOBMC処理を適用して符号化を行い、動きの複雑な領域に属していない場合はobmc_flagとして値0を設定してOBMC処理を適用せずに符号化を行う。一方、復号化装置では、ストリームに記述されたobmc_flagを復号化するとことで、その値に応じてOBMC処理を適用するかどうかを切替えて復号化を行う。
なお、動き情報は信号化されずに、復号装置側で導出されてもよい。例えば、H.265/HEVC規格で規定されたマージモードが用いられてもよい。また例えば、復号装置側で動き探索を行うことにより動き情報が導出されてもよい。この場合、カレントブロックの画素値を用いずに動き探索が行われる。
ここで、復号装置側で動き探索を行うモードについて説明する。この復号装置側で動き探索を行うモードは、PMMVD(pattern matched motion vector derivation)モード又はFRUC(frame rate up−conversion)モードと呼ばれることがある。
FRUC処理の一例を図5Dに示す。まず、カレントブロックに空間的又は時間的に隣接する符号化済みブロックの動きベクトルを参照して、各々が予測動きベクトルを有する複数の候補のリスト(マージリストと共通であってもよい)が生成される。次に、候補リストに登録されている複数の候補MVの中からベスト候補MVを選択する。例えば、候補リストに含まれる各候補の評価値が算出され、評価値に基づいて1つの候補が選択される。
そして、選択された候補の動きベクトルに基づいて、カレントブロックのための動きベクトルが導出される。具体的には、例えば、選択された候補の動きベクトル(ベスト候補MV)がそのままカレントブロックのための動きベクトルとして導出される。また例えば、選択された候補の動きベクトルに対応する参照ピクチャ内の位置の周辺領域において、パターンマッチングを行うことにより、カレントブロックのための動きベクトルが導出されてもよい。すなわち、ベスト候補MVの周辺の領域に対して同様の方法で探索を行い、さらに評価値が良い値となるMVがあった場合は、ベスト候補MVを前記MVに更新して、それをカレントブロックの最終的なMVとしてもよい。なお、当該処理を実施しない構成とすることも可能である。
サブブロック単位で処理を行う場合も全く同様の処理としてもよい。
なお、評価値は、動きベクトルに対応する参照ピクチャ内の領域と、所定の領域との間のパターンマッチングによって再構成画像の差分値を求めることにより算出される。なお、差分値に加えてそれ以外の情報を用いて評価値を算出してもよい。
パターンマッチングとしては、第1パターンマッチング又は第2パターンマッチングが用いられる。第1パターンマッチング及び第2パターンマッチングは、それぞれ、バイラテラルマッチング(bilateral matching)及びテンプレートマッチング(template matching)と呼ばれることがある。
第1パターンマッチングでは、異なる2つの参照ピクチャ内の2つのブロックであってカレントブロックの動き軌道(motion trajectory)に沿う2つのブロックの間でパターンマッチングが行われる。したがって、第1パターンマッチングでは、上述した候補の評価値の算出のための所定の領域として、カレントブロックの動き軌道に沿う他の参照ピクチャ内の領域が用いられる。
図6は、動き軌道に沿う2つのブロック間でのパターンマッチング(バイラテラルマッチング)の一例を説明するための図である。図6に示すように、第1パターンマッチングでは、カレントブロック(Cur block)の動き軌道に沿う2つのブロックであって異なる2つの参照ピクチャ(Ref0、Ref1)内の2つのブロックのペアの中で最もマッチするペアを探索することにより2つの動きベクトル(MV0、MV1)が導出される。具体的には、カレントブロックに対して、候補MVで指定された第1の符号化済み参照ピクチャ(Ref0)内の指定位置における再構成画像と、前記候補MVを表示時間間隔でスケーリングした対称MVで指定された第2の符号化済み参照ピクチャ(Ref1)内の指定位置における再構成画像との差分を導出し、得られた差分値を用いて評価値を算出する。複数の候補MVの中で最も評価値が良い値となる候補MVを最終MVとして選択するとよい。
連続的な動き軌道の仮定の下では、2つの参照ブロックを指し示す動きベクトル(MV0、MV1)は、カレントピクチャ(Cur Pic)と2つの参照ピクチャ(Ref0、Ref1)との間の時間的な距離(TD0、TD1)に対して比例する。例えば、カレントピクチャが時間的に2つの参照ピクチャの間に位置し、カレントピクチャから2つの参照ピクチャへの時間的な距離が等しい場合、第1パターンマッチングでは、鏡映対称な双方向の動きベクトルが導出される。
第2パターンマッチングでは、カレントピクチャ内のテンプレート(カレントピクチャ内でカレントブロックに隣接するブロック(例えば上及び/又は左隣接ブロック))と参照ピクチャ内のブロックとの間でパターンマッチングが行われる。したがって、第2パターンマッチングでは、上述した候補の評価値の算出のための所定の領域として、カレントピクチャ内のカレントブロックに隣接するブロックが用いられる。
図7は、カレントピクチャ内のテンプレートと参照ピクチャ内のブロックとの間でのパターンマッチング(テンプレートマッチング)の一例を説明するための図である。図7に示すように、第2パターンマッチングでは、カレントピクチャ(Cur Pic)内でカレントブロック(Cur block)に隣接するブロックと最もマッチするブロックを参照ピクチャ(Ref0)内で探索することによりカレントブロックの動きベクトルが導出される。具体的には、カレントブロックに対して、左隣接および上隣接の両方もしくはどちらか一方の符号化済み領域の再構成画像と、候補MVで指定された符号化済み参照ピクチャ(Ref0)内の同等位置における再構成画像との差分を導出し、得られた差分値を用いて評価値を算出し、複数の候補MVの中で最も評価値が良い値となる候補MVをベスト候補MVとして選択するとよい。
このようなFRUCモードを適用するか否かを示す情報(例えばFRUCフラグと呼ばれる)は、CUレベルで信号化される。また、FRUCモードが適用される場合(例えばFRUCフラグが真の場合)、パターンマッチングの方法(第1パターンマッチング又は第2パターンマッチング)を示す情報(例えばFRUCモードフラグと呼ばれる)がCUレベルで信号化される。なお、これらの情報の信号化は、CUレベルに限定される必要はなく、他のレベル(例えば、シーケンスレベル、ピクチャレベル、スライスレベル、タイルレベル、CTUレベル又はサブブロックレベル)であってもよい。
ここで、等速直線運動を仮定したモデルに基づいて動きベクトルを導出するモードについて説明する。このモードは、BIO(bi−directional optical flow)モードと呼ばれることがある。
図8は、等速直線運動を仮定したモデルを説明するための図である。図8において、(vx,vy)は、速度ベクトルを示し、τ0、τ1は、それぞれ、カレントピクチャ(Cur Pic)と2つの参照ピクチャ(Ref0,Ref1)との間の時間的な距離を示す。(MVx0,MVy0)は、参照ピクチャRef0に対応する動きベクトルを示し、(MVx1、MVy1)は、参照ピクチャRef1に対応する動きベクトルを示す。
このとき速度ベクトル(vx,vy)の等速直線運動の仮定の下では、(MVx0,MVy0)及び(MVx1,MVy1)は、それぞれ、(vxτ0,vyτ0)及び(−vxτ1,−vyτ1)と表され、以下のオプティカルフロー等式(1)が成り立つ。
ここで、I(k)は、動き補償後の参照画像k(k=0,1)の輝度値を示す。このオプティカルフロー等式は、(i)輝度値の時間微分と、(ii)水平方向の速度及び参照画像の空間勾配の水平成分の積と、(iii)垂直方向の速度及び参照画像の空間勾配の垂直成分の積と、の和が、ゼロと等しいことを示す。このオプティカルフロー等式とエルミート補間(Hermite interpolation)との組み合わせに基づいて、マージリスト等から得られるブロック単位の動きベクトルが画素単位で補正される。
なお、等速直線運動を仮定したモデルに基づく動きベクトルの導出とは異なる方法で、復号装置側で動きベクトルが導出されてもよい。例えば、複数の隣接ブロックの動きベクトルに基づいてサブブロック単位で動きベクトルが導出されてもよい。
ここで、複数の隣接ブロックの動きベクトルに基づいてサブブロック単位で動きベクトルを導出するモードについて説明する。このモードは、アフィン動き補償予測(affine motion compensation prediction)モードと呼ばれることがある。
図9Aは、複数の隣接ブロックの動きベクトルに基づくサブブロック単位の動きベクトルの導出を説明するための図である。図9Aにおいて、カレントブロックは、16の4x4サブブロックを含む。ここでは、隣接ブロックの動きベクトルに基づいてカレントブロックの左上角制御ポイントの動きベクトルv0が導出され、隣接サブブロックの動きベクトルに基づいてカレントブロックの右上角制御ポイントの動きベクトルv1が導出される。そして、2つの動きベクトルv0及びv1を用いて、以下の式(2)により、カレントブロック内の各サブブロックの動きベクトル(vx,vy)が導出される。
ここで、x及びyは、それぞれ、サブブロックの水平位置及び垂直位置を示し、wは、予め定められた重み係数を示す。
このようなアフィン動き補償予測モードでは、左上及び右上角制御ポイントの動きベクトルの導出方法が異なるいくつかのモードを含んでもよい。このようなアフィン動き補償予測モードを示す情報(例えばアフィンフラグと呼ばれる)は、CUレベルで信号化される。なお、このアフィン動き補償予測モードを示す情報の信号化は、CUレベルに限定される必要はなく、他のレベル(例えば、シーケンスレベル、ピクチャレベル、スライスレベル、タイルレベル、CTUレベル又はサブブロックレベル)であってもよい。
[予測制御部]
予測制御部128は、イントラ予測信号及びインター予測信号のいずれかを選択し、選択した信号を予測信号として減算部104及び加算部116に出力する。
ここで、マージモードにより符号化対象ピクチャの動きベクトルを導出する例を説明する。図9Bは、マージモードによる動きベクトル導出処理の概要を説明するための図である。
まず、予測MVの候補を登録した予測MVリストを生成する。予測MVの候補としては、符号化対象ブロックの空間的に周辺に位置する複数の符号化済みブロックが持つMVである空間隣接予測MV、符号化済み参照ピクチャにおける符号化対象ブロックの位置を投影した近辺のブロックが持つMVである時間隣接予測MV、空間隣接予測MVと時間隣接予測MVのMV値を組み合わせて生成したMVである結合予測MV、および値がゼロのMVであるゼロ予測MV等がある。
次に、予測MVリストに登録されている複数の予測MVの中から1つの予測MVを選択することで、符号化対象ブロックのMVとして決定する。
さらに可変長符号化部では、どの予測MVを選択したかを示す信号であるmerge_idxをストリームに記述して符号化する。
なお、図9Bで説明した予測MVリストに登録する予測MVは一例であり、図中の個数とは異なる個数であったり、図中の予測MVの一部の種類を含まない構成であったり、図中の予測MVの種類以外の予測MVを追加した構成であったりしてもよい。
なお、マージモードにより導出した符号化対象ブロックのMVを用いて、後述するDMVR処理を行うことによって最終的なMVを決定してもよい。
ここで、DMVR処理を用いてMVを決定する例について説明する。
図9Cは、DMVR処理の概要を説明するための概念図である。
まず、処理対象ブロックに設定された最適MVPを候補MVとして、前記候補MVに従って、L0方向の処理済みピクチャである第1参照ピクチャ、およびL1方向の処理済みピクチャである第2参照ピクチャから参照画素をそれぞれ取得し、各参照画素の平均をとることでテンプレートを生成する。
次に、前記テンプレートを用いて、第1参照ピクチャおよび第2参照ピクチャの候補MVの周辺領域をそれぞれ探索し、最もコストが最小となるMVを最終的なMVとして決定する。なお、コスト値はテンプレートの各画素値と探索領域の各画素値との差分値およびMV値等を用いて算出する。
なお、符号化装置および復号化装置では、ここで説明した処理の概要は基本的に共通である。
なお、ここで説明した処理そのものでなくても、候補MVの周辺を探索して最終的なMVを導出することができる処理であれば、他の処理を用いてもよい。
ここで、LIC処理を用いて予測画像を生成するモードについて説明する。
図9Dは、LIC処理による輝度補正処理を用いた予測画像生成方法の概要を説明するための図である。
まず、符号化済みピクチャである参照ピクチャから符号化対象ブロックに対応する参照画像を取得するためのMVを導出する。
次に、符号化対象ブロックに対して、左隣接および上隣接の符号化済み周辺参照領域の輝度画素値と、MVで指定された参照ピクチャ内の同等位置における輝度画素値とを用いて、参照ピクチャと符号化対象ピクチャとで輝度値がどのように変化したかを示す情報を抽出して輝度補正パラメータを算出する。
MVで指定された参照ピクチャ内の参照画像に対して前記輝度補正パラメータを用いて輝度補正処理を行うことで、符号化対象ブロックに対する予測画像を生成する。
なお、図9Dにおける前記周辺参照領域の形状は一例であり、これ以外の形状を用いてもよい。
また、ここでは1枚の参照ピクチャから予測画像を生成する処理について説明したが、複数枚の参照ピクチャから予測画像を生成する場合も同様であり、各々の参照ピクチャから取得した参照画像に同様の方法で輝度補正処理を行ってから予測画像を生成する。
LIC処理を適用するかどうかの判定の方法として、例えば、LIC処理を適用するかどうかを示す信号であるlic_flagを用いる方法がある。具体的な一例としては、符号化装置において、符号化対象ブロックが輝度変化が発生している領域に属しているかどうかを判定し、輝度変化が発生している領域に属している場合はlic_flagとして値1を設定してLIC処理を適用して符号化を行い、輝度変化が発生している領域に属していない場合はlic_flagとして値0を設定してLIC処理を適用せずに符号化を行う。一方、復号化装置では、ストリームに記述されたlic_flagを復号化するとことで、その値に応じてLIC処理を適用するかどうかを切替えて復号化を行う。
LIC処理を適用するかどうかの判定の別の方法として、例えば、周辺ブロックでLIC処理を適用したかどうかに従って判定する方法もある。具体的な一例としては、符号化対象ブロックがマージモードであった場合、マージモード処理におけるMVの導出の際に選択した周辺の符号化済みブロックがLIC処理を適用して符号化したかどうかを判定し、その結果に応じてLIC処理を適用するかどうかを切替えて符号化を行う。なお、この例の場合、復号化における処理も全く同様となる。
[復号装置の概要]
次に、上記の符号化装置100から出力された符号化信号(符号化ビットストリーム)を復号可能な復号装置の概要について説明する。図10は、実施の形態1に係る復号装置200の機能構成を示すブロック図である。復号装置200は、動画像/画像をブロック単位で復号する動画像/画像復号装置である。
図10に示すように、復号装置200は、エントロピー復号部202と、逆量子化部204と、逆変換部206と、加算部208と、ブロックメモリ210と、ループフィルタ部212と、フレームメモリ214と、イントラ予測部216と、インター予測部218と、予測制御部220と、を備える。
復号装置200は、例えば、汎用プロセッサ及びメモリにより実現される。この場合、メモリに格納されたソフトウェアプログラムがプロセッサにより実行されたときに、プロセッサは、エントロピー復号部202、逆量子化部204、逆変換部206、加算部208、ループフィルタ部212、イントラ予測部216、インター予測部218及び予測制御部220として機能する。また、復号装置200は、エントロピー復号部202、逆量子化部204、逆変換部206、加算部208、ループフィルタ部212、イントラ予測部216、インター予測部218及び予測制御部220に対応する専用の1以上の電子回路として実現されてもよい。
以下に、復号装置200に含まれる各構成要素について説明する。
[エントロピー復号部]
エントロピー復号部202は、符号化ビットストリームをエントロピー復号する。具体的には、エントロピー復号部202は、例えば、符号化ビットストリームから二値信号に算術復号する。そして、エントロピー復号部202は、二値信号を多値化(debinarize)する。これにより、エントロピー復号部202は、ブロック単位で量子化係数を逆量子化部204に出力する。
[逆量子化部]
逆量子化部204は、エントロピー復号部202からの入力である復号対象ブロック(以下、カレントブロックという)の量子化係数を逆量子化する。具体的には、逆量子化部204は、カレントブロックの量子化係数の各々について、当該量子化係数に対応する量子化パラメータに基づいて当該量子化係数を逆量子化する。そして、逆量子化部204は、カレントブロックの逆量子化された量子化係数(つまり変換係数)を逆変換部206に出力する。
[逆変換部]
逆変換部206は、逆量子化部204からの入力である変換係数を逆変換することにより予測誤差を復元する。
例えば符号化ビットストリームから読み解かれた情報がEMT又はAMTを適用することを示す場合(例えばAMTフラグが真)、逆変換部206は、読み解かれた変換タイプを示す情報に基づいてカレントブロックの変換係数を逆変換する。
また例えば、符号化ビットストリームから読み解かれた情報がNSSTを適用することを示す場合、逆変換部206は、変換係数に逆再変換を適用する。
[加算部]
加算部208は、逆変換部206からの入力である予測誤差と予測制御部220からの入力である予測サンプルとを加算することによりカレントブロックを再構成する。そして、加算部208は、再構成されたブロックをブロックメモリ210及びループフィルタ部212に出力する。
[ブロックメモリ]
ブロックメモリ210は、イントラ予測で参照されるブロックであって復号対象ピクチャ(以下、カレントピクチャという)内のブロックを格納するための記憶部である。具体的には、ブロックメモリ210は、加算部208から出力された再構成ブロックを格納する。
[ループフィルタ部]
ループフィルタ部212は、加算部208によって再構成されたブロックにループフィルタを施し、フィルタされた再構成ブロックをフレームメモリ214及び表示装置等に出力する。
符号化ビットストリームから読み解かれたALFのオン/オフを示す情報がALFのオンを示す場合、局所的な勾配の方向及び活性度に基づいて複数のフィルタの中から1つのフィルタが選択され、選択されたフィルタが再構成ブロックに適用される。
[フレームメモリ]
フレームメモリ214は、インター予測に用いられる参照ピクチャを格納するための記憶部であり、フレームバッファと呼ばれることもある。具体的には、フレームメモリ214は、ループフィルタ部212によってフィルタされた再構成ブロックを格納する。
[イントラ予測部]
イントラ予測部216は、符号化ビットストリームから読み解かれたイントラ予測モードに基づいて、ブロックメモリ210に格納されたカレントピクチャ内のブロックを参照してイントラ予測を行うことで、予測信号(イントラ予測信号)を生成する。具体的には、イントラ予測部216は、カレントブロックに隣接するブロックのサンプル(例えば輝度値、色差値)を参照してイントラ予測を行うことでイントラ予測信号を生成し、イントラ予測信号を予測制御部220に出力する。
なお、色差ブロックのイントラ予測において輝度ブロックを参照するイントラ予測モードが選択されている場合は、イントラ予測部216は、カレントブロックの輝度成分に基づいて、カレントブロックの色差成分を予測してもよい。
また、符号化ビットストリームから読み解かれた情報がPDPCの適用を示す場合、イントラ予測部216は、水平/垂直方向の参照画素の勾配に基づいてイントラ予測後の画素値を補正する。
[インター予測部]
インター予測部218は、フレームメモリ214に格納された参照ピクチャを参照して、カレントブロックを予測する。予測は、カレントブロック又はカレントブロック内のサブブロック(例えば4x4ブロック)の単位で行われる。例えば、インター予測部218は、符号化ビットストリームから読み解かれた動き情報(例えば動きベクトル)を用いて動き補償を行うことでカレントブロック又はサブブロックのインター予測信号を生成し、インター予測信号を予測制御部220に出力する。
なお、符号化ビットストリームから読み解かれた情報がOBMCモードを適用することを示す場合、インター予測部218は、動き探索により得られたカレントブロックの動き情報だけでなく、隣接ブロックの動き情報も用いて、インター予測信号を生成する。
また、符号化ビットストリームから読み解かれた情報がFRUCモードを適用することを示す場合、インター予測部218は、符号化ストリームから読み解かれたパターンマッチングの方法(バイラテラルマッチング又はテンプレートマッチング)に従って動き探索を行うことにより動き情報を導出する。そして、インター予測部218は、導出された動き情報を用いて動き補償を行う。
また、インター予測部218は、BIOモードが適用される場合に、等速直線運動を仮定したモデルに基づいて動きベクトルを導出する。また、符号化ビットストリームから読み解かれた情報がアフィン動き補償予測モードを適用することを示す場合には、インター予測部218は、複数の隣接ブロックの動きベクトルに基づいてサブブロック単位で動きベクトルを導出する。
[予測制御部]
予測制御部220は、イントラ予測信号及びインター予測信号のいずれかを選択し、選択した信号を予測信号として加算部208に出力する。
(実施の形態2)
[概要]
本実施の形態に係る符号化装置は、画像のブロックを符号化する符号化装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、パラメータをビットストリームに書き込み、書き込まれた前記パラメータが所定値と等しいか否かを判定し、書き込まれた前記パラメータが前記所定値と等しい場合に、ブロック分割情報を予測し、予測された前記ブロック分割情報を用いて、ブロックを複数のサブブロックに分割し、書き込まれた前記パラメータが前記所定値と等しくない場合に、予測された前記ブロック分割情報を用いずに、ブロックを複数のサブブロックに分割し、変換処理及び/又は予測処理を含む符号化処理で前記複数のサブブロックに含まれるサブブロックを符号化する。
これにより、パラメータが所定値と等しい場合に、ブロック分割情報を予測することができる。この予測されたブロック分割情報を用いてブロックを分割することにより、ブロック分割情報に係る符号量を削減して、圧縮効率を向上させることができる。
例えば、本実施の形態に係る符号化装置において、前記ブロック分割情報を予測する処理は、符号化済みブロックのブロック情報を用いて、ブロック分割情報を生成する処理を含んでもよい。
これにより、符号化済みブロックのブロック情報を用いてブロック分割情報を予測することができ、ブロック分割情報の予測精度を向上させ、符号量を削減することができる。
本実施の形態に係る復号装置は、画像のブロックを復号する復号装置であって、プロセッサと、メモリと、を備え、前記プロセッサは、前記メモリを用いて、ビットストリームからパラメータを解析し、解析された前記パラメータが所定値と等しいか否かを判定し、解析された前記パラメータが前記所定値と等しい場合に、ブロック分割情報を予測し、予測された前記ブロック分割情報を用いて、ブロックを複数のサブブロックに分割し、書き込まれた前記パラメータが前記所定値と等しくない場合に、予測された前記ブロック分割情報を用いずに、ブロックを複数のサブブロックに分割し、逆変換処理及び/又は予測処理を含む復号処理で前記複数のサブブロックに含まれるサブブロックを復号する。
これにより、パラメータが所定値と等しい場合に、ブロック分割情報を予測することができる。この予測されたブロック分割情報を用いてブロックを分割することにより、ブロック分割情報に係る符号量を削減して、圧縮効率を向上させることができる。
例えば、本実施の形態に係る復号装置において、前記ブロック分割情報を予測する処理は、復号済みブロックのブロック情報を用いて、ブロック分割情報を生成する処理を含んでもよい。
これにより、復号済みブロックのブロック情報を用いてブロック分割情報を予測することができ、ブロック分割情報の予測精度を向上させ、符号量を削減することができる。
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
以下に、映像を符号化する方法及び復号する方法を図11及び図12にそれぞれ示すとおり、実施の形態に従って説明する。また、映像を符号化する装置及び復号する装置を図35及び図36にそれぞれ示すとおり、実施の形態に従って説明する。
[符号化処理]
図11は、実施の形態2に係る映像符号化処理の一例を示す。
最初のステップS1001として、ビットストリームにパラメータが書き込まれる。図37は、圧縮映像ビットストリームにおける上記パラメータの書き込み可能な位置を示す。書き込まれたパラメータは、ブロック分割情報の予測が有効であるか否かを識別するための1以上のパラメータを含む。例えば、1以上のパラメータは、ブロック分割情報の予測が有効であるか否かを示すフラグを含むことができる。
次に、ステップS1002において、書き込まれたパラメータが所定値と等しいか否かが判定される。
書き込まれたパラメータが所定値と等しければ(S1002のY)、ステップS1003においてブロック分割情報が予測され、その後、ステップS1004において、予測ブロック分割情報を用いて、ブロックが複数のサブブロックに分割される。例えば、予測ブロック分割情報は、初期ブロック分割情報として用いられる。そして、初期ブロック分割情報は、最終ブロック分割情報に更新される。
最終ブロック分割情報は、イントラ及びインター予測処理中に、他の使用可能なブロック分割情報に対してレート歪みコストが最小となるように決定される。予測ブロック分割情報と最終ブロック分割情報との差分情報がビットストリームに書き込まれることで、デコーダにおいて、予測ブロック分割情報に基づいて、対応する最終ブロック分割情報が生成される。最終ブロック分割情報の代わりに差分情報を符号化することにより、最終ブロック分割情報の信号化に必要なビットを減らすことができる。
分割方法としては、例えば、図41のb1)及びb2)に示すような二分木分割、又は図41のq1)及びq2)に示すような四分木分割、又は図41のm1)及びm2)に示すような多分木カット/分割、又は図41のn1)に示すような非正方形/非長方形の分割が可能である。サブブロックのジオメトリ(形状及び/又は大きさ)としては、図41のb2)に示すような非対称の二分木分割、図41のq2)に示すような非対称の四分木分割、図41のm1)に示すような大きさが異なる多分木カット、又は図41のn1)に示すような非正方形/非長方形の分割のように、様々なジオメトリがあり得る。
ここで、ブロック分割情報は、符号化済みブロックのブロック情報(例えば、ブロックパーティション構造、イントラ予測モード又はインター予測モード、イントラ予測方向、動きベクトル、参照ピクチャ、量子化パラメータ、及び分割深さ等)に従って予測できる。ブロックは、ブロック分割情報を用いて複数のサブブロックに分割される。図38に示すように、用いるブロック分割情報が異なれば、ブロック分割の結果である複数のサブブロックの高さ、幅、又は形状も異なる。
カレントブロックの予測ブロックパーティション構造としては、符号化済みブロックのブロックパーティション構造をそのまま使用することができる。
2以上の符号化済みブロックのブロックパーティション構造を組み合わせて(例えば、図39のように、上半分は、上ブロックのブロックパーティション構造を用い、残りの半分は、左ブロックのブロックパーティション構造を用いる)、新たなブロックパーティション構造をカレントブロックの予測ブロックパーティション構造として導出することもできる。
符号化済みブロックの選択方法としては、一例として、カレントブロックと同じイントラ/インター予測モードの符号化済みブロックを選択する方法がある。具体的には、カレントブロックがインター予測ブロックであれば、インター予測を用いて符号化された1以上の符号化済みブロックが選択される。
符号化済みブロックのブロックパーティション構造を修正し(例えば、図40に示すように、分割深さがより浅いブロックパーティション構造を使用し)、新たなブロックパーティション構造をカレントブロックの予測ブロックパーティション構造として導出することもできる。
ブロック分割情報は、ブロックを横分割するか縦分割するかを示すパラメータセットであってもよい。また、ブロック分割情報は、ブロック内のすべてのサブブロックの所定ブロック幅及び所定ブロック高を含むパラメータセットであってもよい。
予測ブロック分割情報は、符号化済みブロックのイントラ予測方向の情報ごとに違ってもよい。例えば、カレントブロックをより小さなブロックに縦分割するか横分割するかを予測するために、特定の隣接ブロック位置におけるイントラ予測方向の情報が使用されてもよい。例えば、上隣接ブロックのイントラ予測方向の情報が縦方向又は縦方向に近いと判定されれば、カレントブロックのために、縦分割を含むブロック分割情報を予測できる。同様に、左隣接ブロックのイントラ予測方向の情報が横方向又は横方向に近いと判定されれば、カレントブロックのために、横分割を含むブロック分割情報を予測できる。
ブロック分割情報は、所定のブロックパーティション構造候補リストから1つの分割構造候補を選択するためのインデックスを含むパラメータセットであってもよい。このとき、ブロックパーティション構造は、図38に示すように、ブロック内のすべてのサブブロックのジオメトリを視覚的に提示する。
ブロック分割情報は、符号化済みブロックのイントラ/インター予測モードに従って予測されてもよい。例えば、符号化済みブロックの予測モードがイントラ予測モードである場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。また例えば、符号化済みブロックの予測モードがインター予測モードである場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、符号化済みブロックの動きベクトルに従って予測されてもよい。例えば、符号化済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値より大きい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。一方、符号化済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値以下の場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、符号化済みブロックの量子化パラメータに従って予測されてもよい。例えば、符号化済みブロックの量子化パラメータの値が所定値より小さい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。また例えば、符号化済みブロックの量子化パラメータの値が所定値以上の場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、符号化済みブロックの参照ピクチャ情報に従って予測されてもよい。例えば、符号化済みブロックの参照ピクチャがカレントピクチャに時間的に近い場合、又は、複数の符号化済みブロックの複数の参照ピクチャが互いに類似している場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。符号化済みブロックの参照ピクチャがカレントピクチャに時間的に近くない場合又は複数の符号化済みブロックの複数の参照ピクチャが互いに類似していない場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、符号化済みブロックの分割深さに従って予測されてもよい。例えば、符号化済みブロックの分割深さが所定値(例えば4)より大きい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。符号化済みブロックの分割深さが所定値以下の場合(例えば分割深さが2に等しい場合)、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、カレントフレームと異なるフレームの符号化済みブロックの分割情報に従って予測されてもよい。例えば、カレントブロックのためのブロック分割情報(スプリット情報を含む)又はカレントブロックのスプリット情報は、カレントフレームと異なる符号化済みフレームの符号化済みブロック(例えば、同位置ブロック(collocated block)、直前の符号化済みブロック(last encoded block)、又は動きベクトルで特定される符号化済みブロック等)から予測できる。
書き込まれたパラメータが所定値と等しくない場合(S1002のN)、ステップS1005において、予測ブロック分割情報を用いずに、ブロックが複数のサブブロックに分割される。分割方法としては、例えば、図41のb1)及びb2)に示すような二分木分割、又は図41のq1)及びq2)に示すような四分木分割、又は図41のm1)及びm2)に示すような多分木カット/分割、又は図41のn1)に示すような非正方形/非長方形の分割が可能である。サブブロックのジオメトリ(形状及び/又は大きさ)としては、図41のb2)に示すような非対称の二分木分割、図41のq2)に示すような非対称の四分木分割、図41のm1)に示すような大きさが異なる多分木カット、又は図41のn1)に示すような非正方形/非長方形の分割のように、様々なジオメトリがあり得る。
ステップS1006では、複数のサブブロックに含まれるサブブロックが符号化処理で符号化される。ここで、この符号化処理には、変換処理及び/又は予測処理が含まれる。変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[符号化装置]
図35は、実施の形態に係る映像/画像符号化装置の構造を示すブロック図である。
映像符号化装置25000は、入力映像/画像ビットストリームをブロックごとに符号化し、符号化出力ビットストリームを生成する装置であり、図35に示すように、変換部25001、量子化部25002、逆量子化部25003、逆変換部25004、ブロックメモリ25005、フレームメモリ25006、イントラ予測部25007、インター予測部25008、エントロピー符号化部25009、及びブロック分割情報決定部25010を含む。
入力映像は加算器に入力され、加算後の値が変換部25001に出力される。変換部25001は、ブロック分割情報決定部25010により導出されたブロック分割情報に基づいて加算後の値を周波数係数に変換し、得られた周波数係数を量子化部25002に出力する。量子化部25002は、入力された周波数係数を量子化し、得られた量子化値を逆量子化部25003及びエントロピー符号化部25009に出力する。
逆量子化部25003は、量子化部25002から出力された量子化値を逆量子化し、周波数係数を逆変換部25004に出力する。逆変換部25004は、ブロック分割情報決定部25010により導出されたブロック分割情報に基づいて周波数係数を逆周波数変換することでビットストリームのサンプル値に変換し、得られたサンプル値を加算器に出力する。
加算器は、逆変換部25004から出力されたビットストリームのサンプル値をイントラ予測部25007/インター予測部25008から出力された映像/画像の予測値に加算し、得られた加算後の値を今後の予測のためにブロックメモリ25005又はフレームメモリ25006に出力する。
ブロック分割情報決定部25010は、ブロックメモリ25005又はフレームメモリ25006からブロック情報を収集することで、ブロック分割情報及びブロック分割情報に関するパラメータを導出する。ここで導出されたブロック分割情報が用いられれば、ブロックは、複数のサブブロックに分割される。
イントラ予測部25007/インター予測部25008は、ブロック分割情報決定部25010により導出されたブロック分割情報に基づいて、ブロックメモリ25005に記憶されている再構築映像/画像又はフレームメモリ25006にある再構築映像/画像を検索し、例えば入力映像/画像に最も類似する映像/画像領域を予測のために推定する。
エントロピー符号化部25009は、量子化部25002から出力された量子化値を符号化し、ブロック分割情報決定部25010からのパラメータを符号化し、ビットストリームを出力する。
[復号処理]
図12は、実施の形態2に係る映像復号処理の一例を示す。
最初のステップS2001として、ビットストリームからパラメータが解析される。図37は、圧縮映像ビットストリームにおける上記パラメータの解析可能な位置を示す。解析されたパラメータは、ブロック分割情報の予測が有効であるか否かを識別するための1以上のパラメータを含む。この1以上のパラメータは、例えば、フラグが含まれれば、ブロック分割情報の予測が有効であるか否かを示すことができる。
次に、ステップS2002において、解析されたパラメータが所定値と等しいか否かが判定される。
解析されたパラメータが所定値と等しい場合(S2002のY)、ステップS2003において、ブロック分割情報が予測され、その後、ステップS2004において、予測ブロック分割情報を用いて、ブロックが複数のサブブロックに分割される。予測ブロック分割情報は、例えば、初期ブロック分割情報として用いられる。そして、初期ブロック分割情報は、ビットストリームから解析される差分情報であって予測ブロック分割情報と最終ブロック分割情報との差分情報に従って、最終ブロック分割情報に更新される。分割方法としては、例えば、図41のb1)及びb2)に示すような二分木分割、又は図41のq1)及びq2)に示すような四分木分割、又は図41のm1)及びm2)に示すような多分木カット/分割、又は図41のn1)に示すような非正方形/非長方形の分割が可能である。サブブロックのジオメトリ(形状及び/又は大きさ)としては、図41のb2)に示すような非対称の二分木分割、図41のq2)に示すような非対称の四分木分割、図41のm1)に示すような大きさが異なる多分木カット、又は図41のn1)に示すような非正方形/非長方形の分割のように、様々なジオメトリがあり得る。
ここで、ブロック分割情報は、復号済みブロックのブロック情報(例えば、ブロックパーティション構造、イントラ予測モード又はインター予測モード、イントラ予測方向、動きベクトル、参照ピクチャ、量子化パラメータ、及び分割深さ等)に従って予測できる。ブロックは、ブロック分割情報を用いて複数のサブブロックに分割される。図38に示すように、用いるブロック分割情報が異なれば、ブロック分割の結果である複数のサブブロックの高さ、幅、又は形状も異なる。
カレントブロックの予測ブロックパーティション構造としては、復号済みブロックのブロックパーティション構造をそのまま使用することができる。
2以上の復号済みブロックのブロックパーティション構造を組み合わせて(例えば、図39のように、上半分は、上ブロックのブロックパーティション構造を用い、残りの半分は、左ブロックのブロックパーティション構造を用いる)、新たなブロックパーティション構造をカレントブロックの予測ブロックパーティション構造として導出することもできる。復号済みブロックの選択方法としては、一例として、カレントブロックと同じイントラ/インター予測モードの復号済みブロックを選択する方法がある。具体的には、カレントブロックがインター予測ブロックであれば、インター予測を用いて復号された1以上の復号済みブロックが選択される。
復号済みブロックのブロックパーティション構造を修正し(例えば、図40に示すように、分割深さがより浅いブロックパーティション構造を使用し)、新たなブロックパーティション構造をカレントブロックの予測ブロックパーティション構造として導出することもできる。
ブロック分割情報は、ブロックを横分割するか縦分割するかを示すパラメータセットであってもよい。また、ブロック分割情報は、ブロック内のすべてのサブブロックの所定ブロック幅及び所定ブロック高を含むパラメータセットであってもよい。
予測ブロック分割情報は、復号済みブロックのイントラ予測方向の情報ごとに違ってもよい。例えば、カレントブロックをより小さなブロックに縦分割するか横分割するかを予測するために、特定の隣接ブロック位置におけるイントラ予測方向の情報が使用されてもよい。例えば、上隣接ブロックのイントラ予測方向の情報が縦方向又は縦方向に近いと判定されれば、カレントブロックのために、縦分割を含むブロック分割情報を予測できる。同様に、左隣接ブロックのイントラ予測方向の情報が横方向又は横方向に近いと判定されれば、カレントブロックのために、横分割を含むブロック分割情報を予測できる。
ブロック分割情報は、所定のブロックパーティション構造候補リストから1つの分割構造候補を選択するためのインデックスを含むパラメータセットであってもよい。このとき、ブロックパーティション構造は、図38に示すように、ブロック内のすべてのサブブロックのジオメトリを視覚的に提示する。
ブロック分割情報は、復号済みブロックのイントラ/インター予測モードに従って予測されてもよい。例えば、復号済みブロックの予測モードがイントラ予測モードである場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。また例えば、復号済みブロックの予測モードがインター予測モードである場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、復号済みブロックの動きベクトルに従って予測されてもよい。例えば、復号済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値より大きい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。一方、復号済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値以下の場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、復号済みブロックの量子化パラメータに従って予測されてもよい。例えば、復号済みブロックの量子化パラメータの値が所定値より小さい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。また例えば、復号済みブロックの量子化パラメータの値が所定値以上の場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、復号済みブロックの参照ピクチャ情報に従って予測されてもよい。例えば、復号済みブロックの参照ピクチャがカレントピクチャに時間的に近い場合、又は、複数の復号済みブロックの複数の参照ピクチャが互いに類似している場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。復号済みブロックの参照ピクチャがカレントピクチャに時間的に近くない場合又は複数の復号済みブロックの複数の参照ピクチャが互いに類似していない場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、復号済みブロックの分割深さに従って予測されてもよい。例えば、復号済みブロックの分割深さが所定値(例えば4)より大きい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。復号済みブロックの分割深さが所定値以下の場合(例えば分割深さが2に等しい場合)、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、カレントフレームと異なるフレームの復号済みブロックの分割情報に従って予測されてもよい。例えば、カレントブロックのためのブロック分割情報(スプリット情報を含む)又はカレントブロックのスプリット情報は、カレントフレームと異なる復号済みフレームの復号済みブロック(例えば、同位置ブロック(collocated block)、最後の復号済みブロック(last decoded block)、又は動きベクトルで特定される復号済みブロック等)から予測され得る。
書き込まれたパラメータが所定値と等しくない場合(S2002のN)、ステップS2005において、予測ブロック分割情報を用いずに、ブロックが複数のサブブロックに分割される。分割方法としては、例えば、図41のb1)及びb2)に示すような二分木分割、又は図41のq1)及びq2)に示すような四分木分割、又は図41のm1)及びm2)に示すような多分木カット/分割、又は図41のn1)に示すような非正方形/非長方形の分割が可能である。サブブロックのジオメトリ(形状及び/又は大きさ)としては、図41のb2)に示すような非対称の二分木分割、図41のq2)に示すような非対称の四分木分割、図41のm1)に示すような大きさが異なる多分木カット、又は図41のn1)に示すような非正方形/非長方形の分割のように、様々なジオメトリがあり得る。
ステップS2006では、複数のサブブロックに含まれるサブブロックが復号処理で復号される。ここで、この復号処理には、逆変換処理及び/又は予測処理が含まれる。逆変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[復号装置]
図36は、実施の形態に係る映像/画像復号装置の構造を示すブロック図である。
映像復号装置26000は、符号化入力ビットストリームをブロックごとに復号し、映像/画像を出力する装置であり、図36に示すように、エントロピー復号部26001、逆量子化部26002、逆変換部26003、ブロックメモリ26004、フレームメモリ26005、イントラ予測部26006、インター予測部26007、及びブロック分割情報決定部26008を含む。
符号化入力ビットストリームは、エントロピー復号部26001に入力される。符号化入力ビットストリームがエントロピー復号部26001に入力された後、エントロピー復号部26001は、符号化入力ビットストリームを復号し、ブロック分割情報決定部26008にパラメータを出力し、逆量子化部26002に復号値を出力する。
逆量子化部26002は、復号値を逆量子化し、逆変換部26003に周波数係数を出力する。逆変換部26003は、ブロック分割情報決定部26008により導出されたブロック分割情報に基づいて周波数係数を逆周波数変換することでサンプル値に変換し、得られたサンプル値を加算器に出力する。
加算器は、得られたサンプル値をイントラ予測部26006/インター予測部26007から出力された映像/画像の予測値に加算し、得られた加算後の値をディスプレイに出力するとともに、今後の予測のためにブロックメモリ26004又はフレームメモリ26005に出力する。
ブロック分割情報決定部26008は、ブロックメモリ26004又はフレームメモリ26005からブロック情報を収集することで、エントロピー復号部26001からの復号パラメータを用いてブロック分割情報を導出する。ここで導出されたブロック分割情報が用いられれば、ブロックは、複数のサブブロックに分割される。
さらに、イントラ予測部26006/インター予測部26007は、ブロック分割情報決定部26008から導出したブロック分割情報に基づいて、ブロックメモリ26004に記憶されている映像/画像又はフレームメモリ26005にある再構築映像/画像を検索し、例えば復号済みブロックの映像/画像に最も類似する映像/画像領域を予測のために推定する。
(実施の形態3)
[概要]
本実施の形態に係る符号化装置は、画像のブロックを符号化する符号化装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、パラメータをビットストリームに書き込み、書き込まれた前記パラメータを用いて、複数の符号化済みブロックから少なくとも1つの符号化済みブロックを選択し、選択された前記少なくとも1つの符号化済みブロックからブロック情報を読み出し、読み出された前記ブロック情報を用いて、カレントブロックを複数のサブブロックに分割し、変換処理及び/又は予測処理を含む符号化処理で前記複数のサブブロックに含まれるサブブロックを符号化する。
これにより、パラメータを用いて、カレントブロックの分割のための符号化済みブロックを適応的に選択することができる。このように選択された符号化済みブロックのブロック情報を用いてブロックを複数のサブブロックに分割することにより、ブロック分割情報に係る符号量を削減して、圧縮効率を向上させることができる。
例えば、本実施の形態に係る符号化装置において、前記カレントブロック及び前記複数の符号化済みブロックは互いに異なるブロックであり、前記複数の符号化済みブロックのうちの少なくとも1つは、前記カレントブロックと同じフレーム、又は、前記カレントブロックのフレームと異なる他のフレームに含まれてもよい。
これにより、互いに異なる複数の符号化済みブロックの中からブロック分割のための符号化済みブロックを選択することができ、ブロック分割により適したブロック情報を用いてカレントブロックを分割することが可能となる。その結果、ブロック分割情報に係る符号量を削減して、圧縮効率を向上させることができる。
例えば、本実施の形態に係る符号化装置において、読み出された前記ブロック情報は、ブロックパーティション構造、イントラ予測モード又はインター予測モード、イントラ予測方向、動きベクトル、参照ピクチャ、量子化パラメータ、及び、分割深さに関する情報のうちの少なくとも1つを含んでもよい。
これにより、ブロック情報として適切な情報を用いることができ、ブロック分割により適したブロック情報を用いてカレントブロックを分割することが可能となる。その結果、ブロック分割情報に係る符号量を削減して、圧縮効率を向上させることができる。
本実施の形態に係る復号装置は、画像のブロックを復号する復号装置であって、プロセッサと、メモリと、を備え、前記プロセッサは、前記メモリを用いて、ビットストリームからパラメータを解析し、解析された前記パラメータが所定値と等しいか否かを判定し、解析された前記パラメータが前記所定値と等しい場合に、ブロック分割情報を予測し、予測された前記ブロック分割情報を用いて、ブロックを複数のサブブロックに分割し、書き込まれた前記パラメータが前記所定値と等しくない場合に、予測された前記ブロック分割情報を用いずに、ブロックを複数のサブブロックに分割し、逆変換処理及び/又は予測処理を含む復号処理で前記複数のサブブロックに含まれるサブブロックを復号する。
これにより、パラメータを用いて、カレントブロックの分割のための復号済みブロックを適応的に選択することができる。このように選択された復号済みブロックのブロック情報を用いてブロックを複数のサブブロックに分割することにより、ブロック分割情報に係る符号量を削減して、圧縮効率を向上させることができる。
例えば、本実施の形態に係る復号装置において、前記カレントブロック及び前記復号済みブロックは互いに異なるブロックであり、前記復号済みブロックのうちの少なくとも1つは、前記カレントブロックと同じフレーム、又は、前記カレントブロックのフレームと異なる他のフレームに含まれてもよい。
これにより、互いに異なる複数の復号済みブロックの中からブロック分割のための復号済みブロックを選択することができ、ブロック分割により適したブロック情報を用いてカレントブロックを分割することが可能となる。その結果、ブロック分割情報に係る符号量を削減して、圧縮効率を向上させることができる。
例えば、本実施の形態に係る復号装置において、読み出された前記ブロック情報は、ブロックパーティション構造、イントラ予測モード又はインター予測モード、イントラ予測方向、動きベクトル、参照ピクチャ、量子化パラメータ、及び、分割深さに関する情報のうちの少なくとも1つを含んでもよい。
これにより、ブロック情報として適切な情報を用いることができ、ブロック分割により適したブロック情報を用いてカレントブロックを分割することが可能となる。その結果、ブロック分割情報に係る符号量を削減して、圧縮効率を向上させることができる。
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
以下に、映像を符号化する方法及び復号する方法を図13及び図14にそれぞれ示すとおり、実施の形態に従って説明する。
[符号化処理]
図13は、実施の形態3に係る映像符号化処理の一例を示す。
最初のステップS3001として、ビットストリームにパラメータが書き込まれる。図37は、圧縮映像ビットストリームにおける上記パラメータの書き込み可能な位置を示す。書き込まれたパラメータは、所定の候補リストから1以上の符号化済みブロック又はブロック情報を選択するための1以上のパラメータを含む。
次に、ステップS3002において、書き込まれたパラメータを用いて、複数の符号化済みブロックから少なくとも1つの符号化済みブロックが選択される。ここで、少なくとも1つの符号化済みブロックは、カレントブロックと同じフレームに含まれるブロック(例えば、カレントブロックの隣接ブロック)であるか、あるいは、カレントブロックを含むフレームとは異なる他のフレームに含まれるブロック(例えば、カレントブロックの同位置ブロック、又はカレントブロックの動きベクトルを用いてその位置が取得される動き補償ブロック、又はカレントフレームと異なる最新の符号化済みフレームに含まれる最後の符号化済みブロック)である。
ステップS3003では、選択された符号化済みブロックからブロック情報が読み出される。
そして、ステップS3004において、読み出されたブロック情報を用いてカレントブロックが複数のサブブロックに分割される。図38は、読み出されたブロック情報を用いてカレントブロックを複数のサブブロックに分割する例を示す。
ブロックをサブブロックに分割するために、当該ブロックのブロック分割情報が導出される。ここで、ブロック分割情報は、符号化済みブロックのブロック情報(例えば、ブロックパーティション構造、イントラ予測モード又はインター予測モード、イントラ予測方向、動きベクトル、参照ピクチャ、量子化パラメータ、及び分割深さ等)に従って導出される。ブロックは、ブロック分割情報を用いて複数のサブブロックに分割される。図38に示すように、用いるブロック分割情報が異なれば、ブロック分割の結果である複数のサブブロックの高さ、幅、又は形状も異なる。
カレントブロックのブロックパーティション構造としては、選択された符号化済みブロックのブロックパーティション構造をそのまま使用することができる。
選択された2以上の符号化済みブロックのブロックパーティション構造を組み合わせて(例えば、図39のように、上半分は、上ブロックのブロックパーティション構造を用い、残りの半分は、左ブロックのブロックパーティション構造を用いる)、新たなブロックパーティション構造をカレントブロックのブロックパーティション構造として導出することもできる。
選択された符号化済みブロックのブロックパーティション構造を修正し(例えば、図40に示すように、分割深さがより浅いブロックパーティション構造を使用し)、新たなブロックパーティション構造をカレントブロックのブロックパーティション構造として導出することもできる。
ブロック分割情報は、ブロックを横分割するか縦分割するかを示すパラメータセットであってもよい。また、ブロック分割情報は、ブロック内のすべてのサブブロックの所定ブロック幅及び所定ブロック高を含むパラメータセットであってもよい。
ブロック分割情報は、選択された符号化済みブロックのイントラ予測方向の情報ごとに違ってもよい。例えば、カレントブロックをより小さなブロックに縦分割するか横分割するかを決定するために、特定の隣接ブロック位置におけるイントラ予測方向の情報が使用されてもよい。例えば、上隣接ブロックのイントラ予測方向の情報が縦方向又は縦方向に近いと判定されれば、カレントブロックのために、縦分割を含むブロック分割情報を導出できる。同様に、左隣接ブロックのイントラ予測方向の情報が横方向又は横方向に近いと判定されれば、カレントブロックのために、横分割を含むブロック分割情報を導出できる。
ブロック分割情報は、所定のブロックパーティション構造候補リストから1つの分割構造候補を選択するためのインデックスを含むパラメータセットであってもよい。このとき、ブロックパーティション構造は、図38に示すように、ブロック内のすべてのサブブロックのジオメトリを視覚的に提示する。
ブロック分割情報は、選択された符号化済みブロックのイントラ/インター予測モードに従って導出されてもよい。例えば、選択された符号化済みブロックの予測モードがイントラ予測モードである場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を導出できる。また例えば、選択された符号化済みブロックの予測モードがインター予測モードである場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を導出できる。
ブロック分割情報は、選択された符号化済みブロックの動きベクトルに従って導出されてもよい。例えば、選択された符号化済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値より大きい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を導出できる。一方、選択された符号化済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値以下の場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を導出できる。
ブロック分割情報は、選択された符号化済みブロックの量子化パラメータに従って導出されてもよい。例えば、選択された符号化済みブロックの量子化パラメータの値が所定値より小さい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を導出できる。また例えば、選択された符号化済みブロックの量子化パラメータの値が所定値以上の場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を導出できる。
ブロック分割情報は、選択された符号化済みブロックの参照ピクチャ情報に従って導出されてもよい。例えば、選択された符号化済みブロックの参照ピクチャがカレントピクチャに時間的に近い場合又は選択された複数の符号化済みブロックの複数の参照ピクチャが互いに類似している場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を導出できる。選択された符号化済みブロックの参照ピクチャがカレントピクチャに時間的に近くない場合又は選択された複数の符号化済みブロックの複数の参照ピクチャが互いに類似していない場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を導出できる。
ブロック分割情報は、選択された符号化済みブロックの分割深さに従って導出されてもよい。例えば、選択された符号化済みブロックの分割深さが所定値(例えば4)より大きい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を導出できる。選択された符号化済みブロックの分割深さが所定値以下の場合(例えば分割深さが2に等しい場合)、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を導出できる。
ブロック分割情報は、カレントフレームと異なるフレームの符号化済みブロックの分割情報に従って導出されてもよい。例えば、カレントブロックのためのブロック分割情報(スプリット情報を含む)又はカレントブロックのスプリット情報は、カレントフレームと異なる符号化済みフレームの符号化済みブロック(例えば、同位置ブロック(collocated block)、直前の符号化済みブロック(last encoded block)、又は動きベクトルで特定される符号化済みブロック)のブロック情報から導出できる。
ステップS3005では、複数のサブブロックに含まれるサブブロックが符号化処理で符号化される。ここで、この符号化処理には、変換処理及び/又は予測処理が含まれる。変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[符号化装置]
本実施の形態における映像/画像符号化装置の構造は、実施の形態2の図35と同様であるので、図示及び説明を省略する。
[復号処理]
図14は、実施の形態3に係る映像復号処理の一例を示す。
最初のステップS4001として、ビットストリームからパラメータが解析される。図37は、圧縮映像ビットストリームにおける上記パラメータの解析可能な位置を示す。解析されたパラメータは、所定の候補リストから1以上の復号済みブロック又はブロック情報を選択するための1以上のパラメータを含む。
次に、ステップS4002において、解析されたパラメータを用いて、複数の復号済みブロックから少なくとも1つの復号済みブロックが選択される。ここで、少なくとも1つの復号済みブロックは、カレントブロックと同じフレームに含まれるブロック(例えば、カレントブロックの隣接ブロック)であるか、あるいは、カレントブロックを含むフレームとは異なる他のフレームに含まれるブロック(例えば、カレントブロックの同位置ブロック、又はカレントブロックの動きベクトルを用いてその位置が取得される動き補償ブロック、又はカレントフレームと異なる最新の符号化済みフレームに含まれる最後の符号化済みブロック)である。
ステップS4003では、選択された復号済みブロックからブロック情報が読み出される。
そして、ステップS4004において、読み出されたブロック情報を用いてカレントブロックが複数のサブブロックに分割される。図38は、読み出されたブロック情報を用いてカレントブロックを複数のサブブロックに分割する例を示す。
ブロックをサブブロックに分割するために、当該ブロックのブロック分割情報が導出される。ここで、ブロック分割情報は、復号済みブロックのブロック情報(例えば、ブロックパーティション構造、イントラ予測モード又はインター予測モード、イントラ予測方向、動きベクトル、参照ピクチャ、量子化パラメータ、及び分割深さ等)に従って導出される。ブロックは、ブロック分割情報を用いて複数のサブブロックに分割される。図38に示すように、用いるブロック分割情報が異なれば、ブロック分割の結果である複数のサブブロックの高さ、幅、又は形状も異なる。
カレントブロックのブロックパーティション構造としては、選択された復号済みブロックのブロックパーティション構造をそのまま使用することができる。
選択された2以上の復号済みブロックのブロックパーティション構造を組み合わせて(例えば、図39のように、上半分は、上ブロックのブロックパーティション構造を用い、残りの半分は、左ブロックのブロックパーティション構造を用いる)、新たなブロックパーティション構造をカレントブロックのブロックパーティション構造として導出することもできる。
選択された復号済みブロックのブロックパーティション構造を修正し(例えば、図40に示すように、分割深さがより浅いブロックパーティション構造を使用し)、新たなブロックパーティション構造をカレントブロックのブロックパーティション構造として導出することもできる。
ブロック分割情報は、ブロックを横分割するか縦分割するかを示すパラメータセットであってもよい。また、ブロック分割情報は、ブロック内のすべてのサブブロックの所定ブロック幅及び所定ブロック高を含むパラメータセットであってもよい。
ブロック分割情報は、選択された復号済みブロックのイントラ予測方向の情報ごとに違ってもよい。例えば、カレントブロックをより小さなブロックに縦分割するか横分割するかを決定するために、特定の隣接ブロック位置におけるイントラ予測方向の情報が使用されてもよい。例えば、上隣接ブロックのイントラ予測方向の情報が縦方向又は縦方向に近いと判定されれば、カレントブロックのために、縦分割を含むブロック分割情報を導出できる。同様に、左隣接ブロックのイントラ予測方向の情報が横方向又は横方向に近いと判定されれば、カレントブロックのために、横分割を含むブロック分割情報を導出できる。
ブロック分割情報は、所定のブロックパーティション構造候補リストから1つの分割構造候補を選択するためのインデックスを含むパラメータセットであってもよい。このとき、ブロックパーティション構造は、図38に示すように、ブロック内のすべてのサブブロックのジオメトリを視覚的に提示する。
ブロック分割情報は、選択された復号済みブロックのイントラ/インター予測モードに従って導出されてもよい。例えば、選択された復号済みブロックの予測モードがイントラ予測モードである場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を導出できる。また例えば、選択された復号済みブロックの予測モードがインター予測モードである場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を導出できる。
ブロック分割情報は、選択された復号済みブロックの動きベクトルに従って導出されてもよい。例えば、選択された復号済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値より大きい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を導出できる。一方、選択された復号済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値以下の場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を導出できる。
ブロック分割情報は、選択された復号済みブロックの量子化パラメータに従って導出することもできる。例えば、選択された復号済みブロックの量子化パラメータの値が所定値より小さい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を導出できる。また例えば、選択された復号済みブロックの量子化パラメータの値が所定値以上の場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を導出できる。
ブロック分割情報は、選択された復号済みブロックの参照ピクチャ情報に従って導出することもできる。例えば、復号済みブロックの参照ピクチャがカレントピクチャに時間的に近い場合又は複数の復号済みブロックの複数の参照ピクチャが互いに類似している場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を導出できる。復号済みブロックの参照ピクチャがカレントピクチャに時間的に近くない場合又は複数の復号済みブロックの複数の参照ピクチャが互いに類似していない場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を導出できる。
ブロック分割情報は、選択された復号済みブロックの分割深さに従って導出されてもよい。例えば、選択された復号済みブロックの分割深さが所定値(例えば4)より大きい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を導出できる。選択された復号済みブロックの分割深さが所定値以下の場合(例えば分割深さが2に等しい場合)、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を導出できる。
ブロック分割情報は、カレントフレームと異なるフレームの復号済みブロックの分割情報に従って予測されてもよい。例えば、カレントブロックのためのブロック分割情報(スプリット情報を含む)又はカレントブロックのスプリット情報は、カレントフレームと異なる復号済みフレームの復号済みブロック(例えば、同位置ブロック(collocated block)、直前の復号済みブロック(last decoded block)、又は動きベクトルで特定される復号済みブロック)のブロック情報から導出できる。
ステップS4005では、複数のサブブロックに含まれるサブブロックが復号処理で復号される。ここで、この復号処理には、逆変換処理及び/又は予測処理が含まれる。逆変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[復号装置]
本実施の形態における映像/画像復号装置の構造は、実施の形態2の図36と同様であるので、図示及び説明を省略する。
(実施の形態4)
[概要]
本実施の形態に係る符号化装置は、画像のブロックを符号化する符号化装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、ブロック分割情報を初期化し、初期化された前記ブロック分割情報が使用されれば、ブロックは、第1ジオメトリセットの複数のサブブロックに分割され、パラメータをビットストリームに書き込み、書き込まれた前記パラメータを用いて、初期化された前記ブロック分割情報を修正ブロック分割情報に修正し、前記修正ブロック分割情報が使用されれば、ブロックは、前記第1ジオメトリセットと異なるジオメトリセットの複数のサブブロックに分割され、前記修正ブロック分割情報を用いて、複数のサブブロックのジオメトリを修正し、変換処理及び/又は予測処理を含む符号化処理で前記複数のサブブロックに含まれるサブブロックを符号化する。
これにより、パラメータを用いて、初期化されたブロック分割情報を修正ブロック分割情報に適応的に修正することができる。この修正ブロック分割情報を用いて、複数のサブブロックのジオメトリを修正することができる。その結果、ブロック分割情報に係る符号量を削減して、圧縮効率を向上させることができる。
例えば、本実施の形態に係る符号化装置において、ジオメトリは、少なくともブロックの形、高さ又は幅を示してもよい。
これにより、ジオメトリとして、ブロックの形及び/又はサイズを利用することができる。
例えば、本実施の形態に係る符号化装置において、前記ブロック分割情報を初期化する処理は、所定ブロック分割情報リストからブロック分割情報を選択する処理を含んでもよい。
これにより、所定のリストからブロック分割情報を選択することにより、ブロック分割情報を初期化することができる。したがって、リスト内でブロック分割情報を識別する情報がブロック分割情報に含まれればよく、ブロック分割情報に係る符号量を削減して、圧縮効率を向上させることができる。
例えば、本実施の形態に係る符号化装置において、前記ブロック分割情報を初期化する処理は、ジオメトリに関する所定のパラメータを用いてブロック分割情報を生成する処理を含んでもよい。
これにより、パラメータを用いてブロック分割情報を生成することにより、ブロック分割情報を初期化することができる。
例えば、本実施の形態に係る符号化装置において、前記ブロック分割情報の初期化では、カレントブロックのピクチャタイプ及び量子化パラメータの少なくとも一方に基づいて分割深さを決定してもよい。
これにより、ブロック分割情報の初期化において、カレントブロックのピクチャタイプ及び/又は量子化パラメータに基づいて、分割深さを決定することができる。したがって、ビットストリーム内の既存の情報に基づいて分割深さを決定することができ、ブロック分割情報に係る符号量を削減することができる。さらに、カレントブロックのピクチャタイプ及び/又は量子化パラメータを用いることで、カレントブロックに適切な分割深さでブロック分割情報を初期化することができ、圧縮効率を向上させることができる。
例えば、本実施の形態に係る符号化装置において、書き込まれた前記パラメータは、初期化された前記ブロック分割情報が示す分割深さと前記修正ブロック分割情報が示す分割深さとの差分を含んでもよい。
これにより、パラメータを用いて、ブロックの分割深さを修正することができ、より符号化に適したサブブロックを利用することができる。その結果、圧縮効率を向上させることができる。
本実施の形態に係る復号装置は、画像のブロックを復号する復号装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、ブロック分割情報を初期化し、初期化された前記ブロック分割情報が使用されれば、ブロックは、第1ジオメトリセットの複数のサブブロックに分割され、ビットストリームからパラメータを解析し、解析された前記パラメータを用いて、初期化された前記ブロック分割情報を修正ブロック分割情報に修正し、前記修正ブロック分割情報が使用されれば、ブロックは、前記第1ジオメトリセットと異なるジオメトリセットの複数のサブブロックに分割され、前記修正ブロック分割情報を用いて、複数のサブブロックのジオメトリを修正し、逆変換処理及び/又は予測処理を含む復号処理で前記複数のサブブロックに含まれるサブブロックを復号する。
これにより、パラメータを用いて、初期化されたブロック分割情報を修正ブロック分割情報に適応的に修正することができる。この修正ブロック分割情報を用いて、複数のサブブロックのジオメトリを修正することができる。その結果、ブロック分割情報に係る符号量を削減して、圧縮効率を向上させることができる。
例えば、本実施の形態に係る復号装置において、ジオメトリは、少なくともブロックの形、高さ又は幅を示してもよい。
これにより、ジオメトリとして、ブロックの形及び/又はサイズを利用することができる。
例えば、本実施の形態に係る復号装置において、前記ブロック分割情報を初期化する処理は、所定ブロック分割情報リストからブロック分割情報を選択する処理を含んでもよい。
これにより、所定のリストからブロック分割情報を選択することにより、ブロック分割情報を初期化することができる。したがって、リスト内でブロック分割情報を識別する情報がブロック分割情報に含まれればよく、ブロック分割情報に係る符号量を削減して、圧縮効率を向上させることができる。
例えば、本実施の形態に係る復号装置において、前記ブロック分割情報を初期化する処理は、ジオメトリに関する所定のパラメータを用いてブロック分割情報を生成する処理を含んでもよい。
これにより、パラメータを用いてブロック分割情報を生成することにより、ブロック分割情報を初期化することができる。
例えば、本実施の形態に係る復号装置において、前記ブロック分割情報の初期化では、カレントブロックのピクチャタイプ及び量子化パラメータの少なくとも一方に基づいて分割深さを決定してもよい。
これにより、ブロック分割情報の初期化において、カレントブロックのピクチャタイプ及び/又は量子化パラメータに基づいて、分割深さを決定することができる。したがって、ビットストリーム内の既存の情報に基づいて分割深さを決定することができ、ブロック分割情報に係る符号量を削減することができる。さらに、カレントブロックのピクチャタイプ及び/又は量子化パラメータを用いることで、カレントブロックに適切な分割深さでブロック分割情報を初期化することができ、圧縮効率を向上させることができる。
例えば、本実施の形態に係る復号装置において、解析された前記パラメータは、初期化された前記ブロック分割情報が示す分割深さと前記修正ブロック分割情報が示す分割深さとの差分を含んでもよい。
これにより、パラメータを用いて、ブロックの分割深さを修正することができ、より符号化に適したサブブロックを利用することができる。その結果、圧縮効率を向上させることができる。
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
映像を符号化する方法及び復号する方法を図15及び図16にそれぞれ示すとおり、実施の形態に従って説明する。
[符号化処理]
図15は、実施の形態4に係る映像符号化処理の一例を示す。
最初のステップS5001として、ブロック分割情報が初期化される。この初期化されたブロック分割情報(以下、初期ブロック分割情報という)が用いられれば、ブロックは、第1ジオメトリセットの複数のサブブロックに分割される。図38に示すように、用いるブロック分割情報が異なれば、ブロック分割の結果である複数のサブブロックの高さ、幅、又は形状も異なる。
カレントブロックの初期ブロックパーティション構造としては、符号化済みブロックのブロックパーティション構造をそのまま使用することができる。
2以上の符号化済みブロックのブロックパーティション構造を組み合わせて(例えば、図39のように、上半分は、上ブロックのブロックパーティション構造を用い、残りの半分は、左ブロックのブロックパーティション構造を用いる)、新たなブロックパーティション構造をカレントブロックの初期ブロックパーティション構造として導出することもできる。符号化済みブロックの選択方法としては、一例として、カレントブロックと同じイントラ/インター予測モードの符号化済みブロックを選択する方法がある。具体的には、カレントブロックがインター予測ブロックであれば、インター予測を用いて符号化された1以上の符号化済みブロックを選択する。
符号化済みブロックのブロックパーティション構造を修正し(例えば、図40に示すように、分割深さがより浅いブロックパーティション構造を使用し)、新たなブロックパーティション構造をカレントブロックの初期ブロックパーティション構造として導出することもできる。
初期ブロック分割情報は、ブロックを横分割するか縦分割するかを示すパラメータセットであってもよい。また、初期ブロック分割情報は、ブロック内のすべてのサブブロックの所定ブロック幅及び所定ブロック高を含むパラメータセットであってもよい。
初期ブロック分割情報は、符号化済みブロックのイントラ予測方向の情報ごとに違ってもよい。例えば、カレントブロックをより小さなブロックに縦分割するか横分割するかを決定するために、特定の隣接ブロック位置におけるイントラ予測方向の情報が使用されてもよい。例えば、上隣接ブロックのイントラ予測方向の情報が縦方向又は縦方向に近いと判定されれば、カレントブロックのためのブロック分割情報を、縦分割を含むブロック分割情報に初期化できる。同様に、左隣接ブロックのイントラ予測方向の情報が横方向又は横方向に近いと判定されれば、カレントブロックのためのブロック分割情報を、横分割を含むブロック分割情報に初期化できる。
初期ブロック分割情報は、所定のブロックパーティション構造候補リストから1つの分割構造候補を選択するためのインデックスを含むパラメータセットであってもよい。このとき、初期ブロックパーティション構造は、図38に示すように、ブロック内のすべてのサブブロックのジオメトリを視覚的に提示する。
ブロック分割情報は、符号化済みブロックのイントラ/インター予測モードに応じて初期化できる。例えば、符号化済みブロックの予測モードがイントラ予測モードである場合、ブロック分割情報は、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報に初期化できる。また例えば、符号化済みブロックの予測モードがインター予測モードである場合、ブロック分割情報は、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報に初期化できる。
ブロック分割情報は、符号化済みブロックの動きベクトルに従って初期化されてもよい。例えば、符号化済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値より大きい場合、ブロック分割情報は、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報に初期化できる。一方、符号化済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値以下の場合、ブロック分割情報は、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報に初期化できる。
ブロック分割情報は、符号化済みブロックの量子化パラメータに従って初期化されてもよい。例えば、符号化済みブロックの量子化パラメータの値が所定値より小さい場合、ブロック分割情報は、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報に初期化できる。また例えば、符号化済みブロックの量子化パラメータの値が所定値以上の場合、ブロック分割情報は、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報に初期化できる。
ブロック分割情報は、符号化済みブロックの参照ピクチャ情報に従って初期化されてもよい。例えば、符号化済みブロックの参照ピクチャがカレントピクチャに時間的に近い場合又は複数の符号化済みブロックの複数の参照ピクチャが互いに類似している場合、ブロック分割情報は、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報に初期化できる。符号化済みブロックの参照ピクチャがカレントピクチャに時間的に近くない場合又は複数の符号化済みブロックの複数の参照ピクチャが互いに類似していない場合、ブロック分割情報は、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報に初期化できる。
ブロック分割情報は、符号化済みブロックの分割深さに応じて初期化されてもよい。例えば、符号化済みブロックの分割深さが所定値(例えば4)より大きい場合、ブロック分割情報は、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報に初期化できる。符号化済みブロックの分割深さが所定値以下の場合(例えば分割深さが2に等しい場合)、ブロック分割情報は、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報に初期化できる。
ブロック分割情報は、カレントフレームと異なるフレームの符号化済みブロックの分割情報に従って初期化されてもよい。例えば、カレントブロックのためのブロック分割情報(スプリット情報を含む)又はカレントブロックのスプリット情報は、カレントフレームと異なる符号化済みフレームの符号化済みブロック(例えば、同位置ブロック(collocated block)、直前の符号化済みブロック(last encoded block)、又は動きベクトルで特定される符号化済みブロック等)から初期化され得る。
次に、ステップS5002において、ビットストリームにパラメータが書き込まれる。図37は、圧縮映像ビットストリームにおける上記パラメータの書き込み可能な位置を示す。
ステップS5003において、書き込まれたパラメータを用いて初期ブロック分割情報が修正ブロック分割情報に修正される。この修正ブロック分割情報が用いられれば、ブロックは、第1ジオメトリセットとは異なるジオメトリセットの複数のサブブロックに分割される。書き込まれたパラメータは、初期ブロック分割情報を修正ブロック分割情報に修正するための1以上のパラメータを含む。
例えば、書き込まれたパラメータには、ブロックを複数のサブブロックに分割する分割フラグが含まれ得る。図42Aに示すように、このパラメータを用いると、四分木(QT)分割フラグの値が変化し、初期ブロックパーティション構造が修正される。
別の例として、書き込まれたパラメータには、所定のスキャン順(ラスタースキャン又はZスキャン等)に基づき、小さめのブロックを階層的に結合することで大きめのブロックにするマージフラグ(merge flags)が含まれ得る。図42Bに示すように、このパラメータを用いると、複数のブロックが結合されて大きめのブロックとなり、初期ブロックパーティション構造が修正される。小さめのブロック同士を階層的に結合して大きめのブロックにする例を図43に示す。
別の例として、書き込まれたパラメータには、所定のスキャン順(ラスタースキャン又はZスキャン等)に基づき、大きめのブロックを階層的に分割することで小さめのブロックにする分割有効フラグ(split enable flags)が含まれ得る。図42Cに示すように、このパラメータを用いると、ブロックがより小さいサブブロックに分割され、初期ブロックパーティション構造が修正される。
別の例として、書き込まれたパラメータには、初期ブロック分割情報が示す分割深さと、修正ブロック分割情報が示す分割深さとの差分が含まれ得る。このパラメータを用いると、ブロックの分割深さが修正される。
ブロックの分割及び小さめのブロック同士の結合等、異なる分割方法を組み合わせて、最終的なブロックパーティション構造を構成することも可能である。ビットストリームのヘッダには、マージ有効フラグ(merge enable flag)又は分割有効フラグ(split enable flag)を使用するか否かを示す1以上の切り替えパラメータ又はフラグといった制御パラメータが含まれ得る。
初期ブロック分割情報又は修正ブロック分割情報を用いれば、様々な分割方法による様々なブロックパーティション構造が得られる。分割方法としては、例えば、図41のb1)及びb2)に示すような二分木分割、又は図41のq1)及びq2)に示すような四分木分割、又は図41のm1)及びm2)に示すような多分木カット/分割、又は図41のn1)に示すような非正方形/非長方形の分割が可能である。サブブロックのジオメトリ(形状及び/又は大きさ)としては、図41のb2)に示すような非対称の二分木分割、図41のq2)に示すような非対称の四分木分割、図41のm1)に示すような大きさが異なる多分木カット、又は図41のn1)に示すような非正方形/非長方形の分割のように、様々なジオメトリがあり得る。
書き込まれたパラメータは、例えば、修正が必要でないことを示すこともできる。修正が必要でなければ、ステップS5003及びステップS5004は省略できる。よって、ブロックは、ステップS5005に行く前に、初期ブロック分割情報を用いて複数のサブブロックに分割されることになる。そして、ステップS5005において、修正ブロック分割情報を用いて分割された複数のサブブロックに含まれるサブブロックを符号化処理で符号化することが、初期ブロック分割情報を用いて分割された複数のサブブロックに含まれるサブブロックを符号化処理で符号化することに置き換えられる。
ステップS5004では、修正ブロック分割情報を用いて複数のサブブロックのジオメトリが修正される。
ステップS5005では、当該複数のサブブロックに含まれるサブブロックが符号化処理で符号化される。ここで、この符号化処理には、変換処理及び/又は予測処理が含まれる。変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[符号化装置]
本実施の形態における映像/画像符号化装置の構造は、実施の形態2の図35と同様であるので、図示及び説明を省略する。
[復号処理]
図16は、実施の形態4に係る映像復号処理の一例を示す。
最初のステップS6001として、ブロック分割情報が初期化される。この初期ブロック分割情報が用いられれば、ブロックは、第1ジオメトリセットの複数のサブブロックに分割される。図38に示すように、用いるブロック分割情報が異なれば、ブロック分割の結果である複数のサブブロックの高さ、幅、又は形状も異なる。
カレントブロックの初期ブロックパーティション構造としては、復号済みブロックのブロックパーティション構造をそのまま使用することができる。
2以上の復号済みブロックのブロックパーティション構造を組み合わせて(例えば、図39のように、上半分は、上ブロックのブロックパーティション構造を用い、残りの半分は、左ブロックのブロックパーティション構造を用いる)、新たなブロックパーティション構造をカレントブロックの初期ブロックパーティション構造として導出することもできる。復号済みブロックの選択方法としては、一例として、カレントブロックと同じイントラ/インター予測モードの復号済みブロックを選択する方法がある。具体的には、カレントブロックがインター予測ブロックであれば、インター予測を用いて復号された1以上の復号済みブロックを選択する。
復号済みブロックのブロックパーティション構造を修正し(例えば、図40に示すように、分割深さがより浅いブロックパーティション構造を使用し)、新たなブロックパーティション構造をカレントブロックの初期ブロックパーティション構造として導出することもできる。
初期ブロック分割情報は、ブロックを横分割するか縦分割するかを示すパラメータセットであってもよい。また、初期ブロック分割情報は、ブロック内のすべてのサブブロックの所定ブロック幅及び所定ブロック高を含むパラメータセットであってもよい。
初期ブロック分割情報は、復号済みブロックのイントラ予測方向の情報ごとに違ってもよい。例えば、カレントブロックをより小さなブロックに縦分割するか横分割するかを決定するために、特定の隣接ブロック位置におけるイントラ予測方向の情報が使用されてもよい。例えば、上隣接ブロックのイントラ予測方向の情報が縦方向又は縦方向に近いと判定されれば、カレントブロックのためのブロック分割情報を、縦分割を含むブロック分割情報に初期化できる。同様に、左隣接ブロックのイントラ予測方向の情報が横方向又は横方向に近いと判定されれば、カレントブロックのためのブロック分割情報を、横分割を含むブロック分割情報に初期化できる。
初期ブロック分割情報は、所定のブロックパーティション構造候補リストから1つの分割構造候補を選択するためのインデックスを含むパラメータセットであってもよい。このとき、初期ブロックパーティション構造は、図38に示すように、ブロック内のすべてのサブブロックのジオメトリを視覚的に提示する。
ブロック分割情報は、復号済みブロックのイントラ/インター予測モードに応じて初期化できる。例えば、復号済みブロックの予測モードがイントラ予測モードである場合、ブロック分割情報は、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報に初期化できる。また例えば、復号済みブロックの予測モードがインター予測モードである場合、ブロック分割情報は、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報に初期化できる。
ブロック分割情報は、復号済みブロックの動きベクトルに従って初期化されてもよい。例えば、復号済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値より大きい場合、ブロック分割情報は、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報に初期化できる。一方、復号済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値以下の場合、ブロック分割情報は、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報に初期化できる。
ブロック分割情報は、復号済みブロックの量子化パラメータに従って初期化されてもよい。例えば、復号済みブロックの量子化パラメータの値が所定値より小さい場合、ブロック分割情報は、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報に初期化できる。また例えば、復号済みブロックの量子化パラメータの値が所定値以上の場合、ブロック分割情報は、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報に初期化できる。
ブロック分割情報は、復号済みブロックの参照ピクチャ情報に従って初期化されてもよい。例えば、復号済みブロックの参照ピクチャがカレントピクチャに時間的に近い場合又は複数の復号済みブロックの複数の参照ピクチャが互いに類似している場合、ブロック分割情報は、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報に初期化できる。復号済みブロックの参照ピクチャがカレントピクチャに時間的に近くない場合又は複数の復号済みブロックの複数の参照ピクチャが互いに類似していない場合、ブロック分割情報は、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報に初期化できる。
ブロック分割情報は、復号済みブロックの分割深さに応じて初期化されてもよい。例えば、復号済みブロックの分割深さが所定値(例えば4)より大きい場合、ブロック分割情報は、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報に初期化できる。復号済みブロックの分割深さが所定値以下の場合(例えば分割深さが2に等しい場合)、ブロック分割情報は、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報に初期化できる。
ブロック分割情報は、カレントフレームと異なるフレームの復号済みブロックの分割情報に従って初期化されてもよい。例えば、カレントブロックのためのブロック分割情報(スプリット情報を含む)又はカレントブロックのスプリット情報は、カレントフレームと異なる復号済みフレームの復号済みブロック(例えば、同位置ブロック(collocated block)、最後の復号済みブロック(last decoded block)、又は動きベクトルで特定される復号済みブロック等)から初期化され得る。
次に、ステップS6002において、ビットストリームからパラメータが解析される。図37は、圧縮映像ビットストリームにおける上記パラメータの解析可能な位置を示す。
ステップS6003において、解析されたパラメータを用いて、初期ブロック分割情報が修正ブロック分割情報に修正される。この修正ブロック分割情報が用いられれば、ブロックは、第1ジオメトリセットとは異なるジオメトリセットの複数のサブブロックに分割される。解析されたパラメータは、初期ブロック分割情報を修正ブロック分割情報に修正するための1以上のパラメータを含む。
例えば、解析されたパラメータには、ブロックを複数のサブブロックに分割する分割フラグが含まれ得る。図42Aに示すように、このパラメータを用いると、四分木(QT)分割フラグの値が変化し、初期ブロックパーティション構造が修正される。
別の例として、解析されたパラメータには、所定のスキャン順(ラスタースキャン又はZスキャン等)に基づき、小さめのブロックを階層的に結合することで大きめのブロックにするマージフラグ(merge flags)が含まれ得る。図42Bに示すように、このパラメータを用いると、複数のブロックが結合されて大きめのブロックとなり、初期ブロックパーティション構造が修正される。小さめのブロック同士を階層的に結合して大きめのブロックにする例を図43に示す。
別の例として、解析されたパラメータには、所定のスキャン順(ラスタースキャン又はZスキャン等)に基づき、大きめのブロックを階層的に分割することで小さめのブロックにする分割有効フラグ(split enable flags)が含まれ得る。図42Cに示すように、このパラメータを用いると、ブロックがより小さいサブブロックに分割され、初期ブロックパーティション構造が修正される。
別の例として、解析されたパラメータには、初期ブロック分割情報が示す分割深さと、修正ブロック分割情報が示す分割深さとの差分が含まれ得る。このパラメータを用いると、ブロックの分割深さが修正される。
ブロックの分割及び小さめのブロック同士の結合等、異なる分割方法を組み合わせて、最終的なブロックパーティション構造を構成することも可能である。ビットストリームのヘッダには、マージ有効フラグ(merge enable flag)又は分割有効フラグ(split enable flag)を使用するか否かを示す1以上の切り替えパラメータ又はフラグといった制御パラメータが含まれ得る。
初期ブロック分割情報又は修正ブロック分割情報を用いれば、様々な分割方法による様々なブロックパーティション構造が得られる。分割方法としては、例えば、図41のb1)及びb2)に示すような二分木分割、又は図41のq1)及びq2)に示すような四分木分割、又は図41のm1)及びm2)に示すような多分木カット/分割、又は図41のn1)に示すような非正方形/非長方形の分割が可能である。サブブロックのジオメトリ(形状及び/又は大きさ)としては、図41のb2)に示すような非対称の二分木分割、図41のq2)に示すような非対称の四分木分割、図41のm1)に示すような大きさが異なる多分木カット、又は図41のn1)に示すような非正方形/非長方形の分割のように、様々なジオメトリがあり得る。
解析されたパラメータは、例えば、修正が必要でないことを示すこともできる。修正が必要でなければ、ステップS6003及びステップS6004は省略できる。よって、ブロックは、ステップS6005に行く前に、初期ブロック分割情報を用いて複数のサブブロックに分割される。そして、ステップS6005において、修正ブロック分割情報を用いて分割された複数のサブブロックに含まれるサブブロックを復号処理で復号することが、初期ブロック分割情報を用いて分割された複数のサブブロックに含まれるサブブロックを復号処理で復号することに置き換えられる。
ステップS6004では、複数のサブブロックのジオメトリを修正ブロック分割情報を用いて修正する。
ステップS6005では、当該複数のサブブロックに含まれるサブブロックを復号処理で復号する。ここで、この復号処理には、逆変換処理及び/又は予測処理が含まれる。逆変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[復号装置]
本実施の形態における映像/画像復号装置の構造は、実施の形態2の図36と同様であるので、図示及び説明を省略する。
なお、本実施の形態において、初期ブロック分割情報として、デフォルトブロック分割情報が用いられてもよい。デフォルトブロック分割情報とは、予め定められたブロック分割情報である。例えば、デフォルトブロック分割情報は、標準規格に予め定義されたブロック分割情報であってもよい。また例えば、デフォルトブロック分割情報は、はブロックよりも上位のヘッダに書き込まれたブロック分割情報であってもよい。なお、デフォルトブロック分割情報が用いられる場合は、ステップS5001及びステップS6001において、ブロック分割情報の初期化の代わりに、デフォルトブロック分割情報の取得が行われる。
なお、本実施の形態では、ブロック分割情報の初期化として、符号化済みブロック又は復号済みブロックのブロック情報に基づく初期化の例が説明されていたが、これに限定されない。例えば、ブロック分割情報の初期化では、カレントブロックのピクチャタイプ(I、P又はBピクチャ)及び量子化パラメータの少なくとも一方に基づいて分割深さが決定されてもよい。
具体的には、例えばカレントブロックのピクチャタイプがIピクチャであれば、ブロック分割情報は、比較的深い分割深さでブロックを分割するブロック分割情報に初期化されてもよい。また例えば、カレントブロックのピクチャタイプがPピクチャ又はBピクチャであれば、ブロック分割情報は、比較的浅い分割深さでブロックを分割するブロック分割情報に初期化されてもよい。
また例えば、初期ブロック分割情報における分割深さは、カレントブロックの量子化パラメータに基づいて決定されてもよい。具体的には、カレントブロックの量子化パラメータの値が所定値より小さい場合、ブロック分割情報は、比較的深い分割深さでブロックを分割するブロック分割情報に初期化されてもよい。また例えば、カレントブロックの量子化パラメータの値が所定値以上の場合、ブロック分割情報は、比較的浅い分割深さでブロックを分割する他のブロック分割情報に初期化されてもよい。
(実施の形態5)
[概要]
本実施の形態に係る符号化装置は、画像のブロックを符号化する符号化装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、パラメータをビットストリームに書き込み、ブロックを複数のサブブロックに分割し、書き込まれた前記パラメータを用いて、前記複数のサブブロックに含まれる少なくとも2つのサブブロックを結合して結合ブロックにし、変換処理及び/又は予測処理を含む符号化処理で前記結合ブロックを符号化する。
これにより、パラメータを用いて、少なくとも2つのサブブロックを結合することができる。したがって、カレントブロックの分割をパラメータで修正することができ、より符号化に適したサブブロックを利用することができる。その結果、圧縮効率を向上させることができる。
本実施の形態に係る復号装置は、画像のブロックを復号する復号装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、ビットストリームからパラメータを解析し、ブロックを複数のサブブロックに分割し、解析された前記パラメータを用いて、前記複数のサブブロックに含まれる少なくとも2つのサブブロックを結合して結合ブロックにし、逆変換処理及び/又は予測処理を含む復号処理で前記結合ブロックを復号する。
これにより、パラメータを用いて、少なくとも2つのサブブロックを結合することができる。したがって、カレントブロックの分割をパラメータで修正することができ、より復号に適したサブブロックを利用することができる。その結果、圧縮効率を向上させることができる。
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
映像を符号化する方法及び復号する方法を図17及び図18にそれぞれ示すとおり、実施の形態に従って説明する。
[符号化処理]
図17は、実施の形態5に係る映像符号化処理の一例を示す。
最初のステップS7001として、ビットストリームにパラメータが書き込まれる。図37は、圧縮映像ビットストリームにおける上記パラメータの書き込み可能な位置を示す。
次に、ステップS7002において、初期ブロック分割情報を用いてブロックを複数のサブブロックに分割する。図38に示すように、用いるブロック分割情報が異なれば、ブロック分割の結果である複数のサブブロックの高さ、幅、又は形状も異なる。
カレントブロックの初期ブロックパーティション構造としては、符号化済みブロックのブロックパーティション構造をそのまま使用することができる。また、カレントブロックの初期ブロックパーティション構造としては、デフォルトブロックパーティション構造を使用することもできる。
2以上の符号化済みブロックのブロックパーティション構造を組み合わせて(例えば、図39のように、上半分は、上ブロックのブロックパーティション構造を用い、残りの半分は、左ブロックのブロックパーティション構造を用いる)、新たなブロックパーティション構造をカレントブロックの初期ブロックパーティション構造として導出することもできる。符号化済みブロックの選択方法としては、一例として、カレントブロックと同じイントラ/インター予測モードの符号化済みブロックを選択する方法がある。具体的には、カレントブロックがインター予測ブロックであれば、インター予測を用いて符号化された1以上の符号化済みブロックを選択する。
符号化済みブロックのブロックパーティション構造を修正し(例えば、図40に示すように、分割深さがより浅いブロックパーティション構造を使用し)、新たなブロックパーティション構造をカレントブロックの初期ブロックパーティション構造として導出することもできる。
初期ブロック分割情報は、ブロックを横分割するか縦分割するかを示すパラメータセットであってもよい。また、初期ブロック分割情報は、ブロック内のすべてのサブブロックの所定ブロック幅及び所定ブロック高を含むパラメータセットであってもよい。
初期ブロック分割情報は、符号化済みブロックのイントラ予測方向の情報ごとに違ってもよい。例えば、カレントブロックをより小さなブロックに縦分割するか横分割するかを決定するために、特定の隣接ブロック位置におけるイントラ予測方向の情報が使用されてもよい。例えば、上隣接ブロックのイントラ予測方向の情報が縦方向又は縦方向に近いと判定されれば、カレントブロックのためのブロック分割情報を、縦分割を含むブロック分割情報に初期化できる。同様に、左隣接ブロックのイントラ予測方向の情報が横方向又は横方向に近いと判定されれば、カレントブロックのためのブロック分割情報を、横分割を含むブロック分割情報に初期化できる。
初期ブロック分割情報は、所定のブロックパーティション構造候補リストから1つの分割構造候補を選択するためのインデックスを含むパラメータセットであってもよい。このとき、初期ブロックパーティション構造は、図38に示すように、ブロック内のすべてのサブブロックのジオメトリを視覚的に提示する。
ブロック分割情報は、符号化済みブロックのイントラ/インター予測モードに応じて初期化できる。例えば、符号化済みブロックの予測モードがイントラ予測モードである場合、ブロック分割情報は、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報に初期化できる。また例えば、符号化済みブロックの予測モードがインター予測モードである場合、ブロック分割情報は、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報に初期化できる。
ブロック分割情報は、符号化済みブロックの動きベクトルに従って初期化されてもよい。例えば、符号化済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値より大きい場合、ブロック分割情報は、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報に初期化できる。一方、符号化済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値以下の場合、ブロック分割情報は、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報に初期化できる。
ブロック分割情報は、符号化済みブロックの量子化パラメータに従って初期化されてもよい。例えば、符号化済みブロックの量子化パラメータの値が所定値より小さい場合、ブロック分割情報は、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報に初期化できる。また例えば、符号化済みブロックの量子化パラメータの値が所定値以上の場合、ブロック分割情報は、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報に初期化できる。
ブロック分割情報は、符号化済みブロックの参照ピクチャ情報に従って初期化されてもよい。例えば、符号化済みブロックの参照ピクチャがカレントピクチャに時間的に近い場合又は複数の符号化済みブロックの複数の参照ピクチャが互いに類似している場合、ブロック分割情報は、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報に初期化できる。符号化済みブロックの参照ピクチャがカレントピクチャに時間的に近くない場合又は複数の符号化済みブロックの複数の参照ピクチャが互いに類似していない場合、ブロック分割情報は、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報に初期化できる。
ブロック分割情報は、符号化済みブロックの分割深さに応じて初期化されてもよい。例えば、符号化済みブロックの分割深さが所定値(例えば4)より大きい場合、ブロック分割情報は、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報に初期化できる。符号化済みブロックの分割深さが所定値以下の場合(例えば分割深さが2に等しい場合)、ブロック分割情報は、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報に初期化できる。
ブロック分割情報は、カレントフレームと異なるフレームの符号化済みブロックの分割情報に従って初期化されてもよい。例えば、カレントブロックのためのブロック分割情報(スプリット情報を含む)又はカレントブロックのスプリット情報は、カレントフレームと異なる符号化済みフレームの符号化済みブロック(例えば、同位置ブロック(collocated block)、直前の符号化済みブロック(last encoded block)、又は動きベクトルで特定される符号化済みブロック等)から初期化され得る。
ステップS7003において、書き込まれたパラメータを用いて、複数のサブブロックに含まれる2以上のサブブロックを結合し、結合ブロック(merged block)にする。例えば、書き込まれたパラメータには、所定のスキャン順(ラスタースキャン又はZスキャン等)に基づき、小さめのブロックを階層的に結合することで大きめのブロックにするマージフラグ(merge flags)が含まれ得る。図42Bに示すように、このパラメータを用いると、複数のブロックが結合されて大きめのブロックとなり、初期ブロックパーティション構造が修正される。小さめのブロック同士を階層的に結合して大きめのブロックにする例を図43に示す。
ブロックパーティション構造を導出する際の分割方法は、ステップS7003における結合処理の前後で違ってよい。分割方法としては、例えば、図41のb1)及びb2)に示すような二分木分割、又は図41のq1)及びq2)に示すような四分木分割、又は図41のm1)及びm2)に示すような多分木カット/分割、又は図41のn1)に示すような非正方形/非長方形の分割が可能である。サブブロックのジオメトリ(形状及び/又は大きさ)としては、図41のb2)に示すような非対称の二分木分割、図41のq2)に示すような非対称の四分木分割、図41のm1)に示すような大きさが異なる多分木カット、又は図41のn1)に示すような非正方形/非長方形の分割のように、様々なジオメトリがあり得る。
書き込まれたパラメータは、例えば、結合が必要でないことを示すこともできる。結合が必要でなければ、ステップS7003は省略できる。よって、ブロックは、ステップS7004に行く前に、初期ブロック分割情報を用いて複数のサブブロックに分割されることになる。そして、ステップS7004において、結合ブロックの代わりにサブブロックが符号化処理で符号化される。
ステップS7004では、結合ブロックを符号化処理で符号化する。ここで、この符号化処理には、変換処理及び/又は予測処理が含まれる。変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[符号化装置]
本実施の形態における映像/画像符号化装置の構造は、実施の形態2の図35と同様であるので、図示及び説明を省略する。
[復号処理]
図18は、実施の形態5に係る映像復号処理の一例を示す。
最初のステップS8001として、ビットストリームからパラメータが解析される。図37は、圧縮映像ビットストリームにおける上記パラメータの解析可能な位置を示す。
次に、ステップS8002において、初期ブロック分割情報を用いてブロックを複数のサブブロックに分割する。図38に示すように、用いるブロック分割情報が異なれば、ブロック分割の結果である複数のサブブロックの高さ、幅、又は形状も異なる。
カレントブロックの初期ブロックパーティション構造としては、復号済みブロックのブロックパーティション構造をそのまま使用することができる。
2以上の復号済みブロックのブロックパーティション構造を組み合わせて(例えば、図39のように、上半分は、上ブロックのブロックパーティション構造を用い、残りの半分は、左ブロックのブロックパーティション構造を用いる)、新たなブロックパーティション構造をカレントブロックの初期ブロックパーティション構造として導出することもできる。復号済みブロックの選択方法としては、一例として、カレントブロックと同じイントラ/インター予測モードの復号済みブロックを選択する方法がある。具体的には、カレントブロックがインター予測ブロックであれば、インター予測を用いて復号された1以上の復号済みブロックを選択する。
復号済みブロックのブロックパーティション構造を修正し(例えば、図40に示すように、分割深さがより浅いブロックパーティション構造を使用し)、新たなブロックパーティション構造をカレントブロックの初期ブロックパーティション構造として導出することもできる。
初期ブロック分割情報は、ブロックを横分割するか縦分割するかを示すパラメータセットであってもよい。また、初期ブロック分割情報は、ブロック内のすべてのサブブロックの所定ブロック幅及び所定ブロック高を含むパラメータセットであってもよい。
初期ブロック分割情報は、復号済みブロックのイントラ予測方向の情報ごとに違ってもよい。例えば、カレントブロックをより小さなブロックに縦分割するか横分割するかを決定するために、特定の隣接ブロック位置におけるイントラ予測方向の情報が使用されてもよい。例えば、上隣接ブロックのイントラ予測方向の情報が縦方向又は縦方向に近いと判定されれば、カレントブロックのためのブロック分割情報を、縦分割を含むブロック分割情報に初期化できる。同様に、左隣接ブロックのイントラ予測方向の情報が横方向又は横方向に近いと判定されれば、カレントブロックのためのブロック分割情報を、横分割を含むブロック分割情報に初期化できる。
初期ブロック分割情報は、所定のブロックパーティション構造候補リストから1つの分割構造候補を選択するためのインデックスを含むパラメータセットであってもよい。このとき、初期ブロックパーティション構造は、図38に示すように、ブロック内のすべてのサブブロックのジオメトリを視覚的に提示する。
ブロック分割情報は、復号済みブロックのイントラ/インター予測モードに応じて初期化できる。例えば、復号済みブロックの予測モードがイントラ予測モードである場合、ブロック分割情報は、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報に初期化できる。また例えば、復号済みブロックの予測モードがインター予測モードである場合、ブロック分割情報は、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報に初期化できる。
ブロック分割情報は、復号済みブロックの動きベクトルに従って初期化されてもよい。例えば、復号済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値より大きい場合、ブロック分割情報は、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報に初期化できる。一方、復号済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値以下の場合、ブロック分割情報は、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報に初期化できる。
ブロック分割情報は、復号済みブロックの量子化パラメータに従って初期化されてもよい。例えば、復号済みブロックの量子化パラメータの値が所定値より小さい場合、ブロック分割情報は、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報に初期化できる。また例えば、復号済みブロックの量子化パラメータの値が所定値以上の場合、ブロック分割情報は、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報に初期化できる。
ブロック分割情報は、復号済みブロックの参照ピクチャ情報に従って初期化されてもよい。例えば、復号済みブロックの参照ピクチャがカレントピクチャに時間的に近い場合又は複数の復号済みブロックの複数の参照ピクチャが互いに類似している場合、ブロック分割情報は、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報に初期化できる。復号済みブロックの参照ピクチャがカレントピクチャに時間的に近くない場合又は複数の復号済みブロックの複数の参照ピクチャが互いに類似していない場合、ブロック分割情報は、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報に初期化できる。
ブロック分割情報は、復号済みブロックの分割深さに応じて初期化されてもよい。例えば、復号済みブロックの分割深さが所定値(例えば4)より大きい場合、ブロック分割情報は、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報に初期化できる。復号済みブロックの分割深さが所定値以下の場合(例えば分割深さが2に等しい場合)、ブロック分割情報は、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報に初期化できる。
ブロック分割情報は、カレントフレームと異なるフレームの復号済みブロックの分割情報に従って初期化されてもよい。例えば、カレントブロックのためのブロック分割情報(スプリット情報を含む)又はカレントブロックのスプリット情報は、カレントフレームと異なる復号済みフレームの復号済みブロック(例えば、同位置ブロック(collocated block)、最後の復号済みブロック(last decoded block)、又は動きベクトルで特定される復号済みブロック等)から初期化され得る。
ステップS8003において、解析されたパラメータを用いて、複数のサブブロックに含まれる2以上のサブブロックを結合し、結合ブロック(merged block)にする。例えば、解析されたパラメータには、所定のスキャン順(ラスタースキャン又はZスキャン等)に基づき、小さめのブロックを階層的に結合することで大きめのブロックにするマージフラグ(merge flags)が含まれ得る。図42Bに示すように、このパラメータを用いると、複数のブロックが結合されて大きめのブロックとなり、初期ブロックパーティション構造が修正される。小さめのブロック同士を階層的に結合して大きめのブロックにする例を図43に示す。
ブロックパーティション構造を導出する際の分割方法は、ステップS8003における結合処理の前後で違ってよい。分割方法としては、例えば、図41のb1)及びb2)に示すような二分木分割、又は図41のq1)及びq2)に示すような四分木分割、又は図41のm1)及びm2)に示すような多分木カット/分割、又は図41のn1)に示すような非正方形/非長方形の分割が可能である。サブブロックのジオメトリ(形状及び/又は大きさ)としては、図41のb2)に示すような非対称の二分木分割、図41のq2)に示すような非対称の四分木分割、図41のm1)に示すような大きさが異なる多分木カット、又は図41のn1)に示すような非正方形/非長方形の分割のように、様々なジオメトリがあり得る。
解析されたパラメータは、例えば、結合が必要でないことを示すこともできる。結合が必要でなければ、ステップS8003は省略できる。よって、ブロックは、ステップS8004に行く前に、初期ブロック分割情報を用いて複数のサブブロックに分割されることになる。そして、ステップS8004において、結合ブロックの代わりにサブブロックが復号処理で復号される。
ステップS8004では、結合ブロックを復号処理で復号する。ここで、この復号処理には、逆変換処理及び/又は予測処理が含まれる。変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[復号装置]
本実施の形態における映像/画像復号装置の構造は、実施の形態2の図36と同様であるので、図示及び説明を省略する。
(実施の形態6)
[概要]
本実施の形態に係る符号化装置は、画像のブロックを符号化する符号化装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、ブロックのジオメトリを読み出し、読み出された前記ジオメトリが所定のジオメトリと等しいか否かを判定し、読み出された前記ジオメトリが前記所定のジオメトリと等しい場合に、前記ブロックを、第1ジオメトリセットの所定数のサブブロックに分割し、読み出された前記ジオメトリが前記所定のジオメトリと等しくない場合に、前記ブロックを、第1ジオメトリセットと異なる他のジオメトリセットの前記所定数のサブブロックに分割し、変換処理及び/又は予測処理を含む符号化処理でサブブロックを符号化する。
これにより、ブロックのジオメトリに基づいて、当該ブロックを分割することができる。したがって、ブロック分割情報に係る符号量を削減することができ、圧縮効率を向上させることができる。さらに、ブロックのジオメトリの利用は、より符号化に適したサブブロックに貢献し、圧縮効率の向上にも貢献することができる。
例えば、本実施の形態に係る符号化装置において、ジオメトリは、少なくともブロックの形、高さ又は幅を示してもよい。
これにより、ジオメトリとして、ブロックの形及び/又はサイズを利用することができる。
例えば、本実施の形態に係る符号化装置において、前記サブブロックの高さ及び幅の少なくとも一方は2のべき乗であってもよい。
これにより、サブブロックの高さ及び幅の少なくとも一方が2のべき乗となるように、ブロックを分割することができる。したがって、符号化に適したサイズのサブブロックを得ることができ、圧縮効率を向上させることができる。
本実施の形態に係る復号装置は、画像のブロックを復号する復号装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、ブロックのジオメトリを読み出し、読み出された前記ジオメトリが所定のジオメトリと等しいか否かを判定し、読み出された前記ジオメトリが前記所定のジオメトリと等しい場合に、前記ブロックを、第1ジオメトリセットの所定数のサブブロックに分割し、読み出された前記ジオメトリが前記所定のジオメトリと等しくない場合に、前記ブロックを、第1ジオメトリセットと異なる他のジオメトリセットの前記所定数のサブブロックに分割し、逆変換処理及び/又は予測処理を含む復号処理でサブブロックを復号する。
これにより、ブロックのジオメトリに基づいて、当該ブロックを分割することができる。したがって、ブロック分割情報に係る符号量を削減することができ、圧縮効率を向上させることができる。さらに、ブロックのジオメトリの利用は、より符号化に適したサブブロックに貢献し、圧縮効率の向上にも貢献することができる。
例えば、本実施の形態に係る復号装置において、ジオメトリは、少なくともブロックの形、高さ又は幅を示してもよい。
これにより、ジオメトリとして、ブロックの形及び/又はサイズを利用することができる。
例えば、本実施の形態に係る復号装置において、前記サブブロックの高さ及び幅の少なくとも一方は2のべき乗であってもよい。
これにより、サブブロックの高さ及び幅の少なくとも一方が2のべき乗となるように、ブロックを分割することができる。したがって、符号化に適したサイズのサブブロックを用いることができ、圧縮効率を向上させることができる。
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
以下に、映像を符号化する方法及び復号する方法を図19及び図20にそれぞれ示すとおり、実施の形態に従って説明する。
[符号化処理]
図19は、実施の形態6に係る映像符号化処理の一例を示す。
最初のステップS9001として、ブロックのジオメトリを読み出す。ここで、ジオメトリは、少なくともブロックの形、高さ又は幅を示す。図44に示すように、用いるジオメトリが異なれば、ブロック分割の結果である複数のサブブロックの形状、ブロック高、又はブロック幅も異なる。
次に、ステップS9002において、読み出したジオメトリが所定のジオメトリと等しいか否かを判定する。
読み出したジオメトリが所定のジオメトリと等しい場合(S9002のY)、ステップS9003において、ブロックを第1ジオメトリセットの所定数のサブブロックに分割する。読み出したジオメトリが所定のジオメトリと等しくない場合(S9002のN)、ステップS9004において、ブロックを第1ジオメトリセットとは異なる別のジオメトリセットの所定数のサブブロックに分割する。
例えば、図45Aの(a1)に示すように、サブブロックの所定数が2に設定された場合、ブロック幅が2のべき乗であれば(例えば、32)、1:3又は3:1の割合でブロックを2つのサブブロックに縦分割できる。一方、図45Aの(a2)に示すように、幅が2のべき乗でなければ(例えば、24)、1:2又は2:1の割合でブロックを2つのサブブロックに縦分割できる。同様に、ブロックのブロック高が2のべき乗か否かに応じて、ブロックを2つのサブブロックに横分割できる。
別の例として、図45Cの(c1)に示すように、サブブロックの所定数が2に設定された場合、ブロック幅(例えば、8)がブロック高(例えば、32)より小さければ、ブロックを等しい大きさの2つのサブブロックに横分割できる。一方、図45Cの(c2)に示すように、幅(例えば、32)がブロック高(例えば、8)より大きければ、ブロックを等しい大きさの2つのサブブロックに縦分割できる。
サブブロックの所定数が4に設定された場合は、例えば、図45Bの(b1)に示すように、ブロックのブロック幅が2のべき乗であれば(例えば、32)、最も大きいサブブロックの幅が最も小さいサブブロックの幅の3倍となる4つのサブブロックにブロックを分割できる。一方、図45Bの(b2)に示すように、ブロックのブロック幅が2のべき乗でなければ(例えば、24)、最も大きいサブブロックの幅が最も小さいサブブロックの幅の2倍となる4つのサブブロックにブロックを分割できる。
別の例として、図45Dの(d1)に示すように、サブブロックの所定数が4に設定された場合、ブロックのブロック幅(例えば、32)がそのブロックのブロック高(例えば、32)と同じであれば、そのブロックを縦横両方に等分割できる。図45Dの(d2)に示すように、ブロックのブロック幅(例えば、32)がそのブロックのブロック高(例えば、8)の4倍であれば、ブロックを縦に等分割できる。同様に、ブロックのブロック高(例えば、32)がそのブロックのブロック幅(例えば8)の4倍であれば、ブロックを横に等分割できる。
図45A〜図45Dのように、本実施の形態では、サブブロックの高さ及び幅の少なくとも一方が2のべき乗となる。なお、サブブロックの高さ及び/又は幅は、2のべき乗に限定されなくてもよい。
ステップS9005では、サブブロックを符号化処理で符号化する。ここで、この符号化処理には、変換処理及び/又は予測処理が含まれる。変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[符号化装置]
本実施の形態における映像/画像符号化装置の構造は、実施の形態2の図35と同様であるので、図示及び説明を省略する。
[復号処理]
図20は、実施の形態6に係る映像復号処理の一例を示す。
最初のステップS10001として、ブロックのジオメトリを読み出す。ここで、ジオメトリは、少なくともブロックの形、高さ又は幅を示す。図44に示すように、用いるジオメトリが異なれば、ブロック分割の結果である複数のサブブロックの形状、ブロック高、又はブロック幅も異なる。
次に、ステップS10002において、読み出したジオメトリが所定のジオメトリと等しいか否かを判定する。
読み出したジオメトリが所定のジオメトリと等しい場合(S10002のY)、ステップS10003において、ブロックを第1ジオメトリセットからなる所定数のサブブロックに分割する。読み出したジオメトリが所定のジオメトリと等しくない場合(S10002のN)、ステップS10004において、ブロックを第1ジオメトリセットとは異なる別のジオメトリセットからなる所定数のサブブロックに分割する。
例えば、図45Aの(a1)に示すように、サブブロックの所定数が2に設定された場合、ブロック幅が2のべき乗であれば(例えば、32)、1:3又は3:1の割合でブロックを2つのサブブロックに縦分割できる。一方、図45Aの(a2)に示すように、幅が2のべき乗でなければ(例えば、24)、1:2又は2:1の割合でブロックを2つのサブブロックに縦分割できる。同様に、ブロックのブロック高が2のべき乗か否かに応じて、ブロックを2つのサブブロックに横分割できる。
別の例として、図45Cの(c1)に示すように、サブブロックの所定数が2に設定された場合、ブロック幅(例えば、8)がブロック高(例えば、32)より小さければ、ブロックを等しい大きさの2つのサブブロックに横分割できる。一方、図45Cの(c2)に示すように、幅(例えば、32)がブロック高(例えば、8)より大きければ、ブロックを等しい大きさの2つのサブブロックに縦分割できる。
例えば、図45Bの(b1)に示すように、サブブロックの所定数が4に設定された場合、ブロックのブロック幅が2のべき乗であれば(例えば、32)、最も大きいサブブロックの幅が最も小さいサブブロックの幅の3倍となる4つのサブブロックにブロックを分割できる。一方、図45Bの(b2)に示すように、ブロックのブロック幅が2のべき乗でなければ(例えば、24)、最も大きいサブブロックの幅が最も小さいサブブロックの幅の2倍となる4つのサブブロックにブロックを分割できる。
例えば、図45Dの(d1)に示すように、サブブロックの所定数が4に設定された場合、ブロックのブロック幅(例えば、32)がそのブロックのブロック高(例えば、32)と同じであれば、そのブロックを縦横両方に等分割できる。図45Dの(d2)に示すように、ブロックのブロック幅(例えば、32)がそのブロックのブロック高(例えば、8)の4倍であれば、ブロックを縦に等分割できる。同様に、ブロックのブロック高(例えば、32)がそのブロックのブロック幅(例えば8)の4倍であれば、ブロックを横に等分割できる。
図45A〜図45Dのように、本実施の形態では、サブブロックの高さ及び幅の少なくとも一方が2のべき乗となる。なお、サブブロックの高さ及び/又は幅は、2のべき乗に限定されなくてもよい。
ステップS10005では、サブブロックを復号処理で復号する。ここで、この復号処理には、逆変換処理及び/又は予測処理が含まれる。逆変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[復号装置]
本実施の形態における映像/画像復号装置の構造は、実施の形態2の図36と同様であるので、図示及び説明を省略する。
(実施の形態7)
[概要]
本実施の形態に係る符号化装置は、画像のブロックを符号化する符号化装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、パラメータをビットストリームに書き込み、書き込まれた前記パラメータが所定値と等しいか否かを判定し、書き込まれた前記パラメータが前記所定値と等しい場合に、前記ブロックを、第1ジオメトリセットの所定数のサブブロックに分割し、書き込まれた前記パラメータが前記所定値と等しくない場合に、前記ブロックを、第1ジオメトリセットと異なる他のジオメトリセットの前記所定数のサブブロックに分割し、変換処理及び/又は予測処理を含む符号化処理でサブブロックを符号化する。
これにより、パラメータが所定値と等しいか否かによって、分割後の所定数のサブブロックのジオメトリセットを切り替えることができる。
例えば、本実施の形態に係る符号化装置において、ジオメトリは、少なくともブロックの形、高さ又は幅を示してもよい。
これにより、ジオメトリとして、ブロックの形及び/又はサイズを利用することができる。
例えば、本実施の形態に係る符号化装置において、前記サブブロックの高さ及び幅の少なくとも一方は2のべき乗であってもよい。
これにより、サブブロックの高さ及び幅の少なくとも一方が2のべき乗となるように、ブロックを分割することができる。したがって、符号化に適したサイズのサブブロックを得ることができ、圧縮効率を向上させることができる。
本実施の形態に係る復号装置は、画像のブロックを復号する復号装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、ビットストリームからパラメータを解析し、解析された前記パラメータが所定値と等しいか否かを判定し、解析された前記パラメータが前記所定値と等しい場合に、前記ブロックを、第1ジオメトリセットの所定数のサブブロックに分割し、解析された前記パラメータが前記所定値と等しくない場合に、前記ブロックを、第1ジオメトリセットと異なる他のジオメトリセットの前記所定数のサブブロックに分割し、逆変換処理及び/又は予測処理を含む復号処理でサブブロックを復号する。
これにより、パラメータが所定値と等しいか否かによって、分割後の所定数のサブブロックのジオメトリセットを切り替えることができる。
例えば、本実施の形態に係る復号装置において、ジオメトリは、少なくともブロックの形、高さ又は幅を示してもよい。
これにより、ジオメトリとして、ブロックの形及び/又はサイズを利用することができる。
例えば、本実施の形態に係る復号装置において、前記サブブロックの高さ及び幅の少なくとも一方は2のべき乗であってもよい。
これにより、サブブロックの高さ及び幅の少なくとも一方が2のべき乗となるように、ブロックを分割することができる。したがって、符号化に適したサイズのサブブロックを用いることができ、圧縮効率を向上させることができる。
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
以下に、映像を符号化する方法及び復号する方法を図21及び図22にそれぞれ示すとおり、実施の形態に従って説明する。
[符号化処理]
図21は、実施の形態7に係る映像符号化処理の一例を示す。
最初のステップS11001として、パラメータがビットストリームに書き込まれる。図37は、圧縮映像ビットストリームにおける上記パラメータの書き込み可能な位置を示す。
次に、ステップS11002において、書き込まれたパラメータが所定値と等しいか否かを判定する。
書き込まれたパラメータが所定値と等しい場合(S11002のY)、ステップS11003において、ブロックを第1ジオメトリセットの所定数のサブブロックに分割する。書き込まれたパラメータが所定値と等しくない場合(S11002のN)、ステップS11004において、ブロックを第1ジオメトリセットとは異なる別のジオメトリセットの所定数のサブブロックに分割する。
書き込まれたパラメータは、分割モード(例えば、四分木/二分木/多分木分割、縦/横分割、対称/非対称分割、及びサブブロックのブロック幅/ブロック高の割合)を示すことができる。
例えば、24×32ブロックに対して、図46Aの(a1)に示すように、書き込まれたパラメータは、分割が二分木分割であること、分割が縦分割であること、及び2つのサブブロックのブロック幅の割合が1:2であることを示すことができる。この場合、24×32ブロックは、8×32サブブロックと16×32サブブロックとに分割される。
別の例として、24×32ブロックに対して、図46Aの(a2)に示すように、書き込まれたパラメータは、分割が二分木分割であること、分割が縦分割であること、及び2つのサブブロックのブロック幅の割合が2:1であることを示すことができる。この場合、24×32ブロックは、16×32サブブロックと8×32サブブロックとに分割される。
例えば、24×24ブロックに対して、図46Bの(b1)に示すように、書き込まれたパラメータは、分割が四分木分割であること、左上のサブブロックが最も大きいサブブロックであること、及び最も大きいサブブロックと最も小さいサブブロックのブロック幅の割合が2:1であることを示すことができる。この場合、24×24ブロックは、16×16サブブロックと8×16サブブロックと16×8サブブロックと8×8サブブロックとに分割される。
別の例として、24×24ブロックに対して、図46Bの(b2)に示すように、書き込まれたパラメータは、分割が四分木分割であること、右下のサブブロックが最も大きいサブブロックであること、及び最も大きいサブブロックと最も小さいサブブロックのブロック幅の割合が2:1であることを示すことができる。この場合、24×24ブロックは、8×8サブブロックと16×8サブブロックと8×16サブブロックと16×16サブブロックとに分割される。
例えば、32×32ブロックに対して、図46Cの(c1)に示すように、書き込まれたパラメータは、分割が三分木分割であること、分割が縦分割であること、及びサブブロックのブロック幅の割合が1:1:2であることを示すことができる。この場合、32×32ブロックは、2つの8×32サブブロックと16×32サブブロックとに分割される。
別の例として、32×32ブロックに対して、図46Cの(c2)に示すように、書き込まれたパラメータは、分割が三分木分割であること、分割が縦分割であること、及びサブブロックのブロック幅の割合が2:1:1であることを示すことができる。この場合、32×32ブロックは、16×32サブブロックと2つの8×16サブブロックとに分割される。
例えば、32×32ブロックに対して、図46Dの(d1)に示すように、書き込まれたパラメータは、分割が四分木分割であること、及び分割には縦横両方の方向が含まれることを示すことができる。この場合、32×32ブロックは、4つの16×16サブブロックに分割される。
別の例として、32×32ブロックに対して、図46Dの(d2)に示すように、書き込まれたパラメータによって、分割が四分木分割であること、及び分割には縦方向のみが含まれることを示すことができる。この場合、32×32ブロックは、4つの8×32サブブロックに分割される。
図46A〜図46Dのように、本実施の形態では、サブブロックの高さ及び幅の少なくとも一方が2のべき乗となる。なお、サブブロックの高さ及び/又は幅は、2のべき乗に限定されなくてもよい。
ステップS11005では、サブブロックを符号化処理で符号化する。ここで、この符号化処理には、変換処理及び/又は予測処理が含まれる。変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[符号化装置]
本実施の形態における映像/画像符号化装置の構造は、実施の形態2の図35と同様であるので、図示及び説明を省略する。
[復号処理]
図22は、実施の形態7に係る映像復号処理の一例を示す。
最初のステップS12001として、ビットストリームからパラメータが解析される。図37は、圧縮映像ビットストリームにおける上記パラメータの解析可能な位置を示す。
次に、ステップS12002において、解析されたパラメータが所定値と等しいか否かを判定する。
解析されたパラメータが所定値と等しい場合(S12002のY)、ステップS12003において、ブロックを第1ジオメトリセットの所定数のサブブロックに分割する。解析されたジオメトリが所定値と等しくない場合(S12002のN)、ステップS12004において、ブロックを第1ジオメトリセットとは異なる別のジオメトリセットの所定数のサブブロックに分割する。
解析されたパラメータは、分割モード(例えば、四分木/二分木/多分木分割、縦/横分割、対称/非対称分割、及びサブブロックのブロック幅/ブロック高の割合)を示すことができる。
例えば、24×32ブロックに対して、図46Aの(a1)に示すように、解析されたパラメータは、分割が二分木分割であること、分割が縦分割であること、及び2つのサブブロックのブロック幅の割合が1:2であることを示すことができる。この場合、24×32ブロックは、8×32サブブロックと16×32サブブロックとに分割される。
別の例として、24×32ブロックに対して、図46Aの(a2)に示すように、解析されたパラメータは、分割が二分木分割であること、分割が縦分割であること、及び2つのサブブロックのブロック幅の割合が2:1であることを示すことができる。この場合、24×32ブロックは、16×32サブブロックと8×32サブブロックとに分割される。
例えば、24×24ブロックに対して、図46Bの(b1)に示すように、解析されたパラメータは、分割が四分木分割であること、左上のサブブロックが最も大きいサブブロックであること、及び最も大きいサブブロックと最も小さいサブブロックのブロック幅の割合が2:1であることを示すことができる。この場合、24×24ブロックは、16×16サブブロックと8×16サブブロックと16×8サブブロックと8×8サブブロックとに分割される。
別の例として、24×24ブロックに対して、図46Bの(b2)に示すように、解析されたパラメータは、分割が四分木分割であること、右下のサブブロックが最も大きいサブブロックであること、及び最も大きいサブブロックと最も小さいサブブロックのブロック幅の割合が2:1であることを示すことができる。この場合、24×24ブロックは、8×8サブブロックと16×8サブブロックと8×16サブブロックと16×16サブブロックとに分割される。
例えば、32×32ブロックに対して、図46Cの(c1)に示すように、解析されたパラメータは、分割が三分木分割であること、分割が縦分割であること、及びサブブロックのブロック幅の割合が1:1:2であることを示すことができる。この場合、32×32ブロックは、2つの8×32サブブロックと16×32サブブロックとに分割される。
別の例として、32×32ブロックに対して、図46Cの(c2)に示すように、解析されたパラメータは、分割が三分木分割であること、分割が縦分割であること、及びサブブロックのブロック幅の割合が2:1:1であることを示すことができる。この場合、32×32ブロックは、16×32サブブロックと2つの8×16サブブロックとに分割される。
例えば、32×32ブロックに対して、図46Dの(d1)に示すように、解析されたパラメータは、分割が四分木分割であること、及び分割には縦横両方の方向が含まれることを示すことができる。この場合、32×32ブロックは、4つの16×16サブブロックに分割される。
別の例として、32×32ブロックに対して、図46Dの(d2)に示すように、解析されたパラメータは、分割が四分木分割であること、及び分割には縦方向のみが含まれることを示すことができる。この場合、32×32ブロックは、4つの8×32サブブロックに分割される。
図46A〜図46Dのように、本実施の形態では、サブブロックの高さ及び幅の少なくとも一方が2のべき乗となる。なお、サブブロックの高さ及び/又は幅は、2のべき乗に限定されなくてもよい。
ステップS12005では、サブブロックを復号処理で復号する。ここで、この復号処理には、逆変換処理及び/又は予測処理が含まれる。逆変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[復号装置]
本実施の形態における映像/画像符号化装置の構造は、実施の形態2の図36と同様であるので、図示及び説明を省略する。
(実施の形態8)
[概要]
本実施の形態に係る符号化装置は、画像のブロックを符号化する符号化装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、ブロックのジオメトリを読み出し、読み出された前記ジオメトリが所定のジオメトリと等しいか否かを判定し、読み出された前記ジオメトリが前記所定のジオメトリと等しい場合に、前記ブロックを、第1の数のサブブロックに分割し、読み出された前記ジオメトリが前記所定のジオメトリと等しくない場合に、前記ブロックを、前記第1の数と等しくない数のサブブロックに分割し、変換処理及び/又は予測処理を含む符号化処理でサブブロックを符号化する。
これにより、ブロックを、当該ブロックのジオメトリに基づく数のサブブロックに分割することができる。したがって、ブロック分割情報に係る符号量を削減することができ、圧縮効率を向上させることができる。さらに、サブブロックの数をブロックのジオメトリに依存させることができる。その結果、より効果的にブロックを分割することができ、圧縮効率を向上させることができる。
例えば、本実施の形態に係る符号化装置において、ジオメトリは、少なくともブロックの形、高さ又は幅を示してもよい。
これにより、ジオメトリとして、ブロックの形及び/又はサイズを利用することができる。
例えば、本実施の形態に係る符号化装置において、前記サブブロックの高さ及び幅の少なくとも一方は2のべき乗であってもよい。
これにより、サブブロックの高さ及び幅の少なくとも一方が2のべき乗となるように、ブロックを分割することができる。したがって、符号化に適したサイズのサブブロックを得ることができ、圧縮効率を向上させることができる。
本実施の形態に係る復号装置は、画像のブロックを復号する復号装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、ブロックのジオメトリを読み出し、読み出された前記ジオメトリが所定のジオメトリと等しいか否かを判定し、読み出された前記ジオメトリが前記所定のジオメトリと等しい場合に、前記ブロックを、第1の数のサブブロックに分割し、読み出された前記ジオメトリが前記所定のジオメトリと等しくない場合に、前記ブロックを、前記第1の数と等しくない数のサブブロックに分割し、逆変換処理及び/又は予測処理を含む復号処理でサブブロックを復号する。
これにより、ブロックを、当該ブロックのジオメトリに基づく数のサブブロックに分割することができる。したがって、ブロック分割情報に係る符号量を削減することができ、圧縮効率を向上させることができる。さらに、サブブロックの数をブロックのジオメトリに依存させることができる。その結果、より効果的にブロックを分割することができ、圧縮効率を向上させることができる。
例えば、本実施の形態に係る復号装置において、ジオメトリは、少なくともブロックの形、高さ又は幅を示してもよい。
これにより、ジオメトリとして、ブロックの形及び/又はサイズを利用することができる。
例えば、本実施の形態に係る復号装置において、前記サブブロックの高さ及び幅の少なくとも一方は2のべき乗であってもよい。
これにより、サブブロックの高さ及び幅の少なくとも一方が2のべき乗となるように、ブロックを分割することができる。したがって、符号化に適したサイズのサブブロックを用いることができ、圧縮効率を向上させることができる。
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
以下に、映像を符号化する方法及び復号する方法を図23及び図24にそれぞれ示すとおり、実施の形態に従って説明する。
[符号化処理]
図23は、実施の形態8に係る映像符号化処理の一例を示す。
最初のステップS13001として、ブロックのジオメトリを読み出す。ここで、ジオメトリは、少なくともブロックの形、高さ又は幅を示す。図44に示すように、用いるジオメトリが異なれば、ブロック分割の結果である複数のサブブロックの形状、ブロック高、又はブロック幅も異なる。
次に、ステップS13002において、読み出したジオメトリが所定のジオメトリと等しいか否かを判定する。
読み出したジオメトリが所定のジオメトリと等しい場合(S13002のY)、ステップS13003において、ブロックを第1の数のサブブロックに分割する。読み出したジオメトリが所定のジオメトリと等しくない場合(S13002のN)、ステップS13004において、ブロックを第1の数と等しくない数のサブブロックに分割する。
例えば、図47Aの(a1)に示すように、ブロックのブロック幅が2のべき乗であれば、ブロック(例えば、32×32)を同じ大きさの4つのサブブロック(例えば、8×32)に縦分割できる。一方、図47Aの(a2)に示すように、ブロックのブロック幅が2のべき乗でなければ、ブロック(例えば、24×32)を同じ大きさの3つのサブブロック(例えば、8×32)に縦分割できる。
別の例として、図47Bの(b1)に示すように、ブロックのブロック幅及びブロック高の両方が2のべき乗であり、ブロック幅がブロック高の2倍であれば、ブロック(例えば、64×32)を等しい大きさの8つのサブブロック(例えば、16×16)に等分割できる。一方、図47Bの(b2)に示すように、ブロックのブロック幅及びブロック高の両方が2のべき乗であり、ブロック幅がブロック高と同じであれば、ブロック(例えば、32×32)を等しい大きさの4つのサブブロック(例えば、16×16)に等分割できる。
図47A〜図47Bのように、本実施の形態では、サブブロックの高さ及び幅の少なくとも一方が2のべき乗となる。なお、サブブロックの高さ及び/又は幅は、2のべき乗に限定されなくてもよい。
ステップS13005では、サブブロックを符号化処理で符号化する。ここで、この符号化処理には、変換処理及び/又は予測処理が含まれる。変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[符号化装置]
本実施の形態における映像/画像符号化装置の構造は、実施の形態2の図35と同様であるので、図示及び説明を省略する。
[復号処理]
図24は、実施の形態8に係る映像復号処理の一例を示す。
最初のステップS14001として、ブロックのジオメトリを読み出す。ここで、ジオメトリは、少なくともブロックの形、高さ又は幅を示す。図44に示すように、用いるジオメトリが異なれば、ブロック分割の結果である複数のサブブロックの形状、ブロック高、又はブロック幅も異なる。
次に、ステップS14002において、読み出したジオメトリが所定のジオメトリと等しいか否かを判定する。
読み出したジオメトリが所定のジオメトリと等しい場合(S14002のY)、ステップS14003において、ブロックを第1の数のサブブロックに分割する。読み出したジオメトリが所定のジオメトリと等しくない場合(S14002のN)、ステップS14004において、ブロックを第1の数と等しくない数のサブブロックに分割する。
例えば、図47Aの(a1)に示すように、ブロックのブロック幅が2のべき乗であれば、ブロック(例えば、32×32)を同じ大きさの4つのサブブロック(例えば、8×32)に縦分割できる。一方、図47Aの(a2)に示すように、ブロックのブロック幅が2のべき乗でなければ、ブロック(例えば、24×32)を同じ大きさの3つのサブブロック(例えば、8×32)に縦分割できる。
別の例として、図47Bの(b1)に示すように、ブロックのブロック幅及びブロック高の両方が2のべき乗であり、ブロック幅がブロック高の2倍であれば、ブロック(例えば、64×32)を等しい大きさの8つのサブブロック(例えば、16×16)に等分割できる。一方、図47Bの(b2)に示すように、ブロックのブロック幅及びブロック高の両方が2のべき乗であり、ブロック幅がブロック高と同じであれば、ブロック(例えば、32×32)を等しい大きさの4つのサブブロック(例えば、16×16)に等分割できる。
図47A〜図47Bのように、本実施の形態では、サブブロックの高さ及び幅の少なくとも一方が2のべき乗となる。なお、サブブロックの高さ及び/又は幅は、2のべき乗に限定されなくてもよい。
ステップS14005では、サブブロックを復号処理で復号する。ここで、この復号処理には、逆変換処理及び/又は予測処理が含まれる。逆変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[復号装置]
本実施の形態における映像/画像符号化装置の構造は、実施の形態2の図36と同様であるので、図示及び説明を省略する。
(実施の形態9)
[概要]
本実施の形態に係る符号化装置は、画像のブロックを符号化する符号化装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、パラメータをビットストリームに書き込み、書き込まれた前記パラメータが所定値と等しいか否かを判定し、書き込まれた前記パラメータが前記所定値と等しい場合に、前記ブロックを、第1の数のサブブロックに分割し、前記第1の数は、前記ブロックの分割が縦又は横の単一方向である場合に2よりも大きく、前記ブロックの分割が縦又は横の単一方向でない場合に3よりも大きく、書き込まれた前記パラメータが前記所定値と等しくない場合に、前記ブロックを、前記第1の数と等しくない第2の数のサブブロックに分割し、前記第2の数は、前記ブロックの分割が縦又は横の単一方向である場合に2よりも大きく、前記ブロックの分割が縦又は横の単一方向でない場合に3よりも大きく、変換処理及び/又は予測処理を含む符号化処理でサブブロックを符号化する。
これにより、パラメータが所定値と等しいか否かによって、分割後のサブブロックの数を切り替えることができる。
本実施の形態に係る復号装置は、画像のブロックを復号する復号装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、ビットストリームからパラメータを解析し、解析された前記パラメータが所定値と等しいか否かを判定し、解析された前記パラメータが前記所定値と等しい場合に、前記ブロックを、第1の数のサブブロックに分割し、前記第1の数は、前記ブロックの分割が縦又は横の単一方向である場合に2よりも大きく、前記ブロックの分割が縦又は横の単一方向でない場合に3よりも大きく、解析された前記パラメータが前記所定値と等しくない場合に、前記ブロックを、前記第1の数と等しくない第2の数のサブブロックに分割し、前記第2の数は、前記ブロックの分割が縦又は横の単一方向である場合に2よりも大きく、前記ブロックの分割が縦又は横の単一方向でない場合に3よりも大きく、逆変換処理及び/又は予測処理を含む復号処理でサブブロックを復号する。
これにより、パラメータが所定値と等しいか否かによって、分割後のサブブロックの数を切り替えることができる。
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
以下に、映像を符号化する方法及び復号する方法を図25及び図26にそれぞれ示すとおり、実施の形態に従って説明する。
[符号化処理]
図25は、実施の形態9に係る映像符号化処理の一例を示す。
最初のステップS15001として、パラメータがビットストリームに書き込まれる。図37は、圧縮映像ビットストリームにおける上記パラメータの書き込み可能な位置を示す。
次に、ステップS15002において、書き込まれたパラメータが所定値と等しいか否かを判定する。
書き込まれたパラメータが所定値と等しい場合(S15002のY)、ステップS15003において、ブロックを第1の数のサブブロックに分割する。ここで、第1の数は、ブロックの分割処理が縦又は横の一方向のものであれば、2より大きく、ブロックの分割処理が縦又は横の一方向のものでなければ、3より大きい。書き込まれたパラメータが所定値と等しくない場合(S15002のN)、ステップS15004において、ブロックを第1の数と等しくない第2の数のサブブロックに分割する。ここで、この第2の数は、ブロックの分割処理が縦又は横の一方向のものであれば、2より大きく、ブロックの分割処理が縦又は横の一方向のものでなければ、3より大きい。
例えば、32×32ブロックに対して、図48Aの(a1)に示すように、書き込まれたパラメータは、分割が四分木分割であること、及び分割には縦方向のみが含まれることを示すことができる。この場合、32×32ブロックは、4つの8×32サブブロックに分割される。
別の例として、32×32ブロックに対して、図48Aの(a2)に示すように、書き込まれたパラメータは、分割が三分木分割であること、分割が縦分割であること、及びサブブロックのブロック幅の割合が1:2:1であることを示すことができる。この場合、32×32ブロックは、8×32サブブロックと16×32サブブロックと8×32サブブロックとに分割される。
32×32ブロックに対して、例えば、図48Bの(b1)に示すように、書き込まれたパラメータは、分割が四分木分割であること、及び分割には横方向のみが含まれることを示すことができる。この場合、32×32ブロックは、4つの32×8サブブロックに分割される。
別の例として、32×32ブロックに対して、図48Bの(b2)に示すように、書き込まれたパラメータは、分割が三分木分割であること、分割が横分割であること、及びサブブロックのブロック高の割合が1:2:1であることを示すことができる。この場合、32×32ブロックは、32×8サブブロックと32×16サブブロックと32×8サブブロックとに分割される。
32×32ブロックに対して、例えば、図48Cの(c1)に示すように、書き込まれたパラメータは、分割が四分木分割であること、及び分割には縦横両方の方向が含まれることを示すことができる。この場合、32×32ブロックは、4つの16×16サブブロックに分割される。
別の例として、32×32ブロックに対して、図48Cの(c2)に示すように、書き込まれたパラメータは、分割が多分木分割であること、分割には縦横両方の方向が含まれること、及びサブブロックの数が16であることを示すことができる。この場合、32×32ブロックは、16個の8×8サブブロックに分割される。
ステップS15005では、サブブロックを符号化処理で符号化する。ここで、この符号化処理には、変換処理及び/又は予測処理が含まれる。変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[符号化装置]
本実施の形態における映像/画像符号化装置の構造は、実施の形態2の図35と同様であるので、図示及び説明を省略する。
[復号処理]
図26は、実施の形態9に係る映像復号処理の一例を示す。
最初のステップS16001として、ビットストリームからパラメータが解析される。図37は、圧縮映像ビットストリームにおける上記パラメータの解析可能な位置を示す。
次に、ステップS16002において、解析されたパラメータが所定値と等しいか否かを判定する。
解析されたパラメータが所定値と等しい場合(S16002のY)、ステップS16003において、ブロックを第1の数のサブブロックに分割する。ここで、第1の数は、ブロックの分割処理が縦又は横の一方向のものであれば、2より大きく、ブロックの分割処理が縦又は横の一方向のものでなければ、3より大きい。解析されたパラメータが所定値と等しくない場合(S16002のN)、ステップS16004において、ブロックを第1の数と等しくない第2の数のサブブロックに分割する。ここで、この第2の数は、ブロックの分割処理が縦又は横の一方向のものであれば、2より大きく、ブロックの分割処理が縦又は横の一方向のものでなければ、3より大きい。
例えば、32×32ブロックに対して、図48Aの(a1)に示すように、解析されたパラメータは、分割が四分木分割であること、及び分割には縦方向のみが含まれることを示すことができる。この場合、32×32ブロックは、4つの8×32サブブロックに分割される。
別の例として、32×32ブロックに対して、図48Aの(a2)に示すように、解析されたパラメータは、分割が三分木分割であること、分割が縦分割であること、及びサブブロックのブロック幅の割合が1:2:1であることを示すことができる。この場合、32×32ブロックは、8×32サブブロックと16×32サブブロックと8×32サブブロックとに分割される。
例えば、32×32ブロックに対して、図48Bの(b1)に示すように、解析されたパラメータは、分割が四分木分割であること、及び分割には横方向のみが含まれることを示すことができる。この場合、32×32ブロックは、4つの32×8サブブロックに分割される。
別の例として、32×32ブロックに対して、図48Bの(b2)に示すように、解析されたパラメータは、分割が三分木分割であること、分割が横分割であること、及びサブブロックのブロック高の割合が1:2:1であることを示すことができる。この場合、32×32ブロックは、32×8サブブロックと32×16サブブロック32×8サブブロックとに分割される。
例えば、32×32ブロックに対して、図48Cの(c1)に示すように、解析されたパラメータは、分割が四分木分割であること、及び分割には縦横両方の方向が含まれることを示すことができる。この場合、32×32ブロックは、4つの16×16サブブロックに分割される。
別の例として、32×32ブロックに対して、図48Cの(c2)に示すように、解析されたパラメータは、分割が多分木分割であること、分割には縦横両方の方向が含まれること、及びサブブロックの数が16であることを示すことができる。この場合、32×32ブロックは、16個の8×8サブブロックに分割される。
ステップS16005では、サブブロックを復号処理で復号する。ここで、この復号処理には、逆変換処理及び/又は予測処理が含まれる。逆変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[復号装置]
本実施の形態における映像/画像符号化装置の構造は、実施の形態2の図36と同様であるので、図示及び説明を省略する。
(実施の形態10)
[概要]
本実施の形態に係る符号化装置は、画像のブロックを符号化する符号化装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、パーティション候補選択パラメータをビットストリームに書き込み、書き込まれた前記パーティション候補選択パラメータを用いて、所定のブロック分割情報の大セットからブロック分割情報の小セットを選択し、パーティション選択パラメータをビットストリームに書き込み、書き込まれた前記パーティション選択パラメータを用いて、選択された前記ブロック分割情報の小セットのみからブロック分割情報を特定し、特定された前記ブロック分割情報が使用されれば、ブロックは、ジオメトリセットの複数のサブブロックに分割され、別のブロック分割情報が使用されれば、ブロックは、別のジオメトリセットの複数のサブブロックに分割され、特定された前記ブロック分割情報を用いて、ブロックを複数のサブブロックに分割し、変換処理及び/又は予測処理を含む符号化処理でサブブロックを符号化する。
これにより、2つのパラメータを用いて、所定のブロック分割情報のセットからブロック分割情報を段階的に選択することができる。したがって、ブロック分割情報の小セットが適切に分類されれば、効果的な選択が可能となる。その結果、ブロック分割情報に係る符号量を削減することができ、圧縮効率を向上させる。
例えば、本実施の形態に係る符号化装置において、ジオメトリは、少なくともブロックの形、高さ又は幅を示してもよい。
これにより、ジオメトリとして、ブロックの形及び/又はサイズを利用することができる。
本実施の形態に係る復号装置は、画像のブロックを復号する復号装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、ビットストリームからパーティション候補選択パラメータを解析し、解析された前記パーティション候補選択パラメータを用いて、所定のブロック分割情報の大セットからブロック分割情報の小セットを選択し、ビットストリームからパーティション選択パラメータを解析し、解析された前記パーティション選択パラメータを用いて、選択された前記ブロック分割情報の小セットのみからブロック分割情報を特定し、特定された前記ブロック分割情報が使用されれば、ブロックは、ジオメトリセットの複数のサブブロックに分割され、別のブロック分割情報が使用されれば、ブロックは、別のジオメトリセットの複数のサブブロックに分割され、特定された前記ブロック分割情報を用いて、ブロックを複数のサブブロックに分割し、逆変換処理及び/又は予測処理を含む復号処理でサブブロックを復号する。
これにより、2つのパラメータを用いて、所定のブロック分割情報のセットからブロック分割情報を段階的に選択することができる。したがって、ブロック分割情報の小セットが適切に分類されれば、効果的な選択が可能となる。その結果、ブロック分割情報に係る符号量を削減することができ、圧縮効率を向上させる。
例えば、本実施の形態に係る復号装置において、ジオメトリは、少なくともブロックの形、高さ又は幅を示してもよい。
これにより、ジオメトリとして、ブロックの形及び/又はサイズを利用することができる。
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
以下に、映像を符号化する方法及び復号する方法を図27及び図28にそれぞれ示すとおり、実施の形態に従って説明する。
[符号化処理]
図27は、実施の形態10に係る映像符号化処理の一例を示す。
最初のステップS17001として、パーティション候補選択パラメータがビットストリームに書き込まれる。図37は、圧縮映像ビットストリームにおけるパーティション候補選択パラメータの書き込み可能な位置を示す。
次に、ステップS17002において、書き込まれたパーティション候補選択パラメータを用いて、所定のブロック分割情報の大セットからブロック分割情報の小セットが選択される。
書き込まれたパーティション候補選択パラメータは、例えば、2以上のブロック分割情報セットからブロック分割情報セットを選択するためのインデックスを含むことができる。
ブロック分割情報は、用いる分割方法(縦分割、横分割、及び四分木分割等)ごとに異なるブロック分割情報のグループ(セット)に分類できる。例えば、図49Aに示すように、縦分割グループ(第1セット)、横分割グループ(第2セット)、及び四分木分割グループ(第3セット)の3つのブロック分割情報グループがある。縦分割グループは縦分割のみに対応し、横分割グループは横分割のみに対応し、四分木分割グループは四分木分割のみに対応する。インデックスの値が0であれば、縦分割グループが選択される。インデックスの値が1であれば、横分割グループが選択される。インデックスの値が2であれば、四分木分割グループが選択される。
符号化済みブロックのブロック分割情報も画像位置ごとに異なるブロック分割情報グループに分類できる。例えば、左上ブロック、上ブロック及び右上ブロックのブロック分割情報は、上ブロック分割グループ(第1セット)として分類できる。左下ブロック及び左ブロックのブロック分割情報は、左ブロック分割グループ(第2セット)として分類できる。同位置ブロック及び動き補償参照ブロックのブロック分割情報は、時間ブロック分割グループ(第3セット)として分類できる。インデックスの値が0であれば、上ブロック分割グループが選択される。インデックスの値が1であれば、左ブロック分割グループが選択される。インデックスの値が2であれば、時間ブロック分割グループが選択される。
別の例として、書き込まれたパーティション候補選択パラメータは、図49Bに示すように、ブロック分割情報セットから1以上の選択ブロック分割情報を選択するためのパラメータ/インデックスを含むことができる。
ブロック分割情報は、ブロックを横分割するか縦分割するかを示すパラメータセットであってもよい。ブロック分割情報は、ブロック内のすべてのサブブロックの所定ブロック幅及び所定ブロック高を含むパラメータセットであってもよい。また、ブロック分割情報は、所定のブロックパーティション構造候補リストから1つの分割構造候補を選択するためのインデックスを含むパラメータセットであってもよい。このとき、ブロックパーティション構造は、図38に示すように、ブロック内のすべてのサブブロックのジオメトリを視覚的に提示する。
ステップS17003において、パーティション選択パラメータがビットストリームに書き込まれる。図37は、圧縮映像ビットストリームにおけるパーティション選択パラメータの書き込み可能な位置を示す。
次に、ステップS17004において、書き込まれたパーティション選択パラメータを用いて、選択されたブロック分割情報のセットのみからブロック分割情報が特定される。ここで、特定されたブロック分割情報が用いられれば、ブロックはジオメトリセットの複数のサブブロックに分割されるが、別のブロック分割情報が用いられれば、ブロックは別のジオメトリセットの複数のサブブロックに分割される。
書き込まれたパーティション選択パラメータは、例えば、選択されたブロック分割情報の小セットから1つのブロック分割情報を選択するためのインデックスを含むことができる。
例えば、図49Aに示すように、ステップS17002において、縦分割グループ(第1セット)がブロック分割情報の小セットとして選択される。縦分割グループには、3つの異なるブロック分割情報に応じた3つの異なるブロックパーティション構造がある。インデックスの値が0であれば、縦分割グループの第1ブロックパーティション構造が特定される。インデックスの値が1であれば、縦分割グループの第2ブロックパーティション構造が特定される。インデックスの値が2であれば、縦分割グループの第3ブロックパーティション構造が特定される。
別の例では、ブロック分割情報の小セットとしてステップS17002で選択された上ブロック分割グループに左上ブロック、上ブロック、及び右上ブロックのブロック分割情報を分類する。インデックスの値が0であれば、左上ブロックのブロックパーティション構造が特定される。インデックスの値が1であれば、上ブロックのブロックパーティション構造が特定される。インデックスの値が2であれば、右上ブロックのブロックパーティション構造が特定される。
別の例として、書き込まれたパーティション選択パラメータは、初期ブロック分割情報からブロック分割情報を導出するための複数の分割/マージフラグ(split/merge flags)を含むことができる。
そして、ステップS17005において、ブロックは、特定されたブロック分割情報を用いて複数のサブブロックに分割される。
ステップS17006では、サブブロックは、符号化処理で符号化される。ここで、この符号化処理には、変換処理及び/又は予測処理が含まれる。変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[符号化装置]
本実施の形態における映像/画像符号化装置の構造は、実施の形態2の図35と同様であるので、図示及び説明を省略する。
[復号処理]
図28は、実施の形態10に係る映像復号処理の一例を示す。
最初のステップS18001として、ビットストリームからパーティション候補選択パラメータが解析される。図37は、圧縮映像ビットストリームにおけるパーティション候補選択パラメータの解析可能な位置を示す。
次に、ステップS18002において、解析されたパーティション候補選択パラメータを用いて、所定のブロック分割情報の大セットからブロック分割情報の小セットが選択される。
解析されたパーティション候補選択パラメータは、例えば、2以上のブロック分割情報セットからブロック分割情報セットを選択するためのインデックスを含むことができる。
ブロック分割情報は、用いる分割方法(縦分割、横分割、及び四分木分割等)ごとに異なるブロック分割情報のグループ(セット)に分類できる。例えば、図49Aに示すように、縦分割グループ(第1セット)、横分割グループ(第2セット)、及び四分木分割グループ(第3セット)の3つのブロック分割情報グループがある。縦分割グループは縦分割のみに対応し、横分割グループは横分割のみに対応し、四分木分割グループは四分木分割のみに対応する。インデックスの値が0であれば、縦分割グループが選択される。インデックスの値が1であれば、横分割グループが選択される。インデックスの値が2であれば、四分木分割グループが選択される。
復号済みブロックのブロック分割情報も画像位置ごとに異なるブロック分割情報グループに分類できる。例えば、左上ブロック、上ブロック及び右上のブロックのブロック分割情報は、上ブロック分割グループ(第1セット)として分類できる。左下ブロック及び左ブロックのブロック分割情報は、左ブロック分割グループ(第2セット)として分類できる。同位置ブロック及び動き補償参照ブロックのブロック分割情報は、時間ブロック分割グループ(第3セット)として分類できる。インデックスの値が0であれば、上ブロック分割グループが選択される。インデックスの値が1であれば、左ブロック分割グループが選択される。インデックスの値が2であれば、時間ブロック分割グループが選択される。
別の例として、解析されたパーティション候補選択パラメータは、図49Bに示すように、ブロック分割情報セットから1以上の選択ブロック分割情報を選択するためのパラメータ/インデックスを含むことができる。
ブロック分割情報は、ブロックを横分割するか縦分割するかを示すパラメータセットであってもよい。ブロック分割情報は、ブロック内のすべてのサブブロックの所定ブロック幅及び所定ブロック高を含むパラメータセットであってもよい。また、ブロック分割情報は、所定のブロックパーティション構造候補リストから1つの分割構造候補を選択するためのインデックスを含むパラメータセットであってもよい。このとき、ブロックパーティション構造は、図38に示すように、ブロック内のすべてのサブブロックのジオメトリを視覚的に提示する。
ステップS18003において、ビットストリームからパーティション選択パラメータが解析される。図37は、圧縮映像ビットストリームにおけるパーティション選択パラメータの解析可能な位置を示す。
次に、ステップS18004において、解析されたパーティション選択パラメータを用いて、選択されたブロック分割情報の小セットのみからブロック分割情報が特定される。ここで、特定されたブロック分割情報が用いられれば、ブロックはジオメトリセットの複数のサブブロックに分割されるが、別のブロック分割情報が用いられれば、ブロックは別のジオメトリセットの複数のサブブロックに分割される。
解析されたパーティション選択パラメータは、例えば、選択されたブロック分割情報の小セットから1つのブロック分割情報を選択するためのインデックスを含むことができる。
例えば、図49Aに示すように、ステップS18002において、縦分割グループ(第1セット)がブロック分割情報の小セットとして選択される。縦分割グループには、3つの異なるブロック分割情報に応じた3つの異なるブロックパーティション構造がある。インデックスの値が0であれば、縦分割グループの第1ブロックパーティション構造が特定される。インデックスの値が1であれば、縦分割グループの第2ブロックパーティション構造が特定される。インデックスの値が2であれば、縦分割グループの第3ブロックパーティション構造が特定される。
別の例では、ブロック分割情報の小セットとしてステップS18002で選択された上ブロック分割グループに左上ブロック、上ブロック、及び右上ブロックのブロック分割情報が分類される。インデックスの値が0であれば、左上ブロックのブロックパーティション構造が特定される。インデックスの値が1であれば、上ブロックのブロックパーティション構造が特定される。インデックスの値が2であれば、右上ブロックのブロックパーティション構造が特定される。
別の例として、解析されたパーティション選択パラメータは、初期ブロック分割情報からブロック分割情報を導出するための複数の分割/マージフラグ(split/merge flags)を含むことができる。
そして、ステップS18005において、特定されたブロック分割情報を用いてブロックが複数のサブブロックに分割される。
ステップS18006では、サブブロックが復号処理で復号される。ここで、この復号処理には、逆変換処理及び/又は予測処理が含まれる。逆変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[復号装置]
本実施の形態における映像/画像符号化装置の構造は、実施の形態2の図36と同様であるので、図示及び説明を省略する。
(実施の形態11)
[概要]
本実施の形態に係る符号化装置は、画像のブロックを符号化する符号化装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、パラメータをビットストリームに書き込み、1以上の符号化済みブロックからブロック情報を読み出し、読み出された前記ブロック情報を用いて、所定のブロック分割情報の大セットからブロック分割情報の小セットを選択し、書き込まれた前記パラメータを用いて、選択された前記ブロック分割情報の小セットのみからブロック分割情報を特定し、特定された前記ブロック分割情報が使用されれば、ブロックは、ジオメトリセットの複数のサブブロックに分割され、別のブロック分割情報が使用されれば、ブロックは、別のジオメトリセットの複数のサブブロックに分割され、特定された前記ブロック分割情報を用いて、カレントブロックを複数のサブブロックに分割し、変換処理及び/又は予測処理を含む符号化処理でサブブロックを符号化する。
これにより、符号化済みブロックのブロック情報により、所定のブロック分割情報から選択可能なブロック分割情報を絞り込むことができ、ブロック分割情報を選択するためのパラメータの符号量を削減することができる。その結果、圧縮効率を向上させることができる。
例えば、本実施の形態に係る符号化装置において、ジオメトリは、少なくともブロックの形、高さ又は幅を示してもよい。
これにより、ジオメトリとして、ブロックの形及び/又はサイズを利用することができる。
例えば、本実施の形態に係る符号化装置において、前記カレントブロック及び前記1以上の符号化済みブロックは互いに異なるブロックであり、前記1以上の符号化済みブロックのうちの少なくとも1つは、前記カレントブロックと同じフレーム、又は、前記カレントブロックのフレームと異なる他のフレームに含まれてもよい。
これにより、互いに異なる1以上の符号化済みブロックからブロック情報を読み出すことができ、より適切なブロック分割情報の小セットを選択することができる。その結果、ブロック分割情報に係る符号量を削減して、圧縮効率を向上させることができる。
例えば、本実施の形態に係る符号化装置において、読み出された前記ブロック情報は、ブロックパーティション構造、イントラ予測モード又はインター予測モード、イントラ予測方向、動きベクトル、参照ピクチャ、量子化パラメータ、及び、分割深さに関する情報のうちの少なくとも1つを含んでもよい。
これにより、ブロック情報として、ブロック分割情報の小セットの選択により適した情報を用いることができる。
本実施の形態に係る復号装置は、画像のブロックを復号する復号装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、ビットストリームからパラメータを解析し、1以上の復号済みブロックからブロック情報を読み出し、読み出された前記ブロック情報を用いて、所定のブロック分割情報の大セットからブロック分割情報の小セットを選択し、解析された前記パラメータを用いて、選択された前記ブロック分割情報の小セットのみからブロック分割情報を特定し、特定された前記ブロック分割情報が使用されれば、ブロックは、ジオメトリセットの複数のサブブロックに分割され、別のブロック分割情報が使用されれば、ブロックは、別のジオメトリセットの複数のサブブロックに分割され、特定された前記ブロック分割情報を用いて、カレントブロックを複数のサブブロックに分割し、逆変換処理及び/又は予測処理を含む復号処理でサブブロックを復号する。
これにより、復号済みブロックのブロック情報により、所定のブロック分割情報から選択可能なブロック分割情報を絞り込むことができ、ブロック分割情報を選択するためのパラメータの符号量を削減することができる。その結果、圧縮効率を向上させることができる。
例えば、本実施の形態に係る復号装置において、ジオメトリは、少なくともブロックの形、高さ又は幅を示してもよい。
これにより、ジオメトリとして、ブロックの形及び/又はサイズを利用することができる。
例えば、本実施の形態に係る復号装置において、前記カレントブロック及び前記1以上の復号済みブロックは互いに異なるブロックであり、前記1以上の復号済みブロックのうちの少なくとも1つは、前記カレントブロックと同じフレーム、又は、前記カレントブロックのフレームと異なる他のフレームに含まれてもよい。
これにより、互いに異なる1以上の復号済みブロックからブロック情報を読み出すことができ、より適切なブロック分割情報の小セットを選択することができる。その結果、ブロック分割情報に係る符号量を削減して、圧縮効率を向上させることができる。
例えば、本実施の形態に係る復号装置において、読み出された前記ブロック情報は、ブロックパーティション構造、イントラ予測モード又はインター予測モード、イントラ予測方向、動きベクトル、参照ピクチャ、量子化パラメータ、及び、分割深さに関する情報のうちの少なくとも1つを含んでもよい。
これにより、ブロック情報として、ブロック分割情報の小セットの選択により適した情報を用いることができる。
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
映像を符号化する方法及び復号する方法を図29及び図30にそれぞれ示すとおり、実施の形態に従って説明する。
[符号化処理]
図29は、実施の形態11に係る映像符号化処理の一例を示す。
最初のステップS19001として、パラメータがビットストリームに書き込まれる。図37は、圧縮映像ビットストリームにおけるパラメータの書き込み可能な位置を示す。
次に、ステップS19002において、1以上の符号化済みブロックからブロック情報(例えば、位置、ブロックパーティション構造、イントラ予測モード又はインター予測モード、イントラ予測方向、動きベクトル、参照ピクチャ、量子化パラメータ、及び分割深さ)が読み出される。
ステップS19003において、読み出されたブロック情報を用いて、所定のブロック分割情報の大セットからブロック分割情報の小セットが選択される。
例えば、読み出されたブロック情報を用いて、まず、予測ブロック分割情報を導出することができる。そして、所定のブロック分割情報の大セットから、予測ブロック分割情報と類似のブロックパーティション構造を有するブロック分割情報が選択され、ブロック分割情報の小セットに追加される。これらのブロック分割情報の選択において、例えば、予測ブロック分割情報が縦分割のみを使用することを示していれば、縦分割のみのブロックパーティション構造が選択される(図49Aの第1セット)。これらのブロック分割情報の選択において、例えば、予測ブロック分割情報が横分割のみを使用することを示していれば、横分割のみのブロックパーティション構造が選択される(図49Aの第2セット)。別の例としては、これらのブロック分割情報の選択において、図50に示すように、予測ブロック分割情報に応じたブロックパーティション構造と同じ/類似のジオメトリを有するブロックパーティション構造が選択される。
ブロック分割情報は、ブロックを横分割するか縦分割するかを示すパラメータセットであってもよい。また、ブロック分割情報は、ブロック内のすべてのサブブロックの所定ブロック幅及び所定ブロック高を含むパラメータセットであってもよい。ブロック分割情報は、所定のブロックパーティション構造候補リストから1つの分割構造候補を選択するためのインデックスを含むパラメータセットであってもよい。このとき、ブロックパーティション構造は、図38に示すように、ブロック内のすべてのサブブロックのジオメトリを視覚的に提示する。
カレントブロックの予測ブロックパーティション構造としては、符号化済みブロックのブロックパーティション構造をそのまま使用することができる。
2以上の符号化済みブロックのブロックパーティション構造を組み合わせて(例えば、図39のように、上半分は、上ブロックのブロックパーティション構造を用い、残りの半分は、左ブロックのブロックパーティション構造を用いる)、新たなブロックパーティション構造をカレントブロックの予測ブロックパーティション構造として導出することもできる。符号化済みブロックの選択方法としては、一例として、カレントブロックと同じイントラ/インター予測モードの符号化済みブロックを選択する方法がある。具体的には、カレントブロックがインター予測ブロックであれば、インター予測を用いて符号化された1以上の符号化済みブロックが選択される。
符号化済みブロックのブロックパーティション構造を修正し(例えば、図40に示すように、分割深さがより浅いブロックパーティション構造を使用し)、新たなブロックパーティション構造をカレントブロックの予測ブロックパーティション構造として導出することもできる。
予測ブロック分割情報は、符号化済みブロックのイントラ予測方向の情報ごとに違ってもよい。例えば、カレントブロックをより小さなブロックに縦分割するか横分割するかを予測するために、特定の隣接ブロック位置におけるイントラ予測方向の情報が使用されてもよい。例えば、上隣接ブロックのイントラ予測方向の情報が縦方向又は縦方向に近いと判定されれば、カレントブロックのために、縦分割を含むブロック分割情報を予測できる。同様に、左隣接ブロックのイントラ予測方向の情報が横方向又は横方向に近いと判定されれば、カレントブロックのために、横分割を含むブロック分割情報を予測できる。
ブロック分割情報は、符号化済みブロックのイントラ/インター予測モードに従って予測されてもよい。例えば、符号化済みブロックの予測モードがイントラ予測モードである場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。また例えば、符号化済みブロックの予測モードがインター予測モードである場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、符号化済みブロックの動きベクトルに従って予測されてもよい。例えば、符号化済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値より大きい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。一方、符号化済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値以下の場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、符号化済みブロックの量子化パラメータに従って予測されてもよい。例えば、符号化済みブロックの量子化パラメータの値が所定値より小さい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。また例えば、符号化済みブロックの量子化パラメータの値が所定値以上の場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、符号化済みブロックの参照ピクチャ情報に従って予測されてもよい。例えば、符号化済みブロックの参照ピクチャがカレントピクチャに時間的に近い場合、又は、複数の符号化済みブロックの複数の参照ピクチャが互いに類似している場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。符号化済みブロックの参照ピクチャがカレントピクチャに時間的に近くない場合又は複数の符号化済みブロックの複数の参照ピクチャが互いに類似していない場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、符号化済みブロックの分割深さに従って予測されてもよい。例えば、符号化済みブロックの分割深さが所定値(例えば4)より大きい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。符号化済みブロックの分割深さが所定値以下の場合(例えば分割深さが2に等しい場合)、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、カレントフレームと異なるフレームの符号化済みブロックの分割情報に従って予測されてもよい。例えば、カレントブロックのためのブロック分割情報(スプリット情報を含む)又はカレントブロックのスプリット情報は、カレントフレームと異なる符号化済みフレームの符号化済みブロック(例えば、同位置ブロック(collocated block)、直前の符号化済みブロック(last encoded block)、又は動きベクトルで特定される符号化済みブロック等)から予測できる。
符号化済みブロックのブロック分割情報も画像位置ごとに異なるブロック分割情報グループに分類できる。例えば、左上ブロック、上ブロック及び右上ブロックのブロック分割情報は、上ブロック分割グループ(第1セット)として分類できる。左下ブロック及び左ブロックのブロック分割情報は、左ブロック分割グループ(第2セット)として分類できる。同位置ブロック及び動き補償参照ブロックのブロック分割情報は、時間ブロック分割グループ(第3セット)として分類できる。インデックスの値が0であれば、上ブロック分割グループが選択される。インデックスの値が1であれば、左ブロック分割グループが選択される。インデックスの値が2であれば、時間ブロック分割グループが選択される。
次に、ステップS19004において、書き込まれたパラメータを用いて、選択されたブロック分割情報の小セットのみからブロック分割情報が特定される。ここで、特定されたブロック分割情報が用いられれば、ブロックはジオメトリセットの複数のサブブロックに分割されるが、別のブロック分割情報が用いられれば、ブロックは別のジオメトリセットの複数のサブブロックに分割される。書き込まれたパラメータは、例えば、選択されたブロック分割情報の小セットから1つのブロック分割情報を選択するためのインデックスを含むことができる。
例えば、左上ブロック、上ブロック、及び右上ブロックのブロック分割情報は、ブロック分割情報の小セットとしてステップS19003で選択された上ブロック分割グループに分類される。インデックスの値が0であれば、左上ブロックのブロックパーティション構造が特定される。インデックスの値が1であれば、上ブロックのブロックパーティション構造が特定される。インデックスの値が2であれば、右上ブロックのブロックパーティション構造が特定される。
別の例として、書き込まれたパラメータは、初期ブロック分割情報からブロック分割情報を導出するための複数の分割/マージフラグ(split/merge flags)を含むことができる。
そして、ステップS19005において、特定されたブロック分割情報を用いてブロックが複数のサブブロックに分割される。
ステップS19006では、サブブロックが符号化処理で符号化される。ここで、この符号化処理には、変換処理及び/又は予測処理が含まれる。変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[符号化装置]
本実施の形態における映像/画像符号化装置の構造は、実施の形態2の図35と同様であるので、図示及び説明を省略する。
[復号処理]
図30は、実施の形態11に係る映像復号処理の一例を示す。
最初のステップS20001として、ビットストリームからパラメータが解析される。図37は、圧縮映像ビットストリームにおけるパラメータの解析可能な位置を示す。
次に、ステップS20002において、1以上の符号化済みブロックからブロック情報(例えば、位置、ブロックパーティション構造、イントラ予測モード又はインター予測モード、イントラ予測方向、動きベクトル、参照ピクチャ、量子化パラメータ、及び分割深さ)が読み出される。
ステップS20003において、読み出されたブロック情報を用いて、所定のブロック分割情報の大セットからブロック分割情報の小セットが選択される。
例えば、読み出されたブロック情報を用いて、まず、予測ブロック分割情報を導出することができる。そして、所定のブロック分割情報の大セットから、予測ブロック分割情報と類似のブロックパーティション構造を有するブロック分割情報が選択され、ブロック分割情報の小セットに追加される。これらのブロック分割情報の選択において、例えば、予測ブロック分割情報が縦分割のみを使用することを示していれば、縦分割のみのブロックパーティション構造が選択される(図49Aの第1セット)。これらのブロック分割情報の選択において、例えば、予測ブロック分割情報が横分割のみを使用することを示していれば、横分割のみのブロックパーティション構造が選択される(図49Aの第2セット)。別の例としては、これらのブロック分割情報の選択において、図50に示すように、予測ブロック分割情報に応じたブロックパーティション構造と同じ/類似のジオメトリを有するブロックパーティション構造が選択される。
ブロック分割情報は、ブロックを横分割するか縦分割するかを示すパラメータセットであってもよい。また、ブロック分割情報は、ブロック内のすべてのサブブロックの所定ブロック幅及び所定ブロック高を含むパラメータセットであってもよい。ブロック分割情報は、所定のブロックパーティション構造候補リストから1つの分割構造候補を選択するためのインデックスを含むパラメータセットであってもよい。このとき、ブロックパーティション構造は、図38に示すように、ブロック内のすべてのサブブロックのジオメトリを視覚的に提示する。
カレントブロックの予測ブロックパーティション構造としては、復号済みブロックのブロックパーティション構造をそのまま使用することができる。
2以上の復号済みブロックのブロックパーティション構造を組み合わせて(例えば、図39のように、上半分は、上ブロックのブロックパーティション構造を用い、残りの半分は、左ブロックのブロックパーティション構造を用いる)、新たなブロックパーティション構造をカレントブロックの予測ブロックパーティション構造として導出することもできる。復号済みブロックの選択方法としては、一例として、カレントブロックと同じイントラ/インター予測モードの復号済みブロックを選択する方法がある。具体的には、カレントブロックがインター予測ブロックであれば、インター予測を用いて復号された1以上の復号済みブロックが選択される。
復号済みブロックのブロックパーティション構造を修正し(例えば、図40に示すように、分割深さがより浅いブロックパーティション構造を使用し)、新たなブロックパーティション構造をカレントブロックの予測ブロックパーティション構造として導出することもできる。
予測ブロック分割情報は、復号済みブロックのイントラ予測方向の情報ごとに違ってもよい。例えば、カレントブロックをより小さなブロックに縦分割するか横分割するかを予測するために、特定の隣接ブロック位置におけるイントラ予測方向の情報が使用されてもよい。例えば、上隣接ブロックのイントラ予測方向の情報が縦方向又は縦方向に近いと判定されれば、カレントブロックのために、縦分割を含むブロック分割情報を予測できる。同様に、左隣接ブロックのイントラ予測方向の情報が横方向又は横方向に近いと判定されれば、カレントブロックのために、横分割を含むブロック分割情報を予測できる。
ブロック分割情報は、復号済みブロックのイントラ/インター予測モードに従って予測されてもよい。例えば、復号済みブロックの予測モードがイントラ予測モードである場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。また例えば、復号済みブロックの予測モードがインター予測モードである場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、復号済みブロックの動きベクトルに従って予測されてもよい。例えば、復号済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値より大きい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。一方、復号済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値以下の場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、復号済みブロックの量子化パラメータに従って予測されてもよい。例えば、復号済みブロックの量子化パラメータの値が所定値より小さい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。また例えば、復号済みブロックの量子化パラメータの値が所定値以上の場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、復号済みブロックの参照ピクチャ情報に従って予測されてもよい。例えば、復号済みブロックの参照ピクチャがカレントピクチャに時間的に近い場合又は複数の復号済みブロックの複数の参照ピクチャが互いに類似している場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。復号済みブロックの参照ピクチャがカレントピクチャに時間的に近くない場合又は複数の復号済みブロックの複数の参照ピクチャが互いに類似していない場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、復号済みブロックの分割深さに従って予測されてもよい。例えば、復号済みブロックの分割深さが所定値(例えば4)より大きい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。復号済みブロックの分割深さが所定値以下の場合(例えば分割深さが2に等しい場合)、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、カレントフレームと異なるフレームの復号済みブロックの分割情報に従って予測されてもよい。例えば、カレントブロックのためのブロック分割情報(スプリット情報を含む)又はカレントブロックのスプリット情報は、カレントフレームと異なる復号済みフレームの復号済みブロック(例えば、同位置ブロック(collocated block)、最後の復号済みブロック(last decoded block)、又は動きベクトルで特定される復号済みブロック等)から予測できる。
復号済みブロックのブロック分割情報も画像位置ごとに異なるブロック分割情報グループに分類できる。例えば、左上ブロック、上ブロック及び右上ブロックのブロック分割情報は、上ブロック分割グループ(第1セット)として分類できる。左下ブロック及び左ブロックのブロック分割情報は、左ブロック分割グループ(第2セット)として分類できる。同位置ブロック及び動き補償参照ブロックのブロック分割情報は、時間ブロック分割グループ(第3セット)として分類できる。インデックスの値が0であれば、上ブロック分割グループが選択される。インデックスの値が1であれば、左ブロック分割グループが選択される。インデックスの値が2であれば、時間ブロック分割グループが選択される。
次に、ステップS20004において、解析されたパラメータを用いて、選択されたブロック分割情報の小セットのみからブロック分割情報が特定される。ここで、特定されたブロック分割情報が用いられれば、ブロックはジオメトリセットの複数のサブブロックに分割されるが、別のブロック分割情報が用いられれば、ブロックは別のジオメトリセットの複数のサブブロックに分割される。
解析されたパーティション選択パラメータは、例えば、選択されたブロック分割情報の小セットから1つのブロック分割情報を選択するためのインデックスを含むことができる。
例えば、左上ブロック、上ブロック、及び右上ブロックのブロック分割情報は、ブロック分割情報の小セットとしてステップS20003で選択された上ブロック分割グループに分類される。インデックスの値が0であれば、左上ブロックのブロックパーティション構造が特定される。インデックスの値が1であれば、上ブロックのブロックパーティション構造が特定される。インデックスの値が2であれば、右上ブロックのブロックパーティション構造が特定される。
別の例として、解析されたパーティション選択パラメータは、初期ブロック分割情報からブロック分割情報を導出するための複数の分割/マージフラグ(split/merge flags)を含むことができる。
そして、ステップS20005において、特定されたブロック分割情報を用いてブロックが複数のサブブロックに分割される。
ステップS20006では、サブブロックが復号処理で復号される。ここで、この復号処理には、逆変換処理及び/又は予測処理が含まれる。逆変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[復号装置]
本実施の形態における映像/画像符号化装置の構造は、実施の形態2の図36と同様であるので、図示及び説明を省略する。
(実施の形態12)
[概要]
本実施の形態に係る符号化装置は、画像のブロックを符号化する符号化装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、リスト修正パラメータをビットストリームに書き込み、書き込まれた前記リスト修正パラメータを用いて、所定ブロック分割情報リストを修正ブロック分割情報リストに修正し、パーティション選択パラメータをビットストリームに書き込み、書き込まれた前記パーティション選択パラメータを用いて、前記修正ブロック分割情報リストのみから、ブロックを複数のサブブロックに分割することとなるブロック分割情報を選択し、選択された前記ブロック分割情報を用いて、ブロックを複数のサブブロックに分割し、変換処理及び/又は予測処理を含む符号化処理で前記複数のサブブロックに含まれるサブブロックを符号化する。
これにより、ビットストリーム内のリスト修正パラメータを用いて、所定ブロック分割情報リストを修正することができる。したがって、ブロック分割情報に係る符号量を削減することができ、圧縮効率を向上させることができる。
例えば、本実施の形態に係る符号化装置において、前記所定ブロック分割情報リストの修正では、所定ブロック分割情報リストを並べ替えて修正ブロック分割情報を生成し、前記パーティション選択パラメータは、リスト順が遅いブロック分割情報よりもリスト順が早いブロック分割情報の方が少ないビットで符号化されてもよい。
これにより、ビットストリーム内のリスト修正パラメータを用いて、所定ブロック分割情報リストを並べ替えることができる。したがって、選択される可能性が高いブロック分割情報をリストの上位に配置することが容易となり、ブロック分割情報に係る符号量を削減することができる。
例えば、本実施の形態に係る符号化装置において、前記所定ブロック分割情報リストの修正では、前記所定ブロック分割情報リストに追加ブロック分割情報を挿入して、より長いブロック分割情報リストを生成してもよい。
これにより、ビットストリーム内のリスト修正パラメータを用いて、所定ブロック分割情報リストに追加ブロック分割情報を挿入することができる。したがって、ブロック分割に適したブロック分割情報をリストに追加することが容易となり、圧縮効率を向上させることができる。
本実施の形態に係る復号装置は、画像のブロックを復号する復号装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、ビットストリームからリスト修正パラメータを解析し、解析された前記リスト修正パラメータを用いて、所定ブロック分割情報リストを修正ブロック分割情報リストに修正し、ビットストリームからパーティション選択パラメータを解析し、解析された前記パーティション選択パラメータを用いて、前記修正ブロック分割情報リストのみから、ブロックを複数のサブブロックに分割することとなるブロック分割情報を選択し、選択された前記ブロック分割情報を用いて、ブロックを複数のサブブロックに分割し、逆変換処理及び/又は予測処理を含む復号処理で前記複数のサブブロックに含まれるサブブロックを復号する。
これにより、ビットストリーム内のリスト修正パラメータを用いて、所定ブロック分割情報リストを修正することができる。したがって、ブロック分割情報に係る符号量を削減することができ、圧縮効率を向上させることができる。
例えば、本実施の形態に係る復号装置において、前記所定ブロック分割情報リストの修正では、所定ブロック分割情報リストを並べ替えて修正ブロック分割情報を生成し、前記パーティション選択パラメータは、リスト順が遅いブロック分割情報よりもリスト順が早いブロック分割情報の方が少ないビットで符号化されてもよい。
これにより、ビットストリーム内のリスト修正パラメータを用いて、所定ブロック分割情報リストを並べ替えることができる。したがって、選択される可能性が高いブロック分割情報をリストの上位に配置することが容易となり、ブロック分割情報に係る符号量を削減することができる。
例えば、本実施の形態に係る復号装置において、前記所定ブロック分割情報リストの修正では、前記所定ブロック分割情報リストに追加ブロック分割情報を挿入して、より長いブロック分割情報リストを生成してもよい。
これにより、ビットストリーム内のリスト修正パラメータを用いて、所定ブロック分割情報リストに追加ブロック分割情報を挿入することができる。したがって、ブロック分割に適したブロック分割情報をリストに追加することが容易となり、圧縮効率を向上させることができる。
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
以下に、映像を符号化する方法及び復号する方法を図31及び図32にそれぞれ示すとおり、実施の形態に従って説明する。
[符号化処理]
図31は、実施の形態12に係る映像符号化処理の一例を示す。
最初のステップS21001として、リスト修正パラメータがビットストリームに書き込まれる。図37は、圧縮映像ビットストリームにおけるパラメータの書き込み可能な位置を示す。
次に、ステップS21002において、書き込まれたリスト修正パラメータを用いて所定ブロック分割情報リストが修正ブロック分割情報リストに修正される。この修正は、例えば、所定ブロック分割情報リストを並び替えて修正ブロック分割情報リストを生成する処理であってもよい。ここでは、リスト順が遅い方のブロック分割情報よりもリスト順が早い方のブロック分割情報の方が少ないビットでパーティション選択パラメータが符号化される。並び替えによって、図51に示すように、選択されたブロック分割情報のリスト順が早まり、パーティション選択パラメータの符号化ビットが減少する。
リストの並び替えのために、例えば、リストを異なるブロック分割情報グループ(例えば、縦分割グループ、横分割グループ、四分木分割グループ、及び、あらゆるブロック分割情報を含む全分割グループ)に分類するとよい。これらのブロック分割情報グループを並び替えることで、図52に示すようにリストが並び替えられる。この例では、リスト修正パラメータは、修正ブロック分割情報リストにおける各ブロック分割グループの順番を示すパラメータを含むことができる。
カレントブロックのジオメトリを利用することで、各グループのブロック分割情報に黙示的に制限を加えることができる。例えば、ブロック幅及びブロック高が2のべき乗となる分割しか利用できないようにできる。これらのブロック分割情報の場合、サブブロックの幅又はサブブロックの高さが2のべき乗にならないものは、そのグループで使用されない。
別の例として、修正は、所定ブロック分割情報リストに追加のブロック分割情報を挿入することで、より長いブロック分割情報リストを作成する処理であってもよい。最も利用可能性が高いブロック分割情報をリストの先頭に挿入すると、パーティション選択パラメータの符号化ビットは少なくなる。ここでは、リスト順が遅い方のブロック分割情報よりもリスト順が早い方のブロック分割情報の方が少ないビットでパーティション選択パラメータが符号化される。
別の例として、修正は、所定ブロック分割情報リストからブロック分割情報を削除することで、より短いブロック分割情報リストを作成する処理であってもよい。最も利用可能性が高いブロック分割情報より前にある利用可能性が低いブロック分割情報を削除すると、パーティション選択パラメータの符号化ビットは少なくなる。ここでは、リスト順が遅い方のブロック分割情報よりもリスト順が早い方のブロック分割情報の方が少ないビットでパーティション選択パラメータが符号化される。
並び替え処理、挿入処理、及び削除処理は組み合わせられてもよい(並び替え及び挿入、又は並び替え及び削除、又は挿入及び削除、又は並び替え、挿入、及び削除等)。
カレントブロックのジオメトリを利用することで、ブロック分割情報リストにおけるブロック分割情報に黙示的に制限を加えることができる。例えば、ブロック幅及びブロック高が2のべき乗となる分割しか利用できないようにできる。これらのブロック分割情報の場合、サブブロックの幅又はサブブロックの高さが2のべき乗にならないものは、そのリストで使用されない。
リスト修正パラメータは、例えば、修正が必要でないことを示すこともできる。修正が必要でなければ、ステップS21002は省略できる。よって、修正ブロック分割情報リストは、ステップS21003に行く以前に所定ブロック分割情報リストと同一である。
ステップS21003において、パーティション選択パラメータがビットストリームに書き込まれる。図37は、圧縮映像ビットストリームにおけるパラメータの書き込み可能な位置を示す。
次に、ステップS21004において、書き込まれたパーティション選択パラメータを用いて、修正ブロック分割情報リストのみからブロック分割情報が選択される。ここで選択されたブロック分割情報を用いてブロックが複数のサブブロックに分割される。書き込まれたパーティション選択パラメータは、例えば、所定ブロック分割情報リストから1つのブロック分割情報を選択するためのインデックスを含むことができる。別の例として、書き込まれたパーティション選択パラメータは、初期ブロック分割情報からブロック分割情報を導出するための複数の分割/マージフラグ(split/merge flags)を含むことができる。
パーティション選択パラメータの符号化ビット及びその意味は、選択されたブロック分割情報に応じて異なる。例えば、選択されたブロック分割情報によって横分割のみが生じる場合、分割が横分割であるか縦分割であるかを示す必要はなく、ブロックを分けるということだけで、図53に示すようにブロックを横分割することを意味する。一方、選択されたブロック分割情報によって縦分割のみが生じる場合、分割が横分割であるか縦分割であるかを示す必要はなく、ブロックを分けるということだけで、ブロックを縦分割することを意味する。
ステップS21005において、選択されたブロック分割情報を用いてブロックが複数のサブブロックに分割される。選択されたブロック分割情報は、例えば、ブロックをサブブロックに分割するために使用される最終ブロック分割情報となり得る。別の例として、選択されたブロック分割情報は、予測ブロック分割情報又は初期ブロック分割情報であってもよい。予測ブロック分割情報又は初期ブロック分割情報に基づいて、ブロックをサブブロックに分割するための最終ブロック分割情報が導出される。
ステップS21006では、複数のサブブロックに含まれるサブブロックが符号化処理で符号化される。ここで、この符号化処理には、変換処理及び/又は予測処理が含まれる。変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[符号化装置]
本実施の形態における映像/画像符号化装置の構造は、実施の形態2の図35と同様であるので、図示及び説明を省略する。
[復号処理]
図32は、実施の形態12に係る映像復号処理の一例を示す。
最初のステップS22001として、ビットストリームからリスト修正パラメータが解析される。図37は、圧縮映像ビットストリームにおけるパラメータの解析可能な位置を示す。
次に、ステップS22002において、解析されたリスト修正パラメータを用いて所定ブロック分割情報リストが修正ブロック分割情報リストに修正される。この修正は、例えば、所定ブロック分割情報リストを並び替えて修正ブロック分割情報リストを生成する処理であってもよい。ここでは、リスト順が遅い方のブロック分割情報よりもリスト順が早い方のブロック分割情報の方が少ないビットでパーティション選択パラメータが復号される。並び替えることによって、図51に示すように、選択されたブロック分割情報のリスト順が早まり、パーティション選択パラメータの復号ビットが減少する。
リストの並び替えのために、例えば、リストを異なるブロック分割情報グループ(例えば、縦分割グループ、横分割グループ、四分木分割グループ、及び、あらゆるブロック分割情報を含む全分割グループ)に分類するとよい。これらのブロック分割情報グループを並び替えることで、図52に示すようにリストが並び替えられる。この例では、リスト修正パラメータは、修正ブロック分割情報リストにおける各ブロック分割グループの順番を示すパラメータを含むことができる。
カレントブロックのジオメトリを利用することで、各グループのブロック分割情報に黙示的に制限を加えることができる。例えば、ブロック幅及びブロック高が2のべき乗となる分割しか利用できないようにできる。これらのブロック分割情報の場合、サブブロックの幅又はサブブロックの高さが2のべき乗にならないものは、そのグループで使用されない。
別の例として、修正は、所定ブロック分割情報リストに追加のブロック分割情報を挿入することで、より長いブロック分割情報リストを作成する処理であってもよい。最も利用可能性が高いブロック分割情報をリストの先頭に挿入すると、パーティション選択パラメータの復号ビットは少なくなる。ここでは、リスト順が遅い方のブロック分割情報よりもリスト順が早い方のブロック分割情報の方が少ないビットでパーティション選択パラメータが復号される。
別の例として、修正は、所定ブロック分割情報リストからブロック分割情報を削除することで、より短いブロック分割情報リストを作成する処理であってもよい。最も利用可能性が高いブロック分割情報より前にある利用可能性が低いブロック分割情報を削除すると、パーティション選択パラメータの復号ビットは少なくなる。ここでは、リスト順が遅い方のブロック分割情報よりもリスト順が早い方のブロック分割情報の方が少ないビットでパーティション選択パラメータが復号される。
並び替え処理、挿入処理、及び削除処理は組み合わせられてもよい(並び替え及び挿入、又は並び替え及び削除、又は挿入及び削除、又は並び替え、挿入、及び削除等)。
カレントブロックのジオメトリを利用することで、ブロック分割情報リストにおけるブロック分割情報に黙示的に制限を加えることができる。例えば、ブロック幅及びブロック高が2のべき乗となる分割しか利用できないようにできる。これらのブロック分割情報の場合、サブブロックの幅又はサブブロックの高さが2のべき乗にならないものは、そのリストで使用されない。
リスト修正パラメータは、例えば、修正が必要でないことを示すこともできる。修正が必要でなければ、ステップS22002は省略できる。よって、修正ブロック分割情報リストは、ステップS22003に行く以前に所定ブロック分割情報リストと同一である。
ステップS22003において、ビットストリームからパーティション選択パラメータが解析される。図37は、圧縮映像ビットストリームにおけるパラメータの解析可能な位置を示す。
次に、ステップS22004において、解析されたパーティション選択パラメータを用いて、修正ブロック分割情報リストのみからブロック分割情報が選択される。ここで選択されたブロック分割情報を用いてブロックが複数のサブブロックに分割される。解析されたパーティション選択パラメータは、例えば、所定ブロック分割情報リストから1つのブロック分割情報を選択するためのインデックスを含むことができる。別の例として、解析されたパーティション選択パラメータは、初期ブロック分割情報からブロック分割情報を導出するための複数の分割/マージフラグ(split/merge flags)を含むことができる。
パーティション選択パラメータの復号ビット及びその意味は、選択されたブロック分割情報に応じて異なる。例えば、選択されたブロック分割情報によって横分割のみが生じる場合、分割が横分割であるか縦分割であるかを示す必要はなく、ブロックを分けるということだけで、図53に示すようにブロックを横分割することを意味する。一方、選択されたブロック分割情報によって縦分割のみが生じる場合、分割が横分割であるか縦分割であるかを示す必要はなく、ブロックを分けるということだけで、ブロックを縦分割することを意味する。
ステップS22005において、選択されたブロック分割情報を用いてブロックが複数のサブブロックに分割される。選択されたブロック分割情報は、例えば、ブロックをサブブロックに分割するために使用される最終ブロック分割情報となり得る。別の例として、選択されたブロック分割情報は、予測ブロック分割情報又は初期ブロック分割情報であってもよい。予測ブロック分割情報又は初期ブロック分割情報に基づいて、ブロックをサブブロックに分割するための最終ブロック分割情報が導出される。
ステップS22006では、複数のサブブロックに含まれるサブブロックが復号処理で復号される。ここで、この復号処理には、逆変換処理及び/又は予測処理が含まれる。逆変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[復号装置]
本実施の形態における映像/画像符号化装置の構造は、実施の形態2の図36と同様であるので、図示及び説明を省略する。
(実施の形態13)
[概要]
本実施の形態に係る符号化装置は、画像のブロックを符号化する符号化装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、1以上の符号化済みブロックからブロック情報を読み出し、読み出された前記ブロック情報を用いて、所定ブロック分割情報リストを修正ブロック分割情報リストに修正し、パーティション選択パラメータをビットストリームに書き込み、書き込まれた前記パーティション選択パラメータを用いて、前記修正ブロック分割情報リストのみから、ブロックを複数のサブブロックに分割することとなるブロック分割情報を選択し、選択された前記ブロック分割情報を用いて、カレントブロックを複数のサブブロックに分割し、変換処理及び/又は予測処理を含む符号化処理で前記複数のサブブロックに含まれるサブブロックを符号化する。
これにより、符号化済みブロックから読み出されたブロック情報を用いて、所定ブロック分割情報リストを修正することができる。したがって、ブロック分割情報に係る符号量を削減することができ、圧縮効率を向上させることができる。
例えば、本実施の形態に係る符号化装置において、前記所定ブロック分割情報リストの修正では、所定ブロック分割情報リストを並べ替えて修正ブロック分割情報を生成し、前記パーティション選択パラメータは、リスト順が遅いブロック分割情報よりもリスト順が早いブロック分割情報の方が少ないビットで符号化されてもよい。
これにより、符号化済みブロックから読み出されたブロック情報を用いて、所定ブロック分割情報リストを並べ替えることができる。したがって、選択される可能性が高いブロック分割情報をリストの上位に配置することができ、ブロック分割情報に係る符号量を削減することができる。
例えば、本実施の形態に係る符号化装置において、前記所定ブロック分割情報リストの修正では、前記所定ブロック分割情報リストに追加ブロック分割情報を挿入して、より長いブロック分割情報リストを生成してもよい。
これにより、符号化済みブロックから読み出されたブロック情報を用いて、所定ブロック分割情報リストに追加ブロック分割情報を挿入することができる。したがって、ブロック分割に適したブロック分割情報をリストに追加することができ、圧縮効率を向上させることができる。
例えば、本実施の形態に係る符号化装置において、前記カレントブロック及び前記1以上の符号化済みブロックは互いに異なるブロックであり、前記1以上の符号化済みブロックのうちの少なくとも1つは、前記カレントブロックと同じフレーム、又は、前記カレントブロックのフレームと異なる他のフレームに含まれてもよい。
これにより、互いに異なる1以上の符号化済みブロックからブロック情報を読み出すことができ、ブロック分割情報リストをより適切に修正することができる。その結果、圧縮効率を向上させることができる。
例えば、本実施の形態に係る符号化装置において、読み出された前記ブロック情報は、ブロックパーティション構造、イントラ予測モード又はインター予測モード、イントラ予測方向、動きベクトル、参照ピクチャ、量子化パラメータ、及び、分割深さに関する情報のうちの少なくとも1つを含んでもよい。
これにより、ブロック情報として適切な情報を用いることができ、より適切なブロック情報を用いてブロック分割情報リストを修正することが可能となる。その結果、ブロック分割情報に係る符号量を削減して、圧縮効率を向上させることができる。
本実施の形態に係る復号装置は、画像のブロックを復号する復号装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、1以上の復号済みブロックからブロック情報を読み出し、読み出された前記ブロック情報を用いて、所定ブロック分割情報リストを修正ブロック分割情報リストに修正し、ビットストリームからパーティション選択パラメータを解析し、解析された前記パーティション選択パラメータを用いて、前記修正ブロック分割情報リストのみから、ブロックを複数のサブブロックに分割することとなるブロック分割情報を選択し、選択された前記ブロック分割情報を用いて、カレントブロックを複数のサブブロックに分割し、逆変換処理及び/又は予測処理を含む復号処理で前記複数のサブブロックに含まれるサブブロックを復号する。
これにより、復号済みブロックから読み出されたブロック情報を用いて、所定ブロック分割情報リストを修正することができる。したがって、ブロック分割情報に係る符号量を削減することができ、圧縮効率を向上させることができる。
例えば、本実施の形態に係る復号装置において、前記所定ブロック分割情報リストの修正では、所定ブロック分割情報リストを並べ替えて修正ブロック分割情報を生成し、前記パーティション選択パラメータは、リスト順が遅いブロック分割情報よりもリスト順が早いブロック分割情報の方が少ないビットで符号化されてもよい。
これにより、復号済みブロックから読み出されたブロック情報を用いて、所定ブロック分割情報リストを並べ替えることができる。したがって、選択される可能性が高いブロック分割情報をリストの上位に配置することができ、ブロック分割情報に係る符号量を削減することができる。
例えば、本実施の形態に係る復号装置において、前記所定ブロック分割情報リストの修正では、前記所定ブロック分割情報リストに追加ブロック分割情報を挿入して、より長いブロック分割情報リストを生成してもよい。
これにより、復号済みブロックから読み出されたブロック情報を用いて、所定ブロック分割情報リストに追加ブロック分割情報を挿入することができる。したがって、ブロック分割に適したブロック分割情報をリストに追加することができ、圧縮効率を向上させることができる。
例えば、本実施の形態に係る復号装置において、前記カレントブロック及び前記1以上の復号済みブロックは互いに異なるブロックであり、前記1以上の復号済みブロックのうちの少なくとも1つは、前記カレントブロックと同じフレーム、又は、前記カレントブロックのフレームと異なる他のフレームに含まれてもよい。
これにより、互いに異なる1以上の復号済みブロックからブロック情報を読み出すことができ、ブロック分割情報リストをより適切に修正することができる。その結果、圧縮効率を向上させることができる。
例えば、本実施の形態に係る復号装置において、読み出された前記ブロック情報は、ブロックパーティション構造、イントラ予測モード又はインター予測モード、イントラ予測方向、動きベクトル、参照ピクチャ、量子化パラメータ、及び、分割深さに関する情報のうちの少なくとも1つを含んでもよい。
これにより、ブロック情報として適切な情報を用いることができ、より適切なブロック情報を用いてブロック分割情報リストを修正することが可能となる。その結果、ブロック分割情報に係る符号量を削減して、圧縮効率を向上させることができる。
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
以下に、映像を符号化する方法及び復号する方法を図33及び図34にそれぞれ示すとおり、実施の形態に従って説明する。
[符号化処理]
図33は、実施の形態13に係る映像符号化処理の一例を示す。
最初のステップS23001として、1以上の符号化済みブロックからブロック情報(例えば、ブロックパーティション構造、イントラ予測モード又はインター予測モード、イントラ予測方向、動きベクトル、参照ピクチャ、量子化パラメータ、及び分割深さ)が読み出される。
次に、ステップS23002において、読み出されたブロック情報を用いて所定ブロック分割情報リストが修正ブロック分割情報リストに修正される。この修正は、例えば、所定ブロック分割情報リストを並び替えて修正ブロック分割情報リストを生成する処理であってもよい。ここでは、リスト順が遅い方のブロック分割情報よりもリスト順が早い方のブロック分割情報の方が少ないビットでパーティション選択パラメータが符号化される。並び替えることによって、図51に示すように、選択されたブロック分割情報のリスト順が早まり、パーティション選択パラメータの符号化ビットが減少する。
リストの並び替えのために、例えば、リストを異なるブロック分割情報グループ(例えば、縦分割グループ、横分割グループ、四分木分割グループ、及び、あらゆるブロック分割情報を含む全分割グループ)に分類するとよい。これらのブロック分割情報グループを並び替えることで、図52に示すようにリストが並び替えられる。この例では、リスト修正パラメータは、修正ブロック分割情報リストにおける各ブロック分割グループの順番を示すパラメータを含むことができる。
カレントブロックのジオメトリを利用することで、各グループのブロック分割情報に黙示的に制限を加えることができる。例えば、ブロック幅及びブロック高が2のべき乗となる分割しか利用できないようにできる。これらのブロック分割情報の場合、サブブロックの幅又はサブブロックの高さが2のべき乗にならないものは、そのグループで使用されない。
別の例として、修正は、所定ブロック分割情報リストに追加のブロック分割情報を挿入することで、より長いブロック分割情報リストを作成する処理であってもよい。最も利用可能性が高いブロック分割情報をリストの先頭に挿入すると、パーティション選択パラメータの符号化ビットは少なくなる。ここでは、リスト順が遅い方のブロック分割情報よりもリスト順が早い方のブロック分割情報の方が少ないビットでパーティション選択パラメータが符号化される。
別の例として、修正は、所定ブロック分割情報リストからブロック分割情報を削除することで、より短いブロック分割情報リストを作成する処理であってもよい。最も利用可能性が高いブロック分割情報より前にある利用可能性が低いブロック分割情報を削除すると、パーティション選択パラメータの符号化ビットは少なくなる。ここでは、リスト順が遅い方のブロック分割情報よりもリスト順が早い方のブロック分割情報の方が少ないビットでパーティション選択パラメータが符号化される。
並び替え処理、挿入処理、及び削除処理は組み合わせられてもよい(並び替え及び挿入、又は並び替え及び削除、又は挿入及び削除、又は並び替え、挿入、及び削除等)。
カレントブロックのジオメトリを利用することで、ブロック分割情報リストにおけるブロック分割情報に黙示的に制限を加えることができる。例えば、ブロック幅及びブロック高が2のべき乗となる分割しか利用できないようにできる。これらのブロック分割情報の場合、サブブロックの幅又はサブブロックの高さが2のべき乗にならないものは、そのリストで使用されない。
読み出されたブロック情報を所定ブロック分割情報リストを修正するために用いるには、まず、予測ブロック分割情報を導出するとよい。例えば、所定ブロック分割情報リストにおいて、予測ブロック分割情報と同じ/類似のブロックパーティション構造を有するブロック分割情報をリストの前の方に移動させる。予測ブロックパーティション構造に横分割しか含まれないのであれば、例えば、図52(並び替え前)に示すグループ1を図52(並び替え後)に示すようにリストの先頭に移動させる。
ブロック分割情報は、ブロックを横分割するか縦分割するかを示すパラメータセットであってもよい。また、ブロック分割情報は、ブロック内のすべてのサブブロックの所定ブロック幅及び所定ブロック高を含むパラメータセットであってもよい。ブロック分割情報は、所定のブロックパーティション構造候補リストから1つの分割構造候補を選択するためのインデックスを含むパラメータセットであってもよい。このとき、ブロックパーティション構造は、図38に示すように、ブロック内のすべてのサブブロックのジオメトリを視覚的に提示する。
カレントブロックの予測ブロックパーティション構造としては、符号化済みブロックのブロックパーティション構造をそのまま使用することができる。
2以上の符号化済みブロックのブロックパーティション構造を組み合わせて(例えば、図39のように、上半分は、上ブロックのブロックパーティション構造を用い、残りの半分は、左ブロックのブロックパーティション構造を用いる)、新たなブロックパーティション構造をカレントブロックの予測ブロックパーティション構造として導出することもできる。符号化済みブロックの選択方法としては、一例として、カレントブロックと同じイントラ/インター予測モードの符号化済みブロックを選択する方法がある。具体的には、カレントブロックがインター予測ブロックであれば、インター予測を用いて符号化された1以上の符号化済みブロックを選択する。
符号化済みブロックのブロックパーティション構造を修正し(例えば、図40に示すように、分割深さがより浅いブロックパーティション構造を使用し)、新たなブロックパーティション構造をカレントブロックの予測ブロックパーティション構造として導出することもできる。
予測ブロック分割情報は、符号化済みブロックのイントラ予測方向の情報ごとに違ってもよい。例えば、カレントブロックをより小さなブロックに縦分割するか横分割するかを予測するために、特定の隣接ブロック位置におけるイントラ予測方向の情報が使用されてもよい。例えば、上隣接ブロックのイントラ予測方向の情報が縦方向又は縦方向に近いと判定されれば、カレントブロックのために、縦分割を含むブロック分割情報を予測できる。同様に、左隣接ブロックのイントラ予測方向の情報が横方向又は横方向に近いと判定されれば、カレントブロックのために、横分割を含むブロック分割情報を予測できる。
ブロック分割情報は、符号化済みブロックのイントラ/インター予測モードに従って予測されてもよい。例えば、符号化済みブロックの予測モードがイントラ予測モードである場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。また例えば、符号化済みブロックの予測モードがインター予測モードである場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、符号化済みブロックの動きベクトルに従って予測されてもよい。例えば、符号化済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値より大きい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。一方、符号化済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値以下の場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、符号化済みブロックの量子化パラメータに従って予測されてもよい。例えば、符号化済みブロックの量子化パラメータの値が所定値より小さい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。また例えば、符号化済みブロックの量子化パラメータの値が所定値以上の場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、符号化済みブロックの参照ピクチャ情報に従って予測されてもよい。例えば、符号化済みブロックの参照ピクチャがカレントピクチャに時間的に近い場合又は複数の符号化済みブロックの複数の参照ピクチャが互いに類似している場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。符号化済みブロックの参照ピクチャがカレントピクチャに時間的に近くない場合又は複数の符号化済みブロックの複数の参照ピクチャが互いに類似していない場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、符号化済みブロックの分割深さに従って予測されてもよい。例えば、符号化済みブロックの分割深さが所定値(例えば4)より大きい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。符号化済みブロックの分割深さが所定値以下の場合(例えば分割深さが2に等しい場合)、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、カレントフレームと異なるフレームの符号化済みブロックの分割情報に従って予測されてもよい。例えば、カレントブロックのためのブロック分割情報(スプリット情報を含む)又はカレントブロックのスプリット情報を算術符号化するために用いられるコンテキストは、カレントフレームと異なる符号化済みフレームの符号化済みブロック(例えば、同位置ブロック(collocated block)、直前の符号化済みブロック(last encoded block)、又は動きベクトルで特定される符号化済みブロック等)から予測され得る。
ステップS23003において、パーティション選択パラメータがビットストリームに書き込まれる。図37は、圧縮映像ビットストリームにおけるパーティション選択パラメータの書き込み可能な位置を示す。
次に、ステップS23004において、書き込まれたパーティション選択パラメータを用いて、修正ブロック分割情報リストのみからブロック分割情報が選択される。ここで選択されたブロック分割情報が用いられれば、ブロックは、複数のサブブロックに分割される。書き込まれたパーティション選択パラメータは、例えば、所定ブロック分割情報リストから1つのブロック分割情報を選択するためのインデックスを含むことができる。別の例として、書き込まれたパーティション選択パラメータは、初期ブロック分割情報からブロック分割情報を導出するための複数の分割/マージフラグ(split/merge flags)を含むことができる。
パーティション選択パラメータの符号化ビット及びその意味は、選択されたブロック分割情報に応じて異なる。例えば、選択されたブロック分割情報によって横分割のみが生じる場合、分割が横分割であるか縦分割であるかを示す必要はなく、ブロックを分けるということだけで、図53に示すようにブロックを横分割することを意味する。一方、選択されたブロック分割情報によって縦分割のみが生じる場合、分割が横分割であるか縦分割であるかを示す必要はなく、ブロックを分けるということだけで、ブロックを縦分割することを意味する。
ステップS23005において、選択されたブロック分割情報を用いてブロックが複数のサブブロックに分割される。
ステップS23006では、複数のサブブロックに含まれるサブブロックが符号化処理で符号化される。ここで、この符号化処理には、変換処理及び/又は予測処理が含まれる。変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[符号化装置]
本実施の形態における映像/画像符号化装置の構造は、実施の形態2の図35と同様であるので、図示及び説明を省略する。
[復号処理]
図34は、実施の形態13に係る映像復号処理の一例を示す。
最初のステップS24001として、1以上の復号済みブロックからブロック情報(例えば、ブロックパーティション構造、イントラ予測モード又はインター予測モード、イントラ予測方向、動きベクトル、参照ピクチャ、量子化パラメータ、及び分割深さ)が読み出される。
次に、ステップS24002において、読み出されたブロック情報を用いて所定ブロック分割情報リストが修正ブロック分割情報リストに修正される。この修正は、例えば、所定ブロック分割情報リストを並び替えて修正ブロック分割情報リストを生成する処理であってもよい。ここでは、リスト順が遅い方のブロック分割情報よりもリスト順が早い方のブロック分割情報の方が少ないビットでパーティション選択パラメータが復号される。並び替えることによって、図51に示すように、選択されたブロック分割情報のリスト順が早まり、パーティション選択パラメータの復号ビットが減少する。
リストの並び替えのために、例えば、リストを異なるブロック分割情報グループ(例えば、縦分割グループ、横分割グループ、四分木分割グループ、及び、あらゆるブロック分割情報を含む全分割グループ)に分類するとよい。これらのブロック分割情報グループを並び替えることで、図52に示すようにリストが並び替えられる。この例では、リスト修正パラメータは、修正ブロック分割情報リストにおける各ブロック分割グループの順番を示すパラメータを含むことができる。
カレントブロックのジオメトリを利用することで、各グループのブロック分割情報に黙示的に制限を加えることができる。例えば、ブロック幅及びブロック高が2のべき乗となる分割しか利用できないようにできる。これらのブロック分割情報の場合、サブブロックの幅又はサブブロックの高さが2のべき乗にならないものは、そのグループで使用されない。
別の例として、修正は、所定ブロック分割情報リストに追加の分割情報を挿入することで、より長いブロック分割情報リストを作成する処理であってもよい。最も利用可能性が高いブロック分割情報をリストの先頭に挿入すると、パーティション選択パラメータの復号ビットは少なくなる。ここでは、リスト順が遅い方のブロック分割情報よりもリスト順が早い方のブロック分割情報の方が少ないビットでパーティション選択パラメータが復号される。
別の例として、修正は、所定ブロック分割情報リストから分割情報を削除することで、より短いブロック分割情報リストを作成する処理であってもよい。最も利用可能性が高いブロック分割情報より前にある利用可能性が低いブロック分割情報を削除すると、パーティション選択パラメータの復号ビットは少なくなる。ここでは、リスト順が遅い方のブロック分割情報よりもリスト順が早い方のブロック分割情報の方が少ないビットでパーティション選択パラメータが復号される。
並び替え処理、挿入処理、及び削除処理は組み合わせられてもよい(並び替え及び挿入、又は並び替え及び削除、又は挿入及び削除、又は並び替え、挿入、及び削除等)。
カレントブロックのジオメトリを利用することで、ブロック分割情報リストにおけるブロック分割情報に黙示的に制限を加えることができる。例えば、ブロック幅及びブロック高が2のべき乗となる分割しか利用できないようにできる。これらのブロック分割情報の場合、サブブロックの幅又はサブブロックの高さが2のべき乗にならないものは、そのリストで使用されない。
読み出されたブロック情報を所定ブロック分割情報リストを修正するために用いるには、まず、予測ブロック分割情報を導出するとよい。例えば、所定ブロック分割情報リストにおいて、予測ブロック分割情報と同じ/類似のブロックパーティション構造を有するブロック分割情報をリストの前の方に移動させる。予測ブロックパーティション構造に横分割しか含まれないのであれば、例えば、図52(並び替え前)に示すグループ1を図52(並び替え後)に示すようにリストの先頭に移動させる。
ブロック分割情報は、ブロックを横分割するか縦分割するかを示すパラメータセットであってもよい。また、ブロック分割情報は、ブロック内のすべてのサブブロックの所定ブロック幅及び所定ブロック高を含むパラメータセットであってもよい。ブロック分割情報は、所定のブロックパーティション構造候補リストから1つの分割構造候補を選択するためのインデックスを含むパラメータセットであってもよい。このとき、ブロックパーティション構造は、図38に示すように、ブロック内のすべてのサブブロックのジオメトリを視覚的に提示する。
カレントブロックの予測ブロックパーティション構造としては、復号済みブロックのブロックパーティション構造をそのまま使用することができる。
2以上の復号済みブロックのブロックパーティション構造を組み合わせて(例えば、図39のように、上半分は、上ブロックのブロックパーティション構造を用い、残りの半分は、左ブロックのブロックパーティション構造を用いる)、新たなブロックパーティション構造をカレントブロックの予測ブロックパーティション構造として導出することもできる。復号済みブロックの選択方法としては、一例として、カレントブロックと同じイントラ/インター予測モードの復号済みブロックを選択する方法がある。具体的には、カレントブロックがインター予測ブロックであれば、インター予測を用いて復号された1以上の復号済みブロックを選択する。
復号済みブロックのブロックパーティション構造を修正し(例えば、図40に示すように、分割深さがより浅いブロックパーティション構造を使用し)、新たなブロックパーティション構造をカレントブロックの予測ブロックパーティション構造として導出することもできる。
予測ブロック分割情報は、復号済みブロックのイントラ予測方向の情報ごとに違ってもよい。例えば、カレントブロックをより小さなブロックに縦分割するか横分割するかを予測するために、特定の隣接ブロック位置におけるイントラ予測方向の情報が使用されてもよい。例えば、上隣接ブロックのイントラ予測方向の情報が縦方向又は縦方向に近いと判定されれば、カレントブロックのために、縦分割を含むブロック分割情報を予測できる。同様に、左隣接ブロックのイントラ予測方向の情報が横方向又は横方向に近いと判定されれば、カレントブロックのために、横分割を含むブロック分割情報を予測できる。
ブロック分割情報は、復号済みブロックのイントラ/インター予測モードに従って予測されてもよい。例えば、復号済みブロックの予測モードがイントラ予測モードである場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。また例えば、復号済みブロックの予測モードがインター予測モードである場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、復号済みブロックの動きベクトルに従って予測されてもよい。例えば、復号済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値より大きい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。一方、復号済みブロックの動きベクトルとカレントブロックの動きベクトルとの差分が所定閾値以下の場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、復号済みブロックの量子化パラメータに従って予測されてもよい。例えば、復号済みブロックの量子化パラメータの値が所定値より小さい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。また例えば、復号済みブロックの量子化パラメータの値が所定値以上の場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、復号済みブロックの参照ピクチャ情報に従って予測されてもよい。例えば、復号済みブロックの参照ピクチャがカレントピクチャに時間的に近い場合又は複数の復号済みブロックの複数の参照ピクチャが互いに類似している場合、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。復号済みブロックの参照ピクチャがカレントピクチャに時間的に近くない場合又は複数の復号済みブロックの複数の参照ピクチャが互いに類似していない場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、復号済みブロックの分割深さに従って予測されてもよい。例えば、復号済みブロックの分割深さが所定値(例えば4)より大きい場合、比較的小さいブロックサイズの複数のサブブロックにブロックを分割する所定ブロック分割情報を予測できる。復号済みブロックの分割深さが所定値以下の場合(例えば分割深さが2に等しい場合)、比較的大きいブロックサイズの複数のサブブロックにブロックを分割する他の所定ブロック分割情報を予測できる。
ブロック分割情報は、カレントフレームと異なるフレームの復号済みブロックの分割情報に従って予測されてもよい。例えば、カレントブロックのためのブロック分割情報(スプリット情報を含む)又はカレントブロックのスプリット情報を算術復号するために用いられるコンテキストは、カレントフレームと異なる復号済みフレームの復号済みブロック(例えば、同位置ブロック(collocated block)、最後の復号済みブロック(last decoded block)、又は動きベクトルで特定される復号済みブロック等)から予測され得る。
ステップS24003において、ビットストリームからパーティション選択パラメータが解析される。図37は、圧縮映像ビットストリームにおけるパーティション選択パラメータの解析可能な位置を示す。
次に、ステップS24004において、解析されたパーティション選択パラメータを用いて、修正ブロック分割情報リストのみからブロック分割情報が選択される。ここで選択されたブロック分割情報を用いてブロックが複数のサブブロックに分割される。解析されたパーティション選択パラメータは、例えば、所定ブロック分割情報リストから1つのブロック分割情報を選択するためのインデックスを含むことができる。別の例として、解析されたパーティション選択パラメータは、初期ブロック分割情報からブロック分割情報を導出するための複数の分割/マージフラグ(split/merge flags)を含むことができる。
パーティション選択パラメータの復号ビット及びその意味は、選択されたブロック分割情報に応じて異なる。例えば、選択されたブロック分割情報によって横分割のみが生じる場合、分割が横分割であるか縦分割であるかを示す必要はなく、ブロックを分けるということだけで、図53に示すようにブロックを横分割することを意味する。一方、選択されたブロック分割情報によって縦分割のみが生じる場合、分割が横分割であるか縦分割であるかを示す必要はなく、ブロックを分けるということだけで、ブロックを縦分割することを意味する。
ステップS24005において、選択されたブロック分割情報を用いてブロックが複数のサブブロックに分割される。
ステップS24006では、複数のサブブロックに含まれるサブブロックが復号処理で復号される。ここで、この復号処理には、逆変換処理及び/又は予測処理が含まれる。逆変換処理は、サブブロックの大きさと同程度のブロックごとに行われるとよい。
[復号装置]
本実施の形態における映像/画像符号化装置の構造は、実施の形態2の図36と同様であるので、図示及び説明を省略する。
(実施の形態14)
上記各実施の形態において、ブロック及び/又はサブブロックのジオメトリは、特に制限されていなかったが、ブロック及び/又はサブブロックのジオメトリは制限されてもよい。例えば、ブロック及びサブブロックのブロック幅及びブロック高の各々は、2のべき乗に限定されてもよい。特に、3以上の奇数の子ノードを含む多分木分割において、サブブロックのブロック幅及びブロック高の各々は、2のべき乗に限定されてもよい。この場合、サブブロックのブロック幅及びブロック高が2のべき乗にならないブロック分割情報は、ブロックの分割に利用されない。
つまり、本実施の形態に係る符号化装置は、画像のブロックを符号化する符号化装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、ブロックを複数のサブブロックに分割し、変換処理及び/又は予測処理を含む符号化処理で前記複数のサブブロックに含まれるサブブロックを符号化し、前記ブロックの分割は、3以上の奇数の子ノードを含む多分木分割であり、前記複数のサブブロックの幅及び高さの各々は2のべき乗である。
これにより、3以上の奇数の子ノードを含む多分木分割によりブロックが分割される場合にも、複数のサブブロックの幅及び高さの各々が2のべき乗となるように、ブロックを分割することができる。したがって、符号化に適したサイズのサブブロックを得ることができ、圧縮効率を向上させることができる。
また、本実施の形態に係る復号装置は、画像のブロックを復号する復号装置であって、プロセッサと、前記プロセッサに接続されたメモリと、を備え、前記プロセッサは、前記メモリを用いて、ブロックを複数のサブブロックに分割し、逆変換処理及び/又は予測処理を含む復号処理で前記複数のサブブロックに含まれるサブブロックを復号し、前記ブロックの分割は、3以上の奇数の子ノードを含む多分木分割であり、前記複数のサブブロックの幅及び高さの各々は2のべき乗である。
これにより、3以上の奇数の子ノードを含む多分木分割によりブロックが分割される場合にも、複数のサブブロックの幅及び高さの各々が2のべき乗となるように、ブロックを分割することができる。したがって、復号に適したサイズのサブブロックを得ることができ、圧縮効率を向上させることができる。
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
(実施の形態15)
以上の各実施の形態において、機能ブロックの各々は、通常、MPU及びメモリ等によって実現可能である。また、機能ブロックの各々による処理は、通常、プロセッサなどのプログラム実行部が、ROM等の記録媒体に記録されたソフトウェア(プログラム)を読み出して実行することで実現される。当該ソフトウェアはダウンロード等により配布されてもよいし、半導体メモリなどの記録媒体に記録して配布されてもよい。なお、各機能ブロックをハードウェア(専用回路)によって実現することも、当然、可能である。
また、各実施の形態において説明した処理は、単一の装置(システム)を用いて集中処理することによって実現してもよく、又は、複数の装置を用いて分散処理することによって実現してもよい。また、上記プログラムを実行するプロセッサは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、又は分散処理を行ってもよい。
本開示の態様は、以上の実施例に限定されることなく、種々の変更が可能であり、それらも本開示の態様の範囲内に包含される。
さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)又は動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、画像復号方法を用いた画像復号装置、及び両方を備える画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
[使用例]
図54は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
このコンテンツ供給システムex100では、インターネットex101に、インターネットサービスプロバイダex102又は通信網ex104、及び基地局ex106〜ex110を介して、コンピュータex111、ゲーム機ex112、カメラex113、家電ex114、及びスマートフォンex115などの各機器が接続される。当該コンテンツ供給システムex100は、上記のいずれかの要素を組合せて接続するようにしてもよい。固定無線局である基地局ex106〜ex110を介さずに、各機器が電話網又は近距離無線等を介して直接的又は間接的に相互に接続されていてもよい。また、ストリーミングサーバex103は、インターネットex101等を介して、コンピュータex111、ゲーム機ex112、カメラex113、家電ex114、及びスマートフォンex115などの各機器と接続される。また、ストリーミングサーバex103は、衛星ex116を介して、飛行機ex117内のホットスポット内の端末等と接続される。
なお、基地局ex106〜ex110の代わりに、無線アクセスポイント又はホットスポット等が用いられてもよい。また、ストリーミングサーバex103は、インターネットex101又はインターネットサービスプロバイダex102を介さずに直接通信網ex104と接続されてもよいし、衛星ex116を介さず直接飛行機ex117と接続されてもよい。
カメラex113はデジタルカメラ等の静止画撮影、及び動画撮影が可能な機器である。また、スマートフォンex115は、一般に2G、3G、3.9G、4G、そして今後は5Gと呼ばれる移動通信システムの方式に対応したスマートフォン機、携帯電話機、又はPHS(Personal Handyphone System)等である。
家電ex118は、冷蔵庫、又は家庭用燃料電池コージェネレーションシステムに含まれる機器等である。
コンテンツ供給システムex100では、撮影機能を有する端末が基地局ex106等を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、端末(コンピュータex111、ゲーム機ex112、カメラex113、家電ex114、スマートフォンex115、及び飛行機ex117内の端末等)は、ユーザが当該端末を用いて撮影した静止画又は動画コンテンツに対して上記各実施の形態で説明した符号化処理を行い、符号化により得られた映像データと、映像に対応する音を符号化した音データと多重化し、得られたデータをストリーミングサーバex103に送信する。即ち、各端末は、本開示の一態様に係る画像符号化装置として機能する。
一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントは、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、ゲーム機ex112、カメラex113、家電ex114、スマートフォンex115、又は飛行機ex117内の端末等である。配信されたデータを受信した各機器は、受信したデータを復号化処理して再生する。即ち、各機器は、本開示の一態様に係る画像復号装置として機能する。
[分散処理]
また、ストリーミングサーバex103は複数のサーバ又は複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。例えば、ストリーミングサーバex103は、CDN(Contents Delivery Network)により実現され、世界中に分散された多数のエッジサーバとエッジサーバ間をつなぐネットワークによりコンテンツ配信が実現されていてもよい。CDNでは、クライアントに応じて物理的に近いエッジサーバが動的に割り当てられる。そして、当該エッジサーバにコンテンツがキャッシュ及び配信されることで遅延を減らすことができる。また、何らかのエラーが発生した場合又はトラフィックの増加などにより通信状態が変わる場合に複数のエッジサーバで処理を分散したり、他のエッジサーバに配信主体を切り替えたり、障害が生じたネットワークの部分を迂回して配信を続けることができるので、高速かつ安定した配信が実現できる。
また、配信自体の分散処理にとどまらず、撮影したデータの符号化処理を各端末で行ってもよいし、サーバ側で行ってもよいし、互いに分担して行ってもよい。一例として、一般に符号化処理では、処理ループが2度行われる。1度目のループでフレーム又はシーン単位での画像の複雑さ、又は、符号量が検出される。また、2度目のループでは画質を維持して符号化効率を向上させる処理が行われる。例えば、端末が1度目の符号化処理を行い、コンテンツを受け取ったサーバ側が2度目の符号化処理を行うことで、各端末での処理負荷を減らしつつもコンテンツの質と効率を向上させることができる。この場合、ほぼリアルタイムで受信して復号する要求があれば、端末が行った一度目の符号化済みデータを他の端末で受信して再生することもできるので、より柔軟なリアルタイム配信も可能になる。
他の例として、カメラex113等は、画像から特徴量抽出を行い、特徴量に関するデータをメタデータとして圧縮してサーバに送信する。サーバは、例えば特徴量からオブジェクトの重要性を判断して量子化精度を切り替えるなど、画像の意味に応じた圧縮を行う。特徴量データはサーバでの再度の圧縮時の動きベクトル予測の精度及び効率向上に特に有効である。また、端末でVLC(可変長符号化)などの簡易的な符号化を行い、サーバでCABAC(コンテキスト適応型二値算術符号化方式)など処理負荷の大きな符号化を行ってもよい。
さらに他の例として、スタジアム、ショッピングモール、又は工場などにおいては、複数の端末によりほぼ同一のシーンが撮影された複数の映像データが存在する場合がある。この場合には、撮影を行った複数の端末と、必要に応じて撮影をしていない他の端末及びサーバを用いて、例えばGOP(Group of Picture)単位、ピクチャ単位、又はピクチャを分割したタイル単位などで符号化処理をそれぞれ割り当てて分散処理を行う。これにより、遅延を減らし、よりリアルタイム性を実現できる。
また、複数の映像データはほぼ同一シーンであるため、各端末で撮影された映像データを互いに参照し合えるように、サーバで管理及び/又は指示をしてもよい。または、各端末からの符号化済みデータを、サーバが受信し複数のデータ間で参照関係を変更、又はピクチャ自体を補正或いは差し替えて符号化しなおしてもよい。これにより、一つ一つのデータの質と効率を高めたストリームを生成できる。
また、サーバは、映像データの符号化方式を変更するトランスコードを行ったうえで映像データを配信してもよい。例えば、サーバは、MPEG系の符号化方式をVP系に変換してもよいし、H.264をH.265に変換してもよい。
このように、符号化処理は、端末、又は1以上のサーバにより行うことが可能である。よって、以下では、処理を行う主体として「サーバ」又は「端末」等の記載を用いるが、サーバで行われる処理の一部又は全てが端末で行われてもよいし、端末で行われる処理の一部又は全てがサーバで行われてもよい。また、これらに関しては、復号処理についても同様である。
[3D、マルチアングル]
近年では、互いにほぼ同期した複数のカメラex113及び/又はスマートフォンex115などの端末により撮影された異なるシーン、又は、同一シーンを異なるアングルから撮影した画像或いは映像を統合して利用することも増えてきている。各端末で撮影した映像は、別途取得した端末間の相対的な位置関係、又は、映像に含まれる特徴点が一致する領域などに基づいて統合される。
サーバは、2次元の動画像を符号化するだけでなく、動画像のシーン解析などに基づいて自動的に、又は、ユーザが指定した時刻において、静止画を符号化し、受信端末に送信してもよい。サーバは、さらに、撮影端末間の相対的な位置関係を取得できる場合には、2次元の動画像だけでなく、同一シーンが異なるアングルから撮影された映像に基づき、当該シーンの3次元形状を生成できる。なお、サーバは、ポイントクラウドなどにより生成した3次元のデータを別途符号化してもよいし、3次元データを用いて人物又はオブジェクトを認識或いは追跡した結果に基づいて、受信端末に送信する映像を、複数の端末で撮影した映像から選択、又は、再構成して生成してもよい。
このようにして、ユーザは、各撮影端末に対応する各映像を任意に選択してシーンを楽しむこともできるし、複数画像又は映像を用いて再構成された3次元データから任意視点の映像を切り出したコンテンツを楽しむこともできる。さらに、映像と同様に音も複数の相異なるアングルから収音され、サーバは、映像に合わせて特定のアングル又は空間からの音を映像と多重化して送信してもよい。
また、近年ではVirtual Reality(VR)及びAugmented Reality(AR)など、現実世界と仮想世界とを対応付けたコンテンツも普及してきている。VRの画像の場合、サーバは、右目用及び左目用の視点画像をそれぞれ作成し、Multi−View Coding(MVC)などにより各視点映像間で参照を許容する符号化を行ってもよいし、互いに参照せずに別ストリームとして符号化してもよい。別ストリームの復号時には、ユーザの視点に応じて仮想的な3次元空間が再現されるように互いに同期させて再生するとよい。
ARの画像の場合には、サーバは、現実空間のカメラ情報に、仮想空間上の仮想物体情報を、3次元的位置又はユーザの視点の動きに基づいて重畳する。復号装置は、仮想物体情報及び3次元データを取得又は保持し、ユーザの視点の動きに応じて2次元画像を生成し、スムーズにつなげることで重畳データを作成してもよい。または、復号装置は仮想物体情報の依頼に加えてユーザの視点の動きをサーバに送信し、サーバは、サーバに保持される3次元データから受信した視点の動きに合わせて重畳データを作成し、重畳データを符号化して復号装置に配信してもよい。なお、重畳データは、RGB以外に透過度を示すα値を有し、サーバは、3次元データから作成されたオブジェクト以外の部分のα値が0などに設定し、当該部分が透過する状態で、符号化してもよい。もしくは、サーバは、クロマキーのように所定の値のRGB値を背景に設定し、オブジェクト以外の部分は背景色にしたデータを生成してもよい。
同様に配信されたデータの復号処理はクライアントである各端末で行っても、サーバ側で行ってもよいし、互いに分担して行ってもよい。一例として、ある端末が、一旦サーバに受信リクエストを送り、そのリクエストに応じたコンテンツを他の端末で受信し復号処理を行い、ディスプレイを有する装置に復号済みの信号が送信されてもよい。通信可能な端末自体の性能によらず処理を分散して適切なコンテンツを選択することで画質のよいデータを再生することができる。また、他の例として大きなサイズの画像データをTV等で受信しつつ、鑑賞者の個人端末にピクチャが分割されたタイルなど一部の領域が復号されて表示されてもよい。これにより、全体像を共有化しつつ、自身の担当分野又はより詳細に確認したい領域を手元で確認することができる。
また今後は、屋内外にかかわらず近距離、中距離、又は長距離の無線通信が複数使用可能な状況下で、MPEG−DASHなどの配信システム規格を利用して、接続中の通信に対して適切なデータを切り替えながらシームレスにコンテンツを受信することが予想される。これにより、ユーザは、自身の端末のみならず屋内外に設置されたディスプレイなどの復号装置又は表示装置を自由に選択しながらリアルタイムで切り替えられる。また、自身の位置情報などに基づいて、復号する端末及び表示する端末を切り替えながら復号を行うことができる。これにより、目的地への移動中に、表示可能なデバイスが埋め込まれた隣の建物の壁面又は地面の一部に地図情報を表示させながら移動することも可能になる。また、符号化データが受信端末から短時間でアクセスできるサーバにキャッシュされている、又は、コンテンツ・デリバリー・サービスにおけるエッジサーバにコピーされている、などの、ネットワーク上での符号化データへのアクセス容易性に基づいて、受信データのビットレートを切り替えることも可能である。
[スケーラブル符号化]
コンテンツの切り替えに関して、図55に示す、上記各実施の形態で示した動画像符号化方法を応用して圧縮符号化されたスケーラブルなストリームを用いて説明する。サーバは、個別のストリームとして内容は同じで質の異なるストリームを複数有していても構わないが、図示するようにレイヤに分けて符号化を行うことで実現される時間的/空間的スケーラブルなストリームの特徴を活かして、コンテンツを切り替える構成であってもよい。つまり、復号側が性能という内的要因と通信帯域の状態などの外的要因とに応じてどのレイヤまで復号するかを決定することで、復号側は、低解像度のコンテンツと高解像度のコンテンツとを自由に切り替えて復号できる。例えば移動中にスマートフォンex115で視聴していた映像の続きを、帰宅後にインターネットTV等の機器で視聴したい場合には、当該機器は、同じストリームを異なるレイヤまで復号すればよいので、サーバ側の負担を軽減できる。
さらに、上記のように、レイヤ毎にピクチャが符号化されており、ベースレイヤの上位にエンハンスメントレイヤが存在するスケーラビリティを実現する構成以外に、エンハンスメントレイヤが画像の統計情報などに基づくメタ情報を含み、復号側が、メタ情報に基づきベースレイヤのピクチャを超解像することで高画質化したコンテンツを生成してもよい。超解像とは、同一解像度におけるSN比の向上、及び、解像度の拡大のいずれであってもよい。メタ情報は、超解像処理に用いる線形或いは非線形のフィルタ係数を特定するため情報、又は、超解像処理に用いるフィルタ処理、機械学習或いは最小2乗演算におけるパラメータ値を特定する情報などを含む。
または、画像内のオブジェクトなどの意味合いに応じてピクチャがタイル等に分割されており、復号側が、復号するタイルを選択することで一部の領域だけを復号する構成であってもよい。また、オブジェクトの属性(人物、車、ボールなど)と映像内の位置(同一画像における座標位置など)とをメタ情報として格納することで、復号側は、メタ情報に基づいて所望のオブジェクトの位置を特定し、そのオブジェクトを含むタイルを決定できる。例えば、図56に示すように、メタ情報は、HEVCにおけるSEIメッセージなど画素データとは異なるデータ格納構造を用いて格納される。このメタ情報は、例えば、メインオブジェクトの位置、サイズ、又は色彩などを示す。
また、ストリーム、シーケンス又はランダムアクセス単位など、複数のピクチャから構成される単位でメタ情報が格納されてもよい。これにより、復号側は、特定人物が映像内に出現する時刻などが取得でき、ピクチャ単位の情報と合わせることで、オブジェクトが存在するピクチャ、及び、ピクチャ内でのオブジェクトの位置を特定できる。
[Webページの最適化]
図57は、コンピュータex111等におけるwebページの表示画面例を示す図である。図58は、スマートフォンex115等におけるwebページの表示画面例を示す図である。図57及び図58に示すようにwebページが、画像コンテンツへのリンクであるリンク画像を複数含む場合があり、閲覧するデバイスによってその見え方は異なる。画面上に複数のリンク画像が見える場合には、ユーザが明示的にリンク画像を選択するまで、又は画面の中央付近にリンク画像が近付く或いはリンク画像の全体が画面内に入るまでは、表示装置(復号装置)は、リンク画像として各コンテンツが有する静止画又はIピクチャを表示したり、複数の静止画又はIピクチャ等でgifアニメのような映像を表示したり、ベースレイヤのみ受信して映像を復号及び表示したりする。
ユーザによりリンク画像が選択された場合、表示装置は、ベースレイヤを最優先にして復号する。なお、webページを構成するHTMLにスケーラブルなコンテンツであることを示す情報があれば、表示装置は、エンハンスメントレイヤまで復号してもよい。また、リアルタイム性を担保するために、選択される前又は通信帯域が非常に厳しい場合には、表示装置は、前方参照のピクチャ(Iピクチャ、Pピクチャ、前方参照のみのBピクチャ)のみを復号及び表示することで、先頭ピクチャの復号時刻と表示時刻との間の遅延(コンテンツの復号開始から表示開始までの遅延)を低減できる。また、表示装置は、ピクチャの参照関係を敢えて無視して全てのBピクチャ及びPピクチャを前方参照にして粗く復号し、時間が経ち受信したピクチャが増えるにつれて正常の復号を行ってもよい。
[自動走行]
また、車の自動走行又は走行支援のため2次元又は3次元の地図情報などの静止画又は映像データを送受信する場合、受信端末は、1以上のレイヤに属する画像データに加えて、メタ情報として天候又は工事の情報なども受信し、これらを対応付けて復号してもよい。なお、メタ情報は、レイヤに属してもよいし、単に画像データと多重化されてもよい。
この場合、受信端末を含む車、ドローン又は飛行機などが移動するため、受信端末は、当該受信端末の位置情報を受信要求時に送信することで、基地局ex106〜ex110を切り替えながらシームレスな受信及び復号を実現できる。また、受信端末は、ユーザの選択、ユーザの状況又は通信帯域の状態に応じて、メタ情報をどの程度受信するか、又は地図情報をどの程度更新していくかを動的に切り替えることが可能になる。
以上のようにして、コンテンツ供給システムex100では、ユーザが送信した符号化された情報をリアルタイムでクライアントが受信して復号し、再生することができる。
[個人コンテンツの配信]
また、コンテンツ供給システムex100では、映像配信業者による高画質で長時間のコンテンツのみならず、個人による低画質で短時間のコンテンツのユニキャスト、又はマルチキャスト配信が可能である。また、このような個人のコンテンツは今後も増加していくと考えられる。個人コンテンツをより優れたコンテンツにするために、サーバは、編集処理を行ってから符号化処理を行ってもよい。これは例えば、以下のような構成で実現できる。
撮影時にリアルタイム又は蓄積して撮影後に、サーバは、原画又は符号化済みデータから撮影エラー、シーン探索、意味の解析、及びオブジェクト検出などの認識処理を行う。そして、サーバは、認識結果に基いて手動又は自動で、ピントずれ又は手ブレなどを補正したり、明度が他のピクチャに比べて低い又は焦点が合っていないシーンなどの重要性の低いシーンを削除したり、オブジェクトのエッジを強調したり、色合いを変化させるなどの編集を行う。サーバは、編集結果に基いて編集後のデータを符号化する。また撮影時刻が長すぎると視聴率が下がることも知られており、サーバは、撮影時間に応じて特定の時間範囲内のコンテンツになるように上記のように重要性が低いシーンのみならず動きが少ないシーンなどを、画像処理結果に基き自動でクリップしてもよい。または、サーバは、シーンの意味解析の結果に基づいてダイジェストを生成して符号化してもよい。
なお、個人コンテンツには、そのままでは著作権、著作者人格権、又は肖像権等の侵害となるものが写り込んでいるケースもあり、共有する範囲が意図した範囲を超えてしまうなど個人にとって不都合な場合もある。よって、例えば、サーバは、画面の周辺部の人の顔、又は家の中などを敢えて焦点が合わない画像に変更して符号化してもよい。また、サーバは、符号化対象画像内に、予め登録した人物とは異なる人物の顔が映っているかどうかを認識し、映っている場合には、顔の部分にモザイクをかけるなどの処理を行ってもよい。または、符号化の前処理又は後処理として、著作権などの観点からユーザが画像を加工したい人物又は背景領域を指定し、サーバは、指定された領域を別の映像に置き換える、又は焦点をぼかすなどの処理を行うことも可能である。人物であれば、動画像において人物をトラッキングしながら、顔の部分の映像を置き換えることができる。
また、データ量の小さい個人コンテンツの視聴はリアルタイム性の要求が強いため、帯域幅にもよるが、復号装置は、まずベースレイヤを最優先で受信して復号及び再生を行う。復号装置は、この間にエンハンスメントレイヤを受信し、再生がループされる場合など2回以上再生される場合に、エンハンスメントレイヤも含めて高画質の映像を再生してもよい。このようにスケーラブルな符号化が行われているストリームであれば、未選択時又は見始めた段階では粗い動画だが、徐々にストリームがスマートになり画像がよくなるような体験を提供することができる。スケーラブル符号化以外にも、1回目に再生される粗いストリームと、1回目の動画を参照して符号化される2回目のストリームとが1つのストリームとして構成されていても同様の体験を提供できる。
[その他の使用例]
また、これらの符号化又は復号処理は、一般的に各端末が有するLSIex500において処理される。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化又は復号用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD−ROM、フレキシブルディスク、又はハードディスクなど)に組み込み、そのソフトウェアを用いて符号化又は復号処理を行ってもよい。さらに、スマートフォンex115がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データはスマートフォンex115が有するLSIex500で符号化処理されたデータである。
なお、LSIex500は、アプリケーションソフトをダウンロードしてアクティベートする構成であってもよい。この場合、端末は、まず、当該端末がコンテンツの符号化方式に対応しているか、又は、特定サービスの実行能力を有するかを判定する。端末がコンテンツの符号化方式に対応していない場合、又は、特定サービスの実行能力を有さない場合、端末は、コーデック又はアプリケーションソフトをダウンロードし、その後、コンテンツ取得及び再生する。
また、インターネットex101を介したコンテンツ供給システムex100に限らず、デジタル放送用システムにも上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)又は動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。衛星などを利用して放送用の電波に映像と音が多重化された多重化データを載せて送受信するため、コンテンツ供給システムex100のユニキャストがし易い構成に対してマルチキャスト向きであるという違いがあるが符号化処理及び復号処理に関しては同様の応用が可能である。
[ハードウェア構成]
図59は、スマートフォンex115を示す図である。また、図60は、スマートフォンex115の構成例を示す図である。スマートフォンex115は、基地局ex110との間で電波を送受信するためのアンテナex450と、映像及び静止画を撮ることが可能なカメラ部ex465と、カメラ部ex465で撮像した映像、及びアンテナex450で受信した映像等が復号されたデータを表示する表示部ex458とを備える。スマートフォンex115は、さらに、タッチパネル等である操作部ex466と、音声又は音響を出力するためのスピーカ等である音声出力部ex457と、音声を入力するためのマイク等である音声入力部ex456と、撮影した映像或いは静止画、録音した音声、受信した映像或いは静止画、メール等の符号化されたデータ、又は、復号化されたデータを保存可能なメモリ部ex467と、ユーザを特定し、ネットワークをはじめ各種データへのアクセスの認証をするためのSIMex468とのインタフェース部であるスロット部ex464とを備える。なお、メモリ部ex467の代わりに外付けメモリが用いられてもよい。
また、表示部ex458及び操作部ex466等を統括的に制御する主制御部ex460と、電源回路部ex461、操作入力制御部ex462、映像信号処理部ex455、カメラインタフェース部ex463、ディスプレイ制御部ex459、変調/復調部ex452、多重/分離部ex453、音声信号処理部ex454、スロット部ex464、及びメモリ部ex467とがバスex470を介して接続されている。
電源回路部ex461は、ユーザの操作により電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりスマートフォンex115を動作可能な状態に起動する。
スマートフォンex115は、CPU、ROM及びRAM等を有する主制御部ex460の制御に基づいて、通話及データ通信等の処理を行う。通話時は、音声入力部ex456で収音した音声信号を音声信号処理部ex454でデジタル音声信号に変換し、これを変調/復調部ex452でスペクトラム拡散処理し、送信/受信部ex451でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex450を介して送信する。また受信データを増幅して周波数変換処理及びアナログデジタル変換処理を施し、変調/復調部ex452でスペクトラム逆拡散処理し、音声信号処理部ex454でアナログ音声信号に変換した後、これを音声出力部ex457から出力する。データ通信モード時は、本体部の操作部ex466等の操作によってテキスト、静止画、又は映像データが操作入力制御部ex462を介して主制御部ex460に送出され、同様に送受信処理が行われる。データ通信モード時に映像、静止画、又は映像と音声を送信する場合、映像信号処理部ex455は、メモリ部ex467に保存されている映像信号又はカメラ部ex465から入力された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し、符号化された映像データを多重/分離部ex453に送出する。また、音声信号処理部ex454は、映像又は静止画等をカメラ部ex465で撮像中に音声入力部ex456で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex453に送出する。多重/分離部ex453は、符号化済み映像データと符号化済み音声データを所定の方式で多重化し、変調/復調部(変調/復調回路部)ex452、及び送信/受信部ex451で変調処理及び変換処理を施してアンテナex450を介して送信する。
電子メール又はチャットに添付された映像、又はウェブページ等にリンクされた映像を受信した場合、アンテナex450を介して受信された多重化データを復号するために、多重/分離部ex453は、多重化データを分離することにより、多重化データを映像データのビットストリームと音声データのビットストリームとに分け、同期バスex470を介して符号化された映像データを映像信号処理部ex455に供給するとともに、符号化された音声データを音声信号処理部ex454に供給する。映像信号処理部ex455は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって映像信号を復号し、ディスプレイ制御部ex459を介して表示部ex458から、リンクされた動画像ファイルに含まれる映像又は静止画が表示される。また音声信号処理部ex454は、音声信号を復号し、音声出力部ex457から音声が出力される。なおリアルタイムストリーミングが普及しているため、ユーザの状況によっては音声の再生が社会的にふさわしくない場も起こりえる。そのため、初期値としては、音声信号は再生せず映像データのみを再生する構成の方が望ましい。ユーザが映像データをクリックするなど操作を行った場合にのみ音声を同期して再生してもよい。
またここではスマートフォンex115を例に説明したが、端末としては符号化器及び復号化器を両方持つ送受信型端末の他に、符号化器のみを有する送信端末、及び、復号化器のみを有する受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムにおいて、映像データに音声データなどが多重化された多重化データを受信又は送信するとして説明したが、多重化データには、音声データ以外に映像に関連する文字データなどが多重化されてもよいし、多重化データではなく映像データ自体が受信又は送信されてもよい。
なお、CPUを含む主制御部ex460が符号化又は復号処理を制御するとして説明したが、端末はGPUを備えることも多い。よって、CPUとGPUで共通化されたメモリ、又は共通に使用できるようにアドレスが管理されているメモリにより、GPUの性能を活かして広い領域を一括して処理する構成でもよい。これにより符号化時間を短縮でき、リアルタイム性を確保し、低遅延を実現できる。特に動き探索、デブロックフィルタ、SAO(Sample Adaptive Offset)、及び変換・量子化の処理を、CPUではなく、GPUでピクチャなどの単位で一括して行うと効率的である。