(57)【要約】  本発明は多階層基盤のコーデックにおいて、エントロピコーディングの性能を改善する方法および装置に関するものである。  本発明の一実施形態による多階層ビデオをコーディングして生成される係数のうち所定階層のブロックに含まれる第１係数を無損失符号化するエントロピ符号化方法は、前記ブロックと対応される基礎階層の領域内に含まれる第２係数の分布を獲得する段階と、複数のルックアップテーブルのうち前記獲得された分布に適合したルックアップテーブルを選択する段階と、前記選択されたルックアップテーブルにマッピングされる値で前記第１係数を変換する段階で成される。
2009506708.tif 000002
【特許請求の範囲】
【請求項１】
多階層ビデオをコーディングして生成される係数のうち所定階層のブロックに含まれる第１係数を無損失符号化するエントロピ符号化方法において、
（ａ）前記ブロックと対応される基礎階層の領域内に含まれる第２係数の分布を獲得する段階と、
（ｂ）複数のルックアップテーブルのうち前記獲得された分布に適合したルックアップテーブルを選択する段階、および
（ｃ）前記選択されたルックアップテーブルにマッピングされる値で前記第１係数を変換する段階を含む前記方法。
【請求項２】
前記生成される係数は、
量子化過程を経て生成される量子化係数である、請求項１に記載の前記方法。
【請求項３】
前記ブロックは、
４×４または８×８ピクセルサイズを有する、請求項１に記載の前記方法。
【請求項４】
前記分布は、
前記第２係数のうち０の個数または０ではない係数の個数によって求めることができる、請求項１に記載の前記方法。
【請求項５】
前記（ｂ）段階は、
前記０の個数が多い場合、小さいサイズの係数に対して相対的に短い長さのマッピングコードが割り当てられたルックアップテーブルを選択し、前記０の個数が小さい場合、大きいサイズの係数に対して相対的に短い長さのマッピングコードが割り当てられたルックアップテーブルを選択することによって形成される、請求項４に記載の前記方法。
【請求項６】
前記（ｂ）段階は、
（ｂ１）前記２係数の０ではない係数の個数をカウントする段階と、
（ｂ２）前記ブロックと同一な階層の周辺ブロックの第３係数の０ではない係数の個数をカウントする段階と、
（ｂ３）前記（ｂ１）でカウントされた個数と前記（ｂ２）でカウントされた個数の代表値を求める段階、および
（ｂ４）前記代表値にしたがって前記適合したルックアップテーブルを選択する段階を含む、請求項１に記載の前記方法。
【請求項７】
前記周辺ブロックは、
前記所定階層のブロックの上側隣接ブロックおよび左側隣接ブロックのうち少なくとも一つである、請求項６に記載の前記方法。
【請求項８】
前記代表値は、
前記（ｂ１）でカウントされた個数と前記（ｂ２）でカウントされた個数の加重平均で求めることができる、請求項６に記載の前記方法。
【請求項９】
前記エントロピ符号化方法はコンテクストに適応した可変長符号化を含む、請求項１に記載の前記方法。
【請求項１０】
入力されたビットストリームのうち所定階層の第１ビットストリームを無損失復号化して前記階層のブロックに対する第１係数を復元するエントロピ復号化方法において、
（ａ）前記ブロックと対応される基礎階層の領域内に含まれる第２係数を復元する段階と、
（ｂ）前記復元された第２係数の分布を獲得する段階と、
（ｃ）複数のルックアップテーブルのうち前記獲得された分布に適合したルックアップテーブルを選択する段階、および
（ｄ）前記選択されたルックアップテーブルに基づいて前記第１ビットストリームを前記第１係数に変換する段階を含む前記方法。
【請求項１１】
前記第１係数および第２係数は量子化係数である、請求項１０に記載の前記方法。
【請求項１２】
前記ブロックは、
４×４または８×８ピクセルサイズを有する、請求項１０に記載の前記方法。
【請求項１３】
前記分布は、
前記復元された第２係数のうち０の個数または０ではない係数の個数によって求めることができる、請求項１０に記載の前記方法。
【請求項１４】
前記（ｃ）段階は、
前記０の個数が多い場合、小さいサイズの係数に対して相対的に短い長さのマッピングコードが割り当てられたルックアップテーブルを選択し、前記０の個数が小さい場合、大きいサイズの係数に対して相対的に短い長さのマッピングコードが割り当てられたルックアップテーブルを選択することによって形成される、請求項１３に記載の前記方法。
【請求項１５】
前記（ｃ）段階は、
（ｂ１）前記復元された２係数の０ではない係数の個数をカウントする段階と、
（ｂ２）前記ブロックと同一な階層の周辺ブロックの第３係数の０ではない係数の個数をカウントする段階と、
（ｂ３）前記（ｂ１）でカウントされた個数と前記（ｂ２）でカウントされた個数の代表値を求める段階、および
（ｂ４）前記代表値にしたがって前記適合したルックアップテーブルを選択する段階を含む、請求項１に記載の前記方法。
【請求項１６】
前記周辺ブロックは、
前記所定階層のブロックの上側隣接ブロックおよび左側隣接ブロックのうち少なくとも一つである、請求項１５に記載の前記方法。
【請求項１７】
前記代表値は、
前記（ｂ１）でカウントされた個数と前記（ｂ２）でカウントされた個数の加重平均で求めることができる、請求項１５に記載の前記方法。
【請求項１８】
前記エントロピ符号化方法はコンテクストに適応した可変長符号化を含む、請求項１０に記載の前記方法。
【請求項１９】
一つの離散階層と少なくとも一つ以上のＦＧＳ階層で形成される係数のうち前記ＦＧＳ階層の第１係数を無損失符号化する可変長符号化方法において、
（ａ）前記第１係数の絶対値を所定の個数単位でグループ化する段階と、
（ｂ）前記第１係数が属する所定の単位領域に含まれる第２係数のうち０の比率を算出する段階と、
（ｃ）前記比率が所定の臨界値を越えるのかの可否にしたがって複数のＶＬＣテーブルのうち一つを選択する段階、および
（ｄ）前記選択されたＶＬＣテーブルを参照して前記グループ化された第１個数の絶対値を対応されるコードワードに変換する段階を含む前記方法。
【請求項２０】
前記第１係数と対応される前記離散階層の係数は０ではない、請求項１９に記載の前記方法。
【請求項２１】
前記第１係数は、
−１、０、または１のうち一つの値を有する、請求項２０に記載の前記方法。
【請求項２２】
前記第１係数のうち０ではない係数の符号をコーディングする段階をさらに含む、請求項１９に記載の前記方法。
【請求項２３】
前記複数のＶＬＣテーブルの数は前記臨界値の個数に比べて１が、より大きい、請求項１９に記載の前記方法。
【請求項２４】
前記変換されたコードワードで形成されるビットストリームに前記選択されたＶＬＣテーブルのトークン値を挿入する段階をさらに含む、請求項１９に記載の前記方法。
【請求項２５】
前記単位領域は、
フレーム、スライス、マクロブロック、およびブロックのうち一つである、請求項１９に記載の前記方法。
【請求項２６】
前記個数単位は４である、請求項１９に記載の前記方法。
【請求項２７】
入力されたビットストリームのうちＦＧＳ階層の第１ビットストリームを無損失復号化して前記ＦＧＳ階層に対する第１係数を復元する可変長復号化方法において、
（ａ）前記第１係数が属する所定の単位領域に含まれる既復元された第２係数のうち０の比率を算出する段階と、
（ｂ）前記比率が所定の臨界値を越えるのかの可否にしたがって複数のＶＬＣテーブルのうち一つを選択する段階、および
（ｃ）前記第１ビットストリームのうち前記選択されたＶＬＣテーブル上の所定コードワードに対応される前記第１係数を復元する段階を含む前記方法。
【請求項２８】
前記（ｃ）段階は、
（ｃ１）前記コードワードに対応される前記第１係数の絶対値を復元する段階、および
（ｃ２）前記第１ビットストリームのうち符号コードから前記第１係数の符号を復元する段階を含む、請求項２７に記載の前記方法。
【請求項２９】
前記第１係数はリファインメントパスに含まれる、請求項２７に記載の前記方法。
【請求項３０】
前記第１係数は、
−１、０、または１のうち一つの値を有する、請求項２９に記載の前記方法。
【請求項３１】
前記複数のＶＬＣテーブルの数は前記臨界値の個数に比べて、１だけ大きい、請求項２７に記載の前記方法。
【請求項３２】
前記単位領域は、
フレーム、スライス、マクロブロック、およびブロックのうち一つである、請求項２７に記載の前記方法。
【請求項３３】
入力されたビットストリームのうちＦＧＳ階層の第１ビットストリームを無損失復号化して前記ＦＧＳ階層に対するリファインメント係数を復元する可変長復号化方法において、
（ａ）前記第１ビットストリームに所定の単位領域別に挿入されているＶＬＣテーブルのトークンを判読する段階と、
（ｂ）前記トークンに該当するＶＬＣテーブルをローディングする段階、および
（ｃ）前記第１ビットストリームのうち前記ローディングされたＶＬＣテーブル上の所定コードワードに対応される前記第１係数を復元する段階を含む前記方法。
【請求項３４】
前記単位領域は、
フレーム、スライス、マクロブロック、およびブロックのうち一つである、請求項３３に記載の前記方法。
【請求項３５】
入力されたビットストリームのうち所定階層の第１ビットストリームを無損失復号化して前記階層のブロックに対する第１係数を復元するエントロピ復号化装置において、
前記ブロックと対応される基礎階層の領域内に含まれる第２係数を復元する手段と、
前記復元された第２係数の分布を獲得する手段と、
複数のルックアップテーブルのうち前記獲得された分布に適合したルックアップテーブルを選択する手段、および
前記選択されたルックアップテーブルに基づいて前記第１ビットストリームを前記第１係数に変換する手段を含む前記装置。
【請求項３６】
入力されたビットストリームのうちＦＧＳ階層の第１ビットストリームを無損失復号化して前記ＦＧＳ階層に対する第１係数を復元する可変長復号化装置において、
前記第１係数が属する所定の単位領域に含まれる既復元された第２係数のうち０の比率を算出する手段と、
前記比率が所定の臨界値を越えるのかの可否にしたがって複数のＶＬＣテーブルのうち一つを選択する手段、および
前記第１ビットストリームのうち前記選択されたＶＬＣテーブル上の所定コードワードに対応される前記第１係数を復元する手段を含む前記装置。
【請求項３７】
入力されたビットストリームのうちＦＧＳ階層の第１ビットストリームを無損失復号化して前記ＦＧＳ階層に対するリファインメント係数を復元する可変長復号化装置において、
前記第１ビットストリームに所定の単位領域別に挿入されているＶＬＣテーブルのトークンを判読する手段と、
前記トークンに該当するＶＬＣテーブルをローディングする手段、および
前記第１ビットストリームのうち前記ローディングされたＶＬＣテーブル上の所定コードワードに対応される前記第１係数を復元する手段を含む前記装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はビデオ圧縮技術に関するものであって、より詳細には多階層基盤のコーデックにおいて、エントロピコーディングの性能を改善する方法および装置に関するものである。
【背景技術】
【０００２】
インターネットを含む情報通信技術が発達するにともない文字、音声だけでなく画像通信が増加している。既存の文字中心の通信方式では消費者の多様な欲求を充足させるには足りず、これに伴い文字、映像、音楽など多様な形態の特性を受容できるマルチメディアサービスが増加している。マルチメディアデータはその量が膨大であり、大容量の保存媒体を必要とし伝送時に広い帯域幅を必要とする。したがって文字、映像、オーディオを含んだマルチメディアデータを伝送するためには圧縮コーディング技法を使用することが必須的である。
【０００３】
データを圧縮する基本的な原理はデータの重複（ｒｅｄｕｎｄａｎｃｙ）要素を除去する過程である。イメージで同一な色やオブジェクトが反復されるような空間的重複や動画フレームにおいて隣接したフレームの変化がほとんどない場合やオーディオにおいて同じ音が継続して反復されるような時間的重複、または人間の視覚および知覚能力が高い周波数に鈍感なのを考慮した心理視覚重複を除去することによってデータを圧縮することができる。一般的なビデオコーディング方法において、時間的重複はモーション補償に基づいた時間的フィルタリング（ｔｅｍｐｏｒａｌ  ｆｉｌｔｅｒｉｎｇ）によって除去し、空間的重複は空間的変換（ｓｐａｔｉａｌ  ｔｒａｎｓｆｏｒｍ）によって除去する。
【０００４】
データの重複を除去した結果は改めて量子化過程をとおし、所定の量子化ステップにしたがって損失符号化される。前記量子化された結果は最終的にエントロピ符号化（ｅｎｔｒｏｐｙ  ｃｏｄｉｎｇ）をとおし、最終的に無損失符号化される。
【０００５】
現在、ＩＳＯ／ＩＥＣ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｏｒｇａｎｉｚａｔｉｏｎ  ｆｏｒ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ  ／  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｅｌｅｃｔｒｏｔｅｃｈｎｉｃａｌ  Ｃｏｍｍｉｓｓｉｏｎ）とＩＴＵ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ）のビデオ専門家の集いであるＪＶＴ（Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ）で進行中のスケーラブルビデオ符号化（以下、ＳＶＣという）草案（ｄｒａｆｔ）では、既存のＨ．２６４を基盤とした多階層基盤のコーディング技術に関する研究が活発に進行されている。
【０００６】
現在Ｈ．２６４標準で使用されるエントロピ符号化技術としては、可変長符号化（ＣＡＶＬＣ；Ｃｏｎｔｅｘｔ−Ａｄａｐｔｉｖｅ  Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）、ＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）、Ｅｘｐ＿Ｇｏｌｏｍｂ（ｅｘｐｏｎｅｎｔｉａｌ  Ｇｏｌｏｍｂ）等がある。
【０００７】
次の表（１）はＨ．２６４標準でコーディングされるパラメータごとに使用されるエントロピ符号化技法を表す。
【０００８】
【表１】
2009506708.tif 000003
前記表（１）によればｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｍｏｄｅフラッグが０である場合には、該当マクロブロックがインター予測モードであるのかイントラ予測モードであるのかを表すマクロブロック類型（ｍａｃｒｏｂｌｏｃｋ  ｔｙｐｅ）、マクロブロックを構成するサブブロックの形態を表すマクロブロックパターン（ｍａｃｒｏｂｌｏｃｋ  ｐａｔｔｅｒｎ）、量子化ステップ（ｑｕａｎｔｉｚａｔｉｏｎ  ｓｔｅｐ）を決定するインデックスである量子化パラメータ（ｑｕａｎｔｉｚａｔｉｏｎ  ｐａｒａｍｅｔｅｒ）、インター予測モードで参照されるフレームの番号を表す参照フレームインデックス、およびモーションベクタはＥｘｐ＿Ｇｏｌｏｍｂによって符号化される。そして、元のイメージと予測イメージ間の差異を表す残差データ（ｒｅｓｉｄｕａｌ  ｄａｔａ）はＣＡＶＬＣによって符号化される。
【０００９】
反面、前記ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｍｏｄｅフラッグが１である場合には、前記すべてのパラメータはＣＡＢＡＣでコーディングされる。
【００１０】
ＣＡＢＡＣは高い複雑性（ｈｉｇｈ  ｃｏｍｐｌｅｘｉｔｙ）を有するパラメータで良い性能を表す。したがって、ＣＡＶＬＣなどのＶＬＣ（Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）基盤のエントロピコーディングは基礎的なプロファイルとしてセッティングされる。
【００１１】
Ｊ  ＲｉｄｇｅおよびＭ．Ｋａｒｃｚｅｗｉｃｚによって１６番目のＪＶＴミーティングで提出された文書“Ｖａｒｉａｂｌｅ  ｌｅｎｇｔｈ  ｃｏｄｅ  ｆｏｒ  ＳＶＣ”（ＪＶＴ−Ｐ０５６、Ｐｏｚｎａｎ、１６−ｔｈ  ＪＶＴ  ｍｅｅｔｉｎｇ；以下ＪＶＴ−Ｐ０５６という）にはＳＶＣの特性を考慮したＣＡＶＬＣ技法を提示している。ＪＶＴ−Ｐ０５６は、離散階層（ｄｉｓｃｒｅｔｅ  ｌａｙｅｒ）では既存のＨ．２６４と同一な処理過程にしたがうが、ＦＧＳ階層（Ｆｉｎｅ  Ｇｒａｎｕｌａｒ  Ｓｃａｌａｂｉｌｉｔｙ  ｌａｙｅｒ）では別途の統計的特性にともなうＶＬＣ技法を使用する。
【００１２】
現在、ＪＳＶＭ（Ｊｏｉｎｔ  Ｓｃａｌａｂｌｅ  Ｖｉｄｅｏ  Ｍｏｄｅｌ）では、ＦＧＳエンコーディングのため、３種類のスキャニングパス（ｓｃａｎｎｉｎｇ  ｐａｓｓ）を支援するが、それは重要パス（ｓｉｇｎｉｆｉｃａｎｔ  ｐａｓｓ）、リファインメントパス（ｒｅｆｉｎｅｍｅｎｔ  ｐａｓｓ）、および残余パス（ｒｅｍａｉｎｄｅｒ  ｐａｓｓ）である。それぞれのスキャニングパスに対し、その統計的特性によって互いに異なる方法が適用される。例えば、リファインメントパスではエントロピコーディングにおいて“０”値がより好まれるという事実に基づいて得られる一つのＶＬＣテーブルが利用される。
【００１３】
ＪＶＴ−Ｐ０５６ではＦＧＳ階層のためＶＬＣ技法を提示する。前記技法は離散階層では従来のＣＡＶＬＣ技法をそのまま使用するが、ＦＧＳ階層での統計的特性を利用した別途の技法を使用する。
【００１４】
ＪＶＴ−Ｐ０５６は重要パスに対し、次のような技法を提案する。コードワード（ｃｏｄｅｗｏｒｄ）はカット−オフ（ｃｕｔ−ｏｆｆ）パラメータ“ｍ”によって特性が消される。コーディングされるシンボル“Ｃ”が前記ｍより小さかったり同じならば前記シンボルはＥｘｐ＿Ｇｏｌｏｍｂコードを使用しエンコーディングされる。前記シンボルＣが前記ｍより大きいならば、次の式（１）にしたがって長さ（ｌｅｎｇｔｈ）および添え字（ｓｕｆｆｉｘ）の二つの部分に分れてエンコーディングされる。
【００１５】
【数１】
2009506708.tif 000004
前記Ｐはエンコーディングされたコードワードであって、長さおよび添え字（００、１０、または１０を有する）で成される。
【００１６】
リファインメントパスに対しては確率的に０が発生する可能性がさらに高いため、ＪＶＴ−Ｐ０５６では、コーディングされる各リファインメント係数（ｒｅｆｉｎｅｍｅｎｔ  ｂｉｔ）のグループに含まれる０の個数に基づいた一つのＶＬＣテーブルを利用し、互いに異なる長さを有するコードワードを割り当てる方法を提示する。前記リファインメント係数のグループ（以下、リファインメント係数グループ（ｒｅｆｉｎｅｍｅｎｔ  ｂｉｔ  ｇｒｏｕｐ）という）はリファインメント係数を所定個数単位で集めたものであって、例えば４個のリファインメント係数を一つのリファインメント係数グループと見なすことができる。
【００１７】
現在ＳＶＣ草案は従来のＨ．２６４の単一階層コーディングアルゴリズムを多階層コーディングアルゴリズムで拡張したものであるため、各階層のコーディングにおいてはいくぶんかのオーバーヘッドが存在する。
【００１８】
しかし、現在ＳＶＣ草案では従来のＨ．２６４と同様に、現在階層のいかなるブロックに対するエントロピコーディングを遂行するにおいて、同一階層の周辺ブロックの特性を参照する方式を使用している。しかし、多階層となったビデオの場合、前記現在階層の前記ブロックと対応される下位階層のブロックの特性を追加的に利用することができる。したがって、ＳＶＣ基盤のエントロピコーディング時、下位階層の特性を利用する技法を考案する必要がある。
【００１９】
一方、前記ＪＶＴ−Ｐ０５６では、リファインメントパスでリファインメント係数をコーディングするにおいて一つの固定されたＶＬＣテーブルを利用する技法を提示している。しかし、一つのＦＧＳ階層内で互いに異なるフレーム、スライス、マクロブロック、または変換ブロック（ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）後生成されたブロック）別に互いに異なる“０”の分布を有していることを考慮する時、一つのＶＬＣテーブルを利用することだけでは充分ではない。
【発明の開示】
【発明が解決しようとする課題】
【００２０】
図１はリファインメントパスにおいて単一ＶＬＣテーブルを使用する場合にＦＧＳ階層別に０ではない係数の比率を表したのである。図１を見れば、ＦＧＳ階層が増加するほどコーディングされるブロックのうち０ではない数は最大１５％まで増加（０は最大１５％まで減少）される特性がある。したがって、０の数が多いものと仮定された単一ＶＬＣテーブルがたとえ、第１ＦＧＳ階層では効率的に使用されるとしても、その上位ＦＧＳ階層でも相変らず効率的であると保障することは難しい。むしろ、各ＦＧＳ階層別に互いに異なるＶＬＣテーブルを適応的に（ａｄａｐｔｉｖｅｌｙ）使用することがより効率的であるといえる。したがって、リファインメントパスにおいて、複数のＦＧＳ階層別に互いに異なるＶＬＣテーブルを適応的に使用する技法を考案する必要があるのである。
【課題を解決するための手段】
【００２１】
本発明は前記した必要性を考慮して考案されたものであって、多階層基盤のビデオコーデックにおいて階層間の関連性（ｉｎｔｅｒ−ｌａｙｅｒ  ｃｏｒｒｅｌａｔｉｏｎ）を利用してエントロピコーディングの性能向上させる方法および装置を提供することを目的とする。
【００２２】
また、本発明はリファインメントパスにおいて、各ＦＧＳ別特性にしたがって適応的にＶＬＣテーブルを選択できるようにすることによって、エントロピコーディングの性能を向上させる方法および装置を提供することを目的とする。
【００２３】
本発明の目的は前記言及した目的に制限されず、言及されていないまた他の目的は次の記載から当業者に明確に理解できるであろう。
【００２４】
前記した目的を達成するため、多階層ビデオをコーディングして生成される係数のうち所定階層のブロックに含まれる第１係数を無損失符号化するエントロピ符号化方法において、（ａ）前記ブロックと対応される基礎階層の領域内に含まれる第２係数の分布を獲得する段階、（ｂ）複数のルックアップテーブルのうち前記獲得された分布に適合したルックアップテーブルを選択する段階、および（ｃ）前記選択されたルックアップテーブルにマッピングされる値で前記第１係数を変換する段階を含む。
【００２５】
前記した目的を達成するため、入力されたビットストリームのうち所定階層の第１ビットストリームを無損失復号化して、前記階層のブロックに対する第１係数を復元するエントロピ復号化方法において、（ａ）前記ブロックと対応される基礎階層の領域内に含まれる第２係数を復元する段階、（ｂ）前記復元された第２係数の分布を獲得する段階、（ｃ）複数のルックアップテーブルのうち前記獲得された分布に適合したルックアップテーブルを選択する段階、および（ｄ）前記選択されたルックアップテーブルに基づいて前記第１ビットストリームを前記第１係数に変換する段階を含む。
【００２６】
前記した目的を達成するため、一つの離散階層と少なくとも一つ以上のＦＧＳ階層で形成される係数のうち前記ＦＧＳ階層の第１係数を無損失符号化する可変長符号化方法において、（ａ）前記第１係数の絶対値を所定の個数単位でグループ化する段階、（ｂ）前記第１係数が属する所定の単位領域に含まれる第２係数のうち０の比率を算出する段階、（ｃ）前記比率が所定の臨界値を越えるのかの可否にしたがって複数のＶＬＣテーブルのうち一つを選択する段階、および（ｄ）前記選択されたＶＬＣテーブルを参照して前記グループ化された第１個数の絶対値を対応されるコードワードに変換する段階を含む。
【００２７】
前記した目的を達成するため、入力されたビットストリームのうちＦＧＳ階層の第１ビットストリームを無損失復号化して前記ＦＧＳ階層に対する第１係数を復元する可変長復号化方法において、（ａ）前記第１係数が属する所定の単位領域に含まれる既復元された第２係数のうち０の比率を算出する段階、（ｂ）前記比率が所定の臨界値を越えるのかの可否にしたがって複数のＶＬＣテーブルのうち一つを選択する段階、および（ｃ）前記第１ビットストリームのうち前記選択されたＶＬＣテーブル上の所定コードワードに対応される前記第１係数を復元する段階を含む。
【００２８】
前記した目的を達成するため、入力されたビットストリームのうちＦＧＳ階層の第１ビットストリームを無損失復号化して前記ＦＧＳ階層に対するリファインメント係数（ｒｅｆｉｎｅｍｅｎｔ  ｃｏｅｆｆｉｃｉｅｎｔｓ）を復元する可変長復号化方法において、（ａ）前記第１ビットストリームに所定の単位領域別に挿入されているＶＬＣテーブルのトークンを判読する段階、（ｂ）前記トークンに該当するＶＬＣテーブルをローディングする段階、および（ｃ）前記第１ビットストリームのうち前記ローディングされたＶＬＣテーブル上の所定コードワードに対応される前記第１係数を復元する段階を含む。
【００２９】
前記した目的を達成するため、入力されたビットストリームのうち所定階層の第１ビットストリームを無損失復号化して、前記階層のブロックに対する第１係数を復元するエントロピ復号化装置において、前記ブロックと対応される基礎階層の領域内に含まれる第２係数を復元する手段、前記復元された第２係数の分布を獲得する手段、複数のルックアップテーブルのうち前記獲得された分布に適合したルックアップテーブルを選択する手段、および前記選択されたルックアップテーブルに基づいて、前記第１ビットストリームを前記第１係数に変換する手段を含む。
【００３０】
前記した目的を達成するため、入力されたビットストリームのうちＦＧＳ階層の第１ビットストリームを無損失復号化して、前記ＦＧＳ階層に対する第１係数を復元する可変長復号化装置において、前記第１係数が属する所定の単位領域に含まれる既復元された第２係数のうち０の比率を算出する手段、前記比率が所定の臨界値を越えるのかの可否にしたがって複数のＶＬＣテーブルのうち一つを選択する手段、および前記第１ビットストリームのうち前記選択されたＶＬＣテーブル上の所定コードワードに対応される前記第１係数を復元する手段を含む。
【００３１】
前記した目的を達成するため、入力されたビットストリームのうちＦＧＳ階層の第１ビットストリームを無損失復号化して、前記ＦＧＳ階層に対するリファインメント係数を復元する可変長復号化装置において、前記第１ビットストリームに所定の単位領域別に挿入されているＶＬＣテーブルのトークンを判読する手段、前記トークンに該当するＶＬＣテーブルをローディングする手段、および前記第１ビットストリームのうち前記ローディングされたＶＬＣテーブル上の所定コードワードに対応される前記第１係数を復元する手段を含む。
【発明を実施するための最良の形態】
【００３２】
以下、添付された図面を参照して本発明の好ましい実施形態を詳細に説明する。本発明の利点および特性、そしてそれらを達成する方法は添付される図面と共に詳細に後述されている実施形態を参照すれば明確になるであろう。しかし本発明は以下で開示される実施形態に限定されるものではなく互いに異なる多様な形態で具現されるものであり、単に本実施形態は本発明の開示を完全にし、本発明が属する技術分野で通常の知識を有する者に発明の範疇を完全に知らせるために提供されるものであり、本発明は請求項の範囲によってのみ定義される。明細書全体にかけて、同一参照符号は同一構成要素を指称する。
【００３３】
本発明の目的のエントロピコーディングの性能向上のため、本発明では２種類技法を提示しようとする。この中一つは階層間の関連性を利用した拡張されたＣＡＶＬＣ技法（以下、「拡張されたＣＡＶＬＣ技法」という）であり、他の一つはＦＧＳ階層別に適応的ＶＬＣテーブルを使用してエントロピコーディング性能を向上させる技法（以下、「階層別適応的ＶＬＣ技法」という）である。
【００３４】
拡張されたＣＡＶＬＣ技法
現在、ＳＶＣ草案では２種類の階層間（ｉｎｔｅｒ−ｌａｙｅｒ）予測技法が提供されていている。一つはイントラベースモード（ｉｎｔｒａ−ｂａｓｅ  ｍｏｄｅ）であり、他の一つは残差予測モード（ｒｅｓｉｄｕａｌ  ｐｒｅｄｉｃｔｉｏｎ  ｍｏｄｅ）である。前記イントラベースモードは現在階層のブロックと対応される基礎階層のイメージを予測信号とし、前記現在階層のブロックと前記予測信号を差分しコーディング効率を上げる方法である。以下本発明において、“ブロック”という用語はＤＣＴ変換などの空間的変換において変換単位（例：４×４、８×８等）を意味するものとする。一方、前記残差予測モードは現在階層でインター予測をとおし生成される残差信号（ｒｅｓｉｄｕａｌ  ｓｉｇｎａｌ）と、基礎階層でインター予測をとおし生成される基礎残差信号間の差分を求めることによって追加的にコーディング効率を上げる方法である。
【００３５】
このように、基礎階層から提供される前記予測信号や前記基礎残差信号は、現在階層の他のブロックまたは現在階層の他の残差信号よりさらに効率的な情報を提供する。したがって、ルックアップテーブル（ｌｏｏｋ−ｕｐ  ｔａｂｌｅ）を選択するにおいて、図２で図示するように基礎階層の特性を利用するのが好ましいこともある。
【００３６】
ただし、ＳＶＣ草案では前記イントラベースモードおよび残差予測モードを使用したり使用しないオプションをおけるようにしている。すなわち、Ｉｎｔｒａ＿ｂａｓｅ＿ｍｏｄｅフラッグが１である場合にはイントラベースモードを、Ｒｅｓ＿ｐｒｅｄ＿ｆｌａｇフラッグが１である場合には残差予測モードを使用することを表し、各フラッグが０である場合には該当モードを使用しないことを表す。したがって、本発明で提示する拡張されたＣＡＶＬＣ技法を使用するためには前記フラッグのうち少なくとも一つは１である場合でなければならない。
【００３７】
図３は拡張されたＣＡＶＬＣ技法によるＣＡＶＬＣエンコーダの構成を図示する図である。図３は既存のＨ．２６４で使用されていたＣＡＶＬＣエンコーダと類似しているが、ルックアップテーブルを選択するにおいて基礎ブロックの特性だけを利用したり、周辺ブロックの特性および基礎ブロックの特性を組み合わせて利用し、Ｎｕｍ＿Ｔｒａｉｌコーディング部１１０は前記選択された参照テーブルを参照して係数の数（ＴｏｔａｌＣｏｅｆｆｓ）およびＴｒａｉｌｉｎｇＯｎｅｓをコーディングするという点で差異がある。
【００３８】
図４は現在階層のブロック（Ｃ）をＣＡＶＬＣエンコーディングするにおいて、前記ブロック（Ｃ）の周辺ブロック（Ａ、Ｂ）および前記ブロック（Ｄ）に対応される基礎階層のブロック（Ｄ；以下基礎ブロックという）を参照する概念を図示する図である。例えば、図４で基礎階層はＱＣＩＦ解像度を有する離散階層であり、現在階層はＣＩＦ解像度を有する離散階層であり得る。離散階層とＦＧＳ階層間またはＦＧＳ階層相互間には関連性がほぼなく、前記概念を適用しがたいであろう。
【００３９】
先に、基礎ブロックの情報だけを利用してルックアップテーブルを選択する場合を察し見れば、参照テーブル選択部１６０は基礎ブロック（Ｄ）に含まれる係数のうち０ではない個数をカウントする。そして、前記カウントされた個数にしたがって次の表（２）を利用してルックアップテーブルを選択する。
【００４０】
【表２】
2009506708.tif 000005
テーブル１は小さい値のＴｏｔａｌＣｏｅｆｆｓに特に短いコードを割り当てて大きい値のＴｏｔａｌＣｏｅｆｆｓに特に長いコードを割り当てるために小さい個数の係数側に偏向した（ｂｉａｓｅｄ）テーブルである。テーブル２は中間程度の個数を有する係数側に偏向して（２ないし４付近のＴｏｔａｌＣｏｅｆｆ値には相対的に短いコードが割り当てられる）、テーブル３は高い個数を有する係数側に偏向し、テーブル４はすべてのＴｏｔａｌＣｏｅｆｆとＴｒａｉｌｉｎｇＯｎｅｓ値に対して固定された６ビットコードを割り当てる。
【００４１】
次に、周辺ブロック（Ａ、Ｂ）および基礎ブロック（Ｄ）の情報を組み合わせてルックアップテーブルを選択する場合を調べれば、参照テーブル選択部１６０は周辺ブロック（Ａ、Ｂ）の０ではない係数のカウント（ｎＡ、ｎＢ）と基礎ブロックの０ではない係数のカウント（ｎＤ）を組み合わせてルックアップテーブルを選択する。例えば、前記カウント（ｎＤ）は次の式（２）と共に求めることができる。
【００４２】
ｎＤ  ＝  ｒｏｕｎｄ（ｗ１×ｎＡ＋ｗ２×ｎＢ＋ｗ３×ｎＣ）               （２）
式（２）で、ｗ１、ｗ２、およびｗ３はそれぞれの加重値であり、これらの合計は１である。前記加重値は簡単にすべて１／３にすることもでき、基礎ブロックの比重をより大きくすることもできる。または、前記加重値は通常的に使用されるＲ−Ｄ費用関数（Ｒａｔｅ−Ｄｉｓｔｏｒｔｉｏｎ  ｃｏｓｔ  ｆｕｎｃｔｉｏｎ）を最小とする値に定めることができる。
【００４３】
もちろん、コーディング順序にしたがって周辺ブロックが一つだけ存在したり、存在しないこともある。式（２）は複数のデータから代表値を計算する一例として加重平均を挙げたものであって、このような代表値を計算する方法ではメディアン（ｍｅｄｉａｎ）等他の演算を利用することもできる。
【００４４】
テーブル選択部１６０は前記式（２）にしたがって計算されるｎＤを前記表（２）に適用して４個のルックアップテーブルのうち一つを選択することができる。
【００４５】
また図３を参照すれば、Ｎｕｍ＿Ｔｒａｉｌコーディング部１１０はテーブル選択部１６０によって選択されたルックアップテーブルに基づいて、現在ブロックに含まれた０ではない係数（ＴｏｔａｌＣｏｅｆｆ）とＴｒａｉｌｉｎｇ  Ｏｎｅｓをコーディングする。前記Ｔｒａｉｌｉｎｇ  Ｏｎｅｓは前記係数のうち１または−１を意味する。
【００４６】
Ｎｕｍ＿Ｔｒａｉｌコーディング部１１０以後のＳｉｇｎ＿Ｔｒａｉｌコーディング部１２０、Ｌｅｖｅｌコーディング部１３０、Ｔｏｔａｌ＿ｚｅｒｏｓコーディング部１４０、およびＲｕｎコーディング部１５０での動作過程は従来のＨ．２６４と同様であるため概略的に説明する。
【００４７】
Ｓｉｇｎ＿Ｔｒａｉｌコーディング部１２０は前記Ｔｒａｉｌｉｎｇ  Ｏｎｅｓの符号を逆順（スキャン順序の逆順）に単一ビット（０は＋を、１は−を表す）でコーディングする。Ｌｅｖｅｌコーディング部１３０は前記Ｔｒａｉｌｉｎｇ  Ｏｎｅｓを除いた残り係数のレベル（サイズ）をコーディングする。そして、Ｔｏｔａｌ＿ｚｅｒｏｓコーディング部１４０は前記０ではない係数のうち最後の係数以前の全体０の個数（ＴｏｔａｌＺｅｒｏｓ）をコーディングする。最後に、Ｒｕｎコーディング部１５０は前記０ではない係数の間に存在する０の個数をコーディングする。これでＣＡＶＬＣコーディングされたビットストリームが出力される。前記選択されたルックアップテーブルはＣＡＶＬＣデコーディング過程でも同一なプロセスを経て選択すれば良いため、前記ビットストリームにその情報を含む必要はない。
【００４８】
一方、前記ビットストリームから係数（量子化係数）をデコーディングする過程も前記エンコーダ１００での過程と同様の順序で成される。ただし、各段階で遂行されたコーディング技法の逆にデコーディングされなければならないであろう。図５は図３のＣＡＶＬＣエンコーダに対応するＣＡＶＬＣデコーダの構成を図示するブロック図である。
【００４９】
テーブル選択部２６０はテーブル選択部１６０と同様に、基礎ブロックの係数の特性を利用したり、基礎ブロックの係数および周辺ブロックの係数の特性を組み合わせて複数のルックアップテーブルのうち一つを選択してＮｕｍ＿Ｔｒａｉｌデコーディング部２１０に提供する。ビデオエンコーディング過程と同様にビデオデコーディング過程でも、基礎階層が先に復元された後その上の階層（現在階層）が復元されるため、テーブル選択部２６０で選択されるルックアップテーブルとテーブル選択部（図３の１６０）で選択されるルックアップテーブルは一致するようになる。
【００５０】
Ｎｕｍ＿Ｔｒａｉｌデコーディング部２１０は前記提供されたルックアップテーブルに基づいて、入力されたビットストリームの始めから前記ルックアップテーブルの項目と一致するビットからＴｏｔａｌＣｏｅｆｆｓおよびＴｒａｉｌｉｎｇＯｎｅｓを復元する。その次に、Ｓｉｇｎ＿Ｔｒａｉｌデコーディング部２２０は前記ビットストリームのうちその次に１ビットずつを読み込み、前記ＴｒａｉｌｉｎｇＯｎｅｓの符号を復元する。Ｌｅｖｅｌデコーディング部２３０は前記ビットストリームに含まれたレベルに対するコードを読み込み、０ではない係数のうち前記ＴｒａｉｌｉｎｇＯｎｅｓ以外の係数のレベル（サイズ）を復元する。Ｔｏｔａｌ＿Ｚｅｒｏｓデコーディング部２４０はＴｏｔａｌＺｅｒｏｓに該当するコードを読み込み、前記ＴｏｔａｌＺｅｒｏｓ（０ではない係数の個数）を復元する。最後に、Ｒｕｎデコーディング部２５０は入力されたビットストリームのうち残余ビットストリームを読み込み、前記０ではない係数の間にＲｕｎ個数だけの０を挿入する。前記挿入される０の総個数は前記ＴｏｔａｌＺｅｒｏｓと一致しなければならない。これで、ＣＡＶＬＣコーディング以前の係数が復元される。
【００５１】
階層別適応的ＶＬＣ技法
ＪＶＴ−Ｐ０５６文書ではＦＧＳ階層のエントロピコーディングにおいて、ＣＡＢＡＣ代りにＶＬＣを適用する技法を提示した。前記文書では、離散階層に比べてＦＧＳ階層のリファインメントパスでは０が発生する可能性がさらに大きいという特性を考慮し、一つのＶＬＣテーブルを利用する。一般的に、複数のＦＧＳ階層のうち上位階層に行くほど、０の個数は増加し、同一なＦＧＳ階層内でもフレーム、スライス、マクロブロック、またはブロック別に前記０の個数の分布が同一なものであると見ることはできない。したがって、一つのＶＬＣテーブルを使用することは最適であるとは見えず、各場合に応じて適応的に複数のＶＬＣテーブルのうち一つのテーブルを選択できるようにする技法が要求される。
【００５２】
本発明は、一つの単位領域（フレーム、スライス、マクロブロック、またはブロック）に含まれる０の個数を基準に、互いに異なるＶＬＣテーブルを選択することが可能なようにする。
【００５３】
図６はＦＧＳスキーム（ｓｃｈｅｍｅ）に応じて、量子化係数が一つの離散階層と少なくとも一つ以上のＦＧＳ階層で分離されて表示される例を図示する図である。各階層は４×４単位の係数から成るブロックで表示されている。同一な位置にある数字は一つの量子化係数を表現するために使用される。前記ＦＧＳスチームはビット率観点でのスケーラビリティ（ｓｃａｌａｂｉｌｉｔｙ）を支援するために使用され、前記階層のうち上位階層から切り出すこと（ｔｒｕｎｃａｔｉｏｎ）で可変ビット率を具現することができる。もちろんいかなる階層中一部の数字だけを切り捨てることもできる。
【００５４】
例えば、４×４ブロックのうち１行の２列に位置する係数は３、−１、１である。この位置に対応される量子化係数を正しく復元するためにはこれら係数すべてが必要であるが、状況によっては１または、１および−１は切り出され得、デコーダ段では相対的に重要な下位階層の係数だけで前記量子化係数を復元するようになる（もちろん、損失が発生する）。
【００５５】
ＦＧＳ階層は離散階層とはその特性が非常に相異なる。なぜなら、離散階層は多少ラフ（ｒｏｕｇｈ）であるが、元のイメージを表現していることに反して、ＦＧＳ階層は差分（ｄｉｆｆｅｒｅｎｃｅ）概念を有する値で構成されているからである。また、離散階層では０、１、−１以外の他の値も表れる反面、ＦＧＳ階層ではその特性上０、１、−１だけで表現されるのが一般的である。
【００５６】
前述した通り、ＦＧＳ階層のコーディング時プロセスは重要パスおよびリファインメントパスに分けられ、これに伴い互いに異なるエントロピコーディング技法が適用される。重要パスでコーディングされるＦＧＳ階層上の係数はその対応される離散階層の係数が０である時であり、リファインメントパスでコーディングされるＦＧＳ階層上の係数はその対応される離散階層の係数が０ではない時である。第１ＦＧＳ階層の場合、リファインメントパスでコーディングされる係数（すなわち、リファインメント係数）は陰影で表示されている。本発明による階層別適応的ＶＬＣ技法は特に、前記リファインメントパスに適用されるのに適している。離散階層の係数をＶＬＣコーディングする場合には、図３と同じようにＬｅｖｅｌ、Ｒｕｎなどをすべて考慮してコーディングするのが好ましい。しかしリファインメント係数の場合にはＬｅｖｅｌ、ＴｒａｉｌｉｎｇＯｎｅｓなどのコーディングは不必要なであるため別途のＶＬＣコーディングスキームが要求される。
【００５７】
図７は本発明の一実施形態によるリファインメント係数エンコーダ３００の構成を図示するブロック図である。
現在リファインメント係数はグループ化部３１０に入力される。グループ化部３１０は入力されたリファインメント係数を所定の個数単位、例えば４個ずつグループ化してその絶対値（サイズ；１または０で成される）はサイズコーディング部３３０に提供し、その符号（ｓｉｇｎ；０を除いたリファインメント係数の符号）は符号コーディング部３５０に提供する。
【００５８】
一方、既コーディングされた単位領域（フレーム、スライス、マクロブロック、またはブロックを含む。以下同じである）のリファインメント係数を参照してサイズコーディング部３３０で使用されるＶＬＣテーブルを選択する。前記単位領域は前記現在リファインメント係数が属するフレーム、スライス、マクロブロック、またはブロックとなり得る。例えば、フレーム単位でテーブルを選択すると選択候補となるテーブル数は減少される反面、テーブル選択の適応性（ａｄａｐｔｉｖｉｔｙ）面では多少不利である。一方、ブロック単位でテーブルを選択すると非常に高い適応性を有し得るが、選択候補となるテーブル数が増加する。したがって、使用用途、目的などを考慮し、ユーザが任意で単位領域を選択できるようにするのが好ましい。
【００５９】
一旦、現在リファインメント係数が属する単位領域が決まれば、テーブル選択部３２０は前記単位領域に属するビットのうち０の個数をカウントする。そうして、前記ビットのうち０が占める比率が所定の臨界値（第１臨界値）を越えれば、０に偏向したテーブル（例：従来のＪＶＴ−Ｐ０５６で提示したテーブル）を選択し、そうでなければ相対的に０にそれほど偏向されていないテーブルを選択する。前記選択のためＶＬＣテーブルは２個またはそれ以上を使用することができる。もし、２個のＶＬＣテーブルのうちから選択（この時にはｓｗｉｔｃｈｉｎｇであると表現することができる）をすれば一つの臨界値だけあれば良く、それからＶＬＣテーブルが一つ増加する度に第２臨界値、第３臨界値などが追加的に必要である。前記臨界値は経験的または実験的に決定され得る値として、例えば、７／８、３／４、２／３、１／２等で決まることができる。
【００６０】
例えば、前記第１臨界値を２／３とし、２個のＶＬＣテーブルを使用するとすれば、前記ＶＬＣテーブルは表（３）および表（４）のように示し得る。前記単位領域の０の個数が２／３を越える場合には０側に偏向した表（３）のＶＬＣテーブルが使用され得る。また、前記０の個数が２／３以下の場合には０側にそれほど偏向されていない表（４）のＶＬＣテーブルが使用され得る。表（３）および表（４）においてシンボルは４個ずつグループ化されたリファインメント係数列のサイズ値であり、コードワードは前記シンボルがコーディングされる結果である。
【００６１】
【表３】
2009506708.tif 000006
【００６２】
【表４】
2009506708.tif 000007
表（３）のＶＬＣテーブルは前記ＪＶＴ−Ｐ０５６文書で提示された単一のＶＬＣテーブルと同一である。しかし、表（４）には、０の個数が減少したことを考慮して表（３）とは異なるＶＬＣテーブルが図示されている。表（４）のＶＬＣテーブルではシンボルが有する４個のビットのうち２個が１である場合に最も短いコードワードを付与し、４個のビットのうち１個が１である場合および４個のビットすべてが０である場合にはその次に短いコードワードを付与している。したがって、表（４）のＶＬＣテーブルはリファインメント係数のうち多少１が多い場合（特に、高いＦＧＳ階層で）に適用されれば、生成されるコードのサイズを減少させることができる。さらに多くの数臨界値およびＶＬＣテーブルを使用することによって、リファインメント係数が有する特性をより細分化して表現することもできるのはもちろんである。
【００６３】
再び図７に戻ると、テーブル選択部３２０で選択されたＶＬＣテーブルに対するトークン（ｔｏｋｅｎ）はサイズコーディング部３３０に提供される。前記トークンは各々のＶＬＣテーブルに対応されるインデックスを意味する。サイズコーディング部３３０は前記提供されたトークンに該当するＶＬＣテーブルをテーブル保存部３４０から読み込む。テーブル保存部３４０はロム（ＲＯＭ）、ピーロム（ＰＲＯＭ）、イーイーピーロム（ＥＰＲＯＭ）、イーイーピーロム（ＥＥＰＲＯＭ）、フラッシュメモリのような非揮発性メモリ素子またはラム（ＲＡＭ）のような揮発性メモリ素子、ハードディスクのような保存媒体、またはその他該当分野で知られている任意の他の形態で具現され得る。
【００６４】
サイズコーディング部３３０は前記トークンに該当するＶＬＣテーブルを参照し、グループ化部３１０から提供される所定個数（４個）のリファインメント係数の絶対値（すなわち、シンボル）をコードワードに変換する。
【００６５】
一方、符号コーディング部３５０はグループ化部３１０から提供される符号を１ビットの符号コードでコーディングする。通常、前記符号コードは陽の符号の場合０であり、陰の符号の場合１である。
【００６６】
Ｍｕｘ（ｍｕｌｔｉｐｌｅｘｅｒ；３６０）はサイズコーディング部３３０から出力されるコードワードの集合と、符号コーディング部３５０から出力される符号コードの集合をマルチプレッシング（Ｍｕｌｔｉｐｌｅｘｉｎｇ）してビットストリームを生成する。
【００６７】
例えば、現在コーディングするリファインメント係数の集合が｛−１、０、１、１、０、０、１、−１｝とする。グループ化部３１０は前記リファインメント係数の集合を４個ずつグループ化し、その絶対値である１０１１および００１１はサイズコーディング部３３０に、その符号である｛−＋＋＋−｝は符号コーディング部３５０に提供する。
【００６８】
テーブル選択部３２０は単位領域のリファインメント係数のうち０が占める比率が所定の臨界値の２／３を越えない場合、前記表（４）のＶＬＣテーブルに対するトークンをサイズコーディング部３３０に伝達する。サイズコーディング部３３０はテーブル保存部３４０から前記表（４）のようなＶＬＣテーブルを読み込み、これを参照して前記提供された１０１１および００１１に対応するコードワードに変換する。変換された結果、サイズコーディング部３３０から出力されてＭｕｘ３６０に入力される値は１１１１０１００となる。一方、符号コーディング部３５０は前記符号｛−＋＋＋−｝を１０００１に変換する。前記変換された１０００１に対して追加的にいかなるエントロピコーディング方式を適用することも可能である。そうすれば、Ｍｕｘ３６０は前記１１１１０１００および前記１０００１を結合して出力する。
【００６９】
図８は図７のリファインメント係数エンコーダ３００に対応されるリファインメント係数デコーダ４００の構成を図示するブロック図である。入力されたビットストリームはＤｅｍｕｘ（ｄｅｍｕｌｔｉｐｌｅｘｅｒ；４１０）をとおし、コードワードの集合と、符号コードの集合で分離される。前記コードワードの集合はサイズデコーディング部４３０に前記符号コードの集合は符号デコーディング部４５０に各々提供される。
【００７０】
前記エンコーダ３００でと同様に、テーブル選択部４２０は既復元された単位領域に含まれたリファインメント係数のうち０が占める比率を計算してそれが前記臨界値を越えるのかの可否にしたがって２個のＶＬＣテーブルのうち一つを選択する。もちろん、ここでも複数の臨界値を設定し、３個以上のＶＬＣテーブルを使用することも可能である。
【００７１】
サイズデコーディング部４３０は前記選択されたＶＬＣテーブルをテーブル保存部４４０から読み込んだ後、前記ＶＬＣテーブルのコードワードと同一な値が表れる時まで、前記コードワードの集合を構成するビットを追加的に読み込む。もし、読み込んだ所定個数の前記ビットが前記選択されたＶＬＣテーブルに含まれたいかなるコードワードと一致すれば、前記一致したコードワードをそれに対応されるシンボルに変換する。
【００７２】
前記変換されたシンボルは符号デコーディング部４５０に提供される。符号デコーディング部４５０はＤｅｍｕｘ４１０から提供された符号コードを一つずつ読み込み、サイズデコーディング部４３０から提供されるシンボル（４個のビットで構成される）のうち０ではない値（すなわち、１）に順に前記符号コードに該当する符号を付与する。これで、前記ビットストリームから現在リファインメント係数が復元される。
【００７３】
例えば、デコーダ４００で入力されるビットストリームが１１１１０１００１０００１であると仮定しよう。Ｄｅｍｕｘ４１０は前記ビットストリームで１１１１０１００および１０００１を分離し、前者はサイズデコーディング部４３０に提供し、後者は符号デコーディング部４５０に提供する。一方、テーブル選択部４２０は既復元された単位領域のリファインメント係数が２／３に達し得ないことを確認し、表（４）のＶＬＣテーブルのトークンをサイズデコーディング部４３０に伝達する。
【００７４】
サイズデコーディング部４３０は前記１１１１０１００を一ビットずつ読み込み、表（４）のコードワードのうち一致するコードワードがあるかを確認する。１１１１０までは一致するコードワードがないため、その次に１１１１０１を確認するようになるが、このコードワードが前記表（４）に存在するためこれと対応されるシンボル１０１１を復元する。同様に残りビット００から００１１を復元する。したがって、サイズデコーディング部４３０から出力されて符号デコーディング部４５０に入力される値は１０１１００１１である。
【００７５】
符号デコーディング部４５０は提供された１０００１に対応される符号の−＋＋＋−を復元した後、これを前記入力される１０１１００１１のうち０ではない値に付与する。その結果、最初にエンコーダ３００に入力されていたリファインメント係数の集合である｛−１、０、１、１、０、０、１、−１｝が復元される。
【００７６】
以上では、リファインメント係数デコーダ４００でも前記エンコーダ３００と同様の過程を経て複数の候補ＶＬＣテーブルのうち一つを選択するものとして説明した。ところで、ＦＧＳ階層はデコーダ４００に伝えられる時、一部が切られて（ｔｒｕｎｃａｔｅｄ）伝送されることもあるため、現在ブロックが含まれる単位領域内の周辺特性を利用する場合、エンコーダとデコーダ間で一致しないＶＬＣテーブルが使用される問題が発生することもある。この場合にはデコーダは本来の係数を全く復元することができなくなる深刻な問題がもたらされる。
【００７７】
したがって、本発明の他の実施形態において、リファインメント係数エンコーダ３００で選択されたＶＬＣテーブルのトークンがビットストリームに含まれてリファインメント係数デコーダ４００に伝達される。前記ＶＬＣテーブルは単位領域、すなわちフレーム、スライス、マクロブロック、またはブロック単位で選択され得るが、非常に細かい単位でＶＬＣテーブルを選択する場合の伝送時オーバーヘッドが大きくなり得るため、前記単位領域はスライスまたはマクロブロックであることが好ましい。この場合前記トークンはスライスヘッダーまたはマクロブロックヘッダーに含まれて伝送され得る。
【００７８】
前記トークンが含まれたビットストリームを受信したリファインメント係数デコーダ４００は前記トークンに該当するＶＬＣテーブルをテーブル保存部４４０から直ちに持って来ることができるため、テーブル選択部４２０は省略され得る。
【００７９】
図９は図３または図７と同じエントロピエンコーダが適用され得る多階層基盤のビデオエンコーダ１０００の構成を図示するブロック図である。
【００８０】
本来のビデオシーケンスは向上階層エンコーダ６００に入力され、同時にダウンサンプリング部５５０によってダウンサンプリング（階層間に解像度の変化がある場合に限る）された後基礎階層エンコーダ５００に入力される。
【００８１】
予測部６１０は現在マクロブロックで所定の方法で予測されたイメージを差分することによって残差信号を求める。前記予測方法としては方向的イントラ予測、インター予測、イントラベース予測、および残差予測などがある。
【００８２】
変換部６２０は前記求めた残差信号をＤＣＴ、ウェーブレット変換など空間的変換技法を利用して変換し、変換係数を生成する。
【００８３】
量子化部６３０は前記変換係数を所定の量子化ステップで量子化して（量子化ステップが大きいほどデータの損失ないし圧縮率が高い）量子化係数を生成する。
【００８４】
向上階層エンコーダ６００でと同様に、基礎階層エンコーダ５００も同一な機能の予測部５１０、変換部５２０、および量子化部５３０を含む。ただし、予測部５１０はイントラベース予測や残差予測は使用することができないであろう。
【００８５】
エントロピエンコーダ６４０は前記量子化係数を無損失符号化して向上階層ビットストリームを出力し、同様にエントロピエンコーダ５４０は基礎階層ビットストリームを出力する。Ｍｕｘ６５０は向上階層ビットストリームと基礎階層ビットストリームを結合してビデオデコーダ段に伝送するビットストリームを生成する。
【００８６】
前記エントロピエンコーダ６４０は図３のＣＡＶＬＣエンコーダ１００、または図７のリファインメント係数エンコーダ３００を含み得る。エントロピエンコーダ６４０がＣＡＶＬＣエンコーダ１００ならば、基礎階層エンコーダ５００の量子化部５３０から提供される基礎ブロックの量子化係数のうち０ではないものの個数を基盤に、ルックアップテーブルを選択し、選択されたルックアップテーブルにしたがってＮｕｍ＿ＴｒａｉｌコーディングなどのＣＡＶＬＣエンコーディング過程を遂行する。
【００８７】
一方、エントロピエンコーダ６４０がリファインメント係数エンコーダ３００として動作される場合には、前記基礎階層は離散階層に該当され、前記向上階層はＦＧＳ階層に該当する。エントロピエンコーダ６４０は、量子化係数の中でも離散階層の係数が０である係数、すなわちリファインメント係数を無損失符号化する。この時、エントロピエンコーダ６４０は量子化部６３０から単位領域に含まれるリファインメント係数を提起される。
【００８８】
図１０は図５または図８でのようなエントロピデコーダが適用され得る多階層基盤のビデオデコーダ２０００の構成を図示するブロック図である。
【００８９】
入力されるビットストリームはＤｅｍｕｘ８６０をとおし向上階層ビットストリームおよび基礎階層ビットストリームに分離されて向上階層エンコーダ８００および基礎階層デコーダ７００に各々提供される。
【００９０】
エントロピデコーダ８１０はエントロピエンコーダ６４０と対応される方式で無損失復号化を遂行して量子化係数を復元する。
【００９１】
逆量子化部８２０は前記復元された量子化係数を量子化部６３０で使用された量子化ステップで逆量子化する。
【００９２】
逆変換部８３０は前記逆量子化された結果を逆ＤＣＴ変換、逆ウェーブレット変換などの逆空間的変換技法を使用して逆変換する。
【００９３】
逆例側部８４０は予測部６１０で求めた予測イメージを同一な方式で求めて、前記求めた予測イメージを前記逆変換された結果と加算することによってビデオシーケンスを復元する。
【００９４】
向上階層デコーダ８００でと同様に、基礎階層デコーダ７００も同一な機能のエントロピデコーダ７１０、逆量子化部７２０、逆変換部７３０、および逆予測部７４０を含む。
【００９５】
前記エントロピデコーダ８１０は図５のＣＡＶＬＣデコーダ２００、または図８のリファインメント係数デコーダ４００を含み得る。エントロピデコーダ８１０がＣＡＶＬＣデコーダ２００ならば、基礎階層デコーダ７００のエントロピデコーダ７１０から提供される基礎ブロックの量子化係数のうち０ではないものの個数を基盤に、ルックアップテーブルを選択し、選択されたルックアップテーブルにしたがってＮｕｍ＿ＴｒａｉｌデコーディングなどのＣＡＶＬＣデコーディング過程を遂行する。
【００９６】
一方、エントロピデコーダ８１０がリファインメント係数デコーダ４００として動作される場合には、前記基礎階層は離散階層に該当され、前記向上階層がＦＧＳ階層に該当する。エントロピデコーダ８１０は、量子化係数の中でも離散階層の係数が０である係数、すなわちリファインメント係数を無損失符号化する。この時、エントロピデコーダ８１０は既エントロピデコーディングされた単位領域に含まれるリファインメント係数を利用する。
【００９７】
今まで図２ないし図６の各構成要素はメモリ上の所定領域で遂行されるタスク（ｔａｓｋ）、クラス（ｇｌａｓｓ）、サブルーチン（ｓｕｂ−ｒｏｕｔｉｎｅ）、プロセス（ｐｒｏｃｅｓｓ）、オブジェクト（ｏｂｊｅｃｔ）、実行スレッド（ｅｘｅｃｕｔｉｏｎ  ｔｈｒｅａｄ）、プログラム（ｐｒｏｇｒａｍ）のようなソフトウェア（ｓｏｆｔｗａｒｅ）や、ＦＰＧＡ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）やＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）のようなハードウェア（ｈａｒｄｗａｒｅ）で具現されることができ、また前記ソフトウェアおよびハードウェアの組み合わせで形成されることもできる。前記構成要素はコンピュータで判読可能な保存媒体に含まれていることもでき、複数のコンピュータにその一部が分散して分布することもできる。
【００９８】
以上添付された図面を参照して本発明の実施形態を説明したが、本発明が属する技術分野で通常の知識を有する者は本発明がその技術的思想や必須の特性を変更せず、他の具体的な形態で実施され得ることを理解できるであろう。したがって以上で記述した実施形態はすべての面で例示的なものであり、限定的ではないものとして理解しなければならない。
【産業上の利用可能性】
【００９９】
前記した本発明の構成によれば、多階層基盤のビデオコーデックでエントロピコーディングの性能を向上させられる。これによって、与えられたビット内でより向上したビデオ画質を提供することができる。
【図面の簡単な説明】
【０１００】
【図１】単一ＶＬＣテーブルを使用する場合、０ではない係数の比率を各ＦＧＳ階層別に示す図である。
【図２】基礎階層の特性を利用して現在階層をエントロピコーディングする基本概念を図示する図である。
【図３】拡張されたＣＡＶＬＣ技法によるＣＡＶＬＣエンコーダの構成を図示するブロック図である。
【図４】現在階層のブロックをＣＡＶＬＣエンコーディングするにおいて、周辺ブロックおよび基礎階層のブロックを参照する概念を図示する図である。
【図５】図３のＣＡＶＬＣエンコーダに対応するＣＡＶＬＣデコーダの構成を図示するブロック図である。
【図６】ＦＧＳスキームにしたがって、量子化係数が一つの離散階層と少なくとも一つ以上のＦＧＳ階層で分離して表示される例を図示する図である。
【図７】本発明の一実施形態によるリファインメント係数エンコーダの構成を図示するブロック図である。
【図８】図７のリファインメント係数エンコーダに対応するリファインメント係数デコーダの構成を図示するブロック図である。
【図９】図３または図７でのようなエントロピエンコーダが適用される多階層基盤のビデオエンコーダの構成を図示するブロック図である。
【図１０】図５または図８でのようなエントロピデコーダが適用される多階層基盤のビデオデコーダの構成を図示するブロック図である。
【図１】
2009506708.tif 000008
【図２】
2009506708.tif 000009
【図３】
2009506708.tif 000010
【図４】
2009506708.tif 000011
【図５】
2009506708.tif 000012
【図６】
2009506708.tif 000013
【図７】
2009506708.tif 000014
【図８】
2009506708.tif 000015
【図９】
2009506708.tif 000016
【図１０】
2009506708.tif 000017
【国際調査報告】
2009506708.tif 000018
2009506708.tif 000019