(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6441543
(24)【登録日】2018年11月30日
(45)【発行日】2018年12月19日
(54)【発明の名称】ディスプレイサブシステムのテスティング
(51)【国際特許分類】
G09G 5/00 20060101AFI20181210BHJP
【FI】
G09G5/00 X
G09G5/00 510A
G09G5/00 550H
G09G5/00 555G
G09G5/00 530Z
【請求項の数】21
【全頁数】33
(21)【出願番号】特願2018-515309(P2018-515309)
(86)(22)【出願日】2016年8月30日
(86)【国際出願番号】US2016049465
(87)【国際公開番号】WO2017053029
(87)【国際公開日】20170330
【審査請求日】2018年5月22日
(31)【優先権主張番号】14/864,348
(32)【優先日】2015年9月24日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100109830
【弁理士】
【氏名又は名称】福原 淑弘
(74)【代理人】
【識別番号】100158805
【弁理士】
【氏名又は名称】井関 守三
(74)【代理人】
【識別番号】100112807
【弁理士】
【氏名又は名称】岡田 貴志
(74)【代理人】
【識別番号】100184332
【弁理士】
【氏名又は名称】中丸 慶洋
(72)【発明者】
【氏名】グラティ、ラーフル
(72)【発明者】
【氏名】ウォン、ジョン・チ・キット
(72)【発明者】
【氏名】ブーヤン、プランジャル
(72)【発明者】
【氏名】グプタ、サンジャイ
(72)【発明者】
【氏名】シャー、ヘマング・ジャヤント
【審査官】
斎藤 厚志
(56)【参考文献】
【文献】
国際公開第2014/079826(WO,A1)
【文献】
特開2012−35677(JP,A)
【文献】
特開2010−60711(JP,A)
【文献】
米国特許出願公開第2011/099425(US,A1)
【文献】
米国特許出願公開第2008/129826(US,A1)
【文献】
特開2011−097404(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G09G 5/00
(57)【特許請求の範囲】
【請求項1】
ディスプレイシステムのテスティングのための方法であって、
コンピューティングデバイスによって、専用のテストモードに入ることなく前記コンピューティングデバイスのディスプレイプロセッサのビルトインセルフテストを実行することであって、
前記コンピューティングデバイスによってビデオソースから、前記ディスプレイプロセッサによって処理されるべきである画像を受け取ることと、ここにおいて、前記画像は、視覚領域および非視覚領域を含む、
前記コンピューティングデバイスによって、前記画像の前記非視覚領域に入力チェックサムと関連付けられるテストパターンを含めるように前記ディスプレイプロセッサによって処理されるべきである前記画像を修正することと、
前記ディスプレイプロセッサの1つ以上の所定のハードウェアユニットによって、前記画像の前記視覚領域の少なくとも一部を変更する、前記画像に対する1つ以上の画像処理オペレーションを実行することを含む、前記ディスプレイプロセッサの前記1つ以上の所定のハードウェアユニットによって、前記画像を処理することと、
前記ディスプレイプロセッサによって、前記ディスプレイプロセッサの前記1つ以上の所定のハードウェアユニットによる前記画像の処理の後の前記テストパターンに少なくとも部分的に基づいて、出力チェックサムを生成することと、
ディスプレイデバイスに前記画像を出力するより前に、前記コンピューティングデバイスによって、前記入力チェックサムと前記出力チェックサムとの間に差分が存在するかどうかを決定することに少なくとも部分的に基づいて、障害が、前記ディスプレイプロセッサの前記1つ以上の所定のハードウェアユニットにおいて生じたかどうかを検出することと、
前記障害が前記ディスプレイプロセッサの前記1つ以上の所定のハードウェアユニットにおいて生じなかったことを決定することに応答して、前記ディスプレイデバイスが前記テストパターンを含む前記画像の前記非視覚領域を表示することなく前記画像の前記視覚領域を表示するように、前記ディスプレイプロセッサによって、前記ディスプレイデバイスに前記画像を出力することと、
を含む、前記実行すること
を備える、方法。
【請求項2】
前記ビデオソースによって、ビデオをキャプチャすることと、
前記コンピューティングデバイスによって、前記テストパターンを含めるように前記ビデオのフレームを修正することと、
をさらに備える、請求項1に記載の方法。
【請求項3】
前記ディスプレイプロセッサの前記1つ以上の所定のハードウェアユニットによって、前記画像を処理することは、前記ディスプレイプロセッサのディスプレイサブシステムパイプラインによって、前記画像を処理することを備える、請求項1に記載の方法。
【請求項4】
前記コンピューティングデバイスによって、テストパターン画像を生成することと、ここにおいて、入力テストチェックサムは、前記テストパターン画像と関連付けられる、
前記コンピューティングデバイスの前記ディスプレイプロセッサについての垂直帰線消去間隔の間、前記ディスプレイプロセッサの前記1つ以上の所定のハードウェアユニットによって、前記テストパターン画像を処理することと、
前記ディスプレイプロセッサによって、前記ディスプレイプロセッサの前記1つ以上の所定のハードウェアユニットによる前記テストパターン画像の処理の後の前記テストパターン画像に少なくとも部分的に基づいて、出力テストチェックサムを生成することと、
前記コンピューティングデバイスによって、前記入力テストチェックサムと前記出力テストチェックサムとの間の差分を決定することに少なくとも部分的に基づいて、前記ディスプレイプロセッサの前記1つ以上の所定のハードウェアユニットにおける障害を検出することと、
をさらに備える、請求項1に記載の方法。
【請求項5】
前記ディスプレイプロセッサによって、前記ディスプレイプロセッサについての複数の垂直帰線消去間隔のn番目の垂直帰線消去間隔ごとに前記処理することおよび前記検出することを実行すること、ここにおいて、nは、1より大きい、
をさらに備える、請求項4に記載の方法。
【請求項6】
前記ディスプレイプロセッサによって、前記ディスプレイプロセッサについての複数の垂直帰線消去間隔の垂直帰線消去間隔ごとに前記処理することおよび前記検出することを実行すること、
をさらに備える、請求項4に記載の方法。
【請求項7】
装置であって、
ビデオソースから受け取られる画像を記憶するように構成されるメモリと、ここにおいて、前記画像は、視覚領域および非視覚領域を含む、
ディスプレイプロセッサであって、専用のテストモードに入ることなく前記ディスプレイプロセッサのビルトインセルフテストを実行するように構成され、
前記画像の前記非視覚領域に入力チェックサムと関連付けられるテストパターンを含めるように前記ディスプレイプロセッサによって処理されるべきである前記画像を修正することと、
前記ディスプレイプロセッサの1つ以上の所定のハードウェアユニットによって、前記画像の前記視覚領域の少なくとも一部を変更する、前記画像に対する1つ以上の画像処理オペレーションを実行することを含む、前記ディスプレイプロセッサの前記1つ以上の所定のハードウェアユニットによって、前記画像を処理することと、
前記ディスプレイプロセッサの前記1つ以上の所定のハードウェアユニットによる前記画像の処理の後の前記テストパターンに少なくとも部分的に基づいて、出力チェックサムを生成することと、
ディスプレイデバイスに前記画像を出力するより前に、前記入力チェックサムと前記出力チェックサムとの間に差分が存在するかどうかを決定することに少なくとも部分的に基づいて、障害が、前記ディスプレイプロセッサの前記1つ以上の所定のハードウェアユニットにおいて生じたかどうかを検出することと、
前記障害が前記ディスプレイプロセッサの前記1つ以上の所定のハードウェアユニットにおいて生じなかったことを決定することに応答して、前記ディスプレイデバイスが前記テストパターンを含む前記画像の前記非視覚領域を表示することなく前記画像の前記視覚領域を表示するように、前記ディスプレイデバイスに前記画像を出力することと、
を含む、前記ディスプレイプロセッサと、
を備える、装置。
【請求項8】
前記ビデオソースは、前記メモリにビデオを出力するように構成され、
前記ディスプレイプロセッサは、
前記テストパターンを含めるように前記ビデオのフレームを修正する
を行うようにさらに構成される、
請求項7に記載の装置。
【請求項9】
前記装置は、先進運転支援システム(ADAS)を含むビークルであり、
前記ADASは、前記メモリおよび前記ディスプレイプロセッサを含む、
請求項8に記載の装置。
【請求項10】
前記ディスプレイプロセッサは、
前記ディスプレイプロセッサのディスプレイサブシステムパイプラインによって、前記画像を処理すること
を行うようにさらに構成される、請求項7に記載の装置。
【請求項11】
前記ディスプレイプロセッサは、
テストパターン画像を生成することと、ここにおいて、前記テストパターン画像は、入力テストチェックサムと関連付けられる、
前記ディスプレイプロセッサについての垂直帰線消去間隔の間、前記テストパターン画像を処理することと、
前記テストパターン画像の処理の後の前記テストパターン画像に少なくとも部分的に基づいて、出力テストチェックサムを生成することと、
前記入力テストチェックサムと前記出力テストチェックサムとの間の差分を決定することに少なくとも部分的に基づいて、前記ディスプレイプロセッサの前記1つ以上の所定のハードウェアユニットにおける障害を検出することと、
を行うようにさらに構成される、請求項7に記載の装置。
【請求項12】
前記ディスプレイプロセッサは、
前記ディスプレイプロセッサについての複数の垂直帰線消去間隔のn番目の垂直帰線消去間隔ごとに前記処理することおよび前記検出することを実行すること、ここにおいて、nは、1より大きい、
を行うようにさらに構成される、請求項11に記載の装置。
【請求項13】
前記ディスプレイプロセッサは、
前記ディスプレイプロセッサについての複数の垂直帰線消去間隔の垂直帰線消去間隔ごとに前記処理することおよび前記検出することを実行すること、
を行うようにさらに構成される、請求項11に記載の装置。
【請求項14】
前記装置は、先進運転支援システム(ADAS)である、請求項13に記載の装置。
【請求項15】
装置であって、
専用のテストモードに入ることなくビルトインセルフテストを実行する手段であって、
ビデオをキャプチャするための手段から、処理されるべきである画像を受け取るための手段と、ここにおいて、前記画像は、視覚領域および非視覚領域を含む、
前記画像の前記非視覚領域に入力チェックサムと関連付けられるテストパターンを含めるように前記画像を修正するための手段と、
前記画像の前記視覚領域の少なくとも一部を変更する、前記画像に対する1つ以上の画像処理オペレーションを実行するための手段を含む、前記画像を処理するための手段と、
前記画像を処理するための前記手段による前記画像の処理の後の前記テストパターンに少なくとも部分的に基づいて、出力チェックサムを生成するための手段と、
ディスプレイデバイスに前記画像を出力するより前に、前記入力チェックサムと前記出力チェックサムとの間に差分が存在するかどうかを決定することに少なくとも部分的に基づいて、障害が、前記画像を処理するための前記手段において生じたかどうかを検出するための手段と、
前記障害が前記画像を処理するための前記手段において生じなかったことを決定することに応答して、前記画像を表示するための前記手段が前記テストパターンを含む前記画像の前記非視覚領域を表示することなく前記画像の前記視覚領域を表示するように、前記画像を表示するための手段に前記画像を出力するための手段と、
を含む、前記実行する手段、
を備える、装置。
【請求項16】
前記テストパターンを含めるように前記ビデオのフレームを修正するための手段
をさらに備える、請求項15に記載の装置。
【請求項17】
テストパターン画像を生成するための手段と、ここにおいて、前記テストパターン画像は、入力テストチェックサムと関連付けられる、
前記画像を処理するための前記手段についての垂直帰線消去間隔の間、前記テストパターン画像を処理するための手段と、
処理するための前記手段による前記テストパターン画像の処理の後の前記テストパターン画像に少なくとも部分的に基づいて、出力テストチェックサムを生成するための手段と、
前記入力テストチェックサムと前記出力テストチェックサムとの間の差分を決定することに少なくとも部分的に基づいて、前記テストパターン画像を処理するための前記手段における障害を検出するための手段と、
をさらに備える、請求項15に記載の装置。
【請求項18】
非一時的なコンピュータ読み取り可能な記憶媒体であって、少なくとも1つのプログラマブルプロセッサに、
専用のテストモードに入ることなくディスプレイプロセッサのビルトインセルフテストを実行することであって、
ビデオソースから、前記ディスプレイプロセッサによって処理されるべきである画像を受け取ることと、ここにおいて、前記画像は、視覚領域および非視覚領域を含む、
前記画像の前記非視覚領域に入力チェックサムと関連付けられるテストパターンを含めるように前記ディスプレイプロセッサによって処理されるべきである前記画像を修正することと、
前記ディスプレイプロセッサの1つ以上の所定のハードウェアユニットによって、前記の前記視覚領域の少なくとも一部を変更する、前記画像に対する1つ以上の画像処理オペレーションを実行することを含む、前記画像を処理することと、
前記画像の前記処理の後の前記テストパターンに少なくとも部分的に基づいて、出力チェックサムを生成することと、
ディスプレイデバイスに前記画像を出力するより前に、前記入力チェックサムと前記出力チェックサムとの間に差分が存在するかどうかを決定することに少なくとも部分的に基づいて、障害が、前記ディスプレイプロセッサの前記1つ以上の所定のハードウェアユニットにおいて生じたかどうかを検出することと、
前記障害が前記ディスプレイプロセッサの前記1つ以上の所定のハードウェアユニットにおいて生じなかったことを決定することに応答して、前記ディスプレイデバイスが前記テストパターンを含む前記画像の前記非視覚領域を表示することなく前記画像の前記視覚領域を表示するように、前記ディスプレイデバイスに前記画像を出力することと、
を含む、前記実行すること
を行わせるための命令を備える、非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項19】
前記命令は、前記少なくとも1つのプログラマブルプロセッサに、
ビデオをキャプチャすることと、
前記テストパターンを含めるように前記ビデオのフレームを修正することと、
をさらに行わせる、請求項18に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項20】
前記命令は、前記少なくとも1つのプログラマブルプロセッサに、
テストパターン画像を生成することと、ここにおいて、前記テストパターン画像は、入力テストチェックサムと関連付けられる、
前記ディスプレイプロセッサについての垂直帰線消去間隔の間、前記テストパターン画像を処理することと、
前記テストパターン画像の処理の後の前記テストパターン画像に少なくとも部分的に基づいて、出力テストチェックサムを生成することと、
前記入力テストチェックサムと前記出力テストチェックサムとの間の差分を決定することに少なくとも部分的に基づいて、前記ディスプレイプロセッサの前記1つ以上の所定のハードウェアユニットにおける障害を検出することと、
をさらに行わせる、請求項18に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項21】
前記命令は、前記少なくとも1つのプログラマブルプロセッサに、
前記ディスプレイプロセッサについての複数の垂直帰線消去間隔のn番目の垂直帰線消去間隔ごとに前記処理することおよび前記検出することを実行すること、ここにおいて、nは、1より大きい、
をさらに行わせる、請求項20に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[0001] 本開示は、ディスプレイサブシステムの同時オンラインテスティング(concurrent online testing)に関する。
【背景技術】
【0002】
[0002] 自動車(automobile)は、ビークル(vehicle)のドライバーに、情報、データ、画像、ビデオ、および同様のものを提供することができる、ディスプレイデバイスを含み得る。例えば、ディスプレイデバイスは、パーキングスペースから外へ安全に後退する(safely reversing out of)際にビークルのドライバーを支援するために、リアビューカメラによってキャプチャされたビデオを表示し得る。さらに、ディスプレイデバイスは、ディスプレイデバイスがドライバーの盲点に位置しているビークルが存在することをドライバーに警告するために、盲点通知(blind spot warning)をも表示し得るような、自動車(automotive)先進運転支援システム(ADAS:advanced driver assistance system)の一部であり得る、または自動車ADASに動作可能に結合され得る。
【発明の概要】
【0003】
[0003] 一般的に、本開示の態様は、ディスプレイサブシステムの同時オンラインテスティングのための技法を対象にしている。例えば、ある特定のアプリケーションにおいて、ディスプレイサブシステムは、自動車先進運転支援システム(ADAS)または航空機を制御するためのフライト制御システムに含まれる、またはそれらに動作可能に結合される場合、ディスプレイサブシステムのインテグリティ(integrity)は、ビークルのドライバーおよび乗客の安全性を維持するために特に重要であり得る。ディスプレイサブシステムは、画像を処理し、それら画像がディスプレイデバイスによって表示される前に、そのような画像に対して画像オペレーションを実行し得る。ディスプレイサブシステムが、障害があり(faulty)、それゆえに画像処理の間に画像にエラーを導入する場合、ユーザは、ディスプレイデバイスによって表示される画像の精度に依存することができない可能性がある。リアビューカメラによってキャプチャされたビデオを表示するディスプレイデバイスの例において、ディスプレイサブシステムは、ディスプレイサブシステムが正常に機能していない(malfunction)場合、それによってディスプレイデバイスが、リアビューカメラによってキャプチャされたビデオを正確に表示しない可能性があるため、消極的な方法で、ドライバーおよび乗客、ならびに、歩行者および他のビークルの乗員(occupant)の安全性に影響を与え得る。
【0004】
[0004] 一態様において、本開示は、ディスプレイシステムのテスティングのための方法を対象にしている。方法は、ディスプレイシステムのディスプレイプロセッサによって、テストパターンを含む画像を受け取ることを含み、ここにおいて、入力チェックサムは、テストパターンと関連付けられる。方法は、ディスプレイプロセッサの1つ以上のハードウェアユニットによって、画像を処理することをさらに含む。方法は、ディスプレイプロセッサによって、ディスプレイプロセッサの1つ以上のハードウェアユニットによる画像の処理の後のテストパターンに少なくとも部分的に基づいて、出力チェックサムを生成することをさらに含む。方法は、コンピューティングデバイスによって、入力チェックサムと出力チェックサムとの間の差分を決定することに少なくとも部分的に基づいて、ディスプレイプロセッサの1つ以上のハードウェアユニットにおける障害を検出することをさらに含む。
【0005】
[0005] 別の態様において、本開示は、装置を対象にしている。装置は、テストパターンを含む画像を記憶するように構成されるメモリを含み、ここにおいて、入力チェックサムは、画像と関連付けられる。装置は、ディスプレイプロセッサであって、テストパターンを含む画像を受け取ることと、画像を処理することと、ディスプレイプロセッサの1つ以上のハードウェアユニットによる画像の処理の後のテストパターンに少なくとも部分的に基づいて、出力チェックサムを生成することと、入力チェックサムと出力チェックサムとの間の差分を決定することに少なくとも部分的に基づいて、ディスプレイプロセッサにおける障害を検出することとを行うように構成されるディスプレイプロセッサをさらに含む。
【0006】
[0006] 別の態様において、本開示は、装置を対象にしている。装置は、テストパターンを含む画像を受け取るための手段を含み、ここにおいて、入力チェックサムは、テストパターンと関連付けられる。装置は、画像を処理するための手段をさらに含む。装置は、画像を処理するための手段による画像の処理の後のテストパターンに少なくとも部分的に基づいて、出力チェックサムを生成するための手段をさらに含む。装置は、入力チェックサムと出力チェックサムとの間の差分を決定することに少なくとも部分的に基づいて、画像を処理するための手段における障害を検出するための手段をさらに含む。
【0007】
[0007] 別の態様において、本開示は、少なくとも1つのプログラマブルプロセッサに、テストパターンを含む画像を受け取ることと、ここにおいて、入力チェックサムは、テストパターンと関連付けられる、画像を処理することと、画像の処理の後のテストパターンに少なくとも部分的に基づいて、出力チェックサムを生成することと、入力チェックサムと出力チェックサムとの間の差分を決定することに少なくとも部分的に基づいて、ディスプレイプロセッサの1つ以上のハードウェアユニットにおける障害を検出することと、を行わせるための命令を備える、非一時的なコンピュータ読み取り可能な記憶媒体を対象にしている。
【0008】
[0008] 本開示の1つ以上の態様の詳細は、添付の図面および以下の説明に記載されている。本開示の他の特徴、目的、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0009】
【
図1】[0009]
図1は、本開示の1つ以上の態様をインプリメントするように構成され得る例となるディスプレイシステムを例示するブロック図である。
【
図2】[0010]
図2は、さらに詳細に、
図1の、例となるディスプレイプロセッサを例示するブロック図である。
【
図3A】[0011]
図3Aは、さらに詳細に、例となる修正された画像を生成するために、例となる画像を修正するための、例となるプロセッサについての例となる技法を例示する概念図である。
【
図3B】[0011]
図3Bは、さらに詳細に、例となる修正された画像を生成するために、例となる画像を修正するための、例となるプロセッサについての例となる技法を例示する概念図である。
【
図3C】[0011]
図3Cは、さらに詳細に、例となる修正された画像を生成するために、例となる画像を修正するための、例となるプロセッサについての例となる技法を例示する概念図である。
【
図3D】[0011]
図3Dは、さらに詳細に、例となる修正された画像を生成するために、例となる画像を修正するための、例となるプロセッサについての例となる技法を例示する概念図である。
【
図3E】[0011]
図3Eは、さらに詳細に、例となる修正された画像を生成するために、例となる画像を修正するための、例となるプロセッサについての例となる技法を例示する概念図である。
【
図3F】[0011]
図3Fは、さらに詳細に、例となる修正された画像を生成するために、例となる画像を修正するための、例となるプロセッサについての例となる技法を例示する概念図である。
【
図4】[0012]
図4は、垂直帰線消去間隔(vertical blanking interval)の間、セルフテスティングを実行するように構成されるディスプレイプロセッサの別の例を例示するブロック図である。
【
図5A】[0013]
図5Aは、さらに詳細に、
図4のビルトインセルフテスト(built-in self-test)の例となるテスティング間隔を例示する概念図である。
【
図5B】[0013]
図5Bは、さらに詳細に、
図4のビルトインセルフテストの例となるテスティング間隔を例示する概念図である。
【
図6】[0014]
図6は、さらに詳細に、ADASの、例となるオペレーションを例示するフローチャートである。
【0010】
[0015] 一般的に、本開示の態様は、ディスプレイサブシステムの同時オンラインテスティングを対象にしている。
【0011】
[0016] ディスプレイサブシステムが障害なく正確に動作していることを確実にするために、ディスプレイサブシステムは、ディスプレイサブシステムがコンピューティングデバイスに動作可能に結合される、またはコンピューティングデバイスに含まれるディスプレイデバイスによる表示のために画像を処理する間に生じるオペレーション障害(operational fault)を検出するために、それ自身に同時およびオンラインテスティングを実行し得る。ディスプレイサブシステムの同時テスティングは、コンピューティングデバイスがパワーオンである(powered on)間の、ディスプレイサブシステムの連続したテスティングであり得る。ディスプレイサブシステムのオンラインテスティングは、コンピューティングデバイスおよびサブシステムがパワーオンであり、その通常の機能を実行している間の、ディスプレイサブシステムのテスティングを含み得る。言い換えれば、コンピューティングデバイスは、コンピューティングデバイスがパワーオンであり、専用のテストモード(dedicated test mode)に入ることなく、およびディスプレイデバイスをスイッチオフすることなく、ユーザによって使用されている間、ディスプレイサブシステムのテスティングを実行し得る。よって、コンピューティングデバイスが、ADASである場合、ADASのユーザは、例えば、ADASがディスプレイサブシステムの同時およびオンラインテスティングを実行する間、ビークルのリアビューカメラからストリーミングされたビデオを見るためにADASを使用し得る。
【0012】
[0017] ディスプレイサブシステムのそのような同時およびオンラインテスティングは、ブランクスクリーン、静止画(frozen frame)、またはデータの不正確な表示を含み得る、ディスプレイサブシステムのオペレーション障害を検出し得る。オペレーション障害は、永久障害(permanent fault)、間欠障害(intermittent fault)、および過渡障害(transient fault)を含み得る。永久障害は、補正動作(corrective action)が取られない場合、無期限に存在し続ける障害であり得る。そのような障害は、残差設計(residual design)または製造障害(manufacturing fault)であり得る。間欠障害は繰り返し、表れ、消え、および、再び現れ得る。そのような障害は、予測するのが難しい可能性があるが、それらの影響は、高度に相関性があり得る。そのような間欠障害が現れるとき、ディスプレイサブシステムは、大体の場合正確に稼働し得るが、変則的な環境コンディションの下、機能しなくなる(fail)可能性がある。過渡障害は迅速に、表れ、および消え得、またそのような障害は相関性がない可能性がある。そのような過渡障害は、ランダムな環境外乱(random environmental disturbance)によって導入されることが多い。
【0013】
[0018] 本開示の技法を実行するように構成されるディスプレイシステムは、システマチックテスティング方法体系(systematic testing methodology)を介して、ディスプレイサブシステムのオペレーショナル障害を検出するために、それ自身の同時およびオンラインテスティングを実行し得る。ディスプレイサブシステムは、ディスプレイサブシステムの通常オペレーション(normal operation)の間、ディスプレイサブシステムにおけるいくつかのハードウェアサブブロックについての、同時およびオンラインビルトインセルフテストを実行するためのメカニズムを含み得る。ディスプレイサブシステムは、ディスプレイサブシステムにおけるハードウェアサブブロックが、ディスプレイサブシステムがディスプレイデバイスによる表示のために処理する画像にあらゆるエラーを導入するかどうかを検出するために、そのようなビルトインセルフテストを実行し得る。ディスプレイサブシステムは、ADASおよび同様のもののような、コンピューティングデバイスの一部であり得る、または本開示全体にわたって説明されるビルトインセルフテストを実行し得るスタンドアロンモジュールであり得る。
【0014】
[0019]
図1は、本開示の1つ以上の態様をインプリメントするように構成され得る、例となるディスプレイシステムを例示するブロック図である。
図1の例において、ディスプレイシステム2は、プロセッサ3、メモリ6、センサ5、およびディスプレイプロセッサ10を含むシステムであり得る。ディスプレイシステム2はまた、1つ以上のビデオソース4およびディスプレイデバイス12に動作可能に結合され得る。ディスプレイプロセッサ10は、プロセッサ3と同じ集積回路(IC:integrated circuit)の一部であり得るか、プロセッサ3を含む1つのICまたは複数のICの外部にあり得るか、プロセッサ3を含むICの外部にあるICにおいて形成され得る。ディスプレイシステム2が
図1の例におけるもの以外のモジュールおよびユニットを含み得ること、ならびに、いくつかの例において、ディスプレイシステム2が
図1の例におけるモジュールおよびユニットのうちの1つ以上を含まない可能性もあることが、理解されるべきである。例えば、ディスプレイシステム2は必ずしも、1つ以上のビデオソース4に動作可能に結合される、またはそれらを含むというわけではない、可能性がある。
【0015】
[0020] ディスプレイシステム2は、ディスプレイシステム2に含まれる、または動作可能に結合されるディスプレイデバイス12によって表示される画像を処理するためのディスプレイサブシステムまたはプロセッサを含む、任意の適切なデバイスまたはシステムであり得る。ディスプレイシステム2の例は、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、スマートフォン、ADASのような専門コンピューティングデバイス(specialized computing device)、ヘッドマウントディスプレイ(head mounted display)のようなウェアラブルデバイス、および同様のもののような、コンピューティングデバイスを含み得る。
【0016】
[0021] 例えば、ディスプレイシステム2は、ビークルのオペレーションを支援するための、ビークル制御システムまたはビークル安全システムの一部であるディスプレイデバイス12によって表示される画像およびビデオを処理するためのハードウェアであり得る。ディスプレイシステム2はまた、ヘッドマウントディスプレイ、拡張現実ヘッドセット、および同様のものによって表示されるべきである、キャプチャされたビデオを処理するためのハードウェアであり得、ならびに、ヘッドマウントディスプレイであるディスプレイデバイス12によって表示される、カメラによってキャプチャされたビデオを処理し得る。別の例において、ディスプレイシステム2は、ディスプレイシステム2がドローンに結合されたカメラによってキャプチャされるビデオをワイヤレスに受信するコンピューティングシステムの一部であり得るように、ドローンによってキャプチャされたビデオを処理するためのハードウェアであり得る。ディスプレイシステム2はまた、航空機のコックピットにおけるディスプレイデバイス12による表示のために、高度計測定値(altimeter reading)、レーダー画像、および同様のもののような、航空機を操作するための臨界安全情報(critical safety information)を処理するフライト制御システムの一部であるハードウェアであり得る。他の例において、ディスプレイシステム2は、ディスプレイデバイス12のような、ディスプレイデバイスによって表示されるべきである画像を処理するための、任意の他の適切なハードウェアであり得る。
【0017】
[0022] ビデオソース4は、ビデオカメラ、グラフィックス処理ユニット、およびディスプレイプロセッサ10がディスプレイデバイス12における表示のために画像およびビデオを、そこから受け取り得る、他の適切なビデオソースを含み得る。ビデオソース4がADASの一部である、またはADASに結合される場合、ビデオソース4は、ADASを含むビークルの外囲(exterior surrounding)のビデオおよび/または画像をキャプチャする、リアビューカメラ、フロントビューカメラ、サイドビューカメラ、および同様のものを含み得る。ビデオソース4は、例えば、ディスプレイデバイス12によって表示される、ビークルのリア外囲のビデオをキャプチャすることによって、ビークルを後退させる際にビークルのドライバーを支援するリアビューカメラを含み得る。ビデオソース4はまた、ヘッドマウントディスプレイ、拡張現実ヘッドセット、および同様のものの一部であるディスプレイデバイス12によって表示されるビデオをキャプチャするカメラを含み得る、またはディスプレイデバイス12にワイヤレスにビデオを送信する、ドローン上にマウントされたカメラであり得る。
【0018】
[0023] ビデオソース4はまた、ビークルのドライバーが、衝突防止にドライバーを支援しなければならないかもしれない盲点の、ディスプレイデバイス12によって表示されるビデオをキャプチャする追加のカメラを含み得る。いくつかの例において、ディスプレイシステム2は、ビデオソース4を含まない、または動作可能に結合されない可能性があることは、理解されるべきである。
【0019】
[0024] ビデオソース4はまた、ヘッドマウントディスプレイ、拡張現実ヘッドセット、および同様のものの一部であるディスプレイデバイス12によって表示されるビデオをキャプチャするカメラを含み得る、または、ディスプレイデバイス12にワイヤレスにビデオを送信するドローン上にマウントされたカメラであり得る。他の例において、ビデオソース4は、ディスプレイデバイス12による表示のためにプロセッサ3によって生成された画像を含み得る。
【0020】
[0025] メモリ6は、ディスプレイデバイス12による出力のためにそのような画像を記憶する出力バッファを含み得る。例えば、メモリ6は、ビデオソース4から受け取られた画像またはビデオフレームを記憶し得る。ディスプレイプロセッサ10は、メモリ6に記憶された画像を取り出し、取り出された画像に対して1つ以上の画像処理オペレーション(image processing operation)を実行し、ディスプレイデバイス12による表示のためにディスプレイデバイス12に、処理された画像を出力する、1つ以上のハードウェアユニットを含み得る。言い換えれば、ディスプレイプロセッサ10は、メモリ6から画像を取り出し、ディスプレイデバイス12の画素に、画像を表示するために点灯させる値を出力し得る。いくつかの例において、ディスプレイプロセッサ10は、ディスプレイデバイス12によって表示されるべき、メモリ6から取り出された画像に対して画像処理オペレーションを実行するように構成され得る。そのような画像処理オペレーションは、フォーマット変換、スケーリング、回転、ブレンディング、および合成(compositing)、追加のグラフィックスを用いた画像のレイヤリング、および同様のものを含み得る。
【0021】
[0026] ディスプレイデバイス12は、ディスプレイプロセッサ10による処理の後、画像コンテンツを表示するためにディスプレイシステム2に含まれ得る、または動作可能に結合され得る。ディスプレイデバイス12は、液晶ディスプレイ(LCD:liquid crystal display)、有機発光ダイオードディスプレイ(OLED:organic light emitting diode display)、陰極線管(CRT:cathode ray tube)ディスプレイ、プラズマディスプレイ、または別の適切なタイプのディスプレイデバイスであり得る。
【0022】
[0027] プロセッサ3は、実行のためにコンピュータプログラムの命令を処理するように構成された中央処理ユニット(CPU:central processing unit)のような、マイクロプロセッサであり得る。プロセッサ3は、ディスプレイシステム2のオペレーションを制御する汎用または専用プロセッサを備え得る。いくつかの例において、プロセッサ3は、ディスプレイデバイス12による表示のために画像を生成する、または処理するデジタルシグナルプロセッサ(DSP:digital signal processor)またはグラフィックス処理ユニット(DSP)に結合される、またはそれを含み得る。ユーザは、プロセッサ3に、1つ以上のソフトウェアアプリケーションを実行させるために、ディスプレイシステム2に入力を提供し得る。プロセッサ3上で実行するソフトウェアアプリケーションは、例えば、ディスプレイシステム2のためのオペレーティングシステム(operating system)、グラフィカルユーザインタフェースアプリケーション(graphical user interface application)または別のプログラムを含み得る。
【0023】
[0028] メモリ6は、例えば、ランダムアクセスメモリ(RAM:random access memory)、静的RAM(SRAM:static RAM)、動的RAM(DRAM:dynamic RAM)、消去可能なプログラマブルROM(EPROM:erasable programmable ROM)、電気的消去可能なプログラマブルROM(EEPROM(登録商標):electrically erasable programmable ROM)、フラッシュメモリ、磁気データ媒体または光記憶媒体のような、1つ以上の揮発性または不揮発性メモリまたは記憶デバイスを含み得る。いくつかの例において、メモリ6は、ビデオソース4から受け取られた完全に形成された画像を記憶し得る。ディスプレイプロセッサ10は、メモリ6から画像を取り出し、ディスプレイデバイス12の画素に、画像を表示するために点灯させる値を出力し得る。いくつかの例において、ディスプレイプロセッサ10は、スケーリング、回転、ブレンディング、および合成を含む、表示されるべきデータに対する2Dオペレーションを実行するように構成され得る。ディスプレイデバイス12は、ディスプレイプロセッサ10によって処理された画像コンテンツを表示する、ディスプレイシステム2のディスプレイであり得る。ディスプレイデバイス12は、液晶ディスプレイ(LCD)、有機発光ダイオードディスプレイ(OLED)、陰極線管(CRT)ディスプレイ、プラズマディスプレイ、または別のタイプのディスプレイデバイスであり得る。
【0024】
[0029] ディスプレイシステム2は、明確さの目的で
図1に示されていない追加のモジュールまたはユニットを含み得る。いくつかの例において、ユーザは、キーボード、マウス、マイクロホン、タッチパッド、またはユーザインタフェースを介してディスプレイシステム2に結合される別の入力デバイスのような、1つ以上の入力デバイス(示されていない)を介してディスプレイシステム2に入力を提供し得る。さらに、ディスプレイシステム2において示されている様々なモジュールおよびユニットは、ディスプレイシステム2のすべての例において必ずしも必要であるというわけではない、可能性がある。例えば、ビデオソース4およびディスプレイデバイス12は、ディスプレイシステム2の外部にあり得る。
【0025】
[0030] 本開示の一態様にしたがって、ディスプレイプロセッサ10は、画像の関心領域におけるテストパターンを含む画像を受け取り得る。入力チェックサムは、テストパターンと関連付けられ得る。ディスプレイプロセッサ10の1つ以上のハードウェアユニットは、画像を処理し得る。ディスプレイシステム2は、ディスプレイプロセッサ10の1つ以上のハードウェアユニットによる画像の処理の後の画像の関心領域におけるテストパターンに少なくとも部分的に基づいて、出力チェックサムを生成し得る。ディスプレイシステム2は、入力チェックサムと出力チェックサムとの間の差分を決定することに少なくとも部分的に基づいて、ディスプレイプロセッサ10の1つ以上のハードウェアユニットにおける障害を検出し得る。
【0026】
[0031]
図2は、さらに詳細に、
図1の、例となるディスプレイプロセッサを例示するブロック図である。
図2に示されているように、ディスプレイプロセッサ10は、バッファ論理14、フェッチ論理16、ソースサーフェスプロセッサパイプ(source surface processor pipe)18、レイヤーミキサー20、行き先サーフェスプロセッサ(DSPP:destination surface processor)22、およびテスティングモジュール24を含み得る。ディスプレイプロセッサ10は、明確さの目的で
図2に示されていない追加のモジュールまたはユニットを含み得る。例えば、ディスプレイシステム2は、ハードウェア加速画像処理(hardware-accelerated image processing)を実行するための追加のモジュールおよびユニットを含み得る。さらに、ディスプレイプロセッサ10において示されている様々なモジュールおよびユニットは、ディスプレイプロセッサ10のすべての例において必ずしも必要というわけではない、可能性がある。
【0027】
[0032] フェッチ論理16およびバッファ論理14はそれぞれ、ディスプレイデバイス12による表示のためにメモリ6の出力バッファ8から画像を取り出し、ディスプレイプロセッサ10の他のハードウェアユニットによるさらなる処理のためにメモリ6からディスプレイプロセッサ10によって取り出された画像を記憶し得る。ソースサーフェスプロセッサパイプ18は、バッファ論理14およびフェッチ論理16から画像を受け取り得、ビデオおよび画像のソースサーフェスについてフォーマット変換および品質改善を実行し得る。例えば、ソースサーフェスプロセッサパイプ18は、受け取られた画像に対して、色空間変換(color space conversion)、コンテント適応コントラスト促進(content adaptive contrast enhancement)、フリップオペレーション(flip operation)、および同様のものを実行することによって、受け取られた画像を処理し得、レイヤーミキサー20に、処理された画像を出力し得る。
【0028】
[0033] レイヤーミキサー20は、ソースサーフェスプロセッサパイプ18から画像を受け取り得、1つ以上の他のサーフェスと画像のブレンディングおよびミキシングを実行し得る。例えば、レイヤーミキサー20は、アルファブレンディング、色生成(color generation)、透明色キー(transparency color key)の設定、順序不同でのサーフェスのブレンディング、および線形空間でのブレンディングを実行し得る。例えば、ディスプレイプロセッサ10は、処理のためにビデオソース4によってキャプチャされたビデオの1つのフレームである、メモリ6からの画像を取り出す。レイヤーミキサー20は、画像を受け取り、画像を1つ以上の追加のグラフィカルサーフェスまたは画像とミックスし、ミックスされた画像を出力し得る。例えば、レイヤーミキサー20は、ビークルの現在のステアリング角に従って、それが後退するとき、ビークルの軌道を示すグラフィカル軌道線、GUIメニューオプション、および同様のものを含む1つ以上のサーフェスと、ビデオソース4によってキャプチャされたビデオのフレームを層状に積み重ね(layer)得る。レイヤーミキサー20は、DSPP22に、ブレンドされた/ミックスされた画像を出力し得る。
【0029】
[0034] DSPP22は、ディスプレイデバイス12の特定の特性に基づいて、レイヤーミキサー20から受け取った画像に対して変換、補正、および調整を実行し得る。例えば、DSPP22は、太陽光視認性改善(sunlight visibility improvement)、コンテント適応バックライトスケーリング(content adaptive backlight scaling)、パネル色補正、ガンマ補正、ディザリング(dithering)、ピクチャ調整、および同様のもののためのオペレーションを実行し得る。一旦、DSPP22が画像に対してその画像オペレーションを完了すると、ディスプレイプロセッサ10は、例えば、ディスプレイデバイス12による表示のためにディスプレイインタフェースコントローラ(示されていない)を介して、ディスプレイデバイス12に、処理された画像を出力し得る。
【0030】
[0035] バッファ論理14、フェッチ論理16、ソースサーフェスプロセッサパイプ18、レイヤーミキサー20、およびDSPP22は、ディスプレイデバイス12における表示のためにディスプレイプロセッサ10によって受け取られた画像が、それを通して処理される、ディスプレイサブシステムパイプライン11を形成し得る。例えば、ディスプレイプロセッサ10によってメモリ6から取り出された各画像について、画像は、それぞれバッファ論理14、フェッチ論理16、ソースサーフェスプロセッサパイプ18、レイヤーミキサー20、およびDSPP22の各々によって順番に処理され得る。ディスプレイサブシステムパイプライン11は、ディスプレイプロセッサ10によって受け取られた画像に対して画像処理オペレーションを実行するように構成される、
図2に描写されていない追加のハードウェアユニットを含み得る。ディスプレイサブシステムパイプライン11はまた、
図2の例において描写されているものより少ないハードウェアユニットを含み得る。
【0031】
[0036] このようにして、ディスプレイサブシステムパイプラインのインテグリティを確実にするために、ディスプレイプロセッサ10は、ディスプレイサブシステムパイプライン11が、画像がバッファ論理14、フェッチ論理16、ソースサーフェスプロセッサパイプ18、レイヤーミキサー20、およびDSPP22のディスプレイサブシステムパイプライン11を通して処理されるときに任意のエラーを導入するかどうかを決定するために、テスティングモジュール24を使用し得る。ディスプレイプロセッサ10が、ディスプレイサブシステムパイプライン11が、処理された画像にエラーを導入することを決定する場合、ディスプレイシステム2のユーザは、例えば、ビデオソース4によってキャプチャされたビデオフレームの正確な表現として、ディスプレイデバイス12によって表示されるものに安全に依存することができない可能性がある。
【0032】
[0037] テスティングモジュール24は、ディスプレイサブシステムパイプライン11のインテグリティをテストするために、ディスプレイサブシステムパイプライン11のビルトインセルフテストを実行し得る。一般的に、ビルトインセルフテストは、ハードウェア論理ブロックのセットをテストするための構造化された技法(structured technique)のセットであり得る。
図2の例において、テスティングモジュール24は、バッファ論理14、フェッチ論理16、ソースサーフェスプロセッサパイプ18、レイヤーミキサー20、およびDSPP22が、画像を処理する間、画像にエラーを導入するかどうかを決定することによって、ディスプレイサブシステムパイプライン11における障害を検出するために、ディスプレイサブシステムパイプライン11を構成するバッファ論理14、フェッチ論理16、ソースサーフェスプロセッサパイプ18、レイヤーミキサー20、およびDSPP22のような、ディスプレイサブシステムパイプライン11の論理ブロックのビルトインセルフテストを実行し得る。テスティングモジュール24が、ディスプレイサブシステムパイプライン11が画像にエラーを導入することを決定する場合、テスティングモジュール24は、ディスプレイサブシステムパイプライン11のハードウェア論理ブロックのうちの1つ内で障害を検出し得る。
【0033】
[0038] テスティングモジュール24の例は、多入力シグネチャレジスタ(MISR:multiple input signature register)、線形フィードバックシフトレジスタ(LFSR:linear feedback shift register)、および同様のものを含み得る。具体的には、テスティングモジュール24は、入力を受け取り得、受け取られた入力に基づくチェックサムを出力し得る。そのようなチェックサムは、受け取られた入力と、関係づけられた出力との間に1対1の関係があるように、テスティングモジュール24によって受け取られた入力に対して一意であり得る。このようにして、テスティングモジュール24は、入力と、その対応する出力との間で1対1のハッシュ関数または別の適切な関数を実行するハードウェアであり得る。
【0034】
[0039] ディスプレイシステム2は、テスティングモジュール24を使用してディスプレイプロセッサ10の同時オンラインテスティングを実行し得る。言い換えれば、ディスプレイシステム2は、ディスプレイシステム2がパワーオンであり、ディスプレイシステム2の機能を実行している間、ディスプレイプロセッサ10のビルトインセルフテストを実行し得る。例えば、ディスプレイシステム2は、ビデオソース4がリアルタイムビデオをキャプチャする間、およびディスプレイシステム2が、ディスプレイデバイス12を介して、ビデオソース4によってキャプチャされたリアルタイムビデオを出力するときに、ディスプレイプロセッサ10の同時オンラインテスティングを実行し得る。
【0035】
[0040] 上記に説明されたように、ディスプレイシステム2は、それがディスプレイプロセッサ10の1つ以上のハードウェアユニットによって処理される間、エラーが画像に導入されたかどうかを決定することによって、ディスプレイプロセッサ10のビルトインセルフテストを実行するためにテスティングモジュール24を利用し得る。具体的には、テスティングモジュール24は、ディスプレイサブシステムパイプラインがパイプラインを通して画像を処理する間、エラーを導入するかどうかを決定し得る。ディスプレイプロセッサ10のビルトインセルフテストの間に、ディスプレイシステム2は、テストパターンを生成し得、テストパターンとチェックサムを関連付け得る。ディスプレイシステム2は、画像の一部に、生成されたテストパターンを挿入することによって、画像を修正し得、処理のためにディスプレイプロセッサ10に、修正された画像を送り得る。ディスプレイプロセッサ10は、バッファ論理14、フェッチ論理16、ソースサーフェスプロセッサパイプ18、レイヤーミキサー20、およびDSPP22を通して、修正された画像を処理し得る。テスティングモジュール24は、画像がバッファ論理14、フェッチ論理16、ソースサーフェスプロセッサパイプ18、レイヤーミキサー20、およびDSPP22を通して処理された後の画像のテストパターンからチェックサムを生成し得、バッファ論理14、フェッチ論理16、ソースサーフェスプロセッサパイプ18、レイヤーミキサー20、またはDSPP22が、画像の処理の間、障害を導入するかどうかを決定するために、テストパターンと関連付けられた特定のチェックサムと、生成されたチェックサムを比較し得る。
【0036】
[0041] 修正された画像とともに、ディスプレイシステム2は、画像のどの部分がテストパターンの包含によって修正されたかのインジケーションをディスプレイプロセッサ10に送り得る。ディスプレイシステム2は、インジケーションに基づいて、テストパターンが含まれる修正された画像の一部に対してあらゆる画像処理オペレーションを実行しないように、バッファ論理14、フェッチ論理16、ソースサーフェスプロセッサパイプ18、レイヤーミキサー20、およびDSPP22の各々を構成し得る。よって、テストパターンを含む画像の一部がバッファ論理14、フェッチ論理16、ソースサーフェスプロセッサパイプ18、レイヤーミキサー20、およびDSPP22による画像の処理の間に修正される場合、ディスプレイシステム2は、障害がバッファ論理14、フェッチ論理16、ソースサーフェスプロセッサパイプ18、レイヤーミキサー20、およびDSPP22のうちの1つにおいて生じていることを決定し得る。
【0037】
[0042] テスティングモジュール24は、バッファ論理14、フェッチ論理16、ソースサーフェスプロセッサパイプ18、レイヤーミキサー20、およびDSPP22による処理の後の画像のテストパターンからチェックサムを生成し得、画像に挿入されたテストパターンと関連付けられる特定のチェックサムと、生成されたチェックサムを比較し得る。テストパターンを含む画像の一部が、処理の間に修正される場合、テスティングモジュール24は、テストパターンと関連付けられる特定のチェックサムとは異なるチェックサムを生成し得る。よって、2つのチェックサムが異なる場合、テスティングモジュール24は、障害が画像の処理の間にバッファ論理14、フェッチ論理16、ソースサーフェスプロセッサパイプ18、レイヤーミキサー20、およびDSPP22のうちの1つにおいて生じていることを決定し得る。
【0038】
[0043] ディスプレイシステム2が、同時におよびオンラインでビルトインセルフテストを実行するため、ディスプレイシステム2は、専用のテストモードに入ることによって、ビルトインセルフテストを実行しない。代わりに、ディスプレイシステム2が、パワーオンであり、ビデオソース4によってキャプチャされるライブビデオをディスプレイデバイス12上で表示することのような、それの通常の機能を実行するために動作している間、そのようなテストが実行される。テスティングモジュール24が、ビルトインセルフテストの間に、ディスプレイサブシステムパイプラインの各ユニットが処理の間にテストパターンを修正しないように構成されたのにも関わらず、それがディスプレイサブシステムパイプラインを通して画像を処理する間に、ディスプレイサブシステムパイプライン11が、画像のテストパターンを修正したことを決定する場合、テスティングモジュール24は、ディスプレイサブシステムパイプラインの1つ以上のハードウェアユニットが適切に動作していないことを決定し得、それによってディスプレイプロセッサ10における障害を検出し得る。テスティングモジュール24は、画像がディスプレイサブシステムパイプライン11によって処理された後の、テストパターンが存在する画像の領域からテスティングモジュール24によって生成されるチェックサムと、テストパターンと関連付けられるチェックサムを比較することによって、画像のテストパターンが修正されたかどうかを決定し得る。
【0039】
[0044]
図2の例において、画像32Aは、ビデオソース4からのビデオのフレーム、またはディスプレイデバイス12による表示のためにディスプレイプロセッサ10によって処理されるべきである任意の他の画像であり得る。ディスプレイシステム2は、メモリ6に、例えば、出力バッファ8等に、画像32Aを記憶し得る。ディスプレイシステム2は、ディスプレイシステム2がパワーオンであり、専用のテストモードに入ることなく正常に動作している間、オペレーションの通常のコースの間に、画像32Aをキャプチャまたは生成し得る。例えば、ディスプレイシステム2がディスプレイデバイス12による表示のためにビデオソース4のうちの1つによってキャプチャされたライブビデオを出力するように動作している間、ディスプレイシステム2は、ビデオソース4のうちの1つによってキャプチャされたビデオの30番目のフレーム(30
th frame)ごとに修正すること、ディスプレイシステム2がパワーオンである10秒ごとにフレームを修正すること等によって、ビルトインセルフテストを実行するように、周期的にビルトインセルフテストを実行し得る。
【0040】
[0045] ディスプレイプロセッサ10のビルトインセルフテストの一部として、プロセッサ3上で作動しているソフトウェアアプリケーションは、画像32Aの関心領域にテストパターンを含めるように画像32Aを変更し得る。画像32Aの関心領域は、画像32Aの画素の任意の適切なサブ部分(sub-portion)(すなわち、画素の全てより少ない)であり得る。いくつかの例において、ソフトウェアアプリケーションは、引き伸ばされた画像32Aが、それが引き伸ばされる前よりも追加の画素を含むように、テストパターンを含むように画像32Aを引き伸ばし得る。プロセッサ3上のソフトウェアアプリケーションは、修正された画像32Bが関心領域にテストパターンを含むように、メモリ6に記憶された、修正された画像32Bを生じさせるために、画像32Aの関心領域にテストパターンを挿入することによって、画像32Aを変え得る。例えば、画像32Aが640×480の解像度を有する場合、関心領域は、座標(0、0)で始まり座標(639、31)までの画像32Aの32×32部分であり得、修正された画像32Bは従って、座標(0、0)で始まり座標(639、31)までの関心領域にテストパターンを含み得る。プロセッサ3が、修正された画像32Bを生じさせるために画像32Aに挿入し得るテストパターンは、プロセッサ3がチェックサムを、それのために計算し得る任意の適切な画像またはパターンであり得、それは、ハッシュ関数のような、任意の適切なアルゴリズムに従って全関心領域にわたってテストパターンを構成する画素のセットについての、一連の文字および数のような、小さいサイズのデータであり得る。例えば、テストパターンは、任意の色、サイズ、パターン、および同様のものであり得る。
【0041】
[0046] プロセッサ3は、画像32Aの関心領域に挿入されたテストパターンとチェックサムを関連付け得る。そのようなチェックサムは、入力チェックサムと称され得る。チェックサムは、ディスプレイプロセッサ10を構成するハードウェアユニットにおいて可能性のある障害を検出するために、ディスプレイプロセッサ10のビルトインセルフテストの一部として使用され得る。一例において、プロセッサ3は、ハッシュ関数または任意の他の適切な関数を介した特定するチェックサムに基づいて、画像32Aの関心領域に挿入されるテストパターンを生成し得る。プロセッサ3は、特定されたチェックサムに基づいて、画像32Aの関心領域にテストパターンとして挿入される画素のセットを生成し得る。別の例において、プロセッサ3は、ハッシュ関数または別の適切な関数に基づいて関心領域におけるテストパターンからチェックサムを導き得る。プロセッサ3は、チェックサムを生成するためのチェックサム生成関数への入力として、関心領域におけるテストパターンを構成する画素のブロックを取り得る。
【0042】
[0047] 別の例において、入力チェックサムは、ユーザによって特定され得る、または別の方法で特定され得る。例えば、入力チェックサムは、ディスプレイシステム2の販売より前に工場で設定され得る。ディスプレイシステム2は、多入力シフトレジスタ(MISR)が入力チェックサムである出力を生じさせるために入力としてテストパターンを取り得るように、入力チェックサムに基づいて、特定の値にMISRを設定し得る。すなわち、ディスプレイシステム2は、MISRへテストパターンを入力することが、特定された入力チェックサムと同じチェックサムを生成するような特定の方法でMISRを構成し得る。
【0043】
[0048] ディスプレイシステム2は、ディスプレイサブシステムパイプラインを通して、修正された画像32Bを処理し得、ディスプレイサブシステムパイプライン11による処理の前のテストパターンを含む修正された画像32Bの関心領域と、ディスプレイサブシステムパイプライン11による処理の後のテストパターンを含む修正された画像32Bの関心領域を比較することに少なくとも部分的に基づいて、ディスプレイプロセッサ10の1つ以上のハードウェアユニットにおける障害を検出し得る。ディスプレイプロセッサ10は、出力バッファ8から、修正された画像32Bを取り出し得、バッファ論理14、フェッチ論理16、ソースサーフェスプロセッサパイプ18、レイヤーミキサー20、およびDSPP22のディスプレイサブシステムパイプライン11を通して、修正された画像32Bを処理し得る。テスティングモジュール24は、DSPP22が修正された画像32Bを処理した後、DSPP22から、修正された画像32Bを受け取り、修正された画像32Bの関心領域のチェックサムを算出し得る。テスティングモジュール24によって算出されたチェックサムは、出力チェックサムと称され得る。
【0044】
[0049] 一例において、ディスプレイサブシステムパイプライン11による処理の後のテストパターンを含む、修正された画像32Bの関心領域が、ディスプレイサブシステムパイプライン11による処理の前のテストパターンを含む、修正された画像32Bの関心領域と同じである場合、テスティングモジュール24は、MISRが、テストパターンと関連付けられる入力チェックサムと同じ出力チェックサムを生成するように構成されるMISRを使用して、出力チェックサムを算出し得る。他の例において、テスティングモジュール24は、ディスプレイサブシステムパイプライン11による処理の後のテストパターンを含む、修正された画像32Bの関心領域が、ディスプレイサブシステムパイプライン11による処理の前のテストパターンを含む、修正された画像32Bの関心領域と同じであるかどうかを決定するための任意の他の適切な技法を実行し得る。
【0045】
[0050] テスティングモジュール24は、画像32Aの関心領域に挿入されたテストパターンと関連付けられるチェックサム(すなわち、入力チェックサム)と、テスティングモジュール24によって算出されたチェックサム(すなわち、出力チェックサム)を比較し得る。算出されたチェックサムが画像32Aの関心領域に挿入されたテストパターンと関連付けられるチェックサムにマッチする場合、算出されたチェックサムが、画像32Aの関心領域に挿入されたテストパターンと関連付けられるチェックサムに等しいことを意味し、プロセッサ3は、ディスプレイサブシステムパイプライン11が、修正された画像32Bを処理する間、障害が生じていないことを決定し得る。
【0046】
[0051] 他方では、算出されたチェックサムが、画像32Aの関心領域に挿入されたテストパターンと関連付けられるチェックサムにマッチしない場合、算出されたチェックサムが画像32Aの関心領域に挿入されたテストパターンと関連付けられるチェックサムに等しくないことを意味し、プロセッサ3は、それに応答して、ディスプレイサブシステムパイプライン11が修正された画像32Bを処理する間、障害が生じたことを決定し得る。具体的には、プロセッサ3は、算出されたチェックサムが画像32Aの関心領域に挿入されたテストパターンと関連付けられるチェックサムに等しくない場合、修正された画像32Bの修正された部分が、修正された画像32Bを生じさせるために画像32Aの関心領域にプロセッサ3によって挿入されたテストパターンとは異なることを決定し得、それゆえにバッファ論理14、フェッチ論理16、ソースサーフェスプロセッサパイプ18、レイヤーミキサー20、およびDSPP22のディスプレイサブシステムパイプライン11が、修正された画像32Bを処理するとき、修正された画像32Bにエラーを導入したことを決定し得る。
【0047】
[0052] プロセッサ3が、ディスプレイプロセッサ10のディスプレイサブシステムパイプライン11が、修正された画像32Bを処理するとき、修正された画像32Bにエラーを導入したことを決定する場合、プロセッサ3は、ディスプレイプロセッサ10が正常に機能していないことを決定し得、ディスプレイシステム2の安全プロセッサ(示されていない)にエラーおよび/または機能不良(malfunction)を報告し得る。ディスプレイシステム2は、ディスプレイプロセッサ10のエラーおよび/または機能不良を検出するプロセッサ3に応答して、ディスプレイシステム2が適切に稼働していないことを示す警告を出力し得る。例えば、ディスプレイシステム2は、ディスプレイデバイス12による表示についてのエラーおよび/または機能不良を示すエラーメッセージを出力し得る。別の例において、ディスプレイシステム2は、スピーカデバイスを介して警報(audible alert)を出力し得る。代替として、ディスプレイシステム2は、それ自身をパワーダウンし(power itself down)得、またはそれ自身をパワーサイクルし(power cycle itself)得る。
【0048】
[0053] 別の例において、テスティングモジュール24は、出力チェックサムを算出し、画像32Aの関心領域に挿入されたテストパターンと関連付けられるチェックサムと、算出されたチェックサムの比較を実行し得る。この例において、ディスプレイプロセッサ10は、例えばレジスタ等に、画像32Aの関心領域に挿入されたテストパターンと関連付けられるチェックサムを記憶し得、テスティングモジュール24は、算出されたチェックサムがディスプレイプロセッサ10によって記憶された、画像32Aの関心領域に挿入されたテストパターンと関連付けられるチェックサムに等しいかどうかを決定し得る。
【0049】
[0054] 修正された画像32Bの処理の間に生じる障害のソースをさらに絞り込むために、テスティングモジュール24は、ディスプレイサブシステムパイプライン11における、修正された画像32Bの処理の各段階の後、修正された画像32Bの関心領域のチェックサムを算出し得る。例えば、ソースサーフェスプロセッサパイプ18が、修正された画像32Bを処理した後、テスティングモジュール24は、ソースサーフェスプロセッサパイプ18から、処理された修正された画像32Bを受け取り、ソースサーフェスプロセッサパイプ18から受け取られた、修正された画像32Bの関心領域についてのチェックサムを算出し、ディスプレイプロセッサ10によって記憶された、画像32Aの関心領域に挿入されたテストパターンと関連付けられるチェックサムと、算出されたチェックサムを比較し得る。算出されたチェックサムが、ディスプレイプロセッサ10によって記憶された、画像32Aの関心領域に挿入されたテストパターンと関連付けられるチェックサムとは異なる場合、テスティングモジュール24は、ソースサーフェスプロセッサパイプ18が、修正された画像32Bの関心領域にエラーを導入したため、ソースサーフェスプロセッサパイプ18において障害が存在することを決定し得る。
【0050】
[0055] 同様に、レイヤーミキサー20が、修正された画像32Bを処理した後、テスティングモジュール24は、レイヤーミキサー20から、処理された修正された画像32Bを受け取り、レイヤーミキサー20から受け取られた、修正された画像32Bの関心領域についてのチェックサムを算出し、ディスプレイプロセッサ10によって記憶された、画像32Aの関心領域に挿入されたテストパターンと関連付けられるチェックサムと、算出されたチェックサムを比較し得る。算出されたチェックサムがディスプレイプロセッサ10によって記憶された、画像32Aの関心領域に挿入されたテストパターンと関連付けられるチェックサムとは異なる場合、テスティングモジュール24は、レイヤーミキサー20が修正された画像32Bの関心領域においてエラーを導入したため、レイヤーミキサー20において障害が存在することを決定し得る。
【0051】
[0056] さらに、DSPP22が、修正された画像32Bを処理した後、テスティングモジュール24は、DSPP22から、処理された修正された画像32Bを受け取り、DSPP22から受け取られた、修正された画像32Bの関心領域についてのチェックサムを算出し、ディスプレイプロセッサ10によって記憶された画像32Aの関心領域に挿入されたテストパターンと関連付けられるチェックサムと、算出されたチェックサムを比較し得る。算出されたチェックサムが、ディスプレイプロセッサ10によって記憶された画像32Aの関心領域に挿入されたテストパターンと関連付けられるチェックサムとは異なる場合、テスティングモジュール24は、DSPP22が、修正された画像32Bの関心領域にエラーを導入したため、DSPP22において障害が存在することを決定し得る。このようにして、テスティングモジュール24は、障害がある、ディスプレイサブシステムパイプライン11の特定のハードウェアユニットを決定し得る。
【0052】
[0057] ディスプレイプロセッサ10は、ディスプレイデバイス12が修正された画像32Bを表示しないように、ディスプレイデバイス12に、テストパターンを含む修正された画像32Bを出力しない。このようにして、テストパターンを含む修正された画像32Bは、ディスプレイデバイス12を見る、ディスプレイシステム2のユーザに可視でない。画像32Aが640×480の解像度を有し、関心領域が、座標(0、0)において始まり座標(639、31)までの画像32Aの32×32部分であり得、修正された画像32Bが従って、座標(0、0)において始まり座標(639、31)までの関心領域にテストパターンを含み得るような例において、修正された画像32Bはそれにもかかわらず、修正された画像32Bを生成するためのそれの修正の前の、画像32Aの座標(0、0)から座標(639、31)の一部のデータの追加の32×32画素を搬送し得る。ディスプレイシステム2は、修正された画像32Bの座標(0、0)から座標(639、31)がテストパターンを含む、修正された画像32Bの関心領域であるというディスプレイプロセッサ10へのインジケーション、ならびに修正された画像32Bが、修正された画像32Bを生成するためのそれの修正の前の、画像32Aの座標(0、0)から座標(639、31)の一部のデータの追加の32×32画素を搬送するというインジケーションを送り得る。
【0053】
[0058] ディスプレイサブシステムパイプライン11のユニットが、修正された画像32B上で動作するとき、ディスプレイサブシステムパイプライン11は、関心領域である、座標(0、0)から座標(639、31)の外側の修正された画像32Bの一部を修正するために画像処理オペレーションを実行し得る。ディスプレイサブシステムパイプライン11はまた、ディスプレイサブシステムパイプライン11が、まるでそれが、修正された画像32Bの座標(0、0)から座標(639、31)において存在していたかのように、データのその32×32画素を修正するために画像処理オペレーションを実行し得る画素ブロックとして、データの追加の32×32画素を扱い得る。言い換えれば、ディスプレイサブシステムパイプライン11は、画像32Bの座標(0、0)から座標(639、31)を修正しない可能性があるが、まるでそれが画像32Bの実際の座標(0、0)から座標(639、31)であったかのように、データの追加の32×32画素を修正し得る。
【0054】
[0059] ディスプレイサブシステムパイプライン11による処理の後、ディスプレイプロセッサ10は、修正された画像32Bによって搬送される追加の画素ブロックと関心領域を置き換えることによって、修正された画像32Bをさらに修正し得る。よって、ディスプレイプロセッサ10は、修正された画像32Bによって搬送されたデータの追加の32×32画素と画像32Bの座標(0、0)から座標(639、31)を置き換え得る。ディスプレイプロセッサ10は次に、ディスプレイデバイス12にこの画像を出力し得る。このようにして、ディスプレイデバイス12は、修正された画像32Bの関心領域においてテストパターンを表示しないが、ディスプレイサブシステムパイプライン11による処理の後、元の画像32Aを代わりに表示する。
【0055】
[0060] それゆえに、ディスプレイシステム2が、ディスプレイサブシステムパイプライン11を通して処理される、修正された画像32Bをもたらすために、画像32Aの関心領域にテストパターンを挿入することによって、画像32Aを修正する一方、ディスプレイプロセッサ10は、ディスプレイプロセッサ10がディスプレイデバイス12に画像を送る前に、ディスプレイサブシステムパイプライン11を通した処理の後、修正された画像32Bからテストパターンを除去し得る。このようにして、ディスプレイデバイス12は、画像32Aに挿入されるテストパターンを表示しない。
【0056】
[0061]
図3A−3Fは、さらに詳細に、修正された画像32Bを生成するために、画像32Aを修正するための、プロセッサ3についての、例となる技法を例示する概念図である。
図3Aに示されているように、修正されていない画像32Aは、視覚領域36および非視覚領域34を含み得る。画像32Aの視覚領域36は、画像32Aがディスプレイデバイス12によって表示されるとき、ディスプレイデバイス12によって目に見えるように出力される、画像32Aの一部であり得る。反対に、画像32Aの非視覚領域34は、画像32Aがディスプレイデバイス12によって表示されるとき、ディスプレイデバイス12によって目に見えるように出力されない、画像32Aの一部であり得る。よって、ディスプレイデバイス12が画像32Aを出力するとき、ディスプレイデバイス12は、画像32Aの視覚領域36のみを出力し得る。例えば、画像32Aは、視覚領域36が616×456の画像であり得、非視覚領域34が視覚領域36の周りに12画素ボーダー(pixel border)を備え得る、640×480の画像であり得る。この例において、ディスプレイデバイス12は、非視覚領域34を表示することなく、616×456の視覚領域36を表示するのみであり得る。いくつかの他の例において、画像32Aは、視覚領域36のみを含み得、非視覚領域34を含まない。
【0057】
[0062] 上記に説明されたように、プロセッサ3は、修正された画像32Bをもたらすために、画像32A内の関心領域に、特定のグラフィカルパターン(例えば、テストパターン)を挿入することによって、画像32A内の関心領域を修正し得る。グラフィカルパターンは、1つ以上の適切な色、画素のパターン、および同様のもので構成される画素の任意の画像および/またはブロックであり得る。
図3Bに示されているように、プロセッサ3は、視覚領域36のフレームの始まりを引き伸ばす(extends the start)関心領域38を、同じ関心領域38においてテストパターンを有する修正された画像32Bを生成するために修正するために、選択し得る。
図3Bの例において、関心領域38は、視覚領域36を引き伸ばし得、視覚領域36の最初の線の真上に始まり得、視覚領域36の最初の線から視覚領域36の1つ以上の線の上方に垂直に伸びる。
【0058】
[0063]
図3Cに示されているように、プロセッサ3は、修正された画像32Bを生成するために修正するために、視覚領域36のフレームの終わりを引き伸ばす関心領域38を選択し得る。
図3Bの例において、関心領域38は、視覚領域36を引き伸ばし得、視覚領域36の最後の線の真下に始まり得、視覚領域36の最後の線から視覚領域36の1つ以上の線の下方に垂直に伸びる。
【0059】
[0064]
図3Dに示されているように、プロセッサ3は、修正された画像32Bを生成するために修正するために、視覚領域36内のどこかに存在する関心領域38を選択し得る。
図3Dの例において、関心領域38は、視覚領域36内の画素の任意の正方形の、長方形の、円の、三角形のブロックのような、視覚領域36の任意のサブ部分を占有し得る。
【0060】
[0065]
図3Eに示されているように、プロセッサ3は、修正された画像32Bの非視覚領域34内の関心領域38を有する修正された画像32Bを生成するために修正するために、非視覚領域34内にある関心領域38を選択し得る。
図3Eの例において、関心領域38は、非視覚領域34内の画素の任意の正方形の、長方形の、円の、三角形のブロックのような、非視覚領域34の任意のサブ部分を占有し得る。
【0061】
[0066]
図3Fに示されているように、プロセッサ3は、修正された画像32Bを生成するために修正するために、視覚領域36の全体にある関心領域38を選択し得る。全視覚領域36のそのような修正は、ディスプレイデバイス12がビデオソース4によってキャプチャされるビデオのような、重要なデータ(critical data)をまだ表示していない、またはもはや重要なデータを表示しないとき、ディスプレイシステム2のパワーアップ段階および/またはパワーダウン段階の間に適し得る。
【0062】
[0067] いくつかの例において、画像32Aおよび修正された画像32Bは、非視覚領域34を含まない可能性がある。これらの例において、画像32Aおよび修正された画像32Bは、完全に視覚領域36であり得る。
【0063】
[0068] 入ってくるディスプレイフレームデータを使用してディスプレイプロセッサ10をテストすることに加えて、ディスプレイシステム2は、ディスプレイシステム2がオンラインであり、それの通常の機能を実行するために動作している間の、ディスプレイプロセッサ10の垂直帰線消去間隔の間、テストパターンを生成することによって、ディスプレイプロセッサ10のビルトインセルフテストをさらに実行し得る。垂直帰線消去間隔は、フレームまたはフィールドの最後の線の終わりと、次のフレームの最初の線の始まりとの間の時間であり得る。プロセッサ10のそのようなテスティングは、ディスプレイプロセッサ10のためのハードウェアベースの非破壊セルフテスト(hardware-based non-destructive self-test)であり得、プロセッサ3によって実行される任意のソフトウェアアプリケーションのユーザ修正を要求しない可能性がある。
【0064】
[0069]
図4は、垂直帰線消去間隔の間、セルフテスティングを実行するように構成されるディスプレイプロセッサ10の別の例を例示するブロック図である。
図4に示されているように、バッファ論理14、フェッチ論理16、ソースサーフェスプロセッサパイプ18、ミキサー20、およびDSPP22に加えて、ディスプレイプロセッサ10は、テストパターン生成器40、セルフテスト構成器42、同期カウントユニット(sync count unit)44、および比較器46も含み得、それらは、ディスプレイプロセッサ10の非破壊セルフテスティングを実行するためのハードウェアである。
【0065】
[0070] テストパターン生成器40は、ディスプレイプロセッサ10をテストするために使用されるテストパターンを含む画像を生成し得る。テストパターンは、任意の適切なパターン、色、等の画素の任意の適切なブロックであり得る。セルフテスト構成器42は、テストパターン生成器40によって生成されたテストパターンを使用してディスプレイプロセッサ10のセルフテスティングを構成するために使用可能であり得る。セルフテスト構成器42は、テストパターン生成器40によって生成されたテストパターン画像を使用してディスプレイプロセッサ10をテストするためのテスティング間隔を構成し得る。例えば、セルフテスト構成器42は、垂直帰線消去間隔のセット内で、垂直帰線消去間隔ごとにテストされるようにディスプレイプロセッサ10を構成し得る。
【0066】
[0071] セルフテスト構成器42はまた、等、n番目(n-th)の垂直帰線消去間隔ごとにテストされるようにディスプレイプロセッサ10を構成し得、ここで、nは、5番目の垂直帰線消去間隔ごとのような、1より大きい正の整数である。この例において、あらゆる4つの連続する垂直帰線消去間隔の後に、ディスプレイプロセッサ10は、以下に説明されるように、そのハードウェアブロックを通して5番目の垂直帰線消去間隔において、テストパターン生成器40によって生成されるテストパターン画像を処理することによってテストされ得る。
【0067】
[0072] 同期カウントユニット44は、ディスプレイプロセッサ10から垂直帰線消去間隔のインジケーションを受け取り得、セルフテスト構成器42によって構成されたテスティング間隔に基づいて、テストパターン生成器40からのテストパターンを要求するために、ソースサーフェスプロセッサパイプ18に要求を送るべきかどうかを決定し得る。
【0068】
[0073] テストパターン生成器40によって生成されるテストパターン画像を処理するための同期カウントユニット44からの要求を受け取ると、ソースサーフェスプロセッサパイプ18は、テストパターン生成器40からのテストパターン画像を要求し得、ソースサーフェスプロセッサパイプ18、ミキサー20、およびDSPP22は、ソースサーフェスプロセッサパイプ18、ミキサー20、およびDSPP22を通してテストパターン画像を処理し得る。
図2を参照して説明された、修正された画像32Bの処理に類似して、ソースサーフェスプロセッサパイプ18、ミキサー20、およびDSPP22は、テストパターン画像の処理の間、テストパターン画像を意図的に修正しないように構成され得る。代わりに、ソースサーフェスプロセッサパイプ18は、テストパターン画像を受け取り、ミキサー20に、修正なしにテストパターン画像を出力するように構成され得る。同様に、ミキサー20は、テストパターン画像を受け取り、DSPP22に、修正なしにテストパターン画像を出力するように構成され得る。DSPP22は、テストパターン画像を受け取り、比較器46に、修正なしにテストパターン画像を出力するように構成され得る。
【0069】
[0074] 比較器46は、テストパターン生成器40によって生成されたテストパターンを受け取り、ソースサーフェスプロセッサパイプ18、ミキサー20、およびDSPP22による処理の後の、テストパターン生成器40によって生成されたテストパターンと、テストパターン生成器40によって生成されたテストパターンを比較し得る。
【0070】
[0075] 比較器が、テストパターン生成器40によって生成されたテストパターンがソースサーフェスプロセッサパイプ18、ミキサー20、およびDSPP22による処理の後の、テストパターン生成器40によって生成されたテストパターンと同じであることを決定する場合、比較器46は、ソースサーフェスプロセッサパイプ18、ミキサー20、およびDSPP22が、それらがテストパターン生成器40によって生成されたテストパターンにエラーを導入しなかったため、正確に動作していることを決定し得る。他方では、比較器が、テストパターン生成器40によって生成されたテストパターンがソースサーフェスプロセッサパイプ18、ミキサー20、およびDSPP22による処理の後の、テストパターン生成器40によって生成されたテストパターンと同じでないことを決定する場合、比較器46は、ソースサーフェスプロセッサパイプ18、ミキサー20、およびDSPP22が、それらがテストパターン生成器40によって生成されたテストパターンにエラーを導入したため、正確に動作していないことを決定し得る。
【0071】
[0076] 比較器46は、テストパターン生成器40によって生成されたテストパターンと関連付けられるチェックサムを、ソースサーフェスプロセッサパイプ18、ミキサー20、およびDSPP22による処理の後の、テストパターン生成器40によって生成されたテストパターンと関連付けられるチェックサムと比較することによって、テストパターン生成器40によって生成されたテストパターンを、ソースサーフェスプロセッサパイプ18、ミキサー20、およびDSPP22による処理の後の、テストパターン生成器40によって生成されたテストパターンと、比較し得る。例えば、テストパターン生成器40は、テストパターン生成器40によって生成されたテストパターンに基づいて前処理チェックサム(pre-processing checksum)を生成し得る。比較器46は、ソースサーフェスプロセッサパイプ18、ミキサー20、およびDSPP22による処理の後のテストパターンに基づいて後処理チェックサムを生成し得る。テストパターン生成器40および比較器46は、同じアルゴリズムを介して前処理チェックサムおよび後処理チェックサムを生成し得る。
【0072】
[0077] 比較器46は、テストパターン生成器40によって生成されたテストパターンがソースサーフェスプロセッサパイプ18、ミキサー20、およびDSPP22による処理の後の、テストパターン生成器40によって生成されたテストパターンと同じであるかどうかを決定するために、後処理チェックサムと前処理チェックサムを比較し得る。比較器46が、前処理チェックサムが後処理チェックサムと同じであることを決定する場合、それは、エラーがソースサーフェスプロセッサパイプ18、ミキサー20、およびDSPP22によってテストパターンを処理する際に生じなかったことを示し得る。他方では、比較器46が、前処理チェックサムが後処理チェックサムと同じでないことを決定する場合、それは、エラーがソースサーフェスプロセッサパイプ18、ミキサー20、およびDSPP22によってテストパターンを処理する際に生じたことを示し得る。
【0073】
[0078] 比較器46が、ソースサーフェスプロセッサパイプ18、ミキサー20、およびDSPP22が正確に動作していないことを決定する場合、比較器46は、割込み(interrupt)、またはディスプレイプロセッサ10におけるエラーの任意の他の適切なインジケーションをプロセッサ3に送り得、例えばプロセッサ3は、ディスプレイシステム2の、可能性のある機能不良をディスプレイシステム2のユーザに通告する、ディスプレイデバイス12による表示のためにエラーメッセージを出力し得る。
【0074】
[0079]
図5Aおよび5Bは、さらに詳細に、
図4のビルトインセルフテストの例となるテスティング間隔を例示する概念図である。
図5Aに示されているように、ディスプレイプロセッサ10についての垂直帰線消去間隔は、ディスプレイプロセッサ10がディスプレイデバイス12による表示のためにディスプレイデバイス12に出力する2つのビデオフレームの処理の間に生じ得る。垂直帰線消去間隔52Aは、ビデオフレーム50Aおよび50Bの処理の間に生じ得、垂直帰線消去間隔52Bは、ビデオフレーム50Bおよび50Cの処理の間に生じ得、垂直帰線消去間隔52Cは、ビデオフレーム50Cおよび50Dの処理の間に生じ得、垂直帰線消去間隔52Dは、ビデオフレーム50Dおよび50Eの処理の間に生じ得、垂直帰線消去間隔52Eは、ビデオフレーム50Eおよび50Fの処理の間に生じ得、垂直帰線消去間隔52Fは、ビデオフレーム50Fおよび50Gの処理の間に生じ得る。
図5Aの例において、ディスプレイプロセッサ10は、テストパターン生成器40によって生成されたテストパターン画像54A−54Fを使用して、垂直帰線消去間隔52A−52Fの各垂直帰線消去間隔の間、ビルトインセルフテストを実行し得る。
【0075】
[0080] ディスプレイプロセッサ10はまた、垂直帰線消去間隔52A−52Fのn番目の垂直帰線消去間隔ごとの間、ビルトインセルフテストを実行するように構成され得る。
図5Bの例において、ディスプレイプロセッサ10が3番目の垂直帰線消去間隔ごとの間にビルトインセルフテストを実行するように構成され得るように、nは、3に設定され得る。
図5Bに示されているように、垂直帰線消去間隔52Aおよび52Bの後、ディスプレイプロセッサ10は、テストパターン画像54Aを使用して、垂直帰線消去間隔52Cの間にビルトインセルフテストを実行し得る。垂直帰線消去間隔52Cにおいてビルトインセルフテストを実行した後、ディスプレイプロセッサ10は、テストパターン画像54Bを使用して、帰線消去間隔52Cに後続する3番目の垂直帰線消去間隔52Fにおいて別のビルトインセルフテストを実行するために、別の2つの垂直帰線消去間隔52Dおよび52Eを待ち得る。
【0076】
[0081]
図6は、さらに詳細に、ディスプレイシステム2の例となるオペレーションを例示するフローチャートである。
図6に示されているように、ディスプレイプロセッサ10は、テストパターンを含むようにプロセッサ3によって修正された画像32Aであり得る、修正された画像32Bを受け取り得る(102)。入力チェックサムは、テストパターンと関連付けられる。バッファ論理14、フェッチ論理16、ソースサーフェスプロセッサパイプ18、ミキサー20、およびDSPP22のような、ディスプレイプロセッサ10の1つ以上のハードウェアユニットは、本開示の技法に従ってプロセッサ3によって修正された画像32Aであり得る、修正された画像32Bを処理し得る(104)。ディスプレイプロセッサ10は、ディスプレイプロセッサ10の1つ以上のハードウェアユニットによる処理の後の、修正された画像32Bのテストパターンに少なくとも部分的に基づいて、出力チェックサムを生成し得る(106)。ディスプレイプロセッサ10は、入力チェックサムと出力チェックサムとの間の差分を決定することに少なくとも部分的に基づいて、ディスプレイプロセッサ10における障害を検出し得る(108)。
【0077】
[0082] いくつかの例において、ビデオソース4のうちの1つは、ビデオをキャプチャし得、画像32Aは、ビデオのフレームであり得る。プロセッサ3は、修正された画像32Bを生成するために、テストパターンを含めるようにビデオのフレームを修正し得る。いくつかの例において、画像32Aは、視覚領域および非視覚領域を含み得、関心領域は、画像32Aの非視覚領域のサブ部分であり得る。この例において、修正された画像32Bを生成するために、テストパターンを含めるようにビデオのフレームを修正することは、テストパターンを含めるように画像の非視覚領域を修正することを含み得る。
【0078】
[0083] いくつかの例において、画像32Aは、視覚領域および非視覚領域を含み得、テストパターンは、画像32Aの視覚領域のサブ部分であり得る。この例において、修正された画像32Bを生成するために、テストパターンを含めるようにビデオのフレームを修正することは、テストパターンを含めるように画像の視覚領域を修正することを含み得る。いくつかの例において、テストパターンは、画像32Aの視覚領域のフレームサブ部分の始まりを引き伸ばし得る。いくつかの例において、テストパターンは、画像32Aの視覚領域のフレームサブ部分の終わりを引き伸ばし得る。
【0079】
[0084] いくつかの例において、ディスプレイプロセッサ10は、入力チェックサムが出力チェックサムとは異なると決定することに応答して、ディスプレイプロセッサ10の1つ以上のハードウェアユニットにおける障害を検出し得る。いくつかの例において、画像を処理するディスプレイプロセッサ10は、画像を処理するディスプレイサブシステムパイプライン11を含み得る。いくつかの例において、ビークルは、ディスプレイシステム2を含む。
【0080】
[0085] いくつかの例において、ディスプレイプロセッサ10のテストパターン生成器40は、テストパターン画像を生成し得、ここにおいて、テストパターン画像は、入力テストチェックサムと関連付けられる。ディスプレイプロセッサ10についての垂直帰線消去間隔の間、ソースサーフェスプロセッサパイプ18、ミキサー20、およびDSPP22のような、ディスプレイプロセッサ10の1つ以上のハードウェアユニットは、テストパターン生成器40によって生成されたテストパターン画像を処理し得る。ディスプレイプロセッサ10は、ディスプレイプロセッサ10の1つ以上のハードウェアユニットによる処理の後のテストパターン画像に少なくとも部分的に基づいて、出力テストチェックサムを生成し得る。ディスプレイプロセッサ10は、入力テストチェックサムと出力テストチェックサムとの間の差分を決定することに少なくとも部分的に基づいて、ディスプレイプロセッサ10の1つ以上のハードウェアユニットにおける障害を検出し得る。
【0081】
[0086] いくつかの例において、ディスプレイプロセッサ10は、ディスプレイプロセッサ10についての複数の垂直帰線消去間隔のn番目の垂直帰線消去間隔ごとに処理することおよび検出することを実行し得、ここにおいて、nは、1より大きい。いくつかの例において、ディスプレイプロセッサ10は、ディスプレイプロセッサ10のための複数の垂直帰線消去間隔の垂直帰線消去間隔ごとに処理することおよび検出することを実行し得る。
【0082】
[0087] 1つ以上の例において、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせでインプリメントされ得る。ソフトウェアでインプリメントされる場合、これら機能は、コンピュータ読み取り可能な媒体上で1つ以上の命令またはコードとして記憶または送信され得る。コンピュータ読み取り可能な媒体は、1つの場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体またはコンピュータデータ記憶媒体を含み得る。データ記憶媒体は、本開示において説明された技法のインプリメンテーションのための命令、コード、および/またはデータ構造を取り出すために、1つ以上のコンピュータまたは1つ以上のプロセッサによってアクセスされることができる任意の利用可能な媒体であり得る。限定ではなく例として、このようなコンピュータ読み取り可能な媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイスを備えることができる。本明細書で使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD:compact disc)、レーザーディスク(登録商標)、光学ディスク、デジタル多用途ディスク(DVD:digital versatile disc )、フロッピー(登録商標)ディスク、およびBlu-ray(登録商標)ディスクを含み、ここでディスク(disk)は、通常磁気的にデータを再生し、一方ディスク(disc)は、レーザーを用いて光学的にデータを再生する。上記の組合せもまた、コンピュータ読み取り可能な媒体の範囲内に含まれるべきである。
【0083】
[0088] コードは、1つ以上のデジタルシグナルプロセッサ(DSP:digital signal processor)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC:application specific integrated circuit)、フィールドプログラマブル論理アレイ(FPGA:field programmable logic array)、または他の同等な集積またはディスクリート論理回路のような、1つ以上のプロセッサによって実行され得る。従って、本明細書で使用されるような「プロセッサ」という用語は、前述の構造または本明細書に説明された技法のインプリメンテーションに適切な任意の他の構造のいずれかを指し得る。加えて、いくつかの態様において、本明細書に説明された機能は、符号化および復号のために構成された専用ハードウェアモジュールおよび/またはソフトウェアモジュール内で提供され得る、または組み合わせられたコーデックに組み込まれ得る。また、これら技法は、1つ以上の回路または論理要素において完全にインプリメントされることができる。
【0084】
[0089] 本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(すなわち、チップセット)を含む、幅広い様々なデバイスまたは装置においてインプリメントされ得る。様々な構成要素、モジュールまたはユニットは、本開示において、開示された技法を実行するように構成されるデバイスの機能的な態様を強調するために説明されているが、それらは、異なるハードウェアユニットによる実現を必ずしも必要とするわけではない。むしろ、上記に説明されたように、様々なユニットは、コーデックハードウェアユニットにおいて組み合わせられるか、または、適切なソフトウェアおよび/またはファームウェアと併せて、上記に説明されたような1つ以上のプロセッサを含む、相互動作のハードウェアユニットの集合によって提供され得る。
【0085】
[0090] 本開示の様々な態様が説明されてきた。これらの態様および他の態様は、以下の特許請求の範囲の範囲内である。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ディスプレイシステムのテスティングのための方法であって、
コンピューティングデバイスのディスプレイプロセッサによって、テストパターンを含む画像を受け取ることと、ここにおいて、入力チェックサムは、前記テストパターンと関連付けられる、
前記ディスプレイプロセッサの1つ以上のハードウェアユニットによって、前記画像を処理することと、
前記ディスプレイプロセッサによって、前記ディスプレイプロセッサの前記1つ以上のハードウェアユニットによる前記画像の処理の後の前記テストパターンに少なくとも部分的に基づいて、出力チェックサムを生成することと、
前記コンピューティングデバイスによって、前記入力チェックサムと前記出力チェックサムとの間の差分を決定することに少なくとも部分的に基づいて、前記ディスプレイプロセッサの前記1つ以上のハードウェアユニットにおける障害を検出することと、
を備える、方法。
[C2]
ビデオソースによって、ビデオをキャプチャすることと、
前記コンピューティングデバイスによって、前記画像を生成するために、前記テストパターンを含めるように前記ビデオのフレームを修正することと、
メモリに前記画像を記憶することと、
をさらに備える、C1に記載の方法。
[C3]
前記画像は、視覚領域および非視覚領域を備え、
前記画像を生成するために、前記テストパターンを含めるように前記ビデオの前記フレームを修正することは、前記テストパターンを含めるように前記画像の前記非視覚領域を修正することを備える、
C2に記載の方法。
[C4]
前記画像は、視覚領域および非視覚領域を備え、
前記画像を生成するために、前記テストパターンを含めるように前記ビデオの前記フレームを修正することは、前記画像の前記視覚領域を修正することを備える、
C2に記載の方法。
[C5]
前記テストパターン、前記画像の前記視覚領域のフレームの始まり、C4に記載の方法。
[C6]
前記テストパターンは、前記画像の前記視覚領域のフレームの終わりを引き伸ばす、C4に記載の方法。
[C7]
前記ディスプレイプロセッサの1つ以上のハードウェアユニットによって前記画像を処理することは、前記ディスプレイプロセッサのディスプレイサブシステムパイプラインによって、前記画像を処理することを備える、C1に記載の方法。
[C8]
前記コンピューティングデバイスによって、テストパターン画像を生成することと、ここにおいて、入力テストチェックサムは、前記テストパターン画像と関連付けられる、
前記コンピューティングデバイスの前記ディスプレイプロセッサについての垂直帰線消去間隔の間、前記ディスプレイプロセッサの前記1つ以上のハードウェアユニットによって、前記テストパターン画像を処理することと、
前記ディスプレイプロセッサによって、前記ディスプレイプロセッサの前記1つ以上のハードウェアユニットによる前記テストパターン画像の処理の後のテストパターン画像に少なくとも部分的に基づいて、出力テストチェックサムを生成することと、
前記コンピューティングデバイスによって、前記入力テストチェックサムと前記出力テストチェックサムとの間の差分を決定することに少なくとも部分的に基づいて、前記ディスプレイプロセッサの前記1つ以上のハードウェアユニットにおける障害を検出することと、
をさらに備える、C1に記載の方法。
[C9]
前記ディスプレイプロセッサによって、前記ディスプレイプロセッサについての複数の垂直帰線消去間隔のn番目の垂直帰線消去間隔ごとに前記処理することおよび前記検出することを実行すること、ここにおいて、nは、1より大きい、
をさらに備える、C8に記載の方法。
[C10]
前記ディスプレイプロセッサによって、前記ディスプレイプロセッサについての複数の垂直帰線消去間隔の垂直帰線消去間隔ごとに前記処理することおよび前記検出することを実行すること、
をさらに備える、C8に記載の方法。
[C11]
装置であって、
テストパターンを含む画像を記憶するように構成されるメモリと、ここにおいて、入力チェックサムは、前記テストパターンと関連付けられる、
ディスプレイプロセッサであって、
前記テストパターンを含む前記画像を受け取ることと、
前記画像を処理することと、
前記ディスプレイプロセッサの前記1つ以上のハードウェアユニットによる前記画像の処理の後の前記テストパターンに少なくとも部分的に基づいて、出力チェックサムを生成することと、
前記入力チェックサムと前記出力チェックサムとの間の差分を決定することに少なくとも部分的に基づいて、前記ディスプレイプロセッサにおける障害を検出することと、
を行うように構成される前記ディスプレイプロセッサと、
を備える、装置。
[C12]
前記メモリにビデオを出力するように構成されるビデオソースと、
1つ以上のプロセッサであって、
前記画像を生成するために、前記テストパターンを含めるように前記ビデオのフレームを修正することと、
前記メモリに前記画像を記憶することと
を行うように構成される前記1つ以上のプロセッサと、
をさらに備える、C11に記載の装置。
[C13]
前記装置は、先進運転支援システム(ADAS)を含むビークルであり、
前記ADASは、前記メモリおよび前記1つ以上のプロセッサを含む、
C12に記載の装置。
[C14]
前記画像は、視覚領域および非視覚領域を備え、
前記テストパターンを含めるように前記ビデオの前記フレームを修正することは、前記テストパターンを含めるように前記画像の前記非視覚領域を修正することをさらに備える、
C12に記載の装置。
[C15]
前記画像は、視覚領域および非視覚領域を備え、
前記画像を生成するために、前記テストパターンを含めるように前記ビデオの前記フレームを修正することは、前記テストパターンを含めるように前記画像の前記視覚領域を修正することを備える、
C12に記載の装置。
[C16]
前記テストパターンは、前記画像の前記視覚領域のフレームの始まりを引き伸ばす、C15に記載の装置。
[C17]
前記テストパターンは、前記画像の前記視覚領域のフレームの終わりを引き伸ばす、C15に記載の装置。
[C18]
前記ディスプレイプロセッサは、
前記ディスプレイプロセッサのディスプレイサブシステムパイプラインによって、前記画像を処理すること
を行うようにさらに構成される、C11に記載の装置。
[C19]
前記ディスプレイプロセッサは、
テストパターン画像を生成することと、ここにおいて、前記テストパターン画像は、入力テストチェックサムと関連付けられる、
前記ディスプレイプロセッサについての垂直帰線消去間隔の間、前記テストパターン画像を処理することと、
前記テストパターン画像の処理の後の前記テストパターン画像に少なくとも部分的に基づいて、出力テストチェックサムを生成することと、
前記入力テストチェックサムと前記出力テストチェックサムとの間の差分を決定することに少なくとも部分的に基づいて、前記ディスプレイプロセッサにおける障害を検出することと、
を行うようにさらに構成される、C11に記載の装置。
[C20]
前記ディスプレイプロセッサは、
前記ディスプレイプロセッサについての複数の垂直帰線消去間隔のn番目の垂直帰線消去間隔ごとに前記処理することおよび前記検出することを実行すること、ここにおいて、nは、1より大きい、
を行うようにさらに構成される、C19に記載の装置。
[C21]
前記ディスプレイプロセッサは、
前記ディスプレイプロセッサについての複数の垂直帰線消去間隔の垂直帰線消去間隔ごとに前記処理することおよび前記検出することを実行すること、
を行うようにさらに構成される、C19に記載の装置。
[C22]
前記装置は、先進運転支援システム(ADAS)を含むビークルであり、
前記ADASは、前記メモリおよび前記ディスプレイプロセッサを含む、C21に記載の装置。
[C23]
装置であって、
テストパターンを含む画像を受け取るための手段と、ここにおいて、入力チェックサムは、前記テストパターンと関連付けられる、
前記画像を処理するための手段と、
前記画像を処理するための前記手段による前記画像の処理の後の前記テストパターンに少なくとも部分的に基づいて、出力チェックサムを生成するための手段と、
前記入力チェックサムと前記出力チェックサムとの間の差分を決定することに少なくとも部分的に基づいて、前記画像を処理するための前記手段における障害を検出するための手段と、
を備える、装置。
[C24]
ビデオをキャプチャするための手段と、
前記画像を生成するために、前記テストパターンを含めるように前記ビデオのフレームを修正するための手段と、
前記画像を記憶するための手段と、
をさらに備える、C23に記載の装置。
[C25]
前記画像は、視覚領域および非視覚領域を備え、
前記画像を生成するために、前記テストパターンを含めるように前記ビデオの前記フレームを修正するための前記手段は、前記テストパターンを含めるように前記画像の前記非視覚領域を修正するための手段を備える、
C24に記載の装置。
[C26]
テストパターン画像を生成するための手段と、ここにおいて、前記テストパターン画像は、入力テストチェックサムと関連付けられる、
前記コンピューティングデバイスの前記ディスプレイプロセッサについての垂直帰線消去間隔の間、前記テストパターン画像を処理するための手段と、
処理するための前記手段による前記テストパターン画像の処理の後の前記テストパターン画像に少なくとも部分的に基づいて、出力テストチェックサムを生成するための手段と、
前記入力テストチェックサムと前記出力テストチェックサムとの間の差分を決定することに少なくとも部分的に基づいて、前記テストパターン画像を処理するための前記手段における障害を検出するための手段と、
をさらに備える、C23に記載の装置。
[C27]
非一時的なコンピュータ読み取り可能な記憶媒体であって、少なくとも1つのプログラマブルプロセッサに、
テストパターンを含む画像を受け取ることと、ここにおいて、入力チェックサムは、前記テストパターンと関連付けられる、
前記画像を処理することと、
前記画像の前記処理の後の前記テストパターンに少なくとも部分的に基づいて、出力チェックサムを生成することと、
前記入力チェックサムと前記出力チェックサムとの間の差分を決定することに少なくとも部分的に基づいて、前記ディスプレイプロセッサの前記1つ以上のハードウェアユニットにおける障害を検出することと、
を行わせるための命令を備える、非一時的なコンピュータ読み取り可能な記憶媒体。
[C28]
前記命令は、前記少なくとも1つのプログラマブルプロセッサに、
ビデオをキャプチャすることと、
前記画像を生成するために、前記テストパターンを含めるように前記ビデオのフレームを修正することと、
メモリに前記画像を記憶することと、
をさらに行わせる、C27に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
[C29]
前記命令は、前記少なくとも1つのプログラマブルプロセッサに、
テストパターン画像を生成することと、ここにおいて、前記テストパターン画像は、入力テストチェックサムと関連付けられる、
前記コンピューティングデバイスの前記ディスプレイプロセッサについての垂直帰線消去間隔の間、前記テストパターン画像を処理することと、
前記テストパターン画像の処理の後の前記テストパターン画像に少なくとも部分的に基づいて、出力チェックサムを生成することと、
前記入力テストチェックサムと前記出力テストチェックサムとの間の差分を決定することに少なくとも部分的に基づいて、前記少なくとも1つのプログラマブルプロセッサの前記1つ以上のハードウェアユニットにおける障害を検出することと、
をさらに行わせる、C27に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
[C30]
前記命令は、前記少なくとも1つのプログラマブルプロセッサに、
少なくとも1つのプログラマブルプロセッサについての複数の垂直帰線消去間隔のn番目の垂直帰線消去間隔ごとに前記処理することおよび前記検出することを実行すること、ここにおいて、nは、1より大きい、
をさらに行わせる、C29に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【要約】
ディスプレイシステムのディスプレイプロセッサは、テストパターンを含む画像を受け取り得る。入力チェックサムは、テストパターンと関連付けられ得る。ディスプレイプロセッサのハードウェアユニットは、画像を処理し得る。ディスプレイシステムは、画像の処理の後のテストパターンに少なくとも部分的に基づいて、出力チェックサムを生成し得る。ディスプレイシステムは、入力チェックサムと出力チェックサムとの間の差分を決定することに基づいて、ディスプレイプロセッサのハードウェアユニットにおける障害を検出し得る。
【選択図】
図2