WO2021199184A1 - 画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム - Google Patents

画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム Download PDF

Info

Publication number
WO2021199184A1
WO2021199184A1 PCT/JP2020/014619 JP2020014619W WO2021199184A1 WO 2021199184 A1 WO2021199184 A1 WO 2021199184A1 JP 2020014619 W JP2020014619 W JP 2020014619W WO 2021199184 A1 WO2021199184 A1 WO 2021199184A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
display
frame
data
unit
Prior art date
Application number
PCT/JP2020/014619
Other languages
English (en)
French (fr)
Inventor
活志 大塚
Original Assignee
株式会社ソニー・インタラクティブエンタテインメント
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社ソニー・インタラクティブエンタテインメント filed Critical 株式会社ソニー・インタラクティブエンタテインメント
Priority to PCT/JP2020/014619 priority Critical patent/WO2021199184A1/ja
Priority to JP2022512924A priority patent/JPWO2021199184A1/ja
Priority to US17/913,485 priority patent/US20230139216A1/en
Publication of WO2021199184A1 publication Critical patent/WO2021199184A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping

Definitions

  • the present invention relates to an image display system, an image processing device, and an image processing method for processing moving image data to be displayed.
  • the delay time due to the communication between the client terminal and the server can be a problem.
  • the display may be delayed with respect to the movement of the user's head, which may impair the sense of presence or cause image sickness. This problem is more likely to become apparent as the pursuit of higher image quality is pursued.
  • the present invention has been made in view of these problems, and an object of the present invention is to provide a technique capable of achieving both image quality and reduction of delay time in image display accompanied by data transmission by communication.
  • an aspect of the present invention relates to an image display system.
  • This image display system is an image display system including an image data transfer device for transferring moving image data and a client terminal for receiving moving image data and displaying the moving image data on the display device.
  • the client terminal is equipped with an image generator that generates a frame of a moving image that represents the world to be displayed in a wider field of view than the display field of view at the transfer destination, and a communication unit that streams the frame data to the client terminal.
  • An image data acquisition unit that acquires frame data
  • an image processing unit that cuts out the display field area of the frame
  • a display control unit that outputs the data of the cut out area to the display panel.
  • This image processing device has an image data acquisition unit that acquires frame data of a moving image representing the world to be displayed in a field wider than the display field, an image processing unit that cuts out an area of the display field in the frame, and a cutout unit. It is characterized by having a display control unit that outputs the data of the area to the display panel.
  • Yet another aspect of the present invention relates to an image display method.
  • the image data transfer device in an image display system including an image data transfer device for transferring moving image data and a client terminal for receiving moving image data and displaying the moving image data on the display device, the image data transfer device is displayed.
  • a step of generating a frame of a moving image, a step of streaming transfer of frame data to a client terminal, and a step of acquiring frame data by the client terminal, which represents the world of It is characterized by including a step of cutting out an area of the display field of view in the frame and a step of outputting the data of the cut out area to the display panel.
  • both image quality and reduction of delay time can be achieved at the same time.
  • FIG. 1 shows the configuration example of the image display system in this embodiment. It is a figure which shows the appearance example of the head-mounted display of this embodiment. It is a figure which shows the basic structure of the server and the image processing apparatus in this embodiment. It is a figure which conceptually shows the state of the process from drawing to display of an image in this embodiment. It is a figure for demonstrating the image correction process which can be used for display on a head-mounted display in this embodiment. It is a figure which shows the functional block of the server and the image processing apparatus of this embodiment. It is a figure which shows the function block of the 1st formation part in the image processing part of the image processing apparatus of this embodiment, and the 1st control part in a display control part in more detail.
  • FIG. 5 is a flowchart showing an example of a processing procedure in which the first control unit of the display control unit outputs partial image data to the display panel while adjusting the output target and output timing in the present embodiment.
  • FIG. 5 is a flowchart showing a processing procedure in which the first control unit of the display control unit adjusts the output target based on the change in the position and orientation of the head-mounted display in the present embodiment.
  • FIG. 1 shows a configuration example of an image display system according to the present embodiment.
  • the image display system 1 includes an image processing device 200 as a client terminal, a head-mounted display 100, a flat plate display 302, and a server 400.
  • the image processing device 200 is connected to the head-mounted display 100 and the flat-plate display 302 by wireless communication or an interface 300 such as USB Type-C or HDMI (registered trademark).
  • the image processing device 200 is further connected to the server 400 via a network 306 such as the Internet or a LAN (Local Area Network).
  • a network 306 such as the Internet or a LAN (Local Area Network).
  • the server 400 As an image data transfer device, the server 400 generates at least a part of the image to be displayed and transfers it by streaming to the image processing device 200.
  • the server 400 may be a server of a company or the like that provides various distribution services such as a cloud game, or a home server that transmits data to an arbitrary terminal. Therefore, the scale of the network 306 is not limited, such as a public network such as the Internet or a LAN (Local Area Network).
  • the network 306 may be via a mobile phone carrier network, a Wi-Fi spot in the city, or a Wi-Fi access point at home.
  • the image processing device 200 and the server 400 may be directly connected by a video interface.
  • the image processing device 200 converts the image data transmitted from the server 400 into a format suitable for the head-mounted display 100 and the flat plate display 302, if necessary, and then converts the head-mounted display 100 and the flat plate at an appropriate timing. Output to the type display 302. For example, the image processing device 200 generates an image of the field of view corresponding to the movement of the head of the user wearing the head-mounted display 100, and outputs the image to the head-mounted display 100. At this time, the image processing device 200 displays an image on the flat plate display 302 in the same field of view, so that another person can see what kind of image the user wearing the head-mounted display 100 is viewing. You may make it visible.
  • the image processing device 200 may display an image having a field of view independent of each other on the head-mounted display 100 and the flat plate display 302. Further, the image processing device 200 captures an image transmitted from the server 400 with a separately prepared UI (User Interface) plain image (also referred to as an OSD (On Screen Display) plain image) or a camera provided in the head mount display 100. After synthesizing the images, they may be output to the head mount display 100 or the flat plate display 302.
  • UI User Interface
  • OSD On Screen Display
  • the server 400 may display an image taken by a camera (not shown) as a display target and deliver it live to the image processing device 200.
  • the configuration of the system to which this embodiment can be applied is not limited to the one shown in the figure.
  • the display device connected to the image processing device 200 may be either the head-mounted display 100 or the flat plate display 302, or may be a plurality of head-mounted displays 100.
  • the image processing device 200 may be built in the head-mounted display 100 or the flat plate display 302.
  • a flat-plate display and an image processing device may be used as a personal computer or a mobile terminal (portable game machine, high-performance mobile phone, tablet terminal) having them integrally.
  • At least one of the head-mounted display 100 and the flat plate display 302 may be connected to these devices as needed.
  • An input device (not shown) may be built in or connected to the image processing device 200 or these terminals. Further, the number of image processing devices 200 connected to the server 400 is not limited.
  • FIG. 2 shows an example of the appearance of the head-mounted display 100.
  • the head-mounted display 100 is composed of an output mechanism unit 102 and a mounting mechanism unit 104.
  • the mounting mechanism unit 104 includes a mounting band 106 that goes around the head and realizes fixing of the device when the user wears it.
  • the output mechanism 102 includes a housing 108 having a shape that covers the left and right eyes when the head-mounted display 100 is worn by the user, and includes a display panel inside so as to face the eyes when the head-mounted display 100 is worn.
  • the inside of the housing 108 is further provided with an eyepiece located between the display panel and the user's eyes when the head-mounted display 100 is attached to magnify the image.
  • the head-mounted display 100 may further include a speaker or earphone at a position corresponding to the user's ear when worn.
  • the head-mounted display 100 further includes a stereo camera 110 on the front surface of the housing 108, a monocular camera 111 with a wide viewing angle in the center, and four cameras 112 with a wide viewing angle at the four corners of the upper left, upper right, lower left, and lower right. Take a video of the real space in the direction corresponding to the direction of the face.
  • the head-mounted display 100 provides a see-through mode in which a moving image captured by the stereo camera 110 is immediately displayed to show the state of the real space in the direction in which the user is facing.
  • At least one of the images captured by the stereo camera 110, the monocular camera 111, and the four cameras 112 may be used to generate the display image.
  • SLAM Simultaneous Localization and Mapping
  • the head-mounted display 100 with respect to the surrounding space, and by extension, the position and posture of the user's head are acquired at a predetermined rate to determine the field of view of the image and correct the image. It may be used for.
  • the captured image may be combined with the image transmitted from the server 400 to form a display image.
  • the head-mounted display 100 may be provided with any of motion sensors for deriving the position, posture, and movement of the head-mounted display 100, such as an acceleration sensor, a gyro sensor, and a geomagnetic sensor.
  • the image processing device 200 acquires information on the position and posture of the user's head at a predetermined rate based on the measured values of the motion sensor. This information can be used to determine the field of view of the image and to correct the image.
  • FIG. 3 shows the basic configuration of the server 400 and the image processing device 200 according to the present embodiment.
  • the server 400 and the image processing device 200 according to the present embodiment are provided with a local memory for storing a partial image smaller than one frame of the displayed image at a key point. Then, compression coding and transmission of image data in the server 400, data reception in the image processing device 200, decoding / decompression, various image processing, and output to the display device are pipelined in units of the partial image. As a result, the delay time from the drawing of the image on the server 400 to the display on the display device connected to the image processing device 200 is reduced.
  • the drawing control unit 402 is realized by the CPU (Central Processing Unit) and controls the drawing of the image in the image drawing unit 404.
  • the content of the image to be displayed in the present embodiment is not particularly limited, but the drawing control unit 402 advances the cloud game, for example, and causes the image drawing unit 404 to draw a frame of a moving image representing the result.
  • the image drawing unit 404 is realized by a GPU (Graphics Processing Unit), draws a frame of a moving image at a predetermined or variable rate under the control of the drawing control unit 402, and stores the result in the frame buffer 406.
  • the frame buffer 406 is realized by RAM (Random Access Memory).
  • the video encoder 408 compresses and encodes the image data stored in the frame buffer 406 in units of partial images smaller than one frame.
  • the partial image is an image of each region formed by dividing the image plane of the frame by, for example, a boundary line set in the horizontal direction, the vertical direction, the vertical / horizontal bidirectional direction, or the diagonal direction.
  • the video encoder 408 may start the compression coding of the frame as soon as the image required for the compression coding is drawn by the image drawing unit 404 without waiting for the vertical synchronization signal of the server.
  • the conventional technology that synchronizes various processes such as frame drawing and compression coding with reference to the vertical synchronization signal
  • the time given to each process from image drawing to display is aligned in frame units to manage the frame order. Is easy.
  • the drawing process ends early depending on the contents of the frame, it is necessary to wait for the compression coding process until the next vertical synchronization signal.
  • unnecessary waiting time is prevented from occurring.
  • the coding method used by the video encoder 408 for compression coding is H.I. 264 / AVC and H. A general one such as 265 / HEVC may be used.
  • the video encoder 408 stores the data of the compressed and encoded image in the partial image storage unit 410.
  • the partial image storage unit 410 is a local memory realized by SRAM (Static Random Access Memory) or the like, and has a storage area corresponding to a data size of a partial image smaller than one frame. The same applies to the "partial image storage unit" described later.
  • the video stream control unit 414 reads the data, includes audio data, control information, and the like as necessary, and then packets the data. do.
  • the control unit 412 constantly monitors the data writing status of the video encoder 408 for the partial image storage unit 410, the data reading status of the video stream control unit 414, and the like, and appropriately controls the operations of both. For example, the control unit 412 controls the partial image storage unit 410 so that data shortage, that is, buffer underrun, or data overflow, that is, buffer overrun does not occur.
  • the input / output interface 416 establishes communication with the image processing device 200, and the video stream control unit 414 sequentially transmits packetized data via the network 306.
  • the input / output interface 416 may appropriately transmit audio data and the like in addition to image data.
  • the input / output interface 416 may further acquire information related to the user operation from the image processing device 200 and supply the information to the drawing control unit 402.
  • the input / output interface 202 sequentially acquires image and audio data transmitted from the server 400.
  • the input / output interface 202 may further acquire information related to the user operation from the head-mounted display 100, an input device (not shown), or the like, and transmit the information to the server 400.
  • the input / output interface 202 decodes the packet acquired from the server 400, and stores the extracted image data in the partial image storage unit 204.
  • the partial image storage unit 204 is a local memory provided between the input / output interface 202 and the video decoder 208.
  • the control unit 206 constantly monitors the data writing status of the input / output interface 202 to the partial image storage unit 204, the data reading status of the video decoder 208, and the like, and appropriately controls the operations of both.
  • the video decoder 208 reads the data, decodes and decompresses the data according to the procedure according to the coding method, and sequentially stores the data in the partial image storage unit 210.
  • the partial image storage unit 210 is a local memory provided between the video decoder 208 and the image processing unit 214.
  • the control unit 212 constantly monitors the data writing status of the video decoder 208 for the partial image storage unit 210, the data reading status of the image processing unit 214, and the like, and appropriately controls the operations of both.
  • the image processing unit 214 reads out the decrypted and decompressed partial image data each time the data is stored in the partial image storage unit 210, and performs processing necessary for display. For example, in the head-mounted display 100, in order to visually recognize an image without distortion when viewed through the eyepiece, a correction process of giving distortion opposite to the distortion caused by the eyepiece is performed.
  • the image processing unit 214 may refer to the separately prepared UI plane image and combine (superimpose) it with the image transmitted from the server 400. Further, the image processing unit 214 may combine the image captured by the camera included in the head-mounted display 100 with the image transmitted from the server 400. The image processing unit 214 may also shape the image transmitted from the server 400 so that the field of view corresponds to the position and posture of the user's head at the time of processing. The image processing unit 214 may also perform image processing suitable for output to the flat plate display 302, such as super-resolution processing.
  • the image processing unit 214 performs processing in units of partial images stored in the partial image storage unit 210, and sequentially stores them in the partial image storage unit 216.
  • the partial image storage unit 216 is a local memory provided between the image processing unit 214 and the display controller 220.
  • the control unit 218 constantly monitors the data writing status of the image processing unit 214 for the partial image storage unit 216, the data reading status of the display controller 220, and the like, and appropriately controls the operations of both.
  • the display controller 220 reads the data and outputs the data to the head-mounted display 100 or the flat plate display 302 at an appropriate timing. Specifically, the data of the uppermost partial image of each frame is output at the timing corresponding to the vertical synchronization signal of those displays, and then the data of the partial image is sequentially output downward.
  • FIG. 4 conceptually shows the state of processing from drawing to display of an image in the present embodiment.
  • the server 400 generates the moving image frame 90 at a predetermined or variable rate.
  • the frame 90 has a configuration in which images for the left eye and an image for the right eye are represented in a region divided into two equal parts on the left and right, but the configuration of the image generated by the server 400 is not limited to this.
  • the server 400 compresses and encodes the frame 90 for each partial image.
  • the image plane is divided into five in the horizontal direction to obtain partial images 92a, 92b, 92c, 92d, and 92e.
  • the partial images are compressed and coded one after another in this order, transmitted to the image processing apparatus 200 and displayed as shown by the arrows. That is, while the uppermost partial image 92a is subjected to processing such as compression coding, transmission, decoding / decompression, and output to the display panel 94, the lower partial image 92b and the lower partial image 92c are referred to.
  • the partial images are sequentially transmitted and displayed as described above. As a result, various processes required from image drawing to display can be performed in parallel, and the display can be advanced with the minimum delay even if the transfer time intervenes.
  • the server 400 acquires information related to the movement of the head from the image processing device 200 and corresponds to the information.
  • the server 400 acquires information related to the movement of the head from the image processing device 200 and corresponds to the information.
  • the server 400 acquires information related to the movement of the head from the image processing device 200 and corresponds to the information.
  • a procedure such that the image processing device 200 displays the image on the head-mounted display 100 occurs.
  • the time required for these procedures may cause a delay that cannot be overlooked in the displayed image with respect to the movement of the head, impairing the immersive feeling in virtual reality, causing video sickness, and degrading the quality of the user experience.
  • FIG. 5 is a diagram for explaining an image correction process that can be used for display on the head-mounted display 100.
  • (a) shows a state in which the server 400 sets the view screen 340a so as to correspond to the acquired position / orientation information.
  • the server 400 draws an image 344 included in the viewing frustum 342a determined by the view screen 340a on the view screen 340a.
  • the head-mounted display 100 can display an image that follows the movement of the head regardless of the transmission path of the moving image data.
  • the server 400 of the present embodiment generates and transfers a moving image representing the world to be displayed in a field of view wider than the field of view of the display on the head-mounted display 100 or the like.
  • the image processing device 200 cuts out the area of the display field of view from the transferred image in the wide field of view and outputs it.
  • the image processing device 200 cuts out an image of a region corresponding to the position and orientation of the head-mounted display 100.
  • the field of view of the moving image generated by the server 400 is set to cover all directions that allow display, the image that follows the user's movement and viewing direction will be destroyed. Can be displayed without.
  • the server 400 even in a mode in which a plurality of users view the same image world in an independent field of view, the server 400 only needs to generate and transfer a frame common to all users, so that an image tailored to each field of view is generated. No processing is required. Furthermore, multicast and broadcast become possible, and the bandwidth utilization efficiency of the distribution network can be improved.
  • Such a configuration is particularly effective in, for example, a game in which all users ride in one vehicle and move in a virtual world, or an amusement park attraction in which multiple users participate at the same time.
  • the server 400 generates a 360 ° image that can be seen from the position of the user and transfers it to the image processing device 200 of each user.
  • the user can freely look around the world represented by the image by using the head-mounted display 100 or the flat plate display 302.
  • FIG. 6 shows the functional blocks of the server 400 and the image processing device 200 of this embodiment.
  • Each functional block shown in the figure can be realized by a CPU, GPU, encoder, decoder, arithmetic unit, various memories, etc. in terms of hardware, and in terms of software, an information processing function and an image loaded into memory from a recording medium. It is realized by a program that exerts various functions such as drawing function, data input / output function, and communication function. Therefore, it is understood by those skilled in the art that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof, and is not limited to any of them.
  • the server 400 includes an image generation unit 420, a compression coding unit 422, a packetization unit 424, and a communication unit 426.
  • the image generation unit 420 is composed of the drawing control unit 402, the image drawing unit 404, and the frame buffer 406 of FIG. 3, and generates a frame of a moving image such as a game image to be transmitted to the image processing device 200 at a predetermined or variable rate. ..
  • the image generation unit 420 dynamically generates, for example, a frame of a moving image to be transferred that did not exist until then.
  • the image generation unit 420 may acquire moving image data from a camera or the like (not shown).
  • the image generation unit 420 generates a frame of a moving image in which the world to be displayed is represented by a field of view wider than the display field of view at the transfer destination.
  • the image generation unit 420 generates data representing a so-called 360 ° image (omnidirectional image) in equirectangular projection.
  • the format of the image is not limited, and any of the polyconic projection, the equidistant projection, and various other formats used for the image representation of the fisheye lens may be used.
  • the server 400 may generate a 360 ° image using images for two eyes.
  • the range is not limited. Therefore, an image that covers all the permissible display field of view, such as a 360 ° image, may be generated, or information on the actual display field of view is acquired from the image processing device 200 or the like, and the range of the field of view is expanded by a predetermined amount. An image may be generated. Further, when displaying a plurality of images having parallax such as the head-mounted display 100, the image generation unit 420 may generate a plurality of images having different parallax and having different fields of view.
  • the frame of the moving image generated by the image generation unit 420 will be referred to as a “wide-field image”.
  • the compression coding unit 422 is composed of the video encoder 408, the partial image storage unit 410, and the control unit 412 of FIG. 3, and compresses and encodes the wide-field image data generated by the image generation unit 420 in units of partial images. ..
  • the compression coding unit 422 performs motion compensation and coding in units of an area of a predetermined number of lines such as one line and two lines and a rectangular area of a predetermined size such as 16 ⁇ 16 pixels and 64 ⁇ 64 pixels. Therefore, the compression coding unit 422 may start the compression coding when the image generation unit 420 generates data in the minimum unit region required for the compression coding.
  • the partial image which is a unit of pipeline processing in compression coding and transmission, may be the same as the area of the minimum unit, or may be a larger area.
  • the packetizing unit 424 is composed of the video stream control unit 414 and the control unit 412 of FIG. 3, and packetizes the compressed and encoded partial image data in a format according to the communication protocol to be used.
  • generation time the time when the partial image is drawn (hereinafter referred to as “generation time”) is obtained from the image generation unit 420 or the compression coding unit 422 and is associated with the data of the partial image.
  • the communication unit 426 is composed of the input / output interface 416 of FIG. 3, and transmits a packet including the compression-encoded partial image data and the generation time thereof to the image processing device 200.
  • the server 400 performs compression coding, packetization, and transmission in parallel by pipeline processing in units of partial images smaller than one frame.
  • the communication unit 426 may stream the data of one wide-field image to a plurality of image processing devices 200 by a general multicast or broadcast technique.
  • the number of image processing devices 200 at the transfer destination is not limited.
  • the communication unit 426 may also acquire information related to user operations from the image processing device 200 at the transfer destination.
  • the image generation unit 420 may acquire information related to the user operation from the communication unit 426 and change the content represented by the generated frame accordingly. For example, when realizing a game in which a plurality of users act as players and are in the same virtual space, the image generation unit 420 sets each frame of the moving image so that an object in the virtual world moves or the game progresses according to the user operation. Generate.
  • the "information related to the user operation" includes at least one of information such as the position and posture of the user's head and the user's gaze point, which are acquired by the head-mounted display 100 and the like. May include.
  • the image generation unit 420 may generate each frame by referring to the information.
  • the communication unit 426 may also transmit the information of the virtual viewpoint.
  • the image processing device 200 includes an image data acquisition unit 240, a decoding / decompression unit 242, an image processing unit 244, a display control unit 246, and a client information transmission unit 273.
  • the decoding / stretching unit 242 and the image processing unit 244 have a common function in that the partial image data is subjected to predetermined processing to generate the partial image data for display, and at least one of them is referred to as "image”. It can also be collectively referred to as "processing unit”.
  • the image data acquisition unit 240 is composed of the input / output interface 202, the partial image storage unit 204, and the control unit 206 of FIG. 3, and acquires compression-encoded partial image data from the server 400 together with its generation time.
  • the image data acquisition unit 240 acquires not only the image data but also the information of the virtual viewpoint used for generating the wide-field image.
  • the decoding / decompression unit 242 is composed of the video decoder 208, the partial image storage unit 210, the control unit 206, and the control unit 212 of FIG. 3, and decodes and decompresses the compression-encoded partial image data.
  • the decoding / decompression unit 242 may start the decoding / decompression processing when the image data acquisition unit 240 acquires data in the smallest unit region required for compression coding such as motion compensation and coding.
  • the image processing unit 244 is composed of the image processing unit 214, the partial image storage unit 216, the control unit 212, and the control unit 218 of FIG. 3, and performs predetermined processing on the partial image data to generate the partial image data for display. do.
  • the image processing unit 244 includes a first forming unit 270a and a second forming unit 27b that form an image corresponding to the display form realized by the connected display device.
  • the first and second forming portions are provided so as to correspond to them.
  • as many forming portions as the number of display forms to be realized may be provided.
  • the image processing unit 244 has a function of generating a plurality of frames having different fields of view and formats from one wide field of view image transmitted from the server 400, and the number depends on the number of display forms to be realized. For example, if the display device connected to the image processing device 200 is either the head-mounted display 100 or the flat plate display 302, the image processing unit 244 is provided with only one of the first forming unit 270a and the second forming unit 270b. Just do it.
  • the first forming unit 270a and the second forming unit 270b have a common function of cutting out a field of view area displayed by the connected display device from the wide field of view image transmitted from the server 400.
  • the first forming unit 270a cuts out a field of view corresponding to the position and orientation of the head-mounted display 100.
  • the second forming unit 270b cuts out a field of view corresponding to a user operation via, for example, an input device or the like.
  • the area to be cut out in the display on the flat plate display 302 is not limited to this, and may be an area corresponding to the field of view of the head-mounted display 100 or a fixed area as described above.
  • the wide-field image transmitted from the server 400 is an image represented with the orientation as an axis such as equirectangular projection, or when there is lens distortion due to a fisheye lens or the like, the first forming portion 270a and the second forming portion 270b , Simultaneously with the cutout, or before and after the cutout process, the process of correcting to the format corresponding to the display panel of the display destination is also performed.
  • the first forming portion 270a and the second forming portion 270b convert an image represented by the equirectangular projection into an equirectangular image.
  • the first forming unit 270a further cuts out images having parallax for the left eye and the right eye, and generates a display image connected to the left and right.
  • the server 400 transmits wide-field images for the left eye and the right eye
  • the first forming unit 270a may cut out images for the left eye and the right eye from the wide-field images.
  • the first forming unit 270a may also make a correction for giving the opposite distortion to the images for the left eye and the right eye in consideration of the distortion of the eyepiece provided in the head-mounted display 100, or correct the chromatic aberration. ..
  • the first forming unit 270a and the second forming unit 270b proceed with these processes in the order of the data obtained by the decoding / stretching unit 242 in units of partial images.
  • the image processing performed by the image processing unit 244 is not limited to the above.
  • the image processing unit 244 may synthesize an image to be displayed together with a moving image, such as a UI plain image, in units of partial images.
  • the image processing unit 244 may perform gun marker correction, tone curve correction, contrast enhancement, and the like. That is, necessary offset correction may be performed on the pixel value / luminance value of the decoded / decompressed image data based on the characteristics of the display device or the user's specification.
  • the image processing unit 244 may perform noise removal processing that performs processing such as superimposition, weighted averaging, and smoothing with reference to neighboring pixels.
  • the image processing unit 244 may match the resolution of the image data with the resolution of the display panel, refer to neighboring pixels, and perform weighted averaging / oversampling such as bilinear / trilinear. Further, the image processing unit 244 may refer to neighboring pixels, determine the type of image texture, and selectively process denoising, edge enhancement, smoothing, tone / gamma / contrast correction accordingly. At this time, the image processing unit 244 may process the image together with the upscaler / downscaler of the image size.
  • the image processing unit 244 may perform format conversion when the pixel format of the image data and the pixel format of the display panel are different. For example, conversion between YUV to RGB, RGB to YUV, conversion between 444, 422, and 420 in YUV, conversion between 8, 10 and 12-bit colors in RGB, and the like may be performed. Further, when the decoded image data is in the HDR (High Dynamic Range) brightness range compatible format, the image processing unit 244 has a narrow HDR brightness range compatible range of the display display (the displayable brightness dynamic range is defined in the HDR format). Pseudo-HDR processing (color space change) may be performed to convert the HDR image into a brightness range format in a range compatible with the display panel while retaining the features of the HDR image as much as possible (such as narrower).
  • HDR High Dynamic Range
  • the image processing unit 244 uses an HDR-compatible format for the decoded image data, but when the display display supports only SDR (Standard Dynamic Range), the color space is changed to the SDR format while retaining the features of the HDR image as much as possible. It may be converted.
  • the decoded image data is in an SDR compatible format, but when the display display is compatible with HDR, the image processing unit 244 may enhance conversion to the HDR format according to the characteristics of the HDR panel as much as possible.
  • the image processing unit 244 may add error diffusion or perform a dithering process that is processed together with the pixel format conversion. Further, the image processing unit 244 may correct the region when there is a partial loss or abnormality in the decoded image data due to lack of network transfer data or garbled bits. Further, the image processing unit 244 may perform correction with pixels estimated from the periphery of the past frame or the current frame by filling with a single color, correction by duplication of nearby pixels, correction by pixels near the previous frame, and adaptive defect correction.
  • the image processing unit 244 may perform image compression in order to reduce the required band of the interface output from the image processing device 200 to the display device.
  • the image processing unit 244 may perform lightweight entropy coding by reference to neighboring pixels, index value reference coding, Huffman coding, and the like.
  • the resolution can be increased, but the reaction speed is slow.
  • an organic EL panel is used as the display device, the reaction speed is high, but it is difficult to increase the resolution, and a phenomenon called Black Smearing, in which color bleeding occurs in and around the black region, may occur.
  • the image processing unit 244 may make corrections so as to eliminate various adverse effects of such a display panel. For example, in the case of a liquid crystal panel, the image processing unit 244 resets the liquid crystal by inserting a black image between the frames to improve the reaction speed. Further, in the case of the organic EL panel, the image processing unit 244 offsets the luminance value and the gamma value in the gamma correction to make the color bleeding due to Black Smearing less noticeable.
  • the image processing unit 244 may perform super-resolution processing (SuperResolution) on the image to improve the definition and restore or reconstruct the high-frequency component.
  • SuperResolution super-resolution processing
  • the image processing unit 244 may convert the image by inputting the image data into the database or network model constructed in advance by using machine learning or deep learning.
  • the image processing unit 244 may reduce the delay by performing conversion in units of partial images. By matching the partial image unit at this time with the partial image unit determined based on the scanning order and the division configuration of the display panel, a series of processes can be made into a pipeline, and further reduction in delay can be realized.
  • the display control unit 246 is composed of the display controller 220 and the control unit 218 of FIG. 3, and sequentially displays partial image data for display on the display panel of the head-mounted display 100 or the flat plate display 302.
  • the acquisition order may be changed depending on the communication status, or the partial image data itself may not be acquired due to packet loss. Conceivable.
  • the display control unit 246 derives the elapsed time from the drawing of the partial image from the generation time of each partial image, and outputs the partial image to the display panel so as to reproduce the drawing timing on the server 400. Adjust the timing. Specifically, the display control unit 246 sets the original display order and display timing of the partial image data, and the amount of missing partial image data based on the generation time of the partial image data and / or the elapsed time from the generation time. Identify the data acquisition status such as.
  • the display control unit 246 changes the output target to the display panel according to the data acquisition status, and appropriately adjusts the output order and output timing. For example, the display control unit 246 determines whether to output the data of the original partial image included in the next frame or to output the data of the partial image included in the previous frame again according to the data acquisition status. .. The display control unit 246 determines such an output target by the timing of the vertical synchronization signal, which is the display start time of the next frame.
  • the display control unit 246 responds to the amount (ratio) of the acquired partial image, such as replacing the output target with the data of the previous frame when the partial image is missing in the frame at a ratio of a predetermined value or more.
  • the output target may be changed.
  • the display control unit 246 may change the output target of the next frame display period according to the past output record of the frame and the elapsed time from the generation time. Then, the display control unit 246 outputs the data of the partial image determined as the output target to the display panel in the determined order and timing.
  • the display control unit 246 includes a first control unit 272a and a second control unit 272b having the above-mentioned functions, respectively, as shown in the figure. It's okay.
  • the first control unit 272a and the second control unit 272b output images formed by the first forming unit 270a and the second forming unit 270b to the display panels of the head-mounted display 100 and the flat-plate display 302, respectively.
  • the client information transmission unit 273 is composed of the input / output interface 202 of FIG. 3 and the like, acquires user operation information, and transmits it to the server 400.
  • the user operation information may be the position and posture of the head-mounted display 100 and thus the user's head, the user's viewpoint, etc., and is different from the visual field operation of the displayed image such as game command input via an input device. It may be the content of the operation.
  • the data acquired by the first control unit 272a of the display control unit 246 may be diverted as described later.
  • the client information transmission unit 273 may also appropriately acquire various information on the image processing apparatus 200 side necessary for the server 400 to generate a frame and transmit the information to the server 400.
  • FIG. 7 shows in more detail the functional blocks of the first forming unit 270a in the image processing unit 244 of the image processing apparatus 200 and the first control unit 272a in the display control unit 246.
  • the first forming unit 270a and the first control unit 272a process and output the image to be displayed on the head-mounted display 100.
  • the first forming unit 270a includes a position / orientation prediction unit 262 and an image acquisition unit 264.
  • the position / orientation prediction unit 262 predicts the position and orientation of the head-mounted display 100 at the time when the target frame is displayed. That is, the position / orientation prediction unit 262 predicts the position / orientation of the head-mounted display 100 at a future time when the target frame is displayed, based on the actual change in the position / orientation up to that point. The actual change in position and orientation is obtained from the first control unit 272a. Then, the position / posture prediction unit 262 predicts the position and the posture at the time of display by extrapolating the time change according to the predicted display time of the target frame.
  • the image acquisition unit 264 cuts out an image of a region corresponding to the predicted position / orientation from the wide-field image decoded / expanded by the decoding / stretching unit 242.
  • a view screen corresponding to the predicted value of the position and orientation is set, and an image of the region included in the view frustum is acquired.
  • the image acquisition unit 264 makes the cut-out image an equirectangular image.
  • the image acquisition unit 264 refers to the displacement vector map showing the position of each pixel in the region to be cut out in the wide-field image as a displacement vector on the image plane, and cuts out the image.
  • Image conversion may be performed at high speed.
  • the image acquisition unit 264 generates a partial image after cutting out by acquiring the pixel position of the displacement destination with reference to the displacement vector map for each pixel constituting the partial image. At this time, the area of the image after cutting that can be generated from the partial image before cutting may change.
  • the image acquisition unit 264 performs a cutting process with reference to the displacement vector map when the data of the partial image before cutting, which is necessary for generating the data of the partial image after cutting, is stored in the local memory of the previous stage. Start. This makes it possible to process the cropped image in units of partial images.
  • the image acquisition unit 264 may further perform corrections that give distortion corresponding to the eyepieces included in the head-mounted display 100 at the same time.
  • the displacement vector represented by the displacement vector map for each pixel is a vector obtained by synthesizing the displacement vector for cutting out and the displacement vector for strain correction.
  • the displacement vector for distortion correction is data unique to the eyepiece and does not depend on the movement of the user, so it can be created in advance.
  • the image acquisition unit 264 updates the displacement vector map and then corrects the displacement vector prepared in this way by synthesizing the displacement vector required for cutting out with the displacement vector for distortion correction. As a result, it is possible to cut out the image and correct the distortion for the eyepiece at the same time with one displacement for each pixel of the partial image.
  • the cutting out using the displacement vector map may be performed in the same manner by the second forming unit 270b that processes the image output to the flat plate display 302.
  • the first control unit 272a displays the predicted value of the position and orientation of the head-mounted display 100 determined by the first forming unit 270a at the time of cutting out the image, in addition to the elapsed time from the image generation time in the server 400.
  • the output target to the display panel is also changed depending on the difference from the actual position and orientation immediately before.
  • the first control unit 272a includes a position / attitude tracking unit 252, a data acquisition status specifying unit 248, an output target determination unit 250, and an output unit 254.
  • the position / posture tracking unit 252 acquires an image taken by at least one of the cameras included in the head-mounted display or a measured value of a motion sensor built in the head-mounted display 100, and positions the head-mounted display 100 and the user's head. , Attitude, or user's viewpoint is derived at a predetermined rate. As described above, any of the various methods that have been put into practical use may be used for deriving the position, posture, or viewpoint. Alternatively, the information may be derived inside the head-mounted display 100, and the position / orientation tracking unit 252 may only acquire the information from the head-mounted display 100 at a predetermined rate. At this time, the position / posture tracking unit 252 also acquires the time (time stamp) at which the photographed image and the measured value of the motion sensor, which are the sources of the information on the position and posture of the head, are obtained.
  • the data acquisition status specifying unit 248, in addition to the elapsed time from the image generation time on the server 400, the predicted value of the position / orientation determined by the first forming unit 270a and the position / orientation tracking unit 252 acquired by the position / orientation tracking unit 252 at the time of processing. Acquire the difference from the actual position and orientation. Then, the data acquisition status specifying unit 248 specifies the data acquisition status such as the original display order and display timing of the partial image data and the amount of missing partial image data.
  • the output target determination unit 250 changes the output target to the display panel and appropriately adjusts the output order and output timing according to the results.
  • the output unit 254 outputs the partial image data determined as the output target to the display panel of the head-mounted display 100 in the order and timing determined by the output target determination unit 250.
  • the second control unit 272b that processes the image to be output to the flat plate display 302 may also perform the determination of the output target and the adjustment of the output order using the elapsed time from the image generation time on the server 400.
  • FIG. 8 illustrates the transition of the image format that can be realized in the present embodiment.
  • four image processing devices 200a, 200b, 200c, and 200d are connected to the server 400, and a head-mounted display 100a, a flat-plate display 302a, a flat-plate display 302b, and a head-mounted display 100b are connected to the server 400, respectively.
  • the images 132a and 132b to be displayed on the head-mounted displays 100a and 100b are composed of an image for the left eye and an image for the right eye, each of which has a distorted format for an eyepiece.
  • the angles of view of the images 132a and 132b displayed on the head-mounted display 100b will also be different.
  • the images 134a and 134b to be displayed on the flat plate displays 302a and 302b are composed of one image common to both eyes and have a general image format without lens distortion and the like.
  • the flat plate type display 302a has a screen aspect ratio of 16: 9 and the flat plate type display 302b has a different screen aspect ratio of 4: 3
  • the aspect ratios of the images 134a and 134b are also different.
  • the server 400 transmits a wide-field image 130 such as a 360 ° image in common to the image processing devices 200a to 200d. Then, the individual image processing devices 200a to 200d form the display image so as to match the various display formats as described above realized by each. As a result, even if the angle of view, the viewing angle, the screen aspect ratio, and the like are various as shown in the figure, the processing on the server 400 side can be performed uniformly. Furthermore, since forwarding by multicast or broadcast is possible, in addition to various display formats, even if individual users are facing different directions or the number of users increases, the forwarding bandwidth and server 400 Does not overwhelm the processing load of.
  • the image processing devices 200a to 200d are virtual viewpoints set when the server 400 generates the wide-field image 130. That is, information indicating which position and direction the wide-field image 130 is viewed as the center is acquired.
  • the information of the virtual viewpoint may be shared between the server 400 and the image processing device 200 as initial processing.
  • the information of the virtual viewpoint in each frame is shared at any time between the server 400 and the image processing device 200, for example, as follows.
  • the information of the virtual viewpoint may be the position or posture of the user's head that determines the viewpoint, or the viewpoint, or the position (visual field reference point) where the origin of the three-dimensional space to be displayed exists in the wide-field image. good.
  • the server 400 when a frame is generated based on the user's position, posture, or viewpoint in the image processing devices 200a to 200d, the server 400 first receives the information from the image processing devices 200a to 200d and a time indicating the time when the state is reached. Get the stamp and. Then, the server 400 transmits information on the position, posture, or viewpoint of the user used for generating the frame, and the time stamp in which the information is generated, together with the frame data. Alternatively, the server 400 may transmit only the position and posture of the user used for generating the frame, or the time stamp in which the viewpoint is generated, together with the frame data. In this case, the image processing unit 244 of the image processing devices 200a to 200d acquires the data corresponding to the transmitted time stamp from the position and posture held by itself or the history of the viewpoint.
  • the server 400 may transmit the field of view reference point used for frame generation together with the frame data.
  • the image processing devices 200a to 200d may transmit the history of the data set including the position, posture, or viewpoint of the user and the time stamp in that state to the server 400 together with the latest data set. .. Further, the server 400 may transmit the history of the data set including the information of the virtual viewpoint used for generating the frame, the time stamp, and the like to the image processing device 200 together with the latest data set and the data of the frame. By sending and receiving the past history in this way, it is possible to prepare for a transmission failure.
  • the image generation unit 420 of the server 400 sets the "drawing direction" of the wide-field image, that is, the position coordinates on the image plane and the display world so that the display on the single or multiple image processing devices 200 is improved in image quality.
  • the correspondence with the direction may be determined.
  • the "drawing orientation” is the orientation of the cylinder (direction of parallels / meridians, standard latitude, that is, the position of "latitude 0 degrees”) and the position of the left edge of the screen (position of longitude 0 degrees). ..
  • the degree of distortion correction performed in the image processing device 200 after cutting out the region corresponding to the predicted position and posture of the user's head is small.
  • the image resolution of the region corresponding to the predicted position and orientation of the user's head is high.
  • the above 1 is because when the wide-field image is an image represented with the orientation as an axis such as equirectangular projection or an image having lens distortion due to a fisheye lens or the like, the amount of distortion differs depending on the position of the image.
  • the above 2 is because, in the case of such an image, the resolution at the time of display (the number of pixels per unit area) differs depending on the position of the image.
  • the "drawing direction" is determined so that the display field of view does not include the upper and lower ends of the wide field image.
  • the "drawing orientation” is determined so that the display field of view does not include the upper end, lower end, left end, and right end of the wide field image. ..
  • the server 400 specifies the display field of view in each image processing device 200 by acquiring the position, posture, or viewpoint of the user from the image processing device 200 together with the time stamp indicating the time when the state is reached. Further, the server 400 may predict the movement of the display field of view in the image processing device 200 and determine the "drawing direction" accordingly.
  • the server 400 has a history of the time (a) required for the processing of the image generation unit 420, a history of the network delay (b) acquired from the communication unit 426 in the past, the decoding / decompression unit 242 of the image processing device 200, and the image processing. The history of the processing delay (c) in the unit 244 and the history of the position and posture of the user or the viewpoint are retained.
  • predicting the total delay time t for example, an average delay value, a delay value with a high frequency of occurrence, a delay value obtained by adding the derivative ( ⁇ value) of the amount of change in the latest delay history to the previous delay, etc., based on statistics, etc. Either one may be used.
  • the image generation unit 420 obtains a field of view obtained as a result of adding, for example, the derivative ( ⁇ value) of the latest change amount in the history of the user's position, posture, or viewpoint, that is, the movement vector to the previous position, posture, or viewpoint. , Determine the "drawing orientation" so that it does not become the edge of the wide field image by the equirectangular projection.
  • the image generation unit 420 of the server 400 may predict the total delay time t as described above, and determine the content of the image represented as a frame on the premise that the content of the image is displayed after the total delay time t has elapsed. .. For example, when the predicted value of the total delay time t is 5 ms, the world after 5 ms is drawn as the content of the image. When there are a plurality of image processing devices 200 as data transfer destinations, the shortest predicted value among the total delay times t predicted for each is adopted.
  • the server 400 transmits information related to the "drawing direction" adopted for frame generation of the wide-field image to the image processing device 200 together with the frame data.
  • the image processing device 200 acquires information related to the "drawing direction” together with a data set including image data, a user's position, posture, or viewpoint, and a time stamp in that state.
  • the image processing unit 244 of the image processing device 200 can cut out the image at an appropriate position by using the transmitted information.
  • the image generation unit 420 of the server 400 predicts changes in the positions, postures, or viewpoints of all users based on the movement vectors up to that point. , Determine the "drawing orientation" so that the display field of view based on it does not become the edge of the wide field of view image. Further, the image generation unit 420 may generate an image having a range of less than 360 ° by expanding the field of view based on the predicted position, posture, or viewpoint within a predetermined range.
  • the image processing device 200 includes a data set consisting of a user's position, posture, or viewpoint, a time stamp of the time when the state is reached, its history, and internal processing, for example, a decoding / decompression unit.
  • the delay time (b) due to the processing of 242 and the image processing unit 244 and its history are transmitted to the server 400.
  • the server 400 displays the "drawing direction" and its history of the frame, the position, posture or viewpoint of the adopted user, the time stamp of the time when the state is reached, or the field of view reference point and its history in the frame of the wide field of view image. It is transmitted to the image processing apparatus 200 in association with the data of. By sending and receiving the past history in this way, it is possible to prepare for a transmission failure.
  • FIG. 9 is a diagram for explaining an example of an image acquisition procedure performed by the image acquisition unit 264 of the first forming unit 270a in the image processing device 200.
  • (A) shows a part of the plane of the wide-field image transmitted from the server 400, and (b) shows the plane of the normal projection image cut out from the plane.
  • the actual displacement of the pixel is not limited to the one shown in the figure.
  • In the plane of the wide-field image represent the position where the displacement vector is set in the displacement vector map.
  • the displacement vectors are set discretely in the horizontal and vertical directions of the image plane (for example, at equal intervals such as every 8 pixels or 16 pixels).
  • D00, D01, D02, ... On the image plane after cutting out represent the positions of the displacement destinations of S00, S01, S02, ..., Respectively.
  • the displacement vector ( ⁇ x, ⁇ y) from S00 to D00 is indicated by a white arrow.
  • the image acquisition unit 264 maps a region in the field of view of the wide-field image to the image after cutting out, in the unit of the smallest triangle having the pixel for which the displacement vector is set as the apex. For example, a triangle having vertices S00, S01, and S10 of the image before cutting is mapped to a triangle having vertices D00, D01, and D10 of the image after cutting.
  • the pixels inside the triangle are displaced linearly according to the distances from D00, D01, and D10, or to the positions interpolated by bilinear, trilinear, or the like.
  • the image acquisition unit 264 determines the pixel value of the image after cutting by reading the value of the corresponding pixel of the partial image before cutting, which is stored in the connected local memory.
  • the pixel values of the image after cropping are derived by interpolating the values of a plurality of pixels within a predetermined range from the position of the read destination in the image before cropping by bilinear, trilinear, or the like.
  • the image acquisition unit 264 can draw the image after cutting out in the order of pixel strings in the unit of the triangle which is the displacement destination of the triangle of the image before cutting out.
  • the image acquisition unit 264 may update the displacement vector map for each region corresponding to the partial image in order to realize cutting out that reflects the predicted values of the position and the posture in real time.
  • FIG. 10 is a flowchart showing an example of a processing procedure in which the first control unit 272a of the display control unit 246 outputs partial image data to the display panel while adjusting the output target and the output timing in the present embodiment. ..
  • This flowchart shows a procedure of processing to be performed on a frame to be displayed in accordance with the vertical synchronization signal at a predetermined timing prior to the timing of the vertical synchronization signal of the display panel. That is, the illustrated process is repeated for each frame.
  • the same processing procedure may be performed in the second control unit 272b.
  • the data acquisition status specifying unit 248 specifies the acquisition status of the partial image included in the target frame (S10).
  • the data acquisition status specifying unit 248 may further record the output record of the partial image in the frame up to that point and refer to it.
  • the output result is, for example, at least one of the following data. 1.
  • History of classifications selected in the past predetermined period among the three classifications described later 2.
  • the output target determination unit 250 determines which of the classifications prepared in advance corresponds to those identified situations (S12).
  • the output target determination unit 250 basically makes a comprehensive determination from various viewpoints and determines the output target so that the user experience is the best. Therefore, the data acquisition status specifying unit 248 acquires at least one of the following parameters in S10.
  • the output target determination unit 250 classifies the situation by giving a score according to which range the parameters acquired for the target frame correspond to. For example, a score is given to each of the parameters acquired in S10 based on a predetermined table, and the situation is classified based on the distribution of the scores of all the parameters. In the illustrated example, three classifications are prepared. When the first classification is applied, the output target determination unit 250 determines the latest partial image data obtained so far as the output target, and causes the output unit 254 to output the data (S14).
  • the output target determination unit 250 classifies the target frame into the first category based on the score determination. And. At this time, the output target determination unit 250 adjusts the timing so that the partial images are output in the order corresponding to each generation time. Ideally, the partial image at the top of the frame is output in sequence.
  • the output target determination unit 250 can display the partial image of the target frame at a predetermined value (predetermined ratio) or more even if it has not been acquired. It may be classified into one category.
  • the table for determining the above-mentioned score may be set as such. As a result, the movement of the image can be expressed to the extent possible even if it is a part.
  • the missing image may be repaired by the image processing unit 244 after guessing.
  • the output target determination unit 250 determines the image data of the frame before the target frame as the output target, and causes the output unit 254 to output it (S16). In this case, the same frame will continue to be displayed on the display panel. For example, if the partial image of the target frame cannot be acquired at a predetermined value (predetermined ratio) or more and the partial image is acquired at a predetermined value (predetermined ratio) or more in the frame within the previous predetermined time, the output target determination unit In 250, the target frame is classified as the second category.
  • the table for determining the above-mentioned score may be set as such.
  • the output target determination unit 250 determines that nothing is output during the period in which the data of the target frame should be output (S18). In this case, a blackout period for one frame occurs on the display panel. For example, if the partial image of the target frame cannot be acquired for a predetermined value (predetermined ratio) or more and the elapsed time from the generation time is too long to continuously display the displayed image, the output target determination unit 250 sets the target frame as the third. It is classified. The table for determining the above-mentioned score may be set as such.
  • the blackout is basically to display a black filled image, but another preset color may be used.
  • the display in the second category or the third category continues for a predetermined time, as described above, by branching to the first category regardless of the acquisition status of the partial image, even if it is a part or some image is updated. good. It should be noted that as the process progresses from the first category to the third category, the user experience is likely to be impaired. Therefore, for each parameter acquired in S10, a table is determined so as to give a high score when the user experience should be good.
  • the display method classification of the first to third classifications is selected.
  • the threshold value for which the side with the larger total value is the first classification and the side with the smaller total value is the third classification is determined in advance.
  • the illustrated example is only one aspect, and the type of information acquired by the data acquisition status specifying unit 248, the judgment criteria for classification by the output target determination unit 250, and the output target in each classification are the contents of the moving image to be displayed. , Determine appropriately based on the allowable degree of omission, the duration of omission, the permissible display delay, display stop time, and the like. Further, the first control unit 272a stores an image accumulated while waiting until the next vertical synchronization signal, a displayed image in a certain range, a generation time, a determination result or a score in S10 or S12, or a memory (not shown). May be held in.
  • the output target determination unit 250 determines whether or not the situation related to the target frame corresponds to the condition to warn the user, in addition to the determination in S12 (S20). For example, the output target determination unit 250 determines that a warning to the user is necessary on the condition that the blackout time per unit time and the amount of missing partial images exceed the threshold value (S20). Y). At this time, the output target determination unit 250 displays a message indicating that the communication status affects the image display (S22).
  • the message may be displayed by the image processing unit 244 superimposing it on the partial image. This allows the user to know the cause of the defect in the displayed image. If the warning condition is not met, the message is not displayed (N in S20). The above procedure ends the processing related to the target frame and starts the processing for the next frame.
  • the data acquisition status specifying unit 248 may derive a tendency of the data transmission delay time based on the elapsed time from the generation time of the partial image acquired in S10 to the processing time. For example, the data acquisition status specifying unit 248 generates a histogram of the elapsed time from the generation time of a predetermined number of partial images acquired in the past. Then, the data acquisition status specifying unit 248 detects the tendency of the elapsed time to increase when the histogram is biased in the direction in which the elapsed time becomes longer than the reference value.
  • the data acquisition status specifying unit 248 may request the server 400 via the image data acquisition unit 240 or the like to suppress the size of the image data to be transmitted.
  • the data acquisition status specifying unit 248 requests that the data transmission of one frame of the image be skipped, or that the compression rate be increased by a predetermined amount. You may request that the screen resolution be reduced by a predetermined amount.
  • the data acquisition status specifying unit 248 may request the output target determination unit 250 to skip the data output of one frame of the image.
  • the data acquisition status specifying unit 248 may transmit the elapsed time from the generation time of the partial image to the acquisition and its history to the server 400.
  • the communication unit 426 of the server 400 acquires this, and when the compression coding unit 422 generates a histogram and the histogram is biased in the direction of increasing the elapsed time, the communication unit 426 detects the tendency of the elapsed time to increase and transmits the histogram.
  • the size of the image data to be used may be suppressed.
  • the data acquisition status specifying unit 248 may notify the server 400 of the amount of occurrence of the first to third categories described above. With these measures, the delay time increases, and it is possible to prevent the display of subsequent frames from being significantly delayed or data being lost.
  • FIG. 11 is a flowchart showing a processing procedure in which the first control unit 272a of the display control unit 246 adjusts the output target based on the change in the position and orientation of the head-mounted display 100 in the present embodiment.
  • This flowchart is performed after the determination process of S12 in the flowchart shown in FIG. More specifically, the output target determination unit 250 of the first control unit 272a changes the frame to the third category as necessary, even if the frame falls under the first category or the second category in the determination process of S12. Therefore, an additional judgment is made.
  • the output target determination unit 250 when it is determined from the acquisition status of the partial image that the target frame falls under the third category, the output target determination unit 250 ends the process as it is (N in S90). On the other hand, when it is determined that the first classification or the second classification is applicable (Y in S90), the output target determination unit 250 first predicts the position and orientation of the head-mounted display 100 when the first forming unit 270a cuts out the image. And whether or not the difference from the latest position / orientation is within the permissible range (S92).
  • the output target determination unit 250 changes the classification of the target frame classified as the first classification or the second classification to the third classification (N, S98 of S92). In this case, the display is blacked out.
  • the first classification may be left as it is, and the past frame may not be used for displaying the missing portion in S14 of FIG.
  • the criteria for determining whether the difference in position and orientation is within the permissible range is whether the entire area of the frame can be covered by the latest partial image (1st classification), or whether even a part of the past frame partial image is used (1st classification or). It may be different depending on the second category). Specifically, the smaller the difference in position and orientation, the more it may be allowed to use the partial image of the past frame. Whether or not it is within the permissible range may be determined by the magnitude relationship with the threshold value set for the difference in position and orientation. It may be given and combined with the score value and the like used for the determination in FIG. 10 to make a comprehensive determination.
  • the output target determination unit 250 When it is determined that the difference in position and orientation is within the permissible range (Y in S92), the output target determination unit 250 then evaluates the degree of data loss in the target frame from the viewpoint of the user, and the result is within the permissible range. Whether or not it is determined (S94). Specifically, the closer to the user's gaze point, the greater the weighting is used to quantify the degree of data loss, and when the value exceeds the threshold value, it is determined that the degree of data loss is not within the permissible range. When the degree of omission is not within the permissible range (N in S94), the output target determination unit 250 changes the target frame classified as the first classification to the second classification or the third classification.
  • the target frame classified as the second category is changed to the third category (S98).
  • the determination process of S94 may be performed at the same time as the determination process of S12 of FIG.
  • the output target determination unit 250 ends the process with the original classification (Y in S94).
  • S92 and S94 are not limited to being judged independently, but scores are obtained based on each judgment criterion, and by adding them up, it is judged comprehensively and simultaneously whether or not classification or display content change is necessary. May be good. As a result of the additional determination in this way, any of the processes S14, S16, and S18 of FIG. 10 is performed.
  • FIG. 12 is a diagram for explaining a method in which the output target determination unit 250 quantifies the degree of data loss based on the user's viewpoint in S94 of FIG.
  • the user's gaze point 292 is assumed to exist near the center of the display screen 290. Since the user wearing the head-mounted display 100 usually turns his / her face in the desired direction, the center of the display screen 290 can be regarded as the gazing point 292.
  • the region 294 corresponding within 5 ° with the line of sight from the pupil to the gazing point as the central axis is called a discriminative visual field, and has excellent visual functions such as visual acuity.
  • the region 296 corresponding within about 30 ° in the horizontal direction and about 20 ° in the vertical direction is called an effective visual field, and information can be instantly received only by eye movement.
  • the area 298 corresponding to 60 to 90 ° in the horizontal direction and 45 to 70 ° in the vertical direction is a stable gaze
  • the area 299 corresponding to 100 to 200 ° in the horizontal direction and 85 to 130 ° in the vertical direction is auxiliary. The farther away from the gazing point 292, such as the visual field, the lower the ability to discriminate information.
  • weighting functions 320a and 320b are set so as to be closer to the gazing point 292 on the plane of the display screen 290.
  • the weighting functions 320a and 320b for the one-dimensional positions in the horizontal and vertical directions on the plane of the display screen 290 are shown, but in reality, the functions for the two-dimensional position coordinates on the plane. Or it is a table.
  • the output target determination unit 250 multiplies the missing area of the partial image by a weight based on the position coordinates where the missing occurs, and totals it over the entire area of the target frame to derive the degree of missing as a numerical value. ..
  • the degree of missing can be estimated high, and it is possible to determine whether or not it is within the allowable range in consideration of the impression of appearance.
  • the shapes of the weighting functions 320a and 320b shown in the illustration are merely examples, and the shapes may be optimized or made into discontinuous functions based on the visual characteristics of each range described above. Further, when the gaze point detector is provided on the head-mounted display 100, the gaze point 292 is not limited to the center of the display screen 290 and is more strictly obtained.
  • the output target determination unit 250 may move the position where the weighting functions 320a and 320b are maximized according to the movement of the gazing point 292.
  • the gazing point information can be acquired more strictly, so the change in weighting with respect to the distance is larger than when the center of the screen is regarded as the gazing point, and the influence on the degree of omission is amplified. You may.
  • the output target determination unit 250 is expected to deviate from the display field of view in the region cut out by the first forming unit 270a based on the difference between the predicted value of the position / orientation of the head-mounted display 100 and the actual position / orientation at the time of processing. A region may be specified and the region may be excluded from the evaluation target of the degree of omission.
  • FIG. 13 is a flowchart showing a procedure of processing performed by the first forming unit 270a of the image processing unit 244 and the first control unit 272a of the display control unit 246 in the image processing device 200. This flowchart is basically performed on a frame-by-frame basis for moving images.
  • the first control unit 272a acquires the latest position / orientation of the head-mounted display 100 by the position / attitude tracking unit 252 and supplies it to the first forming unit 270a (S100).
  • the first control unit 272a has a history of the delay time obtained for the past frame from the cutting time in the first forming unit 270a to the processing by the first control unit 272a, and the position and orientation of the head-mounted display 100.
  • the history of the difference between the predicted value and the actual value is supplied to the first forming unit 270a (S102).
  • the transmission processing of S100 and S102 may be performed at an arbitrary timing that is not synchronized with the frame. Further, in S102, it is possible to prepare for a transmission failure by transmitting a history of a predetermined number of frames in the past.
  • the position / orientation prediction unit 262 of the first forming unit 270a predicts the position / orientation when the corresponding frame is displayed on the head-mounted display 100 based on the information (S104). That is, the position and orientation after the time required for the subsequent processing by the first forming unit 270a and the processing and output by the first control unit 272a have elapsed are predicted by using various information supplied from the first control unit 272a. do.
  • the image acquisition unit 264 of the first forming unit 270a cuts out a region corresponding to the predicted position / orientation from the wide-field image transmitted from the server 400 (S106).
  • the image acquisition unit 264 may prevent omission of the display by cutting out a field of view expanded by a predetermined amount range. Further, the image acquisition unit 264 may make necessary corrections using the displacement vector map described above.
  • the image acquisition unit 264 supplies the data of the image cut out and subjected to various corrections to the first control unit 272a in association with the cutout time and the predicted value of the position and orientation used for the cutout (S108).
  • the image acquisition unit 264 also supplies the history of the cutout time and the history of the predicted value of the position / orientation of the predetermined number of processed images to the first control unit 272a to prepare for the failure to transmit the information.
  • the output target determination unit 250 determines the delay time after the partial image is cut out and the difference between the predicted value of the position and orientation and the actual value. Acquire (S110). Then, the output target determination unit 250 controls the output target by classifying the frames based on the data (S112). Except for the case of blacking out according to the third classification, the output target determination unit 250 targets the current frame or the previous frame cut out by the first forming unit 270a as an output target, and the output unit 254 outputs to the display panel (S114). ..
  • the first control unit 272a cuts out a region corresponding to the latest position and orientation of the head-mounted display 100 from the wide-field image of the previous frame in the first forming unit 270a.
  • the image cut out in response to the request may be output.
  • each process is partially performed. It works effectively even if it is executed in frame units instead of image units.
  • the server 400 has a wider field of view than the display field on the client side. Generate and send the image of. For example, by transmitting a wide-field moving image represented by the equirectangular projection, it is possible to display without failure regardless of the field of view on the client side.
  • the server 400 performs uniform processing, independent images can be easily displayed on display devices having various display forms and screen aspect ratios, and a plurality of users can freely view the same image world.
  • the processing load of the server 400 can be suppressed in the manner as seen.
  • the server 400 can deliver by multicast or broadcast, it is possible to improve the utilization efficiency of the network bandwidth. As a result, high-quality images can be displayed with low delay even in the format of delivering moving images from the server.
  • the present invention can be used for various information processing devices such as servers, image display devices, game devices, mobile terminals, and personal computers, and image display systems including any of them.
  • 1 image display system 100 head mount display, 200 image processing device, 240 image data acquisition unit, 242 decoding / decompression unit, 244 image processing unit, 246 display control unit, 248 data acquisition status identification unit, 250 output target determination unit, 252 Position / orientation tracking unit, 254 output unit, 262 position / orientation prediction unit, 264 image acquisition unit, 270a first formation unit, 272a first control unit, 273 client information transmission unit, 302 flat plate display, 400 server, 420 image generation unit , 422 compression coding unit, 424 packetization unit, 426 communication unit.

