IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェラインの特許一覧

特開2024-153913パーティションベースのイントラ符号化概念
<>
  • 特開-パーティションベースのイントラ符号化概念 図1
  • 特開-パーティションベースのイントラ符号化概念 図2
  • 特開-パーティションベースのイントラ符号化概念 図3
  • 特開-パーティションベースのイントラ符号化概念 図4
  • 特開-パーティションベースのイントラ符号化概念 図5
  • 特開-パーティションベースのイントラ符号化概念 図6
  • 特開-パーティションベースのイントラ符号化概念 図7
  • 特開-パーティションベースのイントラ符号化概念 図8
  • 特開-パーティションベースのイントラ符号化概念 図9
  • 特開-パーティションベースのイントラ符号化概念 図10
  • 特開-パーティションベースのイントラ符号化概念 図11
  • 特開-パーティションベースのイントラ符号化概念 図12a
  • 特開-パーティションベースのイントラ符号化概念 図12b
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024153913
(43)【公開日】2024-10-29
(54)【発明の名称】パーティションベースのイントラ符号化概念
(51)【国際特許分類】
   H04N 19/60 20140101AFI20241022BHJP
   H04N 19/70 20140101ALI20241022BHJP
【FI】
H04N19/60
H04N19/70
【審査請求】有
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2024130770
(22)【出願日】2024-08-07
(62)【分割の表示】P 2022191609の分割
【原出願日】2019-02-07
(31)【優先権主張番号】18156169.7
(32)【優先日】2018-02-09
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】18183571.1
(32)【優先日】2018-07-13
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】19150108.9
(32)【優先日】2019-01-02
(33)【優先権主張国・地域又は機関】EP
(71)【出願人】
【識別番号】500341779
【氏名又は名称】フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】デ・ルクサン・ヘルナンデス,サンチアゴ
(72)【発明者】
【氏名】シュヴァルツ,ヘイコ
(72)【発明者】
【氏名】マルペ,デトレフ
(72)【発明者】
【氏名】ヴィ―ガント,トーマス
(57)【要約】      (修正有)
【課題】より効率的なイントラ符号化の概念を提供する。
【解決手段】予測残差は、変換ドメインでデータストリーム14に符号化される。現在ブロックのパーティション120iの変換182は、それぞれ1つ以上のサブブロックに分割されることもでき、その場合サブブロックはサブブロックフラグを有し、そのフラグはサブブロック内の変換係数186がすべてゼロであるかまたはその少なくとも1つの係数が非ゼロであるかを示す。現在ブロックのn個のパーティションの少なくとも1つが非ゼロの符号化ブロックフラグ(CBF)188を有することが、デコーダとエンコーダとの間で合意されていてもよい。このため、符号化順序における最初の(n-1)個のサブパーティションがゼロのCBFを生成した場合、n番目のパーティションのCBFは1と推定される。したがって、それを復号する必要はなく、またそれは符号化されない。
【選択図】図9
【特許請求の範囲】
【請求項1】
データストリームから複数のブロックを含むピクチャを復号するデコーダであって、
前記デコーダはプロセッサを備え、
前記プロセッサは、
複数のブロックのうち、パーティション次元に沿って少なくとも2つのパーティションに分割された一つのブロックのイントラ符号化モードを決定し、
前記一つのブロックの前記イントラ符号化モードを使用して、現在のパーティションに隣接する1つ以上の既に再構成されたサンプルに基づいて、前記一つのブロックの前記現在のパーティションの予測子を導出し、
パーティション順序に従って、前記現在のパーティションが前記一つのブロック内の最後のパーティションであるかどうかを判断し、
前記現在のパーティションが、前記パーティション順序に従って前記一つのブロック内の前記最後のパーティションでないという決定に応じて、前記データストリームから前記現在のパーティションのパーティションフラグを復号し、
(i)前記パーティション順序に従って、前記現在のパーティションが前記一つのブロック内の前記最後のパーティションであり、且つ、(ii)前記パーティション順序に従って、前記一つのブロック内の前の各パーティションについて、それぞれのパーティションフラグがゼロであるという判定に応答して、前記データストリームから復号化することなく、前記現在のパーティションの前記パーティションフラグを1であると推測し、
前記現在のパーティションの前記パーティションフラグが1に等しいことに応答して、前記データストリームから前記現在のパーティションの変換係数を復号し、
前記現在のパーティションの前記パーティションフラグがゼロに等しいことに応答して、前記現在のパーティションの前記変換係数がゼロであると推測し、
前記予測子と前記変換係数に基づいて、前記現在のパーティションを再構成する、
ように構成されているデコーダ。
【請求項2】
前記一つのブロックの前記現在のパーティションを再構成するために、前記プロセッサは、
前記変換係数に対して逆変換を実行し、前記現在のパーティションに対する予測残差を取得し、
前記予測子と前記予測残差を組み合わせるように構成されている、
ことを特徴とする請求項1に記載のデコーダ。
【請求項3】
前記プロセッサは、
前記パーティション順序に従って前記現在のパーティションに先行するパーティションに対して復号化された符号化パーティションフラグに依存するコンテキストを使用するコンテキスト依存型エントロピー復号化を使用して、前記データストリームから前記現在のパーティションのための前記パーティションフラグを復号化するように構成されている、
ことを特徴とする請求項1に記載のデコーダ。
【請求項4】
前記プロセッサは、
前記一つのブロックが前記少なくとも2つのパーティションに分割されていることを示す第1のフラグを復号するようにさらに構成されている、
ことを特徴とする請求項1に記載のデコーダ。
【請求項5】
前記一つのブロックが前記少なくとも2つのパーティションに分割されていることを示す前記第1のフラグに基づいて、前記デコーダはさらに、前記一つのブロックが垂直に分割されているか水平に分割されているかを示す第2のフラグをエントロピー復号するように構成されている、
ことを特徴とする請求項4に記載のデコーダ。
【請求項6】
前記プロセッサは、
前記一つのブロックのサイズに基づいて、前記少なくとも2つのパーティションの幅を決定するように構成されている、
ことを特徴とする請求項1に記載のデコーダ。
【請求項7】
前記少なくとも2つのパーティションが4つのパーティションであることを特徴とする請求項1に記載のデコーダ。
【請求項8】
データストリームから複数のブロックを含むピクチャを復号する方法であって、
前記方法は、
複数のブロックのうち、パーティション次元に沿って少なくとも2つのパーティションに分割された一つのブロックのイントラ符号化モードを決定するステップと、
前記一つのブロックの前記イントラ符号化モードを使用して、現在のパーティションに隣接する1つ以上の既に再構成されたサンプルに基づいて、前記一つのブロックの現在のパーティションの予測子を導出するステップと、
パーティション順序に従って、前記現在のパーティションが前記一つのブロック内の最後のパーティションであるかどうかを判断するステップと、
前記現在のパーティションが、前記パーティション順序に従って前記一つのブロック内の前記最後のパーティションでないという決定に応じて、前記データストリームから前記現在のパーティションのパーティションフラグを復号するステップと、
(i)前記パーティション順序に従って、前記現在のパーティションが前記一つのブロック内の前記最後のパーティションであり、且つ、(ii)前記パーティション順序に従って、前記一つのブロック内の前の各パーティションについて、それぞれのパーティションフラグがゼロであるという判定に応答して、前記データストリームから復号化することなく、前記現在のパーティションの前記パーティションフラグを1であると推測するステップと、
前記現在のパーティションの前記パーティションフラグが1に等しいことに応答して、前記データストリームから前記現在のパーティションの変換係数を復号するステップと、
前記現在のパーティションの前記パーティションフラグがゼロに等しいことに応答して、前記現在のパーティションの前記変換係数がゼロであると推測するステップと、
前記予測子と前記変換係数に基づいて、前記現在のパーティションを再構成するステップと、
を備える方法。
【請求項9】
前記現在のパーティションを再構成するステップは、
前記変換係数に対して逆変換を実行して、前記現在のパーティションに対する予測残差を取得するステップと、
前記予測子と前記予測残差を組み合わせるステップと、
を備えることを特徴とする請求項8に記載の方法。
【請求項10】
前記現在のパーティションに対する前記パーティションフラグは、前記パーティション順序に従って前記現在のパーティションに先行するパーティションに対して復号化された符号化パーティションフラグに依存するコンテキストを使用するコンテキスト依存型エントロピー復号化を使用して、前記データストリームから復号化される、
ことを特徴とする請求項8に記載の方法。
【請求項11】
前記一つのブロックが少なくとも2つのパーティションに分割されていることを示す第1のフラグを復号するステップをさらに含む、
請求項8に記載の方法。
【請求項12】
前記一つのブロックが前記少なくとも2つのパーティションに分割されていることを示す前記第1のフラグに基づいて、前記ブロックが垂直に分割されているか水平に分割されているかを示す第2のフラグをエントロピー復号するステップをさらに含む、
請求項11に記載の方法。
【請求項13】
前記一つのブロックのサイズに基づいて前記少なくとも2つのパーティションの幅を決定するステップをさらに含む、
請求項8に記載の方法。
【請求項14】
前記少なくとも2つのパーティションが4つのパーティションであることを特徴とする請求項8に記載の方法。
【請求項15】
データストリームから複数のブロックを含むピクチャを復号する命令を含む非一過性コンピュータ可読媒体であって、
前記命令がコンピュータによって実行されると、
複数のブロックのうち、パーティション次元に沿って少なくとも2つのパーティションに分割された一つのブロックのイントラ符号化モードを決定するステップと、
前記一つのブロックの前記イントラ符号化モードを使用して、現在のパーティションに隣接する1つ以上の既に再構成されたサンプルに基づいて、前記一つのブロックの現在のパーティションの予測子を導出するステップと、
パーティション順序に従って、前記現在のパーティションが前記一つのブロック内の最後のパーティションであるかどうかを判断するステップと、
前記現在のパーティションが、前記パーティション順序に従って前記一つのブロック内の前記最後のパーティションでないという決定に応じて、前記データストリームから前記現在のパーティションのパーティションフラグを復号するステップと、
(i)前記パーティション順序に従って、前記現在のパーティションが前記一つのブロック内の前記最後のパーティションであり、且つ、(ii)前記パーティション順序に従って、前記一つのブロック内の前の各パーティションについて、それぞれのパーティションフラグがゼロであるという判定に応答して、前記データストリームから復号化することなく、前記現在のパーティションの前記パーティションフラグを1であると推測するステップと、
前記現在のパーティションの前記パーティションフラグが1に等しいことに応答して、前記データストリームから前記現在のパーティションの変換係数を復号するステップと、
前記現在のパーティションの前記パーティションフラグがゼロに等しいことに応答して、前記現在のパーティションの前記変換係数がゼロであると推測するステップと、
前記予測子と前記変換係数に基づいて、前記現在のパーティションを再構成するステップと、
を前記コンピュータに実行させる非一過性コンピュータ可読媒体。
【請求項16】
前記現在のパーティションを再構成するステップは、
前記変換係数に対して逆変換を実行し、前記現在のパーティションに対する予測残差を取得するステップと、
前記予測子と前記予測残差を組み合わせるステップと、
を含むことを特徴とする請求項15に記載の非一過性コンピュータ可読媒体。
【請求項17】
前記コンピュータによって実行されると、前記パーティション順序に従って前記現在のパーティションに先行するパーティションに対して復号化された符号化パーティションフラグに依存するコンテキストを使用するコンテキスト依存型エントロピー復号化を使用して、前記データストリームから前記現在のパーティションのための前記パーティションフラグを復号するステップを前記コンピュータに実行させる命令をさらに含む請求項15に記載の非一過性コンピュータ可読媒体。
【請求項18】
前記コンピュータによって実行されると、前記一つのブロックが前記少なくとも2つのパーティションに分割されていることを示す第1のフラグを復号するステップを前記コンピュータに実行させる命令をさらに備える請求項15に記載の非一過性コンピュータ可読媒体。
【請求項19】
前記コンピュータによって実行されると、前記一つのブロックが前記少なくとも2つのパーティションに分割されていることを示す前記第1のフラグに基づいて、前記一つのブロックが垂直に分割されているか水平に分割されているかを示す第2のフラグをエントロピー復号するステップを前記コンピュータに実行させる命令をさらに備える請求項18に記載の非一過性コンピュータ可読媒体。
【請求項20】
前記少なくとも2つのパーティションが4つのパーティションであることを特徴とする請求項15に記載の非一過性コンピュータ可読媒体。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えばハイブリッドビデオコーデックなどのブロックベースのコーデックで使用するためのイントラ符号化の概念に関する。
【背景技術】
【0002】
HEVCにおけるイントラ予測は、あるブロックが与えられた場合、あるパターンに従って、つまり33のangularモードと1つのDCモードと1つのplanarモードに従って、隣接ブロックの復号された境界サンプルを外挿することによって、実行される[1]。次に、レート歪みコストを最小にする1つのイントラ予測モードがデコーダに通知される。多くのイントラ予測モード(IPM)をサポートする既知のコーデックが存在するが、それら既知のコーデックによって達成されるイントラ予測には、より高い符号化効率につながるより優れたイントラ予測子(intrapre-dictors)を発見する上で、未だ進化の余地がある。これは、HEVCだけでなく、イントラ予測を使用する他のブロックベースのコーデックにも関係する。より正確な予測子は予測残差を減らし、それによって予測残差の符号化に関連するシグナリングオーバーヘッドを減らすという事実に鑑み、ブロックの内部を効率的に符号化するのに適したイントラ予測モードのセットを見つけるには、シグナリングオーバーヘッドの観点からイントラ予測モードをシグナリングするためのオーバーヘッドと、これらのイントラ予測モードによって取得される予測子の結果品質と、を考慮する必要がある。イントラ予測モードに関連付けられたシグナリングオーバーヘッドを低く保つには、イントラ予測ブロックを大きくする、つまり、イントラ予測モードがシグナリングされる粒度を粗く保つ必要があるが、一方で、より大きなブロックの空間予測は、イントラ予測ブロック、つまり予測されるべきブロックの内部にあるサンプルの、このブロックに隣接する既に復号/符号化されたサンプルつまり参照サンプルとの間の平均サンプル距離が大きくなるために、精度が低くなる傾向がある。HEVCは、変換残差ブロックが対応する符号化ユニットのイントラ予測モードを継承できるようにすることで、符号化ユニットがマルチツリーサブ分割によってサブ分割されるリーフブロックを変換残差ブロックが形成する場合に比較して、このジレンマを多少軽減する。しかしこの場合でも、個々のイントラ符号化された符号化ユニットから変換ブロックへのサブ区分をエンコーダからデコーダに通知するための、シグナリングオーバーヘッドが依然として必要となる。
【0003】
したがって、イントラ符号化の符号化効率をさらに高める概念を獲得することが望ましい。
【発明の概要】
【発明が解決しようとする課題】
【0004】
したがって、本発明の目的は、より効率的なイントラ符号化の概念を提供することである。
【0005】
この目的は、本願の独立請求項の主題によって達成される。
【0006】
本発明は、ピクチャのブロックベースの符号化は、あるイントラ予測符号化概念を提供することによって、より効果的になり得るという知見に基づいている。その概念によれば、ピクチャの所定のブロックは、あるイントラ符号化モードを使用してイントラ予測符号化され、その所定のブロックはある次元に沿って複数のパーティションに区分され、そのパーティションの数は2より大きく、及び/又は、それらパーティションは前記次元に沿って1サンプル幅となっているので、再構成をする場合、それらパーティションに対し、前記所定のブロックについてシグナリングされた前記イントラ予測符号化モードを使用した空間予測が順次施され、次に、そのようにして得られた予測子をある予測残差を用いて修正するので、次の、つまり現時点のパーティションを処理するときに、先行する複数のパーティションについて、デコーダで複数のサンプルを一度に再構成することが可能になる。その結果、区分(partitioning)に関するシグナリングオーバーヘッドは省略されるか、又は低く抑え得る。例えば、区分次元に関するシグナリングだけがデータストリームで費やされてもよく、その場合、垂直軸に沿う区分であって、所定のブロックが複数の水平のスライスに区分され各スライスが所定のブロック幅を有する区分と、水平軸に沿う区分であって、所定のブロックが複数の垂直のスライスに区分され各スライスが所定のブロック高さを有する区分と、の間の区別などがシグナリングされる。パーティションの数は、例えば、エンコーダとデコーダの間で合意されたパーティションの数を持つことにより、本質的に明らかであってもよく、その場合、エンコーダとデコーダが所定のブロックをこの数のパーティションに分割してもよく、または、所定のブロックを、所定のブロックが所定の次元に沿って複数のサンプル単位で次元決めされている数と同数のパーティションに区分し、各パーティションがその所定の次元に沿って1つのサンプル幅を持つようにしてもよく、即ち、1つのサンプル幅を持つ複数のパーティションへと区分してもよい。これにより、区分は、イントラ予測モードがデータストリームの中にシグナリングされる所定のブロックのシグナリングオーバーヘッドを全体として低く保つことができる。その一方で、エンコーダとデコーダに対し、所定ブロックのサンプルの、すでに再構成/符号化された隣接する参照サンプルからの平均距離を下げる可能性を提供する。その参照サンプルは、少なくとも部分的には所定のブロック自身の中、すなわち、予測残差が既に決定された、以前に処理されたパーティション内にあり、それらが配置されているパーティションに使用される予測子の修正に利用可能である。
【0007】
本発明の有利な態様は、従属請求項の主題である。本願の好ましい実施形態は、図に関して以下で説明される。
【図面の簡単な説明】
【0008】
図1図1は、本願の実施形態によるイントラ予測概念が実装され得るエンコーダの例として、ピクチャを予測符号化するための装置のブロック図を示す。
図2図2は、本願の実施形態によるイントラ予測概念が実装され得るデコーダの例として、図1の装置に適合する、ピクチャを予測的に復号するための装置のブロック図を示す。
図3図3は、予測残差信号、予測信号、および再構成された信号の間の関係の例を示す概略図であり、符号化モード選択、変換選択、および変換性能のそれぞれに細分割を設定する可能性を示す。
図4図4は、異なる区分次元、すなわち、水平分割と垂直分割との間の選択を可能にする実施形態に係る、イントラ符号化ブロックの区分処理を示す概略図を示す。
図5図5は、区分オプションに従って処理されたイントラ符号化ブロックの区分の順次処理を示す概略図を示す。
図6】パーティションの充填プロセスの予測された導出を示す概略図を示す。
図7】水平および垂直分割モードに従って分割され、それぞれに関連付けられた2つの異なるイントラ予測モードを有する分割されたイントラ予測ブロックの例を示し、イントラ予測ブロックに関連付けられたイントラ予測モードに依存したパーティション順序の決定を行う可能性を示す。
図8】パーティションオプションを使用して処理されたイントラ予測ブロック80のために費やされる可能なシグナリングを示す概略図を示す。
図9】一実施形態による、パーティションの予測残差を送信する可能な方法を示す概略図を示す。
図10】イントラ予測モードの区分に関連する符号化コストの部分合計の決定を示す概略図を示し、これは通常のイントラ予測モードのどれよりも良くならないことが明らかなときにテストを中止できるようにするためである。
図11】一実施形態による、パーティションモードテストを実行するためのエンコーダのモードまたは動作のフローチャートを示す。
図12a】イントラ符号化ブロックの代替的区分の例をさらなる実施形態として示す。
図12b】イントラ符号化ブロックの代替的区分の例を例示的な比較実施形態として示す。
【発明を実施するための形態】
【0009】
以下に図を説明するが、はじめに、イントラ予測コーデックの実施形態が含まれ得る符号化フレームワークの例を形成するために、ビデオ(動画)のピクチャを符号化するためのブロックベースの予測コーデックのエンコーダおよびデコーダの説明を提示する。従来のエンコーダおよびデコーダについては、図1図3に関して説明する。次に、本願のイントラ予測概念の実施形態の説明を、当該概念を図1および図2のエンコーダおよびデコーダの中にそれぞれどのように組み込め得るかについての説明と共に提示するが、後続の図4およびそれ以後の図で示される実施形態は、図1および図2のエンコーダおよびデコーダの基礎となる符号化フレームワークに従って動作しないエンコーダおよびデコーダを形成するためにも使用され得る。
【0010】
図1は、例示的に変換ベースの残差符号化を使用して、ピクチャ12をデータストリーム14に予測的に符号化するための装置を示す。装置またはエンコーダは、参照符号10を使用して示される。図2は、対応するデコーダ20、すなわち、同じく変換ベースの残差復号を使用して、データストリーム14からピクチャ12’を予測的に復号するように構成された装置20を示す。ここで、アポストロフィは、予測残差信号の量子化によって導入された符号化損失により、デコーダ20によって再構成されたピクチャ12’が、装置10によって符号化された元のピクチャ12からずれていることを示すために、使用されている。図1および図2は、例示的に変換ベースの予測残差符号化を使用するが、本願の実施形態はこの種の予測残差符号化に限定されない。これは、以下で概説するように、図1および図2に関して説明する他の詳細にも当てはまる。
【0011】
エンコーダ10は、予測残差信号を空間-スペクトル変換にかけ、こうして得られた予測残差信号をデータストリーム14に符号化するように構成される。同様に、デコーダ20は、データストリーム14から予測残差信号を復号し、こうして得られた予測残差信号をスペクトル-空間変換にかけるように構成される。
【0012】
エンコーダ10は、内部的には、元の信号すなわちピクチャ12からの予測信号26のずれを測定するために予測残差24を生成する、予測残差信号形成部22を備えてもよい。予測残差信号形成部22は、例えば、元の信号すなわちピクチャ12から予測信号を減算する減算器であってもよい。次に、エンコーダ10は、予測残差信号24を空間-スペクトル変換にかけてスペクトルドメイン予測残差信号24’を取得する変換器28をさらに備え、スペクトルドメイン予測残差信号24’は次に、エンコーダ10に含まれた量子化器32によって量子化される。このように量子化された予測残差信号24’’は、ビットストリーム14へと符号化される。このために、エンコーダ10は、任意でエントロピーコーダ34を備えることができ、このエントロピーコーダ34は変換されかつ量子化された予測残差信号24’’をエントロピー符号化する。予測残差26は、データストリーム14に符号化され、かつデータストリーム14から復号可能な予測残差信号24’’に基づいて、エンコーダ10の予測ステージ36によって生成される。このため、予測ステージ36は、図1に示すように、内部的に逆量子化器38を備えることができ、この逆量子化器38が予測残差信号24’’を逆量子化してスペクトルドメイン予測残差信号24’’’を得る。スペクトルドメイン予測残差信号24’’’は量子化損失を除いて信号24’に対応している。逆量子化器38の後に、その予測残差信号24’’’を逆変換、つまりスペクトル-空間変換を行って予測残差信号24’’’’を取得する、逆変換器40が続いている。この予測残差信号24’’’’は、量子化損失を除いて、元の予測残差信号24に対応する。次に、予測ステージ36の結合器42は、加算などにより、予測信号26と予測残差信号24’’’’とを再結合し、再構成信号46、すなわち元の信号12の再構成を取得する。再構成信号46は信号12’に相当し得る。次に、予測ステージ36の予測モジュール44は、例えば、空間予測すなわちイントラ予測、および/または時間予測すなわちインター予測を使用することによって、信号46に基づいて予測信号26を生成する。
【0013】
同様に、デコーダ20は、内部的には予測ステージ36に対応する構成要素で構成され、かつそれに対応する様に相互接続されてもよい。特に、デコーダ20のエントロピーデコーダ50は、量子化されたスペクトルドメイン予測残差信号24’’をデータストリームからエントロピー復号してもよく、その後、相互接続され、予測ステージ36のモジュールに関して上述した方法で連携する逆量子化器52、逆変換器54、結合部56および予測モジュール58は、予測残差信号24’’に基づいて再構成された信号を復元し、その結果、図2に示すように、結合部56の出力は、再構成信号すなわちピクチャ12’をもたらす。
【0014】
上記には具体的に説明されていないが、エンコーダ10が、例えば何らかのレート及び歪みに関連する基準、つまり符号化コストを最適化するような方法で、何らかの最適化スキームに従って、例えば予測モード、動きパラメータなどを含むいくつかの符号化パラメータを設定できることは容易に明らかである。例えばエンコーダ10およびデコーダ20ならびに対応するモジュール44、58は、それぞれイントラ符号化モードおよびインター符号化モードなどの異なる予測モードをサポートすることができる。エンコーダとデコーダがこれらの予測モードタイプを切り替えるに際する粒度は、それぞれ符号化セグメントまたは符号化ブロックへのピクチャ12と12’のサブ分割に対応してもよい。ピクチャは、例えばこれらの符号化セグメントの単位で、イントラ符号化されるブロックとインター符号化されるブロックにサブ分割され得る。
【0015】
以下でより詳細に概説するように、イントラ符号化ブロックは、それぞれのブロックの空間的な、すでに符号化/復号された近傍に基づいて予測される。方向性またはangularのイントラ符号化モードを含むいくつかのイントラ符号化モードが存在してもよく、個々のイントラ符号化セグメントに対して選択され得る。その選択されたモードに従い、個々のセグメントは、ある方向に沿って近隣のサンプル値を外挿することによって個々のイントラ符号化セグメントへと満たされるが、その方向は、各方向性イントラ符号化モードについて特異である。イントラ符号化モードは、1つ以上のさらなるモード、例えばDC符号化モードなどを含むこともでき、そのDCモードの場合、個々のイントラ符号化ブロックについての予測は、個々のイントラ符号化セグメント内のすべてのサンプルにDC値を割り当てるものであり、及び/又はplanarイントラ符号化モードを含むことができ、そのplanarイントラ符号化モードの場合、個々のブロックの予測は複数のサンプル値の空間分布として近似又は決定され、そのサンプル値の空間分布は、個々のイントラ符号化ブロックの複数のサンプル位置にわたる二次元線形関数を使用して、その二次元線形関数によって定義される平面の傾き及び切片を近隣サンプルを基礎として動かすことにより、記述される。
【0016】
これと対照的に、インター符号化ブロックは、例えば時間的に予測され得る。インター符号化されたブロックの場合、動きベクトルはデータストリーム内にシグナリングされていてもよく、その動きベクトルは、ピクチャ12が属するビデオの以前に符号化されたピクチャのある部分、即ち以前に符号化/復号されたピクチャがサンプリングされて各インター符号化ブロックについての予測信号が取得される部分の空間的ずれを示す。つまり、量子化されたスペクトルドメイン予測残差信号24’’を表すエントロピー符号化変換係数レベルなどのデータストリーム14に含まれた残差信号符号化に加えて、符号化モードをさまざまなブロックへ割り当てるための符号化モードパラメータ、インター符号化されたセグメントのための動きパラメータなどの一部のブロックのための予測パラメータ、およびピクチャ12および12’のセグメントへのサブ分割をそれぞれ制御しかつ通知するパラメータなどの任意のその他のパラメータを、データストリーム14がその中に符号化して含んでもよい。デコーダ20は、これらのパラメータを使用して、エンコーダが行ったのと同じ方法でピクチャをサブ分割し、各セグメントに各同じ予測モードを割り当て、同じ予測を実行して同じ予測信号をもたらす。
【0017】
図3は、再構成された信号、すなわち再構成されたピクチャ12’を一方とし、データストリームの中で信号伝達された予測残差信号24’’’’と予測信号26との組み合わせを他方とする、相互の関係を示す。上述したように、この組み合わせは加算であってもよい。予測信号26は、図3において、ピクチャ領域のイントラ符号化ブロックおよびインター符号化ブロックへのサブ分割として示され、イントラ符号化ブロックは例示的にハッチングを使用して示され、インター符号化ブロックは例示的にハッチングなしで示される。このサブ分割は任意のサブ分割であってもよく、ブロックまたはブロックの行と列へのピクチャ領域の規則的なサブ分割、または四分木サブ分割などのような、さまざまなサイズのリーフブロックへのピクチャ12のマルチツリーサブ分割などによりブロックへと分割され、図3にはそれら分割の混合が示されている。そこでは、ピクチャ領域は、まずツリールートブロックの行と列にサブ分割され、次に、再帰的マルチツリーサブ分割に従ってさらにサブ分割される。繰り返すが、データストリーム14は、イントラ符号化ブロック80のためのイントラ符号化モードを符号化された状態でその中に有してもよく、そのイントラ符号化モードは、いくつかのサポートされたイントラ符号化モードの1つを個々のイントラ符号化ブロック80に割り当てる。さらなる詳細を以下に説明する。
【0018】
インター符号化ブロック82の場合、データストリーム14は、その中に符号化された1つまたは複数の動きパラメータを有することができる。一般的に言えば、インター符号化ブロック82は、時間的に符号化されたものに限定されない。代替的に、インター符号化ブロック82は、現在のピクチャ12自体よりも以前に符号化された部分から予測される任意のブロックであってもよく、例えば、ピクチャ12が属するビデオの以前に符号化されたピクチャ、または別のビューのピクチャ、またはエンコーダとデコーダがそれぞれ階層的なエンコーダとデコーダである場合に、階層的に下位のレイヤであってもよい。図3の予測残差信号24’’’’は、ブロック84へのピクチャ領域のサブ分割としても示されている。これらのブロックは、符号化ブロック80および82と区別するために、変換ブロックと呼ばれることがある。実際、図3は、エンコーダ10およびデコーダ20が、それぞれ2つの異なるサブ分割を使用してピクチャ12およびピクチャ12’を複数のブロックへ分割し得ること、すなわち、一方のサブ分割は符号化ブロック80および82にサブ分割するものであり、他方のサブ分割はブロック84へサブ分割することを示している。両方のサブ分割は同じであってもよく、つまり各符号化ブロック80および82は同時に変換ブロック84を形成してもよいが、図3は、例えば、変換ブロック84へのサブ分割が符号化ブロック80/82へのサブ分割の拡張を形成する場合を示している。その結果、ブロック80と82の2つのブロック間のいずれかの境界が2つのブロック84間の境界に重なるか、又は換言すれば、各ブロック80/82は、変換ブロック84の1つと一致するか、あるいは変換ブロック84の集団と一致する。しかしながら、サブ分割はまた、変換ブロック84がブロック80/82間のブロック境界を交差できるように、互いに独立して決定または選択されてもよい。変換ブロック84へのサブ分割に関する限り、ブロック80/82へのサブ分割に関して説明したものと同じ説明が当てはまる。つまり、ブロック84は、ピクチャ領域を複数のブロック、つまり行と列に配置されたブロックに規則的にサブ分割した結果であってもよく、ピクチャ領域の再帰的なマルチツリーサブ分割の結果であってもよく、またはそれらの組み合わせ、またはその他の種類のブロック化であってもよい。余談であるが、ブロック80、82、84は2次形状、長方形、その他の形状に限定されないことに留意すべきである。
【0019】
図3は、予測信号26と予測残差信号24’’’’との組み合わせが、直接的に再構成信号12’をもたらすことを示している。しかしながら、代替的実施形態によれば、結果としてピクチャ12’を得るために、1を上回る複数の予測信号26が予測残差信号24’’’’と組み合わされてもよいことに留意されたい。
【0020】
図3では、変換セグメント84は、以下の意味を有するものとする。変換部28と逆変換部54は、これらの変換セグメント84の単位で変換を実行する。例えば、多くのコーデックは、すべての変換ブロック84に対してある種のDSTまたはDCTを使用する。一部のコーデックでは、このような変換をスキップするので、いくつかのセグメント84については、予測残差信号が空間ドメインで直接的に符号化される。しかしながら、以下に説明される実施形態によれば、エンコーダ10およびデコーダ20は、それらがいくつかの変換をサポートするように構成される。例えば、エンコーダ10およびデコーダ20によってサポートされる変換は、以下を含むことができる。
・DCT-II(またはDCT-III)、ここでDCTは離散コサイン変換を表す
・DST-IV、ここでDSTは離散サイン変換を表す
・DCT-IV
・DST-VII
・恒等変換(IT)
【0021】
当然ながら、変換部28はこれらの変換の順方向変換バージョンのすべてをサポートする一方で、デコーダ20または逆変換部54は対応するそれらの後方バージョンまたは逆バージョンをサポートするであろう。
・逆DCT-II(または逆DCT-III)
・逆DST-IV
・逆DCT-IV
・逆DST-VII
・恒等変換(IT)
【0022】
以下の説明は、エンコーダ10とデコーダ20とによってサポートされ得る変換の詳細を提供する。いずれの場合も、サポートされる変換のセットは、1つのスペクトル-空間または空間-スペクトル変換のような1つの変換を含むだけでも良い。
【0023】
上述したように、図1図3は、本願によるエンコーダおよびデコーダの特定の例を形成するために、以下でさらに説明するイントラ予測概念が実装され得る例として提示してきた。これまでのところ、図1図2のエンコーダとデコーダは、それぞれ、本明細書で以下に説明するエンコーダおよびデコーダの可能な実装を表す。以下でより詳細に概説するように、図1および図2のエンコーダおよびデコーダの中に、本願による後述するようなイントラ予測の実施形態を構築する場合、図1のエンコーダおよび図2のデコーダは、少なくとも1つの任意選択肢として、以下でより詳細に概説する方法でイントラ予測ブロック80を処理することをサポートする。したがって、以下で説明する実施形態は、以下でより詳細に概説する方法でイントラ符号化ブロック80を処理する図1のエンコーダ10に等しいエンコーダに言及し、同じことが図2のデコーダに関しても当てはまる。つまり図2は、イントラ符号化されたブロックが、以下でより詳細に概説される方法で処理される、一実施形態によるデコーダの例を表す。ただし、図1および図2は特定の例に過ぎない。しかしながら、本願の実施形態によるエンコーダは、以下でより詳細に概説され、以下のように図1のエンコーダとは異なる概念を使用して、ピクチャ12のブロックベースの符号化を実行してもよい。例えば、エンコーダはビデオのエンコーダではない、インター予測をサポートしていない、またはブロック80へのサブ分割が図3に例示されているのとは異なる方法で実行されている、またはこのエンコーダが変換予測残差符号化を使用しない代わりに、例えば空間ドメインで直接的に予測残差を符号化する、などである。同様に、本願の実施形態によるデコーダは、以下でさらに概説するイントラ予測符号化概念を使用して、データストリーム14からピクチャ12’のブロックベースの復号を実行し得るが、以下のように図2のデコーダ20とは異なっていてもよい。例えば、デコーダはビデオのデコーダではなく、静止ピクチャのデコーダである、イントラ予測をサポートしていない、または図3に関して説明した方法とは異なる方法でピクチャ12’をブロックにサブ分割する、および/または、変換ドメインではなく空間ドメインで、データストリーム14から予測残差を導出するなどである。
【0024】
上述の注意を与えた上で、以下の説明では、本願の実施形態によるイントラ予測の説明に集中する。本明細書に提示するイントラ予測によれば、図4のブロック80のようなイントラ予測ブロックは、一次元の水平パーティションまたは一次元の垂直パーティションに分割されてもよい。そのようなブロック処理は、任意のサイズのイントラ予測ブロック80について利用可能であってもよく、または特定のサイズより大きいブロックなど所定のブロックサイズの範囲内のブロック80に限定して利用可能であってもよい。「一次元の」とは、-区分の結果であるパーティションに関連する場合-複数のパーティションがパーティション次元に沿って1サンプル幅しか持たないという事実を指す。しかしながら、本明細書で論じられる区分モードの一次元性は、区分がある特定の次元に沿って行われ、結果として得られる複数のパーティションが、区分方向を横断する方向にブロックにわたって完全に延びるストライプのようになる、という事実を指す。例えば、図4を参照されたい。図4は、左側に、イントラ予測ブロック80、すなわち、復号化されるべきブロックまたは符号化されるべきブロックを示す。これは、W×Hの次元/寸法を持っている。つまり、これはW×H次元のブロックであり、複数のサンプルで測定されたブロック80の、Hは高さ、Wは幅をそれぞれ示す。図4によれば、2つの分割または区分のオプションが利用可能である。一つのオプションは水平分割100であり、この場合、ブロック80が垂直軸、つまりパーティション次元104に沿っていくつかのパーティション1021、1022、1023および1024に分割または区分される。以下の説明での適用例である図4の例によれば、各パーティション1021-1024は、両方向矢印106で示されるように1サンプル幅であるため、ブロック80から得られるパーティション1021-1024の数はH、すなわち、ブロック80のサンプル108の単位でのブロック80の高さに等しい。しかし、区分は、以下のようなエンコーダとデコーダの間で合意された別の方法に従って、エンコーダとデコーダによって実行されてもよいことは明らかである。例えば、次元104に沿ったブロック80の区分は、所定数のパーティション102iをもたらす方法で行われてもよく、所定数は例えば2よりも大きいか、またはそれらの混合であり、ブロック80の次元をパーティション次元に沿って、所定数のパーティションに均等に分配する。
【0025】
図4に示され、参照符号110で示される他の符号化オプションは、ブロック80を垂直パーティション1121、1122、…1128に分割することに対応する。すなわち、オプション110によれば、ブロック80は、水平軸すなわち水平パーティション次元104に沿ってパーティション112iに分割される。オプション100の場合、各パーティション102iは、ブロック80と同じ幅であり、すなわち、ブロックの幅Wを有するが、各パーティション112iは、ブロック80の高さHを採用する、すなわち、高さHを有する。要約すると、オプション100の説明と同様に、垂直分割110は、ブロック80をW個のパーティション112iに分割することができ、Wはサンプル108で測定されたブロック80の水平幅を示し、各パーティション112iは水平方向に1サンプル幅である。ただし、オプション110による区分は、エンコーダとデコーダの間で合意された別の方法で実行することもできる。
【0026】
したがって、図4によれば、エンコーダは、水平分割オプション100に従ってブロック80をH個のW×1パーティション102iに、または垂直分割オプション110に従ってW個の1×Hパーティション112iに自由に分割することができ、ブロック80についてエンコーダによって選択された分割オプションは、例えば、データストリーム14内の対応するパーティション次元フラグ114などによって、ブロック80のためにデータストリーム14内でシグナリングされてもよい。しかし、本願の実施形態は、デフォルトでは、データストリームにおけるフラグ114を必要とせずに、オプション100と110の一方だけを使用するエンコーダおよびデコーダをカバーしていることは明らかである。さらに、他の例では、フラグ114は、エンコーダからデコーダへブロック80についてデータストリーム14内でシグナリングされるイントラ符号化モード116に依存して、データストリーム14内で伝達されてもよい。上述したように、イントラ符号化モードは、例えばangularモードや、任意選択的に、DCモードやplanarモードのような1つ以上のnon-angularモードを含む、利用可能な/サポートされているイントラ符号化モードの1セットからの1つを示してもよい。すなわち、フラグ114は、以下でさらに説明されない代替的実施形態によれば、イントラ符号化モード116に条件付きで依存する方法で、データストリーム14内で伝達されてもよい。以下で説明する実施形態によれば、フラグ114はブロック80について、データストリーム14の中でブロック80についてシグナリングされたイントラ符号化モード116とは独立して、データストリーム14内に存在する。ただし、上述したようなイントラ符号化ブロック80のパーティション処理と、以下に概説するようなブロック80の異なるイントラ符号化処理方法と、の間のフラグ切り替えに関しては、イントラ符号化モード116への依存性を有してもよい。
【0027】
本願の実施形態によれば、パーティション102/112のそれぞれは、個別に予測、変換、量子化、および符号化され、複数のパーティションをこの方法で順次処理する。したがって、特定のパーティションの再構成されたサンプルは、ブロック80が分割されている複数のパーティション間で、パーティション順序において任意の後続のパーティション102/112を予測するために使用され得るであろうし、この様にして、ブロック80が分割されているパーティション102/112を介してイントラ予測のプロセスが循環する。図5は、オプション100に従って分割されたイントラ予測ブロック80を例示的に示す。ブロック80の各パーティション1021-1024には、予測、すなわち、それぞれのパーティション102iの予測子の導出と、予測残差に関連するタスク、すなわち予測残差を使用した予測子の修正と、が施される。後者のタスクは、予測残差と予測子を組み合わせることによって実行できる。これは、再構成のためにデコーダで行われる。エンコーダは、予測残差に関連するタスクとして、例えば変換や量子化を含む予測残差の決定と、予測残差を使用した予測子の修正とを実行する。つまり、エンコーダ内の復号されたピクチャバッファをピクチャの再構成で充填することにより、予測ループをデコーダと同期した状態で維持する。上記のタスク、つまり予測と残差の処理は、パーティション1021-1024に対して個別に実行され、かつパーティション間で順次実行される。これらの2つのステップを現在処理されている1つのパーティションに対して実行した後、パーティション順序で次のパーティション102iが同じ方法で処理される。パーティション順序は、3つの矢印126を使用して図5に例示的に示されている。
【0028】
図5は、ブロック80の最も左上のピクセルを含むパーティションが、すぐ下の隣接パーティション1022に進む前に最初に処理されることを示しており、このように、図5のパーティション1021-1024へのインデックスの割り当てに対応している。しかしこの順序は単なる一例であり、以下の説明で明らかになるように、このパーティション順序は、イントラ符号化モード及び/又はブロック80のサイズなど、他の設定に依存して選択されてもよく、イントラ符号化モードへの依存性については後段で説明する。
【0029】
以下でさらに説明する例では、パーティション順序126は、パーティション102/112を横断するパーティション間で変化するだけである。つまり、直に後続するパーティションは互いに直に隣接しており、分割タイプ100の場合、パーティション順序は上から下へ、または下から上へ進み、分割タイプ110の場合は、左から右へ、または右から左へとそれぞれ進む。ただし、他の例も考えられる。例えば、パーティションが上述の隣接する順序で2回スキャンされ、最初のスキャンでは上から下、下から上、左から右または右から左、など適用可能な任意の順序で1つおきのパーティションを処理し、次に同じ順序方向で、またはその逆の方向で、残りのパーティションを処理するというような、パーティション順序も選択し得る。
【0030】
いずれにせよ、図5は、最初に処理されるべきであり、かつ現在処理されているパーティションである第1のパーティション1021を示す。最初のパーティション(ここでは例として1021)について、パーティション1021の予測子を形成するために使用される隣接サンプル1181のセットは、ブロック80の最初のパーティションを処理するときにはブロック80のサンプルはまだ処理されていない、すなわち、再構成または符号化されていないので、ブロック80の境界の外側にあるサンプルに基づいて単に選択されるだけでもよい。つまり、セット1181のサンプルは、データストリームで送信される予測残差を用いた対応する予測子の任意の予測および修正を使用して、エンコーダ内で既に再構成されている。それらは以前に符号化/復号されたピクチャブロックに属し、インター符号化またはイントラ符号化された、あるいはその他の符号化されたブロックであってもよい。第1パーティション1021の予測子を形成するために使用される隣接サンプルのセット1181のサンプルの数および正確な位置に関して言えば、それらはブロック80に割り当てられたイントラ符号化モードに依存する。このイントラ符号化モードは、以下で説明するように、ブロック80のすべてのパーティションの処理のために、合同で、または均等に使用される。最初のパーティション1021の処理を完了するために、セット1181の1つ以上のすでに再構成/符号化されたサンプルに依存してこのパーティション1021を充填することにより、デコーダ及びエンコーダでこのパーティション1021の予測子が導出され、エンコーダに関するかぎり上述した変換と量子化とによりその予測残差が決定される。次に、この予測残差(データストリーム内で送信されたバージョン、つまり量子化損失を含む)は、データストリーム14内の予測残差を使用して予測子を修正することにより、このパーティション1021の再構成に使用される。例えば、図5は、パーティション1021の予測残差を1201で例示的に示す。すなわち、1201は、パーティション1021の予測残差の変換に対応する変換係数を含み、データ1201の説明については以下で詳しく述べる。
【0031】
ここで、パーティション順序の次のパーティション、つまり図5の例のパーティション1022に移る。パーティション1022の予測子を導出するために使用される、既に再構成/符号化された隣接するサンプルのセットが、サンプルブロック80の外に位置するサンプル及び/又はブロック80内のサンプルで構成され得るという点で、状況は変化している。つまり、ブロック80内のサンプルとは、既に処理済みのパーティション内、ここでは図5の例のパーティション1021内に位置するサンプルである。なぜなら、これらのサンプルについては、予測残差がすでに決定されており、データストリーム内ですでに利用可能となるからである。すなわち、エンコーダおよびデコーダは、このパーティション1022の予測子を導出し、その後、エンコーダにおける予測残差決定、エンコーダおよびデコーダにおける予測子の修正のための予測残差使用がそれぞれ続く。次に、このプロセスは、次に位置するパーティション、すなわち、パーティション順序における次のパーティションで続行され、それにより、ブロック80のすべてのパーティションが順次処理される。
【0032】
すでに上述したように、パーティション順序126は、直に連続するパーティションが直に隣接するパーティションとなるようにパーティションを横断する方法とは別の方法で選択されることもあり得る。つまり、パーティション順序が1つのパーティションから次のパーティションへと跳んでもよい。これは、それぞれのパーティション102iを充填することによってそれぞれの予測子を導出するために使用される隣接サンプルのセット118iが、図5に示すように、それぞれのパーティションの直に隣接するサンプルに限定されないことを意味する。これは、パーティション順序126の開始の選択にも関係する。例えば、パーティション1024がパーティション順序の最初のパーティションだったと仮定する。その場合、その予測子は、図5には示されていないが、ブロック80の周囲に沿ってブロック80の左側および上側に位置するサンプルを集めた隣接サンプルのセット1184に依存してそれを充填することによって、導出することができる。セット1184内のサンプルのいくつかは、パーティション1024に直に隣接してはいないであろう。ところで、これは、ブロック80一括の通常のイントラ予測充填において最後のサンプル横列を充填する状況に相当するであろう。このような可能性は、その後に処理される任意のパーティション、つまりパーティション順序の2番目以降のパーティションにも当てはまる。すなわち、それらの隣接サンプルセット118iは、それぞれのパーティション102iに直に隣接していないサンプルも含み得る。さらに言えば、パーティション順序が、連続するパーティションが互いに直に隣接するパーティションであるように、パーティションを横断する方法に限定されない場合には、任意の2番目以降の処理済みパーティション102iの参照サンプル118iのセットは、それぞれのパーティション102iの左側および上側にあるサンプルを集めるだけでなく、ブロック80の任意のパーティションがパーティション順序に従ってパーティション1021より前に処理されたかどうかに応じて、それぞれのパーティション1021の下側にあるサンプルであってもよい。すなわち、セット180iは、パーティション102iの3つ以上の側に配置されたサンプルを含んでもよい。
【0033】
簡単にまとめると、図5は、ここでは例示的に水平パーティションに関して、ブロック80のパーティション102/112の順次処理を示したが、同じ説明が垂直パーティション112iに関して垂直モード110にも当てはまる。各パーティション102iについて、対応する予測残差102iがデータストリーム14に含まれている。データ1201-1204は一緒にブロック80についての予測残差120を形成する。ここで思い出すべきことは、変換残差符号化は、本願の代替的な実施形態に従えば、使用されないこともあり、すなわち、ブロック80の予測残差120は、データストリーム14内で、例えば空間ドメインで直接的にシグナリングされてもよいことである。この場合、様々なパーティション1021-1024のデータ1201-1204は、データストリーム14内に、各データ部分120iがそれぞれのパーティション102iの特定の変換のシグナリングを表す、図5に示すようなパーティション毎の個別のフィールドを含まなくてもよい。むしろ、その場合、ブロック80の予測残差120は、データ14の1つのフィールドを形成してもよい。この代替実施形態では、デコーダは、特定のパーティション102iを処理するときに、このパーティション102iの予測残差に関する情報をフィールド120から収集するであろう。この手順は、量子化を空間ドメインで行えるように、変換の正に可逆のバージョンを使用するときにも適用できるであろう。
【0034】
したがって、図5は、エンコーダおよびデコーダにおいて、各パーティション102iについて2つのタスクが実行されることを示す。すなわち、(1)それぞれのパーティション1021のための予測または予測子を生成する予測導出タスク122、つまりそれぞれのパーティション102iの各サンプルの予測されたサンプル値を生成するタスクと、(2)その後に実行される予測残差関連タスク、つまりデータストリーム14へのエントリのために予測残差の量子化を含むエンコーダでの予測残差の導出と、このパーティション102iの再構成されたサンプルを取得するため、予測残差と予測子との結合または修正による各パーティション102iのサンプルの再構成とである。その再構成されたサンプルは、予測導出タスクのために、パーティション順序126に従って後に処理されるパーティション102jの隣接するサンプルセット118jのためのリザーバとして機能することができる。
【0035】
本願の実施形態の詳細のさらなる説明に進む前に、図6は、現在処理中のパーティション102iを充填することによる予測導出122のプロセスを示す。ここで思い出すべきことは、水平パーティション102に関する図は単に例示として選択されたのであって、同じ説明が垂直パーティション112にも関係していることである。図6は、現在処理中のパーティション102iと、既に再構成/符号化された、それに対応する隣接サンプルのセット118iとを示している。図5に関してすでに上述したように、セット118iは、パーティション102iに直接隣合う、または隣接するサンプル128に制限されなくてもよい。しかしながら、区分に起因して、パーティション102iのサンプルとセット118iのサンプル128との間の平均距離130は、ブロック80の全てのサンプルにわたって平均されると、例えばH.264またはHEVCから知られるブロック80のイントラ予測を実行する場合と比べて低い。図5に関して説明したように、予測子導出または充填122は、ブロック80に関連するイントラ予測モードを使用して各パーティション102iに対して実行され、このモードは、利用可能なイントラ予測モードのセットの1つを示す。このセットは、隣接するサンプルセット118iのサンプルコンテンツがパーティション102iのサンプル134にコピーされる角度または方向132が互いに異なるangularモードまたはdirectionalモードを含み得る。このコピーを実行するために、パーティション102iの各サンプル134の予測は、サンプル134に対して方向132の反対側に位置するセット118iからのいくつかの隣接サンプル134に基づいて導出され得る。その数は、例えば、サンプルセット118iのサンプル128間のインターペル位置(inter-pelpositions)を導出するために使用される補間フィルタのカーネルによって定義される。図6は、例えば、セット118iからの3つのサンプル128が、現在処理中のパーティション102iからの1つのサンプル134の予測を計算するために使用されることを示す。平均距離130が比較的小さいため、パーティション102iの各サンプル134あたりの参照サンプル134の数を低く保つことができる。詳細は以下に示す。しかし、完全を期すために、利用可能なイントラ予測モードのセットはDCモードを含み得ることに留意されたい。DCモードによれば、1つのDC値がパーティション102iのすべてのサンプル134に割り当てられ、このDC値は隣接サンプルのセット118iの平均化により導出される。さらに、planarモードも存在可能であり、このplanarモードによれば、サンプル134の予測値がパーティション102i内のサンプル位置にわたる線形関数によって定義され、この線形関数の傾きおよびオフセットは、隣接サンプル118iに基づいて導出される。さらに、隣接セット118iは、ブロック80に対して選択されたイントラ予測モードに応じて異なっていてもよく、例えば、特に、angularモードとnon-angularモード、DC/planarとの間で異なり得ることに留意されたい。
【0036】
例えば、最新のJEMデコーダでは、67のイントラ予測モードが利用できる。そのうち65はangularモードであり、そのうち2つ、即ちDCとplanarとは非方向性テクスチャーを形成する。つまり、パーティション102/112に対して実行され、前段でも後段でも言及する予測子の導出122に従えば、ブロック80は次元104に沿って複数のパーティションへと区分/分割され、結果として得られるパーティションは、次元104を横断する方向にブロックの完全な幅にわたって延び、かつ方向104に沿って1サンプル幅または1サンプル幅以上である。この(簡単には1Dパーティションモードと呼ばれる)1D区分モードは、上述のイントラ予測モードのいずれとも組み合わせることができ、または、言い換えると、それらのいずれをも使用して実装することができる。1D区分モードによれば、図5に関してすでに説明したように、符号化ユニットCUのような1つのブロック80のすべてのパーティション102/112は、ブロック80の関連する同じイントラ予測モードを使用し、それによりシグナライゼーションにおける過大なオーバーヘッドを回避する。なぜなら、イントラ予測モード116はデータストリーム14内でブロック80のために一回だけ送信すればよいからである。
【0037】
つまり、予測122は、JEMデコーダで概説される二次元の場合と同じ方法で実行され得る。しかしながら、JEMと比較して、予測プロセス122がそれに応じて調整され得るように、現在処理中のパーティション102/112について、水平であれ垂直であれ1つのラインだけが計算される。連続するパーティションが互いに直に隣り合うようにパーティションを横断するパーティション順序を選択する場合、予測プロセス122は、JEMの二次元の場合に対応し得るが、最初のライン、すなわちすでに再構成/符号化された近隣に最も近いラインに関してだけである。幾つかの場合においては、HEVCとJEMの両方が、参照サンプル128または結果として得られる予測子に対して適用される特定のフィルタの使用を可能にする。これは、二次元の場合に、参照サンプル128から遠く離れている予測ブロック80内のサンプルをより良好に予測し、境界の不連続性を減らすために有効である。しかし、パーティション102/112への区分を使用することにより、近隣のピクセル間の高い相関性を活用することが可能となり、それは目的とされるべきである。
【0038】
すなわち、低減された平均距離130が利用されるべきである。過度の平滑化は、この品質を低下させる恐れがある。したがって、エンコーダまたはデコーダが両方の種類のイントラ予測を実行できるならば、すなわち、図4図6に関して上述した区分を使用するイントラ予測と、以下に概説するイントラ予測とを実行できるならば、上述の区分を使用する場合、イントラフィルタつまり予測子導出122に関与するフィルタは無効にされるか、又は、各パーティションサンプル134に寄与するサンプル135の数が二次元の場合の1つのサンプルに寄与するサンプルの数に比べて少なくとも低減される。二次元の場合では、ブロック80のイントラ予測がブロックに対して一括で実行されるか、HEVCに従って実行される。つまり、ブロック80の階層的四分木サブ分割のリーフブロックである長方形ブロックに分解される。
【0039】
上記の議論から明らかなように、予測残差関連タスク124を実行するために、デコーダは、例えば、データストリーム14から現在処理中のパーティションのそれぞれの予測残差の変換を復号し、この変換に対してスペクトル-空間変換などの逆変換を実行して、組み合わせ/追加によって122で得られた予測子を修正するために使用される予測残差を生成する。デコーダと予測ループの同期を保つために、エンコーダでも同じことが行われる。さらに、エンコーダは、現在処理中のパーティションに対して122を使用して決定された予測子の予測誤差の変換を実行し、空間-スペクトル変換などの変換を行い、続いて変換係数の量子化を行い、次にその変換をデータストリーム14へと符号化して、現在処理中のパーティション102iに対応するデータ120iを生成する。変換に関して、ブロック80内のすべてのパーティション102/112は、この同じ変換を使用して処理され得る。それは、例えばDST-VIIを使用可能なplanarモードの場合を除いて、DCT-IIであってもよい。このため、エンコーダとデコーダとが他のブロックに使用できる変換と逆変換に関連するすべてのツール、例えば変換スキップ、つまり空間ドメインでの符号化、EMT(EMT=Explicitmultiplecoretransform)、NSST(NSST=Modedependentnon-separabletransforms)などは、ブロック80が、これまでに図4図7に関して概説し以下でもさらに説明する区分方法でイントラ予測モードを使用して符号化される場合、不要なオーバーヘッドビットを回避するために、無効にされ得る。さらに代替的に、変換は線形変換であってもよく、そのタイプは、イントラ予測モード、専用シンタックス要素および所定のパーティション順序のうちの1つまたは複数に基づいて選択されてもよい。
【0040】
現在処理中のブロック80のパーティション102/112が順次処理される際に使用されるパーティション順序126に関して、これまで既にいくらか説明してきた。この実施形態は単なる一例であり、代替実施形態に従えばパーティション順序は静的であってもよく、または以下に例が示される他の実施形態に従えば異なる方法で変化してもよい、ことを強調しておく。図7は、図5に矢印126を用いて示された可能なパーティション/処理順序を、番号を付与することで示している。ここで、この順序は、付与された番号の昇順で続く。図5は、順序126が、ブロック80の左上のピクセル/サンプル140を含むパーティションで始まり、最下のパーティションに向かって下方へ進む例を表した。同様に、分割タイプが垂直の場合、処理順序は、左上にあるピクセル/サンプルを含む左端のパーティションから始まり、右に進む。ただし、これは既存のすべてのイントラ予測モードに最適なケースではない。これは図7に例示されており、ここでは対角線モード2、すなわちコピー角度/方向132が左下から右上に45°を指すモードと、対角線モード34、すなわちコピー角度/方向132が左上から右下への-45°を指すモードとについて、ブロック80の垂直および水平の区分を示す。前者の場合、分割が水平であれば、ブロック80の左上隅での開始は、再構成されたサンプルが次のパーティションの予測に影響を与えないパーティションを生成するであろう。結果的には、ブロックの左下隅から開始する方が合理的であり、これにより、各パーティションの再構成されたサンプルは、パーティション順序の次のパーティションを予測するために使用できる。しかし、垂直分割では、前述の図で確認できるように、これは必要でない。他方、モード34では、水平分割と垂直分割の両方の場合においてサンプルが両側から到来するので、このような問題は発生しない。従って、通常の処理順序が両方の分割で使用され得る。
【0041】
表1は、イントラ予測モードと分割タイプに応じた処理順序の完全なリストを示している。
【0042】
【表I】
【0043】
シグナライゼーションオーバーヘッドに関して、これまでに説明された実施形態を要約するにあたり、図8を参照されたい。図8は、本願の実施形態に従って、ブロック80のために何が送信されるかを示している。特に、ブロック80にどのイントラ予測モードが適用されるべきかについて通知するイントラ予測モードシグナライゼーション116がある。つまり、シグナライゼーション116は、例えば、angularモードの1つ、またはangularモードとDCやplanarなどのnon-angularモードとを含む利用可能なモードの1つを示す。このシグナライゼーション116に加えて、エンコーダによってデータストリーム14に符号化され、デコーダによってブロック80のためにデータストリームから復号化される区分フラグ160があり、これは、図4図7による区分処理がブロック80に適用されたか、または、一括してもしくは1ピースでもしくは二次元で、「通常どおり」で処理されたか、つまり、ブロック80内の各サンプルを予測するための参照サンプルリザーバ118を形成するために、ブロック80の外側のサンプルだけが使用されているかどうかを示す。代替的に、フラグ160は、図4図7に関して説明した区分処理と、変換ブロックへの四分木サブ分割を使用したブロック80の分解との間で切り替えてもよい。ただし、四分木サブ分割を使用した分解では、変換ブロックは順次処理されるが、データストリーム14内で分解をシグナリングする必要があるという欠点がある。区分フラグ160が図4に従う区分を示す場合には、データストリーム14は、ブロック80について、図4に関して説明した区分タイプ100と110との間で切り替える区分次元フラグ114を含む。また、区分フラグ160がこの区分オプションを示す場合、ブロック80がサブ分割/区分されてゆくブロック80の各パーティションについて、データストリーム14はシグナリング/データ1201を含み、そのシグナリング/データは、上述のように変換ドメインなどにおいてデータストリームの中に符号化された、各パーティションの予測残差を有する。
【0044】
図8に関して、予測残差データ1201、1202…は、パーティション/符号化順序126に対応する順序でデータストリーム14に符号化されてもよいことに留意すべきである。パーティション順序126は、上述のように、シグナライゼーション116によって示されるイントラ予測モードにより、独自に決定され得る。しかしながら、代替の実施形態では、区分順序126が、データストリーム14内における任意の追加のシグナライゼーションに基づいて、少なくとも部分的に決定されることもあり得る。
【0045】
本明細書で提示される説明のさらなる代替案では、区分オプションが使用されるかどうかを示すために、シグナライゼーション116が代替的に使用され得る。換言すると、1つのシンタックス要素が116と160のシグナライゼーションの責任を共通して負ってもよい。そのようなシンタックス要素は、複数の値の範囲からの1つの値であると想定でき、各値は、イントラ予測モードとブロック区分が使用されたかどうかの表示との結合に対応している。そのような場合、イントラ予測モードのあるサブセットに対してのみ区分オプションを提供することも可能である。そして最後に、シグナライゼーション116によって示されるイントラ予測モードが、利用可能なイントラ予測モードのうちの特定のサブセットであると想定される場合にのみという条件付きで、区分フラグ160もまたデータストリーム14内で伝達されてもよいことに留意すべきである。
【0046】
図9は、特定のパーティション102/112iの予測残差を有するデータ120iがどのように見え得るかについて例示的に示している。図9の実施形態によれば、予測残差は変換ドメインでデータストリーム14に符号化される。すなわち、エンコーダは、変換180によって予測残差の変換182を生成し、デコーダは、逆変換184によって予測残差を空間ドメインで導出する。図9は、変換182の例えば異なるスペクトル周波数fに対応する変換係数186を示す。データ120iは、符号化ブロックフラグCBFを含むことができ、データ120iは、変換182が有意な変換係数186を含むかどうか、すなわち変換182が完全にゼロかどうかを示す、符号化ブロックフラグCBF188を含み得る。CBF188が設定されている場合、変換182はゼロではなく、データ120iは最終位置(LP)シンタックス要素190を含んでもよく、このシンタックス要素は、有意な変換係数、すなわち非ゼロの変換係数186の増大するスペクトル周波数(軸194を参照)に沿い、最低のまたはDC係数196から始まる最終位置192を示している。次に、データ120iは、196から192までの変換係数を通知するシグナリング198を含む。
【0047】
すなわち、図9は、各パーティション102i/112iが、CBF188、LP190および変換係数データ198によってデータストリーム14内に符号化された、その予測残差を有し得ることを示す。すなわち、n個のパーティション102/112を有する1ブロック80について、n個のCBF188と、非ゼロのCBF188を有する各パーティションに対して1個のLP190と、関連する非ゼロのCBF188を有するこれらパーティションにのみ変換係数データ198とが存在する。この係数データ198は、通常どおり処理されるイントラ予測ブロック、即ち区分フラグ160が非区分オプションを示すブロック80、と同じ方法で符号化され得るが、次の例外がある。各LP190は、パーティションが1サンプル幅の場合には1つの座標だけを必要とする(その他の場合には通常どおり2つの座標が必要)。つまり、水平分割100の場合はx、垂直分割110の場合はyの座標だけを必要とする。ただし、二次元パーティションの場合、LP190は、ランク指示を使用するか、またはx座標とy座標とを使用して、スキャン方向またはスキャン経路に沿った最終位置を示す。各CBF188のコンテキストは、前に符号化されたCBF、すなわち、パーティション順序126における前のパーティションのCBFの値であるように選択されてもよい。さらに、この区分により、変換係数データ198は異なる形状に関係する。つまり、変換182もまた異なる形状を有する。図4に関して説明したように、パーティションが一次元パーティションである場合、変換182は一次元変換である。すなわち、変換182は、分割タイプ100または110に応じた変換係数186のW/Hの長さベクトルであってもよい。
【0048】
図8のフラグ160と114、及びそれらの符号化に関し、以下の点に留意されたい。ブロック80がパーティション102/112に分割されるかどうかを示すフラグ160は、フラグ114がブロック80のためにデータストリーム14内で伝達されるかどうかチェックされるべき条件を定義している。特に、フラグ160がパーティション102/112への分割を示している場合、フラグ114はデータストリーム14内に存在し、かつどのタイプの分割100/110が実行されるべきか、すなわち、水平または垂直のどちらであるかについてシグナリングするために、デコーダに送られる。フラグCBFと同様に、フラグ114もコンテキスト依存のエントロピー符号化/復号化を使用して符号化されてもよい。フラグ114のコンテキストは、ブロック80のイントラ予測モードに従って、non-angularモードの場合は0、水平モードの場合は1、垂直モードの場合は2、の3つの可能性を有し得る。
【0049】
図9は、CBF188が現在のブロック80のパーティションi当たり1回存在し得ることを示したが、追加的または代替的に、現在のブロックのパーティション120iの変換182は、それぞれ1つ以上のサブブロックに分割されることもでき、その場合、サブブロックは、そのサブブロック毎にデータ120i内で通知される符号化済みサブブロックフラグを有し、そのフラグはサブブロック内の変換係数186がすべてゼロであるか、またはその少なくとも1つの係数が非ゼロであるかを示している。このように、符号化済みサブブロックフラグが非ゼロ係数の存在を通知するサブブロック内の係数186だけが符号化されるであろう。符号化済みサブブロックフラグが非ゼロ係数は何もないと通知するサブブロック内の他の係数は、デコーダ側でゼロであると推定されるであろう。各パーティション120iは別々に変換されるので、1つのパーティションに属する複数のサブブロックは、そのパーティションの変換182のスペクトル成分において異なり、かつその変換を構成している変換係数186において異なることに留意すべきである。例えば、それぞれのパーティション102i/112iがx(パーティションの幅)とy(パーティションの高さ)の次元を有し、それら次元が共に4個のサンプル140以上である限り、そして結果的に、それぞれのパーティション102i/112iの変換180がxおよびyの次元を有し、それら次元が共に4つの係数186以上である限り、サブブロックは4×4の係数ブロックであるように設定できる。4×Nのパーティションの場合、サブブロックはm個の4×4のサブブロックからなる縦列(column)を形成し、m*4=Nであって、mは整数である。N×4のパーティションの場合、サブブロックはm個の4×4のサブブロックからなる横列(row)を形成し、m*4=Nであって、mは整数である。
【0050】
より広いパーティションの場合、横列と縦列に配置された4×4のサブブロックのアレーが生成される可能性がある。しかしながら、実施形態によっては、そのようなパーティション、すなわち、4サンプル以上または4サンプルと同じ広さを有するパーティションが発生しない場合がある。発生の有無に関係なく、パーティションが狭い場合、つまりその次元の1つが4サンプル未満である場合、すなわち、少なくとも1つの次元xまたはyにおいて4サンプル幅未満である場合、その変換180の係数の異なるグループを集める、変換180のサブブロックへのサブブロック分割が実行されてもよく、それによりサブブロックが、現在のブロックのサイズのすべての可能な場合において最少数Mの係数を有するようにしてもよい。つまり、パーティションは、1つの次元に沿ってブロック幅Nと同じ大きさに設定され、他の次元104に沿って分割が行われてもよい。したがって、各パーティションの変換180のサイズは、1×N、2×N、N×1またはN×2であってもよい。実際、特定のパーティションの変換180は、このパーティション内のサンプル数に等しい数の係数を有してもよい。1×Nのパーティション/変換の場合、サブブロックはm個の1×Mのサブブロックからなる縦列(column)を形成してもよく、m*M=Nであって、mは整数である。N×1のパーティションの場合、サブブロックはm個のM×1のサブブロックからなる横列(row)を形成してもよく、m*M=Nであって、mは整数である。2×Nのパーティション/変換の場合、サブブロックはm個の2×(M/2)のサブブロックからなる縦列を形成してもよく、m*(M/2)=Nであって、mは整数である。N×2パーティションの場合、サブブロックはm個の(M/2)×2のサブブロックからなる横列を形成してもよく、m*(M/2)=Nであって、mは整数である。これは、最少数の係数についてM=16である例示的な場合について、表1に例示的に示されている。
【0051】
【表1】
【0052】
図9は、CBF188が現在のブロック80のパーティションi当たり1回存在し得ることを示したが、現在のブロック80のパーティションのうちのn個のパーティションのうちの少なくとも1つが非ゼロのCBF188を有することが、デコーダとエンコーダとの間で合意されていてもよい。このため、nがサブパーティションの数であり、符号化順序における最初の(n-1)個のサブパーティションがゼロのCBFを生成した場合、n番目のパーティションのCBFは1と推定されるであろう。したがって、それを復号する必要はなく、またそれは符号化されない。したがって、データ1201-120n-1内のCBFがゼロをシグナリングした場合、データ120nのCBFが欠落するであろうし、また、デコーダは、このCBFが、そのパーティションの変換の中に少なくとも1つの非ゼロ係数が存在することをシグナリングしていると推測するであろう。
【0053】
イントラ符号化モードのシグナライゼーション116に関する限り、以下が当てはまる場合がある。つまり、符号化モードシグナライゼーション116が、最確モード(mostprobablemodes:MPM)のリストから1つを指すポインターまたはインデックスとして送信される可能性がある。そのMPMリストは、空間的および/または時間的に隣接するイントラ予測モードなどの、前に符号化/復号されたイントラ予測ブロックに使用されたイントラ予測モードに基づいて、エンコーダとデコーダとによって同じ方法で決定され得る。したがって、MPMのリストは、利用可能/サポートされたイントラ予測モードの適切なサブセット、すなわち、前述のangularモードおよび/またはDCおよびplanarモードのうちの1つまたは複数を表してもよい。上記のように、図中のブロック80のようなLIPまたはISPスキームを使用したイントラ予測ブロックがあってもよいし、その他に、従来方式でイントラ予測されるブロック、つまり一括で、またはそのようなイントラ予測されるブロックが再帰的四分木分割を使用して分割される変換ブロックの単位でイントラ予測されるブロックがあってもよい。両方のタイプのイントラ予測ブロックが、利用可能な/サポートされたイントラ予測モードの同じセットをサポートしてもよい。通常の/従来のイントラ予測ブロックに関して、当該ブロックのモードがMPMリストから選択されているかどうかを示す、MPMフラグがデータストリーム内でシグナリングされてもよく-デコーダはこれを復号し、エンコーダはこれを符号化する-、この場合、このMPMリストに対するポインター/インデックスが送信されるが-デコーダはこれを復号しエンコーダはこれを符号化する-、ブロック80のようにLIPまたはISPスキームを使用したイントラ予測ブロックにおいては、MPMフラグがMPMリストの制限を通知すると推測されるであろう。特定の通常の/従来のイントラ予測ブロックについて、MPMフラグがどのMPMモードも使用されないことを通知する場合、データストリーム内には当該ブロックのためのインデックス/ポインターが存在せず、代わりに、イントラ予測モードの残りリスト(remainderlist)への代わりのポインター/インデックスが、当該ブロックのためにデータストリーム内で送信される。残りリストはまた、利用可能な/サポートされたイントラ予測モードのセットの適切なサブセットであってもよく、特に、利用可能な/サポートされたイントラ予測モードのセットと比べてMPMリストの補足的なセットであってもよい。すなわち、利用可能な/サポートされたイントラ予測モードのセットのすべてのメンバーは、MPMリストのメンバーまたは残りセットのメンバーのいずれかになるであろう。MPMリストへのポインター/インデックスはVLC符号化されてもよく、残りセットへのポインター/インデックスは固定長符号を使用して符号化されてもよい。当然ながら、LIPまたはISPスキームのイントラ予測ブロックの場合でも、MPMフラグが送信されてもよく、エンコーダは、使用可能な/サポートされたイントラ予測モードのセットから任意のモードを自由に選択できるようにし、選択されたモードがMPMリスト内にあるか、残りセット内にあるかに応じてMPMフラグを設定してもよい。
【0054】
MPMリストは同じであってもよく、つまり、通常の/伝統的なイントラ予測ブロック及びISP/LIPイントラ予測ブロックのために、エンコーダとデコーダとによって同様に決定されてもよい。しかし、MPMリストへの制限、およびISP/LIPイントラ予測ブロックのためのMPMリストの使用を通知するMPMフラグの推論が適用されるかどうかに関係なく、代替的に、ISP/LIPモードの統計に適応するため、ISP/LIPイントラ予測ブロックのためのMPMリストは異なる方法で決定されてもよい。例えば、MPMリストからDCイントラモードを除外し、ISP水平分割つまり水平方向104については水平イントラモードを優先し、垂直分割つまり垂直方向104については垂直イントラモードを優先するように変更できる。つまり、通常の/伝統的なイントラ予測ブロックの場合、MPMリストは、利用可能な/サポートされるイントラ予測モードのセットの適切なサブセットを形成でき、そのモードは、特定の概念に従って選択され、順序付けられたものであり得る。ISP/LIPイントラ予測ブロック80にとって、MPMインデックスは、フラグ114によって通知される区分方向104に依存するMPMリストを指すか、及び/又は、DCモードを含まず、又はDCおよびplanarモードを含まない、使用可能な/サポートされたイントラ予測モードのセットの適切なサブセット、つまり使用可能な/サポートされたイントラ予測モードのセットの中のangularモードの適切なサブセットを形成するMPMリストを指してもよい。以前に符号化/復号されたブロックの以前に使用されたイントラ予測モードに基づいてMPMリストを構築するとき、区分方向104が水平であるとフラグ114が示すときには、水平次元により近いangularイントラ予測方向のangularモードが好ましいであろうし、区分方向104が垂直であるとフラグ114が示すときには、垂直次元により近いangularイントラ予測方向のangularモードが好ましいであろう。
【0055】
先に述べた説明に関して、通常処理されるイントラ予測モードと、本明細書で概説されるように区分を使用して処理されるイントラ予測モードとは、並存(juxtaposition)する必要はないことに再度留意されたい。すなわち、エンコーダおよびデコーダは、本明細書に提示された区分を必ず使用してイントラ予測ブロック80を処理してもよく、その場合、結果的に、例えば区分フラグ160は不要になり得る。ただし、フラグ160によって通知された区分オプションがエンコーダのための1つの決定として利用できる場合、以下の説明は、エンコーダが如何にしてその決定を実行するのかについて、またはその区分モードが特定のブロック80のために使用されるべきか、及びどの分割タイプ、つまり水平または垂直が最適であるかを探し出すかについての可能性を明らかにする。これを実行するために、エンコーダは各ブロックについて異なるイントラ予測モードの両方のオプションをテストすべきである。エンコーダが通常のオプションなどの1つのオプションしか持たない場合に比べると、より多くのオプションをテストする必要があるため、エンコーダの速度は遅くなる。この影響を低減するために、フラグ160によってシグナリングされたパーティションモードは、以下の方策に従って符号化されることによってテストされてもよく、ここで、図10および11を参照する。
【0056】
1)1Dパーティションモードは、テストされるべき最後のイントラモードである。
2)1Dパーティションモードがテストされようとする時点までの最小コストをCminとする。
3)テストされるべきイントラモードと分割タイプとの組み合わせを選択する。
4)ブロックはN個の1Dパーティションに分割され、iはこれらの各パーティションのインデックスを示し、i=[1,N]である。
5)すべてのパーティションが符号化された後、そのサブコストJiが計算される。したがって、パーティションiが符号化された後に、使用可能なすべてのサブコストの合計、つまり
【数1】
を知ることができる。この手順は図10に示されており、つまり、1Dパーティションのサブコストの累積からブロック全体の最終的なコストを取得する様子が示されている。
6)すべてのパーティションが処理された後、式Si<Cminが評価される。式が真である場合、パーティションの符号化を最後まで続ける。式が真でない場合は、このテストモードでRDコストがCminよりも低くなりそうにないことが明白であるから、プロセスが中断され、イントラモードと分割タイプとの次の組み合わせに進む。
7)すべての1Dパーティションが符号化されている場合、このテストモードが最良モードであり、それに応じてCminが更新される。
【0057】
この手順の利点は、1Dパーティションモードでは既存の最小コストよりも優れたコストが得られそうもないことを既に知りうるので、不要な1Dパーティションの処理を回避できることである。しかも、RD損失の点でも欠点はない。全体のプロセスは、図11にフローチャートとして示されている。
【0058】
上記実施形態のすべてが、方向104を横断する1サンプル幅のストライプで実行される区分を示すが、代替的に、その区分は、より広いパーティションとなるよう実行されてもよく、それにより、実施形態の説明における特定の詳細が一次元性を利用しない限り、二次元パーティションにつながる方法で行われ得ることに留意されたい。区分に関するさらなる代替案を以下に示す。
【0059】
換言すると、上記の説明では、イントラ予測されたW×Hのブロック80が一次元パーティション102/112又はラインに分割される、ラインベースのイントラ予測(LIP)符号化モードツールを含むものとして簡単に説明され得る、実施形態が説明された。そこでは、結果として得られるライン102/112のそれぞれが予測され、残差信号が生成され、それが変換され、量子化され、エントロピー符号化され、最後に係数がデコーダに送信されると説明された。そのようなラインの再構成されたサンプルは、次のラインなどを予測するために使用できる。このプロセスは、元のブロック内のすべての一次元パーティションが符号化されるまで繰り返される。
【0060】
ただし、このLIPの概念に対して変更は可能である。本願の実施形態は、区分/分割方向104に沿って1サンプル幅のパーティション102/112を有することに制限されないことは、図4を論じる際に既に上記で示されてきた。次に説明する実施形態では、分割方向104に沿った幅は、1)イントラ予測モードがangularモードであるかnon-angularモードであるか、および2)その方向104に沿ったイントラ予測ブロックの幅、に基づいて定義される。
【0061】
1)W×H(ここで、WおよびHは2の冪であると想定される)ブロック80は、水平または垂直に(例えば、デコーダに送られるシンタックス要素114で示される)、w×h次元のK個の等しいパーティション102/112に分割され得る。それらの値は表IIに記載されている。表IIによれば、non-angularイントラモードを使用して予測され、かつ垂直分割(つまり、垂直である方向104の分割)が行われるW=16、H=8のブロックは、例えば4個のパーティション102に分割されてもよく、これらパーティションのすべてがw=16およびh=2の次元/寸法を持つであろう。この例を図12aに示す。同じブロック80がangularイントラモードを使用して予測された場合、そのブロックはw=16およびh=1の次元/寸法を持った8個のパーティション102に分割されるであろう。
【0062】
【表II】
【0063】
2)W×H(ここで、WおよびHは2の冪であると想定される)ブロック80は、代替的に、水平または垂直に(例えば、デコーダに送られるシンタックス要素114で示される)w×h次元のK個の等しいパーティションに分割されることができ、ここでKの値は固定ではなく(したがって、その値はシンタックス要素を用いてデコーダに送信され)、その範囲は2とSの間の2のべき乗であり得る。ここで、Sは分割される次元の値(垂直分割にとっての幅と水平分割にとっての高さ)である。wとhの値は、表IIIに示すように得られる。
【0064】
【表III】
【0065】
その代わりに、次元104に沿ったパーティションの幅は、ブロック80について直接的にシグナリングされ得る。
【0066】
3)W×H(ここで、WおよびHは2の冪であると想定される)ブロック80は、代替的に、(例えば、デコーダに送信されるシンタックス要素114を用いて示される)水平または垂直方向にwi×hi次元のK個のパーティション(KはWとHとに依存する)に分割されることができ、i=1,2,…,Kである。分割が水平の場合はS=H、si=hiとし、分割が垂直の場合はS=W、si=wiとする。siの値の様々なオプションは、Sの異なる値について表IVで説明され、Sの値は次元104に沿ったブロック80の幅を数値化し、siは次元104に沿ったパーティションiの幅を数値化している。
【0067】
【表IV】
【0068】
デコーダで使用されるオプションは、固定されているか、またはデコーダ側に存在するパラメータの値に従って暗黙的に決定され得る。
【0069】
4)W×H(ここで、WおよびHは2の冪であると想定される)ブロック80は、代替的に、(例えば、デコーダに送信されるシンタックス要素114を用いて示される)水平または垂直方向にwi×hi次元のK個のパーティション(KはWとHとに依存する)に分割されることができ、i=1,2,…,Kである。分割が水平の場合はS=H、si=hiとし、分割が垂直の場合はS=W、si=wiとする。siの値は、ブロックをサブパーティションに分割するために例3)に示した3つのオプションのどれを使用すべきかを示す、シンタックス要素によって決定されるであろう。
【0070】
したがって、上記の例1-4に例示されているように、区分は一次元104に沿って行われてもよく、パーティションは所定の次元に垂直な方向に所定ブロックと同じ幅である一方で、所定の次元104に沿って測定されるパーティションの幅は、少なくとも2つの異なる幅設定またはオプションから選択される。明示的または暗黙的なシグナリングの概念が、エンコーダとデコーダとの間で選択の同期を保つために使用され得る。したがって、この選択により、同じサイズと形状のブロック間で区分を変更できる一方で、この変更に関連するオーバーヘッドを適度に低く保つことができる。選択は、例えば、所定ブロックのためのイントラ符号化モードがangularモードであるか否かに応じてなど、所定ブロックのイントラ符号化モードに応じて行うことができる。選択は、例4に示すように、少なくとも2つの異なる幅設定の1つを指標付けする、所定ブロックについてのデータストリーム内のインデックスに応じて行うこともできる。パーティションは、区分次元に沿って1サンプル幅以上とすることができる。1つのブロック内で、区分/所定の方向に沿ったパーティション幅が変化してもよい。1つは1サンプル幅、つまり一次元のストライプであってもよく、もう1つは1サンプル幅を上回る、つまりサンプルの二次元フィールドである。
【0071】
さらに、上記LIP概念の実施形態のいくつかの場合、2つのタイプの処理順序(上記説明ではパーティション順序126と呼ばれる)が各ブロック80で使用できるように提案され、最終的に適用されるものは、ブロック80で使用されるイントラモードに応じて選択されてきた。しかしながら、すでに上述したように、パーティション順序126を決定するための代替案が存在する。処理順序126は、サブパーティション102/112がどの順序で処理されるべきかを示す。可能な処理順序126は、左上サブパーティションから開始し、水平分割の場合は下向き、垂直分割の場合は右向き、パーティションへの他の区分が使用されるその他の場合はラスタースキャン形式などのその他の順序など、所定の順序で続行することである。一般に、処理順序126は、それぞれのサブパーティションが復号/処理されるときにデコーダ側で利用可能な、既存のパラメータによって決定することができるであろう。すなわち、デコーダにとって、処理順序126はオンザフライで、すなわち、様々なサブパーティション102/112の予測に応じて、決定されるものであり得る。このような既存のパラメータには、イントラモード、サブパーティションインデックス、元のブロックの次元、サブパーティションの次元、現在のパーティションのCBFフラグなどが含まれ得る。順序126は、デコーダに直接送信することもできる。
【0072】
図5に関してすでに上述した考えに由来して、パーティション102/112への同じ区分を使用する分割型イントラ予測を受けるブロック80についても、パーティション順序を変更する動機が起こりうる。すなわち、パーティション102/112が処理される順序126の変更は、様々なパーティション102/112間での予測精度の分配を可能にする。例えば、上記で例示したように、隣接サンプルセット118から遠く離れているパーティション102/112をパーティション順序126に従って最初に処理されるべきと選択した場合には、これは、遠いパーティションがパーティション順序126に従って最後に処理される場合よりもイントラ予測が悪いことを意味するであろう。なぜなら、後者の場合、そのパーティションを充填するために使用される参照サンプルは、より近く、つまり、参照サンプルセット118に面する側でそのパーティションに隣接するパーティションに配置されるからである。例えば図5の場合、パーティション1024について取得されるイントラ予測結果がパーティション順序126の最初である(ブロック80の外側の隣接サンプルに基づいて予測が取得されるであろう)場合には、パーティション1024がパーティション順序126に従って最後に処理される場合(パーティション1024に対して直に隣接するサンプルをカバーし、かつ例えばパーティション1023を含む隣接サンプルセットに基づいて予測を生成するであろう)と比較して、予測残差が大きくなることは明らかである。ただし、残りのパーティションについては逆のことが言える。最初にパーティション1024を処理する場合、パーティション1024の予測残差を使用したその再構成は、パーティション順序126に従って、その後に処理される任意のパーティションの隣接サンプルセット118iに含めることができる。これにより、これらのパーティションの両側からのブロック80のイントラ予測モードを使用して、例えば、図5の各パーティション1021-1023の内部を予測できる。
【0073】
パーティション1024を処理する場合、隣接サンプルセット118iは、i=1…4の各パーティション102iに対し、それぞれのパーティションの片側に位置しているだけである。つまり、パーティション1021-1023に関しては、状況が逆になるであろう。これらのパーティションの場合、予測残差は、パーティション1024を最後に処理する場合と比較して、パーティション1024を最初に処理する場合の方が低くなるであろう。さらに、上述したように、パーティションを隣り合わせで連続して横切る2つのオプション間で順序を切り替えることができるだけでなく、さらに別のパーティション順序126を許可できる可能性があることも考慮する必要がある。その順序とは、最初に所定の順序に従って2つ目毎のパーティションを処理し、次に残りのパーティションを同じ順序または逆の所定の順序で処理するなどの方法である。どのオプションが最適であるかは、エンコーダ側で様々な順序オプションをテストすることで決定し、データストリーム内でブロック80の順序126に関するそれぞれの追加の信号(シグナライゼーション)を送信するか、または順序126を、ブロック80又は隣接ブロックについてデータストリーム内で送信されるシンタックス要素に応じて、エンコーダ側とデコーダ側とで同じ方法で選択できるようにしてもよく、それにより、同じサイズと形状を有し、パーティション102/112へと同様に分割されるブロック80同士であっても、その順序126は同じではなく、それらブロック80間で異なり得る。
【0074】
したがって、各ブロック80のパーティションが処理されるパーティション順序は、少なくとも2つの異なる順序から選択され得る。明示的または暗黙的なシグナリングの概念を使用して、エンコーダとデコーダの間で選択の同期を保つことができる。つまり、この選択は、あるパーティション順序が所定のブロックに適用される一方で、別の順序が別のブロック、即ちこれも区分されたイントラ予測の概念を使用して符号化され、同じサイズと同じ形状を持ち、同じ方法でパーティションに区分されたブロック、に対して適用されることを可能にする。エンコーダのパーティション処理順序の選択の自由度、またはサイズ、形状、区分以外のパラメータに依存するパーティション処理順序のレンダリングの自由度は、区分されたイントラ予測モードの有効性を高めるのに有効である。特定のパーティション102iの予測子の導出のために、少なくとも2つの異なる順序からの所定ブロックについての所定のパーティション順序126の選択に応じた方法で参照サンプル118iを集める(recruiting)とき、有効性はさらに大きくなる可能性がある。特に、上述のように、ある利用可能なまたは選択可能なパーティション順序の場合には、集められた参照サンプル118iは現在のパーティションの2つの対向する側に配置でき、別の選択可能なパーティション順序の場合、集められた参照サンプル118iはそのパーティション120iの2つの対向側の一方にのみ配置できる。次元104に沿って分割する場合、「側」とは、垂直方向104の場合は上側と下側、水平方向の場合は左側と右側など、その方向に沿って対面しているパーティション120iの両側であってもよい。しかし、以下で簡単に説明する別の区分の場合、「側」とは、ブロック80の外側にある参照サンプルセット118iからのサンプルに対面している区分の一方側として、及びブロック80の内側、すなわち以前に処理されたパーティションの1つの中にある参照サンプルセット118iからのサンプルに対面している区分の他方側として、単純に定義されてもよい。例えば、少なくとも2つの異なる選択可能な順序の1つが、所定ブロックの左上隅から最も遠いパーティションから開始してパーティションを横切ってもよい一方で、少なくとも2つの異なる選択可能な順序のもう1つが、所定ブロックの左上隅に最も近いパーティションから開始してパーティションを横切ってもよい。
【0075】
対処すべき別の問題は、残差符号化に関係する。上記のように、残差符号化は変換符号化を使用して実行され得る。各サブパーティション102/112は、それ自身の符号化ブロックフラグ(CBF)188、最終位置(LP)シンタックス要素190、および変換係数198をデータストリーム内に有することができ、これらはデコーダに送信されるであろう。したがって、K個のサブパーティション102/112を有するCUなどのブロック80の場合、K個のCBF188と、非ゼロのCBFを有する各パーティション102/112に対して1個のLP190と、が存在することになる。各CBF188を符号化するために使用されるコンテキストは、同じブロック内で-例えば順序126に従って-以前に符号化されたサブパーティションのCBFの値に依存してもよい。さらに、未説明の更なるシンタックス要素がデータストリーム内でデコーダに送信されてもよく、そのシンタックス要素は、上述の概念がすべてのブロックで使用されるか否かを示すため、またはデータストリーム全体または特定のピクチャに対応する範囲で、または、例えば特定のピクチャのスライスに対して、本明細書で説明する分割されたイントラ予測の概念が、その範囲内のすべてのイントラ予測ブロック80で使用されるか否かを示すため、または幾つか(のパーティション)が1つのピースとして扱われるように、つまり唯一のパーティションへと分割されるようにシグナリングされるかどうかを示すためである。
【0076】
同様に、上で説明したように、各サブパーティションは1つの変換を使用して個別に変換でき、それにより全てゼロに量子化されない各パーティション102/112について1つの変換が生成される。特定のパーティション102/112の変換として、2D変換が使用されてもよいが、そのパーティション102/112の次元の1つが1である場合が除かれ、その場合は1D変換が適用されるであろう。変換コアは、DCT-II、またはサブパーティションが復号されようとするときにデコーダ側に存在するパラメータによって決定される他の任意の変換、であり得る。例えば、変換は、イントラモード、サブパーティションインデックス、サブパーティション次元、または後者のパラメータのサブセット、の組み合わせに従って選択可能である。変換は、デコーダに直接、または別の言い方をすると、例えばブロック80内の全てのパーティションについて、または1つのブロック80の各パーティション102/112について個別に送信される追加のシンタックス要素の形で、シグナリングされることもできる。
【0077】
1つの態様は、すでに上述したように、以下のような事実があるという態様に関係する。即ち、各パーティションの予測残差に対してパーティション別に変換を施し、その変換係数を次に量子化することで到達する、空間ドメインまたは何らかの中間的変換ドメインにおける量子化の後で、ブロック80のパーティション102/112の残差が更に変換されてもよく、その変換はロスレス又は逆変換可能である。つまり、デコーダは、ブロック80全体についての変換の変換係数レベルを取得でき、その変換係数レベルに対して逆ロスレス変換を行い、各パーティション102/112についての予測残差を空間ドメインで取得するか、又は、空間ドメインの予測残差から、各パーティション102/112について再変換によって中間的変換ドメインが取得される。
【0078】
上記の実施形態の変形例によれば、区分は、次元104に沿った区分の形式とは異なる方法で行えることに留意すべきである。そのような変形例を使用するイントラ予測符号化は、フレキシブル・イントラ予測サブ区分(FIPS)などと名付けることができる。ストライプ102/112への区分の代わりに、ブロック80の分割/区分は、ブロック80の任意の長方形のサブパーティションをもたらし得る。フレキシブル・イントラ予測サブ区分(FIPS)は、1個のW×Hのイントラ予測ブロック80を、サイズがwi×hi(i=1,2,…,K)のK個の長方形の重なり合わないサブパーティションに分割する。結果として得られるサブパーティションのレイアウトは完全に隙間なく、これは、サブパーティションの面積の合計が元のブロックの面積に等しいことを意味する。即ち、
【数2】
である。図12bは、ブロック80のそのような一般化された分割の例を示しており、参照記号102がパーティションに再利用されている。この場合、16×8のブロック80は、K=7のサブパーティション102に分割され、それらの次元/寸法は表Vで定義されている。
【0079】
【表V】
【0080】
これまでのところ、前述した実施形態は、直前に記載の区分の例示的な区分を示すと云える。例えば、図4は、ブロック80のそのようなFIPS分割の2つの例を示す。しかし、この場合、すべてのサブパーティション102/112は同じサイズを有する。特に、次元104に垂直方向には、サブパーティションはブロックの幅であり、次元104に沿った方向には、それらは等しい幅であって、次元104に沿ったブロックの幅の特定の分数(fraction)に対応している。上記のパーティション102/112のいずれとも同様に、FIPSにおいて生成される各々のサブパーティション102が予測され、結果として生じる残差信号は、例えば個別に、変換され、量子化され、符号化される。したがって、その再構成された値は、未だ符号化/復号されていない他のサブパーティション102の予測に使用されてもよい。例えば、図12bに示されるブロック80の場合、サブパーティション番号1が最初に予測され、次に、その再構成されたサンプルがサブパーティション番号2および3を予測するために使用され得る。この処理は、全てのサブパーティションが符号化/復号されるまで、繰り返される。
【0081】
FIPSの一般化を要約すると、イントラ予測ブロック80のパーティション102/112への区分は、例えばブロック80を様々なサイズの長方形のパーティションへの再帰的マルチツリーサブ分割や、任意の他の可能なパーティションの定義を使用して、上記とは異なる方法でデータストリームを介して定義およびシグナリングされてもよい。例えば、区分は、上述のように次元104の導出によって定義することができ、その次元に基づいて、それぞれ、ブロック80のパーティションが水平ストライプ102であるか垂直ストライプ112であるかを決定し、また、またストライプの横幅、つまり水平ストライプ102の高さと垂直ストライプ112の幅に関しては、イントラ予測モードに依存して決定する。例えば、処理/パーティション順序126を変更する可能性など、上記で論じた他のすべての可能性が残る。すなわち、その変更は、上述したように、イントラ予測モードに依存してもよく、データストリーム内でイントラ予測モードパラメータに追加して送信されるブロック80についての何らかのシンタックス要素に依存してもよく、又は、様々なパーティションについてデータストリーム内で送信された予測残差から導出可能な情報などのような、データストリーム内で送信された他の何かの情報に従うものでもよい。
【0082】
さらに、ブロック80の様々なパーティションの予測残差は、これらのパーティションの個々のイントラ予測に対して交互になるように、パーティションごとに、量子化され、順次データストリームへ符号化されることはすでに上述した。これは、図5に関してだけでなく、図10および図11に関する説明でも同様である。しかしながら、デコーダは、一方で残差復号と、他方でイントラ予測と予測残差とを組み合わせることによる様々なパーティションの再構成と、の間で交互に繰り返すことによって復号を実行する必要はない。すなわち、特定のブロック80を復号する際に、デコーダは、様々なパーティションの個別のイントラ予測を含む実際の再構成手順から、様々なパーティションの予測残差120の復号を切り離してもよい。図5を参照されたい。ここで、デコーダは、データストリーム14から、すべてのパーティションの予測残差120、つまりブロック80の予測残差1201-1204を1つの処理タスクに従って復号してもよく、かつデコーダは、別のタスクに従ってパーティション102iの予測残差120iを使用して、パーティション順序126に従って、ブロック80の内部をパーティションごとに再構成してもよい。この目的のために、デコーダは、第2タスクで、ブロック80のイントラ予測モードを使用して各パーティション120iのイントラ予測を実行し、第1タスクから得られた予測残差120iを加算し、次にパーティション順126で次のパーティション120i+1にステップすることで、ブロック80の再構成を続ける。それにより空間予測を実行し、次にそのパーティションの予測残差を使用して再構成を実施して、イントラ予測結果を修正する。デコーダは、予測と予測残差を使用した予測修正とを実行する第2タスクを開始する前に、データストリーム14から予測残差120を完全に導出する第1タスクを実行するか、又はデコーダは、上記2つのタスクを並行して実行してもよく、その場合、特定のパーティション102iの予測残差120iが必要なときに、つまりそのパーティション102iの予測結果がそのブロックのイントラ予測モードを使用して取得されており、かつ修正する必要があるときに、予測残差の準備ができていることを保証する手段を備える必要がある。特に、第1タスクまたはフェーズ中に、デコーダは、すべての非ゼロのパーティション、つまり予測残差120iが非ゼロであると通知されるすべてのパーティション102について、すべての逆変換を並行して実行してもよい。
【0083】
付け足しではあるが、パーティションiの残差120iが変換ドメインで量子化される上記の実施形態によれば、これらのパーティションの再構成サンプルが特定の許容サンプル値の範囲を出る、つまり超えるか、または受け継ぐことがあることに留意すべきである。上述のように、再構成サンプルは、順序126において後続のパーティションjのための参照サンプル118jのメンバーとして機能してもよい。一実施形態によれば、これらのサンプルは、順序126において後続のパーティションjを予測する目的でそのまま残され、ブロック80全体に対する最後のクリッピングステップとしてブロック80のこれらサンプルのクリッピングを実行する。それにより、例えば、デコーダ側の実装の容易性を向上させる。よって、パーティション102iの予測子を導出する際に、パーティション順序126に従ってこのパーティション102iに先行するパーティションの再構成サンプルであって、現在のパーティションの参照として機能する1つ以上の既に再構成されたサンプル118iの中にあるサンプルが、未だクリッピングされない状態で使用されてもよく、再構成サンプルをクリッピングされない状態から許容サンプル値範囲にクリッピングされた状態にクリッピングすることは、一連の再構成を実行した後、所定ブロックを最終的に再構成するために、最後に行われる。エンコーダ側では、クリッピングは、デコーダとの参照同期を維持するために、後続の符号化されるブロックの予測参照として機能するそのようなサンプルの再構成バージョンを取得するためだけに、実行される。しかしながら、この最後のクリーンアップ型のクリッピングは一例に過ぎず、代替的に、クリッピングは即座に実行されてもよく、すなわち、パーティションiの再構成サンプルがその後に処理されるパーティションjの参照サンプル118jとして機能する前に実行されてもよい。
【0084】
これまで説明した実施形態のうち、一実施形態を具体例を用いて以下に説明する。特に、この実施形態によれば、データストリーム14は、イントラ符号化ブロック80について、それがLIPまたはISPスキームを使用して符号化されているか否かを、分割モードフラグ160を介してシグナリングする。データストリーム14内の対応するシンタックス要素は、in-tra_subpartitions_mode_flagと名付けることができる。例えばこのフラグが1である場合、イントラ符号化ブロック80は、LIPまたはISPスキームを使用して符号化されることができ、そうでない場合には、ブロック80は通常のイントラ予測を使用して符号化される。LIPまたはISPスキームは、例えば、特定の1つ以上の条件が満たされている場合にのみ、現在のイントラ符号化ブロック80に対して利用可能であり得る。1つ以上の条件は、例えば以下を含むことができる。例えば、イントラ符号化ブロック80は、ブロック80のサンプル数に関して何らかの最小サイズよりも大きい必要があること、および/またはイントラ符号化ブロック80は、例えば変換サイズが過大にならないようにするために、少なくとも水平方向と垂直方向の両方向で所定の次元を超えられないこと、である。より正確には、LSPまたはISPモードは、少なくとも一方向、すなわち水平または垂直方向において、ブロック80が前述の最大変換関連サイズ以下である場合にのみ利用可能となる、ことであってもよい。したがって、in-tra_subpartitions_mode_flagは、ブロック80が上記の条件を満たす場合にのみ、データストリーム内に存在してもよい。そうでない場合、デコーダは、イントラ符号化ブロック80が通常どおりイントラ符号化されていると推測してもよい。
【0085】
イントラ符号化ブロック80がLSPまたはISP符号化ブロックであることを、分割モードフラグ(intra_subpartitions_mode_flag)が示す場合には、パーティション次元フラグ114がイントラ符号化ブロック80についてさらにシグナリングされてもよい。ただし、このintra_subpartitions_mode_flagは必ずしも明示的に通知されないが、特定の状況の場合に特定のパーティション次元104を示すと推測されてもよい。例えば、イントラ符号化ブロック80が前述の最大変換サイズを超える幅を有する(ただし、それを超えない高さを有する)場合、パーティション次元104は必然的に水平となり得、ブロック80の高さが直前に述べた最大変換サイズを超える(ただし、幅はそれを超えない)場合、次元104は必然的に垂直となり得る。どちらの場合も、intra_subpartitions_split_flagはデータストリーム内で明示的にシグナリングされないであろうが、デコーダによって相応に推測されるであろう。イントラ符号化モード116は、上記で概説したように、エンコーダ側およびデコーダ側で構築される最確イントラ予測モードのリストを使用することによって、データストリーム内でシグナリングされ得る。一方、LIPまたはISPのイントラ符号化ブロック80の場合、データストリーム14は、例えばintra_luma_mpm_IDXと呼ばれるMPMリストポインターを介してイントラ符号化モードをシグナリングすることができ、そのポインターは最確イントラ予測モードのリストを必然的に指しており、イントラ符号化ブロックがLIPまたはISPスキームで符号化されていない場合、データストリーム14内ではこのポインターの前にMPMフラグがあってもよい。例えばintra_luma_mpm_flagと呼ばれるMPMフラグが特定のフラグ状態を有する場合、最確イントラ予測モードリストへのポインターの代わりに、イントラ予測モードの残りのリストへのポインターがデータストリームでシグナリングされるであろう。ただし、上記のように、これは単なる例であり、イントラ予測モードのシグナリング可能なセットは、同じであってもよく、つまり、通常どおり符号化されるイントラ予測ブロックとLIPまたはISPイントラ予測ブロックとの両方について、サポートされたすべてのイントラ予測モードをカバーしてもよい。
【0086】
例えば、intra_luma_mpm_flagは、両方のタイプのイントラ符号化ブロックについて送信されてもよい。代替的に、両タイプのイントラ予測ブロックについて送信されるポインターは、MPMフラグなしで、両タイプのイントラ符号化ブロックについて、サポートされたイントラ予測モードの完全なリストを直接指すことができる。イントラ符号化ブロック80がLIPまたはISPスキームを使用して符号化される場合、パーティション102/112の数は以下のように定義され得る。特に、エンコーダおよびデコーダは、ブロック80のサイズに応じてパーティションの数を決定してもよい。データストリームの中で信号は消費されないであろう。小さいブロックサイズの場合、その数は2でありうるが、それ以外の場合、パーティション102/112の数は4である。パーティションのイントラ予測と予測残差のデータストリームへの符号化とが実行されるパーティション順序は、水平方向104の場合は左端のパーティションから、垂直パーティション方向の場合には上端のパーティションから、最も遠いパーティションまで順次パーティション方向104に沿って進んでもよい。この場合も信号は消費されないであろう。上記のように、パーティション102/112ごとに残差変換が行われ得る。つまり、各パーティションは個別に変換され得る。
【0087】
それと比較して、通常どおりイントラ符号化されたブロック80の場合、変換の数は、次のようにイントラ符号化ブロック80のサイズに依存する可能性がある。すなわち、イントラ符号化ブロックが水平および垂直方向に前述の最大変換サイズよりも小さい場合、イントラ符号化ブロック80の残差は1つの変換を使用して符号化され、つまり、ブロック80の残差には完全に1つの変換が施される。水平方向の最大変換サイズを超える場合、イントラ符号化ブロック80は2つの半分ブロックまたは対応する数の変換ブロックに水平方向に分割され、ここでそれら半分ブロックまたは変換ブロックが最大変換サイズに合致し、ブロック80の残差には各半分ブロック/変換ブロックごとに1つの変換が施される。同じことが、垂直方向に最大変換サイズを超えるブロック80の場合にも当てはまる。垂直方向と水平方向の両方で最大変換サイズを超える場合は、ブロック80の残差をこのブロック80の四象限に変換するため、またはブロック80の標準の二次元サブ分割を対応する数の変換ブロックへ変換するために、4つまたは対応する数の変換が使用される。さらに、通常のイントラ符号化ブロック80の処理は、通常のイントラ符号化ブロックがブロック一括でイントラ予測されるという点で、LIPまたはISP符号化されたイントラ符号化ブロック80の取り扱いとは違っていてもよい。つまり、通常のイントラ符号化ブロックはサブ区分されない。さらなる違いは、ブロック80の予測残差を符号化するための、変換ブロックの符号化に関係してもよい。各変換について、tu_cbf_lumaなどの符号化ブロックフラグ188が送信されてもよいが、通常のイントラ符号化ブロック80の場合、このフラグはブロック80内の各変換について必ず符号化される可能性がある一方で、ブロック80がLIPまたはISB符号化されており、かつ以前の変換のすべての先行するCBFがゼロである場合、このフラグは、そのブロック80の最後の変換について1であると推測されてもよい。さらに、各変換内のサブブロックの次元の選択は、通常のイントラ符号化ブロック80と、LIPまたはISP符号化ブロック80との間で異なっていてもよい。詳細は上段で記載されている。しかしながら、代替として、変換182のサブブロックへのサブ分割は、通常のイントラ符号化ブロックとLIPまたはISP符号化ブロックとに対して同等に実行されてもよい。例えば、log2SbWとlog2SbHをそれぞれサブブロックの幅と高さの対数とし、log2TbWidthとlog2TbHeightをそれぞれ変換の幅と高さの対数とする。次に、サブブロックの次元を次のように決定できる。
【0088】
【数3】
【0089】
上記の疑似コードは、表1に示されているサイズのサブブロックを生成する。これは、イントラ符号化ブロック80に固有の最小サイズと通常のイントラ符号化ブロックの非サブ分割とにより、通常のイントラ符号化ブロック80については、4×4の係数のサブブロックだけがもたらされてもよい。最後に、上記に概説された例は、2つのパーティション102/112だけに区分されるブロックを含む、様々なサイズのLIPまたはISPのイントラ予測ブロックをもたらし得るが、そのようなLIPまたはISPイントラ予測ブロックが存在するかどうかに関係なく、3つ以上のパーティションに区分されるLIPまたはISPイントラ予測ブロックが存在することに留意すべきである。
【0090】
いくつかの態様が装置の文脈で説明されてきたが、これらの態様が対応する方法の説明も表しており、ブロックまたはデバイスが方法ステップまたは方法ステップの特徴に対応することは明らかである。同様に、方法ステップの文脈で説明される態様は、対応する装置の対応するブロックまたは項目または特徴の説明も表す。方法ステップの一部またはすべては、例えば、マイクロプロセッサ、プログラム可能なコンピュータ、または電子回路などのハードウェア装置によって(または使用して)実行することができる。いくつかの実施形態では、最も重要な方法ステップの1つまたは複数は、そのような装置によって実行され得る。
【0091】
本発明のデータストリームは、デジタル記憶媒体に格納することができ、またはインターネットなどの無線伝送媒体もしくは有線伝送媒体などの伝送媒体で伝送することができる。
【0092】
特定の実施要件に応じて、本発明の実施形態は、ハードウェアまたはソフトウェアで実施することができる。実装は、フレキシブルディスク、DVD、ブルーレイ(商標)、CD、ROM、PROM、EPROM、EEPROM、またはフラッシュメモリなどのデジタル記憶媒体を使用して実行できる。その上で、それぞれの方法が実行されるように、プログラム可能なコンピュータシステムと協働する(または協働することができる)。したがって、デジタル記憶媒体は、コンピュータ可読であり得る。
【0093】
本発明によるいくつかの実施形態は、本明細書に記載の方法の1つが実行されるように、プログラム可能なコンピュータシステムと協働することができる電子的に読み取り可能な制御信号を有するデータキャリアを含む。
【0094】
一般に、本発明の実施形態は、プログラムコードを有するコンピュータプログラム製品として実装することができ、プログラムコードは、コンピュータプログラム製品がコンピュータ上で実行されるときに方法の1つを実行するように動作する。プログラムコードは、例えば、機械可読キャリアに格納されてもよい。
【0095】
他の実施形態は、機械可読キャリアに記憶された、本明細書に記載された方法の1つを実行するためのコンピュータプログラムを含む。
【0096】
したがって、換言すれば、本発明の方法の実施形態は、コンピュータプログラムがコンピュータ上で実行されるときに、本明細書で説明される方法の1つを実行するためのプログラムコードを有するコンピュータプログラムである。
【0097】
したがって、本発明の方法のさらなる実施形態は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを記録したデータキャリア(またはデジタル記憶媒体、またはコンピュータ可読媒体)である。データキャリア、デジタルストレージメディア、または記録されたメディアは、通常、有形および/または非一時的である。
【0098】
したがって、本発明の方法のさらなる実施形態は、本明細書で説明される方法の1つを実行するためのコンピュータプログラムを表すデータストリームまたは一連の信号である。データストリームまたは信号のシーケンスは、例えば、インターネットなどのデータ通信接続を介して転送されるように構成されてもよい。
【0099】
さらなる実施形態は、本明細書に記載の方法の1つを実行するように構成または適合された処理手段、例えば、コンピュータまたはプログラム可能な論理デバイスを含む。
【0100】
さらなる実施形態は、本明細書に記載される方法の1つを実行するためのコンピュータプログラムがインストールされているコンピュータを含む。
【0101】
本発明によるさらなる実施形態は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを(例えば、電子的または光学的に)受信機に転送するように構成された装置またはシステムを含む。受信機は、例えば、コンピュータ、モバイルデバイス、メモリデバイスなどであり得る。装置またはシステムは、例えば、コンピュータプログラムを受信機に転送するためのファイルサーバを含み得る。
【0102】
いくつかの実施形態では、プログラマブルロジックデバイス(例えば、フィールドプログラマブルゲートアレイ)を使用して、本明細書に記載されている方法の機能の一部またはすべてを実行することができる。いくつかの実施形態では、フィールドプログラマブルゲートアレイは、本明細書で説明される方法の1つを実行するために、マイクロプロセッサと協働し得る。一般に、方法は、好ましくは、任意のハードウェア装置によって実行される。
【0103】
本明細書で説明する装置は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置とコンピュータとの組み合わせを使用して実装することができる。
【0104】
本明細書で説明される装置、または本明細書で説明される装置の任意の構成要素は、少なくとも部分的にハードウェアおよび/またはソフトウェアで実装され得る。
【0105】
本明細書で説明する方法は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置とコンピュータの組合せを使用して実行することができる。
【0106】
本明細書で説明される方法、または本明細書で説明される装置の任意の構成要素は、ハードウェアおよび/またはソフトウェアによって少なくとも部分的に実行され得る。
【0107】
上述の実施形態は、本発明の原理を単に例示するものである。本明細書に記載された構成および詳細の修正および変形は、当業者には明らかであろうことが理解される。したがって、添付の特許請求の範囲によってのみ限定され、本明細書の実施形態の記載および説明として提示された特定の詳細によって限定されないことが意図されている。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12a
図12b