(57)【要約】本明細書で開示される特定の実施形態は、マルチメディアデータを処理するシステムおよび方法を提供する。このシステムおよび方法は、少なくとも１つのビデオフレームを表す第１セットの量子化係数を受信することと、少なくとも１つのビデオフレームを表す第２セットの量子化係数を受信することと、第１セットの量子化係数と第２セットの量子化係数とを用いて、少なくとも１つのビデオフレームを表す第３セットの量子化係数を生成することとを備える。特定の実施形態では、第１および第２セットに関連する量子化パラメータが、第３セットの量子化係数を生成する際に用いられる。
2009510940.tif 000002
【特許請求の範囲】
【請求項１】
マルチメディアデータを処理する方法であって、
少なくとも１つのビデオフレームを表す可変長係数（ＶＬＣ）データを受信することと、
前記ＶＬＣデータを処理して、少なくとも１つのビデオフレームを表す第１セットの量子化係数と少なくとも１つのビデオフレームを表す第２セットの量子化係数とを生成し、前記第１セットおよび第２セットの量子化係数を生成する前記ＶＬＣデータ処理は、単一のプロセッサによって実行されることと、
前記第１セットの量子化係数を受信することと、
前記第２セットの量子化係数を受信することと、
前記第１セットの量子化係数と前記第２セットの量子化係数とを用いて、少なくとも１つのビデオフレームを表す第３セットの量子化係数を生成することと、
を備える、マルチメディアデータの処理方法。
【請求項２】
前記第２セットの量子化係数は、前記第１セットの量子化係数に対する少なくとも１つの改良を示している、請求項１に記載の方法。
【請求項３】
前記第３セットの量子化係数は、前記第１セットの量子化係数を前記第２セットの量子化係数に加えることによって生成される、請求項１に記載の方法。
【請求項４】
前記第１セットの量子化係数を前記第２セットの量子化係数と結合して前記第３セットの量子化係数を生成することは、一部は、前記第１セットの量子化係数に関連する第１量子化パラメータと、前記第２セットの量子化係数に関連する第２量子化パラメータとに基づいている、請求項３に記載の方法。
【請求項５】
前記第１量子化パラメータは前記第２量子化パラメータの要素ではない、請求項４に記載の方法。
【請求項６】
前記第１量子化パラメータおよび第２量子化パラメータは公分母を有していない、請求項４に記載の方法。
【請求項７】
前記第１量子化パラメータおよび第２量子化パラメータの公分母は１以外である、請求項４に記載の方法。
【請求項８】
前記公分母は６である、請求項７に記載の方法。
【請求項９】
マルチメディアデータを処理する装置であって、
少なくとも１つのビデオフレームを表すＶＬＣデータを受信する手段と、
前記ＶＬＣデータを処理して、少なくとも１つのビデオフレームを表す第１セットの量子化係数と、少なくとも１つのビデオフレームを表す第２セットの量子化係数とを生成する手段であって、前記第１セットおよび第２セットの量子化係数を生成する前記ＶＬＣデータ処理は、単一のプロセッサによって実行される、手段と、
前記第１セットの量子化係数を受信する手段と、
前記第２セットの量子化係数を受信する手段と、
前記第１セットの量子化係数と前記第２セットの量子化係数とを用いて、少なくとも１つのビデオフレームを表す第３セットの量子化係数を生成する手段と、
を備えた、マルチメディアデータ処理装置。
【請求項１０】
前記第１量子化パラメータおよび第２量子化パラメータは公分母を有していない、請求項９に記載の装置。
【請求項１１】
前記第１セットの量子化係数と前記第２セットの量子化係数とに関連する量子化パラメータは１以外の公分母を有する、請求項９に記載の装置。
【請求項１２】
前記公分母は６である、請求項１１に記載の装置。
【請求項１３】
前記第３セットの量子化係数を生成する手段は、前記第２セットの量子化係数に加えられた前記第１セットの量子化係数を用いる、請求項９に記載の装置。
【請求項１４】
前記第１セットの量子化係数を前記第２セットの量子化係数に加えて前記第３セットの量子化係数を生成することは、一部は、前記第１セットの量子化係数に関連する第１量子化パラメータと、前記第２セットの量子化係数に関連する第２量子化パラメータとに基づく、請求項１３に記載の装置。
【請求項１５】
前記第２セットの量子化係数は、前記第１セットの量子化係数に対する少なくとも１つの改良を示している、請求項９に記載の装置。
【請求項１６】
マルチメディアデータを処理する装置であって、
少なくとも１つのビデオフレームを表す可変長係数（ＶＬＣ）データを受信するように構成されたＶＬＣ受信モジュールと、
前記ＶＬＣデータを処理して、少なくとも１つのビデオフレームを表す第１セットの量子化係数と、少なくとも１つのビデオフレームを表す第２セットの量子化係数とを生成するように構成された処理モジュールであって、前記第１セットおよび第２セットの量子化係数を生成する前記ＶＬＣデータ処理は、単一のプロセッサによって実行される、モジュールと、
前記第１セットの量子化係数と前記第２セットの量子化係数とを受信するように構成された量子化係数受信モジュールと、
前記第１セットの量子化係数および第２セットの量子化係数を用いて、少なくとも１つのビデオフレームを表す第３セットの量子化係数を生成するように構成された生成モジュールと、
を備えた、マルチメディアデータ処理装置。
【請求項１７】
マルチメディアデータを処理する命令を備える機械可読媒体であって、前記命令を実行することによって、機械が
少なくとも１つのビデオフレームを表す可変長係数（ＶＬＣ）データを受信し、
前記ＶＬＣデータを処理して、少なくとも１つのビデオフレームを表す第１セットの量子化係数と、少なくとも１つのビデオフレームを表す第２セットの量子化係数とを生成し、前記第１セットおよび第２セットの量子化係数を生成する前記ＶＬＣデータ処理は、単一のプロセッサによって実行され、
前記第１セットの量子化係数を受信し、
前記第２セットの量子化係数を受信し、
前記第１セットの量子化係数および第２セットの量子化係数を用いて、少なくとも１つのビデオフレームを表す第３セットの量子化係数を生成する、機械可読媒体。
【請求項１８】
マルチメディアを処理するプロセッサであって、前記プロセッサは、
少なくとも１つのビデオフレームを表す可変長係数（ＶＬＣ）データを受信し、
前記ＶＬＣデータを処理して、少なくとも１つのビデオフレームを表す第１セットの量子化係数と、少なくとも１つのビデオフレームを表す第２セットの量子化係数とを生成し、前記第１セットおよび第２セットの量子化係数を生成する前記ＶＬＣデータ処理は、単一のプロセッサによって実行され、
前記第１セットの量子化係数を受信し、
前記第２セットの量子化係数を受信し、
前記第１セットの量子化係数および第２セットの量子化係数を用いて、少なくとも１つのビデオフレームを表す第３セットの量子化係数を生成するように構成されている、プロセッサ。
【発明の詳細な説明】
【関連技術】
【０００１】
（関連出願の相互参照）
本特許出願は、２００５年９月２７日付で出願された特許仮出願第６０／７２１，４３５号、発明の名称「マルチチップシステムにおいてスケーラブル符号化するための係数展開方法（”A METHOD OF COEFFICIENT EXPANSION FOR SCALABLE CODING ON MULTIPLE CHIP SYSTEM”）の優先権を主張するものであり、上記仮出願は参照により本明細書に引用したものとする。
【技術分野】
【０００２】
本開示は、多層ビデオデータを処理する方法および装置に関する。
【背景技術】
【０００３】
インターネットおよびワイヤレス通信の飛躍的な成長と成果、並びにマルチメディアサービスに対する需要の増加のために、インターネットおよび移動体／無線チャネルを介するストリーミング・メディアが大きな注目を集めてきている。異機種インターネットプロトコル（ＩＰ）ネットワークでは、ビデオはサーバから提供され、１つまたは複数のクライアントによってストリーミングされることができる。ワイヤ接続には、ダイアルアップ、ＩＳＤＮ、ケーブル、ｘＤＳＬ、ファイバ、ＬＡＮ（ローカルエリアネットワーク）、ＷＡＮ（広域ネットワーク）などが含まれる。伝送モードは、ユニキャストまたはマルチキャストのいずれであってもよい。ＰＤＡ（携帯情報端末）、ラップトップ、デスクトップ、セットトップボックス、ＴＶ、ＨＤＴＶ（高品位テレビ）、移動電話などを含む様々な個々のクライアント装置は、同じコンテンツに対して、様々な帯域のビットストリームを同時に要求する。コネクション帯域幅は時間とともに急速に変化してもよく（９．６ｋｂｐｓから１００Ｍｂｐｓ以上まで）、サーバの反応よりも高速でもよい。
【０００４】
移動体／ワイヤレス通信も異機種ＩＰネットワークと同様である。移動体／無線チャネルを介するルチメディアコンテンツの転送は極めて難しい。この理由は、これらのチャネルは、マルチパスフェージング、シャドウィング、記号間干渉および騒音妨害が原因で重大な障害を生じることが多いからである。移動性および競合トラフィックといったいくつかの他の理由も帯域幅変化および損失の原因となる。チャネル雑音およびサービスを受けているユーザの数によって、チャネル環境の時間変化特性が決定される。環境条件に加えて、宛先ネットワークが、地理的な位置およびモバイルローミングのために、第二、第三世代セルラネットワークから広帯域データオンリー・ネットワークまで変化できる。これら全ての変動要素は、実行中であっても、マルチメディアコンテンツに対して適応する速度調整を必要とする。したがって、異機種有線／無線ネットワークを介してビデオを良好に伝送するには、効率的な符号化、並びに変化するネットワーク条件、装置特性およびユーザ選択への適応性を必要とする同時に、損失を回復する必要がある。
【０００５】
それぞれのユーザ要求を満たし、チャネル変化に適合するために、それぞれが伝送帯域、ユーザ表示および／または計算能力に基づいた１つの制約等級を満たす、複数の独立したバージョンのビットストリームを生成してもよいが、これは、サーバ記憶装置およびマルチキャストアプリケーションにとって効率的ではない。ハイエンドユーザに適応する単一マクロビットストリームがサーバで形成されるスケーラブル符号化では、ローエンドアプリケーションに対するビットストリームがマクロビットストリームのサブセットとして埋め込まれる。したがって、単一ビットストリームは、サブビットストリームを選択的に伝送することによって、多様なアプリケーション環境に適応することができる。スケーラブル符号化によって提供される別の利点は、エラーの発生しやすいチャネル上での確実なビデオ伝送である。エラー保護およびエラー隠蔽は容易に対処することができる。より信頼性の高い伝送チャネルまたはより良好なエラー保護は、最も重要な情報を含んでいるベース層ビットに適用することができる。
【０００６】
ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４（ＭＰＥＧ−ｘと総称する）、Ｈ．２６１、Ｈ．２６２、Ｈ．２６３およびＨ．２６４（Ｈ．２６ｘと総称する）といったハイブリッドエンコーダには、空間的および時間的な信号対雑音比（ＳＮＲ）スケーラビリティがある。ハイブリッドコーディングでは、時間的冗長性が運動補償予測（ＭＣＰ）によって除去される。一般に、ビデオは一連のグループのピクチャ（ＧＯＰ）に分割され、各ＧＯＰは、イントラ符号化フレーム（Ｉ）で始まり、その後に、前方（および／または後方）予測フレーム（Ｐ）および双方向予測フレーム（Ｂ）が配列される。ＰフレームおよびＢフレームはどちらもＭＣＰを採用した相互予測フレームである。ベース層はＩフレーム、ＰフレームまたはＢフレームの最も重要な情報を、より低い品質水準で含むことができ、エンハンスメント層は同一フレームまたはベース層に含まれない追加の時間スケーリングフレームのより高品質の情報を含むことができる。エンハンスメント層におけるより高品質データの復号を選択的に除外することによって、デコーダにおいてＳＮＲスケーラビリティを達成すると同時に、ベース層データを復号できる。ベース層とエンハンスメント層との間でデータをどのように解析するかによって、ベース層およびエンハンスメント層のデータの復号は、複雑性を増し、メモリ必要量を増加させる可能性がある。増大した計算の複雑さと増加したメモリ必要量とは、例えば、ＰＤＡ（携帯情報端末）、移動電話といった電力制限され、かつ計算制限されたデバイスの性能には不利となる。望ましくは、ベース層およびエンハンスメント層の復号化は、このようなデバイスの計算の複雑性とメモリ必要量を著しく増大させないことである。
【発明の開示】
【０００７】
したがって、計算の複雑性と要求されるメモリとを著しく増大させずに、ベース層およびエンハンスメント層を復号するシステムおよび方法を開発することが有利となる。
【０００８】
一実施形態は、マルチメディアデータを処理する方法を含む。この方法は、少なくとも１つのビデオフレームを表す第１セットの量子化係数を受信することと、少なくとも１つのビデオフレームを表す第２セットの量子化係数を受信することと、第１セットの量子化係数と第２セットの量子化係数を用いて、少なくとも１つのビデオフレームを表す第３セットの量子化係数を生成することとを備える。
【０００９】
特定の実施形態では、この方法はさらに、少なくとも１つのビデオフレームを表す可変長係数（ＶＬＣ）データを受信することと、ＶＬＣデータを処理して第１セットの量子化係数と第２セットの量子化係数とを生成することとを備え、第１セットおよび第２セットの量子化係数を生成するＶＬＣデータ処理は、単一プロセッサにより実行される。特定の実施形態では、第２セットの量子化係数は、第１セットの量子化係数に対して少なくとも１つの改良を示す。特定の実施形態では、第３セットの量子化係数は第１セットの量子化係数を第２セットの量子化係数に加えることによって生成される。特定の実施形態では、第１セットの量子化係数を第２セットの量子化係数と結合して第３セットの量子化係数を生成することは、一部は、第１セットの量子化係数に関連する第１量子化パラメータと、第２セットの量子化係数に関連する第２量子化パラメータとに基づいている。特定の実施形態では、第１量子化パラメータと第２量子化パラメータは、１以外の公分母を有する。
【００１０】
別の実施形態は、マルチメディアデータを処理する装置を含む。この装置は、少なくとも１つのビデオフレームを表す第１セットの量子化係数を受信する手段と、少なくとも１つのビデオフレームを表す第２セットの量子化係数を受信する手段と、第１セットの量子化係数と第２セットの量子化係数を用いて、少なくとも１つのビデオフレームを表す第３セットの量子化係数を生成する手段とを備える。
【００１１】
特定の実施形態では、装置はさらに、少なくとも１つのビデオフレームを表すＶＬＣデータを受信する手段と、ＶＬＣデータを処理して第１セットの量子化係数と第２セットの量子化係数とを生成する手段とを備え、第１セットおよび第２セットの量子化係数を生成するＶＬＣデータ処理は、単一のプロセッサによって実行される。特定の実施形態では、第１セットの量子化係数と第２セットの量子化係数とに関連する量子化パラメータは、１以外の公分母を有する。特定の実施形態では、この公分母は６である。特定の実施形態では、第３セットの量子化係数を生成する手段は、第２セットの量子化係数に加えられた第１セットの量子化係数を用いる。特定の実施形態では、第１セットの量子化係数を第２セットの量子化係数に加えて第３セットの量子化係数を生成することは、一部は、第１セットの量子化係数に関連する第１量子化パラメータと、第２セットの量子化係数に関連する第２量子化パラメータとに基づいている。特定の実施形態では、第２セットの量子化係数は、第１セットの量子化係数に対して少なくとも１つの改良を示す。
【００１２】
別の実施形態は、マルチメディアデータを処理する装置を含む。この装置は、少なくとも１つのビデオフレームを表す第１セットの量子化係数と、少なくとも１つのビデオフレームを表す第２セットの量子化係数とを受信するように構成された受信モジュールと、第１セットの量子化係数と第２セットの量子化係数を用いて、少なくとも１つのビデオフレームを表す第３セットの量子化係数を生成するように構成された処理モジュールとを備える。
【００１３】
さらに別の実施形態は、マルチメディアデータを処理する命令を含む機械可読媒体を含み、命令を実行することによって、機械は、少なくとも１つのビデオフレームを表す第１セットの量子化係数を決定し、少なくとも１つのビデオフレームを表す第２セットの量子化係数を決定し、第１セットの量子化係数と第２セットの量子化係数を用いて、少なくとも１つのビデオフレームを表す第３セットの量子化係数を符号化する。
【００１４】
別の実施形態は、マルチメディアを処理するプロセッサを含む。このプロセッサは、少なくとも１つのビデオフレームを表す第１セットの量子化係数を決定し、少なくとも１つのビデオフレームを表す第２セットの量子化係数を決定し、第１セットの量子化係数と第２セットの量子化係数を用いて、少なくとも１つのビデオフレームを表す第３セットの量子化係数を符号化するように構成されている。
【００１５】
この発明の概要だけでなく以下の詳細な説明も本発明を定義することを意味するものではない。本発明は特許請求の範囲によって定義される。
【詳細な説明】
【００１６】
ベース層および１つまたは複数のエンハンスメント層を含み、デコーダのオーバーヘッドが低減された、多層のビデオを提供する方法および装置が開示される。ベース層およびエンハンスメント層の係数は、両方の層が復号化に利用可能になるときに、逆量子化の前に本明細書で開示されている特定の実施形態に従うデコーダ装置によって結合され、これにより復号化の効率を高めることができる。
【００１７】
以下の説明では、実施形態の完全な理解を可能にするために特定の詳細事項が示される。しかし、これら実施形態は、これらの特定の詳細事項がなくても実施できることは当業者であれば理解されるであろう。例えば、不必要な詳細事項で実施形態を不明瞭にしないために、電気構成部品がブロック図で示されてもよい。他の例では、このような構成部品、他の構造および技法が、実施形態を詳細に説明するために詳しく示されてもよい。
【００１８】
なお、実施形態は、フローチャート、流れ図、構造図またはブロック図と示されるプロセスとして説明されてもよい。フローチャートは操作を順序プロセスとして説明してもよいが、操作のうちの多くは平行または同時に実行可能であり、プロセスは繰り返すこともできる。さらに、操作の順序は再構成されてもよい。プロセスの操作が完了すると、プロセスは終了する。プロセスは、方法、機能、手順、サブルーチン、サブプログラムなどに対応し得る。プロセスが機能に対応すると、プロセスの終了は、呼び出し機能または主機能への機能の復帰に相当する。
【００１９】
従来の単層デコーダでは、Ｉフレーム、ＰフレームおよびＢフレームの復号化の全てが同じ経路に従う。係数は、イントラ符号化ビデオまたは残留誤差のいずれを表していても、逆量子化され、逆変換され、その後、空間予測係数または最良一致マクロブロック係数のいずれかとそれぞれ結合される。
【００２０】
以下に述べる符号化および復号化プロセスによって、ベース層および／またはエンハンスメント層（複数可）のスケーラブル復号化は、効率を上げるようにビデオデータを復号することに関与する構成要素に対してトランスペアレントになる。各層を別個に、各層自体のパス内のそれぞれを復号し、その後に復号化層を結合するという、二重層復号化をトランスペアレントにするのに非効率な２パス方法の代わりに、例えば、デジタル信号処理プロセッサ（ＤＳＰ）などプリプロセッサを用いて、ベース層データとベース層データに対するエンハンスメント層の変更とを結合することによって、デコーダに対する効率的なトランスペアレンシーが達成でき、その後に結合されたデータをハードウェアビデオコアにおいて単一パスで復号し、それによってさらに高効率を達成できる。
【００２１】
図１Ａは、多層のビデオを復号するデコーダ装置１００の１つの例の図である。デコーダ装置１１０は、ビデオコア１１０を含み、ビデオコア１１０は、逆量子化構成要素１２０と逆変換構成要素１１５とメモリ構成要素１３０と通信構成要素１４０と第１プロセッサ１８０と第２プロセッサ１３５とを含む。デコーダ装置１００は、（ａ）デコーダ装置１００の内部または外部に存在してもよい記憶構成要素１４５と、（ｂ）表示構成要素１９０とに結合されている。図１に関連して検討および説明するために、記憶構成要素１４５がデコーダ装置１００の外部にあると仮定する。
【００２２】
デコーダ装置１００は、外部の記憶装置１４５からの符号化データ、またはネットワーク１５０から受信された送信からの符号化データを受信する。符号化データは、変換データ、量子化データ、可変長符号化（ＶＬＣ）データまたはそれらの任意の組み合わせを備えてもよい。さらに、符号化データは、ベース層データおよびエンハンスメント層データなど、別々の層のビデオに対するデータを備えてもよい。例えば、通信構成要素１４０は、ベース層と、エンハンスメント層と、この２つの層に対するＶＬＣデータを量子化係数に変換するためのルックアップ表とを表すＶＬＣデータを受信してもよい。通信構成要素１４０は、ネットワーク１５０と併せて符号化データを受信する（Ｒｘ）のに用いられる論理、並びに符号化データを外部の記憶装置１４５から受信するための論理を含む。外部の記憶装置１４５は、例えば、外部ＲＡＭもしくはＲＯＭ、または遠隔サーバであってもよい。
【００２３】
第１プロセッサ１８０は、ＶＬＣデータを処理するための論理を含む。第１プロセッサ１８０は、ＶＬＣテーブル索引、ＶＬＣランレングス伸張、および逆ジグザグスキャニングを実行するものとしても知られる、ＶＬＣ記号生成のための論理を含む。したがって、同一データを表すＶＬＣデータが与えられると、第１プロセッサ１８０は、アンパックされた量子化（または残留）係数を生成する。特定の実施形態では、第１プロセッサは、縮小命令セットコンピュータ（ＲＩＳＣ）プロセッサである。
【００２４】
図３を参照して以下により詳細に説明されるとおり第２プロセッサ１３５は、量子化係数といった、ベース層およびエンハンスメント層を表すデータを結合するのに論理を含み、これにより結合データを後に単層に復号できる。特定の実施形態では、第２プロセッサ１３５は、例えば、エンハンスメント層が受信されないかまたは破壊態で受信される場合、またはバッテリー電力もしくは処理電力を節約するために、ベース層復号可能データを生成するための論理を含んでもよい。特定の実施形態では、第２プロセッサ１３５はＤＳＰである。
【００２５】
イントラ符号化データが受信されると、第２プロセッサ１３５は、最初にそのデータを処理し、次に処理したデータをビデオコア１１０の逆量子化構成要素１２０に送って逆量子化し、その後ビデオコア１１０の逆変換構成要素１１５によって逆変換し、結果として、表示構成要素１９０上で表示される復号化ピクチャを得る。一方、インター符号化データは、そのフレームからインター符号化データが予測された基準フレームが復号された後に、復号される。残留誤差係数は、第２プロセッサ１３５、逆量子化構成要素１２０および逆変換構成要素１１５によって処理され、その結果、復号化残留誤差となる。次に、残留誤差は、基準フレームから最良一致するマクロブロックと結合される。復号化フレームは、表示構成要素１９０を用いて表示され、外部の記憶装置１４５に記憶されるかまたは内部メモリ１３０に記憶されることができる。
【００２６】
表示構成要素１９０は、表示スクリーンを含むビデオ表示ハードウェアおよび論理などの部品を含む復号化装置の一体化部分であってもよく、または外部周辺装置であってもよい。通信構成要素１７５はまた、復号化フレームを外部記憶構成要素１８５または表示構成要素１９０に通信するのに用いられる論理を含む。デコーダ装置１００の１つまたは複数の要素は再構成および／または結合されてもよい。
【００２７】
ビデオコア１１０は２つの構成要素、すなわち逆量子化構成要素１２０と逆変換構成要素１１５とを含む。特定の実施形態では、ビデオコア１１０は、特定用途向け集積回路（ＡＳＩＣ）として実現されてもよい。逆量子化構成要素１２０と逆変換構成要素１１５はそれぞれ逆量子化と逆変換を実行する。これらの逆演算は、最初のビデオデータを表す係数とビデオフレームを再構成することを可能にするために実行され、これにより、残留誤差の算出およびエンハンスメント層係数の算出が可能な限り正確となる。
【００２８】
逆量子化が実行される際には、逆量子化構成要素１２０は、割り当てられたビット数を用いて変換された各係数を量子化係数として表し、変換された係数を再現する。変換された係数の量子化／逆量子化は、ブロック毎またはマクロブロック毎に異なってもよい。マクロブロックは、１６×１６ピクセルのブロック（１６×１６ルマブロックと２つの８×８クロマブロックとから構成される）であってもよい。量子化パラメータ（ＱＰ）は、変換係数が量子化係数に量子化されるときに実行される、量子化レベルを決定する。ＱＰを増加することによって、より大きいデジタル圧縮が実現され、これによって、係数を表すデジタル表示の品質が低下する。１つの例では、低品質の係数は、ＳＮＲスケーラブルなビデオストリームのベース層で符号化される。ＱＰを減少することによって、係数を表するデジタル表示を高品質にすることができる。これらの高品質の係数は、ＳＮＲスケーラブルなビデオストリームのエンハンスメント層で符号化される。
【００２９】
逆変換を実行するとき、逆変換構成要素１１５は、変換された係数を、例えば復号化ビデオフレームなどの空間領域からのビデオデータに変換する。ＤＣＴ（離散コサイン変換）が用いられた場合、変換された係数は周波数領域を表す。変換された係数は、実際のビデオデータが変換される場合のイントラ符号化データであってもよく、または空間予測残留が変換される場合のイントラ符号化データとなることができるか、または残留誤差が変換される場合のインター符号化データとなることができる。他のデジタル変換には、アダマール変換、ＤＷＴ（離散ウェーブレット変換）、および、例えば、Ｈ．２６４で用いられる整数変換が含まれる。
【００３０】
ビデオ復号化においては、例えば、ビデオコアのハードウェア実施形態を用いて、計算集約的な復号化プロセス、特に逆量子化および逆変換を促進してもよい。ハードウェアビデオコアは、複数の機能を同時に実行できる（パイプライン方式）特定の回路および／またはプロセッサ（複数可）を含んでもよい。パイプライン方式によって、復号化時間を短縮できる。追加の逆変換、追加の逆量子化演算または別の追加の加算といった、標準的なパイプラインフローにおいて何らかの中断があると、プロセス全体の速度が低下する可能性がある。当業者には、ビデオコアの１つまたは複数の実施形態が、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコードまたはそれらの任意の組み合わせによって実現されてもよいことは明らかであろう。
【００３１】
通信構成要素１４０は、ネットワーク１５０などの外部ソースから符号化データを受信するために用いられる論理を含む。外部ソースはまた、例えば、外部記憶装置１４５、ライブビデオおよび／または音声入力であってもよく、データ受信は、有線および／または無線通信を含むことができる。符号化データは、上述のとおり、変換されたデータ、量子化データ、可変長符号化データまたはそれらの任意の組み合わせを備えてもよい。ネットワーク１５０は、電話システム、ケーブルシステムまたは光ファイバシステムなど有線システムの一部であってもよく、またはネットワーク１５０は無線システムであってもよい。無線通信システムの場合、ネットワーク１５０は、例えば、符号分割多元接続（ＣＤＭＡまたはＣＤＭＡ２０００）通信システムの一部を備えることができる。あるいは、システムは、周波数分割多元接続（ＦＤＭＡ）システム、ＧＳＭ／ＧＰＲＳ（汎用パケット無線サービス）／ＥＤＧＥ（拡張データのＧＳＭ環境）またはサービス業に対するＴＥＴＲＡ（地上基幹無線）移動電話技術といった時分割多元接続（ＴＤＭＡ）システム、広帯域符号分割多元接続（ＷＣＤＭＡ）、高速データレート（１ｘＥＶ−ＤＯまたは１ｘＥＶ−ＤＯ  Ｇｏｌｄ  Ｍｕｌｔｉｃａｓｔ）システム、または一般に、各種技術の組み合わせを採用した任意の無線通信システムであってもよい。デコーダ装置１００の１つまたは複数の要素は再構成および／または組み合わせできる。例えば、通信構成要素１４０はデコーダ装置１００の外部に存在してもよい。
【００３２】
図１Ｂは、図１Ａの符号化システムの１つの例としての第１プロセッサ１８０および第２プロセッサ１３５を示す図である。第１プロセッサ１８０は、ＶＬＣデータを受信するモジュール１８１と、ＶＬＣデータを処理するモジュール１８２とを含む。第２プロセッサ１３５は、第１セットの量子化係数を受信するモジュール１３６と、第２セットの量子化係数を受信するモジュール１３７と、第３セットの量子化係数を生成するモジュール１３８とを含む。
【００３３】
特定の実施形態では、第１プロセッサ１８０は、第１プロセッサのＶＬＣデータを受信するモジュール１８１を介してＶＬＣデータを受信する。特定の実施形態では、ＶＬＣデータは単一または多層ビデオデータを表してもよい。ＶＬＣデータは、例えば、図１で示されるとおり、デコーダ装置１００の通信構成要素１４０から受け取られる。特定の実施形態では、少なくとも１つのビデオフレームを表すＶＬＣデータを受信する手段は、ＶＬＣデータを受信するモジュール１８１を備える。ＶＬＣデータを受信するモジュール１８１はさらに、ＶＬＣデータを処理するモジュール１８２にＶＬＣデータを送るよう構成されている。特定の実施形態では、ＶＬＣデータを処理して第１セットの量子化係数と第２セットの量子化係数とを生成する手段においては、第１セットおよび第２セットの量子化係数を生成するＶＬＣデータの処理が単一のプロセッサによって実行され、上記量子化係数の生成手段は、ＶＬＣデータを処理するモジュール１８２を備える。ＶＬＣデータを処理するモジュール１８２は、ＶＬＣデータに含まれる情報を用いて、ＶＬＣデータを拡張するように構成されている。例えば、ＶＬＣデータを処理するモジュール１８２は、ＶＬＣデータに含まれるＶＬＣテーブル情報を用いてＶＬＣテーブル索引を実行することでも知られる、ＶＬＣ記号生成のための論理を含んでもよい。ＶＬＣデータを処理するモジュール１８２はさらに、ＶＬＣランレングス伸張と逆ジグザグスキャニングを含んでもよい。ＶＬＣプロセッサはさらに、拡張ＶＬＣデータと量子化係数を第２プロセッサ１３５に送るように構成されてもよい。特定の実施形態では、拡張ＶＬＣデータは、多層のビデオデータを表す複数の量子化係数セットを含んでもよい。
【００３４】
特定の実施形態では、第２プロセッサ１３５は、第１セットの量子化係数を受信するモジュール１３６と第２セットの量子化係数を受信するモジュール１３７とを介して、複数セットの量子化係数などの量子化係数データを受信する。特定の実施形態では、少なくとも１つのビデオフレームを表す第１セットの量子化係数を受信する手段は、第１セットの量子化係数を受信するモジュール１３６を備えている。特定の実施形態では、少なくとも１つのビデオフレームを表す第２セットの量子化係数を受信する手段は、第２セットの量子化係数を受信するモジュール１３７を備えている。第１および第２セットの量子化係数は、例えば、それぞれベース層およびエンハンスメント層のビデオデータを表してもよい。受信モジュール１３６、１３７はさらに、受信した量子化係数データをモジュール１３８に送って第３セットの量子化係数を生成するように構成されている。特定の実施形態では、第１セットの量子化係数と第２セットの量子化係数とを用いて、少なくとも１つのビデオフレームを表す第３セットの量子化係数を生成する手段は、第３セットの量子化係数を生成するモジュール１３８を備える。特定の実施形態では、第３セットの量子化係数を生成するモジュール１３８は、図４を参照して開示されたプロセスなどのような、本明細書で説明された多層ビデオ符号化技術を用いて、第１セットの量子化係数と第２セットの量子化係数を結合するように構成されている。したがって、第３セットの量子化係数を生成するモジュール１３８は第１および第２セットの量子化係数を表す第３セットの量子化係数を生成してもよい。特定の他の実施形態では、第３セットの量子化係数を生成するモジュール１３８は、１つのセットの係数が、２つの受信モジュール１３６、１３７のうちの１つから受信されない場合であっても、第３セットの量子化係数を生成するように構成されている。
【００３５】
当業者であれば、多様な種々の技術および技法のいずれかを用いて、情報および信号を表すことができることは理解されるであろう。例えば、上記の説明を通して参照されるデータ、命令、コマンド、情報、信号、ビット、記号およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光粒子、またはそれらの組み合わせによって表されてもよい。
【００３６】
図２は、本発明の１つの実施形態によるＳＮＲスケーラブルなビデオを復号するプロセスのフローチャートである。図２は、本明細書で開示される多層ビデオ符号化の１つの実施形態を用いて、ＳＮＲスケーラブルなビデオを復号する１つのプロセスを示しているが、本明細書で述べるとおり、他のプロセスを、例えば、米国特許出願第６０／６６０，８７７号の発明の名称「２層符号化と単層復号化とを用いたスケーラブルなビデオ符号化（”Scalable Video Coding with Two Layer Encoding and Single Layer Decoding”）」に記載されるような多層ビデオ符号化の特定の実施形態と組み合わせて用いてもよい。上記の特許出願は参照によりその全内容を本明細書に引用したものとする。
【００３７】
プロセス２００は、多層ビデオ符号化を用いて、ベース層とエンハンスメント層から構成されるビデオストリームを復号する流れを示している。ステップ２０１では、デコーダ装置の通信モジュールが、ＳＮＲスケーラブルなビデオストリームに対するＶＬＣデータをネットワークから受信する。ＳＮＲスケーラブルなビデオストリームは、２つの層、すなわち、ベース層とエンハンスメント層を有する。次に、ステップ２０２において、通信モジュールがＶＬＣデータを第１プロセッサ１８０に送る。ステップ２０３では、第１プロセッサ１８０は、ＶＬＣテーブル索引としても知られるＶＬＣ記号生成のプロセスを用い、その後にＶＬＣランレングス伸張を実行してＶＬＣデータを拡張し、アンパックされた量子化係数を生成するための逆ジグザグスキャンを実行して完了する。したがって、第１プロセッサ１８０は、ベース層とエンハンスメント層の両方に対して別個の量子化係数セットを生成する。次に、２つのセットの量子化係数が第２プロセッサ１３５に送られる。ステップ２０４において、第２プロセッサ１３５は、ベース層を表す第１セットの量子化係数と、エンハンスメント層を表す第２セットの量子化係数とを、図３を参照して以下に説明されるとおり、本発明の特定の形態特徴を用いて、第３セットの量子化係数に結合する。他の実施形態では、ＶＬＣデータを拡張する全プロセスを第１プロセッサ１８０が実行する代わりに、第１プロセッサ１８０がＶＬＣ記号生成を実行してベース層とエンハンスメント層を表す２つのセットの量子化係数を生成し、その後に第２プロセッサ１３５がＶＬＣランレングス伸張と逆ジグザグスキャンを実行してもよい。
【００３８】
第３セットの量子化係数がビデオコアの逆量子化構成要素に送られ、ここでは、ステップ２０５において、その構成要素がそのセットに対して脱量子化を実行して、第３セットの量子化係数を表す１セットの変換係数を生成する。次に、変換係数は、逆変換構成要素に送られ、ここでは、ステップ２０６において、変換係数を作成するためにビデオストリームに適用された最初の変換関数の逆がここで変換係数に適用され、プロセスを逆にし、ビデオストリームを再生成する。次に、ビデオストリームが内部メモリに置かれ、通信構成要素を用いて表示装置に伝達され、プロセス２００が完了する。
【００３９】
図３は、２つの別個の層のビデオデータを表す２つのセットの量子化係数を受信して結合する１つの例としてのプロセスのフローチャートである。図示されたプロセスは、図２のステップ２０３をより詳細に示す。図１で示されたシステムおよび図２で示されたフローチャートといった特定の実施形態では、プロセスはＲＩＳＣプロセッサによって実行されてもよい。他の実施形態では、別のタイプのプロセッサを用いてもよい。別の実施形態では、複数のプロセッサを用いて量子化係数データを受信し、結合してもよい。このプロセスは、ステップ３０１で、最初に、第１セットの量子化係数を受信することによって始まる。第１セットの量子化係数は、特定の実施形態では、１つの層のビデオデータを表してもよい。例えば、第１セットの係数は、ベース層を表してもよい。次に、ステップ３０２において、第２セットの量子化係数が受信される。第２セットの量子化係数も、特定の実施形態では、１つの層のビデオデータを表してもよい。例えば、第２セットの係数は、エンハンスメント層を表してもよい。他の実施形態では、第１セットの係数は第２セットの係数の後に受信されてもよい。別の実施形態では、２つのセットの係数が同時に受信されてもよい。
【００４０】
ステップ３０３において、第１セットの係数と第２係数とを用いて、第３セットの係数が生成される。特定の実施形態では、第３セットの係数セットは、第１セットの係数と第２セットの係数とを結合することによって生成されてもよい。特定の実施形態では、第３セットの係数は、図４を参照して以下に詳細に説明されるとおり、第１セットの係数および／または第２セットの係数に関連する量子化パラメータを用いて生成されてもよい。第３セットの係数が生成された後、このプロセスは完了する。
【００４１】
図４は、最初の第１および第２セットの量子化係数によって表されるビデオに対して、第３セットの量子化係数を生成する１つの例としてのプロセスのフローチャートである。図示したプロセスは、係数セットに関連する量子化パラメータの公分母が６である実施形態におけるものである。他の実施形態では、量子化パラメータは公分母を有していない可能性もある。１つの実施形態では、デコーダ装置１００は、ベース層およびエンハンスメント層の両方を表す量子化係数セットを結合する時間においてＱＰを動的に決定してもよい。
【００４２】
プロセスは、ステップ４０１で、ベース層の係数セット内の第１係数を用いて開始される。次に、プロセスは、ステップ４０２で反復ループに入り、ベース層およびエンハンスメント層の係数セットの各係数が結合される。具体的には、ベース層係数セットの第１係数Ｂ１から始まり、結合された係数セット内の対応する係数の値Ｃ１は、Ｂ１と、エンハンスメント層係数セット内の対応する係数Ｅ１と、ベース層係数セットＱＰＢとエンハンスメント層係数セットＱＰＥとに関係する量子化パラメータとに関する式に基づいている。具体的には、ステップ４０３において、式はＣi＝（（ＱＰB−ＱＰE）／３）*Ｂi＋Ｅiである。ここで、ｉ＝１．．．ｎであり、ｎは、ベース層係数セットとエンハンスメント層係数セットとの間で最も長い係数セットにおける係数の数である。図示されたプロセスは、ＱＰB＞ＱＰEで、両方のＱＰの公分母が６である場合のベース層およびエンハンスメント層量子化を利用している。したがって、この式は、係数を１ビット左に移動すること（スケーリングの１つの形）によって、ベース層係数をエンハンスメント層スケールに変換する。
【００４３】
上記の式を用いて、結合された層に対する係数を生成するために、ベース層およびエンハンスメント層からの係数を加えるこのプロセスは、ステップ４０４において、ベース層の係数セットの各係数に対して繰り返され、これは、図示された実施形態において、エンハンスメント層の係数セットと長さが等しい。次に、ベース層の係数セット内に処理すべき係数が残っていない場合、このプロセスは終了する。他の実施形態では、他の式を用いて結合係数セットの値を計算してもよく、このセットは異なる、または公分母のない量子化パラメータを含んでもよい。
【００４４】
当業者であればさらに、本明細書で開示された各例に関連して記載された、種々の例示的な論理ブロック、モジュールおよびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェアまたは両方の組み合わせとして実現されてもよいことは理解されるであろう。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、種々の例示的な構成要素、ブロック、モジュール、回路およびステップが、一般にそれらの機能の観点から上記で説明されてきた。このような機能をハードウェアとして実現するかまたはソフトウェアとして実現するかは、特定の用途と、システム全体に課せられる設計上の制約とに依存する。当業者であれば、特定の用途それぞれに対して様々な方法で上述の機能を実現可能であるが、このような実現化の決定は、開示された方法の範囲からの逸脱を生じると解釈されるべきではない。
【００４５】
本明細書で開示された例に関して説明された種々の例示的な論理ブロック、モジュールおよび回路は、一般用途のプロセッサ、ＤＳＰ、ＡＳＩＣ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理、ディスクリートハードウェア構成要素、または本明細書で記載した機能を実現するように設計されたそれらの任意の組み合わせを用いて、実現または実行されてもよい。一般用途プロセッサは、マイクロプロセッサであってもよいが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラまたは状態機械であってもよい。プロセッサはまた、計算デバイスの組み合わせ（例えば、ＤＳＰとマイクロプロセッサとの組み合わせ）、複数のマイクロプロセッサ、ＤＳＰコアと組み合わされる１つまたは複数のマイクロプロセッサ、または任意の他のこのような構成として実現されてもよい。
【００４６】
本明細書で開示された例に関して説明された方法またはアルゴリズムのステップは、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、またはこれら２つの組み合わせとして直接具体化されてもよい。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭまたは当業界で既知の任意の他の形態の記憶媒体内に存在してもよい。例示的な記憶媒体は、プロセッサがその記憶媒体から情報を読み取り、情報を書き込むことができるように、プロセッサに結合されている。代替例では、記憶媒体は、プロセッサと一体であってもよく。プロセッサと記憶媒体はＡＳＩＣ内に存在してもよい。ＡＳＩＣは無線モデム内に存在してもよい。代替例では、プロセッサおよび記憶媒体は、無線モデム内の個別部品として存在してもよい。
【００４７】
開示された例の先の説明は、当業者が、開示された方法および装置を製作または使用できるようにするために提供されている。これらの例の種々の変更形態は、当業者には容易に明らかであろう。本明細書で定義された原理は、開示された方法および装置の精神または範囲から逸脱することなく他の実施例に適用可能である。
【００４８】
したがって、ベース層において許容できる品質のビデオと、エンハンスメント層においてより高品質なビデオとを、デコーダのオーバーヘッドを最小にして、両方の層を表す単一セットの量子化係数を生成することによって提供する方法および装置が説明されてきた。
【図面の簡単な説明】
【００４９】
【図１Ａ】ストリーミングビデオの配信するための1つの例としての符号化システムを示す図である。
【図１Ｂ】図１Ａの符号化システムの1つの例としての第１プロセッサおよび第２プロセッサを示す図である。
【図２】ビデオを符号化するフローチャートの1つの例である。
【図３】図１Ａの第１プロセッサによって実行されるプロセスのフローチャートの1つの例である。
【図４】最初は第１および第２セットの量子化係数によって表されたビデオを表す第３セットの量子化係数を生成する、プロセスのフローチャートの1つの例である。
【図１Ａ】
2009510940.tif 000003
【図１Ｂ】
2009510940.tif 000004
【図２】
2009510940.tif 000005
【図３】
2009510940.tif 000006
【図４】
2009510940.tif 000007
【国際調査報告】
2009510940.tif 000008
2009510940.tif 000009
2009510940.tif 000010