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

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

▶ テンセント・アメリカ・エルエルシーの特許一覧

特表2024-515888複数シンボル算術コーディングのための方法、デバイス及び記憶媒体
<>
  • 特表-複数シンボル算術コーディングのための方法、デバイス及び記憶媒体 図1A
  • 特表-複数シンボル算術コーディングのための方法、デバイス及び記憶媒体 図1B
  • 特表-複数シンボル算術コーディングのための方法、デバイス及び記憶媒体 図2
  • 特表-複数シンボル算術コーディングのための方法、デバイス及び記憶媒体 図3
  • 特表-複数シンボル算術コーディングのための方法、デバイス及び記憶媒体 図4
  • 特表-複数シンボル算術コーディングのための方法、デバイス及び記憶媒体 図5
  • 特表-複数シンボル算術コーディングのための方法、デバイス及び記憶媒体 図6
  • 特表-複数シンボル算術コーディングのための方法、デバイス及び記憶媒体 図7
  • 特表-複数シンボル算術コーディングのための方法、デバイス及び記憶媒体 図8
  • 特表-複数シンボル算術コーディングのための方法、デバイス及び記憶媒体 図9
  • 特表-複数シンボル算術コーディングのための方法、デバイス及び記憶媒体 図10
  • 特表-複数シンボル算術コーディングのための方法、デバイス及び記憶媒体 図11
  • 特表-複数シンボル算術コーディングのための方法、デバイス及び記憶媒体 図12
  • 特表-複数シンボル算術コーディングのための方法、デバイス及び記憶媒体 図13
  • 特表-複数シンボル算術コーディングのための方法、デバイス及び記憶媒体 図14
  • 特表-複数シンボル算術コーディングのための方法、デバイス及び記憶媒体 図15
  • 特表-複数シンボル算術コーディングのための方法、デバイス及び記憶媒体 図16
  • 特表-複数シンボル算術コーディングのための方法、デバイス及び記憶媒体 図17
  • 特表-複数シンボル算術コーディングのための方法、デバイス及び記憶媒体 図18
  • 特表-複数シンボル算術コーディングのための方法、デバイス及び記憶媒体 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-10
(54)【発明の名称】複数シンボル算術コーディングのための方法、デバイス及び記憶媒体
(51)【国際特許分類】
   H04N 19/13 20140101AFI20240403BHJP
   H04N 19/176 20140101ALI20240403BHJP
   H04N 19/70 20140101ALI20240403BHJP