Abstract

サーバ400は、クライアントにおける表示視野より広い視野を有する広視野画像130をマルチキャストなどによりストリーミング転送する。クライアントの画像処理装置200a~200dは、それぞれに接続されたヘッドマウントディスプレイ100a、100b、平板型ディスプレイ302a、302bの表示視野に対応する領域を切り出し、各形式に対応する画像132a、134a、134b、132bを形成したうえで出力する。

Description

[規則37.2に基づきISAが決定した発明の名称] 画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム
 この発明は、表示対象の動画像のデータを処理する画像表示システム、画像処理装置、および画像処理方法に関する。
 近年の情報処理技術や画像表示技術の向上により、様々な形態で映像世界を体験することができるようになってきた。例えばヘッドマウントディスプレイにパノラマ映像を表示し、ユーザの視線に対応する画像を表示させることにより、映像世界への没入感を高めたり、ゲームなどのアプリケーションの操作性を向上させたりできる。また、潤沢なリソースを有するサーバからストリーミング転送された画像データを表示させることにより、ユーザは場所や規模によらず高精細な動画像やゲーム画面を楽しむことができる。
 ネットワークを介して伝送された画像のデータをクライアント端末に即時表示させる技術においては、当該クライアント端末とサーバ間の通信による遅延時間が問題となり得る。例えばクライアント端末側でのユーザ操作を表示画像に反映させる場合、ユーザ操作のサーバへの送信と、サーバからクライアント端末への画像データの送信といったデータの行き来が必要になり、看過できない遅延時間を生むことがある。ヘッドマウントディスプレイを表示先とする場合は、ユーザの頭部の動きに対し表示が遅れることにより、臨場感が損なわれたり映像酔いを引き起こしたりすることも考えられる。この問題は、高い画質を追求するほど顕在化しやすい。
 本発明はこうした課題に鑑みてなされたものであり、その目的は、通信によるデータ伝送を伴う画像表示において、画質と遅延時間の低減を両立させることのできる技術を提供することにある。
 上記課題を解決するために、本発明のある態様は画像表示システムに関する。この画像表示システムは、動画像のデータを転送する画像データ転送装置と、動画像のデータを受信し表示装置に表示させるクライアント端末と、を含む画像表示システムであって、画像データ転送装置は、表示対象の世界を、転送先での表示視野より広い視野で表した、動画像のフレームを生成する画像生成部と、フレームのデータをクライアント端末にストリーミング転送する通信部と、を備え、クライアント端末は、フレームのデータを取得する画像データ取得部と、フレームのうち表示視野の領域を切り出す画像処理部と、切り出した領域のデータを表示パネルに出力する表示制御部と、を備えたことを特徴とする。
 本発明の別の態様は画像処理装置に関する。この画像処理装置は、表示対象の世界を、表示視野より広い視野で表した動画像のフレームのデータを取得する画像データ取得部と、フレームのうち表示視野の領域を切り出す画像処理部と、切り出した領域のデータを表示パネルに出力する表示制御部と、を備えたことを特徴とする。
 本発明のさらに別の態様は画像表示方法に関する。この画像表示方法は、動画像のデータを転送する画像データ転送装置と、動画像のデータを受信し表示装置に表示させるクライアント端末と、を含む画像表示システムにおいて、画像データ転送装置が、表示対象の世界を、転送先での表示視野より広い視野で表した、動画像のフレームを生成するステップとフレームのデータをクライアント端末にストリーミング転送するステップと、クライアント端末が、フレームのデータを取得するステップと、フレームのうち表示視野の領域を切り出すステップと、切り出した領域のデータを表示パネルに出力するステップと、を含むことを特徴とする。
 なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
 本発明によれば、通信によるデータ伝送を伴う画像表示において、画質と遅延時間の低減を両立させることができる。
