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

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

▶ オランジュの特許一覧

特許7556849少なくとも1つの画像を表すデータストリームをコーディングおよび復号するための方法およびデバイス
<>
  • 特許-少なくとも1つの画像を表すデータストリームをコーディングおよび復号するための方法およびデバイス 図1
  • 特許-少なくとも1つの画像を表すデータストリームをコーディングおよび復号するための方法およびデバイス 図2
  • 特許-少なくとも1つの画像を表すデータストリームをコーディングおよび復号するための方法およびデバイス 図3
  • 特許-少なくとも1つの画像を表すデータストリームをコーディングおよび復号するための方法およびデバイス 図4
  • 特許-少なくとも1つの画像を表すデータストリームをコーディングおよび復号するための方法およびデバイス 図5
  • 特許-少なくとも1つの画像を表すデータストリームをコーディングおよび復号するための方法およびデバイス 図6
  • 特許-少なくとも1つの画像を表すデータストリームをコーディングおよび復号するための方法およびデバイス 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-17
(45)【発行日】2024-09-26
(54)【発明の名称】少なくとも1つの画像を表すデータストリームをコーディングおよび復号するための方法およびデバイス
(51)【国際特許分類】
   H04N 19/103 20140101AFI20240918BHJP
   H04N 19/157 20140101ALI20240918BHJP
   H04N 19/176 20140101ALI20240918BHJP
   H04N 19/182 20140101ALI20240918BHJP
