(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-10-31
(54)【発明の名称】イントラ予測モード向けのエントロピーコーディングのための方法、装置、及びコンピュータプログラム
(51)【国際特許分類】
H04N 19/13 20140101AFI20231024BHJP
H04N 19/593 20140101ALI20231024BHJP
H04N 19/46 20140101ALI20231024BHJP
【FI】
H04N19/13
H04N19/593
H04N19/46
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023523235
(86)(22)【出願日】2022-01-27
(85)【翻訳文提出日】2023-04-17
(86)【国際出願番号】 US2022014140
(87)【国際公開番号】W WO2023282937
(87)【国際公開日】2023-01-12
(32)【優先日】2021-07-07
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-01-12
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャオ,リアン
(72)【発明者】
【氏名】ジャオ,シン
(72)【発明者】
【氏名】リウ,シャン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159RC12
5C159TA59
5C159TC27
5C159TC42
5C159TD07
5C159UA02
5C159UA05
5C159UA16
5C159UA33
(57)【要約】
映像の符号化及び/又は復号におけるイントラ予測モード向けのエントロピーコーディングのための方法、装置、及びコンピュータ読み取り可能記憶媒体が提供される。当該方法は、装置により、ブロックに関する符号化映像ビットストリームを受信するステップと、前記装置により、ブロックの情報及びブロックの少なくとも1つの隣接ブロックのモード情報のうちの少なくとも一方に基づいて、ブロックのセットインデックス及びモードインデックスに関する少なくとも1つのコンテキストを導出するステップであり、セットインデックスは、複数のイントラモードセットからのイントラモードセットを示し、モードインデックスは、イントラモードセットからのイントラ予測モードを示す、ステップと、前記装置により、符号化映像ビットストリームから、前記少なくとも1つのコンテキストに従ってセットインデックス及びモードインデックスを抽出するステップと、前記装置により、セットインデックス及びモードインデックスに基づいてブロックのイントラ予測モードを決定するステップと、を含む。
【特許請求の範囲】
【請求項1】
映像復号におけるイントラ予測モード向けのエントロピーコーディングのための方法であって、当該方法は、命令を格納するメモリと、該メモリと通信するプロセッサとを有する装置によって実行され、
ブロックに関する符号化映像ビットストリームを受信するステップと、
前記ブロックの情報及び前記ブロックの少なくとも1つの隣接ブロックのモード情報のうちの少なくとも一方に基づいて、前記ブロックのセットインデックス及びモードインデックスに関する少なくとも1つのコンテキストを導出するステップであり、
前記セットインデックスは、複数のイントラモードセットからのイントラモードセットを示し、
前記モードインデックスは、前記イントラモードセットからのイントラ予測モードを示す、導出するステップと、
前記符号化映像ビットストリームから、前記少なくとも1つのコンテキストに従って前記セットインデックス及び前記モードインデックスを抽出するステップと、
前記セットインデックス及び前記モードインデックスに基づいて前記ブロックの前記イントラ予測モードを決定するステップと、
を有する方法。
【請求項2】
前記ブロックの前記情報は前記ブロックのサイズを有し、
前記少なくとも1つの隣接ブロックの前記モード情報は、前記少なくとも1つの隣接ブロックの複数の方向モードの数、又は前記少なくとも1つの隣接ブロックのモードセットインデックス、のうちの少なくとも一方を有する、
請求項1に記載の方法。
【請求項3】
前記セットインデックス及び前記モードインデックスに関する少なくとも1つのコンテキストを前記導出するステップは、
方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの数に基づいて、前記セットインデックス及び前記モードインデックスに関するコンテキストを導出すること、
を有する、請求項1に記載の方法。
【請求項4】
前記方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの前記数に基づいて、前記セットインデックス及び前記モードインデックスに関する前記コンテキストを前記導出することは、
前記方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの前記数がゼロであることに応答して、前記セットインデックス及び前記モードインデックスに関する前記コンテキストとして第1のコンテキストを導出すること、
前記方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの前記数が1であることに応答して、前記セットインデックス及び前記モードインデックスに関する前記コンテキストとして第2のコンテキストを導出すること、及び
前記方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの前記数が1より多いことに応答して、前記セットインデックス及び前記モードインデックスに関する前記コンテキストとして第3のコンテキストを導出すること、
を有する、請求項3に記載の方法。
【請求項5】
前記方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの前記数に基づいて、前記セットインデックス及び前記モードインデックスに関する前記コンテキストを前記導出することは、
前記方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの前記数がゼロであることに応答して、前記セットインデックス及び前記モードインデックスに関する前記コンテキストとして第1のコンテキストを導出すること、
前記方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの前記数が1であることに応答して、前記セットインデックス及び前記モードインデックスに関する前記コンテキストとして第2のコンテキストを導出すること、
前記方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの前記数が2であり、且つ前記少なくとも1つの隣接ブロックが同一の方向イントラ予測モードでコーディングされることに応答して、前記セットインデックス及び前記モードインデックスに関する前記コンテキストとして第3のコンテキストを導出すること、及び
前記方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの前記数が2であり、且つ前記少なくとも1つの隣接ブロックが相異なる方向イントラ予測モードでコーディングされることに応答して、又は、前記方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの前記数が2より多いことに応答して、前記セットインデックス及び前記モードインデックスに関する前記コンテキストとして第4のコンテキストを導出すること、
を有する、請求項3に記載の方法。
【請求項6】
前記方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの前記数に基づいて、前記セットインデックス及び前記モードインデックスに関する前記コンテキストを前記導出することは、
前記方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの前記数がゼロであることに応答して、前記セットインデックス及び前記モードインデックスに関する前記コンテキストとして第1のコンテキストを導出すること、
前記方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの前記数が1であることに応答して、前記セットインデックス及び前記モードインデックスに関する前記コンテキストとして第2のコンテキストを導出すること、
前記方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの前記数が2であることに応答して、前記セットインデックス及び前記モードインデックスに関する前記コンテキストとして第3のコンテキストを導出すること、及び
前記方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの前記数が2より多いことに応答して、前記セットインデックス及び前記モードインデックスに関する前記コンテキストとして第4のコンテキストを導出すること、
を有する、請求項3に記載の方法。
【請求項7】
前記方向イントラ予測モードは、インターコーデッドモード又はイントラブロックコピーモードのうちの少なくとも一方を含む、請求項3に記載の方法。
【請求項8】
前記方向イントラ予測モードは、方向イントラモード成分を有するイントラインターモードを含む、請求項3に記載の方法。
【請求項9】
前記セットインデックス及び前記モードインデックスに関する前記コンテキストを前記導出するステップは、
前記ブロックのサイズに基づいて、前記セットインデックス及び前記モードインデックスに関する前記コンテキストを導出すること、
を有する、請求項1に記載の方法。
【請求項10】
前記ブロックの前記サイズに基づいて、前記セットインデックス及び前記モードインデックスに関する前記コンテキストを前記導出することは、
前記ブロックの前記サイズが第1閾値以下であることに応答して、前記セットインデックス及び前記モードインデックスに関する前記コンテキストとして第1のコンテキストを導出すること、及び
前記ブロックの前記サイズが前記第1閾値より大きいことに応答して、前記セットインデックス及び前記モードインデックスに関する前記コンテキストとして第2のコンテキストを導出すること、
を有する、請求項9に記載の方法。
【請求項11】
前記第1閾値は8×8である、請求項10に記載の方法。
【請求項12】
前記ブロックの前記サイズに基づいて、前記セットインデックス及び前記モードインデックスに関する前記コンテキストを前記導出することは、
前記ブロックの前記サイズが第1閾値より小さいことに応答して、前記セットインデックス及び前記モードインデックスに関する前記コンテキストとして第1のコンテキストを導出すること、
前記ブロックの前記サイズが前記第1閾値以上であり且つ前記ブロックの前記サイズが第2閾値より小さいことに応答して、前記セットインデックス及び前記モードインデックスに関する前記コンテキストとして第2のコンテキストを導出すること、
前記ブロックの前記サイズが前記第2閾値以上であり且つ前記ブロックの前記サイズが第3閾値より小さいことに応答して、前記セットインデックス及び前記モードインデックスに関する前記コンテキストとして第3のコンテキストを導出すること、及び
前記ブロックの前記サイズが前記第3閾値以上であることに応答して、前記セットインデックス及び前記モードインデックスに関する前記コンテキストとして第4のコンテキストを導出すること、
を有する、請求項9に記載の方法。
【請求項13】
前記第1閾値は、面積で64であり、
前記第2閾値は、面積で256であり、且つ
前記第3閾値は、面積で1024である、
請求項12に記載の方法。
【請求項14】
前記ブロックの前記少なくとも1つの隣接ブロックの前記モード情報、又は前記ブロックのサイズ、のうちの少なくとも一方に基づいて、前記ブロックに対する一組の許容可能なイントラ予測モードを決定するステップ、
を更に有する請求項1に記載の方法。
【請求項15】
前記ブロックに対する前記一組の許容可能なイントラ予測モードを決定するステップは、
前記少なくとも1つの隣接ブロックに関する非方向予測モードの数が2以上であることに応答して、前記非方向予測モードと公称方向モードとを有した、前記ブロックに対する前記一組の許容可能なイントラ予測モードを決定すること、
前記少なくとも1つの隣接ブロックに関する非方向予測モードの数が2以上であることに応答して、及び前記ブロックの前記サイズが第1閾値以上であることに応答して、前記非方向予測モードと公称方向モードとを有した、前記ブロックに対する前記一組の許容可能なイントラ予測モードを決定すること、及び
前記少なくとも1つの隣接ブロックに関する方向予測モードの数が1以上であることに応答して、全てのイントラ予測モードを有した、前記ブロックに対する前記一組の許容可能なイントラ予測モードを決定すること、
を有する、請求項14に記載の方法。
【請求項16】
前記第1閾値は32×32である、請求項15に記載の方法。
【請求項17】
前記ブロックの少なくとも1つの隣接ブロックの前記モード情報、又は前記ブロックのサイズ、のうちの少なくとも一方に基づいて、前記ブロックに対する二組以上の許容可能なイントラ予測モードを決定するステップ、
を更に有する請求項1に記載の方法。
【請求項18】
映像復号におけるイントラ予測モード向けのエントロピーコーディングのための装置であって、
命令を格納するメモリと、
前記メモリと通信するプロセッサであり、当該プロセッサが前記命令を実行するとき、当該プロセッサは当該装置に請求項1乃至17のいずれかに記載の方法を実行させるように構成される、
装置。
【請求項19】
コンピュータに請求項1乃至17のいずれか一項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、2021年7月7日に出願された米国仮出願第63/219,230号及び2022年1月12日に出願された米国出願第17/573,845号に基づくとともに、それらに対する優先権の利益を主張するものであり、それらの両方をそれらの全体にてここに援用する。
【0002】
本開示は、ビデオの符号化及び/又は復号技術に関し、特に、イントラ予測モード向けのエントロピーコーディング符号化の改良設計及びシグナリングに関する。
【背景技術】
【0003】
ここに提示されるこの背景説明は、開示に係る状況を概略的に提示するためのものである。この背景セクションに記載される範囲においての、ここに名を連ねる発明者の仕事、並びに、この出願の出願時にさもなければ従来技術として適格でないかもしれない記載の態様は、明示的にも、暗示的にも、本開示に対する先行技術として認められるものではない。
【0004】
動き補償を用いるインターピクチャ予測を使用して映像の符号化及び復号を実行することができる。圧縮されていないデジタル映像は一連のピクチャを含み、各ピクチャが、例えば、1920×1080のルミナンスサンプル及び関連するフルサンプリング若しくはサブサンプリングされたクロミナンスサンプルの空間寸法を持つ。一連のピクチャは、固定又は可変のピクチャレート(あるいは、フレームレートと称される)を持つことができ、例えば、毎秒60ピクチャ、すなわち、毎秒60フレームのピクチャレートを持ち得る。圧縮されていない映像は、ストリーミング又はデータ処理に関して特定のビットレート要求を持つ。例えば、カラーチャネル毎にピクセル当たり8ビットの、1920×1080のピクセル解像度、60フレーム/秒のフレームレート、及び4:2:0のクロマサブサンプリングの映像は、1.5Gbit/sに近い帯域幅を必要とする。1時間のこのような映像は、600GByteを超えるストレージ空間を必要とする。
【0005】
映像の符号化及び復号の1つの目的は、圧縮されていない入力映像信号の冗長性の、圧縮を通じての低減であるとし得る。圧縮は、前述の帯域幅要求及び/又はストレージ空間要求を、場合によって2桁以上の大きさで、低減させる助けとなることができる。可逆圧縮及び非可逆圧縮の双方、並びにこれらの組み合わせを使用することができる。可逆圧縮は、復号プロセスにより、圧縮された原信号から原信号の正確な複製を再構成することができる技術を指す。非可逆圧縮は、元の映像情報がコーディング中に完全には保持されず、復号において完全には復元可能でない符号化/復号プロセスを指す。非可逆圧縮を使用する場合、再構成された信号は、原信号と同じにならないことがあるが、原信号と再構成信号との間の歪みは、幾分の情報損失にもかかわらず、再構成信号を意図した用途に有用にするのに十分な小ささとなる。映像の場合、多くの用途で非可逆圧縮が広く用いられる。許容可能な歪みの量は用途に依存する。例えば、特定の消費者映像ストリーミングアプリケーションのユーザは、映画又はテレビ放送アプリケーションのユーザよりも高い歪みを許容し得る。特定のコーディングアルゴリズムによって達成可能な圧縮比は、様々なひずみ許容度を反映するように選択又は調整されることができ、より高い許容可能な歪みは一般に、より高い損失及びより高い圧縮比を生じるコーディングアルゴリズムを許容する。
【0006】
ビデオエンコーダ及びデコーダは、例えば、動き補償、フーリエ変換、量子化、及びエントロピーコーディングを含め、幾つかの広範なカテゴリ及びステップからの技術を利用することができる。
【0007】
ビデオコーデック技術は、イントラコーディングとして知られる技術を含むことができる。イントラコーディングにおいて、サンプル値は、先行して再構成された参照ピクチャからのサンプル又は他のデータを参照することなく表現される。一部のビデオコーデックにおいて、ピクチャは複数ブロックのサンプルへと空間的に細分される。全てのブロックのサンプルがイントラモードでコーディングされる場合、そのピクチャはイントラピクチャと称することができる。イントラピクチャ及び例えば独立デコーダリフレッシュピクチャなどのそれらの派生物は、デコーダ状態をリセットするために使用されることができ、従って、コーディングされる映像ビットストリーム及び映像セッションにおける最初のピクチャとして、又は静止画として使用されることができる。そして、イントラ予測後のブロックのサンプルを、周波数ドメインへの変換にかけることができ、そうして生成された変換係数を、エントロピーコーディングの前に量子化することができる。イントラ予測は、変換前ドメインにおけるサンプル値を最小化する技術を表す。場合により、変換後のDC値が小さいほど、及びAC係数が小さいほど、エントロピーコーディング後にブロックを表すのに所与の量子化ステップサイズで必要とされるビット数が少なくなる。
【0008】
例えばMPEG-2世代のコーディング技術から知られるものなどの伝統的なイントラコーディングはイントラ予測を使用しない。しかしながら、より新しい一部の映像圧縮技術は、ブロックの符号化/復号を、例えば、イントラ符号化若しくはイントラ復号中のデータのブロックに空間的に隣接し且つ復号順で先行するものの符号化及び/又は復号中に得られた周囲のサンプルデータ及び/又はメタデータに基づいて試みる技術を含む。このような技術を、以後、“イントラ予測”技術と呼ぶ。なお、少なくとも一部のケースにおいて、イントラ予測は、再構成中の現在ピクチャからの参照データのみを使用し、他の参照ピクチャからのものは使用しない。
【0009】
数多くの異なる形態のイントラ予測が存在し得る。所与の映像コーディング技術において、そのような技術のうち2つ以上が利用可能である場合、使用される技術をイントラ予測モードと称することができる。特定のコーデックにおいて1つ以上のイントラ予測モードが提供され得る。ある特定のケースにおいて、モードはサブモードを持ちことができ、且つ/或いは様々なパラメータに関連付けられることができ、映像のブロックのモード/サブモード情報及びイントラコーディングパラメータは、モードコードワードに個別にコーディングされたり集合的に含められたりすることができる。所与のモード、サブモード、及び/又はパラメータの組み合わせにどのコードワードを使用するかということは、イントラ予測を通じたコーディング効率利得に影響を与え得ることであり、コードワードをビットストリームに変換するのに使用されるエントロピーコーディング技術も同様であり得る。
【0010】
イントラ予測の特定のモードが、H.264で導入され、H.265で改良され、そして、例えば共同探査モデル(JEM)、バーサタイルビデオコーディング(VVC)、及びベンチマークセット(BMS)などの、より新しいコーディング技術でさらに改良された。一般に、イントラ予測では、利用可能になっている隣接サンプル値を用いて予測子ブロックが形成され得る。例えば、特定の方向及び/又はラインに沿った利用可能な特定の隣接サンプルセットの値が予測子ブロックにコピーされ得る。使用する方向のリファレンスが、ビットストリームにコーディングされるか、それ自体が予測されるかし得る。
【0011】
図1Aを参照するに、右下に、H.265の33個の取り得る予測子方向(H.265に規定される35個のイントラモードのうちの33個の角度モードに対応)に規定される9個の予測子方向のサブセットが描かれている。矢印が集まった点(101)が予測中のサンプルを表す。矢印は、101の位置のサンプルを予測するのに、その方向からの隣接サンプルが使用されることを表す。例えば、矢印(102)は、サンプル(101)が、水平方向から45度の角度で右上の1つ又は複数の隣接サンプルから予測されることを指し示す。同様に、矢印(103)は、サンプル(101)が、水平方向から22.5度の角度で左下の1つ又は複数の隣接サンプルから予測されることを指し示す。
【0012】
なおも
図1Aを参照するに、左上に、4×4サンプルの正方形ブロック(104)(破線の太線で示す)が描かれている。正方形ブロック(104)は、16個のサンプルを含み、各サンプルが、“S”と、Y次元でのその位置(例えば、行インデックス)と、X次元でのその位置(例えば、列インデックス)とでラベル付けられている。例えば、サンプルS21は、Y次元で(上から)2番目、且つX次元で(左から)1番目のサンプルである。同様に、サンプルS44は、ブロック(104)内の、Y及びXの両方の次元で4番目のサンプルである。このブロックは4×4サンプルのサイズなので、S44は右下にある。さらに、同様の番号付けスキームに従った参照サンプル例が示されている。参照サンプルは、Rと、ブロック(104)に対するY位置(例えば、行インデックス)及びX位置(列インデックス)とでラベル付けられている。H.264及びH.265の両方で、再構成中のブロックに隣接する予測サンプルが使用される。
【0013】
ブロック104のイントラピクチャ予測は、シグナリングされる予測方向に従って、隣接サンプルからの参照サンプル値を適宜にコピーすることによって始まり得る。例えば、このブロック104について、矢印(102)の予測方向、すなわち、水平方向から45度右上の1つ又は複数の予測サンプル又はサンプルからサンプルが予測されること、を指し示すシグナリングを符号化映像ビットストリームが含んでいると仮定する。このような場合、サンプルS41、S32、S23、及びS14は、同じ参照サンプルR05から予測される。そして、サンプルS44は、参照サンプルR08から予測される。
【0014】
特定のケースにおいて、特に、方向を45度ずつ等分できない場合に、参照サンプルを計算するために、例えば内挿により、複数の参照サンプルの値を結合することがある。
【0015】
映像コーディング技術が発展し続けるにつれて、取り得る方向の数が増加している。H.264(2003年)では、例えば、9個の異なる方向がイントラ予測のために利用可能である。これが、H.265(2013年)では33個に増加し、JEM/VVC/BMSは、この開示の時点で、65個に至る方向をサポートすることができる。最も好適なイントラ予測方向を特定する助けとすべく実証研究が行われており、そして、エントロピーコーディングにおける特定の技術を用いて、方向に対する特定のビットペナルティを受け入れつつ、それら最も好適な方向を少数のビットに符号化し得る。さらに、それらの方向自体が、復号済みの隣接ブロックのイントラ予測で用いられた隣接方向から予測されることもある。
【0016】
図1Bは、開発された様々な符号化技術における予測方向の数が増えていることを例示するために、JEMに従った65個のイントラ予測方向を描いた概略図(180)を示している。
【0017】
符号化映像ビットストリームにおいてイントラ予測方向を表すビットをイントラ予測方向にマッピングするやり方は、映像コーディング技術ごとに変わり得るものであり、例えば、イントラ予測モードへの予測方向の単純な直接マッピングから、コードワードや、最確モードを含む複雑な適応方式、及び同様の技術まで及び得る。しかし、どのケースでも、映像コンテンツには、イントラ予測に関し、他の特定の方向よりも統計的に発生しにくい特定の方向が存在し得る。映像圧縮の目標は冗長性の低減であるので、良く設計された映像コーディング技術では、それら可能性の低い方向は、可能性の高い方向よりも多数のビットで表され得る。
【0018】
インターピクチャ予測、すなわち、インター予測は、動き補償に基づき得る。動き補償において、先行して再構成されたピクチャ又はその一部(参照ピクチャ)からのサンプルデータが、動きベクトル(以下、MV)によって指し示される方向に空間的にシフトされた後に、新たに再構成されるピクチャ又はピクチャ部分(例えば、ブロック)の予測のために使用され得る。一部のケースにおいて、参照ピクチャは、現在再構成中のピクチャと同じであることができる。MVは、2つの次元X及びYを有することができ、あるいは、使用する参照ピクチャを指し示すインジケーションを3つめの次元(時間次元と類似)として、3つの次元を有することができる。
【0019】
一部の映像圧縮技術では、サンプルデータのある特定の領域に適用可能な現在MVを、例えば、再構成中の領域に空間的に隣接し且つ復号順で現在MVに先行する他の領域のサンプルデータに関係する他のMVからなど、別のMVから予測することができる。そうすることは、相関あるMVにおける冗長性を除去することを頼りにして、MVをコーディングするのに必要なデータの全体量を大幅に減らすことができ、それにより圧縮効率を高めることができる。MV予測は、効果的に機能することができる。何故なら、例えば、カメラに由来する入力ビデオ信号(ナチュラルビデオとして知られる)をコーディングするとき、単一のMVが適用可能である領域よりも大きい領域が映像シーケンス内で同様の方向に移動し、それ故に、場合により、隣接する領域のMVから導出される同様の動きベクトルを用いて予測されることができる、という統計的尤度があるからである。これは、所与の領域に対する実際のMVが、周囲のMVから予測されるMVと類似又は同じであることをもたらす。そして、このようなMVは、エントロピーコーディングの後に、(1つ以上の)隣接MVから予測されるのではなくMVが直接コーディングされる場合に使用されることになるものよりも少ないビット数で表され得る。一部のケースでは、MV予測は、原信号(つまりは、サンプルストリーム)から導出される信号(つまりは、MV)の可逆圧縮の一例であることができる。他のケースでは、例えば、幾つかの周囲MVから予測子を計算する際の丸め誤差のために、MV予測それ自体が非可逆的であるとし得る。
【0020】
様々なMV予測メカニズムが、H.265/HEVC(ITU-T勧告H.265,“High Efficiency Video Coding”、2016年12月)に記述されている。H.265が規定するそれら多数のMV予測メカニズムのうち、以下では“空間マージ”と称する技術を以下にて説明する。
【0021】
具体的には、
図2を参照するに、現在ブロック(201)は、空間的にシフトされた同じサイズの先行ブロックから予測可能であることが動き探索プロセス中にエンコーダによって見出されたサンプルを有する。MVを直接コーディングする代わりに、MVを、A0、A1、及びB0、B1、B2(それぞれ202から206)と表記する5つの周囲サンプルのうちのいずれか1つに関連するMVを用いて、例えば(復号順で)直前の参照ピクチャからなど、1つ以上の参照ピクチャに関連するメタデータから導出することができる。H.265において、MV予測は、隣接ブロックが使用するのと同じ参照ピクチャからの予測子を使用することができる。
【発明の概要】
【0022】
本開示は、映像の符号化及び/又は復号のための方法、装置、及びコンピュータ読み取り可能記憶媒体の様々な実施形態を記述する。
【0023】
一態様によれば、本開示の一実施形態は、映像復号におけるイントラ予測モード向けのエントロピーコーディングのための方法を提供する。当該方法は、装置により、ブロックに関する符号化映像ビットストリームを受信するステップを含む。前記装置は、命令を格納するメモリと、該メモリと通信するプロセッサとを含む。当該方法はまた、前記装置により、前記ブロックの情報及び前記ブロックの少なくとも1つの隣接ブロックのモード情報のうちの少なくとも一方に基づいて、前記ブロックのセットインデックス及びモードインデックスに関する少なくとも1つのコンテキストを導出するステップであり、前記セットインデックスは、複数のイントラモードセットからのイントラモードセットを示し、前記モードインデックスは、前記イントラモードセットからのイントラ予測モードを示す、導出するステップと、前記装置により、前記符号化映像ビットストリームから、前記少なくとも1つのコンテキストに従って前記セットインデックス及び前記モードインデックスを抽出するステップと、前記装置により、前記セットインデックス及び前記モードインデックスに基づいて前記ブロックの前記イントラ予測モードを決定するステップと、を含む。
【0024】
他の一態様によれば、本開示の一実施形態は、映像符号化におけるイントラ予測モード向けのエントロピーコーディングのための方法を提供する。当該方法は、装置により、符号化映像ビットストリームに符号化すべきブロックを受信するステップを含む。前記装置は、命令を格納するメモリと、該メモリと通信するプロセッサとを含む。当該方法はまた、前記装置により、前記ブロックの情報及び前記ブロックの少なくとも1つの隣接ブロックのモード情報のうちの少なくとも一方に基づいて、前記ブロックのセットインデックス及びモードインデックスに関する少なくとも1つのコンテキストを導出するステップであり、前記セットインデックスは、複数のイントラモードセットからのイントラモードセットを示し、前記モードインデックスは、前記イントラモードセットからのイントラ予測モードを示す、導出するステップと、前記装置により、前記少なくとも1つのコンテキストに従って前記セットインデックス及び前記モードインデックスを符号化映像ビットストリームに符号化するステップと、を含む。
【0025】
他の一態様によれば、本開示の一実施形態は、映像の符号化及び/又は復号のための装置を提供する。当該装置は、命令を格納するメモリと、該メモリと通信するプロセッサとを含む。前記プロセッサが前記命令を実行するとき、前記プロセッサは、当該装置に、映像の復号及び/又は符号化のための上述の方法を実行させるように構成される。
【0026】
他の一態様において、本開示の一実施形態は、命令を格納した非一時的なコンピュータ読み取り可能媒体を提供し、前記命令は、映像の復号及び/又は符号化のためのコンピュータによって実行されるときに、該コンピュータに、映像の復号及び/又は符号化のための上述の方法を実行させる。
【0027】
上述及びその他の態様とそれらの実装が、図面、明細書、及び特許請求の範囲にて、より詳細に説明される。
【図面の簡単な説明】
【0028】
開示に係る事項の更なる特徴、性質、及び様々な利点が、以下の詳細な説明及び添付の図面から、よりいっそう明らかになる。
【
図1A】イントラ予測方向モードの例示的なサブセットの概略図を示している。
【
図1B】例示的なイントラ予測方向の図を示している。
【
図2】現在ブロック及びその周囲の一例における動きベクトル予測用の空間マージ候補の概略図を示している。
【
図3】一実施形態例に従った通信システム(300)の簡略ブロック図の概略図を示している。
【
図4】一実施形態例に従った通信システム(400)の簡略ブロック図の概略図を示している。
【
図5】一実施形態例に従ったビデオデコーダの簡略ブロック図の概略図を示している。
【
図6】一実施形態例に従ったビデオエンコーダの簡略ブロック図の概略図を示している。
【
図7】他の一実施形態例に従ったビデオエンコーダのブロック図を示している。
【
図8】他の一実施形態例に従ったビデオデコーダのブロック図を示している。
【
図9】本開示の実施形態例に従った方向イントラ予測モードを示している。
【
図10】本開示の実施形態例に従った非方向イントラ予測モードを示している。
【
図11】本開示の実施形態例に従った再帰イントラ予測モードを示している。
【
図12】本開示の一実施形態例に従った方法のフローチャートを示している。
【
図13】本開示の一実施形態例に従った他の方法のフローチャートを示している。
【
図14】本開示の実施形態例に従ったコンピュータシステムの概略図を示している。
【発明を実施するための形態】
【0029】
次に以下にて、本発明の一部を構成するとともに例示として実施形態の具体例を示すものである添付の図面を参照して、本発明を詳細に説明する。しかしながら、留意されたいことには、本発明は多様な異なる形態で具現化され得るものであり、従って、対象となる又は特許請求される事項は、以下に記載される実施形態のいずれにも限定されないとして解釈されることが意図される。また、本発明は、方法、装置、コンポーネント、又はシステムとして具現化され得ることにも留意されたい。従って、本発明の実施形態は、例えば、ハードウェア、ソフトウェア、ファームウェア、又はこれらの任意の組み合わせの形態をとり得る。
【0030】
明細書及び特許請求の範囲を通じて、用語は、明示的に述べられる意味を超えて、文脈において示唆又は暗示される意味あいを持ち得る。ここで使用される“一実施形態において”又は“一部の実施形態において”という言い回しは、必ずしも同じ実施形態に言及するものではなく、ここで使用される“他の一実施形態において”又は“他の実施形態において”という言い回しは、必ずしも異なる実施形態に言及するものではない。同様に、ここで使用される“一実装において”又は“一部の実装において”という言い回しは、必ずしも同じ実装に言及するものではなく、ここで使用される“他の一実装において”又は“他の実装において”という言い回しは、必ずしも異なる実装に言及するものではない。意図されるのは、例えば、特許請求に係る事項は、例示的な実施形態/実装の組み合わせを全体又は一部にて含むということである。
【0031】
一般的に、用語は少なくとも部分的に文脈での用法から理解され得る。例えば、ここで使用される“及び”、“又は”、若しくは“及び/又は”などの用語は、このような用語が使用される文脈に少なくとも部分的に依存し得る多様な意味を含み得る。典型的に、“又は”は、例えばA、B又はCなどのリストを関連付けるために使用される場合、ここでは包含の意味で使用されるA、B、及びCと、ここでは排他的な意味で使用されるA、B、又はCと、を意味することが意図される。また、ここで使用される“1つ以上”又は“少なくとも1つ”という用語は、文脈に少なくとも部分的に応じて、単数の意味での何らかの機構、構造、又は特性を記述するために使用されることもあれば、複数の意味での機構、構造、又は特性の組み合わせを記述するために使用されることもある。同様に、“ある”又は“その”(“a”、“an”、又は“the”)などの用語も、文脈に少なくとも部分的に応じて、単数の用法を伝えるためと理解されることもあれば、複数の用法を伝えるためと理解されることもある。また、“に基づく”又は“によって決定される”という用語は、必ずしも要因の排他的なセットを伝えることを意図するわけではなく、代わりに、やはり文脈に少なくとも部分的に応じて、必ずしも明示的に記述されない更なる要因の存在を許すとして理解され得る。
【0032】
図3は、本開示の一実施形態に従った通信システム(300)の簡略ブロック図を例示している。通信システム(300)は、例えばネットワーク(350)を介して、互いに通信することができる複数の端末装置を含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された第1の対の端末装置(310)及び(320)を含む。
図3の例において、第1の対の端末装置(310)及び(320)は、データの一方向伝送を行い得る。例えば、端末装置(310)が、(例えば、端末装置(310)によってキャプチャされた映像ピクチャのストリームの)映像データを、ネットワーク(350)を介した他の端末装置(320)への伝送のために符号化し得る。符号化された映像データは、1つ以上の符号化映像ビットストリームの形態で伝送されることができる。端末装置(320)が、ネットワーク(350)から符号化映像データを受信し、符号化映像データを復号して映像ピクチャを復元し、復元した映像データに従って映像ピクチャを表示し得る。一方向データ伝送は、メディアサービス提供アプリケーション及びそれに類するものにて実施され得る。
【0033】
他の一例において、通信システム(300)は、例えば、テレビ会議アプリケーションにおいて実施され得る符号化映像データの双方向伝送を行う第2の対の端末装置(330)及び(340)を含む。データの双方向伝送では、一例において、端末装置(330)及び(340)の各端末装置が、(例えば、その端末装置によってキャプチャされた映像ピクチャのストリームの)映像データを、ネットワーク(350)を介した端末装置(330)及び(340)のうちの他方の端末装置への伝送のために符号化し得る。端末装置(330)及び(340)の各端末装置はまた、端末装置(330)及び(340)のうちの他方の端末装置によって送信された符号化映像データを受信し得るとともに、符号化映像データを復号して映像ピクチャを復元し、そして、復元した映像データに従って、アクセス可能なディスプレイ装置に映像ピクチャを表示し得る。
【0034】
図3の例において、端末装置(310)、(320)、(330)及び(340)は、サーバ、パーソナルコンピュータ、及びスマートフォンとして実装され得るが、基礎となる本開示の原理の適用可能性は、そのように限定されないとし得る。本開示の実施形態は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、ウェアラブルコンピュータ、専用のテレビ会議機器、及び/又はこれらに類するものにて実装されてもよい。ネットワーク(350)は、例えば、配線(有線)通信ネットワーク及び/又は無線通信ネットワークを含め、端末装置(310)、(320)、(330)及び(340)間で符号化された映像データを伝達するあらゆる数又はタイプのネットワークを表す。通信ネットワーク(350)は、回線交換チャネル、パケット交換チャネル、及び/又は他の対応のチャネルにてデータを交換し得る。代表的なネットワークは、遠距離通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又はインターネットを含む。本説明の目的上、ネットワーク(350)のアーキテクチャ及びトポロジーは、ここで明示的に説明しない限り、本開示の動作にとって重要ではないとし得る。
【0035】
図4は、開示に係る事項に関するアプリケーションの一例として、映像ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を例示している。開示に係る事項は、例えば、テレビ会議や、デジタルTV放送や、ゲームや、バーチャルリアリティや、CD、DVD、メモリスティック及びこれらに類するものを含むデジタル媒体上での圧縮映像の格納などを含め、他の映像アプリケーションにも等しく適用可能であるとし得る。
【0036】
映像ストリーミングシステムは、圧縮されていない映像ピクチャ又は画像のストリーム(402)を作り出す例えばデジタルカメラといった映像ソース(401)を含み得るものであるビデオキャプチャサブシステム(413)を含み得る。一例において、映像ピクチャのストリーム(402)は、映像ソース(401)のデジタルカメラによって記録されるサンプルを含む。映像ピクチャのストリーム(402)は、符号化された映像データ(404)(又は符号化映像ビットストリーム)と比較して高いデータボリュームであることを強調するために太線として描かれており、映像ソース(401)に結合されたビデオエンコーダ(403)を含んだエレクトロニクス装置(420)によって処理され得る。ビデオエンコーダ(403)は、更に詳細に後述される開示に係る事項の態様を使用可能にする又は実装するための、ハードウェア、ソフトウェア、又はこれらの組み合わせを含むことができる。符号化された映像データ(404)(又は符号化映像ビットストリーム(404))は、圧縮されていない映像ピクチャのストリーム(402)と比較して低いデータボリュームであることを強調するために細線として描かれており、後の使用のためにストリーミングサーバ(405)に格納されたり、下流のビデオ装置(図示せず)に直接提供されたりすることができる。例えば
図4のクライアントサブシステム(406)及び(408)などの1つ以上のストリーミングクライアントサブシステムが、符号化された映像データ(404)のコピー(407)及び(409)を取り出すためにストリーミングサーバ(405)にアクセスすることができる。クライアントサブシステム(406)は、例えばエレクトロニクス装置(430)内の、ビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は、入ってくる符号化された映像データのコピー(407)を復号し、出ていく映像ピクチャのストリーム(411)を作り出すことができ、出ていく映像ピクチャのストリーム(411)は、圧縮されておらず、ディスプレイ(412)(例えば、ディスプレイスクリーン)又は他のレンダリング装置(図示せず)上でレンダリングされることができる。ビデオデコーダ(410)は、この開示で説明される様々な機能のうちの一部又は全てを実行するように構成され得る。一部のストリーミングシステムにおいて、符号化された映像データ(404)、(407)、及び(409)(例えば、映像ビットストリーム)は、特定の映像符号化/圧縮標準に従って符号化されることができる。それら標準の例は、ITU-T勧告H.265を含む。一例において、開発中のある映像符号化標準は、非公式にバーサタイルビデオコーディング(Versatile Video Coding;VVC)として知られている。開示に係る事項は、VVC及び他の映像コーディング標準の文脈で使用され得る。
【0037】
なお、エレクトロニクス装置(420)及び(430)は、他のコンポーネント(図示せず)を含むことができる。例えば、エレクトロニクス装置(420)はビデオデコーダ(図示せず)を含むことができ、エレクトロニクス装置(430)はビデオエンコーダ(図示せず)も含むことができる。
【0038】
図5は、以下の本開示のいずれかの実施形態に従ったビデオデコーダ(510)のブロック図を示している。ビデオデコーダ(510)は、エレクトロニクス装置(530)に含まれ得る。エレクトロニクス装置(530)は、受信器(531)(例えば、受信回路)を含むことができる。ビデオデコーダ(510)は、
図4の例におけるビデオデコーダ(410)の代わりに使用されることができる。
【0039】
受信器(531)が、ビデオデコーダ(510)によって復号されることになる1つ以上の符号化映像シーケンスを受信し得る。同じ実施形態又は他の一実施形態において、一度に1つの符号化映像シーケンスを復号することができ、各符号化映像シーケンスの復号は、他の符号化映像シーケンスとは独立である。各映像シーケンスは、複数の映像フレーム又は画像に関連し得る。符号化映像シーケンスは、符号化された映像データを格納するストレージ装置又は符号化された映像データを送信するストリーミングソースへのハードウェア/ソフトウェアリンクとし得るものであるチャネル(501)から受信され得る。受信器(531)は、符号化映像データを、例えば符号化された音声データ及び/又は補助データストリームなどの他のデータと共に受信してもよく、それらのデータは、それらそれぞれの処理回路(図示せず)に転送され得る。受信器(531)は、符号化映像シーケンスを他のデータから分離し得る。ネットワークジッタに対抗するために、受信器(531)とエントロピーデコーダ/パーサ520(以下、“パーサ(520)”)との間にバッファメモリ(515)が配置され得る。特定のアプリケーションにおいて、バッファメモリ(515)はビデオデコーダ(510)の一部として実装され得る。他のアプリケーションにおいて、それは、ビデオデコーダ(510)の外部にあって別々であってもよい(図示せず)。更なる他のアプリケーションにおいて、例えばネットワークジッタに対抗する目的で、ビデオデコーダ(510)の外部にバッファメモリ(図示せず)が存在することができ、例えば再生タイミングを取り扱うために、ビデオデコーダ(510)の内部に追加のバッファメモリ(515)が存在してもよい。受信器(531)が、十分な帯域幅及び可制御性の格納/転送装置から又は等同期ネットワークからデータを受信しているとき、バッファメモリ(515)は、必要とされなくてもよく、又は小さくされることができる。例えばインターネットなどのベストエフォート型パケットネットワーク上での使用では、十分なサイズのバッファメモリ(515)が必要とされ得るとともに、そのサイズは、比較的大きくされ得る。そのようなバッファメモリは、適応可能なサイズを有して実装されてもよく、また、少なくとも部分的に、ビデオデコーダ(510)の外部のオペレーティングシステム又は同様の要素(図示せず)にて実装され得る。
【0040】
ビデオデコーダ(510)は、符号化映像シーケンスからシンボル(521)を再構成するためのパーサ(520)を含み得る。それらシンボルのカテゴリは、ビデオデコーダ(510)の動作を管理するために使用される情報を含むとともに、可能性として、
図5に示したように、エレクトロニクス装置(530)の統合部分であってもなくてもよいがエレクトロニクス装置(530)に結合されることが可能な、例えばディスプレイ(512)(例えば、ディスプレイスクリーン)などのレンダリング装置を制御する情報を含み得る。(1つ以上の)レンダリング装置用の制御情報は、補足強化情報(Supplementary Enhancement Information;SEI)メッセージ又はビデオユーザビリティ情報(Video Usability Information;VUI)パラメータセットフラグメント(図示せず)の形態とし得る。パーサ(520)は、当該パーサ(520)が受け取った符号化映像シーケンスを構文解析/エントロピー復号し得る。符号化映像シーケンスのエントロピーコーディングは、映像符号化技術又は標準によることができ、可変長符号化、ハフマン符号化、文脈依存性を持つ又は持たない算術符号化などを含め、様々な原理に従うことができる。パーサ(520)は、符号化映像シーケンスから、サブグループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダにおけるピクセルのサブグループのうちの少なくとも1つに関する一組のサブグループパラメータを抽出することができる。サブグループは、グループ・オブ・ピクチャ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。パーサ(520)はまた、符号化映像シーケンス情報から、例えば変換係数(例えば、フーリエ変換係数)、量子化パラメータ値、動きベクトルなどの情報を抽出し得る。
【0041】
パーサ(520)は、シンボル(521)を生み出すよう、バッファメモリ(515)から受け取った映像シーケンスにエントロピー復号/構文解析処理を実行し得る。
【0042】
シンボル(521)の再構成には、符号化された映像ピクチャ又はその部分のタイプ及び他の要因(例えば、インターピクチャ及びイントラピクチャ、インターブロック及びイントラブロックなど)に応じて、複数の異なる処理ユニット又は機能ユニットが関与し得る。関与するユニット、及びそれらがどのように関与するかは、パーサ(520)によって符号化映像シーケンスから構文解析されたサブグループ制御情報によって制御され得る。パーサ(520)と以下の複数の処理ユニット又は機能ユニットとの間でのこのようなサブグループ制御情報の流れは、単純さのために図示していない。
【0043】
既述の機能ブロックを超えて、ビデオデコーダ(510)は概念的に、後述のような多数の機能ユニットに細分化されることができる。商業上の制約の下で稼働する実用的な実装において、これらの機能ユニットのうちの多くが互いに密接にインタラクトし、少なくとも部分的に互いに統合され得る。しかしながら、開示に係る事項の様々な機能を明瞭に説明するという目的のために、以下の開示では機能ユニットへの概念的な細分化を採用する。
【0044】
第1のユニットは、スケーラ/逆変換ユニット(551)を含み得る。スケーラ/逆変換ユニット(551)は、パーサ(520)からの(1つ以上の)シンボル(521)として、どのタイプの逆変換を使用すべきか、ブロックサイズ、量子化係数/パラメータ、量子化スケーリング行列、及びこれらに類するものを示す情報を含む制御情報とともに、量子化された変換係数を受け取り得る。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)に入力されることが可能な、サンプル値を有するブロックを出力することができる。
【0045】
一部のケースにおいて、スケーラ/逆変換(551)の出力サンプルは、イントラコーディングされたブロック、すなわち、先行して再構成されたピクチャからの予測情報を使用しないが、現在ピクチャのうち先行して再構成された部分からの予測情報を使用することができるブロック、に関係し得る。このような予測情報は、イントラピクチャ予測ユニット(552)によって提供されることができる。一部のケースにおいて、イントラピクチャ予測ユニット(552)は、既に再構成されて現在ピクチャバッファ(558)に格納された周囲ブロックの情報を用いて、再構成中のブロックと同じサイズ及び形状のブロックを生成し得る。現在ピクチャバッファ(558)は、例えば、部分的に再構成された現在ピクチャ及び/又は完全に再構成された現在ピクチャをバッファリングする。アグリゲータ(555)は、一部の実装において、サンプル毎に、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供される出力サンプル情報に付加し得る。
【0046】
他のケースにおいて、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコーディングされた、動き補償された可能性のあるブロックに関係し得る。このような場合、動き補償予測ユニット(553)が、参照ピクチャメモリ(557)にアクセスして、インターピクチャ予測に使用されるサンプルをフェッチすることができる。フェッチされたサンプルを、ブロックに関係するシンボル(521)に従って動き補償した後、これらのサンプルが、アグリゲータ(555)によって、スケーラ/逆変換ユニット(551)の出力(ユニット(551)の出力は残差サンプル又は残差信号と称され得る)に付加されて、出力サンプル情報を生成することができる。そこから動き補償予測ユニット(553)が予測サンプルをフェッチする参照ピクチャメモリ(557)内のアドレスは、動きベクトルによって制御されることができ、例えばX、Y成分(シフト)、及び参照ピクチャ成分(時間)を有し得るシンボル(521)の形態で動き補償予測ユニット(553)に利用可能である。動き補償はまた、サブサンプルの正確な動きベクトルが使用されるときの、参照ピクチャメモリ(557)からフェッチされたサンプル値の補間を含んでもよく、また、動きベクトル予測メカニズムなどに関連付けられ得る。
【0047】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)にて様々なループフィルタリング技術に掛けられ得る。映像圧縮技術は、インループ(in-loop)フィルタ技術を含むことができ、これは、符号化映像シーケンス(符号化映像ビットストリームとも称する)に含められてパーサ(520)からのシンボル(521)としてループフィルタユニット(556)に利用可能にされるパラメータによって制御されるが、符号化ピクチャ又は符号化映像シーケンスのうちの(復号順で)先行部分の復号中に得られたメタ情報にも応答することができるとともに、先行して再構成されてループフィルタリングされたサンプル値にも応答することができる。更に詳細に後述するように、幾つかのタイプのループフィルタが、様々な順序でループフィルタユニット(556)の一部として含められ得る。
【0048】
ループフィルタユニット(556)の出力は、レンダリング装置(512)に出力されることが可能なサンプルストリームとすることができ、これはまた、将来のインターピクチャ予測での使用のために参照ピクチャメモリ(557)に格納されることができる。
【0049】
ある特定の符号化ピクチャは、完全に再構成されると、将来のインターピクチャ予測のための参照ピクチャとして使用されることができる。例えば、現在ピクチャに対応する符号化ピクチャが完全に再構成され、その符号化ピクチャが参照ピクチャとして(例えば、パーサ(520)によって)特定されると、現在ピクチャバッファ(558)が参照ピクチャメモリ(557)の一部となり得るとともに、次の符号化ピクチャの再構成を開始する前に新しい現在ピクチャバッファが再割り当てされ得る。
【0050】
ビデオデコーダ(510)は、例えばITU-T勧告H.265などの標準に採用された所定の映像圧縮技術に従って復号処理を実行し得る。符号化映像シーケンスは、映像圧縮技術又は標準の構文と映像圧縮技術又は標準において文書化されたプロファイルとの双方を忠実に守るという意味で、使用される映像圧縮技術又は標準によって規定される構文に従い得る。具体的には、プロファイルは、映像圧縮技術又は標準において利用可能な全てのツールから、特定のツールを、そのプロファイルの下での使用に利用可能なツールはそれらだけであるように選択することができる。また、標準準拠となるよう、符号化映像シーケンスの複雑さが、映像圧縮技術又は標準のレベルによって規定される範囲内にされ得る。場合により、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、毎秒メガサンプルで測定される)、最大参照ピクチャサイズなどを制約する。レベルによって設定される制限は、場合により、仮説的リファレンスデコーダ(Hypothetical Reference Decoder;HRD)仕様、及び符号化映像シーケンスにてシグナリングされるHRDバッファ管理用のメタデータを通して更に制約され得る。
【0051】
一部の実施形態例において、受信器(531)は、符号化された映像と共に追加(冗長)データを受信し得る。追加データは、(1つ以上の)符号化映像シーケンスの一部として含められ得る。追加データは、データを適切に復号するため、及び/又は元の映像データをいっそう正確に再構成するために、ビデオデコーダ(510)によって使用され得る。追加データは、例えば、時間的、空間的、又は信号対雑音比(SNR)エンハンスメントレイヤ、冗長スライス、冗長ピクチャ、順方向誤り訂正符号などの形態とし得る。
【0052】
図6は、本開示の一実施形態例に従った、ビデオエンコーダ(603)のブロック図を示している。ビデオエンコーダ(603)は、エレクトロニクス装置(620)に含まれ得る。エレクトロニクス装置(620)は更に送信器(640)(例えば、送信回路)を含み得る。ビデオエンコーダ(603)は、
図4の例におけるビデオエンコーダ(403)の代わりに使用されることができる。
【0053】
ビデオエンコーダ(603)は、エンコーダ(603)によって符号化されることになる(1つ以上の)映像画像をキャプチャし得る映像ソース(601)(
図6の例ではエレクトロニクス装置(620)の一部ではない)から映像サンプルを受信し得る。他の一例において、映像ソース(601)は、エレクトロニクス装置(620)の一部として実装されてもよい。
【0054】
映像ソース(601)は、ビデオエンコーダ(603)によって符号化されるソース映像シーケンスを、任意の好適なビット深さ(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 YCrCB、RGB、XYZ…)、及び任意の好適なサンプリング構造(例えば、YCrCb 4:2:0、YCrCb 4:4:4)のものとし得るデジタル映像サンプルストリームの形態で提供し得る。メディアサービス提供システムにおいて、映像ソース(601)は、事前に準備された映像を格納することが可能なストレージ装置とし得る。テレビ会議システムでは、映像ソース(601)は、ローカルな画像情報を映像シーケンスとしてキャプチャするカメラとし得る。映像データは、順に見たときに動きを伝える複数の個々のピクチャ又は画像として提供され得る。それらピクチャ自体は、ピクセルの空間アレイとして編成されることができ、各ピクセルが、使用されるサンプリング構造、色空間、及びこれらに類するものに応じて、1つ以上のサンプルを有することができる。当業者は、ピクセルとサンプルとの関係を直ちに理解することができる。以下の説明は、サンプルに焦点を当てている。
【0055】
一部の実施形態例によれば、ビデオエンコーダ(603)は、ソース映像シーケンスのピクチャを、リアルタイムで、又はアプリケーションによって要求される他の時間制約下で、符号化映像シーケンス(643)へと符号化及び圧縮し得る。適切な符号化速度を強制することが、コントローラ(650)の1つの機能を構成する。一部の実施形態において、コントローラ(650)は、後述するような他の機能ユニットに機能的に結合されて、それら機能ユニットを制御し得る。その結合は、単純さのために図示されていない。コントローラ(650)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、…)、ピクチャサイズ、グループ・オブ・ピクチャ(GOP)レイアウト、最大動きベクトル探索範囲、及びこれらに類するものを含み得る。コントローラ(650)は、特定のシステム設計に合わせて最適化されるビデオエンコーダ(603)に関連する他の好適な機能を有するように構成されることができる。
【0056】
一部の実施形態例において、ビデオエンコーダ(603)は、コーディングループにて動作するように構成され得る。過度に単純化した説明として、一例において、コーディングループは、ソースコーダ(630)(例えば、符号化される入力ピクチャ及び(1つ以上の)参照ピクチャに基づいて例えばシンボルストリームなどのシンボルを作成することを担う)と、ビデオエンコーダ(603)に埋め込まれた(ローカル)デコーダ(633)とを含むことができる。埋め込まれたデコーダ(633)は、エントロピーコーディングなしで、ソースコーダ(630)による符号化映像ストリームを処理するのではあるが、(エントロピーコーディングにおけるシンボルと符号化映像ビットストリームとの間での圧縮が、開示に係る事項において検討される映像圧縮技術において可逆であるとき)、デコーダ(633)は、(リモート)デコーダが作成するのと同様にして、シンボルを再構成してサンプルデータを生成する。再構成されたサンプルストリーム(サンプルデータ)が、参照ピクチャメモリ(634)に入力される。シンボルストリームの復号は、デコーダ位置(ローカル又はリモート)に依存しないビット正確な結果をもたらすので、参照ピクチャメモリ(634)内のコンテンツもローカルエンコーダとリモートエンコーダとの間でビット正確である。換言すれば、エンコーダの予測部分は、デコーダが復号中に予測を使用するときに“見る”のとまったく同じサンプル値を参照ピクチャサンプルとして“見る”。この参照ピクチャ同期性の基本原理(及び、例えばチャネルエラーのために、同期性を維持することができない場合に結果として生じるドリフト)は、コーディング品質を向上させるために使用されている。
【0057】
“ローカル”デコーダ(633)の動作は、例えばビデオデコーダ(510)などの“リモート”デコーダのものと同じであるとすることができ、それは、
図5に関連して既に詳細に上述されている。しかしながら、
図5も手短に参照するに、シンボルが利用可能であり、且つエントロピーコーダ(645)及びパーサ(520)によるシンボルの符号化映像シーケンスへの符号化/復号は可逆であるとし得るので、バッファメモリ(515)及びパーサ(520)を含むビデオデコーダ(510)のエントロピー復号部分は、エンコーダ内のローカルデコーダ(633)に完全に実装されなくてよい。
【0058】
この時点で気付くことができることには、デコーダ内にのみ存在する構文解析/エントロピー復号を除くデコーダ技術が、必ず、対応するエンコーダ内にも実質的に同じ機能的形態で存在する必要があるとし得る。この理由から、開示に係る事項は、折にふれてデコーダ動作に焦点を当てることがあり、それがエンコーダの復号部分に適用される。エンコーダ技術の説明は、故に、徹底して説明されるデコーダ技術の逆であるので、省略することができる。ある特定の分野又は態様においてのみ、エンコーダのいっそう詳細な説明を以下に提供する。
【0059】
動作時、一部の実装例において、ソースコーダ(630)は、入力ピクチャを、映像シーケンスからの、“参照ピクチャ”として指定された1つ以上の先に符号化されたピクチャに対して予測的に符号化するものである動き補償予測コーディングを実行し得る。斯くして、コーディングエンジン(632)は、入力ピクチャのピクセルブロックと、入力ピクチャに対する(1つ以上の)予測基準として選択され得る(1つ以上の)参照ピクチャのピクセルブロックとの間で、カラーチャネルにおける差分(又は残差)をコーディングする。
【0060】
ローカルビデオデコーダ(633)は、参照ピクチャとして指定され得るピクチャの符号化映像データを、ソースコーダ(630)によって作成されたシンボルに基づいて復号し得る。コーディングエンジン(632)の動作は、有利には、非可逆プロセスとし得る。符号化映像データが映像デコーダ(
図6には示されていない)で復号され得るとき、再構成された映像シーケンスは典型的に、幾分の誤差を伴うソース映像シーケンスのレプリカであり得る。ローカルビデオデコーダ(633)は、参照ピクチャ上でビデオデコーダによって実行され得る復号プロセスを複製し、再構成された参照ピクチャを参照ピクチャキャッシュ(634)に格納させるようにし得る。斯くして、ビデオエンコーダ(603)は、ファーエンド(リモート)のビデオデコーダによって得られることになる再構成参照ピクチャと共通のコンテンツを持つ再構成参照ピクチャのコピーをローカルに格納し得る。
【0061】
予測器(635)は、コーディングエンジン(632)のために予測探索を実行し得る。すなわち、符号化すべき新たなピクチャに関して、予測器(636)は、新たなピクチャ用の適切な予測基準としての役割を果たし得るサンプルデータ(候補参照ピクセルブロックとして)又は例えば参照ピクチャ動きベクトルやブロック形状などの特定のメタデータについて、参照ピクチャメモリ(634)を検索し得る。予測器(635)は、適切な予測参照を見出すために、ピクセルブロック毎に動作し得る。場合により、予測器(635)によって得られた検索結果により決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に格納された複数の参照ピクチャから引き出された予測基準を有し得る。
【0062】
コントローラ(650)は、例えば、映像データを符号化するのに使用されるパラメータ及びサブグループパラメータの設定を含め、ソースコーダ(630)のコーディング処理を管理し得る。
【0063】
前述の全ての機能ユニットの出力が、エントロピーコーダ(645)におけるエントロピーコーディングに掛けられ得る。エントロピーコーダ(645)は、例えばハフマン符号化、可変長符号化、算術符号化などの技術に従ったシンボルの可逆圧縮によって、様々な機能ユニットによって生成されたシンボルを符号化映像シーケンスへと変換する。
【0064】
送信器(640)が、エントロピーコーダ(645)によって生成された(1つ以上の)符号化映像シーケンスをバッファリングし、通信チャネル(660)を介した伝送のために準備し得る。通信チャネル(660)は、符号化された映像データを格納するストレージ装置へのハードウェア/ソフトウェアリンクとし得る。送信器(640)は、ビデオコーダ(603)からの符号化映像データを、例えば符号化オーディオデータ及び/又は補助データストリーム(ソースは図示していない)といった、送信される他のデータとマージし得る。
【0065】
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理し得る。コーディングにおいて、コントローラ(650)は、各符号化ピクチャに、それぞれのピクチャに適用され得るコーディング技術に影響を及ぼし得るものである特定の符号化ピクチャタイプを割り当て得る。例えば、ピクチャはしばしば、以下のピクチャタイプのうちの1つを割り当てられ得る。
【0066】
イントラピクチャ(Iピクチャ)は、シーケンス内の如何なる他のピクチャも予測のソースとして使用することなく符号化及び復号され得るものとし得る。一部の映像コーデックは、例えば独立デコーダリフレッシュ(Independent Decoder Refresh;IDR)ピクチャを含め、複数の異なるタイプのイントラピクチャを許している。当業者は、Iピクチャのそれら異形、並びにそれらそれぞれの用途及び特徴を知っている。
【0067】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、多くて1つの動きベクトルと参照インデックスとを使用して、イントラ予測又はインター予測を用いて符号化及び復号され得るものとし得る。
【0068】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、多くて2つの動きベクトルと参照インデックスとを使用して、イントラ予測又はインター予測を用いて符号化及び復号され得るものとし得る。同様に、多重予測ピクチャは、単一のブロックの再構成のために3つ以上の参照ピクチャと関連メタデータとを使用することができる。
【0069】
ソースピクチャは、一般に、空間的に複数のサンプルコーディングブロック(例えば、各々4×4、8×8、4×8、又は16×16サンプルのブロック)に細分化され、ブロック毎に符号化され得る。ブロックは、それらブロックのそれぞれのピクチャに適用されるコーディング割り当てによって決定される他の(既に符号化された)ブロックを参照して予測的にコーディングされ得る。例えば、Iピクチャのブロックは非予測的にコーディングされることができ、あるいは、それらは同じピクチャの既に符号化されたブロックを参照して予測的にコーディングされることができる(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、非予測的に、あるいは、1つの先に符号化された参照ピクチャを参照して空間予測又は時間予測を介して、コーディングされることができる。Bピクチャのブロックは、非予測的に、あるいは、1つ又は2つの先に符号化された参照ピクチャを参照して空間予測又は時間予測を介して、コーディングされることができる。ソースピクチャ又は中間処理されたピクチャは、他の目的のために他のタイプのブロックに細分化されてもよい。コーディングブロック及び他のタイプのブロックの分割は、更に詳細に後述するように、同じ方法に従ってもよいし従わなくてもよい。
【0070】
ビデオエンコーダ(603)は、例えばITU-T勧告H.265などの所定の映像コーディング技術又は標準に従ってコーディング処理を実行し得る。その動作において、ビデオエンコーダ(603)は、入力映像シーケンスにおける時間的及び空間的な冗長性を活用する予測的なコーディング処理を含め、様々な圧縮処理を実行し得る。符号化された映像データは、それ故に、使用されている映像コーディング技術又は標準によって規定される構文に従い得る。
【0071】
一部の実施形態例において、送信器(640)は、符号化された映像と共に追加データを送信し得る。ソースコーダ(630)が、そのようなデータを、符号化映像シーケンスの一部として含め得る。追加データは、時間的/空間的/SNRエンハンスメントレイヤ、例えば冗長ピクチャ及びスライスなどの他の形態の冗長データ、SEIメッセージ、VUIパラメータセットフラグメントなどを有し得る。
【0072】
映像は、時間シーケンスにて複数のソースピクチャ(映像ピクチャ)としてキャプチャされ得る。イントラピクチャ予測(しばしば、イントラ予測と略される)は、所与のピクチャ内の空間的な相関を利用し、インターピクチャ予測は、ピクチャ間の時間的又は他の相関を利用する。例えば、現在ピクチャと称される符号化/復号中の特定のピクチャが、複数のブロックへと分割され得る。現在ピクチャ内のブロックは、映像内の先にコーディングされ且つ依然としてバッファリングされている参照ピクチャ内の参照ブロックに類似しているとき、動きベクトルと称されるベクトルによってコーディングされ得る。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用されている場合には、参照ピクチャを特定する第3の次元を持つことができる。
【0073】
一部の実施形態例において、インターピクチャ予測のために双予測技術を使用することができる。そのような双予測技術によれば、例えば、映像内でどちらも現在ピクチャに対して復号順で先行する(しかし、表示順では、それぞれ過去又は将来であってもよい)第1の参照ピクチャ及び第2の参照ピクチャなどの、2つの参照ピクチャが使用される。現在ピクチャ内のブロックを、第1の参照ピクチャ内の第1の参照ブロックを指す第1の動きベクトルと、第2の参照ピクチャ内の第2の参照ブロックを指す第2の動きベクトルとによってコーディングすることができる。そのブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって連帯的に予測されることができる。
【0074】
さらに、インターピクチャ予測においてコーディング効率を改善するために、マージモード技術を使用してもよい。
【0075】
本開示の一部の実施形態例によれば、例えばインターピクチャ予測及びイントラピクチャ予測などの予測が、ブロックの単位で実行される。例えば、映像ピクチャのシーケンス内のピクチャが、圧縮のために複数のコーディングツリーユニット(CTU)に分割され、ピクチャ内のそれらCTUは、例えば64×64ピクセル、32×32ピクセル、又は16×16ピクセルなどの同一サイズを有し得る。一般に、CTUは、1つのルマ(luma)CTBと2つのクロマ(chroma)CTBである3つの並列のコーディングツリーブロック(CTB)を含み得る。各CTUが、1つ又は複数のコーディングユニット(CU)へと再帰的に四分木分割され得る。例えば、64×64ピクセルのCTUは、64×64ピクセルの1つのCU、又は32×32ピクセルの4つのCUに分割されることができる。32×32ブロックのうち1つ以上の各々が更に、16×16ピクセルの4個のCUに分割されてもよい。一部の実施形態例において、各CUが、符号化中に、例えばインター予測タイプ又はイントラ予測タイプなど、様々な予測タイプの中からそのCUの予測タイプを決定するために分析され得る。CUは、時間的及び/又は空間的な予測可能性に依存して1つ以上の予測ユニット(PU)に分割され得る。一般に、各PUは、ルマ予測ブロック(PB)と2つのクロマPBとを含む。一実施形態において、コーディング(符号化/復号)に際しての予測動作は、予測ブロックの単位で実行される。CUのPU(又は異なるカラーチャネルのPB)への分割は様々な空間パターンで行われ得る。例えば、ルマ又はクロマPBは、例えば8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8サンプル、及びこれらに類するものなどの、サンプルの値(例えば、ルマ値)の行列を含み得る。
【0076】
図7は、本開示の他の一実施形態例に従ったビデオエンコーダ(703)の図を示している。ビデオエンコーダ(703)は、映像ピクチャのシーケンス内の現在映像ピクチャの中の処理ブロック(例えば、予測ブロック)のサンプル値を受信し、該処理ブロックを符号化映像シーケンスの一部である符号化ピクチャへと符号化するように構成される。このビデオエンコーダ(703)の例は、
図4の例におけるビデオエンコーダ(403)の代わりに使用され得る。
【0077】
例えば、ビデオエンコーダ(703)は、例えば予測ブロックの8×8サンプルなどの、処理ブロックに関するサンプル値の行列を受信する。次いで、ビデオエンコーダ(703)は、例えばレート-歪み最適化(RDO)を用いて、処理ブロックが最良にコーディングされるのが、イントラモードを用いてなのか、インターモードを用いてなのか、それとも双予測モードを用いてなのかを決定する。処理ブロックがイントラモードでコーディングされると決定された場合、ビデオエンコーダ(703)は、イントラ予測技術を使用して処理ブロックを符号化ピクチャへと符号化することができ、処理ブロックがインターモード又は双予測モードでコーディングされると決定された場合、ビデオエンコーダ(703)は、それぞれ、インター予測技術又は双予測技術を使用して処理ブロックを符号化ピクチャへと符号化することができる。一部の実施形態例において、マージモードが、予測子の外側の符号化動きベクトル成分の利益なしで1つ以上の動きベクトル予測子から動きベクトルが導出されるインターピクチャ予測のサブモードとして使用され得る。他の一部の実施形態例において、対象ブロックに適用可能な動きベクトル成分が存在し得る。従って、ビデオエンコーダ(703)は、例えば処理ブロックの予測モードを決定するためのモード決定モジュールなどの、
図7には明示的に示されていないコンポーネントを含み得る。
【0078】
図7の例において、ビデオエンコーダ(703)は、
図7の構成例に示すように共に結合された、インターエンコーダ(730)、イントラエンコーダ(722)、残差計算器(723)、スイッチ(726)、残差エンコーダ(724)、全般コントローラ(721)、及びエントロピーエンコーダ(725)を含んでいる。
【0079】
インターエンコーダ(730)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、ブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば、表示順で先行するピクチャ内及び後のピクチャ内のブロック)と比較し、インター予測情報(例えば、インター符号化技術に従った冗長情報の記述、動きベクトル、マージモード情報)を生成し、そして、何らかの好適技術を使用して、インター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するように構成される。一部の例において、参照ピクチャは、(更に詳細に後述する
図7の残差デコーダ72として示す)
図6のエンコーダ(620)の例に埋め込まれた復号ユニット(633)を用いて、符号化された映像情報に基づいて復号された参照ピクチャである。
【0080】
イントラエンコーダ(722)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、ブロックを、同じピクチャ内の既に符号化されたブロックと比較し、変換後の量子化係数を生成し、一部のケースでは、イントラ予測情報(例えば、1つ以上のイントラ符号化技術に従ったイントラ予測方向情報)も生成するように構成される。イントラエンコーダ(722)は、イントラ予測情報及び同じピクチャ内の参照ブロックに基づいて、イントラ予測結果(例えば、予測ブロック)を計算し得る。
【0081】
全般コントローラ(721)は、全般制御データを決定し、全般制御データに基づいてビデオエンコーダ(703)の他のコンポーネントを制御するように構成され得る。一例において、全般コントローラ(721)は、ブロックの予測モードを決定し、その予測モードに基づいてスイッチ(726)に制御信号を提供する。例えば、予測モードがイントラモードであるとき、全般コントローラ(721)は、残差計算器(723)による使用のためにイントラモード結果を選択するようにスイッチ(726)を制御するとともに、イントラ予測情報を選択してイントラ予測情報をビットストリームに含めるようにエントロピーエンコーダ(725)を制御し、ブロックの予測モードがインターモードであるときには、全般コントローラ(721)は、残差計算器(723)による使用のためにインター予測結果を選択するようにスイッチ(726)を制御するとともに、インター予測情報を選択してインター予測情報をビットストリームに含めるようにエントロピーエンコーダ(725)を制御する。
【0082】
残差計算器(723)は、受信されたブロックと、イントラエンコーダ(722)又はインターエンコーダ(730)から選択されたブロックの予測結果との間の差(残差データ)を計算するように構成され得る。残差エンコーダ(724)は、残差データを符号化して変換係数を生成するように構成され得る。例えば、残差エンコーダ(724)は、残差データを空間ドメインから周波数ドメインに変換して変換係数を生成するように構成され得る。次いで、変換係数が量子化処理にかけられて、量子化された変換係数が得られる。様々な実施形態例において、ビデオエンコーダ(703)はまた、残差デコーダ(728)を含む。残差デコーダ(728)は、逆変換を実行し、復号された残差データを生成するように構成される。復号された残差データは、イントラエンコーダ(722)及びインターエンコーダ(730)によって好適に使用されることができる。例えば、インターエンコーダ(730)は、復号された残差データ及びインター予測情報に基づいて、復号されたブロックを生成することができ、イントラエンコーダ(722)は、復号された残差データ及びイントラ予測情報に基づいて、復号されたブロックを生成することができる。復号されたブロックが好適に処理されて、復号されたピクチャが生成され、そして、復号されたピクチャは、メモリ回路(図示せず)にバッファリングされ得るとともに、参照ピクチャとして使用され得る。
【0083】
エントロピーエンコーダ(725)は、符号化されたブロックを含むようにビットストリームをフォーマットし、エントロピーコーディングを実行するように構成され得る。エントロピーエンコーダ(725)は、種々の情報をビットストリームに含めるように構成される。例えば、エントロピーエンコーダ(725)は、全般制御データ、選択された予測情報(例えば、イントラ予測情報又はインター予測情報)、残差情報、及び他の好適情報を、ビットストリームに含めるように構成され得る。インターモード又は双予測モードのいずれかのマージサブモードにてブロックをコーディングするとき、残差情報は存在しないことがある。
【0084】
図8は、本開示の他の一実施形態に従ったビデオデコーダ(810)の例の図を示している。ビデオデコーダ(810)は、符号化映像シーケンスの一部である符号化されたピクチャを受信し、該符号化されたピクチャを復号して再構成ピクチャを生成するように構成される。一例において、ビデオデコーダ(810)は、
図4の例におけるビデオデコーダ(410)の代わりに使用され得る。
【0085】
図8の例において、ビデオデコーダ(810)は、
図8の構成例に示すように共に結合された、エントロピーデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、再構成モジュール(874)、及びイントラデコーダ(872)を含んでいる。
【0086】
エントロピーデコーダ(871)は、符号化されたピクチャから、符号化されたピクチャを構成するシンタックス要素を表す特定のシンボルを再構成するように構成され得る。そのようなシンボルは、例えば、ブロックがコーディングされるモード(例えば、イントラモード、インターモード、双予測モード、マージサブモード又は他のサブモード)、イントラデコーダ(872)又はインターデコーダ(880)による予測のために使用される特定のサンプル又はメタデータを特定することができる予測情報(例えば、イントラ予測情報又はインター予測情報)、例えば量子化された変換係数の形態をした残差情報、及びこれらに類するものを含むことができる。一例において、予測モードがインターモード又は双予測モードであるときには、インター予測情報がインターデコーダ(880)に提供され、予測タイプがイントラ予測タイプであるときには、イントラ予測情報がイントラデコーダ(872)に提供される。残差情報は、逆量子化にかけられることができ、残差デコーダ(873)に提供される。
【0087】
インターデコーダ(880)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成され得る。
【0088】
イントラデコーダ(872)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成され得る。
【0089】
残差デコーダ(873)は、逆量子化を実行して、量子化解除された変換係数を抽出し、そして、量子化解除された変換係数を処理して、残差を周波数ドメインから空間ドメインに変換するように構成され得る。残差デコーダ(873)はまた、エントロピーデコーダ(871)によって提供され得る特定の制御情報(量子化器パラメータ(QP)を含む)を利用し得る(これは、低データボリュームの制御情報のみとし得るのでデータ経路は不図示)。
【0090】
再構成モジュール(874)は、残差デコーダ(873)によって出力される残差と、(場合に応じてインター又はイントラ予測モジュールによって出力される)予測結果とを空間ドメインで組み合わせて、再構成映像の一部としての再構成ピクチャの一部を形成する再構成ブロックを形成するように構成され得る。なお、視覚的な品質を向上させるために、例えばデブロッキング処理及びそれに類するものなど、他の好適な処理も実行され得る。
【0091】
なお、ビデオエンコーダ(403)、(603)、及び(703)、並びにビデオデコーダ(410)、(510)、及び(810)は、如何なる好適技術を用いて実装されてもよい。一部の実施形態例において、ビデオエンコーダ(403)、(603)、及び(703)、並びにビデオデコーダ(410)、(510)、及び(810)は、1つ以上の集積回路を用いて実装され得る。他の一実施形態において、ビデオエンコーダ(403)、(603)及び(703)、並びにビデオデコーダ(410)、(510)、及び(810)は、ソフトウェア命令を実行する1つ以上のプロセッサを用いて実装され得る。
【0092】
イントラ予測プロセスに戻るに、ブロック内のサンプル(例えば、ルマ若しくはクロマ予測ブロック、又は更に予測ブロックへと分割されない場合のコーディングブロック)を、隣接するサンプル、次に隣接するサンプル、若しくは他の1つ以上のラインのサンプル、又はこれらの組み合わせのサンプルによって予測することで、予測ブロックが生成される。次いで、コーディングされる実際のブロックと予測ブロックとの間の残差を、変換及びそれに続く量子化によって処理し得る。様々なイントラ予測モードを利用可能にすることができ、イントラモード選択に関するパラメータ及び他のパラメータをビットストリーム内でシグナリングし得る。それら様々なイントラ予測モードは、例えば、サンプルを予測するための1つ以上のライン位置、それに沿って1つ以上の予測ラインから予測サンプルが選択される方向、及び他の特殊なイントラ予測モードに関係し得る。
【0093】
例えば、イントラ予測モード(入れ換え可能に“イントラモード”とも称する)のセットは、所定数の方向イントラ予測モードを含み得る。
図1の実装例に関連して上述したように、これらのイントラ予測モードは、予定数の方向に対応し、それらの方向に沿って、特定のブロック内の予測されるサンプルの予測としてブロック外サンプルが選択され得る。他の特定の一実装例において、水平軸に対して45度から207度までの角度に対応する8個の主方向モードがサポートされて、事前に規定され得る。
【0094】
イントラ予測の一部の他の実装において、方向性のあるテクスチャのいっそう多様な空間冗長性を更に活用するために、方向イントラモードは更に、より細かい粒度の角度セットに拡張され得る。例えば、上の8角度の実装は、
図9に示すように、V_PRED、H_PRED、D45_PRED、D135_PRED、D113_PRED、D157_PRED、D203_PRED、及びD67_PREDと呼ばれる8個の公称(nominal)角度を提供するように構成されることができ、各公称角度に対して、所定数(例えば、7個)のより細かい角度が追加され得る。このような拡張により、より多い合計数(例えば、この例では56個)の方向角度が、同数の予め規定された方向イントラモードに対応して、イントラ予測に利用可能にされ得る。予測角度は、公称イントラ角度に角度デルタを加えたもので表され得る。上の特定の例では、各公称角度に対して7個のより細かい角度方向があり、角度デルタは、3度のステップサイズに-3から3を乗じたものとし得る。
【0095】
上の方向イントラ予測は、単一方向イントラ予測と呼ばれることもあり、後の本開示の部分で説明する双方向イントラ予測(イントラ双予測とも呼ばれる)とは異なるものである。
【0096】
一部の実装において、上の方向イントラモードに代えて、あるいは加えて、所定数の非方向イントラ予測モードも予め規定されて利用可能にされ得る。例えば、平滑イントラ予測モードと呼ばれる5つの非方向イントラモードが規定され得る。これらの非方向イントラ予測モードは具体的に、DC、PAETH、SMOOTH、SMOOTH_V、及びSMOOTH_Hイントラモードと呼ばれることがある。これらの非方向モード例の下での特定のブロックのサンプルの予測を
図10に示す。一例として、
図10は、4×4ブロック1002が、上の隣接ライン及び/又は左の隣接ラインからのサンプルによって予測されることを示している。ブロック1002内の特定のサンプル1010は、ブロック1002の上の隣接ライン内のサンプル1010の真上のサンプル1004、上及び左の隣接ラインの交点としてのサンプル1010の左上のサンプル1006、及びブロック1002の左の隣接ライン内のサンプル1010の真っ直ぐ左のサンプル1008に対応し得る。DCイントラ予測モードの例では、左及び上の隣接サンプル1008と1004の平均が、サンプル1010の予測子として使用され得る。PAETHイントラ予測モードの例では、上、左、及び左上の参照サンプル1004、1008、及び1006がフェッチされ、そして、これら3つの参照サンプルのうち(上+左-左上)に最も近い値が、サンプル1010の予測子として設定され得る。SMOOTH_Vイントラ予測モードの例では、左上の隣接サンプル1006と左の隣接サンプル1008の垂直方向での二次補間によってサンプル1010が予測され得る。SMOOTH_Hイントラ予測モードの例では、左上の隣接サンプル1006と上の隣接サンプル1004の水平方向での二次補間によってサンプル1010が予測され得る。SMOOTHイントラ予測モードの例では、垂直方向の二次補間と水平方向の二次補間との平均によってサンプル1010が予測され得る。上の非方向イントラモード実装は単に非限定的な例として示されているにすぎない。他の隣接ライン、及び他の非方向的なサンプルの選択、及び予測ブロック内の特定のサンプルを予測するために予測サンプルを組み合わせるやり方も企図される。
【0097】
様々なコーディングレベル(ピクチャ、スライス、ブロック、ユニットなど)での、上の方向モード又は非方向モードからのエンコーダによる特定のイントラ予測モードの選択が、ビットストリーム内でシグナリングされ得る。一部の実装例において、先ず、例示的な8個の公称方向モードが5個の非角度平滑モードとともに(合計13個のオプション)シグナリングされ得る。そして、シグナリングされたモードが8個の公称角度イントラモードのうちの1つである場合、対応するシグナリングされた公称角度に対する選択された角度デルタを示すために、更にインデックスがシグナリングされる。一部の他の実装例において、全てのイントラ予測モードが、シグナリングのために全て一緒に(例えば、56個の方向モードに5個の非方向モードを加えて61個のイントラ予測モードを生成する)インデックス付けられ得る。
【0098】
一部の実装例において、この例の56個又は他の数の方向イントラ予測モードは、ブロックの各サンプルを参照サブサンプルの場所に投影し、2タップのバイリニアフィルタによって参照サンプルを補間する、統一された方向予測子で実装され得る。
【0099】
一部の実装において、エッジ上のリファレンスとの空間的相関が減衰するのを捕捉するために、FILTER INTRAモードと呼ばれる追加のフィルタモードが設計され得る。これらのモードでは、ブロック内の一部のパッチに対して、ブロック外サンプルに加えてブロック内の予測済みサンプルがイントラ予測参照サンプルとして使用され得る。これらのモードは、例えば、少なくともルマブロック(又はルマブロックのみ)向けのイントラ予測に対して、予め規定されて利用可能にされ得る。所定数(例えば、5個)のフィルタイントラモードを予め設計することができ、各々が、例えば、4×2のパッチ内のサンプルとそれに隣接するn個の隣接サンプルとの間の相関を反映する一組のnタップフィルタ(例えば、7タップフィルタ)によって表される。換言すれば、nタップフィルタの重み付け係数は位置依存とし得る。8×8ブロック、4×2パッチ、及び7タップフィルタリングを例に取ると、
図11に示すように、8×8ブロック1102が8個の4×2パッチに分割され得る。これらのパッチは、
図11においてB0、B1、B2、B3、B4、B5、B6、B7で示されている。各パッチについて、それに隣接する7個(
図11にR0-R7で示される)を用いて現在パッチ内のサンプルを予測し得る。パッチB0の場合、隣接するものの全てが既に再構成されているとし得る。しかし、他のパッチでは、隣接するもののうち一部が現在ブロック内にあり、故に再構成されていないことがあり、直に隣接するものの予測値がリファレンスとして使用される。例えば、
図11に示されるパッチB7の隣接するものは全てが再構成されておらず、それ故に、例えばB4、B5、及び/又はB6の一部である隣接するものが代わりに使用される。
【0100】
イントラ予測の一部の実装において、1つのカラー成分が、1つ以上の他のカラー成分を用いて予測され得る。カラー成分は、YCrCb、RGB、XYZ色空間などにおけるコンポーネントのうちのいずれかとし得る。例えば、クロマ・フロム・ルマ(すなわち、CfL)と称するルマ成分(例えば、ルマ参照サンプル)からのクロマ成分(例えば、クロマブロック)の予測が実装され得る。一部の実装例において、クロスカラー予測はルマからクロマでのみ許され得る。例えば、クロマブロック内のクロマサンプルが、一致する再構成ルマサンプルの線形関数としてモデル化され得る。CfL予測は、
CfL(α)=α×LAC+DC (1)
として実装され得る。
【0101】
ここで、LACはルマ成分のAC寄与を表し、αは線形モデルのパラメータを表し、DCはクロマ成分のDC寄与を表す。例えば、AC成分はブロックの各サンプルについて取得されるのに対し、DC成分はブロック全体に対して取得される。具体的には、再構成されたルマサンプルがクロマ解像度にサブサンプリングされ、次いで、平均ルマ値(ルマのDC)が各ルマ値から減算されてルマのAC寄与を形成し得る。そして、ルマのAC寄与が式(1)の線形モードで使用されてクロマ成分のAC値を予測する。ルマAC寄与からクロマAC成分を近似又は予測するのに、デコーダがスケーリングパラメータを計算することを必要とする代わりに、一例のCfL実装が、元のクロマサンプルに基づいてパラメータαを決定し、それらをビットストリーム内でシグナリングし得る。これは、デコーダの複雑さを下げるとともに、より正確な予測を生み出す。クロマ成分のDC寄与に関して、それは、一部の実装例においてクロマ成分内でイントラDCモードを用いて計算され得る。
【0102】
一部の実施形態において、イントラコーディングされる特定のコーディングブロック、コーディングユニット、予測ブロック、又は予測ユニットについて、そのイントラモードをビットストリーム内の1つ以上のシンタックス要素によってシグナリングする必要がある。上述のように、可能なイントラ予測モードの数は膨大であることができ、56個の方向イントラ予測モードと、5個の非方向モードと、1つのクロマ・フロム・ルマモード(例えば、クロマ成分に対してのみ)という、62個のイントラ予測モードが利用可能であり得る。これらのイントラ予測モードをシグナリングするために、どの公称角度モード又は非方向モードが現在ブロックの公称モードに等しいかを示すために第1のシンタックスがシグナリングされ得る。そして、現在ブロックのモードが方向モードである場合に、どのデルタ角度が現在ブロックのそれに等しいかを示すために第2のシンタックスがシグナリングされ得る。映像の符号化又は復号中の一部の状況では、現在ブロックとその隣接ブロックのイントラ予測モードの間に強い相関が存在し得る。
【0103】
様々な実施形態において、この相関が、イントラモードコーディング向けのいっそう効率的なシンタックスを設計ために活用され得る。一部の実装において、現在ブロックに対して利用可能なイントラ予測モードが、その隣接ブロックのイントラ予測モードに従って複数のイントラ予測モードセットに分割され得る。現在ブロックのイントラ予測モードを得るために、先ず、現在ブロックのイントラ予測モードのモードセットインデックスを示すモードセットインデックスをシグナリングすることができ、次に、モードセット内のイントラ予測モードのインデックスを示すモードインデックスがシグナリングすることができる。
【0104】
ここで、本開示の様々な実施形態において、“XYZがシグナリングされる”とは、符号化プロセスにおいてXYZが符号化ビットストリームに符号化されることを指すことができ、及び/又は、符号化ビットストリームが1つの装置から別の装置に伝送された後、“XYZがシグナリングされる”とは、復号プロセスにおいてXYZが符号化ビットストリームから復号/抽出されることを指すことができる。
【0105】
例えば、上述の実装のうちの一部において、利用可能なイントラ予測モードの数は62個の相異なるモードを含むことができ、例えば、56個の方向イントラ予測モード(例えば、公称方向毎に7個の細かい角度を備えた8個の公称方向)と、5個の非方向モードと、1つのクロマ・フロム・ルマモード(例えば、クロマ成分に対してのみ)とを含む。特定のコーディングブロック、コーディングユニット、予測ブロック、又は予測のコーディングプロセスにおいてイントラモードが選択されると、選択されたイントラモードに対応するシグナリングをビットストリームに含める必要がある。(1つ以上の)シンタックスをシグナリングすることで、これら62個のモード全てを何らかのやり方で区別できなければならない。例えば、これら62個のモードは、各々が1つのモードに対応する62個のインデックスについての単一のシンタックスを用いてシグナリングされ得る。一部の他の実装例では、1つのシンタックスが、どの公称角度モード又は非方向モードが現在ブロックにおける公称モードとして使用されるかを示すためにシグナリングされ、そして、現在ブロックの公称モードが方向モードである場合に、どのデルタ角度が現在ブロックに対して選択されるかを示すために別のシンタックスが追加でシグナリングされ得る。
【0106】
イントラコーディングに関連する様々なシンタックスは典型的にビットストリームのうち大きい部分を占め、また、イントラモード選択は、例えば様々なコーディングレベルでなど、頻繁にシグナリングされなければならないため、イントラモードシグナリングに使用されるビット数の削減が、映像コーディング効率を高める上で重要となる。実際には、様々なイントラ予測モードの使用は、ある一定の統計パターンに従うことがあり、そのような使用パターンを用いてイントラモードのインデックス付け及びシグナリングシンタックスを設計することで、シグナリング効率を高めることができるようにし得る。また、概して、イントラモード選択にはブロック間で何らかの相関が存在し得る。このような相関は、統計ベースで、オフラインで得ることができ、イントラモードの選択をシグナリングするための(1つ以上の)シンタックスの設計で考慮に入れることができる。目標は、符号化ビットストリーム内でシンタックス要素をシグナリングするためのビット数を概して削減することである。例えば、一部の全般的な統計が、現在ブロックとその隣接ブロックの最適なイントラ予測モードの間に強い相関が存在し得るあることを示すことがある。このような相関を、イントラモードコーディング向けのシンタックスを設計するときに活用し得る。
【0107】
様々な実施形態において、コーディングされる現在ブロックに対して利用可能なイントラ予測モード又はモードオプションが、複数のイントラ予測モードセットに分割され得る。各セットにモードセットインデックスが割り当てられ得る。各セットが、ある数のイントラモード予測モードを含み得る。利用可能なイントラ予測モードを分割及び順序付けること、及びモードセットの各々内でイントラ予測モードを順序付けることのやり方は、ブロック間でのイントラ予測モード間の相関に基づいて、その隣接ブロックによって使用されるイントラ予測モードに少なくとも部分的に従って決定され得る。隣接ブロックによって使用されるイントラ予測モードは、“参照イントラ予測モード”又は“参照モード”と称され得る。特定のユニットに対してイントラ予測モードが決定及び選択され得る。イントラ予測モードの選択がシグナリングされ得る。先ず、選択されたイントラ予測モードを含むイントラ予測モードセットのモードセットインデックスを示すために、モードセットインデックスがシグナリングされ得る。次に、そのモードセット内の選択されたイントラ予測モードのインデックスを示すために、モードインデックス(あるいは、セット内でのモード位置インデックスと称される)がシグナリングされ得る。
【0108】
上のイントラ予測モードの分割及び順序付けの全般的な実装並びに下の具体例は、統計的効果及び隣接相関を利用してこれらのモードを動的にインデックス付けることで、符号化映像ビットストリーム内でそれらの選択をシグナリングするためのシンタックスの設計が最適化されて、コーディング効率を向上させることができるようにする。例えば、これらの実装は、シグナリングのためのシンタックスの数を減らす助けとなるとともに、エントロピーコーディングのためのいっそう効率的なコンテキスト生成の助けとなり得る。
【0109】
本開示で説明される様々な実施形態及び/又は実装は、別々に用いられてもよいし、任意の順序で組み合わされてもよい。また、これらの実施形態及び/又は実装の一部、全て、又は部分的若しくは全体的な組み合わせを、エンコーダ及び/又はデコーダの一部として具現化することができ、また、ハードウェア及び/又はソフトウェアにて実装することができる。例えば、それらは、専用の処理回路(例えば、1つ以上の集積回路)にハードコーディングされ得る。他の一例において、それらは、非一時的なコンピュータ読み取り可能媒体に格納されたプログラムを1つ以上のプロセッサが実行することによって実施され得る。
【0110】
イントラモードコーディングに関連する幾つかの課題/問題があるとし得る。例えば、現在ブロック内のサンプルとその隣接ブロックとの間に強い相関が存在するため、イントラ予測モードを複数の異なるモードセットに分割するとき、異なるモードセットからイントラ予測モードを選択する確率は、隣接ブロックのイントラ予測モードと相関を持ち得る。この強い相関及び関連する確率分布は効率的に活用されておらず、一部のイントラモードコーディング設計の非効率及び低性能につながっている。
【0111】
本開示は、映像の符号化及び/又は復号におけるイントラ予測モードコーディングのための様々な実施形態を記述し、上述の課題/問題のうち少なくとも1つに対処し、効率的なイントラモードコーディングを達成し、イントラモードコーディングの性能を向上させる。
【0112】
様々な実施形態において、現在ブロック内のサンプルとその隣接ブロックとの間の相関及び関連する確率分布を活用するために、ビットストリームにおける、現在ブロックに対するイントラ予測モードを示すためのセットインデックス及び/又はモードインデックスのエントロピーコーディングのために、1つ以上のコンテキストが設計/導出され得る。該1つ以上のコンテキストを、符号化プロセスにおいてセットインデックス及び/又はモードインデックスを符号化ビットストリームに符号化するために用いることができ、及び/又は、該1つ以上のコンテキストを、復号プロセスにおいてセットインデックス及び/又はモードインデックスを符号化ビットストリームから復号するために用いることができる。
【0113】
現在コーディングブロックのセットインデックス及び/又はモードインデックスをコーディングするためのコンテキストは、コンテキストのセットから選択され得る。コンテキストの選択はインデックスによって示され得る。コンテキストのセットからの選択は、様々なファクタに依存し得る。例えば、現在ブロックのセットインデックス及び/又はモードインデックスの符号化コンテキストの選択は、現在ブロックの情報と、現在ブロックの隣接ブロックのうちの少なくとも1つ隣接ブロックのモード情報とに依存し得る。例えば、上記少なくとも1つの隣接ブロックは、現在ブロックの上(トップ)及び/又は左の隣接ブロックを含み得る。他の一例では、上記少なくとも1つの隣接ブロックは、現在ブロックの左上の隣接ブロックも含み得る。
【0114】
様々な実施形態において、
図12の映像復号におけるイントラ予測モード向けの方法1200を参照するに、方法1200は、以下のステップのうち一部又は全てを含み得る:ステップ1210、命令を格納するメモリと該メモリと通信するプロセッサとを有する装置により、ブロックに関する符号化映像ビットストリームを受信する;ステップ1220、前記装置により、前記ブロックの情報及び前記ブロックの少なくとも1つの隣接ブロックのモード情報のうちの少なくとも一方に基づいて、前記ブロックのセットインデックス及びモードインデックスに関する少なくとも1つのコンテキストを導出し、セットインデックスは、複数のイントラモードセットからのイントラモードセットを示し、モードインデックスは、イントラモードセットからのイントラ予測モードを示す;ステップ1230、前記装置により、符号化映像ビットストリームから、前記少なくとも1つのコンテキストに従ってセットインデックス及びモードインデックスを抽出する;及び/又はステップ1240、前記装置により、セットインデックス及びモードインデックスに基づいて前記ブロックのイントラ予測モードを決定する。様々な実施形態において、イントラモードセットは、N個のイントラモードを有する一組のイントラモードを指すことができ、Nは正の整数とすることができ、イントラモードセットは、一群のイントラモードセットの中の、一組のイントラモードを指し示すセットインデックスを有することができ、及び/又は、イントラモードセットは、イントラモードセット内のN個のイントラモードの中の特定のイントラモードを指し示すモードインデックスを有することができる。一部の実装において、ステップ1220は、前記装置により、前記ブロックの情報、又は前記ブロックの少なくとも1つの隣接ブロックのモード情報、のうちの少なくとも一方に基づいて、前記ブロックのセットインデックス及びモードインデックスに関する少なくとも1つのコンテキストを導出することを含むことができ、セットインデックスは、複数のイントラモードセットからのイントラモードセットを示し、モードインデックスは、イントラモードセットからのイントラ予測モードを示す。
【0115】
様々な実施形態において、
図13の映像符号化におけるイントラ予測モード向けの方法1300を参照するに、方法1300は、以下のステップのうち一部又は全てを含み得る:ステップ1310、命令を格納するメモリと該メモリと通信するプロセッサとを有する装置により、符号化映像ビットストリームに符号化すべきブロックを受信する;ステップ1320、前記装置により、前記ブロックの情報及び前記ブロックの少なくとも1つの隣接ブロックのモード情報のうちの少なくとも一方に基づいて、前記ブロックのセットインデックス及びモードインデックスに関する少なくとも1つのコンテキストを導出し、セットインデックスは、複数のイントラモードセットからのイントラモードセットを示し、モードインデックスは、イントラモードセットからのイントラ予測モードを示す;及び/又はステップ1330、前記装置により、前記少なくとも1つのコンテキストに従ってセットインデックス及びモードインデックスを符号化映像ビットストリームに符号化する。一部の実装において、ステップ1320は、前記装置により、前記ブロックの情報、又は前記ブロックの少なくとも1つの隣接ブロックのモード情報、のうちの少なくとも一方に基づいて、前記ブロックのセットインデックス及びモードインデックスに関する少なくとも1つのコンテキストを導出することを含むことができ、セットインデックスは、複数のイントラモードセットからのイントラモードセットを示し、モードインデックスは、イントラモードセットからのイントラ予測モードを示す。
【0116】
本開示の様々な実施形態において、ブロック(例えば、以下に限定されないが、コーディングブロック、予測ブロック、又は変換ブロック)のサイズは、ブロックの幅又は高さを指し得る。ブロックの幅又は高さは、ピクセル単位の整数とし得る。本開示の様々な実施形態において、ブロックのサイズはブロックの面積サイズを指してもよい。ブロックの面積サイズは、ピクセル単位のブロックの幅にピクセル単位のブロックの高さを乗じて計算される整数とし得る。本開示の一部の様々な実施形態において、ブロックのサイズは、ブロックの幅若しくは高さの最大値、ブロックの幅若しくは高さの最小値、又はブロックのアスペクト比を指してもよい。ブロックのアスペクト比は、ブロックの幅を高さで割って計算されるか、ブロックの高さを幅で割って計算されるかし得る。
【0117】
一部の実装において、イントラモードのモードタイプは、方向モード、非方向モード、平滑モード(例えば、smooth、smooth_v、smooth_h)、DCモード、PAETHモード、及び/又は所与の予測方向に従って予測サンプルを生成するモード、のうちの少なくとも1つを含み得る。一部の他の実装では、緩い分類において、方向モードは広く、平滑モード(smooth、smooth_v、smooth_h)、DCモード、又はPAETHモードではない任意のモードと、所与の予測方向に従って予測サンプルを生成する任意のモードとを含んでもよい。一部の他の実装では、非方向モードが、平滑モード(例えば、smooth、smooth_v、smooth_h)、DCモード、PAETHモード、及びルマ・フォー・クロマモードを含んでもよい。一部の他の実装では、緩い分類において、非方向モードが広く、方向モードではない任意のモードを含んでもよい。
【0118】
一部の実装において、現在ブロックに対して利用可能なイントラ予測モードが、複数のイントラ予測モードセットに分割/スプリットされ得る。現在ブロックのイントラ予測モードを得るために、先ず、現在ブロックのイントラ予測モードのモードセットインデックスを示すモードセットインデックスがシグナリングされ、次に、モードセット内のイントラ予測モードのインデックスを示すモードインデックスがシグナルされ得る。
【0119】
ここで、本開示の様々な実施形態において、“第1”モードセットは、“1つの”モードセットを指すだけでなく、最小のモードセットインデックスを持つ“第1”モードセットを指し、“第2”モードセットは、“別の”モードセットを指すだけでなく、2番目に小さいモードセットインデックスを持つ“第2”モードセットを指し、等々である。例えば、イントラ予測モードセットの数をMで示すことができ、モードセットインデックスは、例えば、1からM、又は0からM-1の範囲とし得る。モードセットインデックスが1からMの範囲である場合、“第1”モードセットは、1なるモードセットインデックスを持つ“第1”モードセットであり、“第2”モードセットは、2なるモードセットインデックスを持つ“第2”モードセットであり、等々である。モードセットインデックスが0からM-1の範囲である場合には、“第1”モードセットは、0なるモードセットインデックスを持つ“第1”モードセットであり、“第2”モードセットは、1なるモードセットインデックスを持つ“第2”モードセットであり、等々である。
【0120】
ここで、本開示の様々な実施形態において、“XYZがシグナリングされる”とは、符号化プロセスにおいてXYZが符号化ビットストリームに符号化されることを指すことができ、及び/又は、符号化ビットストリームが1つの装置から別の装置に伝送された後、“XYZがシグナリングされる”とは、復号プロセスにおいてXYZが符号化ビットストリームから復号/抽出されることを指すことができる。
【0121】
ここで、本開示の様々な実施形態において、“ブロック”は、予測ブロック、コーディングブロック、変換ブロック、又はコーディングユニット(CU)を指し得る。
【0122】
ステップ1210を参照するに、前記装置は、
図5のエレクトロニクス装置(530)又は
図8のビデオデコーダ(810)とし得る。一部の実装において、前記装置は
図6のエンコーダ(620)内のデコーダ(633)であってもよい。他の実装において、前記装置は、
図5のエレクトロニクス装置(530)の一部、
図8のビデオデコーダ(810)の一部、又は
図6のエンコーダ(620)内のデコーダ(633)の一部であってもよい。符号化映像ビットストリームは、
図8の符号化映像シーケンス、又は
図6若しくは
図7における中間符号化データとし得る。前記ブロックはコーディングブロック又は符号化ブロックを指し得る。
【0123】
ステップ1220を参照するに、前記装置は、前記ブロックの情報及び前記ブロックの少なくとも1つの隣接ブロックのモード情報のうちの少なくとも一方に基づいて、前記ブロックのセットインデックス及びモードインデックスに関する少なくとも1つのコンテキストを導出することができ、セットインデックスは、複数のイントラモードセットからのイントラモードセットを示し、モードインデックスは、イントラモードセットからのイントラ予測モードを示す。一部の実装において、前記ブロックの前記情報は前記ブロックのサイズを有し、且つ/或いは、前記少なくとも1つの隣接ブロックの前記モード情報は、前記少なくとも1つの隣接ブロックの複数の方向モードの数、及び/又は前記少なくとも1つの隣接ブロックのモードセットインデックス、のうちの少なくとも一方を有する。一例で、前記少なくとも1つの隣接ブロックは、現在ブロックの上(トップ)及び/又は左の隣接ブロックを含み得る。他の一例で、前記少なくとも1つの隣接ブロックは、現在ブロックの左上の隣接ブロックも含み得る。
【0124】
一部の実装において、イントラモードセットインデックス及びイントラモードセット内のモードインデックスをシグナリングするためのコンテキストは、累積密度関数(cumulative density function;CDF)として参照され、現在のブロック及び/又はその隣接ブロックのモード情報に依存し、該モード情報は、以下に限られないが、現在ブロックのブロックサイズ、隣接ブロックのうちの少なくとも1つの隣接ブロックの方向モードの数、及び/又は隣接ブロックのうちの少なくとも1つの隣接ブロックのモードセットインデックスを含む。
【0125】
一部の他の実装において、前記装置は更に前記ブロックのイントラモードのリストを構築し、及び/又は該リストのイントラモードを前記ブロックに関する複数のイントラモードセットに分割し得る。例えば、一組の予め規定されたルールに基づいて、現在ブロックについてのイントラモードリストが構築される。イントラモードリストを構築した後、イントラ予測モードが、イントラモードリストにおけるそれらの対応するインデックスに従って、複数のイントラ予測モードセットに分割される。現在ブロックのイントラ予測モードをシグナリングするために、先ず、現在ブロックのイントラ予測モードのモードセットインデックスを示すモードセットインデックスがシグナリングされ、次に、モードセット内のイントラ予測モードのインデックスを示すモードインデックスがシグナリングされ得る。予め規定されたルールは、異なるブロックサイズでは異なり得る。
【0126】
様々な実施形態において、ステップ1220は、方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの数に基づいて、セットインデックス及びモードインデックスに関するコンテキストを導出することを含み得る。例えば、イントラモードセットインデックス及び/又はイントラモードセット内のモードインデックスをシグナリングするためのコンテキストは、方向イントラ予測モードを用いてコーディングされる隣接ブロックの数に依存する。
【0127】
一部の実施形態において、方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの数に基づいて、セットインデックス及びモードインデックスに関するコンテキストを導出することは、方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの数がゼロであることに応答して、セットインデックス及びモードインデックスに関するコンテキストとして第1のコンテキストを導出すること、方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの数が1であることに応答して、セットインデックス及びモードインデックスに関するコンテキストとして第2のコンテキストを導出すること、及び/又は方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの数が1より多いことに応答して、セットインデックス及びモードインデックスに関するコンテキストとして第3のコンテキストを導出すること、を含み得る。
【0128】
一部の実装において、現在ブロックについてのコンテキストの選択は、合計3つ、4つ、又は5つの異なるコンテキストから為され得る。具体的な実装例において、上又は左の隣接ブロックがいずれも方向イントラ予測モードでコーディングされない場合、第1のコンテキスト(例えば、0なるコンテキストインデックス値を持つ)が、現在ブロックのセットインデックス及びモードインデックスに関するコンテキストとして選択される。上及び左の隣接ブロックのうち1つのみが方向イントラ予測モードでコーディングされる場合、第2のコンテキスト(例えば、1なるコンテキストインデックス値を持つ)が、現在ブロックのセットインデックス及びモードインデックスに関するコンテキストとして選択される。これら以外の場合、第3のコンテキスト(例えば、2なるコンテキストインデックス値を持つ)が、現在ブロックのセットインデックス及びモードインデックスに関するコンテキストとして選択される。このような実装は、方向イントラ予測モードでコーディングされる隣接ブロックの数と、現在ブロックのセットインデックス及びモードインデックスによって示されるイントラ予測モードとの間の強い相関の統計的観測に基づく。
【0129】
一部の実施形態において、方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの数に基づいて、セットインデックス及びモードインデックスに関するコンテキストを導出することは、方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの数がゼロであることに応答して、セットインデックス及びモードインデックスに関するコンテキストとして第1のコンテキストを導出すること、方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの数が1であることに応答して、セットインデックス及びモードインデックスに関するコンテキストとして第2のコンテキストを導出すること、方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの数が2であり、且つ前記少なくとも1つの隣接ブロックが同一の方向イントラ予測モードでコーディングされることに応答して、セットインデックス及びモードインデックスに関するコンテキストとして第3のコンテキストを導出すること、及び/又は、方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの数が2であり、且つ前記少なくとも1つの隣接ブロックが相異なる方向イントラ予測モードでコーディングされることに応答して、又は、方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの数が2より多いことに応答して、セットインデックス及びモードインデックスに関するコンテキストとして第4のコンテキストを導出すること、を含み得る。
【0130】
一部の実装において、方向イントラ予測モードでコーディングされる隣接ブロックが存在しない場合、第1のコンテキスト(例えば、0なるコンテキストインデックス値を持つ)が、現在ブロックのセットインデックス及びモードインデックスに関するコンテキストとして選択される。方向イントラ予測モードでコーディングされる隣接ブロックが1つだけ存在する場合、第2のコンテキスト(例えば、1なるコンテキストインデックス値を持つ)が、現在ブロックのセットインデックス及びモードインデックスに関するコンテキストとして選択される。方向イントラ予測モードでコーディングされる隣接ブロックが2つ存在し、且つこれら2つの方向イントラ予測モードが同一である場合、第3のコンテキスト(例えば、2なるコンテキストインデックス値を持つ)が、現在ブロックのセットインデックス及びモードインデックスに関するコンテキストとして選択される。これら以外の場合、第4のコンテキスト(例えば、3なるコンテキストインデックス値を持つ)が、現在ブロックのセットインデックス及びモードインデックスに関するコンテキストとして選択される。
【0131】
一部の実施形態において、方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの数に基づいて、セットインデックス及びモードインデックスに関するコンテキストを導出することは、方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの数がゼロであることに応答して、セットインデックス及びモードインデックスに関するコンテキストとして第1のコンテキストを導出すること、方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの数が1であることに応答して、セットインデックス及びモードインデックスに関するコンテキストとして第2のコンテキストを導出すること、方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの数が2であることに応答して、セットインデックス及びモードインデックスに関するコンテキストとして第3のコンテキストを導出すること、及び/又は、方向イントラ予測モードでコーディングされる前記少なくとも1つの隣接ブロックの数が2より多いことに応答して、セットインデックス及びモードインデックスに関するコンテキストとして第4のコンテキストを導出すること、を含み得る。
【0132】
一部の実装において、方向イントラ予測モードでコーディングされる隣接ブロックが存在しない場合、第1のコンテキスト(例えば、0なるコンテキストインデックス値を持つ)が、現在ブロックのセットインデックス及びモードインデックスに関するコンテキストとして選択される。方向イントラ予測モードでコーディングされる隣接ブロックが1つだけ存在する場合、第2のコンテキスト(例えば、1なるコンテキストインデックス値を持つ)が、現在ブロックのセットインデックス及びモードインデックスに関するコンテキストとして選択される。方向イントラ予測モードでコーディングされる隣接ブロックが2つ存在する場合、第3のコンテキスト(例えば、2なるコンテキストインデックス値を持つ)が、現在ブロックのセットインデックス及びモードインデックスに関するコンテキストとして選択される。方向イントラ予測モードでコーディングされる隣接ブロックが2つより多く存在する場合、第4のコンテキスト(例えば、3なるコンテキストインデックス値を持つ)が、現在ブロックのセットインデックス及びモードインデックスに関するコンテキストとして選択される。
【0133】
一部の実装において、方向イントラ予測モードは、インターコーデッドモード又はイントラブロックコピーモードのうちの少なくとも一方を含む。一部の他の実装において、方向イントラ予測モードは、方向イントラモード成分を有するイントラインターモードを含む。一例で、隣接ブロックがインターコーデッドモード又はイントラブロックコピーモードでコーディングされる場合、それは非方向モードと見なされる。他の一例で、隣接ブロックがイントラインターモードである場合、イントラインターモードで用いられるイントラ予測モードを使用して、コンテキストを導出する又はコンテキストのセットからのコンテキストの選択を決定する。
【0134】
様々な実施形態において、ステップ1220は、前記ブロックのサイズに基づいて、セットインデックス及びモードインデックスに関するコンテキストを導出することを含み得る。例えば、イントラモードセットインデックス及び/又はイントラモードセット内のモードインデックスをシグナリングするためのコンテキストは、現在ブロックのブロックサイズに依存する。ブロックサイズは、現在ブロックのブロック幅、現在ブロックのブロック高さ、ブロック面積サイズ(又は現在ブロックの幅×高さ)、現在ブロックの幅と高さの和、現在ブロックの幅と高さの間での最大値、又は現在ブロックの幅と高さの間での最小値を指し得る。
【0135】
一部の実施形態において、前記ブロックのサイズに基づいてセットインデックス及びモードインデックスに関するコンテキストを導出することは、前記ブロックのサイズが第1閾値以下であることに応答して、セットインデックス及びモードインデックスに関するコンテキストとして第1のコンテキストを導出すること、及び/又は、前記ブロックのサイズが第1閾値より大きいことに応答して、セットインデックス及びモードインデックスに関するコンテキストとして第2のコンテキストを導出すること、を有する。例えば、第1閾値は8×8である。
【0136】
一部の実装において、現在ブロックのブロックサイズが8×8以下である場合、第1のコンテキスト(例えば、0なるコンテキストインデックス値を持つ)が、現在ブロックのセットインデックス及びモードインデックスに関するコンテキストとして選択される。それ以外の場合、第2のコンテキスト(例えば、1なるコンテキストインデックス値を持つ)が、現在ブロックのセットインデックス及びモードインデックスに関するコンテキストとして選択される。
【0137】
一部の実施形態において、前記ブロックのサイズに基づいてセットインデックス及びモードインデックスに関するコンテキストを導出することは、前記ブロックのサイズが第1閾値より小さいことに応答して、セットインデックス及びモードインデックスに関するコンテキストとして第1のコンテキストを導出すること、前記ブロックのサイズが第1閾値以上であり且つ前記ブロックのサイズが第2閾値より小さいことに応答して、セットインデックス及びモードインデックスに関するコンテキストとして第2のコンテキストを導出すること、前記ブロックのサイズが第2閾値以上であり且つ前記ブロックのサイズが第3閾値より小さいことに応答して、セットインデックス及びモードインデックスに関するコンテキストとして第3のコンテキストを導出すること、及び/又は、前記ブロックのサイズが第3閾値以上であることに応答して、セットインデックス及びモードインデックスに関するコンテキストとして第4のコンテキストを導出すること、を有する。例えば、第1閾値は面積で64(又は8×8)であり、第2閾値は面積で256(又は16×16)であり、且つ/或いは、第3閾値は面積で1024(又は32×32)である。
【0138】
一部の実装において、現在ブロックのブロック面積サイズが第1閾値(T1)より小さい場合、第1のコンテキスト(例えば、0なるコンテキストインデックス値を持つ)が、現在ブロックのセットインデックス及びモードインデックスに関するコンテキストとして選択される。現在ブロックのブロック面積サイズがT1以上であるが第2閾値(T2)より小さい場合、第2のコンテキスト(例えば、1なるコンテキストインデックス値を持つ)が、現在ブロックのセットインデックス及びモードインデックスに関するコンテキストとして選択される。現在ブロックのブロック面積サイズがT2以上であるが第3閾値(T3)より小さい場合、第3のコンテキスト(例えば、2なるコンテキストインデックス値を持つ)が、現在ブロックのセットインデックス及びモードインデックスに関するコンテキストとして選択される。これら以外の場合、第4のコンテキスト(例えば、3なるコンテキストインデックス値を持つ)が、現在ブロックのセットインデックス及びモードインデックスに関するコンテキストとして選択される。例えば、T1は64に設定され、T2は256に設定され、且つ/或いはT3は1024に設定される。他の一例では、T1は16に設定されてもよく、T2は64に設定されてもよく、T3は256に設定されてもよい。
【0139】
様々な実施形態において、方法1200は更にオプションで、前記装置により、前記ブロックの前記少なくとも1つの隣接ブロックのモード情報、又は前記ブロックのサイズ、のうちの少なくとも一方に基づいて、前記ブロックに対する一組の許容可能なイントラ予測モードを決定することを含み得る。
【0140】
一部の実装において、1つのブロックに対して許容されるイントラ予測モードの数は、その隣接ブロックのイントラ予測モード及び/又は現在ブロックのブロックサイズに依存し得る。一例で、その隣接ブロックのイントラ予測モード及び/又は現在ブロックのブロックサイズに応じて、利用可能な全てのモードセットから1つのモードセットが選択され、選択されたモードセット内のイントラ予測モードのみを、現在ブロックをコーディングするのに使用することができる。
【0141】
様々な実施形態において、前記ブロックに対する一組の許容可能なイントラ予測モードを決定することは、前記少なくとも1つの隣接ブロックに関する非方向予測モードの数が2以上であることに応答して、前記非方向予測モードと公称方向モードとを有した、前記ブロックに対する一組の許容可能なイントラ予測モードを決定すること、前記少なくとも1つの隣接ブロックに関する非方向予測モードの数が2以上であることに応答して、及び前記ブロックのサイズが第1閾値以上であることに応答して、前記非方向予測モードと公称方向モードとを有した、前記ブロックに対する一組の許容可能なイントラ予測モードを決定すること、及び/又は、前記少なくとも1つの隣接ブロックに関する方向予測モードの数が1以上であることに応答して、全てのイントラ予測モードを有した、前記ブロックに対する一組の許容可能なイントラ予測モードを決定すること、を有する。例えば、第1閾値は、8×8、16×16、又は32×32である。
【0142】
一部の実装において、その隣接ブロックのイントラ予測モードのうち少なくとも2つが非方向モードである場合、それら非方向モードと公称方向モードのみが現在ブロックに対して許される。
【0143】
一部の他の実装において、その隣接ブロックのイントラ予測モードのうち少なくとも2つが非方向モードであり、且つ/或いは現在ブロックのブロックサイズが閾値(TH1)以上である場合、それら非方向モードと公称方向モードのみが現在ブロックに対して許される。一例で、TH1は32×32に設定される。他の一例で、TH1は8×8、16×16、又は64×64に設定されてもよい。
【0144】
一部の他の実装において、その隣接ブロックのイントラ予測モードのうち少なくとも1つ(又は2つ)が方向イントラ予測モードである場合、現在ブロックに対して利用可能な全てのイントラ予測モードが許される。
【0145】
様々な実施形態において、方法1200は更にオプションで、前記装置により、前記ブロックの少なくとも1つの隣接ブロックのモード情報、又は前記ブロックのサイズ、のうちの少なくとも一方に基づいて、前記ブロックに対する二組以上の許容可能なイントラ予測モードを決定することを含み得る。一部の実装において、その隣接ブロックのイントラ予測モード及び/又は現在ブロックのブロックサイズに応じて、利用可能な全てのモードセットから2つ以上のモードセットが選択され、選択された2つ以上のモードセット内のイントラ予測モードのみが、現在ブロックをコーディングするのに使用され得る。
【0146】
一部の実装において、現在ブロックの隣接ブロックは、現在ブロックのトップ(上側又は上)ブロック、現在ブロックの左ブロック、現在のブロックのトップ左(左上側又は左上)ブロック、のうちの1つ以上を含み得る。
【0147】
ステップ1240を参照するに、前記装置は、セットインデックス及びモードインデックスに基づいて前記ブロックのイントラ予測モードを決定し得る。一部の実装において、前記装置は、前記ブロックのサイズに基づいて、予め規定されたルールに従って前記ブロックのイントラモードのリストを構築することができ、及び/又は前記装置は、該リストのイントラモードを前記ブロックに関する複数のイントラモードセットに分割することができる。予め規定されたルールは、一組の予め規定されたルールのうちの1つとすることができ、ブロックのサイズに基づいて該一組の予め規定されたルールから選択され得る。一部の他の実装において、予め規定されたルールに基づいて、現在ブロックについてイントラモードリストが構築される。イントラモードリストを構築した後、イントラ予測モードが、イントラモードリストにおけるそれらの対応するインデックスに従って、複数のイントラ予測モードセットに分割される。現在ブロックのイントラ予測モードをシグナリングするために、先ず、現在ブロックのイントラ予測モードのモードセットインデックスを示すモードセットインデックスがシグナリングされ、次に、モードセット内のイントラ予測モードのインデックスを示すモードインデックスがシグナリングされ得る。予め規定されたルールは、ブロック内のサンプルの数によって示される得るブロックサイズが異なれば異なり得る。
【0148】
本開示の実施形態は、任意の順序で別々に又は組み合わせて使用され得る。また、これらの方法(又は実施形態)の各々、エンコーダ、及びデコーダは、処理回路(例えば、1つ以上のプロセッサ、又は1つ以上の集積回路)によって実装され得る。一例において、それら1つ以上のプロセッサは、非一時的なコンピュータ読み取り可能媒体に格納されたプログラムを実行する。本開示の実施形態は、ルマブロック又はクロマブロックに適用されることができ、クロマブロックにおいて、これら実施形態は、2つ以上のカラー成分に別々に適用されることができ、あるいは、2つ以上のカラー成分に一緒に適用されることができる。
【0149】
本開示において、様々な実施形態におけるステップ又は動作は、所望されるように任意の数量又は任意の順序で組み合わされ得る。本開示において、様々な実施形態における2つ以上のステップ又は動作が並行して実行され得る。
【0150】
上述の技術は、1つ以上のコンピュータ読み取り可能媒体に物理的に格納された、コンピュータ読み取り可能命令を用いたコンピュータソフトウェアとして、実装されることができる。例えば、
図14は、開示に係る事項の特定の実施形態を実装するのに好適なコンピュータシステム(2600)を示している。
【0151】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、又は同様の機構に掛けられることで、直接的に又はインタープリット、マイクロコード実行及びこれらに類するものを介して1つ以上のコンピュータ中央演算処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、及びこれらに類するものによって実行されることが可能な命令を有するコードを作り出し得るような、任意の好適な機械コード又はコンピュータ言語を用いてコーディングされ得る。
【0152】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置、及びこれらに類するものを含め、様々なタイプのコンピュータ又はそのコンポーネント上で実行され得る。
【0153】
コンピュータシステム(2600)に関して
図14に示したコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能性の範囲についての何らかの限定を示唆する意図はない。また、コンポーネントの構成も、コンピュータシステム(2600)のこの例示的な実施形態に示されたコンポーネントの任意の1つ又は組み合わせに関する何らかの従属性又は要件も持つものとして解釈されるべきでない。
【0154】
コンピュータシステム(2600)は、特定のヒューマンインタフェース入力装置を含んでもよい。そのようなヒューマンインタフェース入力装置は、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブを動かすことなど)、オーディオ入力(例えば、音声、拍手など)、視覚入力(例えば、ジェスチャなど)、嗅覚入力(図示せず)を介した、一人以上の人間ユーザによる入力に応答し得る。ヒューマンインタフェース装置はまた、例えばオーディオ(例えば、会話、音楽、周囲の音など)、画像(例えば、走査画像、静止画カメラから得られる写真画像など)、映像(例えば、二次元映像、立体視映像を含む三次元映像など)などの、人間による意識的な入力には必ずしも直接関係しない特定の媒体を捕捉するために使用されてもよい。
【0155】
入力ヒューマンインタフェース装置は、キーボード(2601)、マウス(2602)、トラックパッド(2603)、タッチスクリーン(2610)、データグローブ(図示せず)、ジョイスティック(2605)、マイクロフォン(2606)、スキャナ(2607)、カメラ(2608)(各々1つのみ図示している)のうちの1つ以上を含み得る。
【0156】
コンピュータシステム(2600)はまた、特定のヒューマンインタフェース出力装置を含み得る。そのようなヒューマンインタフェース出力装置は、例えば、触覚出力、音、光、及び臭い/味を通して、一人以上の人間ユーザの感覚を刺激し得る。そのようなヒューマンインタフェース出力装置は、触覚出力装置(例えば、タッチスクリーン(2610)、データグローブ(図示せず)、又はジョイスティック(2605)による触覚フィードバックであるが、入力装置として機能しない触覚フィードバック装置もあってもよい)、オーディオ出力装置(例えば、スピーカー(2609)、ヘッドフォン(図示せず)など)、視覚出力装置(例えば、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(2610)(各々がタッチスクリーン入力機能を有する又は有さない。各々が触覚フィードバック機能を有する又は有さない。これらの一部は、二次元の視覚出力、又は例えば立体視出力などの手段を通じて四次元以上の出力を出力することができるとし得る。)、仮想現実グラス(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず)など)、及びプリンタ(図示せず)を含み得る。
【0157】
コンピュータシステム(2600)はまた、例えば、CD/DVD若しくは類似の媒体(2621)を有するCD/DVD ROM/RW(2620)を含む光媒体、サムドライブ(2622)、取り外し可能なハードドライブ若しくは又はソリッドステートドライブ(2623)、例えばテープ及びフロッピーディスク(登録商標、図示せず)などのレガシー磁気媒体、例えばセキュリティドングルなどの特殊化されたROM/ASIC/PLDベースの装置(図示せず)、及びこれらに類するものなどの、人間アクセス可能なストレージ装置及びそれらの関連媒体を含み得る。
【0158】
当業者がこれまた理解するはずのことには、ここでの開示に係る事項に関連して使用される用語“コンピュータ読み取り可能媒体”は、伝送媒体、搬送波、又は他の一時的な信号を含まない。
【0159】
コンピュータシステム(2600)はまた、1つ以上の通信ネットワーク(2655)へのインタフェース(2654)を含み得る。ネットワークは、例えば、無線、有線、光とし得る。ネットワークは更に、ローカル、広域、大都市、車両及び産業、リアルタイム、耐遅延などとし得る。ネットワークの例は、例えばイーサネット(登録商標)などのローカルエリアネットワークや、無線LANや、GSM、3G、4G、5G、LTE及びこれらに類するものを含むセルラネットワークや、ケーブルTV、衛星TV、及び地上波放送TVを含むTV有線又は無線広域デジタルネットワークや、CANbusを含む車両及び産業などを含む。特定のネットワークは一般に、特定の汎用データポート又はペリフェラルバス(2649)(例えば、コンピュータシステム(2600)のUSBポートなど)に取り付けられる外付けネットワークインタフェースアダプタを必要とし、他のものは一般に、後述のシステムバスへの取り付けによってコンピュータシステム(2600)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインタフェース、又はスマートフォンコンピュータシステムへのセルラネットワークインタフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(2600)は、他のエンティティと通信することができる。そのような通信は、単方向の受信のみ(例えば、放送TV)であってもよいし、単方向の送信のみ(例えば、特定のCANbus装置に対するCANbus)であってもよいし、あるいは、例えばローカル又は広域デジタルネットワークを用いた他のコンピュータシステムに対しての、双方向であってもよい。特定のプロトコル及びプロトコルスタックが、上述のようにネットワーク及びネットワークインタフェースの各々上で使用され得る。
【0160】
前述のヒューマンインタフェース装置、人間アクセス可能なストレージ装置、及びネットワークインタフェースは、コンピュータシステム(2600)のコア(2640)に取り付けられることができる。
【0161】
コア(2640)は、1つ以上の中央演算処理ユニット(CPU)(2641)、グラフィックス処理ユニット(GPU)(2642)、フィールドプログラマブルゲートアレイ(FPGA)(2643)の形態の特殊なプログラム可能なプロセッシングユニット、特定のタスク用のハードウェアアクセラレータ(2644)、グラフィックスアダプタ(2650)などを含み得る。これらのデバイスは、読み出し専用メモリ(ROM)(2645)、ランダムアクセスメモリ(2646)、例えば内部のユーザアクセス可能でないハードドライブ、SSDなどの内部大容量ストレージ(2647)、及びこれらに類するもの(2647)と共に、システムバス(2648)を介して接続され得る。一部のコンピュータシステムにおいて、システムバス(2648)は、追加のCPU、GPU、及びこれらに類するものによる拡張を可能にするために、1つ以上の物理プラグの形態でアクセス可能にされ得る。周辺装置は、コアのシステムバス(2648)に直接的に、又はペリフェラルバス(2649)を介して、のいずれで取り付けられてもよい。一例において、スクリーン(2610)はグラフィックスアダプタ(2650)に接続されることができる。ペリフェラルバスのアーキテクチャは、PCI、USB、及びこれらに類するものを含む。
【0162】
CPU(2641)、GPU(2642)、FPGA(2643)、及びアクセラレータ(2644)は、組み合わさって前述のコンピュータコードを構成することができる特定の命令を実行し得る。そのコンピュータコードは、ROM(2645)又はRAM(2646)に格納され得る。RAM(2646)には過渡的なデータも格納されることができ、永久的なデータは、例えば内部大容量ストレージ(2647)に格納されることができる。メモリデバイスのいずれかへの高速な記憶及び取り出しが、1つ以上のCPU(2641)、GPU(2642)、大容量ストレージ(2647)、ROM(2645)、RAM(2646)、及びこれらに類するものの近くに付随し得るキャッシュメモリの使用によって可能にされ得る。
【0163】
コンピュータ読み取り可能媒体はその上に、様々なコンピュータ実装処理を実行するためのコンピュータコードを有することができる。媒体及びコンピュータコードは、本開示の目的に合わせて特別に設計及び構築されたものであってもよいし、あるいは、それらは、コンピュータソフトウェア技術の当業者にとって周知且つ利用可能な種類のものであってもよい。
【0164】
非限定的な一例として、アーキテクチャ(2600)、特にコア(2640)、を有するコンピュータシステムは、1つ以上の有形のコンピュータ読み取り可能媒体に具現化されたソフトウェアを(1つ以上の)プロセッサ(CPU、GPU、FPGA、アクセラレータ、及びこれらに類するものを含む)が実行することの結果として機能を提供することができる。そのようなコンピュータ読み取り可能媒体は、例えばコア内部の大容量ストレージ(2647)又はROM(2645)などの、非一時的性質のものであるコア(2640)の特定のストレージ、及び上で紹介したようなユーザアクセス可能な大容量ストレージに関連する媒体とすることができる。本開示の様々な実施形態を実装するソフトウェアは、そのような装置に格納され、コア(2640)によって実行されることができる。コンピュータ読み取り可能媒体は、具体的なニーズに従って、1つ以上のメモリデバイス又はチップを含み得る。ソフトウェアは、コア(2640)及び特にその中のプロセッサ(CPU、GPU、FPGA、及びこれらに類するものを含む)に、RAM(2646)に格納されるデータ構造を規定すること、及びそのようなデータ構造を、ソフトウェアによって規定されたプロセスに従って変更することを含めて、ここに記載された特定のプロセスを又は特定のプロセスの特定の部分を実行させることができる。加えて、又は代替として、コンピュータシステムは、ここに記載された特定のプロセスを又は特定のプロセスの特定の部分を実行するようにソフトウェアの代わりに又はソフトウェアと共に動作することができる回路(例えば、アクセラレータ(2644))にて配線された又はその他の方法で具体化されたロジックの結果として、機能を提供してもよい。ソフトウェアへの言及はロジックを含み、また、適当な場合にその逆もまた然りである。コンピュータ読み取り可能媒体への言及は、実行のためのソフトウェアを格納した回路(例えば、集積回路(IC)など)、実行のためのロジックを具体化した回路、又は適当な場合にこれら双方を含み得る。本開示は、ハードウェア及びソフトウェアの好適な組み合わせを含む。
【0165】
例示的な実施形態を参照して特定の発明を説明してきたが、この説明は限定することを意味していない。本発明のこれら例示的な実施形態の様々な変更及び更なる実施形態が、この説明から当業者に明らかになる。当業者が容易に認識することには、それらの変更及び様々な他の変更は、ここで図示して説明された例示的な実施形態に対して、本発明の精神及び範囲から逸脱することなく為されることができる。従って、添付の請求項はそのような変更及び代替実施形態をカバーすることが企図される。図解においては特定の比率が誇張されていることがあり、他の比率が最小限にされていることがある。従って、本開示及び図は、限定的ではなく例示的なものとみなされるべきである。
【国際調査報告】