CN102274631A - 立体图像显示系统和方法以及立体图像显示装置 - Google Patents

立体图像显示系统和方法以及立体图像显示装置 Download PDF

Info

Publication number
CN102274631A
CN102274631A CN2011101563537A CN201110156353A CN102274631A CN 102274631 A CN102274631 A CN 102274631A CN 2011101563537 A CN2011101563537 A CN 2011101563537A CN 201110156353 A CN201110156353 A CN 201110156353A CN 102274631 A CN102274631 A CN 102274631A
Authority
CN
China
Prior art keywords
mentioned
photographic images
zone
camera
image
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.)
Granted
Application number
CN2011101563537A
Other languages
English (en)
Other versions
CN102274631B (zh
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
HAL Laboratory Inc
Original Assignee
Nintendo Co Ltd
HAL Laboratory Inc
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
Priority claimed from JP2010135316A external-priority patent/JP5548038B2/ja
Priority claimed from JP2010135314A external-priority patent/JP5546960B2/ja
Priority claimed from JP2010135313A external-priority patent/JP5541973B2/ja
Priority claimed from JP2010135315A external-priority patent/JP5525924B2/ja
Application filed by Nintendo Co Ltd, HAL Laboratory Inc filed Critical Nintendo Co Ltd
Publication of CN102274631A publication Critical patent/CN102274631A/zh
Application granted granted Critical
Publication of CN102274631B publication Critical patent/CN102274631B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • 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/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5252Changing parameters of virtual cameras using two or more virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character changes room or displaying a rear-mirror view in a car-driving game
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/139Format conversion, e.g. of frame-rate or size
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/156Mixing image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/296Synchronisation thereof; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/302Image reproducers for viewing without the aid of special glasses, i.e. using autostereoscopic displays
    • 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/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
    • 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
    • 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/30Features 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 output arrangements for receiving control signals generated by the game 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/30Features 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 output arrangements for receiving control signals generated by the game device
    • A63F2300/301Features 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 output arrangements for receiving control signals generated by the game device using an additional display connected to the game console, e.g. on the controller
    • 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/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6676Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera by dedicated player input
    • 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
    • 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/8082Virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Processing Or Creating Images (AREA)
  • Display Devices Of Pinball Game Machines (AREA)

Abstract

本发明涉及立体图像显示系统和方法以及立体图像显示装置。游戏装置(10)在能够实现使用了2个图像的立体显示的上侧LCD(22)中显示图像。游戏装置(10)对表示各拍摄图像的显示区域的规定大小的框(62)决定决定从基准位置起的偏移量。这里,对至少一方的框,在移动了偏移量的框(62)露出到拍摄图像(55)以外的情况下,变更各框的尺寸,以使框(62)不露出到拍摄图像(55)以外。游戏装置(10)将2个拍摄图像中的各框内的图像显示到立体显示装置的画面上的规定区域。

Description

立体图像显示系统和方法以及立体图像显示装置
技术领域
本发明涉及立体显示图像的立体图像显示系统、立体图像显示方法以及立体图像显示装置。
背景技术
以往,有一种通过在立体显示器中显示由多台照相机拍摄到的多个图像,来进行立体显示图像的装置。例如,在日本特开2003-264851号公报中,记载了一种将右眼用图像和左眼用图像这2个图像重叠显示,采用视差屏蔽(parallax barrier)方式或柱面透镜光栅方式,使用户的右眼看到右眼用图像,左眼看到左眼用图像的技术。由此,用户可观察到立体视觉图像。
其中,在如日本特开2003-264851号公报那样通过重叠显示2个图像来进行立体显示的方法中,通过变更2个图像的位置关系,可以变更立体显示中的视差零距离(在立体显示时,从视点到在显示画面上看到的显示对象的距离)。图24是表示2个图像的位置关系与视差零距离的关系的图。在如图24所示的表的上栏那样,左眼用图像91与右眼用图像92的位置偏移相对大的情况下,视差零距离相对变远(看到焦点聚焦在远处的物体上)。而在如图24所示的表的下栏那样,左眼用图像91与右眼用图像92的位置偏移相对小的情况下,视差零距离相对变近。
在上述的方法中,能立体观察到左右2个图像相重叠的部分(由图24所示的斜线包围的区域)的图像,而未重叠的部分的图像则无法立体观察到。即,在上述的方法中,当变更视差零距离时,立体观察到的区域的大小发生变化。
这里,如果将2个图像中的一定范围的区域显示到画面中,则根据视差零距离的变化,有时导致会显示出2个图像的不重叠的部分。例如,在图24中,假设虚线所包围的区域93是在画面中显示的区域。此时,在如图24所示的表的上栏那样视差零距离远的情况下,由于在区域93内只包含2个图像相重叠的部分,所以,画面中显示的图像全体被观察为立体。但是,在如图24所示的表的下栏那样视差零距离近的情况下,由于在区域93内包含2个图像不重叠的部分,所以,画面中显示的图像的一部分不能立体看到。该情况下,由于在画面中同时显示立体看到的图像和非立体看到的图像,所以成为视觉不好的图像。另外,也可以考虑2个图像不重叠的部分不显示图像(显示黑)的方法。但是,在该方法中,由于在视差零距离近的情况下显示的图像的宽度变窄,所以,不仅对用户产生不协调感,而且由于形成了没有任何显示的区域,所以存在着不能有效利用显示画面的问题。
发明内容
因此,本发明的目的在于,提供一种在立体显示时能够良好地显示图像的立体图像显示系统、立体图像显示方法以及立体图像显示装置。
为了解决上述的课题,本发明采用了以下(1)~(8)的构成。
(1)本发明涉及的立体图像显示系统用于使立体显示装置显示图像,该立体显示装置能够实现使用了由2个摄像装置拍摄到的2个拍摄图像的立体显示。立体图像显示系统具有:规定的拍摄图像、偏移量决定单元、区域尺寸变更单元、和显示控制单元。偏移量决定单元为了调整立体显示时的视差,对表示各拍摄图像的显示范围的规定大小的区域,决定从基准位置起的偏移量。区域尺寸变更单元对至少一方的区域,在移动了偏移量的区域露出到拍摄图像以外的情况下,变更各区域的大小,以使该区域不露出到拍摄图像以外。显示控制单元将由偏移量决定单元和区域尺寸变更单元决定的区域作为显示对象区域,在立体显示装置的画面上的规定区域,显示2个拍摄图像中的各显示对象区域内的图像。
上述“立体显示装置”只要是能够通过使用户的左眼和右眼分别看到不同的图像来进行立体显示的装置即可。“立体显示装置”例如可以是采用了视差屏蔽方式或柱面透镜光栅方式的显示装置,也可以是如具有左眼用显示器和右眼用显示器的头盔显示器那样的显示装置。另外,“立体显示装置”也可以是用户通过使用专用的眼镜,使左眼和右眼分别看到不同图像的显示装置。
上述“规定的大小”可以是任意的大小,也可以是比拍摄图像大的范围。另外,上述“基准位置”可以是拍摄图像上的任意位置。
上述“画面上的规定区域”可以是画面的整个区域,也可以是画面的一部分区域。
根据上述(1)的结构,由于区域的大小被变更成对拍摄图像的显示范围进行表示的区域不露出到拍摄图像以外,所以拍摄图像必然包含在显示区域的整个区域。这里,在显示区域的一部分中不包含拍摄图像的情况下,由于对该一部分不能进行立体显示,所以成为不良显示、或对用户产生不协调感。而根据上述(1)的结构,由于在显示区域的整个区域内必然包含拍摄图像,所以可防止不良显示,从能够进行更加良好的立体显示。
(2)立体图像显示系统也可以具有对各拍摄图像执行识别处理,识别出在拍摄图像中包含的规定拍摄对象的识别单元。此时,偏移量决定单元按照移动后的区域表示立体显示中的视差零距离成为与从摄像装置到拍摄对象的距离对应的距离的显示范围的方式,决定偏移量。
上述“规定的拍摄对象”除了后述实施方式中的标记53以外,只要是通过识别处理能够识别的物体即可,可以是任意的物体。例如,也可以将用户(游戏者)的面部等作为规定的拍摄对象进行识别。
上述“立体显示中的视差零距离成为与从摄像装置到拍摄对象的距离对应的距离”意味着根据从摄像装置到拍摄对象的距离决定视差零距离,但不意味着计算出“从摄像装置到拍摄对象的距离”。即,“显示位置决定单元”如后述的实施方式那样,计算出与从摄像装置到拍摄对象的距离对应的距离(虚拟标记距离)(步骤S13),根据计算出的距离,计算出视差零距离(步骤S17),根据视差零距离决定显示位置(步骤S21)。另外,“显示位置决定单元”也可以如后述的(不计算出视差零距离的变形例)所记载那样,在2个拍摄图像之间对规定的拍摄对象进行匹配,按照在2个拍摄图像中拍摄对象的位置一致的方式,决定显示位置。
根据上述(2)的结构,立体显示装置中显示的2个图像的显示区域被调整成,立体显示中的视差零距离成为与从摄像装置到规定的拍摄对象的距离对应的距离。即,立体显示的图像的视差零点被自动调整为与从摄像装置到规定的拍摄对象的距离相符。由此,例如由于视差零点可以被自动设置在规定的拍摄对象的位置或拍摄对象附近的位置,所以,能够进行视差零点被设定于在拍摄对象附近显示的虚拟对象的立体显示。即,即使从摄像装置到拍摄对象的距离变化,也能够进行视差零点被设定于虚拟对象的立体显示。因此,根据上述(2)的结构,在对使用扩张现实感技术而生成的虚拟对象图像进行立体显示的情况下,可良好地显示虚拟对象的图像。
而且,在如上述(2)的结构那样,与用户的意思无关地自动变更显示区域的情况下,如果不进行基于区域尺寸变更单元的区域尺寸变更,则对于用户而言,显示区域被随意变更,在显示区域的一部分中不包含拍摄图像。因此,会使用户突然感到图像不良,尤其是感到不协调。因此,在如上述(2)的结构那样,与用户的意志无关地自动变更显示区域的情况下,根据本发明来自动调整显示区域的大小是特别有效的。
(3)识别单元也可以根据拍摄图像计算出规定的拍摄对象与各摄像装置的各自位置关系。此时,立体图像显示系统还具有根据由识别单元计算出的各位置关系中的至少一方,计算出与从摄像装置到拍摄对象的距离对应的长度的距离计算单元。而且,偏移量决定单元基于由距离计算单元计算出的距离而决定的视差零距离,决定偏移量。
上述“位置关系”只要是对摄像装置与规定的拍摄对象的位置关系进行反映的信息即可,可以是以规定的拍摄对象为基准的摄像装置的位置和姿势,也可以是以摄像装置为基准的规定的拍摄对象的位置和姿势。另外,上述“位置关系”也可以是在后述的实施方式的步骤S2中计算出的虚拟照相机的位置和姿势(观察行列)。
根据上述(3)的结构,由于实际计算出与从摄像装置到拍摄对象的距离对应的长度,并根据该长度决定视差零距离,所以可正确设定视差零距离。由此,例如可容易地将从摄像装置到拍摄对象的距离作为视差零距离、或将与从摄像装置到拍摄对象的距离向前(或向后)离开规定距离的距离作为视差零距离。
(4)显示控制单元也可以对各拍摄图像执行将使用位置关系而生成的虚拟对象图像对显示对象区域内的拍摄图像合成的处理,并在立体显示装置中显示通过合成而得到的2个图像。
根据上述(4)的结构,可立体显示将拍摄图像和虚拟图像合成后的合成图像。
(5)显示控制单元可以具有:照相机位置计算单元、照相机视野计算单元、和虚拟图像生成单元。照相机位置计算单元根据各位置关系,分别计算出虚拟对象被配置的虚拟空间中的2个虚拟照相机的位置和姿势。照相机视野计算单元按照将显示对象区域内的与现实空间对应的虚拟空间作为范围的方式,分别计算出各虚拟照相机的视野范围(可视体积、射影行列)。虚拟图像生成单元根据各虚拟照相机的位置、姿势以及视野,分别生成应该对各拍摄图像合成的虚拟对象的图像。
根据上述(5)的结构,虚拟照相机被设定为将与拍摄图像的显示对象区域对应的虚拟空间作为视野范围。由此,即使在如本发明那样拍摄图像的显示区域的大小被变更的情况下,也能够使拍摄图像的范围与虚拟图像的范围对应,能够在拍摄图像上的合适位置显示虚拟对象图像。
(6)照相机视野计算单元也可以按照显示对象区域相对拍摄图像的整个区域的位置关系、和应该计算出的视野范围相对与摄像装置的视野范围对应的虚拟照相机的视野范围的位置关系相对应的方式,计算出虚拟照相机的视野范围。
上述“显示对象区域相对拍摄图像的整个区域的位置关系”在图22的例子中,是显示区域63相对左拍摄图像55的位置关系。而且,“与摄像装置的视野范围对应的虚拟照相机的视野范围”在图22的例子中,是由直线L3及L4表示的视野范围。即,“应该计算出的视野范围相对与摄像装置的视野范围对应的虚拟照相机的视野范围的位置关系”,在图22中,是由直线L5和L6表示的视野范围相对由直线L3和L4表示的视野范围的位置关系。
根据上述(6)的结构,由于使用拍摄图像的区域与显示对象区域的位置关系,计算出虚拟照相机的视野范围,所以可容易地计算出与显示对象区域对应的视野范围。
(7)在移动了偏移量的区域露出到拍摄图像以外的情况下,区域尺寸变更单元可以按照该区域露出的顶点成为该拍摄图像的边缘的位置,并且不改变中心位置的方式缩小区域。
根据上述(7)的结构,可以将露出到拍摄图像以外的区域的缩小抑制到最小限度。因此,可防止画面中显示的范围过度缩小(过度推近(zoom up)),能够显示更良好的图像。
(8)偏移量决定单元对从2个摄像单元依次取得的拍摄图像中的被显示在画面中的规定拍摄图像,依次决定偏移量。此时,区域尺寸变更单元在每次对规定的拍摄图像决定偏移量时,判定移动了偏移量的区域是否露出到拍摄图像以外,在该区域露出到拍摄图像以外的情况下,变更各区域的大小。显示控制单元将规定的拍摄图像中的各显示对象区域内的图像依次显示到立体显示装置的画面上的规定区域。
上述“规定的拍摄图像”可以是任意图像,例如可以是识别处理成功的拍摄图像,也可以是从摄像装置依次取得的所有拍摄图像。即,对从摄像装置依次取得的各拍摄图像,可以依次显示所有的拍摄图像,也可以只显示识别处理成功的拍摄图像。另外,例如在对某个拍摄图像的识别处理完成时对最新的拍摄图像执行下一个识别处理的情况下,也可以只显示成为识别处理的对象的拍摄图像。
根据上述(8)的结构,针对规定的拍摄图像依次判定区域是否露出到拍摄图像以外,在露出的情况下变更区域的大小。结果,显示区域被依次变更为合适的大小,来显示拍摄图像。由此,能够对实时取得的拍摄图像实时调整显示区域的大小,进行立体显示。
另外,在上述立体图像显示系统中,也可以利用执行立体图像显示程序的计算机来实现上述各单元,或采用专用电路来实现上述各单元的一部分或全部。而且,本发明也能够以由具备上述各单元的1个以上信息处理装置构成的立体图像显示系统的方式实施。此时,1个以上信息处理装置可以通过有线或无线通信直接进行通信,也可以通过网络进行通信。并且,本发明也能够以由上述各单元执行的立体图像显示方法的方式实施。
另外,本发明也能够以存储有在信息处理装置的计算机中执行的立体图像显示程序的计算机可读取的存储介质的方式实施。立体图像显示程序使上述计算机发挥与上述各单元同等的功能。
上述“信息处理装置”的概念除了后述实施方式中记载的游戏装置以外,还包含通过执行计算机程序来进行信息处理的任意计算机。另外,上述“信息处理装置”无论是否是移动型,都可以构成为与立体显示装置一体,也可以分体构成。
作为上述“立体图像显示程序”的概念的一例,是后述实施方式中记载的游戏程序,但也包含在个人计算机或移动终端中执行的应用程序。
根据本发明,由于以按照表示拍摄图像的显示范围的区域不露出拍摄图像以外的方式变更区域的大小,所以显示区域的整个区域中必然包含拍摄图像。由此,可防止不良显示,能够进行更良好的立体显示。
关于本发明的这些以及其他目的、特征、局面和效果,通过参照附图进行以下的详细说明,可进一步明确理解。
附图说明
图1是开状态下的游戏装置的主视图。
图2是开状态下的游戏装置的侧视图。
图3是开状态下的游戏装置的左侧视图、主视图、右侧视图以及后视图。
图4是图1所示的上侧壳体的A-A’线剖面图。
图5A是表示3D调整开关的滑键位于最下点(第3位置)的样子的图。
图5B是表示3D调整开关的滑键位于比最下点靠上方的范围置(第1位置)的样子的图。
图5C是表示3D调整开关的滑键位于最上点(第2位置)的样子的图。
图6是表示游戏装置的内部结构的框图。
图7是表示使用本实施方式涉及的游戏装置10的样子的图。
图8是表示游戏装置10、与各个球51和52、以及标记53的位置关系的图。
图9是表示各拍摄图像和在它们中设定的显示区域的图。
图10是将图9所示的各拍摄图像重叠成显示区域一致而进行表示的图。
图11是表示各合成图像的图。
图12是表示左拍摄图像与显示区域的基准框的关系的图。
图13是表示框偏离了基准位置时的左拍摄图像的图。
图14是表示框被缩小后的左拍摄图像的图。
图15是表示在基于游戏程序的处理中使用的各种数据的图。
图16是表示在游戏装置中执行的游戏处理的流程的主流程图。
图17是表示图16所示的视差零点计算处理(步骤S4)的流程的流程图。
图18是表示虚拟空间中的虚拟照相机间距离的图。
图19是表示虚拟空间中的虚拟标记距离的图。
图20是表示图16所示的左图像生成处理(步骤S5)的流程的流程图。
图21是表示现实空间与拍摄图像的平面的对应的图。
图22是表示拍摄图像的平面与虚拟空间的对应的图。
图23是表示进行了修正处理的拍摄图像与显示区域的关系的图。
图24是表示2个图像的位置关系与视差零距离的关系的图。
具体实施方式
[游戏装置的构成]
下面,参照附图,对作为本发明涉及的立体图像显示程序以及立体图像显示装置的一个实施方式的游戏程序及游戏装置进行说明。图1~图3是表示游戏装置10的外观的俯视图。游戏装置10是便携式游戏装置,如图1~图3所示,构成为可折叠。图1及图2表示了打开状态(开状态)下的游戏装置10,图3表示了闭合状态(闭状态)下的游戏装置10。图1是开状态下的游戏装置10的主视图,图2是开状态下的游戏装置10的侧视图。游戏装置10能够利用照相机拍摄图像,将拍摄到的图像显示到画面上,或者保存所拍摄的图像的数据。而且,游戏装置10能够执行规定的游戏程序,可以将通过在虚拟空间中设定的虚拟照相机拍摄到的图像显示到画面上。
首先,参照图1~图3,对游戏装置10的外观结构进行说明。如图1~图3所示,游戏装置10具有下侧壳体11以及上侧壳体21。下侧壳体11和上侧壳体21连接成能够开闭(可折叠)。在本实施方式中,各壳体11及21都是横长的长方形板状形状,在相互的长边部分连接成可旋转。
如图1及图2所示,在下侧壳体11的上侧长边部分设置有向与下侧壳体11的内侧面(主面)11B垂直的方向突起的突起部11A。而且,在上侧壳体21的下侧长边部分设置有从上侧壳体21的下侧面向与该下侧面垂直的方向突起的突起部21A。通过下侧壳体11的突起部11A和上侧壳体21的突起部21A连结,下侧壳体11与上侧壳体21连接成能够折叠。
(下侧壳体的说明)
首先,说明下侧壳体11的构成。如图1~图3所示,在下侧壳体11上设置有下侧LCD(Liquid Crystal Display:液晶显示装置)12、触摸屏13、各操作键14A~14L(图1、图3)、控制杆(analog stick)15、LED16A~16B、插入口17以及麦克风用孔18。下面,对它们进行详细说明。
如图1所示,下侧LCD12被收纳于下侧壳体11。下侧LCD12为横长形状,被配置成长边方向与下侧壳体11的长边方向一致。下侧LCD12在左右方向(图1所示的x轴方向)上被配置在下侧壳体11的中央。下侧LCD12设置在下侧壳体11的内侧面(主面),从设置于下侧壳体11的开口部露出该下侧LCD12的画面。通过在不使用游戏装置10的情况下成为闭合状态,可防止下侧LCD12的画面被弄脏或受到损伤。下侧LCD12的像素数例如可以是256dot×192dot(横×纵)。下侧LCD12与后述的上侧LCD22不同,是平面显示(不能立体显示)图像的显示装置。另外,在本实施方式中使用了LCD作为显示装置,但也可以使用例如利用了EL(Electro Luminescence:电场发光)的显示装置等其他任意的显示装置。而且,作为下侧LCD12,可以利用任意分辨率的显示装置。
如图1所示,作为输入装置,游戏装置10具备触摸屏13。触摸屏13被安装在下侧LCD12的画面上。其中,在本实施方式中,触摸屏13是电阻膜方式的触摸屏。但触摸屏并不限于电阻膜方式,例如也可以采用静电电容方式等任意方式的触摸屏。在本实施方式中,利用与下侧LCD12的分辨率相同分辨率(检测精度)的触摸屏作为触摸屏13。但不是必须使触摸屏13的分辨率与下侧LCD12的分辨率一致。而且,在下侧壳体11的上侧面设置有插入口17(图1及图3(d)中所示的虚线)。插入口17可以收纳用于对触摸屏13进行操作的触笔28。另外,虽然通常利用触笔28进行对触摸屏13的输入,但并不限于触笔28,用户也可以利用手指进行对触摸屏13的输入。
各操作键14A~14L是用于进行规定的输入的输入装置。如图1所示,在下侧壳体11的内侧面(主面)上设置有各操作键14A~14L中的十字键14A(方向输入键14A)、键14B、键14C、键14D、键14E、电源键14F、选择键14J、HOME键14K以及开始键14L。十字键14A具有十字的形状,并具有指示上下左右方向的键。键14A~14E、选择键14J、HOME键14K以及开始键14L被恰当分配了与游戏装置10所执行的程序对应的功能。例如,十字键14A用于选择操作等,各操作键14B~14E用于决定操作或取消操作等。另外,电源键14F被用于切断/接通游戏装置10的电源。
控制杆15是指示方向的设备,被设在下侧壳体11的内侧面。如图1所示,控制杆15被设在十字键14A的上方。控制杆15构成为用手指操作的杆部能够相对下侧壳体11的内侧面向任意方向(上下左右以及倾斜方向的任意角度)倾倒。控制杆15对应于游戏装置10所执行的程序发挥功能。例如,当由游戏装置10执行在3维虚拟空间中出现规定对象的游戏时,控制杆15作为用于使该规定对象在3维虚拟空间内移动的输入装置发挥功能。该情况下,规定对象向控制杆15倾倒的方向移动。另外,作为控制杆15,也可以使用通过以规定量向上下左右以及斜方向的任意方向滑动,而能够进行模拟输入的设备。
图3(a)是闭状态下的游戏装置10的左侧视图,图3(b)是闭状态下的游戏装置10的主视图,图3(c)是闭状态下的游戏装置10的右侧视图,图3(d)是闭状态下的游戏装置10的后视图。如图3(b)及(d)所示,在下侧壳体11的上侧面设置有L键14G和R键14H。L键14G被设在下侧壳体11的上面的左端部,R键14H被设在下侧壳体11的上面的右端部。L键14G及R键14H例如可作为照相机的快门键(摄影指示键)发挥功能。另外,如图3(a)所示,在下侧壳体11的左侧面设置有音量键14I。音量键14I用于调整游戏装置10所具备的扬声器的音量。
如图3(a)所示,在下侧壳体11的左侧面设置有能够开闭的盖部11C。在该盖部11C的内侧设置有用于将游戏装置10与数据保存用外部存储器45电连接的连接器(未图示)。数据保存用外部存储器45可插拔自如地安装到连接器上。数据保存用外部存储器45例如被用于存储(保存)由游戏装置10拍摄到的图像的数据。另外,上述连接器以及其盖部11C也可以设置在下侧壳体11的右侧面。
而且,如图3(d)所示,在下侧壳体11的上侧面设置有能够开闭的盖部11D。在该盖部11D的内侧,设置有用于将游戏装置10与记录有游戏程序的外部存储器44插拔自如地电连接的连接器(未图示)。通过将该外部存储器44与游戏装置10连接,可执行规定的游戏程序。另外,上述连接器及其盖部11D也可以设置在下侧壳体11的其他侧面(例如右侧面等)。
另外,如图1及图3(c)所示,在下侧壳体11的下侧面设置有向用户通知游戏装置10的电源接通/断开状况的第1LED16A,在下侧壳体11的右侧面设置有向用户通知游戏装置10的无线通信建立状况的第2LED16B。游戏装置10能够与其他设备之间进行无线通信,第1LED16B在建立了无线通信的情况下点亮。游戏装置10例如具有通过基于IEEE802.11.b/g标准的方式与无线LAN连接的功能。在下侧壳体11的右侧面,设置有使该无线通信的功能有效/无效的无线开关19(参照图3(c))。
而且,在下侧壳体11的内侧面设置有麦克风用孔18。在麦克风用孔18的下部设置有后述的作为声音输入装置的麦克风(参照图6),该麦克风对游戏装置10外部的声音进行检测。
另外,虽然省略了图示,但在下侧壳体11内收纳有成为游戏装置10的电源的充电式电池,通过在下侧壳体11的侧面(例如上侧面)设置的端子,可对该电池充电。
(上侧壳体的说明)
下面,对上侧壳体21的构成进行说明。如图1~图3所示,上侧壳体21上设置有上侧LCD(Liquid Crystal Display:液晶显示装置)22、外侧照相机23(左眼用照相机23a及右眼用照相机23b)、内侧照相机24、3D调整开关25以及3D指示灯26。下面,对它们进行详细说明。
如图1所示,上侧LCD22被收纳于上侧壳体21。上侧LCD22为横长形状,被配置成长边方向与上侧壳体21的长边方向一致。上侧LCD22在左右方向(图1所示的x轴方向)上被配置在上侧壳体21的中央。上侧LCD22的画面面积被设定为比下侧LCD12的画面面积大。具体而言,上侧LCD22的画面被设定成比下侧LCD12的画面横向更长。即,上侧LCD22的画面的长宽比例中的横向宽度比例被设定为比下侧LCD12的画面的长宽比例中的横向宽度比例大。
上侧LCD22的画面被设于上侧壳体21的内侧面(主面)21B,从设置于上侧壳体21的开口部露出该上侧LCD22的画面。另外,如图2所示,上侧壳体21的内侧面被透明的屏幕保护罩27覆盖。该屏幕保护罩27用于保护上侧LCD22的画面,并且使上侧LCD22与上侧壳体21的内侧面成为一体,由此,可具有统一感。上侧LCD22的像素数例如可以是640dot×200dot(横×纵)。另外,在本实施方式中,上侧LCD22是液晶显示装置,但也可以使用例如利用了EL(Electro Luminescence:电致发光)的显示装置等。而且,作为上侧LCD22,可以利用任意分辨率的显示装置。
上侧LCD22是能够显示立体图像的显示装置。而且,在本实施方式中,使用实质相同的显示区域显示左眼用图像和右眼用图像。具体而言,上侧LCD22是以规定单位(例如1列)在横方向交替显示左眼用图像和右眼用图像的方式的显示装置。另外,上侧LCD22也可以是以时间分割方式交替显示左眼用图像和右眼用图像的显示装置。而在本实施方式中,上侧LCD22是能够用裸眼获得立体视觉的显示装置。而且,使用柱面透镜光栅方式或视差(parallax)遮蔽方式的显示装置,以便能够将在横方向交替显示的左眼用图像和右眼用图像分别分解成左眼及右眼能分别看到。在本实施方式中,上侧LCD22为视差屏障方式的显示装置。上侧LCD22使用右眼用图像和左眼用图像,显示裸眼可获得立体视觉的图像(立体图像)。即,上侧LCD22通过使用视差屏障,分别使用户的左眼观察到左眼用图像,使用户的右眼观察到右眼用图像,来显示对用户而言具有立体感的立体图像(可获得立体感的图像)。而且,上侧LCD22能够使上述视差屏障无效,在视差屏障无效的情况下,可平面显示图像(能够显示与上述立体视觉相对的平面视觉的图像)。这样,上侧LCD22是能够在显示立体视觉图像的立体显示模式、和显示平面图像(显示平面视觉图像)的平面显示模式之间进行切换的显示装置。该显示模式的切换由后述的3D调整开关25进行。
外侧照相机23被设在上侧壳体21的外侧面(与设置有上侧LCD22的主面相反侧的背面)21D,是以该外侧面21D的法线方向为拍摄方向的立体照相机。外侧照相机23由左眼用照相机23a和右眼用照相机23b这2台照相机构成。左眼用照相机23a和右眼用照相机23b被配置成各自的拍摄方向平行。左眼用照相机23a和右眼用照相机23b分别包括:具有规定的分辨率的摄像元件(例如CCD图像传感器或CMOS图像传感器等)、和镜头。
如图1的虚线及图3(b)的实线所示,构成外侧照相机23的左眼用照相机23a及右眼用照相机23b被与上侧LCD22的画面的横方向平行排列配置。即,左眼用照相机23a和右眼用照相机23b被配置成连结2台照相机的直线与上侧LCD22的画面的横方向平行。在图1中,表示左眼用照相机23a和右眼用照相机23b的虚线意味着在与上侧壳体21的内侧面相反侧的外侧面,存在左眼用照相机23a和右眼用照相机23b。如图1所示,在用户从正面观察上侧LCD22的画面时,左眼用照相机23a位于左侧,右眼用照相机23b位于右侧。左眼用照相机23a与右眼用照相机23b的间隔被设定为人的两眼的间隔左右,例如可以设定在30mm~70mm的范围。另外,左眼用照相机23a与右眼用照相机23b的间隔不限于该范围。而且,在其他实施方式中,也可以使上述的2个照相机23a与23b的间隔可变。
另外,左眼用照相机23a和右眼用照相机23b在上侧LCD22(上侧壳体21)的左右方向分别被配置在从中央起对称的位置。即,左眼用照相机23a和右眼用照相机23b分别被配置在相对于将上侧LCD22左右2等分的线而对称的位置。而且,左眼用照相机23a和右眼用照相机23b在上侧壳体21开启的状态下,被配置在上侧壳体21的上部的比上侧LCD22的画面上端靠上方位置的背侧。即,左眼用照相机23a和右眼用照相机23b被配置在上侧壳体21的外侧面的、当将上侧LCD22投影到外侧面时比投影后的上侧LCD22的画面上端靠上方的位置。
这样,通过将外侧照相机23的2台照相机在上侧LCD22的左右方向配置到从中央起对称的位置,在用户正面观察上侧LCD22的情况下,能够使外侧照相机23的拍摄方向与用户的视线方向一致。而且,由于外侧照相机23被配置在比上侧LCD22的画面上端靠上方的背侧位置,所以外侧照相机23和上侧LCD22在上侧壳体21的内部不发生干扰。因此,与将外侧照相机23配置在上侧LCD22的画面的背侧的情况相比,可构成薄的上侧壳体21。
内侧照相机24被设在上侧壳体21的内侧面(主面)21B,是以该内侧面的法线方向为拍摄方向的照相机。内侧照相机24包括:具有规定的分辨率的摄像元件(例如CCD图像传感器或CMOS图像传感器等)、和镜头。
如图1所示,内侧照相机24在上侧壳体21开启的状态下,被配置在上侧壳体21的上部的比上侧LCD22的画面上端靠上方的位置,在上侧壳体21的左右方向被配置在中央的位置。具体而言,如图1及图3(b)所示,内侧照相机24被配置在上侧壳体21的内侧面的、外侧照相机23的左右照相机(左眼用照相机23a和右眼用照相机23b)的中间的背侧位置。即,在将设置于上侧壳体21的外侧面的左右照相机投影到上侧壳体21的内侧面的情况下,内侧照相机24设置在该投影后的左右照相机的中间。图3(b)所示的虚线表示了存在于上侧壳体21的内侧面的内侧照相机24。
这样,内侧照相机24向与外侧照相机23相反的方向进行拍摄。内侧照相机24被设在上侧壳体21的内侧面的、外侧照相机23的左右照相机的中间位置的背侧。由此,在用户正面观察上侧LCD22时,能够利用内侧照相机24从正面拍摄用户的面孔。而且,由于外侧照相机23的左右照相机与内侧照相机24在上侧壳体21的内部不会发生干扰,所以可构成薄的上侧壳体21。
3D调整开关25是滑动开关,用于如上述那样对上侧LCD22的显示模式进行切换。3D调整开关25被用于对在上侧LCD22中显示的立体视觉图像(立体图像)的立体感进行调整。如图1~图3所示,3D调整开关25被设在上侧壳体21的内侧面以及右侧面的端部,在用户正面观察上侧LCD22的情况下,设在可以观察到该3D调整开关25的位置。
图4是图1所示的上侧壳体21的A-A’线剖面图。如图4所示,在上侧壳体21的内侧面的右端部形成有凹部21C,在该凹部21C中设置3D调整开关25。3D调整开关25如图1和图2所示,被配置成能够从上侧壳体2的正面及右侧面观察到。3D调整开关25的滑键25a能够滑动到规定方向(上下方向)的任意位置,根据该滑键25a的位置,设定上侧LCD22的显示模式。
图5A至图5C是表示3D调整开关25的滑键25a滑动的样子的图。图5A是表示3D调整开关25的滑键25a位于最下点(第3位置)的样子的图。图5B是表示3D调整开关25的滑键25a位于比最下点靠上方的位置(第1位置)的样子的图。图5C是表示3D调整开关25的滑键25a位于最上点(第2位置)的样子的图。
如图5A所示,在3D调整开关25的滑键25a位于最下点(第3位置)的情况下,上侧LCD22被设定为平面显示模式,上侧LCD22的画面中显示平面图像。而在滑键25a位于从图5B所示的位置(比最下点靠上侧的位置(第1位置))到图5C所示的位置(最上点的位置(第2位置))之间的情况下,上侧LCD22被设定为立体显示模式。该情况下,上侧LCD22的画面中显示立体视觉图像。在滑键25a位于第1位置到第2位置之间的情况下,根据滑键25a的位置,调整立体图像的立体感。3D调整开关25的滑键25a构成为可在第3位置固定,并且构成为在第1位置与第2位置之间能够沿上下方向滑动到任意位置。例如,滑键25a构成为在第3位置被从形成3D调整开关25的侧面向图5A所示的横方向突出的凸部(未图示)固定,只要不向上方施加规定以上的力,则不会向第3位置的上方滑动。
3D指示灯26表示上侧LCD22是否是立体显示模式。3D指示灯26是LED,在上侧LCD22的立体显示模式有效的情况下点亮。如图1所示,3D指示灯26被设在上侧壳体21的内侧面,设置于上侧LCD22的画面附近。因此,在用户正面观察上侧LCD22的画面的情况下,用户容易观察到3D指示灯26。从而,用户在观察上侧LCD22的画面的状态下,能够容易地确认上侧LCD22的显示模式。
而且,在上侧壳体21的内侧面设置有扬声器孔21E。来自后述的扬声器43的声音被从该扬声器孔21E输出。
[游戏装置10的内部构成]
下面,参照图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 ProcessingUnit)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和/或下侧LCD121,在上侧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/F连接后,信息处理部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轴,检测出各轴的直线加速度的大小。例如,加速度传感器39可以是能够从アナログ·デバイセズ株式会社(Analog Devices,Inc.)或STマイクロエレクトロニクス公司(STMicroelectronics N.V.)购入的器件。另外,加速度传感器39例如是静电电容式的加速度传感器,但也可以是其他方式的加速度传感器。而且,加速度传感器39也可以是检测1轴或2轴方向的加速度传感器。信息处理部31可以接收表示由加速度传感器39检测出的加速度的数据(加速度数据),来检测游戏装置10的姿势、动向。
而且,信息处理部31与RTC38以及电源电路40连接。RTC38对时间进行计时,并将其输出到信息处理部31。信息处理部31根据由RTC38计时的时间,计算当前时刻(日期)。电源电路40控制由游戏装置10所具有的电源(被收纳在下侧壳体11的上述充电式电池)提供的电力,向游戏装置10的各部件提供电力。
另外,信息处理部31与I/F电路41连接。I/F电路43与麦克风42以及扬声器43连接。具体而言,I/F电路41通过未图示的放大器与扬声器43连接。麦克风42检测出用户的声音,向I/F电路41输出声音信号。放大器将来自I/F电路41的声音信号放大,从扬声器43输出声音信号。而且,触摸屏13与I/F电路41连接。I/F电路41包括进行麦克风42及扬声器43(放大器)的控制的声音控制电路、和进行触摸屏的控制的触摸屏控制电路。声音控制电路对声音信号进行A/D转换及D/A转换,或将声音信号转换成规定形式的声音数据。触摸屏控制电路根据来自触摸屏13的信号,生成规定形式的触摸位置数据,并将其输出到信息处理部31。触摸位置数据表示在触摸屏13的输入面上进行了输入的位置的坐标。其中,触摸屏控制电路以规定时间进行一次的比例读入来自触摸屏13的信号、以及生成触摸位置数据。信息处理部31通过取得触摸位置数据,可得知对触摸屏13进行了输入的位置。
操作键14由上述各操作键14A~14L构成,与信息处理部31连接。从操作键14向信息处理部31输出表示对各操作键14A~14L的输入状况(是否被按压)的操作数据。信息处理部31通过从操作键14取得操作数据,来执行根据对操作键14的输入的处理。
下侧LCD12及上侧LCD22与信息处理部31连接。下侧LCD12及上侧LCD22根据信息处理部31(的GPU312)的指示显示图像。在本实施方式中,信息处理部31在上侧LCD22中显示使用了右眼用图像和左眼用图像的立体图像(能够立体观察的图像)。
具体而言,信息处理部31与上侧LCD22的LCD控制器(未图示)连接,对该LCD控制器控制视差屏障的开/关。在上侧LCD22的视差屏障为开的情况下,信息处理部31的VRAM313中存储的右眼用图像和左眼用图像被输出到上侧LCD22。更具体而言,LCD控制器通过反复交替进行对右眼用图像沿纵方向读出1行量的像素数据的处理、和对左眼用图像沿纵方向读出1行量的像素数据的处理,从VRAM313中读出右眼用图像和左眼用图像。由此,右眼用图像和左眼用图像被分割成纵向逐行排列像素的短栅状图像,交替配置了被分割的右眼用图像的短栅状图像和左眼用图像的短栅状图像的图像,被显示在上侧LCD22的画面上。然后,通过使用户基于上侧LCD22的视差屏障来观察该图像,使用户的右眼观察到右眼用图像,用户的左眼观察到左眼用图像。由此,在上侧LCD22的画面上显示出立体视觉图像。
外侧照相机23及内侧照相机24与信息处理部31连接。外侧照相机23及内侧照相机24根据信息处理部31的指示而拍摄图像,将拍摄到的图像数据输出到信息处理部31。
3D调整开关25与信息处理部31连接。3D调整开关25将与滑键25a的位置对应的电信号发送给信息处理部31。
而且,3D指示灯26与信息处理部31连接。信息处理部31控制3D指示灯26的点亮。例如,信息处理部31在上侧LCD22是立体显示模式的情况下,使3D指示灯26点亮。以上是对游戏装置10的内部构成的说明。
[游戏装置10中的立体图像显示处理的概要]
下面,对在游戏装置10中执行的立体图像显示处理的概要进行说明。在本实施方式中,游戏装置10对使用扩张现实感技术而生成的图像进行立体显示。即,游戏装置10在能够进行立体显示的上侧LCD22上显示将由外侧照相机23拍摄到的图像(拍摄图像)、与虚拟生成的虚拟对象的图像(虚拟图像)合成后的图像(合成图像)。
图7是表示使用本实施方式涉及的游戏装置10的样子的图。在图7中,作为现实的物体的球51及52和标记53,由外侧照相机23(左眼用照相机23a及右眼用照相机23b)拍摄。另外,图8是表示游戏装置10与各个球51、52以及标记53的位置关系的图。如图8所示,配置成球51离游戏装置10最近,标记53离游戏装置10第2近,球52离游戏装置10最远。标记53是在扩张现实感技术中使用的拍摄对象。即,游戏装置10计算出该标记53与外侧照相机23的位置关系,通过将根据计算出的位置关系而生成的虚拟对象54的图像合成到拍摄图像中,来生成合成图像。
而且,如图7所示,在上侧LCD22中立体显示了基于扩张现实感技术的合成图像。即,如图7所示,在上侧LCD22的画面上显示左眼用的合成图像(图7所示的实线)和右眼用的合成图像(图7所示的虚线)双方。其中,图7中表示了左眼用和右眼用的双方合成图像被显示在上侧LCD22的画面的样子。不过,实际上对位于上侧LCD22的正面附近的用户而言,由于上述的视差屏障,左眼用图像只被用户的左眼看到,右眼用的图像只被用户的右眼看到。结果,用户可立体地观察图像。下面,参照图9~图13,说明基于扩张现实感技术的合成图像实现立体显示的处理的概要。
其中,以下将由左眼用照相机23a拍摄的图像称为“左拍摄图像”,将由右眼用照相机23b拍摄的图像称为“右拍摄图像”。而将与左拍摄图像合成的虚拟对象的图像称为“左虚拟图像”,将与右拍摄图像合成的虚拟对象的图像称为“右虚拟图像”。另外,将合成了左拍摄图像和左虚拟图像而得到的图像称为“左合成图像”,将合成了右拍摄图像和右虚拟图像而得到的图像称为“右合成图像”。
(显示区域的决定)
在本实施方式中,游戏装置10为了调整立体视觉显示中的视差零距离,在各拍摄图像中,将画面上显示的区域(显示区域)分别决定为恰当的位置。另外,被立体视觉显示的显示对象虽然以与立体显示时的纵深位置对应的视差进行显示,但其中被以视差为零而显示的显示对象在显示画面上可以看到(可看到焦点重合)。即,对立体显示中的视差小的物体而言,被看到在纵深方向上位于显示面的位置(看到焦点重合),视差大的物体被看到位于比显示面的位置靠前或靠后。
在本说明书中,将上述那样的在立体显示时从视点到显示画面上看到的显示对象的深度(视线方向上的距离)称为“视差零距离”。其中,视差零距离无论是在现实空间中还是在虚拟空间中都能够设定。即,视差零距离是指“从虚拟空间中的虚拟照相机到在立体显示中看到位于显示面的位置的点的(虚拟照相机的拍摄方向上的)距离”、或“从现实空间中的外侧照相机23到在立体显示中看到位于显示面上的点的(外侧照相机23的拍摄方向上的)距离”。另外,尤其将视差零距离上的点中的2个照相机位置(2个外侧照相机23a及23b的位置、或2个虚拟照相机的位置)的中线上的点称为“视差零点”。在游戏装置10中,通过调整各拍摄图像的显示区域,可以调整拍摄图像中包含的物体在显示上的视差,由此,能够调整立体显示中的视差零距离。其中,在本说明中,“视差”是指右眼用图像中包含的物体的位置、与左眼用图像中包含的该物体的位置之差。
这里,在本实施方式中,游戏装置10按照视差零距离成为与从外侧照相机23到标记53的距离(图8所示的距离D)对应的距离的方式,进行立体显示。即,游戏装置10按照视差零距离成为与上述距离D对应的距离的方式,决定各拍摄图像的显示区域。例如,游戏装置10通过按照视差零距离成为距离D的方式决定显示区域,以标记53的视差为零进行显示,也能够按照在画面上的纵深位置看到标记53(焦点与标记53重合)的方式进行立体显示。其中,由于实际上标记53具有大小,所以标记53的整体不会都视差为零。但是,本实施方式进行处理的目的在于,使位于视差零距离的对象进行视差为零那样的显示,而且,即使在该对象的全区域中视差不为零,该对象作为整体也能够以视差为零进行显示。因此,在本说明书中表现为“位于视差零距离的对象被以视差为零显示”。其中,在本实施方式中,当决定显示区域时,游戏装置10实际计算出其在与上述距离D对应的虚拟空间中的距离(后述的虚拟标记距离d),根据计算出的距离决定视差零距离。然后,按照成为所决定的视差零距离的方式调整显示区域(调整视差)。对于虚拟标记距离d的计算方法、和根据视差零距离决定显示区域的方法,将在后面详细进行说明。
图9是表示各拍摄图像和在它们中设定的显示区域的图。另外,图10是将图9所示的各拍摄图像按照显示区域一致的方式重叠显示的图。其中,为了容易观看图面,在图9及图10中用实线表示左拍摄图像55、用虚线表示右拍摄图像56。
例如,在将从外侧照相机23到标记53的距离D设为视差零距离的情况下,游戏装置10按照标记53在画面上左眼用图像和右眼用图像被显示在(大致)相同位置的方式(在画面上标记53成为视差零的方式),决定左拍摄图像55的显示区域57以及右拍摄图像56的显示区域58。即,如图9及图10所示那样,按照在各显示区域57及58内,标记53在画面上的左眼用图像和右眼用图像中成为(基本)相同位置的方式(按照标记53的视差为零的方式),决定各显示区域57和58。由此,可进行使到标记53的距离为视差零距离的立体显示。即,在进行立体显示时,可看到标记53位于画面上(附近)的纵深位置。
其中,使用左拍摄图像及右拍摄图像进行立体显示时的视差零距离,对应于各显示区域57及58的位置而变化。具体而言,在左拍摄图像55中,显示区域57从左拍摄图像55的中央向右偏移的量(偏移量)越大,立体显示中的视差零点越近,该偏移量越小,视差零点越远。而在右拍摄图像56中,显示区域58从右拍摄图像56的中央向左偏移的量越大,视差零点越近,该偏移量越小,视差零点越远。另外,在各显示区域57及58分别位于各拍摄图像55及56的中央的情况下,视差零点成为无限远。
如上所述,游戏装置10按照立体显示中的视差零距离成为与从外侧照相机23到标记53的距离D对应的距离的方式,决定各拍摄图像55及56中的各显示区域57及58的位置。因此,根据本实施方式,当游戏装置10接近标记53时,视差零点与之对应地变近,当游戏装置10远离标记53时,视差零点变远。另外,在图9和图10中,以将标记53的位置设为视差零点的情况为例进行了说明,但游戏装置10也可以除了标记53的位置之外,还在从标记53离开规定距离的前侧(或后侧)的位置使视差零点重合。而且,由于视差零距离无论是作为现实空间的距离还是作为虚拟空间的距离,都能够计算出来,所以,上述规定距离可以设定为现实空间的距离,也可以设定为虚拟空间的距离。
(合成图像的生成)
在如上述那样决定了显示区域57及58后,游戏装置10对显示区域内的各拍摄图像55及56合成虚拟对象54的图像(虚拟图像),生成合成图像。生成合成图像的处理通过使用了标记53的扩张现实感技术进行。即,游戏装置10计算出标记53与外侧照相机23的位置关系,通过将根据计算出的位置关系而生成的虚拟对象54的图像合成到拍摄图像中,生成合成图像。具体而言,根据上述位置关系决定虚拟空间中的虚拟照相机的位置及姿势,将从虚拟照相机观察的虚拟对象54的图像合成到拍摄图像中。
其中,在本实施方式中,按每个拍摄图像55及56进行合成虚拟图像的处理,对各拍摄图像55及56合成的各虚拟图像不同。即,为了生成各虚拟图像,设定2个虚拟照相机。对左拍摄图像55合成的虚拟对象的图像(左虚拟图像)基于左虚拟照相机生成,对右拍摄图像56合成的虚拟对象的图像(右虚拟图像)基于右虚拟照相机生成。另外,左虚拟照相机的位置及姿势根据左眼用照相机23a与标记53的位置关系计算出,右虚拟照相机的位置及姿势根据右眼用照相机23b与标记53的位置关系计算出。如上述那样生成2个虚拟图像的结果如图11所示,生成对左拍摄图像55合成了左虚拟图像的左合成图像59。而且,生成对右拍摄图像56合成了右虚拟图像的右合成图像60。另外,在图11中表示了虚拟对象54被显示在标记53的位置的情况,但虚拟对象54的显示位置也可以不是标记54的位置。游戏装置10能够在标记53附近的位置显示虚拟对象54,也能够在远离标记53的位置显示虚拟对象54。
(立体显示)
游戏装置10使用如上述那样生成的各合成图像59及60,进行立体显示。具体而言,游戏装置10在上侧LCD22的每1纵行交替配置左合成图像59和右合成图像60进行显示。其中,在图7及图11中,表示了左眼用图像(实线)和右眼用图像(虚线)双方被显示在上侧LCD22的画面中的样子。但实际上,(在上侧LCD22的视差屏障为ON的情况下)对位于上侧LCD22的正面附近的用户而言,由于上述视差屏障,左合成图像59只能被用户的左眼看到,右合成图像60只能被用户的右眼看到。结果,用户能够看到立体感的合成图像。即,用户看到视差小的虚拟对象54位于显示画面附近,而且球51从虚拟对象54飞出,球52在虚拟对象54的后面。
如上所述,根据本实施方式,游戏装置10通过使用扩张现实感技术,能够向用户显示虚拟对象54好像在现实世界中存在那样的图像。而且,游戏装置10通过进行立体显示,可以立体显示基于扩张现实感技术的合成图像。
另外,在本实施方式中,由于游戏装置10对应于从外侧照相机23到标记53的距离D来决定视差零距离,所以,立体显示的图像的视差零点对应该距离D被自动调整。因此,还能够自动调整成视差零点例如位于标记53的位置或标记53附近的位置。由此,由于还能够使视差零点自动与在标记53附近显示的虚拟对象54对准,所以,可以进行使用户容易看到虚拟对象54的显示。另外,在如本实施方式那样使用了扩张现实感技术的情况下,由于用户注视虚拟对象54的机会增多,所以,根据本实施方式,能够进行用户容易观察的立体显示。
(缩放处理)
另外,在本实施方式中,当自动调整视差零距离(显示区域)时,有时根据需要缩小显示区域,进行图像的放大(zoom up:推近)。下面,参照图12~图14,对缩小显示区域的处理的概要进行说明。
图12是表示左拍摄图像与显示区域的基准框的关系的图。如图12所示,在本实施方式中,基准框61被设定在左拍摄图像55的中央。基准框61表示决定显示区域的框(图13所示的框62)的基准位置。其中,在本实施方式中,左拍摄图像55的尺寸为384×512dot(纵×横),基准框61的尺寸为240×400dot(纵×横)。另外,关于拍摄图像及基准框的尺寸以及基准框的位置,右拍摄图像56也和左拍摄图像55相同。
图13是表示在框偏离了基准位置时的左拍摄图像的图。在对应于视差零距离而决定显示区域时,如上所述,对于左拍摄图像55,框62从中央(基准框61的位置)向右偏移。而且,框62的偏移量dx(从左拍摄图像55的中心点C到框62的中心点C’的距离)如上述那样根据视差零距离决定,视差零距离越小,偏移量dx越大。另外,对于右拍摄图像56,偏移量dx的大小与左拍摄图像55相同,偏移的方向成为与左拍摄图像55相反的左方向。
这里,当框62的偏移量dx超过规定值(在图13的例中为56dot)时,如图13所示,导致框62从左拍摄图像55露出。在框62从左拍摄图像55露出的情况下,如果还是将框62的区域作为显示区域,则从左拍摄图像55露出的部分(图13所示的斜线部分)没有左拍摄图像55。而且,该情况下,对右拍摄图像56而言,框也从右拍摄图像56露出,在框的左侧部分没有右拍摄图像56。因此,如果还是将框62的区域作为显示区域,则由于在画面中显示的图像的两端部分失去立体感,所以成为难以观看的图像。另外,在对上述两端的部分不显示拍摄图像(显示黑)的方法中,由于拍摄图像的宽度变窄,所以不仅对用户产生不协调感,而且无法高效率利用上侧LCD22的画面。
鉴于此,在本实施方式中,当框62从拍摄图像露出时,游戏装置10变更(缩小)框62的大小,使其收缩到拍摄图像的内侧。图14是表示框62被缩小后的左拍摄图像的图。在图14中,框62是变更前的框,框63是变更后的框。在上述情况下,游戏装置10将框缩小成露出的框62的顶点位于左拍摄图像55边缘的位置。此时,游戏装置10按照在变更前后框的中心位置(C’)不变化的方式缩小框。另外,对于右拍摄图像56也和左拍摄图像55同样,按照露出的框62的顶点位于右拍摄图像56边缘的位置,而且在变更前后框的中心位置不变化的方式缩小框。由此,上侧LCD22中显示的图像被放大。
如上所述,在本实施方式中,当由于上述偏移量dx大而使框从拍摄图像露出时,框的大小被变更。由此,图像被包含在各拍摄图像55及56的显示区域整体中。因此,不会出现在画面的两端部分失去立体感、或所显示的图像的宽度变窄的情况,可以显示在立体显示中容易观察的图像。
另外,在如上述那样框被缩小的情况下,上侧LCD22中显示的图像被推近(放大)。这里,框被缩小是偏移量dz大的情况、视差零距离短的情况。即,根据本实施方式,由于在观察近处的物体时图像被推近,所以,即使被自动推近,用户也几乎不会感到不自然,能够显示易于观察的图像。
而且,在如本实施方式那样自动改变视差零距离的情况下,如果假设框未被缩小,则即使在用户没有进行任何操作的情况下,视差零距离也自动变化,结果会产生画面两端的部分失去立体感等的问题,对用户带来非常大的不协调感。因此,在如本实施方式那样自动改变视差零距离的情况下,由于框被自动缩小,所以对于防止上述问题特别有效。
[游戏装置10中的详细处理]
下面,参照图15~图22,对由游戏程序执行的游戏处理的详细内容进行说明。首先,对在游戏处理中使用的各种数据进行说明。图15是表示在基于游戏程序的处理中使用的各种数据的图。在图15中,游戏装置10的主存储器32中存储有游戏程序71、拍摄图像数据72以及处理用数据75等。
游戏程序71是使游戏装置10的信息处理部31执行后述的游戏处理(图16)的程序。游戏程序71通过在适当的定时从外部存储器44或数据保存用内部存储器35等读取其一部分或全部,而被存储到主存储器32中。游戏程序71中包括用于进行规定游戏的程序、用于执行立体图像显示处理的程序。
拍摄图像数据72是表示由外侧照相机23拍摄到的图像(拍摄图像)的数据。拍摄图像数据72中包含左拍摄图像数据73和右拍摄图像数据74。左拍摄图像数据73是表示由左眼用照相机23a拍摄到的图像(左拍摄图像)的数据。右拍摄图像数据74是表示由右眼用照相机23b拍摄到的图像(右拍摄图像)的数据。其中,作为各拍摄图像数据73及74,可以只存储各自最新的数据,也可以分别从新的数据起按顺序存储规定个数的数据。
处理用数据75是在游戏处理中使用的各种数据。处理用数据75中包含识别结果数据76、虚拟照相机间隔数据77、虚拟标记距离数据78、虚拟照相机数据79、比例(scale)数据80、虚拟视差零距离数据81、实际视差零距离数据82、偏移量数据83、显示尺寸数据84以及视野范围数据85。另外,除了上述数据以外,在处理用数据75中还存储有与游戏中出现的各种对象(图7所示的虚拟对象54等)相关的数据、BGM等声音数据等游戏所必要的各种数据。
识别结果数据76是表示对拍摄图像中包含的标记53进行识别的处理(识别处理)结果的数据。具体而言,在本实施方式中识别处理中,作为识别结果,计算出表示虚拟照相机的位置及姿势的信息(例如虚拟照相机的观察(view)行列)。其中,观察行列是反映了虚拟照相机的位置及姿势的行列,具体而言,是将虚拟空间中的标记坐标系所表示的坐标,转换成由以虚拟照相机的位置及姿势为基准的虚拟照相机坐标系所表示的坐标的坐标转换行列。上述标记坐标系是以与现实空间中的标记53的位置对应的虚拟空间内的位置(称为“虚拟标记位置”)为原点的坐标系。
另外,由于对左拍摄图像和右拍摄图像分别执行上述识别处理,所以识别处理结果也针对左拍摄图像和右拍摄图像分别计算出。即,识别结果数据76包括:表示与左眼用照相机23a所对应的左虚拟照相机相关的识别结果的数据、和表示与右眼用照相机23b所对应的右虚拟照相机相关的识别结果的数据。
虚拟照相机间隔数据77是表示虚拟空间中的左虚拟照相机与右虚拟照相机的距离(虚拟照相机间距离e)的数据。详细情况将在后面说明,该虚拟照相机间距离e根据上述识别结果数据76(各虚拟照相机的观察行列)计算出。
虚拟标记距离数据78是虚拟空间中的从2个虚拟照相机到上述虚拟标记位置的距离(虚拟标记距离d)。这里,虚拟标记距离d是从虚拟照相机到标记对应位置的距离中的、虚拟照相机的视线方向的成分的长度。详细内容将在后面说明,虚拟标记距离d根据上述识别结果数据76(各虚拟照相机的观察行列)计算出。
虚拟照相机数据79是表示在虚拟图像的生成中使用的虚拟照相机的位置及姿势的数据。这里,上述识别结果数据76也和虚拟照相机数据79同样,表示虚拟照相机的位置及姿势(例如虚拟照相机的观察行列),但虚拟照相机数据79是从根据需要对识别结果数据76进行了规定的修正处理(后述的步骤S14)的结果而获得的数据。而且,虚拟照相机数据79也和识别结果数据76同样,包括:表示左虚拟照相机的位置及姿势的数据、和表示右虚拟照相机的位置及姿势的数据。另外,在本实施方式中,将对识别结果数据76进行了规定的修正处理后的数据作为虚拟照相机的观察行列(虚拟照相机数据79)而使用,但在其他实施方式中,例如也可以将识别结果数据76直接作为观察行列而使用。另外,例如也可以只利用针对左拍摄图像的识别结果,来设定左右双方的虚拟照相机的观察行列。
比例数据80是表示虚拟空间中的长度与现实空间中的长度的比率(比例)s的数据。其中,在本实施方式中,左眼用照相机23a与右眼用照相机23b之间的长度(实际照相机间距离E)是已知的,上述的比率可作为实际照相机间距离E与上述虚拟照相机间距离e之比(E/e)而计算出。
虚拟视差零距离数据81是表示与现实空间中的视差零距离F对应的虚拟空间中的视差零距离(虚拟视差零距离)f的数据。将在后面详细说明,在本实施方式中,虚拟视差零距离f根据上述虚拟标记距离d而决定。
实际视差零距离数据82是表示现实空间中的视差零距离(实际视差零距离)F的数据。在本实施方式中,实际视差零距离F根据上述虚拟视差零距离f以及上述比例s而计算出。
偏移量数据83是表示拍摄图像内的上述框的偏移量dx的数据。具体而言,偏移量dx如图13所示,是从拍摄图像的中心点到框的中心点的长度。详细内容将在后面说明,偏移量dx根据上述实际视差零距离F而计算出。另外,在本实施方式中,由于左拍摄图像和右拍摄图像中的框的偏移量相等,所以偏移量数据83只要作为偏移量dx而表示1种值即可。但在其他实施方式中,偏移量数据83可以分别包含表示左拍摄图像中的框的偏移量的数据、和表示右拍摄图像中的框的偏移量的数据。
显示尺寸数据84是表示上述框的大小的数据。具体而言,显示尺寸数据84表示框的纵横长度(点数)。其中,如上述那样,框的大小在上述偏移量dx为规定值以下的情况下,是预先决定的大小(240×400(纵×横)),在偏移量dx超过规定值的情况下,对应偏移量dx而缩小。
视野范围数据85是表示虚拟照相机的视野范围的数据。虚拟照相机的视野范围例如可以表示为虚拟照相机的可视体积,能够表示为虚拟照相机的射影行列。其中,射影行列是在描画从虚拟照相机观察的虚拟对象时所使用的行列,是将由虚拟照相机坐标系表示的坐标转换成由屏幕坐标系表示的坐标的坐标转换行列。另外,视野范围数据85包含:表示左虚拟照相机的视野范围(射影行列)的数据、和表示右虚拟照相机的视野范围的数据。
下面,结合图16~图22,说明在游戏装置10中进行的详细游戏处理。图16是表示在游戏装置10中执行的游戏处理的流程的主流程图。在游戏装置10的电源被接通后,游戏装置10的信息处理部31(CPU311)执行在未图示的ROM中存储的启动程序,由此,主存储器32等各单元被初始化。接着,数据保存用内部存储器35中存储的游戏程序被读取到主存储器32中,由信息处理部31的CPU311开始执行游戏程序。由此,开始图16所示的处理。
另外,图16、图17和图20所示的处理只是一例,只要能够获得同样的结果,则也可以更换各个步骤的处理顺序。而且,变量的值、在判断步骤中利用的阈值也只是一例,也可以根据需要而采用其他值。另外,在本实施方式中,说明了由CPU311执行图16、图17及图20所示的流程图的各个步骤的处理的情况,但也可以由CUP311以外的处理器或专用电路来执行图16、图17及图20所示的流程图的一部分步骤的处理。
在步骤S1中,CPU311判定是否取得了拍摄图像。即,判定是否从外侧照相机23送来了拍摄图像的数据。其中,在本实施方式中,步骤S1~S8的处理循环以在1帧时间(1/60秒)进行1次的比例执行,而外侧照相机23可以按照该比例发送拍摄图像,或者以比该比例少的频度(数帧时间进行1次的程度)发送拍摄图像。在步骤S1的判定结果是肯定的情况下,执行步骤S2的处理。而在步骤S1的判定结果是否定的情况下,跳过步骤S2的处理,执行步骤S3的处理。
在步骤S2中,CPU311执行对拍摄图像内的标记53进行识别的处理。具体而言,CPU311通过模式匹配法等方法判断拍摄图像中是否包含标记53。然后,在拍摄图像中包含标记53的情况下,根据拍摄图像内的标记53的位置及朝向(例如标记53的4个顶点的位置),计算出标记53与照相机23a或23b的位置关系。然后,通过针对该位置关系,使在虚拟空间中与标记53的位置对应的规定位置和虚拟照相机的位置关系对应,来计算出虚拟照相机的位置及姿势(观察行列)。该情况下,表示虚拟照相机的位置及姿势的数据被作为识别结果数据76存储到主存储器32中。而在拍摄图像中不包含标记53(无法识别标记53)的情况下,将表示识别失败的数据(例如NULL值)作为识别结果数据76存储到主存储器32中。其中,在步骤S2中,对左拍摄图像及右拍摄图像双方进行识别处理,取得表示处理结果的数据。在步骤S2之后,执行步骤S3的处理。
另外,在本实施方式中,步骤S2的识别处理在1帧时间内执行,并在步骤S1~S8的处理循环内执行。这里,识别处理有时在1帧时间内难以完成1次的识别处理。因此,在其他实施方式中,认证处理也可以不必一定以与将1帧时间作为周期而执行的显示处理相同的周期执行。此时,在1次步骤S2的处理中,可以只执行识别处理整体中的一部分处理。该情况下,1次步骤S2中执行的处理被调整为能够在1帧时间内完成步骤S1~S8的一系列处理那样的处理量。即,识别处理可以独立于步骤S1~S8(除去S2)的处理循环而并行执行,也可以在CPU311处于空闲状态时执行。
在步骤S3中,CPU311执行游戏控制处理。游戏控制处理是通过根据用户(游戏者)的输入等使虚拟空间内的对象动作等,来进行游戏的处理。具体而言,游戏控制处理包括:根据用户的输入来控制游戏者角色的动作、或根据在游戏程序71中规定的控制规则来控制对象(图7所示的虚拟对象54)的动作的处理。在本实施方式中,对象被以虚拟空间中的虚拟标记位置为基准控制动作。即,CPU311进行在虚拟标记位置配置对象、或使其在虚拟标记位置周围移动的控制。另外,在图7中虚拟空间内只配置了1个虚拟对象,但也可以配置多个虚拟对象,由CPU311控制多个虚拟对象的动作。而且,在本实施方式中,除了对触摸屏13、各操作键14A~14L、以及控制杆15的操作结果以外,CPU311还可以将上述识别结果数据76作为游戏输入而使用。在步骤S3之后,执行步骤S4的处理。
在步骤S4中,CPU311执行视差零点计算处理。视差零点计算处理是根据拍摄图像计算出从外侧照相机到标记53的距离,并计算出与该距离对应的视差零距离(实际视差零距离)的处理。下面,参照图17详细说明视差零点计算处理。
图17是表示图16所示的视差零点计算处理(步骤S4)的流程的流程图。在视差零点计算处理中,首先在步骤11中,CPU311判定步骤S2的识别处理是否成功。对于步骤S11的判定,可根据从主存储器32读出的识别结果数据76是表示虚拟照相机的位置及姿势的数据,还是表示识别失败的数据来进行。在步骤S11的判定结果是肯定的情况下,执行步骤S12~S17的处理。而在步骤S11的判定是否定的情况下,跳过步骤S12~S17的处理,CPU311结束视差零点计算处理。另外,在其他实施方式中,也可以在识别处理不以1帧时间为周期而执行的情况下,在步骤S11中由CPU311判定是否完成了识别处理,仅在完成了识别处理的情况下,执行步骤S12~S17的处理。
在步骤S12中,CPU311计算出左虚拟照相机与右虚拟照相机的间隔(虚拟照相机间距离e)。虚拟照相机间距离e根据作为识别处理结果的识别结果数据76计算出。下面,参照图18,说明虚拟照相机间距离e的计算方法。
图18是表示虚拟空间中的虚拟照相机间距离的图。在图18中,点Pc1是左虚拟照相机的位置,点Pc2是右虚拟照相机的位置,点Pm是虚拟标记位置(与现实空间中的标记53的位置对应的虚拟空间内的位置)。这里,如果将虚拟标记位置(点Pm)作为原点(0,0,0),对该原点乘以左虚拟照相机的观察行列(左观察行列)的逆行列,则可获得标记坐标系中的左虚拟照相机的位置(点Pc1)。同样,如果将虚拟标记位置(点Pm)作为原点(0,0,0),对该原点乘以右虚拟照相机的观察行列(右观察行列)的逆行列,则可获得标记坐标系中的右虚拟照相机的位置(点Pc2)。由此,由于得知了标记坐标系中的左虚拟照相机的位置及右虚拟照相机的位置,所以通过求出其间的距离,可求出虚拟照相机间距离e(图18)。另外,作为求出虚拟照相机间距离的方法,并不限于上述的方法,例如也可以通过将由右眼用照相机拍摄到的标记的位置与由左眼用照相机拍摄到的标记的位置之差,认为是照相机位置之差,来计算出虚拟照相机间距离。
作为步骤S12中的具体处理,CPU311从主存储器32中读出识别结果数据76,进行计算出将由识别结果数据76表示的左观察行列的逆行列乘以(0,0,0)的结果、与将右观察行列的逆行列乘以(0,0,0)的结果之差的运算。然后,将表示通过该运算而获得的坐标与原点之间的距离的数据,作为虚拟照相机间隔数据77存储到主存储器32中。在步骤S12之后,执行步骤S13的处理。
在步骤S13中,CPU311计算出从虚拟照相机到虚拟标记位置的距离(虚拟标记距离d)。图19是表示虚拟空间中的虚拟标记距离的图。如图19所示,虚拟标记距离d是从虚拟照相机到标记对应位置的距离中虚拟照相机的视线方向成分的长度。因此,如果将左虚拟照相机的视线方向设为左虚拟照相机的照相机坐标系(图19所示的XYZ坐标系)中的Z轴方向,则虚拟标记距离d成为将左虚拟照相机的位置(点Pc1)作为始点、将虚拟标记位置(点Pm)作为终点的矢量V1的Z轴成分的值。上述矢量V1通过对原点(0,0,0)乘以左观察行列而计算出。
作为步骤S13中的具体处理,CPU311从主存储器32中读出识别结果数据76,计算出通过将由识别结果数据76表示的左观察行列与(0,0,0)相乘而获得的坐标(左虚拟照相机的坐标系中的表示虚拟标记位置的坐标)的Z轴成分的绝对值。然后,将表示计算出的绝对值的数据作为虚拟标记距离数据78存储到主存储器32中。另外,在本实施方式中,以使用左虚拟照相机的观察行列计算出虚拟标记距离d的情况为例进行了说明,但在其他实施方式中,CU311也可以使用右虚拟照相机的观察行列计算出虚拟标记距离d。在步骤S13之后执行步骤S14的处理。
在步骤S14中,CPU311修正虚拟照相机的位置及姿势。这里,上述识别处理的精度、各照相机23a及23b的安装精度存在误差。因此,如果直接使用作为识别处理的处理结果而得到的各虚拟照相机的位置及姿势(观察行列)来生成虚拟图像,则各虚拟照相机的位置关系与实际的各照相机23a及23b的位置关系不同,结果导致不能正常进行虚拟图像的立体显示。例如,如果各虚拟照相机朝向完全不同的方向,则不能正常进行虚拟图像的立体显示。因此,在步骤S14中,CU311对作为识别处理的处理结果而得到的观察行列进行规定的修正。
在步骤S14的修正处理中,通过修正,使右虚拟照相机位于从左虚拟照相机沿规定方向离开上述虚拟照相机间距离e的位置,并且成为与左虚拟照相机的姿势相同的姿势。其中,上述规定方向是与现实空间中的从左眼用照相机23a向右眼用照相机23b的方向对应的方向,例如是虚拟照相机坐标系中的x轴方向。具体而言,CPU311从主存储器32中读出识别结果数据76及虚拟照相机间隔数据77,将对识别结果数据76所表示的左观察行列乘以了平行移动行列(-e,0,0)的行列作为右观察行列(计算出将位于左虚拟照相机的坐标系原点的左虚拟照相机平行移动到(-e,0,0)的行列作为右虚拟照相机的行列)。然后,将表示通过乘法运算而得到的右观察行列的数据、和识别结果数据76所表示的左观察行列的数据作为虚拟照相机数据79存储到主存储器32中。在步骤S14之后执行步骤S15的处理。
根据上述步骤S14的处理,2个虚拟照相机在规定方向被排列配置,而且被设定为视线方向相同。由此,由于2个虚拟照相机的位置及姿势的关系成为理想的关系,所以可进行正常的立体显示。另外,在上述步骤S14中,CPU311以左虚拟照相机为基准修正了右虚拟照相机的位置及姿势,但在其他实施方式中,也可以以右虚拟照相机为基准修正左虚拟照相机的位置及姿势。而且,在其他实施方式中,CPU311也可以省略步骤S14的处理,直接使用作为识别处理的结果而获得的各虚拟照相机的位置及姿势,来生成虚拟图像。
在步骤S15中,CPU311计算出虚拟空间相对现实空间的比率(比例)s。如上述那样,比例s可作为实际照相机间距离E与虚拟照相机间距离e之比(E/e)而计算出。其中,实际照相机间距离E是已知的,并被保存在主存储器32等中。CPU311从主存储器32中读出表示实际照相机间距离E的数据和虚拟照相机间隔数据77,计算出实际照相机间距离E与虚拟照相机间距离e之比。表示计算出的比率e的数据被作为比例数据80存储到主存储器32中。在步骤S15之后执行步骤S16的处理。
在步骤S16中,CPU311根据上述虚拟标记距离d来决定虚拟空间中的视差零距离(虚拟视差零距离)。虚拟视差零距离只要对应虚拟标记距离d决定即可,例如可以是对虚拟标记距离d加上或减去规定值的距离,或对虚拟标记距离d积算了规定值的距离,或者是与虚拟标记距离d相等的距离。另外,CPU311例如也可以按照规定的虚拟对象的位置成为视差零点的位置的方式计算出虚拟视差零距离。即,在规定的虚拟对象被配置在从虚拟标记位置(在虚拟照相机的纵深方向)离开了距离L的位置的情况下,可以将对虚拟标记距离加上了该距离L的距离作为虚拟视差零距离。在步骤S16中决定的表示虚拟视差零距离的数据被作为虚拟视差零距离数据81存储到主存储器32中。在步骤S16之后执行步骤S17的处理。
在步骤S17中,CPU311计算出现实空间中的视差零距离(实际视差零距离)F。实际视差零距离F可通过对上述虚拟视差零距离f乘以比例s来得出。即,CPU311从主存储器32中读出比例数据80和虚拟视差零距离数据81,计算出对虚拟视差零距离f乘以了比例s的值。然后,将表示计算出的值的数据作为实际视差零距离数据82存储到主存储器32中。由此,计算出了立体显示中的视差零距离。在步骤S17之后,CPU311结束视差零点计算处理。
根据上述视差零点计算处理,CPU311计算出与从外侧照相机23到标记53的距离对应的虚拟标记距离d(步骤S13),按照成为与虚拟标记距离d对应的值的方式计算出实际视差零距离F(步骤S16、S17)。因此,根据本实施方式,由于对应从外侧照相机23到标记53的距离D来决定实际视差零距离F,所以立体显示的图像的视差零点被自动调整为与该距离D相符。由此,由于还能够自动地使视差零点与在标记53附近显示的虚拟对象的位置相符,所以,可以进行用户容易观察虚拟对象的显示。
另外,在上述视差零点计算处理中,CPU311在根据虚拟标记距离d决定了虚拟视差零距离f后,计算出实际视差零距离F。这里,在其他实施方式中,CPU311也可以在根据虚拟标记距离d计算出现实空间中的从外侧照相机23到标记53的距离D后,根据距离D计算出实际视差零距离F。例如,在想要将视差零距离调整成虚拟空间中的对象的位置成为视差零点的位置的情况下,优选如本实施方式那样,采用根据虚拟标记距离d来决定虚拟视差零距离f的方法。而在如希望使视差零点调整到标记53跟前10cm位置的情况那样,想要以现实空间中的长度为基准来决定视差零距离的情况下,优选根据上述距离D决定实际视差零距离。即,CPU311也可以通过对上述虚拟标记距离d乘以上述比例s来计算出距离D,将对距离D减去(或加上)所希望的调整量(例如10cm)的距离作为视差零距离F。由此,可以将从标记53离开了现实空间中的实际距离的位置,作为视差零点。无论采用哪种方法,都能够对应从外侧照相机23到标记53的距离而自动地调整视差零距离F。
而且,在上述视差零点计算处理中,CPU311不使用标记53的尺寸地计算出实际视差零距离F,但在其他实施方式中,也可以通过使用标记53的尺寸的方法来计算出实际视差零距离。即,在已知标记53的尺寸的情况下,CPU311可以通过在识别处理中确定拍摄图像内的标记53的尺寸,来计算出从照相机23a或23b到标记53的距离D(在步骤S2中,当识别标记来计算虚拟照相机的位置及姿势(观察行列)时,如果考虑标记的大小,则能够使虚拟标记距离d的值与距离D的值一致)。CPU311也可以对应计算出的距离D来决定实际视差零距离F。其中,在本实施方式中,由于不使用标记53的尺寸地计算出实际视差零距离F,所以作为标记53,可使用任意尺寸的标记,因此具有游戏装置10中的扩张现实感技术的通用性高的优点。
返回到图16的说明,在步骤S4的视差零点计算处理之后,执行步骤S5的处理。在步骤S5中,CPU311执行左图像生成处理。左图像生成处理是生成在立体显示中使用的左眼用图像(左合成图像)的处理。下面,参照图20,详细说明左图像生成处理。
图20是表示图16所示的左图像生成处理(步骤S5)的流程的流程图。在左图像生成处理中,首先在步骤S20中,CPU311判定步骤S2的识别处理是否成功。步骤S20的处理与上述步骤S11的处理相同。在步骤S20的判定结果为肯定的情况下,执行步骤S21的处理。而在步骤S20的判定结果为否定的情况下,跳过步骤S21~S24的处理,执行步骤S25的处理。另外,在其他实施方式中,当识别处理不能以1帧时间为周期来执行时,在步骤S20中,CPU311判定是否完成了识别处理,可以仅在完成了识别处理的情况下,执行步骤S21~S24的处理。
在步骤S21中,CPU311根据实际视差零距离F计算出拍摄图像内的显示区域(框)的偏移量dx。即,按照立体显示中的视差零点的位置成为上述实际视差零距离F的位置的方式,计算出上述偏移量dx。下面,参照图21,对偏移量dx的计算方法进行说明。
图21是表示现实空间与拍摄图像的平面的对应关系的图。在图21中,点P1~点P8表示现实空间中的位置,点P9及点P10表示拍摄图像的平面上的位置。点P1表示左眼用照相机23a的位置,点P2表示右眼用照相机23b的位置。点P3是两个照相机23a及23b的中点。因此,线段P1-P3的长度成为实际照相机间距离(E)的1/2(E/2)。另外,点P4是立体显示中的视差零点的位置,是在左眼用照相机23a的拍摄方向上从点P3离开了上述实际视差零距离F的位置。直线L1及L2表示了左眼用照相机23a的拍摄范围(视野范围)。
而且,在图21中,在从左眼用照相机23a沿拍摄方向离开了任意距离α的位置设定平面Q1。点P5是从点P1向拍摄方向延伸的直线与平面Q1的交点。点P6是上述直线L1与平面Q1的交点,点P7是上述直线L2与平面Q1的交点。在如上述那样设定平面Q1的情况下,平面Q1上的线段P6-P7的范围与左拍摄图像55中的横宽(512dot)对应。而且,平面Q1上的点P5的位置与左拍摄图像55的中心位置对应。
这里,为了按照立体显示中的视差零点的位置成为距离F的位置的方式设定框62,只要将左右的显示区域设定为满足“位于视差零距离的位置的点(在左眼用图像和右眼用图像中)被显示在相同位置”这一条件即可。其中,位于视差零距离的位置的点例如是点P4。即,为了满足上述条件,只要将各显示区域设定成点P4被显示在相同位置即可。为此,如图21所示那样,只要框62的中心位置(点P10)与平面Q1上的点P8对应即可。这里,点P8是从左眼用照相机23a(点P1)向视差零点的位置(点P4)的直线与平面Q1的交点。由此,只要计算出满足图21所示的对应关系那样的偏移量,即可满足上述条件,使立体显示中的视差零点的位置成为距离F的位置。
在图21中,偏移量dx相对左拍摄图像55的横宽一半的长度“256”之比(dx∶256)、与线段P5-P8的长度γ相对平面Q1中的线段P5-P6的长度β之比(γ∶β)相等。因此,偏移量dx可表示为式(1)。
dx=γ×256/β    ......(1)
而且,在图21中,线段P5-P8的长度γ相对线段P1-P5的长度α之比(γ∶α)、与线段P1-P3的长度“E/2”相对线段P3-P4的长度F之比(E/2∶F)相等。因此,长度γ可表示为式(2)。
γ=α×(E/2)/F    ......(2)
根据上式(1)、(2),dx可表示为式(3)。
dx=(α/β)×(E/2)×(1/F)×256    ......(3)
在上式(3)中,如上所述,实际照相机间距离E的值为已知,并被保存在主存储器32中。而且,“α/β”的值可根据左眼用照相机23a的视场角求出,是已知的。该值也被保存在主存储器32等中。而且,变量F在上述视差零点计算处理中被作为实际视差零距离F而计算出。因此,使用上式(3),可计算出偏移量dx。
作为步骤S21中的具体处理,CPU311从主存储器32中读出实际视差零距离数据82,并且从主存储器32中读出表示上述实际照相机间距离E及“α/β”的数据。然后,通过将读出的值代入到上式(3),计算出偏移量dx。表示计算出的偏移量dx的数据被作为偏移量数据83存储到主存储器32中。在步骤S21之后执行步骤S22的处理。
另外,在本实施方式中,根据实际视差零距离F计算出偏移量dx,但也可以根据虚拟视差零距离f计算出偏移量dx。具体而言,通过在上式(3)中取代实际照相机间距离E而使用虚拟照相机间距离e,并取代实际视差零距离F而使用虚拟视差零距离f,可计算出偏移量dx。因此,在其他实施方式中,CPU311可以不计算出实际视差零距离F而只计算出虚拟视差零距离f,来计算出偏移量dx。
在步骤S22中,CPU311从主存储器32中读出偏移量数据83,判定偏移量dx是否大于规定值A。这里,步骤S22的判定处理是用于判定框62是否从左拍摄图像55露出的处理。因此,上述规定值A成为从左拍摄图像55的横长的1/2(=256)减去了基准框61的横长的1/2(=200)的值(56)。在步骤S22的判定结果是肯定的情况下,执行步骤S23的处理。而在步骤S22的判定结果是否定的情况下,执行步骤S24的处理。
在步骤S23中,CPU311对左右的各拍摄图像缩小框的大小。此时,框被缩小为不露出到拍摄图像之外的大小。并且,在本实施方式中,为了在不露出到拍摄图像之外的范围内使框尽可能大,CPU311以如下方式将框缩小。即,CPU311按照框露出的顶点成为拍摄图像的边缘的位置的方式,且不改变中心位置地缩小框。更具体而言,框的左右方向的大小缩小从偏移量dx减去了上述规定值A的值的2倍“2×(dx-A)”。另外,框的上下方向的大小按照维持框的长宽比的方式缩小。CPU311将表示缩小后的框的大小的数据作为显示尺寸数据84存储到主存储器32中。在步骤S23之后执行步骤S25的处理。
另一方面,在步骤S24中,CPU311将框的大小设定为预先规定的基准值。基准值是上述基准框61(参照图12)的大小,在本实施方式中,是240×400点(dot)(纵×横)的大小。即,在步骤S24中,框的大小不变。CPU311将表示上述基准值的大小的数据作为显示尺寸数据84存储到主存储器32中。在步骤S24之后执行步骤S25的处理。
通过上述步骤S21~S24的一系列处理,决定了拍摄图像中的显示区域。即,按照立体显示中的视差零点的位置成为实际视差零距离F的方式决定了框的位置(偏移量dx)(步骤S21),在框从拍摄图像露出的情况下(步骤S22中为是的情况),框被缩小(步骤S23)。另外,在框未从拍摄图像露出的情况下,框被维持基准值的大小(步骤S24)。通过以上的一系列处理,由于决定了框的位置和大小,所以决定了显示区域。
在步骤S25中,CPU311将通过上述步骤S21~S24的处理而决定的显示区域内的拍摄图像描画在VRAM313内的作为规定存储区域的左帧缓冲区域中。在步骤S25之后执行步骤S26的处理。
在步骤S26中,CPU311判定步骤S2的识别处理是否成功。步骤S26的处理与上述步骤S11的处理相同。在步骤S26的判定结果是肯定的情况下,执行步骤S27和S28的处理。而在步骤S26的判定结果是否定的情况下,跳过步骤S27及S28的处理,CPU311结束左图像生成处理。另外,在其他实施方式中,当识别处理不能以1帧时间作为周期来执行时,在步骤S26中,CPU311也可以判定是否完成了识别处理,仅在完成了识别处理的情况下执行步骤S27及S28的处理。或者,在完成了识别处理的情况下,也可以使用上一次处理循环中使用的虚拟照相机的设定(位置、姿势、视野范围),执行步骤S27及S28的处理。
在步骤S27中,CPU311根据拍摄图像的显示区域来计算出虚拟照相机的视野范围(射影行列)。视野范围按照将与显示区域内的拍摄图像所表示的现实空间对应的虚拟空间作为范围的方式进行计算。由此,可生成与拍摄图像的显示范围对应的虚拟图像,并能够获得在拍摄图像上的适当位置显示了虚拟对象的合成图像。下面参照图22,说明虚拟照相机的视野范围的计算方法。
图22是表示拍摄图像的平面与虚拟空间的对应关系的图。在图22中,点R1~点R9表示虚拟空间中的位置,点R11~点R14表示拍摄图像的平面中的位置。点R1表示虚拟空间中的左虚拟照相机的位置,直线L3及L4表示与左虚拟照相机对应的左眼用照相机23a的拍摄范围(视野范围)。这里,将直线L3及L4所表示的虚拟照相机的视野范围称为“所有视野范围”。另外,平面S1是左虚拟照相机的近剪辑(nearclip)面,平面S2是左虚拟照相机的远剪辑(far clip)面。预先决定了从左虚拟照相机的位置(点R1)到近剪辑面的距离、以及从左虚拟照相机的位置到远剪辑面的距离。
而且,如果考虑拍摄图像的平面与近剪辑面的对应,则如图22所示,左拍摄图像55的左端的点R11和近剪辑面S1与直线L4的交点R2对应。而且,左拍摄图像55的右端的点R14和近剪辑面S1与直线I3的交点R5对应。
这里,为了按照将与显示区域对应的虚拟空间作为范围的方式设定视野范围,只要使显示区域63相对左拍摄图像55的整体区域(左右方向上)的位置关系、与左虚拟照相机的视野范围相对上述整体范围的位置关系对应即可。即,在近剪辑面中,如图22所示,只要将点R2~点R5的位置关系与拍摄图像中的点R11~点R14的位置关系对应即可。更具体而言,只要将点R3和R4设定为线段R2-R3的长度b1、和线段R3-R4的长度b2、与线段R4-R5的长度b3之比(b1∶b2∶b3),与线段R11-R12的长度a1、和线段R12-R13的长度a2、与线段R31-R14的长度a3之比(a1∶a2∶a3)相等即可。这里,由于在上述步骤S21~S24中决定了显示区域63,所以“a1∶a2∶a3”是已知的。另外,点R2及点R5的位置可根据左虚拟照相机的位置及姿势(观察行列)、和左眼用照相机23a的视场角(已知)计算出。因此,CPU311可以计算出成为a1∶a2∶a3=b1∶b2∶b3的点R3及R4。
另外,在远剪辑面上也和近剪辑面同样,可计算出点R7及点R8的位置。即,CPU311可以计算出如线段R6-R7的长度c1、和线段R7-R8的长度c2、与线段R8-R9的长度c3之比(c1∶c2∶c3)和“a1∶a2∶a3”相等那样的R7及R8。
根据如上述那样决定的点R3、点R4、点R7和点R8,可决定与虚拟照相机的左右方向相关的视野范围。即,CPU311按照将近剪辑面上的点R3至点R4的范围、以及远剪辑面上的点R7至点R8的范围作为左右方向上的视野范围的方式,计算出左虚拟照相机的射影行列。换言之,虚拟照相机在左右方向的视野范围成为由经过点R1、点R4及点R8的直线L5、和经过点R1、点R3及点R7的直线L6所表示的范围。其中,上下方向的视野范围被决定为左虚拟照相机的视野范围的长宽比与显示区域63的长宽比一致。
作为步骤S27中的具体处理,CPU311首先从主存储器32中读出偏移量数据83和显示尺寸数据84,使用显示区域的偏移量dx和框的大小,计算出左拍摄图像内的显示区域的右端和左端的位置。然后,根据右端和左端的位置,计算出上述长度a1、a2以及a3。接着,CPU311从主存储器32中读出虚拟照相机数据79,使用左虚拟照相机的位置和姿势、以及已知的左眼用照相机23a的视场角,计算出近剪辑面中的点R2及点R5的位置。并且,计算出将线段R2-R5分成“a1∶a2∶a3”的点R3和点R4,计算出将点R3和点R4作为左右方向的视野范围的射影行列。由此,可计算出与显示区域63对应的左虚拟照相机的射影行列。最后,CPU311将表示计算出的射影行列的数据作为视野范围数据85存储到主存储器32中。在以上的步骤S27之后,执行步骤S28的处理。
其中,在上述步骤S27的处理中,为了计算出虚拟照相机的视野范围,CPU311根据点R2~点R5的位置关系(比)计算出该视野范围的左右端的位置(点R3和点R4)。这里,虚拟照相机的视野范围的具体计算方法并不限于此,只要可计算出点R3和点R4的位置,可以采用任意的方法。例如,在其他实施方式中,CPU311也可以计算出视野范围从基准位置偏移的量。具体而言,首先,CPU311设定近剪辑面上的基准视野范围。基准视野范围是从左虚拟照相机的位置朝向其拍摄方向,正面面对的(沿拍摄方向均等地设定了视场角)的视野范围,是与上述的基准框61对应的虚拟照相机的视野范围。另外,由于基准视野范围相对近剪辑面上的上述所有范围视野的大小之比,与显示区域63相对拍摄图像55的整体区域之比相等,所以,可根据该关系计算出基准视野范围的大小。
这里,在将根据基准视野范围而应该计算出的视野范围的偏移量设定为Δx的情况下,偏移量Δx与显示区域的偏移量dx成比例。而且,视野范围的偏移量Δx相对近剪辑面上的所有范围视野的宽度(点R2-点R5的长度)之比,与显示区域的偏移量dx相对拍摄图像55的宽度(点R11-点R14的长度)之比相等。因此,CPU311根据上述比的关系,计算出视野范围的偏移量Δx。
然后,通过使基准视野范围的左边和右边移动计算出的偏移量Δx,可得出应计算出的视野范围。其中,基准视野范围的上边和下边的位置不变。由此,可求出可视体积的近剪辑面上的4边,采用公知的方法也可求出可视体积的远剪辑面的4边。由此,CPU311也可以通过计算出上述视野范围的偏移量Δx,来确定视野范围(点R3和点R4)。
在步骤S28中,CPU311根据在上述步骤S14及S27中设定的虚拟照相机的位置、姿势以及视野范围,生成从左虚拟照相机观察的虚拟对象的图像。即,CPU311从主存储器32中读出虚拟照相机数据79和视野范围数据85,使用左虚拟照相机的观察行列和射影行列生成虚拟对象的图像数据。其中,在虚拟空间中未配置成为背景的对象,虚拟图像的背景透明。并且,CPU311将生成的虚拟对象的图像描画到VRAM313内的上述左帧缓冲区域中。由此,在步骤S25中,对被描画到左帧缓冲区域的左拍摄图像合成了虚拟图像。其中,由于虚拟图像的背景透明,所以,合成图像成为对左拍摄图像重叠了虚拟对象的图像的合成图像。另外,如在上述步骤S3中说明那样,由于虚拟对象以虚拟标记位置为基准进行配置,所以在合成图像中,虚拟对象被显示在标记53的位置及其周边。在步骤S28之后,CPU311结束左图像生成处理。
返回到图16的说明,在步骤S5的左图像生成处理之后,执行步骤S6的处理。在步骤S6中,CPU311执行右图像生成处理。右图像生成处理是生成在立体显示中使用的右眼用图像(右合成图像)的处理。
在右图像生成处理中,也基本与左图像生成处理同样地生成合成图像。但在本实施方式中,左拍摄图像和右拍摄图像中框的偏移量相同,框的大小也设定为相同。因此,上述步骤S21~S24的一系列处理在右图像生成处理中也可以不执行。即,在右图像生成处理中,也可以取代在上述步骤S21中计算出的偏移量而将偏移量设定为“-dx”(偏移的方向与dx相反),框的大小使用在步骤S23或步骤S24中设定的大小,来决定显示区域。此时,右拍摄图像的显示区域在从右拍摄图像的中心向左侧偏移了dx的位置,成为与左拍摄图像的显示区域相同的大小。其中,右拍摄图像也和左拍摄图像同样,存在于实际视差零距离F的位置的点位于显示区域的中心。
在决定了显示区域后,右图像生成处理也和左图像生成处理同样,CPU311将显示区域内的右拍摄图像描画到VRAM313内的作为规定存储区域的右帧缓冲区域。
并且,在右图像生成处理中也执行与左图像生成处理的步骤S26~S28同样的处理。即,CPU311执行对与显示区域对应的右虚拟照相机的视野范围进行计算的处理。其中,对于右拍摄图像也采用与图22所示的方法同样的方法,来计算出虚拟照相机的视野范围。并且,CPU311根据设定的右虚拟照相机的位置、姿势以及视野范围,生成从右虚拟照相机观察的虚拟对象的图像,将虚拟对象的图像描画到VRAM313内的上述右帧缓冲区域。由此,对被描画到右帧缓冲区域的左拍摄图像中合成了虚拟图像。在上述的步骤S6之后,执行步骤S7的处理。
在步骤S7中,CPU311将左右的合成图像显示到上侧LCD22。即,被描画到VRAM313内的左帧缓冲区域中的左合成图像、和被描画到右帧缓冲区域中的右合成图像被交替配置成按上侧LCD22的每1纵行显示。由此,进行使用了左右的合成图像的立体显示。在步骤S7之后,执行步骤S8的处理。
在步骤S8中,CPU311等待来自上侧LCD22的中断信号(垂直同步中断),在发生了该中断信号的情况下,再次执行步骤S1的处理。由此,步骤S1~S8的处理被以一定的周期(1帧时间(1/60秒)的周期)反复执行。其中,例如在游戏晋级(clear)时、游戏超时时、或游戏者进行了中止游戏的指示时等,结束步骤S1~S8的一系列处理。
如上所述,根据上述游戏处理,计算出与从外侧照相机23到标记53的距离D对应的虚拟标记距离d(步骤S13),根据虚拟标记距离d决定视差零距离F(步骤S16、S17)。然后,按照立体显示中的视差零点的位置成为该视差零距离F的方式调整视差(步骤S21)。因此,根据上述游戏处理,按照成为与到标记53的距离D对应的视差零距离视差的方式自动调整视差。由此,游戏装置10例如能够将视差零点自动设定为标记53的位置、将视差零点自动设定为被显示在标记53周围的虚拟对象54的位置。因此,根据本实施方式,在对使用扩张现实感技术生成的合成图像进行立体显示时,能够将虚拟对象的图像显示为容易观察。
[变形例]
(不合成虚拟图像的变形例)
在上述实施方式中,游戏装置10在上侧LCD22中显示了对拍摄图像合成了虚拟图像的合成图像。这里,在其他实施方式中,也可以在上侧LCD22中只显示拍摄图像。即,本发明也可以应用于不使用扩张现实感技术而只对拍摄图像进行立体显示的情况。
(手动进行变焦的变形例)
在上述实施方式中,说明了游戏装置10根据从外侧照相机23到标记53的距离自动变更显示区域(调整视差)的情况。这里,关于显示区域的变更,除了自动进行以外,也可以由用户手动(即根据用户的指示)进行。例如,游戏装置10从用户接受向左右移动显示区域的指示(调整焦点距离的远近的指示),根据该指示在拍摄图像上移动框(显示区域)。结果,在框从拍摄图像露出的情况下,游戏装置10可以将框缩小。
另外,即使在显示区域被自动变更的情况下,本发明也不限于上述实施方式。即,本发明不限于根据从外侧照相机23到标记53的距离变更显示区域的情况,还可应用于根据任意条件自动变更显示区域的情况。
[变形例]
(不计算出视差零距离的变形例)
在上述实施方式中,游戏装置10实际计算出与从外侧照相机23到标记53的距离D对应的视差零距离F(步骤S17),并且按照立体显示中的视差零点的位置成为视差零距离F的方式,调整了视差(决定显示区域)。这里,在其他实施方式中,也可以采用不计算出视差零距离F的方法,按照成为与上述距离D对应的视差零距离的方式自动调整视差。具体而言,游戏装置10在识别出各拍摄图像中包含的标记53的情况下,对左右的拍摄图像中包含的标记53的图像进行匹配,按照在左右的拍摄图像中标记53的位置一致的方式决定显示区域。或者,通过将显示区域从在左右的拍摄图像中标记53的位置一致的位置错开规定量,使视差零距离与到标记53的距离不一致。通过上述的方法,由于可将标记53的视差调整为零,所以与上述实施方式同样,能够将立体显示中的视差零距离调整为与上述距离D对应的距离。不过,由于在上述的方法中实际不计算出上述距离D和视差零距离F,所以难以如“将从到标记53的距离D向前推进规定距离的位置设定为视差零点”那样,高精度设定视差零距离。例如,通过上述的方法难以实现视差被调整为将视差零点设定在被显示于从标记53离开规定距离的位置的虚拟对象上。与之相对,在上述的实施方式中由于实际计算出与距离D对应的距离(虚拟标记距离d),并实际计算出视差零距离F,所以,能够高精度调整视差零距离。因此,例如在希望将视差零点设定为虚拟对象的位置的情况下,如上述实施方式那样计算出视差零距离的方法是有效的。
另外,即使是如上述那样不计算出视差零距离F的方法,游戏装置10也能够执行上述的变焦处理。即,在采用上述的方法使显示区域(框)从左右的拍摄图像中标记53的位置一致的位置偏移规定量的情况下,游戏装置10判定框是否从拍摄图像中露出。然后,在框从拍摄图像中露出的情况下,游戏装置10只要将框缩小即可。
(与显示区域的决定处理和合成图像的生成处理的顺序相关的变形例)
在上述实施方式中,游戏装置10在决定了拍摄图像的显示区域(步骤S21~S24)之后,生成与显示区域内的拍摄图像对应的虚拟图像,并将拍摄图像与虚拟图像合成(步骤S28)。这里,在其他实施方式中,显示区域的决定处理和合成图像的生成处理的顺序也能够以与上述实施方式相反的顺序,生成应在上侧LCD22中显示的图像。具体而言,游戏装置10首先对各拍摄图像生成与拍摄图像的所有区域对应的虚拟图像,将生成的虚拟图像和拍摄图像的所有区域合成,生成与拍摄图像的所有区域对应的合成图像。接着,游戏装置10通过与上述步骤S21~S24同样的方法针对合成图像决定显示区域。由此,也能与上述实施方式同样地将立体显示中的视差零距离设为与从外侧照相机23到标记53的距离D对应的距离。其中,根据上述的顺序,由于只要将用于生成虚拟图像的虚拟照相机的视野范围设为与外侧照相机23的视野范围对应的范围即可,所以可容易计算出虚拟照相机的视野范围。不过,生成虚拟图像及合成图像的区域变大,需要将合成图像生成到实际不被显示的部分。
另外,在采用上述顺序的情况下,游戏装置10也能使用不计算出视差零距离的方法。即,游戏装置10在生成了与拍摄图像的所有区域对应的合成图像之后,对左右的合成图像进行匹配,按照合成图像中包含的虚拟对象的位置在左右的合成图像中一致的方式决定显示区域。
另外,在上述实施方式中,游戏装置10在视差零距离缩短的情况下,为了进行更容易观察的立体显示,执行缩小显示区域的处理(步骤S23)。这里,在其他实施方式中,也可以不必一定执行缩小显示区域的处理。
(与游戏处理相关的变形例)
另外,在其他实施方式中,游戏装置10也可以对由外侧照相机23拍摄到的拍摄图像进行基于校准(calibration)的修正处理。这里,存在外侧照相机23的各照相机23a及23b产生安装误差的情况,该情况下,因安装误差会导致拍摄图像从理想的图像(由以理想的位置和姿势安装的各照相机23a及23b拍摄到的图像)偏离。因此,游戏装置10(或游戏程序)的制作者也可以预先测定拍摄图像相对理想图像的偏移,使游戏装置10进行抵消拍摄图像的偏移的修正。
这里,在进行上述修正处理的情况下,优选如下述那样进行是否执行将显示区域缩小的处理(步骤S23)的判定处理。图23是表示进行了修正处理后的拍摄图像与显示区域的关系的图。在图23中,通过修正处理,左拍摄图像55旋转规定角度,而且平行移动了规定长度(从拍摄图像的中心点C到显示区域的中心点C’的长度)。而且,从基准框61的右侧2个顶点到左拍摄图像55的右边的距离为A2、A3。在进行上述修正处理时,如果偏移量dx大于上述规定值A、距离A2以及距离A3中的最短一个(在图23中是A3),则框(显示区域)从左拍摄图像55露出。因此,在上述情况下,在步骤S22的判定处理中,优选CPU311使用上述的规定值A、距离A2以及距离A3中的最短的值进行判定。由此,游戏装置10能够更正确地进行框是否从拍摄图像露出的判定。
(其他变形例)
而且,在上述实施方式中,游戏装置10使用由外侧照相机23实时取得的拍摄图像,在上侧LCD22中显示立体图像。这里,在其他实施方式中,游戏装置10也可以使用由外侧照相机23、外部的立体照相机等过去拍摄到的图像数据,在上侧LCD22中显示立体图像。另外,在上述实施方式中,外侧照相机23被预先搭载于游戏装置10,但在其他实施方式中,也可以取代外侧照相机23而使用能够与游戏装置10拆装自如的外装型照相机。
而且,在上述实施方式中,上侧LCD22被预先搭载于游戏装置10,但在其他实施方式中,也可以取代上侧LCD22而利用能够与游戏装置10自由拆装的外装型立体显示器。
另外,在上述实施方式中,上侧LCD22是视差屏障方式的立体显示装置,但在其他实施方式中,上侧LCD22也可以是柱面透镜光栅方式等其他任意方式的立体显示装置。例如,在使用柱面透镜光栅方式的立体显示装置的情况下,由CPU311或其他处理器将左眼用图像和右眼用图像合成,然后将合成后的图像提供给柱面透镜光栅方式的立体显示装置。
另外,上述实施方式在使用了游戏装置10的游戏处理中执行立体图像显示处理,但在其他实施方式中,也可以由任意的信息处理装置或信息处理系统(例如PDA(Personal Digital Assistant)、移动电话、个人计算机、照相机等)执行立体图像显示处理。
另外,在上述实施方式中,只由1台信息处理装置(游戏装置10)执行游戏处理(立体图像显示处理),但在其他实施方式中,可以在具有可相互通信的多台信息处理装置的立体图像显示系统中,由该多台信息处理装置分担执行立体图像显示处理。
如上所述,本发明在对使用扩张现实感技术而生成的图像进行立体显示的情况下,以良好显示虚拟图像等为目的,例如可作为游戏程序和游戏装置而使用。
以上对本发明进行了详细说明,但上述说明的所有方面都只是本发明的一个示例,不构成对本发明的限定。当然,在本发明的范围内可进行各种改良和变形。