本実施の形態における画像表示システムの構成例を示す図である。 本実施の形態のヘッドマウントディスプレイの外観例を示す図である。 本実施の形態におけるサーバと画像処理装置の基本的な構成を示す図である。 本実施の形態における、画像の描画から表示までの処理の様子を概念的に示す図である。 本実施の形態において、ヘッドマウントディスプレイへの表示に利用できる画像の補正処理を説明するための図である。 本実施の形態のサーバおよび画像処理装置の機能ブロックを示す図である。 本実施の形態の画像処理装置の画像処理部における第1形成部、および表示制御部における第1制御部の機能ブロックをより詳細に示す図である。 本実施の形態で実現できる画像の形式の変遷を例示する図である。 本実施の形態の画像処理装置において、第1形成部の画像取得部が行う画像取得の手順の例を説明するための図である。 本実施の形態において表示制御部の第1制御部が、出力対象や出力タイミングを調整しつつ、表示パネルへ部分画像のデータを出力する処理手順の例を示すフローチャートである。 本実施の形態において表示制御部の第1制御部が、ヘッドマウントディスプレイの位置姿勢の変化に基づき出力対象を調整する処理手順を示すフローチャートである。 図11のS94において、出力対象決定部がユーザの視点に基づきデータ欠落の度合いを数値化する手法を説明するための図である。 本実施の形態の画像処理装置において、画像処理部の第1形成部と表示制御部の第1制御部が実施する処理の手順を示すフローチャートである。
 図1は、本実施の形態における画像表示システムの構成例を示す。画像表示システム1は、クライアント端末としての画像処理装置200、ヘッドマウントディスプレイ100、平板型ディスプレイ302、およびサーバ400を含む。画像処理装置200は、ヘッドマウントディスプレイ100および平板型ディスプレイ302と、無線通信またはUSB Type-C、HDMI(登録商標)などのインターフェース300により接続される。画像処理装置200はさらに、インターネットやLAN(Local Area Network)などのネットワーク306を介してサーバ400に接続される。
 サーバ400は、画像データ転送装置として、表示対象の画像の少なくとも一部を生成して画像処理装置200にストリーミング転送する。ここでサーバ400は、クラウドゲームなど各種配信サービスを提供する企業などのサーバでもよいし、任意の端末にデータを送信する家庭内サーバなどでもよい。したがってネットワーク306は、インターネットなどの公衆ネットワークやLAN(Local Area Network)など、その規模は限定されない。例えばネットワーク306は携帯電話キャリアネットワークや、街中にあるWi-Fiスポット、家庭にあるWi-Fiアクセスポイントを経由したものでもよい。あるいは画像処理装置200とサーバ400は、ビデオインターフェースにより直接接続されてもよい。
 画像処理装置200は、サーバ400から送信された画像のデータを、必要に応じて、ヘッドマウントディスプレイ100や平板型ディスプレイ302に適した形式に変換したうえ、適切なタイミングでヘッドマウントディスプレイ100や平板型ディスプレイ302に出力する。例えば画像処理装置200は、ヘッドマウントディスプレイ100を装着したユーザの頭部の動きに対応する視野の画像を生成し、ヘッドマウントディスプレイ100に出力する。このとき画像処理装置200は、平板型ディスプレイ302にも同様の視野で画像を表示させることにより、ヘッドマウントディスプレイ100を装着しているユーザがどのような画像を見ているかを、その他の人が見られるようにしてもよい。
 ただし画像処理装置200は、ヘッドマウントディスプレイ100と平板型ディスプレイ302に、互いに独立した視野の画像を表示させてもよい。また画像処理装置200は、サーバ400から送信された画像に、別途準備したUI(User Interface)プレーン画像(あるいはOSD(On Screen Display)プレーン画像とも呼ぶ)や、ヘッドマウントディスプレイ100が備えるカメラによる撮影画像を合成してから、ヘッドマウントディスプレイ100や平板型ディスプレイ302に出力してもよい。
 このような構成により、複数のユーザが参加するクラウドゲームシステムを実現できる。ただし本実施の形態において表示対象とする動画像の内容や、その表示先は特に限定されない。例えばサーバ400は、図示しないカメラによって撮影された画像を表示対象とし、画像処理装置200にライブ配信してもよい。
 また本実施の形態を適用できるシステムの構成は図示するものに限定されない。例えば画像処理装置200に接続する表示装置はヘッドマウントディスプレイ100と平板型ディスプレイ302のどちらか一方でもよいし、複数のヘッドマウントディスプレイ100であってもよい。また画像処理装置200はヘッドマウントディスプレイ100や平板型ディスプレイ302に内蔵されていてもよい。例えば平板型のディスプレイと画像処理装置を、それらを一体的に備えたパーソナルコンピュータや携帯端末(ポータブルゲーム機、高機能携帯電話、タブレット端末)としてもよい。
 これらの装置にさらにヘッドマウントディスプレイ100および平板型ディスプレイ302の少なくともいずれかを必要に応じて接続できるようにしてもよい。画像処理装置200やこれらの端末に、図示しない入力装置を内蔵もしくは接続してもよい。またサーバ400に接続される画像処理装置200の数も限定されない。
 図2は、ヘッドマウントディスプレイ100の外観例を示す。この例においてヘッドマウントディスプレイ100は、出力機構部102および装着機構部104で構成される。装着機構部104は、ユーザが被ることにより頭部を一周し装置の固定を実現する装着バンド106を含む。出力機構部102は、ヘッドマウントディスプレイ100をユーザが装着した状態において左右の目を覆うような形状の筐体108を含み、内部には装着時に目に正対するように表示パネルを備える。
 筐体108内部にはさらに、ヘッドマウントディスプレイ100の装着時に表示パネルとユーザの目との間に位置し、画像を拡大して見せる接眼レンズを備える。またヘッドマウントディスプレイ100はさらに、装着時にユーザの耳に対応する位置にスピーカーやイヤホンを備えてよい。
 ヘッドマウントディスプレイ100はさらに、筐体108の前面にステレオカメラ110、中央に広視野角の単眼カメラ111、左上、右上、左下、右下の四隅に広視野角の4つのカメラ112を備え、ユーザの顔の向きに対応する方向の実空間を動画撮影する。ある態様においてヘッドマウントディスプレイ100は、ステレオカメラ110が撮影した動画像を即時表示させることにより、ユーザが向いた方向の実空間の様子をそのまま見せるシースルーモードを提供する。
 またステレオカメラ110、単眼カメラ111、4つのカメラ112による撮影画像の少なくともいずれかを、表示画像の生成に利用してもよい。例えばSLAM(Simultaneous Localization and Mapping)により周囲の空間に対するヘッドマウントディスプレイ100、ひいてはユーザの頭部の位置や姿勢を所定のレートで取得し、画像の視野を決定したり、画像を補正したりするのに用いてもよい。あるいは画像処理装置200において、サーバ400から送信された画像に撮影画像を合成し表示画像としてもよい。
 またヘッドマウントディスプレイ100は、内部に加速度センサ、ジャイロセンサ、地磁気センサなど、ヘッドマウントディスプレイ100の位置、姿勢、動きを導出するためのモーションセンサのいずれかを備えてよい。この場合、画像処理装置200は、当該モーションセンサの計測値に基づき、ユーザ頭部の位置や姿勢の情報を所定のレートで取得する。この情報は、画像の視野を決定したり、画像を補正したりするのに用いることができる。
 図3は、本実施の形態におけるサーバ400と画像処理装置200の基本的な構成を示している。本実施の形態におけるサーバ400および画像処理装置200は、表示画像の1フレームより小さい部分画像を記憶するローカルメモリを要所に備える。そしてサーバ400における画像データの圧縮符号化および送信、画像処理装置200におけるデータの受信、復号伸張、各種画像処理、表示装置への出力を、当該部分画像の単位でパイプライン処理する。これにより、サーバ400での画像の描画から、画像処理装置200に接続された表示装置への表示までの遅延時間を軽減させる。
 サーバ400において、描画制御部402はCPU(Central Processing Unit)で実現され、画像描画部404における画像の描画を制御する。上述のとおり本実施の形態において表示させる画像の内容は特に限定されないが、描画制御部402は例えば、クラウドゲームを進捗させ、その結果を表す動画像のフレームを画像描画部404に描画させる。
 画像描画部404はGPU(Graphics Processing Unit)で実現され、描画制御部402の制御のもと、所定または可変のレートで動画像のフレームを描画し、その結果をフレームバッファ406に格納する。フレームバッファ406はRAM(Random Access Memory)によって実現される。ビデオエンコーダ408は、描画制御部402の制御のもと、フレームバッファ406に格納された画像のデータを、1フレームより小さい部分画像の単位で圧縮符号化する。部分画像は、フレームの画像平面を例えば横方向、縦方向、縦横双方向、または斜め方向に設定した境界線で分割してなる、各領域の画像である。
 ビデオエンコーダ408はこの際、圧縮符号化に必要な画像が画像描画部404により描画され次第、サーバの垂直同期信号を待たずに、当該フレームの圧縮符号化を開始してよい。フレームの描画や圧縮符号化など各種処理を、垂直同期信号を基準として同期させる従来技術によれば、画像の描画から表示までの各処理に与える時間をフレーム単位で揃えることにより、フレーム順の管理が容易である。しかしながらこの場合、フレームの内容によって描画処理が早く終了しても、圧縮符号化処理を次の垂直同期信号まで待機する必要がある。本実施の形態では後に述べるように、部分画像単位でその生成時刻を管理することにより、無駄な待機時間が生じないようにする。
 ビデオエンコーダ408が圧縮符号化に用いる符号化方式は、H.264/AVCやH.265/HEVCなど一般的なものでよい。ビデオエンコーダ408は、圧縮符号化した画像のデータを部分画像記憶部410に格納する。部分画像記憶部410はSRAM(Static Random Access Memory)などで実現されるローカルメモリであり、1フレームより小さい部分画像のデータサイズに対応する記憶領域を有する。以後に述べる「部分画像記憶部」も同様である。ビデオストリーム制御部414は、圧縮符号化された部分画像のデータが部分画像記憶部410に格納される都度、当該データを読み出し、オーディオデータや制御情報などを必要に応じて含めたうえでパケット化する。
 制御部412は、部分画像記憶部410に対するビデオエンコーダ408のデータ書き込み状況や、ビデオストリーム制御部414のデータを読み出し状況などを常に監視し、両者の動作を適切に制御する。例えば制御部412は、部分画像記憶部410にデータ欠乏、すなわちバッファアンダーランや、データ溢れ、すなわちバッファオーバーランが起きないように制御する。
 入出力インターフェース416は画像処理装置200と通信を確立し、ビデオストリーム制御部414がパケット化したデータを、ネットワーク306を介して順次送信する。入出力インターフェース416は画像データのほか、オーディオデータなども適宜送信してよい。入出力インターフェース416はさらに、ユーザ操作に係る情報を画像処理装置200から取得し、描画制御部402に供給してもよい。
 画像処理装置200において入出力インターフェース202は、サーバ400から送信された画像やオーディオのデータを順次取得する。入出力インターフェース202はさらに、ユーザ操作に係る情報をヘッドマウントディスプレイ100や図示しない入力装置などから適宜取得し、サーバ400に送信してもよい。入出力インターフェース202は、サーバ400から取得したパケットを復号のうえ、取り出した画像のデータを部分画像記憶部204に格納する。
 部分画像記憶部204は入出力インターフェース202とビデオデコーダ208の間に設けたローカルメモリである。制御部206は、部分画像記憶部204に対する入出力インターフェース202のデータ書き込み状況や、ビデオデコーダ208のデータを読み出し状況などを常に監視し、両者の動作を適切に制御する。
 ビデオデコーダ208は、部分画像のデータが部分画像記憶部204に格納される都度、当該データを読み出し、符号化方式に応じた手順で復号伸張したうえ、部分画像記憶部210に順次格納する。部分画像記憶部210はビデオデコーダ208と画像処理部214の間に設けたローカルメモリである。制御部212は、部分画像記憶部210に対するビデオデコーダ208のデータ書き込み状況や、画像処理部214のデータを読み出し状況などを常に監視し、両者の動作を適切に制御する。
 画像処理部214は、復号伸張された部分画像のデータが部分画像記憶部210に格納される都度、当該データを読み出し、表示に必要な処理を施す。例えばヘッドマウントディスプレイ100において、接眼レンズを介して見たときに歪みのない画像を視認させるために、接眼レンズによる歪みと逆の歪みを与える補正処理を実施する。
 あるいは画像処理部214は、別途準備したUIプレーン画像を参照し、サーバ400から送信された画像に合成(スーパーインポーズ)してもよい。また画像処理部214は、ヘッドマウントディスプレイ100が備えるカメラによる撮影画像を、サーバ400から送信された画像に合成してもよい。画像処理部214はまた、処理の時点におけるユーザの頭部の位置や姿勢に対応する視野となるように、サーバ400から送信された画像を整形してもよい。画像処理部214はまた、超解像処理など平板型ディスプレイ302へ出力するのに適した画像処理を行ってもよい。
 いずれにしろ画像処理部214は、部分画像記憶部210に格納された部分画像の単位で処理を施し、部分画像記憶部216に順次格納していく。部分画像記憶部216は画像処理部214とディスプレイコントローラ220の間に設けたローカルメモリである。制御部218は、部分画像記憶部216に対する画像処理部214のデータ書き込み状況や、ディスプレイコントローラ220のデータを読み出し状況などを常に監視し、両者の動作を適切に制御する。
 ディスプレイコントローラ220は、画像処理後の部分画像のデータが部分画像記憶部216に格納される都度、当該データを読み出し、ヘッドマウントディスプレイ100や平板型ディスプレイ302に適切なタイミングで出力する。具体的には、それらのディスプレイの垂直同期信号に合致するタイミングで、各フレームの最上段の部分画像のデータを出力し、その後、下方に向けて部分画像のデータを順次出力していく。
 次に、画像の描画から表示までにサーバ400および画像処理装置200において実現される、部分画像のパイプライン処理について説明する。図4は、本実施の形態における、画像の描画から表示までの処理の様子を概念的に示している。上述のとおりサーバ400は、動画像のフレーム90を所定または可変のレートで生成する。図示する例でフレーム90は、左右に二等分した領域に左目用、右目用の画像をそれぞれ表した構成を有するが、サーバ400で生成する画像の構成をこれに限る趣旨ではない。
 サーバ400は上述のとおり、フレーム90を部分画像ごとに圧縮符号化する。図では画像平面を水平方向に5分割し、部分画像92a、92b、92c、92d、92eとしている。これにより、部分画像はこの順で次々に圧縮符号化され、矢印に示すように画像処理装置200へ伝送され表示される。すなわち最上段の部分画像92aに対し、圧縮符号化、送信、復号伸張、表示パネル94への出力といった処理が施されている間に、その下の部分画像92b、さらに下の部分画像92c、というように順次部分画像が伝送され表示される。これにより、画像の描画から表示までに必要な各種処理を並列に実施でき、転送時間が介在しても最低限の遅延で表示を進捗させることができる。
 一方、ヘッドマウントディスプレイ100を装着したユーザの頭部の位置や姿勢に対応する視野で動画を生成する場合、サーバ400は画像処理装置200から頭部の動きに係る情報を取得し、それに対応する視野で画像を生成して転送することで、画像処理装置200がヘッドマウントディスプレイ100に表示させる、といった手順が発生する。これらの手順に要する時間により、頭部の動きに対し表示画像に看過できない遅延が生じ、仮想現実における没入感が損なわれたり、映像酔いを引き起こしたりしてユーザ体験の質が低下し得る。
 そこで、サーバ400が一旦、生成した画像を、画像処理装置200が表示の直前の頭部の位置や姿勢に合わせて補正したうえで表示させることが考えられる。図5はヘッドマウントディスプレイ100への表示に利用できる画像の補正処理を説明するための図である。まず(a)は、サーバ400が、取得した位置姿勢の情報に対応するようにビュースクリーン340aを設定した様子を示している。サーバ400は、当該ビュースクリーン340aによって定まる視錐台342aに含まれる像344をビュースクリーン340aに描画する。
 一方、そのように描画された画像を画像処理装置200側で表示する際、矢印に示すように、サーバ400が把握したときより頭部がやや左側を向いていたとする。この場合、画像処理装置200は、(b)に示すように、ビュースクリーン340bをやや左に向け、それに対応する像となるように画像を補正する。これにより、動画データの伝送経路に関わらず、頭部の動きに追随する画像をヘッドマウントディスプレイ100に表示させることができる。
 一方、このような手法では、頭部の動きが高速であるほど補正量が大きくなり、表示に必要なデータが足りなくなってしまう可能性がある。図示する例では、画像処理装置200が新たに設定した視錐台342bには、サーバ400からデータが送信されていない領域346が多く含まれるため、補正が困難となる。そこで本実施の形態のサーバ400は、ヘッドマウントディスプレイ100などにおける表示の視野より広い視野で表示対象の世界を表した動画像を生成し転送する。
 そして画像処理装置200は、転送された広い視野での画像から、表示視野の領域を切り出して出力する。ヘッドマウントディスプレイ100を出力先とする場合、画像処理装置200は、当該ヘッドマウントディスプレイ100の位置姿勢に対応する領域の画像を切り出す。ここでサーバ400が生成する動画像の視野を、表示を許容する全方位を網羅するように設定すれば、ユーザの動きや見ている方向がどのようであっても、それに追随する画像を破綻なく表示させることができる。
 また、複数のユーザが同じ画像世界を独立した視野で鑑賞するような態様においても、サーバ400は全ユーザに共通のフレームを生成、転送すればよくなるため、個々の視野に合わせた画像を生成する処理が必要なくなる。さらにマルチキャストやブロードキャストが可能になり、配信ネットワークの帯域利用効率を高めることができる。
 このような構成は、例えば全ユーザが1つの乗り物に同乗し仮想世界を移動するゲームや、複数のユーザが同時参加する遊園地のアトラクションなどにおいて特に効果的である。この場合、サーバ400は、ユーザの位置から視認可能な360°画像を生成し、各ユーザの画像処理装置200に転送する。これによりユーザは、ヘッドマウントディスプレイ100や平板型ディスプレイ302を用いて、画像が表す世界を自由に見渡すことができる。
 図6は、本実施の形態のサーバ400および画像処理装置200の機能ブロックを示している。同図に示す各機能ブロックは、ハードウェア的にはCPU、GPU、エンコーダ、デコーダ、演算器、各種メモリなどで実現でき、ソフトウェア的には、記録媒体からメモリにロードした、情報処理機能、画像描画機能、データ入出力機能、通信機能などの諸機能を発揮するプログラムで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
 サーバ400は、画像生成部420、圧縮符号化部422、パケット化部424、および通信部426を備える。画像生成部420は図3の描画制御部402、画像描画部404、フレームバッファ406で構成され、ゲーム画像など画像処理装置200に送信すべき動画像のフレームを、所定または可変のレートで生成する。画像生成部420は例えば、それまで存在していなかった転送対象の動画像のフレームを動的に生成する。あるいは画像生成部420は、図示しないカメラなどから動画像のデータを取得してもよい。
 いずれにしろ画像生成部420は上述のとおり、表示対象の世界を、転送先での表示視野より広い視野で表した動画像のフレームを生成する。例えば画像生成部420は、いわゆる360°画像(全天球画像)を、正距円筒図法で表したデータを生成する。ただし画像の形式は限定されず、多円錐図法、等距離射法、その他、魚眼レンズの画像表現に用いられる様々な形式のいずれを用いてもよい。また魚眼レンズによる画像を用いる場合、サーバ400は、2眼分の画像を用いて360°の画像を生成してもよい。
 また画像生成部420が生成するフレームの視野は、少なくとも転送先での表示視野より広ければ、その範囲は限定されない。そのため360°画像など、許容される表示視野を全て網羅する画像を生成してもよいし、画像処理装置200などから実際の表示視野の情報を取得し、その範囲を所定量だけ拡張した視野の画像を生成してもよい。またヘッドマウントディスプレイ100など、視差を有する複数の画像を表示する場合、画像生成部420は、対応する視差を有する、異なる視野の画像を複数生成してもよい。以後、画像生成部420生成する動画像のフレームを「広視野画像」と呼ぶ。
 圧縮符号化部422は、図3のビデオエンコーダ408、部分画像記憶部410、制御部412で構成され、画像生成部420が生成した広視野画像のデータを、部分画像の単位で圧縮符号化する。ここで圧縮符号化部422は、1行、2行など所定数の行の領域や、16×16画素、64×64画素など所定サイズの矩形領域を単位として動き補償や符号化を行う。したがって圧縮符号化部422は、圧縮符号化に必要な最小単位の領域のデータが画像生成部420により生成されたら、圧縮符号化を開始してよい。
 なお圧縮符号化や送信におけるパイプライン処理の単位である部分画像は、当該最小単位の領域と同じでもよいしそれより大きな領域としてもよい。パケット化部424は、図3のビデオストリーム制御部414、制御部412で構成され、圧縮符号化された部分画像のデータを、利用する通信のプロトコルに応じた形式でパケット化する。この際、当該部分画像が描画された時刻(以下、「生成時刻」と呼ぶ)を、画像生成部420または圧縮符号化部422から取得することにより、部分画像のデータと対応づけておく。
 通信部426は、図3の入出力インターフェース416で構成され、圧縮符号化された部分画像のデータとその生成時刻を含めたパケットを、画像処理装置200に送信する。これらの構成によりサーバ400は、圧縮符号化、パケット化、送信を、1フレームより小さい部分画像単位でパイプライン処理することにより並列に行う。ここで通信部426は、一般的なマルチキャストやブロードキャストの技術により、1つの広視野画像のデータを、複数の画像処理装置200にストリーミング配信してよい。ただし転送先の画像処理装置200の数は限定されない。
 通信部426はまた、転送先の画像処理装置200から、ユーザ操作に係る情報を取得してもよい。この場合、画像生成部420は、通信部426からユーザ操作に係る情報を取得し、それに応じて生成するフレームが表す内容を変化させてもよい。例えば複数のユーザがプレイヤとなり同じ仮想空間にいるゲームを実現する場合、画像生成部420は、ユーザ操作に応じて仮想世界のオブジェクトが動いたりゲームが進捗したりするように動画像の各フレームを生成する。
 なお「ユーザ操作に係る情報」には、入力装置を介したユーザ操作のほか、ヘッドマウントディスプレイ100などが取得する、ユーザ頭部の位置や姿勢、ユーザの注視点などの少なくともいずれかの情報を含んでよい。このとき画像生成部420は、それらの情報を参照して各フレームを生成してもよい。画像生成部420が広視野画像の生成に用いる仮想視点を、ユーザの状況に応じて変化させる場合、通信部426は、当該仮想視点の情報も送信してよい。
 画像処理装置200は、画像データ取得部240、復号伸張部242、画像処理部244、表示制御部246、およびクライアント情報送信部273を備える。なお復号伸張部242と画像処理部244は、部分画像のデータに所定の処理を施し表示用の部分画像のデータを生成するという意味で共通の機能を有し、それらの少なくともいずれかを「画像処理部」と総称することもできる。画像データ取得部240は、図3の入出力インターフェース202、部分画像記憶部204、および制御部206で構成され、圧縮符号化された部分画像のデータを、その生成時刻とともにサーバ400から取得する。画像データ取得部240は画像のデータとともに、広視野画像の生成に用いた仮想視点の情報も取得する。
 復号伸張部242は、図3のビデオデコーダ208、部分画像記憶部210、制御部206、制御部212で構成され、圧縮符号化された部分画像のデータを復号伸張する。ここで復号伸張部242は、動き補償や符号化など圧縮符号化に必要な最小単位の領域のデータが画像データ取得部240により取得されたら、復号伸張処理を開始してよい。画像処理部244は図3の画像処理部214、部分画像記憶部216、制御部212、制御部218で構成され、部分画像のデータに所定の処理を施し、表示用の部分画像のデータを生成する。
 具体的には画像処理部244は、接続された表示装置が実現する表示形態に対応する画像を形成する第1形成部270aおよび第2形成部27bを含む。図示する例では、ヘッドマウントディスプレイ100と平板型ディスプレイ302が接続された画像処理装置200を想定しているため、それらに対応するように第1、第2の2つの形成部を設けているが、当然、実現すべき表示形態の数だけ形成部を設けてよい。
 すなわち画像処理部244は、サーバ400から送信された1つの広視野画像から、視野や形式が異なる複数のフレームを生成する機能を有し、その数は実現すべき表示形態の数に依存する。例えば画像処理装置200に接続する表示装置がヘッドマウントディスプレイ100および平板型ディスプレイ302のどちらかであれば、画像処理部244は第1形成部270a、第2形成部270bのいずれか一方のみ備えればよい。
 第1形成部270a、第2形成部270bは共通して、サーバ400から送信された広視野画像のうち、接続された表示装置が表示する視野の領域を切り出す機能を有する。ヘッドマウントディスプレイ100を表示先とする場合、第1形成部270aは、ヘッドマウントディスプレイ100の位置や姿勢に対応する視野の領域を切り出す。平板型ディスプレイ302を表示先とする場合、第2形成部270bは例えば、入力装置などを介したユーザ操作に対応する視野の領域を切り出す。
 ただし平板型ディスプレイ302への表示において切り出す領域はこれに限らず、上述のとおりヘッドマウントディスプレイ100の視野に対応する領域としてもよいし、固定された領域としてもよい。またサーバ400から送信された広視野画像が、正距円筒図法など方位を軸として表された画像の場合、あるいは魚眼レンズなどによるレンズ歪みを有する場合、第1形成部270a、第2形成部270bは、切り出しと同時、または切り出し処理と前後して、表示先の表示パネルに対応する形式に補正する処理も行う。
 例えば第1形成部270a、第2形成部270bは、正距円筒図法で表された画像を正射影の画像へ変換する。ヘッドマウントディスプレイ100を表示先とする場合、第1形成部270aはさらに、左目用、右目用の視差のある画像を切り出したうえ、左右に接続した表示画像を生成する。サーバ400が、左目用、右目用の広視野画像を送信する場合、第1形成部270aは各広視野画像から左目用、右目用の画像を切り出してよい。第1形成部270aはまた、左目用、右目用の画像に対し、ヘッドマウントディスプレイ100が備える接眼レンズの歪みを考慮して逆の歪みを与える補正を施したり、色収差を補正したりしてよい。第1形成部270a、第2形成部270bはこれらの処理を、復号伸張部242が復号伸張を行ったデータ順に、部分画像単位で進捗させる。
 なお画像処理部244が実施する画像処理は上記のものに限らない。例えば画像処理部244は、UIプレーン画像など、動画像とともに表示させるべき画像を、部分画像単位で合成してもよい。あるいは画像処理部244は、ガンマーカーブ補正、トーンカーブ補正、コントラスト強調などを行ってもよい。すなわち表示装置の特性やユーザ指定に基づき、復号伸張した画像データの画素値・輝度値について必要なオフセット補正をしてもよい。また画像処理部244は、近傍画素を参照し、重畳・加重平均・平滑化などの処理を行うノイズ除去処理を行ってもよい。
 また画像処理部244は、画像データの解像度と、表示パネルの解像度を合わせたり、近傍画素を参照し、バイリニア・トライリニアなど、加重平均・オーバーサンプリングなどを行ったりしてもよい。また画像処理部244は、近傍画素を参照し、画像テクスチャの種類を判定し、それに応じた、デノイズ・エッジ強調・平滑化・トーン/ガンマ/コントラスト補正を選択的に処理してもよい。このとき画像処理部244は、画像サイズのアップスケーラ・ダウンスケーラと合わせて処理してもよい。
 また画像処理部244は、画像データの画素フォーマットと、表示パネルの画素フォーマットが異なる場合にフォーマット変換を行ってもよい。例えばYUVからRGB、RGBからYUV、YUVにおける444、422、420間の変換、RGBにおける8、10、12ビットカラー間の変換などを行ってもよい。また画像処理部244は、デコードした画像データがHDR(High Dynamic Range)の輝度レンジ対応フォーマットである一方、表示ディスプレイのHDRの輝度レンジ対応範囲が狭い場合(表示可能な輝度ダイナミックレンジがHDRフォーマット規定より狭いなど)、できるだけHDR画像の特徴を残しながら、表示パネル対応可能な範囲のHDRの輝度レンジフォーマットへ変換する疑似HDR処理(色空間変更)を行ってもよい。
 また画像処理部244は、デコードした画像データがHDR対応フォーマットだったが、表示ディスプレイがSDR(Standard Dynamic Range)のみに対応している場合、できるだけHDR画像の特徴を残しながら、SDRフォーマットへ色空間変換してもよい。デコードした画像データがSDR対応フォーマットだったが、表示ディスプレイがHDRに対応している場合、画像処理部244はできるだけHDRパネルの特性にあわせて、HDRフォーマットへエンハンス変換してもよい。
 また画像処理部244は、表示ディスプレイの階調表現能力が低い場合、誤差拡散付加をしてもよいし、画素フォーマット変換とあわせて処理するディザリング処理を実施してもよい。また画像処理部244は、ネットワーク転送データの欠落やビット化けにより、デコードした画像データに部分的な欠損や異常がある場合に、その領域を補正処理してもよい。また画像処理部244は、単色塗りつぶし、近傍画素複製による補正、前フレーム近傍画素による補正、適応型欠損補正により過去フレームや現フレームの周辺から推測した画素による補正をしてもよい。
 また画像処理部244は、画像処理装置200から表示装置へ出力するインターフェースの必要帯域を削減するために、画像処理部244は画像圧縮を行ってもよい。この際、画像処理部244は、近傍画素参照によるライトウェイトなエントロピー符号化、インデックス値参照符号化、ハフマン符号化などを行ってもよい。また表示装置が液晶パネルを採用した場合、高解像度化が可能な反面、反応速度が遅い。表示装置が有機ELパネルを採用した場合は反応速度が速い反面、高解像度化が難しく、また黒色領域とその周辺で色にじみが発生するBlack Smearingと呼ばれる現象が生じ得る。
 そこで画像処理部244は、このような表示パネルによる様々な悪影響を解消するように補正を行ってもよい。例えば液晶パネルの場合、画像処理部244はフレーム間に黒い画像を挿入することにより液晶をリセットし、反応速度を向上させる。また有機ELパネルの場合、画像処理部244は輝度値や、ガンマ補正におけるガンマ値にオフセットをかけBlack Smearingによる色にじみを目立ちにくくする。
 画像処理部244は画像に対し、高精細度化や、高周波数成分の復元や再構築を行う超解像処理(Super Resolution)を行ってもよい。画像処理部244はこのとき、機械学習や深層学習を用いてあらかじめ構築したデータベースやネットワークモデルへ画像データを入力することにより画像を変換してもよい。ここで画像処理部244は、部分画像単位で変換を実施することにより低遅延化を図ってよい。このときの部分画像単位を、表示パネルの走査順序や分割構成に基づいて決定された部分画像単位と一致させることで、一連の処理をパイプライン化でき、さらなる低遅延化を実現できる。
 表示制御部246は、図3のディスプレイコントローラ220と制御部218で構成され、表示用の部分画像のデータを順次、ヘッドマウントディスプレイ100や平板型ディスプレイ302の表示パネルに表示させる。ただし本実施の形態では、部分画像の圧縮符号化データをサーバ400から個別に取得するため、通信状況によっては取得順が入れ替わったり、パケットロスにより部分画像のデータ自体が取得できなかったりすることが考えられる。
 そこで表示制御部246は、部分画像が描画されてからの経過時間を、各部分画像の生成時刻から導出したうえ、サーバ400での描画タイミングを再現するように、表示パネルへの部分画像の出力タイミングを調整する。具体的には表示制御部246は、部分画像のデータの生成時刻、および/または生成時刻からの経過時間に基づき、部分画像のデータの本来の表示順や表示タイミング、部分画像のデータの欠落量などのデータ取得状況を特定する。
 そして表示制御部246はデータ取得状況に応じて、表示パネルへの出力対象を変化させたり、出力順や出力タイミングを適切に調整したりする。例えば表示制御部246はデータ取得状況に応じて、次のフレームに含まれる本来の部分画像のデータを出力するか、それより前のフレームに含まれる部分画像のデータを再度出力するかを決定する。表示制御部246は、次のフレームの表示開始時刻である垂直同期信号のタイミングまでにそのような出力対象を決定する。
 例えば表示制御部246は、フレーム中、所定値以上の割合で部分画像が欠落している場合に、出力対象を前のフレームのデータに置き換えるなど、取得された部分画像の量(割合)に応じて出力対象を変化させてもよい。また表示制御部246は、過去のフレームの出力実績や、生成時刻からの経過時間に応じて、次のフレーム表示期間の出力対象を変化させてもよい。そして表示制御部246は、決定した順序およびタイミングで、出力対象として決定された部分画像のデータを表示パネルに出力する。
 画像処理部244が第1形成部270a、第2形成部270bを有するとき、表示制御部246は図示するように、上述した機能をそれぞれ有する、第1制御部272a、第2制御部272bを備えてよい。第1制御部272a、第2制御部272bはそれぞれ、第1形成部270a、第2形成部270bが形成してなる画像をヘッドマウントディスプレイ100、平板型ディスプレイ302の表示パネルに出力する。
 クライアント情報送信部273は図3の入出力インターフェース202などで構成され、ユーザ操作の情報を取得し、サーバ400に送信する。ユーザ操作の情報は上述のとおり、ヘッドマウントディスプレイ100ひいてはユーザ頭部の位置や姿勢、あるいはユーザの視点などでもよいし、入力装置を介したゲームのコマンド入力など、表示画像の視野操作とは異なる操作の内容であってもよい。ユーザ頭部の位置や姿勢、ユーザの視点に係る情報は、表示制御部246の第1制御部272aが後述のとおり取得したデータを流用してよい。クライアント情報送信部273はまた、サーバ400がフレームを生成するのに必要な、画像処理装置200側の各種情報を適宜取得して、サーバ400に送信してよい。
 図7は、画像処理装置200の画像処理部244における第1形成部270a、および表示制御部246における第1制御部272aの機能ブロックをより詳細に示している。上述のとおり第1形成部270aおよび第1制御部272aは、ヘッドマウントディスプレイ100に表示させる画像を処理し出力する。第1形成部270aは、位置姿勢予測部262および画像取得部264を備える。
 位置姿勢予測部262は、対象フレームが表示される時点におけるヘッドマウントディスプレイ100の位置や姿勢を予測する。すなわち位置姿勢予測部262は、対象フレームが表示される未来の時刻におけるヘッドマウントディスプレイ100の位置姿勢を、それまでの位置姿勢の実際の変化に基づき予測する。位置姿勢の実際の変化は、第1制御部272aから取得する。そして位置姿勢予測部262は、対象フレームの予想表示時刻に合わせて当該時間変化を外挿することで、表示時の位置や姿勢を予測する。
 画像取得部264は、復号伸張部242が復号伸張した広視野画像のうち、予測した位置姿勢に対応する領域の画像を切り出す。概念的には図5で説明したように、位置姿勢の予測値に対応するビュースクリーンを設定し、その視錐台に含まれる領域の画像を取得する。元の広視野画像が正距円筒図法など方角を軸として表されているとき、あるいは撮影レンズによる歪みがあるとき、画像取得部264は切り出した画像が正射影の画像となるようにする。この際、画像取得部264は、広視野画像のうち切り出す領域における各画素が、正射影画像のどの位置に表されるかを変位ベクトルとして画像平面に示した変位ベクトルマップを参照し、切り出しと画像の変換を高速に行ってもよい。
 この場合、画像取得部264は、部分画像を構成する画素ごとに、変位ベクトルマップを参照して変位先の画素位置を取得することにより、切り出し後の部分画像を生成する。このとき、切り出し前の部分画像から生成できる切り出し後の画像は、その面積が変化することがあり得る。画像取得部264は、切り出し後の部分画像のデータを生成するのに必要な、切り出し前の部分画像のデータが、前段のローカルメモリに格納された時点で、変位ベクトルマップを参照した切り出し処理を開始する。これにより、切り出し後の画像についても部分画像単位での処理が可能になる。
 画像取得部264はさらに、ヘッドマウントディスプレイ100が備える接眼レンズに対応する歪みを与える補正を同時に実施してもよい。この場合、変位ベクトルマップが画素ごとに表す変位ベクトルは、切り出しのための変位ベクトルと、歪み補正のための変位ベクトルを合成したベクトルとなる。このうち歪み補正のための変位ベクトルは、接眼レンズ固有のデータとなりユーザの動き等によらないため、事前に作成しておくことができる。
 画像取得部264は、そのようにして準備しておいた、歪み補正のための変位ベクトルに、切り出しに必要な変位ベクトルを合成することにより、変位ベクトルマップを更新したうえで補正を行う。これにより、部分画像の各画素について一度の変位で、画像の切り出しと接眼レンズのための歪み補正を同時に行うことができる。なお変位ベクトルマップを用いた切り出しは、平板型ディスプレイ302へ出力する画像を処理する第2形成部270bも同様に行ってよい。
 第1制御部272aは、上述のとおりサーバ400における画像の生成時刻からの経過時間に加え、第1形成部270aが画像の切り出し時に決定した、ヘッドマウントディスプレイ100の位置姿勢の予測値と、表示直前の実際の位置姿勢との差分によっても、表示パネルへの出力対象を変化させる。具体的には第1制御部272aは、位置姿勢追跡部252、データ取得状況特定部248、出力対象決定部250、および出力部254を備える。
 位置姿勢追跡部252は、ヘッドマウントディスプレイが備える各カメラの少なくともいずれかによる撮影画像、あるいはヘッドマウントディスプレイ100が内蔵するモーションセンサの計測値を取得し、ヘッドマウントディスプレイ100、ひいてはユーザ頭部の位置や姿勢、あるいはユーザの視点を所定のレートで導出する。位置や姿勢あるいは視点の導出には、上述のとおり従来実用化されている各種手法のいずれを用いてもよい。あるいはヘッドマウントディスプレイ100の内部でそれらの情報を導出し、位置姿勢追跡部252は当該情報を所定のレートでヘッドマウントディスプレイ100から取得するのみでもよい。この際、位置姿勢追跡部252は、頭部の位置や姿勢の情報の元となった撮影画像やモーションセンサの計測値が得られた時刻(タイムスタンプ)も取得しておく。
 データ取得状況特定部248は、サーバ400における画像の生成時刻からの経過時間に加え、第1形成部270aが決定した位置姿勢の予測値と、位置姿勢追跡部252が取得した、処理時点での実際の位置姿勢との差分を取得する。そしてデータ取得状況特定部248は、部分画像のデータの本来の表示順や表示タイミング、部分画像のデータの欠落量などのデータ取得状況を特定する。出力対象決定部250は、それらの結果に応じて、表示パネルへの出力対象を変化させたり、出力順や出力タイミングを適切に調整したりする。
 出力部254は、出力対象決定部250が決定した順序およびタイミングで、出力対象として決定された部分画像のデータをヘッドマウントディスプレイ100の表示パネルに出力する。なおサーバ400における画像の生成時刻からの経過時間を用いた出力対象の決定や出力順の調整は、平板型ディスプレイ302へ出力する画像を処理する第2制御部272bも同様に行ってよい。
 図8は、本実施の形態で実現できる画像の形式の変遷を例示している。図示する例では、サーバ400に4つの画像処理装置200a、200b、200c、200dが接続され、それぞれにヘッドマウントディスプレイ100a、平板型ディスプレイ302a、平板型ディスプレイ302b、ヘッドマウントディスプレイ100bが接続されているとする。ここでヘッドマウントディスプレイ100a、100bに表示すべき画像132a、132bは、左目用画像と右目用画像からなり、それぞれが接眼レンズのための歪みを与えられた形式を有する。
 ただしヘッドマウントディスプレイ100aの視野角が100°、ヘッドマウントディスプレイ100bの視野角が150°など異なるとすると、それぞれに表示される画像132a、132bの画角も異なることになる。一方、平板型ディスプレイ302a、302bに表示すべき画像134a、134bは、両眼で共通の1つの像からなり、レンズ歪みなどのない一般的な画像の形式を有する。ただし平板型ディスプレイ302aは画面アスペクト比が16:9、平板型ディスプレイ302bは画面アスペクト比が4:3など異なるとすると、画像134a、134bのアスペクト比も異なることになる。
 本実施の形態では、サーバ400が360°画像のような広視野画像130を画像処理装置200a~200dに共通して送信する。そして個々の画像処理装置200a~200dが、それぞれで実現する、上記のような様々な表示形式に合うように表示画像を形成する。これにより図示するように画角、視野角、画面アスペクト比などが様々であっても、サーバ400側での処理は一律に行える。さらにマルチキャストやブロードキャストでの転送が可能なため、表示形式が様々であることに加え、個々のユーザが異なる方向を向いていても、さらにユーザの数が増加しても、転送帯域やサーバ400での処理の負荷を圧迫することがない。
 このように広視野画像130から画像を切り取ったり補正したりして適切な表示画像を生成するため、画像処理装置200a~200dは、サーバ400が広視野画像130を生成する際に設定した仮想視点、すなわちどの位置および方向を中心として見た広視野画像130であるかを示す情報を取得する。仮想視点を固定とする場合、サーバ400と画像処理装置200との間で初期処理として仮想視点の情報を共有すればよい。仮想視点を可変とする場合、サーバ400と画像処理装置200の間で、例えば次のようにして、各フレームにおける仮想視点の情報を随時共有化する。なおここで仮想視点の情報とは、視点を決定づけるユーザ頭部の位置や姿勢、あるいは視点でもよいし、広視野画像において表示対象の3次元空間の原点が存在する位置(視野基準点)などでもよい。
 すなわち画像処理装置200a~200dにおけるユーザの位置や姿勢、あるいは視点に基づきフレームを生成する場合、サーバ400はまず、画像処理装置200a~200dからそれらの情報と、その状態となった時刻を表すタイムスタンプとを取得する。そしてサーバ400は、フレームの生成に利用したユーザの位置や姿勢、あるいは視点の情報と、それが生じたタイムスタンプとをフレームのデータとともに送信する。あるいはサーバ400は、フレームの生成に利用したユーザの位置や姿勢、あるいは視点が生じたタイムスタンプのみを、フレームのデータとともに送信してもよい。この場合、画像処理装置200a~200dの画像処理部244は、自らが保持する位置や姿勢、あるいは視点の履歴から、送信されたタイムスタンプに対応するデータを取得する。
 またはサーバ400は、フレーム生成に利用した視野基準点を、フレームのデータとともに送信してもよい。なお画像処理装置200a~200dは、ユーザの位置や姿勢、あるいは視点と、その状態となったタイムスタンプとを含むデータセットの履歴を、最新のデータセットとともにサーバ400に送信するようにしてもよい。またサーバ400は、フレームの生成に利用した仮想視点の情報やタイムスタンプなどを含むデータセットの履歴を、最新のデータセットやフレームのデータとともに画像処理装置200に送信するようにしてもよい。このように過去の履歴を送受することにより、送信の失敗に備えることができる。
 なおサーバ400の画像生成部420は、単数または複数の画像処理装置200における表示が高画質化するように、広視野画像の「描画の向き」、すなわち画像平面での位置座標と表示世界での方角との対応関係を決定してもよい。正距円筒図法の場合、「描画の向き」とは、円筒の向き(緯線・経線の向き、標準緯線すなわち「緯度0度」の位置)、画面左端の位置(経度0度の位置)である。
 高画質化には、次の条件の少なくともいずれかが満たされることが望ましい。
