(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-10-25
(54)【発明の名称】情報値のシーケンスを算術符号化する算術エンコーダー及び算術復号化する算術デコーダー、情報値のシーケンスを算術符号化及び復号化する方法、並びにこれらの方法を実装するコンピュータープログラム
(51)【国際特許分類】
H04N 19/13 20140101AFI20231018BHJP
H04N 19/70 20140101ALI20231018BHJP
【FI】
H04N19/13
H04N19/70
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023521303
(86)(22)【出願日】2021-10-05
(85)【翻訳文提出日】2023-06-05
(86)【国際出願番号】 EP2021077458
(87)【国際公開番号】W WO2022074007
(87)【国際公開日】2022-04-14
(32)【優先日】2020-10-06
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】500341779
【氏名又は名称】フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン
(74)【代理人】
【識別番号】100133411
【氏名又は名称】山本 龍郎
(74)【代理人】
【識別番号】100067677
【氏名又は名称】山本 彰司
(72)【発明者】
【氏名】ハーゼ,パウル
(72)【発明者】
【氏名】キルヒホッファー・ハイナー
(72)【発明者】
【氏名】ミュラー,カルステン
(72)【発明者】
【氏名】シュヴァルツ,ハイコー
(72)【発明者】
【氏名】マルペ,デトレフ
(72)【発明者】
【氏名】ヴィーガンド,トーマス
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159ME11
5C159RC12
5C159TA59
5C159TD03
5C159TD15
5C159TD17
5C159UA02
5C159UA05
(57)【要約】
本発明は、所定のエントリポイント以降のビットストリームの算術復号化を再開することを可能にするエントリポイント情報をビットストリームに提供することを使用して、情報値のシーケンスを算術コーディングビットストリームに算術符号化する符号化方式を説明する。それぞれの復号化方式も提供される。これらの符号化方式及び復号化方式は、復号化速度の観点からより効率的な符号化概念を提供する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
情報値のシーケンスを算術コーディングビットストリームに算術符号化する算術エンコーダーであって、
前記情報値をシンボルストリングにシンボル化して、シンボルのシーケンスを取得することと、
各シンボルについて、
前記それぞれのシンボルのシンボル値に従って、前記算術エンコーダーのコーディング状態の現在のバージョンを定義する現在の区間が、前記それぞれのシンボルの確率推定値に従って細分される、複数の部分区間の中から部分区間を選択して、前記選択された部分区間によって定義される、前記シンボルのシーケンスの次のシンボルを符号化するための前記算術エンコーダーの前記コーディング状態の更新されたバージョンを取得することと、
前記ビットストリームの継続中に前記コーディング状態を定義するエンコーダー内部パラメーターを再正規化することと、
によって、前記シンボルのシーケンスを算術符号化することと、
所定のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にするエントリポイント情報を前記ビットストリームに提供することと、
を行うように構成される、算術エンコーダー。
【請求項2】
前記エントリポイント情報は、算術デコーダーが前記所定のエントリポイントまで前記ビットストリームを復号化するときに前記算術デコーダーにおいて発生する前記算術デコーダーのコーディング状態に関する情報を含む、請求項1に記載の算術エンコーダー。
【請求項3】
前記算術エンコーダーは、前記ビットストリームの前記算術復号化を実施して、前記算術デコーダーの前記コーディング状態に関する前記情報を決定するように構成される、請求項2に記載の算術エンコーダー。
【請求項4】
前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、前記算術デコーダーの前記コーディング状態に関する前記情報は、前記ポインターの値を含む、請求項2又は3に記載の算術エンコーダー。
【請求項5】
前記算術エンコーダーは、前記ビットストリームの前記算術復号化を実施し、前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記ポインターの前記値を、前記所定のエントリポイントまで前記ビットストリームを前記算術復号化する際に現れる前記ポインターの現在の値に等しくなるように設定するように構成される、請求項4に記載の算術エンコーダー。
【請求項6】
前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、前記算術デコーダーの前記コーディング状態に関する前記情報は、前記区間幅パラメーターの値を含む、請求項2又は3に記載の算術エンコーダー。
【請求項7】
前記算術エンコーダーは、
前記ビットストリームの前記算術復号化を実施し、前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を、前記所定のエントリポイントまで前記ビットストリームを前記算術復号化する際に現れる前記区間幅パラメーターの現在の値に等しくなるように設定するか、又は
前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を、前記所定のエントリポイントまで前記シンボルのシーケンスを前記算術符号化する際に現れる前記区間幅パラメーターの現在の値に等しくなるように設定する、
ように構成される、請求項6に記載の算術エンコーダー。
【請求項8】
前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、前記算術デコーダーの前記コーディング状態に関する前記情報は、前記ポインターの値[例えば、前記所定のエントリポイントにおいて前記ポインターがどの値を取るか]を含むが、前記区間幅パラメーターの値を含まず、前記算術エンコーダーは、
前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を所定の値に等しくなるように設定し、前記所定のエントリポイント以降の前記シンボルのシーケンスの前記算術符号化を再開するときに前記区間幅パラメーターについて前記所定の値を使用するか、又は
前記所定のエントリポイント以降の前記シンボルのシーケンスの前記算術符号化を再開する前に、前記所定のエントリポイントの直前の所定のシンボル値のシンボルを算術符号化することによって、前記シンボルのシーケンスの前記算術符号化を予め中断し、前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を、前記所定のシンボル値の前記シンボルを含む前記所定のエントリポイントまで前記シンボルのシーケンスを前記算術符号化する際に現れる前記区間幅パラメーターの現在の値に等しくなるように設定する、
ように構成される、請求項2又は3に記載の算術エンコーダー。
【請求項9】
前記エントリポイント情報は、前記ビットストリーム内の所定のビットへのビットストリームポインターを含み、前記所定のビットは、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を前記再開した後に次に読み出されることになる、請求項1~8のいずれか一項に記載の算術エンコーダー。
【請求項10】
前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前記ビットストリームの先頭に対するオフセットの形態で前記ビットストリーム内でシグナリングされる、請求項9に記載の算術エンコーダー。
【請求項11】
前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前記ビットストリームの先頭ビットのランの後端に対するオフセットの形態で前記ビットストリーム内でシグナリングされ、前記オフセットに基づいて、前記ビットストリームの前記算術復号化を実施するための前記算術デコーダーのコーディング状態が初期化される、請求項9に記載の算術エンコーダー。
【請求項12】
前記エントリポイント情報は、2つ以上のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にし、前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前のエントリポイントに対する、又は前記所定のエントリポイントに関連付けられた予め定義されたビットストリーム位置に対するオフセットの形態で前記ビットストリーム内でシグナリングされる、請求項9に記載の算術エンコーダー。
【請求項13】
前記予め定義されたビットストリーム位置を、前記値のシーケンスのうちの連続する値の間の点として、又は前記ビットストリームのビットをカウントすることによって特定するように構成される、請求項12に記載の算術エンコーダー。
【請求項14】
前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、
ビット単位、及び/又は
ビットの整数n倍(例えば、n>1、及びn=8)単位、
で記憶される、請求項12に記載の算術エンコーダー。
【請求項15】
前記前のエントリポイントの前記ビットストリーム内のビット位置が、前記ビットストリーム内でシグナリングされる、請求項12に記載の算術エンコーダー。
【請求項16】
前記ビットストリームポインターは、前記ビットストリーム内の更なる所定のビットを指すための前記エントリポイント情報に含まれる更なるビットストリームポインターに対して差分的に前記ビットストリーム内でシグナリングされ、前記更なる所定のビットは、先行するエントリポイント以降の前記ビットストリームの前記算術復号化を再開した後に次に読み出されることになる、請求項12~15のいずれか一項に記載の算術エンコーダー。
【請求項17】
前記ビットストリームポインターは、可変長符号を使用して前記ビットストリーム内でシグナリングされる、請求項9~15のいずれか一項に記載の算術エンコーダー。
【請求項18】
前記ビットストリームポインターは、指数ゴロム符号、好ましくは符号なし指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、請求項9~17のいずれか一項に記載の算術エンコーダー。
【請求項19】
前記所定のエントリポイントは、前記ビットストリームの前記先頭に対して第3のエントリポイント又は前記第3のエントリポイントの後に続くエントリポイントのいずれかであり、前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前記前のエントリポイントに対する前記オフセットと、前記前のエントリポイントに先行する更なるエントリポイントに対する前記前のエントリポイントのオフセットとの間の差分の形態で前記ビットストリーム内でシグナリングされる、請求項9~18のいずれか一項に記載の算術エンコーダー。
【請求項20】
前記ビットストリームポインターは、符号付き指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、請求項19に記載の算術エンコーダー。
【請求項21】
前記前のエントリポイントの前記ビットストリーム内の前記ビット位置は、符号なし指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、請求項19又は20に記載の算術エンコーダー。
【請求項22】
前記指数ゴロム符号の指数ゴロム符号パラメーターは、11の値である、請求項21に記載の算術エンコーダー。
【請求項23】
前記ビットストリームポインターは、符号付き指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、請求項19~21のいずれか一項に記載の算術エンコーダー。
【請求項24】
前記指数ゴロム符号の指数ゴロム符号パラメーターは、7の値である、請求項23に記載の算術エンコーダー。
【請求項25】
前記算術エンコーダーは、
前記シンボルのシーケンスを算術符号化するためのコンテキスト適応算術コーディングを使用するように構成され、前記使用することは、前記シンボルのシーケンスのコンテキスト適応的に符号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、前記シンボルのシーケンスの以前に符号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させることとを含み、
前記エントリポイント情報は、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、前記それぞれの所定のコンテキストモデルのための所定の確率推定値を示し、前記算術エンコーダーは、前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記所定の確率推定値を使用するように構成される、請求項1~24のいずれか一項に記載の算術エンコーダー。
【請求項26】
前記算術エンコーダーは、
前記シンボルのシーケンスを算術符号化するためのコンテキスト適応算術コーディングを使用するように構成され、前記使用することは、前記シンボルのシーケンスのコンテキスト適応的に符号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、前記シンボルのシーケンスの前に符号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させることとを含み、
前記算術エンコーダーは、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、前記所定のエントリポイントにおける前記それぞれの所定のコンテキストモデルについての前記確率推定値をデフォルト状態に設定するように構成され、前記算術エンコーダーは、前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記デフォルト状態を使用するように構成されるか、又は
前記算術エンコーダーは、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、前記所定のエントリポイントにおける前記それぞれの所定のコンテキストモデルについての前記確率推定値を、前記所定のエントリポイントの前の前記シンボルのシーケンスを算術符号化する間に所定の条件において現れる保存状態に設定するように構成され、前記算術エンコーダーは、前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記保存状態を使用するように構成される、請求項1~26のいずれか一項に記載の算術エンコーダー。
【請求項27】
前記算術エンコーダーは、
状態機械を使用して、量子化されていない値のシーケンスから前記情報値のシーケンスを導出するために依存量子化を使用するように構成され、
前記エントリポイント情報は、前記所定のエントリポイントまでの前記状態機械に現れる量子化状態を含む、請求項1~26のいずれか一項に記載の算術エンコーダー。
【請求項28】
前記シンボルは、ビンであり、前記シンボル化は、バイナリ化である、請求項1~27のいずれか一項に記載の算術エンコーダー。
【請求項29】
前記情報値は、ビデオを表すシンタックス要素のシーケンスである、請求項1~28のいずれか一項に記載の算術エンコーダー。
【請求項30】
前記情報値は、ニューラルネットワークパラメーターである、請求項1~29のいずれか一項に記載の算術エンコーダー。
【請求項31】
ビットストリームから情報値のシーケンスを算術復号化する算術デコーダーであって、
前記ビットストリームからエントリポイント情報を導出することと、
前記ビットストリームの各シンボルについて、
前記算術デコーダーのコーディング状態の現在のバージョンに基づいて、前記それぞれのシンボルについての確率推定値に従って現在の区間が細分される、複数の部分区間のうちの部分区間を決定し、前記選択された部分区間に基づいて、前記それぞれのシンボルのシンボル値を推測することと、
前記ビットストリーム及び前記選択された部分区間を使用することによって、前記コーディング状態を定義するデコーダー内部パラメーターを再正規化及び更新して、前記シンボルのシーケンスの次のシンボルを復号化するための前記算術デコーダーの前記コーディング状態の更新されたバージョンを取得することと、
によって、前記エントリポイント情報を使用して、前記ビットストリームからシンボルのシーケンスを算術復号化することによって、所定のエントリポイント以降の前記ビットストリームの算術復号化を再開することと、
シンボル化解除によって前記シンボルのシーケンスから前記情報値を導出することと、
を行うように構成される、算術デコーダー。
【請求項32】
前記エントリポイント情報を使用して、前記算術デコーダーの前記コーディング状態の開始バージョンを決定し、前記所定のエントリポイント以降の前記ビットストリームの算術復号化を開始するために前記開始状態を使用するように構成される、請求項31に記載の算術デコーダー。
【請求項33】
前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含む前記デコーダー内部パラメーターによって定義され、前記算術デコーダーは、前記エントリポイント情報から、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を開始するために使用される前記ポインターの開始値を導出するように構成される、請求項31又は32に記載の算術デコーダー。
【請求項34】
前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含む前記デコーダー内部パラメーターによって定義され、前記算術デコーダーは、前記エントリポイント情報から、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を開始するために使用される前記区間幅パラメーターの開始値を導出するように構成される、請求項31~33のいずれか一項に記載の算術デコーダー。
【請求項35】
前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含む前記デコーダー内部パラメーターによって定義され、前記算術デコーダーは、
前記エントリポイント情報から、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を開始するために使用される前記ポインターの開始値を導出することと、
前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を所定の値に等しくなるように設定し、前記所定のエントリポイント以降の前記シンボルのシーケンスの前記算術復号化を再開するために、前記所定の値を前記区間幅パラメーターに使用することと、
を行うように構成される、請求項31~33のいずれか一項に記載の算術デコーダー。
【請求項36】
前記エントリポイント情報は、2つ以上のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にし、前記算術デコーダーは、
後続の所定のエントリポイント以降の前記シンボルのシーケンスの前記算術復号化を再開する前に、前記後続の所定のエントリポイントの直前の所定のシンボル値のシンボルを算術復号化することによって、前記後続の所定のエントリポイントにおいて前記シンボルのシーケンスの前記算術復号化を予め中断するように構成される、請求項35に記載の算術デコーダー。
【請求項37】
前記エントリポイント情報から、前記ビットストリーム内の所定のビットへのビットストリームポインターを導出し、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を再開した後に、前記所定のビットを次に読み出されるビットとして使用するように構成される、請求項31~36のいずれか一項に記載の算術デコーダー。
【請求項38】
前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前記ビットストリームの先頭に対するオフセットの形態で前記ビットストリーム内でシグナリングされる、請求項37に記載の算術デコーダー。
【請求項39】
前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、
前記ビットストリームの先頭ビットのランの後端に対するオフセットの形態で前記ビットストリーム内でシグナリングされ、前記オフセットに基づいて、前記算術デコーダーは、前記ビットストリームの前記先頭以降の前記ビットストリームの前記算術復号化を実施する場合に前記算術デコーダーの前記コーディング状態を初期化するように構成される、請求項37に記載の算術デコーダー。
【請求項40】
前記エントリポイント情報は、2つ以上のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にし、前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前のエントリポイントに対する、又は前記所定のエントリポイントに関連付けられた予め定義されたビットストリーム位置に対するオフセットの形態で前記ビットストリーム内でシグナリングされる、請求項37に記載の算術デコーダー。
【請求項41】
前記予め定義されたビットストリーム位置を、前記値のシーケンスのうちの連続する値の間の点として、又は前記ビットストリームのビットをカウントすることによって特定するように構成される、請求項40に記載の算術デコーダー。
【請求項42】
前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、
ビット単位、及び/又は
ビットの整数n倍(例えば、n>1、及びn=8)単位、
で記憶される、請求項40に記載の算術デコーダー。
【請求項43】
前記前のエントリポイントの前記ビットストリーム内のビット位置が、前記ビットストリーム内でシグナリングされる、請求項42に記載の算術デコーダー。
【請求項44】
前記ビットストリームポインターは、前記ビットストリーム内の更なる所定のビットを指すための前記エントリポイント情報に含まれる更なるビットストリームポインターに対して差分的に前記ビットストリーム内でシグナリングされ、前記更なる所定のビットは、先行するエントリポイント以降の前記ビットストリームの前記算術復号化を再開した後に次に読み出されることになる、請求項40~43のいずれか一項に記載の算術デコーダー。
【請求項45】
前記ビットストリームポインターは、可変長符号を使用して前記ビットストリーム内でシグナリングされる、請求項37~43のいずれか一項に記載の算術デコーダー。
【請求項46】
前記ビットストリームポインターは、指数ゴロム符号、好ましくは符号なし指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、請求項37~44のいずれか一項に記載の算術デコーダー。
【請求項47】
前記所定のエントリポイントは、前記ビットストリームの前記先頭に対して第3のエントリポイント又は前記第3のエントリポイントの後に続くエントリポイントのいずれかであり、前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前記前のエントリポイントに対する前記オフセットと、前記前のエントリポイントに先行する更なるエントリポイントに対する前記前のエントリポイントのオフセットとの間の差分の形態で前記ビットストリーム内でシグナリングされる、請求項37~46のいずれか一項に記載の算術デコーダー。
【請求項48】
前記ビットストリームポインターは、符号付き指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、請求項47に記載の算術デコーダー。
【請求項49】
前記前のエントリポイントの前記ビットストリーム内の前記ビット位置は、符号なし指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、請求項47又は48に記載の算術デコーダー。
【請求項50】
前記指数ゴロム符号の指数ゴロム符号パラメーターは、11の値である、請求項49に記載の算術デコーダー。
【請求項51】
前記ビットストリームポインターは、符号付き指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、請求項47~50のいずれか一項に記載の算術デコーダー。
【請求項52】
前記指数ゴロム符号の指数ゴロム符号パラメーターは、7の値である、請求項51に記載の算術デコーダー。
【請求項53】
前記算術デコーダーは、
前記シンボルのシーケンスを算術復号化するためのコンテキスト適応算術復号化を使用するように構成され、前記使用することは、前記シンボルのシーケンスのコンテキスト適応的に復号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、前記シンボルのシーケンスの以前に復号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させることとを含み、
前記エントリポイント情報は、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、前記それぞれの所定のコンテキストモデルのための所定の確率推定値を示し、前記算術デコーダーは、前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記所定の確率推定値を使用するように構成される、請求項31~52のいずれか一項に記載の算術デコーダー。
【請求項54】
前記算術デコーダーは、
前記シンボルのシーケンスを算術復号化するためのコンテキスト適応算術復号化を使用するように構成され、前記使用することは、前記シンボルのシーケンスのコンテキスト適応的に復号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、前記シンボルのシーケンスの以前に復号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させることとを含み、
前記算術デコーダーは、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、前記所定のエントリポイントにおける前記それぞれの所定のコンテキストモデルについての前記確率推定値をデフォルト状態に設定するように構成され、前記算術デコーダーは、前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記デフォルト状態を使用するように構成される、請求項31~53のいずれか一項に記載の算術デコーダー。
【請求項55】
前記エントリポイント情報は、2つ以上のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にし、前記算術デコーダーは、
前記1つ以上の所定のコンテキストモデルのセットのそれぞれについて、後続の所定のエントリポイントにおける前記それぞれの所定のコンテキストモデルについての前記確率推定値を、前記後続の所定のエントリポイントの前の前記シンボルのシーケンスを算術復号化する間に所定の条件において現れる保存状態に設定するように構成され、前記算術デコーダーは、前記後続の所定のエントリポイント以降の前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記保存状態を使用するように構成される、請求項54に記載の算術デコーダー。
【請求項56】
前記算術デコーダーは、
状態機械を使用して、前記情報値のシーケンスから量子化された値のシーケンスを導出するために依存逆量子化を使用することと、
前記エントリポイント情報から、前記所定のエントリポイント以降の前記依存量子化が再開される量子化状態を導出することと、
を行うように構成される、請求項31~55のいずれか一項に記載の算術デコーダー。
【請求項57】
前記シンボルは、ビンであり、前記シンボル化解除は、非バイナリ化である、請求項31~56のいずれか一項に記載の算術デコーダー。
【請求項58】
前記情報値は、ビデオを表すシンタックス要素のシーケンスである、請求項31~57のいずれか一項に記載の算術デコーダー。
【請求項59】
前記情報値は、ニューラルネットワークパラメーターである、請求項31~57のいずれか一項に記載の算術デコーダー。
【請求項60】
ビットストリームからニューラルネットワークパラメーターを算術復号化する算術デコーダーであって、
コンテキスト適応算術復号化を使用することによって前記ビットストリームからシンボルのシーケンスを算術復号化することであって、前記シンボルのシーケンスのコンテキスト適応的に復号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、前記選択されたコンテキストモデルを使用して、前記コンテキスト適応的に復号化されたシンボルを算術復号化することと、前記シンボルのシーケンスの以前に復号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させることとを含むことと、
シンボル化解除によって前記シンボルのシーケンスから前記ニューラルネットワークパラメーターを導出することと、
前記ビットストリームの前記先頭及び/又は前記ビットストリーム内の1つ以上のエントリポイントにおいて、1つ以上のコンテキストモデルのセットのそれぞれについて、前記ビットストリーム内のコンテキストモデル情報に基づいて前記それぞれのコンテキストモデルに関連する前記確率推定値を初期化することと、
を行うように構成される、算術デコーダー。
【請求項61】
各コンテキストモデルについて、前記それぞれのコンテキストモデルが選択された前記シンボルのシーケンスの以前にコンテキスト適応的に復号化されたシンボルに基づいて、前記それぞれのコンテキストモデルに関連付けられた前記確率推定値を生成すること、
によって、前記シンボルのシーケンスの以前に復号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させるように構成される、請求項60に記載の算術デコーダー。
【請求項62】
第1のアジリティパラメーターによって制御可能な第1の適応アジリティで実際のシンボル統計値に適応するように前記確率推定値についての第1の仮説を導出することによって、前記シンボルのシーケンスの以前に復号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を前記実際のシンボル統計値に適応させることと、
前記ビットストリームの前記先頭及び/又は前記ビットストリーム内の1つ以上のエントリポイントにおいて、前記1つ以上のコンテキストモデルのセットのそれぞれについて、前記ビットストリーム内の前記コンテキストモデル情報に基づいて前記それぞれのコンテキストモデルに関連する前記第1の仮説と前記第1のアジリティパラメーターとを設定することと、
を行うように構成される、請求項60又は61に記載の算術デコーダー。
【請求項63】
第2のアジリティパラメーターによって制御可能な第2の適応アジリティで実際のシンボル統計値に適応するように前記確率推定値についての第2の仮説を導出することによって、前記シンボルのシーケンスの以前に復号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を前記実際のシンボル統計値に適応させることであって、前記確率推定値は、前記第1の仮説及び前記第2の仮説の平均によって決定されることと、
前記ビットストリームの前記先頭及び/又は前記ビットストリーム内の1つ以上のエントリポイントにおいて、前記1つ以上のコンテキストモデルのセットのそれぞれについて、前記ビットストリーム内の前記コンテキストモデル情報に基づいて前記それぞれのコンテキストモデルに関連する前記第2の仮説と前記第2のアジリティパラメーターとを設定することと、
を行うように構成される、請求項62に記載の算術デコーダー。
【請求項64】
前記ビットストリーム内の前記コンテキストモデル情報は、前記第1の仮説及び前記第2の仮説と前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターとを定義するための値の四つ組のテーブルへのテーブルエントリインデックスを含み、前記算術デコーダーは、前記テーブルエントリインデックスを使用して前記テーブルの1つの四つ組を選択し、該1つの四つ組を使用して前記第1の仮説及び前記第2の仮説と前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターとを設定するように構成される、請求項63に記載の算術デコーダー。
【請求項65】
前記第1の仮説及び前記第2の仮説と前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターとを定義するための前記値の四つ組の数は、8以上10以下である、請求項64に記載の算術デコーダー。
【請求項66】
前記第1の仮説及び前記第2の仮説と前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターとを定義するための前記値の四つ組は、前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターの3つ、4つ、又は5つの相互に区別可能な設定のうちの1つに対応する、請求項64又は65に記載の算術デコーダー。
【請求項67】
前記シンボルは、ビンであり、前記シンボル化解除は、非バイナリ化であり、前記第1の仮説及び前記第2の仮説と前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターとを定義するための前記値の四つ組は、
第1の3つの四つ組であって、その全てによれば、前記第1のアジリティパラメーターは、第1の値に設定され、前記第2のアジリティパラメーターは、前記第1の値よりも低い適応アジリティに対応する第2の値に設定され、1つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、等確率に対応し、2つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、第1のビン値が第2のビン値よりも確からしいことに対応し、3つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、前記第2のビン値が前記第1のビン値よりも確からしいことに対応する、第1の3つの四つ組と、
第2の3つの四つ組であって、その全てによれば、前記第1のアジリティパラメーターは、前記第1の値よりも低い適応アジリティ及び前記第2の値よりも高い適応アジリティに対応する第3の値に設定され、前記第2のアジリティパラメーターは、前記第2の値よりも低い適応アジリティに対応する第4の値に設定され、1つ目及び2つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、前記第1のビン値が前記第2のビン値よりも確からしいことに対応し、3つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、前記第2のビン値が前記第1のビン値よりも確からしいことに対応する、第2の3つの四つ組と、
2つの四つ組であって、その全てによれば、前記第1のアジリティパラメーターは、前記第3の値よりも低い適応アジリティ及び前記第2の値よりも大きい適応アジリティに対応する第4の値に設定され、前記第2のアジリティパラメーターは、前記第2の値よりも低い適応アジリティ及び前記第4の値よりも大きい適応アジリティに対応する第6の値に設定され、1つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、等確率に対応し、2つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、前記第1のビン値が前記第2のビン値よりも確からしいことに対応する、2つの四つ組と、
1つの四つ組であって、該四つ組によれば、前記第1のアジリティパラメーターは、前記第1の値よりも大きい適応アジリティに対応する第7の値に設定され、該四つ組によれば、前記第1の仮説及び前記第2の仮説は、等確率に対応する、1つの四つ組と、
を含む、請求項64~66のいずれか一項に記載の算術デコーダー。
【請求項68】
前記シンボルは、ビンであり、前記シンボル化解除は、非バイナリ化であり、前記算術デコーダーは、
前記第1の仮説及び前記第2の仮説のそれぞれについて、
符号付き整数によって前記それぞれの仮説をそれぞれ表すことであって、前記符号付き整数は、ゼロである場合、等確率を示し、ゼロよりも大きい場合、第1のビン値が第2のビン値よりも確からしいことを示し、ゼロよりも小さい場合、前記第2のビン値が前記第1のビン値よりも確からしいことを示すことと、
各コンテキストモデルについて、前記第1の仮説に関して前記第1のアジリティパラメーターによって制御され、前記第2の仮説に関して前記第2のアジリティパラメーターによって制御される量で、前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターがそれぞれ小さいほど前記量が大きくなるように、現在復号化されているビンが前記第1のビン値を有する場合に前記符号付き整数を増加させ、現在復号化されているビンが前記第2のビン値を有する場合に前記符号付き整数を減少させることと、
によって、前記シンボルのシーケンスの以前に復号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させるように構成され、
前記確率推定値は、前記第1の符号付き整数及び前記第2の符号付き整数の平均によって決定される、請求項63~67のいずれか一項に記載の算術デコーダー。
【請求項69】
遷移テーブルを使用して前記増加及び減少の前記量を決定するように構成される、請求項68に記載の算術デコーダー。
【請求項70】
前記第1の仮説及び前記第2の仮説について同じ遷移テーブルを使用するように構成される、請求項69に記載の算術デコーダー。
【請求項71】
前記符号付き整数によって決定されるテーブルインデックスによってインデックス付けされたエントリにおいて前記遷移テーブルをルックアップして遷移ステップを取得することと、前記遷移ステップサイズを前記第1の適応パラメーター及び前記第2の適応パラメーターにそれぞれ依存する2のべき乗で除算することとによって、前記遷移テーブルを使用して前記増加及び減少の前記量を決定するように構成され、前記遷移ステップは、前記量を決定する、請求項69又は70に記載の算術デコーダー。
【請求項72】
前記符号付き整数は、nビットを有する2の補数表現によって表され、nは、前記第1の仮説の場合よりも前記第2の仮説の場合の方が大きく、前記算術デコーダーは、前記遷移ステップサイズを前記第1の適応パラメーター及び前記第2の適応パラメーターにそれぞれアフィン線形依存する2のべき乗で除算して遷移ステップを取得する場合に、一方では2
n-mで除算した前記符号付き整数と、他方では2
m-1で除算した前記符号付き整数との和によってインデックス付けされたエントリにおいて前記遷移テーブルをルックアップすることによって、前記遷移テーブルを使用して前記増加及び減少の前記量を決定するように構成され、前記遷移ステップは、前記量を決定する、請求項69又は70に記載の算術デコーダー。
【請求項73】
前記遷移テーブルの前記エントリに記憶された前記遷移ステップは、単調に増加又は減少する、請求項72に記載の算術デコーダー。
【請求項74】
情報値のシーケンスを算術コーディングビットストリームに算術符号化する方法(100)であって、
前記情報値をシンボルストリングにシンボル化して、シンボルのシーケンスを取得すること(101)と、
各シンボルについて、前記それぞれのシンボルについての確率推定値に従って、算術エンコーダーのコーディング状態の現在のバージョンを定義する現在の区間を細分すること(103)、
前記それぞれのシンボルのシンボル値に従って複数の部分区間の中から前記部分区間を選択して、前記選択された部分区間によって定義される、前記シンボルのシーケンスの次のシンボルを符号化するための前記算術エンコーダーの前記コーディング状態の更新されたバージョンを取得すること(104)、及び
前記ビットストリームの継続中に前記コーディング状態を定義するエンコーダー内部パラメーターを再正規化すること(105)、
によって、前記シンボルのシーケンスを算術符号化すること(102)と、
所定のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にするエントリポイント情報を前記ビットストリームに提供すること(106)と、
を含む、方法。
【請求項75】
前記エントリポイント情報は、算術デコーダーが前記所定のエントリポイントまで前記ビットストリームを復号化するときに前記算術デコーダーにおいて発生する前記算術デコーダーのコーディング状態に関する情報を含む、請求項74に記載の方法。
【請求項76】
前記ビットストリームの前記算術復号化を実施して、前記算術デコーダーの前記コーディング状態に関する前記情報を決定することを更に含む、請求項75に記載の方法。
【請求項77】
前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、前記算術デコーダーの前記コーディング状態に関する前記情報は、前記ポインターの値を含む、請求項75又は76に記載の方法。
【請求項78】
前記ビットストリームの前記算術復号化を実施し、前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記ポインターの前記値を、前記所定のエントリポイントまで前記ビットストリームを前記算術復号化する際に現れる前記ポインターの現在の値に等しくなるように設定することを更に含む、請求項77に記載の方法。
【請求項79】
前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、前記算術デコーダーの前記コーディング状態に関する前記情報は、前記区間幅パラメーターの値を含む、請求項75又は76に記載の方法。
【請求項80】
前記ビットストリームの前記算術復号化を実施し、前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を、前記所定のエントリポイントまで前記ビットストリームを前記算術復号化する際に現れる前記区間幅パラメーターの現在の値に等しくなるように設定すること、又は
前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を、前記所定のエントリポイントまで前記シンボルのシーケンスを前記算術符号化する際に現れる前記区間幅パラメーターの現在の値に等しくなるように設定すること、
を更に含む、請求項79に記載の方法。
【請求項81】
前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、前記算術デコーダーの前記コーディング状態に関する前記情報は、前記ポインターの値を含むが、前記区間幅パラメーターの値を含まず、前記方法は、
前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を所定の値に等しくなるように設定し、前記所定のエントリポイント以降の前記シンボルのシーケンスの前記算術符号化を再開するときに前記区間幅パラメーターについて前記所定の値を使用すること、又は
前記所定のエントリポイント以降の前記シンボルのシーケンスの前記算術符号化を再開する前に、前記所定のエントリポイントの直前の所定のシンボル値のシンボルを算術符号化することによって、前記シンボルのシーケンスの前記算術符号化を予め中断し、前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を、前記所定のシンボル値の前記シンボルを含む前記所定のエントリポイントまで前記シンボルのシーケンスを前記算術符号化する際に現れる前記区間幅パラメーターの現在の値に等しくなるように設定すること、
を更に含む、請求項75又は76に記載の方法。
【請求項82】
前記エントリポイント情報は、前記ビットストリーム内の所定のビットへのビットストリームポインターを含み、前記所定のビットは、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を前記再開した後に次に読み出されることになる、請求項74~81のいずれか一項に記載の方法。
【請求項83】
前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前記ビットストリームの先頭に対するオフセットの形態で前記ビットストリーム内でシグナリングされる、請求項82に記載の方法。
【請求項84】
前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前記ビットストリームの先頭ビットのランの後端に対するオフセットの形態で前記ビットストリーム内でシグナリングされ、前記オフセットに基づいて、前記ビットストリームの前記算術復号化を実施するための算術デコーダーのコーディング状態が初期化される、請求項82に記載の方法。
【請求項85】
前記エントリポイント情報は、2つ以上のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にし、前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前のエントリポイントに対する、又は前記所定のエントリポイントに関連付けられた予め定義されたビットストリーム位置に対するオフセットの形態で前記ビットストリーム内でシグナリングされる、請求項82に記載の方法。
【請求項86】
前記予め定義されたビットストリーム位置を、前記値のシーケンスのうちの連続する値の間の点として、又は前記ビットストリームのビットをカウントすることによって特定することを含む、請求項85に記載の方法。
【請求項87】
前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、
ビット単位、及び/又は
ビットの整数n倍(例えば、n>1、及びn=8)単位、
で記憶される、請求項85に記載の方法。
【請求項88】
前記前のエントリポイントの前記ビットストリーム内のビット位置が、前記ビットストリーム内でシグナリングされる、請求項85に記載の方法。
【請求項89】
前記ビットストリームポインターは、前記ビットストリーム内の更なる所定のビットを指すための前記エントリポイント情報に含まれる更なるビットストリームポインターに対して差分的に前記ビットストリーム内でシグナリングされ、前記更なる所定のビットは、先行するエントリポイント以降の前記ビットストリームの前記算術復号化を再開した後に次に読み出されることになる、請求項85~88のいずれか一項に記載の方法。
【請求項90】
前記ビットストリームポインターは、可変長符号を使用して前記ビットストリーム内でシグナリングされる、請求項82~89のいずれか一項に記載の方法。
【請求項91】
前記ビットストリームポインターは、指数ゴロム符号、好ましくは符号なし指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、請求項82~90のいずれか一項に記載の方法。
【請求項92】
前記所定のエントリポイントは、前記ビットストリームの前記先頭に対して第3のエントリポイント又は前記第3のエントリポイントの後に続くエントリポイントのいずれかであり、前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前記前のエントリポイントに対する前記オフセットと、前記前のエントリポイントに先行する更なるエントリポイントに対する前記前のエントリポイントのオフセットとの間の差分の形態で前記ビットストリーム内でシグナリングされる、請求項82~91のいずれか一項に記載の方法。
【請求項93】
前記ビットストリームポインターは、符号付き指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、請求項92に記載の方法。
【請求項94】
前記前のエントリポイントの前記ビットストリーム内の前記ビット位置は、符号なし指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、請求項92又は93に記載の方法。
【請求項95】
前記指数ゴロム符号の指数ゴロム符号パラメーターは、11の値である、請求項94に記載の方法。
【請求項96】
前記ビットストリームポインターは、符号付き指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、請求項92~95のいずれか一項に記載の方法。
【請求項97】
前記指数ゴロム符号の指数ゴロム符号パラメーターは、7の値である、請求項96に記載の方法。
【請求項98】
ビットストリームから情報値のシーケンスを算術復号化する方法(200)であって、
前記ビットストリームからエントリポイント情報を導出すること(201)と、
前記ビットストリームの各シンボルについて、
算術デコーダーのコーディング状態の現在のバージョン、前記それぞれのシンボルについての確率推定値に従って現在の区間が細分される、複数の部分区間のうちの部分区間を決定し(203)、前記選択された部分区間に基づいて、前記それぞれのシンボルのシンボル値を推定すること(204)、及び
前記ビットストリーム及び前記選択された部分区間を使用することによって、前記コーディング状態を定義するデコーダー内部パラメーターを再正規化及び更新して、前記シンボルのシーケンスの次のシンボルを復号化するための前記算術デコーダーの前記コーディング状態の更新されたバージョンを取得すること(205)、
によって、前記エントリポイント情報を使用して、前記ビットストリームからシンボルのシーケンスを算術復号化することによって、所定のエントリポイント以降の前記ビットストリームの算術復号化を再開すること(202)と、
シンボル化解除によって前記シンボルのシーケンスから前記情報値を導出すること(206)と、
を含む、方法。
【請求項99】
前記エントリポイント情報を使用して、前記算術デコーダーの前記コーディング状態の開始バージョンを決定し、前記所定のエントリポイント以降の前記ビットストリームの算術復号化を開始するために前記開始状態を使用することを更に含む、請求項98に記載の方法。
【請求項100】
前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、前記方法は、前記エントリポイント情報から、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を開始するために使用される前記ポインターの開始値を導出することを更に含む、請求項98又は99に記載の方法。
【請求項101】
前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、前記方法は、前記エントリポイント情報から、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を開始するために使用される前記区間幅パラメーターの開始値を導出することを更に含む、請求項98~100のいずれか一項に記載の方法。
【請求項102】
前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、前記方法は、
前記エントリポイント情報から、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を開始するために使用される前記ポインターの開始値を導出することと、
前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を所定の値に等しくなるように設定し、前記所定のエントリポイント以降の前記シンボルのシーケンスの前記算術復号化を再開するために、前記所定の値を前記区間幅パラメーターに使用することと、
を更に含む、請求項98~100のいずれか一項に記載の方法。
【請求項103】
前記エントリポイント情報は、2つ以上のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にし、前記方法は、
後続の所定のエントリポイント以降の前記シンボルのシーケンスの前記算術符号化を再開する前に、前記後続の所定のエントリポイントの直前の所定のシンボル値のシンボルを算術復号化することによって、前記後続の所定のエントリポイントにおいて前記シンボルのシーケンスの前記算術復号化を予め中断することを更に含む、請求項102に記載の方法。
【請求項104】
前記エントリポイント情報から、前記ビットストリーム内の所定のビットへのビットストリームポインターを導出し、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を再開した後に、前記所定のビットを次に読み出されるビットとして使用することを更に含む、請求項98~103のいずれか一項に記載の方法。
【請求項105】
前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前記ビットストリームの先頭に対するオフセットの形態で前記ビットストリーム内でシグナリングされる、請求項104に記載の方法。
【請求項106】
前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前記ビットストリームの先頭ビットのランの後端に対するオフセットの形態で前記ビットストリーム内でシグナリングされ、前記オフセットに基づいて、前記方法が、前記ビットストリームの前記先頭以降の前記ビットストリームの前記算術復号化を実施する場合に前記算術デコーダーの前記コーディング状態を更に初期化する、請求項104に記載の方法。
【請求項107】
前記エントリポイント情報は、2つ以上のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にし、前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前のエントリポイントに対する、又は前記所定のエントリポイントに関連付けられた予め定義されたビットストリーム位置に対するオフセットの形態で前記ビットストリーム内でシグナリングされる、請求項104に記載の方法。
【請求項108】
前記予め定義されたビットストリーム位置を、前記値のシーケンスのうちの連続する値の間の点として、又は前記ビットストリームのビットをカウントすることによって特定することを含む、請求項107に記載の方法。
【請求項109】
前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、
ビット単位、及び/又は
ビットの整数n倍(例えば、n>1、及びn=8)単位、
で記憶される、請求項107に記載の方法。
【請求項110】
前記前のエントリポイントの前記ビットストリーム内のビット位置が、前記ビットストリーム内でシグナリングされる、請求項107に記載の方法。
【請求項111】
前記ビットストリームポインターは、前記ビットストリーム内の更なる所定のビットを指すための前記エントリポイント情報に含まれる更なるビットストリームポインターに対して差分的に前記ビットストリーム内でシグナリングされ、前記更なる所定のビットは、先行するエントリポイント以降の前記ビットストリームの前記算術復号化を再開した後に次に読み出されることになる、請求項104~110のいずれか一項に記載の方法。
【請求項112】
前記ビットストリームポインターは、可変長符号を使用して前記ビットストリーム内でシグナリングされる、請求項104~111のいずれか一項に記載の方法。
【請求項113】
前記ビットストリームポインターは、指数ゴロム符号、好ましくは符号なし指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、請求項104~112のいずれか一項に記載の方法。
【請求項114】
前記所定のエントリポイントは、前記ビットストリームの前記先頭に対して第3のエントリポイント又は前記第3のエントリポイントの後に続くエントリポイントのいずれかであり、前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前記前のエントリポイントに対する前記オフセットと、前記前のエントリポイントに先行する更なるエントリポイントに対する前記前のエントリポイントのオフセットとの間の差分の形態で前記ビットストリーム内でシグナリングされる、請求項104~113のいずれか一項に記載の方法。
【請求項115】
前記ビットストリームポインターは、符号付き指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、請求項114に記載の方法。
【請求項116】
前記前のエントリポイントの前記ビットストリーム内の前記ビット位置は、符号なし指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、請求項114又は115に記載の方法。
【請求項117】
前記指数ゴロム符号の指数ゴロム符号パラメーターは、11の値である、請求項116に記載の方法。
【請求項118】
前記ビットストリームポインターは、符号付き指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、請求項114~117のいずれか一項に記載の方法。
【請求項119】
前記指数ゴロム符号の指数ゴロム符号パラメーターは、7の値である、請求項118に記載の方法。
【請求項120】
前記シンボルのシーケンスを算術復号化するためのコンテキスト適応算術復号化を使用することを更に含み、前記使用することは、前記シンボルのシーケンスのコンテキスト適応的に復号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、前記シンボルのシーケンスの以前に復号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させることとを含み、
前記エントリポイント情報は、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、前記それぞれの所定のコンテキストモデルのための所定の確率推定値を示し、前記方法は、前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記所定の確率推定値を使用することを更に含む、請求項98~119のいずれか一項に記載の方法。
【請求項121】
前記シンボルのシーケンスを算術復号化するためのコンテキスト適応算術復号化を使用することを更に含み、前記使用することは、前記シンボルのシーケンスのコンテキスト適応的に復号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、前記シンボルのシーケンスの以前に復号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させることとを含み、
前記方法は、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、前記所定のエントリポイントにおける前記それぞれの所定のコンテキストモデルについての前記確率推定値をデフォルト状態に設定することを更に含み、前記方法は、前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記デフォルト状態を使用することを更に含む、請求項98~120のいずれか一項に記載の方法。
【請求項122】
前記エントリポイント情報は、2つ以上のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にし、前記方法は、
前記1つ以上の所定のコンテキストモデルのセットのそれぞれについて、後続の所定のエントリポイントにおける前記それぞれの所定のコンテキストモデルについての前記確率推定値を、前記後続の所定のエントリポイントの前の前記シンボルのシーケンスを算術復号化する間に所定の条件において現れる保存状態に設定することを更に含み、前記方法は、前記後続の所定のエントリポイント以降の前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記保存状態を使用することを更に含む、請求項121に記載の方法。
【請求項123】
状態機械を使用して、前記情報値のシーケンスから量子化された値のシーケンスを導出するために依存逆量子化を使用することと、
前記エントリポイント情報から、前記所定のエントリポイント以降の前記依存量子化が再開される量子化状態を導出することと、
を更に含む、請求項98~122のいずれか一項に記載の方法。
【請求項124】
前記シンボルは、ビンであり、前記シンボル化解除は、非バイナリ化である、請求項98~123のいずれか一項に記載の方法。
【請求項125】
前記情報値は、ビデオを表すシンタックス要素のシーケンスである、請求項98~124のいずれか一項に記載の方法。
【請求項126】
前記情報値は、ニューラルネットワークパラメーターである、請求項98~124のいずれか一項に記載の方法。
【請求項127】
ニューラルネットワークパラメーターをビットストリームに算術符号化する算術エンコーダーであって、
前記ニューラルネットワークパラメーターからシンボル化によってシンボルのシーケンスを導出することと、
コンテキスト適応算術符号化を使用することによって前記シンボルのシーケンスを前記ビットストリームに算術符号化することであって、前記シンボルのシーケンスのコンテキスト適応的に符号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、前記選択されたコンテキストモデルを使用して、前記コンテキスト適応的に符号化されたシンボルを算術符号化することと、前記シンボルのシーケンスの以前に符号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させることと、を含むことと、
前記ビットストリームの前記先頭及び/又は前記ビットストリーム内の1つ以上のエントリポイントにおいて、1つ以上のコンテキストモデルのセットのそれぞれについて、前記ビットストリーム内でシグナリングされたコンテキストモデル情報に従って前記それぞれのコンテキストモデルに関連する前記確率推定値を初期化することと、
を行うように構成される、算術エンコーダー。
【請求項128】
各コンテキストモデルについて、前記それぞれのコンテキストモデルが選択された前記シンボルのシーケンスの以前にコンテキスト適応的に符号化されたシンボルに基づいて、前記それぞれのコンテキストモデルに関連付けられた前記確率推定値を生成すること、
によって、前記シンボルのシーケンスの以前に符号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させるように構成される、請求項127に記載の算術エンコーダー。
【請求項129】
第1のアジリティパラメーターによって制御可能な第1の適応アジリティで実際のシンボル統計値に適応するように前記確率推定値についての第1の仮説を導出することによって、前記シンボルのシーケンスの以前に符号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を前記実際のシンボル統計値に適応させることと、
前記ビットストリームの前記先頭及び/又は前記ビットストリーム内の1つ以上のエントリポイントにおいて、前記1つ以上のコンテキストモデルのセットのそれぞれについて、前記ビットストリーム内でシグナリングされた前記コンテキストモデル情報に従って前記それぞれのコンテキストモデルに関連する前記第1の仮説と前記第1のアジリティパラメーターとを設定することと、
を行うように構成される、請求項127又は128に記載の算術エンコーダー。
【請求項130】
第2のアジリティパラメーターによって制御可能な第2の適応アジリティで実際のシンボル統計値に適応するように前記確率推定値についての第2の仮説を導出し、前記第1の仮説及び前記第2の仮説の平均を形成することによって、前記シンボルのシーケンスの以前に符号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を前記実際のシンボル統計値に適応させることと、
前記ビットストリームの前記先頭及び/又は前記ビットストリーム内の1つ以上のエントリポイントにおいて、前記1つ以上のコンテキストモデルのセットのそれぞれについて、前記ビットストリーム内でシグナリングされた前記コンテキストモデル情報に従って前記それぞれのコンテキストモデルに関連する前記第2の仮説と前記第2のアジリティパラメーターとを設定することと、
を行うように構成される、請求項127に記載の算術エンコーダー。
【請求項131】
前記ビットストリーム内の前記コンテキストモデル情報は、前記第1の仮説及び前記第2の仮説と前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターとを定義するための値の四つ組のテーブルへのテーブルエントリインデックスを含み、前記算術エンコーダーは、前記テーブルエントリインデックスを使用して前記テーブルの1つの四つ組を選択し、該1つの四つ組を使用して前記第1の仮説及び前記第2の仮説と前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターとを設定するように構成される、請求項130に記載の算術エンコーダー。
【請求項132】
前記第1の仮説及び前記第2の仮説と前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターとを定義するための前記値の四つ組の数は、8以上10以下である、請求項130に記載の算術エンコーダー。
【請求項133】
前記第1の仮説及び前記第2の仮説と前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターとを定義するための前記値の四つ組は、前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターの3つ、4つ、又は5つの相互に区別可能な設定のうちの1つに対応する、請求項131又は132に記載の算術エンコーダー。
【請求項134】
前記第1の仮説及び前記第2の仮説と前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターとを定義するための前記値の四つ組は、
第1の3つの四つ組であって、その全てによれば、前記第1のアジリティパラメーターは、第1の値に設定され、前記第2のアジリティパラメーターは、前記第1の値よりも低い適応アジリティに対応する第2の値に設定され、1つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、等確率に対応し、2つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、第1のビン値が第2のビン値よりも確からしいことに対応し、3つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、前記第2のビン値が前記第1のビン値よりも確からしいことに対応する、第1の3つの四つ組と、
第2の3つの四つ組であって、その全てによれば、前記第1のアジリティパラメーターは、前記第1の値よりも低い適応アジリティ及び前記第2の値よりも高い適応アジリティに対応する第3の値に設定され、前記第2のアジリティパラメーターは、前記第2の値よりも低い適応アジリティに対応する第4の値に設定され、1つ目及び2つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、前記第1のビン値が前記第2のビン値よりも確からしいことに対応し、3つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、前記第2のビン値が前記第1のビン値よりも確からしいことに対応する、第2の3つの四つ組と、
2つの四つ組であって、その全てによれば、前記第1のアジリティパラメーターは、前記第3の値よりも低い適応アジリティ及び前記第2の値よりも大きい適応アジリティに対応する第4の値に設定され、前記第2のアジリティパラメーターは、前記第2の値よりも低い適応アジリティ及び前記第4の値よりも大きい適応アジリティに対応する第6の値に設定され、1つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、等確率に対応し、2つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、前記第1のビン値が前記第2のビン値よりも確からしいことに対応する、2つの四つ組と、
1つの四つ組であって、該四つ組によれば、前記第1のアジリティパラメーターは、前記第1の値よりも大きい適応アジリティに対応する第7の値に設定され、該四つ組によれば、前記第1の仮説及び前記第2の仮説は、等確率に対応する、1つの四つ組と、
を含む、請求項131~133のいずれか一項に記載の算術エンコーダー。
【請求項135】
前記シンボルは、ビンであり、前記シンボル化は、バイナリ化であり、前記算術エンコーダーは、
前記第1の仮説及び前記第2の仮説のそれぞれについて、
符号付き整数によって前記それぞれの仮説をそれぞれ表すことであって、前記符号付き整数は、ゼロである場合、等確率を示し、ゼロよりも大きい場合、第1のビン値が第2のビン値よりも確からしいことを示し、ゼロよりも小さい場合、前記第2のビン値が前記第1のビン値よりも確からしいことを示すことと、
各コンテキストモデルについて、前記第1の仮説に関して前記第1のアジリティパラメーターによって制御され、前記第2の仮説に関して前記第2のアジリティパラメーターによって制御される量で、前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターがそれぞれ小さいほど前記量が大きくなるように、現在符号化されているビンが前記第1のビン値を有する場合に前記符号付き整数を増加させ、現在符号化されているビンが前記第2のビン値を有する場合に前記符号付き整数を減少させることと、
によって、前記シンボルのシーケンスの以前に符号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させるように構成され、
前記確率推定値は、前記第1の符号付き整数及び前記第2の符号付き整数の平均によって決定される、請求項130~134のいずれか一項に記載の算術エンコーダー。
【請求項136】
遷移テーブルを使用して前記増加及び減少の前記量を決定するように構成される、請求項135に記載の算術エンコーダー。
【請求項137】
前記第1の仮説及び前記第2の仮説について同じ遷移テーブルを使用するように構成される、請求項136に記載の算術エンコーダー。
【請求項138】
前記符号付き整数によって決定されるテーブルインデックスによってインデックス付けされたエントリにおいて前記遷移テーブルをルックアップして遷移ステップを取得することと、前記遷移ステップサイズを前記第1の適応パラメーター及び前記第2の適応パラメーターにそれぞれ依存する2のべき乗で除算することとによって、前記遷移テーブルを使用して前記増加及び減少の前記量を決定するように構成され、前記遷移ステップは、前記量を決定する、請求項136又は137に記載の算術エンコーダー。
【請求項139】
前記符号付き整数は、nビットを有する2の補数表現によって表され、nは、前記第1の仮説の場合よりも前記第2の仮説の場合の方が大きく、前記算術エンコーダーは、前記遷移ステップサイズを前記第1の適応パラメーター及び前記第2の適応パラメーターにそれぞれアフィン線形依存する2のべき乗で除算して遷移ステップを取得する場合に、一方では2
n-mで除算した前記符号付き整数と、他方では2
m-1で除算した前記符号付き整数との和によってインデックス付けされたエントリにおいて前記遷移テーブルをルックアップすることによって、前記遷移テーブルを使用して前記増加及び減少の前記量を決定するように構成され、前記遷移ステップは、前記量を決定する、請求項136又は137に記載の算術エンコーダー。
【請求項140】
前記遷移テーブルの前記エントリに記憶された前記遷移ステップは、単調に増加又は減少する、請求項139に記載の算術エンコーダー。
【請求項141】
コンピューター上で実行されたときに、請求項74~126のいずれか一項に記載の方法を実施するプログラムコードを有するコンピュータープログラム。
【請求項142】
請求項1~30、127~140のいずれか一項に記載の算術エンコーダーを使用して生成されたビットストリーム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、特に、所定のエントリポイント以降のビットストリームの算術復号化を再開することを可能にするエントリポイント情報をビットストリームに提供することによって、情報値のシーケンスを算術コーディングビットストリームに算術符号化することに関する。
【0002】
本発明による実施形態は、情報値のシーケンスを算術符号化する算術エンコーダーに関する。
【0003】
本発明による更なる実施形態は、情報値のシーケンスを算術復号化する算術デコーダーに関する。
【0004】
本発明による更なる実施形態は、情報値のシーケンスを算術符号化する方法に関する。
【0005】
本発明による更なる実施形態は、情報値のシーケンスを算術復号化する方法に関する。
【0006】
本発明による更なる実施形態は、情報値のシーケンスを算術符号化及び復号化する方法を実施するコンピュータープログラムに関する。
【0007】
本発明による更なる実施形態は、情報値のシーケンスを算術符号化する算術エンコーダーを使用して生成されるビットストリームに関する。
【0008】
本発明による更なる実施形態は、ニューラルネットワークパラメーターを算術符号化する算術エンコーダーに関する。
【0009】
本発明による更なる実施形態は、ニューラルネットワークパラメーターを算術復号化する算術デコーダーに関する。
【0010】
本発明は、例えば、ニューラルネットワークのパラメーターの圧縮のような整数値のシグナリングを含む任意のデータ圧縮アプリケーションに適用することができる。
【背景技術】
【0011】
値のシーケンスの算術符号化及び復号化のための多数のデバイス及び方法が現在知られている。特に、コンテキストベース適応型バイナリ算術コーディング(CABAC:context-based adaptive binary arithmetic coding)が、シンボルのシーケンスの符号化及び復号化に広く用いられている。CABACのバイナリ化段階では、かかるシーケンスの各シンボルは、1つ以上のバイナリシンボル(ビン)のシーケンスに変換され、これらのビンシーケンスの連結がビットストリームに算術符号化される。次いで、コンテキストモデリング段階では、以前に符号化されたビン及びコンテキスト情報に基づいて、算術コーディングのために確率推定値が各ビンに関連付けられる。対応するデコーダーは、利用可能な同じ情報を有し、算術復号化を実施するために同じ確率推定値を再生することができる。
【0012】
しかしながら、既知の算術復号化は高度に逐次的なプロセスであり、ほとんど並列化することができない。したがって、CABACデコーダーの復号化速度は、その直列コーディング手順によって制限されている。
【発明の概要】
【発明が解決しようとする課題】
【0013】
上記に鑑みて、複数のデコーダーが単一のビットストリームの異なる部分を並列に復号化するように動作することを可能にし、復号化速度の向上につながるコーディング及び復号化の概念を作成することが望まれている。
【0014】
したがって、本発明の目的は、復号化速度の観点からより効率的な符号化概念を提供することである。この目的は、係属中の独立請求項の主題によって達成される。
【0015】
更なる有利な態様は、従属請求項の主題である。
【課題を解決するための手段】
【0016】
本発明による一実施の形態は、情報値のシーケンスを算術コーディングビットストリームに算術符号化する算術エンコーダーを作製する。算術エンコーダーは、情報値をシンボルストリングにシンボル化して、シンボルのシーケンスを取得することと、各シンボルについて、それぞれのシンボルのシンボル値に従って、算術エンコーダーのコーディング状態の現在のバージョンを定義する現在の区間が、それぞれのシンボルの確率推定値に従って細分される、複数の部分区間の中から部分区間を選択して、選択された部分区間によって定義される、シンボルのシーケンスの次のシンボルを符号化するための算術エンコーダーのコーディング状態の更新されたバージョンを取得すること、及びビットストリームの継続中にコーディング状態を定義するエンコーダー内部パラメーター、例えばパラメーターR及びLを再正規化することによって、シンボルのシーケンスを算術符号化することと、所定のエントリポイント以降のビットストリームの算術復号化を再開することを可能にするエントリポイント情報をビットストリームに提供することとを行うように構成される。
【0017】
この実施の形態は、例えば、複数のデコーダーが単一のビットストリームの異なる部分を並列に復号化する際に動作するとき、ビットストリームにエントリポイント情報を提供することが、CABAC復号化等の算術復号化の並列化を可能にするという知見に基づく。これは、より効率的な符号化及び復号化の概念、特に復号化速度の向上につながる。
【0018】
一実施の形態によれば、エントリポイント情報は、算術デコーダーが所定のエントリポイントまでビットストリームを復号化するときに算術デコーダーにおいて発生する算術デコーダーのコーディング状態に関する情報を含む。これは、複数のデコーダーを使用して、複数の所定のエントリポイントから開始する復号化を並列化することを可能にする。
【0019】
一実施の形態によれば、算術エンコーダーは、ビットストリームの算術復号化を実施して、算術デコーダーのコーディング状態に関する情報を決定するように構成される。一例として、算術符号化を確定した後に算術復号化を実行してもよい。代替的に、算術復号化は、算術符号化がビットを付加し続けるビット位置と算術復号化が開始するビットストリーム先頭との間のわずかなビットストリーム間ビット距離において、算術符号化と並列に開始されてもよい。
【0020】
一実施の形態によれば、算術デコーダーのコーディング状態は、区間の幅を示す区間幅パラメーターと区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、算術デコーダーのコーディング状態に関する情報は、ポインターの値、例えば、所定のエントリポイントにおいてポインターがどの値を取るかを含む。
【0021】
一実施の形態によれば、算術エンコーダーは、ビットストリームの算術復号化を実施し、算術デコーダーのコーディング状態に関する情報に含まれるポインターの値を、所定のエントリポイントまでビットストリームを算術復号化する際に現れるポインターの現在の値に等しくなるように設定するように構成される。
【0022】
一実施の形態によれば、算術デコーダーのコーディング状態は、区間の幅を示す区間幅パラメーターと区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、算術デコーダーのコーディング状態に関する情報は、区間幅パラメーターの値、例えば、所定のエントリポイントにおいて区間幅パラメーターがどの値を取るかを含む。
【0023】
一実施の形態によれば、算術エンコーダーは、ビットストリームの算術復号化を実施し、算術デコーダーのコーディング状態に関する情報に含まれる区間幅パラメーターの値を、所定のエントリポイントまでビットストリームを算術復号化する際に現れる区間幅パラメーターの現在の値に等しくなるように設定するように構成される。代替的に、算術エンコーダーは、算術デコーダーのコーディング状態に関する情報に含まれる区間幅パラメーターの値を、所定のエントリポイントまでシンボルのシーケンスを算術符号化する際に現れる区間幅パラメーターの現在の値に等しくなるように設定するように構成される。
【0024】
一実施の形態によれば、算術デコーダーのコーディング状態は、区間の幅を示す区間幅パラメーターと区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、算術デコーダーのコーディング状態に関する情報は、ポインターの値、例えば、所定のエントリポイントにおいてポインターがどの値を取るかを含むが、区間幅パラメーターの値は含まない。この実施の形態において、算術エンコーダーは、算術デコーダーのコーディング状態に関する情報に含まれる区間幅パラメーターの値を所定の値に等しくなるように設定し、所定のエントリポイント以降のシンボルのシーケンスの算術符号化を再開するときに区間幅パラメーターについて所定の値を使用するように構成される。代替的に、この実施の形態において、算術エンコーダーは、所定のエントリポイント以降のシンボルのシーケンスの算術符号化を再開する前に、所定のエントリポイントの直前の所定のシンボル値のシンボルを算術符号化することによって、シンボルのシーケンスの算術符号化を予め中断し、算術デコーダーのコーディング状態に関する情報に含まれる区間幅パラメーターの値を、所定のシンボル値のシンボルを含む所定のエントリポイントまでシンボルのシーケンスを算術符号化する際に現れる区間幅パラメーターの現在の値に等しくなるように設定するように構成される。
【0025】
一実施の形態によれば、エントリポイント情報は、ビットストリーム内の所定のビットへのビットストリームポインターを含み、所定のビットは、所定のエントリポイント以降のビットストリームの算術復号化を再開した後に次に読み出されることになる。
【0026】
一実施の形態によれば、ビットストリーム内の所定のビットへのビットストリームポインターは、ビットストリームの先頭、例えば、ビットストリームがそれ以降において復号化されることになる先端に対するオフセットの形態でビットストリーム内でシグナリングされる。
【0027】
一実施の形態によれば、ビットストリーム内の所定のビットへのビットストリームポインターは、ビットストリームの先頭ビットのランの後端に対するオフセットの形態でビットストリーム内でシグナリングされ、該オフセットに基づいて、ビットストリームの算術復号化を実施するための算術デコーダーのコーディング状態、例えば区間へのポインターが初期化される。
【0028】
一実施の形態によれば、エントリポイント情報は、2つ以上のエントリポイント以降のビットストリームの算術復号化を再開することを可能にし、ビットストリーム内の所定のビットへのビットストリームポインターは、前のエントリポイントに対するオフセットの形態でビットストリーム内でシグナリングされる。エントリポイント情報は、例えば、2つ以上の情報インスタンス化、すなわちエントリポイントごとに1つの情報インスタンス化を含む。代替的に、ビットストリーム内の所定のビットへのビットストリームポインターは、所定のエントリポイントに関連付けられた予め定義されたビットストリーム位置に対するオフセットの形態でビットストリーム内でシグナリングされる。例えば、n番目の予め定義されたビットストリーム位置は、n番目のエントロピー点に関連付けられ、予め定義されたビットストリーム位置は、相互に等距離に配置することができる。
【0029】
一実施の形態によれば、算術エンコーダーは、値のシーケンスのうちの連続する値の間の点として、換言すれば、構文的に、又はビットストリームのビットをカウントすることによって、換言すれば、ビットレベルで、予め定義されたビットストリーム位置を特定するように構成される。
【0030】
一実施の形態によれば、ビットストリーム内の所定のビットへのビットストリームポインターは、ビット単位、及び/又はビットの整数n倍(例えば、n>1、及びn=8)単位で記憶される。
【0031】
一実施の形態によれば、前のエントリポイントのビットストリーム内のビット位置が、ビットストリーム内でシグナリングされる。
【0032】
一実施の形態によれば、ビットストリームポインターは、ビットストリーム内の更なる所定のビットを指すためのエントリポイント情報に含まれる更なるビットストリームポインターに対して差分的にビットストリーム内でシグナリングされ、更なる所定のビットは、先行するエントリポイント以降のビットストリームの算術復号化を再開した後に次に読み出されることになる。
【0033】
一実施の形態によれば、ビットストリームポインターは、可変長符号を使用してビットストリーム内でシグナリングされる。
【0034】
一実施の形態によれば、ビットストリームポインターは、指数ゴロム符号、好ましくは符号なし指数ゴロム符号を使用してビットストリーム内でシグナリングされる。
【0035】
一実施の形態によれば、所定のエントリポイントは、ビットストリームの先頭に対して第3のエントリポイント又は第3のエントリポイントの後に続くエントリポイントのいずれかであり、ビットストリーム内の所定のビットへのビットストリームポインターは、前のエントリポイントに対するオフセットと、前のエントリポイントに先行する更なるエントリポイントに対する前のエントリポイントのオフセットとの間の差分の形態でビットストリーム内でシグナリングされる。
【0036】
一実施の形態によれば、ビットストリームポインターは、符号付き指数ゴロム符号を使用してビットストリーム内でシグナリングされる。
【0037】
一実施の形態によれば、前のエントリポイントのビットストリーム内のビット位置は、符号なし指数ゴロム符号を使用してビットストリーム内でシグナリングされる。
【0038】
一実施の形態によれば、指数ゴロム符号の指数ゴロム符号パラメーターは、11の値である。
【0039】
一実施の形態によれば、ビットストリームポインターは、符号付き指数ゴロム符号を使用してビットストリーム内でシグナリングされる。
【0040】
一実施の形態によれば、指数ゴロム符号の指数ゴロム符号パラメーターは、7の値である。
【0041】
一実施の形態によれば、算術エンコーダーは、シンボルのシーケンスを算術符号化するためのコンテキスト適応算術コーディングを使用するように構成され、使用することは、シンボルのシーケンスのコンテキスト適応的に符号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、シンボルのシーケンスの以前に符号化されたシンボルを使用して、複数のコンテキストモデルの確率推定値を実際のシンボル統計値に適応させることとを含む。エントリポイント情報は、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、それぞれの所定のコンテキストモデルについての所定の確率推定値を示す。算術エンコーダーは、それぞれの所定のコンテキストモデルに関して複数のコンテキストモデルの確率推定値の適応を再開する際に所定の確率推定値を使用するように構成される。
【0042】
一実施の形態によれば、算術エンコーダーは、シンボルのシーケンスを算術符号化するためのコンテキスト適応算術コーディングを使用するように構成され、使用することは、シンボルのシーケンスのコンテキスト適応的に符号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、シンボルのシーケンスの以前に符号化されたシンボルを使用して、複数のコンテキストモデルの確率推定値を実際のシンボル統計値に適応させることとを含む。算術エンコーダーは、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、所定のエントリポイントにおけるそれぞれの所定のコンテキストモデルについての確率推定値をデフォルト状態に設定するように構成され、算術エンコーダーは、それぞれの所定のコンテキストモデルに対する複数のコンテキストモデルの確率推定値の適応を再開する際にデフォルト状態を使用するように構成される。代替的に、この実施の形態において、算術エンコーダーは、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、所定のエントリポイントにおけるそれぞれの所定のコンテキストモデルについての確率推定値を、所定のエントリポイントの前のシンボルのシーケンスを算術符号化する間に所定の条件において現れる保存状態に設定するように構成され、算術エンコーダーは、それぞれの所定のコンテキストモデルに対する複数のコンテキストモデルの確率推定値の適応を再開する際に保存状態を使用するように構成される。
【0043】
一実施の形態によれば、算術エンコーダーは、状態機械を使用して、量子化されていない値のシーケンスから情報値のシーケンスを導出するために依存量子化を使用するように構成され、エントリポイント情報は、所定のエントリポイントまでの状態機械に現れる量子化状態を含む。
【0044】
一実施の形態によれば、シンボルはビンであり、シンボル化はバイナリ化である。
【0045】
一実施の形態によれば、情報値は、ビデオを表すシンタックス要素のシーケンスである。
【0046】
一実施の形態によれば、情報値はニューラルネットワークパラメーターである。
【0047】
本発明による一実施の形態は、ビットストリームから情報値のシーケンスを算術復号化する算術デコーダーを作製する。算術デコーダーは、ビットストリームからエントリポイント情報を導出することと、ビットストリームの各シンボルについて、算術デコーダーのコーディング状態の現在のバージョンに基づいて、それぞれのシンボルについての確率推定値に従って現在の区間が細分される、複数の部分区間のうちの部分区間を決定し、選択された部分区間に基づいて、それぞれのシンボルのシンボル値を推測することと、ビットストリーム及び選択された部分区間を使用することによって、コーディング状態を定義するデコーダー内部パラメーター、例えばR及びVを再正規化及び更新して、シンボルのシーケンスの次のシンボルを復号化するための算術デコーダーのコーディング状態の更新されたバージョンを取得することと、によって、エントリポイント情報を使用して、ビットストリームからシンボルのシーケンスを算術復号化することによって、所定のエントリポイント以降のビットストリームの算術復号化を再開することと、シンボル化解除によってシンボルのシーケンスから情報値を導出することとを行うように構成される。
【0048】
本実施の形態による算術デコーダーは、上述した算術エンコーダーと同じ考察に基づいている。
【0049】
一実施の形態によれば、算術デコーダーは、エントリポイント情報を使用して、算術デコーダーのコーディング状態の開始バージョンを決定し、所定のエントリポイント以降のビットストリームの算術復号化を開始するために開始状態を使用するように構成される。
【0050】
一実施の形態によれば、算術デコーダーのコーディング状態は、区間の幅を示す区間幅パラメーターと区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、算術デコーダーは、エントリポイント情報から、所定のエントリポイント以降のビットストリームの算術復号化を開始するために使用されるポインターの開始値、例えば、所定のエントリポイントにおいてポインターがどの値を取るかを導出するように構成される。
【0051】
一実施の形態によれば、算術デコーダーのコーディング状態は、区間の幅を示す区間幅パラメーターと区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、算術デコーダーは、エントリポイント情報から、所定のエントリポイント以降のビットストリームの算術復号化を開始するために使用される区間幅パラメーターの開始値、例えば、所定のエントリポイントにおいて区間幅パラメーターがどの値を取るかを導出するように構成される。
【0052】
一実施の形態によれば、算術デコーダーのコーディング状態は、区間の幅を示す区間幅パラメーターと区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、算術デコーダーは、エントリポイント情報から、所定のエントリポイント以降のビットストリームの算術復号化を開始するために使用されるポインターの開始値、例えば、所定のエントリポイントにおいてポインターがどの値を取るかを導出することと、算術デコーダーのコーディング状態に関する情報に含まれる区間幅パラメーターの値を所定の値に等しくなるように設定し、所定のエントリポイント以降のシンボルのシーケンスの算術復号化を再開するために、所定の値を区間幅パラメーターに使用することとを行うように構成される。
【0053】
一実施の形態によれば、エントリポイント情報は、2つ以上のエントリポイント以降のビットストリームの算術復号化を再開することを可能にし、算術デコーダーは、後続の所定のエントリポイント以降のシンボルのシーケンスの算術復号化を再開する前に、後続の所定のエントリポイントの直前の所定のシンボル値のシンボルを算術復号化することによって、後続の所定のエントリポイントにおいてシンボルのシーケンスの算術復号化を予め中断するように構成される。
【0054】
一実施の形態によれば、算術デコーダーは、エントリポイント情報から、ビットストリーム内の所定のビットへのビットストリームポインターを導出し、所定のエントリポイント以降のビットストリームの算術復号化を再開した後に、所定のビットを次に読み出されるビットとして使用するように構成される。
【0055】
一実施の形態によれば、ビットストリーム内の所定のビットへのビットストリームポインターは、ビットストリームの先頭、例えば、ビットストリームがそれ以降において復号化されることになる先端に対するオフセットの形態でビットストリーム内でシグナリングされる。
【0056】
一実施の形態によれば、ビットストリーム内の所定のビットへのビットストリームポインターは、ビットストリームの先頭ビットのランの後端に対するオフセットの形態でビットストリーム内でシグナリングされ、該オフセットに基づいて、算術デコーダーは、ビットストリームの先頭以降のビットストリームの算術復号化を実施する場合に算術デコーダーのコーディング状態、例えば区間へのポインターを初期化するように構成される。
【0057】
一実施の形態によれば、エントリポイント情報は、2つ以上のエントリポイント以降のビットストリームの算術復号化を再開することを可能にし、ビットストリーム内の所定のビットへのビットストリームポインターは、前のエントリポイントに対する、又は所定のエントリポイントに関連付けられた予め定義されたビットストリーム位置に対するオフセットの形態でビットストリーム内でシグナリングされる。例えば、n番目の予め定義されたビットストリーム位置は、n番目のエントロピー点に関連付けられ、予め定義されたビットストリーム位置は、相互に等距離に配置することができる。
【0058】
一実施の形態によれば、算術デコーダーは、値のシーケンスのうちの連続する値の間の点として、換言すれば、構文的に、又はビットストリームのビットをカウントすることによって、換言すれば、ビットレベルで、予め定義されたビットストリーム位置を特定するように構成される。
【0059】
一実施の形態によれば、ビットストリーム内の所定のビットへのビットストリームポインターは、ビット単位、及び/又はビットの整数n倍(例えば、n>1、及びn=8)単位で記憶される。
【0060】
一実施の形態によれば、前のエントリポイントのビットストリーム内のビット位置が、ビットストリーム内でシグナリングされる。
【0061】
一実施の形態によれば、ビットストリームポインターは、ビットストリーム内の更なる所定のビットを指すためのエントリポイント情報に含まれる更なるビットストリームポインターに対して差分的にビットストリーム内でシグナリングされ、更なる所定のビットは、先行するエントリポイント以降のビットストリームの算術復号化を再開した後に次に読み出されることになる。
【0062】
一実施の形態によれば、ビットストリームポインターは、可変長符号を使用してビットストリーム内でシグナリングされる。
【0063】
一実施の形態によれば、ビットストリームポインターは、指数ゴロム符号、好ましくは符号なし指数ゴロム符号を使用してビットストリーム内でシグナリングされる。
【0064】
一実施の形態によれば、所定のエントリポイントは、ビットストリームの先頭に対して第3のエントリポイント又は第3のエントリポイントの後に続くエントリポイントのいずれかであり、ビットストリーム内の所定のビットへのビットストリームポインターは、前のエントリポイントに対するオフセットと、前のエントリポイントに先行する更なるエントリポイントに対する前のエントリポイントのオフセットとの間の差分の形態でビットストリーム内でシグナリングされる。
【0065】
一実施の形態によれば、ビットストリームポインターは、符号付き指数ゴロム符号を使用してビットストリーム内でシグナリングされる。
【0066】
一実施の形態によれば、前のエントリポイントのビットストリーム内のビット位置は、符号なし指数ゴロム符号を使用してビットストリーム内でシグナリングされる。
【0067】
一実施の形態によれば、指数ゴロム符号の指数ゴロム符号パラメーターは、11の値である。
【0068】
一実施の形態によれば、ビットストリームポインターは、符号付き指数ゴロム符号を使用してビットストリーム内でシグナリングされる。
【0069】
一実施の形態によれば、指数ゴロム符号の指数ゴロム符号パラメーターは、7の値である。
【0070】
一実施の形態によれば、算術デコーダーは、シンボルのシーケンスを算術復号化するためのコンテキスト適応算術復号化を使用するように構成され、使用することは、シンボルのシーケンスのコンテキスト適応的に復号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、シンボルのシーケンスの以前に復号化されたシンボルを使用して、複数のコンテキストモデルの確率推定値を実際のシンボル統計値に適応させることとを含み、エントリポイント情報は、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、それぞれの所定のコンテキストモデルのための所定の確率推定値を示し、算術デコーダーは、それぞれの所定のコンテキストモデルに対する複数のコンテキストモデルの確率推定値の適応を再開する際に所定の確率推定値を使用するように構成される。
【0071】
一実施の形態によれば、算術デコーダーは、シンボルのシーケンスを算術復号化するためのコンテキスト適応算術復号化を使用するように構成され、使用することは、シンボルのシーケンスのコンテキスト適応的に復号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、シンボルのシーケンスの以前に復号化されたシンボルを使用して、複数のコンテキストモデルの確率推定値を実際のシンボル統計値に適応させることとを含み、算術デコーダーは、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、所定のエントリポイントにおけるそれぞれの所定のコンテキストモデルについての確率推定値をデフォルト状態に設定するように構成され、算術デコーダーは、それぞれの所定のコンテキストモデルに対する複数のコンテキストモデルの確率推定値の適応を再開する際にデフォルト状態を使用するように構成される。
【0072】
一実施の形態によれば、エントリポイント情報は、2つ以上のエントリポイント以降のビットストリームの算術復号化を再開することを可能にし、算術デコーダーは、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、後続の所定のエントリポイントにおけるそれぞれの所定のコンテキストモデルについての確率推定値を、後続の所定のエントリポイントの前のシンボルのシーケンスを算術復号化する間に所定の条件において現れる保存状態に設定するように構成され、算術デコーダーは、後続の所定のエントリポイント以降のそれぞれの所定のコンテキストモデルに対する複数のコンテキストモデルの確率推定値の適応を再開する際に保存状態を使用するように構成され、例えば、ここで、デコーダーは、シグナリングされたコンテキスト状態又はデフォルトコンテキスト状態を使用して先頭から1回、復号化された或る特定の数の情報値等の所定の条件が満たされるとすぐにエントリポイント以降から、ビットストリームを並列に算術復号化することができる。
【0073】
一実施の形態によれば、算術デコーダーは、状態機械を使用して情報値のシーケンスから量子化された値のシーケンスを導出するために依存逆量子化を使用し、エントリポイント情報から、所定のエントリポイント以降の依存量子化が再開される量子化状態を導出するように構成される。
【0074】
一実施の形態によれば、シンボルはビンであり、シンボル化解除は非バイナリ化である。
【0075】
一実施の形態によれば、情報値は、ビデオを表すシンタックス要素のシーケンスである。
【0076】
一実施の形態によれば、情報値はニューラルネットワークパラメーターである。
【0077】
本発明による一実施の形態は、情報値のシーケンスを算術コーディングビットストリームに算術符号化する方法であって、情報値をシンボルストリングにシンボル化して、シンボルのシーケンスを取得することと、各シンボルについて、それぞれのシンボルについての確率推定値に従って、算術エンコーダーのコーディング状態の現在のバージョンを定義する現在の区間を細分すること、それぞれのシンボルのシンボル値に従って複数の部分区間の中から部分区間を選択して、選択された部分区間によって定義される、シンボルのシーケンスの次のシンボルを符号化するための算術エンコーダーのコーディング状態の更新されたバージョンを取得すること、及びビットストリームの継続中にコーディング状態を定義するエンコーダー内部パラメーターを再正規化することによって、シンボルのシーケンスを算術符号化することと、所定のエントリポイント以降のビットストリームの算術復号化を再開することを可能にするエントリポイント情報をビットストリームに提供することとを含む、方法を作製する。
【0078】
この実施の形態による方法は、上述の符号化する装置と同じ考察に基づいている。さらに、この開示される実施の形態は、符号化する装置に関連して本明細書において開示された任意の他の特徴、機能、及び詳細によって、個々に及び組み合わせての両方で、任意選択で補足され得る。
【0079】
本発明による一実施の形態は、ビットストリームから情報値のシーケンスを算術復号化する方法であって、ビットストリームからエントリポイント情報を導出することと、ビットストリームの各シンボルについて、算術デコーダーのコーディング状態の現在のバージョン、それぞれのシンボルについての確率推定値に従って現在の区間が細分される、複数の部分区間のうちの部分区間を決定し、選択された部分区間に基づいて、それぞれのシンボルのシンボル値を推定することと、ビットストリーム及び選択された部分区間を使用することによって、コーディング状態を定義するデコーダー内部パラメーターを再正規化及び更新して、シンボルのシーケンスの次のシンボルを復号化するための算術デコーダーのコーディング状態の更新されたバージョンを取得することとによって、エントリポイント情報を使用して、ビットストリームからシンボルのシーケンスを算術復号化することによって、所定のエントリポイント以降のビットストリームの算術復号化を再開することと、シンボル化解除によってシンボルのシーケンスから情報値を導出することとを含む、方法を作製する。
【0080】
この実施の形態による方法は、上述した復号化する装置と同じ考察に基づいている。さらに、この開示される実施の形態は、任意選択で、復号化する装置に関連して本明細書において開示された任意の他の特徴、機能、及び詳細によって、個々に、又は組み合わせて補足され得る。
【0081】
本発明による一実施の形態は、コンピューター上で実行されるときに、上述した実施の形態のいずれかによる方法を実施するプログラムコードを有するコンピュータープログラムを作製する。
【0082】
本発明による一実施の形態は、本明細書に記載される実施の形態のいずれかの算術エンコーダーを使用して生成されるビットストリームを作製する。
【0083】
本発明による一実施の形態は、ビットストリームからニューラルネットワークパラメーターを算術復号化する算術デコーダーであって、コンテキスト適応算術復号化を使用することによってビットストリームからシンボルのシーケンスを算術復号化することであって、シンボルのシーケンスのコンテキスト適応的に復号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、選択されたコンテキストモデルを使用して、コンテキスト適応的に復号化されたシンボルを算術復号化することと、シンボルのシーケンスの以前に復号化されたシンボルを使用して、複数のコンテキストモデルの確率推定値を実際のシンボル統計値に適応させることと、を含むことと、シンボル化解除によってシンボルのシーケンスからニューラルネットワークパラメーターを導出することと、ビットストリームの先頭及び/又はビットストリーム内の1つ以上のエントリポイントにおいて、1つ以上のコンテキストモデルのセット、おそらくは全て、しかしおそらくは複数のうちの一部のみのそれぞれについて、ビットストリーム内のコンテキストモデル情報に基づいてそれぞれのコンテキストモデルに関連する確率推定値を初期化することとを行うように構成される、算術デコーダーを作製する。
【0084】
一実施の形態によれば、算術デコーダーは、各コンテキストモデルについて、それぞれのコンテキストモデルが選択されたシンボルのシーケンスの以前にコンテキスト適応的に復号化されたシンボルに基づいて、それぞれのコンテキストモデルに関連付けられた確率推定値を生成することによって、シンボルのシーケンスの以前に復号化されたシンボルを使用して、複数のコンテキストモデルの確率推定値を実際のシンボル統計値に適応させるように構成される。
【0085】
一実施の形態によれば、算術デコーダーは、第1のアジリティパラメーターによって制御可能な第1の適応アジリティで実際のシンボル統計値に適応するように確率推定値についての第1の仮説を導出することによって、シンボルのシーケンスの以前に復号化されたシンボルを使用して、複数のコンテキストモデルの確率推定値を実際のシンボル統計値に適応させることと、ビットストリームの先頭及び/又はビットストリーム内の1つ以上のエントリポイントにおいて、1つ以上のコンテキストモデルのセットのそれぞれについて、ビットストリーム内のコンテキストモデル情報に基づいてそれぞれのコンテキストモデルに関連する第1の仮説と第1のアジリティパラメーターとを設定することとを行うように構成される。
【0086】
一実施の形態によれば、算術デコーダーは、第2のアジリティパラメーターによって制御可能な第2の適応アジリティで実際のシンボル統計値に適応するように確率推定値についての第2の仮説を導出することによって、シンボルのシーケンスの以前に復号化されたシンボルを使用して、複数のコンテキストモデルの確率推定値を実際のシンボル統計値に適応させることであって、確率推定値は、第1の仮説及び第2の仮説の平均によって決定されることと、ビットストリームの先頭及び/又はビットストリーム内の1つ以上のエントリポイントにおいて、1つ以上のコンテキストモデルのセットのそれぞれについて、ビットストリーム内のコンテキストモデル情報に基づいてそれぞれのコンテキストモデルに関連する第2の仮説と第2のアジリティパラメーターとを設定することとを行うように構成される。
【0087】
一実施の形態によれば、ビットストリーム内のコンテキストモデル情報は、第1の仮説及び第2の仮説と第1のアジリティパラメーター及び第2のアジリティパラメーターとを定義するための値の四つ組のテーブルへのテーブルエントリインデックスを含み、算術デコーダーは、テーブルエントリインデックスを使用してテーブルの1つの四つ組を選択し、該1つの四つ組を使用して第1の仮説及び第2の仮説と第1のアジリティパラメーター及び第2のアジリティパラメーターとを設定するように構成される。
【0088】
一実施の形態によれば、第1の仮説及び第2の仮説と第1のアジリティパラメーター及び第2のアジリティパラメーターとを定義するための値の四つ組の数は、8以上10以下である。9ライン/四つ組が存在する以下のテーブルを参照されたい。
【0089】
一実施の形態によれば、第1の仮説及び第2の仮説と第1のアジリティパラメーター及び第2のアジリティパラメーターとを定義するための値の四つ組は、第1のアジリティパラメーター及び第2のアジリティパラメーターの3つ、4つ、又は5つの相互に区別可能な設定のうちの1つに対応する。(1,4)、(2,6)、(0,5)又は(3,5)が存在する以下のテーブルを参照されたい。
【0090】
一実施の形態によれば、シンボルは、ビンであり、シンボル化解除は、非バイナリ化であり、第1の仮説及び第2の仮説と第1のアジリティパラメーター及び第2のアジリティパラメーターとを定義するための値の四つ組は、第1の3つの四つ組(例えば、cp.1,4,0,0、1,4,95,1519、及び1,4,-41,-654)であって、その全てによれば、第1のアジリティパラメーターは、第1の値に設定され、第2のアジリティパラメーターは、第1の値よりも低い適応アジリティに対応する第2の値に設定され、1つ目の四つ組によれば、第1の仮説及び第2の仮説は、等確率に対応し、2つ目の四つ組によれば、第1の仮説及び第2の仮説は、第1のビン値が第2のビン値よりも確からしいことに対応し、3つ目の四つ組によれば、第1の仮説及び第2の仮説は、第2のビン値が第1のビン値よりも確からしいことに対応する、第1の3つの四つ組と、第2の3つの四つ組(例えば、cp.2,6,95,1519、2,6,30,482、及び2,6,-21,-337)であって、その全てによれば、第1のアジリティパラメーターは、第1の値よりも低い適応アジリティ及び第2の値よりも高い適応アジリティに対応する第3の値に設定され、第2のアジリティパラメーターは、第2の値よりも低い適応アジリティに対応する第4の値に設定され、1つ目及び2つ目の四つ組によれば、第1の仮説及び第2の仮説は、第1のビン値が第2のビン値よりも確からしいことに対応し、3つ目の四つ組によれば、第1の仮説及び第2の仮説は、第2のビン値が第1のビン値よりも確からしいことに対応する、第2の3つの四つ組と、2つの四つ組(例えば、cp.3,5,0,0及び3,5,30,482)であって、その全てによれば、第1のアジリティパラメーターは、第3の値よりも低い適応アジリティ及び第2の値よりも大きい適応アジリティに対応する第4の値に設定され、第2のアジリティパラメーターは、第2の値よりも低い適応アジリティ及び第4の値よりも大きい適応アジリティに対応する第6の値に設定され、1つ目の四つ組によれば、第1の仮説及び第2の仮説は、等確率に対応し、2つ目の四つ組によれば、第1の仮説及び第2の仮説は、第1のビン値が第2のビン値よりも確からしいことに対応する、2つの四つ組と、1つの四つ組(例えば、cp.0,5,0,0)であって、該四つ組によれば、第1のアジリティパラメーターは、第1の値よりも大きい適応アジリティに対応する第7の値に設定され、該四つ組によれば、第1の仮説及び第2の仮説は、等確率に対応する、1つの四つ組とを含む。
【0091】
一実施の形態によれば、シンボルは、ビンであり、シンボル化解除は、非バイナリ化であり、算術デコーダーは、第1の仮説及び第2の仮説のそれぞれについて、符号付き整数によってそれぞれの仮説をそれぞれ表すことであって、符号付き整数は、ゼロである場合、等確率を示し、ゼロよりも大きい場合、第1のビン値が第2のビン値よりも確からしいことを示し、ゼロよりも小さい場合、第2のビン値が第1のビン値よりも確からしいことを示すことと、各コンテキストモデルについて、第1の仮説に関して第1のアジリティパラメーターによって制御され、第2の仮説に関して第2のアジリティパラメーターによって制御される量で、第1のアジリティパラメーター及び第2のアジリティパラメーターがそれぞれ小さいほど量が大きくなるように、現在復号化されているビンが第1のビン値を有する場合に符号付き整数を増加させ、現在復号化されているビンが第2のビン値を有する場合に符号付き整数を減少させることとによって、シンボルのシーケンスの以前に復号化されたシンボルを使用して、複数のコンテキストモデルの確率推定値を実際のシンボル統計値に適応させるように構成され、確率推定値は、第1の符号付き整数及び第2の符号付き整数の平均によって決定される。
【0092】
一実施の形態によれば、算術デコーダーは、遷移テーブルを使用して増加及び減少の量を決定するように構成される。
【0093】
一実施の形態によれば、算術デコーダーは、第1の仮説及び第2の仮説について同じ遷移テーブルを使用するように構成される。
【0094】
一実施の形態によれば、算術デコーダーは、符号付き整数によって決定されるテーブルインデックスによってインデックス付けされたエントリにおいて遷移テーブルをルックアップして遷移ステップを取得することと、遷移ステップサイズを第1の適応パラメーター及び第2の適応パラメーターにそれぞれ依存する2のべき乗で除算することと、によって、遷移テーブルを使用して増加及び減少の量を決定するように構成され、遷移ステップは、量を決定する。
【0095】
一実施の形態によれば、符号付き整数は、nビットを有する2の補数表現によって表され、nは、第1の仮説の場合よりも第2の仮説の場合の方が大きく(以下の詳細な説明の例では8及び12)、すなわち、第2の仮説の「スケール」は、第1の仮説と比較してより大きく/より細かく、したがって、遷移ステップが同じであった場合、アジリティが低減され、算術デコーダーは、遷移ステップサイズを第1の適応パラメーター及び第2の適応パラメーターにそれぞれアフィン線形(それぞれ4+shift0及びshift1)依存する2のべき乗で除算して遷移ステップを取得する場合(したがって、適応アジリティを決定する適応ステップはアジリティパラメーターによって決定される)に、一方では2n-mで除算した符号付き整数と、他方では2m-1で除算した符号付き整数(以下の詳細な説明の例ではm=5)との和によってインデックス付けされたエントリにおいて遷移テーブルをルックアップすることによって、遷移テーブルを使用して増加及び減少の量を決定するように構成され、遷移ステップは、量を決定する。依存性は、第1のアジリティパラメーター及び第2のアジリティパラメーターが同じであった場合に、アジリティが第1の仮説と第2の仮説との間で同じであったようなものであり得て、上記では、これは、「4+」によって、すなわち、第1の仮説と第2の仮説との間のnの差分を第1の仮説のアジリティパラメーターに加算することによって行われる。
【0096】
一実施の形態によれば、遷移ステップは、遷移テーブルのエントリに記憶され、単調に増加又は減少する。
【0097】
本発明の一実施の形態は、ニューラルネットワークパラメーターをビットストリームに算術符号化する算術エンコーダーであって、ニューラルネットワークパラメーターからシンボル化によってシンボルのシーケンスを導出することと、コンテキスト適応算術符号化を使用することによってシンボルのシーケンスをビットストリームに算術符号化することであって、シンボルのシーケンスのコンテキスト適応的に符号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、選択されたコンテキストモデルを使用して、コンテキスト適応的に符号化されたシンボルを算術符号化することと、シンボルのシーケンスの以前に符号化されたシンボルを使用して、複数のコンテキストモデルの確率推定値を実際のシンボル統計値に適応させることと、を含むことと、ビットストリームの先頭及び/又はビットストリーム内の1つ以上のエントリポイントにおいて、1つ以上のコンテキストモデルのセットのそれぞれについて、ビットストリーム内でシグナリングされたコンテキストモデル情報に従ってそれぞれのコンテキストモデルに関連する確率推定値を初期化することとを行うように構成される、算術エンコーダーを作製する。
【0098】
一実施の形態によれば、算術エンコーダーは、各コンテキストモデルについて、それぞれのコンテキストモデルが選択されたシンボルのシーケンスの以前にコンテキスト適応的に符号化されたシンボルに基づいて、それぞれのコンテキストモデルに関連付けられた確率推定値を生成することによって、シンボルのシーケンスの以前に符号化されたシンボルを使用して、複数のコンテキストモデルの確率推定値を実際のシンボル統計値に適応させるように構成される。
【0099】
一実施の形態によれば、算術エンコーダーは、第1のアジリティパラメーターによって制御可能な第1の適応アジリティで実際のシンボル統計値に適応するように確率推定値についての第1の仮説を導出することによって、シンボルのシーケンスの以前に符号化されたシンボルを使用して、複数のコンテキストモデルの確率推定値を実際のシンボル統計値に適応させることと、ビットストリームの先頭及び/又はビットストリーム内の1つ以上のエントリポイントにおいて、1つ以上のコンテキストモデルのセットのそれぞれについて、ビットストリーム内でシグナリングされたコンテキストモデル情報に従ってそれぞれのコンテキストモデルに関連する第1の仮説と第1のアジリティパラメーターとを設定することとを行うように構成される。
【0100】
一実施の形態によれば、算術エンコーダーは、第2のアジリティパラメーターによって制御可能な第2の適応アジリティで実際のシンボル統計値に適応するように確率推定値についての第2の仮説を導出し、第1の仮説及び第2の仮説の平均を形成することによって、シンボルのシーケンスの以前に符号化されたシンボルを使用して、複数のコンテキストモデルの確率推定値を実際のシンボル統計値に適応させることと、ビットストリームの先頭及び/又はビットストリーム内の1つ以上のエントリポイントにおいて、1つ以上のコンテキストモデルのセットのそれぞれについて、ビットストリーム内でシグナリングされたコンテキストモデル情報に従ってそれぞれのコンテキストモデルに関連する第2の仮説と第2のアジリティパラメーターとを設定することとを行うように構成される。
【0101】
一実施の形態によれば、ビットストリーム内のコンテキストモデル情報は、第1の仮説及び第2の仮説と第1のアジリティパラメーター及び第2のアジリティパラメーターとを定義するための値の四つ組のテーブルへのテーブルエントリインデックスを含み、算術エンコーダーは、テーブルエントリインデックスを使用してテーブルの1つの四つ組を選択し、該1つの四つ組を使用して第1の仮説及び第2の仮説と第1のアジリティパラメーター及び第2のアジリティパラメーターとを設定するように構成される。
【0102】
一実施の形態によれば、第1の仮説及び第2の仮説と第1のアジリティパラメーター及び第2のアジリティパラメーターとを定義するための値の四つ組の数は、8以上10以下である。9ライン/四つ組が存在する以下のテーブルを参照されたい。
【0103】
一実施の形態によれば、第1の仮説及び第2の仮説と第1のアジリティパラメーター及び第2のアジリティパラメーターとを定義するための値の四つ組は、第1のアジリティパラメーター及び第2のアジリティパラメーターの3つ、4つ、又は5つの相互に区別可能な設定のうちの1つに対応する。(1,4)、(2,6)、(0,5)又は(3,5)が存在する以下のテーブルを参照されたい。
【0104】
一実施の形態によれば、第1の仮説及び第2の仮説と第1のアジリティパラメーター及び第2のアジリティパラメーターとを定義するための値の四つ組は、第1の3つの四つ組(例えば、cp.1,4,0,0、1,4,95,1519、及び1,4,-41,-654)であって、その全てによれば、第1のアジリティパラメーターは、第1の値に設定され、第2のアジリティパラメーターは、第1の値よりも低い適応アジリティに対応する第2の値に設定され、1つ目の四つ組によれば、第1の仮説及び第2の仮説は、等確率に対応し、2つ目の四つ組によれば、第1の仮説及び第2の仮説は、第1のビン値が第2のビン値よりも確からしいことに対応し、3つ目の四つ組によれば、第1の仮説及び第2の仮説は、第2のビン値が第1のビン値よりも確からしいことに対応する、第1の3つの四つ組と、第2の3つの四つ組(例えば、cp.2,6,95,1519、2,6,30,482、及び2,6,-21,-337)であって、その全てによれば、第1のアジリティパラメーターは、第1の値よりも低い適応アジリティ及び第2の値よりも高い適応アジリティに対応する第3の値に設定され、第2のアジリティパラメーターは、第2の値よりも低い適応アジリティに対応する第4の値に設定され、1つ目及び2つ目の四つ組によれば、第1の仮説及び第2の仮説は、第1のビン値が第2のビン値よりも確からしいことに対応し、3つ目の四つ組によれば、第1の仮説及び第2の仮説は、第2のビン値が第1のビン値よりも確からしいことに対応する、第2の3つの四つ組と、2つの四つ組(例えば、cp.3,5,0,0及び3,5,30,482)であって、その全てによれば、第1のアジリティパラメーターは、第3の値よりも低い適応アジリティ及び第2の値よりも大きい適応アジリティに対応する第4の値に設定され、第2のアジリティパラメーターは、第2の値よりも低い適応アジリティ及び第4の値よりも大きい適応アジリティに対応する第6の値に設定され、1つ目の四つ組によれば、第1の仮説及び第2の仮説は、等確率に対応し、2つ目の四つ組によれば、第1の仮説及び第2の仮説は、第1のビン値が第2のビン値よりも確からしいことに対応する、2つの四つ組と、1つの四つ組(例えば、cp.0,5,0,0)であって、該四つ組によれば、第1のアジリティパラメーターは、第1の値よりも大きい適応アジリティに対応する第7の値に設定され、該四つ組によれば、第1の仮説及び第2の仮説は、等確率に対応する、1つの四つ組とを含む。
【0105】
一実施の形態によれば、シンボルは、ビンであり、シンボル化は、バイナリ化であり、算術エンコーダーは、第1の仮説及び第2の仮説のそれぞれについて、符号付き整数によってそれぞれの仮説をそれぞれ表すことであって、符号付き整数は、ゼロである場合、等確率を示し、ゼロよりも大きい場合、第1のビン値が第2のビン値よりも確からしいことを示し、ゼロよりも小さい場合、第2のビン値が第1のビン値よりも確からしいことを示すことと、各コンテキストモデルについて、第1の仮説に関して第1のアジリティパラメーターによって制御され、第2の仮説に関して第2のアジリティパラメーターによって制御される量で、第1のアジリティパラメーター及び第2のアジリティパラメーターがそれぞれ小さいほど量が大きくなるように、現在符号化されているビンが第1のビン値を有する場合に符号付き整数を増加させ、現在符号化されているビンが第2のビン値を有する場合に符号付き整数を減少させることとによって、シンボルのシーケンスの以前に符号化されたシンボルを使用して、複数のコンテキストモデルの確率推定値を実際のシンボル統計値に適応させるように構成され、確率推定値は、第1の符号付き整数及び第2の符号付き整数の平均によって決定される。
【0106】
一実施の形態によれば、算術エンコーダーは、遷移テーブルを使用して増加及び減少の量を決定するように構成される。
【0107】
一実施の形態によれば、算術エンコーダーは、第1の仮説及び第2の仮説について同じ遷移テーブルを使用するように構成される。
【0108】
一実施の形態によれば、算術エンコーダーは、符号付き整数によって決定されるテーブルインデックスによってインデックス付けされたエントリにおいて遷移テーブルをルックアップして遷移ステップを取得することと、遷移ステップサイズを第1の適応パラメーター及び第2の適応パラメーターにそれぞれ依存する2のべき乗で除算することとによって、遷移テーブルを使用して増加及び減少の量を決定するように構成され、遷移ステップは、量を決定する。
【0109】
一実施の形態によれば、符号付き整数は、nビットを有する2の補数表現によって表され、nは、第1の仮説の場合よりも第2の仮説の場合の方が大きく(以下の詳細な説明の例では8及び12、すなわち、第2の仮説の「スケール」は、第1の仮説と比較してより大きく/より細かく、したがって、遷移ステップが同じであった場合、アジリティが低減され)、算術エンコーダーは、遷移ステップサイズを第1の適応パラメーター及び第2の適応パラメーターにそれぞれアフィン線形(それぞれ4+shift0及びshift1)依存する2のべき乗で除算して遷移ステップを取得する場合(したがって、適応アジリティを決定する適応ステップはアジリティパラメーターによって決定される)に、一方では2n-mで除算した符号付き整数と、他方では2m-1で除算した符号付き整数(以下の詳細な説明の例ではm=5)との和によってインデックス付けされたエントリにおいて遷移テーブルをルックアップすることによって、遷移テーブルを使用して増加及び減少の量を決定するように構成され、遷移ステップは、量を決定する。依存性は、第1のアジリティパラメーター及び第2のアジリティパラメーターが同じであった場合に、アジリティが第1の仮説と第2の仮説との間で同じであったようなものであり得て、上記では、これは、「4+」によって、すなわち、第1の仮説と第2の仮説との間のnの差分を第1の仮説のアジリティパラメーターに加算することによって行われる。
【0110】
一実施の形態によれば、遷移ステップは、遷移テーブルのエントリに記憶され、単調に増加又は減少する。
【0111】
算術エンコーダー、算術デコーダー、算術符号化する方法、算術復号化する方法、これらの方法を実装するコンピュータープログラム、ニューラルネットワークパラメーターを算術符号化する算術エンコーダー、及びビットストリームは、任意選択で、本明細書において(文書全体において)開示される特徴、機能、及び詳細のいずれかによって、個々に及び組み合わせて補足され得る。
【0112】
本出願の好ましい実施形態は、図面に基づいて以下に説明される。
【図面の簡単な説明】
【0113】
【
図1】一実施形態による符号化する方法100のフローチャートである。
【
図2】一実施形態による復号化する方法200のフローチャートである。
【
図3】実施形態による、算術ビットストリームを符号化及び復号化する間に発生する符号化パラメーター及び復号化パラメーターの概略図を示し、ビットストリーム内のエントリポイント情報として何がシグナリングされ得るかに関する異なる可能性を示す。
【発明を実施するための形態】
【0114】
図1に、一実施形態による、整数値のシーケンスを算術コーディングビットストリームに算術符号化する方法100を示している。
【0115】
この方法は、ステップ101において、情報値をシンボルストリングにシンボル化して、シンボルのシーケンスを取得することと、ステップ102において、シンボルのシーケンスを算術符号化することとを含む。
【0116】
算術符号化は、ステップ103において、各シンボルについて、それぞれのシンボルについての確率推定値に従って、算術エンコーダーのコーディング状態の現在のバージョンを定義する現在の区間を細分することを含む。算術符号化は、ステップ104において、それぞれのシンボルのシンボル値に従って複数の部分区間から部分区間を選択することを更に含む。このようにして、選択された部分区間によって定義される算術エンコーダーのコーディング状態の更新されたバージョンが取得され、これを更に使用して、シンボルのシーケンスの次のシンボルが符号化される。算術符号化は、ステップ105において、ビットストリームの継続中にコーディング状態を定義するエンコーダー内部パラメーターを再正規化することを更に含む。
【0117】
算術符号化を実行した後、方法100は、ステップ106において、所定のエントリポイント以降のビットストリームの算術復号化を再開することを可能にするエントリポイント情報をビットストリームに更に提供する。
【0118】
しかしながら、方法100は、本明細書において開示される特徴、機能、及び詳細のいずれかによって、個々に、又は組み合わせて、任意選択で補足され得ることに留意されたい。
【0119】
図2に、一実施形態による、ビットストリームから情報値のシーケンスを算術復号化する方法200を示している。
【0120】
方法は、ステップ201において、ビットストリームからエントリポイント情報を導出することと、ステップ202において、ビットストリームの各シンボルについて、エントリポイント情報を使用して、ビットストリームからシンボルのシーケンスを算術復号化することによって、所定のエントリポイント以降のビットストリームの算術復号化を再開することとを含む。ビットストリームからシンボルのシーケンスを算術復号化することは、ステップ203において、算術デコーダーのコーディング状態の現在のバージョンと、それぞれのシンボルについての確率推定値に従って現在の区間が細分される、複数の部分区間のうちの部分区間とを決定することを含む。算術復号化することは、ステップ204において、選択された部分区間に基づいて、それぞれのシンボルのシンボル値を推定することを更に含む。算術復号化することは、ステップ205において、ビットストリーム及び選択された部分区間を使用することによって、コーディング状態を定義するデコーダー内部パラメーターを再正規化及び更新して、シンボルのシーケンスの次のシンボルを復号化するための算術デコーダーのコーディング状態の更新されたバージョンを取得することを更に含む。
【0121】
算術復号化を実施した後、方法200は更に、ステップ206において、シンボル化解除によってシンボルのシーケンスから情報値を導出する。
【0122】
しかしながら、方法200は、本明細書において開示される特徴、機能、及び詳細のいずれかによって、個々に、又は組み合わせて、任意選択で補足され得ることに留意されたい。
【0123】
図3は、符号化及び復号化中に展開される符号化パラメーター及び復号化パラメーターの概略図であり、復号化プロセスで使用されるビットストリーム内のエントリポイント情報として何がシグナリングされ得るかについて示している。
【0124】
符号化及び復号化の先頭、ビットストリームの先頭、又はビットストリームがそれ以降において完全に復号化されることになる先端において、以下の変数、すなわち、エンコーダー及びデコーダーの両方における区間幅R、エンコーダーにおける区間オフセットL、エンコーダー及びデコーダーの両方におけるコンテキストモデルの状態(任意選択でコンテキスト適応性が適用される場合)、及び任意選択で量子化状態(依存量子化が使用される場合)が、デフォルト方式で初期化され得る。ポインターVは、ビットストリーム内の第1の数ビットからデコーダーによって導出されることになり得る。先頭から内側に向かって、パラメーターが展開し、デコーダーは、どの状態が任意のエントリポイントで発生するかについて知るために、復号化プロセス全体を実行しなければならない。実施形態によれば、エンコーダーは、この情報を生成し、かかる情報をビットストリームとともにデコーダーに伝達し、それにより、デコーダーがエントリポイントのうちの1つにおいて復号化を直接開始できるようにする責任を負う。
【0125】
ビットストリームのエントリポイントのそれぞれは、算術エンコーダーの状態のスナップショットとして、より正確には、エンコーダーサイトでその状態をシミュレートするためにエンコーダーで実行される算術復号化プロセスのスナップショットとして見ることができる。特に、ビットストリームのエントリポイントは、コンテキストモデルの状態のスナップショット、又は当該ビットストリームを復号化する間に発生する復号化プロセスの量子化状態を擬似的に示している。したがって、示された変数は、所定のエントリポイントについてビットストリーム内でシグナリングされる。それらは、ビットストリームに先行するか、ビットストリームに続くか、又はエントリポイント自体等の間に挿入されるヘッダーにおいてシグナリングされ得る。復号化に必要なパラメーターの一部は、エントリポイントで同期してエンコーダー及びデコーダーで設定されてもよく、その結果、それに関する情報はエントリポイント情報に含まれる必要はない。
【0126】
以下では、情報値のシーケンスを算術コーディングビットストリームに、例えば符号化されたニューラルネットワークデータを含むビットストリームに、例えばNNRビットストリームに算術符号化するための一実施形態が説明される。所定のエントリポイント以降のビットストリームの算術復号化を再開することを可能にするエントリポイント情報は、擬似コードの形式で表1に示される。当然ながら、本明細書において記載される詳細は、このように生成されたビットストリームの対応する算術復号化も明らかにする。
【0127】
【0128】
図1によれば、情報値は、シンボルストリングにシンボル化され、シンボルのシーケンスが取得され、シンボルのシーケンスは、各シンボルについて、算術エンコーダーのコーディング状態の現在のバージョンを定義する現在の区間がそれぞれのシンボルについての確率推定値に従って細分される、複数の部分区間から部分区間を選択することによって算術符号化され、選択は、選択された部分区間によって定義される、シンボルのシーケンスの次のシンボルを符号化するための算術エンコーダーのコーディング状態の更新されたバージョンを取得するために、それぞれのシンボルのシンボル値に従って行われ、ビットストリームの継続中にコーディング状態を定義するエンコーダー内部パラメーターを再正規化する。
【0129】
ビットストリームには、所定のエントリポイント以降のビットストリームの算術復号化を再開することを可能にするエントリポイント情報が提供される。
【0130】
表1から分かるように、所定のエントリポイント以降のビットストリームの算術復号化を再開することを可能にするエントリポイント情報は、以下を含む。
【0131】
cabac_offset_listは、エントリポイントの先頭において変数IvlOffsetを初期化するために使用される値のリストを指定する。これは、8ビットの符号なし整数としてコーディングされるように例示的に示されているが、異なるようにコーディングすることもでき、この例では、変数IvlCurrRange及びIvlOffsetを使用して、算術復号化エンジンのステータス、又はコーディング状態を定義する。すなわち、算術デコーダーのコーディング状態は、区間の幅を示す区間幅パラメーターと区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、ここで、IvlCurrRangeは区間の幅を示し、IvlOffsetは区間を指すポインターを示す。
【0132】
dq_state_listは、エントリポイントの先頭において変数stateIdを初期化するために使用される値のリストを指定する。これは、3ビットの符号なし整数としてコーディングされるように例示的に示されているが、異なるようにコーディングすることもでき、ここでは、依存量子化を実行するために使用される状態機械の状態を示す変数としてstateIdが使用される。
【0133】
bit_offset_delta1は、リストBitOffsetListの第1の要素を指定する。これは、符号なし11次指数ゴロム符号を使用してコーディングされるように例示的に示されているが、異なるようにコーディングすることもできる。
【0134】
bit_offset_delta2は、リストBitOffsetListの第1の要素以外の要素を、リストBitOffsetListの前の要素との差分として指定する。これは、符号付き7次指数ゴロム符号を使用してコーディングされるように例示的に示されている。
【0135】
変数BitOffsetListは、エントリポイントの先頭にビットストリームポインター位置を設定するために使用されるビットオフセットのリストである。
【0136】
より正確には、表1は、依存量子化が、量子化されていない値のシーケンスから情報値のシーケンスを導出するために、すなわち状態機械を使用して使用される一実施形態に関するものであり、エントリポイント情報は、所定のエントリポイントまでの状態機械に現れる量子化状態、すなわちstateIdを含む。
【0137】
表2は、表1のエントリポイント情報を利用して所定のエントリポイント以降のビットストリームを算術復号化する方式を擬似コードの形態で例示的に示している。
【0138】
【0139】
表2において、変数entryPointOffsetは、エントリポイントが復号化のために存在するかどうかを示し、エントリポイントが存在する場合、エントリポイントオフセットを示すために使用される。GetEntryPointIdx(tensorDimensions[],i,scan)は、インデックスiがエントリポイントの第1の位置を指さない場合、-1を返す。インデックスiがエントリポイントの第1の位置を指す場合、テンソル内のエントリポイントインデックスを返す。
【0140】
GetEntryPointIdx(tensorDimensions[],i,scan)は、インデックスiがエントリポイントの第1の位置を指さない場合、-1を返す。インデックスiがエントリポイントの第1の位置を指す場合、テンソル内のエントリポイントインデックスを返す。エントリポイントの位置及びインデックスを決定するために、以下が適用される。
変数wをProd(tensorDimensions)/tensorDimensions[0]に設定する。
変数epIdxをi/(w*(4<<scan))-1に設定する。
i>0であり、i%(w*(4<<スキャン))が0に等しい場合、インデックスiはエントリポイントの第1の位置を指し、エントリポイントインデックスはepIdxに等しい。
そうでない場合、インデックスiは、エントリポイントの第1の位置を指さない。
【0141】
dq_flagは、量子化方法が従属スカラ量子化であるか、又は一様量子化であるかを指定する。0に等しいdq_flagは、一様量子化方法が使用されることを示す。1に等しいdq_flagは、従属スカラ量子化方法が使用されることを示す。dq_flagが存在しない場合、0であると推論される。
【0142】
set_bit_pointerは、ビットストリームポインターの位置を設定する。init_prob_est_param()は、確率推定パラメーターの初期化プロセスを呼び出す。
【0143】
scan_orderは、以下のテーブルに従って、2つ以上の次元を有するパラメーターのためのブロックスキャン順序を指定する。
0:ブロックスキャンなし
1:8×8ブロック
2:16×16ブロック
3:32×32ブロック
4:64×64ブロック
【0144】
すなわち、表1及び表2によって提供される例では、エントリポイント情報は、ビットストリーム内の所定のビットへのビットストリームポインター、すなわちset_bit_pointerを含み、所定のビットは、所定のエントリポイント以降のビットストリームの算術復号化を再開した後に次に読み出されることになる。ここで、エントリポイント情報は、2つ以上のエントリポイント以降の、すなわちNumBlockRowsMinus1エントリポイントについて、ビットストリームの算術復号化を再開することを可能にする。エントリポイントは、テンソルを行方向にスキャンするとき、又は1つの次元を完全にスキャンした後にその次元に沿って次の行をスキャンすること等によって規則的にスキャンするとき、行変更の間に配置されるように定義され得る。ビットストリーム内の所定のビットへのビットストリームポインターは、表1中のBitOffsetList[j]=BitOffsetList[j-1]+bit_offset_delta2における加算から導出可能なように、前のエントリポイントに対するオフセットの形態でビットストリーム内でシグナリングされる。
【0145】
各エントリポイントjにおいて、コーディング状態は、区間ポインター及び依存量子化状態に関して、それぞれcabac_offset_list[j]及びdq_state_list[j]を使用して初期化される。ここで、この実施形態によれば、区間幅は、各エントリポイントにおいて一定又は予め定義された固定値、すなわちデフォルト値、すなわちここでは例示的に256に設定され、IvlCurrRange及びIvlOffsetは、この例では両方とも16ビットレジスタ精度である。しかしながら、後者の明示的なビット精度は単なる例であり、変更することができる。
【0146】
4.更なる実施形態及び態様
以下では、本発明による更なる態様及び実施形態が説明され、これらは、個々に、又は本明細書において開示される任意の他の実施形態と組み合わせて使用することができる。
【0147】
さらに、本セクションで開示される実施形態は、任意選択で、本明細書において開示される任意の他の特徴、機能、及び詳細によって、個々に及び組み合わせて補足され得る。
【0148】
本発明の一実施形態による算術コーディングのためのエントリポイント構造について更に説明する。
【0149】
背景
コンテキストベース適応型バイナリ算術コーディング(CABAC)は、シンボルのシーケンスを符号化及び復号化する方法である。バイナリ化段階では、かかるシーケンスの各シンボルは、1つ以上のバイナリシンボル(ビン)のシーケンスに変換され、これらのビンシーケンスの連結がビットストリームに算術符号化される。コンテキストモデリング段階では、以前に符号化されたビン及びコンテキスト情報に基づいて、算術コーディングのために確率推定値が各ビンに関連付けられる。デコーダーは、利用可能な同じ情報を有し、算術復号化を実施するために同じ確率推定値を再生することができる。
【0150】
CABACのバイナリ化段階及びコンテキストモデリング段階のレビュー
バイナリ化及びコンテキストモデリングは、アプリケーションに強く依存する。例えば、ビデオ圧縮規格H.265/HEVC及びH.266/VVCは両方とも、算術コーディングエンジンとしてCABACを採用しているが、発生するシンタックス要素のタイプに調整されるため、非常に異なるバイナリ化及びコンテキストモデリング段階を有している。しかしながら、CABACを採用するほとんどのアプリケーションは、いわゆるコンテキストモデルのセットを維持し、バイナリ化及びコンテキストモデリングは、各ビンをこのセットからの特定のコンテキストモデルに曖昧さなしに関連付けることに対応する。コンテキストモデルは、通常、コンテキストモデルに以前に関連付けられたビンのみを考慮に入れる後方適応確率推定器として実装される。
【0151】
以下では、本発明の一実施形態によるコンテキストモデルを実装する異なる概念の3つの例を検討する。
【0152】
【0153】
実施態様についての詳細は、行「注記」のそれぞれのリソースに見出すことができる。
【0154】
注記:ISO/IEC15938パート17規格の委員会草案は、確率推定器の記述に一部の不正確な式を含んでおり、これらは、正しい「NNR」コンテキストモデル実施態様をもたらすために、以下のように訂正される必要がある。
セクション11.3.4.3.2.1において、式「valMps=pStateIdx0+pStateIdx0>=0」は、「valMps=16*pStateIdx0+pStateIdx1>=0」に置き換えられなければならない。
セクション11.3.4.3.2.1において、式「ivlLpsRange=rps_table[(abs((pStateIdx0+pStateIdx1)>>7))+qRangeIdx]」は、「ivlLpsRange=rps_table[(abs((16*pStateIdx0+pStateIdx1)>>7))+qRangeIdx]」に置き換えられなければならない。
セクション11.3.4.3.2.2において、式「pStateIdx0+=sign*(transition_table[16+(sign*pStateIdx0>>3)]>>shift0)」は、「pStateIdx0+=sign*(transition_table[16+(sign*pStateIdx0>>3)]>>(4+shift0))」に置き換えられなければならない。
セクション11.3.4.3.2.2において、式「pStateIdx1+=sign*(transition_table[16+(sign*pStateIdx0>>7)]>>shift1)」は、「pStateIdx1+=sign*(transition_table[16+(sign*pStateIdx1>>7)]>>shift1)」に置き換えられなければならない。
【0155】
本発明の一実施形態によれば、確率推定プロセスは変更されないため、コンテキストモデルの状態を表す変数のみが対象となる。本発明の本実施形態は、本明細書に記載されていない他のタイプの確率推定器にも適用できることに留意されたい。
【0156】
さらに、本発明の実施形態において、既知のバイパスビン又は終了ビンのようなコンテキストモデルに関連付けられていないビンが存在してもよい。
【0157】
ISO/IEC15938パート17規格の委員会草案の本発明の一実施形態による確率推定器の詳細なレビュー。
各コンテキストモデルは、例えば、4つの変数shift0、shift1、pStateIdx0、及びpStateIdx1を維持する。変数pStateIdx0及びpStateIdx1は、2の補数表現でそれぞれ符号付きの8ビット整数及び12ビット整数である。
【0158】
算術符号化又は復号化のための確率推定値は、例えば、pStateIdx0及びpStateIdx1と、区間[256,510]内の値である算術エンコーダー又はデコーダーの現在のコーディング区間ivlCurrRangeの幅とから、以下のように導出することができる。
【0159】
valMps = 16 * pStateIdx0 + pStateIdx1 >= 0
qRangeIdx = ivlCurrRange & 0xe0
rlps_table = [128, 112, 97, 84, 74, 65, 57, 50, 45, 39, 34, 30, 27, 23, 20, 18, 15, 14, 12, 11, 10, 9, 7, 7,
5, 5, 4, 4, 3, 3, 2, 2, 142, 125, 108, 93, 82, 72, 63, 56, 50, 43, 38, 33, 30, 26, 22, 20,
17, 16, 13, 12, 11, 10, 8, 8, 6, 6, 5, 5, 3, 3, 2, 2, 156, 137, 119, 103, 90, 79, 70, 61,
55, 48, 42, 37, 33, 28, 24, 22, 19, 17, 15, 13, 12, 11, 9, 9, 6, 6, 5, 5, 4, 4, 2, 2,
171, 150, 130, 112, 99, 87, 76, 67, 60, 52, 46, 40, 36, 31, 27, 24, 21, 19, 16, 15, 13, 12, 10, 10,
7, 7, 6, 6, 4, 4, 3, 3, 185, 162, 141, 121, 107, 94, 82, 73, 65, 56, 50, 43, 39, 34, 29, 26,
22, 21, 17, 16, 14, 13, 11, 11, 8, 8, 6, 6, 4, 4, 3, 3, 199, 175, 152, 131, 115, 101, 89, 78,
70, 61, 54, 47, 42, 36, 31, 28, 24, 22, 19, 17, 15, 14, 12, 12, 8, 8, 7, 7, 5, 5, 3, 3,
213, 187, 163, 140, 123, 108, 95, 84, 75, 65, 58, 50, 45, 39, 33, 30, 26, 24, 20, 18, 16, 15, 13, 13,
9, 9, 7, 7, 5, 5, 3, 3, 228, 200, 174, 150, 132, 116, 102, 90, 80, 70, 62, 54, 48, 42, 36, 32,
28, 26, 22, 20, 18, 16, 14, 14, 10, 10, 8, 8, 6, 6, 4, 4]
ivlLpsRange = rps_table[(abs((16 * pStateIdx0 + pStateIdx1) >> 7)) + qRangeIdx]
【0160】
変数valMpsは、優勢シンボル(MPS:more probable symbol)の値であり、劣勢シンボル(LPS:less probable symbol)の確率推定値は、pLPS=ivlLpsRange/ivlCurrRangeとして与えられる。したがって、優勢シンボルの確率推定値は、単にpMPS=1-pLPSである。
【0161】
1に等しい次のビンの確率Pr(bin==1)は、例えば、以下のように導出することができる。
【0162】
valMps==1の場合:Pr(bin==1)=pMPS
【0163】
そうでない場合(valMps==0の場合):Pr(bin==1)=pLPS
【0164】
MPS及びLPSに関連する部分区間幅のみが算術符号化又は復号化に必要とされるため、これらの確率推定値はエンコーダー又はデコーダーにおいて直接発生しないことに留意されたい。
【0165】
符号化の開始時に、pStateIdx0及びpStateIdx1は両方とも、pLPS=0.5にほぼ対応する0に設定される。
【0166】
値binValを有するビンの符号化又は復号化の後、pStateIdx0及びpStateIdx1は、例えば、変数shift0及びshift1を使用して以下の式に従って更新される。
【0167】
transition_table=[2512,2288,2064,1840,1616,1392,1168,944,720,560,464,368,272,208,144,80,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,0]
【0168】
sign=2*binVal-1
【0169】
pStateIdx0+=sign*(transition_table[16+(sign*pStateIdx0>>3)]>>(4+shift0))
【0170】
pStateIdx1+=sign*(transition_table[16+(sign*pStateIdx1>>7)]>>shift1)
【0171】
式から分かるように、shift0又はshift1のより大きい値は、それぞれpStateIdx0又はpStateIdx1の値のより小さい修正をもたらし、これは、結果として生じる確率推定値のより小さい変化に対応し、より小さい値は、より大きい変化に対応する。したがって、shift0及びshift1は、pStateIdx0及びpStateIdx1の更新アジリティを制御するアジリティパラメーターと見なすことができる。(shift0,shift1)の典型的な値は、例えば、(1,4)、(0,0)、(0,5)、(1,1)、(1,2)、(2,4)、(2,6)、(3,4)、又は(3,5)であり、shift0及びshift1に対してどの値が最も適切であるかは、符号化されるビンのシーケンスの統計的特性に依存する。
【0172】
基礎となる原理は、指数加重移動平均(EWMA:exponentially weighted moving average)として知られている。
【0173】
本発明の一実施形態によるCABAC(Mコーダー)の算術コーディングエンジンのレビューについて更に説明する。
【0174】
一実施形態によるMコーダーは、デコーダー内に2つの符号なしBビット整数変数V及びRを維持する。通常、Bは9に設定されるが、他の選択も可能である。復号化の先頭において、Vは算術符号化されたビットストリームの最初のBビットで初期化され(ビットストリームポインターをBビットだけ進める)、Rは例えば2B-2のような初期値に設定される。ビットストリームは、算術符号化が開始する前に、高レベルシンタックス等の更なるビットを含み得ることに留意されたい。Rは、現在のコーディング区間の幅を表し、区間[2B-1,2B-1]内の値のみを含むことができる。コーディング区間は[0,R]として与えられ、Vはコーディング区間へのポインターを表す。すなわち、V<Rが常に成立しなければならない。ビンbの復号化のために、bの2つの可能な値についての確率が、コンテキストモデリングのような既知の技術と、例えば指数加重移動平均(EWMA)のような確率推定とを使って推定される。ビンbに関連する推定された確率に基づいて、2つの部分区間IL=[0,RL]及びIR=[RL,R]が導出され、ここで、ILはビンbの一方の可能な値に関連し、IRはビンbの他方の可能な値に関連する。例えば、IRは、通常、推定された確率に基づいて劣勢シンボル(LPS)に関連付けられ、ILは、優勢シンボル(MPS)に関連付けられる。
【0175】
ビンの復号化は、例えば、以下のように実行される(列挙されたリストは順序付けられたステップに対応する)。
【0176】
V<RLの場合:
1.ILに関連するシンボル値は、bの復号化された値である。
2.RはRLに設定される。
そうでない場合(V>=RL):
1.IRに関連するシンボル値は、bの復号化された値である。
2.RはR-RLに設定される。
3.VはV-RLに設定される。
【0177】
その後、R<2B-1の場合、再正規化は、例えば、以下のように実行される。
1.Rは2*Rに設定される。
2.Vは2*V+ReadOneBit()に設定される。
3.R<2B-1の場合、ステップ1を継続する(そうでなければ、再正規化が行われる)。
【0178】
関数ReadOneBit()は、ビットストリーム内の次のビットを返し、ビットストリームポインターを1ビットだけ進める。
【0179】
上記のビン復号化手順は、通常のコーディングモードとしても知られている。さらに、既知のバイパスコーディングモード及び終了ビンコーディングモードが存在する。
【0180】
本発明の一実施形態による概念を更に説明する。
【0181】
算術復号化は、並列化が困難であり得る逐次処理である。本発明の一実施形態による概念は、いわゆるエントリポイントを定義することによって、デコーダーがビットストリーム内の予め定義された位置で復号化を開始することを可能にする方法を導入する。このようにして、複数のデコーダーは、(異なるエントリポイントから開始して)単一のビットストリームの異なる部分を並列に復号化するように動作することができる。
【0182】
エントリポイント
エントリポイントは、特定のビンを復号化する前の算術デコーダーの状態のスナップショットと見なすことができる。すなわち、それは以下の変数からなる。
a.R
b.V
c.ビットストリーム内の次のビットへのポインター
d.CABACデコーダーの状態(例えば、コンテキストモデルの状態、及び依存量子化方式の状態のような潜在的に更に関連する変数)
【0183】
かかるエントリポイントは、Rに対してB-1ビット(整数[2B-1,2B-1]における全ての可能な値を表すために)、Vに対してBビット、並びにc.及びd.を記憶するために更なるビットを必要とする。c.を記憶するために、一実施形態において、小さいポインター値が短いバイナリコードワードをもたらすため、指数ゴロム符号のような可変長符号を採用することが適切であり得る。しかしながら、多数のコンテキストモデルが存在する可能性があり、各コンテキストモデルは、その内部状態を表すために複数のビットを必要とする場合があるため、d.を記憶することは、膨大な数のビットを必要とする可能性がある。
【0184】
注目すべきことに、一実施形態において、ビットストリームを再符号化する必要なしに、既存のCABACビットストリームに対してエントリポイントを作成することもできる。
【0185】
好ましい実施形態において、CABACビットストリームに対して1つ以上のエントリポイントが生成されている。第1のエントリポイントに対して、ビットストリームc.内の次のビットへのポインターは、算術復号化が開始するビット位置と第1のエントリポイントのビット位置との間の差分として記憶される。
【0186】
別の好ましい実施形態において、この差分は、(算術デコーダーの初期化中に最初のBビットがVにロードされるので)Bだけ更に低減される。
【0187】
別の好ましい実施形態において、第1のエントリポイント(存在する場合)の後の全てのエントリポイントは、前のエントリポイントのビットストリームc.中の次のビットへのポインターに対して、ビットストリームc.中の次のビットへのポインターを記憶する。例えば、現在のエントリポイントと前のエントリポイントのビットストリームc.内の次のビットへのポインター間の差分が記憶される。
【0188】
別の好ましい実施形態において、ビットストリームc.内の次のビットへのポインターを示す記憶されるべき整数値(例えば、前の好ましい実施形態において説明したような差分として与えられる)は、次数kの符号なし指数ゴロム符号(例えば、ISO/IEC15938パート17の委員会草案において定義されるようなデータタイプue(k)に対応する)を使用してビットストリーム内で符号化される。
【0189】
別の好ましい実施形態において、(前の好ましい実施形態において説明したように)ビットストリームc.中の次のビットを表す整数の計算に関与するビットストリームc.中の次のビットへのポインターは、計算を実行する前に8の倍数に切り捨てられる。したがって、結果として得られる差分も8の倍数であり、8で除算して(ビットオフセットの代わりに)バイトオフセットを得ることができる。さらに、現在のエントリポイントの現在のバイトにおけるビット位置を示す3つの追加のビットがエントリポイントにおいて符号化される。
【0190】
好ましい実施形態において、符号化及び復号化は、状態変数が維持される(例えば、ISO/IEC15938パート17の委員会草案において使用されるような)既知の依存量子化方式を含む。依存量子化状態の値を示すために、固定数のビットが各エントリポイントとともに記憶される。例えば、ISO/IEC15938パート17の委員会草案の場合、依存量子化状態の8つの可能な値のうちの1つを示す3ビット変数が記憶される。
【0191】
一実施形態による、ビットストリームc中の次のビットへのポインターの二重差分シグナリングについて更に説明する。
【0192】
エントリポイントがビットストリーム内でほぼ等距離に配置されるアプリケーションでは、隣接するエントリポイント間のビットストリームc.内の次のビットへのポインター間の差分は、ほぼ同じ値を有する。かかる状況では、第1の2つのエントリポイントを除く全てについて、これらのビット位置の「差分の差分(differences of differences)」をシグナリングすることがより効率的であり得る。より正確には、bitPos1、bitPos2、及びbitPos3としてそれぞれ与えられるビットストリームc.内の次のビットへの関連するポインターを有する3つの隣接するエントリポイントep1、ep2、及びep3を考える。また、bitPos1<bitPos2<bitPos3が成立するとする。次いで、ほぼ等間隔のエントリポイントep1、ep2、及びep3について、差分d1=bitPos2-bitPos1及びd2=bitPos3-bitPos2は、ほぼ同じ値を有する。すなわち、差分の差分d2-d1は、小さい大きさを有する。したがって、好ましい実施形態において、エントリポイントep3についてのビットストリームc.内の次のビットの位置は、「二重差分」dd3=d2-d1としてシグナリングされる。ここで、dd3は負にもなり得ることに留意されたい。dd3の大きさは、d3の大きさよりも小さい傾向があるため、例えば、符号付き指数ゴロム符号を使用するとき、ビットストリーム内のより少ないビットでそれをシグナリングすることが可能であり得る。
【0193】
別の好ましい実施形態において、エントリポイントep2のビットストリームc.内の次のビットの位置を示す差分d1は、パラメーターk=11を有する符号なし指数ゴロム符号としてシグナリングされる。
【0194】
別の好ましい実施形態において、エントリポイントep3のビットストリームc.内の次のビットの位置を示す差分dd3(上述のように「二重差分」として表される)は、パラメーターk=7を有する符号付き指数ゴロム符号としてシグナリングされる。
【0195】
別の好ましい実施形態において、ビットストリームc.内の次のビットの位置を示す(上述のような)差分値及び/又は二重差分値は、ビットストリーム内で符号化されないが、代わりに、所定の位置でエンコーダー及びデコーダーによって導出されるエントリポイントに基づいて計算される。例えば、第1のエントリポイントep1は、ビットストリームにおいてシグナリングされない(代わりに、エンコーダー及びデコーダーにおいて導出される)が、ep2をシグナリングするための差分又は二重差分を計算するために使用される。
【0196】
本発明の一実施形態によるエンコーダー修正を有するエントリポイントについて更に説明する。
【0197】
前のセクションで説明したように、エントリポイントにd.を記憶することは、相当数のビットを必要とし得る。本セクションでは、エンコーダー修正を可能にすることによってエントリポイントのサイズを低減する複数の概念を説明する。
【0198】
実施形態によるCABACエンコーダー及びデコーダー(d.)の状態に対する修正が更に説明される。
【0199】
一実施形態によれば、CABACエンコーダー及びデコーダーd.の状態は、エントリポイントの先頭において予め定義された値に設定される。したがって、エントリポイントにd.を記憶する必要はない。しかしながら、これは、確率モデル精度が低減されるため、より大きい算術符号化されたビットストリームを生じ得る。
【0200】
例えば、エントリポイントの先頭におけるCABACエンコーダー及びデコーダーの状態は、以下の規則(それぞれが一実施形態に従う)のうちの1つに従って設定され得る。
1.CABACエンコーダー及びデコーダーの状態は、デフォルト値にリセットされる。
2.CABACエンコーダー及びデコーダーの状態は、ビットストリーム内でシグナリングされる情報を使用して初期化される。
3.CABACエンコーダー及びデコーダーの状態は、CABACエンコーダー及びデコーダーの以前の保存状態に設定される。
【0201】
CABACエンコーダー及びデコーダーの状態は、コンテキストモデルのセット及び更なる変数からなり得ることを想起されたい。通常、CABACエンコーダー及びデコーダーの状態の異なる部分に異なる規則を適用することが合理的である。例えば、一実施形態によれば、規則1をコンテキストモデルに適用することができ、一方、依存量子化方式の状態のような他の変数に対しては、規則を全く適用しない方がより適している場合がある。すなわち、他の変数はエントリポイントとともに記憶される。又は、別の例では、一実施形態によれば、規則1又は規則2がコンテキストモデルの第1のサブセットに適用され、規則2又は規則3がコンテキストモデルの第2の(互いに素な)サブセットに適用される。
【0202】
一実施形態による規則1に基づく例は、以下の通りである。
【0203】
規則1は、おそらく、エントリポイントとともにd.を記憶する必要性を回避する最も簡単な方法である。しかしながら、それはまた、確率モデル精度が大幅に低減されるため、実質的に増加した算術的にコーディングされたビットストリームを生じ得る。
【0204】
一実施形態による規則2に基づく例は、以下の通りである。
【0205】
規則2は、例えば、コンテキストモデルのみに適用することができ、他の規則(又は規則なし)は、CABACエンコーダー及びデコーダーの状態(例えば、依存量子化方式の状態等)に関連付けられた他の全ての変数(もしあれば)に適用することができる。例えば、一部又は全てのコンテキストモデルのための初期化は、第1のエントリポイントの前のどこかでビットストリーム内でシグナリングされ得る。各エントリポイントの先頭において、この初期化情報を使用して、各コンテキストモデルの初期状態を導出する。
【0206】
一実施形態による規則3に基づく例は、以下の通りである。
【0207】
コンテキストモデルの状態を記憶及びロードすることは、例えば、ビデオ圧縮規格H.265/HEVCのウェーブフロント並列処理のコンテキストから知られている。エンコーダー及びデコーダーは、コンテキストモデルの状態を予め定義された位置に記憶し、これらの状態を他の予め定義された位置にロードするためにそれらを利用可能にする。この概念は、保存されたコンテキストモデル状態がエントリポイントの先頭においてロードされるエントリポイント概念と組み合わせることができる。
【0208】
実施形態によるCABACエンコーダー及びデコーダーにおける変数Rの修正について更に説明する。
【0209】
変数Rは、[2B-1,2B-1]の範囲内にある。したがって、エントリポイントにRを記憶するには、(区間に2B-1-2B-1+1=2B-1個の値が存在するため)B-1ビットが必要である。エントリポイントにおけるRのシグナリングは、一実施形態において、エントリポイントを作成する前にいわゆる擬似ビンを符号化及び復号化することによって回避することができる。これは、RLが2B-1に設定された通常のビンの符号化手順を使用し、ILに関連付けられたシンボル値を符号化又は復号化シンボルとして選択することによって行われる。かかる擬似ビンは、R>2B-1の場合にのみ必要とされることに留意されたい。かかる擬似ビンの後、変数Rは常に2B-1であり、したがって、B-1ビットを保存するエントリポイントに記憶される必要はない。擬似ビンは常に優勢シンボル(MPS)であるため、それは、保存されたB-1ビットよりも小さい1ビットよりも小さいビットストリーム内のビットの平均部分を生成する。この技術はまた、V<Rが常に成立しなければならないため、変数Vの可能な値に影響を及ぼす。その結果、V<2B-1が同様に成立し、Vは、Bビットの代わりにB-1ビットを有するビットストリームにおいてシグナリングされ、エントリポイントにおいてもう1ビットを保存することができる。
【0210】
好ましい実施形態において、Rは、(エンコーダー及びデコーダーにおける)エントリポイントの先頭において2B-1に設定され、Vは、B-1ビットを有する固定長変数として記憶される。
【0211】
本発明の一実施形態による値の2Dアレイの圧縮へのエントリポイントの適用について更に説明する。
【0212】
複数のアプリケーションは、値の2Dアレイをビットストリームに符号化する。例えば、画像又はビデオ圧縮方式は、サンプルの2Dアレイとして表されるピクチャを符号化し、又はニューラルネットワークパラメーターのための圧縮方式は、含まれるパラメーター値を符号化するために、パラメーターテンソルを2D構造に再整形する。かかる方式は、通常、2Dアレイに対してブロック分割技術を適用するものであり、それらはまた、符号化又は復号化のための得られたブロックの順序を定義する。さらに、かかる方式はまた、例えば量子化のような損失のある演算を含み得て、復号化され再構成された2Dアレイは、元の2Dアレイと同一ではないが、(例えば、ビデオ圧縮の場合には視覚的な意味で)通常は同様である。
【0213】
例えば、(画像平面又は再整形されたパラメーターテンソルのような)2DアレイをサイズN×Nのブロックに細分し、それらをビットストリームに符号化するためにブロックが順序付けられるスキャン順序を定義する、ビデオ又はニューラルネットワークパラメーター圧縮方式を考える。かかる方式は、N×Nブロックの行及び列を形成する。例えば、行内の順序は、最も左のブロックから開始し、右に進むことができる。行の順序は、単に一番上の行から開始して、下方向に進むことができる。このスキャン順序は、ラスタスキャンとしても知られており、デコーダーが全ての行を並列に復号化できるようにすることが望ましい。この場合、各行の先頭において1つのエントリポイントが必要となる。しかしながら、一実施形態において、デコーダーは、現在のブロックを復号化できるようにするために、隣接ブロックの情報を必要とし得ることに留意されたい。例えば、ビデオ圧縮アルゴリズムは、通常、現在のブロックを復号化することができるように、(例えば、左又は上の)隣接ブロックの情報にアクセスする。この場合、デコーダーは更に、現在のブロックの復号化が行われ得る前にこれらのブロックが復号化されることを確実にしなければならない。
【0214】
さらに、並列復号化は、一部の2Dアレイには有用であり得るが、他の2Dアレイには必要でない場合がある。例えば、大きな2Dアレイに対しては、それは有用であり得るが、小さな2Dアレイに対しては、それは必要ではない場合がある。好ましい実施形態において、2Dアレイについてエントリポイントが存在するかどうかがビットストリーム内でシグナリングされる。
【0215】
好ましい実施形態において、(規則3による)コンテキストモデルの状態は、各行の第1のブロックの後に記憶される。各ブロック行の先頭において1つのエントリポイントが生成され、コンテキストモデルの状態は、上の隣接する行の第1のブロックの符号化又は復号化の後に存在する記憶された値に設定される。
【0216】
別の好ましい実施形態において、(規則3による)コンテキストモデルの状態は、第1の行の第1のブロックの後に記憶される。1つのエントリポイントは、各ブロック行の先頭において生成され、コンテキストモデルの状態は、最上行の第1のブロックの符号化又は復号化後に存在するのと同じ値に設定される。
【0217】
一実施形態による、エントリポイントのための共有コンテキストモデル初期化情報のシグナリングについて更に説明する。
【0218】
CABAC復号化を開始する前に、全てのコンテキストモデルの状態を予め定義された値に設定しなければならない。これは、例えば、デフォルト値とすることができ、又はより高度なコンテキストモデル初期化手順を使用することによって行うことができる。例えば、ニューラルネットワークのためのISO/IEC15938パート17圧縮規格の委員会草案(上述したような補正された式を含む)は、コンテキストモデルごとに2つの状態変数(pStateIdx0及びpStateIdx1)を採用し、シフトパラメーター(shift0及びshift1)を状態変数のそれぞれに関連付ける。シフトパラメーターは、EWMA推定器に基づく状態変数更新の適応アジリティを制御する。算術符号化又は復号化の開始時に、各コンテキストモデルの2つの状態変数は、0.5の初期確率推定値に対応する0に設定される。さらに、2つのシフトパラメーターの初期化のための9つの予め定義された値ペアが存在し(アレイShiftParameterSetを参照)、9つの値ペアのうちのどれがシフトパラメーターのために使用されるかが、コンテキストモデルごとにビットストリーム内でシグナリングされる。
【0219】
コンテキストモデルの状態変数のための複数の異なる初期値を区別することの効果は、基礎となるEWMA推定器がコンテキストモデルに関連付けられたビンシーケンスの統計に迅速に適応するため、通常はかなり制限される。しかしながら、エントリポイントが存在し、コンテキストモデルが各エントリポイントにおいて初期化される場合、この効果はより重要になる。したがって、コンテキストモデルの状態変数の初期化のために異なる値のセットを可能にすることが有益であり得る。
【0220】
好ましい実施形態において、4タプルのリストが定義され、各4タプルは、コンテキストモデルの2つの状態変数及び2つのシフトパラメーターの初期値を表す。NNRの場合、4タプルの値は、変数の4タプル(shift0,shift1,pStateIdx0,pStateIdx1)に関連付けられる。算術コーディングが開始する前に、各コンテキストモデルについてビットストリーム内で整数インデックスがシグナリングされ、4タプルのうちのどれがそれぞれのコンテキストモデルを初期化するために使用されるかを示す。
【0221】
別の好ましい実施形態において、コンテキストモデルを初期化するために使用される4タプルを示すインデックスは、より短いコードワードをより頻繁に使用される4タプルに割り当てる可変長符号を使用してシグナリングされる。
【0222】
例えば、4タプル(shift0,shift1,pStateIdx0,pStateIdx1)の以下のリストを使用することができる。
【0223】
【0224】
2つの状態変数及び2つのアジリティパラメーターがNNRと同じ変数名(shift0,shift1,pStateIdx0,pStateIdx1)を使用するVVCのコンテキストモデルとともに同じ概念を使用することもできることに留意されたい。これらの変数は、それらの正確な挙動は異なるが、VVCにおいてNNRと同じ目的を満たすことに留意されたい。したがって、本明細書に提示される概念は、4タプルが適切に適合されるとき、VVCにも適用され得る。
【0225】
結論として、本発明による実施形態は、圧縮性能と視覚的品質との間の改善されたトレードオフと、改善されたコーディング効率をもたらす低い符号化レイテンシーとを提供する。幾つかの実施形態はまた、更なるコーディング効率を提供する。
【0226】
異なる発明の実施形態及び態様は、例えば、「導入」、「サンプル適応オフセット」、「PSAOの分類」、「デコーダー」、「エンコーダー」、及び「幾つかのコメント」の章に記載されており、「サンプル適応オフセット」の章からの特徴、機能、及び詳細は、他の実施形態のいずれかに任意選択で導入することができる。
【0227】
しかしながら、任意の他の章で説明される特徴、機能、及び詳細は、本発明による実施形態に任意選択で導入することもできる。
【0228】
また、上述の章で説明した実施形態は、個々に使用することができ、別の章の特徴、機能、及び詳細のいずれかによって補足され得る。
【0229】
また、本明細書に記載される個々の態様は、個々に又は組み合わせて使用することができることに留意されたい。したがって、当該態様の別の1つに詳細を追加することなく、当該個々の態様のそれぞれに詳細を追加することができる。
【0230】
特に、実施形態は特許請求の範囲にも記載されている。特許請求の範囲に記載された実施形態は、本明細書に記載された特徴、機能、及び詳細のいずれかによって、個々に及び組み合わせて、任意選択的に補足され得る。
【0231】
本開示は、ビデオエンコーダー(入力ビデオ信号の符号化された表現を提供するための装置)及びビデオデコーダー(ビデオ信号の符号化された表現に基づいてビデオ信号の復号化された表現を提供するための装置)において使用可能な特徴を明示的又は暗示的に説明することにも留意されたい。したがって、本明細書に記載する特徴のいずれも、ビデオエンコーダーのコンテキストにおいて、及びビデオデコーダーのコンテキストにおいて使用することができる。
【0232】
さらに、方法に関して本明細書に開示する特徴及び機能は、(かかる機能を実行するように構成された)装置においても使用され得る。さらに、装置に関して本明細書に開示される任意の特徴及び機能は、対応する方法においても使用され得る。換言すれば、本明細書に開示される方法は、装置に関して説明される特徴及び機能のいずれかによって補足され得る。
【0233】
また、本明細書に記載する特徴及び機能のいずれも、「代替的な実施態様」のセクションで説明するように、ハードウェア若しくはソフトウェアで、又はハードウェアとソフトウェアの組み合わせを使用して実装され得る。
【0234】
代替的な実施態様
幾つかの態様が装置との関連で説明されるが、これらの態様は、対応する方法の説明も表すことは明らかであり、ブロック又はデバイスは、方法ステップ又は方法ステップの特徴に対応する。同様に、方法ステップの文脈で説明される態様は、対応する装置の対応するブロック又は項目又は特徴の説明も表す。方法ステップの幾つか又は全部は、例えばマイクロプロセッサ、プログラマブルコンピューター又は電子回路のようなハードウェア装置によって(又はそれを使用して)実行されてもよい。幾つかの実施形態において、最も重要な方法ステップのうちの1つ以上が、かかる装置によって実行されてもよい。
【0235】
或る特定の実施態様の要件に応じて、本発明の実施形態は、ハードウェア又はソフトウェアで実装することができる。実装は、それぞれの方法が実施されるようにプログラム可能なコンピューターシステムと協働する(又は協働することができる)電子的に可読制御信号を記憶したデジタル記憶媒体、例えばフロッピーディスク、DVD、ブルーレイ、CD、ROM、PROM、EPROM、EEPROM又はフラッシュメモリを使用して実行することができる。したがって、デジタル記憶媒体はコンピューター可読であってもよい。
【0236】
本発明による幾つかの実施形態は、本明細書に記載された方法のうちの1つが実行されるように、プログラム可能なコンピューターシステムと協働することができる電子的に可読制御信号を有するデータキャリアを含む。
【0237】
概して、本発明の実施形態は、プログラムコードを有するコンピュータープログラム製品として実装することができ、プログラムコードは、コンピュータープログラム製品がコンピューター上で実行されるときに方法のうちの1つを実施するように動作可能である。プログラムコードは、例えば、機械可読キャリアに記憶されてもよい。
【0238】
他の実施形態は、機械可読キャリアに記憶された、本明細書に記載された方法のうちの1つを実施するコンピュータープログラムを含む。
【0239】
換言すれば、本発明の方法の一実施形態は、したがって、コンピュータープログラムがコンピューター上で実行されるときに、本明細書に記載される方法のうちの1つを実施するプログラムコードを有するコンピュータープログラムである。
【0240】
したがって、本発明の方法の更なる実施形態は、本明細書に記載の方法のうちの1つを実施するコンピュータープログラムを記録して含むデータキャリア(又はデジタル記憶媒体、又はコンピューター可読媒体)である。データキャリア、デジタル記憶媒体又は記録媒体は、典型的には有形及び/又は非一時的である。
【0241】
したがって、本発明の方法の更なる実施形態は、本明細書に記載される方法のうちの1つを実施するコンピュータープログラムを表すデータストリーム又は信号のシーケンスである。データストリーム又は信号のシーケンスは、例えば、データ通信接続を介して、例えばインターネットを介して転送されるように構成されてもよい。
【0242】
更なる実施形態は、本明細書に記載された方法のうちの1つを実施するように構成又は適合された処理手段、例えばコンピューター、又はプログラマブル論理デバイスを含む。
【0243】
更なる実施形態は、本明細書に記載される方法のうちの1つを実施するコンピュータープログラムがインストールされたコンピューターを含む。
【0244】
本発明による更なる実施形態は、本明細書に記載の方法のうちの1つを実施するコンピュータープログラムを受信機に(例えば、電子的に又は光学的に)転送するように構成された装置又はシステムを含む。受信機は、例えば、コンピューター、モバイルデバイス、メモリデバイス等であってもよい。装置又はシステムは、例えば、コンピュータープログラムを受信機に転送するためのファイルサーバーを含んでもよい。
【0245】
幾つかの実施形態において、プログラマブル論理デバイス(例えば、フィールドプログラマブルゲートアレイ)が、本明細書に説明される方法の機能の幾つか又は全部を行うために使用されてもよい。幾つかの実施形態において、フィールドプログラマブルゲートアレイは、本明細書に記載される方法のうちの1つを行うために、マイクロプロセッサと協働してもよい。概して、方法は、任意のハードウェア装置によって実行されることが好ましい。
【0246】
本明細書に記載される装置は、ハードウェア装置を使用して、若しくはコンピューターを使用して、又はハードウェア装置とコンピューターの組み合わせを使用して実装され得る。
【0247】
本明細書に記載した装置、又は本明細書に記載した装置の任意の構成要素は、少なくとも部分的にハードウェア及び/又はソフトウェアで実装され得る。
【0248】
本明細書に記載される方法は、ハードウェア装置を使用して、若しくはコンピューターを使用して、又はハードウェア装置とコンピューターとの組み合わせを使用して実施され得る。
【0249】
本明細書に記載した方法、又は本明細書に記載した装置の任意の構成要素は、ハードウェアによって及び/又はソフトウェアによって少なくとも部分的に実施され得る。
【0250】
本明細書に記載された実施形態は、本発明の原理の単なる例示である。本明細書に記載された構成及び詳細の修正及び変形は、当業者には明らかであることが理解される。したがって、添付の特許請求の範囲によってのみ限定され、本明細書における実施形態の記述及び説明によって提示される特定の詳細によって限定されないことが意図される。
【0251】
続いて、上述の実施形態、又は別の言い方をすれば、上述の実施形態が特定の詳細を有する特定の例を表し、これらの特定の詳細が、個々に又は組み合わせて、続いて提示される実施形態を更に特定するために使用され得る実施形態の拡張を表す実施形態が提示される。
【0252】
括弧内のテキストは、任意選択の特徴、例、及び説明を表す。特定の実施形態の特徴に関して説明された任意選択の特徴、例は、他の実施形態の同等又は類似の特徴にも適用され得る。
【0253】
1.情報値のシーケンスを算術コーディングビットストリームに算術符号化する算術エンコーダーであって、
前記情報値をシンボルストリングにシンボル化して、シンボルのシーケンスを取得することと、
各シンボルについて、
前記それぞれのシンボルのシンボル値に従って、前記算術エンコーダーのコーディング状態の現在のバージョンを定義する現在の区間が、前記それぞれのシンボルの確率推定値に従って細分される、複数の部分区間の中から部分区間を選択して、前記選択された部分区間によって定義される、前記シンボルのシーケンスの次のシンボルを符号化するための前記算術エンコーダーの前記コーディング状態の更新されたバージョンを取得することと、
前記ビットストリームの継続中に前記コーディング状態を定義するエンコーダー内部パラメーターを再正規化することと、
によって、前記シンボルのシーケンスを算術符号化することと、
所定のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にするエントリポイント情報を前記ビットストリームに提供することと、
を行うように構成される、算術エンコーダー。
【0254】
2.前記エントリポイント情報は、算術デコーダーが前記所定のエントリポイントまで前記ビットストリームを復号化するときに前記算術デコーダーにおいて発生する前記算術デコーダーのコーディング状態に関する情報を含む、実施形態1に記載の算術エンコーダー。
【0255】
3.前記算術エンコーダーは、前記ビットストリームの前記算術復号化を実施して、前記算術デコーダーの前記コーディング状態に関する前記情報を決定するように構成される、実施形態2に記載の算術エンコーダー。
【0256】
4.前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、前記算術デコーダーの前記コーディング状態に関する前記情報は、前記ポインターの値を含む、実施形態2又は3に記載の算術エンコーダー。
【0257】
5.前記算術エンコーダーは、前記ビットストリームの前記算術復号化を実施し、前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記ポインターの前記値を、前記所定のエントリポイントまで前記ビットストリームを前記算術復号化する際に現れる前記ポインターの現在の値に等しくなるように設定するように構成される、実施形態4に記載の算術エンコーダー。
【0258】
6.前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、前記算術デコーダーの前記コーディング状態に関する前記情報は、前記区間幅パラメーターの値を含む、実施形態2又は3に記載の算術エンコーダー。
【0259】
7.前記算術エンコーダーは、
前記ビットストリームの前記算術復号化を実施し、前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を、前記所定のエントリポイントまで前記ビットストリームを前記算術復号化する際に現れる前記区間幅パラメーターの現在の値に等しくなるように設定するか、又は
前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を、前記所定のエントリポイントまで前記シンボルのシーケンスを前記算術符号化する際に現れる前記区間幅パラメーターの現在の値に等しくなるように設定する、
ように構成される、実施形態6に記載の算術エンコーダー。
【0260】
8.前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、前記算術デコーダーの前記コーディング状態に関する前記情報は、前記ポインターの値[例えば、前記所定のエントリポイントにおいて前記ポインターがどの値を取るか]を含むが、前記区間幅パラメーターの値を含まず、前記算術エンコーダーは、
前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を所定の値に等しくなるように設定し、前記所定のエントリポイント以降の前記シンボルのシーケンスの前記算術符号化を再開するときに前記区間幅パラメーターについて前記所定の値を使用するか、又は
前記所定のエントリポイント以降の前記シンボルのシーケンスの前記算術符号化を再開する前に、前記所定のエントリポイントの直前の所定のシンボル値のシンボルを算術符号化することによって、前記シンボルのシーケンスの前記算術符号化を予め中断し、前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を、前記所定のシンボル値の前記シンボルを含む前記所定のエントリポイントまで前記シンボルのシーケンスを前記算術符号化する際に現れる前記区間幅パラメーターの現在の値に等しくなるように設定する、
ように構成される、実施形態2又は3に記載の算術エンコーダー。
【0261】
9.前記エントリポイント情報は、前記ビットストリーム内の所定のビットへのビットストリームポインターを含み、前記所定のビットは、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を前記再開した後に次に読み出されることになる、実施形態1~8のいずれかに記載の算術エンコーダー。
【0262】
10.前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前記ビットストリームの先頭に対するオフセットの形態で前記ビットストリーム内でシグナリングされる、実施形態9に記載の算術エンコーダー。
【0263】
11.前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前記ビットストリームの先頭ビットのランの後端に対するオフセットの形態で前記ビットストリーム内でシグナリングされ、前記オフセットに基づいて、前記ビットストリームの前記算術復号化を実施するための前記算術デコーダーのコーディング状態が初期化される、実施形態9に記載の算術エンコーダー。
【0264】
12.前記エントリポイント情報は、2つ以上のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にし、前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前のエントリポイントに対する、又は前記所定のエントリポイントに関連付けられた予め定義されたビットストリーム位置に対するオフセットの形態で前記ビットストリーム内でシグナリングされる、実施形態9に記載の算術エンコーダー。
【0265】
13.前記予め定義されたビットストリーム位置を、前記値のシーケンスのうちの連続する値の間の点として、又は前記ビットストリームのビットをカウントすることによって特定するように構成される、実施形態12に記載の算術エンコーダー。
【0266】
14.前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、
ビット単位、及び/又は
ビットの整数n倍(例えば、n>1、及びn=8)単位、
で記憶される、実施形態12に記載の算術エンコーダー。
【0267】
15.前記前のエントリポイントの前記ビットストリーム内のビット位置が、前記ビットストリーム内でシグナリングされる、実施形態12に記載の算術エンコーダー。
【0268】
16.前記ビットストリームポインターは、前記ビットストリーム内の更なる所定のビットを指すための前記エントリポイント情報に含まれる更なるビットストリームポインターに対して差分的に前記ビットストリーム内でシグナリングされ、前記更なる所定のビットは、先行するエントリポイント以降の前記ビットストリームの前記算術復号化を再開した後に次に読み出されることになる、実施形態12~15のいずれかに記載の算術エンコーダー。
【0269】
17.前記ビットストリームポインターは、可変長符号を使用して前記ビットストリーム内でシグナリングされる、実施形態9~15のいずれかに記載の算術エンコーダー。
【0270】
18.前記ビットストリームポインターは、指数ゴロム符号、好ましくは符号なし指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、実施形態9~17のいずれかに記載の算術エンコーダー。
【0271】
19.前記所定のエントリポイントは、前記ビットストリームの前記先頭に対して第3のエントリポイント又は前記第3のエントリポイントの後に続くエントリポイントのいずれかであり、前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前記前のエントリポイントに対する前記オフセットと、前記前のエントリポイントに先行する更なるエントリポイントに対する前記前のエントリポイントのオフセットとの間の差分の形態で前記ビットストリーム内でシグナリングされる、実施形態9~18のいずれかに記載の算術エンコーダー。
【0272】
20.前記ビットストリームポインターは、符号付き指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、実施形態19に記載の算術エンコーダー。
【0273】
21.前記前のエントリポイントの前記ビットストリーム内の前記ビット位置は、符号なし指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、実施形態19又は20に記載の算術エンコーダー。
【0274】
22.前記指数ゴロム符号の指数ゴロム符号パラメーターは、11の値である、実施形態21に記載の算術エンコーダー。
【0275】
23.前記ビットストリームポインターは、符号付き指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、実施形態19~21のいずれかに記載の算術エンコーダー。
【0276】
24.前記指数ゴロム符号の指数ゴロム符号パラメーターは、7の値である、実施形態23に記載の算術エンコーダー。
【0277】
25.前記算術エンコーダーは、
前記シンボルのシーケンスを算術符号化するためのコンテキスト適応算術コーディングを使用するように構成され、前記使用することは、前記シンボルのシーケンスのコンテキスト適応的に符号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、前記シンボルのシーケンスの以前に符号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させることとを含み、
前記エントリポイント情報は、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、前記それぞれの所定のコンテキストモデルのための所定の確率推定値を示し、前記算術エンコーダーは、前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記所定の確率推定値を使用するように構成される、実施形態1~24のいずれかに記載の算術エンコーダー。
【0278】
26.前記算術エンコーダーは、
前記シンボルのシーケンスを算術符号化するためのコンテキスト適応算術コーディングを使用するように構成され、前記使用することは、前記シンボルのシーケンスのコンテキスト適応的に符号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、前記シンボルのシーケンスの前に符号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させることとを含み、
前記算術エンコーダーは、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、前記所定のエントリポイントにおける前記それぞれの所定のコンテキストモデルについての前記確率推定値をデフォルト状態に設定するように構成され、前記算術エンコーダーは、前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記デフォルト状態を使用するように構成されるか、又は
前記算術エンコーダーは、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、前記所定のエントリポイントにおける前記それぞれの所定のコンテキストモデルについての前記確率推定値を、前記所定のエントリポイントの前の前記シンボルのシーケンスを算術符号化する間に所定の条件において現れる保存状態に設定するように構成され、前記算術エンコーダーは、前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記保存状態を使用するように構成される、実施形態1~25のいずれかに記載の算術エンコーダー。
【0279】
27.前記算術エンコーダーは、
状態機械を使用して、量子化されていない値のシーケンスから前記情報値のシーケンスを導出するために依存量子化を使用するように構成され、
前記エントリポイント情報は、前記所定のエントリポイントまでの前記状態機械に現れる量子化状態を含む、実施形態1~26のいずれかに記載の算術エンコーダー。
【0280】
28.前記シンボルは、ビンであり、前記シンボル化は、バイナリ化である、実施形態1~27のいずれかに記載の算術エンコーダー。
【0281】
29.前記情報値は、ビデオを表すシンタックス要素のシーケンスである、実施形態1~28のいずれかに記載の算術エンコーダー。
【0282】
30.前記情報値は、ニューラルネットワークパラメーターである、実施形態1~29のいずれかに記載の算術エンコーダー。
【0283】
31.ビットストリームから情報値のシーケンスを算術復号化する算術デコーダーであって、
前記ビットストリームからエントリポイント情報を導出することと、
前記ビットストリームの各シンボルについて、
前記算術デコーダーのコーディング状態の現在のバージョンに基づいて、前記それぞれのシンボルについての確率推定値に従って現在の区間が細分される、複数の部分区間のうちの部分区間を決定し、前記選択された部分区間に基づいて、前記それぞれのシンボルのシンボル値を推測することと、
前記ビットストリーム及び前記選択された部分区間を使用することによって、前記コーディング状態を定義するデコーダー内部パラメーターを再正規化及び更新して、前記シンボルのシーケンスの次のシンボルを復号化するための前記算術デコーダーの前記コーディング状態の更新されたバージョンを取得することと、
によって、前記エントリポイント情報を使用して、前記ビットストリームからシンボルのシーケンスを算術復号化することによって、所定のエントリポイント以降の前記ビットストリームの算術復号化を再開することと、
シンボル化解除によって前記シンボルのシーケンスから前記情報値を導出することと、
を行うように構成される、算術デコーダー。
【0284】
32.前記エントリポイント情報を使用して、前記算術デコーダーの前記コーディング状態の開始バージョンを決定し、前記所定のエントリポイント以降の前記ビットストリームの算術復号化を開始するために前記開始状態を使用するように構成される、実施形態31に記載の算術デコーダー。
【0285】
33.前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含む前記デコーダー内部パラメーターによって定義され、前記算術デコーダーは、前記エントリポイント情報から、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を開始するために使用される前記ポインターの開始値を導出するように構成される、実施形態31又は32に記載の算術デコーダー。
【0286】
34.前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含む前記デコーダー内部パラメーターによって定義され、前記算術デコーダーは、前記エントリポイント情報から、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を開始するために使用される前記区間幅パラメーターの開始値を導出するように構成される、実施形態31~33のいずれかに記載の算術デコーダー。
【0287】
35.前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含む前記デコーダー内部パラメーターによって定義され、前記算術デコーダーは、
前記エントリポイント情報から、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を開始するために使用される前記ポインターの開始値を導出することと、
前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を所定の値に等しくなるように設定し、前記所定のエントリポイント以降の前記シンボルのシーケンスの前記算術復号化を再開するために、前記所定の値を前記区間幅パラメーターに使用することと、
を行うように構成される、実施形態31~33のいずれかに記載の算術デコーダー。
【0288】
36.前記エントリポイント情報は、2つ以上のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にし、前記算術デコーダーは、
後続の所定のエントリポイント以降の前記シンボルのシーケンスの前記算術復号化を再開する前に、前記後続の所定のエントリポイントの直前の所定のシンボル値のシンボルを算術復号化することによって、前記後続の所定のエントリポイントにおいて前記シンボルのシーケンスの前記算術復号化を予め中断するように構成される、実施形態35に記載の算術デコーダー。
【0289】
37.前記エントリポイント情報から、前記ビットストリーム内の所定のビットへのビットストリームポインターを導出し、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を再開した後に、前記所定のビットを次に読み出されるビットとして使用するように構成される、実施形態31~36のいずれかに記載の算術デコーダー。
【0290】
38.前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前記ビットストリームの先頭に対するオフセットの形態で前記ビットストリーム内でシグナリングされる、実施形態37に記載の算術デコーダー。
【0291】
39.前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、
前記ビットストリームの先頭ビットのランの後端に対するオフセットの形態で前記ビットストリーム内でシグナリングされ、前記オフセットに基づいて、前記算術デコーダーは、前記ビットストリームの前記先頭以降の前記ビットストリームの前記算術復号化を実施する場合に前記算術デコーダーの前記コーディング状態を初期化するように構成される、実施形態37に記載の算術デコーダー。
【0292】
40.前記エントリポイント情報は、2つ以上のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にし、前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前のエントリポイントに対する、又は前記所定のエントリポイントに関連付けられた予め定義されたビットストリーム位置に対するオフセットの形態で前記ビットストリーム内でシグナリングされる、実施形態37に記載の算術デコーダー。
【0293】
41.前記予め定義されたビットストリーム位置を、前記値のシーケンスのうちの連続する値の間の点として、又は前記ビットストリームのビットをカウントすることによって特定するように構成される、実施形態40に記載の算術デコーダー。
【0294】
42.前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、
ビット単位、及び/又は
ビットの整数n倍(例えば、n>1、及びn=8)単位、
で記憶される、実施形態40に記載の算術デコーダー。
【0295】
43.前記前のエントリポイントの前記ビットストリーム内のビット位置が、前記ビットストリーム内でシグナリングされる、実施形態42に記載の算術デコーダー。
【0296】
44.前記ビットストリームポインターは、前記ビットストリーム内の更なる所定のビットを指すための前記エントリポイント情報に含まれる更なるビットストリームポインターに対して差分的に前記ビットストリーム内でシグナリングされ、前記更なる所定のビットは、先行するエントリポイント以降の前記ビットストリームの前記算術復号化を再開した後に次に読み出されることになる、実施形態40~43のいずれかに記載の算術デコーダー。
【0297】
45.前記ビットストリームポインターは、可変長符号を使用して前記ビットストリーム内でシグナリングされる、実施形態37~43のいずれかに記載の算術デコーダー。
【0298】
46.前記ビットストリームポインターは、指数ゴロム符号、好ましくは符号なし指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、実施形態37~44のいずれかに記載の算術デコーダー。
【0299】
47.前記所定のエントリポイントは、前記ビットストリームの前記先頭に対して第3のエントリポイント又は前記第3のエントリポイントの後に続くエントリポイントのいずれかであり、前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前記前のエントリポイントに対する前記オフセットと、前記前のエントリポイントに先行する更なるエントリポイントに対する前記前のエントリポイントのオフセットとの間の差分の形態で前記ビットストリーム内でシグナリングされる、実施形態37~46のいずれかに記載の算術デコーダー。
【0300】
48.前記ビットストリームポインターは、符号付き指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、実施形態47に記載の算術デコーダー。
【0301】
49.前記前のエントリポイントの前記ビットストリーム内の前記ビット位置は、符号なし指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、実施形態47又は48に記載の算術デコーダー。
【0302】
50.前記指数ゴロム符号の指数ゴロム符号パラメーターは、11の値である、実施形態49に記載の算術デコーダー。
【0303】
51.前記ビットストリームポインターは、符号付き指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、実施形態47~50のいずれかに記載の算術デコーダー。
【0304】
52.前記指数ゴロム符号の指数ゴロム符号パラメーターは、7の値である、実施形態51に記載の算術デコーダー。
【0305】
53.前記算術デコーダーは、
前記シンボルのシーケンスを算術復号化するためのコンテキスト適応算術復号化を使用するように構成され、前記使用することは、前記シンボルのシーケンスのコンテキスト適応的に復号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、前記シンボルのシーケンスの以前に復号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させることとを含み、
前記エントリポイント情報は、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、前記それぞれの所定のコンテキストモデルのための所定の確率推定値を示し、前記算術デコーダーは、前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記所定の確率推定値を使用するように構成される、実施形態31~52のいずれかに記載の算術デコーダー。
【0306】
54.前記算術デコーダーは、
前記シンボルのシーケンスを算術復号化するためのコンテキスト適応算術復号化を使用するように構成され、前記使用することは、前記シンボルのシーケンスのコンテキスト適応的に復号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、前記シンボルのシーケンスの以前に復号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させることとを含み、
前記算術デコーダーは、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、前記所定のエントリポイントにおける前記それぞれの所定のコンテキストモデルについての前記確率推定値をデフォルト状態に設定するように構成され、前記算術デコーダーは、前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記デフォルト状態を使用するように構成される、実施形態31~53のいずれかに記載の算術デコーダー。
【0307】
55.前記エントリポイント情報は、2つ以上のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にし、前記算術デコーダーは、
前記1つ以上の所定のコンテキストモデルのセットのそれぞれについて、後続の所定のエントリポイントにおける前記それぞれの所定のコンテキストモデルについての前記確率推定値を、前記後続の所定のエントリポイントの前の前記シンボルのシーケンスを算術復号化する間に所定の条件において現れる保存状態に設定するように構成され、前記算術デコーダーは、前記後続の所定のエントリポイント以降の前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記保存状態を使用するように構成される、実施形態54に記載の算術デコーダー。
【0308】
56.前記算術デコーダーは、
状態機械を使用して、前記情報値のシーケンスから量子化された値のシーケンスを導出するために依存逆量子化を使用することと、
前記エントリポイント情報から、前記所定のエントリポイント以降の前記依存量子化が再開される量子化状態を導出することと、
を行うように構成される、実施形態31~55のいずれかに記載の算術デコーダー。
【0309】
57.前記シンボルは、ビンであり、前記シンボル化解除は、非バイナリ化である、実施形態31~56のいずれかに記載の算術デコーダー。
【0310】
58.前記情報値は、ビデオを表すシンタックス要素のシーケンスである、実施形態31~57のいずれかに記載の算術デコーダー。
【0311】
59.前記情報値は、ニューラルネットワークパラメーターである、実施形態31~57のいずれかに記載の算術デコーダー。
【0312】
60.ビットストリームからニューラルネットワークパラメーターを算術復号化する算術デコーダーであって、
コンテキスト適応算術復号化を使用することによって前記ビットストリームからシンボルのシーケンスを算術復号化することであって、前記シンボルのシーケンスのコンテキスト適応的に復号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、前記選択されたコンテキストモデルを使用して、前記コンテキスト適応的に復号化されたシンボルを算術復号化することと、前記シンボルのシーケンスの以前に復号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させることと、を含むことと、
シンボル化解除によって前記シンボルのシーケンスから前記ニューラルネットワークパラメーターを導出することと、
前記ビットストリームの前記先頭及び/又は前記ビットストリーム内の1つ以上のエントリポイントにおいて、1つ以上のコンテキストモデルのセットのそれぞれについて、前記ビットストリーム内のコンテキストモデル情報に基づいて前記それぞれのコンテキストモデルに関連する前記確率推定値を初期化することと、
を行うように構成される、算術デコーダー。
【0313】
61.各コンテキストモデルについて、前記それぞれのコンテキストモデルが選択された前記シンボルのシーケンスの以前にコンテキスト適応的に復号化されたシンボルに基づいて、前記それぞれのコンテキストモデルに関連付けられた前記確率推定値を生成すること、
によって、前記シンボルのシーケンスの以前に復号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させるように構成される、実施形態60に記載の算術デコーダー。
【0314】
62.第1のアジリティパラメーターによって制御可能な第1の適応アジリティで実際のシンボル統計値に適応するように前記確率推定値についての第1の仮説を導出することによって、前記シンボルのシーケンスの以前に復号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を前記実際のシンボル統計値に適応させることと、
前記ビットストリームの前記先頭及び/又は前記ビットストリーム内の1つ以上のエントリポイントにおいて、前記1つ以上のコンテキストモデルのセットのそれぞれについて、前記ビットストリーム内の前記コンテキストモデル情報に基づいて前記それぞれのコンテキストモデルに関連する前記第1の仮説と前記第1のアジリティパラメーターとを設定することと、
を行うように構成される、実施形態60又は61に記載の算術デコーダー。
【0315】
63.第2のアジリティパラメーターによって制御可能な第2の適応アジリティで実際のシンボル統計値に適応するように前記確率推定値についての第2の仮説を導出することによって、前記シンボルのシーケンスの以前に復号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を前記実際のシンボル統計値に適応させることであって、前記確率推定値は、前記第1の仮説及び前記第2の仮説の平均によって決定されることと、
前記ビットストリームの前記先頭及び/又は前記ビットストリーム内の1つ以上のエントリポイントにおいて、前記1つ以上のコンテキストモデルのセットのそれぞれについて、前記ビットストリーム内の前記コンテキストモデル情報に基づいて前記それぞれのコンテキストモデルに関連する前記第2の仮説と前記第2のアジリティパラメーターとを設定することと、
を行うように構成される、実施形態62に記載の算術デコーダー。
【0316】
64.前記ビットストリーム内の前記コンテキストモデル情報は、前記第1の仮説及び前記第2の仮説と前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターとを定義するための値の四つ組のテーブルへのテーブルエントリインデックスを含み、前記算術デコーダーは、前記テーブルエントリインデックスを使用して前記テーブルの1つの四つ組を選択し、該1つの四つ組を使用して前記第1の仮説及び前記第2の仮説と前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターとを設定するように構成される、実施形態63に記載の算術デコーダー。
【0317】
65.前記第1の仮説及び前記第2の仮説と前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターとを定義するための前記値の四つ組の数は、8以上10以下である、実施形態64に記載の算術デコーダー。
【0318】
66.前記第1の仮説及び前記第2の仮説と前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターとを定義するための前記値の四つ組は、前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターの3つ、4つ、又は5つの相互に区別可能な設定のうちの1つに対応する、実施形態64又は65に記載の算術デコーダー。
【0319】
67.前記シンボルは、ビンであり、前記シンボル化解除は、非バイナリ化であり、前記第1の仮説及び前記第2の仮説と前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターとを定義するための前記値の四つ組は、
第1の3つの四つ組であって、その全てによれば、前記第1のアジリティパラメーターは、第1の値に設定され、前記第2のアジリティパラメーターは、前記第1の値よりも低い適応アジリティに対応する第2の値に設定され、1つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、等確率に対応し、2つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、第1のビン値が第2のビン値よりも確からしいことに対応し、3つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、前記第2のビン値が前記第1のビン値よりも確からしいことに対応する、第1の3つの四つ組と、
第2の3つの四つ組であって、その全てによれば、前記第1のアジリティパラメーターは、前記第1の値よりも低い適応アジリティ及び前記第2の値よりも高い適応アジリティに対応する第3の値に設定され、前記第2のアジリティパラメーターは、前記第2の値よりも低い適応アジリティに対応する第4の値に設定され、1つ目及び2つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、前記第1のビン値が前記第2のビン値よりも確からしいことに対応し、3つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、前記第2のビン値が前記第1のビン値よりも確からしいことに対応する、第2の3つの四つ組と、
2つの四つ組であって、その全てによれば、前記第1のアジリティパラメーターは、前記第3の値よりも低い適応アジリティ及び前記第2の値よりも大きい適応アジリティに対応する第4の値に設定され、前記第2のアジリティパラメーターは、前記第2の値よりも低い適応アジリティ及び前記第4の値よりも大きい適応アジリティに対応する第6の値に設定され、1つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、等確率に対応し、2つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、前記第1のビン値が前記第2のビン値よりも確からしいことに対応する、2つの四つ組と、
1つの四つ組であって、該四つ組によれば、前記第1のアジリティパラメーターは、前記第1の値よりも大きい適応アジリティに対応する第7の値に設定され、該四つ組によれば、前記第1の仮説及び前記第2の仮説は、等確率に対応する、1つの四つ組と、
を含む、実施形態64~66のいずれかに記載の算術デコーダー。
【0320】
68.前記シンボルは、ビンであり、前記シンボル化解除は、非バイナリ化であり、前記算術デコーダーは、
前記第1の仮説及び前記第2の仮説のそれぞれについて、
符号付き整数によって前記それぞれの仮説をそれぞれ表すことであって、前記符号付き整数は、ゼロである場合、等確率を示し、ゼロよりも大きい場合、第1のビン値が第2のビン値よりも確からしいことを示し、ゼロよりも小さい場合、前記第2のビン値が前記第1のビン値よりも確からしいことを示すことと、
各コンテキストモデルについて、前記第1の仮説に関して前記第1のアジリティパラメーターによって制御され、前記第2の仮説に関して前記第2のアジリティパラメーターによって制御される量で、前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターがそれぞれ小さいほど前記量が大きくなるように、現在復号化されているビンが前記第1のビン値を有する場合に前記符号付き整数を増加させ、現在復号化されているビンが前記第2のビン値を有する場合に前記符号付き整数を減少させることと、
によって、前記シンボルのシーケンスの以前に復号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させるように構成され、
前記確率推定値は、前記第1の符号付き整数及び前記第2の符号付き整数の平均によって決定される、実施形態63~67のいずれかに記載の算術デコーダー。
【0321】
69.遷移テーブルを使用して前記増加及び減少の前記量を決定するように構成される、実施形態68に記載の算術デコーダー。
【0322】
70.前記第1の仮説及び前記第2の仮説について同じ遷移テーブルを使用するように構成される、実施形態69に記載の算術デコーダー。
【0323】
71.前記符号付き整数によって決定されるテーブルインデックスによってインデックス付けされたエントリにおいて前記遷移テーブルをルックアップして遷移ステップを取得することと、前記遷移ステップサイズを前記第1の適応パラメーター及び前記第2の適応パラメーターにそれぞれ依存する2のべき乗で除算することとによって、前記遷移テーブルを使用して前記増加及び減少の前記量を決定するように構成され、前記遷移ステップは、前記量を決定する、実施形態69又は70に記載の算術デコーダー。
【0324】
72.前記符号付き整数は、nビットを有する2の補数表現によって表され、nは、前記第1の仮説の場合よりも前記第2の仮説の場合の方が大きく、前記算術デコーダーは、前記遷移ステップサイズを前記第1の適応パラメーター及び前記第2の適応パラメーターにそれぞれアフィン線形依存する2のべき乗で除算して遷移ステップを取得する場合に、一方では2n-mで除算した前記符号付き整数と、他方では2m-1で除算した前記符号付き整数との和によってインデックス付けされたエントリにおいて前記遷移テーブルをルックアップすることによって、前記遷移テーブルを使用して前記増加及び減少の前記量を決定するように構成され、前記遷移ステップは、前記量を決定する、実施形態69又は70に記載の算術デコーダー。
【0325】
73.前記遷移テーブルの前記エントリに記憶された前記遷移ステップは、単調に増加又は減少する、実施形態72に記載の算術デコーダー。
【0326】
74.情報値のシーケンスを算術コーディングビットストリームに算術符号化する方法(100)であって、
前記情報値をシンボルストリングにシンボル化して、シンボルのシーケンスを取得すること(101)と、
各シンボルについて、前記それぞれのシンボルについての確率推定値に従って、算術エンコーダーのコーディング状態の現在のバージョンを定義する現在の区間を細分すること(103)、
前記それぞれのシンボルのシンボル値に従って複数の部分区間の中から前記部分区間を選択して、前記選択された部分区間によって定義される、前記シンボルのシーケンスの次のシンボルを符号化するための前記算術エンコーダーの前記コーディング状態の更新されたバージョンを取得すること(104)、及び
前記ビットストリームの継続中に前記コーディング状態を定義するエンコーダー内部パラメーターを再正規化すること(105)、
によって、前記シンボルのシーケンスを算術符号化すること(102)と、
所定のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にするエントリポイント情報を前記ビットストリームに提供すること(106)と、
を含む、方法。
【0327】
75.前記エントリポイント情報は、算術デコーダーが前記所定のエントリポイントまで前記ビットストリームを復号化するときに前記算術デコーダーにおいて発生する前記算術デコーダーのコーディング状態に関する情報を含む、実施形態74に記載の方法。
【0328】
76.前記ビットストリームの前記算術復号化を実施して、前記算術デコーダーの前記コーディング状態に関する前記情報を決定することを更に含む、実施形態75に記載の方法。
【0329】
77.前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、前記算術デコーダーの前記コーディング状態に関する前記情報は、前記ポインターの値を含む、実施形態75又は76に記載の方法。
【0330】
78.前記ビットストリームの前記算術復号化を実施し、前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記ポインターの前記値を、前記所定のエントリポイントまで前記ビットストリームを前記算術復号化する際に現れる前記ポインターの現在の値に等しくなるように設定することを更に含む、実施形態77に記載の方法。
【0331】
79.前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、前記算術デコーダーの前記コーディング状態に関する前記情報は、前記区間幅パラメーターの値を含む、実施形態75又は76に記載の方法。
【0332】
80.前記ビットストリームの前記算術復号化を実施し、前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を、前記所定のエントリポイントまで前記ビットストリームを前記算術復号化する際に現れる前記区間幅パラメーターの現在の値に等しくなるように設定すること、又は
前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を、前記所定のエントリポイントまで前記シンボルのシーケンスを前記算術符号化する際に現れる前記区間幅パラメーターの現在の値に等しくなるように設定すること、
を更に含む、実施形態79に記載の方法。
【0333】
81.前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、前記算術デコーダーの前記コーディング状態に関する前記情報は、前記ポインターの値を含むが、前記区間幅パラメーターの値を含まず、前記方法は、
前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を所定の値に等しくなるように設定し、前記所定のエントリポイント以降の前記シンボルのシーケンスの前記算術符号化を再開するときに前記区間幅パラメーターについて前記所定の値を使用すること、又は
前記所定のエントリポイント以降の前記シンボルのシーケンスの前記算術符号化を再開する前に、前記所定のエントリポイントの直前の所定のシンボル値のシンボルを算術符号化することによって、前記シンボルのシーケンスの前記算術符号化を予め中断し、前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を、前記所定のシンボル値の前記シンボルを含む前記所定のエントリポイントまで前記シンボルのシーケンスを前記算術符号化する際に現れる前記区間幅パラメーターの現在の値に等しくなるように設定すること、
を更に含む、実施形態75又は76に記載の方法。
【0334】
82.前記エントリポイント情報は、前記ビットストリーム内の所定のビットへのビットストリームポインターを含み、前記所定のビットは、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を前記再開した後に次に読み出されることになる、実施形態74~81のいずれかに記載の方法。
【0335】
83.前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前記ビットストリームの先頭に対するオフセットの形態で前記ビットストリーム内でシグナリングされる、実施形態82に記載の方法。
【0336】
84.前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前記ビットストリームの先頭ビットのランの後端に対するオフセットの形態で前記ビットストリーム内でシグナリングされ、前記オフセットに基づいて、前記ビットストリームの前記算術復号化を実施するための算術デコーダーのコーディング状態が初期化される、実施形態82に記載の方法。
【0337】
85.前記エントリポイント情報は、2つ以上のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にし、前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前のエントリポイントに対する、又は前記所定のエントリポイントに関連付けられた予め定義されたビットストリーム位置に対するオフセットの形態で前記ビットストリーム内でシグナリングされる、実施形態82に記載の方法。
【0338】
86.前記予め定義されたビットストリーム位置を、前記値のシーケンスのうちの連続する値の間の点として、又は前記ビットストリームのビットをカウントすることによって特定することを含む、実施形態85に記載の方法。
【0339】
87.前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、
ビット単位、及び/又は
ビットの整数n倍(例えば、n>1、及びn=8)単位、
で記憶される、実施形態85に記載の方法。
【0340】
88.前記前のエントリポイントの前記ビットストリーム内のビット位置が、前記ビットストリーム内でシグナリングされる、実施形態85に記載の方法。
【0341】
89.前記ビットストリームポインターは、前記ビットストリーム内の更なる所定のビットを指すための前記エントリポイント情報に含まれる更なるビットストリームポインターに対して差分的に前記ビットストリーム内でシグナリングされ、前記更なる所定のビットは、先行するエントリポイント以降の前記ビットストリームの前記算術復号化を再開した後に次に読み出されることになる、実施形態85~88のいずれかに記載の方法。
【0342】
90.前記ビットストリームポインターは、可変長符号を使用して前記ビットストリーム内でシグナリングされる、実施形態82~89のいずれかに記載の方法。
【0343】
91.前記ビットストリームポインターは、指数ゴロム符号、好ましくは符号なし指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、実施形態82~90のいずれかに記載の方法。
【0344】
92.前記所定のエントリポイントは、前記ビットストリームの前記先頭に対して第3のエントリポイント又は前記第3のエントリポイントの後に続くエントリポイントのいずれかであり、前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前記前のエントリポイントに対する前記オフセットと、前記前のエントリポイントに先行する更なるエントリポイントに対する前記前のエントリポイントのオフセットとの間の差分の形態で前記ビットストリーム内でシグナリングされる、実施形態82~91のいずれかに記載の方法。
【0345】
93.前記ビットストリームポインターは、符号付き指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、実施形態92に記載の方法。
【0346】
94.前記前のエントリポイントの前記ビットストリーム内の前記ビット位置は、符号なし指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、実施形態92又は93に記載の方法。
【0347】
95.前記指数ゴロム符号の指数ゴロム符号パラメーターは、11の値である、実施形態94に記載の方法。
【0348】
96.前記ビットストリームポインターは、符号付き指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、実施形態92~95のいずれかに記載の方法。
【0349】
97.前記指数ゴロム符号の指数ゴロム符号パラメーターは、7の値である、実施形態96に記載の方法。
【0350】
98.ビットストリームから情報値のシーケンスを算術復号化する方法(200)であって、
前記ビットストリームからエントリポイント情報を導出すること(201)と、
前記ビットストリームの各シンボルについて、
算術デコーダーのコーディング状態の現在のバージョン、前記それぞれのシンボルについての確率推定値に従って現在の区間が細分される、複数の部分区間のうちの部分区間を決定し(203)、前記選択された部分区間に基づいて、前記それぞれのシンボルのシンボル値を推定すること(204)、及び
前記ビットストリーム及び前記選択された部分区間を使用することによって、前記コーディング状態を定義するデコーダー内部パラメーターを再正規化及び更新して、前記シンボルのシーケンスの次のシンボルを復号化するための前記算術デコーダーの前記コーディング状態の更新されたバージョンを取得すること(205)、
によって、前記エントリポイント情報を使用して、前記ビットストリームからシンボルのシーケンスを算術復号化することによって、所定のエントリポイント以降の前記ビットストリームの算術復号化を再開すること(202)と、
シンボル化解除によって前記シンボルのシーケンスから前記情報値を導出すること(206)と、
を含む、方法。
【0351】
99.前記エントリポイント情報を使用して、前記算術デコーダーの前記コーディング状態の開始バージョンを決定し、前記所定のエントリポイント以降の前記ビットストリームの算術復号化を開始するために前記開始状態を使用することを更に含む、実施形態98に記載の方法。
【0352】
100.前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、前記方法は、前記エントリポイント情報から、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を開始するために使用される前記ポインターの開始値を導出することを更に含む、実施形態98又は99に記載の方法。
【0353】
101.前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、前記方法は、前記エントリポイント情報から、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を開始するために使用される前記区間幅パラメーターの開始値を導出することを更に含む、実施形態98~100のいずれかに記載の方法。
【0354】
102.前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、前記方法は、
前記エントリポイント情報から、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を開始するために使用される前記ポインターの開始値を導出することと、
前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を所定の値に等しくなるように設定し、前記所定のエントリポイント以降の前記シンボルのシーケンスの前記算術復号化を再開するために、前記所定の値を前記区間幅パラメーターに使用することと、
を更に含む、実施形態98~100のいずれかに記載の方法。
【0355】
103.前記エントリポイント情報は、2つ以上のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にし、前記方法は、
後続の所定のエントリポイント以降の前記シンボルのシーケンスの前記算術符号化を再開する前に、前記後続の所定のエントリポイントの直前の所定のシンボル値のシンボルを算術復号化することによって、前記後続の所定のエントリポイントにおいて前記シンボルのシーケンスの前記算術復号化を予め中断することを更に含む、実施形態102に記載の方法。
【0356】
104.前記エントリポイント情報から、前記ビットストリーム内の所定のビットへのビットストリームポインターを導出し、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を再開した後に、前記所定のビットを次に読み出されるビットとして使用することを更に含む、実施形態98~103のいずれかに記載の方法。
【0357】
105.前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前記ビットストリームの先頭に対するオフセットの形態で前記ビットストリーム内でシグナリングされる、実施形態104に記載の方法。
【0358】
106.前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、
前記ビットストリームの先頭ビットのランの後端に対するオフセットの形態で前記ビットストリーム内でシグナリングされ、前記オフセットに基づいて、前記方法が、前記ビットストリームの前記先頭以降の前記ビットストリームの前記算術復号化を実施する場合に前記算術デコーダーの前記コーディング状態を更に初期化する、実施形態104に記載の方法。
【0359】
107.前記エントリポイント情報は、2つ以上のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にし、前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前のエントリポイントに対する、又は前記所定のエントリポイントに関連付けられた予め定義されたビットストリーム位置に対するオフセットの形態で前記ビットストリーム内でシグナリングされる、実施形態104に記載の方法。
【0360】
108.前記予め定義されたビットストリーム位置を、前記値のシーケンスのうちの連続する値の間の点として、又は前記ビットストリームのビットをカウントすることによって特定することを含む、実施形態107に記載の方法。
【0361】
109.前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、
ビット単位、及び/又は
ビットの整数n倍(例えば、n>1、及びn=8)単位、
で記憶される、実施形態107に記載の方法。
【0362】
110.前記前のエントリポイントの前記ビットストリーム内のビット位置が、前記ビットストリーム内でシグナリングされる、実施形態107に記載の方法。
【0363】
111.前記ビットストリームポインターは、前記ビットストリーム内の更なる所定のビットを指すための前記エントリポイント情報に含まれる更なるビットストリームポインターに対して差分的に前記ビットストリーム内でシグナリングされ、前記更なる所定のビットは、先行するエントリポイント以降の前記ビットストリームの前記算術復号化を再開した後に次に読み出されることになる、実施形態104~110のいずれかに記載の方法。
【0364】
112.前記ビットストリームポインターは、可変長符号を使用して前記ビットストリーム内でシグナリングされる、実施形態104~111のいずれかに記載の方法。
【0365】
113.前記ビットストリームポインターは、指数ゴロム符号、好ましくは符号なし指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、実施形態104~112のいずれかに記載の方法。
【0366】
114.前記所定のエントリポイントは、前記ビットストリームの前記先頭に対して第3のエントリポイント又は前記第3のエントリポイントの後に続くエントリポイントのいずれかであり、前記ビットストリーム内の前記所定のビットへの前記ビットストリームポインターは、前記前のエントリポイントに対する前記オフセットと、前記前のエントリポイントに先行する更なるエントリポイントに対する前記前のエントリポイントのオフセットとの間の差分の形態で前記ビットストリーム内でシグナリングされる、実施形態104~113のいずれかに記載の方法。
【0367】
115.前記ビットストリームポインターは、符号付き指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、実施形態114に記載の方法。
【0368】
116.前記前のエントリポイントの前記ビットストリーム内の前記ビット位置は、符号なし指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、実施形態114又は115に記載の方法。
【0369】
117.前記指数ゴロム符号の指数ゴロム符号パラメーターは、11の値である、実施形態116に記載の方法。
【0370】
118.前記ビットストリームポインターは、符号付き指数ゴロム符号を使用して前記ビットストリーム内でシグナリングされる、実施形態114~117のいずれかに記載の方法。
【0371】
119.前記指数ゴロム符号の指数ゴロム符号パラメーターは、7の値である、実施形態118に記載の方法。
【0372】
120.前記シンボルのシーケンスを算術復号化するためのコンテキスト適応算術復号化を使用することを更に含み、前記使用することは、前記シンボルのシーケンスのコンテキスト適応的に復号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、前記シンボルのシーケンスの以前に復号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させることとを含み、
前記エントリポイント情報は、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、前記それぞれの所定のコンテキストモデルのための所定の確率推定値を示し、前記方法は、前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記所定の確率推定値を使用することを更に含む、実施形態98~119のいずれかに記載の方法。
【0373】
121.前記シンボルのシーケンスを算術復号化するためのコンテキスト適応算術復号化を使用することを更に含み、前記使用することは、前記シンボルのシーケンスのコンテキスト適応的に復号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、前記シンボルのシーケンスの以前に復号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させることとを含み、
前記方法は、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、前記所定のエントリポイントにおける前記それぞれの所定のコンテキストモデルについての前記確率推定値をデフォルト状態に設定することを更に含み、前記方法は、前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記デフォルト状態を使用することを更に含む、実施形態98~120のいずれかに記載の方法。
【0374】
122.前記エントリポイント情報は、2つ以上のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にし、前記方法は、
前記1つ以上の所定のコンテキストモデルのセットのそれぞれについて、後続の所定のエントリポイントにおける前記それぞれの所定のコンテキストモデルについての前記確率推定値を、前記後続の所定のエントリポイントの前の前記シンボルのシーケンスを算術復号化する間に所定の条件において現れる保存状態に設定することを更に含み、前記方法は、前記後続の所定のエントリポイント以降の前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記保存状態を使用することを更に含む、実施形態121に記載の方法。
【0375】
123.状態機械を使用して、前記情報値のシーケンスから量子化された値のシーケンスを導出するために依存逆量子化を使用することと、
前記エントリポイント情報から、前記所定のエントリポイント以降の前記依存量子化が再開される量子化状態を導出することと、
を更に含む、実施形態98~122のいずれかに記載の方法。
【0376】
124.前記シンボルは、ビンであり、前記シンボル化解除は、非バイナリ化である、実施形態98~123のいずれかに記載の方法。
【0377】
125.前記情報値は、ビデオを表すシンタックス要素のシーケンスである、実施形態98~124のいずれかに記載の方法。
【0378】
126.前記情報値は、ニューラルネットワークパラメーターである、実施形態98~124のいずれかに記載の方法。
【0379】
127.ニューラルネットワークパラメーターをビットストリームに算術符号化する算術エンコーダーであって、
前記ニューラルネットワークパラメーターからシンボル化によってシンボルのシーケンスを導出することと、
コンテキスト適応算術符号化を使用することによって前記シンボルのシーケンスを前記ビットストリームに算術符号化することであって、前記シンボルのシーケンスのコンテキスト適応的に符号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、前記選択されたコンテキストモデルを使用して、前記コンテキスト適応的に符号化されたシンボルを算術符号化することと、前記シンボルのシーケンスの以前に符号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させることと、を含むことと、
前記ビットストリームの前記先頭及び/又は前記ビットストリーム内の1つ以上のエントリポイントにおいて、1つ以上のコンテキストモデルのセットのそれぞれについて、前記ビットストリーム内でシグナリングされたコンテキストモデル情報に従って前記それぞれのコンテキストモデルに関連する前記確率推定値を初期化することと、
を行うように構成される、算術エンコーダー。
【0380】
128.各コンテキストモデルについて、前記それぞれのコンテキストモデルが選択された前記シンボルのシーケンスの以前にコンテキスト適応的に符号化されたシンボルに基づいて、前記それぞれのコンテキストモデルに関連付けられた前記確率推定値を生成すること、
によって、前記シンボルのシーケンスの以前に符号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させるように構成される、実施形態127に記載の算術エンコーダー。
【0381】
129.第1のアジリティパラメーターによって制御可能な第1の適応アジリティで実際のシンボル統計値に適応するように前記確率推定値についての第1の仮説を導出することによって、前記シンボルのシーケンスの以前に符号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を前記実際のシンボル統計値に適応させることと、
前記ビットストリームの前記先頭及び/又は前記ビットストリーム内の1つ以上のエントリポイントにおいて、前記1つ以上のコンテキストモデルのセットのそれぞれについて、前記ビットストリーム内でシグナリングされた前記コンテキストモデル情報に従って前記それぞれのコンテキストモデルに関連する前記第1の仮説と前記第1のアジリティパラメーターとを設定することと、
を行うように構成される、実施形態127又は128に記載の算術エンコーダー。
【0382】
130.第2のアジリティパラメーターによって制御可能な第2の適応アジリティで実際のシンボル統計値に適応するように前記確率推定値についての第2の仮説を導出し、前記第1の仮説及び前記第2の仮説の平均を形成することによって、前記シンボルのシーケンスの以前に符号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を前記実際のシンボル統計値に適応させることと、
前記ビットストリームの前記先頭及び/又は前記ビットストリーム内の1つ以上のエントリポイントにおいて、前記1つ以上のコンテキストモデルのセットのそれぞれについて、前記ビットストリーム内でシグナリングされた前記コンテキストモデル情報に従って前記それぞれのコンテキストモデルに関連する前記第2の仮説と前記第2のアジリティパラメーターとを設定することと、
を行うように構成される、実施形態127に記載の算術エンコーダー。
【0383】
131.前記ビットストリーム内の前記コンテキストモデル情報は、前記第1の仮説及び前記第2の仮説と前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターとを定義するための値の四つ組のテーブルへのテーブルエントリインデックスを含み、前記算術エンコーダーは、前記テーブルエントリインデックスを使用して前記テーブルの1つの四つ組を選択し、該1つの四つ組を使用して前記第1の仮説及び前記第2の仮説と前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターとを設定するように構成される、実施形態130に記載の算術エンコーダー。
【0384】
132.前記第1の仮説及び前記第2の仮説と前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターとを定義するための前記値の四つ組の数は、8以上10以下である、実施形態130に記載の算術エンコーダー。
【0385】
133.前記第1の仮説及び前記第2の仮説と前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターとを定義するための前記値の四つ組は、前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターの3つ、4つ、又は5つの相互に区別可能な設定のうちの1つに対応する、実施形態131又は132に記載の算術エンコーダー。
【0386】
134.前記第1の仮説及び前記第2の仮説と前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターとを定義するための前記値の四つ組は、
第1の3つの四つ組であって、その全てによれば、前記第1のアジリティパラメーターは、第1の値に設定され、前記第2のアジリティパラメーターは、前記第1の値よりも低い適応アジリティに対応する第2の値に設定され、1つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、等確率に対応し、2つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、第1のビン値が第2のビン値よりも確からしいことに対応し、3つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、前記第2のビン値が前記第1のビン値よりも確からしいことに対応する、第1の3つの四つ組と、
第2の3つの四つ組であって、その全てによれば、前記第1のアジリティパラメーターは、前記第1の値よりも低い適応アジリティ及び前記第2の値よりも高い適応アジリティに対応する第3の値に設定され、前記第2のアジリティパラメーターは、前記第2の値よりも低い適応アジリティに対応する第4の値に設定され、1つ目及び2つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、前記第1のビン値が前記第2のビン値よりも確からしいことに対応し、3つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、前記第2のビン値が前記第1のビン値よりも確からしいことに対応する、第2の3つの四つ組と、
2つの四つ組であって、その全てによれば、前記第1のアジリティパラメーターは、前記第3の値よりも低い適応アジリティ及び前記第2の値よりも大きい適応アジリティに対応する第4の値に設定され、前記第2のアジリティパラメーターは、前記第2の値よりも低い適応アジリティ及び前記第4の値よりも大きい適応アジリティに対応する第6の値に設定され、1つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、等確率に対応し、2つ目の四つ組によれば、前記第1の仮説及び前記第2の仮説は、前記第1のビン値が前記第2のビン値よりも確からしいことに対応する、2つの四つ組と、
1つの四つ組であって、該四つ組によれば、前記第1のアジリティパラメーターは、前記第1の値よりも大きい適応アジリティに対応する第7の値に設定され、該四つ組によれば、前記第1の仮説及び前記第2の仮説は、等確率に対応する、1つの四つ組と、
を含む、実施形態131~133のいずれかに記載の算術エンコーダー。
【0387】
135.前記シンボルは、ビンであり、前記シンボル化は、バイナリ化であり、前記算術エンコーダーは、
前記第1の仮説及び前記第2の仮説のそれぞれについて、
符号付き整数によって前記それぞれの仮説をそれぞれ表すことであって、前記符号付き整数は、ゼロである場合、等確率を示し、ゼロよりも大きい場合、第1のビン値が第2のビン値よりも確からしいことを示し、ゼロよりも小さい場合、前記第2のビン値が前記第1のビン値よりも確からしいことを示すことと、
各コンテキストモデルについて、前記第1の仮説に関して前記第1のアジリティパラメーターによって制御され、前記第2の仮説に関して前記第2のアジリティパラメーターによって制御される量で、前記第1のアジリティパラメーター及び前記第2のアジリティパラメーターがそれぞれ小さいほど前記量が大きくなるように、現在符号化されているビンが前記第1のビン値を有する場合に前記符号付き整数を増加させ、現在符号化されているビンが前記第2のビン値を有する場合に前記符号付き整数を減少させることと、
によって、前記シンボルのシーケンスの以前に符号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させるように構成され、
前記確率推定値は、前記第1の符号付き整数及び前記第2の符号付き整数の平均によって決定される、実施形態130~134のいずれかに記載の算術エンコーダー。
【0388】
136.遷移テーブルを使用して前記増加及び減少の前記量を決定するように構成される、実施形態135に記載の算術エンコーダー。
【0389】
137.前記第1の仮説及び前記第2の仮説について同じ遷移テーブルを使用するように構成される、実施形態136に記載の算術エンコーダー。
【0390】
138.前記符号付き整数によって決定されるテーブルインデックスによってインデックス付けされたエントリにおいて前記遷移テーブルをルックアップして遷移ステップを取得することと、前記遷移ステップサイズを前記第1の適応パラメーター及び前記第2の適応パラメーターにそれぞれ依存する2のべき乗で除算することとによって、前記遷移テーブルを使用して前記増加及び減少の前記量を決定するように構成され、前記遷移ステップは、前記量を決定する、実施形態136又は137に記載の算術エンコーダー。
【0391】
139.前記符号付き整数は、nビットを有する2の補数表現によって表され、nは、前記第1の仮説の場合よりも前記第2の仮説の場合の方が大きく、前記算術エンコーダーは、前記遷移ステップサイズを前記第1の適応パラメーター及び前記第2の適応パラメーターにそれぞれアフィン線形依存する2のべき乗で除算して遷移ステップを取得する場合に、一方では2n-mで除算した前記符号付き整数と、他方では2m-1で除算した前記符号付き整数との和によってインデックス付けされたエントリにおいて前記遷移テーブルをルックアップすることによって、前記遷移テーブルを使用して前記増加及び減少の前記量を決定するように構成され、前記遷移ステップは、前記量を決定する、実施形態136又は137に記載の算術エンコーダー。
【0392】
140.前記遷移テーブルの前記エントリに記憶された前記遷移ステップは、単調に増加又は減少する、実施形態139に記載の算術エンコーダー。
【0393】
141.コンピューター上で実行されたときに、実施形態74~126のいずれかに記載の方法を実施するプログラムコードを有するコンピュータープログラム。
【0394】
142.実施形態1~30、127~140のいずれかに記載の算術エンコーダーを使用して生成されたビットストリーム。
【手続補正書】
【提出日】2023-06-13
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
情報値のシーケンスを算術コーディングビットストリームに算術符号化する算術エンコーダーであって、
前記情報値をシンボルストリングにシンボル化して、シンボルのシーケンスを取得することと、
各シンボルについて、
前記それぞれのシンボルのシンボル値に従って、前記算術エンコーダーのコーディング状態の現在のバージョンを定義する現在の区間が、前記それぞれのシンボルの確率推定値に従って細分される、複数の部分区間の中から部分区間を選択して、前記選択された部分区間によって定義される、前記シンボルのシーケンスの次のシンボルを符号化するための前記算術エンコーダーの前記コーディング状態の更新されたバージョンを取得することと、
前記ビットストリームの継続中に前記コーディング状態を定義するエンコーダー内部パラメーターを再正規化することと、
によって、前記シンボルのシーケンスを算術符号化することと、
所定のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にするエントリポイント情報を前記ビットストリームに提供することと、
を行うように構成される、算術エンコーダー。
【請求項2】
前記エントリポイント情報は、算術デコーダーが前記所定のエントリポイントまで前記ビットストリームを復号化するときに前記算術デコーダーにおいて発生する前記算術デコーダーのコーディング状態に関する情報を含む、請求項1に記載の算術エンコーダー。
【請求項3】
前記算術エンコーダーは、前記ビットストリームの前記算術復号化を実施して、前記算術デコーダーの前記コーディング状態に関する前記情報を決定するように構成される、請求項2に記載の算術エンコーダー。
【請求項4】
前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、前記算術デコーダーの前記コーディング状態に関する前記情報は、前記ポインターの値を含む、請求項2又は3に記載の算術エンコーダー。
【請求項5】
前記算術エンコーダーは、前記ビットストリームの前記算術復号化を実施し、前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記ポインターの前記値を、前記所定のエントリポイントまで前記ビットストリームを前記算術復号化する際に現れる前記ポインターの現在の値に等しくなるように設定するように構成される、請求項4に記載の算術エンコーダー。
【請求項6】
前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、前記算術デコーダーの前記コーディング状態に関する前記情報は、前記区間幅パラメーターの値を含む、請求項2又は3に記載の算術エンコーダー。
【請求項7】
前記算術エンコーダーは、
前記ビットストリームの前記算術復号化を実施し、前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を、前記所定のエントリポイントまで前記ビットストリームを前記算術復号化する際に現れる前記区間幅パラメーターの現在の値に等しくなるように設定するか、又は
前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を、前記所定のエントリポイントまで前記シンボルのシーケンスを前記算術符号化する際に現れる前記区間幅パラメーターの現在の値に等しくなるように設定する、
ように構成される、請求項6に記載の算術エンコーダー。
【請求項8】
前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含むデコーダー内部パラメーターによって定義され、前記算術デコーダーの前記コーディング状態に関する前記情報は、前記ポインターの値[例えば、前記所定のエントリポイントにおいて前記ポインターがどの値を取るか]を含むが、前記区間幅パラメーターの値を含まず、前記算術エンコーダーは、
前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を所定の値に等しくなるように設定し、前記所定のエントリポイント以降の前記シンボルのシーケンスの前記算術符号化を再開するときに前記区間幅パラメーターについて前記所定の値を使用するか、又は
前記所定のエントリポイント以降の前記シンボルのシーケンスの前記算術符号化を再開する前に、前記所定のエントリポイントの直前の所定のシンボル値のシンボルを算術符号化することによって、前記シンボルのシーケンスの前記算術符号化を予め中断し、前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を、前記所定のシンボル値の前記シンボルを含む前記所定のエントリポイントまで前記シンボルのシーケンスを前記算術符号化する際に現れる前記区間幅パラメーターの現在の値に等しくなるように設定する、
ように構成される、請求項2又は3に記載の算術エンコーダー。
【請求項9】
前記エントリポイント情報は、前記ビットストリーム内の所定のビットへのビットストリームポインターを含み、前記所定のビットは、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を前記再開した後に次に読み出されることになる、請求項1~8のいずれか一項に記載の算術エンコーダー。
【請求項10】
前記算術エンコーダーは、
前記シンボルのシーケンスを算術符号化するためのコンテキスト適応算術コーディングを使用するように構成され、前記使用することは、前記シンボルのシーケンスのコンテキスト適応的に符号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、前記シンボルのシーケンスの以前に符号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させることとを含み、
前記エントリポイント情報は、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、前記それぞれの所定のコンテキストモデルのための所定の確率推定値を示し、前記算術エンコーダーは、前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記所定の確率推定値を使用するように構成される、請求項1~
9のいずれか一項に記載の算術エンコーダー。
【請求項11】
前記算術エンコーダーは、
前記シンボルのシーケンスを算術符号化するためのコンテキスト適応算術コーディングを使用するように構成され、前記使用することは、前記シンボルのシーケンスのコンテキスト適応的に符号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、前記シンボルのシーケンスの前に符号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させることとを含み、
前記算術エンコーダーは、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、前記所定のエントリポイントにおける前記それぞれの所定のコンテキストモデルについての前記確率推定値をデフォルト状態に設定するように構成され、前記算術エンコーダーは、前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記デフォルト状態を使用するように構成されるか、又は
前記算術エンコーダーは、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、前記所定のエントリポイントにおける前記それぞれの所定のコンテキストモデルについての前記確率推定値を、前記所定のエントリポイントの前の前記シンボルのシーケンスを算術符号化する間に所定の条件において現れる保存状態に設定するように構成され、前記算術エンコーダーは、前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記保存状態を使用するように構成される、請求項1~
10のいずれか一項に記載の算術エンコーダー。
【請求項12】
前記算術エンコーダーは、
状態機械を使用して、量子化されていない値のシーケンスから前記情報値のシーケンスを導出するために依存量子化を使用するように構成され、
前記エントリポイント情報は、前記所定のエントリポイントまでの前記状態機械に現れる量子化状態を含む、請求項1~
11のいずれか一項に記載の算術エンコーダー。
【請求項13】
前記シンボルは、ビンであり、前記シンボル化は、バイナリ化である、請求項1~
12のいずれか一項に記載の算術エンコーダー。
【請求項14】
前記情報値は、ビデオを表すシンタックス要素のシーケンスである、請求項1~
13のいずれか一項に記載の算術エンコーダー。
【請求項15】
前記情報値は、ニューラルネットワークパラメーターである、請求項1~
14のいずれか一項に記載の算術エンコーダー。
【請求項16】
前記算術エンコーダーは、前記ビットストリームに先行するか、前記ビットストリームに続くか、又は前記ビットストリームの間に挿入されたヘッダー中で前記エントリポイント情報をシグナリングすることによって、前記ビットストリームに前記エントリポイント情報を提供するように構成される、請求項1~15のいずれか一項に記載の算術エンコーダー。
【請求項17】
前記エントリポイント情報は、前記算術デコーダーが前記所定のエントリポイントまで前記ビットストリームを復号化するときに前記算術デコーダーにおいて発生する前記算術デコーダーのコーディング状態に関する情報を含み、前記算術デコーダーの前記コーディング状態は、前記現在の区間の前記区間幅と、前記現在の区間を指すポインターとによって定義され、
前記算術デコーダーの前記コーディング状態に関する前記情報は、前記所定のエントリポイントまで前記ビットストリームを前記算術復号化する際に現れる前記ポインターの値を含み、
前記算術エンコーダーは、前記ビットストリームに先行するか、前記ビットストリームに続くか、又は前記ビットストリームの間に挿入されたヘッダー中で前記エントリポイント情報をシグナリングすることによって、前記ビットストリームに前記エントリポイント情報を提供するように構成される、請求項1~16のいずれか一項に記載の算術エンコーダー。
【請求項18】
ビットストリームから情報値のシーケンスを算術復号化する算術デコーダーであって、
前記ビットストリームからエントリポイント情報を導出することと、
前記ビットストリームの各シンボルについて、
前記算術デコーダーのコーディング状態の現在のバージョンに基づいて、前記それぞれのシンボルについての確率推定値に従って現在の区間が細分される、複数の部分区間のうちの部分区間を決定し、前記選択された部分区間に基づいて、前記それぞれのシンボルのシンボル値を推測することと、
前記ビットストリーム及び前記選択された部分区間を使用することによって、前記コーディング状態を定義するデコーダー内部パラメーターを再正規化及び更新して、前記シンボルのシーケンスの次のシンボルを復号化するための前記算術デコーダーの前記コーディング状態の更新されたバージョンを取得することと、
によって、前記エントリポイント情報を使用して、前記ビットストリームからシンボルのシーケンスを算術復号化することによって、所定のエントリポイント以降の前記ビットストリームの算術復号化を再開することと、
シンボル化解除によって前記シンボルのシーケンスから前記情報値を導出することと、
を行うように構成される、算術デコーダー。
【請求項19】
前記エントリポイント情報を使用して、前記算術デコーダーの前記コーディング状態の開始バージョンを決定し、前記所定のエントリポイント以降の前記ビットストリームの算術復号化を開始するために前記開始状態を使用するように構成される、請求項
18に記載の算術デコーダー。
【請求項20】
前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含む前記デコーダー内部パラメーターによって定義され、前記算術デコーダーは、前記エントリポイント情報から、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を開始するために使用される前記ポインターの開始値を導出するように構成される、請求項
18又は19に記載の算術デコーダー。
【請求項21】
前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含む前記デコーダー内部パラメーターによって定義され、前記算術デコーダーは、前記エントリポイント情報から、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を開始するために使用される前記区間幅パラメーターの開始値を導出するように構成される、請求項
18~20のいずれか一項に記載の算術デコーダー。
【請求項22】
前記算術デコーダーの前記コーディング状態は、前記区間の幅を示す区間幅パラメーターと前記区間を指すポインターとを含む前記デコーダー内部パラメーターによって定義され、前記算術デコーダーは、
前記エントリポイント情報から、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を開始するために使用される前記ポインターの開始値を導出することと、
前記算術デコーダーの前記コーディング状態に関する前記情報に含まれる前記区間幅パラメーターの前記値を所定の値に等しくなるように設定し、前記所定のエントリポイント以降の前記シンボルのシーケンスの前記算術復号化を再開するために、前記所定の値を前記区間幅パラメーターに使用することと、
を行うように構成される、請求項
18~20のいずれか一項に記載の算術デコーダー。
【請求項23】
前記エントリポイント情報は、2つ以上のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にし、前記算術デコーダーは、
後続の所定のエントリポイント以降の前記シンボルのシーケンスの前記算術復号化を再開する前に、前記後続の所定のエントリポイントの直前の所定のシンボル値のシンボルを算術復号化することによって、前記後続の所定のエントリポイントにおいて前記シンボルのシーケンスの前記算術復号化を予め中断するように構成される、請求項
22に記載の算術デコーダー。
【請求項24】
前記エントリポイント情報から、前記ビットストリーム内の所定のビットへのビットストリームポインターを導出し、前記所定のエントリポイント以降の前記ビットストリームの前記算術復号化を再開した後に、前記所定のビットを次に読み出されるビットとして使用するように構成される、請求項
18~23のいずれか一項に記載の算術デコーダー。
【請求項25】
前記算術デコーダーは、
前記シンボルのシーケンスを算術復号化するためのコンテキスト適応算術復号化を使用するように構成され、前記使用することは、前記シンボルのシーケンスのコンテキスト適応的に復号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、前記シンボルのシーケンスの以前に復号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させることとを含み、
前記エントリポイント情報は、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、前記それぞれの所定のコンテキストモデルのための所定の確率推定値を示し、前記算術デコーダーは、前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記所定の確率推定値を使用するように構成される、請求項
18~24のいずれか一項に記載の算術デコーダー。
【請求項26】
前記算術デコーダーは、
前記シンボルのシーケンスを算術復号化するためのコンテキスト適応算術復号化を使用するように構成され、前記使用することは、前記シンボルのシーケンスのコンテキスト適応的に復号化されたシンボルについて、それぞれがそれに関連する確率推定値を有する複数のコンテキストモデルからコンテキストモデルを選択することと、前記シンボルのシーケンスの以前に復号化されたシンボルを使用して、前記複数のコンテキストモデルの前記確率推定値を実際のシンボル統計値に適応させることとを含み、
前記算術デコーダーは、1つ以上の所定のコンテキストモデルのセットのそれぞれについて、前記所定のエントリポイントにおける前記それぞれの所定のコンテキストモデルについての前記確率推定値をデフォルト状態に設定するように構成され、前記算術デコーダーは、前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記デフォルト状態を使用するように構成される、請求項
18~25のいずれか一項に記載の算術デコーダー。
【請求項27】
前記エントリポイント情報は、2つ以上のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にし、前記算術デコーダーは、
前記1つ以上の所定のコンテキストモデルのセットのそれぞれについて、後続の所定のエントリポイントにおける前記それぞれの所定のコンテキストモデルについての前記確率推定値を、前記後続の所定のエントリポイントの前の前記シンボルのシーケンスを算術復号化する間に所定の条件において現れる保存状態に設定するように構成され、前記算術デコーダーは、前記後続の所定のエントリポイント以降の前記それぞれの所定のコンテキストモデルに対する前記複数のコンテキストモデルの前記確率推定値の前記適応を再開する際に前記保存状態を使用するように構成される、請求項
26に記載の算術デコーダー。
【請求項28】
前記算術デコーダーは、
状態機械を使用して、前記情報値のシーケンスから量子化された値のシーケンスを導出するために依存逆量子化を使用することと、
前記エントリポイント情報から、前記所定のエントリポイント以降の前記依存量子化が再開される量子化状態を導出することと、
を行うように構成される、請求項
18~27のいずれか一項に記載の算術デコーダー。
【請求項29】
前記シンボルは、ビンであり、前記シンボル化解除は、非バイナリ化である、請求項
18~28のいずれか一項に記載の算術デコーダー。
【請求項30】
前記情報値は、ビデオを表すシンタックス要素のシーケンスである、請求項
18~29のいずれか一項に記載の算術デコーダー。
【請求項31】
前記情報値は、ニューラルネットワークパラメーターである、請求項
18~29のいずれか一項に記載の算術デコーダー。
【請求項32】
前記エントリポイント情報は、前記ビットストリームに先行するか、前記ビットストリームに続くか、又は前記ビットストリームの間に挿入されたヘッダーに含まれる、請求項18~31のいずれか一項に記載の算術デコーダー。
【請求項33】
情報値のシーケンスを算術コーディングビットストリームに算術符号化する方法(100)であって、
前記情報値をシンボルストリングにシンボル化して、シンボルのシーケンスを取得すること(101)と、
各シンボルについて、前記それぞれのシンボルについての確率推定値に従って、算術エンコーダーのコーディング状態の現在のバージョンを定義する現在の区間を細分すること(103)、
前記それぞれのシンボルのシンボル値に従って複数の部分区間の中から前記部分区間を選択して、前記選択された部分区間によって定義される、前記シンボルのシーケンスの次のシンボルを符号化するための前記算術エンコーダーの前記コーディング状態の更新されたバージョンを取得すること(104)、及び
前記ビットストリームの継続中に前記コーディング状態を定義するエンコーダー内部パラメーターを再正規化すること(105)、
によって、前記シンボルのシーケンスを算術符号化すること(102)と、
所定のエントリポイント以降の前記ビットストリームの算術復号化を再開することを可能にするエントリポイント情報を前記ビットストリームに提供すること(106)と、
を含む、方法。
【請求項34】
ビットストリームから情報値のシーケンスを算術復号化する方法(200)であって、
前記ビットストリームからエントリポイント情報を導出すること(201)と、
前記ビットストリームの各シンボルについて、
算術デコーダーのコーディング状態の現在のバージョン、前記それぞれのシンボルについての確率推定値に従って現在の区間が細分される、複数の部分区間のうちの部分区間を決定し(203)、前記選択された部分区間に基づいて、前記それぞれのシンボルのシンボル値を推定すること(204)、及び
前記ビットストリーム及び前記選択された部分区間を使用することによって、前記コーディング状態を定義するデコーダー内部パラメーターを再正規化及び更新して、前記シンボルのシーケンスの次のシンボルを復号化するための前記算術デコーダーの前記コーディング状態の更新されたバージョンを取得すること(205)、
によって、前記エントリポイント情報を使用して、前記ビットストリームからシンボルのシーケンスを算術復号化することによって、所定のエントリポイント以降の前記ビットストリームの算術復号化を再開すること(202)と、
シンボル化解除によって前記シンボルのシーケンスから前記情報値を導出すること(206)と、
を含む、方法。
【請求項35】
コンピューター上で実行されたときに、請求項
33~34のいずれか一項に記載の方法を実施するプログラムコードを有するコンピュータープログラム。
【請求項36】
請求項1~
17のいずれか一項に記載の算術エンコーダーを使用して生成されたビットストリーム。
【国際調査報告】