【FI】
H04N19/13
H04N19/176
H04N19/70
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023567030
(86)(22)【出願日】2022-07-27
(85)【翻訳文提出日】2023-10-31
(86)【国際出願番号】 US2022038477
(87)【国際公開番号】W WO2023149923
(87)【国際公開日】2023-08-10
(31)【優先権主張番号】17/869,964
(32)【優先日】2022-07-21
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/306,386
(32)【優先日】2022-02-03
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】マドゥー・ペリンガーサリー・クリシュナン
(72)【発明者】
【氏名】シン・ジャオ
(72)【発明者】
【氏名】シャン・リュウ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159PP04
5C159RC11
5C159TA59
5C159TB08
5C159TC41
5C159TC42
5C159TD16
5C159UA02
5C159UA05
(57)【要約】
映像復号における複数シンボル算術コーディングのための方法、装置及びコンピュータ可読記憶媒体。本方法は、コーディングされた映像ビットストリームを受けるステップと、累積分布関数の配列と、対応するM個のシンボルとを取得するステップであって、Mは1を超える整数である、ステップと、累積分布関数の配列に基づいて、少なくとも1つのシンボルを抽出するためにコーディングされた映像ビットストリームに算術復号を行なうステップであって、抽出されたシンボル毎に、少なくとも1つの確率更新率に基づいて抽出されたシンボルに応じて累積分布関数の配列を更新することと、累積分布関数の更新された配列に基づいて、次のシンボルを抽出するためにコーディングされた映像ビットストリームに算術復号を継続することとによって算術復号を行なうステップとを含む。
【特許請求の範囲】
【請求項1】
映像復号における複数シンボル算術コーディングのための方法であって、前記方法は、
指示を記憶するメモリと、前記メモリと通信するプロセッサとを備えるデバイスが、コーディングされた映像ビットストリームを受けるステップと、
前記デバイスが、累積分布関数の配列と、対応するM個のシンボルとを取得するステップであって、Mは1を超える整数である、ステップと、
前記デバイスが累積分布関数の前記配列に基づいて、少なくとも1つのシンボルを抽出するために前記コーディングされた映像ビットストリームに算術復号を行なうステップであって、
抽出されたシンボル毎に、前記デバイスが少なくとも1つの確率更新率に基づいて前記抽出されたシンボルに応じて累積分布関数の前記配列を更新することと、
前記デバイスが累積分布関数の前記更新された配列に基づいて、次のシンボルを抽出するために前記コーディングされた映像ビットストリームに算術復号を継続することとによって算術復号を行なうステップと
を備える、方法。
【請求項2】
前記少なくとも1つの確率更新率は1つの確率更新率を備え、
前記1つの確率更新率は関数f(N,M)を備え、Nは前記コーディングされた映像ビットストリームをパースするときの、関連するシンボルの出現数である、
請求項1に記載の方法。
【請求項3】
前記関数f(N,M)は
【数1】
を備え、A、B、C及びDは既定の関数パラメータであり、g(M,D)はDを関数パラメータとして持つ、Mの関数である、
請求項2に記載の方法。
【請求項4】
g(M,D)はmin(log2(M),D)を備える、
請求項3に記載の方法。
【請求項5】
前記既定の関数パラメータはタイル又はフレームを復号するために初期化される、
請求項3に記載の方法。
【請求項6】
前記既定の関数パラメータは、ビデオパラメータセット(VPS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、適応パラメータセット(APS)、ピクチャヘッダ、フレームヘッダ、スライスヘッダ、タイルヘッダ又はコーディングツリーユニット(CTU)ヘッダの少なくとも1つを備えるハイレベルシンタックスから得られる、
請求項3に記載の方法。
【請求項7】
前記関数f(N,M)は
【数2】
を備え、A、B、C、D及びEは既定の関数パラメータであり、g(M,E)はEを関数パラメータとして持つ、Mの関数である、
請求項2に記載の方法。
【請求項8】
前記関数f(N,M)は
【数3】
を備え、A及びBは既定の関数パラメータであり、LUT(N)はNをインデックスとして持つルックアップテーブルであり、g(M,B)はBを関数パラメータとして持つ、Mの関数である、
請求項2に記載の方法。
【請求項9】
前記少なくとも1つの確率更新率はK個の確率更新率を備え、Kは1を超える整数であり、
各確率更新率は関数f(N,M)を備え、Nは前記コーディングされた映像ビットストリームをパースするときの、関連するシンボルの出現数であり、
前記少なくとも1つの確率更新率に基づいて前記抽出されたシンボルに応じて累積分布関数の前記配列を更新することは、
累積分布関数のK個の配列をこれに対応するK個の確率更新率に基づいて更新することと、
累積分布関数の前記更新されたK個の配列の加重合計として累積分布関数の前記配列を更新すること
とを備える、
請求項1に記載の方法。
【請求項10】
Kは2であり、
累積分布関数の前記更新されたK個の配列の加重合計として累積分布関数の前記配列を更新することは、
w1*p1+w2*p2として累積分布関数の前記配列を更新することを備え、w1は第1の重みであり、p1は第1の確率更新率に基づく第1の累積分布関数の更新された配列であり、w2は第2の重みであり、p2は第2の確率更新率に基づく第2の累積分布関数の更新された配列である、
請求項9に記載の方法。
【請求項11】
前記第1の重みと前記第2の重みとは等しい、又は
前記第1の重みと前記第2の重みとは異なり、既定される、
請求項10に記載の方法。
【請求項12】
前記K個の確率更新率の1つが
【数4】
を備え、A、B、C及びDは既定のモデルパラメータである、
請求項9に記載の方法。
【請求項13】
前記K個の確率更新率の1つが
【数5】
を備え、
前記K個の確率更新率の別の1つが
【数6】
を備え、
A、B、C、D及びEは既定のモデルパラメータであり、AとEとは異なる、
請求項9に記載の方法。
【請求項14】
前記既定の関数パラメータは、ビデオパラメータセット(VPS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、適応パラメータセット(APS)、ピクチャヘッダ、フレームヘッダ、スライスヘッダ、タイルヘッダ又はコーディングツリーユニット(CTU)ヘッダの少なくとも1つを備えるハイレベルシンタックスから得られる、
請求項13に記載の方法。
【請求項15】
映像復号における複数シンボル算術コーディングのための装置であって、前記装置は、
指示を記憶するメモリと、
前記メモリと通信するプロセッサであって、前記プロセッサが前記指示を実行するとき、前記プロセッサは、
コーディングされた映像ビットストリームを受けることと、
累積分布関数の配列と、対応するM個のシンボルとを取得することであって、Mは1を超える整数である、ことと、
累積分布関数の前記配列に基づいて、少なくとも1つのシンボルを抽出するために前記コーディングされた映像ビットストリームに算術復号を行なうことであって、
抽出されたシンボル毎に、少なくとも1つの確率更新率に基づいて前記抽出されたシンボルに応じて累積分布関数の前記配列を更新することと、
累積分布関数の前記更新された配列に基づいて、次のシンボルを抽出するために前記コーディングされた映像ビットストリームに算術復号を継続することと
によって算術復号を行なうことと
を前記装置に行なわせるように構成される、プロセッサと
を備える、装置。
【請求項16】
前記少なくとも1つの確率更新率は1つの確率更新率を備え、
前記1つの確率更新率は関数f(N,M)を備え、Nは前記コーディングされた映像ビットストリームをパースするときの、関連するシンボルの出現数である、
請求項15に記載の装置。
【請求項17】
前記関数f(N,M)は
【数7】
を備え、A、B、C及びDは既定の関数パラメータであり、g(M,D)はDを関数パラメータとして持つ、Mの関数である、
請求項16に記載の装置。
【請求項18】
前記関数f(N,M)は
【数8】
を備え、A、B、C、D及びEは既定の関数パラメータであり、g(M,E)はEを関数パラメータとして持つ、Mの関数である、
請求項16に記載の装置。
【請求項19】
前記少なくとも1つの確率更新率はK個の確率更新率を備え、Kは1を超える整数であり、
各確率更新率は関数f(N,M)を備え、Nは前記コーディングされた映像ビットストリームをパースするときの、関連するシンボルの出現数であり、
前記少なくとも1つの確率更新率に基づいて前記抽出されたシンボルに応じて累積分布関数の前記配列を更新することは、
累積分布関数のK個の配列をこれに対応するK個の確率更新率に基づいて更新することと、
累積分布関数の前記更新されたK個の配列の加重合計として累積分布関数の前記配列を更新することと
を備える、
請求項15に記載の装置。
【請求項20】
指示を記憶する非一時的コンピュータ可読記憶媒体であって、前記指示がプロセッサによって実行されるとき、前記指示は、
コーディングされた映像ビットストリームを受けることと、
累積分布関数の配列と、対応するM個のシンボルとを取得することであって、Mは1を超える整数である、ことと、
累積分布関数の前記配列に基づいて、少なくとも1つのシンボルを抽出するために前記コーディングされた映像ビットストリームに算術復号を行なうことであって、
抽出されたシンボル毎に、少なくとも1つの確率更新率に基づいて前記抽出されたシンボルに応じて累積分布関数の前記配列を更新することと、
累積分布関数の前記更新された配列に基づいて、次のシンボルを抽出するために前記コーディングされた映像ビットストリームに算術復号を継続することと
によって算術復号を行なうことと
を前記プロセッサに行なわせるように構成される、非一時的コンピュータ可読記憶媒体。
【請求項21】
映像復号における複数シンボル算術コーディングのための装置であって、前記装置は、
指示を記憶するメモリと、
前記メモリと通信するプロセッサであって、前記プロセッサが前記指示を実行するとき、前記プロセッサは、請求項4、5、6、8、10、11、12、13及び14のいずれか一項に記載の方法を前記装置に行なわせるように構成される、プロセッサと
を備える、装置。
【請求項22】
指示を記憶する非一時的コンピュータ可読記憶媒体であって、前記指示がプロセッサによって実行されるとき、前記指示は、請求項2から14のいずれか一項に記載の方法に対する前記プロセッサを引き起こすように構成される、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連する出願
本出願は2022年2月3日に出願された米国仮出願第63/306,386号と、2022年7月21日に出願された米国非仮出願第17/869,964号とを基礎とし、これらの優先権の利益を主張するものである。双方の出願の全体が参照により本明細書に援用される。
【0002】
本開示は映像コーディング及び/又は復号技術に関し、特に、複数シンボル算術コーディング及び/又は復号の改善された設計及び/又は実施に関する。
【背景技術】
【0003】
本明細書に記載されている本背景技術の説明は開示の背景を概略的に示すためのものである。本背景技術の記載箇所で説明されている範囲において、現時点で氏名が掲載されている発明者の成果と、その他、本出願の出願時の先行技術としての地位を獲得し得ない説明の態様とは、本開示に対する先行技術として明示的にも黙示的にも自認されるものではない。
【0004】
映像コーディング及び復号は動き補償とともにピクチャ間予測を用いて実行することができる。圧縮されていないデジタル映像はピクチャ列を含む場合があり、各ピクチャは所定の空間的大きさを持ち、たとえば1920×1080個の輝度サンプル、及び関連する全色度サンプル又はサブサンプリングによる色度サンプルという空間的大きさを持つ。ピクチャ列は不変であったり可変であったりするピクチャレート(フレームレートとも別称される)を持ち、たとえば毎秒60ピクチャすなわち毎秒60フレームのピクチャレート持つ場合がある。圧縮されていない映像にはストリーミングやデータ処理に対する特定のビットレート要件がある。たとえば、画素解像度が1920×1080、フレームレートが毎秒60、クロマサブサンプリングが色チャンネル1つにつき1画素あたり8ビットで4:2:0である映像は約1.5Gbit/sの帯域幅を要する。このような映像1時間には600GByteより多い記憶領域が必要である。
【0005】
映像コーディング及び復号の目的の1つは圧縮によって圧縮された入力映像信号の冗長さを削減することであるといえる。圧縮は上述の帯域幅要件及び/又は記憶領域要件を緩和するのに有用であるといえ、場合によっては、2桁以上緩和するのに有用であるといえる。可逆圧縮と非可逆圧縮との両方と、これらの組合せとを用いることができる。可逆圧縮とは、圧縮された元の信号から復号プロセスを介して元の信号の厳密な複製を再構成することができる手法を指す。非可逆圧縮とは、コーディングの際に元の映像情報が完全には保持されず、復号の際に完全には復元することができないコーディング/復号プロセスを指す。非可逆圧縮を用いると、再構成された信号は元の信号とは同一ではない場合があるが、元の信号と再構成された信号との間の歪みは、多少の情報の欠落があるが、再構成された信号が意図した用途に用いることができるようになる程度に十分小さくなる。映像の場合には、多くの用途に非可逆圧縮が広く用いられている。容認可能な歪みの量は用途に依存する。たとえば、特定の民生用ストリーミング用途のユーザは映画用途やテレビ放送用途のユーザよりも大きい歪みを容認する場合がある。特定のコーディングアルゴリズムによって実現可能な圧縮率を、様々な歪み許容量を反映するように選択したり調節したりすることができる。すなわち、容認可能な歪みが大きいと、通常、大規模な欠落と高い圧縮率をもたらすコーディングアルゴリズムが可能になる。
【0006】
たとえば動き補償、フーリエ変換、量子化やエントロピコーディングを含む、いくつかの幅広いカテゴリ及びステップから得られる手法を映像エンコーダ及びデコーダに利用することができる。
【0007】
映像コーデック技術はイントラコーディングとして知られている手法を含むことができる。イントラコーディングでは、以前に再構成された参照ピクチャからサンプル又はその他データを参照せずにサンプル値を表現する。いくつかの映像コーデックでは、ピクチャをサンプルのブロックに空間的に細分する。サンプルのすべてのブロックをイントラモードでコーディングする場合、当該ピクチャをイントラピクチャと称することができる。イントラピクチャと、独立デコーダリフレッシュピクチャなどのその派生とを用いてデコーダの状態をリセットすることができるので、これを、コーディングされた映像ビットストリームや映像のセッションの最初の画像として用いたり、静止画像として用いたりすることができる。その後、イントラ予測の後のブロックのサンプルが周波数ドメインへの変換を受けることが可能であり、そのように生成された変換係数をエントロピコーディングの前に量子化することができる。イントラ予測は変換前のドメインでサンプル値を最小限にする手法を代表するものである。場合によっては、変換後のDC値が小さく、AC係数が小さいほど、エントロピコーディング後のブロックを表わす、所与の量子化ステップで必要なビットのサイズが小さくなる。
【0008】
たとえばMPEG-2世代のコーディング手法で知られているコーディングなどの従来のイントラコーディングではイントラ予測を用いていない。しかし、いくつかのより新規の映像圧縮技術は、たとえば、空間的に近傍にあるものの符号化及び/又は復号の際に得られる周囲のサンプルデータ及び/又はメタデータや、イントラコーディング又は復号されたデータのブロックに復号順で先行する周囲のサンプルデータ及び/又はメタデータに基づいてブロックのコーディング/復号を試みる手法を含む。以下、このような手法を「イントラ予測」手法と称する。少なくともいくつかの例では、イントラ予測で、再構成中の現在のピクチャの参照データしか用いず、他の参照ピクチャの参照データは用いないことに留意する。
【0009】
多くの異なる形態のイントラ予測が存在することが可能である。このような手法の1つ以上を所与の映像コーディング技術に利用可能である場合、用いられる手法をイントラ予測モードと称することができる。1つ以上のイントラ予測モードを特定のコーデックで行なってもよい。いくつかの例では、モードは下位モードを有することができかつ/又は様々なパラメータと関連してもよく、モード/下位モード情報と映像のブロックのイントラコーディングパラメータとを個別にコーディングしたりモードコードワードにまとめて含ませたりすることができる。所与のモード、下位モード及び/又はパラメータの組合せにどのコードワードを用いるかによって、イントラ予測によるコーディング効率の向上に影響を及ぼすことができるので、コードワードをビットストリームに変換するのに用いられるエントロピコーディング技術に影響を及ぼすことができる。
【0010】
イントラ予測の特定のモードがH.264から導入され、H.265で改良され、joint exploration model(JEM)、versatile video coding(VVC)、benchmark set(BMS)などの新規のコーディング技術でさらに改良された。通常、イントラ予測では、利用可能になっている近傍サンプルの値を用いて予測値ブロックを形成することができる。たとえば、所定の方向及び/又はラインに沿って並ぶ近傍サンプルの特定の集合の利用可能な値を複製して予測値ブロックに入れてもよい。用いられている方向の方の参照値をそのビットストリームにおいてコーディングすることができるし、参照値そのものを予測してもよい。
【0011】
図1Aを参照して、H.265の可能な33個のイントラ予測値方向(H.265に記載されている35個のイントラモードの33個のアンギュラモードに対応する)で指定される9つの予測値方向の部分集合が右下に示されている。矢印が集まる点(101)は予測中のサンプルを表わす。矢印は、近傍サンプルを用いて101のサンプルを予測する方向を表わす。たとえば、矢印(102)は、水平方向から45度の角度で、1つ以上の近傍サンプルから右上に向かってサンプル(101)を予測することを示す。同様に、矢印(103)は、水平方向から22.5度の角度で、1つ以上の近傍サンプルからサンプル(101)の左下に向かってサンプル(101)を予測することを示す。
【0012】
引き続き図1Aを参照して、左上には4×4個のサンプルの正方形ブロック(104)が示されている(太い破線で示されている)。正方形ブロック(104)は16個のサンプルを含み、各々には、「S」と、サンプルのY次元の位置(たとえば行インデックス)と、サンプルのX次元の位置(たとえば列インデックス)とを含む指標が付されている。たとえば、サンプルS21は(上から)Y次元において2番目のサンプルであって、(左から)X次元において1番目のサンプルである。同様に、サンプルS44はY次元とX次元との両方においてブロック(104)中で4番目のサンプルである。ブロックのサイズが4×4サンプルであれば、S44は右下にある。同様の番号の付け方にしたがった参照サンプルの例がさらに示されている。参照サンプルには、Rと、ブロック(104)に対する参照サンプルのY位置(たとえば行インデックス)及びX位置(列インデックス)とを含む指標が付されている。H.264でもH.265でも、再構成中にブロックの近傍にあって隣接する予測サンプルが用いられる。
【0013】
シグナリングされた予測方向にしたがって近傍サンプルから参照サンプル値を複製することからブロック104のピクチャ内予測を開始することができる。たとえば、当該ブロック104について、矢印(102)の予測方向を示すシグナリングを、コーディングされた映像ビットストリームが含むと仮定する。すなわち、水平方向から45度の角度で、1つ以上の予測サンプルから右上に向かってサンプルを予測することを示すシグナリングを、コーディングされた映像ビットストリームが含むと仮定する。このような場合、同じ参照サンプルR05からサンプルS41、S32、S23及びS14を予測する。その後、サンプル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をコーディングするのに必要なデータの総量を実質的に削減することができ、これにより、圧縮効率を上げることができる。たとえば、カメラから得られた入力映像信号(未加工映像と呼ばれている)をコーディングする場合、1つのMVを適用可能な領域よりも大きい領域が映像シーケンス中で同様の方向に移動することから、場合によっては、近傍の領域のMVから導出された同様の動きベクトルを用いて当該領域を予測することができるという統計的確からしさが存在するので、MV予測は効果的に機能することができる。その結果、所与の領域の実際のMVが周囲のMVから予測されたMVと同様になったり同一になったりする。エントロピコーディングの後、MVを近傍の1つ以上のMVから予測せずに直接コーディングする場合に用いられることになるビット数よりも少ないビット数で上記のMVを表現することができる。いくつかの例では、MV予測は、元の信号(すなわちサンプルストリーム)から信号(すなわちMV)の可逆圧縮が導出されるという例であることが可能である。他の例では、たとえば、周囲のいくつかのMVから予測値を計算するときの丸め誤差によりMV予測そのものが不可逆になる場合がある。
【0020】
様々なMV予測メカニズムがH.265/HEVC(ITU-T Rec.H.265,“High Efficiency Video Coding”,December 2016)で説明されている。H.265に記載されている多くのMV予測メカニズムのうちから、以下「空間的マージ」と称する技術を以下で説明する。
【0021】
具体的には、図2を参照して、現在のブロック(201)は、動き探索プロセスの際にエンコーダによって検知されて、空間的にシフトされた同じサイズの以前のブロックから予想可能であるサンプルを備える。当該MVを直接コーディングする代わりに、1つ以上の参照ピクチャに関連づけられたメタデータからMVを導出することができ、たとえば、A0、A1及びB0、B1、B2(それぞれ202~206)で示されている周囲の5つのサンプルのいずれか1つに関連づけられたMVを用いて、最新(復号順)の参照画像からMVを導出することができる。H.265において、MV予測では、近傍のブロックが用いる同じ参照ピクチャから得られる予測値を用いることができる。
【発明の概要】
【課題を解決するための手段】
【0022】
本開示では、映像符号化及び/又は復号のための方法、装置及びコンピュータ可読記憶媒体の様々な実施形態が説明されている。
【0023】
1つの態様に係れば、本開示の実施形態では映像復号における複数シンボル算術コーディングのための方法が提供される。本方法はデバイスがコーディングされた映像ビットストリームを受けるステップを含む。デバイスは指示を記憶するメモリと、メモリと通信するプロセッサとを含む。本方法は、デバイスが、累積分布関数の配列と、対応するM個のシンボルとを取得するステップであって、Mは1を超える整数である、ステップと、デバイスが累積分布関数の配列に基づいて、少なくとも1つのシンボルを抽出するためにコーディングされた映像ビットストリームに算術復号を行なうステップであって、抽出されたシンボル毎に、デバイスが少なくとも1つの確率更新率に基づいて抽出されたシンボルに応じて累積分布関数の配列を更新することと、デバイスが累積分布関数の更新された配列に基づいて、次のシンボルを抽出するためにコーディングされた映像ビットストリームに算術復号を継続することとによって算術復号を行なうステップも含む。
【0024】
別の態様に係れば、本開示の実施形態では映像復号における複数シンボル算術コーディングのための装置が提供される。本装置は指示を記憶するメモリと、メモリと通信するプロセッサとを含む。プロセッサが指示を実行するとき、プロセッサは、映像復号及び/又は符号化のための上記の方法を本装置に行なわせるように構成される。
【0025】
別の態様では、本開示の実施形態では、映像復号及び/又は符号化のためにコンピュータによって実行されるとき、映像復号及び/又は符号化のための上記の方法をコンピュータに行なわせる指示を記憶する非一時的コンピュータ可読媒体が提供される。
【0026】
上記の態様及び他の態様並びにこれらの態様の実現例が図面、説明及び請求項でより詳細に説明されている。
【0027】
以下の詳細な説明と添付の図面とから、開示されている保護対象のさらなる特徴、性質及び様々な効果がより明らかになる。
【図面の簡単な説明】
【0028】
図1A】イントラ予測方向性モードの典型的な部分集合の概略図を示す。
図1B】典型的なイントラ予測方向の図を示す。
図2】一例における動きベクトル予測に用いられる現在のブロックとその周囲の空間的マージ候補との概略図を示す。
図3】一実施形態に係る通信システム(300)の簡略ブロック図の概略図を示す。
図4】一実施形態に係る通信システム(400)の簡略ブロック図の概略図を示す。
図5】一実施形態に係る映像デコーダの簡略ブロック図の概略図を示す。
図6】一実施形態に係る映像エンコーダの簡略ブロック図の概略図を示す。
図7】別の実施形態に係る映像エンコーダのブロック図を示す。
図8】別の実施形態に係る映像デコーダのブロック図を示す。
図9】本開示の実施形態に係るコーディングブロック分割の方式を示す。
図10】本開示の実施形態に係るコーディングブロック分割の別の方式を示す。
図11】本開示の実施形態に係るコーディングブロック分割の別の方式を示す。
図12】典型的な分割方式にしたがってベースブロックをコーディングブロックに分割する例を示す。
図13】三分分割方式の例を示す。
図14】四分木二分木コーディングブロック分割方式の例を示す。
図15】本開示の実施形態に係る、コーディングブロックを複数の変換ブロックに分割する方式と、変換ブロックのコーディング順序とを示す。
図16】本開示の実施形態に係る、コーディングブロックを複数の変換ブロックに分割する別の方式と、変換ブロックのコーディング順序とを示す。
図17】binを復号するのに用いられるフローチャートの例を示す。
図18】本開示の実施形態に係る方法のフローチャートを示す。
図19】本開示の実施形態に係るコンピュータシステムの概略図を示す。
【発明を実施するための形態】
【0029】
以下、本発明の一部をなし、図示例として実施形態の特定の例を示す添付の図面を参照して本発明を詳細に説明する。一方で、本発明が様々な異なる形態で実施されている場合があり、したがって、カバーされていたり主張されていたりしている保護対象が以下に記載されている実施形態のいずれにも限定されないものとして解釈されることを意図されている点に留意して頂きたい。また、本発明が方法、デバイス、コンポネントやシステムとして実施されてもよい点に留意して頂きたい。したがって、本発明の実施形態はたとえばハードウェア、ソフトウェア、ファームウェアやこれらの任意の組合せの形態をとってもよい。
【0030】
明細書と請求項とにわたって、用語は明記されている意味の範囲を超えて文脈で示唆又は暗示される特別な意味を持つ場合がある。本開示で用いられている語句「一実施形態では」又は語句「いくつかの実施形態では」は必ずしも同じ実施形態を指さず、本開示で用いられている語句「別の実施形態では」又は「他の実施形態では」は必ずしも異なる実施形態を指さない。同様に、本開示で用いられている語句「一実現例では」又は語句「いくつかの実現例では」は必ずしも同じ実現例を指さず、本開示で用いられている語句「別の実現例では」又は「他の実現例では」が必ずしも異なる実現例を指さない。意図としては、たとえば、主張された保護対象が典型的な実施形態/実現例の組合せを全体的又は部分的に含むということである。
【0031】
全体的に、用語の語法は文脈での用いられ方から少なくとも部分的に判明する場合がある。たとえば、本開示で用いられている「及び」、「又は」又は「及び/又は」などの用語は、当該用語が用いられている文脈に少なくとも部分的に依存する場合がある様々な意味を含む場合がある。典型的には、「又は」がA、B又はCのような列挙物を関連づけるのに用いられる場合、「又は」はA、BやCを意味することを意図し、この場合は例示列挙の意味(inclusive sense)で用いられ、さらに、「又は」はA、B又はCを意味することを意図し、この場合は限定列挙の意味(exclusive sense)で用いられる。これに加えて、本開示で用いられている用語「1つ以上」又は用語「少なくとも1つ」は、少なくとも部分的に文脈に応じて、単数の意味のなんらかの特徴、構成又は特性を説明するのに用いられる場合があったり、複数の意味の特徴、構成又は特性の組合せを説明するのに用いられる場合があったりする。同様に、「a」、「an」又は「the」などの用語も、少なくとも部分的に文脈に応じて、単数での使用を認識させたり複数での使用を認識させたりすることが分かる。上記に加えて、用語「に基づいて」又は用語「決定される」は、この場合も少なくとも部分的に文脈に応じて、要因の限定列挙集合を認識させることを必ずしも意図しないものとして理解されるものである場合があり、さらに言えば、必ずしも明確に記載されない別の要因の存在の余地があるものである場合がある。
【0032】
図3は本開示の一実施形態に係る通信システム(300)の簡略ブロック図を示す。通信システム(300)は、互いとたとえばネットワーク(350)を介して通信することができる複数の端末装置を含む。たとえば、通信システム(300)はネットワーク(350)を介して相互接続されている端末装置(310)及び(320)の第1のペアを含む。図3の例では、端末装置(310)及び(320)の第1のペアはデータの一方向伝送を行なってもよい。たとえば、端末装置(310)はネットワーク(350)を介して他の端末装置(320)に送信するために映像データ(たとえば、端末装置(310)によって撮像された映像ピクチャのストリームの映像データ)をコーディングしてもよい。符号化された映像データを1つ以上のコーディングされた映像ビットストリームとして送信することができる。端末装置(320)はコーディングされた映像データをネットワーク(350)から受信し、コーディングされた映像データを復号して映像ピクチャを復元し、復元された映像データに応じた映像ピクチャを表示することができる。メディア提供アプリケーションなどで一方向データ伝送を実施してもよい。
【0033】
別の例では、通信システム(300)は、たとえばテレビ会議に適用する際に実施される場合があるコーディングされた映像データの双方向伝送を行なう端末装置(330)及び(340)の第2のペアを含む。データの双方向伝送の場合、一例であるが、端末装置(330)及び(340)の各端末装置はネットワーク(350)を介して端末装置(330)及び(340)のうちの他方の端末装置に送信するために、映像データ(たとえば、端末装置によって撮像された映像ピクチャのストリームの映像データ)をコーディングしてもよい。端末装置(330)及び(340)の各端末装置は、端末装置(330)及び(340)のうちの他方の端末装置によって送信されたコーディングされた映像データの受信も行なってもよく、コーディングされた映像データを復号して映像ピクチャを復元し、復元された映像データに応じた映像ピクチャを、アクセス可能な表示装置で表示してもよい。
【0034】
図3の例では、端末装置(310)、(320)、(330)及び(340)をサーバ、パーソナルコンピュータ及びスマートフォンとして実施することができるが、本開示の根本原理の適用範囲はこのようには限定されないといえる。本開示の実施形態を、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、ウェアラブルコンピュータ、専用のテレビ会議機器及び/又は類似物で実施してもよい。ネットワーク(350)は、たとえば配線(有線)及び/又は無線通信ネットワークを含む、端末装置(310)、(320)、(330)及び(340)間で、コーディングされた映像データを伝達する任意の個数のネットワークや任意のタイプのネットワークを表わす。通信ネットワーク(350)9は回線交換チャンネル、パケット交換チャンネル及び/又は他のタイプのチャンネルでデータを交換してもよい。代表的なネットワークは電気通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク及び/又はインタネットを含む。本例の説明上、本出願で明示的に説明されない限り、ネットワーク(350)のアーキテクチャ及びトポロジは本開示の動作に重要ではない場合がある。
【0035】
図4は、開示されている保護対象に適用する例として、映像ストリーミング環境における映像エンコーダ及び映像デコーダの配置を示す。開示されている保護対象は、たとえば、テレビ会議、デジタルテレビ放送、ゲーム、仮想現実、CD、DVD、メモリスティックなどを含むデジタル媒体への圧縮された映像の記憶などを含む映像の他の適用例に同様に適用可能であってもよい。
【0036】
映像ストリーミングシステムは、圧縮されていない映像ピクチャ又は画像のストリーム(402)を生成する映像供給源(401)、たとえばデジタルカメラを含むことができる映像撮像サブシステム(413)を含んでもよい。一例では、映像ピクチャのストリーム(402)は映像供給源401のデジタルカメラによって記録されるサンプルを含む。コーディングされた映像データ(404)(すなわち符号化された映像ビットストリーム)と比較する場合にデータ量が多いことを強調するために映像ピクチャのストリーム(402)を太線で示しているが、その映像ピクチャのストリーム(402)を、映像供給源(401)に接続されている映像エンコーダ(403)を含む電子装置(420)によって処理することができる。映像エンコーダ(403)は、以降で詳細に説明されている、開示されている保護対象の態様を可能にしたり実施したりするハードウェア、ソフトウェア又はこれらの組合せを含むことができる。圧縮されていない映像ピクチャのストリーム(402)と比較する場合にデータ量が少ないことを強調するために、符号化された映像データ(404)(すなわち符号化された映像ビットストリーム(404))を細線で示しているが、この符号化された映像データ(404)を、後の使用のためにストリーミングサーバ(405)に記憶したりダウンストリーム映像装置(図示せず)に直接記憶したりすることができる。図4のクライアントサブシステム(406)及び(408)などの1つ以上のストリーミングクライアントサブシステムはストリーミングサーバ(405)にアクセスして、符号化された映像データ(404)の複製(407)及び複製(409)を取得することができる。クライアントサブシステム(406)は、たとえば電子装置(430)中にある映像デコーダ(410)を含むことができる。映像デコーダ(410)は符号化された映像データの複製(407)を入力して復号し、また、圧縮されておらず、かつディスプレイ(412)(たとえば表示画面)又はその他描画する装置(図示せず)に描画することができる映像ピクチャの出力ストリーム(411)を生成する。映像デコーダ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)から受信してもよく、チャンネル(501)は符号化された映像データを記憶する記憶装置や、符号化された映像データを送るストリーミング供給元につなげられたハードウェア/ソフトウェアであってもよい。受信器(531)はコーディングされた音声データ及び/又は付属データストリームなどの他のデータとともに、符号化された映像データを受信してもよく、当該他のデータを、それに対応する処理回路(図示せず)に転送してもよい。受信器(531)はコーディングされた映像シーケンスを他のデータから分離してもよい。ネットワークジターに対処するために、受信器(531)とエントロピデコーダ/パーサ(520)(以下「パーサ(520)」)との間にバッファメモリ(515)を配置してもよい。いくつかの適用例では、バッファメモリ(515)を映像デコーダ(510)の一部として実施してもよい。他の適用例では、バッファメモリ(515)は映像デコーダ(510)外に存在し、映像デコーダ(510)とは別体であることが可能である(図示せず)。さらに他の適用例では、たとえばネットワークのジッタに対処するために、映像デコーダ(510)外にバッファメモリ(図示せず)が存在することが可能であり、たとえば再生のタイミングを処理するために、映像デコーダ(510)内に別の追加バッファメモリ(515)が存在してもよい。受信器(531)が十分な帯域幅及び制御性を持つ記憶/転送装置やアイソクロナスネットワークからデータを受信するものである場合、バッファメモリ(515)を要さずともよいし、バッファメモリ(515)が小規模であることが可能である。インタネットなどのベストエフォートパケットネットワークに用いる場合には、十分なサイズのバッファメモリ(515)を要する場合があり、バッファメモリ(515)のサイズを比較的大きくすることができる。このようなバッファメモリを最適なサイズで実施してもよく、映像デコーダ(510)外のオペレーティングシステムや同様の要素(図示せず)で少なくとも部分的に実施してもよい。
【0040】
映像デコーダ(510)はコーディングされた映像シーケンスからシンボル(521)を再構成するパーサ(520)を含んでもよい。このようなシンボルのカテゴリには映像デコーダ(510)の動作を管理するのに用いられる情報が含まれ、図5に示されているように、電子装置(530)の一体部分であってもなくてもよい、電子装置(530)に接続されることが可能であるディスプレイ(512)(たとえば表示画面)などの描画する装置を制御する情報が含まれる場合がある。1つ以上の描画する装置に用いる制御情報はSupplemental Enhancement Information(SEIメッセージ)やVideo Usability Information(VUI)パラメータ集合フラグメント(図示せず)の形態をとってもよい。パーサ(520)はパーサ(520)が受けたコーディングされた映像シーケンスをパース/エントロピ復号することができる。当該コーディングされた映像シーケンスのエントロピコーディングは映像コーディング技術や標準に準拠することが可能であり、可変長コーディング、ハフマンコーディング、文脈依存を用いたり用いなかったりする算術コーディングなどを含む様々な原理にしたがうことができる。パーサ(520)はコーディングされた映像シーケンスから、映像デコーダ中にある画素の部分群の少なくとも1つについての部分群パラメータの集合を、部分群に対応する少なくとも1つのパラメータに基づいて抽出してもよい。部分群はGroup of Picture(GOP)、ピクチャ、タイル、スライス、マクロブロック、Coding Unit(CU)、ブロック、Transform Unit(TU)、Prediction Unit(PU)などを含むことができる。パーサ(520)は変換係数(たとえばフーリエ変換係数)、クオンタイザパラメータ値、動きベクトルなどのコーディングされた映像シーケンス情報からも抽出を行なってもよい。
【0041】
パーサ(520)はバッファメモリ(515)から受けた映像シーケンスにエントロピ復号/パーサ動作を実行することでシンボル(521)を生成してもよい。
【0042】
シンボル(521)の再構成には、コーディングされた映像ピクチャ又はその部分のタイプ(たとえばピクチャ間及びピクチャ内、ブロック間及びブロック内)と他の因子とに応じて複数の異なる処理部位又は機能部位を関与させることができる。関与させる部位と、どのように部位を関与させるかとを、コーディングされた映像シーケンスからパーサ(520)によってパースされた部分群制御情報によって制御してもよい。簡略化するために、パーサ(520)と後述の複数の処理部位又は機能部位との間の、このような部分群の制御情報のフローは示されていない。
【0043】
既に説明されている機能ブロックについてさらに言えば、映像デコーダ(510)を、後述のように複数の機能部位に概念的に細分することができる。商業上の制約を受けながら運用される実際の実現例では、このような機能部位の多くは互いに緊密にやり取りし、互いに少なくとも部分的に一体化されることが可能である。一方で、開示されている保護対象の様々な機能を明確にしつつ説明するために、以下の開示では機能部位に概念的に細分することを採用している。
【0044】
最初の部位はスケーラ/逆変換部(551)を含んでもよい。スケーラ/逆変換部(551)はパーサ(520)からシンボル(521)として、量子化された変換係数と、どのタイプの逆変換を用いるべきかを示す情報、ブロックサイズ、量子化係数(quantization factor)/量子化パラメータ、量子化スケーリングマトリックス及び状態を含む制御情報とを受けてもよい。スケーラ/逆変換部(551)は集合器(555)に入力することができるサンプル値を備えるブロックを出力することができる。
【0045】
いくつかの例では、スケーラ/逆変換(551)の出力サンプルは、イントラコーディングブロック、すなわち、以前に再構成されたピクチャから得られる予測的情報を用いないが、現在のピクチャの以前に再構成された部分から得られる予測的情報を用いることができるブロックに適する場合がある。このような予測的情報をピクチャ内予測部(552)によって提供することができる。いくつかの例では、ピクチャ内予測部(552)は、既に再構成され、現在のピクチャバッファ(558)に記憶されている周囲のブロックの情報を用いて、再構成中のブロックと同じサイズ及び形状のブロックを生成してもよい。現在のピクチャバッファ(558)は、たとえば、部分的に再構成された現在のピクチャ及び/又は全体的に再構成された現在のピクチャをバッファリングする。いくつかの実現例では、集合器(555)はサンプル毎に、イントラ予測部(552)が生成した予測情報を、スケーラ/逆変換部(551)によって提供された出力サンプル情報に加えてもよい。
【0046】
他の例では、スケーラ/逆変換部(551)の出力サンプルはインタコーディングブロックに適し、場合によっては動き補償されたブロックに適する場合がある。このような例では、動き補償予測部(553)が参照ピクチャメモリ(557)にアクセスして、ピクチャ間予測に用いられるサンプルを取得することができる。ブロックに関係するシンボル(521)に応じて、取得されたサンプルを動き補償した後、当該サンプルをスケーラ/逆変換部(551)の出力(部位551の出力を残差サンプルや残差信号と称する場合がある)に集合器(555)によって加えることで、出力サンプル情報を生成することができる。動き補償予測部(553)が予測サンプルを取得する取得元の参照ピクチャメモリ(557)内のアドレスを動きベクトルによって制御することができ、動きベクトルは、たとえばX、Y成分(シフト)及び参照ピクチャ成分(時間)を有することができるシンボル(521)の形態をとった状態で動き補償予測部(553)に利用可能である。動き補償は、サブサンプルの正確な動きベクトルが用いられている場合の、参照ピクチャメモリ(557)から取得されるサンプル値の補間を含むこともでき、動きベクトル予測メカニズムなどに関連することもできる。
【0047】
集合器(555)の出力サンプルはループフィルタ部(556)で様々なループフィルタリング手法を受けることができる。映像圧縮技術は、パーサ(520)からのシンボル(521)としてコーディングされた映像シーケンス(コーディングされた映像ビットストリームとも称する)に含まれ、ループフィルタ部(556)に利用することができるようにされるパラメータによって制御されるループ内フィルタ技術を含むことができるが、コーディングされたピクチャやコーディングされた映像シーケンスの先の部分(復号順)を復号する際に得られるメタ情報の影響を受け易く、前に再構成されてループフィルタを通ったサンプル値の影響を受け易い可能性もある。ループフィルタ部556の一部として数種類のループフィルタを様々な順序で含ませてもよい。このことについてはさらに詳細に後述する。
【0048】
ループフィルタ部(556)の出力は描画する装置(512)に出力することができるだけでなく、後のピクチャ間予測で用いるために参照ピクチャメモリ(557)に記憶することもできるサンプルストリームであることが可能である。
【0049】
いくつかのコーディングされたピクチャは完全に再構成されると、後のピクチャ間予測のために参照ピクチャとして用いられることが可能である。たとえば、現在のピクチャに対応するコーディング済みピクチャが完全に再構成され、コーディング済みピクチャが参照ピクチャとして(たとえばパーサ(520)によって)特定されると、現在のピクチャバッファ(558)は参照ピクチャメモリ(557)の一部になることが可能であり、次のコーディング済みピクチャの再構成を開始する前に、新たな現在のピクチャバッファを割り当てし直すことができる。
【0050】
映像デコーダ(510)は所定の標準(たとえばITU-T勧告H.265)で採用されている既定の映像圧縮技術にしたがって復号動作を行なってもよい。コーディングされた映像シーケンスが映像圧縮技術や標準のシンタックスと、映像圧縮技術や標準の文書に記載されているプロファイルとの両方を遵守するという意味で、コーディングされた映像シーケンスは、用いられている映像圧縮技術や標準によって定められているシンタックスに準拠するといえる。特に、プロファイルについては、映像圧縮技術や標準で利用可能なすべてのツールから、当該プロファイルにしたがった使用に供することができる唯一のツールとして所定のツールを選択することができる。標準に準拠するために、コーディングされた映像シーケンスの複雑さが映像圧縮技術や標準のレベルによって定められた限界内にあってもよい。いくつかの例では、レベルに応じて、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(たとえば毎秒100万サンプルで測定)、最大参照ピクチャサイズなどが制限される。レベルによって設けられる限界は、いくつかの例では、Hypothetical Reference Decoder(HRD)の仕様と、コーディングされた映像シーケンスでシグナリングされるHRDバッファ管理用のメタデータとにより、さらに制限される場合がある。
【0051】
いくつかの実施形態では、受信器(531)が符号化された映像とともに付随(冗長)データを受信してもよい。付随データがコーディングされた映像シーケンスの一部として含まれてもよい。付随データを映像デコーダ(510)で用いて、データを適切に復号しかつ/又は元の映像データをより正確に再構成してもよい。たとえば、付随データは時間的、空間的又は信号雑音比(SNR)enhancement layer、redundant slice、redundant picture、前方誤り訂正符号などの形態をとることができる。
【0052】
図6は本開示の一実施形態に係る映像エンコーダ(603)のブロック図を示す。映像エンコーダ(603)を電子装置(620)に含ませてもよい。電子装置(620)は送信器(640)(たとえば送信回路)をさらに含んでもよい。映像エンコーダ(603)を図4の例の映像エンコーダ(403)の代わりに用いることができる。
【0053】
映像エンコーダ(603)は、映像エンコーダ(603)によってコーディングされることになる1つ以上の映像画像を撮像することができる映像供給源(601)(図6の例では電子装置(620)の一部ではない)から映像サンプルを受けてもよい。別の例では、映像供給源(601)を電子装置(620)の一部として実施してもよい。
【0054】
映像供給源(601)は、任意の適切なビット深度(たとえば:8ビット、10ビット、12ビット、…)、任意の色空間(たとえば、BT.601 YCrCb、RGB、XYZ…)及び任意の適切なサンプリング構造(たとえば、YCrCb 4:2:0、YCrCb 4:4:4)が可能であるデジタル映像サンプルストリームとして映像エンコーダ(603)によってコーディングされることになる供給源映像シーケンスを提供してもよい。メディア提供システムでは、映像供給源(601)は予め用意された映像を記憶することができる記憶装置であってもよい。テレビ会議システムでは、映像供給源(601)は現地の画像情報を映像シーケンスとして撮像するカメラであってもよい。順番に見られると動きを実現する複数の個々のピクチャ又は画像として映像データを提供してもよい。ピクチャをそのまま画素の空間的配列として編成してもよく、各画素は使用されているサンプリング構造、色空間などに応じた1つ以上のサンプルを備えることができる。画素とサンプルとの関係については当業者は容易に理解することができる。以下の説明ではサンプルに注目する。
【0055】
いくつかの実施形態に係れば、映像エンコーダ(603)は供給源映像シーケンスのピクチャをコーディング済み映像シーケンス(643)にリアルタイムにコーディングして圧縮してもよいし、アプリケーションによって必要とされる任意の他の時間制約を受けつつコーディングして圧縮してもよい。適切なコーディング速度の強制的な維持はコントローラ(650)の機能の1つを構成する。いくつかの実施形態では、コントローラ(650)を後述されている他の機能部位に機能的に接続して、コントローラ(650)によって当該他の機能部位を制御してもよい。簡略化するために、接続については示されていない。コントローラ(650)によって設定されるパラメータはレート制御関連のパラメータ(ピクチャスキップ、クオンタイザ、レート-歪み最適化技術のλの値、…)、ピクチャサイズ、group of picture(GOP)のレイアウト、最長の動きベクトルの探索範囲などを含むことができる。特定のシステム設計に最適化された映像エンコーダ(603)に関する他の適切な機能を持つようにコントローラ(650)を構成することができる。
【0056】
いくつかの実施形態では、映像エンコーダ(603)をコーディングループで動作するように構成してもよい。最大限に単純化した説明として、一例では、コーディングループは供給源コーダ(630)(たとえば、コーディングされることになる入力ピクチャと1つ以上の参照ピクチャとに基づいて、シンボルストリームなどのシンボルを生成することを担う)と、映像エンコーダ(603)に組み込まれた(この場所にある)デコーダ(633)とを含むことができる。デコーダ(633)はシンボルを再構成し、内蔵デコーダ633がエントロピコーディングを用いずに供給源コーダ630によってコーディングされた映像ストリームを処理したとしても、あたかも(別の場所にある)デコーダによって生成されるのと同様にサンプルデータを生成する(エントロピコーディングにおける、シンボルとコーディングされた映像ビットストリームとの間の任意の圧縮は開示されている保護対象で検討されている映像圧縮技術に含まれる可逆圧縮であってもよい)。再構成されたサンプルストリーム(サンプルデータ)は参照ピクチャメモリ(634)に入力される。シンボルストリームを復号すると、デコーダの場所(この場所にあるのか別の場所にあるのか)とは無関係に正確なビット結果がもたらされるので、参照ピクチャメモリ(634)の内容についても、この場所にあるエンコーダと別の場所にあるエンコーダとの比較でビットが正確になる。言い換えると、あたかもデコーダが復号の際に予測を用いるときに「見る」のと同じサンプル値を、エンコーダの予測部分は参照ピクチャサンプルとして正確に「見る」。このような参照ピクチャの同時性(さらには、たとえばチャンネルエラーによって同時性を維持することができない場合に結果として得られるドリフト)の基本原理がコーディング品質を改善するのに用いられる。
【0057】
「この場所にある」デコーダ(633)の動作は図5をともなって上記で既に詳細に説明されている「別の場所にある」映像デコーダ(510)などのデコーダの動作と同じであることが可能である。しかし、幾分図5も参照するが、シンボルが有効であり、かつエントロピコーダ(645)及びパーサ(520)によるシンボルの符号化/復号のコーディング済み映像シーケンスへの復号が可逆であることが可能であるので、バッファメモリ(515)とパーサ(520)とを含む映像デコーダ(510)のエントロピ復号部分はエンコーダのこの場所にあるデコーダ(633)では完全には実施されない場合がある。
【0058】
この時点で言えることは、デコーダにしか存在し得ないパース/エントロピ復号以外のいかなるデコーダ技術も、対応するエンコーダにやはり必ず実質的に同一の機能的形態で存在する必要があるといえるということである。この理由から、開示されている保護対象について、エンコーダの復号部分に関連するデコーダの動作に場合に応じて注目する場合がある。したがって、エンコーダ技術の説明については、全体が説明されているデコーダ技術の逆であるので、省略することができる。特定の部分又は態様に限って、エンコーダのより詳細な説明を以下に記載する。
【0059】
いくつかの実現例の動作の際、供給源コーダ(630)は、「参照ピクチャ」に指定された映像シーケンスから得られた以前にコーディングされた1つ以上のピクチャを参照して予測して入力ピクチャをコーディングする動き補償予測コーディングを行なってもよい。このようにして、コーディングエンジン(632)は入力ピクチャの画素ブロックと、入力ピクチャに対する1つ以上の予測参照として選択することができる1つ以上の参照ピクチャの画素ブロックとの色チャンネルの差分(すなわち残差値)をコーディングする。用語「残差値(residue)」とその形容詞形「残差の(residual)」とを互いに入れ替えて用いてもよい。
【0060】
この場所にある映像デコーダ(633)は供給源コーダ(630)によって生成されたシンボルに基づいて、参照ピクチャに指定することができるピクチャのコーディングされた映像データを復号してもよい。コーディングエンジン(632)の動作が非可逆プロセスであることが有効である場合がある。コーディングされた映像データがなんらかの映像デコーダ(図6には示されていない)で復号されることがある場合、再構成された映像シーケンスは一般的に多少の誤差をともなう供給源映像シーケンスの複製である場合がある。この場所にある映像デコーダ(633)は参照ピクチャに対して映像デコーダによって行なわれる場合がある復号プロセスを繰り返し、再構成された参照ピクチャが参照ピクチャキャッシュ(634)に記憶されるようにしてもよい。このようにして、映像エンコーダ(603)は遠端の(別の場所にある)映像デコーダによって得られることになる再構成された参照ピクチャと共通の内容を持つ再構成された参照ピクチャの複製をこの場所に記憶することができる(伝送エラー無し)。
【0061】
予測器(635)はコーディングエンジン(632)のために予測探索を行なってもよい。すなわち、コーディングされることになる新たなピクチャのために、予測器(635)はサンプルデータ(候補参照画素ブロックとしてのサンプルデータ)を得たり、新たなピクチャのための適切な予測参照を担うことができる参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータを得たりするために参照ピクチャメモリ(634)を探索してもよい。予測器(635)は適切な予測参照を検知するのに画素ブロック毎に1つのサンプルブロックを用いるようにして動作してもよい。いくつかの例では、予測器(635)によって得られる探索結果によって判断する際、入力ピクチャは参照ピクチャメモリ(634)に記憶されている複数の参照ピクチャから得られた予測参照を含むことができる。
【0062】
たとえば、コントローラ(650)は映像データを符号化するのに用いられるパラメータ及び部分群パラメータの設定を含む、供給源コーダ(630)のコーディング動作の管理を行なってもよい。
【0063】
上述のすべての機能部位の出力がエントロピコーダ(645)でエントロピコーディングを受けてもよい。エントロピコーダ(645)はハフマンコーディング、可変長コーディング、算術コーディングなどの技術にしたがってシンボルを可逆圧縮することによって、様々な機能部位によって生成されたシンボルをコーディング済み映像シーケンスに変換する。
【0064】
送信器(640)が通信チャンネル(660)を通じた送信に備えるためにエントロピコーダ(645)によって生成された1つ以上のコーディングされた映像シーケンスをバッファリングしてもよく、送信器(640)は符号化された映像データを記憶する記憶装置につなげられたハードウェア/ソフトウェアであってもよい。送信器(640)は送信されることになる他のデータ、たとえば、コーディングされた音声データ及び/又は付属データストリーム(供給源は示されていない)を、映像コーダ(603)から得られたコーディングされた映像データに統合してもよい。
【0065】
コントローラ(650)は映像エンコーダ(603)の動作を管理してもよい。コーディングの際、コントローラ(650)はコーディングされたピクチャ毎に、それぞれのピクチャに適用することができるコーディング手法に影響を及ぼすことができる特定のコーディング済みピクチャのタイプを割り当ててもよい。たとえば、多くの場合、以下のピクチャタイプの1つとしてピクチャを割り当てることができる。
【0066】
Intra Picture(Iピクチャ)は予測の元になるものとしてシーケンス中の他の一切のピクチャを用いずにコーディング及び復号を行なうことができるピクチャであるといえる。いくつかの映像コーデックでは、たとえばIndependent Decoder Refresh(IDR)ピクチャを含む様々なタイプのイントラピクチャが可能である。Iピクチャのこのような変形例とそれに対応する適用例及び特徴部とに当業者は想到する。
【0067】
predictive picture(Pピクチャ)はイントラ予測又はインタ予測を用い、各ブロックのサンプル値を予測するのに最大1つの動きベクトルと参照インデックスとを用いてコーディング及び復号を行なうことができるピクチャであるといえる。
【0068】
bi-directionally predictive picture(Bピクチャ)はイントラ予測又はインタ予測を用い、各ブロックのサンプル値を予測するのに最大2つの動きベクトルと参照インデックスとを用いてコーディング及び復号を行なうことができるピクチャであるといえる。同様に、multiple-predictive pictureでは、1つのブロックの再構成のために、3つ以上の参照ピクチャと関連メタデータとを用いることができる。
【0069】
一般的に、供給源ピクチャを複数のサンプルコーディングブロックに空間的に細分することができ(たとえば、それぞれ4×4、8×8、4×8や16×16サンプルのブロック)、ブロックを1つずつコーディングすることができる。それぞれのブロックに対応するピクチャに適用されるコーディング割当てによって判断される際に、他の(既にコーディングされた)ブロックを参照して予測してブロックをコーディングしてもよい。たとえば、Iピクチャのブロックを予測を用いずにコーディングしてもよいし、同じピクチャの既にコーディングされたブロックを参照して、予測を用いてコーディングしてもよい(空間的予測又はイントラ予測)。Pピクチャの画素ブロックを、空間的予測を用いたり、以前にコーディングされた1つの参照ピクチャを参照して時間的予測を用いたりして、予測を用いてコーディングしてもよい。Bピクチャのブロックを、空間的予測を用いたり、以前にコーディングされた1つ又は2つの参照ピクチャを参照して時間的予測を用いたりして、予測を用いてコーディングしてもよい。供給源ピクチャ又は中間処理ピクチャを他の目的で他のタイプのブロックに細分してもよい。コーディングブロック及び他のタイプのブロックの分割が同じ仕方にしたがってもしたがわなくてもよく、これについてはさらに詳細に後述されている。
【0070】
映像エンコーダ(603)は既定の映像コーディング技術や標準(たとえばITU-T勧告H.265)にしたがってコーディング動作を行なってもよい。その動作では、映像エンコーダ(603)は入力映像シーケンスの時間的冗長さと空間的冗長さとを利用する予測コーディング動作を含む様々な圧縮動作を行なってもよい。したがって、コーディングされた映像データは用いられている映像コーディング技術や標準によって定められているシンタックスに準拠してもよい。
【0071】
いくつかの実施形態では、送信器(640)は符号化された映像とともに付随データを送信してもよい。供給源コーダ(630)はコーディングされた映像シーケンスの一部としてこのようなデータを含んでもよい。付随データは時間的/空間的/SNRエンハンスメントレイヤ、冗長ピクチャや冗長スライスなどの冗長データの他の形態、SEIメッセージ、VUIパラメータ集合フラグメントなどを備えてもよい。
【0072】
映像を複数の供給源ピクチャ(映像ピクチャ)として時間順に撮像してもよい。ピクチャ内予測(イントラ予測と略されることが多い)では所与のピクチャ内の空間的相関を利用し、ピクチャ間予測ではピクチャ間の相関(時間的相関又は他の相関)を利用する。たとえば、現在のピクチャと称されている、符号化/復号中の特定のピクチャをブロックに分割してもよい。現在のピクチャ中のブロックが映像中の、以前にコーディングされて依然としてバッファリングされている参照ピクチャ中の参照ブロックに類似する場合、現在のピクチャ中のブロックを、動きベクトルと称されているベクトルによってコーディングしてもよい。動きベクトルは参照ピクチャ中で参照ブロックの方に向いており、複数の参照ピクチャが用いられる場合、第3の次元を持って参照ピクチャを特定することができる。
【0073】
いくつかの実施形態では、ピクチャ間予測に双予測法(bi-prediction technique)を用いることができる。この双予測法によれば、映像中の現在のピクチャよりも復号順でともに先行する(これとは異なり、表示順でそれぞれ過去又は未来にあってもよい)第1の参照ピクチャ及び第2の参照ピクチャなどの2つの参照ピクチャを用いる。第1の参照ピクチャ中で第1の参照ブロックの方に向いている第1の動きベクトルと、第2の参照ピクチャ中で第2の参照ブロックの方に向いている第2の動きベクトルとによって現在のピクチャ中のブロックをコーディングすることができる。第1の参照ブロックと第2の参照ブロックとの組合せによってこれらを併用してブロックを予測することができる。
【0074】
さらに、ピクチャ間予測にマージモード法を用いてコーディング効率を改善することができる。
【0075】
本開示のいくつかの実施形態に係れば、ピクチャ間予測やピクチャ内予測などの予測をブロックの単位で行なう。たとえば、圧縮のために一連の映像ピクチャ中のピクチャをコーディングツリーユニット(CTU)に分割し、ピクチャ中のCTUは同じサイズ(たとえば64×64個の画素、32×32個の画素又は16×16個の画素)を持ってもよい。一般的に、CTUは並列する3つのコーディングツリーブロック(CTB)、すなわち、1つのルマ CTBと2つのクロマ 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は1つのルマ予測ブロック(prediction block:PB)と2つのクロマ PBとを含む。一実施形態では、コーディングの予測動作(符号化/復号)を予測ブロックの単位で行なう。CUのPU(又は異なる色チャンネルのPB)への分割を様々な空間パターンで実行してもよい。ルマ PB又はクロマ PBは、たとえば、8×8個の画素、16×16個の画素、8×16個の画素、16×8個のサンプルなどのサンプルの値(たとえば、ルマ値)の行列を含んでもよい。
【0076】
図7は本開示の別の実施形態に係る映像エンコーダ(703)の図を示す。映像エンコーダ(703)は、一連の映像ピクチャ中の現在の映像ピクチャ中のサンプル値の処理ブロック(たとえば予測ブロック)を受けて、処理ブロックを符号化して、コーディング済み映像シーケンスの一部であるコーディング済みピクチャにするように構成されている。映像エンコーダ(703)の例を図4の例の映像エンコーダ(403)の代わりに用いてもよい。
【0077】
たとえば、映像エンコーダ(703)は8×8個のサンプルの予測ブロックなどの処理ブロックのサンプル値の行列を受ける。その後、映像エンコーダ(703)は、たとえばレート-歪み最適化(rate-distortion optimization:RDO)を用い、処理ブロックがイントラモードを用いて最も良くコーディングされるのか、インタモードを用いて最も良くコーディングされるのか、双予測モードを用いて最も良くコーディングされるのかを判断する。処理ブロックがイントラモードでコーディングされると判断される場合、映像エンコーダ(703)は処理ブロックを符号化してコーディング済みピクチャにするのにイントラ予測法を用いてもよく、処理ブロックがインタモード又は双予測モードでコーディングされると判断される場合、映像エンコーダ(703)は処理ブロックを符号化してコーディング済みピクチャにするのにインタ予測法又は双予測法をそれぞれ用いてもよい。いくつかの実施形態では、予測器外のコーディング動きベクトル構成要素の補助なしに1つ以上の動きベクトル予測器から動きベクトルを得るピクチャ間予測の下位モードとしてマージモードを用いてもよい。いくつかの他の実施形態では、対象となるブロックに適用可能な動きベクトル構成要素が存在してもよい。したがって、映像エンコーダ(703)は処理ブロックの予測モードを判断するモード判定モジュールなど、図7に明示的には示されていない構成要素を含んでもよい。
【0078】
図7の例では、映像エンコーダ(703)は、図7の配置例に示されているように接続され合っている、インタエンコーダ(730)、イントラエンコーダ(722)、残差値計算器(723)、スイッチ(726)、残差値エンコーダ(724)、統括コントローラ(721)及びエントロピエンコーダ(725)を含む。
【0079】
インタエンコーダ(730)は、現在のブロック(たとえば処理ブロック)のサンプルを受け、当該ブロックを参照ピクチャ中の1つ以上の参照ブロック(たとえば、表示順で前のピクチャ及び後のピクチャ中のブロック)と比較し、インタ予測情報(たとえば、インタ符号化法にしたがった冗長情報の記述、動きベクトル、マージモード情報)を生成し、任意の適切な技術を用いてインタ予測情報に基づいてインタ予測結果(たとえば、予測されたブロック)を計算するように構成されている。いくつかの例では、参照ピクチャは、図6のエンコーダ620の例に組み込まれている復号部633(図7の残差デコーダ728(さらに詳細に後述されている)として示されている)を用いて、符号化された映像情報に基づいて復号された復号済み参照ピクチャである。
【0080】
イントラエンコーダ(722)は、現在のブロック(たとえば処理ブロック)のサンプルを受け、当該ブロックを同じピクチャ中の既にコーディングされたブロックと比較し、変換後の量子化された係数を生成し、場合によって、イントラ予測情報(たとえば、1つ以上のイントラ符号化技術にしたがったイントラ予測方向情報)も生成するように構成されている。イントラエンコーダ(722)はイントラ予測情報と同じピクチャ中の参照ブロックとに基づいてイントラ予測結果(たとえば予測されたブロック)を計算してもよい。
【0081】
統括コントローラ(721)を、統括制御データを決定して、統括制御データに基づいて映像エンコーダ(703)の他の構成要素を制御するように構成してもよい。一例では、統括コントローラ(721)はブロックの予測モードを決定し、予測モードに基づいて制御信号をスイッチ(726)に提供する。たとえば、予測モードがイントラモードである場合、統括コントローラ(721)は残差値計算器(723)によって用いられるものについてイントラモード結果を選択するようにスイッチ(726)を制御し、イントラ予測情報を選択してイントラ予測情報をビットストリームに含めるようにエントロピエンコーダ(725)を制御し、また、ブロックのプリディケーションモード(predication mode)がインタモードである場合、統括コントローラ(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)は(クオンタイザパラメータ(QP)を含むように)特定の制御情報も利用してもよく、当該情報はエントロピデコーダ(871)によって提供されてもよい(これは少量のデータ量しかない制御情報であるといえるので、データ経路は示されていない)。
【0090】
再構成モジュール(874)を、空間ドメインにおいて、残差デコーダ(873)によって出力された残差と予測結果(場合に応じてインタ予測モジュール又はイントラ予測モジュールによって出力される)とを組み合せて、再構成された映像の一部として再構成されたピクチャの一部を形成する再構成されたブロックを形成するように構成してもよい。デブロック動作などの他の適切な動作を行なって、映像品質を改善することもできることに留意する。
【0091】
映像エンコーダ(403)、(603)及び(703)と映像デコーダ(410)、(510)及び(810)とを任意の適切な手法を用いて実施することができることに留意する。いくつかの実施形態では、映像エンコーダ(403)、(603)及び(703)と映像デコーダ(410)、(510)及び(810)とを1つ以上の集積回路を用いて実施することができる。別の実施形態では、映像エンコーダ(403)、(603)及び(603)と映像デコーダ(410)、(510)及び(810)とをソフトウェア指示を実行する1つ以上のプロセッサを用いて実施することができる。
【0092】
コーディング及び復号に用いられるブロック分割に注目すると、一般的な分割はベースブロックを起点として、既定の規則集合、特定のパターン、分割ツリーや、なんらかの分割構造や方式にしたがうことができる。分割は階層的であっても再帰的であってもよい。後述されている分割手順の例や他の手順や、これらの組合せのいずれかにしたがってベースブロックを分ける、すなわち分割した後、分割部すなわちコーディングブロックの最終的な集合を取得することができる。このような分割部の各々は分割階層の様々な分割レベルの1つにある分割部であってもよく、様々な形状であってもよい。分割部の各々はコーディングブロック(coding block:CB)と称される場合がある。以下でさらに説明されている様々な分割実現例では、得られた各CBは許容されるサイズ及び許容される分割レベルのいずれかのCBであってもよい。このような分割部は単位(unit)を形成することができ、単位に対して、コーディング/復号のいくつかの基本的な判断を行なうことができ、符号化された映像ビットストリームにおいてコーディング/復号パラメータの最適化、決定、シグナリングを行なうことができるので、このような分割部はコーディングブロックと称される。最終的な分割部の最高レベル又は最深レベルはツリーのコーディングブロック分割構造の深度を表わす。コーディングブロックはルマコーディングブロックであってもクロマコーディングブロックであってもよい。各色のCBツリー構造はコーディングブロックツリー(CBT)と称される場合がある。
【0093】
すべての色チャンネルのコーディングブロックをまとめてコーディングユニット(CU)と総称する場合がある。すべての色チャンネルに用いられるものについての階層構造をまとめてコーディングツリーユニット(CTU)と総称する場合がある。CTUにおける様々な色チャンネルの分割パターン又は構造は同じであってもよいし同じでなくてもよい。
【0094】
いくつかの実現例では、ルマチャンネルとクロマチャンネルとに用いられる分割ツリー方式又は構造が同じである必要はない場合がある。言い換えると、ルマチャンネルとクロマチャンネルとが別々のコーディングツリー構造又はパターンを持つ場合がある。さらに、ルマ及びクロマチャンネルに同じコーディング分割ツリー構造が用いられるのか異なるコーディング分割ツリー構造が用いられるのかと、用いられる実際のコーディング分割ツリー構造とが、コーディング中のスライスがPスライスであるのかBスライスであるのかIスライスであるのかのいずれなのかに依存してもよい。たとえば、Iスライスでは、クロマチャンネルとルマチャンネルとが別々のコーディング分割ツリー構造又はコーディング分割ツリー構造モードを持ってもよい一方で、Pスライス又はBスライスでは、ルマチャンネルとクロマチャンネルとが同じコーディング分割ツリー方式を共有してもよい。別々のコーディング分割ツリー構造又はモードが適用される場合、ルマチャンネルを所定のコーディング分割ツリー構造によってCBに分割することができ、クロマチャンネルを別のコーディング分割ツリー構造によってクロマ CBに分割することができる。
【0095】
いくつかの実現例では、既定の分割パターンをベースブロックに適用することができる。図9に示されているように、4通りの分割ツリーの例で、最初の既定のレベル(ベースブロックサイズとして、たとえば64×64ブロックレベルやその他サイズ)を起点とすることができ、ベースブロックを分割して既定の最低レベル(たとえば4×4レベル)まで階層を下げることができる。たとえば、ベースブロックに902、904、906及び908によって示されている既定の4つの分割選択肢すなわち分割パターンが適用されてもよく、図9に示されている同じ分割選択肢を最低レベル(たとえば4×4レベル)までより小さいスケールで繰り返すことができる点で、Rで示されている分割部を再帰的分割に用いることができる。いくつかの実現例では、図9の分割方式には別の制限が適用される場合がある。図9の実現例において、矩形分割部(たとえば、1:2/2:1の矩形分割)を用いることができるが、矩形分割部を再帰的にすることはできない一方で、正方形分割部を再帰的にすることができる。必要な場合に再帰を用いる図9にしたがって分割することで、コーディングブロックの最終的な集合が生成される。ルートノードすなわちルートブロックを起点とする分割深度を示すようにコーディングツリー深度をさらに定めてもよい。たとえば、ルートノードすなわちルートブロック(たとえば64×64ブロック)のコーディングツリー深度を0に設定することができ、さらに、ルートブロックを図9にしたがって1回分割した後は、コーディングツリー深度が1だけ増加する。64×64ベースブロックから4×4の最小分割部までの最大レベルすなわち最深レベルは上記の方式では4(レベル0を起点とする)になる。このような分割方式を色チャンネルの1つ以上に適用することができる。各色チャンネルを図9の方式にしたがって個別に分割することができる(たとえば、各階層レベルの色チャンネル毎に既定のパターンから分割パターンすなわち選択肢を個別に決定してもよい)。これの代わりに、色チャンネルの2つ以上が図9の同じ階層パターンツリーを共有してもよい(たとえば、各階層レベルの2つ以上の色チャンネルに対して既定のパターンから同じ分割パターンすなわち選択肢を選択してもよい)。
【0096】
図10は再帰的分割によって分割ツリーを形成するのを可能にする既定の分割パターンの別の例を示す。図10に示されているように、10通りの分割構造すなわちパターンの例を既定することができる。ルートブロックは既定のレベル(たとえば128×128レベルや64×64レベルのベースブロック)を起点とすることができる。図10の分割構造の例は様々な2:1/1:2矩形分割部及び4:1/1:4矩形分割部を含む。図10の2行目にある3つの細分物表示物1002、1004、1006及び1008を持つ分割タイプは「Tタイプ」分割に適用される場合がある。「Tタイプ」分割1002、1004、1006及び1008は左Tタイプ、上Tタイプ、右Tタイプ及び下Tタイプと称される場合がある。いくつかの実現例では、図10の矩形分割のいずれもさらに細分することができない。ルートノードすなわちルートブロックを起点とする分割深度を示すようにコーディングツリー深度をさらに定めてもよい。たとえば、ルートノードすなわちルートブロック(たとえば128×128ブロック)のコーディングツリー深度を0に設定することができ、さらに、ルートブロックを図10にしたがって1回分割した後は、コーディングツリー深度が1だけ増加する。いくつかの実現例では、図10のパターンにしたがって分割ツリーの次のレベルにする再帰的分割には、1010にある、すべてが正方形の分割しか用いることができない。言い換えると、Tタイプパターン1002、1004、1006及び1008中の正方形分割部には再帰的分割を用いることができない。必要な場合に再帰を用いる図10にしたがう分割手順を用いることで、コーディングブロックの最終的な集合が生成される。このような方式を色チャンネルの1つ以上に適用することができる。いくつかの実現例では、8×8レベル以下の分割の使用に対してより高い柔軟性を付加することができる。たとえば、いくつかの例に2×2 クロマインタ予測を用いることができる。
【0097】
コーディングブロック分割の他の実現例では、ベースブロック又は中間ブロックを四分木分割部に分割するのに四分木構造を用いることができる。このような四分木分割をあらゆる正方形形状の分割に階層的かつ再帰的に適用することができる。ベースブロック又は中間ブロック/分割部の様々な局所的特徴に合せて、ベースブロック又は中間ブロックすなわち分割部をさらに四分木分割するかの可否を最適化することができる。さらに、ピクチャ境界での四分木分割を最適化することができる。たとえば、サイズがピクチャ境界に適するまでブロックが四分木分割され続けるように、ピクチャ境界で暗示的な(implicit)四分木分割を実行してもよい。
【0098】
他の実現例では、ベースブロックを起点とする階層的な二分分割を用いることができる。このような方式では、ベースブロック又は中間レベルブロックを2つの分割部に分割することができる。二分分割は水平と垂直とのいずれであってもよい。たとえば、水平二分分割はベースブロック又は中間ブロックを均等な左右の分割部に分割することができる。同様に、垂直二分分割はベースブロック又は中間ブロックを均等な上下の分割部に分割することができる。このような二分分割は階層的かつ再帰的であってもよい。ベースブロック又は中間ブロックの各々で、二分分割方式を継続するか否かを判断することができ、この方式をさらに継続する場合は、水平二分分割を用いるべきか垂直二分分割を用いるべきかを判断することができる。いくつかの実現例では、既定の最小分割サイズでこれ以上の分割を止めることができる(一方の次元の最小分割サイズと両方の次元の最小分割サイズとのいずれでも止めることができる)。これの代わりに、ベースブロックを起点とする既定の分割レベルすなわち深度に達したら、これ以上の分割を止めてもよい。いくつかの実現例では、分割部のアスペクト比を制限することができる。たとえば、分割部のアスペクト比を1:4未満(又は4:1を超える)にすることができない。したがって、垂直対水平アスペクト比が4:1である垂直短冊状分割部については、垂直に上下の分割部にさらに二分分割することしかできず、上下の分割部の各々の垂直対水平アスペクト比は2:1である。
【0099】
さらにいくつかの他の例では、ベースブロック又はいずれかの中間ブロックを分割するのに図13に示されているような三分分割方式を用いることができる。三分パターンを図13の1302に示されているように垂直に実施したり図13の1304に示されているように水平に実施したりすることができる。図13の分割比の例は垂直と水平とのいずれでも1:2:1として示されているが、他の比を既定してもよい。いくつかの実現例では、2つ以上の異なる比を既定してもよい。四分木と二分木とが常にブロック中央に沿って分割されるためにオブジェクトを別々の分割部に分割させるのに対して、このようなトリプルツリー分割は切れ目がなく連続する1つの分割部のブロック中央にあるオブジェクトを捕えることができるという点で四分木又は二分分割構造を補完するのにこのような三分分割方式を用いることができる。いくつかの実現例では、典型的なトリプルツリーの分割部の幅及び高さはさらなる変換を避けるために常に2の累乗である。
【0100】
上記の分割方式を様々な分割レベルであらゆる仕方で組み合せることができる。一例として、上述の四分木分割方式と二分分割方式とを組み合せてベースブロックを四分木-二分木(quadtree-binary-tree:QTBT)構造に分割してもよい。このような方式では、ベースブロック又は中間ブロック/分割部は、既定の条件の集合(条件が指定される場合)にしたがって、四分木分割か二分分割かのいずれかであってもよい。特定の例を図14に示す。図14の例では、まず、ベースブロックが1402、1404、1406及び1408に示されている4つの分割部に四分木分割される。その後、得られた分割部の各々は次のレベルの4つのさらなる分割部に四分木分割されるか(たとえば1408)、2つのさらなる分割部に二分分割されるか(たとえば、1402又は1406のように水平か垂直かのいずれかに分割され、その両方とも対称形である)、分割されないか(たとえば1404)のいずれかになる。1410の典型的な分割パターン全体と、1420の対応するツリー構造/表現とに示されているように、二分分割又は四分木分割を正方形形状の分割部に再帰的に用いることができる。1410及び1420では、実線が四分木分割を表わし、破線が二分分割を表わす。各二分分割ノード(葉でない二分分割)にフラグを用いて、二分分割が水平であるのか垂直であるのかを示すことができる。たとえば、1410の分割構造と整合する1420に示されているように、フラグ「0」が水平二分分割を表わすといえ、フラグ「1」が垂直二分分割を表わすといえる。四分木分割の分割部については、四分木分割では、同サイズの4つのサブブロック/分割部が生成されるように常に水平と垂直との両方でブロックすなわち分割部が分割されるので、分割タイプを示す必要がない。いくつかの実現例では、フラグ「1」が水平二分分割を表わしてもよく、フラグ「0」が垂直二分分割を表わしてもよい。
【0101】
QTBTのいくつかの実現例では、四分木分割及び二分分割の規則集合を以下の既定のパラメータと、これに関連する対応する機能とによって表わすことができる。
CTUサイズ:四分木のルートノードサイズ(ベースブロックのサイズ)
MinQTSize:最小許容四分木葉ノードサイズ
MaxBTSize:最大許容二分木ルートノードサイズ
MaxBTDepth:最大許容二分木深度
MinBTSize:最小許容二分木葉ノードサイズ
【0102】
QTBT分割構造のいくつかの実現例では、CTUサイズを、クロマサンプルの対応する64×64ブロックを有する128×128 ルマサンプルとして設定することができ(典型的なクロマサブサンプリングを想定して用いる場合)、MinQTSizeを16×16として設定することができ、MaxBTSizeを64×64として設定することができ、MinBTSize(幅と高さとの両方のMinBTSize)を4×4として設定してもよく、MaxBTDepthを4として設定することができる。最初に四分木葉ノードを生成するように四分木分割をCTUに適用することができる。四分木葉ノードは四分木葉ノードがとり得る最小サイズ16×16(すなわちMinQTSize)から128×128(すなわちCTUサイズ)のサイズをとることができる。ノードが128×128である場合、サイズがMaxBTSize(すなわち64×64)を超えるので、最初に二分木によって分割されない。これ以外の場合に、MaxBTSizeを超えないノードを二分木によって分割することができる。図14の例では、ベースブロックは128×128である。既定の規則集合にしたがえば、基本ブロックには四分木分割しか行なうことができない。ベースブロックの分割深度はゼロである。得られた4つの分割部の各々は64×64であって、MaxBTSizeを超えず、レベル1で各分割部をさらに四分木分割又は二分木分割することができる。プロセスが進行する。二分木深度がMaxBTDepth(すなわち4)に達するときに、これ以上分割されないとみなすことができる。二分木ノードの幅がMinBTSize(すなわち4)に等しいときに、これ以上水平分割されないとみなすことができる。同様に、二分木ノードの高さがMinBTSizeに等しいときに、これ以上垂直分割されないとみなされる。
【0103】
いくつかの実現例では、上記のQTBT方式を、同じQTBT構造を持つルマ及びクロマの柔軟性に対応するように構成することができるし、別々のQTBT構造を持つルマ及びクロマの柔軟性に対応するように構成することもできる。たとえば、Pスライス及びBスライスでは、1つのCTU中のルマ CTBとクロマ CTBとが同じQTBT構造を共有してもよい。一方で、Iスライスでは、ルマ CTBをQTBT構造によってCBに分割してもよく、クロマ CTBを別のQTBT構造によってクロマ CBに分割してもよい。このことは、Iスライス中の異なる色チャンネルに適用するのにCUを用いることができ、たとえば、Iスライスがルマ成分のコーディングブロック又は2つのクロマ成分のコーディングブロックからなり得、Pスライス又はBスライスのCUが3つのすべての色成分のコーディングブロックからなり得ることを意味する。
【0104】
他の実現例では、QTBT方式を上述の三分方式を用いて補完することができる。このような実現例はマルチタイプツリー(multi-type-tree:MTT)構造と称される場合がある。たとえば、ノードの二分分割に加えて、図13の三分分割パターンの一方を選択することができる。いくつかの実現例では、正方形ノードのみに三分分割を施すことができる。三分分割が水平であるのか垂直であるのかを示すのにさらに別のフラグを用いることができる。
【0105】
QTBT実現例や、三分分割によって補完されるQTBT実現例などの2レベルツリーやマルチレベルツリーを設計しようとしたのは主に複雑さを緩和するためであるといえる。理論上、ツリーにわたる複雑さはTDである。ここで、Tは分割タイプの個数を示し、Dはツリーの深度である。深度(D)を削減しつつ複数のタイプ(T)を用いることでトレードオフを図ることができる。
【0106】
いくつかの実現例では、CBをさらに分割することができる。たとえば、コーディングプロセス及び復号プロセスの際のフレーム内予測又はフレーム間予測のための複数の予測ブロック(prediction block:PB)にCBをさらに分割することができる。言い換えると、CBを異なる細分部にさらに分割することができ、個別の予測判断/構成を行なうことができる。これと平行して、映像データの変換又は逆変換が実行されるレベルを定めるために複数の変換ブロック(transform block:TB)にCBをさらに分割することができる。CBをPB及びTBに分割する方式は同じであっても同じでなくてもよい。たとえば、各分割方式をたとえば映像データの様々な特徴に基づいてその分割方式独自の手順を用いて実行してもよい。いくつかの実現例では、PB分割方式とTB分割方式とが無関係であってもよい。他の実現例では、PB及びTB分割方式と境界とが相関してもよい。I実現例、たとえば、PB分割の後にTBを分割してもよく、特に、コーディングブロックの分割にしたがって判断された後に、各PBを1つ以上のTBにさらに分割してもよい。たとえば、いくつかの実現例では、PBを1つのTB、2つのTB、4つのTBや他の個数のTBに分割してもよい。
【0107】
いくつかの実現例では、ベースブロックをコーディングブロックに分割し、さらに予測ブロック及び/又は変換ブロックに分割する場合に、ルマチャンネルとクロマチャンネルとを異なる仕方で扱うことができる。たとえば、いくつかの実現例では、コーディングブロックの予測ブロック及び/又は変換ブロックへの分割をルマチャンネルに用いることができるのに対して、コーディングブロックの予測ブロック及び/又は変換ブロックへの当該分割を1つ以上のクロマチャンネルに用いることができない。したがって、このような実現例では、コーディングブロックレベルではルマブロックの変換及び/又は予測のみを実行することができる。別の例では、ルマチャンネルと1つ以上のクロマチャンネルとの最小変換ブロックサイズが異なってもよく、たとえば、ルマチャンネルのコーディングブロックをクロマチャンネルよりも小さい変換ブロック及び/又は予測ブロックに分割することを可能にしてもよい。さらに別の例では、コーディングブロック及び/又は予測ブロックを変換ブロックに分割する最大深度がルマチャンネルとクロマチャンネルとで異なってもよく、たとえば、ルマチャンネルのコーディングブロックを1つ以上のクロマチャンネルよりも深い変換ブロック及び/又は予測ブロックに分割することを可能にしてもよい。特定の例では、ルマコーディングブロックを複数のサイズの変換ブロックに分割してもよく、このことを、最大2レベル分下がる再帰的分割と表現することができ、正方形、2:1/1:2や4:1/1:4などの変換ブロックの形状と、4×4から64×64の変換ブロックサイズとを可能にしてもよい。これに対して、クロマブロックでは、ルマブロックに対して指定されている可能な最大変換ブロックのみを可能にしてもよい。
【0108】
コーディングブロックをPBに分割するいくつかの実現例では、PB分割の深度、形状及び/又はその他特性が、PBがイントラコーディングされるのかインタコーディングされるのかに依存してもよい。
【0109】
コーディングブロック(又は予測ブロック)の変換ブロックへの分割を、四分木分割と既定のパターン分割とを含む(ただしこれらに限定されない)様々な典型的な方式で再帰的に実施しても再帰的ではない仕方で実施してもよく、コーディングブロック又は予測ブロックの境界で変換ブロックについてさらに検討して実施してもよい。一般的に言えば、得られた変換ブロックが異なる分割レベルの変換ブロックであってもよく、同じサイズの変換ブロックでなくてもよく、形状が正方形であることを要さなくてもよい(たとえば、いくつかの許容サイズ及びアスペクト比を持つ矩形であることが可能である)。図15図16及び図17に関してさらなる例が以降でさらに詳細に説明されている。
【0110】
上記の仕方に対して、他の実現例では、上記の分割方式のいずれかを通じて得られたCBを基本コーディングブロックすなわち最小コーディングブロックとして予測及び/又は変換に用いてもよい。言い換えると、インタ予測/イントラ予測の目的及び/又は変換の目的でこれ以上分割が実行されない。たとえば、上記のQTBT方式から得られるCBを、予測を実行するための単位として直接用いてもよい。具体的には、このようなQTBT構造において複数の分割タイプというコンセプトを排除し、すなわち、CU、PU及びTUの分離を排除して、上述のCU/CB分割形状のより高い柔軟性に対応する。このようなQTBTブロック構造では、CU/CBが正方形形状と矩形形状とのいずれも持つことができる。このようなQTBTの葉ノードがこれ以上一切分割することなく予測及び変換処理のための単位として用いられる。このことは、このようなQTBTコーディングブロック構造の例ではCU、PU及びTUのブロックサイズが同じであることを意味する。
【0111】
上記の様々なCB分割方式とCBをPB及び/又はTBにさらに分割すること(PB/TB分割を含まない)とをあらゆる仕方で組み合せてもよい。以下の特定の実現例は限定を課さない例として提供されている。
【0112】
以下、コーディングブロック分割及び変換ブロック分割の特定の実現例を説明する。このような実現例では、再帰的四分木分割又は上述の既定の分割パターン(図9及び図10の分割パターンなど)を用いてベースブロックをコーディングブロックに分割することができる。レベル毎に、特定の分割部をさらに四分木分割することを継続するべきか否かを局所的な映像データ特性によって判断することができる。得られたCBが様々な四分木分割レベルのCBであってもよく、様々なサイズのCBであってもよい。ピクチャエリアをピクチャ間(時間的)予測を用いてコーディングするべきかピクチャ内(空間的)予測を用いてコーディングするべきかの判断をCBレベルで行なうことができる(三色チャンネルすべてに対してCUレベルで行なうこともできる)。既定のPB分割タイプに応じて各CBを1つのPB、2つのPB、4つのPBや他の個数のPBにさらに分割することができる。1つのPB中では、同じ予測プロセスを適用することができ、関連情報をPB単位でデコーダに送ることができる。PB分割タイプに基づいて予測プロセスを適用することによって残差ブロックを取得した後、CBのコーディングツリーと同様の別の四分木構造にしたがってCBをTBに分割することができる。この特定の実現例では、CB又はTBを正方形形状に限定してもよいが、限定せざるを得ないわけではない。さらにこの特定の例では、インタ予測の場合にはPBが正方形形状であっても矩形形状であってもよく、イントラ予測の場合にはPBが正方形に限られてもよい。コーディングブロックをたとえば4つの正方形形状のTBに分割してもよい。さらに各TBをより小さいTBに(四分木分割を用いて)再帰的に分割してもよく、これは残差四分木(Residual Quadtree:RQT)と称される。
【0113】
以下、ベースブロックをCB、PB及び/又はTBに分割する別の実現例をさらに説明する。たとえば、図9又は図10に示されているものなどの複数の分割単位タイプを用いるのではなく、二分分割の分割構造と三分分割の分割構造とを用いるネスト化マルチタイプツリーをともなう四分木(たとえば、上述されているQTBT又は三分分割をともなうQTBT)を用いることができる。CB、PB及びTBの分離(すなわち、CBのPB及び/又はTBへの分割と、PBのTBへの分割)を、最大変換長に対してサイズが過大であるCB(このようなCBはさらに分割する必要がある場合がある)に必要な場合を除いて、中止することができる。これ以上分割せずに予測と変換との両方をCBレベルに対して実行することができるように、CB分割形状のより高い柔軟性に対応するようにこの典型的な分割方式を設計することができる。このようなコーディングツリー構造では、CBが正方形形状と矩形形状とのいずれも持つことができる。特に、コーディングツリーブロック(CTB)を最初に四分木構造によって分割することができる。その後、四分木葉ノードをネスト化マルチタイプツリー構造によってさらに分割することができる。二分分割又は三分分割を用いるネスト化マルチタイプツリー構造の例が図11に示されている。特に、図11の典型的なマルチタイプツリー構造は垂直二分分割(SPLIT_BT_VER)(1102)、水平二分分割(SPLIT_BT_HOR)(1104)、垂直三分分割(SPLIT_TT_VER)(1106)及び水平三分分割(SPLIT_TT_HOR)(1108)と称される4つの分割タイプを含む。その後、CBはマルチタイプツリーの葉に対応する。本実現例では、CBが最大変換長に対して過大である場合を除いて、このセグメンテーションがこれ以上一切分割することなく予測処理と変換処理との両方に用いられる。このことは、ほとんどの場合にネスト化マルチタイプツリーコーディングブロック構造をともなう四分木においてCB、PB及びTBのブロックサイズが同じであることを意味する。対応可能な最大変換長がCBの色成分の幅又は高さ未満である場合に例外が生じる。いくつかの実現例では、二分分割又は三分分割に加えて、図11のネスト化パターンは四分木分割をさらに含むことができる。
【0114】
1つのベースブロックに対するブロック分割のネスト化マルチタイプツリーコーディングブロック構造をともなう四分木(四分木選択肢、二分分割選択肢及び三分分割選択肢を含む)の特定の例の1つが図12に示されている。さらに詳細に説明すると、図12はベースブロック1200が4つの正方形分割部1202、1204、1206及び1208に四分木分割される様子を示している。さらに分割するのに図11のマルチタイプツリー構造と四分木とをさらに用いるべきかが四分木分割の分割部毎に判断される。図12の例では、分割部1204はこれ以上分割されない。分割部1202及び1208の各々には別の四分木分割が用いられる。分割部1202では、第2レベルの四分木分割がなされた左上、右上、左下及び右下分割部に、四分木、図11の水平二分分割1104、分割なし及び図11の水平三分分割1108という第3レベル分割がそれぞれ用いられる。分割部1208には別の四分木分割が用いられ、第2レベルの四分木分割がなされた左上、右上、左下及び右下分割部に、図11の垂直三分分割1106、分割なし、分割なし及び図11の水平二分分割1104という第3レベル分割がそれぞれ用いられる。1208の第3レベル左上分割部の細分部の2つが図11の水平二分分割1104及び水平三分分割1108にしたがってそれぞれさらに分割される。分割部1206には図11の垂直二分分割1102にしたがう第2レベルの分割パターンが用いられて2つの分割部に分割され、2つの分割部は第3レベルで図11の水平三分分割1108及び垂直二分分割1102にしたがってさらに分割される。これらの1つに図11の水平二分分割1104にしたがって第4レベルの分割がさらに適用される。
【0115】
上記の特定の例では、最大ルマ変換サイズは64×64であってもよく、対応可能な最大クロマ変換サイズはルマとは異なる(たとえば32×32)ことが可能である。図12の上記の典型的なCBはより小さいPB及び/又はTBにさらに分割されないのが通常であるが、それでもルマコーディングブロック又はクロマコーディングブロックの幅又は高さが最大変換幅又は高さを超える場合は、ルマコーディングブロック又はクロマコーディングブロックを水平及び/又は垂直方向に自動的に分割して当該方向の変換サイズ制限を満たすことができる。
【0116】
上述されているベースブロックをCBに分割する特定の例では、上述されているように、コーディングツリー方式が、ルマとクロマとが別々のブロックツリー構造を持つことができることに対応することができる。たとえば、Pスライス及びBスライスでは、1つのCTU中のルマ CTBとクロマ CTBとが同じコーディングツリー構造を共有してもよい。Iスライスでは、たとえば、ルマとクロマとが別々のコーディングブロックツリー構造を持ってもよい。別々のブロックツリー構造が適用される場合、ルマ CTBを所定のコーディングツリー構造によってルマ CBに分割することができ、クロマ CTBを別のコーディングツリー構造によってクロマ CBに分割する。このことは、Iスライス中のCUがルマ成分のコーディングブロック又は2つのクロマ成分のコーディングブロックからなり得、Pスライス又はBスライス中のCUが、映像が単色映像である場合を除いて、常に3つのすべての色成分のコーディングブロックからなることを意味する。
【0117】
コーディングブロックが複数の変換ブロックにさらに分割される場合、コーディングブロック中の変換ブロックは様々な順序にしたがうビットストリーム中の順序であってもよいし、スキャンの仕方にしたがうビットストリーム中の順序であってもよい。コーディングブロック又は予測ブロックを変換ブロックに分割する実現例と変換ブロックのコーディング順序とがさらに詳細に後述されている。いくつかの実現例では、上述されているように、変換分割は、複数の形状(変換ブロックサイズの範囲がたとえば4×4から64×64である場合、たとえば1:1(正方形)、1:2/2:1や1:4/4:1)の変換ブロックに対応することができる。いくつかの実現例では、コーディングブロックが64×64以下である場合、クロマブロックでは変換ブロックサイズがコーディングブロックサイズと同一になるように変換ブロック分割をルマ成分のみに適用することができる。上記以外の場合において、コーディングブロックの幅又は高さが64を超えるときは、ルマコーディングブロックとクロマコーディングブロックとの両方をmin(W,64)×min(H,64)の倍数の変換ブロックとmin(W,32)×min(H,32)の倍数の変換ブロックとにそれぞれ暗示的に分割することができる。
【0118】
変換ブロック分割のいくつかの実現例において、イントラコーディングブロック及びインタコーディングブロックでは、既定のレベル数(たとえば2レベル)までの分割深度を用いてコーディングブロックを複数の変換ブロックにさらに分割することができる。変換ブロックの分割深度と分割サイズとを関連づけることができる。いくつかの実現例について、現在の深度の変換サイズから次の深度の変換サイズへの対応づけが表1に以下の通りに示されている。
【表1】
【0119】
表1の対応づけの例に基づいて、1:1正方形ブロックについては、次のレベルの変換分割部では4つの1:1正方形サブ変換ブロックを生じさせることができる。変換分割をたとえば4×4で中止することができる。したがって、4×4である現在の深度の変換サイズは次の深度では同じ4×4のサイズに対応する。表1の例では、正方形ではない1:2/2:1ブロックについては、次のレベルの変換分割部では2つの1:1正方形サブ変換ブロックを生じさせることができるのに対して、正方形ではない1:4/4:1ブロックについては、次のレベルの変換分割部では2つの1:2/2:1サブ変換ブロックを生じさせることができる。
【0120】
いくつかの実現例では、イントラコーディングブロックのルマ成分については、変換ブロック分割に関してさらに別の制限を適用することができる。たとえば、変換分割のレベル毎に、すべてのサブ変換ブロックを、サイズが等しいものに制限することができる。たとえば、32×16コーディングブロックについては、レベル1の変換分割部では2つの16×16+サブ変換ブロックを生じさせ、レベル2の変換分割部では8つの8×8サブ変換ブロックを生じさせる。言い換えると、transform unitを同サイズに保つようにすべての第1レベルのサブブロックに第2レベルの分割が適用されることが必ず行なわれる。表1にしたがうイントラコーディング正方形ブロックの場合の変換ブロック分割の例が図15に、矢印によって示されているコーディング順序とともに示されている。具体的に説明すると、1502は正方形コーディングブロックを示す。表1にしたがって第1レベル分割を行なって同サイズの4つの変換ブロックにするものが1504に示されており、コーディング順序が矢印によって示されている。表1にしたがって第1レベルの同サイズのブロックのすべてに対して第2レベル分割を行なって同サイズの16個の変換ブロックにするものが1506に示されており、コーディング順序が矢印によって示されている。
【0121】
いくつかの実現例では、インタコーディングブロックのルマ成分にはイントラコーディングに対する上記の制限を適用しなくてもよい。たとえば、第1レベルの変換分割の後、サブ変換ブロックのいずれか1つをさらに1レベル付け足して他とは無関係にさらに分割してもよい。したがって、得られた変換ブロックは同じサイズの変換ブロックである場合もあるし、同じサイズの変換ブロックでない場合もある。インタコーディングブロックを変換ブロックに分割する例がそのコーディング順序とともに図16に示されている。図16の例では、インタコーディングブロック1602が表1にしたがって2つのレベルの変換ブロックに分割される。第1レベルでは、インタコーディングブロックが同サイズの4つの変換ブロックに分割される。その後、4つの変換ブロックのうちの1つのみ(4つのすべてではない)が4つのサブ変換ブロックにさらに分割され、この結果、1604に示されているように異なる2つのサイズの合計7つの変換ブロックが得られる。これらの7つの変換ブロックのコーディング順序の例が図16の1604に矢印によって示されている。
【0122】
様々な実施形態では、映像コーディングプロセスの際、動作についてのデータをエントロピエンコーダ、たとえば、図6に示されているエントロピコーダ645や図7に示されているエントロピエンコーダ725の入力部に送ってもよい。エントロピエンコーダはビットストリーム(すなわち、コーディングされた映像シーケンス/ビットストリーム)を出力してもよく、これを伝送チャンネルを介して別のデバイスに送信してもよい。伝送チャンネルは有線を含んでも無線チャンネルを含んでも双方の組合せを含んでもよいが、これらに限定されない。様々な実施形態では、映像復号プロセスの際、コーディングされた映像シーケンス/ビットストリームをエントロピデコーダ、たとえば、図8のエントロピデコーダ871の入力部に送ってもよい。エントロピデコーダはコーディングされた映像シーケンス/ビットストリームに基づいて動作についてのデータを出力してもよく、これはイントラ予測情報、残差値情報などを含んでもよい。
【0123】
様々な実施形態では、エントロピコーダ/デコーダは算術コーディングを基礎としたシンボル(又は記号)の起生確率に基づく算術コーディングアルゴリズムにしたがって符号化/復号してもよい。いくつかの実現例では、コーディング/復号プロセスの際にシンボル(又は記号)の起生確率を動的に更新してもよい。たとえば、使用可能な2つの記号(「a」及び「b」)のみが存在し、「a」の起生確率をp_aと表記し、「b」の起生確率をp_bと表記すると、p_a+p_b=1(又は任意の他の定数値)である。したがって、「a」がコーディング/復号プロセスで出現すると、p_aはより大きい値に更新される場合があり、p_bはより小さい値に更新される場合がある。これは、これら値の和を一定にすることができるからである。この確率更新プロセスはいくつかの実現例では確率移行プロセスと呼ばれる場合があるし、他の実現例では確率状態インデックス更新プロセスと呼ばれる場合がある。
【0124】
いくつかの実現例では、たとえばHEVCで、エントロピコーダ/デコーダでcontext adaptive binary arithmetic coding(CABAC)アルゴリズムを用いてもよい。CABACアルゴリズムは可逆圧縮アルゴリズムであってもよく、CABACアルゴリズムでは異なる64個の代表的な確率状態間でルックアップテーブルを用いた確率移行プロセスを用いてもよい。
【0125】
いくつかの実現例では、映像フレームコンテンツを記述するシンタックス要素に二値算術コーディングを施し、二値binストリームとして符号化されたストリームを得る。CABACの際、最初の区間[0,1)を整数乗数(たとえば512)の分引き伸ばし、劣勢シンボルの確率(PLPS)を、商を四捨五入した整数の除数として表わしてもよい。その後、典型的な算術コーディングを用いた区間分割演算を、指定された解像度の整数演算を用いた近似計算として行なってもよい。
【0126】
いくつかの実現例では、LPS(RLPS)に対応する更新された区間長をRLPS=R*PLPSとして計算してもよい。ここで、Rは現在の区間長の値である。時間を短縮し、効率を高めるために、上記のような計算力を大量に用いる乗算演算を、予め計算された乗算結果を入力したルックアップテーブルに置き換えてもよく、これにより、LPSに対応する更新された区間長(ivLpsRange)を2つのインデックスpStateIdx及びqRangeIdxによって得ることができる(すなわち、ivlLpsRange=rangeTabLps[pStateIdx][qRangeIdx])。
【0127】
符号化/復号の際、符号化/復号されるbinの新たな値(binVal)が得られる毎に、確率値PLPSを再帰的に更新してもよい。たとえば、k番目のステップで(すなわち、k番目のbinの符号化又は復号の際)、binValがLPSの値である場合にはPLPSの新たな値をより大きい値になるように計算してもよいし、binValが優勢シンボル(MPS)の値である場合にはPLPSの新たな値をより小さい値になるように計算してもよい。
【0128】
いくつかの実現例では、PLPSは6ビットのpStateIdx変数のインデックスが付された64個の可能な値の1つであってもよい。インデックスpStateIdxを更新することによって確率値の更新を実現してもよく、これを、予め計算されたテーブルから値を探索することによって実行して計算能力を抑えかつ/又は効率を改善することができる。
【0129】
いくつかの実現例では、新たな区間範囲の計算の前に、コーディングエンジンの状態を表わす範囲ivlCurrRangeを量子化して4つの値の集合にしてもよい。ivlCurrRange*pLPS(pStateIdx)の値を近似するのにすべての64×4個の8ビットの予め計算された値を含むテーブルを用いて移行状態を実施してもよい。また、予め計算された1つのルックアップテーブル(LUT)を用いて復号判断を実施してもよい。最初のivlLpsRangeをLUTを用いて取得した後、ivlLpsRangeを用い、1つのLUTに基づいてivlCurrRangeを更新して出力binValを計算する。
【0130】
いくつかの実現例では、たとえばVCCで、確率を確率インデックスpStateIdxによって線形的に表現してもよい。したがって、すべての計算はLUT演算を用いない式で行なうことができる。確率推定の正確度を改善するために、図17に示されているような複数仮説確率更新モデルを用いてもよい。二値算術コーダで区間細分に用いられるpStateIdxが2つの確率pStateIdx0とpStateIdx1との組合せになっている。2つの確率は各コンテキストモデルに関連し、異なる適応率で個別に更新される。各コンテキストモデルのpStateIdx0及びpStateIdx1の適応率は関連するbinの統計量に基づいて予め訓練される。確率推定値pStateIdxは2つの仮説から得られる推定値の平均である。
【0131】
図17は1つの判断値(DecodeDecision)を復号するのに用いられるフローチャートを示し、これには算術復号エンジン(RenomD,1740)での正規化処理プロセスが含まれている。いくつかの実現例では、DecodeDecisionに対する入力はコンテキストテーブル(ctxTable)及びコンテキストインデックス(ctxIdx)であってもよい。変数ivlLpsRangeの値をステップ1710のように導出する。ivlCurrRangeの現在の値が与えられると、変数qRangeIdxがqRangeIdx=ivlCurrRange>>5のように導出される。ctxTable及びctxIdxに関連するqRangeIdx、pStateIdx0及びpStateIdx1が与えられると、valMps及びivlLpsRangeがpState=pStateIdx1+16*pStateIdx0、valMps=pState>>14及びivlLpsRange=(qRangeIdx*((valMps?32767-pState:pState)>>9)>>1)+4のように導出される。変数ivlCurrRangeはivlCurrRange-ivlLpsRangeになるように設定される。ivlOffsetがivlCurrRange以上である場合、変数binValが1-valMpsに等しくなるように設定され、ivlOffsetがivlCurrRangeだけ減少させられ、ivlCurrRangeがivlLpsRangeに等しくなるように設定される。別の場合には、変数binValがvalMpsに等しくなるように設定される。
【0132】
確率の更新について、状態移行プロセスの際、このプロセスに対する入力は現在のpStateIdx0及びpStateIdx1並びに復号された値binValであり、このプロセスの出力はctxTable及びctxIdxに関連するコンテキスト変数の更新されたpStateIdx0及びpStateIdx1である。1730でctxTable及びctxIdxに関連するshiftIdx値から変数shift0及びshift1が導出される。すなわち、shift0=(shiftIdx>>2)+2及びshift1=(shiftIdx&3)+3+shift0である。復号された値binValに応じて、ctxTable及びctxIdxに関連する2つの変数pStateIdx0及びpStateIdx1の更新値がpStateIdx0=pStateIdx0-(pStateIdx0>>shift0)+(1023*binVal>>shift0)及びpStateIdx1=pStateIdx1-(pStateIdx1>>shift1)+(16383*binVal>>shift1)のように得られる。
【0133】
いくつかの実現例では、たとえば、VVC CABACが、各スライスの先頭で呼び出される量子化パラメータ(QP)に依存する初期化プロセスを含んでもよい。スライスに対してルマ QPの初期値が与えられると、preCtxStateと表記されるコンテキストモデルの初期確率状態を、m=slopeIdx×5-45、n=(offsetIdx<<3)+7及びpreCtxState=Clip3(1,127,((m×(QP-32))>>4)+n)によって得ることができる。いくつかの実現例では、slopeIdx及びoffsetIdxは3ビットに制限され、初期化値全体は6ビットの精度で表わされる。確率状態preCtxStateは線形領域の確率を直接表わすことができる。したがって、preCtxStateは算術コーディングエンジンに対する入力前の適切なシフト操作しか必要とせずに済み、対数領域から線形領域へのマッピングと256バイトのテーブルとを既定してメモリに記憶/セーブすることができる。pStateIdx0=preCtxState<<3及びpStateIdx1=preCtxState<<7によってpStateIdx0及びpStateIdx1を得ることができる。
【0134】
いくつかの実現例では、CABACアルゴリズムには二値を基礎としたものを用いてもよく、これは使用可能な2つの記号/シンボル(たとえば「0」及び「1」)を含む。二値を用いる算術コーディングアルゴリズムでは、使用可能な2つの記号/シンボルを劣勢シンボル(LPS)及び優勢シンボル(MPS)とも称する場合がある。
【0135】
本開示では、二値シンボル算術システムに関連する少なくとも1つの問題/課題を解決して効率を改善しかつ/又は柔軟性を高める、複数シンボル算術コーディング及び/又は復号を実施するための様々な実施形態が説明されている。
【0136】
いくつかの実現例では、エントロピエンコーダ又はデコーダでM-ary基底を用いた算術アルゴリズムを用いてもよく、これは使用可能なM個の記号/シンボルを含む。Mは2から16の任意の整数値であってもよい。限定を課さない例として、M=5の場合、M-ary基底が使用可能な5つの記号/シンボルを含み、これらは「0」、「1」、「2」、「3」及び「4」と表記されている場合がある。
【0137】
シンタックス要素をエントロピコーディングするのにM-ary算術コーディングエンジンを用いる。各シンタックス要素はM個の要素のアルファベットに関連する。エンコーダ又はデコーダに対する入力として、コーディングコンテキストがM個の確率の集合とともに一連のM-aryシンボルを含んでもよい。M個の確率の各々はM-aryシンボルの各々に対応してもよく、これを累積分布関数(CDF)によって表わしてもよい。いくつかの実現例では、M-aryシンボルの累積分布関数がC=[c0,c1,…,c(M-2),c(M-1)]と表記されている場合がある。いくつかの実現例では、M-aryシンボルの累積分布関数をM個の15ビットの整数の配列で表わしてもよい。ここで、c(M-1)=215であり、cn/32768はn以下のシンボルの確率であり、nは0からM-1の整数である。
【0138】
いくつかの実現例では、各シンタックス要素のコーディング/パースの後にM個の確率(すなわち累積分布関数の配列)を更新してもよい。いくつかの実現例では、各M-aryシンボルのコーディング/復号の後にM個の確率(すなわち累積分布関数の配列)を更新してもよい。限定を課さない例として、累積分布関数の配列が[c0,c1,…,c(M-2),c(M-1)]を含むので、M=4の場合、累積分布関数の配列は[c0,c1,c2,c3]を含む。
【0139】
いくつかの実現例では、M個の確率(すなわち、累積分布関数の配列)の更新を以下の式を用いて行なってもよい。
【数1】
【0140】
ここで、symbolは現在コーディング/復号がなされているM-aryシンボルであり、αは、シンボルがコーディング又は復号された回数(最大32回まで)に基づいて適応する確率更新率であり、mはCDFの要素のインデックスである。αのこの適応により、シンタックス要素のコーディング/パースの開始時に確率更新を素早く行なうことができる。限定を課さない例として、M=5であり、現在復号されているM-aryシンボルが「3」である場合、m∈[0,symbol)はm∈[0,3)になるといえ、ここで、mは0(0を含む)から3(3を含まない)の任意の整数が含まれ(すなわち、mは0、1及び2を含む)、また、m∈[symbol,M-1)はm∈[3,4)になるといえ、ここで、mは3(3を含む)から4(4を含まない)の任意の整数を含む(すなわち、mは3のみを含む)。
【0141】
いくつかの実現例では、M-ary算術コーディングプロセスが従来の算術コーディングエンジン設計を踏襲してもよい。ただし、15ビットの確率値の最上位9ビットのみが算術エンコーダ/デコーダに入力される。シンボルに関連する確率更新率αはビットストリームをパースするときの、関連するシンボルの出現数に基づいて計算され、αの値はフレームやタイルの先頭で以下の式を用いてリセットされる。
【0142】
いくつかの実現例では、一例として、
【数2】
であり、ここで、countはビットストリームをコーディング/パースするときの、関連するシンボルの出現数である。上記の式によって示されているように、確率更新率が先頭で大きい値を持ち(countが比較的小さい場合、たとえば16回の場合)、その後飽和する(countが比較的大きい場合、たとえば、32回や40回出現した後)ことが明らかである。
【0143】
いくつかの実現例では、すべてのコンテキストに単一の確率更新モデルを用いる場合があり、この場合、異なるシンタックスに対して確率更新モデルの最適な設計が異なる場合があるという事実、及び/又は単一の確率更新モデルが最適よりも劣る場合があるという事実が見落とされるおそれがある。本開示では、シンタックスに依存する確率更新モデルと複数パラメータ確率更新モデルとを適用する様々な実施形態が説明されており、これにより少なくとも上述の問題/課題に対処することができ、かつ/又はコーディング/復号パフォーマンスの改善を見込むことができる。
【0144】
図18は映像復号/符号化の際の複数シンボル算術コーディングの方法例1800のフローチャートを示す。復号方法例のフローはS1801から開始され、方法例はS1899で終了する。方法1800は指示を記憶するメモリと、メモリと通信するプロセッサとを備えるデバイスが、コーディングされた映像ビットストリームを受けるステップS1810、デバイスが、累積分布関数の配列と、対応するM個のシンボルとを取得するステップS1820であって、Mは1を超える整数である、ステップS1820、及び/又はデバイスが累積分布関数の配列に基づいて、少なくとも1つのシンボルを抽出するためにコーディングされた映像ビットストリームに算術復号を行なうステップS1830であって、抽出されたシンボル毎に、デバイスが少なくとも1つの確率更新率に基づいて抽出されたシンボルに応じて累積分布関数の配列を更新することと、デバイスが累積分布関数の更新された配列に基づいて、次のシンボルを抽出するためにコーディングされた映像ビットストリームに算術復号を継続することとによって算術復号を行なうステップS1830の一部又は全部を含んでもよい。いくつかの実現例では、累積分布関数の配列が[c0,c1,…,c(M-2),c(M-1)]を含んでもよい。限定を課さない例として、M=4の場合、累積分布関数の配列が[c0,c1,c2,c3]を含み、配列の各構成要素を15ビットの整数として計算してもよい。
【0145】
本開示の実施形態と実現例では、所望通りに任意のステップ及び/又は動作を任意の総数や順序で組み合せたり配置したりしてもよい。ステップ及び/又は動作の2つ以上を並列に実行してもよい。本開示の実施形態と実現例とを個別に用いたり任意の順序で組み合せたりしてもよい。さらに、方法(又は実施形態)、エンコーダ及びデコーダの各々を処理回路(たとえば、1つ以上のプロセッサや1つ以上の集積回路)によって実施してもよい。一例では、非一時的コンピュータ可読媒体に記憶されているプログラムを1つ以上のプロセッサが実行する。本開示の実施形態をルマブロック又はクロマブロックに適用してもよい。用語「ブロック」は予測ブロック、コーディングブロック又はコーディングユニット(すなわちCU)と解釈される場合がある。本開示における用語「ブロック」は変換ブロックを指すのにも用いられる場合がある。以下の事物について、ブロックサイズを説明する際には、ブロック幅若しくは高さ、又は幅及び高さの最大値、又は幅及び高さの最小値、又は面積寸法(幅×高さ)、又はブロックのアスペクト比(幅:高さ若しくは高さ:幅)を指す場合がある。
【0146】
方法1800に関するいくつかの実現例では、少なくとも1つの確率更新率が1つの確率更新率を備え、かつ/又は、この確率更新率が関数f(N,M)を備える。ここで、Nはコーディングされた映像ビットストリームをパースするときの、関連するシンボルの出現数である。
【0147】
方法1800に関するいくつかの実現例では、関数f(N,M)は
【数3】
を備え、ここで、A、B、C及びDは既定の関数パラメータであり、g(M,D)はDを関数パラメータとして持つ、Mの関数である。
【0148】
方法1800に関するいくつかの実現例では、g(M,D)はmin(log2(M),D)を備える。
【0149】
方法1800に関するいくつかの実現例では、既定の関数パラメータはタイル又はフレームを復号するために初期化される。
【0150】
方法1800に関するいくつかの実現例では、既定の関数パラメータは、ビデオパラメータセット(VPS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、適応パラメータセット(APS)、ピクチャヘッダ、フレームヘッダ、スライスヘッダ、タイルヘッダやコーディングツリーユニット(CTU)ヘッダの少なくとも1つを備えるハイレベルシンタックスから得られる。
【0151】
方法1800に関するいくつかの実現例では、関数f(N,M)は
【数4】
を備え、ここで、A、B、C、D及びEは既定の関数パラメータであり、g(M,E)はEを関数パラメータとして持つ、Mの関数である。いくつかの実現例では、A、B、C、D及びEは正の整数である。
【0152】
方法1800に関するいくつかの実現例では、関数f(N,M)は
【数5】
を備え、ここで、A及びBは既定の関数パラメータであり、LUT(N)はNをインデックスとして持つルックアップテーブルであり、g(M,B)はBを関数パラメータとして持つ、Mの関数である。いくつかの実現例では、A、B、N及びMは正の整数である。
【0153】
方法1800に関するいくつかの実現例では、少なくとも1つの確率更新率がK個の確率更新率を備え、Kは1を超える整数である。
【0154】
方法1800に関するいくつかの実現例では、各確率更新率は関数f(N,M)を備え、ここで、Nはコーディングされた映像ビットストリームをパースするときの、関連するシンボルの出現数であり、かつ/又は少なくとも1つの確率更新率に基づいて抽出されたシンボルに応じて累積分布関数の配列を更新することは、累積分布関数のK個の配列をこれに対応するK個の確率更新率に基づいて更新すること、及び/又は累積分布関数の更新されたK個の配列の加重合計として累積分布関数の配列を更新することを備える。
【0155】
方法1800に関するいくつかの実現例では、Kは2であり、かつ/又は累積分布関数の更新されたK個の配列の加重合計として累積分布関数の配列を更新することは、w1*p1+w2*p2として累積分布関数の配列を更新することを備え、ここで、w1は第1の重みであり、p1は第1の確率更新率に基づく第1の累積分布関数の更新された配列であり、w2は第2の重みであり、p2は第2の確率更新率に基づく第2の累積分布関数の更新された配列である。
【0156】
方法1800に関するいくつかの実現例では、第1の重みと第2の重みとが等しいか、第1の重みと第2の重みとが異なり、既定される。
【0157】
方法1800に関するいくつかの実現例では、K個の確率更新率の1つが
【数6】
を備え、ここで、A、B、C及びDは既定のモデルパラメータである。
【0158】
方法1800に関するいくつかの実現例では、K個の確率更新率の1つが
【数7】
を備え、K個の確率更新率の別の1つが
【数8】
を備え、ここで、A、B、C、D及びEは既定のモデルパラメータであり、AとEとが異なる。いくつかの実現例では、A、B、C、D及びEは正の整数である。
【0159】
方法1800に関するいくつかの実現例では、既定の関数パラメータは、ビデオパラメータセット(VPS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、適応パラメータセット(APS)、ピクチャヘッダ、フレームヘッダ、スライスヘッダ、タイルヘッダやコーディングツリーユニット(CTU)ヘッダの少なくとも1つを備えるハイレベルシンタックスから得られる。
【0160】
限定を課さない一例として、確率更新率αがcount及びMの関数f(count,M)であってもよく、ここで、countは復号の際にビットストリームをパースするときの、関連するシンボル/コンテキストの出現数、又は符号化の際に一連のシンタックス要素に対応するデータをコーディングするときの、関連するシンボル/コンテキストの出現数であり、Mは関連するシンタックス/コンテキストの異なるシンボルの値の個数を表わす。異なるシンタックス/コンテキストに対して関数f(count,M)は異なってもよい。
【0161】
いくつかの実現例では、関数
【数9】
であり、A、B、C及びDは選択されているシンタックス/コンテキストに応じた既定の関数パラメータであり、g(M,D)はDを関数パラメータとして持つ、Mの関数である。g(M,D)の例はmin(log2(M),D)を含むが、これに限定されない。いくつかの実現例では、A、B、C及び/又はDは正の整数である。いくつかの実現例では、A+(count>B)+(count>C)+g(M,D)が15未満かつ/又は15に等しいようにcount、M、A、B、C及びDの値に対する限定が存在してもよい。いくつかの実現例では、A、B、C及びDの値がタイルやフレームの符号化の開始時に初期化される。いくつかの実現例では、A、B、C及びDは正の整数である。
【0162】
いくつかの実現例では、
【数10】
であり、A、B、C、D及びEは選択されているシンタックス/コンテキストに応じた既定の関数パラメータである。g(M,E)はEを関数パラメータとして持つ、Mの関数である。g(M,E)の例はmin(log2(M),E)を含むが、これに限定されない。いくつかの実現例では、A、B、C及びDの値がタイルやフレームの符号化の開始時に初期化される。いくつかの実現例では、A、B、C、D及びEは正の整数である。
【0163】
いくつかの実現例では、関数
【数11】
であり、A及びBは選択されているシンタックス/コンテキストに応じた既定のモデルパラメータであり、LUT(count)はインデックスとしてcountを用いるルックアップテーブルであり、このルックアップテーブルのエントリも、選択されているシンタックス/コンテキストに応じたものであることが可能である。
【0164】
いくつかの実現例では、上記のように定められた関数パラメータの値をVPS、PPS、SPS、APS、ピクチャ/フレームヘッダ、スライスヘッダ、タイルヘッダやCTUヘッダを含む(ただし、これらに限定されない)ハイレベルシンタックス/コンテキストにおいて指定してもよい。
【0165】
いくつかの実現例では、異なる確率更新率αi,i=0,1,…,N-1を用いて導出される複数の確率(たとえばN個の確率)の加重合計として確率を更新してもよく、一方で、各確率更新率αiはcount及びMの関数fi(count,M)である。ここで、countはビットストリームをパースするときの関連するシンボルの出現数であり、Mは関連するシンタックス/コンテキストの異なるシンボルの個数の数を表わす。
【0166】
いくつかの実現例では、確率がN個の確率の加重合計として更新され、限定を課さない例として、Nは2に等しく、2つの確率(p0及びp1)を異なる確率更新率α0及びα1を用いてそれぞれ導出してもよい。いくつかの実現例では、重みは等しい。いくつかの実現例では、重みは等しくなく、既定される。
【0167】
いくつかの実現例では、確率が複数の確率(たとえばN個の確率)の加重合計として更新され、確率の1つが
【数12】
である確率更新率を用いて導出され、A、B、C及びDは選択されているシンタックス/コンテキストに応じたものであってもよい既定のモデルパラメータである。いくつかの実現例では、複数の確率(たとえばN個の確率)のうちの別の1つの確率(又は他の複数の確率)が上記に説明されている実現例のいずれかの関数であってもよい。
【0168】
いくつかの実現例では、確率が複数の確率(たとえばN個の確率)の加重合計として更新され、確率の1つが
【数13】
である確率更新率を用いて導出され、別の確率が
【数14】
である確率更新率を用いて導出され、A’はAとは異なる既定のモデルパラメータである。いくつかの実現例では、複数の確率(たとえばN個の確率)のうちの別の1つの確率(又は他の複数の確率)が上記で説明されている実現例のいずれかの関数であってもよい。
【0169】
いくつかの実現例では、異なるシンタックス/コンテキストに対して関数fi(count,M)が異なる。
【0170】
いくつかの実現例では、上記で説明されている様々な実現例の関数パラメータの値及び/又は重みパラメータをVPS、PPS、SPS、APS、ピクチャ/フレームヘッダ、スライスヘッダ、タイルヘッダやCTUヘッダを含む(ただし、これらに限定されない)ハイレベルシンタックス/コンテキストにおいて指定してもよい。
【0171】
本開示で説明されている様々な実施形態及び/又は実現例を個別に用いてもよいし、任意の順序で組み合せてもよい。さらに、これらの実施形態及び/又は実現例の部分、全部又は任意の部分的組合せ又は全組合せをエンコーダ及び/又はデコーダの一部として実施してもよく、また、ハードウェア及び/又はソフトウェアで実施してもよい。たとえば、上記について専用処理回路(たとえば、1つ以上の集積回路)に対してハードコーディングを行なってもよい。他の一例では、非一時的コンピュータ可読媒体に記憶されているプログラムを実行する1つ以上のプロセッサによって上記を実施してもよい。さらに、方法(又は実施形態)、エンコーダ及びデコーダの各々を処理回路(たとえば、1つ以上のプロセッサや1つ以上の集積回路)によって実施してもよい。一例では、非一時的コンピュータ可読媒体に記憶されているプログラムを1つ以上のプロセッサが実行する。本開示の実施形態をルマブロック又はクロマブロックに適用してもよく、クロマブロックの場合、実施形態を1つ以上の色成分に個別に適用してもよいし、1つ以上の色成分に一緒に適用してもよい。
【0172】
コンピュータ可読指示を用い、1つ以上のコンピュータ可読媒体に物理的に記憶されるコンピュータソフトウェアとして上述の手法を実施することができる。たとえば、図19は開示されている保護対象のいくつかの実施形態を実施するのに適するコンピュータシステム(2000)を示す。
【0173】
コンピュータソフトウェアは任意の適切なマシン語すなわちコンピュータ言語を用いてコーディングすることができ、このコンピュータ言語は指示を備えるコードを生成するためのアセンブリ、コンパイル、リンク、又は同様の機構によって処理される場合があり、この指示は1つ以上のコンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などによって、直接実行したり、解釈、マイクロコードの実行などを通じて実行したりすることができる。
【0174】
指示は、たとえば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、モノのインタネットデバイスなどを含む様々なタイプのコンピュータ又はその構成要素で実行することができる。
【0175】
コンピュータシステム(2000)の図20に示されている構成要素は当然典型的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用又は機能の範囲に関していかなる限定の示唆も意図していない。さらには、構成要素の構成が、コンピュータシステム(2000)の典型的な実施形態に示されている構成要素のいずれか1つ又はこれらの組合せに関連するなんらかの依存性や要求を持つと解釈するべきでもない。
【0176】
コンピュータシステム(2000)はいくつかのヒューマンインタフェイス入力装置を含んでもよい。このようなヒューマンインタフェイス入力装置は、たとえば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、音声入力(音声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示せず)を通じて1人以上の人間のユーザによる入力に応答するものであってもよい。ヒューマンインタフェイス装置を用いることで、音声(発話、音楽、周囲音など)、画像(スキャン画像、静止画像カメラから取得された写真画像など)、映像(二次元映像、立体映像を含む三次元映像など)など、人間による意識的な入力に必ずしも直接関連しないなんらかの媒体を取り込むこともできる。
【0177】
入力ヒューマンインタフェイス装置は、キーボード(2001)、マウス(2002)、トラックパッド(2003)、タッチ画面(2010)、データグローブ(図示せず)、ジョイスティック(2005)、マイク(2006)、スキャナ(2007)、カメラ(2008)の1つ以上(各々の1つのみが図示されている)を含んでもよい。
【0178】
コンピュータシステム(2000)はいくつかのヒューマンインタフェイス出力装置も含んでもよい。このようなヒューマンインタフェイス出力装置は、たとえば、触覚出力、音、光及び嗅覚/味覚を通じて1人以上の人間のユーザの感覚を刺激してもよい。このようなヒューマンインタフェイス出力装置は、触覚出力装置(たとえば、タッチ画面(2010)、データグローブ(図示せず)又はジョイスティック(2005)による触覚フィードバック、ただし、入力装置として用いられない触覚フィードバック装置も存在することが可能)、音声出力装置(スピーカ(2009)、ヘッドホン(図示せず)など)、視覚出力装置(CRT画面、LCD画面、プラズマ画面、OLED画面を含む画面(2010)など、各々にはタッチ画面入力機能があったりなかったりし、触覚フィードバック機能があったりなかったりする-上記の画面のいくつかは、二次元視覚出力を出力したり、立体グラフィック出力などの手段を通じて三次元以上の出力を出力したりする能力があってもよい;バーチャルリアリティグラス(図示せず)、ホログラムディスプレイ及び発煙剤タンク(図示せず))及びプリンタ(図示せず)を含んでもよい。
【0179】
コンピュータシステム(2000)は、CD/DVD又は同様の媒体(2021)を用いるCD/DVD ROM/RW(2020)を含む光学媒体、thumb-drive(2022)、リムーバブルハードドライブやソリッドステートドライブ(2023)、テープやフロッピディスクなどのレガシ磁気媒体(図示せず)、セキュリティドングルなどの特化型のROM/ASIC/PLDベースのデバイス(図示せず)などの人間が直接操作し得る記憶装置及びこれに関連する媒体も含むことができる。
【0180】
ここで開示されている保護対象に関連して用いられている用語「コンピュータ可読媒体」が伝送媒体、搬送波又はその他一時的な信号を含まないことも当業者は当然理解する。
【0181】
コンピュータシステム(2000)は1つ以上の通信ネットワーク(2055)に対するインタフェイス(2054)も含むことができる。ネットワークはたとえば、無線ネットワーク、有線ネットワーク、光学ネットワークであることが可能である。さらに、ネットワークはローカル、広域、大都市圏、車両用及び産業用、リアルタイム、遅延耐性などのネットワークであることが可能である。ネットワークの例には、Ethernetなどのローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラネットワーク、ケーブルテレビ、衛星テレビ及び地上波テレビを含むテレビの有線又は無線広域デジタルネットワーク、CAN busを含む車両用及び産業用などが含まれる。いくつかのネットワークには、いくつかの汎用データポート又はペリフェラルバス(2049)(たとえば、コンピュータシステム(2000)のUSBポートなど)に取り付けられる外部ネットワークインタフェイスアダプタが必要であることが一般的であり、他のネットワークについては、後述のようにシステムバスに取り付けることによってコンピュータシステム(2000)のコアに組み込まれることが一般的である(たとえば、PCコンピュータシステムにはEthernetインタフェイスが組み込まれたりスマートフォンコンピュータシステムにはセルラネットワークインタフェイスが組み込まれたりする)。このようなネットワークのいずれを用いても、コンピュータシステム(2000)は相手方と通信することができる。このような通信は一方向、受信専用(たとえば、テレビ放送)、一方向送信専用(たとえば、CANbusから特定のCANbusデバイス)又は双方向、たとえば、ローカル若しくは広域デジタルネットワークを用いた他のコンピュータシステムに対する双方向の通信であることが可能である。上述のこのようなネットワーク及びネットワークインタフェイスの各々にいくつかのプロトコル及びプロトコルスタックを用いることができる。
【0182】
上述のヒューマンインタフェイス装置、人間が直接操作し得る記憶装置及びネットワークインタフェイスをコンピュータシステム(2000)のコア(2040)に取り付けることができる。
【0183】
コア(2040)は、1つ以上の中央処理装置(CPU)(2041)、グラフィックス処理装置(GPU)(2042)、フィールドプログラマブルゲートエリア(FPGA)(2043)の形態をとる特化型プログラム可能処理装置、特定のタスク用のハードウェアアクセラレータ(2044)、グラフィックアダプタ(2050)などを含むことができる。このようなデバイスを、読出し専用メモリ(ROM)(2045)、ランダムアクセスメモリ(2046)、内部にあってユーザが直接操作し得ないハードドライブ、SSDなどの内部大容量ストレージ(2047)とともにシステムバス(2048)を通じて接続してもよい。いくつかのコンピュータシステムでは、システムバス(2048)は、追加のCPU、GPUなどによって拡張を可能にする1つ以上の物理的なプラグの形態をとる直接操作し得るものであることが可能である。周辺機器をコアのシステムバス(2048)に直接取り付けるか、ペリフェラルバス(2049)を介して取り付けるかすることができる。一例では、画面(2010)をグラフィックアダプタ(2050)に接続することができる。ペリフェラルバスのアーキテクチャにはPCI、USBなどが含まれる。
【0184】
CPU(2041)、GPU(2042)、FPGA(2043)及びアクセラレータ(2044)は、組み合されて上述のコンピュータコードを構築することができるいくつかの指示を実行することができる。当該コンピュータコードをROM(2045)又はRAM(2046)に記憶することができる。RAM(2046)には過渡的データも記憶することができる一方で、不変データをたとえば内部大容量ストレージ(2047)に記憶することができる。1つ以上のCPU(2041)、GPU(2042)、大容量ストレージ(2047)、ROM(2045)、RAM(2046)などと密接に関連することができるキャッシュメモリを用いることにより、メモリデバイスのいずれかに対する高速記憶及び読出しを可能にすることができる。
【0185】
コンピュータ可読媒体には様々なコンピュータ実施動作を実行するためのコンピュータコードを搭載することができる。媒体及びコンピュータコードは本開示のために特別に設計及び構成されたものであることが可能であるし、コンピュータソフトウェア技術の当業者によく知られ、当業者が入手可能な種類のものであることが可能である。
【0186】
限定を課さない例として、アーキテクチャ(2000)を有し、特にコア(2040)を有するコンピュータシステムは、1つ以上のプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つ以上の有形のコンピュータ可読媒体で実施されたソフトウェアを実行した結果として機能を提供することができる。このようなコンピュータ可読媒体は、上述されているような、ユーザが直接操作し得る大容量ストレージに関連する媒体であることが可能であり、さらには、コア内蔵大容量ストレージ(2047)やROM(2045)など、コア(2040)の非一時的な性質を持つ特定のストレージであることも可能である。本開示の様々な実施形態を実施するソフトウェアをこのようなデバイスに記憶してコア(2040)によって実行することができる。コンピュータ可読媒体は個々の要求に応じて1つ以上のメモリデバイスやチップを含むことができる。ソフトウェアにより、コア(2040)、特にコア(2040)中のプロセッサ(CPU、GPU、FPGAなどを含む)が、RAM(2046)に記憶されているデータ構造の定義と、ソフトウェアによって定義されているプロセスに応じたこのようなデータ構造の修正とを含む、上記で説明されている特定のプロセス又は特定のプロセスの特定の部分を実行することができる。これに加えて、又はこれの代わりとして、本出願で説明されている特定のプロセス又は特定のプロセスの特定の部分を実行するようにソフトウェアの代わりに動作したり、ソフトウェアと協働したりすることができる回路(たとえばアクセラレータ(2044))にロジックがハードワイヤードされたり、ロジックが別の仕方で実施された結果としてコンピュータシステムは機能を提供することができる。必要に応じて、「ソフトウェア」と記載されている場合にはロジックを包含する場合があり、逆も可能である。必要に応じて、「コンピュータ可読媒体」と記載されている場合には、実行されるソフトウェアを記憶する回路(集積回路(IC)など)や、実行されるロジックを実施する回路や、これらの両方を包含する場合がある。本開示にはハードウェアとソフトウェアとの任意の適切な組合せが含まれる。
【0187】
特定の発明が例示的な実施形態を参照して説明されているが、この説明は限定を課すことを意図していない。例示的な実施形態と本発明のさらに別の実施形態との様々な修正はこの説明から当業者であれば明らかである。本発明の精神及び範囲から逸脱することなく、このような修正と他の様々な修正とを本開示で例示されて説明されている典型的な実施形態に対して行なうことができることは当業者であれば容易に理解する。したがって、添付の請求項によってこのような修正がカバーされ、実施形態が変更されることが考えられる。例示中のある比率が大きくとられている場合がある一方で、他の比率が小さくとられている場合がある。したがって、本開示と図とは限定を課すのではなく、例示的なものと考えられるものである。
【符号の説明】
【0188】
300 通信システム
310 端末装置
320 端末装置
330 端末装置
340 端末装置
350 通信ネットワーク
400 通信システム
401 映像供給源
402 ストリーム
403 映像エンコーダ
404 符号化された映像ビットストリーム
405 ストリーミングサーバ
406 クライアントサブシステム
407 符号化された映像データの複製
408 クライアントサブシステム
409 符号化された映像データの複製
410 映像デコーダ
411 出力ストリーム
412 ディスプレイ
413 映像撮像サブシステム
420 電子装置
430 電子装置
501 チャンネル
510 映像デコーダ
512 ディスプレイ装置
515 バッファメモリ
520 パーサ
521 シンボル
530 電子装置
531 受信器
551 スケーラ/逆変換部
552 イントラ予測部
553 動き補償予測部
555 集合器
556 ループフィルタ部
557 参照ピクチャメモリ
558 現在のピクチャバッファ
601 映像供給源
603 映像エンコーダ
620 電子装置
630 供給源コーダ
632 コーディングエンジン
633 内臓デコーダ
634 参照ピクチャメモリ
635 予測器
640 送信器
643 映像シーケンス
645 エントロピコーダ
650 コントローラ
660 通信チャンネル
703 映像エンコーダ
721 統括コントローラ
722 イントラエンコーダ
723 残差値計算器
724 残差値エンコーダ
725 エントロピエンコーダ
726 スイッチ
728 残差デコーダ
730 インタエンコーダ
810 映像デコーダ
871 エントロピデコーダ
872 イントラデコーダ
873 残差デコーダ
874 再構成モジュール
880 インタデコーダ
2000 コンピュータシステム
2001 キーボード
2002 マウス
2003 トラックパッド
2005 ジョイスティック
2006 マイク
2007 スキャナ
2008 カメラ
2009 音声出力装置
2010 タッチ画面
2020 CD/DVD ROM/RW
2021 CD/DVD
2022 thumb-drive
2023 ソリッドステートドライブ
2040 コア
2041 中央処理装置
2042 グラフィックス処理装置
2043 フィールドプログラマブルゲートエリア
2044 アクセラレータ
2044 ハードウェアアクセラレータ
2045 読出し専用メモリ
2046 ランダムアクセスメモリ
2047 大容量ストレージ
2048 システムバス
2049 ペリフェラルバス
2050 グラフィックアダプタ
2054 インタフェイス
2055 通信ネットワーク
図1A
図1B
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
【手続補正書】
【提出日】2023-10-31
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0045
【補正方法】変更
【補正の内容】
【0045】
いくつかの例では、スケーラ/逆変換(551)の出力サンプルは、イントラコーディングブロック、すなわち、以前に再構成されたピクチャから得られる予測的情報を用いないが、現在のピクチャの以前に再構成された部分から得られる予測的情報を用いることができるブロックに適する場合がある。このような予測的情報をピクチャ内予測部(552)によって提供することができる。いくつかの例では、ピクチャ内予測部(552)は、既に再構成され、現在のピクチャバッファ(558)に記憶されている周囲のブロックの情報を用いて、再構成中のブロックと同じサイズ及び形状のブロックを生成してもよい。現在のピクチャバッファ(558)は、たとえば、部分的に再構成された現在のピクチャ及び/又は全体的に再構成された現在のピクチャをバッファリングする。いくつかの実現例では、集合器(555)はサンプル毎に、イントラ予測部(552)が生成した予測情報を、スケーラ/逆変換部(551)によって提供された出力サンプル情報に加えてもよい。
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
プロセッサが実行する、映像復号における複数シンボル算術コーディングのための方法であって、前記方法は、
ーディングされた映像ビットストリームを受けるステップと、
積分布関数の配列と、対応するM個のシンボルとを取得するステップであって、Mは1を超える整数である、ステップと、
積分布関数の前記配列に基づいて、少なくとも1つのシンボルを抽出するために前記コーディングされた映像ビットストリームに算術復号を行なうステップであって、
抽出されたシンボル毎に、少なくとも1つの確率更新率に基づいて前記抽出されたシンボルに応じて累積分布関数の前記配列を更新することと、
積分布関数の前記更新された配列に基づいて、次のシンボルを抽出するために前記コーディングされた映像ビットストリームに算術復号を継続することとによって算術復号を行なうステップと
を備える、方法。
【請求項2】
前記少なくとも1つの確率更新率は1つの確率更新率を備え、
前記1つの確率更新率は関数f(N,M)を備え、Nは前記コーディングされた映像ビットストリームをパースするときの、関連するシンボルの出現数である、
請求項1に記載の方法。
【請求項3】
前記関数f(N,M)は
【数1】
を備え、A、B、C及びDは既定の関数パラメータであり、g(M,D)はDを関数パラメータとして持つ、Mの関数である、
請求項2に記載の方法。
【請求項4】
g(M,D)はmin(log2(M),D)を備える、
請求項3に記載の方法。
【請求項5】
前記既定の関数パラメータはタイル又はフレームを復号するために初期化される、
請求項3に記載の方法。
【請求項6】
前記既定の関数パラメータは、ビデオパラメータセット(VPS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、適応パラメータセット(APS)、ピクチャヘッダ、フレームヘッダ、スライスヘッダ、タイルヘッダ又はコーディングツリーユニット(CTU)ヘッダの少なくとも1つを備えるハイレベルシンタックスから得られる、
請求項3に記載の方法。
【請求項7】
前記関数f(N,M)は
【数2】
を備え、A、B、C、D及びEは既定の関数パラメータであり、g(M,E)はEを関数パラメータとして持つ、Mの関数である、
請求項2に記載の方法。
【請求項8】
前記関数f(N,M)は
【数3】
を備え、A及びBは既定の関数パラメータであり、LUT(N)はNをインデックスとして持つルックアップテーブルであり、g(M,B)はBを関数パラメータとして持つ、Mの関数である、
請求項2に記載の方法。
【請求項9】
前記少なくとも1つの確率更新率はK個の確率更新率を備え、Kは1を超える整数であり、
各確率更新率は関数f(N,M)を備え、Nは前記コーディングされた映像ビットストリームをパースするときの、関連するシンボルの出現数であり、
前記少なくとも1つの確率更新率に基づいて前記抽出されたシンボルに応じて累積分布関数の前記配列を更新することは、
累積分布関数のK個の配列をこれに対応するK個の確率更新率に基づいて更新することと、
累積分布関数の前記更新されたK個の配列の加重合計として累積分布関数の前記配列を更新すること
とを備える、
請求項1に記載の方法。
【請求項10】
Kは2であり、
累積分布関数の前記更新されたK個の配列の加重合計として累積分布関数の前記配列を更新することは、
w1*p1+w2*p2として累積分布関数の前記配列を更新することを備え、w1は第1の重みであり、p1は第1の確率更新率に基づく第1の累積分布関数の更新された配列であり、w2は第2の重みであり、p2は第2の確率更新率に基づく第2の累積分布関数の更新された配列である、
請求項9に記載の方法。
【請求項11】
前記第1の重みと前記第2の重みとは等しい、又は
前記第1の重みと前記第2の重みとは異なり、既定される、
請求項10に記載の方法。
【請求項12】
前記K個の確率更新率の1つが
【数4】
を備え、A、B、C及びDは既定のモデルパラメータである、
請求項9に記載の方法。
【請求項13】
前記K個の確率更新率の1つが
【数5】
を備え、
前記K個の確率更新率の別の1つが
【数6】
を備え、
A、B、C、D及びEは既定のモデルパラメータであり、AとEとは異なる、
請求項9に記載の方法。
【請求項14】
前記既定の関数パラメータは、ビデオパラメータセット(VPS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、適応パラメータセット(APS)、ピクチャヘッダ、フレームヘッダ、スライスヘッダ、タイルヘッダ又はコーディングツリーユニット(CTU)ヘッダの少なくとも1つを備えるハイレベルシンタックスから得られる、
請求項13に記載の方法。
【請求項15】
請求項1~14のいずれか一項に記載の方法を行うように構成されたデバイス。
【請求項16】
プロセッサに、請求項1~14のいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
【国際調査報告】