(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6501712
(24)【登録日】2019年3月29日
(45)【発行日】2019年4月17日
(54)【発明の名称】スケーラブルビデオ符号化空間モードの帯域幅節約アーキテクチャ
(51)【国際特許分類】
H04N 19/33 20140101AFI20190408BHJP
H04N 19/426 20140101ALI20190408BHJP
【FI】
H04N19/33
H04N19/426
【請求項の数】8
【全頁数】13
(21)【出願番号】特願2015-545179(P2015-545179)
(86)(22)【出願日】2013年11月26日
(65)【公表番号】特表2016-502815(P2016-502815A)
(43)【公表日】2016年1月28日
(86)【国際出願番号】US2013071931
(87)【国際公開番号】WO2014085415
(87)【国際公開日】20140605
【審査請求日】2016年10月28日
(31)【優先権主張番号】13/689,212
(32)【優先日】2012年11月29日
(33)【優先権主張国】US
【前置審査】
(73)【特許権者】
【識別番号】591016172
【氏名又は名称】アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
(73)【特許権者】
【識別番号】508301087
【氏名又は名称】エーティーアイ・テクノロジーズ・ユーエルシー
【氏名又は名称原語表記】ATI TECHNOLOGIES ULC
(74)【代理人】
【識別番号】100108833
【弁理士】
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【弁理士】
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【弁理士】
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】レイ チャン
(72)【発明者】
【氏名】ジ ジョウ
(72)【発明者】
【氏名】ジェン チェン
(72)【発明者】
【氏名】ミン ユ
【審査官】
岩井 健二
(56)【参考文献】
【文献】
特表2011−501568(JP,A)
【文献】
米国特許出願公開第2009/0175333(US,A1)
【文献】
米国特許出願公開第2007/0014349(US,A1)
【文献】
Anamaria Bjelopera, et al.,Scalable Video Coding Extension of H.264/AVC,ELMAR, 2012 Proceedings,IEEE,2012年 9月12日,pp.7-12.
【文献】
Kyujoong Lee,Chae-Eun Rhee, Hyuk-Jae Lee, Jungwon Kang,Memory efficient hardware design for a 3-spatialla layer SVC encoder,2011 IEEE 54th International Midwest Symposium on Circuits and Systems(MWSCAS) ,IEEE,2011年 8月 7日,p.1-4.,URL,http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6026371
【文献】
Huang, Hsiao-Shan; Li, Gwo-Long; Chang, Tian-Sheuan,Low Memory Bandwidth Prediction Method for H.264/AVC Scalable Video Extension,Asia-Pacific Signal and Information Processing Association Annual Summit and Conference(APSIPA ASC 2009),2009年10月 4日,p.294-298.,URL,http://hdl.handle.net/2115/39695
【文献】
Yongying Gao, et al.,H.264/Advanced Video Coding (AVC) Backward-Compatible Bit-Depth Scalable Coding,IEEE transactions on Circuits and Systems for Video Technology, April 2009,IEEE,2009年 3月 4日,Volume: 19, Issue: 4,pp.500-510.
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 − 19/98
(57)【特許請求の範囲】
【請求項1】
基本レイヤエンコーダと、
拡張レイヤエンコーダと、を備え、
前記基本レイヤエンコーダは、フレームを基本レイヤに符号化し、残差データ、復元データ及び動きデータの何れか又はこれらの組み合わせと、残差データを含むか否かを示すビットと、を含むインターレイヤデータを生成して前記拡張レイヤエンコーダに送信するように構成されており、
前記拡張レイヤエンコーダは、前記インターレイヤデータを前記基本レイヤエンコーダから受信してアップサンプリングすることであって、前記インターレイヤデータに含まれる前記残差データ又は復元データは、同じビット数のデータチャネルで前記基本レイヤエンコーダから受信される、ことと、前記フレームを、前記基本レイヤのブロックタイプに基づいて、アップサンプリングされた前記インターレイヤデータを用いて拡張レイヤに符号化することであって、前記基本レイヤのブロックタイプは、前記インターレイヤデータが前記残差データ又は前記復元データの何れを含むかを示す、ことと、を行うように構成されており、
前記拡張レイヤの解像度は前記基本レイヤの解像度よりも高い、
スケーラブルビデオ符号化システム。
【請求項2】
前記基本レイヤエンコーダ及び前記拡張レイヤエンコーダは、空間スケール符号化エンジンである、
請求項1に記載のシステム。
【請求項3】
前記基本レイヤエンコーダと前記拡張レイヤエンコーダとの間で前記復元データ及び前記残差データを伝送するための少なくとも1つのデータチャネルを備える、
請求項1に記載のシステム。
【請求項4】
前記基本レイヤエンコーダは、前記拡張レイヤエンコーダへの前記復元データ及び前記残差データの伝送を制御するように構成された出力マルチプレクサを備える、
請求項1に記載のシステム。
【請求項5】
基本レイヤエンコーダを用いて、フレームを基本レイヤに符号化することと、
前記基本レイヤエンコーダが、残差データ、復元データ及び動きデータの何れか又はこれらの組み合わせを含むインターレイヤデータを生成して拡張レイヤエンコーダに送信することと、
前記拡張レイヤエンコーダが、前記インターレイヤデータを前記基本レイヤエンコーダから受信してアップサンプリングすることであって、前記インターレイヤデータに含まれる前記残差データ又は復元データは、同じビット数のデータチャネルで前記基本レイヤエンコーダから受信される、ことと、
前記拡張レイヤエンコーダが、前記フレームを、前記基本レイヤのブロックタイプに基づいて、アップサンプリングされた前記インターレイヤデータを用いて拡張レイヤに符号化することであって、前記基本レイヤのブロックタイプは、前記インターレイヤデータが前記残差データ又は前記復元データの何れを含むかを示す、ことと、を含み、
前記拡張レイヤの解像度は前記基本レイヤの解像度よりも高い、
スケーラブルビデオ符号化を実行する方法。
【請求項6】
前記基本レイヤエンコーダ及び前記拡張レイヤエンコーダは、空間スケール符号化エンジンである、
請求項5に記載の方法。
【請求項7】
少なくとも1つのデータチャネルを用いて、前記復元データ及び前記残差データを伝送することを含む、
請求項5に記載の方法。
【請求項8】
前記基本レイヤエンコーダの出力マルチプレクサを用いて、前記拡張レイヤエンコーダへの前記復元データ及び前記残差データの伝送を制御することを含む、
請求項5に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スケーラブルなビデオアプリケーションに関連し、より具体的には、スケーラブルなビデオアプリケーションにおいて帯域幅を最小化することに関連する。
【背景技術】
【0002】
現在、民生用電子機器を使用したビデオデータのリモート転送および表示は、重要な開発分野となっている。一般的に、異なる表示性能を有する機器間でかかるストリーミングを可能にすることが望ましい。解像度のより高いビデオの到来に伴い、転送可能なデータ量を増やすためにビデオストリームを圧縮することが望ましいが、これと同様に、解像度のより低いビデオストリームしか許容できない機器や、解像度のより高い信号の表示が不可能なスループットまたは遅い処理性能を有する機器を用いて、解像度のより高いビデオストリームを視聴可能にすることも望ましい。このため、スケーラブルなビデオストリームの人気が高まっている。一般に、結果として生じるサブストリームが、いくつかのターゲットデコーダのためにもう1つの有効なビットストリームを形成し、当該サブストリームが、完全なオリジナルビットストリームの品質以下であるが、残りのデータのより少ない量を考慮すれば高い復元品質でソースコンテンツを表すような方法で、ビデオビットストリームの一部を取り除くことができる場合には、このビデオビットストリームは、スケーラブルと呼ばれる。
【0003】
スケーラビリティの通常モードは、時間、空間および品質のスケーラビリティである。空間スケーラビリティ(また、空間解像度と呼ばれる)は、ビットストリームのサブセットが、ソースコンテンツを、減少した画像サイズで表す場合を言う。時間スケーラビリティ(また、時間解像度と呼ばれる)は、ビットストリームのサブセットが、ソースコンテンツを、減少したフレームレートで表す場合を言う。品質スケーラビリティでは、サブストリームは、完全なビットストリームと同じ空間−時間解像度を、より低い忠実度(fidelity)で提供する。ここで、忠実度とは、よく非公式に信号対雑音比(SNR)と呼ばれる。また、品質スケーラビリティは、忠実度スケーラビリティまたはSNRスケーラビリティとよく呼ばれる。
【0004】
空間、品質および時間スケーラビリティをリアルタイムでサポートするシステムにおいて、メモリ帯域幅は、全体的なシステム性能における制限因子となる場合がある。したがって、メモリ帯域幅の問題を増大させる可能性のある読み出し/書き込み動作の影響を低減または除去する方法の必要性が存在する。
【発明の概要】
【課題を解決するための手段】
【0005】
本明細書に記載された実施形態のいくつかでは、フレームを、前記フレームのデータを用いて、最適よりも小さい第1のレイヤ解像度に符号化する第1の符号化エンジンを含む、スケーラブルビデオ符号化のシステムおよび方法が提示される。第1の符号化エンジンは、最適なレイヤ解像度へのフレームの符号化を予測するデータを生成する。第2の符号化エンジンは、フレームを、第1の解像度レイヤよりも大きい第2のレイヤ解像度に符号化する。第2の符号化エンジンは、ビデオ圧縮率を改善するために、第1の符号化エンジンで生成された予測データを使用する。かかる実施形態のシステムおよび方法は、第1の符号化エンジンと第2の符号化エンジンとの間で転送されるより少ない予測データを使用することを含む。これにより、より少ないフレームデータの使用によって、消費電力を低減することができる。
【0006】
いくつかの実施形態では、システムおよび方法は、フレームおよび予測データを記憶し取り出すための、エンコーダ内のメモリをさらに含む。第2のエンコーダは、標準的なAVCと比較して、予測データのためにより多くのメモリを利用するが、追加されるメモリは、第2のレイヤ解像度におけるデータの1フレームよりも少ない。
【0007】
本発明の他の態様、利点および新たな特徴は、本明細書に添付した図面と共に考慮される場合に、以下の本発明の詳細な説明によってより明白になるであろう。
【図面の簡単な説明】
【0008】
【
図1】本発明によるコンピューティングシステムのブロック図である。
【
図2】本発明による空間符号化エンジンのブロック図である。
【
図3】本発明による空間エンコーダのブロック図である。
【
図4】本発明による
図3の空間エンコーダの論理図である。
【
図5】本発明による拡張および基本レイヤの線図である。
【
図6】本発明による処理フレームのブロック図である。
【発明を実施するための形態】
【0009】
本発明の実施形態は、本明細書に記載されるように、従来の方法の問題に対する解決手段を提供する。以下の説明では、様々な実施例が示されているが、何れの実施例も限定することを意図していない。実施形態は、標準的であって、カスタマイズされていないコーデックを用いて、リモートビデオ会議システム(有線または無線の何れも)を実装することを含む。これらの実施形態の利点は、2つ以上の異なる解像度のディスプレイが、同一ユーザのビデオソースから対応するビデオ信号を受け取るように、異なる接続帯域幅および/または異なる受信装置を有する3人以上のユーザ間のコミュニケーションに関連する。例示的なビデオ解像度ストリームは、スケーラビリティのモードごとの高解像度および低解像度を表す以下の表1に示す例を含むことができるが、これに限定されない。
【表1】
モードごとの高解像度および低解像度の例は、高ビデオストリームおよび低ビデオストリームの各々において示されることは、当業者によって理解されよう。スケーラビリティのモードは、高スケーラビリティオプションおよび低スケーラビリティオプションの全ての組み合わせが可能であるように混合され得る。
【0010】
本発明のいくつかの実施形態において、本発明を具体化するスケーラブルビデオ符号化(SVC:Scalable Video Coding)は、2人よりも多いユーザが関係しているネット会議を目的としている。1つのビデオソースが異なるディスプレイ解像度を2人以上のクライアントに提供する場合において、本発明は、これらの異なった時間解像度および/または空間解像度をサポートしてビデオストリームを送る環境で機能する。また、SVCは、サーバがビデオをSVCフォーマットで格納するような、ユーザとサーバとの間のポイント・ツー・ポイントのストリーミングアプリケーションで役立つ。ユーザは、利用可能な帯域幅および受信装置に従って、利用可能な解像度の中から解像度を選択することができる。
【0011】
説明目的のために、「H.264」は、MPEG−4 Part 10またはMPEG−4 AVC(Advanced Video Coding)としても知られるビデオ圧縮の規格を参照する。H.264は、ISO/IECのMoving Picture Experts Group(MPEG)と共にITU−TのVideo Coding Experts Group(VCEG)によって開発された、ブロック指向の動き推定に基づくコーデックの1つである。
【0012】
ビデオ会議タイプのアプリケーションで人気を集めているスケーラブルビデオ符号化(SVC)は、H.264の機能に含まれている。多くの業界大手企業が、ビデオ会議のために、UCIF(Uiversal Communications Interop Forum)のSVCを使用して規格化した(または、規格をサポートした)。
【0013】
SVCベースのビデオ会議が広く採用されることが予想される。しかしながら、SVC、特にSVCの空間モード(すなわち、SVC空間)は、非常に多くのメモリ帯域幅を要する。例えばASIC(特定用途向け集積回路)などの集積回路、特にローエンドのノートブック/タブレットのチップにおいてSVC空間モードを実装するためには、メモリ読み書き(R/W)帯域幅とメモリ読み書きに関連する電力消費とを低減させることが望ましい。好都合なことに、本発明の実施形態は、以下の4つの革新的な機能を単独または共に実装することによって、これらの問題を解決する。
【0014】
1.拡張レイヤエンコーダでアップサンプリングを実行する。これにより、タスクを分離する従来の手法と比較して、書き込み帯域幅を最大で75%節約することができる。
【0015】
2.ハードウェアアーキテクチャが内部バッファを含む場合には、メモリとのデータ交換を排除するために内部バッファを使用する。このようにして、上記のポイント1を、内部バッファサイズを劇的に低減するためにも用いることができる。
【0016】
3.非トップ(最適よりも低い、または最高ではないことを意味する)の解像度のレイヤの16×16画素の
マクロブロック(MB)を符号化する場合には、現在のMBタイプに従って、インターレイヤ(Inter−layer)イントラ復元(Intra−reconstructed)データ、または、インターレイヤインター残差(Inter−residual)データを1つのバッファに書き出す。このバッファの各エントリは16ビットであるため、拡張レイヤによるこのバッファのダイレクト・メモリ・アドレッシング(DMA)読み出しが単純化される。これは、SVC規格に従って、復元データのデータサイズが8ビットであるのに対し、残差データが9ビットであるためである。この方法で、読み出し/書き込み帯域幅は、従来の方法で実現される帯域幅から最大で3分の1節約される。
【0017】
4.記憶装置と転送効率とを改善するために、符号ビットが残差データから分離され、16ビットの代わりに8ビットが残差データのために使用され得る。
【0018】
5.メモリ帯域幅をさらに節約するために、書き出されるインターレイヤデータは、例えばZIPファイルフォーマット圧縮などではあるがこれに限定されない従来のデータ圧縮アルゴリズムを使用して、任意に圧縮される。
【0019】
以下の説明では、低レイテンシのアプリケーションを実装する実施形態を説明を可能にするとともにこの実施形態を完全に理解するために、いくつかの具体的な詳細が紹介される。しかしながら、当業者は、これらの実施形態を、1つ以上の具体的な詳細を要することなく実施することができ、または、他の構成要素、システムなどと共に実施することができることを認識するであろう。他の事例では、開示された実施形態の態様が不明瞭になるのを避けるために、周知の構成または動作については示さず、または詳細に説明しない。
【0020】
コンピュータおよび他のこのようなデータ処理装置は、制御処理装置(CPU)として一般的に知られる少なくとも1つの制御プロセッサを有する。かかるコンピュータおよび処理装置は、一般的に、メモリ、記憶装置、入力装置および出力装置を有し得る環境で動作する。かかるコンピュータおよび処理装置は、様々なタイプの専門的な処理に使用され、処理装置と共に配置され、または例えば出力装置に含まれるなどのように外部に配置され得る、グラフィックス・プロセッシング・ユニット(GPU)などの他のプロセッサを有してもよい。例えば、GPUは、画像処理演算に特に適するように設計されている。GPUは、一般的に、例えばデータ並列処理において、並列データストリーム上で同じ命令を実行することに理想的に適している多重処理要素を備える。一般的に、CPUは、ホストまたは制御プロセッサとして機能し、画像処理などの専門的な機能をGPUなどの他のプロセッサに引き渡す。
【0021】
各CPUが多重処理コアを有するマルチコアCPUの可用性をもって、各CPUでは、専門的な機能に使用され得る実質的な処理能力を利用可能である。マルチコアCPUまたはGPUの計算コアの1つ以上は、同一ダイの一部(例えば、AMDのFusion(商標))、または異なるダイ(例えば、NVIDIA GPUを有するIntelのXeon(商標))に存在し得る。最近、CPUおよびGPUの両方の特性を有するハイブリッドコア(例えば、CellSPE(商標)、Intel Larrabee(商標))が、汎用GPU(GPGPU)スタイルの計算に対して一般に提案されている。GPGPUスタイルの計算は、主に制御コードを実行し、処理能力のクリティカルなデータ並列コードをGPUに移動させるようにCPUを使用することを提唱している。GPUは、主にアクセラレータとして使用される。マルチコアCPUとGPGPU計算モデルとの組み合わせは、アクセラレータターゲットとしてCPUコアおよびGPUコアの両方をカバーする。マルチコアCPUコアの多くは、多くの分野でGPUに相当する性能を有する。例えば、多くのCPUコアの1秒当たりの浮動小数点演算(FLOPS)は、現在では、いくつかのGPUコアのFLOPSに相当する。
【0022】
CPUおよびGPUプロセッサで同一または類似のコードベースの使用を可能にすることによって、および、かかるコードベースのデバッグを容易にすることによって、本発明の実施形態は、実質的な利点をもたらすことができる。本発明は、特定のアプリケーションに対する実例となる実施形態を用いて本明細書で説明されるが、これに限定されないことが理解されるべきである。本明細書に提供された教示にアクセスする当業者であれば、さらなる修正、応用、本発明の範囲内の実施形態、および、本発明が著しく有用であるさらなる分野の実施形態を認識するであろう。
【0023】
本発明の実施形態は、任意の計算機システム、計算装置、エンターテイメントシステム、メディアシステム、ゲームシステム、通信装置、携帯情報端末、または、1つ以上のプロセッサを使用する任意のシステムで使用され得る。本発明は、特に、ヘテロジニアス・コンピューティング・システムを備えるシステムにおいて有用である。本明細書で使用される「ヘテロジニアス・コンピューティング・システム」という用語は、複数種類のプロセッサが利用可能なコンピューティングシステムを意味する。
【0024】
本発明の実施形態は、例えばGPUとCPUなどの異なるプロセッサ上で同一のコードベースが実行されることを可能にする。1つのタイプのプロセッサ用に開発されたコードは、ほぼまたは全く追加の労力無しに他のタイプのプロセッサに配置され得るので、本発明の実施形態は、例えば、マルチコアCPUおよび/またはGPUを有する処理システムで特に有利となり得る。例えば、GPUカーネルとして知られる、GPUでの実行用に開発されたコードは、本発明の実施形態を使用して、CPUで実行されるように配置され得る。
【0025】
本発明の実施形態によるヘテロジニアス・コンピューティング・システム100の一例が
図1に示されている。ヘテロジニアス・コンピューティング・システム100は、例えばプロセッサ102などの1つ以上の処理装置を含み得る。ヘテロジニアス・コンピューティング・システム100は、少なくとも1つのシステムメモリ104と、少なくとも1つの永続的記憶装置106と、少なくとも1つのシステムバス108と、少なくとも1つの入力装置110および出力装置112と、を含み得る。
【0026】
図2に示すように、本発明の実施形態によれば、ヘテロジニアスコンピューティングに適したタイプの処理装置は、カリフォルニア州San JoseのAMDによってFusionというブランド名で販売されているアクセラレーテッド・プロセッシング・ユニット(APU)である。ヘテロジニアス処理装置は、1つ以上のCPUと、ワイドSIMD(Single instruction multiple data)プロセッサ、および、以前は別々のGPUによって処理されていた機能を実行するユニファイド・ビデオ・デコーダなどの1つ以上のGPUを含む。GPUの構造および機能を参照する場合、かかる機能はSIMDによって実行されることが理解されるであろう。ヘテロジニアス処理装置は、システムメモリにアクセスする少なくとも1つのメモリコントローラを含んでもよく、GPUとCPUとの間でシェアされるメモリと、例えばコントローラハブを通して入力装置および出力装置の通信を処理するプラットフォームインタフェースと、を提供する。
【0027】
本発明によるヘテロジニアスGPU能力を提供するために、画像処理命令を実行するワイドSIMDプロセッサを含んでもよく、本発明を実装するために、CPUから分離した個別のGPUを含んでもよい。しかしながら、当業者によって理解されるように、個別のGPUを用いた本発明の実装では、さらなる遅延を経験するであろう。
【0028】
好都合なことに、このタイプのアーキテクチャは、SVC(スケーラブルビデオ符号化)において空間スケール符号化および/または復号化を実装するソリューションを提供するのによく適している。H.264規格によれば、SVCのH.264実装は、空間、品質および時間のスケーラビリティをサポートする。
【0029】
本発明は、エンコーダおよびデコーダの両方に対するSVC実装の改良として、外部メモリアクセスを低減するために空間スケーラビリティをサポートすることに関して以下に説明される。
【0030】
図2は、空間スケール符号化200のハードウェア実装に関するデータフローのブロック図である。最初に、基本レイヤのより小さい解像度が基本レイヤエンコーダ202によって符号化されると、残差データ204、復元データ206および動きデータ208を含むインターレイヤデータが、拡張レイヤエンコーダ210用に同時に生成される。本発明の実施形態では、エンコーダ202は、拡張レイヤエンコーダ210の機能を実行する。インターレイヤデータは、拡張レイヤエンコーダ210に到達する前に、アップサンプラエンジン212によって拡張レイヤ解像度にアップサンプリングされる。最終的に、拡張レイヤは、拡張レイヤエンコーダ210によって推定され、アップサンプリングされたインターレイヤデータ情報を用いて符号化される。基本レイヤエンコーダ202および拡張レイヤエンコーダ210の出力は、最終的なビットストリーム214に統合される。その後、エンコーダ202,210は、時分割多重化により統合される。
【0031】
本発明の実施形態は、メモリ帯域幅のスループットを改善する。H.264仕様のように、エンコーダは、基本レイヤの
マクロブロック(MB)タイプに基づいて、拡張レイヤ予測のための残差または復元データを選択する。これらの2種類のデータは、一般に、相互に排他的であるため、同じMBに使用されない。MB_TYPEに基づいて残差または復元データを出力できることが発見されている。MB_TYPEがイントラの場合には復元データが選択され、そうでない場合には残差データが選択される。
【0032】
さらに、例えばYUV420ソースフォーマットなどではあるがこれに限定されない従来のソースフォーマットが使用される場合には、生成される残差データは9ビットであり、復元データは8ビットであることが理解されるであろう。一方、9ビットのデータは、メモリの8ビットチャネルを使用してデータを記憶および転送するのには適していない。さらに、9番目のビットは、残差データとしてマークする符号ビットフラグであることと、符号ビットが残差データから分離される場合には、残差データに対して16ビットの代わりに8ビットを使用できることが理解される。符号ビットは、このタスクを処理するのに十分な48バイト/MBのリザーブでもう1つの場所に保存される。
図3を参照すると、空間エンコーダ300の実施形態は、出力マルチプレクサ302を、MB_TYPEに基づいて残差データまたは復元データの何れかを選択的に送る基本レイヤエンコーダ304の出力部に含む。出力マルチプレクサは、基本レイヤエンコーダ304とは別に加えられ得るが、出力マルチプレクサ302の性能は、基本レイヤエンコーダ304と共に含まれる場合に最適となることが当業者によって理解されるであろう。このように、1つの8ビットチャネル306が、残差データおよび復元データを、動きデータ308および残差の符号ビット
チャネル310と共に送るので、インターレイヤは、1つのより小さい8ビットチャネルで伝送される。これらのより効率的なチャネルは、データを、アップサンプラ314を介して拡張レイヤエンコーダ312に送る。帯域幅をさらに低減するために、実施形態のアップサンプラエンジン(以下UPSと記す)314は、拡張レイヤエンコーダ312内に配置されている。
【0033】
図4を参照すると、SVC空間スケーラビリティエンジン400のデータフローがよりよく理解される。データフローは、計算要件と、様々な要素間のデータフロー効率との理解に到達する。H.264エンコーダにおける様々な機能要素の計算要件は、インターレイヤデータ402と現在の画像404とを受け取ることを含む。アップサンプラ(UPS)406は、インターレイヤデータ402をアップサンプリングし、導線410で残差データを出力し、導線408で復元データを出力する。UPSエンジン406は、現在のMBに対して基本レイヤの対応する残差データをアップサンプリングするために双線形フィルタを使用し、復元イントラデータをアップサンプリングするために4タップフィルタを使用する。また、UPSは、動き推定422のために、動きベクトル(MV)420をアップサンプリングする。
【0034】
SVCは、UPSの出力を使用して、空間スケールのために、3つのインターレイヤ予測ツールを提供する。インターレイヤイントラ予測はイントラモード用であり、インターレイヤ残差予測およびインターレイヤ動き予測は、インターモード用である。基本レイヤのMBタイプに依存して、以下が適用される。
【0035】
基本レイヤのMBタイプがイントラと等しい場合には、符号化のフローは、以下の方法で定義される。
【0036】
ベース・モード・フラグが真に設定される場合には、インターレイヤイントラ予測ツールが有効である。このモードでは、残差は、アップサンプリングされた基本レイヤ復元データから現在のMBを差し引くことによって生成される。ここで、導線418のデータは有効ではなく、ゼロデータ412が用いられる。
【0037】
ベース・モード・フラグが偽に設定される場合には、標準的なH.264イントラのフローが呼び出される。
【0038】
基本レイヤのMBタイプがインターと等しい場合には、異なるステップが次のように規定される。
【0039】
ベース・モード・フラグが1に設定される場合には、インターレイヤ動き予測が有効である。基本レイヤMV(図示されない)は予測値として使用され、現在のMBに対するMVはMV予測値と等しく設定される。
【0040】
ベース・モード・フラグが0に設定され、且つ、動き予測フラグが1である場合には、基本レイヤMVは、予測値として使用されるが、現在のMVとMV予測値との間の差(MVD)を設定し得る。
【0041】
ベース・モード・フラグおよび動き予測フラグがともに0である場合には、標準的なH.264MV予測が適用され、基本レイヤMVは使用されない。
【0042】
残差予測フラグが1である場合には、インターレイヤ残差予測が有効である。最終的な残差は、MC出力と、アップサンプリングされた基本レイヤ残差418との両方を差し引く現在のMBとして計算される。残差予測の効果を推定するために、インターレイヤ残差は、MEに導線420を供給する。
【0043】
残差予測フラグが0である場合には、基本レイヤ残差は使用されず、当該残差は、MC出力から現在のMBを差し引くことによって単に生成される。
【0044】
その後、残差データは、整数/逆整数変換エンジン428,430(T/IT)および量子化/逆量子化エンジン432,434(Q/IQ)によって処理されることにより、符号化される。エンコーダの出力は、出力マルチプレクサ436およびデブロッキングフィルタ(DBF)438に送られる。復元された画像440は、参照画像426となる。出力マルチプレクサ436は、インターレイヤデータを上位レイヤ442に送る。
【0045】
当業者は、
図4がSVC空間スケールの全ての詳細を示したわけではなく、さらなる詳細については上記のH.264仕様書を参照することができるのを理解するであろう。
【0046】
図5を参照すると、アップサンプリングに対する2倍スケールの実施例500が示されている。しかしながら、拡張レイヤ510の16×16のMB508を予測するためには、基本レイヤ506の8×8領域504よりもむしろ12×12領域502が必要とされることは理解されるであろう。
【0047】
フレーム上でのSVC実装600を示す
図6を参照すると、SVC実装は、時間スケール、品質スケールおよび空間スケールを含む。一方、本明細書に説明された実施形態は、空間スケールにのみフォーカスする。実際には、時分割多重化を用いて空間スケールを実装するために、2つのセッションを使用することが当業者によって理解されるであろう。
【0048】
セッション0の第1のタイムスロットの間、より低い解像度レイヤが符号化される。そして、インターレイヤデータはメモリに格納される。
【0049】
セッション1の次のタイムスロットの間、同一のハードウェアエンコーダは、メモリからインターレイヤデータを取り出し、より高い解像度レイヤの符号化を開始する。
【0050】
空間スケール残差/復元バッファは、2つの部分(すなわち、インターレイヤ残差/復元バッファと、インターレイヤ残差に対する符号バッファと)に分類される。
【0051】
インターレイヤ残差/復元バッファは、
図5を参照して説明したように、拡張レイヤで16×16のMBを補間するために、12×12の領域が必要とされる。このことは、基本レイヤの8×8ブロックに対して上/下/右/左の全ての方向に2つのさらなる画素が必要とされていることを理解し得る。
【0052】
エンコーダ実施形態において、メモリ内のデータは8×8グラニュールで保存されるので、実際には、実装で必要とされる領域は24×24であることが理解されるであろう。
【0053】
インターレイヤ残差の符号バッファに関して、符号バッファは、上述したように同一の8×8の格納グラニュールに従う。
【0054】
これらの2つのバッファに関して、ドライブは、エンコーダステータスをチェックする。拡張レイヤは、対応する基本レイヤが行われた後でのみ符号化され得る。
【0055】
帯域幅に対する結果は、本発明の実施形態による残差および復元データに対する帯域幅節約を示すための実施例として、540p@30fpsから1080p@30fpsへのスケーリングをとる例から見られる。
【0056】
この実施例では、次の変数を有する。
【表2】
【0057】
最適化無しでの帯域幅(基本レイヤでアップスケーリングし、残差および復元データの両方がメモリに送られる)。
【0058】
書き込み:(1920*1088*1.5*1*30+1920*1088*1.5*2*30)/1000000=282メガバイト/秒
【0059】
読み出し:(1920*1088*1.5*1*30+1920*1088*1.5*2*30)/1000000=282メガバイト/秒
【0061】
書き込み:(960*544*1.5*1*30+(960/16)*(544/16)*(384/8)*30)/1000000=26メガバイト/秒
【0062】
読み出し:(960*544*1.5*1*30+(960/16)*(544/16)*(384/8)*30)*3/1000000=79メガバイト/秒
【0063】
結果として、書き込み帯域幅の90%の節約を達成し、読み出し帯域幅の70%の節約を達成する。
【0064】
さらにメモリを節約するために、ZIPまたは他の実行レベルの圧縮ツールを使用して、出力データを圧縮する追加のオプションを用いてもよいことが理解される。
【0065】
最終的に、最高の性能のために、メモリとのデータ交換を除去するための内部バッファが追加されてもよい。ハードウェアが、高速のプロセッサまたは上記のヘテロジニアス・コンピューティング・プラットフォームとして構成される場合には、上記と同様に達成可能である。
【0066】
本発明の実施形態において、上記のハードウェアは、非一時的(non−transitory)記憶媒体に記憶された命令を実行するプロセッサを使用して実装され得る。当業者は、回路を記述するためのコードであるハードウェア記述言語(HDL)を用いて、命令が作成され得ることを理解し得る。HDLの代表的な用途は、設計者が製造に引き渡す前の設計のシミュレーションである。最も人気が高い2つのHDLは、VHSICハードウェア記述言語(VHDL)およびVERILOGである。VHDLは、米国国防総省によって開発され、オープンスタンダードである。VERILOGは、Open VERILOG International(OVI)と呼ばれ、民間団体によって開発された工業規格であって、現在ではIEEE規格1364として参照されるオープンスタンダードである。Joint Test Access Group(JTAG)準拠機器を記述するVERILOGコードで書かれたファイルは、VERILOGネットリストと呼ばれる。VHDLは、IEEE規格1076.1によって規定されたHDLである。バウンダリスキャン記述言語(BSDL)は、VHDLのサブセットであって、IEEE規格1149.1バウンダリ・スキャン・アーキテクチャが機器内でどのように実装され動作するかを記述するために、標準的な機械および人が可読なデータフォーマットを提供する。記述されたあらゆるタイプのHDLは、ハードウェア記述を表す命令を作成するために使用され得る。
【0067】
本発明は、代表的な実施形態に関して記述されているが、これに限定されない。むしろ、添付された特許請求の範囲は、本発明と均等な範囲および限界から外れることなく当業者によってなされ得る本発明の他の変形および実施形態を、総括的に含むと解釈されるべきである。