【文献】
Felix Henry et al.,Wavefront Parallel Processing,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 5th Meeting: Geneva, CH, 16-23 March, 2011, [JCTVC-E196],ITU-T,2011年 3月19日,JCTVC-E196 (version 4),pp. 1-9
【文献】
Iole Moccagatta,Arbitrary Slice Order and Flexible Macroblock Order Impact of AVC Compliance and Implementation Complexity,Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6) 4th Meeting: Klagenfurt, Austria, 22-26 July, 2002, [JVT-D115],ITU-T,2005年 1月17日,pp. 1-9
【文献】
Gordon Clare et al.,Wavefront and Cabac Flush: Different Degrees of Parallelism Without Transcoding,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, IT, 14-22 July, 2011, [JCTVC-F275],ITU-T,2011年 7月 1日,JCTVC-F275 (version 1),pp. 1-11
(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0003】
現在の動画像符号化装置(MPEG、H264など)は、動画像シーケンスのブロック単位の表現を用いる。画像はマクロブロックに分割され、各マクロブロック自体がブロックに分割されており、それぞれのブロックまたはマクロブロックが、画像内予測または画像間予測によって符号化される。したがって、特定の画像は空間的予測(イントラ予測)によって符号化され、一方、他の画像は、当業者に既知の動き補償を利用して、1つまたは複数の符号化-復号化された参照画像に対する時間的予測(インター予測)によって符号化される。そのうえ、各ブロックについて、元のブロックから予測を引いたものに相当する残留ブロックが符号化され得る。このブロックの係数は、恐らく変換の後に量子化され、次いで、エントロピー符号化装置によって符号化される。
【0004】
イントラ予測およびインター予測には、現在のブロックを予測するために、以前に符号化して復号化された特定のブロックが、復号化装置または符号化装置で用いられるように使用可能である必要がある。このような予測符号化の概略の実例が
図1に表され、画像I
Nがブロックに分割されており、この画像の現在のブロックMB
iが、ハッチング矢印によって示されたものなどの以前に符号化して復号化された3つのブロックMBr
1、MBr
2およびMBr
3の所定の数に関して予測符号化を施されているところである。前述の3つのブロックは具体的には、現在のブロックMB
iの直ぐ左隣のブロックMBr
1と、現在のブロックMB
iの直ぐ上のブロックMBr
2と、直ぐ右上のブロックMBr
3とから成る。
【0005】
ここでは、エントロピー符号化装置に特に関心がある。エントロピー符号化装置は、情報を到着順に符号化する。一般に、
図1に示されるように、基準PRSによって、画像の左上のブロックから開始して行ごとにブロックをトラバースする「ラスタ走査」タイプの走査が実行される。各ブロックについて、ブロックを表現するのに必要な情報の種々の項目(ブロックのタイプ、予測のモード、残差係数など)が、エントロピー符号化装置へ逐次に送られる。
【0006】
AVC圧縮基準(ISO-MPEG4 part 10およびITU-T H.264という名称で既に知られている)に導入された、「CABAC」(「Context Adaptive Binary Arithmetic Coder」)と称される適度な複雑さの効率的な演算符号化装置が既知である。
【0007】
このエントロピー符号化装置は、以下のような種々の概念を実施する。
- 演算符号化。当初はJ. Rissanen and G. G. Langdon Jr、「Universal modeling and coding」、iEEE Trans. inform. Theory、vol. IT-27、12〜23頁、1981年1月の文献で説明されたものなどの符号化装置は、シンボルを符号化するのに、このシンボルの発生確率を用いる。
- コンテクスト適応。ここで、これは、符号化されるシンボルの発生確率を適合させるステップを伴う。一方では、学習がオンザフライで実行される。他方では、以前に符号化された情報の状態に依拠して、符号化のために特定のコンテクストが用いられる。各コンテクストに対してシンボルの固有の発生確率が対応する。例えば、コンテクストは、所与の構成または近傍の状態(例えば近傍で選択された「イントラ」モードの数など)に従って符号化されたシンボルのタイプ(残差係数の表現、符号化モードの信号方式など)に対応する。
- 2値化。符号化されるシンボルの一連のビットの整形が実行される。次に、これらの種々のビットが、2進エントロピー符号化装置に連続的に送られる。
【0008】
したがって、このエントロピー符号化装置は、用いられる各コンテクストに対して、検討中のコンテクストについて以前に符号化されたシンボルに関してオンザフライで確率を学習するためのシステムを実現する。この学習は、これらのシンボルの符号化の順番に基づくものである。一般に、画像は、上記で説明された「ラスタ走査」タイプの順番通りにトラバースされる。
【0009】
現在のブロックMB
iに関して、0または1と等しいものであり得る所与のシンボルbの符号化の間に、このシンボルの発生確率p
iの学習が次式のように更新され、
【0010】
【数1】
【0011】
ここで、αは例えば0.95といった所定の値であり、p
i-1は、このシンボルの最後の発生に際して計算されたシンボル発生確率である。
【0012】
このようなエントロピー符号化の概略の実例が
図1に表されており、この図では、画像I
Nの現在のブロックMB
iがエントロピー符号化を施される。ブロックMB
iのエントロピー符号化が始まるとき、用いられるシンボル発生確率は、以前に符号化して復号化されたブロックの符号化の後に取得されたものであり、このブロックは、「ラスタ走査」タイプのブロックの前述の行ごとのトラバースによる、現在のブロックMB
iの直前のものである。ブロック間の従属性に基づくこのような学習が、図の明瞭さのためにのみ特定のブロックに関して細い矢印で
図1に表されている。
【0013】
このようなタイプのエントロピー符号化の難点は、行の出発点に位置するシンボルを符号化するときに用いられる確率が、ブロックの「ラスタ走査」のトラバースに関して、直前の行の最後に位置するシンボルに対して観測されたものに主として対応するという事実に存在する。ここで、シンボル確率の起こり得る空間的ばらつき(例えば、運動情報の項目に関連するシンボルについては、画像の右側部分に位置する運動が、左側部分で観測される運動とは異なる可能性があり、したがって、続いて起こる局所的確率についても同様である)のために、確率の局所的整合の欠如が観測されることがあり、それによっておそらく符号化の間に効率損失が生じる。
【0014】
この現象を制限するために、より優れた局所的整合性の保証を目的としてブロックのトラバースの順序を変更することが提案されているが、符号化および復号化は逐次的なままである。
【0015】
その点で、このタイプのエントロピー符号化装置には別の難点が存在する。実際、シンボルの符号化および復号化は、それに対して学習した確率の状態に依拠し、シンボルの復号化は、符号化の間に用いられた順序と同順でしか行なうことができない。そこで、復号化は、一般に逐次に行なうしかなく、したがって、いくつかのシンボルを並行して復号化すること(例えばマルチコアのアーキテクチャから利益を得ること)の妨げとなる。
【0016】
Thomas Wiegand、Gary J. Sullivan、Gisle Bjontegaard、and Ajay Luthra、「Overview of the H.264/AVC Video Coding Standard」、IEEE Transactions on Circuits and Systems for Video Technology、Vol. 13、No. 7、560〜576頁、2003年7月の文献は、CABACエントロピー符号化装置には、符号化される現在のアルファベットの各シンボルに対して非整数のビットを割り当てる特別な特徴があり、これは0.5より大きいシンボル発生確率に関して有利であることをさらに指摘している。具体的には、CABAC符号化装置は、いくつかのシンボルを読み取るまで待ち、次いで、読み取ったこのシンボルのセットに対して、復号化装置に伝送される圧縮ストリームに符号化装置が書き込む所定のビット数を割り当てる。したがって、このような処置により、いくつかのシンボルのビットを「相互的にする」こと、および小数点以下のビット数のシンボルを符号化することが可能になり、このビット数には、シンボルによって実際に運ばれる情報により近い情報が反映される。読み取られるシンボルに関連した他のビットは、圧縮ストリームで伝送されるのでなく、CABAC符号化装置によって読み取られる1つまたは複数の新規のシンボルに割り当てられるのを待ちながら待機状態を保ち、これらの他のビットを相互的にすることが再び可能になる。エントロピー符号化装置は、所与の瞬間に、これらの伝送されないビットを、既知のやり方で「空化(emptying)」することに着手する。換言すると(Stated otherwise)、符号化装置は、前記所与の瞬間に、まだ伝送されていないビットを抽出して、復号化装置に向かうことになっている圧縮ストリームに書き込む。このような空化は、圧縮ストリームが実際にすべてのビットを含むことを保証するように、例えば符号化するべき最後のシンボルが読み取られた瞬間に行なわれ、これによって、復号化装置がアルファベットのシンボルのすべてを復号化することが可能になる。より一般的なやり方では、空化が遂行される瞬間は、所与の符号化装置/復号化装置に特有の性能および機能の関数として求められる。
【0017】
http://research.microsoft.com/en-us/um/people/jinl/paper 2002/msri jpeg.htmというインターネットアドレスで入手可能な2011年4月15日付けの文献には、JPEG2000圧縮標準に準拠した静止画像を符号化する方法が説明されている。この方法によれば、静止画像データは、量子化が後続する離散的ウェーブレット変換を施され、それによって、量子化されたウェーブレット係数を取得することができ、同係数のそれぞれに量子化インデックスが関連付けられる。取得された量子化インデックスは、エントロピー符号化装置を利用して符号化される。量子化係数は、符号ブロックと称される、一般には64×64または32×32サイズの矩形ブロックに前もってグループ化されている。各符号ブロックは、その後、エントロピー符号化によって独立して符号化される。したがって、エントロピー符号化装置は、現在の符号化ブロックの符号化に着手するとき、以前の符号ブロックの符号化の間に計算されたシンボル発生確率を用いない。したがって、エントロピー符号化装置は、符号ブロックの符号化のそれぞれの出発点では初期化された状態にある。このような方法は、近接した符号ブロックを復号化する必要なく、符号ブロックのデータを復号化するという利点を示す。したがって、例えばクライアントソフトウエアの一部分は、画像の識別された副部分を復号化するためにのみクライアントによって必要とされる圧縮された符号ブロックを供給することをサーバソフトウェアの一部分に要求してよい。このような方法は、符号ブロックの並行した符号化および/または復号化を可能にするという利点も与える。したがって、符号ブロックのサイズが小さければ小さいほど、並列処理のレベルが高まる。例えば、並列処理のレベルが2に固定されている場合には、2つの符号ブロックが、並行して符号化および/または復号化されることになる。理論上、並列処理のレベルの値は、画像の符号化するべき符号ブロックの数に等しい。しかし、このような符号化が現在の符号ブロックの直接の環境から生じる確率を利用しないという事実に関して、この方法で達成される圧縮性能は最適ではない。
【発明の概要】
【発明が解決しようとする課題】
【0018】
本発明の目的の1つは、前述の従来技術の難点を改善することである。
【課題を解決するための手段】
【0019】
この目的のために、本発明の主題は、
- 画像を、シンボルの所定のセットに属するシンボルを含むことができる複数のブロックに分割するステップと、
- ブロックを、所定数のブロックのサブセットにグループ化するステップと、
- エントロピー符号化モジュールを用いて、デジタル情報を、検討中のサブセットの各ブロックのシンボルと関連付けることにより、ブロックのサブセットのそれぞれを符号化するステップであって、画像の最初のブロックに関して、エントロピー符号化モジュールの状態変数を初期化するサブステップ含む符号化ステップと、
- ブロックの符号化されたサブセットのうちの少なくとも1つを表す、少なくとも1つのデータサブストリームを発生するステップとを含む、少なくとも1つの画像を符号化する方法に関する。
【0020】
本発明によるこの方法は、
- 現在のブロックが、検討中のサブセットの符号化するべき最初のブロックである場合、最初の現在のブロックに関するシンボル発生確率の割出しが着手され、この確率は、少なくとも1つの他のサブセットの符号化して復号化された所定のブロックに関して求められたものであり、
- 現在のブロックが検討中のサブセットの最後の符号化されたブロックである場合、
・検討中のサブセットのブロックの符号化の間にシンボルに関連付けられているデジタル情報の全体を、検討中のサブセットを表すサブストリームに書き込むステップと、・初期化するサブステップの実施とに着手することが注目に値する。
【0021】
上記の書き込むステップは、ブロックのサブセットの最後のブロックが符号化されると、上記の記述で説明された、まだ伝送されていないデジタル情報(ビット)の空化を直ちに遂行することになる。
【0022】
前述の書き込むステップとエントロピー符号化モジュールを再度初期化するステップを結合することにより、それぞれがブロックの少なくとも1つの符号化されたサブセットに対応する各種データのサブストリームを含んでいる符号化されたデータストリームを生成することが可能になり、前記ストリームは、種々のレベルの並列処理に従って並行して復号化されるように適合され、これは、逐次型であろうと並列型であろうと、ブロックのサブセットに適用されている符号化のタイプとは無関係に行なわれる。したがって、予期される符号化/復号化の性能の関数として、復号化に対する並列処理のレベルの選択に関して大きな自由度を得ることができる。復号化装置は、ブロックのサブセットの復号化を始めるとき常に初期化された状態にあるので、復号化に対する並列処理のレベルが可変であり、符号化に対する並列処理のレベルと異なることさえ可能である。
【0023】
第1の実例によれば、エントロピー符号化モジュールの状態変数は、シンボルの所定のセットのシンボルからのあるシンボルの発生確率を表す区間の2つの境界である。
【0024】
第2の実例によれば、エントロピー符号化モジュールの状態変数は、当業者に周知であり、2011年6月21日のhttp://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Weich
というインターネットアドレスで説明されているLZW(Lempel-Ziv-Weich)エントロピー符号化装置の変換表に含まれる一連のシンボルである。
【0025】
ブロックの検討するサブセットの最初の現在のブロックのエントロピー符号化の間に、前記他のサブセットの最初のブロックに関して求められたシンボル発生確率を用いることの主な利点は、前記他のサブセットの他の連続ブロックによって学習されたシンボル発生確率を考慮に入れることなく、前記シンボル発生確率の更新だけを符号化装置に格納することにより、符号化装置のバッファメモリを節約することにある。
【0026】
検討するブロックのサブセットの最初の現在のブロックのエントロピー符号化の間に、最初のブロック以外の、例えば2番目のブロックといった、前記他のサブセットのブロックに関して求められたシンボル発生確率を用いることの主な利点は、シンボル発生確率の、より正確な、したがってより優れた学習を取得することによって、より優れた画像圧縮性能が生じることにある。
【0027】
特定の実施形態では、ブロックのサブセットは、逐次に、または並行して符号化される。
【0028】
ブロックのサブセットが逐次に符号化されるという事実には、本発明による符号化方法がH.264/MPEG-4 AVC標準に準拠するという利点がある。
【0029】
ブロックのサブセットが並行して符号化されるという事実には、符号化装置の処理時間が加速され、画像の符号化に関してマルチプラットフォームのアーキテクチャから利益を得るという利点がある。
【0030】
別の特定の実施形態では、ブロックの少なくとも2つのサブセットが、ブロックの少なくとも1つの他のサブセットと並行して符号化されるとき、ブロックの少なくとも2つの符号化されたサブセットは同一のデータサブストリームに含まれている。
【0031】
このような処置により、特にデータサブストリームの信号伝達における節約が可能になる。実際、復号化ユニットが、サブストリームをできるだけ早く復号化することができるように、圧縮ファイルにおいて当該サブストリームが始まるポイントを示す必要がある。同一のデータサブストリームの中にブロックのいくつかのサブセットが含まれているとき、単一の表示器が必要であり、それによって圧縮ファイルのサイズが低減される。
【0032】
さらに別の特定の実施形態では、ブロックの符号化されたサブセットが所定の順番で並行して復号化されるように意図されているとき、ブロックのサブセットのそれぞれの符号化の後にそれぞれ配送されたデータサブストリームが、それらの復号化を目的として、伝送される以前に、所定の順番に従って最初に順序付けられる。
【0033】
このような処置により、画像を符号化してから再復号化する必要なく、符号化データストリームを特定のタイプの復号化に適応させることが可能になる。
【0034】
相関的に、本発明は、
- 画像を、シンボルの所定のセットに属するシンボルを含むことができる複数のブロックに分割する手段と、
- これらのブロックを、所定数のブロックのサブセットにグループ化する手段と、
- ブロックのサブセットのそれぞれを符号化する手段であって、デジタル情報を検討中のサブセットの各ブロックのシンボルに関連付けることができるエントロピー符号化モジュールと、画像の最初のブロックに関して、エントロピー符号化モジュールの状態変数を初期化する副手段とを備える符号化手段と、
- ブロックの符号化されたサブセットのうちの少なくとも1つを表す、少なくとも1つのデータサブストリームを発生する手段とを備える、少なくとも1つの画像を符号化するための装置にさらに関する。
【0035】
このような符号化装置は、
- 現在のブロックについて、シンボル発生確率を求める手段であって、現在のブロックが、検討中のサブセットの符号化するべき最初のブロックである場合、少なくとも1つの他のサブセットの符号化して復号化された所定のブロックに関して求められたものとして、現在の最初のブロックに関するシンボル発生確率を求める手段と、
- 現在のブロックが検討中のサブセットの最後の符号化されたブロックである場合、検討中のサブセットのブロックの符号化の間にシンボルに関連付けられているデジタル情報の全体を、検討中のサブセットを表すサブストリームに書き込むように起動される書込み手段であって、初期化の副手段が、エントロピー符号化モジュールの状態変数を再初期化するようにさらに起動される書込み手段とを備えるという点で注目に値する。
【0036】
対応するやり方で、本発明は、
- 復号化するべきブロックの少なくとも1つのサブセットにそれぞれ対応する所定数のデータサブストリームのストリームにおいて識別するステップであって、ブロックが、シンボルの所定のセットに属するシンボルを含むことができるステップと、
- エントロピー復号化モジュールを用いて、識別されたサブストリームのうちの少なくとも1つにおいて、前記少なくとも1つの識別されたサブストリームに対応するサブセットの各ブロックのシンボルに関連したデジタル情報を読み取ることにより、ブロックの識別されたサブセットを復号化するステップであって、画像の復号化するべき最初のブロックに関して、エントロピー復号化モジュールの状態変数を初期化するサブステップ含むステップとを含む、少なくとも1つの符号化された画像を表すストリームを復号化する方法に関する。
【0037】
このような復号化方法は、
- 現在のブロックが、検討中のサブセットの復号化するべき最初のブロックである場合、検討中のサブセットの最初のブロックに関するシンボル発生確率の割出しが着手され、この確率は、少なくとも1つの他のサブセットの復号化された所定のブロックに関して求められたものであり、
- 現在のブロックが検討中のサブセットの最後の復号化されたブロックである場合、初期化するサブステップの実施が着手される、という点で注目に値する。
【0038】
特定の実施形態では、ブロックのサブセットは、逐次に、または並行して復号化される。
【0039】
別の特定の実施形態では、ブロックの少なくとも2つのサブセットがブロックの少なくとも1つの他のサブセットと並行して復号化されるとき、識別されたデータサブストリームのうちの1つが、ブロックの少なくとも2つのサブセットを表す。
【0040】
さらに別の特定の実施形態では、ブロックの符号化されたサブセットが所定の順番で並行して復号化されるように意図されているとき、ブロックの符号化されたサブセットにそれぞれ対応するデータサブストリームは、復号化するべき前記ストリームの前記所定の順番に前もって順序付けられている。
【0041】
相関的に、本発明は、
- 復号化するべきブロックの少なくとも1つのサブセットにそれぞれ対応する所定数のデータサブストリームのストリームにおいて識別する手段であって、ブロックが、シンボルの所定のセットに属するシンボルを含むことができる手段と、
- 識別されたブロックのサブセットを復号化する手段であって、識別されたサブストリームのうちの少なくとも1つにおいて、前記少なくとも1つの識別されたサブストリームに対応するサブセットの各ブロックのシンボルに関連したデジタル情報を読み取ることができるエントロピー復号化モジュール、および画像の復号化するべき最初のブロックに関して、エントロピー復号化モジュールの状態変数を初期化する副手段を備える手段とを備える、少なくとも1つの符号化された画像を表すストリームを復号するための装置にさらに関する。
【0042】
このような復号化装置は、現在のブロックについてシンボル発生確率を求める手段であって、現在のロックが、検討中のサブセットの復号化するべき最初のブロックである場合、少なくとも1つの他のサブセットの復号化された所定のブロックに関して求められたものとして、現在の最初のブロックに関するシンボル発生確率を求める手段を備え、現在のブロックが検討中のサブセットの最後の復号化されたブロックである場合、初期化の副手段が、エントロピー復号化モジュールの状態変数を再初期化するように起動されるという点で注目に値する。
【0043】
本発明は、コンピュータで実行されたとき上記の符号化または復号化の方法のステップを実行するための命令を含むコンピュータプログラムも目的とする。
【0044】
このようなプログラムは任意のプログラミング言語を用いることができ、また、ソースコード、オブジェクトコード、もしくは部分的にコンパイルされた形態などのソースコードとオブジェクトコードの中間のコード、またはその他の望ましい形態であり得る。
【0045】
本発明のさらに別の主題は、上記で言及されたものなどのコンピュータプログラムの命令を含んでいるコンピュータ読取り可能の記録媒体も目的とする。
【0046】
この記録媒体は、プログラムを記憶することができる任意の実体または装置であり得る。例えば、このような媒体は、例えばCD ROMもしくは超小形電子回路ROMといったROM、または例えばディスケット(フロッピー(登録商標)ディスク)もしくはハードディスクといった磁気記録手段などの記憶手段を備えることができる。
【0047】
そのうえ、このような記録媒体は、電気ケーブルまたは光ケーブルを介して、無線で、または他の手段によって伝えることができる、電気信号または光信号などの伝達可能な媒体であり得る。本発明によるプログラムは、特にインターネットタイプのネットワークからダウンロードされ得る。
【0048】
あるいは、このような記録媒体は、プログラムが組み込まれる集積回路であり得て、この回路は、当該方法を実行するように、または同方法の実行に利用されるように適合される。
【0049】
前述の符号化装置、復号化方法、復号化装置およびコンピュータプログラムは、本発明による符号化方法によって与えられるものと少なくとも同一の利点を示す。
【0050】
他の特性および利点は、図を参照しながら説明される2つの好ましい実施形態を読むことによって明らかになるであろう。
【発明を実施するための形態】
【0052】
符号化部分の第1の実施形態の詳細な説明
次に本発明の一実施形態が説明され、この実施形態では、本発明による符号化方法が、H.264/MPEG-4 AVC標準による符号化によって得られるバイナリストリームに酷似の一連の画像を符号化するのに用いられる。この実施形態では、本発明による符号化方法が、例えば、当初はH.264/MPEG-4 AVC標準に準拠している符号化装置を変更することにより、ソフトウェアまたはハードウェアのやり方で実施される。本発明による符号化方法が、ステップC1からC5を含むアルゴリズムの形で
図2Aに表されている。
【0053】
本発明のこの実施形態によれば、本発明による符号化方法が符号化装置COで実行され、その2つの実施形態が
図3Aおよび
図3Cにそれぞれ表されている。
【0054】
図2Aを参照して、第1の符号化ステップC1は、
図4Aまたは
図4Bに表されるように、符号化するべき一連の画像IEを複数のブロックまたはマクロブロックMBに分割するステップである。前記マクロブロックは1つまたは複数のシンボルを含むことができ、前記シンボルがシンボルの所定のセットの一部分を形成する。表された実例では、前記ブロックMBは正方形の形状を有し、すべてが同一サイズである。必ずしもブロックサイズの倍数ではない画像サイズの関数として、左側の最後のブロックおよび下側の最後のブロックは正方形でなくてもよい。代替実施形態では、ブロックは、例えば長方形のサイズであり得て、かつ/または互いに位置合わせしないことも可能である。
【0055】
そのうえ、それぞれのブロックまたはマクロブロック自体を、それ自体が細別できるサブブロックへと分割することができる。
【0056】
このような分割は、例えばそれ自体は周知の分割アルゴリズムを用いる
図3Aに表された分割モジュールPCOによって遂行される。
【0057】
図2Aを参照して、第2の符号化ステップC2は、前述のブロックを、逐次に、または並行して符号化するように意図された所定数P個の連続したブロックのサブセットSE1、SE2、...、SEk、...、SEPへとグループ化するステップである。
図4Aおよび
図4Bに表された実例ではP=6であるが、図の明瞭さのために、4つのサブセットSE1、SE2、SE3、SE4しか表されていない。ブロックのこれら4つのサブセットは、それぞれ破線で表されており、それぞれ画像IEのブロックの最初の4つの行から成る。
【0058】
このようなグループ化は、
図3Aに表された計算モジュールGRCOによって、それ自体周知のアルゴリズムを利用して遂行される。
【0059】
図2Aを参照して、第3の符号化ステップC3は、前記ブロックのサブセットSE1からSE6のそれぞれを符号化するステップにあり、検討中のサブセットのブロックが、例えば逐次型であるトラバースPSの所定の順番に従って符号化される。
図4Aおよび
図4Bに表された実例では、現在のサブセットSEk(1≦k≦P)のブロックが、矢印PSで示されるように左から右へ順番に符号化される。
【0060】
第1の変形形態によれば、このような符号化は逐次型であり、
図3Aに表されたものなどの単一の符号化ユニットUCによって実施される。符号化装置COは、それ自体既知のやり方でバッファメモリMTを備え、バッファメモリMTは、現在のブロックの符号化と並行して漸進的に再更新されるものなどのシンボル発生確率を含むように適合されている。
【0061】
図3Bにより詳細に表されるように、符号化ユニットUCは、
・少なくとも1つの前もって符号化して復号化されたブロックに関して現在のブロックを予測符号化するためのMCPで示されたモジュールと、
・前記前もって符号化して復号化されたブロックに関して計算された少なくとも1つのシンボル発生確率を用いて前記現在のブロックをエントロピー符号化するめの、MCEで示されたモジュールとを備える。
【0062】
予測符号化モジュールMCPは、ソフトウェアモジュールであり、例えばイントラモードおよび/またはインターモードなどの従来の予測技法によって現在のブロックの予測符号化を遂行することができる。
【0063】
エントロピー符号化モジュールMCE側としてはCABACタイプであるが、本発明に従って変更されており、このことは記述においてさらに説明する。
【0064】
一変形形態として、エントロピー符号化モジュールMCEは、それ自体既知のハフマン符号化装置であり得る。
【0065】
図4Aおよび
図4Bに表された実例では、ユニットUCは、行SE1のブロックを左から右へ符号化する。ユニットUCは、第1の行SE1の最後のブロックに達すると、第2の行SE2の最初のブロックに進む。ユニットUCは、第2の行SE2の最後のブロックに達すると、第3の行SE3の最初のブロックに進む。ユニットUCは、第3の行SE3の最後のブロックに達すると、第4の行SE4の最初のブロックに進み、その他、枚挙にいとまがなく(and so on and so forth)、画像IEの最後のブロックが符号化されるまで進む。
【0066】
たった今上記で説明されたものの他のタイプのトラバースも、もちろん可能である。したがって、画像IEを数個のサブ画像に分割して、このタイプの分割を各サブ画像に独立して適用することが可能である。符号化ユニットは、上記で説明されたような連続した行ばかりでなく、連続した列を処理することもできる。また、行または列を、いずれの方向にもトラバースすることができる。
【0067】
第2の変形形態によれば、このような符号化は並列型であり、単に、所定数R個(
図3Cに表された実例ではR=2)の符号化ユニットUCk(1≦k≦R)によって実現されるという事実によって、逐次符号化の最初の変形形態から区別される。このような並列符号化は、符号化方法の実質的な加速を引き起こすことが知られている。
【0068】
符号化ユニットUCkのうちのそれぞれが、
図3Bに表された符号化ユニットUCと同一である。対応するやり方で、符号化ユニットUCkは、予測符号化モジュールMCPkおよびエントロピー符号化モジュールMCEkを備える。
【0069】
図4Aおよび
図4Bを再び参照して、第1のユニットUC1が例えば奇数の順位の行のブロックを符号化する一方で、第2のユニットUC2が例えば偶数の順位の行のブロックを符号化する。より正確には、第1のユニットUC1が、第1の行SE1のブロックを左から右へ符号化する。第1のユニットUC1は、第1の行SE1の最後のブロックに達すると、第(2n+1)の行、すなわち第3の行SE3などの最初のブロックに進む。第1のユニットUC1による処理と並行して、第2のユニットUC2が、第2の行SE2のブロックを左から右へ符号化する。第2のユニットUC2は、第2の行SE2の最後のブロックに達すると、ここでは第4の行SE4である第(2n)の行などの最初のブロックに進む。前述の2つのトラバースは、画像IEの最後のブロックが符号化されるまで繰り返される。
【0070】
図2Aを参照して、第4の符号化ステップC4は、前述の符号化ユニットUCまたは前述の符号化ユニットUCkのそれぞれによって圧縮された処理済みのブロック、ならびに、各サブセットSEkの処理済みのロックの復号化されたバージョンを表すビットのL個のサブストリームF1、F2、...、Fm、...、FL(1≦m≦L≦P)を生成するステップである。SED1、SED2、...、SEDk、...、SEDPで示される、検討中のサブセットの復号化された処理済みのブロックは、
図3Aに表された符号化ユニットUCまたは
図3Cに表された符号化ユニットUCkのそれぞれによって、説明でさらに詳述する同期メカニズムに従って再使用されてよい。
【0071】
図3Bを参照して、L個のサブストリームを生成するステップは、例えばビットなどのデータストリームを生成するように適合されたストリーム発生ソフトウェアモジュールMGSFまたはMGSFkによって実施される。
【0072】
図2Aを参照して、第5の符号化ステップC5は、前述のL個のサブストリームF1、F2、...、Fm、...、FLに基づいて、全体に及ぶストリームFを構築するステップにある。一実施形態によれば、サブストリームF1、F2、...、Fm、...、FLは、全体に及ぶストリームFの各サブストリームFmの位置を復号化装置に示すように意図された情報の追加の項目を用いて単に並置される。情報の追加の項目は、その後、通信ネットワーク(表されていない)によってリモート端末へ伝送される。リモート端末は、
図5Aに表された復号化装置DOを備える。画像を復号化して再符号化する必要がないので特に有利な別の実施形態によれば、符号化装置COは、ストリームFを復号化装置DOに伝送する前に、L個のサブストリームF1、F2、...、Fm、...、FLを、前もって、復号化装置DOがサブストリームを復号化することができる順番に相当する所定の順番に順序付ける。
【0073】
したがって、記述でさらに詳細に説明されるように、本発明による復号化装置は、全体に及ぶストリームFの内部のサブストリームF1、F2、...、Fm、...、FLを分離して、それらと復号化装置を構成する1つまたは複数の復号化ユニットに割り当てることができる。全体に及ぶストリームのサブストリームのこのような分解は、単一の符号化ユニットまたは並行して動作するいくつかの符号化ユニットを使用することの選択には無関係であり、また、この手法を用いれば、並行して動作するユニットを備える符号化装置または復号化装置を単独で有することが可能であることが留意されるであろう。
【0074】
全体に及ぶストリームFのこのような構築は、
図3Aおよび
図3Cに表されたものなどのストリーム構築モジュールCFで実施される。
【0075】
次に、前述の符号化のステップC3の間に、符号化ユニットUCまたはUCkにおいて実施されるものなどの本発明の種々の特定のサブステップを、
図2Bを参照しながら説明する。
【0076】
ステップC31の過程では、符号化ユニットUCまたはUCkは、現在のブロックとして、
図4Aまたは
図4Bに表された例えば第1の行SE1などの現在の行SEkの符号化するべき最初のブロックを選択する。
【0077】
ステップC32の過程では、ユニットUCまたはUCkは、現在のブロックが前述のステップC1で各ブロックに分割された画像IEの最初のブロック(最上部の左側に位置する)かどうかテストする。
【0078】
最初のブロックである場合、ステップC33の過程で、エントロピー符号化モジュールMCEまたはMCEkは、その状態変数の初期化に着手する。前述の演算符号化を用いる表された実例によれば、これは、シンボルの所定のセットに含まれているシンボルの発生確率を表す区間の初期化を伴う。この区間は、それ自体既知のやり方で、下界Lと上界Hの2つの境界を用いて初期化される。下界Lの値は0に固定され、上界の値は1に固定されており、それによって、シンボルの所定のセットのすべてのシンボルの中からの第1のシンボルの発生確率に対応する。したがって、この区間のサイズRは、この接続点でR=H-L=1で定義される。初期化された区間は、通常、複数の所定のサブ区間にさらに分割され、サブ区間のそれぞれが、シンボルの所定のセットのシンボルの発生確率を表す。
【0079】
変形形態として、用いられるエントロピー符号化がLZW符号化である場合には、シンボルのストリングの変換表が、可能性のあるすべてのシンボルを1回だけ含むように初期化される。
【0080】
前述のステップC32の後で、現在のブロックが画像lEの最初のブロックでなければ、後に説明されるステップC40の過程で、必要な前もって符号化して復号化されたブロックの利用可能性の判断が着手される。
【0081】
ステップC34の過程で、
図4Aまたは
図4Bに表された最初の行SE1の最初の現在のブロックMB
1の符号化が着手される。このようなステップC34は、以下で説明されるC341からC348の複数のサブステップを含む。
【0082】
図2Bに表された第1のサブステップC341の過程では、イントラ予測および/またはインター予測の既知の技法によって現在のブロックMB
1の予測符号化が着手され、その過程で、少なくとも1つの前もって符号化して復号化されたブロックに関してブロックMB
1が予測される。
【0083】
H.264標準で提案されたものなどのイントラ予測の他のモードも、もちろん可能である。
【0084】
現在のブロックMB
1も、インターモードで予測符号化を施され得て、その過程で、前もって符号化して復号化された画像から生じるブロックに関して現在のブロックが予測される。他のタイプの予測も、もちろん考えられる。現在のブロックの可能な予測の中で、最適な予測は、当業者に周知のビットレート歪み基準に従って選択される。
【0085】
前述の予測符号化ステップにより、現在のブロックMB
1の近似である予測されたブロックMBp
1を構築することが可能になる。予測符号化に関連するこの情報は、後に、復号化装置DOに伝送されるストリームFに書き込まれることになる。このような情報には、特に予測のタイプ(インター予測またはイントラ予測)が含まれ、また、適切であれば、イントラ予測のモードと、マクロブロックが細分されている場合にはブロックまたはマクロブロックの分割のタイプと、参照画像のインデックスと、インター予測モードで用いられる変位ベクトルとが含まれる。この情報は符号化装置COによって圧縮される。
【0086】
それに続くサブステップC342の過程では、残留ブロックMBr
1を生成するために、現在のブロックMB
1から、予測されたブロックMBp
1の引き算が着手される。
【0087】
それに続くサブステップC343の過程では、変換されたブロックMBt
1を生成するために、例えばDCTタイプの離散コサイン変換などの通常の直接変換操作による、残留ブロックMBr
1の変換が着手される。
【0088】
それに続くサブステップC344の過程では、例えばスカラ量子化などの通常の量子化操作による、変換されたブロックMBt
1の量子化が着手される。次いで、量子化係数MBq
1のブロックが取得される。
【0089】
それに続くサブステップC345の過程では、量子化係数MBq
1のブロックのエントロピー符号化が着手される。好ましい実施形態では、これはCABACエントロピー符号化を伴う。このようなステップは、
a) 前記現在のブロック関連したシンボルの所定のセットの1つまたは複数のシンボルを読み取るステップと、
b) 読み取ったシンボルにビットなどのデジタル情報を関連付けるステップとにある。
【0090】
LZW符号化が用いられる前述の変形形態では、現在の変換表のシンボルの符号に対応する情報のデジタル項目が、符号化するべきシンボルに関連付けられ、それ自体既知のプロシージャによって変換表の更新が遂行される。
【0091】
それに続くサブステップC346の過程では、通常の逆量子化操作による、ブロックMBq
1の逆量子化が着手され、逆量子化は、ステップC344で遂行された量子化の逆の操作である。次いで、逆量子化された係数MBDq
1のブロックが取得される。
【0092】
それに続くサブステップC347の過程では、逆量子化係数MBDq
1のブロックの逆変換が着手され、これは、上記のステップC343で遂行された直接変換の逆操作である。次いで、復号化された残留ブロックMBDr
1が取得される。
【0093】
それに続くサブステップC348の過程では、予測されたブロックMBp
1に、復号化された残留ブロックMBDr
1を加算することにより、復号化されたブロックMBD
1の構築が着手される。復号化された残留ブロックMBDr
1は、画像IEを復号化する方法の完了時に取得される復号化されたブロックと同一のものであることに留意するべきであり、これは、記述においてさらに説明する。このように、復号化されたブロックMBD
1は、符号化ユニットUCkまたは所定数Rの符号化ユニットの一部を形成する任意の他の符号化ユニットによって利用され得るようになる。
【0094】
前述の符号化ステップC34の完了時に、
図3Bに表されたものなどのエントロピー符号化モジュールMCEまたはMCEkは、最初のブロックの符号化と並行して漸進的に再更新された確率などのすべての確率を含んでいる。これらの確率は、可能性のあるシンタックスの種々の要素および種々の関連した符号化コンテクストに対応する。
【0095】
前述の符号化ステップC34の後に、ステップC35の過程で、現在のブロックがこの同一の行のj番目のブロックかどうか判断するためにテストが遂行され、jは符号化装置COに既知の少なくとも1である所定の値である。
【0096】
j番目のブロックである場合、
図2Bに表されたステップC36の過程で、j番目ブロックに対して計算された確率のセットが、
図3Aまたは
図3Bならびに
図4Aおよび
図4Bに表されたものなどの符号化装置COのバッファメモリMTに記憶され、前記メモリのサイズは、計算された数の確率を記憶するように適合される。
【0097】
図2Bに表されたステップC37の過程で、符号化ユニットUCまたはUCkは、たった今符号化された行SEkの現在のブロックが画像IEの最後のブロックかどうかテストする。このようなステップは、ステップC35の過程で、現在のブロックが行SE1のj番目ブロックでない場合にも実施される。
【0098】
現在のブロックが画像IEの最後のブロックである場合、ステップC38の過程で符号化方法が終了する。
【0099】
現在のブロックが画像IEの最後のブロックでなければ、ステップC39の過程で、
図4Aまたは
図4Bの矢印PSによって表されたトラバースの順番に従って、符号化するべき次のブロックMB
iの選択が着手される。
【0100】
図2Bに表されたステップC40の過程で、現在のブロックMB
iを符号化するのに必要な、前もって符号化して復号化されたブロックの利用可能性の判断が着手される。
【0101】
これが第1の行SE1である場合、このようなステップは、符号化するべき現在のブロックMB
iの左上に位置する少なくとも1つのブロックの利用可能性を検証することにある。しかし、ブロックは、
図4Aまたは
図4Bに表された実施形態で選択されたトラバースPSの順番を考慮して、検討中の行SEkにわたって順々に符号化される。したがって、左の符号化して復号化されたブロックは(行の最初のブロックを例外として)常に利用可能である。
図4Aまたは
図4Bに表された実例では、これは、符号化するべき現在のブロックの直ぐ左隣に位置するブロックである。
【0102】
これが第1の行とは異なる行SEkである場合、前記判定ステップは、さらに、前の行SEk-1に位置する所定数N'個のブロック、例えば、現在のブロックの上と右上とにそれぞれ位置する2つのブロックが、現在のブロックの符号化に利用可能であるかどうか、すなわち、それらが符号化ユニットUCまたはUCk-1によって既に符号化して復号化されているかどうか検証することにある。
【0103】
このテストステップが符号化方法を遅くしがちなので、本発明による代替のやり方では、行の符号化が並列型である場合、
図3Cに表されたクロックCLKは、現在のブロックの上と右上とにそれぞれ位置する2つのブロックの利用可能性を、検証する必要なく保証するように、ブロックの符号化の進行を同期させるように適合される。したがって、符号化ユニットUCkは、常に、現在のブロックの符号化に用いられる前の行SEk-1の符号化して復号化されたブロックの所定数N'(例えばN'=2)のシフトを用いて、最初のブロックを符号化し始める。ソフトウェアの観点からすると、このようなクロックの実装形態により、符号化装置COにおける画像IEのブロックを処理する時間が顕著に加速され得る。
【0104】
図2Bに表されたステップC41の過程で、現在のブロックが検討中の行SEkの最初のブロックかどうか判断するためにテストが遂行される。
【0105】
最初のブロックである場合、ステップC42の過程で、バッファメモリMTにおける、前の行SEk-1のj番目ブロックの符号化の間に計算されたシンボル発生確率のみの読取りが着手される。
【0106】
図4Aに表された第1の変形形態によれば、j番目のブロックは、前の行SEk-1の最初のブロックである(j=1)。このような読取りは、CABAC符号化装置の確率をバッファメモリMTにある確率で置換することにある。この置換を第2の行SE2、第3の行SE3、および第4の行SE4のそれぞれの最初のブロックで行なうことを伴って、この読取りステップは、細い線で表された矢印によって
図4Aに示されている。
【0107】
図4Bに示された前述のステップC43の第2の変形形態によれば、j番目のブロックは、前の行SEk-1の2番目のブロックである(j=2)。このような読取りは、CABAC符号化装置の確率をバッファメモリMTにある確率で置換することにある。この置換を第2の行SE2、第3の行SE3、および第4の行SE4のそれぞれの最初のブロックで行なうことを伴って、この読取りステップは、細い破線で表された矢印によって
図4Bに示されている。
【0108】
ステップC42の後に、上記で説明されたステップC34からC38を繰り返すことにより、現在のブロックが符号化して復号化される。
【0109】
前述のステップC41の後に、現在のブロックが検討中の行SEkの最初のブロックでなければ、有利には、同一の行SEkに位置する、前もって符号化して復号化されたブロック、すなわち表された実例では現在のブロックの直ぐ左隣に位置する符号化して復号化されたブロックから生じる確率の読取りが着手されない。実際、
図4Aまたは
図4Bに表されるように同一の行に位置するブロックを読み取るための逐次のトラバースPSを考えると、現在のブロックの符号化を開始するちょうどその時にCABAC符号化装置にあるシンボル発生確率は、まさに、この同一の行の前ブロックの復号化/符号化の後に存在するものである。
【0110】
したがって、
図2Bに表されたステップC43の過程で、前記現在のブロックのエントロピー符号化ためのシンボル発生確率の学習が着手され、これらのシンボル発生確率は、
図4Aまたは
図4Bの2重の実線の矢印で表されるように、同一の行の前記前ブロックに関して計算されたものだけに対応する。
【0111】
ステップC43の後に、上記で説明されたステップC34からC38を繰り返すことにより、現在のブロックが符号化して復号化される。
【0112】
その後、ステップC44の過程で、現在のブロックが検討中の行SEkの最後のブロックかどうか判断するためにテストが遂行される。
【0113】
最後のブロックでなければ、ステップC44に続いて、符号化するべき次のブロックMB
iを選択するステップC39が再び実施される。
【0114】
現在のブロックが検討中の行SEkの最後のブロックである場合、ステップC45の過程で、
図3Aまたは
図3Cの符号化装置COは、上記で説明されたように空化を遂行する。このために、符号化ユニットUCkは、検討中の前記行SEkの各ブロックの符号化の間に読み取ったシンボルに関連付けられたビットの全体を、モジュールMGSFKが検討中の前記行SEkの符号化されたブロックを表す2進数の系列を含んでいるデータサブストリームFmに前記ビットの全体を書き込むようなやり方で、対応するサブストリーム発生モジュールMGSFkに伝送する。このような空化は、
図4Aおよび
図4Bにおいて、各行SEkの最後に3角形で記号化されている。
【0115】
図2Bに表されたステップC46の過程で、符号化ユニットUCまたはUCkは、前述のステップC33と同一のステップ、すなわちシンボルの所定のセットに含まれているシンボルの発生確率を表す区間を再び初期化するステップを遂行する。このような再初期化は、
図4Aおよび
図4Bにおいて、各行SEkの最初に黒色点で描かれている。
【0116】
この符号化のレベルでステップC45およびC46を遂行することの利点は、符号化ユニットUCまたは符号化ユニットUCkによって処理され次のブロックを符号化する期間中、符号化装置COが初期化された状態にあることである。したがって、記述においてさらに説明されるように、並行して作動している復号化ユニットは、直接このポイントからの圧縮ストリームFを復号化することが(初期化された状態であれば十分なので)可能になる。
復号化部分の実施形態の詳細な説明
【0117】
次に、本発明による復号化方法の一実施形態が説明され、この方法は、当初はH.264/MIPEG-4 AVC標準に準拠している復号化装置を変更することにより、ソフトウェアまたはハードウェアのやり方で実施される。
【0118】
本発明による復号化方法が、
図5Aで表されているステップD1からD4を含むアルゴリズムの形で表されている。
【0119】
本発明の実施形態によれば、本発明による復号化方法は、
図6Aに表された復号化装置DOで実施される。
【0120】
図5Aを参照して、第1の復号化ステップD1は、
図4Aまたは
図4Bに表されたように、前もって符号化されたブロックまたはマクロブロックMBのP個のサブセットSE1、SE2、...、SEk、...、SEPをそれぞれ含んでいるL個のサブストリームF1、F2、...、Fm、...、FLの前記ストリームFにおける識別である。このために、ストリームFの各サブストリームFmは、復号化装置DOがストリームFにおける各サブストリームFmの位置を求めることができるように意図された指標に関連付けられている。変形形態として、前述の符号化ステップC3の完了時に、符号化装置COは、ストリームFのサブストリームF1、F2、...、Fm、...、FLを、復号化装置DOによって予期される順番に順序付けすることにより、サブストリーム指標のストリームFへの挿入を避ける。したがって、このように処置すると、データストリームFのビットレートに関してコストを低減することができる。
【0121】
図4Aまたは
図4Bに表された実例では、前記ブロックMBは正方形の形状を有し、すべてが同一サイズである。必ずしもブロックサイズの倍数ではない画像サイズに依拠して、左側の最後のブロックおよび下側の最後のブロックは正方形でなくてもよい。代替実施形態では、ブロックは、例えば長方形のサイズであり得て、かつ/または互いに位置合わせしないことも可能である。
【0122】
そのうえ、それぞれのブロックまたはマクロブロック自体を、それ自体が細別できるサブブロックへと分割することができる。
【0123】
このような識別は、
図6Aに表されたものなどのストリーム抽出モジュールEXDOで遂行される。
【0124】
図4Aおよび
図4Bに表された実例では、所定数Pは6であるが、図の明瞭さのために、4つのサブセットSE1、SE2、SE3、SE4だけが破線で表されている。
【0125】
図5Aを参照して、第2の復号化ステップD2は、前記ブロックのサブセットSE1、SE2、SE3、SE4のそれぞれを復号化するステップにあり、検討中のサブセットのブロックが、例えばトラバースPSの所定の順番に従って復号化される。
図4Aまたは
図4Bに表された実例では、現在のサブセットSEk(1≦k≦P)のブロックが、矢印PSで示されるように左から右へ順番に復号化される。ステップD2の完了時に、ブロックSED1、SED2、SED3、...、SEDk、...、SEDPの復号化されたサブセットが取得される。
【0126】
このような復号化は、逐次型であり得て、その結果、単一の復号化ユニットを利用して遂行することができる。
【0127】
しかし、マルチプラットフォーム復号化アーキテクチャの利益を受けることができるように、ブロックのサブセットの復号化は並列型であって、R個の復号化ユニットUDk(1≦k≦R)で実施され、例えば
図6Aに表されるようにR=4である。したがって、このような処置によれば、復号化方法の実質的な加速化が可能になる。復号化装置DOは、それ自体既知のやり方で、現在のブロックの復号化と並行して漸進的に再更新されるものなどのシンボル発生確率を含むように適合されたバッファメモリMTを備える。
【0128】
図6Bにより詳細に表されるように、復号化ユニットUDkのそれぞれが、
・少なくとも1つの前もって復号化されたブロックに関して計算された少なくとも1つのシンボル発生確率を学習することにより、前記現在のブロックをエントロピー復号化するためのMDEkで示されたモジュールと、
・前記前もって復号化されたブロックに関して現在のブロックを予測符号化するためのMDPkで示されたモジュールとを備える。
【0129】
予測復号化モジュールMDPkは、例えばイントラモードおよび/またはインターモードなどの従来の予測技法によって現在のブロックの予測復号化を遂行することができる。
【0130】
エントロピー復号化モジュールMDEk側としてはCABACタイプであるが、本発明に従って変更されており、このことは記述においてさらに説明する。
【0131】
変形形態として、エントロピー復号化モジュールMDEkは、それ自体既知のハフマン復号化装置であり得る。
【0132】
図4Aまたは
図4Bに表された実例では、第1のユニットUD1は、第1の行SE1のブロックを左から右へ復号化する。第1のユニットUD1は、第1の行SE1の最後のブロックに達すると、第(n+1)の行、ここでは第5の行などの最初のブロックに進む。第2のユニットUD2は、第2の行SE2のブロックを左から右へ復号化する。第2のユニットUC2は、第2の行SE2の最後のブロックに達すると、ここでは第6の行である第(n+2)の行などの最初のブロックに進む。このトラバースは、第4の行SE4のブロックを左から右へ復号化するユニットUD4まで繰り返される。第4のユニットUD4は、第1の行の最後のブロックに達すると、第(n+4)の行、ここでは第8の行の最初のブロックに進み、その他、枚挙にいとまがなく、最後の識別されたサブストリームの最後のブロックが復号化されるまで進む。
【0133】
たった今上記で説明されたものの他のタイプのトラバースも、もちろん可能である。例えば、各復号化ユニットは、上記で説明されたように、ネストされた行ばかりでなくネストされた列も処理することができる。また、行または列を、いずれの方向にもトラバースすることができる。
【0134】
図5Aを参照して、第3の復号化ステップD3は、復号化ステップD2で取得したそれぞれの復号化されたサブセットSED1、SED2、...、SEDk、...、SEDPに基づく、復号画像IDの再構築である。より正確には、それぞれの復号化されたサブセットSED1、SED2、...、SEDk、...、SEDPの復号化されたブロックが、
図6Aに表されたものなどの画像再構築ユニットURIに伝送される。このステップD3の過程で、ユニットURIは、これらのブロックが利用可能になるように、復号化されたブロックを復号画像に書き込む。
【0135】
図5Aに表された第4の復号化ステップD4の過程で、
図6Aに表されたユニットURIによって、完全に復号された画像IDが配送される。
【0136】
次に、前述の並列復号化のステップD2の間に、復号化ユニットUDkにおいて実施されるものなどの本発明の種々の特定のサブステップを、
図5Bを参照しながら説明する。
【0137】
ステップD21の過程では、復号化ユニッUDkは、現在のブロックとして、
図4Aまたは
図4Bに表された現在の行SEkの復号化するべき最初のブロックを選択する。
【0138】
ステップD22の過程で、復号化ユニットUDkは、現在のブロックが、この例ではサブストリームF1の最初のブロックである復号画像の最初のブロックかどうかテストする。
【0139】
復号画像の最初のブロックである場合、ステップD23の過程で、エントロピー復号化モジュールMDEまたはMDEkは、その状態変数の初期化に着手する。表された実例によれば、これは、シンボルの所定のセットに含まれているシンボルの発生確率を表す区間の初期化を伴う。
【0140】
変形形態として、用いられるエントロピー復号化がLZW復号化である場合には、シンボルのストリングの変換表は、可能性のあるすべてのシンボルを1回だけ含むように初期化される。ステップD23は前述の符号化ステップC33と同一であり、続いてこれを説明することはない。
【0141】
前述のステップD22の後で、現在のブロックが復号画像lDの最初のブロックでなければ、後に説明されるステップD30の過程で、必要な前もって復号化されたブロックの利用可能性の判断が着手される。
【0142】
ステップD24の過程で、
図4Aまたは
図4Bに表された第1の行SE1の最初の現在のブロックMB
1の復号化が着手される。このようなステップD24は、以下で説明されるD241からD246の複数のサブステップを含む。
【0143】
第1のサブステップD241の過程で、現在のブロックに関連するシンタックス要素のエントロピー復号化が着手される。このようなステップは、主として、
a) サブストリームに含まれている、前記第1の行SE1に関連した各ビットを読み取るステップと、
b) 読み取った各ビットに基づいてシンボルを再構築するステップとにある。
【0144】
LZW復号化が用いられる前述の変形形態では、現在の変換表のシンボルの符号に対応する情報のデジタル項目が読み取られ、それ自体既知のプロシージャによって、読み取った符号に基づいてシンボルが再構築され、変換表の更新が遂行される。
【0145】
より正確には、現在のブロックに関連するシンタックス要素が、
図6Bに表されたものなどのCABACエントロピー復号化モジュールMDE1によって復号化される。CABACエントロピー復号化モジュールMDE1は、圧縮ファイルの各ビットのサブストリームF1を復号化してシンタックス要素を生成し、同時に、このシンボルの発生確率が、前述のエントロピー符号化ステップC345の間に同じシンボルの符号化の間に得られた発生確率と同一になるようなやり方で、シンボルを復号化するちょうどその時に、その確率を再更新する。
【0146】
続くサブステップD242の過程では、イントラ予測および/またはインター予測の既知の技法によって現在のブロックMB
1の予測復号化が着手され、その過程で、少なくとも1つの前もって復号化されたブロックに関してブロックMB
1が予測される。
【0147】
H.264標準で提案されたものなどのイントラ予測の他のモードも、もちろん可能である。
【0148】
このステップの過程で、前のステップで復号化されたシンタックス要素を利用して予測復号化が遂行され、これらのシンタックス要素には、予測のタイプ(インター予測またはイントラ予測)が特に含まれ、また、適切であれば、イントラ予測のモードと、マクロブロックが細分されている場合にはブロックまたはマクロブロックの分割のタイプと、参照画像のインデックスと、インター予測モードで用いられる変位ベクトルとが含まれる。
【0149】
前述の予測復号化ステップにより、予測されたブロックMBp
1を構成す築ことが可能になる。
【0150】
続くサブステップD243の過程で、前もって復号化されたシンタックス要素を利用して、量子化された残留ブロックMBq
1の構築が着手される。
【0151】
それに続くサブステップD244の過程では、通常の逆量子化操作による、量子化された残留ブロックMBq
1の逆量子化が着手され、逆量子化は、ステップC344で遂行された前述の量子化の逆の操作であり、復号化された逆量子化ブロックMBDt
1を生成する。
【0152】
それに続くサブステップD245の過程では、逆量子化されたブロックMBDt
1の逆変換が着手され、これは、上記のステップC343で遂行された直接変換の逆操作である。次いで、復号化された残留ブロックMBDr
1が取得される。
【0153】
それに続くサブステップD246の過程では、予測されたブロックMBp
1に復号化された残留ブロックMBDr
1を加算することにより、復号化されたブロックMBD
1の構築が着手される。このように、復号化されたブロックMBD
1は、復号化ユニットUD1または所定数Nのその他の復号化ユニットの一部を形成する任意の他の復号化ユニットによって利用され得るようになる。
【0154】
前述の復号化ステップD246の完了時に、
図6Bに表されたものなどのエントロピー復号化モジュールMDE1は、最初のブロックの符号化と並行して漸進的に再更新された確率などのすべての確率を含んでいる。これらの確率は、可能性のあるシンタックスの種々の要素および種々の関連した復号化コンテクストに対応する。
【0155】
前述の復号化ステップD24の後に、ステップD25の過程で、現在のブロックがこの同一の行のj番目のブロックかどうか判断するためにテストが遂行され、jは復号化装置DOに既知の少なくとも1である所定の値である。
【0156】
j番目のブロックである場合、ステップD26の過程で、j番目ブロックに対して計算された確率のセットが、
図6Aならびに
図4Aおよび
図4Bに表されたものなどの復号化装置DOのバッファメモリMTに記憶され、前記メモリのサイズは、計算された数の確率を記憶するように適合される。
【0157】
ステップD27の過程で、ユニットUDkは、たった今復号化された現在のブロックが最後のサブストリームの最後のブロックであるかどうかテストする。
【0158】
最後のサブストリームの最後のブロックである場合、ステップD28の過程で復号化方法が終了する。
【0159】
最後のサブストリームの最後のブロックでなければ、ステップD29の過程で、
図4Aまたは
図4Bの矢印PSによって表されたトラバースの順番に従って、復号化するべき次のブロックMB
iの選択が着手される。
【0160】
前述のステップD25の過程で、現在のブロックが検討中の行SEDkのj番目ブロックでなければ、上記のステップD27が着手される。
【0161】
前述のステップD29に続くステップD30の過程で、現在のブロックMB
iを復号化するのに必要な、前もって復号化されたブロックの利用可能性の判断が着手される。これが、別々の復号化ユニットUDkによるブロックの並列復号化を伴うという事実を考えると、これらのブロックが、これらのブロックの復号化に割り当てられた復号化ユニットによって復号されていない可能性があり、したがってまだ利用可能ではないことがある。前記判定ステップは、前の行SEk-1に位置する所定数N'個のブロック、例えば、現在のブロックの上と右上とにそれぞれ位置する2つのブロックが、現在のブロックの復号化に利用可能であるかどうか、すなわち、それらの復号化のために割り当てられた復号化ユニットUDk-1によって既に復号化されているかどうか検証することにある。前記判定ステップは、復号化するべき現在のブロックMB
iの左上に位置する少なくとも1つのブロックの利用可能性を検証することにもある。しかし、ブロックは、
図4Aまたは
図4Bに表された実施形態で選択されたトラバースPSの順番を考慮して、検討中の行SEkにわたって順々に復号化される。したがって、左の復号化されたブロックは(行の最初のブロックを例外として)常に利用可能である。
図4Aまたは
図4Bに表された実例では、これは、復号化するべき現在のブロックの直ぐ左隣に位置するブロックを伴う。このために、現在のブロックの上と右上とにそれぞれ位置する2つのブロックの利用可能性のみがテストされる。
【0162】
このテストステップが復号化方法を遅くしがちなので、本発明による代替のやり方では、
図6Aに表されたクロックCLKは、現在のブロックの上と右上とにそれぞれ位置する2つのブロックの利用可能性を、検証する必要なく保証するように、ブロックの復号化の進行を同期させるように適合される。したがって、
図4Aまたは
図4Bに表されるように、復号化ユニットUDkは、常に、現在のブロックの復号化に用いられる前の行SEk-1の復号化されたブロックの所定数N'(ここではN'=2)のシフトを用いて、最初のブロックを復号化し始める。
ソフトウェアの観点からすると、このようなクロックの実装形態により、復号化装置DOにおける各サブセットSEkのブロックを処理する時間が顕著に加速され得る。
【0163】
ステップD31の過程で、現在のブロックが検討中の行SEkの最初のブロックかどうか判断するためにテストが遂行される。
【0164】
最初のブロックである場合、ステップD32の過程で、バッファメモリMTにおける、前の行SEk-1のj番目ブロックの復号化を通じて計算されたシンボル発生確率のみの読取りが着手される。
【0165】
図4Aに表された第1の変形形態によれば、j番目のブロックは、前の行SEk-1の最初のブロックである(j=1)。このような読取りは、CABAC復号化装置の確率をバッファメモリMTにある確率で置換することにある。この置換を第2の行SE2、第3の行SE3、および第4の行SE4のそれぞれの最初のブロックで行なうことを伴って、この読取りステップは、細い線で表された矢印によって
図4Aに示されている。
【0166】
図4Bに示された前述のステップD32の第2の変形形態によれば、j番目のブロックは、前の行SEk-1の2番目のブロックである(j=2)。このような読取りは、CABAC復号化装置の確率をバッファメモリMTにある確率で置換することにある。この置換を第2の行SE2、第3の行SE3、および第4の行SE4のそれぞれの最初のブロックで行なうことを伴って、この読取りステップは、細い破線で表された矢印によって
図4Bに示されている。
【0167】
ステップD32の後に、上記で説明されたステップD24からD28を繰り返すことにより、現在のブロックが復号化される。
【0168】
前述のステップD31の後に、現在のブロックが、検討中の行SEkの最初のブロックでなければ、有利には、同一の行SEkに位置する、前もって復号化されたブロック、すなわち、表された実例では現在のブロックの直ぐ左隣に位置する復号化されたブロックから生じる確率の読取りが着手されない。実際、
図4Aまたは
図4Bに表されるように同一の行に位置するブロックを読み取るための逐次のトラバースPSを考えると、現在のブロックの復号化を開始するちょうどその時にCABAC復号化装置にあるシンボル発生確率は、まさに、この同一の行の前ブロックの復号化の後に存在するものである。
【0169】
したがって、D33の過程で、前記現在のブロックのエントロピー復号化ためのシンボル発生確率の学習が着手され、前記確率は、
図4Aまたは
図4Bの2重の実線の矢印で表されるように、同一の行の前記前ブロックに関して計算されたものだけに対応する。
【0170】
ステップD33の後に、上記で説明されたステップD24からD28を繰り返すことにより、現在のブロックが復号化される。
【0171】
その後、ステップD34の過程で、現在のブロックが検討中の行SEkの最後のブロックかどうか判断するためにテストが遂行される。
【0172】
最後のブロックでなければ、ステップD34に続いて、符号化するべき次のブロックMB
iを選択するステップD29が再び実施される。
【0173】
現在のブロックが検討中の行SEkの最後のブロックである場合、ステップD35の過程で、復号化ユニットUDkは、前述のステップD23と同一のステップ、すなわちシンボルの所定のセットに含まれているシンボルの発生確率を表す区間を再び初期化するステップを遂行する。このような再初期化は、
図4Aおよび
図4Bにおいて、各行SEkの最初に黒色点で示されている。
【0174】
したがって、復号化装置DOが、行のそれぞれの出発点において初期化された状態であることにより、復号化の並列処理のレベルの選択および復号化に対する処理時間の最適化の観点からして、大きな融通性が与えられる。
【0175】
図7Aに表された例示的符号化/復号化の図で、
図3Aに表されるように、符号化装置COは単一の符号化ユニットUCを備え、復号化装置DOは6つの復号化ユニットを備える。
【0176】
符号化ユニットUCは、行SE1、SE2、SE3、SE4、SE5およびSE6を逐次に符号化する。表された実例では、行SE1からSE4は完全に符号化されており、行SE5は符号化の過程にあって、行SE6はまだ符号化されていない。符号化の逐次性を考慮して、符号化ユニットUCは、順番に並んだサブストリームF1、F2、F3、F4を含でいるストリームFを、行SE1、SE2、SE3およびSE4の符号化の順に配送するように適合される。このために、サブストリームF1、F2、F3およびF4は、符号化された行SE1、SE2、SE3、SE4を記号化するものとそれぞれ同じハッチングを用いて記号化される。前記符号化された行の符号化の最後に空化ステップがあり、また、符号化/復号化するべき次の行の符号化または復号化の開始に際して確率の区間を再初期化するので、復号化装置DOは、サブストリームを復号化するように読み取る度に初期化された状態にあり、したがって、4つのサブストリームF1、F2、F3、F4を、例えば4つの別々のプラットフォーム上に設置されている復号化ユニットUD1、UD2、UD3およびUD4を用いて最適なやり方で並行して復号化することができる。
【0177】
図7Bに表された例示的符号化/復号化の図で、
図3Cに表されるように、符号化装置COは2つの符号化ユニットUC1およびUC2を備え、復号化装置DOは6つの復号化ユニットを備える。
【0178】
符号化ユニットUC1は、奇数順位の行SE1、SE3およびSE5を逐次に符号化し、符号化ユニットUC2は、偶数順位の行SE2、SE4およびSE6を逐次に符号化する。このために、行SE1、SE3およびSE5は白色の背景を示しており、行SE2、SE4およびSE6は点のある背景を示している。表された実例では、行SE1からSE4は完全に符号化されており、行SE5は符号化の過程にあって、行SE6はまだ符号化されていない。遂行される符号化がレベル2の並列型であるという事実を考慮して、符号化ユニットUC1は、行SE1とSE3をそれぞれ符号化した後に得られたF1とF3の2つの部分に分解されたサブストリームF
2n+1を配送するように適合されており、符号化ユニットUC2は、行SE2とSE4をそれぞれ符号化した後に得られたF2とF4の2つの部分に分解されたサブストリームF
2nを配送するように適合されている。したがって、符号化装置COは、2つのサブストリームF
2n+1とF
2nが並置されているために
図7Aに表されたものとは異なってF1、F3、F2、F4と順序付けされたサブストリームを含むストリームFを復号化装置DOに伝送するように適合されている。このために、サブストリームF1、F2、F3およびF4は、符号化された行SE1、SE2、SE3、SE4を記号化するものとそれぞれ同じハッチングを用いて記号化され、サブストリームF1およびF3が白色の背景(奇数順位の行の符号化)を示し、サブストリームF2およびF4が点のある背景(偶数順位の行の符号化)を示す。
【0179】
図7Aと併せて言及された利点に関して、このような符号化/復号化の図は、復号化の並列処理のレベルが符号化の並列処理のレベルとは完全に無関係な復号化装置を採用することができるという利点をさらに示し、それによって、符号化装置/復号化装置の動作を最適化することがさらに可能になる。