Claims (24)

1.一种立体图像显示系统,用于使立体显示装置显示图像,该立体显示装置能够实现使用了由2个摄像装置拍摄到的2个拍摄图像的立体显示,其特征在于,具备:
偏移量决定单元,其为了调整立体显示时的视差,对表示各拍摄图像的显示范围的规定大小的区域,决定从基准位置起的偏移量;
区域尺寸变更单元,其对至少一方的区域,在移动了上述偏移量的区域露出到拍摄图像以外的情况下,变更各区域的大小,以使该区域不露出到拍摄图像以外;和
显示控制单元,其将由上述偏移量决定单元以及上述区域尺寸变更单元决定的区域作为显示区域,在上述立体显示装置的画面上的规定区域显示2个拍摄图像中的各显示区域内的图像。
2.根据权利要求1所述的立体图像显示系统,其特征在于,还具备:
规定的拍摄对象;和
对各拍摄图像执行识别处理,识别出拍摄图像中包含的上述规定的拍摄对象的识别单元;
上述偏移量决定单元按照移动后的区域表示立体显示中的视差零距离成为与从上述摄像装置到上述拍摄对象的距离对应的距离的显示范围的方式,决定上述偏移量。
3.根据权利要求2所述的立体图像显示系统,其特征在于,
上述识别单元根据拍摄图像计算出上述规定的拍摄对象与各上述摄像装置的各自位置关系,
上述立体图像显示系统还具备根据由上述识别单元计算出的各位置关系中的至少一方,计算出与从上述摄像装置到上述拍摄对象的距离对应的长度的距离计算单元,
上述偏移量决定单元基于由上述距离计算单元计算出的距离而决定的视差零距离,决定上述偏移量。
4.根据权利要求3所述的立体图像显示系统,其特征在于,
上述显示控制单元对各拍摄图像执行将使用上述位置关系而生成的虚拟对象的图像向显示对象区域内的拍摄图像合成的处理,并在上述立体显示装置中显示通过合成而得到的2个图像。
5.根据权利要求4所述的立体图像显示系统,其特征在于,
上述显示控制单元具有:
照相机位置计算单元,其根据各上述位置关系,分别计算出上述虚拟对象被配置的虚拟空间中的2个虚拟照相机的位置和姿势;
照相机视野计算单元,其按照将上述显示对象区域内的与现实空间对应的虚拟空间作为范围的方式,分别计算出各上述虚拟照相机的视野范围;和
虚拟图像生成单元,其根据上述各虚拟照相机的位置、姿势以及视野,分别生成应该对各拍摄图像合成的虚拟对象图像。
6.根据权利要求5所述的立体图像显示系统,其特征在于,
上述照相机视野计算单元按照上述显示对象区域相对拍摄图像的整个区域的位置关系、和应该计算出的视野范围相对与上述摄像装置的视野范围对应的虚拟照相机的视野范围的位置关系相对应的方式,计算出虚拟照相机的视野范围。
7.根据权利要求1至6中任意一项所述的立体图像显示系统,其特征在于,
在移动了上述偏移量的区域露出到拍摄图像以外的情况下,上述区域尺寸变更单元按照该区域露出的顶点成为该拍摄图像的边缘的位置,并且不改变中心位置的方式缩小区域。
8.根据权利要求1至7中任意一项所述的立体图像显示系统,其特征在于,
上述偏移量决定单元对从上述2个摄像单元依次取得的拍摄图像中的被显示在上述立体显示装置中的规定拍摄图像,依次决定偏移量,
上述区域尺寸变更单元在每次对上述规定的拍摄图像决定偏移量时,判定移动了上述偏移量的区域是否露出到拍摄图像以外,在该区域露出到拍摄图像以外的情况下,变更各区域的大小,
上述显示控制单元将上述规定的拍摄图像中的各显示对象区域内的图像依次显示到上述立体显示装置的画面上的规定区域。
9.一种立体图像显示方法,用于使立体显示装置显示图像,该立体显示装置能够实现使用了由2个摄像装置拍摄到的2个拍摄图像的立体显示,其特征在于,包括:
偏移量决定步骤,为了调整立体显示时的视差,对表示各拍摄图像的显示范围的规定大小的区域,决定从基准位置起的偏移量;
区域尺寸变更步骤,对至少一方的区域,在移动了上述偏移量的区域露出到拍摄图像以外的情况下,变更各区域的大小,以使该区域不露出到拍摄图像以外;和
显示控制步骤,将在上述偏移量决定步骤以及上述区域尺寸变更步骤中决定的区域作为显示区域,在上述立体显示装置的画面上的规定区域显示2个拍摄图像中的各显示区域内的图像。
10.根据权利要求9所述的立体图像显示方法,其特征在于,
还包括对各拍摄图像执行识别处理,识别出拍摄图像中包含的规定的拍摄对象的识别步骤,
在上述偏移量决定步骤中,按照移动后的区域表示立体显示中的视差零距离成为与从上述摄像装置到上述拍摄对象的距离对应的距离的显示范围的方式,决定上述偏移量。
11.根据权利要求10所述的立体图像显示方法,其特征在于,
在上述识别步骤中,根据拍摄图像计算出上述规定的拍摄对象与各上述摄像装置的各自位置关系,
上述立体图像显示方法还包括根据在上述识别步骤中计算出的各位置关系中的至少一方,计算出与从上述摄像装置到上述拍摄对象的距离对应的长度的距离计算步骤,
在上述偏移量决定步骤中,基于在上述距离计算步骤中计算出的距离而决定的视差零距离,决定上述偏移量。
12.根据权利要求11所述的立体图像显示方法,其特征在于,
在上述显示控制步骤中,对各拍摄图像执行将使用上述位置关系而生成的虚拟对象图像向显示对象区域内的拍摄图像合成的处理,并在上述立体显示装置中显示通过合成而得到的2个图像。
13.根据权利要求12所述的立体图像显示方法,其特征在于,
上述显示控制步骤包括:
照相机位置计算步骤,根据各上述位置关系,分别计算出上述虚拟对象被配置的虚拟空间中的2个虚拟照相机的位置和姿势;
照相机视野计算步骤,按照将上述显示对象区域内的与现实空间对应的虚拟空间作为范围的方式,分别计算出各上述虚拟照相机的视野范围;和
虚拟图像生成步骤,根据上述各虚拟照相机的位置、姿势以及视野,分别生成将应该对各拍摄图像合成的虚拟对象的图像。
14.根据权利要求13所述的立体图像显示方法,其特征在于,
在上述照相机视野计算步骤中,按照上述显示对象区域相对拍摄图像的整个区域的位置关系、和应该计算出的视野范围相对与上述摄像装置的视野范围对应的虚拟照相机的视野范围的位置关系相对应的方式,计算出虚拟照相机的视野范围。
15.根据权利要求9所述的立体图像显示方法,其特征在于,
在上述区域尺寸变更步骤中,当移动了上述偏移量的区域露出到拍摄图像以外时,按照该区域露出的顶点成为该拍摄图像的边缘的位置,并且不改变中心位置的方式缩小区域。
16.根据权利要求9所述的立体图像显示方法,其特征在于,
在上述偏移量决定步骤中,对从上述2个摄像单元依次取得的拍摄图像中的被显示在上述立体显示装置中的规定拍摄图像,依次决定偏移量,
在上述区域尺寸变更步骤中,当每次对上述规定的拍摄图像决定偏移量时,判定移动了上述偏移量的区域是否露出到拍摄图像以外,在该区域露出到拍摄图像以外的情况下,变更各区域的大小,
在上述显示控制步骤中,将上述规定的拍摄图像中的各显示对象区域内的图像依次显示到上述立体显示装置的画面上的规定区域。
17.一种立体图像显示装置,用于使立体显示装置显示图像,该立体显示装置能够实现使用了由2个摄像装置拍摄到的2个拍摄图像的立体显示,其特征在于,具备:
偏移量决定单元,其为了调整立体显示时的视差,对表示各拍摄图像的显示范围的规定大小的区域,决定从基准位置起的偏移量;
区域尺寸变更单元,其对至少一方的区域,在移动了上述偏移量的区域露出到拍摄图像以外的情况下,变更各区域的大小,以使该区域不露出到拍摄图像以外;和
显示控制单元,其将由上述偏移量决定单元以及上述区域尺寸变更单元决定的区域作为显示区域,在上述立体显示装置的画面上的规定区域显示2个拍摄图像中的各显示区域内的图像。
18.根据权利要求17所述的立体图像显示装置,其特征在于,还具备:
对各拍摄图像执行识别处理,识别出拍摄图像中包含的上述规定的拍摄对象的识别单元;
上述偏移量决定单元按照移动后的区域表示立体显示中的视差零距离成为与从上述摄像装置到上述拍摄对象的距离对应的距离的显示范围的方式,决定上述偏移量。
19.根据权利要求18所述的立体图像显示装置,其特征在于,
上述识别单元根据拍摄图像计算出上述规定的拍摄对象与各上述摄像装置的各自位置关系,
上述立体图像显示装置还具备根据由上述识别单元计算出的各位置关系中的至少一方,计算出与从上述摄像装置到上述拍摄对象的距离对应的长度的距离计算单元,
上述偏移量决定单元基于由上述距离计算单元计算出的距离而决定的视差零距离,决定上述偏移量。
20.根据权利要求19所述的立体图像显示装置,其特征在于,
上述显示控制单元对各拍摄图像执行将使用上述位置关系而生成的虚拟对象的图像向显示对象区域内的拍摄图像合成的处理,并在上述立体显示装置中显示通过合成而得到的2个图像。
21.根据权利要求20所述的立体图像显示装置,其特征在于,
上述显示控制单元具有:
照相机位置计算单元,其根据各上述位置关系,分别计算出上述虚拟对象被配置的虚拟空间中的2个虚拟照相机的位置和姿势;
照相机视野计算单元,其按照将上述显示对象区域内的与现实空间对应的虚拟空间作为范围的方式,分别计算出各上述虚拟照相机的视野范围;和
虚拟图像生成单元,其根据上述各虚拟照相机的位置、姿势以及视野,分别生成应该对各拍摄图像合成的虚拟对象图像。
22.根据权利要求21所述的立体图像显示装置,其特征在于,
上述照相机视野计算单元按照上述显示对象区域相对拍摄图像的整个区域的位置关系、和应该计算出的视野范围相对与上述摄像装置的视野范围对应的虚拟照相机的视野范围的位置关系相对应的方式,计算出虚拟照相机的视野范围。
23.根据权利要求17至22中任意一项所述的立体图像显示装置,其特征在于,
在移动了上述偏移量的区域露出到拍摄图像以外的情况下,上述区域尺寸变更单元按照该区域露出的顶点成为该拍摄图像的边缘的位置,并且不改变中心位置的方式缩小区域。
24.根据权利要求17至23中任意一项所述的立体图像显示装置,其特征在于,
上述偏移量决定单元对从上述2个摄像单元依次取得的拍摄图像中的被显示在上述立体显示装置中的规定拍摄图像,依次决定偏移量,
上述区域尺寸变更单元在每次对上述规定的拍摄图像决定偏移量时,判定移动了上述偏移量的区域是否露出到拍摄图像以外,在该区域露出到拍摄图像以外的情况下,变更各区域的大小,
上述显示控制单元将上述规定的拍摄图像中的各显示对象区域内的图像依次显示到上述立体显示装置的画面上的规定区域。
CN201110156353.7A 2010-06-14 2011-06-03 立体图像显示系统和方法以及立体图像显示装置 Active CN102274631B (zh)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP2010135316A JP5548038B2 (ja) 2010-06-14 2010-06-14 立体画像表示プログラム、立体画像表示装置、立体画像表示システム、および、立体画像表示方法
JP2010135314A JP5546960B2 (ja) 2010-06-14 2010-06-14 立体画像表示プログラム、立体画像表示装置、立体画像表示システム、および、立体画像表示方法
JP2010-135314 2010-06-14
JP2010-135316 2010-06-14
JP2010135313A JP5541973B2 (ja) 2010-06-14 2010-06-14 立体画像表示プログラム、立体画像表示装置、立体画像表示システム、および、立体画像表示方法
JP2010-135313 2010-06-14
JP2010135315A JP5525924B2 (ja) 2010-06-14 2010-06-14 立体画像表示プログラム、立体画像表示装置、立体画像表示システム、および、立体画像表示方法
JP2010-135315 2010-06-14

