(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-06-01
(54)【発明の名称】ニューラルネットワークの重みパラメーターを復号化するデコーダー、エンコーダー、方法、及び確率推定パラメーターを使用する符号化表現
(51)【国際特許分類】
H04N 19/13 20140101AFI20230525BHJP
【FI】
H04N19/13
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022562944
(86)(22)【出願日】2021-04-13
(85)【翻訳文提出日】2022-12-12
(86)【国際出願番号】 EP2021059594
(87)【国際公開番号】W WO2021209470
(87)【国際公開日】2021-10-21
(32)【優先日】2020-04-14
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】504315750
【氏名又は名称】フラウンホーファー‐ゲゼルシャフト ツア フェルデルング デア アンゲヴァンテン フォルシュング アインゲトラーゲナー フェライン
(74)【代理人】
【識別番号】100133411
【氏名又は名称】山本 龍郎
(74)【代理人】
【識別番号】100067677
【氏名又は名称】山本 彰司
(72)【発明者】
【氏名】ハーゼ,パウル
(72)【発明者】
【氏名】ミュラー,カーステン
(72)【発明者】
【氏名】キルヒホッファー,ハイナー
(72)【発明者】
【氏名】シュヴァルツ,ハイコ
(72)【発明者】
【氏名】マープ,デトレフ
(72)【発明者】
【氏名】ヴィーガント,トーマス
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159TA57
5C159TC00
(57)【要約】
本発明による実施形態は、ニューラルネットワークの重みパラメーターを復号化するデコーダーを含み、デコーダーは、符号化ビットストリームに基づいて、複数のニューラルネットワークパラメーター、例えば、ニューラルネットワークの行列Wの成分w
i、b、μ、σ
2、σ、γ、及び/又はβのうちの少なくとも1つを取得するように構成される。さらに、デコーダーは、コンテキスト依存算術復号化を使用して、例えば、コンテキスト適応型二値算術復号化(CABAC)を使用して、ニューラルネットワークのニューラルネットワークパラメーター、例えば、ニューラルネットワークパラメーターの量子化されたバージョンを復号化するように構成される。任意選択で、ビン値の確率は、異なるコンテキストについて決定されてもよく、例えば、各ビンはコンテキストに関連付けられる。さらに、デコーダーは、1つ以上の確率推定パラメーターを使用して、例えば1つ以上の以前に復号化されたニューラルネットワークパラメーター又はそのビンに基づいて、例えばニューラルネットワークパラメーターの数表現のビンの算術復号化のために、例えばコンテキストに関連付けられ得る確率推定値を取得するように構成される。加えて、デコーダーは、異なるニューラルネットワークパラメーターの復号化のために異なる確率推定パラメーター値を使用するように、及び/又は異なるコンテキストモデルに関連付けられたビンの復号化のために異なる確率推定パラメーター値を使用するように構成される。更なる実施形態は、ニューラルネットワークの異なる層に関連付けられたニューラルネットワークパラメーターの復号化のために異なる確率推定パラメーター値を使用するように構成されたデコーダーを含む。対応するエンコーダー、方法及び符号化表現も開示される。
【選択図】
図2
【特許請求の範囲】
【請求項1】
ニューラルネットワークの重みパラメーターを復号化するデコーダー(200)であって、
前記デコーダー(200)は、符号化ビットストリーム(202)に基づいて前記ニューラルネットワークの複数のニューラルネットワークパラメーター(204)を取得するように構成され、
前記デコーダー(200)は、コンテキスト依存算術復号化を使用して前記ニューラルネットワークの前記ニューラルネットワークパラメーターを復号化するように構成され、
前記デコーダー(200)は、1つ以上の確率推定パラメーターを使用して、ニューラルネットワークパラメーターの数表現のビンの復号化のための確率推定値を取得するように構成され、
前記デコーダー(200)は、異なるニューラルネットワークパラメーターの復号化のために異なる確率推定パラメーター値(230)を使用するように、及び/又は異なるコンテキストモデルに関連付けられたビンの復号化のために異なる確率推定パラメーター値(230)を使用するように構成されている、
デコーダー。
【請求項2】
ニューラルネットワークの重みパラメーターを復号化するデコーダー(200)であって、
前記デコーダー(200)は、符号化ビットストリーム(202)に基づいて前記ニューラルネットワークの複数のニューラルネットワークパラメーター(204)を取得するように構成され、
前記デコーダー(200)は、コンテキスト依存算術復号化を使用して前記ニューラルネットワークの前記ニューラルネットワークパラメーターを復号化するように構成され、
前記デコーダー(200)は、1つ以上の確率推定パラメーターを使用して、ニューラルネットワークパラメーターの数表現のビンの復号化のための確率推定値を取得するように構成され、
前記デコーダー(200)は、前記ニューラルネットワークの異なる層に関連付けられたニューラルネットワークパラメーターの復号化のために、異なる確率推定パラメーター値(230)を使用するように構成されている、
デコーダー。
【請求項3】
請求項1又は2に記載のデコーダー(200)であって、
前記デコーダー(200)は、基集合(300)から、
又は、前記基集合の真の部分集合(310、320、410、412、414、420)から、1つ以上の確率推定パラメーターを選択するように構成されている、
デコーダー。
【請求項4】
請求項1~3のいずれか一項に記載のデコーダー(200)であって、
前記デコーダー(200)は、量子化モードに依存して、使用可能なパラメーター値又はパラメーター値の使用可能なタプル(430、440)の異なる集合(410、412、414)から1つ以上の確率推定パラメーターを選択するように構成され、又は
前記デコーダー(200)は、量子化モードに依存して、1つ以上の確率推定パラメーターを表す符号化値を1つ以上の確率推定パラメーターにマッピングする異なるマッピング規則(450、460)を使用するように構成されている、
デコーダー。
【請求項5】
請求項1~4のいずれか一項に記載のデコーダー(200)であって、
前記デコーダー(200)は、1つ以上の確率推定パラメーターの一様量子化が使用される場合に、使用可能なパラメーター値の第1の集合(410、412)から、又はパラメーター値の使用可能なタプルの第1の集合(430)から、前記1つ以上の確率推定パラメーターを抜粋して選択するように構成され、
前記デコーダー(200)は、1つ以上の確率推定パラメーターの可変量子化が使用される場合に、使用可能なパラメーター値の第2の集合(420、414)から、又はパラメーター値の使用可能なタプルの第2の集合(440)から、前記1つ以上の確率推定パラメーターを抜粋して選択するように構成され、又は
前記デコーダー(200)は、1つ以上の確率推定パラメーターの一様量子化が使用される場合に、1つ以上の確率推定パラメーターを表す符号化値を前記1つ以上の確率推定パラメーターにマッピングする第1のマッピング規則(460)を使用するように構成され、
前記デコーダー(200)は、1つ以上の確率推定パラメーターの可変量子化が使用される場合に、1つ以上の確率推定パラメーターを表す符号化値を前記1つ以上の確率推定パラメーターにマッピングする第2のマッピング規則(450)を使用するように構成され、
使用可能なパラメーター値の前記第1の集合(410、412)は、使用可能なパラメーター値の前記第2の集合(414、420)とは異なり、
パラメーター値の使用可能なタプルの前記第1の集合(430)は、パラメーター値の使用可能なタプルの前記第2の集合(440)とは異なり、及び/又は
前記第2のマッピング規則(450)は、前記第1のマッピング規則(450)とは異なる、
デコーダー。
【請求項6】
請求項5に記載のデコーダー(200)であって、
平均して、使用可能なパラメーター値の前記第2の集合(414、420)のうちの使用可能なパラメーター値は、使用可能なパラメーター値の前記第1の集合のうちの使用可能なパラメーター値よりも高速な確率推定値の適応を可能にし、又は
平均して、パラメーター値の使用可能なタプルの前記第2の集合(440)のうちのパラメーター値の使用可能なタプルは、パラメーター値の使用可能なタプルの前記第1の集合(430)のうちのパラメーター値の使用可能なタプルよりも高速な確率推定値の適応を可能にする、
デコーダー。
【請求項7】
請求項5又は6に記載のデコーダー(200)であって、
使用可能なパラメーター値の前記第2の集合(414、420)は、使用可能なパラメーター値の前記第1の集合(410、412)のうちの使用可能なパラメーター値よりも高速な確率推定値の適応を可能にする使用可能なパラメーター値を含むか、又は
パラメーター値の使用可能なタプルの前記第2の集合(440)は、パラメーター値の使用可能なタプルの前記第1の集合(430)のうちのパラメーター値の使用可能なタプルよりも高速な確率推定値の適応を可能にするパラメーター値の使用可能なタプルを含む、
デコーダー。
【請求項8】
請求項1~7のいずれか一項に記載のデコーダー(200)であって、
前記デコーダー(200)は、1つ以上の確率推定パラメーターを選択することであって、前記ニューラルネットワークの層のパラメーターの数に依存して、又は前記選択された1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの数に依存して、又は層パラメーターの要素の数に依存して、使用可能なパラメーター値又はパラメーター値の使用可能なタプル(430、440)の異なる集合(410、412、414、420)から選択することを行うように構成され、又は
前記デコーダー(200)は、前記ニューラルネットワークの層のパラメーターの数に依存して、又は前記選択された1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの数に依存して、又は層パラメーターの要素の数に依存して、1つ以上の確率推定パラメーターを表す符号化値を1つ以上の確率推定パラメーターにマッピングする異なるマッピング規則(450、460)を使用するように構成されている、
デコーダー。
【請求項9】
請求項1~8のいずれか一項に記載のデコーダー(200)であって、
前記デコーダー(200)は、1つ以上の確率推定パラメーターを抜粋して選択することであって、前記ニューラルネットワークの層のパラメーターの前記数が閾値を下回る場合、又は前記選択された1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの前記数が閾値を下回る場合、又は前記層パラメーターの要素の前記数が閾値を下回る場合、使用可能なパラメーター値の第1の集合(410、412)から、又はパラメーター値の使用可能なタプルの第1の集合(430)から選択することを行うように構成され、
前記デコーダー(200)は、1つ以上の確率推定パラメーターを抜粋して選択することであって、前記ニューラルネットワークの層のパラメーターの前記数が前記閾値を超える場合、又は前記選択された1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの前記数が前記閾値を超える場合、又は前記層パラメーターの要素の前記数が前記閾値を超える場合、使用可能なパラメーター値の第2の集合(414、420)から、又はパラメーター値の使用可能なタプルの第2の集合(440)から選択することを行うように構成され、又は
前記デコーダー(200)は、前記ニューラルネットワークの層のパラメーターの前記数が閾値を下回る場合、又は前記選択された1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの前記数が閾値を下回る場合、又は前記層パラメーターの要素の前記数が閾値を下回る場合、1つ以上の確率推定パラメーターを表す符号化値を1つ以上の確率推定パラメーターにマッピングする第1のマッピング規則(460)を抜粋して使用するように構成され、
前記デコーダー(200)は、前記ニューラルネットワークの層のパラメーターの前記数が前記閾値を超える場合、又は前記選択された1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの前記数が前記閾値を超える場合、又は前記層パラメーターの要素の前記数が前記閾値を超える場合、1つ以上の確率推定パラメーターを表す符号化値を1つ以上の確率推定パラメーターにマッピングする第2のマッピング規則(450)を抜粋して使用するように構成され、
使用可能なパラメーター値の前記第2の集合(414、420)は、使用可能なパラメーター値の前記第1の集合(410、412)よりも多くの使用可能なパラメーター値を含み、パラメーター値の使用可能なタプルの前記第2の集合(440)は、パラメーター値の使用可能なタプルの前記第1の集合(430)よりも多くの使用可能なタプルを含み、及び/又は
前記第2のマッピング規則(450)は、前記第1のマッピング規則(450)とは異なる、
デコーダー。
【請求項10】
請求項1~9のいずれか一項に記載のデコーダー(200)であって、
前記デコーダー(200)は、前記1つ以上の確率推定パラメーターを抜粋して選択することであって、前記選択された1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの数が閾値以上である場合、増加した選択肢から選択することを行うように構成されている、デコーダー。
【請求項11】
請求項1~10のいずれか一項に記載のデコーダー(200)であって、
前記デコーダー(200)は、前記1つ以上の確率推定パラメーターが、使用可能なパラメーター値のどの集合から、又はパラメーター値の使用可能なタプルのどの集合から選択されるかのシグナリングを評価するように構成され、又は
前記デコーダー(200)は、1つ以上の確率推定パラメーターを表す符号化値を1つ以上の確率推定パラメーターにマッピングするために、複数のマッピング規則のうちのどのマッピング規則を使用すべきかのシグナリング指示を評価するように構成されている、
デコーダー。
【請求項12】
請求項1~11のいずれか一項に記載のデコーダー(200)であって、
前記デコーダー(200)は、確率推定パラメーター値を記述する、又は複数の確率推定パラメーター値(230)を記述する、又は確率推定パラメーター値(230)のタプルを記述する1つ以上のインデックス値を復号化するように構成されている、デコーダー。
【請求項13】
請求項12に記載のデコーダー(200)であって、前記デコーダー(200)は、1つ以上のコンテキストモデルを使用して前記1つ以上のインデックス値を復号化するように構成されている、デコーダー。
【請求項14】
請求項12又は13に記載のデコーダー(200)であって、
前記デコーダー(200)は、現在考慮されているインデックス値がデフォルト値を取るかどうかを記述する第1のビンを復号化するように構成され、
前記デコーダー(200)は、前記現在考慮されているインデックス値が前記デフォルト値を取らない場合に、前記現在考慮されているインデックス値又は前記現在考慮されているインデックス値から導出された値を二値表現で表す1つ以上の追加のビンを抜粋して復号化するように構成されている、
デコーダー。
【請求項15】
請求項12又は13に記載のデコーダー(200)であって、
前記デコーダー(200)は、単項コード復号化を使用して、又は短縮単項コード復号化を使用して、又は可変長コード復号化を使用して、前記1つ以上のインデックス値を復号化するように構成されている、デコーダー。
【請求項16】
請求項1~15のいずれか一項に記載のデコーダー(200)であって、
前記デコーダー(200)は、前記1つ以上の確率推定パラメーターを量子化するために使用される量子化モードに応じて、前記1つ以上の確率推定パラメーターを復号化するために使用されるビンの数又はビンの最大数を変更するように構成されている、デコーダー。
【請求項17】
請求項1~16のいずれか一項に記載のデコーダー(200)であって、
前記デコーダー(200)は、前記ニューラルネットワークの層のパラメーターの数に依存して、又は前記1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの数に依存して、又は層パラメーターの要素の数に依存して、前記1つ以上の確率推定パラメーターを復号化するために使用されるビンの数又はビンの最大数を変更するように構成されている、デコーダー。
【請求項18】
請求項1~17のいずれか一項に記載のデコーダー(200)であって、
前記デコーダー(200)は、前記1つ以上の確率推定パラメーターに関連付けられた使用可能なパラメーター値の異なる集合(410、412、414、420)の間で、又は複数の確率推定パラメーターに関連付けられた使用可能なパラメーター値のタプルの異なる集合(430、440)の間で、又は1つ以上の確率推定パラメーターを表す符号化値を1つ以上の確率推定パラメーターにマッピングする異なるマッピング規則(450、460)の間で切り替えるように構成されている、デコーダー。
【請求項19】
請求項18に記載のデコーダー(200)であって、
前記デコーダー(200)は、前記1つ以上の確率推定パラメーターに関連付けられた使用可能なパラメーター値の異なる集合(410、412、414、420)の間、又は複数の確率推定パラメーターに関連付けられた使用可能なパラメーター値のタプルの異なる集合(430、440)の間、又は異なるマッピング規則(450、460)の間の切り替えに従って、選択された確率推定パラメーター又は確率推定パラメーターの選択されたタプルを指定する前記1つ以上の確率推定パラメーターを復号化するために使用されるビンの数又はビンの最大数を変更するように構成されている、デコーダー。
【請求項20】
請求項1~19のいずれか一項に記載のデコーダー(200)であって、
前記デコーダー(200)は、1つ以上の状態変数を決定し、前記1つ以上の状態変数を使用して前記確率推定値を導出するように構成されている、デコーダー。
【請求項21】
請求項1~20のいずれか一項に記載のデコーダー(200)であって、
前記デコーダー(200)は、
【数1】
及び
【数2】
に従って2つの状態変数s
1
k、s
2
kから前記確率推定値p
kを導出するように構成されている、デコーダー。
【請求項22】
請求項1~21のいずれか一項に記載のデコーダー(200)であって、
前記デコーダー(200)は、
【数3】
に従って前記状態変数s
1
k、s
2
kを更新するように構成され、
式中、m
i
k及びn
i
kは、重み係数であり、
Aは、ルックアップテーブルであり、
zは、オフセット値である、
デコーダー。
【請求項23】
請求項22に記載のデコーダー(200)であって、
前記デコーダー(200)は、異なるニューラルネットワークパラメーターの復号化のために異なる確率推定パラメーター値(230)を使用するように、及び/又は異なるコンテキストモデルに関連付けられたビンの復号化のために異なる確率推定パラメーター値(230)を使用するように、及び/又は前記ニューラルネットワークの異なる層に関連付けられたニューラルネットワークパラメーターの復号化のために異なる確率推定パラメーター値(230)を使用するように、前記重み係数n
i
kを変更するように構成されている、デコーダー。
【請求項24】
請求項22又は23に記載のデコーダー(200)であって、
前記重み係数n
i
kと適応パラメーターsh
i
kとの間の関係は、
【数4】
に従って定義される、
デコーダー。
【請求項25】
請求項24に記載のデコーダー(200)であって、
前記デコーダー(200)は、前記適応パラメーターを記述する情報を復号化するように構成されている、デコーダー。
【請求項26】
ニューラルネットワークの重みパラメーターを符号化するエンコーダーであって、
前記エンコーダーは、前記ニューラルネットワークの複数のニューラルネットワークパラメーターを取得するように構成され、
前記エンコーダーは、コンテキスト依存算術符号化を使用して前記ニューラルネットワークの前記ニューラルネットワークパラメーターを符号化するように構成され、
前記エンコーダーは、1つ以上の確率推定パラメーターを使用して、ニューラルネットワークパラメーターの数表現のビンの符号化のための確率推定値を取得するように構成され、
前記エンコーダーは、異なるニューラルネットワークパラメーターの符号化のために異なる確率推定パラメーター値(230)を使用するように、及び/又は異なるコンテキストモデルに関連付けられたビンの符号化のために異なる確率推定パラメーター値(230)を使用するように構成されている、
エンコーダー。
【請求項27】
ニューラルネットワークの重みパラメーターを符号化するエンコーダーであって、
前記エンコーダーは、前記ニューラルネットワークの複数のニューラルネットワークパラメーターを取得するように構成され、
前記エンコーダーは、コンテキスト依存算術符号化を使用して前記ニューラルネットワークの前記ニューラルネットワークパラメーターを符号化するように構成され、
前記エンコーダーは、1つ以上の確率推定パラメーターを使用して、ニューラルネットワークパラメーターの数表現のビンの符号化のための確率推定値を取得するように構成され、
前記エンコーダーは、前記ニューラルネットワークの異なる層に関連付けられたニューラルネットワークパラメーターの符号化のために、異なる確率推定パラメーター値(230)を使用するように構成されている、
エンコーダー。
【請求項28】
前記エンコーダーは、基集合(300)から、又は前記基集合の真の部分集合(310、320、410、412、414、420)から、1つ以上の確率推定パラメーターを選択するように構成されている、請求項26又は27に記載のエンコーダー。
【請求項29】
前記エンコーダーは、量子化モードに依存して、使用可能なパラメーター値又はパラメーター値の使用可能なタプル(430、440)の異なる集合(410、412、414)から1つ以上の確率推定パラメーターを選択するように構成されている、請求項26~28のいずれか一項に記載のエンコーダー。
【請求項30】
前記エンコーダーは、1つ以上の確率推定パラメーターの一様量子化が使用される場合に、使用可能なパラメーター値の第1の集合(410、412)から、又はパラメーター値の使用可能なタプルの第1の集合(430)から、前記1つ以上の確率推定パラメーターを抜粋して選択するように構成され、
前記エンコーダーは、1つ以上の確率推定パラメーターの可変量子化が使用される場合に、使用可能なパラメーター値の第2の集合(414、420)から、又はパラメーター値の使用可能なタプルの第2の集合(440)から、前記1つ以上の確率推定パラメーターを抜粋して選択するように構成され、
使用可能なパラメーター値の前記第1の集合(410、412)は、使用可能なパラメーター値の前記第2の集合(414、420)とは異なり、
パラメーター値の使用可能なタプルの前記第1の集合(430)は、パラメーター値の使用可能なタプルの前記第2の集合(440)とは異なる、
請求項26~29のいずれか一項に記載のエンコーダー。
【請求項31】
平均して、使用可能なパラメーター値の前記第2の集合(414、420)のうちの使用可能なパラメーター値は、使用可能なパラメーター値の前記第1の集合(410、412)のうちの使用可能なパラメーター値よりも高速な確率推定値の適応を可能にし、又は
平均して、パラメーター値の使用可能なタプルの前記第2の集合(440)のうちのパラメーター値の使用可能なタプルは、パラメーター値の使用可能なタプルの前記第1の集合(430)のうちのパラメーター値の使用可能なタプルよりも高速な確率推定値の適応を可能にする、
請求項30に記載のエンコーダー。
【請求項32】
使用可能なパラメーター値の前記第2の集合(414、420)は、使用可能なパラメーター値の前記第1の集合(410、412)のうちの使用可能なパラメーター値よりも高速な確率推定値の適応を可能にする使用可能なパラメーター値を含むか、又は
パラメーター値の使用可能なタプルの前記第2の集合(440)は、パラメーター値の使用可能なタプルの前記第1の集合(430)のうちのパラメーター値の使用可能なタプルよりも高速な確率推定値の適応を可能にするパラメーター値の使用可能なタプルを含む、
請求項30又は31に記載のエンコーダー。
【請求項33】
前記エンコーダーは、1つ以上の確率推定パラメーターを選択することであって、前記ニューラルネットワークの層のパラメーターの数に依存して、又は前記選択された1つ以上の確率推定パラメーターを使用して符号化されるニューラルネットワークパラメーターの数に依存して、又は層パラメーターの要素の数に依存して、使用可能なパラメーター値又はパラメーター値の使用可能なタプル(430、440)の異なる集合(410、412、414、420)から選択することを行うように構成されている、請求項26~32のいずれか一項に記載のエンコーダー。
【請求項34】
前記エンコーダーは、1つ以上の確率推定パラメーターを抜粋して選択することであって、前記ニューラルネットワークの層のパラメーターの前記数が閾値を下回る場合、又は前記選択された1つ以上の確率推定パラメーターを使用して符号化されるニューラルネットワークパラメーターの前記数が閾値を下回る場合、又は前記層パラメーターの要素の前記数が閾値を下回る場合、使用可能なパラメーター値の第1の集合(410、412)から、又はパラメーター値の使用可能なタプルの第1の集合(430)から選択することを行うように構成され、
前記エンコーダーは、1つ以上の確率推定パラメーターを抜粋して選択することであって、前記ニューラルネットワークの層のパラメーターの前記数が前記閾値を超える場合、又は前記選択された1つ以上の確率推定パラメーターを使用して符号化されるニューラルネットワークパラメーターの前記数が前記閾値を超える場合、又は前記層パラメーターの要素の前記数が前記閾値を超える場合、使用可能なパラメーター値の第2の集合(414、420)から、又はパラメーター値の使用可能なタプルの第2の集合(440)から選択することを行うように構成され、
使用可能なパラメーター値の前記第2の集合(414、420)は、使用可能なパラメーター値の前記第1の集合(410、412)よりも多くの使用可能なパラメーター値を含み、パラメーター値の使用可能なタプルの前記第2の集合(440)は、パラメーター値の使用可能なタプルの前記第1の集合(430)よりも多くの使用可能なタプルを含む、
請求項26~33のいずれか一項に記載のエンコーダー。
【請求項35】
前記エンコーダーは、前記1つ以上の確率推定パラメーターを抜粋して選択することであって、前記選択された1つ以上の確率推定パラメーターを使用して符号化されるニューラルネットワークパラメーターの数が閾値以上である場合、増加した選択肢から選択することを行うように構成されている、請求項26~34のいずれか一項に記載のエンコーダー。
【請求項36】
前記エンコーダーは、前記1つ以上の確率推定パラメーターが、使用可能なパラメーター値のどの集合(410、412、414、420)から、又はパラメーター値の使用可能なタプル(430、440)のどの集合から選択されるかをシグナリングするように構成されている、請求項26~35のいずれか一項に記載のエンコーダー。
【請求項37】
前記エンコーダーは、確率推定パラメーター値を記述する、又は複数の確率推定パラメーター値(230)を記述する、又は確率推定パラメーター値(230)のタプルを記述する1つ以上のインデックス値を符号化するように構成されている、請求項26~36のいずれか一項に記載のエンコーダー。
【請求項38】
前記エンコーダーは、1つ以上のコンテキストモデルを使用して前記1つ以上のインデックス値を符号化するように構成されている、請求項37に記載のエンコーダー。
【請求項39】
前記エンコーダーは、現在考慮されているインデックス値がデフォルト値を取る場合、前記現在考慮されているインデックス値が前記デフォルト値を取ることを記述する第1のビンを使用して前記現在考慮されているインデックス値を符号化するように構成され、
前記エンコーダーは、前記現在考慮されているインデックス値が前記デフォルト値を取らない場合、前記現在考慮されているインデックス値が前記デフォルト値を取らないことを記述する第1のビンを使用して、かつ前記現在考慮されているインデックス値又は前記現在考慮されているインデックス値から導出された値を二値表現で表す1つ以上の追加のビンを使用して、前記現在考慮されているインデックス値を符号化するように構成されている、
請求項37又は38に記載のエンコーダー。
【請求項40】
前記エンコーダーは、単項コードを使用して、又は短縮単項コードを使用して、又は可変長コードを使用して、前記1つ以上のインデックス値を符号化するように構成されている、請求項37又は38に記載のエンコーダー。
【請求項41】
前記エンコーダーは、前記1つ以上の確率推定パラメーターを量子化するために使用される量子化モードに応じて、前記1つ以上の確率推定パラメーターを符号化するために使用されるビンの数又はビンの最大数を変更するように構成されている、請求項26~40のいずれか一項に記載のエンコーダー。
【請求項42】
前記エンコーダーは、前記ニューラルネットワークの層のパラメーターの数に依存して、又は前記1つ以上の確率推定パラメーターを使用して符号化されるニューラルネットワークパラメーターの数に依存して、又は層パラメーターの要素の数に依存して、前記1つ以上の確率推定パラメーターを符号化するために使用されるビンの数又はビンの最大数を変更するように構成されている、請求項26~41のいずれか一項に記載のエンコーダー。
【請求項43】
前記エンコーダーは、前記1つ以上の確率推定パラメーターに関連付けられた使用可能なパラメーター値の異なる集合(410、412、414、420)の間で、又は複数の確率推定パラメーターに関連付けられた使用可能なパラメーター値のタプル(430、440)の異なる集合の間で切り替えるように構成されている、請求項26~42のいずれか一項に記載のエンコーダー。
【請求項44】
前記エンコーダーは、前記1つ以上の確率推定パラメーターに関連付けられた使用可能なパラメーター値の異なる集合(410、412、414、420)の間、又は複数の確率推定パラメーターに関連付けられた使用可能なパラメーター値のタプルの異なる集合(430、440)の間の切り替えに従って、選択された確率推定パラメーター又は確率推定パラメーターの選択されたタプルを指定する前記1つ以上の確率推定パラメーターを符号化するために使用されるビンの数又はビンの最大数を変更するように構成されている、請求項43に記載のエンコーダー。
【請求項45】
前記エンコーダーは、1つ以上の状態変数を決定し、前記1つ以上の状態変数を使用して前記確率推定値を導出するように構成されている、請求項26~44のいずれか一項に記載のエンコーダー。
【請求項46】
前記エンコーダーは、
【数5】
及び
【数6】
に従って2つの状態変数s
1
k、s
2
kから前記確率推定値p
kを導出するように構成されている、請求項26~45のいずれか一項に記載のエンコーダー。
【請求項47】
前記エンコーダーは、
【数7】
に従って前記状態変数s
1
k、s
2
kを更新するように構成され、
式中、m
i
k及びn
i
kは、重み係数であり、
Aは、ルックアップテーブルであり、
zは、オフセット値である、
請求項26~46のいずれか一項に記載のエンコーダー。
【請求項48】
前記エンコーダーは、異なるニューラルネットワークパラメーターの符号化のために異なる確率推定パラメーター値(230)を使用するように、及び/又は異なるコンテキストモデルに関連付けられたビンの符号化のために異なる確率推定パラメーター値(230)を使用するように、及び/又は前記ニューラルネットワークの異なる層に関連付けられたニューラルネットワークパラメーターの符号化のために異なる確率推定パラメーター値(230)を使用するように、前記重み係数n
i
kを変更するように構成されている、請求項22に記載のエンコーダー。
【請求項49】
前記重み係数n
i
kと適応パラメーターsh
i
kとの間の関係は、
【数8】
に従って定義される、
請求項47又は48に記載のエンコーダー。
【請求項50】
前記エンコーダーは、前記適応パラメーターを記述する情報を符号化するように構成されている、請求項49に記載のエンコーダー。
【請求項51】
ニューラルネットワークの重みパラメーターを復号化する方法(600)であって、
前記方法は、符号化ビットストリーム(202)に基づいて前記ニューラルネットワークの複数のニューラルネットワークパラメーター(204)を取得(610)することを含み、
前記方法は、コンテキスト依存算術復号化を使用して前記ニューラルネットワークの前記ニューラルネットワークパラメーターを復号化(620)することを含み、
前記方法は、1つ以上の確率推定パラメーターを使用して、ニューラルネットワークパラメーターの数表現のビンの復号化のための確率推定値を取得(630)することを含み、
前記方法は、異なるニューラルネットワークパラメーターの復号化のために異なる確率推定パラメーター値(230)を使用(640)すること、及び/又は異なるコンテキストモデルに関連付けられたビンの復号化のために異なる確率推定パラメーター値(230)を使用することを含む、
方法。
【請求項52】
ニューラルネットワークの重みパラメーターを復号化する方法(700)であって、
前記方法は、符号化ビットストリーム(202)に基づいて前記ニューラルネットワークの複数のニューラルネットワークパラメーター(204)を取得(710)することを含み、
前記方法は、コンテキスト依存算術復号化を使用して前記ニューラルネットワークの前記ニューラルネットワークパラメーターを復号化(720)することを含み、
前記方法は、1つ以上の確率推定パラメーターを使用して、ニューラルネットワークパラメーターの数表現のビンの復号化のための確率推定値を取得(730)することを含み、
前記方法は、前記ニューラルネットワークの異なる層に関連付けられたニューラルネットワークパラメーターの復号化のために異なる確率推定パラメーター値(230)を使用(740)することを含む、
方法。
【請求項53】
ニューラルネットワークの重みパラメーターを符号化する方法であって、
前記方法は、前記ニューラルネットワークの複数のニューラルネットワークパラメーター(204)を取得することを含み、
前記方法は、コンテキスト依存算術符号化を使用して前記ニューラルネットワークの前記ニューラルネットワークパラメーターを符号化することを含み、
前記方法は、1つ以上の確率推定パラメーターを使用して、ニューラルネットワークパラメーターの数表現のビンの符号化のための確率推定値を取得することを含み、
前記方法は、異なるニューラルネットワークパラメーターの符号化のために異なる確率推定パラメーター値(230)を使用すること、及び/又は異なるコンテキストモデルに関連付けられたビンの符号化のために異なる確率推定パラメーター値(230)を使用することを含む、
方法。
【請求項54】
ニューラルネットワークの重みパラメーターを符号化する方法であって、
前記方法は、前記ニューラルネットワークの複数のニューラルネットワークパラメーターを取得することを含み、
前記方法は、コンテキスト依存算術符号化を使用して前記ニューラルネットワークの前記ニューラルネットワークパラメーターを符号化することを含み、
前記方法は、1つ以上の確率推定パラメーターを使用して、ニューラルネットワークパラメーターの数表現のビンの符号化のための確率推定値を取得することを含み、
前記方法は、前記ニューラルネットワークの異なる層に関連付けられたニューラルネットワークパラメーターの符号化のために異なる確率推定パラメーター値(230)を使用することを含む、
方法。
【請求項55】
コンピュータープログラムであって、前記コンピュータープログラムがコンピューター上で動作するとき、請求項51~54のいずれか一項に記載の方法を実行するコンピュータープログラム。
【請求項56】
ニューラルネットワークの重みパラメーターの符号化表現(202)であって、
前記ニューラルネットワークの複数の符号化重みパラメーターと、
前記符号化重みパラメーターの算術復号化のコンテキストの適応のための確率推定の特性を決定する1つ以上の確率推定パラメーターの符号化表現と、
を含む、符号化表現。
【請求項57】
前記符号化表現は、異なるニューラルネットワークパラメーターに関連付けられた別個の確率推定パラメーターの、及び/又は異なるコンテキストモデルに関連付けられた別個の確率推定パラメーターの、及び/又は前記ニューラルネットワークの異なる層に関連付けられた別個の確率推定パラメーターの別個の符号化表現を含む、請求項56に記載の符号化表現。
【請求項58】
前記符号化表現は、1つ以上の確率推定パラメーターを表す符号化値を1つ以上の確率推定パラメーターにマッピングするために、複数のマッピング規則のうちのどのマッピング規則を使用すべきかを示すフラグ指示を含む、請求項56又は57に記載の符号化表現。
【発明の詳細な説明】
【技術分野】
【0001】
本発明による実施形態は、ニューラルネットワークの重みパラメーターを符号化するエンコーダー、デコーダー、方法、及び確率推定パラメーターを使用する符号化表現を含む。
【背景技術】
【0002】
以下では、本発明のより良い理解のための背景情報が提供される。しかしながら、背景情報に記載された特徴、機能及び詳細は、本発明の任意の実施形態と組み合わせて(個別に及び組み合わせての両方)任意選択で使用されてもよいことに留意すべきである。
【0003】
ニューラルネットワークは、例えば、その最も基本的な形態において、一連のアフィン変換とそれに続く要素ごとの非線形関数とを構成する。例えば、
図1に示すように、それらは有向非巡回グラフとして表すことができる。
【0004】
図1は、フィードフォワードニューラルネットワークのグラフ表現の例を示している。具体的には、この2層ニューラルネットワークは、4次元入力ベクトルを実線に写像する非線形関数である。
【0005】
例えば、各ノードは、エッジのそれぞれの重み値との乗算によって次のノードに順方向伝搬される特定の値を伴う。次に、全ての入力値が単純に集約される。
【0006】
数学的には、
図1のニューラルネットワークは例えば次の方法で出力を算出する。
output=L
2(L
1(input))
ここで、
L
i(X)=N
i(B
i(X))
であり、式中、B
iは、例えば、層iのアフィン変換であり、N
iは、例えば、層iの何らかの非線形関数である。B
iの単純な例は、層iに関連付けられた重みパラメーター(エッジ重み)w
iと入力Xとの行列乗算である。
B
i(X)=w
i*X
演算子*は、行列乗算を示すものとする。
【0007】
いわゆる畳み込み層は、例えば、非特許文献1に記載されているように、それらを行列-行列積としてキャストすることによって使用することもできる。以降、所与の入力から出力を算出する手順を推論と称する。また、中間結果を、隠れ層又は隠れ活性化値と称し、これは、例えば上記の第1の内積+非線形性の算出等、線形変換+要素ごとの非線形性を構成する。
【0008】
以下では、ニューラルネットワークのバイアス及びバッチノルムについて説明する。ニューラルネットワーク層のアフィン変換のより高度な変形には、例えば以下のような、いわゆるバイアス及びバッチノルム演算が含まれる。
式1:
【数1】
式中、bはバイアスを示し、μ、σ
2、γ、及びβはバッチノルムパラメーターを示す。Wは、例えば、次元n×kを有する重み行列であり、Xは、例えば、次元k×mを有する入力行列である。バイアスb及びバッチノルムパラメーターμ、σ
2、γ、及びβは、例えば、長さnの転置ベクトルである。演算子*は、行列乗算を示す。ベクトルを有する行列に対する他の全ての演算(加算、乗算、除算)は、例えば、行列の列に対する要素ごとの演算であることに留意されたい。例えば、X・γは、Xの各列がγと要素ごとに乗算されることを意味する。
【0009】
εは、例えば、0による除算を避けるために必要な(または、有用な)小さなスカラー数(0.001等)である。ただし、0であってもよい。bの全てのベクトル要素が0に等しい場合、式1はバッチノルム層を指す。対照的に、ε並びにμ及びβの全てのベクトル要素が0に設定され、γ及びσ2の全ての要素が1に設定される場合、バッチノルムのない層(バイアスのみ)が処理される。
【0010】
通常、ニューラルネットワークは、例えば、数百万のパラメーターを含むため、その表現のために、例えば数百メガバイトを必要とし得る。したがって、その推論手順には、例えば、大きな行列間の多くの内積演算の計算が含まれるため、その実行には高い計算リソースが必要となる。したがって、これらの内積を実行する複雑性を低減することが非常に重要である。
【0011】
別の結果として、ニューラルネットワークパラメーターの符号化及び/又は復号化は困難である。例えば、ニューラルネットワークの何百万ものパラメーターを伝送するために、大きな伝送レートが必要となる場合がある。
【先行技術文献】
【非特許文献】
【0012】
【非特許文献1】“cuDNN: Efficient Primitives for Deep Learning” (Sharan Chetlur, et al.; arXiv: 1410.0759, 2014)
【発明の概要】
【発明が解決しようとする課題】
【0013】
したがって、圧縮、複雑さ、及び計算コストの間の良好な妥協を提供するニューラルネットワークパラメーターを符号化及び/又は復号化する改善された概念が必要である。
【課題を解決するための手段】
【0014】
これは、本出願の独立請求項の主題によって達成される。
【0015】
本発明による更なる実施の形態は、本出願の従属請求項の主題によって定義される。
【0016】
本発明による実施の形態は、ニューラルネットワークの重みパラメーターを復号化するデコーダーを含み、デコーダーは、符号化ビットストリームに基づいて、複数のニューラルネットワークパラメーター、例えば、ニューラルネットワークの行列Wの成分wi、b、μ、σ2、σ、γ、及び/又はβのうちの少なくとも1つを取得するように構成される。さらに、デコーダーは、コンテキスト依存算術復号化を使用して、例えば、コンテキスト適応型二値算術復号化(CABAC:context-dependent arithmetic decoding)を使用して、ニューラルネットワークパラメーター、例えば、ニューラルネットワークの行列Wの成分wi、又はb、又はμ、又はσ2、又はσ、又はγ、又はβ、例えば、ニューラルネットワークパラメーターの量子化バージョンを復号化するように構成される。任意選択で、ビン値の確率は、異なるコンテキストについて決定されてもよく、例えば、各ビンはコンテキストに関連付けられる。さらに、デコーダーは、1つ以上の確率推定パラメーター、例えば確率推定器パラメーター、例えばN、ai
k、bi
k、ak、di
k、A、mi
k、ni
k、shi
k、initVali
kを使用して、例えば1つ以上の以前に復号化されたニューラルネットワークパラメーター又はそのビンに基づいて、ニューラルネットワークパラメーターの数表現のビンの例えば算術復号化のために、例えばコンテキストに関連付けられ得る確率推定値、例えばP(t)又はpkを取得するように構成される。加えて、デコーダーは、異なるニューラルネットワークパラメーターの復号化のために異なる確率推定パラメーター値を使用するように、及び/又は異なるコンテキストモデル、例えばckに関連付けられたビンの復号化のために異なる確率推定パラメーター値を使用するように構成される。
【0017】
本発明による更なる実施の形態は、ニューラルネットワークの重みパラメーターを復号化するデコーダーを含み、デコーダーは、符号化ビットストリームに基づいて、複数のニューラルネットワークパラメーター、例えば、ニューラルネットワークの行列Wの成分wi、b、μ、σ2、σ、γ、及び/又はβのうちの少なくとも1つを取得するように構成される。さらに、デコーダーは、コンテキスト依存算術復号化を使用して、例えば、コンテキスト適応型二値算術復号化(CABAC)を使用して、ニューラルネットワークパラメーター、例えば、ニューラルネットワークの行列Wの成分wi、又はb、又はμ、又はσ2、又はσ、又はγ、又はβ、例えば、ニューラルネットワークパラメーターの量子化バージョンを復号化するように構成される。任意選択で、ビン値の確率は、異なるコンテキストについて決定されてもよく、例えば、各ビンはコンテキストに関連付けられる。さらに、デコーダーは、1つ以上の確率推定パラメーター、例えば確率推定器パラメーター、例えばN、ai
k、bi
k、ak、di
k、A、mi
k、ni
k、shi
k、initVali
kを使用して、例えば1つ以上の以前に復号化されたニューラルネットワークパラメーター又はそのビンに基づいて、ニューラルネットワークパラメーターの数表現のビンの例えば算術復号化のために、例えばコンテキストに関連付けられ得る確率推定値、例えばP(t)又はpkを取得するように構成される。加えて、デコーダーは、ニューラルネットワークの異なる層に関連付けられたニューラルネットワークパラメーターの復号化のために異なる確率推定パラメーター値を使用するように構成される。
【0018】
本発明による実施の形態は、ニューラルネットワークの重みパラメーターを符号化するエンコーダーを含み、エンコーダーは、複数のニューラルネットワークパラメーター、例えば、ニューラルネットワークの行列Wの成分wi、b、μ、σ2、σ、γ、及び/又はβのうちの少なくとも1つを取得するように構成される。さらに、エンコーダーは、コンテキスト依存算術符号化を使用して、例えば、コンテキスト適応型二値算術符号化(CABAC)を使用して、ニューラルネットワークパラメーター、例えば、ニューラルネットワークの行列Wの成分wi、又はb、又はμ、又はσ2、又はσ、又はγ、又はβ、例えば、その量子化バージョンを符号化するように構成される。任意選択で、ビン値の確率は、異なるコンテキストについて決定されてもよく、例えば、各ビンはコンテキストに関連付けられる。加えて、エンコーダーは、1つ以上の確率推定パラメーター、例えば確率推定器パラメーター、例えばN、ai
k、bi
k、ak、di
k、A、mi
k、ni
k、shi
k、initVali
kを使用して、例えば1つ以上の以前に符号化されたニューラルネットワークパラメーター又はそのビンに基づいて、ニューラルネットワークパラメーターの数表現のビンの任意選択で算術符号化のために、例えばコンテキストに関連付けられ得る確率推定値、例えばP(t)又はpkを取得するように構成される。さらに、エンコーダーは、異なるニューラルネットワークパラメーターの符号化のために異なる確率推定パラメーター値を使用するように、及び/又は異なるコンテキストモデル、例えばckに関連付けられたビンの符号化のために異なる確率推定パラメーター値を使用するように構成される。
【0019】
本発明による更なる実施の形態は、ニューラルネットワークの重みパラメーターを符号化するエンコーダーを含み、エンコーダーは、複数のニューラルネットワークパラメーター、例えば、ニューラルネットワークの行列Wの成分wi、b、μ、σ2、σ、γ、及び/又はβを取得するように構成される。さらに、エンコーダーは、コンテキスト依存算術符号化を使用して、例えば、コンテキスト適応型二値算術符号化(CABAC)を使用して、ニューラルネットワークパラメーター、例えば、ニューラルネットワークの行列Wの成分wi、又はb、又はμ、又はσ2、又はσ、又はγ、又はβ、例えば、その量子化バージョンを符号化するように構成される。任意選択で、ビン値の確率は、異なるコンテキストについて決定されてもよく、例えば、各ビンはコンテキストに関連付けられる。さらに、エンコーダーは、1つ以上の確率推定パラメーター、例えば確率推定器パラメーター、例えばN、ai
k、bi
k、ak、di
k、A、mi
k、ni
k、shi
k、initVali
kを使用して、例えば1つ以上の以前に符号化されたニューラルネットワークパラメーター又はそのビンに基づいて、ニューラルネットワークパラメーターの数表現のビンの任意選択で算術符号化のために、例えばコンテキストに関連付けられ得る確率推定値、例えばP(t)又はpkを取得するように構成される。加えて、エンコーダーは、ニューラルネットワークの異なる層に関連付けられたニューラルネットワークパラメーターの符号化のために異なる確率推定パラメーター値を使用するように構成される。
【0020】
本発明による実施の形態は、ニューラルネットワークの重みパラメーターを復号化する方法を含み、方法は、符号化ビットストリームに基づいて、複数のニューラルネットワークパラメーター、例えば、ニューラルネットワークの行列Wの成分wi、b、μ、σ2、σ、γ、及び/又はβのうちの少なくとも1つを取得することを含み、方法は、コンテキスト依存算術復号化を使用して、例えば、コンテキスト適応型二値算術復号化(CABAC)を使用して、ニューラルネットワークパラメーター、例えば、ニューラルネットワークの行列Wの成分wi、又はb、又はμ、又はσ2、又はσ、又はγ、又はβ、例えば、ニューラルネットワークパラメーターの量子化バージョンを復号化することを含む。任意選択で、ビン値の確率は、異なるコンテキストについて決定され、例えば、各ビンはコンテキストに関連付けられ得る。さらに、本方法は、1つ以上の確率推定パラメーター、例えば確率推定器パラメーター、例えばN、ai
k、bi
k、ak、di
k、A、mi
k、ni
k、shi
k、initVali
kを使用して、例えば1つ以上の以前に復号化されたニューラルネットワークパラメーター又はそのビンに基づいて、ニューラルネットワークパラメーターの数表現のビンの例えば算術復号化のために、例えばコンテキストに関連付けられ得る確率推定値、例えばP(t)又はpkを取得することを含む。加えて、本方法は、異なるニューラルネットワークパラメーターの復号化のために異なる確率推定パラメーター値を使用すること、及び/又は異なるコンテキストモデル、例えばckに関連付けられたビンの復号化のために異なる確率推定パラメーター値を使用することを含む。
【0021】
本発明による更なる実施の形態は、ニューラルネットワークの重みパラメーターを復号化する方法を含み、方法は、符号化ビットストリームに基づいて、複数のニューラルネットワークパラメーター、例えば、ニューラルネットワークの行列Wの成分wi、b、μ、σ2、σ、γ、及び/又はβのうちの少なくとも1つを取得することを含む。さらに、本方法は、コンテキスト依存算術復号化を使用して、例えば、コンテキスト適応型二値算術復号化(CABAC)を使用して、ニューラルネットワークパラメーター、例えば、ニューラルネットワークの行列Wの成分wi、又はb、又はμ、又はσ2、又はσ、又はγ、又はβ、例えば、ニューラルネットワークパラメーターの量子化バージョンを復号化することを含む。任意選択で、ビン値の確率は、異なるコンテキストについて決定されてもよく、例えば、各ビンはコンテキストに関連付けられる。さらに、本方法は、1つ以上の確率推定パラメーター、例えば確率推定器パラメーター、例えばN、ai
k、bi
k、ak、di
k、A、mi
k、ni
k、shi
k、initVali
kを使用して、例えば1つ以上の以前に復号化されたニューラルネットワークパラメーター又はそのビンに基づいて、ニューラルネットワークパラメーターの数表現のビンの例えば算術復号化のために、例えばコンテキストに関連付けられ得る確率推定値、例えばP(t)又はpkを取得することを含む。加えて、本方法は、ニューラルネットワークの異なる層に関連付けられたニューラルネットワークパラメーターの復号化のために異なる確率推定パラメーター値を使用することを含む。
【0022】
本発明による実施の形態は、ニューラルネットワークの重みパラメーターを符号化する方法を含み、方法は、複数のニューラルネットワークパラメーター、例えば、ニューラルネットワークの行列Wの成分wi、b、μ、σ2、σ、γ、及び/又はβのうちの少なくとも1つを取得することを含む。さらに、本方法は、コンテキスト依存算術符号化を使用して、例えば、コンテキスト適応型二値算術符号化(CABAC)を使用して、ニューラルネットワークパラメーター、例えば、ニューラルネットワークの行列Wの成分wi、又はb、又はμ、又はσ2、又はσ、又はγ、又はβ、例えば、ニューラルネットワークパラメーターの量子化バージョンを符号化することを含む。任意選択で、ビン値の確率は、異なるコンテキストについて決定してもよく、例えば、各ビンはコンテキストに関連付けられ得る。さらに、本方法は、1つ以上の確率推定パラメーター、例えば確率推定器パラメーター、例えばN、ai
k、bi
k、ak、di
k、A、mi
k、ni
k、shi
k、initVali
kを使用して、例えば1つ以上の以前に符号化されたニューラルネットワークパラメーター又はそのビンに基づいて、ニューラルネットワークパラメーターの数表現のビンの例えば算術符号化のために、例えばコンテキストに関連付けられ得る確率推定値、例えばP(t)又はpkを取得することを含む。加えて、本方法は、異なるニューラルネットワークパラメーターの符号化のために異なる確率推定パラメーター値を使用すること、及び/又は異なるコンテキストモデル、例えばckに関連付けられたビンの符号化のために異なる確率推定パラメーター値を使用することを含む。
【0023】
本発明による更なる実施の形態は、ニューラルネットワークの重みパラメーターを符号化する方法を含み、方法は、複数のニューラルネットワークパラメーター、例えば、ニューラルネットワークの行列Wの成分wi、b、μ、σ2、σ、γ、及び/又はβのうちの少なくとも1つを取得することを含む。さらに、本方法は、コンテキスト依存算術符号化を使用して、例えば、コンテキスト適応型二値算術符号化(CABAC)を使用して、ニューラルネットワークパラメーター、例えば、ニューラルネットワークの行列Wの成分wi、又はb、又はμ、又はσ2、又はσ、又はγ、又はβ、例えば、ニューラルネットワークパラメーターの量子化バージョンを符号化することを含む。任意選択で、ビン値の確率は、異なるコンテキストについて決定してもよく、例えば、各ビンはコンテキストに関連付けられ得る。さらに、本方法は、1つ以上の確率推定パラメーター、例えば確率推定器パラメーター、例えばN、ai
k、bi
k、ak、di
k、A、mi
k、ni
k、shi
k、initVali
kを使用して、例えば1つ以上の以前に符号化されたニューラルネットワークパラメーター又はそのビンに基づいて、ニューラルネットワークパラメーターの数表現のビンの例えば算術符号化のために、例えばコンテキストに関連付けられ得る確率推定値、例えばP(t)又はpkを取得することを含む。加えて、本方法は、ニューラルネットワークの異なる層に関連付けられたニューラルネットワークパラメーターの符号化のために異なる確率推定パラメーター値を使用することを含む。
【0024】
本発明による実施の形態は、コンピュータープログラムであって、該コンピュータープログラムがコンピューター上で動作するときに本発明による方法を実行する、コンピュータープログラムを含む。
【0025】
本発明による実施の形態は、ニューラルネットワークの重みパラメーターの符号化表現を含み、該符号化表現は、ニューラルネットワークの複数の符号化重みパラメーターと、符号化重みパラメーターの算術復号化のコンテキストの適応のための確率推定の特性を決定する1つ以上の確率推定パラメーターの符号化表現とを含む。
【0026】
本発明の実施の形態の主要な概念をより良く理解するために、以下では、本発明によるニューラルネットワークパラメーターの符号化及び復号化の更なる任意選択の態様が開示される。第1に、とりわけ、実施の形態によるパラメーターの効率的な表現が開示される。以下で説明される詳細は任意選択である。
【0027】
パラメーターW、b、μ、σ2、γ、及びβは、層のパラメーター又は層パラメーターと総称され得る。これらのパラメーターのうちの1つ以上は、前述したように、ニューラルネットワークパラメーターの例であり得る。それらは通常、ビットストリームにおいて(例えば、ニューラルネットワークがビデオデコーダーにおいて使用される場合、例えば、符号化されたビデオ表現において)シグナリングされる必要がある。例えば、それらは32ビットの浮動小数点数として表すことができ、又は例えば、量子化インデックスとしても示される整数表現に量子化することができる。εは通常、ビットストリーム中でシグナリングされないことに留意されたい。
【0028】
例えば、かかるパラメーターを符号化するための特に効率的な手法では、例えば、各値がいわゆる量子化ステップサイズ値の整数倍として表される、一様再構成量子化器(URQ:uniform reconstruction quantizer)が用いられる。対応する浮動小数点数は、例えば、整数に量子化ステップサイズを乗算することによって再構成することができ、量子化ステップサイズは、通常(必ずしもそうではないが)単一の浮動小数点数である。しかしながら、例えば、ニューラルネットワーク推論のための効率的な実施態様(すなわち、入力に対するニューラルネットワークの出力を計算すること)では、可能な限り整数演算が採用されている。したがって、パラメーターを浮動小数点表現に再構成することを要求することは望ましくない場合がある。
【0029】
パラメーターを符号化するための別の効率的な手法では、量子化器のセットが適用され、各値は、例えば、量子化ステップサイズ値の整数倍として表される。通常、例えば、集合内の各量子化器は、適用可能な再構成値として量子化ステップサイズパラメーターの整数倍の互いに素な集合を使用するが、2つ以上の量子化器が1つ以上の再構成値を共有してもよい。適用される量子化器は、例えば、符号化順で前の量子化インデックスの値に依存する。対応する浮動小数点数は、例えば、整数に量子化ステップサイズを乗算することによって再構成することができ、量子化ステップサイズは、通常、例えば、選択された量子化器に依存する浮動小数点数である。かかる量子化器の設計の一例は、トレリス符号化量子化(TCQ:trellis coded quantization)であり、これは、従属量子化(DQ:dependent quantization)とも称される。
【0030】
好ましい実施の形態では、2つの量子化器のセットが使用される。第1の量子化器は、例えば、0を含む量子化ステップサイズの全ての偶数倍を使用し、第2の量子化器は、0を含む量子化ステップサイズの全ての偶数倍を使用する。
【0031】
次に、とりわけ、実施の形態によるエントロピー符号化及び確率推定が開示される。以下で説明される詳細は、任意選択であり、特に、パラメーターの効率的な表現に関して、上記で説明された特徴と組み合わせ可能である。
【0032】
例えば上述したような量子化方法によって出力された量子化インデックスは、適切なエントロピー符号化方法を用いてエントロピー符号化されてもよい。
【0033】
かかる量子化インデックスを符号化するための特に適切なエントロピー符号化方法は、CABACとも表されるコンテキストベース適応型二値算術符号化(Context-based Adaptive Binary Arithmetic Coding)である。これにより、各量子化インデックスは、例えば、二値決定のシーケンス、いわゆるビンに分解される。通常、例えば、各ビンは、コンテキストモデルとも称される確率モデルに関連付けられ、該コンテキストモデルは、例えば確率推定方法を使用して、関連付けられたビンの統計をモデル化する。
【0034】
確率推定器は、例えば、確率推定器に関連する既に符号化されたビンに基づいて、ビンがxに等しい確率P(t)をモデル化する装置であり、ここで、x∈{0,1}である。P(t)は、確率推定値の一例であり得る。
【0035】
次に、例えば典型的な推定器の設計について説明する。推定器の設計の詳細は、本発明による実施の形態の任意選択の特徴であり、特に、上記で説明した特徴を含む実施の形態と組み合わせることができる。
【0036】
最初に、ニューラルネットワーク圧縮に適用される典型的な推定器の設計について説明する。
【0037】
例えば、各コンテキストモデルckについて、1つ以上の状態変数s1
k,...,sN
kがN≧1で維持される。各状態変数si
kは、例えば、符号付き整数値として実装され、例えば、確率値P(si
k,i,k)=pi
kを表す。コンテキストモデルckの確率推定値pkは、例えば、コンテキストモデルの全ての状態変数の確率値pi
kの加重和として定義されるものとする。
【0038】
状態変数は、以下の特性を有することが好ましいが、必ずしもそうである必要はない。
1.si
k=0である場合、pi
k=0.5である。
2.si
kのより大きな値は、より大きなpi
kに対応する。
3.P(-si
k,i,k)=1-P(si
k,i,k)。
【0039】
したがって、負の状態変数は、例えば、pi
k<0.5に対応することができる。概して、各コンテキストモデルの各状態変数に対して異なる関数P(・)を指定することが可能である。
【0040】
次に、状態変数と確率値とを関連付ける構成例について説明する。状態の関連付けの詳細は、本発明による実施の形態の任意選択の特徴であり、特に、上記で説明した特徴を含む実施の形態と組み合わせることができる。
【0041】
状態変数を確率値に関連付ける、すなわちP(・)を実装する多くの有用な方法が存在する。例えば、ニューラルネットワーク圧縮で使用される状態表現は、以下の式で達成することができる。
【数2】
β
i
kは重み係数である。
αは、0<α<1のパラメーターである。
【0042】
例えば、2つの状態(N=2,s1
k,s2
k)を使用する、マルチメディアコンテンツ記述及び分析のためのニューラルネットワークの圧縮のためのMPEG-7パート17規格の現在のドラフトで使用されるものに匹敵する構成を達成するために、α≒0.99894079並びに全てのkに対してβ1
k=16及びβ2
k=1を設定する。
【0043】
この例示的な構成は、状態変数がどのように定義され得るかについての何らかの洞察を与えるものである。以下に見られるように、一般に、P(・)は直接使用されないので定義する必要はない。むしろ、個々の部分の実際の実施態様の結果として得られることが多い。
【0044】
次に、状態変数の初期化について説明する。初期化の詳細は、本発明による実施の形態の任意選択の特徴であり、特に、上記で説明した特徴を含む実施の形態と組み合わせることができる。
【0045】
コンテキストモデルを用いて第1のシンボルを符号化又は復号化する前に、全ての状態変数は、initVali
kとして示される同じ値で初期化され、これは、任意選択で、例えば、圧縮アプリケーションに最適化することができる。
【0046】
次に、状態変数からの確率推定値の導出について説明する。導出の詳細は、本発明による実施の形態の任意選択の特徴であり、特に、上記で説明した特徴を含む実施の形態と組み合わせることができる。
【0047】
シンボルの符号化又は復号化のために、コンテキストモデルの状態変数から確率推定値が導出される。例として、3つの代替的な手法を以下に提示する。手法1は、手法2及び手法3よりも正確な結果をもたらすが、計算の複雑さも高くなる。
【0048】
手法1(例)
この手法は2つのステップからなる。まず、コンテキストモデルの各状態変数si
kが確率値pi
kに変換される。次に、確率推定値pkが、確率値pi
kの加重和として導出される。
【0049】
ステップ1:
ルックアップテーブルLUT1は、例えば式(1)に従って、状態変数s
i
kを対応する確率値p
i
kに変換するために使用される。
【数3】
LUT1は、確率値を含むルックアップテーブルである。a
i
kは、s
i
kをLUT1のサイズに適応させる重み係数である。
【0050】
ステップ2:
確率推定値p
kは、例えば次式に従って、確率値p
i
kから導出される。
【数4】
b
i
kは、個々の状態変数の影響を制御する重み係数である。
【0051】
手法2(例)
状態変数から確率推定値を導出するための代替的な手法を以下に示す。該手法では、精度の低い結果が得られ、計算の複雑さが低くなる。最初に、状態変数の加重和s
kが、例えば、次式に従って導出される。
【数5】
d
i
kは、各状態変数の影響を制御する重み係数である。
【0052】
次に、確率推定値p
kは、状態変数s
kの加重和から、例えば次式に従って導出される。
【数6】
LUT2は、確率推定値を含むルックアップテーブルであり、a
kは、s
kをLUT2のサイズに適応させる重み係数である。
【0053】
手法3(例)
状態変数から確率推定値を導出するための更に別の手法を以下に提示する。まず、状態変数の重み付き和s
kを、例えば手法2のように導出する。次に、確率推定値p
kは、状態変数s
kの加重和から、例えば次式に従って導出される。
【数7】
LUT2は、確率推定値を含むルックアップテーブルである。
【0054】
手法4(例)
更なる手法では、状態値と確率P(x,i,k)との間の線形関係が用いられる。確率推定値の導出は、例えば、式(2)の手法を使用する。手法4の一例は、汎用ビデオ符号化(VVC:Versatile Video Coding)の現在のドラフトで使用されている確率推定方式である。
【0055】
例えば、マルチメディアコンテンツの記述及び分析のためのニューラルネットワークの圧縮のためのMPEG-7パート17規格の現在のドラフトで使用される構成を達成するために、手法3の方法が、例えば、全てのkについてd1
k=16、d2
k=1、及びak=2-7を用いて使用される。確率推定値を含むルックアップテーブルは、例えば、以下の通りである。
【0056】
LUT2={0.5000,0.4087,0.3568,0.3116,0.2721,0.2375,0.2074,0.1811,
0.1581,0.1381,0.1206,0.1053,0.0919,0.0803,0.0701,0.0612,
0.0534,0.0466,0.0407,0.0356,0.0310,0.0271,0.0237,0.0207,
0.0180,0.0158,0.0138,0.0120,0.0105,0.0092,0.0080,0.0070}
【0057】
次に、状態変数の更新について説明する。更新の詳細は、本発明による実施の形態の任意選択の特徴であり、特に、上記で説明した特徴を含む実施の形態と組み合わせることができる。
【0058】
シンボルの符号化又は復号化の後、コンテキストモデルの1つ以上の状態変数は、シンボルシーケンスの統計的挙動を追跡するために更新され得る。
【0059】
更新は、例えば、以下のように行われる。
【数8】
Aは、例えば整数値を格納するルックアップテーブルである。m
i
k及びn
i
kは、例えば、更新の「アジリティ(agility)」を制御する重み係数である。係数n
i
kは、例えば、
【数9】
に従って記述することができ、ここで、sh
i
kは適応パラメーターとしても示される。zは、例えば、ルックテーブルAが負でない値でのみアクセスされることを保証するオフセットである。
【0060】
ルックアップテーブルA内の値は、例えば、si
kが特定の所与の間隔内に留まるように選択することができる。通常、ルックアップAの値は、例えば更新関数に近似している。代替的に、例えば、状態更新のために関連する更新関数を単に使用することも可能である。
【0061】
例えば、手法4に従うVVCの推定方法は、状態更新のための更新関数を適用し、ビットシフトを使用するものであり、該ビットシフトにより、例えば更新の「アジリティ」が決定される。これは、例えば、上述の適応パラメーターに対応する。本発明の実施の形態(下記参照、例えば、実施の形態の主要な概念に従って後述する)は、同様にそれらに適用され得る。
【0062】
例えば、マルチメディアコンテンツの記述及び分析のためのニューラルネットワークの圧縮のためのMPEG-7パート17規格の現在のドラフトで使用される構成を達成するために、パラメーターは、例えば、全てのkに対して、m1
k=2-3、m2
k=2-7及びn1
k=2-1、n2
k=1、並びにz=16となるように選択される。ルックアップテーブルAは、例えば、A={157,143,129,115,101,87,73,59,45,35,29,23,17,13,9,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0}である。
【0063】
シンボルを符号化する前に、s1
kは、例えば、間隔[-127,127]からの値で初期化されるものとし、s2
kは、例えば、間隔[-2047,2047]からの値で初期化されるものとする。その結果、s1
kは、例えば、8ビットの符号付き整数値で実装することができ、s2
kは、例えば、12ビットの符号付き整数で実装することができる。
【0064】
上記の例で説明したように、確率推定器は、確率推定器パラメーター又は推定器パラメーター(又は確率推定パラメーター)と称される一部のパラメーターを有し、これらのパラメーターは、確率推定値、例えば適応レートに影響を与える。通常、これらの推定器パラメーターは、適用シナリオ、例えば、ニューラルネットワークパラメーターの符号化に応じて、グローバルに選択される。したがって、例えば、ニューラルネットワーク符号化では、各ニューラルネットワークパラメーターは、推定器パラメーターの同じ集合を適用する。しかし、本発明者らは、現在のニューラルネットワークパラメーターに対して最適化された推定器パラメーターを選択することによって圧縮効率が改善され得ることを見出した。したがって、一態様によれば、基本的な着想は、パラメーターの集合から適切な推定器パラメーターを選択し、次いで、推定器パラメーターがデコーダーにシグナリングされることである。
【0065】
換言すれば、本発明による(例えば、独立請求項によって定義されるような)実施の形態は、ニューラルネットワークパラメーター又はエンティティ、例えば、ニューラルネットワークパラメーターに関連付けられた異なるコンテキストに関連付けられたビンの復号化及びそれぞれの符号化のために異なる確率推定パラメーター値を使用するという着想に基づく。確率推定パラメーター又は確率パラメーター推定値の基集合(base set)から1つの固定されたインスタンスを使用する代わりに、確率推定パラメーター値の適合的な、又は例えば最適な個々の選択が実行されてもよい。確率推定値の選択は、任意の適切な基準、例えば、それぞれ、或る特定のニューラルネットワークパラメーターの事前に既知の特性、或る特定のニューラルネットワークパラメーターのコンテキストモデルの確率的特徴、又はニューラルネットワークパラメーターのビンの確率的特徴に基づいて実行され得る。例えば、異なるニューラルネットワークパラメーターは、異なる相関特性を含んでもよく、これらの異なる相関特性への確率推定パラメーターの適応により、符号化効率を向上させ得ることが認識されている。例えば、ニューラルネットワークによって実現される機能によって、ニューラルネットワークの隣接するブランチ又はエッジ間の相関強度(ニューラルネットワークパラメーター)が異なる場合がある。また、ニューラルネットワークのエッジ(又はブランチ)間の相関関係の拡張も異なり得る。本発明の一態様によれば、確率推定パラメーター値は、ニューラルネットワークの相関特性(相関強度/相関の拡張)に(例えば、動的に、例えば、単一のニューラルネットの異なるニューラルネットワークパラメーターの符号化の間で)適応し、それにより、特に効率的な符号化をもたらすことができる。別の例として、ニューラルネットワークの異なる層に関連付けられたニューラルネットワークパラメーターの相関特性は、場合によっては実質的に異なることが認識されている。例えば、ニューラルネットワークの異なる層が異なるサイズ(又は幅)の畳み込みを反映する場合、これは、異なるニューラルネットワーク層のニューラルネットワークパラメーターの符号化又は復号化のために異なる確率推定パラメーター値を使用することによって達成され、その結果、符号化効率を向上させることができる。
【0066】
結論として、異なるニューラルネットワークパラメーターを符号化又は復号化するとき、又は異なるコンテキストモデルに関連付けられたビンを符号化又は復号化するときに異なる確率推定パラメーターを使用すると、符号化効率、複雑さ、及びリソース使用量の間のトレードオフが改善されることが分かっている。例えば、実際に使用される確率推定パラメーター値のシグナリング(又は動的シグナリング)に必要とされ得るオーバーヘッドは、符号化効率の増加によって過剰補償され得ることが認識されている。
【0067】
本発明の実施の形態による第2の態様は、確率推定パラメーターの符号化及び/又は復号化が、ニューラルネットワークパラメーターの符号化及び/又は復号化と同様のステップ又は同等のステップを含み得ることである。
【0068】
本発明者らは、確率推定パラメーター、例えば確率推定器及び/又はコンテキストモデルに関係する全てのパラメーターが適応的に選択される場合、符号化/復号化性能が改善され得ることを認識した。確率推定器パラメーターは、ニューラルネットワークパラメーターと類似のステップを使用して符号化/復号化することができる。例えば、確率推定パラメーター、又は確率パラメーターを表す整数インデックスqは、ビンのシーケンス、例えばビンgreaterThan_0、greaterThan_1、...、及びニューラルネットワークパラメーターに類似したコンテキストモデルを使用して符号化/復号化されてもよい。
【0069】
換言すれば、デコーダーについてはその逆となり、本発明の実施の形態によるデコーダーは、符号化ビットストリームを取得することができ、ビットストリームはニューラルネットワークパラメーターを含む。ニューラルネットワークパラメーターは、ビンのシーケンスとしてビットストリーム中で符号化され得る。これらのビンは、コンテキスト依存算術復号化、例えば、ニューラルネットワークパラメーターを表すビンをビットストリームに符号化するために使用されるのと同じコンテキスト依存算術符号化の方法を使用して復号化され得る。したがって、デコーダーは、1つ以上の確率推定パラメーター、例えば、前述の確率推定器パラメーターのうちの少なくとも1つ、例えば、N、ai
k、bi
k、ak、di
k、A、mi
k、ni
k、shi
k、initVali
kのうちの少なくとも1つを含む確率推定器を使用して確率推定値を取得するように構成される。デコーダーは、次いで、異なるニューラルネットワークパラメーターの復号化のために異なる確率推定パラメーター値を、及び/又は異なるコンテキストモデル、例えばckに関連付けられたビンの復号化のために異なる確率推定パラメーター値を使用してもよい。さらに、デコーダーは、ニューラルネットワークの異なる層に関連付けられたニューラルネットワークパラメーターの復号化のために異なる確率推定パラメーター値を使用することができる。ニューラルネットワークパラメーター、例えば、それらのビンの層又はコンテキストモデルの或る特定の特性に従って確率推定パラメーター値を適応させることによって、復号化及び符号化の効率を向上させることができる。
【0070】
換言すれば、一態様によれば、パラメーター、すなわち、N、ai
k、bi
k、ak、di
k、A、mi
k、ni
k、shi
k、initVali
k及び/又は確率推定器、例えばコンテキストモデルに関係する任意の他のパラメーターは、確率推定器パラメーター又は推定器パラメーター(又は確率推定パラメーター)と総称され得る。
【0071】
通常、例えば、各推定器パラメーターに対して、確率推定器パラメーターの基集合から1つの固定されたインスタンスがネットワーク全体に対して選択される。基集合の値は、適用される状態の数Nに従って、N組(N-tuple)の推定器パラメーターであり得る。本発明の一態様によれば、確率推定、したがって圧縮効率は、例えば、パラメーターが、層(すなわち、W、b、μ、σ2、γ、及びβ)及び/又はコンテキストモデルckの各パラメーター又はパラメーターの部分集合に対して個々に選択される場合に改善され得る。
【0072】
使用される推定器パラメーターは、例えば、パラメーターの集合のパラメーターの中から決定され、パラメーターの集合は、例えば、基集合又は基集合の任意の部分集合であり得る。この集合の各パラメーターは、例えば、整数インデックスqに関連付けられ得る。例えば、集合の1つのパラメーターがデフォルトパラメーターとして示されてもよい。通常、デフォルトパラメーターは、例えば、0に等しい整数インデックスに関連付けられる。選択された推定器パラメーターに関連付けられたインデックスは、次いで、例えば、デコーダーにシグナリングされる。
【0073】
本発明の実施の形態によれば、デコーダーは、基集合から、又は基集合の真の部分集合から、1つ以上の確率推定パラメーターを選択するように構成される。任意選択で、基集合は、1つ以上の確率推定パラメーターに関連付けられた複数の使用可能なパラメーター値を含むことができ、又は基集合は、複数の確率推定パラメーターに関連付けられた使用可能なパラメーター値の複数のタプル、例えば、使用可能な対のリスト(sh1
k,sh2
k)を含むことができる。
【0074】
確率推定パラメーターの部分集合又は更には真の部分集合を提供することによって、例えば1つ以上の基準に関して選択しやすい、許容可能な確率推定パラメーターの対、タプル及び/又は集合が提供され得る。例えば、ニューラルネットワークの或る特定の層によれば、部分集合は、改善された復号化効率を提供する確率推定パラメーターを選択するために、例えば層IDを事前に定義されたリストと単に比較することによって、低い計算労力で選択されてもよい。加えて、かかる部分集合の選択は、或る特定の種類の量子化に従って実行され得る。部分集合を提供することによって、多大な割り当て労力を伴うことなく、有利な確率推定パラメーターを提供することができる。複数の条件、例えば各確率推定パラメーターについて1つの条件をチェックする代わりに、1つのチェック、例えば層ID又はニューラルネットワークパラメーターのビンのコンテキストモデルと所定のリスト又は基準との前述の比較を行い、それに基づいて確率推定パラメーター又は確率推定パラメーター値の集合全体を選択することができる。また、基集合を提供することによって、例えば、実際のパラメーター値ではなく、基集合のインデックスをシグナリングすることで十分となり得るため、シグナリングの労力が軽減される。
【0075】
本発明の実施の形態によれば、デコーダーは、量子化モードに応じて、使用可能なパラメーター値の異なる集合又はパラメーター値の使用可能なタプルの異なる集合から1つ以上の確率推定パラメーターを選択するように構成され、又はデコーダーは、量子化モードに応じて、1つ以上の確率推定パラメーターを表す符号化値、例えば符号化インデックス値qを1つ以上の確率推定パラメーター、例えばshi
kにマッピングする、異なるマッピング規則、例えば異なるマッピングテーブルを使用するように構成される。
【0076】
任意選択で、デコーダーは、第1の量子化モード、例えば一様量子化URQが使用される場合に使用可能なパラメーター値の第1の集合又はパラメーター値の使用可能なタプルの第1の集合から1つ以上の確率推定パラメーターを選択することができ、デコーダーは、第2の量子化モード、例えば従属量子化DQが使用される場合に使用可能なパラメーター値の第2の集合から1つ以上の確率推定パラメーターを選択することができる。
【0077】
任意選択で、使用可能なパラメーターの集合により、例えば、符号化ビットストリームに含まれるインデックス値と、関連する確率推定パラメーター又は確率推定パラメーターの関連するタプルとの間の異なる関連付けを定義することができ、例えば、使用可能なパラメーターの第1の集合は、確率推定パラメーターの第1のタプルへの所与のインデックス値のマッピングを定義し、例えば、使用可能なパラメーターの第2の集合は、第1のタプルとは異なる確率推定パラメーターの第2のタプルへの所与のインデックス値のマッピングを定義する。
【0078】
異なる量子化モードは、ニューラルネットワークパラメーターの異なる確率的特性(例えば、相関)を引き起こす可能性があり、したがって、量子化方法に従って確率推定パラメーターの選択を適応させることによって、改善された確率推定(及びその結果として改善された符号化効率)が達成され得ることが認識されている。
【0079】
本発明の実施の形態によれば、デコーダーは、1つ以上の確率推定パラメーターの一様量子化、例えば一様再構成量子化(URQ)又は時不変量子化が使用される場合に、使用可能なパラメーター値の第1の集合から、又はパラメーター値の使用可能なタプルの第1の集合から1つ以上の確率推定パラメーターを抜粋して選択するように構成され、デコーダーは、1つ以上の確率推定パラメーターの可変量子化、例えばトレリス符号化量子化(TCQ)又は依存量子化(DQ)が使用される場合に、使用可能なパラメーター値の第2の集合から、又はパラメーター値の使用可能なタプルの第2の集合から1つ以上の確率推定パラメーターを抜粋して選択するように構成され、ここで、例えば、DQのような可変量子化は、可変量子化の場合にコンテキストモデルごとに復号化されるビンが少なくなり得るように、一様量子化よりも多くのコンテキストモデルを使用することができる。
【0080】
代替的に、デコーダーは、1つ以上の確率推定パラメーターの一様量子化、例えば一様再構成量子化(URQ)又は時不変量子化が使用される場合に、1つ以上の確率推定パラメーターを表す符号化値、例えば符号化インデックス値qを1つ以上の確率推定パラメーター、例えばshi
kにマッピングする第1のマッピング規則、例えば第1のマッピングテーブルを使用するように構成される。
【0081】
加えて、デコーダーは、1つ以上の確率推定パラメーターの可変量子化、例えばトレリス符号化量子化(TCQ)又は依存量子化(DQ)が使用される場合に、1つ以上の確率推定パラメーターを表す符号化値、例えば符号化インデックス値qを1つ以上の確率推定パラメーターにマッピングする第2のマッピング規則、例えば第2のマッピングテーブルを使用するように構成することができる。任意選択で、DQのような可変量子化は、可変量子化の場合にコンテキストモデルごとに復号化されるビンがより少なくなり得るように、一様量子化よりも多くのコンテキストモデルを使用することができる。
【0082】
さらに、使用可能なパラメーター値の第1の集合は、使用可能なパラメーター値の第2の集合とは異なり、パラメーター値の使用可能なタプルの第1の集合は、パラメーター値の使用可能なタプルの第2の集合とは異なり、及び/又は第2のマッピング規則は、第1のマッピング規則とは異なる。
【0083】
したがって、本発明による概念は、任意の形態の量子化に適用することができ、或る特定の種類の量子化に限定されない。さらに、ニューラルネットワークパラメーターの特性に従って、量子化の種類並びに確率推定パラメーターの使用される集合及び/又はマッピングを適応させることができる。したがって、自由度が高いだけでなく、符号化効率も向上させることができる。
【0084】
本発明の更なる実施の形態によれば、平均して、使用可能なパラメーター値の第2の集合のうちの使用可能なパラメーター値、又は例えば第2のマッピング規則の使用可能なパラメーター値は、使用可能なパラメーター値の第1の集合のうちの使用可能なパラメーター値、又は例えば第1のマッピング規則の使用可能なパラメーター値よりも、例えばビン値の頻度の変化に対して、確率推定値のより高速な適応を可能にする。代替的に、平均して、パラメーター値の使用可能なタプルの第2の集合のパラメーター値の使用可能なタプル、又は例えば第2のマッピング規則の使用可能なタプルは、パラメーター値の使用可能なタプルの第1の集合のパラメーター値の使用可能なタプル、又は例えば第1のマッピング規則の使用可能なタプルよりも、例えばビン値の頻度の変化に対して、確率推定値のより高速な適応を可能にする。
【0085】
本実施の形態は、かかる概念により符号化効率が向上するという知見に基づくものである。
【0086】
本発明の更なる実施の形態によれば、使用可能なパラメーター値の第2の集合、又は例えば第2のマッピング規則は、使用可能なパラメーター値の第1の集合、又は例えば第1のマッピング規則の使用可能なパラメーター値、又は例えば全ての使用可能なパラメーター値よりも、例えばビン値の頻度の変化に対して、確率推定値のより高速な適応を可能にする使用可能なパラメーター値を含む。代替的に、パラメーター値の使用可能なタプルの第2の集合は、パラメーター値の使用可能なタプルの第1の集合のパラメーター値の使用可能なタプルよりも、又は例えば全ての使用可能なタプルよりも、例えばビン値の頻度の変化に対して、確率推定値のより高速な適応を可能にするパラメーター値の使用可能なタプルを含む。
【0087】
本実施の形態は、かかる概念により符号化効率が向上するという知見に基づくものである。
【0088】
本発明の更なる実施の形態によれば、デコーダーは、ニューラルネットワークの層のパラメーターの数に応じて、又は選択された1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの数に応じて、又は層パラメーターの要素の数、例えば行列Wの成分の数、若しくは(転置)ベクトルbの要素の数等に応じて、使用可能な、例えば許容可能なパラメーター値の異なる集合、又は使用可能な、例えば許容可能なパラメーター値のタプルの異なる集合から1つ以上の確率推定パラメーターを選択するように構成される。
【0089】
代替的に、デコーダーは、ニューラルネットワークの層のパラメーターの数に依存して、又は選択された1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの数に依存して、又は層パラメーターの要素の数、例えば、行列Wの成分の数、若しくは(転置)ベクトルbの要素の数等に依存して、1つ以上の確率推定パラメーターを表す符号化値、例えば符号化インデックス値qを1つ以上の確率推定パラメーター、例えばshi
kにマッピングする、異なるマッピング規則、例えば異なるマッピングテーブルを使用するように構成される。
【0090】
或る特定の値を有するビットの確率値を評価するために、確率推定器の適応パラメーターは、コンテキストモデルを使用して、復号化されるニューラルネットワークパラメーターの数に依存して選択され得ることが分かっている。例えば、復号化済みのビンの数が多いほど、そのビンの確率を確率的に推定することができる。これにより、符号化効率を向上させることができる。
【0091】
本発明の更なる実施の形態によれば、デコーダーは、ニューラルネットワークの層のパラメーターの数が閾値、例えばX=1000を下回る場合、又は選択された1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの数が閾値を下回る場合、又は層パラメーターの要素の数、例えば行列Wの成分の数、若しくは(転置)ベクトルbの要素の数等が閾値を下回る場合、使用可能なパラメーター値の第1の集合から、又はパラメーター値の使用可能なタプルの第1の集合から1つ以上の確率推定パラメーターを抜粋して選択するように構成される。
【0092】
加えて、デコーダーは、ニューラルネットワークの層のパラメーターの数が閾値、例えばX=1000を超える場合、又は選択された1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの数が閾値を超える場合、又は層パラメーターの要素の数、例えば行列Wの成分の数、若しくは(転置)ベクトルbの要素の数等が閾値を超える場合、使用可能なパラメーター値の第2の集合から、又はパラメーター値の使用可能なタプルの第2の集合から1つ以上の確率推定パラメーターを抜粋して選択するように構成される。
【0093】
代替的に、デコーダーは、ニューラルネットワークの層のパラメーターの数が閾値、例えばX=1000を下回る場合、又は選択された1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの数が閾値を下回る場合、又は層パラメーターの要素の数、例えば行列Wの成分の数若しくは(転置)ベクトルbの要素の数等が閾値を下回る場合、1つ以上の確率推定パラメーター、例えばshi
k上に1つ以上の確率推定パラメーターを表す符号化値、例えば符号化インデックス値qをマッピングする第1のマッピング規則、例えば第1のマッピングテーブルを抜粋して使用するように構成される。
【0094】
さらに、デコーダーは、ニューラルネットワークの層のパラメーターの数が閾値、例えばX=1000を超える場合、又は選択された1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの数が閾値を超える場合、又は層パラメーターの要素の数、例えば行列Wの成分の数若しくは(転置)ベクトルbの要素の数等が閾値を超える場合、1つ以上の確率推定パラメーター、例えばshi
kに1つ以上の確率推定パラメーターを表す符号化値、例えば符号化インデックス値qをマッピングする第2のマッピング規則、例えば第2のマッピングテーブルを抜粋して使用するように構成される。
【0095】
さらに、使用可能なパラメーター値の第2の集合は、使用可能なパラメーター値の第1の集合よりも多くの使用可能なパラメーター値を含み、パラメーター値の使用可能なタプルの第2の集合は、パラメーター値の使用可能なタプルの第1の集合よりも多くの使用可能なタプルを含み、及び/又は第2のマッピング規則は、第1のマッピング規則とは異なる。
【0096】
或る特定の閾値に従って確率推定パラメーターを選択することで、計算量的に安価に確率推定パラメーターを適応できる可能性があることが分かっている。前述したように、例えばコンテキストモデルの統計的適応は、多数のパラメーターが復号化される場合に、例えば、より良好に実行することができるため、確率推定パラメーターは、かかる数に従って調整することができる。また、シグナリングは、現在考慮されているニューラルネットワークによく適した確率推定パラメーター(又は確率推定パラメーターの集合)に限定されるので、シグナリングオーバーヘッド(例えば、確率推定パラメーター又は確率推定パラメーターの集合のインデックスの符号化に必要なビット数)を低減することができる。
【0097】
本発明の更なる実施の形態によれば、デコーダーは、選択された1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの数が閾値、例えばX=1000以上である場合、増加した選択肢から1つ以上の確率推定パラメーターを抜粋して選択するように構成される。
【0098】
復号化されるニューラルネットワークパラメーターの数が増加すると、ニューラルネットワークパラメーターの確率的特性、例えばそれらの相関に関する自由度が増え得ることが分かっている。したがって、ニューラルネットワークパラメーターの数が増加するにつれて、符号化効率を向上させるために、確率推定パラメーター又は確率推定パラメーター値の増加を考慮することができる。その結果、小規模ニューラルネットワークでは、シグナリングオーバーヘッドが低減される。
【0099】
本発明の更なる実施の形態によれば、デコーダーは、例えば専用フラグの形で、例えば符号化ビットストリームに含まれ得るシグナリングを評価するように構成され、そのシグナリングから、使用可能なパラメーター値の集合、例えば小さい集合又は大きい集合、例えば使用可能なパラメーター値の複数の集合のうちの集合であって、基集合の異なる部分集合、場合によっては重複する部分集合であり得る集合から、又はパラメーター値の使用可能なタプルの集合、例えば小さい集合又は大きい集合、例えばパラメーター値の使用可能なタプルの複数の集合のうちの集合であって、基集合の異なる部分集合、場合によっては重複する部分集合から、1つ以上の確率推定パラメーターが、例えば復号化される1つ以上のフラグを使用して、例えばフラグ「useSecondSubset」を使用して選択される。
【0100】
代替的に、デコーダーは、1つ以上の確率推定パラメーターを表す符号化値、例えば符号化インデックス値qを1つ以上の確率推定パラメーター、例えばshi
kにマッピングするために、複数のマッピング規則、例えばマッピングテーブルのうちのどのマッピング規則を使用すべきかの指示であるシグナリングを評価するように構成され、ここで、シグナリングは、例えば符号化ビットストリームに、例えば専用フラグの形態で含まれてもよい。
【0101】
確率推定パラメーターの対応する集合又はタプルの集合に関する情報を用いて、確率推定パラメーターの選択を低い計算コストで実行することができる。加えて、かかるシグナリングを伝送することによって、デコーダーにおいてエンコーダーとは異なる確率推定パラメーターを使用するエラー確率を低減することができる。同様に、有益なマッピング規則、例えば、符号化ビットストリームを符号化するために使用されるエンコーダーにおいて使用されるマッピング規則は、かかるシグナリングを介して通信され得る。
【0102】
例えば、かかるシグナリングを提供することによって、符号化は、ニューラルネットワークの特性に適応してもよい。例えば、パラメーター値の使用可能なタプルの第1の集合を、第1のタイプのニューラルネットワークのために選択してもよく(例えば、使用可能なパラメーター値の第1の集合が、第1のタイプのニューラルネットワークの統計により良好に適応するため)、パラメーター値の使用可能なタプルの第2の集合を、第2のタイプのニューラルネットワークのために選択してもよい。例えば、ニューラルネットワークに対して使用可能なパラメーター値の集合の選択を1回だけ(又は少なくとも個々のパラメーター値の集合の実際の選択よりもまれに)シグナリングすることで十分であり得る。これにより、符号化効率を向上させることができる。
【0103】
本発明の更なる実施の形態によれば、デコーダーは、確率推定パラメーター値を記述する、又は複数の確率推定パラメーター値を記述する、又は確率推定パラメーター値のタプル、例えばインデックスqを記述する、1つ以上のインデックス値、例えば概して整数値、例えばインデックスq又は複数のインデックスを復号化するように構成される。
【0104】
インデックス値を使用することによって、確率推定パラメーターを容易に圧縮可能な方法で表すことができる。確率推定パラメーターは、ニューラルネットワークパラメーターと同様に符号化され、したがって復号化されるため、符号化/復号化の効率を向上させることができる。
【0105】
本発明の更なる実施の形態によれば、デコーダーは、1つ以上のコンテキストモデルを使用して1つ以上のインデックス値を復号化するように構成され、コンテキストモデルは、例えば、インデックス値を復号化するために使用される1つ以上のビンのビン値の確率を決定することができる。
【0106】
本発明の1つの主要な概念を追求すると、ニューラルネットワークパラメーターの符号化/復号化のシーケンスは、確率推定パラメーターに同様に適用することができる。したがって、確率推定パラメーター又は確率推定パラメーターを表すビン、又は確率推定パラメーターを表すインデックス値は、コンテキストモデルに関連付けることができる。コンテキスト依存符号化の利点は、確率推定パラメーターの符号化/復号化により、ニューラルネットワークパラメーターをコンテキスト依存符号化/復号化を行うことで2度利用することができる。
【0107】
本発明の更なる実施の形態によれば、デコーダーは、現在考慮されているインデックス値がデフォルト値を取るかどうかを記述する第1のビン、例えばuseNotDefaultビンを復号化するように構成され、デコーダーは、現在考慮されているインデックス値がデフォルト値を取らない場合、現在考慮されているインデックス値又は現在考慮されているインデックス値から導出された値、例えばq-1を二値表現で表す1つ以上の追加のビンを抜粋して復号化するように構成される。
【0108】
任意選択で、現在考慮されているインデックス値がデフォルト値を取るかどうかを示す第1のビンは、コンテキストを使用して、例えば確率推定値を考慮して復号化され、1つ以上の追加のビンは、ビンごとに1ビットの固定長で復号化される。
【0109】
ニューラルネットワークパラメーターが、例えば、第1のビン復号化ステップにおいてデフォルト値として識別される場合、更なる復号化が必要ない場合があるため、かかる第1のビンを復号化することで符号化効率を向上させることができる。第1のビンは常に存在し得るため、例えば、より複雑なコンテキスト依存符号化により、符号化効率を向上させることができる。常に存在するとは限らない追加のビンに対しては、例えば固定された確率を有するより複雑でない符号化を実施することができる。
【0110】
本発明の更なる実施の形態によれば、デコーダーは、単項コード復号化(unary code decoding)を使用して、又は短縮単項コード復号化を使用して、又は可変長コード復号化を使用して、1つ以上のインデックス値を復号化するように構成され、任意選択で、コード長は、異なるインデックス値の発生の確率に従って選択される。単項コードを使用することで、プレフィックスフリーなしの自己同期コードが可能となり得る。また、可変長コードでは、出現確率の高いインデックス値の符号長を短くすることができ、出現頻度の高いインデックスの符号長を短くすることでシンボル及び時間を節約することができるため、効率を向上させることができる。
【0111】
本発明の更なる実施の形態によれば、デコーダーは、例えば単項コード又はハフマンコードの場合、1つ以上の確率推定パラメーター、例えば選択された確率推定パラメーター又は確率推定パラメーターの選択されたタプルを指定する整数インデックスqを復号化するために使用されるビンの数又はビンの最大数を、1つ以上の確率推定パラメーターを量子化するために使用される量子化モードに応じて、例えば使用可能なパラメーター値の選択された集合又はパラメーター値の使用可能なタプルの選択された集合に適応するように変更するように構成される。
【0112】
或る特定の量子化方法を用いると、確率推定パラメーターの或る特定の正確度又は精度が達成可能であり得る。したがって、量子化又は予想される量子化誤差に関してビンの数又はビンの最大数が選択され得る場合、符号化効率を向上させることができる。
【0113】
本発明の更なる実施の形態によれば、デコーダーは、例えば単項コード又はハフマンコードの場合、1つ以上の確率推定パラメーター、例えば選択された確率推定パラメーター又は確率推定パラメーターの選択されたタプルを指定する整数インデックスqを復号化するために使用されるビンの数又はビンの最大数を、ニューラルネットワークの層のパラメーターの数に応じて、又は1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの数に応じて、又は層パラメーターの要素の数、例えば行列Wの成分の数、又は(転置)ベクトルbの要素の数等に応じて、例えば使用可能なパラメーター値の選択された集合又はパラメーター値の使用可能なタプルの選択された集合に適応するように変更するように構成される。
【0114】
符号化効率は、復号化されるニューラルネットワークパラメーターの数に関して確率推定パラメーターを復号化するために使用されるビンの数を変更することによって向上させることができる。精度と計算コスト及び時間努力との間の良好なトレードオフを実装することができる。加えて、ビンの確率的特性は、ニューラルネットワークパラメーターの数に応じて決定され、例えば、当該コンテキストモデルに依存するニューラルネットワークパラメーターの数が増加するにつれて、コンテキストモデルをより正確に適応させることができる。
【0115】
本発明の更なる実施の形態によれば、デコーダーは、1つ以上の確率推定パラメーターに関連付けられた使用可能なパラメーター値の異なる集合の間で、又は複数の確率推定パラメーターに関連付けられた使用可能なパラメーター値のタプルの異なる集合の間で、又は1つ以上の確率推定パラメーターを表す符号化値、例えば符号化インデックス値qを1つ以上の確率推定パラメーター、例えばshi
kにマッピングする異なるマッピング規則間で切り替えるように構成される。かかる切り替えは、例えば、復号化される別の層のニューラルネットワークパラメーターに切り替えた後に実行されてもよい。この柔軟性により、増加した符号化効率のための復号化のより高度な適応を可能にすることができる。
【0116】
本発明の更なる実施の形態によれば、デコーダーは、例えば単項コード又はハフマンコードの場合、1つ以上の確率推定パラメーターに関連付けられた使用可能なパラメーター値の異なる集合の間、又は複数の確率推定パラメーターに関連付けられた使用可能なパラメーター値のタプルの異なる集合の間、又は異なるマッピング規則間の切り替えに従って、選択された確率推定パラメーター又は確率推定パラメーターの選択されたタプルを指定する1つ以上の確率推定パラメーター、例えば整数インデックスqを復号化するために使用されるビンの数又はビンの最大数を変更するように構成される。
【0117】
より良い理解のために、確率推定パラメーターのビン表現に関する前述の実施の形態の態様を、符号化手順を含む実施の形態のコンテキストで以下に説明する。したがって、任意選択の詳細を有する符号化方式が以下で開示される。
【0118】
符号化されるインデックスq∈[0,qMAX]は、例えば、ビンのシーケンスに分解され、次いで、ビンのシーケンスが符号化される。各ビンは、例えば、コンテキストモデルを使用して、又は固定確率を使用して符号化されてもよい。
【0119】
符号化手順は、例えば、以下の方式のうちの1つに従うことができる。
【0120】
1.第1のビン、例えばuseNotDefaultは、選択される推定器パラメーターがデフォルトパラメーターと異なる(例えばuseNotDefault=1)か否か(例えばuseNotDefault=0)を示す。例えば、useNotDefault=0である場合、デフォルトパラメーターが選択され、更なるビンは符号化されない。例えばuseNotDefault=1である限り、ビンのシーケンス、例えば追加のビンが符号化され、これは例えば選択されたパラメーターのインデックスから1を引いたもの(q-1)、indexMinusOneを示す。インデックスのために符号化されるビンの数は、例えば、
【数10】
に等しく、ここで、setLengthは、集合の要素の数を示す。
【0121】
2.第2の手順では、単項コードが使用される。第1のビン、例えばgreaterThan_0は、確率パラメーターに関連するインデックスqが0より大きい(例えばgreaterThan_0=1)か、又はそうでない(例えばgreaterThan_0=0)かを示す。例えばgreaterThan_0=0である場合、更なるビンは符号化されない。例えばgreaterThan_0=1である場合、別の、例えば追加のビンが符号化され(例えばgreaterThan_1)、これは、インデックスqが1よりも大きい(例えばgreaterThan_1=1)か否か(例えばgreaterThan_1=0)を示す。例えばgreaterThan_1=0である場合、更なるビンは符号化されない。例えば、greaterThan_1=0である場合、フラグgreaterThan_qが0に等しくなるまで、更なるビン(greaterThan_X)が同様に符号化される。
【0122】
3.この手順は、例えば、qを符号化するためのインデックスがqMAXに等しい場合を除いて、符号化方法2.において使用される単項コードと同一である、短縮単項コードを適用する。この場合、例えば、ビンgreaterThan_(qMAX-1)を符号化した後、更なるビンは符号化されない。例えば、デコーダー側では、greaterThan_(qMAX-1)が1に等しい場合、qの値はqMAXであると推論される。
【0123】
4.この手順は、符号長がシンボルの発生確率に従って選択される可変長コード、例えばハフマンコードを使用する。
【0124】
これらの方式のいずれも、本発明の任意の実施の形態において使用され得ることに留意されたい。符号化のための方式が復号化のために適用されてもよく、逆もまた同様であることは、当業者にとって明らかであろう。
【0125】
本発明の更なる実施の形態によれば、デコーダーは、1つ以上の状態変数、例えばsi
k又はskを決定し、1つ以上の状態変数を使用して、例えば式(1)及び(2)を使用して、又は式(3)及び(4)を使用して、又は式(3)及び(5)を使用して、又は1つ以上の状態変数と確率推定値、例えばP(x,i,k)との間の線形関係を使用して、確率推定値、例えばpkを導出するように構成される。
【0126】
状態変数は、ニューラルネットワークパラメーター又はそのビンの確率を記述する確率モデル、例えばコンテキストモデルの評価のための効率的な手段を提供する。前述したように、状態変数は、確率推定パラメーターの符号化にも使用することができる。確率推定パラメーターは、状態変数を使用して評価されるコンテキストモデルを使用して復号化されてもよく、状態変数は、例えば、既に復号化された、又は例えば最近復号化された確率推定パラメーターに基づいて更新されてもよい。例えば、式(1)に示したようなルックアップテーブルを使用することで、計算コストを更に低減することができる。
【0127】
本発明の更なる実施の形態によれば、デコーダーは、
【数11】
及び
【数12】
に従って2つの状態変数s
1
k、s
2
kから確率推定値p
kを導出するように構成される。任意選択で、LUT2は、本明細書で説明したようなものであってよく、例えば、全てのkに対して、例えば、N=2、d
1
k=16、d
2
k=1、及びa
k=2
-7であり、kはコンテキストモデルインデックスである。
【0128】
本発明の実施の形態によれば、デコーダーは、
【数13】
に従って状態変数s
1
k、s
2
kを更新するように構成される。ここで、m
i
k及びn
i
kは重み係数であり、任意選択で確率推定パラメーターを構成し、例えば、m
1
kは2
-3に等しくてもよく、m
2
kは2
-7に等しくてもよい。加えて、Aは、例えば本明細書で説明されるように定義され得る、例えば整数値を記憶するルックアップテーブルである。さらに、zはオフセット値、例えば所定の値であり、例えば16に等しくてもよい。任意選択で、s
i
kは、例えば、本明細書で説明されるように初期化されてもよい。
【0129】
本発明の更なる実施の形態によれば、デコーダーは、異なるニューラルネットワークパラメーターの復号化のために異なる確率推定パラメーター値、例えばni
kの異なる値を使用するように、及び/又は異なるコンテキストモデルに関連付けられたビンの復号化のために異なる確率推定パラメーター値を使用するように、及び/又はニューラルネットワークの異なる層に関連付けられたニューラルネットワークパラメーターの復号化のために異なる確率推定パラメーター値を使用するように、重み係数ni
kを変更するように構成される。
【0130】
本発明の更なる実施の形態によれば、重み係数n
i
kと適応パラメーターsh
i
kとの間の関係は、
【数14】
に従って定義される。
【0131】
本発明の更なる実施の形態によれば、デコーダーは、適応パラメーターを記述する情報、例えば適応パラメーターのタプルを記述するインデックスqを復号化するように構成され、任意選択で、復号化されたインデックス値qの意味は、例えば、以下の表2又は表3、又は表4又は表5又は表6又は表7に提供されるように定義されてもよい。これらのテーブルは、マッピング規則又はマッピングテーブルの例である。
【0132】
好ましい実施の形態、例えば上記で説明した実施の形態では、推定器は、例えば、N組の適応パラメーターshi
kである適応パラメーターの基集合を適用する。次に、基集合の部分集合が選択される。部分集合のうちの1つのパラメーターがシグナリングされ得る。
【0133】
特に好ましい実施の形態では、構成は、例えば、前の好ましい実施の形態と等しいが、マルチメディアコンテンツの記述及び分析のためのニューラルネットワークの圧縮のためのMPEG-7パート17規格の現在のドラフトで使用されている推定器と同一であるように構成された推定器が使用され、基集合は、例えば、(sh1
k,sh2
k)について以下の28個の対を含む。
【0134】
【0135】
サイズ3の部分集合は、例えば、層の全てのパラメーターがDQで量子化される場合に、例えば、表2によるインデックスqが割り当てられるように定義され、順序付けられる。インデックスq=0を有するパラメーターは、例えば、デフォルトパラメーターとして示される。
【0136】
【0137】
例えば、部分集合のうちの1つのパラメーターは、例えば、符号化方式1に従ってqを符号化することによってシグナリングされ、ここで、例えば、ビンuseNotDefaultはコンテキストモデルを使用して符号化され、全ての他のビンはビンごとに1ビットの固定長で符号化される。概して、本発明の実施の形態によれば、コンテキスト依存符号化及び/又は他の符号化、例えば可変長又は固定長符号化の任意の混合が、確率推定パラメーター及び/又はニューラルネットワークパラメーターの任意のビンに適用されてもよい。
【0138】
別の好ましい実施の形態(例)では、構成は、割り当てられた適応パラメーターの対と、選択された部分集合(表3)のサイズが5に等しい以外は、前の好ましい実施の形態と同一である。
【0139】
【0140】
別の好ましい実施の形態(例)では、構成は、割り当てられた適応パラメーターの対(表4)以外は、前の好ましい実施の形態と同一である。
【0141】
【0142】
別の好ましい実施の形態(例)では、構成は、割り当てられた適応パラメーターの対と、選択された部分集合(表5)のサイズが9に等しい以外は、前の好ましい実施の形態と同一である。
【0143】
【0144】
別の好ましい実施の形態(例)では、構成は、割り当てられた適応パラメーターの対(表6)以外は、前の好ましい実施の形態と同一である。
【0145】
【0146】
別の好ましい実施の形態(例)では、構成は、割り当てられた適応パラメーターの対(表7)、選択された部分集合のサイズ(5)、及びURQを使用する使用された量子化方法以外は、前の好ましい実施の形態と同一である。
【0147】
【0148】
別の好ましい実施の形態(例)では、マルチメディアコンテンツの記述及び分析のためのニューラルネットワークの圧縮のためのMPEG-7パート17規格の現在のドラフトで使用される推定器と同一であるように構成された推定器が使用され、表1の基集合が使用される。これを基本構成と称する。
【0149】
層パラメーターがDQを用いて量子化される場合は常に、表5中のパラメーターの対の(サイズ9の)部分集合を適用することができる。層パラメーターがURQを用いて量子化される場合、表8の部分集合を使用することができる。
【0150】
【0151】
別の好ましい実施の形態(例)では、前の好ましい実施の形態の基本構成を適用することができる。
【0152】
層パラメーターの要素の数が、例えばX=1000に設定され得る閾値Xを下回る場合は常に、例えば表2において第1の部分集合として示されるパラメーターの対のサイズ3を有する部分集合を使用することができる。そうではなく、層パラメーターの要素の数が閾値X以上である場合、第2の部分集合として示される、例えば、表5中のサイズ9を有する部分集合を使用することができる。
【0153】
別の好ましい実施の形態(例)では、構成は、前の好ましい実施の形態と同一であるが、閾値を使用する代わりに、フラグ(例えば、useSecondSubset)が符号化され、これは、例えば、使用される部分集合を決定する。例えば、フラグが0に等しい場合、第1の部分集合が使用され得る。フラグが1に等しい場合、第2の部分集合が使用され得る。
【0154】
本発明の更なる実施の形態によれば、エンコーダーは、基集合から、又は基集合の真の部分集合から、1つ以上の確率推定パラメーターを選択するように構成される。
【0155】
任意選択で、基集合は、1つ以上の確率推定パラメーターに関連付けられた複数の使用可能なパラメーター値を含むことができ、又は基集合は、複数の確率推定パラメーターに関連付けられた使用可能なパラメーター値の複数のタプル、例えば、使用可能な対のリスト(sh1
k,sh2
k)を含むことができる。
【0156】
本発明の更なる実施の形態によれば、エンコーダーは、量子化モードに応じて、使用可能なパラメーター値の異なる集合又はパラメーター値の使用可能なタプルの異なる集合から1つ以上の確率推定パラメーターを選択するように構成され、例えば、エンコーダーは、第1の量子化モード、例えば一様量子化URQが使用される場合に使用可能なパラメーター値の第1の集合又はパラメーター値の使用可能なタプルの第1の集合から1つ以上の確率推定パラメーターを選択し、例えば、エンコーダーは、第2の量子化モード、例えば従属量子化DQが使用される場合に使用可能なパラメーター値の第2の集合から1つ以上の確率推定パラメーターを選択する。
【0157】
本発明の更なる実施の形態によれば、エンコーダーは、1つ以上の確率推定パラメーターの一様量子化、例えば一様再構成量子化(URQ)又は時不変量子化が使用される場合に、使用可能なパラメーター値の第1の集合から、又はパラメーター値の使用可能なタプルの第1の集合から1つ以上の確率推定パラメーターを抜粋して選択するように構成され、エンコーダーは、1つ以上の確率推定パラメーターの可変量子化、例えばトレリス符号化量子化(TCQ)又は依存量子化(DQ)が使用される場合に、使用可能なパラメーター値の第2の集合から、又はパラメーター値の使用可能なタプルの第2の集合から1つ以上の確率推定パラメーターを抜粋して選択するように構成される。任意選択で、DQのような可変量子化は、可変量子化の場合にコンテキストモデルごとに符号化されるビンがより少なくなり得るように、一様量子化よりも多くのコンテキストモデルを使用することができる。
【0158】
加えて、使用可能なパラメーター値の第1の集合は、使用可能なパラメーター値の第2の集合とは異なり、パラメーター値の使用可能なタプルの第1の集合は、パラメーター値の使用可能なタプルの第2の集合とは異なる。
【0159】
本発明の更なる実施の形態によれば、平均して、使用可能なパラメーター値の第2の集合のうちの使用可能なパラメーター値は、使用可能なパラメーター値の第1の集合のうちの使用可能なパラメーター値よりも、例えばビン値の頻度の変化に対して、確率推定値のより高速な適応を可能にする。代替的に、平均して、パラメーター値の使用可能なタプルの第2の集合のパラメーター値の使用可能なタプルは、パラメーター値の使用可能なタプルの第1の集合のパラメーター値の使用可能なタプルよりも、例えばビン値の頻度の変化に対して、確率推定値のより高速な適応を可能にする。
【0160】
本発明の更なる実施の形態によれば、使用可能なパラメーター値の第2の集合は、使用可能なパラメーター値の第1の集合のうちの使用可能なパラメーター値よりも、又は更には例えば全ての使用可能なパラメーター値よりも、例えばビン値の頻度の変化に対して、確率推定値のより高速な適応を可能にする使用可能なパラメーター値を含む。代替的に、パラメーター値の使用可能なタプルの第2の集合は、パラメーター値の使用可能なタプルの第1の集合のパラメーター値の使用可能なタプルよりも、又は更には例えば全ての使用可能なタプルよりも、例えばビン値の頻度の変化に対して、確率推定値のより高速な適応を可能にするパラメーター値の使用可能なタプルを含む。
【0161】
本発明の更なる実施の形態によれば、エンコーダーは、ニューラルネットワークの層のパラメーターの数に応じて、又は選択された1つ以上の確率推定パラメーターを使用して符号化されるニューラルネットワークパラメーターの数に応じて、又は層パラメーターの要素の数、例えば行列Wの成分の数、若しくは(転置)ベクトルbの要素の数等に応じて、使用可能な、例えば許容可能なパラメーター値の異なる集合、又は使用可能な、例えば許容可能なパラメーター値のタプルの異なる集合から1つ以上の確率推定パラメーターを選択するように構成される。
【0162】
本発明の更なる例によれば、エンコーダーは、ニューラルネットワークの層のパラメーターの数が閾値、例えばX=1000を下回る場合、又は選択された1つ以上の確率推定パラメーターを使用して符号化されるニューラルネットワークパラメーターの数が閾値を下回る場合、又は層パラメーターの要素の数、例えば行列Wの成分の数、若しくは(転置)ベクトルbの要素の数等が閾値を下回る場合、使用可能なパラメーター値の第1の集合から、又はパラメーター値の使用可能なタプルの第1の集合から1つ以上の確率推定パラメーターを抜粋して選択するように構成される。
【0163】
加えて、エンコーダーは、ニューラルネットワークの層のパラメーターの数が閾値、例えばX=1000を超える場合、又は選択された1つ以上の確率推定パラメーターを使用して符号化されるニューラルネットワークパラメーターの数が閾値を超える場合、又は層パラメーターの要素の数、例えば行列Wの成分の数、若しくは(転置)ベクトルbの要素の数等が閾値を超える場合、使用可能なパラメーター値の第2の集合から、又はパラメーター値の使用可能なタプルの第2の集合から1つ以上の確率推定パラメーターを抜粋して選択するように構成される。
【0164】
さらに、使用可能なパラメーター値の第2の集合は、使用可能なパラメーター値の第1の集合よりも多くの使用可能なパラメーター値を含み、パラメーター値の使用可能なタプルの第2の集合は、パラメーター値の使用可能なタプルの第1の集合よりも多くの使用可能なタプルを含む。
【0165】
本発明の更なる実施の形態によれば、エンコーダーは、選択された1つ以上の確率推定パラメーターを使用して符号化されるニューラルネットワークパラメーターの数が閾値、例えばX=1000以上である場合、増加した選択肢から1つ以上の確率推定パラメーターを抜粋して選択するように構成される。
【0166】
本発明の更なる実施の形態によれば、エンコーダーは、使用可能なパラメーター値のどの集合から、例えば、基集合の異なる部分集合、場合によっては重複する部分集合であり得る使用可能なパラメーター値の複数の集合のうちの小さい集合又は大きい集合から、又はパラメーター値の使用可能なタプルのどの集合から、例えば、基集合の異なる部分集合、場合によっては重複する部分集合であり得るパラメーター値の使用可能なタプルの複数の集合のうちの小さい集合又は大きい集合から、1つ以上の確率推定パラメーターが、例えば、符号化された1つ以上のフラグを使用して、例えば、フラグ「useSecondSubset」を使用して選択されるかをシグナリングするように構成される。
【0167】
本発明の更なる実施の形態によれば、エンコーダーは、確率推定パラメーター値を記述する、又は複数の確率推定パラメーター値を記述する、又は確率推定パラメーター値のタプル、例えばインデックスqを記述する、1つ以上のインデックス値、例えば概して整数値、例えばインデックスq又は複数のインデックスを符号化するように構成される。
【0168】
本発明の更なる実施の形態によれば、エンコーダーは、1つ以上のコンテキストモデルを使用して1つ以上のインデックス値を符号化するように構成され、コンテキストモデルは、例えば、インデックス値を符号化するために使用される1つ以上のビンのビン値の確率を決定することができる。
【0169】
本発明の更なる実施の形態によれば、エンコーダーは、現在考慮されているインデックス値がデフォルト値を取ることを記述する第1のビンを使用して、又は、例えば、現在考慮されているインデックス値がデフォルト値を取る場合、第1のビンのみを使用して、現在考慮されているインデックス値を符号化するように構成される。
【0170】
加えて、エンコーダーは、現在考慮されているインデックス値がデフォルト値を取らない場合、現在考慮されているインデックス値がデフォルト値を取らないことを記述する第1のビンを使用して、かつ現在考慮されているインデックス値又は現在考慮されているインデックス値から導出された値、例えばq-1を二値表現で表す1つ以上の追加のビンを使用して、現在考慮されているインデックス値を符号化するように構成される。
【0171】
任意選択で、現在考慮されているインデックス値がデフォルト値を取るかどうかを示す第1のビンは、コンテキストを使用して、例えば確率推定値を考慮して符号化され、1つ以上の追加のビンは、ビンごとに1ビットの固定長で符号化される。
【0172】
本発明の更なる実施の形態によれば、エンコーダーは、単項コードを使用して、又は短縮単項コードを使用して、又は可変長コードを使用して、1つ以上のインデックス値を符号化するように構成され、任意選択で、コード長は、異なるインデックス値の発生の確率に従って選択される。
【0173】
本発明の更なる実施の形態によれば、エンコーダーは、例えば単項コード又はハフマンコードの場合、1つ以上の確率推定パラメーター、例えば選択された確率推定パラメーター又は確率推定パラメーターの選択されたタプルを指定する整数インデックスqを符号化するために使用されるビンの数又はビンの最大数を、1つ以上の確率推定パラメーターを量子化するために使用される量子化モードに応じて、例えば使用可能なパラメーター値の選択された集合又はパラメーター値の使用可能なタプルの選択された集合に適応するように変更するように構成される。
【0174】
本発明の更なる実施の形態によれば、エンコーダーは、例えば単項コード又はハフマンコードの場合、1つ以上の確率推定パラメーター、例えば選択された確率推定パラメーター又は確率推定パラメーターの選択されたタプルを指定する整数インデックスqを符号化するために使用されるビンの数又はビンの最大数を、ニューラルネットワークの層のパラメーターの数に応じて、又は1つ以上の確率推定パラメーターを使用して符号化されるニューラルネットワークパラメーターの数に応じて、又は層パラメーターの要素の数、例えば行列Wの成分の数、又は(転置)ベクトルbの要素の数等に応じて、例えば使用可能なパラメーター値の選択された集合又はパラメーター値の使用可能なタプルの選択された集合に適応するように変更するように構成される。
【0175】
本発明の更なる実施の形態によれば、エンコーダーは、1つ以上の確率推定パラメーターに関連付けられた使用可能なパラメーター値の異なる集合の間で、又は複数の確率推定パラメーターに関連付けられた使用可能なパラメーター値のタプルの異なる集合の間で切り替えるように構成される。
【0176】
本発明の更なる実施の形態によれば、エンコーダーは、例えば単項コード又はハフマンコードの場合、1つ以上の確率推定パラメーターに関連付けられた使用可能なパラメーター値の異なる集合の間、又は複数の確率推定パラメーターに関連付けられた使用可能なパラメーター値のタプルの異なる集合の間の切り替えに従って、選択された確率推定パラメーター又は確率推定パラメーターの選択されたタプルを指定する1つ以上の確率推定パラメーター、例えば整数インデックスqを符号化するために使用されるビンの数又はビンの最大数を変更するように構成される。
【0177】
本発明の更なる実施の形態によれば、エンコーダーは、1つ以上の状態変数、例えばsi
k又はskを決定し、1つ以上の状態変数を使用して、例えば式(1)及び(2)を使用して、又は式(3)及び(4)を使用して、又は式(3)及び(5)を使用して、又は1つ以上の状態変数と確率推定値、例えばP(x,i,k)との間の線形関係を使用して、確率推定値、例えばpkを導出するように構成される。
【0178】
本発明の更なる実施の形態によれば、エンコーダーは、
【数15】
及び
【数16】
に従って2つの状態変数s
1
k、s
2
kから確率推定値p
kを導出するように構成される。任意選択で、LUT2は、本明細書で説明したようなものであってよく、例えば、全てのkについて、例えば、N=2、d
1
k=16、d
2
k=1、及びa
k=2
-7であり、ここで、kはコンテキストモデルインデックスである。
【0179】
本発明の更なる実施の形態によれば、エンコーダーは、
【数17】
に従って状態変数s
1
k、s
2
kを更新するように構成される。ここで、m
i
k及びn
i
kは重み係数であり、例えば確率推定パラメーターを構成し、例えば、m
1
kは2
-3に等しくてもよく、m
2
kは2
-7に等しくてもよい。
【0180】
加えて、Aは、例えば、本明細書で説明されるように定義され得る、例えば、整数値を記憶する、ルックアップテーブルであり、zはオフセット値、例えば所定の値であり、例えば16に等しくてもよい。任意選択で、si
kは、例えば、本明細書で説明されるように初期化されてもよい。
【0181】
本発明の更なる実施の形態によれば、エンコーダーは、異なるニューラルネットワークパラメーターの符号化のために異なる確率推定パラメーター値、例えばni
kの異なる値を使用するように、及び/又は異なるコンテキストモデルに関連付けられたビンの符号化のために異なる確率推定パラメーター値を使用するように、及び/又はニューラルネットワークの異なる層に関連付けられたニューラルネットワークパラメーターの符号化のために異なる確率推定パラメーター値を使用するように、重み係数ni
kを変更するように構成される。
【0182】
本発明の更なる実施の形態によれば、重み係数n
i
kと適応パラメーターsh
i
kとの間の関係は、
【数18】
に従って定義される。
【0183】
本発明の更なる実施の形態によれば、エンコーダーは、適応パラメーターを記述する情報、例えば適応パラメーターのタプルを記述するインデックスqを符号化するように構成され、例えば、符号化インデックス値qの意味は、例えば、表2又は表3、又は表4又は表5又は表6又は表7に提供されるように定義されてもよい。
【0184】
デコーダーに関連して上記で説明され、以下で説明される全ての特徴は、それぞれ本発明の実施の形態によるエンコーダーの特徴として理解されるべきである。逆に、エンコーダーのコンテキストで説明される特徴は、それぞれデコーダーの特徴として理解されるべきである。実施の形態によるデコーダー又は復号化方法の特徴は、対応するエンコーダーに対して同一又は同様に適用可能であり、逆もまた同様であることが、当業者には明らかであろう。このコンテキストでは、デコーダーはエンコーダーに対応することができ、ニューラルネットワークを復号化することは、ニューラルネットワークパラメーターを符号化することに対応することができ、前に復号化されたニューラルネットワークパラメーター又はそのビンは、前に符号化されたニューラルネットワークパラメーター又はそのビンに対応することができ、異なるニューラルネットワークパラメーターの復号化及び異なるコンテキストモデルに関連するビンの復号化は、異なるニューラルネットワークパラメーターの符号化及び異なるコンテキストモデルに関連するビンの符号化に対応することができ、ニューラルネットワークの異なる層に関連付けられたニューラルネットワークパラメーターの復号化は、ニューラルネットワークの異なる層に関連付けられたニューラルネットワークパラメーターの符号化に対応することができる。しかし、これらは対応の例にすぎず、本発明の実施の形態によるデコーダーの特徴及び利点は、本発明の実施の形態によるエンコーダーの特徴及び利点と交換可能であり得ることが当業者には明らかであろう。同じことが、実施の形態の詳細な説明における符号化/復号化の方法に関する説明及び図面にも当てはまる。
【0185】
本発明の更なる実施の形態によれば、符号化表現は、異なるニューラルネットワークパラメーターに関連付けられた別個の確率推定パラメーター、及び/又は異なるコンテキストモデルに関連付けられた別個の確率推定パラメーター、及び/又はニューラルネットワークの異なる層に関連付けられた別個の確率推定パラメーターの別個の符号化表現を含む。
【0186】
復号化効率を向上させるために、別個の符号化表現を用いて確率推定パラメーターの適応選択を実行することができる。
【0187】
本発明の更なる実施の形態によれば、符号化表現は、1つ以上の確率推定パラメーターを表す符号化値、例えば符号化インデックス値qを1つ以上の確率推定パラメーター、例えばshi
kにマッピングするために、複数のマッピング規則のうちのどのマッピング規則を使用すべきかを示すフラグ指示を含む。
【0188】
図面は、必ずしも縮尺通りではなく、代わりに、概して、本発明の原理を図示することに重点が置かれている。以下の説明では、本発明の種々の実施形態が、以下の図面を参照して説明される。
【図面の簡単な説明】
【0189】
【
図1】フィードフォワードニューラルネットワークのグラフ表現の一例を示す図である。
【
図2】本発明の実施形態によるデコーダーのブロック概略図である。
【
図3】本発明の実施形態による確率推定パラメーターの選択の一例の概略図である。
【
図4】本発明の実施形態によるデコーダー選択エンティティの一例の概略図である。
【
図5】本発明の実施形態による、符号化ビットストリーム及び確率推定パラメーター値を記述するインデックス値の一例の概略図である。
【
図6】本発明の実施形態による方法の概略ブロック図である。
【発明を実施するための形態】
【0190】
同一若しくは同等の要素、又は同一若しくは同等の機能を有する要素は、異なる図に現れる場合であっても、以下の説明において同一又は同等の参照番号によって示される。
【0191】
以下の説明では、本発明の実施形態のより完全な説明を提供するために、複数の詳細が記載される。しかしながら、本発明の実施形態がこれらの具体的な詳細なしに実施され得ることは、当業者には明らかであろう。他の例では、本発明の実施形態を不明瞭にすることを回避するために、周知の構造及びデバイスは、詳細にではなくブロック図の形態で示される。加えて、本明細書で後に説明される異なる実施形態の特徴は、特に別段の記載がない限り、互いに組み合わせることができる。
【0192】
図2は、本発明の実施形態によるデコーダーのブロック概略図を示している。デコーダー200は、コンテキスト依存算術復号化ユニット210と、確率推定器220と、確率推定パラメーター値230とを備える。任意選択で、デコーダー200は、ビットストリーム分解ユニット240及びパラメーター再アセンブリユニット250を備える。デコーダー200は、符号化ビットストリーム202を受信するよう構成され得る。符号化ビットストリーム202は、複数のニューラルネットワークパラメーターに関する情報を含み得る。
【0193】
任意選択のビットストリーム分解ユニット240は、符号化ビットストリーム202を、コンテキスト依存算術復号化ユニット210のための処理可能な情報に変換するように構成され得る。この機能は、復号化ユニット210によって提供され得るため、分解ユニット240は、説明の目的でのみ示されている。分解ユニットは、符号化ビットストリーム202を、符号化されたニューラルネットワークパラメーターについての情報を含む一部分と、ビットストリームの開始及び/又は誤り訂正若しくは他のオーバーヘッドのためのビットを示す別の部分、例えばフラグとに分解するよう構成することができる。
【0194】
復号化ユニット210は、複数の、例えば復号化されたニューラルネットワークパラメーター204を提供するために、符号化されたニューラルネットワークパラメーターを復号化するように構成することができる。ニューラルネットワークパラメーターを復号化するために、復号化ユニット210は、確率推定器220から確率推定値を受信するように構成される。ニューラルネットワークパラメーターは、ビンのシーケンスとしてビットストリーム202中に符号化され得る。1つのビン又は複数のビンは、ニューラルネットワークパラメーターを表すことができる。ビンは、例えば、コンテキスト、又は換言すれば確率モデルに関連付けられ得る。確率推定値は、ビンが或る特定の値、例えば1又は0を有する確率を示すことができる。確率推定値は、ビンのコンテキスト、又は換言すればその確率モデルに応じて決定することができる。確率推定器220は、確率推定値を決定するために、確率推定パラメーターを含む。
【0195】
デコーダー又はコンテキスト依存算術復号化ユニット210は、異なるニューラルネットワークパラメーターの復号化のために異なる確率推定パラメーター値を使用するように構成される。したがって、確率推定パラメーターを適応させることによって、ニューラルネットワークパラメーターの確率的な個々の特性を考慮に入れることができる。加えて、又は代替的に、デコーダー又はコンテキスト依存算術復号化ユニット210は、異なるコンテキストモデルに関連付けられたビンの復号化のために異なる確率推定パラメーター値を使用するように構成することができる。個々のビン、又はビンの集合は、コンテキストモデルに関連付けることができる。コンテキストモデルは、例えば、最近復号化されたニューラルネットワークパラメーター又はそのビンに従って適応され得る。その結果、個々のビン、又はビンに関連付けられた個々のコンテキストモデルについて、確率推定器220のパラメーター化を適応させることができる。任意選択のパラメーター再アセンブリユニット250は、複数のニューラルネットワークパラメーター204を与えるために、復号化されたビンをニューラルネットワークパラメーターに再アセンブルするように構成することができ、及び/又は復号化ユニット210によって与えられる復号化されたエンティティを解釈するように構成することができる。任意選択で、確率推定器220は、復号化ユニット210の出力から、及び/又は任意選択のパラメーター再アセンブリユニット250から、フィードバック情報を受信することができる。
【0196】
しかしながら、デコーダー200は、代替的に、又は加えて、ニューラルネットワークの異なる層に関連付けられたニューラルネットワークパラメーターの復号化のために異なる確率推定パラメーター値を使用するように構成することができる。或る特定のニューラルネットワークパラメーターの層の情報は、ビットストリームに符号化されてもよく、確率推定パラメーター値230の変更をトリガーしてもよい。
【0197】
図3は、本発明の実施形態による確率推定パラメーターの選択の一例の概略図を示している。
図3には、一例として、手法1~4の確率推定パラメーターと、コンテキストモデルを更新するための確率推定パラメーターとが示されている。デコーダーは、1つ以上の確率推定パラメーター、例えばパラメーター310及び/又は320を基集合300から選択することができる。パラメーター310及び320で示されるように、これらのパラメーターは、基集合300の真の部分集合であり得る。
【0198】
結果として、デコーダーは、異なる確率推定パラメーター値だけでなく、異なる確率推定パラメーターも使用するように構成することができる。デコーダーは、手法1~4のいずれかを使用することができるため、基集合300の確率推定パラメーターの部分集合のみを必要とする。
【0199】
加えて、デコーダーは、確率推定パラメーターを選択するだけでなく、その値も選択することができる。例えば、第1の選択ステップにおいて、デコーダーはパラメーター310を選択してもよい。次のステップにおいて、デコーダーは、これらの確率推定パラメーターについて、確率推定パラメーター値の異なる部分集合から選択することもできる。換言すれば、各確率推定パラメーターについて、許容可能な確率推定パラメーター値の複数の集合が存在してもよく、デコーダーは、確率推定パラメーター及び対応する値を選択してもよい。
【0200】
図4は、本発明の実施形態によるデコーダー選択エンティティの一例の概略図を示している。デコーダーは、使用可能なパラメーター値の異なる集合410、420から1つ以上の確率推定パラメーターを選択するように構成することができ、一例として、集合410は、部分集合412(手法3によるパラメーター)及び部分集合414を含む。手法1~4及び状態変数の更新について、ニューラルネットワークパラメーター自体の符号化及び/又は復号化のコンテキストで説明したが、コンテキストモデルの類似又は同等の手法及び更新を、確率推定パラメーターの符号化及び/又は復号化のために実行することができ、したがって、これらのパラメーターがここで示されていることに留意されたい。加えて、又は代替として、デコーダーは、パラメーター値430、440のタプルの使用可能な集合から、及び/又はここでは表5(450)、及び表7(460)の形態で一例として示される異なるマッピング規則から選択してもよい。確率推定パラメーター値、タプル又はマッピングの選択は、量子化モードに基づいて実行され得る。使用可能なパラメーター値の異なる集合は、同じ確率推定パラメーターを含むが、異なる値を有することができることに留意されたい。デコーダーは、第1の集合412と、一例として値d
1
k=15、d
2
k=2、a
k=1.5
-7及びLUT=LUT2を含む別の集合414との間で選択することができる。換言すれば、適応は、符号化/復号化に使用されるパラメーターに関して、及びパラメーターのそれぞれの値に関して実行され得る。しかしながら、実施形態によれば、値の選択のみ、例えば、集合412と414との間のデコーダー決定が実行されてもよく、パラメーターの選択は、手法3の示されたパラメーターに限定されないことに留意されたい。
【0201】
例えば、デコーダーは、1つ以上の確率推定パラメーターの一様量子化が使用される場合に、使用可能なパラメーター値の第1の集合410から、又はパラメーター値の使用可能なタプルの第1の集合430から、1つ以上の確率推定パラメーターを抜粋して選択することができる。一例として、デコーダーは、一様量子化の場合、集合412と414との間で選択することができる。一方、デコーダーは、1つ以上の確率推定パラメーターの可変量子化が使用される場合に、使用可能なパラメーター値の第2の集合420から、又はパラメーター値の使用可能なタプルの第2の集合440から、1つ以上の確率推定パラメーターを抜粋して選択することができる。同様に、デコーダーは、1つ以上の確率推定パラメーターの一様量子化が使用される場合に、1つ以上の確率推定パラメーターを表す符号化値を1つ以上の確率推定パラメーターにマッピングする第1のマッピング規則460を使用することができ、1つ以上の確率推定パラメーターの可変量子化が使用される場合に、1つ以上の確率推定パラメーターを表す符号化値を1つ以上の確率推定パラメーターにマッピングする第2のマッピング規則450を使用することができる。第1の集合、タプル、及びマッピング規則並びに第2の集合、タプル、及びマッピング規則は、互いに異なっていてもよい。
【0202】
異なる集合、タプル、及びマッピング規則は、例えば、異なる手法1~4に従って計算を実行するために、異なる確率推定パラメーターを含んでもよく、又は同じ確率推定パラメーターを含むが、異なる値を有してもよいことに留意されたい。したがって、デコーダーは、任意選択で、最初に計算ルーチンを選択し、次にそのパラメーター化、すなわちその値を選択することができる。一方、デコーダーは、量子化モードに従って確率推定パラメーター値を選択するだけであってもよく、例えば、集合412と集合414との間で選択するか、又は、例えば、同じ確率推定パラメーターを記述するが異なる値を有するタプル430とタプル440との間で選択する。
【0203】
別の任意選択の特徴として、平均して、使用可能なパラメーター値の第2の集合のうちの使用可能なパラメーター値、又は第2のマッピング規則の使用可能なパラメーター値は、使用可能なパラメーター値の第1の集合のうちの使用可能なパラメーター値、又は第1のマッピング規則の使用可能なパラメーター値よりも、例えばビン値の頻度の変化に対して、確率推定値のより高速な適応を可能にすることができる。代替的に、平均して、パラメーター値の使用可能なタプルの第2の集合のパラメーター値の使用可能なタプル、又は第2のマッピング規則の使用可能なタプルは、パラメーター値の使用可能なタプルの第1の集合のパラメーター値の使用可能なタプル、又は第1のマッピング規則の使用可能なタプルよりも、例えばビン値の頻度の変化に対して、確率推定値のより高速な適応を可能にすることができる。
【0204】
任意選択で、使用可能なパラメーター値の第2の集合、又は第2のマッピング規則は、使用可能なパラメーター値の第1の集合のうちの使用可能なパラメーター値、又は第1のマッピング規則の使用可能なパラメーター値よりも、又は更には全ての使用可能なパラメーター値よりも、例えばビン値の頻度の変化に対して、確率推定値のより高速な適応を可能にする使用可能なパラメーター値を含むことができる。代替的に、パラメーター値の使用可能なタプルの第2の集合は、パラメーター値の使用可能なタプルの第1の集合のパラメーター値の使用可能なタプルよりも、又は更には全ての使用可能なタプルよりも、例えばビン値の頻度の変化に対して、確率推定値のより高速な適応を可能にするパラメーター値の使用可能なタプルを含む。
【0205】
さらに、集合410及び420は使用可能な、又は例えば許容可能なパラメーター値であってもよく、タプル430、440は使用可能な、又は例えば許容可能なタプルであってもよい。かかる集合又はタプルのデコーダー選択は、ニューラルネットワークの層のパラメーターの数に基づいて、若しくはそれらに依存して、又は選択された1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの数に依存して、又は層パラメーターの要素の数に依存して実行することができる。同様に、異なるマッピング規則450、460の使用は、選択された1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの数に依存して、又は層パラメーターの要素の数に依存して、デコーダーによって実行することができる。
【0206】
別の任意選択の特徴として、デコーダーは、ニューラルネットワークの層のパラメーターの数が閾値、例えばX=1000を下回る場合、又は選択された1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの数が閾値を下回る場合、又は層パラメーターの要素の数が閾値を下回る場合、使用可能なパラメーター値の第1の集合から、又はパラメーター値の使用可能なタプルの第1の集合から1つ以上の確率推定パラメーターを抜粋して選択するように構成することができる。
【0207】
さらに、デコーダーは、ニューラルネットワークの層のパラメーターの数が閾値を超える場合、又は選択された1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの数が閾値を超える場合、又は層パラメーターの要素の数が閾値を超える場合、使用可能なパラメーター値の第2の集合から、又はパラメーター値の使用可能なタプルの第2の集合から1つ以上の確率推定パラメーターを抜粋して選択するように構成することができる。
【0208】
代替的に、デコーダーは、ニューラルネットワークの層のパラメーターの数が閾値を下回る場合、又は選択された1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの数が閾値を下回る場合、又は層パラメーターの要素の数が閾値を下回る場合、1つ以上の確率推定パラメーターを表す符号化値を1つ以上の確率推定パラメーターにマッピングする第1のマッピング規則を抜粋して使用するように構成される。デコーダーは、ニューラルネットワークの層のパラメーターの数が閾値を超える場合、又は選択された1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの数が閾値を超える場合、又は層パラメーターの要素の数が閾値を超える場合、1つ以上の確率推定パラメーターを表す符号化値を1つ以上の確率推定パラメーターにマッピングする第2のマッピング規則を抜粋して使用するように構成することができる。
【0209】
この場合、使用可能なパラメーター値の第2の集合は、使用可能なパラメーター値の第1の集合よりも多くの使用可能なパラメーター値を含むことができ、パラメーター値の使用可能なタプルの第2の集合は、パラメーター値の使用可能なタプルの第1の集合よりも多くの使用可能なタプルを含むことができる。加えて、又は代替的に、第2のマッピング規則は、第1のマッピング規則とは異なり得る。
【0210】
図5は、本発明の実施形態による、符号化ビットストリーム及び確率推定パラメーター値を記述するインデックス値の一例の概略図を示している。一例として、ビットストリーム202は、フラグ指示F、又は換言すればフラグFの形態のシグナリングを含む。しかしながら、シグナリングは、任意の適切な方法で伝送されてもよい。デコーダーは、1つ以上の確率推定パラメーターが、使用可能なパラメーター値のどの集合から、又はパラメーター値の使用可能なタプルのどの集合から選択されるかを判定するために、フラグFを評価し得る。代替的に、デコーダーは、1つ以上の確率推定パラメーターを表す符号化値を1つ以上の確率推定パラメーターにマッピングするために、複数のマッピング規則のうちのどのマッピング規則を使用すべきかのシグナリング指示を評価するように構成され得る。したがって、
図4におけるデコーダーによる集合、タプル及び/又はマッピングの選択は、例えば符号化されたフラグFの形のシグナリングに基づき得る。任意選択のビットストリーム分解ユニット240は、例えば、復号化のために使用される集合、タプル、及び/又はマッピングを示すためのフラグにおいて、かつ確率推定パラメーター値に関する情報において、ビットストリーム202を分解することができる。
【0211】
図5に示されているように、ビットストリーム202は、確率推定パラメーター値を記述する、又は複数の確率推定パラメーター値を記述する、又は確率推定パラメーター値のタプルを記述する1つ以上のインデックス値q
i(ここでは一例として、i=1、2及び3について示されている)、例えば整数値を含むことができる。換言すれば、インデックス値q
iは、1つ以上の確率推定パラメーターの符号化表現であり得る。
【0212】
デコーダーは、例えばシグナリングを使用して、1つ以上のインデックス値qiを復号化するように構成されてもよい。加えて、1つ以上のインデックス値qiは、1つ以上のコンテキストモデルcqiに関連付けられ得る。デコーダーは、コンテキストモデルcqiを使用してインデックス値qiを復号化するように構成することができる。
【0213】
インデックス値は、1つ以上のビンによって表すことができる。第1のビンは、例えば、fbinで示されるように、現在考慮されているインデックス値がデフォルト値を取るかどうかを記述することができる。インデックス値がデフォルト値を取る場合、インデックス値は第1のビンによって既に決定されているので、インデックス値は1つのビンのみを含み得る。その他の場合、インデックス値は、例えばj=1、2、3で示される一例のように、ビンaddbinjの形式で、1つ以上の追加のビンで表されてもよい。デコーダーは、第1のビン及び任意選択の追加のビンを復号化するように構成することができる。これらのビンのいずれも、例えば個々に、コンテキストに関連付けられてもよい。任意選択で、インデックス値qiのコンテキストcqiは、インデックス値の第1のビンに関連付けられてもよく、追加のビンは、ビンごとに固定長で復号化されてもよい。
【0214】
加えて、ビットストリーム202は、i=1、2、3で示される一例のように、ニューラルネットワークパラメーターに関連付けられた整数の倍数riを含む。インデックス値qiに基づいて、符号化されたニューラルネットワークパラメーターの算術復号化のコンテキストの適応を実行することができ、該ニューラルネットワークパラメーターは、整数の倍数riによって表される、ニューラルネットワークの符号化重みパラメーターであり得る。
【0215】
別の任意選択の特徴として、デコーダーは、単項コード復号化を使用して、又は短縮単項コード復号化を使用して、又は可変長コード復号化を使用して、1つ以上のインデックス値を復号化するように構成することができ、例えば、コード長は、異なるインデックス値の発生の確率に従って選択される。実施形態によれば、任意の適切な符号化技術を、例えば、異なるインデックス値に対して個別に適用することができ、柔軟性及び符号化効率を向上させることができる。
【0216】
加えて、デコーダーは、1つ以上の確率推定パラメーターを量子化するために使用される量子化モードに依存して、及び/又はニューラルネットワークの層のパラメーターの数に依存して、又は1つ以上の確率推定パラメーターを使用して復号化されるニューラルネットワークパラメーターの数に依存して、又は層パラメーターの要素の数に依存して、1つ以上の確率推定パラメーターを復号化するために使用されるビンの数又はビンの最大数を変更するように構成することができる。
【0217】
別の任意選択の特徴として、デコーダーは、1つ以上の確率推定パラメーターに関連付けられた使用可能なパラメーター値の異なる集合の間で、又は複数の確率推定パラメーターに関連付けられた使用可能なパラメーター値のタプルの異なる集合の間で、又は1つ以上の確率推定パラメーターを表す符号化値を1つ以上の確率推定パラメーターにマッピングするための異なるマッピング規則の間で切り替えるように構成することができる。デコーダーは、
図4に示すように、集合410(及び/又は集合412、414)と420との間で、及び/又はタプル430、440及び/又は異なるマッピング450、460の間で切り替えることができる。
【0218】
さらに、前述したビンの数又はビンの最大数の変更は、異なる集合、タプル及び/又はマッピング規則間の切り替えに従ってデコーダーによって実行することができる。
【0219】
加えて、デコーダーは、1つ以上の状態変数、例えばsi
k又はskを決定し、1つ以上の状態変数を使用して確率推定値、例えばpkを導出するように構成することができる。
【0220】
さらに、符号化ビットストリーム202は、ニューラルネットワークの重みパラメーターの符号化表現とすることができ、整数の倍数riの形態のニューラルネットワークの複数の符号化重みパラメーターと、1つ以上の確率推定パラメーター、すなわちインデックス値qiの符号化表現とを含む。
【0221】
図示のように、符号化ビットストリーム202の形態の符号化表現は、別個の確率推定パラメーター、すなわちインデックス値qi(ここでは一例としてi=1、2及び3について示す)の別個の符号化表現を含み得る。これらのインデックス値qiは、異なるニューラルネットワークパラメーター、例えば、q1->r1、q2->r2、...に関連付けることができる。代替的に、又は加えて、図示のように、別個の確率推定パラメーターqiを異なるコンテキストモデルcqiに関連付けることができる。別の任意選択の特徴として、別個の確率推定パラメーターをニューラルネットワークの異なる層に関連付けることができる。
【0222】
図6は、本発明の実施形態による方法の概略ブロック図を示している。
図6は、ニューラルネットワークの重みパラメーターを復号化する方法600、700を示している。方法600及び700は、符号化ビットストリームに基づいて、複数のニューラルネットワークパラメーター、例えば、ニューラルネットワークの行列Wの成分w
i、b、μ、σ
2、σ、γ、及び/又はβのうちの少なくとも1つを取得(610、710)することと、コンテキスト依存算術復号化を使用して、例えば、コンテキスト適応型二値算術復号化(CABAC)を使用して、ニューラルネットワークのニューラルネットワークパラメーター、例えば、その量子化バージョンを復号化(620、720)することとを含む。任意選択で、ビン値の確率は、異なるコンテキストに対して決定され、例えば、各ビンはコンテキストに関連付けられる。方法600、700は、1つ以上の確率推定パラメーター、例えば確率推定器パラメーター、例えばN、a
i
k、b
i
k、a
k、d
i
k、A、m
i
k、n
i
k、sh
i
k、initVal
i
kを使用して、例えば1つ以上の以前に復号化されたニューラルネットワークパラメーター又はそのビンに基づいて、ニューラルネットワークパラメーターの数表現のビンの任意選択で算術復号化のために、例えばコンテキストに関連付けられ得る確率推定値、例えばP(t)又はp
kを取得(630、730)することを更に含む。
【0223】
方法600は、異なるニューラルネットワークパラメーターの復号化のために異なる確率推定パラメーター値を使用(640)すること、及び/又は異なるコンテキストモデル、例えばckに関連付けられたビンの復号化のために異なる確率推定パラメーター値を使用することを更に含む。
【0224】
一方、方法700は、ニューラルネットワークの異なる層に関連付けられたニューラルネットワークパラメーターの復号化のために異なる確率推定パラメーター値を使用(740)することを更に含む。
【0225】
更なる実施形態及び態様
以下では、前述の実施形態のいずれかに組み込まれ得る態様及び特徴を含む更なる実施形態が開示される。
【0226】
パラメーターの効率的な表現(例、詳細は任意である)
パラメーターW、b、μ、σ2、γ、及びβは、層のパラメーター又は層パラメーターと総称されるものとする。それらは通常、ビットストリームにおいて(例えば、ニューラルネットワークがビデオデコーダーにおいて使用される場合、例えば、符号化されたビデオ表現において)シグナリングされる必要がある。例えば、それらは32ビットの浮動小数点数として表すことができ、又は例えば、量子化インデックスとしても示される整数表現に量子化することができる。εは通常、ビットストリーム中でシグナリングされないことに留意されたい。
【0227】
例えば、かかるパラメーターを符号化するための特に効率的な手法では、例えば、各値がいわゆる量子化ステップサイズ値の整数倍として表される、一様再構成量子化器(URQ)が用いられる。対応する浮動小数点数は、例えば、整数に量子化ステップサイズを乗算することによって再構成することができ、量子化ステップサイズは、通常(必ずしもそうではないが)単一の浮動小数点数である。しかしながら、例えば、ニューラルネットワーク推論のための効率的な実施態様(すなわち、入力に対するニューラルネットワークの出力を計算すること)では、可能な限り整数演算が採用されている。したがって、パラメーターを浮動小数点表現に再構成することを要求することは望ましくない場合がある。
【0228】
パラメーターを符号化するための別の効率的な手法では、量子化器のセットが適用され、各値は、例えば、量子化ステップサイズ値の整数倍として表される。通常、例えば、集合内の各量子化器は、適用可能な再構成値として量子化ステップサイズパラメーターの整数倍の互いに素な集合を使用するが、2つ以上の量子化器が1つ以上の再構成値を共有してもよい。適用される量子化器は、例えば、符号化順で前の量子化インデックスの値に依存する。対応する浮動小数点数は、例えば、整数に量子化ステップサイズを乗算することによって再構成することができ、量子化ステップサイズは、通常、例えば、選択された量子化器に依存する浮動小数点数である。かかる量子化器の設計の一例は、トレリス符号化量子化(TCQ)であり、これは、従属量子化(DQ)とも称される。
【0229】
好ましい実施形態では、2つの量子化器のセットが使用される。第1の量子化器は、例えば、0を含む量子化ステップサイズの全ての偶数倍を使用し、第2の量子化器は、0を含む量子化ステップサイズの全ての偶数倍を使用する。
【0230】
エントロピー符号化及び確率推定(例、詳細は任意である)
例えば、量子化方法によって出力される量子化インデックスは、適切なエントロピー符号化方法を使用してエントロピー符号化される。
【0231】
かかる量子化インデックスを符号化するための特に適切なエントロピー符号化方法は、CABACとも表されるコンテキストベース適応型二値算術符号化である。これにより、各量子化インデックスは、例えば、二値決定のシーケンス、いわゆるビンに分解される。通常、例えば、各ビンは、コンテキストモデルとも称される確率モデルに関連付けられ、該コンテキストモデルは、例えば確率推定方法を使用して、関連付けられたビンの統計をモデル化する。
【0232】
確率推定器は、例えば、確率推定器に関連する既に符号化されたビンに基づいて、ビンがxに等しい確率P(t)をモデル化する装置であり、ここで、x∈{0,1}である。
【0233】
例えば、確率推定器は、確率推定器パラメーター又は推定器パラメーター(又は確率推定パラメーター)と称される一部のパラメーターを有し、これらのパラメーターは、確率推定値、例えば適応レートに影響を与える。通常、これらの推定器パラメーターは、例えば、適応シナリオ、例えばニューラルネットワークパラメーターの符号化に応じて、グローバルに選択される。したがって、例えば、ニューラルネットワーク符号化では、各ニューラルネットワークパラメーターは、推定器パラメーターの同じ集合を適用する。
【0234】
しかし、現在のニューラルネットワークパラメーターに対して最適化された推定器パラメーターを選択することによって圧縮効率が改善され得ることが分かっている。したがって、一態様によれば、基本的な着想は、パラメーターの集合から適切な推定器パラメーターを選択し、次いで、推定器パラメーターがデコーダーにシグナリングされることである。
【0235】
典型的な推定器設計(例、詳細は任意である)
最初に、ニューラルネットワーク圧縮に適用される典型的な推定器の設計について説明する。
【0236】
例えば、各コンテキストモデルckについて、1つ以上の状態変数s1
k,...,sN
kがN≧1で維持される。各状態変数si
kは、例えば、符号付き整数値として実装され、例えば、確率値P(si
k,i,k)=pi
kを表す。コンテキストモデルckの確率推定値pkは、例えば、コンテキストモデルの全ての状態変数の確率値pi
kの加重和として定義されるものとする。
【0237】
状態変数は、以下の特性を有することが好ましいが、必ずしもそうである必要はない。
1.si
k=0である場合、pi
k=0.5である。
2.si
kのより大きな値は、より大きなpi
kに対応する。
3.P(-si
k,i,k)=1-P(si
k,i,k)。
【0238】
したがって、負の状態変数は、例えば、pi
k<0.5に対応することができる。概して、各コンテキストモデルの各状態変数に対して異なる関数P(・)を指定することが可能である。
【0239】
状態変数と確率値とを対応付けるための構成例(例、詳細は任意である)
状態変数を確率値に関連付ける、すなわちP(・)を実装する多くの有用な方法が存在する。例えば、ニューラルネットワーク圧縮で使用される状態表現は、以下の式で達成することができる。
【数19】
β
i
kは重み係数である。
αは、0<α<1のパラメーターである。
【0240】
例えば、2つの状態(N=2,s1
k,s2
k)を使用する、マルチメディアコンテンツ記述及び分析のためのニューラルネットワークの圧縮のためのMPEG-7パート17規格の現在のドラフトで使用されるものに匹敵する構成を達成するために、α≒0.99894079及び全てのkに対してβ1
k=16及びβ2
k=1を設定する。
【0241】
この例示的な構成は、状態変数がどのように定義され得るかについての何らかの洞察を与えるものである。一般に、P(・)は直接使用されないので定義する必要はないが、以下に見られるように、P(・)の定義も必要である。むしろ、個々の部分の実際の実施態様に起因することが多い。
【0242】
状態変数の初期化(例、詳細は任意である)。
コンテキストモデルを用いて第1のシンボルを符号化又は復号化する前に、全ての状態変数は、initVali
kとして示される同じ値で初期化され、これは、任意選択で、例えば、圧縮アプリケーションに最適化することができる。
【0243】
状態変数からの確率推定値の導出(例、詳細は任意である)。
シンボルの符号化又は復号化のために、コンテキストモデルの状態変数から確率推定値が導出される。例として、3つの代替的な手法を以下に提示する。手法1は、手法2及び手法3よりも正確な結果をもたらすが、計算の複雑さも高くなる。
【0244】
手法1(例)
この手法は2つのステップから構成される。まず、コンテキストモデルの各状態変数si
kが確率値pi
kに変換される。次に、確率推定値pkが、確率値pi
kの加重和として導出される。
【0245】
ステップ1:
ルックアップテーブルLUT1は、例えば式(1)に従って、状態変数s
i
kを対応する確率値p
i
kに変換するために使用される。
【数20】
LUT1は、確率値を含むルックアップテーブルである。a
i
kは、s
i
kをLUT1のサイズに適応させる重み係数である。
【0246】
ステップ2:
確率推定値p
kは、例えば次式に従って、確率値p
i
kから導出される。
【数21】
b
i
kは、個々の状態変数の影響を制御する重み係数である。
【0247】
手法2(例)
状態変数から確率推定値を導出するための代替的な手法を以下に示す。該手法では、精度の低い結果が得られ、計算の複雑さが低くなる。最初に、状態変数の加重和s
kが、例えば、次式に従って導出される。
【数22】
d
i
kは、各状態変数の影響を制御する重み係数である。
【0248】
次に、確率推定値p
kは、状態変数s
kの加重和から、例えば次式に従って導出される。
【数23】
LUT2は、確率推定値を含むルックアップテーブルであり、a
kは、s
kをLUT2のサイズに適応させる重み係数である。
【0249】
手法3(例)
状態変数から確率推定値を導出するための更に別の手法を以下に提示する。まず、状態変数の重み付き和s
kを、例えば手法2のように導出する。次に、確率推定値p
kは、状態変数s
kの加重和から、例えば次式に従って導出される。
【数24】
LUT2は、確率推定値を含むルックアップテーブルである。
【0250】
手法4(例)
更なる手法では、状態値と確率P(x,i,k)との間の線形関係が用いられる。確率推定値の導出は、例えば、式(2)の手法を使用する。手法4の一例は、汎用ビデオ符号化(VVC)の現在のドラフトで使用されている確率推定方式である。
【0251】
例えば、マルチメディアコンテンツの記述及び分析のためのニューラルネットワークの圧縮のためのMPEG-7パート17規格の現在のドラフトで使用される構成を達成するために、手法3の方法が、例えば、全てのkについてd1
k=16、d2
k=1、及びak=2-7を用いて使用される。確率推定値を含むルックアップテーブルは、例えば、以下の通りである。
【0252】
LUT2={0.5000,0.4087,0.3568,0.3116,0.2721,0.2375,0.2074,0.1811,
0.1581,0.1381,0.1206,0.1053,0.0919,0.0803,0.0701,0.0612,
0.0534,0.0466,0.0407,0.0356,0.0310,0.0271,0.0237,0.0207,
0.0180,0.0158,0.0138,0.0120,0.0105,0.0092,0.0080,0.0070}
【0253】
状態変数の更新(例、詳細は任意である)
シンボルの符号化又は復号化の後、コンテキストモデルの1つ以上の状態変数は、シンボルシーケンスの統計的挙動を追跡するために更新され得る。
【0254】
更新は、例えば、以下のように行われる。
【数25】
Aは、例えば整数値を格納するルックアップテーブルである。m
i
k及びn
i
kは、例えば、更新の「アジリティ」を制御する重み係数である。係数n
i
kは、例えば、
【数26】
に従って記述することができ、ここで、sh
i
kは適応パラメーターとしても示される。zは、例えば、ルックテーブルAが負でない値でのみアクセスされることを保証するオフセットである。
【0255】
ルックアップテーブルA内の値は、例えば、si
kが特定の所与の間隔内に留まるように選択することができる。通常、ルックアップAの値は、例えば更新関数に近似している。代替的に、例えば、状態更新のために関連する更新関数を単に使用することも可能である。
【0256】
例えば、手法4に従うVVCの推定方法は、状態更新のための更新関数を適用し、ビットシフトを使用するものであり、該ビットシフトにより、例えば更新の「アジリティ」が決定される。これは、例えば、上述の適応パラメーターに対応する。本発明(下記参照)は、同様にそれらに適用され得る。
【0257】
例えば、マルチメディアコンテンツの記述及び分析のためのニューラルネットワークの圧縮のためのMPEG-7パート17規格の現在のドラフトで使用される構成を達成するために、パラメーターは、例えば、全てのkに対して、m1
k=2-3、m2
k=2-7及びn1
k=2-1、n2
k=1、並びにz=16となるように選択される。ルックアップテーブルAは、例えば、A={157,143,129,115,101,87,73,59,45,35,29,23,17,13,9,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0}である。
【0258】
シンボルを符号化する前に、s1
kは、例えば、間隔[-127,127]の値で初期化されるものとし、s2
kは、例えば、間隔[-2047,2047]の値で初期化されるものとする。その結果、s1
kは、例えば、8ビットの符号付き整数値で実装することができ、s2
kは、例えば、12ビットの符号付き整数で実装することができる。
【0259】
本発明の態様(詳細は任意である)
以下では、パラメーター、すなわち、N、ai
k、bi
k、ak、di
k、A、mi
k、ni
k、shi
k、initVali
k、及び確率推定器(コンテキストモデル)に関連する任意の他のパラメーターは、確率推定器パラメーター又は推定器パラメーター(又は確率推定パラメーター)と総称されるものとする。
【0260】
通常、例えば、各推定器パラメーターに対して、確率推定器パラメーターの基集合から1つの固定されたインスタンスがネットワーク全体に対して選択される。基集合の値は、適用される状態の数Nに従って、N組の推定器パラメーターであり得る。本発明の一態様によれば、確率推定、したがって圧縮効率は、例えば、パラメーターが、層(すなわち、W、b、μ、σ2、γ、及びβ)及び/又はコンテキストモデルckの各パラメーター又はパラメーターの部分集合に対して個々に選択される場合に改善され得る。
【0261】
使用される推定器パラメーターは、例えば、パラメーターの集合のパラメーターの中から決定され、パラメーターの集合は、例えば、基集合又は基集合の任意の部分集合であり得る。この集合の各パラメーターは、例えば、整数インデックスqに関連付けられ得る。例えば、集合の1つのパラメーターがデフォルトパラメーターとして示されてもよい。通常、デフォルトパラメーターは、例えば、0に等しい整数インデックスに関連付けられる。選択された推定器パラメーターに関連付けられたインデックスは、次いで、例えば、デコーダーにシグナリングされる。
【0262】
符号化方式(例、詳細は任意である)
符号化されるインデックスq∈[0,qMAX]は、例えば、ビンのシーケンスに分解され、次いで、ビンのシーケンスが符号化される。各ビンは、例えば、コンテキストモデルを使用して、又は固定確率を使用して符号化されてもよい。
【0263】
符号化手順は、例えば、以下の方式のうちの1つに従うことができる。
【0264】
1.第1のビン、例えばuseNotDefaultは、選択される推定器パラメーターがデフォルトパラメーターと異なる(例えばuseNotDefault=1)か否か(例えばuseNotDefault=0)を示す。例えば、useNotDefault=0である場合、デフォルトパラメーターが選択され、更なるビンは符号化されない。例えばuseNotDefault=1である限り、ビンのシーケンスが符号化され、これは例えば選択されたパラメーターのインデックスから1を引いたもの(q-1)、indexMinusOneを示す。インデックスのために符号化されるビンの数は、例えば、
【数27】
に等しく、ここで、setLengthは、集合の要素の数を示す。
【0265】
2.第2の手順では、単項コードが使用される。第1のビン、例えばgreaterThan_0は、確率パラメーターに関連するインデックスqが0より大きい(例えばgreaterThan_0=1)か、又はそうでない(例えばgreaterThan_0=0)かを示す。例えばgreaterThan_0=0である場合、更なるビンは符号化されない。例えばgreaterThan_0=1である場合、別のビンが符号化され(例えばgreaterThan_1)、これは、インデックスqが1よりも大きい(例えばgreaterThan_1=1)か否か(例えばgreaterThan_1=0)を示す。例えばgreaterThan_1=0である場合、更なるビンは符号化されない。例えば、greaterThan_1=0である場合、フラグgreaterThan_qが0に等しくなるまで、更なるビン(greaterThan_X)が同様に符号化される。
【0266】
3.この手順は、例えば、qを符号化するためのインデックスがqMAXに等しい場合を除いて、符号化方法2.において使用される単項コードと同一である、短縮単項コードを適用する。この場合、例えば、ビンgreaterThan_(qMAX-1)を符号化した後、更なるビンは符号化されない。例えば、デコーダー側では、greaterThan_(qMAX-1)が1に等しい場合、qの値はqMAXであると推論される。
【0267】
4.この手順は、符号長がシンボルの発生確率に従って選択される可変長コード、例えばハフマンコードを使用する。
【0268】
好ましい実施形態(例、詳細は任意である)
好ましい実施形態では、推定器は、例えば、N組の適応パラメーターshi
kである適応パラメーターの基集合を適用する。次に、基集合の部分集合が選択される。部分集合のうちの1つのパラメーターがシグナリングされる。
【0269】
特に好ましい実施形態では、構成は、例えば、前の好ましい実施形態と等しいが、マルチメディアコンテンツの記述及び分析のためのニューラルネットワークの圧縮のためのMPEG-7パート17規格の現在のドラフトで使用されている推定器と同一であるように構成された推定器が使用され、基集合は、例えば、(sh1
k,sh2
k)について以下の28個の対を含む。
【0270】
【0271】
サイズ3の部分集合は、例えば、層の全てのパラメーターがDQで量子化される場合に、例えば、表2によるインデックスqが割り当てられるように定義され、順序付けられる。インデックスq=0を有するパラメーターは、例えば、デフォルトパラメーターとして示される。
【0272】
【0273】
例えば、部分集合のうちの1つのパラメーターは、例えば、符号化方式1に従ってqを符号化することによってシグナリングされ、ここで、例えば、ビンuseNotDefaultはコンテキストモデルを使用して符号化され、全ての他のビンはビンごとに1ビットの固定長で符号化される。
【0274】
別の好ましい実施形態(例)では、構成は、割り当てられた適応パラメーターの対と、選択された部分集合(表3)のサイズが5に等しい以外は、前の好ましい実施形態と同一である。
【0275】
【0276】
別の好ましい実施形態(例)では、構成は、割り当てられた適応パラメーターの対(表4)以外は、前の好ましい実施形態と同一である。
【0277】
【0278】
別の好ましい実施形態(例)では、構成は、割り当てられた適応パラメーターの対と、選択された部分集合(表5)のサイズが9に等しい以外は、前の好ましい実施形態と同一である。
【0279】
【0280】
別の好ましい実施形態(例)では、構成は、割り当てられた適応パラメーターの対(表6)以外は、前の好ましい実施形態と同一である。
【0281】
【0282】
別の好ましい実施形態(例)では、構成は、割り当てられた適応パラメーターの対(表7)、選択された部分集合のサイズ(5)、及びURQを使用する使用された量子化方法以外は、前の好ましい実施形態と同一である。
【0283】
【0284】
別の好ましい実施形態(例)では、マルチメディアコンテンツの記述及び分析のためのニューラルネットワークの圧縮のためのMPEG-7パート17規格の現在のドラフトで使用される推定器と同一であるように構成された推定器が使用され、表1の基集合が使用される。これを基本構成と称する。
【0285】
層パラメーターがDQを用いて量子化される場合は常に、表5中のパラメーターの対の(サイズ9の)部分集合が適用される。層パラメーターがURQを用いて量子化される場合、表8の部分集合が使用される。
【0286】
【0287】
別の好ましい実施形態(例)では、前の好ましい実施形態の基本構成が適用される。
【0288】
層パラメーターの要素の数が、例えばX=1000に設定され得る閾値Xを下回る場合は常に、例えば表2において第1の部分集合として示されるパラメーターの対のサイズ3を有する部分集合が使用される。そうではなく、層パラメーターの要素の数が閾値X以上である場合、第2の部分集合として示される、例えば、表5中のサイズ9を有する部分集合が使用される。
【0289】
別の好ましい実施形態(例)では、構成は、前の好ましい実施形態と同一であるが、閾値を使用する代わりに、フラグ(例えば、useSecondSubset)が符号化され、これは、例えば、使用される部分集合を決定する。例えば、フラグが0に等しい場合、第1の部分集合が使用される。フラグが1に等しい場合、第2の部分集合が使用される。
【0290】
代替的な実施態様:
一部の態様を装置の文脈で説明してきたが、これらの態様が対応する方法の説明も表すことは明らかであり、ブロック又はデバイスは方法ステップ又は方法ステップの特徴に対応する。同様に、方法ステップの文脈で説明される態様はまた、対応する装置の対応するブロック又は項目又は特徴の説明を表す。方法ステップの一部又は全部は、例えばマイクロプロセッサ、プログラマブルコンピューター又は電子回路のようなハードウェア装置によって(又はそれを使用して)実行されてもよい。一部の実施形態において、最も重要な方法ステップのうちの1つ以上は、かかる装置によって実行されてもよい。
【0291】
或る特定の実装要件に応じて、本発明の実施形態は、ハードウェア又はソフトウェアで実行することができる。実施態様は、それぞれの方法が実行されるようにプログラム可能なコンピューターシステムと協働する(又は協働することができる)電子的可読制御信号が記憶されたデジタル記憶媒体、例えば、フロッピーディスク、DVD、Blu-ray(登録商標)、CD、ROM、PROM、EPROM、EEPROM又はフラッシュメモリを使用して実行することができる。したがって、デジタル記憶媒体はコンピューター可読であってもよい。
【0292】
本発明による一部の実施形態は、電子的可読制御信号を有するデータキャリアを備え、該電子的可読制御信号は、本明細書で説明される方法のうちの1つが実行されるように、プログラム可能なコンピューターシステムと協働することが可能である。
【0293】
概して、本発明の実施形態は、プログラムコードを有するコンピュータープログラム製品として実施することができ、プログラムコードは、コンピュータープログラム製品がコンピューター上で動作するときに方法のうちの1つを実行するように動作可能である。プログラムコードは、例えば、機械可読キャリアに記憶されてもよい。
【0294】
他の実施形態は、機械可読キャリア上に記憶された、本明細書で説明される方法のうちの1つを実行するコンピュータープログラムを含む。
【0295】
したがって、換言すれば、本発明の方法の一実施形態は、コンピュータープログラムがコンピューター上で動作するときに、本明細書で説明される方法のうちの1つを実行するプログラムコードを有するコンピュータープログラムである。
【0296】
したがって、本発明の方法の更なる実施形態は、本明細書に記載の方法のうちの1つを実行するコンピュータープログラムを記録したデータキャリア(又はデジタル記憶媒体、又はコンピューター可読媒体)である。データキャリア、デジタル記憶媒体又は記録された媒体は、典型的には有形及び/又は非一時的である。
【0297】
したがって、本発明の方法の更なる実施形態は、本明細書に記載された方法の1つを実行するコンピュータープログラムを表すデータストリーム又はシグナルのシーケンスである。データストリーム又はシグナルのシーケンスは、例えば、データ通信接続を介して、例えばインターネットを介して転送されるように構成されてもよい。
【0298】
更なる実施形態は、本明細書に記載の方法の1つを実行するように構成又は適合された処理手段、例えばコンピューター又はプログラム可能な論理デバイスを含む。
【0299】
更なる実施形態は、本明細書に記載の方法のうちの1つを実行するコンピュータープログラムがインストールされたコンピューターを含む。
【0300】
本発明による更なる実施形態は、本明細書で説明される方法のうちの1つを実行するコンピュータープログラムを受信機に(例えば、電子的に又は光学的に)転送するように構成された装置又はシステムを含む。受信機は、例えば、コンピューター、モバイルデバイス、メモリデバイス等であってもよい。装置又はシステムは、例えば、コンピュータープログラムを受信機に転送するためのファイルサーバを備えることができる。
【0301】
一部の実施形態において、プログラム可能論理デバイス(例えば、フィールドプログラマブルゲートアレイ)が、本明細書に説明される方法の機能性の一部又は全部を行うために使用されてもよい。一部の実施形態において、フィールドプログラマブルゲートアレイは、本明細書に説明される方法のうちの1つを行うために、マイクロプロセッサと協働してもよい。概して、方法は、任意のハードウェア装置によって実行されることが好ましい。
【0302】
本明細書で説明される装置は、ハードウェア装置を使用して、又はコンピューターを使用して、又はハードウェア装置とコンピューターとの組み合わせを使用して実施され得る。
【0303】
本明細書で説明される装置、又は本明細書で説明される装置の任意の構成要素は、少なくとも部分的にハードウェア及び/又はソフトウェアで実施され得る。
【0304】
本明細書で説明される方法は、ハードウェア装置を使用して、又はコンピューターを使用して、又はハードウェア装置とコンピューターとの組み合わせを使用して実行され得る。
【0305】
本明細書で説明される方法、又は本明細書で説明される装置の任意の構成要素は、ハードウェア及び/又はソフトウェアによって少なくとも部分的に実行され得る。
【0306】
特許請求の範囲によって定義されるような任意の実施形態は、本明細書に説明される詳細(特徴及び機能)のうちのいずれかによって補完することができることに留意されたい。
【0307】
また、本明細書に記載される実施形態は、個々に使用することができ、特許請求の範囲に含まれる特徴のいずれかによって補完することもできる。
【0308】
また、本明細書に記載される個々の態様は、個別に又は組み合わせて使用することができることに留意されたい。したがって、当該態様の別の1つに詳細を追加することなく、当該個々の態様の各々に詳細を追加することができる。
【0309】
本開示は、概して、ビデオエンコーダー(入力ビデオ信号の符号化表現を提供するための装置)及びビデオデコーダー(符号化表現に基づいてビデオ信号の復号化された表現を提供するための装置)において、並びにオーディオエンコーダー及びオーディオデコーダーにおいて使用可能な特徴を明示的又は暗示的に説明するものであることにも留意されたい。したがって、本明細書で説明する特徴のいずれも、ビデオエンコーダーのコンテキストにおいて、及びビデオデコーダーのコンテキストにおいて、及びオーディオエンコーダーのコンテキストにおいて、及びオーディオデコーダーのコンテキストにおいて使用され得る。
【0310】
さらに、方法に関して本明細書で開示される特徴及び機能は、(かかる機能を実行するように構成された)装置においても使用され得る。さらに、装置に関して本明細書で開示される任意の特徴及び機能は、対応する方法においても使用され得る。換言すれば、本明細書に開示される方法は、装置に関して説明される特徴及び機能のうちのいずれかによって補完することができる。
【0311】
また、本明細書で説明される特徴及び機能のいずれも、「代替的な実施態様」の節で説明したように、ハードウェア若しくはソフトウェアで、又はハードウェアとソフトウェアの組み合わせを使用して実装され得る。
【0312】
さらに、本明細書で説明される特徴及びシンタックス要素のいずれも、任意選択で、個々に及び組み合わせての両方で、ビデオビットストリームに導入され得る。
【0313】
さらに、エンコーダー又は符号化のコンテキストで説明した全ての特徴、機能、及び詳細は、任意選択で、デコーダー又は復号化のコンテキストでも使用できることに留意されたい。例えば、デコーダーにおけるコンテキスト導出は、エンコーダーにおけるコンテキスト導出に類似していてもよく、復号化された値は、符号化される値の役割を果たしてもよい。典型的には、デコーダーは、デコーダーで使用されるコンテキストがエンコーダーで使用されるコンテキストに対応して、エンコーダーとデコーダーとの同期を保つように設計される。
【0314】
本明細書に記載される実施形態は、本発明の原理を単に例示するものである。本明細書に記載された構成及び詳細の変更及び変形が他の当業者に明らかであることが理解される。したがって、添付の特許請求の範囲によってのみ限定され、本明細書の実施形態の記述及び説明によって提示される特定の詳細によって限定されないことが意図される。
【国際調査報告】