(57)【要約】  ビデオ符号化のための電子デバイスおよび方法が記載される。圧縮されたビットストリームがホストからデータリンク経由で受信される。圧縮されたビットストリームの各スライスは、圧縮フレームバッファへマッピングされる。圧縮フレームバッファは、領域アップデートのための選択的な上書きをサポートする。圧縮フレームバッファにおいて圧縮データの並列処理が行われる。画素データは、ディスプレイ・パネルに書き込まれる。
2016530731.tif 000002
【特許請求の範囲】
【請求項１】
電子デバイスであって、前記電子デバイスは、
圧縮バッファであって、領域アップデートのための選択的な上書きをサポートする、前記圧縮バッファと、
圧縮されたビットストリームを前記圧縮バッファへマッピングするスライス・マッパと、
前記圧縮バッファからの圧縮データの並列処理を行う１つ以上のデコーダと、
復号されたデータを表示するディスプレイ・パネルと
を備える、電子デバイス。
【請求項２】
スライスデータは、送信の間にインタリーブされる、請求項１に記載の電子デバイス。
【請求項３】
スライスデータは、圧縮データをバッファリングすることなく各デコーダへ供給される、請求項２に記載の電子デバイス。
【請求項４】
圧縮データの前記送信は、前記圧縮フレームバッファへのスライスのマッピングと、前記圧縮フレームバッファからのスライスの復号との間の衝突を回避するためにスケジューリングを用いる、請求項１に記載の電子デバイス。
【請求項５】
各デコーダは、フレーム時間の開始からのあるオフセットの後に、前記圧縮フレームバッファからのフレームを復号し始める、請求項４に記載の電子デバイス。
【請求項６】
前記１つ以上のデコーダは、複数のスライス上における均一レートのラスタスキャンで前記フレームの終了まで動作する、請求項５に記載の電子デバイス。
【請求項７】
前記電子デバイスは、モバイルデバイスである、請求項１に記載の電子デバイス。
【請求項８】
前記モバイルデバイスは、ディスプレイ・ストリーム圧縮デコーダを備える、請求項７に記載の電子デバイス。
【請求項９】
前記圧縮フレームバッファは、リニアである、請求項１に記載の電子デバイス。
【請求項１０】
圧縮スライス位置リストが前記圧縮フレームバッファのために保持される、請求項１に記載の電子デバイス。
【請求項１１】
前記圧縮スライス位置リストは、スライスごとの開始時刻、スライスごとの終了時刻および前記圧縮フレームバッファ内の前記スライスの位置を備える、請求項１０に記載の電子デバイス。
【請求項１２】
領域アップデートは、圧縮データのうちの限られた数のフルスライスが受信されたときに実行される、請求項１に記載の電子デバイス。
【請求項１３】
領域アップデートは、スライスの前記位置、前記スライスのサイズおよび前記スライスが前記圧縮フレームバッファ中でどこに位置するかを備える、請求項１に記載の電子デバイス。
【請求項１４】
前記圧縮フレームバッファは、スライス・ジオメトリおよび各スライスの最大サイズに基づくスライスごとの予約スペースを備える、請求項１に記載の電子デバイス。
【請求項１５】
前記圧縮されたビットストリームのコンテンツおよび送信は、複数の仮想参照デコーダ（ＨＲＤ）によって制約され、「ｉ」番目のＨＲＤにおける複数のビットの到着は、０番目のＨＲＤにおける複数のビットの到着に対してｉ＊Ｒ／Ｍビット遅延され、Ｒはビットレートであり、ＭはＨＲＤの数である、請求項１に記載の電子デバイス。
【請求項１６】
複数のビットが画素時間Ｐ当たりＲ／Ｍビットの均一レートでＨＲＤに到着する、請求項１５に記載の電子デバイス。
【請求項１７】
ビデオ復号のための方法であって、前記方法は、
圧縮されたビットストリームをホストからデータリンク経由で受信するステップと、
前記圧縮されたビットストリームの各スライスを圧縮フレームバッファへマッピングするステップであって、前記圧縮フレームバッファは、領域アップデートのための選択的な上書きをサポートする、前記ステップと、
前記圧縮フレームバッファにおいて前記圧縮データの並列処理を行うステップと、
画素データをディスプレイ・パネルに書き込むステップと
を備える、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、電子デバイスに関する。より具体的には、本開示は、ディスプレイ・ストリーム圧縮（ＤＳＣ：ｄｉｓｐｌａｙ  ｓｔｒｅａｍ  ｃｏｍｐｒｅｓｓｉｏｎ）のためのシステムおよび方法に関する。
【背景技術】
【０００２】
電子デバイスは、消費者ニーズを満たし、可搬性と便利さとを改善するために、より小さく、より強力になった。消費者は、電子デバイスに依存するようになり、機能性の向上を期待するようになった。電子デバイスのいくつかの例は、デスクトップコンピュータ、ラップトップコンピュータ、セルラーフォン、スマートフォン、メディアプレーヤ、集積回路などを含む。
【０００３】
多くの電子デバイスは、消費者に情報を提示するためのディスプレイを含む。例えば、ポータブル電子デバイスは、消費者がいるほとんどどの場所でもデジタルメディアを用いることを可能にするためのディスプレイを含む。例として、消費者は、電子メールをチェックする、ピクチャを眺める、ビデオを見る、ソーシャルネットワークのアップデートを確かめるなどのためにディスプレイをもつ電子デバイスを用いる。多くの場合、ディスプレイが大きいほど消費者にとって使い易さおよび楽しさが向上する。
【０００４】
しかしながら、ディスプレイの所要電力が問題となる。ポータブル電子デバイスでは、ディスプレイの所要電力が電池寿命を著しく制限する。電力消費を削減して、一方では消費者に同じ視聴体験を提供する要求の増加が問題となる。この考察から気づくように、ディスプレイの電力消費を削減するためのシステムおよび方法が有益であろう。
【発明の概要】
【課題を解決するための手段】
【０００５】
本発明の一実施形態は、電子デバイスを開示し、電子デバイスは、圧縮バッファであって、領域アップデートのための選択的な上書きをサポートする圧縮バッファと、圧縮されたビットストリームを圧縮バッファへマッピングするスライス・マッパと、圧縮バッファからの圧縮データの並列処理を行う１つ以上のデコーダと、復号されたデータを表示するディスプレイ・パネルとを備える。
【０００６】
本発明の一実施形態は、ビデオ復号のための方法を開示し、方法は、圧縮されたビットストリームをホストからデータリンク経由で受信するステップと、圧縮されたビットストリームの各スライスを圧縮フレームバッファへマッピングするステップであって、圧縮フレームバッファは、領域アップデートのための選択的な上書きをサポートするステップと、圧縮フレームバッファにおいて圧縮データの並列処理を行うステップと、画素データをディスプレイ・パネルに書き込むステップとを備える。
【図面の簡単な説明】
【０００７】
【図１】ディスプレイの挙動を適合させるためのシステムおよび方法が実装された電子デバイスの例を示すブロック図である。
【図２】本発明のシステムおよび方法に用いるためのホストおよびディスプレイ・モジュールを示すブロック図である。
【図３】ディスプレイ・ストリーム圧縮（ＤＳＣ）のための方法のフロー図である。
【図４】複数のスライスを含むフレームを示すブロック図である。
【図５】部分幅スライスを示すブロック図である。
【図６】本発明のシステムおよび方法に用いるための選択的アップデート・デコーダを示すブロック図である。
【図７】直列スライス復号を示すブロック図である。
【図８】ラウンドロビン・スライス復号を示すブロック図である。
【図９】１つの行内の並列スライス復号を示すブロック図である。
【図１０】電子デバイスにおいて利用される様々なコンポーネントを示す。
【発明を実施するための形態】
【０００８】
ビデオ符号化のための方法が記載される。圧縮されたビットストリームは、ホストからデータリンク経由で受信される。圧縮されたビットストリームの各スライスは、圧縮フレームバッファへマッピングされる。圧縮フレームバッファは、領域アップデートのための選択的な上書きをサポートする。圧縮データの並列処理が圧縮フレームバッファにおいて行われる。画素データは、ディスプレイ・パネルに書き込まれる。
【０００９】
スライスデータは、送信のためにインタリーブされる。スライスデータは、圧縮データをバッファリングすることなく各デコーダへ供給されてもよい。圧縮データの送信は、圧縮フレームバッファへのスライスのマッピングと圧縮フレームバッファからのスライスの復号との間の衝突を回避するために、スケジューリングを用いる。デコーダは、フレーム時間の開始からのオフセットの後に、圧縮フレームバッファからのフレームの復号を開始する。デコーダは、複数のスライス上における均一レートのラスタスキャンでフレームの終了まで動作する。
【００１０】
方法は、モバイルデバイスによって行われる。一構成において、方法は、モバイルデバイス上のディスプレイ・ストリーム圧縮デコーダによって行われる。圧縮フレームバッファは、リニアであってもよい。圧縮スライス位置リストが圧縮フレームバッファのために保持される。圧縮スライス位置リストは、スライスごとの開始時刻、スライスごとの終了時刻、および圧縮フレームバッファ内のスライスの位置を含む。
【００１１】
領域アップデートは、圧縮データのうちの限られた数のフルスライスを受信したときに実行される。領域アップデートは、スライスの位置、スライスのサイズおよびスライスが圧縮フレームバッファ中でどこに位置するかを含む。圧縮フレームバッファは、スライス・ジオメトリおよび各スライスの最大サイズに基づくスライスごとの予約スペースを含む。圧縮されたビットストリームのコンテンツおよび送信は、複数の仮想参照デコーダ（ＨＲＤ：ｈｙｐｏｔｈｅｔｉｃａｌ  ｒｅｆｅｒｅｎｃｅ  ｄｅｃｏｄｅｒ）によって制約される。「ｉ」番目のＨＲＤにおける複数のビットの到着は、０番目のＨＲＤにおける複数のビットの到着に対してｉ＊Ｒ／Ｍビット遅延される。Ｒはビットレートであり、ＭはＨＲＤの数である。複数のビットが画素時間Ｐ当たりＲ／Ｍビットの均一レートでＨＲＤに到着する。例えば、制約条件は、どの並列ＨＲＤもオーバーフローもアンダーフローもしないことである。
【００１２】
電子デバイスも記載される。電子デバイスは、領域アップデートのための選択的な上書きをサポートする圧縮バッファを含む。電子デバイスは、圧縮されたビットストリームを圧縮バッファへマッピングするスライス・マッパも含む。電子デバイスは、圧縮バッファからの圧縮データの並列処理を行う１つ以上のデコーダをさらに含む。電子デバイスは、復号されたデータを表示するディスプレイ・パネルも含む。
【００１３】
次に図面を参照して様々な構成が記載される。図面中、同様の参照番号は、機能的に類似した要素を示す。本明細書において図面に一般的に記載され、説明されるシステムおよび方法は、多種多様に異なる構成に配置して、設計することができるであろう。従って、図面に表現されるような、いくつかの構成の以下のさらに詳細な記載は、特許請求の範囲を限定するものではなく、システムおよび方法を単に代表するに過ぎない。
【００１４】
図１は、モバイル・ディスプレイ・ストリーム圧縮（ＤＳＣ）が実装された電子デバイス１０２の例を示すブロック図である。ディスプレイ・ストリーム圧縮（ＤＳＣ）は、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション（ＶＥＳＡ：Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）によって管理される規格を指し、この規格は、電力消費の最適化によって既存のインターフェースを凌ぐ表示解像度の向上を可能にする。しかしながら、ディスプレイ・ストリーム圧縮（ＤＳＣ）規格の現設計は、節電用途の詳細には焦点を合わせてこなかった。ディスプレイ・ストリーム圧縮（ＤＳＣ）のフレームワーク内の１つの重要な課題は、圧縮フレームバッファ１１２を用いて領域アップデートを可能にすることである。本明細書に開示されるシステムおよび方法は、ディスプレイ・ストリーム圧縮（ＤＳＣ）のフレームワーク内での領域アップデートおよび圧縮フレームバッファ１１２の使用を提供する。
【００１５】
電子デバイス１０２は、端末装置（ＵＥ）、移動局、加入者局、アクセス端末、遠隔局、ユーザ端末、端末、ハンドセット、加入者ユニット、ワイヤレス通信デバイス、ラップトップ、ポータブル・ビデオゲーム・ユニットなどであってもよい。電子デバイス１０２は、ディスプレイ・モジュール１０４を含む。ディスプレイ・モジュール１０４は、電子デバイス１０２が電力消費を削減するとともに高品質ビデオを（ディスプレイ・パネル１０８を通じて）ユーザに表示することを可能にする。例えば、ディスプレイ・モジュール１０４は、電池寿命が決定的に重要であるモバイル・ディスプレイ・パネル１０８を含む。ディスプレイ・モジュール１０４は、ディスプレイ・ストリーム圧縮（ＤＳＣ）デコーダ１１０を含むことにより、ディスプレイ・リンクレイヤを通じてディスプレイ・モジュール１０４の圧縮フレームバッファ１１２内における圧縮をサポートする。ディスプレイ・ストリーム圧縮（ＤＳＣ）デコーダ１１０は、図２に関して以下にさらに詳細に考察される。ディスプレイ・モジュール１０４は、受信機１０６も含む。
【００１６】
エンベデッド・ディスプレイ・ポート（ｅＤＰ：ｅｍｂｅｄｄｅｄ  Ｄｉｓｐｌａｙ  Ｐｏｒｔ）１．４規格は、節電のためのいくつかのツールを規定する。これらのツールは、パネル・セルフリフレッシュ（ＰＳＲ：ｐａｎｅｌ  ｓｅｌｆ  ｒｅｆｒｅｓｈ）、リンクレベル圧縮および選択的なアップデートを伴うセルフリフレッシュ（ＰＳＲ２）を含む。パネル・セルフリフレッシュ（ＰＳＲ）は、ディスプレイ・コンテンツに変化がないときにホストのグラフィックス・ユニットが低電力状態に入ることを可能にする。ディスプレイ・モジュール１０４は、ローカル・フレームメモリに基づいてディスプレイ・パネル１０８上のディスプレイをリフレッシュする。しかしながら、パネル・セルフリフレッシュ（ＰＳＲ）は、ディスプレイ・モジュール１０４内のフレームメモリが動作することを必要とする。
【００１７】
リンクレベル圧縮は、データリンクの両端間で送信されるビデオデータの圧縮に適用され、データリンクがより低いレートで作動する（それにより節電する）ことを可能にする。リンクレベル圧縮は、簡易なコーデックを用いる。圧縮アルゴリズムは、空間変換なしにサンプルに対して行われる比較的単純化した演算である。しかしながら、圧縮比が保証されないため、デコーダは、選択的な領域アップデートをサポートする非圧縮フレームバッファを有する必要がある。
【００１８】
領域アップデートは、フレームバッファとともに作動して、変化したディスプレイの領域に関してディスプレイ情報源がデータを送信することを可能にし、一方で変化しなかったエリアに関してはフレームバッファ中のデータに依存する。領域アップデートは、画像の大部分が一定である（例えば、コンピュータ上で文書を編集する）ときに特に有効である。ｅＤＰ１．３では、領域アップデート（選択的なアップデートとも呼ばれる）は、スキャンラインのセットとスキャンライン内のＸ位置とによって記述される。Ｘ位置は、１６の倍数とする必要がある。選択的な領域アップデートは圧縮を含むが、圧縮データは、フレームバッファに記憶される前に展開されなければならない。
【００１９】
ｅＤＰ１．４では、ディスプレイ・モジュール１０４は、非圧縮フレームバッファまたは圧縮／トランスコーディングのいずれかを必要とする。ディスプレイ・モジュール１０４は、ビットストリーム・バッファ用の非圧縮メモリの２つのラインも必要とする（が、ディスプレイ・モジュール１０４は、この必要条件をより少ないメモリを用いて実装することが可能である）。そのうえ、ｅＤＰ１．４におけるディスプレイ・モジュールは、ソース・エンコーダが圧縮データを用いるときに厳しいバッファ管理を行う必要がある。
【００２０】
ディスプレイのフレームバッファで圧縮（すなわち、圧縮フレームバッファ１１２）を用いると、電子デバイス１０２の電力消費を削減するだけでなく、フレームバッファのサイズ／コストも削減する。ネイティブ・ディスプレイ・パネルが（最近のインジウム・ガリウム・亜鉛酸化物（ＩＧＺＯ）パネルのような）保持特性を有するときに削減されたディスプレイ・リフレッシュを用いることも、電子デバイス１０２の節電をもたらす。
【００２１】
圧縮フレームバッファ１１２を含み、領域アップデートを用いることが可能なディスプレイ・ストリーム圧縮（ＤＳＣ）デコーダ１１０は、追加の制限を含みうる。ビットストリーム構造に関しては、将来のフレームにおける領域の置き換えを可能にするために、ストリームは、独立して復号可能な（スライスと呼ばれる）ユニットに分割できなければならない。スライス構造は、フルフレーム・アップデートのときにのみ変化してもよい。圧縮されたスライスは、他のスライスの上書きを回避するために、フルフレームが符号化されたときに確立された範囲内であることが必要である。加えて、各スライスは、符号ストリーム内においてマーカ符号によるか、あるいは既知の位置（すなわち、固定されたスライス・サイズ）のいずれかで識別可能でなければならない。その理由は、ディスプレイ・ストリーム圧縮（ＤＳＣ）デコーダ１１０が領域アップデートを圧縮フレームバッファ１１２中でどこに配置すべきかを知る必要があり、かつ、ディスプレイ・ストリーム圧縮（ＤＳＣ）デコーダ１１０が各スライスの終了を（所定のサイズかまたはマーカ符号のいずれかによって）知る必要があるためである。
【００２２】
領域アップデートのスケジューリングは、復号されるデータが符号ストリームへのアップデートによって損傷するのを回避するために制御される必要がある。一構成において、領域アップデートを送信するための可能な時間のスケジュールは、アップデートの最初／最後のラインに基づく。領域アップデートは、さらに、アップデートの領域をシグナリングするために必要であり、それによってディスプレイ・ストリーム圧縮（ＤＳＣ）デコーダ１１０は、領域アップデートからスライス・アドレスを確定することが可能である。既存の方法は、画素座標を用いて領域アップデートにおけるアップデートの領域を記述するが、これは実用的ではない。フレームは、整数のスライス（高さまたは幅）にパディングされてもよく、またはフレームは、より小さいスライス（すなわち、部分幅スライス）を許容してもよい。領域アップデート・シンタックスは、領域アップデートを処理する既存のｅＤＰと両立する必要がある。
【００２３】
ディスプレイ・ストリーム圧縮（ＤＳＣ）の使用は、電力およびコスト節減をモバイルデバイスに提供し、一方ではより高い解像度スループットを可能にする。２つのタイプのディスプレイ・ストリーム圧縮（ＤＳＣ）、すなわち、高スループットおよび電力削減が考慮される。高スループットに関しては、ディスプレイ・ストリーム圧縮（ＤＳＣ）が限られたディスプレイ・リンクにわたって高解像度ディスプレイをサポートするであろうと予想される。視覚品質も圧縮効率も共に高スループットのディスプレイ・ストリーム圧縮（ＤＳＣ）の重要な要素である。複雑さは、符号ストリーム・バッファ用のメモリが画素出力レートを提供するのに必要なラインおよびクロックレートのいずれよりも少ないため、重要である。高スループット用途は、ブロックからラスタへのあまりにも複雑な変換を含む。そのうえ、高スループット用途は、トランスポート・レイヤの前方誤り訂正（ＦＥＣ：ｆｏｒｗａｒｄ  ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ）によって対処することが想定された誤り率を無視する。高スループット用途は、予測リンクレートに基づく画素当たり１２ビット（ｂｐｐ：ｂｉｔｓ  ｐｅｒ  ｐｉｘｅｌ）の当初目標を有する。
【００２４】
電力削減用途に関しては、データレートを削減する（従って、電力消費を削減する）ためにリンクレイヤ圧縮が用いられる。電力削減用途は、既存の節電ツール、例えば、エンベデッド・ディスプレイ・ポート（ｅＤＰ）１．４のパネル・セルフリフレッシュ（ＰＳＲ）および領域アップデートをサポートする。電力削減用途は、トランスコーディングのコストを回避するためにリンクレイヤ圧縮に共通のアルゴリズムを用いたフレームバッファ圧縮をサポートする。電力削減用途は、画素当たりのビット（ｂｐｐ）目標８を有する。パネル・セルフリフレッシュ（ＰＳＲ）および圧縮フレームバッファ１１２をサポートするために、固定された圧縮スライス・サイズが必要とされる。
【００２５】
図２は、本発明のシステムおよび方法に用いるためのホスト２２８およびディスプレイ・モジュール２０４を示すブロック図である。一構成において、ホスト２２８は、ディスプレイ・モジュール２０４と同じ電子デバイス１０２上に位置する。別の構成では、ホスト２２８が第１の電子デバイス１０２上に位置し、ディスプレイ・モジュール２０４が第２の電子デバイス１０２上に位置してもよい。ホスト２２８は、ディスプレイ・モジュール２０４のディスプレイ・パネル２３６（２次元）上における表示のために、圧縮されたビットストリーム２３９をディスプレイ・モジュール２０４へ供給する。例えば、ホスト２２８は、ディスプレイ・パネル２３６上での視聴のためにビデオストリームを供給する。
【００２６】
ホスト２２８は、フレームバッファ２１４を含む。フレームバッファ２１４は、ディスプレイ・モジュール２０４へ供給されることになる一群の画素２１６（スライスＮと呼ばれる）を含む。一構成において、スライスＮは、領域アップデートであってもよい。フレームバッファ２１４は、各スライスをエンコーダ２１８へ供給する。エンコーダ２１８は、圧縮されたスライス（例えば、圧縮されたスライスＮ）を送信機２２０へ出力する。送信機２２０は、次に、圧縮されたスライスをデータリンク（物理レイヤ（ＰＨＹ）と呼ばれる）経由でディスプレイ・モジュールへ供給する。送信機２２０は、このように、データの連続的なストリーム（すなわち、圧縮されたビットストリーム２３９）を画素当たりの最大ビット数（ＭａｘＬｉｎｋＢｉｔｓＰｅｒＰｉｘｅｌ）でディスプレイ・モジュール２０４へ供給する。選択的な領域アップデートに関しては、データフローがサスペンドされる（従って、圧縮されたビットストリーム２３９は、連続的ではない）。圧縮されたビットストリーム２３９は、独立して復号可能なスライスに分割される。ディスプレイ・ストリーム圧縮（ＤＳＣ）の使用は、限られたディスプレイ・リンク、例えば、ディスプレイ・ポート、ＨＤＭＩおよびＵＳＢ３．０にわたってより高い解像度を可能にする。
【００２７】
ディスプレイ・モジュール２０４は、受信機２２２を用いて圧縮されたビットストリーム２３９を受信する。受信機２２２は、次に、受信した圧縮ビットストリーム２３９をディスプレイ・ストリーム圧縮（ＤＳＣ）デコーダ２１０へ供給する。ディスプレイ・ストリーム圧縮（ＤＳＣ）デコーダ２１０は、スライス・マッパ２２４、制御データ２２６、圧縮フレームバッファ２１２、デコーダ２３２およびディスプレイ・ジオメトリ２３４を含む。ディスプレイ・ストリーム圧縮（ＤＳＣ）デコーダ２１０は、領域アップデートのスライスを圧縮フレームバッファ２１２（圧縮ビットストリーム・バッファとも呼ばれる）中にマッピングする。スライス・マッパ２２４は、スライス２４０ａが圧縮フレームバッファ２２４中でどこに配置されるか（すなわち、圧縮スライス位置リスト２３０に記憶された圧縮スライス位置）を確定し、これは、受信した圧縮ビットストリーム２３９から得られた制御データ２２６から確定される。圧縮データがインタリーブされているため、スライス・マッパ２２４は、スライス２４０ａを圧縮フレームバッファ２２４中に配置する前に圧縮データをデインターリーブする必要がある。
【００２８】
圧縮されたスライス２４０ａのサイズは、（圧縮フレームバッファ２３９の必要サイズを示唆する）制限によって範囲が定められる。加えて、エンコーダ２１８は、圧縮フレームバッファ２１２中の変化のないスライスが上書きされないように保証しなければならない。従って、フレームバッファ２１４では送信されないスライス２４０が上書きされないことになろう。そのうえ、領域アップデートの送信は、それぞれが圧縮フレームバッファ２１２に同時刻にアクセスする、スライス・マッパ２２４とデコーダ２３２との間の衝突を回避するために制限されるべきである。これは、非圧縮フレームバッファでは重大な問題ではないが、圧縮フレームバッファ２１２では問題となりうる。
【００２９】
圧縮されたビットストリーム２３９は、ディスプレイ用の複数の画素２１６の圧縮表現であってもよい。フレームごとに圧縮されたビットストリーム２３９が独立して復号可能なユニット（スライス２４０）に分解される。各スライス２４０は、ラスタスキャン順の位置に基づく識別子を含む。符号ストリーム構造は、符号ストリーム内の各スライス２４０を開始し、終了する能力を有する。一構成において、これは、スライス２４０当たりの固定ビット数を必要とする。別の構成では、スライス２４０のサイズがアップデートの一部としてシグナリングされてもよい。符号ストリーム中のマーカがスライス２４０境界において用いられてもよい。一構成において、アップデートごとに複数の単一スライス２４０が用いられて、各スライス２４０の開始がホスト２２８からのアップデート命令によって確定されてもよい。
【００３０】
各スライス２４０は、数式（１）：
【数１】
2016530731.tif 000003
に示されるように、圧縮フレームバッファ２１２に課された画素当たりのビット数（ｂｐｐ）に基づいて範囲が定められる。
【００３１】
フレームごとのすべてのスライス２４０からの全データは、数式（２）：
【数２】
2016530731.tif 000004
に記述されるように、（個々のスライス２４０サイズに対する制限に加えて）送信機２２０と受信機２２２との間のリンクレートに課された画素当たりのビット数の範囲に基づいて制限される。
【００３２】
ディスプレイ・ストリーム圧縮（ＤＳＣ）デコーダ２１０は、圧縮スライス位置リスト２３０を保持する。圧縮スライス位置リスト２３０は、スライス・マッパ２２４およびデコーダ２３２が圧縮フレームバッファ２１２中の各スライス２４０の位置（すなわち、開始点および終了点）を確定することを可能にする。スライス２４０ジオメトリは、スライス２４０当たりの画素数を確定する。スライス２４０サイズの範囲ＭａｘＳｌｉｃｅＳｉｚｅは、数式（３）：
【数３】
2016530731.tif 000005
に示されるように、スライス２４０中の画素数およびパラメータＭａｘＢｕｆｆｅｒＢｉｔｓＰｅｒＰｉｘｅｌによってセットされる。
【００３３】
圧縮フレームバッファ２１２は、このスペース量（すなわち、ＭａｘＳｌｉｃｅＳｉｚｅ）をスライス２４０およびスライス２４０の任意の将来の領域アップデートに割り当てる。圧縮フレームバッファ２１２中の各スライス２４０の開始は、各スライス２４０中の画素数およびスライス２４０中の画素当たりのビット（ｂｐｐ）の範囲によって確定される、すなわち、
ＳｌｉｃｈＳｔａｒｔ［ｎ］＝ｎ＊ＭａｘＳｌｉｃｅＳｉｚｅ。
【００３４】
スライス２４０開始は、実行のときに最近接バイト境界まで切り上げられる。圧縮フレームバッファ２１２中の各スライス２４０の終了は、開始と、スライス２４０を表現するために用いられる圧縮ビットの数、すなわち、ｓｌｉｃｅ＿ｂｉｔｓ［ｎ］とによって確定される。
【００３５】
スライス・マッパ２２４は、フルフレームまたは領域アップデートにおける符号ストリームの受信と、その符号ストリームの圧縮フレームバッファ２１２へのマッピングとを担う。スライス・マッパ２２４は、圧縮されたビットストリーム２３９または領域アップデートからスライス番号を読み出して、データを圧縮フレームバッファ２３９中でどこに配置すべきか（およびどれだけのデータを書き込むべきか）を確定する。スライス番号は、明示的にシグナリングされるのではなく、フレームの開始から受信したデータ量を追跡することにより推定されてもよい。一構成において、スライス２４０に関する圧縮データは、送信の間にインタリーブされる。インタリーブは、各行においてスライス２４０からデータをインタリーブすることを含む。インタリーブは、ビット／バイト・レベルで行われてもよい。
【００３６】
スライス・マッパ２２４は、圧縮スライス位置リスト２３０もアップデートする。例えば、スライス・マッパ２２４は、各圧縮スライス２４０のビット単位での実サイズを用いて、圧縮スライス位置リスト２３０をアップデートする。圧縮スライス位置リスト２３０は、スライス２４０サイズが固定されているかどうか、圧縮フレームバッファ２１２内のスライス２４０の開始点およびスライス２４０の終了点を示す。スライス・マッパ２２４は、物理レイヤ（ＰＨＹ）から受信したスライス２４０ごとの圧縮データを圧縮フレームバッファ２１２中にコピーする。スライス・マッパ２２４は、さらに、圧縮フレームバッファ２１２に書き込まれたデータにデータ・アラインメントまたは構造を導入する。
【００３７】
圧縮フレームバッファ２１２は、フレームのスライス２４０ごとに符号ストリームを保有する。スライス２４０ジオメトリおよび上記の数式（３）による各スライス２４０の最大サイズに基づいて、スライス２４０ごとにスペースが予約される。圧縮フレームバッファ２１２中のデータは、インタリーブ／並列様式でアクセスされる。データは、送信の間にインタリーブされてもよい。スライス２４０の行時間インタリーブ・データの送信は、１つの行における各スライス２４０からのデータがスライス２４０の行時間間隔でインタリーブされるシナリオを指す。ビット／バイト・インターリーブされたスライス２４０データに関しては、圧縮データに対する追加のバッファリングを何も必要としない。バッファリングの必要性をさらに低減するために、個々のスライス２４０列が相互に遅延される。
【００３８】
デコーダ２３２は、圧縮フレームバッファ２１２からの圧縮データ（例えば、圧縮されたスライスＭ  ２４０ｂ）を復号する。デコーダ２３２は、画素データ２３８をディスプレイ・パネル２３６に書き込む。スライス２４０構造は、スライス２４０が並列に復号されることを可能にする。スライス２４０の並列処理は、ライン状のスライスを処理するのに特に有用である。スライス２４０の並列処理は、図９に関して以下にさらに詳細に考察される。
【００３９】
デコーダ２３２は、スライス２４０を復号するために、圧縮フレームバッファ２１２中のスライス２４０の開始点および終了点の両方にアクセスする必要がある。従って、デコーダ２３２は、必要な情報にアクセスするために圧縮スライス位置リスト２３０を読み出す。ディスプレイ・ジオメトリ２３４は、複数の画素をディスプレイ・パネル２３６のどこに書き込むべきかを確定する。ディスプレイ・パネル２３６に書き込むために並列スライス２４０復号およびラスタスキャン書き込みが用いられる場合、個々の並列デコーダ２３２の画素出力は、インタリーブされる。
【００４０】
スライス・マッパ２２４は、デコーダ２３２が読み出している同じバッファへデータを書き込む。制限がなければ、デコーダ２３２が読み出しているデータは、新しいデータが到着したときにスライス・マッパ２２４によって上書きされる可能性がある。これらの衝突を回避すべく、圧縮フレームバッファ２１２にアクセスする（読み出すか、または書き込む）ために利用できる時間のスケジュールが実施される。デコーダ２３２は、フレーム時間の開始からのオフセット時点で、圧縮フレームバッファ２１２からのフレームの復号を開始すると想定される。デコーダ２３２は、複数のスライス２４０上における均一レートのラスタスキャンでフレームの終了まで動作する。デコーダ２３２がスライスＮ  ２４０に関するデータにアクセスできる前に、エンコーダ２１８は、スライスＮ  ２４０をディスプレイ・モジュール２０４へまず送信してしまわなければならない。エンコーダ２１８がある時間フレーム内にデコーダ２３２へデータを送信する時間スケジュールは、この制約によって制限される。
【００４１】
領域アップデートに関しては、圧縮データの限られた数のフルスライス２４０がホスト２２８からディスプレイ・モジュール２０４へ送信される。これは、選択領域アップデートがスキャンライン・ベースであるｅＤＰ１．４とは異なる。選択領域アップデートのＸ位置は、１６の任意の倍数とするとよい。各領域アップデートは、スライス２４０の位置を記述する情報（例えば、ラスタスキャンにおけるスライス２４０番号）、スライス・マッパ２２４がスライス２４０のサイズを確定することを可能にする情報、およびスライス２４０が圧縮フレームバッファ２１２中でどこに配置されるべきかを示す情報を含む。領域アップデートは、１つ以上のスライス２４０を含んでもよい。領域アップデートが複数のスライス２４０を含む場合、領域アップデートは、スライス２４０ごとに領域アップデート内の位置ビットを記述する情報（例えば、信号スライス２４０サイズ、マーカ）も含む。
【００４２】
領域アップデートは、（スライス・マッパ２２４とデコーダ２３２との間の衝突を回避するために）ある時間フレーム内の任意の時間に許容されるわけではない。これは、デコーダ２３２がフレームの開始後に均一レートで動作することを想定する上述の制約と同様である。領域アップデートの送信は、デコーダ２３２が領域アップデートに対応するスライス２４０にアクセスする前に領域アップデートが利用可能であるように制限される。
【００４３】
図３は、ディスプレイ・ストリーム圧縮（ＤＳＣ）のための方法３００のフロー図である。方法３００は、電子デバイス１０２によって行われる。電子デバイス１０２は、ディスプレイ・ストリーム圧縮（ＤＳＣ）デコーダ１１０を含む。電子デバイス１０２は、圧縮されたビットストリーム２３９をホスト２２８からデータリンク経由で受信する（ステップ３０２）。電子デバイス１０２は、圧縮されたビットストリーム２３９の各スライス２４０を圧縮フレームバッファ２１２へマッピングする（ステップ３０４）。圧縮されたビットストリーム２３９が領域アップデートを含む場合、スライス・マッパ２２４は、圧縮フレームバッファ２１２中のスライス２４０を領域アップデートにおけるそれらのそれぞれのアップデートで置き換える。電子デバイス１０２は、圧縮フレームバッファ２１２からの圧縮データの並列処理を行う（ステップ３０６）。先に考察したように、圧縮フレームバッファ２１２の読み出しと圧縮フレームバッファ２１２への書き込みとの間の衝突を回避するために、スライス・マッパ２２４およびデコーダ２３２に制限が課される。電子デバイス１０２は、画素データ２３８をディスプレイ・パネル２３６に書き込む（ステップ３０８）。例えば、デコーダ２３２は、圧縮フレームバッファ２１２からの圧縮データを復号して、複数の画素２３８をディスプレイ・パネル２３６上に表示するためにこの復号されたデータを用いる。
【００４４】
図４は、複数のスライス４４０を含むフレーム４４４を示すブロック図である。フレーム４４４は、ピクチャとも呼ばれる。各フレーム４４４は、スライス４４０と呼ばれる符号化のための複数の画素の矩形のセットの群に幾何学的に分解される。各スライス４４０は、独立して復号可能である。ディスプレイ・ストリーム圧縮（ＤＳＣ）では、すべてのスライス４４０は、典型的に、同じ空間的サイズを有する。スライス４４０は、ラスタスキャン順に番号付けされる。フレーム４４４に関して、ＨＦは、画素単位でのフレーム４４４の高さを指し、ＷＦは、画素単位でのフレーム４４４の幅を指す。スライス４４０に関して、ＨＳは、画素単位でのスライス４４０の高さを指し、ＷＳは、画素単位でのスライス４４０の幅を指す。スライス単位でのフレーム４４４の高さは、Ｎ＝ＨＦ／ＨＳとして定義され、Ｎは、スライス４４０高さの数である。スライス単位でのフレーム４４４の幅は、Ｍ＝ＷＦ／ＷＳとして定義され、Ｍは、スライス４４０幅の数である。いくつかの構成では、フレーム４４４は、スライス４４０幅およびスライス４４０高さに関して均等に分割するようにパッディングされる必要がある。スライス４４０のライン４４２も示される。ライン４４２は、１つのスライス４４０内の複数の画素からなる１つの行を含む。
【００４５】
図５は、部分幅スライス５４０を示すブロック図である。部分幅スライス５４０とは、ピクチャを全ピクチャ幅の一部である幅をもつ複数のスライス５４０に分割することを指す（Ｍ＞１）。図示されるように、Ｍ＝４であり、１／４幅のスライス５４０が得られる。部分幅スライス５４０の使用は、領域アップデートのための部分スライス処理（各プロセッサのレートが低くなる）およびより精細な粒度を可能にする。しかしながら、部分幅スライス５４０では、領域アップデートのためにスライス構造が固定されなければならない。そのうえ、部分幅スライス５４０の小さいサイズは、符号化効率に影響を与える（少なくとも８ライン４４２のＨＳを示唆する）。並列性は、スライス単位でのピクチャ幅（Ｍ）によって制限される。さらに、スライスからラスタスキャンへの変換は、回避されるべきである。部分幅スライス５４０に伴う他の課題は、スライスの到着順、スライスデータのインタリーブ、スライスデータの相対的遅延、および領域アップデートのためのデータアクセスにおける衝突の回避を含む。
【００４６】
図６は、本発明のシステムおよび方法に用いるための選択的アップデート・デコーダを示すブロック図である。異なる仮想参照デコーダ（ＨＲＤ：ｈｙｐｏｔｈｅｔｉｃａｌ  ｒｅｆｅｒｅｎｃｅ  ｄｅｃｏｄｅｒ）モデルは、デコーダ２３２への複数のビットの配信に係る必要条件を異なる用途に対してモデリングできる。ある１つのＨＲＤモデルは、配信の制約条件が満たされることを保証するための手段を提供する。このＨＲＤは、ＨＲＤに複数のビットを追加および除去するためのバッファ容量および手順を規定する。ＨＲＤに対する制約条件は、ＨＲＤがオーバーフローまたはアンダーフローしてはならないことである。例えば、大きいトランスポート・バッファを専ら要求するのは不適切である。３つのＨＲＤモデル、すなわち、直列ＨＲＤ、並列復号ＨＲＤ、および選択的アップデートＨＲＤがある。直列ＨＲＤは、典型的なシングルスレッド復号用途および全ピクチャ幅スライスに適する。直列ＨＲＤは、高スループット用途に用いられる。
【００４７】
並列復号ＨＲＤは、スループット向上のための部分幅スライス５４０の並列復号に適する。並列復号ＨＲＤは、スライスが全幅に等しいときに直列ＨＲＤに戻る。選択的アップデートＨＲＤは、圧縮フレームバッファ１１２を用いたモバイルデバイスに適する。
【００４８】
提案される並列ＨＲＤモデルでは、Ｍは、スレッド数を指し、Ｒは、ビットレートであり、Ｓは、個々のＨＲＤバッファのサイズであり、Ｄは、初期復号遅延である。各フレーム４４４は、幅がＷ／Ｍのスライス４４０からなり、スライス４４０はＭ個の列を形成する。各列は、スレッドと呼ばれる。各スレッドは、高さ方向に複数のスライス４４０を有する。画素時間は、Ｐで示される。
【００４９】
Ｍ個のＨＲＤの並列セットが相対的な遅延を伴って一定レートで動作する。（スレッドごとに１つの）Ｍ個のＨＲＤモデルがある。各ＨＲＤバッファは、等しいサイズＳを有し、各フレーム４４４の開始のときに空に初期化される。動作レートは、各スレッドのＨＲＤバッファに関して画素当たりビット（ｂｐｐ）リンクレートがＲ／Ｍに等しい一定入力レートである。初期復号遅延は、「ｉ」番目のＨＲＤモデルでは画素数にｄ＋ｉ＊Ｗ／Ｍを乗じて指定される。「ｉ」番目のＨＲＤにおける複数のビットの到着は、０番目のＨＲＤにおける複数のビットの到着に対してｉ＊Ｒ／Ｍビット遅延される。初期遅延の後に、複数のビットが画素時間Ｐ当たりＲ／Ｍビットの均一レートで各ＨＲＤに到着する。
【００５０】
並列演算は、すべてのスレッド上で生じる。除去スケジュールは、指定された初期遅延後に複数のビットを「ｉ」番目のＨＲＤから除去することによって開始する。「ｉ」番目のスレッド中の一群の画素を表す複数の符号化ビットが、各群時間（Ｐ＊Ｍ＊群ごとの画素数）に「ｉ」番目のＨＲＤから除去される。除去は、各画素群に対応する複数のビットを除去し続ける。Ｍ＝１のときには、並列ＨＲＤモデルが直列ＨＲＤモデルに戻る。各スレッドは、並列に動作するが適切に遅延されたＨＲＤを有する。並列ＨＲＤモデルは、効率的な並列の実行を可能にするが、並列の実行を義務付けるものではない。圧縮ビットレートの変動に関する限界は、直列スライス・デコーダを設計するために用いることもできる。
【００５１】
選択的アップデートを用いる用途には、フレームバッファがすでに存在する。ビットストリームおよび到着スケジュールに対する必要条件は、他のＨＲＤモデルに比べて軽減される。スライス・ジオメトリが固定される（が、デコーダ２３２が提示する選択肢から選択できる）。加えて、圧縮スライス２４０のサイズが固定される（すなわち、ｂｐｐ＊スライス中の画素群）。スライス２４０データの到着は、スライス２４０のパイプライン方式の１つの行を送信より後に復号できるように制約される。
【００５２】
示される選択的アップデートＨＲＤモデルに関して、スライス２４０高さＨおよび幅Ｗが指定される。圧縮フレームバッファ１１２は、初めは空であり、第１のフレーム４４４は、ピクチャのすべてのスライス４４０に関するデータを含まなければならない。各フレーム４４４の間に、ｎ＊Ｈから（ｎ＋１）＊Ｈ行中の１つのスライス４４０に対応する圧縮データは、ライン時間ｎ＊Ｈから（ｎ＋１）＊Ｈの間にのみＨＲＤに書き込むことができる。トランスポート・レイヤは、受信データの適切なバッファリングまたはトランスポート・タイミングの制限のいずれかを通じてこれを保証することを担う。スライス４４０は、この制約条件に従う一方で選択的にスキップされてもよい。ｍ＊Ｈから（ｍ＋１）＊Ｈ行中の複数のスライス４４０に対応する圧縮データは、時間（ｍ＋１）＊ＨにＨＲＤから読み出される。これらのビットは、上書きされるまで除去されず、後続フレーム４４４を復号するために利用可能である。
【００５３】
適切なＨＲＤモデルに従ってデータを配信するのに加えて、トランスポート・レイヤは、追加の情報、例えば、スライス・ジオメトリ、スライス位置情報、および様々なフラグを伝える。スライス・ジオメトリは、各フレーム４４４の複数のスライス４４０への固定された空間分解を指定する。スライス４４０は、ラスタスキャン順に番号付けされる。スライス高さ／幅は、低レベル圧縮サイズの必要条件と整合すべきである（スライス４４０は、複数のフルコード単位ブロックを含まなければならない）。フレーム４４４は、整数のスライス４４０高さおよび幅にパディングされる。すべてのスライス４４０が同じサイズを有することも必要である。
【００５４】
スライス・ジオメトリ、スライス・サイズおよびピクチャ解像度は、符号ストリームの外部でデコーダ２３２へシグナリングされてもよく、または符号ストリーム中に符号化されてスライス・マッパ２２４によって抽出されてもよい。スライス・ジオメトリは、通常は固定されるが変化してもよい。スライス・ジオメトリが変化すると、その後には新しいジオメトリにおけるフレーム４４４に関するすべてのスライス２４０を含むフレーム４４４が続く（すなわち、スライス・ジオメトリが変化したときに限定的な領域アップデートは許可されない）。受信した各スライス４４０は、適切な位置／ＨＲＤモデルへルーティングされる必要がある。
【００５５】
トランスポート・レイヤは、将来の部分的アップデート用途に現フレーム４４４を用いることができるかどうかを示すフラグを伝える（すなわち、現フレーム４４４は、将来のために保存されなくてはならない）。いくつかの用途では、このフラグは、ゼロとする必要がある。モバイル用途を除けば、このフラグは、データが将来のフレーム４４４のために保存されることを示す１か、または、データが必要にはならず、メモリの電源を切ってもよいことを示す０である。トランスポート・レイヤは、現フレーム４４４中にすべてのスライス４４０があることを示すフラグも伝える。フレーム中にすべてのスライス４４０があれば、スライス４４０を到着順に基づいてルーティングできる。フレーム中にすべてのスライス４４０がなければ、各スライス４４０をスライス識別子に基づいてルーティングできる。
【００５６】
図７は、直列スライス復号を示すブロック図である。図示される直列スライス復号では、スライス４４０単位でのピクチャ７４４幅は、Ｍ＝４である。圧縮されたビットストリーム２３９からのスライス４４０は、受信機７２２により受信されて、次に、スライス・マッパ２２４により圧縮フレームバッファ７１２中に配置される。スライス・デコーダ７３２は、スライス４４０が到着したときにそれらを直列に復号する。スライス・デコーダ７３２は、スライス４４０を毎秒Ｒ画素のレートで復号する。スライスからラスタ順へのバッファは、２行の非圧縮スライス７４８を含み、これらのスライスは、次に、（ラスタ・アウト７４６経由で）ラスタ順にディスプレイに送信されて、特定のスライス４４０の指定ライン７４２に配置される。直列スライス復号に伴う１つの問題は、スライスからラスタへの変換にかなりのバッファが必要なことである。
【００５７】
直列ＨＲＤは、レート・バッファサイズＳに等しい、Ｓビットのバッファ・サイズを有する。画素当たりのビットレートは、直列ＨＲＤがモデリングされた当該ＤＳＣエンコーダのｂｐｐレートＲに等しい。初期デコーダ遅延は、ＤＳＣ構成の一部として画素時間の単位で指定される。入力スケジュールは、複数のビットが任意の時間に到着し始めることを指定する。複数のビットが指定された画素時間当たりのビットレートで到着する。複数のビットが指定された初期復号遅延画素時間後にバッファから除去され始める。結果として、群ごとに指定された数のビットが各群時間に除去される。群時間は、画素時間に群ごとの画素数を乗じた時間である。群ごとの複数のビットは、分数成分を有してもよい。もしそうであれば、値のうちの整数成分が除去されて、残りの分数は、次の群で除去されることになる値に加えられる。スライスの最後の群が復号されるまで複数のビットが除去され続ける。
【００５８】
図８は、ラウンドロビン・スライス復号を示すブロック図である。図示されるラウンドロビン・スライス復号では、スライス単位でのピクチャ８４４幅は、Ｍ＝４である。圧縮されたスライス４４０は、圧縮ビットストリーム２３９経由で受信機８２２により受信されて、Ｍ個の圧縮バッファ８１２中に配置される。デコーダ８３２は、複数の画素をディスプレイ・レートＲで復号することにより複数のスライス４４０からなる複数のライン８４２を再構成する。１つの行における複数のスライス４４０は、各スライス４４０からの複数の画素からなる単一ラインの時間多重復号においてラウンドロビン処理される。復号された複数の画素８４８は、次に、（ラスタ・アウト８４６経由で）ラスタ順にディスプレイへ送信される。ラウンドロビン・スライス復号を用いると、ラスタ・アウトおよび復号に適切な遅延を伴う複数の非圧縮画素に必要なバッファを最小限に抑えることができる。
【００５９】
ラウンドロビン・スライス復号は、出力にかなりのラスタ・バッファリングが必要なことを回避するために、１つの行におけるすべてのスライス４４０からの複数の画素からなる複数のライン８４２を時間多重によって復号する。スライス４４０がスライス行時間ごとに多重される場合、１つの行に関するデータが１つの行時間にフィットしないことがある（各スライス４４０の第１の行で起こりうる）。デコーダ８３２は、ストールを回避するために、第１のラインを復号し始める前に、第２の行時間からのデータが到着し始めるまで待機しなければならない。これは、バッファリングの必要性を増加させる。より精緻なレベルの多重（例えば、バイトごとまたはビットごと）を用いれば、トランスポート・レイヤでのバッファリングは最小限に抑えられるが、各スライス４４０は、幅Ｗ／Ｍのスライス４４０に対してＭ＊ＨＲＤサイズに等しいレート・バッファを必要とし、フルフレームにほぼ等しい全レート・バッファにつながる。個々のスライス４４０は、前のスライス４４０に対してライン時間の１／Ｍ遅延される。
【００６０】
図９は、１つの行内の並列スライス復号を示すブロック図である。図示される並列スライス復号では、スライス４４０単位でのピクチャ９４４幅は、Ｍ＝４である。圧縮されたスライス４４０は、圧縮ビットストリーム２３９経由で受信機９２２により受信されて、Ｍ個の圧縮フレームバッファ９１２中に配置される。Ｍ個のデコーダ９３２ａ〜ｄ（それぞれがＲ／Ｍのレート）は、Ｍ個の圧縮フレームバッファ９１２からの複数の画素をディスプレイ・レートＲ＝Ｍ＊Ｒ／Ｍで復号する。復号された複数の画素９４８は、次に、ラスタ順（ラスタ・アウト９４６と呼ばれる）にディスプレイへ送信される。並列スライス復号は、ライン９４２の１−Ｒ／Ｍである単一ライン・バッファを必要とする。デコーダ９３２およびラスタ・アウト９４６は、単一ライン・バッファに対して適切に位相が合わされる。
【００６１】
並列に復号される各スライス４４０は、１つの単一ライン・ラスタ・バッファで十分であるように遅延される。個々のスライス・デコーダ９３２は、再構成バッファを削減するためにスタガ状に配置される。デコーダｉ＋１は、デコーダｉに対して１／Ｍライン時間遅延される。Ｍに依存しないレート・バッファがあってもよい。データは、様々な方法、例えば、スライス・ライン時間多重またはビット／バイト多重を用いてバッファに加えられる。データは、ライン時間当たりＷ／Ｍ画素の削減レートで作動するデコーダ９３２によって各レート・バッファから除去される。「ｉ」番目のデコーダのレート・バッファ容量は、個々のレート・バッファのサイズである。他のデコーダに対する相対的遅延は、（ｉ−１）／Ｍライン時間であり、バッファリングの必要性を増加させる。バッファリングの合計は、およそスライスのないピクチャのレート・バッファに圧縮データの
【数４】
2016530731.tif 000006
ライン時間のバッファを加えたものである。
【００６２】
ラウンドロビンも並列処理もともにスライスからラスタへの変換のバッファ・サイズの必要条件を軽減する。入力のバッファリングは、データがデコーダ９３２に利用可能なことを保証するために増加される。スライス４４０のインタリーブまたは並列復号は、最初のスライス４４０が完全に復号される前に、１つの行のすべてのスライス４４０からのデータがアクセスされることを必要とする。複数のスライス４４０からなる個々のコラムの相対的な遅延は、コラムｉ＋１がｉ／Ｍ遅延されることである。バッファの設計は、バッファリングが単に圧縮ドメインへ移動されるだけではない設計にすべきである。
【００６３】
図１０は、電子デバイス１００２において利用される様々なコンポーネントを示す。電子デバイス１００２は、先に記載された電子デバイス１０２の１つ以上として実装されてもよい。
【００６４】
電子デバイス１００２は、電子デバイス１００２の動作を制御するプロセッサ１０５５を含む。プロセッサ１０５５は、ＣＰＵとも呼ばれる。メモリ１０４９は、リードオンリーメモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、ランダムアクセスメモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）の両方または情報を記憶する任意のタイプのデバイスを含み、命令１０５１ａ（例えば、実行命令）およびデータ１０５３ａをプロセッサ１０５５へ供給する。メモリ１０４９の一部分は、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ：ｎｏｎ−ｖｏｌａｔｉｌｅ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）も含んでよい。メモリ１０４９は、プロセッサ１０５５と電子通信を行う。
【００６５】
命令１０５１ｂおよびデータ１０５３ｂは、プロセッサ１０５５にも存在する。プロセッサ１０５５に読み込まれた命令１０５１ｂおよび／またはデータ１０５３ｂは、プロセッサ１０５５による実行または処理のために読み込まれたメモリ１０４９からの命令１０５１ａおよび／またはデータ１０５３ａも含む。命令１０５１ｂは、本明細書に開示されるシステムおよび方法を実装するためにプロセッサ１０５５によって実行される。
【００６６】
電子デバイス１００２は、他の電子デバイスとの通信のための１つ以上の通信インターフェース１０５７を含む。通信インターフェース１０５７は、有線通信技術、無線通信技術、または両方に基づいてもよい。通信インターフェース１０５７の例は、シリアルポート、パラレルポート、ユニバーサルシリアルバス（ＵＳＢ：Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、イーサネットアダプタ、ＩＥＥＥ１０９４バスインターフェース、小型計算機システムインターフェース（ＳＣＳＩ：ｓｍａｌｌ  ｃｏｍｐｕｔｅｒ  ｓｙｓｔｅｍ  ｉｎｔｅｒｆａｃｅ）バスインターフェース、赤外線（ＩＲ）通信ポート、Ｂｌｕｅｔｏｏｔｈ無線通信アダプタ、第３世代パートナーシップ・プロジェクト（３ＧＰＰ：３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ）仕様による無線トランシーバなどを含む。
【００６７】
電子デバイス１００２は、１つ以上の出力デバイス１０６１および１つ以上の入力デバイス１０５９を含む。出力デバイス１０６１の例は、スピーカ、プリンタなどを含む。電子デバイス１００２に含まれる出力デバイスの１つのタイプは、ディスプレイデバイス１０６３である。本明細書に開示される構成とともに用いられるディスプレイデバイス１０６３は、任意の適切な画像投影技術、例えば、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）、気体プラズマ、エレクトロルミネセンスなどを利用する。ディスプレーコントローラ１０６５は、メモリ１０４９に記憶されたデータをディスプレイ１０６３上に示されるテキスト、グラフィックス、および／または動画像に（適宜）変換するために設けられる。入力デバイス１０５９の例は、キーボード、マウス、マイクロフォン、リモートコントロールデバイス、ボタン、ジョイスティック、トラックボール、タッチパッド、タッチスクリーン、ライトペンなどを含む。
【００６８】
電子デバイス１００２の様々なコンポーネントは、データバスに加えて、電力バス、制御信号バスおよびステータス信号バスを含むバスシステム１０６７によって結合される。しかしながら、明確さのために、図１０では様々なバスがバスシステム１０６７として示される。図１０に示される電子デバイス１００２は、具体的なコンポーネントのリスティングではなく、機能ブロック図である。
【００６９】
（別記１）
領域アップデートは、圧縮フレームバッファとともに作動する。これは、変化したディスプレイの領域に関してディスプレイ情報源がデータを送信することを可能にし、一方で変化しなかったエリアに関してはフレームバッファ中のデータに依存する。デコーダは、領域アップデートのスライスを圧縮フレームバッファ中にマッピングする。
【００７０】
すなわち、電子デバイスは、
ディスプレイ・パネルと、
圧縮フレームバッファであって、ディスプレイの領域に関するデータを受信する圧縮フレームバッファと、
圧縮バッファからのデータの並列処理を行う１つ以上のデコーダと
を備える。
【００７１】
領域アップデートの送信は、それぞれが同じ時刻に圧縮フレームバッファにアクセスする、スライス・マッパとデコーダとの間の衝突を回避するために制限される。
【００７２】
すなわち、圧縮データの送信は、それぞれが同じ時刻に圧縮フレームバッファにアクセスする、スライス・マッパとデコーダとの間の衝突を回避するためにスケジューリングを用いる。
【００７３】
スライス・マッパは、スライスが圧縮フレームバッファ中でどこに配置されるかを確定する。それゆえに、圧縮スライス位置が圧縮スライス位置リスト中に記憶される。圧縮スライス位置は、受信した圧縮ビットストリームから得られた制御データから確定される。
【００７４】
すなわち、電子デバイスは、
圧縮されたビットストリームを圧縮バッファへマッピングするスライス・マッパと、
圧縮フレームバッファのために保持された圧縮スライス位置リストと
を備え、
圧縮スライス位置リストは、圧縮スライス位置を記憶し、圧縮スライス位置は、受信した圧縮ビットストリームから得られる制御データから確定される。
【００７５】
電子デバイスは、圧縮されたビットストリームを圧縮バッファへマッピングするスライス・マッパをさらに備え、圧縮されたビットストリームのコンテンツおよび送信は、複数の仮想参照デコーダ（ＨＲＤ）によって制約され、「ｉ」番目のＨＲＤにおける複数のビットの到着は、０番目のＨＲＤにおける複数のビットの到着に対してｉ＊Ｒ／Ｍビット遅延され、ここでＲはビットレートであり、ＭはＨＲＤの数である。
【００７６】
（別記２）
いくつかの実施形態において、本方法では、スライスデータは、送信のためにインタリーブされる。
【００７７】
いくつかの実施形態において、本方法では、スライスデータは、圧縮データをバッファリングすることなく各デコーダへ供給される。
【００７８】
いくつかの実施形態において、本方法では、圧縮データの送信は、スライスの圧縮フレームバッファへのマッピングと圧縮フレームバッファからのスライスの復号との間の衝突を回避するために、スケジューリングを用いる。
【００７９】
いくつかの実施形態において、本方法では、デコーダは、フレーム時間の開始からのあるオフセットの後に、圧縮フレームバッファからのフレームを復号し始める。
【００８０】
いくつかの実施形態において、本方法では、デコーダは、複数のスライス上における均一レートのラスタスキャンでフレームの終了まで動作する。
【００８１】
いくつかの実施形態において、本方法は、モバイルデバイスによって行われる。
【００８２】
いくつかの実施形態において、本方法は、モバイルデバイス上のディスプレイ・ストリーム圧縮デコーダによって行われる。
【００８３】
いくつかの実施形態において、本方法では、圧縮フレームバッファは、リニアである。
【００８４】
いくつかの実施形態において、本方法では、圧縮スライス位置リストは、圧縮フレームバッファのために保持される。
【００８５】
いくつかの実施形態において、本方法では、圧縮スライス位置リストは、スライスごとの開始時刻、スライスごとの終了時刻および圧縮フレームバッファ内のスライスの位置を備える。
【００８６】
いくつかの実施形態において、本方法では、領域アップデートは、圧縮データのうちの限られた数のフルスライスが受信されたときに実行される。
【００８７】
いくつかの実施形態において、本方法では、領域アップデートは、スライスの位置、スライスのサイズおよびスライスが圧縮フレームバッファ中でどこに位置するかを備える。
【００８８】
いくつかの実施形態において、本方法では、圧縮フレームバッファは、スライス・ジオメトリおよび各スライスの最大サイズに基づくスライスごとの予約スペースを備える。
【００８９】
いくつかの実施形態において、本方法では、圧縮されたビットストリームのコンテンツおよび送信は、複数の仮想参照デコーダ（ＨＲＤ）によって制約され、「ｉ」番目のＨＲＤにおける複数のビットの到着は、０番目のＨＲＤにおける複数のビットの到着に対してｉ＊Ｒ／Ｍビット遅延され、ここでＲはビットレートであり、ＭはＨＲＤの数である。
【００９０】
いくつかの実施形態において、本方法では、複数のビットが画素時間Ｐ当たりＲ／Ｍビットの均一レートでＨＲＤに到着する。
【００９１】
（追記）
用語「コンピュータ可読媒体」は、コンピュータまたはプロセッサによってアクセスできる任意の利用可能な媒体を指す。用語「コンピュータ可読媒体」は、本明細書では、非一時的かつ有形のコンピュータおよび／またはプロセッサ可読媒体を示す。限定ではなく、例として、コンピュータ可読またはプロセッサ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスク記憶、磁気ディスク記憶もしくは他の磁気記憶デバイス、あるいは命令の形態の所望のプログラムコードまたはデータ構造を運ぶか、または記憶するために用いることができて、コンピュータまたはプロセッサによってアクセスできる任意の他の媒体を備える。ディスク（ｄｉｓｋ）およびディスク（ｄｉｓｃ）は、本明細書では、コンパクトディスク（ＣＤ：ｃｏｍｐａｃｔ  ｄｉｓｃ）、レーザディスク（ｌａｓｅｒ  ｄｉｓｃ）、光ディスク（ｏｐｔｉｃａｌ  ｄｉｓｃ）、デジタルバーサタイルディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｃ）、フロッピーディスク（ｆｌｏｐｐｙ  ｄｉｓｋ）およびＢｌｕ−ｒａｙ（登録商標）ディスク（ｄｉｓｃ）を含み、ディスク（ｄｉｓｋ）は、通常、磁気的にデータを再生し、一方でディスク（ｄｉｓｃ）は、レーザを用いて光学的にデータを再生する。
【００９２】
留意すべきは、本明細書に記載される方法の１つ以上がハードウェアで実装されてもよく、および／またはハードウェアを用いて行われてもよいことである。例えば、本明細書に記載される方法またはアプローチの１つ以上は、チップセット、特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、大規模集積回路（ＬＳＩ：ｌａｒｇｅ−ｓｃａｌｅ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）または集積回路などで実装されてもよく、および／またはそれらを用いて実現されてもよい。
【００９３】
本明細書に開示される方法のそれぞれは、記載される方法を達成するための１つ以上のステップまたは動作を備える。本方法のステップおよび／または動作は、特許請求の範囲から逸脱することなく、相互に交換されてもよく、および／または単一のステップに組み合わされてもよい。言い換えれば、記載される方法の適切なオペレーションのためにステップまたは動作の特定の順序が必要とされない限り、特定のステップおよび／または動作の順序および／または使用は、特許請求の範囲から逸脱することなく修正されてもよい。
【００９４】
当然のことながら、特許請求の範囲は、先に示された通りの構成および構成要素には限定されない。特許請求の範囲から逸脱することなく、本明細書に記載される配置、オペレーション、ならびにシステム、方法および装置の詳細に様々な修正、変更および変形がなされてもよい。
【図１】
2016530731.tif 000007
【図２】
2016530731.tif 000008
【図３】
2016530731.tif 000009
【図４】
2016530731.tif 000010
【図５】
2016530731.tif 000011
【図６】
2016530731.tif 000012
【図７】
2016530731.tif 000013
【図８】
2016530731.tif 000014
【図９】
2016530731.tif 000015
【図１０】
2016530731.tif 000016
【国際調査報告】
2016530731.tif 000017