(57)【要約】【課題】  画像出力装置の操作者に適切に情報を提供する。【解決手段】  画像出力装置の操作者に対する情報を、画像データ供給装置に向かって、文書、画像、または音声などの形態で出力し、画像データ供給装置では出力されてきた情報を、そのまま再生する。情報がこのような形態で記述されていれば、操作者は直ちに情報を理解することができるので、画像データ供給装置では、単に情報を再生するだけで、操作者に適切な情報を提供することができる。また、情報を再生するだけであれば、どのような機器でも実行することが可能であるため、画像データ供給装置にどのような画像出力装置が接続された場合でも、更には、画像出力装置に画像データを供給する機器がどのような機器であった場合でも、操作者に対して適切に情報を提供することが可能となる。【選択図】        図２４
2006150912.tif 000002
【特許請求の範囲】
【請求項１】
画像を出力する画像出力装置と、該画像出力装置に画像データを供給する画像データ供給装置とを備える画像出力システムにおいて、
前記画像出力装置には、該出力装置の操作者に対する情報を、文書、画像、または音声の少なくとも何れかの形態を含んで出力する情報出力手段が設けられており、
前記画像データ供給装置には、前記画像出力装置から出力された情報を、受け取った形態に従って再生する情報再生手段が設けられていることを特徴とする画像データ出力システム。
【請求項２】
請求項１記載の画像出力システムにおいて、
前記情報出力手段は、前記操作者に対する情報として、前記画像出力装置の動作状態を出力する手段であることを特徴とする画像出力システム。
【請求項３】
請求項１または請求項２に記載の画像出力システムにおいて、
前記情報出力手段は、前記操作者に対する情報に加えて、該情報が文書、画像、または音声のいずれの形態で記述されているかを示す記述形態データを出力する手段であり、
前記情報再生手段は、前記画像出力装置から出力された情報を、前記記述形態データが示す形態に従って再生する手段であることを特徴とする画像出力システム。
【請求項４】
請求項３記載の画像出力システムにおいて、
前記情報出力手段は、マークアップ言語によって記述された前記情報を、前記画像データ供給装置に出力する手段であることを特徴とする画像出力システム。
【請求項５】
請求項１記載の画像出力システムにおいて、
前記画像出力装置にも、該出力装置の操作者に対する情報を、文書、画像、または音声の少なくとも何れかの形態を含んで再生する情報再生手段が設けられており、
前記情報出力手段は、前記情報再生手段によって再生される情報を、前記画像データ供給装置に出力する手段であることを特徴とする画像出力システム。
【請求項６】
画像データを受け取って画像を出力する画像出力装置において、
前記画像出力装置の操作者に対する情報を、前記画像データを供給する機器に向かって、文書、画像、または音声の少なくとも何れかを含んだ形態で出力することを特徴とする画像出力装置。
【請求項７】
画像データ供給装置に接続された画像出力装置の操作に伴う情報を、該画像出力装置の操作者に報知する情報報知方法において、
前記画像出力装置の操作者に報知するべき情報を、文書、画像、または音声の少なくとも何れかを含んだ形態で、前記画像データ供給装置に向かって出力する第１の工程と、
前記画像出力装置から出力された情報を、受け取った形態に従って再生する第２の工程と
を備えることを特徴とする情報報知方法。
【請求項８】
画像データを受け取って画像を出力する画像出力装置の操作に伴う情報を、該画像出力装置の操作者に報知する情報報知方法において、
前記画像出力装置の操作者に報知するべき情報を、文書、画像、または音声の少なくとも何れかを含んだ形態で、前記画像データを供給する機器に向かって出力する工程を備えることを特徴とする情報報知方法。
【請求項９】
画像データ供給装置に接続された画像出力装置の操作に伴う情報を、該画像出力装置の操作者に報知する方法を、コンピュータを用いて実現するプログラムにおいて、
前記画像出力装置の操作者に報知するべき情報を、文書、画像、または音声の少なくとも何れかを含んだ形態で、前記画像データ供給装置に向かって出力する第１の機能と、
前記画像出力装置から出力された情報を、受け取った形態に従って再生する第２の機能と
を実現することを特徴とするプログラム。
【請求項１０】
画像データを受け取って画像を出力する画像出力装置の操作に伴う情報を、該画像出力装置の操作者に報知する方法を、コンピュータを用いて実現するプログラムにおいて、
前記画像出力装置の操作者に報知する情報を、文書、画像、または音声の少なくとも何れかを含んだ形態で、前記画像データを供給する機器に向かって出力する機能を実現することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像出力装置の操作に伴う情報を、該出力装置の操作者に伝達する技術に関する。
【背景技術】
【０００２】
いわゆるインクジェットプリンタやレーザープリンタ等に代表される画像出力装置は、画像の表示速度や画質など、種々の面での改良が目覚ましく、このため、文字や図形などのような人工的な画像から写真のような自然画像まで、あらゆる画像の出力装置として使用されるようになっている。また、これに伴って画像出力装置には、例えばコンピュータやデジタルカメラ、更には携帯電話など、種々の機器が接続されて、これら画像データ供給装置から画像データが供給されるようになっている。
【０００３】
一方、画像出力装置の動作状態（例えば、「データ受信中」や、「画像出力中」、「インク切れ」、「用紙切れ」など）を表示する場合には、動作状態に応じたコードデータを画像出力装置から出力することによって行うことが一般的である。また、コードデータでは、操作者が内容を理解することは困難であることから、画像出力装置から画像データ供給装置に向かってコードデータを供給し、画像データ供給装置がコードデータを解釈して表示態様を切り換える技術が提案されている（例えば、特許文献１）。あるいは、所定のボタンが押されると、コードデータが解釈されて対応するメッセージが表示されたり、読み上げられるようにすることで、操作者がコードデータの内容を容易に理解できるようにする技術も提案されている（例えば、特許文献２、特許文献３など）。
【０００４】
【特許文献１】特開２００２−２３６５７３号公報
【特許文献２】特開平１−１４７９５０号公報
【特許文献３】特開平４−２３６６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、これら従来の技術では、画像出力装置から出力されるコードデータを解釈するための情報を、予め、画像データ供給装置に記憶しておかなければならないという問題がある。もちろん、コードデータを予め規格化しておけば、どのような画像出力装置から出力されるコードデータであっても同じように解釈することが可能となるが、例えば、画像出力装置に新たな機能や機構などが搭載された場合、これら機能や機構に拘わるコードデータは新たに追加されたものとなるので、単にコードデータを予め規格化しておくだけでは、このような新たに追加されたコードデータに対応することはできない。あるいは、画像出力装置から出力されるコードデータを解釈するための情報を、インターネットや各種記録媒体などから読み込むこととすれば、新たに追加されたコードデータであっても、これを適切に解釈して表示することが可能となるが、全ての画像データ供給装置がインターネットに接続可能なわけではなく、また記録媒体から必要なデータを読み込めるわけではない。
【０００６】
更には、こうした問題は、画像出力装置の動作状態を表示する場合に限らず、例えば、画像出力装置の操作方法など、操作者に対して何らかの情報を伝達しようとする場合にも、同様に生じ得る。
【０００７】
この発明は従来技術における上述した課題を解決するためになされたものであり、画像出力装置の操作に伴う情報を、該画像出力装置の操作者に、理解し易い形態で簡便に伝達することを可能とする技術の提供を目的とする。
【課題を解決するための手段】
【０００８】
上述した課題の少なくとも一部を解決するために、本発明の画像出力システムは、次の構成を採用した。すなわち、
画像を出力する画像出力装置と、該画像出力装置に画像データを供給する画像データ供給装置とを備える画像出力システムにおいて、
前記画像出力装置には、該出力装置の操作者に対する情報を、文書、画像、または音声の少なくとも何れかの形態を含んで出力する情報出力手段が設けられており、
前記画像データ供給装置には、前記画像出力装置から出力された情報を、受け取った形態に従って再生する情報再生手段が設けられていることを特徴とする。
【０００９】
かかる本発明の画像出力システムにおいては、画像出力装置の操作者に対する情報が、該画像出力装置から、文書、画像、または音声の少なくともいずれかの形態を含んだ態様で、画像データ供給装置に向かって出力される。そして、画像データ供給装置では、出力されてきた情報を、受け取った態様に従って再生する。すなわち、操作者に対する情報が、文書または画像の形態で画像出力装置から出力された場合には、受け取った情報を、文書または画像として表示する。また、画像出力装置から音声の形態で出力されてきた場合には、受け取った情報を音声として再生する。
【００１０】
このように、操作者に対する情報を、画像出力装置から画像データ供給装置に向かって、文書、画像、音声など、操作者がそのまま理解可能な形態で出力しておけば、画像データ供給装置では画像出力装置から受け取った情報をそのまま再生するだけで、直ちに理解可能な形態で、操作者に情報を提供することが可能となる。このため、画像出力装置から受け取った情報を解釈するためのデータを、予め画像データ供給装置に記憶しておく必要がなく、どのような画像出力装置が接続された場合でも、適切な情報を、簡便に、操作者に提供することが可能となる。更に、画像データ供給装置にとっても、単に受け取った情報を表示あるいは再生するだけで良いので、画像データ供給装置の構成あるいは制御内容を簡素なものとすることができる。
【００１１】
こうした画像出力システムにおいては、画像出力装置の動作状態を、操作者に対する情報として、該画像出力装置から画像データ供給装置に向かって出力することとしても良い。ここで、画像出力装置の動作状態としては、例えば、「画像データの受信中」や、「データ処理中」、「画像の出力中」といったステータス情報や、あるいは「用紙切れ」や、「通信異常の発生」といった何らかのエラー情報などとすることができる。
【００１２】
操作者に対する情報として、画像出力装置の動作状態を提供するのであれば、画像データ供給装置の側では、供給された情報を再生するだけで足りることが多く、供給された情報を受けて画像データ供給装置の側で複雑な処理が必要となることが無いので好ましい。特に、本願の画像出力システムの利点の一つには、画像データ供給装置の構成あるいは制御を複雑化させることなく操作者に適切な情報を提供可能なことがあり、画像出力装置からの情報を受けて画像データ供給装置側で複雑な処理を行ったのでは、こうした利点が減殺されてしまう。この点、画像出力装置の動作状態であれば、画像データ供給装置の側では、受け取った情報の再生以外の処理を行ったとしても、複雑な処理が必要となることが無いので好適である。
【００１３】
また、操作者に対する情報は、その情報が記述されている形態（例えば文書、画像、または音声など）を示す記述形態データとともに、画像出力装置から画像データ供給装置に向かって出力することとして、画像データ供給装置では、受け取った情報を、記述形態データに示された形態に従って再生することとしても良い。
【００１４】
このように、操作者に対する情報を記述形態データとともに出力し、受け取った情報を記述形態データに従って再生することとすれば、操作者に対する情報の記述形態を柔軟に切り替えることができる。このため、例えば情報の内容に応じて、文字、画像、音声など適切な形態で、操作者に対する情報を提供することも可能となるので好ましい。
【００１５】
また、操作者に対する情報を、いわゆるマークアップ言語によって記述することとしても良い。ここで、マークアップ言語とは、タグと呼ばれる特殊な文字列を埋め込ながら文章を記述することにより、文章の構造を表現可能な言語の総称であり、代表的なものとしては、ＳＧＭＬ、ＨＴＭＬ、ＸＭＬなどの仕様が知られている。また、文章の構造としては、論理的な構造や、見出しのような形式的な構造、字下げや字体のような装飾的な構造、画像や音声のようなデータの形態に関する構造など、種々の構造を表現することが可能である。
【００１６】
マークアップ言語は、タグを用いることで、種々の構造を柔軟に且つ簡単に記述することが可能である。また、マークアップ言語で記述されたデータは、単純なプログラムによって適切に再生することが可能である。このため、画像出力装置の操作者に対する情報を、マークアップ言語で記述しておけば、簡便に且つ適切に、操作者に情報を提供することが可能となるので好ましい。
【００１７】
また、画像出力装置の中には、操作者に必要な情報を提供するために、文書、画像、あるいは音声などのデータを再生する機能が搭載された装置も存在する。このような画像出力装置では、自らが再生して操作者に提供するための情報を、画像データ供給装置に出力することとしてもよい。
【００１８】
こうすれば、画像出力装置は、自らが再生するための情報と、画像データ供給装置で再生するための情報とを二重に記憶しておく必要が無いので好ましい。また、操作者にとっても、画像出力装置からと画像データ供給装置からとで同じ情報が提供されることになるため、提供された内容を、なんら混乱することなく容易に理解することができる。
【００１９】
また、上述した本発明の画像出力システムは、着目する箇所に応じて種々の態様として把握することができる。例えば、操作者に対して情報を出力している点に着目すると、本発明は画像出力装置として把握することができる。すなわち、こうした本発明の画像出力装置は、
画像データを受け取って画像を出力する画像出力装置において、
前記画像出力装置の操作者に対する情報を、前記画像データを供給する機器に向かって、文書、画像、または音声の少なくとも何れかを含んだ形態で出力することを特徴とする。
【００２０】
かかる本発明の画像出力装置においては、画像データを供給する機器に向かって、画像出力装置の操作者に対する情報を、文書、画像、または音声の少なくとも何れかを含んだ形態で出力する。このように、文書、画像、または音声といった形態であれば、操作者は直ちに内容を理解することができるので、画像データ供給装置は、受け取った情報を単に再生するだけで、操作者に対して適切に情報を提供することができる。また、情報を再生するだけであれば、簡単に実現可能であることから、どのような機器から画像データを受け取った場合でも、操作者に対する情報を、機器を選ばず適切に提供することが可能となる。
【００２１】
また、画像出力装置の操作者に対する情報を報知している点に着目すれば、本発明は情報を報知する方法として把握することができる。すなわち、こうした本発明の第１の情報報知方法は、
画像データ供給装置に接続された画像出力装置の操作に伴う情報を、該画像出力装置の操作者に報知する情報報知方法において、
前記画像出力装置の操作者に報知するべき情報を、文書、画像、または音声の少なくとも何れかを含んだ形態で、前記画像データ供給装置に向かって出力する第１の工程と、
前記画像出力装置から出力された情報を、受け取った形態に従って再生する第２の工程と
を備えることを特徴とする。
【００２２】
かかる本発明の第１の情報報知方法においても、操作者に報知するべき情報を、文書、画像、または音声の少なくとも何れかを含んだ形態で出力し、これを画像データ供給装置で再生する。こうすれば、受け取った情報を単に再生するだけで、操作者に情報を適切に報知することが可能となる。
【００２３】
また、特に、操作者に対する情報を出力している点に着目すると、本発明は次のような情報報知方法として把握することができる。すなわち、本発明の第２の情報報知方法は、
画像データを受け取って画像を出力する画像出力装置の操作に伴う情報を、該画像出力装置の操作者に報知する情報報知方法において、
前記画像出力装置の操作者に報知するべき情報を、文書、画像、または音声の少なくとも何れかを含んだ形態で、前記画像データを供給する機器に向かって出力する工程を備えることを特徴とする。
【００２４】
かかる本発明の第２の情報報知方法においても、画像出力装置の操作に伴う情報を、文書、画像、または音声の少なくとも何れかを含んだ形態で出力する。このような形態で出力しておけば、受け取った情報を単に再生するだけで、操作者が直ちに理解可能な状態で適切に報知することができる。
【００２５】
更に本発明は、上述した情報報知方法を実現するためのプログラムをコンピュータに読み込ませ、コンピュータを用いて実現することも可能である。従って、本発明は次のようなプログラム、あるいは該プログラムを記録した記録媒体として把握することもできる。すなわち、上述した第１の情報報知方法に対応する本発明のプログラムは、
画像データ供給装置に接続された画像出力装置の操作に伴う情報を、該画像出力装置の操作者に報知する方法を、コンピュータを用いて実現するプログラムにおいて、
前記画像出力装置の操作者に報知するべき情報を、文書、画像、または音声の少なくとも何れかを含んだ形態で、前記画像データ供給装置に向かって出力する第１の機能と、
前記画像出力装置から出力された情報を、受け取った形態に従って再生する第２の機能と
を実現することを特徴とする。
【００２６】
また、上記のプログラムに対応する本発明の記録媒体は、
画像データ供給装置に接続された画像出力装置の操作に伴う情報を、該画像出力装置の操作者に報知するプログラムを、コンピュータで読み取り可能に記録した記録媒体において、
前記画像出力装置の操作者に報知するべき情報を、文書、画像、または音声の少なくとも何れかを含んだ形態で、前記画像データ供給装置に向かって出力する第１の機能と、
前記画像出力装置から出力された情報を、受け取った形態に従って再生する第２の機能と
を実現するプログラムを記憶していることを特徴とする。
【００２７】
更に、上述した第２の情報報知方法に対応する本発明のプログラムは、
画像データを受け取って画像を出力する画像出力装置の操作に伴う情報を、該画像出力装置の操作者に報知する方法を、コンピュータを用いて実現するプログラムにおいて、
前記画像出力装置の操作者に報知する情報を、文書、画像、または音声の少なくとも何れかを含んだ形態で、前記画像データを供給する機器に向かって出力する機能を実現することを特徴とする。
【００２８】
また、上記のプログラムに対応する本発明の記録媒体は、
画像データを受け取って画像を出力する画像出力装置の操作に伴う情報を、該画像出力装置の操作者に報知するプログラムを、コンピュータで読み取り可能に記録した記録媒体において、
前記画像出力装置の操作者に報知する情報を、文書、画像、または音声の少なくとも何れかを含んだ形態で、前記画像データを供給する機器に向かって出力する機能を実現するプログラムを記録していることを特徴とする。
【００２９】
こうしたプログラム、あるいは記録媒体に記録されているプログラムをコンピュータに読み込ませ、該コンピュータを用いて上述の各種機能を実現すれば、画像出力装置の操作者に報知するべき情報を、簡便に且つ適切に報知することが可能となる。
【発明を実施するための最良の形態】
【００３０】
以下では、本発明の作用・効果をより明確に説明するために、本発明の実施の形態を、次のような順序に従って説明する。
Ａ．装置構成  ：
Ａ−１．ゲーム機の構成  ：
Ａ−２．カラープリンタの構成  ：
Ｂ．ゲーム画面の表示の概要  ：
Ｃ．画像印刷処理の概要  ：
Ｄ．第１実施例のプリンタ情報表示処理  ：
Ｅ．第２実施例のプリンタ情報表示処理  ：
【００３１】
Ａ．装置構成  ：
Ａ−１．ゲーム機の構成  ：
図１は、ゲーム機１００とカラープリンタ２００とによって構成される本実施例の画像出力システムを示した説明図である。ゲーム機１００は、ＣＰＵ１０１を中心として、メインメモリ１１０、座標変換器（以下、ＧＴＥ：Ｇeometry Ｔransfer Ｅngine）１１２、フレームバッファ１１４、画像処理器（以下、ＧＰＵ：Ｇraphic Ｐroccesing Ｕnit）１１６、ＲＯＭ１０８、ドライバ１０６、通信制御部１０３などが、バスを介して相互にデータをやり取り可能に接続されて構成されている。また、ゲーム機１００には、ゲーム機１００の操作を行うためのコントローラ１０２などが接続されている。
【００３２】
ＣＰＵ１０１は、いわゆる算術演算や論理演算を実行する中央演算装置であり、ゲーム機１００全体の制御を司っている。ＲＯＭ１０８は、読み出し専用のメモリであり、ゲーム機１００の電源投入後にＣＰＵ１０１が初めに実行するプログラム（ブートプログラム）を始めとして、各種のプログラムが格納されている。メインメモリ１１０は、データの読み出しおよび書き込みが可能なメモリであり、ＣＰＵ１０１が算術演算や論理演算を実行する際に一時的な記憶領域として使用される。ＧＴＥ１１２は、ＣＰＵ１０１の制御の下で、メインメモリ１１０にアクセスしながら、幾何学的形状を三次元空間で移動、回転させるための演算を高速に実行する。ＧＰＵ１１６は、ＣＰＵ１０１からの命令を受けて、モニタ１５０上に表示される画面を生成する処理を高速に実行する。フレームバッファ１１４は、ＧＰＵ１１６が、モニタ１５０上に表示される画面を生成するために使用する専用メモリである。ＧＰＵ１１６は、フレームバッファ１１４上に生成した画面のデータを読み出してモニタ１５０に出力することにより、ゲーム中の画面を表示する。
【００３３】
ゲームを実行するためのプログラムや各種のデータは、いわゆるコンパクトディスクやデジタルビデオディスクなどの記憶ディスク１０５に記憶されている。これら記憶ディスク１０５をゲーム機１００にセットすると、記憶ディスク１０５に記憶されているプログラムおよびデータがドライバ１０６によって読み出され、メインメモリ１１０に一旦記憶される。そして、コントローラ１０２の操作内容が通信制御部１０３を介してＣＰＵ１０１に入力されると、ＣＰＵ１０１が、メインメモリ１１０に記憶されているプログラムを読み出して所定の処理を実行することにより、ゲームが実行される。
【００３４】
また、ゲーム機１００にはカラープリンタ２００が接続されており、ゲーム機１００から画像データを供給することによって、ゲーム中の画面をカラープリンタ２００から出力することが可能となっている。ゲーム機１００およびカラープリンタ２００は、全体として本実施例の画像出力システムを構成している。
【００３５】
Ａ−２．カラープリンタの構成  ：
図２は、本実施例の画像出力システムを構成するカラープリンタ２００の概略構成を示す説明図である。カラープリンタ２００はシアン，マゼンタ，イエロ，ブラックの４色インクのドットを形成可能なインクジェットプリンタである。もちろん、これら４色のインクに加えて、染料または顔料濃度の低いシアン（淡シアン）インクと、染料または顔料濃度の低いマゼンタ（淡マゼンタ）インクとを含めた合計６色のインクドットを形成可能なインクジェットプリンタを用いることもできる。尚、以下では場合によって、シアンインク，マゼンタインク，イエロインク，ブラックインク，淡シアンインク，淡マゼンタインクのそれぞれを、Ｃインク，Ｍインク，Ｙインク，Ｋインク，ＬＣインク，ＬＭインクと略称することがあるものとする。
【００３６】
カラープリンタ２００は、図示するように、キャリッジ２４０に搭載された印字ヘッド２４１を駆動してインクの吐出およびドット形成を行う機構と、このキャリッジ２４０をキャリッジモータ２３０によってプラテン２３６の軸方向に往復動させる機構と、紙送りモータ２３５によって印刷用紙Ｐを搬送する機構と、ドットの形成やキャリッジ２４０の移動および印刷用紙の搬送を制御する制御回路２６０などから構成されている。
【００３７】
キャリッジ２４０には、Ｋインクを収納するインクカートリッジ２４２と、Ｃインク，Ｍインク，Ｙインクの各種インクを収納するインクカートリッジ２４３とが装着されている。インクカートリッジ２４２，２４３をキャリッジ２４０に装着すると、カートリッジ内の各インクは図示しない導入管を通じて、印字ヘッド２４１の下面に設けられた各色毎のインク吐出用ヘッド２４４ないし２４７に供給される。
【００３８】
図３は、インク吐出用ヘッド２４４ないし２４７におけるインクジェットノズルＮｚの配列を示す説明図である。図示するように、インク吐出用ヘッドの底面には、Ｃ，Ｍ，Ｙ，Ｋの各色のインクを吐出する４組のノズル列が形成されており、１組のノズル列あたり４８個のノズルＮｚが、一定のノズルピッチｋで配列されている。
【００３９】
制御回路２６０は、ＣＰＵや、ＲＯＭ、ＲＡＭ、ＰＩＦ（周辺機器インターフェース）等がバスで相互に接続されて構成されている。制御回路２６０は、キャリッジモータ２３０および紙送りモータ２３５の動作を制御することによってキャリッジ２４０の主走査動作および副走査動作を制御するとともに、外部から供給される印刷データに基づいて、各ノズルから適切なタイミングでインク滴を吐出する制御を行う。こうして、制御回路２６０の制御の下、印刷媒体上の適切な位置に各色のインクドットを形成することによって、カラープリンタ２００はカラー画像を印刷することができる。
【００４０】
また、インク滴を吐出するためにノズルに供給される駆動信号波形を制御してやれば、吐出されるインク滴の大きさを変更して、大きさの異なるインクドットを形成することもできる。このようにしてインクドットの大きさを制御することができれば、印刷しようとする画像の領域に応じて異なる大きさのインクドットを使い分けてやることで、より高画質の画像を印刷することも可能となる。
【００４１】
尚、各色のインク吐出ヘッドからインク滴を吐出する方法には、種々の方法を適用することができる。すなわち、ピエゾ素子を用いてインクを吐出する方式や、インク通路に配置したヒータでインク通路内に泡（バブル）を発生させてインク滴を吐出する方法などを用いることができる。また、インクを吐出する代わりに、熱転写などの現象を利用して印刷用紙上にインクドットを形成する方式や、静電気を利用して各色のトナー粉を印刷媒体上に付着させる方式のプリンタを使用することも可能である。
【００４２】
以上のようなハードウェア構成を有するカラープリンタ２００は、キャリッジモータ２３０を駆動することによって、各色のインク吐出用ヘッド２４４ないし２４７を印刷用紙Ｐに対して主走査方向に移動させ、また紙送りモータ２３５を駆動することによって、印刷用紙Ｐを副走査方向に移動させる。制御回路２６０は、キャリッジ２４０の主走査および副走査の動きに同期させながら、適切なタイミングでノズルを駆動してインク滴を吐出することによって、カラープリンタ２００は印刷用紙上にカラー画像を印刷することが可能となっている。
【００４３】
Ｂ．ゲーム画面の表示の概要  ：
本実施例の画像出力システムを構成するゲーム機１００は、ゲームの舞台として設定された仮想的な三次元空間の中で、メインキャラクタを操作することによってゲームが進行するようになっている。図４は、モニタ１５０上にゲーム中の画面が表示されている様子を例示した説明図である。図示されている画面には、想像上の惑星表面が表示されており、惑星の表面には各種の建造物が設定されている様子が仮想的に表示されている。このようなゲームの舞台の中を、メインキャラクタである飛行艇を操縦しながら進んでいくことによってゲームが行われる。
【００４４】
モニタ１５０の画面では二次元の形状しか表現し得ないが、ゲーム機１００の内部では、惑星表面や、飛行艇、各種の建造物などについては三次元的な形状を伴った物体として表現されている。このように、ゲーム機１００の内部で三次元的な形状を伴うものとして扱われている物体を、本明細書中では「オブジェクト」と呼ぶことにする。図４に例示した画面では、画面のほぼ中央に大きく表示された飛行艇ob1 や、惑星表面ob2 、ドーム状の建造物ob3 、遠方に見えるピラミッド状の２つの建造物ob11、ob12、更には、惑星の表面上を飛行する６つの円盤ob4 ないしob9 などがオブジェクトであり、これらについては、物体の表面形状を三次元的に表すデータが記憶されている。このため、メインキャラクタである飛行艇ob1 を操作することにより、飛行艇ob1 に対して、他のオブジェクト（例えば建造物や円盤等）の位置関係が変化すると、これに伴って、モニタ１５０上でのオブジェクトの見え方も変化することになる。この結果、飛行艇ob1 や、惑星表面ob2 などのオブジェクトは、想像によって作り出されたものであるにも拘わらず、あたかも現実に存在しているかのように、モニタ１５０に表示することが可能となっている。また、詳細には後述するが、ゲーム機１００では、モニタ１５０に表示された画面をカラープリンタ２００から出力することにより、あたかも写真で撮影したかのような画像を印刷することも可能となっている。
【００４５】
尚、図４に示した例では、惑星の空の部分や、空に浮かぶ衛星は、オブジェクトではなく二次元的な画像がそのままモニタ１５０に表示されたものとなっている。従って、これらについては、飛行艇ob1 を操作しても、モニタ１５０上での見え方が変化することはない。これは、ゲームのメインキャラクタである飛行艇ob1 の移動範囲に対して極めて遠方にあるため、飛行艇ob1 の位置が変わっても見え方はほとんど変化せず、従って二次元画像として扱えば十分であることによる。図５は、モニタ１５０の画面上で、二次元画像がそのまま表示されている領域を、ハッチングを付して表した説明図である。このように、ゲーム機１００では、モニタ１５０に表示される画面の一部に、二次元画像を嵌め込んで表示することも可能となっている。
【００４６】
次に、本実施例の画像出力システムを構成するゲーム機１００が、物体を三次元的な形状を伴ったオブジェクトとして取り扱う方法について説明する。図６は、メインキャラクタである飛行艇ob1 の形状を示す斜視図である。図の左側には、飛行艇ob1 を斜め後方から見た様子が示されており、図の右側には、飛行艇ob1 を斜め前方から様子が示されている。図示されているように、飛行艇ob1 は、表面のほとんどの部分が滑らかな曲面によって構成されている。ゲーム機１００の内部では、このような三次元的な曲面を有する物体を、平面多角形を用いて表現する。すなわち、三次元的な曲面を細かな平面多角形に分割し、これら平面多角形によって近似的に表現していることになる。
【００４７】
図７は、メインキャラクタの飛行艇ob1 の形状を細かな平面多角形によって表現した様子を概念的に示した説明図である。このように、細かな多角形に分割すれば三次元的な曲面を持った物体形状を、平面多角形によって表現することが可能である。尚、このような平面多角形は「ポリゴン」と呼ばれている。ゲーム機１００では、全てのオブジェクトがポリゴンの集まりとして表現されており、ポリゴンを構成する各頂点の三次元座標値によってオブジェクトの形状が表現されている。本明細書においては、ポリゴンの頂点の座標によってオブジェクトの形状を表現したデータを、「ポリゴンデータ」と呼ぶことにする。また、ゲーム機１００においては、各オブジェクトのポリゴンデータは、オブジェクトテーブルと呼ばれるテーブルによって管理されている。
【００４８】
図８は、本実施例の画像出力システムを構成するゲーム機１００において、各オブジェクトのポリゴンデータを管理するために用いられるオブジェクトテーブルを概念的に示した説明図である。図示されているように、オブジェクトテーブルには、各オブジェクトを識別するためのオブジェクト番号と、オブジェクトの形状を示したポリゴンデータが格納されているメインメモリ１１０の先頭アドレスと、オブジェクトを構成するポリゴン数とが記憶されている。オブジェクトテーブルには、このようなオブジェクト番号とポリゴンデータの先頭アドレスとポリゴン数とを一組とするレコードが、オブジェクトの数だけ設定されている。
【００４９】
図９は、オブジェクトの形状を示したポリゴンデータのデータ構造を示す説明図である。図示されているようにポリゴンデータは、ポリゴンの通し番号と、各ポリゴンを構成する頂点のＸＹＺ座標値と、ポリゴンに付与されるテクスチャの番号と、オブジェクトに設定されている基準点のＸＹＺ座標値などから構成されている。このうち、ポリゴンの番号、頂点座標、テクスチャ番号についてはポリゴン毎に一組ずつ設定されており、一方、基準点のＸＹＺ座標値はオブジェクト毎に設定されている。
【００５０】
各ポリゴンに設定されている頂点座標の個数は、ポリゴンの形状に応じた個数が設定されている。例えば、ポリゴンが三角形であれば３つの頂点から構成されているから、そのポリゴンについては３つの頂点座標が設定される。同様に、ポリゴンが四角形であれば４つの頂点座標が設定されることになる。本実施例では、全てのオブジェクトが三角形のポリゴンで構成されており、従って、各ポリゴンには３つずつ頂点座標が設定されている。
【００５１】
また、テクスチャ番号は、簡単に言えば、ポリゴン内を塗りつぶすべき色彩を示す番号のようなものと考えることができる。例えば、オブジェクトの表面が赤ければ、そのオブジェクトを構成する全てのポリゴンを赤色としておけばよい。この場合、ポリゴンのテクスチャ番号には、赤色を示す番号が設定されることになる。もっとも、このように色彩だけでなく、アルミや真鍮などの各種の金属表面や、ガラスのような透明な表面、更には木肌のような表面を、テクスチャ番号として指定することも可能である。テクスチャ番号は、このようにポリゴンに付与される表面の状態を指定する番号である。
【００５２】
一方、オブジェクトについて設定されている基準点は、三次元空間におけるオブジェクトの位置と姿勢とを表すために用いられるＸＹＺ座標値である。本実施例のゲーム機１００では、ゲーム中に表示されるモニタ１５０の画面を、あたかも写真のような鮮明な画像として印刷することが可能となっており、詳細には後述するが、対象とするオブジェクトの位置および向きの情報を用いることによって、このような鮮明な画像を印刷することを可能としている。このため本実施例の画像出力システムを構成するゲーム機１００では、そのオブジェクトが三次元空間内のどの位置に存在していて、どちらの方向を向いているかを特定するために、基準点が設定されている。図７に示した飛行艇（オブジェクト番号ob1 ）については、機体先頭部に設けられた基準点ｐ１と、左右の尾翼の後端にそれぞれ設けられた基準点ｐ２、ｐ３の、合計３つの基準点が設けられている。このように、最低３つの基準点が設けられていれば、三次元空間内でのオブジェクトの位置および向きを特定することができる。もちろん、基準点の個数は３つに限らず、より多数の基準点を設けておくこととしても良い。図９に示したポリゴンデータには、これら基準点のＸＹＺ座標値が設定されている。尚、基準点は、必ずしも全てのオブジェクトに設けられている必要はない。この点については、後ほど詳しく説明する。
【００５３】
以上に説明したように、本実施例の画像出力システムを構成するゲーム機１００では、全てのオブジェクトにオブジェクト番号が付与されており、オブジェクトの表面形状はポリゴンの頂点座標を示すポリゴンデータによって表現されている。そして、オブジェクト番号からオブジェクトテーブルを引くことによって対応するポリゴンデータの先頭アドレスを取得すれば、メインメモリ１１０の該当アドレス以降に書き込まれているデータを読み出すことによって、オブジェクトの三次元的な形状を表した頂点座標を取得することが可能となっている。ゲーム機１００のモニタ１５０に表示するための画像データは、このようにして取得した三次元形状を示すポリゴンデータに、後述する処理を施すことによって生成されている。
【００５４】
尚、図８に例示したオブジェクトテーブルでは、ポリゴンデータの先頭アドレス、およびオブジェクトを構成するポリゴン数の２つの項目だけが、オブジェクト番号に対応付けて設定されているが、これら以外の項目も設定することとしても良い。例えば、オブジェクトを構成するポリゴンのタイプ、すなわちポリゴンが何角形であるかを示すデータや、ポリゴンに基準点が設けられているか否か、更には基準点の個数を示すデータなどを、オブジェクト番号に対応付けて設定しておくことも可能である。
【００５５】
図１０は、本実施例の画像出力システムを構成するゲーム機１００が、ゲーム中の画面をモニタ１５０に表示する処理の概要を示したフローチャートである。かかる処理は、ＣＰＵ１０１を中心として、メインメモリ１１０、ＧＴＥ１１２、フレームバッファ１１４、ＧＰＵ１１６などが協動しながら実行する処理である。以下、フローチャートに従って説明する。
【００５６】
ゲーム画面表示処理を開始すると、ＣＰＵ１０１は、コントローラ１０２からの入力があったか否かを判断する（ステップＳ１０）。前述したように、ゲーム中は、ゲーム機１００に対する操作は専らコントローラ１０２によって行われるので、先ず初めにコントローラ１０２からの操作入力があったか否かを判断するのである。そして、入力がなかった場合は（ステップＳ１０：ｎｏ）、フレームバッファ１１４に記憶されている画像データをモニタ１５０に出力して、画面の表示を更新する処理（画面更新処理）を行う（ステップＳ５０）。フレームバッファ１１４には、モニタ１５０に表示すべき画像データが生成されて記憶されている。画像データを生成してフレームバッファ１１４に記憶するための処理、およびフレームバッファ１１４に記憶されている画像データをモニタ１５０に出力する画面更新処理の内容については後述する。一方、コントローラ１０２からの入力があったと判断された場合には（ステップＳ１０：ｙｅｓ）、コントローラ１０２による操作の内容をモニタ１５０の画面に反映させるべく、後述する一連の処理を行う。
【００５７】
コントローラ１０２からの入力が検出されると、コントローラ１０２によって操作されたオブジェクトを、ゲームの舞台として設定されている三次元空間内で、操作に応じた距離および方向に移動させる処理を行う（ステップＳ２０）。一例として、コントローラ１０２による操作が、メインキャラクタである飛行艇ob1 を前進させるものであった場合について説明する。前述したように飛行艇ob1 は、ゲーム機１００の内部では複数のポリゴンによって表現されており（図７参照）、各ポリゴンの頂点座標はポリゴンデータに設定されている（図９参照）。また、ポリゴンデータが記憶されているメモリ領域の先頭アドレスは、オブジェクトテーブルを参照することによって取得することができる。
【００５８】
そこで、メインキャラクタである飛行艇ob1 を前進させる場合は、先ずオブジェクトテーブルを参照して、飛行艇（オブジェクト番号ob1 ）に対応するポリゴンデータの先頭アドレスを取得する。次いで、メインメモリ１１０上の取得したアドレスを先頭とするメモリ領域に記憶されているポリゴンデータを読み出すことによって、各ポリゴンを構成する頂点座標を取得する。こうして得られた頂点座標は、ゲームの舞台として設定された三次元空間内において、現時点での飛行艇ob1 の位置を表す座標となっている。
【００５９】
この点について、若干補足して説明する。記憶ディスク１０５には、各オブジェクトについてのポリゴンデータの初期値が記憶されている。ゲームの開始時には、初期値のポリゴンデータが、記憶ディスク１０５から読み込まれてメインメモリ１１０に記憶されるとともに、ポリゴンデータを記憶した先頭アドレス値が、オブジェクトテーブルに設定される。そして、ゲームの進行に伴って、オブジェクトが移動、回転、あるいは変形すると、後述する処理によって、メインメモリ１１０に記憶されているポリゴンデータの内容が更新されていく。従って、オブジェクトテーブルを参照して先頭アドレスを取得すれば、各オブジェクトの現時点での頂点座標を読み出すことが可能となっているのである。
【００６０】
ここでは、飛行艇ob1 が前進するように、コントローラ１０２が操作されたものとしているから、図１０に示したゲーム画面表示処理のＳ２０では、オブジェクトテーブルを参照することにより、現在の飛行艇ob1 の位置を示すポリゴンデータをメインメモリ１１０から取得する。次いで、コントローラ１０２の操作量から、三次元空間内で飛行艇ob1 を移動させる向きと移動量とを決定し、移動後の飛行艇ob1 の座標値を算出する。かかる演算は、ＣＰＵ１０１の制御の下でＧＴＥ１１２によって高速に実行される。具体的には、ＣＰＵ１０１は飛行艇ob1 の移動方向および移動量を決定すると、ポリゴンデータの先頭アドレスの値と共にＧＴＥ１１２に供給する。ＧＴＥ１１２は、供給された先頭アドレスに基づいて飛行艇ob1 のポリゴンデータを読み出した後、このポリゴンデータの頂点座標に対して座標変換を行うことにより、移動後の頂点座標を算出する。こうして得られた変換後の頂点座標によって、メインメモリ１１０のポリゴンデータを更新する。以上では、メインキャラクタである飛行艇ob1 を前進させる場合について説明したが、コントローラ１０２によって他のオブジェクトが操作された場合は、操作されたオブジェクトについて同様の処理が実行される。この結果、メインメモリ１１０に記憶されている各オブジェクトのポリゴンデータには、常に最新のオブジェクトの座標値が記憶されていることになる。
【００６１】
このようにして、コントローラ１０２の操作をオブジェクト位置に反映させたら、各オブジェクトのポリゴンデータから二次元画像のデータを生成する処理（レンダリング処理）を開始する（ステップＳ３０）。レンダリング処理では、ポリゴンデータによって表現された三次元的なオブジェクトを、モニタ１５０の画面に相当する平面上に投影するような処理を行うことによって、三次元的なオブジェクトから二次元的な画像を生成する。
【００６２】
図１１は、レンダリング処理の概要を示した説明図である。図１１では、サイコロ形状のオブジェクトにレンダリング処理を施すことにより、二次元的な画像を生成する様子が示されている。レンダリング処理に際しては、先ず初めに、オブジェクトを観察するための視点Ｑを設定し、次いで、オブジェクトと視点Ｑとの間に、モニタ１５０の画面に相当する投影面Ｒを設定する。そして、オブジェクトの表面から選択した任意の点と視点Ｑとを直線で結び、この直線が投影面Ｒと交差する交点を決定する。例えば、図１１に示したように、オブジェクト上のａ点を選択したとすると、ａ点と視点Ｑとを結ぶ直線が投影面Ｒと交わる交点としてＲａ点を決めることができる。ここで、周知のように光は直進する性質を有するから、ａ点から出て視点Ｑに向かう光は、投影面Ｒ上のＲａ点に像を結ぶことになる。換言すれば、投影面Ｒ上のＲａ点は、オブジェクト上のａ点が投影される点と考えることができる。従って、オブジェクトの表面の全ての点について、このような操作を行えば、投影面Ｒ上に投影されたオブジェクトの二次元像を得ることができる。
【００６３】
もっとも、前述したようにオブジェクトはポリゴンによって表現されているから、オブジェクト表面の全ての点についてこうした操作を行う必要はなく、ポリゴンの頂点座標についてのみ実行すればよい。例えば、図１１に示すように、オブジェクト表面のｂ点およびｃ点が、投影面Ｒ上のＲｂ点、Ｒｃ点にそれぞれ投影されたものとする。この場合、オブジェクト上のａ点、ｂ点、ｃ点を頂点とする三角形のポリゴンは、投影面Ｒ上では、Ｒａ点、Ｒｂ点、Ｒｃ点を頂点とする三角形の領域に投影されるものと考えて良い。また、オブジェクト上のポリゴンが例えば赤色であったとすると、このポリゴンが投影面Ｒ上に投影された三角形の領域も赤色になると考えて良い。すなわち、オブジェクト上のポリゴンが有するテクスチャ番号は、投影面Ｒ上に投影された領域にも引き継がれると考えることができる。
【００６４】
更に、レンダリング処理では、いわゆる陰面消去と呼ばれる処理も行われる。陰面消去とは、オブジェクト表面の中で、他の表面の陰になっている部分を消去する処理である。例えば、図１１に示した例では、オブジェクト表面のｂ点、ｄ点、ｅ点を頂点とするポリゴンは、視点Ｑから見てオブジェクトの裏側にあり、全体が他の表面の陰になっているため投影面Ｒ上に像を結ぶことはない。そこで、このようなポリゴンについては、投影面Ｒ上に投影像が表示されないようにするのである。尚、オブジェクトの形状および視点Ｑの設定によっては、あるポリゴンの一部の領域だけが他の表面の陰になる場合もある。このような場合は、そのポリゴンの陰になっている部分だけの表示が省略されて、陰になっていない部分についてだけ、投影像が表示されることになる。
【００６５】
このように、レンダリング処理では、オブジェクトを構成するポリゴンの頂点を投影面Ｒに投影したときの座標値を算出する処理が行われる。このような座標値の算出は、比較的簡単に行うことができる。図１２（ａ）は、オブジェクト上の座標点（Ｘ，Ｙ，Ｚ）を投影して得られる投影面Ｒ上の座標値（Ｕ，Ｖ）を求める計算式を示した説明図である。ここで、図１２（ａ）中のα、β、γ、δは、視点Ｑから投影面Ｒ、あるいはオブジェクトまでの距離などによって定まる係数である。あるいは、簡易的には、図１２（ｂ）に示すように、除算を含まない計算式を用いることもできる。ここで、図１２（ｂ）中のε、ζ、η、θ、ι、κは、それぞれ視点Ｑから投影面Ｒ、あるいはオブジェクトまでの距離などによって定まる係数である。
【００６６】
また、詳細な説明は省略するが、レンダリング処理では、三次元空間内の予め設定された位置に光源を置いて、オブジェクト表面に陰影を付けるシェーディングと呼ばれる処理や、遠近感を強調するために、遠方にある部分ほど輝度を低下させたり、投影像をぼかす処理などが行われることもある。こうした一連の処理からなるレンダリング処理は、ＧＴＥ１１２がＣＰＵ１０１からの命令を受け取って、メインメモリ１１０に記憶されているポリゴンデータに対して所定の演算を実行し、得られた結果を用いて、メモリ上のポリゴンデータを更新することによって行われる。そして、モニタ１５０の画面に現れる全てのオブジェクトについて、以上のような処理を行ったら、図１０のステップＳ３０に示したレンダリング処理を終了する。
【００６７】
上述したレンダリング処理に続いて、ゲーム機１００のＣＰＵ１０１は、描画処理を開始する（図１０のステップＳ４０）。描画処理とは、レンダリング処理によって生成された投影像から、画素毎に階調値が設定された画像データを生成する処理である。すなわち、レンダリング処理で得られた投影像は、ポリゴンが投影された多角形の頂点の座標と、その多角形に付与すべきテクスチャ番号とを用いた形式で表現されている。これに対して、モニタ１５０上で表示可能な画像データは、画像を画素と呼ばれる微細な領域に細分し、画素毎に階調データ（通常は、輝度を表すデータ）を設定した形式で表現されている。各画素に１種類の輝度データを設定した場合には、モノクロ画像の画像データとなり、光の三原色を構成するＲＧＢ各色の輝度データを設定した場合には、カラー画像の画像データとなる。尚、ＲＧＢ各色の輝度データの代わりに、明度に対応する階調データと、色差に対応する２種類の階調データを用いてカラー画像を表現することも可能である。いずれにしても、レンダリング処理によって得られた投影像を表すデータは、そのままではモニタ１５０上に表示することができないので、モニタ１５０で表示可能なデータ形式に変換する処理を行う。このような処理が描画処理と呼ばれる処理である。また、図５を用いて前述したように、画面に二次元画像が嵌め込まれている場合は、描画処理の中で二次元画像のデータを嵌め込んでやればよい。
【００６８】
描画処理を開始すると、ゲーム機１００のＣＰＵ１０１は、ＧＰＵ１１６に向かって描画命令を出力する。この描画命令を受けて、ＧＰＵ１１６が画像データを生成してフレームバッファ１１４に記憶することによって描画処理が行われる。
【００６９】
図１３は、描画命令によって描画しようとする画像、すなわち、前述したレンダリング処理によって生成された投影像を、概念的に示した説明図である。また、図１４は、このような画像を描画するために、ＣＰＵ１０１からＧＰＵ１１６に向かって出力される描画命令のデータ構造を概念的に示した説明図である。先ず、図１３を参照しながら、描画の対象となる投影像について説明する。描画の対象となる投影像は、前述したように、オブジェクトを構成するポリゴンを投影面Ｒ上に投影することによって得られた二次元画像である。本実施例では、オブジェクトは全て三角形のポリゴンを用いて構成されているものとしているから、原則として全てのポリゴンが、三角形の画像として投影面Ｒ上に投影される。尚、ポリゴンとは、前述したようにオブジェクトを構成する平面多角形を指しており、ポリゴンが投影面Ｒに投影された多角形は、厳密にはポリゴンとは異なるものである。しかし、以下では説明の便宜から、このようなポリゴンの投影像も、ポリゴンと呼ぶことがあるものとする。また、特にこれらを区別する場合は、「オブジェクトを構成するポリゴン」、および「投影像を構成するポリゴン」などと称することがあるものとする。
【００７０】
図１３に示されている投影像は、ポリゴン１、ポリゴン２、ポリゴン３の３つのポリゴンから構成されている。また、投影像がいずれも三角形のポリゴンによって構成されているのは、オブジェクトを構成するポリゴンが全て三角形のポリゴンによって構成されており、これら三角形のポリゴンを投影面Ｒ上に投影すると三角形の投影像が得られることに対応したものである。そして、図１１を用いて前述したように、これら投影像を構成するポリゴンには、オブジェクトを構成するポリゴンと同じテクスチャ番号が付与されている。
【００７１】
このような投影像を描画する場合、ＣＰＵ１０１は図１４に示すようなデータ構造の描画命令を出力する。図示されているように描画命令は、「ＣＯＤＥ」と、テクスチャ番号と、投影面Ｒ上での頂点の座標値とを一組とするデータが、投影像を構成するポリゴン毎に設定された構造となっている。ここで、「ＣＯＤＥ」は、この命令が描画命令であることを表すとともに、描画の対象としているポリゴンの形状を指定するデータとなっている。すなわち、オブジェクトを構成するポリゴンは、三角形に限らず、四角形や五角形などのポリゴンが使用される場合もあり、これに伴って投影像を構成するポリゴンの形状も変わってくる。また、オブジェクトのポリゴンが三角形であったとしても、一部が他のポリゴンの陰になった場合などには投影面Ｒの上のポリゴンを、例えば四角形のポリゴンとして扱うことも可能である。このようなことを考慮して、描画命令では、ポリゴン毎にポリゴンの形状を指定可能となっているのである。
【００７２】
描画命令には、「ＣＯＤＥ」に続いて、テクスチャ番号が設定されている。このテクスチャ番号は、投影像を構成するポリゴンに付与されているテクスチャ番号であり、ほとんどの場合は、オブジェクトを構成するポリゴンに付与されたテクスチャ番号と同じものとなる。尚、テクスチャ番号の代わりに、ポリゴンに付与すべき色情報（例えば、Ｒ，Ｇ，Ｂ各色の階調値）を設定しておくことも可能である。
【００７３】
テクスチャ番号に続いて、ポリゴンを構成する頂点の投影面Ｒ上での座標値が設定されている。頂点座標の個数は上述した「ＣＯＤＥ」によって決定される。例えば、「ＣＯＤＥ」においてポリゴンの形状が三角形と指定されている場合は、３つの頂点座標が設定され、四角形のポリゴンと指定されている場合は、４つの頂点座標が設定されることになる。描画命令は、このような「ＣＯＤＥ」、テクスチャ番号、頂点座標を一組とするデータが、投影像を構成するポリゴン毎に設定されたデータ構造となっている。
【００７４】
図１４に例示した描画命令では、描画の対象としている投影像が、ポリゴン１ないしポリゴン３の３つのポリゴンから構成されていることと対応して、「ＣＯＤＥ」、テクスチャ番号、頂点座標からなる三組のデータが設定されている。すなわち、ポリゴン１については、「ＣＯＤＥ」およびテクスチャ番号に続いて、ポリゴン１を構成する３つの頂点Ａ、Ｂ、Ｃの座標値が設定されている。また、ポリゴン２については、「ＣＯＤＥ」およびテクスチャ番号に続いて、ポリゴン２を構成する３つの頂点Ｂ、Ｃ、Ｄの座標値が設定され、ポリゴン３については、「ＣＯＤＥ」、テクスチャ番号に続いて、ポリゴン３を構成する３つの頂点Ｃ、Ｄ、Ｅの座標値が設定されている。これらポリゴンの頂点座標およびテクスチャ番号は、前述したレンダリング処理の中でＧＴＥ１１２によって生成された後、メインメモリ１１０に記憶されている。ＣＰＵ１０１は、メインメモリ１１０に記憶されているデータの中から、モニタ１５０の画面上に表示すべき全てのオブジェクトについて、これらのデータを読み出すことにより、図１４に示すようなデータ構造の描画命令を生成してＧＰＵ１１６に供給する。
【００７５】
ＧＰＵ１１６は、このような描画命令を受け取ると、各頂点を結んだ多角形の内部を、テクスチャ番号が示す色彩あるいは模様で塗り潰した二次元画像に展開する。そして、得られた二次元画像を、画像を構成する画素毎に階調データが設定された表現形式のデータに変換して、画像データとしてフレームバッファ１１４に記憶する。この結果、投影面Ｒ上でのポリゴンの頂点座標と、ポリゴンのテクスチャ番号とによって表現された投影像が、モニタ１５０で表示可能なデータ形式の画像データに変換されて、フレームバッファ１１４に記憶されたことになる。尚、本実施例の画像出力システムを構成するゲーム機１００では、Ｒ，Ｇ，Ｂ各色の階調値が画素毎に設定された画像データを生成するものとする。モニタ１５０の画面に現れる全ての投影像について、以上のような処理を行ったら、図１０のステップＳ４０に示した描画処理を終了する。
【００７６】
描画処理を終了すると、今度は、フレームバッファ１１４上に得られた画像データをモニタ１５０に出力して、モニタ１５０の画面を更新する処理を行う（ステップＳ５０）。すなわち、画面解像度や、インターレースあるいはノンインターレースと言った走査方式など、モニタ１５０の仕様に合わせて、フレームバッファ１１４から画像データを読み出してビデオ信号としてモニタ１５０に供給する。こうすることで、フレームバッファ１１４に展開した二次元画像をモニタ１５０の画面に表示させることができる。
【００７７】
また、モニタ１５０の表示を少なくとも１秒間に２４回以上の頻度で更新してやれば、人間の網膜が有する残像現象により、あたかも連続して動いているかのような画像を表示することができる。本実施例の画像出力システムを構成するゲーム機１００では、図１０に示したゲーム画面表示処理を１秒間に３０回程度の頻度で実行して画面の表示を更新することで、あたかもモニタ１５０の画面内で飛行艇ob1 などの各種オブジェクトが連続して動いているかのように表示することが可能となっている。そして、このような高速な処理を可能とするために、ゲーム機１００では、座標変換を始めとする各種の演算を高速に実行可能なＧＴＥ１１２や、演算に用いる大量のデータを高速に読み書き可能なメインメモリ１１０、ＣＰＵ１０１から受け取った描画命令に基づいて画像データを迅速に生成するＧＰＵ１１６、更には、生成した画像データを高速に記憶するとともにモニタ１５０に高速に出力可能なフレームバッファ１１４などが搭載されている。
【００７８】
もっとも、処理対象とするポリゴン数があまりに多くなると、図１０に示したゲーム画面表示処理を、１秒間に３０回程度の頻度で実行することは困難となる。そこで、飛行艇ob1 を始めとする各種のオブジェクトは、ポリゴン数があまり多くならないように、若干大きめのポリゴンによって構成されている。前述したようにポリゴンは平面多角形なので、ポリゴンが大きくなると、オブジェクトの表面がゴツゴツしてしまうという弊害がある。しかし、幸いにも、ゲームの画面ではオブジェクトは動いていることが多く、加えて、モニタ１５０は写真の様には高い描画力を有していないため、オブジェクト表面がゴツゴツしていることが目立つことはなく、従って、ゲームの臨場感を損なってしまうといった弊害が生じることはない。
【００７９】
しかし、モニタ１５０の画面を印刷装置で印刷すると、こうした状況は一変することがある。すなわち、印刷して得られる画像は静止画像であることに加えて、近年の印刷装置は写真に迫る高い描画力を有していることから、印刷画像を見ればオブジェクトの表面がゴツゴツしていることがハッキリと分かってしまうことがある。そして、このような印刷画像を見てしまった後では、たとえゲーム中のモニタ１５０に表示されたオブジェクトでさえも、表面がゴツゴツしている様に見えてしまい、ゲームの臨場感が大きく損なわれてしまう畏れも生じる。これに対して本実施例の画像出力装置を構成するゲーム機１００では、モニタ１５０の画面を印刷装置で出力した場合でも、あたかも実物を写真で撮影したかのような、鮮明な画像を出力することが可能となっている。以下では、こうしたことを可能とする処理について詳しく説明する。
【００８０】
Ｃ．画像印刷処理の概要  ：
図１５は、本実施例のゲーム機１００からカラープリンタ２００に画像データを供給することによって画像を印刷する処理（画像印刷処理）の流れを示すフローチャートである。以下、フローチャートに従って、画像印刷処理について説明する。
【００８１】
ゲーム機１００のＣＰＵ１０１は、コントローラ１０２に設けられた所定の印刷ボタンが押されたことを検出すると、割り込みを発生させて、図１５に示す画像印刷処理を開始する。尚、割り込みを発生させると、それまでＣＰＵ１０１が行っていた処理は一旦中断され、これに伴ってゲームの進行も、画像印刷処理を終了するまで中断されることになる。
【００８２】
画像印刷処理を開始すると、先ず初めにＣＰＵ１０１は、コントローラ１０２の印刷ボタンが押された時点でモニタ１５０に表示されていた画像の、元となったポリゴンデータを取得する（ステップＳ１００）。すなわち、前述したように、モニタ１５０に表示される画像は、オブジェクトを投影面Ｒに投影して得られた画像であり、オブジェクトを構成するポリゴンの頂点の座標値はポリゴンデータとして、メインメモリ１１０に記憶されている。そこで、ステップＳ１００では、コントローラ１０２の印刷ボタンが押された時点でモニタ１５０に表示されている各オブジェクトについて、オブジェクトのポリゴンデータを取得する。
【００８３】
次いで、取得したポリゴンデータについて、精密ポリゴンデータが記憶されているか否かを判断する（ステップＳ１０２）。ここで、精密ポリゴンデータとは、前述したゲーム画面表示処理で用いたポリゴンよりも小さなポリゴンによって、オブジェクトの三次元形状を表したデータである。図１６は、メインキャラクタである飛行艇ob1 の三次元的な形状が小さなポリゴンによって表現されている様子を概念的に示した説明図である。精密ポリゴンデータは、このようなポリゴンを構成する各頂点の三次元座標値によって、オブジェクトの表面形状を表現したデータである。
【００８４】
また、精密ポリゴンデータにも、図７および図９に示した通常のポリゴンデータと同様に、複数（本実施例では３つ）の基準点が設けられている。これら基準点は、精密ポリゴンデータの場合でも、通常のポリゴンデータの場合でも、オブジェクトに対する位置関係では同じ位置に設けられている。例えば、図７に示したように、飛行艇ob1 の通常のポリゴンデータでは、機体の先端と、左右の尾翼の後端とに、それぞれ基準点ｐ１、ｐ２、ｐ３が設けられている。これと同様に、飛行艇ob1 の精密ポリゴンデータでも、機体先端と、左右の尾翼の後端とに、それぞれ基準点ｐ１、ｐ２、ｐ３が設けられている。このように、精密ポリゴンデータが存在するオブジェクトについては、通常のポリゴンデータおよび精密ポリゴンデータのそれぞれについて、オブジェクトに対して同じ位置に基準点が設けられている。逆に言えば、精密ポリゴンデータが存在しないオブジェクトについては、オブジェクトデータに必ずしも基準点が設定されている必要はない。
【００８５】
図７と図１６とを比較すれば、ゲーム画面表示処理で用いたポリゴンデータと比べて、精密ポリゴンデータでは小さなポリゴンが用いられていることが分かる。また、オブジェクト表面の曲率が大きい（曲率半径が小さい）部分ほど、小さなポリゴンによって構成されていることが分かる。このように、小さなポリゴンを用いれば、オブジェクトの形状をより正確に表現することができ、表面の曲率が大きな部分でも、見る者にゴツゴツした印象を与えることがない。
【００８６】
このような精密ポリゴンデータが存在するか否かは、精密ポリゴンデータの有無が予め設定されたテーブル（精密ポリゴンデータテーブル）を参照することによって判断することができる。図１７は、精密ポリゴンデータの有無を判断するために参照されるテーブルを概念的に示した説明図である。図示されているように、精密ポリゴンデータテーブルには、精密ポリゴンデータが存在するオブジェクトのオブジェクト番号と、ポリゴン数とが設定されている。従って、精密ポリゴンデータテーブルを参照してオブジェクト番号が設定されていれば、そのオブジェクトについては精密ポリゴンデータが存在すると判断することができる。逆に、精密ポリゴンデータテーブルにオブジェクト番号が設定されていなければ、そのオブジェクトについては、精密ポリゴンデータは存在しないと判断することができる。
【００８７】
尚、図８を用いて前述したオブジェクトテーブルには、全てのオブジェクトについて、固有のオブジェクト番号と、ポリゴンデータの先頭アドレスとが設定されていた。これに対して精密ポリゴンデータテーブルでは、複数のオブジェクト番号に対して同じ先頭アドレスが設定される場合がある。例えば、図４に示したように、オブジェクトob4 〜ob9 の６つのオブジェクトは何れも円盤を表しており、これら円盤は同じ形状となっている。このような場合、精密ポリゴンデータテーブルには、図１７に示すように、オブジェクト番号ob4 〜ob9 の６つのオブジェクトについては、同じ先頭アドレスおよびポリゴン数が設定される。このように、精密ポリゴンデータテーブルでは、異なるオブジェクト番号に対しても、同じ先頭アドレスおよびポリゴン数が設定されることがある理由については、後述する。
【００８８】
ステップＳ１０２において、精密ポリゴンデータが存在すると判断されたオブジェクトについては、ステップＳ１００で先に取得しておいたポリゴンデータを、基準点を一致させた状態で、精密ポリゴンデータに差し替える処理を行う（ステップＳ１０４）。以下、この処理の内容について詳しく説明する。先ず、精密ポリゴンデータテーブルに設定されている先頭アドレスに基づいて、精密ポリゴンデータを読み出し、メインメモリ１１０の連続するアドレスに記憶する。ここでは、メインメモリ１１０上のアドレス値Ａppd 以降の連続した領域に精密ポリゴンデータが記憶されたものとする。
【００８９】
次いで、メインメモリ１１０のアドレスＡppd 以降のメモリ領域に記憶した精密ポリゴンデータに対して、オブジェクトを移動あるいは回転させる座標変換を行うことにより、精密ポリゴンデータの基準点の座標を、ステップＳ１００で取得しておいた通常のポリゴンデータの基準点の座標に一致させる。このような座標変換は、図１７に示した精密ポリゴンデータテーブルの先頭アドレスで示されているデータに対して行うのではなく、この精密ポリゴンデータを読み出してメインメモリ１１０のアドレスＡppd 以降に展開したデータに対して実行する。そして、精密ポリゴンデータの基準点の座標を、通常のポリゴンデータの基準点の座標と一致させたら、メインメモリ１１０上で、この精密ポリゴンデータが記憶されているメモリ領域の先頭アドレスＡppd および精密ポリゴンデータを構成するポリゴン数によって、図８を用いて前述したオブジェクトテーブルの先頭アドレスおよびポリゴン数を書き換えてやる。このようにオブジェクトテーブルに設定されている先頭アドレスおよびポリゴン数を書き換えておけば、続いて実行するレンダリング処理および描画処理においては、通常のポリゴンデータではなく、精密ポリゴンデータを参照することになる。図１５のステップＳ１０４において、ポリゴンデータを精密ポリゴンデータで差し替える処理とは、具体的には、このようにオブジェクトテーブルに設定されている先頭アドレスおよびポリゴン数を、位置合わせした精密ポリゴンデータの先頭アドレスおよびポリゴン数に書き換える処理のことである。
【００９０】
ここで、図１７に示したように、精密ポリゴンデータテーブルでは、異なるオブジェクト番号に対しても、同じ先頭アドレスおよびポリゴン数が設定されることがある理由について説明する。上述したように、精密ポリゴンデータが存在するオブジェクトについては、精密ポリゴンデータを読み込んだ後、基準点の座標が通常のポリゴンデータの基準点の座標に一致するように、精密ポリゴンデータを移動あるいは回転させる。ここで、異なるオブジェクトは必ず異なる三次元座標値を持っているから、たとえ同じ精密ポリゴンデータを読み込んだ場合でも、移動あるいは回転後は、異なった精密ポリゴンデータとなっている。従って、オブジェクト毎にメインメモリ１１０の異なる領域でこうした操作を行っておけば、元の精密ポリゴンデータは同じデータを使用することが可能であり、このため、精密ポリゴンデータテーブルでは、同じ形状のオブジェクトについては、同じ先頭アドレスおよびポリゴン数が設定されているのである。
【００９１】
ステップＳ１０４の処理では、精密ポリゴンデータが存在するオブジェクトについて、このようにポリゴンデータを精密ポリゴンデータで差し替える処理を行う。一方、精密ポリゴンデータの存在しないオブジェクトについては、このような処理はスキップすればよい。
【００９２】
次いで、画像の撮影条件を設定する処理を開始する（ステップＳ１０６）。撮影条件の設定は、ゲーム機１００の操作者が、モニタ１５０に表示された画面を確認しながら行うことができる。図１８は、画像の撮影条件を設定するための画面が、モニタ１５０に表示されている様子を例示した説明図である。図示されているように、撮影条件を設定する画面のほぼ中央には、印刷ボタンを押したときにモニタ１５０に表示されていた画面を表示するモニタ領域１５１が設けられている。また、モニタ領域１５１の周辺には、焦点距離や、絞り、焦点を合わせる位置などを設定するボタンが設けられている。本実施例のゲーム機１００では、単にモニタ１５０に表示されている画面を印刷するのでなく、これらの項目を設定することで、あたかも仮想的なカメラを操作して写真を撮影しているかのようにして、モニタ１５０上の画像を印刷することが可能となっている。
【００９３】
焦点距離の設定は、モニタ領域１５１の右側に設けられたツマミ１５３を上下に動かすことで、望遠から広角までの焦点距離を選択することによって行う。また、絞りの設定は、モニタ領域１５１の右下に設けられたツマミ１５４を上下に動かすことで、開放側から絞り側までの絞り値を選択することで行う。また、焦点を合わせる位置の設定は、コントローラ１０２の十字カーソルを操作しながら、モニタ領域１５１に表示されているカーソル１５２を、焦点を合わせたい位置まで移動した後、設定画面上の「焦点位置設定」と表示されたボタンを押すことによって設定することができる。こうした設定した撮影条件による効果は、モニタ領域１５１に表示されている画像に反映されるので、効果を確認しながら撮影条件を設定することができる。そして、所望の撮影条件が決まったら、設定画面上の「ＯＫ」と表示されたボタンを押すことによって、設定した撮影条件を確定することができる。図１５に示した画像印刷処理のステップＳ１０６では、以上のようにして、各種の撮影条件を設定する処理を行う。
【００９４】
撮影条件の設定に続いて、レンダリング処理および描画処理を開始する（ステップＳ１０８、およびステップＳ１１０）。前述したようにレンダリング処理とは、各オブジェクトのポリゴンデータから二次元画像のデータを生成する処理である。かかる処理は、図１１を用いて前述したように、視点Ｑと各オブジェクトとの間に設定した投影面Ｒへの、各オブジェクトの投影像を算出することによって行うことができる。また、描画処理とは、レンダリング処理によって生成された投影像から、画素毎に階調値が設定された画像データを生成する処理である。図１０を用いて前述したゲーム画面表示処理と同様に、レンダリング処理は、ＣＰＵ１０１の制御の下でＧＴＥ１１２がオブジェクトテーブルを参照しながら実行し、得られた二次元画像のデータはメインメモリ１１０に記憶される。撮影条件設定処理で設定された内容は、レンダリング処理における視点Ｑおよび投影面Ｒの設定に反映される。また、視点Ｑに対して遠方あるいは近くにあるオブジェクトに対しては、絞りの設定に応じて、投影像をぼやかすようなフィルタを施すなどの特殊な操作も行われる。
【００９５】
続いて行われる描画処理は、ＣＰＵ１０１が出力した描画命令を受けてＧＰＵ１１６が実行し、得られた画像データはフレームバッファ１１４に記憶される。これらレンダリング処理および描画処理の詳細な内容については、ここでは説明を省略する。但し、精密ポリゴンデータが存在するオブジェクトについては、前述したステップＳ１０４においてオブジェクトテーブル（図８参照）が書き換えられていることから、コントローラ１０２の印刷ボタンを押したときにモニタ１５０に表示されていた通常のポリゴンデータではなく、精密ポリゴンデータに対してレンダリング処理および描画処理が実行される点が異なっている。
【００９６】
ゲーム機１００のＣＰＵ１０１は、レンダリング処理（ステップＳ１０８）および描画処理（ステップＳ１１０）に続いて、印刷条件設定処理を開始する（ステップＳ１１２）。印刷条件設定処理も、上述したステップＳ１０６の撮影条件設定処理と同様に、ゲーム機１００の操作者が、モニタ１５０に表示された画面を確認しながら行うことができる。図１９は、画像の印刷条件を設定するための画面が、モニタ１５０に表示されている様子を例示した説明図である。図示されているように、本実施例のゲーム機１００では、印刷条件として、印刷に用いる用紙サイズ、用紙種類、および印刷に際しての印刷モードの３つの項目を設定することが可能となっている。用紙サイズ及び用紙種類の設定は、コントローラ１０２の十字カーソルを操作することにより、画面上に表示されたカーソル１５２を用いて用紙サイズを選択することによって行う。また、印刷モードについては、画面に表示されたツマミ１５８を「きれい」から「速い」までの間で動かすことによって設定することができる。また、これらの条件に加えて、印刷枚数や、いわゆる縁なし印刷を行うか否か、といった項目を設定可能としても良い。以上のようにして、印刷条件を設定したら、設定画面上の「ＯＫ」と表示されたボタンを押すことによって、設定した印刷条件を確定する。
【００９７】
印刷条件を設定したら、ゲーム機１００のＣＰＵ１０１は、フレームバッファ１１４に記憶されている画像データから印刷データを生成して、カラープリンタ２００に出力する処理（印刷データ出力処理）を開始する（ステップＳ１５０）。
【００９８】
図２０は、印刷データ出力処理の流れを示したフローチャートである。印刷データ出力処理を開始すると、ＣＰＵ１０１は先ず初めに、解像度変換処理を開始する（ステップＳ１５２）。解像度変換処理とは、フレームバッファ１１４に記憶されている画像データの解像度を、カラープリンタ２００が画像を印刷しようとする解像度（印刷解像度）に変換する処理である。また、印刷解像度は、モニタ１５０の画面を構成している画素数と、印刷しようとする画像の大きさ、すなわち前述した印刷条件設定処理（図１５のステップＳ１１２）で設定した印刷用紙のサイズによって決定される。
【００９９】
そして、画像データの解像度よりも印刷解像度の方が高い場合は、補間演算を行って画素間に新たな画像データを生成することにより解像度を増加させる。逆に、画像データの解像度の方が印刷解像度よりも高い場合は、読み込んだ画像データを一定の比率で間引くことによって解像度を低下させる。解像度変換処理では、フレームバッファ１１４上の画像データに対して、このような操作を行うことにより、描画処理によって生成した画像データの解像度を印刷解像度に変換する。
【０１００】
こうして画像データの解像度を印刷解像度に変換したら、今度は、色変換処理を行う（ステップＳ１５４）。色変換処理とは、Ｒ，Ｇ，Ｂの階調値の組合せによって表現されているＲＧＢカラー画像データを、印刷のために使用される各色の階調値の組合せによって表現された画像データに変換する処理である。前述したように、ゲーム機１００では、画素毎にＲ，Ｇ，Ｂ各色の階調値が設定された画像データを生成しているのに対して、カラープリンタ２００は、図２に示した様に、Ｃ，Ｍ，Ｙ，Ｋの４色のインクを用いて画像を印刷する。そこで、ＲＧＢ各色によって表現された画像データを、Ｃ，Ｍ，Ｙ，Ｋの各色の階調値によって表現されたデータに変換する処理（色変換処理）を行うのである。
【０１０１】
色変換処理は、色変換テーブル（ＬＵＴ）を参照することで、迅速に行うことができる。図２１は、色変換処理のために参照されるＬＵＴを概念的に示した説明図である。ＬＵＴとは、次のように考えれば、三次元の数表の一種と考えることができる。先ず、図２１に示されているように、直交する３つの軸にＲ軸、Ｇ軸、Ｂ軸を取って色空間を考える。すると、全てのＲＧＢ画像データは、必ず色空間内の座標点に対応付けて表すことができる。このことから、Ｒ軸、Ｇ軸、Ｂ軸のそれぞれを細分して色空間内に多数の格子点を設定してやれば、それぞれの格子点はＲＧＢの画像データを表していると考えることができ、ＲＧＢの画像データに対応するＣ，Ｍ，Ｙ，Ｋ各色の階調値を、各格子点に対応付けてやることができる。ＬＵＴは、こうして色空間内に設けた格子点に、Ｃ，Ｍ，Ｙ，Ｋ各色の階調値を対応付けて記憶した３次元の数表と考えることができる。ＬＵＴに記憶されているＲＧＢの画像データとＣ，Ｍ，Ｙ，Ｋ各色の階調データとの対応関係に基づいて色変換処理を行えば、ＲＧＢ各色の階調値によって表現された画像データを、Ｃ，Ｍ，Ｙ，Ｋ各色の階調データに迅速に変換することが可能となる。
【０１０２】
また、印刷用紙が違えば用紙の地色も違うし、インクの発色も異なっている。更には、インクの滲み方も印刷用紙の種類によって異なっており、滲み方の違いは印刷された画像の色合いに影響を与える。このことから、高画質な画像を印刷するためには、印刷用紙の種類に応じて適切なＬＵＴを使い分けることが好ましい。そこで、ステップＳ１５４では、前述した印刷条件設定処理（図１５のステップＳ１１２）で設定された印刷用紙の種類に応じて、予め定められたＬＵＴを使い分けながら、色変換処理を行う。
【０１０３】
以上のようにして色変換処理を行ったら、ゲーム機１００のＣＰＵ１０１は、ハーフトーン処理を開始する（ステップＳ１５６）。ハーフトーン処理とは、次のような処理である。色変換処理によって得られた画像データは、データ長を１バイトとすると、画素毎に、階調値０から階調値２５５までの値を取り得る階調データである。これに対してカラープリンタ２００はドットを形成することによって画像を表示しているから、それぞれの画素については「ドットを形成する」か「ドットを形成しない」かのいずれかの状態しか取り得ない。このためカラープリンタ２００では、画素毎の階調値を変化させる代わりに、所定領域内で形成されるドットの密度を変化させることによって中間階調を表現している。ハーフトーン処理とは、画像データの階調値に応じて適切な密度でドットが発生するように、画素毎にドット形成の有無を判断する処理である。
【０１０４】
階調値に応じた適切な密度でドットを発生させる手法としては、誤差拡散法やディザ法などの種々の手法を適用することができる。誤差拡散法は、ある画素についてドットの形成有無を判断したことでその画素に発生する階調表現の誤差を、周辺の画素に拡散するとともに、周囲から拡散されてきた誤差を解消するように、各画素についてのドット形成の有無を判断していく手法である。発生した誤差を周辺の各画素に拡散させる割合は、誤差拡散マトリックスに予め設定されている。また、ディザ法は、ディザマトリックスに設定されている閾値と画像データの階調値とを画素毎に比較して、画像データの方が大きい画素にはドットを形成すると判断し、逆に閾値の方が大きい画素についてはドットを形成しないと判断することで、各画素についてドット形成の有無を判断していく手法である。本実施例の印刷データ出力処理では、いずれの手法を用いることもできるが、ここではディザ法と呼ばれる手法を用いてハーフトーン処理を行うものとする。
【０１０５】
図２２は、ディザ法で参照される一般的なディザマトリックスの一部を拡大して例示した説明図である。図示したマトリックスには、縦横それぞれ６４画素、合計４０９６個の画素に、階調値０〜２５５の範囲から万遍なく選択された閾値が設定されている。ここで、閾値の階調値が０〜２５５の範囲から選択されているのは、本実施例では画像データが１バイトデータであり、画素に設定される階調値が０〜２５５の値を取り得ることに対応するものである。尚、ディザマトリックスの大きさは、図２２に例示したように縦横６４画素分に限られるものではなく、縦と横の画素数が異なるものも含めて種々の大きさとすることができる。
【０１０６】
図２３は、ディザマトリックスを参照しながら、画素毎にドット形成の有無を判断している様子を概念的に示した説明図である。ドット形成有無の判断に際しては、先ず、判断の対象として着目している画素（着目画素）についての画像データの階調値と、ディザマトリックス中の対応する位置に記憶されている閾値とを比較する。図中に示した細い破線の矢印は、着目画素の階調値を、ディザマトリックス中の対応する位置に記憶されている閾値と比較していることを模式的に表したものである。そして、ディザマトリックスの閾値よりも着目画素の階調値の方が大きい場合には、その画素にはドットを形成するものと判断する。逆に、ディザマトリックスの閾値の方が大きい場合には、その画素にはドットを形成しないものと判断する。
【０１０７】
図２３に示した例では、画像データの左上隅にある画素の画像データは階調値１８０であり、ディザマトリックス上でこの画素に対応する位置に記憶されている閾値は１である。従って、左上隅の画素については、画像データの階調値１８０の方がディザマトリックスの閾値１よりも大きいから、この画素にはドットを形成すると判断する。図２３中に実線で示した矢印は、この画素にはドットを形成すると判断して、判断結果をメモリに書き込んでいる様子を模式的に表したものである。一方、この画素の右隣の画素については、画像データの階調値は１３０、ディザマトリックスの閾値は１７７であり、閾値の方が大きいので、この画素についてはドットを形成しないものと判断する。ディザ法では、このようにディザマトリックスを参照しながらドットを発生させる。
【０１０８】
図２０に示した印刷データ出力処理のステップＳ１５６では、色変換処理によって変換されたＣ，Ｍ，Ｙ，Ｋ各色の階調値毎に、以上のようにしてドット形成の有無を判断する処理を行う。
【０１０９】
以上のようにしてハーフトーン処理を終了すると、ゲーム機１００のＣＰＵ１０１は、インターレース処理を開始する（ステップＳ１５８）。インターレース処理とは、ドットの形成有無による表現形式に変換された画像データを、ドットが実際に印刷用紙上に形成される順序を考慮しながら、カラープリンタ２００に転送する順序に並べ替える処理である。ゲーム機１００のＣＰＵ１０１は、インターレース処理を行って画像データを並べ替えた後、最終的に得られたデータを、ＧＰＵ１１６からカラープリンタ２００に印刷データとして出力する（ステップＳ１６０）。そして、全ての印刷データをカラープリンタ２００に出力したら、図２０に示す印刷データ出力処理を終了して、図１５の画像印刷処理に復帰する。
【０１１０】
画像印刷処理では、印刷データ出力処理から復帰すると、ゲーム復帰処理を行う（ステップＳ１１４）。ゲーム復帰処理は、図１５に示した画像印刷処理を終了して、ゲームを再開するための処理である。すなわち、上述した画像印刷処理は、前述したようにコントローラ１０２の印刷ボタンが押されると、ゲーム機１００のＣＰＵ１０１が割り込みを発生させて、進行中のゲームを一旦、中断した状態で開始される。そこで、画像印刷処理の終了に先立って、ＣＰＵ１０１は、プログラムカウンタや各種データを、ゲームの中断前の状態に復帰させて、ゲームを再開するための準備を行うのである。前述したように、精密ポリゴンデータが存在するオブジェクトについては、画像印刷処理の中でオブジェクトテーブルの設定値も書き換えられているので、これらについても、ゲーム復帰処理で元の設定値に戻されることになる。
【０１１１】
こうしてゲーム復帰処理を終了したら（ステップＳ１１４）、図１５に示した画像印刷処理を終了する。プログラムカウンタを始めとする各種の変数およびデータは、ゲーム中断前の状態に戻っているので、中断したところからゲームを再開することが可能となる。
【０１１２】
一方、カラープリンタ２００は、このようにしてＧＰＵ１１６から供給された印刷データに従って、印刷用紙上にドットを形成することにより画像を印刷する。すなわち、図２を用いて前述したように、キャリッジモータ２３０および紙送りモータ２３５を駆動することによってキャリッジ２４０の主走査および副走査を行い、これらの動きに合わせて印字ヘッド２４１を駆動してインク滴を吐出することによりインクドットを形成する。その結果、モニタ１５０の画面に表示されているものと、同じ場面の印刷画像が得られることになる。
【０１１３】
上述したように、画像印刷処理では精密ポリゴンデータから印刷データを生成しているため、印刷データではオブジェクトの表面が、曲面部分を含めて滑らかな表面として表現されている。従って、このような印刷データに基づいて得られた印刷画像では、オブジェクトの表面がゴツゴツすることがなく、あたかも実在する対象を写真で撮影したかのような印刷画像を得ることができる。また、ゲーム中は、大きめのポリゴンから生成されたポリゴンデータを用いているため、ゲーム中は画像を迅速に表示することが可能である。
【０１１４】
Ｄ．第１実施例のプリンタ情報表示処理  ：
以上に説明したように、ゲーム機１００にはカラープリンタ２００が接続されており、ゲーム機１００からカラープリンタ２００に画像データを供給することで、モニタ１５０の画面に表示された画像を印刷することが可能となっている。もっとも、例えば画像の印刷中に、カラープリンタ２００に搭載されているインクや印刷用紙が無くなってしまった場合などには、新たなインクカートリッジや印刷用紙の補充を促すために、これを報知する必要が生じる。このような場合、インク切れの発生や用紙切れの発生を表すコードデータをカラープリンタからゲーム機１００に向かって出力し、ゲーム機１００のモニタ１５０上に、コードデータに応じたメッセージを表示して報知するのが一般的である。
【０１１５】
しかし、これでは、カラープリンタから出力されたコードデータを解釈するためのデータを、ゲーム機１００に予め記憶しておく必要がある。また、ゲーム機１００が発売される時点で知られているプリンタであれば、予めデータを記憶しておくことも不可能ではないが、ゲーム機１００の発売後に、新たな機能が搭載されたプリンタが開発されたり、あるいは新たなインク色を搭載したプリンタが開発された場合などには、これらプリンタから出力される全てのコードデータを解釈するためのデータを、予めゲーム機１００に記憶しておくことはできない。こうした点に鑑みて、本実施例のゲーム機１００では、次のような処理を行うことにより、プリンタの情報を表示することとしている。
【０１１６】
図２４は、第１実施例のプリンタ情報表示処理に流れを示すフローチャートである。かかる処理は、ゲーム機１００に搭載されたＣＰＵ１０１によって実行される処理である。図示されているように、プリンタ情報表示処理では、先ず初めに、カラープリンタ２００から表示要求があったか否かを判断する（ステップＳ２００）。すなわち、カラープリンタ２００でインク切れや用紙切れが発生するなど、何らかの理由でプリンタの操作者に報知しなければならない事態が発生した場合には、カラープリンタ２００から特別な制御コードが出力される。ゲーム機１００のＣＰＵ１０１は、この制御コードを受け取ると、カラープリンタ２００が何らかのメッセージの表示を要求しているものと判断する。尚、ここでは、便宜上、プリンタからの表示要求があったか否かをＣＰＵ１０１が常に監視しているものとして説明するが、必ずしも常に監視している必要はなく、カラープリンタ２００から表示要求の制御コードが出力されると、これを受けて割り込みを発生させることによって、プリンタ状態表示処理を開始することとしても良い。
【０１１７】
プリンタから表示要求があったと判断された場合（ステップＳ２００：ｙｅｓ）、ゲーム機１００のＣＰＵ１０１は、モニタ１５０に、プリンタ情報表示画面を用意する（ステップＳ２０２）。図２５は、モニタ１５０にプリンタ情報表示画面が表示された状態を示した説明図である。図示されているように、プリンタ情報表示画面には、「ＯＫ」ボタンと、「Ｃａｎｃｅｌ」ボタンの２つのボタンと、「プリンタ情報」という画面のタイトルとが表示されているが、プリンタ情報の内容が表示される領域（プリンタ情報表示領域）は、何も表示されていない空白の状態となっている。図２５では、プリンタ情報表示領域は、斜線を付して表示されている。
【０１１８】
図２５に示すようなプリンタ情報表示画面を表示すると、ＣＰＵ１０１は、カラープリンタ２００から出力されてきたデータを、プリンタ情報表示領域に表示する（ステップＳ２０４）。図２６は、カラープリンタ２００から出力されたデータが、プリンタ情報表示領域に表示された様子を示す説明図である。図示した例では、プリンタ情報表示領域には、文字のみが表示されている。従って、このような場合には、カラープリンタ２００は、情報の表示を要求する制御コードに続いて、表示しようとする内容が記載されたテキストデータを出力すればよい。制御コードを受け取ったゲーム機１００のＣＰＵ１０１は、図２５に例示したプリンタ情報表示画面を用意した後、カラープリンタ２００から受け取ったテキストデータをプリンタ情報表示領域に表示するだけで、図２６に示すような画面がモニタ１５０に表示され、プリンタの情報を表示することができる。
【０１１９】
こうして、カラープリンタ２００から受け取ったデータを、プリンタ情報表示領域に表示したら、モニタ１５０の画面上に「ＯＫ」と表示されたボタン（確認ボタン）が押されたことを確認し（ステップＳ２０６）、確認ボタンが押されたことが確認できたら（ステップＳ２０６：ｙｅｓ）、図２６に示したプリンタ情報表示画面を閉鎖して（ステップＳ２０８）、図２４のプリンタ情報表示処理を終了する。
【０１２０】
以上に説明したプリンタ情報表示処理では、予め用意されたプリンタ情報表示画面に、カラープリンタ２００から供給されたデータをそのまま表示するだけで、カラープリンタ２００の情報を適切に表示することができる。すなわち、カラープリンタ２００から出力されるコードデータを解釈するためのデータを、ゲーム機１００に予め記憶しておく必要がないので、どのようなプリンタが接続された場合でも、接続されたプリンタに対応した適切な内容の表示を行うことができる。
【０１２１】
例えば、カラープリンタに特別な色のインクが搭載されていて、そのインクが無くなった場合でも、ゲーム機１００のＣＰＵ１０１は、単にプリンタ情報表示画面を用意して、カラープリンタ２００から供給されたデータを表示するだけで、特殊なインクが無くなってしまったことを、プリンタの操作者に適切に認識させることができる。もちろん、カラープリンタ２００には、画面に表示するためのデータを予め記憶しておく必要があり、そのための記憶容量が必要となるが、１機種分のデータを記憶すればよいので、僅かな容量で記憶することができる。また、たとえカラープリンタ２００の仕向地が異なる場合でも、プリンタに記憶しておくデータを仕向地の言語で記述しておけば、ゲーム機１００の側には何らの変更を加えずとも、プリンタの情報を適切に表示することができる。
【０１２２】
図２７は、カラープリンタ２００からのデータが英語で記述されていた場合を例示した説明図である。図示されているように、プリンタから出力されるデータが仕向地の言語で記述されていれば、ゲーム機１００のＣＰＵ１０１は受け取ったデータを画面に表示するだけで、プリンタの情報を仕向地の言語で適切に表示することが可能となる。このように、本実施例のプリンタ情報表示処理によれば、ゲーム機１００に接続されるプリンタが、どのような機種の、どのような仕向地のものであっても、ゲーム機１００の側では何ら特別な対応をせずとも、プリンタが出力する情報を適切に表示することが可能である。
【０１２３】
また、本実施例のプリンタ情報表示処理によれば、カラープリンタ２００が情報を表示する処理も極めて簡単な処理となる。すなわち、ゲーム機１００に向かって表示要求を出力した後、予め記憶しておいたデータをゲーム機１００に出力するだけで、モニタ１５０の画面に情報を表示することができる。更に、各プリンタには、そのプリンタの機種に対応するデータが記憶されているから、モニタ１５０に表示された内容は、必ずプリンタの機種に対応した適切な内容とすることができる。
【０１２４】
以上の説明では、カラープリンタ２００からはテキストデータの形式でデータが出力されるものとしたが、カラープリンタ２００から出力するデータはテキストデータに限らず、画像データを出力することも可能である。画像データのデータ形式は、例えば、ビットマップ形式や、ＧＩＦＦ形式、ＪＰＥＧ形式など、汎用的なデータ形式であれば、どのようなデータ形式で記述されていてもよい。
【０１２５】
図２８は、プリンタ情報表示領域に、テキストデータと、画像データとが表示されている様子を概念的に示した説明図である。このような情報を表示する場合は、カラープリンタ２００から出力されるデータに、テキストデータの形式で記述されていることを示す情報と、画像データの形式で記述されていることを示す情報とを組み込んでおけばよい。このようなデータ形式としては、いわゆるＨＴＭＬ文書の様な、マークアップ言語で記述されたデータを好適に用いることができる。そして、ゲーム機１００では、受け取ったデータを画面に表示する際に、テキストデータの形式で記述されている部分はテキストの形態で表示し、画像データの形式で記述されている部分は画像の形態で表示してやれば良い。
【０１２６】
また、図２８に例示されている画像には、接続されているカラープリンタ２００の外観形状が表されており、更に給紙スイッチの位置が矢印によって示されている。プリンタの外観形状や、給紙スイッチの位置などはプリンタの機種によって異なっているが、本実施例のプリンタ情報表示処理では、カラープリンタ２００からデータを供給しているために、ゲーム機１００では、接続されているプリンタの機種を何ら識別することなく、適切な情報を表示することが可能である。
【０１２７】
更には、カラープリンタ２００から、複数回に分けてデータを出力することとしても良い。図２９は、カラープリンタ２００から複数回に分けてデータを出力する態様を例示した説明図である。図示されているように、例えば、印刷を開始すると、先ず初めに、カラープリンタ２００から図２９（ａ）に示すような画像データを出力して、モニタ１５０の画面に表示する。次いで、画像の印刷がある程度進んだ段階で、図２９（ｂ）に示すような画像データを出力する。こうすれば、ゲーム機１００では、単にカラープリンタ２００から供給されたデータを表示しているだけで、カラープリンタ２００における処理の進行状況に応じた表示を行うことが可能となる。
【０１２８】
更には、カラープリンタ２００から音声データを出力してもよい。あるいは、テキストや、画像に、音声を組み合わせた状態で記述したデータを出力することとしても良い。カラープリンタ２００から出力されるデータを、いわゆるＨＴＭＬなどのマークアップ言語で記述しておけば、テキスト、画像、音声など、データの記述形態に応じたタグを書き込むことで、これら形態を組み合わせて記述することが可能となる。
【０１２９】
Ｅ．第２実施例のプリンタ情報表示処理  ：
以上に説明した第１実施例のプリンタ情報表示処理では、もっぱらプリンタからの表示要求に応じて、プリンタから供給されるデータを表示（音声データの場合は再生）していた。このように、ゲーム機１００が受け身的に表示する場合は、表示の内容は、いきおいプリンタの動作状態に関するものになりがちである。しかし、ゲーム機１００の側からプリンタに対して積極的にデータを要求して、得られたデータを表示することも可能である。以下では、このような第２実施例のプリンタ情報表示処理について説明する。
【０１３０】
図３０は、第２実施例のプリンタ情報表示処理の流れを示すフローチャートである。かかる処理も、前述した第１実施例のプリンタ情報表示処理と同様に、ゲーム機１００に搭載されたＣＰＵ１０１によって実行される処理である。以下、フローチャートに従って説明する。
【０１３１】
第２実施例のプリンタ情報表示処理は、例えばゲーム機１００の操作者がコントローラ１０２に設けられた所定のボタンを押すと、ゲーム機１００のＣＰＵ１０１が割り込みを発生させることによって開始される。尚、以下では、理解の便宜を図って具体的に説明するために、プリンタのヘルプ情報を表示する場合について説明する。
【０１３２】
図示されているように、第２実施例のプリンタ情報表示処理では、先ず初めに、プリンタヘルプ表示画面を用意する（ステップＳ３００）。図３１は、モニタ１５０にプリンタヘルプ表示画面が表示された状態を示した説明図である。図示されているように、プリンタヘルプ表示画面には、「戻る」ボタンと、「次へ」ボタンと、「閉じる」ボタンの３つのボタンと、「プリンタヘルプ」という画面のタイトルと、プリンタのヘルプ情報が表示される領域（プリンタヘルプ表示領域）とが設けられている。尚、図３１では、プリンタヘルプ表示領域は、斜線を付して表示されている。
【０１３３】
ゲーム機１００のＣＰＵ１０１は、このようなプリンタヘルプ画面を表示したら、カラープリンタ２００に向かって、ヘルプデータを要求する制御コードを出力する（図３０のステップＳ３０２）。カラープリンタ２００は、ヘルプデータを要求する制御コードを受け取ると、予め記憶されているヘルプデータをゲーム機１００に向かって出力する。このヘルプデータは、テキスト、画像、音声、あるいはこれらを組み合わせた形態で記述されて、カラープリンタ２００に予め記憶されている。
【０１３４】
ゲーム機１００のＣＰＵ１０１は、カラープリンタ２００から出力されてきたヘルプデータを受け取ると、先に用意しておいたプリンタヘルプ表示領域に、受け取ったデータを表示する（ステップＳ３０４）。尚、データに音声データが含まれている場合は、音声データの再生も行う。図３２は、このようにしてカラープリンタ２００から出力されたヘルプデータが、プリンタヘルプ表示画面の所定の領域に表示されている様子を示した説明図である。カラープリンタ２００から出力されたヘルプデータは、プリンタヘルプ表示領域では表示しきれないので、画面に設けられた「次へ」ボタン、あるいは「戻る」ボタンを押すことによって、表示領域を切り換えることができる。こうした機能は、ゲーム機１００に搭載された画面表示機能（具体的には、ブラウザ）によって実現されている。図３０に示した第２実施例のプリンタ情報表示処理のステップＳ３０４では、このように、カラープリンタ２００から受け取ったヘルプデータの中から、指示された箇所のデータを読み出して、画面上に表示する処理を行う。
【０１３５】
そして、プリンタヘルプ画面に設けられた「閉じる」ボタンが押されたことが確認されたら（ステップＳ３０６：ｙｅｓ）、図３２に示したプリンタヘルプ画面を閉鎖して（ステップＳ３０８）、図３０に示した第２実施例のプリンタ情報表示処理を終了する。
【０１３６】
以上に説明した第２実施例のプリンタ情報表示処理においても、モニタ１５０の画面上に予め用意された領域に、カラープリンタ２００から供給されたデータをそのまま表示するだけで、カラープリンタ２００の情報を適切に表示することができる。従って、ゲーム機１００に接続されるプリンタが、どのような機種の、どのような仕向地のものであっても、ゲーム機１００の側では何ら特別な対応をせずとも、プリンタが出力する情報を適切に表示することが可能である。
【０１３７】
以上、各種の実施例について説明してきたが、本発明は上記すべての実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することができる。
【０１３８】
例えば、上述した各種実施例では、画像データを供給する機器は、ゲーム機１００であるものとして説明した。しかし、上述した各種のプリンタ情報表示処理は、何ら高度な処理能力を必要とせずに実行することができるので、カラープリンタ２００に画像データを供給するどのような機器であっても、極めて容易に実施することができる。例えば、デジタルカメラや、携帯電話など、モニタ画面を有する機器であれば、どのような機器でも適切に実行することが可能である。
【０１３９】
もちろん、プリンタに画像データを供給する機器が、コンピュータのような高度な処理能力を有する機器であっても構わない。このような場合も、画像データを供給する側では、どのようなプリンタが接続されているかを何ら意識することなく、プリンタが出力する情報を適切に表示することが可能となる。
【図面の簡単な説明】
【０１４０】
【図１】ゲーム機とカラープリンタとによって構成される本実施例の画像出力システムを示した説明図である。
【図２】本実施例の画像出力システムを構成するカラープリンタの概略構成を示す説明図である。
【図３】インク吐出用ヘッドにおけるインクジェットノズルの配列を示す説明図である。
【図４】モニタ上にゲーム中の画面が表示されている様子を例示した説明図である。
【図５】モニタの画面上で二次元画像がそのまま表示されている領域をハッチングを付して表した説明図である。
【図６】メインキャラクタである飛行艇の形状を示す斜視図である。
【図７】メインキャラクタの飛行艇の形状を細かな平面多角形によって表現した様子を概念的に示した説明図である。
【図８】画像出力システムを構成するゲーム機において各オブジェクトのポリゴンデータを管理するためのオブジェクトテーブルを概念的に示した説明図である。
【図９】オブジェクトの形状を示したポリゴンデータのデータ構造を示す説明図である。
【図１０】画像出力システムを構成するゲーム機がゲーム中の画面をモニタに表示する処理の概要を示したフローチャートである。
【図１１】レンダリング処理の概要を示した説明図である。
【図１２】オブジェクトを構成するポリゴンの頂点座標を、二次元平面の座標点に投影する変換式を例示した説明図である。
【図１３】レンダリング処理によって生成された投影像を概念的に示した説明図である。
【図１４】レンダリング処理によって生成された画像を描画するために出力される描画命令のデータ構造を概念的に示した説明図である。
【図１５】ゲーム機からカラープリンタに画像データを供給することによって画像を印刷する処理の流れを示すフローチャートである。
【図１６】メインキャラクタである飛行艇の三次元的な形状が小さなポリゴンによって表現されている様子を概念的に示した説明図である。
【図１７】精密ポリゴンデータの有無を判断するために参照されるテーブルを概念的に示した説明図である。
【図１８】画像の撮影条件を設定するための画面がモニタに表示されている様子を例示した説明図である。
【図１９】画像の印刷条件を設定するための画面がモニタに表示されている様子を例示した説明図である。
【図２０】印刷データ出力処理の流れを示したフローチャートである。
【図２１】色変換処理のために参照されるＬＵＴを概念的に示した説明図である。
【図２２】ディザ法で参照される一般的なディザマトリックスの一部を拡大して例示した説明図である。
【図２３】ディザマトリックスを参照しながら画素毎にドット形成の有無を判断している様子を概念的に示した説明図である。
【図２４】第１実施例のプリンタ情報表示処理の流れを示すフローチャートである。
【図２５】モニタにプリンタ情報表示画面が表示された状態を示した説明図である。
【図２６】カラープリンタから出力されたデータがプリンタ情報表示領域に表示された様子を示す説明図である。
【図２７】カラープリンタからのデータが英語で記述されていた場合を例示した説明図である。
【図２８】プリンタ情報表示領域にテキストデータと画像データとが表示されている様子を概念的に示した説明図である。
【図２９】カラープリンタから複数回に分けてデータを出力する態様を例示した説明図である。
【図３０】第２実施例のプリンタ情報表示処理の流れを示すフローチャートである。
【図３１】モニタにプリンタヘルプ表示画面が表示された状態を示した説明図である。
【図３２】カラープリンタから出力されたヘルプデータがプリンタヘルプ表示画面の所定の領域に表示されている様子を示した説明図である。
【符号の説明】
【０１４１】
１００...ゲーム機、    １０１...ＣＰＵ、    １１０...メインメモリ
１１２...ＧＴＥ、    １１４...フレームバッファ、    １１６...ＧＰＵ
１５０...モニタ、    ２００...カラープリンタ
【図１】
2006150912.tif 000003
【図２】
2006150912.tif 000004
【図３】
2006150912.tif 000005
【図４】
2006150912.tif 000006
【図５】
2006150912.tif 000007
【図６】
2006150912.tif 000008
【図７】
2006150912.tif 000009
【図８】
2006150912.tif 000010
【図９】
2006150912.tif 000011
【図１０】
2006150912.tif 000012
【図１１】
2006150912.tif 000013
【図１２】
2006150912.tif 000014
【図１３】
2006150912.tif 000015
【図１４】
2006150912.tif 000016
【図１５】
2006150912.tif 000017
【図１６】
2006150912.tif 000018
【図１７】
2006150912.tif 000019
【図１８】
2006150912.tif 000020
【図１９】
2006150912.tif 000021
【図２０】
2006150912.tif 000022
【図２１】
2006150912.tif 000023
【図２２】
2006150912.tif 000024
【図２３】
2006150912.tif 000025
【図２４】
2006150912.tif 000026
【図２５】
2006150912.tif 000027
【図２６】
2006150912.tif 000028
【図２７】
2006150912.tif 000029
【図２８】
2006150912.tif 000030
【図２９】
2006150912.tif 000031
【図３０】
2006150912.tif 000032
【図３１】
2006150912.tif 000033
【図３２】
2006150912.tif 000034