(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0017】
以下、図面を用いて本発明の実施形態について説明する。以下では、本発明の位相調整装置を備えた電子カメラを例に挙げて説明する。
【0018】
図1は、本実施形態の電子カメラの構成を示す機能ブロック図である。なお、
図1では、本発明の特徴部分に関する部分のみを図示する。
図1において不図示の各部分の構成は公知技術と同様であるため、図示および説明を省略する。
【0019】
電子カメラ1は、
図1に示すように、撮像部10、位相調整装置11を備える。撮像部10の出力は、位相調整装置11に入力され、位相調整装置11の出力は、不図示の画像処理部などを経て、不図示の記録部に記録される。また、位相調整装置11には、撮像部10から制御クロックCLKが供給される。
【0020】
撮像部10は、公知の撮像素子、OBクランプ回路、A/D変換部、I/F部、クロック発生部などを備え、画像のデジタルデータを位相調整装置11に入力する。なお、以下では、撮像部10から位相調整装置11に入力されるデータをData(I)と称する。また、撮像部10から位相調整装置11に入力されるデータは、
図2に示すように、フレームデータであり、ブランキングデータと、同期コードデータと、画像データとからなる。撮像部10から位相調整装置11に入力される際には、
図2に示す読み出し方向にしたがって、1ラインずつデータが入力される。さらに、撮像部10には、後述する読み出しモードを示すモード信号が位相調整装置11から供給される。撮像部10は、公知技術と同様に、このモード信号にしたがって、
図2で説明した画像データの出力レートを変更可能である。
【0021】
位相調整装置11は、
図1に示すように、位相調整部21、同期コード検出部22、データ取得部23、位相ずれ検出部24、位相制御部25、CLK制御部26の各部を備える。
【0022】
位相調整部21は、
図3に示すように、遅延制御部31と複数の遅延素子32を備える。遅延制御部31は、不図示の遅延素子を複数備え、位相制御部25からの供給される遅延量設定信号に従って、Data(I)に対して、位相の調整を行う(詳細は後述する)。遅延素子32は、遅延制御部31の出力に対して、固定の遅延処理を施し、遅延制御部31の出力と同位相のData(O)と、Data(O)から所定量遅れたData(+S)と、Data(O)から所定量進んだData(−S)とを生成し、同期コード検出部33に出力する。
【0023】
同期コード検出部22は、位相調整部21から入力された各データ(Data(O)、Data(+S)、Data(−S))から、同期コードを検出する。同期コードの検出の詳細は後述する。そして、同期コードを検出した後は、画像データを、データ取得部25、位相ずれ検出部24にそれぞれ出力するとともに、同期コードを検出したことを示す情報を位相制御部25に供給する。
【0024】
データ取得部23は、同期コード検出部22から入力されたデータのうち、Data(O)を出力データとして出力する。なお、データ取得部23は、CLK制御部26から供給される2種類のクロック(CLK_AおよびCLK_B、詳細は後述する)のうち、いずれかのクロックを使用する。
【0025】
位相ずれ検出部24は、同期コード検出部22から入力された各データ(Data(O)、Data(+S)、Data(−S))に基づいて、位相ずれを検出する。位相ずれ検出部24は、上述したデータ取得部23と同様に、CLK制御部26から供給される2種類のクロック(CLK_AおよびCLK_B、詳細は後述する)のうち、いずれかのクロックを使用する。また、位相ずれ検出部24は、検出結果を位相制御部25に供給する。
【0026】
位相制御部25は、同期コード検出部22および位相ずれ検出部24から供給される情報に基づいて、位相調整を行う際の遅延量を設定し、遅延量設定信号として位相調整部21に供給する。また、後述する読み出しモードを示すモード信号を撮像部10に供給する。
【0027】
CLK制御部26は、撮像部10から供給されたクロック(CLK)に基づいて、同位相のクロック(CLK_A)と、1/4周期ずらしたクロック(CLK_B)を生成し、各部に供給する。CLK,CLK_A,CLK_Bについて、
図4に図示する。CLK制御部26は、位相調整部21および同期コード検出部22に対しては、CLK_Aのみを供給し、データ取得部23および位相ずれ検出部24に対しては、CLK_AおよびCLK_Bの両方を供給する。なお、CLK_AとCLK_Bとの同期を厳密に制御できれば、CLK_AおよびCLK_Bを別々に発振する構成としても良い。
【0028】
以上説明した構成の電子カメラ1において、位相調整における時間的な制約を抑えるとともに、装置の駆動状態や環境変化に応じた位相調整を行う際の位相調整装置11の動作について、
図5のフローチャートおよび
図6のタイミングチャートを用いて説明する。なお、
図6における矢印は、データの取得のタイミングを意味する。
【0029】
ステップS1において、位相調整装置11は、位相制御部25および位相調整部21を制御して、初期調整を行う。
【0030】
初期調整は、位相制御部25に予め設定される初期遅延量設定信号に基づいて行われる。この初期調整は、例えば、所定のテストパターン等を用いて公知技術と同様に行われる。そのため、時間的な制約があるとともに、電子カメラ1の駆動状態や環境変化に応じた位相調整を行うことはできない。
【0031】
ステップS2において、位相調整装置11は、同期コード検出部22を制御して、同期コードを取得する。同期コードは、
図2に示した同期コードデータの部分に予め埋め込まれている。ここでは、「ff 00 ff 00」の4ワードにより構成される同期コードを例に挙げて説明する。
【0032】
同期コード検出部22におけるデータの取得は、CLK制御部26から供給されるCLK_Aにしたがって行われる。撮像部10から位相調整装置11にデータが入力されると、同期コード検出部22は、まず、Data(O)の第1ワードを検出する。第1ワードは「ff」であり、この第1ワードを検出すると、同期コード検出部22は、各データ(Data(O)、Data(+S)、Data(−S))のそれぞれについて、第2ワードを検出する。第2ワードは「00」であり、この第2ワードを検出すると、位相差調整装置11は、ステップS3に進む。
【0033】
ステップS3において、位相調整装置11は、位相ずれ検出部24を制御して、位相調整が必要か否かを判定する。位相調整装置11は、位相調整が必要であると判定すると、ステップS4に進み、位相調整が必要でないと判定すると、後述するステップS6に進む。
【0034】
位相ずれ検出部24は、ステップS2で取得した各データ(Data(O)、Data(+S)、Data(−S))のうち、Data(+S)およびData(−S)の両方が「00」であるか否かを判定する。そして、両方が「00」であると判定すると、Data(+S)およびData(−S)の両方について正しい同期コードが検出できているため、位置調整は不要であると判定する。一方、Data(+S)およびData(−S)の少なくとも一方が「00」でないと判定すると、位相ずれ検出部24は、Data(+S)およびData(−S)の少なくとも一方について正しい同期コードが検出できていないため、位置調整が必要であると判定する。
【0035】
ステップS4において、位相調整装置11は、位相制御部25を制御して、位相ずれ量を検出する。ステップS3で説明したData(+S)およびData(−S)の第2ワードのうち、「00」でないと判定された方向に位相ずれが発生しているので、位相制御部25は、この位相ずれ方向と反対の方向に遅延量を調整するような位相ずれ量を決定する。処理の詳細は公知技術と同様である。
【0036】
ステップS5において、位相調整装置11は、位相制御部25を制御して、位相調整を行う。位相制御部25は、ステップS4で検出した位相ずれ量にしたがって、遅延量設定信号を位相調整部21に供給することにより、位相調整を行う。
【0037】
ステップS6において、位相調整装置11は、データ取得部23および位相ずれ検出部24を制御して、データを取得する。
【0038】
同期コード検出部22により同期コードの第3ワードおよび第4ワードが検出されると、データ取得部23および位相ずれ検出部24は、データの取得準備を行う。
【0039】
データ取得部23におけるデータの取得は、CLK制御部26から供給されるCLK_Bにしたがって行われる。データ取得部23は、
図6に示すように、CLK_Bにしたがって、画像データを順に取得する。この画像データは、記録用のデータである。データ取得部23は、記録用データをData(O)として、適宜不図示の画像処理部に出力する。
【0040】
一方、位相ずれ検出部24におけるデータの取得は、CLK制御部26から供給されるCLK_AおよびCLK_Bの両方にしたがって行われる。データ取得部23は、
図6に示すように、CLK_Aの立ち上がりエッジおよび立ち下がりエッジにしたがって、画像データを順に取得するとともに、CLK_Bの立ち上がりエッジにしたがって、画像データを順に取得する。これらの画像データは、位相ずれ検出用のデータである。位相ずれ検出部24は、取得した位相ずれ検出用のデータを不図示の内部メモリなどに一時記録する。
【0041】
ステップS7において、位相調整装置11は、1ラインの処理が終了したか否かを判定する。位相調整装置11は、1ラインの処理が終了したと判定すると、ステップS8に進み、1ラインの処理が終了していないと判定すると、ステップS6に戻る。
【0042】
ステップS8において、位相調整装置11は、位相ずれ検出部24を制御して、位相調整が必要か否かを判定する。位相調整装置11は、位相調整が必要であると判定すると、ステップS9に進み、位相調整が必要でないと判定すると、後述するステップS10に進む。
【0043】
位相ずれ検出部24は、ステップS6で取得した各データのうち、CLK_Aの立ち上がりエッジにしたがって取得した位相ずれ検出用のデータと、CLK_Aの立ち下がりエッジにしたがって取得した位相ずれ検出用のデータとを、それぞれ、CLK_Bの立ち上がりエッジにしたがって取得した位相ずれ検出用のデータと比較する。そして、CLK_Aの立ち上がりエッジにしたがって取得した位相ずれ検出用のデータと、CLK_Aの立ち下がりエッジにしたがって取得した位相ずれ検出用のデータとの両方が、CLK_Bの立ち上がりエッジにしたがって取得した位相ずれ検出用のデータと同じであるか否かを判定する。そして、両方がCLK_Bの立ち上がりエッジにしたがって取得した位相ずれ検出用のデータと同じであると判定すると、CLK_Aの立ち上がりエッジにしたがって取得した位相ずれ検出用のデータと、CLK_Aの立ち下がりエッジにしたがって取得した位相ずれ検出用のデータとの両方について正しい検出がなされているため、位置調整は不要であると判定する。一方、CLK_Aの立ち上がりエッジにしたがって取得した位相ずれ検出用のデータと、CLK_Aの立ち下がりエッジにしたがって取得した位相ずれ検出用のデータとの少なくとも一方が、CLK_Bの立ち上がりエッジにしたがって取得した位相ずれ検出用のデータと異なると判定すると、位相ずれ検出部24は、CLK_Bの立ち上がりエッジにしたがって取得した位相ずれ検出用のデータとの少なくとも一方について正しい検出がなされていないため、位置調整が必要であると判定する。
【0044】
すなわち、位相ずれ検出部24は、ステップS3で説明した判定において用いたData(+S)およびData(−S)に代えて、CLK_Aの立ち上がりエッジにしたがって取得した位相ずれ検出用のデータと、CLK_Aの立ち下がりエッジにしたがって取得した位相ずれ検出用のデータとを用いて同様の判定を行う。
【0045】
ステップS9において、位相調整装置11は、位相制御部25を制御して、位相ずれ量を検出する。位相制御部25は、ステップS4と同様に位相ずれ方向を求めて、位相ずれ量を決定する。
【0046】
ステップS10において、位相調整装置11は、位相制御部25を制御して、ステップS5と同様に位相調整を行う。なお、この位相調整は、1ライン終了後のブランキングデータの読み出し期間に行われるのが好ましい。
【0047】
ステップS11において、位相調整装置11は、1フレームの処理が終了したか否かを判定する。位相調整装置11は、1フレームの処理が終了したと判定すると、一連の処理を終了し、1フレームの処理が終了していないと判定すると、次のラインを読み出し対象として、ステップS2に戻る。
【0048】
以上説明した一連の処理により、第1クロックと、第1クロックに基づき、第1クロックと位相が異なる第2クロックとを生成し、第1クロックの立ち上がりエッジおよび立ち下がりエッジにしたがって、入力データから位相ずれ検出用のデータを取得するとともに、第2クロックの立ち上がりエッジまたは立ち下がりエッジにしたがって、入力データから記録用のデータを取得する取得する。そして、第1クロックに同期して取得した位相ずれ検出用のデータと、第2クロックに同期して取得した記録用のデータとを比較し、比較結果に基づいて、入力データの位相ずれ量を検出する検出し、検出した位相ずれ量に基づいて、位相を調整する。したがって、位相調整における時間的な制約を抑えるとともに、装置の駆動状態や環境変化に応じた位相調整を行うことができる。
【0049】
特に、位相調整用に大がかりな回路構成を新たに追加することなく、好ましい位相調整を行うことができる。また、同期コードデータや画像データの取得中にも、位相ずれの状態を検知し、位相調整を行うことができる。
【0050】
また、電子カメラなど、出力が一度きりであり、取得に失敗した際の再送ができない装置においては、上述した各効果は特に有用である。
【0051】
なお、
図5のフローチャートのステップS6で説明した位相ずれ検出用のデータは、すべての画素について取得しても良いし、一部の画素についてのみ取得しても良い。また、ステップS9およびステップS10で説明した位相ずれ量の検出および位相調整の直前にのみ取得しても良い。
【0052】
また、
図5のフローチャートのステップS8で説明した判定、ステップS9で説明した位相ずれ量の検出、ステップS10で説明した位相調整は、1ライン終了後のブランキングデータの読み出し期間に行っても良いし、それ以外のタイミングで行っても良い。例えば、任意のラインの途中で行っても良いし、所定ラインが終了するたびに行っても良いし、1フレームが終了するタイミングで行っても良いし、所定フレームが終了するたびに行っても良い。また、
図5のフローチャートのステップS8で説明した判定、ステップS9で説明した位相ずれ量の検出、ステップS10で説明した位相調整を連続して行っても良いし、分離して行っても良い。例えば、ステップS8で説明した判定を1ライン終了後に行い、次の1ライン終了後に、ステップS9で説明した位相ずれ量の検出とステップS10で説明した位相調整とを行っても良い。
【0053】
また、
図5のフローチャートのステップS6で説明した記録用のデータは取得を、CLK_Aにしたがって行う構成としても良い。
【0054】
以上説明した位相調整は、いわゆるシングルデータレートモード(以下SDRモードと称する)における読み出しを前提とした位相調整である。近年、さらにデータレートの高いダブルデータレートモード(以下DDRモードと称する)における読み出しが一般化している。以下では、DDRモードを前提とした位相調整を行う際の位相調整装置11の動作について、
図7のフローチャートおよび
図8のタイミングチャートを用いて説明する。なお、以下では、
図5のフローチャート(SDRモード前提)との相違点についてのみ説明する。
【0055】
ステップS21からステップS27において、位相調整装置11は、
図5のフローチャートのステップS1からステップS7と同様の処理を行う。ただし、位相調整装置11は、ステップS26においてデータを取得する際には、以下の処理を行う。
【0056】
ステップS26において、位相調整装置11は、データ取得部23を制御して、データを取得する。
【0057】
同期コード検出部22により同期コードの第3ワードおよび第4ワードが検出されると、データ取得部23は、データの取得準備を行う。
【0058】
データ取得部23におけるデータの取得は、CLK制御部26から供給されるCLK_Aにしたがって行われる。データ取得部23は、
図8に示すように、CLK_Aの立ち上がりエッジおよび立ち下がりエッジにしたがって、画像データを順に取得する。この画像データは、記録用のデータである。データ取得部23は、記録用データをData(O)として、適宜不図示の画像処理部に出力する。
【0059】
すなわち、ステップS26においては、
図5のステップS6と異なり、CLK_Aにしたがって記録用のデータの取得が行われる。また、ステップS26においては、
図5のステップS6と異なり、位相ずれ検出用のデータの取得は行われない。
【0060】
ステップS28において、位相調整装置11は、1フレームの処理が終了したか否かを判定する。位相調整装置11は、1フレームの処理が終了したと判定すると、一連の処理を終了し、1フレームの処理が終了していないと判定すると、次のラインを読み出し対象として、ステップS22に戻る。
【0061】
以上説明した一連の処理により、SDRモードよりも高速な読み出しを行うDDRモードにおいても、Data(O)から所定量遅れたData(+S)と、Data(O)から所定量進んだData(−S)とを用いて、初期調整に加えた位相調整を行うことができる。
【0062】
次に、上述したSDRモードと、DDRモードとを、電子カメラ1の駆動状態や環境変化に応じて自動で切り替える場合の位相調整装置11の動作について、
図9のフローチャートを用いて説明する。
【0063】
なお、
図9に示す一連の処理は、以下のいずれかのタイミングで開始される。
・電源投入時(スリープ状態からの復帰時も含む)
・
図9に示す一連の処理が終了して、一定時間経過した後
・不図示の温度センサにより、電子カメラ1の内部温度が基準値を下回ったとき
・ユーザによる指示が行われたとき
ステップS41において、位相調整装置11は、DDRモードを設定する。
【0064】
ステップS42において、位相調整装置11は、DDRモードを実行する。位相調整装置11は、
図7のフローチャートのステップS21からステップS28の処理を行い、ステップS43に進む。
【0065】
ステップS43において、位相調整装置11は、位相調整が行われたか否かを判定する。位相調整装置11は、位相調整が行われたと判定すると、ステップS44に進み、位相調整が行われていないと判定すると、後述するステップS45に進む。
【0066】
位相調整装置11は、ステップS42におけるDDRモード実行の際に、ステップS25における位相調整が行われたか否かを判定する。判定の基準はどのように定められても良い。例えば、ステップS42におけるDDRモード実行の際に、1フレームの読み出し中に1回でも位相調整が行われれば、位相調整が行われたと判定しても良いし、1フレームの読み出し中に所定回数以上位相調整が行われた場合に、位相調整が行われたと判定しても良い。
【0067】
ステップS44において、位相調整装置11は、不図示のカウンタを+1する。
【0068】
ステップS45において、位相調整装置11は、nフレームの処理が終了したか否かを判定する。位相調整装置11は、nフレームの処理が終了したと判定すると、ステップS46に進み、nフレームの処理が終了していないと判定すると、次のフレームを読み出し対象として、ステップS42に戻る。なお、nは予め定められたフレーム数(例えば、30フレームなど)である。nが大きくなるほど、SDRモードと、DDRモードとの切り替えタイミングが少なくなり、nが小さくなるほど、SDRモードと、DDRモードとの切り替えタイミングが多くなる。
【0069】
ステップS46において、位相調整装置11は、カウンタ>閾値Taであるか否かを判定する。位相調整装置11は、カウンタ>閾値Taであると判定すると、ステップS47に進み、カウンタ≦閾値Taであると判定すると、カウンタを0に戻して、ステップS42に戻る。閾値Taは予め定められる。カウンタ>閾値Taである場合とは、DDRによる読み出しが不安定であるため、位相調整の頻度が高くなっていると推測できる状態であり、DDRモードからSDRモードへの変更が必要となる場合を示す。一方、カウンタ≦閾値Taである場合とは、DDRによる読み出しが安定して行われていると推測できる状態である。したがって、閾値Taが大きいほど、DDRモードからSDRモードへの変更の可能性が低くなり、閾値Taが小さいほど、DDRモードからSDRモードへの変更の可能性が高くなる。
【0070】
ステップS47において、位相調整装置11は、SDRモードを設定する
ステップS48において、位相調整装置11は、SDRモードを実行する。位相調整装置11は、
図5のフローチャートのステップS1からステップS11の処理を行い、ステップS49に進む。
【0071】
ステップS49において、位相調整装置11は、位相調整が行われたか否かを判定する。位相調整装置11は、位相調整が行われたと判定すると、ステップS50に進み、位相調整が行われていないと判定すると、後述するステップS51に進む。
【0072】
位相調整装置11は、ステップS48におけるSDRモード実行の際に、ステップS5およびステップS10における位相調整が行われたか否かを判定する。判定の基準はどのように定められても良い。例えば、ステップS48におけるSDRモード実行の際に、1フレームの読み出し中に1回でも位相調整が行われれば、位相調整が行われたと判定しても良いし、1フレームの読み出し中に所定回数以上位相調整が行われた場合に、位相調整が行われたと判定しても良い。また、ステップS5における位相調整と、ステップS10における位相調整とを等価に扱っても良いし、重み付けや優先順位をつけても良い。
【0073】
ステップS50において、位相調整装置11は、カウンタを+1する。
【0074】
ステップS51において、位相調整装置11は、nフレームの処理が終了したか否かを判定する。位相調整装置11は、nフレームの処理が終了したと判定すると、ステップS52に進み、nフレームの処理が終了していないと判定すると、次のフレームを読み出し対象として、ステップS48に戻る。なお、nは予め定められたフレーム数(例えば、30フレームなど)である。nが大きくなるほど、SDRモードと、DDRモードとの切り替えタイミングが少なくなり、nが小さくなるほど、SDRモードと、DDRモードとの切り替えタイミングが多くなる。
【0075】
ステップS52において、位相調整装置11は、カウンタ<閾値Tbであるか否かを判定する。位相調整装置11は、カウンタ<閾値Tbであると判定すると、カウンタを0に戻し、次のフレームを読み出し対象としてステップS41に戻る。一方、カウンタ≧閾値Tbであると判定すると、カウンタを0に戻し、次のフレームを読み出し対象としてステップS48に戻る。閾値Tbは予め定められる。カウンタ<閾値Tbである場合とは、SDRによる読み出しが十分に安定して行われているであるため、SDRモードからDDRモードへの変更が好ましいと推測できる状態である。一方、カウンタ≧閾値Tbである場合とは、SDRによる読み出しが不安定であるため、位相調整の頻度が高くなっていると推測できる状態であり、SDRモードでの読み出しが好ましいと推測できる状態である。したがって、閾値Tbが大きいほど、SDRモードからDDRモードへの変更の可能性が低くなり、閾値Tbが小さいほど、SDRモードからDDRモードへの変更の可能性が高くなる。
【0076】
以上説明した一連の処理により、電子カメラ1の駆動状態や環境変化に応じて、SDRモードと、DDRモードとを自動で切り替えることができる。そのため、読み取りを安定的かつ高速に行うことができる。
【0077】
また、電子カメラなど、出力が一度きりであり、取得に失敗した際の再送ができない装置においては、上述した効果は特に有用である。
【0078】
なお、
図9のフローチャートでは、カウンタを用いて、SDRモードおよびDDRモードの切り替えタイミングを決定する例を示したが、本発明はこの例に限定されない。例えば、以下のようなタイミングでSDRモードおよびDDRモードの切り替えタイミングを決定しても良い。
・連続撮影(いわゆる連写)や動画撮影など行う際に、一定数のコマ数、または一定時間の連続動作が続いたときに、SDRモードおよびDDRモードの切り替えを行う。
・不図示の温度センサにより、電子カメラ1の内部温度と基準値との比較結果に基づいて、SDRモードおよびDDRモードの切り替えを行う。
・電源投入時を起点とした経過時間を測定し、経過時間が所定の時間を超えたときに、SDRモードおよびDDRモードの切り替えを行う。
【0079】
また、
図9のフローチャートでは、1フレームが終了するたびに位相調整が行われたか否かを判定する例を示したが、本発明はこの例に限定されない。例えば、任意のラインの途中で判定を行っても良いし、1ラインが終了するたびに判定を行っても良いし、所定ラインが終了するたびに判定を行っても良い。
【0080】
また、
図9のフローチャートでは、nフレームが終了するたびに、カウンタと閾値との比較を行う例を示したが、本発明はこの例に限定されない。例えば、任意のラインの途中で比較を行っても良いし、1ラインが終了するたびに比較を行っても良いし、所定ラインが終了するたびに比較を行っても良いし、1ラインが終了するたびに比較を行っても良い。 ただし、任意のラインの途中で、読み出しモードを変更する場合には、適宜バッファなどを用意し、クロックの変更に伴う遅延を吸収する構成とすればよい。
【0081】
なお、上述した実施形態では、SDRモードにおいて、
図5のフローチャートのステップS5における位相調整と、ステップS10における位相調整との両方を行う例を示したが、本発明はこの例に限定されない。例えば、ステップS5で説明した位相調整を省略し、ステップS10で説明した位相調整のみを行う構成としても良い。
【0082】
また、上述した実施形態では、位相ずれ量の検出と位相調整とを連続して行う例を示したが、位相ずれ量の検出結果を、画像データのタグなどに記録しておき、電子カメラ1の状態の診断などに用いる構成としても良い。
【0083】
また、上述した実施形態では、電子カメラを例に挙げて説明したが、本発明はこの例に限定されない。例えば、動画像を撮像する電子カメラや、スキャナなどの画像読み取り装置にも本発明を同様に適用することができる。
【0084】
また、本発明の
図5、
図7、
図9のフローチャートで説明した処理の一部または全部を、コンピュータにより実現しても良い。この場合、
図5、
図7、
図9のフローチャートで説明した処理の一部または全部をコンピュータに記録しておけばよい。このようなプログラムは、記録媒体に記録されたものでも良いし、インターネットによりダウンロード可能なものでも良い。