WO2013187129A1 - 情報処理装置、および情報処理方法、並びにプログラム - Google Patents

情報処理装置、および情報処理方法、並びにプログラム Download PDF

Info

Publication number
WO2013187129A1
WO2013187129A1 PCT/JP2013/061995 JP2013061995W WO2013187129A1 WO 2013187129 A1 WO2013187129 A1 WO 2013187129A1 JP 2013061995 W JP2013061995 W JP 2013061995W WO 2013187129 A1 WO2013187129 A1 WO 2013187129A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
client
unit
virtual image
information
Prior art date
Application number
PCT/JP2013/061995
Other languages
English (en)
French (fr)
Inventor
裕也 花井
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to CN201380029803.3A priority Critical patent/CN104364754A/zh
Priority to JP2014520999A priority patent/JP6131950B2/ja
Priority to US14/405,300 priority patent/US9773333B2/en
Priority to BR112014030593A priority patent/BR112014030593A2/pt
Priority to EP13803468.1A priority patent/EP2860606B1/en
Publication of WO2013187129A1 publication Critical patent/WO2013187129A1/ja
Priority to IN10335DEN2014 priority patent/IN2014DN10335A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio 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/2621Cameras specially adapted for the electronic generation of special effects during image pickup, e.g. digital cameras, camcorders, video cameras having integrated special effects capability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/37Details of the operation on graphic patterns
    • G09G5/377Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42202Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] environmental sensors, e.g. for detecting temperature, luminosity, pressure, earthquakes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/633Control of cameras or camera modules by using electronic viewfinders for displaying additional information relating to control or operation of the camera
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders

Definitions

  • the present disclosure relates to an information processing apparatus, an information processing method, and a program.
  • the present invention relates to an information processing apparatus, an information processing method, and a program for executing augmented reality (AR) display.
  • AR augmented reality
  • an image obtained by superimposing a virtual image other than a captured image on a captured image of a camera is called an augmented reality (AR) image
  • AR augmented reality
  • mobile terminals such as smartphones equipped with a camera function and a display in addition to a communication function have become widespread, and applications using augmented reality (AR) images are often used in these smartphones.
  • the object information is transmitted to the server, information associated with the object is received from the server, and the photographing object is displayed on the display unit of the smartphone. It is a process to display together.
  • the image information transmitted from the server to the smartphone is various, for example, an image of a virtual character related to the shooting object, a person who has been shot in advance, or a landscape.
  • Japanese Patent Application Laid-Open No. 2012-58838 discloses a conventional technique disclosed for generating and displaying an AR image.
  • the virtual image transmitted from the server is, for example, a moving image obtained by shooting an actual person or the like
  • this moving image is superimposed on the camera-captured image of the user's mobile terminal
  • the captured image and the virtual image will move differently.
  • a person as a virtual image is only stuck in the photographed image, and the person does not appear to exist in the photographed image. This is because the actual image captured by the user with the mobile terminal changes according to the change in the angle of the mobile terminal, while the virtual image provided by the server has no correlation with the change in the angle of the mobile terminal.
  • the main reason is that
  • An object of the present invention is to provide an information processing apparatus, an information processing method, and a program that change the virtual image according to the movement and realize the display of the AR image as if the virtual image exists in the captured image.
  • the first aspect of the present disclosure is: An acquisition unit that acquires spatial position information of a terminal including a display unit that displays a video in which a virtual image is superimposed on a captured image captured by an imaging unit; A specifying unit for specifying display information for displaying the virtual image on the display unit according to the spatial position information of the terminal; In an information processing apparatus.
  • the information processing device receives the virtual image from an imaging unit that captures an image, a display unit that displays a captured image of the imaging unit, and a server, A data processing unit that executes a process of superimposing and displaying the received virtual image on the captured image displayed on the display unit, wherein the data processing unit captures the image after a predetermined time according to movement information of the information processing apparatus; Estimated position information, transmitted estimated position information to the server, received from the server a virtual image taken from the estimated position, or the virtual image generation image and depth map, received image, or received image The process which displays the production
  • the data processing unit is a round-trip delay time of communication with the server by applying the position / posture information and movement information of the imaging unit at the current time T.
  • the imaging direction of the imaging unit after a time T + ⁇ t considering the network delay time ⁇ t is estimated, and the estimated direction is transmitted to the server as the estimated position information.
  • the data processing unit is a round-trip delay time of communication with the server by applying the position / posture information and movement information of the imaging unit at the current time T.
  • the probability of the imaging direction of the imaging unit after time T + ⁇ t considering the network delay time ⁇ t is calculated, an angle range with a high probability is selected, a virtual image from a plurality of viewpoints included in the selected angle range, or the A virtual image generation image and a depth map are received from the server.
  • the data processing unit sets a relatively high-probability image as a high-resolution image and a relatively low-probability image in the selection angle range.
  • Image data set as a resolution image is received from the server.
  • the data processing unit when there is no significant difference in the probability in the selection angle range, displays virtual images from a plurality of viewpoints included in the selection angle range. Receive from the server as an image with the same resolution.
  • the data processing unit is configured such that a viewpoint close to a shooting direction of the imaging unit at a display timing of the virtual image from a virtual image from a plurality of viewpoints received from the server.
  • the virtual image is selected, or the virtual image generation image and the depth map are applied to generate a virtual image captured from a viewpoint close to the imaging direction of the imaging unit at the display timing of the virtual image, and to the display unit indicate.
  • the second aspect of the present disclosure is: A communication unit that performs communication with the client; A data processing unit that selects and transmits a virtual image to be superimposed and displayed on a captured image of the client imaging unit displayed on the display unit of the client; The data processing unit A process of selecting a virtual image taken from the position of the client imaging unit after a predetermined time estimated according to the movement information of the client, or the virtual image generation image and a depth map as transmission data for the client, and transmitting to the client It exists in the information processing apparatus as a server to execute.
  • the data processing unit applies the position / posture information and movement information of the client imaging unit at the current time T, so that the round-trip delay time of communication between server clients
  • the shooting direction of the client imaging unit after a time T + ⁇ t considering the network delay time ⁇ t is estimated, and the virtual image shot from the estimated direction or the virtual image generation image and the depth map are selected as transmission data to the client.
  • the data processing unit applies the position / posture information and movement information of the client imaging unit at the current time T, so that the round-trip delay time of communication between server clients
  • the probability of the shooting direction of the client imaging unit after time T + ⁇ t considering the network delay time ⁇ t is calculated, an angle range with a high probability is selected, and virtual images from a plurality of viewpoints included in the selected angle range Is selected as transmission data for the client.
  • the data processing unit sets a relatively high-probability image as a high-resolution image and a relatively low-probability image in the selection angle range.
  • Transmission image data set as a resolution image is generated and transmitted to the client.
  • the third aspect of the present disclosure is: An imaging unit for taking an image; A display unit for displaying a captured image of the imaging unit; A virtual image superimposed on the captured image displayed on the display unit, and a storage unit storing a virtual image corresponding to a plurality of viewpoints obtained by imaging an object from a plurality of different viewpoints; A data processing unit that executes the process of acquiring the virtual image from the storage unit and superimposing and displaying the acquired virtual image on the captured image displayed on the display unit; The data processing unit Estimating the imaging unit position after a predetermined time according to the motion information of the information processing device; A virtual image taken from an estimated position is selected from the storage unit and displayed, or the information processing apparatus executes processing for generating and displaying the virtual image based on the virtual image acquired from the storage unit.
  • the storage unit stores a virtual image corresponding to a plurality of viewpoints and a depth map obtained by capturing an object from a plurality of different viewpoints
  • the data processing unit stores the estimated position.
  • the virtual image taken from the above is generated by applying the virtual image acquired from the storage unit and the depth map and displayed on the display unit.
  • the data processing unit calculates a probability of the imaging direction of the imaging unit after a predetermined time according to motion information of the information processing device, and performs a high-probability virtual image Is selected from the storage unit or generated based on the virtual image acquired from the storage unit and displayed on the display unit.
  • the fourth aspect of the present disclosure is: An information processing method executed in an information processing apparatus,
  • the information processing apparatus includes: A communication unit that performs communication with the client; A data processing unit that selects and transmits a virtual image to be superimposed and displayed on a captured image of the client imaging unit displayed on the display unit of the client;
  • the data processing unit A process of selecting a virtual image taken from the position of the client imaging unit after a predetermined time estimated according to the movement information of the client, or the virtual image generation image and a depth map as transmission data for the client, and transmitting to the client
  • the fifth aspect of the present disclosure is: An information processing method executed in an information processing apparatus, An acquisition process in which a data processing unit acquires spatial position information of a terminal including a display unit that displays a video in which a virtual image is superimposed on a captured image captured by the imaging unit; In the information processing method, the data processing unit executes a specific process of specifying display information for displaying the virtual image on the display unit according to the spatial position information of the terminal.
  • the sixth aspect of the present disclosure is: An information processing method executed in an information processing apparatus,
  • the information processing apparatus includes: An imaging unit for taking an image; A display unit for displaying a captured image of the imaging unit; A virtual image superimposed on the captured image displayed on the display unit, and a storage unit storing a virtual image corresponding to a plurality of viewpoints obtained by imaging an object from a plurality of different viewpoints;
  • a data processing unit that executes the process of acquiring the virtual image from the storage unit and superimposing and displaying the acquired virtual image on the captured image displayed on the display unit;
  • the data processing unit Estimating the imaging unit position after a predetermined time according to the motion information of the information processing device; A virtual image captured from an estimated position is selected from the storage unit and displayed, or is generated based on a virtual image acquired from the storage unit and displayed on the display unit.
  • the seventh aspect of the present disclosure is: A program for executing information processing in an information processing apparatus;
  • the information processing apparatus includes: A communication unit that performs communication with the client; A data processing unit that selects and transmits a virtual image to be superimposed and displayed on a captured image of the client imaging unit displayed on the display unit of the client;
  • the program is stored in the data processing unit.
  • an eighth aspect of the present disclosure is A program for executing information processing in an information processing apparatus;
  • An acquisition process of acquiring spatial position information of a terminal including a display unit that displays a video in which a virtual image is superimposed on a captured image captured by an imaging unit in a data processing unit;
  • the data processing unit causes the display unit to execute a specific process for specifying display information for displaying the virtual image on the display unit according to the spatial position information of the terminal.
  • the ninth aspect of the present disclosure is A program for executing information processing in an information processing apparatus;
  • the information processing apparatus includes: An imaging unit for taking an image; A display unit for displaying a captured image of the imaging unit; A virtual image superimposed on the captured image displayed on the display unit, and a storage unit storing a virtual image corresponding to a plurality of viewpoints obtained by imaging an object from a plurality of different viewpoints; A data processing unit that executes the process of acquiring the virtual image from the storage unit and superimposing and displaying the acquired virtual image on the captured image displayed on the display unit;
  • the program is stored in the data processing unit.
  • the position of the imaging unit after a predetermined time is estimated according to the motion information of the information processing device, and a virtual image captured from the estimated position is selected from the storage unit for display or based on the virtual image acquired from the storage unit And a program for executing a process of generating and displaying on the display unit.
  • the program of the present disclosure is a program that can be provided by, for example, a storage medium or a communication medium provided in a computer-readable format to an information processing apparatus or a computer system that can execute various program codes.
  • a program in a computer-readable format, processing corresponding to the program is realized on the information processing apparatus or the computer system.
  • system is a logical set configuration of a plurality of devices, and is not limited to one in which the devices of each configuration are in the same casing.
  • the server includes a server that transmits a virtual image to a client, and a client that superimposes a camera-captured image and a virtual image transmitted from the server.
  • the server transmits a virtual image captured from the client position after a predetermined time estimated according to the movement of the client (camera) to the client.
  • the client after time T + ⁇ t considering the network delay time ⁇ t, which is the round trip delay time of communication between the server and client, by applying the position / attitude information and movement information of the client at the current time T in either the server or the client.
  • the shooting direction is estimated, and a virtual image shot from the estimated direction is transmitted to the client.
  • FIG. 3 is a diagram illustrating an example of an image provided from a server to a client in the first embodiment of the present disclosure.
  • FIG. 6 is a diagram illustrating an example of an image provided from a server to a client in the second embodiment of the present disclosure. It is a figure which shows the flowchart explaining the process sequence of 2nd Example of this indication. It is a figure explaining the example of the transmission data with respect to a client. It is a figure explaining the example of the transmission data with respect to a client. It is a figure explaining the example of the transmission data with respect to a client. It is a figure explaining the example of the transmission data with respect to a client. It is a figure explaining the structural example of the server and client of 2nd Example of this indication. It is a figure explaining the structural example of the server and client of 3rd Example of this indication.
  • FIG. 1 is a diagram illustrating a usage example of the processing of the present disclosure.
  • the user A21 stands in front of the poster 10, and the user B22 takes an image including the poster 10 and the user A21 using a mobile terminal (client) 30 such as a smartphone having a camera function.
  • client mobile terminal
  • the captured image is, for example, a moving image.
  • the mobile terminal (client) 30 transmits the shooting information to the server via the communication unit of the client (mobile terminal) 30.
  • the server recognizes that the client (portable terminal) 30 is shooting an image including the poster 10 based on the shooting information received from the client (portable terminal) 30, and stores the content stored in the content database in the server, For example, moving image content obtained by photographing a person printed on the poster 10 is acquired and transmitted to the mobile terminal (client) 30.
  • the portable terminal (client) 30 displays the content (moving image) received from the server so as to overlap the image being shot. It is the virtual image (real image) 31 in the display image of the client (mobile terminal) 30 in the figure. As shown in FIG. 1, the mobile terminal (client) 30 is an augmented reality (AR: Augmented Reality) that displays a captured image actually captured by the mobile terminal (client) 30 and a virtual image received from the server. ) Display the image.
  • AR Augmented Reality
  • the virtual image 31 displayed on the mobile terminal (client) 30 is an image of a person who does not actually exist in the place where the user A and the user B are present. However, the screen of the client (mobile terminal) 30 is displayed as if standing next to the user A21.
  • the client (mobile terminal) 30 can shoot and record a captured image including the virtual image 31 as a moving image or a still image.
  • the user B22 who is performing shooting processing using the mobile terminal (client) 30 performs image shooting while moving the mobile terminal (client) 30. At this time, the shooting direction changes, and the shot image changes according to the change in the shooting direction.
  • the position of the camera 31 provided in the mobile terminal (client) 30 changes to various positions such as (a), (b), and (c) depending on the user.
  • the shooting direction of the camera 31 has various settings such as (direction a), (direction b), and (direction c).
  • the virtual image 31 is displayed in each shooting direction (direction a), (direction b), ( It is necessary to change the image according to the direction c).
  • the virtual image 31 displayed on the mobile terminal (client) 30 is displayed on the mobile terminal (client) 30 by changing according to the movement of the mobile terminal (client) 30 as shown in FIG.
  • the setting is as if the person as a virtual image is on the spot.
  • FIG. 3 shows examples of ideal display images of virtual images corresponding to the following five shooting directions.
  • FIG. 3A shows a shooting state from the front of the virtual image subject assumed position 32.
  • FIG. 3 (R1) is a shooting state of the virtual image subject assumed position 32 from the right oblique direction.
  • FIG. 3 (R2) is a shooting state of the virtual image subject assumed position 32 from the right direction.
  • FIG. 3 (L1) is a shooting state from the left oblique direction of the virtual image subject assumed position 32.
  • FIG. FIG. 3 (L2) is a shooting state from the left direction of the virtual image subject assumed position 32.
  • the client that performs image capturing and display is not limited to the smartphone as shown in FIG. 1, and can be realized by various information processing devices such as a PC and glasses-type AR glasses.
  • a virtual image such as a person is superimposed on an image being displayed on a client such as a smartphone or AR glass
  • the virtual image is changed according to a change in the image to be superimposed.
  • the virtual image can be displayed so as to exist in the base image to be superimposed.
  • free viewpoint live-action moving image content observed from various viewpoints is transmitted from the server to the client, and is superimposed on, for example, a camera-captured image displayed on the display unit of the client.
  • display of a virtual image having a natural movement according to the movement of the client (camera) is realized.
  • Embodiment 1 Embodiment in which contents from different viewpoints that can be displayed on a client are transmitted from a server.
  • Embodiment 2 Embodiment in which discrete multi-viewpoint content and depth information (depth map) corresponding to the content are transmitted from the server to the client, and an arbitrary viewpoint image to be displayed on the client is generated on the client side,
  • the server distributes moving image content shot from a plurality of different viewpoints to the client.
  • the client selects display content from the received moving image content of each viewpoint in accordance with the shooting angle information of the imaging unit (camera) of the client, and performs decoding and display processing of the selected moving image content. Since the client only needs to decode the video, the load is low. However, it is necessary to send a moving image of a larger number of viewpoints at a time, which increases the communication load.
  • the server distributes moving image content from different viewpoints that are discontinuous, that is, discrete. Furthermore, it is the Example which provides the depth information (depth map) corresponding to the moving image content provided to a client together.
  • the depth map is configured by data in which distance information from the camera to the subject is set in units of pixels.
  • necessary display content that is, a virtual image observed from a desired direction is generated using moving image content from discontinuous different viewpoints. For example, the intermediate viewpoint images in the directions A to B are generated and displayed using the live-action images in the directions A and B and the depth map associated with each image.
  • transmission data from the server to the client can be reduced. Images for at least two viewpoints (three or more viewpoints depending on the angle and position) may be transmitted. However, it is necessary to generate an intermediate viewpoint image on the client side, which increases the load on the client side.
  • the client captures a camera-captured image that is a base image that is displayed or displayed on the client by a virtual image generated or selected according to the position / angle of the camera provided in the client.
  • the virtual image provided by the server and superimposed on the client is, for example, when the virtual image is a live-action person image, the transparency of the pixel portion other than the person is maximized, and the transparency of the person area is set to 0.
  • the moving image content has alpha channel information in pixel units called transparency information or mask information.
  • network delay occurs in communication between the server and the client.
  • the content provided from the server to the client needs to be a content that takes into account the network delay. That is, for example, based on the movement of the client, the shooting angle of the client after a predetermined time is predicted, and moving image content from a viewpoint within a predetermined range centered on the predicted angle is adaptively distributed. This process can significantly reduce the required bandwidth compared to distributing all-view video.
  • real-time rendering of a virtual image according to the movement of the client described with reference to FIG. 3 is realized.
  • the motion estimation of the client can be executed as a process using a marker included in the captured image of the client, for example. That is, camera position information, camera movement direction, movement speed, and the like are obtained from the marker shooting position, the client motion is predicted from these information, and the camera position and posture after a predetermined time are estimated. Moreover, it is good also as a structure using sensor information, such as an acceleration and a gyro sensor with which the client was equipped.
  • sensor information such as an acceleration and a gyro sensor with which the client was equipped.
  • FIGS. 1 to 3 in the processing of the present disclosure, an AR image in which a virtual image is superimposed on a captured image is generated and displayed on a display unit of a client.
  • An example in which a virtual image is provided from a server to a client will be described.
  • a configuration is also possible in which a virtual image is acquired from a storage unit in a client without receiving image provision from a server.
  • the client 100 that is performing image shooting transmits shooting information to the server.
  • the shooting information may be information that can confirm that the poster 10 shown in FIG. 1 is shot, for example, and may be a two-dimensional image such as a poster image or a cyber code (Cyber-Code) set in the poster 10.
  • Identification information such as a barcode may be used.
  • the server 200 Upon receiving the shooting information from the client, the server 200 acquires the moving image content provided to the client based on the shooting information from the database, and transmits the acquired moving image content. However, in this moving image transmission, the server selects and transmits a viewpoint image determined according to the movement of the client 100, that is, a virtual image observed from a direction estimated to be taken by the client after a predetermined time. . Details of this moving image content transmission will be described later.
  • step S13 the client 100 superimposes and displays the moving image content received from the server 200 on the captured image.
  • the basic processing flow of the server client is as described above.
  • the flow shown in FIG. 5 is a flow including a client process for executing an AR image display process in which a virtual image is superimposed on a captured image and a server process for providing a virtual image.
  • the processing in steps S101 to S105 is processing executed by the client.
  • the processes in steps S106 to S107 are processes executed by either the server or the client.
  • the process of step S108 is a process executed by the server,
  • the processes in steps S109 to S114 are processes executed by the client. It is.
  • the processing shown in the flow is executed under the control of a data processing unit of the server or client, that is, a data processing unit having a CPU having a program execution function, for example, according to a program stored in the storage unit of the server or client.
  • a data processing unit of the server or client that is, a data processing unit having a CPU having a program execution function, for example, according to a program stored in the storage unit of the server or client.
  • Step S101 First, the client captures an image in step S101. For example, a poster as shown in FIG. 1 is photographed.
  • step S ⁇ b> 102 the client determines whether or not information acquisition for calculating camera position / angle information necessary in the subsequent stage is successful.
  • the information for calculating the position / angle information of the camera is, for example, a marker included in the captured image.
  • the marker is, for example, a two-dimensional barcode such as a cyber code printed on the poster 10 shown in FIG. If such a marker is recognized, the position and angle of the camera can be calculated from the angle of the marker reflected in the camera image.
  • the information for calculating the position / angle information of the camera is not limited to a marker such as a siper code, but may be an object such as a poster or a CD jacket.
  • a marker such as a siper code
  • an object such as a poster or a CD jacket.
  • application information can be set in various ways.
  • SLAM Simultaneous Localization And Mapping
  • sensor information attached to the client device may be applied as information for calculating camera position / angle information.
  • step S102 it is determined whether or not acquisition of the position / angle information of the camera executed by the client has succeeded. If the information cannot be obtained, it is determined that the subsequent AR image generation process is impossible, and the process ends. If information is obtained, the process proceeds to step S103.
  • step S103 the client calculates the current position and orientation of the client (camera) by applying the information obtained in step S102.
  • Step S104 Next, in step S104, the client acquires output values of the acceleration sensor and gyro sensor provided in the client.
  • step S105 the client calculates the moving speed and moving direction of the client (camera). This process is executed by applying the current position and orientation of the client (camera) calculated in step S103 and the sensor information acquired in step S104, for example.
  • step S105 shows a client 100 that performs image shooting and AR image display, and a virtual image subject assumed position 32.
  • the client 100 can be freely moved by the user.
  • step S104 the client velocity vector V1 is calculated.
  • T (tx, ty, tz).
  • a vector (C ⁇ T) is a radius vector r.
  • the purpose of the processing in step S105 is to calculate the angular velocity ⁇ shown in FIG. 6, that is, the angular velocity ⁇ in the viewpoint switching direction with respect to the virtual image subject.
  • An angular velocity ⁇ illustrated in FIG. 6 is an angular velocity according to the movement of the client 100 at the current time.
  • the velocity vector v2 of the client in the direction perpendicular to the radius vector r is calculated.
  • the velocity vector v2 is a velocity vector in the viewpoint switching direction corresponding to the virtual image subject.
  • the angular velocity ⁇ in the viewpoint switching direction for the virtual image subject is Radius vector r;
  • the velocity vector v2 of the client in the direction perpendicular to the radius vector r, Based on these, it can be calculated by the following formula. ⁇
  • the angular velocity ⁇ in the viewpoint switching direction with respect to the virtual image subject is calculated according to the above formula.
  • Step S106 The processing in steps S106 to S107 is processing executed in either the client or the server.
  • step S106 for example, a ping command is transmitted / received between the client and the server, and a round trip time (RTT) is measured.
  • RTT round trip time
  • Step S107 Next, based on the moving direction / speed of the client (camera) obtained in step S105 and the network delay time obtained in step S106, the shooting angle of the client (camera) after a predetermined time is estimated and transmitted to the client.
  • the angle range of the virtual image content to be set is set, and the transmission image is determined.
  • step S107 Details of the processing in step S107 will be described with reference to FIG.
  • the process of step S107 is executed by the processes of steps S201 to S203 in the flow shown in FIG.
  • Step S201 First, the central viewpoint of the client (camera) after the network delay time ⁇ t is calculated.
  • T is the current time
  • the network delay time be ⁇ t
  • the camera viewpoint of the client at the current time T is ⁇ T
  • the angular velocity in the viewpoint switching direction of the client at the current time T is ⁇ T
  • the network delay time ⁇ t is a round-trip delay time (latency) from the client to the server.
  • the client operation by the user includes operations such as zoom-in / zoom-out in addition to moving the camera, but these can be handled by processing for changing the size of the subject.
  • processing using the angular velocity ⁇ T in the viewpoint switching direction is performed.
  • the data to be transmitted to the client by the server at the current time T is a virtual image observed from the estimated position of the client at the time T + ⁇ t after the network delay time ⁇ t from the current time T. That is, the server transmits a plurality of virtual image contents taken from viewpoints within a predetermined range around the client viewpoint ⁇ T + ⁇ t at time T + ⁇ t.
  • the client selects and displays an image corresponding to the actual position of the client from these multiple images.
  • the movement of the client is predicted, and the viewpoint image corresponding to the predicted position of the client is selected and provided from the server to the client.
  • the amount of communication data is reduced, and the processing load on the client side is reduced, and efficient and highly accurate AR image display is realized.
  • the client viewpoint ⁇ T + ⁇ t at time T + ⁇ t can be calculated according to the following equation if simply calculated.
  • ⁇ T + ⁇ t ⁇ T + ⁇ T ⁇ t
  • the client viewpoint ⁇ T + ⁇ t at time T + ⁇ t is calculated according to the above equation. That is, the central viewpoint of the client (camera) after the network delay time ⁇ t is calculated.
  • the client viewpoint ⁇ T + ⁇ t at time T + ⁇ t may be calculated in consideration of the angular acceleration of the client and the angular velocity at time T + ⁇ t.
  • Step S202 Next, the viewpoint range of the image transmitted from the server to the client is determined.
  • the client viewpoint ⁇ T + ⁇ t obtained in the above step S201 is one viewpoint corresponding to the position of the client after ⁇ t from the current time T estimated under the assumption according to the data obtained at time T.
  • the user does not always move the client according to the assumption according to the data obtained at time T.
  • the moving speed and direction of the client (camera) may change sequentially.
  • the network delay time is not constant and varies depending on the communication state of the network. Therefore, the client viewpoint ⁇ T + ⁇ t obtained in step S201 does not necessarily match the actual client viewpoint at time T + ⁇ t, but is only one viewpoint position predicted to occur with high probability.
  • the server transmits only one virtual image content corresponding to the client viewpoint ⁇ T + ⁇ t to the client, if the actual client viewpoint matches the viewpoint ⁇ T + ⁇ t , the transmission image may be displayed. If the client viewpoint is shifted, an incorrect image is displayed.
  • the server transmits a viewpoint image around the viewpoint in addition to the virtual image corresponding to the client viewpoint ⁇ T + ⁇ t estimated in step S201 to the client.
  • viewpoint ranges corresponding to a plurality of different viewpoint image contents to be transmitted to the client are determined.
  • Various modes can be used for determining the viewpoint range. For example, at the time of the current time T, the client's angular velocity ⁇ T + ⁇ t at time T + ⁇ t is predicted, and a log of the difference ratio between each predicted velocity and the actual client's time velocity T + ⁇ t's angular velocity ⁇ T + ⁇ t is collected. Processing such as setting ⁇ 2 ⁇ of the standard deviation to the angle range to be transmitted is possible.
  • an angle range ⁇ n degrees may be set in advance, and a process of setting an image in the range of the client viewpoint ⁇ T + ⁇ t ⁇ n degrees estimated in step S201 as a transmission image may be performed. Furthermore, while setting an image in the range of the client viewpoint ⁇ T + ⁇ t ⁇ n degrees as a transmission image, Client angular velocity ⁇ T at time T, Network delay time ⁇ t, A function f ( ⁇ T , ⁇ t) with these values as parameters is set, and when the number of functions f ( ⁇ T , ⁇ t) exceeds a preset threshold, the angle range is increased stepwise. The angle range of the image may be determined.
  • step S202 the following multi-view moving image content is determined as the content to be transmitted to the client.
  • moving image content 1 obtained by photographing a subject (for example, a person) corresponding to a virtual image from the client viewpoint ⁇ T + ⁇ t calculated in step S201;
  • moving image content 2 obtained by photographing a subject (for example, a person) corresponding to a virtual image from a viewpoint of + k degrees from the client viewpoint ⁇ T + ⁇ t ;
  • moving image content 3 obtained by photographing a subject (for example, a person) corresponding to a virtual image from a viewpoint of ⁇ k degrees from the client viewpoint ⁇ T + ⁇ t ,
  • moving image content 4 obtained by photographing a subject (for example, a person) corresponding to a virtual image from a viewpoint of + 2k degrees from the client viewpoint ⁇ T + ⁇ t ;
  • moving image content 5 obtained by photographing a subject (for example, a person) corresponding to a virtual image from a
  • Step S203 moving images from a plurality of viewpoints within an angle within a predetermined range including the client viewpoint ⁇ T + ⁇ t estimated in step S201 are determined as images to be transmitted to the client. For example, the moving image contents (1) to (5) above.
  • the viewpoint positions of the plurality of moving image contents are viewpoint positions determined based on the motion prediction of the client (camera), and the client (camera) corresponds to the images (1) to (5) described above. It is estimated that the probabilities set for the viewpoint positions are different. That is, the client viewpoint ⁇ T + ⁇ t estimated in step S201 is the viewpoint that is estimated to occur with the highest probability as the client viewpoint at time T + ⁇ t, and it is estimated that the probability of occurrence decreases with distance from the viewpoint.
  • a plurality of viewpoint image contents included in the viewpoint range set in step S202 are transmitted as the following settings. That is, the viewpoint image estimated to have a high probability as the client viewpoint at time T + ⁇ t is transmitted as a high-resolution image, and the image in the range estimated to have a low probability is transmitted as a low-resolution image. By executing image transmission with such settings, the amount of transmission data is reduced.
  • step S203 in order to enable image transmission with such settings, the probability that a client (camera) is set at each viewpoint position included in the viewpoint range set in step S202 is estimated.
  • a normal distribution having the maximum probability of the client viewpoint ⁇ T + ⁇ t at time T + ⁇ t calculated in step S201 is set, and a probability density function according to the normal distribution is applied to each client position (camera (camera)). ) Is estimated.
  • FIG. 8 shows a normal distribution with the client viewpoint ⁇ T + ⁇ t at time T + ⁇ t calculated in step S201 as the maximum probability.
  • the horizontal axis indicates the viewpoint, and the vertical axis indicates the occurrence probability.
  • the center (0) of the viewpoint axis corresponds to the client viewpoint ⁇ T + ⁇ t at time T + ⁇ t calculated in step S201.
  • the occurrence probability of the client viewpoint ⁇ T + ⁇ t at the time T + ⁇ t calculated in step S201 becomes higher than the occurrence probability of the surrounding viewpoints.
  • the higher the angular velocity ⁇ of the client (camera) the smaller the difference between the occurrence probability of the client viewpoint ⁇ T + ⁇ t and the occurrence probability of surrounding viewpoints at the time T + ⁇ t calculated in step S201.
  • the client is located at each viewpoint position included in the viewpoint range set in step S202. Estimate the probability that (camera) is set.
  • the center (0) of the viewpoint axis is set to the client viewpoint ⁇ T + ⁇ t at the time T + ⁇ t calculated in step S201.
  • the probability density function indicating the occurrence probability corresponding to each angle when the center (0) of the viewpoint axis is set to the actual client viewpoint ⁇ T at time T is set as shown in FIG.
  • the probability density function shown in FIG. 9 is estimated to be located after time ⁇ t according to the angular velocity ⁇ of the client (camera), with the center (0) of the viewpoint axis set to the actual client viewpoint ⁇ T at time T. Indicates the probability of the client's location.
  • the angular velocity ⁇ is ( ⁇ )
  • the probability is higher in the left direction ( ⁇ direction)
  • the angular velocity ⁇ is (+)
  • the probability is higher in the right direction (+ direction).
  • FIG. Network delay time: ⁇ t 100 ms
  • the probability density function changes according to the value of the network delay time ⁇ t.
  • the occurrence probability of the client viewpoint ⁇ T + ⁇ t at the time T + ⁇ t calculated in step S201 becomes higher than the occurrence probability of the surrounding viewpoints.
  • the larger the network delay time ⁇ t the smaller the difference between the occurrence probability of the client viewpoint ⁇ T + ⁇ t and the occurrence probability of surrounding viewpoints at the time T + ⁇ t calculated in step S201.
  • the network delay time ⁇ t may be generated by applying the value obtained at time T to generate the normal distribution data shown in FIG. Note that since the network delay time ⁇ t is measured by transmitting and receiving ping data once, an accurate delay time is not always measured. In consideration of this, the delay time fluctuation compensation may be executed.
  • FIG. 11 shows a delay time fluctuation compensation graph.
  • the horizontal axis is the viewpoint axis with the client viewpoint ⁇ T + ⁇ t at the time T + ⁇ t calculated in step S201 as the center (0),
  • the vertical axis indicates the occurrence probability.
  • ⁇ t As a premise, it is assumed that the angular velocity ⁇ of the client (camera) at time T continues without change.
  • the delay time standard deviation is ⁇ t , Assuming that the fluctuation compensation angle range is ⁇ t .
  • is a preset coefficient.
  • An anomalous normal distribution function having a constant maximum value in the interval of the angle range 0 to ⁇ t (or ⁇ tn to 0) is defined as a probability density function.
  • NORMDIST (x, u, ⁇ ) is after the probability density function of x in the century distribution with mean u and standard deviation ⁇ .
  • the fluctuation compensation graph of the delay time shown in FIG. 11 is applied to the network delay time ⁇ t obtained based on transmission / reception of the ping command at time T, and fluctuation compensation is performed, and the result is reflected.
  • the normal distribution data shown in FIG. 8 may be generated.
  • step S203 of the flow shown in FIG. 7 a probability density function including normal distribution data shown in FIG. 8, for example, is set by applying each data measured at time T or its correction data by the above processing, and this probability According to the density function, the probability that a client (camera) is set at each viewpoint position included in the viewpoint range set in step S202 is estimated.
  • step S107 of the flow shown in FIG. 5 the transmission image selection process based on the estimation of the camera angle is executed according to the flow shown in FIG. 7, and the probability that the client is set at each viewpoint of each selected image. Is calculated.
  • the transmission image data is determined as shown in FIG. 12, and the probability of each determined transmission image, that is, the probability that the client is set to the position of the viewpoint image is calculated.
  • the data shown in FIG. 12 is an example of data set in step S107.
  • step S107 for example, as shown in FIG. 12, the following data (1) to (5) are determined as transmission images, and the probability of each image is calculated.
  • Movie content 5 (View 5)
  • transmission image determination and occurrence probability are determined.
  • Step S108 Next, the process of step S108 of the flowchart shown in FIG. 5 will be described.
  • the process of step S108 is executed on the server.
  • the server generates a stream to be transmitted to the client using the data determined in the process of step S107, that is, for example, the trust image and probability data to be transmitted to the client shown in FIG.
  • FIG. 13B is a graph of the probability density function described above with reference to FIG. 8, and is set for each angle with the estimated angle at time T + ⁇ t of the client (camera) as the center (0) of the horizontal axis. Indicates the probability of the client (camera). This probability corresponds to the probability in the data shown in FIG.
  • the server has the highest probability as image 1 (View 1), image 2 (View 2), image 3 (View 3),... Image 7 (View 7) in descending order of probability.
  • a plurality of stream data composed of a viewpoint image as a high resolution image (high bit rate image) and a low probability viewpoint image as a low resolution image (low bit rate image) are generated and transmitted to the client.
  • the example shown in FIG. 13A is a setting example of a transmission image stream when the probability distribution shown in FIG. 13B is obtained.
  • the image stream data as shown in FIG. 14A in which different viewpoint images are all data having the same resolution is used. It may be generated and transmitted.
  • each viewpoint image may be transmitted as an individual stream, but may be set to transmit a plurality of images from a plurality of viewpoints in one stream.
  • the image stream of each viewpoint is not generated in real time but is generated in advance for each resolution and bit rate and stored in a database.
  • the image data transmitted from the server to the client is data encoded by a predetermined encoding algorithm such as MPEG, and needs to be decoded on the client side.
  • a predetermined encoding algorithm such as MPEG
  • the client When switching the display to a different viewpoint image stream, the client must select a different moving image stream and start a new decoding, and there is a possibility that smooth image switching cannot be performed due to the delay at the time of switching the stream. .
  • the image stream provided to the client (A) a video sequence in which all frames are key frames; (B) a normal video sequence; These two types of image streams may be set.
  • a moving image sequence in which all frames are key frames is, for example, encoded data composed of image frames that can independently decode each image frame.
  • a normal moving image sequence is, for example, encoded data that needs to be decoded with reference to preceding and subsequent image frames.
  • the client first reads the first frame from the “video sequence in which all frames are key frames”, performs high-speed decoding processing and displays it on the display unit, and the second and subsequent frames from the “normal video sequence”. Processing such as reading and decoding and continuing display can be performed, and delay in switching display can be reduced.
  • the stream that delivers the image with the highest probability is set as a fixed stream
  • a configuration may be used in which partial real-time encoding is performed in which content of different viewpoints changed according to the movement of the client is distributed using the same fixed stream.
  • the client can display a high-quality image with a high probability.
  • an image of a viewpoint with a low probability is also transmitted, it is possible to reduce the possibility that a corresponding viewpoint image cannot be displayed even if there is a sudden movement of the client.
  • Step S109 Returning to the flow of FIG. 5, the description of the processing sequence of the first embodiment will be continued.
  • the client When image transmission is executed in the server in step S108, the client next receives an image stream of the virtual image in step S109.
  • the stream is composed of moving image data of a plurality of viewpoint images described with reference to FIGS. 13 (A) and 14 (A).
  • Step S110 the client calculates the position / angle of the camera at the time of receiving the stream, selects a virtual image to be displayed on the display unit of the client, and further determines a superposition position of the selected virtual image.
  • This camera position / angle calculation process is the same as the process of steps S102 to S103 described above, and the calculation result is applied to determine the virtual image selection process and the superimposed position.
  • Step S111 Next, in step S111, the client executes a decoding process of the virtual image stream selected as the image to be displayed.
  • Step S112 Next, in step S112, the client superimposes the decoded content on the camera photographed image being displayed on the display unit of the client.
  • step S113 the client outputs an AR image in which the virtual image is superimposed on the captured image as the final result on the display unit (display) of the client.
  • step S114 it is determined whether or not an end condition set in advance, for example, an end condition such as the end of the image capturing process or the end of the application has occurred. If the end condition has occurred, no processing is ended. If the end condition does not occur, the process returns to step S101 and the same processing is repeated.
  • the virtual image transmitted from the server is displayed superimposed on the captured image being displayed on the display unit of the client.
  • the processing of steps S105 to S107 is omitted, the acquisition of the camera position and orientation information in step S103, the movement direction and speed of the camera in step S104, and the acquisition information, that is, A configuration may be adopted in which a virtual image to be displayed on the display unit is generated or selected and output to the display unit based on spatial position information such as the position, posture, or movement of the camera.
  • FIG. 15 shows a configuration example of the server 200 and the client 100 that execute the first embodiment. Data is transmitted and received between the communication unit 108 of the client 100 and the communication unit 207 of the server 200.
  • the network delay estimation unit 106 and the angle range estimation unit 107 shown in the configuration of the client 100 may be set as components of the server 200 instead of the client 100.
  • the client 100 and the server 200 illustrated in FIG. 15 execute processing according to the flow illustrated in FIG. 5 described above.
  • the processing executed by each configuration shown in FIG. 15 will be described in association with the processing of each step in the flow of FIG.
  • the imaging unit (camera) 101 of the client 100 executes the camera image acquisition process in step S101 of the flow shown in FIG.
  • the image recognition unit 102 executes the camera position / posture calculation information acquisition process in step S102 of the flow of FIG. Specifically, for example, a marker recognition process set on a subject such as a poster shown in FIG. 1 is executed.
  • the client (camera) position / orientation calculation unit 103 executes the camera position / orientation calculation process in step S103 of the flow of FIG.
  • the sensor (acceleration measurement sensor or the like) 104 executes sensor information acquisition processing in step S104 in the flow of FIG.
  • the client moving speed direction calculation unit 105 executes a client (camera) moving speed direction calculation process in step S105 of the flow of FIG.
  • the network delay estimation unit 106 executes network delay estimation processing in step S106 of the flow of FIG.
  • the angle range estimation unit 107 executes the processing of step S107 in the flow of FIG. 5, that is, processing such as transmission image determination processing and probability estimation based on client (camera) position estimation.
  • the network delay estimation unit 106 and the angle range estimation unit 107 may be set on the server 200 side and executed as processing of the server 200.
  • the angle range estimation unit 107 determines a transmission image based on the position estimation of the client (camera), and calculates a probability corresponding to each transmission image, that is, a probability that the client is set at a viewpoint position corresponding to each image. Specifically, for example, the data described above with reference to FIG. 12 is generated. This data is input to the transmission image data generation unit 206 of the server 200 via the communication unit.
  • the server 200 generates image content (moving image stream) of a plurality of viewpoints to be provided to the client in advance and holds it as each viewpoint corresponding content 205.
  • the server executes the following process as a pre-process to generate each viewpoint corresponding content 205.
  • the depth information (depth map) generation unit 202 acquires content stored in the content database 201, that is, image content from a plurality of discrete viewpoints, and generates depth information (depth map) 203 corresponding to the image. To do. Further, the intermediate viewpoint image generation unit 204 applies the content stored in the content database 201 and the depth information (depth map) 203, and image content from an intermediate viewpoint that is not included in the content stored in the content database 201. Is generated.
  • the server 200 includes content stored in the content database 201 and image content from an intermediate viewpoint that is not included in the content stored in the content database 201. For example, each viewpoint image of 360 degrees with respect to a certain subject corresponds to each viewpoint.
  • the content 205 is generated in advance.
  • the transmission image data generation unit 206 of the server 200 performs processing for generating a transmission stream based on the image content transmitted from each viewpoint corresponding content 205 to the client. That is, the process of step S108 in the flow shown in FIG. 5 is executed.
  • the server generates a stream to be transmitted to the client using the image and probability data to be transmitted to the client illustrated in FIG. Specifically, for example, combination data of image contents of a plurality of viewpoints as shown in FIGS. 13 (A) and 14 (A).
  • Transmission data generated by the transmission image data generation unit 206 is transmitted to the communication unit 108 of the client 100 via the communication unit 207.
  • the communication unit 108 of the client 100 executes the virtual image stream reception process in step S109 of the flow of FIG.
  • the content selection & superimposition position calculation unit 109 of the client 100 executes the process of step S110 in the flow of FIG. 5, that is, the selection of the virtual image and the determination process of the superposition position. That is, the camera position / angle at the time of receiving the stream is calculated, a virtual image to be displayed on the display unit of the client is selected, and a superimposed position of the selected virtual image is determined.
  • the decoding unit 110 executes the process of step S111 in the flow of FIG. 5, that is, the decoding process of the selected virtual image stream.
  • the display control unit 111 outputs the AR image obtained by superimposing the decoded content on the camera-captured image displayed on the display unit 112 of the client 100 in steps S112 and S113 in the flow of FIG.
  • the configuration illustrated in FIG. 15 is a diagram illustrating the main configuration of the server and the client.
  • the server and the client include, for example, a CPU that controls the processing described with reference to FIG. 6 in addition to the configuration illustrated in FIG. And a storage unit storing a program to be executed by the control unit.
  • discrete multi-viewpoint content and depth information (depth map) corresponding to the content are transmitted from the server to the client, and an arbitrary viewpoint image to be displayed on the client is generated on the client side.
  • the server transmits a virtual image generation image and a depth map for generating a virtual image to be displayed to the client to the client.
  • moving image content from a viewpoint in a certain angle range for example, n moving image contents from moving image 1 to moving image n shown in FIG. 16 are transmitted to the client. From the content, processing that selects and displays content suitable for the client's angle or the like has been performed.
  • an image of several discrete viewpoints for example, a moving picture with only three viewpoints as shown in FIG.
  • depth information (depth map) corresponding to these three transmission moving images is also transmitted to the client.
  • the client applies the images from these discrete viewpoints and the depth map, generates an intermediate viewpoint image from the viewpoint between the moving image 1 and the moving image 2, for example, and generates and displays an image to be displayed on the client.
  • the configuration of the second embodiment has an advantage that the amount of image data transmitted from the server to the client can be reduced.
  • the processing sequence of the second embodiment will be described with reference to the flowchart shown in FIG.
  • the flow shown in FIG. 18 includes processing common to the flow of FIG. 5 described above as the processing sequence of the first embodiment.
  • the same processes as in the first embodiment are the processes in steps S101 to S106, the process in step S109, and the processes in steps S112 to S114.
  • Step S107b Step S108b, Step S110b, Step S111b, These processes are different from those in the first embodiment.
  • the flow shown in FIG. 18 includes a client process for executing an AR image display process in which a virtual image is superimposed on a captured image, and a server process for providing a virtual image.
  • the processing in steps S101 to S105 is processing executed by the client.
  • the processes in steps S106 to S107 are processes executed by either the server or the client.
  • the process of step S108 is a process executed by the server,
  • the processes in steps S109 to S114 are processes executed by the client. It is.
  • the processing shown in the flow is executed under the control of a data processing unit of the server or client, that is, a data processing unit having a CPU having a program execution function, for example, according to a program stored in the storage unit of the server or client.
  • a data processing unit of the server or client that is, a data processing unit having a CPU having a program execution function, for example, according to a program stored in the storage unit of the server or client.
  • Step S101 First, the client captures an image in step S101. For example, a poster as shown in FIG. 1 is photographed.
  • Step S102 Next, in step S ⁇ b> 102, the client determines whether or not information acquisition for calculating camera position / angle information necessary in the subsequent stage is successful.
  • the information for calculating the position / angle information of the camera is, for example, a marker included in the captured image.
  • the marker is, for example, a two-dimensional barcode such as a cyber code printed on the poster 10 shown in FIG.
  • step S103 the client calculates the current position and orientation of the client (camera) by applying the information obtained in step S102.
  • Step S104 Next, in step S104, the client acquires output values of the acceleration sensor and gyro sensor provided in the client.
  • step S105 the client calculates the moving speed and moving direction of the client (camera). This process is executed by applying the current position and orientation of the client (camera) calculated in step S103 and the sensor information acquired in step S104, for example.
  • a specific processing example of step S105 is as described above with reference to FIG.
  • Step S106 The processing in steps S106 to S107b is processing executed in either the client or the server.
  • step S106 for example, a ping command is transmitted / received between the client and the server, and a round trip time (RTT) is measured.
  • RTT round trip time
  • Step S107b Next, based on the moving direction / speed of the client (camera) obtained in step S105 and the network delay time obtained in step S106, the shooting angle of the client (camera) after a predetermined time is estimated and transmitted to the client.
  • the angle range of the virtual image content to be set is set, and the transmission image is determined.
  • step S107b first, the processes of steps S201 to S203 in the flow shown in FIG. 7 are executed as in the first embodiment described above.
  • the viewpoint image in the angle range to be transmitted shown in FIG. 12 and the probability thereof, that is, the probability that the client is set to the position of the viewpoint image is calculated.
  • not all of these images but only images of discrete viewpoints are set as images to be transmitted to the client.
  • the closest viewpoint image combination is selected as the transmission image.
  • Step S108b The server generates an image data stream that combines the transmission image data determined in step S107b and the depth map.
  • a stream generation example will be described with reference to FIG.
  • FIG. 19A shows the probability distribution data corresponding to the viewpoint calculated according to the flow shown in FIG. Using this data, a discrete viewpoint image to be transmitted to the client is selected and transmitted to the client.
  • FIG. 19B shows an example of transmission image data.
  • the viewpoint image (View 1) at the time T + ⁇ t the viewpoint images (View 2) and (View 3) at positions separated by a predetermined angle are transmitted as high-resolution images.
  • Each image is transmitted together with depth information (depth map) corresponding to each image to the client.
  • depth map depth information
  • the client selects an intermediate viewpoint image between (View 1) and (View 2) as a display image
  • the client uses the (View 1) and (View 2) images and the intermediate viewpoint using the depth map of each image. Generate and display an image. Similar processing is performed when intermediate viewpoint images of other images are necessary.
  • FIG. 20 is a processing example in which transmission images are further reduced.
  • FIG. 20A shows the probability distribution data corresponding to the viewpoint calculated according to the flow shown in FIG. 7, as in FIG. 19A. Using this data, a discrete viewpoint image to be transmitted to the client is selected and transmitted to the client.
  • FIG. 20B shows an example of transmission image data.
  • the viewpoint images (View1) that are the viewpoint images at time T + ⁇ t and the viewpoint images (View2) and (View3) that are separated by a predetermined angle are transmitted as high-resolution images. Further, only (View6) and (View7) at both ends of the images (View4) to (View7) corresponding to the angle of the viewpoint distant from (View1) which is the viewpoint image at time T + ⁇ t are transmitted as low-resolution images, and (View4 ) And (View 5) are not transmitted.
  • the client selects an intermediate viewpoint image between (View2) and (View6) as a display image
  • the client uses the (View2) and (View6) images and an intermediate viewpoint using the depth map of each image. Generate and display an image. Similar processing is performed when intermediate viewpoint images of other images are necessary.
  • the probability of the position of (View1) that is the viewpoint image at time T + ⁇ t is extremely high, and the probability at a distant angle around the probability distribution is low. It is good also as a setting which does not transmit the image of this. That is, as shown in FIG. 21B, only the viewpoint images (View 2) and (View 3) that are at a predetermined angle apart from the viewpoint image at time T + ⁇ t are transmitted as high-resolution images.
  • step S108b of the flow of FIG. 18 a transmission image stream is generated and transmitted to the client with various settings as described above.
  • a discrete viewpoint image is selected, transmitted to the client together with the depth map, and processing for generating and displaying the image as needed on the client side is performed.
  • Step S109 Returning to the flow of FIG. 18, the description of the processing sequence of the second embodiment will be continued.
  • the client When image transmission is executed in the server in step S108b, the client next receives an image stream of the virtual image in step S109.
  • the stream is composed of moving image data of multiple viewpoint images and a depth map described with reference to FIGS.
  • Step S110b the client calculates the position and angle of the camera at the time of receiving the stream, determines the viewpoint position of the virtual image displayed on the display unit of the client, and further determines the superimposed position of the determined virtual image corresponding to the viewpoint. decide.
  • This camera position / angle calculation process is the same as the process of steps S102 to S103 described above, and the viewpoint position and superimposition position of the virtual image are determined by applying this calculation result.
  • step S111b the client executes image stream decoding processing necessary for generating an image corresponding to the determined viewpoint position. For example, when the image shown in FIG. 20B is received and the intermediate viewpoint images of (View 3) and (View 7) are determined as display images, the images of (View 3) and (View 7) are decoded, The intermediate viewpoint image is generated by applying the depth map of the image.
  • Step S112 Next, in step S112, the client superimposes the generated image content on the camera photographed image being displayed on the display unit of the client.
  • step S113 the client outputs an AR image in which the virtual image is superimposed on the captured image as the final result on the display unit (display) of the client.
  • Step S114 it is determined whether or not an end condition set in advance, for example, an end condition such as the end of the image capturing process or the end of the application has occurred. If the end condition has occurred, no processing is ended. If the end condition does not occur, the process returns to step S101 and the same processing is repeated.
  • an end condition set in advance for example, an end condition such as the end of the image capturing process or the end of the application has occurred. If the end condition has occurred, no processing is ended. If the end condition does not occur, the process returns to step S101 and the same processing is repeated.
  • the virtual image transmitted from the server is displayed superimposed on the captured image being displayed on the display unit of the client.
  • FIG. 22 shows a configuration example of the server 200 and the client 100 that execute the second embodiment. Data is transmitted and received between the communication unit 108 of the client 100 and the communication unit 207 of the server 200.
  • the network delay estimation unit 106 and the angle range estimation unit 107 shown in the configuration of the client 100 may be set as components of the server 200 instead of the client 100.
  • the client 100 and the server 200 illustrated in FIG. 22 execute processing according to the flow illustrated in FIG. 19 described above.
  • the processing executed by each configuration shown in FIG. 22 will be described in association with the processing of each step in the flow of FIG.
  • the imaging unit (camera) 101 of the client 100 executes the camera image acquisition process in step S101 of the flow shown in FIG.
  • the image recognition unit 102 executes the camera position / posture calculation information acquisition process in step S102 of the flow of FIG. Specifically, for example, a marker recognition process set on a subject such as a poster shown in FIG. 1 is executed.
  • the client (camera) position / orientation calculation unit 103 executes the camera position / orientation calculation process in step S103 of the flow of FIG.
  • the sensor (acceleration measurement sensor or the like) 104 executes sensor information acquisition processing in step S104 of the flow of FIG.
  • the client moving speed direction calculating unit 105 executes the client (camera) moving speed direction calculating process in step S105 of the flow of FIG.
  • the network delay estimation unit 106 executes network delay estimation processing in step S106 of the flow of FIG.
  • the angle range estimation unit 107 executes the processing of step S107b in the flow of FIG. 19, that is, processing such as transmission image determination processing and probability estimation based on the position estimation of the client (camera).
  • the network delay estimation unit 106 and the angle range estimation unit 107 may be set on the server 200 side and executed as processing of the server 200.
  • the angle range estimation unit 107 determines a transmission image based on the position estimation of the client (camera), and calculates a probability corresponding to each transmission image, that is, a probability that the client is set at a viewpoint position corresponding to each image. Specifically, for example, the data described above with reference to FIG. 12 is generated. This data is input to the transmission image data generation unit 206 of the server 200 via the communication unit.
  • the server 200 holds in the content database 201 image content (moving image streams) of a plurality of discrete viewpoints to be provided to the client in advance.
  • the server acquires content stored in the content database 201, that is, image content from a plurality of discrete viewpoints, and depth information (depth map) corresponding to this image as preprocessing. ) 203 is generated.
  • the transmission image data generation unit 206 of the server 200 performs processing for generating a transmission stream based on the image content transmitted from each viewpoint corresponding content 205 to the client. That is, the process of step S108b of the flow shown in FIG. 19 is executed.
  • the server sets data combining a plurality of discrete viewpoint images and depth maps as data to be provided to a large number of clients.
  • Transmission data generated by the transmission image data generation unit 206 is transmitted to the communication unit 108 of the client 100 via the communication unit 207.
  • the communication unit 108 of the client 100 executes the virtual image stream reception process in step S109 of the flow of FIG.
  • the content selection & superimposition position calculation unit 109 of the client 100 executes the process of step S110b in the flow of FIG. 19, that is, the process of determining the viewpoint position of the virtual image to be displayed and the superimposition position. That is, the position and angle of the camera at the time of receiving the stream are calculated, the viewpoint position of the virtual image displayed on the display unit of the client is determined, and the superimposed position of the determined virtual image is determined.
  • the decoding unit 110 executes the process of step S111 in the flow of FIG. 19, that is, the decoding process of the image stream necessary for generating the image corresponding to the determined viewpoint position. For example, when the image shown in FIG. 20B is received and the intermediate viewpoint images of (View 3) and (View 7) are determined as display images, the images of (View 3) and (View 7) are decoded, The intermediate viewpoint image is generated by applying the depth map of the image.
  • the display control unit 111 outputs the AR image in which the processing of steps S112 and S113 in the flow of FIG. 19, that is, the decoded content is superimposed on the camera captured image being displayed on the display unit 112 of the client 100.
  • the virtual image transmitted from the server is displayed superimposed on the captured image being displayed on the display unit of the client.
  • the process of the second embodiment has the following advantages.
  • (Advantage 1) Network bandwidth can be reduced.
  • the image quality can be improved while maintaining the bandwidth. This is because the number of viewpoints to be transmitted is minimum and an image with two viewpoints is sufficient.
  • (Advantage 2) The client terminal is further robust against the steep movement of the client terminal. In the stream to be transmitted, it is possible to skip the original video in the middle of the viewpoint with low probability and send only the video at both ends, and transmit the viewpoint section with low probability by increasing the parallax between viewpoints to be interpolated. It is possible to reduce the number of streams. This makes it easier to widen the range of angles that can be transmitted compared to the first embodiment.
  • the third embodiment is an embodiment that combines the first and second embodiments described above.
  • moving image content from a viewpoint in a certain angle range for example, n moving image contents from moving image 1 to moving image n shown in FIG. 16 are transmitted to the client, and these n pieces of content are transmitted on the client side. From the above, processing for selecting and displaying content suitable for the angle of the client or the like has been performed.
  • an image of several discrete viewpoints for example, a moving image of only three viewpoints as shown in FIG. Send. Further, depth information (depth map) corresponding to these three transmission moving images is also transmitted to the client.
  • the processing of the first embodiment requires a large network bandwidth and the image quality is relatively low, but the processing at the client has a low load and can be easily rendered in real time.
  • the processing at the client is heavy and drawing in real time is difficult and consumes more battery, but the image quality is high and the required network bandwidth is also small.
  • the third embodiment (A) Client drawing speed, computing performance, (B) network bandwidth,
  • the optimum method that is, the processing of the first embodiment or the processing of the second embodiment is switched to perform the processing.
  • FIG. 23 shows a configuration example of the server 200 and the client 100 that execute the processing of the third embodiment.
  • the configuration shown in FIG. 23 is obtained by adding the following configuration to the configuration shown in FIG. 15 described above as the server client configuration of the first embodiment.
  • Network delay bandwidth acquisition unit 115 Client performance acquisition unit 116, Server 200, Content metadata database 208, Stream switching unit 209, These configurations are added.
  • the network delay bandwidth acquisition unit 115 of the client 100 may be set on the server 200 side.
  • the network delay bandwidth acquisition unit 115 of the client 100 measures the bandwidth of the communication network between server clients.
  • the client performance acquisition unit 116 of the client 100 identifies the drawing speed performance and calculation performance of the client. These measurement data and identification data are notified to the stream switching unit 209 of the server 200.
  • the stream switching unit 209 of the server 200 performs processing by switching between the optimal method according to the input information, that is, whether the processing of the first embodiment or the processing of the second embodiment is executed.
  • Metadata for these contents is stored ing.
  • the stream switching unit 209 of the server 200 acquires metadata corresponding to the content of the content from the content metadata database 208, and according to the metadata, an optimum method, that is, the process of the first embodiment or the process of the second embodiment.
  • the process is performed by switching which one of the processes is executed.
  • the processing of the other configuration is the same processing as that described in the first and second embodiments.
  • the processing described as the first embodiment and the processing described as the second embodiment are performed according to client performance, bandwidth available in the network, metadata as content information, and the like. By switching adaptively, a configuration that enables optimal video delivery according to the situation is realized.
  • (B) Configuration in which client processing is reduced for example, in the flowchart shown in FIG. 5 described as the processing sequence of the first embodiment, the client performs image acquisition processing in step S101. Alternatively, only the processing in steps S113 to S114 may be executed, and the other processing may be executed in the server. Similarly, in the flowchart shown in FIG. 18 described as the processing sequence of the second embodiment, the client executes only the image acquisition processing in step S101 and the processing in steps S113 to S114, and the other processing is executed in the server. It is good also as a structure.
  • the client transmits an image captured by the client to the server, and executes all the processes of steps S102 to S112 based on the transmitted image on the server side.
  • the server transmits to the client only an image from one viewpoint to be displayed on the client, and the client displays the received image superimposed on the captured image. With this processing configuration, the processing load on the client is greatly reduced.
  • An acquisition unit that acquires spatial position information of a terminal including a display unit that displays a video in which a virtual image is superimposed on a captured image captured by an imaging unit;
  • An information processing apparatus comprising:
  • the information processing apparatus receives an image capturing unit that captures an image, a display unit that displays a captured image of the image capturing unit, the virtual image from a server, and the received virtual image is displayed on the display unit.
  • a data processing unit that executes a process of superimposing and displaying on the captured image, the data processing unit estimating the position of the imaging unit after a predetermined time according to the motion information of the information processing apparatus, and The process according to (1), wherein a process of transmitting to a server, receiving a virtual image taken from the estimated position from the server, and displaying a received image or a generated image based on the received image on the display unit is performed.
  • Information processing device receives an image capturing unit that captures an image, a display unit that displays a captured image of the image capturing unit, the virtual image from a server, and the received virtual image is displayed on the display unit.
  • the data processing unit applies the position / posture information and movement information of the imaging unit at the current time T, and after the time T + ⁇ t considering the network delay time ⁇ t that is the round trip delay time of communication with the server.
  • the data processing unit applies the position / posture information and movement information of the imaging unit at the current time T, and after the time T + ⁇ t considering the network delay time ⁇ t that is the round-trip delay time of communication with the server
  • the probability of the imaging direction of the imaging unit is calculated, an angle range with a high probability is selected, and a virtual image from a plurality of viewpoints included in the selected angle range, or the virtual image generation image and a depth map are stored in the server
  • the information processing apparatus according to any one of (1) to (3), which is received from
  • the data processing unit sets image data in which the relatively high probability image is set as a high resolution image and the relatively low probability image is set as a low resolution image in the selection angle range.
  • the information processing apparatus according to (4) which receives the information.
  • the data processing unit receives, from the server, virtual images from a plurality of viewpoints included in the selection angle range as images having the same resolution when there is no significant difference in the probability in the selection angle range.
  • the data processing unit selects a virtual image of a viewpoint close to the shooting direction of the imaging unit at the display timing of the virtual image from virtual images from a plurality of viewpoints received from the server, or generates the virtual image Any one of (4) to (7), wherein a virtual image photographed from a viewpoint close to the photographing direction of the image pickup unit at the display timing of the virtual image is generated by applying the image for use and the depth map, and displayed on the display unit
  • An information processing apparatus according to claim 1.
  • a communication unit that performs communication with the client;
  • a data processing unit that selects and transmits a virtual image to be superimposed and displayed on a captured image of the client imaging unit displayed on the display unit of the client;
  • the data processing unit A process of selecting a virtual image taken from the position of the client imaging unit after a predetermined time estimated according to the movement information of the client, or the virtual image generation image and a depth map as transmission data for the client, and transmitting to the client
  • An information processing apparatus as a server to be executed.
  • the data processing unit applies the position / attitude information and movement information of the client imaging unit at the current time T, and takes into account a network delay time ⁇ t that is a round-trip delay time of communication between server clients T + ⁇ t
  • the information processing apparatus according to (8), wherein a shooting direction of the later client imaging unit is estimated, and a virtual image shot from the estimated direction, or the virtual image generation image and a depth map are selected as transmission data for the client.
  • the data processing unit applies the position / attitude information and movement information of the client imaging unit at the current time T, and considers a network delay time ⁇ t that is a round trip delay time of communication between server clients T + ⁇ t
  • the probability of the shooting direction of the later client imaging unit is calculated, an angle range with a high probability is selected, and virtual images from a plurality of viewpoints included in the selected angle range are selected as transmission data to the client (8 ) Or the information processing apparatus according to (9).
  • the data processing unit generates transmission image data in which the relatively high probability image is set as a high resolution image and the relatively low probability image is set as a low resolution image in the selection angle range.
  • the information processing apparatus according to (10) which is transmitted to the client.
  • an imaging unit that captures an image
  • a display unit for displaying a captured image of the imaging unit;
  • a data processing unit that executes the process of acquiring the virtual image from the storage unit and superimposing and displaying the acquired virtual image on the captured image displayed on the display unit;
  • the data processing unit Estimating the imaging unit position after a predetermined time according to the motion information of the information processing device;
  • An information processing apparatus that executes a process of selecting and displaying a virtual image captured from an estimated position from the storage unit, or generating and displaying the virtual image based on the virtual image acquired from the storage unit.
  • the storage unit A virtual image corresponding to a plurality of viewpoints obtained by photographing an object from a plurality of different viewpoints and a depth map are stored, and the data processing unit includes a virtual image obtained from the estimated position and a virtual image and a depth map acquired from the storage unit.
  • the data processing unit calculates a probability of the imaging direction of the imaging unit after a predetermined time according to the motion information of the information processing device, and selects a high-probability virtual image from the storage unit or the storage
  • the configuration of the present disclosure includes a method of processing executed in the above-described apparatus and system and a program for executing the processing.
  • the series of processing described in the specification can be executed by hardware, software, or a combined configuration of both.
  • the program recording the processing sequence is installed in a memory in a computer incorporated in dedicated hardware and executed, or the program is executed on a general-purpose computer capable of executing various processing. It can be installed and run.
  • the program can be recorded in advance on a recording medium.
  • the program can be received via a network such as a LAN (Local Area Network) or the Internet and installed on a recording medium such as a built-in hard disk.
  • the various processes described in the specification are not only executed in time series according to the description, but may be executed in parallel or individually according to the processing capability of the apparatus that executes the processes or as necessary.
  • the system is a logical set configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same casing.
  • the server includes a server that transmits a virtual image to a client, and a client that superimposes a camera-captured image and a virtual image transmitted from the server.
  • the server transmits a virtual image captured from the client position after a predetermined time estimated according to the movement of the client (camera) to the client.
  • the client after time T + ⁇ t considering the network delay time ⁇ t, which is the round trip delay time of communication between the server and client, by applying the position / attitude information and movement information of the client at the current time T in either the server or the client.
  • the shooting direction is estimated, and a virtual image shot from the estimated direction is transmitted to the client.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Ecology (AREA)
  • Emergency Management (AREA)
  • Environmental & Geological Engineering (AREA)
  • Environmental Sciences (AREA)
  • Remote Sensing (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

表示部に表示されたカメラ撮影画像に、カメラ撮影方向に応じた自然な仮想画像を重畳表示する構成を実現する。仮想画像をクライアントに送信するサーバと、カメラ撮影画像とサーバから送信される仮想画像を重畳表示するクライアントを有する。サーバはクライアント(カメラ)の動きに応じて推定した所定時間後のクライアント位置から撮影した仮想画像をクライアントに送信する。サーバ、またはクライアントのいずれかにおいて、現在時刻Tにおけるクライアントの位置・姿勢情報と移動情報を適用して、サーバクライアント間における通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後のクライアントの撮影方向を推定し、推定方向から撮影した仮想画像をクライアントに送信する。

Description

情報処理装置、および情報処理方法、並びにプログラム
 本開示は、情報処理装置、および情報処理方法、並びにプログラムに関する。特に、拡張現実(AR:Augmented Reality)表示を実行する情報処理装置、および情報処理方法、並びにプログラムに関する。
 例えばカメラの撮影画像に、撮影画像以外の仮想画像を重畳した画像は、拡張現実(AR:Augmented Reality)画像と呼ばれ、昨今、様々な分野で利用されている。
 特に、近年、通信機能に加えカメラ機能とディスプレイを備えたスマートフォンなどの携帯端末が普及し、これらのスマートフォンにおいて拡張現実(AR)画像を適用したアプリケーションが多く利用されている。
 AR画像の1つの利用例として、以下のような例がある。
 例えばスマートフォン等の携帯端末のカメラ機能を用いて、あるオブジェクト(被写体)を撮影すると、オブジェクト情報がサーバに送信され、オブジェクトに関連付けられた情報をサーバから受信して、スマートフォンの表示部に撮影オブジェクトとともに表示する処理である。
 サーバからスマートフォンに対して送信される画像情報は、例えば撮影オブジェクトに関連する仮想的なキャラクタの画像や、予め撮影済みの人物や景色など、様々である。
 なお、AR画像の生成、表示処理について開示した従来技術として、例えば特許文献1(特開2012-58838号公報)がある。
 しかし、サーバからの送信する仮想画像が、例えば実際の人物等を撮影した動画であるような場合、この動画をユーザの携帯端末のカメラ撮影画像に重畳表示すると、撮影画像と仮想画像が異なる動きを示し、仮想画像としての人物が撮影画像中に張り付いているだけで、人物が撮影画像中に存在するようには見えないという問題がある。
 これは、ユーザが携帯端末で撮影している実写画像は、携帯端末の角度変化等に応じて変化するのに対して、サーバの提供する仮想画像は携帯端末の角度変化等と相関のない動きをしてしまうことが主な原因である。
 このような問題を解決するためには、あらゆる角度から撮影した多数の動画像をサーバからユーザ端末に送信し、ユーザ端末側で端末の角度に応じて画像を選択して表示するといった処理が有効と考えられる。しかし、このような処理を行なうと、通信負荷やユーザ端末の負荷が膨大となり、通信遅延や処理遅延を引き起こすことになる。
特開2012-58838号公報
 本開示は、例えば上記問題点に鑑みてなされたものであり、例えばユーザの持つ携帯端末のカメラで撮影され表示部に表示された撮影画像に重畳して仮想画像を表示する構成において、カメラの動きに応じて仮想画像を変化させ、あたかも撮影画像内に仮想画像が存在するようなAR画像の表示を実現する情報処理装置、および情報処理方法、並びにプログラムを提供することを目的とする。
 本開示の第1の側面は、
 撮像部で撮像される撮像画像に仮想画像が重畳される映像を表示する表示部を備える端末の空間位置情報を取得する取得部と、
 前記端末の空間位置情報に応じて、前記表示部に前記仮想画像を表示させるための表示情報を特定する特定部と、
 を備える情報処理装置にある。
 さらに、本開示の情報処理装置の一実施態様において、前記情報処理装置は、画像を撮影する撮像部と、前記撮像部の撮影画像を表示する表示部と、サーバから前記仮想画像を受信し、受信した仮想画像を前記表示部に表示された撮影画像に重畳表示する処理を実行するデータ処理部を有し、前記データ処理部は、情報処理装置の動き情報に応じて所定時間後の前記撮像部位置を推定し、推定位置情報を前記サーバに送信し、前記サーバから、前記推定位置から撮影した仮想画像、または該仮想画像生成用画像とデプスマップを受信して、受信画像、または受信画像に基づく生成画像を前記表示部に表示する処理を実行する。
 さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、現在時刻Tにおける前記撮像部の位置・姿勢情報と移動情報を適用して、サーバとの通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記撮像部の撮影方向を推定し、前記推定方向を前記推定位置情報として前記サーバに送信する。
 さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、現在時刻Tにおける前記撮像部の位置・姿勢情報と移動情報を適用して、サーバとの通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記撮像部の撮影方向の確率を算出し、確率の高い範囲の角度範囲を選択し、選択角度範囲に含まれる複数の視点からの仮想画像、または該仮想画像生成用画像とデプスマップを前記サーバから受信する。
 さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、前記選択角度範囲において、相対的に前記確率の高い画像を高解像度画像とし、相対的に前記確率の低い画像を低解像度画像として設定した画像データを前記サーバから受信する。
 さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、前記選択角度範囲において、前記確率に大きな差異がない場合、前記選択角度範囲に含まれる複数の視点からの仮想画像を同じ解像度を持つ画像として前記サーバから受信する。
 さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、前記サーバから受信した複数の視点からの仮想画像から、前記仮想画像の表示タイミングにおける前記撮像部の撮影方向に近い視点の仮想画像を選択、または前記仮想画像生成用画像とデプスマップを適用して、前記仮想画像の表示タイミングにおける前記撮像部の撮影方向に近い視点から撮影した仮想画像を生成して前記表示部に表示する。
 さらに、本開示の第2の側面は、
 クライアントとの通信を実行する通信部と、
 前記クライアントの表示部に表示されたクライアント撮像部の撮影画像に重畳表示する仮想画像を選択して送信するデータ処理部を有し、
 前記データ処理部は、
 前記クライアントの動き情報に応じて推定した所定時間後の前記クライアント撮像部位置から撮影した仮想画像、または該仮想画像生成用画像とデプスマップをクライアントに対する送信データとして選択し、クライアントに送信する処理を実行するサーバとしての情報処理装置にある。
 さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、現在時刻Tにおける前記クライアント撮像部の位置・姿勢情報と移動情報を適用して、サーバクライアント間における通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記クライアント撮像部の撮影方向を推定し、推定方向から撮影した仮想画像、または該仮想画像生成用画像とデプスマップをクライアントに対する送信データとして選択する。
 さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、現在時刻Tにおける前記クライアント撮像部の位置・姿勢情報と移動情報を適用して、サーバクライアント間における通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記クライアント撮像部の撮影方向の確率を算出し、確率の高い範囲の角度範囲を選択し、選択角度範囲に含まれる複数の視点からの仮想画像をクライアントに対する送信データとして選択する。
 さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、前記選択角度範囲において、相対的に前記確率の高い画像を高解像度画像とし、相対的に前記確率の低い画像を低解像度画像として設定した送信画像データを生成してクライアントに送信する。
 さらに、本開示の第3の側面は、
 画像を撮影する撮像部と、
 前記撮像部の撮影画像を表示する表示部と、
 前記表示部に表示された撮影画像に重畳表示する仮想画像であり、異なる複数の視点からオブジェクトを撮影した複数視点対応の仮想画像を格納した記憶部と、
 前記記憶部から前記仮想画像を取得し、取得した仮想画像を前記表示部に表示された撮影画像に重畳表示する処理を実行するデータ処理部を有し、
 前記データ処理部は、
 情報処理装置の動き情報に応じて所定時間後の前記撮像部位置を推定し、
 推定位置から撮影した仮想画像を前記記憶部から選択して表示、または、前記記憶部から取得した仮想画像に基づいて生成して前記表示部に表示する処理を実行する情報処理装置にある。
 さらに、本開示の情報処理装置の一実施態様において、前記記憶部は、異なる複数の視点からオブジェクトを撮影した複数視点対応の仮想画像とデプスマップを格納し、前記データ処理部は、前記推定位置から撮影した仮想画像を、前記記憶部から取得した仮想画像とデプスマップを適用して生成して前記表示部に表示する。
 さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、情報処理装置の動き情報に応じて所定時間後の前記撮像部の撮影方向の確率を算出し、高確率の仮想画像を前記記憶部から選択、または、前記記憶部から取得した仮想画像に基づいて生成して前記表示部に表示する処理を実行する。
 さらに、本開示の第4の側面は、
 情報処理装置において実行する情報処理方法であり、
 前記情報処理装置は、
 クライアントとの通信を実行する通信部と、
 前記クライアントの表示部に表示されたクライアント撮像部の撮影画像に重畳表示する仮想画像を選択して送信するデータ処理部を有し、
 前記データ処理部は、
 前記クライアントの動き情報に応じて推定した所定時間後の前記クライアント撮像部位置から撮影した仮想画像、または該仮想画像生成用画像とデプスマップをクライアントに対する送信データとして選択し、クライアントに送信する処理を実行する情報処理方法にある。
 さらに、本開示の第5の側面は、
 情報処理装置において実行する情報処理方法であり、
 データ処理部が、撮像部で撮像される撮像画像に仮想画像が重畳される映像を表示する表示部を備える端末の空間位置情報を取得する取得処理と、
 データ処理部が、前記端末の空間位置情報に応じて、前記表示部に前記仮想画像を表示させるための表示情報を特定する特定処理を実行する情報処理方法にある。
 さらに、本開示の第6の側面は、
 情報処理装置において実行する情報処理方法であり、
 前記情報処理装置は、
 画像を撮影する撮像部と、
 前記撮像部の撮影画像を表示する表示部と、
 前記表示部に表示された撮影画像に重畳表示する仮想画像であり、異なる複数の視点からオブジェクトを撮影した複数視点対応の仮想画像を格納した記憶部と、
 前記記憶部から前記仮想画像を取得し、取得した仮想画像を前記表示部に表示された撮影画像に重畳表示する処理を実行するデータ処理部を有し、
 前記データ処理部は、
 情報処理装置の動き情報に応じて所定時間後の前記撮像部位置を推定し、
 推定位置から撮影した仮想画像を前記記憶部から選択して表示、または、前記記憶部から取得した仮想画像に基づいて生成して前記表示部に表示する処理を実行する情報処理方法にある。
 さらに、本開示の第7の側面は、
 情報処理装置において情報処理を実行させるプログラムであり、
 前記情報処理装置は、
 クライアントとの通信を実行する通信部と、
 前記クライアントの表示部に表示されたクライアント撮像部の撮影画像に重畳表示する仮想画像を選択して送信するデータ処理部を有し、
 前記プログラムは、前記データ処理部に、
 前記クライアントの動き情報に応じて推定した所定時間後の前記クライアント撮像部位置から撮影した仮想画像、または該仮想画像生成用画像とデプスマップをクライアントに対する送信データとして選択させ、クライアントに送信する処理を実行させるプログラムにある。
 さらに、本開示の第8の側面は、
 情報処理装置において情報処理を実行させるプログラムであり、
 データ処理部に、撮像部で撮像される撮像画像に仮想画像が重畳される映像を表示する表示部を備える端末の空間位置情報を取得する取得処理と、
 データ処理部が、前記端末の空間位置情報に応じて、前記表示部に前記仮想画像を表示させるための表示情報を特定する特定処理を実行させる.プログラムにある。
 さらに、本開示の第9の側面は、
 情報処理装置において情報処理を実行させるプログラムであり、
 前記情報処理装置は、
 画像を撮影する撮像部と、
 前記撮像部の撮影画像を表示する表示部と、
 前記表示部に表示された撮影画像に重畳表示する仮想画像であり、異なる複数の視点からオブジェクトを撮影した複数視点対応の仮想画像を格納した記憶部と、
 前記記憶部から前記仮想画像を取得し、取得した仮想画像を前記表示部に表示された撮影画像に重畳表示する処理を実行するデータ処理部を有し、
 前記プログラムは、前記データ処理部に、
 情報処理装置の動き情報に応じて所定時間後の前記撮像部位置を推定し、推定位置から撮影した仮想画像を前記記憶部から選択して表示、または、前記記憶部から取得した仮想画像に基づいて生成して前記表示部に表示する処理を実行させるプログラムにある。
 なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
 本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 本開示の一実施例の構成によれば、表示部に表示されたカメラ撮影画像に、カメラ撮影方向に応じた自然な仮想画像を重畳表示する構成が実現される。
 具体的には、仮想画像をクライアントに送信するサーバと、カメラ撮影画像とサーバから送信される仮想画像を重畳表示するクライアントを有する。サーバはクライアント(カメラ)の動きに応じて推定した所定時間後のクライアント位置から撮影した仮想画像をクライアントに送信する。サーバ、またはクライアントのいずれかにおいて、現在時刻Tにおけるクライアントの位置・姿勢情報と移動情報を適用して、サーバクライアント間における通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後のクライアントの撮影方向を推定し、推定方向から撮影した仮想画像をクライアントに送信する。
 これらの構成により、クライアントの表示部に表示されたカメラ撮影画像に、カメラ撮影方向に応じた自然な仮想画像を重畳表示する構成が実現される。
本開示の処理の利用例について説明する図である。 本開示の処理の概要について説明する図である。 本開示の処理の概要について説明する図である。 サーバクライアント間の処理シーケンスの概要について説明する図である。 本開示の第1実施例の処理シーケンスについて説明するフローチャートを示す図である。 クライアント(カメラ)の移動態様の推定処理について説明する図である。 クライアント(カメラ)の角度推定と送信画像の決定処理の詳細について説明するフローチャートを示す図である。 クライアント(カメラ)の角度推定と送信画像の決定処理に適用する情報の例について説明する図である。 クライアント(カメラ)の角度推定と送信画像の決定処理に適用する情報の例について説明する図である。 クライアント(カメラ)の角度推定と送信画像の決定処理に適用する情報の例について説明する図である。 クライアント(カメラ)の角度推定と送信画像の決定処理に適用する情報の例について説明する図である。 クライアント(カメラ)の角度推定と送信画像の決定処理に適用する情報の例について説明する図である。 クライアントに対する送信データの例について説明する図である。 クライアントに対する送信データの例について説明する図である。 本開示の第1実施例のサーバとクライアントの構成例について説明する図である。 本開示の第1実施例において、サーバからクライアントに提供する画像の例について説明する図である。 本開示の第2実施例において、サーバからクライアントに提供する画像の例について説明する図である。 本開示の第2実施例の処理シーケンスについて説明するフローチャートを示す図である。 クライアントに対する送信データの例について説明する図である。 クライアントに対する送信データの例について説明する図である。 クライアントに対する送信データの例について説明する図である。 本開示の第2実施例のサーバとクライアントの構成例について説明する図である。 本開示の第3実施例のサーバとクライアントの構成例について説明する図である。
 以下、図面を参照しながら本開示の情報処理装置、および情報処理方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行う。
  1.本開示の処理の概要について
  2.本開示の第1実施例について
  3.本開示の第2実施例について
  4.本開示の第3実施例について
  5.その他の実施例について
  6.本開示の構成のまとめ
  [1.本開示の処理の概要について]
 まず、図1以下を参照して、本開示の処理の概要について説明する。
 図1は、本開示の処理の一利用例を示す図である。ポスター10の前にユーザA21が立ち、ユーザB22がカメラ機能を持つスマートフォン等の携帯端末(クライアント)30を用いて、ポスター10とユーザA21を含む画像を撮影する。なお、撮影画像は例えば動画像である。
 携帯端末(クライアント)30は、クライアント(携帯端末)30の通信部を介して撮影情報をサーバに送信する。サーバは、クライアント(携帯端末)30から受信した撮影情報に基づいて、クライアント(携帯端末)30がポスター10を含む画像を撮影していると認識し、サーバ内のコンテンツデータベースに格納済みのコンテンツ、例えば、ポスター10に印刷されている人物を撮影した動画像コンテンツを取得して、携帯端末(クライアント)30に送信する。
 携帯端末(クライアント)30は、サーバから受信したコンテンツ(動画像)を、撮影中の画像に重ねて表示する。図のクライアント(携帯端末)30の表示画像中の仮想画像(実写画像)31である。
 図1に示すように、携帯端末(クライアント)30は、携帯端末(クライアント)30が実際に撮影している撮影画像と、サーバから受信した仮想画像を併せて表示した拡張現実(AR:Augmented Reality)画像を表示する。
 携帯端末(クライアント)30に表示する仮想画像31は、ユーザA,ユーザBが居る場所には実際には存在しない人物の画像である。
 しかし、クライアント(携帯端末)30の画面中には、あたかもユーザA21の隣に立っているように表示される。
 クライアント(携帯端末)30は、この仮想画像31を含む撮影画像を動画あるいは静止画として撮影、記録することが可能となる。
 しかし、携帯端末(クライアント)30を用いて撮影処理を行っているユーザB22は、携帯端末(クライアント)30を動かしながら画像撮影を行う。このとき撮影方向が変化し、撮影画像は撮影方向の変化に応じて変化する。
 例えば、図2に示すように、携帯端末(クライアント)30に備えられたカメラ31の位置は、ユーザによって、(a),(b),(c)のような様々な位置に変化する。
 このとき、カメラ31の撮影方向は(方向a)、(方向b)、(方向c)のような様々な設定となる。
 携帯端末(クライアント)30に表示される仮想画像31の被写体人物があたかもその撮影現場にいるように表示するためには、仮想画像31は、各撮影方向(方向a)、(方向b)、(方向c)に応じた画像に変更することが必要となる。
 例えば図2に示すようにポスター10の前に仮想画像被写体想定位置32を設定したとする。この時、携帯端末(クライアント)30に表示する仮想画像31は、図3に示すように、携帯端末(クライアント)30の動きに応じて変更することで、携帯端末(クライアント)30に表示される仮想画像としての人物が、あたかもその場にいるような設定となる。
 図3には以下の5つの撮影方向に応じた仮想画像の理想的な表示画像例を示している。
 図3(a)は、仮想画像被写体想定位置32の正面からの撮影状態。
 図3(R1)は、仮想画像被写体想定位置32の右斜め方向からの撮影状態。、
 図3(R2)は、仮想画像被写体想定位置32の右方向からの撮影状態。
 図3(L1)は、仮想画像被写体想定位置32の左斜め方向からの撮影状態。
 図3(L2)は、仮想画像被写体想定位置32の左方向からの撮影状態。
 図3に示すように、クライアント(携帯端末)30の表示部に、携帯端末の動きに応じた仮想画像を表示することで、あたかも、仮想画像に相当する人物がその場にいるような動画像を表示し、また撮影して記録することが可能となる。
 なお、画像撮影および表示を実行するクライアントは、図1に示すようなスマートフォンに限らず、例えばPCや、メガネ型のARグラスなど、様々な情報処理装置によって実現可能である。
 本開示の処理を適用することで、スマートフォンやARグラスなどのクライアントに表示中の画像に、人物などの仮想画像を重畳表示する際、重畳対象となる画像の変化に応じて仮想画像を変化させることが可能となり、仮想画像が、重畳対象となるベース画像中に存在するように表示することができる。
 具体的には、例えば、様々な視点から観察した自由視点実写動画コンテンツをサーバからクライアントに送信し、クライアントの表示部に表示された例えばカメラ撮影画像に重畳表示する。この処理において、クライアント(カメラ)の動きに応じた自然な動きを持つ仮想画像の表示を実現する。
 本開示の処理を行なう実施例について、以下の2つの実施例を順次説明する。
 (1)実施例1:クライアントにおいて表示可能な異なる視点のコンテンツをサーバから送信する実施例。
 (2)実施例2:サーバから離散的な複数視点のコンテンツと、コンテンツ対応の奥行き情報(デプスマップ)をクライアントに送信し、クライアント側でクライアントに表示する任意視点の画像を生成する実施例、
 上記実施例1は、サーバが、クライアントに対して、複数の異なる視点から撮影した動画コンテンツを配信する。クライアントは、クライアントの撮像部(カメラ)の撮影角度情報等に応じて、受信した各視点の動画コンテンツから表示コンテンツを選択し、選択した動画コンテンツのデコード、表示処理を行なう。
 クライアントでは動画のデコードのみをすれば良いので負荷が低い。
 ただし、より多くの視点の動画像を1度に送る必要があり、通信負荷は大きくなる。
 上記実施例2は、サーバが、不連続、すなわち離散的な異なる視点からの動画コンテンツを配信する。さらに、提供する動画コンテンツに対応する奥行き情報(デプスマップ)を併せてクライアントに提供する実施例である。なお、デプスマップは、カメラから被写体までの距離情報を画素単位で設定したデータによって構成される。
 クライアント側では、不連続な異なる視点からの動画コンテンツを用いて、必要な表示コンテンツ、すなわち、所望の方向から観察した仮想画像を生成する。例えば、方向Aと方向Bの実写画像と各画像に対応付けられたデプスマップを用いて方向A~Bの中間視点画像を生成して表示する。
 この処理例では、サーバからクライアントに対する送信データを少なくすることができる。最低2視点分(角度や位置によっては3視点以上分)の画像を送信すればよい。
 ただし、クライアント側で中間視点画像を生成する必要が発生し、クライアント側の負荷が大きくなる。
 なお、実施例1,2のいずれの実施例においても、クライアントは、クライアントに備えられたカメラの位置・角度に応じて生成または選択した仮想画像をクライアントにおいて表示中のベース画像であるカメラ撮影画像に重畳する。なお、サーバが提供しクライアントに重畳する仮想画像は、例えば仮想画像が実写の人物画像である場合、人物以外の画素部分の透過度を最大にし、人物領域の透過度を0に設定するなどの透過度情報あるいはマスク情報と呼ばれる画素単位のαチャンネル情報を持つ動画コンテンツとする。
 このようなαチャンネルを持つコンテンツを撮影画像に重畳することで、仮想画像に含まれる人物領域のみがクライアントの撮影画像に重畳され、人物以外の画像領域では撮影画像がそのまま表示される。
 また、以下の実施例において詳細に説明するが、サーバとクライアント間の通信においては、ネットワーク遅延が発生する。従って、サーバからクライアントに提供するコンテンツは、ネットワークの遅延を考慮したコンテンツとすることが必要である。すなわち、例えば、クライアントの動きに基づく、一定時間後のクライアントの撮影角度を予測し、その予測角度を中心とした所定範囲内の視点からの動画像コンテンツを適応的に配信する。
 この処理により、全視点の動画を配信するのに比べ必要な帯域幅を大幅に削減可能となる。本開示の処理により、例えば、図3を参照して説明したクライアントの動きに応じた仮想画像のリアルタイム描画が実現される。
 なお、クライアントの動き予測は、例えばクライアントの撮影画像に含まれるマーカを利用した処理として実行することができる。すなわち、マーカの撮影位置からカメラの位置情報やカメラの移動方向、移動速度等を取得し、これらの情報からクライアントの動きを予測し、所定時間後のカメラの位置、姿勢を推定する。また、クライアントに備えられた加速度・ジャイロセンサなどのセンサ情報を利用した構成としてもよい。
 以下、本開示に従った処理の具体的な実施例について説明する。
  [2.本開示の第1実施例について]
 本開示の第1実施例について説明する。
 図1~図3を参照して説明したように、本開示の処理では、クライアントの表示部に撮影画像に併せて仮想画像を重畳したAR画像を生成して表示する。
 仮想画像は、サーバからクライアントに提供する例を説明する。なお、後段で説明するが、サーバからの画像提供を受けずにクライアント内の記憶部から仮想画像を取得する構成も可能である。
 図4を参照してサーバとクライアント間の基本的な通信シーケンスについて説明する。
 まず、ステップS11において、画像撮影を実行しているクライアント100が、サーバに対して撮影情報を送信する。
 撮影情報とは、例えば図1に示すポスター10を撮影していることが確認可能な情報であればよく、ポスターの画像、あるいはポスター10に設定されたサイバーコード(Cyber-Code)などの二次元バーコード等の識別情報でもよい。
 サーバ200は、クライアントからの撮影情報を受信すると、撮影情報に基づいてクライアントに提供する動画像コンテンツをデータベースから取得し、取得した動画像コンテンツを送信する。
 ただし、この動画像送信において、サーバは、クライアント100の動きに応じて決定する視点画像、すなわち、所定時間後にクライアントが撮影していると推定される方向から観察した仮想画像を選択して送信する。この動画像コンテンツ送信の詳細については後述する。
 次に、ステップS13において、クライアント100は、サーバ200から受信した動画像コンテンツを撮影画像に重畳して表示する。
 サーバクライアントの基本的な処理の流れは以上の通りである。
 さらに、詳細な処理シーケンスについて、図5に示すフローチャートを参照して説明する。
 図5に示すフローは、撮影画像に仮想画像を重ねたAR画像の表示処理を実行するクライアントの処理と、仮想画像を提供するサーバの処理を含むフローである。
 ステップS101~S105の処理はクライアントの実行する処理、
 ステップS106~S107の処理は、サーバまたはクライアントのいずれかで実行する処理、
 ステップS108の処理はサーバの実行する処理、
 ステップS109~S114の処理は、クライアントの実行する処理、
 である。
 なお、フローに示す処理は、例えばサーバまたはクライアントの記憶部に格納されたプログラムに従って、サーバまたはクライアントのデータ処理部、すなわちプログラム実行機能を有するCPU等を有するデータ処理部の制御の下に実行される。
 以下、各ステップの処理の詳細について、順次、説明する。
  (ステップS101)
 まず、クライアントは、ステップS101において画像を撮影する。例えば図1に示すようなポスターを撮影する。
  (ステップS102)
 次に、クライアントはステップS102において、後段で必要となるカメラの位置・角度情報を算出するための情報取得に成功したか否かを判定する。
 カメラの位置・角度情報を算出するための情報とは、例えば、撮影画像に含まれるマーカである。マーカとは、例えば図1に示すポスター10に予め印刷されたサイバーコード(Cyber-Code)などの二次元バーコード等である。このようなマーカを認識すれば、カメラ画像に映るマーカの角度から、カメラの位置や角度を算出することができる。
 なお、カメラの位置・角度情報を算出するための情報としては、サイパーコード等のマーカに限らず、ポスターやCDのジャケットなどの物体自身であってもよい。
 クライアントの実行するカメラの位置・角度算出処理アルゴリズムに応じて、何をカメラの位置・角度情報を算出するための情報として利用するかは異なり、適用情報は様々な設定が可能である。
 例えば、クライアントのカメラによって撮影された画像から特徴点を抽出しトラッキングすることでカメラの三次元的位置を認識するようなSLAM(Simultaneous Localization And Mapping)の技術を適用した位置同定処理を行なう構成としてもよい。なお、SLAMを適用した処理については、例えば本出願人と同一出願人の特開2011-43419号公報等に記載されている。
 また、その他、カメラの位置・角度情報を算出するための情報として、クライアント装置に付属するセンサの情報を適用してもよい。
 このように、ステップS102では、クライアントの実行するカメラの位置・角度情報の取得に成功したか否かを判定する。
 情報が得られない場合は、その後のAR画像生成処理は不可能と判断し、処理を終了する。
 情報が得られた場合は、ステップS103に進む。
  (ステップS103)
 次に、クライアントはステップS103において、ステップS102で得られた情報を適用してクライアント(カメラ)の現在の位置および姿勢を算出する。
  (ステップS104)
 次に、クライアントはステップS104において、クライアントに備えられた加速度センサ、ジャイロセンサの出力値を取得する。
  (ステップS105)
 次に、クライアントはステップS105において、クライアント(カメラ)の移動速度と移動方向を算出する。
 この処理は、例えばステップS103で算出したクライアント(カメラ)の現在の位置および姿勢と、ステップS104で取得したセンサ情報を適用して実行する。
 このステップS105の具体的処理例について、図6を参照して説明する。
 図6には、画像撮影とAR画像表示を実行するクライアント100と、仮想画像被写体想定位置32を示している。クライアント100は、ユーザが自由に移動可能である。
 ステップS103において、クライアントの現在位置:C=(Cx,Cy,Cz)が算出されている。
 ステップS104において、クライアントの速度ベクトルV1が算出されている。
 また、仮想画像被写体想定位置:T=(tx,ty,tz)とする。
 仮想画像被写体想定位置:T=(tx,ty,tz)を始点とし、クライアントの現在位置:C=(Cx,Cy,Cz)を終点とするベクトル(C-T)を半径ベクトルrとする。
 ステップS105での処理の目的は、図6に示す角速度ω、すなわち、仮想画像被写体に対する視点切り替え方向の角速度ωを算出することである。
 図6に示す角速度ωは、クライアント100の現在時刻の動きに応じた角速度である。
 まず、クライアント100の速度ベクトルv1に基づいて、半径ベクトルrに垂直な方向のクライアントの速度ベクトルv2を算出する。
 速度ベクトルv2は、仮想画像被写体に対応する視点切り替え方向の速度ベクトルである。
 仮想画像被写体に対する視点切り替え方向の角速度ωは、
 半径ベクトルrと、
 半径ベクトルrに垂直な方向のクライアントの速度ベクトルv2、
 これらに基づいて、以下の式で算出できる。
 ω=|r×v2|/r
 上記式に従って、仮想画像被写体に対する視点切り替え方向の角速度ωを算出する。
  (ステップS106)
 ステップS106~S107の処理は、クライアントまたはサーバのいずれかにおいて実行する処理である。
 ステップS106では、例えば、クライアントとサーバ間において、pingコマンドを送受信し、往復遅延時間(RTT:round trip time)を計測する。
  (ステップS107)
 次に、ステップS105で求めたクライアント(カメラ)の移動方向・速度と、ステップS106で求めたネットワーク遅延時間に基づいて、所定時間後のクライアント(カメラ)の撮影角度を推定し、クライアントに送信すべき仮想画像コンテンツの角度範囲を設定して、送信画像を決定する。
 このステップS107の処理の詳細について、図7以下を参照して説明する。
 ステップS107の処理は、図7に示すフローのステップS201~S203の処理によって実行される。
  (ステップS201)
 まず、ネットワーク遅延時間Δt後のクライアント(カメラ)の中心視点を算出する。
 現在時刻をT、
 ネットワーク遅延時間をΔt、
 現在時刻Tのクライアントのカメラ視点をθ
 現在時刻Tのクライアントの視点切り替え方向の角速度をω
 とする。
 なお、ネットワーク遅延時間Δtは、クライアントからサーバまでの往復の遅延時間(レイテンシ)である。
 なお、ユーザによるクライアントの操作としては、カメラの移動の他、ズームイン/ズームアウトなどの操作もあるが、これらは、被写体のサイズを変更する処理によって対応可能である。ここでは、仮想画像対応の各視点からの動画像コンテンツからクライアント視点に対応する動画像を選択するための情報を得るため、視点切り替え方向の角速度ωを用いた処理を行なう。
 現在時刻Tにおいて、サーバがクライアントに送信すべきデータは、現在時刻Tから、ネットワーク遅延時間Δt後、すなわち時刻T+Δtのクライアントの推定位置から観察した仮想画像である。
 すなわち、サーバは、時刻T+Δtにおけるクライアント視点θT+Δtを中心とした所定範囲の角度ないにある視点から撮影された複数の仮想画像コンテンツを送信する。クライアントは、これらの複数画像から実際のクライアントの位置に応じた画像を選択して表示する。
 このように、本開示の処理では、クライアントの動きを予測し、予測したクライアントの位置に対応する視点画像を選択してサーバからクライアントに提供する。
 この処理により、通信データ量が削減され、また、クライアント側での処理負荷も軽減され、効率的で精度の高いAR画像表示が実現される。
 時刻T+Δtにおけるクライアント視点θT+Δtは、単純に計算すれば、以下の式に従って算出可能である。
 θT+Δt=θ+ωΔt
 ステップS201では、上記式に従って、時刻T+Δtにおけるクライアント視点θT+Δtを算出する。すなわち、ネットワーク遅延時間Δt後のクライアント(カメラ)の中心視点を算出する。
 なお、さらにクライアントの角加速度等も考慮し、時刻T+Δtにおける角速度を推考慮して時刻T+Δtにおけるクライアント視点θT+Δtを算出する構成としてもよい。
  (ステップS202)
 次に、サーバからクライアントに対して送信する画像の視点範囲を決定する。
 上記のステップS201において求めたクライアント視点θT+Δtは、時刻Tにおいて得られたデータに従った仮定の下に推定された現在時刻TからΔt後のクライアントの位置に対応する1つの視点である。
 しかし、実際は、ユーザは時刻Tにおいて得られたデータに従った仮定に従ってクライアントを移動させるとは限らない、クライアント(カメラ)の移動速度や方向は、逐次、変化する可能性がある。また、ネットワーク遅延時間も一定ではなく、ネットワークの通信状態によって変化する。
 従って、ステップS201において求めたクライアント視点θT+Δtは、時刻T+Δtにおける実際のクライアント視点に一致するとは限らず、高確率で発生すると予測される1つの視点位置に過ぎない。
 サーバが、クライアント視点θT+Δtに対応する1つの仮想画像コンテンツのみをクライアントに送信した場合、実際のクライアント視点が、視点θT+Δtと一致していれば、その送信画像を表示すればよいが、実際のクライアント視点がずれていると、誤った画像が表示されてしまう。
 このような誤った画像の表示を防止するため、サーバは、ステップS201で推定したクライアント視点θT+Δtに対応する仮想画像に加え、その視点の周囲の視点画像も併せてクライアントに送信する。
 ステップS202では、クライアントに送信する複数の異なる視点画像コンテンツに対応する視点範囲を決定する。
 この視点範囲の決定態様としては様々な態様が可能である。
 例えば、現在時刻Tの時点で、時刻T+Δtのクライアントの角速度ωT+Δtを予測し、この予測各速度と、実際のクライアントの時刻T+Δtの角速度ωT+Δtの差分割合のログを収集し、この誤差割合の標準偏差の±2σを送信する角度範囲に設定するといった処理が可能である。
 また、このようなログを用いず、予め角度範囲±n度を設定し、ステップS201で推定したクライアント視点θT+Δt±n度の範囲の画像を送信画像として設定する処理を行なってもよい。
 さらに、クライアント視点θT+Δt±n度の範囲の画像を送信画像として設定するとともに、
 時刻Tのクライアント角速度ωと、
 ネットワーク遅延時間Δt、
 これらの各値をパラメータにした関数f(ω,Δt)を設定し、関数数f(ω,Δt)が、予め設定した閾値を超えると段階的に角度範囲を増やすといった設定で、送信画像の角度範囲を決定するといった構成としてもよい。
 このように、ステップS202では、たとえば、以下のような複数視点の動画像コンテンツをクライアントに送信するコンテンツとして決定する。
 (1)ステップS201で算出したクライアント視点θT+Δtから仮想画像対応の被写体(例えば人物)を撮影した動画像コンテンツ1、
 (2)上記クライアント視点θT+Δtから+k度の視点から仮想画像対応の被写体(例えば人物)を撮影した動画像コンテンツ2、
 (3)上記クライアント視点θT+Δtから-k度の視点から仮想画像対応の被写体(例えば人物)を撮影した動画像コンテンツ3、
 (4)上記クライアント視点θT+Δtから+2k度の視点から仮想画像対応の被写体(例えば人物)を撮影した動画像コンテンツ4、
 (5)上記クライアント視点θT+Δtから-2k度の視点から仮想画像対応の被写体(例えば人物)を撮影した動画像コンテンツ5、
 例えば、これらの5つの動画像コンテンツをクライアントに送信するコンテンツとして決定する。
  (ステップS203)
 ステップS202では、ステップS201で推定したクライアント視点θT+Δtを含む所定範囲の角度内の複数視点からの動画像をクライアントに送信する画像として決定した。
 例えば上記の(1)~(5)の動画コンテンツである。
 しかし、これらの複数の動画コンテンツの視点位置は、クライアント(カメラ)の動き予測に基づいて決定した視点位置であり、クライアント(カメラ)が、上記の(1)~(5)の画像に対応する視点位置に設定される確率は異なると推定される。
 すなわち、ステップS201で推定したクライアント視点θT+Δtは、時刻T+Δtにおけるクライアントの視点として最も高確率で発生すると推定される視点であり、その視点から離れるに従って発生確率は低減すると推定される。
 ステップS202において設定した視点範囲に含まれる複数の視点画像コンテンツのすべてを高解像度画像として送信するとデータ量が大きくなり、通信時間の遅延や処理効率が低下する可能性が高くなる。
 このような問題の発生を防止するため、ステップS202において設定した視点範囲に含まれる複数の視点画像コンテンツについて、以下のような設定として送信する。
 すなわち、時刻T+Δtにおけるクライアントの視点として高確率であると推定される視点の画像は、高解像度画像として送信し、低確率であると推定される範囲の画像は低解像度の画像として送信する。
 このような設定での画像送信を実行することで、送信データ量が削減される。
 ステップS203では、このような設定の画像送信を可能とするため、ステップS202において設定した視点範囲に含まれる各視点位置にクライアント(カメラ)が設定される確率を推定する。
 具体的には、例えば、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtを最大確率とした正規分布を設定し、正規分布に従った確率密度関数を適用して、各視点位置にクライアント(カメラ)が設定される確率を推定する。
 具体的な、各視点角度対応の確率演算アルゴリズムについて、図8以下を参照して説明する。
 図8は、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtを最大確率とした正規分布を示している。
 横軸が視点、縦軸が発生確率を示す。
 視点軸の中心(0)は、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtに相当する。
 図8に示す正規分布データは、以下のパラメータに基づいて、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtにを基準として平均=0、標準偏差σとした正規分布データからなる視点確率密度関数である。
 時刻Tのクライアント角速度をω
 ネットワーク遅延時間をΔt、
 標準偏差をσ=α|ω|+Δt
 ただし、α予め設定した係数、βは予め設定した正の定数である。
 図8には、例として、
 ネットワーク遅延時間:Δt=100ms、
 クライアント(カメラ)の角速度ωが、以下の3つの場合の例を示している。
 ω=0deg/s、
 ω=2deg/s、
 ω=10deg/s、
 クライアント(カメラ)の角速度ωが低速であるほど、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtの発生確率が周囲の視点の発生確率に比較して、より高くなる。
 一方、クライアント(カメラ)の角速度ωが高速であるほど、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtの発生確率と周囲の視点の発生確率との差が小さくなる。
 この図8に示す正規分布データ、すなわち、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtを最大確率とした正規分布データを用いて、ステップS202において設定した視点範囲に含まれる各視点位置にクライアント(カメラ)が設定される確率を推定する。
 なお、図8に示す正規分布データは、視点軸の中心(0)を、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtに設定している。
 この視点軸の中心(0)を、時刻Tにおける実際のクライアント視点θに設定した場合の各角度対応の発生確率を示す確率密度関数は、図9に示す設定となる。
 図9には、例として、
 ネットワーク遅延時間:Δt=100ms、
 クライアント(カメラ)の角速度ωが、以下の5つの場合の例を示している。
 ω=0deg/s、
 ω=-2deg/s、
 ω=+2deg/s、
 ω=-10deg/s、
 ω=+10deg/s、
 この図9に示す確率密度関数は、視点軸の中心(0)を、時刻Tにおける実際のクライアント視点θに設定し、クライアント(カメラ)の角速度ωに応じて、時間Δt後に位置すると推定されるクライアントの位置の確率を示している。
 角速度ωが(-)の場合は、左方向(-方向)、角速度ωが(+)の場合は、右方向(+方向)に偏って確率が高くなる設定となる。
 また、図8に示す確率密度関数は、
 ネットワーク遅延時間:Δt=100ms、
 とした例であるが、ネットワーク遅延時間Δtの値に応じて、確率密度関数は変化する。
 図10は、
 クライアント(カメラ)の角速度ω-3deg/s、
 ネットワーク遅延時間:Δtを以下の3つの場合の確率密度関数を示している。
 Δt=10ms、
 Δt=100ms、
 Δt=1000ms、
 ネットワーク遅延時間Δtが小さいほど、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtの発生確率が周囲の視点の発生確率に比較して、より高くなる。
 一方、ネットワーク遅延時間Δtが大きいほど、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtの発生確率と周囲の視点の発生確率との差が小さくなる。
 なお、ネットワーク遅延時間Δtは、時刻Tにおいて得られた値を適用して、図8に示す正規分布データを生成すればよい。
 なお、ネットワーク遅延時間Δtは、1回のpingデータの送受信によって計測しているため、必ずしも正確な遅延時間が計測されるとは限らない。これを考慮し、遅延時間の揺らぎ補償を実行する構成としてもよい。
 図11に、遅延時間の揺らぎ補償グラフを示す。
 横軸は、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtを中心(0)とした視点軸、
 縦軸が、発生確率を示している。
 なお、前提として、時刻Tにおけるクライアント(カメラ)の角速度ωが変化なく継続すると仮定している。
 遅延時間標準偏差をσ
 として、揺らぎ補償角度範囲をαωσとする。
 ただし、αは、予め設定した係数である。
 この前提で、
 角度範囲0~αωσ(またはαωσtn~0)の区間で一定値最大をとる変則的正規分布関数を確率密度関数と定義する。
 すなわち、
 αωσ>0のとき、
 θ>αωσ
   -p=NORMDIST(θ,αωσ,σ)
 0=<θ=<αωσ
   -p=NORMDIST(0,0,σ)
 θ<0
   -p=NORMDIST(θ,0,σ)
 なお、NORMDIST(x,u,σ)は、平均u、標準偏差σにおける世紀分布でのxの確率密度関数後である。
 この確率密度関数を示したのが、図11に示すグラフである。
 図11には、
 遅延時間標準偏差σ=1ms,10ms,100msの3つの場合の例を示している。
 例えば、時間Tにおいてpingコマンドの送受信に基づいて得られたネットワーク遅延時間Δtに対して、この図11に示す遅延時間の揺らぎ補償グラフを適用して、揺らぎ補償を行い、その結果を反映して、図8に示す正規分布データを生成する構成としてもよい。
 図7に示すフローのステップS203では、上記の処理により、時間Tにおいて計測した各データ、あるいはその補正データを適用して例えば図8に示す正規分布データからなる確率密度関数を設定し、この確率密度関数に従って、ステップS202において設定した視点範囲に含まれる各視点位置にクライアント(カメラ)が設定される確率を推定する。
 このように、図5に示すフローのステップS107では、図7に示すフローに従って、カメラ角度の推定に基づく送信画像の選択処理を実行し、さらに各選択画像の各視点にクライアントが設定される確率を算出する。
 具体的には、例えば、図12に示すように送信画像データを決定し、決定した各送信画像の確率、すなわち、クライアントがその視点画像の位置に設定されると推定される確率を算出する。
 図12に示すデータは、ステップS107において設定されるデータの一例である。
 ステップS107では、例えば図12に示すように、以下のデータ(1)~(5)を送信画像として決定し、各画像の確率を算出する。
 (1)動画コンテンツ1(View1)
 ステップS201で算出したクライアント視点θT+Δtから仮想画像対応の被写体(例えば人物)を撮影した動画像コンテンツ1、
 クライアントがこの動画コンテンツ1の画像視点に対応する位置に設定される確率=0.40。
 (2)動画コンテンツ2(View2)
 クライアント視点θT+Δt+kから仮想画像対応の被写体(例えば人物)を撮影した動画像コンテンツ2、
 クライアントがこの動画コンテンツ2の画像視点に対応する位置に設定される確率=0.20。
 (3)動画コンテンツ3(View3)
 クライアント視点θT+Δt-kから仮想画像対応の被写体(例えば人物)を撮影した動画像コンテンツ3、
 クライアントがこの動画コンテンツ3の画像視点に対応する位置に設定される確率=0.20。
 (4)動画コンテンツ4(View4)
 クライアント視点θT+Δt+2kから仮想画像対応の被写体(例えば人物)を撮影した動画像コンテンツ4、
 クライアントがこの動画コンテンツ4の画像視点に対応する位置に設定される確率=0.05。
 (5)動画コンテンツ5(View5)
 クライアント視点θT+Δt-2kから仮想画像対応の被写体(例えば人物)を撮影した動画像コンテンツ5、
 クライアントがこの動画コンテンツ5の画像視点に対応する位置に設定される確率=0.05。
 ステップS107では、例えば、このような送信画像の決定と発生確率を決定する。
  (ステップS108)
 次に、図5に示すフローチャートのステップS108の処理について説明する。
 ステップS108の処理は、サーバにおいて実行する。
 サーバは、ステップS107の処理において決定したデータ、すなわち、例えば、図12に示すクライアントに送信すべき信画像と確率データを用いてクライアントに送信するストリームを生成する。
 ストリーム生成例を図13に示す。
 サーバは、例えば、図13(A)に示す複数の動画像コンテンツを含むストリームを生成してクライアントに送信する。
 図13(B)は、先に図8を参照して説明した確率密度関数のグラフであり、クライアント(カメラ)の時刻T+Δtにおける推定角度を横軸の中心(0)として、各角度に設定されるクライアント(カメラ)の確率を示している。
 この確率は、図12に示すデータにおける確率に対応する。
 サーバは、確率の高い順から、画像1(View1)、画像2(View2)、画像3(View3)、・・・画像7(View7)として、図13(A)に示すように、高確率の視点画像を高解像度画像(高ビットレート画像)とし、低確率の視点画像を低解像度画像(低ビットレート画像)として構成した複数画像のストリームデータを生成してクライアントに送信する。
 図13(A)に示す例は、図13(B)に示す確率分布が得られた場合の送信画像ストリームの設定例である。
 これに対して、例えば図14(B)に示すように、確率分布がなだらかな場合には、異なる視点画像を全て同様の解像度のデータとした図14(A)に示すような画像ストリームデータを生成して送信してもよい。
 なお、各視点画像は、各々個別のストリームとして送信してもよいが、1つのストリームに複数視点の複数画像をパックして送信する設定としてもよい。
 また、サーバの負荷を抑えるために、各視点の画像ストリームはリアルタイムエンコードをするのではなく、解像度・ビットレートごとに事前に生成しておきデータベースに格納しておく構成とするのが好ましい。
 なお、サーバからクライアントに送信する画像データは、例えばMPEGなどの所定の符号化アルゴリズムによって符号化されたデータであり、クライアント側でデコード処理を実行する必要がある。クライアントでは、異なる視点画像ストリームに表示を切り替える際に、異なる動画像ストリームを選択して新たにデコードを開始しなければならず、このストリーム切り替え時の遅延によりスムーズな画像切り替えができなくなる恐れがある。
 このデコード処理の遅延を最小化するために、クライアントに提供する画像ストリームを、
 (a)全フレームがキーフレームである動画シーケンスと、
 (b)通常の動画シーケンス、
 これらの2種類の画像ストリームとして設定してもよい。
 全フレームがキーフレームである動画シーケンスとは、例えば、各画像フレームを単独でデコードできる画像フレームによって構成される符号化データである。通常の動画シーケンスとは、例えば前後の画像フレームを参照したデコードが必要となる符号化データである。
 クライアントは、、ストリーム切り替え時にまず「全フレームがキーフレームである動画シーケンス」から1フレーム目を読み込み、高速でデコード処理を行ない表示部に表示し、2フレーム目以降を「通常の動画シーケンス」から読み込みデコードして表示を継続するといった処理が可能となり、表示切り替え時の遅延を低減することが可能となる。
 また、クライアント側でのコンテンツデコードの負荷を削減するために、最大の確率の画像を配信するストリームを固定ストリームとして設定し、
 固定した同一ストリームを用いて、クライアントの動きに応じて変更した異なる視点のコンテンツを配信する部分的リアルタイムエンコードを実行する構成としてもよい。
 このように、確率の高い視点画像を、より高いビットレート、解像度データとして送信することで、クライアントでは、高確率に高画質な画像を表示することができる。また、確率の低い視点の画像も送信しているので、クライアントの急峻な動きがあったとしても、対応視点画像が表示できないといった事態が発生する可能性も低減することが可能となる。
  (ステップS109)
 図5のフローに戻り、実施例1の処理シーケンスの説明を続ける。
 ステップS108においてサーバにおいて画像送信が実行されると、次に、クライアントは、ステップS109において、仮想画像の画像ストリームを受信する。
 例えば図13(A)や図14(A)を参照して説明した複数視点画像の動画像データからなるストリームである。
  (ステップS110)
 次に、クライアントは、ストリームを受信した時点の、カメラの位置・角度を算出し、クライアントの表示部に表示する仮想画像を選択し、さらに選択した仮想画像の重畳位置を決定する。このカメラの位置・角度を算出処理は、先に説明したステップS102~S103の処理と同様の処理であり、この算出結果を適用して仮想画像の選択処理と重畳位置を決定する。
  (ステップS111)
 次に、クライアントは、ステップS111において、表示する画像として選択した仮想画像ストリームのデコード処理を実行する。
  (ステップS112)
 次に、クライアントは、ステップS112において、デコードしたコンテンツを、クライアントの表示部に表示中のカメラ撮影画像に重畳する。
  (ステップS113)
 次に、クライアントはステップS113において、クライアントの表示部(ディスプレイ)に最終結果としての撮影画像に仮想画像を重畳したAR画像を出力する。
  (ステップS114)
 ステップS114において、予め設定した終了条件、例えば画像撮影処理の終了、あるいはアプリケーションの終了などの終了条件が発生したか否かを判定し、終了条件が発生した場合は無処理を終了する。終了条件が発生しない場合は、ステップS101に戻り、同様の処理を繰り返す。
 このようにして、サーバから送信された仮想画像がクライアントの表示部に表示中の撮影画像に重畳され表示されることになる。
 なお、図5に示すフローチャートにおいて、ステップS105~S107の処理のを省略し、ステップS103のカメラ位置、姿勢情報の取得、ステップS104のカメラの移動方向、速度の算出後、これらの取得情報、すなわちカメラの位置、姿勢、または動き等の空間位置情報に基づいて、表示部に表示するための仮想画像を生成または選択して表示部に出力する構成としてもよい。
 図15に、本実施例1を実行するサーバ200とクライアント100の構成例を示す。
 クライアント100の通信部108と、サーバ200の通信部207間でデータ送受信を行う。
 なお、図15において、クライアント100の構成中に示すネットワーク遅延推定部106と、角度範囲推定部107は、クライアント100ではなくサーバ200の構成要素として設定してもよい。
 図15に示すクライアント100、およびサーバ200は、先に説明した図5に示すフローに従った処理を実行する。
 図15に示す各構成の実行する処理について、図5のフローの各ステップの処理と対応付けて説明する。
 クライアント100の撮像部(カメラ)101は、図5に示すフローのステップS101のカメラ画像取得処理を実行する。
 画像認識部102が、図5のフローのステップS102のカメラ位置・姿勢算出情報の取得処理を実行する。具体的には、例えば図1に示すポスターなどの被写体に設定されたマーカの認識処理を実行する。
 クライアント(カメラ)位置・姿勢算出部103は、図5のフローのステップS103のカメラ位置・姿勢算出処理を実行する。
 センサ(加速度メジャイメセンサ等)104は、図5のフローのステップS104のセンサ情報取得処理を実行する。
 クライアント移動速度方向算出部105は、図5のフローのステップS105のクライアント(カメラ)移動速度方向算出処理を実行する。
 ネットワーク遅延推定部106は、図5のフローのステップS106のネットワーク遅延推定処理を実行する。
 角度範囲推定部107は、図5のフローのステップS107の処理、すなわち、クライアント(カメラ)の位置推定に基づく送信画像の決定処理と確率推定等の処理を実行する。
 なお、これらのネットワーク遅延推定部106、角度範囲推定部107は、サーバ200側に設定してサーバ200の処理として実行してもよい。
 角度範囲推定部107は、クライアント(カメラ)の位置推定に基づく送信画像を決定し、各送信画像に対応する確率、すなわち各画像に対応する視点位置にクライアントが設定される確率を算出する。具体的には、例えば先に図12を参照して説明したデータを生成する。
 このデータは、通信部を介してサーバ200の送信画像データ生成部206に入力される。
 サーバ200は、予めクライアントに提供する複数視点の画像コンテンツ(動画ストリーム)を生成し、各視点対応コンテンツ205として保持している。
 サーバは、事前処理として以下の処理を実行して、各視点対応コンテンツ205を生成する。
 すなわち、奥行き情報(デプスマップ)生成部202において、コンテンツデータベース201に格納されたコンテンツ、すなわち離散的な複数視点からの画像コンテンツを取得し、この画像に対応する奥行き情報(デプスマップ)203を生成する。
 さらに、中間視点画像生成部204において、コンテンツデータベース201に格納されたコンテンツと、奥行き情報(デプスマップ)203を適用して、コンテンツデータベース201に格納されたコンテンツに含まれない中間視点からの画像コンテンツを生成する。
 サーバ200は、コンテンツデータベース201に格納されたコンテンツと、コンテンツデータベース201に格納されたコンテンツに含まれない中間視点からの画像コンテンツを含む、例えば、ある被写体に対する360度の各視点画像を各視点対応コンテンツ205として予め生成する。
 サーバ200の送信画像データ生成部206は、各視点対応コンテンツ205からクライアントに送信する画像コンテンツに基づく送信ストリームを生成する処理を行なう。すなわち、図5に示すフローのステップS108の処理を実行する。
 サーバは、例えば、図12に示すクライアントに送信すべき信画像と確率データを用いてクライアントに送信するストリームを生成する。
 具体的には、例えば、図13(A)、図14(A)に示すような複数視点の画像コンテンツの組み合わせデータである。
 送信画像データ生成部206の生成した送信データは通信部207を介してクライアント100の通信部108に送信される。
 クライアント100の通信部108は、図5のフローのステップS109の仮想画像ストリームの受信処理を実行する。
 クライアント100のコンテンツ選択&重畳位置算出部109は、図5のフローのステップS110の処理、すなわち、仮想画像の選択と、重畳位置の決定処理を実行する。すなわち、ストリームを受信した時点の、カメラの位置・角度を算出し、クライアントの表示部に表示する仮想画像を選択し、さらに選択した仮想画像の重畳位置を決定する。
 デコード部110は、図5のフローのステップS111の処理、すなわち、選択した仮想画像ストリームのデコード処理を実行する。
 表示制御部111は、図5のフローのステップS112、S113の処理、すなわち、デコードしたコンテンツを、クライアント100の表示部112に表示中のカメラ撮影画像に重畳したAR画像を出力する。
 このようにして、サーバから送信された仮想画像がクライアントの表示部に表示中の撮影画像に重畳され表示されることになる。
 なお、図15に示す構成は、サーバ、クライアントの主要構成を示す図であり、サーバ、およびクライアントは、図に示す構成の他、例えば、図6を参照して説明した処理を制御するCPU等を有する制御部や、制御部において実行するプログラムを格納した記憶部などを有する。
  [3.本開示の第2実施例について]
 次に、本開示の第2実施例について説明する。
 第2実施例は、サーバから離散的な複数視点のコンテンツと、コンテンツ対応の奥行き情報(デプスマップ)をクライアントに送信し、クライアント側でクライアントに表示する任意視点の画像を生成する実施例である。
 すなわち、サーバは、クライアントに表示予定の仮想画像を生成するための仮想画像生成用画像とデプスマップをクライアントに送信する。
 上述した第1実施例の処理と、第2実施例の際について、図16、図17を参照して説明する。
 第1実施例においては、ある角度範囲の視点からの動画像コンテンツ、例えば図16に示す動画1~動画nまでのn個の動画コンテンツをクライアントに送信し、クライアント側では、これらのn個のコンテンツから、クライアントの角度等に適合したコンテンツを選択して表示する処理を行なっていた。
 以下に説明する第2実施例では、図17に示すように、ある角度範囲の視点からの動画像コンテンツのうち、離散的な数視点の画像、例えば図17に示すように3視点のみの動画像をクライアントに送信する。さらに、これらの3つの送信動画像に対応する奥行き情報(デプスマップ)を併せてクライアントに送信する。
 クライアントは、これら離散的な視点からの画像とデプスマップを適用して、例えば動画1と動画2の間の視点からの中間視点画像を生成してクライアントに表示する画像を生成して表示する。
 この第2実施例の構成では、サーバからクライアントに送信する画像データのデータ量を削減することが可能となるという利点がある。
 この第2実施例の処理シーケンスについて、図18に示すフローチャートを参照して説明する。
 図18に示すフローは先に第1実施例の処理シーケンスとして説明した図5のフローと共通の処理が含まれる。
 実施例1と同様の処理は、ステップS101~S106の処理、ステップS109の処理、ステップS112~S114の処理である。
 図18のフローに示す、
 ステップS107b
 ステップS108b、
 ステップS110b、
 ステップS111b、
 これらの処理が実施例1とは異なる処理となる。
 以下、実施例1と共通の処理については簡略化して説明し、異なる部分について重点的に説明する。
 なお、実施例1と同様、図18に示すフローは、撮影画像に仮想画像を重ねたAR画像の表示処理を実行するクライアントの処理と、仮想画像を提供するサーバの処理を含むフローである。
 ステップS101~S105の処理はクライアントの実行する処理、
 ステップS106~S107の処理は、サーバまたはクライアントのいずれかで実行する処理、
 ステップS108の処理はサーバの実行する処理、
 ステップS109~S114の処理は、クライアントの実行する処理、
 である。
 なお、フローに示す処理は、例えばサーバまたはクライアントの記憶部に格納されたプログラムに従って、サーバまたはクライアントのデータ処理部、すなわちプログラム実行機能を有するCPU等を有するデータ処理部の制御の下に実行される。
 以下、各ステップの処理の詳細について、順次、説明する。
  (ステップS101)
 まず、クライアントは、ステップS101において画像を撮影する。例えば図1に示すようなポスターを撮影する。
  (ステップS102)
 次に、クライアントはステップS102において、後段で必要となるカメラの位置・角度情報を算出するための情報取得に成功したか否かを判定する。
 カメラの位置・角度情報を算出するための情報とは、例えば、撮影画像に含まれるマーカである。マーカとは、例えば図1に示すポスター10に予め印刷されたサイバーコード(Cyber-Code)などの二次元バーコード等である。
  (ステップS103)
 次に、クライアントはステップS103において、ステップS102で得られた情報を適用してクライアント(カメラ)の現在の位置および姿勢を算出する。
  (ステップS104)
 次に、クライアントはステップS104において、クライアントに備えられた加速度センサ、ジャイロセンサの出力値を取得する。
  (ステップS105)
 次に、クライアントはステップS105において、クライアント(カメラ)の移動速度と移動方向を算出する。
 この処理は、例えばステップS103で算出したクライアント(カメラ)の現在の位置および姿勢と、ステップS104で取得したセンサ情報を適用して実行する。
 このステップS105の具体的処理例については、先に図6を参照して説明した通りである
  (ステップS106)
 ステップS106~S107bの処理は、クライアントまたはサーバのいずれかにおいて実行する処理である。
 ステップS106では、例えば、クライアントとサーバ間において、pingコマンドを送受信し、往復遅延時間(RTT:round trip time)を計測する。
  (ステップS107b)
 次に、ステップS105で求めたクライアント(カメラ)の移動方向・速度と、ステップS106で求めたネットワーク遅延時間に基づいて、所定時間後のクライアント(カメラ)の撮影角度を推定し、クライアントに送信すべき仮想画像コンテンツの角度範囲を設定して、送信画像を決定する。
 このステップS107bの処理は、まず、先に説明した実施例1と同様、図7に示すフローのステップS201~S203の処理を実行する。
 この結果として、例えば、図12に示す送信すべき角度範囲の視点画像とその確率、すなわち、クライアントがその視点画像の位置に設定されると推定される確率を算出する。
 本実施例では、さらに、これらの画像のすべてではなく、離散的な視点の画像のみをクライアントに送信する画像として設定する。
 具体的には、例えば、図17を参照して説明したような算出した視点角度範囲の両端の画像と、図7のステップS201で推定したクライアント位置、すなわち時刻T+Δtにおけるクライアント(カメラ)の視点に最も近い視点画像の組み合わせを送信画像として選択する。
  (ステップS108b)
 サーバは、ステップS107bの処理において決定した送信画像データとデプスマップを併せた画像データストリームを生成する。
 図19以下を参照してストリーム生成例について説明する。
 図19(A)は、図7に示すフローに従って算出された視点対応の確率分布データである。
 このデータを利用してクライアントに送信する離散的な視点画像を選択してクライアントに送信する。
 図19(B)が送信画像データの例である。
 時刻T+Δtにおける視点画像である(View1)と、所定角度離れた位置の視点画像(View2)、(View3)については高解像度画像として送信する。
 さらに、時刻T+Δtにおける視点画像である(View1)から離れた視点の角度対応の画像(View4)~(View7)については低解像度画像として送信する。
 なお、各画像には各画像対応の奥行き情報(デプスマップ)を併せてクライアントに送信する。
 クライアントが、(View1)と(View2)の間の中間視点画像を表示画像として選択した場合は、クライアント側で(View1)と(View2)の画像と、各画像のデプスマップを利用して中間視点画像を生成して表示する。
 その他の各画像の中間視点画像が必要な場合も同様の処理を行なう。
 図20に示す例は、さらに、送信画像を削減した処理例である。
 図20(A)は、図19(A)と同様、図7に示すフローに従って算出された視点対応の確率分布データである。
 このデータを利用してクライアントに送信する離散的な視点画像を選択してクライアントに送信する。
 図20(B)が送信画像データの例である。
 図20に示す例では、時刻T+Δtにおける視点画像である(View1)と、所定角度離れた位置の視点画像(View2)、(View3)については高解像度画像として送信する。
 さらに、時刻T+Δtにおける視点画像である(View1)から離れた視点の角度対応の画像(View4)~(View7)中、両端の(View6)と(View7)のみを低解像度画像として送信し、(View4),(View5)については送信しない。
 クライアントが、(View2)と(View6)の間の中間視点画像を表示画像として選択した場合は、クライアント側で(View2)と(View6)の画像と、各画像のデプスマップを利用して中間視点画像を生成して表示する。
 その他の各画像の中間視点画像が必要な場合も同様の処理を行なう。
 さらに、確率分布が、例えば図21(A)に示すように、時刻T+Δtにおける視点画像である(View1)の位置の確率が極めて高く、周囲の離れた角度における確率が低い場合は、離れた角度の画像の送信を行わない設定としてもよい。
 すなわち、図21(B)に示すように、時刻T+Δtにおける視点画像である(View1)と、所定角度離れた位置の視点画像(View2)、(View3)についてのみ高解像度画像として送信する。
 図18のフローのステップS108bでは、このように様々な設定で、送信画像ストリームを生成してクライアントに送信する。
 本実施例では、離散的な視点の画像を選択し、デプスマップとともにクライアントに送信し、クライアント側で必要に応じてチュウカンシテンガゾウヲ生成して表示する処理を行なうことになる。
  (ステップS109)
 図18のフローに戻り、実施例2の処理シーケンスの説明を続ける。
 ステップS108bにおいてサーバにおいて画像送信が実行されると、次に、クライアントは、ステップS109において、仮想画像の画像ストリームを受信する。
 例えば図19~図21を参照して説明した複数視点画像の動画像データとデプスマップからなるストリームである。
  (ステップS110b)
 次に、クライアントは、ストリームを受信した時点の、カメラの位置・角度を算出し、クライアントの表示部に表示する仮想画像の視点位置を決定し、さらに決定した視点対応の仮想画像の重畳位置を決定する。このカメラの位置・角度を算出処理は、先に説明したステップS102~S103の処理と同様の処理であり、この算出結果を適用して仮想画像の視点位置と重畳位置を決定する。
  (ステップS111b)
 次に、クライアントは、ステップS111bにおいて、決定した視点位置対応の画像生成に必要な画像ストリームのデコード処理を実行する。
 例えば、図20(B)に示す画像を受信し、(View3)と(View7)の中間視点画像を表示画像として決定している場合は、(View3)と(View7)の画像をデコードし、これらの画像のデプスマップを適用して中間視点画像を生成する。
  (ステップS112)
 次に、クライアントは、ステップS112において、生成した画像コンテンツを、クライアントの表示部に表示中のカメラ撮影画像に重畳する。
  (ステップS113)
 次に、クライアントはステップS113において、クライアントの表示部(ディスプレイ)に最終結果としての撮影画像に仮想画像を重畳したAR画像を出力する。
  (ステップS114)
 ステップS114において、予め設定した終了条件、例えば画像撮影処理の終了、あるいはアプリケーションの終了などの終了条件が発生したか否かを判定し、終了条件が発生した場合は無処理を終了する。終了条件が発生しない場合は、ステップS101に戻り、同様の処理を繰り返す。
 このようにして、サーバから送信された仮想画像がクライアントの表示部に表示中の撮影画像に重畳され表示されることになる。
 図22に、本実施例2を実行するサーバ200とクライアント100の構成例を示す。
 クライアント100の通信部108と、サーバ200の通信部207間でデータ送受信を行う。
 なお、図22において、クライアント100の構成中に示すネットワーク遅延推定部106と、角度範囲推定部107は、クライアント100ではなくサーバ200の構成要素として設定してもよい。
 図22に示すクライアント100、およびサーバ200は、先に説明した図19に示すフローに従った処理を実行する。
 図22に示す各構成の実行する処理について、図19のフローの各ステップの処理と対応付けて説明する。
 クライアント100の撮像部(カメラ)101は、図19に示すフローのステップS101のカメラ画像取得処理を実行する。
 画像認識部102が、図19のフローのステップS102のカメラ位置・姿勢算出情報の取得処理を実行する。具体的には、例えば図1に示すポスターなどの被写体に設定されたマーカの認識処理を実行する。
 クライアント(カメラ)位置・姿勢算出部103は、図19のフローのステップS103のカメラ位置・姿勢算出処理を実行する。
 センサ(加速度メジャイメセンサ等)104は、図19のフローのステップS104のセンサ情報取得処理を実行する。
 クライアント移動速度方向算出部105は、図19のフローのステップS105のクライアント(カメラ)移動速度方向算出処理を実行する。
 ネットワーク遅延推定部106は、図19のフローのステップS106のネットワーク遅延推定処理を実行する。
 角度範囲推定部107は、図19のフローのステップS107bの処理、すなわち、クライアント(カメラ)の位置推定に基づく送信画像の決定処理と確率推定等の処理を実行する。
 なお、これらのネットワーク遅延推定部106、角度範囲推定部107は、サーバ200側に設定してサーバ200の処理として実行してもよい。
 角度範囲推定部107は、クライアント(カメラ)の位置推定に基づく送信画像を決定し、各送信画像に対応する確率、すなわち各画像に対応する視点位置にクライアントが設定される確率を算出する。具体的には、例えば先に図12を参照して説明したデータを生成する。
 このデータは、通信部を介してサーバ200の送信画像データ生成部206に入力される。
 サーバ200は、予めクライアントに提供する離散的な複数の視点の画像コンテンツ(動画ストリーム)をコンテンツデータベース201に保持している。
 サーバは、事前処理として奥行き情報(デプスマップ)生成部202において、コンテンツデータベース201に格納されたコンテンツ、すなわち離散的な複数視点からの画像コンテンツを取得し、この画像に対応する奥行き情報(デプスマップ)203を生成する。
 サーバ200の送信画像データ生成部206は、各視点対応コンテンツ205からクライアントに送信する画像コンテンツに基づく送信ストリームを生成する処理を行なう。すなわち、図19に示すフローのステップS108bの処理を実行する。
 サーバは、例えば、先に図19~図21を参照して説明したように、離散的な複数視点の画像とデプスマップを併せたデータをクライアントに多提供するデータとして設定する。
 送信画像データ生成部206の生成した送信データは通信部207を介してクライアント100の通信部108に送信される。
 クライアント100の通信部108は、図19のフローのステップS109の仮想画像ストリームの受信処理を実行する。
 クライアント100のコンテンツ選択&重畳位置算出部109は、図19のフローのステップS110bの処理、すなわち、表示すべき仮想画像の視点位置と、重畳位置の決定処理を実行する。すなわち、ストリームを受信した時点の、カメラの位置・角度を算出し、クライアントの表示部に表示する仮想画像の視点位置を決定し、さらに決定した仮想画像の重畳位置を決定する。
 デコード部110は、図19のフローのステップS111の処理、すなわち、決定した視点位置対応の画像生成に必要な画像ストリームのデコード処理を実行する。
 例えば、図20(B)に示す画像を受信し、(View3)と(View7)の中間視点画像を表示画像として決定している場合は、(View3)と(View7)の画像をデコードし、これらの画像のデプスマップを適用して中間視点画像を生成する。
 表示制御部111は、図19のフローのステップS112、S113の処理、すなわち、デコードしたコンテンツを、クライアント100の表示部112に表示中のカメラ撮影画像に重畳したAR画像を出力する。
 このようにして、サーバから送信された仮想画像がクライアントの表示部に表示中の撮影画像に重畳され表示されることになる。
 この第2実施例の処理は、以下の利点を持つ。
 (利点1)ネットワークの帯域幅が削減できる。もしくは、帯域を保ちながら画質を向上させられる。
 これは送信すべき視点数が最小、2視点の画像でよくなるためである。
 (利点2)クライアント端末の急峻な動きに更にロバストになる。
 送信するストリームにおいて、確率の低い視点の中間の元映像はスキップして両端の映像だけを送ることが可能となり、確率の低い視点区間については補間すべき視点間の視差を増加させることで送信するストリームの数を減らすことが可能となる。これによって、実施例1に比べて送信できる角度範囲を広げられやすい。
  [4.本開示の第3実施例について]
 次に、本開示の第3実施例について説明する。
 第3実施例は、上述した第1実施例と第2実施例を組み合わせた実施例である。
 第実施例1は、ある角度範囲の視点からの動画像コンテンツ、例えば図16に示す動画1~動画nまでのn個の動画コンテンツをクライアントに送信し、クライアント側では、これらのn個のコンテンツから、クライアントの角度等に適合したコンテンツを選択して表示する処理を行なっていた。
 第2実施例では、図17に示すように、ある角度範囲の視点からの動画像コンテンツのうち、離散的な数視点の画像、例えば図17に示すように3視点のみの動画像をクライアントに送信する。さらに、これらの3つの送信動画像に対応する奥行き情報(デプスマップ)を併せてクライアントに送信する。
 第1実施例の処理は、ネットワーク帯域が多く必要だったり、画質が相対的に低かったりするが、クライアントでの処理は低負荷であり、容易に実時間での描画が可能である。
 一方、第2実施例の処理は、クライアントでの処理が高負荷で、実時間描画が難しく、バッテリーをより多く消費してしまうが、高画質で必要なネットワーク帯域も少ない。
 この2方式を適応的に切り替えることで、さらに状況に応じた最適な動画配信を可能にする構成が実現される。この組み合わせ方式を第3実施例として説明する。
 第3実施例は、具体的には、
 (a)クライアントの描画速度、演算性能、
 (b)ネットワーク帯域幅、
 これらをパラメータとして最適な方式、すなわち第1実施例の処理、または第2実施例の処理、いずれかの処理を実行するかを切り替えて処理を行う。
 さらに、重畳するコンテンツごとに処理を切り換える設定としてもよい。
 例えば、
 (a)より高画質が要求されるが、フレームレートは落ちてしまっても良いコンテンツ
 (b)30fpsでの描画が要求されるが、低画質でも良いコンテンツ
 これらのコンテンツ情報をコンテンツ対応のメタデータとして保持し、このメタデータに応じて、最適な方式、すなわち第1実施例の処理、または第2実施例の処理、いずれかの処理を実行するかを切り替えて処理を行う。
 第3実施例の処理を実行するサーバ200とクライアント100の構成例を図23に示す。
 図23に示す構成は、先に実施例1のサーバクライアント構成として説明した図15に示す構成に以下の構成を追加した構成である。
 クライアント100の、
 ネットワーク遅延帯域幅取得部115、
 クライアント性能取得部116、
 サーバ200の、
 コンテンツメタデータベース208、
 ストリーム切り替え部209、
 これらの構成が追加された構成である。
 なお、クライアント100のネットワーク遅延帯域幅取得部115はサーバ200側の設定としてもよい。
 クライアント100のネットワーク遅延帯域幅取得部115は、サーバクライアント間の通信ネットワークの帯域幅を計測する。
 クライアント100のクライアント性能取得部116は、クライアントの描画速度性能や演算性能を識別する。
 これらの計測データや識別データが、サーバ200のストリーム切り替え部209に通知される。
 サーバ200のストリーム切り替え部209は、入力情報に応じて最適な方式、すなわち第1実施例の処理、または第2実施例の処理、いずれかの処理を実行するかを切り替えて処理を行う。
 また、コンテンツメタデータベース208には、コンテンツ対応のメタデータ、例えば、
 (a)より高画質が要求されるが、フレームレートは落ちてしまっても良いコンテンツ
 (b)30fpsでの描画が要求されるが、低画質でも良いコンテンツ
 これらのコンテンツ対応のメタデータが格納されている。
 サーバ200のストリーム切り替え部209は、ソウシンコンテンツに対応するメタデータをコンテンツメタデータベース208から取得し、メタデータに応じて、最適な方式、すなわち第1実施例の処理、または第2実施例の処理、いずれかの処理を実行するかを切り替えて処理を行う。
 その他の構成の処理は、実施例1および実施例2において説明した処理と同様の処理となる。
 本実施例においては、第1実施例として説明した処理と、第2実施例として説明した処理を、クライアントの性能や、ネットワークにおいて利用可能な帯域幅、あるいはコンテンツ情報としてのメタデータ等に応じて適応的に切り替えることで、状況に応じた最適な動画配信を可能にする構成が実現される。
  [5.その他の実施例について]
  (a)サーバを利用しない構成について
 上述した各実施例では、仮想画像は、サーバが保持し、サーバからクライアントに対して提供する構成とした実施例を説明した。
 しかし、仮想画像や仮想画像デプスマップからなるコンテンツをクライアント内のメディア、例えばハードディスクやDVD,BD等のディスク型メディア、あるいはフラッシュメモリ等の記憶部に格納し、クライアントのデータ処理部が、記憶部からコンテンツを読み出して、視点対応の仮想画像を選択またはデプスマップを適用して生成してクライアントの表示部に表示する構成としてもよい。
 この場合、上述した実施例におけるサーバ側の処理は、すべてクライアントにおいて実行することになる。
 また、上述した実施例において説明したネットワーク遅延については、考慮する必要がなく、ネットワーク遅延の計測処理や、ネットワーク遅延を考慮した角度範囲の設定は不要となる。
 (b)クライアント処理を軽減した構成について
 さらに、クライアントの処理を軽減した構成として、例えば、第1実施例の処理シーケンスとして説明した図5に示すフローチャート中、クライアントは、ステップS101の画像取得処理と、ステップS113~S114の処理のみを実行し、その他の処理はサーバにおいて実行する構成としてもよい。
 同様に、第2実施例の処理シーケンスとして説明した図18に示すフローチャート中、クライアントは、ステップS101の画像取得処理と、ステップS113~S114の処理のみを実行し、その他の処理はサーバにおいて実行する構成としてもよい。
 すなわち、クライアントは、クライアントで撮影した画像をサーバに送信し、サーバ側において送信画像に基づいてステップS102~S112の全ての処理を実行する。サーバは、クライアントに表示する1つの視点からの画像のみをクライアントに送信し、クライアントは受信画像を撮影画像上に重畳表示する。
 この処理構成とすることで、クライアントの処理負荷が大きく軽減されることになる。
  [6.本開示の構成のまとめ]
 以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
 なお、本明細書において開示した技術は、以下のような構成をとることができる。
 (1) 撮像部で撮像される撮像画像に仮想画像が重畳される映像を表示する表示部を備える端末の空間位置情報を取得する取得部と、
 前記端末の空間位置情報に応じて、前記表示部に前記仮想画像を表示させるための表示情報を特定する特定部と、
 を備える情報処理装置。
 (2)前記情報処理装置は、画像を撮影する撮像部と、前記撮像部の撮影画像を表示する表示部と、サーバから前記仮想画像を受信し、受信した仮想画像を前記表示部に表示された撮影画像に重畳表示する処理を実行するデータ処理部を有し、前記データ処理部は、情報処理装置の動き情報に応じて所定時間後の前記撮像部位置を推定し、推定位置情報を前記サーバに送信し、前記サーバから、前記推定位置から撮影した仮想画像を受信して、受信画像、または受信画像に基づく生成画像を前記表示部に表示する処理を実行する前記(1)に記載の情報処理装置。
 (3)前記データ処理部は、現在時刻Tにおける前記撮像部の位置・姿勢情報と移動情報を適用して、サーバとの通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記撮像部の撮影方向を推定し、前記推定方向を前記推定位置情報として前記サーバに送信する前記(1)または(2)に記載の情報処理装置。
 (4)前記データ処理部は、現在時刻Tにおける前記撮像部の位置・姿勢情報と移動情報を適用して、サーバとの通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記撮像部の撮影方向の確率を算出し、確率の高い範囲の角度範囲を選択し、選択角度範囲に含まれる複数の視点からの仮想画像、または該仮想画像生成用画像とデプスマップを前記サーバから受信する前記(1)~(3)いずれかに記載の情報処理装置。
 (5)前記データ処理部は、前記選択角度範囲において、相対的に前記確率の高い画像を高解像度画像とし、相対的に前記確率の低い画像を低解像度画像として設定した画像データを前記サーバから受信する前記(4)に記載の情報処理装置。
 (6)前記データ処理部は、前記選択角度範囲において、前記確率に大きな差異がない場合、前記選択角度範囲に含まれる複数の視点からの仮想画像を同じ解像度を持つ画像として前記サーバから受信する前記(4)に記載の情報処理装置。
 (7)前記データ処理部は、前記サーバから受信した複数の視点からの仮想画像から、前記仮想画像の表示タイミングにおける前記撮像部の撮影方向に近い視点の仮想画像を選択、または前記仮想画像生成用画像とデプスマップを適用して、前記仮想画像の表示タイミングにおける前記撮像部の撮影方向に近い視点から撮影した仮想画像を生成して前記表示部に表示する前記(4)~(7)いずれかに記載の情報処理装置。
 (8) クライアントとの通信を実行する通信部と、
 前記クライアントの表示部に表示されたクライアント撮像部の撮影画像に重畳表示する仮想画像を選択して送信するデータ処理部を有し、
 前記データ処理部は、
 前記クライアントの動き情報に応じて推定した所定時間後の前記クライアント撮像部位置から撮影した仮想画像、または該仮想画像生成用画像とデプスマップをクライアントに対する送信データとして選択し、クライアントに送信する処理を実行するサーバとしての情報処理装置。
 (9)前記データ処理部は、現在時刻Tにおける前記クライアント撮像部の位置・姿勢情報と移動情報を適用して、サーバクライアント間における通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記クライアント撮像部の撮影方向を推定し、推定方向から撮影した仮想画像、または該仮想画像生成用画像とデプスマップをクライアントに対する送信データとして選択する前記(8)に記載の情報処理装置。
 (10)前記データ処理部は、現在時刻Tにおける前記クライアント撮像部の位置・姿勢情報と移動情報を適用して、サーバクライアント間における通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記クライアント撮像部の撮影方向の確率を算出し、確率の高い範囲の角度範囲を選択し、選択角度範囲に含まれる複数の視点からの仮想画像をクライアントに対する送信データとして選択する前記(8)または(9)に記載の情報処理装置。
 (11)前記データ処理部は、前記選択角度範囲において、相対的に前記確率の高い画像を高解像度画像とし、相対的に前記確率の低い画像を低解像度画像として設定した送信画像データを生成してクライアントに送信する前記(10)に記載の情報処理装置。
 (12) 画像を撮影する撮像部と、
 前記撮像部の撮影画像を表示する表示部と、
 前記表示部に表示された撮影画像に重畳表示する仮想画像であり、異なる複数の視点からオブジェクトを撮影した複数視点対応の仮想画像を格納した記憶部と、
 前記記憶部から前記仮想画像を取得し、取得した仮想画像を前記表示部に表示された撮影画像に重畳表示する処理を実行するデータ処理部を有し、
 前記データ処理部は、
 情報処理装置の動き情報に応じて所定時間後の前記撮像部位置を推定し、
 推定位置から撮影した仮想画像を前記記憶部から選択して表示、または、前記記憶部から取得した仮想画像に基づいて生成して前記表示部に表示する処理を実行する情報処理装置。
 (13)前記記憶部は、
 異なる複数の視点からオブジェクトを撮影した複数視点対応の仮想画像とデプスマップを格納し、前記データ処理部は、前記推定位置から撮影した仮想画像を、前記記憶部から取得した仮想画像とデプスマップを適用して生成して前記表示部に表示する前記(12)に記載の情報処理装置。
 (14)前記データ処理部は、情報処理装置の動き情報に応じて所定時間後の前記撮像部の撮影方向の確率を算出し、高確率の仮想画像を前記記憶部から選択、または、前記記憶部から取得した仮想画像に基づいて生成して前記表示部に表示する処理を実行する前記(12)または(13)に記載の情報処理装置。
 さらに、上記した装置およびシステムにおいて実行する処理の方法や、処理を実行させるプログラムも本開示の構成に含まれる。
 また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
 なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 以上、説明したように、本開示の一実施例の構成によれば、表示部に表示されたカメラ撮影画像に、カメラ撮影方向に応じた自然な仮想画像を重畳表示する構成が実現される。
 具体的には、仮想画像をクライアントに送信するサーバと、カメラ撮影画像とサーバから送信される仮想画像を重畳表示するクライアントを有する。サーバはクライアント(カメラ)の動きに応じて推定した所定時間後のクライアント位置から撮影した仮想画像をクライアントに送信する。サーバ、またはクライアントのいずれかにおいて、現在時刻Tにおけるクライアントの位置・姿勢情報と移動情報を適用して、サーバクライアント間における通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後のクライアントの撮影方向を推定し、推定方向から撮影した仮想画像をクライアントに送信する。
 これらの構成により、クライアントの表示部に表示されたカメラ撮影画像に、カメラ撮影方向に応じた自然な仮想画像を重畳表示する構成が実現される。
  10 ポスター
  11 マーカ
  21,22 ユーザ
  30 クライアント(携帯端末)
  31 仮想画像
 100 クライアント
 101 撮像部(カメラ)
 102 画像認識部
 103 クライアント(カメラ)位置・姿勢算出部
 104 センサ(加速度・ジャイロセンサ)
 105 クライアント移動祖輝度方向算出部
 106 ネットワーク遅延推定部
 107 角度範囲推定部
 108 通信部
 109 コンテンツ選択&重畳位置算出部
 110 デコード部
 111 表示制御部
 112 表示部
 115 ネットワーク遅延帯域幅取得部
 116 クライアント性能取得部
 200 サーバ
 201 コンテンツデータベース
 202 奥行き情報(デプスマップ)生成部
 203 コンテンツ対応奥行き情報(デプスマップ)
 204 中間視点画像生成部
 205 各視点対応コンテンツ
 206 送信画像データ生成部
 207 通信部
 208 コンテンツメタデータベース
 209 ストリーム切り替え部

Claims (20)

  1.  撮像部で撮像される撮像画像に仮想画像が重畳される映像を表示する表示部を備える端末の空間位置情報を取得する取得部と、
     前記端末の空間位置情報に応じて、前記表示部に前記仮想画像を表示させるための表示情報を特定する特定部と、
     を備える情報処理装置。
  2.  前記情報処理装置は、
     画像を撮影する撮像部と、
     前記撮像部の撮影画像を表示する表示部と、
     サーバから前記仮想画像を受信し、受信した仮想画像を前記表示部に表示された撮影画像に重畳表示する処理を実行するデータ処理部を有し、
     前記データ処理部は、
     情報処理装置の動き情報に応じて所定時間後の前記撮像部位置を推定し、推定位置情報を前記サーバに送信し、
     前記サーバから、前記推定位置から撮影した仮想画像、または該仮想画像生成用画像とデプスマップを受信して、受信画像、または受信画像に基づく生成画像を前記表示部に表示する処理を実行する請求項1に記載の情報処理装置。
  3.  前記データ処理部は、
     現在時刻Tにおける前記撮像部の位置・姿勢情報と移動情報を適用して、サーバとの通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記撮像部の撮影方向を推定し、前記推定方向を前記推定位置情報として前記サーバに送信する請求項2に記載の情報処理装置。
  4.  前記データ処理部は、
     現在時刻Tにおける前記撮像部の位置・姿勢情報と移動情報を適用して、サーバとの通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記撮像部の撮影方向の確率を算出し、確率の高い範囲の角度範囲を選択し、選択角度範囲に含まれる複数の視点からの仮想画像、または該仮想画像生成用画像とデプスマップを前記サーバから受信する請求項2に記載の情報処理装置。
  5.  前記データ処理部は、
     前記選択角度範囲において、相対的に前記確率の高い画像を高解像度画像とし、相対的に前記確率の低い画像を低解像度画像として設定した画像データを前記サーバから受信する請求項4に記載の情報処理装置。
  6.  前記データ処理部は、
     前記選択角度範囲において、前記確率に大きな差異がない場合、前記選択角度範囲に含まれる複数の視点からの仮想画像を同じ解像度を持つ画像として前記サーバから受信する請求項4に記載の情報処理装置。
  7.  前記データ処理部は、
     前記サーバから受信した複数の視点からの仮想画像から、前記仮想画像の表示タイミングにおける前記撮像部の撮影方向に近い視点の仮想画像を選択、
     または前記仮想画像生成用画像とデプスマップを適用して、前記仮想画像の表示タイミングにおける前記撮像部の撮影方向に近い視点から撮影した仮想画像を生成して前記表示部に表示する請求項4に記載の情報処理装置。
  8.  クライアントとの通信を実行する通信部と、
     前記クライアントの表示部に表示されたクライアント撮像部の撮影画像に重畳表示する仮想画像を選択して送信するデータ処理部を有し、
     前記データ処理部は、
     前記クライアントの動き情報に応じて推定した所定時間後の前記クライアント撮像部位置から撮影した仮想画像、または該仮想画像生成用画像とデプスマップをクライアントに対する送信データとして選択し、クライアントに送信する処理を実行するサーバとしての情報処理装置。
  9.  前記データ処理部は、
     現在時刻Tにおける前記クライアント撮像部の位置・姿勢情報と移動情報を適用して、サーバクライアント間における通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記クライアント撮像部の撮影方向を推定し、推定方向から撮影した仮想画像、または該仮想画像生成用画像とデプスマップをクライアントに対する送信データとして選択する請求項8に記載の情報処理装置。
  10.  前記データ処理部は、
     現在時刻Tにおける前記クライアント撮像部の位置・姿勢情報と移動情報を適用して、サーバクライアント間における通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記クライアント撮像部の撮影方向の確率を算出し、確率の高い範囲の角度範囲を選択し、選択角度範囲に含まれる複数の視点からの仮想画像をクライアントに対する送信データとして選択する請求項8に記載の情報処理装置。
  11.  前記データ処理部は、
     前記選択角度範囲において、相対的に前記確率の高い画像を高解像度画像とし、相対的に前記確率の低い画像を低解像度画像として設定した送信画像データを生成してクライアントに送信する請求項10に記載の情報処理装置。
  12.  画像を撮影する撮像部と、
     前記撮像部の撮影画像を表示する表示部と、
     前記表示部に表示された撮影画像に重畳表示する仮想画像であり、異なる複数の視点からオブジェクトを撮影した複数視点対応の仮想画像を格納した記憶部と、
     前記記憶部から前記仮想画像を取得し、取得した仮想画像を前記表示部に表示された撮影画像に重畳表示する処理を実行するデータ処理部を有し、
     前記データ処理部は、
     情報処理装置の動き情報に応じて所定時間後の前記撮像部位置を推定し、
     推定位置から撮影した仮想画像を前記記憶部から選択して表示、または、前記記憶部から取得した仮想画像に基づいて生成して前記表示部に表示する処理を実行する情報処理装置。
  13.  前記記憶部は、
     異なる複数の視点からオブジェクトを撮影した複数視点対応の仮想画像とデプスマップを格納し、
     前記データ処理部は、
     前記推定位置から撮影した仮想画像を、前記記憶部から取得した仮想画像とデプスマップを適用して生成して前記表示部に表示する請求項12に記載の情報処理装置。
  14.  前記データ処理部は、
     情報処理装置の動き情報に応じて所定時間後の前記撮像部の撮影方向の確率を算出し、高確率の仮想画像を前記記憶部から選択、または、前記記憶部から取得した仮想画像に基づいて生成して前記表示部に表示する処理を実行する請求項12に記載の情報処理装置。
  15.  情報処理装置において実行する情報処理方法であり、
     前記情報処理装置は、
     クライアントとの通信を実行する通信部と、
     前記クライアントの表示部に表示されたクライアント撮像部の撮影画像に重畳表示する仮想画像を選択して送信するデータ処理部を有し、
     前記データ処理部は、
     前記クライアントの動き情報に応じて推定した所定時間後の前記クライアント撮像部位置から撮影した仮想画像、または該仮想画像生成用画像とデプスマップをクライアントに対する送信データとして選択し、クライアントに送信する処理を実行する情報処理方法。
  16.  情報処理装置において実行する情報処理方法であり、
     データ処理部が、撮像部で撮像される撮像画像に仮想画像が重畳される映像を表示する表示部を備える端末の空間位置情報を取得する取得処理と、
     データ処理部が、前記端末の空間位置情報に応じて、前記表示部に前記仮想画像を表示させるための表示情報を特定する特定処理を実行する情報処理方法。
  17.  情報処理装置において実行する情報処理方法であり、
     前記情報処理装置は、
     画像を撮影する撮像部と、
     前記撮像部の撮影画像を表示する表示部と、
     前記表示部に表示された撮影画像に重畳表示する仮想画像であり、異なる複数の視点からオブジェクトを撮影した複数視点対応の仮想画像を格納した記憶部と、
     前記記憶部から前記仮想画像を取得し、取得した仮想画像を前記表示部に表示された撮影画像に重畳表示する処理を実行するデータ処理部を有し、
     前記データ処理部は、
     情報処理装置の動き情報に応じて所定時間後の前記撮像部位置を推定し、
     推定位置から撮影した仮想画像を前記記憶部から選択して表示、または、前記記憶部から取得した仮想画像に基づいて生成して前記表示部に表示する処理を実行する情報処理方法。
  18.  情報処理装置において情報処理を実行させるプログラムであり、
     前記情報処理装置は、
     クライアントとの通信を実行する通信部と、
     前記クライアントの表示部に表示されたクライアント撮像部の撮影画像に重畳表示する仮想画像を選択して送信するデータ処理部を有し、
     前記プログラムは、前記データ処理部に、
     前記クライアントの動き情報に応じて推定した所定時間後の前記クライアント撮像部位置から撮影した仮想画像、または該仮想画像生成用画像とデプスマップをクライアントに対する送信データとして選択させ、クライアントに送信する処理を実行させるプログラム。
  19.  情報処理装置において情報処理を実行させるプログラムであり、
     データ処理部に、撮像部で撮像される撮像画像に仮想画像が重畳される映像を表示する表示部を備える端末の空間位置情報を取得する取得処理と、
     データ処理部が、前記端末の空間位置情報に応じて、前記表示部に前記仮想画像を表示させるための表示情報を特定する特定処理を実行させる.プログラム。
  20.  情報処理装置において情報処理を実行させるプログラムであり、
     前記情報処理装置は、
     画像を撮影する撮像部と、
     前記撮像部の撮影画像を表示する表示部と、
     前記表示部に表示された撮影画像に重畳表示する仮想画像であり、異なる複数の視点からオブジェクトを撮影した複数視点対応の仮想画像を格納した記憶部と、
     前記記憶部から前記仮想画像を取得し、取得した仮想画像を前記表示部に表示された撮影画像に重畳表示する処理を実行するデータ処理部を有し、
     前記プログラムは、前記データ処理部に、
     情報処理装置の動き情報に応じて所定時間後の前記撮像部位置を推定し、推定位置から撮影した仮想画像を前記記憶部から選択して表示、または、前記記憶部から取得した仮想画像に基づいて生成して前記表示部に表示する処理を実行させるプログラム。
PCT/JP2013/061995 2012-06-12 2013-04-24 情報処理装置、および情報処理方法、並びにプログラム WO2013187129A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201380029803.3A CN104364754A (zh) 2012-06-12 2013-04-24 信息处理设备、信息处理方法及程序
JP2014520999A JP6131950B2 (ja) 2012-06-12 2013-04-24 情報処理装置、および情報処理方法、並びにプログラム
US14/405,300 US9773333B2 (en) 2012-06-12 2013-04-24 Information processing device, information processing method, and program
BR112014030593A BR112014030593A2 (pt) 2012-06-12 2013-04-24 dispositivo de processamento de informação, método de processamento de informação, e, programa
EP13803468.1A EP2860606B1 (en) 2012-06-12 2013-04-24 Information processing device, information processing method, and program for an augmented reality display
IN10335DEN2014 IN2014DN10335A (ja) 2012-06-12 2014-12-04

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012133319 2012-06-12
JP2012-133319 2012-06-12

Publications (1)

Publication Number Publication Date
WO2013187129A1 true WO2013187129A1 (ja) 2013-12-19

Family

ID=49757964

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/061995 WO2013187129A1 (ja) 2012-06-12 2013-04-24 情報処理装置、および情報処理方法、並びにプログラム

Country Status (7)

Country Link
US (1) US9773333B2 (ja)
EP (1) EP2860606B1 (ja)
JP (1) JP6131950B2 (ja)
CN (1) CN104364754A (ja)
BR (1) BR112014030593A2 (ja)
IN (1) IN2014DN10335A (ja)
WO (1) WO2013187129A1 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015228009A (ja) * 2014-06-03 2015-12-17 セイコーエプソン株式会社 頭部装着型表示装置、頭部装着型表示装置の制御方法、情報送受信システム、および、コンピュータープログラム
JP2016536712A (ja) * 2014-08-12 2016-11-24 シャオミ・インコーポレイテッド 天気表示方法、装置、プログラム及び記録媒体
WO2017043795A1 (ko) * 2015-09-08 2017-03-16 클릭트 주식회사 가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램
KR101788545B1 (ko) * 2017-03-06 2017-10-20 클릭트 주식회사 가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램
KR20190064649A (ko) * 2016-10-28 2019-06-10 캐논 가부시끼가이샤 화상 처리 장치, 화상 처리 시스템, 화상 처리 방법 및 기억 매체
WO2020015611A1 (zh) * 2018-07-20 2020-01-23 广东虚拟现实科技有限公司 虚拟内容的交互显示方法、终端设备及存储介质
JP2020095645A (ja) * 2018-12-14 2020-06-18 ヤフー株式会社 表示プログラム、表示装置および表示方法
JP2020095602A (ja) * 2018-12-14 2020-06-18 ヤフー株式会社 表示プログラム、表示装置および表示方法
CN111670464A (zh) * 2017-12-01 2020-09-15 科理特株式会社 利用深度数据的增强现实影像提供方法以及程序
JP2021114216A (ja) * 2020-01-21 2021-08-05 Kddi株式会社 情報システム、端末、サーバ及びプログラム
JP2022501685A (ja) * 2018-06-26 2022-01-06 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. シーンの画像を生成するための装置および方法

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2891068A4 (en) * 2012-08-31 2016-01-20 Hewlett Packard Development Co ACTIVE REGIONS OF AN IMAGE COMPRISING ACCESSIBLE LINKS
US10712898B2 (en) 2013-03-05 2020-07-14 Fasetto, Inc. System and method for cubic graphical user interfaces
US9753553B2 (en) * 2013-07-03 2017-09-05 Sony Interactive Entertainment America Llc Systems, methods, and computer-readable media for generating computer-mediated reality display data
ES2684300T3 (es) * 2013-07-18 2018-10-02 Fasetto, L.L.C. Sistema y método de vídeos de múltiples ángulos
US10095873B2 (en) 2013-09-30 2018-10-09 Fasetto, Inc. Paperless application
JP2015076010A (ja) * 2013-10-10 2015-04-20 富士通株式会社 端末装置、シンクライアントシステム、表示方法および表示プログラム
US10311595B2 (en) * 2013-11-19 2019-06-04 Canon Kabushiki Kaisha Image processing device and its control method, imaging apparatus, and storage medium
US9584402B2 (en) 2014-01-27 2017-02-28 Fasetto, Llc Systems and methods for peer to peer communication
US9787799B2 (en) 2014-02-27 2017-10-10 Dropbox, Inc. Systems and methods for managing content items having multiple resolutions
KR20150101915A (ko) * 2014-02-27 2015-09-04 삼성전자주식회사 3차원 gui 화면의 표시 방법 및 이를 수행하기 위한 디바이스
US10885104B2 (en) * 2014-02-27 2021-01-05 Dropbox, Inc. Systems and methods for selecting content items to store and present locally on a user device
JP5901680B2 (ja) * 2014-04-04 2016-04-13 株式会社デジタル 携帯端末装置および表示装置
US10600245B1 (en) 2014-05-28 2020-03-24 Lucasfilm Entertainment Company Ltd. Navigating a virtual environment of a media content item
CN113222558A (zh) 2014-07-10 2021-08-06 法斯埃托股份有限公司 用于消息编辑的***和方法
NZ730674A (en) 2014-10-06 2021-07-30 Fasetto Inc Systems and methods for portable storage devices
US10437288B2 (en) 2014-10-06 2019-10-08 Fasetto, Inc. Portable storage device with modular power and housing system
KR102235707B1 (ko) * 2015-01-29 2021-04-02 한국전자통신연구원 콘텐츠 부가 정보 제공 방법 및 모바일 단말 및 콘텐츠 제어 서버
EP3269124B1 (en) 2015-03-11 2020-05-06 Fasetto, Inc. Method and device for web api communications
CN106162117B (zh) * 2015-04-10 2019-04-16 北京智谷睿拓技术服务有限公司 显示控制方法和装置
TWI547177B (zh) * 2015-08-11 2016-08-21 晶睿通訊股份有限公司 視角切換方法及其攝影機
US9928655B1 (en) * 2015-08-31 2018-03-27 Amazon Technologies, Inc. Predictive rendering of augmented reality content to overlay physical structures
US10962780B2 (en) * 2015-10-26 2021-03-30 Microsoft Technology Licensing, Llc Remote rendering for virtual images
US10198355B2 (en) 2015-10-29 2019-02-05 Dropbox, Inc. Proving a dynamic digital content cache
JP6515787B2 (ja) * 2015-11-02 2019-05-22 富士通株式会社 仮想デスクトッププログラム、仮想デスクトップ処理方法、および仮想デスクトップシステム
WO2017096245A1 (en) 2015-12-03 2017-06-08 Fasetto, Llc Systems and methods for memory card emulation
US10375353B2 (en) * 2015-12-11 2019-08-06 Sony Corporation Information processing apparatus, information processing method, and program
WO2017127190A1 (en) * 2016-01-21 2017-07-27 Google Inc. Global command interface for a hybrid display, corresponding method, and head mounted display
US9600939B1 (en) * 2016-05-19 2017-03-21 Augmently, LLC Augmented reality platform using captured footage from multiple angles
CN106101684A (zh) * 2016-06-30 2016-11-09 深圳市虚拟现实科技有限公司 远程全景图像实时传输和流畅显示的方法
JP7104701B2 (ja) 2016-11-23 2022-07-21 ファセット・インコーポレーテッド メディア・ストリーミング・システムおよび方法
CN110461658A (zh) 2017-02-03 2019-11-15 法斯埃托股份有限公司 用于钥匙化设备中的数据存储的***和方法
CN107592520B (zh) * 2017-09-29 2020-07-10 京东方科技集团股份有限公司 Ar设备的成像装置及成像方法
WO2019079628A1 (en) 2017-10-19 2019-04-25 Fasetto, Inc. PORTABLE ELECTRONIC DEVICE CONNECTING SYSTEMS
AU2018374384A1 (en) 2017-12-01 2020-07-23 Fasetto, Inc. Systems and methods for improved data encryption
CN109932926A (zh) * 2017-12-19 2019-06-25 帝斯贝思数字信号处理和控制工程有限公司 低延时的用于图像处理***的试验台
CN108108023B (zh) * 2018-01-02 2021-02-19 联想(北京)有限公司 一种显示方法和显示***
CA3097610A1 (en) 2018-04-17 2019-10-24 Fasetto, Inc. Device presentation with real-time feedback
CN109298781B (zh) * 2018-08-28 2020-11-06 百度在线网络技术(北京)有限公司 基于ar的留言处理方法、装置、设备及计算机存储介质
US10983677B2 (en) 2018-11-16 2021-04-20 Dropbox, Inc. Prefetching digital thumbnails from remote servers to client devices based on a dynamic determination of file display criteria
CN111385627B (zh) * 2018-12-29 2022-12-02 中兴通讯股份有限公司 一种增强现实设备及其控制方法、计算机可读存储介质
CN110139028B (zh) * 2019-03-25 2020-07-07 华为技术有限公司 一种图像处理的方法及头戴式显示设备
US11582537B2 (en) * 2019-10-14 2023-02-14 Inscape Data, Inc. Dynamic content serving using a media device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172621A (ja) * 2005-12-23 2007-07-05 Metaio Gmbh 拡張現実感システムにおける不正確情報を決定する方法及びシステム
JP2010191607A (ja) * 2009-02-17 2010-09-02 Hitachi Ltd 画像生成表示方法、画像生成表示システム、サーバ装置および画像表示端末
JP2011043419A (ja) 2009-08-21 2011-03-03 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
WO2011036761A1 (ja) * 2009-09-25 2011-03-31 株式会社東芝 多視点画像生成方法および装置
JP2012058838A (ja) 2010-09-06 2012-03-22 Sony Corp 画像処理装置、プログラム及び画像処理方法
JP2012108842A (ja) * 2010-11-19 2012-06-07 Konica Minolta Holdings Inc 表示システム、表示処理装置、表示方法、および表示プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085409B2 (en) * 2000-10-18 2006-08-01 Sarnoff Corporation Method and apparatus for synthesizing new video and/or still imagery from a collection of real video and/or still imagery
US7020463B2 (en) * 2001-03-09 2006-03-28 The Directv Group, Inc. Methodology for mobile user terminals in broadband systems
US7962637B2 (en) * 2006-11-03 2011-06-14 Apple Computer, Inc. Dynamic adjustments of video streams
KR101096392B1 (ko) * 2010-01-29 2011-12-22 주식회사 팬택 증강 현실 제공 시스템 및 방법
JP5243477B2 (ja) * 2010-04-13 2013-07-24 パナソニック株式会社 ブラー補正装置およびブラー補正方法
KR101572892B1 (ko) * 2010-05-06 2015-11-30 엘지전자 주식회사 이동 단말기 및 이것의 영상 디스플레이 방법
KR101260576B1 (ko) * 2010-10-13 2013-05-06 주식회사 팬택 Ar 서비스를 제공하기 위한 사용자 단말기 및 그 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172621A (ja) * 2005-12-23 2007-07-05 Metaio Gmbh 拡張現実感システムにおける不正確情報を決定する方法及びシステム
JP2010191607A (ja) * 2009-02-17 2010-09-02 Hitachi Ltd 画像生成表示方法、画像生成表示システム、サーバ装置および画像表示端末
JP2011043419A (ja) 2009-08-21 2011-03-03 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
WO2011036761A1 (ja) * 2009-09-25 2011-03-31 株式会社東芝 多視点画像生成方法および装置
JP2012058838A (ja) 2010-09-06 2012-03-22 Sony Corp 画像処理装置、プログラム及び画像処理方法
JP2012108842A (ja) * 2010-11-19 2012-06-07 Konica Minolta Holdings Inc 表示システム、表示処理装置、表示方法、および表示プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2860606A4

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10102627B2 (en) 2014-06-03 2018-10-16 Seiko Epson Corporation Head-mounted display device, method of controlling a head-mounted display device, an information transmitting and receiving system, and a non-transitory computer readable medium for augmenting visually recognized outside scenery
JP2015228009A (ja) * 2014-06-03 2015-12-17 セイコーエプソン株式会社 頭部装着型表示装置、頭部装着型表示装置の制御方法、情報送受信システム、および、コンピュータープログラム
JP2016536712A (ja) * 2014-08-12 2016-11-24 シャオミ・インコーポレイテッド 天気表示方法、装置、プログラム及び記録媒体
US10970931B2 (en) 2015-09-08 2021-04-06 Clicked Inc. Method for transmitting virtual reality image created based on image direction data, and computer readable medium storing program using the same
WO2017043795A1 (ko) * 2015-09-08 2017-03-16 클릭트 주식회사 가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램
KR20190064649A (ko) * 2016-10-28 2019-06-10 캐논 가부시끼가이샤 화상 처리 장치, 화상 처리 시스템, 화상 처리 방법 및 기억 매체
KR102364052B1 (ko) 2016-10-28 2022-02-18 캐논 가부시끼가이샤 화상 처리 시스템, 화상 처리 방법 및 기억 매체
KR102083767B1 (ko) * 2016-10-28 2020-03-02 캐논 가부시끼가이샤 화상 처리 장치, 화상 처리 시스템, 화상 처리 방법 및 기억 매체
US11128813B2 (en) 2016-10-28 2021-09-21 Canon Kabushiki Kaisha Image processing apparatus, image processing system, image processing method, and storage medium
KR20210068629A (ko) * 2016-10-28 2021-06-09 캐논 가부시끼가이샤 화상 처리 시스템, 화상 처리 방법 및 기억 매체
KR101788545B1 (ko) * 2017-03-06 2017-10-20 클릭트 주식회사 가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램
CN111670464A (zh) * 2017-12-01 2020-09-15 科理特株式会社 利用深度数据的增强现实影像提供方法以及程序
JP2021510442A (ja) * 2017-12-01 2021-04-22 クリックト インコーポレイテッドClicked Inc. 深度データを用いた拡張現実画像提供方法及びプログラム
JP7110378B2 (ja) 2017-12-01 2022-08-01 クリックト インコーポレイテッド 深度データを用いた拡張現実画像提供方法及びプログラム
CN111670464B (zh) * 2017-12-01 2024-02-20 科理特株式会社 利用深度数据的增强现实影像提供方法以及程序
JP2022501685A (ja) * 2018-06-26 2022-01-06 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. シーンの画像を生成するための装置および方法
JP7401472B2 (ja) 2018-06-26 2023-12-19 コーニンクレッカ フィリップス エヌ ヴェ シーンの画像を生成するための装置および方法
US10977869B2 (en) 2018-07-20 2021-04-13 Guangdong Virtual Reality Technology Co., Ltd. Interactive method and augmented reality system
WO2020015611A1 (zh) * 2018-07-20 2020-01-23 广东虚拟现实科技有限公司 虚拟内容的交互显示方法、终端设备及存储介质
JP2020095602A (ja) * 2018-12-14 2020-06-18 ヤフー株式会社 表示プログラム、表示装置および表示方法
JP2020095645A (ja) * 2018-12-14 2020-06-18 ヤフー株式会社 表示プログラム、表示装置および表示方法
JP2021114216A (ja) * 2020-01-21 2021-08-05 Kddi株式会社 情報システム、端末、サーバ及びプログラム
JP7290584B2 (ja) 2020-01-21 2023-06-13 Kddi株式会社 情報システム、端末、サーバ及びプログラム

Also Published As

Publication number Publication date
EP2860606A4 (en) 2015-12-16
US9773333B2 (en) 2017-09-26
EP2860606B1 (en) 2018-01-10
IN2014DN10335A (ja) 2015-08-07
JPWO2013187129A1 (ja) 2016-02-04
EP2860606A1 (en) 2015-04-15
JP6131950B2 (ja) 2017-05-24
BR112014030593A2 (pt) 2017-06-27
CN104364754A (zh) 2015-02-18
US20150145889A1 (en) 2015-05-28

Similar Documents

Publication Publication Date Title
JP6131950B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
US11303881B2 (en) Method and client for playing back panoramic video
US20220174252A1 (en) Selective culling of multi-dimensional data sets
US11706403B2 (en) Positional zero latency
US10341632B2 (en) Spatial random access enabled video system with a three-dimensional viewing volume
EP3459252B1 (en) Method and apparatus for spatial enhanced adaptive bitrate live streaming for 360 degree video playback
JP6410918B2 (ja) パノラマ映像コンテンツの再生に使用するシステム及び方法
CN111627116B (zh) 图像渲染控制方法、装置及服务器
US20190289055A1 (en) Method and system for interactive transmission of panoramic video
US9838687B1 (en) Apparatus and method for panoramic video hosting with reduced bandwidth streaming
US20120293613A1 (en) System and method for capturing and editing panoramic images
KR102492565B1 (ko) 가상 현실 미디어 컨텐츠의 패키징 및 스트리밍을 위한 방법 및 장치
WO2018064331A1 (en) Streaming volumetric video for six degrees of freedom virtual reality
US9654762B2 (en) Apparatus and method for stereoscopic video with motion sensors
US11882267B2 (en) Adapting video images for wearable devices
CN102984560B (zh) 从断点处播放视频的方法和设备
CN107592549B (zh) 基于双向通信的全景视频播放拍照***
CN107707830B (zh) 基于单向通信的全景视频播放拍照***
EP2936806B1 (en) Realistic point of view video method and apparatus
US20230222754A1 (en) Interactive video playback techniques to enable high fidelity magnification
US10783609B2 (en) Method and apparatus for processing video information
CN117440175A (zh) 用于视频传输的方法、装置、***、设备和介质
CN116137954A (zh) 信息处理设备、信息处理方法和信息处理***
CN117440176A (zh) 用于视频传输的方法、装置、设备和介质
JP2005303769A (ja) 動画像受信表示方法,動画像送信方法,動画像受信表示装置,動画像送信装置,動画像受信表示プログラム,動画像送信プログラムおよびそれらのプログラム記録媒体

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13803468

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014520999

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2013803468

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 14405300

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2014149156

Country of ref document: RU

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112014030593

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112014030593

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20141205