1.画像処理装置200において、予測されたユーザ頭部の位置や姿勢に対応する領域の切り出し後になされる歪み補正の度合いが小さいこと
2.画像処理装置200において、予測されたユーザ頭部の位置や姿勢に対応する領域の画像の解像度が高いこと
 上記1は、広視野画像が正距円筒図法など方位を軸として表された画像や、魚眼レンズなどによるレンズ歪みを有する画像の場合、画像の位置に依存して歪み量が異なるためである。上記2は、そのような画像の場合、画像の位置に依存して表示時の解像度(単位面積あたりの画素数)が異なるためである。例えば正距円筒図法の場合、上端・下端は歪み量が多いため、表示視野が広視野画像の上端や下端を含まないように「描画の向き」を決定する。また魚眼レンズの画像であれば、中心に近いほど歪み量が少なく、かつ解像度が高いため、表示視野が広視野画像の上端、下端、左端、右端を含まないように「描画の向き」を決定する。
 この場合も、サーバ400は、ユーザの位置や姿勢あるいは視点を、その状態となった時刻を表すタイムスタンプとともに画像処理装置200から取得することにより、各画像処理装置200における表示視野を特定する。またサーバ400は、画像処理装置200における表示視野の移動を予測し、それに応じて「描画の向き」を決定してもよい。この場合、サーバ400は、画像生成部420の処理に要する時間(a)の履歴、過去に通信部426から取得したネットワーク遅延(b)の履歴、画像処理装置200の復号伸張部242および画像処理部244における処理遅延(c)の履歴、ユーザの位置や姿勢あるいは視点の履歴を保持する。
 そして画像生成部420は、これらの情報の一部または全てを用いて、これから描画するフレームが、画像処理装置200を介して表示されるまでに要する合計遅延時間t=(a)+(b)+(c)を予測し、当該合計遅延時間t後の表示視野に好適な「描画の向き」を決定する。合計遅延時間tの予測においては、例えば統計に基づいた、平均遅延値、発生頻度が高い遅延値、直近遅延履歴における変化量の微分(Δ値)を前回の遅延に加算した遅延値、などのいずれかを用いればよい。そして画像生成部420は、例えばユーザの位置や姿勢あるいは視点の履歴における直近の変化量の微分(Δ値)、すなわち移動ベクトルを、前回の位置や姿勢あるいは視点に加算した結果、得られる視野が、正距円筒図法などによる広視野画像の端にならないように「描画の向き」を決定する。
 さらにサーバ400の画像生成部420は、上述と同様に合計遅延時間tを予測し、フレームとして表す画像の内容を、当該合計遅延時間tの経過後に表示されることを前提に決定してもよい。例えば、合計遅延時間tの予測値が5msの場合、画像の内容として5ms後の世界を描くようにする。データ転送先の画像処理装置200が複数ある場合は、それぞれについて予測した合計遅延時間tのなかで最も短い予測値を採用する。
 サーバ400は、広視野画像のフレーム生成に採用した「描画の向き」に係る情報を、フレームのデータとともに画像処理装置200へ送信する。画像処理装置200は上述のとおり、画像のデータ、ユーザの位置や姿勢あるいは視点と、その状態となったタイムスタンプとを含むデータセットとともに、「描画の向き」に係る情報を取得する。これにより画像処理装置200の画像処理部244は、送信された情報を用いて、適切な位置で画像を切り出すことができる。
 以上を総合すると、例えば正距円筒図法で広視野画像を生成する場合、サーバ400の画像生成部420は、全ユーザの位置や姿勢あるいは視点の変化を、それまでの移動ベクトルに基づいて予測し、それに基づく表示視野が広視野画像の端にならないように「描画の向き」を決定する。また画像生成部420は、予測した位置や姿勢あるいは視点に基づく視野を所定の範囲で拡張させた、360°に満たない範囲の画像を生成してもよい。
 いずれにしろこの態様においては、画像処理装置200は、ユーザの位置や姿勢あるいは視点と、その状態となった時刻のタイムスタンプからなるデータセットとその履歴、および内部での処理、例えば復号伸張部242や画像処理部244の処理による遅延時間(b)とその履歴をサーバ400へ送信する。サーバ400は、フレームの「描画の向き」とその履歴、採用したユーザの位置や姿勢あるいは視点と、その状態となった時刻のタイムスタンプ、あるいは視野基準点とその履歴を、広視野画像のフレームのデータに対応づけて画像処理装置200に送信する。このように過去の履歴を送受することにより、送信の失敗に備えることができる。
 図9は、画像処理装置200において、第1形成部270aの画像取得部264が行う画像取得の手順の例を説明するための図である。(a)はサーバ400から送信される広視野画像の平面の一部、(b)はそこから切り出された正射影画像の平面を示している。ただし実際の画素の変位は図示するものに限らない。広視野画像の平面におけるS00、S01、S02・・・は変位ベクトルマップにおいて変位ベクトルを設定する位置を表す。例えば画像平面の水平方向、垂直方向に離散的に(例えば、8画素あるいは16画素ごとなど等間隔に)変位ベクトルを設定する。
 切り出し後の画像平面におけるD00、D01、D02、・・・はそれぞれ、S00、S01、S02、・・・の変位先の位置を表す。図では一例として、S00からD00への変位ベクトル(Δx,Δy)を白抜き矢印で示している。画像取得部264は、変位ベクトルを設定する画素を頂点とする最小の三角形の単位で、広視野画像のうち視野内の領域を、切り出し後の画像にマッピングする。例えば切り出し前の画像のS00、S01、S10を頂点とする三角形を、切り出し後の画像のD00、D01、D10を頂点とする三角形にマッピングする。
 ここで三角形の内部の画素は、D00、D01、D10との距離に応じて線形に、あるいはバイリニア、トライリニアなどにより補間した位置に変位させる。そして画像取得部264は、接続されたローカルメモリに格納された、切り出し前の部分画像の対応する画素の値を読み出すことにより、切り出し後の画像の画素値を決定する。この際、切り出し前の画像における読み出し先の位置から所定範囲内にある複数の画素の値を、バイリニア、トライリニアなどにより補間することで、切り出し後の画像の画素値を導出する。
 これにより画像取得部264は、切り出し前の画像の三角形の変位先である三角形の単位で、切り出し後の画像を画素列順に描画していくことができる。なお画像取得部264はリアルタイムでの位置や姿勢の予測値を反映させた切り出しを実現するため、部分画像に対応する領域単位で変位ベクトルマップを更新してもよい。
 図10は、本実施の形態において表示制御部246の第1制御部272aが、出力対象や出力タイミングを調整しつつ、表示パネルへ部分画像のデータを出力する処理手順の例を示すフローチャートである。このフローチャートは、表示パネルの垂直同期信号のタイミングより前の所定のタイミングで、当該垂直同期信号に合わせて表示を開始すべきフレームに対し実施する処理の手順を示している。すなわちフレームごとに、図示した処理を繰り返す。なお同じ処理手順は、第2制御部272bにおいても実施してよい。
 まずデータ取得状況特定部248は、対象フレームに含まれる部分画像の取得状況を特定する(S10)。データ取得状況特定部248はさらに、それまでのフレームにおける部分画像の出力実績を記録しておき、それを参照してもよい。ここで出力実績とは例えば、次のようなデータの少なくともいずれかである。
