(57)【要約】【課題】非順次走査方式用いて電気光学装置を制御するのに好適な電気光学装置の駆動制御プログラム及び非順次走査方式を用いた際の走査線の選択順番を決定するのに好適な走査線選択順番決定用プログラムを提供する。【解決手段】走査線の総数に１を加算した加算数を、階調データのビット長Ｎに応じた個数の２n値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率群の各比率、又は、これに類似する比率に応じた数値に分割した数値群を生成し、この数値群に基づき階調データの各ビットに対応した初期走査線の番号を決定し、まず、階調データのビット長に応じて、ＬＳＢ→ＭＳＢ→「ＬＳＢ及びＭＳＢの間の上位ビット〜下位ビット」の順番で、初期走査線を選択し、以降は、これらの初期走査線の番号に順次１を加算した番号の走査線を前記順番で繰り返し選択し、一方、加算後の番号が走査線の総数を超えたときは、その加算結果を初期走査線の番号にする。【選択図】  図４
2004198908.tif 000002
【特許請求の範囲】
【請求項１】
光学素子を含む画素がマトリクス状に配列された画素マトリクスと、
前記画素マトリクスの行方向及び列方向のうち一方に沿って配列された画素群にそれぞれ接続する複数の走査線と、
前記画素マトリクスの行方向及び列方向のうち他方に沿って配列された画素群にそれぞれ接続する複数のデータ線と、
前記複数の走査線を、順次１つずつ選択する走査線駆動回路と、
前記光学素子の発光に係る制御信号を前記複数のデータ線のうち少なくとも１つのデータ線に出力するデータ線駆動回路と、
前記走査線駆動回路及び前記データ線駆動回路の動作を制御する制御部とを備える電気光学装置における当該制御部において実行されるプログラムであって、
前記光学素子の発光階調を示す階調データのビット長Ｎと、
前記走査線の総数に１を加算した加算数を、前記階調データを構成するビット列のビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率に応じた数値に分割した数値群と、を取得する一方、
前記走査線のそれぞれに、その並び順に合わせて通し番号が対応付けられており、
前記走査線の通し番号のうち所定番号を、前記階調データを構成するビット列の最下位ビット（０桁目）に対応する前記走査線の通し番号の初期値とし、
前記最下位ビットに対応する初期値に、前記数値群に含まれる数値のうち最も大きい数値を加算したものを、前記階調データを構成するビット列の最上位ビット（（Ｎ−１）桁目）に対応する前記走査線の初期値とし、
前記最上位ビットと前記最下位ビットとの間にある他のビットについては、前記数値群に含まれる数値のうち最小値を除いた大きい方から順に、前記他のビットの桁数と同番目の値と１桁上のビットに対応した前記初期値とを加算した値を当該ビットの初期値とし、
まず、前記最下位ビットに対応する初期値が示す通し番号の走査線を選択すると共に、当該選択された初期値に１を加算し、次に、前記最上位ビットと、このビットから最下位ビットの１つ手前のビットに向けて１ビットずつ順番にシフトした各ビットに対応する前記初期値が示す通し番号の走査線をそれぞれ順番に選択すると共に、当該選択された初期値に１を加算する第１の処理と、
前記走査線を選択する毎に、前記走査線駆動回路に、当該選択された番号の走査線を駆動させる第２の処理と、
前記加算後の前記階調データの各ビットに対応する前記初期値が前記走査線の総数を示す値を超えたときに、その初期値を、前記最下位ビットに対応する前記走査線の通し番号の初期値として最初に選択した前記所定値に更新すると共に、この初期値に対応した走査線を選択し、且つ、前記走査線駆動回路に、当該選択された走査線を駆動させる第３の処理と、を前記階調データを構成するビット列の各ビット毎に前記走査線の総本数が全て選択されるまで繰り返し行うようになっていることを特徴とする電気光学装置の駆動制御プログラム。
【請求項２】
光学素子を含む画素がマトリクス状に配列された画素マトリクスと、
前記画素マトリクスの行方向及び列方向のうち一方に沿って配列された画素群にそれぞれ接続する複数の走査線と、
前記画素マトリクスの行方向及び列方向のうち他方に沿って配列された画素群にそれぞれ接続する複数のデータ線と、
前記複数の走査線を、順次１つずつ選択する走査線駆動回路と、
前記光学素子の発光に係る制御信号を前記複数のデータ線のうち少なくとも１つのデータ線に出力するデータ線駆動回路と、
前記走査線駆動回路及び前記データ線駆動回路の動作を制御する制御部とを備える電気光学装置を外部コンピュータによって制御するための当該外部コンピュータに実行可能なプログラムであって、
前記光学素子の発光階調を示す階調データのビット長Ｎと、
前記走査線の総数に１を加算した加算数を、前記階調データを構成するビット列のビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率に応じた数値に分割した数値群と、を取得する一方、
前記走査線のそれぞれに、その並び順に合わせて通し番号が対応付けられており、
前記走査線の通し番号のうち所定番号を、前記階調データを構成するビット列の最下位ビット（０桁目）に対応する前記走査線の通し番号の初期値とし、
前記最下位ビットに対応する初期値に、前記数値群に含まれる数値のうち最も大きい数値を加算したものを、前記階調データを構成するビット列の最上位ビット（（Ｎ−１）桁目）に対応する前記走査線の初期値とし、
前記最上位ビットと前記最下位ビットとの間にある他のビットについては、前記数値群に含まれる数値のうち最小値を除いた大きい方から順に、前記他のビットの桁数と同番目の値と１桁上のビットに対応した前記初期値とを加算した値を当該ビットの初期値とし、
まず、前記最下位ビットに対応する初期値が示す通し番号の走査線を選択すると共に、当該選択された初期値に１を加算し、次に、前記最上位ビットと、このビットから最下位ビットの１つ手前のビットに向けて１ビットずつ順番にシフトした各ビットに対応する前記初期値が示す通し番号の走査線をそれぞれ順番に選択すると共に、当該選択された初期値に１を加算する第１の処理と、
前記走査線を選択する毎に、前記走査線駆動回路に、当該選択された番号の走査線を駆動させる第２の処理と、
前記加算後の前記階調データの各ビットに対応する前記初期値が前記走査線の総数を示す値を超えたときに、その初期値を、前記最下位ビットに対応する前記走査線の通し番号の初期値として最初に選択した前記所定値に更新すると共に、この初期値に対応した走査線を選択し、且つ、前記走査線駆動回路に、当該選択された走査線を駆動させる第３の処理と、を前記階調データを構成するビット列の各ビット毎に前記走査線の総本数が全て選択されるまで繰り返し行うようになっていることを特徴とする電気光学装置の駆動制御プログラム。
【請求項３】
前記電気光学装置の走査線の総数を検出し、当該検出された走査線の総数に基づき、前記数値群を自動的に生成することを特徴とする請求項２記載の電気光学装置の駆動制御プログラム。
【請求項４】
光学素子を含む画素がマトリクス状に配列された画素マトリクスと、
前記画素マトリクスの行方向及び列方向のうち一方に沿って配列された画素群にそれぞれ接続する複数の走査線と、
前記画素マトリクスの行方向及び列方向のうち他方に沿って配列された画素群にそれぞれ接続する複数のデータ線と、
前記複数の走査線を、順次１つずつ選択する走査線駆動回路と、
前記光学素子の発光に係る制御信号を前記複数のデータ線のうち少なくとも１つのデータ線に出力するデータ線駆動回路と、
前記走査線駆動回路及び前記データ線駆動回路の動作を制御する制御部とを備える電気光学装置を外部コンピュータによって制御するための当該外部コンピュータに実行可能なプログラムであって、
発光階調数を取得すると、当該発光階調数に応じたビット長Ｎの前記光学素子の発光階調を示す階調データを生成し、
前記走査線の総数を取得すると、当該走査線の総数に１を加算した加算数を、前記階調データを構成するビット列のビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率に応じた数値に分割した数値群を生成し、
前記走査線のそれぞれに、その並び順に合わせて通し番号を対応付け、
前記走査線の通し番号のうち所定番号を、前記階調データを構成するビット列の最下位ビット（０桁目）に対応する前記走査線の通し番号の初期値とし、
前記最下位ビットに対応する初期値に、前記数値群に含まれる数値のうち最も大きい数値を加算したものを、前記階調データを構成するビット列の最上位ビット（（Ｎ−１）桁目）に対応する前記走査線の初期値とし、
前記最上位ビットと前記最下位ビットとの間にある他のビットについては、前記数値群に含まれる数値のうち最小値を除いた大きい方から順に、前記他のビットの桁数と同番目の値と１桁上のビットに対応した前記初期値とを加算した値を当該ビットの初期値とし、
まず、前記最下位ビットに対応する初期値が示す通し番号の走査線を選択すると共に、当該選択された初期値に１を加算し、次に、前記最上位ビットと、このビットから最下位ビットの１つ手前のビットに向けて１ビットずつ順番にシフトした各ビットに対応する前記初期値が示す通し番号の走査線をそれぞれ順番に選択すると共に、当該選択された初期値に１を加算する第１の処理と、
前記走査線を選択する毎に、前記走査線駆動回路に、当該選択された番号の走査線を駆動させる第２の処理と、
前記加算後の前記階調データの各ビットに対応する前記初期値が前記走査線の総数を示す値を超えたときに、その初期値を、前記最下位ビットに対応する前記走査線の通し番号の初期値として最初に選択した前記所定値に更新すると共に、この初期値に対応した走査線を選択し、且つ、前記走査線駆動回路に、当該選択された走査線を駆動させる第３の処理と、を前記階調データを構成するビット列の各ビット毎に前記走査線の総本数が全て選択されるまで繰り返し行うようになっていることを特徴とする電気光学装置の駆動制御プログラム。
【請求項５】
前記所定番号は０であることを特徴とする請求項１乃至請求項４のいずれか１項に記載の電気光学装置の駆動制御プログラム。
【請求項６】
光学素子を含む画素がマトリクス状に配列された画素マトリクスと、
前記画素マトリクスの行方向及び列方向のうち一方に沿って配列された画素群にそれぞれ接続する複数の走査線と、
前記画素マトリクスの行方向及び列方向のうち他方に沿って配列された画素群にそれぞれ接続する複数のデータ線と、
前記複数の走査線を、順次１つずつ選択する走査線駆動回路と、
前記光学素子の発光に係る制御信号を前記複数のデータ線のうち少なくとも１つのデータ線に出力するデータ線駆動回路と、
前記走査線駆動回路及び前記データ線駆動回路の動作を制御する制御部とを備える電気光学装置における、外部コンピュータによって実行可能な前記走査線の選択順番を決定するためのプログラムであって、
発光階調数を取得すると、当該発光階調数に応じたビット長Ｎの前記光学素子の発光階調を示す階調データを生成し、
前記走査線の総数を取得すると、当該走査線の総数に１を加算した加算数を、前記階調データを構成するビット列のビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率に応じた数値に分割した数値群を生成し、
前記走査線のそれぞれに、その並び順に合わせて通し番号を対応付け、
前記走査線の通し番号のうち所定番号を、前記階調データを構成するビット列の最下位ビット（０桁目）に対応する前記走査線の通し番号の初期値とし、
前記最下位ビットに対応する初期値に、前記数値群に含まれる数値のうち最も大きい数値を加算したものを、前記階調データを構成するビット列の最上位ビット（（Ｎ−１）桁目）に対応する前記走査線の初期値とし、
前記最上位ビットと前記最下位ビットとの間にある他のビットについては、前記数値群に含まれる数値のうち最小値を除いた大きい方から順に、前記他のビットの桁数と同番目の値と１桁上のビットに対応した前記初期値とを加算した値を当該ビットの初期値とし、
まず、前記最下位ビットに対応する初期値が示す通し番号の走査線を選択すると共に、当該選択された初期値に１を加算し、次に、前記最上位ビットと、このビットから最下位ビットの１つ手前のビットに向けて１ビットずつ順番にシフトした各ビットに対応する前記初期値が示す通し番号の走査線をそれぞれ順番に選択すると共に、当該選択された初期値に１を加算する第１の処理と、
前記加算後の前記階調データの各ビットに対応する前記初期値が前記走査線の総数を示す値を超えたときに、その初期値を、前記最下位ビットに対応する前記走査線の通し番号の初期値として最初に選択した前記所定値に更新すると共に、この初期値に対応した走査線を選択する第２の処理と、を前記階調データを構成するビット列の各ビット毎に前記走査線の総本数が全て選択されるまで繰り返し行うことで、前記走査線の選択順番を決定するようになっていることを特徴とする電気光学装置の走査線選択順番決定用プログラム。
【請求項７】
前記所定番号は０であることを特徴とする請求項６記載の走査線選択順番決定用プログラム。
【請求項８】
光学素子を含む画素がマトリクス状に配列された画素マトリクスと、
前記画素マトリクスの行方向及び列方向のうち一方に沿って配列された画素群にそれぞれ接続する複数の走査線と、
前記画素マトリクスの行方向及び列方向のうち他方に沿って配列された画素群にそれぞれ接続する複数のデータ線と、
前記複数の走査線を、順次１つずつ選択する走査線駆動回路と、
前記光学素子の発光に係る制御信号を前記複数のデータ線のうち少なくとも１つのデータ線に出力するデータ線駆動回路と、
前記走査線駆動回路及び前記データ線駆動回路の動作を制御する制御部とを備える電気光学装置における前記走査線の選択順番を決定する方法であって、
任意の発光階調数から、当該発光階調数に応じたビット長Ｎの前記光学素子の発光階調を示す階調データを生成し、
任意の走査線の総数から、当該走査線の総数に１を加算した加算数を、前記階調データを構成するビット列のビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率に応じた数値に分割した数値群を生成し、
前記走査線のそれぞれに、その並び順に合わせて通し番号を対応付け、
前記走査線の通し番号のうち所定番号を、前記階調データを構成するビット列の最下位ビット（０桁目）に対応する前記走査線の通し番号の初期値とし、
前記最下位ビットに対応する初期値に、前記数値群に含まれる数値のうち最も大きい数値を加算したものを、前記階調データを構成するビット列の最上位ビット（（Ｎ−１）桁目）に対応する前記走査線の初期値とし、
前記最上位ビットと前記最下位ビットとの間にある他のビットについては、前記数値群に含まれる数値のうち最小値を除いた大きい方から順に、前記他のビットの桁数と同番目の値と１桁上のビットに対応した前記初期値とを加算した値を当該ビットの初期値とし、
まず、前記最下位ビットに対応する初期値が示す通し番号の走査線を選択すると共に、当該選択された初期値に１を加算し、次に、前記最上位ビットと、このビットから最下位ビットの１つ手前のビットに向けて１ビットずつ順番にシフトした各ビットに対応する前記初期値が示す通し番号の走査線をそれぞれ順番に選択すると共に、当該選択された初期値に１を加算する第１の処理と、
前記加算後の前記階調データの各ビットに対応する前記初期値が前記走査線の総数を示す値を超えたときに、その初期値を、前記最下位ビットに対応する前記走査線の通し番号の初期値として最初に選択した前記所定値に更新すると共に、この初期値に対応した走査線を選択する第２の処理と、を前記階調データを構成するビット列の各ビット毎に前記走査線の総本数が全て選択されるまで繰り返し行うことで、前記走査線の選択順番を決定するようになっていることを特徴とする電気光学装置の走査線選択順番決定方法。
【請求項９】
任意の実数をビット長Ｎのビット列のビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率に応じた数値に分割するためのコンピュータが実行可能なプログラムであって、
前記任意の実数及び前記ビット長Ｎを取得すると、
当該ビット長Ｎのビット列のビット数個の２ｎ値の総和（２０＋２１＋２２＋，・・・２Ｎ−１）を算出し、
前記ビット長Ｎのビット列のビット数個の各２ｎ値を、それぞれ前記ビット長Ｎのビット列のビット数個の２ｎ値の総和によって除算し、
前記各除算結果にそれぞれ前記任意の実数を乗算し、
前記各乗算結果を全て足し合わせた値と前記任意の実数とを比較し、
前記比較結果に基づき両者が同一の値のときは、前記乗算結果の各数値を、前記２ｎ値から成る比率に応じた数値に分割した分割結果として出力し、
一方、両者が異なる値のときは、前記乗算結果の各数値のうち、所定の数値に対して、前記両者が同一の数値となるように補正処理を行い、この補正処理後の各数値を、前記２ｎ値から成る比率に応じた数値に分割した分割結果として出力することを特徴とする数値分割プログラム。
【請求項１０】
任意の実数をビット長Ｎのビット列のビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率に応じた数値に分割するためのコンピュータが実行可能なプログラムであって、
前記任意の実数及び前記ビット長Ｎを取得すると、
当該ビット長Ｎのビット列のビット数個の２ｎ値の総和（２０＋２１＋２２＋，・・・２Ｎ−１）を算出し、
前記ビット長Ｎのビット列のビット数個の各２ｎ値を、それぞれ前記ビット長Ｎのビット列のビット数個の２ｎ値の総和によって除算し、
前記各除算結果にそれぞれ前記任意の実数を乗算し、
前記各乗算結果に対してそれぞれその小数点以下の数値を切り捨てる所定の切捨処理を行い、
前記各乗算結果に対して前記所定の切捨処理を行った後のそれぞれの処理結果を全て足し合わせた値と前記任意の実数とを比較し、
前記比較結果に基づき両者が同一の値のときは、前記各乗算結果に対して前記所定の切捨処理を行った後の各数値を、前記２ｎ値から成る比率に応じた数値に分割した分割結果として出力し、
一方、両者が異なる値のときは、前記各乗算結果に対して前記所定の切捨処理を行った後の各数値のうち、所定の数値に対して、前記両者が同一の数値となるように補正処理を行い、この補正処理後の各数値を、前記２ｎ値から成る比率に応じた数値に分割した分割結果として出力することを特徴とする数値分割プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電気光学装置に係り、特に、階調表示による画像の表示ムラを抑えるのに好適な電気光学装置の駆動制御プログラム及び電気光学装置の走査線選択順番決定用プログラムに関する。
【０００２】
【従来の技術】
従来、電気光学装置、例えば、電気光学材料として液晶を用いた液晶表示装置は、陰極線管（ＣＲＴ）に代わるディスプレイデバイスとして、各種情報処理機器や液晶テレビなどの表示部に広く用いられている。ここで、従来の電気光学装置は、例えば、マトリクス状に配列した画素電極や、この画素電極に接続されたスイッチング素子などが設けられた素子基板と、画素電極に対向する対向電極が形成された対向基板と、これら両基板の間に充填された電気光学材料たる液晶とから構成される。そして、このような構成において、ある１本の走査線を選択すると、当該スイッチング素子が導通状態となる。この導通状態の際に、データ線を介し画素電極に対して、階調に応じた電圧の画像信号を印加すると、当該画素電極および対向電極の間の液晶層に画像信号の電圧に応じた電荷が蓄積される。電荷蓄積後、当該スイッチング素子をオフ状態としても、当該液晶層における電荷の蓄積は、液晶層自身の容量性や蓄積容量などによって維持される。このように、各スイッチング素子を駆動させ、蓄積させる電荷量を階調に応じて制御すると、画素毎に液晶の配向状態が変化する。このため、画素毎に濃度が変化するので、階調表示することが可能となる。
【０００３】
このとき、各画素の液晶層に電荷を蓄積させるのは一部の期間で良いため、第１に、各走査線を順次選択するとともに、第２に、選択された走査線と交差する画素に、当該画素の階調に応じた電圧を有する画像信号を、対応するデータ線に印加する構成により、走査線およびデータ線を複数の画素について共通化した時分割マルチプレックス駆動が可能となる。
【０００４】
ところが、データ線に印加される画像信号は、画素の階調に対応する電圧、すなわちアナログ信号である。このため、電気光学装置の周辺回路には、Ｄ／Ａ変換回路やオペアンプなどが必要となるので、装置全体のコスト高を招致してしまう。更に、これらのＤ／Ａ変換回路・オペアンプなどの特性や、各種の配線抵抗などの不均一性に起因して、表示ムラが発生するので、高品質な表示が極めて困難となり、特に高精細な表示を行う場合に顕著となるという問題がある。また、Ｄ／Ａ変換回路やオペアンプ等による消費電力の増加等の問題もある。
【０００５】
そこで、電気光学素子の発光時間を制御して、階調を得る方式が開発されている。この方式においては、データ線に、電気光学素子を発光させるか否かの２値の信号（ディジタル信号）を供給すれば良く、画質に悪影響を与える上記したアナログ回路が不要になるといった利点があるが、この制御を行う上で走査線の選択時間がかかり過ぎるといった問題が浮上している。
【０００６】
そこで、上記した問題を解決するためのディジタル信号を利用した液晶ディスプレイの駆動方式として、非順次走査方式が開発されている。これは、光学素子の発光階調を示すビット長Ｎの階調データを構成するビット列のビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））の比率に応じた数値群を利用して走査線を非順次に選択することで、この光学素子の発光時間を制御することにより階調を得る方式である（例えば、特許文献１参照。）。
【０００７】
【特許文献１】
特開２００１−１６６７３０号公報。
【０００８】
【発明が解決しようとする課題】
しかしながら、上記非順次走査方式は、理論上ではその原理が述べられているが、実際にこれを具現化するためのプログラムが明確にされていない。
また、走査線の選択順番は、予め制御対象となる走査線の本数及び階調数に合わせて、電気光学装置の各駆動回路を制御する制御部のメモリ等に予め決定された順番のデータを記憶させて制御するが、非順次走査方式における、この選択順番を決定するための適切なプログラムも明確にされていない。
【０００９】
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、非順次走査方式による走査線の選択処理を用いて電気光学装置を制御するのに好適な電気光学装置の駆動制御プログラム及び非順次走査方式を用いた際の走査線の選択順番を決定するのに好適な走査線選択順番決定用プログラムを提供することを目的としている。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、本発明に係る請求項１記載の電気光学装置の駆動制御プログラムは、光学素子を含む画素がマトリクス状に配列された画素マトリクスと、
前記画素マトリクスの行方向及び列方向のうち一方に沿って配列された画素群にそれぞれ接続する複数の走査線と、
前記画素マトリクスの行方向及び列方向のうち他方に沿って配列された画素群にそれぞれ接続する複数のデータ線と、
前記複数の走査線を、順次１つずつ選択する走査線駆動回路と、
前記光学素子の発光に係る制御信号を前記複数のデータ線のうち少なくとも１つのデータ線に出力するデータ線駆動回路と、
前記走査線駆動回路及び前記データ線駆動回路の動作を制御する制御部とを備える電気光学装置における当該制御部において実行されるプログラムであって、
前記光学素子の発光階調を示す階調データのビット長Ｎと、
前記走査線の総数に１を加算した加算数を、前記階調データを構成するビット列のビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率に応じた数値に分割した数値群と、を取得する一方、
前記走査線のそれぞれに、その並び順に合わせて通し番号が対応付けられており、
前記走査線の通し番号のうち所定番号を、前記階調データを構成するビット列の最下位ビット（０桁目）に対応する前記走査線の通し番号の初期値とし、
前記最下位ビットに対応する初期値に、前記数値群に含まれる数値のうち最も大きい数値を加算したものを、前記階調データを構成するビット列の最上位ビット（（Ｎ−１）桁目）に対応する前記走査線の初期値とし、
前記最上位ビットと前記最下位ビットとの間にある他のビットについては、前記数値群に含まれる数値のうち最小値を除いた大きい方から順に、前記他のビットの桁数と同番目の値と１桁上のビットに対応した前記初期値とを加算した値を当該ビットの初期値とし、
まず、前記最下位ビットに対応する初期値が示す通し番号の走査線を選択すると共に、当該選択された初期値に１を加算し、次に、前記最上位ビットと、このビットから最下位ビットの１つ手前のビットに向けて１ビットずつ順番にシフトした各ビットに対応する前記初期値が示す通し番号の走査線をそれぞれ順番に選択すると共に、当該選択された初期値に１を加算する第１の処理と、
前記走査線を選択する毎に、前記走査線駆動回路に、当該選択された番号の走査線を駆動させる第２の処理と、
前記加算後の前記階調データの各ビットに対応する前記初期値が前記走査線の総数を示す値を超えたときに、その初期値を、前記最下位ビットに対応する前記走査線の通し番号の初期値として最初に選択した前記所定値に更新すると共に、この初期値に対応した走査線を選択し、且つ、前記走査線駆動回路に、当該選択された走査線を駆動させる第３の処理と、を前記階調データを構成するビット列の各ビット毎に前記走査線の総本数が全て選択されるまで繰り返し行うようになっていることを特徴としている。
【００１１】
つまり、電気光学装置の制御部に上記プログラムを実行させることにより、上記した手順によって決定される順番で、階調データの各ビットに対応した走査線を選択することができ、非順次走査方式を実現することが可能となる。従って、高精細な画像表示などにおける表示ムラを抑えることが可能となる。
ここで、上記したように数値群を生成するときに、走査線の総数＋１を正確な比率で分割（比率に応じた整数で分割）できないようなときは、正確に分割できない部分における小数点部を丸めたり、四捨五入したり、近傍の値を選択したりすることで、前記各比率に応じた数値の近傍値に分割することで対応する。例えば、走査線の総数が２４０本で、階調データのビット長が６ビットであったときは、１：２：４：８：１６：３２の比率で分割することになるが、この場合は正確に分割できない部分があるため、４、７、１５、３０、６２、１２３といったように、正確な比率の数値に分割できない部分はその近傍値とする。
【００１２】
また、上記した光学素子は、例えば、液晶、エレクトロルミネッセンス素子、プラズマディスプレイ、発光ダイオード等である。
また、本発明に係る請求項２記載の電気光学装置の駆動制御プログラムは、光学素子を含む画素がマトリクス状に配列された画素マトリクスと、
前記画素マトリクスの行方向及び列方向のうち一方に沿って配列された画素群にそれぞれ接続する複数の走査線と、
前記画素マトリクスの行方向及び列方向のうち他方に沿って配列された画素群にそれぞれ接続する複数のデータ線と、
前記複数の走査線を、順次１つずつ選択する走査線駆動回路と、
前記光学素子の発光に係る制御信号を前記複数のデータ線のうち少なくとも１つのデータ線に出力するデータ線駆動回路と、
前記走査線駆動回路及び前記データ線駆動回路の動作を制御する制御部とを備える電気光学装置を外部コンピュータによって制御するための当該外部コンピュータに実行可能なプログラムであって、
前記光学素子の発光階調を示す階調データのビット長Ｎと、
前記走査線の総数に１を加算した加算数を、前記階調データを構成するビット列のビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率に応じた数値に分割した数値群と、を取得する一方、
前記走査線のそれぞれに、その並び順に合わせて通し番号が対応付けられており、
前記走査線の通し番号のうち所定番号を、前記階調データを構成するビット列の最下位ビット（０桁目）に対応する前記走査線の通し番号の初期値とし、
前記最下位ビットに対応する初期値に、前記数値群に含まれる数値のうち最も大きい数値を加算したものを、前記階調データを構成するビット列の最上位ビット（（Ｎ−１）桁目）に対応する前記走査線の初期値とし、
前記最上位ビットと前記最下位ビットとの間にある他のビットについては、前記数値群に含まれる数値のうち最小値を除いた大きい方から順に、前記他のビットの桁数と同番目の値と１桁上のビットに対応した前記初期値とを加算した値を当該ビットの初期値とし、
まず、前記最下位ビットに対応する初期値が示す通し番号の走査線を選択すると共に、当該選択された初期値に１を加算し、次に、前記最上位ビットと、このビットから最下位ビットの１つ手前のビットに向けて１ビットずつ順番にシフトした各ビットに対応する前記初期値が示す通し番号の走査線をそれぞれ順番に選択すると共に、当該選択された初期値に１を加算する第１の処理と、
前記走査線を選択する毎に、前記走査線駆動回路に、当該選択された番号の走査線を駆動させる第２の処理と、
前記加算後の前記階調データの各ビットに対応する前記初期値が前記走査線の総数を示す値を超えたときに、その初期値を、前記最下位ビットに対応する前記走査線の通し番号の初期値として最初に選択した前記所定値に更新すると共に、この初期値に対応した走査線を選択し、且つ、前記走査線駆動回路に、当該選択された走査線を駆動させる第３の処理と、を前記階調データを構成するビット列の各ビット毎に前記走査線の総本数が全て選択されるまで繰り返し行うようになっていることを特徴としている。
【００１３】
つまり、外部コンピュータによって上記プログラムが実行されると、電気光学装置において、上記した手順によって決定される順番で、階調データの各ビットに対応した走査線を選択させることができ、非順次走査方式を実現することが可能となる。従って、高精細な画像表示を行う電気光学装置の表示ムラの有無のチェックなど、生産時の確認試験を簡易に行うことが可能となる。
【００１４】
また、請求項３に係る発明は、請求項１又は請求項２記載の電気光学装置の駆動制御プログラムにおいて、前記電気光学装置の走査線の総数を検出し、当該検出された走査線の総数に基づき、前記数値群を自動的に生成することを特徴としている。
つまり、電気光学装置に、外部コンピュータを接続して上記プログラムを実行することで、自動的に走査線の総数を検出し、上記数値群を自動的に生成するようになっているので、試験時などにおいて、それぞれ走査線の総数が異なる複数の電気光学装置があるときに、自動的に走査線の総数を検出してくれるので、数値の設定等の手間を省くことが可能となる。
【００１５】
また、本発明に係る請求項４記載の電気光学装置の駆動制御プログラムは、光学素子を含む画素がマトリクス状に配列された画素マトリクスと、
前記画素マトリクスの行方向及び列方向のうち一方に沿って配列された画素群にそれぞれ接続する複数の走査線と、
前記画素マトリクスの行方向及び列方向のうち他方に沿って配列された画素群にそれぞれ接続する複数のデータ線と、
前記複数の走査線を、順次１つずつ選択する走査線駆動回路と、
前記光学素子の発光に係る制御信号を前記複数のデータ線のうち少なくとも１つのデータ線に出力するデータ線駆動回路と、
前記走査線駆動回路及び前記データ線駆動回路の動作を制御する制御部とを備える電気光学装置を外部コンピュータによって制御するための当該外部コンピュータに実行可能なプログラムであって、
発光階調数を取得すると、当該発光階調数に応じたビット長Ｎの前記光学素子の発光階調を示す階調データを生成し、
前記走査線の総数を取得すると、当該走査線の総数に１を加算した加算数を、前記階調データを構成するビット列のビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率に応じた数値に分割した数値群を生成し、
前記走査線のそれぞれに、その並び順に合わせて通し番号を対応付け、
前記走査線の通し番号のうち所定番号を、前記階調データを構成するビット列の最下位ビット（０桁目）に対応する前記走査線の通し番号の初期値とし、
前記最下位ビットに対応する初期値に、前記数値群に含まれる数値のうち最も大きい数値を加算したものを、前記階調データを構成するビット列の最上位ビット（（Ｎ−１）桁目）に対応する前記走査線の初期値とし、
前記最上位ビットと前記最下位ビットとの間にある他のビットについては、前記数値群に含まれる数値のうち最小値を除いた大きい方から順に、前記他のビットの桁数と同番目の値と１桁上のビットに対応した前記初期値とを加算した値を当該ビットの初期値とし、
まず、前記最下位ビットに対応する初期値が示す通し番号の走査線を選択すると共に、当該選択された初期値に１を加算し、次に、前記最上位ビットと、このビットから最下位ビットの１つ手前のビットに向けて１ビットずつ順番にシフトした各ビットに対応する前記初期値が示す通し番号の走査線をそれぞれ順番に選択すると共に、当該選択された初期値に１を加算する第１の処理と、
前記走査線を選択する毎に、前記走査線駆動回路に、当該選択された番号の走査線を駆動させる第２の処理と、
前記加算後の前記階調データの各ビットに対応する前記初期値が前記走査線の総数を示す値を超えたときに、その初期値を、前記最下位ビットに対応する前記走査線の通し番号の初期値として最初に選択した前記所定値に更新すると共に、この初期値に対応した走査線を選択し、且つ、前記走査線駆動回路に、当該選択された走査線を駆動させる第３の処理と、を前記階調データを構成するビット列の各ビット毎に前記走査線の総本数が全て選択されるまで繰り返し行うようになっていることを特徴としている。
【００１６】
つまり、外部コンピュータによって上記プログラムを実行させることによって、任意の階調数及び走査線数の電気光学装置に対して、上記した手順によって決定される順番で、階調データの各ビットに対応した走査線を選択させることができ、これにより非順次走査方式を実現することが可能となる。従って、任意の階調数及び走査線数の電気光学装置に対して、高精細な画像表示を行う電気光学装置の表示ムラの有無のチェックなど、生産時の確認試験を簡易に行うことが可能となる。
【００１７】
また、請求項５に係る発明は、請求項１乃至請求項４のいずれか１項に記載の電気光学装置の駆動制御プログラムにおいて、前記所定番号は０であることを特徴としている。
また、本発明に係る請求項６記載の電気光学装置の走査線選択順番決定用プログラムは、光学素子を含む画素がマトリクス状に配列された画素マトリクスと、前記画素マトリクスの行方向及び列方向のうち一方に沿って配列された画素群にそれぞれ接続する複数の走査線と、
前記画素マトリクスの行方向及び列方向のうち他方に沿って配列された画素群にそれぞれ接続する複数のデータ線と、
前記複数の走査線を、順次１つずつ選択する走査線駆動回路と、
前記光学素子の発光に係る制御信号を前記複数のデータ線のうち少なくとも１つのデータ線に出力するデータ線駆動回路と、
前記走査線駆動回路及び前記データ線駆動回路の動作を制御する制御部とを備える電気光学装置における、外部コンピュータによって実行可能な前記走査線の選択順番を決定するためのプログラムであって、
発光階調数を取得すると、当該発光階調数に応じたビット長Ｎの前記光学素子の発光階調を示す階調データを生成し、
前記走査線の総数を取得すると、当該走査線の総数に１を加算した加算数を、前記階調データを構成するビット列のビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率に応じた数値に分割した数値群を生成し、
前記走査線のそれぞれに、その並び順に合わせて通し番号を対応付け、
前記走査線の通し番号のうち所定番号を、前記階調データを構成するビット列の最下位ビット（０桁目）に対応する前記走査線の通し番号の初期値とし、
前記最下位ビットに対応する初期値に、前記数値群に含まれる数値のうち最も大きい数値を加算したものを、前記階調データを構成するビット列の最上位ビット（（Ｎ−１）桁目）に対応する前記走査線の初期値とし、
前記最上位ビットと前記最下位ビットとの間にある他のビットについては、前記数値群に含まれる数値のうち最小値を除いた大きい方から順に、前記他のビットの桁数と同番目の値と１桁上のビットに対応した前記初期値とを加算した値を当該ビットの初期値とし、
まず、前記最下位ビットに対応する初期値が示す通し番号の走査線を選択すると共に、当該選択された初期値に１を加算し、次に、前記最上位ビットと、このビットから最下位ビットの１つ手前のビットに向けて１ビットずつ順番にシフトした各ビットに対応する前記初期値が示す通し番号の走査線をそれぞれ順番に選択すると共に、当該選択された初期値に１を加算する第１の処理と、
前記加算後の前記階調データの各ビットに対応する前記初期値が前記走査線の総数を示す値を超えたときに、その初期値を、前記最下位ビットに対応する前記走査線の通し番号の初期値として最初に選択した前記所定値に更新すると共に、この初期値に対応した走査線を選択する第２の処理と、を前記階調データを構成するビット列の各ビット毎に前記走査線の総本数が全て選択されるまで繰り返し行うことで、前記走査線の選択順番を決定するようになっていることを特徴としている。
【００１８】
つまり、外部コンピュータによって上記プログラムを実行させることによって、任意の階調数及び走査線数の電気光学装置に対して、上記した手順によって決定される順番で、階調データの各ビットに対応した走査線を選択することが可能な選択順番を決定することができ、この決定された順番データを、例えば、電気光学装置の制御部にあるメモリに供給することにより、任意の階調数及び走査線数の電気光学装置に対して、非順次走査方式を実現することが可能となる。
【００１９】
また、請求項７に係る発明は、請求項６記載の走査線選択順番決定用プログラムにおいて、前記所定番号は０であることを特徴としている。
また、本発明に係る請求項８記載の電気光学装置の走査線選択順番決定方法は、光学素子を含む画素がマトリクス状に配列された画素マトリクスと、
前記画素マトリクスの行方向及び列方向のうち一方に沿って配列された画素群にそれぞれ接続する複数の走査線と、
前記画素マトリクスの行方向及び列方向のうち他方に沿って配列された画素群にそれぞれ接続する複数のデータ線と、
前記複数の走査線を、順次１つずつ選択する走査線駆動回路と、
前記光学素子の発光に係る制御信号を前記複数のデータ線のうち少なくとも１つのデータ線に出力するデータ線駆動回路と、
前記走査線駆動回路及び前記データ線駆動回路の動作を制御する制御部とを備える電気光学装置における前記走査線の選択順番を決定する方法であって、
任意の発光階調数から、当該発光階調数に応じたビット長Ｎの前記光学素子の発光階調を示す階調データを生成し、
任意の走査線の総数から、当該走査線の総数に１を加算した加算数を、前記階調データを構成するビット列のビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率に応じた数値に分割した数値群を生成し、
前記走査線のそれぞれに、その並び順に合わせて通し番号を対応付け、
前記走査線の通し番号のうち所定番号を、前記階調データを構成するビット列の最下位ビット（０桁目）に対応する前記走査線の通し番号の初期値とし、
前記最下位ビットに対応する初期値に、前記数値群に含まれる数値のうち最も大きい数値を加算したものを、前記階調データを構成するビット列の最上位ビット（（Ｎ−１）桁目）に対応する前記走査線の初期値とし、
前記最上位ビットと前記最下位ビットとの間にある他のビットについては、前記数値群に含まれる数値のうち最小値を除いた大きい方から順に、前記他のビットの桁数と同番目の値と１桁上のビットに対応した前記初期値とを加算した値を当該ビットの初期値とし、
まず、前記最下位ビットに対応する初期値が示す通し番号の走査線を選択すると共に、当該選択された初期値に１を加算し、次に、前記最上位ビットと、このビットから最下位ビットの１つ手前のビットに向けて１ビットずつ順番にシフトした各ビットに対応する前記初期値が示す通し番号の走査線をそれぞれ順番に選択すると共に、当該選択された初期値に１を加算する第１の処理と、
前記加算後の前記階調データの各ビットに対応する前記初期値が前記走査線の総数を示す値を超えたときに、その初期値を、前記最下位ビットに対応する前記走査線の通し番号の初期値として最初に選択した前記所定値に更新すると共に、この初期値に対応した走査線を選択する第２の処理と、を前記階調データを構成するビット列の各ビット毎に前記走査線の総本数が全て選択されるまで繰り返し行うことで、前記走査線の選択順番を決定するようになっていることを特徴としている。
【００２０】
また、本発明に係る請求項９記載に数値分割プログラムは、任意の実数をビット長Ｎのビット列のビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率に応じた数値に分割するためのコンピュータが実行可能なプログラムであって、
前記任意の実数及び前記ビット長Ｎを取得すると、
当該ビット長Ｎのビット列のビット数個の２ｎ値の総和（２０＋２１＋２２＋，・・・２Ｎ−１）を算出し、
前記ビット長Ｎのビット列のビット数個の各２ｎ値を、それぞれ前記ビット長Ｎのビット列のビット数個の２ｎ値の総和によって除算し、
前記各除算結果にそれぞれ前記任意の実数を乗算し、
前記各乗算結果を全て足し合わせた値と前記任意の実数とを比較し、
前記比較結果に基づき両者が同一の値のときは、前記乗算結果の各数値を、前記２ｎ値から成る比率に応じた数値に分割した分割結果として出力し、
一方、両者が異なる値のときは、前記乗算結果の各数値のうち、所定の数値に対して、前記両者が同一の数値となるように補正処理を行い、この補正処理後の各数値を、前記２ｎ値から成る比率に応じた数値に分割した分割結果として出力することを特徴としている。
【００２１】
つまり、任意の実数及びビット長Ｎを取得することで、その実数をビット長Ｎのビット列のビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率に応じた数値に分割することが可能となる。これにより、例えば、液晶ディスプレイにおいて非順次走査処理をおこなうときに、その走査線の本数に１を加えた数値と発光諧調を示すビット長Ｎをこのプログラムに対して与えることで、この走査線の本数＋１の数値をビット長Ｎのビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率に応じた数値に分割するような処理が可能である。
【００２２】
ここで、任意の実数及びビット長Ｎを取得するタイミングは、予め用意された数値をメモリから読み出して取得する場合と、キーボード等の入力デバイスを用いた手入力、あるいは、メニューからの数値選択等の利用者によって数値が与えられたときに取得する場合と、利用者から与えられた数値に所定の数値を加算するなどの加工処理をした後で取得する場合などがある。
【００２３】
また、ここで言う補正処理とは、上記したビット長Ｎのビット列のビット数個の２ｎ値の和と任意の実数とが異なる値のときに行われるもので、各乗算結果に対する小数点以下の数値の切捨てや、小数点以下の数値の四捨五入してからの切捨て、各乗算結果に対する補正値の加算又は減算処理などを行うことで、前記２ｎ値の和と任意の実数とが同一の値となるようにする処理である。
【００２４】
また、本発明に係る請求項１０記載の数値分割プログラムは、任意の実数をビット長Ｎのビット列のビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率に応じた数値に分割するためのコンピュータが実行可能なプログラムであって、
前記任意の実数及び前記ビット長Ｎを取得すると、
当該ビット長Ｎのビット列のビット数個の２ｎ値の総和（２０＋２１＋２２＋，・・・２Ｎ−１）を算出し、
前記ビット長Ｎのビット列のビット数個の各２ｎ値を、それぞれ前記ビット長Ｎのビット列のビット数個の２ｎ値の総和によって除算し、
前記各除算結果にそれぞれ前記任意の実数を乗算し、
前記各乗算結果に対してそれぞれその小数点以下の数値を切り捨てる所定の切捨処理を行い、
前記各乗算結果に対して前記所定の切捨処理を行った後のそれぞれの処理結果を全て足し合わせた値と前記任意の実数とを比較し、
前記比較結果に基づき両者が同一の値のときは、前記各乗算結果に対して前記所定の切捨処理を行った後の各数値を、前記２ｎ値から成る比率に応じた数値に分割した分割結果として出力し、
一方、両者が異なる値のときは、前記各乗算結果に対して前記所定の切捨処理を行った後の各数値のうち、所定の数値に対して、前記両者が同一の数値となるように補正処理を行い、この補正処理後の各数値を、前記２ｎ値から成る比率に応じた数値に分割した分割結果として出力することを特徴としている。
【００２５】
つまり、任意の実数及びビット長Ｎを取得することで、その実数をビット長Ｎのビット列のビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率に応じた数値に分割することが可能となる。これにより、例えば、液晶ディスプレイにおいて非順次走査処理をおこなうときに、その走査線の本数に１を加えた数値と発光諧調を示すビット長Ｎをこのプログラムに対して与えることで、この走査線の本数＋１の数値をビット長Ｎのビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率に応じた数値に分割することが可能である。
【００２６】
ここで、所定の切捨て処理とあるが、これは、小数点以下を単に切り捨てたり、小数点以下の数値を四捨五入してから切り捨てたりするなど、色々な処理方法が考えられる。
また、上記補正処理とは、例えば、処理対象となる各数値のうち、一番数の大きいものに対して補正値を加算又は減算することで上記両者を同一の値に補正したり、処理対象となる各数値のうち、一番大きい数値から順に小さい数値に向けて順番に必要なだけ特定の補正値（例えば１など）を加算又は減算することで、上記両者を同一の値に補正したりする。つまり、切捨処理後の各数値を全て足し合わせた値が上記ビット数個の２ｎ値の和に対して小さいときは、切捨処理後の各数値のうち、比率の変化にあまり影響を及ぼさないものに補正値を加算し、一方、大きいときは比率の変化にあまり影響を及ぼさないものから補正値を減算する。
【００２７】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。図１乃至図７は、本発明に係る電気光学装置の駆動制御プログラムの実施の形態を示す図である。
まず、本発明に係る電気光学装置１の構成を図１に基づいて説明する。図１は、本発明の実施の形態に係る電気光学装置１を示す図である。
【００２８】
図１において、電気光学装置１は、後述する走査線２０を駆動する走査線駆動回路１０と、後述するデータ線２１を駆動するデータ線駆動回路１１と、走査線駆動回路１０及びデータ線駆動回路１１の駆動を制御するコントローラ１２と、メモリ１３と、走査線とデータ線とこの両者の交差部分に配設された後述する画素回路２とから構成されるパネル１５と、を含んだ構成となっている。
【００２９】
コントローラ１２は、メモリ１３に記憶された制御プログラムを実行することで動作し、基本となる、垂直走査信号Ｖｓ、水平走査信号Ｈｓおよびドットクロック信号ＤＣＬＫ、階調データ（ｆｅｄｃｂａ）にしたがって、走査線駆動回路１０及びデータ線駆動回路１１の駆動を制御する各種の信号を生成し、これら各回路を制御するものである。
【００３０】
ここで、説明の便宜上、本実施の形態では、パネル１５を、走査線の総本数を１５本とし、データ線の総本数２０本として、これら走査線とデータ線の交差部分に後述する画素回路２を配設した構成とし、本装置１を、１５行×２０列のマトリクス型表示装置として説明するが、本発明をこれに限定する趣旨ではない。次に、走査線駆動回路１０は、ある１水平走査期間においてデータＤｙを走査線の本数に相当する１５個順次ラッチした後、ラッチした１５個のデータＤｙの各々を、次の水平走査期間において、それぞれ対応する走査線に走査信号Ｇ１、Ｇ２、Ｇ３、…、Ｇ１５として一斉に供給するものである。なお、１水平走査期間において選択される走査線は１本だけであるので、当該期間においてラッチされる１５個のデータＤｙのうち、Ｈレベルとなるのは１個だけである。
【００３１】
また、データ線駆動回路１１は、ある１水平走査期間においてビットデータＤｓをデータ線の本数に相当する２０個順次ラッチした後、ラッチした２０個のビットデータＤｓの各々を、次の水平走査期間において、それぞれ対応するデータ線にデータ信号ｄ１、ｄ２、ｄ３、…、ｄ２０として一斉に供給するものである。
【００３２】
次に、図２に基づき、パネル１５を構成する画素回路２の構成を説明する。図２は、本実施の形態における画素回路２の構成を示す図である。
画素回路２は、走査線２０と、データ線２１と、電流供給線２２と、スイッチングトランジスタ２３と、ドライビングトランジスタ２４と、光学素子２５と、保持容量コンデンサ２６と、を含んだ構成となっている。
【００３３】
ここで、本実施の形態における画素回路２は、走査線駆動回路１０及びデータ線駆動回路１１による走査線２０及びデータ線２１の駆動に加え、コントローラ１２からデータ線駆動回路１１を介して供給されるbright信号がhigh、又は、lowと書き込まれることに応じてその動作が制御され、走査線２０が駆動されているいないに関わらず、データ線２１を介してbright信号がhighと書き込まれたときは光学素子２５を発光させ、lowと書き込まれたときは発光させないようになっている。また、本実施の形態において、光学素子２５は、エレクトロルミネッセンス素子とする。
【００３４】
つまり、本実施の形態に係る電気光学装置１は、データ線に印加する信号（bright信号）を２値的なビットデータとするとともに、このビットデータを用いて、１フレームの期間において光学素子２５の発光時間を制御する構成となっている。すなわち、光学素子２５の発光時間を階調データを構成するビット列の各ビットに対応した時間にしたがって制御することで、階調表示を行う構成となっている。
【００３５】
本実施の形態は、このようにして階調表示を行う際に、非順次走査方式を利用するものであり、特に、コントローラ１２によって実行される非順次走査方式における走査線の選択順番を決定するプログラムのアルゴリズムに特徴がある。
ここで、走査線の総数を１５本、階調データのビット長を４ビットとした場合を例として、本実施の形態の制御プログラムにより非順次走査方式における走査線の選択順番を決定する方法をより具体的に説明する。
【００３６】
走査線の総数１５本に１を加算した１６本を、ビット長Ｎの階調データを構成するビット列のビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率に応じて分割された数値群によって表す。つまり、階調データのビット長Ｎは４ビットであるので、２0：２1：２2：２3＝１：２：４：８の比率で走査線の総数１６本を分割する。この場合は、正確な比率に分割できない部分が発生するので、本実施の形態においては、１：２：４：８に類似した比率１：１：２：４を用いて分割する。従って、それぞれの比に応じて、２、２、４、８の４つの数値に分割されることになる。そして走査線を選択するときに、まず、走査線の総数１５本に０〜１４の通し番号を対応付ける。そして、階調データのＬＳＢ（０ビット目）に、最初に選択する走査線（以降、初期走査線と称す）の通し番号として０を初期値として設定し、次に、階調データの３ビット目（ＭＳＢ）に対して、1つ前に選択された通し番号０に前記分割した数値のうち最も大きい８を加算し、この通し番号８を初期走査線の通し番号として設定し、更に、階調データの２ビット目に対して、１つ前に選択された通し番号８に前記分割した数値のうち２番目に大きい４を加算し、この通し番号１２を初期走査線の通し番号として設定し、なお更に、階調データの１ビット目に対して、１つ前に選択された通し番号１２に前記分割した数値のうち３番目に大きい２を加算し、この通し番号１４を初期走査線の通し番号として設定する。
【００３７】
従って、階調データのビット長４ビットにおける、ＬＳＢに対しては通し番号０が初期値として設定され、ＭＳＢに対しては通し番号８が初期値として設定され、２ビット目に対しては通し番号１２が初期値として設定され、１ビット目に対しては通し番号１４が初期値として設定されることになる。
このように、階調データのビット長に応じて、上記したように１つ前に選択された走査線の通し番号に前記分割した数値を大きいものから小さいものに向けて順番に加算した数値によって、階調データの各ビットに対応した初期走査線の通し番号を決定する。
【００３８】
更に、この決定された通し番号の初期走査線を、階調データの、ＬＳＢ（０ビット目）に対応した初期走査線、ＭＳＢ（３ビット目）に対応した初期走査線、２ビット目に対応した初期走査線、１ビット目に対応した初期走査線の順でそれぞれ対応する通し番号の走査線を選択していき、各走査線の選択後は各ビットに対応した初期走査線の通し番号にそれぞれ１を加算する。ここで、階調データの各ビットの選択順番は、ＬＳＢ→ＭＳＢ→「ＬＳＢ及びＭＳＢの間の上位ビット〜下位ビット」→ＬＳＢ→ＭＳＢ→・・・の順番、すなわち、０ビット目→３ビット目→２ビット目→１ビット目→０ビット目→３ビット目→２ビット目→・・・の順番となる。この一連の処理を、前記同様の順番（０ビット目→３ビット目→２ビット目→１ビット目→０ビット目→３ビット目・・・）で繰り返し行う。つまり、階調データの各ビットに対応して、０番目の走査線、８番目の走査線、１２番目の走査線、１４番目の走査線が選択されると、以降は、１番目の走査線、９番目の走査線、１３番目の走査線、０番目の走査線が選択されるといったように、１つ前に選択された走査線の通し番号にそれぞれ１を加算した通し番号の走査線を順次選択していく。
【００３９】
ここで、初期走査線として１４番目の走査線を選択した階調データの１ビット目に着目すると、１４に１を加算後の走査線の通し番号が０となっているのが解る。つまり、本実施の形態においては、各ビットに対応した初期値に１を加算していった結果が走査線の総数を示す値（ここでは１４）を超えたときは、その加算結果を０にする。つまり、１４番目の走査線が選択され、その通し番号１４に１を加算したときはその加算結果を走査線の通し番号１４を超える数値（１５）とせずに０とする。故に、次の処理では、０番目の走査線が選択されることになる。
【００４０】
上記した一連の処理は、図３に示されている。図３は、縦方向を走査線の通し番号（０〜１４）、横方向を時間としたときの、階調データの各ビットに対応した走査線が選択される様子を示した図である。図を見ると解るように、初期走査線として走査線０、８、１２、１４が階調データの各ビット毎にこの順番で選択されているのが解る。そして、以降は、それぞれの通し番号に１を加算した走査線が選択されている。更に、階調データの１ビット目走査における初期走査線（１４番目の走査線）の次には０番目の走査線が選択されているのも見て取れる。
【００４１】
また、図３に示されるように、例えば、０番目の走査線に着目してみると、上記した順番で走査線を選択していくことで、その選択される時間間隔が、丁度、階調データの各ビットに対応した時間となる。つまり、各ビットに対応した４種類の時間で順番に光学素子２５を発光させるか否かを制御することで２4＝１６階調の階調表示が可能となる。
【００４２】
更に、図４に基づき、本発明の第１の実施の形態の処理の流れを説明する。第１の実施の形態においては、メモリ１３に走査線の選択順番を決定する上記したプログラム及び決定された走査線の選択順番に基づいて走査線駆動回路１０を制御するプログラムが記憶されており、この制御プログラムをコントローラ１２によって実行することで、電気光学装置１における非順次走査方式を利用した走査線の選択順番の決定及び決定された選択順番で走査線の駆動を行う。図４は、第１の実施の形態における、走査線の選択順番の決定処理及び走査線の駆動処理を示すフローチャートである。
【００４３】
図４に示すように、まずステップＳ４００に移行し、メモリ１３内に予め用意された、制御対象である電気光学装置の走査線数及び発光階調数に応じて、走査線の総数に１を加算した加算数を上記したように、ビット長Ｎの階調データのビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率群の各比率に応じた数値に分割した数値群を示すデータに基づき、階調データの各ビットに対応した初期走査線の番号を設定しステップＳ４０２に移行する。ここで、初期走査線の番号の設定方法は上記した方法と同様である。
【００４４】
ステップＳ４０２では、階調データの各ビットに対応した初期走査線を選択しステップＳ４０４に移行する。ここで、初期走査線の選択順番は、上記したように、階調データのビット数に応じて、ＬＳＢ→ＭＳＢ→「ＬＳＢ及びＭＳＢの間の上位ビット〜下位ビット」→ＬＳＢ→ＭＳＢ→・・・の順番となる。
ステップＳ４０４では、選択された初期走査線の番号に１を加算してステップＳ４０６に移行する。
【００４５】
ステップＳ４０６では、各ビットに対応した番号の加算結果に、走査線の総数を超えたものがあるか否かを判定し、超えたものがあると判定された場合(Yes)はステップＳ４０８に移行し、そうでない場合(No)はステップＳ４１４に移行する。
ステップＳ４０８に移行した場合は、加算結果の番号を、「０」に更新してステップＳ４１０に移行する。
【００４６】
ステップＳ４１０では、各ビットに対応した加算結果の番号の走査線の選択を上記した順番で行いステップＳ４１２に移行する。
ステップＳ４１２では、１つ前に選択された走査線の番号（ステップＳ４１０で選択された番号）にそれぞれ１を加算してステップＳ４０６に移行する。
一方、加算結果に走査線の総数を超えるものがなくステップＳ４１４に移行した場合は、加算結果をそのまま設定してステップＳ４１０に移行する。
【００４７】
つまり、ステップＳ４００において階調データの各ビットに対応した初期走査線が設定されると、走査線駆動回路１０に設定された番号の初期走査線を駆動させ（ステップＳ４０２）、次に、これら初期値にそれぞれ１を加算して（ステップＳ４０４）、加算結果の番号に走査線の総数を超えたものがあるか否かを判定し（ステップＳ４０６）、あった場合は対応する加算結果の番号を「０」に更新し（ステップＳ４０８）、なかった場合は加算結果をそのまま設定し（ステップＳ４１４）、走査線駆動回路１０に、各ビットに対応した加算結果の番号の走査線を駆動させ（ステップＳ４１０）、更に、ステップＳ４１０で選択された走査線の番号にそれぞれ１を加算して（ステップＳ４１２）、再びステップＳ４０６からの処理を行う。従って、初期走査線の駆動後はその番号に１が加算されると、以降は、ステップＳ４０６〜ステップＳ４１２の処理を繰り返し行うことになる。
【００４８】
更に、図５に基づき、本発明の第２の実施の形態の処理の流れを説明する。第２の実施の形態においては、電気光学装置１に接続された外部コンピュータによって、走査線の選択順番を決定する上記したプログラム及び決定された走査線の選択順番に基づいて走査線駆動回路１０を制御するプログラムが実行され、電気光学装置１における非順次走査方式を利用した走査線の選択順番の決定及び決定された選択順番で走査線を駆動する処理が行われる。つまり、図１に示すコントローラ１２が外部コンピュータになった構成、あるいは、コントローラ１２の動作を外部コンピュータが制御する構成となる。図５は、第２の実施の形態における、走査線の選択順番の決定処理及び走査線の駆動処理を示すフローチャートである。
【００４９】
図５に示すように、まずステップＳ５００に移行し、外部入力装置からの入力に応じて走査線の総数及び発光階調数が設定されステップＳ５０２に移行する。ここで、外部入力装置からの入力は、予め設定された数値群から走査線の総数及び発光階調数を選択する場合や手入力によってそれぞれ任意の数値を入力する場合などが考えられる。また、このような方法に限らず、接続先の電気光学装置から走査線の本数や発光階調数のデータを取得して、走査線の総数及び発光階調数を自動的に検出するような方法を用いても良い。但し、この場合は、電気光学装置１側が走査線の総数及び発光階調数を示すデータを有する、または、外部コンピュータ側に、走査線の総数及び発光階調数を検出するための装置などが備わっていることが前提となる。
【００５０】
ステップＳ５０２では、設定階調数に応じたビット長Ｎの階調データを生成してステップＳ５０４に移行する。ここで、予め設定された数値群から発光階調数を選択する場合は、予め対応する階調データを生成しておけばこの処理を行う必要はない。また、階調データとは、入力された階調数に応じたビット長の変数であり、例えば１６階調なら４ビットのビット長を有する変数であり、６４階調であれば６ビットのビット長を有する変数となる。
【００５１】
ステップＳ５０４では、走査線の総数に１を加算した加算数をビット長Ｎの階調データのビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率群の各比率に応じた数値に分割した数値群を生成してステップＳ５０６に移行する。
ステップＳ５０６では、生成された数値群に基づき、階調データの各ビットに対応した初期走査線の番号を算出して設定しステップＳ５０８に移行する。
【００５２】
ステップＳ５０８では、走査線駆動回路１０に、階調データの各ビットに対応した初期走査線を、上記したＬＳＢ→ＭＳＢ→「ＬＳＢ及びＭＳＢの間の上位ビット〜下位ビット」→ＬＳＢ→ＭＳＢ→・・・の順番で駆動させステップＳ５１０に移行する。
ステップＳ５１０では、走査線駆動回路１０によって駆動された初期走査線の番号にそれぞれ１を加算してステップＳ５１２に移行する。
【００５３】
ステップＳ５１２では、各ビットに対応した番号の加算結果に、走査線の総数を超えたものがあるか否かを判定し、超えたものがあると判定された場合(Yes)はステップＳ５１４に移行し、そうでない場合(No)はステップＳ５１８に移行する。
ステップＳ５１４に移行した場合は、加算結果の番号を、「０」に更新してステップＳ５１６に移行する。
【００５４】
ステップＳ５１６では、各ビットに対応した加算結果の番号の走査線の選択を上記した順番で行いステップＳ５１８に移行する。
ステップＳ５１８では、１つ前に選択された走査線の番号（ステップＳ５１６で選択された番号）にそれぞれ１を加算してステップＳ５１２に移行する。
一方、加算結果に走査線の総数を超えるものがなくステップＳ５２０に移行した場合は、加算結果をそのまま設定してステップＳ５１６に移行する。
【００５５】
つまり、ステップＳ５００において、走査線の総数及び発光階調数が入力され設定されると、まず設定階調数に応じた階調データが生成される（ステップＳ５０２）。更に、走査線の総数に１を加算した加算数を階調データに応じた２nの比率に分割する処理を行い（ステップＳ５０４）、
階調データの各ビットに対応した初期走査線が設定される（ステップＳ５０６）。そして、走査線駆動回路１０に前記設定された番号の初期走査線を駆動（選択）させ（ステップＳ５０８）、次に、これら初期値にそれぞれ１を加算して（ステップＳ５１０）、加算結果の番号に走査線の総数を超えたものがあるか否かを判定し（ステップＳ５１２）、あった場合は、対応する加算結果の番号を「０」に更新し（ステップＳ５１４）、なかった場合は、加算結果をそのまま設定し（ステップＳ５２０）、走査線駆動回路１０に、各ビットに対応した加算結果の番号の走査線を駆動させ（ステップＳ５１６）、更に、ステップＳ５１６で駆動された走査線の番号にそれぞれ１を加算して（ステップＳ５１８）、再びステップＳ５１２からの処理を行う。従って、初期走査線の駆動後はその番号に１が加算されると、以降は、ステップＳ５１２〜ステップＳ５２０の処理を繰り返し行うことになる。
【００５６】
更に、図６に基づき、本発明の第３の実施の形態の処理の流れを説明する。第３の実施の形態においては、外部コンピュータによって、走査線の選択順番を決定する上記したプログラムが実行され、電気光学装置１における非順次走査方式を利用した走査線の選択順番の決定が行われる。図６は、第３の実施の形態における、走査線の選択順番の決定処理を示すフローチャートである。
【００５７】
図６に示すように、まずステップＳ６００に移行し、外部入力装置からの入力に応じて走査線の総数及び発光階調数が設定されステップＳ６０２に移行する。ここで、外部入力装置からの入力は、予め設定された数値群から走査線の総数及び発光階調数を選択する場合や手入力によってそれぞれ任意の数値を入力する場合などが考えられる。
【００５８】
ステップＳ６０２では、設定階調数に応じたビット長Ｎの階調データを生成してステップＳ６０４に移行する。ここで、予め設定された数値群から発光階調数を選択する場合は、予め対応する階調データを生成しておけばこの処理を行う必要はない。また、階調データとは、入力された階調数に応じたビット長の変数であり、例えば１６階調なら４ビットのビット長を有する変数であり、６４階調であれば６ビットのビット長を有する変数となる。
【００５９】
ステップＳ６０４では、走査線の総数に１を加算した加算数を階調データのビット長Ｎに応じた個数の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率群の各比率に応じた数値に分割した数値群を生成してステップＳ６０６に移行する。
ステップＳ６０６では、生成された数値群に基づき、階調データの各ビットに対応した初期走査線の番号を算出してステップＳ６０８に移行する。
【００６０】
ステップＳ６０８では、階調データの各ビットに対応した初期値に１を加算した値を次に選択する走査線の番号に決定しステップＳ６１０に移行する。ここで、決定された番号は、選択順番に対応付けて外部コンピュータ側の備える記憶装置に保存されることになる。
ステップＳ６１０では、１つ前に（ステップＳ６０８で）決定した番号にそれぞれ１を加算してステップＳ６１２に移行する。
【００６１】
ステップＳ６１２では、各ビットに対応した番号の加算結果に、走査線の総数を超えたものがあるか否かを判定し、超えたものがあると判定された場合(Yes)はステップＳ６１４に移行し、そうでない場合(No)はステップＳ６１８に移行する。
ステップＳ６１４に移行した場合は、対応する加算結果の番号を、「０」に更新し、それを次に選択する番号に決定してステップＳ６１６に移行する。
【００６２】
ステップＳ６１６では、階調データの各ビットに対して走査線の総数分の順番が決定されたか否かを判定し、決定したと判定された場合(Yes)は処理を終了し、そうでない場合(No)はステップＳ６１０に移行する。
一方、加算結果に走査線の総数を超えるものがなくステップＳ６１８に移行した場合は、加算結果を次に選択する走査線の番号に決定してステップＳ６１６に移行する。
【００６３】
つまり、ステップＳ６００において、走査線の総数及び発光階調数が入力され設定されると、まず設定階調数に応じた階調データが生成される（ステップＳ６０２）。更に、走査線の総数に１を加算した加算数を階調データに応じた２nの比率に分割する処理を行い（ステップＳ６０４）、階調データの各ビットに対応した初期走査線の番号が決定される（ステップＳ６０６）。
【００６４】
次に、これら初期値にそれぞれ１を加算した番号を次に選択する番号に決定し（ステップＳ６０８）、１つ前に決定された番号に１を加算して（ステップＳ６１０）、加算結果の番号に走査線の総数を超えたものがあるか否かを判定し（ステップＳ６１２）、あった場合は、対応する加算結果の番号を「０」に更新し、これを次に選択する走査線の番号に決定し（ステップＳ６１４）、なかった場合は、加算結果をそのまま次に選択する番号に決定し（ステップＳ６１８）、階調データの各ビットに対して走査線の総数に対する順番が全て決定されたか否かを判定し（ステップＳ６１６）、再びステップＳ６１２からの処理を行う。従って、初期走査線の次の番号が決定した後はその番号に１が加算されると、以降は、ステップＳ６１２〜ステップＳ６１８の処理を繰り返し行うことになる。このようにして決定された走査線の選択順番は、例えば、図１におけるメモリ１３に書き込まれることになる。
【００６５】
更に、図７に基づき、本発明の第４の実施の形態の処理の流れを説明する。第４の実施の形態においては、外部コンピュータによって、数値分割プログラムが実行され、走査線の本数に１を足した値を諧調データ長Ｎのビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））の比率に分割する処理が行われる。この分割処理後は上記した図６のフローチャートのステップＳ６０６以降と同様の処理が行われる。図７は、第４の実施の形態における、走査線数に１を加えた数値の分割処理を示すフローチャートである。
【００６６】
図７に示すように、まずステップＳ７００に移行し、走査線数及び諧調データのデータ長を取得したか否かを判定し、取得したと判定された場合(Yes)はステップＳ７０２に移行し、そうでない場合(No)は取得するまで待機する。
ステップＳ７０２に移行した場合は、取得した走査線数に１を加算してステップＳ７０４に移行する。
【００６７】
ステップＳ７０４では、データ長Ｎのビット数に応じた個数の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））の和（２０＋２１＋２２＋・・・２Ｎ−１）を算出してステップＳ７０６に移行する。
ここで、例えば、走査線の本数が１２本で諧調データのビット数が４ビット（上記Ｎ＝４となる）であるとすると、２ｎ値の和は（２０＋２１＋２２＋２３＝１５）となる。
【００６８】
ステップＳ７０６では、ステップＳ７０４で算出された２ｎ値の和で諧調データの各ビット数に対応する各２ｎ値を除算し、更にこの各除算結果に、それぞれ走査線の本数＋１の数値を乗算してステップＳ７０８に移行する。
ここで、上記した、走査線本数を１２本とし、且つ、諧調データのビット数を４ビットとしたときの和を使用すると、まずは２０を１５で除算し、この除算結果に、走査線の本数＋１の数値（１３）を乗算すると、「１３×（１／１５）＝０．８６」が算出される。本実施の形態では小数点以下第２位までの数値を扱うことにする。同様に、２１、２２、２３に対しても同じように計算を行うと、それぞれ「１３×（２／１５）＝１．７３」、「１３×（４／１５）＝３．４７」、「１３×（８／１５）＝６．９３」が算出される。
【００６９】
ステップＳ７０８では、ステップＳ７０６における各算出結果に対してその数値の小数点以下を四捨五入して切り捨てる処理を行いステップＳ７１０に移行する。
ここで、上記した、走査線本数を１２本とし、且つ、諧調データのデータ長を４ビットとしたときの算出結果に対して上記切捨処理を行うと、２０に対応する数値は「０．８６」なので四捨五入すると「１．０」となり小数点以下は切り捨てるので最終的に「１」となる。２１、２２、２３に対しても同様に切捨処理を行うと、その処理結果はそれぞれ「２」、「４」、「７」となる。
【００７０】
ステップＳ７１０では、切捨処理された結果の数値を全て足し合わせてステップＳ７１２に移行する。
ここで、上記した、走査線本数を１２本とし、且つ、諧調データのビット数を４ビットとしたときの算出結果を全て足し合わせると「１＋２＋４＋７＝１４」となる。
【００７１】
ステップＳ７１２では、ステップＳ７１０において足し合わされた数値と走査線の本数＋１の数値とを比較する処理を行いステップＳ７１４に移行する。
ここで、上記した、走査線本数を１２本とし、且つ、諧調データのビット数を４ビットとしたときの算出結果を用いると、足し合わせた数値１４と走査線の本数＋１の数値１３とを比較することになる。この比較により、足し合わせた数値の方が大きい値となっていることが解る。
【００７２】
ステップＳ７１４では、ステップＳ７１２における比較結果に基づき走査線の本数＋１の数値より足し合わせた数値の方が大きいか否かを判定し、大きいと判定された場合(Yes)はステップＳ７１６に移行し、そうでない場合(No)はステップＳ７２０に移行する。
ここで、上記した、走査線本数を１２本とし、且つ、諧調データのビット数を４ビットとしたときの比較結果を用いると、走査線の本数＋１の数値（１３）より、足し合わせた結果（１４）の方が大きくなるので、この場合はステップＳ７１６に移行することになる。
【００７３】
ステップＳ７１６に移行した場合は、切捨処理後の各値のうち最も大きい数値を選択し、その数値から必要なだけ補正値の減算を行い、減算処理後の数値を足し合わせたものが走査線の本数＋１の数値と同一の値となったらステップＳ７１８に移行する。つまり、本実施の形態においては、上記足し合わせた数値が走査線の本数＋１の数値と同一の値となるまで、切捨処理後の各数値のうち最も大きい数値に対して減算処理を施すことになる。
【００７４】
ここで、上記した、走査線本数を１２本とし、且つ、諧調データのビット数を４ビットとしたときの数値を用いると、２０：２１：２２：２３の各比に対する数値はそれぞれ「１」、「２」、「４」、「７」となるので、最も大きい数値である「７」から「１」を減算する。そして、この減算処理後に、「１」、「２」、「４」、「６」を足し合わせた値（１３）と走査線の本数＋１の数値（１３）とを比較する。この場合は、最も大きな数値から１を１回だけ減算することで、走査線の本数＋１の数値と同一の数値となる。
【００７５】
ステップＳ７１８では、補正後の数値を分割結果として出力し処理を終了する。
つまり、上記した、走査線本数を１２本とし、且つ、諧調データのビット数を４ビットとしたときの数値を用いると、補正処理後の「１」、「２」、「４」、「６」が走査線の本数＋１の数値を諧調データ長Ｎのビット数個の２n値（ｎ＝０，１，２，・・・（Ｎ−１））に応じた比率に分割した結果となる。
【００７６】
一方、ステップＳ７１４において、足し合わせた数値の方が大きくないと判定されステップＳ７２０に移行した場合は、走査線の本数＋１の数値より切捨処理後の各数値を足し合わせた数値の方が小さいか否かを判定し、小さいと判定された場合(Yes)はステップＳ７２２に移行し、そうでない場合(No)はステップＳ７２６に移行する。
【００７７】
ステップＳ７２２に移行した場合は、切捨処理後の各数値のうち最も大きい数値を選択し、その数値に必要な分だけ補正値の加算を行い、加算処理後の数値を足し合わせたものが走査線の本数＋１の数値と同一の値となったらステップＳ７２４に移行する。つまり、本実施の形態においては、上記足し合わせた数値が走査線の本数＋１の数値と同一の値となるまで、切捨処理後の各数値のうち最も大きい数値に対して加算処理を施すことになる。
【００７８】
ステップＳ７２４では、補正後の数値を分割結果として出力し処理を終了する。
また、ステップＳ７２０において、足し合わせた数値の方が小さくないと判定されステップＳ７２６に移行した場合は、走査線の本数＋１の数値と切捨処理後の各数値を足し合わせた数値とは同一の値であるので、切捨処理後の各数値をそのまま分割結果として出力し処理を終了する。
【００７９】
例えば、走査線の本数が１５本で諧調データのビット数が４ビット（上記Ｎ＝４となる）であるとすると、切捨処理後の数値は、それぞれ２０：２１：２２：２３の各比率に応じて「１」、「２」、「４」、「９」となる。従って、これらを足し合わせた数値（１＋２＋４＋９＝１６）と走査線の本数＋１の数値（１５＋１＝１６）とは同一の数値になるので、このような場合にステップＳ７２６の処理が行われる。
【００８０】
なお、上記第２の実施の形態においては、予め走査線の数や階調数が決定された電気光学装置に対して処理を行う例を説明したが、この構成に限らず、ＰＣ（Personal Computer）等のＯＳ（Operating System）により、画面上に表示されるウィンドウごとに、非順次選択方式を用いて走査線の選択順番を決定し、この選択順番に基づき各駆動回路を制御するなどの構成としても良い。
【００８１】
また、上記第２の実施の形態においては、走査線数や発光階調数を入力可能としているが、これに限らず、走査線数や発光階調数を予め設定された固定値としても良い。これにより、電気光学装置の生産時の試験装置として利用する際に、いちいち数値を入力しなくても良くなる。
また、上記第４の実施の形態においては、切捨処理において四捨五入をしてから切り捨てるようにしているが、これに限らず、ある数値以上は四捨五入してから切り捨てたり、四捨五入せずに切り捨てるなど、他の方法で切り捨てるようにしても良い。
【００８２】
また、上記第４の実施の形態においては、切捨処理後の数値の補正処理において、最も大きい数値に対して補正値を加算又は減算するようにしているが、これに限らず、大きい数値から順に小さい数値へと補正値を加算又は減算したりするなど、加算後又は減算後に比率の変化に対して最も影響の少ない数値に対して補正処理を行うようにしても良い。
【００８３】
【発明の効果】
以上説明したように、本発明に係る請求項１記載の電気光学装置の駆動制御プログラムによれば、電気光学装置の制御部において非順次走査方式のおける走査線の選択順番をリアルタイムに算出して決定することが可能となるので、予め走査順番のデータをメモリに蓄える必要がなくなるのでメモリ量を低減することが可能となる。
【００８４】
また、請求項２乃至請求項５記載の電気光学装置の駆動制御プログラムによれば、電気光学装置に、外部コンピュータの制御によって、非順次走査方式を実現させることが可能となる。従って、外部コンピュータによって、高精細な画像表示を行う電気光学装置の表示ムラの有無のチェックなど、生産時の確認試験を簡易に行うことが可能となる。
【００８５】
また、請求項６、請求項７及び請求項８記載の電気光学装置の走査線選択順番決定用プログラム及び電気光学装置の走査線選択順番決定方法によれば、外部コンピュータによってこのプログラムを実行することで、任意の階調数及び走査線数の電気光学装置に対して、非順次走査方式における階調データの各ビットに対応した走査線の順番を決定することが可能となる。
【００８６】
また、請求項９及び請求項１０記載の数値分割プログラムによれば、任意の実数及びビット長Ｎを与えることで、その実数をビット長Ｎのビット列のビット数個の２ｎ値（ｎ＝０，１，２，・・・（Ｎ−１））から成る比率に応じた数値に分割することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る電気光学装置１を示す図である。
【図２】本実施の形態における画素回路２の構成を示す図である。
【図３】縦方向を走査線の通し番号（０〜１４）、横方向を時間としたときの、階調データの各ビットに対応した走査線が選択される様子を示した図である。
【図４】第１の実施の形態における、走査線の選択順番の決定処理及び走査線の駆動処理を示すフローチャートである。
【図５】第２の実施の形態における、走査線の選択順番の決定処理及び走査線の駆動処理を示すフローチャートである。
【図６】第３の実施の形態における、走査線の選択順番の決定処理を示すフローチャートである。
【図７】第４の実施の形態における、走査線数に１を加えた数値の分割処理を示すフローチャートである。
【符号の説明】
１…電気光学装置、２…画素回路、１０…走査線駆動回路、１１…データ線駆動回路、１２…コントローラ、１３…メモリ、２０…走査線、２１…データ線、２２…電流供給線、２３…スイッチングトランジスタ、２４…ドライビングトランジスタ、２５…光学素子
【図１】
2004198908.tif 000003
【図２】
2004198908.tif 000004
【図３】
2004198908.tif 000005
【図４】
2004198908.tif 000006
【図５】
2004198908.tif 000007
【図６】
2004198908.tif 000008
【図７】
2004198908.tif 000009