(57)【要約】  本発明は多階層を基盤としたスケーラブルビデオコーディング方法および装置に関するものである。  本発明の一実施形態による多階層で形成されるビデオシーケンスを符号化するビデオエンコーディング方法は、前記多階層のうち第１階層に存在する第１ブロックの残差をコーディングする段階と、前記多階層のうち第２階層に存在し、前記第１ブロックと対応する第２ブロックが、前記第１ブロックを用い、コーディングされる場合、前記コーディングされた第１ブロックの残差をビットストリームのうち廃棄不可能領域に記録する段階と、前記第２ブロックが前記第１ブロックを用いずコーディングされる場合、前記コーディングされた第１ブロックの残差を前記ビットストリームのうち廃棄可能領域に記録する段階で成される。
2009517959.tif 000002
【特許請求の範囲】
【請求項１】
多階層で形成されるビデオシーケンスを符号化するビデオエンコーディング方法であって、
（ａ）前記多階層のうち第１階層に存在する第１ブロックの残差をコーディングする段階と、
（ｂ）前記多階層のうち第２階層に存在し、前記第１ブロックと対応する第２ブロックが、前記第１ブロックを用いコーディングされる場合、前記コーディングされた第１ブロックの残差をビットストリームのうち廃棄不可能領域に記録する段階、および
（ｃ）前記第２ブロックが前記第１ブロックを用いずコーディングされる場合、前記コーディングされた第１ブロックの残差を前記ビットストリームのうち廃棄可能領域に記録する段階とを含むビデオエンコーディング方法。
【請求項２】
前記第１ブロックおよび前記第２ブロックはマクロブロックである請求項１に記載のビデオエンコーディング方法。
【請求項３】
前記廃棄不可能領域は、ｄｉｓｃａｒｄａｂｌｅ＿ｆｌａｇが０と設定された複数のＮＡＬユニットで構成され、前記廃棄可能領域は、ｄｉｓｃａｒｄａｂｌｅ＿ｆｌａｇが１と設定された複数のＮＡＬユニットで構成される請求項１に記載のビデオエンコーディング方法。
【請求項４】
前記（ａ）段階は、
空間的変換過程、量子化過程、およびエントロピ符号化過程を含む請求項１に記載のビデオエンコーディング方法。
【請求項５】
前記（ｂ）段階は、
前記記録された第１ブロックの残差に対してＣＢＰフラグを１と設定する段階を含む請求項１に記載のビデオエンコーディング方法。
【請求項６】
前記（ｃ）段階は、
前記記録された第２ブロックの残差に対するＣＢＰフラグを０と設定して、前記廃棄不可能領域に記録する段階を含む請求項１に記載のビデオエンコーディング方法。
【請求項７】
前記第２ブロックが前記第１ブロックを用いコーディングされる場合は、
前記第２ブロックが前記第１ブロックに基づいた階層間予測によってコーディングされる場合である請求項１に記載のビデオエンコーディング方法。
【請求項８】
前記第２ブロックが前記第１ブロックを用いずコーディングされる場合は、
前記第２ブロックがインター予測またはイントラ予測によってコーディングされる場合である請求項１に記載のビデオエンコーディング方法。
【請求項９】
前記廃棄不可能領域および前記廃棄可能領域は、
ＳＥＩメッセージ（Ｓｕｐｐｌｅｍｅｎｔａｌ  Ｅｎｈａｎｃｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ）によって表示される請求項１に記載のビデオエンコーディング方法。
【請求項１０】
多階層のうち少なくとも一つの以上の階層が廃棄不可能領域と廃棄可能領域で形成されるビデオビットストリームを復号化するビデオデコーディング方法であって、
（ａ）前記廃棄不可能領域で第１ブロックを判読する段階と、
（ｂ）前記第１ブロックのデータが存在すれば、前記第１ブロックのデータをデコーディングする段階と、
（ｃ）前記第１ブロックのデータが存在しなければ、前記廃棄可能領域で前記第１ブロックと同一な識別字を有する第２ブロックのデータを判読する段階、および
（ｄ）前記判読された第２ブロックのデータをデコーディングする段階とを含むビデオデコーディング方法。
【請求項１１】
前記第１ブロックのデータが存在するかは、
前記第１ブロックのＣＢＰフラグによって判断する請求項１０に記載のビデオデコーディング方法。
【請求項１２】
前記第１ブロックおよび前記第２ブロックはマクロブロックであるビデオデコーディング方法。
【請求項１３】
前記識別字は、
マクロブロックを識別する番号である請求項１２に記載のビデオデコーディング方法。
【請求項１４】
前記第１ブロックのデータが存在する場合、前記廃棄不可能領域に記録された前記第１ブロックのＣＢＰフラグは１であり、前記第１ブロックのデータが存在しない場合、前記廃棄不可能領域に記録された前記第１ブロックのＣＢＰフラグは０である請求項１０に記載のビデオデコーディング方法。
【請求項１５】
前記少なくとも一つ以上の階層は多階層のうち最上位階層を含む請求項１０に記載のビデオデコーディング方法。
【請求項１６】
前記廃棄不可能領域はｄｉｓｃａｒｄａｂｌｅ＿ｆｌａｇが０と設定された複数のＮＡＬユニットで構成され、前記廃棄可能領域はｄｉｓｃａｒｄａｂｌｅ＿ｆｌａｇが１と設定された複数のＮＡＬユニットで構成される請求項１０に記載のビデオデコーディング方法。
【請求項１７】
前記廃棄不可能領域および前記廃棄可能領域は、
ＳＥＩメッセージ（Ｓｕｐｐｌｅｍｅｎｔａｌ  Ｅｎｈａｎｃｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ）によって表示される請求項１０に記載のビデオデコーディング方法。
【請求項１８】
ＳＥＩメッセージは、
ビデオエンコーダによって作成される請求項１７に記載のビデオデコーディング方法。
【請求項１９】
前記（ｂ）段階および前記（ｄ）段階は、
エントロピ復号化過程、逆量子化過程、逆空間的変換過程、および逆予測過程を含む請求項１０に記載のビデオデコーディング方法。
【請求項２０】
多階層で形成されるビデオシーケンスを符号化するビデオエンコーダであって、
前記多階層のうち第１階層に存在する第１ブロックの残差をコーディングする手段と、
前記多階層のうち第２階層に存在し、前記第１ブロックと対応する第２ブロックが、前記第１ブロックを用いコーディングされる場合、前記コーディングされた第１ブロックの残差をビットストリームのうち廃棄不可能領域に記録する手段、および
前記第２ブロックが前記第１ブロックを用いずコーディングされる場合、前記コーディングされた第１ブロックの残差を前記ビットストリームのうち廃棄可能領域に記録する手段とを含むビデオエンコーダ。
【請求項２１】
多階層のうち少なくとも一つの以上の階層が廃棄不可能領域と廃棄可能領域で形成されるビデオビットストリームを復号化するビデオデコーダであって、
前記廃棄不可能領域で第１ブロックを判読する手段と、
前記第１ブロックのデータが存在すれば、前記第１ブロックのデータをデコーディングする手段と、
前記第１ブロックのデータが存在しなければ、前記廃棄可能領域で前記第１ブロックと同一な識別字を有する第２ブロックのデータを判読する手段、および
前記判読された第２ブロックのデータをデコーディングする手段とを含むビデオデコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオコーディング技術に関するものであって、多階層を基盤としたスケーラブルビデオコーディング方法および装置に関するものである。
【背景技術】
【０００２】
インターネットを含む情報通信技術の発達にともない文字、音声だけではなく画像通信が増加している。既存の文字中心の通信方式ではユーザの多様な欲求を充足させるには不足し、これに伴い文字、映像、音楽など多様な形態の情報を収容できるマルチメディア  サービスが増加している。マルチメディアデータはその量が膨大で、大容量の保存媒体を必要とし伝送時に広い帯域幅を必要とする。したがって、文字、映像、オーディオを含むマルチメディアデータを伝送するためには圧縮コーディング技法を使用することが必須的である。
【０００３】
データを圧縮する基本的な原理はデータの重複（ｒｅｄｕｎｄａｎｃｙ）要素を除去する過程である。イメージにおいて、同一な色やオブジェクトが反復されるような空間的重複や、動画ピクチャで隣接ピクチャがほとんど変化しない場合や音声で同じ音が継続して反復されるような時間的重複、またはである間の視覚および知覚能力が高い周波数に鈍感なことを考慮した知覚的重複を除去することによってデータを圧縮することができる。一般的なビデオコーディング方法において、時間的重複はモーション補償に基づいた時間的フィルタリング（ｔｅｍｐｏｒａｌ  ｆｉｌｔｅｒｉｎｇ）によって除去し、空間的重複は空間的変換（ｓｐａｔｉａｌ  ｔｒａｎｓｆｏｒｍ）によって除去する。
【０００４】
データの重複を除去した後に生成されるマルチメディアを伝送するためには、伝送媒体が必要であるがその性能は伝送媒体別に差異がある。現在使用される伝送媒体は秒当たり数十メガビットのデータを伝送できる超高速通信網から秒当たり３８４キロビットの伝送速度を有する移動通信網などのように多様な伝送速度を有する。このような環境で、多様な速度の伝送媒体を支援するため、または伝送環境に応じてこれに適した伝送率でマルチメディアを伝送できるようにする、すなわちスケーラブルビデオコーディング（ｓｃａｌａｂｌｅ  ｖｉｄｅｏ  ｃｏｄｉｎｇ）方法がマルチメディア環境により適しているといえる。
【０００５】
スケーラブルビデオコーディングとは、すでに圧縮されたビットストリーム（ｂｉｔ−ｓｔｒｅａｍ）に対して伝送ビット率、伝送エラー率、システム資源などの周辺条件に応じて前記ビットストリームの一部を取って、ビデオの解像度、フレーム率、およびＳＮＲ（Ｓｉｇｎａｌ−ｔｏ−Ｎｏｉｓｅ  Ｒａｔｉｏ）などを調節できるようにする符号化方式、すなわち多様なスケーラビリティ（ｓｃａｌａｂｉｌｉｔｙ）をサポートする符号化方式を意味する。
【０００６】
現在、ＭＰＥＧ  （Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）とＩＴＵ  （Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ）の共同作業グループ（ｗｏｒｋｉｎｇ  ｇｒｏｕｐ）であるＪＶＴ  （Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ）ではＨ．２６４を基本とした多階層（ｍｕｌｔｉ−ｌａｙｅｒ）形態でスケーラビリティを具現するための標準化作業（以下、ＳＶＣ（ｓｃａｌａｂｌｅ  ｖｉｄｅｏ  ｃｏｄｉｎｇ）標準という）を行っている。
【０００７】
図１は従来のトランスコーディング（ｔｒａｎｓｃｏｄｉｎｇ）によるサイマルキャスティング（ｓｉｍｕｌｃａｓｔｉｎｇ）過程を示す図である。最初にエンコーダ１１はスケーラブルではないビットストリーム（非スケーラブルビットストリーム）を生成し、これをストリーミングサーバ役割をする各々のルータまたはトランスコーダ１２、１３、１４に提供する。そうすれば、最終のクライアント機器１５、１６、１７、１８と接続されたトランスコーダ１３、１４は、前記クライアント機器の性能またはネットワーク帯域幅に応じて該当品質のビットストリームを伝送する。ところが、トランスコーダ１２、１３、１４で行われるトランスコーディング過程は、入力されたビットストリームをデコーディングした後、また他の条件のビットストリームに再エンコーディングする過程を含むため、時間の遅れが生じるだけではなくビデオ品質の低下をもたらす。
【０００８】
前記ＳＶＣ標準ではこのような問題点を考慮して空間的次元（空間的スケーラビリティ）、フレーム率（時間的スケーラビリティ）、ビット率（ＳＮＲスケーラビリティ）などの観点からスケーラブルなビットストリームを提供する。このようなスケーラブルの特徴は、複数のクライアントが同一なビデオを受信する場合、非常に有用であるが、互いに異なる空間的／時間的／品質条件を有する。スケーラブルビデオコーディングをするためにトランスコーダ（ｔｒａｎｓｃｏｄｅｒ）を必要としないため、効率的なマルチキャスティングが可能である。
【０００９】
ＳＶＣ標準によれば、図２に示すように、エンコーダ１１は最初からスケーラブルビットストリームを生成し、これの提供を受けたルータまたは抽出器（ｅｘｔｒａｃｔｏｒ）２２、２３、２４は単純に前記生成されたビットストリームの一部を抽出する方式でビットストリームの品質を変化させる。したがって、ルータまたは抽出器２２、２３、２４は、ストリーミングされているコンテンツに関するより良い制御ができ、これは可用した帯域幅の効率的な使用につながる。
【００１０】
スケーラブルコーディングは、通常多階層（ｍｕｌｔｉｐｌｅ  ｌａｙｅｒｓ）および埋め込みコーディング（ｅｍｂｅｄｄｅｄ  ｃｏｄｉｎｇ）を使用して行われる。このようなスキームで、低い階層は低い品質（空間的／時間的／ＳＮＲ）のビデオを提供する。向上階層はより多い情報を伝送することによってビデオ品質を増加させる。
【００１１】
図３は多階層を用いたスケーラブルビデオコーディング構造を示している。ここで、第１階層をＱＣＩＦ（Ｑｕａｒｔｅｒ  Ｃｏｍｍｏｎ  Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｆｏｒｍａｔ）、１５Ｈｚ（フレーム率）と定義し、第２階層をＣＩＦ（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｆｏｒｍａｔ）、３０ｈｚとし、第３階層をＳＤ（Ｓｔａｎｄａｒｄ  Ｄｅｆｉｎｉｔｉｏｎ）、６０ｈｚと定義する。仮にＣＩＦ  ０．５Ｍｂｐｓストリーム（ｓｔｒｅａｍ）を望むであれば、第２階層のＣＩＦ＿３０Ｈｚ＿０．７Ｍでビット率（ｂｉｔ−ｒａｔｅ）が０．５Ｍとなるようにビットストリームを切り取れば良い。このような方式で空間的、時間的、ＳＮＲスケーラビリティを具現することができる。ところが、階層間にはある程度の類似性が存在するため、各階層を符号化することにおいては、他の階層から予測された情報（テクスチャデータ、モーションデータなど）を利用することで符号化の効率を高めることができる。
【００１２】
しかし、このようなスケーラビリティ（ｓｃａｌａｂｉｌｉｔｙ）によって時々オーバーヘッドが生じる。図４はＨ．２６４に応じてコーディングした非スケーラブルビットストリームの品質と、ＳＶＣ標準に応じたスケーラブルビットストリームの品質を比較したグラフである。スケーラブルビットストリームにおいてＰＳＮＲ損失は約０．５  ｄＢ程度にみられる。図５のような極端な場合では、ＰＳＮＲの損失はほぼ１  ｄＢに至る。図４および図５の分析結果、ＳＶＣ標準コーデックの性能（空間的スケーラビリティ設定の場合）はＨ．２６４に比べて性能が低いＭＰＥＧ−４に近いか多少上回る程度である。この場合、スケーラビリティによって約２０％のビット率オーバーヘッドが生じる。
【００１３】
また図２を参照すれば、最後のリンク（最終ルータ及びクライアントとの間のリンク）もまたスケーラブルビットストリームを使用することが分かる。しかし、多くの場合において、このようなリンクでは前記ビットストリームを受信する単なる一つのクライアントのみが存在するため、スケーラビリティの特徴は必要とされない。したがって、前記最終リンクで帯域幅オーバーヘッドが生じる。したがって、スケーラビリティを必要としない時、このようなオーバーヘッドを適応的に除去できる技術を考案する必要がある。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明が解決しようとする課題は、多階層を基盤としたビデオコーデックのコーディング性能を向上させるものにある。
【００１５】
本発明が解決しようとするまた他の技術的課題は、スケーラブルビットストリームでスケーラビリティを必要としない場合に、前記スケーラブルビットストリームのオーバーヘッドを除去するものにある。
【００１６】
本発明の技術的課題は、前記技術的課題に制限されず、言及されていないまた他の技術的課題は次の記載から当業者に明確に理解できるであろう。
【課題を解決するための手段】
【００１７】
前述した技術的課題を解決するために、多階層で形成されるビデオシーケンスを符号化するビデオエンコーディング方法は、（ａ）前記多階層のうち第１階層に存在する第１ブロックの残差をコーディングする段階と、（ｂ）前記多階層のうち第２階層に存在し、前記第１ブロックと対応する第２ブロックが、前記第１ブロックを用いコーディングされる場合、前記コーディングされた第１ブロックの残差をビットストリームのうち廃棄不可能領域に記録する段階、および（ｃ）前記第２ブロックが前記第１ブロックを用いずコーディングされる場合、前記コーディングされた第１ブロックの残差を前記ビットストリームのうち廃棄可能領域に記録する段階と、を含む。
【００１８】
前述した技術的課題を解決するために、多階層のうち少なくとも一つの以上の階層が廃棄不可能領域と廃棄可能領域で形成されるビデオビットストリームを復号化するビデオデコーディング方法は、（ａ）前記廃棄不可能領域で第１ブロックを判読する段階と、（ｂ）前記第１ブロックのデータが存在すれば、前記第１ブロックのデータをデコーディングする段階と、（ｃ）前記第１ブロックのデータが存在しなければ、前記廃棄可能領域で前記第１ブロックと同一な識別字を有する第２ブロックのデータを判読する段階、および（ｄ）前記判読された第２ブロックのデータをデコーディングする段階と、を含む。
【００１９】
前述した技術的課題を解決するために、多階層で形成されるビデオシーケンスを符号化するビデオエンコーダは、前記多階層のうち第１階層に存在する第１ブロックの残差をコーディングする手段と、前記多階層のうち第２階層に存在し、前記第１ブロックと対応する第２ブロックが、前記第１ブロックを用いコーディングされる場合、前記コーディングされた第１ブロックの残差をビットストリームのうち廃棄不可能領域に記録する手段、および前記第２ブロックが前記第１ブロックを用いずコーディングされる場合、前記コーディングされた第１ブロックの残差を前記ビットストリームのうち廃棄可能領域に記録する手段と、を含む。
【００２０】
前述した技術的課題を解決するために、多階層のうち少なくとも一つの以上の階層が廃棄不可能領域と廃棄可能領域で形成されるビデオビットストリームを復号化するビデオデコーダは、前記廃棄不可能領域で第１ブロックを判読する手段と、前記第１ブロックのデータが存在すれば、前記第１ブロックのデータをデコーディングする手段と、前記第１ブロックのデータが存在しなければ、前記廃棄可能領域で前記第１ブロックと同一な識別字を有する第２ブロックのデータを判読する手段、および前記判読された第２ブロックのデータをデコーディングする手段と、を含む。
【００２１】
前述したように、スケーラビリティはオーバーヘッドを伴う。しかし、ストリーミングシステムでは、クライアントがスケーラブルビットストリームを必要としなければ、ビットストリームを前記クライアントに伝送するルータは低いビット率を有する非スケーラブルビットストリームを伝送することができる。
【発明の効果】
【００２２】
前述した本発明によれば、多階層基盤のビデオコーデックのコーディング性能が向上することができる。
【００２３】
また、前述した本発明によれば、スケーラブルビットストリームでスケーラビリティを必要としない場合に、前記スケーラブルビットストリームのオーバーヘッドを除去することができる。
【発明を実施するための最良の形態】
【００２４】
図６は本発明の一実施形態によるビットストリーム伝送方法を示す図である。最初にエンコーダ１１は、スケーラブルビットストリームを生成してこれをストリーミングサーバ役割をする各々のルータまたは抽出器３２、３３、３４に提供する。そうすれば、最終クライアント機器１５、１６、１７、１８と接続された抽出器１３、１４は、抽出器に提供されたスケーラブルビットストリームを該当クライアント機器またはネットワーク帯域幅に適した非スケーラブルビットストリームに変換して伝送する。前記変換過程でスケーラビリティを維持するためのオーバーヘッドは除去されるためクライアント機器のビデオ品質は向上できる。
【００２５】
このような種類のクライアントの必要によるビットストリームの変換は時々“多重適応（ｍｕｌｔｉｐｌｅ  ａｄａｐｔａｔｉｏｎ）”と呼ばれる。このような変換のためには、スケーラブルビットストリームが簡単に非スケーラブルビットストリームに変換できるフォーマットであることが要求される。本明細書で使用される次の用語を定義する。
【００２６】
−廃棄可能情報（Ｄｉｓｃａｒｄａｂｌｅ  ｉｎｆｏｒｍａｔｉｏｎ）：現在階層をデコーディングするには必要であるが、上位階層をデコーディングには必要では情報。
−廃棄不可能情報（Ｎｏｎ−ｄｉｓｃａｒｄａｂｌｅ  ｉｎｆｏｒｍａｔｉｏｎ）：上位階層をデコーディングするに必要な情報。
【００２７】
本発明でスケーラブルビットストリームは、廃棄不可能情報および廃棄可能情報で構成されるが、前記二つの種類の情報は簡単に分離されなければならない。すなわち、この情報は二つの互いに異なるコーディングユニット（例：Ｈ．２６４で使用されるＮＡＬユニット）で分離されなければならない。最終ルータはクライアントが必要としないと判断すれば、ビットストリームの廃棄可能情報を捨てることを選択する。
【００２８】
このような本発明によるビットストリームを“スイッチングスケーラブルビットストリーム（ｓｗｉｔｃｈｅｄ  ｓｃａｌａｂｌｅ  ｂｉｔｓｔｒｅａｍ）”と称する。スイッチングスケーラブルビットストリームは廃棄可能ビットおよび廃棄不可能ビットが分離され得る一つの形態となっている。ビットストリーム抽出器（ｂｉｔｓｔｒｅａｍ  ｅｘｔｒａｃｔｏｒ）は、クライアントが必要としないことと判断する時には、廃棄可能情報を簡単に捨てることができる。したがって、スケーラブルビットストリームから非スケーラブルビットストリームへの転換が非常に容易となる。
【００２９】
図７は従来のＨ．２６４標準またはＳＶＣ標準によるビットストリームの構成を示す図である。Ｈ．２６４標準またはＳＶＣ標準において、一つのビットストリーム７０は複数のＮＡＬユニット７１、７２、７３、７４で形成され、抽出器（ｅｘｔｒａｃｔｏｒ）はＮＡＬユニット単位で前記ビットストリーム７０のうち一部を抽出することによってビデオ品質を変化させる。一つのＮＡＬユニットは、実際圧縮されたビデオデータが記録されるＮＡＬデータフィールド７６と、前記圧縮されたビデオデータに対する付加情報が記録されるＮＡＬヘッダー７５で形成される。
【００３０】
一般的にＮＡＬデータフィールド７６のサイズは固定されておらず、そのサイズがＮＡＬヘッダー７５に記録される。ＮＡＬデータフィールド７６は、少なくとも一つ以上（ｎ個）のマクロブロック（ＭＢ１、ＭＢ２、ＭＢｎ）で構成され得、一つのマクロブロックはモーションデータ（モーションベクター、マクロブロックパターン、参照フレーム番号など）とテクスチャデータ（量子化された残差（ｒｅｓｉｄｕａｌ）など）を含む。
【００３１】
図８は本発明の一実施形態によるビットストリームの構成を示す図である。本発明の一実施形態によるビットストリーム１００は、廃棄不可能なＮＡＬユニット８０と廃棄可能なＮＡＬユニット９０で形成される。廃棄不可能な各々のＮＡＬユニット８１、８２、８３、８４のＮＡＬヘッダーには廃棄可能の可否を表すフラグであるｄｉｓｃａｒｄａｂｌｅ＿ｆｌａｇが０と設定され、廃棄可能な各々のＮＡＬユニット９１、９２、９３、９４のＮＡＬヘッダーには前記ｄｉｓｃａｒｄａｂｌｅ＿ｆｌａｇが１と設定される。
【００３２】
前記ｄｉｓｃａｒｄａｂｌｅ＿ｆｌａｇが０ということは、ＮＡＬユニットのＮＡＬデータフィールドに記録されたデータは上位階層のデコーディング過程で使われることを意味する。これに対し、前記ｄｉｓｃａｒｄａｂｌｅ＿ｆｌａｇが１ということはＦ、ＮＡＬユニットのＮＡＬデータフィールドに記録されたデータが上位階層のデコーディング過程で使われないことを意味する。
【００３３】
ＳＶＣ標準ではテクスチャデータを圧縮的に表現するために４つの予測方法を開示している。前記予測方法には、既存のＨ．２６４標準に含まれているインター予測（ｉｎｔｅｒ  ｐｒｅｄｉｃｔｉｏｎ）、方向的イントラ予測（ｄｉｒｅｃｔｉｏｎａｌ  ｉｎｔｒａ  ｐｒｅｄｉｃｔｉｏｎ）（以下、イントラ予測という）だけではなく、図３のような多階層構造でのみ使用可能なイントラベース予測（ｉｎｔｒａ  ｂａｓｅ  ｐｒｅｄｉｃｔｉｏｎ）および残差予測（ｒｅｓｉｄｕａｌ  ｐｒｅｄｉｃｔｉｏｎ）も含まれる。前記「予測」とは、エンコーダおよびビデオデコーダで共通に利用可能な情報から生成された予測データを用い、オリジナルデータを圧縮して表示する技法を意味する。
【００３４】
図９はインター予測、イントラ予測およびイントラベース予測の概念を説明する図である。
【００３５】
インター予測は、既存の単一階層構造を有するビデオコーデックでも一般的に使用される予測モードである。インター予測は、図９に示すように、参照ピクチャから現在ピクチャのどのようなブロック（現在ブロック）と最も類似なブロックを探索して、これから現在ブロックを最もよく表現できる予測ブロックを得た後、前記現在ブロックと前記予測ブロックとの差分を量子化する方式である。インター予測は、参照ピクチャを参照する方式に従い、二つの参照ピクチャが使われる両方向予測（ｂｉ−ｄｉｒｅｃｔｉｏｎａｌ  ｐｒｅｄｉｃｔｉｏｎ）と、以前の参照ピクチャが使用される前方予測（ｆｏｒｗａｒｄ  ｐｒｅｄｉｃｔｉｏｎ）と、以後参照ピクチャが使用される後方予測（ｂａｃｋｗａｒｄ  ｐｒｅｄｉｃｔｉｏｎ）などがある。
【００３６】
一方、イントラ予測は、現在ブロックの周辺ブロックのうち現在ブロックと隣接したピクセルを用い現在ブロックを予測する方式である。イントラ予測は現在ピクチャ内の情報のみを用い同一階層内の他のピクチャや他の階層のピクチャを参照しない点から他の予測方式と差がある。
【００３７】
イントラベース予測（ｉｎｔｒａ  ｂａｓｅ  ｐｒｅｄｉｃｔｉｏｎ）は、現在ピクチャが同一な時間的位置を有する下位階層のピクチャを有する場合に使用され得る。図２で示すように、現在ピクチャのマクロブロックは前記マクロブロックと対応する前記基礎ピクチャのマクロブロックから効率的に予測され得る。すなわち、現在ピクチャのマクロブロックと前記基礎ピクチャのマクロブロックとの差分が量子化される。
【００３８】
仮に、下位階層の解像度と現在階層の解像度が互いに異なる場合には、前記差分を求める前に前記基礎ピクチャのマクロブロックは前記現在階層の解像度にアップサンプリングされる。このようなイントラベース予測はインター予測の効率が高くない場合、例えば、動きが非常にはやい映像や場面の転換が生じる映像で特に効果的である。
【００３９】
最後に、残差予測は（図９には図示せず）既存の単一階層でのインター予測を多階層の形態で拡張したものである。すなわち、現在階層のインター予測過程で生成された差分を直接量子化するのではなく、前記差分と下位階層のインター予測過程で生成された差分をまた差し引き、その結果を量子化する技法である。
【００４０】
前記ｄｉｓｃａｒｄａｂｌｅ＿ｆｌａｇは、現在マクロブロックと対応する上位階層のマクロブロックが前記４つの予測技法のうちどのような技法でエンコーディングされたのかを基準に設定され得る。例えば、前記上位階層のマクロブロックがイントラ予測またはインター予測によってエンコーディングされたのであれば、現在マクロブロックはスケーラビリティをサポートするための用途に使われるだけであり、前記上位階層のマクロブロックをデコーディングするためには使われない。したがって、この場合には現在マクロブロックは廃棄可能なＮＡＬユニットに含まれ得る。これに対し、前記上位階層のマクロブロックがイントラベース予測または残差予測によってエンコーディングされたのであれば、現在マクロブロックは前記上位階層のマクロブロックをデコーディングするために必ず必要である。したがって、この場合には現在マクロブロックは廃棄不可能なＮＡＬユニットに含まれ得る。
【００４１】
上位階層のマクロブロックがどのような予測方式でエンコーディングされたのかはＳＶＣ標準によるｉｎｔｒａ＿ｂａｓｅ＿ｆｌａｇおよびｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを読み取ることで分かる。すなわち、上位階層のマクロブロックのｉｎｔｒａ＿ｂａｓｅ＿ｆｌａｇが１であれば、前記上位階層のマクロブロックをエンコーディングにイントラベース予測が使われたことが分かり、前記上位階層のマクロブロックのｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇが１であれば、前記上位階層のマクロブロックをエンコーディングに残差予測が使われたことが分かる。イントラベース予測、残差予測のようにあるマクロブロックのエンコーディングにおいて、他の階層のマクロブロック情報を用いる予測技法を階層間予測（ｉｎｔｅｒ−ｌａｙｅｒ  ｐｒｅｄｉｃｔｉｏｎ）であるともいう。
【００４２】
図１０は、本発明の一実施形態によるビデオエンコーディング過程を示すフローチャートである。先ず、現在マクロブロックの残差（ｒｅｓｉｄｕａｌ）が入力されれば（Ｓ１）、ビデオエンコーダは前記残差をコーディングする必要があるのかを判断する（Ｓ２）。一般的に、前記残差のエネルギー（残差の絶対値の合計または自乗の合計）が所定の臨界値より小さい場合には、コーディングする必要がないものと見なし、すなわち、前記残差を０と見なしてエンコーディングしない。
【００４３】
Ｓ２の判断結果、コーディングする必要がなければ（Ｓ２のいいえ）、前記現在マクロブロックのＣＢＰ（Ｃｏｄｅｄ  Ｂｌｏｃｋ  Ｐａｔｔｅｒｎ）フラグを０と設定する（Ｓ７）。ＳＶＣ標準では各マクロブロックに対してＣＢＰフラグを記載することによって、該当マクロブロックがコーディングされたかの可否を表わし、ビデオデコーダ端では前記記載されたＣＢＰフラグを読み該当マクロブロックのデコーディングの可否を判断する。
【００４４】
Ｓ２の判断結果、コーディングする必要があれば（Ｓ２のはい）、ビデオエンコーダは前記現在マクロブロックの残差をコーディングする（Ｓ３）。ここで、コーディングは空間的変換（ＤＣＴ、ウェーブレット変換）、量子化、およびエントロピ符号化（可変の長さ符号化、算術符号化など）を含み得る。
【００４５】
その後、ビデオエンコーダは現在マクロブロックと対応する上位階層のマクロブロックが階層間予測されたのかを判断する（Ｓ４）。前述したように、階層間予測されたかの可否はｉｎｔｒａ＿ｂａｓｅ＿ｆｌａｇおよびｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを読み取ることで分かる。
【００４６】
Ｓ４の判断結果、階層間予測された場合（Ｓ４のはい）、ビデオエンコーダは現在マクロブロックに対するＣＢＰフラグを１と設定して（Ｓ５）、前記コーディングされた現在マクロブロックの残差を廃棄不可能なＮＡＬユニット８０に記録する（Ｓ６）。
【００４７】
Ｓ４の判断結果、階層間予測されなかった場合（Ｓ４のいいえ）、ビデオエンコーダは現在マクロブロックに対するＣＢＰフラグを０と設定して、廃棄不可能なＮＡＬユニット８０に記録する（Ｓ８）。そして、前記コーディングされた残差を廃棄可能なＮＡＬユニット９０に記録し、これに対するＣＢＰフラグを１と設定する（Ｓ９）。
【００４８】
図１１は図１０のフローチャートに従いコーディングされたマクロブロックの残差、すなわちマクロブロックデータ（ＭＢｎ）を記録したビットストリーム１００の例を図示する図である。ここで、一つのＮＡＬユニットはＭＢ１ないしＭＢ５の５個のマクロブロックデータを含むものとする。
【００４９】
例えば、ＭＢ１は、残差をコーディングする必要がない場合（図１０のＳ２のいいえ）であり、ＭＢ２およびＭＢ５は対応する上位階層のマクロブロックが階層間予測された場合（図１０のＳ４の例）であり、ＭＢ３およびＭＢ４は対応する上位階層のマクロブロックが階層間予測されない場合（図１０のＳ４のいいえ）であると仮定する。
【００５０】
先ず、ＮＡＬユニット８１のＮＡＬヘッダーには廃棄不可能なＮＡＬユニットという情報が表示される。このような表示は、例えばＮＡＬヘッダーにｄｉｓｃａｒｄａｂｌｅ＿ｆｌａｇを０と設定することで行われ得る。
【００５１】
前記ＭＢ１のＣＢＰフラグは０と設定されてＭＢ１はコーディングされず、記録されない（すなわち、ＣＢＰフラグ情報を含むマクロブロックヘッダーおよびモーション情報のみがＮＡＬユニット８１に記録される）。そして、ＭＢ２およびＭＢ５はＮＡＬユニット８１に記録されて各々ＣＢＰフラグ図１と設定される。
【００５２】
ＭＢ３およびＭＢ４も実際に記録されるべきマクロブロックデータであるため、ＣＢＰフラグは１と設定されなければならないが、本発明で提案するスイッチングスケーラブルビットストリームを具現するため、前記ＭＢ３およびＭＢ４のＣＢＰフラグは０と設定され、ＮＡＬユニット８１には記録されない。ビデオデコーダの立場から見れば、ＭＢ３およびＭＢ４は、コーディングされたマクロブロックデータが存在しないもののように見なされるであろう。しかし、本発明によってもＭＢ３およびＭＢ４は無条件で削除されるのではなく、廃棄可能なＮＡＬユニット９１に記録されて保存される。したがって、ＮＡＬユニット９１のＮＡＬヘッダーには廃棄可能なＮＡＬユニットという情報が表示される。このような表示は、例えばＮＡＬヘッダーにｄｉｓｃａｒｄａｂｌｅ＿ｆｌａｇを１と設定することで行われ得る。
【００５３】
ＮＡＬユニット９１はＮＡＬユニット８１に含まれるマクロブロックデータのうち少なくとも廃棄可能なデータを含む。すなわち、前記ＭＢ３およびＭＢ４はＮＡＬユニット９１に記録される。この時、ＣＢＰフラグは１と設定されるのが好ましいが、廃棄可能なＮＡＬユニット９１にはＣＢＰフラグが０であるマクロブロックデータが記録される必要がないという点を考慮すればどのように設定されても構わない。
【００５４】
図１１のビットストリーム１００は従来のビットストリーム７０に比べて廃棄可能情報および廃棄不可能情報に分離される特徴があり、この特徴を具現するために特別なオーバーヘッドが生じないことが分かる。ビデオエンコーダで生成されるこのような構造のビットストリーム１００を伝送する途中にスケーラビリティをそのまま維持しなければならない時には、これに含まれた廃棄可能情報および廃棄不可能情報をそのまま維持すれば良い。これに対し、スケーラビリティを維持する必要がない時（例：伝送ルータが最終リンクに位置する場合）には前記廃棄可能情報は削除すれば良い。なぜなら、そのようにしてもスケーラビリティの特性のみがなくなるだけであって、上位階層のマクロブロックを復元することには全く支障がないからである。
【００５５】
図１２は図１１のようなビットストリーム１００を受信したビデオデコーダが行うビデオデコーディング過程を示すフローチャートである。ビデオデコーダが受信するビットストリーム１００が廃棄不可能な情報と廃棄可能な情報を含んでいる場合は、これに含まれた階層すなわち、現在階層が最上位の階層である場合である。本発明によれば、現在階層の上位階層のビットストリームをビデオデコーダがデコーディングする場合であれば、現在階層のビットストリームで廃棄可能なＮＡＬユニットは除去されたものであるからである。
【００５６】
ビデオデコーダはビットストリーム１００の入力を受け（Ｓ１１）、前記ビットストリーム１００で廃棄不可能なＮＡＬユニットに含まれた現在マクロブロックのＣＢＰフラグを読み込む（Ｓ２１）。ＮＡＬユニットが廃棄可能であるかの可否はＮＡＬユニットのＮＡＬヘッダーに記録されたｄｉｓｃａｒｄａｂｌｅ＿ｆｌａｇを読み取ることで分かる。
【００５７】
前記読み込んだＣＢＰフラグが１であれば（Ｓ２２のいいえ）、ビデオデコーダは現在マクロブロックに記録されたデータを読み込み（Ｓ２６）、これをデコーディングすることで現在マクロブロックに該当する映像を復元する（Ｓ２５）。
【００５８】
前記ＣＢＰフラグが０である場合には、実際にコーディングされたデータがなく、０と記録された場合と、実際にはコーディングされたデータがあるが、そのデータが廃棄可能なＮＡＬユニットに移動されて記録された場合があり得る。したがって、ビデオデコーダは前記現在マクロブロックと同一な識別字を有するマクロブロックが廃棄可能なＮＡＬユニットに存在するかを判断する（Ｓ２３）。前記識別字はマクロブロックを識別する番号を意味する。図１１でＮＡＬユニット８２のＭＢ３（識別字＝３）は、そのＣＢＰフラグが０と記録されているが、実際のデータはＮＡＬユニット９１のＭＢ３（識別字＝３）に記録されている。
【００５９】
したがって、Ｓ２３の判断結果、ユニットに存在する場合（Ｓ２３のはい）、ビデオデコーダは前記廃棄可能なＮＡＬユニットに存在するマクロブロックのデータを読み込む（Ｓ２４）。そして、前記読み込んだデータをデコーディングすることで（Ｓ２５）現在マクロブロックに該当する映像を復元する（Ｓ２５）。
【００６０】
もちろん、Ｓ２３の判断結果、ユニットが存在しない場合（Ｓ２３のいいえ）は、現在マクロブロックに対して実際にコーディングされたデータがない場合である。
【００６１】
一方、ビデオエンコーダで実際に現在階層のマクロブロックをエンコーディングする時は、これに対応する上位階層のマクロブロックが予測過程で前記現在階層のマクロブロックを使うかの可否が分かり難い。したがって、既存のビデオコーディングスキームに何分の修正を加える必要がある。このような解決策として次の２種類の方法がある。
【００６２】
（解決策１：エンコーディング過程の修正）
最初の解決策は、エンコーディング過程を多少変更することである。図１３はビデオシーケンスが三つの階層で形成されるシナリオの例を示すものである。重要なポイントは、上位階層の予測過程（インター予測、イントラ予測、イントラベース予測、残差予測など）を経た以後に現在階層をエンコーディングできるということである。
【００６３】
図１３を参照すれば、ビデオエンコーダは先ず、所定の予測過程（インター予測またはイントラ予測）によって階層０のマクロブロック１２１に対する残差（ｒｅｓｉｄｕａｌ）を求め、前記求めた残差を量子化／逆量子化する。次に、所定の予測過程（インター予測、イントラ予測、イントラベース予測、または残差予測）によって階層１のマクロブロック１２２に対する残差（ｒｅｓｉｄｕａｌ）を求め、前記求めた残差を量子化／逆量子化する。その後、前記階層０のマクロブロック１２１をエンコーディングする。このように、前記階層０のマクロブロック１２１のエンコーディング前に階層１のマクロブロック１２２が予測過程を経たので、前記予測過程で階層０のマクロブロック１２１が使われたのかが分かる。これにしたがって、階層０のマクロブロック１２１を廃棄可能な情報で記録するのか、廃棄不可能な情報で記録するのかを決定することができる。
【００６４】
同様に、所定の予測過程（インター予測、イントラ予測、イントラベース予測、または残差予測）によって階層２のマクロブロック１２３に対する残差（ｒｅｓｉｄｕａｌ）を求め、前記求めた残差を量子化／逆量子化する。次に、階層１のマクロブロック１２２をエンコーディングし、最後に階層２のマクロブロック１２３をエンコーディングする。
【００６５】
（解決策２：残差エネルギーの利用）
次の解決策は、現在マクロブロックの残差エネルギーを計算し、これを所定のしきい値と比較する方法である。マクロブロックの残差エネルギーはマクロブロック内の係数の絶対値の合計または前記係数の自乗の合計などで計算され得る。このような残差エネルギーが大きいほどコーディングされるデータの量が多いことを意味する。
【００６６】
仮に、現在マクロブロックの残差エネルギーが所定のしきい値より小さければ、対応する上位階層のマクロブロックは階層間予測を使用できないように制限する。この場合、現在マクロブロックの残差は廃棄可能なＮＡＬユニットでコーディングされる。これに対し、現在マクロブロックの残差エネルギーが所定のしきい値より大きければ、現在マクロブロックの残差は廃棄不可能ＮＡＬユニットでコーディングされる。
【００６７】
解決策２は解決策１に比べてＰＳＮＲが多少減少させ得る短所がある。
【００６８】
本発明で提案するように、いくつかの残差情報を捨てることはビデオデコーダ端での計算の複雑性を減少することにつながる。これはその残差が捨てられたすべてのマクロブロックに対してパーシングおよび逆変換を行う必要がないからである。異なる方法で、マクロブロックでの付加的フラグをコーディングせず、このような計算の複雑性の得することも可能である。この方法で、ＳＥＩ（Ｓｕｐｐｌｅｍｅｎｔａｌ  Ｅｎｈａｎｃｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ）は上位階層の残差予測過程で使われないマクロブロックを示すため、エンコーダによってビデオデコーダに伝送される。前記ＳＥＩはビデオビットストリームには含まれないが、前記ビデオビットストリームと共に伝送される付加情報またはメタデータとしてＳＶＣ標準に含まれている。
【００６９】
現在ＳＶＣ標準は、現在階層を推定するあいだ基礎階層情報のレート歪み費用（ＲＤ  ｃｏｓｔ）を考慮しない。これは基礎階層情報が捨てられず、いつでも存在するものと見なされるため現在は必要とされない。
【００７０】
しかし、本発明のように、現在階層（上位階層を基準とした時の基礎階層）の残差情報が捨てられ得る状況では、上位階層で残差予測が行われるあいだ現在階層の残差をコーディングに必要なＲＤ費用を考慮する必要がある。これはＲＤ推定のあいだ現在マクロブロックビットに基礎階層残差ビットを加算することで成される。このようなＲＤ推定は、基礎階層残差が捨てられた後に現在階層でのより高いＲＤ性能につながるであろう。
【００７１】
本発明の概念を拡張して、多重レート歪み（ｍｕｌｔｉｐｌｅ  ｒａｔｅ−ｄｉｓｔｏｒｔｉｏｎ、ＭＬＲＤ）を用いたＦＧＳ階層のデッドサブストリーム（ｄｅａｄ−ｓｕｂｓｔｒｅａｍ）の最適化を考慮することができる。デッドサブストリームは上位階層をデコーディングするために必要なサブストリームである。ＳＶＣ標準では、デッドサブストリームは不必要なピクチャまたは廃棄可能なサブストリームと呼ばれる。ＳＶＣ標準でデッドサブストリームはＮＡＬヘッダーにあるｄｉｓｃａｒｄａｂｌｅ＿ｆｌａｇによって識別される。サブストリームがデッドサブストリームであるのかを確認するまた他の間接的な方法はすべての上位階層のｂａｓｅ＿ｉｄ＿ｐｌｕｓ１値をチェックし、その値がこのサブストリームを参照するのか確認することである。
【００７２】
次の図１４はデッドサブストリームの例として多重適応が不可能なビットストリームを示している。ＦＧＳ階層０は階層０および階層１をデコーディングに必要であるからである。ここで、ＣＧＳ階層はＦＧＳ具現に必須の基礎品質階層を意味し、離散階層（ｄｉｓｃｒｅｔｅ  ｌａｙｅｒ）とも呼ばれる。
【００７３】
一方、図１５は多重適応に適したビットストリームを示す図である。図１５で、ＦＧＳ階層は階層間予測のために使われないため、ビデオデコーダまたはクライアントが単に階層１のみをデコーディングする必要があれば捨てられ得る。簡単に言えば、ＦＧＳ階層０は階層１に適応したビットストリームでは捨てられ得る。しかし、クライアントが階層１および階層０をすべてデコーディングするオプションを必要とすれば、ＦＧＳ階層０は捨てられない。
【００７４】
これは、多重適応が必要な場合にはレート歪みに対する折衝（ｔｒａｄｅ−ｏｆｆ）につながる。予測される階層のＲＤ最適選択をするために多重階層ＲＤ予測で記述される原則を使うことも可能である。
【００７５】
段階１：基礎品質レベル（ＣＧＳ階層０）から階層間予測を使用する。
前記フレームに対してＲＤ費用を計算する。ＦｒａｍｅＲｄ０  ＝  ＦｒａｍｅＤｉｓｔｏｒｔｉｏｎ  ＋  Ｌａｍｂｄａ＊ＦｒａｍｅＢｉｔｓ
【００７６】
段階２：基礎品質レベル１（ＣＧＳ階層０）から階層間予測を使用する。
前記フレームに対してＲＤ費用を計算する。ＦｒａｍｅＲｄ１  ＝  ＦｒａｍｅＤｉｓｔｏｒｔｉｏｎ  ＋  Ｌａｍｂｄａ＊（ＦｒａｍｅＢｉｔｓ  ＋  ＦＧＳＬａｙｅｒ０Ｂｉｔｓ）
本発明では多重適応を可能とするために、ＦＧＳ階層から階層間予測にペナルティを与えているということに注目する必要がある。
【００７７】
段階３：ＲＤ費用を計算し最上を選択する。ＦｒａｍｅＲＤ１がＦｒａｍｅＲＤ０より小さければ、このフレームは、階層１のみのビットストリームに対するビット率を減少させるために多重適応（本例では階層１に対する適応）を使用することができる。
【００７８】
一方、デッドサブストリームおよび多重ＲＤ費用を時間的レベルに対して概念を拡張することも可能である。次の図１６は時間的レベルを用いた多重適応の例として階層的Ｂ（ｈｉｅｒａｒｃｈｉｃａｌ  Ｂ）構造およびＳＶＣの階層間予測の概念を示している。
【００７９】
これに対し、本発明の一実施形態による概念を示す図１７において、階層間予測は階層０の最上位の時間的レベルから使用されない。これは、階層１のみのビットストリーム（すなわち、階層１のみのデコーディングのために適応したビットストリーム）で、階層０の最上位の時間的レベルは不必要であり、捨てられ得ることを意味する。階層間予測を使うかの可否に関する決定は多重ＲＤ推定を使用しなされ得る。
【００８０】
図１８のビットストリームは階層０でデコーディングされ得る。これは階層０が時間的予測のためにＦＧＳ階層を使用しないからである。すなわち、階層１に適応されたビットストリームは階層０で相変らずデコーディングが可能である。しかし、これはすべての状況でデコーディングが可能とは限らない。
【００８１】
階層０は時間的予測のためにクローズループ予測を使用する。これはＦＧＳ階層０を切り取ったり捨てたりするのは階層０がデコーディングされる時、ドリフト／歪みを生じさせることを意味する。このような状況で、前記ビットストリームが階層１に適応されていれば（フレーム１のＦＧＳ階層０を捨てることによって）、このように適応されたビットストリームを用い、階層０をデコーディングする場合、問題（ドリフト／  ＰＳＮＲの低下）となり得る。
【００８２】
一般的に、クライアントは階層１のために適応されたビットストリームから階層０をデコーディングしようとしない。しかし、ビットストリームで階層１に適応されているという事実が表示されなければ、このような状況も生じ得るものである。したがって、本発明では別途のＳＥＩメッセージの部分で次のような情報を追加することを提案する。
ｓｃａｌａｂｉｌｉｔｙ＿ｉｎｆｏ（  ｐａｙｌｏａｄＳｉｚｅ  ）  ｛
．．．
ｍｕｌｔｉｐｌｅ＿ａｄａｐｔａｔｉｏｎ＿ｉｎｆｏ＿ｆｌａｇ［ｉ］
．．．
ｉｆ  （ｍｕｌｔｉｐｌｅ＿ａｄａｐｔａｔｉｏｎ＿ｉｎｆｏ＿ｆｌａｇ［ ｉ ］）  ｛
ｃａｎ＿ｄｅｃｏｄｅ＿ｌａｙｅｒ［ｉ］
ｉｆ（ｃａｎ＿ｄｅｃｏｄｅ＿ｌａｙｅｒ［ｉ］）
｛
ｄｅｃｏｄｉｎｇ＿ｄｒｉｆｔ＿ｉｎｆｏ［ｉ］
｝
｝
｝
【００８３】
ここで、「ｃａｎ＿ｄｅｃｏｄｅ＿ｌａｙｅｒ［ｉ］」フラグは前記階層がデコーディング可能であるかの可否を示す。前記階層がデコーディング可能であれば、前記階層がデコーディング可能な場合に生じ得るドリフトに関する情報を伝送することが可能である。
【００８４】
ＳＶＣは品質階層情報ＳＥＩメッセージを使用しＦＧＳ階層のＲＤ性能を示す。これは接近ユニットのＦＧＳ階層がどれほど敏感であるのかを示し得る。例えば、階層的ＢでＩおよびＰピクチャは切り取りに非常に敏感である。さらに高い時間的レベルは切り取りにそれほど敏感ではないであろう。したがって抽出器はこの情報を使用し多様な接近ユニットで最適にＦＧＳ階層を切り取ることができる。本発明で提案する品質階層情報ＳＥＩメッセージのフォーマットは次のとおりである。
ｑｕａｌｉｔｙ＿ｌａｙｅｒｓ＿ｉｎｆｏ（  ｐａｙｌｏａｄＳｉｚｅ  ）  ｛
ｄｅｐｅｎｄｅｎｃｙ＿ｉｄ
ｎｕｍ＿ｑｕａｌｉｔｙ＿ｌａｙｅｒｓ
ｆｏｒ（  ｉ  ＝  ０と、ｉ  ＜  ｎｕｍ＿ｑｕａｌｉｔｙ＿ｌａｙｅｒｓと、ｉ＋＋  ）  ｛
ｑｕａｌｉｔｙ＿ｌａｙｅｒ［  ｉ  ］
ｄｅｌｔａ＿ｑｕａｌｉｔｙ＿ｌａｙｅｒ＿ｂｙｔｅ＿ｏｆｆｓｅｔ［  ｉ  ］
｝
｝
【００８５】
現在品質階層のメッセージは、現在階層のためにすなわち、現在階層のＦＧＳ階層が捨てられる時の品質／レート性能で定義される。しかし、前述したように、多重適応の場合に基礎階層のＦＧＳ階層は切り取ることができる。したがって、次のような階層間の品質階層ＳＥＩメッセージを伝送することが可能である。前記ＦＧＳ階層を切り取ることによって生じるドリフトは時間的予測に関する階層間予測の性能にかかっている。
ｉｎｔｅｒｌａｙｅｒ＿ｑｕａｌｉｔｙ＿ｌａｙｅｒｓ＿ｉｎｆｏ（ ｐａｙｌｏａｄＳｉｚｅ ）  ｛
ｄｅｐｅｎｄｅｎｃｙ＿ｉｄ
ｂａｓｅ＿ｄｅｐｅｎｄｅｎｃｙ＿ｉｄ
ｎｕｍ＿ｑｕａｌｉｔｙ＿ｌａｙｅｒｓ
ｆｏｒ（  ｉ ＝ ０；  ｉ ＜ ｎｕｍ＿ｑｕａｌｉｔｙ＿ｌａｙｅｒｓ；  ｉ＋＋  ）  ｛
ｉｎｔｅｒｌａｙｅｒ＿ｑｕａｌｉｔｙ＿ｌａｙｅｒ［ ｉ ］
ｉｎｔｅｒｌａｙｅｒ＿ｄｅｌｔａ＿ｑｕａｌｉｔｙ＿ｌａｙｅｒ＿ｂｙｔｅ＿ｏｆｆｓｅｔ［ ｉ ］
｝
｝
【００８６】
ビットストリーム抽出器は、ビットストリームを切り取らなければならない時、ｑｕａｌｉｔｙ＿ｌａｙｅｒｓ＿ｉｎｆｏ、およびｉｎｔｅｒｌａｙｅｒ＿ｑｕａｌｉｔｙ＿ｌａｙｅｒｓ＿ｉｎｆｏ  ＳＥＩメッセージに依存して現在階層ＦＧＳまたは基礎階層のＦＧＳを切り取るかの可否を決定することができる。
【００８７】
図２０は本発明の一実施形態によるビデオエンコーダ３００の構成を図示するブロック図である。
【００８８】
先ず、階層０のマクロブロック（ＭＢ０）は予測部１１０で、前記マクロブロック（ＭＢ０）に対応する（時間的、空間的に対応する）階層１のマクロブロック（ＭＢ１）は予測部２１０に入力される。
【００８９】
予測部１１０は、インター予測またはイントラ予測によって予測ブロックを求め、前記ＭＢ０で前記予測ブロックを差し引きして残差（ｒｅｓｉｄｕａｌ：Ｒ０）を求める。前記インター予測はモーションベクターおよびマクロブロックパターンを求めるモーション推定過程と、前記モーションベクターによって参照されるフレームをモーション補償するモーション補償過程を含む。
【００９０】
コーディング判断部１２０は、前記求めた残差（Ｒ０）をコーディングする必要があるかを判断する。すなわち、前記残差（Ｒ０）のエネルギーが所定の臨界値より小さい場合には前記残差（Ｒ０）に属する値をすべて０と見なしてビットストリーム生成部に通知する。この時、前記残差（Ｒ０）はコーディング部１３０でコーディングされない。前記判断結果、コーディングする必要がある場合には前記求めた残差（Ｒ０）をコーディング部１３０に提供する。
【００９１】
コーディング部１３０は、前記提供されていた残差（Ｒ０）をエンコーディングする。これのためにコーディング部１３０は空間的変換部１３１、量子化部１３２、およびエントロピ符号化部１３３を含み構成され得る。
【００９２】
空間的変換部１３１は、前記残差（Ｒ０）に対して、空間的変換を行い変換係数を生成する。このような空間的変換方法では、ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）、ウェーブレット変換（ｗａｖｅｌｅｔ  ｔｒａｎｓｆｏｒｍ）などが使用され得る。ＤＣＴを使用する場合前記変換係数はＤＣＴ係数となり、ウェーブレット変換を使用する場合前記変換係数はウェーブレット係数となる。
【００９３】
量子化部１３２は、前記変換係数を量子化（ｑｕａｎｔｉｚａｔｉｏｎ）する。前記量子化（ｑｕａｎｔｉｚａｔｉｏｎ）は任意の実数値で表現される前記変換係数を不連続的な値（ｄｉｓｃｒｅｔｅ  ｖａｌｕｅ）で示す過程を意味する。例えば、量子化部１２５は、任意の実数値で表現される前記変換係数を所定の量子化ステップ（ｑｕａｎｔｉｚａｔｉｏｎ  ｓｔｅｐ）で分け、その結果を整数値で四捨五入する方法で量子化を行うことができる。
【００９４】
エントロピ符号化部１３３は、量子化部１３２から提供される量子化結果を無損失符号化する。このような無損失符号化方法では、ハフマンコーディング（Ｈｕｆｆｍａｎ  ｃｏｄｉｎｇ）、算術符号化（ａｒｉｔｈｍｅｔｉｃ  ｃｏｄｉｎｇ）、可変長符号化（ｖａｒｉａｂｌｅ  ｌｅｎｇｔｈ  ｃｏｄｉｎｇ）、その他多様な方法が利用される。
【００９５】
一方、量子化部１３２で量子化された結果は、階層１の予測部２１０での階層間予測で使用され得るように逆量子化部１３４によって逆量子化過程および逆空間的変換部１３５による逆変換過程を経る。
【００９６】
ＭＢ１は対応する下位階層のマクロブロックＭＢ０が存在するため、予測部２１０はインター予測、イントラ予測以外にもイントラベース予測、残差予測のような階層間予測も使用することができる。予測部２１０は、多様な予測技法のうちＲＤ費用を最小とする予測技法を選択し、選択された予測技法によってＭＢ１に対する予測ブロックを求めた後、前記ＭＢ１で前記予測ブロックを差し引きして、残差（Ｒ１）を求める。この時、予測部２１０はイントラベース予測を用いた場合にはｉｎｔｒａ＿ｂａｓｅ＿ｆｌａｇを１とし（予測を用いない場合は０と設定する）、残差予測を用いた場合にはｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを１（予測を用いない場合は０と設定する）と設定する。
【００９７】
階層０でのようにコーディング部２３０も前記残差（Ｒ１）をエンコーディングし、これのために空間的変換部２３１、量子化部２３２、およびエントロピ符号化部２３３で構成され得る。
【００９８】
ビットストリーム生成部１４０は、本発明の実施形態によるスイッチングスケーラブルビットストリームを生成する。これのために、ビットストリーム生成部１４０はコーディング判断部１２０で現在マクロブロックの残差（Ｒ０）をコーディングする必要がないと判断されれば、ＣＢＰフラグを０と設定して前記残差をビットストリームに含まない。一方、実際に残差（Ｒ０）がコーディング部１３０でコーディングされて提供されれば、ビットストリーム生成部１４０は予測部２１０で前記ＭＢ１が階層間予測（イントラベース予測または残差予測）されたのかを判断する。このような判断は、予測部２１０から提供されるｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇまたはｉｎｔｒａ＿ｂａｓｅ＿ｆｌａｇを読み取ることで可能である。
【００９９】
ビットストリーム生成部１４０は、前記判断結果、階層間予測された場合、コーディングされたマクロブロックデータを廃棄不可能なＮＡＬユニットに記録し、階層間予測されなかった場合、前記コーディングされたマクロブロックデータは廃棄可能なＮＡＬユニットに記録して、廃棄不可能なＮＡＬユニットには前記コーディングされたマクロブロックデータのＣＢＰフラグを０と設定する。この時、廃棄不可能なＮＡＬユニットはｄｉｓｃａｒａｂｌｅ＿ｆｌａｇが０と設定されて、廃棄不可能なＮＡＬユニットはｄｉｓｃａｒｄａｂｌｅ＿ｆｌａｇが１と設定される。ビットストリーム生成部１４０はこのような過程を通して図１１のような階層０のビットストリームを生成して、コーディング部２３０から提供されるコーディングされたデータから階層１のビットストリームを生成する。生成された階層０のビットストリームと生成された階層１のビットストリームは結合されて一つのビットストリームが出力される。
【０１００】
図２１は、本発明の一実施形態によるビデオデコーダ４００の構成を図示するブロック図である。ここで入力されるビットストリームは図１１のような廃棄不可能情報と廃棄可能情報を含む。
【０１０１】
ビットストリームパーザ４１０は前記ビットストリームで廃棄不可能なＮＡＬユニットに含まれた現在マクロブロックのＣＢＰフラグを読み込む。ＮＡＬユニットが廃棄可能であるかの可否はＮＡＬユニットのＮＡＬヘッダーに記録されたｄｉｓｃａｒｄａｂｌｅ＿ｆｌａｇを読み取ることで分かる。前記読み込んだＣＢＰフラグが１であれば、ビットストリームパーザ４１０は現在マクロブロックに記録されたデータを読み込みデコーディング部４２０に提供する。
【０１０２】
前記ＣＢＰフラグが０である場合には、ビットストリームパーザ４１０は前記現在マクロブロックと同一な識別字を有するマクロブロックが廃棄可能なＮＡＬユニットに存在するかを判断する。前記判断結果、存在した場合には、ビットストリームパーザ４１０は前記廃棄可能なＮＡＬユニットに存在するマクロブロックのデータを読み込み、これをデコーディング部４２０に提供する。
【０１０３】
仮に、前記現在マクロブロックと同一な識別字を有するマクロブロックが廃棄可能なＮＡＬユニットに存在しない場合には、現在マクロブロックデータが存在しないこと（データがすべて０である）を逆予測部４２４に通知する。
【０１０４】
デコーディング部４２０は、ビットストリームパーザ４１０から提供されたマクロブロックデータをデコーディングし、所定階層のマクロブロックに対する映像を復元する。これのためにデコーディング部４２０はエントロピ復号化部４２１、逆量子化部４２２、逆空間的変換部４２３、および逆予測部４２４を含み得る。
【０１０５】
エントロピ復号化部４２１は提供されたビットストリームに対して無損失復号化を行う。前記無損失復号化は、ビデオエンコーダ３００段での無損失復号化過程の逆に行われる過程である。
【０１０６】
逆量子化部４２２は、前記無損失復号化されたデータを逆量子化する。このような逆量子化過程はビデオエンコーダ３００での量子化過程で使われたものと同一な量子化テーブルを用い、量子化過程で生成されたインデックスからそれにマッチされる値を復元する過程である。
【０１０７】
逆空間的変換部４２３は、前記逆量子化された結果に対して逆変換を行う。このような逆変換は、ビデオエンコーダ３００での空間的変換過程の逆に行われ、具体的に逆ＤＣＴ変換、逆ウェーブレット変換などが使用され得る。前記逆変換結果、残差信号（Ｒ０）が復元される。
【０１０８】
前記残差信号（Ｒ０）は、逆予測部４２４でビデオエンコーダ３００の予測部１１０と対応する方式で逆予測される。前記逆予測は、予測部１１０と同様に求めた予測ブロックと前記残差信号（Ｒ０）を加算する方式で行われる。
【０１０９】
前記図２０および図２１に記載された各構成要素は、メモリ上の所定領域で行われるタスク、クラス、サブルーチン、プロセス、オブジェクト、実行スレッド、プログラムのようなソフトウェア（ｓｏｆｔｗａｒｅ）や、ＦＰＧＡ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）やＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）のようなハードウェア（ｈａｒｄｗａｒｅ）で具現され得、また前記ソフトウェアおよびハードウェアの組み合わせで形成され得る。前記構成要素は、コンピュータで判読可能な保存媒体に含まれ得、複数のコンピュータにその一部が分散して分布され得る。
【０１１０】
以上添付された図面を参照し、本発明の実施形態について説明したが、本発明が属する技術分野における通常の知識を有する者は、本発明を、その技術的思想や必須の特徴を変更しない範囲で、他の具体的な形態において実施されうることを理解することができる。したがって、上記実施形態はすべての面で例示的なものであり、限定的なものではないと理解しなければならない。
【図面の簡単な説明】
【０１１１】
【図１】従来のトランスコーディングによるサイマルキャスティング（ｓｉｍｕｌｃａｓｔｉｎｇ）過程を示す図である。
【図２】従来のＳＶＣ標準によるビットストリームの伝送過程を示す図である。
【図３】多階層を用いたスケーラブルビデオコーディング構造を示す図である。
【図４】非スケーラブルビットストリームの品質とスケーラブルビットストリームの品質を比較したグラフである。
【図５】非スケーラブルビットストリームの品質とスケーラブルビットストリームの品質を比較したグラフである。
【図６】本発明の一実施形態によるビットストリームの伝送方法を示す図である。
【図７】従来のＨ．２６４標準またはＳＶＣ標準によるビットストリームの構成を示す図である。
【図８】本発明の一実施形態によるビットストリーム構成を示す図である。
【図９】インター予測、イントラ予測およびイントラベース予測の概念を説明する図面である。
【図１０】本発明の一実施形態によるビデオエンコーディング過程を示すフローチャートである。
【図１１】図８のビットストリームのより詳しい構造の例を図示する図面である。
【図１２】ビデオデコーダが行うビデオデコーディング過程を示すフローチャートである。
【図１３】ビデオシーケンスが３個の階層で形成される場合を示す図面である。
【図１４】ＦＧＳでデッドサブストリームの例で多重適応が不可能なビットストリームを示す図である。
【図１５】ＦＧＳにおいて多重適応に適したビットストリームを示す図である。
【図１６】時間的レベルを用いた多重適応の例を示す図である。
【図１７】本発明の一実施形態による時間的レベルを用いた多重適応の例を示す図である。
【図１８】ＣＧＳ階層間には時間的予測が形成される例を示す図である。
【図１９】ＣＧＳ階層とＦＧＳ階層間に時間的予測が形成される例を示す図である。
【図２０】本発明の一実施形態によるビデオエンコーダの構成を図示するブロック図である。
【図２１】本発明の一実施形態によるビデオデコーダの構成を図示するブロック図である。
【符号の説明】
【０１１２】
１１０、２１０    予測部
１２０    コーディング判断部
１３０、２３０    コーディング部
１３１、２３１    空間的変換部
１３２、２３２    量子化部
１３３、２３３    エントロピ符号化部
１３４、４２２    逆量子化部
１３５、４２３    逆空間的変換部
１４０    ビットストリーム生成部
３００    ビデオエンコーダ
４００    ビデオデコーダ
４１０    ビットストリームパーザ
４２１    エントロピ復号化部
４２４    逆予測部
【図１】
2009517959.tif 000003
【図２】
2009517959.tif 000004
【図３】
2009517959.tif 000005
【図４】
2009517959.tif 000006
【図５】
2009517959.tif 000007
【図６】
2009517959.tif 000008
【図７】
2009517959.tif 000009
【図８】
2009517959.tif 000010
【図９】
2009517959.tif 000011
【図１０】
2009517959.tif 000012
【図１１】
2009517959.tif 000013
【図１２】
2009517959.tif 000014
【図１３】
2009517959.tif 000015
【図１４】
2009517959.tif 000016
【図１５】
2009517959.tif 000017
【図１６】
2009517959.tif 000018
【図１７】
2009517959.tif 000019
【図１８】
2009517959.tif 000020
【図１９】
2009517959.tif 000021
【図２０】
2009517959.tif 000022
【図２１】
2009517959.tif 000023
【国際調査報告】
2009517959.tif 000024
2009517959.tif 000025