1.後述する3つの分類のうち過去の所定期間に選択された分類の履歴
2.過去の所定期間に後述する第1分類において欠落した部分画像の履歴、発生率、部分画像の欠落の面積割合
3.最後に表示画像が更新されてからの経過時間
 すると出力対象決定部250は、特定されたそれらの状況が、あらかじめ準備しておいた分類のいずれに当てはまるかを判定する(S12)。出力対象決定部250は基本的に、様々な観点から総合的な判定を行い、ユーザ体験が最良となるように出力対象を決定する。そのためデータ取得状況特定部248はS10において、次のようなパラメータの少なくともいずれかを取得する。
1.対象フレームを構成する部分画像のうち取得済みの部分画像の量
2.対象フレームにおける部分画像の欠落範囲
3.同じ画像フレームの表示継続時間
4.後述するブラックアウトの継続時間
5.部分画像の生成時刻からの経過時間
上記パラメータのそれぞれには、1つまたは複数のしきい値を設定しておく。
 そして出力対象決定部250は、対象フレームについて取得したパラメータがどの範囲に該当するかに応じてスコアを与えるなどして状況を分類する。例えばS10で取得したパラメータのそれぞれに、あらかじめ定めたテーブルに基づきスコアを与え、全パラメータのスコアの分布に基づき状況を分類する。図示する例では3つの分類を準備している。第1分類に当てはまる場合、出力対象決定部250は、それまでに得られた最新の部分画像のデータを出力対象と決定し、出力部254にそれを出力させる(S14)。
 例えば構成する部分画像が所定値(所定割合)以上、取得済みで、なおかつ部分画像の生成時刻からの経過時間が許容範囲の場合、出力対象決定部250はスコア判定に基づき対象フレームを第1分類とする。このとき出力対象決定部250は、各生成時刻に対応する順序で部分画像が出力されるようにタイミングを調整する。理想的にはフレームの上段の部分画像から順次出力していく。
 ただし途中に欠落している部分画像がある場合、各欠落箇所について下記パラメータのスコア化をさらに行い、前のフレームの同じ位置の部分画像を再利用するか、その部分についてはブラックアウトさせるか、判定してもよい。
1.同じ画像フレームの表示継続時間
2.後述するブラックアウトの継続時間
3.部分画像の生成時刻からの経過時間
 なお、それまでに本来の画像を表示できない状況が所定時間以上、続いている場合、出力対象決定部250は、対象フレームの部分画像が所定値(所定割合)以上、取得済みでなくても第1分類としてもよい。前述のスコアを決めるテーブルをそのように設定しておいてもよい。これにより、一部であっても可能な範囲で画像の動きを表現できる。なお欠落した画像を、画像処理部244が推測のうえ修復してもよい。
 第2分類に当てはまる場合、出力対象決定部250は、対象フレームより前のフレームの画像のデータを出力対象と決定し、出力部254にそれを出力させる(S16)。この場合、表示パネルには同じフレームが表示され続けることになる。例えば、対象フレームの部分画像が所定値(所定割合)以上、取得できず、前の所定時間内のフレームにおいては部分画像が所定値(所定割合)以上、取得されている場合、出力対象決定部250は対象フレームを第2分類とする。前述のスコアを決めるテーブルをそのように設定しておいてもよい。
 第3分類に当てはまる場合、出力対象決定部250は、対象フレームのデータを出力すべき期間、何も出力しないことを決定する(S18)。この場合、表示パネルには1フレーム分のブラックアウト期間が発生する。例えば、対象フレームの部分画像が所定値(所定割合)以上、取得できず、表示済み画像を引き続き表示するには生成時刻からの経過が長すぎる場合、出力対象決定部250は対象フレームを第3分類とする。前述のスコアを決めるテーブルをそのように設定しておいてもよい。なおブラックアウトは、黒の塗りつぶし画像を表示することを基本とするが、あらかじめ設定した別の色を用いてもよい。
 第2分類や第3分類での表示が所定時間継続したら、上述のとおり部分画像の取得状況にかかわらず第1分類に分岐させることにより、一部であっても何らかの画像の更新を行ってもよい。なお第1分類から第3分類に進むにつれて、ユーザ体験は損なわれやすくなる。そのためS10で取得した各パラメータに対して、ユーザ体験を良好にすべきときに高いスコアを与えるようにテーブルを決めておく。
 そのうえで、S12では、S10で得たパラメータについて、テーブルに基づきスコアを与え、得られた複数のスコアを合算する。その合計値がどの程度大きいかで、第1から第3の分類の表示方法分類を選択する。ここで、合計値が大きい側が、第1分類、小さい側が第3分類とするしきい値をあらかじめ決めておく。
 なお図示した例は一態様に過ぎず、データ取得状況特定部248が取得する情報の種類、出力対象決定部250による分類の判定基準、および各分類における出力対象は、表示対象の動画像の内容、許容できる欠落の度合いや欠落の継続時間、許容できる表示遅延や表示停止時間などに基づき適宜決定しておく。また第1制御部272aは、次の垂直同期信号まで待機している間に蓄積される画像、一定範囲の表示済み画像、生成時刻、S10やS12での判定結果やスコアを、図示しないメモリなどに保持してもよい。
 さらに出力対象決定部250は、S12における判定とは別に、対象フレームに係る状況が、ユーザへ警告すべき条件に該当するか否かを判定する(S20)。例えば出力対象決定部250は、単位時間あたりにブラックアウトさせた時間や、部分画像の欠落の発生量がしきい値を超えたことを条件に、ユーザへの警告が必要と判定する(S20のY)。このとき出力対象決定部250は、通信状況が画像表示に影響を与えている旨のメッセージを表示させる(S22)。
 当該メッセージは、画像処理部244が部分画像に重畳させることにより表示されるようにしてもよい。これによりユーザは、表示される画像の不具合の原因を知ることができる。警告条件に該当しない場合はメッセージを表示しない(S20のN)。以上の手順により対象フレームに関する処理を終了するとともに、次のフレームについて処理を開始する。
 なおデータ取得状況特定部248は、S10で取得した部分画像の生成時刻からの処理時までの経過時間に基づき、データの送信遅延時間の傾向を導出してもよい。例えばデータ取得状況特定部248は、過去に取得済みの所定数の部分画像の、生成時刻からの経過時間のヒストグラムを生成する。そしてデータ取得状況特定部248は、基準値以上、経過時間が長くなる方向にヒストグラムが偏るなどしたときに、経過時間の増加の傾向を検知する。
 このときデータ取得状況特定部248は、画像データ取得部240などを介してサーバ400に、送信する画像データのサイズの抑制を要求してもよい。例えばデータ取得状況特定部248は、1フレーム分の画像のデータ送信をスキップするように要求したり、圧縮率を所定量上げるように要求したりする。画面解像度を所定量下げるように要求してもよい。あるいはデータ取得状況特定部248は、出力対象決定部250に、1フレーム分の画像のデータ出力をスキップするように要求してもよい。
 あるいはデータ取得状況特定部248はサーバ400に、部分画像の生成時刻から取得までの経過時間やその履歴を送信してもよい。サーバ400の通信部426はこれを取得し、圧縮符号化部422が、ヒストグラムを生成して経過時間が長くなる方向にヒストグラムが偏るなどしたときに、経過時間の増加の傾向を検知し、送信する画像データのサイズを抑制してもよい。またはデータ取得状況特定部248はサーバ400に、上記の第1~第3の分類の発生量を通知してもよい。これらの対策により、遅延時間の増加が進み、後続のフレームの表示が著しく滞ったりデータが欠落したりするのを防止できる。
 図11は、本実施の形態において表示制御部246の第1制御部272aが、ヘッドマウントディスプレイ100の位置姿勢の変化に基づき出力対象を調整する処理手順を示すフローチャートである。このフローチャートは、図10で示したフローチャートにおいてS12の判定処理の後に実施する。より具体的には第1制御部272aの出力対象決定部250は、S12の判定処理において第1分類または第2分類に当てはまるとしたフレームであっても、必要に応じて第3分類に変更するために追加で判定を行う。
 したがって図10のS12において、部分画像の取得状況から、対象フレームが第3分類に当てはまると判定した場合は、出力対象決定部250はそのまま処理を終了する(S90のN)。一方、第1分類または第2分類に当てはまると判定した場合(S90のY)、出力対象決定部250はまず、第1形成部270aが画像を切り出す際に予測した、ヘッドマウントディスプレイ100の位置姿勢と、最新の位置姿勢との差分が許容範囲にあるか否かを判定する(S92)。
 位置姿勢の予測値と実際との差分が許容範囲を超えるときは、当該フレームのデータを表示パネルに出力しないようにする。すなわち差分が許容範囲を超えている場合、出力対象決定部250は、第1分類または第2分類とされた対象フレームの分類を第3分類に変更する(S92のN、S98)。この場合、表示はブラックアウトとなる。あるいは元が第1分類の場合に第1分類のままとし、図10のS14において、欠落部分の表示に過去のフレームを用いないようにしてもよい。
 位置姿勢の差分が許容範囲か否かの判定基準は、フレームの全領域を最新の部分画像でまかなえるか(第1分類)、一部でも過去のフレームの部分画像を用いるか(第1分類または第2分類)、によって異ならせてよい。具体的には、位置姿勢の差分が小さいほど、過去のフレームの部分画像を用いることを許容してよい。許容範囲か否かは、位置姿勢の差分に設定したしきい値との大小関係により判定してもよいし、許容範囲とするスコア値として、位置姿勢の差分が大きいほど低くなるような関数を与え、図10の判定に用いたスコア値などと合算して総合的に判定してもよい。
 位置姿勢の差分が許容範囲であると判定したら(S92のY)、出力対象決定部250は次に、対象フレームにおけるデータ欠落の度合いを、ユーザの視点の観点から評価した結果が許容範囲にあるか否かを判定する(S94)。具体的には、ユーザの注視点に近いほど大きい重みづけでデータ欠落の度合いを数値化し、当該数値がしきい値を超えた場合に、データ欠落の度合いが許容範囲にないと判定する。欠落の度合いが許容範囲にない場合(S94のN)、出力対象決定部250は、第1分類とされた対象フレームを第2分類または第3分類に変更する。
 あるいは第2分類とされた対象フレームを第3分類に変更する(S98)。これにより、ユーザが視認しやすい部分でのデータ欠落が多いほど、当該フレームを出力させずに過去のフレームを再利用したりブラックアウトとしたりするように調整する。なおS94の判定処理は、図10のS12の判定処理と同時に行ってもよい。データ欠落の度合いが許容範囲であると判定したら、出力対象決定部250は元の分類のまま処理を終了する(S94のY)。なおS92、S94はそれぞれ独立に判定するのに限らず、各判定基準に基づきスコアを求め、それらを合算することにより、分類や表示内容の変更が必要か否かを総合的かつ同時に判定してもよい。このように追加で判定をした結果として、図10のS14、S16、S18の処理のいずれかを実施する。
 図12は、図11のS94において、出力対象決定部250がユーザの視点に基づきデータ欠落の度合いを数値化する手法を説明するための図である。この例ではユーザの注視点292が、表示画面290の中央付近に存在するとしている。ヘッドマウントディスプレイ100を装着しているユーザは通常、見たい方向に顔を向けるため、表示画面290の中央を注視点292と見なすこともできる。
 一般的な人の視覚特性として、瞳孔から注視点へ向かう視線を中心軸として5°以内に対応する領域294は弁別視野と呼ばれ、視力などの視機能が優れている。また水平方向に約30°、垂直方向に約20°以内に対応する領域296は有効視野と呼ばれ、眼球運動だけで瞬時に情報を受容できる。さらに水平方向に60~90°、垂直方向に45~70°以内に対応する領域298は安定注視野、水平方向に100~200°、垂直方向に85~130°以内に対応する領域299は補助視野、というように、注視点292から離れるほど情報の識別能力が低くなる。
 そこで図の上と左に示すように、表示画面290の平面において注視点292に近いほど大きくなる重みづけ関数320a、320bを設定する。なおこの図では、表示画面290の平面における水平方向、垂直方向の1次元での位置に対する重みづけ関数320a、320bを示しているが、実際には当該平面上の2次元の位置座標に対する関数、あるいはテーブルとする。出力対象決定部250は例えば部分画像の欠落面積に、当該欠落が生じている位置座標に基づく重みを乗算し、それを対象フレームの全領域で合計することにより、欠落の度合いを数値として導出する。
 これにより、同じ欠落面積でもより視認されやすい領域が欠落している場合は欠落の度合いを高く見積もることができ、見た目の印象を加味して許容範囲か否かを判定できる。なお図示する重みづけ関数320a、320bの形状はあくまで例示であり、上述した各範囲の視覚特性などに基づき形状を最適化したり、不連続な関数としたりしてよい。またヘッドマウントディスプレイ100に注視点検出器を設ける場合、注視点292は表示画面290の中央に限らずより厳密に求められる。
 この場合、出力対象決定部250は注視点292の移動に応じて、重みづけ関数320a、320bが最大となる位置を移動させればよい。また注視点検出器を利用する場合、注視点の情報をより厳密に取得できるため、画面中心を注視点と見なす場合より距離に対する重みづけの変化を大きくし、欠落の度合いへの影響を増幅させてもよい。さらに出力対象決定部250は、ヘッドマウントディスプレイ100の位置姿勢の予測値と、処理時点における実際の位置姿勢との差分に基づき、第1形成部270aが切り出した領域のうち表示視野から外れる見込みの領域を特定し、その領域については欠落の度合いの評価対象から除外してよい。
 図13は、画像処理装置200において、画像処理部244の第1形成部270aと表示制御部246の第1制御部272aが実施する処理の手順を示すフローチャートである。このフローチャートは基本的に、動画像のフレーム単位で行われる。まず第1制御部272aは、ヘッドマウントディスプレイ100の最新の位置姿勢を位置姿勢追跡部252で取得し、第1形成部270aに供給する(S100)。
 また第1制御部272aは、過去のフレームに対し得られた、第1形成部270aにおける切り出し時刻から第1制御部272aで処理されるまでの遅延時間の履歴と、ヘッドマウントディスプレイ100の位置姿勢の予測値と実際との差分の履歴を、第1形成部270aに供給する(S102)。なおS100、S102の送信処理は、フレームと同期しない任意のタイミングで行ってもよい。またS102においては、過去の所定数のフレームについての履歴を送信することにより、送信の失敗に備えることができる。
 第1形成部270aの位置姿勢予測部262はそれらの情報に基づき、ヘッドマウントディスプレイ100に該当フレームが表示される際の位置姿勢を予測する(S104)。すなわち第1形成部270aでのその後の処理や、第1制御部272aでの処理や出力に要する時間が経過した後の位置姿勢を、第1制御部272aから供給された各種情報を用いて予測する。次に第1形成部270aの画像取得部264は、サーバ400から送信された広視野画像のうち、予測された位置姿勢に対応する領域を切り出す(S106)。
 画像取得部264はこの際、あらかじめ定めた所定量の範囲だけ拡張した視野を切り出すことで、表示の欠落を防止してもよい。また画像取得部264は、上述した変位ベクトルマップを用いて必要な補正を行ってよい。画像取得部264は、切り出して各種補正を施した画像のデータと、その切り出し時刻、切り出しに用いた位置姿勢の予測値とを対応づけて第1制御部272aに供給する(S108)。画像取得部264はさらに、処理済みの所定数の画像の、切り出し時刻の履歴と位置姿勢の予測値の履歴も第1制御部272aに供給することにより、それらの情報の送信失敗に備える。
 第1制御部272aのデータ取得状況特定部248がそれらのデータを取得すると、出力対象決定部250は、部分画像が切り出されてからの遅延時間および、位置姿勢の予測値と実際との差分を取得する(S110)。そして出力対象決定部250は、それらのデータに基づきフレームを分類するなどして出力対象を制御する(S112)。第3分類によりブラックアウトさせる場合以外は、出力対象決定部250は、第1形成部270aが切り出した現フレーム、あるいは前のフレームを出力対象とし、出力部254が表示パネルに出力する(S114)。
 なお前のフレームを出力対象とする場合、第1制御部272aは、第1形成部270aに、前のフレームの広視野画像のうちヘッドマウントディスプレイ100の最新の位置姿勢に対応する領域を切り出すように要求し、それに応じて切り出された画像を出力対象としてもよい。またサーバ400が広視野画像を送信することで、最新の位置姿勢に対応する画像を破綻なく生成したり、複数ユーザに対しても効率よく配信したりする構成に着目した場合、各処理を部分画像単位で行わずフレーム単位で実行しても有効に機能する。
 以上述べた本実施の形態によれば、サーバ400が生成した画像のデータを、クライアントである画像処理装置200が受信し表示させる形態のシステムにおいて、サーバ400は、クライアント側の表示視野より広い視野の画像を生成し送信する。例えば正距円筒図法で表された広視野の動画像を送信することにより、クライアント側での視野がどのようであっても、破綻なく表示が可能である。
 特にヘッドマウントディスプレイを用いた表示においては、ユーザの頭部の動きに対し遅延の少ない画像を表示させつづけることができる。また、サーバ400が一律で処理を行っても、様々な表示形態や画面アスペクト比の表示装置において独立した画像を容易に表示させることができ、複数のユーザが自由な向きで同一の画像世界を見るような態様においてサーバ400の処理の負荷を抑えられる。さらにサーバ400がマルチキャストやブロードキャストで配信できるため、ネットワーク帯域の利用効率を高めることができる。結果としてサーバから動画像を配信する形式であっても、高品質の画像を低遅延で表示させることができる。
 以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
 以上のように本発明は、サーバ、画像表示装置、ゲーム装置、携帯端末、パーソナルコンピュータなど各種情報処理装置や、それらのいずれかを含む画像表示システムなどに利用可能である。
 1 画像表示システム、 100 ヘッドマウントディスプレイ、 200 画像処理装置、 240 画像データ取得部、 242 復号伸張部、 244 画像処理部、 246 表示制御部、 248 データ取得状況特定部、 250 出力対象決定部、 252 位置姿勢追跡部、 254 出力部、 262 位置姿勢予測部、 264 画像取得部、 270a 第1形成部、 272a 第1制御部、 273 クライアント情報送信部、 302 平板型ディスプレイ、 400 サーバ、 420 画像生成部、 422 圧縮符号化部、 424 パケット化部、 426 通信部。

Claims (30)

  1.  動画像のデータを転送する画像データ転送装置と、前記動画像のデータを受信し表示装置に表示させるクライアント端末と、を含む画像表示システムであって、
     前記画像データ転送装置は、
     表示対象の世界を、転送先での表示視野より広い視野で表した、前記動画像のフレームを生成する画像生成部と、
     前記フレームのデータを前記クライアント端末にストリーミング転送する通信部と、
     を備え、前記クライアント端末は、
     前記フレームのデータを取得する画像データ取得部と、
     前記フレームのうち表示視野の領域を切り出す画像処理部と、
     切り出した領域のデータを表示パネルに出力する表示制御部と、
     を備えたことを特徴とする画像表示システム。
  2.  前記画像生成部は、それまで存在していなかった転送対象の動画像のフレームを動的に生成することを特徴とする請求項1に記載の画像表示システム。
  3.  前記通信部は、前記クライアント端末におけるユーザ操作に係る情報を取得し、
     前記画像生成部は、前記ユーザ操作に対応させてフレームが表す内容を変化させることを特徴とする請求項1または2に記載の画像表示システム。
  4.  前記クライアント端末は、表示画像の視野操作とは異なるユーザ操作に係る情報を取得し前記画像データ転送装置に送信するクライアント情報送信部を備え、
     前記画像生成部は、前記視野操作とは異なるユーザ操作に対応させて、フレームが表す内容を変化させることを特徴とする請求項3に記載の画像表示システム。
  5.  前記画像生成部は、正距円筒図法で前記フレームを生成し、
     前記画像処理部は、切り出した画像を前記表示パネルに対応する形式に補正することを特徴とする請求項1から4のいずれかに記載の画像表示システム。
  6.  前記画像処理部は、前記表示パネルを備えるヘッドマウントディスプレイの位置姿勢に基づき、前記フレームから切り出す領域を決定することを特徴とする請求項5に記載の画像表示システム。
  7.  前記画像生成部は、表示を許容する方位を網羅する視野で前記フレームを生成し、
     前記通信部は、複数の前記クライアント端末に共通のフレームのデータを転送することを特徴とする請求項1から6のいずれかに記載の画像表示システム。
  8.  前記画像生成部は、複数の前記クライアント端末における表示視野、および画質に基づき、生成するフレームの画像平面での位置座標と表示世界での方角との対応関係を決定することを特徴とする請求項1から6のいずれかに記載の画像表示システム。
  9.  前記画像生成部は、複数の前記クライアント端末における表示視野の移動予測に基づき、前記対応関係を決定することを特徴とする請求項8に記載の画像表示システム。
  10.  前記画像生成部は、複数の前記クライアント端末における、予測された視野を所定の範囲で拡張させた、360°に満たない範囲の画像のフレームを生成することを特徴とする請求項9に記載の画像表示システム。
  11.  前記クライアント端末は、ユーザの位置および姿勢、またはユーザの視点と、その状態となった時刻を表すタイムスタンプからなるデータセットおよびその履歴、および内部での処理による遅延時間とその履歴を、前記画像データ転送装置に送信し、
     前記画像データ転送装置は、前記フレームを生成するときに採用したユーザの位置および姿勢、またはユーザの視点と、その状態となった時刻を表すタイムスタンプ、または、前記フレームにおいて表示対象の3次元空間の原点が存在する位置、およびその履歴と、決定した前記対応関係およびその履歴を、前記フレームのデータに対応づけて前記クライアント端末に送信することを特徴とする請求項8から10のいずれかに記載の画像表示システム。
  12.  前記画像生成部は、生成するフレームが前記クライアント端末において表示されるまでに要する時間を予測し、当該フレームに表す画像の内容を、予測した時間の経過後に表示されることを前提に決定することを特徴とする請求項1から11のいずれかに記載の画像表示システム。
  13.  前記通信部は、実現される表示形態が異なる複数の前記クライアント端末に共通のフレームのデータを転送し、
     前記複数のクライアント端末における前記画像処理部はそれぞれ、前記フレームのデータから、実現する表示形態に対応する画像を形成することを特徴とする請求項1から12のいずれかに記載の画像表示システム。
  14.  前記画像データ取得部は、1フレームより小さい部分画像の単位で前記フレームのデータを取得し、
     前記画像処理部は、前記部分画像の単位で領域の切り出しを行うことを特徴とする請求項1から13のいずれかに記載の画像表示システム。
  15.  前記画像処理部は、前記表示パネルを備えるヘッドマウントディスプレイの、対象フレーム表示時の位置姿勢を予測し、前記フレームのうち前記位置姿勢の予測値に対応する領域を切り出すことを特徴とする請求項1から14のいずれかに記載の画像表示システム。
  16.  前記表示制御部は、前記切り出しに用いた前記予測値と、処理時点における前記ヘッドマウントディスプレイの位置姿勢との差に応じて、出力対象のデータを変化させることを特徴とする請求項15に記載の画像表示システム。
  17.  前記表示制御部は、前記画像データ転送装置において前記フレームが生成された時刻からの遅延時間に応じて、出力対象のデータを変化させることを特徴とする請求項15または16に記載の画像表示システム。
  18.  前記表示制御部は、前記フレームのデータの欠落の度合いを、表示画面におけるユーザの注視点から欠落位置までの距離が小さいほど大きい重みづけで数値化し、その結果に応じて、出力対象のデータを変化させることを特徴とする請求項15から17のいずれかに記載の画像表示システム。
  19.  前記表示制御部は、注視点検出器により表示画面におけるユーザの注視点に係る情報を取得できるか否かによって、前記距離に対する前記重みづけの変化を異ならせることを特徴とする請求項18に記載の画像表示システム。
  20.  前記表示制御部は、前記切り出しに用いた前記予測値と、処理時点におけるヘッドマウントディスプレイの位置姿勢との差に基づき、切り出された領域のうち表示視野から外れる見込みの領域を特定し、当該領域を除外して、前記データの欠落の度合いを評価することを特徴とする請求項18または19に記載の画像表示システム。
  21.  前記画像処理部は、前記切り出しに用いた前記予測値の履歴を、切り出したデータとともに前記表示制御部に供給することを特徴とする請求項16に記載の画像表示システム。
  22.  前記表示制御部は、前記表示パネルへの出力対象を最新のフレームのデータとするか、それより前のフレームのデータとするかをフレームごとに決定することを特徴とする請求項15から21のいずれかに記載の画像表示システム。
  23.  前記表示制御部は、前記予測値と処理時点における前記ヘッドマウントディスプレイの位置姿勢との差の履歴と、前記領域の切り出し時刻から処理時点までの遅延時間の履歴を、前記画像処理部に供給することを特徴とする請求項15から22のいずれかに記載の画像表示システム。
  24.  表示対象の世界を、表示視野より広い視野で表した動画像のフレームのデータを取得する画像データ取得部と、
     前記フレームのうち表示視野の領域を切り出す画像処理部と、
     切り出した領域のデータを表示パネルに出力する表示制御部と、
     を備えたことを特徴とする画像処理装置。
  25.  前記画像データ取得部は、それまで存在していなかった、動的に生成された動画像のフレームのデータを取得することを特徴とする請求項24に記載の画像処理装置。
  26.  前記画像処理部は、前記表示パネルを備えるヘッドマウントディスプレイの、対象フレーム表示時の位置姿勢を予測し、前記フレームのうち前記位置姿勢の予測値に対応する領域を切り出すことを特徴とする請求項24に記載の画像処理装置。
  27.  動画像のデータを転送する画像データ転送装置と、前記動画像のデータを受信し表示装置に表示させるクライアント端末と、を含む画像表示システムにおいて、
     前記画像データ転送装置が、
     表示対象の世界を、転送先での表示視野より広い視野で表した、前記動画像のフレームを生成するステップと
     前記フレームのデータを前記クライアント端末にストリーミング転送するステップと、
     前記クライアント端末が、
     前記フレームのデータを取得するステップと、
     前記フレームのうち表示視野の領域を切り出すステップと、
     切り出した領域のデータを表示パネルに出力するステップと、
     を含むことを特徴とする画像表示方法。
  28.  前記フレームを生成するステップは、それまで存在していなかった転送対象の動画像のフレームを動的に生成することを特徴とする請求項27に記載の画像表示方法。
  29.  表示対象の世界を、表示視野より広い視野で表した動画像のフレームのデータを取得する機能と、
     前記フレームのうち表示視野の領域を切り出す機能と、
     切り出した領域のデータを表示パネルに出力する機能と、
     をコンピュータに実現させることを特徴とするコンピュータプログラム。
  30.  前記データを取得する機能は、それまで存在していなかった、動的に生成された動画像のフレームのデータを取得することを特徴とする請求項29に記載のコンピュータプログラム。
