(57)【要約】      （修正有）【課題】バッファを更新するための方法及びシステムを提供する。【解決手段】バッファを更新するための方法を提供し、前記方法は、前記バッファの読み取り及び前記バッファへの書き込みを同時並行して行うことを可能にするために前記バッファに戦略的に書き込むことを含む。前記方法は、ダブルバッファリングの必要性をなくし、それによって従来のバッファリング手法と比較した場合のコスト及びスペースの節約を実現させる。前記方法は、ディスプレイと関連するフレームバッファを更新するために用いられたときに画像ティアリングも防止するが、前記用途に限定されない。通信リンクを通じてのバッファ更新を可能にするための効率的な機構を提供する。通信リンクを通じてタイミング情報を中継するための方法を提供する。【選択図】図５
2011041290.tif 000002
【特許請求の範囲】
【請求項１】
複数の行を有するバッファを更新するための方法であって、
（ａ）前記バッファ内の読み取り行の位置を決定することであって、前記読み取り行の位置は、前記バッファから現在読み取られている行を示すことと、
（ｂ）前記読み取り行の位置に基づいて更新しても安全な少なくとも第１のセクション及び更新してはならない第２のセクションに前記バッファをパーティショニングすることと、
（ｃ）前記バッファを更新するために前記第１のセクションの行においてデータを書き込むことであって、前記行は、前記読み取り行の位置に基づいて前記第２のセクションに後続すること、とを具備する方法。
【請求項２】
前記読み取り行の位置は、読み取りポインタ値を決定することによって決定される請求項１に記載の方法。
【請求項３】
前記バッファの前記第１のセクションは、
（ｉ）前記バッファの最後の読み取りサイクルにおいて読み取られている前記バッファの行、及び（ｉｉ）前記読み取り行の位置に基づいて更新することができる前記バッファの行のうちの少なくとも１つを具備する請求項１に記載の方法。
【請求項４】
（ｉｉ）は、バッファ読み取り速度およびバッファ書き込み速度に基づいて前記読み取り行の位置が到着する前に更新することができる前記バッファの行をさらに具備する請求項４に記載の方法。
【請求項５】
前記バッファの前記第２のセクションは、バッファ読み取り速度およびバッファ書き込み速度に基づいて前記読み取り行の位置が到着する前に更新することができない前記バッファの行を具備する請求項１に記載の方法。
【請求項６】
前記バッファの前記第２のセクションは、前記バッファの最後の読み取りサイクル中に更新されていなければならない行をさらに具備する請求項５に記載の方法。
【請求項７】
前記バッファは、第１のプロセッサによって書き込まれて第２のプロセッサによって読み取られる請求項１に記載の方法。
【請求項８】
前記第１及び第２のプロセッサは、通信リンクを通じて遠隔通信する請求項７に記載の方法。
【請求項９】
前記第１のプロセッサは、前記第２のプロセッサにおける第２のイベントによってトリガーされる前記第１のプロセッサにおける第１のイベントに基づいて前記バッファを更新する請求項８に記載の方法。
【請求項１０】
（ｄ）前記第２のイベントに基づいて前記第１のイベントを引き起こす割り込みのトリガーを可能にするためにレジスタに書き込むことによって前記第１のイベントをスケジューリングすることと、
（ｅ）前記バッファの前記読み取り行の位置に基づいて前記第２のプロセッサにおいて前記第２のイベントをトリガーすること、とをさらに具備する請求項９に記載の方法。
【請求項１１】
前記第１のイベントは、前記通信リンクが休止モードのときにリンクウェークアップイベントを表す請求項１０に記載の方法。
【請求項１２】
前記第１及び第２のプロセッサは、モバイルディスプレイデジタルインタフェース（ＭＤＤＩ）リンクのホストコントローラ及びクライアントコントローラを表す請求項８に記載の方法。
【請求項１３】
前記第１のコントローラは、移動局モデム（ＭＳＭ）ベースバンドプロセッサを表し、前記第２のコントローラは、ＬＣＤコントローラを表す請求項９に記載の方法。
【請求項１４】
前記バッファは、ＬＣＤディスプレイをリフレッシュするために用いられるフレームバッファを表す請求項１３に記載の方法。
【請求項１５】
前記ディスプレイにおける画像ティアリング（image tearing）は、実質的に回避される請求項１４に記載の方法。
【請求項１６】
第１のプロセッサと第２のプロセッサの間の通信リンクを通じてタイミング情報を搬送するための方法であって、前記通信リンクは休止モードであり、
前記タイミング情報を前記第２のプロセッサに搬送するために前記第１のプロセッサにおいて時間イベントをスケジューリングすることと、
前記時間イベントの発生時に前記第１のプロセッサによるリンクウェークアップを開始させることと、
前記第２のプロセッサにおいて前記リンクウェークアップを検出し、前記検出されたリンクウェークアップタイミングを用いて、前記搬送されたタイミング情報に関して前記第１のプロセッサと前記第２のプロセッサを同期化させること、とを具備する、方法。
【請求項１７】
前記通信リンクは、モバイルディスプレイデジタルインタフェース（ＭＤＤＩ）リンクを表す請求項１６に記載の方法。
【請求項１８】
前記第１及び第２のプロセッサは、ＭＤＤＩクライアント及びＭＤＤＩホストをそれぞれ表す請求項１７に記載の方法。
【請求項１９】
前記タイミング情報は、前記ＭＤＤＩリンクを通じて制御されているディスプレイと関連するバッファリフレッシュ時間を表す請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、バッファを更新するための方法及びシステムに関するものである。本発明は、より具体的には、通信リンクを通じてバッファを更新するための方法及びシステムに関するものである。
【背景技術】
【０００２】
相互接続技術分野においては、特に映像表示に関連するデータ速度をさらに上昇させることの要求がますます大きくなってきている。
【０００３】
モバイルディスプレイデジタルインタフェース（ＭＤＤＩ）は、ホストとクライアントの間における短距離通信リンクを通じての超高速データ転送を可能にする、対費用効果が高くかつ消費電力が低い転送機構である。ＭＤＤＩは、最高で毎秒３．２ギガビットの最大帯域幅を提供する双方向データ転送のための４本の配線及び電力を最低限要求する。
【０００４】
一用途においては、ＭＤＤＩは、デジタルベースバンドコントローラとＬＣＤディスプレイ及び／又はカメラを相互に接続するためにハンドセットのヒンジを横断して通る配線数を大幅に減らすことによって折りたたみ式携帯電話における信頼性を向上させさらに電力消費量を低減させる。この配線の減少は、ハンドセットメーカーがクラムシェル又はスライド式ハンドセットのデザインを単純化することによって開発コストを引き下げることも可能にする。
【０００５】
ＭＤＤＩリンクにおけるＬＣＤディスプレイを制御する際に発生する一問題は、前記ディスプレイがリフレッシュされたときの画像のちらつきに関連する。典型的には、必要なことは、持続性が長い変換（long  persistence conversion）又は人間の目が知覚することができるよりも高いリフレッシュ速度のいずれかである。持続性が長い変換は、結果的に、画像が動いて見えるときに画像のスミアを発生させる。従って、ディスプレイが高速のリフレッシュ速度を有することが望ましい。しかしながら、発生する典型的な問題は、画像のティアリングである。この問題は、ディスプレイが高速でリフレッシュ中に、前記ディスプレイと関連するフレームバッファはそれよりも低速で満たされているという問題である。その結果、表示画像は、前記ディスプレイの同じフレーム内において更新された画像情報と旧画像情報の両方を反映させた画像になる可能性がある。
【０００６】
一解決方法においては、上記の画像ティアリング問題を回避するために複数のバッファが用いられて画像情報が前記複数のバッファ間を循環される。この方法は、一般的に知られる「ダブルバッファリング」手法を含む。しかしながら、前記解決方法の欠点は、明らかなことに、実装する際に要求されるコスト及びチップスペースの増大である。
【０００７】
従って、ＭＤＤＩ用途のコスト及びスペース上の要求を満たしつつ上述される問題を解決するバッファ更新解決方法を可能にする方法及び装置が必要である。
【発明の概要】
【０００８】
本発明は、バッファを更新するための方法及びシステムに関するものである。
【０００９】
一側面においては、本発明は、バッファからの読み取り及びバッファへの書き込みを同時並行して行うことを可能にするために戦略的にバッファに書き込むことを含むバッファ更新方法を提供する。前記方法は、ダブルバッファリングの必要性をなくし、それによって従来のバッファリング手法と比較した場合におけるコストとスペースの節約を実現させる。その他の利点の中で、前記方法は、ディスプレイと関連するフレームバッファを更新するために使用時に画像ティアリングを防止するが、前記用途に限定されない。
【００１０】
他の側面においては、本発明は、通信リンクを通じてのバッファ更新を可能にする効率的な機構を提供する。一例においては、本発明は、通信リスクを通じてタイミング情報を中継するための方法を提供する。しかしながら、前記方法は、タイミング情報を中継することだけに限定されず、当業者が本明細書における教義に基づいて理解できるようにより一般的な状況において用いることができる。
【００１１】
本発明のさらなる実施形態、特長、及び利点、さらには本発明の様々な実施形態の構造及び動作が、以下において添付図を参照しつつ詳細に説明される。
【００１２】
本明細書に組み入れられて本明細書の一部を構成する添付図は、本発明を図示するものであり、本明細書における説明とともに、本発明の原理を説明する役割及び当業者が本発明を製造及び使用することを可能にする役割を果たすものである。
【００１３】
本発明は、添付図を参照して説明される。要素が最初に現れる図面は、典型的には、対応する参照番号の左端の数字によって示される。
【図面の簡単な説明】
【００１４】
【図１】モバイルディスプレイデジタルインタフェース（ＭＤＤＩ）インタフェースを用いる環境例を示すブロック図である。
【図１Ａ】デジタルデバイス及び周辺機器に結合されたデジタルデータデバイスインタフェースを示す図である。
【図２】図１の例の実施形態によるＭＤＤＩリンク相互接続を示すブロック図である。
【図３】画像ティアリング問題を示す例である。
【図４】本発明によるバッファ更新方法を示すプロセス流れ図である。
【図５】図４の方法の例を示す図である。
【図６Ａ】バッファ読み取り／書き込み戦略を示す図である。
【図６Ｂ】バッファ読み取り／書き込み戦略を示す図である。
【図７】本発明により通信リンクを通じてタイミング情報を搬送する方法を示すプロセス流れ図である。
【図８】タイミング情報を搬送するためにＭＤＤＩリンクのウェークアップを開始させるための信号タイミング図例である。
【発明を実施するための形態】
【００１５】
本明細書は、本発明の特長を組み入れた１つ以上の実施形態を開示する。前記開示された実施形態は、単に本発明の例を示すだけであるにすぎない。本発明の適用範囲は、前記開示された実施形態に限定されるものではない。本発明は、本明細書に添付された請求項によって範囲が定められる。
【００１６】
説明される実施形態、及び本明細書において用いられる「一実施形態」、「実施形態」、「実施形態例」、等の表現は、これらの説明される実施形態は特定の特長、構造、又は特徴を含むことができるがすべての実施形態が前記特定の特長、構造、又は特徴を必ずしも含むわけではないことを示す。さらに、前記表現は、必ずしも同じ実施形態に言及しているわけではない。さらに、特定の特長、構造、又は特徴が実施形態と関連させて説明されるときには、明示で説明されているかどうかにかかわらず、前記特長、構造、又は特徴を有効にすることは当業者の知識の範囲内にあると理解される。
【００１７】
本発明の実施形態は、ハードウェア、ファームウェア、ソフトウェア、又はいずれかの組合せ内において実装することができる。本発明の実施形態は、機械によって読み取り可能な媒体に格納されて１つ以上のプロセッサによって読み取ること及び実行することができる命令として実装することも可能である。機械によって読み取り可能な媒体は、機械（例えばコンピューティングデバイス）によって読み取り可能な形式で情報を格納又は送信するための機構を含むことができる。例えば、機械によって読み取り可能な媒体は、読取専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光学式記憶媒体、フラッシュメモリデバイス、電気的、光学的、音響的又はその他の形態の伝搬信号（搬送波、赤外線信号、デジタル信号、等）を含むことができる。さらに、本明細書においては、ファームウェア、ソフトウェア、ルーチン、命令は、一定の動作を行うこととして説明することができる。しかしながら、前記説明は単なる便宜上のものであること、及び前記動作は、実際には前記ファームウェア、ソフトウェア、ルーチン、命令等を実行するコンピューティングデバイス、プロセッサ、コントローラ、又はその他のデバイスからの結果であることが理解されるべきである。
【００１８】
モバイルディスプレイデジタルインタフェース（ＭＤＤＩ）
モバイルディスプレイデジタルインタフェース（ＭＤＤＩ）は、ホストとクライアントの間の短距離通信リンクを通じての超高速シリアルデータ転送を可能にする、対費用効果が高くかつ消費電力量が低い転送機構である。
【００１９】
以下では、携帯電話の上側クラムシェルに内蔵されるカメラモジュールに関するＭＤＤＩ例が示される。しかしながら、本発明の実施形態において前記カメラモジュールと機能的に同等の特長を有するあらゆるモジュールと容易に交換して使用可能であることが当業者にとって明確になるであろう。
【００２０】
さらに、本発明の実施形態により、ＭＭＤＩホストは、本発明を用いることによって利益を得ることができる幾つかの型のデバイスのうちの１つを具備することができる。例えば、前記ホストは、ハンドヘルド、ラップトップ、又は同様のモバイルコンピューティングデバイスの形態のポータブルコンピュータであることができる。さらに、前記ホストは、パーソナルデータアシスタント（ＰＤＡ）、ページングデバイス、又は数多くの無線電話又はモデムのうちの１つであることも可能である。代替として、前記ホストは、ポータブルな娯楽又は表示デバイス、例えばポータブルＤＶＤ又はＣＤプレーヤー、ゲーム機器、であることが可能である。さらに、前記ホストは、クライアントとの高速通信リンクが望まれるその他の様々な幅広く用いられるか又は予定される商業製品内のホストデバイス又は制御素子として常駐することができる。例えば、ホストは、応答を向上させることを目的として映像録画装置から記憶装置ベースのクライアントに、又は表示することを目的として映像録画装置から高解像度の大型画面に、高速でデータを転送するために用いることができる。搭載された在庫システム又はコンピューティングシステム及び／又はその他の家庭用品へのＢｌｕｅｔｏｏｔｈ(登録商標)接続を組み入れた冷蔵庫等の機器は、インターネット又はＢｌｕｅｔｏｏｔｈに接続されたモードで動作時に向上された表示能力を有することができ、又は、電子コンピュータシステム又は制御システム（ホスト）がキャビネット内の別の場所に常駐する一方で室内ディスプレイ（クライアント）及びキーパッド又はスキャナ（クライアント）のための配線の必要性を低くすることができる。一般的には、当業者は、このインタフェースを使用することによって利益を得ることができる非常に様々な近代的な電子機器及び器具、及び、新たに加えられるか又は既存のコネクタ又はケーブルにおいて利用可能な制限された導線数を利用したより高速のデータ速度での情報転送能力を備えるように旧式デバイスを改良できること、を十分に理解するであろう。同時に、ＭＭＤＩクライアントは、エンドユーザーに情報を提供するために又はユーザーからホストに情報を提供するために役立つ様々なデバイスを具備することができる。例えば、ゴーグル又は眼鏡に組み込まれたマイクロディスプレイ、帽子又はヘルメットに組み込まれた映写デバイス、車両内、例えば窓内又はフロントガラス内に組み込まれた小型画面又はホログラフ素子、又は、高質の音又は音楽を提供するための様々なスピーカー、ヘッドホン、又は音響システム。その他の表示装置は、会議、映画及びテレビ画像用に情報を表示するために用いられるプロジェクタ又は映写装置を含む。他の例は、ユーザーが触れる又は声で指示する以外の実際の「入力」をほとんど行わずにデバイス又はシステムのユーザーから多量の情報を転送するために呼び出すことができるタッチパッド、感圧装置、音声認識入力装置、セキュリティスキャナ、等を用いることである。さらに、コンピュータ用のドッキングステーション及び無線電話用のカーキット又は卓上キットとホールダーがエンドユーザー又はその他のデバイスと装置へのインタフェースとして機能すること、及び、特に���速ネットワークが関係する場合にデータ転送を援助するためのクライアント（マウス等の出力又は入力機器）又はホストを採用することができる。しかしながら、本発明はこれらのデバイスに限定されておらず、格納と転送の点で又は再生時表示の点で高質の画像及び音をエンドユーザーに提供することが意図されるその他の数多くのデバイスが市販されていて使用が提案されていることを当業者は容易に認識するであろう。本発明は、希望されるユーザーの経験を実現させるために必要な高速データ速度に対応するために様々な素子又はデバイス間でのデータスループットを向上させる上で有用である。
【００２１】
図１Ａは、デジタルデバイス１５０及び周辺機器１８０に結合されたデジタルデータデバイスインタフェース１００を示す。デジタルデバイス１５０は、制限することなしに、携帯電話、パーソナルデータアシスタント、スマートフォン又はパソコンを含むことができる。一般的には、デジタルデバイス１５０は、デジタル命令のための及びデジタル表示データの処理のための処理装置として機能するあらゆる型のデジタルデバイスを含むことができる。デジタルデバイス１５０は、システムコントローラ１６０と、リンクコントローラ１７０と、を含む。
【００２２】
周辺機器１８０は、制限することなしに、カメラと、バーコード読取装置と、イメージスキャナと、音声装置と、センサーと、を含むことができる。一般的には、周辺機器１８０は、周辺機器と処理装置との間でデジタル表示データが交換されるあらゆる型の音声、映像又は画像キャプチャ・表示デバイスを含むことができる。周辺機器１８０は、制御ブロック１９０を含む。周辺機器１８０が例えばカメラであるときには、制御ブロック１９０は、制限することなしに、レンズ制御装置と、フラッシュ又は白色ＬＥＤ制御装置と、シャッター制御装置と、を含むことができる。デジタル表示データは、音声、画像及びマルチメディアデータを表すデジタルデータを含むことができる。
【００２３】
デジタルデータインタフェースデバイス１００は、通信リンク１０５を通じて高速でデジタル表示データを転送する。一例においては、毎秒３．２ギガヒットの最大帯域幅を有する双方向データ転送をサポートするＭＤＤＩ通信リンクを用いることができる。この速度例よりも高速又は低速であるその他の高速データ転送は、通信リンクに依存してサポートすることができる。デジタルデータインタフェースデバイス１００は、メッセージインタープリタモジュール１１０と、コンテンツモジュール１２０と、制御モジュール１３０と、リンクコントローラ１４０と、を含む。
【００２４】
デジタルデータインタフェース１００内に所在するリンクコントローラ１４０、及びデジタルデバイス１５０内に所在するリンクコントローラ１７０は、通信リンク１０５を構築する。リンクコントローラ１４０及びリンクコントローラ１７０は、ＭＤＤＩリンクコントローラであることができる。
【００２５】
本明細書において引用されることによって全体が本明細書に組み入れられているビデオエレクトロニクス規格協会（“ＶＥＳＡ”）ＭＤＤＩ規格は、ポータブルデバイスが小型のポータブルデバイスからより大型の外部ディスプレイにデジタル画像を転送するようにする高速デジタルパケットインタフェースに関する要求事項を説明する。ＭＤＤＩは、ポータブルコンピューティングデバイス、通信装置及び娯楽装置を新たに出現した製品、例えば摩耗可能なマイクロディスプレイにリンクする上での理想的な超小型コネクタシステム及び薄いたわみケーブルを利用する。さらに、ＭＤＤＩは、ホストプロセッサと表示装置との間の接続のコストを低減しさらに信頼性を向上させるために、該接続を単純化する方法に関する情報含む。リンクコントローラ１４０及び１７０は、ＶＥＳＡ ＭＤＤＩ規格に基づいて通信路１０５を構築する。
【００２６】
２００４年７月６日にツォウ等に対して発行された、"Generating and Implementing a Communication Protocol and Interface for High Data Rate Signal Transfer"（高データ速度信号転送用通信プロトコル及びインタフェースの生成及び実装）という題名を有する米国特許Ｎｏ．６，７６０，７７２（「‘７７２特許」）は、表示データに関する通信プロトコルを形成するためにひとつにまとめてリンクされたパケット構造を用いて通信路を通じてホストとクライアントの間でデジタルデータを転送するためのデータインタフェースについて説明している。‘７７２特許において教義される発明の実施形態は、ＭＤＤＩインタフェースが対象である。信号プロトコルは、通信プロトコルを形成するパケットを生成、送信、及び受信するように構成された、及び１つ以上の型のデータパケット内へのデジタルデータを形成するように構成されたリンクコントローラ、例えばリンクコントローラ１４０及び１７０によって用いられ、少なくとも１つはホストデバイス内に常駐して通信路、例えば通信路１０５、を通じてクライアントに結合される。
【００２７】
前記インタフェースは、短距離「シリアル」型データリンクを通じて対費用効果が高く低電力の双方向高速データ転送機構を提供し、超小型コネクタ及び薄いたわみケーブルによる実装に役立つ。リンクコントローラ１４０及び１７０の実施形態は、‘７７２特許の教義に基づいて通信路１０５を構築する。
【００２８】
その他の実施形態においては、リンクコントローラ１４０及び１７０は、両方ともＵＳＢリンクコントローラであることができ、又は両方ともコントローラ、例えばＭＤＤＩリンクコントローラ及びその他の型のリンクコントローラ、例えばＵＳＢリンクコントローラ、の組合せを含むことができる。代替として、リンクコントローラ１４０及び１７０は、コントローラ、例えばＭＤＤＩリンクコントローラ、及びデジタルデータインタフェースデバイス１００とデジタルデバイス１５０との間において肯定応答メッセージを交換するための単一のリンクの組合せを含むことができる。さらに、リンクコントローラ１４０及び１７０は、その他の型のインタフェース、例えばＥｔｈｅｒｎｅｔ（登録商標）又はＲＳ−２３２シリアルポートインタフェースをサポートすることができる。本明細書における教義に基づいて当業者によって知られることになるように、追加のインタフェースをサポートすることが可能である。
【００２９】
デジタルデータインタフェースデバイス１００内において、メッセージインタープリタモジュール１１０は、システムコントローラ１６０から通信リンク１０５を通じてコマンドを受信してシステムコントローラ１６０への応答メッセージを生成し、前記コマンドメッセージを翻訳し、前記コマンドの情報内容をデジタルデータインタフェースデバイス１００内の該当するモジュールにルーティングする。
【００３０】
コンテンツモジュール１２０は、周辺機器１８０からデータを受け取り、前記データを格納し、通信リンク１０５を通じて前記データをシステムコントローラ１６０に転送する。
【００３１】
制御モジュール１３０は、メッセージインタープリタ１３０から情報を受け取り、周辺機器１８０の制御ブロック１９０に情報をルーティングする。制御モジュール１３０は、制御ブロック１９０から情報を受け取って前記情報をメッセージインタープリタモジュール１１０にルーティングすることも可能である。
【００３２】
図１は、ＭＤＤＩインタフェースを用いる環境例を示すブロック図である。図１の例においては、ＭＤＤＩは、折りたたみ式電話１００のヒンジを通ってモジュールを相互に接続するために用いられる。
【００３３】
図１に関して、折りたたみ式電話１００の下側クラムシェル部分１０２は、移動局モデム（ＭＳＭ）ベースバンドチップ１０４を含む。ＭＳＭ１０４は、デジタルベースバンドコントローラである。折りたたみ式電話１００の上側クラムシェル部分１１４は、液晶ディスプレイ（ＬＣＤ）モジュール１１６と、カメラモジュール１１８と、を含む。
【００３４】
依然として図１に関して、ＭＤＤＩリンク１１０は、カメラモジュール１１８をＭＳＭ１０４に接続する。典型的には、ＭＤＤＩリンクコントローラがカメラモジュール１１８及びＭＳＭ１０４の各々にインテグレーションされる。図１の例において、ＭＭＤＩホスト１２２は、カメラモジュール１１２内にインテグレーションされ、ＭＤＤＩクライアント１０６は、ＭＤＤＩリンク１１０のＭＳＭ側に常駐する。典型的には、ＭＤＤＩホストは、ＭＤＤＩリンクのマスターコントローラである。図１の例においては、カメラモジュール１１８からの画素データがＭＤＤＩホスト１２２によって受信され、ＭＤＤＩリンク１１０に送信される前にＭＤＤＩパケットにフォーマット化される。ＭＤＤＩクライアント１０６は、前記ＭＤＤＩパケットを受信し、カメラモジュール１１８によって生成されるフォーマットと同じフォーマットの画素データに再変換する。次に、前記画素データは、処理するためにＭＳＭ１０４内の該当するブロックに送られる。
【００３５】
依然として図１に関して、ＭＤＤＩリンク１１２は、ＬＣＤモジュール１１６をＭＳＭ１０４に接続する。図１の例において、ＭＭＤＩリンク１１２は、ＭＳＭ１０４内にインテグレーションされたＭＤＤＩホスト１０８、及びＬＣＤモジュール１１６内にインテグレーションされたＭＤＤＩクライアント１２０を相互に接続する。図１の例において、ＭＳＭ１０４のグラフィックスコントローラによって生成された画像データがＭＤＤＩホスト１０８によって受け取られ、ＭＤＤＩリンク１１２上に送信される前にＭＤＤＩホスト１０８によってＭＤＤＩパケットにフォーマット化される。ＭＤＤＩクライアント１２０は、前記ＭＤＤＩパケットを受信し、ＬＣＤモジュール１１６によって用いるために画像データに再変換する。典型的には、画像データは、ＬＣＤディスプレイをリフレッシュするために用いられる前にフレームバッファを用いてバッファリングされる。
【００３６】
図２は、図１の例によるＭＤＤＩリンク相互接続１１２を示すブロック図である。上述されるように、ＭＤＤＩリンク１１２の機能の１つは、ＭＳＭ１０４からＬＣＤモジュール１１６に画像データを転送することである。フレームインタフェース（図２に示されていない）は、ＭＤＤＩリンクコントローラ１２０をＬＣＤモジュール１１６のモジュールに接続する。同様に、他のフレームインタフェース（図２に示されていない）は、ＭＤＤＩリンクコントローラ１０８をＭＳＭ１０４の該当するモジュールに接続する。典型的には、ＭＤＤＩリンクコントローラ１０８は、ＭＤＤＩリンクのホストコントローラを表し、ＭＤＤＩリンクコントローラ１２０は、ＭＤＤＩのクライアントコントローラを表す。しかしながら、その他の実装は、これらの２つのコントローラの役割を逆にすることができる。
【００３７】
ＭＤＤＩリンク１１２は、電力信号用の２本の線２１０及び２１１に加えて、データ信号用の２本の線２０２及び２０４、及びプローブ信号用の２本の線２０６及び２０８を具備する最低４本の線を含む。データ信号２０２及び２０４は、双方向性である。従って、データは、データ信号２０２及び２０４を用いていずれの方向にも（ホストからクライアントへ及びクライアントからホストへ）送信することができる。ストローブ信号２０６及び２０８は、単方向性であり、リンクのホストコントローラによってしか駆動することができない。従って、図２の例においては、ホストコントローラ１０８のみがストローブ信号２０６及び２０８を駆動することができる。
【００３８】
バッファを更新するための方法及びシステム
上述されるように、ＭＤＤＩは、ベースバンドプロセッサ（例えば図２のＭＳＭ１０４）及びグラフィックスコントローラ（例えば図２のＬＣＤモジュール１１６）を接続するために用いることができる。前記ベースバンドプロセッサは、典型的にはカメラセンサーから受け取られた画像情報を前記グラフィックスコントローラにチャネリングし、前記グラフィックスコントローラは、前記画像情報を用いて表示画像を生成する。典型的には、前記グラフィックスコントローラは、ベースバンドプロセッサから受け取られた画像情報を用いて表示画像を生成する前に前記画像情報を格納するための１つ以上のフレームバッファを採用する。上述されるように、画像ティアリングが１つの発生する問題である。この問題は、前記画像情報がフレームバッファに書き込まれている速度よりも遅い速度又は速い速度でフレームバッファから読み出されているときに発生する。本明細書においては、その他の利点の中で特に前記画像ティアリング問題を解決するバッファ更新方法及びシステムが説明される。しかしながら、本発明による方法及びシステムは、該方法及びシステムが説明される特定の典型的実施形態に限定されないこと及びＭＤＤＩ環境において用いられることに限定されないことに注目すべきである。さらに、本発明の方法及びシステムは、バッファリングを利用しさらに本発明の利点から利益を得ることができるその他の様々な用途において採用することが可能である。
【００３９】
画像ティアリング
図３は、バッファからの読み取り中及び／又はバッファへの書き込み中に発生する可能性がある２つの画像ティアリング例を示す。図３の図は、バッファ位置及び時間の関数としての読み取りポインタ及び書き込みポインタの作図を示す。前記読み取りポインタは、前記バッファ内における読み取り中の位置を示す。前記書き込みポインタは、前記バッファ内における書き込み中の位置を示す。図３の例において、バッファ位置は、バッファ内の画素位置に関して定められる。
【００４０】
図３の第１の例においては、バッファは、書き込まれている速度よりも遅い速度で読み取られている。このことは、読み取りポインタ行３０２及び書き込みポインタ行３０４の相対的傾きによって示される。読み取りポインタ行３０２及び書き込みポインタ行３０４は、時間ｔ０において交差することに注目すること。時間ｔ０の前は、バッファ内の画素は、更新される前に読み取り中になっている。時間ｔ０後は、画素は読み取られる前に更新中になっている。従って、同じフレーム（時間０から時間ｔ１）内において、（時間ｔ０において読み取られる画素位置に対応する）位置０乃至ｐ０における画素は、更新された画像情報とともに読み取られるバッファ内の位置ｐ０から最後の画素までの画素よりも古い画像情報とともに読み取られる。この結果は、画像の下側部分が画像の上側部分よりも新しい画像情報を反映させている画像ティアリングである。
【００４１】
図３の第２の例においては、バッファは、書き込まれる速度よりも速い速度で読み取られている。このことは、読み取りポインタ行３０２及び書き込みポインタ行３０６の相対的傾きによって示される。読み取りポインタ行３０２及び書き込みポインタ行３０６は、時間ｔ２において交差する。時間ｔ２の前は、バッファ内の画素は、読み取られる前に更新中になっている。時間ｔ２後は、画素は更新される前に読み取り中になっている。従って、同じフレーム（時間ｔ１から時間ｔ３）内において、（時間ｔ２において読み取られる画素位置に対応する）位置０乃至ｐ２における画素は、バッファ内の位置ｐ２から最後の画素までの画素よりも新しい画像情報とともに読み取られ、該情報は、旧画像情報とともに読み取られる。この結果は、画像の上側部分が画像の下側部分よりも新しい画像情報を反映させている画像ティアリングである。
【００４２】
バッファを更新するための方法
次に、バッファを戦略的に更新する方法が提供される。前記方法は、ディスプレイと関連するフレームバッファを更新するために使用時に画像ティアリングを防止する。前記方法は、本明細書において説明される明確な利点に基づいてその他のバッファリング用途においても使用することができる。
【００４３】
図４は、本発明に従ってバッファを更新するための方法を示したプロセス流れ図４００である。プロセス流れ図４００は、ステップ４１０において開始し、ステップ４１０は、前記バッファ内における読み取り行の位置を決定することを含む。前記読み取り行の位置は、現在前記バッファから読み取り中の行を示す。典型的には、ステップ４１０は、前記バッファ内の読み取り行の位置を指す読み取りポインタの値を決定することによって達成される。
【００４４】
ステップ４２０は、前記読み取り行の位置に基づいて更新しても安全な少なくとも第１のセクション及び更新してはならない第２のセクションに前記バッファをパーティショニング（分割）することを含む。ここで、前記バッファをパーティショニングすることは、前記バッファの物理的ではなく論理的なパーティショニングを意味することが注記される。さらに、本明細書における教義から理解されるように、前記バッファの論理的パーティションは固定されておらず、変化することができる。前記バッファの第１のセクションは、読み取り行の位置に基づいて現在のバッファ読み取りサイクル内において読み取られている前記バッファの行を含む。前記第１のセクションは、読み取り行の位置に基づいて更新することができる前記バッファの行も含む。換言すると、前記第１のセクションは、内容が読み取られたばかりの行又はバッファ読み取り速度およびバッファ書き込み速度に基づいて読み取り行の位置が到着する前に更新することができる行を含む。バッファ読み取り速度およびバッファ書き込み速度に基づいて読み取り行の位置が到着する前に更新することができない行は、前記バッファの前記第２のセクションに属する。換言すると、前記バッファの前記第２のセクションの行は、読み取らなければならない前に更新するための十分な時間がない行である。従って、前記バッファの前記第２のセクションの行は、前記バッファの最後の読み取りサイクル中に更新されていなければならない。
【００４５】
ステップ４３０は、前記第２のセクションに続く前記第１のセクションの行において前記読み取り行位置に基づいてデータを書き込むことによって前記バッファを更新することを含む。典型的には、前記バッファは、上述されるように更新しても安全でありさらに前記バッファの最後の読み取りサイクル中に既に読み取られている位置において更新される。一実施形態においては、ステップ４３０は、前記第２のセクションの最後の行の直後に続く前記第１のセクションの行においてデータを書き込むことを含む。本明細書において開示される教義に基づいて当業者によって明確に理解されるように、ステップ４３０のその他の変形も可能である。
【００４６】
例
図５は、図４において上述される方法の例を示す。図５は、３つのバッファ５００読み取り例Ａ、Ｂ、及びＣを示す。例示することのみを目的として、３５２行のデータを含むバッファ５００が示されている。読み取りポインタ５１０は、バッファ内の読み取り行の位置を示す。ローマ字“Ｉ”が添付されたセクションは、上述されるように前記バッファの第１のセクションに属する行を表す。ローマ数字“ＩＩ”が添付されたセクションは、上述されるようにバッファの第２のセクションに属する行を表す。
【００４７】
例Ａにおいて、陰影エリア“Ｉ”は、前記バッファの第１のセクションのうちで前記バッファの現在の読み取りサイクル中に既に読み取られている行を表す。前記例において、このエリアは、行１乃至ｍ−１を含む。読み取りポインタ５１０は、行ｍが現在読み取り中であることを示す。従って、例Ａにおけるエリア“ＩＩ”は、バッファ５００のうちで読み取りポインタ５１０の現在位置に基づいて更新することができない行を表す。換言すると、読み取りポインタ５１０の現在位置及びバッファにおける読み取り速度と書き込み速度に基づいてエリア“ＩＩ”内の行を更新するための十分な時間がない。前記バッファの第１のセクションは、エリア“ＩＩ”の下方の陰影のないエリア“Ｉ”も含むことに注目すること。このエリア“Ｉ”は、更新しても安全であるため第１のセクションに属するが、前記バッファの現在の読み取りサイクル中に読み取られていないことを考慮して更新すべきでない。陰影のないエリア“Ｉ”を読み取る前に更新することは、図３に示されるように、画像の上側部分が画像の下側部分よりも古い画像情報を反映させている画像ティアリングが発生する。
【００４８】
例Ｂにおいては、陰影エリアは、バッファの現在の読み取りサイクル中に既に読み取られているバッファの行を表す。前記例においては、このエリアは、行１乃至３１５を含む。読み取りポインタ５１０は、行３５２が現在読み取られていることを示す。従って、例Ｂにおけるエリア“ＩＩ”は、現在の読み取り行の位置を考慮して更新されていなければならなかった行を表す。エリア“ＩＩ”内の行は、現在の読み取り行の位置及びバッファにおける読み取り速度と書き込み速度に基づいて更新することができず、上述の説明に基づいてバッファの第２のセクションに属する。エリア“Ｉ”内の行は、バッファの第１のセクションに属し、安全に更新することができる。バッファを更新するために、エリア“Ｉ”において書き込みが開始することができる。データは、エリア“Ｉ”内のエリア“ＩＩ”の直後の行において書き込むことができる。
【００４９】
例Ｃは、Ｂに示されるシナリオに後続するシナリオを示す。例Ｃにおいて、読み取りポインタ５１０は、ラップアラウンドしており、バッファの行ｍを読み取り中である。従って、バッファ内において読み取りポインタに先行する行は、バッファの第１のセクションに属し、更新することができる。エリア“ＩＩ”内の行は、現在の読み取り行の位置を考慮して最後の書き込みサイクル中に更新していなければならなかった。エリア“ＩＩ”内の行は更新することができず、上述されるようにバッファの第２のセクションに属する。換言すると、エリア“ＩＩ”内の行は、読み取らなければならない前に更新するための十分な時間がないため、読み取り行の位置を考慮した更新済み情報を含んでいなければならない。陰影エリア“Ｉ”は、バッファの第１のセクションのうちで更新しても安全な行を表すが、バッファの最後の読み取りサイクル中に読み取られていないことを考慮して更新すべきでない。
【００５０】
バッファ読み取り／書き込み戦略
ここでは、バッファ更新に関連する画像ティアリング又は同等の問題を回避するためのバッファ読み取り／書き込み戦略が説明される。本発明によるバッファ更新戦略は、共通して採用されている「ダブルバッファリング」技術の必要性をさらに排除する。代わりに、単一のバッファが用いられ、その結果、実装コストとスペースの両方が節約される。本発明は、本明細書において説明される典型的な戦略に限定されず、当業者にとって明確に理解される変形も本発明の適用範囲内であるとみなされる。
【００５１】
図６Ａ及び６Ｂは、本発明による典型的なバッファ読み取り／書き込み戦略を示す。図６Ａ及び６Ｂの図は、バッファの位置及び時間の関数としての読み取りポインタ６１２及び書き込みポインタ６１４と６１６の作図を示す。図６Ａ及び６Ｂの例においては、バッファ位置は、バッファ内の画素位置に関して定義され、前記画素位置は、その他のあらゆるバッファ位置測定基準、例えば行番号、と等価で交換することができる。
【００５２】
図６Ａに関して、典型的バッファ読み取り／書き込み戦略がバッファの２つの読み取りサイクルに関して描かれている。時間０から時間ｔ１までの第１の読み取りサイクルにおいては、バッファの第１の半分が更新され、バッファの内容全体が読み取られる。時間ｔ１からｔ２までのバッファの第２の読み取りサイクルにおいては、バッファの第２の半分が更新され、バッファの内容全体が読み取られる。バッファの第１の半分は、第２の読み取りサイクル中においては、第１の読み取りサイクル中にバッファに書き込まれた更新情報を含むことに注目すること。バッファの第２の半分は、第２のサイクル中においては、第２の読み取りサイクル全体にわたって読み取りポインタ６１２に時間的に先行する書き込みポインタ６１４による指示に従って読み取られる前に更新される。従って、両方の読み取りサイクルにおいて、バッファから読み取られたデータは、該バッファの同じ更新サイクルに属しており、画像ティアリングは発生しない。
【００５３】
図６Ｂは、バッファの２つの読み取りサイクルにおける他の典型的なバッファ読み取り／書き込み戦略を示す。第１の読み取りサイクル中においては、バッファの第１の半分が時間ｔ０から時間ｔ１まで更新される。第２の読み取りサイクル中においては、バッファの第２の半分が時間ｔ１からｔ２まで更新される。バッファへの書き込みは第１のサイクル中の時間ｔ０において開始し、従って、第１のサイクル中には、書き込みプロセスに起因して、更新された内容ではなく最初の情報内容がバッファ全体から読み取られることに注目すること。他方、バッファへの書き込みは、第２のサイクル中の時間ｔ２に終了し、従って、第２のサイクル中に、バッファが読み取られるときには更新された情報内容がバッファ全体に入っている。このことは、第２の読み取りサイクル全体にわたって読み取りポインタ６１２よりも時間的に先行する書き込みポインタ６１２によって示される。従って、図６Ｂの例における両方の読み取りサイクルにわたって画像ティアリングは発生しない。
【００５４】
通信リンクを通じてのバッファ更新
本発明に従ってバッファを更新するための方法およびシステムは、様々な用途において使用することができる。一用途においては、上述されるように、バッファ更新手法は、ディスプレイと関連するフレームバッファを更新するために用いることができる。他の用途においては、バッファは、遠隔で更新され、この場合は、第１のプロセッサによって書き込まれて第２のプロセッサによって読み取られ、前記第１及び第２のプロセッサは、通信リンクを通じて通信する。例えば、前記第１及び第２のプロセッサは、図２に示されるようにＭＤＤＩリンクを通じて通信するＭＳＭベースバンドプロセッサ及びＬＣＤモジュールをそれぞれ表す。一定の用途においては、前記第１及び第２のプロセッサ間の同期化が要求される。
【００５５】
次に、通信リンクを通じてのバッファ更新を可能にするための同期化に関連する方法及びシステムが提供される。本明細書の教義に基づいて当業者によって理解されるように、提示される方法及びシステムの一定の側面は、同期化問題全般に対して適用可能であり、遠隔によるバッファ更新を可能にするための同期化に限定されない。
【００５６】
一側面においては、第１のプロセッサと第２のプロセッサとの間における同期化は、第２のプロセッサにおける第２のイベントによってトリガーされる第１のプロセッサにおける第１のイベントのスケジューリングを含む。このスケジューリングは、典型的には、前記第２のイベントが第２のプロセッサにおいて発生するごとに第１のプロセッサにおいて前記第１のイベントを引き起こす割り込みのトリガーを可能にするためにレジスタに書き込むことによって行われる。例えば、遠隔バッファ更新用途において、バッファが第１のプロセッサによって更新されて第２のプロセッサによって読み取られる場合は、前記第１のイベントは、バッファへの書き込みを開始する必要があることを表し、前記第２のイベントは、読み取りポインタがバッファの完全な読み取りサイクルを終了していることを表すことができる。これで、前記第２のイベントは、第２のプロセッサにおいてバッファ内の読み取り行の位置に基づいてトリガーすることができる。
【００５７】
他の側面においては、通信リンクを通じて同期化情報を搬送する方法が提供される。前記方法は、例えば上述されるようにバッファ更新に関連する同期化情報を中継するために採用することができる。図７は、第１のプロセッサと第２のプロセッサの間の通信リンクが休止モードにあるときに前記通信リンクを通じてタイミング情報を搬送するための方法を示すプロセス流れ図７００である。プロセス流れ図７００は、ステップ７１０において開始し、ステップ７１０は、前記第２のプロセッサにタイミング情報搬送するために前記第１のプロセッサにおける時間イベントをスケジューリングすることを含む。前記時間イベントは、特定の用途によって要求される周期的イベントであることができる。例えば、バッファ更新用途の場合は、前記時間イベントは、バッファ内の読み取り行の位置と関連づけることができる。
【００５８】
ステップ７２０は、前記時間イベントの発生時に前記第１のプロセッサによってリンクウェークアップを開始させることを含む。例えば、ＭＤＤＩリンクを通じてのバッファ更新の場合で、ＭＤＤＩクライアントが相互接続のＬＣＤモジュール側に所在する場合は、前記ＭＤＤＩクライアントは、バッファを更新すべきであることをＭＤＤＩホストに通知するためにデータ信号を論理信号に駆動することによってリンクウェークアップを開始することができる。
【００５９】
続いて、ステップ７３０は、前記第２のプロセッサ（例えば、ＭＤＤＩ相互接続のＭＳＭ側におけるＭＤＤＩホスト）においてリンクウェークアップを検出することと、前記検出されたリンクウェークアップタイミングを用いて、搬送中のタイミング情報に関して前記第１及び第２のプロセッサを同期化させること、とを含む。例えば、ＭＤＤＩリンクを通じてのバッファ更新である場合は、ＭＤＤＩホストがＭＤＤＩクライアントによるリンクウェークアップを検出時に、ＭＤＤＩホストは、バッファ更新開始時間に関して自己をＭＤＤＩクライアントと同期化することができる。
【００６０】
図７において説明される方法は、通信リンクを通じてあらゆる種類のタイミング情報を搬送するように拡張可能であり、バッファ更新同期化プロセスに限定されるものではないことが本明細書の教義に基づいて当業者によって理解することができる。前記方法の利点は、単にリンクをウェークアップさせることによってリンクをセーブして情報を搬送することである。
【００６１】
図８は、ＭＤＤＩ相互接続を通じてタイミング情報を搬送するためにリンクウェークアップを開始させるためのタイミング図例８００を示す。例えば、前記ＭＤＤＩ相互接続は、図２を参照して説明されるように、ＭＤＤＩホストがＭＳＭに所在してＭＤＤＩクライアントがＬＣＤモジュールに所在する相互接続であることができる。従って、前記MDDIクライアントは、前記ＭＤＤＩホストにバッファ更新情報を搬送するためのリンクウェークアップを開始させ、前記ＭＤＤＩホストは、ＬＣＤモジュール内に所在するバッファのリフレッシングを開始する。図８の例において、ｖｓｙｎｃ＿ｗａｋｅ信号８０２は、ｖｓｙｎｃ信号８０６に基づいてＭＤＤＩホストにおけるウェークアップを可能にするために前記ホストのレジスタに書き込まれた値を表す。前記ホストにおけるウェークアップは、ｖｓｙｎｃ＿ｗａｋｅ信号８０２の値がハイであるごとに発生する。Ｖｓｙｎｃ信号８０６は、クライアントにおいて発生してバッファ更新時間に関連する信号“ｖｅｒｔｉｃａｌ  ｓｙｎｃ”（垂直同期）を表す。例えば、ｖｓｙｎｃ  ８０６は、読み取りポインタがラップしてバッファの初めから読み取り中であるごとにハイになる。Ｌｉｎｋ＿ａｃｔｉｖｅ信号８０４は、ＭＤＤＩ相互接続のデータ信号がアクティブまたは休止のいずれであるかを表す。Ｍｄｄｉ＿ｃｌｉｅｎｔ＿ｗａｋｅｕｐ信号８０８は、ｖｓｙｎｃ  ８０６に応答してクライアントをウェークアップさせる、クライアントにおける信号を表す。
【００６２】
図８の例において、ｖｓｙｎｃ＿ｗａｋｅ８０２は、時間Ａにホストにおいて設定される。時間Ｂにおいて、ＭＤＤＩリンクが休止モードになる。時間Ｃにおいて、ｖｓｙｎｃ  ８０６がハイになり、バッファをホストによってリフレッシュする必要があることを示す。その結果、クライアントをウェークアップさせてリンクのウェークアップを開始するためにｍｄｄｉ＿ｃｌｉｅｎｔ＿ｗａｋｅｕｐ８０８もハイになる。クライアントは、相互接続のデータ信号を駆動することによってリンクウェークアップを開始し、リンクは、時間Ｄにおいてアクティブになる。続いて、ｖｓｙｎｃ＿ｗａｋｅ８０２及びｍｄｄｉ＿ｃｌｉｅｎｔ＿ｗａｋｅｕｐがゼロに戻り、ホストがリンクウェークアップを検出してクライアントにおけるバッファのリフレッシュを開始する。
【００６３】
結論
本発明の様々な実施形態が上述されている一方で、これらの実施形態は、限定するのではなく例示することのみを目的として示されているということが理解されるべきである。前記実施形態においては本発明の精神及び適用範囲を逸脱せずに形態及び詳細の様々な変更が可能であることが当業者に明確になるであろう。以上のように、本発明の規模及び適用範囲は、上述されるいずれの実施形態によっても限定されるべきではなく、請求項及びその同等物のみに従って範囲が定められるべきである。
【図１】
2011041290.tif 000003
【図１Ａ】
2011041290.tif 000004
【図２】
2011041290.tif 000005
【図３】
2011041290.tif 000006
【図４】
2011041290.tif 000007
【図５】
2011041290.tif 000008
【図６Ａ】
2011041290.tif 000009
【図６Ｂ】
2011041290.tif 000010
【図７】
2011041290.tif 000011
【図８】
2011041290.tif 000012
【手続補正書】
【提出日】平成22年10月4日(2010.10.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のプロセッサと第２のプロセッサの間の通信リンクを通じてタイミング情報を搬送するための方法であって、前記通信リンクは休止モードであり、
前記タイミング情報を前記第２のプロセッサに搬送するために前記第１のプロセッサにおいて時間イベントをスケジューリングすることと、
前記時間イベントの発生時に前記第１のプロセッサによるリンクウェークアップを開始させることと、
前記第２のプロセッサにおいて前記リンクウェークアップを検出し、前記検出されたリンクウェークアップタイミングを用いて、前記搬送されたタイミング情報に関して前記第１のプロセッサと前記第２のプロセッサを同期化させること、とを具備する、方法。
【請求項２】
前記通信リンクは、モバイルディスプレイデジタルインタフェース（ＭＤＤＩ）リンクを表す請求項１に記載の方法。
【請求項３】
前記第１及び第２のプロセッサは、ＭＤＤＩクライアント及びＭＤＤＩホストをそれぞれ表す請求項２に記載の方法。
【請求項４】
前記タイミング情報は、前記ＭＤＤＩリンクを通じて制御されているディスプレイと関連するバッファリフレッシュ時間を表す請求項３に記載の方法。
【外国語明細書】
2011041290000001.pdf