(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-02-01
(54)【発明の名称】グラフィックファイルを使用した電気部品の制御
(51)【国際特許分類】
G09G 5/36 20060101AFI20230125BHJP
G09G 5/00 20060101ALI20230125BHJP
G09G 5/02 20060101ALI20230125BHJP
G09G 5/377 20060101ALI20230125BHJP
G09G 5/10 20060101ALI20230125BHJP
H01L 33/00 20100101ALI20230125BHJP
【FI】
G09G5/36 510M
G09G5/00 555D
G09G5/00 555A
G09G5/02 B
G09G5/36 520M
G09G5/10 B
H01L33/00 L
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021557980
(86)(22)【出願日】2020-12-01
(85)【翻訳文提出日】2021-09-28
(86)【国際出願番号】 US2020070833
(87)【国際公開番号】W WO2021113861
(87)【国際公開日】2021-06-10
(32)【優先日】2019-12-06
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】500358711
【氏名又は名称】イルミナ インコーポレイテッド
(74)【代理人】
【識別番号】100106518
【氏名又は名称】松谷 道子
(74)【代理人】
【識別番号】100132263
【氏名又は名称】江間 晴彦
(72)【発明者】
【氏名】シノフスキー,ブライアン
(72)【発明者】
【氏名】ノートン,カークパトリック
(72)【発明者】
【氏名】シス,ソーハム
【テーマコード(参考)】
5C182
5F142
【Fターム(参考)】
5C182AA02
5C182AC03
5C182AC43
5C182BC29
5C182BC41
5C182CA01
5C182CA21
5C182CA33
5C182CA34
5C182CB54
5C182CC04
5C182CC22
5C182DA44
5F142GA10
(57)【要約】
方法は、アニメーショングラフィックファイル及びマスクグラフィックファイルにアクセスすることと、アニメーショングラフィックファイルに対応する第1のバイナリシーケンスを生成することと、マスクグラフィックファイルに対応する第2のバイナリシーケンスを生成することと、電気部品のアレイを制御するハードウェアに第1のバイナリシーケンス及び第2のバイナリシーケンスを出力することと、を含む。
【特許請求の範囲】
【請求項1】
方法であって、
アニメーショングラフィックファイル及びマスクグラフィックファイルにアクセスすることと、
前記アニメーショングラフィックファイルに対応する第1のバイナリシーケンスを生成することと、前記マスクグラフィックファイルに対応する第2のバイナリシーケンスを生成することと、
電気部品のアレイを制御するハードウェアに前記第1のバイナリシーケンス及び前記第2のバイナリシーケンスを出力することと、を含む、方法。
【請求項2】
前記第1のバイナリシーケンス及び前記第2のバイナリシーケンスを出力することが、前記第1のバイナリシーケンス及び前記第2のバイナリシーケンスを含むバイナリファイルを送信することを含む、請求項1に記載の方法。
【請求項3】
前記アニメーショングラフィックファイル及び前記マスクグラフィックファイルが、共通のグラフィックファイルタイプを有する、請求項1又は2に記載の方法。
【請求項4】
前記共通のグラフィックファイルタイプが、ロスレスデータ圧縮をサポートする、請求項3に記載の方法。
【請求項5】
前記アニメーショングラフィックファイル又は前記マスクグラフィックファイルのうちの少なくとも1つが、1色当たり8ビットを有する、請求項1~4のいずれか一項に記載の方法。
【請求項6】
前記アニメーショングラフィックファイル又は前記マスクグラフィックファイルのうちの少なくとも1つが、1色当たり16ビットを有する、請求項1~4のいずれか一項に記載の方法。
【請求項7】
前記アニメーショングラフィックファイル又は前記マスクグラフィックファイルのうちの少なくとも1つが、3つのプレーンを有する、請求項1~6のいずれか一項に記載の方法。
【請求項8】
前記アニメーショングラフィックファイル又は前記マスクグラフィックファイルのうちの少なくとも1つが、4つのプレーンを有する、請求項1~6のいずれか一項に記載の方法。
【請求項9】
第1のフラグを読み取って、前記アニメーショングラフィックファイルを前記マスクグラフィックファイルと区別することを更に含む、請求項3~8のいずれか一項に記載の方法。
【請求項10】
前記第1のバイナリシーケンスを生成するか、又は前記第2のバイナリシーケンスを生成することのうちの少なくとも1つが、処理方向を示す第2のフラグを読み取ることを含む、請求項1~9のいずれか一項に記載の方法。
【請求項11】
前記第1のバイナリシーケンス及び前記第2のバイナリシーケンスを使用して、前記電気部品のアレイを動作させることを更に含む、請求項1~10のいずれか一項に記載の方法。
【請求項12】
プロセッサによって実行されると、プロセッサに動作を実行させる命令を含む、非一時的媒体内に記憶されたコンピュータプログラム製品であって、前記動作が、
アニメーショングラフィックファイル及びマスクグラフィックファイルにアクセスすることと、
前記アニメーショングラフィックファイルに対応する第1のバイナリシーケンスを生成することと、前記マスクグラフィックファイルに対応する第2のバイナリシーケンスを生成することと、
電気部品のアレイを制御するハードウェアに前記第1のバイナリシーケンス及び前記第2のバイナリシーケンスを出力することと、を含む、コンピュータプログラム製品。
【請求項13】
方法であって、
第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、マスクグラフィックファイル、及び電気部品のアレイについての所定の電気的閾値にアクセスすることと、
前記第1のアニメーショングラフィックファイル及び前記第2のアニメーショングラフィックファイル及び前記マスクグラフィックファイルからの行の組み合わせについての画素ごとの計算を実行することであって、前記画素ごとの計算のそれぞれが、前記第1のアニメーショングラフィックファイルからの第1のアニメーション画素値に、前記マスクグラフィックファイルからの第1のマスク画素値を乗算することによって第1のスケーリングされた画素値を判定することと、前記第2のアニメーショングラフィックファイルからの第2のアニメーション画素値に、前記マスクグラフィックファイルからの第2のマスク画素値を乗算することによって第2のスケーリングされた画素値を判定することと、前記第1のスケーリングされた画素値と前記第2のスケーリングされた画素値との合計を判定することと、
前記画素ごとの計算の結果が、前記電気部品のアレイについての前記所定の電気的閾値を超えるかどうかを反映する出力を生成することと、を含む、方法。
【請求項14】
前記画素ごとの計算を実行することが、前記第1のアニメーショングラフィックファイル、前記第2のアニメーショングラフィックファイル、及び前記マスクグラフィックファイルからの全ての可能な行の組み合わせについて、前記画素ごとの計算を実行することを含む、請求項13に記載の方法。
【請求項15】
前記出力が、前記画素ごとの計算の結果は前記電気部品のアレイについての前記所定の電気的閾値を超えることを示し、前記方法が、前記第1のアニメーショングラフィックファイル、前記第2のアニメーショングラフィックファイル、又は前記マスクグラフィックファイルのうちの少なくとも1つを調整することを更に含む、請求項13又は14に記載の方法。
【請求項16】
前記電気部品のアレイが、発光ダイオード(LED)を含み、前記所定の電気的閾値が、上限電流制限を含み、前記第1のアニメーショングラフィックファイル、前記第2のアニメーショングラフィックファイル又は前記マスクグラフィックファイルのうちの少なくとも1つを調整することが、輝度値を低減することを含む、請求項15に記載の方法。
【請求項17】
前記出力が、前記画素ごとの計算の結果は前記電気部品のアレイについての前記所定の電気的閾値を超えないことを示し、前記出力が、前記電気部品のアレイを記述する計算された電気値を更に含む、請求項13~16のいずれか一項に記載の方法。
【請求項18】
前記計算された電気値が、前記第1のアニメーショングラフィックファイル、前記第2のアニメーショングラフィックファイル、及び前記マスクグラフィックファイルの全ての行の組み合わせに対する平均総電流を含む、請求項17に記載の方法。
【請求項19】
前記計算された電気値が、前記第1のアニメーショングラフィックファイル、前記第2のアニメーショングラフィックファイル、及び前記マスクグラフィックファイルの全ての行の組み合わせの中で最も高い総電流を含む、請求項17又は18に記載の方法。
【請求項20】
前記電気部品のアレイが発光ダイオード(LED)を含む、請求項13~19のいずれか一項に記載の方法。
【請求項21】
前記画素ごとの計算の結果が、前記第1のアニメーショングラフィックファイル及び前記第2のアニメーショングラフィックファイル及び前記マスクグラフィックファイル内の画素として記憶されたデータに基づいて、前記LEDの各LED色についての推定電流を計算することを含む、請求項20に記載の方法。
【請求項22】
前記LEDの各LED色についての前記推定電流が、平均又は最大電流のうちの少なくとも1つである、請求項21に記載の方法。
【請求項23】
前記画素ごとの計算の結果が、前記LEDの各LEDについての推定電流を含む、請求項20~22のいずれか一項に記載の方法。
【請求項24】
前記LEDの各LEDについての前記推定電流が、平均又は最大電流のうちの少なくとも1つである、請求項23に記載の方法。
【請求項25】
前記第1のアニメーショングラフィックファイル及び前記第2のアニメーショングラフィックファイル内の各行が、前記第1のアニメーショングラフィックファイル及び前記第2のアニメーショングラフィックファイル及び前記マスクグラフィックファイルによって定義されるパターンシーケンス内のフレームに関連付けられ、前記行の各画素が、前記電気部品のアレイのそれぞれの電気部品に関連付けられる、請求項13~24のいずれか一項に記載の方法。
【請求項26】
前記画素ごとの計算を実行することが、前記第1のアニメーショングラフィックファイル及び前記第2のアニメーショングラフィックファイル及び前記マスクグラフィックファイルのそれぞれの第1の行を処理することと、続いて、前記第1のアニメーショングラフィックファイル及び前記第2のアニメーショングラフィックファイル及び前記マスクグラフィックファイルのそれぞれの次の行を複数回繰り返して処理することと、を含む、請求項25に記載の方法。
【請求項27】
前記第1のアニメーショングラフィックファイル、前記第2のアニメーショングラフィックファイル又は前記マスクグラフィックファイルのうちの少なくとも1つが、前記第1のアニメーショングラフィックファイル、前記第2のアニメーショングラフィックファイル、又は前記マスクグラフィックファイルのうちの別のものとは異なる時間長を有し、前記方法が、前記第1のアニメーショングラフィックファイル、前記第2のアニメーショングラフィックファイル、又は前記マスクグラフィックファイルのうちの前記少なくとも1つの終わりに到達した後に、前記第1のアニメーショングラフィックファイル、前記第2のアニメーショングラフィックファイル、又は前記マスクグラフィックファイルのうちの前記少なくとも1つの別のループを開始することを更に含む、請求項26に記載の方法。
【請求項28】
前記第1のアニメーショングラフィックファイル、前記第2のアニメーショングラフィックファイル、及び前記マスクグラフィックファイルのそれぞれにおける一連の行が、前記第1のアニメーショングラフィックファイル、前記第2のアニメーショングラフィックファイル、及び前記マスクグラフィックファイルによって定義されるパターンシーケンスの時間的フローに関連付けられる、請求項13~27のいずれか一項に記載の方法。
【請求項29】
前記第1のアニメーショングラフィックファイル、前記第2のアニメーショングラフィックファイル、及び前記マスクグラフィックファイルが、共通のグラフィックファイルタイプを有する、請求項13~28のいずれか一項に記載の方法。
【請求項30】
前記共通のグラフィックファイルタイプが、ロスレスデータ圧縮をサポートする、請求項29に記載の方法。
【請求項31】
前記第1のアニメーショングラフィックファイル、前記第2のアニメーショングラフィックファイル又は前記マスクグラフィックファイルのうちの少なくとも1つが、1色当たり8ビットを有する、請求項13~30のいずれか一項に記載の方法。
【請求項32】
前記第1のアニメーショングラフィックファイル、前記第2のアニメーショングラフィックファイル又は前記マスクグラフィックファイルのうちの少なくとも1つが、1色当たり16ビットを有する、請求項13~30のいずれか一項に記載の方法。
【請求項33】
前記第1のアニメーショングラフィックファイル、前記第2のアニメーショングラフィックファイル又は前記マスクグラフィックファイルのうちの少なくとも1つが、3つのプレーンを有する、請求項13~32のいずれか一項に記載の方法。
【請求項34】
前記第1のアニメーショングラフィックファイル、前記第2のアニメーショングラフィックファイル又は前記マスクグラフィックファイルのうちの少なくとも1つが、4つのプレーンを有する、請求項13~32のいずれか一項に記載の方法。
【請求項35】
前記出力を生成することが、表示デバイス上にメッセージを提示することを含む、請求項13~34のいずれか一項に記載の方法。
【請求項36】
前記第1のアニメーショングラフィックファイル及び前記第2のアニメーショングラフィックファイルに基づいて、前記電気部品のアレイを動作させることを更に含む、請求項13~35のいずれか一項に記載の方法。
【請求項37】
プロセッサによって実行されると、プロセッサに動作を実行させる命令を含む、非一時的媒体内に記憶されたコンピュータプログラム製品であって、前記動作が、
第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、マスクグラフィックファイル、及び電気部品のアレイについての所定の電気的閾値にアクセスすることと、
前記第1のアニメーショングラフィックファイル及び前記第2のアニメーショングラフィックファイル及び前記マスクグラフィックファイルからの行の組み合わせについての画素ごとの計算を実行することであって、前記画素ごとの計算のそれぞれが、前記第1のアニメーショングラフィックファイルからの第1のアニメーション画素値に、前記マスクグラフィックファイルからの第1のマスク画素値を乗算することによって第1のスケーリングされた画素値を判定することと、前記第2のアニメーショングラフィックファイルからの第2のアニメーション画素値に、前記マスクグラフィックファイルからの第2のマスク画素値を乗算することによって第2のスケーリングされた画素値を判定することと、前記第1のスケーリングされた画素値と前記第2のスケーリングされた画素値との合計を判定することと、
前記画素ごとの計算の結果が、前記電気部品のアレイについての前記所定の電気的閾値を超えるかどうかを反映する出力を生成することと、を含む、コンピュータプログラム製品。
【請求項38】
方法であって、
アニメーショングラフィックファイルに対応する第1のバイナリシーケンス、及びマスクグラフィックファイルに対応する第2のバイナリシーケンスにアクセスすることと、
前記第1のバイナリシーケンスの部分を前記第2のバイナリシーケンスに従って互いに組み合わせて、デジタルビットストリームを生成することと、
前記デジタルビットストリームを送信して、電気部品のアレイを制御することと、を含む、方法。
【請求項39】
前記アニメーショングラフィックファイル内の各行が、前記アニメーショングラフィックファイル及び前記マスクグラフィックファイルによって定義されるパターンシーケンス内のフレームに関連付けられ、前記行の各画素が、前記電気部品のアレイのそれぞれの電気部品に関連付けられる、請求項38に記載の方法。
【請求項40】
前記第1のバイナリシーケンスの部分を互いに組み合わせることが、前記アニメーショングラフィックファイル及び前記マスクグラフィックファイルのそれぞれの第1の行を処理することと、続いて、前記アニメーショングラフィックファイル及び前記マスクグラフィックファイルのそれぞれの次の行を複数回繰り返して処理することと、を含む、請求項38又は39に記載の方法。
【請求項41】
前記アニメーショングラフィックファイル又は前記マスクグラフィックファイルのうちの少なくとも1つが、前記アニメーショングラフィックファイル又は前記マスクグラフィックファイルのうちの別のものとは異なる時間長を有し、前記方法が、前記アニメーショングラフィックファイル又は前記マスクグラフィックファイルのうちの前記少なくとも1つの終わりに到達した後に、前記アニメーショングラフィックファイル又は前記マスクグラフィックファイルのうちの前記少なくとも1つの別のループを開始することを更に含む、請求項40に記載の方法。
【請求項42】
前記アニメーショングラフィックファイル又は前記マスクグラフィックファイルのそれぞれにおける一連の行が、前記アニメーショングラフィックファイル及び前記マスクグラフィックファイルによって定義されるパターンシーケンスの時間的フローに関連付けられる、請求項38~41のいずれか一項に記載の方法。
【請求項43】
それぞれのマスクグラフィックファイルに対応する複数の第2のバイナリシーケンスにアクセスすることと、組み合わせを指定する構成ファイルにアクセスすることであって、各組み合わせが、前記アニメーショングラフィックファイルのうちの少なくとも2つ及び前記マスクグラフィックファイルのうちの1つを含む、アクセスすることと、を更に含む、請求項38~42のいずれか一項に記載の方法。
【請求項44】
前記組み合わせのそれぞれが、安定状態又は遷移状態のいずれかに対応する、請求項43に記載の方法。
【請求項45】
第1の安定状態から第2の安定状態への変化を調節することを更に含み、前記構成ファイルが、前記第1の安定状態と前記第2の安定状態との中間の前記遷移状態を指定する、請求項44に記載の方法。
【請求項46】
前記電気部品のアレイが発光ダイオード(LED)を含む、請求項38~45のいずれか一項に記載の方法。
【請求項47】
前記デジタルビットストリームを送信して、前記電気部品のアレイを制御することが、前記デジタルビットストリームを前記LEDのそれぞれについてのドライバに送信することを含む、請求項46に記載の方法。
【請求項48】
前記デジタルビットストリームを前記LEDのそれぞれについての前記ドライバに送信することが、前記デジタルビットストリームをドライバのデイジーチェーンを通じて送信することを含む、請求項47に記載の方法。
【請求項49】
前記アニメーショングラフィックファイルを使用して前記第1のバイナリシーケンスを生成することと、前記マスクグラフィックファイルを使用して前記第2のバイナリシーケンスを生成することと、を更に含む、請求項38~48のいずれか一項に記載の方法。
【請求項50】
装置であって、
それぞれのアニメーショングラフィックファイルに対応する第1のバイナリシーケンスと、マスクグラフィックファイルに対応する第2のバイナリシーケンスとを記憶する不揮発性メモリと、
電気部品のアレイと、
前記第1のバイナリシーケンスの部分を前記第2のバイナリシーケンスに従って互いに組み合わせて、前記電気部品のアレイについてのデジタルビットストリームを生成するハードウェアと、を備える、装置。
【請求項51】
前記電気部品のアレイが発光ダイオード(LED)を含む、請求項50に記載の装置。
【請求項52】
前記電気部品のアレイについての前記デジタルビットストリームを生成することが、前記デジタルビットストリームを前記LEDのそれぞれについてのドライバに送信することを含む、請求項51に記載の装置。
【請求項53】
前記デジタルビットストリームを前記LEDのそれぞれについての前記ドライバに送信することが、前記デジタルビットストリームをドライバのデイジーチェーンを通じて送信することを含む、請求項52に記載の装置。
【請求項54】
前記電気部品のアレイが電気モーターを含む、請求項50に記載の装置。
【請求項55】
前記電気部品のアレイが電気ヒーターを含む、請求項50に記載の装置。
【請求項56】
前記電気部品のアレイが電気アクチュエータを含む、請求項50に記載の装置。
【請求項57】
前記ハードウェアが、
前記第1のバイナリシーケンスの少なくとも一部に乗算を実行するバイナリ乗算器と、
前記バイナリ乗算器によって生成された積に加算を実行するバイナリ加算器と、を備える、請求項50~56のいずれか一項に記載の装置。
【請求項58】
グラフィックファイルのセットであって、
第1のアニメーショングラフィック(AG)画素を含む第1のAGファイルであって、前記第1のAG画素のそれぞれが第1のAG値を含む、第1のAGファイルと、
第2のAG画素を含む第2のAGファイルであって、前記第2のAG画素のそれぞれが第2のAG値を含む、第2のAGファイルと、
マスクグラフィック(MG)画素を含むMGファイルであって、前記MG画素のそれぞれがMG値を含み、前記MG値の第1のMG値が、前記第1のAG値のうちの1つに対する第1の数値係数を指定し、前記MG値の第2のMG値が、前記第2のAG値のうちの1つに対する第2の数値係数を指定し、前記MG画素が、(i)前記第1のAG値のうちの1つを乗じた前記第1の数値係数と、(ii)前記第2のAG値のうちの1つを乗じた前記第2の数値係数との合計を定義する、MGファイルと、を備える、グラフィックファイルのセット。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、その開示が参照によりその全体が本明細書に組み込まれる、2019年12月6日に出願され、「CONTROLLING ELECTRICAL COMPONENTS USING GRAPHICS FILES」という名称の米国仮特許出願第62/945,085号に対する優先権を主張するものであり、その開示は、その全体が参照により本明細書に組み込まれる。
【背景技術】
【0002】
電気部品は、それらの挙動を調整するためにシステムに組み込まれることができる。そのような制御は、ソフトウェア制御の形態で実装されることがあり、プロセッサは、機械可読コードに編成された命令を実行して、それに応じて電気部品を動作させる。しかしながら、そのような制御は、装置が高度なアーキテクチャを有することを必要とするという点で、比較的高レベルかつ複雑であると考えられることができ、中断又は不規則な挙動を生じやすい場合がある。必要とされるのは、電気部品のシステムが、高い柔軟性で複雑かつ動的に変更可能な動作を実行することを可能にするハードウェア実装制御アーキテクチャである。
【発明の概要】
【0003】
第1の態様では、方法は、アニメーショングラフィックファイル及びマスクグラフィックファイルにアクセスすることと、アニメーショングラフィックファイルに対応する第1のバイナリシーケンスを生成することと、マスクグラフィックファイルに対応する第2のバイナリシーケンスを生成することと、電気部品のアレイを制御するハードウェアに第1のバイナリシーケンス及び第2のバイナリシーケンスを出力することと、を含む。
【0004】
実装形態は、以下の特徴のいずれか又は全てを含むことができる。第1のバイナリシーケンス及び第2のバイナリシーケンスを出力することは、第1のバイナリシーケンス及び第2のバイナリシーケンスを含むバイナリファイルを送信することを含む。アニメーショングラフィックファイル及びマスクグラフィックファイルは、共通のグラフィックファイルタイプを有する。共通のグラフィックファイルタイプは、ロスレスデータ圧縮をサポートする。アニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つは、1色当たり8ビットを有する。アニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つは、1色当たり16ビットを有する。アニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つは、3つのプレーンを有する。アニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つは、4つのプレーンを有する。本方法は、第1のフラグを読み取って、アニメーショングラフィックファイルをマスクグラフィックファイルと区別することを更に含む。第1のバイナリシーケンスを生成するか、又は第2のバイナリシーケンスを生成することのうちの少なくとも1つは、処理方向を示す第2のフラグを読み取ることを含む。本方法は、第1のバイナリシーケンス及び第2のバイナリシーケンスを使用して、電気部品のアレイを動作させることを更に含む。
【0005】
第2の態様では、非一時的媒体に記憶されたコンピュータプログラム製品は、プロセッサによって実行されると、プロセッサに動作を実行させる命令を含み、動作は、アニメーショングラフィックファイル及びマスクグラフィックファイルにアクセスすることと、アニメーショングラフィックファイルに対応する第1のバイナリシーケンスを生成することと、マスクグラフィックファイルに対応する第2のバイナリシーケンスを生成することと、電気部品のアレイを制御するハードウェアに第1のバイナリシーケンス及び第2のバイナリシーケンスを出力することと、を含む。
【0006】
第3の態様では、方法は、第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、マスクグラフィックファイル、及び電気部品のアレイについての所定の電気的閾値にアクセスすることと、第1のアニメーショングラフィックファイル及び第2のアニメーショングラフィックファイル及びマスクグラフィックファイルからの行の組み合わせについての画素ごとの計算を実行することであって、画素ごとの計算のそれぞれが、第1のアニメーショングラフィックファイルからの第1のアニメーション画素値に、マスクグラフィックファイルからの第1のマスク画素値を乗算することによって第1のスケーリングされた画素値を判定することと、第2のアニメーショングラフィックファイルからの第2のアニメーション画素値に、マスクグラフィックファイルからの第2のマスク画素値を乗算することによって第2のスケーリングされた画素値を判定することと、第1のスケーリングされた画素値と第2のスケーリングされた画素値との合計を判定することと、画素ごとの計算の結果が、電気部品のアレイについての所定の電気的閾値を超えるかどうかを反映する出力を生成することと、を含む。
【0007】
実装形態は、以下の特徴のいずれか又は全てを含むことができる。画素ごとの計算を実行することは、第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、及びマスクグラフィックファイルからの全ての可能な行の組み合わせについて、画素ごとの計算を実行することを含む。出力は、画素ごとの計算の結果が電気部品のアレイについての所定の電気的閾値を超えることを示し、本方法は、第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、又はマスクグラフィックファイルのうちの少なくとも1つを調整することを更に含む。電気部品のアレイは、発光ダイオード(LED)を含み、所定の電気的閾値は、上限電流制限を含み、第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つを調整することは、輝度値を低減することを含む。出力は、画素ごとの計算の結果が電気部品のアレイについての所定の電気的閾値を超えないことを示し、出力は、電気部品のアレイを記述する計算された電気値を更に含む。計算された電気値は、第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、及びマスクグラフィックファイルの全ての行の組み合わせに対する平均総電流を含む。計算された電気値は、第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、及びマスクグラフィックファイルの全ての行の組み合わせの中で最も高い総電流を含む。電気部品のアレイは、発光ダイオード(LED)を含む。画素ごとの計算の結果は、第1のアニメーショングラフィックファイル及び第2のアニメーショングラフィックファイル及びマスクグラフィックファイル内の画素として記憶されたデータに基づいて、LEDの各LED色についての推定電流を計算することを含む。LEDの各LED色についての推定電流は、平均又は最大電流のうちの少なくとも1つである。画素ごとの計算の結果は、LEDの各LEDについての推定電流を含む。LEDの各LEDにつての推定電流は、平均又は最大電流のうちの少なくとも1つである。第1のアニメーショングラフィックファイル及び第2のアニメーショングラフィックファイル内の各行は、第1のアニメーショングラフィックファイル及び第2のアニメーショングラフィックファイル及びマスクグラフィックファイルによって定義されるパターンシーケンス内のフレームに関連付けられ、行の各画素は、電気部品のアレイのそれぞれの電気部品に関連付けられる。画素ごとの計算を実行することは、第1のアニメーショングラフィックファイル及び第2のアニメーショングラフィックファイル及びマスクグラフィックファイルのそれぞれの第1の行を処理することと、続いて、第1のアニメーショングラフィックファイル及び第2のアニメーショングラフィックファイル及びマスクグラフィックファイルのそれぞれの次の行を複数回繰り返して処理することと、を含む。第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つは、第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、又はマスクグラフィックファイルのうちの別のものとは異なる時間長を有し、方法は、第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、又はマスクグラフィックファイルのうちの少なくとも1つの終わりに到達した後に、第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、又はマスクグラフィックファイルのうちの少なくとも1つの別のループを開始することを更に含む。第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、及びマスクグラフィックファイルのそれぞれにおける一連の行は、第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、及びマスクグラフィックファイルによって定義されるパターンシーケンスの時間的フローに関連付けられる。第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、及びマスクグラフィックファイルは、共通のグラフィックファイルタイプを有する。共通のグラフィックファイルタイプは、ロスレスデータ圧縮をサポートする。第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、又はマスクグラフィックファイルのうちの少なくとも1つは、1色当たり8ビットを有する。第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、又はマスクグラフィックファイルのうちの少なくとも1つは、1色当たり16ビットを有する。第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、又はマスクグラフィックファイルのうちの少なくとも1つは、3つのプレーンを有する。第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、又はマスクグラフィックファイルのうちの少なくとも1つは、4つのプレーンを有する。出力を生成することは、表示デバイス上にメッセージを提示することを含む。本方法は、第1のアニメーショングラフィックファイル及び第2のアニメーショングラフィックファイルに基づいて、電気部品のアレイを動作させることを更に含む。
【0008】
第4の態様では、非一時的媒体に記憶されたコンピュータプログラム製品は、プロセッサによって実行されると、プロセッサに動作を実行させる命令を含み、動作は、第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、マスクグラフィックファイル、及び電気部品のアレイについての所定の電気的閾値にアクセスすることと、第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル及びマスクグラフィックファイルからの行の組み合わせについての画素ごとの計算を実行することであって、画素ごとの計算のそれぞれが、第1のアニメーショングラフィックファイルからの第1のアニメーション画素値に、マスクグラフィックファイルからの第1のマスク画素値を乗算することによって第1のスケーリングされた画素値を判定することと、第2のアニメーショングラフィックファイルからの第2のアニメーション画素値に、マスクグラフィックファイルからの第2のマスク画素値を乗算することによって第2のスケーリングされた画素値を判定することと、第1のスケーリングされた画素値と第2のスケーリングされた画素値との合計を判定することと、画素ごとの計算の結果が、電気部品のアレイについての所定の電気的閾値を超えるかどうかを反映する出力を生成することと、を含む。
【0009】
第5の態様では、方法は、アニメーショングラフィックファイルに対応する第1のバイナリシーケンス、及びマスクグラフィックファイルに対応する第2のバイナリシーケンスにアクセスすることと、第1のバイナリシーケンスの部分を第2のバイナリシーケンスに従って互いに組み合わせて、デジタルビットストリームを生成することと、デジタルビットストリームを送信して、電気部品のアレイを制御することと、を含む。
【0010】
実装形態は、以下の態様のいずれか又は全てを含むことができる。アニメーショングラフィックファイル内の各行は、アニメーショングラフィックファイル及びマスクグラフィックファイルによって定義されるパターンシーケンス内のフレームに関連付けられ、行の各画素は、電気部品のアレイのそれぞれの電気部品に関連付けられる。第1のバイナリシーケンスの部分を互いに組み合わせることは、アニメーショングラフィックファイル及びマスクグラフィックファイルのそれぞれの第1の行を処理することと、続いて、アニメーショングラフィックファイル及びマスクグラフィックファイルのそれぞれの次の行を複数回繰り返して処理することと、を含む。アニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つは、アニメーショングラフィックファイル又はマスクグラフィックファイルのうちの別のものとは異なる時間長を有し、方法は、アニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つの終わりに到達した後に、アニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つの別のループを開始することを更に含む。アニメーショングラフィックファイル又はマスクグラフィックファイルのそれぞれにおける一連の行は、アニメーショングラフィックファイル及びマスクグラフィックファイルによって定義されるパターンシーケンスの時間的フローに関連付けられる。本方法は、それぞれのマスクグラフィックファイルに対応する複数の第2のバイナリシーケンスにアクセスすることと、組み合わせを指定する構成ファイルにアクセスすることであって、各組み合わせが、アニメーショングラフィックファイルのうちの少なくとも2つ及びマスクグラフィックファイルのうちの1つを含む、アクセスすることと、を更に含む。これらの組み合わせのそれぞれは、安定状態又は遷移状態のいずれかに対応する。本方法は、第1の安定状態から第2の安定状態への変化を調節することを更に含み、構成ファイルは、第1の安定状態と第2の安定状態との中間の遷移状態を指定する。電気部品のアレイは、発光ダイオード(LED)を含む。デジタルビットストリームを送信して、電気部品のアレイを制御することは、デジタルビットストリームをLEDのそれぞれについてのドライバに送信することを含む。デジタルビットストリームをLEDのそれぞれについてのドライバに送信することは、ドライバのデイジーチェーンを通じてデジタルビットストリームを送信することを含む。本方法は、アニメーショングラフィックファイルを使用して第1のバイナリシーケンスを生成することと、マスクグラフィックファイルを使用して第2のバイナリシーケンスを生成することと、を更に含む。
【0011】
第6の態様では、装置は、それぞれのアニメーショングラフィックファイルに対応する第1のバイナリシーケンスと、マスクグラフィックファイルに対応する第2のバイナリシーケンスとを記憶する不揮発性メモリと、電気部品のアレイと、第1のバイナリシーケンスの部分を第2のバイナリシーケンスに従って互いに組み合わせて、電気部品のアレイについてのデジタルビットストリームを生成するハードウェアと、を備える。
【0012】
実装形態は、以下の特徴のいずれか又は全てを含むことができる。電気部品のアレイは、発光ダイオード(LED)を含む。電気部品のアレイについてのデジタルビットストリームを生成することは、デジタルビットストリームをLEDのそれぞれについてのドライバに送信することを含む。LEDのそれぞれについてのドライバにデジタルビットストリームを送信することは、ドライバのデイジーチェーンを通じてデジタルビットストリームを送信することを含む。電気部品のアレイは、電気モーターを含む。電気部品のアレイは、電気ヒーターを含む。電気部品のアレイは、電気アクチュエータを含む。ハードウェアは、第1のバイナリシーケンスの少なくとも一部に乗算を実行するバイナリ乗算器と、バイナリ乗算器によって生成された積に加算を実行するバイナリ加算器と、を備える。
【0013】
第7の態様では、グラフィックファイルのセットは、第1のアニメーショングラフィック(AG)画素を含む第1のAGファイルであって、第1のAG画素のそれぞれが第1のAG値を含む、第1のAGファイルと、第2のAG画素を含む第2のAGファイルであって、第2のAG画素のそれぞれが第2のAG値を含む、第2のAGファイルと、マスクグラフィック(MG)画素を含むMGファイルであって、MG画素のそれぞれがMG値を含み、MG値の第1のMG値が、第1のAG値のうちの1つに対する第1の数値係数を指定し、MG値の第2のMG値が、第2のAG値のうちの1つに対する第2の数値係数を指定し、MG画素が、(i)第1のAG値のうちの1つを乗じた第1の数値係数と、(ii)第2のAG値のうちの1つを乗じた第2の数値係数との合計を定義する、MGファイルと、を備える。
【0014】
以下でより詳細に考察される、前述の概念及び更なる概念の全ての組み合わせが、(かかる概念が相互に矛盾しないことを提供する)本明細書に開示される発明の主題の一部であると企図されることを理解されたい。具体的には、本開示の終わりに現れる特許請求される主題の全ての組み合わせは、本明細書に開示される発明の主題の一部であると企図される。
【図面の簡単な説明】
【0015】
【
図1】グラフィックファイルを作成するために使用されることができるシステムの例を示している。
【0016】
【
図2】電気部品のアレイの動作を制御するためにグラフィックファイルを使用することができるシステムの例を示している。
【0017】
【0018】
【
図4】電気部品のアレイの例を概略的に示している。
【0019】
【
図5】発光ダイオード(LED)のアレイの例を示している。
【0020】
【
図6】LED用のドライバのデイジーチェーンの例を概略的に示している。
【0021】
【
図7】アニメーショングラフィックファイルの例を示している。
【0022】
【
図8】アニメーショングラフィックファイル及びマスクグラフィックファイルを含むグラフィックファイルの例を示している。
【0023】
【0024】
【
図12】生物学的及び/又は化学的分析に使用されることができる例示的なシステムの概略図である。
【0025】
【
図13】コンピューティングデバイスの例示的なアーキテクチャを示している。
【発明を実施するための形態】
【0026】
本開示は、電気部品の動作の改善を容易にするシステム、技術、及び/又は製造物品を記載する。いくつかの実装形態では、グラフィックファイルは、電気機器の複雑な動作をモデル化及び制御するために使用される。例えば、グラフィックファイルは、クロスフェードを使用することなく、ハードウェアレベルでパターン間の継ぎ目のない変化を可能にしながら、動的パターンで発光ダイオード(LED)の動作を駆動するために使用されることができる。グラフィックファイルは、パターンコンテンツを含む2つ以上のアニメーショングラフィックファイルと、アニメーショングラフィックファイルからのコンテンツの組み合わせを定義する少なくとも1つのマスクグラフィックファイルとを含むことができる。グラフィックファイルが作成された後、プログラムは、グラフィックファイルを処理して、グラフィックファイルに従ってLEDを動作させることによって配置された電気的要求を判定することができる。電気的制限が違反している場合、グラフィックファイルは、制限に適合するように修正されることができる。電気的制限が違反していない場合、システムを監視及び維持するために使用されることができるLED動作について推定された電気的特性を出力することができる。プログラムは、グラフィックファイルをバイナリファイルに変換することができ、システム内のハードウェアは、定義されたパターンに従って、アニメーショングラフィックファイル及びマスクグラフィックファイルからのコンテンツを合成して、電気部品(例えば、LED)を駆動するためにバイナリファイルを使用することができる。構成ファイルは、使用するハードウェアのグラフィックファイルの異なる組み合わせを指定することができる。
【0027】
本明細書の実施例は、グラフィックファイルに言及する。グラフィックファイルは、1つ以上の形態のデジタルデータを含むことができる。グラフィックファイルは、画像ファイル圧縮の1つ以上のアルゴリズムと関連付けられることができる。圧縮アルゴリズムは、ロスレス(すなわち、アルゴリズムは、ロスレスデータ圧縮をサポートし、非圧縮データの完全なコピーを保存する)、又はロッシー(すなわち、アルゴリズムは、ロッシーデータ圧縮をサポートし、非圧縮データの完全なコピーを保存しない)として特徴付けられることができる。デジタルデータは、グラフィックファイル内の画素の形態で編成されることができる。各画素は、グラフィックファイルのプレーンと呼ばれることもある1つ以上の値と関連付けられることができる。グラフィックファイルは、任意の数のプレーンを有することができる。いくつかの実装形態では、グラフィックファイルは、3つ又は4つのプレーンを有する。例えば、3つのプレーンは、グラフィックファイルのそれぞれの赤色、緑色、及び青色のプレーンと呼ばれることができる。例えば、透明性は、グラフィックファイル内のプレーン(例えば、第4のプレーン)として含めることができる。各色は、いくつかのビット数(色深度と呼ばれることもある)を有する画素値を使用して表されることができる。グラフィックファイルの任意の色は、任意の数のビットを有することができる。いくつかの実装形態では、色は、最大256の可能な色値に対応する8ビットの深さを有する。いくつかの実装形態では、色は、最大65,536の可能な色値に対応する16ビットの深さを有する。グラフィックファイルは、アレイの形態で画素を編成することができる。例えば、グラフィックファイル内の画素のアレイは、画素の行及び列を含むことができる。グラフィックファイルの任意の寸法は、グラフィックファイルの長さと呼ぶことができる。いくつかの実装形態では、2つ以上のグラフィックファイルは、それらのそれぞれのアレイの少なくとも1つの寸法(例えば、同じ数の列)において、同じ画素数を有することができる。グラフィックファイルのそれぞれの長さは、各グラフィックファイル内の行の数を指すことができる。例えば、別のグラフィックファイルよりも多くの数のデジタルデータの行を有するグラフィックファイルは、他のグラフィックファイルよりも時間的に長いと言うことができる。
【0028】
本明細書の実施例は、バイナリシーケンスに言及する。バイナリシーケンスは、バイナリ数字と呼ばれることがある、ビットの順序付けられたグループを含むことができる。いくつかの実装形態では、バイナリシーケンスは、それぞれの1及びゼロによって表される一連のビットを含むことができる。ビットのグループは、有形の形態で持続され、記憶される前に、バイナリシーケンスとして特徴付けられることができる。バイナリシーケンスのビットを持続させるために、それらは、コンピュータ可読記憶媒体内に記憶されることができるバイナリファイルの形態に組み立てられることができる。例えば、バイナリファイルは、グループ(例えば、バイト)内に配置されたビットを含むことができる。
【0029】
本明細書の実施例は、デジタルビットストリームに言及する。デジタルビットストリームは、システムのホストコントローラ(例えば、電気部品を含む器具又は他の装置のプロセッサ)と、それぞれの電気部品(例えば、1つ以上のLEDを駆動するチップ)を駆動する集積回路との間の通信に使用されることができる。デジタルビットストリームは、比較的低い電流で送信されるロゴレベル信号とすることができる。例えば、デジタルビットストリームは、電気部品(例えば、光LED)に使用する電流の量の集積回路に情報を伝達することができる。いくつかの実装形態では、デジタルビットストリームは、クロック/データシグナリング方法を使用して通信されることができる。例えば、ホストコントローラ及び集積回路を互いに接続する1つのワイヤは、デジタルビットストリームを集積回路に送信するためのデータ線として機能することができる。ホストコントローラ及び集積回路を互いに接続する別のワイヤは、データ線上のデジタルビットストリームから次のデジタルビットを記録するために集積回路をトリガするパルスを送信するためのクロック線として機能することができる。
【0030】
本明細書の実施例は、デジタルパルスに言及する。デジタルパルスは、それぞれの電気部品(例えば、1つ以上のLEDを駆動するチップの出力)を駆動するための集積回路の出力とすることができる。デジタルパルスは、デジタルビットストリームを解釈する集積回路の結果とすることができる。すなわち、デジタルビットストリームは、電気部品のアレイを制御するために送信されることができる。いくつかの実装形態では、デジタルパルスは、どの程度電流がLEDダイを通過するかを規定することができる。デジタルパルスは、1つ以上のLEDを駆動するように設計された電気データパルスのシーケンス(例えば、公称「オン」又は「オフ」値を有する)とすることができる。いくつかの実装形態では、各LEDは、複数のダイを含み、それぞれのデジタルパルスは、LEDによって特定の出力を生成するために、異なるダイについて提供されることができる。デジタルパルスは、LEDのストリップに含まれるがこれらに限定されない、1つ以上のLEDを駆動する電力流である。
【0031】
本明細書の実施例は、フラグに言及する。フラグは、解釈されると、特定の状態又は他のメッセージを伝達する又は伝達しないように操作されることができる任意の制御可能なエンティティによって表されることができる。いくつかの実装形態では、フラグは、その値が特定のファイルの特性(例えば、タイプ)を示すことができる1つ以上のビットを含むことができる。例えば、異なるグラフィックファイルは、フラグの設定によって互いに区別されることができる。別の例として、特定のグラフィックファイルにおける処理の指定された方向は、フラグを使用して指定されることができる。フラグは、グラフィックファイルにアクセスしている、又はアクセスしようとしている構成要素にアクセス可能な位置に記憶されることができる。いくつかの実装形態では、フラグは、ファイルにアクセスすることによって構成要素がフラグを読み取ることができるように、グラフィックファイル内に記憶されることができる。いくつかの実装形態では、フラグは、メモリに記憶されることができ、その場合、構成要素は、グラフィックファイルにアクセスする前に、又はアクセスしている間にフラグにアクセスすることができる。
【0032】
本明細書の実施例は、デジタルデータを出力することに言及する。デジタルデータを出力することは、有形媒体を使用して(例えば、物理的基板を通って伝播する信号によって)、及び/又は非有形媒体を使用して(例えば、電磁放射線の形態で伝播する信号によって)デジタルデータを伝達することを含むことができる。例えば、1つ以上のファイル(例えば、グラフィックファイル)を表すデジタルデータは、1つの構成要素から少なくとも1つの他の構成要素への1つ以上の送信の形態で出力されることができる。送信は、有線及び/又は無線通信を含むことができる。複数のプロトコルのうちのいずれかが、デジタルデータを送信又は他の方法で出力するために使用されることができる。
【0033】
本明細書の実施例は、ソフトウェア又はソフトウェアシステムに言及する。ソフトウェアは、1つ以上のコンピュータ(例えば、中央処理ユニット(CPU)又はグラフィック処理ユニット(GPU))用に設計されることができ、高レベルプログラミング言語又は機械言語を含むがこれらに限定されない複数のプログラミング言語のいずれかを使用して作成されることができる。ソフトウェアは、指定されたタスクを実行することができる1つ以上のアプリケーションを定義するために実行されることができる。ソフトウェアは、ファームウェアを含むか、又はファームウェアからなることができる。いくつかの実装形態では、ファームウェアは、システム内の1つ以上のタイプのハードウェアを制御することができる。ファームウェア及び/又は他のソフトウェアは、システムによって(例えば、不揮発性メモリ内に)保持されることができる。
【0034】
本明細書の実施例は、ハードウェア又はハードウェアシステムに言及する。ハードウェアは、装置又は他のシステムの有形の態様として、1つ以上のタイプの物理的構成要素を含むことができる。いくつかの実装形態では、ハードウェアは、1つ以上のタイプの動作又は他の機能を提供することができるデジタル電子機器を含む。デジタル電子機器は、電気部品の動作を制御するように設計された集積回路を含むがこれらに限定されない、1つ以上のタイプの回路を含むことができる。
【0035】
本明細書の実施例は、電気部品に言及する。電気部品は、電気に基づいて動作し、1つ以上のタイプの動作を実行する。電気部品は、直流(DC)電力及び/又は交流(AC)電力に基づいて動作することができる。電気部品は、1つ以上のタイプのエネルギーを出力するように動作することができる。いくつかの実装形態では、電気部品は、電磁放射線を出力する。例えば、電気部品は、光源(例えば、可視スペクトル内の光)とすることができる。電気部品は、発光ダイオード(LED)のセットを含むことができるが、これらに限定されない。電気部品は、1つ以上の形態の機械的運動を出力するように動作することができる。いくつかの実装形態では、電気部品は、電気機械デバイスを含む。例えば、電気部品は、1つ以上の制御信号によって駆動される1つ以上の電気モーター(例えば、誘導モーター、又は同期モーター)を含むことができる。別の例として、電気部品は、1つ以上のタイプの機械的運動を電気的に作動させるように機能することができる。例えば、ソレノイド又は他のタイプのトランスデューサは、電磁石を使用して、電気エネルギー及び/又は磁気エネルギーを運動(例えば、線形機械運動)に変換することができる。電気部品は、熱エネルギーを出力するように動作することができる。いくつかの実装形態では、電気部品は、1つ以上のタイプの電気ヒーターを含む。例えば、1つ以上の電気ヒーターは、電流を1つ以上の抵抗素子に選択的に通すことによって動作することができる。別の例として、誘導ヒーターは、交番磁界によって導電性材料を貫通することによって動作することができる。
【0036】
図1は、グラフィックファイルを作成するために使用されることができるシステム100の例を示している。システム100は、本明細書の他の箇所に記載される1つ以上の他の実施例と共に使用されることができる。システム100は、電気部品の動作パターンの作成を容易にすることができる。更に、動作パターンは、電気部品のハードウェアの詳細の専門知識を有さない人(例えば、直接知識なし)によっても作成されることができる。いくつかの実装形態では、システム100は、関与するハードウェアのタイプを抽象化する、視覚的に解釈する、及び/又は1つ以上のタイプの電気部品を駆動するためのハードウェア固有データに変換可能な出力を生成する、プロセス設計の方法論を提供することによって、そのような目的を果たす。システム100は、ユーザー(例えば、グラフィック設計者)が、電気部品のアレイの2つ以上の動作パターン間の遷移を画定する能力を提供することができる。
【0037】
いくつかの実装形態では、システム100を操作する人物は、グラフィック設計者である。グラフィック設計者は、システム100を使用して、装置に連結されたLEDのアレイによって出力されるパターンを設計することができる。例えば、複雑なパターンは、装置の1つ以上の現在の動作状態(例えば、安定状態)を示すために、LEDによって出力されることができ、(1つ又は複数の)パターンは、状態遷移(例えば、遷移状態)を示すためにリアルタイムで動的に修正又は切り替えられることができる。ここで、システム100は、グラフィックソフトウェア102を含む。いくつかの実装形態では、グラフィックソフトウェア102は、多くのグラフィック設計者が使い慣れている標準又は周知のグラフィックイラストツールである。いくつかの実装形態では、グラフィックソフトウェア102は、1つ以上のタイプのグラフィックファイルフォーマットを有するグラフィックファイルを生成して出力するように構成されている。例えば、グラフィックソフトウェア102は、Adobe(登録商標)Photoshop(登録商標)、Adobe(登録商標)Illustrator(登録商標)、及び/又はGNU画像操作プログラム(GIMP)などのツールを含み、GNUは、オペレーティングシステムの名称である。他のグラフィックソフトウェアが使用されることができる。
【0038】
グラフィックソフトウェア102は、グラフィックファイルのグラフィックコンテンツを作成及び/又は修正する際に使用するための1つ以上の機能を提供することができる。いくつかの実装形態では、グラフィックソフトウェア102は、1つ以上のタイプのグラフィックファイルの輝度値を設定及び/又は修正するために使用されることができる輝度ツール104を含む。例えば、輝度ツール104は、グラフィックファイル内の1つ以上の個々の画素に対する色値を操作することができる。いくつかの実装形態では、グラフィックソフトウェア102は、1つ以上のタイプのグラフィックファイルの色相値を設定及び/又は修正するために使用されることができる色相ツール106を含む。例えば、色相ツール106は、グラフィックファイル内の1つ以上の個々の画素に対する色相値を操作することができる。いくつかの実装形態では、グラフィックソフトウェア102は、1つ以上のタイプのグラフィックファイルの彩度値を設定及び/又は修正するために使用されることができる彩度ツール108を含む。例えば、彩度ツール108は、グラフィックファイル内の1つ以上の個々の画素に対する光強度及び/又はスペクトル分布を操作することができる。いくつかの実装形態では、グラフィックソフトウェア102は、1つ以上のタイプのグラフィックファイルのレベル値を設定及び/又は修正するために使用されることができるレベルツール110を含む。例えば、レベルツール110は、グラフィックファイル内の1つ以上の個々の画素についての輝度レベルを移動及び/又は伸張することができる。いくつかの実装形態では、グラフィックソフトウェア102は、1つ以上のタイプのグラフィックファイルの曲線値を設定及び/又は修正するために使用されることができる曲線ツール112を含む。例えば、曲線ツール112は、グラフィックファイル内の画像の色調範囲にわたって1つ以上の点を調整することができる。他の機能もまた、又は他の機能が代わりにグラフィックソフトウェア102に含まれることができる。
【0039】
グラフィックソフトウェア102は、1つ以上のグラフィックファイル114を生成することができる。いくつかの実装形態では、グラフィックファイル114のうちの1つ以上は、アニメーショングラフィックファイル(AF)116を含むことができる。例えば、アニメーショングラフィックファイル116は、電気部品のアレイを動作させるためのパターンコンテンツ(例えば、個々の画素値)を含む。いくつかの実装形態では、1つ以上のアニメーショングラフィックファイル116は、マスクグラフィックファイル(MF)118を含むことができる。例えば、マスクグラフィックファイル118は、(例えば、アニメーショングラフィックファイル116からの1つ以上の画素値をスケーリングし、スケーリングされた値を組み合わせることによって)アニメーショングラフィックファイル116のうちの2つ以上からのコンテンツの組み合わせを(例えば、個々の画素値によって)定義する。
【0040】
アニメーショングラフィックファイル116及びマスクグラフィックファイル118は、1つ以上のファイル形式を有することができる。いくつかの実装形態では、アニメーショングラフィックファイル116は、8ビットの色深度又は16ビットの色深度を特徴とし、ロスレス又はロッシー画像圧縮をサポートする、3レベル又は4レベルのグラフィックファイルタイプを含むことができる。例えば、アニメーショングラフィックファイル116は、ポータブルネットワークグラフィック(PNG)ファイルとすることができる。別の例として、アニメーショングラフィックファイル116は、フレキシブル画像転送システム(FITS)ファイルとすることができる。いくつかの実装形態では、マスクグラフィックファイル118は、8ビットの色深度又は16ビットの色深度を特徴とし、ロスレス又はロッシー画像圧縮をサポートする、3レベル又は4レベルのグラフィックファイルタイプを含むことができる。例えば、マスクグラフィックファイル118は、PNGファイルとすることができる。別の例として、マスクグラフィックファイル118は、FITSファイルとすることができる。したがって、(1つ又は複数の)アニメーショングラフィックファイル116及び(1つ又は複数の)マスクグラフィックファイル118は、共通のグラフィックファイルタイプを有することができ、又は互いに異なるグラフィックファイルタイプを有することができる。
【0041】
アニメーショングラフィックファイル116及びマスクグラフィックファイル118のうちの1つ以上は、少なくとも対応するグラフィックファイルの意図された又は計画された処理に関連するフラグと関連付けられることができる。(1つ又は複数の)フラグは、アニメーショングラフィックファイル116及び/又はマスクグラフィックファイル118に含まれるか、又はそれとは別個に実装されることができる。いくつかの実装形態では、フラグは、グラフィックファイルのタイプ間の差異に関する。例えば、アニメーショングラフィックファイル116及びマスクグラフィックファイル118は、フラグの設定によって互いに区別されることができる。
【0042】
アニメーショングラフィックファイル116及び/又はマスクグラフィックファイル118は、電気部品の動作を制御するために適用される前に分析に供されることができる。ここで、アニメーショングラフィックファイル116及び/又はマスクグラフィックファイル118は、システム100内の分析プログラム120に提供されることができる。分析プログラム120は、非一時的媒体に記憶されたコンピュータ可読命令の形態で実装されることができる。いくつかの実装形態では、分析プログラム120は、アニメーショングラフィックファイル116及びマスクグラフィックファイル118によって指定された動作特性が1つ以上の適用可能な電気的閾値と一致しているかどうかを評価することができる。そのような評価は、分析プログラム120が、アニメーショングラフィックファイル116及びマスクグラフィックファイル118内の画素として記憶されたデータに基づいてLEDについて(例えば、LEDの各LED色について)の推定電流を計算することを含むことができる。例えば、電気部品のアレイについての電気的閾値は、システム100に(例えば、システム100内又は他の場所)に定義され、それにアクセス可能とされることができる。分析プログラム120は、LEDのアレイを使用して、アニメーショングラフィックファイル116及びマスクグラフィックファイル118によって定義されるパターンの提示が、LED又はLEDを制御する装置の電流が大きすぎることを必要とする可能性が高いかどうかを評価することができる。例えば、分析プログラム120は、そのような判定を行う際に、アニメーショングラフィックファイル116及びマスクグラフィックファイル118からの行の組み合わせについて、画素ごとの計算を実行することができる。
【0043】
分析プログラム120は、1つ以上の出力122を生成することができる。いくつかの実装形態では、出力は、マスクグラフィックファイル118及びアニメーショングラフィックファイル116の複数のインスタンスに基づいて最終出力電流又は制御パラメータ値を計算することに基づくことができる。一例では、そのような計算は、以下のように表されることができる:
F=A×M、
式中Fは、最終出力電流又は制御パラメータ値のベクトル(例えば、3×1行列)であり、Aは、アニメーショングラフィックファイル116の行列(例えば、3×3行列)であり、Mは、マスクグラフィックファイル118のベクトル(例えば、3×1行列)である。例えば、LEDのそれぞれが、判定された最終値を使用して駆動される3つのダイ(それぞれR、G、及びBと称される)を有すると仮定する。各画素について上記Fの計算(すなわち、画素ごとの計算)を実行することは、LED内のダイに適用される最終出力電流又は制御パラメータ値を与える。例えば、画素の結果Fの値は、
【数1】
とすることができる。
【0044】
1つ以上の計算されたF値は、1つ以上の方法で評価されて、電気部品のアレイについての少なくとも1つの所定の電気的閾値が、アニメーショングラフィックファイル及びマスクグラフィックファイルに基づいて超えられるかどうかを判定することができる。分析プログラム120は、そのような評価を行うことができる。いくつかの実装形態では、Fの個々の値は、任意の個々のダイを通る電流が過剰でないことを確実にするために、(例えば、所定の電気的閾値と比較して)評価されることができる。例えば、上記の最終値Fは、所定の電気的閾値が95未満である場合に過剰と見なされる。Fが所定の電気的閾値を超える場合、Fの計算における1つ以上の値は低下されることができる。
【0045】
いくつかの実装形態では、所与のLEDパッケージを通る電流が過剰でないことを確実にするために、Fの値の合計が(例えば、所定の電気的閾値と比較して)判定されて評価されることができる。例えば、上記の最終値Fは、所定の電気的閾値が値の合計である114未満である場合に過剰と見なされる。Fにおける値の合計が所定の電気的閾値を超える場合、Fの計算における1つ以上の値は低下されることができる。
【0046】
いくつかの実装形態では、所与の電気部品のアレイを通る電流が過剰でないことを確実にするために、全ての電気部品のアレイについて(例えば、ストリング内の全てのLEDについて)全てのF’sの全ての値の合計が(例えば、所定の電気的閾値と比較して)判定されて評価されることができる。全てのF’sの値の合計が所定の電気的閾値を超える場合、F’sのうちの1つ以上の計算における1つ以上の値は低下されることができる。
【0047】
いくつかの実装形態では、出力122は、画素ごとの計算の結果が電気部品のアレイについての電気的閾値に適合する(例えば、超えない)ことを示す。例えば、出力122は、上記の計算された最終値Fが電気的閾値を超えないことを反映することができる。いくつかの実装形態では、出力122は、電気部品のアレイを記述する計算された電気値を含むことができる。複数の異なる計算された電気値のいずれかが出力されることができる。いくつかの実装形態では、計算された電気値は、アニメーショングラフィックファイルとマスクグラフィックファイルとの全ての行の組み合わせに対する平均総電流を含む。いくつかの実装形態では、計算された電気値は、アニメーショングラフィックファイルとマスクグラフィックファイルとの全ての行の組み合わせの中で最も高い総電流(例えば、上限電流制限)を含む。いくつかの実装形態では、電気部品のアレイは、LEDを含み、計算された電気値は、LEDの各LED色についての電流を含む。例えば、LEDの各LED色についての電流は、平均又は最大電流のうちの少なくとも1つである。いくつかの実装形態では、計算された電気値は、LEDの各LEDについての電流を含む。例えば、LEDの各LEDについての電流は、平均又は最大電流のうちの少なくとも1つである。
【0048】
分析プログラム120の使用は、第1のアニメーショングラフィックファイル及び第2のアニメーショングラフィックファイル(例えば、アニメーショングラフィックファイル116)及びマスクグラフィックファイル(例えば、マスクグラフィックファイル118)、及び電気部品のアレイについての所定の電気的閾値(例えば、上記の例の電気的閾値100)にアクセスすることと、第1のアニメーショングラフィックファイル、及び第2のアニメーショングラフィックファイル及びマスクグラフィックファイルからの行の組み合わせについて、(例えば、分析プログラム120によって)画素ごとの計算を実行することであって、画素ごとの計算のそれぞれが、第1のアニメーショングラフィックファイルからの第1のアニメーション画素値に、マスクグラフィックファイルからの第1のマスク画素値を乗算することによって第1のスケーリングされた画素値を判定することと、第2のアニメーショングラフィックファイルからの第2のアニメーション画素値に、マスクグラフィックファイルからの第2のマスク画素値を乗算することによって第2のスケーリングされた画素値を判定することと、第1のスケーリングされた画素値と第2のスケーリングされた画素値との合計を判定することと、を含む、実行することと、画素ごとの計算の結果を反映する出力(例えば、出力122)を生成すること(例えば、計算された結果Fは、電気部品のアレイについての所定の電気的閾値を超える)と、を含む方法の実行を例示する。方法は、非一時的媒体に記憶されたコンピュータプログラム製品(例えば、分析プログラム120)の命令を実行することによって実行されることができる。
【0049】
アニメーショングラフィックファイル116及び/又はマスクグラフィックファイル118は、電気部品の動作を制御するために適用される変換に供されることができる。ここで、アニメーショングラフィックファイル116及び/又はマスクグラフィックファイル118は、システム100内の変換プログラム124に提供されることができる。変換プログラム124は、非一時的媒体に記憶されたコンピュータ可読命令の形態で実装されることができる。いくつかの実装形態では、変換プログラム124は、アニメーショングラフィックファイル116及びマスクグラフィックファイル118を使用して出力126を生成することができる。いくつかの実装形態では、出力126は、アニメーショングラフィックファイル116に対応するそれぞれの第1のバイナリシーケンスと、マスクグラフィックファイル118に対応する第2のバイナリシーケンスとを含む。第1のバイナリシーケンスのそれぞれは、アニメーショングラフィックファイル116の対応する1つをバイナリ形式に変換することによって生成されることができる。いくつかの実装形態では、アニメーショングラフィックファイル116及びマスクグラフィックファイル118のそれぞれは、16進数形態の値を含む。例えば、それぞれの第1のバイナリシーケンスは、バイナリ形式で表されるアニメーショングラフィックファイル116のうちの1つの画素値を含むことができる。第2のバイナリシーケンスは、マスクグラフィックファイル118をバイナリ形式に変換することによって生成されることができる。例えば、第2のバイナリシーケンスは、バイナリ形式で表されるマスクグラフィックファイル118の画素値を含むことができる。第1のバイナリシーケンス及び第2のバイナリシーケンスは、出力126の1つ以上のバイナリファイルに含まれることができる。
【0050】
変換プログラム124の使用は、アニメーショングラフィックファイル(例えば、アニメーショングラフィックファイル116)及びマスクグラフィックファイル(例えば、マスクグラフィックファイル118)にアクセスすることと、アニメーショングラフィックファイルに対応する第1のバイナリシーケンスを生成することと、マスクグラフィックファイルに対応する第2のバイナリシーケンスを生成することと、電気部品のアレイを制御するハードウェアに第1のバイナリシーケンス及び第2のバイナリシーケンスを(例えば、まとめて出力126として)出力することと、を含む方法の実行を例示する。方法は、非一時的媒体に記憶されたコンピュータプログラム製品(例えば、変換プログラム124)の命令を実行することによって実行されることができる。
【0051】
図2は、電気部品のアレイの動作を制御するためにグラフィックファイルを使用することができるシステム200の例を示している。システム200は、本明細書の他の箇所に記載される1つ以上の他の実施例と共に使用されることができる。システム200は、不揮発性メモリ202(例えば、フラッシュメモリ、磁気記憶媒体、及び/又は光学記憶媒体)及びハードウェアシステム204を含む。ハードウェアシステム204は、プロセッサ205(例えば、CPU又はGPUを含むがこれらに限定されない
図13の処理デバイス1302)、電気部品208-1,208-2,...208-Nのアレイ206を含み、式中、Nは、2以上の正の整数である。プロセッサ205は、バイナリ乗算器205A及びバイナリ加算器205Bを含むことができる。
【0052】
システム200は、ソフトウェアシステム210を含む。ソフトウェアシステム210は、不揮発性メモリ202に記憶されたデータに基づいて動作されることができ、(例えば、プロセッサ205によって)命令のプロセッサベースの実行によって動作するために実装されることができる。システム200は、ファームウェアシステム212を含む。ファームウェアシステム212は、不揮発性メモリ202に記憶されたデータに基づいて動作されることができ、(例えば、プロセッサ205によって)命令のプロセッサベースの実行によって実装されることができる。
【0053】
ソフトウェアシステム210の役割は、システム200(例えば、装置)の状態が変化したときにファームウェアシステム212に通知することができる。複数の異なる状態のうちのいずれかが定義されることができる。例えば、システム200が、核材料を分析するように構成された装置(例えば、システム200はシーケンサである)を含む場合、システム200の状態は、アイドル状態(例えば、システム200は、現在核材料を分析していない)、実行前状態(例えば、システム200は、現在核材料を分析するためにそれ自体を準備している)、シーケンシング状態(例えば、システム200は、現在核材料を分析している)、又は完全状態(例えば、システム200は、核材料を分析し終えたが、(まだ)アイドル状態に移行していない)、を含むことができるが、これらに限定されない。システム200の各状態は、LEDのアレイを使用して提示される既定のパターンと関連付けられることができる。例えば、パターンは、アニメーショングラフィックファイルと、マスクグラフィックファイル(例えば、
図1のアニメーショングラフィックファイル116及びマスクグラフィックファイル118)とのルーピング組み合わせを含むことができる。1つ以上の状態は、安定状態と見なすことができ、1つ以上の状態は、遷移状態と見なすことができる。状態変化が生じるまで、安定状態が繰り返されることができる。例えば、安定状態は、ループされることができる(例えば、ソフトウェアシステム210が状態を変化させるように指示するまで、無期限に)、安定状態のパターンを提示する前にLEDのアレイ上に連続的及び/又は繰り返し提示されるように定義された1つ以上の遷移状態を有することができる。遷移状態は、1回以上の反復で繰り返されることができる。構成ファイル214は、適用可能なパターンを定義することができる。いくつかの実装形態では、構成ファイル214は、不揮発性メモリ202に記憶され、システム200の1つ以上の状態に適用可能なパターンを指定する。ソフトウェアシステム210は、第1の安定状態(例えば、実行前)から第2の安定状態(例えば、シーケンシング)への変化を調節することができ、構成ファイル214は、第1の安定状態と第2の安定状態との中間の遷移状態を指定することができる(例えば、実行前パターンの後及びシーケンシングパターンの前に提示されるべき遷移パターンを指定する)。
【0054】
ソフトウェアシステム210は、1つ以上の追加の機能を含むことができる。いくつかの実装形態では、ソフトウェアシステム210は、変換プログラム124を含む。ソフトウェアシステム210内での変換プログラム124の実装は、電気部品のアレイ206の制御に使用するためにアニメーショングラフィックファイル218のうちの1つ以上及びマスクグラフィックファイル220のうちの1つ以上を変換するためのシステム200による能力を確実にすることができる。
【0055】
システム200は、1つ以上のバイナリファイル216にアクセスすることができる。いくつかの実装形態では、(1つ又は複数の)バイナリファイル216は、
図1の変換プログラム124の出力(例えば、出力126)とすることができる。バイナリファイル216は、それぞれのグラフィックファイルに対応する1つ以上のバイナリシーケンスを含むことができる。ここで、アニメーショングラフィックファイル218及びマスクグラフィックファイル220が示されている。すなわち、バイナリファイル216は、
図1の変換プログラム124によって第1のバイナリシーケンス及び第2のバイナリシーケンスを出力することが、第1のバイナリシーケンス及び第2のバイナリシーケンスを含むバイナリファイルを送信することを含むことができることを示している。いくつかの実装形態では、構成ファイル214によって定義される各組み合わせは、アニメーショングラフィックファイル218のうちの少なくとも2つ及びマスクグラフィックファイル220のうちの1つを含む。
【0056】
ファームウェアシステム212の役割は、ソフトウェアシステム210からの状態変化通知にアクセスし、デジタルビットストリームを送信して電気部品のアレイ206を制御するために必要な情報を用いて、ハードウェアシステム204を準備することとすることができる。例えば、デジタルビットストリームは、LEDのドライバに送信されることができ、ドライバは、デジタルビットストリームに基づいてLEDについてのデジタルパルスを生成することができる。いくつかの実装形態では、ファームウェアシステム212は、構成ファイル214によって定義されるバイナリファイル216の必要な組み合わせを読み取ることができ、(例えば、
図1の変換プログラム124から不揮発性メモリ202内への)バイナリファイル216の少なくともいくつかのロードを調整することができ、関連するバイナリファイル216を見つける場所をハードウェアシステム204に通知することができる。更に、ハードウェアシステム204の役割は、マスクグラフィックファイル220の1つ以上の画素値に基づいて不揮発性メモリ202内のバイナリファイル216を組み合わせ、デジタルビットストリームをLED208-1,208-2,...208-Nのアレイ206に構築して送信することとすることができる。いくつかの実装形態では、プロセッサ205は、バイナリファイル216の少なくともいくつかの組み合わせを実行し、アレイ206のためのデジタルビットストリームを構築するデジタルビットストリーム構成要素222を含む。いくつかの実装形態では、デジタルビットストリーム構成要素222は、バイナリ乗算器205Aによって実行される乗算の結果及びバイナリ加算器205Bによって実行される加算の結果にアクセスし(例えば、受信し)、それらの結果に基づいてデジタルビットストリームを生成する。例えば、LED208-1,208-2,...208-Nによる1つの提示に関するパターン情報は、パターンシーケンス内のフレームと見なすことができ、シーケンスは、複数のデジタルビットのフレームをLEDドライバに連続的に送信することによって実行される。任意の割合のフレーム提示が使用されることができる。いくつかの実装形態では、デジタルビットストリーム構成要素222は、毎秒数十フレーム(毎秒約30フレーム)を含むがこれらに限定されない、毎秒複数のフレームで動作を提供することができる。
【0057】
数値例として、第1、第2、及び第3のアニメーショングラフィックファイル及び1つのマスクファイルを伴う状況を考える。更に、第1のアニメーショングラフィックファイル内の1つの画素は、値(12、25、8)を有し、第2のアニメーショングラフィックファイル内の1つの画素は、値(42、0、61)を有し、第3のアニメーショングラフィックファイル内の1つの画素は、値(4、50、29)を有し、マスクグラフィックファイルは、値(90、99、33)を有すると仮定する。いくつかの実装形態では、除数は、マスクグラフィックファイル又は全てのアニメーショングラフィックファイルのいずれかにおいて、正規化係数(例えば、8ビットの実装における数255)として使用されることができるが、この例では、正規化係数は、単純化のために省略される。上記の画素値をバイナリに変換することは、以下のバイナリファイルをもたらす:
・ 第1のアニメーショングラフィックファイルの画素に関するバイナリファイルとして(0001100,0011001,0001000)、
・ 第2のアニメーショングラフィックファイルの画素に関するバイナリファイルとして(0101010,0000000,0111101)、
・ 第3のアニメーショングラフィックファイルの画素に関するバイナリファイルとして(0000100,0110010,0011101)、及び
・ マスクグラフィックファイルの画素のバイナリファイルとして(1011010,1100011,0100001)。
【0058】
デジタルビットストリーム構成要素222は、バイナリ乗算器及びバイナリ加算器を含むことができる。デジタルビットストリーム構成要素222は、第1のアニメーショングラフィックファイルの第1の値にマスクグラフィックファイルの第1の値を乗算し、第2のアニメーショングラフィックファイルの第1の値にマスクグラフィックファイルの第2の値を乗算し、第3のアニメーショングラフィックファイルの第1の値にマスクグラフィックファイルの第3の値を乗算するために、バイナリ乗算器を使用することができる。これらの乗算は、複数の積(ここでは3つの積)を生成する。デジタルビットストリーム構成要素222は、バイナリ加算器を使用して、LEDの第1のダイについての制御パラメータ(例えば、LEDの赤色ダイについての制御パラメータ)である単一の値にこれらの積を加算することができる。デジタルビットストリーム構成要素222は、バイナリ乗算器を使用して、マスクグラフィックファイルの値を有する3つのアニメーショングラフィックファイルの第2の値に関する新たな乗算を実行することができ、バイナリ加算器を使用して、LEDの第2のダイについての制御パラメータ(例えば、LEDの緑色ダイについての制御パラメータ)である単一の値にこれらの積を加算することができる。デジタルビットストリーム構成要素222は、バイナリ乗算器を使用して、マスクグラフィックファイルの値を有する3つのアニメーショングラフィックファイルの第3の値に関する新たな乗算を実行することができ、バイナリ加算器を使用して、LEDの第3のダイについての制御パラメータ(例えば、LEDの青色ダイについての制御パラメータ)である単一の値にこれらの積を加算することができる。
【0059】
システム200は、それぞれのアニメーショングラフィックファイル(例えば、アニメーショングラフィックファイル218)に対応する第1のバイナリシーケンス(例えば、バイナリファイル216)と、マスクグラフィックファイル(例えば、マスクグラフィックファイル220のうちの1つ)に対応する第2のバイナリシーケンス(例えば、バイナリファイル216)とを記憶する不揮発性メモリ(例えば、不揮発性メモリ202)と、電気部品(例えば、LED208-1,208-2,...208-N)のアレイ(例えば、アレイ206)と、第2のバイナリシーケンスに従って第1のバイナリシーケンスの部分を互いに(例えば、デジタルビットストリーム構成要素222によって)組み合わせて、電気部品のアレイについてのデジタルビットストリームを生成するハードウェア(例えば、ハードウェアシステム204)と、を含む装置の例を示している。
【0060】
システム200の使用は、アニメーショングラフィックファイル(例えば、アニメーショングラフィックファイル218)に対応する第1のバイナリシーケンス(例えば、バイナリファイル216)と、マスクグラフィックファイル(例えば、マスクグラフィックファイル220のうちの1つ)に対応する第2のバイナリシーケンス(例えば、バイナリファイル216)とにアクセスすることと、第2のバイナリシーケンスに従って第1のバイナリシーケンスの部分を互いに組み合わせ、デジタルビットストリームを生成することと、(例えば、デジタルビットストリーム構成要素222によって)デジタルビットストリームを電気部品(例えば、LED208-1,208-2,...208-N)のアレイ(例えば、アレイ206)に送信することと、を含む方法の実行の例を示している。
【0061】
図3は、電気部品300の例を概略的に示している。電気部品300は、本明細書の他の箇所に記載される1つ以上の他の実施例と共に使用されることができる。電気部品300のいくつかは、
図2のLED208-1,208-2,...208-Nの代わりに、又はそれらに加えて、一部として実装されることができる。すなわち、
図2のアレイ206は、代わりに、又はそれに加えて、電気部品300の一部又は全部を含むことができる。
【0062】
電気部品302は、LEDに対応する。いくつかの実装形態では、LEDは、電力を受信すると光を生成するように構成された1つ以上のダイを含む。例えば、各ダイは、少なくとも1つのp-n接合部を含むことができ、光は、電子と電子孔との互いの再結合によって生成される。いくつかの実装形態では、LEDは、異なる色の複数のダイを含む。例えば、LEDは、それぞれの赤色、緑色、及び青色ダイを含むことができる。LEDのそれぞれは、その動作を制御するために電力を受信するためのいくつかの制御ピンを有することができる。電気部品302のアレイは、LEDの不連続又は調光なしにパターン変化を受けることができる多色光の複雑なパターンを出力するように構成されることができる。
【0063】
電気部品304は、電気モーターに対応する。いくつかの実装形態では、電気モーターは、(例えば、機械的シャフト又は他の軸を(例えば、ポンプ、ファン、エレベータ、又は車両上で回転させることによって)供給された電気エネルギーを機械的運動に変換する。例えば、電気モーターは、ステータによって動作するように制御されたロータを含むことができる。電気部品304のアレイは、複雑な運動パターンを実行し、パターン変化を(例えば、それぞれの安定状態と遷移状態との間で)受けるように構成されることができる。
【0064】
電気部品306は、電気ヒーターに対応する。いくつかの実装形態では、電気ヒーターは、1つ以上の物理的位置の熱制御を実行することができる。例えば、加熱パターンは、製造プラント、貯蔵設備における日中の熱ゾーン、又は住宅用複合体における使用に基づく加熱パターンでのプロセスをサポートすることができる。
【0065】
電気部品308は、電気アクチュエータに対応する。いくつかの実装形態では、1つ以上の電気アクチュエータは、電磁力を使用して、1つ以上の物理的物体(例えば、レバー、ポンプ、又はツール)を作動させて、機械的動作の複雑なパターンを実行する。
【0066】
図4は、電気部品のアレイ400の例を概略的に示している。アレイ400は、本明細書の他の箇所に記載される1つ以上の他の実施例と共に使用されることができる。アレイ400は、複数のサブアレイで編成されることができる。ここで、サブアレイ402-1,402-2,...,402-Nが示されており、Nは、2以上の整数である。サブアレイ402-1,402-2,...,402-Nのそれぞれは、1つ以上の電気部品を含むことができる。ここで、電気部品404-1,404-2,...,404-Mは、サブアレイ402-1に示されており、Mは、2以上の整数である。ここで、電気部品406-1,406-2,...,406-Pは、サブアレイ402-2に示されており、Pは、2以上の整数である。ここで、電気部品408-1,408-2,...,408-Qは、サブアレイ402-Nに示されており、Qは、2以上の整数である。したがって、N個のサブアレイ402-1,402-2,...,402-Nのそれぞれは、別のサブアレイと同じ数又は異なる数の電気部品を有することができる。
図3の電気部品のタイプのうちの1つ以上に従った複数の電気部品は、アレイ400に従って配置されることができる。
【0067】
図5は、LEDのアレイ500の例を示している。アレイ500は、本明細書の他の箇所に記載される1つ以上の他の実施例と共に使用されることができる。アレイ500は、その上に取り付けられた一連のLED504を有する回路基板を含むLEDストリップ502を含む。アレイ500は、その上に取り付けられた一連のLED508を有する回路基板を含むLEDストリップ506を含む。LEDストリップ502及び506は、互いに同一とすることができ、又は互いに異なることができる(例えば、LEDの異なる数及び/又は配置を有する)。いくつかの実装形態では、LEDストリップ502及び506は、グラフィックファイルによって定義された1つ以上のパターンに従って活性化されると、導光体又は拡散体上に視覚的パターンを生成するように、導光体又は拡散体の異なる側面に(例えば、その対向する端部に)取り付けられることができる。導光体及び/又は拡散体は、図示のようにU字形を含む任意の形状を有することができる。他の形状が使用されることができる。いくつかの実装形態では、LEDストリップ502は、上部LEDストリップと見なすことができ、LEDストリップ506は、そのような実装において下部LEDストリップと見なすことができる。
【0068】
図6は、LED用のドライバのデイジーチェーン600の例を概略的に示している。デイジーチェーン600は、本明細書の他の箇所に記載される1つ以上の他の実施例と共に使用されることができる。デイジーチェーン600は、複数のドライバを含むことができる。ここで、ドライバ602-1,602-2,...,602-Nが示されており、Nは、2以上の整数である。ドライバ602-1,602-2,...,602-Nのそれぞれは、1つ以上のLEDと関連付けられることができる。ここで、LED 604-1,604-2,...,604-Mは、ドライバ602-1によって駆動され、Mは、2以上の整数である。ここで、LED 606-1,606-2,...,606-Pは、ドライバ602-2によって駆動され、Pは、2以上の整数である。ここで、LED 608-1,608-2,...,608-Qは、ドライバ602-Nによって駆動され、Qは、2以上の整数である。したがって、N個のドライバ602-1,602-2,...,602-Nのそれぞれは、別のドライバと同じ数又は異なる数のLEDを有することができる。
図3の電気部品のタイプのうちの1つ以上に従った複数の電気部品は、デイジーチェーン600に従って配置されることができる。別の例として、デジタルビットストリーム構成要素222(
図2)は、デジタルビットストリームをドライバ602-1,602-2,...,602-Nに送信することができ、各デジタルビットストリームは、それぞれのデジタルパルスを生成して、デイジーチェーン600のLEDに複雑なパターン及び/又はパターン変化を提示させることができる。
【0069】
いくつかの実装形態では、標準的なグラフィックファイル(PNG及び/又はFITSファイルを含むがこれらに限定されない)が使用されて、電気部品(例えば、LED)のアレイ及びそのような電気部品の動作パターン(例えば、LEDによって提示されるアニメーションパターン)を表すことができる。そのような又は他の標準的なグラフィックファイルフォーマットを使用することは、標準的なグラフィックソフトウェア(例えば、
図1のグラフィックソフトウェア102)がバイナリを生成するのに使用され、複合化を制御して電気部品の動作パターンを動的に変更することを可能にすることができる。
【0070】
図7は、アニメーショングラフィックファイル700の例を示している。
図7の着色は、異なる色によって表される値の勾配を3つの異なる赤色、緑色、及び青色の値及びこれらの組み合わせと区別することが重要である。アニメーショングラフィックファイル700は、本明細書の他の箇所に記載される1つ以上の他の実施例と共に使用されることができる。アニメーショングラフィックファイル700は、行及び列のセット内に配置された画素(例えば、多色値セット)を含む。アニメーショングラフィックファイル700は、第1の行702及び最後の行704を含む。行が処理される順序は変更されることができ、そのため、第1及び最後という用語は、ここでは単に例示目的のために使用される。矢印として概略的に示される寸法706は、ここでは、アニメーショングラフィックファイル700の行に平行に延びる。いくつかの実装形態では、構成要素寸法706内の各画素は、対応する個々の電気部品に対応する。例えば、第1の行702内の各画素は、アレイ内のそれぞれのLEDと関連付けられることができる。矢印として概略的に示される時間的寸法708は、ここでは、アニメーショングラフィックファイル700の列に平行に延びる。時間的寸法708は、アニメーショングラフィックファイル及びマスクグラフィックファイルによって定義されるパターンシーケンスの時間的フローと関連付けられることができる。したがって、アニメーショングラフィックファイル700内の一連の行は、アニメーショングラフィックファイル及びマスクグラフィックファイルによって定義されるパターンシーケンスの時間的フローと関連付けられることができる。すなわち、アニメーショングラフィックファイル700の列内の各画素は、時間的寸法708に沿って時間的に配置された電気部品のアレイのそれぞれの電気部品に関連付けられることができ、各行は、(マスクグラフィックファイル及び1つ以上の他のアニメーショングラフィックファイルと組み合わせて)パターンシーケンス内のフレームと関連付けられることができる。
【0071】
電気部品の2つ以上のサブアレイに関するパターンは、アニメーショングラフィックファイル700に含まれることができる。いくつかの実装形態では、領域710(例えば、列の左端半分)は、電気部品の第1のサブアレイに関連付けられることができ、領域712(例えば、列の右端半分)は、電気部品の第2のサブアレイに関連付けられることができる。電気部品の第1のサブアレイは、LEDの第1のセット(例えば、
図5のLEDストリップ502のLED504)に対応することができる。電気部品の第2のサブアレイは、LEDの第2のセット(例えば、
図5のLEDストリップ506のLED508)に対応することができる。アニメーショングラフィックファイル700の値を適宜設定することによって、任意のタイプのパターンが生成されることができる。例えば、本例では、LEDは、LEDのアレイの全体のスパン(例えば、幅)にわたる青色、紫色、及び橙色の波状パターンを提示する。
【0072】
図8は、アニメーショングラフィックファイル802及び804、並びにマスクグラフィックファイル806を含むグラフィックファイル800の例を示している。アニメーショングラフィックファイル802及びマスクグラフィックファイル806についての
図8の着色は、異なる色によって表される値の勾配を3つの異なる赤色、緑色、及び青色の値及びこれらの組み合わせと区別することが重要である。アニメーショングラフィックファイル802及び804並びに/又はマスクグラフィックファイル806は、本明細書の他の箇所に記載される1つ以上の他の実施例と共に使用されることができる。グラフィックファイルのセットが使用されて、ハードウェアに複雑なアニメーションパターンを提示させることができ、また、又は代わりに、運動、ピクチャインピクチャ、ブライトニング、フェーディング、混合、及びパターンの遷移などのダイナミックエフェクトを実装することができる。
【0073】
アニメーショングラフィックファイル802及び804は、ここでは画素ごとの計算と呼ばれるもので、マスクグラフィックファイル806を使用してスケーリングされて組み合わされる。例えば、分析プログラム120(
図1)は、画素ごとの計算を実行することができる。グラフィックファイル800のそれぞれは、画素ごとの計算において、他のものとは独立してループ状にすることができる。いくつかの実装形態では、グラフィックファイル800のそれぞれの行内の画素は、個々の電気部品に対応し、グラフィックファイル800のそれぞれの行は、パターンの実行中の時間の経過に対応する。ハードウェアは、画素ごとの計算において、グラフィックファイル800の全てを(例えば、一定速度で)常にループすることができる。グラフィックファイル800のうちの1つ以上は、別のグラフィックファイルとは異なる時間長を有することができる。したがって、グラフィックファイル800のうちの1つの処理は、そのグラフィックファイルの終わりに到達したときにやり直す(例えば、別のループを開始する)ことができる。例えば、画素ごとの計算における処理は、アニメーショングラフィックファイル802の第1の行808及びアニメーショングラフィックファイル804の第1の行810及びマスクグラフィックファイル806の第1の行812によって開始することができる。各画素ごとの計算は、アニメーショングラフィックファイル802及び804からの画素値を、マスクグラフィックファイル806からの値によってスケーリング(例えば、乗算)し、スケーリングされた画素値を加算することを含むことができる。画素ごとの計算は、グラフィックファイル800のそれぞれの行内の各画素について順に実行されることができる。1行についての画素ごとの計算が完了した後、処理は、グラフィックファイル800のそれぞれの次の行で継続することができる。アニメーショングラフィックファイル804の最後の行814に画素ごとの計算において到達すると、処理は、アニメーショングラフィックファイル804の第1の行810にループして、アニメーショングラフィックファイル802及びマスクグラフィックファイル806の後続の行と共に継続することができる。アニメーショングラフィックファイル802の最後の行816に画素ごとの計算において到達すると、処理は、アニメーショングラフィックファイル802の第1の行808にループして、アニメーショングラフィックファイル804及びマスクグラフィックファイル806の後続の行と共に継続することができる。マスクグラフィックファイル806の最後の行818に到達すると、処理は、マスクグラフィックファイル806の第1の行812にループして、アニメーショングラフィックファイル802及び804の後続の行と共に継続することができる。したがって、画素ごとの計算は、処理の複数回の繰り返しで実行されることができる。マスクグラフィックファイル806などのグラフィックファイル800のうちの1つ以上は、処理の方向に関するフラグと関連付けられることができる。例えば、ビット値0などのフラグの1つの設定により、マスクグラフィックファイル806は、第1の行812から最後の行818に向かう方向に処理されることができる。別の例として、ビット値1などのフラグの別の設定により、マスクグラフィックファイル806は、最後の行818から第1の行812に向かう方向に処理されることができる。したがって、本明細書で使用される第1及び最後という用語は、例示目的のみのためであり、必ずしも処理方向を示すものではない。すなわち、(例えば、バイナリファイルの形態で)バイナリシーケンスを生成することは、処理方向を示すフラグを読み取ることを含むことができる。
【0074】
画素ごとの計算は、アニメーショングラフィックファイル116及びマスクグラフィックファイル118(
図1)上の分析プログラム120によって実行されて、動作制御パラメータは所定の電気的閾値を超える電気部品をもたらすかどうかを評価することができる。いくつかの実装形態では、グラフィックファイル800内の各画素は、赤色、緑色、及び青色についてそれぞれ1つの、3つの値を含む。更に、LEDは、赤色、緑色、及び青色について1つずつ、3つの色ダイを含むことができる。アニメーショングラフィックファイル802及び804のそれぞれにおける3つの値は、対応するLED内の3つの色ダイを駆動するために提供される電流の量を制御することができる。マスクグラフィックファイル806内の任意の所与の画素の3つの値が使用されて、それらと共に加算する前に、アニメーショングラフィックファイル802及び804の対応する画素内の値をスケーリングして、LED色ダイに送られる最終値を導出することができる。
【0075】
3つのアニメーショングラフィックファイルが使用される例では、1つのマスク画素によって定義されるように、3つのアニメーション画素がスケーリングされて組み合わせられることができる。それぞれのアニメーショングラフィックファイルからのアニメーション画素は、それぞれ下付き文字a、b、及びcを使用して互いに区別されると仮定する。一方、マスク画素は、下付き文字mを使用する。更に、各画素の赤色、緑色、青色値は、それぞれ、大文字R、G、及びBを使用して示される。以下の関係は、下付き文字fによって表される最終グラフィック値を計算するために実行されることができる画素ごとの計算を示す:
【数2】
【0076】
すなわち、最終画素値のアレイ(例えば、3×1アレイ)を取得するために、マスクグラフィックファイルのアレイ(例えば、3×1アレイ)は、アニメーショングラフィックファイルのアレイ(例えば、3×3アレイ)によって乗算されることができる。ここで、Xは、最終値を許容範囲内に保つために使用されることができる正規化係数である。すなわち、マスク画素内の緑色値は、アニメーショングラフィックファイルa内の画素全体をスケーリングするために使用され、マスク画素内の赤色値は、アニメーショングラフィックファイルb内の画素全体をスケーリングするために使用され、マスク画素内の青色値は、アニメーショングラフィックファイルc内の画素全体をスケーリングするために使用される。
【0077】
より一般的には、画素当たりいくつかの値を有する2つ以上のアニメーショングラフィックファイルは、対応するマスクグラフィックファイルを使用して組み合わせられることができる。以下の例は、P個のアニメーショングラフィックファイル及びマスクグラフィックファイルを含み、各画素は、P色値を有し、Pは、2以上の正の整数である。更に、各画素は、N個の色値を含み、Nは、2以上の正の整数である。したがって、A
1Nは、第1のアニメーショングラフィックファイル内の画素の第Nの色値を指し、A
P1は、第Pのアニメーショングラフィックファイル内の画素の第1の色値を指す。以下の関係は、大文字Fによって表される最終グラフィック値を計算するために実行されることができる画素ごとの計算を示す:
【数3】
【0078】
グラフィックファイル800に関与する実施例に戻ると、アニメーショングラフィックファイル802は、ここでは、波状の青色及び紫色のアニメーションループであり、アニメーショングラフィックファイル804は、ここでは、波状の白色の色合い及び黒の色合いのアニメーションループであり、マスクグラフィックファイル806は、アニメーショングラフィックファイル802及び804の混合を定義するマスクファイルである。ここで、マスクグラフィックファイル806の上部20%の部分にわたる明るい赤色は、比較的高いスケール係数で、アニメーショングラフィックファイル804からの画素がLEDのアレイに提示されていることを示す。すなわち、対応するLEDを制御するための最終出力電流又は制御パラメータ値は、アニメーショングラフィックファイル802からのスケーリングされた画素値と、アニメーショングラフィックファイル804からのスケーリングされた画素値との合計である。ここで、マスクグラフィックファイル806の中間20%から80%の部分は、3つのエフェクトが行われていることを示す。第1に、赤色は、(例えば、マスクグラフィックファイル806の画素内の赤色値の値の漸進的減少に起因して)徐々に暗色化され、結果として、その期間にわたってアニメーショングラフィックファイル804からの画素の輝度が徐々に低下する。第2に、2つのLEDストリップ(例えば、
図5のLEDストリップ502及び506)の後角部のLEDから開始して2つのLEDストリップの中心に経時的に移動する、アニメーショングラフィックファイル802からの画素のストライプが提示されていることを示す、マスクグラフィックファイルに導入された緑色画素の形状が存在する。第3に、マスクグラフィックファイル806内の緑色画素の強度は徐々に増大し、その結果、その期間にわたってアニメーショングラフィックファイル802からの画素の輝度が徐々に増大する。最後に、マスクグラフィックファイル806の下部20%では、比較的暗い赤色及び明るい緑色は、LEDストリップの中央のLED上に提示されたアニメーショングラフィックファイル802からの明るい画素のストリップと共に、LEDストリップのLEDの大部分に提示されたアニメーショングラフィックファイル804からの暗い画素をもたらす。
【0079】
マスクグラフィックファイル806を通じた作用期間全体の間、マスクグラフィックファイル806によって指示される輝度及び位置にかかわらず、アニメーショングラフィックファイル802及び804のそれぞれからの色の波状パターンがLEDストリップのLEDに適用されるように、アニメーショングラフィックファイル802及び804は、連続的にループ状である。
【0080】
グラフィックファイル800と共に第3のアニメーショングラフィックファイルが使用された場合、その色、輝度、及び位置への寄与は、マスクグラフィックファイル806内の青色によって判定されることができる。すなわち、1つ以上のアニメーショングラフィックファイルが使用されていない場合、マスクグラフィックファイル806内の対応する色値はゼロに設定されることができる。
【0081】
いくつかの実装形態では、グラフィックファイル800間の全ての可能な行の組み合わせは、アニメーショングラフィックファイル116及びマスクグラフィックファイル118(
図1)上の分析プログラム120による画素ごとの計算において処理されて、動作制御パラメータが所定の電気的閾値を超える電気部品をもたらすかどうかを評価することができる。例えば、処理は、第1の行808、第1の行810、及び第1の行812に基づく画素ごとの計算によって開始することができ、処理は、ファイルの終わりにループが発生している、異なる行の組み合わせの繰り返しで継続することができる。処理が第1の行808、第1の行810、及び第1の行812の行の組み合わせに再び到達すると、この組み合わせは既に計算されているため、処理は終了することができる。したがって、画素ごとの計算を実行することは、アニメーショングラフィックファイル802及び804及びマスクグラフィックファイル806からの全ての可能な行の組み合わせで画素ごとの計算を実行することを含むことができる。
【0082】
図9~
図11は、それぞれ、方法900、1000、及び1100の実施例を示している。方法900、1000、及び1100のうちの1つ以上は、本明細書の他の箇所に記載される他の実施例と共に使用されることができる。方法の1つ以上の動作は、別途記載のない限り、異なる順序で実行されることができ、かつ/又はより多い又はより少ない動作が実行されることができる。
【0083】
902において、方法900によって開始し、アニメーショングラフィックファイル及びマスクグラフィックファイルがアクセスされることができる。例えば、グラフィックファイルは、システム100を使用して生成されることができ、変換プログラム124(
図1)によってアクセスされることができる。
【0084】
904において、それぞれのアニメーショングラフィックファイルに対応する第1のバイナリシーケンス及びマスクグラフィックファイルに対応する第2のバイナリシーケンスが生成されることができる。いくつかの実装形態では、変換プログラム124(
図1)は、アニメーショングラフィックファイル及びマスクグラフィックファイルの画素値からの10進数を2進数に変換することができる。例えば、変換プログラム124(
図1)は、出力126を生成することができる。
【0085】
906において、第1のバイナリシーケンス及び第2のバイナリシーケンスは、電気部品のアレイを制御するハードウェアに出力されることができる。例えば、バイナリシーケンスは、バイナリファイルの形態でシステム100(
図1)によって持続されることができ、変換プログラム124は、アレイ206を制御するシステム200(
図2)にバイナリファイルを出力することができる。
【0086】
ここで、方法1000を参照すると、1002において、アニメーショングラフィックファイル、マスクグラフィックファイル、及び電気部品のアレイについての電気的閾値を表す値がアクセスされることができる。例えば、グラフィックファイルは、システム100を使用して生成されることができ、分析プログラム120(
図1)によってアクセスされることができる。
【0087】
1004において、画素ごとの計算は、アニメーショングラフィックファイル及びマスクグラフィックファイルからの行の組み合わせについて実行されることができる。画素ごとの計算は、マスクグラフィックファイルからの対応する画素値によって定義されるような、アニメーショングラフィックファイルからのスケーリングされた画素値の組み合わせを含むことができる。
【0088】
再び
図8を参照すると、アニメーショングラフィックファイル802及び804は、1004における画素ごとの計算において、マスクグラフィックファイル806を使用してスケーリングされて組み合わせられることができる。例えば、分析プログラム120(
図1)は、画素ごとの計算を実行することができる。グラフィックファイル800のそれぞれは、画素ごとの計算において、他のものとは独立してループ状にすることができる。いくつかの実装形態では、グラフィックファイル800のそれぞれの行内の画素は、個々の電気部品に対応し、グラフィックファイル800のそれぞれの行は、パターンの実行中の時間の経過に対応する。ハードウェアは、画素ごとの計算において、グラフィックファイル800の全てを(例えば、一定速度で)常にループすることができる。グラフィックファイル800のうちの1つ以上は、別のグラフィックファイルとは異なる時間長を有することができる。したがって、グラフィックファイル800のうちの1つの処理は、そのグラフィックファイルの終わりに到達したときにやり直す(例えば、別のループを開始する)ことができる。例えば、画素ごとの計算における処理は、アニメーショングラフィックファイル802の第1の行808及びアニメーショングラフィックファイル804の第1の行810及びマスクグラフィックファイル806の第1の行812によって開始することができる。各画素ごとの計算は、アニメーショングラフィックファイル802及び804からの画素値を、マスクグラフィックファイル806からの値によってスケーリング(例えば、乗算)し、スケーリングされた画素値を加算することを含むことができる。画素ごとの計算は、グラフィックファイル800のそれぞれの行内の各画素について順に実行されることができる。1行についての画素ごとの計算が完了した後、処理は、グラフィックファイル800のそれぞれの次の行で継続することができる。アニメーショングラフィックファイル804の最後の行814に画素ごとの計算において到達すると、処理は、アニメーショングラフィックファイル804の第1の行810にループして、アニメーショングラフィックファイル802及びマスクグラフィックファイル806の後続の行と共に継続することができる。アニメーショングラフィックファイル802の最後の行816に画素ごとの計算において到達すると、処理は、アニメーショングラフィックファイル802の第1の行808にループして、アニメーショングラフィックファイル804及びマスクグラフィックファイル806の後続の行と共に継続することができる。マスクグラフィックファイル806の最後の行818に到達すると、処理は、マスクグラフィックファイル806の第1の行812にループして、アニメーショングラフィックファイル802及び804の後続の行と共に継続することができる。したがって、画素ごとの計算は、処理の複数回の繰り返しで実行されることができる。
【0089】
1006において、画素ごとの計算の結果が電気部品のアレイについての電気的閾値に適合する(例えば、超えない)かどうかを反映する出力が生成されることができる。例えば、分析プログラム120は、出力122(例えば、グラフィックファイルの修正及び/又は電気部品のアレイを記述する計算された電気値)を生成することができる。いくつかの実装形態では、1006において生成された出力は、ユーザーによって知覚可能な1つ以上の発現を含むことができる。例えば、表示デバイス1338(
図13)は、電流制限を含むがこれらに限定されない、評価されたグラフィックファイルが所定の電気的閾値を超えるかどうかを伝えるメッセージを提示することができる。
【0090】
ここで方法1100を参照すると、1102において、アニメーショングラフィックファイルに対応する第1のバイナリシーケンス、及びマスクグラフィックファイルに対応する第2のバイナリシーケンスにアクセスされることができる。例えば、システム200は、変換プログラム124が、アニメーショングラフィックファイル116及びマスクグラフィックファイル118(
図1)を1つの数値形態(例えば、16進数)からバイナリ形式に変換することによって生成されてもよいバイナリファイル216(
図2)にアクセスすることができる。
【0091】
1104において、第1のバイナリシーケンスの部分は、第2のバイナリシーケンスに従って互いに組み合わされて、デジタルビットストリームを生成することができる。例えば、デジタルビットストリーム構成要素222(
図2)は、2進数のバイナリ乗算を実行し、バイナリ積のバイナリ加算を実行することによって、グラフィックファイル800(
図8)を参照して説明された例に対応するバイナリファイルを組み合わせることができる。デジタルビットストリーム構成要素222(
図2)によって実行される組み合わせは、デジタルビットストリームをロゴレベル信号として生成することができる。
【0092】
1106において、デジタルビットストリームが送信されて、電気部品のアレイを制御することができる。いくつかの実装形態では、ハードウェアシステム204(
図2)は、
図4を参照して説明された電気部品のいずれかを制御するために、1つ以上の電気導体上でデジタルビットストリームを送信することができる。例えば、デジタルビットストリームは、電気部品のうちの1つ以上のためにドライバに送信されることができる。
【0093】
図12は、生物学的及び/又は化学的分析に使用されることができる例示的なシステム1200の概略図である。本明細書に記載されるシステム及び/又は技術は、いくつかの実装形態では、システム1200の一部とすることができる。システム1200は、少なくとも1つの生物学的物質及び/又は化学物質に関連する任意の情報又はデータを得るように動作させることができる。いくつかの実装形態では、キャリア1202は、分析される材料を供給する。例えば、キャリア1202は、材料を保持するカートリッジ又は任意の他の構成要素を含むことができる。いくつかの実装形態では、システム1200は、少なくとも分析中にキャリア1202を受容するためのレセプタクル1204を有する。レセプタクル1204は、システム1200のハウジング1206内に開口部を形成することができる。例えば、システム1200の一部又は全ての構成要素は、ハウジング1206内にあることができる。
【0094】
システム1200は、キャリア1202の材料の生物学的及び/又は化学的分析のための光学システム1208を含むことができる。光学システム1208は、材料の照明及び/又は撮像を含むがこれらに限定されない、1つ以上の光学動作を実行することができる。例えば、光学システム1208は、本明細書の他の箇所に記載される任意の又は全てのシステムを含むことができる。別の例として、光学システム1208は、本明細書の他の箇所に記載される任意の又は全ての動作を実行することができる。
【0095】
システム1200は、生物学的及び/又は化学的分析に関する熱処理を提供するための熱システム1210を含むことができる。いくつかの実装形態では、熱システム1210は、分析される材料の少なくとも一部及び/又はキャリア1202を熱的に調整する。
【0096】
システム1200は、生物学的及び/又は化学的分析に関連する1つ以上の流体を管理するための流体システム1212を含むことができる。いくつかの実装形態では、流体は、キャリア1202又はその材料に提供されることができる。例えば、流体は、キャリア1202の材料に加えられ、かつ/又はそこから除去されることができる。
【0097】
システム1200は、生物学的及び/又は化学的分析に関する入力及び/又は出力を容易にするユーザーインターフェース1214を含む。ユーザーインターフェースは、ほんの数例を挙げると、システム1200の動作のための1つ以上のパラメータを指定するために、かつ/又は生物学的及び/若しくは化学的分析の結果を出力するために使用されることができる。例えば、ユーザーインターフェース1214は、1つ以上の表示画面(例えば、タッチスクリーン)、キーボード、及び/又はポインティングデバイス(例えば、マウス又はトラックパッド)を含むことができる。
【0098】
システム1200は、生物学的及び/又は化学的分析を行うためのシステム1200の1つ以上の態様を制御することができるシステムコントローラ1216を含むことができる。システムコントローラ1216は、レセプタクル1204、光学システム1208、熱システム1210、流体システム1212、及び/又はユーザーインターフェース1214を制御することができる。システムコントローラ1216は、少なくとも1つのプロセッサ及びプロセッサのための実行可能命令を有する少なくとも1つの記憶媒体(例えば、メモリ)を含むことができる。
【0099】
図13は、本明細書に記載されるシステム、装置、及び/若しくは技術のいずれか、又は様々な可能な実施形態で利用されてもよい任意の他のシステム、装置、及び/若しくは技術のいずれかを含む、本開示の態様を実装するために使用されることができる、コンピューティングデバイス1300の例示的なアーキテクチャを示している。
【0100】
図13に示すコンピューティングデバイスは、本明細書に記載されるオペレーティングシステム、アプリケーションプログラム、及び/又はソフトウェアモジュール(ソフトウェアエンジンを含む)を実行するために使用されることができる。
【0101】
コンピューティングデバイス1300は、いくつかの実施形態では、中央処理装置(CPU)などの少なくとも1つの処理デバイス1302(例えば、プロセッサ)を含む。様々な処理デバイスが、様々な製造業者、例えば、Intel又はAdvanced Micro Devicesから入手可能である。この例では、コンピューティングデバイス1300はまた、システムメモリ1304と、システムメモリ1304を含む様々なシステム構成要素を処理デバイス1302に結合するシステムバス1306とを含む。システムバス1306は、メモリバス、又はメモリコントローラ、周辺バス、及び様々なバスアーキテクチャのいずれかを使用するローカルバスを含むがこれらに限定されない、使用されることができる任意の数のタイプのバス構造のうちの1つである。
【0102】
コンピューティングデバイス1300を使用して実装されることができるコンピューティングデバイスの例は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、モバイルコンピューティングデバイス(スマートフォン、タッチパッドモバイルデジタルデバイス、若しくは他のモバイルデバイスなど)、又はデジタル命令を処理するように構成された他のデバイスを含む。
【0103】
システムメモリ1304は、読み出し専用メモリ1308及びランダムアクセスメモリ1310を含む。開始時など、コンピューティングデバイス1300内で情報を転送するように機能する基本ルーチンを含む基本入力/出力システム1312は、読み出し専用メモリ1308に記憶されることができる。
【0104】
コンピューティングデバイス1300はまた、いくつかの実施形態では、デジタルデータを記憶するためのハードディスクドライブなどの二次記憶装置1314も含む。二次記憶装置1314は、二次記憶インターフェース1316によってシステムバス1306に接続されている。二次記憶装置1314及びその関連するコンピュータ可読媒体は、コンピュータ可読命令(アプリケーションプログラム及びプログラムモジュールを含む)、データ構造、及びコンピューティングデバイス1300に関する他のデータの不揮発性及び非一時的記憶を提供する。
【0105】
本明細書に記載される例示的な環境は、二次記憶装置としてハードディスクドライブを用いるが、他の実施形態では、他のタイプのコンピュータ可読記憶媒体が使用される。これらの他のタイプのコンピュータ可読記憶媒体の例は、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、コンパクトディスク読み出し専用メモリ、デジタル多用途ディスク読み出し専用メモリ、ランダムアクセスメモリ、又は読み出し専用メモリを含む。いくつかの実施形態は、非一時的媒体を含む。例えば、コンピュータプログラム製品は、非一時的記憶媒体内で有形に具現化されることができる。更に、そのようなコンピュータ可読記憶媒体は、ローカルストレージ又はクラウドベースのストレージを含むことができる。
【0106】
いくつかのプログラムモジュールは、オペレーティングシステム1318、1つ以上のアプリケーションプログラム1320、他のプログラムモジュール1322(本明細書に記載されるソフトウェアエンジンなど)、及びプログラムデータ1324を含む、二次記憶装置1314及び/又はシステムメモリ1304に記憶されることができる。コンピューティングデバイス1300は、Microsoft Windows(商標)、Google Chrome(商標) OS、Apple OS、Unix、又はLinux及び変形などの任意の好適なオペレーティングシステム、並びにコンピューティングデバイスに好適な任意の他のオペレーティングシステムを利用することができる。他の例は、Microsoft、Google、又はAppleオペレーティングシステム、又はタブレットコンピューティングデバイスにおいて使用される任意の他の好適なオペレーティングシステムを含むことができる。
【0107】
いくつかの実施形態では、ユーザーは、1つ以上の入力デバイス1326を介してコンピューティングデバイス1300への入力を提供する。入力デバイス1326の例は、キーボード1328、マウス1330、マイクロフォン1332(例えば、音声入力及び/又は他のオーディオ入力用)、タッチセンサ1334(タッチパッド又はタッチ感知ディスプレイなど)、及びジェスチャセンサ1335(例えば、ジェスチャ入力用を含む。いくつかの実装形態では、(1つ又は複数の)入力デバイス1326は、存在、近接、及び/又は動きに基づいて検出を提供する。いくつかの実装形態では、ユーザーは自宅に歩いてもよく、これは、処理デバイスへの入力をトリガしてもよい。例えば、(1つ又は複数の)入力デバイス1326は、その後、ユーザーの自動化された経験を促進してもよい。他の実施形態は、他の入力デバイス1326を含む。入力デバイスは、システムバス1306に結合された入力/出力インターフェース1336を介して処理デバイス1302に接続されることができる。これらの入力デバイス1326は、パラレルポート、シリアルポート、ゲームポート、又はユニバーサルシリアルバスなどの任意の数の入力/出力インターフェースによって接続されることができる。入力デバイス1326と入力/出力インターフェース1336との間の無線通信も可能であり、ほんの数例を挙げると、いくつかの可能な実施形態では、赤外線、BLUETOOTH(登録商標)無線技術、802.11a/b/g/n、セルラー、超広帯域(UWB)、ZigBee、又は他の無線周波数通信システムを含む。
【0108】
この例示的な実施形態では、モニタ、液晶表示デバイス、プロジェクタ、又はタッチ感知表示装置などの表示デバイス1338もまた、ビデオアダプタ1340などのインターフェースを介してシステムバス1306に接続される。表示デバイス1338に加えて、コンピューティングデバイス1300は、スピーカ又はプリンタなどの様々な他の周辺デバイス(図示せず)を含むことができる。
【0109】
コンピューティングデバイス1300は、ネットワークインターフェース1342を介して1つ以上のネットワークに接続されることができる。ネットワークインターフェース1342は、有線及び/又は無線通信を提供することができる。いくつかの実装形態では、ネットワークインターフェース1342は、無線信号を送信及び/又は受信するための1つ以上のアンテナを含むことができる。ローカルエリアネットワーキング環境又は広域ネットワーキング環境(インターネットなど)において使用される場合、ネットワークインターフェース1342は、イーサネットインターフェースを含むことができる。他の可能な実施形態は、他の通信デバイスを使用する。例えば、コンピューティングデバイス1300のいくつかの実施形態は、ネットワークを介して通信するためのモデムを含む。
【0110】
コンピューティングデバイス1300は、少なくともいくつかの形態のコンピュータ可読媒体を含むことができる。コンピュータ可読媒体は、コンピューティングデバイス1300によってアクセスされることができる任意の利用可能な媒体を含む。例として、コンピュータ可読媒体は、コンピュータ可読記憶媒体及びコンピュータ可読通信媒体を含む。
【0111】
コンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータなどの情報を記憶するように構成された任意のデバイス内に実装される、揮発性及び不揮発性、取り外し可能及び取り外し不可能な媒体を含む。コンピュータ可読記憶媒体は、ランダムアクセスメモリ、読み出し専用メモリ、電気的消去可能プログラム可能読み出し専用メモリ、フラッシュメモリ又は他のメモリ技術、コンパクトディスク読み出し専用メモリ、デジタル多用途ディスク若しくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶装置、又は所望の情報を記憶するために使用されることができ、コンピューティングデバイス1300によってアクセスされることができる任意の他の媒体を含むが、これらに限定されない。
【0112】
コンピュータ可読通信媒体は、典型的には、搬送波又は他の伝送機構などの変調データ信号内のコンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータを具現化し、任意の情報配信媒体を含む。用語「変調データ信号」は、信号内の情報を符号化するように設定又は変更されたその特性のうちの1つ以上を有する信号を指す。例として、コンピュータ可読通信媒体は、有線ネットワーク又は直接有線接続などの有線媒体、並びに音響、無線周波数、赤外線、及び他の無線媒体などの無線媒体を含む。上記のいずれかの組み合わせもまた、コンピュータ可読媒体の範囲内に含まれる。
【0113】
図13に示されるコンピューティングデバイスはまた、1つ以上のそのようなコンピューティングデバイスを含んでもよい、プログラム可能な電子機器の例であり、複数のコンピューティングデバイスが含まれる場合、そのようなコンピューティングデバイスは、本明細書に開示される様々な機能、方法、又は動作を集合的に実行するように、好適なデータ通信ネットワークと一体に結合されることができる。
【0114】
以下の実施例は、本主題のいくつかの態様を例示する。
【0115】
実施例1:方法であって、
アニメーショングラフィックファイル及びマスクグラフィックファイルにアクセスすることと、
アニメーショングラフィックファイルに対応する第1のバイナリシーケンスを生成することと、マスクグラフィックファイルに対応する第2のバイナリシーケンスを生成することと、
電気部品のアレイを制御するハードウェアに第1のバイナリシーケンス及び第2のバイナリシーケンスを出力することと、を含む、方法。
【0116】
実施例2:第1のバイナリシーケンス及び第2のバイナリシーケンスを出力することが、第1のバイナリシーケンス及び第2のバイナリシーケンスを含むバイナリファイルを送信することを含む、実施例1に記載の方法。
【0117】
実施例3:アニメーショングラフィックファイル及びマスクグラフィックファイルが、共通のグラフィックファイルタイプを有する、実施例1又は2に記載の方法。
【0118】
実施例4:共通のグラフィックファイルタイプが、ロスレスデータ圧縮をサポートする、実施例3に記載の方法。
【0119】
実施例5:アニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つが、1色当たり8ビットを有する、実施例1~4のいずれか一つに記載の方法。
【0120】
実施例6:アニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つが、1色当たり16ビットを有する、実施例1~4のいずれか一つに記載の方法。
【0121】
実施例7:アニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つが、3つのプレーンを有する、実施例1~6のいずれか一つに記載の方法。
【0122】
実施例8:アニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つが、4つのプレーンを有する、実施例1~6のいずれか一つに記載の方法。
【0123】
実施例9:第1のフラグを読み取って、アニメーショングラフィックファイルをマスクグラフィックファイルと区別することを更に含む、実施例3~8のいずれか一つに記載の方法。
【0124】
実施例10:第1のバイナリシーケンスを生成するか、又は第2のバイナリシーケンスを生成することのうちの少なくとも1つが、処理方向を示す第2のフラグを読み取ることを含む、実施例1~9のいずれか一つに記載の方法。
【0125】
実施例11:第1のバイナリシーケンス及び第2のバイナリシーケンスを使用して、電気部品のアレイを動作させることを更に含む、実施例1~10のいずれか一つに記載の方法。
【0126】
実施例12:プロセッサによって実行されると、プロセッサに動作を実行させる命令を含む、非一時的媒体内に記憶されたコンピュータプログラム製品であって、動作が、
アニメーショングラフィックファイル及びマスクグラフィックファイルにアクセスすることと、
アニメーショングラフィックファイルに対応する第1のバイナリシーケンスを生成することと、マスクグラフィックファイルに対応する第2のバイナリシーケンスを生成することと、
電気部品のアレイを制御するハードウェアに第1のバイナリシーケンス及び第2のバイナリシーケンスを出力することと、を含む、コンピュータプログラム製品。
【0127】
実施例13:方法であって、
第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、マスクグラフィックファイル、及び電気部品のアレイについての所定の電気的閾値にアクセスすることと、
第1のアニメーショングラフィックファイル及び第2のアニメーショングラフィックファイル及びマスクグラフィックファイルからの行の組み合わせについての画素ごとの計算を実行することであって、画素ごとの計算のそれぞれが、第1のアニメーショングラフィックファイルからの第1のアニメーション画素値に、マスクグラフィックファイルからの第1のマスク画素値を乗算することによって第1のスケーリングされた画素値を判定することと、第2のアニメーショングラフィックファイルからの第2のアニメーション画素値に、マスクグラフィックファイルからの第2のマスク画素値を乗算することによって第2のスケーリングされた画素値を判定することと、第1のスケーリングされた画素値と第2のスケーリングされた画素値との合計を判定することと、
画素ごとの計算の結果が、電気部品のアレイについての所定の電気的閾値を超えるかどうかを反映する出力を生成することと、を含む、方法。
【0128】
実施例14:画素ごとの計算を実行することが、第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、及びマスクグラフィックファイルからの全ての可能な行の組み合わせについて、画素ごとの計算を実行することを含む、実施例13に記載の方法。
【0129】
実施例15:出力が、画素ごとの計算の結果は電気部品のアレイについての所定の電気的閾値を超えることを示し、本方法は、第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、又はマスクグラフィックファイルのうちの少なくとも1つを調整することを更に含む、実施例13又は14に記載の方法。
【0130】
実施例16:電気部品のアレイが、発光ダイオード(LED)を含み、所定の電気的閾値が、上限電流制限を含み、第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つを調整することが、輝度値を低減することを含む、実施例15に記載の方法。
【0131】
実施例17:出力が、画素ごとの計算の結果は電気部品のアレイについての所定の電気的閾値を超えないことを示し、出力は、電気部品のアレイを記述する計算された電気値を更に含む、実施例13~16のいずれか一つに記載の方法。
【0132】
実施例18:計算された電気値が、第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、及びマスクグラフィックファイルの全ての行の組み合わせに対する平均総電流を含む、実施例17に記載の方法。
【0133】
実施例19:計算された電気値が、第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、及びマスクグラフィックファイルの全ての行の組み合わせの中で最も高い総電流を含む、実施例17又は18に記載の方法。
【0134】
実施例20:電気部品のアレイが発光ダイオード(LED)を含む、実施例13~19のいずれか一つに記載の方法。
【0135】
実施例21:画素ごとの計算の結果が、第1のアニメーショングラフィックファイル及び第2のアニメーショングラフィックファイル及びマスクグラフィックファイル内の画素として記憶されたデータに基づいて、LEDの各LED色についての推定電流を計算することを含む、実施例20に記載の方法。
【0136】
実施例22:LEDの各LED色についての推定電流が、平均又は最大電流のうちの少なくとも1つである、実施例21に記載の方法。
【0137】
実施例23:画素ごとの計算の結果が、LEDの各LEDについての推定電流を含む、実施例20~22のいずれか一つに記載の方法。
【0138】
実施例24:LEDの各LEDについての推定電流が、平均又は最大電流のうちの少なくとも1つである、実施例23に記載の方法。
【0139】
実施例25:第1のアニメーショングラフィックファイル及び第2のアニメーショングラフィックファイル内の各行が、第1のアニメーショングラフィックファイル及び第2のアニメーショングラフィックファイル及びマスクグラフィックファイルによって定義されるパターンシーケンス内のフレームに関連付けられ、行の各画素が、電気部品のアレイのそれぞれの電気部品に関連付けられる、実施例13~24のいずれか一つに記載の方法。
【0140】
実施例26:画素ごとの計算を実行することが、第1のアニメーショングラフィックファイル及び第2のアニメーショングラフィックファイル及びマスクグラフィックファイルのそれぞれの第1の行を処理することと、続いて、第1のアニメーショングラフィックファイル及び第2のアニメーショングラフィックファイル及びマスクグラフィックファイルのそれぞれの次の行を複数回繰り返して処理することと、を含む、実施例25に記載の方法。
【0141】
実施例27:第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つが、第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、又はマスクグラフィックファイルのうちの別のものとは異なる時間長を有し、方法が、第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、又はマスクグラフィックファイルのうちの少なくとも1つの終わりに到達した後に、第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、又はマスクグラフィックファイルのうちの少なくとも1つの別のループを開始することを更に含む、実施例26に記載の方法。
【0142】
実施例28:第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、及びマスクグラフィックファイルのそれぞれにおける一連の行が、第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、及びマスクグラフィックファイルによって定義されるパターンシーケンスの時間的フローに関連付けられる、実施例13~27のいずれか一つに記載の方法。
【0143】
実施例29:第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、及びマスクグラフィックファイルが、共通のグラフィックファイルタイプを有する、実施例13~28のいずれか一つに記載の方法。
【0144】
実施例30:共通のグラフィックファイルタイプが、ロスレスデータ圧縮をサポートする、実施例29に記載の方法。
【0145】
実施例31:第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つが、1色当たり8ビットを有する、実施例13~30のいずれか一つに記載の方法。
【0146】
実施例32:第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つが、1色当たり16ビットを有する、実施例13~30のいずれか一つに記載の方法。
【0147】
実施例33:第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つが、3つのプレーンを有する、実施例13~32のいずれか一つに記載の方法。
【0148】
実施例34:第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つが、4つのプレーンを有する、実施例13~32のいずれか一つに記載の方法。
【0149】
実施例35:出力を生成することが、表示デバイス上にメッセージを提示することを含む、実施例13~34のいずれか一つに記載の方法。
【0150】
実施例36:第1のアニメーショングラフィックファイル及び第2のアニメーショングラフィックファイルに基づいて、電気部品のアレイを動作させることを更に含む、実施例13~35のいずれか一つに記載の方法。
【0151】
実施例37:プロセッサによって実行されると、プロセッサに動作を実行させる命令を含む、非一時的媒体内に記憶されたコンピュータプログラム製品であって、動作が、
第1のアニメーショングラフィックファイル、第2のアニメーショングラフィックファイル、マスクグラフィックファイル、及び電気部品のアレイについての所定の電気的閾値にアクセスすることと、
第1のアニメーショングラフィックファイル及び第2のアニメーショングラフィックファイル及びマスクグラフィックファイルからの行の組み合わせについての画素ごとの計算を実行することであって、画素ごとの計算のそれぞれが、第1のアニメーショングラフィックファイルからの第1のアニメーション画素値に、マスクグラフィックファイルからの第1のマスク画素値を乗算することによって第1のスケーリングされた画素値を判定することと、第2のアニメーショングラフィックファイルからの第2のアニメーション画素値に、マスクグラフィックファイルからの第2のマスク画素値を乗算することによって第2のスケーリングされた画素値を判定することと、第1のスケーリングされた画素値と第2のスケーリングされた画素値との合計を判定することと、
画素ごとの計算の結果が、電気部品のアレイについての所定の電気的閾値を超えるかどうかを反映する出力を生成することと、を含む、コンピュータプログラム製品。
【0152】
実施例38:方法であって、
アニメーショングラフィックファイルに対応する第1のバイナリシーケンス、及びマスクグラフィックファイルに対応する第2のバイナリシーケンスにアクセスすることと、
第1のバイナリシーケンスの部分を第2のバイナリシーケンスに従って互いに組み合わせて、デジタルビットストリームを生成することと、
デジタルビットストリームを送信して、電気部品のアレイを制御することと、を含む、方法。
【0153】
実施例39:アニメーショングラフィックファイル内の各行が、アニメーショングラフィックファイル及びマスクグラフィックファイルによって定義されるパターンシーケンス内のフレームに関連付けられ、行の各画素が、電気部品のアレイのそれぞれの電気部品に関連付けられる、実施例38に記載の方法。
【0154】
実施例40:第1のバイナリシーケンスの部分を互いに組み合わせることが、アニメーショングラフィックファイル及びマスクグラフィックファイルのそれぞれの第1の行を処理することと、続いて、アニメーショングラフィックファイル及びマスクグラフィックファイルのそれぞれの次の行を複数回繰り返して処理することと、を含む、実施例38又は39に記載の方法。
【0155】
実施例41:アニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つが、アニメーショングラフィックファイル又はマスクグラフィックファイルのうちの別のものとは異なる時間長を有し、方法が、アニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つの終わりに到達した後に、アニメーショングラフィックファイル又はマスクグラフィックファイルのうちの少なくとも1つの別のループを開始することを更に含む、実施例40に記載の方法。
【0156】
実施例42:アニメーショングラフィックファイル又はマスクグラフィックファイルのそれぞれにおける一連の行が、アニメーショングラフィックファイル及びマスクグラフィックファイルによって定義されるパターンシーケンスの時間的フローに関連付けられる、実施例38~41のいずれか一つに記載の方法。
【0157】
実施例43:それぞれのマスクグラフィックファイルに対応する複数の第2のバイナリシーケンスにアクセスすることと、組み合わせを指定する構成ファイルにアクセスすることであって、各組み合わせが、アニメーショングラフィックファイルのうちの少なくとも2つ及びマスクグラフィックファイルのうちの1つを含む、アクセスすることと、を更に含む、実施例38~42のいずれか一つに記載の方法。
【0158】
実施例44:組み合わせのそれぞれが、安定状態又は遷移状態のいずれかに対応する、実施例43に記載の方法。
【0159】
実施例45:第1の安定状態から第2の安定状態への変化を調節することを更に含み、構成ファイルが、第1の安定状態と第2の安定状態との中間の遷移状態を指定する、実施例44に記載の方法。
【0160】
実施例46:電気部品のアレイが発光ダイオード(LED)を含む、実施例38~45のいずれか一つに記載の方法。
【0161】
実施例47:デジタルビットストリームを送信して、電気部品のアレイを制御することが、デジタルビットストリームをLEDのそれぞれについてのドライバに送信することを含む、実施例46に記載の方法。
【0162】
実施例48:デジタルビットストリームをLEDのそれぞれについてのドライバに送信することが、デジタルビットストリームをドライバのデイジーチェーンを通じて送信することを含む、実施例47に記載の方法。
【0163】
実施例49:アニメーショングラフィックファイルを使用して第1のバイナリシーケンスを生成することと、マスクグラフィックファイルを使用して第2のバイナリシーケンスを生成することと、を更に含む、実施例38~48のいずれか一つに記載の方法。
【0164】
実施例50:装置であって、
それぞれのアニメーショングラフィックファイルに対応する第1のバイナリシーケンスと、マスクグラフィックファイルに対応する第2のバイナリシーケンスとを記憶する不揮発性メモリと、
電気部品のアレイと、
第1のバイナリシーケンスの部分を第2のバイナリシーケンスに従って互いに組み合わせて、電気部品のアレイについてのデジタルビットストリームを生成するハードウェアと、を備える、装置。
【0165】
実施例51:電気部品のアレイが発光ダイオード(LED)を含む、実施例50に記載の装置。
【0166】
実施例52:電気部品のアレイについてのデジタルビットストリームを生成することが、デジタルビットストリームをLEDのそれぞれについてのドライバに送信することを含む、実施例51に記載の装置。
【0167】
実施例53:デジタルビットストリームをLEDのそれぞれについてのドライバに送信することが、デジタルビットストリームをドライバのデイジーチェーンを通じて送信することを含む、実施例52に記載の装置。
【0168】
実施例54:電気部品のアレイが電気モーターを含む、実施例50に記載の装置。
【0169】
実施例55:電気部品のアレイが電気ヒーターを含む、実施例50に記載の装置。
【0170】
実施例56:電気部品のアレイが電気アクチュエータを含む、実施例50に記載の装置。
【0171】
実施例57:ハードウェアが、
第1のバイナリシーケンスの少なくとも一部に乗算を実行するバイナリ乗算器と、
バイナリ乗算器によって生成された積に加算を実行するバイナリ加算器と、を備える、実施例50~56のいずれか一つに記載の装置。
【0172】
実施例58:グラフィックファイルのセットであって、
第1のアニメーショングラフィック(AG)画素を含む第1のAGファイルであって、第1のAG画素のそれぞれが第1のAG値を含む、第1のAGファイルと、
第2のAG画素を含む第2のAGファイルであって、第2のAG画素のそれぞれが第2のAG値を含む、第2のAGファイルと、
マスクグラフィック(MG)画素を含むMGファイルであって、MG画素のそれぞれがMG値を含み、MG値の第1のMG値が、第1のAG値のうちの1つに対する第1の数値係数を指定し、MG値の第2のMG値が、第2のAG値のうちの1つに対する第2の数値係数を指定し、MG画素が、(i)第1のAG値のうちの1つを乗じた第1の数値係数と、(ii)第2のAG値のうちの1つを乗じた第2の数値係数との合計を定義する、MGファイルと、を備える、グラフィックファイルのセット。
【0173】
本明細書全体を通して使用される用語「実質的に」及び「約」は、処理のばらつきによるなどの小さな変動を記述及び説明するために使用される。例えば、それらは、±5%以下、例えば±2%以下、例えば±1%以下、例えば±0.5%以下、例えば±0.2%以下、例えば±0.1%以下、例えば±0.05%以下を指すことができる。また、本明細書で使用するとき、「a」又は「an」などの不定冠詞は、「少なくとも1つ」を意味する。
【0174】
以下により詳細に考察される、前述の概念及び更なる概念の全ての組み合わせが、(かかる概念が相互に矛盾しなければ)本明細書に開示される発明の主題の一部であると企図されることを理解されたい。具体的には、本開示の終わりに現れる特許請求される主題の全ての組み合わせは、本明細書に開示される発明の主題の一部であると企図される。
【0175】
いくつかの実装形態が説明された。それにもかかわらず、本発明の趣旨及び範囲から逸脱することなく、様々な変更を行うことができることが理解されるであろう。
【0176】
加えて、図に描示される論理フローは、所望の結果を達成するために、示される特定の順序、又は連続的な順序を必要としない。加えて、記載されたフローから他の工程を提供することができ、又は工程を排除することができ、記載されたシステムに他の構成要素を追加するか、又はそこから除去することができる。したがって、他の実装形態は、以下の特許請求の範囲内にある。
【0177】
記載された実装形態の特定の特徴が本明細書に記載されるように例示されているが、当業者には多くの修正、置換、変更、及び等価物が思い浮かぶであろう。したがって、添付の特許請求の範囲は、実装形態の範囲内に含まれるような、そのような修正及び変更の全てを網羅することを意図するものであることを理解されたい。これらは単なる例として提示されており、限定するものではなく、形態及び詳細の様々な変更がなされ得ることを理解されたい。本明細書に記載される装置及び/又は方法の任意の部分は、相互に排他的な組み合わせを除いて、任意の組み合わせで組み合わされてもよい。本明細書に記載される実装形態は、説明される異なる実装形態の機能、構成要素、及び/又は特徴の様々な組み合わせ及び/又は部分的組み合わせを含むことができる。
【国際調査報告】