JP5084613B2 - 画像送信装置および画像送信プログラム - Google Patents

画像送信装置および画像送信プログラム Download PDF

Info

Publication number
JP5084613B2
JP5084613B2 JP2008141908A JP2008141908A JP5084613B2 JP 5084613 B2 JP5084613 B2 JP 5084613B2 JP 2008141908 A JP2008141908 A JP 2008141908A JP 2008141908 A JP2008141908 A JP 2008141908A JP 5084613 B2 JP5084613 B2 JP 5084613B2
Authority
JP
Japan
Prior art keywords
image
image data
transmission
editing
list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008141908A
Other languages
English (en)
Other versions
JP2009289097A (ja
Inventor
英男 畠山
真道 境野
勝 西田
健嗣 島田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2008141908A priority Critical patent/JP5084613B2/ja
Priority to US12/219,931 priority patent/US8160403B2/en
Publication of JP2009289097A publication Critical patent/JP2009289097A/ja
Application granted granted Critical
Publication of JP5084613B2 publication Critical patent/JP5084613B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • A63F13/12
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/63Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/57Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6009Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content
    • A63F2300/6018Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content where the game content is authored by the player, e.g. level editor or by game device at runtime, e.g. level is created from music data on CD

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

この発明は、画像送信装置および画像送信プログラムに関し、特にたとえば、画像データとこの画像データに基づくプリント処理を実行させるためのユーザ操作に基づく制御情報とを送信する、画像送信装置および画像送信プログラムに関する。
この種の装置の一例である携帯情報端末が、特許文献1に開示されている。この背景技術では、携帯情報端末は、画像データを印刷するための発注情報をユーザ入力に従って作成し、発注情報を画像データのタグに付加し、そしてタグ付きの画像データを印刷装置設置店に送信する。
特開2004‐303054号公報
しかし、背景技術では、画像データは、発注情報と一緒に送信される、すなわち発注のためのユーザ入力が完了した後に送信されるので、ユーザにとって、送信完了までの待ち時間が長いという問題があった。
それゆえに、この発明の主たる目的は、新規な、画像送信装置および画像送信プログラムを提供することである。
この発明の他の目的は、画像データと、この画像データに基づくプリント処理を実行させるためのユーザ操作に従う制御情報(たとえばレイアウト情報や発注情報など)とを送信する際に、送信完了までの待ち時間を短縮できる、画像送信装置および画像送信プログラムを提供することである。
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
第1の発明は、ユーザによる画像の編集に基づいて、画像データおよび画像のレイアウトをネットワークに送信する画像送信装置であって、ユーザの指示に基づいて、少なくとも1つの画像のレイアウトを編集する編集手段、編集を行っている期間中に、当該編集の対象となった画像の画像データを送信する画像データ送信手段、および編集の終了後に、編集した画像のレイアウトを示すレイアウト情報を送信するレイアウト情報送信手段を備える。
第1の発明では、画像送信装置(12)は、ユーザによる画像の編集に基づいて、画像データおよび画像のレイアウトをネットワーク(124)に送信する。画像送信装置では、編集手段(S21)が、ユーザの指示に基づいて、少なくとも1つの画像のレイアウトを編集する。たとえば、各画像の位置やサイズを変更したり、各画像に前景や背景を付加または変更したりする。こうしてユーザが編集を行っている期間中に、画像データ送信手段(S61〜S71)は、当該編集の対象となった画像の画像データを送信する。編集が終了すると、編集結果つまり編集した画像のレイアウトを示すレイアウト情報が、レイアウト情報送信手段(S53)によって送信される。
第1の発明によれば、ユーザが編集を行っている期間中に、バックグラウンドで画像データの送信が進行するので、送信完了までの所要時間が短縮される。
第2の発明は、第1の発明に従属する画像送信装置であって、画像データを記憶する画像データ記憶手段、および編集の対象となる画像をユーザに選択させる選択手段をさらに備え、画像データ送信手段は、画像データ記憶手段に記憶された画像データのうち、選択手段において選択された画像の画像データを送信する。
第2の発明では、画像データが画像データ記憶手段(142)に記憶されており、選択手段(S23)は、編集の対象となる画像をユーザに選択させる。画像データ送信手段は、画像データ記憶手段に記憶された画像データのうち、選択手段において選択された画像の画像データを送信する。
第2の発明によれば、ユーザは、所望の画像の画像データを送信することができる。
第3の発明は、第2の発明に従属する画像送信装置であって、画像データ記憶手段に記憶されている画像データに関して送信すべき画像のリストを記憶する送信リスト記憶手段、および選択手段において画像が選択されるごとに、リストに選択された画像を追加する送信画像追加手段をさらに備え、画像データ送信手段は、編集を行っている期間中に、リストに含まれる画像の画像データを送信する。
第3の発明では、画像データ記憶手段に記憶されている画像データに関して送信すべき画像のリスト(図12)が、送信リスト記憶手段(144)に記憶されている。送信画像追加手段(S25)は、選択手段において画像が選択されるごとに、リストに選択された画像を追加する。画像データ送信手段は、編集を行っている期間中に、リストに含まれる画像の画像データを送信する。
第3の発明によれば、各画像を選択した後に編集を開始したり、編集の途中に画像を追加したりすることができる。
第4の発明は、第1または第2の発明に従属する画像送信装置であって、レイアウト情報送信手段は、編集の終了後であって、かつ画像データの送信完了後にレイアウト情報を送信する。
第5の発明は、第3の発明に従属する画像送信装置であって、編集を中断する場合に、編集中の画像のレイアウトと、画像データ記憶手段に記憶されている画像データに関して送信すべき画像のリストとを記憶する中断情報記憶手段、および中断情報記憶手段に記憶されたレイアウトに基づいて、編集を再開する編集再開手段をさらに備え、画像データ送信手段は、編集再開後、中断情報記憶手段に記憶されたリストに基づいて、送信すべき画像のうち未送信の画像データを送信する。
第5の発明では、たとえばユーザの中断操作やネットワークの通信状態の変化などによって、編集を中断する場合には、中断情報記憶手段(148,S33)が、編集中の画像のレイアウトと、送信すべき画像のリストとを記憶する。中断された編集は、編集再開手段(S7,S9)によって、中断情報記憶手段に記憶されたレイアウトに基づいて再開される。画像データ送信手段は、編集再開後に、中断情報記憶手段に記憶されたリストに基づいて、送信すべき画像のうち未送信の画像データを送信する。
第5の発明によれば、編集を中断するたびに編集および画像データ送信を一からやり直す無駄が省ける。
第6の発明は、第2の発明に従属する画像送信装置であって、ユーザが編集を行う編集領域と、編集の対象として選択可能な画像を配置した選択領域とを表示装置に表示させるインタフェース表示手段をさらに備え、選択手段は、選択領域内の画像をユーザに編集領域に配置させることで選択させる。
第6の発明では、インタフェース表示手段(42b)が、ユーザが編集を行う編集領域(E2)と、編集の対象として選択可能な画像を配置した選択領域(E1)とを表示装置(28)に表示させる(図13)。ユーザが選択領域内の画像を編集領域に配置(移動)させると、この画像が選択手段によって選択され、編集および画像データ送信の対象となる。
第6の発明によれば、ユーザは、選択領域内の画像を編集領域に配置させることで、対象画像を容易に選択できる。
第7の発明は、第6の発明に従属する画像送信装置であって、レイアウト情報には、画像データを識別する識別情報、画像の位置、画像のサイズが少なくとも含まれ、編集手段は、編集領域内で画像の配置をユーザに行わせることでレイアウトの編集を行わせる。
第7の発明では、レイアウト情報は、画像データを識別する識別情報、画像の位置、画像のサイズを少なくとも含む。ユーザが編集領域内で画像の配置を行うと、このようなレイアウト情報が編集手段によって編集される。
第7の発明によれば、ユーザは、編集領域内で画像の配置を行うことで、レイアウト情報を容易に編集できる。
第8の発明は、第5の発明に従属する画像送信装置であって、中断情報記憶手段は、編集中断時に画像データ記憶手段に記憶されている画像を識別する識別情報をさらに記憶し、編集再開時に画像データ記憶手段に記憶されている画像の識別情報と中断情報記憶手段に記憶された識別情報とを互いに比較することによって、編集再開時に画像データ記憶手段に記憶されている画像が中断時と同じであるか判定する判定手段をさらに備え、画像データ送信手段は、編集再開後、判定手段において中断時と同じであると判定された場合に、中断情報記憶手段に記憶されたリストに基づいて、送信すべき画像のうち未送信の画像データを送信する。
第8の発明では、画像データ記憶手段に記憶されている画像を識別する識別情報が、中断情報記憶手段にさらに記憶される。中断情報記憶手段に記憶された識別情報は、編集再開時に画像データ記憶手段に記憶されている画像の識別情報と比較され、判定手段(S5)は、この比較結果に基づいて、画像データ記憶手段に記憶されている画像が中断時と同じであるか判定する。判定手段において中断時と同じであると判定された場合には、編集再開後、中断情報記憶手段に記憶されたリストに基づいて、送信すべき画像のうち未送信の画像データが、画像データ送信手段によって送信される。
なお、再開時に中断時と同じ画像が記憶されていないと判定された場合には、画像データ送信手段は、送信リスト記憶手段に記憶されているリストに基づいて、送信すべき各画像の画像データを送信する。すなわち、画像データ記憶手段に記憶されている画像は、いずれも未送信であると見なされ、残らず送信対象となる。
第8の発明によれば、送信済みの画像データを再度送信する無駄が省ける。
第9の発明は、第3の発明に従属する画像送信装置であって、リストには各画像を識別する識別情報が登録され、画像データ送信手段は、各画像の画像データに当該画像の識別情報を付加して送信し、ネットワークには、画像データ送信手段からの画像データを受信して当該画像データに付加された識別情報を返信するサーバが設けられ、サーバから返信された識別情報をリストに登録された識別情報と照合して、サーバが各画像を受信したか否かを判別する判別手段をさらに備え、画像データ送信手段は、判別手段によってサーバが受信していないと判別された画像を再送する。
第9の発明では、リストには、各画像を識別する識別情報が登録され、画像データ送信手段は、各画像の画像データに当該画像の識別情報を付加して送信する。ネットワークには、画像データ送信手段からの画像データを受信して当該画像データに付加された識別情報を返信するサーバ(122)が設けられ、判別手段(S45)は、サーバから返信された識別情報をリストに登録された識別情報と照合して、サーバが各画像を受信したか否かを判別する。画像データ送信手段は、判別手段によってサーバが受信していないと判別された画像を再送する(S49)。
第9の発明によれば、送信した各画像の画像データがサーバによって受信されたか否かを識別情報の返信の有無で判別し、受信されていないと判別された画像の画像データを再送するので、画像データを確実に受信させることができる。
第10〜第18の発明は、ユーザによる画像の編集に基づいて、画像データおよび画像のレイアウトをネットワーク(124)に送信する画像送信装置(12)のコンピュータ(40)を、第1〜9の発明に記載したような各手段として機能させる、画像送信プログラムである。
第19の発明は、所望の画像に対応する画像データと当該画像データに基づくプリント処理を実行させるためのユーザ操作に基づく制御情報とを送信する画像送信装置であって、 制御情報を更新操作に応じて更新する更新処理を繰り返し実行する第1更新手段、画像データを送信する送信処理を第1更新手段による更新処理と並列に実行する第1送信手段、および制御情報を送信する送信処理を第1更新手段による更新処理の終了後に実行する第2送信手段を備える。
第19の発明では、画像送信装置(12)は、プリントサーバ(122)などにプリント処理を実行させるべく、画像データおよび制御情報を送信する。制御情報は、更新操作のたびに、第1更新手段(S21,S31)によって繰り返し更新される。たとえば、ユーザがレイアウト編集操作,プリントサイズ/枚数指定操作などを行うと、制御情報に含まれるレイアウト情報,プリントサイズ/枚数情報などが操作のたびに更新される。画像データを送信する送信処理は、このような第1更新手段の更新処理と並列に、第1送信手段(S65,S67)によって実行される。制御情報を送信する送信処理は、第1更新手段の更新処理の終了後に、すなわち制御情報が確定した後に、第2送信手段(S29,S53)によって実行される。
第19の発明によれば、ユーザが制御情報を更新する操作を行っている間に、バックグラウンドで画像送信が進行するので、送信完了までの待ち時間を短縮できる。
第20の発明は、第19の発明に従属する画像送信装置であって、第1送信手段は、所望の画像の少なくとも一部を特定する特定操作に応じて送信処理を開始する。
第20の発明では、所望の画像が特定された時点で、その画像データの送信処理が開始される。
第20の発明によれば、待ち時間を一層短縮できる。
第21の発明は、第19または第20の発明に従属する画像送信装置であって、所望の画像のうち未送信画像の識別子を登録したリストを第1送信手段による送信処理の進行に従って更新する第2更新手段、および制御情報およびリストを中断操作に応じてセーブするセーブ手段をさらに備え、第1更新手段および第1送信手段はそれぞれ、再開操作に応じて、制御情報およびリストをセーブ手段によってセーブされた制御情報およびリストで更新した後に、更新処理および送信処理を再開する。
第21の発明では、第2更新手段(S71)が、所望の画像のうち未送信画像の識別子を登録したリストを、第1送信手段による送信処理の進行に従って更新する。セーブ手段(S33)は、制御情報およびリストを中断操作に応じてセーブし、第1更新手段および第1送信手段はそれぞれ、再開操作に応じて、制御情報およびリストをセーブ手段によってセーブされた制御情報およびリストで更新した後に、更新処理および送信処理を再開する。
第21の発明によれば、制御情報の更新操作および画像データの送信処理を中断のたびに一からやり直す無駄が省ける。
この発明によれば、画像データと、この画像データに基づくプリント処理を実行させるためのユーザ操作に従う制御情報とを送信するにあたって、送信完了までの待ち時間を短縮することができる。
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
図1を参照して、この発明の一実施例であるゲームシステム10は、ゲーム装置12およびコントローラ14を含む。図示は省略するが、この実施例のゲーム装置12は、最大4つのコントローラ14と通信可能に設計されている。また、ゲーム装置12と各コントローラ14とは、無線によって接続される。たとえば、無線通信は、Bluetooth(登録商標)規格に従って実行されるが、赤外線や無線LANなど他の規格に従って実行されてもよい。さらには、有線で接続されてもよい。
ゲーム装置12は、略直方体のハウジング16を含み、ハウジング16の前面にはディスクスロット18が設けられる。ディスクスロット18から、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク24が挿入されて、ハウジング16内のディスクドライブ54(図2参照)に装着される。図示は省略するが、ディスクスロット18の周囲には、LEDと導光板とが配置され、様々な処理に応答させて、ディスクスロット1
8を点灯または点滅させることが可能である。
また、ゲーム装置12のハウジング16の前面の上部には、電源ボタン20aおよびリセットボタン20bが設けられ、その下部には、イジェクトボタン20cが設けられる。さらに、リセットボタン20bとイジェクトボタン20cとの間であり、ディスクスロット18の近傍には、外部メモリカード用コネクタカバー22が設けられる。この外部メモリカード用コネクタカバー22の内側には、外部メモリカード用コネクタ62(図2参照)が設けられ、外部メモリカード38(以下、単に「メモリカード38」という。)が挿入される。メモリカード38は、光ディスク24から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム10を利用してプレイしたゲームのゲームデータ(ゲームの結果データまたは途中データ)を保存(セーブ)しておいたりするために利用される。ただし、上記のゲームデータの保存は、メモリカード38に対して行うことに代えて、たとえばゲーム装置12の内部に設けられるフラッシュメモリ44(図2参照)のような内部メモリに対して行うようにしてもよい。また、メモリカード38は、内部メモリのバックアップメモリとして用いるようにしてもよい。さらに、ゲーム装置12では、ゲーム以外の他のアプリケーションを実行することも可能であり、かかる場合には、メモリカード38には当該他のアプリケーションのデータを保存することができる。
なお、メモリカード38としては、汎用のSDカードを用いることができるが、メモリスティックやマルチメディアカード(登録商標)のような他の汎用のメモリカードを用いることもできる。
図1では省略するが、ゲーム装置12のハウジング16の後面には、AVケーブルコネクタ58(図2参照)が設けられ、そのAVコネクタ58を用いて、AVケーブル26を通してゲーム装置12にモニタ28およびスピーカ30を接続する。このモニタ28およびスピーカ30は典型的にはカラーテレビジョン受像機であり、AVケーブル26によって、ゲーム装置12からの映像信号がカラーテレビのビデオ入力端子に入力され、ゲーム装置12からの音声信号が音声入力端子に入力される。したがって、カラーテレビ(モニタ)28の画面上にたとえば3次元(3D)ビデオゲームの仮想3次元ゲーム画像が表示され、左右のスピーカ30からゲーム音楽や効果音などのステレオゲーム音声が出力される。また、モニタ28の周辺(この実施例では、モニタ28の上側)には、2つの赤外LED(マーカ)32aおよび32bを備えるマーカ部32が設けられる。このマーカ部32は、電源線34を通してゲーム装置12に接続される。したがって、マーカ部32には、ゲーム装置12から電源が供給される。これによって、マーカ32aおよび32bは発光し、それぞれモニタ28の前方に向けて赤外光を出力する。
なお、ゲーム装置12の電源は、一般的なACアダプタ(図示せず)によって与えられる。ACアダプタは家庭用の標準的な壁ソケットに差し込まれ、ゲーム装置12は、家庭用電源(商用電源)を、駆動に適した低いDC電圧信号に変換する。他の実施例では、電源としてバッテリが用いられてもよい。
このゲームシステム10において、ユーザまたはプレイヤがゲーム(またはゲームに限らず、他のアプリケーション)をプレイするために、ユーザは電源スイッチ20aによってまずゲーム装置12の電源をオンし、次いで、ユーザはビデオゲーム(もしくはプレイしたいと思う他のアプリケーション)のプログラムを記録している適宜の光ディスク24を選択し、その光ディスク24をゲーム装置12のディスクドライブ54にローディングする。応じて、ゲーム装置12がその光ディスク24に記録されているプログラムに基づいてビデオゲームもしくは他のアプリケーションを実行し始める。ユーザはゲーム装置12に入力を与えるためにコントローラ14を操作する。たとえば操作ボタンなどを含む入力手段36のどれかの操作ボタンを操作することによってゲームもしくは他のアプリケー
ションをスタートさせる。また、入力手段36に対する操作以外にも、コントローラ14自体を動かすことによって、動画オブジェクト(プレイヤオブジェクト)を異なる方向に移動させ、または3Dのゲーム世界におけるユーザの視点(カメラ位置)を変化させることができる。
ただし、ビデオゲームや他のアプリケーションのプログラムは、ゲーム装置12の内部メモリ(フラッシュメモリ44(図2参照))に記憶(インストール)しておき、当該内部メモリから実行するようにしてもよい。かかる場合には,光ディスク24のような記憶媒体に記憶されたプログラムを内部メモリにインストールしてもよいし、ダウンロードされたプログラムを内部メモリにインストールしてもよい。
図2は図1実施例のゲームシステム10の電気的な構成を示すブロック図である。図示は省略するが、ハウジング16内の各コンポーネントは、プリント基板に実装される。図2に示すように、ゲーム装置12には、CPU40が設けられ、ゲームプロセッサとして機能する。また、CPU40には、システムLSI42が接続される。このシステムLSI42には、外部メインメモリ46、ROM/RTC48、ディスクドライブ54およびAV IC56が接続される。
外部メインメモリ46は、ゲームプログラム等のプログラムを記憶したり、各種データを記憶したりして、CPU40のワーク領域やバッファ領域として用いられる。ROM/RTC48は、いわゆるブートROMであり、ゲーム装置12の起動用のプログラムが組み込まれるとともに、時間をカウントする時計回路が設けられる。ディスクドライブ54は、光ディスク24からプログラムやテクスチャデータ等を読み出し、CPU40の制御の下で、後述する内部メインメモリ42eまたは外部メインメモリ46に書き込む。
システムLSI42には、入出力プロセッサ42a、GPU(Graphics Processor Unit)42b,DSP(Digital Signal Processor)42c,VRAM42dおよび内部メイン
メモリ42eが設けられ、図示は省略するが、これらは内部バスによって互いに接続される。
入出力プロセッサ(I/Oプロセッサ)42aは、データの送受信を実行したり、データのダウンロードを実行したりする。
GPU42bは、描画手段の一部を形成し、CPU40からのグラフィクスコマンド(
作画命令)を受け、そのコマンドに従ってゲーム画像データを生成する。ただし、CPU
40は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをGPU42bに与える。
図示は省略するが、上述したように、GPU42bにはVRAM42dが接続される。GPU42bが作画命令を実行するにあたって必要なデータ(画像データ:ポリゴンデータやテクスチャデータなどのデータ)は、GPU42bがVRAM42dにアクセスして取得する。ただし、CPU40は、描画に必要な画像データを、GPU42bを介してVRAM42dに書き込む。GPU42bは、VRAM42dにアクセスして描画のためのゲーム画像データを作成する。
なお、この実施例では、GPU42bがゲーム画像データを生成する場合について説明するが、ゲームアプリケーション以外の任意のアプリケーションを実行する場合には、GPU42bは当該任意のアプリケーションについての画像データを生成する。
また、DSP42cは、オーディオプロセッサとして機能し、内部メインメモリ42eや外部メインメモリ46に記憶されるサウンドデータや音波形(音色)データを用いて、スピーカ30から出力する音、音声或いは音楽に対応するオーディオデータを生成する。
上述のように生成されたゲーム画像データおよびオーディオデータは、AV IC56によって読み出され、AVコネクタ58を介してモニタ28およびスピーカ30に出力される。したがって、ゲーム画面がモニタ28に表示され、ゲームに必要な音(音楽)がスピーカ30から出力される。
また、入出力プロセッサ42aには、フラッシュメモリ44、無線通信モジュール50および無線コントローラモジュール52が接続されるとともに、拡張コネクタ60およびメモリカード用コネクタ62が接続される。また、無線通信モジュール50にはアンテナ50aが接続され、無線コントローラモジュール52にはアンテナ52aが接続される。
入出力プロセッサ42aは、無線通信モジュール50を介して、ネットワーク124に接続される他のゲーム装置や各種サーバと通信することができる。ただし、ネットワーク124を介さずに、直接的に他のゲーム装置と通信することもできる。入出力プロセッサ42aは、定期的にフラッシュメモリ44にアクセスし、ネットワーク124へ送信する必要があるデータ(「送信データ」とする)の有無を検出し、当該送信データが有る場合には、無線通信モジュール50およびアンテナ50aを介してネットワーク124に送信する。また、入出力プロセッサ42aは、他のゲーム装置から送信されるデータ(「受信データ」とする)を、ネットワーク124、アンテナ50aおよび無線通信モジュール50を介して受信し、当該受信データをフラッシュメモリ44に記憶する。ただし、受信データが一定の条件を満たさない場合には、当該受信データはそのまま破棄される。さらに、入出力プロセッサ42aは、ダウンロードサーバ(図示せず)からダウンロードしたデータ(ダウンロードデータとする)をネットワーク124、アンテナ50aおよび無線通信モジュール50を介して受信し、そのダウンロードデータをフラッシュメモリ44に記憶することもできる。
また、入出力プロセッサ42aは、コントローラ14から送信される入力データをアンテナ52aおよび無線コントローラモジュール52を介して受信し、内部メインメモリ42eまたは外部メインメモリ46のバッファ領域に記憶(一時記憶)する。入力データは、CPU40の処理(たとえば、ゲーム処理)によって利用された後、バッファ領域から消去される。
なお、この実施例では、上述したように、無線コントローラモジュール52は、Bluetooth規格に従ってコントローラ14との間で通信を行う。
さらに、入出力プロセッサ42aには、拡張コネクタ60およびメモリカード用コネクタ62が接続される。拡張コネクタ60は、USBやSCSIのようなインタフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、コントローラ14とは異なる他のコントローラのような周辺機器を接続したりすることができる。また、拡張コネクタ60に有線LANアダプタを接続し、無線通信モジュール50に代えて当該有線LANを利用することもできる。メモリカード用コネクタ62には、メモリカード38のような外部記憶媒体を接続することができる。したがって、たとえば、入出力プロセッサ42aは、拡張コネクタ60やメモリカード用コネクタ62を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
詳細な説明は省略するが、図1にも示したように、ゲーム装置12(ハウジング16)には、電源ボタン20a,リセットボタン20bおよびイジェクトボタン20cが設けられる。電源ボタン20aは、システムLSI42に接続される。この電源ボタン20aがオンされると、システムLSI42には、ゲーム装置12の各コンポーネントに図示しな
いACアダプタを経て電源が供給され、通常の通電状態となるモード(「通常モード」と呼ぶこととする)が設定される。一方、電源ボタン20aがオフされると、システムLSI42には、ゲーム装置12の一部のコンポーネントのみに電源が供給され、消費電力を必要最低限に抑えるモード(以下、「スタンバイモード」という)が設定される。
この実施例では、スタンバイモードが設定された場合には、システムLSI42は、入出力プロセッサ42a、フラッシュメモリ44、外部メインメモリ46、ROM/RTC48および無線通信モジュール50、無線コントローラモジュール52以外のコンポーネントに対して、電源供給を停止する指示を行う。したがって、この実施例では、スタンバイモードにおいて、CPU40がアプリケーションを実行することはない。
なお、システムLSI42には、スタンバイモードにおいても電源が供給されるが、GPU42b、DSP42cおよびVRAM42dへのクロックの供給を停止することにより、これらを駆動しないようにして、消費電力を低減するようにしてある。
また、図示は省略するが、ゲーム装置12のハウジング16内部には、CPU40やシステムLSI42などのICの熱を外部に排出するためのファンが設けられる。スタンバイモードでは、このファンも停止される。
ただし、スタンバイモードを利用したくない場合には、スタンバイモードを利用しない設定にしておくことにより、電源ボタン20aがオフされたときに、すべての回路コンポーネントへの電源供給が完全に停止される。
また、通常モードとスタンバイモードとの切り替えは、コントローラ14の電源スイッチ86(図3)のオン/オフの切り替えによって、遠隔操作によって行うことが可能である。当該遠隔操作を行わない場合には、スタンバイモードにおいて無線コントローラモジュール52aへの電源供給を行わない設定にしてもよい。
リセットボタン20bもまた、システムLSI42に接続される。リセットボタン20bが押されると、システムLSI42は、ゲーム装置12の起動プログラムを再起動する。イジェクトボタン20cは、ディスクドライブ54に接続される。イジェクトボタン20cが押されると、ディスクドライブ54から光ディスク24が排出される。
図3(A)および図3(B)は、コントローラ14の外観の一例を示す。図3(A)はコントローラ14の正面、上面および右側面を見せる斜視図であり、図3(B)はコントローラ14の背面、下面および左側面を見せる斜視図である。
図3(A)および図3(B)を参照して、コントローラ14は、たとえばプラスチック成型によって形成されたハウジング70を有している。ハウジング70は、略直方体形状であり、ユーザが片手で把持可能な大きさである。ハウジング70(コントローラ14)には、前述のように入力手段(複数のボタンないしスイッチ)36が設けられる。具体的には、図3(A)に示すように、ハウジング70の上面には、十字キー72,1ボタン74,2ボタン76,Aボタン78,−(マイナス)ボタン80,HOMEボタン82,+(プラス)ボタン84および電源スイッチ86が設けられる。また、図3(B)に示すように、ハウジング70の下面に傾斜面が形成されており、この傾斜面に、Bトリガースイッチ88が設けられる。
十字キー72は、4方向プッシュスイッチであり、矢印で示す4つの方向、前(または上)、後ろ(または下)、右および左の操作部を含む。この操作部のいずれか1つを操作することによって、プレイヤによって操作可能なキャラクタまたはオブジェクト(プレイ
ヤキャラクタまたはプレイヤオブジェクト)の移動方向を指示したり、カーソルの移動方向を指示したりすることができる。
1ボタン74および2ボタン76は、それぞれ、押しボタンスイッチである。たとえば3次元ゲーム画像を表示する際の視点位置や視点方向、すなわち仮想カメラの位置や画角を調整する等のゲームの操作に使用される。または、1ボタン74および2ボタン76は、Aボタン78およびBトリガースイッチ88と同じ操作或いは補助的な操作をする場合に用いるようにしてもよい。
Aボタン78は、押しボタンスイッチであり、プレイヤキャラクタまたはプレイヤオブジェクトに、方向指示以外の動作、すなわち、打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプするなどの任意のアクションをさせるために使用される。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かすなどを指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。また、Aボタン78は、ゲーム画面上でポインタ(指示画像)が指示するアイコンないしボタン画像の決定を指示するために使用される。たとえば、アイコンやボタン画像が決定されると、これらに対応して予め設定されている指示ないし命令(ゲームのコマンド)を入力することができる。
−ボタン80、HOMEボタン82、+ボタン84および電源スイッチ86もまた、押しボタンスイッチである。−ボタン80は、ゲームモードを選択するために使用される。HOMEボタン82は、ゲームメニュー(メニュー画面)を表示するために使用される。+ボタン84は、ゲームを開始(再開)したり、一時停止したりするなどのために使用される。電源スイッチ86は、ゲーム装置12の電源を遠隔操作によってオン/オフするために使用される。
なお、この実施例では、コントローラ14自体をオン/オフするための電源スイッチは設けておらず、コントローラ14の入力手段36のいずれかを操作することによってコントローラ14はオンとなり、一定時間(たとえば、30秒)以上操作しなければ自動的にオフとなるようにしてある。
Bトリガースイッチ88もまた、押しボタンスイッチであり、主として、弾を撃つなどのトリガを模した入力を行ったり、コントローラ14で選択した位置を指定したりするために使用される。また、Bトリガースイッチ88を押し続けると、プレイヤオブジェクトの動作やパラメータを一定の状態に維持することもできる。また、一定の場合には、Bトリガースイッチ88は、通常のBボタンと同様に機能し、Aボタン78によって決定したアクションやコマンドなどを取り消すなどのために使用される。
また、図3(A)に示すように、ハウジング70の後端面に外部拡張コネクタ90が設けられ、また、図3(B)に示すように、ハウジング70の上面であり、後端面側にはインジケータ92が設けられる。外部拡張コネクタ90は、コントローラ14とは異なる拡張コントローラ(図示せず)を接続するためなどに使用される。インジケータ92は、たとえば、4つのLEDで構成される。たとえば、インジケータ92では、4つのうちのいずれか1つを点灯させることにより、点灯したLEDに応じて、コントローラ14の識別情報(コントローラ番号)を示すことができる。また、インジケータ92では、点灯させるLEDの個数によってコントローラ14の電池残量を示すこともできる。
さらに、コントローラ14は、撮像情報演算部108(図4参照)を有しており、図3(B)に示すように、ハウジング70の先端面には撮像情報演算部108の光入射口94
が設けられる。また、コントローラ14は、スピーカ114(図4参照)を有しており、このスピーカ114は、図3(A)に示すように、ハウジング70の上面であり、1ボタン74とHOMEボタン82との間に設けられる音抜き孔96に対応して、ハウジング70内部に設けられる。
なお、図3(A)および図3(B)に示したコントローラ14の形状や、各入力手段36の形状、数および設置位置等は単なる一例に過ぎず、それらが適宜改変されてもよい。
図4はコントローラ14の電気的な構成を示すブロック図である。この図4を参照して、コントローラ14はプロセッサ100を含み、このプロセッサ100には、内部バス(図示せず)によって、外部拡張コネクタ90、入力手段36、メモリ102、加速度センサ104、無線モジュール106、撮像情報演算部108、LED110(インジケータ92)、バイブレータ112、スピーカ114および電源回路116が接続される。また、無線モジュール106には、アンテナ118が接続される。
なお、簡単のため、図4では省略するが、上述したように、インジケータ92は4つのLED110によって構成される。
プロセッサ100は、コントローラ14の全体制御を司り、入力手段36、加速度センサ104および撮像情報演算部108によって入力された情報(入力情報)を、入力データとして無線モジュール106およびアンテナ118を介してゲーム装置12に送信(入力)する。このとき、プロセッサ100は、メモリ102を作業領域ないしバッファ領域として用いる。また、上述した入力手段36(72‐84)からの操作信号(操作データ)は、プロセッサ100に入力され、プロセッサ100は操作データを一旦メモリ102に記憶する。
加速度センサ104は、図3に示すようにコントローラ14の縦方向(y軸方向)、横方向(x軸方向)および前後方向(z軸方向)の3軸で各々の加速度を検出する。この加速度センサ104は、典型的には、静電容量式の加速度センサであるが、他の方式のものを用いるようにしてもよい。
たとえば、加速度センサ104は、第1所定時間毎に、x軸,y軸,z軸の各々についての加速度(ax,ay,az)を検出し、検出した加速度のデータ(加速度データ)をプロセッサ100に入力する。たとえば、加速度センサ104は、各軸方向の加速度を、−2.0G〜2.0G(Gは重力加速度である。以下、同じ。)の範囲で検出する。プロセッサ100は、加速度センサ104から与えられる加速度データを、第2所定時間毎に検出し、一旦メモリ102に記憶する。
プロセッサ100は、操作データ、加速度データおよび後述するマーカ座標データの少なくとも1つを含む入力データを作成し、作成した入力データを、第3所定時間(たとえば、5msec)毎にゲーム装置12に送信する。
なお、図3では省略したが、この実施例では、加速度センサ104は、ハウジング70内部の基板上の十字キー72が配置される付近に設けられる。
ここで、加速度センサ104から出力される加速度データに基づいて、ゲーム装置12のプロセッサ(たとえば、CPU40)またはコントローラ14のプロセッサ(たとえば、プロセッサ100)などのコンピュータが処理を行うことによって、コントローラ14に関するさらなる情報を推測または算出(判定)することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。
たとえば、コントローラ14に1軸の加速度センサ104を搭載し、当該コントローラ14が静的な状態であることを前提としてコンピュータ側で処理する場合、すなわち、加速度センサ104によって検出される加速度が重力加速度のみであるとして処理する場合、コントローラ14が現実に静的な状態であれば、検出された加速度データに基づいてコントローラ14の姿勢が重力方向に対して傾いているか否かまたはどの程度傾いているかを知ることができる。具体的には、加速度センサ104の検出軸が鉛直下方向である状態を基準としたとき、1G(重力加速度)がかかっているか否かだけで傾いているか否かを知ることができるし、その大きさによってどの程度傾いているかを知ることもできる。
また、コントローラ14に多軸の加速度センサ104を搭載する場合には、さらに各軸の加速度データに対して処理を施すことによって、重力方向に対してどの程度傾いているかをより詳細に知ることができる。この場合において、加速度センサ104の出力に基づいて、プロセッサ100がコントローラ14の傾き角度のデータを算出する処理を行ってもよいが、当該傾き角度のデータの算出処理を行うことなく、加速度センサ104からの出力に基づいて、おおよその傾きを推定できるような処理としてもよい。このように、加速度センサ104をプロセッサ100と組み合わせることによって、コントローラ14の傾き、姿勢または位置を判定することができる。
一方、加速度センサ104が動的な状態を前提とする場合には、重力加速度成分に加えて加速度センサの動きに応じた加速度を検出するので、重力加速度成分を所定の処理により除去すれば、動きの方向などを知ることができる。具体的には、加速度センサ104を搭載するコントローラ14がユーザの手で動的に加速されて動かされている場合に、加速度センサ104によって生成される加速度データを処理することによって、コントローラ14の様々な動きおよび/または位置を算出することができる。
なお、加速度センサ104が動的な状態であることを前提とする場合であっても、加速度センサ104の動きに応じた加速度を所定の処理により除去すれば、重力方向に対する傾きを知ることができる。他の実施例では、加速度センサ104は、加速度データをプロセッサ100に出力する前に、内蔵の加速度検出手段から出力される加速度信号(加速度データ)に対して所望の処理を行うための、組込み式の信号処理装置また他の種類の専用の処理装置を備えてもよい。たとえば、組込み式または専用の処理装置は、加速度センサ104が静的な加速度(たとえば、重力加速度)を検出するためのものである場合、検知された加速度データをそれに相当する傾斜角(あるいは、他の好ましいパラメータ)に変換するものであってもよい。
無線モジュール106は、たとえばBluetoothの技術を用いて、所定周波数の搬送波を入力データで変調し、その微弱電波信号をアンテナ118から放射する。つまり、入力データは、無線モジュール106によって微弱電波信号に変調されてアンテナ118(コントローラ14)から送信される。この微弱電波信号が上述したゲーム装置12に設けられた無線コントローラモジュール52によって受信される。受信された微弱電波は、復調および復号の処理を施され、したがって、ゲーム装置12(CPU40)は、コントローラ14からの入力データを取得することができる。そして、CPU40は、取得した入力データとアプリケーションプログラム(ゲームプログラム)とに従ってアプリケーションの処理(ゲーム処理)を行う。
さらに、上述したように、コントローラ14には、撮像情報演算部108が設けられる。この撮像情報演算部108は、赤外線フィルタ108a、レンズ108b、撮像素子108cおよび画像処理回路108dによって構成される。赤外線フィルタ108aは、コントローラ14の前方から入射する光から赤外線のみを通過させる。上述したように、モ
ニタ28の表示画面近傍(周辺)に配置されるマーカ32aおよび32bは、モニタ28の前方に向かって赤外光を出力する赤外LEDである。したがって、赤外線フィルタ108aを設けることによってマーカ32aおよび32bの画像をより正確に撮像することができる。レンズ108bは、赤外線フィルタ108aを透過した赤外線を集光して撮像素子108cへ出射する。撮像素子108cは、たとえばCMOSセンサあるいはCCDのような固体撮像素子であり、レンズ108bによって集光された赤外線を撮像する。したがって、撮像素子108cは、赤外線フィルタ108aを通過した赤外線だけを撮像して画像データを生成する。以下では、撮像素子108cによって撮像された画像を撮像画像と呼ぶ。撮像素子108cによって生成された画像データは、画像処理回路108dで処理される。画像処理回路108dは、撮像画像内における撮像対象(マーカ32aおよび32b)の位置を算出し、第4所定時間毎に、当該位置を示す各座標値を撮像データ(後述するマーカ座標データ)としてプロセッサ100に出力する。なお、画像処理回路108dにおける処理については後述する。
図5は、コントローラ14を用いてゲームプレイするときの状態を概説する図解図である。図5に示すように、ゲームシステム10でコントローラ14を用いてゲームをプレイする際、プレイヤは、一端がコントローラ14に結び付けられたストラップ120を一方の手の手首に巻いた状態で、その同じ手の手のひらでコントローラ14を把持する。厳密に言うと、プレイヤは、コントローラ14の先端面(図3で示す撮像情報演算部108が撮像する光の入射口94側)がマーカ32aおよび32bの方を向く状態でコントローラ14を把持する。これらマーカ32aおよび32bは、図示したように、モニタ28の画面の横(水平)方向と平行に配置されている。この状態で、プレイヤは、コントローラ14が指示する画面上の位置を変更したり、コントローラ14と各マーカ32aおよび32bとの距離を変更したりすることによってゲーム操作を行う。
図6は、マーカ32aおよび32bと、コントローラ14との視野角を説明するための図である。図6に示すように、マーカ32aおよび32bは、それぞれ、視野角θ1の範囲で赤外光を放射する。また、撮像情報演算部108の撮像素子108cは、コントローラ14の視線方向を中心とした視野角θ2の範囲で入射する光を受光することができる。たとえば、マーカ32aおよび32bの視野角θ1は、共に34°(半値角)であり、一方、撮像素子108cの視野角θ2は41°である。プレイヤは、撮像素子108cが2つのマーカ32aおよび32bからの赤外光を受光することが可能な位置および向きとなるように、コントローラ14を把持する。具体的には、撮像素子108cの視野角θ2の中にマーカ32aおよび32bの少なくとも一方が存在し、かつ、マーカ32aまたは32bの少なくとも一方の視野角θ1の中にコントローラ14が存在する状態となるように、プレイヤはコントローラ14を把持する。この状態にあるとき、コントローラ14は、マーカ32aおよび32bの少なくとも一方を検知することができる。プレイヤは、この状態を満たす範囲でコントローラ14の位置および向きを変化させることによってゲーム操作を行うことができる。
なお、コントローラ14の位置および向きがこの範囲外となった場合、コントローラ14の位置および向きに基づいたゲーム操作を行うことができなくなる。以下では、必要な場合、上記範囲を「操作可能範囲」と呼ぶ。
操作可能範囲内でコントローラ14が把持される場合、撮像情報演算部108によって各マーカ32aおよび32bの画像が撮像される。すなわち、撮像素子108cによって得られる撮像画像には、撮像対象である各マーカ32aおよび32bの画像(対象画像)が含まれる。図7は、対象画像を含む撮像画像の一例を示す図である。対象画像を含む撮像画像の画像データを用いて、画像処理回路108dは、各マーカ32aおよび32bの撮像画像における位置を表す座標(マーカ座標)を算出する。なお、ここで算出される座標は、撮像画像(ゲーム画面)の左上端を原点Oとするワールド座標系(X‐Y座標系:後述)に従う。
撮像画像の画像データにおいて対象画像は高輝度部分として現れるため、画像処理回路108dは、まず、この高輝度部分を対象画像の候補として検出する。次に、画像処理回路108dは、検出された高輝度部分の大きさに基づいて、その高輝度部分が対象画像であるか否かを判定する。撮像画像には、対象画像である2つのマーカ32aおよび32bに対応する画像32a’および32b’のみならず、窓からの太陽光や部屋の蛍光灯の光によって対象画像以外の画像が含まれていることがある。高輝度部分が対象画像であるか否かの判定処理は、対象画像である画像32a’および32b’と、それ以外の画像とを区別し、対象画像を正確に検出するために実行される。具体的には、当該判定処理においては、検出された高輝度部分が、予め定められた所定範囲内の大きさであるか否かが判定される。そして、高輝度部分が所定範囲内の大きさである場合には、当該高輝度部分は対象画像を表すと判定される。逆に、高輝度部分が所定範囲内の大きさでない場合には、当該高輝度部分は対象画像以外の画像を表すと判定される。
さらに、上記の判定処理の結果、対象画像を表すと判定された高輝度部分について、画像処理回路108dは当該高輝度部分の位置を算出する。具体的には、当該高輝度部分の重心位置を算出する。ここでは、当該重心位置の座標をマーカ座標と呼ぶ。また、重心位置は撮像素子108cの解像度よりも詳細なスケールで算出することが可能である。ここでは、撮像素子108cによって撮像された撮像画像の解像度が126×96であるとし、重心位置は1024×768のスケールで算出されるものとする。つまり、マーカ座標は、(0,0)から(1024,768)までの整数値で表現される。
なお、撮像画像における位置は、撮像画像の左上を原点とし、下向きをY軸正方向とし、右向きをX軸正方向とする座標系(XY座標系)で表現されるものとする。
また、対象画像が正しく検出される場合には、判定処理によって2つの高輝度部分が対象画像として判定されるので、2箇所のマーカ座標が算出される。画像処理回路108dは、算出された2箇所のマーカ座標を示すデータを出力する。出力されたマーカ座標のデータ(マーカ座標データ)は、上述したように、プロセッサ100によって入力データに含まれ、ゲーム装置12に送信される。
ゲーム装置12(CPU40)は、受信した入力データからマーカ座標データを検出すると、このマーカ座標データに基づいて、モニタ28の画面上におけるコントローラ14の指示位置P(指示座標PX,PY)と、コントローラ14からマーカ32aおよび32bまでの各距離とを算出することができる。具体的には、2つのマーカ座標の中点の位置から、コントローラ14の向いている位置すなわち指示位置が算出される。また、撮像画像における対象画像間の距離が、コントローラ14と、マーカ32aおよび32bとの距離に応じて変化するので、2つのマーカ座標間の距離を算出することによって、ゲーム装置12はコントローラ14とマーカ32aおよび32bとの間の距離を把握できる。
以上のように構成されたゲームシステム10はまた、メモリカード38に記録された写真やキャラクタなどの画像をプリンタ(サーバ)に送信する画像送信装置(クライアント)としても機能する。
ゲームシステム10を用いたプリントシステム120の一例が図8に示される。図8を参照して、プリントシステム120は、ゲームシステム10およびプリントサーバ122を含む。ゲームシステム10は、インターネットやLANのようなネットワーク124を介してプリントサーバ122に接続される。ゲーム装置12のメモリカード用コネクタ62にメモリカード38が装着され、メモリカード38に記録された画像の中から所望の画像が選択されると、選択された画像は、無線通信モジュール50aからネットワーク124を経由してプリントサーバ122へと送信される。プリントサーバ122は、ゲームシステム10からの画像を受信し、これを印画紙や名刺等の用紙にプリントする。
プリントシステム120によるプリント処理の概要が図9に示される。図9を参照して、クライアント側つまりゲームシステム10では、コントローラ14によって画像送信モードが選択されると、モニタ28にタイトル画面(図示せず)が表示される。タイトル画面には、“A4アルバム”,“L版プリント”,“名刺”といった複数の商材名が選択肢として含まれており、このうち1つが選択されると、選択された商材のIDがサーバ側つまりプリントサーバ122に通知される。プリントサーバ122は、通知されたIDに対応する商材情報をクライアント側に提供する。
クライアント側では、商材情報の提供を受けて、モニタ28の表示がタイトル画面から商材説明画面(図示せず)に切り換わる。ここでコントローラ14によってOK操作が行われると、モニタ28の表示は、さらに商材説明画面から編集画面(図13参照)に切り換わる。このとき、セーブデータ(後述)の有無が判別され、セーブデータがあれば、編集作業および/または画像送信処理は「続きから」実行される。一方、セーブデータがなければ、編集作業および/または画像送信処理は「はじめから」実行される。
編集画面は、図13に示すように、選択領域E1および編集領域E2を含む。メモリカード38から読み出された画像は、当初、選択領域E1内に配置される。ユーザが選択領域E1内の画像のうち所望の画像をコントローラ14で選択すると、選択された画像は、編集領域E2内へと移動される。次いで、ユーザが編集領域E2内の画像を対象にコントローラ14で編集作業を行うと、編集領域E2内の画像は、これに対応する処理、たとえば移動,拡大/縮小,トリミング,背景/前景の付加,絵/文字の書き込みといった編集処理を施される。
たとえば、商材として“A4アルバム”が選択された場合、編集領域E2はアルバムの1ページに相当する。ユーザは、最初、このページに貼り付けたい画像を選択領域E1から順次選択する。選択された画像は、編集領域E2内の所定位置たとえば下端付近に移動される。ユーザは、次に、編集領域E2内の画像を対象として編集作業を行う。具体的には、各画像を所望の位置までドラッグによって移動させて、それぞれサイズを調整したりコメントを添付したりする。また、ドラッグ操作以外の選択操作の例として、編集領域E2内に枠を先に配置して、選択領域E1内の画像を指定した時点で当該画像が編集領域E2内の枠内に配置されるようにしてもよい。編集作業の途中経過ないし結果は、レイアウト情報として内部メインメモリ42eのレイアウト情報領域146(図10参照)に記憶される。
一方、上記のような編集作業と並行して、編集対象つまり編集領域E2内に再配置された画像がサーバ側へと送信される。このような画像送信処理は、編集対象が選択された時点で開始される。したがって、複数の画像を順次選択する場合には、1つ目の画像が選択されたときこの画像の送信が開始される。そして、この1つ目の画像の送信が終了したとき2つ目以降の画像が既に選択されていれば、これら2つ目以降の画像の送信が引き続き実行される。
すなわち、クライアント側では、編集作業の進行に応じてレイアウト情報および編集画面を更新するレイアウト情報&編集画面更新処理と、編集作業の対象となる画像をサーバ側に送信する画像送信処理とが並列的に実行される。レイアウト情報をサーバ側に送信するレイアウト情報送信処理は、編集作業が完了した後つまり対象画像のレイアウトが確定した後に実行される。サーバ側では、こうしてクライアントから送信された画像およびレイアウト情報を受信し、レイアウト情報に基づいて画像をプリントする処理が実行される(図18参照:後述)。
このように、編集作業中に対象画像をバックグラウンドで送信することで、編集作業が完了した時点で、対象画像の少なくとも一部は送信済みとなっており、したがって、編集作業後には、対象画像の未送信部分とレイアウト情報とを送信すればよいことになる。このため、編集作業後に対象画像の全部とレイアウト情報とを送信する場合に比べ、編集開始から送信完了までの所要時間(あるいは編集完了から送信完了までの待ち時間)を短縮することができる。
編集作業中に他の作業が割り込んだりネットワーク124の通信状態が変化したりして、編集作業および/または画像送信処理が中断された場合や、ユーザの指示により中断が指示された場合には、この時点での送信リスト領域144およびレイアウト情報領域146に記憶されているレイアウト情報および送信リスト(図12参照:後述)を含むセーブデータが作成される。作成されたセーブデータは、内部メインメモリ42e内のセーブデータ領域148(図10参照)に保持される。
セーブデータ領域148に保持されたセーブデータは、中断された編集作業および/または画像送信処理を後に再開するときに利用される。すなわち、セーブデータに含まれるレイアウト情報および送信リストが送信リスト領域144およびレイアウト情報領域146にそれぞれ転送され、これにより、編集作業および/または画像送信処理を中断のたびに一からやり直す無駄が省ける。
送信リストは、図12に示すように、画像ID,送信対象フラグおよび送信済みフラグを含む。画像IDは、メモリカード38から読み出された各画像に割り当てられる識別子であり、この実施例では、読み出し順序に従う連続番号0,1,2,…,999を画像IDとして用いる。送信対象フラグは、各画像が送信対象であるか否かを示すフラグであり、送信対象でないことを示す“0”および送信対象であることを示す“1”の間で変化する。送信済みフラグは、各画像が送信済みであるか否かを示すフラグであり、未送信を示す“0”および送信済みを示す“1”の間で変化する。
画像およびレイアウト情報の送信が完了すると、クライアント側では、モニタ28の表示が編集画面から注文画面(図示せず)に切り換わる。この注文画面を通じて、価格の確認、配送先の指定、支払方法の選択などが行われ、注文が確定すると注文情報がサーバ側に送信される。サーバ側では、受注処理が実行され、これが完了するとクライアント側に完了報告が返信される。クライアント側の処理は、この完了報告が到達した時点で終了となる。
サーバ側ではその後、クライアント側から受信した画像およびレイアウト情報に基づいてプリント用の画像(たとえばアルバムの各ページの画像)を作成し、これを印画紙等に出力する処理が行われる。こうして完成した画像プリントは、クライアント側から受信した注文情報に基づいて、指定の宛先へと配送される。
以上のようなプリント処理を実行するときのクライアント側のメモリマップ、具体的にはゲーム装置12の内部メインメモリ42eのメモリマップを、図10に示す。図10を参照して、プログラム領域130は、メインプログラムが格納されるメインプログラム領域132,および入出力プログラムが格納される入出力プログラム領域134などを含む。メインプログラムは、CPU40を制御してプリント処理を実行するためのプログラムであり、入出力プログラムは、入出力プロセッサ42aを制御して、プリント処理に関連した入出力処理、たとえばコントローラ14からの入力データの受信やプリントサーバ122との間の通信といった処理を実行するためのプログラムである。
データ領域130は、メモリカード38から読み出された画像が格納される画像領域142,送信リストが格納される送信リスト領域144,レイアウト情報が格納されるレイアウト情報領域146,セーブデータが格納されるセーブデータ領域148,および編集作業のための編集作業領域150などを含む。
ここで、画像は、図11(A)に示すように、JPEGなどの画像ファイルの態様で管理される。この画像ファイルには、ファイル情報(たとえばファイル名,作成日時など),画像IDおよび画像データが含まれる。レイアウト情報は、図11(B)に示すように、画像ID,位置データおよびサイズデータを少なくとも含む。他のレイアウト情報としては、角度データ,前景/背景識別子,テキスト/図形データなどがある。セーブデータは、図11(C)に示すように、ファイル情報,レイアウト情報および送信リストを含む。
この実施例のプリント処理の特徴である編集および画像送信の同時進行は、図18に示す受信スレッドがサーバ側で実行されることを前提に、クライアント側のCPU40が図14〜図16の編集スレッドおよび図17の送信スレッドを並列的に実行することによって実現される。
なお、図14〜図17のフローチャートは、図9に示したクライアント側の処理のうち「商材説明画面」および「注文画面」の間の処理を詳細に示すものであり、先述したメインプログラムの一部分に対応する。また、図18のフローチャートは、図9に示したサーバ側の処理のうち「画像およびレイアウト情報受信」の詳細を示すものである。以下では、メモリカード38としてSDカードを用いることとし、これを「SDカード38」のように記す。
クライアント側つまりゲームシステム10では、商材説明画面が表示された状態でOK操作が行われると、図14〜図16の編集スレッドが起動する。図14を参照して、CPU40は、最初のステップS1で、編集処理を「続きから」実行するか否かについて判別する。内部メインメモリ42eのセーブデータ領域148(図10参照)にセーブデータが存在すれば、ステップS1でYESと判別され、処理はステップS3に移る。
ステップS3では、CPU40は、SDカード38からファイル情報を読み出す。そして、SDカード38が前回つまりセーブデータ作成時のものと同一であるか否かをステップS5で判別する。この判別は、SDカード38から読み出されたファイル情報と、セーブデータに含まれるファイル情報とを互いに照合することにより行われる。ステップS5でYESであれば、処理はステップS7およびS9を経てステップS15に進む。一方、ステップS1またはS5でNOであれば、処理はステップS11およびS13を経てステップS15に進む。
ステップS7では、CPU40は、送信リストおよびレイアウト情報をセーブデータで更新する。すなわち、図10に示す内部メインメモリ42eにおいて、セーブデータ領域148に格納されたセーブデータに含まれる送信リストおよびレイアウト情報が、送信リスト領域144およびレイアウト情報領域146にそれぞれ転送される。ステップS9では、CPU40は、更新後のレイアウト情報に基づいて、モニタ28に前回の編集画面(図13参照)を復元表示する。
一方、ステップS11では、CPU40は、送信リストおよびレイアウト情報をクリアする。すなわち、送信リスト領域144およびレイアウト情報領域146にそれぞれ格納された送信リストおよびレイアウト情報の各々が初期化される。ステップS13では、CPU40は、クリア後のレイアウト情報に基づいて、モニタ28に編集画面を初期表示する。
ステップS15では、CPU40は、送信スレッド(図17参照)を起動する。起動後、処理はステップS17に移る。なお、詳細は後述するが、こうして編集スレッドを通じてステップS15で起動された送信スレッドは、同じく編集スレッドを通じてステップS35またはS51で終了される。この期間、送信スレッドは、編集スレッドと並列に、換言すれば編集スレッドの待機時間を利用して、実行される。
図15を参照して、ステップS17では、CPU40は、SDカード38に未読込の画像があるか否かを判別する。ステップS17でNOであれば、処理はステップS21に進む一方、ステップS17でYESであれば、処理はステップS19を経てステップS21に進む。ステップS19では、CPU40は、未読込の画像を内部メインメモリ42eの画像領域142に読み込み、画像領域142に格納された画像を編集作業領域150に展開する。
ステップS21では、コントローラ14による編集操作に応じて編集処理を実行する。この編集処理の結果を受けて、レイアウト情報領域146のレイアウト情報が更新され、さらにモニタ28の編集画面も更新される。続くステップS23では、図13に示すような編集画面において、選択領域E1内のいずれかの画像が編集領域E2内に移動されたか否か(すなわち編集対象として選択されたか否か)を判別する。ステップS23でNOであれば、処理はステップS27に進む一方、ステップS23でYESであれば、処理はステップS25を経てステップS27に進む。
ステップS25では、CPU40は、編集対象として選択された画像に送信対象フラグをセットする。具体的には、図12に示す送信リストにおいて、該当する画像IDに割り当てられた送信フラグを“0”から“1”に更新する。ステップS27では、CPU40は、この編集スレッドを中断するか否かを判別する。ここでNOであれば、処理はステップS29に移る。ステップS29では、この編集スレッドを終了するか否かをさらに判別し、ここでもNOであれば、ステップS31で1フレーム期間が経過するまで待機する。待機後、処理はステップS17に戻る。
このように、ステップS17〜S31のループは、1フレーム周期で実行される。そして、ステップS19の画像読込&展開処理は、未読込画像が存在している期間だけ実行され、さらに、ステップS21の編集処理は、編集操作の頻度や種類によって負荷が変化するので、ステップS31での待機時間が変動する結果となる。
コントローラ14による中断操作が行われたり、ネットワーク124の通信状態が変化して画像送信が困難になったりすると、ステップS27でYESと判別され、処理はステップS33およびS35を経て終了される。すなわち、CPU40は、ステップS33でセーブデータの書き込みを行い、ステップS35で送信スレッドを停止させた後、この編集スレッドを終了する。
コントローラ14による終了操作が行われるか、あるいは編集操作の行われない状態が所定時間以上継続すると、ステップS29でYESと判別され、処理はステップS37に移る。
図16を参照して、ステップS37では、CPU40は、送信リストが空になったか否かを判別する。具体的には、送信リスト領域144に格納された送信リスト(図12参照)において、送信対象フラグがセットされた画像の中に送信済みフラグがセットされていないものが含まれていれば、送信リストはまだ空になっていない(NO)と判別し、送信対象フラグがセットされた画像の各々に送信済みフラグがセットされていれば、送信リストは空になった(YES)と判別する。
ステップS37でNOであれば、CPU40は、ステップS39で1フレーム期間が経過するまで待機する。その後、処理はステップS37に戻る。すなわち、ステップS37およびS39のループもまた、先述したステップS17〜S31のループと同様、1フレーム周期で実行されるが、ステップS39での待機時間は一定となる。
ステップS37でYESであれば、CPU40は、ステップS41でサーバ側に送信完了を通知して、ステップS43でサーバ側から画像IDの応答を受ける。ステップS45では、こうしてサーバ側から受け取った画像IDと、内部メインメモリ42eに格納された送信リスト(図12参照)とに基づいて、「送信済み」の各画像がサーバ側に存在するか否かを判別する。
具体的には、送信リストにおいて、送信済みフラグがセットされた画像IDの各々がサーバ側からの画像IDのいずれかと一致すれば、「送信済み」の各画像はサーバ側に存在する(YES)と判別する一方、送信済みフラグがセットされた画像IDの中にサーバ側からの画像IDのいずれとも一致しないものが1つでもあれば、「送信済み」の画像のうち少なくとも1つがサーバ側に存在しない(NO)と判別する。
ステップS45でNOであれば、処理はステップS47およびS49を経てステップS37に戻る。すなわち、CPU40は、ステップS47で送信再開をサーバ側に通知し、さらにステップS49で、「送信済み」の画像のうちサーバ側に存在しないもの、つまり「不存在」画像の送信済みフラグをリセットした後、ステップS37およびS39のループに戻り、送信スレッドの処理によって送信リストが再び空になるのを待つ。
一方、ステップS45でYESであれば、処理はステップS51〜S55を経て終了される。すなわち、CPU40は、ステップS51で送信スレッドを停止させ、ステップS53では、内部メインメモリ42eのレイアウト情報領域146に格納されたレイアウト情報をサーバ側に送信する。そして、ステップS55で図示しない注文スレッドを起動した後、この編集スレッドを終了する。
また、上述のサーバからの画像IDの受信による送信済みの確認は、セーブデータの読み出しによる続きからの編集の際にも行われるようにしてもよい。すなわち、セーブデータにおいて送信済みとされている画像の画像IDをサーバに問い合わせ、サーバから当該画像IDが全て返信されたときに続きからの編集を行うようにして、画像IDが足りない場合には続きからの処理を行わないようにしてもよい。そのようにすることで、中断後に長期間が経過するなどしてサーバから画像が削除される場合があったとしても、確認を行うことができ、間違いなく注文をすることができる。
図17を参照して、送信スレッドが起動されると、CPU40は、「未送信」の画像が送信リストにあるか否かをステップS61で判別する。具体的には、送信リスト(図12参照)において、送信対象フラグがセットされた画像IDの中に送信済みフラグがセットされていないものが1つでもあれば、「未送信」の画像がある(YES)と判別する一方、送信対象フラグがセットされた画像IDの各々に送信済みフラグがセットされていれば、「未送信」の画像は存在しない(NO)と判別する。
ステップS61の判別結果がNOであれば、CPU40は、これがYESとなるまで待機する。ステップS61の判別結果がYESであれば、処理はステップS63を経てステップS65〜S69のループに入る。すなわち、CPU40は、ステップS63で「未送信」の画像の1つを選択した後、ステップS65で編集スレッド(図14〜図16参照)が待機中であるか否かを判別する。ステップS65の判別結果がNOであれば、CPU40は、これがYESとなるまで待機する。ステップS65の判別結果がYESであれば、処理はステップS67に進む。ステップS67では、CPU40は、ステップS63で選択された画像を対象とする送信処理を実行する。次のテップS69では、CPU40は、この画像の送信が完了したか否かを判別し、ここでNOであれば、処理はステップS65に戻る。
ステップS69でYESであれば、処理はループを脱してステップS71に進む。ステップS71では、CPU40は、この画像に送信済みフラグをセットする。その後、処理はステップS61に戻る。
このように、クライアント側に「未送信」の画像があれば、その画像は、送信スレッドによって、編集スレッドの待機時間を利用してサーバ側に送信される。したがって、編集処理の周期性を乱すことなく、したがって編集操作の快適性を損なうことなく、バックグラウンドで画像送信処理を実行することができる。
一方、サーバ側つまりプリントサーバ122では、クライアント側で送信スレッドが起動されるのに応答して、図18に示す受信スレッドが起動される。図18を参照して、受信スレッドでは、最初、処理はステップS81およびS83のループに入る。すなわち、クライアント側からの画像(ステップS67参照)を受信したか否かがステップS81で判別され、ここでNOであれば、送信完了通知(ステップS41参照)の有無がステップS83でさらに判別される。ここでもNOであれば、処理はステップS81に戻る。
ステップS81でYESであれば、処理はステップS85を経てステップS81に戻る。ステップS85では、この画像がサーバ側に記憶される。ステップS83でYESであれば、処理はステップS87に進む。ステップS87では、各記憶画像のIDがクライアント側に返信される。
ID返信後、処理はステップS89およびS91のループに入る。すなわち、クライアント側からのレイアウト情報(ステップS53参照)を受信したか否かがステップS89で判別され、ここでNOであれば、送信再開通知(ステップS47参照)の有無がステップS91でさらに判別される。ここでもNOであれば、処理はステップS89に戻る。
ステップS89でYESであれば、処理はステップS93およびS95を経て終了される。ステップS93では、このレイアウト情報がサーバ側に記憶される。ステップS95では、図示しないプリントスレッドが起動され、これによりレイアウト情報に基づく画像のプリントが行われる。
ステップS91でYESであれば、「不存在」画像(ステップS49参照)を受信するべく、処理はステップS81およびS83のループに戻る。
なお、クライアントが複数の場合は、図18と同様の受信スレッドがクライアント毎に起動され、これら複数の受信スレッドが互いに並列に実行される。
以上から明らかなように、この実施例では、クライアント側つまりゲームシステム10のCPU40は、コントローラ14によるユーザの指示に基づいて少なくとも1つの画像の編集を行い(S21)、編集を行っている期間中に当該画像の画像データを無線通信モジュール50からネットワーク124に送信し(S61〜S71)、そして編集終了後に当該画像のレイアウトを示すレイアウト情報をさらに送信する(S53)。これにより、編集を行っている期間中に画像データの送信が進行するので、送信完了までの待ち時間が短縮される。
なお、以上では、ゲームシステム10について説明したが、この発明は、ユーザによる画像の編集に基づいて、画像データおよび画像のレイアウトをネットワークに送信する、画像送信装置に適用できる。ただし、レイアウトに代えて、またはこれに加えて、ユーザ操作に基づく注文情報(たとえばプリントサイズ,枚数,配送先など)を送信してもよい。また、画像データ等の送信先は、必ずしもネットワークである必要はなく、サーバ機能を有する単体のプリンタであってもよい。換言すれば、この発明は、所望の画像に対応する画像データと、当該画像データに基づくプリント処理を実行させるためのユーザ操作に基づく制御情報とを送信する、画像送信装置に適用できる。
この発明の一実施例であるゲームシステムの概要を示す外観図である。 ゲームシステムの電気的構成の一例を示すブロック図である。 (A)はゲームシステムで用いられるコントローラを後方上側から見た斜視図であり、(B)はゲームシステムで用いられるコントローラを前方下側から見た斜視図である。 コントローラの電気的構成の一例を示すブロック図である。 コントローラを用いてゲームをプレイするときの状態を示す図解図である。 ゲームシステムにおけるマーカおよびコントローラの視野角を示す図解図である。 マーカの画像(対象画像)を含む撮像画像の一例を示す図解図である。 ゲームシステムをクライアントとして含むプリントシステムの一例を示すブロック図である。 プリントシステムによるプリント処理の概要をクライアント側およびサーバ側についてそれぞれ示すシーケンス図である。 クライアント側の内部メインメモリのメモリマップの一例を示す図解図である。 (A)はプリントシステムに適用される画像ファイルの構成を示す図解図であり、(B)はプリントシステムに適用されるレイアウト情報の構成を示す図解図であり、(C)はプリントシステムに適用されるセーブデータの構成を示す図解図である。 プリントシステムに適用される送信リストの構成を示す図解図である。 クライアント側の編集画面の一例を示す図解図である。 クライアント側のCPU動作の一部を示すフロー図である。 クライアント側のCPU動作の他の一部を示すフロー図である。 クライアント側のCPU動作のその他の一部を示すフロー図である。 クライアント側のCPU動作のさらにその他の一部を示すフロー図である。 サーバ側のCPU動作の一部を示すフロー図である。
符号の説明
10 …ゲームシステム
12 …ゲーム装置
14 …コントローラ
28 …モニタ
38 …外部メモリカード(SDカード)
40 …CPU
42e …内部メインメモリ
120 …プリントシステム
122 …プリントサーバ
124 …ネットワーク
E1 …選択領域
E2 …編集領域

Claims (21)

  1. ユーザによる画像の編集に基づいて、画像データおよび画像のレイアウトをネットワークに送信する画像送信装置であって、
    ユーザの指示に基づいて、少なくとも1つの画像のレイアウトを編集する編集手段、
    前記編集を行っている期間中に、当該編集の対象となった画像の画像データを送信する画像データ送信手段、および
    前記編集の終了後に、編集した画像のレイアウトを示すレイアウト情報を送信するレイアウト情報送信手段を備える、画像送信装置。
  2. 画像データを記憶する画像データ記憶手段、および
    前記編集の対象となる画像をユーザに選択させる選択手段をさらに備え、
    前記画像データ送信手段は、画像データ記憶手段に記憶された画像データのうち、前記選択手段において選択された画像の画像データを送信する、請求項1記載の画像送信装置。
  3. 前記画像データ記憶手段に記憶されている画像データに関して送信すべき画像のリストを記憶する送信リスト記憶手段、および
    前記選択手段において画像が選択されるごとに、前記リストに選択された画像を追加する送信画像追加手段をさらに備え、
    前記画像データ送信手段は、前記編集を行っている期間中に、前記リストに含まれる画像の画像データを送信する、請求項2記載の画像送信装置。
  4. 前記レイアウト情報送信手段は、前記編集の終了後であって、かつ前記画像データの送信完了後に前記レイアウト情報を送信する、請求項1または2記載の画像送信装置。
  5. 前記編集を中断する場合に、編集中の画像のレイアウトと、前記画像データ記憶手段に記憶されている画像データに関して送信すべき画像のリストとを記憶する中断情報記憶手段、および
    前記中断情報記憶手段に記憶されたレイアウトに基づいて、前記編集を再開する編集再開手段をさらに備え、
    前記画像データ送信手段は、編集再開後、前記中断情報記憶手段に記憶されたリストに基づいて、送信すべき画像のうち未送信の画像データを送信する、請求項3記載の画像送信装置。
  6. ユーザが編集を行う編集領域と、編集の対象として選択可能な画像を配置した選択領域とを表示装置に表示させるインタフェース表示手段をさらに備え、
    前記選択手段は、前記選択領域内の画像をユーザに前記編集領域に配置させることで選択させる、請求項2記載の画像送信装置。
  7. 前記レイアウト情報には、画像データを識別する識別情報、画像の位置、画像のサイズが少なくとも含まれ、
    前記編集手段は、前記編集領域内で画像の配置をユーザに行わせることでレイアウトの編集を行わせる、請求項6記載の画像送信装置。
  8. 前記中断情報記憶手段は、編集中断時に前記画像データ記憶手段に記憶されている画像を識別する識別情報をさらに記憶し、
    編集再開時に前記画像データ記憶手段に記憶されている画像の識別情報と前記中断情報記憶手段に記憶された識別情報とを互いに比較することによって、編集再開時に前記画像データ記憶手段に記憶されている画像が中断時と同じであるか判定する判定手段をさらに備え、
    前記画像データ送信手段は、編集再開後、前記判定手段において中断時と同じであると判定された場合に、前記中断情報記憶手段に記憶されたリストに基づいて、送信すべき画像のうち未送信の画像データを送信する、請求項5記載の画像送信装置。
  9. 前記リストには各画像を識別する識別情報が登録され、
    前記画像データ送信手段は、各画像の画像データに当該画像の識別情報を付加して送信し、
    前記ネットワークには、前記画像データ送信手段からの画像データを受信して当該画像データに付加された識別情報を返信するサーバが設けられ、
    前記サーバから返信された識別情報を前記リストに登録された識別情報と照合して、前記サーバが各画像を受信したか否かを判別する判別手段をさらに備え、
    前記画像データ送信手段は、前記判別手段によって前記サーバが受信していないと判別された画像を再送する、請求項3記載の画像送信装置。
  10. ユーザによる画像の編集に基づいて、画像データおよび画像のレイアウトをネットワークに送信する画像送信装置のコンピュータを、
    ユーザの指示に基づいて、少なくとも1つの画像のレイアウトを編集する編集手段、
    前記編集を行っている期間中に、当該編集の対象となった画像の画像データを送信する画像データ送信手段、および
    前記編集の終了後に、編集した画像のレイアウトを示すレイアウト情報を送信するレイアウト情報送信手段として機能させる、画像送信プログラム。
  11. 前記コンピュータを、
    画像データを記憶する画像データ記憶手段、および
    前記編集の対象となる画像をユーザに選択させる選択手段としてさらに機能させ、
    前記画像データ送信手段は、画像データ記憶手段に記憶された画像データのうち、前記選択手段において選択された画像の画像データを送信する、請求項10記載の画像送信プログラム。
  12. 前記コンピュータを、
    前記編集の対象となった画像のリストを記憶する送信リスト記憶手段、および
    前記選択手段において画像が選択されるごとに、前記リストに選択された画像を追加する送信画像追加手段としてさらに機能させ、
    前記画像データ送信手段は、前記編集を行っている期間中に、前記リストに含まれる画像の画像データを送信する、請求項11記載の画像送信プログラム。
  13. 前記レイアウト情報送信手段は、前記編集の終了後であって、かつ前記画像データの送信完了後に前記レイアウト情報を送信する、請求項10または11記載の画像送信プログラム。
  14. 前記コンピュータを、
    前記編集を中断する場合に、編集中の画像のレイアウトと、前記送信すべき画像のリストとを記憶する中断情報記憶手段、および
    前記中断情報記憶手段に記憶された情報に基づいて、前記編集を再開する編集再開手段としてさらに機能させ、
    前記画像データ送信手段は、編集再開後、送信すべき画像のうち未送信の画像データを送信する、請求項12記載の画像送信プログラム。
  15. 前記コンピュータを、ユーザが編集を行う編集領域と、編集の対象として選択可能な画像を配置した選択領域とを表示装置に表示させるインタフェース表示手段としてさらに機能させ、
    前記選択手段は、前記選択領域内の画像をユーザに前記編集領域に配置させることで選択させる、請求項11記載の画像送信プログラム。
  16. 前記レイアウト情報には、画像データを識別する識別情報、画像の位置、画像のサイズが少なくとも含まれ、
    前記編集手段は、前記編集領域内で画像の配置をユーザに行わせることでレイアウトの編集を行わせる、請求項15記載の画像送信プログラム。
  17. 前記中断情報記憶手段は、前記画像データ記憶手段に記憶されている画像を識別する識別情報をさらに記憶し、
    前記コンピュータを、編集再開時に前記画像データ記憶手段に記憶されている画像の識別情報と前記中断情報記憶手段に記憶された識別情報とを互いに比較することによって、編集再開時に前記画像データ記憶手段に記憶されている画像が中断時と同じであるか判定する判定手段としてさらに機能させ、
    前記画像データ送信手段は、編集再開後、前記判定手段において中断時と同じであると判定された場合に、送信すべき画像のうち未送信の画像データを送信する、請求項14記載の画像送信プログラム。
  18. 前記リストには各画像を識別する識別情報が登録され、
    前記画像データ送信手段は、各画像の画像データに当該画像の識別情報を付加して送信し、
    前記ネットワークには、前記画像データ送信手段からの画像データを受信して当該画像データに付加された識別情報を返信するサーバが設けられ、
    前記コンピュータを、前記サーバから返信された識別情報を前記リストに登録された識別情報と照合して、前記サーバが各画像を受信したか否かを判別する判別手段としてさらに機能させ、
    前記画像データ送信手段は、前記判別手段によって前記サーバが受信していないと判別された画像を再送する、請求項12記載の画像送信プログラム。
  19. 所望の画像に対応する画像データと当該画像データに基づくプリント処理を実行させるためのユーザ操作に基づく制御情報とを送信する画像送信装置であって、
    前記制御情報を更新操作に応じて更新する更新処理を繰り返し実行する第1更新手段、
    前記画像データを送信する送信処理を前記第1更新手段による更新処理と並列に実行する第1送信手段、および
    前記制御情報を送信する送信処理を前記第1更新手段による更新処理の終了後に実行する第2送信手段を備える、画像送信装置。
  20. 前記第1送信手段は、前記所望の画像の少なくとも一部を特定する特定操作に応じて送信処理を開始する、請求項19記載の画像送信装置。
  21. 前記所望の画像のうち未送信画像の識別子を登録したリストを前記第1送信手段による送信処理の進行に従って更新する第2更新手段、および
    前記制御情報および前記リストを中断操作に応じてセーブするセーブ手段をさらに備え、
    前記第1更新手段および前記第1送信手段はそれぞれ、再開操作に応じて、前記制御情報および前記リストを前記セーブ手段によってセーブされた制御情報およびリストで更新した後に、更新処理および送信処理を再開する、請求項19または20記載の画像送信装置。
JP2008141908A 2008-05-30 2008-05-30 画像送信装置および画像送信プログラム Active JP5084613B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008141908A JP5084613B2 (ja) 2008-05-30 2008-05-30 画像送信装置および画像送信プログラム
US12/219,931 US8160403B2 (en) 2008-05-30 2008-07-30 Image transmitting apparatus and image transmitting program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008141908A JP5084613B2 (ja) 2008-05-30 2008-05-30 画像送信装置および画像送信プログラム

Publications (2)

Publication Number Publication Date
JP2009289097A JP2009289097A (ja) 2009-12-10
JP5084613B2 true JP5084613B2 (ja) 2012-11-28

Family

ID=41379913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008141908A Active JP5084613B2 (ja) 2008-05-30 2008-05-30 画像送信装置および画像送信プログラム

Country Status (2)

Country Link
US (1) US8160403B2 (ja)
JP (1) JP5084613B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101081422B1 (ko) * 2009-05-18 2011-11-08 (주)블루홀스튜디오 게임이미지 제작 및 복원을 위한 제작기 및 기록매체와, 게임이미지 공유 서비스를 제공하기 위한 방법
US8621457B2 (en) * 2009-11-12 2013-12-31 Nintendo Co., Ltd. System and method for installing software applications
KR20120077161A (ko) * 2010-12-30 2012-07-10 삼성전기주식회사 표시 정보를 통신하는 통신 시스템, 방법 및 이를 적용한 전자 선반 레이블 시스템
CN105447006B (zh) * 2014-08-08 2019-08-16 阿里巴巴集团控股有限公司 一种图片选择方法及其装置
CN111744199B (zh) * 2020-06-28 2024-05-10 网易(杭州)网络有限公司 图像处理方法及装置、计算机可读存储介质、电子设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2679353B1 (fr) * 1991-07-17 1997-01-03 Bull Sa Procede de mise en page de documents structures.
US5757379A (en) * 1994-09-13 1998-05-26 Fuji Xerox Co., Ltd. Image communicating apparatus providing proper display of received images with facilitated user control
US6164973A (en) * 1995-01-20 2000-12-26 Vincent J. Macri Processing system method to provide users with user controllable image for use in interactive simulated physical movements
US6665841B1 (en) * 1997-11-14 2003-12-16 Xerox Corporation Transmission of subsets of layout objects at different resolutions
AU2002233991A1 (en) * 2000-12-06 2002-06-18 American Express Travel Related Services Company, Inc. Layout generator system and method
JP3916124B2 (ja) * 2001-02-15 2007-05-16 インターナショナル・ビジネス・マシーンズ・コーポレーション デジタル文書閲覧システム、ブラウザ、デジタル文書表示方法、プログラム及び記憶媒体
JP4448623B2 (ja) * 2001-03-29 2010-04-14 セイコーエプソン株式会社 デジタルコンテンツ提供システム,デジタルコンテンツ提供方法,サーバ装置及びデジタルコンテンツ提供プログラム
JP3561511B2 (ja) * 2002-05-14 2004-09-02 株式会社スクウェア・エニックス ネットワークゲームシステム、ゲームサーバ装置、ネットワークゲームの進行方法、プログラム及び記録媒体
JP2004303054A (ja) 2003-03-31 2004-10-28 Matsushita Electric Ind Co Ltd デジタル写真印刷サービスシステム及びそのサーバ装置並びに携帯情報端末
JP4700940B2 (ja) * 2004-08-27 2011-06-15 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
JP2006244221A (ja) * 2005-03-04 2006-09-14 Konica Minolta Photo Imaging Inc 画像処理方法、画像処理装置及び画像処理プログラム
JP2008117308A (ja) * 2006-11-07 2008-05-22 Lab At Site Ltd 通信ネットワークを利用した画像レイアウトシステム

Also Published As

Publication number Publication date
US20090297066A1 (en) 2009-12-03
US8160403B2 (en) 2012-04-17
JP2009289097A (ja) 2009-12-10

Similar Documents

Publication Publication Date Title
JP5362952B2 (ja) ゲーム装置、ゲームプログラム、ゲームシステムおよびゲーム制御方法
JP5449859B2 (ja) ゲームプログラム,ゲーム装置およびゲームシステム
US10391407B2 (en) Game apparatus and storage medium storing a game program for conducting data communications with a network
JP5255789B2 (ja) 画像処理プログラムおよび画像処理装置
JP5689574B2 (ja) ゲーム装置、ゲームプログラム、ゲームシステムおよびゲーム制御方法
US8690673B2 (en) Game apparatus, storage medium, game controlling method and game system
JP5084613B2 (ja) 画像送信装置および画像送信プログラム
JP2008197931A (ja) アンケート回答プログラムおよびアンケート回答システム
JP5379385B2 (ja) 番組情報表示プログラムおよび番組情報表示装置
US8350830B2 (en) Input device and information processing system
JP2010246813A (ja) 情報処理プログラムおよび情報処理装置
JP5117036B2 (ja) ゲーム装置およびゲームプログラム
US8292738B2 (en) Information processing system and attachment device
JP2009089851A (ja) ゲームプログラムおよびゲーム装置
JP5758202B2 (ja) 画像処理プログラム、画像処理装置、画像処理方法および画像処理システム
US20100240460A1 (en) Storage medium storing game program, game apparatus and game controlling method
JP2018029979A (ja) 送受信システムおよび送受信方法
JP5677474B2 (ja) ゲーム装置、ゲームプログラム、ゲームシステムおよびゲーム制御方法
JP2008125621A (ja) ゲーム装置およびゲームプログラム
US20090149252A1 (en) Storage medium storing a video reproduction controlling program, video reproduction controlling apparatus and video reproduction controlling method
JP6029643B2 (ja) ゲーム装置、ゲームシステムおよび制御方法
JP5947780B2 (ja) ゲーム装置、自動返信プログラム、ゲームシステムおよび自動返信方法
JP2016034513A (ja) 送受信装置、送受信プログラム、送受信システムおよび送受信方法
JP2016034512A (ja) 送受信装置、送受信プログラム、送受信システムおよび送受信方法
JP2011156260A (ja) ゲームシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110427

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120601

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120904

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120904

R150 Certificate of patent or registration of utility model

Ref document number: 5084613

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150914

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250