(57)【特許請求の範囲】
【請求項１】
ユーザによる画像の編集に基づいて、画像データおよび画像のレイアウトをネットワークに送信する画像送信装置であって、
ユーザの指示に基づいて、少なくとも１つの画像のレイアウトを編集する編集手段、
前記編集を行っている期間中に、当該編集の対象となった画像の画像データを送信する画像データ送信手段、および
前記編集の終了後に、編集した画像のレイアウトを示すレイアウト情報を送信するレイアウト情報送信手段を備える、画像送信装置。
【請求項２】
画像データを記憶する画像データ記憶手段、および
前記編集の対象となる画像をユーザに選択させる選択手段をさらに備え、
前記画像データ送信手段は、画像データ記憶手段に記憶された画像データのうち、前記選択手段において選択された画像の画像データを送信する、請求項１記載の画像送信装置。
【請求項３】
前記画像データ記憶手段に記憶されている画像データに関して送信すべき画像のリストを記憶する送信リスト記憶手段、および
前記選択手段において画像が選択されるごとに、前記リストに選択された画像を追加する送信画像追加手段をさらに備え、
前記画像データ送信手段は、前記編集を行っている期間中に、前記リストに含まれる画像の画像データを送信する、請求項２記載の画像送信装置。
【請求項４】
前記レイアウト情報送信手段は、前記編集の終了後であって、かつ前記画像データの送信完了後に前記レイアウト情報を送信する、請求項１または２記載の画像送信装置。
【請求項５】
前記編集を中断する場合に、編集中の画像のレイアウトと、前記画像データ記憶手段に記憶されている画像データに関して送信すべき画像のリストとを記憶する中断情報記憶手段、および
前記中断情報記憶手段に記憶されたレイアウトに基づいて、前記編集を再開する編集再開手段をさらに備え、
前記画像データ送信手段は、編集再開後、前記中断情報記憶手段に記憶されたリストに基づいて、送信すべき画像のうち未送信の画像データを送信する、請求項３記載の画像送信装置。
【請求項６】
ユーザが編集を行う編集領域と、編集の対象として選択可能な画像を配置した選択領域とを表示装置に表示させるインタフェース表示手段をさらに備え、
前記選択手段は、前記選択領域内の画像をユーザに前記編集領域に配置させることで選択させる、請求項２記載の画像送信装置。
【請求項７】
前記レイアウト情報には、画像データを識別する識別情報、画像の位置、画像のサイズが少なくとも含まれ、
前記編集手段は、前記編集領域内で画像の配置をユーザに行わせることでレイアウトの編集を行わせる、請求項６記載の画像送信装置。
【請求項８】
前記中断情報記憶手段は、編集中断時に前記画像データ記憶手段に記憶されている画像を識別する識別情報をさらに記憶し、
編集再開時に前記画像データ記憶手段に記憶されている画像の識別情報と前記中断情報記憶手段に記憶された識別情報とを互いに比較することによって、編集再開時に前記画像データ記憶手段に記憶されている画像が中断時と同じであるか判定する判定手段をさらに備え、
前記画像データ送信手段は、編集再開後、前記判定手段において中断時と同じであると判定された場合に、前記中断情報記憶手段に記憶されたリストに基づいて、送信すべき画像のうち未送信の画像データを送信する、請求項５記載の画像送信装置。
【請求項９】
前記リストには各画像を識別する識別情報が登録され、
前記画像データ送信手段は、各画像の画像データに当該画像の識別情報を付加して送信し、
前記ネットワークには、前記画像データ送信手段からの画像データを受信して当該画像データに付加された識別情報を返信するサーバが設けられ、
前記サーバから返信された識別情報を前記リストに登録された識別情報と照合して、前記サーバが各画像を受信したか否かを判別する判別手段をさらに備え、
前記画像データ送信手段は、前記判別手段によって前記サーバが受信していないと判別された画像を再送する、請求項３記載の画像送信装置。
【請求項１０】
ユーザによる画像の編集に基づいて、画像データおよび画像のレイアウトをネットワークに送信する画像送信装置のコンピュータを、
ユーザの指示に基づいて、少なくとも１つの画像のレイアウトを編集する編集手段、
前記編集を行っている期間中に、当該編集の対象となった画像の画像データを送信する画像データ送信手段、および
前記編集の終了後に、編集した画像のレイアウトを示すレイアウト情報を送信するレイアウト情報送信手段として機能させる、画像送信プログラム。
【請求項１１】
前記コンピュータを、
画像データを記憶する画像データ記憶手段、および
前記編集の対象となる画像をユーザに選択させる選択手段としてさらに機能させ、
前記画像データ送信手段は、画像データ記憶手段に記憶された画像データのうち、前記選択手段において選択された画像の画像データを送信する、請求項１０記載の画像送信プログラム。
【請求項１２】
前記コンピュータを、
前記編集の対象となった画像のリストを記憶する送信リスト記憶手段、および
前記選択手段において画像が選択されるごとに、前記リストに選択された画像を追加する送信画像追加手段としてさらに機能させ、
前記画像データ送信手段は、前記編集を行っている期間中に、前記リストに含まれる画像の画像データを送信する、請求項１１記載の画像送信プログラム。
【請求項１３】
前記レイアウト情報送信手段は、前記編集の終了後であって、かつ前記画像データの送信完了後に前記レイアウト情報を送信する、請求項１０または１１記載の画像送信プログラム。
【請求項１４】
前記コンピュータを、
前記編集を中断する場合に、編集中の画像のレイアウトと、前記送信すべき画像のリストとを記憶する中断情報記憶手段、および
前記中断情報記憶手段に記憶された情報に基づいて、前記編集を再開する編集再開手段としてさらに機能させ、
前記画像データ送信手段は、編集再開後、送信すべき画像のうち未送信の画像データを送信する、請求項１２記載の画像送信プログラム。
【請求項１５】
前記コンピュータを、ユーザが編集を行う編集領域と、編集の対象として選択可能な画像を配置した選択領域とを表示装置に表示させるインタフェース表示手段としてさらに機能させ、
前記選択手段は、前記選択領域内の画像をユーザに前記編集領域に配置させることで選択させる、請求項１１記載の画像送信プログラム。
【請求項１６】
前記レイアウト情報には、画像データを識別する識別情報、画像の位置、画像のサイズが少なくとも含まれ、
前記編集手段は、前記編集領域内で画像の配置をユーザに行わせることでレイアウトの編集を行わせる、請求項１５記載の画像送信プログラム。
【請求項１７】
前記中断情報記憶手段は、前記画像データ記憶手段に記憶されている画像を識別する識別情報をさらに記憶し、
前記コンピュータを、編集再開時に前記画像データ記憶手段に記憶されている画像の識別情報と前記中断情報記憶手段に記憶された識別情報とを互いに比較することによって、編集再開時に前記画像データ記憶手段に記憶されている画像が中断時と同じであるか判定する判定手段としてさらに機能させ、
前記画像データ送信手段は、編集再開後、前記判定手段において中断時と同じであると判定された場合に、送信すべき画像のうち未送信の画像データを送信する、請求項１４記載の画像送信プログラム。
【請求項１８】
前記リストには各画像を識別する識別情報が登録され、
前記画像データ送信手段は、各画像の画像データに当該画像の識別情報を付加して送信し、
前記ネットワークには、前記画像データ送信手段からの画像データを受信して当該画像データに付加された識別情報を返信するサーバが設けられ、
前記コンピュータを、前記サーバから返信された識別情報を前記リストに登録された識別情報と照合して、前記サーバが各画像を受信したか否かを判別する判別手段としてさらに機能させ、
前記画像データ送信手段は、前記判別手段によって前記サーバが受信していないと判別された画像を再送する、請求項１２記載の画像送信プログラム。
【請求項１９】
所望の画像に対応する画像データと当該画像データに基づくプリント処理を実行させるためのユーザ操作に基づく制御情報とを送信する画像送信装置であって、
前記制御情報を更新操作に応じて更新する更新処理を繰り返し実行する第１更新手段、
前記画像データを送信する送信処理を前記第１更新手段による更新処理と並列に実行する第１送信手段、および
前記制御情報を送信する送信処理を前記第１更新手段による更新処理の終了後に実行する第２送信手段を備える、画像送信装置。
【請求項２０】
前記第１送信手段は、前記所望の画像の少なくとも一部を特定する特定操作に応じて送信処理を開始する、請求項１９記載の画像送信装置。
【請求項２１】
前記所望の画像のうち未送信画像の識別子を登録したリストを前記第１送信手段による送信処理の進行に従って更新する第２更新手段、および
前記制御情報および前記リストを中断操作に応じてセーブするセーブ手段をさらに備え、
前記第１更新手段および前記第１送信手段はそれぞれ、再開操作に応じて、前記制御情報および前記リストを前記セーブ手段によってセーブされた制御情報およびリストで更新した後に、更新処理および送信処理を再開する、請求項１９または２０記載の画像送信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像送信装置および画像送信プログラムに関し、特にたとえば、画像データとこの画像データに基づくプリント処理を実行させるためのユーザ操作に基づく制御情報とを送信する、画像送信装置および画像送信プログラムに関する。
【背景技術】
【０００２】
この種の装置の一例である携帯情報端末が、特許文献１に開示されている。この背景技術では、携帯情報端末は、画像データを印刷するための発注情報をユーザ入力に従って作成し、発注情報を画像データのタグに付加し、そしてタグ付きの画像データを印刷装置設置店に送信する。  
【特許文献１】特開２００４‐３０３０５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、背景技術では、画像データは、発注情報と一緒に送信される、すなわち発注のためのユーザ入力が完了した後に送信されるので、ユーザにとって、送信完了までの待ち時間が長いという問題があった。
【０００４】
それゆえに、この発明の主たる目的は、新規な、画像送信装置および画像送信プログラムを提供することである。
【０００５】
この発明の他の目的は、画像データと、この画像データに基づくプリント処理を実行させるためのユーザ操作に従う制御情報（たとえばレイアウト情報や発注情報など）とを送信する際に、送信完了までの待ち時間を短縮できる、画像送信装置および画像送信プログラムを提供することである。
【課題を解決するための手段】
【０００６】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【０００７】
第１の発明は、ユーザによる画像の編集に基づいて、画像データおよび画像のレイアウトをネットワークに送信する画像送信装置であって、ユーザの指示に基づいて、少なくとも１つの画像のレイアウトを編集する編集手段、編集を行っている期間中に、当該編集の対象となった画像の画像データを送信する画像データ送信手段、および編集の終了後に、編集した画像のレイアウトを示すレイアウト情報を送信するレイアウト情報送信手段を備える。
【０００８】
第１の発明では、画像送信装置（１２）は、ユーザによる画像の編集に基づいて、画像データおよび画像のレイアウトをネットワーク（１２４）に送信する。画像送信装置では、編集手段（Ｓ２１）が、ユーザの指示に基づいて、少なくとも１つの画像のレイアウトを編集する。たとえば、各画像の位置やサイズを変更したり、各画像に前景や背景を付加または変更したりする。こうしてユーザが編集を行っている期間中に、画像データ送信手段（Ｓ６１〜Ｓ７１）は、当該編集の対象となった画像の画像データを送信する。編集が終了すると、編集結果つまり編集した画像のレイアウトを示すレイアウト情報が、レイアウト情報送信手段（Ｓ５３）によって送信される。
【０００９】
第１の発明によれば、ユーザが編集を行っている期間中に、バックグラウンドで画像データの送信が進行するので、送信完了までの所要時間が短縮される。
【００１０】
第２の発明は、第１の発明に従属する画像送信装置であって、画像データを記憶する画像データ記憶手段、および編集の対象となる画像をユーザに選択させる選択手段をさらに備え、画像データ送信手段は、画像データ記憶手段に記憶された画像データのうち、選択手段において選択された画像の画像データを送信する。
【００１１】
第２の発明では、画像データが画像データ記憶手段（１４２）に記憶されており、選択手段（Ｓ２３）は、編集の対象となる画像をユーザに選択させる。画像データ送信手段は、画像データ記憶手段に記憶された画像データのうち、選択手段において選択された画像の画像データを送信する。
【００１２】
第２の発明によれば、ユーザは、所望の画像の画像データを送信することができる。
【００１３】
第３の発明は、第２の発明に従属する画像送信装置であって、画像データ記憶手段に記憶されている画像データに関して送信すべき画像のリストを記憶する送信リスト記憶手段、および選択手段において画像が選択されるごとに、リストに選択された画像を追加する送信画像追加手段をさらに備え、画像データ送信手段は、編集を行っている期間中に、リストに含まれる画像の画像データを送信する。
【００１４】
第３の発明では、画像データ記憶手段に記憶されている画像データに関して送信すべき画像のリスト（図１２）が、送信リスト記憶手段（１４４）に記憶されている。送信画像追加手段（Ｓ２５）は、選択手段において画像が選択されるごとに、リストに選択された画像を追加する。画像データ送信手段は、編集を行っている期間中に、リストに含まれる画像の画像データを送信する。
【００１５】
第３の発明によれば、各画像を選択した後に編集を開始したり、編集の途中に画像を追加したりすることができる。
【００１６】
第４の発明は、第１または第２の発明に従属する画像送信装置であって、レイアウト情報送信手段は、編集の終了後であって、かつ画像データの送信完了後にレイアウト情報を送信する。
【００１７】
第５の発明は、第３の発明に従属する画像送信装置であって、編集を中断する場合に、編集中の画像のレイアウトと、画像データ記憶手段に記憶されている画像データに関して送信すべき画像のリストとを記憶する中断情報記憶手段、および中断情報記憶手段に記憶されたレイアウトに基づいて、編集を再開する編集再開手段をさらに備え、画像データ送信手段は、編集再開後、中断情報記憶手段に記憶されたリストに基づいて、送信すべき画像のうち未送信の画像データを送信する。
【００１８】
第５の発明では、たとえばユーザの中断操作やネットワークの通信状態の変化などによって、編集を中断する場合には、中断情報記憶手段（１４８，Ｓ３３）が、編集中の画像のレイアウトと、送信すべき画像のリストとを記憶する。中断された編集は、編集再開手段（Ｓ７，Ｓ９）によって、中断情報記憶手段に記憶されたレイアウトに基づいて再開される。画像データ送信手段は、編集再開後に、中断情報記憶手段に記憶されたリストに基づいて、送信すべき画像のうち未送信の画像データを送信する。
【００１９】
第５の発明によれば、編集を中断するたびに編集および画像データ送信を一からやり直す無駄が省ける。
【００２０】
第６の発明は、第２の発明に従属する画像送信装置であって、ユーザが編集を行う編集領域と、編集の対象として選択可能な画像を配置した選択領域とを表示装置に表示させるインタフェース表示手段をさらに備え、選択手段は、選択領域内の画像をユーザに編集領域に配置させることで選択させる。
【００２１】
第６の発明では、インタフェース表示手段（４２ｂ）が、ユーザが編集を行う編集領域（Ｅ２）と、編集の対象として選択可能な画像を配置した選択領域（Ｅ１）とを表示装置（２８）に表示させる（図１３）。ユーザが選択領域内の画像を編集領域に配置（移動）させると、この画像が選択手段によって選択され、編集および画像データ送信の対象となる。
【００２２】
第６の発明によれば、ユーザは、選択領域内の画像を編集領域に配置させることで、対象画像を容易に選択できる。
【００２３】
第７の発明は、第６の発明に従属する画像送信装置であって、レイアウト情報には、画像データを識別する識別情報、画像の位置、画像のサイズが少なくとも含まれ、編集手段は、編集領域内で画像の配置をユーザに行わせることでレイアウトの編集を行わせる。
【００２４】
第７の発明では、レイアウト情報は、画像データを識別する識別情報、画像の位置、画像のサイズを少なくとも含む。ユーザが編集領域内で画像の配置を行うと、このようなレイアウト情報が編集手段によって編集される。
【００２５】
第７の発明によれば、ユーザは、編集領域内で画像の配置を行うことで、レイアウト情報を容易に編集できる。
【００２６】
第８の発明は、第５の発明に従属する画像送信装置であって、中断情報記憶手段は、編集中断時に画像データ記憶手段に記憶されている画像を識別する識別情報をさらに記憶し、編集再開時に画像データ記憶手段に記憶されている画像の識別情報と中断情報記憶手段に記憶された識別情報とを互いに比較することによって、編集再開時に画像データ記憶手段に記憶されている画像が中断時と同じであるか判定する判定手段をさらに備え、画像データ送信手段は、編集再開後、判定手段において中断時と同じであると判定された場合に、中断情報記憶手段に記憶されたリストに基づいて、送信すべき画像のうち未送信の画像データを送信する。
【００２７】
第８の発明では、画像データ記憶手段に記憶されている画像を識別する識別情報が、中断情報記憶手段にさらに記憶される。中断情報記憶手段に記憶された識別情報は、編集再開時に画像データ記憶手段に記憶されている画像の識別情報と比較され、判定手段（Ｓ５）は、この比較結果に基づいて、画像データ記憶手段に記憶されている画像が中断時と同じであるか判定する。判定手段において中断時と同じであると判定された場合には、編集再開後、中断情報記憶手段に記憶されたリストに基づいて、送信すべき画像のうち未送信の画像データが、画像データ送信手段によって送信される。
【００２８】
なお、再開時に中断時と同じ画像が記憶されていないと判定された場合には、画像データ送信手段は、送信リスト記憶手段に記憶されているリストに基づいて、送信すべき各画像の画像データを送信する。すなわち、画像データ記憶手段に記憶されている画像は、いずれも未送信であると見なされ、残らず送信対象となる。
【００２９】
第８の発明によれば、送信済みの画像データを再度送信する無駄が省ける。
【００３０】
第９の発明は、第３の発明に従属する画像送信装置であって、リストには各画像を識別する識別情報が登録され、画像データ送信手段は、各画像の画像データに当該画像の識別情報を付加して送信し、ネットワークには、画像データ送信手段からの画像データを受信して当該画像データに付加された識別情報を返信するサーバが設けられ、サーバから返信された識別情報をリストに登録された識別情報と照合して、サーバが各画像を受信したか否かを判別する判別手段をさらに備え、画像データ送信手段は、判別手段によってサーバが受信していないと判別された画像を再送する。
【００３１】
第９の発明では、リストには、各画像を識別する識別情報が登録され、画像データ送信手段は、各画像の画像データに当該画像の識別情報を付加して送信する。ネットワークには、画像データ送信手段からの画像データを受信して当該画像データに付加された識別情報を返信するサーバ（１２２）が設けられ、判別手段（Ｓ４５）は、サーバから返信された識別情報をリストに登録された識別情報と照合して、サーバが各画像を受信したか否かを判別する。画像データ送信手段は、判別手段によってサーバが受信していないと判別された画像を再送する（Ｓ４９）。
【００３２】
第９の発明によれば、送信した各画像の画像データがサーバによって受信されたか否かを識別情報の返信の有無で判別し、受信されていないと判別された画像の画像データを再送するので、画像データを確実に受信させることができる。
【００３３】
第１０〜第１８の発明は、ユーザによる画像の編集に基づいて、画像データおよび画像のレイアウトをネットワーク（１２４）に送信する画像送信装置（１２）のコンピュータ（４０）を、第１〜９の発明に記載したような各手段として機能させる、画像送信プログラムである。
【００３４】
第１９の発明は、所望の画像に対応する画像データと当該画像データに基づくプリント処理を実行させるためのユーザ操作に基づく制御情報とを送信する画像送信装置であって、  制御情報を更新操作に応じて更新する更新処理を繰り返し実行する第１更新手段、画像データを送信する送信処理を第１更新手段による更新処理と並列に実行する第１送信手段、および制御情報を送信する送信処理を第１更新手段による更新処理の終了後に実行する第２送信手段を備える。
【００３５】
第１９の発明では、画像送信装置（１２）は、プリントサーバ（１２２）などにプリント処理を実行させるべく、画像データおよび制御情報を送信する。制御情報は、更新操作のたびに、第１更新手段（Ｓ２１，Ｓ３１）によって繰り返し更新される。たとえば、ユーザがレイアウト編集操作，プリントサイズ／枚数指定操作などを行うと、制御情報に含まれるレイアウト情報，プリントサイズ／枚数情報などが操作のたびに更新される。画像データを送信する送信処理は、このような第１更新手段の更新処理と並列に、第１送信手段（Ｓ６５，Ｓ６７）によって実行される。制御情報を送信する送信処理は、第１更新手段の更新処理の終了後に、すなわち制御情報が確定した後に、第２送信手段（Ｓ２９，Ｓ５３）によって実行される。
【００３６】
第１９の発明によれば、ユーザが制御情報を更新する操作を行っている間に、バックグラウンドで画像送信が進行するので、送信完了までの待ち時間を短縮できる。
【００３７】
第２０の発明は、第１９の発明に従属する画像送信装置であって、第１送信手段は、所望の画像の少なくとも一部を特定する特定操作に応じて送信処理を開始する。
【００３８】
第２０の発明では、所望の画像が特定された時点で、その画像データの送信処理が開始される。
【００３９】
第２０の発明によれば、待ち時間を一層短縮できる。
【００４０】
第２１の発明は、第１９または第２０の発明に従属する画像送信装置であって、所望の画像のうち未送信画像の識別子を登録したリストを第１送信手段による送信処理の進行に従って更新する第２更新手段、および制御情報およびリストを中断操作に応じてセーブするセーブ手段をさらに備え、第１更新手段および第１送信手段はそれぞれ、再開操作に応じて、制御情報およびリストをセーブ手段によってセーブされた制御情報およびリストで更新した後に、更新処理および送信処理を再開する。
【００４１】
第２１の発明では、第２更新手段（Ｓ７１）が、所望の画像のうち未送信画像の識別子を登録したリストを、第１送信手段による送信処理の進行に従って更新する。セーブ手段（Ｓ３３）は、制御情報およびリストを中断操作に応じてセーブし、第１更新手段および第１送信手段はそれぞれ、再開操作に応じて、制御情報およびリストをセーブ手段によってセーブされた制御情報およびリストで更新した後に、更新処理および送信処理を再開する。
【００４２】
第２１の発明によれば、制御情報の更新操作および画像データの送信処理を中断のたびに一からやり直す無駄が省ける。
【発明の効果】
【００４３】
この発明によれば、画像データと、この画像データに基づくプリント処理を実行させるためのユーザ操作に従う制御情報とを送信するにあたって、送信完了までの待ち時間を短縮することができる。
【００４４】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００４５】
図１を参照して、この発明の一実施例であるゲームシステム１０は、ゲーム装置１２およびコントローラ１４を含む。図示は省略するが、この実施例のゲーム装置１２は、最大４つのコントローラ１４と通信可能に設計されている。また、ゲーム装置１２と各コントローラ１４とは、無線によって接続される。たとえば、無線通信は、Ｂｌｕｅｔｏｏｔｈ（登録商標）規格に従って実行されるが、赤外線や無線ＬＡＮなど他の規格に従って実行されてもよい。さらには、有線で接続されてもよい。
【００４６】
ゲーム装置１２は、略直方体のハウジング１６を含み、ハウジング１６の前面にはディスクスロット１８が設けられる。ディスクスロット１８から、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク２４が挿入されて、ハウジング１６内のディスクドライブ５４（図２参照）に装着される。図示は省略するが、ディスクスロット１８の周囲には、ＬＥＤと導光板とが配置され、様々な処理に応答させて、ディスクスロット１
８を点灯または点滅させることが可能である。
【００４７】
また、ゲーム装置１２のハウジング１６の前面の上部には、電源ボタン２０ａおよびリセットボタン２０ｂが設けられ、その下部には、イジェクトボタン２０ｃが設けられる。さらに、リセットボタン２０ｂとイジェクトボタン２０ｃとの間であり、ディスクスロット１８の近傍には、外部メモリカード用コネクタカバー２２が設けられる。この外部メモリカード用コネクタカバー２２の内側には、外部メモリカード用コネクタ６２（図２参照）が設けられ、外部メモリカード３８（以下、単に「メモリカード３８」という。）が挿入される。メモリカード３８は、光ディスク２４から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム１０を利用してプレイしたゲームのゲームデータ（ゲームの結果データまたは途中データ）を保存（セーブ）しておいたりするために利用される。ただし、上記のゲームデータの保存は、メモリカード３８に対して行うことに代えて、たとえばゲーム装置１２の内部に設けられるフラッシュメモリ４４（図２参照）のような内部メモリに対して行うようにしてもよい。また、メモリカード３８は、内部メモリのバックアップメモリとして用いるようにしてもよい。さらに、ゲーム装置１２では、ゲーム以外の他のアプリケーションを実行することも可能であり、かかる場合には、メモリカード３８には当該他のアプリケーションのデータを保存することができる。
【００４８】
なお、メモリカード３８としては、汎用のＳＤカードを用いることができるが、メモリスティックやマルチメディアカード（登録商標）のような他の汎用のメモリカードを用いることもできる。
【００４９】
図１では省略するが、ゲーム装置１２のハウジング１６の後面には、ＡＶケーブルコネクタ５８（図２参照）が設けられ、そのＡＶコネクタ５８を用いて、ＡＶケーブル２６を通してゲーム装置１２にモニタ２８およびスピーカ３０を接続する。このモニタ２８およびスピーカ３０は典型的にはカラーテレビジョン受像機であり、ＡＶケーブル２６によって、ゲーム装置１２からの映像信号がカラーテレビのビデオ入力端子に入力され、ゲーム装置１２からの音声信号が音声入力端子に入力される。したがって、カラーテレビ（モニタ）２８の画面上にたとえば３次元（３Ｄ）ビデオゲームの仮想３次元ゲーム画像が表示され、左右のスピーカ３０からゲーム音楽や効果音などのステレオゲーム音声が出力される。また、モニタ２８の周辺（この実施例では、モニタ２８の上側）には、２つの赤外ＬＥＤ（マーカ）３２ａおよび３２ｂを備えるマーカ部３２が設けられる。このマーカ部３２は、電源線３４を通してゲーム装置１２に接続される。したがって、マーカ部３２には、ゲーム装置１２から電源が供給される。これによって、マーカ３２ａおよび３２ｂは発光し、それぞれモニタ２８の前方に向けて赤外光を出力する。
【００５０】
なお、ゲーム装置１２の電源は、一般的なＡＣアダプタ（図示せず）によって与えられる。ＡＣアダプタは家庭用の標準的な壁ソケットに差し込まれ、ゲーム装置１２は、家庭用電源（商用電源）を、駆動に適した低いＤＣ電圧信号に変換する。他の実施例では、電源としてバッテリが用いられてもよい。
【００５１】
このゲームシステム１０において、ユーザまたはプレイヤがゲーム（またはゲームに限らず、他のアプリケーション）をプレイするために、ユーザは電源スイッチ２０ａによってまずゲーム装置１２の電源をオンし、次いで、ユーザはビデオゲーム（もしくはプレイしたいと思う他のアプリケーション）のプログラムを記録している適宜の光ディスク２４を選択し、その光ディスク２４をゲーム装置１２のディスクドライブ５４にローディングする。応じて、ゲーム装置１２がその光ディスク２４に記録されているプログラムに基づいてビデオゲームもしくは他のアプリケーションを実行し始める。ユーザはゲーム装置１２に入力を与えるためにコントローラ１４を操作する。たとえば操作ボタンなどを含む入力手段３６のどれかの操作ボタンを操作することによってゲームもしくは他のアプリケー
ションをスタートさせる。また、入力手段３６に対する操作以外にも、コントローラ１４自体を動かすことによって、動画オブジェクト（プレイヤオブジェクト）を異なる方向に移動させ、または３Ｄのゲーム世界におけるユーザの視点（カメラ位置）を変化させることができる。
【００５２】
ただし、ビデオゲームや他のアプリケーションのプログラムは、ゲーム装置１２の内部メモリ（フラッシュメモリ４４（図２参照））に記憶（インストール）しておき、当該内部メモリから実行するようにしてもよい。かかる場合には，光ディスク２４のような記憶媒体に記憶されたプログラムを内部メモリにインストールしてもよいし、ダウンロードされたプログラムを内部メモリにインストールしてもよい。
【００５３】
図２は図１実施例のゲームシステム１０の電気的な構成を示すブロック図である。図示は省略するが、ハウジング１６内の各コンポーネントは、プリント基板に実装される。図２に示すように、ゲーム装置１２には、ＣＰＵ４０が設けられ、ゲームプロセッサとして機能する。また、ＣＰＵ４０には、システムＬＳＩ４２が接続される。このシステムＬＳＩ４２には、外部メインメモリ４６、ＲＯＭ／ＲＴＣ４８、ディスクドライブ５４およびＡＶ  ＩＣ５６が接続される。
【００５４】
外部メインメモリ４６は、ゲームプログラム等のプログラムを記憶したり、各種データを記憶したりして、ＣＰＵ４０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ４８は、いわゆるブートＲＯＭであり、ゲーム装置１２の起動用のプログラムが組み込まれるとともに、時間をカウントする時計回路が設けられる。ディスクドライブ５４は、光ディスク２４からプログラムやテクスチャデータ等を読み出し、ＣＰＵ４０の制御の下で、後述する内部メインメモリ４２ｅまたは外部メインメモリ４６に書き込む。
【００５５】
システムＬＳＩ４２には、入出力プロセッサ４２ａ、ＧＰＵ(Graphics Processor Unit)４２ｂ，ＤＳＰ(Digital Signal Processor)４２ｃ，ＶＲＡＭ４２ｄおよび内部メイン
メモリ４２ｅが設けられ、図示は省略するが、これらは内部バスによって互いに接続される。
【００５６】
入出力プロセッサ（Ｉ／Ｏプロセッサ）４２ａは、データの送受信を実行したり、データのダウンロードを実行したりする。
【００５７】
ＧＰＵ４２ｂは、描画手段の一部を形成し、ＣＰＵ４０からのグラフィクスコマンド(
作画命令)を受け、そのコマンドに従ってゲーム画像データを生成する。ただし、ＣＰＵ
４０は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをＧＰＵ４２ｂに与える。
【００５８】
図示は省略するが、上述したように、ＧＰＵ４２ｂにはＶＲＡＭ４２ｄが接続される。ＧＰＵ４２ｂが作画命令を実行するにあたって必要なデータ（画像データ：ポリゴンデータやテクスチャデータなどのデータ）は、ＧＰＵ４２ｂがＶＲＡＭ４２ｄにアクセスして取得する。ただし、ＣＰＵ４０は、描画に必要な画像データを、ＧＰＵ４２ｂを介してＶＲＡＭ４２ｄに書き込む。ＧＰＵ４２ｂは、ＶＲＡＭ４２ｄにアクセスして描画のためのゲーム画像データを作成する。
【００５９】
なお、この実施例では、ＧＰＵ４２ｂがゲーム画像データを生成する場合について説明するが、ゲームアプリケーション以外の任意のアプリケーションを実行する場合には、ＧＰＵ４２ｂは当該任意のアプリケーションについての画像データを生成する。
【００６０】
また、ＤＳＰ４２ｃは、オーディオプロセッサとして機能し、内部メインメモリ４２ｅや外部メインメモリ４６に記憶されるサウンドデータや音波形（音色）データを用いて、スピーカ３０から出力する音、音声或いは音楽に対応するオーディオデータを生成する。
【００６１】
上述のように生成されたゲーム画像データおよびオーディオデータは、ＡＶ  ＩＣ５６によって読み出され、ＡＶコネクタ５８を介してモニタ２８およびスピーカ３０に出力される。したがって、ゲーム画面がモニタ２８に表示され、ゲームに必要な音（音楽）がスピーカ３０から出力される。
【００６２】
また、入出力プロセッサ４２ａには、フラッシュメモリ４４、無線通信モジュール５０および無線コントローラモジュール５２が接続されるとともに、拡張コネクタ６０およびメモリカード用コネクタ６２が接続される。また、無線通信モジュール５０にはアンテナ５０ａが接続され、無線コントローラモジュール５２にはアンテナ５２ａが接続される。
【００６３】
入出力プロセッサ４２ａは、無線通信モジュール５０を介して、ネットワーク１２４に接続される他のゲーム装置や各種サーバと通信することができる。ただし、ネットワーク１２４を介さずに、直接的に他のゲーム装置と通信することもできる。入出力プロセッサ４２ａは、定期的にフラッシュメモリ４４にアクセスし、ネットワーク１２４へ送信する必要があるデータ（「送信データ」とする）の有無を検出し、当該送信データが有る場合には、無線通信モジュール５０およびアンテナ５０ａを介してネットワーク１２４に送信する。また、入出力プロセッサ４２ａは、他のゲーム装置から送信されるデータ（「受信データ」とする）を、ネットワーク１２４、アンテナ５０ａおよび無線通信モジュール５０を介して受信し、当該受信データをフラッシュメモリ４４に記憶する。ただし、受信データが一定の条件を満たさない場合には、当該受信データはそのまま破棄される。さらに、入出力プロセッサ４２ａは、ダウンロードサーバ（図示せず）からダウンロードしたデータ（ダウンロードデータとする）をネットワーク１２４、アンテナ５０ａおよび無線通信モジュール５０を介して受信し、そのダウンロードデータをフラッシュメモリ４４に記憶することもできる。
【００６４】
また、入出力プロセッサ４２ａは、コントローラ１４から送信される入力データをアンテナ５２ａおよび無線コントローラモジュール５２を介して受信し、内部メインメモリ４２ｅまたは外部メインメモリ４６のバッファ領域に記憶（一時記憶）する。入力データは、ＣＰＵ４０の処理（たとえば、ゲーム処理）によって利用された後、バッファ領域から消去される。
【００６５】
なお、この実施例では、上述したように、無線コントローラモジュール５２は、Ｂｌｕｅｔｏｏｔｈ規格に従ってコントローラ１４との間で通信を行う。
【００６６】
さらに、入出力プロセッサ４２ａには、拡張コネクタ６０およびメモリカード用コネクタ６２が接続される。拡張コネクタ６０は、ＵＳＢやＳＣＳＩのようなインタフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、コントローラ１４とは異なる他のコントローラのような周辺機器を接続したりすることができる。また、拡張コネクタ６０に有線ＬＡＮアダプタを接続し、無線通信モジュール５０に代えて当該有線ＬＡＮを利用することもできる。メモリカード用コネクタ６２には、メモリカード３８のような外部記憶媒体を接続することができる。したがって、たとえば、入出力プロセッサ４２ａは、拡張コネクタ６０やメモリカード用コネクタ６２を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【００６７】
詳細な説明は省略するが、図１にも示したように、ゲーム装置１２（ハウジング１６）には、電源ボタン２０ａ，リセットボタン２０ｂおよびイジェクトボタン２０ｃが設けられる。電源ボタン２０ａは、システムＬＳＩ４２に接続される。この電源ボタン２０ａがオンされると、システムＬＳＩ４２には、ゲーム装置１２の各コンポーネントに図示しな
いＡＣアダプタを経て電源が供給され、通常の通電状態となるモード（「通常モード」と呼ぶこととする）が設定される。一方、電源ボタン２０ａがオフされると、システムＬＳＩ４２には、ゲーム装置１２の一部のコンポーネントのみに電源が供給され、消費電力を必要最低限に抑えるモード（以下、「スタンバイモード」という）が設定される。
【００６８】
この実施例では、スタンバイモードが設定された場合には、システムＬＳＩ４２は、入出力プロセッサ４２ａ、フラッシュメモリ４４、外部メインメモリ４６、ＲＯＭ／ＲＴＣ４８および無線通信モジュール５０、無線コントローラモジュール５２以外のコンポーネントに対して、電源供給を停止する指示を行う。したがって、この実施例では、スタンバイモードにおいて、ＣＰＵ４０がアプリケーションを実行することはない。
【００６９】
なお、システムＬＳＩ４２には、スタンバイモードにおいても電源が供給されるが、ＧＰＵ４２ｂ、ＤＳＰ４２ｃおよびＶＲＡＭ４２ｄへのクロックの供給を停止することにより、これらを駆動しないようにして、消費電力を低減するようにしてある。
【００７０】
また、図示は省略するが、ゲーム装置１２のハウジング１６内部には、ＣＰＵ４０やシステムＬＳＩ４２などのＩＣの熱を外部に排出するためのファンが設けられる。スタンバイモードでは、このファンも停止される。
【００７１】
ただし、スタンバイモードを利用したくない場合には、スタンバイモードを利用しない設定にしておくことにより、電源ボタン２０ａがオフされたときに、すべての回路コンポーネントへの電源供給が完全に停止される。
【００７２】
また、通常モードとスタンバイモードとの切り替えは、コントローラ１４の電源スイッチ８６（図３）のオン／オフの切り替えによって、遠隔操作によって行うことが可能である。当該遠隔操作を行わない場合には、スタンバイモードにおいて無線コントローラモジュール５２ａへの電源供給を行わない設定にしてもよい。
【００７３】
リセットボタン２０ｂもまた、システムＬＳＩ４２に接続される。リセットボタン２０ｂが押されると、システムＬＳＩ４２は、ゲーム装置１２の起動プログラムを再起動する。イジェクトボタン２０ｃは、ディスクドライブ５４に接続される。イジェクトボタン２０ｃが押されると、ディスクドライブ５４から光ディスク２４が排出される。
【００７４】
図３（Ａ）および図３（Ｂ）は、コントローラ１４の外観の一例を示す。図３（Ａ）はコントローラ１４の正面、上面および右側面を見せる斜視図であり、図３（Ｂ）はコントローラ１４の背面、下面および左側面を見せる斜視図である。
【００７５】
図３（Ａ）および図３（Ｂ）を参照して、コントローラ１４は、たとえばプラスチック成型によって形成されたハウジング７０を有している。ハウジング７０は、略直方体形状であり、ユーザが片手で把持可能な大きさである。ハウジング７０（コントローラ１４）には、前述のように入力手段（複数のボタンないしスイッチ）３６が設けられる。具体的には、図３（Ａ）に示すように、ハウジング７０の上面には、十字キー７２，１ボタン７４，２ボタン７６，Ａボタン７８，−（マイナス）ボタン８０，ＨＯＭＥボタン８２，＋（プラス）ボタン８４および電源スイッチ８６が設けられる。また、図３（Ｂ）に示すように、ハウジング７０の下面に傾斜面が形成されており、この傾斜面に、Ｂトリガースイッチ８８が設けられる。
【００７６】
十字キー７２は、４方向プッシュスイッチであり、矢印で示す４つの方向、前（または上）、後ろ（または下）、右および左の操作部を含む。この操作部のいずれか１つを操作することによって、プレイヤによって操作可能なキャラクタまたはオブジェクト（プレイ
ヤキャラクタまたはプレイヤオブジェクト）の移動方向を指示したり、カーソルの移動方向を指示したりすることができる。
【００７７】
１ボタン７４および２ボタン７６は、それぞれ、押しボタンスイッチである。たとえば３次元ゲーム画像を表示する際の視点位置や視点方向、すなわち仮想カメラの位置や画角を調整する等のゲームの操作に使用される。または、１ボタン７４および２ボタン７６は、Ａボタン７８およびＢトリガースイッチ８８と同じ操作或いは補助的な操作をする場合に用いるようにしてもよい。
【００７８】
Ａボタン７８は、押しボタンスイッチであり、プレイヤキャラクタまたはプレイヤオブジェクトに、方向指示以外の動作、すなわち、打つ（パンチ）、投げる、つかむ（取得）、乗る、ジャンプするなどの任意のアクションをさせるために使用される。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かすなどを指示することができる。また、ロールプレイングゲーム（ＲＰＧ）やシミュレーションＲＰＧにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。また、Ａボタン７８は、ゲーム画面上でポインタ（指示画像）が指示するアイコンないしボタン画像の決定を指示するために使用される。たとえば、アイコンやボタン画像が決定されると、これらに対応して予め設定されている指示ないし命令（ゲームのコマンド）を入力することができる。
【００７９】
−ボタン８０、ＨＯＭＥボタン８２、＋ボタン８４および電源スイッチ８６もまた、押しボタンスイッチである。−ボタン８０は、ゲームモードを選択するために使用される。ＨＯＭＥボタン８２は、ゲームメニュー（メニュー画面）を表示するために使用される。＋ボタン８４は、ゲームを開始（再開）したり、一時停止したりするなどのために使用される。電源スイッチ８６は、ゲーム装置１２の電源を遠隔操作によってオン／オフするために使用される。
【００８０】
なお、この実施例では、コントローラ１４自体をオン／オフするための電源スイッチは設けておらず、コントローラ１４の入力手段３６のいずれかを操作することによってコントローラ１４はオンとなり、一定時間（たとえば、３０秒）以上操作しなければ自動的にオフとなるようにしてある。
【００８１】
Ｂトリガースイッチ８８もまた、押しボタンスイッチであり、主として、弾を撃つなどのトリガを模した入力を行ったり、コントローラ１４で選択した位置を指定したりするために使用される。また、Ｂトリガースイッチ８８を押し続けると、プレイヤオブジェクトの動作やパラメータを一定の状態に維持することもできる。また、一定の場合には、Ｂトリガースイッチ８８は、通常のＢボタンと同様に機能し、Ａボタン７８によって決定したアクションやコマンドなどを取り消すなどのために使用される。
【００８２】
また、図３（Ａ）に示すように、ハウジング７０の後端面に外部拡張コネクタ９０が設けられ、また、図３（Ｂ）に示すように、ハウジング７０の上面であり、後端面側にはインジケータ９２が設けられる。外部拡張コネクタ９０は、コントローラ１４とは異なる拡張コントローラ（図示せず）を接続するためなどに使用される。インジケータ９２は、たとえば、４つのＬＥＤで構成される。たとえば、インジケータ９２では、４つのうちのいずれか１つを点灯させることにより、点灯したＬＥＤに応じて、コントローラ１４の識別情報（コントローラ番号）を示すことができる。また、インジケータ９２では、点灯させるＬＥＤの個数によってコントローラ１４の電池残量を示すこともできる。
【００８３】
さらに、コントローラ１４は、撮像情報演算部１０８（図４参照）を有しており、図３（Ｂ）に示すように、ハウジング７０の先端面には撮像情報演算部１０８の光入射口９４
が設けられる。また、コントローラ１４は、スピーカ１１４（図４参照）を有しており、このスピーカ１１４は、図３（Ａ）に示すように、ハウジング７０の上面であり、１ボタン７４とＨＯＭＥボタン８２との間に設けられる音抜き孔９６に対応して、ハウジング７０内部に設けられる。
【００８４】
なお、図３（Ａ）および図３（Ｂ）に示したコントローラ１４の形状や、各入力手段３６の形状、数および設置位置等は単なる一例に過ぎず、それらが適宜改変されてもよい。
【００８５】
図４はコントローラ１４の電気的な構成を示すブロック図である。この図４を参照して、コントローラ１４はプロセッサ１００を含み、このプロセッサ１００には、内部バス（図示せず）によって、外部拡張コネクタ９０、入力手段３６、メモリ１０２、加速度センサ１０４、無線モジュール１０６、撮像情報演算部１０８、ＬＥＤ１１０（インジケータ９２）、バイブレータ１１２、スピーカ１１４および電源回路１１６が接続される。また、無線モジュール１０６には、アンテナ１１８が接続される。
【００８６】
なお、簡単のため、図４では省略するが、上述したように、インジケータ９２は４つのＬＥＤ１１０によって構成される。
【００８７】
プロセッサ１００は、コントローラ１４の全体制御を司り、入力手段３６、加速度センサ１０４および撮像情報演算部１０８によって入力された情報（入力情報）を、入力データとして無線モジュール１０６およびアンテナ１１８を介してゲーム装置１２に送信（入力）する。このとき、プロセッサ１００は、メモリ１０２を作業領域ないしバッファ領域として用いる。また、上述した入力手段３６（７２‐８４）からの操作信号（操作データ）は、プロセッサ１００に入力され、プロセッサ１００は操作データを一旦メモリ１０２に記憶する。
【００８８】
加速度センサ１０４は、図３に示すようにコントローラ１４の縦方向（ｙ軸方向）、横方向（ｘ軸方向）および前後方向（ｚ軸方向）の３軸で各々の加速度を検出する。この加速度センサ１０４は、典型的には、静電容量式の加速度センサであるが、他の方式のものを用いるようにしてもよい。
【００８９】
たとえば、加速度センサ１０４は、第１所定時間毎に、ｘ軸，ｙ軸，ｚ軸の各々についての加速度（ａｘ，ａｙ，ａｚ）を検出し、検出した加速度のデータ（加速度データ）をプロセッサ１００に入力する。たとえば、加速度センサ１０４は、各軸方向の加速度を、−２．０Ｇ〜２．０Ｇ（Ｇは重力加速度である。以下、同じ。）の範囲で検出する。プロセッサ１００は、加速度センサ１０４から与えられる加速度データを、第２所定時間毎に検出し、一旦メモリ１０２に記憶する。
【００９０】
プロセッサ１００は、操作データ、加速度データおよび後述するマーカ座標データの少なくとも１つを含む入力データを作成し、作成した入力データを、第３所定時間（たとえば、５ｍｓｅｃ）毎にゲーム装置１２に送信する。
【００９１】
なお、図３では省略したが、この実施例では、加速度センサ１０４は、ハウジング７０内部の基板上の十字キー７２が配置される付近に設けられる。
【００９２】
ここで、加速度センサ１０４から出力される加速度データに基づいて、ゲーム装置１２のプロセッサ（たとえば、ＣＰＵ４０）またはコントローラ１４のプロセッサ（たとえば、プロセッサ１００）などのコンピュータが処理を行うことによって、コントローラ１４に関するさらなる情報を推測または算出（判定）することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。
【００９３】
たとえば、コントローラ１４に１軸の加速度センサ１０４を搭載し、当該コントローラ１４が静的な状態であることを前提としてコンピュータ側で処理する場合、すなわち、加速度センサ１０４によって検出される加速度が重力加速度のみであるとして処理する場合、コントローラ１４が現実に静的な状態であれば、検出された加速度データに基づいてコントローラ１４の姿勢が重力方向に対して傾いているか否かまたはどの程度傾いているかを知ることができる。具体的には、加速度センサ１０４の検出軸が鉛直下方向である状態を基準としたとき、１Ｇ（重力加速度）がかかっているか否かだけで傾いているか否かを知ることができるし、その大きさによってどの程度傾いているかを知ることもできる。
【００９４】
また、コントローラ１４に多軸の加速度センサ１０４を搭載する場合には、さらに各軸の加速度データに対して処理を施すことによって、重力方向に対してどの程度傾いているかをより詳細に知ることができる。この場合において、加速度センサ１０４の出力に基づいて、プロセッサ１００がコントローラ１４の傾き角度のデータを算出する処理を行ってもよいが、当該傾き角度のデータの算出処理を行うことなく、加速度センサ１０４からの出力に基づいて、おおよその傾きを推定できるような処理としてもよい。このように、加速度センサ１０４をプロセッサ１００と組み合わせることによって、コントローラ１４の傾き、姿勢または位置を判定することができる。
【００９５】
一方、加速度センサ１０４が動的な状態を前提とする場合には、重力加速度成分に加えて加速度センサの動きに応じた加速度を検出するので、重力加速度成分を所定の処理により除去すれば、動きの方向などを知ることができる。具体的には、加速度センサ１０４を搭載するコントローラ１４がユーザの手で動的に加速されて動かされている場合に、加速度センサ１０４によって生成される加速度データを処理することによって、コントローラ１４の様々な動きおよび／または位置を算出することができる。
【００９６】
なお、加速度センサ１０４が動的な状態であることを前提とする場合であっても、加速度センサ１０４の動きに応じた加速度を所定の処理により除去すれば、重力方向に対する傾きを知ることができる。他の実施例では、加速度センサ１０４は、加速度データをプロセッサ１００に出力する前に、内蔵の加速度検出手段から出力される加速度信号（加速度データ）に対して所望の処理を行うための、組込み式の信号処理装置また他の種類の専用の処理装置を備えてもよい。たとえば、組込み式または専用の処理装置は、加速度センサ１０４が静的な加速度（たとえば、重力加速度）を検出するためのものである場合、検知された加速度データをそれに相当する傾斜角（あるいは、他の好ましいパラメータ）に変換するものであってもよい。
【００９７】
無線モジュール１０６は、たとえばＢｌｕｅｔｏｏｔｈの技術を用いて、所定周波数の搬送波を入力データで変調し、その微弱電波信号をアンテナ１１８から放射する。つまり、入力データは、無線モジュール１０６によって微弱電波信号に変調されてアンテナ１１８（コントローラ１４）から送信される。この微弱電波信号が上述したゲーム装置１２に設けられた無線コントローラモジュール５２によって受信される。受信された微弱電波は、復調および復号の処理を施され、したがって、ゲーム装置１２（ＣＰＵ４０）は、コントローラ１４からの入力データを取得することができる。そして、ＣＰＵ４０は、取得した入力データとアプリケーションプログラム（ゲームプログラム）とに従ってアプリケーションの処理（ゲーム処理）を行う。
【００９８】
さらに、上述したように、コントローラ１４には、撮像情報演算部１０８が設けられる。この撮像情報演算部１０８は、赤外線フィルタ１０８ａ、レンズ１０８ｂ、撮像素子１０８ｃおよび画像処理回路１０８ｄによって構成される。赤外線フィルタ１０８ａは、コントローラ１４の前方から入射する光から赤外線のみを通過させる。上述したように、モ
ニタ２８の表示画面近傍（周辺）に配置されるマーカ３２ａおよび３２ｂは、モニタ２８の前方に向かって赤外光を出力する赤外ＬＥＤである。したがって、赤外線フィルタ１０８ａを設けることによってマーカ３２ａおよび３２ｂの画像をより正確に撮像することができる。レンズ１０８ｂは、赤外線フィルタ１０８ａを透過した赤外線を集光して撮像素子１０８ｃへ出射する。撮像素子１０８ｃは、たとえばＣＭＯＳセンサあるいはＣＣＤのような固体撮像素子であり、レンズ１０８ｂによって集光された赤外線を撮像する。したがって、撮像素子１０８ｃは、赤外線フィルタ１０８ａを通過した赤外線だけを撮像して画像データを生成する。以下では、撮像素子１０８ｃによって撮像された画像を撮像画像と呼ぶ。撮像素子１０８ｃによって生成された画像データは、画像処理回路１０８ｄで処理される。画像処理回路１０８ｄは、撮像画像内における撮像対象（マーカ３２ａおよび３２ｂ）の位置を算出し、第４所定時間毎に、当該位置を示す各座標値を撮像データ（後述するマーカ座標データ）としてプロセッサ１００に出力する。なお、画像処理回路１０８ｄにおける処理については後述する。
【００９９】
図５は、コントローラ１４を用いてゲームプレイするときの状態を概説する図解図である。図５に示すように、ゲームシステム１０でコントローラ１４を用いてゲームをプレイする際、プレイヤは、一端がコントローラ１４に結び付けられたストラップ１２０を一方の手の手首に巻いた状態で、その同じ手の手のひらでコントローラ１４を把持する。厳密に言うと、プレイヤは、コントローラ１４の先端面（図３で示す撮像情報演算部１０８が撮像する光の入射口９４側）がマーカ３２ａおよび３２ｂの方を向く状態でコントローラ１４を把持する。これらマーカ３２ａおよび３２ｂは、図示したように、モニタ２８の画面の横（水平）方向と平行に配置されている。この状態で、プレイヤは、コントローラ１４が指示する画面上の位置を変更したり、コントローラ１４と各マーカ３２ａおよび３２ｂとの距離を変更したりすることによってゲーム操作を行う。
【０１００】
図６は、マーカ３２ａおよび３２ｂと、コントローラ１４との視野角を説明するための図である。図６に示すように、マーカ３２ａおよび３２ｂは、それぞれ、視野角θ１の範囲で赤外光を放射する。また、撮像情報演算部１０８の撮像素子１０８ｃは、コントローラ１４の視線方向を中心とした視野角θ２の範囲で入射する光を受光することができる。たとえば、マーカ３２ａおよび３２ｂの視野角θ１は、共に３４°（半値角）であり、一方、撮像素子１０８ｃの視野角θ２は４１°である。プレイヤは、撮像素子１０８ｃが２つのマーカ３２ａおよび３２ｂからの赤外光を受光することが可能な位置および向きとなるように、コントローラ１４を把持する。具体的には、撮像素子１０８ｃの視野角θ２の中にマーカ３２ａおよび３２ｂの少なくとも一方が存在し、かつ、マーカ３２ａまたは３２ｂの少なくとも一方の視野角θ１の中にコントローラ１４が存在する状態となるように、プレイヤはコントローラ１４を把持する。この状態にあるとき、コントローラ１４は、マーカ３２ａおよび３２ｂの少なくとも一方を検知することができる。プレイヤは、この状態を満たす範囲でコントローラ１４の位置および向きを変化させることによってゲーム操作を行うことができる。
【０１０１】
なお、コントローラ１４の位置および向きがこの範囲外となった場合、コントローラ１４の位置および向きに基づいたゲーム操作を行うことができなくなる。以下では、必要な場合、上記範囲を「操作可能範囲」と呼ぶ。
【０１０２】
操作可能範囲内でコントローラ１４が把持される場合、撮像情報演算部１０８によって各マーカ３２ａおよび３２ｂの画像が撮像される。すなわち、撮像素子１０８ｃによって得られる撮像画像には、撮像対象である各マーカ３２ａおよび３２ｂの画像（対象画像）が含まれる。図７は、対象画像を含む撮像画像の一例を示す図である。対象画像を含む撮像画像の画像データを用いて、画像処理回路１０８ｄは、各マーカ３２ａおよび３２ｂの撮像画像における位置を表す座標（マーカ座標）を算出する。なお、ここで算出される座標は、撮像画像（ゲーム画面）の左上端を原点Ｏとするワールド座標系（Ｘ‐Ｙ座標系：後述）に従う。
【０１０３】
撮像画像の画像データにおいて対象画像は高輝度部分として現れるため、画像処理回路１０８ｄは、まず、この高輝度部分を対象画像の候補として検出する。次に、画像処理回路１０８ｄは、検出された高輝度部分の大きさに基づいて、その高輝度部分が対象画像であるか否かを判定する。撮像画像には、対象画像である２つのマーカ３２ａおよび３２ｂに対応する画像３２ａ’および３２ｂ’のみならず、窓からの太陽光や部屋の蛍光灯の光によって対象画像以外の画像が含まれていることがある。高輝度部分が対象画像であるか否かの判定処理は、対象画像である画像３２ａ’および３２ｂ’と、それ以外の画像とを区別し、対象画像を正確に検出するために実行される。具体的には、当該判定処理においては、検出された高輝度部分が、予め定められた所定範囲内の大きさであるか否かが判定される。そして、高輝度部分が所定範囲内の大きさである場合には、当該高輝度部分は対象画像を表すと判定される。逆に、高輝度部分が所定範囲内の大きさでない場合には、当該高輝度部分は対象画像以外の画像を表すと判定される。
【０１０４】
さらに、上記の判定処理の結果、対象画像を表すと判定された高輝度部分について、画像処理回路１０８ｄは当該高輝度部分の位置を算出する。具体的には、当該高輝度部分の重心位置を算出する。ここでは、当該重心位置の座標をマーカ座標と呼ぶ。また、重心位置は撮像素子１０８ｃの解像度よりも詳細なスケールで算出することが可能である。ここでは、撮像素子１０８ｃによって撮像された撮像画像の解像度が１２６×９６であるとし、重心位置は１０２４×７６８のスケールで算出されるものとする。つまり、マーカ座標は、（０，０）から（１０２４，７６８）までの整数値で表現される。
【０１０５】
なお、撮像画像における位置は、撮像画像の左上を原点とし、下向きをＹ軸正方向とし、右向きをＸ軸正方向とする座標系（ＸＹ座標系）で表現されるものとする。
【０１０６】
また、対象画像が正しく検出される場合には、判定処理によって２つの高輝度部分が対象画像として判定されるので、２箇所のマーカ座標が算出される。画像処理回路１０８ｄは、算出された２箇所のマーカ座標を示すデータを出力する。出力されたマーカ座標のデータ（マーカ座標データ）は、上述したように、プロセッサ１００によって入力データに含まれ、ゲーム装置１２に送信される。
【０１０７】
ゲーム装置１２（ＣＰＵ４０）は、受信した入力データからマーカ座標データを検出すると、このマーカ座標データに基づいて、モニタ２８の画面上におけるコントローラ１４の指示位置Ｐ（指示座標ＰＸ，ＰＹ）と、コントローラ１４からマーカ３２ａおよび３２ｂまでの各距離とを算出することができる。具体的には、２つのマーカ座標の中点の位置から、コントローラ１４の向いている位置すなわち指示位置が算出される。また、撮像画像における対象画像間の距離が、コントローラ１４と、マーカ３２ａおよび３２ｂとの距離に応じて変化するので、２つのマーカ座標間の距離を算出することによって、ゲーム装置１２はコントローラ１４とマーカ３２ａおよび３２ｂとの間の距離を把握できる。
【０１０８】
以上のように構成されたゲームシステム１０はまた、メモリカード３８に記録された写真やキャラクタなどの画像をプリンタ（サーバ）に送信する画像送信装置（クライアント）としても機能する。
【０１０９】
ゲームシステム１０を用いたプリントシステム１２０の一例が図８に示される。図８を参照して、プリントシステム１２０は、ゲームシステム１０およびプリントサーバ１２２を含む。ゲームシステム１０は、インターネットやＬＡＮのようなネットワーク１２４を介してプリントサーバ１２２に接続される。ゲーム装置１２のメモリカード用コネクタ６２にメモリカード３８が装着され、メモリカード３８に記録された画像の中から所望の画像が選択されると、選択された画像は、無線通信モジュール５０ａからネットワーク１２４を経由してプリントサーバ１２２へと送信される。プリントサーバ１２２は、ゲームシステム１０からの画像を受信し、これを印画紙や名刺等の用紙にプリントする。
【０１１０】
プリントシステム１２０によるプリント処理の概要が図９に示される。図９を参照して、クライアント側つまりゲームシステム１０では、コントローラ１４によって画像送信モードが選択されると、モニタ２８にタイトル画面（図示せず）が表示される。タイトル画面には、“Ａ４アルバム”，“Ｌ版プリント”，“名刺”といった複数の商材名が選択肢として含まれており、このうち１つが選択されると、選択された商材のＩＤがサーバ側つまりプリントサーバ１２２に通知される。プリントサーバ１２２は、通知されたＩＤに対応する商材情報をクライアント側に提供する。
【０１１１】
クライアント側では、商材情報の提供を受けて、モニタ２８の表示がタイトル画面から商材説明画面（図示せず）に切り換わる。ここでコントローラ１４によってＯＫ操作が行われると、モニタ２８の表示は、さらに商材説明画面から編集画面（図１３参照）に切り換わる。このとき、セーブデータ（後述）の有無が判別され、セーブデータがあれば、編集作業および／または画像送信処理は「続きから」実行される。一方、セーブデータがなければ、編集作業および／または画像送信処理は「はじめから」実行される。
【０１１２】
編集画面は、図１３に示すように、選択領域Ｅ１および編集領域Ｅ２を含む。メモリカード３８から読み出された画像は、当初、選択領域Ｅ１内に配置される。ユーザが選択領域Ｅ１内の画像のうち所望の画像をコントローラ１４で選択すると、選択された画像は、編集領域Ｅ２内へと移動される。次いで、ユーザが編集領域Ｅ２内の画像を対象にコントローラ１４で編集作業を行うと、編集領域Ｅ２内の画像は、これに対応する処理、たとえば移動，拡大／縮小，トリミング，背景／前景の付加，絵／文字の書き込みといった編集処理を施される。
【０１１３】
たとえば、商材として“Ａ４アルバム”が選択された場合、編集領域Ｅ２はアルバムの１ページに相当する。ユーザは、最初、このページに貼り付けたい画像を選択領域Ｅ１から順次選択する。選択された画像は、編集領域Ｅ２内の所定位置たとえば下端付近に移動される。ユーザは、次に、編集領域Ｅ２内の画像を対象として編集作業を行う。具体的には、各画像を所望の位置までドラッグによって移動させて、それぞれサイズを調整したりコメントを添付したりする。また、ドラッグ操作以外の選択操作の例として、編集領域Ｅ２内に枠を先に配置して、選択領域Ｅ１内の画像を指定した時点で当該画像が編集領域Ｅ２内の枠内に配置されるようにしてもよい。編集作業の途中経過ないし結果は、レイアウト情報として内部メインメモリ４２ｅのレイアウト情報領域１４６（図１０参照）に記憶される。
【０１１４】
一方、上記のような編集作業と並行して、編集対象つまり編集領域Ｅ２内に再配置された画像がサーバ側へと送信される。このような画像送信処理は、編集対象が選択された時点で開始される。したがって、複数の画像を順次選択する場合には、１つ目の画像が選択されたときこの画像の送信が開始される。そして、この１つ目の画像の送信が終了したとき２つ目以降の画像が既に選択されていれば、これら２つ目以降の画像の送信が引き続き実行される。
【０１１５】
すなわち、クライアント側では、編集作業の進行に応じてレイアウト情報および編集画面を更新するレイアウト情報＆編集画面更新処理と、編集作業の対象となる画像をサーバ側に送信する画像送信処理とが並列的に実行される。レイアウト情報をサーバ側に送信するレイアウト情報送信処理は、編集作業が完了した後つまり対象画像のレイアウトが確定した後に実行される。サーバ側では、こうしてクライアントから送信された画像およびレイアウト情報を受信し、レイアウト情報に基づいて画像をプリントする処理が実行される（図１８参照：後述）。
【０１１６】
このように、編集作業中に対象画像をバックグラウンドで送信することで、編集作業が完了した時点で、対象画像の少なくとも一部は送信済みとなっており、したがって、編集作業後には、対象画像の未送信部分とレイアウト情報とを送信すればよいことになる。このため、編集作業後に対象画像の全部とレイアウト情報とを送信する場合に比べ、編集開始から送信完了までの所要時間（あるいは編集完了から送信完了までの待ち時間）を短縮することができる。
【０１１７】
編集作業中に他の作業が割り込んだりネットワーク１２４の通信状態が変化したりして、編集作業および／または画像送信処理が中断された場合や、ユーザの指示により中断が指示された場合には、この時点での送信リスト領域１４４およびレイアウト情報領域１４６に記憶されているレイアウト情報および送信リスト（図１２参照：後述）を含むセーブデータが作成される。作成されたセーブデータは、内部メインメモリ４２ｅ内のセーブデータ領域１４８（図１０参照）に保持される。
【０１１８】
セーブデータ領域１４８に保持されたセーブデータは、中断された編集作業および／または画像送信処理を後に再開するときに利用される。すなわち、セーブデータに含まれるレイアウト情報および送信リストが送信リスト領域１４４およびレイアウト情報領域１４６にそれぞれ転送され、これにより、編集作業および／または画像送信処理を中断のたびに一からやり直す無駄が省ける。
【０１１９】
送信リストは、図１２に示すように、画像ＩＤ，送信対象フラグおよび送信済みフラグを含む。画像ＩＤは、メモリカード３８から読み出された各画像に割り当てられる識別子であり、この実施例では、読み出し順序に従う連続番号０，１，２，…，９９９を画像ＩＤとして用いる。送信対象フラグは、各画像が送信対象であるか否かを示すフラグであり、送信対象でないことを示す“０”および送信対象であることを示す“１”の間で変化する。送信済みフラグは、各画像が送信済みであるか否かを示すフラグであり、未送信を示す“０”および送信済みを示す“１”の間で変化する。
【０１２０】
画像およびレイアウト情報の送信が完了すると、クライアント側では、モニタ２８の表示が編集画面から注文画面（図示せず）に切り換わる。この注文画面を通じて、価格の確認、配送先の指定、支払方法の選択などが行われ、注文が確定すると注文情報がサーバ側に送信される。サーバ側では、受注処理が実行され、これが完了するとクライアント側に完了報告が返信される。クライアント側の処理は、この完了報告が到達した時点で終了となる。
【０１２１】
サーバ側ではその後、クライアント側から受信した画像およびレイアウト情報に基づいてプリント用の画像（たとえばアルバムの各ページの画像）を作成し、これを印画紙等に出力する処理が行われる。こうして完成した画像プリントは、クライアント側から受信した注文情報に基づいて、指定の宛先へと配送される。
【０１２２】
以上のようなプリント処理を実行するときのクライアント側のメモリマップ、具体的にはゲーム装置１２の内部メインメモリ４２ｅのメモリマップを、図１０に示す。図１０を参照して、プログラム領域１３０は、メインプログラムが格納されるメインプログラム領域１３２，および入出力プログラムが格納される入出力プログラム領域１３４などを含む。メインプログラムは、ＣＰＵ４０を制御してプリント処理を実行するためのプログラムであり、入出力プログラムは、入出力プロセッサ４２ａを制御して、プリント処理に関連した入出力処理、たとえばコントローラ１４からの入力データの受信やプリントサーバ１２２との間の通信といった処理を実行するためのプログラムである。
【０１２３】
データ領域１３０は、メモリカード３８から読み出された画像が格納される画像領域１４２，送信リストが格納される送信リスト領域１４４，レイアウト情報が格納されるレイアウト情報領域１４６，セーブデータが格納されるセーブデータ領域１４８，および編集作業のための編集作業領域１５０などを含む。
【０１２４】
ここで、画像は、図１１（Ａ）に示すように、ＪＰＥＧなどの画像ファイルの態様で管理される。この画像ファイルには、ファイル情報（たとえばファイル名，作成日時など），画像ＩＤおよび画像データが含まれる。レイアウト情報は、図１１（Ｂ）に示すように、画像ＩＤ，位置データおよびサイズデータを少なくとも含む。他のレイアウト情報としては、角度データ，前景／背景識別子，テキスト／図形データなどがある。セーブデータは、図１１（Ｃ）に示すように、ファイル情報，レイアウト情報および送信リストを含む。
【０１２５】
この実施例のプリント処理の特徴である編集および画像送信の同時進行は、図１８に示す受信スレッドがサーバ側で実行されることを前提に、クライアント側のＣＰＵ４０が図１４〜図１６の編集スレッドおよび図１７の送信スレッドを並列的に実行することによって実現される。
【０１２６】
なお、図１４〜図１７のフローチャートは、図９に示したクライアント側の処理のうち「商材説明画面」および「注文画面」の間の処理を詳細に示すものであり、先述したメインプログラムの一部分に対応する。また、図１８のフローチャートは、図９に示したサーバ側の処理のうち「画像およびレイアウト情報受信」の詳細を示すものである。以下では、メモリカード３８としてＳＤカードを用いることとし、これを「ＳＤカード３８」のように記す。
【０１２７】
クライアント側つまりゲームシステム１０では、商材説明画面が表示された状態でＯＫ操作が行われると、図１４〜図１６の編集スレッドが起動する。図１４を参照して、ＣＰＵ４０は、最初のステップＳ１で、編集処理を「続きから」実行するか否かについて判別する。内部メインメモリ４２ｅのセーブデータ領域１４８（図１０参照）にセーブデータが存在すれば、ステップＳ１でＹＥＳと判別され、処理はステップＳ３に移る。
【０１２８】
ステップＳ３では、ＣＰＵ４０は、ＳＤカード３８からファイル情報を読み出す。そして、ＳＤカード３８が前回つまりセーブデータ作成時のものと同一であるか否かをステップＳ５で判別する。この判別は、ＳＤカード３８から読み出されたファイル情報と、セーブデータに含まれるファイル情報とを互いに照合することにより行われる。ステップＳ５でＹＥＳであれば、処理はステップＳ７およびＳ９を経てステップＳ１５に進む。一方、ステップＳ１またはＳ５でＮＯであれば、処理はステップＳ１１およびＳ１３を経てステップＳ１５に進む。
【０１２９】
ステップＳ７では、ＣＰＵ４０は、送信リストおよびレイアウト情報をセーブデータで更新する。すなわち、図１０に示す内部メインメモリ４２ｅにおいて、セーブデータ領域１４８に格納されたセーブデータに含まれる送信リストおよびレイアウト情報が、送信リスト領域１４４およびレイアウト情報領域１４６にそれぞれ転送される。ステップＳ９では、ＣＰＵ４０は、更新後のレイアウト情報に基づいて、モニタ２８に前回の編集画面（図１３参照）を復元表示する。
【０１３０】
一方、ステップＳ１１では、ＣＰＵ４０は、送信リストおよびレイアウト情報をクリアする。すなわち、送信リスト領域１４４およびレイアウト情報領域１４６にそれぞれ格納された送信リストおよびレイアウト情報の各々が初期化される。ステップＳ１３では、ＣＰＵ４０は、クリア後のレイアウト情報に基づいて、モニタ２８に編集画面を初期表示する。
【０１３１】
ステップＳ１５では、ＣＰＵ４０は、送信スレッド（図１７参照）を起動する。起動後、処理はステップＳ１７に移る。なお、詳細は後述するが、こうして編集スレッドを通じてステップＳ１５で起動された送信スレッドは、同じく編集スレッドを通じてステップＳ３５またはＳ５１で終了される。この期間、送信スレッドは、編集スレッドと並列に、換言すれば編集スレッドの待機時間を利用して、実行される。
【０１３２】
図１５を参照して、ステップＳ１７では、ＣＰＵ４０は、ＳＤカード３８に未読込の画像があるか否かを判別する。ステップＳ１７でＮＯであれば、処理はステップＳ２１に進む一方、ステップＳ１７でＹＥＳであれば、処理はステップＳ１９を経てステップＳ２１に進む。ステップＳ１９では、ＣＰＵ４０は、未読込の画像を内部メインメモリ４２ｅの画像領域１４２に読み込み、画像領域１４２に格納された画像を編集作業領域１５０に展開する。
【０１３３】
ステップＳ２１では、コントローラ１４による編集操作に応じて編集処理を実行する。この編集処理の結果を受けて、レイアウト情報領域１４６のレイアウト情報が更新され、さらにモニタ２８の編集画面も更新される。続くステップＳ２３では、図１３に示すような編集画面において、選択領域Ｅ１内のいずれかの画像が編集領域Ｅ２内に移動されたか否か（すなわち編集対象として選択されたか否か）を判別する。ステップＳ２３でＮＯであれば、処理はステップＳ２７に進む一方、ステップＳ２３でＹＥＳであれば、処理はステップＳ２５を経てステップＳ２７に進む。
【０１３４】
ステップＳ２５では、ＣＰＵ４０は、編集対象として選択された画像に送信対象フラグをセットする。具体的には、図１２に示す送信リストにおいて、該当する画像ＩＤに割り当てられた送信フラグを“０”から“１”に更新する。ステップＳ２７では、ＣＰＵ４０は、この編集スレッドを中断するか否かを判別する。ここでＮＯであれば、処理はステップＳ２９に移る。ステップＳ２９では、この編集スレッドを終了するか否かをさらに判別し、ここでもＮＯであれば、ステップＳ３１で１フレーム期間が経過するまで待機する。待機後、処理はステップＳ１７に戻る。
【０１３５】
このように、ステップＳ１７〜Ｓ３１のループは、１フレーム周期で実行される。そして、ステップＳ１９の画像読込＆展開処理は、未読込画像が存在している期間だけ実行され、さらに、ステップＳ２１の編集処理は、編集操作の頻度や種類によって負荷が変化するので、ステップＳ３１での待機時間が変動する結果となる。
【０１３６】
コントローラ１４による中断操作が行われたり、ネットワーク１２４の通信状態が変化して画像送信が困難になったりすると、ステップＳ２７でＹＥＳと判別され、処理はステップＳ３３およびＳ３５を経て終了される。すなわち、ＣＰＵ４０は、ステップＳ３３でセーブデータの書き込みを行い、ステップＳ３５で送信スレッドを停止させた後、この編集スレッドを終了する。
【０１３７】
コントローラ１４による終了操作が行われるか、あるいは編集操作の行われない状態が所定時間以上継続すると、ステップＳ２９でＹＥＳと判別され、処理はステップＳ３７に移る。
【０１３８】
図１６を参照して、ステップＳ３７では、ＣＰＵ４０は、送信リストが空になったか否かを判別する。具体的には、送信リスト領域１４４に格納された送信リスト（図１２参照）において、送信対象フラグがセットされた画像の中に送信済みフラグがセットされていないものが含まれていれば、送信リストはまだ空になっていない（ＮＯ）と判別し、送信対象フラグがセットされた画像の各々に送信済みフラグがセットされていれば、送信リストは空になった（ＹＥＳ）と判別する。
【０１３９】
ステップＳ３７でＮＯであれば、ＣＰＵ４０は、ステップＳ３９で１フレーム期間が経過するまで待機する。その後、処理はステップＳ３７に戻る。すなわち、ステップＳ３７およびＳ３９のループもまた、先述したステップＳ１７〜Ｓ３１のループと同様、１フレーム周期で実行されるが、ステップＳ３９での待機時間は一定となる。
【０１４０】
ステップＳ３７でＹＥＳであれば、ＣＰＵ４０は、ステップＳ４１でサーバ側に送信完了を通知して、ステップＳ４３でサーバ側から画像ＩＤの応答を受ける。ステップＳ４５では、こうしてサーバ側から受け取った画像ＩＤと、内部メインメモリ４２ｅに格納された送信リスト（図１２参照）とに基づいて、「送信済み」の各画像がサーバ側に存在するか否かを判別する。
【０１４１】
具体的には、送信リストにおいて、送信済みフラグがセットされた画像ＩＤの各々がサーバ側からの画像ＩＤのいずれかと一致すれば、「送信済み」の各画像はサーバ側に存在する（ＹＥＳ）と判別する一方、送信済みフラグがセットされた画像ＩＤの中にサーバ側からの画像ＩＤのいずれとも一致しないものが１つでもあれば、「送信済み」の画像のうち少なくとも１つがサーバ側に存在しない（ＮＯ）と判別する。
【０１４２】
ステップＳ４５でＮＯであれば、処理はステップＳ４７およびＳ４９を経てステップＳ３７に戻る。すなわち、ＣＰＵ４０は、ステップＳ４７で送信再開をサーバ側に通知し、さらにステップＳ４９で、「送信済み」の画像のうちサーバ側に存在しないもの、つまり「不存在」画像の送信済みフラグをリセットした後、ステップＳ３７およびＳ３９のループに戻り、送信スレッドの処理によって送信リストが再び空になるのを待つ。
【０１４３】
一方、ステップＳ４５でＹＥＳであれば、処理はステップＳ５１〜Ｓ５５を経て終了される。すなわち、ＣＰＵ４０は、ステップＳ５１で送信スレッドを停止させ、ステップＳ５３では、内部メインメモリ４２ｅのレイアウト情報領域１４６に格納されたレイアウト情報をサーバ側に送信する。そして、ステップＳ５５で図示しない注文スレッドを起動した後、この編集スレッドを終了する。
【０１４４】
また、上述のサーバからの画像ＩＤの受信による送信済みの確認は、セーブデータの読み出しによる続きからの編集の際にも行われるようにしてもよい。すなわち、セーブデータにおいて送信済みとされている画像の画像ＩＤをサーバに問い合わせ、サーバから当該画像ＩＤが全て返信されたときに続きからの編集を行うようにして、画像ＩＤが足りない場合には続きからの処理を行わないようにしてもよい。そのようにすることで、中断後に長期間が経過するなどしてサーバから画像が削除される場合があったとしても、確認を行うことができ、間違いなく注文をすることができる。
【０１４５】
図１７を参照して、送信スレッドが起動されると、ＣＰＵ４０は、「未送信」の画像が送信リストにあるか否かをステップＳ６１で判別する。具体的には、送信リスト（図１２参照）において、送信対象フラグがセットされた画像ＩＤの中に送信済みフラグがセットされていないものが１つでもあれば、「未送信」の画像がある（ＹＥＳ）と判別する一方、送信対象フラグがセットされた画像ＩＤの各々に送信済みフラグがセットされていれば、「未送信」の画像は存在しない（ＮＯ）と判別する。
【０１４６】
ステップＳ６１の判別結果がＮＯであれば、ＣＰＵ４０は、これがＹＥＳとなるまで待機する。ステップＳ６１の判別結果がＹＥＳであれば、処理はステップＳ６３を経てステップＳ６５〜Ｓ６９のループに入る。すなわち、ＣＰＵ４０は、ステップＳ６３で「未送信」の画像の１つを選択した後、ステップＳ６５で編集スレッド（図１４〜図１６参照）が待機中であるか否かを判別する。ステップＳ６５の判別結果がＮＯであれば、ＣＰＵ４０は、これがＹＥＳとなるまで待機する。ステップＳ６５の判別結果がＹＥＳであれば、処理はステップＳ６７に進む。ステップＳ６７では、ＣＰＵ４０は、ステップＳ６３で選択された画像を対象とする送信処理を実行する。次のテップＳ６９では、ＣＰＵ４０は、この画像の送信が完了したか否かを判別し、ここでＮＯであれば、処理はステップＳ６５に戻る。
【０１４７】
ステップＳ６９でＹＥＳであれば、処理はループを脱してステップＳ７１に進む。ステップＳ７１では、ＣＰＵ４０は、この画像に送信済みフラグをセットする。その後、処理はステップＳ６１に戻る。
【０１４８】
このように、クライアント側に「未送信」の画像があれば、その画像は、送信スレッドによって、編集スレッドの待機時間を利用してサーバ側に送信される。したがって、編集処理の周期性を乱すことなく、したがって編集操作の快適性を損なうことなく、バックグラウンドで画像送信処理を実行することができる。
【０１４９】
一方、サーバ側つまりプリントサーバ１２２では、クライアント側で送信スレッドが起動されるのに応答して、図１８に示す受信スレッドが起動される。図１８を参照して、受信スレッドでは、最初、処理はステップＳ８１およびＳ８３のループに入る。すなわち、クライアント側からの画像（ステップＳ６７参照）を受信したか否かがステップＳ８１で判別され、ここでＮＯであれば、送信完了通知（ステップＳ４１参照）の有無がステップＳ８３でさらに判別される。ここでもＮＯであれば、処理はステップＳ８１に戻る。
【０１５０】
ステップＳ８１でＹＥＳであれば、処理はステップＳ８５を経てステップＳ８１に戻る。ステップＳ８５では、この画像がサーバ側に記憶される。ステップＳ８３でＹＥＳであれば、処理はステップＳ８７に進む。ステップＳ８７では、各記憶画像のＩＤがクライアント側に返信される。
【０１５１】
ＩＤ返信後、処理はステップＳ８９およびＳ９１のループに入る。すなわち、クライアント側からのレイアウト情報（ステップＳ５３参照）を受信したか否かがステップＳ８９で判別され、ここでＮＯであれば、送信再開通知（ステップＳ４７参照）の有無がステップＳ９１でさらに判別される。ここでもＮＯであれば、処理はステップＳ８９に戻る。
【０１５２】
ステップＳ８９でＹＥＳであれば、処理はステップＳ９３およびＳ９５を経て終了される。ステップＳ９３では、このレイアウト情報がサーバ側に記憶される。ステップＳ９５では、図示しないプリントスレッドが起動され、これによりレイアウト情報に基づく画像のプリントが行われる。
【０１５３】
ステップＳ９１でＹＥＳであれば、「不存在」画像（ステップＳ４９参照）を受信するべく、処理はステップＳ８１およびＳ８３のループに戻る。
【０１５４】
なお、クライアントが複数の場合は、図１８と同様の受信スレッドがクライアント毎に起動され、これら複数の受信スレッドが互いに並列に実行される。
【０１５５】
以上から明らかなように、この実施例では、クライアント側つまりゲームシステム１０のＣＰＵ４０は、コントローラ１４によるユーザの指示に基づいて少なくとも１つの画像の編集を行い（Ｓ２１）、編集を行っている期間中に当該画像の画像データを無線通信モジュール５０からネットワーク１２４に送信し（Ｓ６１〜Ｓ７１）、そして編集終了後に当該画像のレイアウトを示すレイアウト情報をさらに送信する（Ｓ５３）。これにより、編集を行っている期間中に画像データの送信が進行するので、送信完了までの待ち時間が短縮される。
【０１５６】
なお、以上では、ゲームシステム１０について説明したが、この発明は、ユーザによる画像の編集に基づいて、画像データおよび画像のレイアウトをネットワークに送信する、画像送信装置に適用できる。ただし、レイアウトに代えて、またはこれに加えて、ユーザ操作に基づく注文情報（たとえばプリントサイズ，枚数，配送先など）を送信してもよい。また、画像データ等の送信先は、必ずしもネットワークである必要はなく、サーバ機能を有する単体のプリンタであってもよい。換言すれば、この発明は、所望の画像に対応する画像データと、当該画像データに基づくプリント処理を実行させるためのユーザ操作に基づく制御情報とを送信する、画像送信装置に適用できる。
【図面の簡単な説明】
【０１５７】
【図１】この発明の一実施例であるゲームシステムの概要を示す外観図である。
【図２】ゲームシステムの電気的構成の一例を示すブロック図である。
【図３】（Ａ）はゲームシステムで用いられるコントローラを後方上側から見た斜視図であり、（Ｂ）はゲームシステムで用いられるコントローラを前方下側から見た斜視図である。
【図４】コントローラの電気的構成の一例を示すブロック図である。
【図５】コントローラを用いてゲームをプレイするときの状態を示す図解図である。
【図６】ゲームシステムにおけるマーカおよびコントローラの視野角を示す図解図である。
【図７】マーカの画像（対象画像）を含む撮像画像の一例を示す図解図である。
【図８】ゲームシステムをクライアントとして含むプリントシステムの一例を示すブロック図である。
【図９】プリントシステムによるプリント処理の概要をクライアント側およびサーバ側についてそれぞれ示すシーケンス図である。
【図１０】クライアント側の内部メインメモリのメモリマップの一例を示す図解図である。
【図１１】（Ａ）はプリントシステムに適用される画像ファイルの構成を示す図解図であり、（Ｂ）はプリントシステムに適用されるレイアウト情報の構成を示す図解図であり、（Ｃ）はプリントシステムに適用されるセーブデータの構成を示す図解図である。
【図１２】プリントシステムに適用される送信リストの構成を示す図解図である。
【図１３】クライアント側の編集画面の一例を示す図解図である。
【図１４】クライアント側のＣＰＵ動作の一部を示すフロー図である。
【図１５】クライアント側のＣＰＵ動作の他の一部を示すフロー図である。
【図１６】クライアント側のＣＰＵ動作のその他の一部を示すフロー図である。
【図１７】クライアント側のＣＰＵ動作のさらにその他の一部を示すフロー図である。
【図１８】サーバ側のＣＰＵ動作の一部を示すフロー図である。
【符号の説明】
【０１５８】
１０  …ゲームシステム
１２  …ゲーム装置
１４  …コントローラ
２８  …モニタ
３８  …外部メモリカード（ＳＤカード）
４０  …ＣＰＵ
４２ｅ  …内部メインメモリ
１２０  …プリントシステム
１２２  …プリントサーバ
１２４  …ネットワーク
Ｅ１  …選択領域
Ｅ２  …編集領域
【図１】
0005084613.tif 000002
【図２】
0005084613.tif 000003
【図３】
0005084613.tif 000004
【図４】
0005084613.tif 000005
【図５】
0005084613.tif 000006
【図６】
0005084613.tif 000007
【図７】
0005084613.tif 000008
【図８】
0005084613.tif 000009
【図９】
0005084613.tif 000010
【図１０】
0005084613.tif 000011
【図１１】
0005084613.tif 000012
【図１２】
0005084613.tif 000013
【図１３】
0005084613.tif 000014
【図１４】
0005084613.tif 000015
【図１５】
0005084613.tif 000016
【図１６】
0005084613.tif 000017
【図１７】
0005084613.tif 000018
【図１８】
0005084613.tif 000019