Publications (2)

Publication Number Publication Date
CN102274631A true CN102274631A (zh) 2011-12-14
CN102274631B CN102274631B (zh) 2015-10-21

Family

ID=44303339

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201110156353.7A Active CN102274631B (zh) 2010-06-14 2011-06-03 立体图像显示系统和方法以及立体图像显示装置
CN201110156378.7A Active CN102274632B (zh) 2010-06-14 2011-06-03 立体图像显示系统和方法以及立体图像显示装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201110156378.7A Active CN102274632B (zh) 2010-06-14 2011-06-03 立体图像显示系统和方法以及立体图像显示装置

Country Status (3)

Country Link
US (4) US8902298B2 (zh)
EP (4) EP2395764B1 (zh)
CN (2) CN102274631B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107004111A (zh) * 2015-07-28 2017-08-01 松下知识产权经营株式会社 移动方向确定方法以及移动方向确定装置
CN108632600A (zh) * 2017-03-24 2018-10-09 韩国电子通信研究院 反映用户交互信息来播放立体图像的方法及装置
US10783654B2 (en) 2016-01-18 2020-09-22 Sony Corporation Information processing apparatus, information processing method, and recording medium
CN111954902A (zh) * 2018-03-30 2020-11-17 松下知识产权经营株式会社 影像显示系统、影像显示方法、程序以及具备影像显示系统的移动体
CN112181335A (zh) * 2020-09-25 2021-01-05 北京博睿维讯科技有限公司 一种多信号综合管控方法、智能终端和存储介质

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012053102A1 (ja) * 2010-10-22 2012-04-26 パイオニア株式会社 端末装置、端末装置によって実行される画像処理方法及び画像処理プログラム
JP5791433B2 (ja) 2011-08-31 2015-10-07 任天堂株式会社 情報処理プログラム、情報処理システム、情報処理装置および情報処理方法
JP2013050883A (ja) * 2011-08-31 2013-03-14 Nintendo Co Ltd 情報処理プログラム、情報処理システム、情報処理装置および情報処理方法
JP2013219421A (ja) * 2012-04-04 2013-10-24 Seiko Epson Corp 画像処理装置および画像処理方法
JP5629284B2 (ja) * 2012-04-06 2014-11-19 株式会社ライツ 3次元映像表示装置及びその制御方法、及び画面調整用プログラム
CN102662292B (zh) * 2012-04-20 2016-03-02 Tcl集团股份有限公司 一种3d场景成像方法、装置及显示终端
CN103379355B (zh) * 2012-04-25 2015-10-28 浙江大学 一种立体视频对产生方法及装置
US20130317901A1 (en) * 2012-05-23 2013-11-28 Xiao Yong Wang Methods and Apparatuses for Displaying the 3D Image of a Product
US9129436B2 (en) 2012-08-01 2015-09-08 Dreamworks Animation Llc Techniques for smoothing scripted stereo curves for stereoscopic computer animation
CN102802003A (zh) * 2012-08-15 2012-11-28 四川大学 基于gpu与网络摄像机的实时拍摄与实时自由立体显示系统
JP2014191718A (ja) 2013-03-28 2014-10-06 Sony Corp 表示制御装置、表示制御方法および記録媒体
US10192312B2 (en) 2013-04-08 2019-01-29 C3D Augmented Reality Solutions Ltd Distance estimation using multi-camera device
EP3032828A4 (en) * 2013-08-06 2016-12-14 Sony Interactive Entertainment Inc DEVICE FOR GENERATING THREE-DIMENSIONAL PICTURES, METHOD FOR GENERATING THREE-DIMENSIONAL PICTURES, PROGRAM AND INFORMATION MEMORY MEDIUM
TW201528775A (zh) 2014-01-02 2015-07-16 Ind Tech Res Inst 景深圖校正方法及系統
DE102014106854A1 (de) * 2014-05-15 2016-01-28 Odos Imaging Ltd. Bildgebendes System und Verfahren zum Überwachen eines Sichtfeldes
JP6294780B2 (ja) * 2014-07-17 2018-03-14 株式会社ソニー・インタラクティブエンタテインメント 立体画像提示装置、立体画像提示方法、およびヘッドマウントディスプレイ
CN106605172B (zh) * 2014-09-08 2019-11-08 索尼公司 显示装置、用于驱动显示装置的方法以及电子设备
US20170061700A1 (en) * 2015-02-13 2017-03-02 Julian Michael Urbach Intercommunication between a head mounted display and a real world object
JP6618260B2 (ja) * 2015-02-19 2019-12-11 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
US10602116B2 (en) * 2015-08-03 2020-03-24 Sony Corporation Information processing apparatus, information processing method, and program for performing display control
US9600938B1 (en) * 2015-11-24 2017-03-21 Eon Reality, Inc. 3D augmented reality with comfortable 3D viewing
US10021373B2 (en) * 2016-01-11 2018-07-10 Microsoft Technology Licensing, Llc Distributing video among multiple display zones
US10869026B2 (en) * 2016-11-18 2020-12-15 Amitabha Gupta Apparatus for augmenting vision
US10726814B2 (en) * 2017-01-27 2020-07-28 Canon Kabushiki Kaisha Image display apparatus, image processing apparatus, image display method, image processing method, and storage medium
CN106909223B (zh) * 2017-02-28 2020-07-10 杭州乐见科技有限公司 基于3d场景的摄像头朝向修正方法及装置
JP2019053644A (ja) * 2017-09-19 2019-04-04 セイコーエプソン株式会社 頭部装着型表示装置、及び頭部装着型表示装置の制御方法
WO2019130827A1 (ja) * 2017-12-25 2019-07-04 キヤノン株式会社 画像処理装置およびその制御方法
CN110067274B (zh) * 2019-04-29 2021-08-13 北京拓疆者智能科技有限公司 设备控制方法及挖掘机
EP4049117A4 (en) * 2019-10-25 2022-12-14 Magic Leap, Inc. NON-UNIFORM STEREOSCOPIC RENDERING
CN115079437A (zh) 2021-03-15 2022-09-20 欧姆龙株式会社 导光板器件
US20230149801A1 (en) * 2021-11-15 2023-05-18 Nogili Ltd Gaming kit

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004343290A (ja) * 2003-05-14 2004-12-02 Sharp Corp 立体画像表示装置
US20070165129A1 (en) * 2003-09-04 2007-07-19 Lyndon Hill Method of and apparatus for selecting a stereoscopic pair of images
CN101237590A (zh) * 2007-02-01 2008-08-06 广达电脑股份有限公司 立体影像显示方法
JP4225768B2 (ja) * 2002-07-31 2009-02-18 シャープ株式会社 立体画像データ処理装置および立体画像データ処理用プログラム

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0830034B1 (en) * 1996-09-11 2005-05-11 Canon Kabushiki Kaisha Image processing for three dimensional display of image data on the display of an image sensing apparatus
US20020036617A1 (en) 1998-08-21 2002-03-28 Timothy R. Pryor Novel man machine interfaces and applications
JPH11113028A (ja) * 1997-09-30 1999-04-23 Toshiba Corp 3次元映像表示装置
US6762794B1 (en) * 1997-12-03 2004-07-13 Canon Kabushiki Kaisha Image pick-up apparatus for stereoscope
US6278479B1 (en) * 1998-02-24 2001-08-21 Wilson, Hewitt & Associates, Inc. Dual reality system
US20020163482A1 (en) 1998-04-20 2002-11-07 Alan Sullivan Multi-planar volumetric display system including optical elements made from liquid crystal having polymer stabilized cholesteric textures
US20040104935A1 (en) 2001-01-26 2004-06-03 Todd Williamson Virtual reality immersion system
WO2003034705A2 (en) * 2001-10-19 2003-04-24 University Of North Carolina At Chapel Hill Methods and systems for dynamic virtual convergence and head mountable display
JP2003244727A (ja) 2002-02-13 2003-08-29 Pentax Corp ステレオ画像撮像装置
JP3691444B2 (ja) 2002-03-11 2005-09-07 三洋電機株式会社 立体画像撮像装置
US20040070667A1 (en) 2002-10-10 2004-04-15 Fuji Photo Optical Co., Ltd. Electronic stereoscopic imaging system
AU2003221143A1 (en) * 2003-03-20 2004-10-11 Seijiro Tomita Stereoscopic video photographing/displaying system
EP1628490A1 (en) * 2003-05-27 2006-02-22 Sanyo Electric Co., Ltd. Image display device and program
JP4069855B2 (ja) * 2003-11-27 2008-04-02 ソニー株式会社 画像処理装置及び方法
ATE428154T1 (de) * 2005-05-03 2009-04-15 Seac02 S R L Augmented-reality-system mit identifizierung der realen markierung des objekts
JP4926817B2 (ja) * 2006-08-11 2012-05-09 キヤノン株式会社 指標配置情報計測装置および方法
JP2008146109A (ja) 2006-12-05 2008-06-26 Canon Inc 画像処理方法、画像処理装置
JP4689639B2 (ja) 2007-04-25 2011-05-25 キヤノン株式会社 画像処理システム
KR101313740B1 (ko) 2007-10-08 2013-10-15 주식회사 스테레오피아 원소스 멀티유즈 스테레오 카메라 및 스테레오 영상 컨텐츠제작방법
US8228327B2 (en) 2008-02-29 2012-07-24 Disney Enterprises, Inc. Non-linear depth rendering of stereoscopic animated images
US20090238378A1 (en) 2008-03-18 2009-09-24 Invism, Inc. Enhanced Immersive Soundscapes Production
JP4895312B2 (ja) 2008-08-27 2012-03-14 富士フイルム株式会社 3次元表示装置および方法並びにプログラム
JP2010135313A (ja) 2008-10-31 2010-06-17 Hitachi Maxell Ltd 電気化学素子
WO2010050595A1 (ja) 2008-10-31 2010-05-06 三菱化学株式会社 非水系二次電池用負極材料
JP2010135316A (ja) 2008-11-10 2010-06-17 Equos Research Co Ltd 集電体及び電池
US8927167B2 (en) 2008-12-03 2015-01-06 Samsung Sdi Co., Ltd. Fuel cell system and driving method thereof
KR101685343B1 (ko) * 2010-06-01 2016-12-12 엘지전자 주식회사 영상표시장치 및 그 동작방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4225768B2 (ja) * 2002-07-31 2009-02-18 シャープ株式会社 立体画像データ処理装置および立体画像データ処理用プログラム
JP2004343290A (ja) * 2003-05-14 2004-12-02 Sharp Corp 立体画像表示装置
US20070165129A1 (en) * 2003-09-04 2007-07-19 Lyndon Hill Method of and apparatus for selecting a stereoscopic pair of images
CN101237590A (zh) * 2007-02-01 2008-08-06 广达电脑股份有限公司 立体影像显示方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107004111A (zh) * 2015-07-28 2017-08-01 松下知识产权经营株式会社 移动方向确定方法以及移动方向确定装置
US10783654B2 (en) 2016-01-18 2020-09-22 Sony Corporation Information processing apparatus, information processing method, and recording medium
CN108632600A (zh) * 2017-03-24 2018-10-09 韩国电子通信研究院 反映用户交互信息来播放立体图像的方法及装置
CN111954902A (zh) * 2018-03-30 2020-11-17 松下知识产权经营株式会社 影像显示系统、影像显示方法、程序以及具备影像显示系统的移动体
CN111954902B (zh) * 2018-03-30 2023-05-02 松下知识产权经营株式会社 影像显示系统、影像显示方法、存储介质以及具备影像显示系统的移动体
CN112181335A (zh) * 2020-09-25 2021-01-05 北京博睿维讯科技有限公司 一种多信号综合管控方法、智能终端和存储介质
CN112181335B (zh) * 2020-09-25 2023-08-15 北京博睿维讯科技有限公司 一种多信号综合管控方法、智能终端和存储介质

