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

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

▶ フォンダシオン ベー-コムの特許一覧

特表2022-506991予測関数を用いた差分パルス符号変調による画像符号化
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-01-17
(54)【発明の名称】予測関数を用いた差分パルス符号変調による画像符号化
(51)【国際特許分類】
   H04N 19/94 20140101AFI20220107BHJP
   H04N 19/46 20140101ALI20220107BHJP
【FI】
H04N19/94
H04N19/46
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021525170
(86)(22)【出願日】2019-11-06
(85)【翻訳文提出日】2021-07-06
(86)【国際出願番号】 EP2019080374
(87)【国際公開番号】W WO2020094706
(87)【国際公開日】2020-05-14
(31)【優先権主張番号】1860360
(32)【優先日】2018-11-09
(33)【優先権主張国・地域又は機関】FR
(81)【指定国・地域】
(71)【出願人】
【識別番号】521196970
【氏名又は名称】フォンダシオン ベー-コム
【氏名又は名称原語表記】FONDATION B-COM
(74)【代理人】
【識別番号】100099623
【弁理士】
【氏名又は名称】奥山 尚一
(74)【代理人】
【識別番号】100107319
【弁理士】
【氏名又は名称】松島 鉄男
(74)【代理人】
【識別番号】100125380
【弁理士】
【氏名又は名称】中村 綾子
(74)【代理人】
【識別番号】100142996
【弁理士】
【氏名又は名称】森本 聡二
(74)【代理人】
【識別番号】100166268
【弁理士】
【氏名又は名称】田中 祐
(74)【代理人】
【識別番号】100180231
【弁理士】
【氏名又は名称】水島 亜希子
(74)【代理人】
【識別番号】100096769
【弁理士】
【氏名又は名称】有原 幸一
(72)【発明者】
【氏名】アンリ,フェリックス
(72)【発明者】
【氏名】クレール,ゴードン
(72)【発明者】
【氏名】フィリップ,ピエリック
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MC18
5C159MD04
5C159MD08
5C159PP16
5C159RC11
5C159RC14
5C159UA02
5C159UA05
(57)【要約】
本発明は、符号化されたデータのストリーム内の少なくとも1つの符号化された画像を復号する方法に関する。当該画像は要素のブロックに分割されている。当該復号方法は、前記ストリームから、いわゆる予測関数を表す情報を得ることと、ここで、前記予測関数は、予測関数の所定のリストに属しており、差分パルス符号変調を使用し、既に処理された近傍要素から、前記予測関数を使用して、前記要素のブロックの1つにある少なくとも1つの要素を復号することと、を含む。
【選択図】図16
【特許請求の範囲】
【請求項1】
符号化されたデータストリーム内の少なくとも1つの符号化された画像を復号する方法であって、前記画像は要素のブロックに分割されており、
前記ストリームから、いわゆる予測関数を表す情報を得ることと、ここで、前記予測関数は、予測関数の所定のリストに属しており、
差分パルス符号変調を使用し、既に処理された近傍要素から、前記予測関数を使用して、前記要素のブロックの1つにある少なくとも1つの要素を復号することと、
を含む、方法。
【請求項2】
前記予測関数が前記予測関数の所定のリストに属さない場合、前記情報は得られない、請求項1に記載の方法。
【請求項3】
前記予測関数の所定のリストは、以下の予測関数、すなわち、
水平方向予測関数、
垂直方向予測関数、又は、
JPEG-LS予測関数、
のうちの少なくとも1つを含む、請求項1又は2に記載の方法。
【請求項4】
前記予測関数の所定のリストは、以下の予測関数、すなわち、
水平方向予測関数、
垂直方向予測関数、
を含む、請求項1又は2に記載の方法。
【請求項5】
前記既に処理された近傍要素は、前記画像の前記ブロックの先に復号されている要素である、請求項1~4のいずれか1項に記載の方法。
【請求項6】
要素のブロックに分割された少なくとも1つの画像を符号化する方法であって、
予測関数を得ることと、ここで、前記予測関数は、予測関数の所定のリストに属しており、
符号化されたデータストリーム内に、前記予測関数を表す符号化された情報を挿入することと、
差分パルス符号変調を使用し、既に処理された近傍要素から、前記予測関数を使用して、前記要素のブロックの1つにある少なくとも1つの要素を符号化することと、
を含む、方法。
【請求項7】
前記予測関数が予測関数の所定のリストに属さない場合、前記符号化された情報は挿入されない、請求項6に記載の方法。
【請求項8】
前記予測関数の所定のリストは、以下の予測関数、すなわち、
水平方向予測関数、
垂直方向予測関数、又は、
JPEG-LS予測関数、
のうちの少なくとも1つを含む、請求項6又は7に記載の方法。
【請求項9】
前記予測関数の所定のリストは、以下の予測関数、すなわち、
水平方向予測関数、
垂直方向予測関数、
を含む、請求項6又は7に記載の方法。
【請求項10】
前記既に処理された近傍要素は、前記画像の前記ブロックの先に符号化されている要素である、請求項6~9のいずれか1項に記載の方法。
【請求項11】
符号化されたデータストリーム内の少なくとも1つの符号化された画像を復号するデバイスであって、前記画像は要素のブロックに分割されており、
前記ストリームから、いわゆる予測関数を表す情報を得ることと、ここで、前記予測関数は、予測関数の所定のリストに属しており、
差分パルス符号変調を使用し、既に処理された近傍要素から、前記予測関数を使用して、前記要素のブロックの1つにある少なくとも1つの要素を復号することと、
を行うように専用化又は構成されたコンピューティングマシンを含む、デバイス。
【請求項12】
要素のブロックに分割された少なくとも1つの画像を符号化するデバイスであって、
予測関数を得ることと、ここで、前記予測関数は、予測関数の所定のリストに属しており、
符号化されたデータストリーム内に、前記予測関数を表す符号化された情報を挿入することと、
差分パルス符号変調を使用し、既に処理された近傍要素から、前記予測関数を使用して、前記要素のブロックの1つにある少なくとも1つの要素を符号化することと、
を行うように専用化又は構成されたコンピューティングマシンを含む、デバイス。
【請求項13】
少なくとも1つの画像を表す符号化されたデータを搬送する信号であって、画像は、要素のブロックに分割され、前記符号化されたデータは、請求項6に記載の符号化方法によって得られており、前記符号化されたデータは、前記符号化方法によって選択されるとともに予測関数の所定のリストに属し、請求項1に記載の復号方法によって得られることが意図される予測関数を表す少なくとも1つの情報を含み、前記要素のブロックの1つにある少なくとも1つの現在の要素は、差分パルス符号変調を使用し、既に処理された近傍要素から、前記予測関数を使用して復号される、信号。
【請求項14】
コンピュータプログラム製品(Pg,Pg’)であって、プロセッサによって実行されると、請求項1~10のいずれか1項に記載の方法を実施するためのプログラムコード命令を含む、コンピュータプログラム製品。
【請求項15】
請求項14に記載のコンピュータプログラム製品(Pg,Pg’)を含む、コンピュータ可読データを記録する媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の分野は、画像又は画像のシーケンス、特にビデオストリームの符号化及び復号に関する。
【0002】
より詳細には、本発明は、ブロック単位の画像の表現を使用する、画像又は画像のシーケンスの圧縮に関する。
【0003】
特に、本発明は、現行の又は将来開発される符号化器(JPEG、MPEG、H.264、HEVC等及びVVC並びにそれらの修正物)、及び対応する復号器において実施される画像又はビデオの符号化に適用することができる。
【背景技術】
【0004】
デジタル画像及び画像のシーケンスは莫大な量のメモリ空間を占有するため、これらの画像を伝送するときには、この伝送のために使用されるネットワーク上の輻輳問題を回避するために、これらの画像を圧縮することが必要となる。実際、このネットワーク上の使用可能なレートは、一般に制限されている。
【0005】
ビデオデータを圧縮する数多くの技術が既知である。これらの中で、HEVC(非特許文献1)圧縮標準規格は、同じ画像(イントラ予測(intra prediction))又は前後の画像(インター予測(inter prediction))に属する他のピクセルに関して現在の画像のピクセルを予測することを提案している。
【0006】
より具体的には、イントラ予測は、一画像内の空間的冗長性を利用する。このために、画像は、要素又はピクセルのブロックに分割される。ピクセルのブロックは、次に、その画像内のブロックをスキャンする順序に従って、現在の画像内において先に符号化/復号されているブロックに対応する、既に再構築された情報を使用して予測される。
【0007】
その上、従来では、現在のブロックの符号化は、予測ブロックと呼ばれる現在のブロックの予測、及び現在のブロックと予測ブロックとの間の差分に対応する予測残差すなわち「残差ブロック」を使用して実行される。得られた残差ブロックは、次に、例えばDCT(離散コサイン変換)タイプ変換を使用して変換される。その後、変換された残差ブロックの係数が量子化され、次に、エントロピー符号化によって符号化されて復号器に伝送され、復号器は、この残差ブロックを予測ブロックに加算することによって現在のブロックを再構築することができる。
【0008】
復号は、画像単位で、そして画像ごとにブロック単位で行われる。ブロックごとに、ストリームの対応する要素が読み取られる。残差ブロックの係数の逆量子化及び逆変換が実行される。次に、ブロックの予測が計算されて予測ブロックが得られ、現在のブロックが、予測(予測ブロック)を復号された残差ブロックに加算することによって再構築される。
【0009】
DPCM(「差分パルス符号変調(Differential Pulse Code Modulation)」の省略記載)と呼ばれるブロックの要素を予測する技術も既知であり、これは、一画像の一ピクセルの値を、その近傍のピクセルのうちの1つ又はいくつかのピクセルの値から予測するものである。例えば、この技術は、JPEG-LS(「Lossless Joint Photographic Expert Group」の省略記載)標準規格に適用され、文書ISO/OEC 14495-1:1999 ITU-T Rec. T.87, in 1998に記載されている。
【0010】
図1を参照して、画像Iの要素又はピクセルXについて検討する。この要素は、画像Iの行lin及び列colに位置する。このブロックの要素は、画像のいわゆる「辞書式(lexicographic)」スキャン順序に従って、すなわち、1つの行の左から右へ、その後、行単位で上から下へと処理される。ピクセルXは、3つの既に復号された近傍ピクセルによって囲まれており、これらの近傍ピクセルは、同じ行でピクセルXの左に位置するピクセルXA、同じ列でピクセルXの上方に位置するピクセルXB、及び、ピクセルXの上方かつ左の対角線上に位置するピクセルXCである。
【0011】
Xの値の予測は、P(X)と称される。JPEG-LS標準規格によれば、P(X)は以下のように計算される。
P(X)=f(XA,XB,XC) ここで、fは、所定の関数であり、これは、以降で近傍関数(neighbouring function)と称されることになる。
【0012】
関数fの一例が以下で示される。
f(A,B,C)=min(A,B) C≧max(A,B)の場合
max(A,B) C≦min(A,B)の場合
A+B-C それ以外の場合
【0013】
この関数fは、JPEG-LS標準規格において使用される関数である。
【0014】
この予測P(X)が計算されると、元の予測残差R(X)が、Xの元の値からピクセルXの予測を減算することによって決定される。
R(X)=X-P(X)
【0015】
JPEG-LSによって規定されるような画像ロス(image loss)を伴わない符号化の事例では、この残差R(X)は、その統計的特性を利用するエントロピー符号化器によって符号化され、その後復号器に伝送される。
【0016】
画像ロスを伴う符号化の事例では、残差R(X)は、通常、例えばユーザによって設定される量子化ステップで均一スカラ量子化器を使用して量子化される。
RQ(X)=NI(R(X)/d)
ここで、NI(「最近傍整数(Nearest Integer)」の省略記載)は、最も近い整数を決定する関数である。この関数は、等価の場合には最小の最近傍整数を選択する。
【0017】
量子化された残差RQ(X)は、当業者に既知であるハフマン(Huffman)符号化又は算術符号化等のエントロピー符号化技術を使用して事前に圧縮され、その後復号器に伝送される。符号化器側では、現在のピクセルが後の時点で処理されるピクセルに対する予測子として機能し得るように、現在のピクセルXの復号された値D(X)が再構築される。現在のピクセルD(X)の復号されたバージョンは、以下のように表現することができる。
D(X)=P(X)+RQ(X).d
【0018】
復号器は、同じ式を適用して、符号化器によって伝送された符号化されたデータを搬送する信号のサンプルを再構築する。
【0019】
JPEG-LS関数以外の予測関数によって決定される、ピクセルXの近傍ピクセルXA、XB及びXC以外のピクセルは、復号された形式において利用可能である限り、これらのピクセルを使用してピクセルXを予測することができることに留意すべきである。同様に、当業者に既知の任意の量子化器を使用することが可能である。
【0020】
DPCMタイプの予測が画像に適用される場合、いくつかのピクセルXは、関数fによって定義されるような予測子を有しないことに留意すべきである。これは、前述の例では、画像のピクセルのうちの第1行のピクセル及び第1列のピクセルの事例である。既知の解決策は、0~255の範囲を取り得る信号の場合には128のように、信号のダイナミクスの中央値等のデフォルト値をXA、XB又はXCに割り当てることから構成される。
【0021】
2016年2月に特許文献1で公開された文書から、このDPCM予測技術の、ブロックベース符号化方式への適応も既知である。したがって、画像のブロックB(例えば、8×8ピクセルサイズ)内で、辞書式順序でピクセルがスキャンされ、前述されたようにDPCM予測が適用される。典型的には、ピクセルXの予測の計算において使用されるピクセルXA、XB又はXCが現在のブロックの外にある場合、近傍ブロックに由来する復号されたピクセルの値、例えば、図1Bにおいて示されるようなXC’、XB’又はXC’’、XB’’の値が使用される。
【0022】
本発明者らによって実施されるブロックレベルにおけるDPCM技術の実験により、ビデオの圧縮、特に、合成コンテンツ等のいくつかのタイプのコンテンツに対する圧縮における効果が明らかにされた。
【先行技術文献】
【特許文献】
【0023】
【特許文献1】米国特許第9253508号
【非特許文献】
【0024】
【非特許文献1】「High Efficiency Video Coding, Coding Tools and Specification」Matthias Wien, Signals and Communication Technology, 2015
【発明の概要】
【発明が解決しようとする課題】
【0025】
それにもかかわらず、1つのブロックにおいてピクセルを予測する、より効果的な技術が必要とされている。
【課題を解決するための手段】
【0026】
少なくとも1つの実施の形態によれば、本発明は、符号化されたデータストリーム内の少なくとも1つの符号化された画像を復号する方法に関し、前記画像は要素のブロックに分割され、
ストリームから、いわゆる予測関数を表す情報を得ることと、ここで、この予測関数は、予測関数の所定のリストに属しており、
差分パルス符号変調を使用し、既に処理された近傍要素から、前記予測関数を使用して、前記要素のブロックの1つにある少なくとも1つの要素を復号することと、
を含む。
【0027】
本発明は、極めて新しい手法に基づいており、この手法は、復号器側で、所定のリスト内で、例えば画像又は現在のブロックに最適なものとして符号化器によって選択された予測関数を得ることから構成される。復号器は、符号化された情報を利用して、現在のブロックに対して使用すべき予測関数を得る。
【0028】
このようにして、予測の品質が改善され、ストリームにおいて符号化される残差は小さいサイズを有する。有利には、復号された情報は、例えば、復号器に既知の所定のリストにおける予測関数のランクの形式とすることができる。
【0029】
本発明の一態様によれば、予測関数が予測関数の所定のリストに属さない場合、前記情報は得られない。
【0030】
別の態様によれば、予測関数の所定のリストは、以下の予測関数、すなわち、
水平方向予測関数、
垂直方向予測関数、又は、
JPEG-LS予測関数、
のうちの少なくとも1つを含む。
【0031】
本発明のまた別の態様によれば、予測関数の所定のリストは、以下の予測関数、すなわち、
水平方向予測関数、
垂直方向予測関数、
を含む。
【0032】
本発明のまた別の態様によれば、前記既に処理された近傍要素は、前記画像のブロックの先に復号されている要素である。
【0033】
これに相関して、本発明は、要素のブロックに分割された少なくとも1つの画像を符号化する方法にも関し、
予測関数を得ることと、ここで、この予測関数は、予測関数の所定のリストに属することと、
符号化されたデータストリーム内に、前記予測関数を表す符号化された情報を挿入することと、
差分パルス符号変調を使用し、既に処理された近傍要素から、前記予測関数を使用して、前記要素のブロックの1つにある少なくとも1つの要素を符号化することと、
を含む。
【0034】
有利には、符号化器側で、選択された予測関数を表す情報は、復号器が現在のブロックを処理するときにこの予測関数を考慮に入れることができるように、復号器に伝送されるように符号化される。
【0035】
例えば、符号化された情報は、復号器に既知の所定のリストにおける予測関数のランクの形式とすることができる。
【0036】
本発明の一態様によれば、予測関数が予測関数の所定のリストに属さない場合、前記符号化された情報は挿入されない。
【0037】
本発明の別の態様によれば、予測関数の所定のリストは、以下の予測関数、すなわち、
水平方向予測関数、
垂直方向予測関数、又は、
JPEG-LS予測関数、
のうちの少なくとも1つを含む。
【0038】
本発明のまた別の態様によれば、予測関数の所定のリストは、以下の予測関数、すなわち、
水平方向予測関数、
垂直方向予測関数、
を含む。
【0039】
本発明の別の態様によれば、前記既に処理された近傍要素は、前記画像のブロックの先に符号化されている要素である。
【0040】
本発明は、本明細書の上記で定義された特定の実施の形態のうちのいずれかの1つによる符号化又は復号方法を実施するように適応された少なくとも1つの画像を符号化又は復号するデバイスにも関する。当然、このデバイスは、本発明による符号化方法、又は復号方法に関する種々の特徴を含むことができる。したがって、このデバイスの特徴及び利点は、符号化方法、又は復号方法の特徴及び利点と同じであり、更には詳述されない。
【0041】
1つの実施の形態によれば、本発明は、少なくとも1つの画像を表す符号化されたデータを搬送する信号にも関し、画像は、要素のブロックに分割されており、前記符号化されたデータは、本発明による符号化方法によって得られており、前記符号化されたデータは、符号化方法によって選択されるとともに予測関数の所定のリストに属し、本発明による復号方法によって得られることが意図される予測関数を表す少なくとも1つの情報を含み、前記要素のブロックの1つにある少なくとも1つの現在の要素は、差分パルス符号変調を使用し、既に処理された近傍要素から、前記予測関数を使用して復号される。
【0042】
特定の実施の形態によれば、本発明は、プロセッサによって実行されると、前述された特定の実施の形態のいずれか1つによる、少なくとも1つの画像を符号化又は復号する方法の実施のための命令を含む1つ又はいくつかのコンピュータプログラムにも関する。そのようなプログラムは、任意のプログラミング言語を使用するとともに、ソースコード、オブジェクトコード、若しくはソースコードとオブジェクトコードとの間の中間コードの形式、例えば、部分的にコンパイルされた形式、又は他の任意の所望の形式とすることができる。プログラムは、通信ネットワークからダウンロードし、及び/又は、コンピュータ可読媒体上に記録することができる。
【0043】
本発明は、本明細書の上記で言及されたようなコンピュータプログラムの命令を含むコンピュータ可読記録媒体又は情報媒体も包含する。上記で言及された記録媒体は、プログラムを記憶することが可能である任意のエンティティ又はデバイスからなることができる。例えば、媒体は、記憶手段、例えば、ROM、例としてCD ROM若しくは微小電子回路のROM、又は磁気記録手段、例としてUSBフラッシュディスク若しくはハードディスクを含むことができる。
【0044】
加えて、記録媒体は、伝送可能媒体、例えば、無線又は他の手段によって電気ケーブル又は光学ケーブルを介して搬送することができる電気信号又は光学信号に対応することができる。特に、本発明によるプログラムは、インターネットタイプネットワーク上でダウンロードすることができる。
【0045】
代替的には、記録媒体は、プログラムが内部に埋め込まれる集積回路に対応することができ、この回路は、検討される方法を実行するか、その実行において使用されるように適応される。
【0046】
本発明の他の目的、特徴及び利点は、図面を参照して、単に例示の非限定的な例として提供される以下の説明を読むとより明確になる。
【図面の簡単な説明】
【0047】
図1A-1B】従来技術による、一画像、及び一画像の一ブロックに適用されるDPCM予測技術を示す図である。
図2】本発明の一実施形態による、一画像の一ブロックを処理する主要ステップを概略的に記述する図である。
図3A-3C】本発明の一実施形態による、垂直予測関数を使用してブロックの要素を分割及び予測する例を示す図である。
図3D-3F】本発明の一実施形態による、水平予測関数を使用してブロックの要素を分割及び予測する例を示す図である。
図4A-4D】本発明に従って実施される種々の分割及び予測関数についてブロックの複数の要素を処理する順序を示す図である。
図5A-5C】JPEG-LS予測関数及び対角分割を実施する、本発明の一変形例を示す図である。
図6A-6E】JPEG-LS予測関数を用いて図5A図5Cの対角エリアを予測するのに使用される置換値の種々の例を示す図である。
図7A-7B】3つ以上のエリアへのブロックの分割の例を示す図である。
図8A-8G】一ブロックの一要素又は一ブロックの一エリアの処理に必要とされるマシンサイクル数を提示する図である。
図9】直列モードにおける、本発明の一実施形態による符号化又は復号方法のステップを記述する図である。
図10】並列モードにおける、本発明の一実施形態による符号化又は復号方法のステップを記述する図である。
図11】本発明の一実施形態による、一ブロック内で分割された一エリアを符号化するステップを詳述する図である。
図12】本発明の一実施形態による、一ブロック内で分割された一エリアを復号するステップを詳述する図である。
図13】本発明の一変形例による、直列モードにおける符号化又は復号方法のステップを記述する図である。
図14】本発明の一変形例による、並列モードにおける符号化又は復号方法のステップを記述する図である。
図15】本発明の別の実施形態による、少なくとも1つの画像をそれぞれ符号化又は復号する方法のステップを記述する図である。
図16】本発明の別の実施形態による、少なくとも1つの画像をそれぞれ符号化又は復号する方法のステップを記述する図である。
図17A-17B】本発明の変形例のうちのいずれか1つによる符号化又は復号方法を実施するために適応された符号化又は復号デバイスのハードウェア構造の例を概略的に示す図である。
図18】本発明の変形例のうちのいずれか1つによる符号化又は復号方法を実施するために適応された符号化又は復号デバイスのハードウェア構造の例を概略的に示す図である。
【発明を実施するための形態】
【0048】
1 一般原理
本発明は、符号化又は復号すべきある画像のブロックの予測に関し、特に、前述したDPCM技術に従った予測に関する。この技術によれば、現在のブロックにあるいくつかの要素が、このブロックの他の要素から予測される。
【0049】
本発明は、符号化器が、関数の所定のリスト内で現在のブロックに適用するのに最良の予測関数を選択し、当該最良の予測関数を復号器に伝送することを可能にすることによって、この技術を改善することを目的とする。
【0050】
図15及び図16の実施形態の詳細な説明
本発明の一実施形態によれば、差分パルス符号変調(DPCM)を使用して、いくつかの要素のブロックに分割された少なくとも1つの画像を符号化する方法が提供される。
【0051】
本発明のこの他の態様の一般的な特徴によれば、符号化方法は、符号化されたデータストリーム(ビットストリーム)における、要素のブロックにある少なくとも1つの要素を別の要素から得ることを可能にするいわゆる予測関数を表す符号化された情報の挿入を含み、当該符号化された情報は、予測関数が予測関数の所定のリストに属する場合に挿入される。
【0052】
予測関数が予測関数の所定のリストに属さない事例では、上記符号化された情報は、挿入されない。
【0053】
好ましくは、予測関数の所定のリストは、以下の予測関数、すなわち、
- 水平方向予測関数、
- 垂直方向予測関数、又は、
- JPEG-LS予測関数、
のうちの少なくとも1つを含む。
【0054】
好ましくは、上記要素は、画像の上記ブロックの先に符号化されている要素である。
【0055】
この方法の一実施形態が図15によって示されている。符号化すべき画像Iについて検討する。この画像は、複数のブロックに分割される。C150において、符号化すべきブロックBが選択される。C151において、利用可能な関数のリストから、ブロックBの要素を予測するために当該ブロックBに適用すべき予測関数が得られる。例えば、リストは、水平予測関数、垂直予測関数及びJPEG-LS予測関数、又はこれらの関数のうちの2つのみを含む。当然、本発明は、この例に限定されず、リストは、前述された関数以外の予測関数を含んでもよい。例えば、リスト内に含まれる予測関数は、誘導されるレート歪みコストを関数ごとに計算することによってテストされる。選択される予測関数fは、最低レート歪みコストに関連付けられた関数である。
【0056】
C152において、得られた予測関数fを表す情報が符号化され、ストリーム又はファイルBS内に挿入される。
【0057】
C153において、ブロックB内で少なくとも1つの要素又はピクセルxが選択される。現在のエリアのピクセルについてスキャン順序が定義される。このスキャン順序は、それ自体は既知であり、所定のものである。特に、このスキャン順序は、現在のピクセルの予測のために使用され、復号された形式において利用可能である(したがって、先に処理されている)ピクセルによって決定される。したがって、従来のスキャン順序は、辞書式順序であり、これは、前述した局所的な予測関数の場合に機能する。
【0058】
この選択された要素X(現在の要素と呼ぶ)について、C154において、予測関数fを適用することにより、既に処理された少なくとも1つの近傍予測子要素から値P(X)が予測される。
【0059】
C155において、予測残差の値がR(X)=X-P(X)を計算することによって得られる。その後、C156において、例えばそれ自体は既知であるスカラ量子化を使用して、値R(X)が量子化される。量子化された値Q(R(X))が得られる。
【0060】
C157において、ハフマン符号化器又は算術符号化器等の既知の手段を使用して、量子化された残差Q(R(X))が符号化され、得られた符号化されたデータは、ストリーム又はファイルBS内に挿入される。
【0061】
C158において、現在の要素Xの復号された値D(X)は、逆演算を実行することによって計算される。この値は、ブロックB、又は画像の次の要素の予測のために利用できるように、メモリM’に記憶される。
【0062】
先のステップにおいて使用された量子化器に関連付けられた逆量子化器がQIと称される場合、Xの復号された値D(X)は、D(X)=P(X)+QI(Q(R(X)))である。
【0063】
ステップC159では、現在の要素XがエリアZi内で処理すべき最後の要素であるか否かをチェックする。最後の要素である場合、C160において、処理すべきブロックが依然として存在するか否かをチェックする。その場合、処理は終了する。そうではない場合、以前のステップが繰り返される。
【0064】
本発明の別の態様によれば、差分パルス符号変調(DPCM)を使用して、符号化されたデータストリーム内の少なくとも1つの符号化された画像を復号する方法が提供される。当該画像は、要素のブロックに分割される。本発明の当該別の態様の一般的な特徴によれば、復号方法は、ストリームから、要素のブロックの1つにある少なくとも1つの要素を別の要素から得ることを可能にするいわゆる予測関数を表す情報を得ることを含み、当該予測関数は予測関数の所定のリストに属する。
【0065】
予測関数が予測関数の所定のリストに属さない事例では、上記情報は得られない。
【0066】
好ましくは、予測関数の所定のリストは、以下の予測関数、すなわち、
- 水平方向予測関数、
- 垂直方向予測関数、又は、
- JPEG-LS予測関数、
のうちの少なくとも1つを含む。
【0067】
好ましくは、上記要素は、画像の上記ブロックの先に復号されている要素である。
【0068】
この方法の一実施形態が図16によって示されている。符号化されたデータストリーム又は圧縮ファイルBSについて検討する。この符号化されたデータは、復号すべき画像Iを表す。D160において、画像I内で処理すべきブロックBが選択され、ブロックBに適用すべき予測関数を表す情報ICfがストリームにおいて読み取られる。D161において、情報ICfが復号され、D162において予測関数fが得られる。D163において、ブロックB内で要素又はピクセルXが選択される。
【0069】
この選択された要素X(現在の要素と呼ぶ)について、D164において、DPCM技術に従って、予測関数fを適用することにより、既に処理された少なくとも1つの近傍予測子要素から値P(X)が予測される。
【0070】
D165において、符号化されたデータにおいて量子化された残差Q(R(X))が読み取られ、これは、D166において、符号化器側で実施された手段の逆である既知の手段を使用して復号される。
【0071】
D167において、予測残差の逆量子化された値R(X)が計算される。符号化器において使用された量子化器に関連付けられた逆量子化器がQIと称される場合、R(X)の逆量子化された値は、QI(Q(R(X)))である。
【0072】
D168において、現在の要素Xの復号された値D(X)は、逆量子化された残差に予測された値を加算することによって計算される。D(X)=P(X)+QI(Q(R(X)))。
【0073】
ステップD169では、現在の要素がブロックB内で処理すべき最後の要素であるか否かをチェックする。最後の要素である場合、D170において、画像I内で処理すべきブロックが依然として存在するか否かをチェックする。その場合、処理は終了する。そうではない場合、以前のステップが繰り返される。
【0074】
本発明のこの態様の利点は、現在のブロックに最も良好に適合する予測関数を選択することにあり、これにより、予測の品質を改善すること、したがって、符号化すべき残差を削減することが可能になる。
【0075】
3 現在のブロックの複数のエリアへの分割及び得られたエリアの予測
本発明の別の実施形態によれば、符号化又は復号すべき画像の現在のブロックは、いくつかの独立して復号可能なエリアに分割される。或るエリアの現在の要素が、当該現在の要素を予測するために別のエリア内に位置する要素を必要とする場合、当該現在の要素は、置換値を使用する。例えば、この値は所定のものであり、メモリに読み込まれるか、又は、現在のブロックについて符号化器によって決定され、現在のブロック、若しくは、以前に符号化又は復号されたブロックの要素の値、好ましくは、ブロックの中で現在のブロックに最も近いブロックの要素の値を表す符号化されたデータにおいて復号器によって読み取られる。
【0076】
まず、本発明による、一ブロックのいくつかのエリアへの分割及び得られたエリアの予測の実施態様の実施形態、次に、そのようなエリア単位の予測を使用する本発明による符号化方法及び復号方法を提示する。
【0077】
現在のブロックを複数のエリアに分割すること、及び得られたエリアを互いに独立して予測することの実施態様の変形例を、図2図8を参照して以降で提示する。
【0078】
図2を参照して、本発明による、符号化又は復号すべき画像のブロックBを符号化又は復号する方法によって実施されるステップについて説明する。
【0079】
E1において、ブロックBは、いくつかのエリアZ1、Z2...ZN(Nは2以上の整数)に分割される。本発明によれば、E1においてブロックBに適用される分割(split)又は分割モード(splitting mode)は、符号化/復号コンテキストに従って、すなわち、例えば、複数のブロック及び一ブロック内の複数の要素がスキャンされる順序、又は、ブロックの要素を予測するモード等の、符号化器/復号器の動作制約に従って選択されることに留意すべきであり、これにより、要素がスキャンされるときにブロックの要素の予測子要素(複数の場合もある)が利用可能であることを確実にするようにする。分割モードは、所定のものとして符号化器及び復号器に既知とすることもできるし、本発明の一実施形態によれば、圧縮されたストリーム又はファイルにおいて伝送される符号化された情報に従って決定することもできる。以下で変形例について説明する。
【0080】
以下、図3A図3F及び図5A図5Cを参照して、分割の例を提示する。
【0081】
E2において、エリアZi(iは、1~Nに含まれる整数)が、以下のように予測される。
【0082】
E21において、エリアZi内の少なくとも1つの要素又はピクセルXが選択され、この要素の少なくとも1つの成分の値が検討される。例えば、これは、ビデオ処理において一般的な、色空間のYCbCr表現モデルにおけるその要素の輝度値Yからなる。当然、本発明は、この例に限定されず、色空間の別の表現モデルの任意の成分に適用される。
【0083】
以下の説明では、ブロックBの要素が辞書式順序においてスキャンされることが検討される。当然、本発明は、このスキャン順序に限定されず、例えば当業者には既知のジグザグスキャン等の、他の任意のスキャン順序においても適用される。
【0084】
オプションのステップE22において、現在のブロックBに適用すべき予測関数fが得られる。
【0085】
この要素Xについて、その後、E23において、得られた予測関数f又は所定の予測関数を適用することによって、予測子要素が選択される。この予測関数fは、既に処理された、すなわち符号化又は復号された近傍要素のうちの少なくとも1つから要素Xの値を予測する。
【0086】
以下の説明において、近傍要素とは、広義において必ずしも現在の要素に隣接している必要はなく、現在の要素に近いブロックBの一要素であると理解されるべきである。
【0087】
自身の左A近傍、右B近傍、及び対角線上の左上C近傍のうちの1つから現在の要素Xの値を予測する、いわゆるJPEG-LS又はf(A,B,C)予測関数の例が、図1を参照して説明されている。
【0088】
予測関数の他の例が以下で示されている。
- f(A,B,C)=XA
- f(A,B,C)=XB
- f(A,B,C)=XA+XB-XC
- f(A,B,C)=0.33XA+0.33XB+0.34XC
【0089】
以下、図3A図3Fを参照して、これらの例のうちのいくつかについて説明する。そのような予測関数は、1つ又はいくつかの予測子要素を使用することができる。
【0090】
E24において、使用される予測関数fによって指定される予測子要素のそれぞれについて、当該予測子要素が現在のエリアZiに属するか否かをチェックする。
【0091】
予測子要素が現在のエリアZiに属する場合、E25において、予測子要素(複数の場合もある)の値から現在の要素Xの予測された値P(X)を得るために予測関数が適用される。
【0092】
そうではない場合、E26において、現在のエリアZiの外部にある予測子要素について置換値VRが得られる。実施態様のいくつかの変形例について検討することができ、その中で、以下のものについて網羅的に言及することができる。
- 所定の値、例えば、要素Xについて可能な値のダイナミクスの平均に等しい値をメモリに読み込む。要素Xが範囲[0,255]内で自身の輝度値を取り得る場合、置換値VRは、128に設定される。
- 現在のブロックBに固有である置換値、例えばブロックの要素の強度の平均値等を得る。この場合、この値は、符号化器側で計算され、符号化され、符号化されたデータにおいて復号器に伝送され、復号器は、符号化されたデータを読み取ることによってこの値を得る。
- 予測子要素を、以前に符号化又は復号された近傍ブロック内に位置する別の予測子要素に置き換える。この選択肢の実施態様の例については、図3B図3E及び図6A図6Dを参照して以下で説明する。
【0093】
現在のエリアZi外に位置する予測子要素のそれぞれについて置換値が得られると、E25において、現在の要素Xの値P(X)が予測される。
【0094】
E27において、予測すべきブロックの要素が依然として存在するか否かをチェックする。予測すべきブロックの要素が依然として存在する場合、少なくとも1つの要素Xを選択するステップE21に戻る。そうではない場合、E28において処理が終了する。
【0095】
3.1 実施態様の第1の例:垂直予測
ここで、図3A図3Cを参照して、垂直予測と呼ばれる予測関数を使用する本発明の実施態様の第1の例について検討する。この関数は、単一の予測子要素、すなわち、現在の要素Xの真上に位置する要素Bのみを利用する。要素X又はX(lin,col)が行lin及び列colに位置すると考える場合、予測子要素Bは、行lin-1かつ同じ列colに位置する。図3A図3Cにおいて、例として、高さH=8の要素及び幅W=4を有するブロックBが表されており、ブロックBは、同じ寸法、すなわち、高さW/2=4及び幅W=4を有する2つのエリアZ1及びZ2に分割される。エリアZ1は、エリアZ2の上方に位置し、これらのエリアは、水平線分の形式である境界Frによって分離される。数学的な観点では、エリア1は、ブロックBの要素のうちの、lin<5の関係を満たす行番号linを有する、境界Frの上方に位置する全ての要素を含む。ひいては、エリアZ2は、要素のうちの、この水平線の下方に位置する、行番号がlin≧5の関係を満たす全ての要素を含む。
【0096】
まず、エリアZ1について検討する。図3Bに示されるように、ブロックBの左上隅からの第1行lin=1の要素に関して、垂直予測関数は、Z1に属するのではなく、ブロックBの上方に位置するブロックの最後の行に属する予測子要素B’を指定する。
【0097】
この事例では、置換値を得るために、以前に列挙された選択肢のうちの1つに従ってステップE25が行われる。特に、ステップE25は、既知の方法で、垂直予測関数によって指定される前のブロックの要素XB’の値を使用することができる。実際には、このブロックは既に処理されているので、要素XB’の復号された値が利用可能である。
【0098】
他の行の場合、垂直予測は、Z1に属する予測子要素を指定する。エリアZ1の要素の予測は、従来のDPCM技術に従って行われる。
【0099】
ここで、第2のエリアZ2について検討する。図3Cに示されるように、この第2のエリアの第1行の要素は、第1のエリアZ1内に位置する垂直予測子を利用する。しかし、本発明は、これらの2つのエリア間の処理の独立性を保証するように、これらの予測子要素の使用を防止する。
【0100】
この事例では、置換値を得るために、以前に列挙された選択肢のうちの1つに従ってステップE25が行われる。特に、本発明は、現在のブロックの上方に位置する近傍ブロックB内で予測子要素を探索することを提案する。有利には、要素XBから置き換わるように選択される予測子要素は、現在の要素Xと同じ列に位置し、かつ、現在のブロックに最も近く、2つのエリアZ1及びZ2の間の境界Frに隣接する行lin=4に位置する要素XB’’(lin=4,col)である。当然、本発明は、この例に限定されない。近傍ブロックの既に処理されている他の任意の要素を、禁止された予測子要素から置き換えるのに使用することができるが、最も近くかつ同じ方向に従って位置する予測子要素の選択が、良好な品質の予測を提供する可能性がより高い。
【0101】
エリア2の次の複数の行の要素に関して、ステップE22は、Z2に属する予測子要素を指定する。予測は、従来の方法に従ってE24において行われる。
【0102】
2つのエリアZ1及びZ2の間の予測における全ての依存性を防止することによって、本発明は、それらの処理の並列化を可能にする。図4Aでは、予測が垂直予測関数を実施する場合、現在のブロックBの要素の処理の順序が辞書式スキャン順序で割り当てられる。さらに、2つのエリアZ1及びZ2のそれぞれについて、第1の処理時間すなわち第1の反復中に第1行の要素を予測することができ、第2の反復中に第2行の要素を予測することができ、以下同様であることが示されている。したがって、この方法において、寸法H=8及びW=4を有するブロックについて、本発明の実施態様を使用しない場合ではブロック全体のために8回の反復を要するところ、4回の反復、又は言い換えれば4マシンサイクルで、ブロックの全体を予測するのに十分である。
【0103】
図4Bでは、4×4ブロックが、等しい寸法を有する2つのエリアZ1及びZ2に分割され、水平境界Frによって分離される、本発明の実施態様の別の例が提示されている。ブロック全体を処理するのに4マシンサイクルが必要であるが、一方、各エリアは2マシンサイクルを必要とする。
【0104】
3.2 実施態様の第2の例:水平予測
ここで、図3D図3Fを参照して、水平予測と呼ばれる予測関数を使用する本発明の実施態様の第2の例について検討する。この関数は、単一の予測子要素、すなわち、同じ行の現在の要素Xの左隣に位置する要素XAのみを利用する。
【0105】
要素X又はX(lin,col)が行lin及び列colに位置することを検討する場合、予測子要素XAは、行linかつ列col-1に位置する。
【0106】
図3D図3Fにおいて、例として、高さH=4の要素及び幅W=8を有するブロックBが表されており、ブロックBは、高さH=4及び幅W/2=4をそれぞれ有する同じ寸法を有する2つのエリアZ1及びZ2に分割される。エリアZ1は、エリアZ2の隣に位置し、これらのエリアは、垂直線分の形式である境界Frによって分離される。数学的な観点では、エリア1は、ブロックBの要素のうちの、関係col<5を満たす行番号colを有する、境界Frの左に位置する全ての要素を含む。ひいては、エリアZ2は、要素のうちの、この対角線の右に位置する、すなわち、行番号が関係col≧5を満たす要素のうちの全てを含む。
【0107】
まず、エリアZ1について検討する。図3Dに示されるように、ブロックBの左上隅からの第1行col=1の要素に関して、水平予測関数は、Z1に属するのではなく、ブロックBの左に位置するブロックの最後の列に属する予測子要素Xを指定する。
【0108】
この事例では、置換値を得るために、以前に列挙された選択肢のうちの1つに従ってステップE25が行われる。特に、ステップE25は、既知の方法で、水平予測関数によって指定される前のブロックの要素Xのこの値を使用することができる。実際には、このブロックは既に処理されているので、要素Xの復号された値が利用可能である。
【0109】
ブロックBの次の複数の列について、水平予測は、col=2から開始して、Z1に属する予測子要素を指定する。エリアZ1の要素の予測は、従来のDPCM技術に従って行われる。
【0110】
ここで、第2のエリアZ2について検討する。図3Eに示されるように、この第2のエリアの第1列の要素は、第1のエリアZ1内に位置する水平予測子を利用する。しかし、本発明は、これらの2つのエリア間の処理の独立性を保証するように、これらの予測子要素の使用を防止する。
【0111】
この事例では、置換値を得るために、以前に列挙された選択肢のうちの1つに従ってステップE25が行われる。特に、本発明は、現在のブロックの左に位置する近傍ブロックB内で予測子要素を探索することを提案する。有利には、要素XAから置き換わるように選択される予測子要素は、現在の要素Xと同じ行に位置し、かつ、2つのエリアZ1及びZ2の間の境界Frに隣接する、ブロックBの最右列col=4内に位置する要素XA’(lin,col=4)である。
【0112】
当然、本発明は、この例に限定されない。近傍ブロックの既に処理されている他の任意の要素を、禁止された予測子要素から置き換わるのに使用することができるが、最も近くかつ同じ方向に従って位置する予測子要素の選択が、良好な品質の予測を提供する可能性がより高い。
【0113】
エリア2の次の複数の行の要素に関して、ステップE22は、Z2に属する予測子要素を指定する。予測は、従来の方法に従ってE24において行われる。
【0114】
2つのエリアZ1及びZ2の間の予測における全ての依存性を防止することによって、本発明は、それらの処理の並列化を可能にする。図4Cでは、予測が水平予測関数を実施する場合、現在のブロックBの要素の処理の順序が辞書式スキャン順序で割り当てられる。2つのエリアZ1及びZ2のそれぞれについて、第1の処理時間すなわち第1の反復中に第1行の要素を予測することができ、第2の反復中に第2行の要素を予測することができ、以下同様であることが示されている。したがって、この方法において、寸法H=4及びW=8を有するブロックについて、本発明の実施態様を使用しない場合ではブロック全体のために8回の反復を要するところ、4回の反復、又は、言い換えれば4マシンサイクルで、ブロックの全体を予測するのに十分である。
【0115】
図4Dでは、4×4ブロックが、等しい寸法を有する2つのエリアZ1及びZ2に分割され、垂直境界Frによって分離される、本発明の実施態様の別の例が提示されている。ブロック全体を処理するのに4マシンサイクルが必要であるが、一方、各エリアは2マシンサイクルを必要とする。
【0116】
3.3 実施態様の第3の例:JPEG-LS予測
ここで、図1A及び図1Bと、高さH=8及び幅W=8を有するブロックBとを参照して既述されたいわゆるJPEG-LS予測関数について検討する。図5Aによって示される本発明の実施態様の例によれば、ブロックBは、対角線境界Frによって分離された2つのエリアZ1及びZ2に分割される。0から開始して付番される行lin及び列colに位置するピクセルをX(lin,col)と呼ぶことにする。数学的な観点では、エリアZ1は、ブロックBの要素のうちの、自身の座標が不等式lin+col<5を満たす要素に対応する、対角線Frの上方に位置する全ての要素を含む。エリアZ2は、要素のうちの、lin+col≧5である要素に対応する、この対角線境界の下方に位置する全ての要素を含む。
【0117】
エリアZ1の要素は、従来の方法で予測される。現在の要素XについてJPEG-LS予測関数によって指定された予測子要素X、X又はXが以前に処理された近傍ブロック内にある場合、その予測子要素の値が、要素Xの予測のために使用される。
【0118】
ここでエリアZ2について検討する。図6A図6Eに示されるように、境界Frに隣接する要素は、第1のエリアZ1内に位置する予測子を利用する。しかし、本発明は、これらの2つのエリア間の処理の独立性を保証するように、これらの予測子要素の使用を防止する。この事例では、置換値を得るために、以前に列挙された選択肢のうちの1つに従ってステップE25が行われる。特に、本発明は、現在のブロックの同じ行の左に位置する近傍ブロックB内で予測子要素XA’を探索することを提案する。有利には、要素Xから置き換わるように選択される予測子要素は、現在の要素Xと同じ行に位置し、かつ、ブロックBの最右列col=4内に位置する要素XA’と、上側の近傍ブロックB内において、Xと同じ列に位置し、かつ、Bに最も近い行lin=8に位置する予測子要素XB’とである。図6C及び図6Dによって示されるように予測子要素XがエリアZ1内にある場合、置換予測子要素は、例えば、左側近傍ブロックB内の、予測関数によって指定される予測子要素と同じ行のXC’、又は、上側近傍ブロックB内の同じ列に従ったXC’とすることができる。
【0119】
当然、本発明は、この例に限定されない。近傍ブロックの既に処理されている他の任意の要素を、禁止された予測子要素から置き換わるのに使用することができるが、最も近くかつ同じ方向に従って位置する予測子要素の選択が、良好な品質の予測を提供する可能性がより高い。
【0120】
しかしながら、エリア外に予測子要素を有しないエリアZ2のピクセルは、従来の方法で予測される。
【0121】
図5Bを参照すると、この事例では、エリアZ1及びZ2を並列して処理することが可能になること、及び、各エリア内で、同じ反復中に同じ対角線の要素の全てを処理することが更に可能であることが分かる。11マシンサイクルを必要とするであろう4×8ブロックについて、本発明は、6マシンサイクルのみで行うことを可能にする。同様に、図5Cによって示されているように、7マシンサイクルを必要とするであろう4×4ブロックについて、本発明は、4マシンサイクルのみで行うことを可能にする。
【0122】
3.4 現在のブロックのN個のエリアへの分割(Nは、2よりも大きい整数)
一ブロックを、3つ以上の独立して復号可能なエリアに分割すること、例えば、垂直予測についての図7A及びJPEG-LS予測についての図7Bによって示されるように4つのエリアZ1~Z4に分割することも可能である。符号化器又は復号器が十分な数のプロセッサを有することを仮定すると、ブロックBを処理するのに必要とされるサイクルの数が更に一層削減される。提示される例では、エリアは、同じ寸法か、又は同じ程度の大きさの寸法のいずれかを有し、これにより、必要とされるサイクルの数を更に一層削減することが可能になる。
【0123】
3.5 予測すべきブロックの寸法
通常、一画像又は一画像シーケンスをブロック単位で符号化する技術は、一画像を種々のサイズを有する複数のブロックに分割する。例えば、利用可能なブロック寸法は、4×4、4×8、8×4、8×8及び16×16である。
【0124】
一画像を処理するのに必要とされる最大数のマシンサイクルを誘発するブロック分割は、小サイズのブロックへの分割である。実際には、図8A図8Cによって示されるように、16×16ブロックは、1要素当たり0.12マシンサイクル、すなわち当該ブロックについて31サイクルを必要とし、8×8ブロックは、1要素当たり0.23サイクルを必要とし、4×4ブロックは、1要素当たり0.44サイクルを必要とする。
【0125】
ここで再び、JPEG-LS予測関数及び16×16ピクセルサイズ画像の例について検討する。この画像が16×16ピクセルサイズの1つの単一ブロックに「分割」される場合、かつ、本発明において提案される技術が適用されない場合、必要とされるサイクルの数は31であることを確認した。逆に、このブロックが16個の4×4サイズブロックに分割され、そのそれぞれが7サイクルを必要とする場合、画像全体の処理は、16×7=112サイクルを必要とする。
【0126】
したがって、小ブロックを処理するためのサイクルの数を削減することが必須である。実際には、ハードウェア復号器は、符号化されたデータストリームにおいて生じる「ワーストケース」、すなわち、最小サイズを有する複数のブロックに分割された画像のデータストリームを、リアルタイムで処理するように設計される。
【0127】
図8D図8Gを参照すると、現在のブロックの2つのエリアへの分割を用いる本発明の実施態様により、処理コストを1要素当たり0.25サイクル未満に削減することが可能になることが分かる。
【0128】
4 画像を符号化又は復号する方法
図9図14は、本発明の種々の変形例による、少なくとも1つの画像を符号化又は復号する方法を提示している。これらの変形例は、図2図8を参照して説明された本発明による一ブロックの処理の主要ステップを実施する。
【0129】
4.1 直列符号化又は復号方法
図9は、直列モードすなわち順次モードに従って画像を符号化又は復号する方法のステップを提示している。例えば、そのような符号化/復号方法は、図13を参照して説明されるような符号化/復号デバイスによって実施される。以下の説明では、符号化方法の入力において提供される符号化すべき画像I、I、...、Iのシーケンス、又は復号方法の入力において提供される符号化されたデータストリーム/ファイルについて検討する。当然、本発明は、静止画像の符号化/復号にも適用される。
【0130】
既知の方法では、画像I、I、...、Iのシーケンスの符号化は、事前に確立されるとともに復号器に既知である符号化順序に従って画像単位で行われる。例えば、画像は、時間順序I、I、...、Iで、又は別の順序、例えばI、I、I、...、Iに従って、符号化することができる。
【0131】
図示されていないステップにおいて、画像I、I、...、Iのシーケンスのうち符号化すべき画像Iは、最大サイズを有する複数のブロックに分割される。最大サイズを有する各ブロックは、より小さいブロックに再び分割することができる。例えば、最大サイズを有する一ブロックは、32×32ピクセルサイズを有する。そのような最大サイズを有するブロックは、正方形又は長方形のサブブロック、例えば、16×16、8×8、4×4、16×8、8×16...サイズを有するサブブロックに分割することができる。
【0132】
復号器側で、符号化されたデータを読み取るステップは、実行された分割に関する情報を得ることを可能にする。
【0133】
ステップC0において、画像Iの符号化/復号すべきブロックB(現在のブロックと呼ぶ)が、符号化器及び復号器に既知の、画像Iの所定のスキャン順序、例えば、辞書式順序に従って選択される。
【0134】
ステップC1では、現在のブロックBが本発明のDPCM技術に従って処理されるべきか、又は、例えばHEVC標準規格において記載されるような従来のイントラ又はインター予測モード等の別の予測モードに従って処理されるべきかをチェックする。既知の方法では、テストは、モードのそれぞれに従って現在のブロックのレート歪みコストを比較することと、最低コストを得るモードを選択することとから構成される場合がある。インジケータ(フラグ)等の、選択された予測モードに関する情報が符号化される。
【0135】
復号器側で、上記情報は、現在のブロックが従来のモード(HEVC標準規格において記載されているようなイントラ又はインター復号)に従って復号されるべきか、又は本発明のDPCMモードに従って復号されるべきかを判断するために、圧縮ファイル又は符号化されたデータストリームにおいて読み取られる。
【0136】
識別されたモードが従来の予測モードである事例では、次のステップは、当業者に既知である従来のモードにおける符号化(又は復号)のステップC2である。これについては、更には説明しない。
【0137】
そうではなく、得られた予測モードが本発明によるDPCMモードである場合、次のステップは、現在のブロックの分割を得るステップC3である。このステップでは、現在のブロックは、セクション3において説明された本発明の変形例のうちの1つに従っていくつかのエリアに分割される。セクション3.3において説明された第1の例によれば、現在のブロックBは、次のように定義される2つのエリアZ1及びZ2に分割される。
ブロックBの要素X(lin,col)は、lin+col<H+1(Hは行の数)である場合、第1のエリアZ1に属する。そうではない場合、ピクセルは、第2のエリアZ2に属する。エリアZ1及びZ2は、対角線境界Frによって分離される。
【0138】
セクション3.1において記載された第2の例によれば、ブロックBは、2つのエリアZ1及びZ2に分割され、要素X(lin,col)は、lin<H+1(Hは行の数)である場合に第1のエリアに属するようになっている。そうではない場合、要素は、第2のエリアに属する。
【0139】
C4において、第1のエリアZ1が現在のエリアとして選択される。ブロックBの複数のエリアを処理する順序は、これらが互いに独立して符号化可能/復号可能である限り、任意であることに留意されたい。
【0140】
エリアZ1を符号化するステップC5について、図11を参照して以下で説明する。エリアZ1を復号するステップD5について、図12を参照して以下で説明する。
【0141】
C6において、符号化すべきエリアZiが依然として存在するか否かをチェックする。検討される例では、Z2が依然として存在する。したがって、ステップC4に戻って、エリアZ2を選択する。その後、Z2は、適切である場合、C5/D5において符号化又は復号される。C6において、最後のエリアであるか否かのテストが行われる。
【0142】
次のステップC7は、処理すべきブロックが依然として存在するか否かをチェックする。依然として存在する場合、新たな現在のブロックを選択するステップC0に戻る。そうではない場合、処理は、C8において終了する。
【0143】
4.2 並列符号化又は復号方法
図10は、並列モードによる、画像を符号化又は復号する方法のステップを提示している。
【0144】
一ブロックを選択するステップC0、予測モードをチェックするステップC1、従来の符号化/復号のステップC2及び複数のエリアに分割するステップC3は変わらないままである。
【0145】
処理すべきエリアを選択するステップC4は、符号化器/復号器内で利用可能であるコンピューティングマシン又は処理ユニット間でエリアを分配するステップC4’に置き換えられる。図10の例では、1つのエリアZiが各処理ユニットUTiに割り当てられるように、現在のブロックのN個のエリアを処理するN個の処理ユニットがある。この並列化は、現在のブロックの他のエリアと独立して1つのエリアの予測を実行する本発明によって可能になる。
【0146】
当然、本発明は、この例に限定されず、処理すべきエリアの数よりも少ない数の処理ユニットを含む符号化器又は復号器にも適用される。この事例では、C6において、処理すべきブロックのエリアが依然として存在するか否かをチェックする。依然として存在する場合、方法は、処理ユニット間でエリアを分配するステップC4’に戻る。そうではない場合、次のステップは、最後のブロックをチェックするステップC7である。処理すべきブロックが依然として存在する場合、ステップC0に戻り、そうではない場合、方法は、C8において終了する。
【0147】
4.3 現在のブロックのエリアの符号化
本発明の一実施形態による現在のブロックのエリアZiを符号化するステップC5が、ここで、図11を参照して詳述される。
【0148】
C51において、エリアZi内で少なくとも1つの要素又はピクセルxが選択される。現在のエリアのピクセルについてスキャン順序が定義される。このスキャン順序は、それ自体は既知であり、所定のものである。特に、このスキャン順序は、現在のピクセルの予測のために使用され、復号された形式において利用可能である(したがって、先に処理されている)ピクセルによって決定される。したがって、従来のスキャン順序は、辞書式順序であり、これは、前述された局所的な予測関数の場合に機能する。
【0149】
この選択された要素X(現在の要素と呼ぶ)について、C52において、セクション3において前述されたように、予測関数fを適用することにより、既に処理された少なくとも1つの近傍予測子要素から値P(X)が予測される。
【0150】
C53において、予測残差の値R(X)=X-P(X)が計算される。その後、C54において、例えばそれ自体は既知であるスカラ量子化を使用して、値R(X)が量子化される。量子化された値Q(R(X))が得られる。
【0151】
C55において、ハフマン符号化器又は算術符号化器等の既知の手段を使用して、量子化された残差Q(R(X))が符号化され、得られた符号化されたデータは、ストリーム又はファイル内に挿入される。
【0152】
C56において、現在の要素Xの復号された値D(X)は、逆演算を実行することによって計算される。この値は、現在のエリア、又は画像の次の要素の予測のために利用できるように、メモリに記憶される。
【0153】
前のステップにおいて使用された量子化器に関連付けられた逆量子化器がQIと称される場合、Xの復号された値D(X)は、D(X)=P(X)+QI(Q(R(X)))である。
【0154】
ステップC57では、現在の要素がエリアZi内で処理すべき最後の要素であるか否かをチェックする。最後の要素である場合、処理は終了する。そうではない場合、次のステップは、符号化すべき要素を選択するステップC51である。
【0155】
4.4 現在のブロックのエリアの復号
ここで、本発明の一実施形態による現在のブロックのエリアZiを復号するステップD5が、図12を参照して詳述される。
【0156】
D51において、符号化についてセクション4.3において前述されたように、エリアZi内で少なくとも1つの要素又はピクセルXが選択される。
【0157】
現在の要素と呼ばれるこの選択された要素Xについて、D52において、符号化についてセクション3において前述されたように、予測関数fを適用することにより、既に処理された少なくとも1つの近傍予測子要素から値P(X)が予測される。
【0158】
D53において、符号化されたデータにおいて量子化された残差Q(R(X))が読み取られ、これは、D54において、符号化器側で実施された手段の逆である既知の手段を使用して復号される。
【0159】
D55において、予測残差の逆量子化された値R(X)が計算される。符号化器において使用された量子化器に関連付けられた逆量子化器がQIと称される場合、R(X)の逆量子化された値は、QI(Q(R(X)))である。
【0160】
D56において、現在の要素Xの復号された値D(X)は、逆量子化された残差に予測された値を加算することによって計算される。D(X)=P(X)+QI(Q(R(X)))。
【0161】
ステップD57では、現在の要素がエリアZi内で処理すべき最後の要素であるか否かをチェックする。最後の要素である場合、処理は、D58において終了する。そうではない場合、次のステップは、復号すべき次の要素を選択するステップD51である。
【0162】
4.5 現在のブロックの符号化又は復号の変形例
ここで、図13及び図14を参照して、現在のブロックを符号化又は復号する一変形例について説明する。図13は、直列モードに従ってこの変形例を実施する、画像を符号化又は復号する方法のステップを提示している。図14は、並列モードに従ってこの変形例を実施する、画像を符号化又は復号する方法のステップを提示している。
【0163】
予測モードがDPCMモードである場合、追加のステップC11では、利用可能な関数のリスト内で、現在のブロックの要素を予測するために当該現在のブロックの要素に適用すべき予測関数fを得る。例えば、このリストは、水平予測関数、垂直予測関数及びJPEG-LS予測関数、又はこれらの関数のうちの2つのみを含む。当然、本発明は、この例に限定されず、リストは、前述された関数以外の予測関数を含んでもよい。
【0164】
符号化器側で、リスト内に含まれる予測関数が、例えば誘導されるレート歪みコストを関数ごとに計算することによってテストされる。選択される予測関数fは、最低レート歪みコストに関連付けられた関数である。次のステップC3及びC5又はC51~C5Nは、この情報の知識を利用する。特に、現在のブロックを複数のエリアに分割するステップC3は、実行される分割を適応させるためにこの予測関数インジケーションを考慮に入れる。実際には、前述されたように、選択される各予測関数は、ブロックの特定の分割を調整し、これにより、現在のブロックを処理するのに必要とされるマシンサイクルの数を最低限に抑えることが可能になる。しかしながら、処理すべきエリアを選択するステップC4、又は利用可能な処理ユニットにわたって処理すべきエリアを分配するステップC4’は、予測関数fの選択とは独立している。なぜならば、本発明によれば、現在のブロック内で分割されたエリアは、互いに独立して符号化可能又は復号可能であるためである。符号化ステップC5も適応される。なぜならば、エリアのうちのそれぞれの予測は、選択された予測関数を用いて実行されるためである。
【0165】
有利には、選択された予測関数fは、符号化され、符号化されたデータストリーム/ファイル内に挿入される特定のインジケータの形式で復号器に伝送される。例えば、このインジケータは、リスト内の予測関数のランクの形式のものである。当然、このインジケータは、現在のブロックがDPCMモードにおいて符号化される場合にのみ挿入される。
【0166】
復号器側で、ステップD11は、符号化されたデータストリーム又はファイル内の予測関数インジケータの読み取り及びその復号を含む。当然、そのようなインジケータは、ブロックがDPCMモードにおいて復号すべきである場合にのみ読み取られる。予測関数fは、復号された特定のインジケータから得られる。
【0167】
符号化器と同様の方法で、次のステップD3、及びD5又はD51~D5Nは、現在のブロックにおけるそれらの処理を適応させるために得られた予測関数fを考慮に入れるが、一方でステップD4又はD4’は影響を受けない。
【0168】
5 符号化デバイス及び復号デバイス
図17Aによって示される本発明の特定の実施形態によれば、符号化方法のステップは、コンピュータプログラム命令によって実施される。このために、符号化デバイス100又は復号デバイス200は、コンピュータの従来のアーキテクチャを有し、特に、メモリMEM101、201、例えば少なくとも1つのマイクロプロセッサP1を装備されるとともに、メモリMEMに記憶されたコンピュータプログラムPgによって駆動される、処理ユニットUT102、202を備える。コンピュータプログラムPgは、プロセッサによって実行されると、本明細書の上記で説明されたような符号化又は復号方法のステップを実施する命令を含む。
【0169】
初期化時、コンピュータプログラムPgのコード命令が、プロセッサによって実行される前に、例えばRAMメモリにロードされる。特に、処理ユニットUTのプロセッサは、コンピュータプログラムPgの命令に従って、これらの種々の変形例において本明細書の上記で記載された符号化又は復号方法のステップを実施する。
【0170】
本発明の別の実施形態によれば、図17Bによって示されるように、処理ユニットは、いくつかのプロセッサP1~PN(Nは2以上の整数)を備える。プログラムPg’は、方法の実行が、図10を参照してセクション4.2のいわゆる「並列」実施形態において説明されたように、プロセッサP1~PNによって実行される場合に、本明細書の上記で説明されたような符号化又は復号方法のステップを実施する命令を含む。この実施形態によれば、「マスタ」プロセッサ、例えばP1は、符号化方法を実行し、C’4において、符号化/復号ステップC51/D51...C5N/D5Nが並列に実行されるように、利用可能なプロセッサにわたって複数のエリアの処理を分配する。有利には、デバイス100、200は、メモリMに加えて、現在のエリアの要素の予測、それらの(逆)量子化された残差、それらの符号化/復号された値等を一時的に記憶するように適応されたいくつかのメモリMEM2~MEMNを備える。
【0171】
図18によって示される本発明の別の特定の実施形態によれば、本発明による符号化又は復号方法は、機能モジュールによって実施される。このために、デバイス100、200は、
- ブロックを少なくとも2つのエリアに分割するモジュールCUTと、
- 少なくとも1つの上記エリアを処理するモジュールPROCであって、処理は、所定のスキャン順序に従ったエリアの要素のスキャンを含み、スキャンされる現在の要素について、
○ 所定の近傍関数に従って以前に符号化又は復号された少なくとも1つの近傍予測子要素を選択すること(SEL)と、
○ 現在の要素を予測すること(PRED)であって、
・ 少なくとも1つの近傍予測子要素が上記エリアに属する場合、当該少なくとも1つの近傍予測子要素から、
・ 少なくとも1つの近傍予測子要素が上記エリアに属さない場合、少なくとも1つの置換値から、
現在の要素を予測して、予測された現在の要素にすることと、
を含む、モジュールPROCと、
を更に含む。
【0172】
処理ユニットUTは、符号化又は復号方法のステップを実施するために、上記で説明された種々の機能モジュール及びメモリMEMと協働する。
【0173】
上記で説明された種々の機能モジュールは、ハードウェア及び/又はソフトウェア形式とすることができる。ソフトウェア形式の場合、そのような機能モジュールは、1つ又はいくつかのプロセッサ、メモリ、及びコード命令が1つのプロセッサ/当該プロセッサによって実行されると、モジュールに対応する機能を実施するプログラムコード命令を含むことができる。ハードウェア形式の場合、そのような機能モジュールは、限定することなく、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)回路、配線論理ユニット等の任意のタイプの適切な符号化回路によって実施することができる。
【0174】
これらのモジュールは、処理ユニットUTのプロセッサによって駆動される。
【0175】
有利には、機能モジュールPROCは、本発明に従って現在のブロック内で分割されたエリアを並列に処理するように構成された、いくつかのプロセッサを含むことができる。
【0176】
有利には、デバイス100及び/又はデバイス200は、スマートフォン、タブレット、テレビジョンセット、パーソナルコンピュータ等の端末機器ET10内に埋め込むことができる。その場合、デバイス100、200は、少なくとも端末ETの以下のモジュールと協働するように構成される。
- ビットストリームTB又は圧縮ファイルFCが、それを通じて電気通信ネットワーク、例えば有線ネットワーク又は無線ネットワークにおいて伝送される、データ送信機/受信機モジュールE/R1、及び、
- 符号化すべき画像若しくは画像のシーケンス、得られた符号化されたデータストリーム/ファイル又は復号された画像又は画像のシーケンスを記憶する(M)モジュールM。
【0177】
言及するまでもなく、本明細書の上記で説明された実施形態は、単に例示のために、非限定的な目的で提供されており、当業者であれば、本発明の範囲から逸脱することなく、多数の変更を容易に行うことができる。
図1A-1B】
図2
図3A-3C】
図3D-3F】
図4A-4D】
図5A-5C】
図6A-6E】
図7A-7B】
図8A-8G】
図9
図10
図11
図12
図13
図14
図15
図16
図17A-17B】
図18
【国際調査報告】