(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-25
(45)【発行日】2022-04-04
(54)【発明の名称】デジタルデータ圧縮のための方法及びデバイス
(51)【国際特許分類】
H03M 7/40 20060101AFI20220328BHJP
H04N 19/64 20140101ALI20220328BHJP
H04N 19/91 20140101ALI20220328BHJP
【FI】
H03M7/40
H04N19/64
H04N19/91
(21)【出願番号】P 2019572776
(86)(22)【出願日】2018-07-10
(86)【国際出願番号】 EP2018068716
(87)【国際公開番号】W WO2019011944
(87)【国際公開日】2019-01-17
【審査請求日】2021-06-23
(32)【優先日】2017-07-10
(33)【優先権主張国・地域又は機関】EP
【早期審査対象出願】
(73)【特許権者】
【識別番号】519464544
【氏名又は名称】イントゥーピクス
【氏名又は名称原語表記】intoPIX
(74)【代理人】
【識別番号】110001302
【氏名又は名称】特許業務法人北青山インターナショナル
(72)【発明者】
【氏名】ペルグラン,パスカル ユベール
(72)【発明者】
【氏名】ブッシュハルト,チャールス ダニエル
(72)【発明者】
【氏名】ルヴロワ,ガエル
【審査官】北村 智彦
(56)【参考文献】
【文献】米国特許出願公開第2014/0247999(US,A1)
【文献】国際公開第2018/041379(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H03M 3/00-9/00
H04N 19/64
H04N 19/91
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
圧縮パラメータに従って、1つ又は複数の入力データセットであり、前記入力データセット又は各入力データセットが、M個の係数のシーケンスを含み、各係数が0と2
m-1との間に含まれる大きさを符号化するmビットを有する、前記1つ又は複数の入力データセットを、大きさ圧縮データセット及びメタデータ圧縮データセットをそれぞれが含む1つ又は複数の対応する圧縮データセットに圧縮する方法において、前記圧縮パラメータが、M、m、n、t、量子化のタイプ、負優先又は正優先の何れかであるマッピングモード、前記入力データセットが表示画像を表す場合の表示画像の行及び列の数、
画素のシーケンスが表示画像を無相関化変換したものである場合のサブバンドの行の数、水平予測又は垂直予測であり得る予測モード、予測子の初期値が決定される方法、エントロピー符号化モード、前記エントロピー符号化がライス符号化である場合の前記ライス符号化のパラメータkの値、及び「最小値による境界」、「最小値/最大値による境界」、「最大値による境界」、「境界なし」のうちの1つである境界モードを
含み、
前記入力データセット又は各入力データセットについて、
A.n個の係数の1つ又は複数の連続グループに前記係数をグループ化するステップであって、グループ化因数nが、2以上であり、係数の各グループが、前記係数の異なる重みに対しm個の大きさビット平面を有する、グループ化するステップと、
B.係数の各グループiについて、
a)最大符号化ラインインデックス(GCLI)の値を決定するステップであって、前記GCLI
iが、前記グループiにおける前記係数の前記大きさの前記ビットのうち最高重みの非ゼロビットのインデックスであり、前記インデックスが、最下位ビットについての1から最上位ビットについてのmまでカウントされており、前記GCLIが、前記係数の全てがゼロに等しいグループについて0である、決定するステップと、
b)量子化係数が0から2
(m-t)-1の範囲に含まれるように、量子化を実行するステップであって、n個の量子化係数を提供し、tが、量子化レベルである、実行するステップと、
c)GCLI
i≧t+1である場合、前記グループの各ビット平面について、前記量子化係数の重み1から重みGCLI
i-tを有するビット平面を、前記大きさ圧縮データセットにコピーするステップと、
d)GCLI
i≦tである場合に何も行わないステップと、
e)前記係数のシーケンス内の先行係数の1つ又は複数のグループのGCLIの関数で、GCLI
iの予測子pred
iを計算するステップであって、前記係数のシーケンスの係数の最初のグループについて、前記予測子pred
iが、pred_initに等しい、計算するステップと、
f)残差r
i、
r
i=max(GCLI
i-t,0)-max(pred
i-t,0)
を計算するステップであって、g)及びh)の追加ステップを含むことを特徴とする、計算するステップと、
g)前記残差r
iを符号にマッピングするステップであって、
(1)r
min=-max(pred
i-t,0)である、GCLI
iの全ての可能な値についての前記残差の最小値である前記r
minを計算するステップと、
(2)r
max=max(m-max(pred
i,t),0)である、GCLI
iの全ての可能な値についての前記残差の最大値である前記r
maxを計算するステップと、
(3)- マッピングモードが負優先の場合、C
first=-1、
- マッピングモードが正優先の場合、C
first=+1
を計算するステップと、
(4)- 境界モードが「最小値による境界」である場合、トリガ=|r
min|、
- 境界モードが「最小値/最大値による境界」である場合、トリガ=MIN(|r
min|,r
max)、
- 境界モードが「最大値による境界」である場合、トリガ=r
max、
- 境界モードが「境界なし」である場合、トリガ=m、
を計算するステップと、
(5)|r|≦トリガである場合、
r
*Cfirst>0のときに、C=2
*|r|-1であり、
r
*Cfirst>0でないときに、C=2
*|r|であり、
|r|≦トリガでない場合、C=トリガ+|r|であるステップと、
を実行することによって前記マッピングが
取得される、マッピングするステップと、
h)前記エントロピー符号化モードによって前記符号Cのエントロピー符号化を提供するステップ、及び
符号化された前記符合Cを前記メタデータ圧縮データセット内にコピーするステップと、
を含むことを特徴とする方法。
【請求項2】
請求項1に記載の方法において、前記エントロピー符号化がライス符号化であり、k=0、1、又は2であることを特徴とする方法。
【請求項3】
請求項2に記載の方法において、k=0であることを特徴とする方法。
【請求項4】
請求項1乃至3の何れか1項に記載の方法において、nが、8以下であるか、又は4に等しいことを特徴とする方法。
【請求項5】
請求項1乃至4の何れか1項に記載の方法において、前記量子化が、前記係数のグループのt個の最下位ビット平面を除去することによって実行されることを特徴とする方法。
【請求項6】
請求項1乃至5の何れか1項に記載の方法において、前記入力データセットが、非無相関化入力データセットに対して無相関化変換を実行することによって取得されることを特徴とする方法。
【請求項7】
請求項1乃至6の何れか1項に記載の方法において、前記M個の係数のシーケンスが、画素の行及び列を含む表示画像の1つ若しくは複数の行の画素のシーケンス、又は画素の行及び列を含む表示画像の無相関化変換のサブバンドの1つ若しくは複数の行に対応することを特徴とする方法。
【請求項8】
請求項1乃至7の何れか1項に記載の方法において、ステップB.e)において、前記GCLIiの予測子prediが、係数のシーケンスにおける係数の前のグループの前記GCLIであり、係数のシーケンスにおける係数の第1のグループについてpred_initであり、前記予測モードが、水平予測モードであることを特徴とする方法。
【請求項9】
請求項7に記載の方法において、ステップB.e)において、前記GCLI
iの予測子pred
iが、前記GCLIがtよりも大きい場合に画素の前の行の同一列の画素の前記グループの前記GCLIであり、前記GCLIがt以下である場合に0であり、画素の最初の行の画素のグループについてpred_initであり、前記予測モードが、垂直予測モードであることを特徴とする方法。
【請求項10】
請求項9に記載の方法において、前記1つ又は複数の入力データセットが、少なくとも2つの入力データセットを含み、第1の入力データセットが、量子化レベルt
1を有し、第2の入力データセットが、量子化レベルt
2を有し、表示画像内で、前記第1の入力データセットの画素の最後の行が、前記第2の入力データセットの画素の最初の行の上にあり、
前記第2の入力データセットの画素の前記最初の行の画素のグループについての前記予測子が、前記GCLI>t
1の場合に前記第1の入力データセットの同一列内の画素の前記最後の行の前記画素のグループの前記GCLIに等しく、前記GCLI≦t
1の場合に0に等しいことを特徴とする方法。
【請求項11】
圧縮パラメータに従って、
請求項1乃至10の何れか1項に記載の方法によって取得された、エントロピー符号化符号ciのシーケンスを含むメタデータ圧縮データセットと、係数のビット平面を含む大きさ圧縮データセットと、をそれぞれが含む1つ又は複数の圧縮データセットを、
圧縮に用いたものと同じ圧縮パラメータを用いて、係数のシーケンスをそれぞれが含む1つ又は複数の対応する展開データセットに展開する方法において、各係数が大きさを符号化するmビットを有し、
a)予測子pred
i’をpred_initに初期化するステップであって、
前記予測モードが垂直である場合に、GCLIの行prev
iをpred_initに初期化するステップと、
b)前記メタデータ圧縮データセットから符号c
iを抽出するステップと、
c)前記予測モードが垂直である場合に、
pred
i’=prev
i
を計算するステップと、
d)前記符号c
iに対応する残差r
iを取得するステップであって、
(1)r
minとr
maxとの間に含まれるrの値全てについて、請求項1のステップB.g)を実行して、表を提供するステップ、
(2)前記表から前記符号ci
iに対応する前記残差r
iを取得するステップ
を実行することによって、対応関係が
取得される、取得するステップと、
e)前記符号に対応する前記グループについて記憶されるビット平面の数n
bpを計算するステップであって、前記ビット平面の数が、
n
bp=r
i+pred
i’
である、計算するステップと、
f)前記ビット平面の数n
bpが0に等しい場合、前記展開データセット内で0においてt+1からmまで全てのビット平面を有するn個のmビットワードのシーケンスを提供するステップと、
g)前記ビット平面の数n
bpが0とは異なる場合、前記大きさ圧縮データセットからの後続のnビットのビット平面から抽出されたt+1からt+n
bpのビット平面を有し、且つ0に等しいt+1+nbpからmのビット平面を有するn個のmビットワードのシーケンスを提供するステップと、
h)前記予測モードが水平である場合に、pred
i’をn
bpで置換し、
前記予測モードが垂直である場合に、
prev
i
をn
bp
で置換するステップと、
i)前記メタデータ圧縮データセット内の全ての符号が使用されるまで、連続する符号及びビット平面についてステップb)からg)を繰り返すステップと、
を含むことを特徴とする方法。
【請求項12】
請求項11に記載の方法において、
請求項10に記載の方法により取得された2つ以上の圧縮データセットを展開するために、前記第2のデータセットの最初の行に対し、前記第1のデータセットの最後の行について取得されたpreviの対応する値を予測子predi’とすることを特徴とする方法。
【請求項13】
請求項1乃至12の何れか1項に記載の方法において、pred_initが、0に等しいか、又はint(m/2)に等しいことを特徴とする方法。
【請求項14】
M個の係数のシーケンスを含む入力データセットであり、各係数が大きさを符号化するmビットを有する前記入力データセットを、大きさ圧縮データセット、メタデータ圧縮データセットを含む圧縮データセットに圧縮するためのデバイスにおいて、請求項1乃至10の何れか1項に記載の方法のステップを実行するように構成される、論理回路、ASIC、FPGA、GPU、及びCPUのうちの少なくとも1つを含むことを特徴とするデバイス。
【請求項15】
請求項1乃至10のいずれか1項に記載の方法によって取得された圧縮データセットを、係数のシーケンスを含む展開データセットに展開するためのデバイスにおいて、前記圧縮データセットが、ライス符号化符号のシーケンスを含むメタデータ圧縮データセット、及び係数のビット平面を含む大きさ圧縮データセット
を含み、各係数が、大きさを符号化するmビットを有し
、前記展開データセットが、M個の係数のシーケンスを含み、各係数が大きさを符号化するmビットを有し、
請求項11または12、もしくは請求項11または12を引用する請求項13に記載の方法のステップを実行するように構成される、論理回路、ASIC、FPGA、GPU、及びCPUのうちの少なくとも1つを含むことを特徴とするデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
発明は、係数のシーケンスを含む入力データセットを圧縮データセットに圧縮するための方法、及び前記圧縮データセットを展開するための方法に関する。発明は、また、圧縮データセット、並びにこの圧縮方法を実行するためのデバイス及び前記展開方法を実行するためのデバイスに関する。
【背景技術】
【0002】
データ圧縮は、通信チャネルの利用可能な帯域幅又は記憶媒体の容量よりも大きなビットレート又はサイズを必要とするデータを送信又は記憶する必要があるときに必要とされる。これは、データが相当量の冗長性及び送信の目的に支障を来すことなく除去され得るある程度の詳細を含むときに、可能である。圧縮は、データが圧縮-展開サイクルによって修正されず、よって放出器及び受信機において一致するときに、可逆であると言われる。しかしながら、それは、データの本来の特性に依存するため、可逆圧縮を保証することは通常はできない。可逆圧縮において、冗長性、及び巧妙な符号化のみによってそれを除去する能力が、ビットレート又はデータコストを十分減少させることに常に成功するとは限らない。このような場合、不可逆な圧縮方式が必要とされ、符号化器は、品質を犠牲にして必要な圧縮データセットのサイズを保証するために、データ内に含まれる情報を量子化によって減少させる。
【0003】
文献SMPTE Registered Disclosure Document SMPTE RDD 35:2016,24 March 2016,pages 1-53,XP055366991は、TICOビデオ圧縮方式ビットストリーム、復号プロセス、及びビットストリームをIPネットワーク上にマッピングするための規定を説明する。このプロセスでは、残差が、1進符号化を用いて取得され、符号化される。
【0004】
文献国際公開第03/092286号パンフレットは、パラメータ値を符号語インデックスにマッピングするための適応方法及びシステムを説明する。この方法は、差又はパラメータを少なくとも第1のグループ及び第2のグループにソートするステップを必要とする。これは、符号化器及び復号器において追加のバッファリング及び処理を必要とする。これは、プロセスにレイテンシも追加する。
【0005】
文献欧州特許出願公開第2773122A1号明細書もまた、TICOビデオ圧縮方式に関連し、可逆データ圧縮のための方法及びデバイスを説明する。方法及びデバイスにおいて、前記データをmビットのn個のワードのグループにグループ化し、各グループについて最大符号化ラインインデックス(GCLI)の値を検出し、GCLIは、グループ内のワードのビットの中で最高重みの非ゼロビットのインデックスであり、各グループについてグループのワードの最低重みのGCLIビットを含む出力データセット及びGCLIの値を含むメタデータを生成する。この方法は、実施において非常に簡単であり、特に、データの多くが小さな値を有する場合に非常に効率的である。GCLIの値は、0とmとの間に含まれ、0は、グループの全てのワードがゼロであるとき、mは、グループ内の少なくとも1つのワードが重みのビットm=1を有するときである。したがって、GCLIの二値化は、[Log2(m)]ビットを必要とする。[χ]は、xより大きい最小の整数である。この文献は、出力データセット内のGCLIをGCLI値とGCLIの予測値との間の差によって置換する改善策も提案する。そうすることで、符号化されるべき値が小さいほど、1進符号化は、GCLIの二値化よりもあまり空間を必要としない可能性がある。しかしながら、前記改善策を使用するときでさえ、GCLIの符号化は、特に係数のうちの多くが0になるときに、圧縮データセット内のかなりの体積を表し得るように見える。さらに、圧縮データセットサイズがデータ予算を超え、且つ不可逆圧縮が実行されなければならないとき、この文献は、量子化の必要性に対処しない。したがって、実施が簡単で、GCLIを含むメタデータを符号化するための空間をあまり必要とせず、量子化の問題に対処する、入力データセットを圧縮する方法が必要である。
【発明の概要】
【0006】
上述した問題を解決することが、本発明の目的である。特に、低い複雑性を有する圧縮及び展開方法及びデバイスを提供することが、本発明の目的であり、メタデータに必要なデータ予算が、減少する。
【0007】
発明は、独立請求項によって定義される。従属請求項は、有利な実施形態を定義する。
【0008】
発明の第1の態様によれば、圧縮パラメータに従って、1つ又は複数の入力データセットであり、入力データセット又は各入力データセットが、M個の係数のシーケンスを含み、各係数が0と2m-1との間に含まれる大きさを符号化するmビットを有する、1つ又は複数の入力データセットを、大きさ圧縮データセット及びメタデータ圧縮データセットをそれぞれが含む1つ又は複数の対応する圧縮データセットに圧縮する方法において、前記圧縮パラメータが、M、m、n、t、量子化のタイプ、負優先又は正優先の何れかであるマッピングモード、入力データセットが表示画像を表す場合の表示画像の行及び列の数、画素のシーケンスが表示画像の無相関化変換である場合のサブバンドの行の数、水平予測又は垂直予測であり得る予測モード、予測子の初期値が決定される方法、エントロピー符号化モード、エントロピー符号化がライス符号化である場合のライス符号化のパラメータkの値、及び境界モードを含んでもよく、
入力データセット又は各入力データセットについて、
A.n個の係数の1つ又は複数の連続グループに係数をグループ化するステップであって、グループ化因数nが、2以上であり、係数の各グループが、係数の異なる重みに対しm個の大きさビット平面を有する、グループ化するステップと、
B.係数の各グループiについて、
a)最大符号化ラインインデックス(GCLI)の値を決定するステップであって、GCLIiが、前記グループiにおける係数の大きさのビットのうち最高重みの非ゼロビットのインデックスであり、インデックスが、最下位ビットについての1から最上位ビットについてのmまでカウントされており、GCLIが、係数の全てがゼロに等しいグループについて0である、決定するステップと、
b)量子化係数が0から2(m-t)-1の範囲に含まれるように、量子化を実行するステップであって、n個の量子化係数を提供し、tが、量子化レベルである、実行するステップと、
c)GCLIi≧t+1である場合、前記グループの各ビット平面について、量子化係数の重み1から重みGCLIi-tを有するビット平面を、大きさ圧縮データセットにコピーするステップと、
d)GCLIi≦tである場合に何も行わないステップと、
e)係数の前記シーケンス内の先行係数の1つ又は複数のグループのGCLIの関数で、GCLIiの予測子prediを計算するステップであって、係数の前記シーケンスの係数の最初のグループについて、予測子prediが、pred_initに等しい、計算するステップと、
f)残差ri、
ri=max(GCLIi-t,0)-max(predi-t,0)
を計算するステップと、
g)残差riを符号にマッピングするステップであって、
(1)rmin=-max(predi-t,0)である、GCLIiの全ての可能な値についての残差の最小値であるrminを計算するステップと、
(2)rmax=max(m-max(predi,t),0)である、GCLIiの全ての可能な値についての残差の最大値であるrmaxを計算するステップと、
(3)負優先マッピングモードの場合、Cfirst=-1、正優先マッピングモードの場合、Cfirst=+1を計算するステップと、
(4)- 境界モードが「最小値による境界」である場合、トリガ=|rmin|、
- 境界モードが「最小値/最大値による境界」である場合、トリガ=MIN(|rmin|,rmax)、
- 境界モードが「最大値による境界」である場合、トリガ=rmax、
- 境界モードが「境界なし」である場合、トリガ=m、
を計算するステップと、
(5)|r|≦トリガである場合、
r*Cfirst>0のときに、C=2*|r|-1であり、
r*Cfirst>0でないときに、C=2*|r|であり、
|r|≦トリガでない場合、C=トリガ+|r|であるステップと、
を実行することによって前記マッピングが取得可能である、マッピングするステップと、
h)符号Cのエントロピー符号化を提供するステップ、及び前記符号化をメタデータ圧縮データセット内にコピーするステップと、
を含む方法が、提供される。
【0009】
好ましくは、前記エントロピー符号化はライス符号化であり、k=0、1、又は2である。より好ましくは、k=0である。
【0010】
好ましくは、nは、8以下であるか、又は4に等しい。
【0011】
前記量子化は、係数のグループのt個の最下位ビット平面を除去することによって有利に実行され得る。
【0012】
前記入力データセットは、非無相関化入力データセットに対して無相関化変換を実行することによって取得され得る。
【0013】
M個の係数の前記シーケンスが、画素の行及び列を含む表示画像の1つ若しくは複数の行の画素のシーケンス、又は画素の行及び列を含む表示画像の無相関化変換のサブバンドの1つ若しくは複数の行に対応し得る。
【0014】
水平予測を用いた発明の実施形態によれば、ステップB.e)において、GCLIiの前記予測子prediは、係数のシーケンスにおける係数の前のグループのGCLIであり、係数のシーケンスにおける係数の第1のグループについてpred_initである。
【0015】
垂直予測を用いた発明の実施形態によれば、ステップB.e)において、GCLIiの前記予測子prediは、GCLIがtよりも大きい場合に画素の前の行の同一列の画素のグループの前記GCLIであり、前記GCLIがt以下である場合に0であり、画素の最初の行の画素のグループについてpred_initである。
【0016】
垂直予測を用いた発明の圧縮方法の好適な実施形態において、前記1つ又は複数の入力データセットは、少なくとも2つの入力データセットを含み、第1の入力データセットは、量子化レベルt1を有し、第2の入力データセットは、量子化レベルt2を有し、表示画像内で、第1の入力データセットの画素の最後の行は、第2の入力データセットの画素の最初の行の上にあり、第2の入力データセットの画素の最初の行の画素のグループについての予測子は、前記GCLI>t1の場合に第1の入力データセットの同一列内の画素の最後の行の画素のグループのGCLIに等しく、前記GCLI≦t1の場合に0に等しい。
【0017】
発明の第2の態様によれば、圧縮パラメータに従って、
同一の圧縮パラメータを用いて発明の第1の態様の方法によって取得可能な、エントロピー符号化符号ciのシーケンスを含むメタデータ圧縮データセットと、係数のビット平面を含む大きさ圧縮データセットと、をそれぞれが含む1つ又は複数の圧縮データセットを、係数のシーケンスをそれぞれが含む1つ又は複数の対応する展開データセットに展開する方法において、各係数が大きさを符号化するmビットを有し、
a)予測子predi’をpred_initに初期化するステップであって、
予測モードが垂直である場合に、GCLIの行previをpred_initに初期化するステップと、
b)前記メタデータ圧縮データセットから符号ciを抽出するステップと、
c)予測モードが垂直である場合に、predi’=previを計算するステップと、
d)前記符号ciに対応する残差riを取得するステップであって、
(1)rminとrmaxとの間に含まれるrの値全てについて、発明の第1の態様のステップB.g)を実行して、表を提供するステップ、
(2)前記表から前記符号ciiに対応する残差riを取得するステップ
を実行することによって、対応関係が取得可能である、取得するステップと、
e)前記符号に対応するグループについて記憶されるビット平面の数nbpを計算するステップであって、ビット平面の前記数が、
nbp=ri+predi’
である、計算するステップと、
f)前記ビット平面の数nbpが0に等しい場合、展開データセット内で0においてt+1からmまで全てのビット平面を有するn個のmビットワードのシーケンスを提供するステップと、
g)前記ビット平面の数nbpが0とは異なる場合、大きさ圧縮データセットからの後続のnビットのビット平面から抽出されたt+1からt+nbpのビット平面を有し、且つ0に等しいt+1+nbpからmのビット平面を有するn個のmビットワードのシーケンスを提供するステップと、
h)予測モードが水平である場合に、predi’をnbpで置換し、
予測モードが垂直である場合に、previ=nbpを置換するステップと、
i)メタデータ圧縮データセット内の全ての符号が使用されるまで、連続する符号及びビット平面についてステップb)からg)を繰り返すステップと、
を含む方法が提供される。
ステップd)において、残差riは、ステップd(1)及びd(2)を実際に実行することによって、又は探索アルゴリズム若しくは数式などの他の等価な方法によって、実行され得る。
【0018】
垂直予測を用いた発明の前記好適な実施形態に従って圧縮が実行されたときに、これらの2つ以上の入力データセットを展開するための方法において、第2のデータセットの最初の行について、第1のデータセットの最後の行について取得されたpreviの対応する値を、予測子predi’として有利にとり得る。
【0019】
発明の圧縮方法及び展開方法において、pred_initは、0に等しくてもよく、又はint(m/2)に等しくてもよい。
【0020】
発明の第3の態様によれば、未圧縮のデータセットに対応する圧縮データセットにおいて、前記未圧縮のデータセットが、M個の係数のシーケンスを含み、各係数が、大きさを符号化するmビットを有し、前記圧縮データセットが、発明の圧縮方法によって前記未圧縮のデータセットから取得可能であり、
・エントロピー符号化符号のシーケンスを含むメタデータ圧縮データセット、及び
・係数のビット平面を含む大きさ圧縮データセット
を含む圧縮データセットが提供される。
【0021】
発明の第4の態様によれば、M個の係数のシーケンスを含む入力データセットであり、各係数が大きさを符号化するmビットを有する入力データセットを、大きさ圧縮データセット、メタデータ圧縮データセットを含む圧縮データセットに圧縮するためのデバイスにおいて、発明の圧縮方法のステップを実行するように構成される、論理回路、ASIC、FPGA、GPU、及びCPUのうちの少なくとも1つを含むデバイスが提供される。
【0022】
発明の第5の態様によれば、圧縮パラメータを表すデータを有する圧縮データセットであり、前記圧縮パラメータが、M、m、n、tの値、量子化のタイプ、負優先又は正優先の何れかであるマッピングモード、エントロピー符号化のタイプ、及び予測モードを含み、ライス符号化符号のシーケンスを含むメタデータ圧縮データセット、及び係数のビット平面を含む大きさ圧縮データセットを含む、圧縮データセットを、係数のシーケンスを含む展開データセットに展開するためのデバイスにおいて、各係数が、大きさを符号化するmビットを有し、前記圧縮データセットが、発明の圧縮方法によって展開データセット内に取得可能であり、前記展開データセットが、M個の係数のシーケンスを含み、各係数が大きさを符号化するmビットを有し、発明の展開方法のステップを実行するように構成される、論理回路、ASIC、FPGA、GPU、及びCPUのうちの少なくとも1つを含むデバイスが提供される。
【図面の簡単な説明】
【0023】
【
図1】
図1は、発明の圧縮のためのデバイスと展開のためのデバイスとの間のデータフローの概略的表現である。
【
図2】
図2は、2つの入力データセット、及び2つのデータセットの境界において垂直予測がどのように実行されるか、量子化なしのGCLIの関数の残差を概略的に表現する。
【
図3】
図3は、量子化なしのGCLIの関数の残差を表すグラフである。
【
図4】
図4は、量子化ありのGCLIの関数の残差を表すグラフである。
【
図5】
図5は、|r
min|がr
maxより小さい場合に、負値優先及び正値優先のそれぞれをマッピングすることによって始まる、残差と符号との間のマッピングを表すグラフである。
【
図6】
図6は、|r
min|がr
maxより小さい場合に、負値優先及び正値優先のそれぞれをマッピングすることによって始まる、残差と符号との間のマッピングを表すグラフである。
【
図7】
図7は、|r
min|がr
maxより大きい場合に、負値優先及び正値優先のそれぞれをマッピングすることによって始まる、残差と符号との間のマッピングを表すグラフである。
【
図8】
図8は、|r
min|がr
maxより大きい場合に、負値優先及び正値優先のそれぞれをマッピングすることによって始まる、残差と符号との間のマッピングを表すグラフである。
【
図9】
図9は、異なる画像及び発明の異なる実施形態について得られる結果を示す。
【0024】
図面の製図は、縮尺通りに描かれておらず、比例して描かれているものでもない。
【発明を実施するための形態】
【0025】
図1は、発明の圧縮のためのデバイスと展開のためのデバイスとの間のデータフローの概略的表現である。入力データセットは、M個の係数のシーケンスを含んでもよく、それぞれが大きさを符号化するmビットを有する。入力データセットは、いくつかの行及び列を有する表示画像、又は画像のウェーブレット変換のサブバンドなどの表示画像の変換を表し得る。圧縮のためのデバイスは、入力データセットを処理し、圧縮データセットを生成する。圧縮データセットは、大きさ圧縮データセット及びメタデータ圧縮データセットを含み得る。さらに、圧縮のためのデバイスは、圧縮パラメータのセットを生成し得る。これらの圧縮パラメータは、以下を含み得る。
- M、入力データセット内の係数の数;
- m、入力データセットの係数の大きさにおけるビット数;
- n、グループ化因数;
- t、量子化レベル;
- 量子化のタイプ;
- マッピングモード、負優先又は正優先の何れかである;
- 入力データセットが表示画像を表す場合、表示画像の行及び列の数;
- 画素のシーケンスが表示画像の無相関化変換である場合に、行の数、及びサブバンド;
- 予測モード、水平予測又は垂直予測であり得る;
- 初期予測子 pred_init、先行GCLIが予測子の決定に利用可能でないときに使用される;
- 予測子の初期値が決定される方法;
- エントロピー符号化モード;
- エントロピー符号化がライス符号化である場合に、ライス符号化のパラメータkの値;
- 境界モード、以下のうちの1つである;
- 最小値による境界;
- 最小値/最大値による境界;
- 最大値による境界;
- 境界なし;
これらの圧縮パラメータは、圧縮のためのデバイスによって、及び展開のためのデバイスによって使用される。これらのパラメータのうちのいくつかが、圧縮デバイスから展開デバイスに通信されてもよく、又は圧縮デバイスと展開デバイスとの間で固定され、且つ事前に合意されてもよい。展開のためのデバイスは、入力データセットに類似する展開データセットを生成するが、量子化に起因してある程度の品質低下を伴う。
【0026】
下記の表1は、M=12個の係数のシーケンスの例であり、各係数は、m=15の大きさビットを有し、n=4個の係数の3つのグループにグループ化される。各グループについて、GCLIが表される。GCLIは、最大符号化ラインインデックスであり、即ち、前記グループ内の係数の大きさビットのうち、最高重みの非ゼロビットのインデックスである。この場合、係数のt=4の最下位ビット平面が、切り捨てられ、即ち、量子化レベルt=4である場合、簡易的な量子化が表される。
【0027】
3つの連続するグループのGCLIは、8、7、及び3である。予測法を使用し、GCLIを、式1、
r
i=GCLI
i-pred
i(式1)
によって与えられる残差で置換する場合、符号化される、より小さな値を取得する。さらに、量子化が実行されるとき、データを復号するための展開デバイスによって必要とされる残差r
iは、
r
i=max(GCLI
i-t,0)-max(pred
i-t,0)(式2)
のように計算され得る。
式2による残差r
iは、符号化される値を可能な限り小さく保ちながら、必要情報を復号器に提供する。予測子がシーケンス内の前のGCLIとされ(水平予測)、且つ例の最初のグループに先行するグループのGCLIが7であると仮定すると、残差r
iは以下の通りである。
【0028】
この例において分かるように、残差riは、より小さな値である。送信されるビット平面の数nbp、即ち、表1内の破線より上のビット平面の数は、GCLI>tのときGCLI-tに等しく、GCLI≦tのとき0に等しい。
【0029】
表3は、7つのGCLIを生成する7つのグループにグループ化された係数のシーケンスの取り扱いを示す例である。量子化レベルtは、6である。符号化器において、最初のグループについての初期予測子は、pred_init=0とされる。後続の予測子は、シーケンスGCLI
i-1内の前のグループのGCLIとされる。この予測モードは、汎用的な場合に適用し、入力データセットが画像を表し、且つ水平予測モードが使用されるときに適用する。残差r
iは、式2に従って計算される。n
bpビット平面は、量子化された係数から大きさ圧縮データセットにコピーされる。残差のシーケンス及びビット平面が、復号器に提供される。
復号器において、最初のグループについての初期予測子は、符号化器と同じやり方でとられる(例では、predi_init=0)。ビット平面の数n
bpは、式3を使用して計算される。
n
bp=r
i+pred
i’(式3)
後続グループについての予測子は、現在のグループのn
bpとされ、それは、量子化された係数のGCLIに対応する。展開データセット係数のGCLI’は、それらがヌルでないときにn
bp値にtを加算することによって得られてもよく、それらがヌルであるときは、0値のままである。
見て分かるように、これらのGCLI’は、入力データセットのGCLIがtよりも大きい場合に入力データセットのGCLIに等しく、GCLI≦tである場合にゼロに等しい。その場合、全ての係数ビット平面が除去されて、復号器においてヌル係数をもたらすためである。
【0030】
入力データセットが、画素の行及び列を含む表示画像の1つ若しくは複数の行の画素シーケンス、又は画素の行及び列を含む表示画像の無相関化変換のサブバンドの1つ若しくは複数の行に対応するとき、垂直予測が可能である。垂直予測が適切な結果をもたらすことが観察されている。
表4は、表3の例に類似であるが、垂直予測を適用する例を示す。GCLIの行lは、前の行l-1を考慮して処理される。予測子pred
iは、以下のように決定される。
GCLI
i(l-1)≦tの場合、pred
i=0、それ以外の場合、pred
i=GCLI
i(l-1)
残差は、式2に従って計算される。
復号器において、前の行(行l-1)の量子化係数に対応するGCLI’のセットは、行lの処理に使用するためのバッファに保持される。予測子pred’
iは、
pred’
i=GCLI’
i(l-1)(式4)
で計算され、ビット平面の数は、式3に従って計算される。現在の行についてのGCLI’は、ビット平面の数n
bp,iに等しく、後続行によって使用するために記憶される。データセットの最初の行について、値pred_initに初期化される行が使用される。
【0031】
入力データが画像を表し、2つ以上の入力データセットを含むとき、且つ第1のデータセットの最後の行が、第2のデータセットの最初の行のすぐ上にあるときに、これらの2つのデータセットは、前の段落で説明されたように、最初の行についての予測子の初期化を用いて、独立して処理され得る。しかしながら、発明の好適な実施形態において、第1のデータセットの最後の行が、第2のデータセットの最初の行についての予測子として使用されてもよい。第1のデータセットの量子化レベルt
1が、第2のデータセットの量子化レベルt
2とは異なるとき、特別な状況が発生する。
図2は、第1のデータセットが量子化レベルt
1で量子化される状況を表す。第1のデータセットの最後の行(行l-1)は、GCLI g
1を有するグループ11を含む。第2のデータセット20は、g
1のグループのすぐ下にGCLI g
2を有する最初の行(行l)を含む。
表5は、第1のデータセットが量子化レベルt
1=10を有し、第2のデータセットが量子化レベルt
2=6を有する例である。
表4の場合に対する差異は、符号化器において、予測子が、以下のように決定されることである。
GCLI
i(l-1)≦t
1の場合、pred
i=0、それ以外の場合、pred
i=GCLI
i(l-1)(式5)
この場合、t
1は、tの代わりに使用される。復号器において、予測子は、第1のデータセットの最後の行のprev
i要素からとられる。
【0032】
図3は、量子化なしで、予測子pred=2及びpred=8の2つの値について式1によって与えられる、GCLIの関数における残差を表すグラフである。残差の可能な値の数は、GCLIの値の数に等しい。予測子が、適切な予測子である場合、残差は、0に近いか、又は0に等しい。
【0033】
図4は、量子化ありで、0と15(又はより概略的には、m)との間のGCLIの可能な値の関数における残差を表すグラフであり、式2によって与えられるように、量子化レベルtが4に等しい。pred=8の場合、残差は、-4に等しい下限r
minを有する。pred=2の場合、残差は、0に等しい下限r
minを有する。上限r
maxは、
図3のものと同一であり、r
max=13である。t=1、pred=8の場合についてのグラフも、表されている。下限r
minは、0であり、上限r
maxは、5である。
残差の下限r
min及び上限r
maxの概略的表現は、式、
r
min=-max(pred
i-t,0)(式6)
及び
r
max=max(m-max(pred
i,t),0)(式7)
によって与えられる。
量子化後の残差の値の範囲は、量子化なしの値の範囲に対して減少される。
【0034】
発明によれば、残差の値は、負でない整数Cにマッピングされ得る。これは、
図5、6、7、及び8上に示される。r
minとr
maxとの間の残差が、値r=0をC=0にマッピングすること、及び、次いでr=-1をC=1に、r=1をC=2に、r=-2をC=3にマッピングすることなどによって、負でない整数の範囲にマッピングされ得る。これは、
図5~
図8の四角印によって表される。
図5及び
図7において、負の値r=-1は、最初にC=1にマッピングされる(負優先マッピング)。
図6及び
図8において、正の値r=1は、最初にC=1にマッピングされる(正優先マッピング)。
図5及び
図6は、m=15、pred=8、及びt=4の状況を表すグラフである。r
maxの値は、r
minの絶対値よりも大きい。GCLIの可能な値は、0~15の範囲内である。このようにして、rの最確値、即ち、0付近の値又はrが、Cの最小値にマッピングされる。次いで、Cは、後述されるように、効率的に符号化され得る。
図7及び
図8は、m=15、pred=12、及びt=2の状況を表すグラフである。
【0035】
発明の好適な実施形態によれば、負でない整数Cへの残差のマッピングは、r
maxが|r
min|よりも大きいときに、Cの値の範囲が、r
minより大きい残差を(2ずつ進めるのではなく)Cの連続値にマッピングすることによって減少され得ることを考慮に入れることによって、改善され得る。これは、「有界C」法と呼ばれ、丸印によって
図5及び
図6上に表される。Cの値は、負優先の場合(
図5)についての最大値14に代わって、及び正優先の場合(
図6)についての最大値13に代わって、最大値11に到達する。
図7及び
図8上で丸印によって示されるように、r
maxが、|r
min|より小さいときに、類似の結果が得られ得る。Cの値は、負優先の場合(
図7)についての最大値19に代わって、及び正優先の場合(
図8)についての最大値20に代わって、最大値13に到達する。したがって、Cの最大値は、「有界C」法なしのCの値に関して境界を有する。
「最小値による境界」オプションでは、トリガとr
maxとの間に含まれる残差についての符号Cの値が、もしあれば、「有界C」法なしのときよりも小さい。
「最大値による境界」オプションでは、-トリガとr
minとの間に含まれる残差についての符号Cの値が、もしあれば、「有界C」法なしのときよりも小さい。
「最小値/最大値による境界」オプションでは、-トリガとr
minとの間に含まれる残差についての符号Cの値がもしあれば、及び、トリガとr
maxとの間に含まれる残差についての符号Cの値がもしあれば、「有界C」法なしのときよりも小さい。
【0036】
残差の範囲に対応する符号Cは、負優先又は正優先マッピングモードによれば、マッピングアルゴリズムの以下のステップを実行することによって取得され得る。
我々は、まず、2つの下記のパラメータを定義する。
負優先の場合、C
first=-1であり、正優先の場合、+1である。
発明の「有界C」の改善策を使用するとき、以下のうちの1つである境界モードが選択される。
- 最小値による境界
- 最小値/最大値による境界
- 最大値による境界
- 境界なし
トリガは、以下のように決定される。
最小値による境界の場合、トリガ=|r
min|
最小値/最大値による境界の場合、トリガ=MIN(|r
min|,r
max)
最大値による境界の場合、トリガ=r
max
境界なしの場合、トリガ=m
符号Cは、次いで、以下のステップを実行することによって計算され得る。
|r|≦トリガである場合、
r
*C
first>0のときに、
C=2
*|r|-1、
r
*C
first>0でないときに、C=2
*|r|
|r|≦トリガでない場合、C=トリガ+|r|
「負優先」オプションは、予測子よりも低い全ての値についてより短い符号を保証し、それが、量子化によって除去された全ての値を含むため、より興味深い。これは、
図9に示され、
図9において、「負優先」法の相対的利点が、「正優先」法より明確に優れている。
境界モード「最小値/最大値による境界」は、方法に結び付く境界モード「最小値による境界」を上回る著しい利点を供給せず、したがって、この実装が、r
maxを考慮しないことによって利益を供給する場合、方法が安全に単純化され得る。
また、マッピングは、所定のルックアップテーブルから取得され得る。
逆マッピングは、全単射であり、したがって、その逆は、復号器において実行され得る。
下記の表6は、1から8までの8個の連続するGCLI’の例を提供し、係数のグループについて、m=15ビットに符号化される。量子化レベルは、t=4である。i=1についての初期予測子は、int(m/2)、即ち、7として選択されている。後続GCLI毎に、予測子は、前のGCLIであると決定されている。連続するGCLI毎に、式2に従って残差r
iが計算され、r
min及びr
maxは、式6及び7にそれぞれ従って決定されている。トリガの値は、異なるオプションに従って、各GCLIについて計算されている。最後のラインにおいて、符号Cは、オプション「最小値による境界」及び負優先においてである。各GCLIは、現在のGCLIの予測子pred
iに依存して、入力データセット内の他のGCLIから独立して処理される。
【0037】
表7は、異なる境界モード及びマッピングモードに従って、8個の符号Cを符号化するために必要なビット数を与える。
【0038】
太字の値は、表6に示される例に対応する。負優先が、より適切な結果をもたらすことが分かる。「最小値/最大値による境界」の境界モードは、より適切な結果をもたらすが、「最小値による境界」もまた、適切である。
【0039】
符号化器において準備される情報、即ち、ビット平面及び残差を符号化する符号Cは、復号器が、受信された符号C及び再構築された予測子から、再構築のために大きさ圧縮データセットから抽出されるビット平面の数n
bpを決定し得るように、元の量子化されたデータセットである。残差を符号化するために符号化器において使用されるトリガは、復号器において必要とされず、メタデータ圧縮データセットにおいて送信されない。
復号器が、Cの値を受信し、前のステップから、又はpred_initから、predの値を有する。これらの2つの値から、復号器は、式6及び7それぞれに従って、r
min及びr
maxを計算し得る。マッピングモード及び境界モードの知識を有すると、復号器が、トリガを計算する。次いで、復号器は、マッピングアルゴリズムの上記ステップに従って、r
minとr
maxとの間のrの全ての値に対応する符号Cを計算し得る。これは、r
min及びr
maxの間のrの値とCの対応する値との間の対応関係を与える表を生成する。次いで、復号器は、この表におけるCに対応する値としてrの値を取得する。
表8の例において、符号C=5が、7に等しい予測子、及び量子化レベルt=4と共に受信された。r
min及びr
maxの値が計算されてもよく、r
minとr
maxとの間の全ての可能な残差について表が構築される。これらの11個のrの値のそれぞれについての符号Cが計算され、表に挿入される。受信された符号C=5の値は、そのとき、rの対応する値、r=-3を見つけるために表内を探索される。テーブル内の(二分)探索又は数式などの、符号Cの復号を実行するための他の等価な方法。
【0040】
発明の方法において残差について取得される符号Cは、負でない整数である。予測子が正確な予測子である場合、残差は、小さな値となる。エントロピー符号化は、メタデータ内のCを符号化するために使用される。Cについての好適なエントロピー符号化は、ライス符号化である。パラメータkに依存した負でない整数Nのライス符号化は、以下の通りである。
- Nを2
kで除算し、結果となる商が1進符号化される。
- 除算の剰余が、kビットで2進符号化される。
0と10との間のN、並びにk=0、1、及び2についての例としての値が、下記の表において与えられる。
【0041】
k=0の場合、N=0についての符号の長さは、1ビットである。したがって、予測が正確であり、且つ値0が符号化される残差の中で頻繁にあるとき、値k=0が、発明の方法のための好適な値である。しかしながら、予測の正確性が完全ではない場合、より大きなNの値が発生し、k=1又は2などのより大きなkの値が、最適であり得る。その場合、Nの値が大きいほど、より少ないビットを必要とする。ライス符号化は、プレフィックス符号である。したがって、可能な符号のセット内の符号は、可能な符号のセット内の別の符号のプレフィックスではない。特殊なマーカーは、符号間に必要ではなく、復号器は、メタデータ圧縮データセットから連続的な符号を明確に抽出し得る。
【0042】
量子化ステップは、0と2m-1との間の、係数の大きさの2m個の値のセットを、0と2(m-t)-1との間の2m-t個の値のセットに適用する。この量子化を実行するための簡略的な方法は、非量子化係数のt個の最低重みビットを除去することによる。しかしながら、他の量子化方法が、発明において使用されてもよい。
【0043】
図9は、異なる画像及び発明の異なる実施形態について得られる結果を示す。16個のテスト画像のそれぞれについて、棒グラフは、文献SMPTE RDD35:2016などにおける、発明の符号化が使用されないが、残差が1進符号化を使用して符号化される方法に対するPSNR(ピーク信号対雑音比)を示す。棒グラフは、
・負優先マッピングモードで|r
min|境界のみが使用される場合(min_neg1st)、
・正優先マッピングモードで|r
min|境界のみが使用される場合(min_pos1st)、
・負優先マッピングモードで|r
min|及びr
max両方の境界が使用される場合(minmax_neg1st)、
・正優先マッピングモードで|r
min|及びr
maxの両方の境界が使用される場合(minmax_pos1st)、
・負優先マッピングモードで|r
min|もr
maxも境界が使用されない場合(no_minmax)
を連続的に表す。
これらの結果は、|r
min|及びr
max両方の境界を使用することが、|r
min|境界のみを使用することに対して非常に小さな改善をもたらすことを示す。両方の場合において、負優先マッピングモードを使用することが、正優先マッピングモードを使用することよりも著しく良好である。
【0044】
本明細書は、係数の大きさの処理に対処する。方法は、符号なし係数に適用する。方法は、入力データが符号あり係数を含むときも同様に適用する。これらの符号あり係数は、符号+大きさとして符号化されてもよく、又は符号+大きさ形式に変換されてもよい。グループの係数の符号ビットは、符号ビット平面としてグループ化され、符号ビット平面は、大きさビット平面と共に処理される。発明は、入力データセットを圧縮するための方法に関する。入力データセット内の係数は、係数のグループにグループ化され、各グループを表すために必要とされるビット平面の数、GCLIが決定され、量子化が適用され、限定された数のビット平面を保持し、予測メカニズムが、残差を取得するためにGCLIに適用され、残差のエントロピー符号化が実行される。エントロピー符号化された残差及びビット平面は、メタデータにおいて最小コストで、復号器が量子化されたデータを再構築することを可能にし続ける。