(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2021-525399(P2021-525399A)
(43)【公表日】2021年9月24日
(54)【発明の名称】ディスプレイを駆動するためのシステムおよび方法
(51)【国際特許分類】
G09G 5/00 20060101AFI20210827BHJP
H04N 5/66 20060101ALI20210827BHJP
【FI】
G09G5/00 520T
G09G5/00 550C
G09G5/00 555G
H04N5/66 A
H04N5/66 B
【審査請求】有
【予備審査請求】未請求
【全頁数】34
(21)【出願番号】特願2021-516541(P2021-516541)
(86)(22)【出願日】2019年5月23日
(85)【翻訳文提出日】2021年1月19日
(86)【国際出願番号】US2019033809
(87)【国際公開番号】WO2019226927
(87)【国際公開日】20191128
(31)【優先権主張番号】62/676,061
(32)【優先日】2018年5月24日
(33)【優先権主張国】US
(81)【指定国】
AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.UNIX
(71)【出願人】
【識別番号】520458598
【氏名又は名称】コンパウンド フォトニクス ユーエス コーポレイション
(74)【代理人】
【識別番号】110000176
【氏名又は名称】一色国際特許業務法人
(72)【発明者】
【氏名】アイバーソン,アンドリュー
(72)【発明者】
【氏名】ゲッツ,ハワード
(72)【発明者】
【氏名】サンズ,グレン
(72)【発明者】
【氏名】ファーガーソン,ケビン
【テーマコード(参考)】
5C058
5C182
【Fターム(参考)】
5C058BA05
5C058BA08
5C058BA13
5C058BA25
5C058BA35
5C058BB13
5C058BB14
5C058BB17
5C182AA03
5C182AA04
5C182AB33
5C182AC02
5C182AC03
5C182AC43
5C182BA14
5C182BA25
5C182BA28
5C182BA29
5C182BA56
5C182BC01
5C182BC11
5C182BC22
5C182BC25
5C182BC26
5C182BC41
5C182CA01
5C182CA11
5C182CB12
5C182CB44
5C182DA14
5C182DA18
5C182DA26
5C182DA44
5C182DA52
5C182DA66
(57)【要約】
画像システムは、画像システムの駆動シーケンスを動的に更新する。駆動シーケンスは、ディスプレイが動作する画像表示設定またはディスプレイ駆動特性である。画像システムは、1つ以上のセンサからの入力に少なくとも部分的に基づいて、駆動シーケンスを決定し得る。例えば、画像システムは、慣性測定ユニット、光センサ、カメラ、温度センサ、またはセンサデータを収集することができる他のセンサなどのセンサを含み得る。画像システムは、センサデータを分析して、駆動シーケンス設定を計算するか、またはいくつかの所定の駆動シーケンスから駆動シーケンスを選択し得る。ディスプレイ上に画像コンテンツを表示することは、ディスプレイに画像データを提供することを含み、さまざまな駆動シーケンスでディスプレイを操作することを含む。
【特許請求の範囲】
【請求項1】
駆動方式設定を動的に更新して、ディスプレイ内の画像データの表示を調整するための方法であって、
画像データを受信することと、
前記画像データを表示するときにディスプレイに適用する駆動シーケンスを決定することと、
1つ以上の画像データフレーム内に前記駆動シーケンスを前記画像データとマージすることと、
前記1つ以上の画像データフレームをディスプレイドライバに送信して、前記ディスプレイドライバが前記駆動シーケンスに従って前記ディスプレイを駆動できるようにすることと、を含む方法。
【請求項2】
前記駆動シーケンスは、前記ディスプレイの制御設定を含む駆動方式である、請求項1に記載の方法。
【請求項3】
1つ以上の画像センサ、ネットワーク接続、またはメモリ位置から前記画像データを受信することをさらに含み、
前記駆動シーケンスを前記画像データとマージすることは、前記駆動シーケンスを前記1つ以上の画像データフレームの行および/または列に挿入することを含む、請求項1に記載の方法。
【請求項4】
前記1つ以上の画像データフレームは、MIPI(モバイルインダストリプロセッサインターフェース)フォーマット、HDMI(登録商標)(high−definition multimedia interface)フォーマット、DP(ディスプレイポート)フォーマット、PCI−expressフォーマット、USBフォーマット、イーサネットフォーマット、およびWi−Fiフォーマットのうちの少なくとも1つでフォーマットされる、請求項1に記載の方法。
【請求項5】
前記駆動シーケンスは、信号変調特性、ピクセルの色持続時間、フレームレート、色サブフレームレート、ビット深度、色順次デューティサイクル、色域、ガンマ、持続性、駆動電圧、照明タイミング、照明強度、ディスプレイに送られる個々のビットプレーンのタイミング、ルックアップテーブル(LUT)、およびシリアルポートインターフェース(SPI)コマンドのうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項6】
1つ以上のセンサからセンサデータを受信することと、
少なくとも部分的に前記センサデータに基づいて、前記駆動シーケンスを決定することと、をさらに含む、請求項1に記載の方法。
【請求項7】
前記センサデータは、ディスプレイを基準としたユーザの目の向きを表す画像センサデータ、ディスプレイが動作している環境の照明強度を表すデータのうちの少なくとも1つを含む、請求項6に記載の方法。
【請求項8】
前記1つ以上の画像データフレームを受信することと、
前記画像データフレームから前記画像データおよび前記駆動シーケンスを解析することと、
前記駆動シーケンスで前記ディスプレイを構成することと、
前記画像データを前記ディスプレイに送信して、ユーザが見るための前記画像データを表示できるようにすることと、をさらに含む、請求項1に記載の方法。
【請求項9】
駆動シーケンスを決定することは、前記画像システムによって格納された所定の駆動シーケンスのグループから前記駆動シーケンスを選択することを含む、請求項1に記載の方法。
【請求項10】
駆動方式設定を動的に更新して、ディスプレイ内の画像データの表示を調整するように構成された画像システムであって、
画像データを取得するためのセンサデータ取得モジュールと、
駆動方式を決定し、前記駆動方式を画像データとマージして1つ以上の画像データフレームにするための駆動方式モジュールと、
前記1つ以上の画像データフレームから前記画像データおよび前記駆動方式を解析して、前記駆動シーケンスによって表される設定を備えたディスプレイに前記画像データを表示するためのディスプレイドライバモジュールと、を備える画像システム。
【請求項11】
前記センサデータ取得モジュールは、複数のセンサのうちの1つ以上からセンサデータを取得する、請求項10に記載の画像システム。
【請求項12】
前記駆動シーケンスモジュールは、少なくとも部分的に前記センサデータに基づいて前記駆動シーケンスを決定する、請求項11に記載の画像システム。
【請求項13】
前記駆動シーケンスをマージすることは、前記駆動シーケンスを前記1つ以上の画像データフレームの行および/または列に挿入することを含む、請求項10に記載の画像システム。
【請求項14】
前記駆動方式モジュールは、第1のプロセッサによって実行され、前記ディスプレイドライバモジュールは、第2のプロセッサによって実行される、請求項10に記載の画像システム。
【請求項15】
前記駆動シーケンスは、信号変調特性、ピクセルの色持続時間、フレームレート、色サブフレームレート、ビット深度、色順次デューティサイクル、色域、ガンマ、持続性、駆動電圧、照明タイミング、および照明強度のうちの少なくとも1つを含む、請求項10に記載の画像システム。
【請求項16】
駆動方式を動的に更新して、ディスプレイ内の画像データの表示を調整するための画像システムであって、
画像データを識別するための手段と、
前記画像データを表示するときにディスプレイに適用される駆動シーケンスを決定するための手段と、
1つ以上の画像データフレーム内に前記駆動シーケンスを前記画像データとマージするための手段と、
前記1つ以上の画像データフレームを、前記ディスプレイドライバモジュールに送信して、前記ディスプレイドライバモジュールが前記駆動シーケンスで前記ディスプレイを構成できるようにするための手段と、を備える画像システム。
【請求項17】
前記駆動シーケンスは、前記画像データがディスプレイによって表示される設定を定義する、請求項16に記載の画像システム。
【請求項18】
1つ以上のセンサからセンサデータを受信するための手段と、
少なくとも部分的に前記センサデータに基づいて、前記駆動シーケンスを決定するための手段と、をさらに備える、請求項16に記載の画像システム。
【請求項19】
前記駆動シーケンスは、信号変調特性、ピクセルの色持続時間、フレームレート、色サブフレームレート、ビット深度、色順次デューティサイクル、色域、ガンマ、持続性、駆動電圧、照明タイミング、および照明強度のうちの少なくとも1つを含む、請求項16に記載の画像システム。
【請求項20】
1つ以上のプロセッサによって実行されたときに、請求項1〜9のいずれか一項に記載の方法を含む動作をもたらす命令を格納したコンピュータ可読ストレージデバイス。
【請求項21】
プロセッサ回路をさらに備える、請求項10〜15のいずれか一項に記載の画像システム。
【請求項22】
請求項1〜9のいずれか一項に記載の方法を実行するための手段を備えるデバイス。
【発明の詳細な説明】
【背景技術】
【0001】
一般的な画像表示関連の特性としては、とりわけ、画像データのフレームレート、ディスプレイ内のピクセルの色持続時間、およびディスプレイの明るさが挙げられ、これらは、ディスプレイを駆動する駆動回路および/またはソフトウェアを介して制御され得る。これらの表示特性を使用して、表示される画像の明るさ、解像度、奥行き知覚、およびその他の視覚効果を制御できる。
【0002】
表示特性(例えば、ディスプレイのフレームレート、明るさ等)を再構成するためにいくつかの既存の画像レンダリング技術が採用されている場合、これらの既存の画像レンダリング技術では、ディスプレイをオフにするか、そうでなければ表示用コンテンツのレンダリングを中断して、その表示特性を再構成するかもしくは更新することを必要とする。場合によっては、これらの変更に数秒程度の時間がかかり、頻繁に画像レンダリングを一時的に終了しなければならないことがある。結果的に、画像システムにおいて表示特性を再構成するための既存の技術は、例えば、画像データがレンダリングされている間、表示特性のリアルタイムのおよび/または動的な再構成ができないことがある。
【0003】
請求された主題のさまざまな実施形態の特徴および利点は、以下の詳細な説明が進むにつれて、および以下の図面を参照することで明らかになるであろう。図面では、同様の数字は同様の部品を示す。
【図面の簡単な説明】
【0004】
【
図1A】本発明の実施形態による、駆動方式を動的に更新するように構成された画像システムの図の例である。
【
図1B】本発明の実施形態による、駆動方式を動的に更新するように構成された画像システムの図の例である。
【
図2】本発明の実施形態による、駆動方式アルゴリズムの簡略化された流れ図の例である。
【
図3】本発明の実施形態による、パーサアルゴリズムの簡略化された流れ図の例である。
【
図4】本発明の実施形態による、マージされた画像フレームの送信シーケンスの図の例である。
【
図5】本発明の実施形態による、マージされた画像フレームの送信シーケンスの例である。
【
図6A】本発明の実施形態による、プロセッサとディスプレイドライバとの間で駆動シーケンスを送信するためのマージされた画像フレームの例を示す。
【
図6B】本発明の実施形態による、プロセッサとディスプレイドライバとの間で駆動シーケンスを送信するためのマージされた画像フレームの例を示す。
【
図7A】本発明の実施形態による、プロセッサとディスプレイドライバとの間で駆動シーケンスを送信するためのオプションの制御構造の複数の例を含む、マージされた画像フレームの部分の例を示す。
【
図7B】本発明の実施形態による、プロセッサとディスプレイドライバとの間で駆動シーケンスを送信するためのオプションの制御構造の複数の例を含む、マージされた画像フレームの部分の例を示す。
【
図7C】本発明の実施形態による、プロセッサとディスプレイドライバとの間で駆動シーケンスを送信するためのオプションの制御構造の複数の例を含む、マージされた画像フレームの部分の例を示す。
【
図8】本発明の実施形態による、画像システムのモジュールのブロック図の例である。
【0005】
以下の詳細な説明は、例示的な実施形態を参照して進められるが、当業者にとってその多くの代替、修正、および変形が明らかであろう。
【発明を実施するための形態】
【0006】
以下の詳細な説明では、その一部を形成し、実施され得る実施形態を例示として示している添付の図面を参照する。範囲から逸脱することなく、他の実施形態を利用することができ、構造的または論理的な変更を行うことができることを理解されたい。したがって、以下の詳細な説明は、限定的な意味で解釈されるべきではなく、実施形態の範囲は、添付の請求の範囲およびそれらの均等物によって定義される。
【0007】
さまざまな動作が、実施形態を理解するのに役立ち得る方法で、順番に複数の個別の動作として説明され得る。ただし、説明の順序は、これらの動作が順序に依存していることを意味すると解釈されるべきではない。
【0008】
説明には、上/下、後/前、頂/底などの遠近法に基づく説明を使用することがある。そのような説明は、単に議論を容易にするために使用され、開示された実施形態の適用を制限することを意図するものではない。
【0009】
「結合された」および「接続された」という用語は、それらの派生語とともに使用されることがある。これらの用語は、相互の同義語として意図されたものではないことを理解されたい。むしろ、特定の実施形態では、「接続された」は、2つ以上の要素が互いに直接物理的に接触していることを示すために使用され得る。「結合された」とは、2つ以上の要素が直接物理的に接触していることを意味する場合がある。ただし、「結合された」とは、2つ以上の要素が互いに直接接触していないが、それでも互いに協働または相互作用していることを意味する場合もある。
【0010】
説明の目的上、「A/B」、「AまたはB」の形式、または「Aおよび/またはB」の形式の句は、(A)、(B)、または(AおよびB)を意味する。説明の目的上、「A、B、およびCのうちの少なくとも1つ」という形式の句は、(A)、(B)、(C)、(AおよびB)、(AおよびC)、(BおよびC)、または(A、B、およびC)を意味する。説明の目的上、「(A)B」の形式の句は、(B)または(AB)、すなわち、Aはオプションの要素であることを意味する。
【0011】
説明には、「実施形態(embodiment)」または「複数の実施形態(embodiments)」という用語を使用することがあり、これらはそれぞれ、同じまたは異なる実施形態のうちの1つ以上を指し得る。さらに、実施形態に関して使用される「備える(comprising)」、「備える(comprises)」、「含む(including)」、「有する(having)」などの用語は同義であり、一般に「オープン」用語として意図されている(例えば、「含む(including)」は、「〜を含むが、これに限定されない」と解釈されるべきであり、「有する(having)」という用語は、「少なくとも〜を有する」と解釈されるべきであり、「含む(includes)」という用語は、「〜を含むが、これに限定されない」と解釈されるべきである等)。
【0012】
本明細書における任意の複数形および/または単数形の用語の使用に関して、当業者であれば、文脈および/または用途に適切であるように、複数形から単数形へ、および/または単数形から複数形へと変換することができる。さまざまな単数形/複数形の順列が、明確にするために、本明細書で明示的に示される場合がある。
【0013】
ここで、図面を参照してさまざまな実施形態を説明し、同様の参照番号を使用して、全体を通して同様の要素を参照する。以下の説明では、説明の目的で、1つ以上の実施形態の完全な理解を促進するために、多数の特定の詳細が示されている。しかしながら、いくつかまたはすべての事例において、以下に説明される特定の設計の詳細を採用することなく、以下に説明される任意の実施形態を実施できることが明らかとなり得る。
【0014】
本明細書では、画像システムの表示特性を動的に再構成するための画像システムの実施形態が開示される。画像データをディスプレイにレンダリングする場合、ディスプレイはいくつかの表示特性に従って構成される。表示特性は、画像データがユーザによってどのように知覚されるかを決定し得る。表示特性を操作して、ユーザがディスプレイにレンダリングされた画像データを体験する方法を強化または変更し得る。本開示の画像システムは、画像システムのディスプレイにレンダリングされる画像データの表示および表示特性の動的な(例えば、リアルタイムであって中断されない)再構成を可能にする。
【0015】
説明のために、拡張現実(AR)ヘッドセットとして実装された画像システムでの表示特性の動的再構成の利点を考察する。ユーザがARヘッドセットを装着すると、ヘッドセットは通常、ユーザのリアルタイム環境の画像またはビデオにグラフィック、テキスト、指示、コントロール、またはその他の情報(すなわち、オーバーレイデータ)を重畳する。リアルタイム環境データは、(スチル、ビデオ、パノラマ、またはその他のカメラを介して)撮像によって取り込むことができ、ユーザが頭を左、右、上、または下に動かすと、画像オーバーレイデータも更新され、これに従って、オーバーレイデータも、ユーザの環境で左、右、上、または下にパンする。ユーザが頭を左、右、上、または下に動かすと、リアルタイム環境データも更新され得る。表示特性(例えば、スチル画像またはビデオ画像の表示特性)を動的に再構成する機能を使用して、ARヘッドセットは、ユーザの目が焦点を合わせていないヘッドセットディスプレイの領域を暗くする(例えば、ピクセルのグループの明るさまたはグレースケールレベルを変更する)ことができ、ユーザの目が焦点を合わせているヘッドセットディスプレイの領域の明るさを増加させることができる。同様に、ARヘッドセットは、ユーザの目が焦点を合わせていないヘッドセットディスプレイの領域における画像データの解像度および/またはフレームレートを低下させることができ、および/またはユーザの目が焦点を合わせているヘッドセットディスプレイの領域における画像データの解像度および/またはフレームレートを増加させることができる。表示特性の再構成は動的にかつユーザへの画像コンテンツの表示を中断することなく実行されるため、表示特性の再構成は、ユーザにはシームレスに見え、ユーザの全体的な視覚体験の質を高めるために使用され得る。さらに、その他の利点として、(例えば、所定の、またはユーザの実際の、既知の、または予想される環境に関するデータに基づいた)ユーザの好みに応じて(ヘッドセットディスプレイのピクセルに対応する)ヘッドセットディスプレイの焦点または位置の明るさ、グレースケールレベル、解像度、および/またはフレームレートを調整することにより、例えば、ヘッドセットディスプレイによる電力消費の低減および/またはヘッドセットディスプレイのユーザによって焦点を合わせられた画像の部分に対する改善された可視性をもたらし得る。これらの例示的な特徴は、駆動方式を画像データとマージし、駆動方式を画像データと共にディスプレイドライバ(例えば、ディスプレイソフトウェアモジュールおよび/またはハードウェア)に送信することによって、表示特性を動的に再構成する実施形態の文脈で以下に詳細に説明される。
【0016】
本明細書で使用される場合、「駆動方式」および「駆動シーケンス」という用語は、交換可能に使用され、それによってディスプレイに画像データを表示するために使用される表示特性が決定または変更される、本発明による方法を表す。「駆動方式」および「駆動シーケンス」という用語は、ディスプレイを動作させる、および/または構成するために使用してもよく、ディスプレイに特定の方法で画像データを表示させるためにディスプレイに適用される動作の表示モード、電力レベル、およびタイミング特性の設定を含み得る。
【0017】
図1Aおよび
図1Bは、本開示の実施形態と一致する、表示特性を動的に再構成するように構成された画像システム100の例示的な実装形態を示す。画像システム100は、画像データがディスプレイにレンダリングされる方法を調整しながら、画像データの中断のない表示を提供するために、表示特性を動的に再構成、更新、始動、開始、調整、変更、および/または修正することができる。ディスプレイでの画像データのレンダリングの方法を調整することで、画像データによるユーザ体験を動的にカスタマイズできる。画像データによるユーザ体験の動的なカスタマイズにより、例えば、ユーザの行動の変化または画像システム100によって収集もしくは感知される環境変数、または特定のユーザ、特定のユーザの環境、および/またはディスプレイデバイスが使用されている、もしくは使用される予定の特定の環境に対して事前に決定されている環境変数の変化に基づいて、例えば、2人の異なるユーザが同じ画像コンテンツで異なる体験を持つことを可能にする。画像システム100のこれらの特徴および態様のそれぞれは、以下でさらに詳細に説明される。
【0018】
図1Aは、本開示の実施形態と一致する、表示特性を動的に再構成するように構成された画像システム100の簡略図を示している。表示特性の動的再構成をサポートするために、画像システム100は、駆動方式モジュール122、ディスプレイドライバモジュール106、およびディスプレイ108を含み得る。
【0019】
駆動方式モジュール122は、画像データ128を駆動方式134(すなわち、表示特性)と組み合わせて画像データフレーム140にするように構成し得る。上記のように、駆動方式134(すなわち、表示特性)は、ディスプレイ108の表示特性を再構成、更新、始動、開始、調整、変更、および/または修正する設定を含み得る。画像データ128は、フレームまたはピクセル値の配列を表すデータ値を含み得る。画像データ128は、駆動方式134とマージまたは組み合わされて画像データフレーム140になり、これにより、駆動方式134に含まれる設定は、画像データ128の送信を中断することなく、ディスプレイドライバモジュール106に送信され得る。画像データフレーム140は、例えば、1つ以上のMIPI(「モバイルインダストリプロセッサインターフェース」)または修正されたMIPIインターフェースまたは通信プロトコルに従ってフォーマットされ得る。駆動方式モジュール122は、通信チャネル142(例えば、導電性バス、ネットワーク、無線インターフェース等)を介して画像データフレーム140をディスプレイドライバモジュール106に送信するように構成され得る。以下に説明するように、
図1Bに関連する説明では、駆動方式モジュール122は、追加の機能を含み得、1つ以上のセンサから受信した情報に少なくとも部分的に基づいて駆動方式134を定義または選択するように構成され得る。
【0020】
ディスプレイドライバモジュール106は、駆動方式モジュール122から受信した画像データフレーム140を使用してディスプレイ108を動作させるように構成され得る。ディスプレイドライバモジュール140は、画像データフレーム140内に含まれる情報(例えば、駆動方式134)を使用して、ディスプレイ108を動作させ得る。ディスプレイドライバモジュール140は、画像データ128および駆動方式134を画像データフレーム140から分離または解析し得る。ディスプレイドライバモジュール140は、画像データ128および駆動方式134を一時的に格納し得る。ディスプレイドライバモジュール140は、駆動方式134内に含まれる表示特性を使用して、ディスプレイ108の動作を構成し得、ディスプレイドライバモジュール140は、画像データ128をディスプレイ108に提供して、駆動方式134の表示特性と共に表示し得る。駆動方式134を受信し、解析し、ディスプレイ108に適用することにより、ディスプレイドライバモジュール140は、ディスプレイ108を用いた表示特性の動的再構成をサポートする。以下に説明するように、
図1Bに関連する説明では、ディスプレイドライバモジュール140は、ディスプレイ108を用いた表示特性の動的再構成を容易にするための追加の特徴を含み得る。
【0021】
ディスプレイドライバモジュール106は、駆動方式134の選択および/または定義の個別の実装形態を可能にする。ディスプレイドライバモジュール106は、駆動方式134に含まれる表示特性または表示パラメータ(例えば、解像度、電力レベル等)を受信および解釈するように構成され得るので、開発者は、駆動方式134を定義する固有のアプリケーションを作成し得る。換言すれば、駆動方式モジュール122は、ディスプレイドライバモジュール106から独立しているプロセス、ソフトウェアアプリケーション、または回路として実装され得、1人以上の開発者が彼らの好みに従って駆動方式134を更新することを可能にする。ディスプレイドライバモジュール106および駆動方式134のこの特性は、画像システム100によってサポートされる表示特性の動的再構成の多様でカスタマイズされたアプリケーションを可能にする。
【0022】
一実施形態によれば、1つ以上のプロセッサ154は、駆動方式モジュール122への命令を実行する第1のプロセッサを含み得、ディスプレイドライバモジュール106への命令を実行する第2のプロセッサを含み得る。第1のプロセッサおよび第2のプロセッサは、2つの異なるタイプのプロセッサとして実装され得る。1つ以上のプロセッサ154は、GPU(「グラフィックス処理ユニット」)、SOC(「システムオンチップ」)、CPU(「中央処理装置」)、DSP(「デジタルシグナルプロセッサ」)、ASIC(「特定用途向け集積回路」)などを含み得る。
【0023】
図1Bは、本開示の実施形態による、表示特性の動的再構成をサポートするために、画像システム100が含み得る追加の潜在的な特徴を示す。画像システム100は、一実施形態による、ソフトウェアモジュール、例えば、センサデータ取得モジュール101、画像データ処理モジュール104、ディスプレイドライバモジュール106、およびディスプレイ108を含み得る。これらのコンポーネントは、いくつかのデバイスのうちの1つ以上のものとして実装され得る。
【0024】
センサデータ取得モジュール101は、画像システム100によってさまざまなセンサから取得され得るセンサデータ103を取得、受信、および/または格納し得、少なくとも1つのストレージおよび/またはメモリデバイスを含み得る。駆動方式モジュール122に関連して以下に説明するように、画像システム100は、センサデータ取得モジュール101を使用して、駆動方式モジュール122とディスプレイドライバモジュール106との間で送信される表示特性を選択または定義し得る。センサデータ取得モジュール101は、センサの具体的な例示的かつ非網羅的な例として、慣性測定センサ110、周囲光センサ112、温度センサ114、画像センサ116、および視線追跡センサ118からのデータを含み得る。他のセンサが使用されてもよい。
【0025】
慣性測定ユニット111は、力、角速度、および磁場のうちの1つ以上を測定するデバイスである。当業者によって理解されるように、慣性測定ユニット111は、画像システム100の加速度および/または位置変化を測定するために、1つ以上の加速度計、ジャイロスコープ、または他の慣性測定センサ110を含み得る。
【0026】
周囲光ユニット113は、画像システム100が動作する環境における光レベルの量を検出し得る。周囲光ユニット113は、センサデータを生成するための周囲光センサ112を含み得る。周囲光ユニット113は、光レベルを感知し、ユーザの環境で検出された光の量を表す数を提供するように構成された低解像度(例えば、1.3メガピクセル)の画像センサで実装され得る。周囲光ユニット113は、ソニー、オン・セミコンダクター、サムスン、シャープ、オムニビジョンなどによって製造されたものなど、1.3、2、3、5、または8メガピクセルのCMOS画像センサまたはCCD画像センサであり得る。周囲光ユニット113は、当業者によって理解されるように、別のタイプの周囲光センサを含み得るか、または別のピクセル解像度を有し得る。
【0027】
温度ユニット115は、温度センサ114を含み得、ディスプレイおよび/または画像システム100が動作する環境の温度を検出するように構成され得る。温度ユニット115は、サーミスタ、単線デジタル温度センサ、または当業者に知られている他のタイプの温度センサを用いて実施され得る。
【0028】
画像ユニット117は、画像センサ116を含み得、画像システム100が動作する環境から画像データを取得し得る。画像ユニット117は、画像データを生成するために、周期的な間隔(すなわち、フレームレート)で連続する画像を取得し得る。画像ユニット117は、画像システム100が動作している環境から画像データを取り込むために、画像システム100のユーザから離れた方に向けてもよい。画像ユニット117は、ソニー、オン・セミコンダクター、サムスン、シャープ、オムニビジョンなどによって製造されたものなど、1.3、2、3、5、または8メガピクセルのCMOS画像センサまたはCCD画像センサを含み得る。画像ユニット117は、当業者によって理解されるように、別のタイプの画像センサを含み得るか、または別のピクセル解像度を有し得る。
【0029】
視線追跡ユニット119は、視線追跡センサ118を含み得、画像システム100を動作させるユーザから画像データを取得し得る。視線追跡ユニット119は、画像データを生成するために、周期的な間隔で連続する画像を取得し得る。視線追跡ユニット119は、ユーザの目の画像データの取得を容易にするために、ユーザ指向であるように画像システム100内に配置され得る。視線追跡ユニット119は、ソニー、オン・セミコンダクター、サムスン、シャープ、オムニビジョンなどによって製造されたものなど、1.3、2、3、5、または8メガピクセルのCMOS画像センサまたはCCD画像センサを含み得る。視線追跡ユニット119は、当業者によって理解されるように、別のタイプの画像センサを含み得るか、または別のピクセル解像度を有し得る。
【0030】
センサデータ取得モジュール101によって取得されるセンサデータ102は、上記のように、および当業者によって理解されるように、センサ110、112、114、116、および/または118から直接、慣性測定ユニット111、周囲光ユニット113、温度ユニット115、画像ユニット117、および/または視線追跡ユニット119のうちの1つ以上から取得され得るデータを表す。本発明の一実施形態では、各センサユニット111、113、115、117、119は、ストレージおよび/またはメモリデバイスを含み得る。本発明の一実施形態では、センサ110、112、114、116、または118は、その対応するセンサユニット111、113、115、117、119内に、またはセンサユニットの外部に組み込まれ得る。例えば、慣性測定センサ110は、慣性測定ユニット111に配置または組み込まれ得る。
【0031】
画像データ処理モジュール104は、上で論じたセンサデータ取得モジュール101、センサデータ102、および/またはセンサ110、112、114、116、および118に少なくとも部分的に基づいて、表示特性を定義または選択するために使用され得るモジュール(すなわち、ソフトウェアモジュール)を含む。画像データ処理モジュール104は、画像データを表示特性と組み合わせて、ディスプレイのユーザへの画像データの表示を中断することなく、表示特性の動的再構成を可能にするように構成される。この機能をサポートするために、画像データ処理モジュール104は、画像データモジュール120および駆動方式モジュール122を含み得る。
【0032】
本発明の一実施形態では、画像データモジュール120は、画像データを取得およびフォーマットするための命令を生成する回路および/またはソフトウェアモジュールを含み得る。本発明の一実施形態では、画像データモジュール120は、それ自体が画像データを取得およびフォーマットし得る。例えば、画像データモジュール120は、一実施形態によれば、画像データ124(例えば、生画像データ)を取得および/または受信し、フォーマット命令126を適用して、フォーマット済み画像データ127を生成し得る。画像データモジュール120は、画像システム100に、センサデータ102の少なくとも一部を生成する画像センサのうちの1つ以上から画像データ124を取得させ得る。画像データモジュール120は、画像システム100に、当業者によって理解されるように、無線接続(例えば、Wi?Fi、LTE等)から受信された、ストレージデバイス(例えば、ハードディスクドライブ、ソリッドステートドライブ等)から受信された、メモリ(例えば、ランダムアクセスメモリ)から読み取ったものなどのインターネットを介したダウンロードなどであるが、これに限定されない、1つ以上の他のソースから画像データ124を取得させ得る。
【0033】
画像データモジュール120は、1つ以上の画像フォーマットで画像データ124を受信し得、フォーマット命令126を実行して、画像データ124を1つ以上の他の画像フォーマットに変換し得る。画像データ124は、当業者に知られているように、例えば、画像データを構成する各画像の各ピクセルの赤、緑、青(RGB)値を含み得る。画像データ124が変換され得、かつフォーマット済み画像データ127がフォーマットされ得る画像フォーマットの非網羅的なリストとして、VP8、VP9、AV1、VP6、Sorenson Spark、H.264、H.262、MPEG−1、MPEG−2、Theora、Dirac、MPEG−4、Windows media image、RealVideo、H.263、Adobe Flash Platform、および当業者に世知られている任意の他の画像フォーマットが挙げられるが、これらに限定されない。画像データモジュール120は、一実施形態によれば、市販されている、オープンソースである、または他の方法で開発された、1つ以上の画像データ変換アルゴリズムを使用し得る。
【0034】
本発明の一実施形態によれば、フォーマット命令126は、画像データモジュール120に、画像データ122の特定のピクセル値フォーマットを適用させ得る。ピクセル値形式の例としては、ビットプレーンフォーマット、ニブルフォーマット、およびバイトフォーマットが挙げられる。これらのフォーマットタイプのそれぞれは、画像を構成する個々のピクセルの色成分を管理するためにわずかに異なる技術を利用する。
【0035】
ビットプレーンフォーマットは、例えば、画像データから引き出された画像データ内のすべてのピクセルのすべての赤成分のビット7を含み得る。次に、これらの赤ビットをメモリにまとめてパッキングし、このプロセスをすべての色のビットごとに繰り返し得る。
【0036】
ニブルフォーマットは、各ピクセルの色ごとに4ビットの情報を表す(例えば、赤について4ビット、緑について4ビット、青について4ビット)。ニブルフォーマットのデータをメモリにまとめてパッキングし、単一のピクセルの上位4ビットの赤データ(例)が他の画像データから分離されてこれらの4ビットが連続してフレームバッファに格納されるようにし得る。このプロセスは、すべての赤情報が抽出されて連続してまとめてパッキングされるまで繰り返される。次に、このプロセスを緑と青のピクセルに対して繰り返し得る。
【0037】
バイトフォーマットプロセスは、ニブルプロセスに似ているが、赤データ(例)の8ビットすべてを個別に連続して抽出してパッキングされ得る。同様に、このプロセスを緑と青に対して繰り返し得る。各ピクセルは、色ごとに8ビット超で、位置合わせを目的としたダミービット有りまたは無しで表現され得る。
【0038】
駆動方式モジュール122は、少なくとも部分的にセンサデータ102に基づいて、画像データ128に適用するための駆動方式134を定義または選択し得る。駆動方式モジュール122は、駆動方式134を画像データ128とマージして、ディスプレイ108の表示特性の動的再構成を可能にし得る。本明細書で使用される場合、「駆動方式」および「駆動シーケンス」という用語は、交換可能に使用され、ディスプレイ108に画像データを表示するために使用される表示特性を表す。駆動方式134を構成し得る表示特性としては、以下に限定されるのもではないが、信号変調特性、ピクセルの色持続時間、フレームレート、色サブフレームレート、ビット深度、色順次デューティサイクル(照明効率)、タイミング、色域、ガンマ、輝度、持続性、駆動電圧、照明タイミング、および照明強度、ディスプレイに送られる個々のビットプレーンのタイミング(これらは、液晶ディスプレイがビット深度および温度に応じて調整され得る各グレーレベルの状態を
いつ変更するかを決定し得る)、グレーレベルごとに
どの液晶表示状態の変更が起こるかを決定し得るルックアップテーブル(LUT)、ならびにシリアルポートインターフェース(SPI)コマンド(ディスプレイまたは他のシステムコンポーネントに送られるさまざまなSPIコマンドのタイミングおよびリテラル値を含む。)を含み、これらはすべて、当業者によって理解される画像特性である。
【0039】
駆動方式を定義または選択し、駆動方式を画像データとマージするために、駆動方式モジュール122は、駆動方式アルゴリズム130を実行して、マージされた画像データ132を生成し得る。駆動方式アルゴリズム130の動作方法の一実施形態を、方法200(
図2に示す)に関連して以下に説明する。
【0040】
駆動方式アルゴリズム130は、画像システム100に、少なくとも部分的にセンサデータ102またはセンサデータ取得モジュール101に基づいて、駆動方式134を定義または選択させ得る。上記のように、センサデータ102の例としては、慣性測定センサ110からのデータ、周囲光センサ112からのデータ、温度センサ114からのデータ、画像センサ116からのデータ、および視線追跡センサ118からのデータが挙げられるが、これらに限定されない。
【0041】
駆動方式アルゴリズム130は、一実施形態によれば、センサデータ102に基づいて、駆動方式134を定義する。駆動方式アルゴリズム130は、所定のセンサデータ特性を所定の表示特性とマッピングすることにより、センサデータ102に基づいて駆動方式134を定義する。例えば、視線追跡センサ118からのデータは、画像システム100のユーザがディスプレイ108の左側可視領域を見ていることを示し得る。ユーザの目が左側を向いていることは、ディスプレイ108の右側可視領域の解像度を下げてディスプレイ108の左側可視領域の解像度を上げるなど、所定の表示特性にマッピングされる所定のセンサデータ特性とすることができる。他の所定のセンサ特性は、他の表示特性に対応するようにマッピングされ得、これにより、センサ110、112、114、116、および118からのセンサデータ102の値の組み合わせは、駆動方式134を定式化する表示特性の組み合わせとなる。駆動方式アルゴリズム130はまた、少なくとも部分的に1つ以上のモードまたは設定に基づいて、駆動方式134を定義し得る。例示的なモードまたは設定としては、省電力モード、3D強調モード、拡張現実(AR)モード、仮想現実(VR)モードなどが挙げられる。
【0042】
駆動方式アルゴリズム130は、一実施形態によれば、少なくとも部分的にセンサデータ102またはセンサデータ取得モジュール101に基づいて、所定の駆動方式136から駆動方式134を選択する。所定の駆動方式136は、画像システム100内のデータストア138(例えば、データベース、データ構造、ハードディスクドライブ等)に格納され得る。駆動方式アルゴリズム130は、例えば、低い/明るい光レベル、ユーザの目の方向(目が左、右、上、または下を向いている等)、上昇/下降した温度、画像システム100の動き(上、下、左、右)、および他のセンサデータ特性に関連する所定の駆動方式136に基づいて、駆動方式134を選択し得る。
【0043】
駆動方式モジュール122は、ディスプレイドライバモジュール106への画像データ128の配信を中断しない技術を使用して、駆動方式134を画像データ128とマージする。画像データ128は、画像データ124および/またはフォーマット済み画像データ127を含み得る。マージされた画像データ132は、一連の画像データフレーム140として送信され得る。データフレームは、デジタル通信で一般的に使用され、データフレームの受信側がデータフレームから情報を抽出できるようにする繰り返し可能なフォーマットを有する情報の行と列の配列を指す。デジタル画像技術およびデジタルビデオ技術では、データフレームは通常、ピクセル値を表す数値の行と列が含む。各データフレームは、識別情報(例えば、タイムスタンプ、フレーム番号、ピクセル数等)を含むフレームヘッダを有し得る。一実施形態によれば、いくつかのプロトコル実装形態において、フレームヘッダを必要としてもよい。各データフレームは、送信されるデータ(例えば、ピクセル値)を含むフレーム本体を含み得る。当業者によって理解されるように、さまざまなタイプのフォーマットのデータフレーム(カスタムまたは標準の)を使用し得る。
【0044】
本開示の一実施形態によれば、駆動方式モジュール122は、画像データフレーム140をMIPI画像フレームにフォーマットする。MIPI画像フレームは、画像フレームの一部のピクセルを駆動方式(制御構造)情報に置き換えるように変更されている。MIPI画像フレームは、1つの特定の例示的な実装形態であるが、他の画像またはビデオフォーマットもまた、駆動方式モジュール122によって使用され得る。駆動方式と画像データの同時送信に使用または変更され得る他の画像またはビデオフォーマットの例としては、HDMI(登録商標)(high−definition multimedia interface)、DP(ディスプレイポート)、PCI−express、USB、イーサネット、およびWi−Fiが挙げられるが、これらに限定されない。駆動方式で置き換えられるピクセル数は、駆動方式を定義するために使用されるバイト数(例えば、256バイト)によって定義され得る。
【0045】
マージされた画像データ132の画像データフレーム140のそれぞれは、駆動方式134のために予約されたバイト数および画像データ128のために予約されたバイト数を含み得る。一実施形態によれば、画像データフレーム140のそれぞれが駆動方式モジュール122からディスプレイドライバモジュール106に送信されるとき、駆動方式134は、画像データ128と共に送信される。駆動方式134を画像データ128と共に送信することにより、駆動方式モジュール122は、表示特性の動的再構成を可能にし得る。駆動方式モジュール122によって選択された駆動方式134が以前に送信された駆動方式134と同じである場合、駆動方式134は再送信されなくてもよく、駆動方式134によって使用される画像データフレーム140のバイト数は未使用になってもよい。画像データフレーム140の駆動方式134の部分は、情報が最終的にディスプレイ108による画像データの表示方法を制御するために使用され得るので、制御構造と称してもよい。駆動方式134のために予約されたバイトを使用する画像データフレームの例を、
図4に示し、以下でさらに詳細に説明する。駆動方式アルゴリズム130は、当業者によって理解されるように、画像データフレーム140を毎秒60、120、240等のフレームの速度でディスプレイドライバモジュール106に送信し得る。
【0046】
駆動方式モジュール122は、画像システム100に他の技術を採用させて、駆動方式134をディスプレイドライバモジュール106に送信させ得る。一例として、いくつかの通信プロトコルは、画像フレーム間のバッファとして未使用のデータフレームの送信を含む。一実施形態では、駆動方式モジュール122は、画像システム100に、画像フレーム間に含まれる未使用のバッファデータフレームに駆動方式134を挿入させる。未使用のデータフレームをバッファまたはブランキング間隔として送信する通信プロトコルの一例は、MIPIプロトコルである。一実施形態では、駆動方式モジュール122は、駆動方式134をMIPIプロトコルデータフレームのブランキング間隔に挿入して、画像フレーム128と共にディスプレイドライバ106に駆動方式134を転送する。駆動方式134を伝送するためにブランキング間隔を使用する画像データフレームの例を、
図5に示し、以下でさらに詳細に説明する。画像データ128間のブランキング間隔内に駆動方式134を送信することにより、駆動方式モジュール122は、表示特性の動的再構成を可能にする。
【0047】
駆動方式モジュール122は、一実施形態によれば、画像システム100に、通信チャネル142を介して画像データフレーム140をディスプレイドライバ104に送信させる。駆動方式モジュール122は、いくつかのフォーマットのうちの1つ以上で、通信チャネル142を介して画像データフレーム140を送信し得る。フォーマットの例としては、HDMI(登録商標)(high−definition multimedia interface)、MIPI、DP(ディスプレイポート)、PCI−express、USB、イーサネットなどが挙げられる。通信チャネル142は、有線または無線の通信チャネル(例えば、USB、PCI−express、Wi−Fi等)であり得る。
【0048】
ディスプレイドライバモジュール106は、画像データフレーム140を受信し、画像データフレーム140に含まれる駆動方式134でディスプレイ108を制御するように構成され得る。ディスプレイドライバモジュール106はまた、画像データ128をディスプレイ108に提供し得、これにより、画像データ128は、ユーザが見るためにディスプレイ108によって表示され得る。ディスプレイドライバモジュール106は、画像データ128の中断のない表示を提供しながら、駆動方式134に含まれる表示特性でディスプレイ108を再構成するように構成され得る。
【0049】
画像システム100内で表示特性を動的に再構成するために、ディスプレイドライバモジュール106は、パーサモジュール144および画像出力モジュール146を含む。パーサモジュール144は、パーサモジュール144内でいくつかの動作を実行し得るパーサアルゴリズム148を含み、ディスプレイドライバモジュール144が画像データ128および駆動方式134の両方を処理することを可能にし、画像データの表示を中断することなく表示を動的に更新することをサポートする。パーサアルゴリズム148は、ディスプレイドライバモジュール106に、ディスプレイドライバモジュール106と共に画像データフレーム140を受信させ得る。パーサアルゴリズム148は、ディスプレイドライバモジュール106に、駆動方式134および画像データ128を画像データフレーム140から解析または分離させ得る。パーサアルゴリズム148は、画像データ128をディスプレイ108に提供する前に、例えば一時的に、ディスプレイドライバモジュール106に駆動方式および画像データ128を格納させ得る。
【0050】
パーサアルゴリズム148は、駆動方式134および画像データ128を画像データフレーム140から分離するためのいくつかの動作のための命令を含み得る。動作の例としては、データフレーム140を受信すること、データフレームの一部(例えば、第1の行)を識別する1つ以上の同期バイトをデータフレーム140から検索すること、およびデータフレーム140の部分(例えば、バイト、行、列等)を所定の変数(例えば、データ解像度、コマンド詳細、ルックアップテーブルの一部、画像フレーム内のピクセル等)にマッピングすることが挙げられるが、これらに限定されない。動作は、駆動方式134を画像データ128から分離するなどのサブ動作を実行するために変数を使用することを含み得る。
【0051】
一実施形態によれば、駆動方式134を画像データフレーム140から分離すると、パーサアルゴリズム148は、ディスプレイドライバモジュール106に、駆動方式134を駆動方式ストレージ150に格納させ得る。駆動方式ストレージ150は、ディスプレイドライバモジュール106内の揮発性または不揮発性メモリであり得る。駆動方式ストレージ150はまた、画像システム100内のディスプレイドライバモジュール106によって使用するために割り当てられた揮発性または不揮発性メモリとして実装され得る。
【0052】
画像データ128を画像データフレーム140から分離すると、パーサアルゴリズム148は、画像システム100に、画像データ128を画像データストア152に格納させ得る。画像データストア152は、ディスプレイドライバモジュール106によって使用するために割り当てられた揮発性または不揮発性メモリとして実装され得る。
【0053】
ディスプレイドライバモジュール106は、ディスプレイ108上の画像表示設定を再構成しかつ画像データ128をディスプレイ108に提供して画像データ128をディスプレイ108に表示する画像出力モジュール146を含む。画像出力モジュール146は、駆動方式ストレージ150から駆動方式134を読み取るように構成され得る。画像出力モジュール146は、画像データストア152から画像データ128を読み取るように構成され得る。画像出力モジュール146は、駆動方式134の表示特性を使用して、ディスプレイ108に表示特性を提供することによってディスプレイ108を再構成する。その結果、画像データ処理モジュール104と併せて、ディスプレイドライバモジュール106の動作は、画像システム100が、ディスプレイ108による画像データの表示を中断することなく、ディスプレイ108の画像表示設定を動的に再構成することを可能にし得る。
【0054】
画像システム100は、センサデータ画像取得モジュール101、画像データ処理モジュール104、およびディスプレイドライバモジュール106を動作させるように構成された1つ以上のプロセッサ154を含み得る。一実施形態では、第1のプロセッサは、センサデータ取得モジュール(例えば、ソフトウェアモジュールの命令)および画像データ処理モジュール104を実行し、第2のプロセッサは、ディスプレイドライバモジュール106を動作させる。1つ以上のプロセッサ154は、さまざまな実施形態によれば、1つ以上のシステムオンチップ(SOC)、デジタル信号プロセッサ(DSP)、グラフィカル処理ユニット(GPU)、特定用途向け集積回路(ASIC)、および/または他のプロセッサを表し、当業者よって理解されるものである。
【0055】
一実施形態によれば、1つ以上のプロセッサ154は、第1のメモリ156からセンサデータ取得モジュールおよび画像データ処理モジュール104を読み取って実行するように構成される。一実施形態によれば、1つ以上のプロセッサ154は、第2のメモリ158からディスプレイドライバモジュール106を読み取って実行するように構成される。第1のメモリ156および第2のメモリ158は、さまざまな実装形態によれば、共有され得るか、または独立して実装され得るRAM、フラッシュ、他の揮発性メモリ、他の不揮発性メモリ、ハードディスクドライブ、および/またはソリッドステートドライブであり得る。
【0056】
ディスプレイ108は、画像データを表示するか、そうでなければ視覚的に表すために使用され得る回路または他のハードウェアを表す。ディスプレイ108は、マイクロディスプレイ、タッチスクリーン、モニタ、プロジェクタ、または当業者によって理解される他のディスプレイ装置として実装され得る。
【0057】
図2は、一実施形態による、駆動方式を画像データフレーム内の画像データとマージする方法200を示す。方法200は、センサデータ取得モジュール101および/または画像データ処理モジュール104によって実行され得る動作を含む。
【0058】
一実施形態によれば、動作201において、方法200が開始する。一実施形態によれば、動作201は動作202に進む。
【0059】
一実施形態によれば、動作202において、方法200は、センサデータを受信することを含む。センサデータは、複数のセンサのうちの1つ以上から受信し得る。複数のセンサは、慣性測定センサ、周囲光センサ、温度センサ、画像センサ、および視線追跡センサを含み得るが、これらに限定されない。センサデータは、センサまたはセンサを収容する1つ以上のユニット(例えば、慣性測定ユニット、周囲光ユニット、温度ユニット、画像ユニット、視線追跡ユニット等)から直接センサデータを要求するように構成されたセンサデータ取得(ソフトウェア)モジュールによって、複数のセンサのうちの1つ以上から取得し得る。一実施形態によれば、動作202は動作204に進む。
【0060】
一実施形態によれば、動作204において、方法200は、画像データを受信することを含む。一実施形態によれば、画像データは、複数の連続して取り込んだ画像のピクセルの行および列を表すデータであり得る。画像データは、例えば、1つ以上の画像センサから画像データを要求および/または受信するように構成されたセンサデータ取得モジュールを用いて要求および取得され得る。画像データは、ネットワーク接続から、メモリから、または画像データが格納またはホストされている他のある位置から画像データを要求および/または受信するように構成された画像データモジュールによって取得され得る。
図1に関連した上記のように、画像データは、いくつかの画像フォーマットタイプのうちの1つ以上にフォーマットされ得る。一実施形態によれば、動作204は動作206に進む。
【0061】
一実施形態によれば、動作206において、方法200は、少なくとも部分的にセンサデータに基づいて、駆動方式を定義または選択することを含む。駆動方式は、少なくとも部分的にセンサデータに基づいて、複数の所定の駆動方式から選択され得る。駆動方式は、少なくとも部分的にセンサデータに基づいて定義され得る(例えば、異なる環境光レベル、異なる環境温度、さまざまな眼球運動等を表すセンサデータに基づいて、異なる駆動方式が生成され得る)。一実施形態によれば、動作206は動作208に進む。
【0062】
一実施形態によれば、動作208において、方法200は、駆動方式を画像データと共に画像データフレームに挿入して、駆動方式を画像データフレーム内の画像データと同時に送信することを含む。方法200は、駆動方式を画像データフレーム内の画像データと同時に送信することにより、ユーザへのディスプレイ上の画像の表示を中断することなく、画像システムが表示特性を動的に再構成することを可能にし得る。一実施形態によれば、動作208は動作210に進み、そこで方法200は終了する。
【0063】
例示的な例として、周囲光センサが、画像システムが低光環境(例えば、暗闇)で使用されていることを示す場合、方法200は、ディスプレイまたはディスプレイによって表示される画像データの照明強度を低下させる駆動方式を生成、選択、またはそうでなければ決定して使用し得る。一実施形態によれば、別の例として、視線追跡センサが、ユーザの目がディスプレイの左側に向けられていることを示す場合、方法200は、ディスプレイの右側に表示されるオブジェクトの焦点または解像度を低下させながらディスプレイの左側に表示されるオブジェクトの焦点または解像度を増加させる駆動方式を生成、選択、またはそうでなければ決定して使用し、ユーザの没入効果を高めかつディスプレイを見ている間のユーザの体験をパーソナライズし得る。
【0064】
図3は、一実施形態による、ディスプレイドライバモジュール106(
図1に示される)などのディスプレイドライバモジュールを動作させる方法300を示す。ディスプレイドライバモジュールを動作させる方法300は、パーサアルゴリズム148(
図1に示される)によって少なくとも部分的に実行される動作の例である。
【0065】
一実施形態によれば、動作301において、方法300が開始する。一実施形態によれば、動作301は動作302に進む。
【0066】
一実施形態によれば、動作302において、方法300は、駆動方式および画像データを含む画像データフレームを受信することを含む。駆動方式は、特定の方法で画像データを表示するようにディスプレイを再構成するための表示特性を含む。画像データは、当業者に知られているように、いくつかの既存の画像データフォーマット技術のうちの1つ以上を使用してフォーマットされたフォーマット済み画像データであり得る。一実施形態によれば、動作302は動作304に進む。
【0067】
一実施形態によれば、動作304において、方法300は、画像データフレームから駆動方式および画像データを解析することを含む。ディスプレイ駆動モジュールは、当業者に知られているいくつかの技術を使用して、画像データおよび駆動方式を画像データフレームから解析または分離し得る。一実装形態では、ディスプレイ駆動モジュールは、画像データフレーム内のどのバイトが特定の制御構造設定を表し、どのバイトが画像データを表すかについてのハードコードされたマッピングを含む。ディスプレイ駆動モジュールは、バイトの値を、画像データフレーム内に含まれる情報を追加の操作(例えば、格納、送信等)を実行するために使用される(ソフトウェア)変数に保存し得る。一実施形態によれば、動作304は動作306に進む。
【0068】
一実施形態によれば、動作306において、方法300は、駆動方式を駆動方式ストレージに格納することを含む。駆動方式ストレージは、ディスプレイドライバモジュール内に含まれるか、またはディスプレイドライバモジュールによって使用するために割り当てられた、揮発性および/または不揮発性メモリを含み得る。一実施形態によれば、動作306は動作308に進む。
【0069】
一実施形態によれば、動作308において、方法300は、画像データを画像データストアに格納することを含む。画像データストアは、ディスプレイドライバモジュールによって使用するために割り当てられた揮発性および/または不揮発性メモリを含み得る。一実施形態によれば、動作308は動作310に進む。
【0070】
一実施形態によれば、動作310において、方法300は、駆動方式を画像データ(例えば、フォーマット済み画像データ)と任意選択的に再結合することを含む。画像フォーマットモジュールを使用して、駆動方式を画像データと再結合し得る。一実施形態によれば、動作310は、動作312に進む。
【0071】
一実施形態による、動作312において、方法300は、駆動方式によって定義された表示特性に従ってディスプレイを構成することを含む。一実施形態によれば、動作312は動作314に進む。
【0072】
一実施形態によれば、動作314において、方法300は、駆動方式によって定義された構成を使用してディスプレイが画像データを表示できるようにするために、画像データをディスプレイに送信することを含む。ディスプレイは、マイクロディスプレイ、プロジェクタ、タッチスクリーン、モニタ、AVヘッドセット、VRヘッドセット、または当業者に知られている別のディスプレイであり得る。一実施形態によれば、動作314は、動作316に進み、そこで方法300は終了する。
【0073】
図4は、一実施形態による、画像データフレーム400の送信シーケンスの例を示す。一実施形態によれば、画像データフレーム400の送信シーケンスは、1つ以上のプロセッサ154によって、ディスプレイ108に表示するために、ディスプレイドライバモジュール106に送信される。一実施形態によれば、画像データフレーム400の送信シーケンスは、駆動シーケンス402を有する画像データフレーム、駆動シーケンス404を有さない画像データフレーム、および駆動シーケンス406を有する画像データフレームを含み得る。一実施形態によれば、駆動シーケンス402を有する画像データフレームは、駆動シーケンス制御構造Aおよび画像フレームAを含み、これらは、1つ以上のプロセッサ154とディスプレイドライバモジュール106との間の送信のために一緒にマージされる。一実施形態によれば、駆動シーケンス402を有する画像データフレームは、駆動シーケンス制御構造と画像フレームの両方を含む能力を有する拡大画像フレームであり得る。
【0074】
一実施形態によれば、駆動シーケンス404を有していない画像データフレームは、ダミーバイトおよび画像フレームNを含み得る。さまざまな実施形態によれば、ダミーバイトは、後続の駆動シーケンス制御構造のプレースホルダであり、画像フレームNは、1つ以上のプロセッサ154からディスプレイドライバモジュール106に送信される1つ以上の画像フレームを表す。
【0075】
一実施形態によれば、駆動シーケンス406を有する画像データフレームは、駆動シーケンス制御構造Bおよび画像フレームXを含み、これらは、1つ以上のプロセッサ154とディスプレイドライバモジュール106との間の送信のために一緒にマージされる。一実施形態によれば、駆動シーケンス制御構造Bは、駆動シーケンス制御構造Aの後のある時にディスプレイドライバモジュール106に送信されて、画像データがディスプレイ108に表示される表示特性/設定を動的に変更する駆動シーケンス制御構造を表す。
【0076】
図5は、一実施形態による、画像データフレーム500の送信シーケンスの別の例を示す。一実施形態によれば、
図5に示される画像データフレーム500の送信シーケンスでは、駆動シーケンス制御構造Aおよび駆動シーケンス制御構造Bは、画像フレーム間であるブランキング間隔に埋め込まれる。一実施形態によれば、ブランキング間隔502(ブランキング間隔502A、502B、502Cを含む)は、使用されていないまたは十分に活用されていないが、MIPIなどの1つ以上の通信プロトコルによって必要とされ得るバイトを表す。一実施形態によれば、通信プロトコルMIPIはブランキング間隔502を使用するが、他の通信プロトコルは、1つ以上のプロセッサ154とディスプレイドライバモジュール106との間で駆動シーケンス制御構造を転送するために使用され得るバッファバイト、パディングバイト、または他の十分に活用されていないスペースを必要とし得る。
【0077】
図5の送信シーケンスと同様に、本開示の実施形態は、画像データとは異なるが、そのフレームの画像データ自体に結合された制御データをパッキングすることによって、ある形態の非可逆画像圧縮をサポートするために使用され得る。換言すれば、駆動方式で画像データバイトを占有する代わりに、画像またはデータフォーマットまたはプロトコルの他の部分を変更して、ディスプレイの駆動方式を動的に更新することをサポートするために駆動方式を含めてもよい。例えば、MIPI DSI(「MIPIディスプレイシリアルインターフェース」)プロトコルでは、送信ホストは、画像データ(例えば、RGB24パケットと呼ばれるパケットタイプ)だけでなく、当業者によって知られているように、他のパケットタイプをも送る能力を有する。画像用のいくつかのパケットタイプには、一ライン分の画像データがMIPIリンクを介して転送される間における、vsync−startとvsync−end、hsync−startとhsync−end、ならびにdummy/blank/no−opパケットも含まれる。プロトコルで定義された一連のvsync/hsync/rgb24パケットを送ることにより、MIPI送信機は基本的に画像フレームデータの配列をエンコードする。例えば、このMIPI情報を受信するほとんどのディスプレイドライバチップが、受信したパケットタイプから画像ストリームを直接再作成しようとすることから、これは、携帯電話ディスプレイ用のMIPIを介して画像が通常転送される方法である。
【0078】
他のパケットタイプが、情報送信時間中に使用されてもよいし、さらに、例えば、RGB24パケットが送られていない場合、または通常、ホストのMIPI TXマシンがblank/No−Opパケットを送られる場合に、駆動シーケンス制御構造を送信するために使用されてもよい。Blank/No−Opパケットは、画像データフレームを再作成するときに受信側において時間を稼ぐためのプレースホルダとして機能する。本発明の実施形態では、フレーム中に、ブランクパケットを送るのではなく、プロセッサは、代わりに、送信するブランクパケットと同じ時間をかけたパケットを送ってもよいが(それによって受信側のタイミングを維持する)、それらのパケットでは、ディスプレイドライバ/受信機が制御情報を抽出してそれを現在受信されている画像データのフレームで使用するためにメモリに格納するように、駆動シーケンスがエンコードされることになる。MIPIと同様に、HDMI(登録商標)のプロトコルにも似たようなものがある。このようにして、HDMI(登録商標)ケーブルは画像と音声の両方の情報を伝送できる。音声はさまざまなパケットタイプにエンコードされ、通常はブランキング間隔中のダミーパケットである時間を消費する。
【0079】
あるいは、例えば、MIPIの4つのレーンが存在する場合、4つのレーンすべてを同時に送信し得る。画像システムは、レーン3を通常の「ダンプ(dump)」ディスプレイが受信する要望があり制御情報による専用の使用のために予約する場合があるので、レーン0、1、2を使用して画像データを伝送する。4つのレーンすべてがホストMIPI送信機で同期され、一緒に処理されて送信されるが、レーンの1つは制御データ(例えば、制御構造)を有することになり、他の3つのレーンは画像データを含み得る。一実施形態によれば、これは、パケットをブランキング間隔502に挿入し、パケットのセット全体を4つのMIPIレーンすべてに広げることとは異なることになる。
【0080】
図6Aおよび
図6Bは、一実施形態による、1つ以上のプロセッサ154(
図1、4、および5に示される)とディスプレイドライバモジュール106(
図1、4、および5に示される)との間で駆動シーケンスを送信するための画像データフレーム600の例を示す。画像データフレーム600は、画像データフレーム140(
図1に示される)の例示的な実装である。一実施形態によれば、画像データフレーム600は、制御構造ヘッダ602、制御構造604、および画像フレーム606を含む。
【0081】
画像のフレームは、特定のレートでビットストリームをディスプレイドライバモジュール106に配信する媒体を介して送られるデータの「パケット」と見なすことができる。このパケットは可変構造を有するが、到来したデータをさらにデコードしてディスプレイドライバモジュール106内のLCOS(液晶オンシリコン)チャネルを制御する方法についてディスプレイドライバモジュール106に指示するためのヘッダがあってもよい。0、1、またはそれ以上のコマンド制御構造と、0、1、またはそれ以上のビットプレーンが存在することができる。ビットプレーンは、制御構造604内または画像フレーム606内の所与のビット位置に対応するビットのセットである。制御構造604は、ディスプレイドライバモジュール106の各チャネルのコマンド内容、ルックアップテーブル(LUT)内容、および/またはシリアルペリフェラルインターフェース(SPI)内容を含み得る。入力ビットプレーンの転送ケイデンスに遅延を効果的に挿入するように、ビットプレーンを特定のチャネルに割り当てるか、「無効」としてマークし得る。
【0082】
ディスプレイドライバ104およびMIPIデータ構造は、さまざまな異なる使用シナリオをサポートするのに十分な柔軟性を備えている。1つの実装形態として、LCOSチャネル(制御構造のみ、0ビットプレーン)の初期セットアップと、それに続くビットプレーンのみ(および制御構造なし)を含めて、遅延を減らし、帯域幅を最大限に活用し得る。一実施形態では、ディスプレイドライバ104は、フレームごとに制御構造およびビットプレーンを挿入することによって、フレームごとにLCOSチャネルの新しいセットアップをサポートし得る。
【0083】
MIPIの「パケット」構造は、24ビットのデータに基づき得る。24ビットは、MIPIデータストリームの「アクティブ画像部分」と見なすことができるものの単一の「ピクセル」を表すために使用され得る。24ビットは、赤を表す8ビット、緑を表す8ビット、および青を表す8ビットに分割され得る。代替のビット量および/または色の割り当てを使用してもよい。
【0084】
画像データフレーム600は原寸に比例していないが、MIPI「画像のフレーム」の例示的な順序付けおよびサイズを視覚的に示している。図示のように、画像データフレーム600で表される最小のビット長変数は、24ビットの「ピクセル」、すなわち、単一ピクセルのピクセルデータの表現に割り当てられる3バイトを表す。
図6、7A、7B、および7Cの図の幅は、MIPIを介して送られる開示された技術の実装形態を制限するものではない。複数の「ピクセル」を使用してデータを送信する制御構造604内の変数およびデータの場合、左端の「ピクセル」は、変数の最下位部分として割り当てられ得る。ビットプレーンデータの場合、左端の「ピクセル」は、ビットプレーンのビット23:0として割り当てられ得る。2番目の「ピクセル」は、ビット[47:24]などとして割り当てられ得る。
【0085】
一実施形態では、図の「ピクセル」に使用された予約済み3バイトのデータは、位置合わせに使用され得る(例えば、パーサのデコードを容易にするために)。
【0086】
制御構造ヘッダ602は、駆動方式および駆動シーケンス制御構造の一部の例示的な実装形態である(
図1A、1B、4、および5に示される)。制御構造ヘッダ602は、駆動方式を画像データとマージすることを容易にするためのいくつかの特徴を含み得る。制御構造ヘッダ602は、例えば、MIPI「画像フレーム」ごとに存在する8×24ビット「ピクセル」相当の情報を含み得る。制御構造ヘッダ602は、MIPIインターフェースで受信された画像が正しいフォーマットであることを確認するためのチェックとして使用され得る署名(例えば、48ビット)を含み得る。署名の2つの「ピクセル」がMIPIインターフェースに到着した場合、到着した最初の「ピクセル」相当の情報は、48ビット署名の下位24ビットと見なされ、到着した2番目の「ピクセル」相当の情報は、48ビット署名の上位24ビットとして扱われ得る。制御構造ヘッダ602は、従うべき制御構造の数を指定するためのビット数(例えば、24ビット)を含む制御構造カウントを含み得、これは、制御構造として解釈されるべきデータのバイト数をパーサに示し得る。制御構造ヘッダ602は、画像フレーム内にある有効および無効なデータ構造の数を指定するためのビット数(例えば、24ビット)を含むデータ構造カウントを含み得、これは、制御構造として解釈されるべきデータのバイト数をパーサに示し得る。制御構造ヘッダ602は、フレーム用のLCOSチャネルの動作を制御するための情報を含むいくつかのビット(例えば、24ビット)を含むLCOSチャネル制御を含み得る。制御構造ヘッダ602のタイムベースリセット遅延は、この値の受信からタイムベースがリセットされるまでの「チェックマーク(tick)」の数を指定するいくつかのビット(例えば、24ビット)を含む。0のとき、タイムベースはすぐにリセットされ得る。制御構造ヘッダ602のデータ詳細は、データ構造内のデータ「パッキング」のフォーマットを指定するためのいくつかのビット(例えば、24ビット)を含む。制御構造ヘッダ602は、データ構造の内容の解像度を指定するためのいくつかのビット(例えば、24ビット)を含むデータ解像度を含み得る。
【0087】
制御構造604は、駆動方式を画像データとマージするためのいくつかの特徴を含み得る。制御構造604は、制御構造フォーマットの詳細を指定するためのいくつかのビット(例えば、24ビット)を含むチャネルIDを含み得、これは、制御構造として解釈されるべきデータのバイト数をパーサに示し得る。制御構造604は、コマンドfifoエントリを解析および格納するためのいくつかのビット(例えば、24ビット)を含むcmd詳細を含み得る。制御構造604は、LUTエントリを解析および格納するためのいくつかのビット(例えば、24ビット)を含むLUT詳細を含み得る。制御構造604は、SPIコマンドを解析および格納するためのいくつかのビット(例えば、24ビット)を含むシリアルペリフェラルインターフェース(SPI)詳細を含み得る。制御構造604は、チャネルコマンドfifo(先入れ先出しバッファ)に格納されるいくつかのコマンド(例えば、最大4096個のコマンド)を含むコマンドリストを含み得る。制御構造604は、チャネルのLUT fifoの指定されたインスタンスに格納されるいくつかのLUT値(例えば、最大1024個のLUT値)を含むLUTリストを含み得る。制御構造604は、チャネルのSPI fifoに格納されるいくつかのSPIエントリ(例えば、最大256個のSPIエントリ)を含むSPIリストを含み得る。
【0088】
画像フレーム606は、駆動方式を画像データとマージするためのいくつかの特徴を含み得る。画像フレーム606は、datastruct詳細を指定するためのいくつかのビット(例えば、24ビット)を含むデータ構造の詳細を含み得、これは、画像データとして解釈されるべきデータのバイト数をパーサに示し得る。画像フレーム606は、後続のデータ構造にあるいくつかのピクセルを含むdatastructピクセルカウントを含み得、これは、画像データとして解釈されるべきデータのバイト数をパーサに示し得る。画像フレーム606は、データ構造内のデータに適用するための有効なビットおよびディザカーネルエントリを定義するいくつかのビット(例えば、72ビット)を含むディザカーネル値を含み得る。画像フレーム606は、各データ構造内のビットを格納する場所のアドレスを表すいくつかのビット(例えば、48ビット)を含むrotate記憶アドレスを含み得る。画像フレーム606は、ピクセルにパッキングされたいくつかのビット(例えば、ピクセルあたり24ビット)を含むデータ構造データを含み得る。
【0089】
例示的な実装形態では、各制御構造は25,000ピクセル(具体的には25,096)をわずかに超える。例えば、MIPIリンク上の画像の解像度が超高精細(UHD)(3840x2160)の場合、制御構造は、2,160のうち約6.5ライン(または行)を占めるため、送ることのできるデータの総量の約0.3%が、このUHDフレームのマージされた画像ピクセルに埋め込まれる。ディスプレイのピクセル数が変化し得、したがって、制御構造のサイズが変化し得ることは、当業者によって理解されるべきである。10Gbpsのデータレート(MIPIプロトコルのv1.2によると、4レーンのD−PHYを使用する単一のMIPIチャネル)では、25,000ピクセルの転送は、転送するのに約50usかかる。送信インターフェースと受信インターフェースの両方が最大C−Phyデータレート(34.2Gbps)で使用された場合、この制御情報の転送時間は約17.6usになる。本開示の実施形態によれば、駆動シーケンスは、動的に決定され(例えば、センサデータに基づいて)、動的に更新され(例えば、マージされた画像フレームでの送信を介して)、数十マイクロ秒のオーダーで有効にされ得る。これらの技術は、AR/VRやその他のパーソナライズされた画像出現体験に革命をもたらす可能性を秘めている。
【0090】
図7A、
図7B、および
図7Cは、一実施形態による、1つ以上のプロセッサ154とディスプレイドライバモジュール106(
図1に示される)との間で駆動シーケンスを送信するためのオプションの制御構造の複数の例を含む画像データフレーム700の部分の例を示す。一実施形態によれば、画像データフレーム700は、制御構造ヘッダ702、第1の制御構造704、第2の制御構造706、第3の制御構造708、1つ以上の追加の制御構造、および画像フレーム710を含む。さまざまな実施形態によれば、画像データフレーム600の上記のセクションは、画像データフレーム700のセクションと同様であり得る。
【0091】
図8は、本開示の実施形態と一致する、画像システム800のソフトウェアモジュールを含むブロック図を示す。一実施形態によれば、画像システム800は、通信チャネル806を介して1つ以上のプロセッサ804に通信可能に結合されたメモリ802を含む。一実施形態によれば、メモリ802は、例えば、揮発性メモリ(例えば、SDRAM)、不揮発性メモリ(例えば、NAND)、または揮発性メモリと不揮発性メモリの組み合わせを含み得る。一実施形態によれば、1つ以上のプロセッサ804は、2つ以上のディスクリートプロセッサ(例えば、SoC用の1つのプロセッサおよびディスプレイドライバ用の1つのプロセッサ)を含み得る。
【0092】
一実施形態によれば、メモリ802は、1つ以上のプロセッサ804によって実行され得る命令808を含む。一実施形態によれば、命令808は、画像データモジュール810、駆動シーケンスモジュール812、センサキャプチャモジュール814、パーサモジュール816、および駆動シーケンス更新モジュール818を含む。一実施形態によれば、画像データモジュール810は、1つ以上のプロセッサ804によって実行されると、1つ以上のプロセッサ804に、画像取得および/またはフォーマット動作を実行させる命令を含む。一実施形態によれば、駆動シーケンスモジュール812は、1つ以上のプロセッサ804によって実行されると、1つ以上のプロセッサ804に、駆動シーケンスアルゴリズム(例えば、
図1に示される駆動シーケンスアルゴリズム130)を実行させる命令を含む。一実施形態によれば、センサキャプチャモジュール814は、1つ以上のプロセッサ804によって実行されると、1つ以上のプロセッサ804に、画像システム内の1つ以上のセンサからセンサデータを取り込ませる命令を含む。パーサモジュール816は、1つ以上のプロセッサ804によって実行されると、1つ以上のプロセッサ804に、上記のように、本開示の実施形態と一致するパーサルーチンおよび/またはプロセスを実行させる命令を含む。一実施形態によれば、駆動シーケンス更新モジュール818は、1つ以上のプロセッサ804によって実行されると、1つ以上のプロセッサ804に、既存の駆動シーケンスを新しい駆動シーケンスで更新させる(例えば、
図1に示されるディスプレイドライバモジュール106において)命令を含む。
【0093】
命令808は、メモリ802から読み取られ得るか、または命令808は、グラフィックスカード820および/またはグラフィックス処理ユニット822によって部分的に格納および実行され得る。命令808は、通信チャネル824を介して、グラフィックスカード820および/またはグラフィックス処理ユニット822によってメモリ802から読み取られ得る。グラフィックスカード820は、グラフィックス処理ユニット822を含み、搭載し得る。あるいは、グラフィックス処理ユニット822は、プロセッサ804と同じ相互接続回路(例えば、プリント回路基板)によって搭載され得る。
【0094】
一実施形態では、画像システム800は、任意選択で、ディスプレイ824上に(例えば、ディスプレイ824の1つ以上の回路基板上に)実装される。一実施形態では、プロセッサ804は、ディスプレイ824に結合されて、画像データを提供し、画像特性を備えたディスプレイ824を構成する。
【0095】
本明細書に開示される技術の実施形態は、ハードウェア、ソフトウェア、ファームウェア、またはそのような実装アプローチの組み合わせで実装され得る。本開示の実施形態は、少なくとも1つのプロセッサ、ストレージシステム(揮発性および不揮発性メモリおよび/またはストレージ要素を含む)、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスを備えるプログラマブルシステム上で実行されるコンピュータプログラムまたはプログラムコードとして実装され得る。
【0096】
本明細書の任意の実施形態で使用される場合、「ロジック」という用語は、前述の動作のいずれかを実行するように構成されたアプリケーション、ソフトウェア、ファームウェア、および/または回路を指し得る。ソフトウェアは、ソフトウェアパッケージ、コード、命令、命令セット、および/または非一時的なコンピュータ可読記憶媒体に記録されたデータとして具体化され得る。ファームウェアは、メモリデバイスにハードコード(例えば、不揮発性)されたコード、命令、命令セット、および/またはデータとして具体化され得る。上述のように、ソフトウェアモジュールは、プロセッサによって実行される論理を含み得、および/または回路を含み得る。「ロジック」という用語はまた、プロセッサの動作に影響を与えるために適用され得る命令信号および/またはデータの形態を有する任意の情報を指し得る。ソフトウェアはそのようなロジックの一例である。プロセッサの例としては、コンピュータプロセッサ(処理ユニット)、マイクロプロセッサ、デジタルシグナルプロセッサ、コントローラ、およびマイクロコントローラなどがある。ロジックは、例えば、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能/電気的消去可能プログラマブル読み取り専用メモリ(EPROM/EEPROM)、フラッシュメモリ等を含むメモリまたはストレージなどの非一時的なコンピュータ可読媒体に格納されたコンピュータ実行可能命令から形成され得る。ロジックはまた、デジタルおよび/またはアナログハードウェア回路、例えば、論理AND、OR、XOR、NAND、NOR、および他の論理演算を含むハードウェア回路を含み得る。ロジックは、ソフトウェアとハードウェアの組み合わせから形成され得る。ネットワーク上では、ロジックは、サーバまたはサーバの複合体でプログラムされ得る。特定のロジックユニットは、ネットワーク上の単一の論理的な位置に限定されない。
【0097】
本明細書の任意の実施形態で使用される「回路」は、例えば、単独でまたは任意の組み合わせで、ハードワイヤード回路、プログラマブル回路、ステートマシン回路、ロジック、および/またはプログラマブル回路によって実行される命令を格納するファームウェアを含み得る。回路は、集積回路チップ、システムオンチップ(SoC)などのような集積回路として具体化され得る。いくつかの実施形態では、回路は、少なくとも部分的に、本明細書に記載の機能に対応するコードおよび/または命令セット(例えば、ソフトウェア、ファームウェア等)を実行して、したがって、汎用プロセッサを特定目的の処理環境に変換して本明細書に記載の1つ以上の動作を実行する少なくとも1つのプロセッサによって形成され得る。
【0098】
プロセッサには、Intel Corporation製のCeleron、Core、またはPentiumプロセッサ、Sun Microsystems製のSPARCプロセッサ、AMD Corporation製のAthlon、Sempron、Phenom、またはOpteronプロセッサ、その他の市販のプロセッサ、および/または利用可能な、または利用可能になる他のプロセッサなどの市販のプロセッサが含まれ得る。プロセッサのいくつかの実施形態は、マルチコアプロセッサと呼ばれるものを含み得、および/またはシングルコアもしくはマルチコア構成で並列処理技術を使用することが可能になり得る。例えば、マルチコアアーキテクチャは通常、2つ以上のプロセッサ「実行コア」で構成される。この例では、各実行コアは、独立したプロセッサマットが複数のスレッドの並列実行を可能にするように実行し得る。さらに、関連分野の当業者は、プロセッサが、一般に32ビットまたは64ビットアーキテクチャと呼ばれるもの、または現在知られている、または将来開発される可能性がある他のアーキテクチャ構成で構成され得ることを理解するであろう。プロセッサは通常、オペレーティングシステム、例えば、Microsoft CorporationのWindowsタイプのオペレーティングシステム、Apple Computer Corp.のMac OS Xオペレーティングシステム、多くのベンダーから入手可能なUnixもしくはLinux(登録商標)タイプのオペレーティングシステム、またはオープンソースと呼ばれるもの、別のもしくは将来のオペレーティングシステム、またはそれらのいくつかの組み合わせを実行する。オペレーティングシステムは、よく知られた方法でファームウェアおよびハードウェアとインターフェースし、プロセッサがさまざまなプログラミング言語で記述され得るさまざまなコンピュータプログラムの機能を調整および実行するのを容易にする。オペレーティングシステムは、通常はプロセッサと連携して、コンピュータの他のコンポーネントの機能を調整および実行する。オペレーティングシステムはまた、スケジューリング、入出力制御、ファイルとデータの管理、メモリ管理、通信制御と関連サービスを、すべて既知の手法に従って提供する。システムメモリは、所望の情報を格納するために使用することができ、かつコンピュータによってアクセスすることができる、さまざまな既知または将来のメモリストレージデバイスのいずれかを含み得る。コンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するための任意の方法または技術で実装された非一時的な揮発性および不揮発性、取り外し可能および取り外し不可能な媒体を含み得る。例としては、一般的に利用可能なランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電子的消去可能なプログラマブル読み取り専用メモリ(EEPROM)、デジタル多用途ディスク(DVD)、常駐ハードディスクやテープなどの磁気媒体、読み取りおよび書き込みコンパクトディスクなどの光学媒体、および/または他のメモリストレージデバイスが挙げられる。メモリストレージデバイスとしては、コンパクトディスクドライブ、テープドライブ、取り外し可能なハードディスクドライブ、USBもしくはフラッシュドライブ、またはディスケットドライブを含む、さまざまな既知または将来のデバイスを挙げ得る。このようなタイプのメモリストレージデバイスは、通常、それぞれ、コンパクトディスク、磁気テープ、取り外し可能なハードディスク、USBもしくはフラッシュドライブ、またはフロッピーディスクなどのプログラムストレージメディアに対して読み取りおよび/または書き込むものである。これらのプログラム記憶媒体のいずれか、または現在使用されている、または後に開発される可能性のある他の媒体は、コンピュータプログラム製品と見なし得る。理解されるように、これらのプログラム記憶媒体は、通常、コンピュータソフトウェアプログラムおよび/またはデータを記憶する。コンピュータ制御ロジックとも呼ばれるコンピュータソフトウェアプログラムは、通常、システムメモリおよび/またはメモリストレージデバイスと組み合わせて使用されるプログラムストレージデバイスに格納される。いくつかの実施形態では、制御ロジック(プログラムコードを含むコンピュータソフトウェアプログラム)が格納されたコンピュータ使用可能媒体を含むコンピュータプログラム製品が説明される。制御ロジックは、プロセッサによって実行されると、プロセッサに本明細書に記載の機能を実行させる。他の実施形態では、いくつかの機能は、例えば、ハードウェアステートマシンを使用するハードウェアで主に実装される。本明細書に記載の機能を実行するためのハードウェアステートマシンの実装形態は、関連技術の当業者にとって明らかであろう。入出力コントローラは、人間であろうと機械であろうと、ローカルであろうとリモートであろうと、ユーザからの情報を受け入れて処理するためのさまざまな既知のデバイスのいずれかを含むことができる。そのようなデバイスには、例えば、モデムカード、ワイヤレスカード、ネットワークインターフェースカード、サウンドカード、またはさまざまな既知の入力デバイスのいずれかのための他のタイプのコントローラが含まれる。出力コントローラは、人間であろうと機械であろうと、ローカルであろうとリモートであろうと、ユーザに情報を提示するためのさまざまな既知のディスプレイデバイスのいずれかのコントローラを含むことができる。本明細書で説明する実施形態では、コンピュータの機能要素は、システムバスを介して互いに通信する。コンピュータのいくつかの実施形態は、ネットワークまたは他のタイプのリモート通信を使用して、いくつかの機能要素と通信し得る。関連技術の当業者に明らかなように、機器制御および/またはデータ処理アプリケーションは、ソフトウェアに実装されている場合、システムメモリおよび/またはメモリストレージデバイスにロードされ、そこから実行され得る。機器制御および/またはデータ処理アプリケーションの全部または一部はまた、メモリストレージデバイスの読み取り専用メモリまたは同様のデバイスに存在し得、そのようなデバイスは、機器制御および/またはデータ処理アプリケーションが最初に入出力コントローラを介してロードされることを必要としない。機器制御および/またはデータ処理アプリケーション、またはその一部が、プロセッサによって、既知の方法で、実行に有利となるようにシステムメモリまたはキャッシュメモリ、あるいはその両方にロードされ得ることは、関連技術の当業者によって理解されよう。また、コンピュータは、システムメモリに格納された1つ以上のライブラリファイル、実験データファイル、およびインターネットクライアントを含み得る。例えば、実験データは、検出された信号値、または1つ以上のSequencing By Synthesis(SBS)実験またはプロセスに関連する他の値など、1つ以上の実験またはアッセイに関連するデータを含み得る。さらに、インターネットクライアントは、ネットワークを使用して別のコンピュータ上のリモートサービスにアクセスすることを可能にするアプリケーションを含み得、例えば、一般に「ウェブブラウザ」と称されるものを含み得る。本例では、一般的に使用されているいくつかのWebブラウザとして、Microsoft Corporationから入手可能なMicrosoft Internet Explorer、Mozilla CorporationのMozilla Firefox、Apple Computer Corp.のSafari、Google CorporationのGoogle Chrome、または技術において現在知られている、または将来開発され得る他のタイプのWebブラウザが挙げられる。また、同じまたは他の実施形態では、インターネットクライアントは、生物学的アプリケーションのためのデータ処理アプリケーションなど、ネットワークを介して遠隔情報にアクセスすることを可能にする特殊なソフトウェアアプリケーションを含み得るか、またはその要素とすることができる。コンピュータまたはプロセッサがネットワークの一部であってもよい。ネットワークは、当業者によく知られている多くのさまざまなタイプのネットワークのうちの1つ以上を含み得る。例えば、ネットワークは、通信するために一般にTCP/IPプロトコルスイートと称されるものを使用し得るローカルまたはワイドエリアネットワークを含み得る。ネットワークは、一般にインターネットと称される相互接続されたコンピュータネットワークのワールドワイドシステムを備えるネットワークを含み得るか、またはさまざまなイントラネットアーキテクチャをも含み得る。関連技術の当業者はまた、ネットワーク環境の一部のユーザが、一般に「ファイアウォール」と称されるもの(パケット、 フィルタ、または境界防御デバイスとも称される)を使用してハードウェアおよび/またはソフトウェアシステムとの間の情報トラフィックを制御することを好む場合があることを理解するであろう。例えば、ファイアウォールは、ハードウェアまたはソフトウェア要素、あるいはそれらの組み合わせで構成され得、通常、例えばネットワーク管理者等などのユーザによって設定されたセキュリティポリシーを適用するように設計される。
【0099】
特定の実施形態が本明細書に例示および説明されているが、同じ目的を達成するために計算された多種多様な代替および/または同等の実施形態もしくは実装形態が、範囲から逸脱することなく示されて説明される実施形態の代わりになり得ることが当業者によって理解されるであろう。当業者であれば、実施形態が非常に多種多様な方法で実施され得ることを容易に理解するであろう。このアプリケーションは、本明細書で論じられる実施形態の任意の適応または変形をカバーすることを意図している。したがって、実施形態は、請求の範囲およびその均等物によってのみ制限されることを明らかに意図している。本発明の精神または範囲から逸脱することなく、本発明においてさまざまな修正および変形を行うことができることは当業者にとって明らかであろう。したがって、本発明は、それらが添付の請求の範囲およびそれらの均等物の範囲内にあるという条件で、本発明の修正および変形をカバーすることを意図している。
【0100】
本明細書に記載の動作の実施形態は、1つ以上のプロセッサによって実行されると、少なくとも部分的に方法を実行する命令をそこに格納したコンピュータ可読記憶装置に実装し得る。プロセッサは、例えば、処理ユニットおよび/またはプログラマブル回路を含み得る。ストレージデバイスは、任意のタイプの有形の非一時的なストレージデバイス、例えば、フロッピーディスク、光ディスク、コンパクトディスク読み取り専用メモリ(CD−ROM)、コンパクトディスクリライタブル(CD−RW)、および磁気光学ディスクを含む任意のタイプのディスク、読み取り専用メモリ(ROM)、動的および静的RAMなどのランダムアクセスメモリ(RAM)、消去可能プログラマブル読み取り専用メモリ(EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、フラッシュメモリ、磁気カードもしくは光学カード、などの半導体デバイス、または電子命令の保存に適した任意のタイプのストレージデバイス、を含むマシン可読ストレージデバイスを含み得る。
【0101】
実施例
本開示の実施例には、以下で説明するように、ディスプレイの駆動に関連する方法、デバイス、装置、またはシステムなどの主題材料が含まれる。
【0102】
実施例1
この実施例によれば、駆動方式設定を動的に更新して、ディスプレイ内の画像データの表示を調整することは、画像データを受信することと、画像データを表示するときにディスプレイに適用する駆動シーケンスを決定することと、1つ以上の画像データフレーム内に駆動シーケンスを画像データとマージすることと、1つ以上の画像データフレームをディスプレイドライバに送信して、ディスプレイドライバが駆動シーケンスに従ってディスプレイを駆動できるようにすることと、を含む方法を提供する。
【0103】
実施例2
この実施例は、実施例1の要素を含み、駆動シーケンスは、ディスプレイの制御設定を含む駆動方式である。
【0104】
実施例3
この実施例は、実施例1の要素を含み、1つ以上の画像センサ、ネットワーク接続、またはメモリ位置から画像データを受信することをさらに含み、駆動シーケンスを画像データとマージすることは、駆動シーケンスを1つ以上の画像データフレームの行および/または列に挿入することを含む。
【0105】
実施例4
この実施例は、実施例1の要素を含み、1つ以上の画像データフレームは、MIPI(モバイルインダストリプロセッサインターフェース)フォーマット、HDMI(登録商標)(high−definition multimedia interface)フォーマット、DP(ディスプレイポート)フォーマット、PCI−expressフォーマット、USBフォーマット、イーサネットフォーマット、およびWi−Fiフォーマットのうちの少なくとも1つでフォーマットされる。
【0106】
実施例5
この実施例は、実施例1の要素を含み、駆動シーケンスは、信号変調特性、ピクセルの色持続時間、フレームレート、色サブフレームレート、ビット深度、色順次デューティサイクル、色域、ガンマ、持続性、駆動電圧、照明タイミング、照明強度、ディスプレイに送られる個々のビットプレーンのタイミング、ルックアップテーブル(LUT)、およびシリアルポートインターフェース(SPI)コマンドのうちの少なくとも1つを含む。
【0107】
実施例6
この実施例は、実施例1の要素を含み、1つ以上のセンサからセンサデータを受信することと、少なくとも部分的にセンサデータに基づいて、駆動シーケンスを決定することと、をさらに含む。
【0108】
実施例7
この実施例は、実施例6の要素を含み、センサデータは、ディスプレイを基準としたユーザの目の向きを表す画像センサデータ、ディスプレイが動作している環境の照明強度を表すデータのうちの少なくとも1つを含む。
【0109】
実施例8
この実施例は、実施例1の要素を含み、1つ以上の画像データフレームを受信することと、画像データフレームから画像データおよび駆動シーケンスを解析することと、駆動シーケンスでディスプレイを構成することと、画像データをディスプレイに送信して、ユーザが見るために画像データを表示することを可能にすることと、をさらに含む。
【0110】
実施例9
この実施例は、実施例1の要素を含み、駆動シーケンスを決定することは、画像システムによって格納された所定の駆動シーケンスのグループから駆動シーケンスを選択することを含む。
【0111】
実施例10
この実施例によれば、駆動方式設定を動的に更新して、ディスプレイ内の画像データの表示を調整するように構成され得る画像システムを提供する。画像システムは、画像データを取得するためのセンサデータ取得モジュールを備えてもよい。画像システムは、駆動方式を決定し、駆動方式を画像データとマージして1つ以上の画像データフレームにするための駆動方式モジュールを備えてもよい。画像システムは、1つ以上の画像データフレームから画像データおよび駆動方式を解析して、駆動シーケンスによって表される設定を備えたディスプレイに画像データを表示するためのディスプレイドライバモジュールを備えてもよい。
【0112】
実施例11
この実施例は、実施例10の要素を含み、センサデータ取得モジュールは、複数のセンサのうちの1つ以上からセンサデータを取得する。
【0113】
実施例12
この実施例は、実施例11の要素を含み、駆動シーケンスモジュールは、少なくとも部分的にセンサデータに基づいて駆動シーケンスを決定する。
【0114】
実施例13
この実施例は、実施例10の要素を含み、駆動シーケンスをマージすることは、駆動シーケンスを1つ以上の画像データフレームの行および/または列に挿入することを含む。
【0115】
実施例14
この実施例は、実施例10の要素を含み、駆動方式モジュールは、第1のプロセッサによって実行され、ディスプレイドライバモジュールは、第2のプロセッサによって実行される。
【0116】
実施例15
この実施例は、実施例10の要素を含み、駆動シーケンスは、信号変調特性、ピクセルの色持続時間、フレームレート、色サブフレームレート、ビット深度、色順次デューティサイクル、色域、ガンマ、持続性、駆動電圧、照明タイミング、および照明強度のうちの少なくとも1つを含む。
【0117】
実施例16
この実施例によれば、駆動方式を動的に更新して、ディスプレイ内の画像データの表示を調整するための画像システムを提供する。画像システムは、画像データを識別するための手段と、画像データを表示するときにディスプレイに適用される駆動シーケンスを決定するための手段と、1つ以上の画像データフレーム内に駆動シーケンスを画像データとマージするための手段と、1つ以上の画像データフレームを、ディスプレイドライバモジュールに送信して、ディスプレイドライバモジュールが駆動シーケンスでディスプレイを構成できるようにするための手段と、を備えてもよい。
【0118】
実施例17
この実施例は、実施例16の要素を含み、駆動シーケンスは、画像データがディスプレイによって表示される設定を定義する。
【0119】
実施例18
この実施例は、実施例16の要素を含み、1つ以上のセンサからセンサデータを受信するための手段と、少なくとも部分的にセンサデータに基づいて駆動シーケンスを決定するための手段と、をさらに備える。
【0120】
実施例19
この実施例は、実施例16の要素を含み、駆動シーケンスは、信号変調特性、ピクセルの色持続時間、フレームレート、色サブフレームレート、ビット深度、色順次デューティサイクル、色域、ガンマ、持続性、駆動電圧、照明タイミング、および照明強度のうちの少なくとも1つを含む。
【0121】
実施例20
この実施例によれば、1つ以上のプロセッサによって実行される場合、実施例1〜9のいずれか1つの方法を実行する命令を格納するコンピュータ可読デバイスを提供する。
【0122】
実施例21
この実施例によれば、プロセッサ回路を含む、実施例10〜15のいずれか1つの画像システムが提供される。
【0123】
実施例22
この実施例によれば、実施例1〜9のいずれか1つの方法を実施するための手段を備えたデバイスを提供する。
【0124】
本明細書で使用されている用語および表現は、説明の用語として使用され、限定するものではなく、そのような用語および表現の使用において、示されかつ説明された特徴(またはその一部)の均等物を除外する意図はなく、また、請求の範囲内でさまざまな変更が可能であると認識される。したがって、請求項は、そのようなすべての均等物をカバーすることを意図している。
【0125】
さまざまな特徴、態様、および実施形態が本明細書に記載されている。当業者によって理解されるように、特徴、態様、および実施形態は、互いとの組み合わせ、ならびに変形および修正が容易である。したがって、本開示は、そのような組み合わせ、変形、および修正を包含すると見なされるべきである。
【国際調査報告】