GB2473263A - Augmented reality virtual image degraded based on quality of camera image - Google Patents
Augmented reality virtual image degraded based on quality of camera image Download PDFInfo
- Publication number
- GB2473263A GB2473263A GB0915587A GB0915587A GB2473263A GB 2473263 A GB2473263 A GB 2473263A GB 0915587 A GB0915587 A GB 0915587A GB 0915587 A GB0915587 A GB 0915587A GB 2473263 A GB2473263 A GB 2473263A
- Authority
- GB
- United Kingdom
- Prior art keywords
- image
- camera
- computer generated
- captured
- degree
- 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
Links
- 230000003190 augmentative effect Effects 0.000 title abstract description 101
- 239000002131 composite material Substances 0.000 claims abstract description 39
- 230000004044 response Effects 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims abstract description 25
- 230000015556 catabolic process Effects 0.000 claims abstract description 22
- 238000006731 degradation reaction Methods 0.000 claims abstract description 22
- 238000000034 method Methods 0.000 claims description 39
- 230000000694 effects Effects 0.000 claims description 6
- 238000003672 processing method Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 239000003550 marker Substances 0.000 description 121
- 230000003993 interaction Effects 0.000 description 54
- 230000033001 locomotion Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 230000003287 optical effect Effects 0.000 description 12
- 238000001514 detection method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000002195 synergetic effect Effects 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 239000002245 particle Substances 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 101100442582 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) spe-1 gene Proteins 0.000 description 2
- 230000002411 adverse Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000001771 impaired effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 241000533950 Leucojum Species 0.000 description 1
- 230000001154 acute effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002311 subsequent effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
- PICXIOQBANWBIZ-UHFFFAOYSA-N zinc;1-oxidopyridine-2-thione Chemical class [Zn+2].[O-]N1C=CC=CC1=S.[O-]N1C=CC=CC1=S PICXIOQBANWBIZ-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/213—Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
-
- A63F13/10—
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating 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/65—Generating 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/10—Features 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/1087—Features 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/1093—Features 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/69—Involving elements of the real world in the game world, e.g. measurement in live races, real video
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20201—Motion blur correction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/272—Means for inserting a foreground image in a background image, i.e. inlay, outlay
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
Image processing comprising an image generator for generating a computer-generated virtual image S200, and an image mixer S205 for combining the computer generated image with at least a part of a camera-captured image to generate a composite augmented reality image. The image generator is operable to apply image degradation S210 to the computer generated image in response to an image attribute of the camera-captured image. The image attribute is indicative of the image quality of the camera-captured image. The image attribute may be the degree of digital zoom or noise in the camera image. The virtual image may be degraded by noise or by applying a degree of pixelation so that the quality of the image is substantially the same as the camera captured image. This improves the illusion that the computer generated image is part of the real environment.
Description
IMAGE PROCESSING APPARATUS, SYSTEM, AND METHOD The present invention relates to an image processing apparatus, system and method.
Recently, with the advent of ever more powerfttl computers, video game systems are increasingly being used to combine real images captured by a video camera with virtual images so as to generate augmented reality images (composite images) and produce a content-rich gaming experience for a user.
For example, augmented reality systems are known in which a user can interact with a computer generated object (virtual object) by causing inter-image motion to occur in images captured by a video camera. Often, in order for the computer generated object to appear as if on a surface, a virtual plane is generated which may correspond to a real plane, such as the surface of a table, so that the computer generated object can be rendered as if on the table.
Additionally, image manipulation operations such as a digital zoom operation may be carried out on the composite image in response to game play, for example to simulate looking is through binoculars.
In a first aspect, there is provided image processing apparatus comprising: an image generator for generating a computer-generated image; and an image mixer for combining the computer generated image with at least a part of a camera-captured image to generate a composite image; in which the image generator is operable to apply image degradation to the computer generated image in response to an image attribute of the camera-captured image, the image attribute being indicative of the image quality of the camera-captured image.
In a second aspect, there is provided an image processing method comprising: generating a computer-generated image; combining the computer generated image with at least a part of a camera-captured image to generate a composite image; and applying image degradation to the computer generated image in response to an image attribute of the camera- captured image, the image attribute being indicative of the image quality of the camera-captured image.
The present invention recognises that a computer generated image may have a different image quality from a camera-captured image. Therefore, when the computer generated image is combined with the camera-captured image so as to generate a composite image, the illusion of reality of the composite image may be impaired because the image quality between the two images differs. This can lead to the impression that the computer generated image is not part of the real environment as seen in the camera-captured image.
Embodiments of the invention advantageously apply image degradation to the computer generated image in response to an image attribute of the camera-captured image.
Therefore, the computer generated image is more likely to have substantially the same apparent image quality as the camera-captured image. This improves the illusion that the computer generated image is part of the real environment.
For example, embodiments of the present invention can apply image degradation to the computer generated image in response to a degree of digital zoom applied to the camera-captured image so as to improve the illusion that the computer generated image is part of the real environment. As another example, embodiments of the present inventions can apply image degradation to the computer generated image in response to a detected degree of image noise in the image. Therefore, although embodiments of the present invention may reduce the image quality of the computer generated image, the apparent illusion that the computer generated object is in the real environment may be improved, thus providing a more fulfilling augmented reality experience for the user.
Further respective aspects arid features of the invention are defined in the appended claims.
Embodiments of the present invention will now be described by way of example with reference to the accompanying drawings, in which: Figure 1 is a schematic diagram of an entertainment device; Figure 2 is a schematic diagram of a cell processor; Figure 3 is a schematic diagram of a video graphics processor; Figure 4 is a schematic diagram of an arrangement of an entertainment system with respect to an augmented reality marker; Figure 5 is a schematic diagram of an example of an augmented reality marker in accordance with an embodiment of the present invention; Figure 6 is a schematic diagram of a three-dimensional augmented reality marker; Figure 7 is a schematic diagram of an interaction area and two augmented reality markers; Figure 8 is a flow chart showing a method of generating a virtual image plane; Figure 9 is a schematic diagram of an augmented reality image showing an image area to which a zoom operation is to be applied in accordance with embodiments of the present invention; Figure 10 is a schematic diagram of an augmented reality image to which image degradation has been applied to a computer generated image in accordance with embodiments of the present invention; Figure 11 is a schematic diagram of an augmented reality image in which a camera-captured image comprises a degree of image noise in accordance with embodiments of the present invention; Figure 12 is a schematic diagram of an augmented reality image in which a degree of image noise has been applied to a computer generated image in accordance with embodiments of the present invention; and Figure 13 is a flowchart showing a method of image processing in accordance with embodiments of the present invention.
An image processing apparatus, image processing system and image processing method are disclosed. In the following description, a number of specific details are presented in order to provide a thorough understanding of embodiments of the present invention.
However, it will be apparent to a person skilled in the art that these specific details need not be employed to practise the present invention. Conversely, specific details known to the person skilled in the art are omitted for the purposes of clarity in presenting the embodiments.
Figure 1 schematically illustrates the overall system architecture of the Sony� Playstation 3� entertainment device. A system unit 10 is provided, with various peripheral devices connectable to the system unit.
The system unit 10 comprises: a Cell processor 100; a Rambus� dynamic random access memory (XDRAM) unit 500; a Reality Synthesiser graphics unit 200 with a dedicated video random access memory (VRAM) unit 250; and an I/O bridge 700.
The system unit 10 also comprises a Blu Ray� Disk BD-ROM� optical disk reader 430 for reading from a disk 440 and a removable slot-in hard disk drive (HDD) 400, accessible through the I/O bridge 700. Optionally the system unit also comprises a memory card reader 450 for reading compact flash memory cards, Memory Stick� memory cards and the like, which is similarly accessible through the I/O bridge 700.
The 110 bridge 700 also connects to four Universal Serial Bus (USB) 2.0 ports 710; a gigabit Ethernet port 720; an IEEE 802.1 lb/g wireless network (Wi-Fi) port 730; and a Bluetooth� wireless link port 740 capable of supporting up to seven Bluetooth connections.
In operation the 110 bridge 700 handles all wireless, USB and Ethernet data, including data from one or more game controllers 751. For example when a user is playing a game, the bridge 700 receives data from the game controller 751 via a Bluetooth link and directs it to the Cell processor 100, which updates the current state of the game accordingly.
The wireless, USB and Ethernet ports also provide connectivity for other peripheral devices in addition to game controllers 751, such as: a remote control 752; a keyboard 753; a mouse 754; a portable entertainment device 755 such as a Sony Playstation Portable� entertainment device; a video camera such as an EyeToy� video camera 756; and a microphone headset 757. Such peripheral devices may therefore in principle be connected to the system unit 10 wirelessly; for example the portable entertainment device 755 may communicate via a Wi-Fi ad-hoc connection, whilst the microphone headset 757 may communicate via a Bluetooth link.
The provision of these interfaces means that the Playstation 3 device is also potentially compatible with other peripheral devices such as digital video recorders (DVRs), set-top boxes, digital cameras, portable media players, Voice over IP telephones, mobile telephones, printers and scanners.
In addition, a legacy memory card reader 410 may be connected to the system unit via a USB port 710, enabling the reading of memory cards 420 of the kind used by the Playstation� or Playstation 2� devices.
In the present embodiment, the game controller 751 is operable to communicate wirelessly with the system unit 10 via the Bluetooth link. However, the game controller 7511 can instead be connected to a USB port, thereby also providing power by which to charge the battery of the game controller 751. In addition to one or more analogue joysticks and conventional control buttons, the game controller is sensitive to motion in 6 degrees of freedom, corresponding to translation and rotation in each axis. Consequently gestures and movements by the user of the game controller may be translated as inputs to a game in addition to or instead of conventional button or joystick commands. Optionally, other wirelessly enabled peripheral devices such as the Playstation Portable device may be used as a controller. In the case of the Playstation Portable device, additional game or control information (for example, control instructions or number of lives) may be provided on the screen of the device. Other alternative or supplementary control devices may also be used, such as a dance mat (not shown), a light gun (not shown), a steering wheel and pedals (not shown) or bespoke controllers, such as a single or several large buttons for a rapid-response quiz game (also not shown).
S
The remote control 752 is also operable to communicate wirelessly with the system unit 10 via a Bluetooth link. The remote control 752 comprises controls suitable for the operation of the Blu Ray Disk BD-ROM reader 430 and for the navigation of disk content.
The Blu Ray Disk BD-ROM reader 430 is operable to read CD-ROMs compatible S with the Playstation and PlayStation 2 devices, in addition to conventional pre-recorded and recordable CDs, and so-called Super Audio CDs. The reader 430 is also operable to read DVD-ROMs compatible with the Playstation 2 and PlayStation 3 devices, in addition to conventional pre-recorded and recordable DVDs. The reader 430 is further operable to read BD-ROMs compatible with the Playstation 3 device, as well as conventional pre-recorded and recordable Blu-Ray Disks.
The system unit 10 is operable to supply audio and video, either generated or decoded by the Playstation 3 device via the Reality Synthesiser graphics unit 200, through audio and video connectors to a display and sound output device 300 such as a monitor or television set having a display 305 and one or more loudspeakers 310. The audio connectors 210 may include conventional analogue and digital outputs whilst the video connectors 220 may variously include component video, S-video, composite video and one or more High Definition Multimedia Interface (HDMI) outputs. Consequently, video output may be in formats such as PAL or NTSC, or in 720p, 1080i or lO8Op high definition.
Audio processing (generation, decoding and so on) is performed by the Cell processor 100. The Playstation 3 device's operating system supports Dolby� 5.1 surround sound, Dolby� Theatre Surround (DTS), and the decoding of 7.1 surround sound from Blu-Ray� disks.
In the present embodiment, the video camera 756 comprises a single charge coupled device (CCD), an LED indicator, and hardware-based real-time data compression and encoding apparatus so that compressed video data may be transmitted in an appropriate format such as an intra-image based MPEG (motion picture expert group) standard for decoding by the system unit 10. The camera LED indicator is arranged to illuminate in response to appropriate control data from the system unit 10, for example to signify adverse lighting conditions. Embodiments of the video camera 756 may variously connect to the system unit 10 via a USB, Bluetooth or Wi-Fi communication port. Embodiments of the video camera may include one or more associated microphones and also be capable of transmitting audio data. In embodiments of the video camera, the CCD may have a resolution suitable for high-definition video capture. In use, images captured by the video camera may for example be incorporated within a game or interpreted as game control inputs.
In general, in order for successful data communication to occur with a peripheral device such as a video camera or remote control via one of the communication ports of the system unit 10, an appropriate piece of software such as a device driver should be provided.
Device driver technology is well-known and will not be described in detail here, except to say that the skilled man will be aware that a device driver or similar software interface may be required in the present embodiment described.
Referring now to Figure 2, the Cell processor 100 has an architecture comprising four basic components: external input and output structures comprising a memory controller 160 and a dual bus interface controller 170A,B; a main processor referred to as the Power Processing Element 150; eight co-processors referred to as Synergistic Processing Elements (SPEs) 11OA-H; and a circular data bus connecting the above components referred to as the Element Interconnect Bus 180. The total floating point performance of the Cell processor is 218 GFLOPS, compared with the 6.2 GFLOPs of the Playstation 2 device's Emotion Engine.
The Power Processing Element (PPE) 150 is based upon a two-way simultaneous multithreading Power 970 compliant PowerPC core (PPU) 155 running with an internal clock of 3.2 G1-Iz. It comprises a 512 kB level 2 (L2) cache and a 32 kB level 1 (Li) cache. The PPE 150 is capable of eight single position operations per clock cycle, translating to 25.6 GFLOPs at 3.2 GI-Iz. The primary role of the PPE 150 is to act as a controller for the Synergistic Processing Elements 11 OA-H, which handle most of the computational workload.
In operation the PPE 150 maintains a job queue, scheduling jobs for the Synergistic Processing Elements 1 bA-H and monitoring their progress. Consequently each Synergistic Processing Element 11OA-H runs a kernel whose role is to fetch a job, execute it and synchronise with the PPE 150.
Each Synergistic Processing Element (SPE) 1 1OA-H comprises a respective Synergistic Processing Unit (SPU) 1 20A-H, and a respective Memory Flow Controller (MFC) 140A-H comprising in turn a respective Dynamic Memory Access Controller (DMAC) 142A-H, a respective Memory Management Unit (MMU) 144A-H and a bus interface (not shown).
Each SPU 120A-H is a RISC processor clocked at 3.2 GHz and comprising 256 kB local RAM 130A-H, expandable in principle to 4 GB. Each SPE gives a theoretical 25.6 GFLOPS of single precision performance. An SPU can operate on 4 single precision floating point members, 4 32-bit numbers, 8 16-bit integers, or 16 8-bit integers in a single clock cycle. In the same clock cycle it can also perform a memory operation. The SPU 120A-H does not directly access the system memory XDRAM 500; the 64-bit addresses formed by the SPU 120A-H are passed to the MFC 140A-H which instructs its DMA controller l42A-H to access memory via the Element Interconnect Bus 180 and the memory controller 160.
The Element Interconnect Bus (EIB) 180 is a logically circular communication bus internal to the Cell processor 100 which connects the above processor elements, namely the PPE 150, the memory controller 160, the dual bus interface 170A,B and the 8 SPEs 11OA-H, totalling 12 participants. Participants can simultaneously read and write to the bus at a rate of 8 bytes per clock cycle. As noted previously, each SPE 1 bA-H comprises a DMAC 142A-H for scheduling longer read or write sequences. The EbB comprises four channels, two each in clockwise and anti-clockwise directions. Consequently for twelve participants, the longest step-wise data-flow between any two participants is six steps in the appropriate direction. The theoretical peak instantaneous EIB bandwidth for 12 slots is therefore 96B per clock, in the event of full utilisation through arbitration between participants. This equates to a theoretical peak bandwidth of 307.2 GB/s (gigabytes per second) at a clock rate of 3.2GHz.
The memory controller 160 comprises an XDRAM interface 162, developed by Rambus Incorporated. The memory controller interfaces with the Rambus XDRAM 500 with a theoretical peak bandwidth of 25.6 GB/s.
The dual bus interface 170A,B comprises a Rambus FlexIO� system interface 172A,B. The interface is organised into 12 channels each being 8 bits wide, with five paths being inbound and seven outbound. This provides a theoretical peak bandwidth of 62.4 GB/s (36.4 GB/s outbound, 26 GB/s inbound) between the Cell processor and the 110 Bridge 700 via controller 170A and the Reality Simulator graphics unit 200 via controller 170B.
Data sent by the Cell processor 100 to the Reality Simulator graphics unit 200 will typically comprise display lists, being a sequence of commands to draw vertices, apply textures to polygons, specify lighting conditions, and so on.
Referring now to Figure 3, the Reality Simulator graphics (RSX) unit 200 is a video accelerator based upon the NVidia� G70/7 1 architecture that processes and renders lists of commands produced by the Cell processor 100. The RSX unit 200 comprises a host interface 202 operable to communicate with the bus interface controller 1 70B of the Cell processor 100; a vertex pipeline 204 (VP) comprising eight vertex shaders 205; a pixel pipeline 206 (PP) comprising 24 pixel shaders 207; a render pipeline 208 (RP) comprising eight render output units (ROPs) 209; a memory interface 210; and a video converter 212 for generating a video output. The RSX 200 is complemented by 256 MB double data rate (DDR) video RAM (VRAM) 250, clocked at 600MHz and operable to interface with the RSX 200 at a theoretical peak bandwidth of 25.6 GB/s. In operation, the VRAM 250 maintains a frame buffer 214 and a texture buffer 216. The texture buffer 216 provides textures to the pixel shaders 207, whilst the frame buffer 214 stores results of the processing pipelines. The RSX can also access the main memory 500 via the EIB 180, for example to load textures into the VRAM 250.
The vertex pipeline 204 primarily processes deformations and transformations of vertices defining polygons within the image to be rendered.
The pixel pipeline 206 primarily processes the application of colour, textures and lighting to these polygons, including any pixel transparency, generating red, green, blue and alpha (transparency) values for each processed pixel. Texture mapping may simply apply a graphic image to a surface, or may include bump-mapping (in which the notional direction of a surface is perturbed in accordance with texture values to create highlights and shade in the lighting model) or displacement mapping (in which the applied texture additionally perturbs vertex positions to generate a deformed surface consistent with the texture).
The render pipeline 208 performs depth comparisons between pixels to determine which should be rendered in the final image. Optionally, if the intervening pixel process will not affect depth values (for example in the absence of transparency or displacement mapping) then the render pipeline and vertex pipeline 204 can communicate depth information between them, thereby enabling the removal of occluded elements prior to pixel processing, and so improving overall rendering efficiency. In addition, the render pipeline 208 also applies subsequent effects such as full-screen anti-aliasing over the resulting image.
Both the vertex shaders 205 and pixel shaders 207 are based on the shader model 3.0 standard. Up to 136 shader operations can be performed per clock cycle, with the combined pipeline therefore capable of 74.8 billion shader operations per second, outputting up to 840 million vertices and 10 billion pixels per second. The total floating point performance of the RSX 200 is 1.8 TFLOPS.
Typically, the RSX 200 operates in close collaboration with the Cell processor 100; for example, when displaying an explosion, or weather effects such as rain or snow, a large number of particles must be tracked, updated and rendered within the scene. In this case, the PPU 155 of the Cell processor may schedule one or more SPEs llOA-H to compute the trajectories of respective batches of particles. Meanwhile, the RSX 200 accesses any texture data (e.g. snowflakes) not currently held in the video RAM 250 from the main system memory 500 via the element interconnect bus 180, the memory controller 160 and a bus interface controller 170B. The or each SPE 1 bA-H outputs its computed particle properties (typically coordinates and normals, indicating position and attitude) directly to the video RAM 250; the DMA controller 142A-H of the or each SPE 11OA-H addresses the video s RAM 250 via the bus interface controller 1 70B. Thus in effect the assigned SPEs become part of the video processing pipeline for the duration of the task.
In general, the PPU 155 can assign tasks in this fashion to six of the eight SPEs available; one SPE is reserved for the operating system, whilst one SPE is effectively disabled. The disabling of one SPE provides a greater level of tolerance during fabrication of the Cell processor, as it allows for one SPE to fail the fabrication process. Alternatively if all eight SPEs are functional, then the eighth SPE provides scope for redundancy in the event of subsequent failure by one of the other SPEs during the life of the Cell processor.
The PPU 155 can assign tasks to SPEs in several ways. For example, SPEs may be chained together to handle each step in a complex operation, such as accessing a DVD, video and audio decoding, and error masking, with each step being assigned to a separate SPE.
Alternatively or in addition, two or more SPEs may be assigned to operate on input data in parallel, as in the particle animation example above.
Software instructions implemented by the Cell processor 100 and/or the RSX 200 may be supplied at manufacture and stored on the HDD 400, and/or may be supplied on a data carrier or storage medium such as an optical disk or solid state memory, or via a transmission medium such as a wired or wireless network or internet connection, or via combinations of these.
The software supplied at manufacture comprises system firmware and the Playstation 3 device's operating system (OS). In operation, the OS provides a user interface enabling a user to select from a variety of functions, including playing a game, listening to music, viewing photographs, or viewing a video. The interface takes the form of a so-called cross media-bar (XMB), with categories of function arranged horizontally. The user navigates by moving through the function icons (representing the functions) horizontally using the game controller 751, remote control 752 or other suitable control device so as to highlight a desired function icon, at which point options pertaining to that function appear as a vertically scrollable list of option icons centred on that function icon, which may be navigated in analogous fashion. However, if a game, audio or movie disk 440 is inserted into the BD-ROM optical disk reader 430, the Playstation 3 device may select appropriate options automatically (for example, by commencing the game), or may provide relevant options (for example, to select between playing an audio disk or compressing its content to the HDD 400).
In addition, the OS provides an on-line capability, including a web browser, an interface with an on-line store from which additional game content, demonstration games S (demos) and other media may be downloaded, and a friends management capability, providing on-line communication with other Playstation 3 device users nominated by the user of the current device; for example, by text, audio or video depending on the peripheral devices available. The on-line capability also provides for on-line communication, content download and content purchase during play of a suitably configured game, and for updating the firmware and OS of the Playstation 3 device itself, It will be appreciated that the term "on-line" does not imply the physical presence of wires, as the term can also apply to wireless connections of various types.
Embodiments of the present invention in which an augmented reality marker is used to calibrate a real world space so that augmented reality images may be generated will now be described with reference to Figures 4 to 8.
Figure 4 shows a schematic diagram of an entertainment system arranged to detect an augmented reality marker so that a user may interact with a video game. In the embodiments described below, the entertainment system is the same as that described above with reference to Figures 1 to 3. However, it will be appreciated that any suitable entertainment system could be used.
In particular, Figure 4 shows the entertainment device 10, which is operably connected to the video camera 756 and the display and sound output device 300. Other elements of the entertainment system such as the game controller 751 have been omitted from Figure 4 for the sake of clarity in understanding the drawing. In embodiments of the present invention, the video camera 756 is arranged to capture images of an augmented reality marker 1000. The detection of the augmented reality marker 1000 may then be used to generate a virtual image plane 1010 which relates to a real surface upon which the augmented reality marker 1000 is placed. The cell processor 100 can then generate an interaction area 1020 (indicated by the dashed line in Figure 4). The interaction area is an area of the captured images within which virtual images may be generated and combined with the captured video images so that a user may interact with the virtual images. The interaction area will be described in more detail later below.
In embodiments of the present invention, the interaction area 1020 allows a user to interact with, for example, a virtual pet, which may be displayed combined with images of the real environment. For example, the virtual pet may displayed such that it appears to walk or run around on the virtual image plane 1010 within the interaction area 1020. This provides a S user with images which make it appear as if the virtual pet is actually on the surface upon which the augmented reality marker 100 was placed.
The way in which this functionality is achieved is described below.
In order for a virtual reality object, such as a virtual pet, to be combined with real images in such a way as to be believable to a user, the position of the video camera 756 and the images captured by the video camera 756 is preferably calibrated in such a way as to allow virtual images to be rendered so that they correspond to a real surface in, for example, a user's living room. Once this has been done, the virtual pet may be rendered in such a way as to make it appear to move around on that surface. For example, the camera can be calibrated so that the virtual image plane 1010 corresponds to a tabletop in the user's living room. The virtual pet can then be rendered such that it appears to run around on the tabletop, giving the illusion to the user that the pet is in the user's room.
In other embodiments, the virtual image plane 1010 need not correspond to a real surface, for example if the virtual pet is to be rendered in such a way as to appear to be flying.
Accordingly, embodiments of the invention allow the virtual image plane 1010 to be calibrated from the position of the augmented reality marker 1000 on a real surface (such as the tabletop). To achieve this, the user places the augmented reality marker 1000 on a suitable surface so that the augmented reality marker 1000 is within a field of view of the video camera 756. The cell processor 100 then generates the virtual image plane 1010 accordingly.
In some embodiments, this calibration process may be carried out at the start of a game, for example by a user placing the augmented reality marker 1000 on a surface to be calibrated in response to an on-screen prompt generated by the cell processor 100. In other embodiments, the calibration may be carried out in response to a user selection via a suitable user interface (for example a game controller 751) indicating that calibration of the virtual image plane 1010 should be carried out. However, it will be appreciated that the calibration could be carried out at any suitable point in the game.
The way in which the virtual image plane is generated will now be described.
Figure 5 shows an example of an augmented reality marker 1000 which may be used to calibrate the virtual image plane 1010 in accordance with embodiments of the present invention.
The augmented reality marker 1000 comprises an image of a square 1050 together with an alphanumeric character such as the letter "A" 1060, although it will be appreciated that other suitable symbols or patterns could be used. The augmented reality marker 1000 shown in Figure 5 is two-dimensional although it will be appreciated that such markers may be applied to a three dimensional object as shown for example in Figure 7.
During calibration, the cell processor 100 detects the augmented reality marker 1000 by analysing the images captured by the video camera 756. The cell processor 100 applies an image threshold to the captured images so as to generate a binary black and white image. The cell processor 100 then detects pixel regions which are likely to correspond to the square 1050 (also referred to as a "quad"), using known techniques such as edge following and template matching. Those regions of an analysed image which are detected by the cell processor 100 as comprising quads are then analysed using known techniques to detect whether there is an alphanumeric character e.g. the letter A 1060 within the square 1050.
The cell processor 100 then calculates a probability associated with each image region that is detected as comprising an alpha numeric character within a quad. The cell processor then detects which image region has the highest probability and labels that region as corresponding to the augmented reality marker 1000. The position of the augmented reality marker 1000 may then be used as a reference point about which the virtual image plane 1010 and the interaction area 1020 may be defined.
In the example augmented reality marker shown in Figure 5, a distance (denoted "a" in Figure 5) between the alphanumeric character A 1060 and the inside of the quad 1050 is substantially the same as that of a thickness (denoted "b" in Figure 5) of the quad 1050 and a distance (denoted "c" in Figure 5) between the outside of the quad 105 and an outside edge of the marker 1000. Additionally, a distance (denoted "p" in Figure 5) between the alphanumeric character A 1060 and the inside of the quad 1050 is substantially the same as that of a thickness (denoted "q" in Figure 5) of the quad 1050 and a distance (denoted "r" in Figure 5) between the outside of the quad 105 and an outside edge of the marker 1000. In other words, in an embodiment, a = b = c p q r. This assists the cell processor 100 in detecting the marker because the marker 1000 can be split up into a grid of 5 by 5 sub regions which may be individually analysed by the cell processor 100 so as to help detect a quad together with an alphanumeric character, other symbol or pattern.
However, in most arrangements, such as the one shown in Figure 4, the optical axis of the video camera 756 will not be perpendicular to a surface upon which the augmented reality marker 1000 is placed. Accordingly, the captured image of the augmented reality marker 1000 is likely to be distorted. To address this, when detection of quads is carried out by the cell processor 100, the cell processor 100 is also operable to detect rotational, skew and trapezoidal transforms of the augmented reality marker 1000 using known techniques.
Once the augmented reality marker 1000 has been detected, the distortion of the image of the augmented reality marker 1000 may then be advantageously analysed to detect the surface (for example, a tabletop) upon which the augmented reality marker 1000 is placed.
Assuming that the surface upon which the augmented reality marker 1000 is placed is a substantially planar surface and that the marker is arranged to be substantially co-planar with the surface, then the virtual image plane 1010 may be generated accordingly by mapping the detected distortion of the marker 1000 to the surface.
In an embodiment, a representation of the augmented reality marker 1000, including for example the shape and size of the marker 1000, is preloaded into the XDRAM 500 from a suitable recording medium such as a Blu-ray� disc 440 or from the HDD 400. In an embodiment, the cell processor 100 is operable to calculate a transform which corresponds to transforming the marker 1000 so that it is a predetermined distance away from the video camera 756 and perpendicular to the optical axis of the camera. As the marker 1000 is parallel (arranged to be substantially co-planar) to the surface upon which it is placed (at least in those circumstances where the surface is substantially planar), the resultant calculated transform may be used to calculate coordinates which define the virtual image plane 1010. However, it will be appreciated that other suitable methods for generating the virtual image plane 1010 from the detection of the marker could be used.
In another embodiment, if the dimensions of the augmented reality marker 1000 are not previously known, a calibration of the shape and size of the marker 1000 may be carried out by the system unit 10 in response to a user selection from a suitable menu displayed on the display and sound output device 300.
During this calibration, the user holds the augmented reality marker 1000 within the field of view of the video camera 756 so that the augmented reality marker 1000 is normal to the optical access of the video camera 756 and is a predetermined distance away from the video camera 756. The cell processor 100 then detects the dimensions of the augmented reality marker 1000 from the size of the captured image with respect to a full-pixel resolution of the camera using known techniques and stores the resultant image to memory so that the marker can be detected. Accordingly, the dimensions and the stored image form a S predetermined representation of the marker which may be used to detect the augmented reality marker within the captured images and detect a degree of distortion between the detected marker and the predetermined representation so as to generate the virtual image plane 1010.
As well as, or instead of, detecting the dimensions of the marker and storing an image of the marker, an augmented reality marker mask may be generated by applying a binary threshold to the captured image an edge detection. The resultant mask may then form the representation of the marker which is used to detect the marker and calculate the degree of distortion between the marker and the predetermined representation. However, it will be appreciated that any other suitable method of generating the predetermined representation of the augmented reality marker may be used.
In an embodiment, only one image frame is used to calibrate the virtual image plane as described above. This may be performed in response to a selection by the user that calibration of the image plane 1010 is to be carried out. Alternatively, the calibration of the virtual image plane 1020 to the actual surface upon which the marker 1000 is placed may be performed automatically on loading a game. In other embodiments, the virtual image plane 1020 is calibrated by calculating the mean average of coordinates relating to virtual image planes each generated from respective images within a sequence of video images. In some embodiments, a user may place the augmented reality marker within an area of the field of view of the camera 756 as indicated by the system 10 on the display 305 so that calibration of the virtual image plane may be carried out as described above. However, it will be appreciated that the virtual image plane may be calibrated at any other suitable point in the game, in response to an indication by the system 10 that calibration is to be carried out or in response to any other
suitable user input.
Once calibration of the virtual image plane has been carried out, a user can then remove the virtual reality marker 1000 from the field of view of the video camera 756. By using an augmented reality marker to calibrate a virtual image plane, calibration of the plane may be carried out quickly and efficiently so that the virtual image plane can be used during generation of augmented reality images.
In embodiments of the present invention, a virtual pet may be generated by the system unit 10 so that the pet can be displayed on the display and sound output device 300 and appear combined with the real images.
In one embodiment, the virtual image plane 1010 may be generated by the cell processor 100 so that the virtual image plane 1010 extends throughout the field of view of the video camera 756. However, if the pet is caused to move around in the virtual image plane 1010, either in response to user input or in response to instructions generated by the cell processor 100, other real objects within the images captured by the video camera 756 may overlap with a generated position of the virtual pet, thereby detrimentally affecting the illusion of a virtual pet in a real environment.
For example, this may occur where the planar surface upon which the augmented reality marker 1000 has been placed is a floor of a user's living room. In this situation, there may be furniture around the edge of the room which is also within the field of view of the video camera 756 which might affect the generation of the augmented reality images. To address this problem, the cell processor 100 is operable to generate an interaction area which is a region of the captured images in which the virtual reality object may be displayed for interaction with the user. The interaction area 1020 is shown as the dashed line in Figure 4. Jn embodiments of the present invention, movements of the virtual pet are restricted so that the pet can only move within the virtual interaction area 1020. Accordingly, movement of the virtual pet is less likely to cause the virtual pet to be displayed in an area of the screen 305 which corresponds to other real world objects.
The user may interact with the virtual pet via any suitable user interface such as the game controller 751. Preferably, the user interacts with the virtual pet via motion, images of which are captured by the video camera 756. The cell processor 100 analyses the captured images for motion occurring near the pet using known techniques, and modifies and controls the behaviour of the virtual pet accordingly. A user can also interact with other virtual objects generated by the cell processor 100 in a similar way.
In embodiments of the present invention, the interaction area 1020 is automatically set by the cell processor 100 to be centred on the detected augmented reality marker 1000 and to be 50 percent of the full pixel area of the images captured by the video camera 756. In other embodiments, the interaction area 1020 is set by the cell processor 100 to correspond to 50 percent of the full pixel area of the images captured by the video camera 756 and to be a lower half of the full pixel area. However, it will be appreciated that any other suitable proportion of the pixel area or location of the selected area with respect to the marker 1000 may be used.
Additionally, a user may select the shape of the interaction area 1020 by using a suitable user interface and an on screen selection menu generated by the cell processor 100.
For example, as shown in Figure 4, the interaction area 1020 could be rectangular with the centre of the rectangle corresponding to the position of the augmented reality marker 1000 which was used to calibrate the virtual image plane. In some embodiments, the shape of the interaction area 1020 is substantially trapezoidal in the virtual image plane 1010 so that when the virtual image plane 1010 is mapped to a plane parallel to an image plane of the camera 756, the interaction area 1020 appears to be rectangular. However, it will be appreciated that other shapes of interaction area may be used and that the interaction area need not be centred on the virtual reality marker 1000.
Alternatively, the interaction area is generated by the cell processor 100 so that the interaction area corresponds to detected interaction area pixels. Interaction area pixels are those which surround the detected augmented reality marker 1000 and are colour matched to within a predetermined colour threshold with respect to a detected colour of one or more pixels adjacent to pixels which correspond to the augmented reality marker 1000. The cell processor 100 detects the interaction area pixels by detecting an average colour of pixels which are adjacent to those corresponding to the augmented reality marker 1000. The cell processor 100 then detects which pixels are contiguous with the pixels adjacent to the augmented reality marker 1000 and are within a predetermined colour threshold of the pixels adjacent to the augmented reality marker 1000 so as to generate the interaction area pixels.
However, a problem may occur if there are some pixels surrounding the augmented reality marker 100 which are a different colour or luminance to a majority of the pixels surrounding the marker 1000 but which should nevertheless be included in the interaction area. For example, this may occur if there is a dark spot on a carpet on which the marker 1000 is placed. In this case, the dark spot would be excluded from the interaction area, thus preventing the virtual pet from entering that area. Therefore, in an embodiment, the cell processor is operable to apply known pixel smoothing andlor filtering techniques as appropriate to pixels surrounding the augmented reality marker 1000 before carrying out the detection of the interaction area pixels. This reduces the likelihood that any small image features surrounding the marker 1000 and occurring on a surface upon which the augmented reality marker 1000 is placed are incorrectly excluded from the interaction area.
In one embodiment, the cell processor is operable to limit the generation of interaction area pixels so that they only occur within, for example, 50 percent of the full pixel area of the images captured by the video camera 756 centred on the marker 1000 as described above.
However, it will be appreciated that any other suitable proportion of the pixel area or location of the selected area with respect to the marker 1000 may be used.
An embodiment in which two augmented reality markers are used to define the interaction area 1020 will now be described with reference to Figure 6.
Figure 6 shows augmented reality marker 1000 together with another augmented reality marker 1100. In this embodiment, the cell processor 100 is operable to detect the augmented reality marker A 1000 and the augmented reality marker B 1100 and generate the interaction area so that at least part of a perimeter of the interaction area 1020 corresponds with the detected augmented reality markers 1000 and 1100. For example, the augmented reality markers 1000 and 1100 may indicate the corners of a rectangle as shown in Figure 6.
In this way, a user may position the augmented reality markers 1000 and 1100 so that they delineate the corners of the interaction area within a physical space such as the floor of a living room. Additionally, the cell processor 100 can detect the relative size and any image distortion of the two markers using known techniques so as to map the virtual image plane 1010 (not shown in Figure 6) to the surface upon which the markers are placed.
It will be appreciated that the augmented reality markers 1000 and 1100 may be used to indicate the perimeter an interaction area having a shape which is different from that of the interaction area 1020 shown in Figure 6. Accordingly, it will be appreciated that the shape of the interaction area 1020 need not be limited to a rectangle and that other shapes such as a square, a circle and a triangle and the like may be used.
Additionally, any number of augmented reality markers may be used to indicate the perimeter of the interaction area 1020. However, an increase in the number of augmented reality markers may increase the amount of processing resources needed to detect the markers and therefore generate the interaction area. Additionally, an interaction area defined in this way may sometimes cause "invisible walls" to be generated such that the virtual pet can not go outside the interaction area (i.e. they are stopped by an invisible wall). This can sometimes adversely affect the illusion of the virtual pet in the real environment because a user cannot see the edge of the interaction area. However, such a system for defining the interaction area may be useful if there are many real objects in the real environment which should not be part of the interaction area.
An embodiment in which a three dimensional augmented reality marker may be used will now be described with reference to Figure 7.
Figure 7 shows a three dimensional augmented reality marker 2000 which may be used to generate the virtual image plane 1010 and/or the interaction area 1020. In the embodiment shown in Figure 7, the three dimensional virtual reality marker 2000 is a cube comprising a plurality of marker faces 2000a, 2000b and 2000c, each of which comprises a quad in which there is a shape indicating the relative orientation of that marker face. For example, the marker face 2000a comprises a quad in which an alphanumeric character "A" is shown. The marker faces 2000b and 2000c show two different non-alphanumeric characters.
However, it will be appreciated that other three dimensional shapes may be used for the virtual augmented reality marker 2000 and that the images on the marker need not be planar in nature.
The use of a three-dimensional augmented reality marker addresses a problem which may occur if the optical axis of the camera forms an acute angle with a line parallel to the surface upon which the augmented reality marker is placed. In this case, distortions of a two dimensional marker placed on the surface may be so great as to mean that detection by the cell processor 100 of the augmented reality marker 1000 becomes unlikely or impossible.
Even if detection of the marker is possible, it may not be possible to detect the distortion with sufficient accuracy to use the marker to calibrate the virtual image plane.
However, by using a three dimensional augmented reality marker such as the augmented reality marker 2000, at least part of the marker is likely to be substantially perpendicular to the optical axis of the video camera 756. This advantageously increases the likelihood that the marker will be detected. In the example shown in Figure 7, the cell processor 100 is likely to detect the marker face 2000a and assign that region of the image as corresponding to the marker 2000. Given a height h of the augmented reality marker 2000 (which may be predetermined within software, loaded from a suitable storage medium, input by a user and the like), the cell processor 100 can then detect the distortion of marker faces 2000b and 2000c so as to generate the virtual image plane 1010. The virtual image plane and the interaction area 1020 are generated as described above with reference to Figures 4 to 6.
In some embodiments, the video camera 756 is operable to generate depth information which relates to a distance between the video camera 756 and objects within the field of view of the video camera 756. Such cameras are generally termed "Z -Cameras" because they measure the "z" coordinate and are known in the art (see, for example, http://www.3dvsystems.comltecbnology/tech.html, which relates to the Z-Cam manufactured by 3DVsystems). Various different techniques such as time-of-flight and infra-red pattern distortion are known for generating depth information, so these techniques will not be described in detail here.
In one embodiment, the depth information for each pixel is generated by the video camera. Alternatively, the depth information for each pixel may be generated by the cell processor 100 by analysing the data received from the camera. In this way, a distance d (as shown in Figure 7) to the augmented reality marker 2000 can be detected. The cell processor then generates the virtual image plane 1010 within the captured video images such that the virtual image plane is defined with respect to the detected three dimensional spatial position of the augmented reality marker 2000 as described above.
The use of a camera which is operable to generate depth information may also be used to detect advantageously objects which are greater than a predetermined distance above the virtual image plane. In an embodiment, objects which are detected as being greater than a predetermined distance above the virtual image plane are excluded from the interaction area.
This prevents objects which may overhang the interaction area or which obscure the interaction area such as a tabletop from being included in the interaction area.
Furthermore, the use of a z-camera can, for example, allow the cell processor 100 to generate the virtual pet such that the pet can appear to run around the back of an object (i.e. be temporarily obscured from the view of the camera). In other words, the Z-camera can be used to detect an occlusion of a virtual object (e.g. the virtual pet) by a real object in the real environment. To achieve this, the cell processor is operable to detect, by analysing the depth information, whether a virtual reality object position (e.g. the position of the virtual pet) is such that the virtual reality object is occluded from a point of view of the video camera by a real object. If the virtual reality object is detected to be occluded by the real object, the cell processor 100 can then generate the virtual object so that the virtual object appears to be behind the real object. This improves an illusion to a user that the virtual pet is actually in the real environment.
In embodiments of the invention, a user may interact with, for example, the virtual pet, by moving their hand near the virtual pet. To achieve this functionality, in some embodiments the cell processor 100 causes an image in which there are no moving objects (for example when calibrating the virtual image plane using the augmented reality marker 1000 or the augmented reality marker 2000) to be stored to the XDRAM 500 of the HDD 400 and assign this image as a background image. Subsequent image frames are then analysed by the cell processor 100 to detect changes in pixel values with respect to the background image. Any pixel values which change with respect to the background image are labelled as foreground pixels and are likely to correspond to motion by, for example, a user. This technique is known S as background subtraction. The cell processor 100 then carries out known object detection and tracking techniques to assign an object type to respective foreground pixels. In an embodiment, each interaction object may interact with the virtual pet in a different way.
For example, a rapid change in pixel value above the pet, but in close proximity to the pet, may correspond to a user mimicking a tickling motion and therefore the cell processor 100 can render the pet so that it reacts accordingly. However, it will be appreciated that any other forms of interaction may be used and that other virtual reality objects such as footballs, vehicles, tools and the like could be simulated.
However, the use of background subtraction to detect motion can give rise to false detection of motion and can be very sensitive to ambient lighting conditions; any change with respect to the background image as originally stored will be detected as motion. Therefore, in preferred embodiments, the cell processor 100 is operable to detect image-to-image differences by subtracting a current image from an adjacent preceding image. Those pixels in the current image which are detected as having changed, or as having changed by at least a threshold amount, with respect to corresponding pixels in the previous image are flagged as corresponding to image movement (also referred to as inter-image motion). Real objects such as a user's hand may then be detected and tracked using known techniques such as optical flow.
Additionally, the augmented reality marker 1000 or the augmented reality marker 2000 may be used as a game feature within a game executed by the entertainment device 10.
For example, where the game allows interaction with a virtual pet, the augmented reality marker could be used to simulate a pet feeding device such as a water bottle or the marker may be used to indicate where simulation of cleaning the pet (for example, giving the pet a bath) should be carried out. As another example, the augmented reality marker could correspond to a food container which can be filled from a virtual food dispensing device with virtual food for the pet. The user may then manipulate the augmented reality marker so as to cause the virtual food in the container to be dispensed into a virtual food bowl generated by the cell processor 100. However, it will be appreciated that the augmented reality marker could act as any suitable object or indicator appropriate to a game with which it is associated.
In some embodiments, the cell processor 100 is operable to cause the reality simulator graphics unit RSX 200 to render a virtual hole in the virtual image plane 1010. In other words, it will appear to a user as if there is a hole in, for example, the floor of their room. The cell processor 100 can then cause virtual objects and/or the virtual pet to appear and disappear (also referred to respectively as spawning an object and removing an object from the augmented reality environment) through the virtual hole as, and when, a virtual object and/or a virtual pet are generated or removed from the virtual environment. The cell processor 100 can then cause the virtual hole to disappear once an object or the pet has been generated (spawned) or removed from the augmented reality environment. A method of generating a virtual image plane will now be described with reference to Figure 8.
Figure 8 is a flow chart showing a method of generating a virtual image plane in accordance with embodiments of the present invention. As a first step s 100, a sequence of video images captured by the video camera 756 is received by the entertainment device 10 via a communications link such as WIFI or Bluetooth�. Then, at a step s105, the cell processor 100 detects the augmented reality marker within the received video images as described above. Once an augmented reality marker has been detected at the step s105, the cell processor 100 is operable to generate, at a step silO, the virtual image plane such that the virtual image plane is defined within the captured video images, and the virtual video image plane is defined with respect to the detected augmented reality marker as described above. In other words, the cell processor 100 may generate the virtual image plane so that the virtual image plane corresponds with a surface (i.e. arranged to be substantially co-planar with the surface) upon which the augmented reality marker is placed.
It will be appreciated that the above described techniques may be combined as appropriate. For example, where more than one marker is used to define the virtual image plane and or the interaction area, one marker could be a three dimensional marker as described above with reference to Figure 7, whilst other markers could be two dimensional.
As mentioned above, the cell processor 100 is operable to combine images captured by the camera 756 with computer generated images such as those corresponding to the virtual pet. In other words, the cell processor 100 could be considered to act as an image mixer for combining the computer generated image with at least part of a camera-captured image to generate a composite image. However, the computer generated images may have a different image quality from the captured images. Typically, the computer generated images will have a higher image quality than the captured images because the captured images may comprise image noise and exhibit pixelation due to a digital zoom operation being carried out on the captured images. This may impair the illusion that the virtual object is part of the real environment, because the computer generated images may appear as if separate from the captured images, due to differences in image quality.
Therefore, in some embodiments, the cell processor 100 is operable to apply image degradation to the computer generated image in response to an image attribute of the camera captured image. Here, the image attribute is to be understood as being indicative of the image quality of the image captured by the camera 756 (hereinafter referred to as a camera-captured image). This will now be described in more detail in reference to Figures 9 to 13.
Figure 9 shows a schematic diagram of an augmented reality image showing an image area to which a digital zoom operation is to be applied. In particular, Figure 9 shows a composite image 3000 which is generated by the cell processor 100 by combining an image captured by the camera with a computer generated image such an image corresponding to the virtual pet 3010. In Figure 9, the virtual pet 3010 is shown on the virtual image plain 1010.
Typically, where the camera 756 is a so-called webcam, the camera 756 will not have an optical zoom facility. Therefore, if a zoom operation is desired, for example in response to a particular mode of game play, in order to carry out a zoom operation on the composite image 3000, a digital zoom operation may need to be carried out by the cell processor 100.
For example, it might be desirable to zoom in on the virtual pet 3010 such that a head of the virtual pet is seen in an enlarged view, together with part of the image captured by the camera 756. This may occur, for example where the appearance of the virtual pet 3010 is to be altered in a suitable game play mode of the game. In other words, the cell processor 100 can act as a digital zoom controller.
Digital zoom operations are known in the art and are typically carried out by cropping the camera image to correspond to the desired zoom portion, and then using the pixels which correspond to the zoom portion to create a zoomed image corresponding to the full display size. However, any suitable method of carrying out a digital zoom operation on the captured image may be used.
An example of a portion of the composite image which is selected for display so as to simulate a camera zoom operation is indicated in Figure 9 by the dashed line which defines a zoom portion 3020 of the composite image 3000. However, if the cell processor 100 perfonns a digital zoom operation on the zoom portion 3020 of the composite image 3000, a portion of the computer generated image corresponding to the head and shoulders of the virtual pet 3010 is likely to be such that the virtual pet 3010 appears to have a different image quality from the camera captured image, thus impairing the illusion of reality of the composite image (augmented reality image).
This is because a digital zoom operation typically involves ignoring most of the pixels in the captured image apart from the pixels corresponding to the zoom portion, such as zoom portion 3020; no additional optical resolution is gained by a digital zooming operation.
Therefore, when a digital zoom operation is applied to a camera-captured image, the resultant image may appear pixelated. In other words, individual pixels may be apparent as blocks in the zoomed image.
In order to try and reduce the appearance of pixels as blocks in the composite image 300, caused by the reduced number of pixels in the zoom portion 3020, interpolation between the pixels corresponding to the captured image in the zoom portion 3020 may be used.
However, this may result in an image which appears to be degraded with respect to the original, non-zoomed, captured image.
In contrast, computer generated images are typically generated in a vector graphics format. Therefore, any digital zoom operation that is carried out on part of a computer generated image means that the resultant image is likely to have the same image quality as the original computer generated image. Accordingly, when an image area of the captured image corresponding to the zoom portion 3020 is combined with an image area of the computer generated image corresponding to the zoom portion 3020, the computer generated image may appear to have a different image quality or resolution from the captured image in the zoom portion 3020. As mentioned above, this may impair the illusion of reality that the virtual pet 3010 is in the real environment.
Accordingly, in some embodiments, the cell processor 100 is operable to apply image degradation to the computer generated image, such as the virtual pet 3010, in response to a degree of image zoom applied by the cell processor 100. This is illustrated in Figure 10.
Figure 10 is a schematic diagram of an augmented reality image (composite image) in which image degradation has been applied to the computer generated image, such as the virtual pet 3010. In particular, Figure 10 shows an image area corresponding to the zoomed portion 3020 which comprises the camera captured image and the computer generated image.
Additionally, in Figure 10, the dotted line 3030 indicates the image quality of the computer generated image before image degradation is applied by the cell processor 100.
In some embodiments, the cell processor 100 is operable to degrade the computer generated image by applying a degree of image pixelation to the computer generated image in dependence on the degree of image zoom applied by the cell processor 100. Image pixelation is a technique known the art in which the resultant image is caused to look as if formed from visible pixels such as those illustrated by the squares 3040 in Figure 10.
For example, to degrade an image by carrying out image pixelation, a block of 4x4 pixels in the computer generated image may be summed together and the average pixel value of the 4x4 block of pixels taken as the pixel to represent an image area corresponding to the 4x4 block of original image pixel in the computer generated image. However, it will appreciated that any other suitable technique or method of image pixelation of the computer generated image may be used so as to degrade the computer generated image in response to a degree of digital zoom applied to the composite image 3000.
As mentioned above, in some embodiments, the cell processor 100 is operable to interpolate pixels of the captured image so as to smooth the appearance of the camera captured image. Image interpolation of the pixels is typically carried out by applying a suitable filter to the zoomed image. For example, nearest-neighbour interpolation or bi-linear filtering may be used, although it will be appreciated that any other suitable image filter or method of interpolating the pixels maybe used.
However, if only the camera captured image has image interpolation applied to it, then there may be a perceived difference between the image quality of the camera captured image and the image quality of the computer generated image which has been pixelated by the cell processor 100. This may impair the illusion that the combined composite image is a realistic image.
Therefore, in some embodiments, the cell processor 100 is operable to apply a first image filter to the camera captured image, for example to interpolate between the pixels of the camera captured image so as to smooth the image. The cell processor 100 is also operable to apply a second image filter to the computer generated image. In this embodiment, the second image filter is such that it has substantially the same effect on the computer generated image as the fist image filter when the first image filter is applied to the camera-captured image. In other words, once the computer generated image has been pixelated, the resultant pixelated image may have substantially the same image filter applied to it as that applied to the camera captured image. This advantageously brings the apparent image quality of the computer generated image closer to that of the camera captured image.
As mentioned above, the cell processor 100 is operable to apply image degradation to the computer generated image of the composite image in dependence upon a degree of image zoom applied by the cell processor to the camera captured image. In other words, the cell processor 100 is operable to apply image degradation to the computer generated image in response to an image attribute of the camera-captured image.
In some embodiments, the image attribute may comprise a detected degree of image noise in the image. This will now be described in more detail with reference to Figures 11 and 12.
As mentioned above, where a computer generated image, such as that corresponding to the virtual pet 3010, has a different image quality from the camera captured image, the illusion of reality that the virtual pet is within the real environment may be impaired.
Typically, camera-captured images exhibit some degree of image noise. For example, this may be so-called fixed pattern noise corresponding to so-called "hot" pixels. For example, where the camera uses a charge coupled device (CCD) to capture the image, hot pixels may typically exhibit some degree of luminance andlor chrominance offset from a mean average of the pixels in the CCD in the un-illuminated state, for example due to charge offsets incurred during the manufacturing process. Other occurrences of fixed pattern noise may occur if a pixel position in the CCD is no longer or was never working, or where other defects in the CCD array occur.
Another type of image noise which may occur is so-called random noise, where each pixel in the camera captured image exhibits a random deviation from the mean average for the whole CCD. Random noise in the image can be caused by thermal noise in amplifiers used to read out the CCD. Other types of image noise are shot noise in the image or conductive noise which occurs due to charge movement between adjacent pixels in the CCD, and so-called "banding noise" due to the signal contrast between rows and columns in the CCD may cause banding to appear in the image, although it will be appreciated that many types of image noise may be present in a camera-captured image.
If illumination conditions of an image scene to be captured by the camera are less than ideal, for example if the ambient light conditions are low (e.g. indoors in artificial light), then the camera captured image may exhibit a high degree of image noise. This may cause the composite image to look unrealistic because the computer generated image will not exhibit any degree of image noise, in comparison to the camera captured image which is likely to exhibit image noise.
Therefore, in some embodiments, the cell processor 100 is operable to detect a degree of image noise present in the camera captured image, and degrade the computer generated image in response to the detected degree of image noise. An example of the appearance of image noise in contrast of the computer generated image is shown in Figure 11.
Figure 11 shows a schematic diagram of an augmented reality image (composite image 4000) in which the camera captured image comprises a degree of image noise. For the sake of clarity in understanding the drawing, in Figure lithe image noise is illustrated as a regular array of dots. However, it will be appreciated that any form of image noise such as shot noise, thermal noise, fixed pattern noise, banding noise and the like may be present in the camera captured image. The composite image 4000 illustrated in Figure 11 comprises the virtual pet 3010. However, because the virtual pet 3010 is a computer generated image, the virtual pet 3010 is unlikely to exhibit any image noise, leading to a degradation in the appearance of reality when the computer generated image is combined with the camera captured image to generate the composite image 4000.
Therefore, in some embodiments, the cell processor 100 is operable to detect a degree of image noise present in the camera captured image, and apply image degradation to the computer generated image, such as the virtual pet 3010, in response to the detected degree of image noise in the camera captured image. This advantageously means that, although the image quality of the computer generated image is reduced, the overall appearance of reality of a composite image generated by combining the computer generated image with the camera captured image is improved.
An example of a composite image 4010, in which image degradation has been applied to a computer generated image is shown in Figure 12. Figure 12 is a schematic diagram of a composite image 4010 in which a degree of image noise has been applied to the computer generated image. In particular, Figure 12 shows a representation of the virtual pet 3010 to which image noise has been applied.
In Figure 12, for the sake of understanding the drawing, the image noise applied by the cell processor 100 to the virtual pet 3010 is illustrated as a regular array of dots, although it will be appreciated that any other suitable degree of image noise may be applied to the computer generated image as appropriate, depending on the detected degree of image noise in the camera-captured image.
In some embodiments, the cell processor is operable to degrade the computer generated image, such as the virtual pet 3010, by applying a degree of image noise to the computer generated image which is substantially the same as the degree of image noise detected in the camera captured image. This advantageously means that the computer generated image can appear as if part of the camera captured image when the computer generated image is combined with the camera captured image to generate the composite image 4010. This increases the illusion of reality that the virtual pet is within the real environment.
In embodiments of the invention, the cell processor 100 is operable to detect image noise within the camera-captured image by calculating the mean pixel value for a predetermined or preset image area of the camera-captured image. For example, the cell processor could detect the mean pixel value of the pixels in the camera-captured image within an image area indicated by the dashed line 4020 in Figure 12. The cell processor 100 can then calculate the variance of the pixels in the image area 4020 with respect to the mean value of the pixels in the pixel area 4020 so as to generate an indication of the degree of image noise in the image area 4020. However, it will be appreciated that any other technique for detecting the degree of image noise in the camera-captured image maybe used. For example, the signal-to-noise ratio could be detected. To achieve this, the cell processor 100 divides the detected signal by the route mean square (RMS) noise to give the signal-to-noise ratio.
In some embodiments, the degree of image noise may be calculated by the cell processor 100 for the whole image that is captured by the camera. However, in other embodiments only part of the camera-captured image, such as the image reason 4020 may be analysed to detect the degree of image noise.
Additionally, so that any inter-image motion is unlikely to effect the noise measurement, the cell processor 100 is operable to detect regions of the camera captured image which do not exhibit inter-image motion, and to detect the degree of image noise within a part of the camera captured image selected from the image regions which do not exhibit inter-image motion. This improves the accuracy of the noise measurement.
In other embodiments, the degree of noise of the camera captured image may be calculated for each of the colour channels red, green, and blue (assuming a Red, Green, Blue RGB colour space), for luminance and chrominance channels, or for any other suitable colour space. Additionally, the degree of image noise may be averaged over a predetermined number of image frames so as to provide a value indicative of a degree of image noise over that predetermined number of frames. This reduces the likelihood that transient occurrences of high degrees of image noise impair the computer generated image unduly.
Therefore, in embodiments, the cell processor 100 can apply the degree of image noise to the computer generated image so that the degree of image noise in the computer generated image appears to be substantially the same as the degree of image noise detected in the camera-captured image.
However, in some situations it may be desirable to preserve some illusion that the computer generated image is indeed computer generated. Therefore, in other embodiments, the cell processor 100 is operable to degrade the computer generated image by applying a degree of image noise to the computer generated image which is different from the degree of image noise detected in the camera captured image by a predetermined amount. For example, in some embodiments, the predetermined amount is such that the degree of image noise applied to the computer generated image is less than the detected image noise present in the cameral-captured image. However, it will be appreciated that the degree of image noise applied to the computer generated image may be substantially the same as the degree of image noise detected in the camera captured image, or it may be greater than the degree of image noise detected in the camera captured image as appropriate.
Additionally, in some embodiments, the cell processor 100 is operable to analyse the captured images so as to detect features within the image noise in the camera-captured image.
For example, the cell processor 100 can analyse the image region 4020 to detect periodic image features in the detected noise in the image region 4020, thus allowing the cell processor 100 to detect noise features, such as banding noise, random noise, and the like. The cell processor 100 can then apply a similar noise pattern to the computer generated image. This advantageously simulates the effect that the computer generated image is part of the camera captured image when these images are combined together so as to generate the composite image 4010.
Although the above descriptions of image degradation have been described with respect to separate examples of the degree of digital zoom applied by the cell processor 100 or the degree of image noise detected in the camera captured image, in some embodiments these techniques can be combined.
For example, when a digital zoom operation is applied by the cell processor 100 to the composite image 3000, for example to the generated composite image 3020, the cell processor can also detect the degree of image noise in the camera captured image which forms part of the composite image 3020. The cell processor 100 can then apply a degree of image noise as described above to the computer generated representation of the virtual pet 3010, in addition to carrying out a pixelation operation on the computerised generated image, such as the virtual pet 3010. Therefore, it will be understood that these techniques may be combined as appropriate to generate and facilitate the appearance of a realistic composite image formed from the camera captured image and a computer generated image.
A method of image processing in accordance with the embodiments of the present invention will now be described with reference to Figure 13. Figure 13 shows a flow chart of a method of image processing in which image degradation is applied to a computer generated image in response to an image attribute of a camera captured image.
At a first step S200, the cell processor generates the computer generated image, for example a computer generated image corresponding to the virtual pet 3010.
Then, at a step S205, the cell processor combines the computer generated image with at least a part of the camera-captured image. In other words, at the step S205, the cell processor generates the composite image such as the composite image 3000, 3020, 4000, or 4010 by combining the camera captured image with the computer generated image in a suitable manner as described as above.
Then, at a step S2 10, the cell processor applies image degradation to the computer generated image, such as an image corresponding to the virtual pet 3010, in response to an image attribute of the camera-captured image. As mentioned above, the image attribute is indicative of the image quality of the camera-captured image. In other words, the cell processor 100 can apply image degradation to the computer generated image in response to a degree of image zoom applied to the camera-captured image andlor in response to a detected degree of image noise in the camera captured image. This advantageously improves the illusion of reality that the computer generated image, such as the virtual pet 3010, is in the real environment as captured by the camera.
It will be appreciated that in embodiments of the present invention, elements of the entertainment method may be implemented in the entertainment device in any suitable manner. Thus the required adaptation to existing parts of a conventional equivalent device may be implemented in the form of a computer program product comprising processor implementable instructions stored on a data carrier such as a floppy disk, optical disk, hard disk, PROM, RAM, flash memory or any combination of these or other storage media, or transmitted via data signals on a network such as an Ethernet, a wireless network, the Internet, or any combination of these of other networks, or realised in hardware as an ASIC (application specific integrated circuit) or an FPGA (field programmable gate array) or other configurable or bespoke circuit suitable to use in adapting the conventional equivalent device.
In conclusion, although a variety of embodiments have been described herein, these are provided by way of example only, and many variations and modifications on such embodiments will be apparent to the skilled person and fall within the scope of the present invention, which is defined by the appended claims and their equivalents.
Claims (14)
- CLAIMS1. Image processing apparatus comprising: an image generator for generating a computer-generated image; and an image mixer for combining the computer generated image with at least a part of a camera-captured image to generate a composite image; in which the image generator is operable to apply image degradation to the computer generated image in response to an image attribute of the camera-captured image, the image attribute being indicative of the image quality of the camera-captured image.
- 2. An apparatus according to claim 1, comprising: a digital zoom controller for selecting a portion of the composite image for display so as to simulate a camera zoom operation; in which the image attribute comprises a degree of image zoom applied by the digital zoom controller.
- 3. An apparatus according to claim 2, in which the image generator is operable to degrade the computer generated image by applying a degree of image pixelation to the computer generated image in dependence on the degree of image zoom applied by the digital zoom controller.
- 4. An apparatus according to any one of the preceding claims, in which the image generator is operable to apply a first image filter to the camera-captured image, and to apply a second image filter to the computer generated image, the second image filter having substantially the same effect on the computer generated image as the first image filter when the first image filter is applied to the camera-captured image.
- 5. An apparatus according to any one of the preceding claims, comprising an image attribute detector operable to detect the image attribute of the camera-captured image.
- 6. An apparatus according to claim 5, in which: the image attribute detector is operable to detect a degree of image noise present in the camera-captured image; and the image attribute comprises the detected degree of image noise.
- 7. An apparatus according to claim 6, in which the image generator is operable to degrade the computer generated image by applying a degree of image noise to the computer generated image which is substantially the same as the degree of image noise detected in the camera-captured image.
- 8. An apparatus according to claim 6, in which the image generator is operable to degrade the computer generated image by applying a degree of image noise to the computer generated image which is different from the degree of image noise detected in the camera-captured image by a predetermined amount.
- 9. An apparatus according to claim 8, in which the predetermined amount is such that the degree of image noise applied to the computer generated image is less than the detected degree of image noise present in the camera-captured image.
- 10. An image processing system comprising: a camera operable to capture a camera-captured image; an apparatus according to any one of the preceding claims; and a display operable to display the composite image.
- 11. An image processing method comprising: generating a computer-generated image; combining the computer generated image with at least a part of a camera-captured image to generate a composite image; and applying image degradation to the computer generated image in response to an image attribute of the camera-captured image, the image attribute being indicative of the image quality of the camera-captured image.
- 12. A computer program for implementing the method of claim 11.
- 13. Image processing apparatus substantially as described herein with reference to the accompanying drawings.
- 14. An image processing method substantially as described herein with reference to the accompanying drawings.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0915587.0A GB2473263B (en) | 2009-09-07 | 2009-09-07 | Image processing apparatus, system, and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0915587.0A GB2473263B (en) | 2009-09-07 | 2009-09-07 | Image processing apparatus, system, and method |
Publications (3)
Publication Number | Publication Date |
---|---|
GB0915587D0 GB0915587D0 (en) | 2009-10-07 |
GB2473263A true GB2473263A (en) | 2011-03-09 |
GB2473263B GB2473263B (en) | 2012-06-06 |
Family
ID=41203300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB0915587.0A Active GB2473263B (en) | 2009-09-07 | 2009-09-07 | Image processing apparatus, system, and method |
Country Status (1)
Country | Link |
---|---|
GB (1) | GB2473263B (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104506856A (en) * | 2015-01-14 | 2015-04-08 | 山东大学 | Method of estimating quality of virtual view applicable to 3D (Three-dimensional) video system |
EP2733674A4 (en) * | 2011-07-14 | 2016-02-17 | Ntt Docomo Inc | Object display device, object display method, and object display program |
GB2614945A (en) * | 2021-12-16 | 2023-07-26 | Canon Kk | Information processing apparatus, control method of information processing apparatus, and program |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7413380B2 (en) * | 2018-12-05 | 2024-01-15 | ソニーグループ株式会社 | Animated movie room shader |
CN112893186B (en) * | 2021-01-13 | 2022-11-29 | 山西能源学院 | Rapid visual detection method and system for electrifying LED lamp filament |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2312125A (en) * | 1996-04-11 | 1997-10-15 | Discreet Logic Inc | Virtual studio with zoom control |
GB2349027A (en) * | 1999-04-16 | 2000-10-18 | Ultimatte Corp | Automatic background scene defocusing for image compositing systems |
US20010052907A1 (en) * | 2000-06-20 | 2001-12-20 | Nobuhiko Mukai | Image merging apparatus and image merging method |
EP1526727A1 (en) * | 2002-06-05 | 2005-04-27 | Seiko Epson Corporation | Digital camera and image processing device |
US20080252788A1 (en) * | 2007-04-11 | 2008-10-16 | Ultimatte Corporation | Equalization of noise characteristics of the components of a composite image without degrading subject image quality |
-
2009
- 2009-09-07 GB GB0915587.0A patent/GB2473263B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2312125A (en) * | 1996-04-11 | 1997-10-15 | Discreet Logic Inc | Virtual studio with zoom control |
GB2349027A (en) * | 1999-04-16 | 2000-10-18 | Ultimatte Corp | Automatic background scene defocusing for image compositing systems |
US20010052907A1 (en) * | 2000-06-20 | 2001-12-20 | Nobuhiko Mukai | Image merging apparatus and image merging method |
EP1526727A1 (en) * | 2002-06-05 | 2005-04-27 | Seiko Epson Corporation | Digital camera and image processing device |
US20080252788A1 (en) * | 2007-04-11 | 2008-10-16 | Ultimatte Corporation | Equalization of noise characteristics of the components of a composite image without degrading subject image quality |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2733674A4 (en) * | 2011-07-14 | 2016-02-17 | Ntt Docomo Inc | Object display device, object display method, and object display program |
CN104506856A (en) * | 2015-01-14 | 2015-04-08 | 山东大学 | Method of estimating quality of virtual view applicable to 3D (Three-dimensional) video system |
GB2614945A (en) * | 2021-12-16 | 2023-07-26 | Canon Kk | Information processing apparatus, control method of information processing apparatus, and program |
GB2614945B (en) * | 2021-12-16 | 2024-05-29 | Canon Kk | Information processing apparatus, control method of information processing apparatus, and program |
US12125177B2 (en) | 2021-12-16 | 2024-10-22 | Canon Kabushiki Kaisha | Information processing apparatus, control method of information processing apparatus, and non-transitory computer readable medium for use in mixed reality |
Also Published As
Publication number | Publication date |
---|---|
GB0915587D0 (en) | 2009-10-07 |
GB2473263B (en) | 2012-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8542250B2 (en) | Entertainment device, system, and method | |
US8970624B2 (en) | Entertainment device, system, and method | |
US8933968B2 (en) | Entertainment device, system, and method | |
US8705845B2 (en) | Entertainment device and method of interaction | |
US8311384B2 (en) | Image processing method, apparatus and system | |
JP5368454B2 (en) | Image analysis apparatus and method | |
US8274567B2 (en) | Image processing method, apparatus and system | |
US9529427B2 (en) | System and method of image rendering | |
US20110306413A1 (en) | Entertainment device and entertainment methods | |
US20100328447A1 (en) | Configuration of display and audio parameters for computer graphics rendering system having multiple displays | |
EP2669868B1 (en) | Apparatus and method for augmenting a video image | |
GB2473263A (en) | Augmented reality virtual image degraded based on quality of camera image | |
EP2169622A1 (en) | Apparatus and method of image analysis | |
WO2010139984A1 (en) | Device and method of display | |
WO2010116171A1 (en) | Transmission of video images modified based on stereoscopic video image acquisition |