Also Published As

Publication number Publication date
US9001192B2 (en) 2015-04-07
EP2395765B1 (en) 2016-08-24
US20110304700A1 (en) 2011-12-15
US8830231B2 (en) 2014-09-09
CN102274632A (zh) 2011-12-14
EP2395766A2 (en) 2011-12-14
US8842166B2 (en) 2014-09-23
CN102274632B (zh) 2015-11-25
EP2395763A2 (en) 2011-12-14
CN102274631B (zh) 2015-10-21
EP2395766A3 (en) 2012-02-29
US20110304711A1 (en) 2011-12-15
EP2395763A3 (en) 2012-02-29
US20110304615A1 (en) 2011-12-15
EP2395766B1 (en) 2016-03-23
US8902298B2 (en) 2014-12-02
EP2395764A2 (en) 2011-12-14
EP2395764B1 (en) 2016-02-17
US20110304710A1 (en) 2011-12-15
EP2395764A3 (en) 2012-10-24
EP2395765A3 (en) 2012-02-29
EP2395765A2 (en) 2011-12-14

Similar Documents

Publication Publication Date Title
CN102274631A (zh) 立体图像显示系统和方法以及立体图像显示装置
CN102281455B (zh) 图像显示系统、装置以及方法
JP5541974B2 (ja) 画像表示プログラム、装置、システムおよび方法
JP5646263B2 (ja) 画像処理プログラム、画像処理装置、画像処理システム、および、画像処理方法
JP5702653B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、および、情報処理方法
JP5149939B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法
CN102714743A (zh) 便携式电子设备
JP2012074881A (ja) 立体視表示制御プログラム、立体視表示制御システム、立体視表示制御装置、および、立体視表示制御方法
JP5739670B2 (ja) 画像表示プログラム、装置、システムおよび方法
JP5525924B2 (ja) 立体画像表示プログラム、立体画像表示装置、立体画像表示システム、および、立体画像表示方法
US20120306855A1 (en) Storage medium having stored therein display control program, display control apparatus, display control method, and display control system
JP5739673B2 (ja) 画像表示プログラム、装置、システムおよび方法
JP5548038B2 (ja) 立体画像表示プログラム、立体画像表示装置、立体画像表示システム、および、立体画像表示方法
JP2014135771A (ja) 立体視表示制御プログラム、立体視表示制御システム、立体視表示制御装置、および、立体視表示制御方法
JP5541973B2 (ja) 立体画像表示プログラム、立体画像表示装置、立体画像表示システム、および、立体画像表示方法
JP5546960B2 (ja) 立体画像表示プログラム、立体画像表示装置、立体画像表示システム、および、立体画像表示方法
JP2012018666A (ja) 画像表示プログラム、装置、システムおよび方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant