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