(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-02-01
(54)【発明の名称】ゾーンへのブロック分割により画像を符号化及び復号する方法及びデバイス
(51)【国際特許分類】
H04N 19/593 20140101AFI20220125BHJP
H04N 19/105 20140101ALI20220125BHJP
【FI】
H04N19/593
H04N19/105
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021525162
(86)(22)【出願日】2019-11-06
(85)【翻訳文提出日】2021-07-07
(86)【国際出願番号】 EP2019080369
(87)【国際公開番号】W WO2020094703
(87)【国際公開日】2020-05-14
(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ターム(参考)】
5C159KK13
5C159LC09
5C159MA04
5C159MA05
5C159MA23
5C159MC11
5C159ME01
5C159ME02
5C159ME11
5C159PP16
5C159RC12
5C159TA33
5C159TB08
5C159TC31
5C159TC42
5C159TD11
5C159UA02
5C159UA05
(57)【要約】
本発明は、少なくとも1つの画像を符号化又は復号する方法に関する。画像は複数の要素を有するブロックに分割される。上記方法は、少なくとも1つのブロックについて、当該ブロックを少なくとも2つのゾーンに分割するステップ(E1)と、少なくとも1つの前記ゾーンを処理するステップ(E2)とを含む。前記処理するステップは、所定のスキャン順序に従って前記ゾーン内の要素をスキャンするステップを含み、現在の要素と呼ばれる、スキャンされた少なくとも1つの要素について、予測関数に従って、先に符号化又は復号された少なくとも1つの予測子要素を選択するステップ(E21)と、現在の要素を予測するステップ(E25)とを含む。前記予測するステップは、少なくとも1つの近傍にある予測子要素が上記ゾーンに属する場合に、当該少なくとも1つの予測子要素に基づいて行われ、その他の場合には少なくとも1つの置換値に基づいて行われる。
【選択図】
図2
【特許請求の範囲】
【請求項1】
少なくとも1つの画像を符号化又は復号する方法であって、
画像は、複数の要素を有する複数のブロックに分割され、
少なくとも1つのブロックにつき、
当該ブロックを少なくとも2つのエリアに分割するステップ(E1)と、
少なくとも1つの前記エリアを処理するステップ(E2)であって、所定のスキャン順序に従って前記エリア内の要素をスキャンするステップを含み、スキャンされた少なくとも1つの要素を現在の要素として前記現在の要素につき、
予測関数に基づいて、先に符号化又は復号された少なくとも1つの予測子要素を選択するステップ(E21)と、
前記少なくとも1つの予測子要素が前記エリアに属する場合に、前記現在の要素を当該少なくとも1つの予測子要素から予測し、
その他の場合には、前記現在の要素を、少なくとも1つの別のエリアとは無関係に得られる少なくとも1つの置換値から予測するステップ(E25)と
を含むステップ(E2)と
を含む方法。
【請求項2】
前記現在の要素(X)が或る行(lin)及び或る列(col)に位置し、
前記予測関数は、前記先に符号化又は復号された、同じ列(col)かつ直前の行(lin-1)に位置する要素(XB)を選択し、
前記少なくとも2つのエリア間の境界は水平である、
請求項1に記載の方法。
【請求項3】
行数がHであるブロックについて、前記現在のブロックが、第1のエリア(Z1)と第2のエリア(Z2)とに分割され、
前記第1のエリア内の要素は、lin<H/2という条件を満たす、
請求項2に記載の方法。
【請求項4】
前記現在の要素(X)が或る行(lin)及び或る列(col)に位置し、
前記予測関数は、前記先に符号化又は復号された、同じ行(lin)かつ直前の列(col-1)に位置する要素(XB)を選択し、
前記少なくとも2つのエリア間の境界は垂直な線である、
請求項1に記載の方法。
【請求項5】
列数がWであるブロックについて、前記現在のブロックが、第1のエリア(Z1)と第2のエリア(Z2)とに分割され、
前記第1のエリア内の要素は、col<W/2という条件を満たす、
請求項4に記載の方法。
【請求項6】
前記現在の要素が或る行(lin)及び或る列(col)に位置し、
前記予測関数は、先に処理された、同じ行(lin)かつ直前の列(col-1)にある第1の要素(XA)と、先に処理された、直前の列(lin-1)かつ同じ先の列(col)にある第2の要素(XB)と、先に処理された、直前の行かつ直前の列(lin-1,col-1)にある第3の要素(XC)とを選択し、
境界が斜めである、
請求項1に記載の方法。
【請求項7】
行数がHであり列数がWであるブロックについて、前記現在のブロックが、2つのエリアに分割され、
第1のエリア内の要素は、lin+col<(H+W)/2+1という条件を満たす、
請求項6に記載の方法。
【請求項8】
前記予測子要素が別のエリアに属する場合、前記置換値はメモリに読み込まれる所定の値である、請求項1~7のいずれか1項に記載の方法。
【請求項9】
前記少なくとも1つの置換値は、前記現在のブロックの近傍にある先に符号化又は復号されたブロックにおいて選択される、少なくとも1つの他の予測子要素から得られる、請求項1~7のいずれか1項に記載の方法。
【請求項10】
前記他の予測子要素は、前記予測子要素と同じ行又は同じ列にある前記近傍ブロックにおいて選択される、請求項9に記載の方法。
【請求項11】
選択される前記他の予測子要素は、前記予測子要素に最も近く同じ行又は同じ列にある前記近傍ブロック内の要素である、請求項10に記載の方法。
【請求項12】
前記方法は、利用可能な予測関数のリストから前記予測関数を得るステップを含み、
少なくとも、前記現在のブロックを複数のエリアに分割することと、前記少なくとも1つのエリアを処理することとのいずれかは、得られた前記予測関数に依存する、
請求項1~11のいずれか1項に記載の方法。
【請求項13】
少なくとも1つの前記置換値は、前記現在のブロック内の要素の強度の平均値等の、前記現在のブロックについて求められる値である、請求項1~7のいずれか1項に記載の符号化方法。
【請求項14】
得られた前記予測関数の識別子を符号化するステップを含む請求項12に記載の符号化方法。
【請求項15】
請求項1~13のいずれか1項に記載の少なくとも1つの画像を符号化する方法であって、
スキャンされた前記現在の要素について、
前記現在の要素から予測された要素を減ずることにより残差要素を得るステップ(C53)と、
前記残差要素を符号化(C55)し、前記画像を表す符号化済みデータに符号化された前記残差要素を加えるステップと
を含む方法。
【請求項16】
前記現在のブロックについての少なくとも1つの前記置換値は、符号化されて、符号化済みデータにおいて送られるか、又は、符号化済みデータを読み出すことにより得られる、請求項1~7のいずれか1項に記載の方法。
【請求項17】
前記方法は、前記予測関数の識別子(ICf)を表す符号化済みデータを復号するステップを含み、前記予測関数は前記識別子から得られる、請求項12に記載の復号方法。
【請求項18】
請求項1~12、16及び17のいずれか1項に記載の少なくとも1つの画像を復号する方法であって、
前記現在の要素について、
前記画像を表す符号化済みデータを読み出すことにより前記現在の要素の残差を得るステップ(D53)と、
得られた前記残差と予測された前記現在の要素とから、復号された現在の要素を再構築するステップと
を含む方法。
【請求項19】
少なくとも1つの画像を符号化又は復号するデバイス(100、200)であって、
画像は複数の要素を有する複数のブロックに分割され、
前記デバイスは、少なくとも1つのコンピューティングマシンを備え、
少なくとも1つの前記コンピューティングマシンは、少なくとも1つのブロックにつき、
前記ブロックを少なくとも2つのエリアに分割するステップと、
少なくとも1つの前記エリアを処理するステップであって、所定のスキャン順序に従って前記エリア内の要素をスキャンするステップを含み、スキャンされた少なくとも1つの要素を現在の要素として前記現在の要素につき、
予測関数に従って、先に符号化又は復号された少なくとも1つの予測子要素を選択するステップと、
前記少なくとも1つの予測子要素が前記エリアに属する場合に、前記現在の要素を当該少なくとも1つの予測子要素から予測し、
その他の場合には、前記現在の要素を、少なくとも1つの別のエリアとは無関係に得られる少なくとも1つの置換値から予測して、予測された現在の要素とするステップと
を含むステップと
を行う、デバイス。
【請求項20】
前記現在のブロックは、少なくとも、1つの第1のエリアと1つの第2のエリアとに分割され、
前記デバイスは、少なくとも、前記第1のエリアを処理する1つの第1コンピューティングマシンと、前記第2のエリアを処理する1つの第2コンピューティングマシンとを備える、
請求項19に記載の符号化又は復号するデバイス(100、200)。
【請求項21】
前記第1のコンピューティングマシン及び前記第2のコンピューティングマシンは、前記ブロック内の1つの行の要素と、1つの列の要素と、1つの斜め成分の要素とのいずれかを1回のマシンサイクルにおいて処理する、
請求項19又は20に記載の符号化又は復号するデバイス(100、200)。
【請求項22】
少なくとも1つの画像を表す符号化済みデータを搬送する信号であって、
画像は複数のブロックに分割され、
前記符号化済みデータは、請求項13に記載の符号化方法により得られており、
現在のブロックと呼ばれる或るブロックが、少なくとも2つのエリアに分割され、
前記符号化済みデータは、1つのブロックについて、前記符号化方法により求められた少なくとも1つの置換値を含み、
前記置換値は請求項16に記載の復号方法により用いられて、前記ブロックにおける少なくとも1つの前記エリア内の現在の要素が前記置換値から予測される、
信号。
【請求項23】
少なくとも1つの画像を表す符号化済みデータを搬送する信号であって、
画像は複数のブロックに分割され、
前記符号化済みデータは、請求項14に記載の符号化方法により得られており、
少なくとも1つのブロックは、少なくとも2つのエリアに分割され、
前記符号化済みデータは、前記ブロックについて、前記符号化方法により選択された予測関数の少なくとも1つの識別子を含み、
前記識別子は請求項17に記載の復号方法により用いられて、現在の要素が少なくとも2つのエリアに分割され、1つの前記エリア内の現在の要素が前記予測関数に従って予測される、
信号。
【請求項24】
プロセッサによって実行されると、請求項1~18のいずれか1項に記載の方法を実施するためのプログラムコード命令を有するコンピュータプログラム製品(Pg,Pg’)。
【請求項25】
請求項24に記載のコンピュータプログラム製品(Pg,Pg’)を含むコンピュータ可読データを記録した媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像又は画像シーケンス、特にビデオストリームの符号化及び復号の分野に関する。
【0002】
より詳細には、本発明は、ブロック単位の画像の表現を用いた画像又は画像シーケンスの圧縮に関する。
【0003】
特に、本発明は、従来の、又は将来開発される符号化器(JPEG、MPEG、H.264、HEVC等及びVVC並びにこれらの改良版)、及び対応する復号器において実施される画像又はビデオの符号化に適用することができる。
【背景技術】
【0004】
デジタル画像及び画像シーケンスは、膨大な量のメモリ空間を占有し、これにより、これらの画像が送信されるときに、その送信に用いられるネットワーク上の輻輳の問題を回避するためにこれらの画像を圧縮することが必要となる。実際、ネットワーク上の利用可能なレートには一般的に限りがある。
【0005】
ビデオデータを圧縮する多くの手法が知られている。なかでもHEVC(非特許文献1)の圧縮標準規格は、現在の画像ピクセルの、同じ画像(イントラ予測)又は前の画像若しくは次の画像(インター予測)に属する別のピクセルに関する予測を実施することを提案している。
【0006】
より具体的には、イントラ予測は、一つの画像内の空間冗長性を利用する。その目的で、画像が、複数の要素又は複数のピクセルからなる複数のブロックに分割される。そして、複数のピクセルからなる複数のブロックは、既に再構築された情報を用いて予測される。この、既に再構築された情報は、現在の画像内のブロックをスキャンする順序に従って当該画像においてそれまでに符号化・復号されたブロックに対応する。
【0007】
さらに、従来の方法では、現在のブロックの符号化は、予測されたブロックと呼ばれる、現在のブロックの予測と、現在のブロックと予測されたブロックとの差に対応する予測残差すなわち「残差ブロック」とを用いて行われる。続いて、得られた残差ブロックは、例えばDCT(離散コサイン変換)タイプの変換により変換される。その後、変換された残差ブロックの係数が量子化され、次に、エントロピー符号化により符号化されて復号器へと送られる。復号器は、この残差ブロックを予測されたブロックに加えることにより現在のブロックを再構築することができる。
【0008】
復号は、画像単位で、そして各画像につきブロック単位で行われる。ブロックごとに、そのストリームの対応する要素が読み出される。残差ブロックの係数の逆量子化及び逆変換が行われる。次に、ブロックの予測が計算され、予測されたブロックが得られて、予測(予測されたブロック)を復号された残差ブロックに加えることにより現在のブロックが再構築される。
【0009】
(「差分パルス符号変調(Differential Pulse Code Modulation)」の略語である)DPCMと呼ばれる、ブロック内の要素を予測する手法も知られている。これは、一つの画像の一つのピクセルの値を、1つ以上の近傍ピクセルの値に基づいて予測することから成る。例えば、この手法は、JPEG-LS(「Lossless Joint Photographic Expert Group」を意味する)の標準規格に適用され、非特許文献2に記載されている。
【0010】
図1を参照し、画像I内の要素すなわちピクセルXについて検討する。この要素は、画像Iの行lin及び列colに位置する。当該ブロック内の要素は、画像内のいわゆる「辞書式の」スキャン順序に従って、すなわち1つの行において左から右へ向かって、そして、行単位で上から下へ向かって処理される。ピクセルXは、既に復号された3つの近傍ピクセルによって囲まれている。3つの近傍ピクセルは、同じ行において左に位置するピクセルXAと、同じ列において上に位置するピクセルXBと、左斜め上に位置するピクセルXCとである。
【0011】
Xの予測値をP(X)とする。JPEG-LS標準規格によれば、P(X)は次のように計算される。
P(X)=f(XA,XB,XC)
ただし、fは所定の関数であり、以下において近傍関数と呼ぶ。
【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によって定められるような、画像のロスの無い符号化の場合、残差R(X)は、統計的特性を利用するエントロピー符号化器によって符号化されたのち、復号器に送られる。
【0016】
画像のロスを伴う符号化の場合、残差R(X)は通常、例えばユーザによって設定される量子化ステップを伴う一様スカラ量子化器を用いて量子化される。
RQ(X)=NI(R(X)/d)
ただし、NI(「最近傍整数(Nearest Integer)」の略語)は、最も近い整数を求める関数である。この関数は、上記式の事例では最小の最近傍整数を選択する。
【0017】
量子化された残差RQ(X)は、当業者に知られているハフマン符号化又は算術符号化等のエントロピー符号化方法により事前に圧縮されたのち、復号器に送られる。符号化器においては、現在のピクセル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予測法の適応も知られている。すなわち、画像の(例えば、8×8ピクセルサイズの)ブロックBにおいて、辞書式順序でピクセルがスキャンされ、前述したDPCM予測が適用される。典型的には、ピクセルXの予測計算に用いられるピクセルXA、XB又はXCが現在のブロックの外にある場合、近傍ブロックから生じる、復号されたピクセルの値、例えば、
図1Bに示すXC’、XB’又はXC’’、XB’’の値が使用される。
【0022】
本発明者らによって実施されるブロックレベルにおけるDPCM手法の実験により、ビデオの圧縮、特に、合成コンテンツ等のいくつかのタイプのコンテンツに対する圧縮において利点が明らかになった。
【0023】
しかし、DPCM手法は、ピクセルの順次処理が必要という欠点を有する。その結果、1つのDPCMブロックを処理するのに多数のマシンサイクルを消費する。他方、ビデオ符号化器及びビデオ復号器は、JPEG-LSのような静止画像の符号化器・復号器よりも厳しい速度の制約を受ける。
【先行技術文献】
【特許文献】
【0024】
【非特許文献】
【0025】
【非特許文献1】“High Efficiency Video Coding, Coding Tools and Specification”, Matthias Wien, Signals and Communication Technology, 2015
【非特許文献2】ISO/OEC 14495-1:1999 ITU-T Rec. T.87, 1998
【発明の概要】
【発明が解決しようとする課題】
【0026】
したがって、従来技術の欠点を有さず、特に、1つのブロックを処理するために必要となるマシンサイクルの数の削減を可能にするピクセル予測手法が求められている。
【課題を解決するための手段】
【0027】
少なくとも1つの実施の形態によれば、本発明は、少なくとも1つの画像を符号化又は復号する方法に関する。本方法において、画像は要素のブロックに分割される。本方法は、少なくとも1つのブロックについて、
ブロックを少なくとも2つのエリアに分割することと、
少なくとも1つの上記エリアを処理することであって、所定のスキャン順序に従ったエリアの要素をスキャンすることを含み、現在の要素と呼ばれる少なくとも1つのスキャンされる要素について、
予測関数に従って、先に符号化又は復号された少なくとも1つの予測子要素を選択することと、
現在の要素を予測することであって、
少なくとも1つの予測子要素が上記エリアに属する場合、当該少なくとも1つの予測子要素から予測を行い、
少なくとも1つの予測子要素が上記エリアに属さない場合、少なくとも1つの他のエリアから独立して得られた少なくとも1つの置換値から予測を行う、予測することと
を含む、処理することと
を含む。
【0028】
本発明は、極めて新しい手法に基づいており、この手法は、現在のブロックを、互いに独立して予測される少なくとも2つのエリアに分割することから構成される。1つのエリアの処理において、予測子が他のエリア内にある場合、この予測子は、置換値に置き換えられる。このようにして、2つのエリアは、独立して符号化又は復号が可能である。それゆえ、従来技術とは異なり、これらのエリアは、並列に処理することができ、これにより、現在のブロックを符号化するのに必要とされるマシンサイクル数を削減することができる。
【0029】
本発明の第1の実施の形態によれば、現在の要素Xは或る行lin及び或る列colに位置し、予測関数は、同じ列かつ直前の行に位置する、先に符号化又は復号された要素XBを選択する。上記少なくとも2つのエリア間の境界は水平である。
【0030】
このような垂直予測の1つの利点は、垂直予測が、実施が容易である水平分割を可能にし、それと同時に、各エリアの1つの行にある全ての要素の同時処理を可能にすることである。
【0031】
本発明のこの第1の実施の形態の一態様によれば、H個の行を含むブロックについて、現在のブロックが、第1のエリア及び第2のエリアに分割され、第1のエリアの要素は、lin<H/2という条件を満たす。
【0032】
1つの利点は、従来技術に比べて半分に削減された、同じ数の反復処理又はマシンサイクルを必要とする2つのエリアを形成することにある。
【0033】
本発明の第2の実施の形態によれば、現在の要素は或る行lin及び或る列colに位置し、予測関数は、同じ行かつ直前の列に位置する、先に符号化又は復号された要素XBを選択し、上記少なくとも2つのエリア間の境界は垂直な線である。
【0034】
このような水平予測の1つの利点は、水平予測が、実施が容易であるブロックの垂直分割を可能にし、それと同時に、各エリアの1つの列にある全ての要素の同時処理を可能にすることである。
【0035】
本発明のこの第2の実施の形態の一態様によれば、W個の列を含むブロックについて、現在のブロックが、第1のエリア及び第2のエリアに分割され、第1のエリアの要素は、col<W/2という条件を満たす。
【0036】
1つの利点は、従来技術に比べて半分に削減された、同じ数の反復処理又はマシンサイクルを必要とする、サイズが同じ2つのエリアを形成することにある。
【0037】
本発明の第3の実施の形態によれば、現在の要素は或る行lin及び或る列colに位置し、予測関数は、同じ行かつ直前の列の、先に処理された第1の要素と、直前の列かつ同じ直前の列の、先に処理された第2の要素と、直前の行かつ直前の列の、先に処理された第3の要素とを選択する。境界は斜めの線である。
【0038】
エリアの同じ斜め成分の要素の全てを、同時に処理することができる。1つの利点は、現在の要素の予測のために近傍を適切に考慮することができる、いわゆるJPEG-LS予測を使用することを可能にし、それと同時に、同じ反復にて予測される準備が整っている要素の数を最大化することにある。
【0039】
この第3の実施形態の一態様によれば、H個の行及びW個の列を含むブロックについて、現在のブロックが2つのエリアに分割され、第1のエリアの要素は、lin+col<(H+W)/2+1という条件を満たす。
【0040】
1つの利点は、処理に必要な反復の回数がほぼ同数となる2つのエリアが形成されることである。
【0041】
本発明の別の実施の形態によれば、予測子要素が別のエリアに属する場合、置換値はメモリに読み込まれた所定の値である。
【0042】
この解決策の1つの利点は、この解決策の実施が容易であることである。
【0043】
本発明の別の実施の形態によれば、少なくとも1つの置換値は、現在のブロックの近傍にある、先に符号化又は復号されたブロック内で選択された、少なくとも1つの他の予測子要素から得られる。
【0044】
予測子が近傍ブロック内にあるのか、又は現在のブロックの別のエリア内にあるのかを問わず、現在のブロックの近傍のブロック内、例えば近傍ブロックと現在のブロックとの境界に隣接する、いわゆる参照要素内で置換用の予測子要素が選択される。現在のブロックの近傍内で置換値を選択する1つの利点は、良好な品質の予測を保証するということにある。
【0045】
本発明のこの実施の形態の一態様によれば、予測子要素と同じ行又は同じ列の上記近傍ブロック内で他の予測子要素が選択される。
【0046】
この実施の形態の1つの利点は、予測関数の方向が保たれるということである。
【0047】
本発明のこの実施の形態の別の態様によれば、予測子要素と同じ行又は同じ列で最も近い近傍ブロックの要素が他の予測子要素となる。
【0048】
1つの利点は、最も近い置換用の予測子を選択することにある。この方法において、良好な予測品質が保証される。
【0049】
本発明の別の実施の形態によれば、本方法は、利用可能な予測関数のリストから予測関数を得ることを含み、少なくとも、現在のブロックを複数のエリアに分割すること又は少なくとも1つのエリアを処理することは、得られた予測関数に依存する。
【0050】
1つの利点は、例えばレート歪み(rate-distortion)の基準に従った、現在のブロックについての最良の予測関数を使用し、選択された予測関数にブロックの分割を合わせることにある。
【0051】
本発明の更に別の実施の形態によれば、少なくとも1つの置換値は、現在のブロック内の要素の強度の平均値等の、現在のブロックについて求められた値である。
【0052】
1つの利点は、現在のブロックに適合した置換値の、符号化器による決定及び使用である。この値は符号化されたのち、復号器に送られるか、又は符号化器の内部にある復号器に提供される。
【0053】
本発明のこの実施の形態の一態様によれば、符号化方法は、得られた予測関数の識別子(インジケータ)を符号化することを含む。
【0054】
有利には、符号化器にて、選択された予測関数のインジケータは、符号化されて復号器に送られる。復号器はそのインジケータを考慮して現在のブロックを処理することができる。
【0055】
例えば、符号化される情報は、復号器にとって既知の所定のリストにおける予測関数のランクの形式とすることができる。
【0056】
本発明の別の実施の形態によれば、上記方法は、スキャンされる現在の要素について、
現在の要素から予測された要素を減ずることによって残差要素を得ることと、
残差要素を符号化し、上記画像を表す符号化されたデータ内に、符号化された残差要素を挿入することと
を含む。
【0057】
したがって、符号化器にて、本発明による現在のブロック内で分割されているエリアを符号化するステップの全てを、他の(複数の)エリアの符号化とは別個に行うことができる。
【0058】
本発明による少なくとも1つの画像を符号化又は復号する方法の一実施の形態によれば、現在のブロックについての少なくとも1つの置換値は、符号化されて、符号化済みデータにおいて送信されるか、又は、符号化されたデータを読み取ることによって得られる。
【0059】
1つの利点は、復号器が現在のブロックについて符号化器により選択された置換値を得ることである。
【0060】
本発明による復号方法の別の実施の形態によれば、本方法は、予測関数のインジケータを表す符号化されたデータを復号することを含み、予測関数はインジケータから得られる。
【0061】
復号器は、現在のブロックについて使用すべき予測関数を得るために符号化された情報を利用する。有利には、復号器は、この予測関数に関連付けられた最も適切な分割を、例えば、所定の規則、又はメモリに読み込まれた情報に従って推定する。有利には、復号された情報は、例えば、復号器に既知の所定のリストにおける予測関数のランクの形式とすることができる。
【0062】
本発明による復号方法の更に別の実施の形態によれば、上記方法は、現在の要素について、
上記画像を表す符号化されたデータを読み取ることによって現在の要素の残差を得ることと、
得られた残差及び予測された現在の要素から、復号された現在の要素を再構築することと
を含む。
【0063】
したがって、復号器にて、本発明による現在のブロック内で分割されているエリアを復号するステップの全てを、他の(複数の)エリアの復号とは別個に行うことができる。
【0064】
本発明は、本明細書にて上述した特定の実施の形態のうちのいずれかの1つによる符号化又は復号方法を実施する、少なくとも1つの画像を符号化又は復号するデバイスにも関する。当然、このデバイスは、本発明による符号化方法、又は復号方法に関する種々の特徴を含むことができる。したがって、このデバイスの特徴及び利点は、符号化方法、又は復号方法の特徴及び利点と同じであり、更に詳述することはしない。
【0065】
本発明の一実施の形態によれば、現在のブロックは、少なくとも、1つの第1のエリア及び1つの第2のエリアに分割され、符号化又は復号デバイスは、少なくとも、第1のエリアを処理するように専用化又は構成された1つの第1のコンピューティングマシンと、第2のエリアを処理するように専用化又は構成された1つの第2のコンピューティングマシンとを備える。
【0066】
このようにして、これら2つのエリアの処理を並列に実行することができる。
【0067】
本発明のこの実施の形態の一態様によれば、デバイスの第1のコンピューティングマシン及び第2のコンピューティングマシンは、1マシンサイクルにおいてブロック内の1つの行の要素、1つの列の要素、又は1つの斜め成分の要素を処理するように専用化及び構成される。
【0068】
1つの利点は、ブロックの各エリアを処理するのに必要なマシンサイクル数を更に一層削減することにある。
【0069】
1つの実施の形態によれば、本発明は、少なくとも1つの画像を表す符号化されたデータを搬送する信号に関する。画像は複数のブロックに分割される。上記符号化されたデータは、本発明による符号化方法によって得られる。現在のブロックと呼ばれるブロックは、少なくとも2つのエリアに分割される。上記符号化されたデータは、1つのブロックについて、上記符号化方法によって決定され、本発明による復号方法によって使用されるための少なくとも1つの置換値を含むことで、上記置換値からブロック内の少なくとも1つの上記エリアの現在の要素が予測される。
【0070】
別の実施の形態によれば、本発明は、少なくとも1つの画像を表す符号化されたデータを搬送する信号にも関する。画像は複数のブロックに分割される。上記符号化されたデータは、本発明による符号化方法によって得られる。少なくとも1つのブロックは、少なくとも2つのエリアに分割される。上記符号化されたデータは、ブロックについて、符号化方法によって選択され、本発明による復号方法によって使用されるための予測関数の少なくとも1つの識別子(インジケータ)を含むことで、現在の要素を少なくとも2つのエリアに分割し、上記予測関数に従って1つの上記エリアの現在の要素が予測される。
【0071】
特定の実施の形態によれば、本発明は、プロセッサによって実行されると、前述された特定の実施の形態のいずれか1つによる、少なくとも1つの画像を符号化又は復号する方法の実施のための命令を含む1つ又はいくつかのコンピュータプログラムにも関する。そのようなプログラムは、任意のプログラミング言語を使用するとともに、ソースコード、オブジェクトコード、若しくはソースコードとオブジェクトコードとの間の中間コードの形式、例えば、部分的にコンパイルされた形式、又は他の任意の所望の形式とすることができる。プログラムは、通信ネットワークからダウンロードし、及び/又は、コンピュータ可読媒体上に記録することができる。
【0072】
本発明は、本明細書の上記で言及されたようなコンピュータプログラムの命令を含むコンピュータ可読記録媒体又は情報媒体をも包含する。上記で言及された記録媒体は、プログラムを記憶することが可能である任意のエンティティ又はデバイスからなることができる。例えば、媒体は、記憶手段、例えば、ROM、例としてCD ROM若しくは微小電子回路のROM、又は磁気記録手段、例としてUSBフラッシュディスク若しくはハードディスクを含むことができる。
【0073】
加えて、記録媒体は、送信可能媒体、例えば、無線又は他の手段によって電気ケーブル又は光ケーブルを介して搬送することができる電気信号又は光信号に対応することができる。特に、本発明によるプログラムは、インターネット型ネットワークからダウンロードすることができる。
【0074】
あるいは、記録媒体は、プログラムが内部に埋め込まれた集積回路に対応することができ、この回路は、上記方法を実行するか、その実行において使用される。
【0075】
本発明の他の目的、特徴及び利点は、図面を参照しながら、単に例示としての非限定的な例として提供される以下の説明から、より明確になる。
【図面の簡単な説明】
【0076】
【
図1】
図1A及び
図1Bは、一画像、及び一画像内の一ブロックに適用される従来のDPCM予測技法を示す図である。
【
図2】本発明による、一画像の一ブロックを処理する主なステップを示す図である。
【
図3】
図3A~
図3Cは、本発明の一実施形態による、垂直予測関数を使用してブロックの要素を分割及び予測する例を示す図である。
図3D~
図3Fは、本発明の別の実施形態による、水平予測関数を使用してブロックの要素を分割及び予測する例を示す図である。
【
図4】
図4A~
図4Dは、本発明に従って実施される種々の分割及び予測関数についてブロック内の複数の要素を処理する順序を示す図である。
【
図5】
図5A~
図5Cは、JPEG-LS予測関数及び斜め方向の分割を実施する、本発明の一変形形態を示す図である。
【
図6】
図6A~
図6Eは、JPEG-LS予測関数を用いて
図5A~
図5Cの斜めのエリアを予測するのに使用される置換値の種々の例を示す図である。
【
図7】
図7A及び
図7Bは、本発明による、3つ以上のエリアへのブロックの分割の例を示す図である。
【
図8】
図8A~
図8Gは、一ブロックの一要素又は一ブロックの一エリアの処理に必要とされるマシンサイクル数を示す図である。
【
図9】直列モードにおける、本発明による符号化又は復号の方法のステップを示す図である。
【
図10】並列モードにおける、本発明による符号化又は復号の方法のステップを示す図である。
【
図11】本発明の一実施形態による、一ブロック内で分割された一エリアを符号化するステップを詳述する図である。
【
図12】本発明の一実施形態による、一ブロック内で分割された一エリアを復号するステップを詳述する図である。
【
図13】本発明の一変形形態による、直列モードにおける符号化又は復号方法のステップを記述する図である。
【
図14】本発明の一変形形態による、並列モードにおける符号化又は復号方法のステップを記述する図である。
【
図15】本発明の別の実施形態による、少なくとも1つの画像をそれぞれ符号化又は復号する方法のステップを記述する図である。
【
図16】本発明の別の実施形態による、少なくとも1つの画像をそれぞれ符号化又は復号する方法のステップを記述する図である。
【
図17】
図17A及び
図17Bは、本発明の変形形態のうちのいずれか1つによる符号化又は復号方法を実施するために適応された符号化又は復号デバイスのハードウェア構造の例を概略的に示す図である。
【
図18】本発明の変形形態のうちのいずれか1つによる符号化又は復号方法を実施するために適応された符号化又は復号デバイスのハードウェア構造の例を概略的に示す図である。
【発明を実施するための形態】
【0077】
[1 一般原理]
本発明は、符号化又は復号の対象となる画像のブロックの予測に関し、特に、前述したDPCM技法に従った予測に関する。この技法によれば、現在のブロックの要素が、当該ブロックの他の要素から予測される。
【0078】
本発明は、符号化器又は復号器によるブロックの予測の実行速度を上げることを可能にすることによって、この技法を改善することを目標とする。
【0079】
本発明の1つの原理は、符号化又は復号の対象となる画像の現在のブロックを、独立して復号可能な複数のエリアに分割することに基づく。或るエリアの現在の要素が、当該現在の要素を予測するために別のエリアに位置する要素を必要とする場合、当該現在の要素は置換値を使用する。一例として、この値は、前もって定められてメモリに読み込まれるか、又は、現在のブロックにつき符号化器によって決定され、現在のブロック、若しくは、さらに、それまでに符号化又は復号されたブロックの要素の値、好ましくは、ブロックの中でも現在のブロックに最も近いブロックの要素の値を表す符号化されたデータにおいて復号器により読み出される。
【0080】
まず、本発明による、一ブロックの、いくつかのエリアへの分割及び得られたエリアの予測の実施態様の実施形態を説明し、次に、そのようなエリア単位の予測を使用した、本発明による符号化方法及び復号方法を説明する。
【0081】
[2 現在のブロックの複数のエリアへの分割と、得られたエリアの予測]
現在のブロックを複数のエリアに分割することと、得られたエリアを互いに別々に予測することとの複数の実施態様を、
図2~
図8を参照しながら以下に説明する。
【0082】
図2に、本発明による、符号化又は復号すべき画像のブロックBを符号化又は復号する方法において行われる複数のステップを示す。
【0083】
ステップE1において、ブロックBが、複数のエリアZ1、Z2...ZNに分割される。ただし、Nは2以上の整数である。本発明によれば、E1においてブロックBに適用される分割(split)又は分割モード(splitting mode)は、符号化・復号の状況に従って、すなわち、例えば、複数のブロック及び一ブロック内の複数の要素がスキャンされる順序、又は、ブロック内の一要素の(複数の)予測子要素が、当該要素がスキャンされるときに利用できるものとなるように、ブロックの要素を予測するモード等の、符号化器・復号器の動作制約に従って、選択されることに留意すべきである。分割モードは、所定のものとし、符号化器及び復号器にとって既知のものとすることもできるし、本発明の一実施形態によれば、圧縮されたストリーム又はファイルにおいて送信される符号化情報に従って決定することもできる。以下、変形形態を説明する。
【0084】
【0085】
E2において、エリアZiが以下のように予測される。ただし、iは1~Nの整数である。
【0086】
E21において、エリアZi内の少なくとも1つの要素又はピクセルXが選択され、この要素の少なくとも1つの成分の値が検討される。例えば、これは、ビデオ処理において一般的な、色空間のYCbCr表現モデルにおける当該要素の輝度値Yである。当然、本発明はこの例に限定されるものではなく、色空間の別の表現モデルの任意の成分にも適用できる。
【0087】
以下の説明では、ブロックBの要素が辞書式順序においてスキャンされることを説明する。当然、本発明は、このスキャン順序に限定されるものではなく、例えば当業者に知られているジグザグ式スキャン等の、他の任意のスキャン順序にも適用できる。
【0088】
処理ステップE22にて、現在のブロックBに適用すべき予測関数fが得られる。
【0089】
続くE23において、この要素Xについて、得られた予測関数f又は所定の予測関数を適用することによって、予測子要素が選択される。この予測関数fは、それまでに処理された近傍要素、すなわち符号化又は復号された近傍要素のうちの少なくとも1つから要素Xの値を予測する。
【0090】
以下の説明において、近傍要素とは、必ずしも現在の要素に隣接している必要はなく、広い意味で、現在の要素に近いブロックB内の一要素を意味するものと理解されたい。
【0091】
いわゆるJPEG-LSの予測関数すなわちf(A,B,C)の例を、
図1を参照しながら説明した。この関数は、現在の要素Xの値を、その左近傍Aと、右近傍Bと、左斜め上の近傍Cとのうちの1つから予測する。
【0092】
予測関数の他の例を以下に示す。
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
【0093】
以下、
図3A~
図3Fを参照して、これらの例のうちのいくつかを説明する。つまり、このような予測関数は、1つ又は複数の予測子要素を使用することができる。
【0094】
E24において、使用される予測関数fによって指定される予測子要素のそれぞれについて、当該予測子要素が現在のエリアZiに属するか否かをチェックする。
【0095】
予測子要素が現在のエリアZiに属する場合、E25において予測関数が適用され、現在の要素Xについての予測された値P(X)が(複数の)予測子要素の値から得られる。
【0096】
予測子要素が現在のエリアZiに属さない場合、E26において、現在のエリアZiの外部にある予測子要素についての置換値VRが得られる。実施態様のいくつかのバリエーションが考えられる。その中でも、以下のものについて仔細な言及を行うことができる。
- 所定の値、例えば、要素Xについて取り得る値の範囲の平均に等しい値をメモリに読み込む。要素Xが[0,255]の範囲の輝度値を取り得る場合、置換値VRは128に設定される。
- ブロック内の複数ある要素の強度の平均値等の、現在のブロックBに特有の置換値を得る。この場合、この値は、符号化器にて計算され、符号化されて、符号化済みデータにおいて復号器へ送られる。復号器は、符号化済みデータを読み取ることによってこの値を得る。
- 予測子要素を、それまでに符号化又は復号された近傍ブロックに位置する別の予測子要素に置き換える。この場合の実施態様の例については、
図3B、
図3E及び
図6A~
図6Dを参照して後述する。
【0097】
現在のエリアZiの外に位置する予測子要素のそれぞれについて置換値が得られると、E25にて現在の要素Xの値P(X)が予測される。
【0098】
E27において、予測対象となるブロック内要素が依然として存在するかどうかをチェックする。予測すべきブロック内要素が依然として存在する場合、少なくとも1つの要素Xを選択するステップE21に戻り、さもなければE28において処理が終了する。
【0099】
[2.1 実施態様の第1の例:垂直予測]
続いて
図3A~
図3Cを参照しながら、垂直予測と呼ばれる予測関数を用いた本発明の実施態様の第1の例を説明する。この関数は、単一の予測子要素、すなわち、現在の要素Xの真上に位置する要素Bのみを利用する。行lin及び列colに位置する要素XすなわちX(lin,col)を考えると、予測子要素Bは、行lin-1かつ同じ列colに位置する。
図3A~
図3Cに、一例として、高さH=8及び幅W=4の、複数の要素を有するブロックBを示す。ブロックBは、同じサイズの2つのエリアZ1及びZ2に分けられている。両エリアとも、高さがW/2=4、幅がW=4である。エリアZ1は、エリアZ2の上に位置し、両エリアは、水平の線分の形式である境界Frによって分離されている。数学的な観点では、エリア1は、ブロックB内の要素のうち境界Frの上に位置する全ての要素、すなわちlin<5という関係を満たす行番号linを有する要素を含む。また、エリアZ2は、上記要素のうち、水平線の下に位置する全ての要素、すなわち行番号がlin≧5という関係を満たす要素を含む。
【0100】
まずエリアZ1を考える。
図3Bに示すように、ブロックBの左上隅から数えて第1行すなわちlin=1の要素に関して、垂直予測関数は、ブロックBの上に位置するブロックの最後の行に属し、Z1には属さない予測子要素B’を指定する。
【0101】
この例では、先に列挙した選択肢のうちの1つに従ってステップE25が行われ、置換値が得られる。特に、既知の方法で、垂直予測関数によって指示される以前のブロック内の要素XB’の値を用いることができる。実際には、このブロックは既に処理されているため、復号された要素XB’の値が利用できる。
【0102】
他の行の場合、垂直予測では、Z1に属する予測子要素が指定される。つまり、エリアZ1の要素の予測は、従来のDPCM手法に従って行われる。
【0103】
次に第2エリアZ2を検討する。
図3Cに示すように、この第2エリアの第1行の要素は、第1のエリアZ1内に位置する垂直予測子を利用する。しかし、本発明は、このような予測子要素を使用せず、これら2つのエリア間の処理の独立性を保証する。
【0104】
この事例では、先に列挙した選択肢のうちの1つに従ってステップE25が行われ、置換値が得られる。特に、本発明は、現在のブロックの上に位置する近傍ブロックBSにおける予測子要素の探索を提案する。有利には、要素XBを置き換えるために選択される予測子要素は、要素XB’’(lin=4,col)である。この要素は、現在の要素Xと同じ列に位置し、かつ、現在のブロックに最も近く、2つのエリアZ1及びZ2の境界Frに隣接する行lin=4に位置する。もちろん、本発明がこの例に限定されるわけではない。近傍ブロック内の既に処理されている他の任意の要素を、禁止された予測子要素を置き換えるために使用することができるが、最も近くかつ同じ方向に位置する予測子要素を選択することが、良好な品質の予測をもたらす可能性がより高い。
【0105】
エリア2の次の複数の行の要素に関して、ステップE22で、Z2に属する予測子要素が指定される。つまり、E24にて従来の方法に従って予測が行われる。
【0106】
本発明は、2つのエリアZ1及びZ2の間の予測におけるあらゆる依存性を排除することにより、それらの処理の並列化を可能にする。
図4Aに示すように、予測に垂直予測関数を用いる場合、現在のブロックB内の要素の処理の順序は辞書式スキャンの順序で割り当てられる。さらに、2つのエリアZ1及びZ2の各々について、第1の処理時間すなわち第1の反復にて第1行の要素を予測することができ、第2の反復にて第2行の要素を予測することができることが示され、以下同様である。したがって、この方法において、H=8及びW=4のサイズのブロックについて、ブロックの全体を予測するのに4回の反復、言い換えると4マシンサイクルで十分である。これに対し、本発明の実施態様を使用しない場合ではブロック全体のために8回の反復を要する。
【0107】
図4Bに本発明の実施態様の別の例を示す。4×4ブロックが、等しい寸法を有する2つのエリアZ1及びZ2に分割され、水平境界Frによって分けられている。ブロック全体を処理するのに4マシンサイクルが必要である一方、各エリアは2マシンサイクルを必要とする。
【0108】
[2.2 実施態様の第2の例:水平予測]
次に、
図3D~
図3Fを参照して、水平予測と呼ばれる予測関数を使用する本発明の実施態様の第2の例を説明する。この関数は、単一の予測子要素、すなわち、同じ行の、現在の要素Xの左隣に位置する要素XAのみを利用する。
【0109】
要素Xが行lin及び列colに位置するX(lin,col)であるとすると、予測子要素XAは、行linかつ列col-1に位置する。
【0110】
図3D~
図3Fに、一例として、高さH=4及び幅W=8の、要素のブロックBを示す。ブロックBは、サイズが同じである2つのエリアZ1及びZ2に分割される。各エリアは高さH=4であり、幅W/2=4である。エリアZ1は、エリアZ2の隣に位置し、両エリアは、垂直線分の形式である境界Frによって分離されている。数学的な観点では、エリア1は、ブロックB内の要素のうち、col<5という関係を満たす行番号colを有する、境界Frの左に位置する全ての要素を含む。また、エリアZ2は、これらの要素のうち、この斜め右に位置する、すなわち、行番号がcol≧5という関係を満たす全ての要素を含む。
【0111】
まず、エリアZ1を検討する。
図3Dに示すように、ブロックBの左上隅からの第1行col=1の要素に関して、水平予測関数は、Z1に属するのではなく、ブロックBの左に位置するブロックの最後の列に属する予測子要素X
Aを指定する。
【0112】
この事例では、先に列挙した選択肢のうちの1つに従ってステップE25が行われて、置換値が得られる。特に、既に示した方法で、水平予測関数が指し示す先のブロック内の要素XAのこの置換値を用いることができる。実際には、このブロックは既に処理されているため、要素XAについて復号された値が利用できる。
【0113】
ブロックBの次の複数の列について、水平予測は、col=2から開始して、Z1に属する予測子要素を指定する。それゆえ、エリアZ1の要素の予測は、従来のDPCM技法に従って行われる。
【0114】
続いて第2のエリアZ2を検討する。
図3Eに示すように、この第2のエリアの第1列の要素は、第1のエリアZ1内に位置する水平予測子を利用する。しかし、本発明では、これら2つのエリア間の処理の独立性が保証されるよう、これらの予測子要素を使用しない。
【0115】
この事例では、置換値を得るべく、先に列挙した選択肢のうちの1つに従ってステップE25が行われる。特に、本発明は、現在のブロックの左に位置する近傍ブロックBG内で予測子要素を探索することを提案する。有利には、要素XAを置き換えるように選択される予測子要素は、現在の要素Xと同じ行に位置し、かつ、2つのエリアZ1及びZ2の間の境界Frに隣接する、ブロックBGの最も右にある列col=4内に位置する要素XA’(lin,col=4)である。
【0116】
もちろん、本発明は、この例に限定されるわけではない。近傍ブロックの既に処理されている他の任意の要素を、使用できない予測子要素を置き換えるのに用いることができるが、最も近くかつ同じ方向に従って位置する予測子要素の選択が、良好な品質の予測をもたらす可能性がより高い。
【0117】
エリア2の次の複数の行の要素に関して、ステップE22は、Z2に属する予測子要素を指定する。それゆえ、E24にて予測が従来の方法に従って行われる。
【0118】
本発明によれば、2つのエリアZ1及びZ2の間の予測におけるあらゆる依存性を排除することにより、これらの処理の並列化が可能となる。
図4Cに示すように、予測で水平予測関数を用いる場合、現在のブロックB内の要素の処理順序が辞書式スキャン順序で割り当てられる。2つのエリアZ1及びZ2のそれぞれについて、第1の処理時間すなわち第1の反復にて第1行の要素を予測することができ、第2の反復にて第2行の要素を予測することができ、以下同様であることが示されている。したがって、この方法において、H=4及びW=8のサイズを有するブロックについて、本発明の実施態様を使用しない場合ではブロック全体のために8回の反復を要するところ、4回の反復、言い換えると4マシンサイクルでブロックの全体を予測するのに十分である。
【0119】
図4Dに、4×4のブロックが、サイズが等しい2つのエリアZ1及びZ2に分割され、垂直境界Frによって分離される、本発明の実施態様の別の例を示す。ブロック全体を処理するのに4マシンサイクルが必要である一方、各エリアは2マシンサイクルを必要とする。
【0120】
[2.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である要素に対応する、この斜めの境界の下方に位置する全ての要素を含む。
【0121】
エリアZ1の要素は、従来の方法で予測される。現在の要素XについてJPEG-LS予測関数によって指定された予測子要素XA、XB又はXCが先に処理された近傍ブロック内にある場合、その予測子要素の値が要素Xの予測に使用される。
【0122】
続いてエリアZ2を検討する、
図6A~
図6Eに示すように、境界Frに隣接する要素は、第1のエリアZ1内に位置する予測子を利用する。しかし、本発明は、これら2つのエリア間の処理の独立性が保証されるよう、これらの予測子要素を使用しない。この事例では、置換値を得るべく、先に列挙した選択肢のうちの1つに従ってステップE25が行われる。特に、本発明は、現在のブロックの同じ行の左に位置する近傍ブロックB
G内で予測子要素X
A’を探索することを提案する。有利には、要素X
Aを置き換えるために選択される予測子要素は、現在の要素Xと同じ行に位置し、かつ、ブロックB
Gの最も右の列col=4内に位置する要素X
A’と、上側の近傍ブロックB
S内の、Xと同じ列内に位置し、かつ、Bに最も近い行lin=8に位置する予測子要素X
B’とである。
図6C及び
図6Dに示すように、予測子要素X
CがエリアZ1内にある場合、置換後の予測子要素は、例えば、左側近傍ブロックB
G内の、予測関数によって指定される予測子要素と同じ行のX
C’、又は、上側近傍ブロックB
S内の同じ列に従ったXC’とすることができる。
【0123】
当然、本発明は、この例に限定されない。近傍ブロックの先に処理されている他の任意の要素を、使用できない予測子要素を置き換えるために使用することができるが、最も近くかつ同じ方向に従って位置する予測子要素の選択が、良好な品質の予測をもたらす可能性がより高い。
【0124】
他方、エリア外に予測子要素を有しないエリアZ2のピクセルは、従来の方法で予測される。
【0125】
図5Bから、この事例では、エリアZ1及びZ2を並列に処理することが可能になることと、各エリアにおいて、同じ反復において同じ斜め成分の要素の全てを処理することができることとが分かる。11マシンサイクルを必要とするであろう4×8ブロックについて、本発明は、6マシンサイクルのみで行うことを可能にする。同様に、
図5Cに示すように、7マシンサイクルを必要とするであろう4×4ブロックについて、本発明は、4マシンサイクルのみで行うことを可能にする。
【0126】
[2.4 現在のブロックのN個のエリアへの分割(Nは2よりも大きい整数)]
1つのブロックを、独立して復号可能な3つ以上のエリアに分割すること、例えば、垂直予測についての
図7A及びJPEG-LS予測についての
図7Bに示すように4つのエリアZ1~Z4に分割することもできる。符号化器又は復号器が十分な数のプロセッサを有するとすると、ブロックBを処理するのに必要なサイクルの数が更に削減される。提示される例では、各エリアは、同じ寸法か、又は同じ程度の大きさの寸法のいずれかを有し、これにより、必要となるサイクルの数を更に一層削減することができる。
【0127】
[2.5 予測すべきブロックの寸法]
通常、一画像又は一画像シーケンスをブロック単位で符号化する技法では、一画像を種々のサイズを有する複数のブロックに分割する。例えば、ブロック寸法としては、4×4、4×8、8×4、8×8及び16×16が利用できる。
【0128】
一画像を処理するのに必要とされる最大数のマシンサイクルをもたらすブロック分割は、小サイズのブロックへの分割である。実際には、
図8A~
図8Cに示すように、16×16ブロックは、1要素当たり0.12マシンサイクル、すなわち当該ブロックについて31サイクルを必要とし、8×8ブロックは、1要素当たり0.23サイクルを必要とし、4×4ブロックは、1要素当たり0.44サイクルを必要とする。
【0129】
次に、JPEG-LS予測関数及び16×16ピクセルサイズ画像の例を再び検討する。この画像が16×16ピクセルサイズの1つの単一ブロックに「分割」される場合、かつ、本発明において提案される技法が適用されない場合、必要とされるサイクルの数は31であることを確認した。逆に、このブロックが16個の4×4サイズブロックに分割され、そのそれぞれが7サイクルを必要とする場合、画像全体の処理は、16×7=112サイクルを必要とする。
【0130】
したがって、小ブロックを処理するためのサイクル数を削減することが必須である。実際には、ハードウェア復号器は、符号化されたデータストリームにおいて生じる「ワーストケース」、すなわち、最小サイズを有する複数のブロックに分割された画像のデータストリームをリアルタイムで処理するように設計される。
【0131】
図8D~
図8Gに示すように、現在のブロックの2つのエリアへの分割を用いる本発明の実施態様により、処理コストを1要素当たり0.25サイクル未満に削減することができることが分かる。
【0132】
[3 画像を符号化又は復号する方法]
図9~
図14に、本発明の種々の変形形態による、少なくとも1つの画像を符号化又は復号する方法を示す。これらの変形形態は、
図2~
図8を参照して先に説明した本発明による一ブロックの処理の主要ステップを実施する。
【0133】
[3.1 直列符号化又は復号方法]
図9に、直列モード(シリアルモード)すなわち順次モードに従って画像を符号化又は復号する方法のステップを示す。例として、このような符号化・復号の方法は、
図13を参照して説明するような符号化デバイス・復号デバイスによって実施される。以下の説明では、符号化方法の入力において提供される符号化すべき画像I
1、I
2、...、I
Nのシーケンス、又は復号方法の入力において提供される符号化されたデータストリーム・ファイルを検討する。当然、本発明は、静止画像の符号化・復号にも適用できる。
【0134】
既知の方法では、画像I1、I2、...、INのシーケンスの符号化は、事前に決定されるとともに復号器にとって既知である符号化順序に従い、画像単位で行われる。例えば、画像は、時間順序I1、I2、...、INにおいて、又は別の順序、例えばI1、I3、I2、...、INに従って、符号化することができる。
【0135】
図示されていないステップにおいて、画像I1、I2、...、INのシーケンスからなる符号化すべき画像Ikは、最大サイズを有する複数のブロックに分割される。最大サイズを有する各ブロックは、より小さいブロックへとさらに分割することができる。例えば、最大サイズを有する一ブロックは、32×32ピクセルサイズを有する。そのような最大サイズを有するブロックは、正方形又は長方形のサブブロック、例えば、16×16、8×8、4×4、16×8、8×16、...のサイズを有するサブブロックに分割することができる。
【0136】
復号器において、符号化されたデータを読み取るステップは、行われた分割に関する情報を得ることを可能にする。
【0137】
ステップC0において、画像Ikの符号化・復号すべきブロックB(現在のブロックと呼ばれる)が、符号化器及び復号器に既知の、画像Ikの所定のスキャン順序、例えば、辞書式順序に従って選択される。
【0138】
ステップC1において、現在のブロックBが本発明のDPCM技法に従って処理されるべきか、又は、例えばHEVC標準規格において記載されるような従来のイントラ予測モード又はインター予測モード等の別の予測モードに従って処理されるべきかをチェックする。既知の方法では、このテストは、モードのそれぞれに従って現在のブロックのレート歪みコストを比較することと、最小コストが得られるモードを選択することとから構成される場合がある。インジケータ(フラグ)等の、選択された予測モードに関する情報が符号化される。
【0139】
復号器において、上記情報は、現在のブロックが従来のモード(HEVC標準規格において記載されているようなイントラ復号又はインター復号)に従って復号されるべきか、又は本発明のDPCMモードに従って復号されるべきかを判断するために、圧縮ファイル又は符号化されたデータストリームにおいて読み取られる。
【0140】
特定されたモードが従来の予測モードである事例において、次のステップは、当業者に既知である従来のモードにおける符号化(又は復号)のステップC2である。これについては、更に説明することはしない。
【0141】
他方、得られた予測モードが本発明によるDPCMモードである場合において、次のステップは、現在のブロックの分割を得るステップC3である。このステップにて、現在のブロックは、セクション2において説明した本発明の変形形態のうちの1つに従っていくつかのエリアに分割される。セクション2.3にて説明した第1の例によれば、現在のブロックBは、次のように定められる2つのエリアZ1及びZ2に分割される。
ブロックB内の要素X(lin,col)は、lin+col<H+1(ただし、Hは行の数である)である場合、第1のエリアZ1に属し、その他の場合、当該ピクセルは第2のエリアZ1に属する。エリアZ1及びZ2は、斜めの境界Frによって分離される。
【0142】
セクション2.1において記載した第2の例によれば、ブロックBは、2つのエリアZ1及びZ2に分割され、要素X(lin,col)は、lin<H+1(ただし、Hは行の数である)である場合に第1のエリアに属することになり、その他の場合、当該要素は第2のエリアに属する。
【0143】
C4において、第1のエリアZ1が現在のエリアとして選択される。ブロックBの複数のエリアを処理する順序は、これらが互いに独立して符号化可能、復号可能である限り、任意であることに留意されたい。
【0144】
エリアZ1を符号化するステップC5を、
図11を参照しながら以下に説明する。エリアZ1を復号するステップD5を、
図12を参照しながら以下に説明する。
【0145】
C6において、符号化すべきエリアZiが依然として存在するかどうかをチェックする。検討される例では、Z2が依然として存在する。それゆえ、ステップC4に戻って、エリアZ2が選択される。その後、Z2は、適切である場合、C5、D5において符号化又は復号される。C6において、最後のエリアのテストが充たされる。
【0146】
次のステップC7は、処理すべきブロックが依然として存在するかどうかをチェックする。依然として存在する場合、新たな現在のブロックを選択するステップC0に戻り、その他の場合には処理はC8において終了する。
【0147】
[3.2 並列符号化又は復号方法]
図10に、並列モード(パラレルモード)による、画像を符号化又は復号する方法のステップを示す。
【0148】
一ブロックを選択するステップC0と、予測モードをチェックするステップC1と、従来の符号化・復号のステップC2と、複数のエリアに分割するステップC3とに変わりはない。
【0149】
処理すべきエリアを選択するステップC4は、符号化器・復号器内で利用可能であるコンピューティングマシン又は処理ユニット間でエリアを分配するステップC4’に置き換えられる。
図10の例では、現在のブロック内のN個のエリアを処理するN個の処理ユニットがあり、各処理ユニットUTiに対して1つのエリアZiが割り当てられる。この並列化は、現在のブロック内の1つのエリアの予測を、他のエリアとは独立して実行する本発明によって可能になる。
【0150】
当然、本発明は、この例に限定されず、処理すべきエリアの数よりも少ない数の処理ユニットを有する符号化器又は復号器にも適用できる。この事例では、C6において、処理すべきブロックのエリアが依然として存在するかどうかをチェックする。依然として存在する場合、本方法は、処理ユニット間でエリアを分配するステップC4’に戻る。その他の場合には、次のステップは、最後のブロックをチェックするステップC7である。処理すべきブロックが依然として存在する場合、ステップC0に戻り、その他の場合には本方法はC8において終了する。
【0151】
[3.3 現在のブロックのエリアの符号化]
続いて
図11を参照し、本発明の一実施形態による現在のブロック内のエリアZiを符号化するステップC5について説明する。
【0152】
C51において、エリアZi内の少なくとも1つの要素又はピクセルxが選択される。現在のエリアのピクセルについてスキャン順序が定められている。このスキャン順序は、それ自体既知であり、所定のものである。特に、このスキャン順序は、現在のピクセルの予測のために使用され、復号された形式において利用可能である(したがって、それまでに処理されている)複数のピクセルによって決定される。それゆえ、従来のスキャン順序は辞書式順序であり、これは、前述した局所的な予測関数の場合に機能する。
【0153】
現在の要素と呼ばれる、この選択された要素Xにつき、C52にて、セクション2において述べたように、予測関数fを適用することによって既に処理された少なくとも1つの近傍にある予測子要素から値P(X)が予測される。
【0154】
C53において、予測残差の値R(X)=X-P(X)が計算される。その後、C54において、例えばそれ自体既知であるスカラ量子化を使用して、値R(X)が量子化される。量子化された値Q(R(X))が得られる。
【0155】
C55において、ハフマン符号化器又は算術符号化器等の既知の手段を使用して、量子化された残差Q(R(X))が符号化される。得られた符号化済みデータは、ストリーム又はファイル内に挿入される。
【0156】
C56において、現在の要素Xについての復号された値D(X)は、逆演算を実行することにより計算される。この値は、現在のエリア又は画像の次の要素の予測のために利用できるよう、メモリに記憶される。
【0157】
直前のステップにおいて使用された量子化器に関連付けられた逆量子化器をQIとする場合、Xについての復号された値D(X)は、D(X)=P(X)+QI(Q(R(X)))である。
【0158】
ステップC57にて、現在の要素がエリアZi内で処理すべき最後の要素であるかどうかをチェックする。最後の要素である場合、処理は終了する。その他の場合、次のステップは、符号化すべき要素を選択するステップC51である。
【0159】
[3.4 現在のブロック内のエリアの復号]
次に
図12を参照しながら、本発明の一実施形態による現在のブロック内のエリアZiを復号するステップD5について詳しく述べる。
【0160】
D51において、符号化に関連してセクション3.3にて述べたように、エリアZi内の少なくとも1つの要素又はピクセルXが選択される。
【0161】
現在の要素と呼ばれる、この選択された要素Xについて、D52において、符号化に関連してセクション2にて述べたように、予測関数fを適用することにより、先に処理された少なくとも1つの近傍予測子要素から値P(X)が予測される。
【0162】
D53にて、符号化されたデータから量子化された残差Q(R(X))が読み出される。これは、D54において、符号化器にて実施された手段の逆である既知の手段を用いて復号される。
【0163】
D55において、予測残差の、逆量子化された値R(X)が計算される。符号化器にて使用された、量子化器に関連付けられた逆量子化器をQIとする場合、R(X)の、逆量子化された値は、QI(Q(R(X)))である。
【0164】
D56において、現在の要素Xについて復号された値D(X)は、逆量子化された残差に予測された値を加えることによって以下のように計算される。
D(X)=P(X)+QI(Q(R(X)))
【0165】
ステップD57において、現在の要素がエリアZi内で処理すべき最後の要素であるか否かがチェックされる。最後の要素である場合、本処理はD58において終了する。その他の場合、次のステップは、復号すべき次の要素を選択するステップD51である。
【0166】
[3.5 現在のブロックの符号化又は復号の変形形態]
続いて、
図13及び
図14を参照しながら、現在のブロックを符号化又は復号する一変形形態を説明する。
図13に、直列モードに従ってこの変形形態を実施する、画像を符号化又は復号する方法のステップを示す。
図14には、並列モードに従ってこの変形形態を実施する、画像を符号化又は復号する方法のステップを示す。
【0167】
予測モードがDPCMモードである場合、追加のステップC11において、利用可能な関数のリストから、現在のブロック内の要素を予測すべく当該現在のブロック内の要素に適用すべき予測関数fが得られる。例えば、このリストには、水平予測関数と、垂直予測関数と、JPEG-LS予測関数と、これらの関数のうちの2つの組み合わせとが含まれる。もちろん、本発明はこの例に限定されるものではなく、リストには、前述した関数以外の予測関数が含まれていてもよい。
【0168】
符号化器にて、リスト内に含まれる予測関数が、例えば導き出されるレート歪みコストを関数ごとに計算することによりテストされる。選択される予測関数fは、最小のレート歪みコストに関連付けられる関数である。次のステップC3及びC5又はC51~C5Nは、この情報の知識を利用する。特に、現在のブロックを複数のエリアに分割するステップC3は、行われる分割を適応化するためにこの予測関数の情報を考慮する。実際には、前述のとおり、選択される各予測関数は、ブロックの特定の分割を調整し、これにより、現在のブロックを処理するのに必要とされるマシンサイクルの数を最小限に抑えることができる。しかし、処理すべきエリアを選択するステップC4、又は利用可能な処理ユニットにわたって処理すべきエリアを分配するステップC4’は、予測関数fの選択とは別個のものである。なぜならば、本発明によれば、現在のブロック内で分割されたエリアは、互いに独立して符号化又は復号ができるからである。符号化ステップC5も適応化される。なぜならば、エリアのうちのそれぞれの予測は、選択された予測関数を用いて行われるためである。
【0169】
有利には、選択された予測関数fは、符号化されて、符号化済みのデータストリーム・ファイルに挿入された特定の識別子(インジケータ)の形式で復号器に送られる。例えば、この識別子は、リスト内の予測関数のランク(順番)の形式のものである。当然、この識別子は、現在のブロックがDPCMモードにおいて符号化される場合にのみ挿入される。
【0170】
復号器におけるステップD11は、符号化されたデータストリーム又はファイル内の予測関数の識別子の読み取り及びその復号を含む。当然、このような識別子は、ブロックがDPCMモードにおいて復号すべきである場合にのみ読み取られる。予測関数fは、復号された特定の識別子から得られる。
【0171】
符号化器と同様の方法で、次のステップD3、及びD5又はD51~D5Nは、現在のブロックのそれらの処理を適応させるために得られた予測関数fを考慮する一方、ステップD4又はD4’は影響を受けない。
【0172】
本発明の別の態様によれば、差分パルス符号変調(DPCM)を使用して、要素のブロックに分割された少なくとも1つの画像を符号化する方法が提供される。
【0173】
本発明の、上記別の態様の一般的な特徴によれば、符号化方法は、符号化されたデータストリーム(ビットストリーム)における、要素のブロックの少なくとも1つの要素を別の要素から得ることを可能にするいわゆる予測関数を表す、符号化された情報の挿入を含む。この符号化された情報は、予測関数が予測関数の所定のリストに属する場合に挿入される。
【0174】
予測関数が予測関数の所定のリストに属さない事例では、上記符号化された情報は挿入されない。
【0175】
好ましくは、予測関数の所定のリストは、以下の予測関数のうちの少なくとも1つを含む。
・水平方向型の予測関数
・垂直方向型の予測関数
・JPEG-LS予測関数
【0176】
好ましくは、上記要素は、画像の上記ブロックの、先に符号化された要素である。
【0177】
図15に、この方法の一実施形態を示す。符号化すべき画像Iについて検討する。この画像が複数のブロックに分割される。C150において、符号化すべきブロックBが選択される。C151において、利用可能な関数のリストから、ブロックBの要素を予測するために当該ブロックBに適用すべき予測関数が得られる。例えば、リストには、水平予測関数と、垂直予測関数と、JPEG-LS予測関数と、これらの関数の2つの組み合わせとが含まれる。当然、本発明は、この例に限定されず、リストは、前述した関数以外の予測関数を含んでいてもよい。一例として、リスト内に含まれる予測関数は、導き出されるレート歪みコストを関数ごとに計算することによりテストされる。選択される予測関数fは、最小のレート歪みコストに関連付けられた関数である。
【0178】
C152において、得られた予測関数fを表す情報が符号化され、ストリーム又はファイルBS内に挿入される。
【0179】
C153において、ブロックB内で少なくとも1つの要素又はピクセルxが選択される。現在のエリア内のピクセルについてスキャン順序が定められている。このスキャン順序は、それ自体既知であり、所定のものである。特に、このスキャン順序は、現在のピクセルの予測のために使用され、復号された形式において利用可能である(したがって、先に処理されている)ピクセルによって決定される。このように、従来のスキャン順序は辞書式順序であり、これは前述した局所的な予測関数の場合に機能する。
【0180】
現在の要素と呼ばれる、この選択された要素Xについて、C154において、予測関数fを適用することにより、先に処理された少なくとも1つの近傍予測子要素から値P(X)が予測される。
【0181】
C155において、予測残差の値が、R(X)=X-P(X)を計算することにより得られる。その後、C156において、例えばそれ自体既知であるスカラ量子化により値R(X)が量子化され、量子化された値Q(R(X))が得られる。
【0182】
C157において、ハフマン符号化器又は算術符号化器等の既知の手段を使用して、量子化された残差Q(R(X))が符号化される。得られた符号化済みデータは、ストリーム又はファイルBS内に挿入される。
【0183】
C158において、現在の要素Xについて復号された値D(X)が、逆演算を行うことにより計算される。この値は、ブロックB、又は画像内の次の要素の予測のために利用できるよう、メモリM’に記憶される。
【0184】
直前のステップにおいて使用された量子化器に関連付けられた逆量子化器をQIとする場合、Xについて復号された値D(X)は、D(X)=P(X)+QI(Q(R(X)))である。
【0185】
ステップC159にて、現在の要素XがエリアZi内で処理すべき最後の要素であるかどうかがチェックされる。最後の要素である場合、C160において、処理すべきブロックがまだ存在するかどうかがチェックされる。そうであれば処理は終了し、その他の場合にはそれまでのステップが繰り返される。
【0186】
本発明の別の態様によれば、差分パルス符号変調(DPCM)を使用して、符号化されたデータストリーム内の少なくとも1つの符号化された画像を復号する方法が提供される。当該画像は、要素のブロックに分割される。本発明の上記別の態様の全体的な特徴によれば、復号方法は、ストリームから、要素のブロック内の少なくとも1つの要素を別の要素から得ることを可能にする、いわゆる予測関数を表す情報を得ることを含む。この予測関数は予測関数の所定のリストに属する。
【0187】
予測関数が予測関数の所定のリストに属さない事例では、上記情報は得られない。
【0188】
好ましくは、予測関数の所定のリストは、以下の予測関数のうちの少なくとも1つを含む。
・水平方向型の予測関数
・垂直方向型の予測関数
・JPEG-LS予測関数
【0189】
好ましくは、上記要素は、画像の上記ブロック内の、先に復号された要素である。
【0190】
図16に、この方法の一実施形態を示す。符号化されたデータストリーム又は圧縮ファイルBSについて説明する。この符号化されたデータは、復号すべき画像Iを表す。D160において、画像I内で処理すべきブロックBが選択され、ブロックBに適用すべき予測関数を表す情報ICfがストリームから読み出される。D161において、情報ICfが復号され、D162において予測関数fが得られる。D163において、ブロックB内で要素又はピクセルXが選択される。
【0191】
現在の要素と呼ばれる、この選択された要素Xについて、D164において、DPCM技法に従って、予測関数fを適用することにより、先に処理された少なくとも1つの近傍予測子要素から値P(X)が予測される。
【0192】
D165において、符号化されたデータから量子化された残差Q(R(X))が読み出される。これは、D166において、符号化器にて実施された手段の逆である既知の手段を使用して復号される。
【0193】
D167において、予測残差の逆量子化された値R(X)が計算される。符号化器にて使用された量子化器に関連付けられた逆量子化器をQIとする場合、R(X)の逆量子化された値は、QI(Q(R(X)))である。
【0194】
D168において、現在の要素Xについて復号された値D(X)は、逆量子化された残差に予測された値を加えることによって次にように計算される。
D(X)=P(X)+QI(Q(R(X)))
【0195】
ステップD169にて、現在の要素がブロックB内で処理すべき最後の要素であるかどうかがチェックされる。最後の要素である場合、D170において、画像I内で処理すべきブロックがまだ存在するかどうかがチェックされる。そうであれば、処理は終了し、その他の場合は先のステップが繰り返される。
【0196】
本発明のこの態様の利点は、現在のブロックに最も良好に適合した予測関数を選択することにあり、これによって、予測の品質を改善すること、したがって符号化すべき残差を削減することが可能になる。
【0197】
[4 符号化デバイス及び復号デバイス]
図17Aに示す本発明の特定の実施形態によれば、符号化方法のステップは、コンピュータプログラム命令によって実施される。このために、符号化デバイス100又は復号デバイス200は、コンピュータの従来のアーキテクチャを有し、特に、メモリMEM101、201と、例えば少なくとも1つのマイクロプロセッサP1が設けられ、メモリMEMに記憶されたコンピュータプログラムPgによって駆動される処理ユニットUT102、202とを備える。コンピュータプログラムPgは、プロセッサによって実行されると、本明細書にて先に説明したような符号化又は復号方法のステップを実施する命令を含む。
【0198】
最初に、コンピュータプログラムPgのコード命令が、プロセッサによって実行される前に、例えばRAMメモリにロードされる。特に、処理ユニットUTのプロセッサは、コンピュータプログラムPgの命令に従って、これらの種々の変形形態において本明細書の上記で記載した符号化又は復号方法のステップを実施する。
【0199】
本発明の別の実施形態によれば、
図17Bに示すように、処理ユニットは、いくつかのプロセッサP1~PNを備える。ただし、Nは2以上の整数である。プログラムPg’は、方法の実行が、
図10を参照しながらセクション3.2の、いわゆる「並列」の実施形態において説明したように、プロセッサP1~PNによって実行される場合に、本明細書にて先に説明したような符号化又は復号方法のステップを実施する命令を含む。この実施形態によれば、「マスタ」プロセッサ、例えばP1は、符号化方法を実行し、C’4において、符号化・復号ステップC51・D51...C5N・D5Nが並列に行われるように、利用可能なプロセッサに対し複数のエリアの処理を分配する。有利には、デバイス100、200は、メモリMに加えて、現在のエリアの要素の予測と、それらの(逆)量子化された残差と、それらの符号化・復号された値となどを一時的に記憶するいくつかのメモリMEM2~MEMNを備える。
【0200】
図18に示す本発明の別の特定の実施形態によれば、本発明による符号化又は復号方法は、機能モジュールによって実施される。このために、デバイス100、200は、
- ブロックを少なくとも2つのエリアに分割するモジュールCUTと、
- 少なくとも1つの上記エリアを処理するモジュールPROCであって、この処理は、所定のスキャン順序に従ったエリアの要素のスキャンを含み、スキャンされる現在の要素について、
○ 所定の近傍関数に従って先に符号化又は復号された少なくとも1つの近傍予測子要素を選択すること(SEL)と、
○ 現在の要素を予測すること(PRED)であって、
・ 少なくとも1つの近傍予測子要素が上記エリアに属する場合、当該少なくとも1つの近傍予測子要素から、
・ 少なくとも1つの近傍予測子要素が上記エリアに属さない場合、少なくとも1つの置換値から、現在の要素を予測して、予測された現在の要素とすることと
を含む、モジュールPROCと
を更に有する。
【0201】
処理ユニットUTは、符号化又は復号方法のステップを実施するために、上記で説明された種々の機能モジュール及びメモリMEMと協働する。
【0202】
上記で説明された種々の機能モジュールは、ハードウェア及び/又はソフトウェア形式とすることができる。ソフトウェア形式の場合、そのような機能モジュールは、1つ又はいくつかのプロセッサ、メモリ、及び、コード命令が1つのプロセッサ/当該プロセッサによって実行されると、モジュールに対応する機能を実施するプログラムコード命令を含むことができる。ハードウェア形式の場合、そのような機能モジュールは、限定することなく、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)回路、配線論理ユニット等の任意のタイプの適切な符号化回路によって実施することができる。
【0203】
これらのモジュールは、処理ユニットUTのプロセッサによって駆動される。
【0204】
有利には、機能モジュールPROCは、本発明に従って現在のブロック内で分割されたエリアを並列に処理するいくつかのプロセッサを含むことができる。
【0205】
有利には、デバイス100及び/又はデバイス200は、スマートフォン、タブレット、テレビジョンセット、パーソナルコンピュータ等の端末機器ET10内に埋め込むことができる。その場合、デバイス100、200は、少なくとも端末ETの以下のモジュールと協働するように構成される。
- ビットストリームTB又は圧縮ファイルFCが、電気通信ネットワーク、例えば有線ネットワーク又は無線ネットワークにおいて送信される際のデータ送信機・受信機モジュールE、R1
- 符号化すべき画像若しくは画像シーケンス、得られた符号化済みデータストリーム・ファイル又は復号された画像又は画像シーケンスを記憶する(M)モジュールM
【0206】
言うまでもなく、本明細書にて説明した実施形態は、単に例示のために、非限定的な目的で提供されており、当業者であれば、本発明の範囲から逸脱することなく、多くの変更を容易に行うことができる。
【手続補正書】
【提出日】2021-07-08
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
少なくとも1つの画像を符号化又は復号する方法であって、
画像は、複数の要素を有する複数のブロックに分割され、
少なくとも1つのブロックにつき、
当該ブロックを少なくとも2つのエリアに分割するステップ(E1)と、
少なくとも1つの前記エリアを処理するステップ(E2)であって、所定のスキャン順序に従って前記エリア内の要素をスキャンするステップを含み、スキャンされた少なくとも1つの要素を現在の要素として前記現在の要素につき、
予測関数に基づいて、先に符号化又は復号された少なくとも1つの予測子要素を選択するステップ(E21)と、
前記少なくとも1つの予測子要素が前記エリアに属する場合に、前記現在の要素を当該少なくとも1つの予測子要素から予測し、
その他の場合には、前記現在の要素を、少なくとも1つの別のエリアとは無関係に得られる少なくとも1つの置換値から予測するステップ(E25)と
を含むステップ(E2)と
を含む方法。
【請求項2】
前記現在の要素(X)が或る行(lin)及び或る列(col)に位置し、
前記予測関数は、前記先に符号化又は復号された、同じ列(col)かつ直前の行(lin-1)に位置する要素(XB)を選択し、
前記少なくとも2つのエリア間の境界は水平である、
請求項1に記載の方法。
【請求項3】
行数がHであるブロックについて、前記現在のブロックが、第1のエリア(Z1)と第2のエリア(Z2)とに分割され、
前記第1のエリア内の要素は、lin<H/2という条件を満たす、
請求項2に記載の方法。
【請求項4】
前記現在の要素(X)が或る行(lin)及び或る列(col)に位置し、
前記予測関数は、前記先に符号化又は復号された、同じ行(lin)かつ直前の列(col-1)に位置する要素(XB)を選択し、
前記少なくとも2つのエリア間の境界は垂直な線である、
請求項1に記載の方法。
【請求項5】
列数がWであるブロックについて、前記現在のブロックが、第1のエリア(Z1)と第2のエリア(Z2)とに分割され、
前記第1のエリア内の要素は、col<W/2という条件を満たす、
請求項4に記載の方法。
【請求項6】
前記現在の要素が或る行(lin)及び或る列(col)に位置し、
前記予測関数は、先に処理された、同じ行(lin)かつ直前の列(col-1)にある第1の要素(XA)と、先に処理された、直前の列(lin-1)かつ同じ先の列(col)にある第2の要素(XB)と、先に処理された、直前の行かつ直前の列(lin-1,col-1)にある第3の要素(XC)とを選択し、
境界が斜めである、
請求項1に記載の方法。
【請求項7】
行数がHであり列数がWであるブロックについて、前記現在のブロックが、2つのエリアに分割され、
第1のエリア内の要素は、lin+col<(H+W)/2+1という条件を満たす、
請求項6に記載の方法。
【請求項8】
前記少なくとも1つの置換値は、前記現在のブロックの近傍にある先に符号化又は復号されたブロックにおいて選択される、少なくとも1つの他の予測子要素から得られる、請求項1~7のいずれか1項に記載の方法。
【請求項9】
前記方法は、利用可能な予測関数のリストから前記予測関数を得るステップを含み、
少なくとも、前記現在のブロックを複数のエリアに分割することと、前記少なくとも1つのエリアを処理することとのいずれかは、得られた前記予測関数に依存する、
請求項1~
7のいずれか1項に記載の方法。
【請求項10】
得られた前記予測関数の識別子を符号化するステップを含む請求項12に記載の符号化方法。
【請求項11】
請求項1~
9のいずれか1項に記載の少なくとも1つの画像を符号化する方法であって、
スキャンされた前記現在の要素について、
前記現在の要素から予測された要素を減ずることにより残差要素を得るステップ(C53)と、
前記残差要素を符号化(C55)し、前記画像を表す符号化済みデータに符号化された前記残差要素を加えるステップと
を含む方法。
【請求項12】
前記現在のブロックについての少なくとも1つの前記置換値は、符号化されて、符号化済みデータにおいて送られるか、又は、符号化済みデータを読み出すことにより得られる、請求項1~7のいずれか1項に記載の方法。
【請求項13】
前記方法は、前記予測関数の識別子(ICf)を表す符号化済みデータを復号するステップを含み、前記予測関数は前記識別子から得られる、請求項
9に記載の復号方法。
【請求項14】
請求項1~
9、
12及び
13のいずれか1項に記載の少なくとも1つの画像を復号する方法であって、
前記現在の要素について、
前記画像を表す符号化済みデータを読み出すことにより前記現在の要素の残差を得るステップ(D53)と、
得られた前記残差と予測された前記現在の要素とから、復号された現在の要素を再構築するステップと
を含む方法。
【請求項15】
少なくとも1つの画像を符号化又は復号するデバイス(100、200)であって、
画像は複数の要素を有する複数のブロックに分割され、
前記デバイスは、少なくとも1つのコンピューティングマシンを備え、
少なくとも1つの前記コンピューティングマシンは、少なくとも1つのブロックにつき、
前記ブロックを少なくとも2つのエリアに分割するステップと、
少なくとも1つの前記エリアを処理するステップであって、所定のスキャン順序に従って前記エリア内の要素をスキャンするステップを含み、スキャンされた少なくとも1つの要素を現在の要素として前記現在の要素につき、
予測関数に従って、先に符号化又は復号された少なくとも1つの予測子要素を選択するステップと、
前記少なくとも1つの予測子要素が前記エリアに属する場合に、前記現在の要素を当該少なくとも1つの予測子要素から予測し、
その他の場合には、前記現在の要素を、少なくとも1つの別のエリアとは無関係に得られる少なくとも1つの置換値から予測して、予測された現在の要素とするステップと
を含むステップと
を行う、デバイス。
【請求項16】
前記現在のブロックは、少なくとも、1つの第1のエリアと1つの第2のエリアとに分割され、
前記デバイスは、少なくとも、前記第1のエリアを処理する1つの第1コンピューティングマシンと、前記第2のエリアを処理する1つの第2コンピューティングマシンとを備える、
請求項19に記載の符号化又は復号するデバイス(100、200)。
【請求項17】
少なくとも1つの画像を表す符号化済みデータを搬送する信号であって、
画像は複数のブロックに分割され、
前記符号化済みデータは、請求項
8に記載の符号化方法により得られており、
現在のブロックと呼ばれる或るブロックが、少なくとも2つのエリアに分割され、
前記符号化済みデータは、1つのブロックについて、前記符号化方法により求められた少なくとも1つの置換値を含み、
前記置換値は請求項
12に記載の復号方法により用いられて、前記ブロックにおける少なくとも1つの前記エリア内の現在の要素が前記置換値から予測される
か、
又は、
前記符号化済みデータは、請求項10に記載の符号化方法により得られており、
少なくとも1つのブロックは、少なくとも2つのエリアに分割され、
前記符号化済みデータは、前記ブロックについて、前記符号化方法により選択された予測関数の少なくとも1つの識別子を含み、
前記識別子は請求項13に記載の復号方法により用いられて、現在の要素が少なくとも2つのエリアに分割され、1つの前記エリア内の現在の要素が前記予測関数に従って予測される、
信号。
【請求項18】
プロセッサによって実行されると、請求項1~
14のいずれか1項に記載の方法を実施するためのプログラムコード命令を有するコンピュータプログラム製品(Pg,Pg’)。
【国際調査報告】