JP2016026426A - 適応可変長符号化 - Google Patents
適応可変長符号化 Download PDFInfo
- Publication number
- JP2016026426A JP2016026426A JP2015163601A JP2015163601A JP2016026426A JP 2016026426 A JP2016026426 A JP 2016026426A JP 2015163601 A JP2015163601 A JP 2015163601A JP 2015163601 A JP2015163601 A JP 2015163601A JP 2016026426 A JP2016026426 A JP 2016026426A
- Authority
- JP
- Japan
- Prior art keywords
- variable length
- value
- video
- quantized transform
- codewords
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
【課題】第1の値を有する特定の第1の数のデータシンボルおよび第1の値以外の値を有する特定の第2の数のデータシンボルを含むデータシンボルのセットが可変長符号語により表される適応可変長符号化の方法を提供する。
【解決手段】ビデオエンコーダ600は、INTRA符号化およびINTER符号化された圧縮ビデオフレームを生成する。離散コサイン変換が変換ブロック104において実行され、作り出された両係数は後量子化器106へ送られ、そこで量子化される。ビデオ多重コーダ670は非ゼロ値係数を(run,level)ペアとして表す。次に単一VLC符号語が各プアに割り当てられるようにrunおよびlevel値に可変長符号化を適用し、符号語をビットストリーム635でデコーダへ伝送する。
【選択図】図6
【解決手段】ビデオエンコーダ600は、INTRA符号化およびINTER符号化された圧縮ビデオフレームを生成する。離散コサイン変換が変換ブロック104において実行され、作り出された両係数は後量子化器106へ送られ、そこで量子化される。ビデオ多重コーダ670は非ゼロ値係数を(run,level)ペアとして表す。次に単一VLC符号語が各プアに割り当てられるようにrunおよびlevel値に可変長符号化を適用し、符号語をビットストリーム635でデコーダへ伝送する。
【選択図】図6
Description
本発明はデータシンボルの可変長符号化に関する。より具体的には、本発明は、デジタルビデオの符号化における応用に適した可変長符号化の方法に関する。
デジタルビデオシーケンスは、フィルムに記録された通常の映画と同じように、一連の静止画像を含み、画像を比較的速いレートで、典型的には毎秒15ないし30フレームで次々に表示することによって動きの幻覚が作り出される。表示レートが比較的速いので、連続フレーム中の画像は、ほぼ類似する傾向があり、それゆえ、かなりの量の冗長な情報を含んでいる。例えば、典型的な場面は、背景風景のようないくつかの静止要素と、多種多様な形態、例えばニュースキャスターの顔、動いている交通等、を取り得るいくつかの動く領域とを含み得る。代わりに、場面を記録しているカメラ自体が移動していることがあり、その場合、画像の全要素は同じ種類の動きを有している。多くの場合、このことは、1つのビデオフレームと次のビデオフレームとの間の全体的変化はかなり小さいことを意味している。
非圧縮デジタルビデオシーケンスの各フレームは、画像ピクセルの配列を含んでいる。例えば、クオーター共通交換形式(QCIF:Quarter Common Interchange Format)として知られる、一般に用いられるデジタル画像形式において、1つのフレームは、176×144ピクセルの配列を含み、その場合、各フレームは25,344個のピクセルを含む。次に、各ピクセルは、そのピクセルに対応する画像領域の輝度および/または色コンテンツについての情報を伝える特定数のビットにより表される。一般的に、いわゆるYUVカラーモデルが、画像の輝度およびクロミナンスコンテンツを表すために使用される。輝度、すなわちY、成分は、画像の強度(明るさ)を表す一方、画像の色コンテンツは、2つのクロミナンスすなわちUおよびYと表記される色差成分により表される。
画像コンテンツの輝度/クロミナンス表現に基づくカラーモデルは、原色(すなわち、赤、緑および青、RGB)を含む表現に基づくカラーモデルと比較していくつかの利点を提供する。人間の視覚系は、色の変化に対するよりも強度の変化に対してより敏感であり、YUVカラーモデルは、輝度成分(Y)についてよりもクロミナンス成分(U,V)についてより低い空間分解能を用いることによりこの特性を利用している。このようにして、画質低下を容認できるものにしつつ、画像中の色情報を符号化するために必要とされる情報量を低減できる。
クロミナンス成分のより低い空間分解能は通常、サブサンプリングによって達成される。典型的には、ビデオシーケンスの各フレームは、輝度(Y)情報および空間的にサブサンプリングされる関連クロミナンス(U,V)情報を含むいわゆる‘マクロブロック’に分割される。図3は、マクロブロックが形成され得る1つの方法を例示している。図3aは、YUVカラーモデルを用いて表わされたビデオシーケンスのフレームを示しており、各成分が同じ空間分解能を有している。マクロブロックは、元の画像中の16×16画像ピクセルの範囲を(図3b)4つの輝度情報ブロックとして表わすことにより形成され、各輝度ブロックは、輝度(Y)値の8×8配列および空間的に対応する2つのクロミナンス成分(U,V)を含み、このクロミナンス成分は、xおよびy方向において2のファクターによりサブサンプリングされて、8×8クロミナンス(U,V)値の対応する配列を与える(図3c参照)。国際電気通信連合(ITU−T)勧告H.26Lのような特定のビデオ符号化勧告によると、マクロブロック内で用いられる基本ブロックサイズは、8×8以外、例えば4×8または4×4とすることができる。(G. Bjontegaard, “H.26L Test Model Long Term Number 8 (TML-8) draft0”, VCEG-N10, June 2001, section 2.3参照)。
1つのQCIF画像は11×9個のマクロブロックを含む。輝度ブロックおよびクロミナンスブロックが8ビット分解能で(つまり、0から255の範囲の数により)表されれば、マクロブロック毎に必要とされる総ビット数は、(16×16×8)+2×(8×8×8)=3072ビットである。QCIF形式のビデオフレームを表すために必要なビット数は、従って99×3072=304,128ビットである。このことは、YUVカラーモデルを用いて表された、QCIF形式の非圧縮ビデオシーケンスを30フレーム/秒のレートで伝送/記録/表示するために必要とされるデータ量が9Mbps(100万ビット/秒)以上であることを意味している。これは極めて高いデータレートであり、必要とされる記憶容量、伝送チャンネル容量およびハードウェア性能が非常に大きいため、ビデオ記録、伝送および表示の用途に使用するのは非実用的である。
ビデオデータが、ISDN(Integrated Services Digital Network:統合サービスデジタル網)または従来のPSTN(Public Service Telephone Network:公衆電話網)のような固定回線網上をリアルタイムで伝送されるのであれば、利用可能なデータ伝送帯域幅は、典型的には64kbits/秒程度である。伝送が少なくとも部分的に無線通信リンク上で行われる移動ビデオ電話技術においては、利用可能帯域幅は20kbits/秒と低くなり得る。このことは、低帯域幅通信網上でのデジタルビデオシーケンスの伝送を可能にするために、ビデオデータを表すために用いられる情報量のかなりの低減を達成しなければならないことを意味している。この理由から、許容できる画質を維持しつつ伝送される情報量を低減するビデオ圧縮技術が開発されてきた。
ビデオ圧縮方法は、ビデオシーケンスの冗長かつ知覚的に関係のない部分を減らすことに基づいている。ビデオシーケンス中の冗長性は、空間的、時間的およびスペクトル冗長性に分類できる。‘空間的冗長性’は、フレーム内の近隣ピクセル間の相関(類似性)を説明するために用いられる用語である。用語‘時間的冗長性’は、シーケンスの1フレーム中に現れるオブジェクトがそれに続くフレーム中に現れる可能性があるという事実を表すのに対して、‘スペクトル冗長性’は、同じ画像の異なる色成分間の相関を意味する。
十分に効率的な圧縮は通常、所定の画像シーケンス中の様々な形態の冗長性を単に減らすだけでは達成できない。従って、ほとんどの現行のビデオエンコーダは、主観的に最も重要でないビデオシーケンスの部分の品質も低減する。さらに、圧縮されたビデオビットストリーム自体の冗長性は、効率的な無損失エンコードによって低減される。一般に、これは、エントロピー符号化として知られている技術を使って達成される。
デジタルビデオシーケンスの各フレームを構成するピクセル間に相当量の空間的冗長性があることがよくある。言い換えれば、シーケンスのフレーム内のどんなピクセルの値も、その直近の他のピクセルの値と実質的に同じである。典型的には、ビデオ符号化システムは、数学的変換が画像のピクセルにマクロブロックごとに適用される‘ブロックベース変換符号化’として知られている手法を用いて空間的冗長性を低減する。変換符号化は、ピクセル値を含む表現からの画像データを、各々が当該変換の基底関数についての重み係数(乗数)である係数値のセットを含む形式に変換する。2次元離散コサイン変換(DCT)のような特定の数学的変換を用いることにより、デジタルビデオシーケンスのフレーム内の空間的冗長性を著しく低減することができ、その結果、画像データのよりコンパクトな表現を作り出す。
ビデオシーケンス内の他のどのようなフレームも参照することなく、ブロックベース変換符号化を用いて圧縮されるビデオシーケンスのフレームは、INTRA符号化またはIフレームと呼ばれる。その上、可能な場合には、INTRA符号化されたフレームのブロックは、同じフレーム内の前もって符号化されたブロックから予測される。INTRA予測として知られるこの手法は、INTRA符号化されたフレームを表現するために必要とされるデータ量をさらに低減する効果がある。
一般に、ビデオ符号化システムは、ビデオシーケンスの個々のフレーム内の空間的冗長性を低減するだけでなく、シーケンス中の時間的冗長性を減らすために‘動き補償予測’として知られている手法も利用する。動き補償予測を用いると、デジタルビデオシーケンス中のいくつか(しばしば多く)のフレームの画像コンテンツが、‘参照’または‘アンカー’フレームとして知られているシーケンス中の1つ以上の他のフレームから‘予測される’。画像コンテンツの予測は、符号化(圧縮)されるフレームと参照フレームとの間での画像のオブジェクトまたは範囲の動きを‘動きベクトル’を用いて追跡することによって達成される。一般に、参照フレームは、ビデオシーケンス中で、符号化されるフレームに先行するかこれに続くことができる。INTRA符号化の場合のように、ビデオフレームの動き補償予測は、典型的にはマクロブロックごとに実行される。
動き補償予測を用いて圧縮されるビデオシーケンスのフレームは、INTER符号化またはPフレームと一般に呼ばれる。動き補償予測のみでは、ビデオフレームの画像コンテンツの十分に精密な表現が提供されることはめったになく、従って、各INTER符号化フレームにいわゆる‘予測エラー’(PE)フレームを提供することが一般に必要である。予測エラーフレームは、INTER符号化フレームのデコードされたバージョンと符号化されるフレームの画像コンテンツとの間の差分を表す。より具体的には、予測エラーフレームは、符号化されるフレーム中のピクセル値と当該フレームの予測されたバージョンに基づいて形成された対応する再構築されたピクセル値との間の差分を表す値を含む。その結果、予測エラーフレームは静止画像と同様な特性を有し、その空間的冗長性それゆえそのフレームを表すのに必要なデータ量(ビット数)を低減するためにブロックベース変換符号化が適用できる。
ビデオ符号化システムの動作をより詳細に例示するために、図1および図2を参照する。図1は、圧縮された(エンコードされた)ビデオビットストリームを作り出すためにINTRAおよびINTER符号化の組合せを利用する汎用ビデオエンコーダの概略図である。対応するデコーダが図2に例示されており、本明細書中で後述する。
ビデオエンコーダ100は、カメラまたは他のビデオソース(図示せず)からデジタルビデオ信号を受信するための入力101を備えている。エンコーダは、ブロックベース離散コサイン変換(DCT)を実行するように構成された変換ユニット104、量子化器106、逆量子化器108、逆ブロックベース離散コサイン変換(IDCT)を実行するように構成された逆変換ユニット110、結合器112および116、ならびにフレーム記憶装置120も含んでいる。エンコーダは、動き推定器130、動き場コーダ140および動き補償予測器150をさらに備えている。スイッチ102および114は、エンコーダをビデオエンコードのINTRAモードとビデオエンコードのINTERモードとの間で切り替えるために、コントロールマネージャー160により協調的に操作される。エンコーダ100は、遠方の受信端末へのさらなる伝送のため、または、例えば、コンピュータハードドライブのような大容量記憶媒体(図示せず)上での記憶のためにエンコーダ100によって作り出された種々のタイプの情報から単一ビットストリームを形成するビデオ多重コーダ170も備えている。
エンコーダ100は以下の通り動作する。ビデオソースから入力101へ提供される非圧縮ビデオの各フレームは、好ましくはラスタ−スキャン方式でマクロブロックごとに受信および処理される。新しいビデオシーケンスのエンコードが開始すると、エンコードされる最初のフレームが、INTRA符号化フレームとしてエンコードされる。その後、以下の条件、すなわち、1)符号化されているフレームの現在のマクロブロックが、その予測に用いられる参照フレーム中のピクセル値と非常に異なるため、過剰な予測エラー情報が作り出されると判定される(その場合、現在のマクロブロックはINTRA符号化形式で符号化される)、2)あらかじめ定義されたINTRAフレーム繰返し間隔が満了した、または、3)フレームがINTRA符号化形式で提供されることを要求する受信端末からのフィードバックが受信される、の1つが満たされない限り、エンコーダは各フレームをINTER符号化形式で符号化するようにプログラムされる。
条件1)の発生は、結合器116の出力を監視することにより検出される。結合器116は、符号化されているフレームの現在のマクロブロックと、動き補償予測ブロック150において作り出される予測との間の差分を形成する。もしこの差分の測定値(例えば、ピクセル値の絶対差分の合計)が、所定のしきい値を超過すれば、結合器116はコントロールライン119を介してコントロールマネージャー160に通知し、コントロールマネージャー160は、エンコーダ100をINTRA符号化モードに切り替えるため、コントロールライン113を介してスイッチ102および114を操作する。このようにして、さもなければINTER符号化形式でエンコードされるフレームがINTRA符号化マクロブロックを含むことがある。条件2)の発生は、タイマーが満了するかフレームカウンターがフレームの所定数に達すれば、コントロールマネージャー160が、スイッチ102および114を操作して、コントロールライン113を介してエンコーダをINTRA符号化モードに切り替えるように、コントロールマネージャー160に実装されたタイマーまたはフレームカウンターよって監視される。もしコントロールマネージャー160が、INTRAフレームリフレッシュが受信端末により要求されていることを示すフィードバック信号を、例えば受信端末からコントロールライン121を介して受信すれば、条件3)が起動される。例えば、前に伝送されたフレームが、その伝送中の障害によりひどく損なわれ、受信器においてデコードすることが不可能になれば、そのような条件が生じることがある。この状況において、受信デコーダは、次のフレームがINTRA符号化形式でエンコードされるように要求を出し、従って、符号化シーケンスを再初期化する。
INTRA符号化モードにおけるエンコーダ100の動作を説明する。INTRA符号化モードにおいて、コントロールマネージャー160は、スイッチ102を操作して入力ライン118からビデオ入力を受け入れる。ビデオ信号入力は、入力101から入力ライン118を介してマクロブロックごとに受信される。それらが受信されると、マクロブロックを構成する輝度値およびクロミナンス値のブロックがDCT変換ブロック104に送られ、この変換ブロックは、値の各ブロックに対して2次元離散コサイン変換を実行して、各ブロックについてDCT係数の2次元配列を作り出す。DCT変換ブロック104は、各ブロックについて係数値の配列を作り出し、係数値の数は、マクロブロックを構成するブロックの性質に依存している。例えば、マクロブロックにおいて使われる基本ブロックサイズが4×4であれば、DCT変換ブロック104は、各ブロックについてDCT係数の4×4配列を作り出す。ブロックサイズが8×8であれば、DCT係数の8×8配列が作り出される。
各ブロックについてのDCT係数は量子化器106に送られ、そこで量子化パラメータQPを用いて量子化される。量子化パラメータQPの選択は、コントロールライン115を介してコントロールマネージャー160により制御される。量子化により情報の損失が生じるが、これは、量子化された係数は、当初DCT変換ブロック104により生成された係数よりも数値精度が低いからである。これにより、ビデオシーケンスの各画像を表すために必要なデータ量を低減できるさらなる機構が提供される。しかしながら、本質的に無損失であるDCT変換とは異なり、量子化により生じた情報損失は、画質における不可逆的劣化を引き起こす。DCT係数に適用される量子化の程度が大きくなればなるほど、画質の損失はより大きくなる。
各ブロックについて量子化されたDCT係数は、図1のライン125により示されるように、量子化器106からビデオ多重コーダすなわちマルチプレクサ170に送られる。ビデオ多重コーダ170は、ジグザグスキャン手順を用いて各ブロックについて量子化された変換係数を順序付けする。この操作により、量子化された変換係数の2次元配列が、1次元配列に変換される。図4に示されるような4×4配列についての典型的なジグザグスキャン順序は、係数を空間周波数のほぼ昇順に順序付けする。これは、1次元配列中により早く配置された係数がその配列中により遅く配置された係数よりも大きい絶対値を有する確率が強くなるように、係数をそれらの値に従って順序付ける傾向もある。これは、より低い空間周波数が画像ブロック内でより高い振幅を有する傾向があるからである。その結果、量子化された変換係数の1次元配列中の最後付近で生じる値はゼロになる傾向がある。
典型的には、ビデオ多重コーダ170は、1次元配列中の各非ゼロ量子化係数を、levelおよびrunと呼ばれる2つの値で表す。levelは、量子化された係数の値であり、runは、当該係数に先行する連続したゼロ値係数の数である。ある特定の係数についてのrunおよびlevel値は、level値が、関連するrun値に先行するように順序付けされる。ゼロに等しいlevel値は、そのブロック中に非ゼロ係数値がもはやないことを示すために用いられる。この0−level値は、EOB(end-of-block:ブロック終結)シンボルと呼ばれる。
runおよびlevel値は、ビデオ多重コーダ170中でエントロピー符号化を用いてさらに圧縮される。エントロピー符号化は、無損失操作であり、符号化されるデータセット内のシンボルが様々な発生確率を一般に有しているという事実を利用する。levelおよびrunの特定の値は他のものよりも発生する確率が高いので、エントロピー符号化手法は、量子化された変換係数を表すrunおよびlevel値を符号化するために必要とされるビット数を効果的に低減するために用い得る。いくつかの異なる方法を、エントロピー符号化を実現するために用い得る。ビデオ符号化システムにおいて一般的に用いられる1つの方法は、可変長符号化(VLC)として知られている。一般に、VLC符号語は、所定の符号語の長さが、それが表しているシンボルの発生頻度に対応するように構成されたビット(すなわち、0および1)のシーケンスである。従って、符号化される各シンボルを表すために固定数のビットを用いる代わりに、発生する確率がより高いシンボルが、より少ないビットを有するVLC符号語により表されるように、可変数のビットが割り当てられる。符号語の長さは異なることがある(そして一般にそうである)ので、符号語の長さは、一意的にデコード可能となるようにも構成されなければならない。言い換えれば、特定の有限長さを有する有効なビットのシーケンスがデコーダにより受信されれば、受信されたビットのシーケンスに対応する唯一の考えられるシンボルの入力シーケンスがあるべきである。図1に示されるビデオエンコーダにおいて、可変長符号化を用いるrunおよびlevelパラメータのエントロピー符号化は、符号化されるデータセット中の各可能なシンボルとその対応する可変長コードとの間のマッピングを定義するルックアップテーブルを用いて実現できる。そのようなルックアップテーブルは、符号化されるシンボルと同一のシンボルを含みかつ同様な統計的特性を有するトレーニングマテリアルの統計解析により定義されることが多い。
算術符号化として知られている別のエントロピー符号化方法も、runおよびlevel値を可変長符号語に変換するために用い得る。算術符号化において、シンボルのグループ、例えば、量子化された変換係数のブロックについてのrunおよびlevel値は、単一の浮動小数点10進数として符号化される。シンボルのグループが単一の符号語を用いてエンコードされるエントロピー符号化へのこのアプローチは、各シンボルを独立して表す可変長符号化のような方法と比較して改善された圧縮効率につながり得る。算術符号化に関するさらなる詳細は、例えば、Vasudev Bhaskaran および Konstantinos Konstantinides“画像およびビデオ圧縮標準(Image and Video Compression Standards)”2nd Edition, Kluwer Academic Publishers, 1999, ISBN 0-7923-9952-8, Section 2.9 から見出し得る。
適切な方法を用いてrunおよびlevel値がひとたびエントロピー符号化されると、ビデオ多重コーダ170はさらに、それらの値を、当該情報の種類に適した可変長符号化方法を用いてやはりエントロピー符号化された制御情報と結合させて、符号化された画像情報135の単一の圧縮されたビットストリーム135を形成する。ビデオ多重コーダ170により実行される操作に関連してエントロピー符号化を説明してきたが、別の実施において別個のエントロピー符号化ユニットを設け得ることに注目しなければならない。
マクロブロックの局所的にデコードされたバージョンも、エンコーダ100中で形成される。これは、量子化器106により出力された各ブロックについての量子化された変換係数を、逆量子化器108を通して送り、逆DCT変換を逆変換ブロック110中で適用することによって行われる。このようにして、ピクセル値の再構成された配列が、マクロブロックの各ブロックについて構成される。その結果生じるデコードされた画像データは、結合器112に入力される。INTRA符号化モードにおいては、スイッチ114は、スイッチ114を介した結合器112への入力がゼロになるように設定される。このようにして、結合器112により実行される操作は、デコードされた画像データを未変更のまま送ることに等しい。
現在のフレームの以降のマクロブロックが受信され、前に説明されたエンコードおよび局所的デコードステップを、ブロック104、106、108、110、および112で受けるにつれて、INTRA符号化されたフレームのデコードされたバージョンがフレーム記憶装置120中に蓄積される。現在のフレームの最後のマクロブロックがINTRA符号化され、続いてデコードされた時、フレーム記憶装置120は、その後受信されるINTER符号化形式のビデオフレームを符号化する際に予測参照フレームとして使用するために利用可能な完全にデコードされたフレームを含んでいる。
INTER符号化モードでのエンコーダ100の動作を説明する。INTER符号化モードにおいて、コントロールマネージャー160は、結合器116の出力を含むその入力をライン117から受信するためにスイッチ102を操作する。結合器116は、入力101からマクロブロックごとにビデオ入力信号を受信する。マクロブロックを構成する輝度およびクロミナンス値のブロックを結合器116が受信するにつれて、結合器は対応する予測エラー情報ブロックを形成する。予測エラー情報は、当該ブロックと、動き補償予測ブロック150において作り出されたその予測との差分を表す。より具体的には、マクロブロックの各ブロックについての予測エラー情報は値の2次元配列を含み、値の各々は、符号化されている輝度またはクロミナンス情報のブロック中のピクセル値と、以下で説明される手順に従いそのブロックについての動き補償予測を形成することにより得られたデコードされたピクセル値との間の差分を表している。従って、各マクロブロックが、例えば、輝度およびクロミナンス値を含む4×4ブロックのアセンブリを含む状況において、マクロブロックの各ブロックについての予測エラー情報は、予測エラー値の4×4配列を同様に含んでいる。
マクロブロックの各ブロックについての予測エラー情報は、DCT変換ブロック104に送られ、このブロックが、予測エラー値の各ブロックに対して2次元離散コサイン変換を実行して各ブロックについてDCT変換係数の2次元配列を生成する。DCT変換ブロック104は、各予測エラーブロックについて係数値の配列を作り出し、係数値の数は、そのマクロブロックを構成しているブロックの性質に依存する。例えば、マクロブロックにおいて用いられる基本ブロックサイズが4×4であれば、DCT変換ブロック104は、各予測エラーブロックについてDCT係数の4×4配列を作り出す。ブロックサイズが8×8であれば、DCT係数の8×8配列が作り出される。
各予測エラーブロックについての変換係数は、量子化器106に送られ、そこで、INTRA符号化モードでのエンコーダの動作に関して上記で説明した方法と類似した方法で、量子化パラメータQPを用いて量子化される。やはり、量子化パラメータQPの選択は、コントロールライン115を介してコントロールマネージャー160により制御される。
マクロブロックの各ブロックについての予測エラー情報を表す量子化されたDCT係数は、図1のライン125により示されるように、量子化器106からビデオ多重コーダ170に送られる。INTRA符号化モードにおけるように、ビデオ多重コーダ170は、前に説明したジグザグスキャン手順(図4参照)を用いて各予測エラーブロックについての変換係数を順序付けし、次に、各非ゼロ量子化係数をlevelおよびrun値として表す。このコーダはさらに、INTRA符号化モードに関して上記で説明した方法と類似の方法で、エントロピー符号化を用いてrunおよびlevel値を圧縮する。ビデオ多重コーダ170は、ライン126を介して動き場符号化ブロック140から動きベクトル情報(以下で説明される)を、そしてコントロールマネージャー160から制御情報も受信する。このコーダは、動きベクトル情報および制御情報をエントロピー符号化し、エントロピー符号化された動きベクトル、予測エラーおよび制御情報を含む符号化された画像情報の単一ビットストリーム135を形成する。
マクロブロックの各ブロックについての予測エラー情報を表す量子化されたDCT係数も、量子化器106から逆量子化器108へ送られる。ここで、それらは逆量子化され、結果的に生じる逆量子化されたDCT係数のブロックが逆DCT変換ブロック110に適用され、そこで逆DCT変換を受けて予測エラー値の局所的にデコードされたブロックを作り出す。予測エラー値の局所的にデコードされたブロックは次に結合器112に入力される。INTER符号化モードにおいて、スイッチ114は、動き補償予測ブロック150により生成されるマクロブロックの各ブロックについての予測ピクセル値も結合器112が受信するように設定される。結合器112は、予測エラー値の局所的にデコードされたブロックの各々を、予測されたピクセル値の対応するブロックと結合して、再構成された画像ブロックを作り出してそれらをフレーム記憶装置120内に保存する。
ビデオ信号の以降のマクロブロックがビデオソースから受信され、前に説明されたエンコードおよびデコードステップをブロック104、106、108、110、112で受けるにつれて、フレームのデコードされたバージョンがフレーム記憶装置120中に蓄積される。フレームの最後のマクロブロックが処理された時、フレーム記憶装置120は、その後受信されるINTER符号化形式のビデオフレームをエンコードする際の予測参照フレームとして使用するために利用可能な完全にデコードされたフレームを含む。
現在のフレームのマクロブロックについての予測の形成を説明する。INTER符号化形式でエンコードされたどのようなフレームも、動き補償予測のための参照フレームを必要とする。このことは必然的に,ビデオシーケンスをエンコードする時、エンコードされる最初のフレームは、それがシーケンス中の最初のフレームであろうと他のフレームであろうと、INTRA符号化された形式でエンコードされなければならないことを意味している。このことは、ひいては、ビデオエンコーダ100がコントロールマネージャー160によりINTER符号化モードに切り替えられると、前にエンコードされたフレームを局所的にデコードすることによって形成された完全な参照フレームが、エンコーダのフレーム記憶装置120中ですでに利用可能であることを意味している。一般に、参照フレームは、INTRA符号化されたフレームかINTER符号化されたフレームを局所的にデコードすることによって形成される。
現在のフレームのマクロブロックについての予測形成における最初のステップは、動き推定ブロック130により実行される。動き推定ブロック130は、符号化されるフレームの現在のマクロブロックを構成する輝度およびクロミナンス値のブロックをライン128を介して受信する。動き推定ブロックは次に、現在のマクロブロックと実質的に一致す参照フレーム中の領域を識別するために、ブロックマッチング操作を実行する。ブロックマッチング操作を実行するために、動き推定ブロックは、フレーム記憶装置120中に保存された参照フレームデータにライン127を介してアクセスする。より具体的には、動き推定ブロック130は、検査中のマクロブロックと、フレーム記憶装置120中に保存された参照フレームからの最もマッチする候補ピクセル領域との間のピクセル値の差分を表す差分値(例えば、絶対差分の合計)を計算することによりブロックマッチングを実行する。参照フレームの所定調査領域内の考えられるすべてのオフセットにおける候補領域についての差分値が作り出され、動き推定ブロック130が最小の計算された差分値を決定する。現在のフレーム中のマクロブロックと、最小差分を生じる参照フレーム中のピクセル値の候補ブロックとの間のオフセットは、当該マクロブロックについての動きベクトルを定義する。
動き推定ブロック130がマクロブロックについての動きベクトルをひとたび作り出すと、このブロックは、動きベクトルを動き場符号化ブロック140に出力する。動き場符号化ブロック140は、基底関数および動き係数のセットを含む動きモデルを用いて、動き推定ブロック130から受信された動きベクトルを見積もる。より具体的には、動き場符号化ブロック140は、動きベクトルを、基底関数を掛けられた時に、動きベクトルの近似値を形成する動き係数値のセットとして表す。典型的には、2つの動き係数と基底関数のみを有する並進動きモデルが用いられるが、複雑性がより大きい動きモデルも用い得る。
動き係数は、動き場符号化ブロック140から動き補償予測ブロック150へ送られる。動き補償予測ブロック150は、動き推定ブロック130により識別されたピクセル値の最もマッチする候補領域もフレーム記憶装置120から受信する。動き場符号化ブロック140により生成された動きベクトルの近似表現と、参照フレームからのピクセルの最もマッチする候補領域のピクセル値とを用いて、動き補償予測ブロック150は、マクロブロックの各ブロックについての予測されたピクセル値の配列を生成する。予測されたピクセル値の各ブロックは結合器116へ送られ、そこで、予測されたピクセル値は、現在のマクロブロックの対応するブロック中の実際の(入力)ピクセル値から減じられる。このように、マクロブロックについての予測エラーブロックのセットが得られる。
図2に示されるビデオデコーダ200の動作を説明する。デコーダ200は、エンコードされたビデオビットストリーム135をエンコーダ100から受信しこれをその成分部分に多重分離するビデオ多重デコーダすなわちデマルチプレクサ270、逆量子化器210、逆DCT変換器220、動き補償予測ブロック240、フレーム記憶装置250、結合器230、コントロールマネージャー260、および出力280を含む。
コントロールマネージャー260は、INTRA符号化されたフレームかそれともINTER符号化されたフレームがデコードされているかに呼応して、デコーダ200の動作を制御する。デコーダをデコードモード間で切り替えさせるINTRA/INTERトリガ制御信号が、例えば、エンコーダから受信された各圧縮ビデオフレームのヘッダー部分中に提供されるピクチャタイプ情報から導き出される。INTRA/INTERトリガ制御信号は、エンコードされたビデオビットストリームからビデオ多重デコーダ270によって抽出され、コントロールライン215を介してコントロールマネージャー260に送られる。
INTRA符号化されたフレームのデコードは、マクロブロックごとに実行され、各マクロブロックは、それに関連するエンコードされた情報が受信されたビデオビットストリーム135中で受信されるとほぼ直ちにデコードされる。ビデオ多重デコーダ270は、当該マクロブロックに関連する考えられる制御情報から、マクロブロックのブロックについてのエンコードされた情報を分離する。INTRA符号化されたマクロブロックの各ブロックについてのエンコードされた情報は、ブロックの非ゼロ量子化DCT係数についてのエントロピー符号化されたlevelおよびrun値を表す可変長符号語を含む。ビデオ多重デコーダ270は、エンコーダ100において用いられるエンコード方法に対応する可変長デコード方法を用いて可変長符号語をデコードし、それによって、levelおよびrun値を復元する。次にこのデコーダは、マクロブロックの各ブロックについての量子化された変換係数値の配列を再構成し、それらを逆量子化器210に送る。マクロブロックに関連するどのような制御情報も、適切なデコード方法を用いてビデオ多重デコーダにおいてデコードされ、コントロールマネージャー260に送られる。特に、変換係数に適用される量子化レベルに関する情報が、エンコードされたビットストリームからビデオ多重デコーダ270によって抽出され、コントロールライン217を介してコントロールマネージャー260に供給される。そして今度は、このコントロールマネージャーが、この情報をコントロールライン218を介して逆量子化器210に送る。逆量子化器210は、制御情報に従ってマクロブロックの各ブロックについて量子化されたDCT係数を逆量子化し、今逆量子化されたDCT係数を逆DCT変換器220に供給する。
逆DCT変換器220は、マクロブロックの各ブロックについての逆量子化されたDCT係数に対して逆DCT変換を実行し、再構成されたピクセル値を含む画像情報のデコードされたブロックを形成する。INTRA符号化されたマクロブロックのエンコード/デコードにおいて動き補償予測が使用されないので、コントロールマネージャー260は、INTRA符号化されたマクロブロックのデコードにおいてどのような参照情報も使用されないように、結合器230を制御する。マクロブロックの各ブロックについての再構成されたピクセル値は、デコーダのビデオ出力280に送られ、そこで、例えば表示装置(図示せず)に供給し得る。マクロブロックの各ブロックについての再構成されたピクセル値はまた、フレーム記憶装置250中に保存し得る。INTRA符号化されたフレームのその後のマクロブロックがデコードおよび記憶されるにつれて、デコードされたフレームは、フレーム記憶装置250中で順次アセンブルされ、かくして、後に受信されたINTER符号化されたフレームのデコードに関連して、動き補償予測のための参照フレームとして使用するために利用可能になる。
INTER符号化されたフレームもマクロブロックごとにデコードされ、各INTER符号化されたマクロブロックは、それに関連するエンコードされた情報がビットストリーム135中で受信されるとほぼ直ちにデコードされる。ビデオ多重デコーダ270は、INTER符号化されたマクロブロックの各ブロックについてのエンコードされた予測エラー情報を、エンコードされた動きベクトル情報および当該マクロブロックに関連する考えられる制御情報から分離する。上記で説明したように、マクロブロックの各ブロックについてのエンコードされた予測エラー情報は、当該予測エラーブロックについての非ゼロ量子化変換係数についてのエントロピー符号化されたlevelおよびrun値を表す可変長符号語を含んでいる。ビデオ多重デコーダ270は、エンコーダ100において用いられる符号化方法に対応する可変長デコード方法を用いて可変長符号語をデコードし、それによって、levelおよびrun値を復元する。次にこのデコーダは、各予測エラーブロックについての量子化された変換係数値の配列を再構成し、それらを逆量子化器210に送る。INTER符号化されたマクロブロックに関する制御情報も、ビデオ多重デコーダにおいて270、適切なデコード方法を用いてデコードされ、コントロールマネージャー260に送られる。予測エラーブロックの変換係数に適用される量子化レベルに関する情報が、エンコードされたビットストリームから抽出され、コントロールライン217を介してコントロールマネージャー260に提供される。そして今度は、コントロールマネージャーは、この情報をコントロールライン218を介して逆量子化器210に送る。逆量子化器210は、制御情報に従ってマクロブロックの各ブロックについての予測エラー情報を表す量子化されたDCT係数を逆量子化し、今逆量子化されたDCT係数を逆DCT変換器220に供給する。次に、各ブロックについての予測エラー情報を表す逆量子化されたDCT係数は、逆DCT変換器220において逆変換されて、マクロブロックの各ブロックについての再構成された予測エラー値の配列を生成する。
マクロブロックに関連したエンコードされた動きベクトル情報は、エンコードされたビデオビットストリーム135からビデオ多重デコーダ270により抽出され、デコードされる。このようにして得られたデコードされた動きベクトル情報は、コントロールライン225を介して動き補償予測ブロック240に送られて、このブロックが、エンコーダ100においてINTER符号化されたマクロブロックをエンコードするために使用されたものと同じ動きモデルを用いてマクロブロックについての動きベクトルを再構成する。再構成された動きベクトルは、元々はエンコーダの動き推定ブロック130により決定される動きベクトルを見積もる。デコーダの動き補償予測ブロック240は、フレーム記憶装置250中に保存された予測参照フレーム中の再構成されたピクセルの領域の位置を特定するために、再構成された動きベクトルを用いる。参照フレームは、例えば、前にデコードされたINTRA符号化されたフレーム、あるいは前にデコードされたINTER符号化されたフレームとすることができる。どちらの場合も、再構成された動きベクトルにより示されるピクセルの範囲は、当該マクロブロックについての予測を形成するために使用される。より具体的には、動き補償予測ブロック240は、参照フレーム中で識別されたピクセルの範囲から対応するピクセル値をコピーすることにより、マクロブロックの各ブロックについてのピクセル値の配列を形成する。予測、すなわち参照フレームから導き出されたピクセル値のブロックは、動き補償予測ブロック240から結合器230へ送られ、そこで、デコードされた予測エラー情報と結合される。実際には、予測された各ブロックのピクセル値は、逆DCT変換器220により出力される対応する再構成された予測エラー値に加算される。このようにして、マクロブロックの各ブロックについての再構成されたピクセル値の配列が得られる。再構成されたピクセル値は、デコーダのビデオ出力280に送られて、またフレーム記憶装置250中に保存される。INTER符号化されたフレームのその後のマクロブロックがデコードされて保存されるにつれて、デコードされたフレームがフレーム記憶装置250中で順次アセンブルされ、このようにして、他のINTER符号化されたフレームの動き補償予測のための参照フレームとして使用するために利用可能になる。
可変長符号化(VLC)の手法を用いて、量子化された変換係数と関連付けられたrunおよびlevel値のエントロピー符号化を、実施例を用いてより詳細に試験する。上記で説明されたように、輝度/クロミナンスデータ(INTRA符号化モード)のブロックまたは予測エラーデータ(INTER符号化モード)を変換符号化および量子化することにより作り出された量子化された変換係数の2次元配列は最初に、順序付けられた1次元配列を形成するためにジグザグスキャン方式を用いてスキャンされる。係数値の4×4配列の場合の典型的なスキャン順序が図4に例示してある。ジグザグスキャン順序の厳密な性質における変形が可能であることが当業者に明白になるであろう。さらに、同様なジグザグスキャン方式は、4×4係数値以外の配列にも応用できる。
ジグザグスキャンスキャンの結果として作り出され順序付けられた1次元配列が試験され、各非ゼロ係数がrunおよびlevel値により表される。前に説明されたように、run値は、当該係数に先行する連続したゼロ係数の数を表す。run値は、従って、スキャンにおける非ゼロ係数の位置表示を提供する。level値は、係数の値である。ブロック終結(EOB)シンボルは、典型的には0に等しいlevel値であり、そのブロック中に非ゼロ係数がそれ以上ないことを表示するために用いられる。
別の方式では、各非ゼロ係数が3つの値(run,level,last)により表される。この表現においては、levelおよびrunパラメータは、前の段落で説明されたものと同じ目的を果たす。lastパラメータは、そのスキャン中に非ゼロ係数がそれ以上ないことを示す。係数のこの表現が用いられる場合、所定のブロックが符号化されその結果別個のEOBシンボルの必要が全くないことを示すために別個のシンタックス要素が用いられる。
エントロピー符号化の目的で、各(run,level)ペア(または(run,level,last)トリプレット)は典型的には単一シンボルとして取り扱われる。従って、VLC符号語は、別の考えられる(run,level)ペアに割り当てられる。一意の符号語も、EOBシンボルに割り当てられる。一般的に、考えられる(run,level)ペアとVLC符号語との間のマッピングは、エンコーダおよびデコーダ双方に知られている(例えば、その中に保存されている)固定ルックアップテーブルの形で実行される。VLC符号語は、シンボルを、デコーダに伝送される2進表現に変換するために用いられ、一意的にデコード可能になるように設計される。現実の問題として、このことは、どのVLC符号語も別の符号語のための接頭語になり得ないことを意味している。
表1は、説明したばかりのタイプのルックアップテーブルであり、特定の(run,level)ペアとVLC符号語との間の典型的なマッピングを示している。表1に提示される例において、EOBシンボルには最も短い符号語が割り当てられる。
図5は、INTRA符号化モードの画像ブロックまたはINTER符号化モードの予測エラー値のブロックについてビデオエンコーダ中で生成されるような量子化された変換係数の4×4配列の例を示している。図4に示されるジグザグスキャン方式を適用した後、このようにして作り出された量子化された係数の順序付けられた1次元シーケンスは、以下の要素を有している:
0,1,2,0,0,0,-1,0,0,0,0,0,0,0,0,0
0,1,2,0,0,0,-1,0,0,0,0,0,0,0,0,0
このシーケンスはさらに、EOBシンボルにより終端された(run,level)ペアの以下のセットとして表現され得る:
(1,1),(0,2),(3,-1),EOB
(1,1),(0,2),(3,-1),EOB
表1に与えられる(run,level)ペアとVLC符号語との間のマッピングを適用すると、以下のシーケンスビットが生成される:
00001|0000001|0001011|1
00001|0000001|0001011|1
上記で言及されたように、これは、エンコーダからデコーダへビットストリーム中で送られる量子化された変換係数の2進表現である。ビットストリームを正しくデコードするために、デコーダは、VLC符号語と(run,level)ペアとの間のマッピングを認識している。言い換えれば、エンコーダおよびデコーダ双方は、VLC符号語の同じセットおよびVLC符号語へのシンボルの同じ割り当てを用いる。
可変長符号化によって提供される圧縮を最大化するためには、符号化されるデータ中で最も頻繁に生じるシンボルは、最も短いVLC符号語を割り当てられるべきである。しかしながら、画像符号化において、種々の変換係数の発生頻度(すなわち、確率)従って種々の(run,level)ペアの確率は、画像コンテンツおよびエンコード化された画像のタイプによって変わる。従って、可変長符号語の単一セットが用いられ、エンコード/デコードされるデータシンボルとVLCとの間の単一マッピングのみが提供されるのであれば、一般に、最適符号化効率は達成できない。
この問題に対する1つの解決策は、可変長符号語および種々のデータシンボルへのそれらの割り当てをビットストリームの一部として伝送することである。この可能性は、Joint Photographic Experts Groupにより開発され、一般にJPEG画像符号化標準と呼ばれる国際静止画圧縮標準ISO/IEC 10918−1“連続階調静止画のデジタル圧縮および符号化(Digital Compression and Coding of Continuous-Tone Still Images)”/ITU−T勧告T.81中に含まれている。もしこのオプションが利用されれば、種々のデータシンボルの確率、例えば種々の(run,level)ペアの確率が、符号化される各画像について計算される。次にこの情報は、VLC符号語を作り出し、データシンボルと符号語との間のマッピングを定義するために用いられる。符号語およびマッピング情報は、例えば、所定の画像について圧縮されたファイル中に含まれ、エンコーダからデコーダへビットストリーム中で伝送される。この解決策は、符号語および符号語とデータシンボルとの間のマッピングが、符号化される画像の性質/内容に適応できる方法で構成されることを可能にする。このようにして、もし固定符号語およびマッピングが用いられたら得られるであろうレベルを一般に超えるデータ圧縮レベルが達成できる。しかしながら、このアプローチにはいくつかの技術的短所があり、この短所によってこのアプローチはビデオ分野での使用に適さない。より具体的には、画像データのいずれかがエンコードおよび伝送され得る前に、各画像、またはその各部分が前処理を必要とするので、かなりの遅延が生じる。さらに、可変長符号語およびデータシンボルへのそれらの割り当てについての情報を特定するために多くのビットが必要とされる。加えて、エラー耐性が大きな問題である。符号語、または符号語とデータシンボルとの間のマッピングに関する情報が失われるか、デコーダにおけるエラー訂正を経た後に残留エラーを有していれば、エンコードされた画像データを含むビットストリームは正しくデコードできない。
適応VLC符号化として知られている、可変長符号化により提供されたデータ圧縮の改善を目的とする代替手法においては、当初のVLCコードおよびマッピングが、アプリオリシンボル確率推定値に基づいてエンコーダおよびデコーダ双方において計算される。画像符号化アプリケーションにおいて、これらの確率推定値は、事前に、例えば、エンコードおよび伝送される画像を表現/代表するいわゆる‘トレーニング’画像のデータベースを用いて計算できる。その後、さらなるエンコードされたデータシンボルが送られると、シンボル確率推定値はエンコーダおよびデコーダにおいて更新される。更新された確率推定値を用いて、エンコーダおよびデコーダはVLC符号語およびそれらの割り当てを再計算する。この再計算は、非常に頻繁に、例えば、新しいシンボルを受信するたびに実行できる。この方法の主な欠点は、計算の複雑性が高いこと(特に、確率推定値が非常に頻繁に再計算される場合)およびエラー耐性に乏しいことである。1つのシンボルの不正確なデコードが、エンコーダおよびデコーダシンボル計数の間の不一致を引き起こし、エンコーダおよびデコーダ中に設計されたVLCコードがその時点以降異なる。このことは、確率計数が頻繁な間隔でリセットされるべきであることを意味しており、この方法を用いて達成された符号化効率はこれにより低下する傾向がある。
前に言及されたように、最近のビデオ符号化システムは複数のエントロピー符号化方法を一般に提供する。例えば、G. Bjontegaard, “H.26L Test Model Long Term Number 8 (TML-8) draft0”, VCEG-N10, June 2001, section 5に記載されるようなITU−T勧告H.26Lは、エントロピー符号化の2つの代替的方法/モードを提供する。デフォルトである第1の方法は、可変長符号化に基づくものであり、他方は、コンテキストベース2進計算符号化(略してCABAC)として知られている算術符号化の1形態である。
H.26Lの可変長符号化モードは、VLC符号語およびデータシンボルへのそれらの割り当てを規定するいくつかのテーブルを提供する。エンコーダにおいて、使用するために選択される特定のテーブルは、エンコードおよび伝送される情報のタイプに依存する。例えば、種々のタイプの符号化された画像ブロック(例えば、INTRA符号化(I)またはINTER符号化(P)タイプブロック)、カラーモデル(輝度またはクロミナンス成分)の種々の成分または量子化パラメータ(QP)の種々の値に関連付けられたデータシンボル(例えば、(run,level)ペア)の符号化のために別個のVLCルックアップテーブルが提供される。このアプローチは、計算の複雑性と圧縮効率との間の良好なトレードオフをもたらす。しかしながら、その性能は、テーブルを切り替えるために用いられるパラメータが、データシンボルの統計的特性をどれほどうまく特徴付けるかによる。
H.26Lのコンテキストベース2進算術符号化モードは、算術符号化の本来的に適応性の性質を利用し、デフォルトのVLC符号化モードと比較して改善された圧縮効率を一般に提供する。しかしながら、このモードは、計算の複雑性が比較的高く、エラーが生じやすい環境での使用は問題となる。具体的には、伝送エラーが符号語の一部の不正確なデコードを引き起こす場合に生じ得るエンコーダとデコーダとの間の同期損失に関連する技術的欠点をこのモードは被る。さらに、シンボルデコードに要する時間が総デコード時間の大部分を占める場合、H.26L勧告中で採用されるCABAC方法の計算の複雑性は、デコーダ側で特に高い。
算術符号化と関連した高い計算の複雑性および伝送エラーに対する敏感さという固有の問題のため、可変長符号化は依然として、ビデオ符号化システムにおいて使用するためのエントロピー符号化の強力かつ効率的な方法と見なされている。しかしながら、高度のデータ圧縮が一貫して達成できるように符号化されるデータシンボルのタイプおよび統計的特性へのVLC符号化方式の適応性を改善する要望および必要が依然としてある。計算の複雑性または伝送エラーに対する敏感さの大きな増大を引き起こすことなく改善された適応性および圧縮効率が達成される方法に関する技術的問題がこれにより引き起こされる。
Vasudev Bhaskaran および Konstantinos Konstantinides"画像およびビデオ圧縮標準(Image and Video Compression Standards)"2nd Edition, Kluwer Academic Publishers, 1999, ISBN 0-7923-9952-8
国際静止画圧縮標準ISO/IEC 10918−1"連続階調静止画のデジタル圧縮および符号化(Digital Compression and Coding of Continuous-Tone Still Images)"/ITU−T勧告T.81
G. Bjontegaard, "H.26L Test Model Long Term Number 8 (TML-8) draft0", VCEG-N10, June 2001
本発明による方法は、低い計算の複雑性および良好なエラー耐性を維持しつつ、符号化されるデータシンボルのタイプおよび統計的特性への可変長符号化方法の適応性を改善することに関する前述の問題を対処しようとするものである。
一般的に言えば、本発明は、VLC符号化されるデータシンボルのセットが、第1の値を有する特定の第1の数のデータシンボルおよび第1の値以外の値を有する特定の第2の数のデータシンボルを含みデータシンボルのセットに適用される可変長符号化の少なくとも1つの特性が第1の値以外の値を有するデータシンボルの数に従って変更または適応されるどのような状況においても適用し得る。より具体的には、本発明による方法は、(run,level)ペアの形で表現されるデータシンボルをエンコードするために可変長符号化を用いる場合に適用し得る。この場合、エンコード/デコードされるデータシンボルのセットは、特定の数の非ゼロ値データシンボルおよび特定の数のゼロ値データシンボルを含み、その内の非ゼロ値データシンボルが(run,level)の形で表わされる。本発明により、非ゼロ値データシンボルの数、(run,level)ペアを表すために用いられる符号語および(run,level)ペアと符号語との間のマッピングの間の関係が確立される。
(run,level)ペアとして表されるデータシンボルのVLC符号化またはエンコードされるデータシンボルのセットのどのような等価表現にも本発明による方法が一般に適用できることを当業者は理解するであろう。本発明による方法の実際的な実行においては、複数のVLCルックアップテーブルが提供され、第1の値以外の値(例えば、非ゼロ値データシンボルの数)を有するセット内のデータシンボルの数に依存するデータシンボルのセットをエンコード/デコードするために特定のルックアップテーブルが選択される。
本発明による方法についての動機は、(例えば、ビデオエンコーダにおいて)画像データから導き出された量子化された変換係数がランレングス符号化される場合に生成されるrunおよびlevel値の観察された統計的特性に起因する。より具体的には、非ゼロ値量子化変換係数の数が小さい場合、比較的高いrun値および小さいlevel(大きさ/絶対値)値を有する(run,level)ペアがより確率が大きいことが注目され得る。反対に、非ゼロ値係数の数が大きい場合、小さいrun値および高いlevel値を有する(run,level)ペアがより大きい確率を有している。従って、(run,level)ペアの統計的特性における明確な差は、これらの2つの状況の中に存在し、符号化効率(圧縮)に関してはこの差を考慮するために、種々のVLC符号語および/またはデータシンボルとVLC符号語との間のマッピングを用いることが有利である。
本発明の第1の局面によると、第1の値を有する特定の第1の数のデータシンボルおよび前記第1の値以外の値を有する特定の第2の数のデータシンボルを含むデータシンボルのセットを可変長符号化する方法が提供される。この方法によると、データシンボルに適用される可変長符号化の少なくとも1つの特性が、第1の値以外の値を有する第2の数のデータシンボルに応じて適応させられる。
好ましくは、第1の値はゼロであり、その結果、データシンボルのセットは、特定の第1の数のゼロ値データシンボルおよび特定の第2の数の非ゼロ値データシンボルを含む。
好ましくは、この方法は、非ゼロ値データシンボルの値を示す第1の値および非ゼロ値データシンボルに先行または続くゼロ値データシンボルの数を示す第2の値をデータシンボルのセットを表す第1および第2の値のセットを形成するように含む値のペアにより、第1の数の非ゼロ値データシンボルの各々を表すことを含む。有利には、この操作は、第1および第2の値のペアのセットの各ペアが、データシンボルのセットを表すエンコードされた値のセットを形成するように符号語に割り当てられるマッピング操作を実行することを伴い、符号語は、マッピング操作において用いられる場合に前記データシンボルのセットを表すために必要とされる情報量の低減をもたらすように設計された符号語のセットから選択される。本発明の方法によると、マッピング操作は、データシンボルのセット中の非ゼロ値データシンボルの数に基づいて符号語が設計される少なくとも1つの符号語のセットを用いて実行される。
有利には、符号語とデータシンボルとの間のマッピングも、前記データシンボルのセット中の非ゼロ値データシンボルの数に依存する。
有利には、マッピング操作は、第1および第2の値のペアの符号語への割り当てを定義する割り当てテーブルを用いて実行される。
好ましくは、マッピング操作は、選択可能な割り当てテーブルのセットのうちの1つを選択し、選択された割り当てテーブルにより定義されたマッピングに従って第1および第2の値の前記ペアの各々を符号語に割り当てることにより実行される。
有利には、割り当てテーブルは、データシンボルのセットの別の特性に基づいても選択され得る。有利には、他の特性は量子化パラメータの値である。
好ましくは、割り当てテーブルは、データシンボルのセット中の非ゼロ値データシンボルの数に基づいて選択される。
有利には、データシンボルのセットは、量子化された変換係数値のセットである。
好ましくは、本発明による可変長符号化方法は、エンコード装置において実行される。本発明の1つの実施の形態においては、エンコード装置はビデオエンコーダである。有利には、エンコード装置は移動通信装置中に実装される。
有利には、本発明による方法は、データシンボルのセットを表わすエンコードされた値のセットをデコードするステップも含む。
好ましくは、デコードステップは、エンコードされた値の前記セットを形成する各符号語が第1および第2の値のセットの内の特定のものを識別するために使われる逆マッピング操作を実行することを含む。
好ましくは、逆マッピング操作は、第1および第2の値のペアの符号語への割り当てを定義する割り当てテーブルを用いて実行される。
さらに好ましくは、逆マッピング操作は、選択可能な割り当てテーブルのセットの内の1つを選択することおよび選択された割り当てテーブルにより定義された割り当てに従って第1および第2の値のペアのセットの内の特定のものを識別することによって実行される。
有利には、前記データシンボルのセット中の非ゼロ値データシンボルの数を示す値が、エンコードされた値のセットをデコードする際に用いられる選択可能な割り当てテーブルの内の1つを選択するために用いられる。
代わりに、データシンボルのセット中のゼロ値データシンボルの数を示す値が、エンコードされた値のセットをデコードする際に用いられる選択可能な割り当てテーブルの内の1つを選択するために用いられる。
有利には、デコードステップは、第1および第2の値のペアのセットからデータシンボルのセットを再構成することをさらに含む。
好ましくは、デコードステップはデコード装置中で実行される。本発明の1つの実施の形態においては、デコード装置はビデオデコーダである。有利には、デコード装置は移動通信装置に実装される。
好ましくは、データシンボルのセット中の非ゼロ値データシンボルの前記数を示す値が、エンコード装置からデコード装置へ伝送される。代わりに、データシンボルのセット中のゼロ値データシンボルの数を示す値が、エンコード装置からデコード装置へ伝送される。
本発明の第2の局面によると、第1の値を有する特定の第1の数のデータシンボルおよび前記第1の値以外の値を有する特定の第2の数のデータシンボルを含むデータシンボルのセットを可変長符号化するためのエンコーダが提供される。本発明によると、このエンコーダは、データシンボルの第2の数に従ってデータシンボルに適用される可変長符号化の少なくとも1つの特性を適応させるように構成される。
本発明の第3の局面によると、第1の値を有する特定の第1の数のデータシンボルおよび前記第1の値以外の値を有する特定の第2の数のデータシンボルを含むデータシンボルのセットを表す可変長符号語を可変長デコードするためのデコーダが提供される。本発明によると、このデコーダは、前記データシンボルのセット中のデータシンボルの第2の数の表示に従って可変長符号語に適用される可変長デコードの少なくとも1つの特性を適応させるように構成される。
より正確に言えば、本発明によるエンコード方法は第一に、可変長エンコードされるシンボルのセットに適用される可変長エンコードの少なくとも1つの特性が、可変長エンコードされるシンボルの数に従って適応させられることを特徴とする。本発明によるデコード方法は第一に、可変長符号語に適用されるデコードの少なくとも1つの特性が、可変長エンコードされた前記シンボルのセット中のシンボルの数の表示に従って適応されられることを特徴とする。本発明によるエンコーダは第一に、可変長エンコードされるシンボルの数に従って可変長エンコードされるシンボルのセットに適用される可変長エンコードの少なくとも1つの特性を適応させるように構成されることを特徴とする。本発明によるデコーダは第一に、可変長エンコードされた前記シンボルのセット中のシンボルの数の表示に従って可変長符号語に適用されるデコードの少なくとも1つの特性を適応させるように構成されることを特徴とする。
本発明の実施の形態を、添付図面を参照して実施例により説明する。
以下の本発明の詳細な説明において、本発明による方法の代表的な実施の形態が提示される。代表的な実施の形態は、ビデオエンコーダにおけるブロックベース変換符号化の結果として作り出された非ゼロ値変換係数を表す(run,level)ペアの可変長符号化ならびに対応するビデオデコーダにおけるそれらのその後のデコードに関する。しかしながら、本発明による可変長エンコードおよびデコード方法が、符号化される他のタイプのデータにより一般的に適用し得ることが認識されるべきである。
図6は、本発明のこの実施の形態による方法が適用できるビデオエンコーダ600の概略ブロック図である。図6に示されるビデオエンコーダの構造は、図1に示される先行技術のビデオエンコーダの構造と実質的に同一であり、可変長符号化操作を実行するエンコーダの部分が適宜修正されている。以前に説明された先行技術のビデオエンコーダと同一の方法で機能を実装し動作するビデオエンコーダのすべての部分は、同一の参照番号により識別される。この説明において、すべての可変長符号化操作はビデオ多重コーダ670において実行されると想定される。しかしながら、本発明の代わりの実施の形態においては、別個の1つ以上の可変長符号化ユニットを設け得ることが認識されるべきである。本発明による方法が、ビデオエンコーダにより作り出されたデータシンボルのいくつか(例えば、非ゼロ値変換係数に関連付けられた(run,level)ペア)に適用できることおよび他のデータシンボルをエンコードするために他のVLC符号化方法を用い得ることが注目されるべきである。
ビデオエンコーダ600の動作を詳細に検討する。デジタルビデオのフレームをエンコードする場合、エンコーダ600は、以前に図1に関連して記載された方法と同様な方法で動作して、INTRA符号化およびINTER符号化された圧縮ビデオフレームを生成する。本文中で以前に説明されたように、INTRA符号化モードにおいては、対応する変換係数値の2次元配列を作り出すために、離散コサイン変換(DCT)が画像データの各ブロック(ピクセル値)に適用される。DCT操作は変換ブロック104において実行され、このようにして作り出された係数はその後量子化器106へ送られ、そこで量子化される。INTER符号化モードにおいては、ブロック104において実行されたDCT変換は、予測エラー値のブロックに適用される。この操作の結果作り出された変換係数も量子化器106へ送られ、そこで量子化される。INTER符号化されたフレームは、INTRA符号化された画像ブロックを含み得る。ある状況下では、変換符号化は、特定の画像ブロックに適用されない。例えば、INTRA予測がINTRA符号化モードで用いられると、以前にエンコードされた1つ以上の画像ブロックからいくつかの画像ブロックがエンコーダ中で予測される。この場合、エンコーダは、予測において用いられる以前のブロックの表示をデコーダに提供し、どのような変換係数データも出力しない。INTER符号化モードでは、特定ブロックについての予測とそのブロック自体の画像データとの間の差が非常に小さいことがあるので、データ圧縮比の観点からどのような予測エラー情報も伝送しないのが有利である。
この実施の形態によると、本発明による方法は、変換符号化およびその後の変換係数量子化を受ける画像ブロックに適用される。ビデオ多重コーダ670は、量子化された変換係数のブロック(2次元配列)を受信すると、その配列中の非ゼロ値係数の数を決定する。この数はビットストリーム635でデコーダへ伝送される。この数は、それ自体で伝送されるか、または、伝送前に何らかの形のVLC符号化を用いてエンコードされ得る。
ビデオ多重コーダ670は次に、非ゼロ値係数を(run,level)ペアとして表す。これは、先行技術により周知の方法で行うことができる。より具体的には、量子化された変換係数の2次元配列が最初に、図4に示されるような既定のスキャン順序を用いてスキャンされ、順序付けられた1次元配列を作り出す。順序付けられた1次元配列中の各非ゼロ計数値は次に、run値およびlevel値により表され、そこでは、level値は計数の値を表し、run値は非ゼロ値計数に先行する連続したゼロ値計数の数を表す。前に記載された先行技術のランレングス符号化方法とは異なり、本発明の方法によると、EOBシンボルは伝送される必要がない。本発明の方法によると、非ゼロ値量子化変換係数の数がデコーダ対して明示的に示されるので、EOBシンボルを伝送しない可能性が生じる。従って、所定の画像について(run,level)ペアをデコードする場合、デコーダは、デコードされたペアの数を計数できる。デコードされたペアの数(非ゼロ値係数の数に対応する)が、デコーダに対し示された非ゼロ値係数の数に達すると、当該ブロックについてのデコードを停止することができる。
ビデオ多重コーダ670は次に、単一VLC符号語が各(run,level)ペアに割り当てられるように、runおよびlevel値に可変長符号化を適用する。本発明によると、VLC符号化は、エンコーダ600中に保存された可変長符号化(ルックアップ)テーブルのセットの内の1つを選択することによって実行される。符号化テーブルの各々は、符号語と画像ブロックについての量子化された変換係数データにおいて生じ得る(run,level)ペアの考えられる値との間のマッピングだけでなく、可変長符号語のセットも定義する。本発明によると、ビデオ多重コーダ670は、符号化されている画像ブロックのための量子化された変換係数の配列中の非ゼロ値係数の数に従って使用するために符号化テーブルを選択する。選択されたルックアップテーブル中で定義されるマッピングを用いて、ビデオ多重コーダは、符号語を各(run,level)ペアに割り当て、符号語をビットストリーム635でデコーダへ伝送する。
種々のVLC符号化テーブルの数は本発明の種々の実施の形態において変わり得る。本発明の1つの実施の形態においては、非ゼロ値量子化変換係数の各考えられる数について別個のルックアップテーブルが提供される。符号語および(run,level)ペアとテーブルの各々についての符号語との間のマッピングは、指定された数の非ゼロ値係数を有する量子化された変換係数値の配列から導かれた(run,level)ペアのセットに適用される場合に最適なデータ圧縮を提供するように設計されている。非ゼロ値量子化変換係数の数に関しての(run,level)ペアの統計的特性の変動についての情報は、経験的に、例えば、いくつかのテスト(‘トレーニング’)画像またはビデオシーケンスをあらかじめ符号化することによって得ることができる。次にVLC符号語および符号語間のマッピングを、エンコーダ中の1つ以上のルックアップテーブルとして設計および保存できる。
好ましい実施の形態においては、4×4画像ブロックから導かれた(run,level)ペアの符号化において用いるために、ただ2つのVLC符号化テーブルが提供され、1つは、非ゼロ値量子化変換係数の数が8以下の場合に用いられるものであり、1つは、非ゼロ値量子化変換係数の数が8を超える場合に用いられるものである。表2および3は、本発明のこの実施の形態における(run,level)ペアの様々な確率分布を例示している。統計データは、現行のITU−T勧告H.26Lのテストモデル8(TML8)に従って実装されたビデオエンコーダを用いて収集され、INTER符号化された画像ブロックに関連する。これらの表中で、最も確率の高いペアは、数1が割り当てられ、2番目に確率の高いペアには数2が割り当てられ以下同様である。最初の15個の最も確率の高いペアが列挙してある。
本発明の別の実施の形態においては、符号化効率は、伝送されるシンボルのタイプを変更することにより改善できる。量子化された変換係数を(run,level)ペアとして表す代わりに、これらは(level,last)ペアにより表され、VLC符号語が(level,last)ペアの各々に割り当てられる。(level,last)ペアのlevelは、係数の値を表しているが、以前に記載された(run,level)ペアとは異なって、値0を取ることができる。lastパラメータは、そのブロック中に非ゼロ値係数がもはやないことを示すために用いられる。例えば、このパラメータは、特定の係数のlevel値がゼロでありすべての後続の係数値がゼロである場合にlastは1に等しく設定されるバイナリフラッグとして用いることができる。量子化された変換係数のこの代替表現は、特にINTRA符号化されたブロックについてそして小さいQP値が用いられる状況において、符号化効率(データ圧縮)の改善を提供できる。
本発明の別の代わりの実施の形態においては、VLC符号語の固定セットが用いられそして符号語とエンコードされる(run,level)ペアとの間のマッピングのみが非ゼロ値係数の数に基づいて変化する。
本発明のさらなる代わりの実施の形態においては、特定の画像ブロックについて選択されたVLC符号化テーブルは、画像ブロックの変換係数を量子化するために用いられる量子化パラメータ(QP)の値あるいはフレームまたは画像ブロックのタイプ(INTRA/INTER)のような他のパラメータにも依存し得る。この場合、量子化された変換係数の特定配列についてのVLC符号化テーブルの選択は、非ゼロ値係数の数および他のパラメータの値の両方に依存する。
本発明のさらに別の代わりの実施の形態では、ゼロ値量子化変換係数値の数が決定されてパラメータとして用いられ、このパラメータに従って、VLC符号語および符号語とデータシンボルとの間のマッピングが設計され、VLCルックアップテーブルが選択される。
本発明の実施の形態によるビデオデコーダ700の動作を、図7に関連して説明する。図7に例示されるビデオデコーダの構造は、図2に示された先行技術のビデオデコーダの構造と実質的に同一であり、可変長デコード操作を実行するデコーダの部分が適宜修正されている。以前に説明された先行技術のビデオデコーダと同一の方法で機能を実装し動作するビデオデコーダのすべての部分は、同一の参照番号により識別される。以下の説明において、すべての可変長デコード操作はビデオ多重デコーダ770中で実行されると想定される。しかしながら、本発明の代わりの実施の形態においては、別個の1つ以上の可変長デコードユニットを設け得ることが認識されるべきである。
ビデオデコーダの動作を詳細に説明する。ここでは、図7のビデオデコーダが、図6に関連して記載されたエンコーダに対応しており従ってエンコーダ600により伝送されたビットストリーム635を受信およびデコードできると想定される。このデコーダにおいて、ビットストリームは受信され、ビデオ多重デコーダ770によってその構成部分に分離される。先行技術の以前の説明に関連して説明されたように、ビットストリームから抽出された圧縮されたビデオデータがマクロブロックごとに処理される。INTRA符号化されたマクロブロックについての圧縮されたビデオデータは、マクロブロックの各ブロックについてのVLC符号化された(run,level)ペアを表わす可変長符号語を、エンコードされた(例えば、量子化パラメータQPに関する)制御情報と共に含む。INTER符号化されたマクロブロックについての圧縮されたビデオデータは、各ブロックについてのVLCエンコードされた予測エラー情報、マクロブロックについての動きベクトル情報およびエンコードされた制御情報を含む。
INTRA符号化されたマクロブロックの各ブロックについてのVLC符号化された(run,level)ペアおよびINTER符号化されたマクロブロックと関連付けられた予測エラーデータの各ブロックについてのVLC符号化された(run,level)ペアは、同一の方式でデコードされる。より具体的には、INTRAまたはINTER符号化された画像ブロックについてのVLC符号化された(run,level)ペアをデコードする時に、ビデオ多重デコーダ770は最初に、そのブロック中の非ゼロ値量子化変換係数の数を決定する。以前に説明されたように、非ゼロ値量子化変換係数の数に関連する情報が、エンコーダ600によりビットストリーム635中に挿入される。デコーダ700は、受信されたビットストリームからこの情報を抽出する。非ゼロ値量子化変換係数の数に関連する情報自体がVLC符号化されていれば、ビデオ多重デコーダ770は、情報を回復するために適切な可変長デコード操作を実行する。
非ゼロ値量子化変換係数の数がひとたび決定されると、ビデオ多重デコーダ770は、ブロック中の非ゼロ値量子化変換係数の数に従って、可変長デコードテーブルを選択する。デコードテーブルは、エンコーダにおいて用いられたものと同一のルックアップテーブルのセットから選択される。デコードテーブルはあらかじめデコーダ中に保存されており、ビットストリーム635中で受信されたVLC符号語と画像ブロックについての量子化された変換係数データ中に生じ得る(run,level)ペアの考えられる値との間のマッピングを定義する。非ゼロ値量子化変換係数の数に従ってテーブルを選択すると、ビデオ多重デコーダ770は、選択されたルックアップテーブル中で定義されたマッピングを用いてrunおよびlevel値を回復する。次にビデオ多重デコーダは、ブロックについての量子化された変換係数値を再構成し、それらを逆量子化器210へ渡す。再構成されたピクセル値が各画像ブロックについて形成されるビデオデコード手順の残りは、先行技術のビデオデコーダ200に関連して記載されたように進行する。
以前に記載された先行技術のVLC符号化方法と比較して、本発明による方法は大きな利点を提供することが認識されるべきである。特に、本発明による方法は、比較的低い計算の複雑性および高い伝送エラー耐性を維持しつつ、エンコード/デコードされるデータシンボルの統計的特性に適応できる可変長エンコードおよびデコードの方法を提供する。この方法の適応性は、種々の多くの非ゼロ値量子化変換係数を有する画像ブロックについての種々の可変長符号語および/またはマッピングの使用から来ている。種々の符号語および/またはマッピングをルックアップテーブルとしてエンコーダおよびデコーダ中に提供することにより、計算の複雑性は低く保たれる。このことも、データ通信エラーの受けやすさの低減に役立っており、これは所定の画像ブロックについて用いられる特定のルックアップテーブルが、ブロック中の非ゼロ値変換係数の数を示す値によってデコーダに知らされるからである。
図8は、本発明に従って動作するように適応させ得るビデオエンコードおよびデコード装置を含む端末装置を提示している。より正確には、この図は、ITU−T勧告H.324に従って実装されるマルチメディア端末80を例示している。この端末は、マルチメディアトランシーバー装置と見なすことができる。この端末は、通信網を介した伝送のためのマルチメディアデータストリームを取り込み、エンコードおよび多重化する要素ならびに、受信されたマルチメディアコンテンツを受信、多重分離および表示する要素を含んでいる。ITU−T勧告H.324は、端末の全体的な動作を定義し、その様々な構成部品の動作を管轄する他の勧告を参照している。この種類のマルチメディア端末は、会話式テレビ電話のようなリアルタイム用途、または、例えばインターネット中のマルチメディアコンテンツサーバーからのビデオクリップの取得および/またはストリーミングのような非リアルタイム用途において用いることができる。
本発明の文脈において、図8に示されるH.324端末は、本発明の方法に適した多くの代替マルチメディア端末実装の1つにすぎないことが認識されるべきである。端末装置の位置および実装に関連して多くの選択肢が存在することも注目されるべきである。図8に例示されるように、マルチメディア端末は、アナログPSTN(公衆交換電話網)のような固定回線電話網に接続された通信装置中に置くことができる。この場合、マルチメディア端末は、ITU−T勧告V.8、V.34および任意にV.8bis準拠のモデム91を備えている。代わりに、マルチメディア端末は外部のモデムと接続できる。モデムは、マルチメディア端末により作り出された多重化デジタルデータおよび制御信号をPSTN上での伝送に適したアナログ形式に変換することを可能にする。モデムはさらに、マルチメディア端末がPSTNからアナログ形式のデータおよび制御信号を受信することならびにそれらを端末により適切な方法で多重分離および処理され得るデジタルデータストリームに変換することを可能にする。
H.324マルチメディア端末は、ISDN(統合サービスデジタル網)のようなデジタル固定回線網に直接接続されるような方法でも実現し得る。この場合、モデム91は、ISDNユーザーネットワークインタフェースと置き換えられる。図8では、このISDNユーザーネットワークインタフェースは代替ブロック92により表されている。
H.324マルチメディア端末は、移動通信分野用にも適応させ得る。ワイヤレス通信リンクと共に用いられれば、モデム91は、図8の代替ブロック93により表されるように、任意の適切なワイヤレスインタフェースと置き換え得る。例えば、H.324/Mマルチメディア端末は、現行第2世代GSM移動電話網、または提案されている第3世代UMTS(汎用移動電話システム)への接続を可能にする無線トランシーバを含むことができる。
ビデオデータの両方向通信用、すなわち伝送および受信用に設計されているマルチメディア端末において、本発明に従って実現されたビデオエンコーダおよびビデオデコーダの両方を提供することが有利であることに注目しなければならない。そのようなエンコーダおよびデコーダのペアは、'コーデック'と呼ばれる単一の結合された機能ユニットとして実装されることがよくある。
典型的なH.324マルチメディア端末を、図8に関連してより詳細に説明する。
マルチメディア端末80は、‘端末装置’と呼ばれる各種の要素を含んでいる。これには、参照番号81、82および83によってそれぞれ総称して示されるビデオ、オーディオおよびテレマティック装置が含まれる。ビデオ装置81は、例えば、ビデオ画像を取り込むためのビデオカメラ、受信されたビデオコンテンツを表示するためのモニタおよび任意のビデオ処理装置を含み得る。オーディオ装置82は、例えば口頭のメッセージを取り込むためのマイク、および受信されたオーディオコンテンツを再生するためのスピーカーを一般に含んでいる。オーディオ装置は、付加的なオーディオ処理ユニットも含み得る。テレマティック装置83は、データ端末、キーボード、電子ホワイトボードまたはファックスユニットのような静止画像トランシーバを含み得る。
ビデオ装置81は、ビデオコーデック85に連結されている。ビデオコーデック85は、どちらも本発明に従って実装されたビデオエンコーダおよび対応するビデオデコーダを含んでいる。そのようなエンコーダおよびデコーダを以下で説明する。ビデオコーデック85は、取り込まれたビデオデータをその後の通信リンク上での伝送のために適切な形式でエンコードすることおよび通信ネットワークから受信された圧縮されたビデオコンテンツをデコードすることを担当する。図8において例示される例においては、ビデオコーデックは、ビデオコーデックのエンコーダおよびデコーダ両方において本発明による適応可変長符号化方法を実現するための適切な修正により、ITU−T勧告H.26Lに従って実現される。
端末のオーディオ装置は、図8において参照番号86により示されるオーディオコーデックに連結されている。ビデオコーデックと同じように、オーディオコーデックはエンコーダ/デコーダペアを含んでいる。オーディオコーデックは、端末のオーディオ装置によって取り込まれたオーディオデータを、通信リンク上での伝送に適した形式に変換し、ネットワークから受信されたエンコードされたオーディオデータを、例えば端末のスピーカーでの再生に適した形式に変える。オーディオコーデックの出力は、遅延ブロック87に渡される。このブロックは、ビデオ符号化プロセスによって生じた遅延を補償し、こうしてオーディオコンテンツとビデオコンテンツとの同期を保証する。
マルチメディア端末のシステム制御ブロック84は、伝送端末と受信端末との間の共通動作モードを設定するための適切な制御プロトコル(信号ブロック88)を用いて端末−ネットワーク信号を制御する。信号ブロック88は、伝送端末および受信端末のエンコードおよびデコード能力についての情報を交換し、ビデオエンコーダの様々な符号化モードを可能にするために使用できる。システム制御ブロック84は、データ暗号化の使用も制御する。データ伝送において用いられる暗号化タイプに関する情報は、暗号化ブロック89から多重化装置/多重分離装置(MUX/DMUXユニット)90に渡される。
マルチメディア端末からのデータ伝送の間に、MUX/DMUXユニット90は、エンコードおよび同期させられたビデオおよびオーディオストリームを、テレマティック装置83から入力されたデータおよび考えられる制御データと結合して単一ビットストリームを形成する。暗号化ブロック89により提供されたビットストリームに適用されるデータ暗号化(もしあれば)のタイプに関する情報は、暗号化モードを選択するために用いられる。それに対応して、多重化され、時には暗号化されたマルチメディアビットストリームが受信されている時に、MUX/DMUXユニット90はビットストリームを解読し、ビットストリームをその構成マルチメディア成分に分割し、デコードおよび再生のためにそれらの成分を適切なコーデックおよび/または端末装置に渡すことを担当する。
本発明によるマルチメディア端末、ビデオエンコーダ、デコーダおよびビデオコーデックの機能要素がソフトウェアまたは専用ハードウェア、あるいはこの2つの組合せとして実現できることに注目しなければならない。本発明による可変長符号化およびデコード方法は、本発明の機能ステップを実行するための機械可読な命令を含むコンピュータプログラムの形での実現に特に適している。本発明による可変長エンコーダおよびデコーダはそれ自体で、記憶媒体上に保存されパーソナルデスクトップコンピュータのようなコンピュータ中で実行されるソフトウェアコードとして実現し得る。
マルチメディア端末80が移動端末であれば、すなわち無線トランシーバ93を装備していれば、この端末が付加的要素も含み得ることが当業者により理解されるであろう。1つの実施の形態においては、ユーザーによるマルチメディア端末80の操作を可能にするディスプレイおよびキーボードを有するユーザーインタフェース、マルチメディア端末の種々の機能を担当するブロックを制御するマイクロプロセッサのような中央処理装置、ランダムアクセスメモリRAM、リードオンリーメモリROM、およびデジタルカメラが含まれる。マイクロプロセッサの操作命令、すなわち、マルチメディア端末80の基本機能に対応するプログラムコードは、リードオンリーメモリROM中に保存されており、例えばユーザーの制御下で、マイクロプロセッサにより要求される通りに実行できる。プログラムコードに従って、マイクロプロセッサは、移動通信網との接続を形成するために無線トランシーバ93を用い、マルチメディア端末80が無線経路上で移動通信網と情報をやり取りすることを可能にする。
マイクロプロセッサは、ユーザーインタフェースの状態を監視し、デジタルカメラを制御する。ユーザーコマンドに応答して、マイクロプロセッサは、デジタル画像をRAMに記録することをカメラに指示する。画像が取り込まれたとき、あるいは取り込みの間に、マイクロプロセッサは、その画像を画像セグメント(例えば、マクロブロック)に分割し、上記の解説で説明されたように、圧縮された画像シーケンスを生成するために、エンコーダを用いてセグメントの動き補償エンコードを実行する。ユーザーは、マルチメディア端末80に命じて、取り込まれた画像をそのディスプレイ上に表示させたり、圧縮された画像シーケンスを、無線トランシーバ93を用いて、別のマルチメディア端末、固定回線網(PSTN)と接続されたビデオ電話またはその他の通信装置に送信することができる。好ましい実施の形態においては、受信者は対応するデコードプロセスを最小の遅延で開始できるように、画像データの伝送は最初のセグメントがエンコードされると直ちに開始される。
Claims (12)
- ビデオシーケンスを符号化する方法であって、
画像ブロックの符号化方法をピクチャ内予測方法又はピクチャ間予測方法から選択するステップと、
前記符号化方法を用いて予測誤差を得るステップと、
前記予測誤差を用い、変換処理及び量子化処理によって一組の量子化変換係数を得るステップと、
前記一組の量子化変換係数を、第1の値を有する第1の数の第1データシンボルと、前記第1の値と異なる値を有する第2の数の第2データシンボルと、によって表すステップと、
前記第2の数及び前記符号化方法を少なくとも部分的に用いて可変長符号語を生成するステップであって、前記可変長符号語は前記の一組のデータシンボルのデータシンボルを表すステップと、
符号化ビットストリームに前記第2の数の指示を与えるステップと、
前記量子化変換係数の値を形成するために用いた量子化パラメータに更に依存して前記可変長符号語を生成するステップと、
を有し、前記第1データシンボルはゼロ値量子化変換係数とし、前記第2データシンボルは非ゼロ値量子化変換係数とすることを更に特徴とし、
前記第2の数を用いて多数の可変長符号マップから1つの可変長符号マップを決定するステップと、
前記可変長符号語は前記の決定した可変長符号マップによって生成することと、
を更に特徴とする方法。 - 前記第2の数に依存して一組の割当てテーブルのうち1つを選択するステップであって、前記一組の割当てテーブルの各テーブルが可変長符号語へのデータシンボル値の割当てを規定するステップと、
前記可変長符号語は前記の選択した割当てテーブルによって生成することと、
を更に特徴とする、請求項1に記載の方法。 - 前記第2の数に依存して多数の可変長符号語の組から一組の可変長符号語を選択するステップであって、可変長符号語の各組がデータシンボル値を表すステップと、
前記可変長符号語は前記の選択した一組の可変長符号語によって生成することと、
を更に特徴とする、請求項1に記載の方法。 - ビデオシーケンスを符号化するエンコーダであって、
画像ブロックの符号化方法をピクチャ内予測方法又はピクチャ間予測方法から選択する制御器と、
前記符号化方法を用いて予測誤差を得る結合器と、
前記予測誤差の変換を実行して一組の量子化変換係数を得る変換ユニットと、
前記一組の量子化変換係数を量子化する量子化器と、
マルチプレクサであって、
前記一組の量子化変換係数を、第1の値を有する第1の数の第1データシンボルと、前記第1の値と異なる値を有する第2の数の第2データシンボルと、によって表し、
前記第2の数及び前記符号化方法を少なくとも部分的に用いて可変長符号語を生成し、
前記可変長符号語は前記の一組のデータシンボルのデータシンボルを表し、
符号化ビットストリームに前記第2の数の指示を与え、
前記量子化変換係数の値を形成するために用いた量子化パラメータに更に依存して前記可変長符号語を生成する
マルチプレクサと、
を備え、前記第1データシンボルはゼロ値量子化変換係数とし、前記第2データシンボルは非ゼロ値量子化変換係数とすることを更に特徴とし、
前記第2の数を用いて多数の可変長符号マップから1つの可変長符号マップを決定し、 前記可変長符号語は前記の決定した可変長符号マップによって生成する、
ように前記マルチプレクサを更に構成することを更に特徴とするエンコーダ。 - 前記第2の数に依存して一組の割当てテーブルのうち1つを選択し、前記一組の割当てテーブルの各テーブルが可変長符号語へのデータシンボル値の割当てを規定するものであり、
前記可変長符号語は前記の選択した割当てテーブルによって生成する、
ように前記マルチプレクサを更に構成することを更に特徴とする、請求項4に記載のエンコーダ。 - 前記第2の数に依存して多数の可変長符号語の組から一組の可変長符号語を選択し、可変長符号語の各組がデータシンボル値を表すものであり、
前記可変長符号語を前記の選択した一組の可変長符号語によって生成する、
ように前記マルチプレクサを更に構成することを更に特徴とする、請求項4に記載のエンコーダ。 - 符号化ビットストリームを復号する方法であって、
前記符号化ビットストリームから、
画像ブロックに用いた符号化方法のタイプの指示と、
量子化変換係数の数の指示と、
前記数によって決定された一組の量子化変換係数と、
を受信するステップと、
前記数及び前記符号化方法を少なくとも部分的に用いて、可変長符号語からデータシンボルを復号するステップと、
量子化パラメータを受信するステップと、
前記量子化パラメータに更に依存して前記可変長符号語を復号するステップと、
を有し、前記量子化変換係数は非ゼロ値量子化変換係数とすることを更に特徴とし、
前記数を用いて多数の可変長符号マップから1つの可変長復号マップを決定するステップと、
前記可変長符号語は前記の決定した可変長復号マップによって復号することと、
を更に特徴とする方法。 - 前記数に依存して一組の割当てテーブルのうち1つを選択するステップであって、前記一組の割当てテーブルの各テーブルが可変長符号語へのデータシンボル値の割当てを規定するステップと、
前記可変長符号語は前記の選択した割当てテーブルによって復号することと、
を更に特徴とする、請求項7に記載の方法。 - 前記数に依存して多数の可変長符号語の組から一組の可変長符号語を選択するステップであって、可変長符号語の各組がデータシンボル値を表すステップと、
前記可変長符号語は前記の選択した一組の可変長符号語によって復号することと、
を更に特徴とする、請求項7に記載の方法。 - 符号化ビットストリームを復号するデコーダであって、
前記符号化ビットストリームから、
画像ブロックに用いた符号化方法のタイプの指示と、
量子化変換係数の数の指示と、
前記数によって決定された一組の量子化変換係数と、
を受信し、
前記数及び前記符号化方法を少なくとも部分的に用いて、可変長符号語からデータシンボルを復号し、
量子化パラメータを受信し、
前記量子化パラメータに更に依存して前記可変長符号語を復号する、
デマルチプレクサを備え、前記量子化変換係数は非ゼロ値量子化変換係数とすることを更に特徴とし、
前記数を用いて多数の可変長符号マップから1つの可変長復号マップを決定し、
前記可変長符号語は前記の決定した可変長復号マップによって復号する、
ように前記デマルチプレクサを更に構成することを更に特徴とするデコーダ。 - 前記数に依存して一組の割当てテーブルのうち1つを選択し、前記一組の割当てテーブルの各テーブルが可変長符号語へのデータシンボル値の割当てを規定するものであり、
前記可変長符号語は前記の選択した割当てテーブルによって復号する、
ように前記デマルチプレクサを更に構成することを更に特徴とする、請求項10に記載のデコーダ。 - 前記数に依存して多数の可変長符号語の組から一組の可変長符号語を選択し、可変長符号語の各組がデータシンボル値を表すものであり、
前記可変長符号語は前記の選択した一組の可変長符号語によって復号する、
ように前記デマルチプレクサを更に構成することを更に特徴とする、請求項10に記載のデコーダ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/054,610 | 2002-01-22 | ||
US10/054,610 US6690307B2 (en) | 2002-01-22 | 2002-01-22 | Adaptive variable length coding of digital video |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013024179A Division JP2013153444A (ja) | 2002-01-22 | 2013-02-12 | 適応可変長符号化 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016026426A true JP2016026426A (ja) | 2016-02-12 |
Family
ID=27609144
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003563102A Withdrawn JP2005516456A (ja) | 2002-01-22 | 2003-01-22 | 適応可変長符号化 |
JP2007249933A Withdrawn JP2008067395A (ja) | 2002-01-22 | 2007-09-26 | 適応可変長符号化 |
JP2011111718A Withdrawn JP2011176878A (ja) | 2002-01-22 | 2011-05-18 | 適応可変長符号化 |
JP2013024179A Withdrawn JP2013153444A (ja) | 2002-01-22 | 2013-02-12 | 適応可変長符号化 |
JP2015163601A Pending JP2016026426A (ja) | 2002-01-22 | 2015-08-21 | 適応可変長符号化 |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003563102A Withdrawn JP2005516456A (ja) | 2002-01-22 | 2003-01-22 | 適応可変長符号化 |
JP2007249933A Withdrawn JP2008067395A (ja) | 2002-01-22 | 2007-09-26 | 適応可変長符号化 |
JP2011111718A Withdrawn JP2011176878A (ja) | 2002-01-22 | 2011-05-18 | 適応可変長符号化 |
JP2013024179A Withdrawn JP2013153444A (ja) | 2002-01-22 | 2013-02-12 | 適応可変長符号化 |
Country Status (10)
Country | Link |
---|---|
US (2) | US6690307B2 (ja) |
EP (1) | EP1470646A1 (ja) |
JP (5) | JP2005516456A (ja) |
KR (1) | KR100969645B1 (ja) |
CN (2) | CN101267563B (ja) |
BR (1) | BR0307053A (ja) |
IL (1) | IL162994A (ja) |
MX (1) | MXPA04007054A (ja) |
NO (1) | NO335451B1 (ja) |
WO (1) | WO2003063360A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USD836405S1 (en) * | 2017-03-28 | 2018-12-25 | Ryan A. Roberts | Beverage can holder with retaining ring |
USD836406S1 (en) * | 2017-03-28 | 2018-12-25 | Ryan A. Roberts | Beverage can holder with retaining ring |
EP3416658B1 (en) | 2016-02-15 | 2023-03-22 | Kyoto Prefectural Public University Corporation | Human functional corneal endothelial cell and application thereof |
Families Citing this family (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU754877B2 (en) * | 1998-12-28 | 2002-11-28 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Method and devices for coding or decoding an audio signal or bit stream |
US7082450B2 (en) | 2001-08-30 | 2006-07-25 | Nokia Corporation | Implementation of a transform and of a subsequent quantization |
US7203373B2 (en) * | 2001-10-30 | 2007-04-10 | Texas Instruments Incorporated | Image and video coding with redundant run-length-level-last codewords removed |
KR100947399B1 (ko) * | 2001-11-22 | 2010-03-12 | 파나소닉 주식회사 | 부호화 방법 |
US6823015B2 (en) * | 2002-01-23 | 2004-11-23 | International Business Machines Corporation | Macroblock coding using luminance date in analyzing temporal redundancy of picture, biased by chrominance data |
US7450149B2 (en) * | 2002-03-25 | 2008-11-11 | Polycom, Inc. | Conferencing system with integrated audio driver and network interface device |
JP3679083B2 (ja) * | 2002-10-08 | 2005-08-03 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム |
JP4240283B2 (ja) * | 2002-10-10 | 2009-03-18 | ソニー株式会社 | 復号装置及び復号方法 |
US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
WO2005033198A1 (en) * | 2003-10-07 | 2005-04-14 | Coloplast A/S | A composition useful as an adhesive and use of such a composition |
US8098817B2 (en) * | 2003-12-22 | 2012-01-17 | Intel Corporation | Methods and apparatus for mixing encrypted data with unencrypted data |
US6956511B2 (en) * | 2004-01-06 | 2005-10-18 | Sharp Laboratories Of America, Inc. | Multi-symbol/coefficient decode operation for Huffman codes |
US7573406B2 (en) * | 2004-05-21 | 2009-08-11 | Broadcom Corporation | System and method for decoding context adaptive variable length coding |
US7113115B2 (en) * | 2004-06-30 | 2006-09-26 | Intel Corporation | Variable length code table look ups |
DE102004049156B4 (de) | 2004-10-08 | 2006-07-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Codierschema für einen ein zeitlich veränderliches Graphikmodell darstellenden Datenstrom |
US9088802B2 (en) * | 2005-01-07 | 2015-07-21 | Nippon Telegraph And Telephone Corporation | Video encoding method and apparatus, video decoding method and apparatus, programs therefor, and storage media for storing the programs |
KR100694098B1 (ko) * | 2005-04-04 | 2007-03-12 | 한국과학기술원 | 산술 복호 방법 및 그 장치 |
KR100664936B1 (ko) * | 2005-04-13 | 2007-01-04 | 삼성전자주식회사 | 코딩 효율이 향상된 컨텍스트 기반 적응적 산술 코딩 및디코딩 방법과 이를 위한 장치, 이를 포함하는 비디오 코딩및 디코딩 방법과 이를 위한 장치 |
WO2006109990A1 (en) * | 2005-04-13 | 2006-10-19 | Samsung Electronics Co., Ltd. | Context-based adaptive arithmetic coding and decoding methods and apparatuses with improved coding efficiency and video coding and decoding methods and apparatuses using the same |
WO2006109974A1 (en) * | 2005-04-13 | 2006-10-19 | Samsung Electronics Co., Ltd. | Method for entropy coding and decoding having improved coding efficiency and apparatus for providing the same |
KR100703773B1 (ko) * | 2005-04-13 | 2007-04-06 | 삼성전자주식회사 | 향상된 코딩 효율을 갖는 엔트로피 코딩 및 디코딩 방법과이를 위한 장치, 이를 포함하는 비디오 코딩 및 디코딩방법과 이를 위한 장치 |
EP1889151A2 (en) * | 2005-05-21 | 2008-02-20 | Kula Media Group | Media distribution over a network |
US8180631B2 (en) * | 2005-07-11 | 2012-05-15 | Lg Electronics Inc. | Apparatus and method of processing an audio signal, utilizing a unique offset associated with each coded-coefficient |
US8599925B2 (en) * | 2005-08-12 | 2013-12-03 | Microsoft Corporation | Efficient coding and decoding of transform blocks |
EP1929782A4 (en) * | 2005-09-26 | 2012-03-21 | Samsung Electronics Co Ltd | METHOD AND APPARATUS FOR ENHANCING ENTROPY CODING EFFICIENCY AND VIDEO ENCODING METHOD, AND APPARATUS USING THE SAME |
US7348903B2 (en) * | 2005-09-26 | 2008-03-25 | Samsung Electronics Co., Ltd. | Method and apparatus for enhancing performance of entropy coding, and video coding method and apparatus using the entropy coding performance enhancing method |
WO2007035056A1 (en) * | 2005-09-26 | 2007-03-29 | Samsung Electronics Co., Ltd. | Method and apparatus for entropy encoding and entropy decoding fine-granularity scalability layer video data |
EP1841231A1 (en) * | 2006-03-29 | 2007-10-03 | Sony Deutschland Gmbh | Method for motion estimation |
JP4730183B2 (ja) * | 2006-04-17 | 2011-07-20 | 株式会社日立製作所 | 映像表示装置 |
US8275045B2 (en) | 2006-07-12 | 2012-09-25 | Qualcomm Incorporated | Video compression using adaptive variable length codes |
US9319700B2 (en) * | 2006-10-12 | 2016-04-19 | Qualcomm Incorporated | Refinement coefficient coding based on history of corresponding transform coefficient values |
US8325819B2 (en) * | 2006-10-12 | 2012-12-04 | Qualcomm Incorporated | Variable length coding table selection based on video block type for refinement coefficient coding |
US8599926B2 (en) * | 2006-10-12 | 2013-12-03 | Qualcomm Incorporated | Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers |
US8565314B2 (en) * | 2006-10-12 | 2013-10-22 | Qualcomm Incorporated | Variable length coding table selection based on block type statistics for refinement coefficient coding |
US7813567B2 (en) * | 2007-04-26 | 2010-10-12 | Texas Instruments Incorporated | Method of CABAC significance MAP decoding suitable for use on VLIW data processors |
US7885473B2 (en) * | 2007-04-26 | 2011-02-08 | Texas Instruments Incorporated | Method of CABAC coefficient magnitude and sign decoding suitable for use on VLIW data processors |
KR101539240B1 (ko) | 2007-06-14 | 2015-07-30 | 삼성전자주식회사 | 영상 데이터의 엔트로피 부호화, 복호화 방법 및 장치 |
US7774205B2 (en) * | 2007-06-15 | 2010-08-10 | Microsoft Corporation | Coding of sparse digital media spectral data |
KR101361512B1 (ko) * | 2007-07-09 | 2014-02-10 | 삼성전자 주식회사 | 방송처리장치 및 그 제어방법 |
WO2009032255A2 (en) * | 2007-09-04 | 2009-03-12 | The Regents Of The University Of California | Hierarchical motion vector processing method, software and devices |
US8265162B2 (en) | 2007-10-01 | 2012-09-11 | Cisco Technology, Inc. | Context adaptive position and amplitude coding of coefficients for video compression |
US8204327B2 (en) * | 2007-10-01 | 2012-06-19 | Cisco Technology, Inc. | Context adaptive hybrid variable length coding |
US8848787B2 (en) * | 2007-10-15 | 2014-09-30 | Qualcomm Incorporated | Enhancement layer coding for scalable video coding |
EP2073419B1 (en) | 2007-12-20 | 2011-10-26 | Panasonic Corporation | Control channel signaling using a common signaling field for transport format and redundancy version |
KR20090072510A (ko) * | 2007-12-28 | 2009-07-02 | 삼성전자주식회사 | 디스플레이장치 및 그 제어방법 |
US8374451B2 (en) * | 2008-06-27 | 2013-02-12 | Sony Corporation | Image processing device and image processing method for reducing the circuit scale |
KR101196792B1 (ko) * | 2008-12-03 | 2012-11-05 | 노키아 코포레이션 | Dct 계수 부호화 모드들 간의 전환 |
JP5274317B2 (ja) * | 2009-03-17 | 2013-08-28 | パナソニック株式会社 | 符号量推定装置、符号量推定方法、符号量推定プログラムおよび、符号量推定集積回路 |
US8660261B2 (en) * | 2009-06-04 | 2014-02-25 | Mediatek Singapore Pte. Ltd. | System and apparatus for integrated video/image encoding/decoding and encryption/decryption |
TWI396448B (zh) * | 2009-10-30 | 2013-05-11 | Hon Hai Prec Ind Co Ltd | 熵解碼裝置 |
KR101768207B1 (ko) | 2010-01-19 | 2017-08-16 | 삼성전자주식회사 | 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치 |
US20110206118A1 (en) * | 2010-02-19 | 2011-08-25 | Lazar Bivolarsky | Data Compression for Video |
US9819358B2 (en) * | 2010-02-19 | 2017-11-14 | Skype | Entropy encoding based on observed frequency |
US9313526B2 (en) | 2010-02-19 | 2016-04-12 | Skype | Data compression for video |
US9609342B2 (en) * | 2010-02-19 | 2017-03-28 | Skype | Compression for frames of a video signal using selected candidate blocks |
US20110206132A1 (en) * | 2010-02-19 | 2011-08-25 | Lazar Bivolarsky | Data Compression for Video |
JP6033081B2 (ja) * | 2010-04-01 | 2016-11-30 | ソニー株式会社 | 画像処理装置および方法、プログラム、並びに、記録媒体 |
KR20120016991A (ko) * | 2010-08-17 | 2012-02-27 | 오수미 | 인터 프리딕션 방법 |
US20120082230A1 (en) * | 2010-10-01 | 2012-04-05 | Qualcomm Incorporated | Variable length coding of video block coefficients |
US20120147970A1 (en) * | 2010-12-08 | 2012-06-14 | Qualcomm Incorporated | Codeword adaptation for variable length coding |
US9490839B2 (en) | 2011-01-03 | 2016-11-08 | Qualcomm Incorporated | Variable length coding of video block coefficients |
CN102685503B (zh) | 2011-03-10 | 2014-06-25 | 华为技术有限公司 | 变换系数的编码方法、变换系数的解码方法,和装置 |
US9516316B2 (en) | 2011-06-29 | 2016-12-06 | Qualcomm Incorporated | VLC coefficient coding for large chroma block |
US9338456B2 (en) | 2011-07-11 | 2016-05-10 | Qualcomm Incorporated | Coding syntax elements using VLC codewords |
US20130083845A1 (en) | 2011-09-30 | 2013-04-04 | Research In Motion Limited | Methods and devices for data compression using a non-uniform reconstruction space |
EP2595382B1 (en) | 2011-11-21 | 2019-01-09 | BlackBerry Limited | Methods and devices for encoding and decoding transform domain filters |
EP3197162B1 (en) * | 2011-12-15 | 2020-04-08 | Tagivan Ii Llc | Signaling of luminance-chrominance coded block flags (cbf) in video coding |
KR102013240B1 (ko) * | 2012-02-02 | 2019-08-22 | 삼성전자주식회사 | 영역별 특성에 기초한 영상 부호화 방법 및 그 장치, 그리고 영상 복호화 방법 및 그 장치 |
US20140205199A1 (en) * | 2013-01-23 | 2014-07-24 | Qamarul Islam | Storage Area and Temporal Based Optimized Run Length Codec For Classic JPEG Image Compression (SAT-BORL CODEC) |
US20160037509A1 (en) * | 2014-07-30 | 2016-02-04 | Onavo Mobile Ltd. | Techniques to reduce bandwidth usage through multiplexing and compression |
US10171810B2 (en) | 2015-06-22 | 2019-01-01 | Cisco Technology, Inc. | Transform coefficient coding using level-mode and run-mode |
US10530388B2 (en) * | 2016-01-03 | 2020-01-07 | Auro Technologies Nv | Signal encoder, decoder and methods using predictor models |
US10366698B2 (en) * | 2016-08-30 | 2019-07-30 | Dts, Inc. | Variable length coding of indices and bit scheduling in a pyramid vector quantizer |
CN107947799B (zh) * | 2017-11-28 | 2021-06-29 | 郑州云海信息技术有限公司 | 一种数据压缩方法及装置 |
US10666985B1 (en) | 2018-11-18 | 2020-05-26 | Sony Corporation | Sub-block based entropy coding for image coding |
US10841595B2 (en) * | 2018-11-27 | 2020-11-17 | Semiconductor Components Industries, Llc | Methods and apparatus for transform coefficient encoding and decoding |
CN110417811B (zh) * | 2019-08-22 | 2021-08-10 | 上海兆芯集成电路有限公司 | 比特流编码压缩的方法及装置 |
CN112564713B (zh) * | 2020-11-30 | 2023-09-19 | 福州大学 | 高效率低时延的动觉信号编解码器及编解码方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05292481A (ja) * | 1991-11-21 | 1993-11-05 | Sanyo Electric Co Ltd | 画像符号化方式 |
JPH05347710A (ja) * | 1992-06-15 | 1993-12-27 | Nippon Telegr & Teleph Corp <Ntt> | 適応的可変長符号化方法 |
JPH06225286A (ja) * | 1992-10-26 | 1994-08-12 | Daewoo Electron Co Ltd | 適応的可変長さ符号化方法および装置 |
JPH06225279A (ja) * | 1992-10-26 | 1994-08-12 | Sony Corp | 符号化方法、復号化方法、符号化装置及び復号化装置 |
JPH0846521A (ja) * | 1994-01-18 | 1996-02-16 | Daewoo Electron Co Ltd | 可変長符号化器 |
JP2001292450A (ja) * | 2000-04-05 | 2001-10-19 | Sony Corp | 符号化装置及びその方法並びに復号化装置及びその方法 |
WO2002078355A1 (en) * | 2001-03-23 | 2002-10-03 | Nokia Corporation | Variable length coding |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05316359A (ja) * | 1992-05-14 | 1993-11-26 | Fujitsu Ltd | 画像データ符号化装置 |
KR0162197B1 (ko) * | 1992-05-30 | 1998-12-15 | 강진구 | 영상데이타의 가변장부호와/복호화방법 및 장치 |
US5400075A (en) * | 1993-01-13 | 1995-03-21 | Thomson Consumer Electronics, Inc. | Adaptive variable length encoder/decoder |
ES2431289T3 (es) * | 1993-03-24 | 2013-11-25 | Sony Corporation | Método de decodificación de señal de imagen y aparato asociado |
JP3163880B2 (ja) * | 1993-12-16 | 2001-05-08 | 松下電器産業株式会社 | 画像圧縮符号化装置 |
KR100254402B1 (ko) * | 1994-12-19 | 2000-05-01 | 전주범 | 줄-길이 부호화방법 및 줄-길이 부호화기 |
JP2951861B2 (ja) * | 1994-12-28 | 1999-09-20 | シャープ株式会社 | 画像符号化装置及び画像復号装置 |
KR100209410B1 (ko) * | 1995-03-28 | 1999-07-15 | 전주범 | 영상 신호 부호화 장치 |
US5835145A (en) | 1996-01-19 | 1998-11-10 | Lsi Logic Corporation | Conversion system using programmable tables for compressing transform coefficients |
EP1835762A3 (en) * | 1996-05-28 | 2007-10-03 | Matsushita Electric Industrial Co., Ltd. | decoding apparatus with intra prediction |
US5751231A (en) * | 1996-06-26 | 1998-05-12 | Intel Corporation | Method and apparatus for run-length encoding using special long-run codes |
US5793314A (en) * | 1996-07-03 | 1998-08-11 | Motorola, Inc. | Method and apparatus for bound-based adaptive entropy encoding/decoding |
KR100249487B1 (ko) * | 1997-06-25 | 2000-03-15 | 전주범 | 적응적인 형태 부호화 장치 및 방법 |
CN1123125C (zh) * | 1997-12-08 | 2003-10-01 | 大宇电子株式会社 | 可变长编码方法及其装置 |
US6412112B1 (en) * | 1998-06-30 | 2002-06-25 | Webtv Networks, Inc. | System for transmitting digital data through a lossy channel |
JP2001308715A (ja) | 2000-04-20 | 2001-11-02 | Mitsubishi Electric Corp | 可変長符号化装置および可変長復号装置 |
-
2002
- 2002-01-22 US US10/054,610 patent/US6690307B2/en not_active Expired - Lifetime
-
2003
- 2003-01-22 CN CN200810091747.7A patent/CN101267563B/zh not_active Expired - Lifetime
- 2003-01-22 MX MXPA04007054A patent/MXPA04007054A/es active IP Right Grant
- 2003-01-22 WO PCT/FI2003/000055 patent/WO2003063360A1/en active Application Filing
- 2003-01-22 JP JP2003563102A patent/JP2005516456A/ja not_active Withdrawn
- 2003-01-22 KR KR1020047011253A patent/KR100969645B1/ko active IP Right Grant
- 2003-01-22 EP EP03700323A patent/EP1470646A1/en not_active Ceased
- 2003-01-22 CN CN038025507A patent/CN1620761B/zh not_active Expired - Lifetime
- 2003-01-22 BR BR0307053-0A patent/BR0307053A/pt not_active Application Discontinuation
- 2003-07-29 US US10/629,085 patent/US6879268B2/en not_active Expired - Lifetime
-
2004
- 2004-07-13 IL IL162994A patent/IL162994A/en active IP Right Grant
- 2004-07-15 NO NO20042983A patent/NO335451B1/no not_active IP Right Cessation
-
2007
- 2007-09-26 JP JP2007249933A patent/JP2008067395A/ja not_active Withdrawn
-
2011
- 2011-05-18 JP JP2011111718A patent/JP2011176878A/ja not_active Withdrawn
-
2013
- 2013-02-12 JP JP2013024179A patent/JP2013153444A/ja not_active Withdrawn
-
2015
- 2015-08-21 JP JP2015163601A patent/JP2016026426A/ja active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05292481A (ja) * | 1991-11-21 | 1993-11-05 | Sanyo Electric Co Ltd | 画像符号化方式 |
JPH05347710A (ja) * | 1992-06-15 | 1993-12-27 | Nippon Telegr & Teleph Corp <Ntt> | 適応的可変長符号化方法 |
JPH06225286A (ja) * | 1992-10-26 | 1994-08-12 | Daewoo Electron Co Ltd | 適応的可変長さ符号化方法および装置 |
JPH06225279A (ja) * | 1992-10-26 | 1994-08-12 | Sony Corp | 符号化方法、復号化方法、符号化装置及び復号化装置 |
JPH0846521A (ja) * | 1994-01-18 | 1996-02-16 | Daewoo Electron Co Ltd | 可変長符号化器 |
JP2001292450A (ja) * | 2000-04-05 | 2001-10-19 | Sony Corp | 符号化装置及びその方法並びに復号化装置及びその方法 |
WO2002078355A1 (en) * | 2001-03-23 | 2002-10-03 | Nokia Corporation | Variable length coding |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3416658B1 (en) | 2016-02-15 | 2023-03-22 | Kyoto Prefectural Public University Corporation | Human functional corneal endothelial cell and application thereof |
EP4218773A1 (en) | 2016-02-15 | 2023-08-02 | Kyoto Prefectural Public University Corporation | Human functional corneal endothelial cell and application thereof |
USD836405S1 (en) * | 2017-03-28 | 2018-12-25 | Ryan A. Roberts | Beverage can holder with retaining ring |
USD836406S1 (en) * | 2017-03-28 | 2018-12-25 | Ryan A. Roberts | Beverage can holder with retaining ring |
Also Published As
Publication number | Publication date |
---|---|
IL162994A (en) | 2012-05-31 |
MXPA04007054A (es) | 2004-10-11 |
CN1620761A (zh) | 2005-05-25 |
CN101267563A (zh) | 2008-09-17 |
CN101267563B (zh) | 2015-11-25 |
NO20042983L (no) | 2004-09-22 |
JP2005516456A (ja) | 2005-06-02 |
US6690307B2 (en) | 2004-02-10 |
US20040021592A1 (en) | 2004-02-05 |
CN1620761B (zh) | 2012-03-21 |
US6879268B2 (en) | 2005-04-12 |
BR0307053A (pt) | 2004-10-26 |
NO335451B1 (no) | 2014-12-15 |
JP2011176878A (ja) | 2011-09-08 |
JP2008067395A (ja) | 2008-03-21 |
WO2003063360A1 (en) | 2003-07-31 |
US20030151529A1 (en) | 2003-08-14 |
EP1470646A1 (en) | 2004-10-27 |
KR20040075945A (ko) | 2004-08-30 |
JP2013153444A (ja) | 2013-08-08 |
KR100969645B1 (ko) | 2010-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100969645B1 (ko) | 적응 가변장 부호화 | |
JP4510465B2 (ja) | イメージ/ビデオ符号器及び/又は復号器における変換係数の符号化 | |
US6696993B2 (en) | Variable length coding | |
JP4571489B2 (ja) | ビデオ符号化システムにおける量子化器パラメータを表示するための方法および装置 | |
JP4234607B2 (ja) | 画像/ビデオエンコーダおよび/またはデコーダにおける符号化変換係数 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20151210 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160517 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160816 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170124 |