(58)【調査した分野】(Int.Cl.,DB名)
前記プリフィックス読み取り器(204)は、前記現在の符号化ブロックのサイズから独立している固定ビット長を用いて、前記データストリームから前記プリフィックス(126)を読み取るように構成される、請求項1に記載のデコーダ。
前記プリフィックス読み取り器(204)は、前記データストリームから前記プリフィックスの全てのビットを、直接に、又は、固定等価確率2進数エントロピー復号化を用いて、読み取るように構成される、請求項1または請求項2に記載のデコーダ。
前記サフィックス読み取り器は、前記データストリームから前記サフィックスの全てのビットを、直接に、又は、固定等価確率2進数エントロピー復号化を用いて、読み取るように構成される、請求項1ないし請求項3のいずれかに記載のデコーダ。
前記プリフィックス読み取り器(204)は、前記現在の符号化ブロックのサイズから独立している固定ビット長nを用いて、前記データストリームから前記プリフィックス(126)を読み取るように構成され、前記プリフィックスは、2n個のインデックス付け可能なおおよその方向の中からウェッジレット分離ラインのおおよその方向にインデックスを付け、そして、前記ウェッジレット2区分器は、前記現在の符号化ブロック(104)が前記可変長コード構文要素(124)に従って2区分される2つの前記ウェッジレット(108a、108b)が、前記プリフィックスによってインデックスを付けられた前記おおよその方向に近づく傾斜を持ち、かつ、前記サフィックスに依存するオフセットを持つラインに沿って分離されるように構成される、請求項1ないし請求項6のいずれかに記載のデコーダ。
前記サフィックス長さ決定器(206)は、前記可変長コード構文要素(124)の前記サフィックス(128)の長さmを決定し、前記現在の符号化ブロック(104)の可能なサイズのそれぞれに対して、mが前記プリフィックスに依存して決定され、仮に、前記プリフィックスによってインデックス付けされた、2n個のインデックス付け可能なおおよその方向のうちの前記おおよその方向が、2n個のインデックス付け可能なおおよその方向が、角度局所最大密度を持つおおよその方向に一致する又はその隣に一致するならば、mは最小であり、プリフィックスの2n個の可能な値のそれぞれに対して、mは現在の符号化ブロックのサイズに依存して決定され、mは増大するサイズと共に単調に増大するように構成される、請求項7に記載のデコーダ。
前記デコーダが、予測信号の予測残差として、前記現在の符号化ブロックの前記再構成を用いるように構成されたハイブリッドデコーダである、請求項1ないし請求項11のいずれかに記載のデコーダ。
前記デコーダが、動作補償および/または不均衡補償された予測信号の予測残差として、前記現在のコード化ブロックの前記再構成を用いるように構成されたハイブリッドデコーダであること、を特徴とする請求項1ないし請求項12のいずれかに記載のデコーダ。
前記再構成器(212)が、前記2つのウェッジレットのそれぞれに対して予測された定数値を空間的に予測し、前記データストリームの中の構文要素構成(130、132)を用いて前記予測された定数値を改良し、前記改良された定数値を用いて前記ウェッジレットを満たすように構成される、請求項1ないし請求項15のいずれかに記載のデコーダ。
前記デコーダが、前記現在の符号化ブロック(104)に隣接する既に復号化されたサンプルを用いて、前記予測された定数値を空間的に予測するように構成される、請求項16に記載のデコーダ。
【発明を実施するための形態】
【0010】
周知の技術として、奥行きマップは、テキストを符号化する有利性から知られていることに加えて、奥行きマップ規定ブロック符号化モードの導入をする所定の特徴を示す。所定の画像、すなわちテキストと関連する奥行きマップは、奥行きマップサンプル値が定数または線形機能を用いて、パラメータ化可能であるエリアのより高い数から成るように進展する。しばしば、そのようなエリアは、代表するライン、例えば前景を背景から分離する前景対象物の外周に沿って互いに隣接している。従って、奥行きマップをブロック状に符号化するために、ウェッジレット分離概念は、通常矩形の符号化ブロックが、対応した符号化ブロックを半分に、すなわち2つのウェッジレットに分離する、いわゆるウェッジレット分離ラインに沿って、2つのウェッジレットに更に再分割されるに従って導入されている。両方のウェッジレットの内部は、その時別々に符号化される。符号化ブロックを2つのウェッジレットに2区分すること、および、ウェッジレット分離モードをオン/オフ切り替えることに使われる追加のビットは、「ウェッジレットのような」符号化ブロックの内容の符号化についての有利性によって過剰補償される。
【0011】
図1は、画像またはテキストイメージ102と関連した奥行きマップ100を示す。異なるサンプル解像度は、画像102と関連する奥行きマップ100のより粗いサンプル解像度のように実現可能であるけれども、奥行きマップ100のサンプル解像度は、画像102のサンプル解像度と等しい。奥行きマップ100は符号化ブロック104において符号化される。すなわち、奥行きマップ100は、例えば矩形又は正方形である符号化ブロック104に、再分割または区切られる。奥行きマップ100を符号化ブロック104に区分化することは、符号化ブロック104が変化するサイズを持つことである。3つの異なるサイズが、説明の目的のために
図1に示されている。利用可能な符号化ブロックサイズの数は、それらとは異なる。符号化ブロック104は、エンコーダが異なる符号化モード間で切り替えるユニットを定義する。個々の符号化ブロック104のために選択された符号化モードは、信号で伝えられた符号化モードを用いて個々の符号化ブロック104を順に復号化するデコーダに、データストリーム内で信号で伝えられる。これらの符号化モードのうちの1つは、個々のウェッジレットの内容(すなわち、サンプル値)が別々に符号化されることを可能にするために、符号化ブロック104が2つのウェッジレットに分けられることに従う「ウェッジレット符号化モード」である。
図1は、代表の符号化ブロック104のために、拡大された部分106の中のこれを説明する。示されるように、符号化ブロック104は、例えば直線であるウェッジレット分離ライン110に沿って、2つのウェッジレット108aおよび108bに分けられている。エンコーダは、ウェッジレット分離ライン110の位置を、そのようなウェッジレットに基づいた符号化モードが割り当てられる符号化ブロック104のために、デコーダに信号で合図する。ウェッジレット分離ライン110の位置を信号で伝えるために、種々の可能性がある:ブロック104の外周とライン110との1つの交差の位置などの1つの遮断値に沿うウェッジレット分離ライン110の傾斜もしくは方向112、または、ブロック104の外周とライン110との2つの交差点の位置。
【0012】
図2に示すように、2つのウェッジレットへの符号化ブロック104の可能な再分割の数は、サンプルにおいて測定されたブロック104のサイズに強く依存する。
図2のブロック104は、左側に例えば4×4ブロックが示され、これに対して、右側には、広い8×8サンプルが示されている。直ぐに理解できるように、4×4ブロック104のサンプルのより小さい数のため、2つのウェッジレットへのブロック104の区別できる再分割の数は、右側に示されたより大きい符号化ブロックと比較されるより小さい。例えば、ウェッジレット分離ライン110が、4×4ブロック104を2つのウェッジレットに2区分するために、例示的に示される。ブロックの104のサンプル上のウェッジレット分離ライン110により定義された2区分化の変換は、次の通り実行される。ウェッジレット分離ライン110の一方の側にいるブロック104のサンプルは、例えば、一方のウェッジレット108aに割り当てられ、これに対して、ライン110の他方の側にいるブロック104のサンプルは、他方のウェッジレット108bに割り当てられる。これは、ライン110と交差していないサンプルに関する限り容易である。しかし、ライン110が交差するサンプルは、そのエリアのより大きい半分がある側に依存しているウェッジレット108aおよび108bのうちの1つに割り当てられる。すなわち、ライン110が交差する個々のサンプルは、2つの部分に2区分されて、これらの部分のうちのより大きい方が、個々のサンプルが割り当てられる区分を決める。すなわち、より大きい部分が一方の側にあるサンプルは、例えば、区分108aに割り当てられ、より大きい部分が他方の側にあるサンプルは、区分108bに割り当てられる。代わりに、個々のサンプルの中心は、各サンプルをウェッジレット108aおよび108bの何れかに割り当てることを決定するために注視される。ライン110の一方の側にあるそれらの中心を有している全てのサンプルは、ウェッジレット108aに割り当てられる。一方、ライン110の他方の側にあるそれらの中心を有している全てのサンプルは、ウェッジレット108bに割り当てられる。
図2の斜線は、4×4ブロック104の結果として生じているウェッジレット区分化を説明する。
【0013】
上記の説明から、ウェッジレット分離ライン110の位置を信号で伝えることの精度は、例えばサンプルにおいて測定された個々のブロック104のサイズに依存することが判明する。ブロックが大きければ大きいほど精度は高くなり、逆もまた同様である。
【0014】
1つのスカラ又は一次元のインデックスを用いて、符号化ブロック104のウェッジレット分離ラインの可能な位置の数を、表現可能なウェッジレット分離ライン位置の一次元のリスト112に信号で伝えることは実現可能である。例えば、インデックスは、2
N個の状態をカバーしている通常の2進数の表現を用いて、2進数化されている。すなわち、インデックスは、2進数の表現のビット長であるNを持つウェッジレット分離ラインの2
N個の可能な位置を区別することを許す。これは
図3において説明される。示されるように、リスト112の中の個々のリスト入力は、分離ライン110の傾斜/方向112およびその公差の所定の組み合わせと一致する。上記で
図2について概説されたブロックサイズ依存性を説明するために、符号化ブロック104のためのデータストリームの中で信号で伝えられたインデックス114は、ブロック104のサイズに依存するビット長Nを有する。ブロック104のために信号で伝えられたインデックス114は、そのビット長を介してリスト112のサイズを決定し、順に、表現可能なウェッジレット分離ライン位置の番号を決定する。表現可能なウェッジレット分離ライン位置の数2
Nは、小さいブロックより大きいブロック104ほど大きい。すなわち、デコーダは、矢印116によって示されるように、リスト112の中へのインデックスとして、インデックス114を用いる。ここで、インデックス付けされたリスト112の所定の入力は、ブロック104内の
図3において例示的に説明されたそれらのうちの1つのように、所定のウェッジレット分離ライン位置に関連する。
【0015】
図3の上記の概念は、表現可能なウェッジレット分離ライン位置の数またはそれを信号で伝えることの精度が関係する限り、種々にサイズ決めされたブロックの異なるニーズを説明するけれども、仮に、文脈順応的な符号化が、インデックス114のN個全てのビットのための共通の文脈を用いて、信号で伝えられたインデックス114のビットを符号化するために用いられても、まだ、ウェッジレット分離ライン110の位置の信号化をより効果的にすることに余裕がある。それから、以下に説明される実施の形態は、信号化ビットを符号化するためにエントロピー符号化を用いないときでさえ、そのような符号化効率の増加を達成する。例えば、符号化ブロックサイズに適応するNと、そして、利用可能なウェッジレット分離ライン位置の妥当な数を見つけることについてのニーズは、インデックスのいくつかの信号化可能な値が未使用で残る、または、ウェッジレット分離ライン位置の妥当な数より多い数が、インデックスの2
N個の信号化可能な値を全部消費するように区別される、のいずれか一方を要求する2つの能力において実現可能である。
【0016】
以下で概説される実施の形態を説明した概念の背後のアイデアは、ウェッジレット分離ラインの傾斜/方向を信号で伝えるプリフィックスを有する可変長コード構文要素を用いて、所定の符号化ブロック(ウェッジレットに基づいた符号化モードが信号で伝えられる符号化ブロックなど)のためのウェッジレット分離ラインの位置を信号で伝えることである。プリフィックスは、ウェッジレット分離ラインの傾斜/方向、および、ウェッジレット分離ラインの置き換えの置換またはその妨害の改良を信号で伝えるサフィックスが続いている。
図4は概念を説明する。
図4は、1つの符号化ブロック104を示す。例えば、たとえ
図4の概念がテキストや同類などの他の二次元的に抽出されたデータの符号化の上に直ぐに転送されることが言及されても、ブロック104は奥行きマップの符号化ブロックである。符号化ブロック104と符号化ブロック104を含んでいる奥行きマップとの中のデータストリーム120は、それぞれ、符号化ブロック104のための符号化された信号であり、モード指示器122の手段によって、ウェッジレットに基づいた符号化モードである。符号化ブロック104が、ウェッジレットに基づいた符号化モード型を有しているので、データストリーム120は、符号化ブロック104を2つのウェッジレット108aおよび108bに2区分する、ウェッジレット分離ライン110の位置を信号で伝える可変長コード構文要素124をさらに含む。以下に、より詳細に概説するように、可変長コード構文要素124は、ウェッジレット分離ライン110の方向または傾斜112を信号で伝えるプリフィックス126と、ウェッジレット分離ライン110の方向/傾斜112の置き換えの位置化および改良を信号で伝えるサフィックス128とからなる。以下に、より詳細に概説するように、可変長コード構文要素124の全てのビットは、文脈適応性無しで、例えば、エントロピー符号化を用いないで符号化される。すなわち、それらは、データストリーム120に直接に書き込まれ、または、2進数計算符号化などの2進数エントロピー計算符号化を用いて、しかし、例えば、H.264から周知のように、バイパスモードと称される固定等価確率(fixed equal−probability)モードを用いて、データストリーム120に書き込まれる。また、以下により詳細に概説するように、プリフィックス126は固定長を有する。その長さは、ブロック104のサイズから独立しており、一方、サフィックス128のビット長は、符号化ブロック104のサイズと同様に、プリフィックス126、すなわちウェッジレット分離ライン110のおおよその傾斜/方向の両方の値に依存する。その時、符号化ブロック104の内容が、区分108a、108bへの2区分化を用いて、データストリーム120の中で実際に符号化される方法の種々の可能性が存在する。例えば、1つの実施の形態によれば、データストリーム120は、第1のウェッジレット108aのための第1構文要素構成130と、第2のウェッジレット108bのための第2構文要素構成132からなる。例えば、両方の構文要素構成130および132は、それぞれウェッジレット108aまたは108bに属しているサンプルが、等しく設定される定数を示している構文要素からなる。構文要素は予測的に符号化される。例えば、ウェッジレット108aのサンプルに割り当てられる定数値は、ウェッジレット108aが隣接するブロック104の外周の部分と隣接した既に復号化された/再構成された近傍のサンプルから空間的に予測される。構文要素構成130は、この予測にオフセット(予測残差)を単に提供する。同様に、ウェッジレット108bのサンプルに割り当てられる定数値は、ウェッジレット108bが隣接するブロック104の外周の部分と隣接した既に復号化された/再構成された近傍のサンプルから空間的に予測される。構文要素構成130は、この予測にオフセットを単に提供する。任意で、サンプル状残差信号134が、データストリーム120の中に提供される。
【0017】
デコーダは、
図4に従って符号化されている符号化ブロック104を復号化するために、次の通り作動する。先ず、デコーダは符号化モード標識122を検査する。仮に、符号化ブロック104がウェッジレットに基づいた符号化モードを有するならば、デコーダはデータストリーム120からプリフィックス126を読み取り、従って、おおよそのウェッジレット分離ラインの傾斜/方向112を得る。デコーダは、その時、データストリーム120からビット数を読み取る。ビット数は、サフィックス128を得るために、符号化ブロック104のサイズとプリフィックス126の値とに依存する。サフィックス128を用いて、デコーダは、サフィックス128にも依存しているウェッジレット分離ライン110の位置を置き換えて、実際の傾斜/方向136を得るために、おおよそのウェッジレット分離ライン110の傾斜/方向112を改良する。こうして、位置されたウェッジレット分離ライン110は、符号化ブロック104をウェッジレット108aおよび108bに2区分化することを決定する。デコーダが、可変長コード構文要素124を用いて、符号化ブロック104のサイズに一致しているサイズのブロックのウェッジレットに基づいた2区分化のリストの中に、上で概説したように、プリフィックス126とサフィックス128とを用いて示されたウェッジレット分離ラインの位置に一致しているそれぞれの2区分化を直接に見付けることは、実現可能である。その結果、デコーダは、実際の傾斜/方向136および少しの置き換えの置換長さを実際に計算しないけれども、むしろ、2進数の方法で、符号化ブロック104の個々のサンプルをウェッジレット108aまたはウェッジレット108bに関連付けるブロック104に一致しているサイズの2進数のサンプル配列を直接に見つけ出す。代わりに、以下で概説されるように、デコーダは、プリフィックス126からおおよその方向112を計算し、ブロック104の個々のサンプルを、ブロック104のサイズ、おおよその方向112およびサフィックス128の三つ組であるインデックスを用いて、関連する2進数関連配列の表の中のウェッジレット108aおよび108bのうちの1つと関連付ける2進数関連配列を見付け出す。
【0018】
これをした後に、デコーダは、例えば、ウェッジレット108aのサンプル又は関連するサンプルのサンプル値を得るために構文要素構成130を用い、ウェッジレット108bのサンプル又は関連するサンプルのサンプル値を満たすために構文要素構成132を用いる。符号化ブロック104のこのように満たされた状態は、任意で、デコーダが残留信号134と満たされたウェッジレット108aおよび108bとの間のサンプル状加算によって残留信号134を用いて改良する予測を表現する。選択肢に応じて、残留信号134は失われる。その結果、符号化ブロック104のこのような満たされた状態が、符号化ブロック104の再構成を直接に表現する。
【0019】
ロックの左上手サンプルおよび左下手サンプルのサンプル列の中にある、そして、現在の符号化ブロックの上のサンプル列の中に、つまり、サンプル{F、I}などの、現在の符号化ブロックの左上手サンプルおよび左下手サンプルのサンプル行の中にある現在の符号化ブロックに決定される。代わりにさえ、平均化が使われなくなくても、または、話が使われなくても、ウェッジレット108aのサンプルを予測するために最終的に使用される
隣接するサンプルのセット、および、ウェッジレット108bのサンプルを予測するために最終的に使用される隣接するサンプルのセットが、単に1つの隣接するサンプルからなる。現在の符号化ブロックのために決定された2区分化に依存する選択プロセスは、{A、D}などの隣接する候補サンプルのセットから、ウェッジレット108aおよび108bのうちの1つのために、1つの隣接するサンプルを選ぶ。同様に、現在の符号化ブロックのために決定された2区分化に依存する選択プロセスは、{F、I}などの隣接する候補サンプルのセットから、ウェッジレット108aおよび108bのうちの別の1つのために、1つの隣接するサンプルを選ぶ。ウェッジレットのサンプルは、その時、それぞれ選ばれた隣接するサンプルにより予測される。ウェッジレットのうちの1つが、全ての隣接する候補サンプルから引き離されて、それゆえ、例えばウェッジレットが符号化ブロックの右下手コーナーに位置する場合があるので、隣接する候補サンプルのセットのうちの少なくとも1つは初期設定定数値を含む。平均化プロセスと1つ選択プロセスとの混合は、よく使われる。例えば、選択プロセスは、符号化ブロックの左上手サンプルが、右上手サンプルと同じウェッジレット内にあるかどうか、および、符号化ブロックの左上手サンプルが、左下手サンプルと同じウェッジレット内にあるかどうか質問する。仮に、両方の質問が「はい」と答えられると、ウェッジレットが左下から右上に対角線的に事実上動くことが決定され、仮に質問が、左上と右上と左下の全てのサンプルが、1つのウェッジレット内にある、すなわち1つのウェッジレットは、{A、D、F、I}のうちのどれにも隣接しないことを明らかにするならば、初期設定値が後者のウェッジレットのための予測子として使われるように、ウェッジレットのための予測値が、{A、I}の平均の代わりに定数の初期設定値を用いて、一方のウェッジレットの{D、F}および他方のウェッジレットの{A、I}を平均化することによって決定される。しかし、仮に、質問が異なって答えられたならば、ウェッジレットが水平または垂直に事実上動くことが決められて、第1の場合において、隣接するサンプルAが一方のウェッジレットのために使われ、GのようにFとIの間の中間の隣接するサンプルが他方のウェッジレットのために使われ、そして、第2の場合において、隣接するサンプルIが一方のウェッジレットのために使われ、CのようにAとDの間の中間の隣接するサンプルが他方のウェッジレットのために使われることが決定される。
【0021】
図3の概念に比べて
図4の概念の有利さは次の通りである。符号化ブロック104のサイズが増大することによって、構文要素114の長さは、ますます大きくなる。しかし、個々の追加ビットによって、表現可能な間隔範囲、すなわちリスト112のサイズは、指数的に増加する。すなわち、構文要素114のサイズの量子化、および、符号化ブロック104のサイズによって課された実際のニーズへのその長さの順応化は、リスト112が傾斜112および遮断の全ての利用可能な組み合わせを表にするので、達成することは困難である。可変長コード構文要素124を使うことによって、ウェッジレットに基づいた符号化モードを用いて符号化されている符号化ブロックのうちの全てに使われるデータ転送速度が減らされる。なぜなら、サフィックス128の長さを実際のニーズに適応させることが実現可能であるからである。上で概説された1つの例は、プリフィックスがウェッジレット分離ラインのおおよその方向を示し、サフィックスの長さが符号化ブロックのサイズと同様にこの方向に依存させる。この手段によって、サフィックス128の長さをおおよその方向112に適応させることは容易である。正確な水平または垂直の拡張近くのおおよその方向は、改良すなわちサフィックス状態のより低い数を必要とする。従って、サフィックスの長さは、ビットのユニットの中のサフィックス長さの「量子化」が、サフィックス128の表現可能な状態とビット長との間の指数的関係によって否定的に影響されず、より小さい値の間で変わる。従って、構文要素124のために使われるビット転送速度は、
図2について議論されるように、実際の最適条件に、より密接に適応する。
【0022】
図5は、完全性のために、固定長5ビットのプリフィックス126が結果として生じるように、セクション3で上記の構文要素を用いて、どのようにプリフィックス126が構成されるかを示す。サフィックス128についても同様である。示されるように、プリフィックス126は、粗い/おおよそのウェッジレット分離ラインの方向/傾斜12が、事実上水平または事実上垂直であるかどうかを示すフラグ126aと、ウェッジレット分離ライン110の傾斜/方向12が水平または垂直の方向からそれる角度方向を示す合図ビット126bと、角度偏差の量を示す固定ビット長の値(absVal)126cとから構成されている。サフィックス128は構文要素idxから構成されている。idxのビット長、すなわちN
idxは、上で概説されるように、符号化ブロック104のサイズだけではなく、おおよそのウェッジレット分離ラインの傾斜/方向112を順に示すプリフィックス126にも依存する。以下に示す表は、個々の例示的なブロックサイズ毎に、サフィックス128のN
idxの最小値および最大値を示すことによって、一方で符号化ブロック104の示されたブロックサイズおよび他方で傾斜/方向112から、サフィックス128のビット長、すなわちN
idxの依存性のための一例を示す。
【0023】
特定の実施の形態において、上記の概念は、次のように明示的な例に置き換えられる。そうすることにおいて、「フラグ」126aはwedge_dir_flagであり、合
図126bはwedge_dir_sign_flagであり、absVal 126cはwedge_dir_absに一致し、idx 128はwedge_dir_tab_idxに一致している。
【0024】
その場合において、x0、y0(奥行きマップまたは画像内のその位置)で、所定のウェッジレットに基づいて符号化された符号化ブロック104のためのデータストリームの中に含まれている関連構文構成は、次の通り書かれる。
【0026】
ビットで測定されたwedge_dir_tab_idxの長さ、すなわち全てのリストされた構文要素からなる可変長構文要素のサフィックスの長さは、wedgeDirTabIdxBitsである。この長さは、以下の表に例示するように、符号化ブロック104のサイズlog2PbSizeと、おおよそのウェッジレット分離ラインの方向WedgeDirとに依存して決定される。本例に応じた実際の傾斜/方向に対するWedgeDirの値の関係は、
図9において説明される。
【0028】
Log2PbSizeは、サンプルにおいて測定された符号化ブロックの高さ又は幅の両対数である。すなわち、概説された例において、デコーダは、実際に、おおよそのウェッジレット分離ラインの方向を次の通り決定する。
wedge_dir_flag[x0][y0]、wedge_dir_sign_flag[x0][y0]、および、wedge_dir_abs[x0][y0]は、WedgeDir[x0][y0]を引き出すために次の通り使用される。
WedgeDir[x0][y0]=(3−2
*wedge_dir_flag[x0][y0])<<3−wedge_dir_sign_flag[x0][y0]+(1−2
*wedge_dir_sign_flag[x0][y0])
*wedge_dir_abs[x0][y0]
【0029】
wedgeDirは、両方を含んで、0から31までの値を想定し、
図9の32個の例示的に示された方向/傾斜に一致している。
【0030】
もちろん、正確な式は状況に依存し、異なって見える。しかし、一般に、式は、
図4について上で概説したように、wedge_dir_flag、wedge_dir_sign_flag、および、wedge_dir_absの意味を解釈する。
【0031】
2つのウェッジレットのうちの1つに対する現在の符号化ブロックの個々のサンプルの2進数の関係は、その時、2進数の配列wedgePatternによって示される。特に、wedgePatternは、1つの探査表WedgeDirPatternTableにおいて収集される。探査表は、三次元であり、正しい2区分化配列を配置するために、三次元のインデックスを必要とする。インデックスは、符号化ブロックのブロックサイズLog2PbSize、おおよそのウェッジレット分離ライン方向WedgeDir、および、送信されたサフィックス、すなわちwedge_dir_tab_idxから構成される。
【0032】
すなわち、ウェッジパターンは次の通り探査される。
wedgePattern=WedgeDirPatternTable[Log2PbSize][WedgeDir][wedge_dir_tab_idx]
【0033】
探査表は、例示的に次の通り引き出される。
サイズが(1<<log2BlkSize)×(1<<log2BlkSize)の2進数区分パターンの配列WedgeDirPatternTable[log2BlkSize][dirIdx]、リストWedgeDirPatternTable[log2BlkSize][dirIdx]の中の2進数区分パターンの数を規定する可変のNumWedgeDirPattern[log2BlkSize][dirIdx]は、次の通り規定されるように引き出される。
2から最大サイズまでを範囲とするlog2BlkSizeに対して、包括的に以下が適用される。
log2BlkSize(上で述べられたlog2PbSizeと等しい)に依存することによって、可変のresShiftは次の表において規定されるように引き出される。
【0035】
可変のwBlkSizeは、(1<<(log2BlkSize+resShift))に等しく設定される。
0から5までの範囲のwedgeOriに対して、包括的に以下の順のステップが適用される。
wedgeOriに依存することによって、変数xPosS、yPosS、xPosE、yPosE、xIncS、yIncS、xIncEおよびyIncEが、次の表において規定されるように引き出される。
【0037】
0からwBlkSize−1までの範囲のmに対して、包括的に以下が適用される。
0からwBlkSize−1までの範囲のnに対して、包括的に以下が適用される。
以下に規定されるウェッジレットパターン生成プロセスが、入力と出力とが2進数の配列curWedgePatternであるように、(1<<log2BlkSize)に等しいpatternSize、可変のresShift、可変のwedgeOri、(xPosS+m
*xIncS)に等しいxS、(yPosS+m
*yIncS)に等しいyS、(xPosE+n
*xIncE)に等しいxE、および、(yPosE+n
*yIncE)に等しいyEをもたらす。
curWedgePatternの方向を規定する可変のwDirは、以下において規定されるように引き出される(すなわち、0から31までの値を想定する基本/一般の方向wDirは、両方とも包括的にウェッジレットパターン毎にここで決定されて、wedgeDirPatternTable[log2BlkSize][dirIdx[]]のために以下において使われる。
【0038】
可変のdeltaXは、((xPosE+n
*xIncE)−(xPosS+m
*xIncS))に等しく設定され、可変のdeltaYは、((yPosE+n
*yIncE)−(yPosS+m
*yIncS))に等しく設定される。
仮に、deltaXが0に等しく、deltaYが0に等しいならば、以下が適用される。仮に、(xPosS+m
*xIncS)が(yPosS+m
*yIncS)に等しいならば、wDirは0に設定され、それ以外((xPosS+m
*xIncS)が(yPosS+m
*yIncS)に等しくない)ならば、wDirは16に設定される。
それ以外(deltaXが0に等しくない、または、deltaYが0に等しくない)ならば、以下が適用される。
verFlag=(abs(deltaY)>abs(deltaX))?1:0
if(verFlag==1){
(deltaX,deltaY)=Swap(deltaX,deltaY)
}
if(deltaY==0)&&(wedgeOri<4){
deltaY=1
deltaX=deltaX<<1
}
lS=(deltaY<<7)/deltaX
angOff=(lS<4)?0:((lS<14)?1:((lS<28)?2:((lS<44)?3:((lS<60)?4:((lS<76)?5:((lS<94)?6:((lS<115)?7:8)))))))
sign=((lS<0)?−1:1)
*(verFlag?1:−1)
wDir=((1+2
*verFlag)<<3+sign
*angOff)%32
【0039】
以下に規定されるようなウェッジレットパターンリスト挿入プロセスは、入力としてlog2BlkSize、可変のwDir、および、2進数の区分パターンcurWedgePatternをもたらす。
【0040】
ウェッジレットパターン生成プロセス
ウェッジレットパターン生成プロセスへの入力は、
2進数の区分パターンサイズを規定する可変のpatternSizeと、
patternSizeと関係があるウェッジレット区分の開始と終了の位置の精度を規定している解像度シフト値resShiftと、
ウェッジレットパターンの配向識別子を規定している可変のwedgeOriと、
区分ライン開始水平位置を規定している可変のxSと、
区分ライン開始垂直位置を規定している可変のySと、
区分ライン終了の水平位置を規定している可変のxEと、
区分ライン終了の垂直位置を規定している可変のyEと、である。
【0041】
ウェッジレットパターン生成プロセスの出力は、
サイズ(patternSize)×(patternSize)の2進数配列wedgePattern[x][y]である。
現在の区分パターンのサイズを規定する可変のcurSizeは、以下の通り引き出される。
curSize=(resShift==1)?
(patternSize<<1):patternSize
resShiftが−1と等しいとき、変数xS、yS、xEおよびyEは、次の表に規定されるように修正される。
【0043】
可変のcurPattern[x][y]の値は、以下の順のステップにより規定されるように引き出される。
1.x、y=0..curSize−1に対して、curPattern[x][y]は0に等しく設定される。
2.(xS、yS)と(xE、yE)との間のラインを形成する配列curPatternのサンプルは、以下において規定されるように、1に等しく設定される。
【0044】
x0=xS
y0=yS
x1=xE
y1=yE
if(abs(yE−yS)>abs(xE−xS)){
(x0,y0)=Swap(x0,y0)
(x1,y1)=Swap(x1,y1)
}
if(x0>x1){
(x0,x1)=Swap(x0,x1)
(y0,y1)=Swap(y0,y1)
}
sumErr=0
posY=y0
for(posX=x0;posX<=x1;posX++){
if(abs(yE−yS)>abs(xE−xS))
curPattern[posY][posX]=1
else
curPattern[posX][posY]=1
sumErr+=(abs(y1−y0)<<1)
if(sumErr>=(x1−x0)){
posY+=(y0<y1)?1:−1
sumErr−=(x1−x0)<<1
}
}
【0045】
3.より小さい区分に属するcurPatternのサンプルは、以下において規定されるように、1に等しく設定される。
if(wedgeOri==0)
for(iX=0;iX<xS;iX++)
for(iY=0;curPattern[iX][iY]==0;iY++)
curPattern[iX][iY]=1
else if(wedgeOri==1)
for(iY=0;iY<yS;iY++)
for(iX=curSize−1;curPattern[iX][iY]==0;iX−−)
curPattern[iX][iY]=1
else if(wedgeOri==2)
for(iX=curSize−1;iX>xS;iX−−)
for(iY=curSize−1;curPattern[iX][iY]==0;iY−−)
curPattern[iX][iY]=1
else if(wedgeOri==3)
for(iY=curSize−1;iY>yS;iY−−)
for(iX=0;curPattern[iX][iY]==0;iX++)
curPattern[iX][iY]=1
else if(wedgeOri==4)&&((xS+xE)<curSize))
for(iY=0;iY<curSize;iY++)
for(iX=0;curPattern[iX][iY]==0;iX+)
curPattern[iX][iY]=1
else if(wedgeOri==4)
for(iY=0;iY<curSize;iY++)
for(iX=curSize−1;curPattern[iX][iY]==0;iX−−)
curPattern[iX][iY]=1
else if(wedgeOri==5)&&((yS+yE)<curSize))
for(iX=0;iX<curSize;iX++)
for(iY=0;curPattern[iX][iY]==0;iY++)
curPattern[iX][iY]=1
else if(wedgeOri==5)
for(iX=0;iX<curSize;iX++)
for(iY=curSize−1;curPattern[iX][iY]==0;iY−−)
curPattern[iX][iY]=1
【0046】
4.x、y=0..patternSize−1を持つ2進数の区分パターンwedgePattern[x][y]は、以下において規定されるように引き出される。
仮に、resShiftが1に等しいならば、以下が適用される。
wedgeOriに依存して、変数xOffおよびyOffは、次の表において規定されるように設定される。
【0048】
x、y=0..patternSize−1に対して、以下が適用される。
wedgePattern[x][y]=curPattern[(x<<1)+xOff][(y<<1)+yOff]
それ以外(resShiftが1に等しくない)ならば、wedgePatternはcurPatternに等しく設定される。
【0049】
ウェッジレットパターンリスト挿入プロセス
ウェッジレットパターンリスト挿入プロセスへの入力は、
2進数区分パターンサイズを(1<<log2BlkSize)として規定している可変のlog2BlkSizeと、
ウェッジレットパターンの方向を規定している可変のwDirと、
x、y=0..(1<<log2BlkSize)−1を持つ2進数区分パターンwedgePattern[x][y]と、である。
2進数区分パターンwedgePatternがリストWedgeDirPatternTable[log2BlkSize][wDir]に追加されるかどうかを規定する可変のisValidFlagは、0に等しく設定される。
isValidFlagの値は、以下の順序のステップにより規定されるように引き出される。
【0050】
1.x、y=0..(1<<log2BlkSize)−1に対して、以下が適用される。
wedgePattern[x][y]が、wedgePattern[0][0]に等しくないときは、フラグisValidFlagは1に設定される。
0から31までの範囲内のdirに対して、包括的に以下が適用される。
k=0..NumWedgeDirPattern[log2BlkSize][dir]−1に対して、以下が適用される。
フラグpatIdenticalFlagは1に等しく設定される。
x、y=0..(1<<log2BlkSize)−1に対して、以下が適用される。
wedgePattern[x][y]が、WedgeDirPatternTable[log2BlkSize][dir][k][x][y]に等しくないとき、patIdenticalFlagは0に設定される。
patIdenticalFlagが1に等しいとき、isValidFlagは0に設定される。
【0051】
2.0から31までの範囲内のdirに対して、包括的に、以下が適用される。
k=0..NumWedgeDirPattern[log2BlkSize][dir]−1に対して、以下が適用される。
フラグpatInvIdenticalFlagは1に設定される。
x、y=0..(1<<log2BlkSize)−1に対して、以下が適用される。
wedgePattern[x][y]が、WedgeDirPatternTable[log2BlkSize][dir][k][x][y]に等しいとき、patInvIdenticalFlagは0に設定される。
patIdenticalFlagが1に等しいとき、isValidFlagは0に設定される。
isValidFlagが1に等しいとき、以下が適用される。
パターンWedgeDirPatternTable[log2BlkSize][wDir][NumWedgeDirPattern[log2BlkSize][wDir]]は、wedgePatternに等しく設定される。
NumWedgeDirPattern[log2BlkSize][wDir]の値は、1だけ増加する。
【0052】
可変長コード構文要素を送信する上記の例は、構文要素構成130および132を運ぶために、以下の方法で拡張される。特に、以下の構文は、wedge_dir_flag、wedge_dir_sign_flag、wedge_dir_absおよびwedge_dir_tab_idxに関連する、上記で識別された4本のラインに従う。
【0056】
しかし、個々のウェッジレットに属しているサンプルが実際に満たされる方法について、異なる方法で実行されてもよい。
【0057】
上記の実施の形態の全てにおいて、複数のウェッジレットに基づいた符号化モードが利用可能であることに注目するべきである。前記モードの1つは、1つのウェッジレット当たり1つの定数値で、個々の構文要素構成130/132を介して−例示的に予測的に符号化されて−送信された定数値を持つ1つのウェッジレット内のサンプルを満たす。しかし、別のモードは、線形機能を持つ、すなわちサンプルの2次元配列について線形を持つ個々のウェッジレットのサンプルを満たす。これ以外に、1つ以上のウェッジレットに基づかない符号化モードも、利用可能である。例えば、そのようなモードは、符号化ブロックの内容のスペクトル分解を表示する符号化ブロックのための変換係数配列を簡素に送信する。
【0058】
さらに、全ての上記実施の形態において、符号化ブロック104の内容が、動作補正された(時間的な)および/または相違補正された(相互ビュー)予測の予測残差などの予測残差を実際に表示することに注目すべきである。その結果、デコーダは、ブロック104の内容の再構成を得るために、再構成された符号化ブロックの内容を、そのような動作補正された(時間的な)および/または相違補正された(相互ビュー)予測信号に追加する。
【0059】
従って、
図1から
図6までについて、符号化ブロックのウェッジレットに基づいた符号化のための本発明のいくつかの実施の形態が説明された。しかし、異なる詳細が含まれたこれらの実施の形態が、本発明の仕様の入門の部分の中で、上記発表された利点をまだ提供しながら修正されることは、言及されるべきである。以下で、エンコーダおよびデコーダの実施の形態が説明される。それは、実施の形態に従って、上記識別された実施の形態の中で説明された詳細と一致するように、実施される。しかし、それは、また、上記実施の形態の一般化の故、異なって実施される。
【0060】
図7は、例えば、実施の形態に従ってデコーダ200を示す。デコーダ200は、符号化ブロックのウェッジレットに基づいた符号化をサポートする。上記のように、符号化ブロック104は、デコーダ200がウェッジレットに基づいた復号化を実行することについて、画像又は奥行きマップ100/102が区分される、全ての符号化ブロック又は符号化ブロックの副セットである。すなわち、符号化ブロック104は、仮に纏められるならば、空間的用語又はそうではない用語において、画像又は奥行きマップ100/102を完全にカバーする。例えば、デコーダ200は、副分割器および符号化ブロック横断器202、または、それぞれ、画像/奥行きマップ100/102を符号化ブロック104に副分割して、符号化ブロック104を横切るための手段を、任意で備える。例えば、ブロック202は、データストリーム120から得られた副分割情報から、符号化ブロック104への画像/奥行きマップ100/102の副分割を引き出す。さらに以下に説明されるように、ウェッジレット2区分されるそれらの符号化ブロックの他に、次に説明されるウェッジレット2区分モードより他の符号化モードが割り当てられる別の符号化ブロックがある。例えば、そのような別の符号化ブロックは、DCT(離散余弦変換)の係数などの量子化された変換係数を経たスペクトル領域の中に符号化される。ウェッジレットに基づいて復号化される符号化ブロックのために、デコーダ200は、例えば、プリフィックス読み取り器204と、サフィックス長さ決定器206と、サフィックス読み取り器208と、ウェッジレット2区分器210と、再構成器212とを備える。204から212までのブロックは、例えば、ウェッジレットに基づいて復号化される個々の現在の符号化ブロック104のために、ブロック202によって作動する。上記のように、ウェッジレットに基づいて復号化される符号化ブロック104は、画像100または奥行きマップ102をそれぞれ完全にカバーできるわけではない。
【0061】
プリフィックス読み取り器204は、データストリーム120から、可変長コード構文要素のプリフィックス126(上記参照)を読み取るための手段として機能する。上記のように、プリフィックス読み取り器204は、現在の符号化ブロックのサイズから独立している固定ビット長を用いて、データストリームからプリフィックス126を読み取るように構成され、そして、データストリームからプリフィックスのビットを、直接に、すなわちエントロピー復号化無しで、または、固定等価確率2進数エントロピー復号化を用いて、すなわちプリフィックスの可能な値毎に又はプリフィックスのビット毎に同じ確率を用いて、読み取るように構成されている。例えば、プリフィックス126が、プリフィックスが想定する2
n個の可能な値を持つnビットプリフィックスであると想定しなさい。そのとき、例えば、デコーダは、更に構文要素(プリフィックスを除いた)を算術的に復号化するために、内部算術確率間隔幅を再分割することを間欠的に中断できる。しかし、デコーダは、また、データストリーム120から直接に、すなわち内部算術確率間隔幅を変更しないで、または、プリフィックスから独立した内部算術確率間隔幅を唯一変更して、一列の次のn個のプリフィックスビットを読み取るプリフィックス読み取り器と共に、データストリームから画像/深さマップを説明することに参加する。または、プリフィックス読み取り器は、例えば、n個のビット毎に内部算術確率間隔幅を持ち、プリフィックスの個々のビットが持つ2進値を見るために、データストリームからビットを読み込むことによって、別の構文要素が同様にエントロピー復号化されるデータストリームからプリフィックスを算術的に復号化するように、プリフィックスのnビット毎にデコーダの内部算術確率間隔幅を分割することを続ける。これは、文脈に基づいたエントロピー符号化と事実上比較された読み取りタスクを緩和する。また上記のように、プリフィックス読み取り器204は、第一に水平である又は第一に垂直である2つのウェッジレットを分離するウェッジレット分離ライン110のおおよその方向112を示すフラグ126aと、正確に水平又は垂直の拡張からのウェッジレット分離ラインのおおよその方向の角度偏差の方向を示す合
図126bと、角度偏差の大きさを示す絶対値126cとの組み合わせとしてプリフィックスを読み込む。すなわち、上記のように、フラグ126aは、水平軸とウェッジレット分離ラインとの間の角度が、ウェッジレット分離ラインと垂直軸との間の角度より小さいかどうかを示す。または、逆もまた同様である。例えば、角度偏差は時計回りで測定され、従って、合図は角度偏差の方向を示す。反対も同様に真実である。しかし、水平/垂直フラグ、合図およびmビット絶対オフセットへの固定長nビットプリフィックスの「構造化」(m=n−2を持つ)は、任意であり、実際には2
n個のおおよそのウェッジレット分離ライン方向/傾斜の上への、nビットプリフィックスのnビット/桁表現の特定の結び付けのための一例と解釈される。2
n個のおおよそのウェッジレット分離ライン方向/傾斜と、nビットプリフィックスが想定する2
n個の可能な値との間の別の結び付けも、用いられる。
【0062】
従って、
図7に示すように、デコーダ200は、ウェッジレット分離ライン方向決定器214、または、プリフィックス読み取り器204によって読み込まれるプリフィックスに基づいてウェッジレット分離ラインのおおよその方向を決定するための手段を、任意に備える。
【0063】
サフィックス長さ決定器206は、例えばビットで測定されたサフィックス長さを決定するための手段として機能する。ここで、決定は、読み取り器204によって読み込まれたプリフィックスと現在の符号化ブロックのサイズとに基づいて実行される。サフィックス長さ決定器206が関係する限り、サフィックス長さ決定器206が、決定器214によって決定されるように、おおよその方向に基づいてサフィックス長さを決定することなどによって、可変長コード構文要素124のサフィックス128の長さを直接に又は間接的に決定するために、プリフィックスを使うことは明確である。一般に、決定器206は、サフィックス228の長さが、符号化ブロックサイズが増大すると共に増大するように構成される。さらに、サフィックスの長さは、正確な水平又は垂直の拡張近くのおおよその方向に一致するプリフィックスのために、より小さくなる傾向がある。例えば、個々の符号化ブロックサイズに対して、決定器206により決定されたサフィックス長さは、水平軸および垂直軸のそれぞれに対して斜めの別のウェッジレット分離ラインのおおよその方向、つまり対角線(45°)の方向に近い方向に対して、個々の符号化ブロックサイズのために、決定器206によって決定されたサフィックス長さに比較される、水平軸又は垂直軸に平行な又は少なくとも同様のおおよその方向に対して、最も小さい。有利さは
図9から把握できる。プリフィックスによって区別できるおおよその方向/傾斜の角度密度は、角度的に変わる。
図9の例において、密度は、水平および垂直方向で最も高いけれども、これは別の実施の形態では異なる。しかし、そのような「高密度方向」で、適度に区別できるウェッジレット分離ライン位置(傾斜付きオフセット)の数は、おおよその傾斜/方向のより高い数の上に分配可能/関係可能である。従って、所定のプリフィックス値のおおよその傾斜と同様な傾斜の個々のウェッジレット分離ライン位置の間を区別するために、そのような「高密度方向」で又はその周囲での、おおよその傾斜を識別する所定のプリフィックス値のサフィックス状態の数が、角度の用語で高密度方向からより遠くのおおよその傾斜を識別するプリフィックス値に比べて減少する。この手段によって、データストリームの貴重なビットが節約される。
【0064】
サフィックス読み取り器208は、決定器206により決定された長さを使用して、データストリーム120から可変長コード構文要素のサフィックスを読み取るための読み取り器として機能する。すなわち、サフィックス読み取り器は、データストリームから、サフィックス長さ決定器206によって決定された多いビットを読み取る。上記のように、サフィックス読み取り器208でさえ、直接的にまたは固定等価確率2進数エントロピー復号化を用いて、データストリーム120からサフィックスのビットを読み取る。例えば、サフィックスは、プリフィックスが想定する2
m個の可能な値を持つmビットプリフィックスであると、想定しなさい。そのとき、例えば、デコーダは、更に構文要素(サフィックスを除いた)を算術的に復号化するために、内部算術確率間隔幅を副分割することを間欠的に中断できる。しかし、デコーダは、また、データストリーム120から直接に、すなわち内部算術確率間隔幅を変更しないで、または、サフィックスから独立した内部算術確率間隔幅を唯一変更して、一列の次のm個のプリフィックスビットを読み取るサフィックス読み取り器と共に、データストリームから画像/深さマップを説明することに参加する。または、サフィックス読み取り器は、例えば、m個のビット毎に内部算術確率間隔幅を持ち、サフィックスの個々のビットが持つ2進値を見るために、データストリームからビットを読み込むことによって、別の構文要素が同様にエントロピー復号化されるデータストリームからサフィックスを算術的に復号化するように、サフィックスのmビット毎にデコーダの内部算術確率間隔幅を分割することを続ける。
【0065】
ウェッジレット2区分器210は、可変長コード構文要素を用いて、現在の符号化ブロックを2つのウェッジレットに2区分することを決定するための手段として機能する。すなわち、2区分器210は、2つのウェッジレットのうちの一方に割り当てられたサンプルが、位置がプリフィックスおよびサフィックスによって定義されるウェッジレット分離ラインの一方に位置し、そして、2つのウェッジレットのうちの他方に割り当てられたサンプルが、ウェッジレット分離ラインの反対側に位置するような方法で、符号化ブロックの個々のサンプルを、2つのウェッジレットのうちの1つに関連付ける。例えば、ウェッジレット2区分器210は、決定器214により予め決定されるように、サフィックス読み取り器208によって得られたサフィックスおよびプリフィックス読み取り器204によって読み込まれたプリフィックスによって、すなわち直接的にまたはウェッジレット分離ラインのおおよその方向により制御される。上記のように、探査表は、インデックスとして、プリフィックスと、直接的に又はそこから決定されたおおよその方向のいずれか一方と、サフィックスと、現在の符号化ブロックのサイズとを用いて、2区分器210により実行される。表項目は、対応する符号化ブロックサイズの2進数値マップからなり、従って、符号化ブロックサイズに沿って個々の表項目をインデックス付けする、それぞれのプリフィックスおよびサフィックスに対応するウェッジレット分離ラインに沿って、そのサイズの符号化ブロックの2区分化を示す。そのような表がどのように組み立てられた/構成されたかについて、上で例証されている。同様に、ウェッジレット2区分器が、プリフィックス、サフィックスおよび現在の符号化ブロックのサイズに依存して、直ちに、すなわち計算的に2区分化を計算することも、上で既に示された。
【0066】
要約すると、
図7に応じたデコーダは、以下のようなものである。プリフィックス読み取り器204は、現在の符号化ブロックのサイズZから独立している固定ビット長nを用いて、データストリームからプリフィックス126を読み込む。プリフィックスは、2
n個のインデックス付け可能なおおよその方向の中から、ウェッジレット分離ラインのおおよその方向をインデックス付けする。ウェッジレット2分配器は、現在の符号化ブロック104が可変長コード構文要素124に従って2区分される2つのウェッジレット108a、108bが、プリフィックスによってインデックス付けられるおおよその方向に近づく傾斜を持ち、およびサフィックスに依存するオフセットを持つラインに沿って、分離されるように構成される。サフィックス長さ決定器206は、可変長コード構文要素124のサフィックス128の長さmを決定する。現在の符号化ブロック104の可能なサイズのそれぞれに対して、mは、仮にプリフィックスによってインデックスを付けられる2
n個のインデックス付け可能なおおよその方向のうちのおおよその方向が、2
n個のインデックス付け可能なおおよその方向が角度局所最大濃度を持つ方向に一致する又はその隣であるならば、mが最大であるように、プリフィックスに依存して決定される。そして、プリフィックスの2
n個の可能な値のそれぞれに対して、mは、サイズが増大すれば単調に増大するように、現在の符号化ブロックのサイズに依存して決定される。上記のように、2
n個のインデックス付け可能なおおよその方向は、水平および垂直方向に、角度局所最大濃度を持つ。言い換えると、Pは、2
n個のインデックス付け可能なおおよその方向のうち1つ、または、s[1]<s[2]<…<s[2
n]の傾斜s[1]…s[2
n]のうちの1つにインデックスを付けるnビットを持つプリフィックスを示すとする。Sは、ビット長mを持つサフィックスを示すとする。mはPおよびZの両方について変化するものであり、すなわち、mはm(P、Z)であり、Zは符号化ブロックサイズZを示す。さらに、B
P、
S、
Zは、プリフィックスP、サフィックスSおよび符号化ブロックサイズZのための2区分器で使われる2区分化であるとする。すなわち、B
P、
S、
Zは、2進数係数B
P、
S、
Z(x、y)と、0≦x,y≦Zと、指数関数または線形関数などの厳密に単調に増大する関数であるL()とを持つ、L(Z)×L(Z)2進数係数行列であるとする。全ての可能な符号化ブロックサイズZは、可能な符号化ブロックサイズのセットを示すΩ
Zを持つΩ
Zの中に纏められるとする。そして、個々のB
P、
S、
Zは、傾斜s
P、
S、
Zおよびオフセットo
P、
S、
Zを持つ実際のウェッジレット分離ライン(このような実際のライン110を示す
図2と比較しなさい)に沿って、L(Z)×L(Z)ブロックを2つのウェッジレットに分割する。例えば、実際のウェッジレット分離ラインは、個々のウェッジレットのサンプルの中心を通って、直ぐに隣接する別のウェッジレットに適合する。そして、それは、i=2…2
n、すなわちp、qに対する、Δα[i]<Δα[i−1]と、Δα[i]=Δα[i−p]を持つΔα[i]<Δα[i+1]またはΔα[i]=Δα[i−1]、…、Δα[i]=Δα[i−p+1]と、Δα[i]=Δα[i−p]を持つΔα[i]=Δα[i−1]、…、Δα[i]=Δα[i+q−1]とのiに対して、一連の角距離Δα[i]=s[i]−s[i−1]の中に局所最小P=iが存在することが、真であることを保持する。これは、
図9においてwedgeDir=8およびwedgDir=24である。全ての符号化ブロックサイズZ
e∈Ω
Zに対して、m[i、Z
e]=min
P({P=1…2
n|m[P、Z
e]})である。これは、wedgeDirTabIdxBitsの上記例示の表の中のwedDir=8およびwedgeDir=24の両方に対して真である。すなわち、wedDir=8およびwedgeDir=24に一致しているwedgeDirTabIdxBitsは、個々のラインにおいて最小を形成する。さらに、個々のP
e=1…2
nに対して、m[P
e、1]≦m[P
e、2]≦…≦m[P
e、max(Ω
Z)]である。これは、wedgeDirTabIdxBitsの表の個々の行において、wedgeDirTabIdxBitsの値が、一番上から一番下まで厳密に単調に増大することである。wedgeDirTabIdxBitsの上記の表において見られるように、mは、いくつかの又は1つの符号化ブロックサイズに対して0であり、いくつかの又は1つの符号化ブロックサイズに対しておおよその方向P、すなわち、高さ角度密度方向i又はその方向の周りである。
【0067】
今までのところ、唯一の実施の形態は、ウェッジレット分離ラインが直線であり、傾斜およびオフセットによって定義されて提供される。例えば、傾斜は、直線のウェッジレット分離ラインと水平軸との間の角度を測定する。例えば、オフセットは、現在の符号化ブロックの左下手の角部を横切るウェッジレット分離ラインの位置に関連する水平軸および/または垂直軸に沿って、ウェッジレット分離ラインの置き換えを測定する。
【0068】
しかし、上で既に記述したように、本発明の実施の形態は、直線のウェッジレット分離ラインに限定されない。例えば、プリフィックスおよびサフィックスを介して信号で伝えられるウェッジレット分離ラインは、曲線のウェッジレット分離ラインを含む。その場合において、例えば、プリフィックスは、ウェッジレット分離ラインの適切な方向、すなわち、現在の符号化ブロック内のウェッジレット分離ラインの平均傾斜を、まだ標示する/信号で伝える。サフィックスは、さらに、ウェッジレット分離ラインの湾曲、および、現在の符号化ブロック内のどのような置き換えでも定義する。ここで、サフィックス長は、個々のおおよその傾斜で、湾曲および置き換えを変えることから結果として生じる2区分化の異なる変動性を説明するために、プリフィックスと同様に符号化ブロックサイズに依存する。代わりに、プリフィックスは、既に、平均傾斜、湾曲および置き換えについて、ウェッジレット分離ライン位置を改良するサフィックスを持つウェッジレット分離ラインのいくつかのおおよその湾曲を区別する。また、サフィックス長は、後者の改良によって信号で伝えることができる区別可能な2区分化の数の違いを説明するために、プリフィックス値と同様に両方の符号化ブロックサイズに依存して、有利に選択される。ウェッジレット分離ラインについての別の選択肢は、ウェッジレット分離ラインが、その拡張に沿って変化する湾曲を持つことを許す例などを、同様に実現可能である。
【0069】
再構成器212は、ウェッジレット2区分器210によって決定された2区分化を用いて、現在の符号化ブロックを再構成するための手段として機能する。すなわち、ウェッジレット2区分器210によって得られた2区分化は、現在の符号化ブロック内の個々のサンプルを、現在の符号化ブロック内の2つのウェッジレットのうちのどちらか一方に関連付ける。上記のように、再構成器212は、2区分器210からの2区分化によって決定された現在の符号化ブロックの2つのウェッジレットのサンプル値を、データストリームの中に符号化された定数値で個別に満たすように構成される。例えば、予測的符号化が使われる。すなわち、例えば、再構成器212は、現在の符号化ブロックの2つのウェッジレットのうちのそれぞれに対して、定数値を空間的に予測し、従って、改良された定数値をそれぞれ用いてウェッジレットを満たすことによって、データストリーム120の中の構文要素を使って、こうして得られた予測定数値を改良する。より一層の詳細が、
図6について上に説明された。しかし、別の可能性が、例えば、両方のウェッジレットを、隣接する既に再構成されたサンプル又は同類からの時間的予測や空間的外挿法によって満たすことなどが同様に存在する。
図7は、デコーダ200が、動作および/または不均衡に補う予測信号の予測残差として、再構成器212によって得られる現在の符号化ブロックの再構成を使うように構成されたハイブリッドデコーダであることを説明する。従って
図7は、デコーダ200が、任意で、ブロック境界において復号化ブロック104に一致する又は一致しない予測ブロックのユニットの中において、この予測信号の予測残差として、再構成器212により得られた現在の符号化ブロックの再構成を用いて、画像100または奥行きマップ102のために予測信号を得るように、すなわち予測信号を改良するために両方を結合するために、動作を補った、不均衡および/または内部予測モードなどの異なる予測モードの間を切り替える予測再構成器216からなることを示す。
【0070】
さらに、上記の議論から明確になるように、デコーダ200は、動作ビデオ付き奥行きデコーダであり、その場合、例えば、上記議論されたブロック204から212までによって提供されたウェッジレットに基づいた符号化モードは、奥行きマップの復号化が、画像100のテキストの復号化において、このモードを除くことに関係している限り、デコーダ200によって用いられるだけである。
【0071】
図7において示されたデコーダ200のブロックは、例えば、コンピュータ上で実行されることによって、デコーダ200を実施しているコンピュータプログラムの種々の部分である。同様の主張は
図8にも当てはまる。
【0072】
完全性のために
図8は、
図7のデコーダ200と合致するエンコーダ300を示す。エンコーダ300のブロック/要素を示すために使われる参考符号は、100付加されてそれるだけで、
図7のデコーダの要素に割り当てられたそれらと同様である。従って、
図8のエンコーダ300は、副分割器と、符号化ブロック横断器302と、プリフィックス書き込み器304と、サフィックス長さ決定器306と、サフィックス書き込み器308と、ウェッジレット2区分器310と、符号化ブロック符号器312と、おおよその方向決定器314と、予測符号器316とからなる。ブロック302は、エンコーダ300が関係する限り、副分割が、画像/奥行きマップを、最適化計画に依存して選択されるという違いを持つブロック202として機能する。同様に、ブロック304から312までは、上で議論したように、その現在の符号化ブロックと関連し、ウェッジレットに基づいた符号化モードを制御する構文要素が、最適化計画に従ってエンコーダ側で選択されるという差を持つ現在の符号化ブロックに対して、ブロック204から212までによって実行される機能を事実上反映する。従って、プリフィックス書き込み器304およびサフィックス書き込み器308は、データストリーム120から個々のプリフィックスおよびサフィックスを読み込むというよりもむしろ、個々のプリフィックスおよびサフィックスを、データストリーム120の中に書き込む。そして、符号化ブロック符号器312は、例えば現在の符号化ブロックのウェッジレット内のサンプルの実際の充満を符号化し、この目的のために、データストリーム120の中に前記の定数値改良などの個々の構文要素を書き込む。予測符号器316は、予測再構成器216によって、しかし、個々の最適化計画によってこれらの予測ブロックのための個々の符号化パラメータを追加して選択することよって、仮に提供されるならば、以前に説明したように、予測残差として、ブロック304から312までによって、データストリーム120の中に書き込まれた構文要素に基づいて、データストリーム120から再構成可能として、符号化ブロックのバージョンを用いて、エミュレート(模倣)されたハイブリッド予測を同様に実行する。言い換えると、エンコーダ300の合成による分析の性質は、例えば、エンコーダが、画像/奥行きマップの再構成可能なバージョンをより一層の予測に利用可能にし、予測符号器316により実行されることを必要とする。従って、エンコーダ300は、MVDエンコーダであり、
図8のエンコーダ300を更に実施するために使われる別の詳細の全てについて、デコーダ側についての上記の議論が参考にされる。
【0073】
上記実施の形態は、相互エイリアス(別名)、本発明の優先日に先がけた時間に、HEVC拡張のHTM−9.0のDMM1ウェッジレットモードを変形するために使われる。その場合において、DMM1ウェッジレットパターンの変形された信号は、角度内部モードの32個の方向に基づく。ウェッジレットパターンリストインデックスの固定長CABAC2進数化の計画は、バイパス符号化を使う2進数化によって置き換えられる。結果として生じる変形された計画は、改良インデックスを加えたウェッジレット分離ラインの方向を信号で伝える。
【0074】
特に、HTM−9.0において、DMM1のウェッジレットパターンは、ブロックサイズと一致しているウェッジレットパターンリストの中のインデックスとして信号で伝えられる。このインデックスは、1つのCABAC文脈を持つ固定長符号化によって2進化される。この解決は、CABAC文脈順応から非常にうまく利益を得ることはできない。しかし、DMM1ウェッジレット区分パターン情報を信号で伝えるための2進数化計画は、計画が上記の実施の形態に従って前記パターン情報を設計することによって結果として生じるように、角度内部モードの32個の方向に基づいて、CABAC文脈符号化の代わりにバイパスを使用する。
【0075】
具体的な例において、上記の実施の形態の有利さを利用して、例えば、DMM1符号化の概念は、次の通り動作する。第1のステップにおいて、ウェッジレット分離ラインの方向と一致している内部方向が、信号で伝えられる。この目的のために、ウェッジレットラインの傾斜が、ウェッジレットパターンリスト初期設定の間に、角度内部モードのために定義された32個の方向のうちの1つに結び付けられる。DMM1ブロックの方向が与えられると、2値化は次の通り働く。フラグが送信されて、方向が水平領域または垂直領域にあるかどうか規定される(
図9のHまたはV)。HOR_IDX(10)またはVER_IDX(26)のいずれか一方への傾斜の方向オフセットが、1および3個のバイパス符号化容器(ビン)をそれぞれ用いて、合図(
図9の中の+または−)、および、絶対値absVal(
図9の中の0から7まで)として信号で伝えられる。これらの3つの要素から、方向dir(wedgeDir−2と一致し、2…34の値の範囲を持つ)が、以下の式で計算される。
dir=((flag)?10:26)+((sign)?−1:1)
*absVal−−sign
【0076】
第2のステップにおいて、方向依存のウェッジレットリストの改良インデックスidxは、Nバイパス符号化容器を用いて信号で伝えられる。容器Nの数は、個々の方向とブロックサイズに対して、予め決められたリストの長さに依存する。デコーダでは、DMM1ブロックの再構成のために使われるウェッジレットパターンは、pattern=wDirLists[dir−2][idx]のように、結果的に、方向依存のウェッジレットリストwDirListsの配列における探査として定義される。
【0077】
JCT3V−F1105(非特許文献1)のCE5の説明およびJCT3V−F1100(非特許文献2)の共通のテスト条件に従って、この変形されたDMM1計画は、ランダムアクセス(CTC)およびHTM9.0r1を持つ全ての内部構成のために評価される。結果は以下の表において纏められる。
【0080】
変形は、JCT3V−F1001(非特許文献3)の付録Hの仕様書を変更することが必要である。可能な変更が、上にも示された仕様書を改正するために、上の記載および可能な断片から引き出される。
【0081】
後者の表の結果は、DMM1ウェッジレット区分パターン情報に対して変形された2進数化計画が約0.1%の符号化利得をもたらすことを示す。符号化性能は、全ての内部構成と同様に、CTCを持つ全てのシーケンスに対して改善される。同時に、提案された方法は、CABAC符号化容器の数を0に減らし、より高い複雑さをもたらさない。
【0082】
装置の文脈においていくつかの面が説明されるけれども、これらの面が、対応している方法の説明も表すことは明確である。ここで、ブロックまたは装置は、方法ステップまたは方法ステップの特徴と一致する。類似的に、方法ステップの文脈において説明された面は、対応したブロックの説明、または、対応した装置の項目または特徴も表している。方法ステップのいくつか又は全てが、例えば、マイクロプロセッサーまたはプログラム化可能なコンピュータまたは電子回路のようなハードウェア装置によって(または使用して)実行される。いくつかの実施の形態において、最も重要な方法ステップのうちの1つ以上が、そのような装置によって実行される。
【0083】
所定の実施の要求に依存することによって、発明の実施の形態はハードウェアまたはソフトウェアにおいて実行される。実施は、個々の方法が実行されるように、プログラム可能なコンピュータシステムと協働する(または、協働の可能性がある)、その上に蓄えられた電子的に読み取り可能な制御信号を持つデジタルの記憶媒体、例えばフロッピーディスク又はDVD又はブルーレイ又はCD又はROM又はPROM又はEPROM又はEEPROM又はフラッシュメモリを用いて実行される。従って、デジタルの記憶媒体は読み取り可能なコンピュータである。
【0084】
発明に応じたいくつかの実施の形態が、ここに説明された方法のうちの1つが実行されるように、プログラム可能なコンピュータシステムと協働の可能性がある、電子的に読み取り可能な制御信号を持つデータキャリアからなる。
【0085】
一般に、本発明の実施の形態は、プログラムコードを持つコンピュータプログラム製品として実施される。プログラムコードは、コンピュータプログラム製品がコンピュータ上で稼働するとき、方法のうちの1つを実行するために働く。例えば、プログラムコードは機械読み取り可能なキャリアに蓄えられる。
【0086】
別の実施の形態は、ここに説明された方法のうちの1つを実行するためのコンピュータプログラムから成り、機械読み取り可能なキャリアに蓄えられる。
【0087】
すなわち、発明の方法の実施の形態は、ここに説明された方法のうちの1つを実行するためのプログラムコードを持つコンピュータプログラムである。その時、コンピュータプログラムはコンピュータ上を稼働する。
【0088】
従って、発明の方法の更なる実施の形態は、ここに説明された方法のうちの1つを実行するためのコンピュータプログラムを、その上において記録されて含まれるデータキャリア(またはデジタル記憶媒体またはコンピュータ読み取り可能な媒体)である。データキャリアまたはデジタルの記憶媒体または記録された媒体は、一般に実在し、および/または、非過渡である。
【0089】
従って、発明の方法の更なる実施の形態は、ここに説明された方法のうちの1つを実行するためのコンピュータプログラムを表しているデータストリームまたは一連の信号である。例えば、データストリームまたは一連の信号は、インターネットを介して、データ通信接続を経て転送されるように構成される。
【0090】
更なる実施の形態は、ここに説明された方法のうちの1つを実行するように構成された、または、適応したプロセス手段、例えばコンピュータまたはプログラム可能な論理デバイスからなる。
【0091】
更なる実施の形態は、その上において、ここに説明された方法のうちの1つを実行するためのコンピュータプログラムをインストールしているコンピュータからなる。
【0092】
発明に応じた更なる実施の形態は、ここに説明された方法のうちの1つを実行するためのコンピュータプログラムを受信器に転送する(例えば、電子的にまたは光学的に)ように構成された装置またはシステムからなる。例えば、受信器は、コンピュータ又はモバイル機器又はメモリ装置又は同類である。例えば、装置またはシステムは、コンピュータプログラムを受信器に転送するためのファイルサーバからなる。
【0093】
いくつかの実施の形態において、プログラム可能な論理デバイス(例えば、フィールドプログラマブルゲートアレイ)は、ここに説明された方法の機能のうちのいくつかまたは全てを実行するために使用される。いくつかの実施の形態において、フィールドプログラマブルゲートアレイは、ここに説明された方法のうちの1つを実行するために、マイクロプロセッサーと協働する。一般に、方法は、好ましくは、どのようなハードウェア装置によっても実行される。
【0094】
ここに説明された装置は、ハードウェア装置を使って、または、コンピュータを使って、または、ハードウェア装置およびコンピュータの組み合わせを使って実施される。
【0095】
ここに説明された方法は、ハードウェア装置を使って、または、コンピュータを使って、または、ハードウェア装置およびコンピュータの組み合わせを使って実行される。
【0096】
上記の説明された実施の形態は、単に、本発明の原則のために説明される。ここに説明された配列と詳細の部分変形と変化が当業者に明白であることは理解される。従って、ここの実施の形態の記述と説明を経て提供された特定の詳細ではなく、差し迫った特許請求の範囲だけによって制限されることは、意思である。
【0097】
参考文献
[1] H. Liu, "Description of Core Experiment 5 (CE5) on Depth Intra Modes," JCT3V-F1105, Geneva, Switzerland, November 2013.
[2] D. Rusanovskyy, K. Mueller, A. Vetro, "Common Test Conditions of 3DV Core Experiments," JCT3V-F1100, Geneva, Switzerland, November 2013.
[3] G. Tech, K. Wegner, Y. Chen, S. Yea, "3D-HEVC Draft Text 2," JCT3V-F1001, Geneva, Switzerland, November 2013.