(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-04
(45)【発行日】2024-04-12
(54)【発明の名称】少なくとも1つの画像を表すデータストリームをコーディングおよび復号するための方法およびデバイス
(51)【国際特許分類】
H04N 19/103 20140101AFI20240405BHJP
H04N 19/157 20140101ALI20240405BHJP
H04N 19/176 20140101ALI20240405BHJP
【FI】
H04N19/103
H04N19/157
H04N19/176
(21)【出願番号】P 2020571524
(86)(22)【出願日】2019-06-18
(86)【国際出願番号】 FR2019051478
(87)【国際公開番号】W WO2020002795
(87)【国際公開日】2020-01-02
【審査請求日】2022-03-25
(32)【優先日】2018-06-27
(33)【優先権主張国・地域又は機関】FR
【前置審査】
(73)【特許権者】
【識別番号】591034154
【氏名又は名称】オランジュ
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】フェリックス・アンリ
(72)【発明者】
【氏名】モーセン・アブドリ
【審査官】岩井 健二
(56)【参考文献】
【文献】米国特許出願公開第2015/0172661(US,A1)
【文献】国際公開第2015/049491(WO,A1)
【文献】国際公開第2007/079964(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
少なくとも1つの画像を表すコード化データストリームを復号するための方法であって、前記画像がブロックに分割され、前記復号方法が、現在ブロックと呼ばれる、前記画像の少なくとも1つのブロックに対して、
- 前記現在ブロックのコーディングモードを示す情報の項目を復号するステップ(E42)と、
- 前記現在ブロックの前記コーディングモードが第1のコーディングモードに対応するとき、前記現在ブロックに関連する予測残差を変換領域において逆量子化するための第1の量子化ステップの決定(E430)を備える、前記現在ブロックを復号するステップ(E43)と、
- 前記現在ブロックの前記コーディングモードが第2のコーディングモードに対応するとき、前記現在ブロックに関連する予測残差を空間領域において逆量子化するための第2の量子化ステップの決定(E441)を備える、前記現在ブロックを復号するステップ(E44)と
を備え、
- 前記第1の量子化ステップおよび前記第2の量子化ステップが、同じ量子化パラメータに従って決定され、
前記現在ブロックの前記コーディングモードが前記第2のコーディングモードに対応するとき、前記現在ブロックを前記復号するステップが、前記現在ブロックの
少なくとも1つのピクセルに対して、
- 以前に復号された別のピクセルから前記ピクセルの予測を取得するステップであって、前記以前に復号された別のピクセルが、
前記画像の前記現在ブロッ
クに属する、ステップと、
- 前記ピクセルに関連する予測残差を復号するステップと、
- 前記第2の量子化ステップを使用して、前記ピクセルの前記予測および前記ピクセルに関連する前記予測残差から、前記ピクセルを再構成するステップと
をさらに備える、
復号方法。
【請求項2】
前記現在ブロックに関連する前記予測残差の係数は、前記現在ブロックの前記コーディングモードが前記第2のコーディングモードに対応するとき、前記現在ブロックの前記コーディングモードが前記第1のコーディングモードに対応するときに前記現在ブロックに関連する前記予測残差の前記係数を復号するために使用されたエントロピーデコーダによって復号される、請求項1に記載の復号方法。
【請求項3】
少なくとも1つの画像を表すコード化データストリームをコーディングするための方法であって、前記画像がブロックに分割され、前記コーディング方法が、現在ブロックと呼ばれる、前記画像の少なくとも1つのブロックに対して、
- 前記現在ブロックのコーディングモードを示す情報の項目をコーディングするステップ(E20)と、
- 前記現在ブロックの前記コーディングモードが第1のコーディングモードに対応するとき、前記現在ブロックに関連する予測残差を変換領域において量子化するための第1の量子化ステップの決定(E210)を備える、前記現在ブロックをコーディングするステップ(E21)と、
- 前記現在ブロックの前記コーディングモードが第2のコーディングモードに対応するとき、前記現在ブロックに関連する予測残差を空間領域において量子化するための第2の量子化ステップの決定(E221)を備える、前記現在ブロックをコーディングするステップ(E22)と
を備え、
- 前記第1の量子化ステップおよび前記第2の量子化ステップが、同じ量子化パラメータに従って決定され、
前記現在ブロックの前記コーディングモードが前記第2のコーディングモードに対応するとき、前記現在ブロックを前記コーディングするステップが、前記現在ブロックの
少なくとも1つのピクセルに対して、
-
別のピクセルから前記ピクセルの予測を取得するステップであって、
前記別のピクセルが、
前記画像の前記現在ブロッ
クに属する、ステップと、
- 前記ピクセルの前記予測から前記ピクセルに関連する予測残差を取得するステップと、
- 前記第2の量子化ステップを使用して、前記ピクセルに関連する前記予測残差を量子化するステップと、
- 前記量子化された予測残差をコーディングするステップと
を備える、
コーディング方法。
【請求項4】
前記現在ブロックに関連する前記予測残差の係数は、前記現在ブロックの前記コーディングモードが前記第2のコーディングモードに対応するとき、前記現在ブロックの前記コーディングモードが前記第1のコーディングモードに対応するときに前記現在ブロックに関連する前記予測残差の前記係数をコーディングするために使用されたエントロピーエンコーダによってコーディングされる、請求項3に記載のコーディング方法。
【請求項5】
前記第2の量子化ステップが、前記第1の量子化ステップに従って決定される、請求項1から4のいずれか一項に記載の方法。
【請求項6】
δ
1が前記第1の量子化ステップに対応し、かつa、b、c、d、eが所定のパラメータであるものとして、前記第2の量子化ステップが、a*δ
1+bまたは
【数1】
によって決定される、請求項5に記載の方法。
【請求項7】
前記第1の量子化ステップが、前記量子化パラメータの値に対してあらかじめ決定された量子化ステップテーブルから取得される、請求項1から4のいずれか一項に記載の方法。
【請求項8】
前記量子化パラメータが、D+λ*R関数を最適化するために使用されるラグランジアンλに対応し、ただし、Rが、前記コード化データストリームのレートに対応し、Dが、前記復号された画像の関連するひずみに対応する、請求項1
または2に記載の方法。
【請求項9】
前記量子化パラメータが、前記コード化データストリームの中でコーディングされるか、または前記コード化データストリームから復号される、請求項1から4のいずれか一項に記載の方法。
【請求項10】
前記第2のコーディングモードによる前記現在ブロックを前記復号するステップが、
- 前記現在ブロックに関連する別の予測残差を復号するステップと、
- 前記第1の量子化ステップを使用して、前記現在ブロックに関連する前記別の予測残差を逆量子化するステップと、
- 前記現在ブロックの再構成されたピクセルおよび前記逆量子化された前記別の予測残差から前記現在ブロックを再構成するステップと
をさらに備える、
請求項1または2に記載の復号方法。
【請求項11】
少なくとも1つの画像を表すコード化データストリームを復号するためのデバイスであって、前記画像がブロックに分割され、前記復号デバイスが、現在ブロックと呼ばれる、前記画像の少なくとも1つのブロックに対して、
- 前記現在ブロックのコーディングモードを示す情報の項目を復号し、
- 前記現在ブロックの前記コーディングモードが第1のコーディングモードに対応するとき、前記現在ブロックに関連する予測残差を変換領域において逆量子化するための第1の量子化ステップを決定することによって前記現在ブロックを復号し、
- 前記現在ブロックの前記コーディングモードが第2のコーディングモードに対応するとき、前記現在ブロックに関連する予測残差を空間領域において逆量子化するための第2の量子化ステップを決定することによって前記現在ブロックを復号するように構成されたプロセッサ(PROC0)を備え、
- 前記第1の量子化ステップおよび前記第2の量子化ステップが、同じ量子化パラメータに従って決定され、
前記現在ブロックの前記コーディングモードが前記第2のコーディングモードに対応するとき、前記プロセッサが、前記現在ブロックの
少なくとも1つのピクセルに対して、
- 以前に復号された別のピクセルから前記ピクセルの予測を取得することであって、前記以前に復号された別のピクセルが、
前記画像の前記現在ブロッ
クに属する、取得することと、
- 前記ピクセルに関連する予測残差を復号することと、
- 前記第2の量子化ステップを使用して、前記ピクセルの前記予測および前記ピクセルに関連する前記予測残差から、前記ピクセルを再構成することと
によって、前記現在ブロックを復号するようにさらに構成される、
デバイス。
【請求項12】
少なくとも1つの画像を表すコード化データストリームをコーディングするためのデバイスであって、前記画像がブロックに分割され、前記コーディングデバイスが、現在ブロックと呼ばれる、前記画像の少なくとも1つのブロックに対して、
- 前記現在ブロックのコーディングモードを示す情報の項目をコーディングし、
- 前記現在ブロックの前記コーディングモードが第1のコーディングモードに対応するとき、前記現在ブロックに関連する予測残差を変換領域において量子化するための第1の量子化ステップを決定することによって前記現在ブロックをコーディングし、
- 前記現在ブロックの前記コーディングモードが第2のコーディングモードに対応するとき、前記現在ブロックに関連する予測残差を空間領域において量子化するための第2の量子化ステップを決定することによって前記現在ブロックをコーディングするように構成されたプロセッサ(PROC)を備え、
- 前記第1の量子化ステップおよび前記第2の量子化ステップが、同じ量子化パラメータに従って決定され、
前記現在ブロックの前記コーディングモードが前記第2のコーディングモードに対応するとき、前記プロセッサが、前記現在ブロックの
少なくとも1つのピクセルに対して、
-
別のピクセルから前記ピクセルの予測を取得することであって、
前記別のピクセルが、
前記画像の前記現在ブロッ
クに属する、取得することと、
- 前記ピクセルの前記予測から、前記ピクセルに関連する予測残差を取得することと、
- 前記第2の量子化ステップを使用して、前記ピクセルに関連する前記予測残差を量子化することと、
- 前記量子化された予測残差をコーディングすること
によって、前記現在ブロックをコーディングするようにさらに構成される、
デバイス。
【請求項13】
コンピュータプログラムであって、前記プログラムがプロセッサによって実行されるとき、請求項1から2もしくは5から10のいずれか一項に記載の復号方法、または請求項3から9のいずれか一項に記載のコーディング方法を実施するための命令を備える、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の分野は、画像または画像のシーケンスを、詳細には、ビデオストリームをコーディングおよび復号する分野である。
【0002】
より詳細には、本発明は、画像のブロック表現を使用する、画像または画像のシーケンスの圧縮に関する。
【0003】
本発明は、特に、現在または将来のエンコーダ(JPEG、MPEG、H.264、HEVCなど、およびそれらの補正)において実施される画像コーディングまたはビデオコーディング、および対応する復号に適用され得る。
【背景技術】
【0004】
デジタル画像および画像のシーケンスは、メモリに関して多くの空間を占有し、そのことは、これらの画像を送信するとき、この送信のために使用されるネットワーク上での輻輳問題を回避するために、そうした画像を圧縮することを必要とする。
【0005】
ビデオデータを圧縮するための多くの技法がすでに知られている。これらの中で、HEVC圧縮規格(「High Efficiency Video Coding, Coding Tools and Specification」、Matthias Wien、Signals and Communication Technology、2015年)は、同じ画像(イントラ予測)または前もしくは後の画像(インター予測)に属する他のピクセルに対して、現在の画像のピクセルの予測を実施することを提案している。
【0006】
より具体的には、イントラ予測は画像内の空間的な冗長性を使用する。これを行うために、画像はピクセルのブロックに分割される。ピクセルのブロックは、次いで、画像の中のブロックの走査順序に従って、現在の画像の中の以前にコーディング/復号されたブロックに対応する、すでに再構成された情報を使用して予測される。
【0007】
さらに、従来の方式では、現在ブロックのコーディングは、予測子ブロックと呼ばれる、現在ブロックの予測、および現在ブロックと予測子ブロックとの間の差分に対応する、予測残差または「残差ブロック」を使用して実行される。得られた残差ブロックは、次いで、たとえば、DCT(離散コサイン変換)タイプの変換を使用して変換される。変換された残差ブロックの係数は、次いで、量子化され、エントロピーコーディングによってコーディングされ、この残差ブロックを予測子ブロックに加算することによって現在ブロックを再構成できる、デコーダへ送信される。
【0008】
復号は、画像ごとに、かつ各画像に対してブロックごとに行われる。各ブロックに対して、ストリームの対応する要素が読み取られる。残差ブロックの係数の逆量子化および逆変換が実行される。次いで、予測子ブロックを取得するためにブロック予測が計算され、復号された残差ブロックに予測(すなわち、予測子ブロック)を加算することによって現在ブロックが再構成される。
【0009】
米国特許第9253508号では、イントラモードにおいてブロックをコーディングするためのDPCM(差分パルスコード変調)コーディング技法が、HEVCエンコーダの中に統合される。そのような技法は、以前に再構成されている同じブロックのピクセルの別のセットによってイントラブロックのピクセルのセットを予測することにある。米国特許第9253508号では、コーディングされるべきイントラブロックのピクセルのセットは、ブロックの行、もしくは列、または行および列に対応し、ピクセルのセットを予測するために使用されるイントラ予測は、HEVC規格において定義される方向性イントラ予測のうちの1つである。
【0010】
しかしながら、そのような技法は最適ではない。確かに、イントラブロックのピクセルのセットの再構成は、ロスレスコーディングの場合には予測残差の加算に相当し、したがって、かなり小さい圧縮率を示すか、または予測に役立つピクセルの前記他のセットの逆変換および/もしくは逆量子化の後の、予測残差の加算に相当するかの、いずれかである。したがって、そのような技法は、イントラブロックの各ピクセルが、局所的な予測関数を使用して予測されること、および後続のピクセルが予測される前に、予測されたピクセルが再構成されることを可能にしない。確かに、この技法は、ピクセルの別のセットを予測するためにピクセルのあるセット(たとえば、ブロックの行/列)が再構成されることを必要とする。言い換えれば、ブロックの一部の各予測および再構成を用いて、ブロックのいくつかのピクセルが予測および再構成される。
【0011】
その上、米国特許第9253508号では、たとえば、HEVC規格において定義されるように、どのように従来のイントラ予測モードを行い、DPCM予測モードが共存するのかも、D+λR関数(ただし、Rは画像をコーディングするためのレートを表し、Dは関連するひずみを表し、λはラグランジアンを表す)を最小化することを目的とするレート/ひずみ最適化メカニズムに適合される、米国特許第9253508号において説明されるようなDPCMイントラ予測によってコーディングされるブロックに対する量子化ステップをどのように決定するのかも、説明されていない。
【0012】
したがって、画像データまたはビデオデータの圧縮を改善するための新たなコーディング方法および復号方法が必要である。
【先行技術文献】
【特許文献】
【0013】
【非特許文献】
【0014】
【文献】「High Efficiency Video Coding, Coding Tools and Specification」、Matthias Wien、Signals and Communication Technology、2015年
【発明の概要】
【課題を解決するための手段】
【0015】
本発明は先行技術を改善する。この目的のために、本発明は、ブロックに分割される少なくとも1つの画像を表すコード化データストリームを復号するための方法に関し、復号方法は、現在ブロックと呼ばれる、画像の少なくとも1つのブロックに対して、
- 現在ブロックのコーディングモードを示す情報の項目を復号することと、
- 現在ブロックのコーディングモードが第1のコーディングモードに対応するとき、現在ブロックに関連する予測残差を変換領域において逆量子化するための第1の量子化ステップの決定を備える、現在ブロックを復号することと、
- 現在ブロックのコーディングモードが第2のコーディングモードに対応するとき、現在ブロックに関連する予測残差を空間領域において逆量子化するための第2の量子化ステップの決定を備える、現在ブロックを復号することとを備え、
- 第1の量子化ステップおよび第2の量子化ステップは、同じ量子化パラメータに従って決定される。
【0016】
本発明によれば、変換領域において予測残差が量子化/逆量子化されるための第1の量子化ステップ、および空間領域において予測残差が量子化/逆量子化されるための第2の量子化ステップを規定することがそのように可能であり、第1および第2の量子化ステップは、同じ量子化パラメータによって決定される。したがって、第1および第2の量子化ステップは連結され、一緒に使用され得る。
【0017】
有利なことに、本発明によれば、具体的には現在ブロックに適用されるレート/ひずみ最適化メカニズムに対して、現在ブロックにとって利用可能な異なるコーディングモードにおいて使用される量子化ステップが一致するが、一部のブロックが第1のコーディングモードに従ってコーディングされ、かつ他のブロックが第2のコーディングモードに従ってコーディングされるとき、具体的には画像に適用されるレート/ひずみ最適化メカニズムに対して、量子化ステップはブロック間で同様に一致する。確かに、量子化ステップが一緒に連結されない場合、2つの量子化ステップのうちの一方が、他方の量子化ステップと比較して極めて大きくなることがある。極めて大きい量子化ステップを使用するコーディングモードに従ってコーディングされたブロックは、そのとき、小さい方の量子化ステップを使用する他のコーディングモードに従ってコーディングされた他のブロックとは異なり大きく圧縮されることになり、そのことは、画像における視覚的品質の著しい空間的変動性を、したがって、画像全体のより低い視覚的品質をもたらすことになる。
【0018】
本発明によれば、第1のコーディングモードは、変換領域におけるブロックのコーディングに対応する。言い換えれば、この第1のコーディングモードによれば、空間領域において、すなわち、元のブロックと予測されるブロックとの間で計算される、現在ブロックの予測残差は、たとえば、DCT変換によって変換されて、変換係数のブロックを提供する。変換係数のこのブロックは、次いで、第1の量子化ステップを使用して量子化される。
【0019】
第2のコーディングモードは、空間領域におけるブロックのコーディングに対応する。言い換えれば、この第2のコーディングモードによれば、空間領域において計算される現在ブロックの予測残差は、いかなる変換動作も受けることなく直接量子化される。
【0020】
本発明の一特定の実施形態によれば、現在ブロックのコーディングモードが第2のコーディングモードに対応するとき、現在ブロックの復号は、現在ブロックの各ピクセルに対して、
- 以前に復号された別のピクセルから前記ピクセルの予測を取得することであって、前記以前に復号された他のピクセルが、前記現在ブロック、または画像の以前に復号されたブロックに属する、ことと、
- 前記ピクセルに関連する予測残差を復号することと、
- 前記第2の量子化ステップを使用して、前記ピクセルに関連する前記予測残差を逆量子化することと、
- 逆量子化された予測残差に前記ピクセルの予測を加算することによって前記ピクセルを再構成することとをさらに備える。
【0021】
本発明のこの特定の実施形態によれば、第2のコーディングモードに従って、現在ブロックの予測は、以前に復号された現在ブロックのピクセル、または以前に復号された隣接ブロックのピクセルを使用して、現在ブロックの各ピクセルの局所的な予測によって取得される。ピクセル予測はそのように改善される。
【0022】
本発明はまた、ブロックに分割される少なくとも1つの画像を表すコード化データストリームをコーディングするための方法に関し、コーディング方法は、現在ブロックと呼ばれる、画像の少なくとも1つのブロックに対して、
- 現在ブロックのコーディングモードを示す情報の項目をコーディングすることと、
- 現在ブロックのコーディングモードが第1のコーディングモードに対応するとき、現在ブロックに関連する予測残差を変換領域において量子化するための第1の量子化ステップの決定を備える、現在ブロックをコーディングすることと、
- 現在ブロックのコーディングモードが第2のコーディングモードに対応するとき、現在ブロックに関連する予測残差を空間領域において量子化するための第2の量子化ステップの決定を備える、現在ブロックをコーディングすることとを備え、
- 第1の量子化ステップおよび第2の量子化ステップは、同じ量子化パラメータに従って決定される。
【0023】
本発明の一特定の実施形態によれば、現在ブロックのコーディングモードが第2のコーディングモードに対応するとき、現在ブロックのコーディングは、現在ブロックの各ピクセルに対して、
- 以前に復号された別のピクセルから前記ピクセルの予測を取得することであって、前記以前に復号された他のピクセルが、前記現在ブロック、または画像の以前に復号されたブロックに属する、ことと、
- 前記ピクセルの予測から前記ピクセルに関連する予測残差を取得することと、
- 前記第2の量子化ステップを使用して、前記ピクセルに関連する前記予測残差を量子化することと、
- 前記量子化された予測残差をコーディングすることとを備える。
【0024】
本発明によれば、現在ブロックは、従来のイントラ予測(第1のコーディングモード)、たとえば、HEVC規格において定義された予測モードのうちのいずれかによる空間予測によって、または以前に復号されている現在ブロックのピクセルの使用に基づく新たなイントラ予測(第2のコーディングモード)によって、コーディング/復号され得る。
【0025】
以後、ILR(ループ内残差)とも呼ばれる、この新たなイントラ予測によれば、各ピクセルが予測され、次いで、予測されたピクセルに対して残差が計算され、残差が量子化される。量子化された残差は、次いで、逆量子化され、ピクセルの値を再構成するとともにその復号された値を取得するために、ピクセルの予測に加算される。ピクセルのそのような復号された値は、次いで、現在ブロックの他のピクセルを予測するために使用され得る。
【0026】
有利なことに、そのようなイントラ予測方法は、従来のイントラ予測において使用される参照ピクセルよりも空間的に近いピクセルを使用して現在ブロックのピクセルを予測することができる。予測はそのように改善される。
【0027】
上述の復号方法またはコーディング方法の別の特定の実施形態によれば、第2の量子化ステップは、第1の量子化ステップに従って決定される。
【0028】
本発明のこの特定の実施形態によれば、量子化パラメータは、そのとき第1の量子化ステップに対応し、2つの量子化ステップは互いに依存する。
【0029】
この特定の実施形態の一変形形態として、δ1が第1の量子化ステップに対応し、かつa、b、c、d、eが所定のパラメータであるものとして、第2の量子化ステップは、a*δ1+bまたは
【0030】
【0031】
によって決定される。
【0032】
上述の復号方法またはコーディング方法の別の特定の実施形態によれば、第1の量子化ステップは、量子化パラメータの値に対してあらかじめ決定された量子化ステップテーブルから取得される。
【0033】
上述の復号方法またはコーディング方法の別の特定の実施形態によれば、量子化パラメータは、D+λ*R関数を最適化するために使用されるラグランジアンλに対応し、ただし、Rは、データストリームのレートに対応し、Dは、復号された画像の関連するひずみに対応する。
【0034】
上述の復号方法またはコーディング方法の別の特定の実施形態によれば、量子化パラメータは、データストリームの中でコーディングされるか、またはデータストリームから復号される。
【0035】
別の特定の実施形態によれば、第2のコーディングモードによる現在ブロックの復号は、
- 前記現在ブロックに関連する別の予測残差を復号することと、
- 前記第1の量子化ステップを使用して、前記現在ブロックに関連する前記他の予測残差を逆量子化することと、
- 現在ブロックの再構成されたピクセルおよび前記逆量子化された他の予測残差から前記現在ブロックを再構成することとをさらに備える。
【0036】
本発明のこの特定の実施形態によれば、現在ブロックが第2のコーディングモードに従ってコーディングされるとき、第2の予測残差は、ピクセルごとに、第1の予測残差をコーディングしたときに取得された予測からの現在ブロックに対してコーディング/復号される。この特定の実施形態の追加の特徴は、第1のコーディングモードに従ってコーディングされたブロックの復号ステップに対応する。したがって、特にエントロピーエンコーダ/デコーダレベルにおいて、両方のコーディングモードに対して類似のコーディング/復号を維持することが可能であり、したがって、圧縮性能をさらに改善する。
【0037】
本発明はまた、少なくとも1つの画像を表すコード化データのストリームまたは信号に関し、前記画像がブロックに分割され、コード化データストリームは、現在ブロックと呼ばれる、画像の少なくとも1つのブロックに対して、
- 現在ブロックのコーディングモードを示す情報の項目と、
- 現在ブロックのコーディングモードが第1のコーディングモードに対応するとき、第1の量子化ステップを使用して変換および量子化された係数を備える、現在ブロックに関連する予測残差と、
- 現在ブロックのコーディングモードが第2のコーディングモードに対応するとき、第2の量子化ステップを使用して空間領域において量子化された予測残差値を備える、現在ブロックに関連する予測残差とを備え、
- 第1の量子化ステップおよび第2の量子化ステップは、同じ量子化パラメータに従って決定される。
【0038】
本発明の一特定の実施形態によれば、コード化データストリームは、前記量子化パラメータをさらに備える。
【0039】
本発明はまた、上で規定した特定の実施形態のうちのいずれか1つによる復号方法を実施するように構成された復号デバイスに関する。この復号デバイスは、当然、本発明による復号方法に関係する様々な特性を備えることができる。したがって、この復号デバイスの特性および利点は、復号方法のものと同じであり、これ以上は詳述されない。
【0040】
復号デバイスは、具体的には、現在ブロックと呼ばれる、画像の少なくとも1つのブロックに対して、
- 現在ブロックのコーディングモードを示す情報の項目を復号し、
- 現在ブロックのコーディングモードが第1のコーディングモードに対応するとき、現在ブロックに関連する予測残差を変換領域において逆量子化するための第1の量子化ステップを決定することによって現在ブロックを復号し、
- 現在ブロックのコーディングモードが第2のコーディングモードに対応するとき、現在ブロックに関連する予測残差を空間領域において逆量子化するための第2の量子化ステップを決定することによって現在ブロックを復号するように構成されたプロセッサを備え、
- 第1の量子化ステップおよび第2の量子化ステップは、同じ量子化パラメータに従って決定される。
【0041】
本発明の一特定の実施形態によれば、そのような復号デバイスは、端末の中に備えられる。
【0042】
本発明はまた、上で規定した特定の実施形態のうちのいずれか1つによるコーディング方法を実施するように構成されたコーディングデバイスに関する。このコーディングデバイスは、当然、本発明によるコーディング方法に関係する様々な特性を備えることができる。したがって、このコーディングデバイスの特性および利点は、コーディング方法のものと同じであり、これ以上は詳述されない。
【0043】
コーディングデバイスは、具体的には、現在ブロックと呼ばれる、画像の少なくとも1つのブロックに対して、
- 現在ブロックのコーディングモードを示す情報の項目をコーディングし、
- 現在ブロックのコーディングモードが第1のコーディングモードに対応するとき、現在ブロックに関連する予測残差を変換領域において量子化するための第1の量子化ステップを決定することによって現在ブロックをコーディングし、
- 現在ブロックのコーディングモードが第2のコーディングモードに対応するとき、現在ブロックに関連する予測残差を空間領域において量子化するための第2の量子化ステップを決定することによって現在ブロックをコーディングするように構成されたプロセッサを備え、
- 第1の量子化ステップおよび第2の量子化ステップは、同じ量子化パラメータに従って決定される。
【0044】
本発明の一特定の実施形態によれば、そのようなコーディングデバイスは、端末またはサーバの中に備えられる。
【0045】
本発明による復号方法、それぞれ、コーディング方法は、様々な方法で、特に、配線された形態で、またはソフトウェア形態で、実施され得る。本発明の一特定の実施形態によれば、復号方法、それぞれ、コーディング方法は、コンピュータプログラムによって実施される。本発明はまた、前記プログラムがプロセッサによって実行されるとき、前に説明した特定の実施形態のうちのいずれか1つによる復号方法またはコーディング方法を実施するための命令を備えるコンピュータプログラムに関する。そのようなプログラムは、任意のプログラミング言語を使用することができる。プログラムは、通信ネットワークからダウンロードされてよく、かつ/またはコンピュータ可読媒体上に記録されてよい。
【0046】
このプログラムは、任意のプログラミング言語を使用することができ、部分的にコンパイルされた形態をなす、または任意の他の望ましい形態をなすなどの、ソースコード、オブジェクトコード、またはソースコードとオブジェクトコードとの間の中間コードの形態をなすことができる。
【0047】
本発明はまた、上述のようなコンピュータプログラムの命令を備えるコンピュータ可読記憶媒体またはデータ媒体に関する。上述の記録媒体は、プログラムを記憶できる任意のエンティティまたはデバイスであり得る。たとえば、媒体はメモリなどの記憶手段を備えることができる。一方、記録媒体は、電気ケーブルもしくは光ケーブルを介して、無線によって、または他の手段によって搬送され得る、電気信号または光信号などの、伝送できる媒体に相当することができる。本発明によるプログラムは、具体的にはインターネットタイプのネットワーク上でダウンロードされ得る。
【0048】
代替として、記録媒体は、プログラムがその中に組み込まれる集積回路に相当することができ、回路は、当該の方法を実行するように、または当該の方法の実行において使用されるように適合される。
【0049】
簡単な例示的非制限的な例として提供される、一特定の実施形態の以下の説明、および添付の図面を読むと、本発明の他の特性および利点がより明瞭に判明するであろう。
【図面の簡単な説明】
【0050】
【
図1】本発明の一特定の実施形態によるコーディング方法のステップを示す図である。
【
図2】本発明の一特定の実施形態による、イントラ予測モードを決定するための、現在ブロックの隣接ブロックの位置例を示す図である。
【
図3】本発明の一特定の実施形態による、現在ブロックのピクセルを予測するために使用される参照ピクセルの位置例を示す図である。
【
図4】本発明の一特定の実施形態による復号方法のステップを示す図である。
【
図5】本発明の一特定の実施形態による、画像の少なくとも1つのブロックを表すコード化データを備える信号例を示す図である。
【
図6】本発明の特定の実施形態のうちのいずれか1つによるコーディング方法を実施するように適合されたコーディングデバイスの簡略化された構造を示す図である。
【
図7】本発明の特定の実施形態のうちのいずれか1つによる復号方法を実施するように適合された復号デバイスの簡略化された構造を示す図である。
【発明を実施するための形態】
【0051】
一般原理
本発明の一般原理は、予測残差の変換係数を量子化するために使用される第1の量子化ステップ、および空間領域において予測残差の値を直接(すなわち、いかなる変換動作も伴わずに)量子化するために使用される第2の量子化ステップを、一緒に決定することである。この目的のために、第1および第2の量子化ステップは、同じ量子化パラメータに依存する。
【0052】
本発明の異なる特定の実施形態によれば、量子化パラメータは、第1および第2の量子化ステップのうちの一方もしくは他方に、またはエンコーダによってもしくはユーザによって決定される量子化パラメータに、またはエンコーダにおけるレート/ひずみ最適化の間に使用されるラグランジアンに、対応することができる。
【0053】
量子化パラメータはまた、データストリームの中でコーディングされてよく、デコーダへ送信されてよい。
【0054】
量子化パラメータが第1の量子化ステップに対応するとき、第2の量子化ステップは、第1の量子化ステップの線形関数もしくは多項式関数、またはより一般的な関数に従って決定され得る。
【0055】
本発明は、それぞれ、変換動作を伴う、また変換動作を伴わない、予測残差のコーディングを実行する異なるコーディングモードが、画像または画像のシーケンスをコーディング/復号するために同じシステムの中で使用されるとき、圧縮性能をそのように改善する。
【0056】
実施形態
図1は、本発明の一特定の実施形態によるコーディング方法のステップを示す。たとえば、画像のシーケンスI
1、I
2、...、I
Nbは、本発明の一特定の実施形態によるコード化データストリームSTRの形態をなしてコーディングされる。たとえば、そのようなコーディング方法は、
図6に関して後で説明するようなコーディングデバイスによって実施される。
【0057】
画像のシーケンスI1、I2、...、INbがコーディング方法の入力として提供され、Nbはコーディングされるべきシーケンスの画像の数である。コーディング方法は、入力として提供された画像のシーケンスを表すコード化データストリームSTRを出力する。
【0058】
知られている方式では、画像のシーケンスI1、I2、...、INbのコーディングは、以前に確立されエンコーダに知られているコーディング順序に従って画像ごとに行われる。たとえば、画像は、時間的順序I1、I2、...、INbで、または別の順序、たとえば、I1、I3、I2、...、INbでコーディングされ得る。
【0059】
ステップE0において、画像のシーケンスI1、I2、...、INbのコーディングされるべき画像Ijは、ブロックに、たとえば、サイズ32×32もしくは64×64ピクセル、またはそれを越えるブロックに分割される。そのようなブロックは、正方形または長方形のサブブロック、たとえば、16×16、8×8、4×4、16×8、8×16...に再分割され得る。
【0060】
随意のステップE10において、本発明の一特定の実施形態によれば、画像Ijに対してコーディングされるデータにおいて、または画像のシーケンスに対してコーディングされるデータにおいて、量子化パラメータQPがデータストリームSTRの中でコーディングされる。
【0061】
次いで、ステップE1において、画像Ijのコーディングされるべき最初のブロックまたはサブブロックXbが、画像Ijの所定の走査順序に従って選択される。たとえば、それは画像の辞書式走査順序での最初のブロックであり得る。
【0062】
ステップE2において、エンコーダは、現在ブロックXbをコーディングするためのコーディングモードを選ぶことになる。
【0063】
ここで説明する特定の実施形態によれば、エンコーダは、現在ブロックXbをコーディングするためのコーディングモードを、第1のコーディングモードM1および第2のコーディングモードM2から選択する。追加のコーディングモード(ここでは説明しない)が使用され得る。
【0064】
ここで説明する特定の実施形態によれば、第1のコーディングモードM1は、たとえば、HEVC規格に従って定義されるような、従来のイントラ予測による現在ブロックのコーディングに対応し、第2のコーディングモードM2は、ループ内残差(ILR: In-Loop Residual)予測コーディングに対応する。
【0065】
本発明の原理は、第1のコーディングモードM1用であるのか、第2のコーディングモードM2用であるのかにかかわらず、他のタイプのコーディングモードに拡張され得る。たとえば、第1のコーディングモードは、変換動作から得られた係数を量子化する前に予測残差の変換を使用する、任意のタイプのコーディングモード(画像間予測コーディング、テンプレート整合コーディングを伴う空間予測など)に対応することができる。第2のコーディングモードは、空間領域における予測残差の値の量子化を使用する、すなわち、予測残差のいかなる変換動作、たとえば、DCTも実行しない、任意のタイプのコーディングモードに対応することができる。
【0066】
ステップE2において、エンコーダは、現在ブロックをコーディングするための最良のコーディングモードを決定するために、レート/ひずみ最適化を実行することができる。このレート/ひずみ最適化の間、第1および第2のコーディングモードとは異なる追加のコーディングモード、たとえば、インターモードコーディングモードがテストされ得る。このレート/ひずみ最適化の間、エンコーダは、各コーディングモードに関連するレートおよびひずみを決定するために、異なる利用可能なコーディングモードによる現在ブロックXbのコーディングをシミュレートし、かつ最良のレート/ひずみ妥協案を提供するコーディングモードを、たとえば、D+λR関数に従って選択し、ただし、Rは、評価されるコーディングモードに従って現在ブロックをコーディングするのに必要とされるレートであり、Dは、復号されたブロックと元の現在ブロックとの間で測定されるひずみであり、λは、たとえば、ユーザによって入力されるかまたはエンコーダにおいて規定される、ラグランジュ乗数である。
【0067】
ステップE20において、現在ブロックに対して選択されたコーディングモードを示す情報の項目が、データストリームSTRの中でコーディングされる。
【0068】
現在ブロックXbが第1のコーディングモードM1に従ってコーディングされる場合、方法は、M1に従ってブロックをコーディングするためのステップE21に進む。現在ブロックXbが第2のコーディングモードM2に従ってコーディングされる場合、方法は、M2に従ってブロックをコーディングするためのステップE22に進む。
【0069】
本発明の一特定の実施形態による、第1のコーディングモードM1に従ってブロックをコーディングするためのステップE21が、以下で説明される。ここで説明する特定のモードによれば、第1のコーディングモードは、HEVC規格において定義されるものなどの、従来のイントラ予測に対応する。
【0070】
ステップE210において、量子化ステップδ1が決定される。たとえば、量子化ステップδ1は、ユーザによって設定され得るか、または圧縮と品質との間の妥協案を設定し、かつユーザによって入力されるかもしくはエンコーダによって規定される、量子化パラメータを使用して計算され得る。したがって、そのような量子化パラメータは、レートひずみコスト関数D+λ.Rにおいて使用されるパラメータλであり得、ただし、Dは、コーディングによって持ち込まれるひずみを表し、Rは、コーディングのために使用されるレートを表す。この関数は、コーディング選択を行うために使用され、通常、この関数を最小化する、画像をコーディングする方法が捜し求められる。
【0071】
一変形形態として、量子化パラメータは、従来はAVC規格またはHEVC規格において使用される量子化パラメータに相当するQPであり得る。したがって、HEVC規格では、量子化ステップδ1は、方程式δ1=levelScale[QP%6]<<(QP/6))によって決定され、ただし、k=0..5に対してlevelScale[k]={40,45,51,57,64,72}である。
【0072】
ステップE211において、現在ブロックの予測が、従来のイントラ予測モードを使用して決定される。この従来のイントラ予測によれば、予測される各ピクセルは、現在ブロックの上に、かつ現在ブロックの左に位置する、隣接ブロック(参照ピクセル)から生じる復号されたピクセルのみから計算される。参照ピクセルからピクセルが予測される方法は、デコーダへ送信され、かつエンコーダおよびデコーダに知られているモードの所定のセットからエンコーダによって選ばれる、予測モードに依存する。
【0073】
したがって、HEVCでは、35個の可能な予測モード、すなわち、33個の異なる角度方向で参照ピクセルを補間する33個のモード、ならびに2個の他のモード、すなわち、予測されるブロックの各ピクセルが参照ピクセルの平均から生成されるDCモード、および平面状かつ全方向性の補間を実行するPLANARモードがある。この「従来のイントラ予測」はよく知られており、(9個の異なるモードしかない)ITU-T H.264規格において、またインターネットアドレス(https://jvet.hhi.fraunhofer.de/)において利用可能な、67個の異なる予測モードがある実験的JEMソフトウェアにおいて、同様に使用される。すべての場合において、従来のイントラ予測は、上述の2つの態様(隣接ブロックからのピクセルの予測、およびデコーダへの最適予測モードの送信)を重視する。
【0074】
ステップE211において、エンコーダは、利用可能な予測モードのうちの1つを予測モードの所定のリストからそのように選ぶ。選ぶための1つの方法は、たとえば、すべての予測モードを評価すること、および古典的にはレートひずみコストなどの、コスト関数を最小化する予測モードを保持することにある。
【0075】
ステップE212において、現在ブロックに対して選ばれた予測モードが、現在ブロックの隣接ブロックからコーディングされる。
図2は、現在ブロックX
bの予測モードをコーディングするための、現在ブロックX
bの隣接ブロックA
bおよびB
bの位置例を示す。
【0076】
ステップE212において、現在ブロックに対して選ばれたイントラ予測モードは、隣接ブロックに関連するイントラ予測モードを使用してコーディングされる。
【0077】
ここで説明する本発明の特定の実施形態の一変形形態によれば、ブロックに関連するイントラ予測モードとは、
- 従来のイントラ予測コーディングモードによってブロックがコーディングされた場合、ブロックを予測するために使用されたイントラ予測モード、
- 従来のイントラ予測とは異なるコーディングモードによってブロックがコーディングされた場合、ブロックに関連付けられたイントラ予測モードである。そのような関連付けの一例が、ステップE229を参照しながら後で説明される。
【0078】
したがって、現在ブロックの予測モードをコーディングするための、HEVC規格において説明される手法が使用され得る。
図2における例では、そのような手法は、現在ブロックの上に位置するブロックA
bに関連するイントラ予測モードm
A、および現在ブロックのちょうど左に位置するブロックB
bに関連するイントラ予測モードm
Bを識別することにある。m
Aおよびm
Bの値に応じて、3個のイントラ予測モードを含む、(最優勢モードを表す)MPMと呼ばれるリスト、および32個の他の予測モードを含む、非MPMと呼ばれるリストが作成される。
【0079】
ここで説明する特定の実施形態の変形形態によれば、HEVC規格に従って指定されるMPMリストを作成するためのメカニズムは、このブロックが従来のイントラコーディングモードに従ってコーディングされないとき、そのコーディングの間、ブロックとのイントラ予測モードの関連付け(後で説明するステップE229)を考慮に入れるように適合される。この変形形態によれば、このブロックがイントラコーディングモードに従ってコーディングされたのか、別のコーディングモード(ILR、インターなど)に従ってコーディングされたのかにかかわらず、現在ブロックの隣接ブロックは、それに関連するイントラ予測モードを常に有する。
【0080】
MPMリストを作成するためのメカニズムの残りは、HEVC規格に従って指定されるものと類似のままである。mAおよびmBが両方とも同じイントラ予測モードに等しく、かつそのイントラ予測モードがDC予測モードまたはPLANAR予測モードである場合、MPMリストは、以下の予測モード、すなわち、MPM[0]=PLANAR、MPM[1]=DC、HEVCイントラ予測モードテーブルのインデックス26における角度予測モードに対応するMPM[2]=A(26)を含む。
【0081】
mAおよびmBが両方とも同じ角度予測モードm(n)に等しい場合、MPMリストは、以下の予測モード、すなわち、MPM[0]=m(n)、MPM[1]=m(2+(n+29)mod32)、MPM[2]=m(2+(n-1)mod32)を備える。
【0082】
mAおよびmBが異なる場合、MPMリストは以下の予測モードを備える。すなわち、
MPM[0]=mB、MPM[1]=mA、MPM[2]=Mlast、ただし、Mlastは以下によって規定される。
- mBがPLANARモードに等しくなく、かつmAがPLANARモードに等しくない場合、MlastはPLANARモードに等しい。
- そうでなければ、mBがDCモードに等しくなく、かつmAがDCモードに等しくない場合、MlastはDCモードに等しい。
- 他の場合、Mlastは角度モードA(26)に等しい。
【0083】
非MPMリストは、MPMリストの中に備えられないすべての他のイントラ予測モードを備える。
【0084】
ここで説明する特定の実施形態の別の変形形態によれば、HEVC規格に従って指定されるMPMリストを作成するためのメカニズムに従って、隣接ブロックAbまたはBbのうちの1つが、イントラ予測モードに従ってコーディングされない場合、デフォルトではDC予測モードがそれに割り当てられる。MPMリストを作成するためのメカニズムの残りは、HEVC規格に従って指定されるもの、および上で説明したものと類似のままである。
【0085】
HEVC規格によれば、現在ブロックのイントラ予測モードをコーディングするために、シンタックス要素、すなわち、
- 現在ブロックに対してコーディングされるべき予測モードがMPMリストの中にあるか否かを示すバイナリインジケータが送信され、
- 現在ブロックの予測モードがMPMリストに属する場合、現在ブロックの予測モードに対応する、MPMリストの中でのインデックスがコーディングされ、
- 現在ブロックの予測モードがMPMリストに属さない場合、現在ブロックの予測モードに対応する、非MPMリストの中でのインデックスがコーディングされる。
【0086】
ステップE213において、現在ブロックに対する予測残差Rが構成される。
【0087】
ステップE213において、従来の方式では、予測されるブロックPは、ステップE211において選ばれた予測モードに従って構成される。次いで、予測されるブロックPと元の現在ブロックとの間の、各ピクセルに対する差分を計算することによって、予測残差Rが取得される。
【0088】
ステップE214において、予測残差RがRTに変換される。
【0089】
ステップE214において、変換係数を備えるブロックRTを生成するために、残差ブロックRに周波数変換が適用される。変換は、たとえば、DCTタイプの変換であり得る。使用されるべき変換を変換の所定のセットETから選ぶこと、および使用される変換をデコーダに通知することが可能である。
【0090】
ステップE215において、変換された残差ブロックRTは、たとえば、量子化ステップスカラー量子化δ1を使用して量子化される。このことは、量子化された変換予測残差ブロックRTQを生成する。
【0091】
ステップE216において、量子化されたブロックRTQの係数が、エントロピーエンコーダによってコーディングされる。たとえば、HEVC規格において指定されるエントロピーコーディングが使用され得る。
【0092】
ここで説明する実施変形形態によれば、ステップE217において、ステップE211において決定された予測モードが現在ブロックに関連付けられる。
【0093】
知られている方式では、現在ブロックは、量子化されたブロックRTQの係数を逆量子化し、次いで、逆量子化された係数に逆変換を適用して、復号された予測残差を取得することによって、復号される。次いで、現在ブロックを再構成するとともにその復号されたバージョンを取得するために、復号された予測残差に予測が加算される。現在ブロックの復号されたバージョンは、次いで、画像の他の隣接ブロックを空間予測するために、または画像間予測によって他の画像のブロックを予測するために、後で使用され得る。
【0094】
本発明の一特定の実施形態による、第2のコーディングモードM2に従ってブロックをコーディングするためのステップE22が、以下で説明される。ここで説明する特定の実施形態によれば、第2のコーディングモードはILR予測コーディングに対応する。
【0095】
ステップE220において、現在ブロック用の局所予測子PLが決定される。ここで説明するコーディングモードに従って、現在ブロックのピクセルが、現在ブロックの隣接ブロックの、または現在ブロック自体の、以前に再構成されたピクセルによって予測される。
【0096】
好ましくは、予測のために、予測されるべきピクセルのできる限り近くのピクセルが選ばれる。このことは、それが局所予測子と呼ばれる理由である。局所予測子PLはまた、第2のコーディングモードM2に関連する現在ブロックの予測モードに取り入れられてよい。この解釈によれば、ここで説明する特定の実施形態では、第1のコーディングモードは、イントラ予測モードの第1のグループ、たとえば、HEVC規格によって定義されるイントラ予測モードを使用し、第2のコーディングモード、ここではILRモードは、イントラ予測モードの第1のグループとは異なる、予測モードの第2のグループを使用する。後で説明する一実施変形形態によれば、予測モードのこれらの2つのグループ間の対応が決定され得る。
【0097】
局所予測子PLは一意であり得るか、または所定の局所予測子のセット(予測モードの第2のグループ)から選択され得る。
【0098】
一実施変形形態によれば、4個の局所予測子が規定される。したがって、現在ブロックXbを示す
図3において図示するように、現在ブロックから予測されるべき現在ピクセルをXと呼ぶ場合、Xのすぐ左に位置するピクセルをAと呼び、Xのすぐ左かつ上に位置するピクセルをBと呼び、Xのすぐ上に位置するピクセルをCと呼ぶ。4個の局所予測子PL1、PL2、PL3、PL4が、次のように規定され得る。
PL1(X)=min(A,B) C≧max(A,B)の場合
max(A,B) C≦min(A,B)の場合
A+B-C 他の場合
PL2(X)=A
PL3(X)=B
PL4(X)=C
ただし、min(A,B)は、Aの値とBの値との間の最小値を戻す関数に相当し、max(A,B)は、Aの値とBの値との間の最大値を戻す関数に相当する。
【0099】
ステップE220において、現在ブロックに対して使用される局所予測子PLが決定される。言い換えれば、同じ局所予測子、すなわち、同じ予測関数が、現在ブロックのすべてのピクセルに対して使用されることになる。この目的のために、いくつかの実施変形形態が可能である。
【0100】
予測子の各々を用いた現在ブロックのコーディングが、(現在ブロック用のコーディングモードを選ぶための最適化と同様に)シミュレートされてよく、コスト関数を最適化する(たとえば、Rが、ブロックをコーディングするために使用されるレートであり、Dが、元のブロックに対する復号されたブロックのひずみであり、かつλが、ユーザによって設定されるパラメータである、D+λ.R関数を最小化する)局所予測子が選択される。
【0101】
さもなければ、現在ブロック用の局所予測子を選択する複雑度を限定するために、以前にコーディングされたピクセルのテクスチャの方位が分析される。たとえば、現在ブロックの上または左に位置しているブロックの中の、以前にコーディングされたピクセルが、ソーベルタイプ(Sobel-type)の演算子を使用して分析される。
- 方位が水平であることが決定される場合、局所予測子PL2が選択され、
- 方位が垂直であることが決定される場合、局所予測子PL3が選択され、
- 方位が対角であることが決定される場合、局所予測子PL4が選択され、
- 方位が明らかにならない場合、局所予測子PL1が選択される。
【0102】
現在ブロックを予測するためにどの局所予測子が使用されたのかをデコーダに示すために、シンタックス要素がデータストリームSTRの中でコーディングされる。
【0103】
ステップE221において、量子化ステップδ2が決定される。ここで説明する特定の実施形態によれば、第1のコーディングモードに従って現在ブロックがコーディングされた場合、量子化ステップδ2は、ステップE210において決定されることになる量子化ステップδ1と同じ量子化パラメータに依存する。
【0104】
一変形形態によれば、量子化ステップδ2は、量子化ステップδ1に従って決定され得る。たとえば、δ2=a1*δ1.+b1(ただし、a1およびb1は所定の整数または実数)、またはδ2=c1*δ1
2+d1*δ1+e1(ただし、c1、d1、およびe1は所定の整数または実数)などの、線形関数または多項式関数が使用され得る。たとえば、a1=2、b1=10、c1=0.1、d1=2、かつe1=10である。他の値が可能である。
【0105】
別の変形形態によれば、量子化ステップδ2は、圧縮と品質との間の妥協案を設定するパラメータλから決定され得る。このラグランジュパラメータλは、δ1と同様に、ユーザによって入力され得るか、もしくはエンコーダによって規定され得るか、または前に述べた量子化パラメータQPから決定され得る。
【0106】
別の変形形態によれば、量子化ステップδ2は、ユーザによって直接設定されてよく、そのとき、δ2に依存する量子化ステップδ1である。
【0107】
ステップE222において、現在ブロックに対して予測残差R1が計算される。この目的のために、局所予測子が選ばれると、現在ブロックの各現在ピクセルに対して、
- 予測値PREDを取得するために、ブロックの外側のすでに再構成された(したがって、それらの復号された値を用いて利用可能な)ピクセル、もしくは現在ブロックの中の以前に再構成されたピクセルのいずれか、または両方を使用して、選択された局所予測子PLによって現在ブロックの現在ピクセルXが予測される。すべての場合において、予測子PLは、以前に再構成されたピクセルを使用する。
図3において、現在ブロックの最初の行および/または最初の列に位置する現在ブロックのピクセルが、ブロックの外側のすでに再構成されたピクセル(
図3の中の灰色でのピクセル)、および場合によっては現在ブロックのすでに再構成されたピクセルを、(予測値PREDを構成するための)参照ピクセルとして使用することになることが理解され得る。現在ブロックの他のピクセルの場合、予測値PREDを構成するために使用される参照ピクセルは、現在ブロックの内側に位置する。
- PREDとXとの間の差分DIFFが、Q(X)=ScalarQuant(DIFF)=ScalarQuant(δ
2,X-PRED)により、量子化ステップスカラー量子化器δ
2によって、値Q(X)に量子化され、スカラー量子化器は、たとえば、
【0108】
【0109】
などの、最近傍スカラー量子化器である。Q(X)は、Xに関連する量子化残差である。Q(X)は、空間領域において計算され、すなわち、ピクセルXの予測値PREDとXの元の値との間の差分から直接計算される。ピクセルXに対するそのような量子化残差Q(X)は、後でコーディングされることになる量子化予測残差ブロックR1Qの中に記憶される。
- Xの復号された予測値P1(X)は、量子化残差Q(X)の逆量子化された値を予測値PREDに加算することによって計算される。Xの復号された予測値P1(X)は、P1(X)=PRED+ScalarDequant(δ2,Q(X))によってそのように取得される。たとえば、最も近いスカラー量子化逆関数は、ScalarDequant(Δ,x)=Δ×xによって与えられる。
【0110】
復号された予測値P1(X)は、現在ブロックの中の依然として処理されるべき可能なピクセルを予測することをそのように可能にする。その上、現在ブロックのピクセルの復号/再構成された値を備えるブロックP1は、現在ブロックの(従来のイントラ予測子ではなく)ILR予測子である。
【0111】
上で説明したサブステップは、PL1、...、PL4から選ばれる、予測のために使用されるピクセルが利用可能であることを保証する走査順序で、現在ブロックのすべてのピクセルに対して実行される。
【0112】
一実施変形形態によれば、現在ブロックの走査順序は、辞書式順序、すなわち、左から右、かつ上から下までである。
【0113】
別の実施変形形態によれば、現在ブロックのいくつかの走査順序、たとえば、
- 辞書式順序、または
- 最初の列を上から下まで、次いで、そのちょうど右の列などの走査、または
- 交互に対角の走査が、使用され得る。
【0114】
この他の変形形態によれば、走査順序の各々に関連するコーディングコストをシミュレートすること、および現在ブロック用の最良の走査順序をレート/ひずみの観点から選び、次いで、選ばれた走査順序を表す情報の項目を現在ブロックに対してコーディングすることが可能である。
【0115】
ステップE222の終わりにおいて、量子化残差ブロックR1Qが決定された。この量子化残差ブロックR1Qは、デコーダへの送信のためにコーディングされなければならない。現在ブロックの予測子P1も決定された。
【0116】
ステップE223において、量子化残差ブロックR1Qが、デコーダへの送信のためにコーディングされる。HEVCにおいて説明される方法などの任意の知られている手法が、従来の予測残差の量子化係数をコーディングするために使用され得る。たとえば、一実施変形形態によれば、量子化残差ブロックR1Qの値は、エントロピーエンコーダを使用してデータストリームSTRの中でコーディングされる。
【0117】
本発明の一特定の実施形態によれば、現在ブロックに対して取得されるILR予測子から追加の予測残差R2を決定しコーディングすることが可能である。ただし、追加の予測残差R2のコーディングは随意である。単に、その予測されたバージョンP1および量子化残差R1Qによって現在ブロックをコーディングすることが、実際に可能である。
【0118】
現在ブロックに対する追加の予測残差R2をコーディングするために、以下のステップが実施される。
【0119】
ステップE224において、予測子P1と元の現在ブロックXbとの間の差分R2が計算されて追加の残差R2:R2=Xb-P1を形成する。以下のステップは、この残差R2のための従来のコーディングステップに相当する。
【0120】
ステップE225において、係数R2Tのブロックを生成するために、周波数変換を使用して残差R2が変換される。
【0121】
変換は、たとえば、DCTタイプの変換であり得る。使用されるべき変換を変換の所定のセットET2から選ぶこと、および使用される変換をデコーダに通知することが可能である。この場合、残差R2の特定の統計値に適合するために、セットET2はセットETとは異なってよい。
【0122】
ステップE226において、係数R2Tのブロックが、たとえば、量子化ステップスカラー量子化δを使用して量子化される。このことは、ブロックR2TQを生成する。
【0123】
量子化ステップδは、ユーザによって設定され得る。量子化ステップδはまた、圧縮と品質との間の妥協案を設定し、かつユーザまたはエンコーダによって入力される、別のパラメータλを使用して計算され得る。たとえば、量子化ステップδは、量子化ステップδ1に対応することができるか、または量子化ステップδ1と同様に決定され得る。
【0124】
ステップE227において、量子化ブロックR2TQの係数が、次いで、コーディングされた方式で送信される。たとえば、HEVC規格において指定されるコーディングが使用され得る。
【0125】
知られている方式で、量子化ブロックR2TQの係数を逆量子化し、次いで、逆量子化係数に逆変換を適用して、復号された予測残差を取得することによって、現在ブロックが復号される。予測P1は、次いで、現在ブロックを再構成するとともにその復号されたバージョンXrecを取得するために、復号された予測残差に加算される。現在ブロックの復号されたバージョンXrecは、次いで、画像の他の隣接ブロックを空間予測するために、または画像間予測によって他の画像のブロックを予測するために、後で使用され得る。
【0126】
本発明の一特定の実施形態によれば、従来のイントラ予測モードが決定され、現在ブロックに関連付けられる。この目的のために、ステップE228において、従来のイントラコーディングモードにおいて利用可能なイントラ予測モードのリストから、現在ブロックに対してイントラ予測モードが決定される。
【0127】
いくつかの実施変形形態が可能である。
【0128】
一変形形態によれば、第1のコーディングモードM1に従ってコーディングするための、上で説明したメカニズムに従って、現在ブロックに対してMPM予測モードのリストが作成される。この変形形態によれば、MPMリストの中の最初のモードとして、予測モードが決定される。
【0129】
別の変形形態によれば、予測モードは、あらかじめ決定され、たとえば、デフォルトで規定されるかまたはデータストリームの中で送信される予測モードであり得る。たとえば、所定の予測モードは、HEVC規格のPLANARモードである。
【0130】
別の変形形態によれば、復号された現在ブロックXrecを最良に近似するイントラ予測モードとして、予測モードが決定される。この変形形態によれば、すべての予測モードは、復号された現在ブロックXrecと評価される予測モードによって取得される予測ブロックとの間のひずみを測定することによって評価される。最も小さいひずみをもたらすイントラ予測モードが選択される。
【0131】
別の変形形態によれば、ILR予測によって取得された予測される現在ブロックP1を最良に近似するイントラ予測モードとして、予測モードが決定される。この変形形態によれば、すべての予測モードは、予測される現在ブロックP1と評価される予測モードによって取得される予測ブロックとの間のひずみを測定することによって評価される。最も小さいひずみをもたらすイントラ予測モードが選択される。
【0132】
別の変形形態によれば、ILRコード化ブロックに対して、いくつかの可能な局所予測子があるとき、イントラ予測モードは、現在ブロックを予測するために選ばれた局所予測子に依存し得る。たとえば、関連付けテーブルが、選ばれた局所予測子に従ってどのイントラ予測モードが現在ブロックに関連付けられるべきであるのかを示す。
【0133】
ステップE229において、決定されたイントラ予測モードが現在ブロックに関連付けられる。ここでの着想は、イントラ予測モードを関連付けることであるが、それをデコーダへ送信することではない。現在ブロックに関連付けられるべきイントラモードを決定する方法は、デコーダにおいて再現可能であり、いかなる情報の送信も必要としない。
【0134】
いくつかの実施変形形態が上で説明されているが、エンコーダおよびデコーダは、当然、同じ変形形態を実施しなければならない。
【0135】
ここで説明する特定の実施形態によれば、現在ブロックに関連付けられたイントラ予測モードは、次いで、
- 従来のイントラモードでコーディングされることになる後続のブロックのイントラ予測モードを予測するか、または
- 適切な場合、従来のイントラ予測モードとは異なる別のコーディングモードに従ってコーディングされることになる後続のブロックに関連付けられるべきイントラ予測モードを決定するために、使用され得る。この他のコーディングモードは、ILRコーディングモードまたは他(インターなど)であり得る。
【0136】
ステップE23において、以前に規定された走査順序を考慮に入れて、現在ブロックが、そのコーディング方法によって処理されるべき画像の最後のブロックであるかどうかがチェックされる。はいの場合、方法は、もしあれば、ビデオの次の画像のコーディング(ステップE25)に進む。いいえの場合、ステップE24において、処理されるべき画像の後続のブロックが、画像の以前に規定された走査順序に従って選択され、コーディング方法はステップE2に進み、ここで、選択されたブロックは、処理されるべき現在ブロックになる。
【0137】
図4は、本発明の一特定の実施形態による、復号されるべき画像のシーケンスI
1、I
2、...、I
Nbを表すコード化データのストリームSTRを復号するための方法のステップを示す。
【0138】
たとえば、データストリームSTRは、
図1に関して示したコーディング方法を介して生成された。データストリームSTRは、
図7に関して説明するように、復号デバイスDECへの入力として提供される。
【0139】
復号方法は画像ごとにストリームを復号し、各画像はブロックごとに復号される。
【0140】
ステップE40において、復号されるべき画像Ijがブロックに再分割される。各ブロックは、後で詳述される一連のステップにある復号動作を受けることになる。ブロックは、同じサイズまたは異なるサイズであり得る。
【0141】
随意のステップE401において、本発明の一特定の実施形態によれば、量子化パラメータQPがデータストリームSTRから読み取られる。
【0142】
ステップE41において、画像Ijの復号されるべき最初のブロックまたはサブブロックXbが、画像Ijの所定の走査順序に従って現在ブロックとして選択される。たとえば、それは画像の辞書式走査順序での最初のブロックであり得る。
【0143】
ステップE42において、現在ブロック用のコーディングモードを示す情報の項目が、データストリームSTRから読み取られる。ここで説明する特定の実施形態によれば、情報のこの項目は、現在ブロックが第1のコーディングモードM1に従ってコーディングされるのか、第2のコーディングモードM2に従ってコーディングされるのかを示す。ここで説明する特定の実施形態によれば、第1のコーディングモードM1は、たとえば、HEVC規格に従って定義されるような、現在ブロックの従来のイントラ予測コーディングに対応し、第2のコーディングモードM2は、ループ内残差(ILR)予測コーディングに対応する。
【0144】
他の特定の実施形態では、ストリームSTRから読み取られる情報の項目はまた、現在ブロックをコーディングするための他のコーディングモードの使用を示すことができる(ここでは説明しない)。
【0145】
現在ブロックが第1のコーディングモードM1に従ってコーディングされるときに現在ブロックを復号するためのステップE43が、以下で説明される。
【0146】
ステップE430において、量子化ステップδ1が決定される。たとえば、量子化ステップδ1は、ステップE401において読み取られた量子化パラメータQPから、またはエンコーダにおいて行われたのと同様に、決定される。たとえば、量子化ステップδ1は、ステップE401において読み取られた量子化パラメータQPを使用して計算され得る。たとえば、量子化パラメータQPは、従来はAVC規格またはHEVC規格において使用される量子化パラメータであり得る。したがって、HEVC規格では、量子化ステップδ1は、方程式δ1=levelScale[QP%6]<<(QP/6))によって決定され、ただし、k=0..5に対してlevelScale[k]={40,45,51,57,64,72}である。
【0147】
ステップE431において、現在ブロックをコーディングするために選ばれた予測モードが、隣接ブロックから復号される。この目的のために、現在ブロックに対して選ばれたイントラ予測モードは、エンコーダにおいて行われたように、現在ブロックの隣接ブロックに関連するイントラ予測モードを使用してコーディングされる。
【0148】
ここで説明する本発明の特定の実施形態の一変形形態によれば、ブロックに関連するイントラ予測モードとは、
- 従来のイントラ予測コーディングモードによってブロックがコーディングされた場合、ブロックを予測するために使用されたイントラ予測モード、
- 従来のイントラ予測とは異なるコーディングモードによってブロックがコーディングされた場合、ブロックに関連付けられたイントラ予測モードである。そのような関連付けの一例が、ステップE449およびE450を参照しながら後で説明される。
【0149】
MPMリストと非MPMリストの両方の構成は、コーディングの間に行われたものと厳密に類似している。HEVC規格によれば、以下のタイプのシンタックス要素、すなわち、
- 現在ブロックに対してコーディングされるべき予測モードがMPMリストの中にあるか否かを示すバイナリインジケータが復号され、
- 現在ブロックの予測モードがMPMリストに属する場合、現在ブロックの予測モードに対応する、MPMリストの中でのインデックスがコーディングされ、
- 現在ブロックの予測モードがMPMリストに属さない場合、現在ブロックの予測モードに対応する、非MPMリストの中でのインデックスがコーディングされる。
【0150】
バイナリインジケータおよび予測モードインデックスは、現在ブロックのイントラ予測モードを復号するために、データストリームSTRから現在ブロックに対してそのように読み取られる。
【0151】
ステップE432において、デコーダは、復号された予測モードから現在ブロックに対して予測ブロックPを構成する。
【0152】
ステップE433において、デコーダは、たとえば、HEVC規格において指定される復号を使用して、データストリームSTRから量子化ブロックRTQの係数を復号する。
【0153】
ステップE434において、復号されたブロックRTQは、たとえば、量子化ステップスカラー逆量子化δ1を使用して、逆量子化される。このことは、逆量子化された係数RTQDのブロックを生成する。
【0154】
ステップE435において、復号された予測残差ブロックRTQDIを生成するために、逆量子化された係数RTQDのブロックに逆周波数変換が適用される。変換は、たとえば、逆DCTタイプの変換であり得る。データストリームSTRからインジケータを復号することによって、使用されるべき変換を変換の所定のセットETIから選ぶことが可能である。
【0155】
ステップE436において、復号された現在ブロックXrecを、Xrec=P+RTQDIによって生成するために、ステップE432において取得された予測ブロックP、およびステップE435において取得された復号残差ブロックRTQDIから、現在ブロックが再構成される。
【0156】
ここで説明する実施変形形態によれば、ステップE437において、ステップE431において復号されたイントラ予測モードが、現在ブロックに関連付けられる。
【0157】
現在ブロックが第2のコーディングモードM2に従ってコーディングされるときに現在ブロックを復号するためのステップE44が、以下で説明される。
【0158】
ステップE440において、現在ブロックのピクセルを予測するために使用される局所予測子PLが決定される。1つの予測子しか利用可能でない場合には、局所予測子は、たとえば、デコーダレベルにおいてデフォルトで設定され、シンタックス要素は、それを決定するためにストリームSTRから読み取られることを必要とするものはない。
【0159】
いくつかの局所予測子、たとえば、上で説明した予測子PL1~PL4が利用可能である場合には、現在ブロックを予測するためにどの局所予測子が使用されたのかを識別するために、データストリームSTRからシンタックス要素が復号される。局所予測子は、その復号されたシンタックス要素からそのように決定される。
【0160】
ステップE441において、量子化ステップδ2が、エンコーダにおいて行われたものと同様に決定される。
【0161】
ステップE442において、データストリームSTRから量子化残差R1Qが復号される。HEVCにおいて説明される方法などの任意の知られている手法が、従来の予測残差の量子化係数を復号するために使用され得る。
【0162】
ステップE443において、逆量子化された残差ブロックR1QDを生成するために、量子化ステップδ2を使用して量子化残差ブロックR1Qが逆量子化される。
【0163】
ステップE444において、逆量子化された残差ブロックR1QDが取得されると、ステップE440において決定された局所予測子PLを使用して予測ブロックP1が構成される。
【0164】
ステップE444において、現在ブロックの各ピクセルが、次のように予測および再構成される。
- 予測値PREDを取得するために、ブロックの外側のすでに再構成されたピクセル、もしくは現在ブロックの以前に再構成されたピクセルのいずれか、または両方を使用して、選択された予測子PLによって現在ブロックの現在ピクセルXが予測される。すべての場合において、予測子PLは、以前に復号されたピクセルを使用する。
- 現在ピクセルXの復号された予測値P1(X)が、P1(X)=PRED+R1QD(X)のように、予測残差の逆量子化された値R1QDを予測値PREDに加算することによって計算される。
【0165】
これらのステップは、PL1、...、PL4から選ばれる、予測のために使用されるピクセルが利用可能であることを保証する走査順序で、現在ブロックのすべてのピクセルに対して実施される。
【0166】
たとえば、走査順序は辞書式順序(左から右、次いで、行を上から下まで)である。
【0167】
本発明の一特定の実施形態によれば、現在ブロックの各ピクセルの復号された予測値P1(X)を備える予測ブロックP1が、復号された現在ブロックXrecをここで形成する。
【0168】
本発明の別の特定の実施形態によれば、現在ブロックに対して追加の予測残差がコーディングされたことがここで考慮される。したがって、現在ブロックXrecの復号されたバージョンを再構成するために、この追加の予測残差を復号することが必要である。
【0169】
たとえば、この他の特定の実施形態は、エンコーダレベルおよびデコーダレベルにおいてアクティブ化されることまたはデフォルトでされないことがある。さもなければ、ILRコーディングモードに従ってコーディングされた各ブロックに対して、追加の予測残差がコーディングされるかどうかを示すために、ブロックレベルの情報とともに、インジケータがデータストリームの中でコーディングされ得る。さもなければ、さらに、ILRコーディングモードに従ってコーディングされた画像または画像のシーケンスのすべてのブロックに対して、追加の予測残差がコーディングされるかどうかを示すために、画像または画像のシーケンスレベルの情報とともに、インジケータがデータストリームの中でコーディングされ得る。
【0170】
現在ブロックに対して追加の予測残差がコーディングされるとき、ステップE445において、量子化された予測残差R2TQの係数が、エンコーダにおいて実施されるものに適合された手段、たとえば、HEVCデコーダにおいて実施される手段を使用して、データストリームSTRから復号される。
【0171】
ステップE446において、量子化係数R2TQのブロックは、たとえば、量子化ステップスカラー逆量子化δ1を使用して、逆量子化される。このことは、逆量子化係数R2TQDのブロックを生成する。
【0172】
ステップE447において、復号された予測残差ブロックR2TQDIを生成するために、ブロックR2TQDに逆周波数変換が適用される。
【0173】
逆変換は、たとえば、逆DCTタイプの変換であり得る。
【0174】
使用されるべき変換を変換の所定のセットET2から選ぶこと、および使用されるべき変換をデコーダに通知する情報の項目を復号することが可能である。この場合、残差R2の特定の統計値に適合するために、セットET2はセットETとは異なる。
【0175】
ステップE448において、ステップE444において取得された予測ブロックP1を復号された予測残差R2TQDIに加算することによって、現在ブロックが再構成される。
【0176】
本発明の一特定の実施形態によれば、従来のイントラ予測モードが決定され、現在ブロックに関連付けられる。この目的のために、ステップE449において、従来のイントラコーディングモードにおいて利用可能なイントラ予測モードのリストから、現在ブロックに対してイントラ予測モードが決定される。この決定は、エンコーダレベルにおいて実施されたものと同様に実施される。
【0177】
ステップE450において、決定されたイントラ予測モードが現在ブロックに関連付けられる。
【0178】
ステップE45において、以前に規定された走査順序を考慮に入れて、現在ブロックが、その復号方法によって処理されるべき画像の最後のブロックであるかどうかがチェックされる。はいの場合、方法は、もしあれば、ビデオの次の画像の復号(ステップE47)に進む。いいえの場合、ステップE46において、処理されるべき画像の後続のブロックが、画像の以前に規定された走査順序に従って選択され、復号方法はステップE42に進み、選択されたブロックは、処理されるべき現在ブロックになる。
【0179】
図5は、本発明の一特定の実施形態による、画像の少なくとも1つのブロックを表すコード化データを備える信号例STRを示す。たとえば、信号STRは、上で説明した量子化ステップδ
1および量子化ステップδ
2を決定するための量子化パラメータQPを備えることができる。この量子化パラメータQPは、ビデオをコーディングするとき、ブロックレベルにおいて、または画像もしくは画像のシーケンスレベルにおいて、コーディングされ得る。
【0180】
信号STRは、画像のブロックに対して、そのブロック用のコーディングモードを示すコード化インジケータTYを備える。ブロックが第2のコーディングモード、ここではILRモードに従って、コーディングされることをTYインジケータが示すとき、信号は、そのとき、量子化された予測残差R1Qのコーディングされた値、および場合によっては、量子化された変換予測残差R2TQのコーディングされた値を備える。現在ブロックに対していくつかの局所予測子が可能であるとき、信号はまた、局所予測子PLコード化インジケータを備える。
【0181】
ブロックが第1のコーディングモード、ここでは従来のイントラ予測モードに従って、コーディングされることをインジケータTYが示すとき、信号は、そのとき、量子化された変換予測残差RTQのコーディングされた値、現在ブロックに対してコーディングされるべき予測モードがMPMリストの中にあるか否かを示すバイナリインジケータiMPM、および対応するリストの中での現在ブロック予測モードのインデックスを示すインデックスidxMPMを備える。
【0182】
図6は、本発明の特定の実施形態のうちのいずれか1つによるコーディング方法を実施するように適合されたコーディングデバイスCODの簡略化された構造を示す。
【0183】
本発明の一特定の実施形態によれば、コーディング方法のステップは、コンピュータプログラム命令によって実施される。この目的のために、コーディングデバイスCODは、標準アーキテクチャのコンピュータを有し、メモリMEM、たとえば、プロセッサPROCを用いて装備され、かつメモリMEMの中に記憶されたコンピュータプログラムPGによって駆動される、処理ユニットUTを特に備える。コンピュータプログラムPGは、プログラムがプロセッサPROCによって実行されるとき、上で説明したようなコーディング方法のステップを実施するための命令を備える。
【0184】
初期化において、コンピュータプログラムPGのコード命令は、たとえば、プロセッサPROCによって実行される前にRAMメモリ(図示せず)の中にロードされる。具体的には、処理ユニットUTのプロセッサPROCが、コンピュータプログラムPGの命令に従って、上で説明したコーディング方法のステップを実施する。
【0185】
図7は、本発明の特定の実施形態のうちのいずれか1つによる復号方法を実施するように適合された復号デバイスDECの簡略化された構造を示す。
【0186】
本発明の一特定の実施形態によれば、復号デバイスDECは、標準アーキテクチャのコンピュータを有し、メモリMEM0、たとえば、プロセッサPROC0を用いて装備され、かつメモリMEM0の中に記憶されたコンピュータプログラムPG0によって駆動される、処理ユニットUT0を特に備える。コンピュータプログラムPG0は、プログラムがプロセッサPROC0によって実行されるとき、上で説明したような復号方法のステップを実施するための命令を備える。
【0187】
初期化において、コンピュータプログラムPG0のコード命令は、たとえば、プロセッサPROC0によって実行される前にRAMメモリ(図示せず)の中にロードされる。具体的には、処理ユニットUT0のプロセッサPROC0が、コンピュータプログラムPG0の命令に従って、上で説明した復号方法のステップを実施する。
【符号の説明】
【0188】
I1、I2、...、INb シーケンス
Ij 画像
Xb 現在ブロック
STR データストリーム
QP 量子化パラメータ
M1 第1のコーディングモード
M2 第2のコーディングモード
AbおよびBb 隣接ブロック
PG コンピュータプログラム
COD コーディングデバイス
PROC プロセッサ
DEC 復号デバイス
UT 処理ユニット