[go: up one dir, main page]

JP5525923B2 - 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法 - Google Patents

画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法 Download PDF

Info

Publication number
JP5525923B2
JP5525923B2 JP2010132399A JP2010132399A JP5525923B2 JP 5525923 B2 JP5525923 B2 JP 5525923B2 JP 2010132399 A JP2010132399 A JP 2010132399A JP 2010132399 A JP2010132399 A JP 2010132399A JP 5525923 B2 JP5525923 B2 JP 5525923B2
Authority
JP
Japan
Prior art keywords
image
feature point
input
unit
feature
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
JP2010132399A
Other languages
English (en)
Other versions
JP2011259243A (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 JP2010132399A priority Critical patent/JP5525923B2/ja
Priority to US12/980,620 priority patent/US9101832B2/en
Priority to EP20100197331 priority patent/EP2394714A1/en
Publication of JP2011259243A publication Critical patent/JP2011259243A/ja
Application granted granted Critical
Publication of JP5525923B2 publication Critical patent/JP5525923B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/426Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving on-screen location information, e.g. screen coordinates of an area at which the player is aiming with a light gun
    • 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/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • 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/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/214Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
    • A63F13/2145Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
    • 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/65Generating 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 automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • A63F13/655Generating 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 automatically by game devices or servers from real world data, e.g. measurement in live racing competition by importing photos, e.g. of 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
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/92Video game devices specially adapted to be hand-held while playing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • 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/25Output arrangements for video game devices
    • A63F13/26Output arrangements for video game devices having at least one additional display device, e.g. on the game controller or outside a game booth
    • 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/10Features 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 input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1068Features 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 input arrangements for converting player-generated signals into game device control signals being specially adapted to detect the point of contact of the player on a surface, e.g. floor mat, touch pad
    • A63F2300/1075Features 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 input arrangements for converting player-generated signals into game device control signals being specially adapted to detect the point of contact of the player on a surface, e.g. floor mat, touch pad using a touch screen
    • 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/10Features 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 input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features 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 input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • A63F2300/1093Features 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 input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera using visible light
    • 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/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/204Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform the platform being a handheld device
    • 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
    • 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/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • 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/69Involving elements of the real world in the game world, e.g. measurement in live races, real video
    • A63F2300/695Imported photos, e.g. of 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/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8094Unusual game types, e.g. virtual cooking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

本発明は、画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法に関し、より具体的には、ユーザ入力に応じた画像を合成する画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法に関する。
従来、表示装置に表示された画像に、ユーザが好む装飾を施す装置が各種提案されている(例えば、特許文献1参照)。上記特許文献1で開示された画像プリント作成装置は、ユーザが撮影画像に化粧処理を施すことができる。具体的には、上記画像プリント作成装置は、様々なメイクツール(例えば、異なる色の口紅、ファンデーションなど)を有するメイクパレットが用意されている。そして、ユーザは、モニタに表示された撮影画像に対して、メイクパレット中の任意のメイクツールを使用してモニタ上でタッチペンを用いて化粧を行うことができる。
特開2000−69404号公報
しかしながら、上記特許文献1で開示された画像プリント作成装置は、当該装置で撮影されたユーザの静止画像に対して、ユーザが直接化粧を施すような画像処理が行われる。したがって、ユーザは、ユーザ自身が静止画像を直接タッチするような操作で化粧を施すことによって、化粧が施された当該静止画像を見て楽しむことができても、ユーザの楽しむことができる画像は、化粧を施した静止画像だけであり一時的なものとなる。
それ故に、本発明の目的は、ユーザ入力を行う際に用いた画像とは別の画像に対して、当該ユーザ入力に応じた画像を反映することが可能な画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法を提供することである。
上記目的を達成するために、本発明は、以下に述べるような特徴を有している。
本発明の画像処理プログラムは、表示装置に画像を表示する画像処理装置のコンピュータで実行される。画像処理プログラムは、第1画像取得手段、第1特徴点抽出手段、第2画像表示制御手段、座標入力取得手段、入力位置データ生成手段、第1画像合成手段、および第1画像表示制御手段として、コンピュータを機能させる。第1画像取得手段は、第1画像を取得する。第1特徴点抽出手段は、第1画像に対して第1の特徴を有する特徴点である第1特徴点を少なくとも抽出する。第2画像表示制御手段は、第2画像を表示装置に表示する。座標入力取得手段は、表示装置に表示された第2画像に対して座標入力されたデータを取得する。入力位置データ生成手段は、座標入力取得手段が取得したデータを用いて、第2画像に対して座標入力された位置を示す入力位置データを生成する。第1画像合成手段は、第2画像における第1の特徴を有する特徴点である第2特徴点を基準とした入力位置データが示す位置に対応する第1特徴点を基準とした第1画像上の位置に、所定の合成画像を合成する。第1画像表示制御手段は、第1画像合成手段が合成した第1画像を表示装置に表示する。なお、表示装置に表示される第1画像と第2画像とは、一時的に同じ画像であってもいいし、常に異なる画像であってもかまわない。
上記によれば、ユーザ入力に応じた画像を、ユーザ入力を行う際に用いた画像とは別の画像に対して、当該ユーザ入力に応じた画像を反映することが可能となる。
また、上記画像処理プログラムは、第2画像合成手段として、さらにコンピュータを機能させてもよい。第2画像合成手段は、入力位置データに基づいて、座標入力を示す入力画像を第2画像上に合成する。この場合、第2画像表示制御手段は、第2画像合成手段が合成した第2画像を表示装置に表示てもよい。第1画像合成手段は、第2画像における第2特徴点を基準とした入力画像の位置に対応する第1特徴点を基準とした第1画像上の位置に、合成画像を合成してもよい。
上記によれば、ユーザ入力を行う際に用いた画像および別の画像に対して、当該ユーザ入力に応じた画像をそれぞれ反映することが可能となる。
また、上記第1画像合成手段は、第2画像における第2特徴点を基準とした入力画像の位置に対応する第1特徴点を基準とした第1画像上の位置に、当該入力画像に基づいた画像を合成画像として合成してもよい。
上記によれば、第2画像上に入力した入力画像に基づいた画像が第1画像にも合成される。したがって、第1画像にユーザが画像を入力したかのような操作感覚を実現することが可能となる。
また、上記画像処理プログラムは、第2画像取得手段および第2特徴点抽出手段として、さらにコンピュータを機能させてもよい。第2画像取得手段は、第2画像を取得する。第2特徴点抽出手段は、第2画像取得手段が取得した第2画像から第1の特徴を有する第2特徴点を抽出する。
上記によれば、新たに取得した第2画像を、ユーザが座標入力するための画像として用いることができる。
また、上記第1画像取得手段は、動画像を第1画像として取得してもよい。上記第1特徴点抽出手段は、第1画像取得手段が取得した動画像に含まれるフレーム画像に対して第1特徴点を抽出してもよい。上記第1画像合成手段は、第2画像における第2特徴点を基準とした入力位置データが示す位置に対応する第1特徴点を基準とした動画像に含まれるフレーム画像上の位置に、合成画像を合成してもよい。なお、上記第1画像合成手段は、第1特徴点抽出手段が抽出対象にしたフレーム画像に合成画像を合成してもよいし、その後のフレーム画像(抽出対象にしたフレーム画像とは異なるフレーム画像)に合成画像を合成してもよい。前者の場合、上記第1画像合成手段は、抽出対象にしたフレーム画像おける第1特徴点の位置を基準とする位置に合成画像を合成する。後者の場合、上記第1画像合成手段は、抽出対象にしたフレーム画像における第1特徴点の位置に対応する合成対象のフレーム画像の同じ位置を基準とする位置に合成画像を合成する。
上記によれば、ユーザ入力を行う際に用いた画像とは別の動画像に対して、当該ユーザ入力に応じた画像を反映することが可能となる。
また、上記第2画像表示制御手段は、静止画像を第2画像として表示装置に表示してもよい。上記座標入力取得手段は、表示装置に表示された静止画像に対して座標入力されたデータを取得してもよい。上記入力位置データ生成手段は、座標入力取得手段が取得したデータを用いて、静止画像に対して座標入力された位置を示す入力位置データを生成してもよい。
上記によれば、静止画像をユーザが座標入力するための画像として用いることができるため、ユーザが第2画像に対して所望する位置を入力することが容易となる。
また、上記第1特徴点抽出手段は、第1画像取得手段が取得した動画像に含まれるフレーム画像それぞれに対して第1特徴点を抽出してもよい。上記第1画像合成手段は、第2画像における第2特徴点を基準とした入力位置データが示す位置に対応する第1特徴点を基準とした動画像に含まれるそれぞれのフレーム画像上の位置に、合成画像をそれぞれ合成してもよい。
上記によれば、1つの画像だけでなく動画像に含まれるフレーム画像それぞれに対して、当該ユーザ入力に応じた画像を反映することが可能となる。
また、上記入力位置データ生成手段は、入力位置データ更新手段を含んでいてもよい。入力位置データ更新手段は、座標入力取得手段が座標入力を取得する毎に、入力位置データを逐次更新する。この場合、上記第1画像合成手段は、入力位置データ更新手段が更新した最新の入力位置データが示す位置に対応する第1特徴点を基準としたフレーム画像上の位置に、合成画像を合成してもよい。
上記によれば、ユーザ入力を行う際に用いた画像とは別の画像に対して、最新のユーザ入力に応じた画像を反映することが可能となる。
また、上記画像処理プログラムは、フレーム画像記憶制御手段として、さらにコンピュータを機能させてもよい。フレーム画像記憶制御手段は、第1画像取得手段が取得した動画像に含まれるフレーム画像を、記憶装置に一時的に記憶させる。上記第1画像合成手段は、第1画像取得手段が取得したフレーム画像から第1特徴点抽出手段が第1特徴点を抽出した場合、当該抽出の対象になったフレーム画像を記憶装置から読み出して当該第1特徴点を基準とした当該フレーム画像上の位置に合成画像を合成してもよい。
上記によれば、第1画像から第1特徴点を抽出する処理に時間を要する場合であっても、当該第1画像にユーザ入力に応じた画像を反映することが可能となる。
また、上記第1特徴点抽出手段は、第1画像に対して第1特徴点および第2の特徴を有する特徴点である第3特徴点を少なくとも抽出してもよい。第1画像合成手段は、第2画像における第2特徴点および第2の特徴を有する特徴点である第4特徴点を基準とした入力位置データが示す位置に対応する第1特徴点および第3特徴点を基準とした第1画像上の位置に、合成画像を合成してもよい。
上記によれば、複数の特徴点を用いることによって、第2画像に対して座標入力された位置に対応する第1画像の位置を特定の位置に決定することができ、ユーザが座標入力した位置に対応する位置に合成画像を表示することができる。
また、上記第1画像合成手段は、第2画像における第2特徴点と第4特徴点との間の距離と、第1画像における第1特徴点と第3特徴点との間の距離との関係に応じて、入力位置データが示す位置に対応する合成画像の大きさを設定して当該合成画像を第1画像上に合成してもよい。
上記によれば、例えば第2画像に含まれる所定の物の表示サイズと第1画像に含まれる当該物の表示サイズとが、相対的に異なる場合、当該表示サイズの違いに応じた大きさで合成画像を表示することができる。
また、上記第1画像合成手段は、第1画像における第1特徴点および第3特徴点と合成画像との相対的な位置関係が、第2画像における第2特徴点および第4特徴点と入力位置データが示す位置との相対的な位置関係と同じになるように、第1画像上に合成する合成画像の位置および向きを決定してもよい。
上記によれば、例えば第2画像に含まれる所定の物の表示方向と第1画像に含まれる当該物の表示方向とが、相対的に異なる場合、当該表示方向の違いが反映された方向に合成画像を合成して表示することができる。
また、上記第1画像合成手段は、画像抽出手段および抽出画像合成手段を含んでいてもよい。画像抽出手段は、第2画像において、第2特徴点を基準として決定される領域内の入力画像を抽出する。抽出画像合成手段は、第1画像において、第1特徴点を基準として、画像抽出手段によって抽出された画像を合成画像として第1画像に合成する。
上記によれば、入力画像をコピーすることによって容易に合成画像を生成することができる。
また、上記画像抽出手段は、第2画像に対してそれぞれ固有の特徴を有する3以上の特徴点によって囲まれる領域内の入力画像を抽出してもよい。第1特徴点抽出手段は、3以上に特徴点にそれぞれ対応する固有の特徴を有する3以上の特徴点を第1画像に対して抽出してもよい。抽出画像合成手段は、第1画像において、第1特徴点抽出手段が抽出した3以上の特徴点によって囲まれる領域に、画像抽出手段によって抽出された入力画像を合成してもよい。
上記によれば、領域内に属する入力画像を、当該領域に対応する第1画像の領域にコピーすることによって合成画像を生成することができる。
また、上記第1画像合成手段は、テクスチャ生成手段を含んでいてもよい。テクスチャ生成手段は、第2画像上に合成された入力画像を示すテクスチャを生成する。この場合、上記第1画像合成手段は、第2画像における第2特徴点を基準としてテクスチャに対する所定のポリゴンのテクスチャ座標を設定して、当該ポリゴンにテクスチャをマッピングし、第1画像における第1特徴点を基準として当該ポリゴンを第1画像上に配置することによって、合成画像を第1画像に合成してもよい。
上記によれば、ポリゴンに入力画像のテクスチャをマッピングすることによって、合成画像を生成することができる。
また、上記第1画像および第2画像は、人物の顔を示す顔画像を含む画像であってもよい。第1特徴点抽出手段は、第1画像取得手段が取得した第1画像に対して顔認識処理を行って識別された顔画像において第1の特徴を有する点を第1特徴点として抽出してもよい。第1画像合成手段は、第2画像に含まれる顔画像において第1の特徴を有する点を第2特徴点として、合成画像を合成してもよい。
また、上記第1画像および第2画像は、人物の顔を示す顔画像を含む画像であってもよい。第2特徴点抽出手段は、第2画像取得手段が取得した第2画像に対して顔認識処理を行って識別された顔画像において第1の特徴を有する点を第2特徴点として抽出してもよい。第1特徴点抽出手段は、第1画像取得手段が取得した第1画像に対して顔認識処理を行って識別された顔画像において第1の特徴を有する点を第1特徴点として抽出してもよい。
上記によれば、画像から識別された顔画像上にユーザ入力に応じた合成画像を合成して、第1画像を表示することができる。
また、上記第1画像取得手段は、画像処理装置が利用可能な実カメラによってリアルタイムに撮像された実世界の動画像を第1画像として取得してもよい。
上記によれば、実カメラによってリアルタイムに撮像された実世界の動画像にユーザ入力に応じた合成画像を合成して表示することができる。
また、上記画像処理プログラムは、第2画像取得手段および第2特徴点抽出手段として、さらにコンピュータを機能させてもよい。第2画像取得手段は、第2画像を取得する。第2特徴点抽出手段は、第2画像取得手段が取得した第2画像に対して所定の物を認識する処理を行って識別された物を示す画像内に対してそれぞれ固有の特徴を有する複数の特徴点を抽出し、さらに当該特徴点から当該物を示す画像外へ放射状に設けられる複数の域外点を抽出する。この場合、第1特徴点抽出手段は、第1画像取得手段が取得した第1画像に対して物を認識する処理を行って識別された物を示す画像内に対して、第2特徴点抽出手段が抽出する複数の特徴点にそれぞれ対応する固有の特徴を有する複数の特徴点を抽出し、第2特徴点抽出手段が抽出する複数の域外点にそれぞれ対応してさらに当該特徴点から当該物を示す画像外へ放射状に設けられる複数の域外点を抽出してもよい。また、第1画像合成手段は、画像抽出手段および抽出画像合成手段とを含んでもよい。画像抽出手段は、第2画像において、第2特徴点抽出手段が設定した3つ以上の特徴点および/または域外点で囲まれる領域内の入力画像を抽出する。抽出画像合成手段は、第1画像において、入力画像が抽出された領域に対応する3つ以上の特徴点および/または域外点で囲まれる領域に、画像抽出手段によって抽出された入力画像を合成画像として合成する。
上記によれば、第1画像および第2画像から所定の物を認識し、当該物にユーザ入力に応じた合成画像を合成して表示する場合、当該物の域外へのユーザ入力に対しても合成画像を生成して表示することができる。
また、上記表示装置は、少なくとも第1の表示画面および第2の表示画面を有していてもよい。この場合、上記第2画像表示制御手段は、第2画像を第2の表示画面に表示してもよい。上記第1画像表示制御手段は、第1画像合成手段が合成した第1画像を第1の表示画面に表示してもよい。
上記によれば、第1の表示画面および第2の表示画面に、それぞれ第1画像および第2画像を同時に表示することができる。
また、上記表示装置は、第2の表示画面を覆うタッチパネルを有していてもよい。この場合、上記座標入力取得手段は、タッチパネルに対するタッチ位置を示すデータを座標入力されたデータとして取得してもよい。上記入力位置データ生成手段は、タッチ位置と重なる第2画像上の位置を示すデータを入力位置データとして生成してもよい。
上記によれば、タッチ入力に応じた合成画像を第1画像に合成して表示することができる。
また、上記第1の表示画面は、左目用画像および右目用画像を用いて立体視可能な画像が表示可能であってもよい。この場合、上記第1画像取得手段は、左目用画像および右目用画像を含む立体視可能な画像を第1画像として取得してもよい。上記第1特徴点抽出手段は、第1画像における左目用画像および右目用画像に対して第1特徴点をそれぞれ抽出してもよい。上記第1画像合成手段は、第2画像における第2特徴点を基準とした入力位置データが示す位置に対応する第1特徴点を基準とした第1画像における左目用画像上の位置および右目用画像上の位置に、それぞれ合成画像を合成してもよい。上記第1画像表示制御手段は、第1画像合成手段が合成した第1画像における左目用画像および右目用画像を用いて立体視可能な画像を第1の表示画面に表示してもよい。
上記によれば、立体視可能な画像にユーザ入力に応じた合成画像を合成して表示することができる。
また、本発明は、上記各手段を備える画像処理装置および画像処理システムや上記各手段で行われる動作を含む画像処理方法の形態で実施されてもよい。
また、上記画像処理システムは、少なくとも第1の装置と第2の装置とが通信可能に構成されていてもよい。この場合、第1の装置は、第2画像表示制御手段、座標入力取得手段、入力位置データ生成手段、第2画像合成手段、およびデータ送信手段を備えていてもよい。第2画像合成手段は、入力位置データに基づいて、座標入力を示す入力画像を第2画像上に合成する。データ送信手段は、入力画像に関するデータを第2の装置に送信する。この場合、上記第2画像表示制御手段は、第2画像合成手段が合成した第2画像を第1の装置が利用可能な表示装置に表示してもよい。また、第2の装置は、データ受信手段、第1画像取得手段、第1特徴点抽出手段、第1画像合成手段、および第1画像表示制御手段を備えていてもよい。データ受信手段は、第1の装置から入力画像に関するデータを受信する。この場合、上記第1画像合成手段は、データ受信手段が受信した入力画像に関するデータに基づいて、第2画像における第2特徴点を基準とした当該入力画像の位置に対応する第1特徴点を基準とした第1画像上の位置に、当該入力画像に基づいた画像を合成画像として合成してもよい。上記第1画像表示制御手段は、第1画像合成手段が合成した第1画像を第2の装置が利用可能な表示装置に表示してもよい。
上記によれば、入力画像に関するデータを送受信することによって、他のユーザの入力に応じた合成画像を第1画像に合成して表示することができる。
本発明によれば、ユーザ入力を行う際に用いた画像とは別の画像に対して、当該ユーザ入力に応じた画像を反映することが可能となる。
開いた状態におけるゲーム装置10の一例を示す正面図 開いた状態におけるゲーム装置10の一例を示す側面図 閉じた状態におけるゲーム装置10の一例を示す左側面図 閉じた状態におけるゲーム装置10の一例を示す正面図 閉じた状態におけるゲーム装置10の一例を示す右側面図 閉じた状態におけるゲーム装置10の一例を示す背面図 ユーザがゲーム装置10を両手で把持する様子の一例を示す図 ユーザがゲーム装置10を片手で把持する様子の一例を示す図 ゲーム装置10の内部構成の一例を示すブロック図 タッチパネル13を介して手書き入力をすることによって上側LCD22に表示されたカメラ画像に当該手書き入力に応じた手書き画像HIが表示されるまでの各処理段階の一例を示す図 タッチパネル13を介して手書き入力をすることによって上側LCD22に表示されたカメラ画像に当該手書き入力に応じた手書き画像HIが表示されるまでの各処理段階の一例を示す図 タッチパネル13を介して手書き入力をすることによって上側LCD22に表示されたカメラ画像に当該手書き入力に応じた手書き画像HIが表示されるまでの各処理段階の一例を示す図 タッチパネル13を介して手書き入力をすることによって上側LCD22に表示されたカメラ画像に当該手書き入力に応じた手書き画像HIが表示されるまでの各処理段階の一例を示す図 顔認識処理によって識別された顔の特徴点に基づいて複数のポリゴンPGが生成される一例を示す図 顔認識処理によって識別された顔の特徴点に基づいて複数のポリゴンPGが生成される一例を示す図 画像処理プログラムを実行することに応じて、メインメモリ32に記憶される各種データの一例を示す図 画像処理プログラムを実行することによってゲーム装置10が画像処理する動作の一例を示す前半部分のフローチャート 画像処理プログラムを実行することによってゲーム装置10が画像処理する動作の一例を示す後半部分のフローチャート 図14のステップ71で行われる手書き画像描画処理の詳細な動作の一例を示すサブルーチン 人物の顔の輪郭外にポリゴンPGが設けた一例を示す図 タッチ入力に応じた位置に沿って、所定のマークを並べて手書き画像HIを生成した一例を示す図 タッチ入力に応じた位置に沿って、所定のマークを並べて手書き画像HIを生成した一例を示す図
図面を参照して、本発明の一実施形態に係る画像処理プログラムを実行する画像処理装置について説明する。本発明の画像処理プログラムは、任意のコンピュータシステムで実行されることによって適用することができるが、画像処理装置の一例として携帯型のゲーム装置10を用い、ゲーム装置10で実行される画像処理プログラムを用いて説明する。なお、図1〜図3Dは、ゲーム装置10の外観の一例を示す平面図である。ゲーム装置10は、一例として携帯型のゲーム装置であり、図1〜図3Dに示すように折り畳み可能に構成されている。図1は、開いた状態(開状態)におけるゲーム装置10の一例を示す正面図である。図2は、開状態におけるゲーム装置10の一例を示す右側面図である。図3Aは、閉じた状態(閉状態)におけるゲーム装置10の一例を示す左側面図である。図3Bは、閉状態におけるゲーム装置10の一例を示す正面図である。図3Cは、閉状態におけるゲーム装置10の一例を示す右側面図である。図3Dは、閉状態におけるゲーム装置10の一例を示す背面図である。ゲーム装置10は、撮像部を内蔵しており、当該撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置10は、交換可能なメモリカード内に記憶され、または、サーバや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像等のコンピュータグラフィックス処理により生成された画像を画面に表示することもできる。
図1〜図3Dにおいて、ゲーム装置10は、下側ハウジング11および上側ハウジング21を有する。下側ハウジング11と上側ハウジング21とは、開閉可能(折り畳み可能)に連結されている。図1の例では、下側ハウジング11および上側ハウジング21は、それぞれ横長の長方形の板状で形成され、互いの長辺部分で回動可能に連結されている。通常、ユーザは、開状態でゲーム装置10を使用する。そして、ユーザは、ゲーム装置10を使用しない場合には閉状態としてゲーム装置10を保管する。また、ゲーム装置10は、上記閉状態および開状態のみでなく、下側ハウジング11と上側ハウジング21とのなす角度が閉状態と開状態との間の任意の角度において、連結部分に発生する摩擦力などによってその開閉角度を維持することができる。つまり、上側ハウジング21を下側ハウジング11に対して任意の角度で静止させることができる。
図1および図2に示されるように、下側ハウジング11の上側長辺部分には、下側ハウジング11の内側面(主面)11Bに対して垂直な方向に突起する突起部11Aが設けられる。また、上側ハウジング21の下側長辺部分には、上側ハウジング21の下側面から当該下側面に垂直な方向に突起する突起部21Aが設けられる。下側ハウジング11の突起部11Aと上側ハウジング21の突起部21Aとが連結されることにより、下側ハウジング11と上側ハウジング21とが、折り畳み可能に接続される。
下側ハウジング11には、下側LCD(Liquid Crystal Display:液晶表示装置)12、タッチパネル13、各操作ボタン14A〜14L(図1、図3A〜図3D)、アナログスティック15、LED16A〜16B、挿入口17、および、マイクロフォン用孔18が設けられる。以下、これらの詳細について説明する。
図1に示すように、下側LCD12は下側ハウジング11に収納される。下側LCD12は横長形状であり、長辺方向が下側ハウジング11の長辺方向に一致するように配置される。下側LCD12は、下側ハウジング11の中央に配置される。下側LCD12は、下側ハウジング11の内側面(主面)に設けられ、下側ハウジング11の内側面に設けられた開口部から下側LCD12の画面が露出する。そして、ゲーム装置10を使用しない場合には上記閉状態としておくことによって、下側LCD12の画面が汚れたり傷ついたりすることを防止することができる。下側LCD12の画素数は、一例として、256dot×192dot(横×縦)である。下側LCD12は、後述する上側LCD22とは異なり、画像を(立体視可能ではなく)平面的に表示する表示装置である。なお、本実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側LCD12として、任意の解像度の表示装置を利用することができる。
図1に示されるように、ゲーム装置10は、入力装置として、タッチパネル13を備えている。タッチパネル13は、下側LCD12の画面上を覆うように装着されている。なお、本実施形態では、タッチパネル13は、例えば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル13は、抵抗膜方式に限らず、例えば静電容量方式等、任意の押圧式のタッチパネルを用いることができる。本実施形態では、タッチパネル13として、下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル13の解像度と下側LCD12の解像度とが一致している必要はない。また、下側ハウジング11の上側面には挿入口17(図1および図3Dに示す点線)が設けられている。挿入口17は、タッチパネル13に対する操作を行うために用いられるタッチペン28を収納することができる。なお、タッチパネル13に対する入力は通常タッチペン28を用いて行われるが、タッチペン28に限らずユーザの指でタッチパネル13に対する入力をすることも可能である。
各操作ボタン14A〜14Lは、所定の入力を行うための入力装置である。図1に示されるように、下側ハウジング11の内側面(主面)には、各操作ボタン14A〜14Lのうち、十字ボタン14A(方向入力ボタン14A)、ボタン14B、ボタン14C、ボタン14D、ボタン14E、電源ボタン14F、セレクトボタン14J、HOMEボタン14K、およびスタートボタン14Lが設けられる。十字ボタン14Aは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン14B、ボタン14C、ボタン14D、およびボタン14Eは、十字状に配置される。ボタン14A〜14E、セレクトボタン14J、HOMEボタン14K、およびスタートボタン14Lには、ゲーム装置10が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン14Aは選択操作等に用いられ、各操作ボタン14B〜14Eは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン14Fは、ゲーム装置10の電源をオン/オフするために用いられる。
アナログスティック15は、方向を指示するデバイスであり、下側ハウジング11の内側面の下側LCD12より左側領域の上部領域に設けられる。図1に示すように、十字ボタン14Aが下側LCD12より左側領域の下部領域に設けられ、アナログスティック15が十字ボタン14Aの上方に設けられる。また、アナログスティック15および十字ボタン14Aは、下側ハウジング11を把持した左手の親指で操作可能な位置に設計される。また、アナログスティック15を上部領域に設けたことにより、下側ハウジング11を把持する左手の親指が自然と位置するところにアナログスティック15が配され、十字ボタン14Aは、左手の親指を少し下にずらした位置に配される。アナログスティック15は、そのキートップが、下側ハウジング11の内側面に平行にスライドするように構成されている。アナログスティック15は、ゲーム装置10が実行するプログラムに応じて機能する。例えば、3次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置10によって実行される場合、アナログスティック15は、当該所定のオブジェクトを3次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトは、アナログスティック15のキートップがスライドした方向に移動される。なお、アナログスティック15として、上下左右および斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いてもよい。
十字状に配置される、ボタン14B、ボタン14C、ボタン14D、およびボタン14Eの4つのボタンは、下側ハウジング11を把持する右手の親指が自然と位置するところに配置される。また、これらの4つのボタンとアナログスティック15とは、下側LCD12を挟んで、左右対称に配置される。これにより、ゲームプログラムによっては、例えば、左利きの人が、これらの4つのボタンを使用して方向指示入力をすることも可能である。
また、下側ハウジング11の内側面には、マイクロフォン用孔18が設けられる。マイクロフォン用孔18の下部には後述する音声入力装置としてのマイク(図6参照)が設けられ、当該マイクがゲーム装置10の外部の音を検出する。
図3Bおよび図3Dに示されるように、下側ハウジング11の上側面には、Lボタン14GおよびRボタン14Hが設けられている。Lボタン14Gは、下側ハウジング11の上面の左端部に設けられ、Rボタン14Hは、下側ハウジング11の上面の右端部に設けられる。後述のように、Lボタン14GおよびRボタン14Hは、撮像部のシャッターボタン(撮影指示ボタン)として機能する。また、図3Aに示されるように、下側ハウジング11の左側面には、音量ボタン14Iが設けられる。音量ボタン14Iは、ゲーム装置10が備えるスピーカの音量を調整するために用いられる。
図3Aに示されるように、下側ハウジング11の左側面には開閉可能なカバー部11Cが設けられる。このカバー部11Cの内側には、ゲーム装置10とデータ保存用外部メモリ45とを電気的に接続するためのコネクタ(図示せず)が設けられる。データ保存用外部メモリ45は、上記コネクタに着脱自在に装着される。データ保存用外部メモリ45は、例えば、ゲーム装置10によって撮像された画像のデータを記憶(保存)するために用いられる。なお、上記コネクタおよびそのカバー部11Cは、下側ハウジング11の右側面に設けられてもよい。
図3Dに示されるように、下側ハウジング11の上側面にはゲーム装置10とゲームプログラムを記録した外部メモリ44を挿入するための挿入口11Dが設けられ、その挿入口11Dの内部には、外部メモリ44と電気的に着脱自在に接続するためのコネクタ(図示せず)が設けられる。外部メモリ44がゲーム装置10に接続されることにより、所定のゲームプログラムが実行される。なお、上記コネクタおよび挿入口11Dは、下側ハウジング11の他の側面(例えば、右側面等)に設けられてもよい。
図1に示されるように、下側ハウジング11の下側面には、ゲーム装置10の電源のON/OFF状況をユーザに通知する第1LED16Aが設けられる。また、図3Cに示されるように、下側ハウジング11の右側面には、ゲーム装置10の無線通信の確立状況をユーザに通知する第2LED16Bが設けられる。ゲーム装置10は、他の機器との間で無線通信を行うことが可能であり、第1LED16Bは、他の機器との無線通信が確立している場合に点灯する。ゲーム装置10は、例えば、IEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。下側ハウジング11の右側面には、この無線通信の機能を有効/無効にする無線スイッチ19が設けられる(図3C参照)。
なお、図示は省略するが、下側ハウジング11には、ゲーム装置10の電源となる充電式電池が収納され、下側ハウジング11の側面(例えば、上側面)に設けられた端子を介して当該電池を充電することができる。
上側ハウジング21には、上側LCD22、2つの外側撮像部23(外側左撮像部23aおよび外側右撮像部23b)、内側撮像部24、3D調整スイッチ25、および3Dインジケータ26が設けられる。以下、これらの詳細について説明する。
図1に示すように、上側LCD22は、上側ハウジング21に収納される。上側LCD22は、横長形状であり、長辺方向が上側ハウジング21の長辺方向に一致するように配置される。上側LCD22は、上側ハウジング21の中央に配置される。上側LCD22の画面の面積は、一例として下側LCD12の画面の面積よりも大きく設定される。具体的には、上側LCD22の画面は、下側LCD12の画面よりも横長に設定される。すなわち、上側LCD22の画面のアスペクト比における横幅の割合は、下側LCD12の画面のアスペクト比における横幅の割合よりも大きく設定される。
上側LCD22の画面は、上側ハウジング21の内側面(主面)21Bに設けられ、上側ハウジング21の内側面に設けられた開口部から上側LCD22の画面が露出する。また、図2に示すように、上側ハウジング21の内側面は、透明なスクリーンカバー27によって覆われている。スクリーンカバー27は、上側LCD22の画面を保護するとともに、上側LCD22と上側ハウジング21の内側面と一体的にさせ、これにより統一感を持たせている。上側LCD22の画素数は、一例として640dot×200dot(横×縦)である。なお、本実施形態では、上側LCD22が液晶表示装置であるとしたが、例えばELを利用した表示装置などが利用されてもよい。また、上側LCD22として、任意の解像度の表示装置を利用することができる。
上側LCD22は、立体視可能な画像を表示することが可能な表示装置である。上側LCD22は、実質的に同一の表示領域を用いて左目用画像と右目用画像とを表示することが可能である。具体的には、上側LCD22は、左目用画像と右目用画像とが所定単位で(例えば、1列ずつ)横方向に交互に表示される方式の表示装置である。なお、上側LCD22は、左目用画像と右目用画像とが交互に表示される方式の表示装置であってもよい。また、上側LCD22は、裸眼立体視可能な表示装置である。この場合、上側LCD22は、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式(視差バリア方式)のものが用いられる。本実施形態では、上側LCD22は、パララックスバリア方式のものとする。上側LCD22は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像(立体画像)を表示する。すなわち、上側LCD22は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像をそれぞれ視認させることにより、ユーザにとって立体感のある立体画像(立体視可能な画像)を表示することができる。また、上側LCD22は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる(上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである。)。このように、上側LCD22は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する(平面視画像を表示する)平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する3D調整スイッチ25によって行われる。
外側撮像部23は、上側ハウジング21の外側面(上側LCD22が設けられた主面と反対側の背面)21Dに設けられた2つの撮像部(外側左撮像部23aおよび外側右撮像部23b)の総称である。外側左撮像部23aおよび外側右撮像部23bの撮像方向は、いずれも外側面21Dの外向きの法線方向である。また、外側左撮像部23aおよび外側右撮像部23bは、いずれも、上側LCD22の表示面(内側面)の法線方向と180度反対の方向に設計される。すなわち、外側左撮像部23aの撮像方向および外側右撮像部23bの撮像方向は、平行である。外側左撮像部23aと外側右撮像部23bとは、ゲーム装置10が実行するプログラムによって、ステレオカメラとして使用することが可能である。また、プログラムによっては、2つの外側撮像部(外側左撮像部23aおよび外側右撮像部23b)のいずれか一方を単独で用いて、外側撮像部23を非ステレオカメラとして使用することも可能である。また、プログラムによっては、2つの外側撮像部(外側左撮像部23aおよび外側右撮像部23b)で撮像した画像を合成してまたは補完的に使用することにより撮像範囲を広げた撮像をおこなうことも可能である。本実施形態では、外側撮像部23は、外側左撮像部23aおよび外側右撮像部23bの2つの撮像部で構成される。外側左撮像部23aおよび外側右撮像部23bは、それぞれ所定の共通の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
図1の破線および図3Bの実線で示されるように、外側撮像部23を構成する外側左撮像部23aおよび外側右撮像部23bは、上側LCD22の画面の横方向と平行に並べられて配置される。すなわち、2つの外側左撮像部23aおよび外側右撮像部23bを結んだ直線が上側LCD22の画面の横方向と平行になるように、外側左撮像部23aおよび外側右撮像部23bが配置される。図1の破線23aおよび23bは、上側ハウジング21の内側面とは反対側の外側面に存在する外側左撮像部23aおよび外側右撮像部23bをそれぞれ表している。図1に示すように、ユーザが上側LCD22の画面を正面から視認した場合に、外側左撮像部23aは左側に外側右撮像部23bは右側にそれぞれ位置する。外側撮像部23をステレオカメラとして機能させるプログラムが実行されている場合、外側左撮像部23aは、ユーザの左目で視認される左目用画像を撮像し、外側右撮像部23bは、ユーザの右目で視認される右目用画像を撮像する。外側左撮像部23aおよび外側右撮像部23bの間隔は、人間の両目の間隔程度に設定され、例えば、30mm〜70mmの範囲で設定されてもよい。なお、外側左撮像部23aおよび外側右撮像部23bの間隔は、この範囲に限らない。
なお、本実施例においては、外側左撮像部23aおよび外側右撮像部23bは、ハウジングに固定されており、撮像方向を変更することはできない。
外側左撮像部23aおよび外側右撮像部23bは、上側LCD22(上側ハウジング21)の左右方向に関して中央から対称となる位置にそれぞれ配置される。すなわち、外側左撮像部23aおよび外側右撮像部23bは、上側LCD22を左右に2等分する線に対して対称の位置にそれぞれ配置される。また、外側左撮像部23aおよび外側右撮像部23bは、上側ハウジング21を開いた状態において、上側ハウジング21の上部であって、上側LCD22の画面の上端よりも上方の位置の裏側に配置される。すなわち、外側左撮像部23aおよび外側右撮像部23bは、上側ハウジング21の外側面であって、上側LCD22を外側面に投影した場合、投影した上側LCD22の画面の上端よりも上方に配置される。
このように、外側撮像部23の2つの撮像部(外側左撮像部23aおよび外側右撮像部23b)が上側LCD22の左右方向に関して中央から対称の位置に配置されることにより、ユーザが上側LCD22を正視した場合に、外側撮像部23それぞれの撮像方向をユーザの左右の目それぞれの視線方向と一致させることができる。また、外側撮像部23は、上側LCD22の画面の上端より上方の裏側の位置に配置されるため、外側撮像部23と上側LCD22とが上側ハウジング21の内部で干渉することがない。したがって、外側撮像部23を上側LCD22の画面の裏側に配置する場合と比べて、上側ハウジング21を薄く構成することが可能となる。
内側撮像部24は、上側ハウジング21の内側面(主面)21Bに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部24は、所定の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
図1に示すように、内側撮像部24は、上側ハウジング21を開いた状態において、上側ハウジング21の上部であって、上側LCD22の画面の上端よりも上方に配置され、上側ハウジング21の左右方向に関して中央の位置(上側ハウジング21(上側LCD22の画面)を左右に2等分する線の線上)に配置される。具体的には、図1および図3Bに示されるように、内側撮像部24は、上側ハウジング21の内側面であって、外側左撮像部23aおよび外側右撮像部23bの中間の裏側の位置に配置される。すなわち、上側ハウジング21の外側面に設けられた外側左撮像部23aおよび外側右撮像部23bを上側ハウジング21の内側面に投影した場合、当該投影した外側左撮像部23aおよび外側右撮像部23bの中間に、内側撮像部24が設けられる。図3Bで示される破線24は、上側ハウジング21の内側面に存在する内側撮像部24を表している。
このように、内側撮像部24は、外側撮像部23とは反対方向を撮像する。内側撮像部24は、上側ハウジング21の内側面であって、2つの外側撮像部23の中間位置となる裏側に設けられる。これにより、ユーザが上側LCD22を正視した際、内側撮像部24でユーザの顔を正面から撮像することができる。また、外側左撮像部23aおよび外側右撮像部23bと内側撮像部24とが上側ハウジング21の内部で干渉することがないため、上側ハウジング21を薄く構成することが可能となる。
3D調整スイッチ25は、スライドスイッチであり、上述のように上側LCD22の表示モードを切り替えるために用いられるスイッチである。また、3D調整スイッチ25は、上側LCD22に表示された立体視可能な画像(立体画像)の立体感を調整するために用いられる。図1〜図3Dに示されるように、3D調整スイッチ25は、上側ハウジング21の内側面および右側面の端部に設けられ、ユーザが上側LCD22を正視した場合に、当該3D調整スイッチ25を視認できる位置に設けられる。3D調整スイッチ25は、所定方向(例えば、上下方向)の任意の位置にスライド可能なスライダを有しており、当該スライダの位置に応じて上側LCD22の表示モードが設定される。
例えば、3D調整スイッチ25のスライダが最下点位置に配置されている場合、上側LCD22が平面表示モードに設定され、上側LCD22の画面には平面画像が表示される。なお、上側LCD22を立体表示モードのままとして、左目用画像と右目用画像とを同一の画像とすることにより平面表示してもよい。一方、上記最下点位置より上側にスライダが配置されている場合、上側LCD22は立体表示モードに設定される。この場合、上側LCD22の画面には立体視可能な画像が表示される。ここで、スライダが上記最下点位置より上側に配置されている場合、スライダの位置に応じて、立体画像の見え方が調整される。具体的には、スライダの位置に応じて、右目用画像および左目用画像における横方向の位置のずれ量が調整される。
3Dインジケータ26は、上側LCD22が立体表示モードか否かを示す。例えば、3Dインジケータ26は、LEDであり、上側LCD22の立体表示モードが有効の場合に点灯する。図1に示されるように、3Dインジケータ26は、上側ハウジング21の内側面に設けられ、上側LCD22の画面近傍に設けられる。このため、ユーザが上側LCD22の画面を正視した場合、ユーザは3Dインジケータ26を視認しやすい。したがって、ユーザは、上側LCD22の画面を視認している状態でも、上側LCD22の表示モードを容易に認識することができる。
また、上側ハウジング21の内側面には、スピーカ孔21Eが設けられる。後述するスピーカ43からの音声がこのスピーカ孔21Eから出力される。
次に、図4および図5を参照して、ゲーム装置10の使用状態の一例を示す。なお、図4は、ユーザがゲーム装置10を両手で把持する様子の一例を示す図である。図5は、ユーザがゲーム装置10を片手で把持する様子の一例を示す図である。
図4に示されるように、ユーザは、下側LCD12および上側LCD22がユーザの方向を向く状態で、両手の掌と中指、薬指および小指とで下側ハウジング11の側面および外側面(内側面の反対側の面)を把持する。このように把持することで、ユーザは、下側ハウジング11を把持したまま、各操作ボタン14A〜14Eおよびアナログスティック15に対する操作を親指で行い、Lボタン14GおよびR14Hに対する操作を人差し指で行うことができる。また、図5に示されるように、タッチパネル13に対して入力を行う場合には、下側ハウジング11を把持していた一方の手を離して他方の手のみで下側ハウジング11を把持することによって、当該一方の手でタッチパネル13に対する入力を行うことができる。
次に、図6を参照して、ゲーム装置10の内部構成を説明する。なお、図6は、ゲーム装置10の内部構成の一例を示すブロック図である。
図6において、ゲーム装置10は、上述した各構成部に加えて、情報処理部31、メインメモリ32、外部メモリインターフェイス(外部メモリI/F)33、データ保存用外部メモリI/F34、データ保存用内部メモリ35、無線通信モジュール36、ローカル通信モジュール37、リアルタイムクロック(RTC)38、加速度センサ39、電源回路40、およびインターフェイス回路(I/F回路)41等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング11(または上側ハウジング21でもよい)内に収納される。
情報処理部31は、所定のプログラムを実行するためのCPU(Central Processing Unit)311、画像処理を行うGPU(Graphics Processing Unit)312等を含む情報処理手段である。本実施形態では、所定のプログラムがゲーム装置10内のメモリ(例えば外部メモリI/F33に接続された外部メモリ44やデータ保存用内部メモリ35)に記憶されている。情報処理部31のCPU311は、当該所定のプログラムを実行することによって、後述する画像処理やゲーム処理を実行する。なお、情報処理部31のCPU311によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部31は、VRAM(Video RAM)313を含む。情報処理部31のGPU312は、情報処理部31のCPU311からの命令に応じて画像を生成し、VRAM313に描画する。そして、情報処理部31のGPU312は、VRAM313に描画された画像を上側LCD22および/または下側LCD12に出力し、上側LCD22および/または下側LCD12に当該画像が表示される。
情報処理部31には、メインメモリ32、外部メモリI/F33、データ保存用外部メモリI/F34、およびデータ保存用内部メモリ35が接続される。外部メモリI/F33は、外部メモリ44を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリI/F34は、データ保存用外部メモリ45を着脱自在に接続するためのインターフェイスである。
メインメモリ32は、情報処理部31(CPU311)のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ32は、画像処理やゲーム処理で用いられる各種データを一時的に記憶したり、外部(外部メモリ44や他の機器等)から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ32として例えばPSRAM(Pseudo−SRAM)を用いる。
外部メモリ44は、情報処理部31によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ44は、例えば読み取り専用の半導体メモリで構成される。外部メモリ44が外部メモリI/F33に接続されると、情報処理部31は外部メモリ44に記憶されたプログラムを読み込むことができる。情報処理部31が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ45は、不揮発性の読み書き可能なメモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ45には、外側撮像部23で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ45がデータ保存用外部メモリI/F34に接続されると、情報処理部31はデータ保存用外部メモリ45に記憶された画像を読み込み、上側LCD22および/または下側LCD12に当該画像を表示することができる。
データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ35には、無線通信モジュール36を介した無線通信によってダウンロードされたデータやプログラムが格納される。
無線通信モジュール36は、例えばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール37は、所定の通信方式(例えば赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール36およびローカル通信モジュール37は、情報処理部31に接続される。情報処理部31は、無線通信モジュール36を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール37を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
情報処理部31には、加速度センサ39が接続される。加速度センサ39は、3軸(xyz軸)方向に沿った直線方向の加速度(直線加速度)の大きさを検出する。加速度センサ39は、例えば下側ハウジング11の内部に設けられる。加速度センサ39は、図1に示すように、下側ハウジング11の長辺方向をx軸、下側ハウジング11の短辺方向をy軸、下側ハウジング11の内側面(主面)に対して垂直な方向をz軸として、ゲーム装置10の各軸方向へ生じる直線加速度の大きさをそれぞれ検出する。なお、加速度センサ39は、例えば静電容量式の加速度センサとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ39は1軸または2軸方向を検出する加速度センサであってもよい。情報処理部31は、加速度センサ39が検出した加速度を示すデータ(加速度データ)を受信して、ゲーム装置10の姿勢や動きを算出する。
情報処理部31には、RTC38および電源回路40が接続される。RTC38は、時間をカウントして情報処理部31に出力する。情報処理部31は、RTC38によって計時された時間に基づき現在時刻(日付)を計算する。電源回路40は、ゲーム装置10が有する電源(下側ハウジング11に収納される上記充電式電池)からの電力を制御し、ゲーム装置10の各部品に電力を供給する。
情報処理部31には、I/F回路41が接続される。I/F回路41には、マイク42、スピーカ43、およびタッチパネル13が接続される。具体的には、I/F回路41には、図示しないアンプを介してスピーカ43が接続される。マイク42は、ユーザの音声を検知して音声信号をI/F回路41に出力する。アンプは、I/F回路41からの音声信号を増幅し、音声をスピーカ43から出力させる。I/F回路41は、マイク42およびスピーカ43(アンプ)の制御を行う音声制御回路と、タッチパネル13の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換およびD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル13からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部31に出力する。タッチ位置データは、タッチパネル13の入力面において入力が行われた位置(タッチ位置)の座標を示す。なお、タッチパネル制御回路は、タッチパネル13からの信号の読み込み、およびタッチ位置データの生成を所定時間に1回の割合で行う。情報処理部31は、タッチ位置データを取得することにより、タッチパネル13に対して入力が行われたタッチ位置を知ることができる。
操作ボタン14は、上記各操作ボタン14A〜14Lからなり、情報処理部31に接続される。操作ボタン14から情報処理部31へは、各操作ボタン14A〜14Iに対する入力状況(押下されたか否か)を示す操作データが出力される。情報処理部31は、操作ボタン14から操作データを取得することによって、操作ボタン14に対する入力に応じた処理を実行する。
下側LCD12および上側LCD22は、情報処理部31に接続される。下側LCD12および上側LCD22は、情報処理部31(GPU312)の指示にしたがってって画像を表示する。本実施形態では、情報処理部31は、手書き画像入力操作用の画像を下側LCD12に表示させ、外側撮像部23および内側撮像部24のいずれかから取得した画像を上側LCD22に表示させる。すなわち、情報処理部31は、上側LCD22に外側撮像部23で撮像した右目用画像と左目用画像とを用いた立体画像(立体視可能な画像)を表示させたり、内側撮像部24で撮像した平面画像を上側LCD22に表示させたり、上側LCD22に外側撮像部23で撮像した右目用画像および左目用画像の一方を用いた平面画像を表示させたりする。
具体的には、情報処理部31は、上側LCD22のLCDコントローラ(図示せず)と接続され、当該LCDコントローラに対して視差バリアのON/OFFを制御する。上側LCD22の視差バリアがONになっている場合、情報処理部31のVRAM313に格納された(外側撮像部23で撮像された)右目用画像と左目用画像とが、上側LCD22に出力される。より具体的には、LCDコントローラは、右目用画像について縦方向に1ライン分の画素データを読み出す処理と、左目用画像について縦方向に1ライン分の画素データを読み出す処理とを交互に繰り返すことによって、VRAM313から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に1ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側LCD22の画面に表示される。そして、上側LCD22の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側LCD22の画面には立体視可能な画像が表示される。
外側撮像部23および内側撮像部24は、情報処理部31に接続される。外側撮像部23および内側撮像部24は、情報処理部31の指示にしたがってって画像を撮像し、撮像した画像データを情報処理部31に出力する。本実施形態では、情報処理部31は、外側撮像部23および内側撮像部24のいずれか一方に対して撮像指示を行い、撮像指示を受けた撮像部が画像を撮像して画像データを情報処理部31に送る。具体的には、ユーザによるタッチパネル13や操作ボタン14を用いた操作によって使用する撮像部が選択される。そして、撮像部が選択されたことを情報処理部31(CPU311)が検知し、情報処理部31が外側撮像部23または内側撮像部24に対して撮像指示を行う。
3D調整スイッチ25は、情報処理部31に接続される。3D調整スイッチ25は、スライダの位置に応じた電気信号を情報処理部31に送信する。
3Dインジケータ26は、情報処理部31に接続される。情報処理部31は、3Dインジケータ26の点灯を制御する。例えば、情報処理部31は、上側LCD22が立体表示モードである場合、3Dインジケータ26を点灯させる。
次に、ゲーム装置10で実行される画像処理プログラムによる具体的な処理動作を説明する前に、図7〜図11Bを参照して当該画像処理動作によって下側LCD12および上側LCD22に表示される表示形態例等について説明する。なお、図7〜図11Bは、タッチパネル13を介して手書き入力をすることによって上側LCD22に表示されたカメラ画像に当該手書き入力に応じた手書き画像HIが表示されるまでの各処理段階の一例を示す図である。なお、説明を簡単にするために、下側LCD12および上側LCD22には、外側撮像部23および内側撮像部24のいずれかから取得したカメラ画像に基づいた、実世界の平面画像(上述した立体視可能な画像とは反対の意味での平面視の画像)が表示される例を用いる。
図7において、上側LCD22には、ゲーム装置10に内蔵する実カメラ(例えば、外側撮像部23)によって撮像された実世界画像であるカメラ画像が表示されている。図7の例では、実世界中に1人の人物が撮像されたカメラ画像が上側LCD22に表示されている。例えば、上側LCD22には、ゲーム装置10に内蔵する実カメラで撮像されたリアルタイムの実世界画像が表示される。
ゲーム装置10は、実カメラで撮像されたカメラ画像に対して所定の顔認識処理を逐次に行い、当該カメラ画像内における人物の顔の有無を判断している。そして、ゲーム装置10は、上記顔認識処理において、上記カメラ画像内に人物の顔が存在すると識別できた場合、当該カメラ画像内から顔と識別した部分を抽出する。そして、ゲーム装置10は、顔と識別した部分に所定の標識を付与して、顔認識したカメラ画像とともに上側LCD22に表示する。例えば、図8に示すように、ゲーム装置10は、上記カメラ画像内で顔と識別した部分全体を覆うメッシュ状の線画(顔メッシュFM)を表示することによって、ゲーム装置10のユーザにリアルタイムの実世界画像に対して顔の識別ができたことを報知するとともに、人物の顔と識別した部分もユーザに報知する。
上記カメラ画像内に人物の顔が存在すると識別された状態で、ユーザが所定の操作(例えば、ボタン14B(Aボタン)を押下する操作)を行うことに応じて、下側LCD12に手書き画像入力用の画像が表示される。例えば、手書き画像入力用の画像は、人物の顔が存在すると識別された上記カメラ画像における静止画像であり、上記所定の操作が行われた際に上側LCD22に表示されているカメラ画像(すなわち、上記カメラ画像内に人物の顔が存在すると識別されたカメラ画像)である。そして、ユーザは、タッチパネル13を介して、下側LCD12に表示された手書き画像入力用の画像に対する手書き入力が可能となる。例えば、図9に示すように、下側LCD12には、図8に示したカメラ画像(すなわち、上記カメラ画像内に人物の顔が存在すると識別されたカメラ画像)が表示されており、ユーザが下側LCD12に表示された画像上に手書き入力HWを入力している。ここで、手書き入力HWは、ユーザがタッチパネル13にタッチオンしてからタッチオフするまでにタッチ入力したタッチ軌跡である。そして、ユーザがタッチパネル13に対するタッチオンおよびタッチオフを繰り返すことによって、複数のタッチ軌跡が手書き入力HWとして入力することが可能である。そして、ユーザが入力した手書き入力HWは、手書き画像入力用の画像の上に、そのタッチ軌跡を示す画像(例えば、軌跡を示す実線)として当該タッチ入力と重なる位置に描画される。
図9に示すように、下側LCD12に表示された手書き画像入力用の画像に対する手書き入力HWは、上側LCD22に表示されているカメラ画像にも手書き画像HIとして描画される。具体的には、ユーザが手書き画像入力用の画像内における人物の顔上に手書き入力HWを入力した場合、上側LCD22に表示されているカメラ画像内における人物の顔上にも手書き入力HWと同様の形状の手書き画像HIが描画される。
ここで、上述したように、上側LCD22には、ゲーム装置10に内蔵する実カメラによって撮像されたリアルタイムの実世界画像が表示されている。したがって、実空間内においてゲーム装置10の方向や位置を変えることによって、ゲーム装置10で撮像されるリアルタイムの実世界画像も変化するため、上側LCD22に表示されるカメラ画像も変化する。この場合、ゲーム装置10は、変化したカメラ画像に対しても顔認識処理を逐次行っており、顔上の手書き入力HWに対応する手書き画像HIを当該顔認識処理によって抽出された顔上に描画する。例えば、図10に示すように、下側LCD12には図9に示した手書き画像入力用の画像(静止画像)がそのまま表示されている。これに対して、上側LCD22に表示されているカメラ画像は、図9に示した上側LCD22のカメラ画像に対して撮像位置やアングルが変化しており、撮像されている人物の位置や大きさが変化している。このように、上側LCD22に表示されるカメラ画像が変化した場合であっても、変化したカメラ画像に対して行われた顔認識処理によって抽出された人物の顔上に手書き入力HWに対応する手書き画像HIが描画される。
また、実空間内において被撮像体となっている人物の表情が変化することによって、ゲーム装置10で撮像されるリアルタイムの実世界画像内における人物の表情も変化する。このように上側LCD22に表示されるカメラ画像内における人物の表情が変化した場合、当該表情の変化に応じて当該人物の顔上に描画する手書き画像HIの形状も変化させる。例えば、図11Aに示すように、上記顔認識処理によって識別された顔に対して、当該顔の特徴点に基づいて複数のポリゴンPGが生成される。そして、手書き入力HWに対応する手書き画像のテクスチャが設定され、当該テクスチャが複数のポリゴンPGにマッピングされて、手書き画像HIがカメラ画像内の顔上に描画される。図11Aと図11Bとを比較すれば明らかなように、カメラ画像内の顔画像における顔の表情が変化(例えば、口を閉じた状態から口を開いた状態に変化)した場合、当該顔の特徴点に基づいて設定されるポリゴンPGの頂点位置も変化するため、結果的にポリゴンPGの位置や形状も変化し、当該ポリゴンPGの変化に応じて手書き画像HIの形状も変化する。
具体的には、上側LCD22に表示されたカメラ画像内の顔画像の位置が移動した場合、当該顔の特徴点の位置も移動するために当該特徴点の位置に基づいて設定されるポリゴンPGの頂点位置も移動する。したがって、結果的に上記カメラ画像に対するポリゴンPGの位置も移動し、当該ポリゴンPGの移動に応じて手書き画像HIの表示位置も移動する。また、上側LCD22に表示されたカメラ画像内の顔画像の表示角度が変化した場合、当該顔から抽出される複数の特徴点の位置も当該表示角度の変化に応じて回転移動するために当該特徴点の位置に基づいて設定されるポリゴンPGの頂点位置も回転移動する。したがって、結果的に上記カメラ画像に対するポリゴンPGの位置も回転移動し、当該ポリゴンPGの回転移動に応じて手書き画像HIの表示角度も変化する。さらに、上側LCD22に表示されたカメラ画像内の顔画像のサイズや形状が変化した場合、当該顔から抽出される複数の特徴点間の距離が変化するために当該特徴点の位置に基づいて設定されるポリゴンPGの頂点間の距離も変化する。したがって、結果的に上記カメラ画像に対するポリゴンPGのサイズや形状も変化し、当該ポリゴンPGの変化に応じて手書き画像HIの表示サイズや形状も変化する。具体的には、顔画像のサイズが大きくなった場合、当該顔から抽出される複数の特徴点間の距離も長くなるために当該特徴点の位置に基づいて設定されるポリゴンPGの頂点間の距離も長くなり、ポリゴンPGのサイズも大きくなる。また、顔画像の一部の形状が変化した場合、当該顔から抽出される複数の特徴点のうち、形状が変化した部位から抽出された特徴点間の距離が変化するために当該特徴点の位置に基づいて設定されるポリゴンPGの頂点間の距離も当該部位において変化するため、当該部位に配置されるポリゴンPGの形状も変化する。
なお、手書き画像HIが描画される人物の顔は、手書き画像入力用の画像で手書き入力HWが入力された人物の顔とは、同一人物でなくてもかまわない。カメラ画像に対する顔認識処理において人物の顔として識別されれば、当該識別された顔上に手書き画像HIを描画することができる。また、手書き画像HIが描画される人物は、複数人でもかまわない。カメラ画像に対する顔認識処理において複数の人物の顔が識別されれば、当該識別された顔上にそれぞれ手書き画像HIを描画することもできる。
次に、図12〜図15を参照して、ゲーム装置10で実行される画像処理プログラムによる具体的な処理動作について説明する。なお、図12は、画像処理プログラムを実行することに応じて、メインメモリ32に記憶される各種データの一例を示す図である。図13は、当該画像処理プログラムを実行することによってゲーム装置10が画像処理する動作の一例を示す前半部分のフローチャートである。図14は、当該画像処理プログラムを実行することによってゲーム装置10が画像処理する動作の一例を示す後半部分のフローチャートである。図15は、図14のステップ71で行われる手書き画像描画処理の詳細な動作の一例を示すサブルーチンである。なお、これらの処理を実行するためのプログラムは、ゲーム装置10に内蔵されるメモリ(例えば、データ保存用内部メモリ35)や外部メモリ44またはデータ保存用外部メモリ45に含まれており、ゲーム装置10の電源がオンになったときに、内蔵メモリから、または外部メモリI/F33やデータ保存用外部メモリI/F34を介して外部メモリ44またはデータ保存用外部メモリ45からメインメモリ32に読み出されて、CPU311によって実行される。
図12において、メインメモリ32には、内蔵メモリ、外部メモリ44、またはデータ保存用外部メモリ45から読み出されたプログラムや画像処理において生成される一時的なデータが記憶される。図12において、メインメモリ32のデータ記憶領域には、操作データDa、カメラ画像データDb、顔認識結果データDc、上側LCDデータDd、下側LCDデータDe、手書き画像テクスチャデータDf、およびポリゴンデータDg等が格納される。また、メインメモリ32のプログラム記憶領域には、画像処理プログラムを構成する各種プログラム群Paが記憶される。
操作データDaは、ユーザがゲーム装置10を操作した操作情報を示すデータである。操作データDaは、操作子データDa1およびタッチ位置データDa2を含んでいる。操作子データDa1は、ユーザがゲーム装置10の操作ボタン14やアナログスティック15等の操作子を操作したことを示すデータである。タッチ位置データDa2は、タッチパネル13をユーザがタッチしている画面座標系のタッチ位置を示すタッチ座標のデータである。例えば、操作ボタン14やアナログスティック15からの操作データやタッチパネル13からのタッチ座標データは、ゲーム装置10が処理する時間単位(例えば、1/60秒)毎に取得され、当該取得に応じて操作子データDa1およびタッチ位置データDa2に格納されて更新される。なお、タッチ位置データDa2は、後述する処理に必要な所定時間分のタッチ座標の履歴(例えば、少なくとも前回の処理で得られたタッチ座標と今回の処理で得られたタッチ座標)を示すデータが格納され、ユーザがタッチパネル13をタッチしていない場合、Null値(空値)が格納される。
カメラ画像データDbは、外側撮像部23および内側撮像部24のいずれかが撮像したカメラ画像を示すデータである。後述する処理の説明においては、カメラ画像を取得するステップにおいて外側撮像部23および内側撮像部24のいずれかが撮像したカメラ画像を用いて、カメラ画像データDbを更新する態様を用いる。なお、外側撮像部23または内側撮像部24が撮像し、撮像されたカメラ画像を用いてカメラ画像データDbを更新する周期は、ゲーム装置10が処理する時間単位(例えば、1/60秒)と同じでもいいし、当該時間単位より短い時間でもかまわない。ゲーム装置10が処理する周期よりカメラ画像データDbを更新する周期が短い場合、後述する処理とは独立して適宜カメラ画像データDbを更新してもかまわない。この場合、後述するカメラ画像を取得するステップにおいて、カメラ画像データDbが示す最新のカメラ画像を常に用いて処理すればよい。
顔認識結果データDcは、上記カメラ画像に対して逐次行われる顔認識処理の結果を示すデータである。例えば、顔認識結果データDcは、上記カメラ画像に対して行われた顔認識処理によって人物の顔が識別できたか否かを示すデータや、上記カメラ画像に対して顔として識別できた部位を示すデータ等である。なお、上記顔認識処理は、後述する画像処理とは独立して逐次上記カメラ画像を用いて行われてもよい。この場合、顔認識結果データDcは、ゲーム装置10が処理する時間単位(例えば、1/60秒)とは異なる周期で適宜更新されることがあり得る。
上側LCDデータDdは、上側LCD22に表示する画像に関するデータであり、カメラ画像データDd1、顔認識結果データDd2、および顔メッシュ画像データDd3等を含んでいる。カメラ画像データDd1は、上側LCD22に表示するカメラ画像を示すデータである。顔認識結果データDd2は、上側LCD22に表示するカメラ画像に対する顔認識処理の結果(顔認識結果FPU)を示すデータである。顔メッシュ画像データDd3は、上側LCD22に表示するカメラ画像に対して人物の顔として識別された部位に表示される顔メッシュFMに関するデータである。
下側LCDデータDeは、下側LCD12に表示する画像に関するデータであり、カメラ画像データDe1、顔認識結果データDe2、および手書き入力データDe3等を含んでいる。カメラ画像データDe1は、下側LCD12に表示する手書き画像入力用の画像(例えば、人物の顔が識別されたカメラ画像)を示すデータである。顔認識結果データDd2は、手書き画像入力用の画像に対する顔認識処理の結果(顔認識結果FPL)を示すデータである。手書き入力データDe3は、タッチパネル13を介してタッチ入力された手書き入力HWを示すデータである。
手書き画像テクスチャデータDfは、タッチパネル13を介してタッチ入力された手書き入力HWに基づいて作成された手書き画像のテクスチャを示すデータである。
ポリゴンデータDgは、上記顔認識処理によって識別された顔の特徴点に基づいて生成される複数のポリゴンPGそれぞれに関するデータであり、手書き対象フラグデータDg1、テクスチャ座標データDg2、およびカメラ画像座標データDg3等を含んでいる。手書き対象フラグデータDg1は、手書き画像のテクスチャがマッピングされる際、手書き画像HIを含むポリゴンであるか否かを示す手書き対象フラグを示すデータである。テクスチャ座標データDg2は、手書き画像のテクスチャがマッピングされる際にポリゴンPGの各頂点VPが配置されるテクスチャ座標を示すデータである。カメラ画像座標データDg3は、上側LCD22に表示するカメラ画像に配置される際のポリゴンPGの各頂点VPに対するカメラ画像座標を示すデータである。
次に、図13を参照して、情報処理部31の動作について説明する。まず、ゲーム装置10の電源(電源ボタン14F)がONされると、CPU311によってブートプログラム(図示せず)が実行され、これにより内蔵メモリまたは外部メモリ44やデータ保存用外部メモリ45に格納されているプログラムがメインメモリ32にロードされる。そして、当該ロードされたプログラムが情報処理部31(CPU311)で実行されることによって、図13に示すステップ(図13〜図15では「S」と略称する)が実行される。なお、図13〜図15においては、本発明に直接関連しない処理についての記載を省略する。
図13において、情報処理部31は、カメラ画像および操作情報を取得し(ステップ51)、次のステップに処理を進める。例えば、情報処理部31は、現在選択されている撮像部(外側撮像部23または内側撮像部24)によって撮像されたカメラ画像を用いて、カメラ画像データDbを更新する。また、情報処理部31は、操作ボタン14やアナログスティック15を操作したことを示すデータを取得して、操作子データDa1を更新する。
次に、情報処理部31は、カメラ画像データDbが示すカメラ画像に対する所定の顔認識処理において、当該カメラ画像から人物の顔が識別されたか否かを判断する(ステップ52)。そして、情報処理部31は、上記カメラ画像から人物の顔が識別されていない場合、次のステップ53に処理を進める。一方、情報処理部31は、上記カメラ画像から人物の顔が識別された場合、当該識別されたことを示す顔認識結果データを用いて顔認識結果データDcを更新して、次のステップ54に処理を進める。ここで、上記顔認識処理は、図13で示すフローチャートによる処理とは別に独立して逐次上記カメラ画像を用いて情報処理部31が行ってもいいし、上記ステップ52の処理において情報処理部31が上記顔認識処理を行ってもかまわない。前者では上記カメラ画像から人物の顔が識別されたことを示す顔認識結果を取得することによって上記ステップ52において肯定判定し、後者では上記ステップ52の処理において上記カメラ画像から人物の顔が識別された場合に上記ステップ52において肯定判定する。
ステップ53において、情報処理部31は、上記ステップ51で取得されたカメラ画像を上側LCD22に表示して、次のステップ57に処理を進める。例えば、情報処理部31のCPU311は、カメラ画像データDbが示すカメラ画像をVRAM313に格納する。そして、情報処理部31のGPU312が、VRAM313に描画された画像を上側LCD22に出力することによって、上側LCD22に当該画像が表示される。
一方、ステップ54において、情報処理部31は、上記カメラ画像から識別された顔に対して顔メッシュFMを設定し、次のステップに処理を進める。例えば、情報処理部31は、上記カメラ画像から識別された顔における複数の特徴点に基づいて、当該顔に設定する複数のポリゴンを設定し、設定された複数のポリゴンに基づいてポリゴンデータDgを更新する。そして、情報処理部31は、設定されたポリゴンを示す線画を顔メッシュFM(図8参照)として設定し、顔メッシュ画像データDd3を更新する。具体的には、図11Aや図11Bに示すように、上記カメラ画像から識別された顔画像に対して、当該顔の輪郭内に複数のポリゴンPGが設定される。複数のポリゴンPGは、識別された顔における複数の特徴点に基づいた三角形でそれぞれ設定され、カメラ画像におけるそれぞれの頂点の位置を示す座標(カメラ画像座標)がカメラ画像座標データDg3に設定される。ここで、顔の特徴点は、公知のソフトウエアを利用して、撮像されたカメラ画像から識別された顔画像に対してエッジ検出等の画像処理を施すことによって、顔画像における目尻、目頭、鼻先、口の両端、眉頭、眉の中央、瞳孔中心、顎先端、輪郭点、耳付け根等、複数検出される。そして、複数のポリゴンPGの境界を示す線画が顔メッシュFMとして設定される。なお、複数のポリゴンPGの頂点は、検出された顔の特徴点と一致させる必要はなく、当該特徴点の位置に基づいた任意の位置に設定すればよい。
次に、情報処理部31は、上記ステップ54で設定された顔メッシュFMが付与されたカメラ画像を上側LCD22に表示して(ステップ55)、次のステップに処理を進める。例えば、情報処理部31のCPU311は、カメラ画像データDbが示すカメラ画像に顔メッシュ画像データDd3が示す顔メッシュFMを付与した画像データをVRAM313に格納する。そして、情報処理部31のGPU312が、VRAM313に描画された画像を上側LCD22に出力することによって、上側LCD22に当該画像が表示される。
なお、カメラ画像から人物の顔が一旦識別された後にリアルタイムに得られるカメラ画像に対して人物の顔が識別されなかった場合、上記ステップ53における画像表示処理では、人物の顔が識別された過去のカメラ画像を所定の経過時間内で上側LCD22に表示してもよい。これによって、例えば、カメラ画像内に人物が存在しなくなった場合や最新のカメラ画像に対する顔認識処理が間に合わずに上記ステップ52の処理が行われた場合であっても、一旦カメラ画像に対して人物の顔が識別された後は上側LCD22に常に顔が認識されたカメラ画像が表示されることになり、後述する画像処理に好適な操作環境となる。
次に、情報処理部31は、操作子データDa1を参照して、ユーザが所定の操作(例えば、ボタン14B(Aボタン)の押下)を行ったか否かを判断する(ステップ56)。そして、情報処理部31は、ユーザが所定の操作を行っていない場合、次のステップ57に処理を進める。一方、情報処理部31は、ユーザが所定の操作を行った場合、次のステップ58に処理を進める。
ステップ57において、情報処理部31は、処理を終了するか否かを判断する。処理を終了する条件としては、例えば、ユーザが処理を終了する操作を行ったこと等がある。情報処理部31は、処理を終了しない場合、上記ステップ51に戻って処理を繰り返す。一方、情報処理部31は、処理を終了する場合、当該フローチャートによる処理を終了する。
一方、ユーザが所定の操作を行ったと判定された場合(ステップ56でYes)、情報処理部31は、現時点のカメラ画像および当該カメラ画像に対する顔認識結果をそれぞれ格納し、次のステップに処理を進める。例えば、情報処理部31は、カメラ画像データDbが示すカメラ画像を用いて、カメラ画像データDd1およびカメラ画像データDe1をそれぞれ更新する。また、情報処理部31は、顔認識結果データDcが示す顔認識結果を用いて、顔認識結果データDd2および顔認識結果データDe2をそれぞれ更新する。なお、以下の説明において、顔認識結果データDd2が示す顔認識結果を顔認識結果FPU(上側LCD22に表示されているカメラ画像の顔認識結果)とし、顔認識結果データDe2が示す顔認識結果を顔認識結果FPL(下側LCD12に表示されているカメラ画像の顔認識結果)とする。
次に、情報処理部31は、上記ステップ58で設定されたカメラ画像を下側LCD12に表示して、次のステップ61(図14)に処理を進める。例えば、情報処理部31のCPU311は、カメラ画像データDe1が示すカメラ画像をVRAM313に格納する。そして、情報処理部31のGPU312が、VRAM313に描画された画像を下側LCD12に出力することによって、下側LCD12に当該画像が表示される。
図14に進み、ステップ61において、情報処理部31は、操作情報を取得し、次のステップに処理を進める。例えば、情報処理部31は、操作ボタン14やアナログスティック15を操作したことを示すデータを取得して、操作子データDa1を更新する。また、情報処理部31は、タッチパネル13をタッチしている画面座標系のタッチ位置を示すタッチ座標を取得して、タッチ位置データDa2が示すタッチ座標の履歴のうち、最新のタッチ座標を更新する。なお、ユーザがタッチパネル13をタッチしていない場合、タッチ位置データDa2の最新のタッチ座標には、Null値が格納される。
次に、情報処理部31は、操作子データDa1を参照して、ユーザが所定の操作子の操作(例えば、ボタン14C(Bボタン)の押下、ボタン14E(Xボタン)の押下、セレクトボタン14Jの押下、十字ボタン14Aの押下)を行ったか否かを判断する(ステップ62)。そして、情報処理部31は、ユーザが所定の操作子の操作を行った場合、次のステップ63に処理を進める。一方、情報処理部31は、ユーザが所定の操作子の操作を行っていない場合、次のステップ64に処理を進める。
ステップ63において、情報処理部31は、ユーザのボタン操作に応じた処理を行い、次のステップ64に処理を進める。第1の例として、情報処理部31は、ユーザがボタン14C(Bボタン)を押下した場合、手書き入力データDe3、手書き画像テクスチャデータDf、および手書き対象フラグデータDg1をそれぞれ初期化して(例えば、手書き入力HWや手書き画像HIが存在しない状態にして)、上側LCD22に表示されている手書き画像HIおよび下側LCD12に表示されている手書き入力HWを消去する。第2の例として、情報処理部31は、ユーザがボタン14E(Xボタン)を押下した場合、使用する撮像部(外側撮像部23または内側撮像部24)を切り替えて、以降の処理において当該切り替え後の撮像部からカメラ画像を取得する。第3の例として、情報処理部31は、ユーザがセレクトボタン14Jを押下した場合、上記ステップ51(図13)に処理を戻して、以降の処理を行う。第4の例として、情報処理部31は、ユーザが十字ボタン14Aを押下した場合、押下された方向に応じて手書き入力する手書き線の太さ、色、線種、入力マークの種類などの入力態様を切り替える。
ステップ64において、情報処理部31は、タッチ位置データDa2を参照して、ユーザがタッチパネル13をタッチ操作しているか否かを判断する。そして、情報処理部31は、ユーザがタッチ操作している場合、次のステップ65に処理を進める。一方、情報処理部31は、ユーザがタッチ操作していない場合、次のステップ68に処理を進める。
ステップ65において、情報処理部31は、手書き入力処理を行って、次のステップに処理を進める。例えば、情報処理部31は、タッチ位置データDa2を参照して、前回の処理で得られたタッチ位置が重なる下側LCD12の画面位置と最新のタッチ位置が重なる下側LCD12の画面位置とを結ぶ線を、下側LCD12の表示座標系で設定する。そして、情報処理部31は、手書き入力データDe3が示す手書き入力HWに設定された線を追加して、追加後の手書き入力HWを用いて手書き入力データDe3を更新する。
次に、情報処理部31は、手書き画像が描画される対象ポリゴンを設定して(ステップ66)、次のステップに処理を進める。例えば、情報処理部31は、ポリゴンデータDgを参照して、上記ステップ65において追加された手書き線がマッピングされるべきポリゴンPGを抽出し、当該ポリゴンPGの手書き対象フラグをオンに設定して手書き対象フラグデータDg1を更新する。具体的には、上記ステップ65において追加された線が下側LCD12の表示座標系において重なる位置に配置されているポリゴンPGを抽出し、当該ポリゴンPGの手書き対象フラグをオンに設定する。
次に、情報処理部31は、手書き入力HWに対応する画像を下側LCD12に描画し(ステップ67)、次のステップ68に処理を進める。例えば、情報処理部31は、設定されている入力態様(例えば、手書き線の太さ、色、線種、入力マークの種類など)に応じて、手書き入力データDe3が示す手書き入力HWに対応する手書き画像を、下側LCD12の表示座標系に基づいて生成する。そして、情報処理部31は、手書き画像全てを含む所定の範囲全体(例えば、下側LCD12の表示範囲全体)を手書き画像のテクスチャとして生成し、生成されたテクスチャを用いて手書き画像テクスチャデータDfを更新する。また、情報処理部31のCPU311は、手書き画像テクスチャデータDfに対応する手書き画像をVRAM313に格納する。そして、情報処理部31のGPU312が、VRAM313に描画された画像を下側LCD12に出力することによって、下側LCD12に当該線画像が描画される。なお、本実施形態では、手書き画像テクスチャデータDfに格納されている手書き画像のテクスチャが、上側LCD22に表示される手書き画像HIのテクスチャとしても共用されている。しかしながら、上側LCD22に表示される手書き画像HIのテクスチャを別に生成する場合、後述するステップ71で行う手書き画像描画処理において、手書き入力データDe3が示す手書き入力HWに対応する手書き画像HI、または手書き画像テクスチャデータDfに格納されている手書き画像のテクスチャに対応する手書き画像HIを、下側LCD12の表示座標系に基づいて生成する。そして、生成された手書き画像HI全てを含む所定の範囲全体(例えば、下側LCD12の表示範囲全体)を手書き画像HIのテクスチャとして生成し、生成されたテクスチャを用いて手書き画像テクスチャデータDfを更新してもかまわない。
ステップ68において、情報処理部31は、新たに撮像されたカメラ画像に対する顔認識処理において、当該カメラ画像から人物の顔が新たに識別されたか否かを判断する。そして、情報処理部31は、新たに撮像されたカメラ画像から人物の顔が識別されていない場合、次のステップ71に処理を進める。一方、情報処理部31は、新たに撮像されたカメラ画像から人物の顔が識別された場合、当該識別されたことを示す顔認識結果データを用いて顔認識結果データDcを更新して、次のステップ69に処理を進める。ここで、上述したように、上記顔認識処理は、図14で示すフローチャートによる処理とは別に独立して逐次新たに撮像されたカメラ画像を用いて情報処理部31が行ってもいいし、上記ステップ68の処理において情報処理部31が上記顔認識処理を行ってもかまわない。前者の場合、新たに撮像されたカメラ画像から人物の顔が識別されたことを示す顔認識結果を取得することによって上記ステップ68において肯定判定するとともに、新たに撮像されたカメラ画像および当該カメラ画像に対する顔認識結果を用いてカメラ画像データDbおよび顔認識結果データDcを更新する。一方、後者の場合、現在選択されている撮像部(外側撮像部23または内側撮像部24)によって撮像されたカメラ画像を用いてカメラ画像データDbを更新し、当該カメラ画像から人物の顔が識別された場合に上記ステップ68において肯定判定して、当該カメラ画像に対する顔認識結果を用いて顔認識結果データDcを更新する。
ステップ69において、情報処理部31は、上記ステップ68で新たに人物の顔が識別された顔認識結果を用いて顔認識結果FPUを更新し、次のステップに処理を進める。例えば、情報処理部31は、顔認識結果データDcが示す顔認識結果を用いて、顔認識結果データDd2(顔認識結果FPU)を更新する。
次に、情報処理部31は、上記ステップ69で更新された顔認識結果FPUが得られたカメラ画像を上側LCD22に表示して(ステップ70)、次のステップ71に処理を進める。例えば、情報処理部31は、カメラ画像データDbが示すカメラ画像を用いて、カメラ画像データDd1を更新する。そして、情報処理部31のCPU311は、カメラ画像データDd1が示すカメラ画像をVRAM313に格納する。そして、情報処理部31のGPU312が、VRAM313に描画された画像を上側LCD22に出力することによって、上側LCD22に当該カメラ画像が描画される。
ステップ71において、情報処理部31は、手書き画像HIを描画する処理を行い、次のステップに処理を進める。以下、図15を参照して、上記ステップ71で行う手書き画像描画処理について説明する。
図15において、情報処理部31は、当該サブルーチンで用いる一時変数Nを1に設定し(ステップ82)、次のステップに処理を進める。
次に、情報処理部31は、複数のポリゴンPGのうち、ポリゴンNが対象ポリゴンに設定されているか否かを判断する(ステップ83)。ここで、複数のポリゴンPGには、それぞれ1〜Nmaxまでの固有の番号が付与される。そして、情報処理部31は、手書き対象フラグデータDg1を参照して、複数のポリゴンPGに属するポリゴンNの手書き対象フラグがオンに設定されているか否かによって対象ポリゴンに設定されているか否かを判断する。情報処理部31は、ポリゴンNが対象ポリゴンに設定されている場合、次のステップ84に処理を進める。一方、情報処理部31は、ポリゴンNが対象ポリゴンに設定されていない場合、次のステップ87に処理を進める。
ステップ84において、情報処理部31は、ポリゴンNの各頂点VPに対するカメラ画像座標を、顔認識結果FPUを用いて設定し、次のステップに処理を進める。例えば、情報処理部31は、カメラ画像データDd1が示すカメラ画像および顔認識結果データDd2が示す顔認識結果FPUを用いて、当該カメラ画像における人物の顔の位置および当該顔の特徴点の位置を取得する。そして、情報処理部31は、取得した上記カメラ画像における特徴点の位置に基づいて、上記カメラ画像におけるポリゴンNの各頂点VPの位置(カメラ画像座標)を設定し、設定された各頂点VPの位置を用いてポリゴンNのカメラ画像座標データDg3を更新する。
次に、情報処理部31は、ポリゴンNの各頂点VPのテクスチャ座標を、顔認識結果FPLを用いて設定し、次のステップに処理を進める。例えば、情報処理部31は、手書き画像テクスチャデータDfが示す手書き画像のテクスチャおよび顔認識結果データDe2が示す顔認識結果FPLを用いて、当該テクスチャに対応する人物の顔の位置および当該顔の特徴点の位置を取得する。そして、情報処理部31は、取得した上記テクスチャに対応する特徴点の位置に基づいて、上記テクスチャにおけるポリゴンNの各頂点VPの位置(テクスチャ座標)を設定し、設定された各頂点VPの位置を用いてポリゴンNのテクスチャ座標データDg2を更新する。
次に、情報処理部31は、ポリゴンNに手書き画像HIを描画して上側LCD22に表示し(ステップ86)、次のステップ87に処理を進める。例えば、情報処理部31は、テクスチャ座標データDg2が示す各頂点VPのテクスチャ座標に基づいて、手書き画像テクスチャデータDfが示す手書き画像のテクスチャをポリゴンNにマッピングする。そして、情報処理部31は、カメラ画像座標データDg3が示す各頂点VPのカメラ画像座標に基づいて、例えばZ=0(奥行0)の位置に配置されたポリゴンNを正射影で描画し、上側LCD22に表示する。例えば、情報処理部31のCPU311は、ポリゴンNを正射影で描画した結果を、カメラ画像データDd1が示すカメラ画像とともにVRAM313に格納する。そして、情報処理部31のGPU312が、VRAM313に描画された画像を上側LCD22に出力することによって、上側LCD22に当該画像が表示される。
次に、情報処理部31は、現在設定されている一時変数Nが複数のポリゴンPGにそれぞれ付与されている番号の最大値Nmax(すなわち、ポリゴンPGの設定数)に到達したか否かを判断する(ステップ87)。そして、情報処理部31は、一時変数Nが最大値Nmaxに到達していない場合、現在設定されている一時変数Nに1を加算して新たな一時変数Nを設定し(ステップ88)、上記ステップ83に戻って処理を繰り返す。一方、情報処理部31は、一時変数Nが最大値Nmaxに到達している場合、当該サブルーチンによる処理を終了する。
図14に戻り、上記ステップ71における手書き画像描画処理の後、情報処理部31は、処理を終了するか否かを判断する。処理を終了する条件としては、例えば、ユーザが処理を終了する操作を行ったこと等がある。情報処理部31は、処理を終了しない場合、上記ステップ61に戻って処理を繰り返す。一方、情報処理部31は、処理を終了する場合、当該フローチャートによる処理を終了する。
このように、上述した画像処理によれば、下側LCD12に表示された手書き画像入力用の画像に対して、タッチパネル13を介して入力された手書き入力HWが、当該手書き画像入力用の画像に上書きされるだけでなく、上側LCD22に表示されたカメラ画像に手書き画像HIとして上書き描画される。つまり、ユーザ入力に応じた手書き画像を、当該ユーザ入力を行う際に用いた手書き画像入力用画像だけでなく、他の画像に対しても手書き画像が反映される。したがって、ユーザは、ユーザ自身が手書き入力した画像を見て一時的に楽しむだけでなく、当該手書き入力に対応する手書き画像が反映された別の画像(例えば、実カメラから得られる実世界のリアルタイムの動画像や静止画像)を見て楽しむことができる。また、ユーザの手書き入力に対応する手書き画像が反映される位置は、手書き画像入力用の画像における特徴点と手書き入力HWとの位置関係が維持されるように、別画像の特徴点に基づいて手書き画像HIが配置されるため、あたかも当該別画像にユーザが手書き画像を入力したかのような操作感覚を実現することが可能となる。また、上記別画像が動画である場合、当該別画像の特徴点の移動に応じて手書き画像HIも移動して表示されるため、あたかも実世界の物体に手書き画像が描かれて動いているような動画をユーザに提供することも可能である。
なお、上述した説明では、図11Aや図11Bに示すように、カメラ画像から識別された顔画像に対して、当該顔の輪郭内に複数のポリゴンPGが設定される例を用いたが、ポリゴンPGを当該顔の輪郭外にも設けてもかまわない。以下、図16を参照して、人物の顔の輪郭外にもポリゴンPGが設ける一例を説明する。なお、図16は、人物の顔の輪郭外にポリゴンPGが設けた一例を示す説明図である。
図16において、顔画像の輪郭内に設けられる複数のポリゴンPGにおいて、当該輪郭上に設けられるポリゴンPGの頂点を頂点VPoとする。また、上記顔画像に設定される特徴点に基づいて、1つの基準点RPを設定する。基準点RPは、上記特徴点または上記特徴点以外から設定されるが、例えば、顔画像の鼻の中央、口の中央、または両目間の中央等に設定される。図16の一例では、基準点RPは、顔画像の鼻の中央付近に設定されている。
上記輪郭上に設けられるポリゴンPGの頂点VPoに対して、それぞれ放射状に当該輪郭の外側に頂点VPeを設定する。例えば、基準点RPを中心として、各頂点VPoから放射状に所定距離だけそれぞれ離れた位置に頂点VPe(図16において、塗りつぶし四角形で表示している点)を設定する。そして、1つの頂点VPeと2つの頂点VPoとを結ぶ三角形または2つの頂点VPeと1つの頂点VPoとを結ぶ三角形を、それぞれ隣接するように顔画像の輪郭外に設定し、当該三角形それぞれをポリゴンPGe(図16において、太実線で示すそれぞれの三角形)として設定する。このように、顔画像の輪郭外にもポリゴンPGeを設定することによって、ユーザが手書き画像入力用の画像における顔画像の輪郭外に手書き入力HWを入力した場合であっても、当該輪郭外の手書き入力HWに対応する手書き画像HIも上側LCD22に表示されたカメラ画像に描画することができる。
また、上述した説明では、上側LCD22に、外側撮像部23および内側撮像部24のいずれかから取得したカメラ画像に基づいた、実世界の平面画像(上述した立体視可能な画像とは反対の意味での平面視の画像)が表示される例を用いたが、裸眼で立体視可能な画像(立体画像)を上側LCD22に表示してもよい。例えば、上述したように、ゲーム装置10は、外側左撮像部23aおよび外側右撮像部23bから取得したカメラ画像を用いた立体視可能な画像(立体画像)を上側LCD22に表示することが可能である。この場合、下側LCD12に表示された手書き画像入力用の画像に対して入力された手書き入力HWに対応する手書き画像HIが、上側LCD22に表示された立体画像に描画される。
例えば、上記立体画像に手書き画像HIを描画する場合、外側左撮像部23aから得られた左目用画像および外側右撮像部23bから得られた右目用画像に対して、それぞれ上述した画像処理を施す。具体的には、図13〜図15に示した画像処理において、上側LCD22に表示するカメラ画像に関する処理については上記左目用画像および上記右目用画像に対してそれぞれ行う。そして、下側LCD12に表示する手書き画像入力用の画像は、上記左目用画像および上記右目用画像のいずれか一方のカメラ画像を用いる。すなわち、上記左目用画像は、逐次顔認識処理が行われ、当該顔認識結果に応じてポリゴンPG(以下、右目用画像に設定されるポリゴンと区別するためにポリゴンPGLと記載する)が設定される。また、上記右目用画像も同様に、逐次顔認識処理が行われ、当該顔認識結果に応じてポリゴンPG(以下、左目用画像に設定されるポリゴンと区別するためにポリゴンPGRと記載する)が設定される。そして、手書き画像描画処理(ステップ71)が行われる際には、ポリゴンPGLおよびポリゴンPGRそれぞれに手書き入力HWのテクスチャがマッピングされて、手書き画像HIがそれぞれに描画される。これによって、手書き画像HIが上記左目用画像および上記右目用画像それぞれに描画されることになるが、それぞれの画像に対して人物の顔として識別された顔画像の特徴点に基づいた位置に手書き画像HIが描画されるため、立体視可能な画像として表示されている人物の顔の表面にあたかも手書き画像HIが描かれているような立体画像が上側LCD22に表示される。
ここで、立体視可能な画像に対する所望の位置に手書き画像を上書きしようとした場合、立体視可能な画像自体の立体感によってユーザが所望する位置を指定できないことが考えられる。しかしながら、本願発明では、上側LCD22に表示された立体視可能な画像に手書き画像HIを上書きしようとする場合、当該立体視可能な画像を手書き画像入力用の画像として下側LCD12に表示する場合に当該立体視可能な画像が平面画像となる、したがって、ユーザは、上側LCD22に表示された立体視可能な画像に対して所望する指定位置を、下側LCD12に表示された平面画像を用いて指定できるため、立体視可能な画像に対する正確な位置指定が可能となる。
また、図9および図10等を用いた説明では、手書き画像HIがタッチ入力に応じた線(例えば、実線)で生成される例を用いたが、手書き画像HIは、線以外の画像であってもよい。例えば、図17Aおよび図17Bに示すように、タッチ入力に応じた位置に沿って、所定のマーク(図17Aおよび図17Bの例では花形のマーク)を並べて手書き画像HIを生成してもかまわない。例えば、タッチパネル13を介して手書き入力HWが入力される手書き入力処理(ステップ65)において、CPU311は、タッチ位置に応じて上記所定のマークを配置する位置(マーク配置位置)を少なくとも1つ設定する。そして、設定されたマーク配置位置に対して、それぞれ上記所定のマークを配置することによって手書き入力HWを生成する。第1の例として、CPU311は、ユーザがタッチパネル13に対してタッチオンした位置を最初のマーク配置位置に設定し、その後タッチオフするまでのタッチ入力において直前に設定されたマーク配置位置から所定距離だけ離れる毎に新たなマーク配置位置を順次設定していく。第2の例として、CPU311は、ユーザがタッチパネル13に対してタッチオンした位置を最初のマーク配置位置に設定し、その後タッチオフするまでのタッチ入力において直前に設定されたマーク配置位置から所定距離だけ移動する毎に新たなマーク配置位置を順次設定していく。第3の例として、CPU311は、ユーザがタッチパネル13に対してタッチオンした位置を最初のマーク配置位置に設定し、その後タッチオフするまでのタッチ入力において直前のマーク配置位置を設定してから所定の時間が経過する毎に新たなマーク配置位置を順次設定していく。図17Aと図17Bとを比較すれば明らかなように、カメラ画像内の顔画像における顔の表情が変化した場合、当該顔の特徴点に基づいて設定されるポリゴンPGの頂点位置も変化するため、結果的にポリゴンPGの位置や形状も変化し、当該ポリゴンPGの変化に応じてマーク配置位置も変化する。
また、上側LCD22に表示される手書き画像HIは、それぞれのカメラ画像から抽出された同じ特徴点に基づいて、下側LCD12に表示される手書き入力HWを示す画像に対応する位置に配置されるが、手書き画像HIと手書き入力HWを示す画像とはそれらの表示態様が異なる画像であってもかまわない。例えば、図17Aおよび図17Bに示したように、手書き画像HIが所定のマークを並べて生成される場合であっても、下側LCD12に表示される手書き入力HWを示す画像がタッチ入力に対応する線(例えば、実線)であってもよい。また、手書き入力HWは、下側LCD12に画像として表示されなくてもかまわない。この場合、上側LCD22に表示される手書き画像HIは、それぞれのカメラ画像から抽出された同じ特徴点に基づいて、下側LCD12に対するタッチ位置に対応する位置に配置される。何れの場合であっても、手書き画像のテクスチャを生成する際(ステップ67)に、下側LCD12に対するタッチ位置に対応する画像(例えば、タッチ位置に沿った線画やタッチ位置に所定のマークを並べた画像)を用いたテクスチャを生成すれば、様々な手書き画像HIを上側LCDに表示することが可能である。
また、上述した説明では、得られたカメラ画像内に人物の顔が存在すると識別できた場合、顔と識別した部分に顔メッシュFMを付与して、顔認識処理されたカメラ画像とともに上側LCD22に表示する例を用いたが、顔メッシュFMは、ユーザの操作や所定の時間経過によって上側LCD22から消去すればよい。一例として、ユーザがボタン14B(Aボタン)の押下した場合に(ステップ56でYes)、上側LCD22から顔メッシュFMが消去される。また、顔と識別した部分に付与する標識は、顔メッシュFMでなくてもかまわない。ここで、顔メッシュFMはカメラ画像から識別された顔における複数の特徴点に基づいて設定されたポリゴンPGを示す線画であるが、ポリゴンPGとは関連しないメッシュ状の線画で顔と識別した部分全体を覆ってもかまわない。また、顔と識別した部分の輪郭を示す線を付与したり顔と識別した部分の色を変えたりすることによって、顔と識別された部分がわかるように他と区別してもかまわない。さらに、顔と識別した部分の周辺に所定の標識(例えば、当該部分を指す矢印形状の標識)を付与することによって、顔と識別された部分がわかるように他と区別してもかまわない。
また、上述した説明では、ゲーム装置10に内蔵する実カメラで撮像されたリアルタイムの動画像が上側LCD22に表示され、上記実カメラで撮像されたカメラ画像の中から選ばれた静止画像が手書き画像入力用の画像として下側LCD12に表示されているが、本発明において下側LCD12および上側LCD22に表示する画像は、様々なバリエーションが考えられる。第1の例として、ゲーム装置10に内蔵する実カメラで撮像されたリアルタイムの動画像が上側LCD22に表示され、予め準備された静止画像(実カメラで撮影された実世界の静止画像や仮想世界に顔オブジェクトが配置された仮想世界の静止画像など)が手書き画像入力用の画像として下側LCD12に表示される。第2の例として、ゲーム装置10に内蔵する実カメラで撮像された静止画像が上側LCD22に表示され、人物の顔が識別された静止画像が手書き画像入力用の画像として下側LCD12に表示される。この場合、下側LCD12に表示される静止画像は、上側LCD22に表示された静止画像と同じでもいいし異なっていてもいい。一例として、異なる静止画像を下側LCD12に表示する場合、下側LCD12には予め準備された静止画像が手書き画像入力用の画像として表示される。第3の例として、ゲーム装置10に内蔵する実カメラで撮像されたリアルタイムの動画像が上側LCD22に表示され、同じ動画像が手書き画像入力用の画像として下側LCD12に表示される。なお、上記リアルタイムの動画像は、ゲーム装置10に内蔵する実カメラから得られたカメラ画像を表示するまでの間に行われる処理(例えば、当該カメラ画像に対する顔認識処理)に要する時間分だけ遅延して下側LCD12や上側LCD22に表示されてもよい。なお、予め準備された静止画像を手書き画像入力用の画像として下側LCD12に表示する場合、当該静止画像に含まれる顔に対する特徴点の位置も当該静止画像を準備する段階で予め設定しておいてもかまわない。このように、手書き画像入力用の画像における顔の特徴点を予め設定しておくことによって、手書き画像入力用の画像の表示前に行われる当該画像に対する顔認識処理が不要となる。
また、ゲーム装置10に表示する動画像および静止画像は、ゲーム装置10に内蔵する実カメラで撮像された実世界画像でなくてもかまわない。例えば、予め録画された動画像、予め撮影された静止画像、テレビジョン放送や他の装置から得られる動画像や静止画像等を上側LCD22に表示して、上側LCD22に表示されている画像に手書き画像HIを付与して表示してもかまわない。この場合、上側LCD22に表示されている画像の中から選ばれた静止画像や動画像や予め準備された静止画像を、手書き画像入力用の画像として下側LCD12に表示することが考えられる。
また、手書き入力HWを作成したゲーム装置10から当該手書き入力HWを示すデータ(例えば、手書き画像のテクスチャや当該テクスチャに対するテクスチャ座標が設定されたポリゴンデータ)を他のゲーム装置10へ送信してもかまわない。これによって、上記手書き入力HWを示すデータを受信した受信先となるゲーム装置10において、送信元のゲーム装置10で作成された手書き画像HIを表示することが可能となる。例えば、受信先のゲーム装置10において内蔵している実カメラでユーザ自身や他の人物を撮像し、当該撮像されたカメラ画像を上側LCD22に表示した場合、受信した手書き入力HWを示すデータに対応する手書き画像HIが当該カメラ画像に含まれる人物の顔画像上に付与されて表示される。したがって、受信先のゲーム装置10に内蔵された実カメラで実世界を撮像したカメラ画像や、受信先のゲーム装置10が予め格納していた画像を、受信先のゲーム装置10に表示すると、表示された画像に他のユーザによって作成された手書き画像HIが自動的に付与されることになり、今までにない画像の閲覧環境が実現できる。また、受信先のゲーム装置10では、受信した手書き入力HWを示すデータに対応する手書き画像HIが表示された状態で、さらにタッチパネル13を用いて手書き入力HIを入力することによって、別の手書き画像HIを追記することも可能である。すなわち、複数のユーザによって作成された手書き画像HIを1つのゲーム装置10に集約して表示することも可能となる。
また、上述した説明では、画像内の人物の顔を識別して当該顔の特徴点に基づいて手書き画像HIを配置したが、当該画像から得られる他の特徴点に基づいて手書き画像HIを配置してもかまわない。例えば、画像内に存在する所定の物体を識別して当該物体の特徴点に基づいて手書き画像HIを配置してもかまわない。一例として、画像内に存在する車を識別し、識別された車の車体、タイヤ、ライト、窓の中心や輪郭等に特徴点を設定し、当該特徴点に基づいて手書き画像HIを配置してもかまわない。この場合、手書き画像入力用の画像に表示された車に対して入力した手書き入力HWに対応する手書き画像HIが、上側LCD22に表示されている画像内に存在する車に描画されて表示される。他の例として、リアルタイムの実世界の動画像内に存在する黒板、ホワイトボード、展示板、掲示板等の屋内または屋外の情報掲示板を識別し、識別された情報掲示板の輪郭、角部、中心等に特徴点を設定し、当該特徴点に基づいて手書き画像HIを配置してもかまわない。この場合、手書き入力HWを作成したゲーム装置10から当該手書き入力HWを示すデータ(例えば、手書き画像のテクスチャや当該テクスチャに対するテクスチャ座標が設定されたポリゴンデータ)を他のゲーム装置10へ送信することによって、当該手書き入力HWを示すデータを受信した他のゲーム装置10において手書き画像HIを表示することが可能となる。例えば、手書き入力HWを示すデータを受信したゲーム装置10では、内蔵している実カメラで上記情報掲示板を撮像することによって、受信した手書き入力HWに対応する手書き画像HIが撮像された情報掲示板に記述されて上側LCD22に表示される。つまり、手書き画像入力用の画像として下側LCD12に表示された情報掲示板にタッチパネル13を介して伝達したい情報等を入力し、当該入力から得られた手書き入力HWを示すデータを他のゲーム装置10に送信することによって、受信先となる各ゲーム装置10に当該情報を表示される。そして、受信先のゲーム装置10では、上側LCD22に表示されたカメラ画像に撮像されている情報掲示板に、受信した情報に対応する手書き画像HIが表示されるため、実世界の情報掲示板に送信元が発した情報が記述されているような拡張現実を実現できる。
具体的な利用例としては、講義者が板書を示すデータ(手書き入力HWを示すデータ)をゲーム装置10から受講者それぞれに送信する。そして、上記データを受信したゲーム装置10の実カメラで受講者が講義室内の黒板やホワイトボードを撮像することによって、講義者の板書が講義室内の黒板やホワイトボードに記述されたようなカメラ画像を取得することができる。他の具体的な利用例としては、広告主が広告を示すデータ(手書き入力HWを示すデータ)をゲーム装置10から不特定者に送信する。そして、上記データを受信したゲーム装置10を所持するユーザが屋内や屋外の情報掲示板をゲーム装置10の実カメラで撮像した場合、情報掲示板に発信された広告が記述されたようなカメラ画像が上側LCD22に表示されるため、広告主の宣伝活動に用いることができる。
また、上述した説明では、複数のポリゴンPGのうち、対象ポリゴンに対してのみ手書き画像HIを描画する処理(ステップ84〜ステップ86)を行うことによって手書き画像描画処理を高速にしているが、このような効果を期待しない場合、複数のポリゴンPG全てに対して手書き画像HIを描画する処理を行ってもかまわない。この場合、図14を用いて説明したステップ66の処理および図15を用いて説明したステップ83の処理が不要となり、手書き対象フラグデータDg1に格納する手書き対象フラグも不要となる。
また、上記実施形態では、上側LCD22がパララックスバリア方式の液晶表示装置であるとして、視差バリアのON/OFFを制御することにより、立体表示と平面表示とを切り替えることができる。他の実施形態では、例えば、上側LCD22としてレンチキュラー方式の液晶表示装置を用いて、立体画像および平面画像を表示可能としてもよい。レンチキュラー方式の場合でも、外側撮像部23で撮像した2つの画像を縦方向に短冊状に分割して交互に配置することで画像が立体表示される。また、レンチキュラー方式の場合でも、内側撮像部24で撮像した1つの画像をユーザの左右の目に視認させることによって、当該画像を平面表示させることができる。すなわち、レンチキュラー方式の液晶表示装置であっても、同じ画像を縦方向に短冊状に分割し、これら分割した画像を交互に配置することにより、ユーザの左右の目に同じ画像を視認させることができる。これにより、内側撮像部24で撮像された画像を平面画像として表示することが可能である。
また、上述した実施形態では、2画面分の液晶表示部の一例として、物理的に分離された下側LCD12および上側LCD22を互いに上下に配置した場合(上下2画面の場合)を説明した。しかしながら、2画面分の表示画面の構成は、他の構成でもかまわない。例えば、下側ハウジング11の一方主面に下側LCD12および上側LCD22を左右に配置してもかまわない。また、下側LCD12と横幅が同じで縦の長さが2倍のサイズからなる縦長サイズのLCD(すなわち、物理的には1つで、表示サイズが縦に2画面分あるLCD)を下側ハウジング11の一方主面に配設して、2つの画像(例えば、撮像画像と操作説明画面を示す画像等)を上下に表示(すなわち上下の境界部分無しに隣接して表示)するように構成してもよい。また、下側LCD12と縦幅が同じで横の長さが2倍のサイズからなる横長サイズのLCDを下側ハウジング11の一方主面に配設して、横方向に2つの画像を左右に表示(すなわち左右の境界部分無しに隣接して表示)するように構成してもよい。すなわち、物理的に1つの画面を2つに分割して使用することにより2つの画像を表示してもかまわない。また、物理的に1つの画面を2つに分割して使用することにより上記2つの画像を表示する場合、当該画面全面にタッチパネル13を配設してもかまわない。
また、上述した実施例では、ゲーム装置10にタッチパネル13が一体的に設けられているが、ゲーム装置とタッチパネルとを別体にして構成しても、本発明を実現できることは言うまでもない。また、上側LCD22の上面にタッチパネル13を設けて上側LCD22に上述した下側LCD12に表示していた表示画像を表示してもよい。
また、上記実施例では、座標入力を実現するゲーム装置10の入力手段としてタッチパネル13を用いたが、他のポインティングデバイスを用いてもかまわない。ここで、ポインティングデバイスは、画面上での入力位置や座標を指定する入力装置であり、例えば、マウス、トラックパッド、トラックボール、ペンタブレット、ジョイスティック等を入力手段として使用し、入力手段から出力される出力値から計算された画面座標系の位置情報を用いれば、本発明を同様に実現することができる。なお、マウス等のポインティングデバイスの場合、タッチ状態と非タッチ状態とをクリックボタンのオンオフに対応させ、マウス等から出力される出力値から座標をタッチ位置として処理すればよい。
また、ゲームコントローラをプレイヤが把持してゲームを楽しむ据置型のゲーム装置の場合、他の態様のポインティングデバイスも考えられる。例えば、ゲームコントローラのハウジングに固設された撮像部を、上記ポインティングデバイスとして利用することも可能である。この場合、ゲームコントローラのハウジングで指し示した位置の変化に応じて撮像部が撮像する撮像画像が変化する。したがって、この撮像画像を解析することにより、表示画面に対して上記ハウジングで指し示した座標を算出することができる。
この場合、上記ハウジングで指し示した位置を示す座標を、上述した処理におけるタッチ位置として取り扱えば本発明を実現することが可能である。ただし、タッチパネル入力におけるタッチオンまたはタッチオフ等の入力有無判定については、上記座標入力とは異なった上記ゲームコントローラからの他の入力の有無や変化によって代用する。第1の例として、上記ゲームコントローラに設けられた操作ボタンの押下(例えば、Aボタンを押下しているときタッチオン)しているか否かによって、上記タッチオンまたはタッチオフの判定を代用する。第2の例では、上記ゲームコントローラが2つのハウジングで構成されている。そして、これら2つのハウジングは、上記撮像部が搭載されている一方ハウジングと、他方のハウジングの動きに応じた信号を出力する加速度センサ等の検出部が固設された当該他方のハウジングとで構成される。この場合、他方のハウジングの動き(例えば、ハウジングを所定方向に傾けているときにタッチオン)に応じて、上記タッチオンまたはタッチオフの判定を代用する。第3の例では、上記ゲームコントローラのハウジングにマイク等の音声入力手段が設けられている。この場合、プレイヤが所定の音声を発したときにタッチオンおよびタッチオフが切り替わる判定で代用する。
また、上記実施例では、携帯型のゲーム装置10や据置型のゲーム装置を用いて説明したが、一般的なパーソナルコンピュータ等の情報処理装置で本発明の画像処理プログラムを実行して、本発明を実現してもかまわない。また、他の実施形態では、ゲーム装置に限らず任意の携帯型電子機器、例えば、PDA(Personal Digital Assistant)や携帯電話、パーソナルコンピュータ、カメラ等であってもよい。例えば、携帯電話が、1つのハウジングの主面に2つの表示部と、実カメラとを備えてもよい。
また、上述した説明では画像処理をゲーム装置10で行う例を用いたが、上記画像処理における処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲーム装置10が他の装置(例えば、サーバや他のゲーム装置)と通信可能に構成されている場合、上記画像処理における処理ステップは、ゲーム装置10および当該他の装置が協働することによって実行してもよい。一例として、他の装置において、手書き入力HWを示すデータ(例えば、手書き画像のテクスチャや当該テクスチャに対するテクスチャ座標が設定されたポリゴンデータ)を設定する処理が行われ、ゲーム装置10が当該手書き入力HWを示すデータを取得して手書き画像HIを描画する手書き画像描画処理を行うことが考えられる。このように、上記画像における処理ステップの少なくとも一部を他の装置で行うことによって、上述した画像処理と同様の処理が可能となるとともに、作成した手書き入力HWに対応する手書き画像HIを、他の装置において表示されている画像に表示させるような処理にも本発明を適用することも可能となる。上述した画像処理は、少なくとも1つの情報処理装置により構成される情報処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施形態においては、ゲーム装置10の情報処理部31が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われたが、ゲーム装置10が備える専用回路によって上記処理の一部または全部が行われてもよい。
また、上述したゲーム装置10の形状や、それに設けられている各種操作ボタン14、アナログスティック15、タッチパネル13の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した画像処理で用いられる処理順序、設定値、判定に用いられる値等は、単なる一例に過ぎず他の順序や値であっても、本発明を実現できることは言うまでもない。
また、上記画像処理プログラム(ゲームプログラム)は、外部メモリ44やデータ保存用外部メモリ45等の外部記憶媒体を通じてゲーム装置10に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置10に供給されてもよい。また、上記プログラムは、ゲーム装置10内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを一時的に記憶する揮発性メモリでもよい。
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。
本発明に係る画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法は、ユーザ入力を行う際に用いた画像とは別の画像に対して、当該ユーザ入力に応じた画像を反映することが可能であり、各種画像を表示装置に表示する処理を行う画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法等として有用である。
10…ゲーム装置
11…下側ハウジング
12…下側LCD
13…タッチパネル
14…操作ボタン
15…アナログスティック
16…LED
17…挿入口
18…マイクロフォン用孔
19…無線スイッチ
21…上側ハウジング
22…上側LCD
23…外側撮像部
23a…外側左撮像部
23b…外側右撮像部
24…内側撮像部
25…3D調整スイッチ
26…3Dインジケータ
27…スクリーンカバー
28…タッチペン
31…情報処理部
311…CPU
312…GPU
313…VRAM
32…メインメモリ
33…外部メモリI/F
34…データ保存用外部メモリI/F
35…データ保存用内部メモリ
36…無線通信モジュール
37…ローカル通信モジュール
38…RTC
39…加速度センサ
40…電源回路
41…I/F回路
42…マイク
43…スピーカ
44…外部メモリ
45…データ保存用外部メモリ

Claims (26)

  1. 表示装置に画像を表示する画像処理装置のコンピュータで実行される画像処理プログラムであって、
    前記コンピュータを、
    第1画像を取得する第1画像取得手段と、
    前記第1画像に対して第1の特徴を有する特徴点である第1特徴点を少なくとも抽出する第1特徴点抽出手段と、
    第2画像を前記表示装置に表示する第2画像表示制御手段と、
    前記表示装置に表示された第2画像に対して座標入力されたデータを取得する座標入力取得手段と、
    前記座標入力取得手段が取得したデータを用いて、前記第2画像に対して座標入力された位置を示す入力位置データを生成する入力位置データ生成手段と、
    前記第2画像における前記第1の特徴を有する特徴点である第2特徴点を基準とした前記入力位置データが示す位置に対応する前記第1特徴点を基準とした前記第1画像上の位置に、所定の合成画像を合成する第1画像合成手段と、
    前記第1画像合成手段が合成した前記第1画像を、前記第2画像表示制御手段による前記第2画像の表示と共に、前記表示装置に表示する第1画像表示制御手段として機能させる、画像処理プログラム。
  2. 前記入力位置データに基づいて、前記座標入力を示す入力画像を前記第2画像上に合成する第2画像合成手段として、さらに前記コンピュータを機能させ、
    前記第2画像表示制御手段は、前記第2画像合成手段が合成した前記第2画像を前記表示装置に表示し、
    前記第1画像合成手段は、前記第2画像における前記第2特徴点を基準とした前記入力画像の位置に対応する前記第1特徴点を基準とした前記第1画像上の位置に、前記合成画像を合成する、請求項1に記載の画像処理プログラム。
  3. 前記第1画像合成手段は、前記第2画像における前記第2特徴点を基準とした前記入力画像の位置に対応する前記第1特徴点を基準とした前記第1画像上の位置に、当該入力画像に基づいた画像を前記合成画像として合成する、請求項2に記載の画像処理プログラム。
  4. 前記第2画像を取得する第2画像取得手段と、
    前記第2画像取得手段が取得した第2画像から前記第1の特徴を有する前記第2特徴点を抽出する第2特徴点抽出手段として、さらに前記コンピュータを機能させる、請求項1に記載の画像処理プログラム。
  5. 前記第1画像取得手段は、動画像を前記第1画像として取得し、
    前記第1特徴点抽出手段は、前記第1画像取得手段が取得した動画像に含まれるフレーム画像に対して前記第1特徴点を抽出し、
    前記第1画像合成手段は、前記第2画像における前記第2特徴点を基準とした前記入力位置データが示す位置に対応する前記第1特徴点を基準とした前記動画像に含まれるフレーム画像上の位置に、前記合成画像を合成する、請求項1に記載の画像処理プログラム。
  6. 前記第2画像表示制御手段は、静止画像を前記第2画像として前記表示装置に表示し、
    前記座標入力取得手段は、前記表示装置に表示された前記静止画像に対して座標入力されたデータを取得し、
    前記入力位置データ生成手段は、前記座標入力取得手段が取得したデータを用いて、前記静止画像に対して座標入力された位置を示す入力位置データを生成する、請求項1または5に記載の画像処理プログラム。
  7. 前記第1特徴点抽出手段は、前記第1画像取得手段が取得した動画像に含まれるフレーム画像それぞれに対して前記第1特徴点を抽出し、
    前記第1画像合成手段は、前記第2画像における前記第2特徴点を基準とした前記入力位置データが示す位置に対応する前記第1特徴点を基準とした前記動画像に含まれるそれぞれのフレーム画像上の位置に、前記合成画像をそれぞれ合成する、請求項5に記載の画像処理プログラム。
  8. 前記入力位置データ生成手段は、前記座標入力取得手段が前記座標入力を取得する毎に、前記入力位置データを逐次更新する入力位置データ更新手段を含み、
    前記第1画像合成手段は、前記入力位置データ更新手段が更新した最新の入力位置データが示す位置に対応する前記第1特徴点を基準とした前記フレーム画像上の位置に、前記合成画像を合成する、請求項7に記載の画像処理プログラム。
  9. 前記第1画像取得手段が取得した前記動画像に含まれるフレーム画像を、記憶装置に一時的に記憶させるフレーム画像記憶制御手段として、さらに前記コンピュータを機能させ、
    前記第1画像合成手段は、前記第1画像取得手段が取得したフレーム画像から前記第1特徴点抽出手段が前記第1特徴点を抽出した場合、当該抽出の対象になったフレーム画像を前記記憶装置から読み出して当該第1特徴点を基準とした当該フレーム画像上の位置に前記合成画像を合成する、請求項5に記載の画像処理プログラム。
  10. 前記第1特徴点抽出手段は、前記第1画像に対して前記第1特徴点および第2の特徴を有する特徴点である第3特徴点を少なくとも抽出し、
    前記第1画像合成手段は、前記第2画像における前記第2特徴点および前記第2の特徴を有する特徴点である第4特徴点を基準とした前記入力位置データが示す位置に対応する前記第1特徴点および前記第3特徴点を基準とした前記第1画像上の位置に、前記合成画像を合成する、請求項1乃至9のいずれか1つに記載の画像処理プログラム。
  11. 前記第1画像合成手段は、前記第2画像における前記第2特徴点と前記第4特徴点との間の距離と、前記第1画像における前記第1特徴点と前記第3特徴点との間の距離との関係に応じて、前記入力位置データが示す位置に対応する前記合成画像の大きさを設定して当該合成画像を前記第1画像上に合成する、請求項10に記載の画像処理プログラム。
  12. 前記第1画像合成手段は、前記第1画像における前記第1特徴点および前記第3特徴点と前記合成画像との相対的な位置関係が、前記第2画像における前記第2特徴点および前記第4特徴点と前記入力位置データが示す位置との相対的な位置関係と同じになるように、前記第1画像上に合成する前記合成画像の位置および向きを決定する、請求項10に記載の画像処理プログラム。
  13. 前記第1画像合成手段は、
    前記第2画像において、前記第2特徴点を基準として決定される領域内の前記入力画像を抽出する画像抽出手段と、
    前記第1画像において、前記第1特徴点を基準として、前記画像抽出手段によって抽出された画像を前記合成画像として前記第1画像に合成する抽出画像合成手段とを含む、請求項2に記載の画像処理プログラム。
  14. 前記画像抽出手段は、前記第2画像に対してそれぞれ固有の特徴を有する3以上の特徴点によって囲まれる領域内の前記入力画像を抽出し、
    前記第1特徴点抽出手段は、前記3以上に特徴点にそれぞれ対応する前記固有の特徴を有する3以上の特徴点を前記第1画像に対して抽出し、
    前記抽出画像合成手段は、前記第1画像において、前記第1特徴点抽出手段が抽出した3以上の特徴点によって囲まれる領域に、前記画像抽出手段によって抽出された入力画像を合成する、請求項13に記載の画像処理プログラム。
  15. 前記第1画像合成手段は、前記第2画像上に合成された前記入力画像を示すテクスチャを生成するテクスチャ生成手段を含み、
    前記第1画像合成手段は、前記第2画像における前記第2特徴点を基準として前記テクスチャに対する所定のポリゴンのテクスチャ座標を設定して、当該ポリゴンに前記テクスチャをマッピングし、前記第1画像における前記第1特徴点を基準として当該ポリゴンを前記第1画像上に配置することによって、前記合成画像を前記第1画像に合成する、請求項2に記載の画像処理プログラム。
  16. 前記第1画像および前記第2画像は、人物の顔を示す顔画像を含む画像であり、
    前記第1特徴点抽出手段は、前記第1画像取得手段が取得した第1画像に対して顔認識処理を行って識別された顔画像において前記第1の特徴を有する点を前記第1特徴点として抽出し、
    前記第1画像合成手段は、前記第2画像に含まれる顔画像において前記第1の特徴を有する点を前記第2特徴点として、前記合成画像を合成する、請求項1に記載の画像処理プログラム。
  17. 前記第1画像および前記第2画像は、人物の顔を示す顔画像を含む画像であり、
    前記第2特徴点抽出手段は、前記第2画像取得手段が取得した第2画像に対して顔認識処理を行って識別された顔画像において前記第1の特徴を有する点を前記第2特徴点として抽出し、
    前記第1特徴点抽出手段は、前記第1画像取得手段が取得した第1画像に対して顔認識処理を行って識別された顔画像において前記第1の特徴を有する点を前記第1特徴点として抽出する、請求項4に記載の画像処理プログラム。
  18. 前記第1画像取得手段は、前記画像処理装置が利用可能な実カメラによってリアルタイムに撮像された実世界の動画像を前記第1画像として取得する、請求項5に記載の画像処理プログラム。
  19. 前記第2画像を取得する第2画像取得手段と、
    前記第2画像取得手段が取得した第2画像に対して所定の物を認識する処理を行って識別された物を示す画像内に対してそれぞれ固有の特徴を有する複数の特徴点を抽出し、さらに当該特徴点から当該物を示す画像外へ放射状に設けられる複数の域外点を抽出する第2特徴点抽出手段として、さらに前記コンピュータを機能させ、
    前記第1特徴点抽出手段は、前記第1画像取得手段が取得した第1画像に対して前記物を認識する処理を行って識別された前記物を示す画像内に対して、前記第2特徴点抽出手段が抽出する複数の特徴点にそれぞれ対応する前記固有の特徴を有する複数の特徴点を抽出し、前記第2特徴点抽出手段が抽出する前記複数の域外点にそれぞれ対応してさらに当該特徴点から当該物を示す画像外へ放射状に設けられる複数の域外点を抽出し、
    前記第1画像合成手段は、
    前記第2画像において、前記第2特徴点抽出手段が設定した3つ以上の特徴点および/または域外点で囲まれる領域内の前記入力画像を抽出する画像抽出手段と、
    前記第1画像において、前記入力画像が抽出された領域に対応する3つ以上の特徴点および/または域外点で囲まれる領域に、前記画像抽出手段によって抽出された入力画像を前記合成画像として合成する抽出画像合成手段とを含む、請求項2に記載の画像処理プログラム。
  20. 前記表示装置は、少なくとも第1の表示画面および第2の表示画面を有し、
    前記第2画像表示制御手段は、前記第2画像を前記第2の表示画面に表示し、
    前記第1画像表示制御手段は、前記第1画像合成手段が合成した前記第1画像を前記第1の表示画面に表示する、請求項1に記載の画像処理プログラム。
  21. 前記表示装置は、前記第2の表示画面を覆うタッチパネルを有し、
    前記座標入力取得手段は、前記タッチパネルに対するタッチ位置を示すデータを前記座標入力されたデータとして取得し、
    前記入力位置データ生成手段は、前記タッチ位置と重なる前記第2画像上の位置を示すデータを前記入力位置データとして生成する、請求項20に記載の画像処理プログラム。
  22. 前記第1の表示画面は、左目用画像および右目用画像を用いて立体視可能な画像が表示可能であり、
    前記第1画像取得手段は、左目用画像および右目用画像を含む立体視可能な画像を前記第1画像として取得し、
    前記第1特徴点抽出手段は、前記第1画像における左目用画像および右目用画像に対して前記第1特徴点をそれぞれ抽出し、
    前記第1画像合成手段は、前記第2画像における前記第2特徴点を基準とした前記入力位置データが示す位置に対応する前記第1特徴点を基準とした前記第1画像における左目用画像上の位置および右目用画像上の位置に、それぞれ前記合成画像を合成し、
    前記第1画像表示制御手段は、前記第1画像合成手段が合成した前記第1画像における左目用画像および右目用画像を用いて立体視可能な画像を前記第1の表示画面に表示する、請求項21に記載の画像処理プログラム。
  23. 表示装置に画像を表示する画像処理装置であって、
    第1画像を取得する第1画像取得手段と、
    前記第1画像に対して第1の特徴を有する特徴点である第1特徴点を少なくとも抽出する第1特徴点抽出手段と、
    第2画像を前記表示装置に表示する第2画像表示制御手段と、
    前記表示装置に表示された第2画像に対して座標入力されたデータを取得する座標入力取得手段と、
    前記座標入力取得手段が取得したデータを用いて、前記第2画像に対して座標入力された位置を示す入力位置データを生成する入力位置データ生成手段と、
    前記第2画像における前記第1の特徴を有する特徴点である第2特徴点を基準とした前記入力位置データが示す位置に対応する前記第1特徴点を基準とした前記第1画像上の位置に、所定の合成画像を合成する第1画像合成手段と、
    前記第1画像合成手段が合成した前記第1画像を、前記第2画像表示制御手段による前記第2画像の表示と共に、前記表示装置に表示する第1画像表示制御手段とを備える、画像処理装置。
  24. 複数の装置が通信可能に構成され、表示装置に画像を表示する画像処理システムであって、
    第1画像を取得する第1画像取得手段と、
    前記第1画像に対して第1の特徴を有する特徴点である第1特徴点を少なくとも抽出する第1特徴点抽出手段と、
    第2画像を前記表示装置に表示する第2画像表示制御手段と、
    前記表示装置に表示された第2画像に対して座標入力されたデータを取得する座標入力取得手段と、
    前記座標入力取得手段が取得したデータを用いて、前記第2画像に対して座標入力された位置を示す入力位置データを生成する入力位置データ生成手段と、
    前記第2画像における前記第1の特徴を有する特徴点である第2特徴点を基準とした前記入力位置データが示す位置に対応する前記第1特徴点を基準とした前記第1画像上の位置に、所定の合成画像を合成する第1画像合成手段と、
    前記第1画像合成手段が合成した前記第1画像を、前記第2画像表示制御手段による前記第2画像の表示と共に、前記表示装置に表示する第1画像表示制御手段とを備える、画像処理システム。
  25. 少なくとも第1の装置と第2の装置とが通信可能に構成され、
    前記第1の装置は、
    前記第2画像表示制御手段と、
    前記座標入力取得手段と、
    前記入力位置データ生成手段と、
    前記入力位置データに基づいて、前記座標入力を示す入力画像を前記第2画像上に合成する第2画像合成手段と、
    前記入力画像に関するデータを前記第2の装置に送信するデータ送信手段とを備え、
    前記第2画像表示制御手段は、前記第2画像合成手段が合成した前記第2画像を前記第1の装置が利用可能な表示装置に表示し、
    前記第2の装置は、
    前記第1の装置から前記入力画像に関するデータを受信するデータ受信手段と、
    前記第1画像取得手段と、
    前記第1特徴点抽出手段と、
    前記第1画像合成手段と、
    前記第1画像表示制御手段とを備え、
    前記第1画像合成手段は、前記データ受信手段が受信した前記入力画像に関するデータに基づいて、前記第2画像における前記第2特徴点を基準とした当該入力画像の位置に対応する前記第1特徴点を基準とした前記第1画像上の位置に、当該入力画像に基づいた画像を前記合成画像として合成し、
    前記第1画像表示制御手段は、前記第1画像合成手段が合成した前記第1画像を前記第2の装置が利用可能な表示装置に表示する、請求項24に記載の画像処理システム。
  26. 表示装置に画像を表示する画像処理が可能な少なくとも1つの情報処理装置により構成される画像処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行される画像処理方法であって、
    第1画像を取得する第1画像取得ステップと、
    前記第1画像に対して第1の特徴を有する特徴点である第1特徴点を少なくとも抽出する第1特徴点抽出ステップと、
    第2画像を前記表示装置に表示する第2画像表示制御ステップと、
    前記表示装置に表示された第2画像に対して座標入力されたデータを取得する座標入力取得ステップと、
    前記座標入力取得ステップにおいて取得したデータを用いて、前記第2画像に対して座標入力された位置を示す入力位置データを生成する入力位置データ生成ステップと、
    前記第2画像における前記第1の特徴を有する特徴点である第2特徴点を基準とした前記入力位置データが示す位置に対応する前記第1特徴点を基準とした前記第1画像上の位置に、所定の合成画像を合成する第1画像合成ステップと、
    前記第1画像合成ステップにおいて合成した前記第1画像を、前記第2画像表示制御ステップによる前記第2画像の表示と共に、前記表示装置に表示する第1画像表示制御ステップとを含む、画像処理方法。
JP2010132399A 2010-06-09 2010-06-09 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法 Active JP5525923B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010132399A JP5525923B2 (ja) 2010-06-09 2010-06-09 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法
US12/980,620 US9101832B2 (en) 2010-06-09 2010-12-29 Storage medium having stored thereon image processing program, image processing apparatus, image processing system, and image processing method
EP20100197331 EP2394714A1 (en) 2010-06-09 2010-12-30 Image processing program, image processing apparatus, image processing system, and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010132399A JP5525923B2 (ja) 2010-06-09 2010-06-09 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法

Publications (2)

Publication Number Publication Date
JP2011259243A JP2011259243A (ja) 2011-12-22
JP5525923B2 true JP5525923B2 (ja) 2014-06-18

Family

ID=44269272

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010132399A Active JP5525923B2 (ja) 2010-06-09 2010-06-09 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法

Country Status (3)

Country Link
US (1) US9101832B2 (ja)
EP (1) EP2394714A1 (ja)
JP (1) JP5525923B2 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012156680A (ja) * 2011-01-25 2012-08-16 Jvc Kenwood Corp 3d画像処理装置
US9013454B2 (en) * 2012-03-02 2015-04-21 Ricoh Co., Ltd. Associating strokes with documents based on the document image
US20130252732A1 (en) * 2012-03-23 2013-09-26 Virginia Venture Industries, Llc Interactive high definition tv with user specific remote controllers and methods thereof
TWI458362B (zh) * 2012-06-22 2014-10-21 Wistron Corp 自動調整音量的聲音播放方法及電子設備
JP5603452B1 (ja) * 2013-04-11 2014-10-08 株式会社スクウェア・エニックス ビデオゲーム処理装置、及びビデオゲーム処理プログラム
EP2988486B1 (en) * 2013-04-17 2020-03-11 Panasonic Intellectual Property Management Co., Ltd. Selection of a suitable image for receiving on-screen control
JP6334125B2 (ja) * 2013-10-11 2018-05-30 任天堂株式会社 表示制御プログラム、表示制御装置、表示制御システム、および表示制御方法
US10417824B2 (en) * 2014-03-25 2019-09-17 Apple Inc. Method and system for representing a virtual object in a view of a real environment
US20160350957A1 (en) * 2015-05-26 2016-12-01 Andrew Woods Multitrack Virtual Puppeteering
WO2017013936A1 (ja) * 2015-07-21 2017-01-26 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
JP2017130735A (ja) * 2016-01-19 2017-07-27 ソニー株式会社 表示制御装置、表示制御方法及びコンピュータプログラム
KR101810190B1 (ko) * 2016-07-14 2017-12-18 김용상 얼굴 인식을 이용한 사용자 인증 방법 및 그 장치
US10609324B2 (en) 2016-07-18 2020-03-31 Snap Inc. Real time painting of a video stream
CN106780662B (zh) 2016-11-16 2020-09-18 北京旷视科技有限公司 人脸图像生成方法、装置及设备
CN106780658B (zh) * 2016-11-16 2021-03-09 北京旷视科技有限公司 人脸特征添加方法、装置及设备
US10175922B2 (en) * 2017-01-17 2019-01-08 Dell Products L.P. Wirelessly communicating data between two housings of a computing device
CN107888845B (zh) * 2017-11-14 2022-10-21 腾讯数码(天津)有限公司 一种视频图像处理方法、装置及终端
DK180640B1 (en) 2018-05-07 2021-11-09 Apple Inc Devices and methods of measurement using augmented reality
CN108958610A (zh) * 2018-07-27 2018-12-07 北京微播视界科技有限公司 基于人脸的特效生成方法、装置和电子设备
US10785413B2 (en) * 2018-09-29 2020-09-22 Apple Inc. Devices, methods, and graphical user interfaces for depth-based annotation
US11223728B2 (en) 2019-02-19 2022-01-11 Samsung Electronics Co., Ltd Electronic device for providing various functions through application using a camera and operating method thereof
KR102707773B1 (ko) * 2019-08-06 2024-09-20 삼성전자 주식회사 객체에 대응하는 그래픽 요소 표시 방법 및 장치
US11227446B2 (en) 2019-09-27 2022-01-18 Apple Inc. Systems, methods, and graphical user interfaces for modeling, measuring, and drawing using augmented reality
US11138771B2 (en) 2020-02-03 2021-10-05 Apple Inc. Systems, methods, and graphical user interfaces for annotating, measuring, and modeling environments
US11727650B2 (en) 2020-03-17 2023-08-15 Apple Inc. Systems, methods, and graphical user interfaces for displaying and manipulating virtual objects in augmented reality environments
US11941764B2 (en) 2021-04-18 2024-03-26 Apple Inc. Systems, methods, and graphical user interfaces for adding effects in augmented reality environments

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL114838A0 (en) 1995-08-04 1996-11-14 Spiegel Ehud Apparatus and method for object tracking
TW563053B (en) 1998-05-19 2003-11-21 Sony Computer Entertainment Inc Image processing device, method and providing medium
JP2000069404A (ja) 1998-08-25 2000-03-03 Konami Co Ltd 画像プリント作成装置
US7730413B1 (en) * 1999-08-19 2010-06-01 Puredepth Limited Display method for multiple layered screens
JP3984191B2 (ja) * 2002-07-08 2007-10-03 株式会社東芝 仮想化粧装置及びその方法
JP4404650B2 (ja) * 2004-01-30 2010-01-27 デジタルファッション株式会社 化粧シミュレーション装置、化粧シミュレーション方法、化粧シミュレーションプログラム
US20070019882A1 (en) 2004-01-30 2007-01-25 Shoji Tanaka Makeup simulation program, makeup simulation device, and makeup simulation method
JPWO2005076210A1 (ja) 2004-02-05 2007-10-18 ソフトバンクモバイル株式会社 画像処理方法、画像処理装置及び移動通信端末装置
JP4933164B2 (ja) * 2005-07-01 2012-05-16 キヤノン株式会社 情報処理装置、情報処理方法、プログラムおよび記憶媒体
CN101371272B (zh) 2006-01-17 2012-07-18 株式会社资生堂 化妆模拟系统,化妆模拟装置,化妆模拟方法
JP5276780B2 (ja) * 2006-07-21 2013-08-28 パナソニック株式会社 地図表示システム
US20080084482A1 (en) * 2006-10-04 2008-04-10 Sony Ericsson Mobile Communications Ab Image-capturing system and method
US8064712B2 (en) * 2007-01-24 2011-11-22 Utc Fire & Security Americas Corporation, Inc. System and method for reconstructing restored facial images from video
JP2009064423A (ja) * 2007-08-10 2009-03-26 Shiseido Co Ltd メイクアップシミュレーションシステム、メイクアップシミュレーション装置、メイクアップシミュレーション方法およびメイクアップシミュレーションプログラム
JP2009053981A (ja) * 2007-08-28 2009-03-12 Kao Corp 化粧シミュレーション装置
JP5442966B2 (ja) * 2008-07-10 2014-03-19 株式会社 資生堂 ゲーム装置、ゲーム制御方法、ゲーム制御プログラム、及び、該プログラムを記録した記録媒体
JP2010132399A (ja) 2008-12-04 2010-06-17 Toshiba Elevator Co Ltd 磨耗判定装置

Also Published As

Publication number Publication date
JP2011259243A (ja) 2011-12-22
US20110304607A1 (en) 2011-12-15
EP2394714A1 (en) 2011-12-14
US9101832B2 (en) 2015-08-11

Similar Documents

Publication Publication Date Title
JP5525923B2 (ja) 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法
JP5602618B2 (ja) 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法
JP4757948B1 (ja) 情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法
JP5739674B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、および、情報処理方法
US8854356B2 (en) Storage medium having stored therein image processing program, image processing apparatus, image processing system, and image processing method
JP5739671B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法
JP5541974B2 (ja) 画像表示プログラム、装置、システムおよび方法
JP5800484B2 (ja) 表示制御プログラム、表示制御装置、表示制御システム、および表示制御方法
JP4933164B2 (ja) 情報処理装置、情報処理方法、プログラムおよび記憶媒体
JP5646263B2 (ja) 画像処理プログラム、画像処理装置、画像処理システム、および、画像処理方法
US9594399B2 (en) Computer-readable storage medium, display control apparatus, display control method and display control system for controlling displayed virtual objects with symbol images
EP2442280B1 (en) Blending a real world with a virtual world
JP5702653B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、および、情報処理方法
US20120135803A1 (en) Game device utilizing stereoscopic display, method of providing game, recording medium storing game program, and game system
US9196078B2 (en) System and methods for displaying virtual space including a silhouette image
JP5514637B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法
JP2012068964A (ja) 画像処理プログラム、画像処理装置、画像処理システム、および、画像処理方法
JP2012139318A (ja) 表示制御プログラム、表示制御装置、表示制御システム、及び、表示制御方法
US20130057574A1 (en) Storage medium recorded with program, information processing apparatus, information processing system, and information processing method
JP2012141939A (ja) 表示制御プログラム、表示制御装置、表示制御システム、および、表示制御方法
JP5687881B2 (ja) 表示制御プログラム、表示制御装置、表示制御システム、および表示制御方法
JP2012119867A (ja) 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法
JP7544071B2 (ja) 情報処理装置、情報処理システム及び情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130422

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140317

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: 20140404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140414

R150 Certificate of patent or registration of utility model

Ref document number: 5525923

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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