(57)【要約】【課題】走査線ごとに画像を主走査方向に書き出すタイミングを精度よく決定する。【解決手段】光源３０等と、主スキャナ１００と、副スキャナ１０２と、ビームディテクタ８４とを含むディスプレイに、基準クロックを発生させるマスタ発振器２８０と、その基準クロックに同期するように時間離散的に作動し、主スキャナのための第１駆動信号をデジタル波形データによって生成するＤＤＳ(Direct Digital Synthesizer)２９０と、前記画像の各フレームごとに形成される複数本の走査線につき、複数の基準位置間の時間間隔である基準間隔を決定する斜め補正演算部３２４とを設ける。その演算部は、主走査周期カウント数と１フレーム内の全走査線数との積と副走査周期カウント数との間の差が減少するように、主走査周期カウント数をクロック単位で補正し、それにより、基準間隔を決定する。【選択図】図４
2011133560.tif 000002
【特許請求の範囲】
【請求項１】
画像信号に応じた強度を有する光束の２次元的な走査によって画像を表示する光走査型ディスプレイであって、
前記光束を出射する光源と、
第１駆動信号に基づき、前記光源から出射した光束を主走査方向に走査する主スキャナと、
第２駆動信号に基づき、前記主スキャナによって走査された光束を、前記主走査方向とは交差する副走査方向に走査する副スキャナと、
前記主スキャナまたは前記副スキャナによって走査された光束の通過を、前記主走査方向における所定位置において検出するビームディテクタと、
基準クロックを発生させるマスタ発振器と、
その基準クロックに同期するように時間離散的に作動し、前記第１駆動信号をデジタル波形データによって生成するＤＤＳ(Direct Digital Synthesizer)であって、前記第１駆動信号の周波数である駆動周波数を時間離散的に変更可能であるものと、
前記画像の各フレームごとに前記主スキャナおよび前記副スキャナによって形成される複数本の走査線の各々につき、複数の基準位置間の時間間隔である基準間隔の長さを前記基準クロックの数として決定する基準間隔決定装置と
を含み、
前記複数の基準位置は、前記各走査線に関連付けられ、各基準位置は、対応する走査線に沿って前記光束が前記主走査方向に前記画像を表示し始める画像書出し位置を前記基準クロックの数として算出する際に起算点となり、
前記基準間隔決定装置は、
前記ビームディテクタから出力されるＢＤ信号に基づき、前記主スキャナの主走査周期の長さを前記基準クロックのもとにサンプリングしてカウントし、それにより、主走査周期カウント数を取得する主走査周期カウント部であって、前記主走査周期カウント数は、前記複数の基準位置の各々に関し、その各基準位置に後続する基準位置との間の時間間隔の長さを前記基準クロックの数として表すものと、
前記ＢＤ信号に基づき、前記副スキャナの副走査周期の長さを前記基準クロックのもとにサンプリングしてカウントし、それにより、副走査周期カウント数を取得する副走査周期カウント部と、
前記主走査周期カウント数と１フレーム内の全走査線数（以下、「全走査線数」という。）との積と前記副走査周期カウント数との間の差を算出し、それにより、１フレーム内の全走査線についての前記主走査周期カウント数の累積サンプリング誤差を推定する累積サンプリング誤差推定部と、
その推定された累積サンプリング誤差に基づき、その累積サンプリング誤差が減少するように、前記主走査周期カウント数を前記複数の基準位置のうちの少なくとも一つに関し、予め定められた補正規則に従ってクロック単位で補正し、それにより、前記基準間隔の長さを前記基準クロックの数として決定する第１補正部と
を含む光走査型ディスプレイ。
【請求項２】
前記補正規則は、前記主走査周期カウント数を、前記複数の基準位置のうち、それら基準位置を時間軸上においてｍ（ｍ：２以上の整数）等分する１以上の基準位置のそれぞれに関し、予め定められたクロック数で補正するための規則を含む請求項１に記載の光走査型ディスプレイ。
【請求項３】
前記ＤＤＳは、前記副スキャナを制御するための上位ビット列と、前記主スキャナを制御するための下位ビット列とを有する所定数のビットが一列に並んで成るカウンタを有しており、
前記上位ビット列は、前記下位ビット列のうちの最上位ビットが所定数をカウントするごとにインクリメントし、
前記下位ビット列は、前記基準クロックのもとに前記波形ＲＯＭのアドレスをシーケンシャルに指定するためのアドレスカウンタとして機能し、
そのアドレスカウンタは、前記アドレスと同数のビットを有する上位ビット部と、前記基準クロックごとに可変の設定増分で増加させられる下位ビット部とを有しており、
前記上位ビット部は、前記下位ビット部のうちの最上位ビットが桁上がりを起こすごとにインクリメントする請求項１または２に記載の光走査型ディスプレイ。
【請求項４】
さらに、前記累積サンプリング誤差推定部および前記第１補正部の作動に先立ち、前記主走査周期カウント部によって取得された主走査周期カウント数を補正する第２補正部を含み、
その第２補正部は、前記主走査周期カウント数と前記全走査線数との積と前記副走査周期カウント数との間の差を算出し、その算出された差が許容値を超えた場合に、前記差が前記許容値を超えないように、前記主走査周期カウント数を補正し、
前記累積サンプリング誤差推定部および前記第１補正部は、その補正された主走査周期カウント数を用いて作動する請求項１ないし３のいずれかに記載の光走査型ディスプレイ。
【請求項５】
前記許容値は、前記主走査周期カウント数の、１つの基準位置当たりの誤差である単体サンプリング誤差が前記基準クロックの１個分を超えた場合に、前記差が前記許容値を超えるように設定される請求項４に記載の光走査型ディスプレイ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光束の２次元的な走査によって画像を表示する技術に関するものであり、特に、各走査線ごとに画像を主走査方向に書き出すタイミングを決定する技術の改良に関するものである。
【背景技術】
【０００２】
光束の２次元的な走査によって画像を表示する光走査型ディスプレイが既に知られている（例えば、特許文献１参照。）。その一例は、観察者の外界に設置されたスクリーンに画像を投影して表示するプロジェクタであり、別の例は、観察者の網膜上に走査された光束を直接投影し、画像を表示する網膜走査型ディスプレイである。
【０００３】
いずれの例においても、この種の光走査型ディスプレイは、一般に、（ａ）画像信号に応じた強度の光束を出射する光源と、（ｂ）第１駆動信号に基づき、前記光源から出射した光束を主走査方向に走査する主スキャナと、（ｃ）第２駆動信号に基づき、前記主スキャナによって走査された光束を、前記主走査方向とは交差する副走査方向に走査する副スキャナと、を含むように構成され、前記主スキャナと前記副スキャナとの共同作用により、すべての走査線が形成される。ここで、各走査線のうち、画像表示に使用される領域（区間）を有効エリアとし、その有効エリアを除く部分を無効エリアとする。
【０００４】
この種の光走査型ディスプレイは、一般に、さらに、（ｄ）前記主スキャナまたは前記副スキャナによって走査された光束を、前記主走査方向における定位置において検出するビームディテクタと、（ｅ）基準クロックを発生させるマスタ発振器と、（ｆ）前記ビームディタクタから出力されるＢＤ信号（例えば、光束を検出したタイミングを表す信号）に基づき、前記主スキャナと、前記副スキャナと、前記光源とを制御する制御部とを含むように構成される。
【０００５】
このように構成された光走査型ディスプレイにおいては、主スキャナのうちの反射ミラーが共振モードで揺動させられる場合には、その主スキャナの共振周波数が温度等の条件によって大きく変動したり、急激に変動したりする可能性があるため、前記制御部は、それに追従するように主スキャナの駆動周波数を変化させることが要求される。
【０００６】
この要求を光走査型ディスプレイにおいて満たすために、従来から、電圧制御発振器ＶＣＯ等を用いた位相同期回路（以下、「ＰＬＬ」という。）が利用されることがある。しかし、ＰＬＬを利用したのでは、主スキャナの共振周波数が大きく変動した場合や急激に変動した場合に、その変化に主スキャナの駆動周波数を追従させ、その駆動周波数の応答性を十分に高めることが困難である。
【０００７】
そのため、本発明者は、前記制御部を、ＤＤＳ(Direct Digital Synthesizer)によって主スキャナの駆動周波数を切り換えるように設計することを提案した。
【０００８】
前記ＤＤＳは、前記基準クロックに同期するように時間離散的に作動し、前記第１駆動信号をデジタル波形データによって生成する。このＤＤＳは、前記ＰＬＬより高応答で切り換えることが可能である。
【０００９】
このＤＤＳは、順に並んだ複数のアドレスにそれぞれ関連付けて、周期的に変化する振幅（前記第１駆動信号の強度に対応する）を有する波形を表す複数のデジタル波形データを予め記憶している波形ＲＯＭを含んでいる。その波形ＲＯＭの指定アドレスが循環的に増加させられると、それにつれて、当該波形ＲＯＭから出力されるデジタル波形データによって表される波形の振幅が周期的に変化する。前記ＤＤＳは、前記波形ＲＯＭから出力されたデジタル波形データを前記第１駆動信号にＤＡ変換して主スキャナに供給する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００９−１４７９１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ところで、前記従来の基準間隔推定部は、前述のように、前記ＢＤ信号に基づき、前記主スキャナの主走査周期の長さを前記基準クロックのもとにカウントし、それにより、主走査周期カウント数を取得し、さらに、その取得された主走査周期カウント数をそのまま、後続する各走査線につき、互いに共通する前記基準間隔として推定するように構成されていた。
【００１２】
このように、この基準間隔推定部は、各フレームごとに、最初の数本の走査線についてのＢＤ信号に基づいて取得された主走査周期カウント数を、すべての走査線に共通の主走査周期の長さとして推定するため、主走査周期カウント数に誤差が発生すると、その誤差が、副走査方向に進むにつれて徐々に累積されてしまう。この累積誤差は、画像書出し位置を決定するための基準位置のずれにもつながるため、結果として、副走査方向に進むにつれて画像書出し位置が、本来あるべき理想的な位置から徐々にずれていくことになる。
【００１３】
そのため、従来の基準間隔推定部と前述のＤＤＳとを単純に組み合わせてしまうと、当該ディスプレイへの入力画像が、例えば、図７（ａ）に示すように、副走査方向に対して平行に延びる線画像である場合、それにもかかわらず、当該ディスプレイからの出力画像が、図７（ｂ）に示すように、副走査方向に対して傾斜した線画像となってしまう。また、入力画像が、幅を有して副走査方向に対して平行に延びる画像である場合には、出力画像が全体的に、副走査方向に対して傾斜してしまう。
【００１４】
以上要するに、従来の基準間隔推定部とＤＤＳとを単純に組み合わせただけでは、主走査周期カウント数のサンプリング誤差に起因して表示画像が歪んでしまい、画質が低下するという問題が発生してしまうのである。
【００１５】
以上説明した事情を背景として、本発明は、光束の２次元的な走査によって画像を表示する技術であって、走査線ごとに画像を主走査方向に書き出すタイミングを精度よく決定し、それにより、画質の低下を容易に防止し得るものを提供することを目的としてなされたものである。
【課題を解決するための手段】
【００１６】
本発明によって下記の各態様が得られる。各態様は、項に区分し、各項には番号を付し、必要に応じて他の項の番号を引用する形式で記載するが、このように、各項を他の項の番号を引用する形式で記載することにより、各項に記載の技術的特徴をその性質に応じて適宜独立させることが可能となる。
【００１７】
（１）  画像信号に応じた強度を有する光束の２次元的な走査によって画像を表示する光走査型ディスプレイであって、
前記光束を出射する光源と、
第１駆動信号に基づき、前記光源から出射した光束を主走査方向に走査する主スキャナと、
第２駆動信号に基づき、前記主スキャナによって走査された光束を、前記主走査方向とは交差する副走査方向に走査する副スキャナと、
前記主スキャナまたは前記副スキャナによって走査された光束の通過を、前記主走査方向における所定位置において検出するビームディテクタと、
基準クロックを発生させるマスタ発振器と、
その基準クロックに同期するように時間離散的に作動し、前記第１駆動信号をデジタル波形データによって生成するＤＤＳ(Direct Digital Synthesizer)であって、前記第１駆動信号の周波数である駆動周波数を時間離散的に変更可能であるものと、
前記画像の各フレームごとに前記主スキャナおよび前記副スキャナによって形成される複数本の走査線の各々につき、複数の基準位置間の時間間隔である基準間隔の長さを前記基準クロックの数として決定する基準間隔推定装置と
を含み、
前記複数の基準位置は、前記各走査線に関連付けられ、各基準位置は、対応する走査線に沿って前記光束が前記主走査方向に前記画像を表示し始める画像書出し位置を前記基準クロックの数として算出する際に起算点となり、
前記基準間隔推定装置は、
前記ビームディテクタから出力されるＢＤ信号に基づき、前記主スキャナの主走査周期の長さを前記基準クロックのもとにサンプリングしてカウントし、それにより、主走査周期カウント数を取得する主走査周期カウント部であって、前記主走査周期カウント数は、前記複数の基準位置の各々に関し、その各基準位置に後続する基準位置との間の時間間隔の長さを前記基準クロックの数として表すものと、
前記ＢＤ信号に基づき、前記副スキャナの副走査周期の長さを前記基準クロックのもとにカウントし、それにより、副走査周期カウント数を取得する副走査周期カウント部と、
前記主走査周期カウント数と１フレーム内の全走査線数（以下、「全走査線数」という。）との積と前記副走査周期カウント数との間の差を算出し、それにより、１フレーム内の全走査線についての前記主走査周期カウント数の累積サンプリング誤差を推定する累積サンプリング誤差推定部と、
その推定された累積サンプリング誤差に基づき、その累積サンプリング誤差が減少するように、前記主走査周期カウント数を前記複数の基準位置のうちの少なくとも一つに関し、予め定められた補正規則に従ってクロック単位で補正し、それにより、前記基準間隔の長さを前記基準クロックの数として決定する第１補正部と
を含む光走査型ディスプレイ。
【００１８】
（２）  前記補正規則は、前記主走査周期カウント数を、前記複数の基準位置のうち、それら基準位置を時間軸上においてｍ（ｍ：２以上の整数）等分する１以上の基準位置のそれぞれに関し、予め定められたクロック数で補正するための規則を含む（１）項に記載の光走査型ディスプレイ。
【００１９】
（３）  前記ＤＤＳは、前記副スキャナを制御するための上位ビット列と、前記主スキャナを制御するための下位ビット列とを有する所定数のビットが一列に並んで成るカウンタを有しており、
前記上位ビット列は、前記下位ビット列のうちの最上位ビットが所定数をカウントするごとにインクリメントし、
前記下位ビット列は、前記基準クロックのもとに前記波形ＲＯＭのアドレスをシーケンシャルに指定するためのアドレスカウンタとして機能し、
そのアドレスカウンタは、前記アドレスと同数のビットを有する上位ビット部と、前記基準クロックごとに可変の設定増分で増加させられる下位ビット部とを有しており、
前記上位ビット部は、前記下位ビット部のうちの最上位ビットが桁上がりを起こすごとにインクリメントする（１）または（２）項に記載の光走査型ディスプレイ。
【００２０】
（４）  さらに、前記累積サンプリング誤差推定部および前記第１補正部の作動に先立ち、前記主走査周期カウント部によって取得された主走査周期カウント数を補正する第２補正部を含み、
その第２補正部は、前記主走査周期カウント数と前記全走査線数との積と前記副走査周期カウント数との間の差を算出し、その算出された差が許容値を超えた場合に、前記差が前記許容値を超えないように、前記主走査周期カウント数を補正し、
前記累積サンプリング誤差推定部および前記第１補正部は、その補正された主走査周期カウント数を用いて作動する（１）ないし（３）項のいずれかに記載の光走査型ディスプレイ。
【００２１】
（５）  前記許容値は、前記主走査周期カウント数の、１つの基準位置当たりの誤差である単体サンプリング誤差が前記基準クロックの１個分を超えた場合に、前記差が前記許容値を超えるように設定される（４）項に記載の光走査型ディスプレイ。
【発明の効果】
【００２２】
本発明によれば、主スキャナの駆動周波数を制御するためにＤＤＳが利用され、そのために主走査周期カウント数のサンプリング誤差が発生するにもかかわらず、そのサンプリング誤差に起因した表示画像の歪みを抑制することが容易となる。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施形態に従う網膜走査型ディスプレイ（以下、「ＲＳＤ」と略称する。）を概念的に示す系統図である。
【図２】図１に示すＨＳスキャナのミラーの振れ角の時間的変化を「ＨＳ実波形」という名称を付して表すグラフである。
【図３】前記ＨＳ実波形を表すグラフである。
【図４】図１に示す信号処理回路を概念的に説明するための機能ブロック図である。
【図５】図４に示すＤＤＳを概念的に説明するための機能ブロック図である。
【図６】前記ＨＳ実波形に対する、図５に示すカウンタＹの最上位ビットの値の時間的変化を表すタイムチャートである。
【図７】副走査方向に平行に延びる１本線を表す画像を入力画像の一例として入力した場合に従来のＲＳＤが出力する出力画像の一例を示す正面図である。
【図８】図１に示す信号処理回路内のコンピュータによって実行される画像表示プログラムを概念的に表すフローチャートである。
【図９】図４に示すテーブルメモリに記憶されている複数の補正テーブルの例を概念的に説明するための図である。
【図１０】図７に示す入力画像に対し、図１に示すＲＳＤを作動させた場合に実現される出力画像の一例を示す正面図である。
【発明を実施するための形態】
【００２４】
以下、本発明のさらに具体的な実施の形態のうちの一つを図面に基づいて詳細に説明する。
【００２５】
図１には、本発明の一実施形態に従う網膜走査型ディスプレイが系統的に表されている。この網膜走査型ディスプレイ（以下、「ＲＳＤ」と略称する。）は、画像信号に応じた強度の光束としてのレーザビームを２次元的に走査し、その走査されたレーザビームを観察者の眼１０の瞳孔１２に入射させ、その眼１０の網膜１４上に画像を直接に投影表示する装置である。このＲＳＤは、前記（１）項における「光走査型ディスプレイ」の一例を構成している。
【００２６】
このＲＳＤは、１フレーム中、往き走査と戻り走査との一方の実行中のみ画像を表示する一方向描画方式（片方向走査）を採用しているが、それに代えて、往き走査中も戻り走査中も画像を表示する双方向描画方式（両方向走査、往復走査）を採用してもよい。
【００２７】
光源ユニット２０は、３原色（ＲＧＢ）を有する３つのレーザビームを１つのレーザビームに結合して任意色のレーザビームを生成するために、赤色のレーザビームを発するＲレーザ３０と、緑色のレーザビームを発するＧレーザ３２と、青色のレーザビームを発するＢレーザ３４とを備えている。
【００２８】
各レーザ３０，３２，３４は、本実施形態においては、レーザダイオード(Laser Diode)として構成されている。本実施形態においては、それらレーザ３０，３２，３４がそれぞれ、前記（１）項における「光源」の一例を構成する。
【００２９】
レーザ３０，３２，３４から出射した複数本のレーザビームはそれぞれ、コリメート光学系４０，４２，４４によって平行光化される。その後、各レーザビームは、波長依存性を有する各ダイクロイックミラー５０，５２，５４に入射させられ、それにより、各レーザビームが波長に関して選択的に反射・透過させられ、それら３つのダイクロイックミラー５０，５２，５４を代表する１つのダイクロイックミラー５０に最終的に入射して１本のレーザビームに結合される。
【００３０】
その後、その１本のレーザビームは、結合光学系５６によって集光され、光ファイバ８２に入射する。光ファイバ８２に入射したレーザビームは、光伝送媒体としての光ファイバ８２中を伝送され、その光ファイバ８２の後端から放射させられるレーザビームを平行光化するコリメート光学系８４を経て光走査装置２４に入射する。
【００３１】
以上、光源ユニット２０のうち光学的な部分を説明したが、以下、電気的な部分を説明する。
【００３２】
光源ユニット２０は、コンピュータ（図示しない）を主体とする信号処理回路６０を備えている。信号処理回路６０は、外部から供給された映像信号に基づき、各レーザ３０，３２，３４を駆動するための信号処理と、レーザビームの走査を行うための信号処理とを行うように設計されている。
【００３３】
各レーザ３０，３２，３４を駆動するため、信号処理回路６０は、外部から供給された映像信号に基づき、網膜１４上に投影すべき画像上の各画素ごとに、レーザビームにとって必要な色と強度とを実現するために必要な駆動信号（後述の映像信号（画像信号の一例）を反映する信号）を、各レーザドライバ７０，７２，７４を介して各レーザ３０，３２，３４に供給する。レーザビームの走査を行うための信号処理については後述する。
【００３４】
光走査装置２４は、ＨＳスキャナ（高速スキャナ、主スキャナの一例）１００とＬＳスキャナ（低速スキャナ、副スキャナの一例）１０２とを備えている。
【００３５】
ＨＳスキャナ１００は、表示すべき画像の１フレームごとに、レーザビームを主走査方向（本実施形態については、垂直方向であるが、水平方向でも可）に相対的に高速で走査する光学系である。
【００３６】
これに対し、ＬＳスキャナ１０２は、表示すべき画像の１フレームごとに、レーザビームを、主走査方向とは直交する副走査方向（本実施形態については、水平方向であるが、垂直方向でも可）に相対的に低速で走査する光学系である。
【００３７】
具体的に説明するに、ＨＳスキャナ１００は、本実施形態においては、機械的偏向を行うミラー１２０を備えた弾性体１２４のねじり共振によってそのミラー１２０を揺動させ、それにより、入射したレーザビームを主走査方向に走査する。このＨＳスキャナ１００は、駆動回路１２６を有しており、この駆動回路１２６は、信号処理回路６０から供給される駆動信号により、ミラー１２０を駆動する。
【００３８】
図１に示すように、ＨＳスキャナ１００によって走査されたレーザビームは、リレー光学系１３０によってＬＳスキャナ１０２に伝送される。
【００３９】
ＬＳスキャナ１０２は、機械的偏向を行う揺動ミラーとしてのガルバノミラー１４０を非共振モードで強制的に電磁駆動し、それにより、入射したレーザビームを副走査方向に走査する。ガルバノミラー１４０には、ＨＳスキャナ１００から走査されて出射したレーザビームがリレー光学系１３０によって集光されて入射するようになっている。ＬＳスキャナ１０２は、駆動回路１４２を有しており、その駆動回路１４２は、信号処理回路６０から供給される駆動信号（または同期信号）により、ガルバノミラー１４０を駆動する。
【００４０】
以上説明したＨＳスキャナ１００とＬＳスキャナ１０２との共同により、レーザビームが２次元的に走査され、その走査されたレーザビームによって表現される画像が、リレー光学系１５０を経て観察者の眼１０に照射される。
【００４１】
図１に示すように、このＲＳＤは、ビームディテクタ２００を所定位置に備えている。ビームディテクタ２００は、ＨＳスキャナ１００によって走査されたレーザビームを検出することにより、そのレーザビームの主走査方向における位置（走査された光束が前記所定位置を通過するタイミング）を検出するために設けられている。ビームディテクタ２００の一例は、光束の走査タイミングを検出するときによく用いられるＢＤセンサ（Beam Detect Sensor)やフォトダイオードである。
【００４２】
ビームディテクタ２００は、レーザビームが所定の位置に到達したタイミングを表す信号をＢＤ信号として出力し、その出力されたＢＤ信号は信号処理回路６０に供給される。
【００４３】
図１に示すように、本実施形態においては、ビームディテクタ２００が、ＨＳスキャナ１００とＬＳスキャナ１０２との間に配置されている。さらに、ビームディテクタ２００は、ＨＳスキャナ１００から出射したレーザビームが、各走査線のうちの無効エリア（正確には、無効エリアのうち、副走査方向における上流側に位置する部分）内に照射されるときに、そのレーザビームを検出するように配置されている。
【００４４】
ここで、本明細書において使用する各種用語の定義を英字略語と共に簡単に説明する。
【００４５】
１．画像書出し位置ＳＯＰ：レーザ３０，３２，３４が各走査線ごとに画像を主走査方向に書き出す位置すなわちタイミングである。
【００４６】
２．基準位置ＲＰ：１フレームを構成する複数本の走査線のうち、互いに隣接した２高速走査周期分の走査線間の折り返し点の位置に一致し、画像書出し位置ＳＯＰを決定するための起点となる位置である。
【００４７】
３．高速走査周期カウント数ＨＳＣ：ＨＳスキャナ１００の高速走査周期の長さを基準クロックのもとにカウントした場合の基準クロックのカウント数である。
【００４８】
４．ＢＤ間隔カウント数ＢＤＣ：互いに隣接した２個の基準位置ＲＰ間の時間間隔を基準クロックのもとにカウントした場合の基準クロックの数を高速走査周期カウント数ＨＳＣをもとに推定したものである。
【００４９】
なお、高速走査周期カウント数ＨＳＣは、ＢＤ間隔カウント数ＢＤＣの暫定値としての役割を果たし、この暫定値を必要に応じて補正することにより、ＢＤ間隔カウント数ＢＤＣの最終値が取得される。
【００５０】
５．基準間隔ＲＩ：１フレームを構成する複数本の走査線（全走査線数：ｎ（今回は、５００））についての複数の基準位置ＲＰのうち、互いに隣接した２個の基準位置ＲＰ間の時間間隔を基準クロックのもとにカウントした場合の基準クロックの数である。この基準間隔ＲＩは、前述のＢＤ間隔カウント数ＢＤＣを必要に応じて（走査線の位置に応じて）補正して取得される。
【００５１】
６．低速走査周期カウント数ＬＳＣ：ＬＳスキャナ１０２の低速走査周期の長さを基準クロックのもとにカウントした場合の基準クロックのカウント数である。
【００５２】
図２（ａ）には、ＨＳスキャナ１００のミラー１２０の振れ角の時間的変化が正弦波曲線のグラフで、かつ、「ＨＳ実波形」という名称を付して表されている。図２（ｂ）および（ｃ）には、そのＨＳ実波形に時間的に関連付けて、映像同期信号（図においては、「映像ｓｙｎｃ」で表す。）および映像信号がそれぞれタイムチャートで表されている。
【００５３】
このＲＳＤにおいては、各走査線ごとに、各走査線の開始点（走査線間の折り返し点）の位置すなわち基準位置ＲＰが決定される。
【００５４】
さらに、各走査線ごとに、各走査線について決定された基準位置ＲＰを起点として、画像書出し位置ＳＯＰが決定される。各走査線についての画像書出し位置ＳＯＰは、対応する基準位置ＲＰに、主走査方向における隔たり（すなわち、マージン）が加算されることにより、決定される。その隔たりの大きさは、複数本の走査線間で互いに共通する。
【００５５】
図３（ａ）には、ＨＳ実波形がグラフで表されている。図３（ｂ）および（ｃ）には、そのＨＳ実波形に時間的に関連付けて、低速走査同期信号およびＢＤ信号がそれぞれタイムチャートで表されている。図３（ｄ）には、図３（ｃ）に示すＢＤ信号のうち、連続した３つのハイレベル部が拡大されてタイムチャートで表されており、図３（ｅ）には、図３（ｄ）に示すＢＤ信号に基づいてＢＤ間隔が決定される様子がタイムチャートで表されている。
【００５６】
図３（ｃ）に示すように、ビームディテクタ２００は、レーザビームの通過を検出すると、ハイレベル（図において「Ｈ」で表記する。）のＢＤ信号を出力し、一方、レーザビームを検出しないと、ローレベル（図において「Ｌ」で表記する。）のＢＤ信号を出力する。
【００５７】
図３（ｂ）において、「低速走査同期信号」は、その低速走査同期信号のうち、ハイレベル部の先頭エッジ位置において、対応する１低速走査周期の開始タイミングを規定する。低速走査同期信号のうち、互いに隣接した２個のハイレベル部間の時間間隔が、低速走査周期を意味する。
【００５８】
本実施形態においては、各走査線についての基準位置ＲＰが、画像表示中、定期的に、例えば、各フレームごとに決定される。
【００５９】
本実施形態においては、無効エリアにつき、ＢＤ信号に基づいて基準位置ＲＰが測定される。具体的には、図３（ｄ）および（ｅ）に示すように、ＢＤ信号のうちの３個のハイレベル部のそれぞれの中心位置が、基準位置ＲＰとして測定される。
【００６０】
なお、基準位置ＲＰを上記中心位置として定義することは、本発明を実施するうえにおいて不可欠なことではなく、基準位置ＰＲは、例えば、ＢＤ検知点の位置そのものとして定義するなど、他の基準に従って定義することが可能である。
【００６１】
さらに、図３（ｅ）に示すように、互いに隣接した２個の基準位置ＲＰ間の時間間隔が、ＨＳ実波形を表す正弦波曲線のうち、互いに隣接した２個の頂点間の時間間隔を表し、これは、ＢＤ信号において３個のハイレベル部が並ぶ時間間隔を意味する用語として、ＢＤ間隔と称する。ＢＤ間隔の決定手法については、後に詳述する。
【００６２】
ここで、ＢＤ信号と、基準位置ＲＰと、高速走査周期カウント数ＨＳＣと、ＢＤ間隔と、基準間隔ＲＩとの関係について概略的に説明する。
【００６３】
まず、無効エリア内の３高速走査周期分の走査線につき、ＢＤ信号に基づき、互いに隣接した２個の基準位置ＲＰ間の時間間隔（ＨＳ実波形の頂点位置間の時間間隔）の暫定値（ＢＤ間隔の暫定値）として、２個の高速走査周期カウント数ＨＳＣが測定される。次に、それら測定された高速走査周期カウント数ＨＳＣが必要に応じて補正されることにより、ＢＤ間隔の最終値が取得される。
【００６４】
続いて、その取得されたＢＤ間隔の最終値を補正することにより、上記３高速走査周期分の走査線が属するのと同じ１フレーム中のすべての走査線（５００高速走査周期分の走査線）につき、基準位置ＲＰ間の時間間隔が基準間隔ＲＩとして推定される。
【００６５】
１フレーム中の複数本の走査線につき、複数個の基準間隔ＲＩが推定されるが、それら基準間隔ＲＩの長さは、すべての走査線に共通するとは限らない。すなわち、それら基準位置ＲＰは、１種類の基準間隔ＲＩのもと、等間隔で並ぶように推定される場合のみならず、複数種類の基準間隔ＲＩのもと、不等間隔で並ぶように推定される場合もある。基準間隔ＲＩの推定手法については、後に詳述する。
【００６６】
図４には、信号処理回路６０が機能ブロック図で表されている。信号処理回路６０は、ＨＳスキャナ１００を制御するＨＳ駆動制御部３００と、ＬＳスキャナ１０２を制御するＬＳ駆動制御部３０２と、光源であるレーザ３０，３２，３４（図４においては、「ＬＤ」で表す。）を制御するＬＤ駆動制御部３０４とを備えている。そのＬＤ駆動制御部３０４は、画像出力制御部３０６によって制御される。
【００６７】
ＨＳ駆動制御部３００と、ＬＳ駆動制御部３０２と、画像出力制御部３０６とに共通に、ＤＤＳ(Direct Digital Synthesizer、ダイレクト・デジタル・シンセサイザ）３１０が接続されている。このＤＤＳ３１０の基本構成の一従来例が、例えば特開２００７−２１５０３９号公報に開示されており、この公報は、それの全体が、引用によって本明細書に合体させられる。
【００６８】
このＤＤＳ３１０には、マスタ発振器３１２が接続されており、基準クロックを２４０ＭＨｚでＤＤＳ３１０に供給する。
【００６９】
ＤＤＳ３１０は、後に詳述するが、基準クロックのもとに動作して、アナログ波形信号をシーケンシャルにデジタル生成し、その生成されたアナログ波形信号をＨＳ駆動制御部３００に出力する。ＤＤＳ３１０は、さらに、そのアナログ波形信号と同期して、低速走査のためのクロック信号（低速走査同期信号）を、ＬＳ駆動制御部３０２と画像出力制御部３０６に出力する。
【００７０】
図５には、ＤＤＳ３１０の基本構成が機能ブロック図で表されている。このＤＤＳ３１０は、波形ＲＯＭ（波形記憶部の一例）３３０と、その波形ＲＯＭ３３０から出力されたデジタル波形データをアナログ波形信号に変換するＤ／Ａコンバータ（図においては、「ＤＡＣ」で表す。）３３２と、そのＤ／Ａコンバータ３３２から出力されたアナログ波形信号から量子化ノイズ等を除去するローパスフィルタ（図において「ＬＰＦ」で表す。）３３４とを備えている。
【００７１】
波形ＲＯＭ３３０の出力波形データは、Ｄ／Ａコンバータ３３２、ローパスフィルタ３３４およびＨＳ駆動制御部３００を順に通過してＨＳスキャナ１００に供給される。
【００７２】
波形ＲＯＭ３３０は、所定の波形（例えば、正弦波）をデジタルデータ（１２ビット）として予め記憶する。具体的には、波形ＲＯＭ３３０は、記憶すべき波形の位相（角度または時間）と振幅との関係を記憶するために、順に並んだ複数のアドレスにそれぞれ関連付けて、複数の振幅を表す複数のデータを記憶している。この波形ＲＯＭ３３０においては、指定アドレスが循環的に増加させられると、それにつれて、波形ＲＯＭ３３０から出力される波形の振幅が周期的に変化する。
【００７３】
本実施形態においては、波形ＲＯＭ３３０のアドレス（１２ビット）のカウンタ（基準クロックと同じタイミングでアドレスを指定するためのカウンタ）として、３２ビットのデータが用いられる。この３２ビットのうち、上位の１２ビットが、波形ＲＯＭ３３０においてアドレスを特定するために用いられ、一方、下位の２０ビットは、１クロックごとにカウンタに加えられる後述の増分Ｘ（可変の設定増分）を表している。下位の２０ビットの初期値がその増分Ｘを表していて、１クロックごとに、その増分Ｘで下位の２０ビットが増加させられる。
【００７４】
具体的には、図５に示すように、カウンタＹは、１クロックごとに増分Ｘで増加するように変化する。具体的には、カウンタＹのうち、上位の１２ビット（アドレス部）は、下位の２０ビットの最上位ビットが桁上がりするごとに、１ずつインクリメントされる。カウンタＹの最上位ビット（アドレス部の最上位ビット）が桁上がりするタイミングで、ＨＳスキャナ１００の１周期（１高速走査周期）が終了する。
【００７５】
本実施形態においては、カウンタＹの上位に、ＬＳスキャナ１０２を制御するためのＬＳカウント値（９ビット）が追加され、全体で１つのデータ（４１ビット）を構成している。
【００７６】
そのＬＳカウント値は、０−４９９（１フレーム当たりの高速走査回数は５００）を表し、カウンタＹのアドレス部の最上位ビットが５００カウントするごとに、１ずつインクリメントされる。そのＬＳカウント値は、リセッタブルカウンタであり、４９９を表している状態で、カウンタＹのアドレス部の最上位ビットが５００カウントすると、０にリセットされる。
【００７７】
ＬＳカウント値の最上位ビットが桁上がりするタイミングで、ＬＳスキャナ１０２の１周期（１低速走査周期）が終了する。したがって、ＤＤＳ３１０は、ＬＳカウント値がリセットされるタイミングと同期するように、低速走査同期信号を生成し、それをＬＳ駆動制御部３０２と画像出力制御部３０６に出力する。
【００７８】
したがって、本実施形態においては、ＨＳスキャナ１００の揺動を制御するためのアドレスの変化と、ＬＳスキャナ１０２の揺動を制御するためのＬＳカウント値とが互いに同期する。
【００７９】
ここで、ＤＤＳ３１０においてそれの出力信号の周波数が変更される原理を説明する。
【００８０】
基準クロックの増加に対する、カウンタＹのうちのアドレス部の増加速度が速いほど、ＤＤＳ３１０の出力信号の周波数が高くなる。一方、増分Ｘが大きいほど、アドレス部の増加速度が速い。したがって、増分Ｘの大きさが、ＤＤＳ３１０の出力信号の周波数を決め、ひいては、ＨＳスキャナ１００の高速走査周波数（駆動周波数）を決めることになる。
【００８１】
増分Ｘは、可変値である。具体的には、増分Ｘは、ベース値Ａ（固定値）と変更量Ｂ（０がデフォールト値である可変値）との和として定義される。変更量Ｂの設定によって増分Ｘを変更すれば、ＨＳスキャナ１００の駆動周波数が変化する。したがって、変更量Ｂの適切な設定により、ＨＳスキャナ１００の駆動周波数を、それに固有の共振周波数の変動に追従するように、変化させることが可能である。
【００８２】
増分Ｘは、本実施形態においては、前述のように、２０ビットで構成されている。これは、増分Ｘが表す周波数が、その増分Ｘを表す複数ビットのうちの最下位ビットを１だけインクリメントまたはデクリメントさせることに伴って変更される量（増分Ｘの最小変更量）が０．０６５Ｈｚであるようにするためであるが、増分Ｘのビット数は、増分Ｘの最小変更量の要求値に応じて適宜設定することが可能である。
【００８３】
ＤＤＳ３１０から出力される信号の１周期が、ちょうど基準クロックの整数倍になるとは限らない。以下、このことを図６を参照して具体的に説明する。
【００８４】
図６（ａ）には、ＨＳスキャナ１００の駆動周波数が３３ｋＨｚである一例について、ＨＳ実波形がグラフで表されている。図６（ｂ）には、そのＨＳ実波形に時間的に関連付けて、カウンタＹの最上位ビットの値の時間的変化がタイムチャートで表され、さらに、図６（ｃ）には、高速走査周期カウント数ＨＳＣの時間的変化が数字の列で表されている。
【００８５】
その高速走査周期カウント数ＨＳＣは、１周期分の高速走査（実波形のうちの１つの山）が開始されてから終了するまでの期間中にカウントされた基準クロック（２４０ＭＨｚ）の数を意味する。
【００８６】
この例においては、基準クロックの周波数が、駆動周波数の整数倍に一致しない。そのため、高速走査周期カウント数ＨＳＣは、理論上は、２４０×１０６を３３×１０３で割り算した割算値であって割り切れないもの、すなわち、約７２７２．７３であるのに対し、前記コンピュータの計算上は、その割算値の小数部が丸められることに起因する丸め誤差が発生する。
【００８７】
よって、第ｉ回の高速走査周期については、「７２７２」となるが、第（ｉ＋１）回の高速走査周期については、前回の高速走査周期における丸め誤差が加算されるため、「７２７３」というように、前回の高速走査周期カウント数ＨＳＣより大きくなる可能性がある。
【００８８】
ここに、「丸め誤差」は、１周期分の高速走査時間が基準クロックのもとにサンプリングされることに起因するサンプリング誤差に相当する。
【００８９】
そのため、図６（ｃ）に示すように、１フレームに属する複数回の高速走査の間において、高速走査周期カウント数ＨＳＣが増減してしまう。このように、ＤＤＳ３１０を採用する場合には、ＨＳスキャナ１００の１周期ごとに測定される高速走査周期カウント数ＨＳＣに、プラスマイナス１個分のクロックが誤差として発生してしまう。
【００９０】
ところで、前述のように、本実施形態においては、すべての走査線につき、各走査線ごとに、基準位置ＲＰ（ＨＳ実波形の頂点の位置）が、そのときのＢＤ信号に基づいて測定されるのではなく、無効エリア内における最初の３高速走査周期分の走査線について測定されたＢＤ間隔に基づいて推定される。
【００９１】
従来においては、１フレーム中、複数の基準位置ＲＰ（ＨＳ実波形の頂点の位置）が等時間間隔で順次出現するという仮定を前提にして、基準間隔ＲＩが、無効エリアについて取得された高速走査周期カウント数ＨＳＣから誘導されるＢＤ間隔（例えば、図６に示す例においては、「７２７２」または「７２７３」）と等しくなるように、１種類のみ決定されていた。
【００９２】
そのため、特別の対策を追加することなく、そのようにして決定された基準間隔ＲＩを起点として、各走査線ごとに、画像書出し位置ＳＯＰを決定すると、１フレーム内において副走査方向に一列に並ぶ複数の画像書出し位置ＳＯＰが、副走査方向に平行な一直線を構成できず、むしろ、その理想直線に対して傾斜した線を構成してしまう。
【００９３】
図６に示す例においては、基準間隔ＲＩを「７２７２」に選んでも「７２７３」に選んでも、有効エリア内を副走査方向に進むにつれて、画像書出し位置ＳＯＰの実際値の、理想値からの誤差が累積して増加する。
【００９４】
したがって、例えば図７（ａ）に示すように、このＲＳＤに入力された画像（ＲＳＤに入力された映像信号によって再現されるべき理想的な画像）が副走査方向（本実施形態においては、水平方向）に延びる一直線として構成される場合には、図７（ｂ）に示すように、このＲＳＤによって実際に出力（表示）される画像が、その理想直線に対して傾斜した線として構成されることになってしまう。
【００９５】
このような傾斜を特別のソフトウエアによって補正するために、本実施形態においては、図４に示すように、信号処理回路６０が、さらに、ＬＳカウンタ３２０と、ＢＤカウンタ３２２と、斜め補正演算部３２４と、テーブルメモリ３２６とを含むように構成されている。
【００９６】
ＬＳカウンタ３２０は、ビームディテクタ（図４においては、「ＢＤ」で表す。）２００からのＢＤ信号に基づき、１フレームの周期、すなわち、ＬＳスキャナ１０２の低速走査周期（５００回の高速走査周期の合計期間の長さでもある）を基準クロックのもとで、低速走査周期クロック数ＬＳＣとしてカウントする。
【００９７】
ＢＤカウンタ３２２は、ＨＳカウンタ３３０と補正部３３２とを備えている。
【００９８】
ＨＳカウンタ３３０は、ビームディテクタ（図４においては、「ＢＤ」で表す。）２００からのＢＤ信号に基づき、ＨＳスキャナ１００の高速走査周期を基準クロックのもとで、高速走査周期クロック数ＨＳＣとしてカウントする。補正部３３２は、その取得された高速走査周期クロック数ＨＳＣを補正することにより、ＢＤ間隔カウント数ＢＤＣを取得する。
【００９９】
斜め補正演算部３２４は、ＬＳカウンタ３２０によって取得された低速走査周期カウント数ＬＳＣと、ＢＤカウンタ３２２によって取得されたＢＤ間隔カウント数ＢＤＣとに基づき、基準間隔ＲＩを決定し、その基準間隔ＲＩに基づき、前述の映像同期信号（レーザ３０，３２，３４を制御するための信号）を生成する。
【０１００】
この斜め補正演算部３２４は、テーブルメモリ３２６において、予め記憶されている複数の補正テーブル（後に詳述する）のうち該当するものを参照することにより、基準間隔ＲＩを決定する。この決定を行うために採用するアルゴリズムについては、後に詳述する。
【０１０１】
この斜め補正演算部３２４は、その生成された映像同期信号を画像出力制御部３０６に供給する。その画像出力制御部３０６は、その供給された映像同期信号に同期するように、映像信号を生成する。具体的には、この画像出力制御部３０６は、映像信号を、対応する映像同期信号のエッジ位置から所定時間（マージンに対応する）経過したときにローレベルからハイレベルに変化するように、生成する。すなわち、この画像出力制御部３０６は、映像信号生成部を有しているのである。
【０１０２】
その生成された映像信号は、ＬＤ駆動制御部３０４に供給される。このＬＤ駆動制御部３０４は、その供給された映像信号に基づいてレーザ３０，３２，３４を駆動する。
【０１０３】
斜め補正演算部３２４は、ＢＤ間隔決定と、基準間隔推定と、映像同期信号生成とを行う。以下、それら３種類の処理をまず、概説する。
【０１０４】
１．ＢＤ間隔決定
ＢＤ間隔決定は、ＨＳカウンタ３３０によって高速走査周期カウント数ＨＳＣを取得するとともに、その取得された高速走査周期カウント数ＨＳＣを、補正部３３２により、必要に応じて補正し、それにより、ＢＤ間隔カウント数ＢＤＣを取得する処理である。このＢＤ間隔決定は、画像を表示するために前記コンピュータが画像表示プログラムを実行することによって実行され、その画像表示プログラムは、図８に、概念的にフローチャートで表されている。
【０１０５】
２．基準間隔推定
基準間隔推定は、ＢＤカウンタ３２２によって取得されたＢＤ間隔カウント数ＢＤＣと、ＬＳカウンタ３２０によって取得された低速走査周期カウント数ＬＳＣとに基づき、テーブルメモリ３２６において必要なテーブルを参照することにより、１フレームについて１種類または複数種類の基準間隔ＲＩを推定するための処理である。この基準間隔推定は、前記コンピュータによって前記画像表示プログラムが実行されることによって実行される。
【０１０６】
３．映像同期信号生成
映像同期信号生成は、その決定された１種類または複数種類の基準間隔ＲＩで複数の基準位置ＲＰが並ぶことを表すように映像同期信号を生成するための処理である。その生成された映像同期信号は、画像出力制御部３０６に供給される。
【０１０７】
図８に示す画像表示プログラムは、このＲＳＤの電源投入後に、前記コンピュータによって実行される。この画像表示プログラムは、ユーザからの画像表示指令に応答して実行されるが、ＢＤ間隔決定および基準間隔推定は、各フレームごとに実行される。
【０１０８】
図８に示す画像表示プログラムが実行されると、まず、ステップＳ１において、ＨＳスキャナ１００を作動させつつ、無効エリアのうち、副走査方向における上流側の部分においてのみレーザ３０，３２，３４のうちの少なくとも一つである光源を連続的に発光させる動作が、最初の３高速走査周期分、行われる。
【０１０９】
その際にビームディテクタ２００から出力されたＢＤ信号に基づき、高速走査周期の長さが、基準クロックのもとにカウントされる。それによって取得された高速走査周期カウント数ＨＳＣは、前記コンピュータ内のレジスタに保存される。
【０１１０】
本実施形態においては、前記コンピュータのうち、このステップＳ１を実行する部分が、ＨＳカウンタ３３０を構成している。
【０１１１】
次に、ステップＳ２において、上記出力されたＢＤ信号に基づき、１フレームの周期である低速走査周期が、基準クロックのもとにカウントされる。具体的には、ある回のフレームの最初のＢＤ検知点と次の回のフレームの最初のＢＤ検知点との間の時間が、基準クロックのもとにカウントされる。それによって取得された低速走査周期カウント数ＬＳＣも、前記レジスタに保存される。
【０１１２】
本実施形態においては、前記コンピュータのうち、このステップＳ２を実行する部分が、ＬＳカウンタ３２０を構成している。
【０１１３】
ところで、本実施形態においては、１フレーム当たり、高速走査が５００周期行われるから、高速走査周期カウント数ＨＳＣを５００倍した値は、理想的には、低速走査周期カウント数ＬＳＣと一致するはずである。しかし、高速走査周期カウント数ＨＳＣにも低速走査周期カウント数ＬＳＣにもサンプリング誤差が存在する。
【０１１４】
一方、それぞれのサンプリング誤差は１クロックを超えないから、低速走査周期カウント数ＬＳＣの方が、高速走査周期カウント数ＨＳＣを５００倍した値より、誤差は小さく、真の値により近いことが容易に推測される。したがって、高速走査周期カウント数ＨＳＣを５００倍した値の誤差（累積誤差であり、その単位はクロック数）は、その値から低速走査周期カウント数ＬＳＣを引き算することにより、近似的に推測することが可能である。
【０１１５】
そこで、ステップＳ３において、１フレーム当たりの高速走査周期カウント数ＨＳＣを５００倍した値から低速走査周期カウント数ＬＳＣを引き算することにより、１フレーム当たりの高速走査周期カウント数ＨＳＣを５００倍した値の誤差Ａが算出される。
【０１１６】
その後、ステップＳ４において、その算出された誤差Ａの絶対値が５００より小さいか否かが判定される。これは、高速走査周期カウント数ＨＳＣの誤差が１クロックより小さいか否かの判定として機能する。
【０１１７】
今回は、誤差Ａの絶対値が５００より小さいと仮定すれば、ステップＳ４の判定がＹＥＳとなり、ステップＳ５において、今回の高速走査周期カウント数ＨＳＣがそのまま、ＢＤ間隔カウント数ＢＤＣとして採用される。このようにして決定されたＢＤ間隔カウント数ＢＤＣも、前記レジスタに保存される。
【０１１８】
これに対して、今回は、誤差Ａの絶対値が５００以上であると仮定すれば、ステップＳ４の判定がＮＯとなり、ステップＳ６において、今回の高速走査周期カウント数ＨＳＣが補正されることにより、ＢＤ間隔カウント数ＢＤＣが決定される。
【０１１９】
具体的には、誤差Ａが、図８のステップＳ６の枠内に数式で表す規則に従って補正される。具体的には、例えば、誤差Ａが５００以上であり、かつ、１０００より小さい場合には、今回の高速走査周期カウント数ＨＳＣから１を差し引いた値として、ＢＤ間隔カウント数ＢＤＣが決定される。また、誤差Ａが−５００以下であり、かつ、−１０００より大きい場合には、今回の高速走査周期カウント数ＨＳＣに１を加えた値として、ＢＤ間隔カウント数ＢＤＣが決定される。また、誤差Ａの絶対値が２０００以上である場合には、今回の高速走査周期カウント数ＨＳＣが、上記の場合に準じて補正されることにより、ＢＤ間隔カウント数ＢＤＣが決定される。
【０１２０】
以上のようにして決定されたＢＤ間隔カウント数ＢＤＣも、前記レジスタに保存される。その後、ステップＳ７に進む。
【０１２１】
本実施形態においては、前記コンピュータのうち、図８に示すステップＳ３ないしＳ６を実行する部分が、図４に示す補正部３３２を構成している。
【０１２２】
ステップＳ５またはＳ６の実行後、ステップＳ７において、ＢＤ間隔カウント数ＢＤＣを５００倍した値から低速走査周期カウント数ＬＳＣを差し引くことにより、ＢＤ間隔カウント数ＢＤＣを５００倍した値の誤差Ｂが算出される。
【０１２３】
その後、ステップＳ８において、その算出された誤差Ｂが０であるか否か（または、０を中心として、幅を有する許容範囲内にあるか否か）が判定される。
【０１２４】
今回は、その誤差Ｂが０であると仮定すれば、ステップＳ８の判定がＹＥＳとなり、その後、ステップＳ９に移行する。
【０１２５】
このステップＳ９においては、基準間隔ＲＩ（１フレームにおけるすべての回の高速走査周期（サイクル）に共通の、基準位置ＲＰ間の時間間隔）を基準クロックのもとにカウントした場合のクロック数が、今回のＢＤ間隔カウント数ＢＤＣと等しくなるように決定される。その後、ステップＳ１２に進む。
【０１２６】
以上、誤差Ｂが０である場合を説明したが、０ではない場合には、ステップＳ８の判定がＮＯとなり、今回のＢＤ間隔カウント数ＢＤＣを補正して基準間隔ＲＩのカウント数を取得するために、ステップＳ１０に移行する。
【０１２７】
このステップＳ１０においては、誤差Ｂの今回値に応じ、テーブルメモリ３２６に記憶されている複数の補正テーブルのうち該当するものが選択される。テーブルメモリ３２６には、誤差Ｂがとり得る複数の値（−５００＜Ｂ＜＋５００）についてそれぞれ、ＢＤ間隔カウント数ＢＤＣを補正するための規則が補正テーブルとして記憶されている。
【０１２８】
図９には、それら複数の補正テーブルのうちの一部によって規定される補正規則が例示されている。
【０１２９】
この例においては、誤差Ｂの今回値が＋２５０である場合には、第１の補正テーブルが選択される。誤差Ｂの今回値が−１０である場合には、第２の補正テーブルが選択される。誤差Ｂの今回値が＋４９９である場合には、第３の補正テーブルが選択される。誤差Ｂの今回値が−４９９である場合には、第４の補正テーブルが選択される。
【０１３０】
例えば、第１の補正テーブルによれば、有効エリア内における奇数番目の高速走査周期の各々については、ＢＤ間隔カウント数ＢＤＣを１だけ減算した値として基準間隔ＲＩが決定され、一方、偶数番目の高速走査周期の各々については、ＢＤ間隔カウント数ＢＤＣと等しい値として基準間隔ＲＩが決定される。
【０１３１】
また、第２の補正テーブルによれば、有効エリア内における（５０×ｊ（１≦ｊ＜１０））番目の高速走査周期の各々については、ＢＤ間隔カウント数ＢＤＣに１だけ加算した値として基準間隔ＲＩが決定され、一方、残りの高速走査周期の各々については、ＢＤ間隔カウント数ＢＤＣと等しい値として基準間隔ＲＩが決定される。
【０１３２】
また、第３の補正テーブルによれば、有効エリア内におけるすべての高速走査周期のうちの１周期のみについて、ＢＤ間隔カウント数ＢＤＣと等しい値として基準間隔ＲＩが決定され、一方、残りの各周期については、ＢＤ間隔カウント数ＢＤＣに１だけ加算した値として基準間隔ＲＩが決定される。
【０１３３】
その後、ステップＳ１１において、選択された補正テーブルに記憶されている補正規則に従い、ＢＤ間隔カウント数ＢＤＣが補正され、それにより、各高速走査周期ごとに（走査線ごとに）、基準間隔ＲＩのカウント数が決定される。その決定された基準間隔ＲＩのカウント数は、前記レジスタに保存される。その後、ステップＳ１２に進む。
【０１３４】
ステップＳ１２においては、今回のフレームにつき、書き出し位置が決定されて画像表示が開始される。続いて、ステップＳ１３において、１フレーム分の画像表示が終了したか否かが判定され、終了していないのであれば、再度、ステップＳ１３に戻るが、終了したならば、ステップＳ１４に進む。
【０１３５】
今回は、画像表示が終了しない、すなわち、さらに画像表示が継続するのであれば、ステップＳ１４の判定がＮＯとなり、ステップＳ１に戻るが、終了する（例えば、表示すべきコンテンツが終了するか、ユーザが表示を終了させる）のであれば、ステップＳ１４の判定がＹＥＳとなり、この画像表示プログラムの実行が終了する。
【０１３６】
図１０（ａ）ないし（ｃ）には、図７（ａ）に示す入力画像に対して、本実施形態に従うＲＳＤを３種類の補正モードでそれぞれ作動させた場合に実現され得る３種類の出力画像がそれぞれ例示されている。
【０１３７】
図１０（ａ），（ｂ）および（ｃ）に示す例は、前述の誤差Ｂを解消するために、１フレーム中のすべての基準位置ＲＰ（５００個の基準位置ＲＰ）を等分割する１つの基準位置ＲＰ（中央の基準位置ＲＰ）、５つの基準位置ＲＰおよび１２の基準位置ＲＰについてそれぞれ、ＢＤ間隔カウント数ＢＤＣを補正した場合の出力画像である。図１０（ａ）に示す例より（ｂ）に示す例の方が、図（ｂ）に示す例より（ｃ）に示す例の方が、より誤差Ｂが分散していることが分かる。
【０１３８】
なお、１フレームごとに誤差Ｂを解消するための少なくとも１回の補正が、１回にＢＤ間隔カウント数ＢＤＣが補正される量ができる限り少なくなるように、また、その補正量が副走査方向において高い分散度を示すように行われるのが望ましいため、誤差Ｂの大きさに応じてＢＤ間隔カウント数ＢＤＣの補正回数が選択される。その結果、解消したい誤差Ｂが多いほど、ＢＤ間隔カウント数ＢＤＣの補正回数が増加することになる。
【０１３９】
以上、本発明の実施の形態のうちの一つを図面に基づいて詳細に説明したが、これは例示であり、前記［発明の開示］の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【図１】
2011133560.tif 000003
【図２】
2011133560.tif 000004
【図３】
2011133560.tif 000005
【図４】
2011133560.tif 000006
【図５】
2011133560.tif 000007
【図６】
2011133560.tif 000008
【図７】
2011133560.tif 000009
【図８】
2011133560.tif 000010
【図９】
2011133560.tif 000011
【図１０】
2011133560.tif 000012