PCT/JP2020/014619 2020-03-30 2020-03-30 画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム WO2021199184A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2020/014619 WO2021199184A1 (ja) 2020-03-30 2020-03-30 画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム
JP2022512924A JPWO2021199184A1 (ja) 2020-03-30 2020-03-30
US17/913,485 US20230139216A1 (en) 2020-03-30 2020-03-30 Image display system, image processing device, and image display method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/014619 WO2021199184A1 (ja) 2020-03-30 2020-03-30 画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム

Publications (1)

Publication Number Publication Date
WO2021199184A1 true WO2021199184A1 (ja) 2021-10-07

Family

ID=77927049

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/014619 WO2021199184A1 (ja) 2020-03-30 2020-03-30 画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム

Country Status (3)

Country Link
US (1) US20230139216A1 (ja)
JP (1) JPWO2021199184A1 (ja)
WO (1) WO2021199184A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799773A (zh) * 2021-02-23 2021-05-14 京东方科技集团股份有限公司 一种数据可视化方法、终端设备、系统和存储介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324799A (ja) * 1992-05-15 1993-12-07 Hitachi Ltd バーチャルリアリティ制御方法および装置
JP2012033038A (ja) * 2010-07-30 2012-02-16 Fujitsu Ltd 模擬映像生成装置、方法、プログラム
WO2015068656A1 (ja) * 2013-11-11 2015-05-14 株式会社ソニー・コンピュータエンタテインメント 画像生成装置および画像生成方法
WO2015122052A1 (ja) * 2014-02-17 2015-08-20 株式会社ソニー・コンピュータエンタテインメント 画像送信装置、情報処理端末、画像送信方法、情報処理方法、プログラム及び情報記憶媒体
WO2015182189A1 (ja) * 2014-05-28 2015-12-03 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
WO2017163720A1 (ja) * 2016-03-23 2017-09-28 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理システム、および情報処理方法
WO2017199859A1 (ja) * 2016-05-18 2017-11-23 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理システム、および情報処理方法
WO2017208957A1 (ja) * 2016-06-01 2017-12-07 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置、画像生成システム、および画像生成方法
WO2017221784A1 (ja) * 2016-06-21 2017-12-28 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置、画像生成システム、および画像生成方法
WO2018079166A1 (ja) * 2016-10-26 2018-05-03 ソニー株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP2018166279A (ja) * 2017-03-28 2018-10-25 Kddi株式会社 クライアント状態に応じた映像を配信する映像配信装置、システム、プログラム及び方法
WO2019026765A1 (ja) * 2017-08-02 2019-02-07 株式会社ソニー・インタラクティブエンタテインメント レンダリング装置、ヘッドマウントディスプレイ、画像伝送方法、および画像補正方法
WO2019116994A1 (ja) * 2017-12-12 2019-06-20 株式会社ソニー・インタラクティブエンタテインメント 画像補正装置、画像補正方法およびプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012160904A (ja) * 2011-01-31 2012-08-23 Sony Corp 情報処理装置、情報処理方法、プログラム、及び撮像装置
US9392102B2 (en) * 2011-08-23 2016-07-12 Samsung Electronics Co., Ltd. Apparatus and method for providing panoramic view during video telephony and video messaging
GB2527503A (en) * 2014-06-17 2015-12-30 Next Logic Pty Ltd Generating a sequence of stereoscopic images for a head-mounted display
US10395418B2 (en) * 2017-08-18 2019-08-27 Microsoft Technology Licensing, Llc Techniques for predictive prioritization of image portions in processing graphics
EP3724846A1 (en) * 2017-12-19 2020-10-21 Nokia Technologies Oy Gaze dependent foveated rendering apparatus, method, computer program and system

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324799A (ja) * 1992-05-15 1993-12-07 Hitachi Ltd バーチャルリアリティ制御方法および装置
JP2012033038A (ja) * 2010-07-30 2012-02-16 Fujitsu Ltd 模擬映像生成装置、方法、プログラム
WO2015068656A1 (ja) * 2013-11-11 2015-05-14 株式会社ソニー・コンピュータエンタテインメント 画像生成装置および画像生成方法
WO2015122052A1 (ja) * 2014-02-17 2015-08-20 株式会社ソニー・コンピュータエンタテインメント 画像送信装置、情報処理端末、画像送信方法、情報処理方法、プログラム及び情報記憶媒体
WO2015182189A1 (ja) * 2014-05-28 2015-12-03 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
WO2017163720A1 (ja) * 2016-03-23 2017-09-28 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理システム、および情報処理方法
WO2017199859A1 (ja) * 2016-05-18 2017-11-23 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理システム、および情報処理方法
WO2017208957A1 (ja) * 2016-06-01 2017-12-07 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置、画像生成システム、および画像生成方法
WO2017221784A1 (ja) * 2016-06-21 2017-12-28 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置、画像生成システム、および画像生成方法
WO2018079166A1 (ja) * 2016-10-26 2018-05-03 ソニー株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP2018166279A (ja) * 2017-03-28 2018-10-25 Kddi株式会社 クライアント状態に応じた映像を配信する映像配信装置、システム、プログラム及び方法
WO2019026765A1 (ja) * 2017-08-02 2019-02-07 株式会社ソニー・インタラクティブエンタテインメント レンダリング装置、ヘッドマウントディスプレイ、画像伝送方法、および画像補正方法
WO2019116994A1 (ja) * 2017-12-12 2019-06-20 株式会社ソニー・インタラクティブエンタテインメント 画像補正装置、画像補正方法およびプログラム

Also Published As

Publication number Publication date
JPWO2021199184A1 (ja) 2021-10-07
US20230139216A1 (en) 2023-05-04

Similar Documents

Publication Publication Date Title
US10897614B2 (en) Method and an apparatus and a computer program product for video encoding and decoding
CN106165415B (zh) 立体观看
CN112204993B (zh) 使用重叠的被分区的分段的自适应全景视频流式传输
WO2021065629A1 (ja) 画像表示システム、動画配信サーバ、画像処理装置、および動画配信方法
WO2021065628A1 (ja) 画像処理装置、画像データ転送装置、画像処理方法、および画像データ転送方法
US20220368945A1 (en) Image data transfer apparatus and image data transfer method
US11461871B2 (en) Virtual reality cinema-immersive movie watching for headmounted displays
WO2021065632A1 (ja) 画像データ転送装置、画像表示システム、および画像圧縮方法
US20220377349A1 (en) Image data transfer apparatus and image compression
WO2021199184A1 (ja) 画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム
JP7362903B2 (ja) 画像データ転送装置、画像表示システム、および画像データ転送方法
WO2021065631A1 (ja) 画像データ転送装置および画像圧縮方法
WO2021193361A1 (ja) 画像データ転送装置、画像表示システム、および画像転送方法
WO2021199128A1 (ja) 画像データ転送装置、画像生成方法およびコンピュータプログラム
US20220329772A1 (en) Image processing apparatus, image display system, image data transfer apparatus, and image processing method
WO2022158221A1 (ja) 画像表示システム、表示装置、および画像表示方法
US20240119557A1 (en) Image display system and image display method

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022512924

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

Country of ref document: EP

Kind code of ref document: A1