この出願の明細書、特許請求の範囲及び添付図面において、「第1の」、「第2の」、「第3の」及び「第4の」のような用語は、異なる対象物の間を区別することを意図しているが、特定の順序を示すものではない。
この出願の実施形態において、「例」又は「例えば」のような語は、例、例示又は説明を与えることを表すために使用される。この出願の実施形態において「例」又は「例えば」として記載されるいずれかの実施形態又は設計方式は、他の実施形態又は設計方式よりも好ましいもの又はより大きい利点を有するものとして解釈されるべきではない。正確には、「例」又は「例えば」のような語は、関連する概念を具体的な方式で提示するために使用される。
この出願の実施形態を理解するのを容易にするために、この出願の実施形態における関連する要素について、ここで最初に説明する。
符号化ツリーユニット(Coding Tree Unit, CTU):画像は複数のCTUを含む。CTUは、通常では1つの正方形画像領域に対応する。図1(a)に示すように、画像10は、複数のCTU(CTU A、CTU B、CTU C等を含む)を含む。CTUに対応する符号化情報は、CTUに対応する正方形画像領域内の画素の輝度値及び/又は色差値を含む。さらに、CTUに対応する符号化情報は、構文要素を更に含んでもよい。構文要素は、再構成画像を取得するために、どのようにCTUを少なくとも1つのCUに分割して各CUを復号化するかを示す。
1つのCTUに対応する画像領域は、64×64、128×128又は256×256画素を含んでもよい。一例では、64×64画素を含むCTUは、64列及び64行の画素/配列を有する矩形画素マトリクスを含み、各画素は、輝度成分及び/又は色差成分を含む。
CTUは、代替として、矩形画像領域又は他の形状の画像領域に対応してもよく、1つのCTUに対応する画像領域は、代替として、水平方向の画素の数が垂直方向の画素の数とは異なる画像領域でもよく、例えば、64×128画素を含むことが理解され得る。
符号化ユニット(Coding Unit, CU):符号化ユニットは、通常では1つのA×Bの矩形領域に対応し、Aは矩形の幅であり、Bは矩形の高さである。この出願の実施形態における幅は、図1に示す2次元矩形座標系XoYにおけるX軸方向(水平方向)の長さであり、高さは、図1に示す2次元矩形座標系XoYにおけるY軸方向(垂直方向)の長さである。ここで、A及びBの値は同じでもよく或いは異なってもよい。A及びBの値は、通常では、256、128、64、32、16、8又は4のような2の整数乗である。A×Bの矩形領域の再構成画像ブロックは、CUの復号化処理を通じて取得されてもよい。復号化処理は、通常では、予測(prediction)、逆量子化(dequantization)及び逆変換(inverse transform)のような処理を含み、予測画像及び残差が生成され、予測画像及び残差は、再構成画像ブロックを取得するために重畳される。最終的な再構成画像は、複数の再構成画像ブロックを使用することにより取得されてもよい。
四分木(Quad-Tree, QT):四分木は、ツリーのような構造であり、ノードは4つの子ノードに分割されてもよい。一例では、ビデオコーデック標準H.265では、四分木に基づくCTU分割モードが使用される。CTUは、ルートノードとして使用される。各ノードは、1つの正方形画像領域に対応する。ノードは、更に分割されなくてもよく(この場合、ノードに対応する正方形画像領域はCUである)、或いは、4つの下位レベルのノードに分割されてもよく、すなわち、ノードに対応する正方形画像領域は、4つの同じ正方形領域に分割され(正方形領域の幅及び高さは、それぞれ、分割前の領域の幅の半分及び高さの半分である)、各領域は、1つのノードに対応する。図1(b)に示すように、CTU Aはルートノードであり、CTU Aは4つのノード、a、b、c及びdに分割される。ノードaがもはや分割されない場合、ノードaに対応する正方形画像領域は、1つのCUに対応する。
二分木(Binary Tree, BT):二分木は、ツリーのような構造である。ノードは、2つの子ノードに分割されてもよい。二分木構造におけるノードは、更に分割されなくてもよく、或いは、2つの下位レベルのノードに分割されてもよい。二分木分割モードには、以下のうち1つを含んでもよい。
(1)水平二分割
ノードに対応する画像領域は、同じサイズを有する上位領域及び下位領域に分割される。具体的には、分割を通じて取得された画像領域について、幅は不変のままであり、高さは分割される画像領域の高さの半分になる。分割を通じて取得された各画像領域は、1つの子ノードに対応する。図1(c)に示すように、ノードbは、ノードe及びノードfを生成するために、水平二分木分割モードで分割される。
(2)垂直二分割
ノードに対応する領域は、同じサイズを有する左側領域及び右側領域に分割される。具体的には、分割を通じて取得された画像領域について、高さは不変のままであり、幅は分割される画像領域の幅の半分である。分割を通じて取得された各画像領域は、1つの子ノードに対応する。図1(d)に示すように、ノードdは、ノードg及びノードhを生成するために、垂直二分割モードで分割される。
水平二分割及び垂直二分割は、二分木分割モードの例であることが理解され得る。ノードに対応する画像領域は、他のモードで2つの部分領域に分割されてもよい。例えば、高さが等しくない2つの領域は、水平分割を通じて取得されるか、或いは、幅が等しくない2つの領域は、垂直分割を通じて取得される。
三分木(Ternary Tree, TT):三分木は、ツリーのような構造である。ノードは、3つの子ノードに分割されてもよい。三分木構造におけるノードは、更に分割されなくてもよく、或いは、3つの下位レベルのノードに分割されてもよい。三分木分割モードは、以下のうち1つを含んでもよい。
(1)水平三分割
ノードに対応する画像領域は、3つの領域、すなわち、上位領域、中央領域及び下位領域に分割され、それぞれの領域は、1つの子ノードに対応する。一例では、上位領域、中央領域及び下位領域の高さは、それぞれ、分割前の画像領域の高さの1/4、1/2及び1/4である。図1(e)に示すように、ノードcは、ノードj、ノードk及びノードmを生成するために、水平三分割モードで分割される。ノードjに対応する画像領域の高さは、ノードcに対応する画像領域の高さの1/4であり、ノードkに対応する画像領域の高さは、ノードcに対応する画像領域の高さの1/2であり、ノードmに対応する画像領域の高さは、ノードcに対応する画像領域の高さの1/4である。他の例では、上位領域、中央領域及び下位領域の高さは、それぞれ、分割前の画像領域の高さの1/3、1/3及び1/3である。具体的には、ノードに対応する画像領域は、図1に示す2次元矩形座標系XoYにおけるX軸方向に3つの領域に均等に分割される。図1(f)に示すように、ノードcは、ノードj、ノードk及びノードmを生成するために、水平三分割モードで分割され、ノードjに対応する画像領域の高さ、ノードkに対応する画像領域の高さ及びノードmに対応する画像領域の高さは全て、ノードcに対応する画像領域の高さの1/3である。
(2)垂直三分割
ノードに対応する画像領域は、3つの領域、すなわち、左側領域、中央領域及び右側領域に分割され、それぞれの領域は、1つの子ノードに対応する。一例では、左側領域、中央領域及び右側領域の幅は、それぞれ、分割前の画像領域の幅の1/4、1/2及び1/4である。図1(g)に示すように、ノードcは、ノードp、ノードq及びノードxを生成するために、垂直三分割モードで分割される。ノードpに対応する画像領域の幅は、ノードcに対応する画像領域の幅の1/4であり、ノードqに対応する画像領域の幅は、ノードcに対応する画像領域の幅の1/2であり、ノードxに対応する画像領域の幅は、ノードcに対応する画像領域の幅の1/4である。他の例では、左側領域、中央領域及び右側領域の幅は、それぞれ、分割前の画像領域の幅の1/3、1/3及び1/3である。具体的には、ノードに対応する画像領域は、図1に示す2次元矩形座標系XoYにおけるY軸方向に3つの領域に均等に分割される。図1(h)に示すように、ノードcは、ノードp、ノードq及びノードxを生成するために、垂直三分割モードで分割され、ノードpに対応する画像領域の幅、ノードqに対応する画像領域の幅及びノードxに対応する画像領域の幅は全て、ノードcに対応する画像領域の幅の1/3である。
画像符号化(image encoding):画像符号化は、画像シーケンスがビットストリームに圧縮される処理プロセスである。
画像復号化(image decoding):画像復号化は、特定の構文ルールと特定の処理方法に従ってビットストリームが再構成画像に復元される処理プロセスである。
ビデオコーデック標準H.265では、CTUはQT分割モードで分割される。具体的には、CTUは、QT構造のルート(root)ノードとして使用され、CTUは、QT分割モードでいくつかのリーフノード(leaf node)に再帰的に分割される。ノードがもはや分割されない場合、当該ノードはリーフノードと呼ばれる。上記の説明から、画像が複数のCTUを含み、1つのCTUが1つの正方形画像領域に対応することが習得できる。言い換えると、1つのCTUは1つの画像ブロックに対応する。各リーフノードは1つのCUに対応する。各CUは、CTUに対応する画像ブロック内の子画像ブロックと等価であり、子画像ブロックは、QT分割モードでもはや分割できない。ノードが更に分割される必要がある場合、ノードに対応する画像領域は、同じサイズの4つの画像領域に分割される。図1(b)を参照すると、ノードに対応する画像領域が分割された後に、分割後に生成された各画像領域は1つのノードに対応し、これらのノードが更に分割されるべきであるか否かが更に決定される必要がある。ノードを分割するか否かは、ビットストリーム内のノードに対応する分割フラグビット(例えば、split_cu_flag)により識別される。QT構造におけるルートノードの深さ(略称QT深さ)は0であり、QT分割モードで生成された子ノードのQT深さは、子ノードの親ノードのQT深さに1を加えたものである。
例えば、ノードの分割フラグビットはsplit_cu_flagにより表される。split_cu_flag=0である場合、これは、ノードがもはや分割されないことを示し、或いは、split_cu_flag=1である場合、これは、ノードが更に分割されるべきであることを示す。図2に示すように、64×64のCTUノード(QT深さが0である)のsplit_cu_flagの値が1であるとき、CTUノードは、4つの32×32のノード(QT深さが1である)に分割され、4つの32×32のノードは、それぞれノードA1、ノードA2、ノードA3及びノードA4である。4つの32×32のノードのそれぞれは、ノードに対応するsplit_cu_flagに基づいて分割されてもよく或いは分割されなくてもよい。ノードA1のsplit_cu_flagの値が1である場合、ノードA1は、4つの16×16のノード(QT深さが2である)に更に分割され、4つの16×16のノードは、それぞれノードB1、ノードB2、ノードB3及びノードB4であり、ノードが更に分割されなくなるまで以下同様である。このように、1つのCTUはCUのグループに分割される。同じQT構造において、全てのCUの最小サイズ(すなわち、CUの最小値)は同じであり、CUの最小サイズはビットストリームのシーケンスパラメータセット(Sequence Parameter Set, SPS)内で識別される。例えば、8×8のCUは最小CUである。上記の再帰的分割プロセスでは、ノードのサイズがCUの最小サイズに等しい場合、ノードはもはや分割されないと決定され、ノードの分割フラグはビットストリームに含まれる必要もない。
CTUがCUのグループに分割される分割モードは、1つの符号化ツリーに対応する。図3(a)は、符号化ツリーの例である。符号化ツリーは、1つのみの分割モード、例えば、四分木分割モードに対応してもよく、或いは、複数の分割モード、例えば、上記のQTBT構造及び後述のQT-BT/TT構造に対応してもよい。
第1レベルの符号化ツリー、第2レベルの符号化ツリー、第3のレベルの符号化ツリー、...、及びNレベルの符号化ツリーは、異なる分割モードセットに対応し、Nは3よりも大きい正の整数である。異なる分割モードセットは、ツリーのタイプ、例えば、三分木、二分木又は四分木でもよく、或いは、同じタイプのツリーにおける分割モードのセット、例えば、水平二分割又は垂直二分割でもよく、或いは、これらの組み合わせでもよい。符号化ツリーは、必ずしも異なるレベルの上記の複数の符号化ツリーの全てを含むとは限らないことが理解され得る。例えば、符号化ツリーは、第1レベルの符号化ツリーのみを含んでもよく、或いは、符号化ツリーは、第1レベルの符号化ツリー及び第2レベルの符号化ツリーを含んでもよく、或いは、符号化ツリーは、第1レベルの符号化ツリー、第2レベルの符号化ツリー及び第3のレベルの符号化ツリーを含んでもよい。
一例では、第1レベルの符号化ツリーは、四分木分割を含んでもよく、第2レベルの符号化ツリーは、二分木分割及び三分木分割を含んでもよい。
一例では、第1レベルの符号化ツリーは、四分木分割を含んでもよく、第2レベルの符号化ツリーは、二分木分割、三分木分割及び四分木分割を含んでもよい。
一例では、第1レベルの符号化ツリーは、四分木分割及び二分木分割を含んでもよく、第2レベルの符号化ツリーは、三分木分割を含む。
一例では、第1レベルの符号化ツリーは、四分木分割を含んでもよく、第2レベルの符号化ツリーは、二分木分割を含んでもよく、第3のレベルの符号化ツリーは、三分木分割を含んでもよい。
一例では、第1レベルの符号化ツリーは、水平二分割を含んでもよく、第2レベルの符号化ツリーは、垂直二分割及び四分木分割を含んでもよく、第3のレベルの符号化ツリーは、垂直三分割及び水平三分割を含んでもよい。
第2レベルの符号化ツリーは、他の分割モードを更に含んでもよく、これは、この出願の実施形態では具体的に限定されない。
エンコーダデバイスは、通常では、符号化のためにCTUにより使用される特定の符号化ツリーを決定するために、レート歪み最適化(Rate Distortion Optimization, RDO)技術を使用する。具体的には、各ノードについて、エンコーダデバイスは、ノードにより使用できる各分割モードのレート歪みコスト(Rate Distortion cost, RD cost)を計算し、計算されたRDコストを比較し、最小RDコストに対応する分割モードをノードの分割モードとして決定する。
QT構造におけるものと同様に、BT構造におけるノードの深さはBT深さと呼ばれ、BT分割モードで生成された子ノードのBT深さは、子ノードの親ノードのBT深さに1を加えたものである。ノードのBT深さが最大BT深さに等しい場合、ノードはもはや分割されないと決定される。BT構造における最大BT深さは、通常では、SPS内で識別される。
一例では、BT分割モードは、QT分割モードに加えて導入される。QT分割モード及びBT分割モードは、分割モードを取得するようにカスケード接続される。この分割モードはQTBT分割モードと呼ばれる。具体的には、CTUはQT分割モードで分割され、QTリーフノードはBT分割モードで更に分割できる。言い換えると、第1レベルの符号化ツリーはQTであり、第2レベルの符号化ツリーはBTである。
図3(a)に示すように、各エンドポイントはノードを表し、実線はノードがQT分割モードで分割されることを表し、破線はノードがBT分割モードで分割されることを表し、A〜Mは13個のリーフノードであり、各リーフノードは1つのCUに対応する。BT構造において、10は垂直二分割を表し、11は水平二分割を表す。図3(b)は、図3(a)に示す分割モードで分割されたCTUに対応する画像領域を示す。
QTBT分割モードでは、各CUはQT深さ及びBT深さを有する。QTBT分割モードにおけるCUについて、CUのQT深さは、CUが属するQTリーフノードのQT深さであり、CUのBT深さは、CUが属するBTリーフノードのBT深さである。CTUが分割されない場合、すなわち、1つのみのCUが存在する場合、CUのQT深さは0であり、CUのBT深さは0である。
例えば、図3(a)では、A及びBのQT深さは1であり、A及びBのBT深さは2であり、C、D及びEのQT深さは1であり、C、D及びEのBT深さは1であり、F、K及びLのQT深さは2であり、F、K及びLのBT深さは1であり、I及びJのQT深さは2であり、I及びJのBT深さは0であり、G及びHのQT深さは2であり、G及びHのBT深さは2であり、MのQT深さは1であり、MのBT深さは0である。
QTBT分割モードにおけるCUの形状はより多様化され、これはローカル画像の内容により良く適応できる。標準H.265では、QT分割モードに基づく分割を通じて取得された全てのCUは、正方形のみとすることができ、すなわち、CUの幅(width)は、CUの高さ(height)に等しい。BT分割モードがQT分割モードに加えて導入された後に、CUの幅及び高さは互いに異なってもよい。例えば、幅対高さの比(幅対高さの比の数値は、高さで除算した幅に等しい)は、2、4、8、16、1/2、1/4、1/8又は1/16である。明らかに、QTBT分割モードでは、各CUの幅も高さも、最小CUの辺の長さよりも小さくすることはできない(例えば、最小CUは4×4に設定されてもよい)。ビデオストリームのSPSは、通常では、最小CUのサイズ情報を含む。
QTBTに加えて、QT-BT/TT分割モードが更に含まれてもよい。具体的には、第1レベルの符号化ツリーのノードはQT分割モードを使用し、第2レベルの符号化ツリーのノードはBT分割モード又はTT分割モードを使用してもよい。具体的には、CTUは第1レベルの符号化ツリーのルートノードであり、CTUは、第1レベルの符号化ツリーのいくつかのリーフノードを生成するために、QT分割モードで分割される。次いで、第1レベルの符号化ツリーのリーフノードは、第2レベルの符号化ツリーのルートノードとして使用され、第2レベルの符号化ツリーのノードは、第2レベルの符号化ツリーのいくつかのリーフノードを生成するために、BT分割モード(水平二分割及び垂直二分割を含む)又はTT分割モード(水平三分割及び垂直三分割を含む)で分割される。
しかし、各ノードについて、エンコーダデバイスは、通常では、ノードにより使用できる各分割モードのRDコストを計算し、計算されたRDコストを比較し、最小RDコストに対応する分割モードをノードの分割モードとして決定する必要がある。QT-BT/TT分割モードでは、BT分割モード又はTT分割モードが第2レベルの符号化ツリーのノードに使用されてもよいので、第2レベルの符号化ツリーの各ノードについて、エンコーダデバイスは、第2レベルの符号化ツリーのノードにより実際に使用される分割モードを決定するために、4つの分割モード(水平二分割、垂直二分割、水平三分割及び垂直三分割)のRDコストを計算する必要がある。その結果、符号化の複雑さは比較的高い。
上記の問題を考慮して、この出願の実施形態は、画像データ復号化方法を提供する。画像データを含むビットストリームを取得した後に、デコーダデバイスは、第1レベルの符号化ツリーのノード分割モード情報及び第2レベルの符号化ツリーのノード分割モード情報を取得するために、ビットストリームを解析する。第2レベルの符号化ツリーのノード分割モード情報は、第2レベルの符号化ツリーの第1のノードに対応する分割モードを示し、第1のノードに対応する分割モードは、第1のノードに対応する候補分割モードセット内の1つのモードであり、第1のノードに対応する候補分割モードセットは、第1の予め設定された分割条件に従って決定され、第1の予め設定された分割条件は、第1のノードが目標分割モードで分割されることを制限するか否かを示すために使用され、目標分割モードは、水平二分割、水平三分割、垂直二分割及び垂直三分割のうち少なくとも1つを含む。第1のノードに対応する分割モードがそれ以上の分割がないものである場合、デコーダデバイスは、第1のノードの符号化情報を取得するために、ビットストリームを解析する。第1のノードは、1つの符号化ユニットCUに対応する。このように、デコーダデバイスは、画像データに対応する画像を取得するために、第1のノードの符号化情報に基づいて符号化ユニットを復号化して再構成できる。この出願では、第1レベルの符号化ツリーのルートノードは、1つのCTUに対応し、第1レベルの符号化ツリーのリーフノードは、第1レベルの符号化ツリーのルートノードと、第1レベルの符号化ツリーのノード分割モード情報に対応するノード分割モードとを使用することにより識別され、第2レベルの符号化ツリーのルートノードは、第1レベルの符号化ツリーのリーフノードである。この出願のこの実施形態では、第2レベルの符号化ツリーの第1のノードに対応する分割モードは、第1の予め設定された分割条件に従って決定された分割モードのうち1つであり、第1の予め設定された分割条件は、第1のノードが目標分割モードで分割されることを制限するか否かを示すために使用され、目標分割モードは、水平二分割、水平三分割、垂直二分割及び垂直三分割のうち少なくとも1つを含む。第1のノードに対応する分割モードの数は、第1の予め設定された分割条件によって低減され、効果的に復号化の複雑さを低減する。
対応して、この出願の実施形態は、画像データ符号化方法を更に提供する。符号化対象の画像ブロックに対応するCTUを決定した後に、エンコーダデバイスは、第1レベルの符号化ツリーのリーフノードを取得するために、第1レベルの符号化ツリーに対応するノード分割モードでCTUを分割する。第1レベルの符号化ツリーのルートノードは、CTUに対応する。エンコーダデバイスは、第2レベルの符号化ツリーの第1のノードに対応する候補分割モードセットを決定する。第1のノードに対応する候補分割モードセットは、第1のノードが目標分割モードで分割されることを制限するか否かを示すために使用される第1の予め設定された分割条件を満たし、目標分割モードは、水平二分割、水平三分割、垂直二分割及び垂直三分割のうち少なくとも1つを含み、第2レベルの符号化ツリーのルートノードは、第1レベルの符号化ツリーのリーフノードである。第1のノードに対応する候補分割モードセットがそれ以上の分割がないものを含む場合、エンコーダデバイスは、符号化ユニットに対応する符号化ユニットビットストリームを取得するために、第1のノードに対応する符号化ユニットを符号化する。この出願のこの実施形態における第1の予め設定された分割条件は、第2レベルの符号化ツリーのノードの分割モードを制限し、第2レベルの符号化ツリーのノードを分割する複雑さをかなり低減し、符号化の複雑さを低減する。
この出願の実施形態により提供される画像データ符号化方法及び画像データ復号化方法は共に、画像処理システムに適用可能である。図4は、この出願の実施形態による画像処理システムの概略構造図である。図4に示すように、画像処理システムは、エンコーダデバイス40と、デコーダデバイス41とを含む。エンコーダデバイス40及びデコーダデバイス41は、別々に配置されてもよく、或いは、1つのデバイスに統合されてもよい。これは、この出願のこの実施形態では具体的に限定されない。例えば、図1では、エンコーダデバイス40及びデコーダデバイス41は別々に配置されている。説明を容易にするために、エンコーダデバイス及びデコーダデバイスが別々に配置される例を使用することにより、以下に説明が提供される。
具体的には、ビデオをキャプチャした後に、エンコーダデバイス40は、第1レベルの符号化ツリーの分割モード及び第2レベルの符号化ツリーの分割モードで、ビデオ内の各画像に対応するCTUを処理する。第2レベルの符号化ツリーの第1のノードに対応する候補分割モードセットがそれ以上の分割がないものを含む場合、エンコーダデバイス40は、符号化ユニットに対応する符号化ユニットビットストリームを取得するために、第1のノードに対応する符号化ユニットを符号化する。第2レベルの符号化ツリーの各ノードに対応する符号化ユニットビットストリームを取得した後に、エンコーダデバイス40は、CTUビットストリームを取得し、CTUビットストリームをデコーダデバイス41に送信する。デコーダデバイス41は、第2レベルの符号化ツリーのノード分割モード情報を取得するために、デコーダデバイス41により取得されたCTUビットストリームを解析し、再構成画像を取得するために、第2レベルの符号化ツリーのノード分割モード情報に基づいて対応する処理を実行する。
エンコーダデバイス40及びデコーダデバイス41の双方は、カメラ(例えば、前面カメラ又は背面カメラ)を有する様々なデバイスでもよい。例えば、エンコーダデバイス及びデコーダデバイスは、ウェアラブル電子デバイス(例えば、スマートウォッチ)又はインスタントカメラでもよく、或いは、図5に示す携帯電話でもよく、或いは、タブレットコンピュータ、デスクトップコンピュータ、バーチャルリアリティ装置、ノートブックコンピュータ、ウルトラモバイルパーソナルコンピュータ(Ultra-mobile Personal Computer, UMPC)、パーソナルデジタルアシスタント(Personal Digital Assistant, PDA)等でもよい。エンコーダデバイス40及びデコーダデバイス41の具体的な形式は、この出願のこの実施形態では具体的に限定されない。
図4を参照して、図5に示すように、この実施形態におけるエンコーダデバイス40及びデコーダデバイス41の双方は、携帯電話でもよい。以下に、携帯電話を例として使用することにより、この実施形態について具体的に説明する。
図5に示す携帯電話は、エンコーダデバイス40及びデコーダデバイス41の単なる例であり、携帯電話は、図5に示すコンポーネントよりも多い或いは少ないコンポーネントを含んでもよく、2つ以上のコンポーネントを組み合わせてもよく、或いは、異なるコンポーネントの構成を有してもよいことが理解されるべきである。図5に示すコンポーネントは、1つ以上のシグナルプロセッサ及び/又は特定用途向け集積回路を含むハードウェア、ソフトウェア又はハードウェアとソフトウェアとの組み合わせで実現されてもよい。
図5に示すように、携帯電話は、RF(Radio Frequency、無線周波数)回路50、メモリ51、入力ユニット52、表示ユニット53、センサ54、オーディオ回路55、ワイヤレスフィデリティ(Wireless Fidelity, Wi-Fi)モジュール56、プロセッサ57、ブルートゥースモジュール58及び電源59のようなコンポーネントを含む。当業者は、図5に示す携帯電話の構造が携帯電話に対する限定を構成せず、携帯電話は、図5に示すコンポーネントよりも多い或いは少ないコンポーネントを含んでもよく、いくつかのコンポーネントを組み合わせてもよく、或いは、異なるコンポーネントの構成を有してもよいことを理解し得る。
以下に、図5を参照して携帯電話の構成となるコンポーネントについて具体的に説明する。
RF回路50は、情報送信及び受信プロセス又は呼プロセスにおいて信号を送信及び受信するように構成されてもよい。RF回路310は、基地局からダウンリンク情報を受信し、次いで、処理のためにダウンリンク情報をプロセッサ57に送信し、アップリンクデータを基地局に送信してもよい。RF回路は、通常では、アンテナ、少なくとも1つの増幅器、トランシーバ、カプラ、低雑音増幅器及びデュプレクサのようなデバイスを含むが、これらに限定されない。さらに、RF回路50は、無線通信を通じてネットワーク及び他のモバイルデバイスと更に通信してもよい。無線通信は、グローバル・システム・フォー・モバイル・コミュニケーションズ、汎用パケット無線サービス、符号分割多元接続、広帯域符号分割多元接続、ロングタームエボリューション、電子メール、ショートメッセージサービス等を含むが、これらに限定されない、いずれかの通信標準又はプロトコルを使用してもよい。
メモリ51は、ソフトウェアプログラム及びデータを記憶するように構成されてもよい。プロセッサ57は、携帯電話110の様々な機能を実行してデータを処理するために、メモリ51に記憶されたソフトウェアプログラム及びデータを実行する。メモリ51は、主に、プログラム記憶領域及びデータ記憶領域を含んでもよい。プログラム記憶領域は、オペレーティングシステム、少なくとも1つの機能(オーディオ再生機能及び画像再生機能等)により必要とされるアプリケーションプログラム等を記憶してもよい。データ記憶領域は、携帯電話の使用等に従って作成されたデータ(オーディオデータ、電話帳及びビデオ等)を記憶してもよい。さらに、メモリ51は、高速ランダムアクセスメモリを含んでもよく、不揮発性メモリ、例えば、少なくとも1つの磁気ディスク記憶デバイス、フラッシュメモリデバイス又は他の揮発性ソリッドステート記憶デバイスを更に含んでもよい。以下の実施形態では、メモリ51は、携帯電話が実行されるのを可能にするオペレーティングシステム、例えば、アップルにより開発されたiOS(登録商標)オペレーティングシステム、グーグルにより開発されたAndroid(登録商標)オープンソースオペレーティングシステム、及びマイクロソフトにより開発されたWindows(登録商標)オペレーティングシステムを記憶する。
入力ユニット52(例えば、タッチスクリーン)は、入力された数字又は文字情報を受け取り、携帯電話のユーザ設定及び機能制御に関する信号入力を生成するように構成されてもよい。具体的には、入力ユニット52は、タッチスクリーン521及び他の入力デバイス522を含んでもよい。タッチスクリーン521は、タッチパネルとも呼ばれ、タッチスクリーン521上或いはその近くでユーザにより実行されるタッチ操作(例えば、指又はスタイラスのようないずれか適切な物又はアクセサリを使用することにより、ユーザによりタッチスクリーン521上或いはその近くで実行される操作)を収集し、予め設定されたプログラムに従って対応する接続装置を駆動してもよい。任意選択で、タッチスクリーン521は、2つのコンポーネント、すなわち、タッチ検出装置及びタッチコントローラ(図5に図示せず)を含んでもよい。タッチ検出装置は、ユーザのタッチ位置を検出し、タッチ操作により生成された信号を検出し、信号をタッチコントローラに転送する。タッチコントローラは、タッチ検出装置からタッチ情報を受信し、タッチ情報を接触座標に変換し、接触座標をプロセッサ57に送信し、プロセッサ57により送信された命令を受信及び実行できる。さらに、タッチスクリーン521は、抵抗型、容量型、赤外線型及び表面音波型のような様々なタイプで実現されてもよい。
表示ユニット53(すなわち、表示スクリーン)は、ユーザにより入力された情報又はユーザに提供される情報と、携帯電話の様々なメニューのグラフィカルユーザインタフェース(Graphical User Interface, GUI)とを表示するように構成されてもよい。表示ユニット53は、携帯電話の前面に配置された表示パネル531を含んでもよい。任意選択で、表示パネル531は、液晶ディスプレイ(Liquid Crystal Display, LCD)又は有機発光ダイオード(Organic Light-emitting Diode, OLED)のような形式で構成されてもよい。さらに、タッチスクリーン521は、表示パネル531を覆ってもよい。タッチスクリーン521上或いはその近くでタッチ操作を検出した後に、タッチスクリーン131は、タッチイベントタイプを決定するために、タッチ操作をプロセッサ57に転送する。次いで、プロセッサ57は、タッチイベントタイプに基づいて、対応する視覚出力を表示パネル531に提供する。図5において、タッチスクリーン521及び表示パネル531は、携帯電話の入力及び出力機能を実現するための別個のコンポーネントとして使用される。しかし、いくつかの実施形態では、タッチスクリーン521及び表示パネル531は、携帯電話の入力及び出力機能を実現するために統合されてもよい。
他の実施形態では、圧力センサがまた、タッチスクリーン521上に構成されてもよい。このように、ユーザがタッチスクリーン上でタッチ操作を実行したとき、タッチスクリーンは、タッチ操作によりもたらされる圧力を更に検出でき、それにより、携帯電話は、より正確にタッチ操作を検出できる。
携帯電話は、少なくとも1つのセンサ54、例えば、光センサ、動きセンサ及び他のセンサを更に含んでもよい。具体的には、光センサは、周辺光センサ及び近接センサを含んでもよい。周辺光センサは、周辺光の明るさに基づいて表示パネル531の輝度を調整してもよい。近接センサは、携帯電話の前面に配置される。携帯電話が耳に移動したとき、携帯電話は、近接センサの検出に基づいて表示パネル531の電源をオフにし、それにより、携帯電話が電力を更に節約できる。動きセンサとして、加速度センサは、全ての方向(通常では3つの軸)における加速度の大きさを検出してもよく、加速度センサが静止しているときの重力の大きさ及び方向を検出してもよく、携帯電話姿勢のアプリケーション(例えば、風景モードと肖像モードとの間のスクリーン切り替え、関連するゲーム及び磁力計の姿勢較正)、振動認識に関する機能(歩数計又はノック等)等を認識するように構成されてもよい。ジャイロスコープ、気圧計、湿度計、温度計及び赤外線センサのような他のセンサが、携帯電話に更に構成されてもよい。詳細はここでは説明しない。
オーディオ回路55、スピーカ551及びマイクロホン552は、ユーザと携帯電話との間のオーディオインタフェースを提供してもよい。オーディオ回路55は、受信したオーディオデータから変換された電気信号をスピーカ551に送信してもよく、スピーカ551は、出力のために電気信号を音信号に変換する。さらに、マイクロホン552は、収集された音信号を電気信号に変換し、オーディオ回路55は、電気信号を受信した後に、電気信号をオーディオデータに変換し、次いで、オーディオデータを、例えば、他の携帯電話に送信するために、オーディオデータをRF回路50に出力するか、或いは、更なる処理のためにオーディオデータをメモリ51に出力する。
Wi-Fiは近距離無線送信技術である。Wi-Fiモジュール56を使用することにより、携帯電話は、ユーザが電子メールを送信及び受信すること、ウェブページを閲覧すること、ストリーミングメディアにアクセスすること等を支援してもよい。Wi-Fiは、ユーザのために無線ブロードバンドインターネットアクセスを提供する。
プロセッサ57は、携帯電話110の制御センタであり、様々なインタフェース及びラインを使用することにより全体の携帯電話のコンポーネントに接続される。メモリ51に記憶されたソフトウェアプログラムを動作又は実行し、メモリ51に記憶されたデータを呼び出すことにより、プロセッサ57は、携帯電話上で全体的な監視を実行するために、携帯電話の様々な機能を実行してデータを処理する。いくつかの実施形態では、プロセッサ57は、1つ以上の処理ユニットを含んでもよい。プロセッサ57は、アプリケーションプロセッサ及びモデムプロセッサを更に統合してもよい。アプリケーションプロセッサは、主に、オペレーティングシステム、ユーザインタフェース、アプリケーションプログラム等を処理する。モデムプロセッサは、主に無線通信を処理する。モデムプロセッサはまた、別々に配置されてもよいことが理解され得る。
ブルートゥースモジュール58は、ブルートゥースのような短距離通信プロトコルを使用することにより、他のデバイスと情報を交換するように構成される。例えば、携帯電話は、ブルートゥースモジュール58を使用することにより、データを交換するために、同様にブルートゥースモジュールを有するウェアラブル電子デバイス(例えば、スマートウォッチ)へのブルートゥース接続を確立してもよい。
携帯電話は、電力をコンポーネントに供給する電源59(例えば、バッテリ)を更に含む。電源は、電力管理システムを使用することにより充電及び放電管理並びに消費電力管理のような機能を実現するために、電力管理システムを使用することによりプロセッサ57に論理的に接続されてもよい。
具体的な実施形態を参照して、以下に、この出願の実施形態による画像データ符号化方法及び画像データ復号化方法について詳細に説明する。
図6は、この出願の実施形態による画像データ復号化方法の概略フローチャートである。復号化方法は、図4に示す画像処理システムに適用されてもよい。
図6に示すように、画像データ復号化方法は、以下のステップを含む。
S600.デコーダデバイスは、画像データを含むビットストリームを取得する。
任意選択で、画像データを含み且つデコーダデバイスにより取得されたビットストリームは、シーケンスパラメータセット(Sequence Parameter Set, SPS)、画像パラメータセット(Picture Parameter Set, PPS)、スライスヘッダ(slice header)又はスライスセグメントヘッダ(slice segment header)及びCTUビットストリームを含む。CTUビットストリームは、画像データを搬送する。
S601.デコーダデバイスは、第1レベルの符号化ツリーのノード分割モード情報を取得するために、デコーダデバイスにより取得されたビットストリームを復号化する。
第1レベルの符号化ツリーのルートノードは、1つのCTUに対応し、第1レベルの符号化ツリーのリーフノードは、第1レベルの符号化ツリーのルートノードと、第1レベルの符号化ツリーのノード分割モード情報に対応するノード分割モードとを使用することにより識別される。第1レベルの符号化ツリーに対応するノード分割モードは、四分木分割を含む。
ビットストリームを取得した後に、デコーダデバイスは、第1レベルの符号化ツリーのノード分割情報(分割モードを含む)を取得するために、ビットストリーム内のCTUビットストリームを解析する。
任意選択で、第1レベルの符号化ツリーのノード分割情報を取得するために、デコーダデバイスによりCTUビットストリームを解析するための方法は以下の通りでもよい。デコーダデバイスは、CTUビットストリーム内の構文要素に含まれ且つどのようにCTUを少なくとも1つのCUに分割するかを示すために使用される第1の識別子(例えば、SplitFlag)を取得するために、CTUを第1レベルの符号化ツリーのルートノードとして使用することにより、CTUビットストリームを解析し、すなわち、第1の識別子は、第1レベルの符号化ツリーのノード分割モード情報を表す。一例では、特定のSplitFlagの数値が0である場合、これは、特定のSplitFlagに対応するノードが第1レベルの符号化ツリーのリーフノードであることを示す。SplitFlagの数値が1である場合、特定のSplitFlagに対応するノードの4つの子ノードのSplitFlagは、第1レベルの符号化ツリーの全てのリーフノードに関する情報が決定されるまで、更に取得される。
ノードに対応する画像領域の幅が第1の閾値に等しい場合(例えば、第1の閾値は8又は16である)、ノードは第1レベルの符号化ツリーのリーフノードであり、ノードに対応するSplitFlagの数値は0である点に留意すべきである。
任意選択で、第1レベルの符号化ツリーのノード分割情報を取得するために、デコーダデバイスによりCTUビットストリームを解析するための方法は以下の通りでもよい。デコーダデバイスは、CTUビットストリームの構文要素に含まれ且つ第1レベルの符号化ツリーのノードを分割するか否かを示すために使用される第2の識別子(例えば、NSFlag)を取得するために、CTUを第1レベルの符号化ツリーのルートノードとして使用することにより、CTUビットストリームを解析する。第2の識別子の数値が第1の値(例えば、1)である場合、これは、第2の識別子に対応するノードが第1レベルの符号化ツリーのリーフノードであり、第2レベルの符号化ツリーのリーフノードでもあることを示し、或いは、第2の識別子の数値が第2の値(例えば、0)である場合、構文要素に含まれる第3の識別子(例えば、QTSplitFlag)が取得される。第3の識別子の数値が第3の値(例えば、0)である場合、これは、第3の識別子に対応するノードが第1レベルの符号化ツリーのリーフノードであるが、第2レベルの符号化ツリーのリーフノードではないことを示し、或いは、第3の識別子の数値が第4の値(例えば、1)である場合、第3の識別子に対応するノードの4つの子ノードの第2の識別子が、第1レベルの符号化ツリーの全てのリーフノードに関する情報が決定されるまで、更に取得される。
ノードに対応する画像領域の幅が第1の閾値に等しい場合(例えば、第1の閾値は8又は16である)、ノードは、第1レベルの符号化ツリーのリーフノードであり、ノードに対応する第3の識別子の数値は第3の値である点に留意すべきである。さらに、ノードに対応する画像領域の幅又は高さが第2の閾値よりも大きく、ノードに対応する第2の識別子の値が第2の値である場合、第3の識別子の数値は第3の値であり、或いは、ノードに対応する分割モードがQT分割である場合、ノードに対応する第2の識別子の数値は第2の値であり、ノードに対応する第3の識別子の数値は第3の値である。
一例では、この出願のこの実施形態における第1レベルの符号化ツリーの構文テーブルが表1に示される。表1において、coding_quadtree()は、第1レベルの符号化ツリーの構文構造であり、第1レベルの符号化ツリーのノードに関する情報を記述する。
表1において、coding_quadtree(xCtb,yCtb,CtbLog2SizeY,0)は、CTUをルートノードとして使用することにより解析され、CtbLog2SizeYは、2を底として用いるCTUの辺の長さの対数であり(ここでは、CTUに対応する画像領域は正方形である)、xCtb及びyCtbは、それぞれ、CTUに対応する画像領域の左上角の、ノードに対応する画像領域の左上角に対する水平座標オフセット及び垂直座標オフセットを表し、x0及びy0は、それぞれ、ノードに対応する画像領域の左上角の、CTUに対応する画像領域の左上角に対する水平座標オフセット及び垂直座標オフセットを表し、log2CbSizeは、2を底として用いるノードに対応する画像領域の辺の長さの対数を表し(CTUに対応する画像領域は正方形であり、第1レベルの符号化ツリーは、四分木分割のみを使用し、第1レベルの符号化ツリーの全てのノードに対応する画像領域もまた正方形であり、等しい幅及び高さを有するので、辺の長さのみが識別される必要があり、幅と高さとの間を区別する必要はない)、cqtDepthは、第1レベルの符号化ツリーにおけるノードの深さを表し、条件condAは、第1レベルの符号化ツリーのノード分割情報構文要素split_cu_flagがビットストリームから解析される必要がある条件を表す。例えば、condAは、「ノードに対応する画像領域がCTUに対応する画像領域内にあり、ノードに対応する画像領域の辺の長さが閾値よりも大きい」というものである。split_cu_flagが0である場合、これは、ノードが四分木に基づいて分割されず、第1レベルの符号化ツリーのリーフノードであることを示す。この場合、リーフノードは、第2レベル符号化ツリーの構文構造coding_second_tree()に基づいて解析され、或いは、split_cu_flagが1である場合、これは、ノードが四分木に基づいて分割されることを示す。この場合、ノードは4つの子ノードに分割され、各子ノードに対応する画像領域の辺の長さ及び座標と、第1レベルの符号化ツリーにおける各子ノードの深さとが決定され、子ノードはcoding_quadtree()に基づいて順次解析される。「X>>Y」は、XをYビットだけ右方向に移動させることを示す。「X<<Y」は、XをYビットだけ左方向に移動させることを示す。ae(v)は、CABACに基づいて構文要素を解析することを示す。
S602.デコーダデバイスは、第2レベルの符号化ツリーのノード分割モード情報を取得するために、デコーダデバイスにより取得されたビットストリームを解析する。
第2レベルの符号化ツリーのノード分割モード情報は、第2レベルの符号化ツリーの第1のノードに対応する分割モードを示し、第1のノードに対応する分割モードは、第1のノードに対応する候補分割モードセット内の1つのモードであり、第1のノードに対応する候補分割モードセットは、第1の予め設定された分割条件に従って決定され、第1の予め設定された分割条件は、第1のノードが目標分割モードで分割されることを制限するか否かを示すために使用され、目標分割モードは、水平二分割、水平三分割、垂直二分割及び垂直三分割のうち少なくとも1つを含む。
第2レベルの符号化ツリーのルートノードは、第1レベルの符号化ツリーのリーフノードである。第2レベルの符号化ツリーに対応するノード分割モードは、第1レベルの符号化ツリーに対応するノード分割モードとは異なる。この実施形態では、第2レベルの符号化ツリーに対応するノード分割モードは、二分木分割及び三分木分割を含み、二分木分割は、水平二分割及び垂直二分割を含み、三分木分割は、水平三分割及び垂直三分割を含む。
第1レベルの符号化ツリーのノード分割モード情報を取得した後に、デコーダデバイスは、第1レベルの符号化ツリーのルートノード及び第1レベルの符号化ツリーのノード分割モード情報に対応するノード分割モードにより識別される第1レベルの符号化ツリーのリーフノードを、第2レベルの符号化ツリーのルートノードとして使用し、第2レベルの符号化ツリーのノード分割モード情報を取得するために、CTUビットストリームを解析する。
任意選択で、第2レベルの符号化ツリーのノード分割モード情報を取得するために、デコーダデバイスによりCTUビットストリームを解析するための方法は以下の通りでもよい。デコーダデバイスは、どのように第2レベルの符号化ツリーのノードを分割するかを示すために使用される第4の識別子(例えば、STSplitMode)を取得するために、CTUビットストリームを解析し、すなわち、第4の識別子は、第2レベルの符号化ツリーのノード分割モード情報を示す。
第4の識別子がそれ以上の分割がないものを示す場合(例えば、STSplitModeが0に等しい場合)、これは、第4の識別子に対応するノードが第2レベルの符号化ツリーのリーフノードであることを示す。
第4の識別子が更なる分割を示す場合(例えば、STSplitModeが1、2、3又は4に等しい場合)、これは、第4の識別子に対応するノードが2つ又は3つの子ノードを含むことを示し、デコーダデバイスは、第2レベルの符号化ツリーの全てのリーフノードに関する情報が決定されるまで、第4の識別子に対応するノードの子ノードの第4の識別子を更に取得する。例えば、STSplitModeが1である場合、これは、第4の識別子に対応するノードに対応する分割モードが水平二分割であることを示し、STSplitModeが2である場合、これは、第4の識別子に対応するノードに対応する分割モードが垂直二分割であることを示し、STSplitModeが3である場合、これは、第4の識別子に対応するノードに対応する分割モードが水平三分割であることを示し、或いは、STSplitModeが4である場合、これは、第4の識別子に対応するノードに対応する分割モードが垂直三分割であることを示す。
任意選択で、第2レベルの符号化ツリーのノード分割モード情報を取得するために、デコーダデバイスによりCTUビットストリームを解析するための方法はまた以下の通りでもよい。第2レベルの符号化ツリーの第1のノードについて、デコーダデバイスは、最初にビットストリームを解析し、次いで、第1の予め設定された分割条件に従って、第1のノードに対応する候補分割モードセットを決定し、次いで、第1のノードに対応する分割モード情報を決定するために、第1のノードに対応する候補分割モードセットに基づいてビットストリームを解析する。
ここで、第1の予め設定された分割条件は、以下の予め設定された分割サブ条件、すなわち、第1の予め設定された分割サブ条件、第2の予め設定された分割サブ条件、第3の予め設定された分割サブ条件、第4の予め設定された分割サブ条件、第5の予め設定された分割サブ条件、第6の予め設定された分割サブ条件、第7の予め設定された分割サブ条件、第8の予め設定された分割サブ条件及び第9の予め設定された分割サブ条件のうち少なくとも1つを含む。
第1の予め設定された分割サブ条件は以下の通りである。第1のノードに対応する画像領域の幅対高さの比が第1の予め設定された閾値(8又は4等)以上である場合、第1のノードに対応する候補分割モードセットは、水平二分割又は水平三分割を含まない。第1のノードに対応する画像領域の幅対高さの比は、第1のノードに対応する画像領域の幅の、第1のノードに対応する画像領域の高さに対する比である。
第2の予め設定された分割サブ条件は以下の通りである。第1のノードに対応する画像領域の高さ対幅の比が第2の予め設定された閾値(8又は4等)以上である場合、第1のノードに対応する候補分割モードセットは、垂直二分割又は垂直三分割を含まない。第1のノードに対応する画像領域の高さ対幅の比は、第1のノードに対応する画像領域の高さの、第1のノードに対応する画像領域の幅に対する比である。
第3の予め設定された分割サブ条件は以下の通りである。第1のノードに対応する画像領域の面積の、第1のノードが属する第1レベルの符号化ツリーのリーフノードに対応する画像領域の面積に対する比が第3の予め設定された閾値(16又は8等)以下である場合、第1のノードに対応する候補分割モードセットは、水平二分割、水平三分割、垂直二分割又は垂直三分割を含まない。
第4の予め設定された分割サブ条件は以下の通りである。第1のノードに対応する分割モードが第1の分割モードを含み、第1のノードの第1の子ノードの復号化が第1のノードの第2の子ノードの復号化よりも遅く、第2の子ノードに対応する分割モードが第1の分割モードである場合、第1の子ノードに対応する候補分割モードセットは、第1の分割モードを含まない。第1の分割モードは、水平二分割又は垂直二分割である。
例えば、第1のノード及び第2の子ノードに対応する分割モードが共に水平三分割である場合、第1の子ノードに対応する候補分割モードセットは水平三分割を含まず、すなわち、水平三分割モードで第1の子ノードを分割することは許容されない。
第5の予め設定された分割サブ条件は以下の通りである。第1のノードに対応する分割モードが第2の分割モードを含み、第1のノードの第1の子ノードに対応する画像領域の面積が第1のノードの3つの子ノードに対応する画像領域の面積の中で最も小さい場合、第1の子ノードに対応する候補分割モードセットは、第2の分割モードを含まない。第2の分割モードは、水平三分割又は垂直三分割である。
例えば、第1の子ノードに対応する分割モードが水平三分割である場合、第1の子ノードに対応する候補分割モードセットは水平三分割を含まず、すなわち、水平三分割モードで第1の子ノードを分割することは許容されない。
第6の予め設定された分割サブ条件は以下の通りである。第1のノードに対応する分割モードが第2の分割モードを含み、第1のノードの第1の子ノードに対応する画像領域の面積が第1のノードの3つの子ノードに対応する画像領域の面積の中で最も大きい場合、第1の子ノードに対応する候補分割モードセットは、第2の分割モードを含まない。
第7の予め設定された分割サブ条件は以下の通りである。第1のノードに対応する画像領域の幅の、最小CUの予め設定された辺の長さに対する比が第3の予め設定された閾値以下である場合、第1のノードに対応する候補分割モードセットは、垂直三分割を含まず、或いは、第1のノードに対応する画像領域の高さの、最小CUの予め設定された辺の長さに対する比が第3の予め設定された閾値以下である場合、第1のノードに対応する候補分割モードセットは、水平三分割を含まない。
第8の予め設定された分割サブ条件は以下の通りである。第1のノードに対応する画像領域の面積が第4の予め設定された閾値以下である場合、第1のノードに対応する候補分割モードセットは、水平二分割、水平三分割、垂直二分割又は垂直三分割を含まない。
第9の予め設定された分割サブ条件は以下の通りである。第1のノードに対応する分割モードが第2の分割モードであり、第1のノードの第1の子ノードに対応する画像領域の面積が第1のノードの3つの子ノードに対応する画像領域の面積の中で最も大きい場合、第1の子ノードに対応する候補分割モードセットは、第1の分割モードを含まない。第1の分割モードの分割方向は、第2の分割モードの分割方向と同じである。
例えば、第1のノードに対応する分割モードが水平三分割であり、第1のノードの第1の子ノードに対応する画像領域の面積が第1のノードの3つの子ノードに対応する画像領域の面積の中で最も大きい場合、第1の子ノードに対応する候補分割モードセットは、水平二分割を含まず、すなわち、水平二分割モードで第1の子ノードを分割することは許容されない。
例えば、この出願のこの実施形態における第1の予め設定された分割条件は、第3の予め設定された分割サブ条件を含んでもよく、第4の予め設定された分割サブ条件を含んでもよく、或いは、第5の予め設定された分割サブ条件を含んでもよく、第1の予め設定された分割サブ条件及び第2の予め設定された分割サブ条件を含んでもよく、第1の予め設定された分割サブ条件、第2の予め設定された分割サブ条件、第4の予め設定された分割サブ条件、第6の予め設定された分割サブ条件及び第7の予め設定された分割サブ条件を含んでもよく、第1の予め設定された分割サブ条件、第2の予め設定された分割サブ条件、第3の予め設定された分割サブ条件及び第7の予め設定された分割サブ条件を含んでもよく、第1の予め設定された分割サブ条件、第2の予め設定された分割サブ条件、第3の予め設定された分割サブ条件、第5の予め設定された分割サブ条件及び第7の予め設定された分割サブ条件を含んでもよく、第5の予め設定された分割サブ条件及び第7の予め設定された分割サブ条件を含んでもよく、第3の予め設定された分割サブ条件、第4の予め設定された分割サブ条件及び第7の予め設定された分割サブ条件を含んでもよく、或いは、第1の予め設定された分割サブ条件、第2の予め設定された分割サブ条件、第4の予め設定された分割サブ条件及び第5の予め設定された分割サブ条件を含んでもよい。
明らかに、この出願のこの実施形態における第1の予め設定された分割条件は、代替として、上記の予め設定された分割サブ条件の他の組み合わせでもよい。詳細は、ここでは再び説明しない。
任意選択で、デコーダデバイスは、画像データを含むビットストリーム内のSPS、PPS又はスライスヘッダから、第1の予め設定された閾値、第2の予め設定された閾値、第3の予め設定された閾値、第4の予め設定された閾値及び最小CUの予め設定された辺の長さを取得してもよい。明らかに、第1の予め設定された閾値、第2の予め設定された閾値、第3の予め設定された閾値、第4の予め設定された閾値及び最小CUの予め設定された辺の長さは、代替として、画像処理システムにより予め設定されてもよい。
さらに、第1の予め設定された分割サブ条件〜第9の予め設定された分割サブ条件に加えて、この出願のこの実施形態における第1の予め設定された分割条件はまた、他の条件を含んでもよい。これは、この出願のこの実施形態では具体的に限定されない。
例えば、第1の予め設定された分割条件は、以下の条件のうちいずれか1つを更に含む。
A.第2レベルの符号化ツリーにおける第1のノードの深さが第2レベルの符号化ツリーにおける予め設定された最大深さ(例えば、第2レベルの符号化ツリーにおける予め設定された最大深さは3、4又は2である)に等しい場合、第1のノードに対応する候補分割モードセットは、それ以上の分割がないものを含む。
エンコーダデバイスは、画像データを含むビットストリーム内のSPS、PPS又はスライスヘッダから、予め設定された最大の第2レベルの符号化ツリーのレベルを取得してもよい。
B.第1のノードに対応する画像領域の幅が、予め設定された最小CUの幅に等しい場合、第1のノードに対応する候補分割モードセットは、水平二分割を含まない。
C. 第1のノードに対応する画像領域の幅又は高さが、第5の予め設定された閾値(例えば、64又は128)よりも大きい場合、第1のノードに対応する候補分割モードセットは、それ以上の分割がないものを含む。
D.第1のノードに対応する画像領域の幅の、最小CUの予め設定された辺の長さに対する比が第6の予め設定された閾値未満である場合、第1のノードに対応する候補分割モードセットは、垂直三分割を含まず、或いは、第1のノードに対応する画像領域の高さの、最小CUの予め設定された辺の長さに対する比が第7の予め設定された閾値未満である場合、第1のノードに対応する候補分割モードセットは、水平三分割を含まない。
上記の説明から、この出願のこの実施形態における第4の識別子は、どのように第2レベルの符号化ツリーのノードを分割するかを示すために使用されることが認識できる。任意選択で、第4の識別子は、ノードを更に分割するか否かを示すために使用される第1の情報と、ノードが分割される方向を示すために使用される第2の情報と、ノードが分割されるモードを示すために使用される第3の情報とを含んでもよい。
例えば、第1の情報は、STSplitFlagにより表される。STSplitFlagの数値が0に等しい場合、これは、STSplitFlagに対応するノードがもはや分割されないことを示し、或いは、STSplitFlagの数値が1に等しい場合、これは、STSplitFlagに対応するノードが更に分割されることを示す。第2の情報は、STSplitDirにより表される。STSplitDirの数値が0に等しい場合、これは、STSplitDirに対応するノードが水平方向に分割されることを示し、或いは、STSplitDirの数値が1に等しい場合、これは、STSplitDirに対応するノードが垂直方向に分割されることを示す。第3の情報は、STSplitTypeにより表される。STSplitTypeの数値が0に等しい場合、これは、STSplitTypeに対応するノードに対応する分割モードが二分木分割であることを示す。STSplitDirの数値が1に等しい場合、これは、STSplitTypeに対応するノードに対応する分割モードが三分木分割であることを示す。
任意選択で、この出願のこの実施形態における第4の識別子は、代替として、二分木分割モードで第4の識別子に対応するノードを分割するか否かを示すために使用される二分木分割識別子と、三分木分割モードで第4の識別子に対応するノードを分割するか否かを示すために使用される三分木分割識別子と、第2の情報(分割方向識別子は、上記の例における分割方向識別子と同じである)とを含んでもよい。
例えば、二分木分割識別子は、BTFlagにより表される。BTFlagの数値が0に等しい場合、これは、第4の識別子に対応するノードに対応する分割モードがBT分割でないことを示し、或いは、BTFlagの数値が1に等しい場合、これは、第4の識別子に対応するノードに対応する分割モードがBT分割であることを示す。三分木分割識別子はTTFlagである。TTFlagの数値が0に等しい場合、これは、第4の識別子に対応するノードに対応する分割モードがTT分割でないことを示し、或いは、TTFlagの数値が1に等しい場合、これは、第4の識別子に対応するノードに対応する分割モードがTT分割であることを示す。
明らかに、この出願のこの実施形態における第4の識別子は、代替として、第1の情報、第2の情報及び第3の情報のいずれかの組み合わせを含んでもよい。これは、この出願のこの実施形態では具体的に限定されない。
第2レベルの符号化ツリーに対応する分割モードが二分木分割及び三分木分割以外の分割モードを更に含む場合、第4の識別子は、より多くの情報を含んでもよいことは容易に理解される。
第4の識別子は、第1の情報、第2の情報及び第3の情報を含んでもよい。したがって、第1のノードに対応する候補分割モードセットを決定した後に、デコーダデバイスは、第1のノードに対応する候補分割モードセットに基づいて、第1の情報、第2の情報及び第3の情報を決定する。この場合、第1のノードに対応する分割モード情報が決定されてもよい。
具体的には、デコーダデバイスは、最初に、第1の予め設定された分割条件に従って、第1のノードの候補分割モードセットを決定する。次いで、デコーダデバイスは、第1のノードの候補分割モードセットに基づいて、第1の情報、第2の情報及び第3の情報がビットストリームから解析できるか否かを決定する。したがって、第1の情報、第2の情報及び第3の情報のいずれもビットストリームから解析できない場合、情報の数値はシステムデフォルト値である。
例えば、第1の情報は、STSplitFlagにより表され、第2の情報は、STSplitDirにより表され、第3の情報は、STSplitTypeにより表される。第1のノードに対応する候補分割モードセットが水平二分割、水平三分割、垂直二分割又は垂直三分割を含まない場合、第1のノードに対応する分割モードはそれ以上の分割がないものであり、すなわち、STSplitFlag、STSplitDir及びSTSplitTypeのいずれもビットストリームから解析される必要はなく、STSplitFlag、STSplitDir及びSTSplitTypeの数値は全て0である。第1のノードに対応する候補分割モードセットが、水平二分割、水平三分割、垂直二分割及び垂直三分割のうち少なくとも1つを含む場合、デコーダデバイスは、最初にビットストリームからSTSplitFlagを解析する。STSplitFlagの数値が0である場合、STSplitDir及びSTSplitTypeの数値はデフォルトで0であり、或いは、STSplitFlagの数値が1である場合、STSplitDir(STSplitDirの解析モードは、第1のノードに対応する候補分割モードセットに関連する)が更に解析され、STSplitType(STSplitTypeの解析モードは、第1のノードに対応する候補分割モードセットに関連する)がSTSplitDirの数値に基づいて解析される。第1のノードに対応する候補分割モードセットが水平二分割、水平三分割、垂直二分割及び垂直三分割を含む場合、デコーダデバイスは、ビットストリームからSTSplitDir及びSTSplitTypeを順次解析し、或いは、第1のノードに対応する候補分割モードセットが1〜3つの分割モードを含む場合、STSplitDir及びSTSplitTypeのうち少なくとも1つは、ビットストリームから解析される代わりに、直接取得されてもよい。
一例では、表2は、この実施形態における第1のノードに対応する候補分割モードセットの全ての可能な場合を示し、それぞれの場合に対応する第1の情報、第2の情報及び第3の情報のための解析方法を示す。表2において、垂直二分割(Vertical Binary Tree, VBT)の数値が0である場合、これは、第1のノードに対応する候補分割モードセットが垂直二分割を含まないことを示し、VBTの数値が1である場合、これは、第1のノードに対応する候補分割モードセットが垂直二分割を含むことを示し、水平二分割(Horizontal Binary Tree, HBT)の数値が0である場合、これは、第1のノードに対応する候補分割モードセットが水平二分割を含まないことを示し、HBTの数値が1である場合、これは、第1のノードに対応する候補分割モードセットが水平二分割を含むことを示し、垂直三分割(Vertical Ternary Tree, VTT)の数値が0である場合、これは、第1のノードに対応する候補分割モードセットが垂直三分割を含まないことを示し、VTTの値が1である場合、これは、第1のノードに対応する候補分割モードセットが垂直三分割を含むことを示し、水平三分割(Horizontal ternary Tree, HTT)の数値が0である場合、これは、第1のノードに対応する候補分割モードセットが水平三分割を含まないことを示し、或いは、HTTの数値が1である場合、これは、第1のノードに対応する候補分割モードセットが水平三分割を含むことを示す。a、b及びcは、STSplitFlag、STSplitDir及びSTSplitTypeがビットストリームから解析されることをそれぞれ示し、NA(x)は、対応するビットをデフォルト値xに設定することを示す。STSplitFlagが0であることが解析を通じて習得されたとき、STSplitDir及びSTSplitTypeの数値はデフォルトで0である。STSplitFlagが1であることが解析を通じて習得されたとき、STSplitDirが最初に解析され、次いでSTSplitTypeがSTSplitDirの数値に基づいて解析される。記号!は論理否定(NOT)演算であり、式「exp?m:n」は、expが真である場合にmが使用され、そうでない場合にnが使用されることを示す。例えば、STSplitDir?c:NA(1)は、STSplitDirの数値が0でない場合(すなわち、STSplitDirの数値が1に等しい。これは、この実施形態におけるSTSplitDirの数値が0又は1であるためである)、STSplitTypeがビットストリームから取得され、そうでない場合、STSplitTypeの数値がデフォルトで1であることを示す。他の例では、!STSplitDir?NA(0):NA(1)は、STSplitDirの数値が0に等しい場合、STSplitTypeの数値がデフォルトで0であり、そうでない場合、STSplitTypeの数値がデフォルトで1であることを示す。
表2を参照すると、デコーダデバイスは、第1のノードに対応する候補分割モードセットに基づいて、STSplitFlag、STSplitDir及びSTSplitTypeを決定してもよいことが習得できる。
一例では、表2における候補分割モードセット15について、第1のノードに対応する候補分割モードセットが垂直二分割、水平二分割、水平三分割又は垂直三分割を含まない場合、STSplitFlag、STSplitDir及びSTSplitTypeの数値はデフォルトで全て0である。
他の例では、表2における候補分割モードセット12について、第1のノードに対応する候補分割モードセットが水平二分割、水平三分割又は垂直三分割を含まない場合、デコーダデバイスは、最初にビットストリームからSTSplitFlagを解析し、STSplitFlagの数値が0である場合、STSplitDir及びSTSplitTypeの数値は共にデフォルトで0であり、或いは、STSplitFlagの数値が1である場合、STSplitDirの数値はデフォルトで1であり、STSplitTypeの数値はデフォルトで0である。
他の例では、表2における候補分割モードセット6について、第1のノードに対応する候補分割モードセットが水平三分割又は垂直三分割を含まない場合、デコーダデバイスは、最初にビットストリームからSTSplitFlagを解析し、STSplitFlagの数値が0である場合、STSplitDir及びSTSplitTypeの数値は共にデフォルトで0であり、STSplitFlagの数値が1である場合、デコーダデバイスは、ビットストリームからSTSplitDirを解析し、STSplitTypeの数値をデフォルトで0に設定する。
他の例では、表2における候補分割モードセット5について、第1のノードに対応する第1の対応する候補分割モードセットは、垂直三分割を含まず、デコーダデバイスは、最初にビットストリームからSTSplitFlagを解析する。STSplitFlagの数値が0である場合、STSplitDir及びSTSplitTypeの数値は共にデフォルトで0であり、或いは、STSplitFlagの数値が1である場合、デコーダデバイスは、ビットストリームからSTSplitDirを解析する。STSplitDirの数値が1である場合、STSplitTypeの数値はデフォルトで0であり、或いは、STSplitDirの数値が0である場合、デコーダデバイスは、ビットストリームからSTSplitTypeを解析する。
STSplitFlag、STSplitDir及びSTSplitTypeの数値を決定した後に、デコーダデバイスは、3つの数値に基づいて第4の識別子STSplitModeを決定してもよく、すなわち、第2レベルの符号化ツリーの第1のノードの分割モード情報を決定してもよい。
例えば、デコーダデバイスは、表3に示すマッピングモードでSTSplitFlag、STSplitDir及びSTSplitTypeの数値に基づいてSTSplitModeの数値を決定する。
一例では、上記の例を参照すると、第1のノードに対応するSTSplitFlag、STSplitDir及びSTSplitTypeの数値がそれぞれ1、1及び0である場合、STSplitModeの値は2であり、すなわち、第1のノードに対応する分割モードは垂直二分割である。
任意選択で、候補分割モードセットは、代替として、水平三分割及び垂直三分割のみを含んでもよく、水平二分割又は垂直二分割を含まない。この場合、デコーダデバイスは、最初にビットストリームからSTSplitFlagを解析する。STSplitFlagの数値が0である場合、STSplitDir及びSTSplitTypeの数値は共にデフォルトで0であり、或いは、STSplitFlagの数値が1である場合、デコーダデバイスは、ビットストリームからSTSplitDirを解析し、STSplitTypeの数値はデフォルトで1である。
第2レベルの符号化ツリーの分割モードが、水平二分割、垂直二分割、水平三分割及び垂直三分割以外の分割モードを更に含む場合、表2に示す情報解析方法が拡張される必要があることは容易に理解される。これは、この出願のこの実施形態では具体的に限定されない。
表2から、15個の候補分割モードセット内のいくつかの候補分割モードセットに対応する第1の情報、第2の情報及び第3の情報を解析するためのモードは、同じであるか或いは同様であることが認識できる。したがって、いくつかの候補分割モードセットは、1つのカテゴリに更に結合されてもよく、カテゴリ毎に1つの解析方法が使用される。この場合、第1の情報、第2の情報及び第3の情報を解析するための方法は、表2に従って第1の情報、第2の情報及び第3の情報を決定するための解析方法と等価であるが、より少ない決定分岐が存在する。
例えば、デコーダデバイスは、表4に示す解析モードで第1の情報STSplitFlagを決定し、表5に示す解析モードで第2の情報STSplitDirを決定し、表6に示す解析モードで第3の情報STSplitTypeを決定してもよい。&&は論理積(AND)演算であり、||は論理和(OR)演算であり、!は論理否定(NOT)演算である。表2と同様に、a、b及びcは、対応する情報がビットストリームから解析される必要があることをそれぞれ示し、NA(x)は、対応する情報の値がxに設定されることを示す。
表4に示すように、候補分割モードセットに含まれる分割モードの数(すなわち、NumTypeにより表される第1の数値)が0よりも大きいとき、デコーダデバイスは、ビットストリームからSTSplitFlagを解析し、或いは、NumTypeの数値が0に等しいとき、STSplitFlagの数値はデフォルトで0である。STSplitFlagの数値が1であると決定したとき、デコーダデバイスは、STSplitDir及びSTSplitTypeを解析し続け、そうでない場合、STSplitDir及びSTSplitTypeの数値は共にデフォルトで0である。
表2を参照すると、表2における候補分割モードセット1〜14において、各候補分割モードセットが複数の分割モードを含み、各候補分割モードセットに対応するSTSplitFlagがビットストリームから解析される必要があることが認識できる。これは表4に示す場合に対応する。さらに、表2における候補分割モードセット15は、分割モードを含まず、すなわち、候補分割モードセット15に含まれる分割モードの数は0である。候補分割モードセット15に対応するSTSplitFlagの数値はデフォルトでNA(0)であり、これは表4に対応する。
表5に示すように、NumTypeの数値が3以上であり、NumTypeの数値が2に等しく、NumTypeの数値が1に等しく、NumTypeの数値が0に等しいとき、デコーダデバイスは、異なるモードでSTSplitDirを決定する。さらに、NumTypeの数値が2に等しいとき、デコーダデバイスは、異なる条件に応じて、STSplitDirを決定するための特定のモードを更に決定する必要がある。
例えば、NumTypeの数値が3以上である場合、デコーダデバイスは、STSplitDirを取得するためにビットストリームを解析する。NumTypeの数値が2に等しく、条件(HBT& &HTT)||(VBT&&VTT)が満たされるとき、STSplitDirの数値は!HBTに設定される(すなわち、HBTが0であるとき、STSplitDirは1であり、或いは、HBTが1であるとき、STSplitDirは0である)。
表2を参照すると、表2における候補分割モードセット1〜5において、各候補分割モードセットに含まれる分割モードの数が3以上であり、候補分割モードセット1〜5のそれぞれに対応するSTSplitDirがビットストリームから解析される必要があることが習得できる。これは、表5に示す場合に対応する。表2における候補分割モードセット6〜10において、各候補分割モードセットに含まれる分割モードの数は2に等しく、異なる条件下で、候補分割モードセット6〜10の全てに対応するSTSplitDirを解析するための異なるモードが存在し、これは表5に示す場合に対応する。表2における候補分割モードセット11〜14において、各候補分割モードセットに含まれる分割モードの数は1に等しく、候補分割モードセット11〜14のそれぞれに対応するSTSplitDirの数値はデフォルト値NA(VBT||VTT)であり、これは表5に示す場合に対応する。表2における候補分割モードセット15に含まれる分割モードの数は0に等しく、候補分割モードセット15に対応するSTSplitDirはデフォルト値NA(0)であり、これは表5に示す場合に対応する。
表6に示すように、NumTypeの数値が4に等しく、NumTypeの数値が3に等しく、NumTypeの数値が2に等しく、NumTypeの数値が1に等しく、NumTypeの数値が0に等しいとき、デコーダデバイスは、異なるモードでSTSplitTypeを決定する。さらに、NumTypeの数値が2に等しく、NumTypeの数値が3に等しいとき、デコーダデバイスは、異なる条件に応じて、STSplitTypeを決定するための特定のモードを更に決定する必要がある。表4及び表5と同様に、表6もまた表2に対応する。
表6に従ってデコーダデバイスによりSTSplitTypeを決定するための方法は、表5に従ってデコーダデバイスによりSTSplitDirを決定するための方法と同様であり、詳細は、ここでは再び説明しない。
第1レベルの符号化ツリーの分割情報がNSFlag及びQTSplitFlagにより表される場合、ノードのNSFlagの数値が第1の値であるとき、ノードは第2レベルの符号化ツリーのリーフノードであり、STSplitFlagの数値はデフォルトで0であり、或いは、ノードのNSFlagの数値が第2の値であり、QTSplitFlagの数値が第2の値であるとき、ノードは第2レベルの符号化ツリーのリーフノードではなく、STSplitFlagの数値はデフォルトで1である点に留意すべきである。
任意選択で、この出願のこの実施形態では、S601を実行した後に、デコーダデバイスはS602を実行するか、或いは、S601を実行するプロセスにおいて、第1レベルの符号化ツリーのリーフノードに関する情報を取得した後に、第1レベルの符号化ツリーの最後のリーフノードが取得されるまで、第1レベルの符号化ツリーのリーフノードに基づいてS602を直ちに実行してもよい。
S603.第2レベルの符号化ツリーのノード分割モード情報が、第2レベルの符号化ツリーの第1のノードに対応する分割モードがそれ以上の分割がないものであることを示す場合、デコーダデバイスは、第1のノードの符号化情報を取得するために、ビットストリームを解析する。
この出願のこの実施形態では、第2レベルの符号化ツリーのノード分割モード情報が、第2レベルの符号化ツリーの第1のノードに対応する分割モードがそれ以上の分割がないものであることを示す場合、これは、第1のノードが第2レベルの符号化ツリーのリーフノードであることを示す。
上記の説明から、もはや分割されないノードが1つのCUに対応することが認識できる。対応して、第1のノードは1つのCUに対応する。
具体的には、デコーダデバイスは、各CUの符号化情報を取得するために、ビットストリーム内の符号化ユニットの構文構造(例えば、H.265における構文構造coding_unit()。構文構造coding_unit()に関する説明については、以下の説明を参照する)を解析する。各CUの符号化情報は、CUの予測モード及び変換係数のような情報を含む。ここで、デコーダデバイスが各CUの符号化情報を取得することは、デコーダデバイスが第2レベルの符号化ツリーの各リーフノードの符号化情報を取得することを意味する。
任意選択で、この出願のこの実施形態では、S602を実行するプロセスにおいて、第2レベルの符号化ツリーのリーフノードに関する情報を取得した後に、デコーダデバイスは、リーフノードの符号化情報を取得するために、ビットストリームを解析し、リーフノードの符号化情報を取得した後に、次の第2レベルの符号化ツリーのリーフノード及び次の第2レベルの符号化ツリーのリーフノードの符号化情報を取得し続け、最後の第2レベルの符号化ツリーのリーフノードが取得されるまで以下同様に行ってもよい。
一例では、この出願のこの実施形態における第2レベルの符号化ツリーの構文テーブルが表7に示される。coding_second_tree()は、第2レベルの符号化ツリーの構文構造であり、第2レベルの符号化ツリーのノードに関する情報を記述する。
表7において、log2CuWidth及びlog2CuHeightは、それぞれ、2の底を用いるノードに対応する画像領域の対数値及び2の底を用いるノードに対応する画像領域の高さの対数値を表し、stDepthは、第2レベルの符号化ツリーのリーフノードの深さを表し、条件condBは、第2レベルの符号化ツリーのノード分割情報の構文要素STSplitModeがビットストリームから解析される必要がある条件を表す。例えば、条件condBは、「第2レベルの符号化ツリーにおけるノードの深さstDepthが第2レベルの符号化ツリーの予め設定された最大深さmaxSTDepth未満であり、ノードに対応する画像領域の幅と高さとの双方が閾値maxSTSize未満であり、ノードに対応する画像領域の幅又は高さが閾値minSTSizeよりも大きい」というものである。maxSTDepthは、0よりも大きい整数(2、3又は4等)であり、予め設定されてもよく或いはSPSから解析されてもよく、minSTSizeは、0よりも大きい整数(4又は8等)であり、予め設定されてもよく或いはSPSから解析されてもよく、maxSTSizeは、minSTSizeよりも大きい整数(64又は128等)であり、予め設定されてもよく或いはSPSから解析されてもよい。
STSplitModeの値の範囲は0、1、2、3及び4である。STSplitModeの数値が0であるとき、ノードは第2レベルの符号化ツリーのリーフノードであり、ノードは1つのCUに対応する。この場合、符号化ユニットに関する情報は、CU構文構造coding_unit()に基づいて解析される。符号化ユニットに関する情報の構文要素を編成するモードは、この出願のこの実施形態では限定されない。STSplitModeの数値が1〜4の範囲であるとき、ノードは、水平二分割、垂直二分割、水平三分割及び垂直三分割を通じて別々に2つ又は3つの子ノードに分割され、子ノード毎に、子ノードに対応する画像領域の幅、高さ及び座標と、第2レベルの符号化ツリーにおける深さとが決定され、子ノードは、coding_second_tree()に基づいて順次解析される。
任意選択で、この出願のこの実施形態では、STSplitFlag、STSplitDir及びSTSplitTypeは、バイパス(by-pass)方式で符号化されてもよく、或いは、1つの確率モデルを使用することにより符号化されてもよく、或いは、確率モデルは、コンテキストに基づいて適応的に選択されてもよい。
例えば、STSplitFlagのコンテキストモデルを選択するための方法は以下の通りである。ノードに対応する画像領域の左側に対応するCUのサイズS1と、ノードに対応する画像領域の上側に対応するCUのサイズS2と、ノードに対応する画像領域のサイズS3とが取得される。S1及びS2の双方がS3未満である場合、2の番号のコンテキストモデルが選択され、或いは、S1及びS2の一方のみがS3未満である場合、1の番号のコンテキストモデルが選択され、そうでない場合(S1及びS2のいずれもS3未満ではない場合)、0の番号のコンテキストモデルが選択される。ノードに対応する画像領域の左側は、例えば、(x0-1,y0)であり、ノードに対応する画像領域の上側は、例えば、(x0,y0-1)である。
STSplitDirのコンテキストモデルを選択するための方法は以下の通りである。ノードに対応する画像領域の幅が高さの2倍よりも大きい場合、0の番号のモデルが使用され、ノードに対応する画像領域の幅が高さの2倍に等しい場合、1の番号のモデルが使用され、ノードに対応する画像領域の幅が高さに等しい場合、2の番号モデルが使用され、ノードに対応する画像領域の幅が高さの1/2に等しい場合、3の番号のモデルが使用され、或いは、ノードに対応する画像領域の幅が高さの1/2未満である場合、4の番号のモデルが使用される。
STSplitTypeのコンテキストモデルを選択するための方法は以下の通りである。第2レベルの符号化ツリーにおけるノードの深さが0に等しい場合、0の番号のモデルが選択され、第2レベルの符号化ツリーにおけるノードの深さが1に等しい場合、1の番号のモデルが選択され、或いは、第2レベルの符号化ツリーのノードの深さが1よりも大きい場合、2の番号のモデルが選択される。
上記のコンテキストモデルの番号は、単に異なるコンテキストモデルの間を区別するために使用されており、コンテキストモデルの番号は、上記の例における番号と同じであることに限定されないことが理解されるべきである。
S604.デコーダデバイスは、画像データに対応する画像を取得するために、第1のノードの3つの子ノードの符号化情報に基づいて符号化ユニットを復号化して再構成する。
符号化ユニットを復号化して再構成するプロセスは、予測、逆量子化、逆変換及びループフィルタリングのような処理を含む。具体的には、各符号化ユニットを復号化して再構成するプロセスは以下のステップを含む。
(1)CUの予測画素を取得するために、イントラ予測又はインター予測が、CUの符号化情報に含まれる予測モードに基づいて選択される。
(2)CUが変換係数を含む場合、CUの再構成残差を取得するために、逆量子化及び逆変換が、量子化パラメータ及び変換モードに基づいて、CUの変換係数に対して実行され、或いは、CUが変換係数を含まない場合、CUの再構成残差は0であり、言い換えると、CU内の各画素の再構成残差値は0である。
(3)CUの予測画素及びCUの再構成残差が加算された後に、CUの再構成画像ブロックを取得するために、ループフィルタリング処理が実行される。
エンコーダデバイスは、各CUの再構成画像ブロックを取得するために、上記の方法に従って各符号化ユニットを復号化して再構成する。各CUの再構成画像ブロックを取得した後に、エンコーダデバイスは、取得された全ての再構成画像ブロックに基づいて最終的な再構成画像を取得し、すなわち、画像データに対応する画像を取得する。
この出願のこの実施形態では、第2レベルの符号化ツリーの第1のノードに対応する分割モードは、第1の予め設定された分割条件に従って決定された分割モードのうち1つであり、第1の予め設定された分割条件は、第1のノードが目標分割モードで分割されることを制限するか否かを示すために使用され、目標分割モードは、水平二分割、水平三分割、垂直二分割及び垂直三分割のうち少なくとも1つを含む。第1のノードに対応する分割モードの数は、第1の予め設定された分割条件によって低減され、効果的に復号化の複雑さを低減する。
図6に示す実施形態では、第2レベルの符号化ツリーのノード分割モード情報を決定するプロセスにおいて、デコーダデバイスは、第1の情報、第2の情報及び第3の情報を順次決定してもよい。この出願のこの実施形態におけるデコーダデバイスは、第1の情報、第3の情報及び第2の情報のシーケンスにおいて第2レベルの符号化ツリーのノード分割モード情報を更に決定してもよい。このシナリオについて、ここで説明する。
一例では、S602において、デコーダデバイスは、表3に示すマッピングモードに基づいて第2レベルの符号化ツリーのノード分割モード情報を取得するために、表8に示す解析方法に従って、第1の情報、第3の情報及び第2の情報を順次更に決定してもよい。
表8は表2と同様である。詳細は、ここでは再び説明しない。
表2のものと同様に、表8に示す15個の候補分割モードセット内のいくつかの候補分割モードセットに対応する第1の情報、第3の情報及び第2の情報を解析するためのモードは、同じであるか或いは同様である。したがって、いくつかの候補分割モードセットは、1つのカテゴリに更に結合されてもよく、カテゴリ毎に1つの解析方法が使用される。この場合、第1の情報、第3の情報及び第2の情報を解析するための方法は、表8に従って第1の情報、第3の情報及び第2の情報を決定するための解析方法と等価であるが、より少ない決定分岐が存在する。
例えば、デコーダデバイスは、表4に示す解析モードに基づいて第1の情報STSplitFlagを決定し、表9に示す解析モードに基づいて第3の情報STSplitTypeを決定し、表10に示す解析モードに基づいて第2の情報STSplitDirを決定してもよい。
認識できるように、デコーダデバイスが第1の情報、第2の情報及び第3の情報のシーケンスにおいて第2レベルの符号化ツリーのノード分割モード情報を決定するか、第1の情報、第3の情報及び第2の情報のシーケンスにおいて第2レベルの符号化ツリーのノード分割モード情報を決定するかにかかわらず、デコーダデバイスは、第1の予め設定された分割条件の作用によって高速復号化を実行でき、復号化の複雑さは比較的低い。
上記の実施形態では、第1レベルの符号化ツリーに対応する分割モードは、四分木分割を含み、第2レベルの符号化ツリーに対応するノード分割モードは、二分木分割及び三分木分割を含む。実際の用途では、第2レベルの符号化ツリーに対応する分割モードは、四分木分割を更に含んでもよい。この場合、デコーダデバイスは、第1のノードに対応する分割モードを決定するために、第1の予め設定された分割条件及び第2の予め設定された分割条件に従って、第1のノードに対応する候補分割モードセットを決定する必要がある。
図7に示すように、このシナリオでは、この出願のこの実施形態において提供される画像データ復号化方法は以下のステップを含む。
S700.デコーダデバイスは、画像データを含むビットストリームを取得する。
S700については、S600における上記の説明を参照する。詳細はここでは説明しない。
S701.デコーダデバイスは、第1レベルの符号化ツリーのノード分割モード情報を取得するために、デコーダデバイスにより取得されたビットストリームを復号化する。
S701については、S601における上記の説明を参照する。詳細はここでは説明しない。
S702.デコーダデバイスは、第2レベルの符号化ツリーのノード分割モード情報を取得するために、デコーダデバイスにより取得されたビットストリームを解析する。
第2レベルの符号化ツリーのノード分割モード情報は、第2レベルの符号化ツリーの第1のノードに対応する分割モードを示し、第1のノードに対応する分割モードは、第1のノードに対応する候補分割モードセット内の1つのモードであり、第1のノードに対応する候補分割モードセットは、第1の予め設定された分割条件及び第2の予め設定された分割条件に従って決定され、第1の予め設定された分割条件は、第1のノードが目標分割モードで分割されることを制限するか否かを示すために使用され、目標分割モードは、水平二分割、水平三分割、垂直二分割及び垂直三分割のうち少なくとも1つを含み、第2の予め設定された分割条件は、第1のノードが四分木分割に基づいて分割されることを制限するか否かを示すために使用される。
第2レベルの符号化ツリーのルートノードは、第1レベルの符号化ツリーのリーフノードである。第2レベルの符号化ツリーに対応するノード分割モードは、第1レベルの符号化ツリーに対応するノード分割モードとは異なる。この実施形態では、第2レベルの符号化ツリーに対応するノード分割モードは、二分木分割、三分木分割及び四分木分割を含み、二分木分割は、水平二分割及び垂直二分割を含み、三分木分割は、水平三分割及び垂直三分割を含む。
S602におけるものとは異なり、この実施形態におけるデコーダデバイスは、第1の予め設定された分割条件及び第2の予め設定された分割条件に従って、第1のノードに対応する候補分割モードセットを決定する必要がある。
第1の予め設定された分割条件は、図6に示す実施形態における第1の予め設定された分割条件と同じである。ここで、第2の予め設定された分割条件は、以下の予め設定された分割サブ条件のうち少なくとも1つを含んでもよい。
第10の予め設定された分割サブ条件:第2レベルの符号化ツリーにおける第1のノードの深さが第2レベルの符号化ツリーにおける予め設定された最大深さ未満である場合、第1のノードに対応する候補分割モードセットは、四分木分割を含まない、及び
第11の予め設定された分割サブ条件:第1のノードに対応する画像領域の幅対高さの比が第5の予め設定された閾値以上である場合、第1のノードに対応する候補分割モードセットは、四分木分割を含まない。
S602におけるものと同様に、この実施形態のデコーダデバイスは、最初に第1の予め設定された分割条件及び第2の予め設定された分割条件に従って、第1のノードに対応する候補分割モードセットを決定し、次いで、第2レベルの符号化ツリーに対応するノード分割モード情報を決定するために、第1のノードに対応する分割モードでビットストリームを解析する。
この実施形態における第2レベルの符号化ツリーに対応するノード分割モードは、四分木分割を更に含むので、この実施形態では、図6における説明に基づいて、第4の識別子(STSplitMode)の数値はまた5としてもよく、すなわち、STSplitMode=5としてもよく、第4の識別子に対応するノードに対応する分割モードが四分木分割であることを示す。
対応して、この実施形態における第4の識別子は、第4の情報(この明細書における第4の情報はSTQTSplitFlagにより表される)を更に含み、第4の情報は、四分木分割に基づいて第1のノードを分割するか否かを示すために使用される。言い換えると、この実施形態における第4の識別子は、第1の情報、第2の情報、第3の情報及び第4の情報を含む。この実施形態では、STQTSplitFlagの数値が1に等しい場合、これは、第4の識別子に対応するノードに対応する分割モードが四分木分割を含むことを示し、或いは、STQTSplitFlagの数値が0に等しい場合、これは、第4の識別子に対応するノードに対応する候補分割モードセットが四分木分割を含まないことを示す。
具体的には、デコーダデバイスは、第2レベルの符号化ツリーに対応するノード分割モード情報を決定するために、第1の情報、第2の情報、第3の情報及び第4の情報を順次決定する。
図6の実施形態におけるものと同様に、この実施形態におけるデコーダデバイスは、第2の情報及び第3の情報を決定するために、図6の実施形態における第1の数値及び第4の情報の内容に基づいて第1の情報を決定してもよい。
例えば、デコーダデバイスは、表11に示す解析モードで第1の情報STSplitFlagを決定し、表12に示す解析モードで第4の情報STQTSplitFlagを決定してもよい。表11において、QTの数値が1である場合、これは、第1のノードがQT分割モードで分割されることを示し、或いは、QTの数値が0である場合、これは、QT分割モードで第1のノードを分割することが許容されないことを示す。「NumType>0||QT」が満たされるとき、デコーダデバイスは、ビットストリームからSTSplitFlagを解析し、そうでない場合(すなわち、「NumType==0&&!QT」が満たされる場合)、STSplitFlagの数値はデフォルトで0である。STSplitFlagの数値が1である場合、デコーダデバイスは、STQTSplitFlagを解析し続け、そうでない場合、STQTSplitFlag、STSplitDir及びSTSplitTypeの数値は全てデフォルトで0である。
表12から、第1のノードに対応する分割モードが四分木分割を含むとき、デコーダデバイスは、ビットストリームからSTQTSplitFlagを解析し、そうでない場合、STQTSplitFlagの数値はデフォルトで0であることが認識できる。STQTSplitFlagの数値が0である場合、STSplitDir及びSTSplitTypeは順次解析され続け、そうでない場合、STSplitDir及びSTSplitTypeの数値はデフォルトで0である。
この実施形態では、STSplitDir及びSTSplitTypeを解析するモードは、図6の実施形態においてSTSplitDir及びSTSplitTypeを解析するモードと同じである。詳細は、ここでは再び説明しない。
STSplitFlag、STSplitDir、STSplitType及びSTQTSplitFlagの数値を決定した後に、デコーダデバイスは、4つの数値に基づいて第4の識別子STSplitModeを決定してもよく、すなわち、第2レベルの符号化ツリーの第1のノードの分割モード情報を決定してもよい。
例えば、デコーダデバイスは、表13に示すマッピングモードでSTSplitFlag、STSplitDir、STSplitType及びSTQTSplitFlagの数値に基づいて、STSplitModeの数値を決定する。
他の情報と同様に、この実施形態におけるSTQTSplitFlagはまた、バイパスモードで符号化されてもよく、或いは、1つ以上の確率モデルを使用することにより符号化されてもよい。
S703.第2レベルの符号化ツリーのノード分割モード情報が、第2レベルの符号化ツリーの第1のノードに対応する分割モードがそれ以上の分割がないものであることを示す場合、デコーダデバイスは、第1のノードの符号化情報を取得するために、ビットストリームを解析する。
S703については、S603を参照する。詳細は、ここでは再び説明しない。
S704.デコーダデバイスは、画像データに対応する画像を取得するために、第1のノードの3つの子ノードの符号化情報に基づいて符号化ユニットを復号化して再構成する。
S704については、S604を参照する。詳細は、ここでは再び説明しない。
図6の実施形態と比較して、この実施形態では、第2レベルの符号化ツリーに対応する分割モードは、四分木分割を更に含み、第1のノードに対応する候補分割モードセットに含まれる分割モードは更に制限される。このように、デコーダデバイスの復号化効率が更に改善できる。
さらに、この出願の実施形態は、画像データ符号化方法を更に提供する。符号化方法は、図4に示す画像処理システムに適用されてもよい。
図8に示すように、この出願のこの実施形態により提供される画像データ符号化方法は以下のステップを含む。
S800.エンコーダデバイスは、符号化対象の画像ブロックに対応するCTUを決定する。
上記の説明から、画像が複数のCTUを含み、1つのCTUが通常では1つの正方形画像領域に対応することが認識できる。画像を取得した後に、エンコーダデバイスは、画像の各CTUを符号化する。
エンコーダデバイスにより全てのCTUを符号化するプロセスは同じある。したがって、この出願のこの実施形態では、エンコーダデバイスが1つのCTUを符号化する例を使用することにより、説明が提供される。
S801.エンコーダデバイスは、第1レベルの符号化ツリーのリーフノードを取得するために、第1レベルの符号化ツリーに対応するノード分割モードでCTUを分割する。
第1レベルの符号化ツリーのルートノードはCTUに対応し、第1レベルの符号化ツリーに対応するノード分割モードは四分木分割である。
具体的には、エンコーダデバイスは、CTUを第1レベルの符号化ツリーのルートノードとして決定し、QT分割モードでCTUを少なくとも1つのリーフノードに再帰的に分割する。
第1レベルの符号化ツリーの少なくとも1つのリーフノードを取得した後に、エンコーダデバイスは、第1レベルの符号化ツリーの各リーフノードを第2レベルの符号化ツリーのルートノードとして決定し、第2レベルの符号化ツリーの全てのリーフノードに関する情報が取得されるまで、第2レベルの符号化ツリーの各ルートノードに対して以下のステップを順次実行する。この出願のこの実施形態では、エンコーダデバイスが第2レベルの符号化ツリーの第1のノードを処理する例を使用することにより、説明が提供される。
S802.エンコーダデバイスは、第2レベルの符号化ツリーの第1のノードに対応する候補分割モードセットを決定し、第1のノードに対応する候補分割モードセットは、第1の予め設定された分割条件を満たす。
第1の予め設定された分割条件は、第1のノードが目標分割モードで分割されることを制限するか否かを示すために使用され、第2レベルの符号化ツリーのルートノードは、第1レベルの符号化ツリーのリーフノードであり、目標分割モードは、水平二分割、水平三分割、垂直二分割及び垂直三分割のうち少なくとも1つを含む。
一般的に、第1のノードの分割について制約が存在しないとき、第1のノードに利用可能な分割モードは、それ以上の分割がないもの、水平二分割、水平三分割、垂直二分割、垂直三分割及び四分木分割を含む。この場合、エンコーダデバイスは、6つの分割モードのRDコストを順次計算する必要があり、比較的高い符号化の複雑さを引き起こす。
この出願のこの実施形態は、第1のノードに利用可能な分割モードを制限するための第1の予め設定された分割条件を提案する。第1の予め設定された分割条件は、図6に示す実施形態において説明した第1の予め設定された分割条件と同じである。詳細は、ここでは再び説明しない。
第1のノードに対応する候補分割モードセットに含まれる分割モードの数は、第1の予め設定された分割条件によって制限される。このように、エンコーダデバイスは、ほとんどの場合、第1のノードのための6つの分割モードのRDコストを計算する必要がなく、符号化の複雑さを低減する。
S803.第1のノードに対応する候補分割モードセットがそれ以上の分割がないものを含む場合、エンコーダデバイスは、CUに対応する符号化ユニットビットストリームを取得するために、第1のノードに対応するCUを符号化する。
第1のノードに対応する候補分割モードセットがそれ以上の分割がないものを含む場合、これは、第1のノードが第2レベルの符号化ツリーのリーフノードであり、第1のノードが1つのCUに対応することを示す。エンコーダデバイスは、CUに対応する符号化ユニットビットストリームを取得するために、第1のノードに対応するCUを符号化する。
具体的には、CUの符号化は、予測(prediction)、変換(transform)、量子化(quantization)及びエントロピー符号化(entropy coding)のような手順を含む。CUについて、エンコーダデバイスがCUに対応するCUビットストリームを取得するためにCUを符号化するプロセスは、主に以下のステップを含む。
(1)エンコーダデバイスは、CUの予測画素を取得するために、予測モードに基づいてイントラ予測又はインター予測を選択する。
(2)エンコーダデバイスは、変換係数を取得するために、CUの元の画素とCUの予測画素との間の残差を変更及び量子化し、CUの再構成残差を取得するために、取得された変換係数に対して逆量子化及び逆変換処理を実行する。
(3)CUの予測画素とCUの再構成残差とを加算した後に、エンコーダデバイスは、CUの再構成画素を取得するために、ループフィルタリング処理を実行する。
(4)エンコーダデバイスは、CUビットストリームを取得するために、CUの予測モード及び変換係数のような情報に対してエントロピー符号化を実行する。
エンコーダデバイスがCUのCUビットストリームを取得するためにCUを符号化する詳細なプロセスについては、既存のCUビットストリーム生成方法を参照し、詳細は、ここでは再び説明しない。
S804.第1のノードに対応する候補分割モードセットがそれ以上の分割がないものを含まない場合、エンコーダデバイスは、第1のノードに対応する候補分割モードセット内の各分割モードのRDコストを計算する。
第1のノードに対応する候補分割モードセット内の候補分割モードについて、エンコーダデバイスは、この分割モードで第1のノードを分割し、第1のノードがこの分割モードで分割された後に取得された全てのCUを取得する。エンコーダデバイスは、各CUのRDコストを計算し、全てのCUのRDコストの和を、この分割モードのRDコストとして決定する。
任意選択で、いずれかのCUについて、CUのRDコストは、CUに含まれる画素の再構成歪みの残差平方和(Sum of Squared Errors, SSE)と、CUに対応するビットストリーム内のビットの数の推定値との加重和に等しい。
S805.エンコーダデバイスは、最小レート歪みコストに対応する分割モードを、第1のノードに対応する目標分割モードとして決定する。
S806.エンコーダデバイスは、第1のノードに対応する目標分割モードで第1のノードを分割する。
第1のノードに対応する目標分割モードで第1のノードを分割した後に、エンコーダデバイスは、第2レベルの符号化ツリーの全てのリーフノードが取得されるまで、第1のノードの各子ノードに対してS802〜S806を順次実行する。
第2レベルの符号化ツリーの各リーフノードは1つのCUに対応する。第2レベルの符号化ツリーの全てのリーフノードを取得した後に、エンコーダデバイスは、第2レベルの符号化ツリーの各リーフノードに対応するCUを取得してもよい。S803から、エンコーダデバイスがCUに対応するCUビットストリームを取得するためにCUを符号化してもよいことが認識できる。したがって、エンコーダデバイスは、少なくとも1つのCUビットストリームを取得してもよい。このように、エンコーダデバイスは、画像データを含むビットストリームを生成するために、少なくとも1つのCUビットストリーム、第1レベルの符号化ツリーに対応するノード分割モード情報及び第2レベルの符号化ツリーに対応するノード分割モード情報に基づいて、CTUビットストリームを取得できる。
さらに、この出願のこの実施形態におけるエンコーダデバイスは、第2の予め設定された分割条件に従って、第1のノードに対応する候補分割モードセットを更に決定してもよい。
ここで、第2の予め設定された分割条件は、以下の予め設定された分割サブ条件のうち少なくとも1つを含んでもよい。
第10の予め設定された分割サブ条件:第2レベルの符号化ツリーにおける第1のノードの深さが第2レベルの符号化ツリーにおける予め設定された最大深さ未満である場合、第1のノードに対応する候補分割モードセットは、四分木分割を含まない。
第11の予め設定された分割サブ条件:第1のノードに対応する画像領域の幅対高さの比が第5の予め設定された閾値以上である場合、第1のノードに対応する候補分割モードセットは、四分木分割を含まない。
この出願のこの実施形態では、第2レベルの符号化ツリーのノードの分割は、第1の予め設定された条件により制限される。このように、第2レベルの符号化ツリーのノードを分割する複雑さはかなり低減され、符号化の複雑さは低減される。
この出願の実施形態は、デコーダデバイスを提供する。デコーダデバイスは、上記の画像データ復号化方法においてデコーダデバイスにより実行されるステップを実行するように構成される。この出願のこの実施形態により提供されるデコーダデバイスは、対応するステップに対応するモジュールを含んでもよい。
この出願のこの実施形態では、デコーダデバイスの機能モジュールの分割は、上記の方法における例に従って実行されてもよい。例えば、機能モジュールの分割は、機能に対応して実行されてもよく、或いは、2つ以上の機能が1つの処理モジュールに統合されてもよい。統合されたモジュールは、ハードウェアの形式で実現されてもよく、或いは、ソフトウェア機能モジュールの形式で実現されてもよい。この出願のこの実施形態では、モジュール分割は一例であり、単なる論理的な機能分割であり、実際の実現方式では他の分割でもよい。
機能モジュールの分割が機能に対応して実行されるとき、図9は、上記の実施形態における端末デバイスの可能な概略構造図である。図9に示すように、デコーダデバイスは、取得モジュール900と、解析モジュール901と、復号化及び再構成モジュール910とを含む。取得モジュール900は、上記の実施形態におけるS600、S700及び/又は同様のものを実行する際にデコーダデバイスをサポートするように構成され、及び/又は、この明細書に記載の技術の他のプロセスを実行するように構成される。解析モジュール901は、上記の実施形態におけるS601、S602、S603、S701、S702、S703及び/又は同様のものを実行する際にデコーダデバイスをサポートするように構成され、及び/又は、この明細書に記載の技術の他のプロセスを実行するように構成される。復号化及び再構成モジュール910は、上記の実施形態におけるS604、S704及び/又は同様のものを実行する際にデコーダデバイスをサポートするように構成され、及び/又は、この明細書に記載の技術の他のプロセスを実行するように構成される。上記の方法の実施形態におけるステップの全ての関連する内容は、対応する機能モジュールの機能説明で引用されてもよく、詳細は、ここでは再び説明しない。明らかに、この出願のこの実施形態により提供されるデコーダデバイスは、上記のモジュールを含むが、これらに限定されない。例えば、デコーダデバイスは、記憶モジュール911を更に含んでもよい。記憶モジュール911は、デコーダデバイスのプログラムコード及びデータを記憶するように構成されてもよい。
統合されたユニットが使用されるとき、この出願のこの実施形態における解析モジュール901並びに復号化及び再構成モジュール910は、図5におけるプロセッサ57でもよく、取得モジュール900は、図5におけるRF回路50及びRF回路50に接続されたアンテナでもよく、記憶モジュール911は、図5におけるメモリ51でもよい。
デコーダデバイスが動作するとき、デコーダデバイスは、図6又は図7に示す実施形態における画像データ復号化方法を実行する。具体的な画像データ復号化方法については、図6又は図7に示す上記の実施形態における関連する説明を参照する。詳細は、ここでは再び説明しない。
この出願の他の実施形態は、コンピュータ読み取り可能記憶媒体を更に提供する。コンピュータ読み取り可能記憶媒体は、1つ以上のグループのプログラムを含み、1つ以上のプログラムは、命令を含む。デコーダデバイス内のプロセッサがプログラムコードを実行したとき、デコーダデバイスは、図6又は図7に示す画像データ復号化方法を実行する。
この出願の他の実施形態は、コンピュータプログラムプロダクトを更に提供する。コンピュータプログラムプロダクトは、コンピュータ実行可能命令を含み、コンピュータ実行可能命令は、コンピュータ読み取り可能記憶媒体に記憶される。デコーダデバイスの少なくとも1つのプロセッサがコンピュータ読み取り可能記憶媒体からコンピュータ実行可能命令を読み取ることができたとき、少なくとも1つのプロセッサは、コンピュータ実行可能命令を実行し、それにより、デコーダデバイスは、図6又は図7に示す画像データ復号化方法におけるデコーダデバイスのステップを実行する。
この出願の実施形態は、エンコーダデバイスを提供する。エンコーダデバイスは、上記の画像データ符号化方法においてエンコーダデバイスにより実行されるステップを実行するように構成される。この出願のこの実施形態により提供されるエンコーダデバイスは、対応するステップに対応するモジュールを含んでもよい。
この出願のこの実施形態では、機能モジュールの分割は、上記の方法における例に従ってエンコーダデバイスに対して実行されてもよい。例えば、機能モジュールの分割は、機能に対応して実行されてもよく、或いは、2つ以上の機能が1つの処理モジュールに統合されてもよい。統合されたモジュールは、ハードウェアの形式で実現されてもよく、或いは、ソフトウェア機能モジュールの形式で実現されてもよい。この出願のこの実施形態では、モジュール分割は一例であり、単なる論理的な機能分割であり、実際の実現方式では他の分割でもよい。
機能モジュールの分割が機能に対応して実行されるとき、図10は、上記の実施形態における端末デバイスの可能な概略構造図である。図10に示すように、エンコーダデバイスは、決定モジュール1000と、分割モジュール1001と、符号化モジュール1010と、計算モジュール1011とを含む。決定モジュール1000は、上記の実施形態におけるS800、S802、S805及び/又は同様のものを実行する際にエンコーダデバイスをサポートし、及び/又は、この明細書に記載の技術における他のプロセスを実行するように構成される。分割モジュール1001は、上記の実施形態におけるS801、S806及び/又は同様のものを実行する際にエンコーダデバイスをサポートし、及び/又は、この明細書に記載の技術における他のプロセスを実行するように構成される。符号化モジュール1010は、上記の実施形態におけるS803を実行する際にエンコーダデバイスをサポートし、及び/又は、この明細書に記載の技術における他のプロセスを実行するように構成される。計算モジュール1011は、上記の実施形態におけるS804を実行する際にエンコーダデバイスをサポートし、及び/又は、この明細書に記載の技術における他のプロセスを実行するように構成される。上記の方法の実施形態におけるステップの全ての関連する内容は、対応する機能モジュールの機能説明で引用されてもよく、詳細は、ここでは再び説明しない。明らかに、この出願のこの実施形態により提供されるエンコーダデバイスは、上記のモジュールを含むが、これらに限定されない。例えば、エンコーダデバイスは、記憶モジュール1002と、送信モジュール1003と、受信モジュール1004とを更に含んでもよい。記憶モジュール1002は、エンコーダデバイスのプログラムコード及びデータを記憶するように構成されてもよい。送信モジュール1003及び受信モジュール1004は、他のデバイスと通信するように構成される。
統合されたユニットが使用されるとき、この出願のこの実施形態における決定モジュール1000、分割モジュール1001、符号化モジュール1010及び計算モジュール1011は、図5におけるプロセッサ57でもよく、送信モジュール1003及び受信モジュール1004は、図5におけるRF回路50及びRF回路50に接続されたアンテナでもよく、記憶モジュール1002は、図5におけるメモリ51でもよい。
エンコーダデバイスが動作するとき、エンコーダデバイスは、図8に示す実施形態における画像データ復号化方法を実行する。具体的な画像データ復号化方法については、図8に示す上記の実施形態における関連する説明を参照する。詳細は、ここでは再び説明しない。
この出願の他の実施形態は、コンピュータ読み取り可能記憶媒体を更に提供する。コンピュータ読み取り可能記憶媒体は、1つ以上のグループのプログラムコードを含み、1つ以上のプログラムは、命令を含む。エンコーダデバイス内のプロセッサがプログラムコードを実行したとき、エンコーダデバイスは、図8に示す画像データ符号化方法を実行する。
この出願の他の実施形態では、コンピュータプログラムプロダクトが更に提供される。コンピュータプログラムプロダクトは、コンピュータ実行可能命令を含み、コンピュータ実行可能命令は、コンピュータ読み取り可能記憶媒体に記憶される。エンコーダデバイスの少なくとも1つのプロセッサは、コンピュータ読み取り可能記憶媒体からコンピュータ実行可能命令を読み取ってもよく、少なくとも1つのプロセッサは、コンピュータ実行可能命令を実行し、それにより、エンコーダデバイスは、図8に示す画像データ復号化方法におけるエンコーダデバイスのステップを実行する。
上記の実施形態の全部又は一部は、ソフトウェア、ハードウェア、ファームウェア又はこれらのいずれかの組み合わせを使用することにより実現されてもよい。ソフトウェアプログラムが実施形態を実現するために使用されるとき、実施形態の全部又は一部は、コンピュータプログラムプロダクトの形式で実現されてもよい。コンピュータプログラムプロダクトは、1つ以上のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータ上にロードされて実行されたとき、この出願の実施形態に従って手順又は機能の全部又は一部が生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク又は他のプログラム可能装置でもよい。コンピュータ命令は、コンピュータ読み取り可能記憶媒体に記憶されてもよく、或いは、コンピュータ読み取り可能記憶媒体から他のコンピュータ読み取り可能記憶媒体に送信されてもよく、例えば、コンピュータ命令は、有線(例えば、同軸ケーブル、光ファイバ又はデジタル加入者線(DSL))又は無線(例えば、赤外線、無線又はマイクロ波)方式で、ウェブサイト、コンピュータ、サーバ又はデータセンタから他のウェブサイト、コンピュータ、サーバ又はデータセンタに送信されてもよい。コンピュータ読み取り可能記憶媒体は、コンピュータによりアクセス可能ないずれかの使用可能媒体、又は1つ以上の使用可能媒体を統合するサーバ若しくはデータセンタのようなデータ記憶デバイスでもよい。使用可能媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク又は磁気テープ)、光媒体(例えば、DVD)、半導体媒体(例えば、ソリッドステートドライブSolid State Disk(SSD))等でもよい。
上記の実現方式の説明によって、当業者は、説明の便宜上且つ簡潔性のため、上記の機能モジュールの分割が単なる説明のための例として使用されていることを明確に理解し得る。実際の用途では、上記の機能は、必要に応じて、実現のために異なる機能モジュールに割り当てられてもよく、すなわち、装置の内部構造は、上記の機能の全部又は一部を実現するために、異なる機能モジュールに分割される。
この出願において提供されるいくつかの実施形態では、開示の装置及び方法は、他の方式で実現されてもよいことが理解されるべきである。例えば、記載の装置の実施形態は単なる例である。例えば、モジュール又はユニットの分割は、単に論理的な機能分割であり、実際の実現方式では他の分割でもよい。例えば、複数のユニット又はコンポーネントは結合されてもよく或いは他の装置に統合されてもよく、或いは、いくつかの特徴は無視されてもよく或いは実行されなくてもよい。さらに、表示又は議論された相互結合又は直接結合又は通信接続は、いくつかのインタフェースを使用することにより実現されてもよい。装置又はユニットの間の間接結合又は通信接続は、電気的、機械的又は他の形式で実現されてもよい。
別個の部分として記載されたユニットは、物理的に分離されてもよく或いは分離されなくてもよく、ユニットとして表示されたコンポーネントは、1つ以上の物理的ユニットでもよく、言い換えると、コンポーネントは、1つの場所に位置してもよく、或いは、異なる場所に分散されてもよい。ユニットの一部又は全部は、実施形態の解決策の目的を達成するために、実際のニーズに応じて選択されてもよい。
さらに、この出願の実施形態における機能ユニットは、1つの処理ユニットに統合されてもよく、或いは、各ユニットが物理的に単独で存在してもよく、或いは、2つ以上のユニットが1つのユニットに統合される。統合されたユニットは、ハードウェアの形式で実現されてもよく、或いは、ソフトウェア機能ユニットの形式で実現されてもよい。
統合されたユニットがソフトウェア機能ユニットの形式で実現されて独立したプロダクトとして販売又は使用されるとき、統合されたユニットは、読み取り可能記憶媒体に記憶されてもよい。このような理解に基づいて、この出願の実施形態の技術的解決策は本質的に、或いは、従来技術に寄与する部分又は技術的解決策の全部若しくは一部は、ソフトウェアプロダクトの形式で実現されてもよい。ソフトウェアプロダクトは記憶媒体に記憶され、いくつかの命令が含まれ、それにより、デバイス(シングルチップマイクロコンピュータ、チップ等でもよい)又はプロセッサ(processor)は、この出願の実施形態に記載の方法のステップの全部又は一部を実行する。上記の記憶媒体は、USBフラッシュドライブ、取り外し可能ハードディスク、読み取り専用メモリ(Read-Only Memory, ROM)、ランダムアクセスメモリ(Random Access Memory, RAM)、磁気ディスク及びコンパクトディスクのような、プログラムコードを記憶できる様々な媒体を含む。
上記の説明は、この出願の単なる具体的な実現方式であり、この出願の保護範囲を限定することを意図するものではない。この出願に開示された技術的範囲内のいずれかの変更又は置換は、この出願の保護範囲内に入るものとする。したがって、この出願の保護範囲は、特許請求の範囲の保護範囲に従うものとする。