WO2022049908A1 - 表示処理装置、表示処理方法、記憶媒体、および情報処理装置 - Google Patents
表示処理装置、表示処理方法、記憶媒体、および情報処理装置 Download PDFInfo
- Publication number
- WO2022049908A1 WO2022049908A1 PCT/JP2021/026943 JP2021026943W WO2022049908A1 WO 2022049908 A1 WO2022049908 A1 WO 2022049908A1 JP 2021026943 W JP2021026943 W JP 2021026943W WO 2022049908 A1 WO2022049908 A1 WO 2022049908A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- display
- display area
- data
- time
- slice
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 92
- 230000010365 information processing Effects 0.000 title claims abstract description 11
- 238000003672 processing method Methods 0.000 title claims abstract description 7
- 230000005540 biological transmission Effects 0.000 claims abstract description 21
- 230000033001 locomotion Effects 0.000 claims description 31
- 230000001934 delay Effects 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 40
- 238000000034 method Methods 0.000 description 36
- 210000003128 head Anatomy 0.000 description 29
- 230000008569 process Effects 0.000 description 22
- 230000009466 transformation Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 18
- 210000005252 bulbus oculi Anatomy 0.000 description 17
- 230000006870 function Effects 0.000 description 13
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 11
- 210000001508 eye Anatomy 0.000 description 7
- 238000003780 insertion Methods 0.000 description 7
- 230000037431 insertion Effects 0.000 description 7
- 238000010295 mobile communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000001131 transforming effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000001771 impaired effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000004904 shortening Methods 0.000 description 3
- 230000001629 suppression Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000008602 contraction Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 210000001747 pupil Anatomy 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/001—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/194—Transmission of image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
- H04N13/344—Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/366—Image reproducers using viewer tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/66—Transforming electric information into light information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/02—Improving the quality of display appearance
- G09G2320/0261—Improving the quality of display appearance in the context of movement of objects on the screen or movement of the observer relative to the screen
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0464—Positioning
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2354/00—Aspects of interface with display user
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/02—Networking aspects
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/16—Use of wireless transmission of display information
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control 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/363—Graphics controllers
Definitions
- This disclosure relates to a display processing device, a display processing method, a storage medium, and an information processing device.
- AR Augmented Reality
- VR Virtual Reality
- HMD Head Mounted Display
- an optical transmission type HMD can be mentioned.
- a non-transparent HMD that covers the user's field of view with a display unit can be mentioned in order to further enhance the immersive feeling.
- Patent Document 1 when a virtual object is superimposed and displayed in a real space by an optical transmission type HMD, a user wearing the HMD or an object in the real space is displayed. It is described that by following the position and posture of the virtual object to the movement, the discomfort due to the deviation of the display position of the virtual object with respect to the real space is reduced.
- the present disclosure proposes a display processing device, a display processing method, a storage medium, and an information processing device capable of reducing a delay in receiving and displaying data of a virtual object generated by an external device. ..
- data in a transmission unit that transmits the first operation information of a mobile terminal to an external device and a first display area of a virtual object drawn by the external device based on the first operation information. Is received at the first time, and the data in the second display area adjacent to the first display area of the virtual object drawn by the external device based on the first operation information is obtained. After displaying the received data of the receiving unit received at the second time after the first time and the received data of the first display area, the data of the second display area is combined with the data of the first display area.
- a display processing device including a display control unit that controls display on the display device of the mobile terminal as one frame.
- the processor transmits the first operation information of the mobile terminal to the external device, and the first display area of the virtual object drawn by the external device based on the first operation information.
- Data is received at the first time, and data in a second display area adjacent to the first display area of the virtual object drawn based on the first operation information by the external device. Is received at a second time after the first time, and after displaying the received data in the first display area, the data in the second display area is displayed in the first display area.
- a display processing method including controlling the display of the data as one frame on the display device of the mobile terminal.
- the computer has a transmission unit that transmits the first operation information of the mobile terminal to an external device, and a first display of a virtual object drawn by the external device based on the first operation information.
- the data of the area is received at the first time, and the data of the second display area adjacent to the first display area of the virtual object drawn based on the first operation information by the external device is obtained.
- the data of the second display area is displayed in the first display area.
- data in a receiving unit that receives the first operation information of a mobile terminal and a first display area of a virtual object drawn as a part of one frame based on the first operation information. Is transmitted to the display processing device that controls the display of the data in the first display area on the display device of the mobile terminal at the first time, and based on the first operation information, the first After drawing the data in the display area, the data in the second display area adjacent to the first display area of the virtual object drawn as another part of the one frame is displayed after the first time.
- an information processing apparatus including a transmission unit that transmits to the display processing apparatus at the second time of the above.
- FIG. 1 is a diagram showing a configuration of a display processing system according to an embodiment of the present disclosure.
- the display processing system according to the embodiment of the present disclosure includes a mobile terminal 10 and a server 20.
- the mobile terminal 10 and the server 20 communicate with each other via the network 30 to send and receive data.
- the network 30 assumes the Internet including wireless or wired (for example, 5G (5th generation mobile communication system)).
- wireless or wired for example, 5G (5th generation mobile communication system)
- short-range wireless communication such as Wi-Fi (registered trademark) or wired (USB cable or the like) is assumed.
- the mobile terminal 10 is an example of an information processing terminal that controls the display of virtual objects in VR or AR.
- the mobile terminal 10 is realized by, for example, an HMD worn on the user's head, a wearable device such as a smartphone, a tablet terminal, or a glasses-type display device.
- the mobile terminal 10 receives the display data of the virtual object from the server 20 and controls the display on the display unit 160 of the mobile terminal 10.
- the server 20 is an example of an information processing device that generates display data of a virtual object in VR or AR. Specifically, the server 20 receives position and posture information from the mobile terminal 10, draws a virtual object based on the received position and posture information, and transmits the drawing result to the mobile terminal 10.
- the server 20 continues to send image data (data of the drawing result of the virtual object) to the mobile terminal 10, it may be assumed that a data link layer that can secure a band is used. Further, since the transmission from the mobile terminal 10 to the server 20 has a small amount of data and is greatly affected by the communication delay, a data link layer with a lower delay may be assumed. For example, when the server 20 is a cloud server and 5G is used for the network 30, transmission from the server 20 to the mobile terminal 10 uses eMBB (high-speed large capacity: enhancedMobile Broadband), and the mobile terminal 10 to the server 20.
- URLLC Ultra-Reliable and Low Latency Communications
- the server 20 can be carried by a user wearing a mobile terminal 10 (for example, HMD) such as a smartphone or a notebook PC, Bluetooth (registered trademark) or Wi-Fi (registered trademark) may be used for the network 30.
- a wired connection such as USB or Gigabit Ethernet may be used.
- the mobile terminal 10 includes a control unit 100, a sensor unit 110, a communication unit 120, a clock signal generation unit 130, a time stamp counter 140, a storage unit 150, and a display unit 160.
- the communication unit 120 communicates with the server 20 which is an external device via the network 30 by wire or wirelessly, and transmits / receives data. For example, the communication unit 120 transmits the position / attitude information of the mobile terminal 10. Further, the communication unit 120 receives the data of the drawing result of the virtual object from the server 20.
- the communication unit 120 is, for example, a wired / wireless LAN (Local Area Network), Wi-Fi (registered trademark), Bluetooth (registered trademark), a mobile communication network (LTE (Long Term Evolution)), 3G (third generation mobile). (Body communication method), 4G (4th generation mobile communication method), 5G (5th generation mobile communication method), and the like.
- the communication unit 120 may have a function of packetizing the data to be transmitted according to the communication protocol and transmitting it to the server 20 under the control of the control unit 100. Further, the communication unit 120 may have a function of distributing the packet sent according to the communication protocol to the delivery destination in the mobile terminal 10. The communication unit 120 can receive the clock signal from the server 20 for time synchronization as well as the data of the drawing result of the virtual object.
- the sensor unit 110 is various sensors that detect the operation information of the mobile terminal 10.
- the sensor unit 11 may be a camera or an IMU (Inertial Measurement Unit). More specifically, the sensor unit 110 acquires sensing data for estimating the head position posture and the eyeball position posture of the user who uses the mobile terminal 10. For example, when the mobile terminal 10 is realized by the HMD and is attached to the user's head, the position and posture of the mobile terminal 10 is estimated to be the position and posture of the user's head.
- the eyeball position / posture is detected by a sensor (camera, infrared sensor, etc.) fixed in the user's eyeball direction inside the HMD.
- the control unit 100 functions as an arithmetic processing unit and a control device, and controls the overall operation in the mobile terminal 10 according to various programs.
- the control unit 100 is realized by an electronic circuit such as a CPU (Central Processing Unit) or a microprocessor. Further, the control unit 100 may include a ROM (Read Only Memory) for storing programs to be used, calculation parameters, and the like, and a RAM (Random Access Memory) for temporarily storing parameters and the like that change as appropriate.
- ROM Read Only Memory
- RAM Random Access Memory
- the control unit 100 is a display processing device that also functions as a position / orientation estimation unit 101, a data decoding unit 102, an image deformation unit 103, a position / orientation prediction unit 104, and a display control unit 105.
- the position / posture estimation unit 101 estimates the position / posture of the user based on various sensing data detected by the sensor unit 110.
- the position / posture estimation unit 101 has a so-called Head Tracker function that estimates the position / posture of the user's head based on the camera image acquired by the sensor unit 110 and the sensing data of the IMU. Have.
- the position and posture of the head may be the position and posture on the coordinate system defined with respect to the surrounding real space.
- the Head Tracker is a combination of an outside-in method that uses a sensor installed outside and an inside-out method that uses a sensor mounted on the device itself (mobile terminal 10 (HMD)) that you want to measure.
- the position / posture estimation unit 101 is a so-called Eye Tracker that estimates the position / posture of the user's eyeball (position of pupil, iris, etc.) based on the infrared camera image of the user's eye acquired by the sensor unit 110. It also has a function.
- the position and orientation of the user's eyeball is one of the line-of-sight information, and the Eye Tracker may further estimate the gazing point (coordinates) on the display screen of the display unit 160.
- the sensor unit 110 continuously performs sensing, and the control unit 100 continuously transmits the position / attitude information (an example of the first operation information) estimated by the position / attitude estimation unit 101 from the communication unit 120 to the server 20.
- the image generation unit 201 which will be described later, performs drawing processing of a virtual object based on the position / orientation information (first operation information) received from the mobile terminal 10, and transmits the drawing result data to the mobile terminal 10. do.
- the transmitted data is encoded by the data coding unit 203 described later.
- the data decoding unit 102 decodes the drawing result data (including the image data of the virtual object) transmitted from the server 20, and outputs the decoded data to the image transformation unit 103.
- the image deformation unit 103 inputs the output from the data decoding unit 102 (including the image data of the virtual object) and the prediction result based on the latest position / attitude information (an example of the second operation information) by the position / attitude prediction unit 104.
- the image is transformed so that the virtual object appears to be localized at a more correct position.
- delay compensation can be performed by performing image deformation on the image data of the virtual object received from the server 20 using the prediction result of the position / orientation information.
- the result of the image deformation is output as a pixel sequence to the display unit 160 realized by the scanning display. The details of the image deformation will be described later.
- the position / attitude prediction unit 104 predicts the position / attitude information after a predetermined time based on the latest position / attitude information (an example of the second motion information) estimated by the position / attitude estimation unit 101. After a predetermined time, the estimated display time on the display unit 160 of the slice to be image-transformed using the prediction is assumed. For example, the position / posture prediction unit 104 uses the head position / posture information w T h (t h ) estimated by the position / posture estimation unit 101 at time t h , and the head position / posture information w T at future time t. Calculate h (t).
- the position / posture prediction unit 104 is based on the eyeball position / attitude information h T e (t e ) estimated at the time t e by the position / attitude estimation unit 101, and the eyeball position / attitude information h T e (at future time t). Calculate t).
- the display control unit 105 controls to display the image data appropriately deformed by the image deformation unit 103 on the display unit 160. The details of the display process will be described later.
- the clock signal generation unit 130 acquires a clock signal (a clock signal that serves as a reference for timing control of the entire system) generated by the clock signal generation unit 230 of the server 20 by using the clock propagation mechanism in the network 30. With reference to the clock signal, a clock signal synchronized with the server 20 is generated by a PLL (phase-locked loop). Regardless of whether wired or wireless is used for the communication connection between the mobile terminal 10 and the server 20, the data link layer of the network 30 is provided with means for transmitting and receiving a reference clock signal.
- a clock signal a clock signal that serves as a reference for timing control of the entire system
- PLL phase-locked loop
- LTE, 5G, Bluetooth, and Wi-Fi which can be used in the case of wireless connection, can define a time slot with a time axis resolution of 1 ms or less and perform communication control, so that the server 20 side is used as a reference clock. Clock synchronization is possible. Also, in the case of a wired connection, in a system such as USB in which the Host Controller controls the timing of the entire bus, clock synchronization using the server 20 as a reference clock is possible. Further, in the case of GbE (Gigabit Ethernet), it is possible to synchronize (between the time stamp counter of the mobile terminal 10 and the server 20) with sufficient accuracy by using PTP (Precision Time Protocol) together.
- PTP Precision Time Protocol
- the time stamp counter 140 is a time counter for timing control of the entire system. In principle, the time stamp counter 140 may increase monotonically except in special cases such as at the time of initialization. At the time of system initialization, after initializing the time stamp counter 140 of the mobile terminal 10 according to the value of the time stamp counter 240 of the server 20, the reference clock signal generated by the clock signal generation unit 230 or the clock signal generation unit 130 is used. By advancing the counter, the values of the time stamp counter 140 and the time stamp counter 240 are synchronized with sufficient accuracy (for example, at least an error of 1 ms or less). The value of the time stamp counter 140 is referred to, for example, when the control unit 100 captures the sensing data from the sensor unit 110, and is used as the time stamp of the sensing data.
- the time stamp counter value is referred to at the scanning start timing of each frame (commonly known as Vsync: Vertical Synchronizing signal), and the next VSync It is used to estimate the scheduled time.
- timing synchronization method described above and its use are examples, and the present disclosure is not limited to this.
- the storage unit 150 is realized by a ROM (Read Only Memory) that stores programs and arithmetic parameters used for processing of the control unit 100, and a RAM (Random Access Memory) that temporarily stores parameters that change as appropriate.
- ROM Read Only Memory
- RAM Random Access Memory
- the display unit 160 is a display device that displays an image of a virtual object. Further, the display unit 160 according to the present embodiment is realized by a scanned display.
- the scanning display sequentially displays each slice (display area) divided into a plurality of slices in the direction perpendicular to the scanning direction. That is, the scanning display has a plurality of adjacent display areas having different display timings (the lighting time differs depending on the position of the screen). Each slice will be described later with reference to FIG. More specifically, the scanning display displays a pixel sequence output from the image transforming unit 103.
- the type of scanning display for example, the following two types are assumed.
- One is a type in which the scanning line can be arbitrarily selected (that is, the scanning order can be arbitrarily changed).
- Specific examples include OLEDs (Organic Light Emitting Diodes) and displays using LEDs. With this type, the lighting time (hold time) of each pixel can also be changed.
- the other is a type in which the scanning line cannot be arbitrarily selected (that is, the scanning order cannot be arbitrarily changed).
- Specific examples thereof include an LBS (laser scanning type) display in which a laser light source and a MEMS mirror are combined.
- the display unit 160 realized by the scanning display may be an optical see-through display capable of directly delivering the light in the real space to the eyes of the user, or the light in the real space may be directly sent to the eyes of the user. It may be a non-transmissive display that cannot be reached. Further, the display unit 160 may be a display that can be switched between the optical see-through display and the non-transmissive display. Further, the display unit 160 may be provided on the HMD, or may be provided on a smartphone, a tablet terminal, or the like. Further, the display unit 160 may be provided in a separate device that communicates and connects with the mobile terminal 10.
- the configuration of the mobile terminal 10 is not limited to the example shown in FIG.
- the mobile terminal 10 may be realized by a plurality of devices.
- a display device realized by an HMD or the like at least corresponding to the display unit 160
- an information processing terminal realized by a smartphone, a tablet terminal, a PC or the like at least a display processing device corresponding to the control unit 100. It may be a configuration including.
- the server 20 includes a control unit 200, a communication unit 220, a clock signal generation unit 230, a time stamp counter 240, and a storage unit 250.
- the communication unit 220 communicates with the mobile terminal 10 via the network 30 by wire or wirelessly, and transmits / receives data. For example, the communication unit 220 receives the position / attitude information from the mobile terminal 10. Further, the communication unit 220 transmits the data of the drawing result of the virtual object generated by the control unit 200 to the mobile terminal 10.
- the communication unit 220 is, for example, a wired / wireless LAN (Local Area Network), Wi-Fi (registered trademark), Bluetooth (registered trademark), a mobile communication network (LTE (Long Term Evolution)), 3G (third generation mobile). (Body communication method), 4G (4th generation mobile communication method), 5G (5th generation mobile communication method), and the like.
- the control unit 200 functions as an arithmetic processing unit and a control device, and controls the overall operation in the server 20 according to various programs.
- the control unit 200 is realized by an electronic circuit such as a CPU (Central Processing Unit) or a microprocessor. Further, the control unit 200 may include a ROM (Read Only Memory) for storing programs to be used, calculation parameters, and the like, and a RAM (Random Access Memory) for temporarily storing parameters and the like that change as appropriate.
- ROM Read Only Memory
- RAM Random Access Memory
- the control unit 200 also functions as an image generation unit 201, a position / orientation prediction unit 202, and a data coding unit 203.
- the image generation unit 201 has a function of drawing a virtual object with reference to the position / orientation information (head position / orientation information and eyeball position / orientation information) received from the mobile terminal 10 and outputting it as an image.
- the image generation unit 201 draws a virtual space as seen from a viewpoint position (user viewpoint in the virtual space) corresponding to the position / orientation information.
- the drawing result output from the image generation unit 201 may include distance information of the virtual object and speed information of the virtual object in addition to the RGB image.
- the image generation unit 201 may draw the virtual object with reference to the latest position / orientation prediction information by the position / attitude prediction unit 202.
- the position / posture prediction unit 202 predicts the position / posture information after a predetermined time based on the position / posture information received from the mobile terminal 10. After a predetermined time, the estimated display time on the mobile terminal 10 is assumed. Drawing processing based on position / orientation prediction information can be said to be one of delay compensation.
- the data coding unit 203 encodes the drawing result output from the image generation unit 201.
- the control unit 200 transmits the data encoded by the data coding unit 203 from the communication unit 220 to the mobile terminal 10.
- the clock signal generation unit 230 has a function of generating a clock signal that serves as a reference for timing control of the entire system.
- the server 20 transmits the clock signal generated by the clock signal generation unit 230 from the communication unit 220 to the mobile terminal 10.
- the time stamp counter 240 is a time counter for timing control of the entire system.
- the time stamp counter 240 advances the counter using the reference clock signal generated by the clock signal generation unit 230.
- the storage unit 250 is realized by a ROM (Read Only Memory) that stores programs and calculation parameters used for processing of the control unit 200, and a RAM (Random Access Memory) that temporarily stores parameters that change as appropriate.
- ROM Read Only Memory
- RAM Random Access Memory
- the configuration of the server 20 has been specifically described above, the configuration of the server 20 according to the present disclosure is not limited to the example shown in FIG.
- the server 20 may be realized by a plurality of devices.
- the higher-definition drawing process increases the power consumption, which leads to an increase in the heat dissipation mechanism of the terminal performing the drawing process and an increase in the battery capacity. Therefore, as in the present embodiment, the drawing of the virtual object is drawn on the server 20. By doing so, the mobile terminal 10 can be made smaller and lighter.
- the drawing process of the virtual object is performed by an external device such as the server 20, the delay increases due to communication and image compression / decompression as compared with the case where the mobile terminal 10 is used alone, and the virtual object is displayed on the mobile terminal 10. There is a risk that the localization of the virtual object will be impaired.
- FIG. 2 is a diagram illustrating the length of delay when drawing processing is performed by an external device.
- the position and posture estimation of the user's eyeball and head is performed by various sensors (Eye Tracker and Head Tracker) provided on the mobile terminal such as the HMD mounted on the user's head.
- the position and attitude information is transmitted to the server, which is an external device (Upstream transfer).
- the server performs drawing processing of the virtual object (that is, image generation of the virtual object) based on the received position / orientation information (Render function), encodes (compresses) this (Video Encode implementation), and sends it to the mobile terminal. ..
- the mobile terminal When the mobile terminal receives the data (Downstream transfer), it decodes (decompresses) the encoded data (Video Decode implementation). Up to this point, there has already been a delay due to communication and data encoding / decoding (time lapse from the acquisition time of the position / orientation information used for drawing the virtual object). Since time has passed since the position and orientation information used to draw the virtual object was acquired, if there is movement on the mobile terminal side during that time, the sense of localization of the virtual object displayed on the mobile terminal will be impaired. There is a risk of being affected.
- the display position and orientation of the virtual object to be superimposed and displayed are different from those of the real space, and even when the video see-through display is used, the display position and orientation of the virtual object to be superimposed and displayed with the image in the real space. Misalignment occurs. Further, in the case of VR, the image of the virtual space does not follow (or delays) the movement of the user, causing a sense of discomfort and unnaturalness, and the immersive feeling in the virtual space is impaired.
- FIG. 3 is a diagram illustrating each slice in a scanning display.
- the scanning display is divided into, for example, five slices (display areas) in a direction perpendicular to the scanning direction (x-axis direction in the figure) (y-axis direction in the figure).
- the boundaries between the slices are provided substantially parallel to the scanning direction.
- Each slice is sequentially displayed according to the scan. That is, the scanning display has a plurality of adjacent display areas having different display timings (the lighting time differs depending on the position of the screen).
- the display process is performed in order from slice 1 (S1) to slice 5 (S5).
- the mobile terminal divides the drawing result data of the virtual object received from the server into five slices, scans them sequentially, and outputs the display.
- the mobile terminal can reduce the display delay felt by the user by performing image transformation for each slice based on the position / orientation information of the mobile terminal acquired immediately before the display output of each slice. be.
- image deformation include time expansion and contraction (Time Warp) and distortion correction (Distortion Correction).
- the delay due to communication and data coding / decoding is large, and the delay compensation for image deformation at the time of display output is not sufficient.
- the eyeball position / orientation estimation (Eye tracker) is 300 fps (frames per second) operation and the processing time is 3.33 ms
- the head position / posture estimation (Head tracker) is assumed to be the processing time of 2 ms.
- Communication delay (Uplink latency) for transmission to 5G URLLC is assumed to be 1ms
- communication delay (Downlink latency) for reception from the server of the mobile terminal is assumed to be 4ms for 5G eMBB.
- the delay from the acquisition (detection by the sensor) of the position / orientation information of the mobile terminal to the display (Motion-to-). photon latency) is about 95ms (5.7V).
- the "display" time of "until display” is, for example, the center point of one frame as a representative point (when the scanning display is evenly divided into five, the center of the slice 3 located in the center corresponds to it). , Based on the display timing of the representative point. In the example shown in Fig.
- drawing and data transmission of drawing results are performed in 1-frame units, and it is possible to shorten it to about 18ms (1.1V) with Time Warp, but the compensation period (in this example). (About 95ms (5.7V)) is long, and distortion is likely to occur.
- a display processing system that can reduce the delay in receiving and displaying the data of the virtual object generated by the external device.
- the display processing system has the configuration shown in FIG. 1, and more appropriately delays when the mobile terminal 10 receives and displays the data of the virtual object generated by the server 20 which is an external device. Realize a mechanism to reduce. Specifically, in the image generation unit 201 of the server 20, one frame is divided into a plurality of display areas (referred to as slices in the present specification), drawing is performed for each slice, and drawing of each slice is completed. At that point, each is sequentially compressed and transmitted. That is, in the example shown in FIG. 2, drawing, encoding, and transmission are performed in units of one frame, but in the display processing system according to the present embodiment, drawing, encoding, and transmission are performed in slice units.
- decoding, image transformation, and display output are sequentially performed for each received slice.
- the delay time (Motion-to) from the acquisition of the position / orientation information to the display is performed by pipeline processing the drawing, transmission, transformation, and display output in slice units. -photon latency) can be shortened.
- FIG. 4 is a diagram illustrating a series of flow of processing in slice units according to the present embodiment.
- the image generation unit 201 of the server 20 may divide one frame evenly.
- the image generation unit 201 divides one frame into five display areas of slices 1 to 5, and draws sequentially from slice 1.
- the image generation unit 201 refers to the prediction result of the position information predicted by the position / attitude prediction unit 202 based on the position / attitude information (an example of the first motion information) received from the mobile terminal 10, and refers to the prediction result of the virtual object. Draw for each slice.
- the communication unit 120 of the mobile terminal 10 receives the data of the slice 1 (first display area) at the first time t1. Further, the communication unit 120 of the mobile terminal 10 sets the data of the slice 2 (second display area) adjacent to the slice 1 (first display area) to the second time t2 after the first time. Receive.
- the display control unit 105 of the mobile terminal 10 starts displaying and outputting the data of the slice 1 (first display area) to the display unit 160, and then transfers the data of the slice 2 (second display area) to the slice 1. Control is performed to start display output as one frame together with data.
- the communication unit 120 of the mobile terminal 10 sets the data of the third display area (for example, slice 5) corresponding to a part of one frame drawn by the server 20 at the second time. It is received at the third time t3 after t2.
- the display control unit 105 of the mobile terminal 10 starts displaying the data of the slice 1 (first display area) at a time before the third time t3, and also starts displaying the data of the slice 2 (second display area).
- the data of the slice 5 (third display area) is started to be displayed after the start of the display of. In this way, the first display area starts displaying at least before the third time, and the mobile terminal 10 can start displaying without waiting for drawing or reception of the entire frame, reducing the delay time. can do.
- the present embodiment is not limited to this, and the "third display area” is one frame drawn by the server 20.
- a display area other than the first display area corresponding to a part thereof and the second display area adjacent to the first display area is applicable.
- the "third display area” may be “slice 4" or “slice 3".
- the first time to the third time are set as the reception time for receiving the drawing result data from the server 20, but the present embodiment is not limited to this, and for example, the drawing result data is set by the server 20. May be the time when the mobile terminal 10 is transmitted, the time when the mobile terminal 10 decodes the drawing result data received from the server 20, or the time when the image is deformed.
- the image generation unit 201 of the server 20 is based on the prediction result of the position information predicted by the position / attitude prediction unit 202 based on the position / attitude information (an example of the first operation information) received from the mobile terminal 10.
- the virtual object can be drawn slice by slice. Further, the drawing result for each slice by the image generation unit 201 includes an RGB image, distance information of the virtual object, and speed information of the virtual object.
- the distance information of the virtual object and the speed information of the virtual object can be used in the image deformation (one of the delay compensation) by the image deformation unit 103 performed in the mobile terminal 10 described later.
- the image deformation by the image deformation unit 103 of the mobile terminal 10 is referred to for each slice by referring to the position / posture information (an example of the second motion information) acquired immediately before and the prediction result based on the position / posture information.
- the position / posture information an example of the second motion information
- the display delay felt by the user can be reduced.
- image deformation include time expansion and contraction (Time Warp) and distortion correction (Distortion Correction).
- FIG. 5 is a sequence diagram showing an example of the flow of display processing for each slice of the display processing system according to the present embodiment.
- the position / posture estimation unit 101 of the mobile terminal 10 estimates the position / posture of the user's head and eyeball based on the sensing data of the sensor unit 110 (step S103), and the estimated position.
- the posture information is transmitted to the server 20 (step S106).
- the image generation unit 201 of the server 20 performs image generation (drawing process) of the virtual object in slice units based on the received position / orientation information (first operation information) (step S109).
- the image generation unit 201 may draw the virtual object with reference to the position / attitude information prediction result of the predetermined time predicted by the position / attitude prediction unit 202 based on the received position / attitude information.
- the server 20 sequentially transmits the drawing result data for each slice to the mobile terminal 10 (step S112). Specifically, the server 20 sequentially encodes the drawing result data of the slice unit output from the image generation unit 201 by the data coding unit 203, and transmits the data from the communication unit 220 to the mobile terminal 10. The mobile terminal 10 sequentially decodes the received drawing result data for each slice.
- the image deformation unit 103 of the mobile terminal 10 is based on the latest position / orientation information (second motion information), and the image data included in the received drawing result of each slice (image data of each slice of the virtual object). ) Is transformed (step S115).
- the image deformation unit 103 may perform image deformation with reference to the position / posture information prediction result of the predetermined time (scheduled display time) predicted by the position / posture prediction unit 104 based on the latest position / posture information.
- the display control unit 105 of the mobile terminal 10 starts displaying the image data of the slice unit in which the image is deformed (step S118).
- the drawing result data of each slice is continuously transmitted from the server 20, and the mobile terminal 10 performs decoding, image transformation, and display processing in slice units.
- the delay time from the acquisition of the position / orientation information to the display can be shortened by pipeline processing the drawing, transmission / reception, transformation, and display output in slice units.
- the importance of the area can be determined from the content displayed on the screen and the direction of the user's line of sight (or the gaze point on the screen).
- the image generation unit 201 of the server 20 obtains the importance distribution in one frame based on the content to be displayed in one frame and the user's line-of-sight direction (or the gazing point on the screen), and divides the area and draws the order. To determine.
- the image generation unit 201 divides the display area into each slice centering on the gazing point that the user is gazing at in the screen, and further determines the drawing priority of each slice.
- the gazing point is obtained from the position / orientation information (for example, the position / orientation information of the eyeball) transmitted from the mobile terminal 10.
- FIG. 6 is a diagram illustrating the importance of each slice according to the gazing point according to the present embodiment.
- the image generation unit 201 divides the display area into five slices centered on the gazing point P, and sets the highest importance of the slice 3 including the gazing point P.
- the image generation unit 201 sets the demand degree higher toward the vicinity of the gazing point P, for example, slice 3, slice 4, and slice 2. , Slice 5, slice 1, and so on. Then, drawing, encoding, transmission / reception, decoding, image transformation, and display processing are performed in this order.
- FIG. 7 is a diagram illustrating the display order of each slice in the priority processing according to the present embodiment. Since each process from drawing to display output according to the present embodiment is executed by pipeline processing, when the processes are performed in the above order, the display unit 160 displays slice 3, slice 4, and slice 4, as shown in FIG. The display process is performed in the order of slice 2, slice 5, and slice 1. In this case, it is possible to shorten the delay of the important area (the area of the slice 3 in this example) as compared with the simple division display from the upper part of the screen.
- FIG. 8 is a diagram illustrating a series of flows in which processing in slice units according to the present embodiment is preferentially performed in an arbitrary order. As shown in FIG. 8, for example, based on the height of importance according to the gazing point, slice 3, slice 4, slice 2, slice 5, and slice 1 are drawn, encoded, received, decoded, and imaged in this order. Transformation and display output are performed.
- the communication unit 120 of the mobile terminal 10 receives the data of the slice 3 (an example of the first display area) located in the area including the gazing point at the first time t1. Further, the communication unit 120 of the mobile terminal 10 receives the data of the slice 4 (an example of the second display area) adjacent to the slice 3 at the second time t2 after the first time.
- the display control unit 105 of the mobile terminal 10 starts displaying and outputting the data of the slice 3 (first display area) to the display unit 160, and then transfers the data of the slice 4 (second display area) to the slice 1. Control is performed to start display output as one frame together with data.
- the communication unit 120 of the mobile terminal 10 uses data in a third display area (here, for example, slice 1) corresponding to a part of one frame drawn by the server 20. It is received at the third time t3 after the time t2 of the second .
- the display control unit 105 of the mobile terminal 10 starts displaying the data of the slice 3 (first display area) at a time before the third time t3, and also starts displaying the data of the slice 4 (second display area).
- the data of slice 1 (third display area) is started to be displayed after the start of display of. In this way, the first display area starts displaying at least before the third time, and the mobile terminal 10 can start displaying without waiting for drawing or reception of the entire frame, reducing the delay time. can do.
- the delay from the acquisition (detection by the sensor) of the position / orientation information of the mobile terminal 10 to the display (display of the slice 3 which is an important area) is assumed, for example, when various numerical values described above are assumed with reference to FIG. It is about 28ms (1.7V), and the delay is further shortened as compared with the example described with reference to FIG. Also, for example, Time Warp can be shortened to about 10ms (0.6V).
- FIG. 9 is a sequence diagram showing an example of a flow of display processing in which processing in slice units according to the present embodiment is preferentially performed in an arbitrary order.
- the position / posture estimation unit 101 of the mobile terminal 10 estimates the position / posture of the user's head and eyeball based on the sensing data of the sensor unit 110 (step S123), and the estimated position.
- the posture information is transmitted to the server 20 (step S126).
- the image generation unit 201 of the server 20 determines the division area and the drawing order (slice drawing order) according to the importance (step S127).
- the importance may be determined according to the gaze point on the screen specified from the position / posture information transmitted from the mobile terminal 10, for example.
- the gaze point information on the screen may be specified by the mobile terminal 10 and transmitted to the server 20.
- the image generation unit 201 performs image generation (drawing process) of the virtual object in slice units in the determined order based on the received position / orientation information (first operation information) (step S129). At this time, the image generation unit 201 may draw the virtual object with reference to the position / attitude information prediction result of the predetermined time predicted by the position / attitude prediction unit 202 based on the received position / attitude information.
- the server 20 sequentially transmits the drawing result data for each slice to the mobile terminal 10 (step S132). Specifically, the server 20 sequentially encodes the drawing result data of the slice unit output from the image generation unit 201 by the data coding unit 203, and transmits the data from the communication unit 220 to the mobile terminal 10. The mobile terminal 10 sequentially decodes the received drawing result data for each slice. In each case, pipeline processing is performed in the determined order.
- the image deformation unit 103 of the mobile terminal 10 is based on the latest position / orientation information (second motion information), and the image data included in the received drawing result of each slice (image data of each slice of the virtual object). ) Is transformed (step S135).
- the image deformation unit 103 may perform image deformation with reference to the position / posture information prediction result of the predetermined time (scheduled display time) predicted by the position / posture prediction unit 104 based on the latest position / posture information.
- the display control unit 105 of the mobile terminal 10 starts displaying the image data of the slice unit in which the image is deformed (step S138).
- Data of drawing results in slice units are continuously transmitted from the server 20, and the mobile terminal 10 performs decoding, image transformation, and display processing in slice units.
- the drawing in slice units is started in the order determined according to the importance based on the gaze point and the like.
- the slices with the highest importance can be displayed preferentially, and the display delay can be further shortened by the user's experience.
- the image generation unit 201 sets, for example, a slice of the most important region according to the gazing point P at the beginning of the drawing process. Set. As a result, for example, when the importance of the slice 3 is the highest, as shown in FIG. 10, it is possible to start the display output (priority) with the slice 3 at the beginning. The display process may then be performed in the order of slice 4, slice 5, slice 1, slice 2, and so on. After slice 2, slice 3 of the next frame is displayed.
- FIG. 11 is a diagram illustrating a series of processes in which slices of high importance are processed first in the processing in slice units according to the present embodiment.
- the server 20 is based on the position / posture information of the eyeball and the head transmitted from the mobile terminal 10, for example, the slice 4 and the slice are sliced, with the slice 3 having a high importance according to the gazing point as the head.
- the drawing process is performed in the order of 5, slice 1, and slice 2.
- the subsequent coding, reception, decoding, image transformation, and display output processing are also pipelined in the order of slice 3, slice 4, slice 5, slice 1, and slice 2.
- the delay from the acquisition (detection by the sensor) of the position / orientation information of the mobile terminal 10 to the display (display of the slice 3 which is an important area) is assumed, for example, when various numerical values described above are assumed with reference to FIG. It is about 30 ms (1.8 V), and the delay is further shortened as compared with the example described with reference to FIG. Also, for example, Time Warp can be shortened to about 8.3ms (0.5V).
- any slice after slice 2 is set at the beginning of a plurality of slices forming one frame in the order of slice 3, slice 4, slice 5, slice 1, and slice 2, the slice is sliced. Tearing may occur at the border of. In particular, tearing may be more noticeable when drawing, transmitting, and displaying are performed in order from areas that are important to the user, such as near the gazing point.
- tearing occurs between slice 2 i of the i-th frame and slice 3 i + 1 of the i + 1th frame. There is.
- tearing between slices can be made difficult to see by transforming the image so that the contours of virtual objects that straddle the boundaries can be seen continuously.
- a virtual object straddling the boundary of these slices based on the slice 2i of the i-th frame and the slice 3i + 1 of the i + 1th frame.
- the slice 2i is image-transformed so that the contour can be seen continuously.
- the display control unit 105 of the mobile terminal 10 may control to shorten the lighting time (shorten the hold time) of each pixel corresponding to the area of each slice.
- the display control unit 105 determines the display order, it is possible to create a black insertion period by separating the update timings of adjacent slices.
- a black insertion period is provided when displaying slice 2 (third slice) adjacent to slice 3 (first slice) on the opposite side to the scanning forward direction.
- Each of the displayed slices is image-transformed by the image transformation unit 103 based on the latest position / orientation information and prediction for each slice. Therefore, for example, if the image is transformed and displayed in the order of slice 3, slice 4, slice 2, slice 5, and slice 1, the contour of the virtual object that straddles the boundary between slice 2 and slice 3 may shift. In such a case, if there is a period in which slice 3 and slice 2 are displayed at the same time, the deviation of the contour may be noticeable. Further, since slice 3 is an important area for the user, especially in the vicinity of the gazing point, tearing may be easily noticeable.
- the image transforming unit 103 of the mobile terminal 10 deforms the contour line of the virtual object. Specifically, the image transformation unit 103 transforms the image based on the image data of two adjacent slices so that the contour lines of the virtual objects straddling the boundaries of these slices are continuous.
- the image deformation unit 103 can reduce tearing by deforming the contour line of the virtual object of slice 2 i so as to be continuous with the contour line of slice 3 i + 1 .
- the method of deforming the contour line of the virtual object described here has a degree of importance according to the gazing point and the like in the case of a display of a type in which a scanning line is arbitrarily selected as described with reference to FIG. It may be applied when displaying each slice in any order according to the distribution.
- FIG. 12 is a block diagram showing an example of the functional configuration of the image transforming unit 103 according to the present embodiment.
- the image deformation unit 103 functions as a virtual object motion prediction deformation unit 1031, a position / orientation prediction deformation unit 1032, and an inter-slice contour deformation unit 1033.
- the virtual object motion prediction deformation unit 1031, the position / orientation prediction deformation unit 1032, and the inter-slice contour deformation unit 1033 all perform deformation in slice units.
- FIG. 13 shows an example of an image generated in slice units by the image generation unit 201 of the server 20.
- the image generation unit 201 draws the i-th frame in slice units in consideration of the movement of the user U and the movement of the virtual object 30, and then the newly acquired movement of the user U and the movement of the user U.
- the i + 1th frame is drawn in slice units in consideration of the movement of the virtual object 30.
- the movement of the user U is the position / posture after a predetermined time (estimated display time) predicted by the position / posture prediction unit 202 based on the position / posture information transmitted from the mobile terminal 10 and the position / posture information. It can be considered by referring to the information.
- the image generation unit 201 may consider the speed information of the virtual object 30 and the distance information from the user U to the virtual object 30 when drawing the virtual object 30 in slice units.
- the slice 3 including the gazing point P is set at the beginning of the drawing process in order to reduce the display delay, and the slice 3, the slice 4, the slice 5, the slice 1, and the slice 2 are in this order.
- the image generation unit 201 draws sequentially for each slice, it draws according to the movement of the virtual object 30 at the time of drawing, so that the drawing position of the virtual object changes for each slice.
- the drawing result for each slice includes a generated image (RGB image), distance information and speed information of the virtual object 50.
- the virtual object motion prediction transformation unit 1031 predicts the position of the virtual object after a predetermined time (estimated display time) based on the input speed information and distance information of the virtual object, and the virtual object is displayed at the predicted position.
- the generated image of each slice is transformed so as to be performed.
- the position / posture prediction deformation unit 1032 acquires the latest prediction result of the position / posture information from the position / posture prediction unit 104, and based on the prediction result, virtualizes the position as seen from the viewpoint position after a predetermined time (estimated display time).
- the generated image in slice units is further transformed so that the object is displayed.
- the inter-slice contour deformation unit 1033 performs a process of deforming the contour of the virtual object straddling the slice so that the contour is continuous.
- FIG. 15 is a diagram illustrating image deformation of the contour line of the virtual object according to the present embodiment.
- the image generation unit 201 of the server 20 draws by slightly widening the width of the slice upward when drawing the slice 3 i + 1 including the gazing point (i + 1), and is displayed immediately before (i).
- a region (hereinafter referred to as an overlapping region 52) that overlaps with the slice 2i (of the second frame) is created.
- the image deformation unit 103 of the mobile terminal 10 undergoes deformation based on the motion prediction of the virtual object by the virtual object motion prediction transformation unit 1031 and deformation based on the position / orientation prediction by the position / orientation prediction transformation unit 1032, and then the contour between slices.
- the transformation unit 1033 transforms the contour line of the virtual object between slices.
- the image is deformed so that the deviation of the contour line of the virtual object in the overlapping region 52 shown in FIG. 15 is minimized (acquisition of the slice 2 i'where the image is deformed). That is, the inter-slice contour deformation unit 1033 brings the contour line of the virtual object in the overlapping area 52 overlapping with the slice 3 i + 1 of the slice 2 i closer to the contour line of the virtual object in the slice 3 i + 1, so that the slice 2 i And slice 3 i + 1 so that the contour line can be seen continuously.
- the deformation of the contour line can be performed by using, for example, a set of vertices (polygon mesh).
- FIG. 16 is a diagram specifically illustrating the deformation of the contour line of the virtual object according to the present embodiment.
- the inter-slice contour deformation unit 1033 performs contour extraction on the overlapping region 52 of adjacent slices.
- the overlapping area 52 of the adjacent slices is, for example, the overlapping area 52i in the slice 2i of the i -th frame and the overlapping area 52i + 1 in the slice 3i + 1 of the i + 1th frame.
- the inter-slice contour deformation unit 1033 finds corresponding points (corresponding vertices) between the extracted contours, and makes the corresponding points into polygon meshes. Next, two polygon meshes (a polygon mesh having an overlapping area 52 i and a polygon mesh having an overlapping area 52 i + 1 ) are combined. Then, the inter-slice contour deformation unit 1033 applies a synthetic mesh to the overlapping region 52 i to obtain an image in which the deviation of the contour is minimized.
- the upper part of the overlapping area is the upper slice area (overlapping area 52 i ), and the lower part is the lower part. It is necessary to select the control points of the mesh so that they are close to the area of the slice where they are located (overlapping area 52 i + 1 ). More specifically, for example, the following implementation examples can be mentioned.
- the image generation unit 201 of the server 20 may adjust a dividing line that divides one frame into a plurality of areas. Since tearing is easily noticeable if there is a slice boundary (dividing line) near the user's gazing point, the image generation unit 201 sets each dividing line so that the gazing point is near the center of the slice (center in the width direction). To adjust.
- dividing line that divides one frame into a plurality of areas. Since tearing is easily noticeable if there is a slice boundary (dividing line) near the user's gazing point, the image generation unit 201 sets each dividing line so that the gazing point is near the center of the slice (center in the width direction).
- FIG. 17 is a diagram illustrating adjustment of a dividing line for dividing one frame into a plurality of slices according to the present embodiment.
- the image generation unit 201 normally divides the height hs of one frame evenly by a predetermined number of slices (the display time becomes uniform), as shown in the center of FIG. , Adjust each dividing line (in other words, adjust the width of each slice) so that the gazing point is near the center in the width direction (height direction) of the slice S3.
- the image generation unit 201 randomly changes the dividing line up and down for each frame as shown on the right side of FIG. 17 even when the gazing point does not move, considering the possibility that the gazing point moves up and down a little. The tearing may be further reduced. That is, the image generation unit 201 changes the width (height) of the slice (first display area) including the gazing point for each frame, and makes it different between at least consecutive frames.
- the y coordinate y s [j] of the upper side of the slice j (jth slice) including the gazing point can be obtained by the following equation.
- j is an integer of 1 ⁇ j ⁇ N.
- the y-coordinate y s [j] of the upper side of the slice j when the y-coordinate of the gazing point is y gaze is obtained by the following equation.
- j is an integer of 2 ⁇ j ⁇ N
- y s [1] 0.
- a dither term is introduced as shown in the following equation to obtain y s [j].
- j is an integer of 2 ⁇ j ⁇ N.
- the dither term [i, j] is the j-th slice of the i-th frame.
- y s [1] 0.
- the position / posture estimation unit 101 has described that the head position / posture estimation and the eyeball position / posture estimation are performed, but the present disclosure is not limited to this.
- the head position / posture may be estimated and the head position / posture information may be transmitted to the server 20.
- the position / posture prediction unit 104 predicts the head position / posture and the eyeball position / posture, but the present disclosure is not limited to this.
- only the head position and posture may be predicted, and the prediction result may be output to the image deformation unit 103.
- the image deformation unit 103 may perform image deformation using only the head position / posture information or the prediction result of the head position / posture. Further, the head position posture and the eyeball position posture are examples of the user's motion information, and the present disclosure is not limited to this.
- the present technology can also have the following configurations.
- a transmitter that transmits the first operation information of the mobile terminal to an external device The data in the first display area of the virtual object drawn by the external device based on the first operation information is received at the first time.
- the data in the second display area adjacent to the first display area of the virtual object drawn by the external device based on the first operation information is displayed at a second time after the first time.
- the receiver With the receiver to receive to Display control that controls the display of the received data in the first display area as one frame together with the data in the first display area on the display device of the mobile terminal after displaying the data in the second display area.
- Department and A display processing device The receiver to receive to Display control that controls the display of the received data in the first display area as one frame together with the data in the first display area on the display device of the mobile terminal after displaying the data in the second display area.
- Department and A display processing device Department and A display processing device.
- the receiving unit receives data in the third display area of the virtual object corresponding to a part of the one frame drawn by the external device based on the first operation information from the second time. Received at a later third time, The display control unit displays the data in the first display area at a time before the third time, and also displays the data in the third display area after the display of the data in the second display area.
- the display processing device according to (1) above which controls the display device for displaying.
- the display processing device is Further provided with a deforming portion that transforms the received data in the second display area based on the second motion information acquired after the first motion information.
- the first display area is a display area located on the display device including a user's gaze point among the display areas obtained by dividing the area of one frame displayed on the display device (3).
- the display processing device The second display area is a display area located closer to the gazing point than the third display area received by the receiving unit at a third time after the second display area.
- the display processing apparatus according to (4) above.
- the deformed portion is deformed so that the contour lines of virtual objects straddling the boundaries of a plurality of adjacent display areas among the plurality of display areas forming one frame displayed on the display device are continuously deformed (4). Or the display processing device according to (5).
- the display control unit is adjacent to the first display area on the opposite side of the second display area, and is a third display area that receives data at a third time after the second time.
- the display processing device according to any one of (4) to (6) above, which controls the display of data after a lapse of a certain period of time after finishing the display of the data in the first display area.
- the display process according to any one of (4) to (7), wherein the first display area is generated so that the gazing point is located at the center in the width direction of the first display area.
- Device (9) The display processing apparatus according to (8) above, wherein the width of the first display area differs between consecutive frames.
- the display processing device according to any one of (1) to (9) above, wherein the first operation information includes information on a position and a posture detected by a motion sensor provided in the mobile terminal.
- the second motion information includes position and posture information detected by a motion sensor provided in the mobile terminal.
- the display processing device according to (3), wherein the deforming unit transforms data in the second display area based on a result predicted based on the second operation information.
- the processor Sending the first operation information of the mobile terminal to an external device, Receiving the data in the first display area of the virtual object drawn based on the first operation information by the external device at the first time, and The data in the second display area adjacent to the first display area of the virtual object drawn by the external device based on the first operation information is displayed at a second time after the first time.
- control is performed to display the data in the second display area together with the data in the first display area as one frame on the display device of the mobile terminal.
- Display processing method including.
- a transmitter that transmits the first operation information of the mobile terminal to an external device,
- the data in the first display area of the virtual object drawn by the external device based on the first operation information is received at the first time.
- the data in the second display area adjacent to the first display area of the virtual object drawn by the external device based on the first operation information is displayed at a second time after the first time.
- the receiver With the receiver to receive to Display control that controls the display of the received data in the first display area as one frame together with the data in the first display area on the display device of the mobile terminal after displaying the data in the second display area.
- a receiver that receives the first operation information of the mobile terminal, Based on the first operation information, the data in the first display area of the virtual object drawn as a part of one frame is displayed on the display device of the mobile terminal at the first time. It is sent to the display processing device that controls the display of the data of A second display area adjacent to the first display area of the virtual object drawn as another part of the one frame after drawing the data in the first display area based on the first operation information.
- a transmission unit that transmits data in the display area of the above to the display processing apparatus at a second time after the first time, and a transmission unit.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Controls And Circuits For Display Device (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】外部装置で生成された仮想オブジェクトのデータを受信して表示する場合における遅延を低減することが可能な表示処理装置、表示処理方法、記憶媒体、および情報処理装置を提供する。 【解決手段】モバイル端末の第1の動作情報を外部装置に送信する送信部と、前記外部装置により前記第1の動作情報に基づいて描画された仮想オブジェクトの第1の表示領域のデータを、第1の時刻に受信し、前記外部装置により前記第1の動作情報に基づいて描画された前記仮想オブジェクトの前記第1の表示領域に隣接する第2の表示領域のデータを、前記第1の時刻より後の第2の時刻に受信する受信部と、前記受信した第1の表示領域のデータを表示した後に、前記第2の表示領域のデータを前記第1の表示領域のデータとともに1フレームとして前記モバイル端末の表示装置に表示する制御を行う表示制御部と、を備える、表示処理装置。
Description
本開示は表示処理装置、表示処理方法、記憶媒体、および情報処理装置に関する。
近年、実空間と仮想空間とを融合して視聴する技術が様々開発されている。例えば、実空間が直接見える状態で実空間に仮想空間の画像(以下、仮想オブジェクトと称する)を重畳的に表示するAR(Augmented Reality)技術や、生成された仮想空間内を任意の視点から視聴するVR(Virtual Reality)技術が開発されている。このようなAR、VRは、例えばユーザの頭部に装着される表示装置であるHMD(Head Mounted Display)を用いて提供され得る。より具体的には、ARを実現する装置としては、光学透過型のHMDが挙げられる。また、VRを実現する装置としては、より没入感を高めるため、ユーザの視界を表示部で覆う非透過型のHMDが挙げられる。
また、HMDを用いて仮想オブジェクトを表示する技術に関し、例えば下記特許文献1では、光学透過型のHMDにより実空間に仮想オブジェクトを重畳表示する際に、HMDを装着したユーザや実空間の物体の動きに仮想オブジェクトの位置や姿勢を追随させることで、実空間に対する仮想オブジェクトの表示位置のずれによる違和感を軽減することが記載されている。
上記先行技術では、外部装置で生成された仮想オブジェクトのデータを受信して表示する場合における遅延について考慮されていない。
そこで、本開示では、外部装置で生成された仮想オブジェクトのデータを受信して表示する場合における遅延を低減することが可能な表示処理装置、表示処理方法、記憶媒体、および情報処理装置を提案する。
本開示によれば、モバイル端末の第1の動作情報を外部装置に送信する送信部と、前記外部装置により前記第1の動作情報に基づいて描画された仮想オブジェクトの第1の表示領域のデータを、第1の時刻に受信し、前記外部装置により前記第1の動作情報に基づいて描画された前記仮想オブジェクトの前記第1の表示領域に隣接する第2の表示領域のデータを、前記第1の時刻より後の第2の時刻に受信する受信部と、前記受信した第1の表示領域のデータを表示した後に、前記第2の表示領域のデータを前記第1の表示領域のデータとともに1フレームとして前記モバイル端末の表示装置に表示する制御を行う表示制御部と、を備える、表示処理装置を提案する。
本開示によれば、プロセッサが、モバイル端末の第1の動作情報を外部装置に送信することと、前記外部装置により前記第1の動作情報に基づいて描画された仮想オブジェクトの第1の表示領域のデータを、第1の時刻に受信することと、前記外部装置により前記第1の動作情報に基づいて描画された前記仮想オブジェクトの前記第1の表示領域に隣接する第2の表示領域のデータを、前記第1の時刻より後の第2の時刻に受信することと、前記受信した第1の表示領域のデータを表示した後に、前記第2の表示領域のデータを前記第1の表示領域のデータとともに1フレームとして前記モバイル端末の表示装置に表示する制御を行うことと、を含む、表示処理方法を提案する。
本開示によれば、コンピュータを、モバイル端末の第1の動作情報を外部装置に送信する送信部と、前記外部装置により前記第1の動作情報に基づいて描画された仮想オブジェクトの第1の表示領域のデータを、第1の時刻に受信し、前記外部装置により前記第1の動作情報に基づいて描画された前記仮想オブジェクトの前記第1の表示領域に隣接する第2の表示領域のデータを、前記第1の時刻より後の第2の時刻に受信する受信部と、前記受信した第1の表示領域のデータを表示した後に、前記第2の表示領域のデータを前記第1の表示領域のデータとともに1フレームとして前記モバイル端末の表示装置に表示する制御を行う表示制御部と、として機能させるためのプログラムが記憶された、記憶媒体を提案する。
本開示によれば、モバイル端末の第1の動作情報を受信する受信部と、前記第1の動作情報に基づいて、1フレームの一部として描画される仮想オブジェクトの第1の表示領域のデータを、第1の時刻に、前記モバイル端末の表示装置に前記第1の表示領域のデータを表示する制御を行う表示処理装置に送信し、前記第1の動作情報に基づいて、前記第1の表示領域のデータを描画した後に、前記1フレームの他の一部として描画される前記仮想オブジェクトの前記第1の表示領域に隣接する第2の表示領域のデータを、前記第1の時刻より後の第2の時刻に前記表示処理装置に送信する送信部と、を備える、情報処理装置を提案する。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、説明は以下の順序で行うものとする。
1.本開示の一実施形態による表示処理システムの構成
1-1.モバイル端末10の構成例
1-2.サーバ20の構成例
2.課題の整理
3.技術的特徴
3-1.スライス単位での処理
3-2.優先的処理
3-3.ティアリングの抑制
(3-3-1.黒挿入期間)
(3-3-2.画像変形)
(3-3-3.分割線の調整)
4.補足
1.本開示の一実施形態による表示処理システムの構成
1-1.モバイル端末10の構成例
1-2.サーバ20の構成例
2.課題の整理
3.技術的特徴
3-1.スライス単位での処理
3-2.優先的処理
3-3.ティアリングの抑制
(3-3-1.黒挿入期間)
(3-3-2.画像変形)
(3-3-3.分割線の調整)
4.補足
<<1.本開示の一実施形態による表示処理システムの構成>>
図1は、本開示の一実施形態による表示処理システムの構成を示す図である。図1に示すように、本開示の一実施形態による表示処理システムは、モバイル端末10とサーバ20とを含む。
図1は、本開示の一実施形態による表示処理システムの構成を示す図である。図1に示すように、本開示の一実施形態による表示処理システムは、モバイル端末10とサーバ20とを含む。
モバイル端末10およびサーバ20は、ネットワーク30を介して通信接続し、データの送受信を行う。ネットワーク30は、サーバ20がクラウドサーバである場合、無線または有線を含むインターネット(例えば、5G(第5世代移動通信システム))を想定する。また、サーバ20がスマートフォンやノートPCなど、モバイル端末10と同一空間に存在する場合、Wi-Fi(登録商標)等の近距離無線通信や有線(USBケーブル等)を想定する。
モバイル端末10は、VRまたはARにおける仮想オブジェクトの表示制御を行う情報処理端末の一例である。モバイル端末10は、例えばユーザの頭部に装着されるHMDや、スマートフォン、タブレット端末、メガネ型表示装置等のウェアラブルデバイス等により実現される。モバイル端末10は、仮想オブジェクトの表示データをサーバ20から受信し、モバイル端末10の表示部160に表示する制御を行う。サーバ20は、VRまたはARにおける仮想オブジェクトの表示データを生成する情報処理装置の一例である。具体的には、サーバ20は、モバイル端末10から位置や姿勢の情報を受信し、受信した位置姿勢情報に基づいて仮想オブジェクトの描画を行い、描画結果をモバイル端末10に送信する。
なお、サーバ20からモバイル端末10に対しては画像データ(仮想オブジェクトの描画結果のデータ)を送り続けるため、帯域を確保できるデータリンク層の利用を想定してもよい。また、モバイル端末10からサーバ20への送信はデータ量が少なく通信遅延の影響が大きいため、より低遅延なデータリンク層を想定してもよい。例えばサーバ20がクラウドサーバであってネットワーク30に5Gを利用する場合、サーバ20からモバイル端末10への送信はeMBB(高速大容量:enhanced Mobile Broadband)を利用し、モバイル端末10からサーバ20への送信にはURLLC(超高信頼低遅延:Ultra-Reliable and Low Latency Communications)を利用してもよい。また、サーバ20がスマートフォンやノートPCなど、モバイル端末10(例えばHMD)を装着したユーザが持ち歩ける場合には、ネットワーク30にはBluetooth(登録商標)やWi-Fi(登録商標)を利用してもよいし、USBやGigabit Ethernet等の有線接続を利用してもよい。
<1-1.モバイル端末10の構成例>
モバイル端末10は、図1に示すように、制御部100、センサ部110、通信部120、クロック信号発生部130、タイムスタンプカウンタ140、記憶部150、および表示部160を有する。
モバイル端末10は、図1に示すように、制御部100、センサ部110、通信部120、クロック信号発生部130、タイムスタンプカウンタ140、記憶部150、および表示部160を有する。
通信部120は、有線または無線により外部装置であるサーバ20とネットワーク30を介して通信接続し、データの送受信を行う。例えば、通信部120は、モバイル端末10の位置姿勢情報を送信する。また、通信部120は、サーバ20から仮想オブジェクトの描画結果のデータを受信する。通信部120は、例えば、有線/無線LAN(Local Area Network)、またはWi-Fi(登録商標)、Bluetooth(登録商標)、携帯通信網(LTE(Long Term Evolution)、3G(第3世代の移動体通信方式)、4G(第4世代の移動体通信方式)、5G(第5世代の移動体通信方式))等であってもよい。
より具体的には、例えば通信部120は、制御部100の制御に従って、送信するデータを通信プロトコルに従ってパケット化し、サーバ20に送信する機能を有していてもよい。また、通信部120は、通信プロトコルに従って送られてきたパケットを、モバイル端末10内の配送先にふりわける機能を有していてもよい。通信部120は、仮想オブジェクトの描画結果のデータの他、時間同期のためクロック信号もサーバ20から受信し得る。
センサ部110は、モバイル端末10の動作情報を検知する各種センサである。例えばセンサ部11は、カメラや、IMU(Inertial Measurement Unit)であってもよい。さらに具体的には、センサ部110は、モバイル端末10を利用するユーザの頭部位置姿勢や眼球位置姿勢を推定するためのセンシングデータを取得する。例えばモバイル端末10がHMDにより実現され、ユーザの頭部に装着されている場合、モバイル端末10の位置姿勢がユーザの頭部の位置姿勢と推定される。眼球位置姿勢は、HMD内部においてユーザの眼球方向に固定されたセンサ(カメラ、赤外線センサ等)により検出される。
制御部100は、演算処理装置および制御装置として機能し、各種プログラムに従ってモバイル端末10内の動作全般を制御する。制御部100は、例えばCPU(Central Processing Unit)、マイクロプロセッサ等の電子回路によって実現される。また、制御部100は、使用するプログラムや演算パラメータ等を記憶するROM(Read Only Memory)、及び適宜変化するパラメータ等を一時記憶するRAM(Random Access Memory)を含んでいてもよい。
本実施形態による制御部100は、位置姿勢推定部101、データ復号部102、画像変形部103、位置姿勢予測部104、および表示制御部105としても機能する表示処理装置である。位置姿勢推定部101は、センサ部110により検知された各種センシングデータに基づいて、ユーザの位置姿勢を推定する。具体的には、位置姿勢推定部101は、センサ部110により取得された周囲を撮像したカメラ映像やIMUのセンシングデータに基づいて、ユーザの頭部の位置姿勢を推定する所謂Head Trackerの機能を有する。頭部の位置姿勢は、周囲の実空間に対して定義された座標系上の位置と姿勢であってもよい。なお、Head Trackerは、外部に設置したセンサを利用するアウトサイド・イン方式と、計測したいもの自体(モバイル端末10(HMD))に搭載したセンサを利用するインサイド・アウト方式と、これらの組み合わせであるハイブリッド方式とがある。また、位置姿勢推定部101は、センサ部110により取得されたユーザの眼を撮像した赤外線カメラ映像に基づいて、ユーザの眼球(瞳孔や虹彩の位置など)の位置姿勢を推定する所謂Eye Trackerの機能も有する。ユーザの眼球の位置姿勢は視線情報の一つであって、Eye Trackerは、さらに表示部160の表示画面上の注視点(座標)を推定してもよい。センサ部110は継続的にセンシングを行い、制御部100は、位置姿勢推定部101により推定した位置姿勢情報(第1の動作情報の一例)を、通信部120からサーバ20に送信し続ける。サーバ20側では、後述する画像生成部201により、モバイル端末10から受信した位置姿勢情報(第1の動作情報)に基づいて仮想オブジェクトの描画処理を行い、描画結果のデータをモバイル端末10に送信する。送信されるデータは、後述するデータ符号部203により符号化される。
データ復号部102は、サーバ20から送信された描画結果のデータ(仮想オブジェクトの画像データを含む)を復号し、復号したデータを画像変形部103に出力する。画像変形部103は、データ復号部102からの出力(仮想オブジェクトの画像データを含む)と、位置姿勢予測部104による最新の位置姿勢情報(第2の動作情報の一例)に基づく予測結果を入力として受け取り、仮想オブジェクトの画像を表示部160に表示する時刻に、より正しい位置に仮想オブジェクトが定位して見えるよう画像変形を行う。モバイル端末10側において、サーバ20から受信した仮想オブジェクトの画像データに対して、位置姿勢情報の予測結果を用いて画像変形を行うことで、遅延補償を行い得る。画像変形の結果は、走査型ディスプレイにより実現される表示部160に対してピクセル列として出力される。画像変形の詳細については後述する。
位置姿勢予測部104では、位置姿勢推定部101により推定された最新の位置姿勢情報(第2の動作情報の一例)に基づいて、所定時間後の位置姿勢情報を予測する。所定時間後とは、当該予測を用いて画像変形を行う対象のスライスの表示部160における表示予想時刻を想定する。例えば、位置姿勢予測部104は、位置姿勢推定部101により時刻thに推定された頭部位置姿勢情報wTh(th)に基づいて、未来の時刻tにおける頭部位置姿勢情報wTh(t)を算出する。また、位置姿勢予測部104は、位置姿勢推定部101により時刻teに推定された眼球位置姿勢情報hTe(te)に基づいて、未来の時刻tにおける眼球位置姿勢情報hTe(t)を算出する。
表示制御部105は、画像変形部103により適宜変形された画像データを、表示部160に表示する制御を行う。表示処理の詳細については後述する。
クロック信号発生部130は、サーバ20のクロック信号発生部230で発生するクロック信号(システム全体のタイミング制御の基準となるクロック信号)を、ネットワーク30内のクロック伝搬機構を利用して取得し、当該クロック信号を参照して、サーバ20と同期したクロック信号をPLL(位相同期回路:phase locked loop)で発生させる。なお、モバイル端末10とサーバ20の間の通信接続に有線・無線のいずれを用いても、ネットワーク30のデータリンク層には、規準となるクロック信号を送受信する手段が備わっている。例えば、無線接続の場合に用いられ得る、LTE、5G、Bluetooth、およびWi-Fiのいずれも、1ms以下の時間軸分解能でタイムスロットを定義し通信制御を行えるため、サーバ20側を基準クロックとするクロック同期が可能である。また、有線接続の場合も、USBのようなHost Controllerがバス全体のタイミング制御を行うシステムでは、サーバ20を基準クロックとするクロック同期が可能である。また、GbE(Gigabit Ethernet)の場合には、PTP(Precision Time Protocol)を併用することにより十分な精度で(モバイル端末10とサーバ20のタイムスタンプカウンタ間を)同期させることが可能である。
タイムスタンプカウンタ140は、システム全体のタイミング制御用の時刻カウンタである。タイムスタンプカウンタ140は、初期化時など特殊な場合は除き、原則として単調増加するものであってもよい。システム初期化時に、サーバ20のタイムスタンプカウンタ240の値にあわせてモバイル端末10のタイムスタンプカウンタ140を初期化した後、クロック信号発生部230あるいはクロック信号発生部130が発生する基準クロック信号を用いてカウンタを進めることにより、タイムスタンプカウンタ140とタイムスタンプカウンタ240の値は十分な精度(例えば少なくとも誤差1ms以下)で同期される。タイムスタンプカウンタ140の値は、例えば制御部100がセンサ部110からセンシングデータを取り込んだ時に参照され、そのセンシングデータのタイムスタンプとして利用される。また走査型ディスプレイにより実現される表示部160の表示制御についても、各フレームの走査開始のタイミング(通称、Vsync:Vertical Synchronizing signal(垂直同期信号))でタイムスタンプカウンタ値が参照され、次のVSync予定時刻の推定に利用される。
なお、上述したタイミング同期方法やその利用は一例であって、本開示はこれに限定されない。
記憶部150は、制御部100の処理に用いられるプログラムや演算パラメータ等を記憶するROM(Read Only Memory)、および適宜変化するパラメータ等を一時記憶するRAM(Random Access Memory)により実現される。
表示部160は、仮想オブジェクトの画像を表示する表示装置である。また、本実施形態による表示部160は、走査型ディスプレイ(Scanned Display)により実現される。走査型ディスプレイは、走査方向に対して垂直方向に複数分割された各スライス(表示領域)に順次表示を行う。すなわち走査型ディスプレイは、表示タイミングが異なる隣接した複数の表示領域を有する(画面の位置によって点灯時刻が異なる)。各スライスについては、図3を参照して後述する。また、より具体的には、走査型ディスプレイは、画像変形部103から出力されるピクセル列を表示する。走査型ディスプレイの種類としては、例えば下記2種類が想定される。
1つは、走査するラインを任意に選ぶことができる(すなわち走査する順番を任意に変えられる)タイプである。具体的には、OLED(Organic Light Emitting Diode)やLEDを利用したディスプレイが挙げられる。このタイプでは、各画素の点灯時間(hold time)も変更できる。もう1つは、走査するラインを任意に選べない(すなわち走査する順番を任意に変えられない)タイプである。具体的には、レーザ光源とMEMSミラーを組み合わせたLBS(レーザ走査型)ディスプレイが挙げられる。
また、走査型ディスプレイにより実現される表示部160は、実空間の光を直接ユーザの眼に届けることが可能な光学シースルーディスプレイであってもよいし、実空間の光が直接ユーザの眼には届かない非透過型のディスプレイであってもよい。また、表示部160は、光学シースルーディスプレイと非透過型のディスプレイとの間で切替可能なディスプレイであってもよい。また、表示部160は、HMDに設けられてもよいし、スマートフォンやタブレット端末等に設けられてもよい。また、表示部160は、モバイル端末10と通信接続する別体の装置に設けられていてもよい。
以上、モバイル端末10の構成について具体的に説明したが、本開示によるモバイル端末10の構成は図1に示す例に限定されない。例えば、モバイル端末10は、複数の装置により実現されてもよい。具体的には、HMD等により実現される表示装置(少なくとも表示部160に対応)と、スマートフォンやタブレット端末、PC等により実現される情報処理端末(少なくとも制御部100に対応する表示処理装置)とを含む構成であってもよい。
<1-2.サーバ20の構成例>
サーバ20は、図1に示すように、制御部200、通信部220、クロック信号発生部230、タイムスタンプカウンタ240、および記憶部250を有する。
サーバ20は、図1に示すように、制御部200、通信部220、クロック信号発生部230、タイムスタンプカウンタ240、および記憶部250を有する。
通信部220は、有線または無線によりモバイル端末10とネットワーク30を介して通信接続し、データの送受信を行う。例えば、通信部220は、モバイル端末10から位置姿勢情報を受信する。また、通信部220は、制御部200で生成した仮想オブジェクトの描画結果のデータをモバイル端末10に送信する。通信部220は、例えば、有線/無線LAN(Local Area Network)、またはWi-Fi(登録商標)、Bluetooth(登録商標)、携帯通信網(LTE(Long Term Evolution)、3G(第3世代の移動体通信方式)、4G(第4世代の移動体通信方式)、5G(第5世代の移動体通信方式))等であってもよい。
制御部200は、演算処理装置および制御装置として機能し、各種プログラムに従ってサーバ20内の動作全般を制御する。制御部200は、例えばCPU(Central Processing Unit)、マイクロプロセッサ等の電子回路によって実現される。また、制御部200は、使用するプログラムや演算パラメータ等を記憶するROM(Read Only Memory)、及び適宜変化するパラメータ等を一時記憶するRAM(Random Access Memory)を含んでいてもよい。
また、本実施形態による制御部200は、画像生成部201、位置姿勢予測部202、およびデータ符号部203としても機能する。画像生成部201は、モバイル端末10から受信した位置姿勢情報(頭部位置姿勢情報や眼球位置姿勢情報)を参照して仮想オブジェクトの描画を行い、画像として出力する機能を有する。VRの場合、画像生成部201は、位置姿勢情報に対応する視点位置(仮想空間内のユーザ視点)から見た仮想空間を描画する。また、画像生成部201から出力される描画結果には、RGB画像以外に、仮想オブジェクトの距離情報と、仮想オブジェクトの速度情報が含まれていてもよい。また、画像生成部201は、位置姿勢予測部202による最新の位置姿勢予測情報を参照して仮想オブジェクトの描画を行ってもよい。位置姿勢予測部202では、モバイル端末10から受信した位置姿勢情報に基づいて、所定時間後の位置姿勢情報を予測する。所定時間後とは、モバイル端末10での表示予想時刻を想定する。位置姿勢予測情報に基づく描画処理は、遅延補償の一つと言える。
データ符号部203は、画像生成部201から出力された描画結果を符号化する。制御部200は、データ符号部203により符号化されたデータを、通信部220からモバイル端末10に送信する。
クロック信号発生部230は、システム全体のタイミング制御の基準となるクロック信号を発生する機能を有する。サーバ20は、クロック信号発生部230により発生されたクロック信号を、通信部220からモバイル端末10に送信する。
タイムスタンプカウンタ240は、システム全体のタイミング制御用の時刻カウンタである。タイムスタンプカウンタ240は、クロック信号発生部230が発生する基準クロック信号を用いてカウンタを進める。
記憶部250は、制御部200の処理に用いられるプログラムや演算パラメータ等を記憶するROM(Read Only Memory)、および適宜変化するパラメータ等を一時記憶するRAM(Random Access Memory)により実現される。
以上、サーバ20の構成について具体的に説明したが、本開示によるサーバ20の構成は図1に示す例に限定されない。例えば、サーバ20は、複数の装置により実現されてもよい。
<<2.課題の整理>>
ここで、より高精細な描画処理は消費電力が増大し、描画処理を行う端末の放熱機構の大型化とバッテリ容量の増大に繋がるため、本実施形態のように仮想オブジェクトの描画をサーバ20で行うことで、モバイル端末10の小型化と軽量化を実現し得る。しかしながら、仮想オブジェクトの描画処理をサーバ20などの外部装置で行う場合、モバイル端末10単体で行う場合に比べて、通信や画像の圧縮/伸長により遅延が増大し、モバイル端末10で仮想オブジェクトを表示した際の仮想オブジェクトの定位感が損なわれる恐れがある。
ここで、より高精細な描画処理は消費電力が増大し、描画処理を行う端末の放熱機構の大型化とバッテリ容量の増大に繋がるため、本実施形態のように仮想オブジェクトの描画をサーバ20で行うことで、モバイル端末10の小型化と軽量化を実現し得る。しかしながら、仮想オブジェクトの描画処理をサーバ20などの外部装置で行う場合、モバイル端末10単体で行う場合に比べて、通信や画像の圧縮/伸長により遅延が増大し、モバイル端末10で仮想オブジェクトを表示した際の仮想オブジェクトの定位感が損なわれる恐れがある。
図2は、外部装置で描画処理を行う場合の遅延の長さについて説明する図である。図2に示す例では、まず、ユーザの眼球や頭部の位置姿勢推定が、ユーザの頭部に装着されたHMD等のモバイル端末に設けられた各種センサ(Eye Trackerや、Head Tracker)により行われ、位置姿勢情報が外部装置であるサーバに送信される(Upstream transfer)。サーバは、受信した位置姿勢情報に基づいて仮想オブジェクトの描画処理(すなわち仮想オブジェクトの画像生成)を行い(Render機能)、これを符号化(圧縮)し(Video Encode実施)、モバイル端末に送信する。モバイル端末は、データを受信すると(Downstream transfer)、符号化したデータを復号化(伸長)する(Video Decode実施)。ここまでで、既に通信およびデータの符号化・復号化による遅延(仮想オブジェクトの描画に用いられた位置姿勢情報の取得時刻からの時間経過)が生じている。仮想オブジェクトの描画に用いられた位置姿勢情報が取得された時刻から時間が経過しているため、その間にモバイル端末側で動きがあった場合、モバイル端末で表示される仮想オブジェクトの定位感が損なわれる恐れがある。すなわちARであれば実空間と、重畳表示される仮想オブジェクトの表示位置や姿勢のずれが生じ、ビデオシースルーディスプレイが用いられる場合も実空間の映像と、重畳表示される仮想オブジェクトの表示位置や姿勢のずれが生じる。また、VRの場合は仮想空間の映像がユーザの動きに追随せず(若しくは遅れて追随し)、違和感や不自然さが生じ、仮想空間への没入感が損なわれる。
なお、モバイル端末が有する表示部が走査型ディスプレイ(Scanned Display)を前提とした場合、モバイル端末は、走査方向に対して垂直方向に複数分割された各スライス(表示領域)に順次表示を行う。図3は、走査型ディスプレイにおける各スライスについて説明する図である。図3に示すように、走査型ディスプレイは、走査方向(図中のx軸方向)に対して垂直な方向(図中のy軸方向)に例えば5つのスライス(表示領域)に分割される。スライス同士の境界は、走査方向に略平行に設けられている。各スライスは、走査に従って順次表示処理が行われる。すなわち、走査型ディスプレイは、表示タイミングが異なる隣接した複数の表示領域を有する(画面の位置によって点灯時刻が異なる)。例えば、スライス1(S1)からスライス5(S5)まで順に表示処理が行われる。モバイル端末は、サーバから受信した仮想オブジェクトの描画結果のデータを、5つのスライスに分割し、順次走査して表示出力する。この際、モバイル端末は、各スライスの表示出力を行う直前に取得されたモバイル端末の位置姿勢情報に基づいてスライス毎に画像変形を行うことで、ユーザが感じる表示遅延を軽減することが可能である。画像変形としては、例えば時間伸縮(Time Warp)や歪み補正(Distortion Correction)が挙げられる。
しかしながら、外部装置で描画処理を行う場合、通信およびデータの符号化・復号化による遅延が大きく、上記表示出力時の画像変形の遅延補償だけでは十分ではない。例えば、眼球位置姿勢の推定(Eye tracker)が300fps(frames per second)動作で処理時間3.33msを仮定し、頭部位置姿勢の推定(Head tracker)は処理時間2msと仮定し、モバイル端末のサーバへの送信における通信遅延(Uplink latency)は5G URLLCの1msと仮定し、モバイル端末のサーバからの受信における通信遅延(Downlink latency)は5G eMBBの4msと仮定し、圧縮・ネットワーク転送・伸長の処理遅延はスループット60fpsを想定して16.7msと仮定し、走査型ディスプレイのVsync周期を16.7msとした場合、モバイル端末の位置姿勢情報の取得(センサによる検知)から表示までの遅延(Motion-to-photon latency)は、95ms(5.7V)程となる。なお、「表示まで」の「表示」時刻は、例えば1フレームの中央点を代表点とし(走査型ディスプレイが5つに均等に分割されている場合、中央に位置するスライス3の中心が相当)、当該代表点の表示タイミングを基準とする。図2に示す例では、描画および描画結果のデータ送信が1フレーム単位で行われており、Time Warpで18ms(1.1V)程に短縮することは可能であるが、補償期間(本例だと95ms(5.7V)程)が長く、ひずみが出やすい。
そこで、本開示によれば、外部装置で生成された仮想オブジェクトのデータを受信して表示する場合における遅延を低減することを可能とする表示処理システムを提案する。
以下、本開示の一実施形態による表示処理システムの技術的特徴について述べる。
<<3.技術的特徴>>
本実施形態による表示処理システムは、図1に示す構成を有し、外部装置であるサーバ20で生成された仮想オブジェクトのデータをモバイル端末10が受信して表示する場合における遅延を、より適切に低減する仕組みを実現する。具体的には、サーバ20の画像生成部201において、1フレームを複数の表示領域(本明細書ではスライスと称している)に分割して、スライス毎に描画を行い、各スライスの描画が終わった時点で、それぞれ順次圧縮し、送信する。すなわち、図2に示す例では、1フレーム単位で描画、符号化、および送信を行っていたが、本実施形態による表示処理システムでは、スライス単位で描画、符号化、および送信を行う。また、モバイル端末10においても、受信したスライス単位で、順次、復号化、画像変形、および表示出力を行う。このように、本実施形態による表示処理システムでは、スライス単位で描画、送信、変形、および表示出力をパイプライン処理することで、位置姿勢情報が取得されてから表示までの遅延時間(Motion-to-photon latency)を短縮することができる。以下、図4を参照して具体的に説明する。
本実施形態による表示処理システムは、図1に示す構成を有し、外部装置であるサーバ20で生成された仮想オブジェクトのデータをモバイル端末10が受信して表示する場合における遅延を、より適切に低減する仕組みを実現する。具体的には、サーバ20の画像生成部201において、1フレームを複数の表示領域(本明細書ではスライスと称している)に分割して、スライス毎に描画を行い、各スライスの描画が終わった時点で、それぞれ順次圧縮し、送信する。すなわち、図2に示す例では、1フレーム単位で描画、符号化、および送信を行っていたが、本実施形態による表示処理システムでは、スライス単位で描画、符号化、および送信を行う。また、モバイル端末10においても、受信したスライス単位で、順次、復号化、画像変形、および表示出力を行う。このように、本実施形態による表示処理システムでは、スライス単位で描画、送信、変形、および表示出力をパイプライン処理することで、位置姿勢情報が取得されてから表示までの遅延時間(Motion-to-photon latency)を短縮することができる。以下、図4を参照して具体的に説明する。
<3-1.スライス単位での処理>
図4は、本実施形態によるスライス単位での処理の一連の流れについて説明する図である。図4に示すように、本実施形態による表示処理システムでは、サーバ20の画像生成(画像生成部201における仮想オブジェクトの描画処理)において、1フレームを複数のスライスに分割して順次描画を行い、スライス単位で順次符号化、送信(モバイル端末10での受信)し、モバイル端末10においてもスライス単位の画像変形、および表示出力が行われる。分割するスライスの数や大きさは特に限定しない。サーバ20の画像生成部201は、一例として、1フレームを均等に分割してもよい。例えば画像生成部201は、図3に示すように1フレームをスライス1~スライス5の5つの表示領域に分割し、スライス1から順次描画する。
図4は、本実施形態によるスライス単位での処理の一連の流れについて説明する図である。図4に示すように、本実施形態による表示処理システムでは、サーバ20の画像生成(画像生成部201における仮想オブジェクトの描画処理)において、1フレームを複数のスライスに分割して順次描画を行い、スライス単位で順次符号化、送信(モバイル端末10での受信)し、モバイル端末10においてもスライス単位の画像変形、および表示出力が行われる。分割するスライスの数や大きさは特に限定しない。サーバ20の画像生成部201は、一例として、1フレームを均等に分割してもよい。例えば画像生成部201は、図3に示すように1フレームをスライス1~スライス5の5つの表示領域に分割し、スライス1から順次描画する。
なお、画像生成部201は、モバイル端末10から受信した位置姿勢情報(第1の動作情報の一例)に基づいて位置姿勢予測部202により予測された位置情報の予測結果を参照し、仮想オブジェクトの描画をスライス毎に行う。
モバイル端末10の通信部120は、スライス1(第1の表示領域)のデータを、第1の時刻t1に受信する。また、モバイル端末10の通信部120は、スライス1(第1の表示領域)に隣接するスライス2(第2の表示領域)のデータを、第1の時刻より後の第2の時刻t2に受信する。モバイル端末10の表示制御部105は、スライス1(第1の表示領域)のデータの表示部160への表示出力を開始した後に、スライス2(第2の表示領域)のデータを、スライス1のデータとともに1フレームとして表示出力を開始する制御を行う。
また、図4に示すように、モバイル端末10の通信部120は、サーバ20により描画される1フレームの一部に対応する第3の表示領域(例えばスライス5)のデータを、第2の時刻t2より後の第3の時刻t3に受信する。モバイル端末10の表示制御部105は、第3の時刻t3より前の時刻に、スライス1(第1の表示領域)のデータを表示開始するとともに、スライス2(第2の表示領域)のデータの表示開始よりも後に、スライス5(第3の表示領域)のデータを表示開始する。このように、第1の表示領域は少なくとも第3の時刻より前に表示開始され、モバイル端末10は、1フレーム全ての描画や受信を待たずに表示を開始することができ、遅延時間を短縮することができる。ここでは一例として、「第3の表示領域」として「スライス5」を挙げたが、本実施形態はこれに限定されず、「第3の表示領域」は、サーバ20により描画される1フレームの一部に対応する第1の表示領域および当該第1の表示領域に隣接する第2の表示領域以外の表示領域が該当する。例えば図4に示す例において、「第3の表示領域」が「スライス4」や「スライス3」であってもよい。また、ここでは第1の時刻~第3の時刻を、サーバ20から描画結果のデータを受信する受信時刻としたが、本実施形態はこれに限定されず、例えば、サーバ20が描画結果のデータをモバイル端末10に送信した時刻としてもよいし、モバイル端末10がサーバ20から受信した描画結果のデータを復号化した時刻としてもよいし、画像変形した時刻としてもよい。
なお、サーバ20の画像生成部201は、モバイル端末10から受信した位置姿勢情報(第1の動作情報の一例)に基づいて位置姿勢予測部202により予測された位置情報の予測結果に基づいて、仮想オブジェクトの描画をスライス毎に行い得る。また、画像生成部201によるスライス単位の描画結果は、RGB画像と、仮想オブジェクトの距離情報、および仮想オブジェクトの速度情報を含む。仮想オブジェクトの距離情報、および仮想オブジェクトの速度情報は、後述するモバイル端末10で行われる画像変形部103による画像変形(遅延補償の一つ)で用いられ得る。
また、モバイル端末10の画像変形部103による画像変形では、スライス毎に、直前に取得された位置姿勢情報(第2の動作情報の一例)や当該位置姿勢情報に基づく予測結果を参照して画像変形を行うことで、ユーザが感じる表示遅延を軽減することができる。画像変形としては、例えば時間伸縮(Time Warp)や歪み補正(Distortion Correction)が挙げられる。
スライス単位によるパイプライン処理の実行による遅延時間の短縮についてより具体的な数値を用いると、例えば図2を参照して上述した各種数値を仮定した場合、モバイル端末10の位置姿勢情報の取得(センサによる検知)から表示までの遅延は、42ms(2.7V)程となる。この場合、例えばTime Warpで18ms(1.1V)程に短縮したとしても、補償期間が図2に示す例より短いため(本例だと42ms(2.7V)程)、ひずみは出にくい。すなわち、補償期間に対して、画像変形により短縮した期間が所定値を上回る割合の場合、ひずみが生じ難いとも言える。
図5は、本実施形態による表示処理システムのスライス単位の表示処理の流れの一例を示すシーケンス図である。図5に示すように、まず、モバイル端末10の位置姿勢推定部101は、センサ部110のセンシングデータに基づいてユーザの頭部および眼球の位置姿勢推定を行い(ステップS103)、推定された位置姿勢情報をサーバ20に送信する(ステップS106)。
次に、サーバ20の画像生成部201は、受信した位置姿勢情報(第1の動作情報)に基づいて、スライス単位で仮想オブジェクトの画像生成(描画処理)を行う(ステップS109)。この際、画像生成部201は、受信した位置姿勢情報に基づいて位置姿勢予測部202で予測した所定時間の位置姿勢情報予測結果を参照して仮想オブジェクトの描画を行ってもよい。
次いで、サーバ20は、スライス単位の描画結果のデータを順次モバイル端末10に送信する(ステップS112)。具体的には、サーバ20は、画像生成部201から出力されるスライス単位の描画結果のデータを順次データ符号部203で符号化し、通信部220からモバイル端末10に送信する。モバイル端末10では、受信したスライス単位の描画結果のデータを順次復号化する。
次に、モバイル端末10の画像変形部103は、直近の位置姿勢情報(第2の動作情報)に基づいて、受信したスライス単位の描画結果に含まれる画像データ(仮想オブジェクトのスライス単位の画像データ)を変形する(ステップS115)。この際、画像変形部103は、直近の位置姿勢情報に基づいて位置姿勢予測部104で予測した所定時間(表示予定時間)の位置姿勢情報予測結果を参照して画像変形を行ってもよい。
そして、モバイル端末10の表示制御部105は、画像変形したスライス単位の画像データの表示を開始する(ステップS118)。サーバ20からは、スライス単位の描画結果のデータが順次送信され続け、モバイル端末10は、スライス単位で復号化、画像変形、および表示処理を行う。
このように、本実施形態では、スライス単位で描画、送受信、変形、および表示出力をパイプライン処理することで、位置姿勢情報が取得されてから表示までの遅延時間を短縮することができる。
<3-2.優先的処理>
上述した例では、1フレームを分割したスライス1~スライス5を上から順次処理する場合(スライス1、スライス2、スライス3、スライス4、スライス5、の順)について説明したが、処理順はこれに限定されない。例えば画面上の注視点近傍など、ユーザにとって重要な領域から優先的に処理を実行して、体感上の遅延を短縮することも可能である。
上述した例では、1フレームを分割したスライス1~スライス5を上から順次処理する場合(スライス1、スライス2、スライス3、スライス4、スライス5、の順)について説明したが、処理順はこれに限定されない。例えば画面上の注視点近傍など、ユーザにとって重要な領域から優先的に処理を実行して、体感上の遅延を短縮することも可能である。
領域の重要度は、画面内に表示する内容や、ユーザの視線方向(あるいは画面上の注視点)から求められ得る。例えばサーバ20の画像生成部201は、1フレームに表示する内容や、ユーザの視線方向(あるいは画面上の注視点)に基づいて、1フレーム内の重要度分布を求め、領域の分割や描画順序を決定する。例えば画像生成部201は、画面内でユーザが注視している注視点を中心として表示領域を各スライスに分割し、さらに各スライスの描画優先度を決定する。注視点は、モバイル端末10から送信される位置姿勢情報(例えば眼球の位置姿勢情報)から得られる。図6は、本実施形態による注視点に応じた各スライスの重要度について説明する図である。例えば画像生成部201は、図6に示すように、注視点Pを中心として表示領域を5つのスライスに分割し、注視点Pを含むスライス3の重要度を最も高く設定する。
(走査ラインを任意に変えられる場合)
モバイル端末10の表示部160が、走査ラインを任意に変えられるタイプのディスプレイの場合、画像生成部201は、注視点Pの近傍程需要度を高く設定し、例えばスライス3、スライス4、スライス2、スライス5、スライス1、の順番に決定する。そして、この順番で描画、符号化、送受信、復号化、画像変形、および表示処理が行われる。
モバイル端末10の表示部160が、走査ラインを任意に変えられるタイプのディスプレイの場合、画像生成部201は、注視点Pの近傍程需要度を高く設定し、例えばスライス3、スライス4、スライス2、スライス5、スライス1、の順番に決定する。そして、この順番で描画、符号化、送受信、復号化、画像変形、および表示処理が行われる。
図7は、本実施形態による優先的処理における各スライスの表示順について説明する図である。本実施形態による描画から表示出力までの各処理はパイプライン処理により実行されるため、上記順番で処理が行われた場合、表示部160では、図7に示すように、スライス3、スライス4、スライス2、スライス5、スライス1、の順番で表示処理が行われる。この場合、単純に画面上部から分割表示するよりも、重要領域(本例ではスライス3の領域)の遅延を短縮することが可能となる。
図8は、本実施形態によるスライス単位での処理を優先的に任意の順番で行う一連の流れについて説明する図である。図8に示すように、例えば注視点に応じた重要度の高さに基づいて、スライス3、スライス4、スライス2、スライス5、スライス1の順番で描画、符号化、受信、復号化、画像変形、表示出力が行われる。
モバイル端末10の通信部120は、注視点を含む領域に位置するスライス3(第1の表示領域の一例)のデータを、第1の時刻t1に受信する。また、モバイル端末10の通信部120は、スライス3に隣接するスライス4(第2の表示領域の一例)のデータを、第1の時刻より後の第2の時刻t2に受信する。モバイル端末10の表示制御部105は、スライス3(第1の表示領域)のデータの表示部160への表示出力を開始した後に、スライス4(第2の表示領域)のデータを、スライス1のデータとともに1フレームとして表示出力を開始する制御を行う。
また、図8に示すように、モバイル端末10の通信部120は、サーバ20により描画される1フレームの一部に対応する第3の表示領域(ここでは、例えばスライス1)のデータを、第2の時刻t2より後の第3の時刻t3に受信する。モバイル端末10の表示制御部105は、第3の時刻t3より前の時刻に、スライス3(第1の表示領域)のデータを表示開始するとともに、スライス4(第2の表示領域)のデータの表示開始よりも後に、スライス1(第3の表示領域)のデータを表示開始する。このように、第1の表示領域は少なくとも第3の時刻より前に表示開始され、モバイル端末10は、1フレーム全ての描画や受信を待たずに表示を開始することができ、遅延時間を短縮することができる。
この際、モバイル端末10の位置姿勢情報の取得(センサによる検知)から表示(重要領域であるスライス3の表示)までの遅延は、例えば図2を参照して上述した各種数値を仮定した場合、28ms(1.7V)程となり、図4を参照して説明した例よりさらに遅延が短縮する。また、例えばTime Warpで10ms(0.6V)程に短縮することも可能となる。
なお、モバイル端末10の表示制御部105は、走査ラインを任意に変えられるタイプのディスプレイの場合における表示出力での各画素のhold timeを短くしてもよい。例えば図8に示す例ではduty比20%(=3.3ms)を想定する。これにより、スライス間の境目で発生するティアリングと称される現象を見えにくくすることが可能となる。ティアリングとは、1画面に映る映像が途中で(スライスの分割線で)ずれたように見える現象であり、screen tearingとも称される。詳しくは後述するが、例えば図7に示すような順番で表示出力を行う場合、スライス3の後に表示されるスライス2など、走査方向とは逆順で隣接するスライスを描画するとき、先に表示したスライス3を消灯して(hold timeを短くして)黒挿入される時間を確保してからスライス2を点灯することで、スライス境界のティアリングを見えにくくすることができる。
図9は、本実施形態によるスライス単位での処理を優先的に任意の順番で行う表示処理の流れの一例を示すシーケンス図である。図9に示すように、まず、モバイル端末10の位置姿勢推定部101は、センサ部110のセンシングデータに基づいてユーザの頭部および眼球の位置姿勢推定を行い(ステップS123)、推定された位置姿勢情報をサーバ20に送信する(ステップS126)。
次に、サーバ20の画像生成部201は、重要度に応じて分割領域と描画順序(スライスの描画順序)を決定する(ステップS127)。重要度は、例えばモバイル端末10から送信された位置姿勢情報から特定される画面上の注視点に応じて求めてもよい。なお、画面上の注視点の情報は、モバイル端末10で特定され、サーバ20に送信されてもよい。
続いて、画像生成部201は、受信した位置姿勢情報(第1の動作情報)に基づいて、仮想オブジェクトの画像生成(描画処理)を決定した順序に従ってスライス単位で行う(ステップS129)。この際、画像生成部201は、受信した位置姿勢情報に基づいて位置姿勢予測部202で予測した所定時間の位置姿勢情報予測結果を参照して仮想オブジェクトの描画を行ってもよい。
次いで、サーバ20は、スライス単位の描画結果のデータを順次モバイル端末10に送信する(ステップS132)。具体的には、サーバ20は、画像生成部201から出力されるスライス単位の描画結果のデータを順次データ符号部203で符号化し、通信部220からモバイル端末10に送信する。モバイル端末10では、受信したスライス単位の描画結果のデータを順次復号化する。なお、いずれも決定した順序でパイプライン処理される。
次に、モバイル端末10の画像変形部103は、直近の位置姿勢情報(第2の動作情報)に基づいて、受信したスライス単位の描画結果に含まれる画像データ(仮想オブジェクトのスライス単位の画像データ)を変形する(ステップS135)。この際、画像変形部103は、直近の位置姿勢情報に基づいて位置姿勢予測部104で予測した所定時間(表示予定時間)の位置姿勢情報予測結果を参照して画像変形を行ってもよい。
そして、モバイル端末10の表示制御部105は、画像変形したスライス単位の画像データの表示を開始する(ステップS138)。サーバ20からは、スライス単位の描画結果のデータが順次送信され続け、モバイル端末10は、スライス単位で復号化、画像変形、および表示処理を行う。
このように、本実施形態では、スライス単位で描画、送受信、変形、および表示出力をパイプライン処理する際、注視点等に基づく重要度に応じて決定した順序でスライス単位の描画を始めることで、重要度の高いスライスから優先的に表示することができ、表示遅延をユーザの体感的にさらに短縮することができる。
(走査ラインを任意に変えられない場合)
モバイル端末10の表示部160が、走査ラインを任意に変えられないタイプのディスプレイの場合、画像生成部201は、例えば注視点Pに応じて最も重要度の高い領域のスライスを描画処理の先頭に設定する。これにより、例えばスライス3の重要度が最も高い場合、図10に示すように、スライス3を先頭に(優先的に)表示出力を開始することが可能となる。表示処理は、次いで、スライス4、スライス5、スライス1、スライス2、の順番で行われ得る。スライス2の次は、次のフレームのスライス3が表示される。
モバイル端末10の表示部160が、走査ラインを任意に変えられないタイプのディスプレイの場合、画像生成部201は、例えば注視点Pに応じて最も重要度の高い領域のスライスを描画処理の先頭に設定する。これにより、例えばスライス3の重要度が最も高い場合、図10に示すように、スライス3を先頭に(優先的に)表示出力を開始することが可能となる。表示処理は、次いで、スライス4、スライス5、スライス1、スライス2、の順番で行われ得る。スライス2の次は、次のフレームのスライス3が表示される。
このように、重要度の高いスライスを優先して表示することで、表示遅延をユーザの体感的にさらに短縮することができる。以下、図11を参照して具体的に説明する。
図11は、本実施形態によるスライス単位での処理において重要度の高いスライスを先頭に処理する一連の流れについて説明する図である。図11に示すように、サーバ20は、モバイル端末10から送信された眼球や頭部の位置姿勢情報に基づいて、例えば注視点に応じて重要度が高いスライス3を先頭に、スライス4、スライス5、スライス1、スライス2の順番で描画処理を行う。また、続く符号化、受信、復号化、画像変形、表示出力の処理も、スライス3、スライス4、スライス5、スライス1、スライス2の順番でパイプライン処理される。これにより、モバイル端末10の位置姿勢情報の取得(センサによる検知)から表示(重要領域であるスライス3の表示)までの遅延は、例えば図2を参照して上述した各種数値を仮定した場合、30ms(1.8V)程となり、図4を参照して説明した例よりさらに遅延が短縮する。また、例えばTime Warpで8.3ms(0.5V)程に短縮することも可能となる。
なお、ここで、スライス3、スライス4、スライス5、スライス1、スライス2の順番のように1フレームを形成する複数のスライスのうちスライス2以降のいずれかのスライスを先頭に設定した場合、スライスの境目でティアリングが起こる可能性がある。特に、注視点の近傍など、ユーザにとって重要な領域から順に描画、送信、表示の処理を行った場合、ティアリングが目に付き易い可能性もある。図11に示す例では、スライス3を描画処理の先頭に設定しているため、i番目のフレームのスライス2iと、i+1番目のフレームのスライス3i+1との間(境界)でティアリングが起こる場合がある。この場合、詳細は後述するが、境界をまたぐ仮想オブジェクトの輪郭が連続して見えるよう画像変形することで、スライス間のティアリングを見えにくくすることができる。図11に示す例では、モバイル端末10の画像変形部103において、i番目のフレームのスライス2iと、i+1番目のフレームのスライス3i+1とに基づいて、これらのスライスの境界をまたぐ仮想オブジェクトの輪郭が連続して見えるよう、スライス2iを画像変形する。
以下、本実施形態によるティアリングの抑制について具体的に説明する。
<3-3.ティアリングの抑制>
(3-3-1.黒挿入期間)
第1の対策として、モバイル端末10の表示制御部105が、各スライスの領域に対応する各画素の点灯時間を短くする(hold timeを短くする)制御が挙げられる。これにより、先に表示したスライス(第1のスライス)に対して走査順(例えば画面上方から下方)方向と逆側に隣接するスライス(第3のスライス)を表示する際に、消灯による黒挿入の時間を確保する。具体的には、表示制御部105が表示順序を決定する際に、隣接するスライスの更新タイミングを離すことで黒挿入の期間を作ることが可能となる。
(3-3-1.黒挿入期間)
第1の対策として、モバイル端末10の表示制御部105が、各スライスの領域に対応する各画素の点灯時間を短くする(hold timeを短くする)制御が挙げられる。これにより、先に表示したスライス(第1のスライス)に対して走査順(例えば画面上方から下方)方向と逆側に隣接するスライス(第3のスライス)を表示する際に、消灯による黒挿入の時間を確保する。具体的には、表示制御部105が表示順序を決定する際に、隣接するスライスの更新タイミングを離すことで黒挿入の期間を作ることが可能となる。
例えば図8に示す例では、スライス3(第1のスライス)に対して走査順方向と逆側に隣接するスライス2(第3のスライス)を表示する際に、黒挿入の期間を設ける。表示される各スライスは、画像変形部103により、スライス毎にそれぞれ直近の位置姿勢情報や予測に基づいて画像変形が行われている。このため、例えばスライス3、スライス4、スライス2、スライス5、スライス1の順で画像変形および表示を行うと、スライス2とスライス3の境界をまたぐ仮想オブジェクトの輪郭がずれる可能性がある。このような場合に、スライス3とスライス2が同時に表示されている期間があると、輪郭のずれが目立つ可能性がある。また、特に注視点の近傍など、スライス3はユーザにとって重要な領域であるため、ティアリングが目に付き易い可能性もある。
そこで、上述したように、各画素の点灯時間(hold time)を短くすることで、例えばスライス3とスライス2が同時に表示される期間を作らず、間に黒挿入の期間を設けることができる。これにより、仮想オブジェクトの輪郭のずれ等のティアリングをユーザに知覚され難くすることが可能となり、ユーザに対してより快適な視聴体験を提供することができる。
(3-3-2.画像変形)
第2の対策として、モバイル端末10の画像変形部103が、仮想オブジェクトの輪郭線を変形することが挙げられる。具体的には、画像変形部103は、隣接する2つのスライスの画像データに基づいて、これらのスライスの境界をまたぐ仮想オブジェクトの輪郭線が連続するよう画像変形を行う。
第2の対策として、モバイル端末10の画像変形部103が、仮想オブジェクトの輪郭線を変形することが挙げられる。具体的には、画像変形部103は、隣接する2つのスライスの画像データに基づいて、これらのスライスの境界をまたぐ仮想オブジェクトの輪郭線が連続するよう画像変形を行う。
特に、図11を参照して説明したような、走査ラインを任意に選べないタイプのディスプレイの場合に注視点等に応じて決定した重要なスライスを描画処理の先頭に設定した場合、i番目のフレームの最後に表示されるスライス(例えばスライス2i)と、i+1番目のフレームの最初に表示されるスライス(例えばスライス3i+1)との間(境界)でティアリングが起こる可能性が高い。この場合、画像変形部103は、スライス2iの仮想オブジェクトの輪郭線を、スライス3i+1の輪郭線に連続するよう変形することで、ティアリングを低減することが可能となる。
また、ここで説明する仮想オブジェクトの輪郭線を変形する方法は、図8を参照して説明したような、走査ラインを任意に選るタイプのディスプレイの場合において注視点等に応じた重要度の分布による任意の順で各スライスを表示する場合に適用してもよい。
以下、図12~図16を参照して具体的に説明する。
図12は、本実施形態による画像変形部103の機能構成の一例を示すブロック図である。図12に示すように、画像変形部103は、仮想オブジェクト動作予測変形部1031と、位置姿勢予測変形部1032と、スライス間輪郭変形部1033と、として機能する。なお仮想オブジェクト動作予測変形部1031、位置姿勢予測変形部1032、およびスライス間輪郭変形部1033は、いずれもスライス単位での変形を行う。
まず、画像変形部103には、サーバ20からスライス単位で送信される描画結果に含まれる画像データ(RGB画像)と、当該描画結果に含まれる仮想オブジェクトの距離情報や速度情報が入力される。ここで、図13に、サーバ20の画像生成部201によりスライス単位で生成される画像の一例を示す。
画像生成部201は、図13に示すように、ユーザUの動きと仮想オブジェクト30の動きを考慮してi番目のフレームをスライス単位で描画し、次に、新たに取得したユーザUの動きと仮想オブジェクト30の動きを考慮してi+1番目のフレームをスライス単位で描画する。ユーザUの動きは、上述したように、モバイル端末10から送信される位置姿勢情報や、当該位置姿勢情報に基づいて位置姿勢予測部202により予測される所定時間後(表示予想時刻)の位置姿勢情報を参照することで考慮し得る。さらに、画像生成部201は、スライス単位で仮想オブジェクト30を描画する際に、仮想オブジェクト30の速度情報や、ユーザUから仮想オブジェクト30までの距離情報を考慮してもよい。
なお、図13右に示す例では、表示遅延短縮を図るために注視点Pを含むスライス3が描画処理の先頭に設定され、スライス3、スライス4、スライス5、スライス1、スライス2の順序で、順次、スライス単位で描画されている。また、画像生成部201は、スライス毎に順次描画を行う際、描画時点での仮想オブジェクト30の動きに応じて描画するため、スライス毎に仮想オブジェクトの描画位置が変化している。そして、スライス単位の描画結果には、生成画像(RGB画像)と、仮想オブジェクト50の距離情報および速度情報が含まれる。
仮想オブジェクト動作予測変形部1031は、入力された仮想オブジェクトの速度情報や距離情報に基づいて、所定時間後(表示予想時刻)における仮想オブジェクトの位置を予測し、予測される位置に仮想オブジェクトが表示されるよう、スライス単位の生成画像を画像変形する。
位置姿勢予測変形部1032は、位置姿勢予測部104から最新の位置姿勢情報の予測結果を取得し、当該予測結果に基づいて、所定時間後(表示予想時刻)における視点位置から見た位置に仮想オブジェクトが表示されるよう、スライス単位の生成画像をさらに画像変形する。
このように、モバイル端末10側においても仮想オブジェクトの位置やユーザの位置姿勢を予測して画像変形を行うことで、仮想オブジェクトの表示遅延を最大限軽減することが可能となる。
しかしながら、注視点を含む等の重要度の高いスライスを優先的に描画、送信-受信、表示する場合、図14に示すように、i番目のフレームの最後に表示されるスライス2iと、i+1番目のフレームの最初に表示されるスライス3i+1との間でティアリングの現象が起こる可能性がある。かかるティアリングは、予測誤差により発生する可能性もある。特に、スライス3i+1はフレームの切り替わり部分であるため、直前のスライスとの間でティアリングを起こしやすい。また、スライス3i+1は注視点Pを含む重要度の高い表示領域であるため、ティアリングが目立ち易い。また、走査ラインを任意の順番で制御できるタイプのディスプレイでも、輝度を上げるため点灯時間を長くして黒挿入の期間を作らない場合、同様にティアリングが発生し得る。
そこで、本実施形態では、スライス間輪郭変形部1033において、スライスをまたぐ仮想オブジェクトの輪郭が連続するよう変形する処理を行う。図15は、本実施形態による仮想オブジェクトの輪郭線の画像変形について説明する図である。
まず、サーバ20の画像生成部201は、注視点を含む(i+1番目のフレームの)スライス3i+1の描画時に、少し上方向にスライスの幅を広げて描画を行い、直前に表示される(i番目のフレームの)スライス2iとの間で重なる領域(以下、重複領域52と称する)を作っておく。次いで、モバイル端末10の画像変形部103は、仮想オブジェクト動作予測変形部1031による仮想オブジェクトの動作予測に基づく変形と、位置姿勢予測変形部1032による位置姿勢予測に基づく変形とを経て、スライス間輪郭変形部1033により、スライス間の仮想オブジェクトの輪郭線の変形を行う。具体的には、図15に示す重複領域52における仮想オブジェクトの輪郭線のずれが最小になるよう、画像変形を行う(画像変形を行ったスライス2i’の取得)。すなわち、スライス間輪郭変形部1033は、スライス2iのうち、スライス3i+1と重複する重複領域52における仮想オブジェクトの輪郭線を、スライス3i+1における仮想オブジェクトの輪郭線に近付けることで、スライス2iとスライス3i+1との間で輪郭線が連続して見えるようにする。輪郭線の変形は、例えば、頂点集合(ポリゴンメッシュ)を利用して行われ得る。
図16は、本実施形態による仮想オブジェクトの輪郭線の変形について具体的に説明する図である。図16に示すように、まず、スライス間輪郭変形部1033は、隣接するスライスの重複領域52について、輪郭抽出を行う。隣接するスライスの重複領域52とは、例えば、i番目のフレームのスライス2iにおける重複領域52iと、i+1番目のフレームのスライス3i+1における重複領域52i+1である。
次に、スライス間輪郭変形部1033は、抽出した輪郭同士で対応点(対応する頂点)を見つけ、対応点をそれぞれポリゴンメッシュにする。次いで、2つのポリゴンメッシュ(重複領域52iのポリゴンメッシュと重複領域52i+1のポリゴンメッシュ)を合成する。そして、スライス間輪郭変形部1033は、重複領域52iに合成メッシュを適用して、輪郭のずれを最小化した画像を得る。
なお、2つのポリゴンメッシュの合成では、スライスをまたいで輪郭線が連続して見えるようにするため、重複領域の上部では上に位置するスライスの領域(重複領域52i)に、下部では下に位置するスライスの領域(重複領域52i+1)に近付けるようメッシュの制御点を選ぶ必要がある。より具体的には、例えば下記のような実装例が挙げられる。
なお、以上説明したスライス間をまたぐ仮想オブジェクトの輪郭線の変形方法は一例であって、本実施形態はこれに限定されない。
(3-3-3.分割線の調整)
第3の対策として、サーバ20の画像生成部201により、1フレームを複数の領域に分割する分割線を調整することが挙げられる。ユーザの注視点付近にスライスの境界(分割線)があるとティアリングが目に付き易いため、画像生成部201は、注視点がスライスの中央付近(幅方向の中央)になるよう、各分割線を調整する。以下、図17を参照して説明する。
第3の対策として、サーバ20の画像生成部201により、1フレームを複数の領域に分割する分割線を調整することが挙げられる。ユーザの注視点付近にスライスの境界(分割線)があるとティアリングが目に付き易いため、画像生成部201は、注視点がスライスの中央付近(幅方向の中央)になるよう、各分割線を調整する。以下、図17を参照して説明する。
図17は、本実施形態による1フレームを複数のスライスに分割する分割線の調整について説明する図である。図17左に示すように、画像生成部201は、通常は所定のスライス数で1フレームの高さhsを均等に分割するところ(表示時間が均等となる)、図17中央に示すように、注視点がスライスS3の幅方向(高さ方向)の中央付近になるよう、各分割線を調整(換言すると、各スライスの幅を調整)する。また、画像生成部201は、注視点が上下に多少動く可能性も考慮して、注視点が動かない場合でも、図17右に示すように、フレーム毎にランダムに分割線を上下に変動させてティアリングをさらに低減させてもよい。すなわち、画像生成部201は、注視点を含むスライス(第1の表示領域)の幅(高さ)をフレーム毎に変更し、少なくとも連続するフレーム間で異ならせる。
より具体的には、例えば注視点を含むスライスj(j番目のスライス)の上辺のy座標ys[j]は、下記式により求められる。ただし、jは1≦j≦Nの整数である。
次いで、図17中央に示すように、注視点のy座標をygazeとした場合におけるスライスjの上辺のy座標ys[j]は、下記式により求められる。ただし、jが2≦j≦Nの整数のときであり、j=1のときは、ys[1]=0である。
また、図17右に示すように分割線をランダムにずらす際は、下記式に示すようにdither項を導入してys[j]を求める。ただし、jが2≦j≦Nの整数のときとする。ここで、dither項[i,j]は、i番目のフレームのj番目のスライスである。また、j=1のときは、ys[1]=0である。
<<4.補足>>
上述したように、本開示の実施形態では外部装置で生成された仮想オブジェクトのデータを受信して表示する場合における遅延を低減することが可能となる。
上述したように、本開示の実施形態では外部装置で生成された仮想オブジェクトのデータを受信して表示する場合における遅延を低減することが可能となる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本技術はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
例えば、上述した実施形態では、位置姿勢推定部101において、頭部位置姿勢推定と眼球位置姿勢推定を行う旨を説明したが、本開示はこれに限定されない。例えば頭部位置姿勢のみを推定してサーバ20に頭部位置姿勢情報を送信してもよい。また、上述した実施形態では、位置姿勢予測部104において、頭部位置姿勢の予測と眼球位置姿勢の予測を行う旨を説明したが、本開示はこれに限定されない。例えば頭部位置姿勢の予測のみを行って、画像変形部103に予測結果を出力してもよい。画像変形部103は、頭部位置姿勢情報または頭部位置姿勢の予測結果のみを用いて画像変形を行ってもよい。また、頭部位置姿勢と眼球位置姿勢は、ユーザの動作情報の一例であって、本開示はこれに限定されない。
また、上述したモバイル端末10、またはサーバ20に内蔵されるCPU、ROM、およびRAM等のハードウェアに、モバイル端末10、またはサーバ20の機能を発揮させるためのコンピュータプログラムも作成可能である。また、当該コンピュータプログラムを記憶させたコンピュータ読み取り可能な記憶媒体も提供される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、本技術は以下のような構成も取ることができる。
(1)
モバイル端末の第1の動作情報を外部装置に送信する送信部と、
前記外部装置により前記第1の動作情報に基づいて描画された仮想オブジェクトの第1の表示領域のデータを、第1の時刻に受信し、
前記外部装置により前記第1の動作情報に基づいて描画された前記仮想オブジェクトの前記第1の表示領域に隣接する第2の表示領域のデータを、前記第1の時刻より後の第2の時刻に受信する受信部と、
前記受信した第1の表示領域のデータを表示した後に、前記第2の表示領域のデータを前記第1の表示領域のデータとともに1フレームとして前記モバイル端末の表示装置に表示する制御を行う表示制御部と、
を備える、表示処理装置。
(2)
前記受信部は、前記外部装置により前記第1の動作情報に基づいて描画された、前記1フレームの一部に対応する前記仮想オブジェクトの第3の表示領域のデータを、前記第2の時刻より後の第3の時刻に受信し、
前記表示制御部は、前記第3の時刻より前の時刻に前記第1の表示領域のデータを表示するとともに、前記第2の表示領域のデータの表示よりも後に前記第3の表示領域のデータを表示する前記表示装置を制御する、前記(1)に記載の表示処理装置。
(3)
前記表示処理装置は、
前記受信した第2の表示領域のデータを、前記第1の動作情報より後に取得された第2の動作情報に基づいて変形する変形部をさらに備え、
前記表示制御部は、前記変形された第2の表示領域のデータを表示する制御を行う、前記(1)または(2)に記載の表示処理装置。
(4)
前記第1の表示領域は、前記表示装置に表示される1フレームの領域を分割した表示領域のうち、前記表示装置上におけるユーザの注視点を含む領域に位置する表示領域である、前記(3)に記載の表示処理装置。
(5)
前記第2の表示領域は、前記第2の表示領域より後の第3の時刻に前記受信部により受信される第3の表示領域よりも前記注視点に近い領域に位置する表示領域である、前記(4)に記載の表示処理装置。
(6)
前記変形部は、前記表示装置に表示される1フレームを形成する複数の表示領域のうち、隣接する複数の表示領域の境界をまたぐ仮想オブジェクトの輪郭線が連続するよう変形する、前記(4)または(5)に記載の表示処理装置。
(7)
前記表示制御部は、前記第1の表示領域に対して前記第2の表示領域とは逆側に隣接し、前記第2の時刻より後の第3の時刻に受信する第3の表示領域のデータを、前記第1の表示領域のデータの表示を終了してから一定時間経過後に表示する制御を行う、前記(4)~(6)のいずれか1項に記載の表示処理装置。
(8)
前記第1の表示領域は、前記注視点が、前記第1の表示領域の幅方向の中央に位置するよう生成される、前記(4)~(7)のいずれか1項に記載の表示処理装置。
(9)
前記第1の表示領域の幅は、連続するフレーム間で異なる、前記(8)に記載の表示処理装置。
(10)
前記第1の動作情報は、前記モバイル端末に設けられたモーションセンサにより検知された位置および姿勢の情報を含む、前記(1)~(9)のいずれか1項に記載の表示処理装置。
(11)
前記第2の動作情報は、前記モバイル端末に設けられたモーションセンサにより検知された位置および姿勢の情報を含み、
前記変形部は、前記第2の動作情報に基づいて予測された結果に基づいて前記第2の表示領域のデータを変形する、前記(3)に記載の表示処理装置。
(12)
プロセッサが、
モバイル端末の第1の動作情報を外部装置に送信することと、
前記外部装置により前記第1の動作情報に基づいて描画された仮想オブジェクトの第1の表示領域のデータを、第1の時刻に受信することと、
前記外部装置により前記第1の動作情報に基づいて描画された前記仮想オブジェクトの前記第1の表示領域に隣接する第2の表示領域のデータを、前記第1の時刻より後の第2の時刻に受信することと、
前記受信した第1の表示領域のデータを表示した後に、前記第2の表示領域のデータを前記第1の表示領域のデータとともに1フレームとして前記モバイル端末の表示装置に表示する制御を行うことと、
を含む、表示処理方法。
(13)
コンピュータを、
モバイル端末の第1の動作情報を外部装置に送信する送信部と、
前記外部装置により前記第1の動作情報に基づいて描画された仮想オブジェクトの第1の表示領域のデータを、第1の時刻に受信し、
前記外部装置により前記第1の動作情報に基づいて描画された前記仮想オブジェクトの前記第1の表示領域に隣接する第2の表示領域のデータを、前記第1の時刻より後の第2の時刻に受信する受信部と、
前記受信した第1の表示領域のデータを表示した後に、前記第2の表示領域のデータを前記第1の表示領域のデータとともに1フレームとして前記モバイル端末の表示装置に表示する制御を行う表示制御部と、
として機能させるためのプログラムが記憶された、記憶媒体。
(14)
モバイル端末の第1の動作情報を受信する受信部と、
前記第1の動作情報に基づいて、1フレームの一部として描画される仮想オブジェクトの第1の表示領域のデータを、第1の時刻に、前記モバイル端末の表示装置に前記第1の表示領域のデータを表示する制御を行う表示処理装置に送信し、
前記第1の動作情報に基づいて、前記第1の表示領域のデータを描画した後に、前記1フレームの他の一部として描画される前記仮想オブジェクトの前記第1の表示領域に隣接する第2の表示領域のデータを、前記第1の時刻より後の第2の時刻に前記表示処理装置に送信する送信部と、
を備える、情報処理装置。
(1)
モバイル端末の第1の動作情報を外部装置に送信する送信部と、
前記外部装置により前記第1の動作情報に基づいて描画された仮想オブジェクトの第1の表示領域のデータを、第1の時刻に受信し、
前記外部装置により前記第1の動作情報に基づいて描画された前記仮想オブジェクトの前記第1の表示領域に隣接する第2の表示領域のデータを、前記第1の時刻より後の第2の時刻に受信する受信部と、
前記受信した第1の表示領域のデータを表示した後に、前記第2の表示領域のデータを前記第1の表示領域のデータとともに1フレームとして前記モバイル端末の表示装置に表示する制御を行う表示制御部と、
を備える、表示処理装置。
(2)
前記受信部は、前記外部装置により前記第1の動作情報に基づいて描画された、前記1フレームの一部に対応する前記仮想オブジェクトの第3の表示領域のデータを、前記第2の時刻より後の第3の時刻に受信し、
前記表示制御部は、前記第3の時刻より前の時刻に前記第1の表示領域のデータを表示するとともに、前記第2の表示領域のデータの表示よりも後に前記第3の表示領域のデータを表示する前記表示装置を制御する、前記(1)に記載の表示処理装置。
(3)
前記表示処理装置は、
前記受信した第2の表示領域のデータを、前記第1の動作情報より後に取得された第2の動作情報に基づいて変形する変形部をさらに備え、
前記表示制御部は、前記変形された第2の表示領域のデータを表示する制御を行う、前記(1)または(2)に記載の表示処理装置。
(4)
前記第1の表示領域は、前記表示装置に表示される1フレームの領域を分割した表示領域のうち、前記表示装置上におけるユーザの注視点を含む領域に位置する表示領域である、前記(3)に記載の表示処理装置。
(5)
前記第2の表示領域は、前記第2の表示領域より後の第3の時刻に前記受信部により受信される第3の表示領域よりも前記注視点に近い領域に位置する表示領域である、前記(4)に記載の表示処理装置。
(6)
前記変形部は、前記表示装置に表示される1フレームを形成する複数の表示領域のうち、隣接する複数の表示領域の境界をまたぐ仮想オブジェクトの輪郭線が連続するよう変形する、前記(4)または(5)に記載の表示処理装置。
(7)
前記表示制御部は、前記第1の表示領域に対して前記第2の表示領域とは逆側に隣接し、前記第2の時刻より後の第3の時刻に受信する第3の表示領域のデータを、前記第1の表示領域のデータの表示を終了してから一定時間経過後に表示する制御を行う、前記(4)~(6)のいずれか1項に記載の表示処理装置。
(8)
前記第1の表示領域は、前記注視点が、前記第1の表示領域の幅方向の中央に位置するよう生成される、前記(4)~(7)のいずれか1項に記載の表示処理装置。
(9)
前記第1の表示領域の幅は、連続するフレーム間で異なる、前記(8)に記載の表示処理装置。
(10)
前記第1の動作情報は、前記モバイル端末に設けられたモーションセンサにより検知された位置および姿勢の情報を含む、前記(1)~(9)のいずれか1項に記載の表示処理装置。
(11)
前記第2の動作情報は、前記モバイル端末に設けられたモーションセンサにより検知された位置および姿勢の情報を含み、
前記変形部は、前記第2の動作情報に基づいて予測された結果に基づいて前記第2の表示領域のデータを変形する、前記(3)に記載の表示処理装置。
(12)
プロセッサが、
モバイル端末の第1の動作情報を外部装置に送信することと、
前記外部装置により前記第1の動作情報に基づいて描画された仮想オブジェクトの第1の表示領域のデータを、第1の時刻に受信することと、
前記外部装置により前記第1の動作情報に基づいて描画された前記仮想オブジェクトの前記第1の表示領域に隣接する第2の表示領域のデータを、前記第1の時刻より後の第2の時刻に受信することと、
前記受信した第1の表示領域のデータを表示した後に、前記第2の表示領域のデータを前記第1の表示領域のデータとともに1フレームとして前記モバイル端末の表示装置に表示する制御を行うことと、
を含む、表示処理方法。
(13)
コンピュータを、
モバイル端末の第1の動作情報を外部装置に送信する送信部と、
前記外部装置により前記第1の動作情報に基づいて描画された仮想オブジェクトの第1の表示領域のデータを、第1の時刻に受信し、
前記外部装置により前記第1の動作情報に基づいて描画された前記仮想オブジェクトの前記第1の表示領域に隣接する第2の表示領域のデータを、前記第1の時刻より後の第2の時刻に受信する受信部と、
前記受信した第1の表示領域のデータを表示した後に、前記第2の表示領域のデータを前記第1の表示領域のデータとともに1フレームとして前記モバイル端末の表示装置に表示する制御を行う表示制御部と、
として機能させるためのプログラムが記憶された、記憶媒体。
(14)
モバイル端末の第1の動作情報を受信する受信部と、
前記第1の動作情報に基づいて、1フレームの一部として描画される仮想オブジェクトの第1の表示領域のデータを、第1の時刻に、前記モバイル端末の表示装置に前記第1の表示領域のデータを表示する制御を行う表示処理装置に送信し、
前記第1の動作情報に基づいて、前記第1の表示領域のデータを描画した後に、前記1フレームの他の一部として描画される前記仮想オブジェクトの前記第1の表示領域に隣接する第2の表示領域のデータを、前記第1の時刻より後の第2の時刻に前記表示処理装置に送信する送信部と、
を備える、情報処理装置。
10 モバイル端末
100 制御部
101 位置姿勢推定部
102 データ復号部
103 画像変形部
104 位置姿勢予測部
105 表示制御部
110 センサ部
120 通信部
130 クロック信号発生部
140 タイムスタンプカウンタ
150 記憶部
160 表示部
20 サーバ
200 制御部
201 画像生成部
202 位置姿勢予測部
203 データ符号部
220 通信部
230 クロック信号発生部
240 タイムスタンプカウンタ
250 記憶部
100 制御部
101 位置姿勢推定部
102 データ復号部
103 画像変形部
104 位置姿勢予測部
105 表示制御部
110 センサ部
120 通信部
130 クロック信号発生部
140 タイムスタンプカウンタ
150 記憶部
160 表示部
20 サーバ
200 制御部
201 画像生成部
202 位置姿勢予測部
203 データ符号部
220 通信部
230 クロック信号発生部
240 タイムスタンプカウンタ
250 記憶部
Claims (14)
- モバイル端末の第1の動作情報を外部装置に送信する送信部と、
前記外部装置により前記第1の動作情報に基づいて描画された仮想オブジェクトの第1の表示領域のデータを、第1の時刻に受信し、
前記外部装置により前記第1の動作情報に基づいて描画された前記仮想オブジェクトの前記第1の表示領域に隣接する第2の表示領域のデータを、前記第1の時刻より後の第2の時刻に受信する受信部と、
前記受信した第1の表示領域のデータを表示した後に、前記第2の表示領域のデータを前記第1の表示領域のデータとともに1フレームとして前記モバイル端末の表示装置に表示する制御を行う表示制御部と、
を備える、表示処理装置。 - 前記受信部は、前記外部装置により前記第1の動作情報に基づいて描画された、前記1フレームの一部に対応する前記仮想オブジェクトの第3の表示領域のデータを、前記第2の時刻より後の第3の時刻に受信し、
前記表示制御部は、前記第3の時刻より前の時刻に前記第1の表示領域のデータを表示するとともに、前記第2の表示領域のデータの表示よりも後に前記第3の表示領域のデータを表示する前記表示装置を制御する、請求項1に記載の表示処理装置。 - 前記表示処理装置は、
前記受信した第2の表示領域のデータを、前記第1の動作情報より後に取得された第2の動作情報に基づいて変形する変形部をさらに備え、
前記表示制御部は、前記変形された第2の表示領域のデータを表示する制御を行う、請求項1に記載の表示処理装置。 - 前記第1の表示領域は、前記表示装置に表示される1フレームの領域を分割した表示領域のうち、前記表示装置上におけるユーザの注視点を含む領域に位置する表示領域である、請求項3に記載の表示処理装置。
- 前記第2の表示領域は、前記第2の表示領域より後の第3の時刻に前記受信部により受信される第3の表示領域よりも前記注視点に近い領域に位置する表示領域である、請求項4に記載の表示処理装置。
- 前記変形部は、前記表示装置に表示される1フレームを形成する複数の表示領域のうち、隣接する複数の表示領域の境界をまたぐ仮想オブジェクトの輪郭線が連続するよう変形する、請求項4に記載の表示処理装置。
- 前記表示制御部は、前記第1の表示領域に対して前記第2の表示領域とは逆側に隣接し、前記第2の時刻より後の第3の時刻に受信する第3の表示領域のデータを、前記第1の表示領域のデータの表示を終了してから一定時間経過後に表示する制御を行う、請求項4に記載の表示処理装置。
- 前記第1の表示領域は、前記注視点が、前記第1の表示領域の幅方向の中央に位置するよう生成される、請求項4に記載の表示処理装置。
- 前記第1の表示領域の幅は、連続するフレーム間で異なる、請求項8に記載の表示処理装置。
- 前記第1の動作情報は、前記モバイル端末に設けられたモーションセンサにより検知された位置および姿勢の情報を含む、請求項1に記載の表示処理装置。
- 前記第2の動作情報は、前記モバイル端末に設けられたモーションセンサにより検知された位置および姿勢の情報を含み、
前記変形部は、前記第2の動作情報に基づいて予測された結果に基づいて前記第2の表示領域のデータを変形する、請求項3に記載の表示処理装置。 - プロセッサが、
モバイル端末の第1の動作情報を外部装置に送信することと、
前記外部装置により前記第1の動作情報に基づいて描画された仮想オブジェクトの第1の表示領域のデータを、第1の時刻に受信することと、
前記外部装置により前記第1の動作情報に基づいて描画された前記仮想オブジェクトの前記第1の表示領域に隣接する第2の表示領域のデータを、前記第1の時刻より後の第2の時刻に受信することと、
前記受信した第1の表示領域のデータを表示した後に、前記第2の表示領域のデータを前記第1の表示領域のデータとともに1フレームとして前記モバイル端末の表示装置に表示する制御を行うことと、
を含む、表示処理方法。 - コンピュータを、
モバイル端末の第1の動作情報を外部装置に送信する送信部と、
前記外部装置により前記第1の動作情報に基づいて描画された仮想オブジェクトの第1の表示領域のデータを、第1の時刻に受信し、
前記外部装置により前記第1の動作情報に基づいて描画された前記仮想オブジェクトの前記第1の表示領域に隣接する第2の表示領域のデータを、前記第1の時刻より後の第2の時刻に受信する受信部と、
前記受信した第1の表示領域のデータを表示した後に、前記第2の表示領域のデータを前記第1の表示領域のデータとともに1フレームとして前記モバイル端末の表示装置に表示する制御を行う表示制御部と、
として機能させるためのプログラムが記憶された、記憶媒体。 - モバイル端末の第1の動作情報を受信する受信部と、
前記第1の動作情報に基づいて、1フレームの一部として描画される仮想オブジェクトの第1の表示領域のデータを、第1の時刻に、前記モバイル端末の表示装置に前記第1の表示領域のデータを表示する制御を行う表示処理装置に送信し、
前記第1の動作情報に基づいて、前記第1の表示領域のデータを描画した後に、前記1フレームの他の一部として描画される前記仮想オブジェクトの前記第1の表示領域に隣接する第2の表示領域のデータを、前記第1の時刻より後の第2の時刻に前記表示処理装置に送信する送信部と、
を備える、情報処理装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/019,948 US11990064B2 (en) | 2020-09-07 | 2021-07-19 | Display processing device, display processing method, storage medium, and information processing device |
CN202180053032.6A CN115989528A (zh) | 2020-09-07 | 2021-07-19 | 显示处理装置、显示处理方法、存储介质和信息处理装置 |
JP2022546917A JPWO2022049908A1 (ja) | 2020-09-07 | 2021-07-19 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020149788 | 2020-09-07 | ||
JP2020-149788 | 2020-09-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022049908A1 true WO2022049908A1 (ja) | 2022-03-10 |
Family
ID=80491933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/026943 WO2022049908A1 (ja) | 2020-09-07 | 2021-07-19 | 表示処理装置、表示処理方法、記憶媒体、および情報処理装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11990064B2 (ja) |
JP (1) | JPWO2022049908A1 (ja) |
CN (1) | CN115989528A (ja) |
WO (1) | WO2022049908A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023114200A (ja) * | 2022-02-04 | 2023-08-17 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013046288A1 (ja) * | 2011-09-26 | 2013-04-04 | Necディスプレイソリューションズ株式会社 | 画像表示装置、画像表示システムおよび映像信号処理方法 |
JP2016527536A (ja) * | 2013-06-07 | 2016-09-08 | 株式会社ソニー・インタラクティブエンタテインメント | ヘッドマウントディスプレイでユーザーの動きに応答する画像レンダリング |
JP2019004978A (ja) * | 2017-06-21 | 2019-01-17 | ソニー株式会社 | 手術システムおよび手術用撮像装置 |
WO2019181263A1 (ja) * | 2018-03-20 | 2019-09-26 | ソニー株式会社 | 情報処理装置、情報処理方法およびプログラム |
WO2020170454A1 (ja) * | 2019-02-22 | 2020-08-27 | 株式会社ソニー・インタラクティブエンタテインメント | 画像生成装置、ヘッドマウントディスプレイ、および画像生成方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7092108B2 (ja) * | 2017-02-27 | 2022-06-28 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、及びプログラム |
CN106874895B (zh) * | 2017-03-31 | 2019-02-05 | 北京七鑫易维信息技术有限公司 | 一种视线追踪装置及头戴式显示设备 |
US20200018962A1 (en) * | 2018-07-11 | 2020-01-16 | Facebook Technologies, Llc | Adaptive lenses for near-eye displays |
JP7065458B2 (ja) * | 2018-07-13 | 2022-05-12 | パナソニックIpマネジメント株式会社 | 映像表示装置、および映像表示方法 |
US10991349B2 (en) * | 2018-07-16 | 2021-04-27 | Samsung Electronics Co., Ltd. | Method and system for musical synthesis using hand-drawn patterns/text on digital and non-digital surfaces |
US11394927B2 (en) * | 2018-07-16 | 2022-07-19 | Accel Robotics Corporation | Store device network that transmits power and data through mounting fixtures |
US11106039B2 (en) * | 2019-08-26 | 2021-08-31 | Ati Technologies Ulc | Single-stream foveal display transport |
US11137596B2 (en) * | 2019-08-29 | 2021-10-05 | Apple Inc. | Optical adjustment for head-mountable device |
-
2021
- 2021-07-19 JP JP2022546917A patent/JPWO2022049908A1/ja active Pending
- 2021-07-19 CN CN202180053032.6A patent/CN115989528A/zh active Pending
- 2021-07-19 US US18/019,948 patent/US11990064B2/en active Active
- 2021-07-19 WO PCT/JP2021/026943 patent/WO2022049908A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013046288A1 (ja) * | 2011-09-26 | 2013-04-04 | Necディスプレイソリューションズ株式会社 | 画像表示装置、画像表示システムおよび映像信号処理方法 |
JP2016527536A (ja) * | 2013-06-07 | 2016-09-08 | 株式会社ソニー・インタラクティブエンタテインメント | ヘッドマウントディスプレイでユーザーの動きに応答する画像レンダリング |
JP2019004978A (ja) * | 2017-06-21 | 2019-01-17 | ソニー株式会社 | 手術システムおよび手術用撮像装置 |
WO2019181263A1 (ja) * | 2018-03-20 | 2019-09-26 | ソニー株式会社 | 情報処理装置、情報処理方法およびプログラム |
WO2020170454A1 (ja) * | 2019-02-22 | 2020-08-27 | 株式会社ソニー・インタラクティブエンタテインメント | 画像生成装置、ヘッドマウントディスプレイ、および画像生成方法 |
Also Published As
Publication number | Publication date |
---|---|
US20230290285A1 (en) | 2023-09-14 |
US11990064B2 (en) | 2024-05-21 |
JPWO2022049908A1 (ja) | 2022-03-10 |
CN115989528A (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3824371B1 (en) | Distributed foveated rendering based on user gaze | |
EP3757727B1 (en) | Image re-projection for foveated rendering | |
US11270410B2 (en) | Video display system | |
CN108292489B (zh) | 信息处理装置和图像生成方法 | |
US20200132996A1 (en) | Rendering device, head-mounted display, image transmission method, and image correction method | |
US10976808B2 (en) | Body position sensitive virtual reality | |
US10404911B2 (en) | Image pickup apparatus, information processing apparatus, display apparatus, information processing system, image data sending method, image displaying method, and computer program for displaying synthesized images from a plurality of resolutions | |
JP2022548534A (ja) | マルチストリーム中心窩ディスプレイトランスポート | |
KR102142876B1 (ko) | 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법 및 장치 | |
JPWO2021199184A5 (ja) | ||
WO2022049908A1 (ja) | 表示処理装置、表示処理方法、記憶媒体、および情報処理装置 | |
US12332437B2 (en) | System and method for reducing image data throughput to head mounted display | |
EP4064699A1 (en) | Method and system for reducing motion-to-photon latency in head-mounted display system | |
JP7047085B2 (ja) | 画像生成装置、画像生成方法、およびプログラム | |
JP5979110B2 (ja) | ヘッドマウントディスプレイ、及び、制御プログラム | |
US20250078433A1 (en) | Dynamic virtual objects | |
JP2019083466A (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: 21863966 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022546917 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21863966 Country of ref document: EP Kind code of ref document: A1 |