【FI】
H04N19/103
H04N19/157
H04N19/176
H04N19/182
【請求項の数】 11
(21)【出願番号】P 2021515493
(86)(22)【出願日】2019-09-03
(65)【公表番号】
(43)【公表日】2022-01-06
(86)【国際出願番号】 FR2019052028
(87)【国際公開番号】W WO2020058594
(87)【国際公開日】2020-03-26
【審査請求日】2022-07-01
(31)【優先権主張番号】1858571
(32)【優先日】2018-09-21
(33)【優先権主張国・地域又は機関】FR
(73)【特許権者】
【識別番号】591034154
【氏名又は名称】オランジュ
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】フェリックス・アンリ
(72)【発明者】
【氏名】モーセン・アブドリ
(72)【発明者】
【氏名】ピエリック・フィリップ
(72)【発明者】
【氏名】ゴルドン・クレール
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2013/039908(WO,A2)
【文献】Sunmi Yoo, Bumshil Lee, Seungwook Park, Sehoon Yea, and Jill Boyce ,A known tool investigation - Implementation of short-distance intra prediction (SDIP) on KTA-2.0,STUDY GROUP 16 - CONTRIBUTION 1025,COM16-C1025-E,ITU-T,2015年09月,pp.1-4
【文献】Mohsen Abdoli, Felix Henry, Patrice Brault, Pierre Duhamel, and Frederic Dufaux,Intra Prediction Using In-Loop Residual Coding for the post-HEVC Standard,2017 IEEE 19th International Workshop on Multimedia Signal Processing (MMSP),IEEE,2017年10月,pp.1-6
【文献】Mohsen Abdoli, Felix Henry, Patrice Brault, Pierre Duhamel, and Frederic Dufaux,Short-Distance Intra Prediction of Screen Content in Versatile Video Coding (VVC),IEEE SIGNAL PROCESSING LETTERS,VOL. 25, NO. 11,IEEE,2018年11月,pp.1690-1694
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
少なくとも1つの画像を表すコード化データストリームを復号するための方法であって、前記画像がブロックに分割され、前記復号するための方法が、現在ブロックと呼ばれる、前記画像の少なくとも1つのブロックに対して、
- 前記現在ブロックのサイズが所定のしきい値以下であるかどうかを決定するステップと、
- 前記現在ブロックの前記サイズが前記所定のしきい値以下である場合、第1のコーディングモードおよび第2のコーディングモードのうちの前記現在ブロックのコーディングモードを示す情報の項目を復号し(E42)、コーディングモードを示す情報の前記復号された項目によって示される前記コーディングモードに従って前記現在ブロックを再構成するステップと、
- 前記現在ブロックの前記サイズが前記所定のしきい値よりも大きい場合、前記第1のコーディングモードに従って前記現在ブロックを再構成するステップと
を備え、
前記第1のコーディングモードが、前記現在ブロックに対して復号された変換予測残差の逆変換を使用して、前記現在ブロックがそれに従って再構成される(E436)コーディングモードに対応し、前記第2のコーディングモードが、
- 前記現在ブロックのピクセルごとに、
- 以前に復号された別のピクセルから前記ピクセルの予測を取得するステップであって、前記以前に復号された別のピクセルが、前記現在ブロック、または前記画像の以前に復号されたブロックに属する、ステップ、
- 取得された前記ピクセルの前記予測、および前記ピクセルに関連する復号された予測残差から、前記ピクセルを再構成するステップ
によって、前記現在ブロックに対して復号された変換予測残差の逆変換を使用せずに前記現在ブロックがそれに従って再構成される(E444)コーディングモードに対応する、
方法。
【請求項2】
少なくとも1つの画像を表すデータストリームをコーディングするための方法であって、前記画像がブロックに分割され、前記コーディングするための方法が、現在ブロックと呼ばれる、前記画像の少なくとも1つのブロックに対して、
- 前記現在ブロックのサイズが所定のしきい値以下であるかどうかを決定するステップと、
- 前記現在ブロックの前記サイズが前記所定のしきい値以下である場合、第1のコーディングモードおよび第2のコーディングモードのうちの前記現在ブロックのコーディングモードを示す情報の項目をコーディングし(E20)、コーディングモードを示す情報の前記コーディングされた項目によって示される前記コーディングモードに従って前記現在ブロックをコーディングするステップと、
- 前記現在ブロックの前記サイズが前記所定のしきい値よりも大きい場合、前記第1のコーディングモードに従って前記現在ブロックをコーディングするステップと
を備え、前記第1のコーディングモードが、前記現在ブロックの予測残差の変換を使用して、前記現在ブロックがそれに従ってコーディングされる(E21)コーディングモードに対応し、前記第2のコーディングモードが、
- 前記現在ブロックのピクセルごとに、
- 以前に復号された別のピクセルから前記ピクセルの予測を取得するステップ(E222)であって、前記以前に復号された別のピクセルが、前記現在ブロック、または前記画像の以前に復号されたブロックに属する、ステップ、
- 前記ピクセルに関連し、かつ前記ピクセルに対して取得される前記予測から取得された、予測残差をコーディングするステップ(E223)
によって、前記現在ブロックの予測残差の変換を使用せずに前記現在ブロックがそれに従ってコーディングされる(E22)コーディングモードに対応する、
方法。
【請求項3】
前記現在ブロックの前記サイズが前記現在ブロックの最大幅に対応する、
請求項1または2に記載の方法。
【請求項4】
前記所定のしきい値が16または32ピクセルである、
請求項3に記載の方法。
【請求項5】
前記現在ブロックの前記サイズが前記現在ブロックの中のピクセルの総数に対応する、
請求項1または2に記載の方法。
【請求項6】
前記所定のしきい値が256または512ピクセルである、
請求項5に記載の方法。
【請求項7】
前記所定のしきい値を復号またはコーディングするステップをさらに備える、
請求項1または2に記載の方法。
【請求項8】
少なくとも1つの画像を表すコード化データストリームを復号するためのデバイスであって、前記画像がブロックに分割され、前記復号するためのデバイスが、現在ブロックと呼ばれる、前記画像の少なくとも1つのブロックに対して、
- 前記現在ブロックのサイズが所定のしきい値以下であるかどうかを決定することと、
- 前記現在ブロックの前記サイズが前記所定のしきい値以下である場合、第1のコーディングモードおよび第2のコーディングモードのうちの前記現在ブロックのコーディングモードを示す情報の項目を復号し、コーディングモードを示す情報の前記復号された項目によって示される前記コーディングモードに従って前記現在ブロックを再構成することと、
- 前記現在ブロックの前記サイズが前記所定のしきい値よりも大きい場合、前記第1のコーディングモードに従って前記現在ブロックを再構成することと
を行うように構成されたプロセッサ(PROC0)を備え、
前記第1のコーディングモードが、前記現在ブロックに対して復号された変換予測残差の逆変換を使用して、前記現在ブロックがそれに従って再構成される(E436)コーディングモードに対応し、前記第2のコーディングモードが、
- 前記現在ブロックのピクセルごとに、
- 以前に復号された別のピクセルから前記ピクセルの予測を取得することであって、前記以前に復号された別のピクセルが、前記現在ブロック、または前記画像の以前に復号されたブロックに属する、こと、
- 取得された前記ピクセルの前記予測、および前記ピクセルに関連する復号された予測残差から、前記ピクセルを再構成すること
によって、前記現在ブロックに対して復号された変換予測残差の逆変換を使用せずに前記現在ブロックがそれに従って再構成される(E444)コーディングモードに対応する、
デバイス。
【請求項9】
少なくとも1つの画像を表すデータストリームをコーディングするためのデバイスであって、前記画像がブロックに分割され、前記コーディングするためのデバイスが、所定のしきい値以下のサイズを有する、現在ブロックと呼ばれる、前記画像の少なくとも1つのブロックに対して、
- 前記現在ブロックの前記サイズが所定のしきい値以下であるかどうかを決定することと、
- 前記現在ブロックの前記サイズが前記所定のしきい値以下である場合、第1のコーディングモードおよび第2のコーディングモードのうちの前記現在ブロックのコーディングモードを示す情報の項目をコーディングし、コーディングモードを示す情報の前記コーディングされた項目によって示される前記コーディングモードに従って前記現在ブロックをコーディングすることと、
- 前記現在ブロックの前記サイズが前記所定のしきい値よりも大きい場合、前記第1のコーディングモードに従って前記現在ブロックをコーディングすることと
を行うように構成されたプロセッサ(PROC)を備え、
前記第1のコーディングモードが、前記現在ブロックの予測残差の変換を使用して、前記現在ブロックがそれに従ってコーディングされる(E21)コーディングモードに対応し、前記第2のコーディングモードが、
- 前記現在ブロックのピクセルごとに、
- 以前に復号された別のピクセルから前記ピクセルの予測を取得すること(E222)であって、前記以前に復号された別のピクセルが、前記現在ブロック、または前記画像の以前に復号されたブロックに属する、こと、
- 前記ピクセルに関連し、かつ前記ピクセルに対して取得される前記予測から取得された、予測残差をコーディングすること(E223)
によって、前記現在ブロックの予測残差の変換を使用せずに前記現在ブロックがそれに従ってコーディングされる(E22)コーディングモードに対応する、
デバイス。
【請求項10】
コンピュータプログラムであって、前記プログラムがプロセッサによって実行されるとき、請求項1もしくは3から7のいずれか一項に記載の復号するための方法、または請求項2から7のいずれか一項に記載のコーディングするための方法を実施するための命令を備える、
コンピュータプログラム。
【請求項11】
請求項10に記載のコンピュータプログラムの命令を備える
コンピュータ可読データ記憶媒体。
【発明の詳細な説明】
【技術分野】
【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予測モードが共存するのか説明されていない。
【0012】
したがって、画像データまたはビデオデータの圧縮を改善するための新たなコーディング方法および復号方法が必要である。
【先行技術文献】
【特許文献】
【0013】
【文献】米国特許第9253508号
【非特許文献】
【0014】
【文献】「High Efficiency Video Coding, Coding Tools and Specification」、Matthias Wien、Signals and Communication Technology、2015年
【発明の概要】
【課題を解決するための手段】
【0015】
本発明は先行技術を改善する。この目的のために、本発明は、ブロックに分割される少なくとも1つの画像を表すコード化データストリームを復号するための方法に関する。復号方法は、現在ブロックと呼ばれる、画像の少なくとも1つのブロックに対して、
- 現在ブロックのサイズが所定のしきい値以下であるかどうかを決定することと、
- 現在ブロックのサイズが所定のしきい値以下である場合、第1のコーディングモードおよび第2のコーディングモードのうちの現在ブロックのコーディングモードを示す情報の項目を復号し、情報の復号されたコーディングモード項目によって示されるコーディングモードに従って現在ブロックを再構成することと、
- 現在ブロックのサイズが所定のしきい値よりも大きい場合、第1のコーディングモードに従って現在ブロックを再構成することと
を備える。
【0016】
第1のコーディングモードは、現在ブロックに対して復号された変換予測残差の逆変換を使用して、現在ブロックがそれに従って再構成されるコーディングモードに対応し、第2のコーディングモードは、
- 現在ブロックのピクセルごとに、
- 以前に復号された別のピクセルから前記ピクセルの予測を取得することであって、前記以前に復号された別のピクセルが、前記現在ブロック、または画像の以前に復号されたブロックに属する、こと、
- 取得された前記ピクセルの予測、および前記ピクセルに関連する復号された予測残差から、前記ピクセルを再構成すること
によって、現在ブロックがそれに従って再構成されるコーディングモードに対応する。
【0017】
したがって、本発明によれば、従来のイントラコーディングモードおよび現在ブロックの以前に再構成されたピクセルに基づく予測を使用するコーディングモードのうちの現在ブロックのコーディングモードを示す情報の項目が、現在ブロックが所定のしきい値以下のサイズを有する場合のみストリームの中でコーディング/復号される。
【0018】
現在ブロックが所定のしきい値よりも大きいサイズを有する場合には、現在ブロックは、たとえば、イントラタイプの画像をコーディングする場合には、たとえば、デフォルトで従来のイントラコーディングモードによって、または任意の他のコーディングモードによってコーディングされ得る。
【0019】
所定のしきい値以下のサイズを有するブロックに対してのみ第1のコーディングモードと第2のコーディングモードとの間でコーディングモードを示す利点は、レートを向上させることである。確かに、第2のコーディングモードは、ピクセルごとの残差の送信を必要とし、したがって、ピクセルの個数で表現された、ブロックのエリアに比例するレートを必要とする。第2のコーディングモードは、現在ブロックのサイズが小さいとき、第1のコーディングモードと比較して圧縮の点で興味深い。
【0020】
その上、第2のコーディングモードによるブロックの復号をサポートする回路が、ブロックの小さいエリアに限定され得るので、デコーダにおけるハードウェア実装コストが低減される。
【0021】
有利なことに、本発明はまた、エンコーダが、そのとき、やはり最も多くの計算時間を消費する大きいブロックサイズに対して2つのコーディングモードをテストしなくてもよいので、エンコーダにおける速度の向上を可能にする。
【0022】
本発明はまた、ブロックに分割される少なくとも1つの画像を表すデータストリームをコーディングするための方法に関する。本発明によれば、コーディング方法は、現在ブロックと呼ばれる、画像の少なくとも1つのブロックに対して、
- 現在ブロックのサイズが所定のしきい値以下であるかどうかを決定することと、
- 現在ブロックのサイズが所定のしきい値以下である場合、第1のコーディングモードおよび第2のコーディングモードのうちの現在ブロックのコーディングモードを示す情報の項目をコーディングし、情報のコーディングされたコーディングモード項目によって示されるコーディングモードに従って現在ブロックをコーディングすることと、
- 現在ブロックのサイズが所定のしきい値よりも大きい場合、第1のコーディングモードに従って現在ブロックをコーディングすることと
を備える。
【0023】
第1のコーディングモードは、現在ブロックの予測残差の変換を使用して、現在ブロックがそれに従ってコーディングされるコーディングモードに対応し、第2のコーディングモードは、
- 現在ブロックのピクセルごとに、
- 以前に復号された別のピクセルから前記ピクセルの予測を取得することであって、前記以前に復号された別のピクセルが、前記現在ブロック、または画像の以前に復号されたブロックに属する、こと、
- 前記ピクセルに関連し、かつ前記ピクセルに対して取得される予測から取得された、予測残差をコーディングすること
によって、現在ブロックがそれに従ってコーディングされるコーディングモードに対応する。
【0024】
本発明の一特定の実施形態によれば、現在ブロックのサイズは現在ブロックの最大幅に対応する。たとえば、所定のしきい値は16ピクセルまたは32ピクセルである。他のしきい値が、当然、可能である。
【0025】
本発明の別の特定の実施形態によれば、現在ブロックのサイズは現在ブロックの中のピクセルの総数に対応する。たとえば、所定のしきい値は256ピクセルまたは512ピクセルである。他のしきい値が、当然、可能である。
【0026】
上述の特定の実施形態のうちのいずれか1つによれば、しきい値は、画像の初期分割ブロックの最大サイズに応じて調整され得る。
【0027】
本発明の別の特定の実施形態によれば、所定のしきい値はデータストリームの中で復号またはコーディングされる。
【0028】
本発明はまた、上で規定した特定の実施形態のうちのいずれか1つによる復号方法を実施するように構成された復号デバイスに関する。この復号デバイスは、当然、本発明による復号方法に関係する様々な特性を備えることができる。したがって、この復号デバイスの特性および利点は、復号方法のものと同じであり、これ以上は詳述されない。
【0029】
復号デバイスは、詳細には、現在ブロックと呼ばれる、画像の少なくとも1つのブロックに対して、
- 現在ブロックのサイズが所定のしきい値以下であるかどうかを決定することと、
- 現在ブロックのサイズが所定のしきい値以下である場合、第1のコーディングモードおよび第2のコーディングモードのうちの現在ブロックのコーディングモードを示す情報の項目を復号し、情報の復号されたコーディングモード項目によって示されるコーディングモードに従って現在ブロックを再構成することと、
- 現在ブロックのサイズが所定のしきい値よりも大きい場合、第1のコーディングモードに従って現在ブロックを再構成することと
を行うように構成されたプロセッサを備え、
第1のコーディングモードは、現在ブロックに対して復号された変換予測残差の逆変換を使用して、現在ブロックがそれに従って再構成されるコーディングモードに対応し、第2のコーディングモードは、
- 現在ブロックのピクセルごとに、
- 以前に復号された別のピクセルから前記ピクセルの予測を取得することであって、前記以前に復号された別のピクセルが、前記現在ブロック、または画像の以前に復号されたブロックに属する、こと、
- 取得された前記ピクセルの予測、および前記ピクセルに関連する復号された予測残差から、前記ピクセルを再構成すること
によって、現在ブロックがそれに従って再構成されるコーディングモードに対応する。
【0030】
本発明の一特定の実施形態によれば、そのような復号デバイスは、端末の中に備えられる。
【0031】
本発明はまた、上で規定した特定の実施形態のうちのいずれか1つによるコーディング方法を実施するように構成されたコーディングデバイスに関する。このコーディングデバイスは、当然、本発明によるコーディング方法に関係する様々な特性を備えることができる。したがって、このコーディングデバイスの特性および利点は、コーディング方法のものと同じであり、これ以上は詳述されない。
【0032】
コーディングデバイスは、特に、所定のしきい値以下のサイズを有する、現在ブロックと呼ばれる、画像の少なくとも1つのブロックに対して、
- 現在ブロックのサイズが所定のしきい値以下であるかどうかを決定することと、
- 現在ブロックのサイズが所定のしきい値以下である場合、第1のコーディングモードおよび第2のコーディングモードのうちの現在ブロックのコーディングモードを示す情報の項目をコーディングし、情報のコーディングされたコーディングモード項目によって示されるコーディングモードに従って現在ブロックをコーディングすることと、
- 現在ブロックのサイズが所定のしきい値よりも大きい場合、第1のコーディングモードに従って現在ブロックをコーディングすることと
を行うように構成されたプロセッサを備え、
第1のコーディングモードは、現在ブロックの予測残差の変換を使用して、現在ブロックがそれに従ってコーディングされるコーディングモードに対応し、第2のコーディングモードは、
- 現在ブロックのピクセルごとに、
- 以前に復号された別のピクセルから前記ピクセルの予測を取得することであって、前記以前に復号された別のピクセルが、前記現在ブロック、または画像の以前に復号されたブロックに属する、こと、
- 前記ピクセルに関連し、かつ前記ピクセルに対して取得される予測から取得された、予測残差をコーディングすること
によって、現在ブロックがそれに従ってコーディングされるコーディングモードに対応する。
【0033】
本発明の一特定の実施形態によれば、そのようなコーディングデバイスは、端末またはサーバの中に備えられる。
【0034】
本発明はまた、ブロックに分割される少なくとも1つの画像を表すコード化データストリームに関する。本発明によれば、コード化データストリームは、現在ブロックと呼ばれる、画像の少なくとも1つのブロックに対して、現在ブロックが所定のしきい値以下のサイズを有する場合、第1のコーディングモードおよび第2のコーディングモードのうちの現在ブロックのコーディングモードを示す情報の項目を備える。
【0035】
現在ブロックのコーディングモードが第1のコーディングモードに対応するとき、または現在ブロックのサイズが所定のしきい値よりも大きいサイズを有する場合、コード化データストリームは、コーディングされた変換予測残差を備える。
【0036】
現在ブロックのコーディングモードが第2のコーディングモードに対応し、かつ現在ブロックのサイズが所定のしきい値以下のサイズを有するとき、コード化データストリームは、
- 現在ブロックのピクセルごとに、
- 以前に復号された別のピクセルから前記ピクセルの予測を取得することであって、前記以前に復号された別のピクセルが、前記現在ブロック、または画像の以前に復号されたブロックに属する、こと、
- 前記ピクセルに対して取得される予測から、前記ピクセルに関連する予測残差を取得すること
によって取得されるコーディングされた予測残差を備える。
【0037】
本発明の一特定の実施形態によれば、コード化データストリームは、少なくとも前記画像に対してコーディングされた前記所定のしきい値を表す値をさらに備える。
【0038】
上で説明した特定の実施形態のうちのいずれか1つによるデータストリームは、任意の記憶媒体、たとえば、メモリ上に記憶され得るか、あるいは無線によって、または他の手段によって、電気ケーブルまたは光ケーブルを介して搬送され得る、電気信号または光信号の形態で送信され得る。
【0039】
本発明による復号方法、それぞれ、コーディング方法は、様々な方法で、特に、配線された形態で、またはソフトウェア形態で、実施され得る。本発明の一特定の実施形態によれば、復号方法、それぞれ、コーディング方法は、コンピュータプログラムによって実施される。本発明はまた、前記プログラムがプロセッサによって実行されるとき、前に説明した特定の実施形態のうちのいずれか1つによる復号方法またはコーディング方法を実施するための命令を備えるコンピュータプログラムに関する。そのようなプログラムは、任意のプログラミング言語を使用することができる。プログラムは、通信ネットワークからダウンロードされてよく、かつ/またはコンピュータ可読媒体上に記録されてよい。
【0040】
このプログラムは、任意のプログラミング言語を使用することができ、部分的にコンパイルされた形態をなす、または任意の他の望ましい形態をなすなどの、ソースコード、オブジェクトコード、またはソースコードとオブジェクトコードとの間の中間コードの形態をなすことができる。
【0041】
本発明はまた、上述のようなコンピュータプログラムの命令を備えるコンピュータ可読記憶媒体またはデータ媒体に関する。上述の記録媒体は、プログラムを記憶できる任意のエンティティまたはデバイスであり得る。たとえば、媒体はメモリなどの記憶手段を備えることができる。一方、記録媒体は、電気ケーブルもしくは光ケーブルを介して、無線によって、または他の手段によって搬送され得る、電気信号または光信号などの、伝送できる媒体に相当することができる。本発明によるプログラムは、具体的にはインターネットタイプのネットワーク上でダウンロードされ得る。
【0042】
代替として、記録媒体は、プログラムがその中に組み込まれる集積回路に相当することができ、回路は、当該の方法を実行するように、または当該の方法の実行において使用されるように適合される。
【0043】
簡単な例示的非制限的な例として提供される、一特定の実施形態の以下の説明、および添付の図面を読むと、本発明の他の特性および利点がより明瞭に判明するであろう。
【図面の簡単な説明】
【0044】
図1】本発明の一特定の実施形態によるコーディング方法のステップを示す図である。
図2】本発明の一特定の実施形態による、イントラ予測モードを決定するための、現在ブロックの隣接ブロックの位置例を示す図である。
図3】本発明の一特定の実施形態による、現在ブロックのピクセルを予測するために使用される参照ピクセルの位置例を示す図である。
図4】本発明の一特定の実施形態による復号方法のステップを示す図である。
図5】本発明の一特定の実施形態による、画像の少なくとも1つのブロックを表すコード化データを備える信号例を示す図である。
図6】本発明の特定の実施形態のうちのいずれか1つによるコーディング方法を実施するように適合されたコーディングデバイスの簡略化された構造を示す図である。
図7】本発明の特定の実施形態のうちのいずれか1つによる復号方法を実施するように適合された復号デバイスの簡略化された構造を示す図である。
【発明を実施するための形態】
【0045】
一般原理
本発明の一般原理は、同じブロックの以前に再構成された他のピクセルを使用する、ブロックのピクセルの予測に基づく新たなコーディングモードを使用することによって画像のデータのブロックのコーディングを改善することを可能にすること、およびこの新たなコーディングモードを、たとえば、現在の圧縮規格において定義されるような、従来のコーディングモードと共存させることである。
【0046】
したがって、本発明によれば、コーディングされるべきブロックのどのピクセルが同じブロックの以前に再構成された他のピクセルを使用して予測されるのかに従って、ILR(ループ内残差)と呼ばれる新たなコーディングモードが規定され、ピクセルごとの予測残差がデコーダへ送信される。この新たなコーディングモードは、以前に再構成された別のブロックのピクセルに関して、コーディングされるべきブロックのピクセルがそれに従って予測される、かつコーディングされデコーダへ送信される前に、コーディングされるべきブロックに対する予測残差がそれに従って変換される、従来のコーディングモードを使用するエンコーダ/デコーダにおいて導入される。
【0047】
本発明によれば、ブロックが所定のしきい値以下のサイズを有する場合、第1のコーディングモード(従来のモード)および第2のコーディングモード(ILRモード)のうちのコーディングモードを示す情報の項目がコーディングされる。第1のコーディングモードは、そのとき、ブロックが所定のしきい値よりも大きいサイズを有するとき、デフォルトで使用され、第1および第2のコーディングモードのうちのこのコーディングモードの選択を示すために情報の項目は送信されない。
【0048】
したがって、本発明によれば、ILRコーディングモードは、そのサイズが所与のサイズ以下であるブロックに対してのみ利用可能である。確かに、ILRコーディング技法は、ピクセルごとの残差の送信を必要とするが、従来のコーディングモード(イントラまたはインター)は、送信するのにずっとより安価な変換された残差をコーディングすることに基づく。
【0049】
予測残差がそれに従って変換される従来のコーディングモードの場合、正方形ブロックに関連するレートが、平均してブロックの側部の長さに比例することが、経験的に観測されている。
【0050】
しかしながら、本来、コーディングの前に予測残差がそれに従って変換されないコーディングモードに対応するILR手法は、ピクセルの個数で表現された、ブロックのエリアに比例するレートを必要とする手法である。確かに、ILR法によれば、ピクセルごとに残差が送信されなければならず、同じブロックの他のピクセルを次に予測するためにピクセルを再構成できることが必要であるので、この残差は変換されない。
【0051】
したがって、ILR手法のレートコストはブロックの幅の2乗とともに増大するが、従来の手法のレートは前記幅に比例して増大する。ILR手法は小さいブロックに対して従来の手法よりも優れていることがあるが、このことが大きいブロックに対してはもはや事実でないことが結論である。
【0052】
すべてのブロックサイズに対して2つの符号化モードをエンコーダに競争させるときでも、その高いレートに起因して16×16ピクセルを超えるブロックサイズに対してILRコーディングモードがほぼまったく選択されないことが、経験的に確認されている。
【0053】
したがって、いくらかのブロックサイズを超えてILRコーディングモードをアクティブのままにしておかないことへのいくつかの利点がある。大きいブロックサイズに対して、現在ブロックが従来のコーディングモードに従って復号されなければならないのか、ILRコーディングモードに従って復号されなければならないのかを識別する、情報の項目を送信することがもはや必要でないので、そのことはレートの向上を可能にする。
【0054】
大きいブロックに対してILRコーディングモードを無効にすることはまた、エンコーダが、最も多くの計算リソースを消費する大きいブロックサイズに対してもはや2つのコーディングモードをテストしなくてもよいので、エンコーダにおける速度の向上を可能にする。
【0055】
その上、ILRコーディングモードによるブロックの復号をサポートする回路が、このブロックの小さいエリアに限定され得るので、デコーダのハードウェア実装コストが低減される。
【0056】
したがって、本発明の一般原理は、ブロックのサイズが所定のしきい値以下である場合のみ2つのコーディングモードをテストすることである。たとえば、基準は以下のうちの1つであり得る。
- 最大ブロック幅が16ピクセル以下である。
- 最大ブロック幅が32ピクセル以下である。
- ブロックの中のピクセルの総数が256ピクセル以下である。
- ブロックの中のピクセルの総数が512ピクセル以下である。
【0057】
他の基準が可能である。基準が満たされる場合、エンコーダは、上述の2つのコーディングモードを実際にテストし、レートひずみ基準という意味で最良のものを選び、選ばれたコーディングモードを識別するためのインジケータをデコーダへ送信する。基準が満たされない(したがって、いくらかのブロックサイズを超える)場合、従来のコーディングモードが使用され、インジケータは送信されない。
【0058】
実施形態
図1は、本発明の一特定の実施形態によるコーディング方法のステップを示す。たとえば、画像のシーケンスI1、I2、...、INbは、本発明の一特定の実施形態によるコード化データストリームSTRの形態をなしてコーディングされる。たとえば、そのようなコーディング方法は、図6に関して後で説明するようなコーディングデバイスによって実施される。
【0059】
画像のシーケンスI1、I2、...、INbがコーディング方法の入力として提供され、Nbはコーディングされるべきシーケンスの画像の数である。コーディング方法は、入力として提供された画像のシーケンスを表すコード化データストリームSTRを出力する。
【0060】
知られている方式では、画像のシーケンスI1、I2、...、INbのコーディングは、以前に確立されエンコーダに知られているコーディング順序に従って画像ごとに行われる。たとえば、画像は、時間的順序I1、I2、...、INbで、または別の順序、たとえば、I1、I3、I2、...、INbでコーディングされ得る。
【0061】
ステップE0において、画像のシーケンスI1、I2、...、INbのコーディングされるべき画像Ijは、ブロックに、たとえば、サイズ32×32もしくは64×64ピクセル、またはそれを越えるブロックに分割される。そのようなブロックは、正方形または長方形のサブブロック、たとえば、16×16、8×8、4×4、16×8、8×16...に再分割され得る。
【0062】
ステップE0において、現在ブロックをコーディングするためにILRコーディングモードがそこまで使用され得る最大ブロックサイズを規定するしきい値が決定される。たとえば、しきい値は、エンコーダにおいてデフォルトで設定され得るか、または画像を分割するために使用される最大ブロックサイズに応じて決定され得る。たとえば、256×256ピクセルの初期分割最大サイズを考慮すると、しきい値は、64、32、または16ピクセルに等しい、もっと大きいブロック幅に対応することができる。
【0063】
128×128ピクセルの初期分割最大サイズを考慮すると、しきい値は、64、32、16、または8ピクセルに等しい、もっと大きいブロック幅に対応することができる。しきい値は、コーディングされるべき画像の内容に応じて調整され得る。一変形形態として、以下で説明するレート/ひずみ最適化の間にいくつかのしきい値がテストされ得る。
【0064】
随意のステップE10において、本発明の一特定の実施形態によれば、画像Ijに対してコーディングされるデータにおいて、または画像のシーケンスに対してコーディングされるデータにおいて、所定のしきい値の値がデータストリームSTRの中でコーディングされる。
【0065】
次いで、ステップE1において、画像Ijのコーディングされるべき最初のブロックまたはサブブロックXbが、画像Ijの所定の走査順序に従って選択される。たとえば、それは画像の辞書式走査順序での最初のブロックであり得る。
【0066】
ステップE2において、エンコーダは、現在ブロックXbをコーディングするためのコーディングモードを選ぶことになる。
【0067】
ここで説明する特定の実施形態によれば、エンコーダは、現在ブロックXbをコーディングするためのコーディングモードを、第1のコーディングモードM1および第2のコーディングモードM2から選択する。追加のコーディングモード(ここでは説明しない)が使用され得る。
【0068】
ここで説明する特定の実施形態によれば、第1のコーディングモードM1は、たとえば、HEVC規格に従って定義されるような、従来のイントラ予測による現在ブロックのコーディングに対応し、第2のコーディングモードM2は、ループ内残差(ILR: In-Loop Residual)予測コーディングに対応する。
【0069】
本発明の原理は、第1のコーディングモードM1用であるのか、第2のコーディングモードM2用であるのかにかかわらず、他のタイプのコーディングモードに拡張され得る。たとえば、第1のコーディングモードは、変換動作から得られた係数を量子化する前に予測残差の変換を使用する、任意のタイプのコーディングモード(画像間予測コーディング、テンプレート整合コーディングを伴う空間予測など)に対応することができる。第2のコーディングモードは、上で説明したILRコーディングモードに対応する。
【0070】
ステップE2において、エンコーダは、現在ブロックをコーディングするための最良のコーディングモードを決定するために、レート/ひずみ最適化を実行することができる。このレート/ひずみ最適化の間、第1および第2のコーディングモードとは異なる追加のコーディングモード、たとえば、インターモードコーディングモードがテストされ得る。このレート/ひずみ最適化の間、エンコーダは、各コーディングモードに関連するレートおよびひずみを決定するために、異なる利用可能なコーディングモードによる現在ブロックXbのコーディングをシミュレートし、かつ最良のレート/ひずみ妥協案を提供するコーディングモードを、たとえば、D+λR関数に従って選択し、ただし、Rは、評価されるコーディングモードに従って現在ブロックをコーディングするのに必要とされるレートであり、Dは、復号されたブロックと元の現在ブロックとの間で測定されるひずみであり、λは、たとえば、ユーザによって入力されるかまたはエンコーダにおいて規定される、ラグランジュ乗数である。
【0071】
本発明によれば、現在ブロックが、ステップE0において決定されたしきい値よりも大きいサイズを有する場合、第2のコーディングモードはテストされない。
【0072】
ステップE19において、現在ブロックがステップE0において決定されたしきい値以下のサイズを有するかどうかが決定される。現在ブロックがしきい値以下のサイズを有する場合、プロセスはステップE20に進む。そうでない場合、現在ブロックはしきい値よりも大きいサイズを有し、方法は、第1のコーディングモードに従って現在ブロックをコーディングするためのステップE21に進む。
【0073】
本発明の一特定の実施形態によれば、現在ブロックのサイズはブロックの最大幅に対応することができる。たとえば、現在ブロックがサイズ16×32ピクセルのものであり、かつ決定されたしきい値が32ピクセルである場合、この場合には第2のコーディングモードがテストされる。しかしながら、現在ブロックがサイズ64*32ピクセルのものである場合、この場合には第2のコーディングモードはテストされない。
【0074】
本発明の別の特定の実施形態によれば、現在ブロックのサイズはブロックの中のピクセルの個数に対応することができる。たとえば、512ピクセルというしきい値、およびそのように512ピクセルを含む16*32ピクセルの現在ブロックの場合、第2のコーディングモードがテストされるが、そのように2048ピクセルを含む64*32ピクセルの現在ブロックの場合、第2のコーディングモードはテストされない。
【0075】
ステップE20において、現在ブロックに対して選択されたコーディングモードを示す情報の項目が、データストリームSTRの中でコーディングされる。
【0076】
現在ブロックXbが第1のコーディングモードM1に従ってコーディングされる場合、方法は、M1に従ってブロックをコーディングするためのステップE21に進む。現在ブロックXbが第2のコーディングモードM2に従ってコーディングされる場合、方法は、M2に従ってブロックをコーディングするためのステップE22に進む。
【0077】
本発明の一特定の実施形態による、第1のコーディングモードM1に従ってブロックをコーディングするためのステップE21が、以下で説明される。ここで説明する特定のモードによれば、第1のコーディングモードは、HEVC規格において定義されるものなどの、従来のイントラ予測に対応する。
【0078】
ステップE210において、量子化ステップδ1が決定される。たとえば、量子化ステップδ1は、ユーザによって設定され得るか、または圧縮と品質との間の妥協案を設定し、かつユーザによって入力されるかもしくはエンコーダによって規定される、量子化パラメータを使用して計算され得る。したがって、そのような量子化パラメータは、レートひずみコスト関数D+λ.Rにおいて使用されるパラメータλであり得、ただし、Dは、コーディングによって持ち込まれるひずみを表し、Rは、コーディングのために使用されるレートを表す。この関数は、コーディング選択を行うために使用され、通常、この関数を最小化する、画像をコーディングする方法が捜し求められる。
【0079】
一変形形態として、量子化パラメータは、従来はAVC規格またはHEVC規格において使用される量子化パラメータに相当するQPであり得る。したがって、HEVC規格では、量子化ステップδ1は、方程式δ1=levelScale[QP%6]<<(QP/6))によって決定され、ただし、k=0..5に対してlevelScale[k]={40,45,51,57,64,72}である。
【0080】
ステップE211において、現在ブロックの予測が、従来のイントラ予測モードを使用して決定される。この従来のイントラ予測によれば、予測される各ピクセルは、現在ブロックの上に、かつ現在ブロックの左に位置する、隣接ブロック(参照ピクセル)から生じる復号されたピクセルのみから計算される。参照ピクセルからピクセルが予測される方法は、デコーダへ送信され、かつエンコーダおよびデコーダに知られているモードの所定のセットからエンコーダによって選ばれる、予測モードに依存する。
【0081】
したがって、HEVCでは、35個の可能な予測モード、すなわち、33個の異なる角度方向で参照ピクセルを補間する33個のモード、ならびに2個の他のモード、すなわち、予測されるブロックの各ピクセルが参照ピクセルの平均から生成されるDCモード、および平面状かつ全方向性の補間を実行するPLANARモードがある。この「従来のイントラ予測」はよく知られており、(9個の異なるモードしかない)ITU-T H.264規格において、またインターネットアドレス(https://jvet.hhi.fraunhofer.de/)において利用可能な、67個の異なる予測モードがある実験的JEMソフトウェアにおいて、同様に使用される。すべての場合において、従来のイントラ予測は、上述の2つの態様(隣接ブロックからのピクセルの予測、およびデコーダへの最適予測モードの送信)を重視する。
【0082】
ステップE211において、エンコーダは、利用可能な予測モードのうちの1つを予測モードの所定のリストからそのように選ぶ。選ぶための1つの方法は、たとえば、すべての予測モードを評価すること、および古典的にはレートひずみコストなどの、コスト関数を最小化する予測モードを保持することにある。
【0083】
ステップE212において、現在ブロックに対して選ばれた予測モードが、現在ブロックの隣接ブロックからコーディングされる。図2は、現在ブロックXbの予測モードをコーディングするための、現在ブロックXbの隣接ブロックAbおよびBbの位置例を示す。
【0084】
ステップE212において、現在ブロックに対して選ばれたイントラ予測モードは、隣接ブロックに関連するイントラ予測モードを使用してコーディングされる。
【0085】
たとえば、現在ブロックの予測モードをコーディングするための、HEVC規格において説明される手法が使用され得る。図2における例では、そのような手法は、現在ブロックの上に位置するブロックAbに関連するイントラ予測モードmA、および現在ブロックのちょうど左に位置するブロックBbに関連するイントラ予測モードmBを識別することにある。mAおよびmBの値に応じて、3個のイントラ予測モードを含む、(最優勢モードを表す)MPMと呼ばれるリスト、および32個の他の予測モードを含む、非MPMと呼ばれるリストが作成される。
【0086】
HEVC規格によれば、現在ブロックのイントラ予測モードをコーディングするために、シンタックス要素、すなわち、
- 現在ブロックに対してコーディングされるべき予測モードがMPMリストの中にあるか否かを示すバイナリインジケータが送信され、
- 現在ブロックの予測モードがMPMリストに属する場合、現在ブロックの予測モードに対応する、MPMリストの中でのインデックスがコーディングされ、
- 現在ブロックの予測モードがMPMリストに属さない場合、現在ブロックの予測モードに対応する、非MPMリストの中でのインデックスがコーディングされる。
【0087】
ステップE213において、現在ブロックに対する予測残差Rが構成される。
【0088】
ステップE213において、標準的な方式では、予測されるブロックPは、ステップE211において選ばれた予測モードに従って構成される。次いで、予測されるブロックPと元の現在ブロックとの間の、各ピクセルに対する差分を計算することによって、予測残差Rが取得される。
【0089】
ステップE214において、予測残差RがRTに変換される。
【0090】
ステップE214において、変換係数を備えるブロックRTを生成するために、残差ブロックRに周波数変換が適用される。変換は、たとえば、DCTタイプの変換であり得る。使用されるべき変換を変換の所定のセットETから選ぶこと、および使用される変換をデコーダに通知することが可能である。
【0091】
ステップE215において、変換された残差ブロックRTは、たとえば、量子化ステップδ1のスカラー量子化を使用して量子化される。このことは、量子化された変換予測残差ブロックRTQを生成する。
【0092】
ステップE216において、量子化されたブロックRTQの係数が、エントロピーエンコーダによってコーディングされる。たとえば、HEVC規格において指定されるエントロピーコーディングが使用され得る。
【0093】
知られている方式では、現在ブロックは、量子化されたブロックRTQの係数を逆量子化し、次いで、逆量子化された係数に逆変換を適用して、復号された予測残差を取得することによって、復号される。次いで、現在ブロックを再構成するとともにその復号されたバージョンを取得するために、復号された予測残差に予測が加算される。現在ブロックの復号されたバージョンは、次いで、画像の他の隣接ブロックを空間予測するために、または画像間予測によって他の画像のブロックを予測するために、後で使用され得る。
【0094】
本発明の一特定の実施形態による、第2のコーディングモードM2に従ってブロックをコーディングするためのステップE22が、以下で説明される。ここで説明する特定の実施形態によれば、第2のコーディングモードはILR予測コーディングに対応する。
【0095】
ステップE220において、現在ブロック用の局所予測子PLが決定される。ここで説明するコーディングモードに従って、現在ブロックのピクセルが、現在ブロックの隣接ブロックの、または現在ブロック自体の、以前に再構成されたピクセルによって予測される。
【0096】
好ましくは、予測のために、予測されるべきピクセルのできる限り近くのピクセルが選ばれる。このことは、それが局所予測子と呼ばれる理由である。局所予測子PLはまた、第2のコーディングモードM2に関連する現在ブロックの予測モードに取り入れられてよい。この解釈によれば、ここで説明する特定の実施形態では、第1のコーディングモードは、イントラ予測モードの第1のグループ、たとえば、HEVC規格によって定義されるイントラ予測モードを使用し、第2のコーディングモード、ここではILRモードは、イントラ予測モードの第1のグループとは異なる、予測モードの第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】
ステップE222において、現在ブロックに対して予測残差R1が計算される。この目的のために、局所予測子が選ばれると、現在ブロックの各現在ピクセルに対して、
- 予測値PREDを取得するために、ブロックの外側のすでに再構成された(したがって、それらの復号された値を用いて利用可能な)ピクセル、もしくは現在ブロックの中の以前に再構成されたピクセルのいずれか、または両方を使用して、選択された局所予測子PLによって現在ブロックの現在ピクセルXが予測される。すべての場合において、予測子PLは、以前に再構成されたピクセルを使用する。図3において、現在ブロックの最初の行および/または最初の列に位置する現在ブロックのピクセルが、ブロックの外側のすでに再構成されたピクセル(図3の中の灰色でのピクセル)、および場合によっては現在ブロックのすでに再構成されたピクセルを、(予測値PREDを構成するための)参照ピクセルとして使用することになることが理解され得る。現在ブロックの他のピクセルの場合、予測値PREDを構成するために使用される参照ピクセルは、現在ブロックの内側に位置する。
- PREDとXとの間の差分DIFFが、Q(X)=ScalarQuant(DIFF)=ScalarQuant(δ2,X-PRED)により、δ2量子化ステップスカラー量子化器によって、値Q(X)に量子化され、スカラー量子化器は、たとえば、
【0105】
【数1】
【0106】
などの、最近傍スカラー量子化器である。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によって与えられる。
【0107】
復号された予測値P1(X)は、現在ブロックの中の依然として処理されるべき可能なピクセルを予測することをそのように可能にする。その上、現在ブロックのピクセルの復号/再構成された値を備えるブロックP1は、現在ブロックの(従来のイントラ予測子ではなく)ILR予測子である。
【0108】
上で説明したサブステップは、PL1、...、PL4から選ばれる、予測のために使用されるピクセルが利用可能であることを保証する走査順序で、現在ブロックのすべてのピクセルに対して実行される。
【0109】
一実施変形形態によれば、現在ブロックの走査順序は、辞書式順序、すなわち、左から右、かつ上から下までである。
【0110】
別の実施変形形態によれば、現在ブロックのいくつかの走査順序、たとえば、
- 辞書式順序、または
- 最初の列を上から下まで、次いで、そのちょうど右の列などの走査、または
- 交互に対角の走査が、使用され得る。
【0111】
この他の変形形態によれば、走査順序の各々に関連するコーディングコストをシミュレートすること、および現在ブロック用の最良の走査順序をレート/ひずみの観点から選び、次いで、選ばれた走査順序を表す情報の項目を現在ブロックに対してコーディングすることが可能である。
【0112】
ステップE222の終わりにおいて、量子化残差ブロックR1Qが決定された。この量子化残差ブロックR1Qは、デコーダへの送信のためにコーディングされなければならない。現在ブロックの予測子P1も決定された。
【0113】
ステップE223において、量子化残差ブロックR1Qが、デコーダへの送信のためにコーディングされる。HEVCにおいて説明される方法などの任意の知られている手法が、従来の予測残差の量子化係数をコーディングするために使用され得る。
【0114】
ここで説明する本発明の特定の実施形態によれば、量子化残差ブロックR1Qの値は、エントロピーエンコーダを使用してデータストリームSTRの中でコーディングされる。
【0115】
本発明の一特定の実施形態によれば、現在ブロックに対して取得されるILR予測子から追加の予測残差R2を決定しコーディングすることが可能である。ただし、追加の予測残差R2のコーディングは随意である。単に、その予測されたバージョンP1および量子化残差R1Qによって現在ブロックをコーディングすることが、実際に可能である。
【0116】
現在ブロックに対する追加の予測残差R2をコーディングするために、以下のステップが実施される。
【0117】
ステップE224において、予測子P1と元の現在ブロックXbとの間の差分R2が計算されて追加の残差R2:R2=Xb-P1を形成する。以下のステップは、この残差R2のための従来のコーディングステップに相当する。
【0118】
ステップE225において、係数R2Tのブロックを生成するために、周波数変換を使用して残差R2が変換される。
【0119】
変換は、たとえば、DCTタイプの変換であり得る。使用されるべき変換を変換の所定のセットET2から選ぶこと、および使用される変換をデコーダに通知することが可能である。この場合、残差R2の特定の統計値に適合するために、セットET2はセットETとは異なってよい。
【0120】
ステップE226において、係数R2Tのブロックが、たとえば、量子化ステップδのスカラー量子化を使用して量子化される。このことは、ブロックR2TQを生成する。
【0121】
量子化ステップδは、ユーザによって設定され得る。量子化ステップδはまた、圧縮と品質との間の妥協案を設定し、かつユーザまたはエンコーダによって入力される、別のパラメータλを使用して計算され得る。たとえば、量子化ステップδは、量子化ステップδ1に対応することができるか、または量子化ステップδ1と同様に決定され得る。
【0122】
ステップE227において、量子化ブロックR2TQの係数が、次いで、コーディングされた方式で送信される。たとえば、HEVC規格において指定されるコーディングが使用され得る。
【0123】
知られている方式で、量子化ブロックR2TQの係数を逆量子化し、次いで、逆量子化係数に逆変換を適用して、復号された予測残差を取得することによって、現在ブロックが復号される。予測P1は、次いで、現在ブロックを再構成するとともにその復号されたバージョンXrecを取得するために、復号された予測残差に加算される。現在ブロックの復号されたバージョンXrecは、次いで、画像の他の隣接ブロックを空間予測するために、または画像間予測によって他の画像のブロックを予測するために、後で使用され得る。
【0124】
ステップE23において、以前に規定された走査順序を考慮に入れて、現在ブロックが、そのコーディング方法によって処理されるべき画像の最後のブロックであるかどうかがチェックされる。はいの場合、方法は、もしあれば、ビデオの次の画像のコーディング(ステップE25)に進む。いいえの場合、ステップE24において、処理されるべき画像の後続のブロックが、画像の以前に規定された走査順序に従って選択され、コーディング方法はステップE2に進み、ここで、選択されたブロックは、処理されるべき現在ブロックになる。
【0125】
図4は、本発明の一特定の実施形態による、復号されるべき画像のシーケンスI1、I2、...、INbを表すコード化データのストリームSTRを復号するための方法のステップを示す。
【0126】
たとえば、データストリームSTRは、図1に関して示したコーディング方法を介して生成された。データストリームSTRは、図7に関して説明するように、復号デバイスDECへの入力として提供される。
【0127】
復号方法は画像ごとにストリームを復号し、各画像はブロックごとに復号される。
【0128】
ステップE40において、復号されるべき画像Ijは、エンコーダにおいて決定されデコーダに知られている初期サイズのブロックに再分割される。各ブロックは、後で詳述される一連のステップにある復号動作を受けることになる。ブロックは、同じサイズまたは異なるサイズであり得る。
【0129】
随意のステップE401において、本発明の一特定の実施形態によれば、しきい値がデータストリームSTRから読み取られる。このしきい値は、現在ブロックをコーディングするためにILRコーディングモードがそこまで有効にされた最大ブロックサイズを規定する。
【0130】
本発明の別の特定の実施形態によれば、しきい値はデコーダにおいてデフォルトで規定され得る。
【0131】
ステップE41において、画像Ijの復号されるべき最初のブロックまたはサブブロックXbが、画像Ijの所定の走査順序に従って現在ブロックとして選択される。たとえば、それは画像の辞書式走査順序での最初のブロックであり得る。
【0132】
ステップE42において、現在ブロックがしきい値以下のサイズを有するかどうかが決定される。現在ブロックがしきい値以下のサイズを有する場合、プロセスはステップE421に進む。そうでない場合、現在ブロックはしきい値よりも大きいサイズを有し、方法は、第1のコーディングモードに従って現在ブロックを復号するためのステップE43に進む。
【0133】
現在ブロックのサイズは、データストリームから読み取られ得るか、または現在ブロックが属する初期サイズのブロックの区分から推定され得る。そのような区分は、データストリームの中でコーディングされるか、または初期サイズのブロックに対してコーディングされる情報から推定される。
【0134】
ステップE421において、現在ブロック用のコーディングモードを示す情報の項目が、データストリームSTRから読み取られる。ここで説明する特定の実施形態によれば、情報のこの項目は、現在ブロックが第1のコーディングモードM1に従ってコーディングされるのか、第2のコーディングモードM2に従ってコーディングされるのかを示す。ここで説明する特定の実施形態によれば、第1のコーディングモードM1は、たとえば、HEVC規格に従って定義されるような、現在ブロックの従来のイントラ予測コーディングに対応し、第2のコーディングモードM2は、ループ内残差(ILR)予測コーディングに対応する。
【0135】
他の特定の実施形態では、第1のコーディングモードは、イントラ予測コーディングモード以外のコーディングモード(ここでは説明しない)に対応することができる。
【0136】
現在ブロックが第1のコーディングモードM1に従ってコーディングされるときに現在ブロックを復号するためのステップE43が、以下で説明される。
【0137】
ステップ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}である。
【0138】
ステップE431において、現在ブロックをコーディングするために選ばれた予測モードが、隣接ブロックから復号される。この目的のために、現在ブロックに対して選ばれたイントラ予測モードは、エンコーダにおいて行われたように、現在ブロックの隣接ブロックに関連するイントラ予測モードを使用してコーディングされる。
【0139】
MPMリストと非MPMリストの両方の構成は、コーディングの間に行われたものと厳密に類似している。HEVC規格によれば、以下のタイプのシンタックス要素、すなわち、
- 現在ブロックに対してコーディングされるべき予測モードがMPMリストの中にあるか否かを示すバイナリインジケータ、
- 現在ブロックの予測モードがMPMリストに属する場合、コーディングされた現在ブロックの予測モードに対応する、MPMリストの中でのインデックス、
- 現在ブロックの予測モードがMPMリストに属さない場合、コーディングされた現在ブロックの予測モードに対応する、非MPMリストの中でのインデックスが復号される。
【0140】
バイナリインジケータおよび予測モードインデックスは、現在ブロックのイントラ予測モードを復号するために、データストリームSTRから現在ブロックに対してそのように読み取られる。
【0141】
ステップE432において、デコーダは、復号された予測モードから現在ブロックに対して予測ブロックPを構成する。
【0142】
ステップE433において、デコーダは、たとえば、HEVC規格において指定される復号を使用して、データストリームSTRから量子化ブロックRTQの係数を復号する。
【0143】
ステップE434において、復号されたブロックRTQは、たとえば、δ1量子化ステップスカラー逆量子化を使用して、逆量子化される。このことは、逆量子化された係数RTQDのブロックを生成する。
【0144】
ステップE435において、復号された予測残差ブロックRTQDIを生成するために、逆量子化された係数RTQDのブロックに逆周波数変換が適用される。変換は、たとえば、逆DCTタイプの変換であり得る。データストリームSTRからインジケータを復号することによって、使用されるべき変換を変換の所定のセットETIから選ぶことが可能である。
【0145】
ステップE436において、復号された現在ブロックXrecを、Xrec=P+RTQDIによって生成するために、ステップE432において取得された予測ブロックP、およびステップE435において取得された復号残差ブロックRTQDIから、現在ブロックが再構成される。
【0146】
現在ブロックが第2のコーディングモードM2に従ってコーディングされるときに現在ブロックを復号するためのステップE44が、以下で説明される。
【0147】
ステップE440において、現在ブロックのピクセルを予測するために使用される局所予測子PLが決定される。1つの予測子しか利用可能でない場合には、局所予測子は、たとえば、デコーダレベルにおいてデフォルトで設定され、シンタックス要素は、それを決定するためにストリームSTRから読み取られることを必要とするものはない。
【0148】
いくつかの局所予測子、たとえば、上で説明した予測子PL1~PL4が利用可能である場合には、現在ブロックを予測するためにどの局所予測子が使用されたのかを識別するために、データストリームSTRからシンタックス要素が復号される。局所予測子は、その復号されたシンタックス要素からそのように決定される。
【0149】
ステップE441において、量子化ステップδ2が、エンコーダにおいて行われたものと同様に決定される。
【0150】
ステップE442において、データストリームSTRから量子化残差R1Qが復号される。HEVCにおいて説明される方法などの任意の知られている手法が、従来の予測残差の量子化係数を復号するために使用され得る。
【0151】
ステップE443において、逆量子化された残差ブロックR1QDを生成するために、量子化ステップδ2を使用して量子化残差ブロックR1Qが逆量子化される。
【0152】
ステップE444において、逆量子化された残差ブロックR1QDが取得されると、ステップE440において決定された局所予測子PLを使用して予測ブロックP1が構成される。
【0153】
ステップE444において、現在ブロックの各ピクセルが、次のように予測および再構成される。
- 予測値PREDを取得するために、ブロックの外側のすでに再構成されたピクセル、もしくは現在ブロックの以前に再構成されたピクセルのいずれか、または両方を使用して、選択された予測子PLによって現在ブロックの現在ピクセルXが予測される。すべての場合において、予測子PLは、以前に復号されたピクセルを使用する。
- 現在ピクセルXの復号された予測値P1(X)が、P1(X)=PRED+R1QD(X)のように、予測残差の逆量子化された値R1QDを予測値PREDに加算することによって計算される。
【0154】
これらのステップは、PL1、...、PL4から選ばれる、予測のために使用されるピクセルが利用可能であることを保証する走査順序で、現在ブロックのすべてのピクセルに対して実施される。
【0155】
たとえば、走査順序は辞書式順序(左から右、次いで、行を上から下まで)である。
【0156】
本発明の一特定の実施形態によれば、現在ブロックの各ピクセルの復号された予測値P1(X)を備える予測ブロックP1が、復号された現在ブロックXrecをここで形成する。
【0157】
本発明の別の特定の実施形態によれば、現在ブロックに対して追加の予測残差がコーディングされたことがここで考慮される。したがって、現在ブロックXrecの復号されたバージョンを再構成するために、この追加の予測残差を復号することが必要である。
【0158】
たとえば、この他の特定の実施形態は、エンコーダレベルおよびデコーダレベルにおいてアクティブ化されることまたはデフォルトでされないことがある。さもなければ、ILRコーディングモードに従ってコーディングされた各ブロックに対して、追加の予測残差がコーディングされるかどうかを示すために、ブロックレベルの情報とともに、インジケータがデータストリームの中でコーディングされ得る。さもなければ、さらに、ILRコーディングモードに従ってコーディングされた画像または画像のシーケンスのすべてのブロックに対して、追加の予測残差がコーディングされるかどうかを示すために、画像または画像のシーケンスレベルの情報とともに、インジケータがデータストリームの中でコーディングされ得る。
【0159】
現在ブロックに対して追加の予測残差がコーディングされるとき、ステップE445において、量子化された予測残差R2TQの係数が、エンコーダにおいて実施されるものに適合された手段、たとえば、HEVCデコーダにおいて実施される手段を使用して、データストリームSTRから復号される。
【0160】
ステップE446において、量子化係数R2TQのブロックは、たとえば、量子化ステップδ1のスカラー逆量子化を使用して、逆量子化される。このことは、逆量子化係数R2TQDのブロックを生成する。
【0161】
ステップE447において、復号された予測残差ブロックR2TQDIを生成するために、ブロックR2TQDに逆周波数変換が適用される。
【0162】
逆変換は、たとえば、逆DCTタイプの変換であり得る。
【0163】
使用されるべき変換を変換の所定のセットET2から選ぶこと、および使用されるべき変換をデコーダに通知する情報の項目を復号することが可能である。この場合、残差R2の特定の統計値に適合するために、セットET2はセットETとは異なる。
【0164】
ステップE448において、ステップE444において取得された予測ブロックP1を復号された予測残差R2TQDIに加算することによって、現在ブロックが再構成される。
【0165】
ステップE45において、以前に規定された走査順序を考慮に入れて、現在ブロックが、その復号方法によって処理されるべき画像の最後のブロックであるかどうかがチェックされる。はいの場合、方法は、もしあれば、ビデオの次の画像の復号(ステップE47)に進む。いいえの場合、ステップE46において、処理されるべき画像の後続のブロックが、画像の以前に規定された走査順序に従って選択され、復号方法はステップE42に進み、選択されたブロックは、処理されるべき現在ブロックになる。
【0166】
図5は、本発明の一特定の実施形態による、画像の少なくとも1つのブロックを表すコード化データを備える信号例STRを示す。たとえば、信号STRは、上で説明したように第2のコーディングモードM2がそこまで使用され得る最大ブロックサイズを示す、しきい値Sを備えることができる。このしきい値Sは、ビデオをコーディングするとき、画像レベルまたは画像のシーケンスレベルにおいてコーディングされ得る。
【0167】
データストリームSTRの中でコーディングされないとき、しきい値Sはエンコーダおよびデコーダにおいて同様の方法で決定される。
【0168】
ブロックがしきい値S以下のサイズを有するとき、信号STRは、ブロックに対して、第1のコーディングモードおよび第2のコーディングモードのうちのコーディングモードを示す、コーディングされたインジケータTYを備える。ブロックが第2のコーディングモード、ここではILRモードに従って、コーディングされることをTYインジケータが示すとき、信号は、そのとき、量子化された予測残差R1Qのコーディングされた値、および場合によっては、量子化された変換予測残差R2TQのコーディングされた値を備える。現在ブロックに対していくつかの局所予測子が可能であるとき、信号はまた、局所予測子PLコード化インジケータを備える。
【0169】
ブロックが第1のコーディングモード、ここでは従来のイントラ予測モードに従って、コーディングされることをインジケータTYが示すとき、信号は、そのとき、量子化された変換予測残差RTQのコーディングされた値、現在ブロックに対してコーディングされるべき予測モードがMPMリストの中にあるか否かを示すバイナリインジケータiMPM、および対応するリストの中での現在ブロック予測モードのインデックスを示すインデックスidxMPMを備える。
【0170】
ブロックがしきい値Sを超えるサイズを有するとき、信号は、そのとき、第1のコーディングモードによるブロックのコーディングから生じる、ブロックに対してコーディングされるデータを備える。
【0171】
図6は、本発明の特定の実施形態のうちのいずれか1つによるコーディング方法を実施するように適合されたコーディングデバイスCODの簡略化された構造を示す。
【0172】
本発明の一特定の実施形態によれば、コーディング方法のステップは、コンピュータプログラム命令によって実施される。この目的のために、コーディングデバイスCODは、標準アーキテクチャのコンピュータを有し、メモリMEM、たとえば、プロセッサPROCを用いて装備され、かつメモリMEMの中に記憶されたコンピュータプログラムPGによって駆動される、処理ユニットUTを特に備える。コンピュータプログラムPGは、プログラムがプロセッサPROCによって実行されるとき、上で説明したようなコーディング方法のステップを実施するための命令を備える。
【0173】
初期化において、コンピュータプログラムPGのコード命令は、たとえば、プロセッサPROCによって実行される前にRAMメモリ(図示せず)の中にロードされる。具体的には、処理ユニットUTのプロセッサPROCが、コンピュータプログラムPGの命令に従って、上で説明したコーディング方法のステップを実施する。
【0174】
図7は、本発明の特定の実施形態のうちのいずれか1つによる復号方法を実施するように適合された復号デバイスDECの簡略化された構造を示す。
【0175】
本発明の一特定の実施形態によれば、復号デバイスDECは、標準アーキテクチャのコンピュータを有し、メモリMEM0、たとえば、プロセッサPROC0を用いて装備され、かつメモリMEM0の中に記憶されたコンピュータプログラムPG0によって駆動される、処理ユニットUT0を特に備える。コンピュータプログラムPG0は、プログラムがプロセッサPROC0によって実行されるとき、上で説明したような復号方法のステップを実施するための命令を備える。
【0176】
初期化において、コンピュータプログラムPG0のコード命令は、たとえば、プロセッサPROC0によって実行される前にRAMメモリ(図示せず)の中にロードされる。具体的には、処理ユニットUT0のプロセッサPROC0が、コンピュータプログラムPG0の命令に従って、上で説明した復号方法のステップを実施する。
【符号の説明】
【0177】
I1、I2、...、INb シーケンス
Ij 画像
Xb 現在ブロック
STR データストリーム、信号
QP 量子化パラメータ
M1 第1のコーディングモード
M2 第2のコーディングモード
AbおよびBb 隣接ブロック
PG コンピュータプログラム
COD コーディングデバイス
PROC プロセッサ
DEC 復号デバイス
UT 処理ユニット
S しきい値
TY インジケータ
PROC0 プロセッサ
図1
図2
図3
図4
図5
図6
図7