JP2023546797A - ピクセル強度のデジタル制御およびアナログ制御を含む人工現実システム - Google Patents
ピクセル強度のデジタル制御およびアナログ制御を含む人工現実システム Download PDFInfo
- Publication number
- JP2023546797A JP2023546797A JP2023519675A JP2023519675A JP2023546797A JP 2023546797 A JP2023546797 A JP 2023546797A JP 2023519675 A JP2023519675 A JP 2023519675A JP 2023519675 A JP2023519675 A JP 2023519675A JP 2023546797 A JP2023546797 A JP 2023546797A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- control circuit
- artificial reality
- frame
- analog
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims description 76
- 239000003990 capacitor Substances 0.000 claims description 50
- 230000003068 static effect Effects 0.000 claims description 3
- 238000000034 method Methods 0.000 abstract description 79
- 238000010586 diagram Methods 0.000 abstract description 28
- 230000002093 peripheral effect Effects 0.000 description 119
- 230000033001 locomotion Effects 0.000 description 33
- 238000003384 imaging method Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 28
- 238000004891 communication Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 17
- 238000009877 rendering Methods 0.000 description 17
- 238000012937 correction Methods 0.000 description 16
- 230000004044 response Effects 0.000 description 13
- 210000003811 finger Anatomy 0.000 description 10
- 210000004247 hand Anatomy 0.000 description 10
- 230000009471 action Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 238000005259 measurement Methods 0.000 description 6
- 210000003813 thumb Anatomy 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 208000013057 hereditary mucoepithelial dysplasia Diseases 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 230000014616 translation Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000010897 surface acoustic wave method Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 239000011521 glass Substances 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000002096 quantum dot Substances 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- 210000000707 wrist Anatomy 0.000 description 3
- 210000000617 arm Anatomy 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000002329 infrared spectrum Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
- G02B27/0172—Head mounted characterised by optical features
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
- G09G3/2007—Display of intermediate tones
- G09G3/2077—Display of intermediate tones by a combination of two or more gradation control methods
- G09G3/2081—Display of intermediate tones by a combination of two or more gradation control methods with combination of amplitude modulation and time modulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
- G09G3/2007—Display of intermediate tones
- G09G3/2014—Display of intermediate tones by modulation of the duration of a single pulse during which the logic level remains constant
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
- G09G3/2007—Display of intermediate tones
- G09G3/2018—Display of intermediate tones by time modulation using two or more time intervals
- G09G3/2022—Display of intermediate tones by time modulation using two or more time intervals using sub-frames
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
- G09G3/22—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources
- G09G3/30—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources using electroluminescent panels
- G09G3/32—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources using electroluminescent panels semiconductive, e.g. using light-emitting diodes [LED]
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
- G09G3/22—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources
- G09G3/30—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources using electroluminescent panels
- G09G3/32—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources using electroluminescent panels semiconductive, e.g. using light-emitting diodes [LED]
- G09G3/3208—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources using electroluminescent panels semiconductive, e.g. using light-emitting diodes [LED] organic, e.g. using organic light-emitting diodes [OLED]
- G09G3/3225—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources using electroluminescent panels semiconductive, e.g. using light-emitting diodes [LED] organic, e.g. using organic light-emitting diodes [OLED] using an active matrix
- G09G3/3233—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources using electroluminescent panels semiconductive, e.g. using light-emitting diodes [LED] organic, e.g. using organic light-emitting diodes [OLED] using an active matrix with pixel circuitry controlling the current through the light-emitting element
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2300/00—Aspects of the constitution of display devices
- G09G2300/08—Active matrix structure, i.e. with use of active elements, inclusive of non-linear two terminal elements, in the pixels together with light emitting or modulating elements
- G09G2300/0809—Several active elements per pixel in active matrix panels
- G09G2300/0842—Several active elements per pixel in active matrix panels forming a memory circuit, e.g. a dynamic memory with one capacitor
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2300/00—Aspects of the constitution of display devices
- G09G2300/08—Active matrix structure, i.e. with use of active elements, inclusive of non-linear two terminal elements, in the pixels together with light emitting or modulating elements
- G09G2300/0809—Several active elements per pixel in active matrix panels
- G09G2300/0842—Several active elements per pixel in active matrix panels forming a memory circuit, e.g. a dynamic memory with one capacitor
- G09G2300/0857—Static memory circuit, e.g. flip-flop
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2300/00—Aspects of the constitution of display devices
- G09G2300/08—Active matrix structure, i.e. with use of active elements, inclusive of non-linear two terminal elements, in the pixels together with light emitting or modulating elements
- G09G2300/0809—Several active elements per pixel in active matrix panels
- G09G2300/0842—Several active elements per pixel in active matrix panels forming a memory circuit, e.g. a dynamic memory with one capacitor
- G09G2300/0861—Several active elements per pixel in active matrix panels forming a memory circuit, e.g. a dynamic memory with one capacitor with additional control of the display period without amending the charge stored in a pixel memory, e.g. by means of additional select electrodes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Optics & Photonics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
- Control Of El Displays (AREA)
- Led Devices (AREA)
Abstract
電子ディスプレイデバイスは、ピクセル強度のデジタル制御およびアナログ制御を含む。各ピクセル(612A)内には、デジタルピクセル制御回路(630)とアナログピクセル制御回路(650)とが設けられている。デジタルピクセル制御回路は、デジタルPWM技術を使用して、ピクセル内の発光素子に駆動電流が供給される各フレーム内のサブフレーム数を制御する。アナログピクセル制御回路(650)は、フレーム中にピクセル内の発光素子に供給される駆動電流のレベルを制御する。一例では、デジタルピクセル制御回路(630)およびアナログピクセル制御回路(650)は、アナログピクセル制御回路(650)が色深度を増大させるための追加のピクセル内ビットを提供することによってピクセル強度を共に制御してもよい。あるいは、デジタルピクセル制御回路(630)がピクセル強度を制御し、アナログピクセル制御回路(650)が不均一性補償を制御してもよい。
【選択図】図6
【選択図】図6
Description
本開示は、一般に、拡張現実、複合現実、および/または仮想現実システムなどの人工現実システム、ならびにこれらおよび他の電子システムにおけるピクセル強度を制御するためのシステムおよび方法に関する。
人工現実システムは、コンピュータゲーム、安全衛生、産業、および教育などの多くの分野におけるアプリケーションによってますます広く普及している。いくつかの例として、人工現実システムは、モバイルデバイス、ゲーム機、パーソナルコンピュータ、映画館、およびテーマパークに組み込まれている。一般に、人工現実は、ユーザへの提示前に何らかの方法で調整された現実の形式であり、例えば、仮想現実、拡張現実、複合現実、ハイブリッド現実、またはこれらの何らかの組合せおよび/もしくはその派生物を含み得る。
典型的な人工現実システムは、コンテンツをレンダリングしてユーザに表示する1つまたは複数のデバイスを含む。一例として、人工現実システムは、ユーザによって装着され、人工現実コンテンツをユーザに出力するように構成された、ヘッドマウントディスプレイ(HMD)を組み込んでもよい。人工現実コンテンツは、システムによって生成されたコンテンツを完全に含み得るか、またはキャプチャされたコンテンツ(例えば、現実世界のビデオおよび/または画像)と組み合わせられた生成されたコンテンツを含み得る。動作中に、ユーザは、一般に、コンテンツを選択し、アプリケーションを起動し、システムを構成し、概して、人工現実環境を経験するために、人工現実システムと対話する。一部の人工現実システムは、多くの場合システムオンチップ(SoC)と呼ばれる専用集積回路を利用し、センサーデータを集約および処理し、人工現実コンテンツをユーザに表示するための複雑な機能を有する。
一例では、本開示は、人工現実コンテンツを出力するように構成されたヘッドマウントディスプレイ(HMD)を備える人工現実システムに関し、HMDは、複数のピクセルを備える少なくとも1つのディスプレイデバイスを含み、複数のピクセルの各々は、発光素子に駆動電流が供給されるフレームのサブフレーム数を制御するパルス幅変調(PWM)出力信号を生成するデジタルピクセル制御回路と、フレームの発光素子に供給される駆動電流のレベルを制御するアナログピクセル制御回路とを含む。
別の例では、本開示は、複数のピクセルを備えるディスプレイデバイスに関し、複数のピクセルの各々は、発光素子と、発光素子に駆動電流が供給されるフレームのサブフレーム数を制御するパルス幅変調(PWM)出力信号を生成するデジタルピクセル制御回路と、フレーム中に発光素子に供給される駆動電流のレベルを制御するアナログピクセル制御回路とを含む。
別の例では、本開示は、デジタルピクセル制御回路を使用して、駆動電流がディスプレイデバイスのピクセルの発光素子に供給されるフレームのサブフレーム数を制御するパルス幅変調(PWM)出力信号を生成することと、アナログピクセル制御回路を使用して、フレーム中に発光素子に供給される駆動電流のレベルを制御することとを含む方法に関する。
添付の図面および以下の説明には、1つまたは複数の例に関する詳細が記載されている。他の特徴および利点は、説明および図面から、ならびに特許請求の範囲から明らかになろう。
本開示の第1の態様によれば、人工現実システムが提供され、人工現実システムは、
人工現実コンテンツを出力するように構成されたヘッドマウントディスプレイ(HMD)を備え、HMDは、複数のピクセルを含む少なくとも1つのディスプレイデバイスを含み、複数のピクセルの各々は、
発光素子と、
発光素子に駆動電流が供給されるフレームのサブフレーム数を制御するパルス幅変調(PWM)出力信号を生成するデジタルピクセル制御回路と、
フレームの発光素子に供給される駆動電流のレベルを制御するアナログピクセル制御回路と
を含む。
アナログピクセル制御回路は、フレームのピクセルの所望の強度レベルに対応するn+mビットの制御ワードのmビットに基づいて、フレーム中に発光素子に供給される駆動電流のレベルを制御し得る。
アナログピクセル制御回路は、
フレームの所望の強度レベルに対応するn+mビットの制御ワードのmビットに対応する駆動電圧に充電されるように構成された蓄積キャパシタであって、駆動電圧は、フレーム中に発光素子に供給される駆動電流のレベルを制御する、蓄積キャパシタを備えてもよい。
人工現実システムは、ピクセルドライバ回路をさらに備えてもよく、ピクセルドライバ回路は、
PWM出力信号を受信するように接続された第1の制御端子、第1の入力端子、および発光素子に駆動電流が供給されるように接続された第1の出力端子を有する第1のトランジスタと、第1のトランジスタの第1の入力端子に接続された第2の出力端子、電圧源と蓄積キャパシタの出力端子との間の接続によって形成されるノードに接続された第2の入力端子、および蓄積キャパシタの入力端子に接続された第2の制御端子を有する第2のトランジスタとを含む。
アナログピクセル制御回路は、
スキャン信号を受信するように接続された第3の制御端子と、蓄積キャパシタの入力端子と第2のトランジスタの第2の制御端子との間の接続によって形成されるノードに接続された出力端子と、フレームのピクセルの所望の強度レベルに対応するn+mビットの制御ワードのmビットに対応する制御電圧を受信するように接続された入力端子とを有する第3のトランジスタをさらに備えてもよい。
第1のトランジスタおよび第2のトランジスタは、同じ型であってもよい。
第1のトランジスタおよび第2のトランジスタは、p型トランジスタであってもよい。
デジタルピクセル制御回路は、フレームのピクセルの所望の強度レベルに対応するn+mビットの制御ワードのnビットに基づいて、発光素子に駆動電流が供給されるフレームのサブフレーム数を制御するパルス幅変調(PWM)出力信号を生成し得る。
アナログピクセル制御回路は、フレームのピクセルの所望の強度レベルに対応するn+mビットの制御ワードのmビットに基づいて、フレーム中に発光素子に供給される駆動電流のレベルを制御し得る。
nはmより大きくてもよい。
nは5から10の整数であってもよく、mは2から5の整数であってもよい。
n+mビットの制御ワードによって定義される強度レベルの数は、2n+mであってもよい。
nビットは、n+mビットの制御ワードの最上位ビットであってもよく、mビットは、n+mビットの制御ワードの最下位ビットであってもよい。
デジタルピクセル制御回路は、n+mビットの制御ワードのnビットを記憶するように構成されたn個の1ビットメモリセルを含み得る。
n個の1ビットメモリセルの各々は、1ビットのスタティックランダムアクセスメモリ(SRAM)セルであってもよい。
デジタルピクセル制御回路は、フレームのピクセルの所望の強度レベルに対応するnビットの制御ワードに基づいて、発光素子に駆動電流が供給されるフレームのサブフレーム数を制御するパルス幅変調(PWM)出力信号を生成し得、アナログピクセル制御回路は、ピクセルの不均一性補償値に対応するmビットの制御ワードに基づいて、フレーム中に発光素子に供給される駆動電流のレベルを制御し得る。
本開示の第2の態様によれば、複数のピクセルを備えるディスプレイデバイスが提供され、複数のピクセルの各々は、
発光素子と、
発光素子に駆動電流が供給されるフレームのサブフレーム数を制御するパルス幅変調(PWM)出力信号を生成するデジタルピクセル制御回路と、
フレーム中に発光素子に供給される駆動電流のレベルを制御するアナログピクセル制御回路と
を含む。
PWM出力信号は、フレームのピクセルの所望の強度レベルに対応するnビットのn+mビットの制御ワードを備えるデジタルピクセル制御回路によって生成され得、アナログピクセル制御回路によって制御される駆動電流のレベルは、フレームのピクセルの所望の強度レベルに対応するn+mビットの制御ワードのmビットを含む。
デジタルピクセル制御回路によって生成されたPWM出力信号は、フレームのピクセルの所望の強度レベルに対応するnビット制御ワードを含み得、
アナログピクセル制御回路によって制御される駆動電流のレベルは、ピクセルの不均一性補償値に対応するmビットの制御ワードを含み得る。
本開示の第3の態様によれば、
デジタルピクセル制御回路を使用して、ディスプレイデバイスのピクセルの発光素子に駆動電流が供給されるフレームのサブフレーム数を制御するパルス幅変調(PWM)出力信号を生成することと、
アナログピクセル制御回路を使用して、フレーム中に発光素子に供給される駆動電流のレベルを制御することと
を含む方法が提供される。
本開示の第1の態様によれば、人工現実システムが提供され、人工現実システムは、
人工現実コンテンツを出力するように構成されたヘッドマウントディスプレイ(HMD)を備え、HMDは、複数のピクセルを含む少なくとも1つのディスプレイデバイスを含み、複数のピクセルの各々は、
発光素子と、
発光素子に駆動電流が供給されるフレームのサブフレーム数を制御するパルス幅変調(PWM)出力信号を生成するデジタルピクセル制御回路と、
フレームの発光素子に供給される駆動電流のレベルを制御するアナログピクセル制御回路と
を含む。
アナログピクセル制御回路は、フレームのピクセルの所望の強度レベルに対応するn+mビットの制御ワードのmビットに基づいて、フレーム中に発光素子に供給される駆動電流のレベルを制御し得る。
アナログピクセル制御回路は、
フレームの所望の強度レベルに対応するn+mビットの制御ワードのmビットに対応する駆動電圧に充電されるように構成された蓄積キャパシタであって、駆動電圧は、フレーム中に発光素子に供給される駆動電流のレベルを制御する、蓄積キャパシタを備えてもよい。
人工現実システムは、ピクセルドライバ回路をさらに備えてもよく、ピクセルドライバ回路は、
PWM出力信号を受信するように接続された第1の制御端子、第1の入力端子、および発光素子に駆動電流が供給されるように接続された第1の出力端子を有する第1のトランジスタと、第1のトランジスタの第1の入力端子に接続された第2の出力端子、電圧源と蓄積キャパシタの出力端子との間の接続によって形成されるノードに接続された第2の入力端子、および蓄積キャパシタの入力端子に接続された第2の制御端子を有する第2のトランジスタとを含む。
アナログピクセル制御回路は、
スキャン信号を受信するように接続された第3の制御端子と、蓄積キャパシタの入力端子と第2のトランジスタの第2の制御端子との間の接続によって形成されるノードに接続された出力端子と、フレームのピクセルの所望の強度レベルに対応するn+mビットの制御ワードのmビットに対応する制御電圧を受信するように接続された入力端子とを有する第3のトランジスタをさらに備えてもよい。
第1のトランジスタおよび第2のトランジスタは、同じ型であってもよい。
第1のトランジスタおよび第2のトランジスタは、p型トランジスタであってもよい。
デジタルピクセル制御回路は、フレームのピクセルの所望の強度レベルに対応するn+mビットの制御ワードのnビットに基づいて、発光素子に駆動電流が供給されるフレームのサブフレーム数を制御するパルス幅変調(PWM)出力信号を生成し得る。
アナログピクセル制御回路は、フレームのピクセルの所望の強度レベルに対応するn+mビットの制御ワードのmビットに基づいて、フレーム中に発光素子に供給される駆動電流のレベルを制御し得る。
nはmより大きくてもよい。
nは5から10の整数であってもよく、mは2から5の整数であってもよい。
n+mビットの制御ワードによって定義される強度レベルの数は、2n+mであってもよい。
nビットは、n+mビットの制御ワードの最上位ビットであってもよく、mビットは、n+mビットの制御ワードの最下位ビットであってもよい。
デジタルピクセル制御回路は、n+mビットの制御ワードのnビットを記憶するように構成されたn個の1ビットメモリセルを含み得る。
n個の1ビットメモリセルの各々は、1ビットのスタティックランダムアクセスメモリ(SRAM)セルであってもよい。
デジタルピクセル制御回路は、フレームのピクセルの所望の強度レベルに対応するnビットの制御ワードに基づいて、発光素子に駆動電流が供給されるフレームのサブフレーム数を制御するパルス幅変調(PWM)出力信号を生成し得、アナログピクセル制御回路は、ピクセルの不均一性補償値に対応するmビットの制御ワードに基づいて、フレーム中に発光素子に供給される駆動電流のレベルを制御し得る。
本開示の第2の態様によれば、複数のピクセルを備えるディスプレイデバイスが提供され、複数のピクセルの各々は、
発光素子と、
発光素子に駆動電流が供給されるフレームのサブフレーム数を制御するパルス幅変調(PWM)出力信号を生成するデジタルピクセル制御回路と、
フレーム中に発光素子に供給される駆動電流のレベルを制御するアナログピクセル制御回路と
を含む。
PWM出力信号は、フレームのピクセルの所望の強度レベルに対応するnビットのn+mビットの制御ワードを備えるデジタルピクセル制御回路によって生成され得、アナログピクセル制御回路によって制御される駆動電流のレベルは、フレームのピクセルの所望の強度レベルに対応するn+mビットの制御ワードのmビットを含む。
デジタルピクセル制御回路によって生成されたPWM出力信号は、フレームのピクセルの所望の強度レベルに対応するnビット制御ワードを含み得、
アナログピクセル制御回路によって制御される駆動電流のレベルは、ピクセルの不均一性補償値に対応するmビットの制御ワードを含み得る。
本開示の第3の態様によれば、
デジタルピクセル制御回路を使用して、ディスプレイデバイスのピクセルの発光素子に駆動電流が供給されるフレームのサブフレーム数を制御するパルス幅変調(PWM)出力信号を生成することと、
アナログピクセル制御回路を使用して、フレーム中に発光素子に供給される駆動電流のレベルを制御することと
を含む方法が提供される。
詳細な説明
電子ディスプレイデバイスでは、ディスプレイの各ピクセル内の発光ダイオード(LED)の輝度または強度レベルは、デジタルピクセル駆動方式またはアナログピクセル駆動方式のいずれかによって制御され得る。デジタルパルス幅変調(PWM)方式では、各ピクセルに一定の電流が供給され、制御ワードのビット値に基づいてピクセルの発光時間を変化させることによってピクセル強度が制御される。アナログ方式では、各ピクセルの発光時間は一定であり、ピクセルを駆動するために使用される電流を変化させることによってピクセル強度が制御される。しかしながら、デジタルPWM方式においてnビットの強度制御を提供するために、各ピクセルは、各フレームのピクセル強度値を記憶するためにn個の1ビットメモリセルを必要とする。人工現実システムに関連する非常に小さいディスプレイサイズは、そのようなメモリセルに利用可能な物理的領域を制限する。例えば、人工現実ディスプレイの寸法は、2×2ミリメートル(mm)程度であり得る。したがって、強度値を記憶するために各ピクセルに適合し得るメモリセルの数が減るため、ディスプレイサイズが小さいほど利用可能なピクセル強度レベルが小さくなり得る。
電子ディスプレイデバイスでは、ディスプレイの各ピクセル内の発光ダイオード(LED)の輝度または強度レベルは、デジタルピクセル駆動方式またはアナログピクセル駆動方式のいずれかによって制御され得る。デジタルパルス幅変調(PWM)方式では、各ピクセルに一定の電流が供給され、制御ワードのビット値に基づいてピクセルの発光時間を変化させることによってピクセル強度が制御される。アナログ方式では、各ピクセルの発光時間は一定であり、ピクセルを駆動するために使用される電流を変化させることによってピクセル強度が制御される。しかしながら、デジタルPWM方式においてnビットの強度制御を提供するために、各ピクセルは、各フレームのピクセル強度値を記憶するためにn個の1ビットメモリセルを必要とする。人工現実システムに関連する非常に小さいディスプレイサイズは、そのようなメモリセルに利用可能な物理的領域を制限する。例えば、人工現実ディスプレイの寸法は、2×2ミリメートル(mm)程度であり得る。したがって、強度値を記憶するために各ピクセルに適合し得るメモリセルの数が減るため、ディスプレイサイズが小さいほど利用可能なピクセル強度レベルが小さくなり得る。
さらに、ディスプレイデバイス内の異なるLEDは、同じように駆動されても、異なる輝度レベルで発光し得る。この不均一性は、製造プロセスのばらつき、ディスプレイパネルアセンブリの不一致、または他の様々な理由に起因し得る。
一般に、本開示に記載の技術によれば、ディスプレイデバイスは、各ピクセル内にデジタルピクセル制御回路およびアナログピクセル制御回路を含むハイブリッドピクセル制御回路を使用して、ディスプレイ内のピクセルの強度の制御を提供する。デジタルピクセル制御回路は、デジタルPWM技術を使用して、駆動電流がピクセルに供給されるフレームのサブフレーム数(換言すれば、ピクセルが発光する各フレーム内のサブフレーム数)を制御する。アナログピクセル制御回路は、フレーム中にピクセルに供給される駆動電流のレベルを制御する。いくつかの例では、各ピクセルの階調強度レベルの総数は、バイナリn+mビットの制御ワードによって定義され、nビットは、デジタルピクセル制御回路によって決定されるように駆動電流がピクセルに供給されるフレームのサブフレーム数を定義し、mビットは、アナログピクセル制御回路によってピクセルに供給される駆動電流のレベルを定義する。したがって、各ピクセルの強度レベルの総数は2n+mである。
あるいは、他の例では、nビットは、ピクセル強度のデジタルPWM制御のためにデジタルピクセル制御回路によって使用されてもよく、mビットは、不均一性補償のために各ピクセル内の発光素子に供給される駆動電流を制御するためにアナログピクセル制御回路によって使用されてもよい。
いくつかの例では、アナログピクセル制御回路は、蓄積キャパシタおよびトランジスタを含む。蓄積キャパシタの入力端子は、トランジスタの出力端子に接続されている。いくつかの例では、フレームの始めに、キャパシタは、ピクセルの強度レベルに対応するn+mビットの制御ワードのmビットに基づいて所定の電圧に充電される。各フレームの間、キャパシタに蓄積された電圧は、ピクセル内の発光素子に供給される駆動電流のレベルを決定する。他の例では、各フレームについて、キャパシタは、ピクセルの不均一性補償値に対応するmビットの制御ワードのmビットに基づいて同じ所定の電圧に充電される。キャパシタに蓄積された電圧は、ピクセルに供給される駆動電流のレベルを決定する。
このようにして、デジタルおよびアナログのハイブリッドピクセル駆動アーキテクチャは、n+mビットの強度制御を提供し得るが、各ピクセルのデジタルピクセル制御回路の実装のためにn個の1ビットメモリセルのみを必要とする。同時に、アナログピクセル制御回路は、単一のキャパシタおよび単一のトランジスタを使用して実装されてもよい。n+mビットの強度制御を提供し、各ピクセルに必要なメモリセルの数を減らすことによって、この実装形態は、非常に小さいディスプレイサイズに有利であり得る。あるいは、デジタルピクセル制御回路によって提供されるnビットを強度制御に使用し、アナログピクセル制御回路によって提供されるmビットを使用して、不均一性補償のためにディスプレイをプログラムし得る。
図1Aは、本開示に記載された技術による、HMDがピクセル強度のデジタル制御およびアナログ制御を含む例示的なマルチデバイス人工現実システムを示すブロック図である。図1Aの例では、人工現実システム10は、HMD112と周辺デバイス136とを含み、いくつかの例では、1つまたは複数の外部センサー90および/またはコンソール106を含み得る。
示されているように、HMD112は、一般に、ユーザ110によって装着され、ユーザ110に人工現実コンテンツ122を提示するための電子ディスプレイと光学アセンブリとを備える。さらに、HMD112は、HMD112の動きを追跡するための1つまたは複数のセンサー(例えば、加速度計)を含み、周囲の物理的環境の画像データをキャプチャするための1つまたは複数の撮像デバイス138(例えば、カメラ、ラインスキャナ)を含み得る。ヘッドマウントディスプレイとして示されているが、ARシステム10は、代替的に、または追加として、ユーザ110に人工現実コンテンツ122を提示するための眼鏡または他のディスプレイデバイスを含み得る。
本例において、コンソール106は、ゲーム機、ワークステーション、デスクトップコンピュータ、またはラップトップなどの単一のコンピューティングデバイスとして示されている。他の例では、コンソール106は、分散コンピューティングネットワーク、データセンター、またはクラウドコンピューティングシステムなど、複数のコンピューティングデバイスにわたって分散され得る。本例に示すように、コンソール106、HMD112、およびセンサー90は、ネットワーク104を介して通信可能に結合され得、ネットワーク104は、有線ネットワーク、またはWi-Fi、メッシュネットワーク、もしくは短距離無線通信媒体、もしくはそれらの組合せなどの無線ネットワークであり得る。HMD112は、この例では、コンソール106と通信しているものとして、例えば、コンソール106にテザリングされるかまたはコンソール106とワイヤレス通信しているものとして示されているが、いくつかの実装形態では、HMD112は、スタンドアロンモバイル人工現実システムとして動作する。
概して、人工現実システム10は、ユーザ110への表示のための人工現実コンテンツ122をレンダリングするために、現実世界の3D物理的環境からキャプチャされた情報を使用する。図1Aの例では、ユーザ110は、HMD112および/またはコンソール106上で実行している人工現実アプリケーションによって構築およびレンダリングされた人工現実コンテンツ122を観視する。いくつかの例では、人工現実コンテンツ122は、複合現実および/または拡張現実を作り出すために、現実世界の像(例えば、手132、周辺デバイス136、壁121)と、仮想オブジェクト(例えば、仮想コンテンツアイテム124、126および仮想ユーザインターフェース137)との混合物を含み得る。いくつかの例では、仮想コンテンツアイテム124、126は、人工現実コンテンツ122内の特定の位置にマッピング(例えば、ピニング、ロック、配置)され得る。仮想コンテンツアイテムについての位置は、例えば、壁121または地面のうちの1つに対するものとして固定され得る。仮想コンテンツアイテムについての位置は、例えば、周辺デバイス136またはユーザに対するものとして可変であり得る。いくつかの例では、人工現実コンテンツ122内の仮想コンテンツアイテムの特定の位置は、現実世界の物理的環境内の(例えば、物理的オブジェクトの表面上の)位置に関連する。
この例では、周辺デバイス136は、ARシステム10が仮想ユーザインターフェース137をその上にオーバーレイする表面を有する、物理的な現実世界のデバイスである。周辺デバイス136は、プレゼンスセンシティブ表面のロケーションにタッチするかまたはそのロケーション上をホバリングする1つまたは複数のオブジェクト(例えば、フィンガー(finger)、スタイラス)の存在を検出することによってユーザ入力を検出するための1つまたは複数のプレゼンスセンシティブ表面を含み得る。いくつかの例では、周辺デバイス136は、プレゼンスセンシティブディスプレイであり得る出力ディスプレイを含み得る。いくつかの例では、周辺デバイス136は、スマートフォン、タブレットコンピュータ、個人情報端末(PDA)、または他のハンドヘルドデバイスであり得る。いくつかの例では、周辺デバイス136は、スマートウォッチ、スマートリング、または他のウェアラブルデバイスであり得る。周辺デバイス136はまた、キオスク、あるいは他の固定または移動システムの一部であり得る。周辺デバイス136は、コンテンツをスクリーンに出力するためのディスプレイデバイスを含むことも含まないこともある。
図1Aにおいて示されている例示的な人工現実体験においては、仮想コンテンツアイテム124、126は、壁121上の位置にマッピングされている。図1Aの例はまた、仮想コンテンツアイテム124が人工現実コンテンツ122内でのみ壁121上に部分的に現れることを示し、この仮想コンテンツが現実世界の物理的環境内に存在しないことを示す。仮想ユーザインターフェース137は、周辺デバイス136の表面にマッピングされる。その結果、ARシステム10は、人工現実環境中の周辺デバイス136の位置に対してロックされたユーザインターフェース位置において、HMD112における表示のための仮想ユーザインターフェース137を人工現実コンテンツ122の一部としてレンダリングする。図1Aは、仮想ユーザインターフェース137が、人工現実コンテンツ122内でのみ周辺デバイス136上に現れることを示しており、この仮想コンテンツは現実世界の物理的環境において存在しないことを示している。
人工現実システム10は、仮想コンテンツアイテムのロケーションの少なくとも一部分がユーザ110の視野130中にあるという決定に応答して、1つまたは複数の仮想コンテンツアイテムをレンダリングし得る。例えば、人工現実システム10は、周辺デバイス136がユーザ110の視野130内にある場合のみ、仮想ユーザインターフェース137を周辺デバイス136上にレンダリングし得る。
動作中に、人工現実アプリケーションは、基準系、一般にHMD112の観察パースペクティブについてのポーズ情報を追跡および計算することによって、ユーザ110への表示のための人工現実コンテンツ122を構築する。基準系としてHMD112を使用して、およびHMD112の現在の推定されたポーズによって決定された現在の視野130に基づいて、人工現実アプリケーションは3D人工現実コンテンツをレンダリングし、3D人工現実コンテンツは、いくつかの例では、少なくとも部分的に、ユーザ110の現実世界の3D物理的環境上にオーバーレイされ得る。このプロセス中、人工現実アプリケーションは、動き情報およびユーザコマンドなどのHMD112から受信した検知データ、いくつかの例では、外部カメラなどの任意の外部センサー90からのデータを使用して、ユーザ110による動きなどの実世界の物理的環境内の3D情報および/またはユーザ110に関する特徴追跡情報を捕捉する。人工現実アプリケーションは、検知データに基づいて、HMD112の参照フレームの現在の姿勢を決定し、現在の姿勢に従って、人工現実コンテンツ122をレンダリングする。
人工現実システム10は、ユーザ110のリアルタイム視線追跡によって決定され得るようなユーザ110の現在の視野130または他の条件に基づいて、仮想コンテンツアイテムの生成およびレンダリングをトリガし得る。より詳細には、HMD112の撮像デバイス138は、撮像デバイス138の視野130内にある、現実世界の物理的環境中のオブジェクトを表す画像データをキャプチャする。視野130は、典型的には、HMD112の視点に対応する。いくつかの例では、人工現実アプリケーションは、複合現実および/または拡張現実を備える人工現実コンテンツ122を提示する。図1Aに示されているように、人工現実アプリケーションは、人工現実コンテンツ122内でなど、仮想オブジェクトに沿った視野130内にある、ユーザ110の周辺デバイス136、手132、および/または腕134の部分など、現実世界のオブジェクトの画像をレンダリングし得る。他の例において、人工現実アプリケーションは、人工現実コンテンツ122内の視野130内にあるユーザ110の周辺デバイス136、手132、および/または腕134の一部分の仮想表現をレンダリングし得る(例えば、実世界の物体を仮想物体としてレンダリングする)。いずれの例においても、ユーザ110は、人工現実コンテンツ122内の視野130内にある自分の手132、腕134、周辺デバイス136、および/または他の任意の実世界の物体の一部分を観視することができる。他の例において、人工現実アプリケーションは、ユーザの手132または腕134の表現をレンダリングしない場合がある。
動作中に、人工現実システム10は、随意にユーザ110の個々のフィンガーまたは親指、および/あるいは腕134のすべてまたは部分を識別することを含めて、周辺デバイス136、手132を識別するために、HMD112の撮像デバイス138によってキャプチャされた画像データ内でオブジェクト認識を実施する。さらに、人工現実システム10は、時間のスライディングウィンドウにわたって、周辺デバイス136、(随意に手の特定の指(digit)を含む)手132、および/または腕134の部分の位置、配向、および構成を追跡する。いくつかの例では、周辺デバイス136は、周辺デバイス136の動きまたは配向を追跡するための1つまたは複数のセンサー(例えば、加速度計)を含む。
上述したように、人工現実システム10の複数のデバイスがAR環境中で連携して作動し得、各デバイスは、別々の物理的電子デバイスおよび/または1つまたは複数の物理的デバイス内の別々の集積回路(例えば、システムオンチップ(SOC))であり得る。この例では、周辺デバイス136は、人工現実体験を提供するためのARシステム10内で一緒に動作するように、HMD112と動作可能にペアリングされる。例えば、周辺デバイス136およびHMD112は、共同処理デバイス(co-processing device)として互いに通信し得る。一例として、ユーザが、周辺デバイス136上にオーバーレイされた仮想ユーザインターフェース137の仮想ユーザインターフェース要素のうちの1つに対応するロケーションにおいて仮想環境中でユーザインターフェースジェスチャーを実施したとき、ARシステム10は、ユーザインターフェースを検出し、HMD112にレンダリングされるアクションを実施する。
いくつかの例示的な実装形態では、本明細書で説明されるように、周辺デバイス136およびHMD112は各々、コアプリケーションプロセッサ、センサーアグリゲータ、ディスプレイコントローラなどとして動作するSoCなど、人工現実/仮想現実アプリケーションをサポートするように構成されている1つまたは複数のシステムオンチップ(SoC)集積回路を含み得る。
本開示の技術によれば、HMD112は、ピクセル強度のデジタル制御およびアナログ制御を含む。例えば、HMD112は、各ピクセル内にデジタルピクセル制御回路およびアナログピクセル制御回路を含むハイブリッドピクセル制御回路を含み得る。いくつかの例では、デジタルピクセル制御回路およびアナログピクセル制御回路は、各ピクセルに対してn+mビットの階調強度制御を提供する。あるいは、階調ピクセル強度のデジタルPWM制御のためにデジタルピクセル制御回路によってnビットが使用されてもよく、不均一性補償のためにピクセルに供給される駆動電流を制御するためにアナログピクセル制御回路によってmビットが使用されてもよい。
図1Bは、本開示に記載された技術による、HMDがピクセル強度のデジタル制御およびアナログ制御を含む別の例示的なマルチデバイス人工現実システムを示すブロック図である。図1Aの人工現実システム10と同様に、いくつかの例では、図1Bの人工現実システム20は、マルチユーザ人工現実環境内で仮想表面に関する仮想コンテンツアイテムを生成およびレンダリングし得る。人工現実システム20はまた、様々な例において、ユーザによる周辺デバイス136との1つまたは複数の特定の対話の検知に応答して、特定の仮想コンテンツアイテムおよび/またはグラフィカルユーザインターフェース要素を生成してユーザに対してレンダリングすることが可能である。例えば、周辺デバイス136は、ユーザが「ステージングする」ためのステージデバイスとして働くか、または場合によっては仮想表面と対話し得る。
図1Bの例では、人工現実システム20は、外部カメラ102Aおよび102B(まとめて、「外部カメラ102」)と、HMD112A~112C(まとめて、「HMD112」)と、コントローラ114Aおよび114B(まとめて、「コントローラ114」)と、コンソール106と、センサー90とを含む。図1Bに示されているように、人工現実システム20は、コンソール106および/またはHMD112上で実行している人工現実アプリケーションが、ユーザ110A~110C(まとめて、「ユーザ110」)の各々に、それぞれのユーザについての対応する基準系の現在の観察パースペクティブに基づいて人工現実コンテンツを提示する、マルチユーザ環境を表す。すなわち、この例では、人工現実アプリケーションは、HMD112の各々についての基準系についてのポーズ情報を追跡および計算することによって、人工コンテンツを構築する。人工現実システム20は、カメラ102、HMD112、およびコントローラ114から受信されたデータを使用して、HMD112の対応する基準フレームに関する更新された姿勢情報を算出する際に使用するために、ユーザ110による運動などの現実世界の環境内の3D情報、ならびに/またはユーザ110およびオブジェクト108に関する追跡情報を取り込む。一例として、人工現実アプリケーションは、HMD112Cについて決定された現在の観察パースペクティブに基づいて、仮想オブジェクト128A~128B(まとめて、「仮想オブジェクト128」)を、現実世界のオブジェクト108A~108B(まとめて、「現実世界のオブジェクト108」)上に空間的にオーバーレイされたものとして有する、人工現実コンテンツ122をレンダリングし得る。さらに、HMD112Cのパースペクティブから、人工現実システム20は、それぞれ、ユーザ110A、110Bについての推定された位置に基づいて、アバター120A、120Bをレンダリングする。
HMD112の各々は、人工現実システム20内でコンカレントに動作する。図1Bの例では、ユーザ110の各々は、人工現実アプリケーション内の「プレーヤ」または「参加者」であってもよく、ユーザ110のいずれも、人工現実アプリケーション内の「見物人」または「観察者」であってもよい。HMD112Cは、ユーザ110Cの手132および/または腕134を追跡し、視野130内にある手132の部分を人工現実コンテンツ122内の仮想手132としてレンダリングすることにより、図1AのHMD112と実質的に同様に動作し得る。HMD112Bは、ユーザ110Bによって保持されたコントローラ114からユーザ入力を受信し得る。いくつかの例では、コントローラ114Aおよび/または114Bは、図1Aの周辺デバイス136に対応し、図1Aの周辺デバイス136と実質的に同様に動作することができる。HMD112Aも、図1AのHMD112と実質的に同様に動作し、ユーザ110Aの手132A、132Bによって周辺デバイス136上で、または周辺デバイス136を使用して実行されるジェスチャーの形態のユーザ入力を受信し得る。HMD112Bは、ユーザ110Bによって保持されたコントローラ114からユーザ入力を受信し得る。コントローラ114は、Bluetoothなどの短距離ワイヤレス通信のニアフィールド通信を使用して、ワイヤード通信リンクを使用して、または他のタイプの通信リンクを使用してHMD112Bと通信していることがある。
図1Aに関して上記で説明された例と同様の様式で、人工現実システム20のコンソール106および/またはHMD112Cは、仮想コンテンツアイテム129(例えば、GIF、写真、アプリケーション、ライブストリーム、ビデオ、テキスト、ウェブブラウザ、描画、アニメーション、3Dモデル、(2次元および3次元のデータセットを含む)データファイルの表現、または任意の他の可視媒体)を含む仮想表面を生成およびレンダリングし、仮想コンテンツアイテム129は、仮想コンテンツアイテム129に関連する壁121の部分がHMD112Cの視野130内に来たとき、ユーザ110Cに表示された人工現実コンテンツ122上にオーバーレイされ得る。図1Bに示されているように、HMD112Cのカメラ138を介してキャプチャされた画像データに加えてまたはその代替として、外部カメラ102からの入力データが、手の指(フィンガー、親指)の個体および/または組合せの移動を含む、ユーザ110Cの手132など、ユーザ110の周辺デバイス136ならびに/または手および腕の特定の動き、構成、位置、および/または配向を追跡および検出するために使用され得る。
いくつかの態様では、人工現実アプリケーションは、コンソール106上で稼働することができ、HMD112Aのユーザによって実施され得る入力ジェスチャーを識別するために、手132Bの構成、位置、および/または配向を分析するために撮像デバイス102Aおよび102Bを利用することができる。同様に、HMD112Cは、HMD112Cのユーザによって実施され得るジェスチャーを入力するために、周辺デバイス136および手132Cの構成、位置および/または配向を分析するために撮像デバイス138を利用することができる。いくつかの例では、周辺デバイス136は、周辺デバイス136の動きまたは配向を追跡するための1つまたは複数のセンサー(例えば、加速度計)を含む。人工現実アプリケーションは、図1Aに関して上述されているのと同様の様式で、そのようなジェスチャー、動き、および配向に応答して、仮想コンテンツアイテムおよび/またはUI要素をレンダリングし得る。
撮像デバイス102および138は、可視光スペクトル、赤外スペクトル、または他のスペクトルにおいて画像をキャプチャし得る。オブジェクト、オブジェクトポーズ、およびジェスチャーを識別するための本明細書で説明される画像処理は、例えば、赤外画像、可視光スペクトル画像などを処理することを含み得る。
人工現実システム20のデバイスは、AR環境中で連携して作動し得る。この例では、周辺デバイス136は、ARシステム20内で一緒に動作するように、HMD112Cとペアリングされる。同様に、コントローラ114は、ARシステム20内で一緒に動作するように、HMD112Bとペアリングされる。周辺デバイス136、HMD112、およびコントローラ114はそれぞれ、人工現実アプリケーションのための動作環境を可能にするように構成されている1つまたは複数のSoC集積回路を含むことが可能である。
本開示の技術によれば、HMD112A、HMD112Bおよび/またはHMD112Cのいずれかは、ピクセル強度のデジタル制御およびアナログ制御を含む。例えば、HMD112のいずれかは、各ピクセル内にデジタルピクセル制御回路およびアナログピクセル制御回路を含むハイブリッドピクセル制御回路を含み得る。いくつかの例では、デジタルピクセル制御回路およびアナログピクセル制御回路は、各ピクセルに対してn+mビットの階調強度制御を提供する。あるいは、階調ピクセル強度のデジタルPWM制御のためにデジタルピクセル制御回路によってnビットが使用されてもよく、不均一性補償のためにピクセルに供給される駆動電流を制御するためにアナログピクセル制御回路によってmビットが使用されてもよい。
図2Aは、本開示に記載された技術による、ピクセル強度のデジタル制御およびアナログ制御を含む例示的なHMD112および例示的な周辺デバイスを示すブロック図である。図2AのHMD112は、図1Aおよび図1BのHMD112のいずれかの一例であり得る。HMD112は、図1A、図1Bの人工現実システム10、20などの人工現実システムの一部であってもよく、本明細書に記載された技術を実装するように構成されたスタンドアロンモバイル人工現実システムとして動作してもよい。
本例において、HMD112は、前部剛体と、HMD112をユーザに固定するためのバンドとを含む。さらに、HMD112は、ユーザに人工現実コンテンツを提示するように構成された内向き電子ディスプレイ203を含む。電子ディスプレイ203は、液晶ディスプレイ(LCD)、量子ドットディスプレイ、ドットマトリックスディスプレイ、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、ブラウン管(CRT)ディスプレイ、e-ink、あるいは、モノクロ、カラー、または、視覚出力を生成可能な任意の他のタイプのディスプレイなどの、任意の好適なディスプレイ技術であってもよい。いくつかの例では、電子ディスプレイは、ユーザのそれぞれの目に別々の画像を与える立体ディスプレイである。いくつかの例では、HMD112のフロント剛性体に対する向きおよび位置が分かっているディスプレイ203が、HMD112およびユーザのその時の見る眺望に従って人工現実コンテンツをレンダリングするためのHMD112の位置および向きを追跡するとき、ローカルオリジンと言われることもある基準フレームとして使用される。他の例では、HMD112は、眼鏡またはゴーグルなど、他の装着可能なヘッドマウントディスプレイの形態をとり得る。
図2Aにさらに示されているように、この例では、HMD112は、HMD112の現在の加速度を示すデータを出力する(慣性測定ユニットまたは「IMU」とも呼ばれる)1つまたは複数の加速度計、HMD112のロケーションを示すデータを出力するGPSセンサー、様々なオブジェクトからのHMD112の距離を示すデータを出力するレーダーまたはソナー、あるいは、HMD112または物理的環境内の他のオブジェクトのロケーションまたは配向の指示を提供する他のセンサーなど、1つまたは複数の動きセンサー206をさらに含む。その上、HMD112は、物理的環境を表す画像データを出力するように構成された、ビデオカメラ、レーザースキャナ、ドップラーレーダースキャナ、深度スキャナなど、統合された撮像デバイス138Aおよび138B(まとめて、「撮像デバイス138」)を含み得る。より詳細には、撮像デバイス138は、一般にHMD112の観察パースペクティブと対応する、撮像デバイス138の視野130A、130B内にある、物理的環境中の(周辺デバイス136および/または手132を含む)オブジェクトを表す画像データをキャプチャする。HMD112は、内部制御ユニット210を含み、内部制御ユニット210は、内部電源と、検知データを処理してディスプレイ203上に人工現実コンテンツを提示するプログラム可能な動作を実行するための動作環境を提供するための、1つまたは複数のプロセッサ、メモリ、およびハードウェアを有する1つまたは複数のプリント回路基板とを含み得る。
一例では、制御ユニット210は、検知データ(例えば、撮像デバイス138および/または102によってキャプチャされた画像データ、GPSセンサーからの位置情報)に基づいて、ディスプレイ203に表示するために、撮像デバイス138の視野130A、130B内に含まれる位置に関連付けられた1つまたは複数の仮想コンテンツアイテム(例えば、図1Aの仮想コンテンツアイテム124、126)を含む仮想表面を生成しレンダリングするように構成される。図1A~図1Bを参照して説明されたように、仮想コンテンツアイテムは仮想表面内の位置に関連付けられる場合があり、仮想表面は現実世界の環境内の物理表面に関連付けられる場合があり、制御ユニット210は、仮想コンテンツ(またはその一部分)に関連付けられた位置が現在の視野130A、130B内にあるという決定に応答して、ディスプレイ203に表示するための仮想コンテンツアイテム(またはその一部分)をレンダリングするように構成することができる。同じ例では、仮想表面は、平面または他の表面(例えば、壁)上の位置に関連付けられ、制御ユニット210は、その仮想表面内に含まれる任意の仮想コンテンツアイテムの部分を、それらの部分が視野130A、130B内にあるときに生成しレンダリングする。
一例では、制御ユニット210は、検知データに基づいて、ユーザによって実行された特定のジェスチャーまたはジェスチャーの組合せを識別し、それに応答してアクションを実行するように構成される。例えば、1つの識別されたジェスチャーに応答して、制御ユニット210は、周辺デバイス136の位置に対してロックされたユーザインターフェースの位置において、電子ディスプレイ203に表示するための特定のユーザインターフェースを生成しレンダリングすることができる。例えば、制御ユニット210は、周辺デバイス136の表面220または周辺デバイス136に近接する(例えば、周辺デバイス136の上、下、または近傍の)表面220に1つまたは複数のUI要素(例えば、仮想ボタン)を含むユーザインターフェースを生成しレンダリングすることができる。制御ユニット210は、撮像デバイス138によって取り込まれた画像データ内のオブジェクト認識を実行して、周辺デバイス136、および/またはユーザの手132、指、親指、腕、もしくは別の部分を識別し、周辺デバイス136の動き、位置、構成など、および/またはユーザの識別された部分を追跡して、ユーザによって実行された事前定義ジェスチャーを識別することができる。事前定義ジェスチャーを識別したことに応答して、制御ユニット210は、ユーザインターフェースに関連付けられたオプションセットからオプションを選択すること(例えば、UIメニューからオプションを選択すること)、ジェスチャーを入力(例えば、文字)に変換すること、アプリケーションを起動すること、仮想コンテンツを操作すること(例えば、仮想コンテンツアイテムを移動、回転させること)、仮想マーキングを生成しレンダリングすること、レーザーポインタを生成しレンダリングすること、またはさもなければコンテンツを表示することなどのいくつかのアクションを取る。例えば、制御ユニット210は、ユーザインターフェースを見せる(例えば、横向きまたは水平(図示せず)に周辺デバイスを回転する)ための「トリガ」として指定された事前定義ジェスチャーを検出したことに応答して、メニューなどのユーザインターフェースを動的に生成し提示することができる。いくつかの例では、制御ユニット210は、検知データに基づいて、レンダリングされたユーザインターフェースに対するユーザ入力(例えば、仮想UI要素に対して実行されたタッピングジェスチャー)を検出する。いくつかの例では、制御ユニット210は、オブジェクト認識、運動追跡、およびジェスチャー検出、またはそれらの任意の一部を実行することができる、コンソール106などの外部デバイスからの指示に応答して、そのような機能を実行する。
一例として、制御ユニット210は、撮像デバイス138Aおよび138Bを利用して、周辺デバイス136、手132、および/または腕134の構成、位置、動き、および/または向きを分析し、周辺デバイス136に対してユーザによって実行され得る、ユーザインターフェースジェスチャー、選択ジェスチャー、スタンピングジェスチャー、並進ジェスチャー、回転ジェスチャー、描画ジェスチャー、指示ジェスチャーなどを識別することができる。制御ユニット210は、(UI要素を含む)UIメニューおよび/または(任意の仮想コンテンツアイテムを含む)仮想表面をレンダリングし、以下にさらに詳細に記載されるように、周辺デバイスに対してユーザによって実行されたユーザインターフェースジェスチャー、選択ジェスチャー、スタンピングジェスチャー、並進ジェスチャー、回転ジェスチャー、および描画ジェスチャーの検出に基づいて、そのUIメニューおよび/または仮想表面とユーザがインターフェースすることを可能にすることができる。
一例では、周辺デバイス136の表面220は、静電、導電、抵抗、音響、または他の技術を使用してタッチ入力および/またはホバリング入力を検出する表面などの、存在検知表面である。いくつかの例では、周辺デバイス136の表面220は、タッチスクリーン(例えば、静電性タッチスクリーン、抵抗性タッチスクリーン、表面弾性波(SAW)タッチスクリーン、赤外線タッチスクリーン、光学的画像タッチスクリーン、音響パルス認識タッチスクリーン、または任意の他のタッチスクリーン)である。そのような例では、周辺デバイス136は、タッチスクリーン220上にユーザインターフェースまたは他の仮想要素(例えば、仮想マーキング)をレンダリングし、タッチスクリーン220上のユーザ入力(例えば、タッチ入力および/またはホバリング入力)を検出することができる。その例においては、周辺デバイス136は、無線通信リンク(例えば、Wi-Fi、Bluetoothなどの短距離無線通信のニアフィールド通信)を使用して、有線通信リンク(図示せず)を使用して、またはその他のタイプの通信リンクを使用して、如何なる検出されたユーザ入力もHMD112(および/または図1Aのコンソール106)へ通信することができる。いくつかの例では、周辺デバイスは、(例えば、仮想UI要素を選択し、仮想UI要素を介してスクロールするために)仮想コンテンツと対話するための1つまたは複数の入力デバイス(例えば、ボタン、トラックボール、スクロールホイール)を含むことができる。
本開示の技術によれば、図2AのHMD112は、ピクセル強度のデジタル制御およびアナログ制御を含む。例えば、HMD112は、各ピクセル内にデジタルピクセル制御回路およびアナログピクセル制御回路を含むハイブリッドピクセル制御回路を含み得る。いくつかの例では、デジタルピクセル制御回路およびアナログピクセル制御回路は、各ピクセルに対してn+mビットの階調強度制御を提供する。あるいは、階調ピクセル強度のデジタルPWM制御のためにデジタルピクセル制御回路によってnビットが使用されてもよく、不均一性補償のためにピクセルに供給される駆動電流を制御するためにアナログピクセル制御回路によってmビットが使用されてもよい。
図2Bは、本開示に記載された技術による、ピクセル強度のデジタル制御およびアナログ制御を含む別の例示的なHMD112を示すブロック図である。図2Bに示されているように、HMD112は、眼鏡の形態をとり得る。図2AのHMD112は、図1Aおよび図1BのHMD112のいずれかの一例であり得る。HMD112は、図1A、図1Bの人工現実システム10、20などの人工現実システムの一部であってもよく、本明細書に記載された技術を実装するように構成されたスタンドアロンモバイル人工現実システムとして動作してもよい。
本例において、HMD112は、HMD112をユーザの鼻に乗せることを可能にするためのブリッジを含む前部フレームと、HMD112をユーザに固定するようにユーザの耳にわたって延在するテンプル(または「アーム」)とを備える眼鏡である。さらに、図2BのHMD112は、人工現実コンテンツをユーザに提示するように構成された内向き電子ディスプレイ203Aおよび203B(まとめて、「電子ディスプレイ203」)を含む。電子ディスプレイ203は、液晶ディスプレイ(LCD)、量子ドットディスプレイ、ドットマトリックスディスプレイ、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、ブラウン管(CRT)ディスプレイ、e-ink、あるいは、モノクロ、カラー、または、視覚出力を生成可能な任意の他のタイプのディスプレイなどの、任意の好適なディスプレイ技術であってもよい。図2Bに示された例では、電子ディスプレイ203は、ユーザの各眼に別々の画像を提供するための立体ディスプレイを形成する。いくつかの例では、HMD112の前面フレームに対するディスプレイ203の知られている配向および位置は、HMD112およびユーザの現在の観察パースペクティブに従って人工現実コンテンツをレンダリングするためにHMD112の位置および配向を追跡するとき、ローカル原点とも呼ばれる基準系として使用される。
図2Bにおいてさらに示されているように、この例においては、HMD112はさらに、HMD112の現在の加速度を示すデータを出力する1つもしくは複数の加速度計(慣性測定ユニットもしくは「IMU」とも呼ばれる)、HMD112のロケーションを示すデータを出力するGPSセンサー、様々なオブジェクトからのHMD112の距離を示すデータを出力するレーダーもしくはソナー、または物理的環境内のHMD112もしくはその他のオブジェクトのロケーションもしくは配向の表示を提供するその他のセンサーなど、1つまたは複数の動きセンサー206を含む。その上、HMD112は、物理的環境を表す画像データを出力するように構成された、ビデオカメラ、レーザースキャナ、ドップラーレーダースキャナ、深度スキャナなど、統合された撮像デバイス138Aおよび138B(まとめて、「撮像デバイス138」)を含み得る。HMD112は、内部制御ユニット210を含み、内部制御ユニット210は、内部電源と、検知データを処理してディスプレイ203上に人工現実コンテンツを提示するプログラム可能な動作を実行するための動作環境を提供するための、1つまたは複数のプロセッサ、メモリ、およびハードウェアを有する1つまたは複数のプリント回路基板とを含み得る。
本開示の技術によれば、図2BのHMD112は、ピクセル強度のデジタル制御およびアナログ制御を含む。例えば、HMD112は、各ピクセル内にデジタルピクセル制御回路およびアナログピクセル制御回路を含むハイブリッドピクセル制御回路を含み得る。いくつかの例では、デジタルピクセル制御回路およびアナログピクセル制御回路は、各ピクセルに対してn+mビットの階調強度制御を提供する。あるいは、階調ピクセル強度のデジタルPWM制御のためにデジタルピクセル制御回路によってnビットが使用されてもよく、不均一性補償のためにピクセルに供給される駆動電流を制御するためにアナログピクセル制御回路によってmビットが使用されてもよい。
図3は、本開示に記載された技術による、図1A、図1Bのマルチデバイス人工現実システム10、20のコンソール106、ピクセル強度のデジタル制御およびアナログ制御を含むHMD112、および周辺デバイス136の例示的な実装形態を示すブロック図である。図3の例では、コンソール106は、HMD112および/または外部センサーから受信された動きデータおよび画像データなどの検知データに基づいて、HMD112のための姿勢追跡、ジェスチャー検出、およびユーザインターフェース、ならびに仮想表面の生成およびレンダリングを実行する。
本例において、HMD112は、1つまたは複数のプロセッサ302およびメモリ304を含み、これらは、いくつかの例において、例えば、組み込みのリアルタイムマルチタスクオペレーティングシステムまたは他のタイプのオペレーティングシステムであり得るオペレーティングシステム305を実行するためのコンピュータプラットフォームを提供する。次に、オペレーティングシステム305は、アプリケーションエンジン340を含む1つまたは複数のソフトウェア構成要素307を実行するためのマルチタスク動作環境を提供する。図2Aおよび図2Bの例に関して説明されるように、プロセッサ302は、電子ディスプレイ203と、動きセンサー206と、撮像デバイス138とに結合される。いくつかの例では、プロセッサ302とメモリ304とが、別々のディスクリート部品であることがあり得る。別の例では、メモリ304は、単一の集積回路内にプロセッサ302と併置されたオンチップメモリであることがあり得る。
一般に、コンソール106は、HMD112のためにジェスチャー検出とユーザインターフェースおよび/または仮想コンテンツ生成とを実施するために、カメラ102(図1B)および/またはHMD112の撮像デバイス138(図1A、図2A、図2B)から受信された画像および追跡情報を処理するコンピューティングデバイスである。いくつかの例において、コンソール106は、ワークステーション、デスクトップコンピュータ、ラップトップ、またはゲームシステムなどの単一のコンピューティングデバイスである。いくつかの例において、プロセッサ312および/またはメモリ314などのコンソール106の少なくとも一部分は、クラウドコンピューティングシステム、データセンター全体にわたって、またはインターネット、別のパブリックもしくはプライベート通信ネットワーク、例えばブロードバンド、セルラ、Wi-Fi、ならびに/またはコンピューティングシステム、サーバ、およびコンピューティングデバイス間でデータを送信するための他のタイプの通信ネットワークなどのネットワーク全体にわたって分散され得る。
図3の例では、コンソール106は、1つまたは複数のプロセッサ312およびメモリ314を含み、1つまたは複数のプロセッサ312およびメモリ314は、いくつかの例では、オペレーティングシステム316を実行するためのコンピュータプラットフォームを提供し、オペレーティングシステム316は、例えば組み込みのリアルタイムマルチタスクオペレーティングシステム、または他のタイプのオペレーティングシステムであり得る。オペレーティングシステム316は、1つまたは複数のソフトウェア構成要素317を実行するためのマルチタスキング動作環境を提供する。プロセッサ312は、1つまたは複数のI/Oインターフェース315に結合され、1つまたは複数のI/Oインターフェース315は、キーボード、ゲームコントローラ、ディスプレイデバイス、撮像デバイス、HMD、周辺デバイスなど、外部デバイスと通信するための1つまたは複数のI/Oインターフェースを提供する。さらに、1つまたは複数のI/Oインターフェース315は、ネットワーク104などのネットワークと通信するための1つまたは複数の有線または無線ネットワークインターフェースコントローラ(NIC)を含み得る。
コンソール106のソフトウェア構成要素317は、人工現実アプリケーション全体をもたらすように動作する。この例では、ソフトウェア構成要素317は、アプリケーションエンジン320と、レンダリングエンジン322と、ジェスチャー検出器324と、姿勢トラッカ326と、ユーザインターフェースエンジンとを含む。
一般に、アプリケーションエンジン320は、人工現実アプリケーション、例えば、電話会議アプリケーション、ゲームアプリケーション、ナビゲーションアプリケーション、教育アプリケーション、トレーニングまたはシミュレーションアプリケーションなどを提供および提示するための機能性を含む。アプリケーションエンジン340としては、例えば、1つまたは複数のソフトウェアパッケージ、ソフトウェアライブラリ、ハードウェアドライバ、および/またはコンソール106において人工現実アプリケーションを実施するアプリケーションプログラムインターフェース(API:Application Program Interface)を挙げることができる。アプリケーションエンジン320による制御に応答して、レンダリングエンジン322が、HMD112のアプリケーションエンジン340によるユーザへの表示の対象となる3D人工現実コンテンツを生成する。
アプリケーションエンジン320およびレンダリングエンジン322は、姿勢トラッカ326によって決定された、参照フレーム、典型的にはHMD112の視点の現在の姿勢情報に従って、ユーザ110に表示するための人工コンテンツを構築する。レンダリングエンジン322は、現在の視点に基づいて3Dの人工現実コンテンツを構築し、いくつかの事例において、3Dの人工現実コンテンツは、ユーザ110の実世界の3D環境に少なくとも部分的に重ね合わされ得る。このプロセス中、姿勢トラッカ326は、ユーザ110による動きおよび/またはユーザ110に関する特徴追跡情報などの、現実世界の環境内の3D情報をキャプチャするために、動き情報およびユーザコマンドなどのHMD112から受信された検知データ、ならびにいくつかの例では、外部カメラなどの任意の外部センサー90(図1A、図1B)からのデータに対して動作する。検知されたデータに基づいて、姿勢トラッカ326は、HMD112の基準系についての現在のポーズを決定し、現在のポーズに従って、1つまたは複数のI/Oインターフェース315を介して、ユーザ110への表示のためのHMD112への通信のための人工現実コンテンツを構築する。
姿勢トラッカ326は、周辺デバイス136についての現在の姿勢を特定し、現在の姿勢に従って、任意のレンダリングされた仮想コンテンツに関連付けられたある特定の機能をトリガする(例えば、仮想表面上に仮想コンテンツアイテムを置く、仮想コンテンツアイテムを操作する、1つまたは複数の仮想マーキングを生成しレンダリングする、レーザーポインタを生成しレンダリングする)。いくつかの例において、姿勢トラッカ326は、HMD112が仮想表面(例えば、仮想ピンボード)に対応する物理的位置に近接しているかどうかを検出して、仮想コンテンツのレンダリングをトリガする。
ユーザインターフェースエンジン328は、人工現実環境においてレンダリングするための仮想ユーザインターフェースを生成するように構成される。ユーザインターフェースエンジン328は、仮想描画インターフェース、選択可能なメニュー(例えば、ドロップダウンメニュー)、仮想ボタン、方向パッド、キーボード、または他のユーザ選択可能なユーザインターフェース要素、グリフ、表示要素、コンテンツ、ユーザインターフェース制御などの1つまたは複数の仮想ユーザインターフェース要素329を含むように、仮想ユーザインターフェースを生成する。レンダリングエンジン322は、周辺デバイス136についての現在の姿勢に基づいて、人工現実環境内の周辺デバイス136の位置に対して固定された人工現実環境内のユーザインターフェース位置に、仮想ユーザインターフェースをレンダリングするように構成される。ユーザインターフェース位置は、存在検知表面220の1つの位置であり得、レンダリングエンジン322は、存在検知表面220の姿勢、サイズ、および視点と一致するように投影を加えるために、仮想ユーザインターフェースをスケーリング、回転、およびさもなければ変形させることができ、その結果、仮想ユーザインターフェースは、存在検知表面220に重ね合わされるように人工現実環境内に現れる。ユーザインターフェースエンジン328は、部分的に透明になるように仮想ユーザインターフェースを生成することができ、存在検知表面220をユーザが見ることが可能になる。この透明度は構成可能であってもよい。
コンソール106は、この仮想ユーザインターフェースおよび他の人工現実コンテンツを、HMD112での表示のために通信チャネルを介してHMD112に出力し得る。レンダリングエンジン322は、周辺デバイス136についての姿勢情報を受信して、存在検知表面220の1つの位置および姿勢などの周辺デバイス136の位置および姿勢と一致するように、ユーザインターフェースの位置および姿勢を継続的に更新する。
撮像デバイス138または102、プレゼンスセンシティブ表面220、あるいは他のセンサーデバイスのいずれかからの検知されたデータに基づいて、ジェスチャー検出器324は、ユーザ110によって実施された1つまたは複数のジェスチャーを識別するために、周辺デバイス136および/またはユーザのオブジェクト(例えば、手、腕、手首、フィンガー、手のひら、親指)の追跡された動き、構成、位置、および/または配向を分析する。より詳細には、ジェスチャー検出器324は、HMD112の撮像デバイス138ならびに/またはセンサー90および外部カメラ102によってキャプチャされた画像データ内で認識されたオブジェクトを分析して、周辺デバイス136ならびに/あるいはユーザ110の手および/または腕を識別し、HMD112に対する周辺デバイス136、手、および/または腕の移動を追跡して、ユーザ110によって実施されたジェスチャーを識別する。いくつかの例では、ジェスチャー検出器324は、キャプチャされた画像データに基づいて、周辺デバイス136、手、指、および/または腕の位置および配向の変化を含む移動を追跡し、オブジェクトの動きベクトルをジェスチャーライブラリ330中の1つまたは複数のエントリと比較して、ユーザ110によって実施されたジェスチャーまたはジェスチャーの組合せを検出し得る。いくつかの例では、ジェスチャー検出器324は、周辺デバイスの(1つまたは複数の)プレゼンスセンシティブ表面によって検出されたユーザ入力を受信し、ユーザ入力を処理して、周辺デバイス136に関してユーザ110によって実施された1つまたは複数のジェスチャーを検出し得る。
ジェスチャー検出器324およびジェスチャーライブラリ330は、周辺デバイス136上でユーザ入力を処理して、ジェスチャーを検出するために、全体的にまたは部分的に、周辺デバイス136に分散され得る。そのような場合、(1つまたは複数の)プレゼンスセンシティブ表面220は、表面のロケーションにおけるユーザ入力を検出する。ジェスチャー検出器324を実行している周辺デバイス136は、ユーザ入力を処理して、ジェスチャーライブラリ330の1つまたは複数のジェスチャーを検出することができる。周辺デバイス136は、検出されたジェスチャーの指示をコンソール106および/またはHMD112に送って、コンソール106および/またはHMD112が応答して1つまたは複数のアクションを実施することを引き起こし得る。周辺デバイス136は、代替的に、または追加として、表面のロケーションにおけるユーザ入力の指示をコンソール106に送り得、ジェスチャー検出器324は、ユーザ入力を処理して、ジェスチャーライブラリ330の1つまたは複数のジェスチャーを検出し得る。
ジェスチャーライブラリ330中のいくつかのエントリが、各々、周辺デバイス136、ユーザの手、特定のフィンガー、親指、手首および/または腕の相対経路または空間的な並進運動および回転など、一連の動きまたは動きのパターンとしてジェスチャーを定義し得る。ジェスチャーライブラリ330中のいくつかのエントリは、各々、特定の時間における、またはある時間期間にわたる、周辺デバイス、ユーザの手および/または腕(またはそれらの部分)の構成、位置、および/または配向としてジェスチャーを定義し得る。ジェスチャーライブラリ330中のいくつかのエントリは、各々、経時的に、周辺デバイス136の(1つまたは複数の)プレゼンスセンシティブ表面220によって検出された1つまたは複数のユーザ入力としてジェスチャーを定義し得る。ジェスチャーのタイプの他の例が可能である。さらに、ジェスチャーライブラリ330中のエントリの各々が、定義されたジェスチャーまたは一連のジェスチャーについて、個人のリアルタイム視線追跡、表示されている人工コンテンツのタイプ、実行されているアプリケーションのタイプなどによって決定され得るような、HMD112の現在の視野に対する空間関係、ユーザによって現在観測されている特定の区域に対する空間関係など、ジェスチャーまたは一連のジェスチャーがアクションをトリガするために必要とされる条件を指定し得る。
ジェスチャーライブラリ330中のエントリの各々は、定義されたジェスチャーまたはジェスチャーの組合せ/一連のジェスチャーの各々について、ソフトウェア構成要素317によって実施される所望の応答またはアクションをさらに指定し得る。例えば、いくつかの特殊なジェスチャーがあらかじめ定義され得、したがって、あらかじめ定義されたジェスチャーのうちの1つを検出したことに応答して、ユーザインターフェースエンジン328は、ユーザに表示されている人工現実コンテンツへのオーバーレイとしてユーザインターフェースを動的に生成し、それにより、人工現実コンテンツと対話している間でさえ、ユーザ110がHMD112および/またはコンソール106を構成するためのユーザインターフェースを容易に呼び出すことを可能にする。他の例では、いくつかのジェスチャーは、入力を提供すること、(仮想コンテンツアイテムおよび/またはUI要素を含む)仮想オブジェクトを選択すること、仮想オブジェクトを並進運動させる(例えば、移動する、回転する)こと、仮想オブジェクトを変更する(例えば、スケーリングする、アノテーションを付ける)こと、仮想マーキングを行うこと、アプリケーションを起動することなど、他のアクションに関連し得る。
一例として、ジェスチャーライブラリ330は、ユーザインターフェースアクティブ化ジェスチャー、メニュースクロールジェスチャー、選択ジェスチャー、スタンピングジェスチャー、並進運動ジェスチャー、回転ジェスチャー、描画ジェスチャー、および/またはポインティングジェスチャーなど、周辺デバイスジェスチャーについて説明するエントリを含み得る。ジェスチャー検出器324は、撮像デバイス138からの画像データを処理して、周辺デバイス136および/またはユーザの手の構成、位置、動き、および/または配向を分析して、周辺デバイス136に関してユーザによって実施され得るユーザインターフェースジェスチャー、選択ジェスチャー、スタンピングジェスチャー、並進運動ジェスチャー、回転ジェスチャー、描画ジェスチャー、ポインティングジェスチャーなどを識別し得る。例えば、レンダリングエンジン322は、ジェスチャー検出器324によって、ユーザインターフェースジェスチャーが実施されていることを検出したことと、姿勢トラッカ326によって、HMD112が仮想ピンボードの仮想位置に対応する物理的位置に近接していることを検出したこととに基づいて、ピンボードユーザインターフェースをレンダリングすることができる。ユーザインターフェースエンジン328は、表示されるメニューを定義することができ、選択ジェスチャーによって引き起こされる選択に応答して、実施されるアクションを制御することができる。
図3において示されている例においては、周辺デバイス136は、1つまたは複数のプロセッサ346およびメモリ344を含み、これらは、いくつかの例では、オペレーティングシステム342を実行するためのコンピュータプラットフォームを提供し、オペレーティングシステム342は、例えば、組み込みのリアルタイムマルチタスクオペレーティングシステム、またはその他のタイプのオペレーティングシステムであってもよい。次に、オペレーティングシステム346は、1つまたは複数のソフトウェア構成要素を実行するためのマルチタスキング動作環境を提供する。いくつかの例では、周辺デバイス136は、1つまたは複数のプレゼンスセンシティブ表面220(例えば、タッチおよび/またはホバー入力を検出するための、容量性技術、導電性技術、抵抗性技術、音響技術、および/または他の技術を使用する1つまたは複数の表面)を含む。1つまたは複数の態様では、周辺デバイス136は、プレゼンスセンシティブ表面220におけるタッチおよび/またはホバー入力を検出し、その入力を(例えば、プロセッサ346において)処理し、コンソール106および/またはHMD112に、タッチおよび/またはホバー入力を通信し、(その入力に関するロケーション情報を含む)その入力に関する情報を通信するように構成され得る。図2Aの例に関して説明されるように、(1つまたは複数の)プレゼンスセンシティブ表面220は、タッチスクリーン(例えば、静電性タッチスクリーン、抵抗性タッチスクリーン、表面弾性波(SAW)タッチスクリーン、赤外線タッチスクリーン、光学的画像タッチスクリーン、音響パルス認識タッチスクリーン、または任意の他のタッチスクリーン)を含むことができる。図3にさらに示されているように、この例では、周辺デバイス136は、周辺デバイス136の現在の加速度を示すデータを出力する(IMUとも呼ばれる)1つまたは複数の加速度計、周辺デバイスのロケーションおよび位置を示すデータを出力するGPSセンサー、様々なオブジェクトからの(例えば、壁または他の表面からの)周辺デバイス136の距離を示すデータを出力するレーダーまたはソナー、あるいは、周辺デバイスまたは物理的環境内の他のオブジェクトのロケーション、位置、および/または配向の指示を提供する他のセンサーなど、1つまたは複数の動きセンサー348をさらに含む。いくつかの例では、プロセッサ346は、(1つまたは複数の)プレゼンスセンシティブ表面220と動きセンサー246とに結合される。いくつかの例においては、プロセッサ346およびメモリ344は、別々の、個別のコンポーネントであることが可能である。その他の例においては、メモリ344は、単一の集積回路内でプロセッサ346と併置されているオンチップメモリであることが可能である。1つまたは複数の態様では、周辺デバイス136はHMDと共存し、いくつかの例では、仮想環境中のHMDのための補助入出力デバイスとして動作することができる。いくつかの例では、周辺デバイス136は、HMDの機能のうちのいくつかがオフロードされる人工現実共同処理デバイスとして動作し得る。1つまたは複数の態様では、周辺デバイス136は、スマートフォン、タブレット、または他のハンドヘルドデバイスであり得る。
いくつかの例では、プロセッサ302、312、346の各々は、マルチコアプロセッサ、コントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、あるいは等価な個別論理回路または集積論理回路のうちの任意の1つまたは複数を含み得る。メモリ304、314、344は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電子的消去可能プログラマブル読取り専用メモリ(EEPROM)、およびフラッシュメモリなど、データおよび実行可能ソフトウェア命令を記憶するための任意の形式のメモリを含み得る。
本開示の技術によれば、図3のHMD112の(1つまたは複数の)電子ディスプレイ203のいずれも、ピクセル強度のデジタル制御およびアナログ制御を含み得る。例えば、電子ディスプレイ203のうちの1つまたは複数は、各ピクセル内にデジタルピクセル制御回路およびアナログピクセル制御回路を含むハイブリッドピクセル制御回路を含み得る。いくつかの例では、デジタルピクセル制御回路およびアナログピクセル制御回路は、各ピクセルに対してn+mビットの階調強度制御を提供する。あるいは、階調ピクセル強度のデジタルPWM制御のためにデジタルピクセル制御回路によってnビットが使用されてもよく、不均一性補償のためにピクセルに供給される駆動電流を制御するためにアナログピクセル制御回路によってmビットが使用されてもよい。
図4は、ジェスチャー検出、ユーザインターフェース生成、および仮想表面機能が図1A、図1Bの人工現実システムのHMD112によって実行される例を示すブロック図であり、HMDは、本開示に記載された技術によるピクセル強度のデジタル制御およびアナログ制御を含む。
この例では、図3と同様に、HMD112は、いくつかの例では、オペレーティングシステム305を実行するためのコンピュータプラットフォームを提供する1つまたは複数のプロセッサ302とメモリ304とを含み、オペレーティングシステム305は、例えば組み込みのリアルタイムマルチタスクオペレーティングシステム、または他のタイプのオペレーティングシステムであり得る。次に、オペレーティングシステム305は、1つまたは複数のソフトウェア構成要素417を実行するためのマルチタスク動作環境を提供する。その上、(1つまたは複数の)プロセッサ302は、電子ディスプレイ203と、動きセンサー206と、撮像デバイス138とに結合される。
図4の例では、ソフトウェア構成要素417は、全体的な人工現実アプリケーションを提供するように動作する。この例では、ソフトウェアアプリケーション417は、アプリケーションエンジン440と、レンダリングエンジン422と、ジェスチャー検出器424と、姿勢トラッカ426と、ユーザインターフェースエンジン428とを含む。様々な例では、ソフトウェア構成要素417は、図3のコンソール106の対応する構成要素(例えば、アプリケーションエンジン320、レンダリングエンジン322、ジェスチャー検出器324、姿勢トラッカ326、およびユーザインターフェースエンジン328)と同様に動作して、ユーザ110に表示するための人工コンテンツにオーバーレイされた、またはその一部として仮想ユーザインターフェースを構築する。
図3に関して記載された例と同様に、撮像デバイス138もしくは102、周辺デバイス136のプレゼンスセンシティブ表面、または他のセンサーデバイスのいずれかからの検知データに基づいて、ジェスチャー検出器424は、周辺デバイス136および/またはユーザのオブジェクト(例えば、手、腕、手首、フィンガー、手のひら、親指)の追跡された動き、構成、位置、および/または配向を分析して、ユーザ110によって実行された1つまたは複数のジェスチャーを識別する。
より詳細には、ジェスチャー検出器424は、HMD112の撮像デバイス138ならびに/またはセンサー90および外部カメラ102によってキャプチャされた画像データ内で認識されたオブジェクトを分析して、周辺デバイス136ならびに/あるいはユーザ110の手および/または腕を識別し、HMD112に対する周辺デバイス136、手、および/または腕の移動を追跡して、ユーザ110によって実施されたジェスチャーを識別し得る。仮想表面アプリケーションは、ユーザ110に表示されるべき人工現実コンテンツの一部として、例えば、その上に重ね合わされた仮想表面を生成し、かつ/あるいはジェスチャー検出器424によって検出されたユーザ110の1つもしくは複数のジェスチャーまたはジェスチャーの組合せに基づいてアクションを実行する。ジェスチャー検出器424は、ユーザ110によって実施されたジェスチャーを識別するために、周辺デバイス136ならびに/あるいはユーザ110の手および/または腕を識別し、HMD112に対する周辺デバイス136、手、および/または腕の移動を追跡するために、HMD112の撮像デバイス138および/またはセンサー90および外部カメラ102によってキャプチャされた画像データ内で認識されるオブジェクトを分析し得る。いくつかの例では、ジェスチャー検出器424は、キャプチャされた画像データに基づいて、周辺デバイス136、手、指、および/または腕の位置および配向の変化を含む移動を追跡し、オブジェクトの動きベクトルをジェスチャーライブラリ430中の1つまたは複数のエントリと比較して、ユーザ110によって実施されたジェスチャーまたはジェスチャーの組合せを検出し得る。いくつかの例では、ジェスチャー検出器424は、周辺デバイスの(1つまたは複数の)プレゼンスセンシティブ表面によって検出されたユーザ入力を受信し、ユーザ入力を処理して、周辺デバイス136に関してユーザ110によって実施された1つまたは複数のジェスチャーを検出し得る。ジェスチャーライブラリ430は図3のジェスチャーライブラリ330と同様である。ジェスチャー検出器424の機能性の全部のうちの一部が周辺デバイス136によって実行され得る。
図4の周辺デバイス136の構成要素は、図3の周辺デバイス136の構成要素と同様に動作し得る。ピクセル強度のデジタル制御およびアナログ制御に関して図3に関して説明した技術は、HMD112においても実装され得る。例えば、電子ディスプレイ203のうちの1つまたは複数は、各ピクセル内にデジタルピクセル制御回路およびアナログピクセル制御回路を含むハイブリッドピクセル制御回路を含み得る。いくつかの例では、デジタルピクセル制御回路およびアナログピクセル制御回路は、各ピクセルに対してn+mビットの階調強度制御を提供する。あるいは、階調ピクセル強度のデジタルPWM制御のためにデジタルピクセル制御回路によってnビットが使用されてもよく、不均一性補償のためにピクセルに供給される駆動電流を制御するためにアナログピクセル制御回路によってmビットが使用されてもよい。
図5は、1つまたは複数のデバイス(例えば、周辺デバイス136およびHMD112)が各デバイス内の1つまたは複数のシステムオンチップ(SoC)集積回路を使用して実装される、マルチデバイス人工現実システムのための分散アーキテクチャのより詳細な例示的な実装形態を示すブロック図である。図5は、HMD112が周辺デバイス136と連携して動作する例を示す。周辺デバイス136は、マルチデバイス人工現実システム100または126が仮想コンテンツをオーバーレイする表面を有する物理的な現実世界のデバイスを表す。周辺デバイス104は、プレゼンスセンシティブ表面)204のロケーションにタッチするかまたはそのロケーション上をホバリングする1つまたは複数のオブジェクト(例えば、フィンガー、スタイラスなど)の存在を検出することによってユーザ入力を検出するための1つまたは複数のプレゼンスセンシティブ表面204を含み得る。いくつかの例では、周辺デバイス104は、スマートフォン、タブレットコンピュータ、個人情報端末(PDA)、または他のハンドヘルドデバイスのいずれかと同様のフォームファクタを有してもよい。他の例では、周辺デバイス104は、スマートウォッチ、いわゆる「スマートリング」、または他のウェアラブルデバイスのフォームファクタを有してもよい。周辺デバイス104はまた、キオスク、あるいは他の固定または移動システムの一部であり得る。(1つまたは複数の)プレゼンスセンシティブ表面204は、視覚コンテンツをスクリーンに出力するための(1つまたは複数の)ディスプレイデバイスなどの出力構成要素を組み込み得る。上述したように、HMD102は、人工現実アプリケーションの実行を可能にするように構築および構成される。
この例では、HMD112および周辺デバイス136は、分散アーキテクチャに配置され、人工現実アプリケーションのための動作環境を提供するように構成された専用集積回路の集合を表すSoC530、SoC510(のそれぞれ)を含む。例として、SoC集積回路は、コアプリケーションプロセッサ、センサーアグリゲータ、暗号化/解読エンジン、セキュリティプロセッサ、手/眼/深度追跡およびポーズ計算要素、ビデオ符号化およびレンダリングエンジン、ディスプレイコントローラならびに通信制御構成要素として動作する、特殊な機能ブロックを含み得る。より詳細な例が図5に示されている。図5は、SoC集積回路の1つの例示的な配列にすぎない。マルチデバイス人工現実システムのための分散アーキテクチャは、SoC集積回路の任意の集合および/または配列を含み得る。
この例では、HMD112のSoC530Aは、追跡570と、暗号化/解読580と、コプロセッサ582と、インターフェース584とを含む機能ブロックを備える。追跡570は、眼追跡572(「眼572」)、手追跡574(「手574」)、深度追跡576(「深度576」)、ならびに/または同時位置特定およびマッピング(SLAM)578(「SLAM578」)のための機能ブロックを提供する。例えば、HMD112は、HMD112の現在の加速度を示すデータを出力する(慣性測定ユニットまたは「IMU」とも呼ばれる)1つまたは複数の加速度計、HMD112のロケーションを示すデータを出力するGPSセンサー、様々なオブジェクトからのHMD112の距離を示すデータを出力するレーダーまたはソナー、あるいは、HMD112または物理的環境内の他のオブジェクトのロケーションまたは配向の指示を提供する他のセンサーから、入力を受信し得る。HMD112はまた、1つまたは複数の撮像デバイス588A~588N(まとめて、「撮像デバイス588」)から画像データを受信し得る。撮像デバイスは、物理的環境を表す画像データを出力するように構成された、ビデオカメラ、レーザースキャナ、ドップラーレーダースキャナ、深度スキャナなどを含み得る。より具体的には、撮像デバイスは、通常、HMD112の視点に対応する、撮像デバイスの視野内にある物理環境内の(周辺デバイス136および/または手を含む)オブジェクトを表す画像データを取り込む。検知されたデータおよび/または画像データに基づいて、追跡570は、例えば、HMD112の基準系についての現在のポーズを決定し、現在のポーズに従って、人工現実コンテンツをレンダリングする。
SoC530Aの暗号化/解読580は、周辺デバイス136またはセキュリティサーバに通信される発信データを暗号化し、周辺デバイス136またはセキュリティサーバから通信された着信データを解読するための機能ブロックである。コアプリケーションプロセッサ582は、ビデオ処理ユニット、グラフィックス処理ユニット、デジタル信号プロセッサ、エンコーダおよび/またはデコーダなどの命令を実行するための1つまたは複数のプロセッサを含む。
SoC530Aのインターフェース584は、SoC530Aの機能ブロックに接続するための1つまたは複数のインターフェースを含む機能ブロックである。一例として、インターフェース584は、周辺構成要素相互接続エクスプレス(PCIe)スロットを含み得る。SoC530Aは、インターフェース584を使用してSoC530B、530Cと接続し得る。SoC530Aは、他のデバイス、例えば、周辺デバイス136と通信するためにインターフェース584を使用して通信デバイス(例えば、無線送信機)と接続し得る。
HMD112のSoC530BおよびSoC530Cは、各々、それぞれのディスプレイ、例えば、ディスプレイ586A、586B(まとめて、「ディスプレイ586」)上に人工現実コンテンツを出力するためのディスプレイコントローラを表す。この例では、SoC530Bは、ユーザの左眼587Aのための人工現実コンテンツを出力するための、ディスプレイ568Aのためのディスプレイコントローラを含み得る。例えば、SoC530Bは、人工現実コンテンツをディスプレイ586A上に出力するための解読ブロック592A、デコーダブロック594A、ディスプレイコントローラ596A、および/またはピクセルドライバ598Aを含む。同様に、SoC530Cは、ユーザの右眼587Bのための人工現実コンテンツを出力するための、ディスプレイ568Bのためのディスプレイコントローラを含み得る。例えば、SoC530Cは、人工現実コンテンツを生成し、ディスプレイ586B上に出力するための解読592B、デコーダ594B、ディスプレイコントローラ596B、および/またはピクセルドライバ598Bを含む。ディスプレイ568は、発光ダイオード(LED)ディスプレイ、有機LED(OLED)、量子ドットLED(QLED)、電子ペーパー(E-ink)ディスプレイ、液晶ディスプレイ(LCD)、またはARコンテンツを表示するための他のタイプのディスプレイを含み得る。
本開示によれば、SoC530BおよびSoC530Cのピクセルドライバ598Aおよび598Bの各々は、各ピクセル内にデジタルピクセル制御回路およびアナログピクセル制御回路を含むハイブリッドピクセル制御回路をそれぞれ含み得る。いくつかの例では、デジタルピクセル制御回路およびアナログピクセル制御回路は、各ピクセルに対してn+mビットの階調強度制御を提供する。あるいは、階調ピクセル強度のデジタルPWM制御のためにデジタルピクセル制御回路によってnビットが使用されてもよく、不均一性補償のためにピクセルに供給される駆動電流を制御するためにアナログピクセル制御回路によってmビットが使用されてもよい。
この例では、周辺デバイス136は、人工現実アプリケーションをサポートするように構成されたSoC510AおよびSoC510Bを含む。この例では、SoC510Aは、追跡540と、暗号化/解読550と、ディスプレイプロセッサ552と、インターフェース554とを含む機能ブロックを備える。追跡540は、眼追跡542(「眼542」)、手追跡544(「手544」)、深度追跡546(「深度546」)、ならびに/または同時位置特定およびマッピング(SLAM)548(「SLAM548」)を提供する機能ブロックである。例えば、周辺デバイス136は、周辺デバイス136の現在の加速度を示すデータを出力する(慣性測定ユニットまたは「IMU」とも呼ばれる)1つまたは複数の加速度計、周辺デバイス136のロケーションを示すデータを出力するGPSセンサー、様々なオブジェクトからの周辺デバイス136の距離を示すデータを出力するレーダーまたはソナー、あるいは、周辺デバイス136または物理的環境内の他のオブジェクトのロケーションまたは配向の指示を提供する他のセンサーから、入力を受信し得る。周辺デバイス136は、いくつかの例では、物理的環境を表す画像データを出力するように構成された、ビデオカメラ、レーザースキャナ、ドップラーレーダースキャナ、深度スキャナなど、1つまたは複数の撮像デバイスから画像データをも受信し得る。検知されたデータおよび/または画像データに基づいて、追跡ブロック540は、例えば、周辺デバイス136の基準系についての現在のポーズを決定し、現在のポーズに従って、HMD112に人工現実コンテンツをレンダリングする。
SoC510Aの暗号化/解読550は、HMD112またはセキュリティサーバに通信される発信データを暗号化し、HMD112またはセキュリティサーバから通信された着信データを解読する。暗号化/解読550は、セッション鍵(例えば、秘密対称鍵)を使用してデータを暗号化/解読するために対称鍵暗号法をサポートし得る。SoC510Aのディスプレイプロセッサ552は、HMD112に人工現実コンテンツをレンダリングするための、ビデオ処理ユニット、グラフィックス処理ユニット、エンコーダおよび/またはデコーダ、ならびに/あるいは他のものなど、1つまたは複数のプロセッサを含む。SoC510Aのインターフェース554は、SoC510Aの機能ブロックに接続するための1つまたは複数のインターフェースを含む。一例として、インターフェース584は、周辺構成要素相互接続エクスプレス(PCIe)スロットを含み得る。SoC510Aは、インターフェース584を使用してSoC510Bと接続し得る。SoC510Aは、他のデバイス、例えば、HMD112と通信するためにインターフェース584を使用して1つまたは複数の通信デバイス(例えば、無線送信機)と接続し得る。
周辺デバイス136のSoC510Bは、コアプリケーションプロセッサ560およびアプリケーションプロセッサ562を含む。この例では、コアプリケーションプロセッサ560は、視覚処理ユニット(VPU)、グラフィックス処理ユニット(GPU)、および/または中央処理ユニット(CPU)など、様々なプロセッサを含む。アプリケーションプロセッサ562は、例えば、人工現実コンテンツを生成およびレンダリングするために、ならびに/または周辺デバイス136に関してユーザによって実行されたジェスチャーを検出および解釈するために、1つまたは複数の人工現実アプリケーションを実行し得る。
図6は、本開示に記載された技術によるディスプレイデバイス600のブロック図である。ディスプレイデバイス600は、例えば、図1~図5に関して図示および説明したディスプレイのいずれかを実装するために使用してもよい。ディスプレイデバイス600は、複数のピクセル612A~612N(まとめて「ピクセル612」または個別に「ピクセル612」と呼ばれる)を含むディスプレイパネル630を含む。図6は、ピクセル612Aを制御するための詳細な構造を示しているが、他のピクセル612B~612Nは、ピクセル612Aと同じ制御構造を有してもよい。各ピクセル612内のピクセルドライバ回路608は、発光ダイオード(LED)またはマイクロLEDなどの発光素子を含み、デジタルピクセル制御回路630およびアナログピクセル制御回路650によって制御された強度を有する光を出力する。いくつかの例では、各フレームのピクセル強度は、n+mビットの制御ワードによって定義される。デジタルピクセル制御回路630は、ピクセル612の発光素子によって放出される光のnビットのデジタルPWM制御を提供する。アナログピクセル制御回路650は、ピクセル612の発光素子に供給される2mの異なるレベルの駆動電流の制御を提供する。いくつかの例では、デジタルピクセル制御回路630およびアナログピクセル制御回路650は、各ピクセルに対してn+mビットの強度制御を提供する。あるいは、nビットは、ピクセル強度のデジタルPWM制御のためにデジタルピクセル制御回路630によって使用されてもよく、mビットは、不均一性補償のためにピクセルに供給される駆動電流を制御するためにアナログピクセル制御回路650によって使用されてもよい。
図6の例では、デジタルピクセル制御回路630は、メモリ602と、コンパレータ回路604と、ラッチ回路606とを含む。メモリ602は、コンパレータ回路604に接続されている。コンパレータ回路604はラッチ回路606に接続され、ラッチ回路606はドライバ回路608に接続されている。アナログピクセル制御回路650は、ドライバ回路608にも接続されている。
さらに、ディスプレイデバイス600は、カウンタ610を含む行ドライバ614と、デジタル列ドライバ616と、アナログ列ドライバ646と、コントローラ640とを備える。いくつかの実施形態では、コントローラ640は、ディスプレイデバイス600とは別々であってもよい。図6は、行ドライバ614、デジタル列ドライバ616、およびアナログ列ドライバ646をピクセル612Aに接続されているものとして示しているが、それらは実際にはピクセル612A~612Nの各々に接続されている。具体的には、行ドライバ614は、デジタルピクセル制御回路630のメモリ602、コンパレータ回路604、およびラッチ回路606に接続されている。行ドライバ614は、アナログピクセル制御回路650にさらに接続されている。デジタル列ドライバ616は、デジタルピクセル制御回路630のメモリ602に接続されている。コントローラ640は、プロセッサ642およびディスプレイメモリ644などの処理回路を含む。コントローラ640は、行ドライバ614、デジタル列ドライバ616、およびアナログ列ドライバ646にも接続されている。
デジタル列ドライバ616は、n+m個の強度制御ワードのn個のデジタルビットを各ピクセルのメモリ602内のメモリセルにロードし、アナログ列ドライバ646は、n+m個のビット強度制御ワードのmビットに対応する単一の電圧をアナログピクセル制御回路650にロードする。行ドライバ614は、デジタルアナログ制御回路630に対するプログラミング段階およびアナログピクセル制御回路650に対するプログラミング段階がいつ開始および終了するか(例えば、図10を参照)を制御する。アナログロード方式およびデジタルロード方式は、各ピクセルのアナログおよびデジタル制御が互いに完全に独立していることを意味する分離された構成要素/トランジスタ(すなわち、デジタルピクセル制御回路630およびアナログピクセル制御回路650)によって制御される。したがって、本開示の技術によって提供されるデジタル強度制御およびアナログ強度制御は、アナログ強度制御およびデジタル強度制御が任意の順序でロードされ得る(すなわち、アナログ強度制御が最初にロードされ、デジタル強度制御が2番目にロードされてもよく、またはデジタル強度制御が最初にロードされ、アナログ強度制御が2番目にロードされてもよい)、またはアナログ強度制御およびデジタル強度制御が同時にロードされ得るという点で柔軟である。順序の選択は、例えば、ピクセルの所望の性能および/またはアナログ方式が強度制御または均一性補償に使用されるか否かに基づいてもよい。
例示的なデジタルピクセル制御回路630のメモリ602は、n個の1ビットスタティックランダムアクセスメモリ(SRAM)メモリセル、または他の何らかのタイプのメモリセルなど、nビットのデジタルデータ記憶デバイスを含み得る。メモリ602は、ワード線を介して行ドライバ614に接続され、ビット線および反転ビット線を介して列ドライバ616に接続されている。メモリ602は、メモリセル選択のためのワード線(WL)の信号を行ドライバ614から受信し、選択されたメモリセルに書き込むためのnデータビットDの形態の制御ワードを列ドライバ616から受信する。n個のデータビットのビット値は、ピクセル内の発光素子に駆動電流が供給される各フレームのサブフレーム数を定義する。デジタルピクセル制御回路内のデータビット数nは変化してもよい。一例では、メモリ602は、デジタルピクセル制御回路630によって制御される8階調の輝度(例えば、000、001、010、011、100、101、110、111)を提供するためにn=3ビットを記憶する。別の例では、デジタルピクセル制御回路630によって制御される32階調の輝度を提供するためにn=5である。nは、特定の実装形態に好適に適した任意の整数のビット数であってもよく、本開示はこの点に関して限定されないことを理解されたい。メモリ602に関するさらなる詳細は、図7に関連して説明される。
行ドライバ614は、各ピクセル行またはピクセル行のグループに対してカウンタ610を含み得る。カウンタ610は、カウントビットのビット値を生成するための回路を使用して少なくとも部分的に具体化される。カウントビット数は、デジタルピクセル制御回路用の制御ワードにおけるデータビット数nに対応する。n=3の例では、カウンタ610は、ビット値000、001、010、011、100、101、および111を含むフレームの各サブフレームについてシーケンスを生成する。ここで、カウンタ610は、0から7までをバイナリカウントしてシーケンスを生成する。いくつかの実施形態では、カウンタ610は、コンパレータ回路604による比較を容易にするために各カウントビットを反転する。
例示的な一実装形態では、例示的なデジタルピクセル制御回路630のコンパレータ回路604は、カウンタ610によって生成された行ドライバ614からカウントビットを受信し、メモリ602から制御ワードのn個のデータビットを受信し、カウントビットをデータビットと比較して比較結果を生成する。比較結果は、式1によって定義されるように、各データビットと対応するカウントビットとのNORに基づいて生成される。
(!count[0]&D[0])|(!count[1]&D[1])| … |(!count[n-1]&D[n-1])式(1)
式中、!count[x]はx番目の反転カウントビットであり、D[x]は制御ワードのx番目のデータビットであり、nは制御ワードおよびカウントビットの長さである。式1によって定義される比較は、対応するデータビットとカウントビットとの順序付き比較であり、これにより、簡略化されたコンパレータ回路604が可能になる。コンパレータ回路604は、比較結果に従って高レベルと低レベルとの間でスイッチする動的比較ノードを含むことが可能であり、ラッチ回路606に比較結果を出力することが可能である。
(!count[0]&D[0])|(!count[1]&D[1])| … |(!count[n-1]&D[n-1])式(1)
式中、!count[x]はx番目の反転カウントビットであり、D[x]は制御ワードのx番目のデータビットであり、nは制御ワードおよびカウントビットの長さである。式1によって定義される比較は、対応するデータビットとカウントビットとの順序付き比較であり、これにより、簡略化されたコンパレータ回路604が可能になる。コンパレータ回路604は、比較結果に従って高レベルと低レベルとの間でスイッチする動的比較ノードを含むことが可能であり、ラッチ回路606に比較結果を出力することが可能である。
例示的なデジタルピクセル制御回路630のラッチ回路606は、コンパレータ回路604から比較結果を受信し、ドライバ回路608の駆動トランジスタのためのゲート信号を生成する。ラッチ回路606は、コンパレータ回路604の動的比較ノードにおける比較結果のスイッチがあっても、ドライバ回路608に送られるゲート信号の所望の状態を保持する。ラッチ回路606の出力は、制御信号(nDrive)であり、本明細書で説明するようにドライバ回路608のスイッチを制御する。
ドライバ回路608は、LEDまたはマイクロLEDなどの発光素子と、LEDに接続された端子(例えば、ソースまたはドレイン)を有する駆動トランジスタとを含む。駆動トランジスタは、ラッチ回路606に接続され、駆動トランジスタおよびLEDのソースおよびドレイン端子を流れる電流を制御するためのゲート信号(nDrive)を受信するゲート端子をさらに含む。このように、駆動トランジスタは、デジタルピクセル制御回路630に与えられる制御ワードのnビットによって決定されるPWMタイミングに基づいて、LEDに電流が供給されるか否かを制御するスイッチとして機能する。ドライバ回路608に関するさらなる詳細は、図8および図9に関連して以下で説明される。
いくつかの実施形態では、ドライバ回路608、デジタルピクセル制御回路630、およびアナログピクセル制御回路650の少なくともいくつかの部分を含むピクセルの制御回路は、ディスプレイデバイス600の薄膜トランジスタ(TFT)層に配置される。
行ドライバ614およびデジタル列ドライバ616は、各ピクセル612A~612N内のデジタルピクセル制御回路630の動作を制御する。例えば、列ドライバ616は、ピクセル612Aのn+mビットの制御ワードのn個のデータビットをメモリ602に提供し、これらは、行ドライバ614からのワード線(WL)による選択に基づいてメモリ602のn個の対応するメモリセルにプログラムされる。
コントローラ640は、(本明細書では一般にプロセッサ642と呼ばれる)1つまたは複数のプロセッサ642およびディスプレイメモリ644などの処理回路を含む。プロセッサ642は、デジタルピクセル制御回路630の動作を制御するために、行ドライバ614およびデジタル列ドライバ616に制御信号を提供する。プロセッサ642はまた、フレーム中に各ピクセルに供給される駆動電流の量またはレベルを制御するために、行ドライバ614およびアナログピクセル制御回路650に制御信号を提供する。
いくつかの例では、mビットがアナログ不均一性補償に使用される場合、ディスプレイメモリ644(本明細書では「データ記憶デバイス」とも呼ばれる)は、各ピクセルについてmビットの不均一性補償値を記憶し得る。mビットの不均一性補償値は、不均一性補償のためにアナログピクセルドライバ回路650によってピクセルに供給される駆動電流の量またはレベルを制御するために、対応するアナログ電圧としてアナログピクセル制御回路650(キャパシタまたは他のアナログ記憶デバイスなど)に記憶されてもよい。
デジタルピクセル制御回路630を実装するために使用され得るピクセル強度のデジタルPWM制御のための回路の例は、それぞれその全体が参照により組み込まれる、2020年1月31日に出願され、「Pulse Width Modulation for Driving Pixel Using Comparator」と題する米国特許出願第16/779,168号、2020年1月31日に出願され、「Row Based Brightness Calibration」と題する米国特許出願第16/779,206号、および2019年2月4日に出願され、「Pulse Width Modulation for Driving Pixel Using Comparator」と題する米国仮特許出願第62/800,979号に示され説明されている。しかしながら、ピクセル強度のデジタルPWM制御のための他の実装も使用されてもよく、本開示はこの点に関して限定されないことを理解されたい。
図7は、本開示に記載された技術による、個々のピクセル612のデジタルピクセル制御回路630の例示的なメモリ602を示す回路図である。特に、単一のピクセル612に対する例示的なメモリ602の一部分が示されている。メモリ602は、ピクセル強度制御ワードのnビットを記憶し、制御ワードのnビットをコンパレータ回路604に出力する。メモリ602は、n個の1ビットメモリセル902(0)~902(n-1)を含み、nはデジタルピクセル制御回路630の制御ワードのビット長である。各セル902(0)~902(n-1)は、それぞれワード線908(0)~908(n-1)を介して行ドライバ614に接続され、さらにビット線904および反転ビット線906を介して列ドライバ616に接続されている。各セル902(0)~902(n-1)は、セルに記憶されたビット値をコンパレータ回路604に出力するために、それぞれのセル出力910(0)~910(n-1)をさらに含む。
各セル902(0)-902(n-1)は、例えば、1ビットSRAMメモリセルを使用して実装し得、しかしながら、メモリセル902(0)-902(n-1)は、任意の好適なタイプのメモリセルを使用して実装されてもよいことを理解されたい。
セル902(0)を参照すると、各セル902(0)-902(n-1)は、トランジスタ912、トランジスタ914、ならびに交差結合インバータ916および918を含み得る。この例では、トランジスタ912および914はNMOSトランジスタである。トランジスタ912は、反転ビット線906に接続された第1の端子と、交差結合インバータ916および918によって形成された第1のノードに接続された第2の端子とを含む。トランジスタ914は、ビット線904に接続された第1の端子と、交差結合インバータ916および918によって形成される第2のノードに接続された別の端子とを含む。トランジスタ912および914のゲート端子は各々、ワード線908(0)に接続されている。交差結合インバータ916および918によって形成される第2のノードは、セル出力910(0)に接続されている。
セル902(0)をビット値でプログラムするために、セル902(0)のワード線908(0)はハイ信号に設定され、ビット線904はビット値に設定され、反転ビット線906はビット値の逆数に設定される。これにより、ビット線904上のビット値がセル902(0)に記憶され、セル出力910(0)で出力される。メモリ602の他のセルは、セル902(0)について本明細書で説明したのと同様の構成要素および動作を含み得る。メモリ602は、ワード線908(0)~908(n-1)のそれぞれを介して信号WL[0]~WL[n-1]を受信し、ビット線904から信号ビットを受け、反転ビット線906から信号nビットを受けてnビットの制御ワードを記憶し、セル出力910(0)~910(n-1)を介してnビットの制御ワードのビット値を出力する。メモリ602は、各フレームについて、制御ワードを記憶し、セル出力610(0)~610(n-1)を介して制御ワードをデータ信号D[0]~D[n-1]として出力する。
図8は、本開示に記載の技術による、デジタルピクセル制御回路630およびアナログピクセル制御回路650に接続された、個々のピクセル612の例示的なドライバ回路608を示す回路図である。例示的なドライバ回路608は、電流駆動トランジスタ802およびスイッチトランジスタ804を含む。この例では、駆動トランジスタ802およびスイッチトランジスタ804はPMOSトランジスタである。しかしながら、ドライバ回路608は、NMOSトランジスタを使用して実装することができ、それに応じて回路素子の配置が調整され、本開示はこの点に関して限定されないことを理解されたい。スイッチトランジスタ804の第1の端子は駆動トランジスタ802の出力端子に接続され、スイッチトランジスタ804の第2の端子は発光ダイオード(LED)806に接続されている。いくつかの実施形態では、LED806はマイクロLEDである。駆動トランジスタ802の入力端子は、供給信号バイアス(例えば、電圧源、Vdd)とアナログピクセル制御回路650の第1の出力との接続により形成されるノードに接続されている。トランジスタ802の制御端子(例えば、ゲート)は、アナログピクセル制御回路630の第2の出力に接続されている。スイッチトランジスタ804の制御端子(例えば、ゲート)は、デジタルピクセル制御回路630から制御信号(nDrive)を受信する。
図9は、本開示に記載された技術による、デジタルピクセル制御回路630、ドライバ回路608、およびアナログピクセル制御回路650の例示的な実装形態を含む例示的なピクセル612を示す回路図である。例示的なアナログピクセル制御回路650は、蓄積キャパシタ954およびトランジスタ952を含む。この例では、トランジスタ952はPMOSトランジスタである。しかしながら、アナログピクセル制御回路650は、NMOSトランジスタを使用して実装されてもよく、それに応じて回路素子の配置が調整され、本開示はこの点に関して限定されないことを理解されたい。蓄積キャパシタ954は、トランジスタ952の出力端子とドライバ回路608の駆動トランジスタ802の制御端子との間の接続によって形成される第1のノード956に接続された入力端子を含む。蓄積キャパシタ954は、ドライバ回路608の駆動トランジスタ802の入力端子と電圧源(Vdd)との間の接続によって形成される第2のノード958に接続された出力端子をさらに含む。換言すれば、蓄積キャパシタ954は、蓄積キャパシタ954に蓄積される電圧が電流駆動トランジスタ802を流れる電流量を制御し得るように、電流駆動トランジスタ802の入力端子と制御端子との間に接続されている。
アナログピクセル制御回路650は、行ドライバ614からのスキャン信号およびアナログ列ドライバ646からのデータ信号(図6参照)の2つの入力を受信するように接続されている。トランジスタ952は、スキャン信号を受信するように接続された制御端子(例えば、ゲート)と、データ入力信号を受信するように接続された入力端子とを含む。ピクセル612がスキャン信号入力によって選択されると、アナログピクセル制御回路650は、ピクセルの所望の強度レベルに対応するn+mビットの制御ワードのmビットに基づいてピクセルのアナログ制御電圧(図9の「データ」)を受信する。トランジスタ952がオンにされ、フレームのピクセル強度に対応するアナログ制御電圧に基づいて蓄積キャパシタ954を所望の駆動電圧に充電する。駆動電圧は、デジタルピクセル制御回路630によって提供されるnビットの強度制御と組み合わせて、n+m個の制御ワードによって示される階調強度をもたらす電流レベルでLEDを駆動するために必要な電圧である。キャパシタが充電され、デジタルピクセル制御回路630によって提供されるnDrive信号がスイッチトランジスタ804をオンにすると、トランジスタ802は蓄積キャパシタ954に蓄積された電圧によってバイアスされる。キャパシタ954に蓄積されたこのバイアス電圧は、トランジスタ802によって、トランジスタ804を通って最終的にLED806に供給される電流レベルを制御する。このように、アナログピクセル制御回路650は、蓄積キャパシタ954に蓄積される電圧を制御することにより、ピクセル612のLED806に供給される電流の量またはレベルを制御する。
図10Aは、デジタルピクセル制御回路630のデジタルプログラミング段階を示す図であり、図10Bは、アナログピクセル制御回路650のアナログプログラミング段階を示す図である。図10Aおよび図10Bに示すデジタルプログラミング段階およびアナログプログラミング段階は、互いに完全に独立しており、図10Aおよび図10Bは、デジタルプログラミング段階およびアナログプログラミング段階間のタイミング関係を伝達することを意図していないことを理解されたい。代わりに、デジタルプログラミング段階およびアナログプログラミング段階のタイミングは、本明細書でさらに説明するように、システムの設計上の考慮事項に基づいて選択され得る。
デジタルプログラミング段階(図10A)は、書き込みまたはワード線(WL(n))信号によって制御される。WL信号がイネーブルされる(この例ではハイになる)と、そのビットロケーションに対応するデジタルピクセル制御回路630のメモリセルがプログラムされる。図10aのn=3ビットの例では、第1のメモリセル(図7のセル902(0)など)は、第1のWL(n)イネーブル時間窓の間、ビットn信号の値でプログラムされ、第2のメモリセル(図7のメモリセル902(1)など)は、第2のWL(n)イネーブル時間窓の間、ビットn信号の値でプログラムされ、第3のメモリセル(図7のメモリセル902(2)など)は、第3のWL(n)イネーブル時間窓の間、ビットn信号の値でプログラムされる。
アナログプログラミング段階(図10B)は、デジタルプログラミング段階と独立しており、スキャン信号によって制御される。スキャン信号がアクティブである(この例ではローになる)と、アナログピクセル制御回路650がイネーブルされ、mビットのアナログ強度に対応する2m個の異なる電圧レベルのうちの1つを有するアナログ電圧がアナログピクセル制御回路650の蓄積キャパシタ(例えば、C1)に蓄積される。アナログプログラミング段階の長さ(スキャン信号がアクティブである時間)は、蓄積されるアナログ電圧のサイズおよびアナログピクセル制御回路650内の蓄積キャパシタのキャパシタンスに依存する。一般に、アナログプログラミング段階の長さは、アナログ強度のmビットによって定義される最高電圧レベル(2m)までキャパシタを充電するのに十分でなければならない。
デジタルプログラミング段階とアナログプログラミング段階の両方について、デジタルピクセル制御回路に記憶されたデータの破損および/またはアナログピクセル制御回路に記憶されている誤った電圧を防止するために、ビットn線およびデータ線は、対応するプログラムウィンドウが終了するまで、すなわち、この例ではWL(n)信号がローになるか、またはスキャン信号がハイになるまで変化することができない。
上述したように、図10Aに示すデジタルピクセル制御回路650のデジタルプログラミング段階と、図10Bに示すアナログピクセル制御回路630のアナログプログラミング段階とは、互いに独立している。ユーザは、1つまたは複数の要因に応じて、デジタルプログラミング段階とアナログプログラミング段階との間の好適なタイミング関係を決定し得る。
例えば、アナログピクセル制御回路650が不均一性補償に使用される場合、アナログプログラミング段階(図10B)は、フレームのデジタルプログラミング段階(図10A)の前に発生するように選択されてもよい。このような例では、キャリブレーション時の測定により、キャパシタにプログラム(充電)されるアナログ電圧が固定される。したがって、不均一性補償の例では、各フレームについて、ピクセルごとにキャパシタを充電するレベルが同じである。さらに、補償電圧およびキャパシタのサイズに応じて、キャパシタをフレームごとに充電する必要がないようにキャパシタが選択され得る。むしろ、キャパシタは、1フレームおきに、またはあらかじめ選択された数のフレームごとに充電されてもよい。キャパシタの充電のタイミングは、フレーム中のデッドタイムに重なるように充電してもよい。
別の例では、2mの可能な電圧レベルに対応するm個の追加ビットの階調強度制御を提供するためにアナログピクセル制御回路650が使用される場合、デジタルプログラミング段階(図10A)は、フレームのアナログプログラミング段階(図10B)の前に開始するように選択されてもよい。このような例では、キャパシタにプログラム(充電)されるアナログ電圧が各フレームについて異なり得るため、フレームごとにキャパシタを充電する必要がある。アナログプログラミング段階は、キャパシタの充電がデジタルプログラミング段階と重なり得るように、デジタルプログラミング段階の開始後に開始し得る。この例では、キャパシタの充電がデジタルプログラミング段階と重なるため、全体的なプログラミング段階(デジタル+アナログ)はより短い。また、フレームの開始および終了はデジタル制御回路によって完全に制御されるため、フレームのタイミングは一般に、より正確で信頼性が高い。
いくつかの例では、行ドライバ614(図6参照)によって生成され、デジタルピクセル制御回路630およびアナログピクセル制御回路650によってそれぞれ受信されるWL(n)およびスキャン信号は、同じ信号のみを使用して実装されてもよい。例えば、WL(n)信号は、別々のスキャン信号の代わりにアナログピクセル制御回路630に送られてもよい。これは、アナログピクセル制御回路650がm個の追加ビットの階調強度制御を提供するために使用され、アナログプログラミング段階が同時に開始し、デジタルプログラミング段階と重なる場合に有用であり得る。この例では、WL(n)信号のタイミングは、アナログピクセル制御回路のキャパシタをmビットのアナログ強度に対応する電圧に充電するのに十分な時間があるように設計される。図10の例では、例えば、WL(n)信号が非アクティブ(低)である合計時間は、キャパシタをmビットのアナログ強度に対応する電圧に充電するのに十分であるように設計される。
図11Aは、本開示に記載の技術による、ディスプレイデバイスのピクセルのデジタルPWM制御のための例示的なプロセス(1100)を示すフローチャートである。例示的なプロセス(1100)は、ピクセル内の発光素子に駆動電流が供給されるフレームのサブフレーム数を制御し、したがって、ピクセル612が発光するフレーム内のサブフレーム数を制御するために、デジタルピクセル制御回路630によって実行されてもよい。このプロセス(1100)は、より少ないまたは追加のステップを有してもよく、ステップは、異なる順序でまたは並行して実行されてもよい。
デジタルピクセル制御回路630は、フレームについてのピクセルの強度レベルに対応するn+mビットの制御ワードのn個のデータビット値を受信する(1102)。デジタルピクセル制御回路630は、n個のデータビット値に基づいてフレームの各サブフレーム中にピクセル内の各発光素子を制御する(1104)。例えば、n個のデータビット値は、ピクセル内の発光素子に駆動電流が供給されるフレームのサブフレーム数を決定する。そして、デジタルピクセル制御回路630は、次の連続フレーム(1106)の処理を繰り返す。
図12Aは、本開示に記載された技術に従って、デジタルピクセル制御回路630によって生成され得るnDrive信号の例示的な値(1210)の表であり、n=3である。第1のデジタル強度レベル(000)では、第1のサブフレーム(サブフレーム0)の間、nDrive信号はハイであり、その結果、フレームのすべてのサブフレームについてピクセルがオフになる(換言すれば、nDrive信号は、フレームのすべてのサブフレームについてハイレベルである)。第2のデジタル強度レベル(001)では、nDrive信号は、第1のサブフレーム(サブフレーム0)の間はローであり、その後、第2のサブフレームでハイになり、これは、ピクセルが第1のサブフレームのみについてオンになり(すなわち、ピクセル内の発光素子に駆動電流が供給され)、フレームの残りのすべてのサブフレームについてオフになることを意味する。同様の結果が、フレームの最後のサブフレーム(サブフレーム7)を除くすべてのサブフレームについてピクセルがオンにされる最高デジタル強度レベル(111)に達するまで、連続する各デジタル強度レベルについて発生する。
図11Bは、本開示に記載された技術による、ディスプレイデバイスのピクセルへ供給される電流レベルのアナログ制御のための例示的なプロセス(1150)を示すフローチャートである。例示的なプロセス(1150)は、ディスプレイデバイスのピクセルに供給される電流量を制御するためにアナログピクセル制御回路650によって実行されてもよい。このプロセス(1150)は、より少ないまたは追加のステップを有してもよく、ステップは、異なる順序でまたは並行して実行されてもよい。
フレームの始めに、アナログピクセル制御回路650は、ピクセルの所望の強度レベルに対応するn+mビットの制御ワードのmビットに基づいてピクセルのアナログ制御電圧を受信する(1152)。アナログピクセル制御回路は、アナログ制御電圧に基づいて蓄積キャパシタを駆動電圧に充電する(1154)。駆動電圧は、n+m個の制御ワードのmビットによって示される強度をもたらす電流レベルでLEDを駆動するのに必要な電圧である。キャパシタが充電されると、アナログピクセル制御回路650は、キャパシタに蓄積された駆動電圧に基づいて、フレーム中にピクセルのLEDに供給される駆動電流のレベルを制御する(1156)。そして、アナログピクセル制御回路650は、次の連続フレーム(1158)の処理を繰り返す。
図11Cは、本開示に記載の技術による、ピクセルに供給される電流レベルのアナログ制御と組み合わせた、ディスプレイデバイスのピクセルのデジタルPWM制御のための例示的なプロセス(1180)を示すフローチャートである。
例示的なプロセス(1180)は、ピクセル(すなわち、ピクセルがオンにされるサブフレーム数)に駆動電流が供給されるフレームのサブフレーム数を制御し、フレーム中にピクセルに供給される駆動電流の量またはレベルを制御するために、デジタルピクセル制御回路630およびアナログピクセル制御回路650によって実行されてもよい。プロセス(1180)は、より少ないまたは追加のステップを有してもよく、ステップは、異なる順序でまたは並行して実行されてもよい。
デジタルピクセル制御回路630は、フレームのピクセルの強度レベルに対応するn+mビットの制御ワードのnビットに基づいて、フレームのサブフレーム数分、ディスプレイデバイスの各ピクセルを駆動する(1182)。アナログピクセル制御回路650は、フレームのピクセルの強度レベルに対応するn+mビットの制御ワードのmビットに基づいて、ディスプレイデバイスの各ピクセルを電流レベルで駆動する(1184)。駆動電流は、フレームのすべてのサブフレームについてピクセルに供給される。次いで、プロセス(1180)は、次の連続フレーム(1186)について繰り返す。
図12Bは、n+mビット制御ワードの例示的な総強度ビット値を示す表1220を示し、n=3およびm=2である。nビットまたは3ビットのデジタル強度値は、表1220の最初の列に示されている。mビットまたは2ビットのアナログ強度値は、表1220の最初の行に示されている。この例では、強度値の総数は、表に示すように、2n+m=25=32個の可能な強度値である。この例では、n+mビットの制御ワードの最上位ビットとしてn個のデジタル強度ビットが割り当てられ、n+mビットの制御ワードの最下位ビットとしてm個のアナログ強度ビットが割り当てられた。しかしながら、最上位ビットと最下位ビットとは異なるように割り当てることができ、本開示はこの点に関して限定されないことを理解されたい。例えば、他の例では、n個のデジタル強度ビットはn+mビットの制御ワードの最下位ビットとして割り当てられてもよく、m個のアナログ強度ビットはn+mビットの制御ワードの最上位ビットとして割り当てられてもよい。
図13は、本開示に記載された技術による、アナログピクセル制御回路650を使用するディスプレイデバイスにおける輝度均一性補償のためのプロセス(1300)を示すフローチャートである。プロセス(1300)は、より少ないまたは追加のステップを有してもよく、ステップは、異なる順序でまたは並行して実行されてもよい。
フレームの始めに、アナログピクセル制御回路650は、ピクセルのmビットの不均一性補正値に対応する不均一性補正電圧を受信する(1302)。mビット不均一性補正値は、製造時のキャリブレーション中に、および/またはディスプレイデバイスの寿命中の任意の他の時点で決定されてもよい。アナログピクセル制御回路650は、mビットの不均一性補正値に基づいて、ピクセルに関連する蓄積キャパシタを不均一性補正電圧に充電する(1304)。アナログピクセル制御回路650は、蓄積キャパシタに蓄積された不均一性補正電圧に基づいて、フレーム中にピクセルに供給される駆動電流のレベルを制御する(1306)。フレームの終了時に、アナログピクセル制御回路650は、次の連続フレーム(1308)の処理を繰り返してもよい。しかしながら、不均一性補正のために、ピクセルごとの不均一性補正電圧は、必ずしも各フレームで変化するとは限らない。むしろ、特定のピクセルのmビット不均一性補正値が決定されると、各フレーム中に同じ不均一性補正値が使用されて、ピクセルに関連付けられた蓄積キャパシタに蓄積された不均一性補正電圧の値が決定される。換言すれば、各ピクセルの不均一性補正値は、ディスプレイが再度キャリブレーションされるまで、各フレームで一定のままである。各ピクセルは、ディスプレイ内の他のピクセルと同じまたは異なる不均一性補正値を有してもよい。
輝度調整のための不均一性キャリブレーションは、様々な時点で実行することができる。一例では、キャリブレーションは、製造工程中に実行されてもよい。光学系を使用して各ピクセルの相対輝度を測定してもよく、または回路測定系を使用して各ピクセルのLEDの駆動電流を測定してもよい。色の各セットは、測定された不均一性値のそれ自体のセットを有してもよい。各ピクセルについて測定された不均一性値に基づいて、mビットの不均一性補正値をピクセルごとに生成して、ディスプレイの輝度均一性を改善し得る。次いで、各ピクセルのmビットの不均一性補正値を使用して、ピクセルに関連付けられた蓄積キャパシタの不均一性補正電圧を生成し得、これを使用してピクセルへの好適な駆動電流を生成する。別の例では、代替的または追加的に、キャリブレーションは、LED性能が低下するにつれて、ディスプレイデバイスの寿命の間の1つまたは複数の時間など、何らかの他の時間に実行されてもよい。
本明細書で様々な例により説明したように、本開示の技法は、人工現実システムを含むか、人工現実システムと相まって実施され得る。説明したように、人工現実は、例えば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、またはそれらの何らかの組合せおよび/もしくは派生形態を挙げることができる、ユーザに提示する前にある程度調整された現実形態である。人工現実コンテンツには、完全に生成されたコンテンツ、または捕捉されたコンテンツと組み合わせて生成されたコンテンツ(例えば、実世界の写真または映像)が含まれ得る。人工現実コンテンツは、映像、音声、触覚フィードバック、またはそれらの何らかの組合せを含み得、それらのいずれも単一チャネルまたは多重チャネル(視聴者に3次元効果を生じるステレオ映像など)で提示することができる。さらに、いくつかの例では、人工現実は、例えば、人工現実においてコンテンツを作成するのに使用されるかつ/または人工現実において(例えば、活動するのに)使用される、アプリケーション、製品、付属品、サービス、またはそれらの何らかの組合せに関連付けられ得る。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続されているHMD、スタンドアロンのHMD、モバイルデバイスもしくはコンピューティングシステム、または1人もしくは複数の視聴者に人工現実コンテンツを提供することが可能な任意のその他のハードウェアプラットフォームを含む、様々なプラットフォーム上で実施されることが可能である。
本開示に記載の技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せにおいて少なくとも部分的に具体化されてもよい。例えば、記載の技法の様々な態様が、1つまたは複数のマイクロプロセッサ、DSP、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の同等の如何なる集積論理回路もしくはディスクリート論理回路でも、さらにこのようなコンポーネントの如何なる組合せでも含む、1つまたは複数のプロセッサ内に具体化されてもよい。「プロセッサ」または「プロセッサ回路」という用語は、通常、これまで述べた論理回路、単独もしくは他の論理回路との組合せ、または他の如何なる同等の回路のことを言うことができる。ハードウェアで構成された制御ユニットも本開示の技法のうちの1つまたは複数を行うことができる。
このようなハードウェア、ソフトウェア、およびファームウェアは、同じデバイス内に具体化されることも、別々のデバイス内に具体化されることもあり、本開示に記載の様々な動作および機能に対応することができる。さらに、記載のユニット、モジュール、またはコンポーネントのいずれも、ディスクリートであるが相互運用可能な論理デバイスとして一緒にでも、別々にでも具体化されていてもよい。モジュールまたはユニットとしての様々な特徴の描写は、様々な機能上の側面を浮き彫りにすることを意図しており、このようなモジュールまたはユニットが別々のハードウェア構成要素またはソフトウェア構成要素によって実現されなければならないことを必ずしも暗に示してはいない。そうではなく、1つまたは複数のモジュールもしくはユニットに対応している機能が、別々のハードウェア構成要素によっても、ソフトウェア構成要素によっても果たされてもよく、共通でも別々でもハードウェア構成要素またはソフトウェア構成要素内に組み組まれていてもよい。
本開示に記載の技法は、命令が入っているコンピュータ可読記憶媒体などのコンピュータ可読媒体に具体化されていても符号化されていてもよい。コンピュータ可読記憶媒体に埋め込まれたまたは符号化された命令は、例えば、命令が実行されると、プログラマブルプロセッサなどのプロセッサに、方法を行わせることができる。コンピュータ可読記憶媒体としては、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、フラッシュメモリ、ハードディスク、CD-ROM、フロッピィディスク、カセット、磁気媒体、光媒体などのコンピュータ可読媒体を挙げることができる。
Claims (20)
- 人工現実コンテンツを出力するように構成されたヘッドマウントディスプレイ(HMD)を備え、前記HMDが、複数のピクセルを含む少なくとも1つのディスプレイデバイスを含み、前記複数のピクセルの各々が、
発光素子と、
前記発光素子に駆動電流が供給されるフレームのサブフレーム数を制御するパルス幅変調(PWM)出力信号を生成するデジタルピクセル制御回路と、
前記フレームの前記発光素子に供給される前記駆動電流のレベルを制御するアナログピクセル制御回路と
を含む、人工現実システム。 - 前記アナログピクセル制御回路が、前記フレームの前記ピクセルの前記所望の強度レベルに対応するn+mビットの制御ワードのmビットに基づいて、前記フレーム中に前記発光素子に供給される前記駆動電流のレベルを制御する、請求項1に記載の人工現実システム。
- 前記アナログピクセル制御回路が、
前記フレームの前記所望の強度レベルに対応するn+mビットの制御ワードのmビットに対応する駆動電圧に充電されるように構成された蓄積キャパシタであって、前記駆動電圧が、前記フレーム中に前記発光素子に供給される前記駆動電流のレベルを制御する、蓄積キャパシタ
を備える、請求項1または2に記載の人工現実システム。 - ピクセルドライバ回路をさらに備え、前記ピクセルドライバ回路が、
前記PWM出力信号を受信するように接続された第1の制御端子、第1の入力端子、および前記発光素子に前記駆動電流が供給されるように接続された第1の出力端子を有する第1のトランジスタと、
前記第1のトランジスタの前記第1の入力端子に接続された第2の出力端子、電圧源と前記蓄積キャパシタの前記出力端子との間の接続によって形成されるノードに接続された第2の入力端子、および前記蓄積キャパシタの入力端子に接続された第2の制御端子を有する第2のトランジスタと
を含む、請求項3に記載の人工現実システム。 - 前記アナログピクセル制御回路が、
スキャン信号を受信するように接続された第3の制御端子と、前記蓄積キャパシタの前記入力端子と前記第2のトランジスタの前記第2の制御端子との間の接続によって形成されるノードに接続された出力端子と、前記フレームの前記ピクセルの前記所望の強度レベルに対応する前記n+mビットの制御ワードのmビットに対応する制御電圧を受信するように接続された入力端子とを有する第3のトランジスタ
をさらに備える、請求項4に記載の人工現実システム。 - 前記第1のトランジスタおよび前記第2のトランジスタが同じ型である、請求項4または5に記載の人工現実システム。
- 前記第1のトランジスタおよび前記第2のトランジスタがp型トランジスタである、請求項4から6のいずれか一項に記載の人工現実システム。
- 前記デジタルピクセル制御回路が、前記フレームの前記ピクセルの前記所望の強度レベルに対応するn+mビットの制御ワードのnビットに基づいて、前記駆動電流が前記発光素子に提供される前記フレームのサブフレーム数を制御する前記パルス幅変調(PWM)出力信号を生成する、請求項1から7のいずれか一項に記載の人工現実システム。
- 前記アナログピクセル制御回路が、前記フレームの前記ピクセルの前記所望の強度レベルに対応する前記n+mビットの制御ワードのmビットに基づいて、前記フレーム中に前記発光素子に供給される前記駆動電流のレベルを制御する、請求項8に記載の人工現実システム。
- nがmより大きい、請求項9に記載の人工現実システム。
- nが5から10の整数であり、mが2から5の整数である、請求項9または10に記載の人工現実システム。
- 前記n+mビットの制御ワードによって定義される強度レベルの数が2n+mである、請求項9から11のいずれか一項に記載の人工現実システム。
- nビットが前記n+mビットの制御ワードの最上位ビットであり、mビットが前記n+mビットの制御ワードの最下位ビットである、請求項9から12のいずれか一項に記載の人工現実システム。
- 前記デジタルピクセル制御回路が、前記n+mビット制御ワードのnビットを記憶するように構成されたn個の1ビットメモリセルを含む、請求項8から13のいずれか一項に記載の人工現実システム。
- 前記n個の1ビットメモリセルの各々が、1ビットのスタティックランダムアクセスメモリ(SRAM)セルである、請求項14に記載の人工現実システム。
- 前記デジタルピクセル制御回路が、前記フレームの前記ピクセルの前記所望の強度レベルに対応するnビットの制御ワードに基づいて、前記発光素子に前記駆動電流が供給される前記フレームのサブフレーム数を制御する前記パルス幅変調(PWM)出力信号を生成し、
前記アナログピクセル制御回路が、前記ピクセルの不均一性補償値に対応するmビットの制御ワードに基づいて、前記フレーム中に前記発光素子に供給される駆動電流のレベルを制御する、
請求項1に記載の人工現実システム。 - 複数のピクセルを備え、前記複数のピクセルの各々が、
発光素子と、
前記発光素子に駆動電流が供給されるフレームのサブフレーム数を制御するパルス幅変調(PWM)出力信号を生成するデジタルピクセル制御回路と、
前記フレーム中に前記発光素子に供給される前記駆動電流のレベルを制御するアナログピクセル制御回路と
を含む、ディスプレイデバイス。 - 前記デジタルピクセル制御回路によって生成された前記PWM出力信号が、前記フレームの前記ピクセルの所望の強度レベルに対応するn+mビットの制御ワードのnビットを含み、
前記アナログピクセル制御回路によって制御される前記駆動電流の前記レベルが、前記フレームの前記ピクセルの前記所望の強度レベルに対応する前記n+mビットの制御ワードのmビットを含む、
請求項17に記載のディスプレイデバイス。 - 前記デジタルピクセル制御回路によって生成された前記PWM出力信号が、前記フレームの前記ピクセルの所望の強度レベルに対応するnビットの制御ワードを含み、
前記アナログピクセル制御回路によって制御される前記駆動電流のレベルが、前記ピクセルの不均一性補償値に対応するmビットの制御ワードを含む、
請求項17に記載のディスプレイデバイス。 - デジタルピクセル制御回路を使用して、駆動電流がディスプレイデバイスのピクセルの発光素子に供給されるフレームのサブフレーム数を制御するパルス幅変調(PWM)出力信号を生成することと、
アナログピクセル制御回路を使用して、前記フレーム中に前記発光素子に供給される前記駆動電流のレベルを制御することと
を含む、方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/067,070 | 2020-10-09 | ||
US17/067,070 US11567325B2 (en) | 2020-10-09 | 2020-10-09 | Artificial reality systems including digital and analog control of pixel intensity |
PCT/US2021/054324 WO2022076926A1 (en) | 2020-10-09 | 2021-10-09 | Artificial reality systems including digital and analog control of pixel intensity |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023546797A true JP2023546797A (ja) | 2023-11-08 |
Family
ID=78500775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023519675A Pending JP2023546797A (ja) | 2020-10-09 | 2021-10-09 | ピクセル強度のデジタル制御およびアナログ制御を含む人工現実システム |
Country Status (7)
Country | Link |
---|---|
US (2) | US11567325B2 (ja) |
EP (1) | EP4226358A1 (ja) |
JP (1) | JP2023546797A (ja) |
KR (1) | KR20230084197A (ja) |
CN (1) | CN116324958A (ja) |
TW (1) | TW202215106A (ja) |
WO (1) | WO2022076926A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117813643A (zh) * | 2022-06-22 | 2024-04-02 | 京东方科技集团股份有限公司 | 像素电路,其驱动方法及显示装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6208542B1 (en) | 1998-06-30 | 2001-03-27 | Sandisk Corporation | Techniques for storing digital data in an analog or multilevel memory |
US6044004A (en) | 1998-12-22 | 2000-03-28 | Stmicroelectronics, Inc. | Memory integrated circuit for storing digital and analog data and method |
US20010043177A1 (en) | 2000-04-14 | 2001-11-22 | Huston James R. | System and method for color and grayscale drive methods for graphical displays utilizing analog controlled waveforms |
AU2003282285A1 (en) | 2002-12-04 | 2004-06-23 | Koninklijke Philips Electronics N.V. | An organic led display device and a method for driving such a device |
US10726800B2 (en) * | 2014-05-09 | 2020-07-28 | Syndiant, Inc. | Generating quincunx video streams for light modulating backplanes with configurable multi electrode pixels |
EP3304537A1 (en) | 2015-06-05 | 2018-04-11 | Apple Inc. | Emission control apparatuses and methods for a display panel |
US10074299B2 (en) * | 2015-07-28 | 2018-09-11 | Microsoft Technology Licensing, Llc | Pulse width modulation for a head-mounted display device display illumination system |
GB2553075B (en) * | 2016-03-21 | 2019-12-25 | Facebook Tech Llc | A display |
US10360846B2 (en) * | 2016-05-10 | 2019-07-23 | X-Celeprint Limited | Distributed pulse-width modulation system with multi-bit digital storage and output device |
US10861380B2 (en) * | 2018-05-14 | 2020-12-08 | Facebook Technologies, Llc | Display systems with hybrid emitter circuits |
KR101942466B1 (ko) | 2018-06-28 | 2019-04-17 | 주식회사 사피엔반도체 | 화소 및 이를 포함하는 표시장치 |
US11138921B2 (en) | 2019-02-04 | 2021-10-05 | Facebook Technologies, Llc | Row based brightness calibration |
-
2020
- 2020-10-09 US US17/067,070 patent/US11567325B2/en active Active
-
2021
- 2021-07-07 TW TW110124983A patent/TW202215106A/zh unknown
- 2021-10-09 WO PCT/US2021/054324 patent/WO2022076926A1/en active Application Filing
- 2021-10-09 CN CN202180069468.4A patent/CN116324958A/zh active Pending
- 2021-10-09 EP EP21802124.4A patent/EP4226358A1/en not_active Withdrawn
- 2021-10-09 KR KR1020237014318A patent/KR20230084197A/ko unknown
- 2021-10-09 JP JP2023519675A patent/JP2023546797A/ja active Pending
-
2023
- 2023-01-23 US US18/157,901 patent/US20230161165A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN116324958A (zh) | 2023-06-23 |
EP4226358A1 (en) | 2023-08-16 |
WO2022076926A1 (en) | 2022-04-14 |
US11567325B2 (en) | 2023-01-31 |
TW202215106A (zh) | 2022-04-16 |
KR20230084197A (ko) | 2023-06-12 |
US20220113542A1 (en) | 2022-04-14 |
US20230161165A1 (en) | 2023-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210011556A1 (en) | Virtual user interface using a peripheral device in artificial reality environments | |
KR102228279B1 (ko) | 증강 현실 경험을 위한 재투영 oled 디스플레이 | |
KR102302102B1 (ko) | 후기 단계 재투사 | |
US11645809B2 (en) | Intelligent stylus beam and assisted probabilistic input to element mapping in 2D and 3D graphical user interfaces | |
US11675415B2 (en) | Hierarchical power management in artificial reality systems | |
JP7008730B2 (ja) | 画像に挿入される画像コンテンツについての影生成 | |
US11023035B1 (en) | Virtual pinboard interaction using a peripheral device in artificial reality environments | |
US11474970B2 (en) | Artificial reality system with inter-processor communication (IPC) | |
CN114616535A (zh) | 将物理对象移植到虚拟现实中 | |
US20210089117A1 (en) | Suspend mode feature for artificial reality systems | |
US10976804B1 (en) | Pointer-based interaction with a virtual surface using a peripheral device in artificial reality environments | |
US11430141B2 (en) | Artificial reality system using a multisurface display protocol to communicate surface data | |
US20230161165A1 (en) | Artificial reality systems including digital and analog control of pixel intensity | |
US20220004328A1 (en) | Hierarchical power management of memory for artificial reality systems | |
US11670364B2 (en) | Artificial reality system with reduced SRAM power leakage | |
US11816757B1 (en) | Device-side capture of data representative of an artificial reality environment | |
US20230412907A1 (en) | Near infrared (nir) transparent organic light emitting diode (oled) display |