WO2021172506A1 - 動画配信方法、動画再生方法、動画配信装置、及び配信データ構造 - Google Patents

動画配信方法、動画再生方法、動画配信装置、及び配信データ構造 Download PDF

Info

Publication number
WO2021172506A1
WO2021172506A1 PCT/JP2021/007303 JP2021007303W WO2021172506A1 WO 2021172506 A1 WO2021172506 A1 WO 2021172506A1 JP 2021007303 W JP2021007303 W JP 2021007303W WO 2021172506 A1 WO2021172506 A1 WO 2021172506A1
Authority
WO
WIPO (PCT)
Prior art keywords
viewpoint
video stream
image
keyframe
video
Prior art date
Application number
PCT/JP2021/007303
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 JP2022503743A priority Critical patent/JPWO2021172506A1/ja
Priority to CN202180004347.1A priority patent/CN114207562A/zh
Priority to EP21761863.6A priority patent/EP4124022A4/en
Priority to US17/623,362 priority patent/US20220368957A1/en
Publication of WO2021172506A1 publication Critical patent/WO2021172506A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2181Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44218Detecting physical presence or behaviour of the user, e.g. using sensors to detect if the user is leaving the room or changes his face expression during a TV program
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources

Definitions

  • the present invention relates to a video distribution method for distributing a video, a video playback method, a video distribution device, and a distribution data structure.
  • the distribution system of Patent Document 1 includes a server and a client, and a key frame image and a difference frame image constituting a moving image to be distributed are stored in the memory of the server. Then, when the server receives the request from the client, the key frame image and the difference frame image stored in the memory are delivered to the client.
  • the panoramic video distribution system described in Non-Patent Document 1 is provided with a server that distributes the entire background as a low-resolution image and cuts and distributes a portion corresponding to the user's line of sight as a high-resolution image.
  • the client that receives the low-resolution image and the high-resolution image can combine these images and display them on the screen, so that the part that the user is looking at can be displayed with high image quality.
  • An object of the present invention is to provide a video distribution method, a video playback method, a video distribution device, and a distribution data structure that reduce an increase in server load due to a change in the user's line of sight.
  • the moving image distribution method of the present invention is a step of storing a video stream including the celestial sphere for each of a plurality of viewpoints defined on the celestial sphere with the camera as an observation point, for the user's terminal.
  • the distribution step includes a distribution step of distributing the video stream, which is characterized in that the video stream of the viewpoint other than the nearest viewpoint in the celestial sphere corresponding to the line of sight determined by the user's terminal is distributed. do.
  • the moving image reproduction method of the present invention is a step of storing a video stream including the celestial sphere for each of a plurality of viewpoints defined on the celestial sphere with the camera as an observation point, at the user's terminal.
  • the reproduction step includes a reproduction step of reproducing the video stream, and the reproduction step is characterized in that the video stream of the viewpoint other than the nearest viewpoint in the celestial sphere corresponding to the line of sight determined by the user's terminal is reproduced. do.
  • the moving image distribution device of the present invention has a storage unit for storing a video stream including the celestial sphere and a terminal of the user for each of a plurality of viewpoints defined on the celestial sphere with the camera as an observation point.
  • the distribution unit includes a distribution unit that distributes the video stream to the user, and the distribution unit distributes a video stream of the viewpoint other than the nearest viewpoint in the celestial sphere corresponding to the line of sight determined by the user's terminal. It is characterized by that.
  • the distribution data structure of the present invention includes a video stream including an image in the line of sight directed from a specific observation point in the central portion and an image of a celestial sphere taken from the observation point outside the central portion.
  • the video stream includes a first video stream including an image of a viewpoint on the first line of sight directed from a specific observation point in the center, and a second line of sight directed from the observation point.
  • the video distribution method the video playback method, the video distribution device, and the distribution data structure of the present invention, it is possible to reduce the increase in the server load due to the change in the line of sight of the user.
  • Schematic diagram of the video distribution system of this embodiment (A) Schematic diagram of the hardware of the user terminal of the video distribution system, (b) Schematic diagram of the camera of the video distribution system, (c) Schematic diagram of the server of the video distribution system. (A) Flow diagram of the video generation and distribution program executed on the above server, (b) Flow diagram of the generation process in the video generation program. The figure which shows the image generated in the generation process The figure which shows the position of a viewpoint.
  • FIG. 1 which shows the extraction process of a pixel in a video stream generation process Diagram showing the correspondence between keyframe images by viewpoint and virtual spheres Diagram showing an example of the angle of view information function Diagram showing the correspondence when generating low-quality parts in keyframe images by viewpoint Diagram showing an example of a group of video streams by viewpoint Flow diagram of user terminal
  • the video distribution system 1 of the first embodiment is a system that distributes a video (video stream 44) to a user terminal 14 (hereinafter, user terminal 14), and is a camera 10 that generates an image. And a server 12 that functions as a distribution device that generates a moving image for distribution based on an image acquired from the camera 10.
  • the camera 10, the server 12, and the user terminal 14 are connected to a network represented by an Internet communication line, and the server 12 can communicate with the camera 10 and the user terminal 14.
  • the user terminal 14 is, for example, a known mobile information terminal such as a smartphone or a tablet terminal, and as shown in FIG. 2A, the user terminal 14 includes a communication module 16 (communication unit) which is an interface for connecting to an Internet communication line.
  • a liquid crystal display 18 (display unit) that displays a moving image received from the server 12, a touch panel 20 (input unit) that is superposed on the liquid crystal display 18 and receives input from a user, and an angular speed sensor that detects the posture of the terminal.
  • a 22 (detection unit) and a CPU 26 (control unit) that controls the liquid crystal display 18, the touch panel 20, and the angular speed sensor 22 by executing a program stored in the memory 24 are provided.
  • the camera 10 is a device that generates at least a hemispherical image, and as shown in FIG. 2B, an image sensor 28 and an image of a virtual hemisphere having an infinite radius with the image sensor 28 as an observation point.
  • a fisheye lens which is an optical component that forms an image of (image circle) in the light receiving surface of the image sensor 28, and an image sensor 28 are controlled to generate a hemispherical image based on an electric signal output from the image sensor 28. It includes a CPU 30 and a communication module 32 for connecting to an Internet communication line.
  • the camera 10 generates a hemispherical image at a frame rate of 60 fps (frames per second).
  • the plurality of consecutive hemispherical images generated in this way are stored in the memory 34 in the order of the generated time series.
  • the camera 10 displays the group of hemisphere images stored in the memory 34 via the Internet communication line. Send to server 12.
  • the server 12 is a terminal that distributes a moving image (video stream 44), which is distribution data generated based on the group of hemispherical images, to the user terminal 14, and as shown in FIG. 2C, the Internet. It includes a communication module 36 connected to a communication line, a memory 38 in which a moving image generation and distribution program is stored, and a CPU 40 that executes the moving image generation and distribution program.
  • a moving image video stream 44
  • the server 12 includes a communication module 36 connected to a communication line, a memory 38 in which a moving image generation and distribution program is stored, and a CPU 40 that executes the moving image generation and distribution program.
  • the video generation and distribution program generates a video stream 44 for distribution from the acquisition process (s10) of acquiring a group of hemisphere images from the camera 10 and the acquired hemisphere images.
  • This is a program that causes the server 12 to execute the generation process (s20) and the distribution process (s30) for delivering the video stream 44 corresponding to the request from the user terminal 14 to the user terminal 14.
  • the video stream 44 generated in the generation process (s20) is predetermined on a virtual spherical image having an infinite radius with the image sensor 28 of the camera 10 as a base point, as shown in FIG. It is generated for each viewpoint.
  • the viewpoints on the whole celestial sphere are set at a plurality of points, and a video stream 44 is generated for each of the plurality of points of view. Then, in the distribution process (s30), the video stream 44 of one viewpoint corresponding to or approximates the user's line-of-sight information included in the request from the user terminal 14 is transmitted to the user terminal 14.
  • a specific description will be given.
  • the acquisition process (s10) is a process of acquiring a group of hemispherical images 42 (FIGS. 1 and 4) from the camera 10, and the received group of hemispherical images 42 are stored in the memory 38 in chronological order.
  • the server 12 functions as an acquisition unit that acquires a group of hemispherical images 42 from the camera 10.
  • the memory 38 of the server 12 functions as a storage unit for storing a group of hemispherical images 42.
  • the generation process (s20) is executed.
  • the video stream 44 continuously images continuous in time series
  • the generation process (s20) is viewed from a predetermined viewpoint based on the group of hemispherical images 42 stored in the memory 38. It is a process of generating each, and includes an intermediate image generation process (s21) and a video stream generation process (s22).
  • the intermediate image generation process (s21) extracts a group of hemispherical images 42 stored in the memory 38, and generates a group of intermediate images 46 from the extracted group of hemispherical images 42 (FIG. 4).
  • the group of intermediate images 46 includes a keyframe image 46a and a difference frame image 46b generated using known interframe prediction.
  • the hemisphere image 42a extracted at predetermined frames (every 60 frames in the present embodiment) from the group of hemisphere images 42 is used as the key frame image.
  • the difference frame image 46b is generated by obtaining the difference between the other hemisphere images 42b of the frame following the hemisphere image 42a (key frame image) and the hemisphere image of the previous frame.
  • the group of intermediate images 46 generated by the intermediate image generation process (s21) is stored in the memory 38 of the server 12.
  • the hemisphere image 42 of the last frame in the hemisphere image 42 of the group is extracted as the key frame image 46a arranged in the last frame of the intermediate image 46 of the group.
  • the CPU 38 of the server 12 functions as an intermediate image generation unit that generates a group of intermediate images 46
  • the memory 38 of the server 12 functions as a storage unit that stores a group of intermediate images 46.
  • the key frame image 46a and the difference frame image 46b generated by the intermediate image generation process (s21) are referred to as an intermediate key frame image 46a and an intermediate difference frame image 46b, respectively.
  • the video stream generation process (s22) is a process of generating a video stream 44 for each viewpoint based on a group of intermediate images 46.
  • the video stream 44 is a continuous image delivered to the user terminal 14, and includes a viewpoint-specific key frame image 44a and a viewpoint-specific difference frame image 44b.
  • the video stream 44 is generated corresponding to each of the plurality of predetermined viewpoints.
  • the plurality of predetermined viewpoints are defined on a virtual spherical surface including the spherical image sensor 28 of the camera 10 as an observation point (base point).
  • Each viewpoint is defined by viewpoint information consisting of a roll angle ( ⁇ ), a pitch angle ( ⁇ ), and a yaw angle ( ⁇ ) with the observation point as a base point.
  • the viewpoint information is defined as ( ⁇ a , ⁇ a , ⁇ a ), and this viewpoint information is stored in the memory 38 in association with the viewpoint identification information given to the viewpoint a. ing. Further, the video stream 44 generated for the viewpoint a is stored in the memory 38 in association with the viewpoint identification information. That is, the viewpoint information of each viewpoint and the video stream 44 generated for each viewpoint are stored in the memory 38 in association with the viewpoint identification information.
  • the viewpoint-specific key frame image 44a and the viewpoint-specific difference frame image 44b constituting the video stream 44 are oriented outward from the center of the image when expanded on the user terminal 14. It is compressed so that the image quality gradually decreases.
  • the viewpoint-specific keyframe image 44a as an example, as shown in FIG. 6B, the center of the viewpoint-specific keyframe image 44a is used as a base point, and the inside of the viewpoint-specific keyframe image 44a is inscribed on four sides (edges). The image quality inside the tangent circle is high, and the image quality outside the inscribed circle (four corners of the image) is low.
  • Such a process of generating the keyframe image 44a for each viewpoint will be described below by taking the viewpoint a as an example.
  • the viewpoint-specific keyframe image 44a at the viewpoint a is a virtual mapping of the intermediate keyframe image 46a as shown in FIGS. 6 (c) and 6 (d). Pixels are extracted from the sphere 56 and generated. Specifically, as shown in FIG. 3B, the corresponding first coordinates on the 56 planes of the virtual sphere are calculated by the corresponding formula for each pixel that should form the viewpoint a keyframe image 44a (first calculation). Process (s221)), the second coordinate is calculated by applying the rotation formula including the viewpoint information of the viewpoint a to the first coordinate (second calculation process (s222)), and the virtual located at the second coordinate. Pixels on the 56 planes of the sphere are extracted. As shown in FIG.
  • the coordinates of the viewpoint a keyframe image 44a are indicated by XY orthogonal coordinates with the center as the origin, and the lateral direction (X coordinate) of the viewpoint a keyframe image 44a is ⁇ .
  • the value of 1 ⁇ X ⁇ 1 is taken, and the value of -1 ⁇ Y ⁇ 1 is taken in the vertical direction (Y coordinate).
  • the coordinates of the virtual sphere 56 are indicated by XYZ Cartesian coordinates with the center as the origin, and the radius r of the virtual sphere 56 is 1.
  • the first calculation process (s221) is a spherical coordinate calculation process for obtaining spherical coordinates (r, ⁇ , ⁇ ) in the virtual sphere 56 based on the coordinates and angle information of the viewpoint a keyframe image 44a, and the spherical coordinates. Includes a Cartesian coordinate calculation process for obtaining the Cartesian coordinates (x, y, z) corresponding to.
  • the angle of view information is information that indicates a range to be displayed on the liquid crystal display 18 of the user terminal 14, and is set to 30 ° in the present embodiment.
  • the spherical coordinate calculation process will be described by taking the pixel P included in the viewpoint a keyframe image 44a as an example.
  • the angle ⁇ p ′ with respect to the Z axis and the angle ⁇ p ′ with respect to the X axis in the virtual sphere are obtained as follows.
  • the radius r of the virtual sphere 56 is 1.
  • the angle ⁇ p' is determined based on the distance Pr from the origin to the pixel P in the XY orthogonal coordinates of the viewpoint a keyframe image 44a and predetermined angle information.
  • the distance Pr is determined by the following correspondence formula based on the coordinate values (Px, Py) of the pixel P.
  • the calculated distance Pr value is input to a predetermined function f (Pr) according to the angle of view information to obtain the angle ⁇ p'.
  • the function is defined so that ⁇ is 30 °, and the distance Pr obtained in the above equation 1 is substituted for the function to obtain the angle ⁇ at the point P. That is, the function is defined so that the boundary between the high pixel portion and the low pixel portion in the viewpoint a keyframe image 44a corresponds to the angle of view information.
  • the angle ⁇ p' is the same as ⁇ p in the XY Cartesian coordinates of the viewpoint a keyframe image 44a, and the ⁇ p is obtained by the following correspondence formula based on the coordinates (Px, Py) of the point P.
  • the angle ⁇ is obtained for the pixels constituting the low image quality portion, for example, the pixels on the circumference C, in the same manner as in the above correspondence formula (Equation 2).
  • the pixels located on the arc indicated by the broken line are not considered, and only the pixels corresponding to the arc indicated by the alternate long and short dash line are considered, resulting in the extraction of biased pixel information. Therefore, in the present embodiment, the points on the circumference C including the broken line portion are evenly arranged on the alternate long and short dash line based on the ratio of the broken line arc to the circumference C, so that the pixel information is thinned out without bias.
  • the amount of information of the viewpoint a keyframe image 44a (video stream) is reduced. Therefore, for example, the pixel information corresponding to the pixel Q'is extracted from the pixel Q on the circumference C.
  • the corresponding expression for realizing such an even array is as follows.
  • ⁇ i is an angle for obtaining the ratio (ratio) of the broken line arc to the circumference C.
  • the first coordinate (x1) for each pixel is calculated by the following conversion formula. , Y1, z1) are required.
  • the second calculation process is then executed.
  • the second coordinates (x2, y2, z2) are obtained by applying a rotation formula including viewpoint information ( ⁇ a , ⁇ a , ⁇ a) to each first coordinate.
  • Pixels to be extracted in the virtual sphere are specified by the second calculation process. Then, the information of the specified pixel is extracted, and the information of the extracted pixel is assigned to each corresponding pixel in the viewpoint a keyframe image 44a.
  • the pixels on the virtual sphere are extracted like a fisheye image in the inscribed circle that is the high image quality part according to the angle of view, and the angle of view is outside the inscribed circle that is the low image quality part.
  • the viewpoint a keyframe image 44a is generated by thinning out the pixels on the outer virtual sphere.
  • the process of generating the viewpoint-specific keyframe image 44a at the viewpoint a has been described, but the viewpoint-specific difference keyframe image 44b at the viewpoint a is also generated by the same process.
  • the video stream 44 of the viewpoint a is generated.
  • the video stream 44 (key frame image 44a for each viewpoint and difference frame image 44b for each viewpoint) is generated by the same processing as the viewpoint a, and the generated video stream 44 is associated with the viewpoint information. It is stored in the memory 38 of the server 12 (associated with the viewpoint information by being associated with the viewpoint identification information).
  • the memory 38 of the server 12 functions as a storage unit that stores the video stream 44 of each viewpoint in association with the viewpoint information.
  • the video stream 44 of each viewpoint is generated, but in the present embodiment, the key frame images 44a for each viewpoint constituting the video stream 44 are not synchronized between the viewpoints, and one viewpoint.
  • the viewpoint-specific keyframe image 44a and the viewpoint-specific keyframe image 44a of another viewpoint are arranged at different timings in time series and stored in the memory 38. That is, each of the video streams 44 is arranged so that the viewpoint-specific key frame image 44a and the viewpoint-specific difference frame image 44b are asynchronous in time series. For example, as shown in FIG.
  • the viewpoint-specific keyframe images KF002a, KF002b, KF002c, and KF002d of the viewpoints a to d are images generated from the intermediate keyframe image KF002.
  • the viewpoint b keyframe image KF002b is arranged so as to be delayed by 4 frames with respect to the viewpoint a keyframe image KF002a
  • the viewpoint c keyframe image KF002c is arranged so as to be delayed by 9 frames.
  • the viewpoint d keyframe image KF002d is arranged so as to be delayed by 14 frames.
  • the video streams 44 are asynchronous to each other for each viewpoint.
  • the viewpoint b keyframe image KF001b (the first keyframe image for each viewpoint 44a) extends from 1 frame to 4 frames. ) Are arranged continuously.
  • the server 12 Prior to the distribution process (s30), the server 12 establishes a peer-to-peer connection with the user terminal 14 by a signaling server 12 (not shown), enables mutual communication, and requests from the user terminal 14. (S40) is received (FIG. 11).
  • the request is information for requesting the distribution of the moving image to the server 12, and includes the line-of-sight information of the user terminal 14.
  • the line-of-sight information is information that indexes the user's line-of-sight (center of the image to be displayed on the user terminal 14), and is a roll angle ( ⁇ ) determined by the CPU 26 of the user terminal 14 based on the output signal of the angular velocity sensor 22. Includes pitch angle ( ⁇ ) and yaw angle ( ⁇ ).
  • the server 12 compares the line-of-sight information included in the request with a plurality of viewpoint information stored in the memory, and the image corresponding to the viewpoint information that matches or approximates the line-of-sight information.
  • the stream 44 is delivered to the user terminal 14.
  • the user terminal 14 performs the expansion process (s60) when it receives the video stream 44.
  • the expansion process (s60) first, a key frame image for expansion and a difference frame image are generated based on the received video stream 44.
  • the pixels of the high-quality portion of the viewpoint-specific keyframe image 44a are arranged as they are.
  • An image of a low image quality portion in the viewpoint-specific keyframe image 44a is arranged around the high image quality portion.
  • the square pixels of the low image quality portion are not arranged as they are, but the position of ⁇ Q'is specified by using the above formula 4, and the pixels are arranged at the specified positions.
  • the interpolation process for interpolating between each pixel is performed.
  • the interpolation process is not particularly limited, but for example, pixels similar to each other are arranged between pixels on the same circumference.
  • a difference frame image for expansion is generated by the same processing as the keyframe image for expansion.
  • a key frame image for expansion and a difference frame image for expansion are generated through the interpolation processing
  • a key frame image for display and a difference frame image for display are generated using a known panoramic expansion process, and these are generated.
  • a moving image is generated based on the image of the above, and the moving image is displayed on the user terminal 14.
  • the user terminal 14 While the moving image is displayed (played) on the user terminal 14, the user terminal 14 monitors the user's line of sight by checking the output of the angular velocity sensor 22, and the user terminal 14 monitors the line of sight according to the amount of change in the line of sight. Shift the display coordinates of. Further, the user terminal 14 updates the line-of-sight information and transmits the line-of-sight information to the server 12.
  • the server 12 Each time the server 12 receives the line-of-sight information, the server 12 extracts the viewpoint information of the video stream 44 in which the keyframes are arranged close to each other in the time series, compares the received line-of-sight information with the extracted viewpoint information, and obtains the most.
  • the approximate viewpoint is searched, and the video stream 44 corresponding to the approximate viewpoint is transmitted to the user terminal 14.
  • the video stream 44 is distributed as follows.
  • the server 12 searches for a video stream 44 in which the viewpoint-specific keyframe images 44a are arranged at close timings in time series in relation to the time when the line-of-sight information is received. Specifically, since each of the video streams 44 stored in the memory 38 is generated so as to be asynchronous with each other in the time series as described above, the arrangement of the key frame images 44a for each viewpoint in the video stream 44 The positions (arrangement timings) are different from each other in the plurality of video streams 44.
  • the CPU 12 of the server 12 calculates the arrangement position (arrangement timing) of the key frame image based on the key frame period (60 frames) in each video stream 44 and the delay set in each video stream 44, and gazes at the image.
  • the video stream 44 having the frame image (frame image reproduced on the user terminal 14) distributed at the time of receiving the information and the key frame image 44a for each viewpoint at the closest timing is searched. Then, it is determined whether or not the viewpoint information corresponding to the searched video stream 44 is positionally closer to the viewpoint after the change (viewpoint f) than the viewpoint before the change (viewpoint a).
  • the viewpoint-specific keyframe image 44a For example, as a result of searching the viewpoint-specific keyframe image 44a, if it is determined that the viewpoint-specific keyframe image 44a of the viewpoint c is closer in time series, the viewpoint c is closer to the viewpoint f than the viewpoint a. , The video stream 44 of the viewpoint c is delivered to the user terminal 14.
  • the viewpoint g is larger than the viewpoint a. Since the position is far from the viewpoint f, the video stream 44 of the viewpoint a is distributed to the user terminal 14.
  • the video stream 44 corresponding to a plurality of viewpoints is generated in advance, even if the user's line of sight occurs, the video stream 44 corresponding to the viewpoint obtained by the line of sight is generated. Is sufficient, so that the increase in the load on the server 12 can be reduced even if there are requests from a large number of user terminals 14.
  • the keyframe image 44a for each viewpoint that is close in time series and position is displayed. Since the video stream 44 is distributed, it is possible to prevent the image quality of the displayed image from being significantly deteriorated.
  • the server 12 selects the video stream 44 to be distributed based on the line-of-sight information received from the user terminal 14, but in the second embodiment, the user terminal 14 receives the video stream 44.
  • the video stream 44 to be output is selected based on the line-of-sight information, and the server 12 is requested to distribute the selected video stream 44.
  • the configurations and flows different from those of the first embodiment will be mainly described, and the configurations and methods common to the first embodiment will be described by omitting them as appropriate.
  • the video stream 44 generated for each viewpoint is associated with the viewpoint identification information and stored in the memory of the server 12, but the viewpoint information is stored in the memory of the server 12. It differs in that it is not remembered in 12.
  • each of the viewpoint information is stored in the memory 24 of the user terminal 14 in association with the viewpoint identification information.
  • the key frame image 44a for each viewpoint is included in the plurality of video streams 44 generated for each viewpoint. Then, in these plurality of video streams 44, since the head viewpoint-specific keyframe image 44a is offset, the viewpoint-specific keyframe images 44a are arranged so as to be asynchronous with each other in time series.
  • the arrangement timing of the viewpoint-specific keyframe image 44a in the video stream 44 of each viewpoint is stored in the memory 24 of the user terminal 14. The arrangement timing indicates at which timing (frame) the viewpoint-specific keyframe image 44a is arranged in the video stream 44 of each viewpoint, and typically, the viewpoint-specific keyframe in each video stream 44.
  • the interval is “60”.
  • the viewpoint-specific keyframe image 44a of the viewpoint a is not offset, the number of offsets of the viewpoint a is “0”.
  • the first key frame image 44a for each viewpoint is provided with an offset of 4 frames, so that the number of offsets of the viewpoint b is “4”.
  • the number of offsets of the viewpoint c is “9”, and the number of offsets of the viewpoint d is “14”.
  • the arrangement timing defined for each viewpoint is stored in association with the viewpoint identification information, and each of the viewpoint identification information is stored in association with the viewpoint information.
  • the user terminal 14 of the present embodiment determines the video stream 44 of the viewpoint to be received based on the line-of-sight information, and requests the server 12 to distribute the video stream 44 of the determined viewpoint. Specifically, the user terminal 14 executes the line-of-sight information acquisition process, the request process, and the display process in this order.
  • the line-of-sight information acquisition process is a process in which the CPU 26 of the user terminal 14 acquires line-of-sight information based on the output from the angular velocity sensor 22, and the roll angle ( ⁇ ) and pitch are the same as in the first embodiment. Obtain the angular velocity ( ⁇ ) and yaw angle ( ⁇ ).
  • the request process extracts viewpoint information that approximates the line-of-sight information acquired in the above-mentioned line-of-sight information acquisition process, and transmits the viewpoint identification information corresponding to the extracted viewpoint information to the server 12.
  • the server 12 receives the viewpoint identification information from the user terminal 14, the server 12 distributes the video stream 44 corresponding to the viewpoint identification information to the user terminal 14.
  • the display process is a process of displaying the video stream 44 on the liquid crystal display 18 while receiving the video stream 44 from the server 12. According to the above flow, the video stream 44 is distributed and displayed at the initial stage.
  • the CPU 26 of the user terminal 14 displays the video stream 44, and in order to display the video stream 44 corresponding to the line-of-sight change caused by the user operating the user terminal 14, the line-of-sight information acquisition process, the determination process, The request processing and the display processing are executed in synchronization with the frame rate of the video stream 44.
  • the line-of-sight information acquisition process is the same as the process of (1) above, and the line-of-sight information (roll angle ( ⁇ ), pitch angle ( ⁇ ), and yaw angle ( ⁇ )) is based on the output of the angular velocity sensor 22. Is the process of acquiring.
  • the determination process is a process of determining a video stream requested to the server 12, and the CPU 26 of the user terminal 14 identifies the viewpoint in which the key frame images 44a for each viewpoint are arranged nearby in chronological order. Select information.
  • the frame number in the video stream 44 being played back (hereinafter, the frame number being played back) is specified. For example, when the video stream 44 of the viewpoint a is being reproduced and the 100th frame image is displayed, it is specified that the frame number is “100”.
  • the placement position of the key frame image 44a for each viewpoint is calculated for each viewpoint based on the interval and the offset determined as the placement timing, and the key frame image 44a for each viewpoint is placed after the specified frame number.
  • the keyframe numbers that are close in time series are extracted.
  • the interval is defined as "60" and the offset is defined as "4". Therefore, the position of the first viewpoint-specific keyframe image 44a of the viewpoint b is "5", the first.
  • the position of the second viewpoint-specific keyframe image 44a is obtained as "65”
  • the position of the third viewpoint-specific keyframe image 44a is "125”
  • the position of the fourth viewpoint-specific keyframe image 44a is "185”.
  • each time the position of the key frame image 44a for each viewpoint is obtained, the difference from the specified frame number "100" is calculated, and the position of the key frame image 44a for each viewpoint with the smallest difference, specifically, the first.
  • the position “124” of the key frame image for each viewpoint of No. 3 approximates the specified frame number “100”.
  • the viewpoints c, d ... are also calculated in the same manner, and for the viewpoint c, the position "129" of the third viewpoint-specific keyframe image is approximated to the specified frame number "100".
  • the position “74” of the second viewpoint-specific keyframe image is the closest approximation, but since it is located before the specified frame number “100”, the third viewpoint to be approximated next.
  • the position "134" of another keyframe image is assumed to approximate the specified frame number "100". In this way, when the position of the key frame image 44a for each viewpoint that approximates each viewpoint is calculated, the viewpoint that most closely approximates the specified frame number is selected.
  • the viewpoint b that approximates the specified frame number “100” is selected.
  • the viewpoint (viewpoint b in the above example) closest to the viewpoint-specific keyframe image 44a is selected.
  • the distance between the viewpoint (viewpoint b) and the line-of-sight information is calculated.
  • the distance between the viewpoint (viewpoint a) during reproduction and the line-of-sight information is calculated.
  • the shorter viewpoint of these two distances is determined as the viewpoint to be reproduced, and the viewpoint identification information corresponding to the viewpoint is extracted. That is, when the viewpoint (viewpoint a) currently being reproduced is close to the line-of-sight information, the viewpoint (viewpoint a) currently being reproduced is continuously requested.
  • the viewpoint (viewpoint b) in which the key frame for each viewpoint is arranged at a timing close to the frame currently being played and the line-of-sight information are closer in coordinates than the viewpoint (viewpoint a) currently being played the relevant case is concerned.
  • the video stream 44 of the viewpoint (viewpoint b) is newly requested.
  • the viewpoint identification information and the specified frame number are transmitted to the server 12.
  • the server 12 receives the viewpoint identification information and the frame number, the server 12 transmits the video stream 44 starting from the frame image corresponding to the viewpoint identification information and corresponding to the specified frame number to the user terminal 14.
  • the user terminal 14 displays the received video stream 44 at the center of the liquid crystal display 18 at a position corresponding to the line-of-sight information.
  • the user terminals 14 of the first embodiment and the second embodiment described above are reproduction modes in which the video stream 44 delivered from the server 12 is received and reproduced, but the reproduction mode is not limited to the playback mode.
  • the server 12 is not provided, and the video stream 44 generated for each viewpoint is stored in the memory 24 of the user terminal 14 in association with the viewpoint information.
  • the first viewpoint-specific keyframe image 44a is offset, so that the viewpoint-specific keyframe image 44a is displayed in time series. They are arranged so that they are asynchronous with each other. Then, the arrangement timing of the key frame image 44a for each viewpoint in the video stream 44 of each viewpoint is stored in the memory 24 of the user terminal 14.
  • the line-of-sight information acquisition process is a process in which the CPU 26 of the user terminal 14 acquires line-of-sight information based on the output from the angular velocity sensor 22, and is a roll angle similar to the first embodiment and the second embodiment. Obtain ( ⁇ ), pitch angle ( ⁇ ), and yaw angle ( ⁇ ).
  • the reproduction process extracts the viewpoint information whose value is close to the line-of-sight information acquired in the above-mentioned line-of-sight information acquisition process, and reproduces the video stream 44 corresponding to the extracted viewpoint information.
  • the CPU 26 of the user terminal 14 performs the line-of-sight information acquisition process and the playback process in order to play back the video stream 44 corresponding to the change of the line-of-sight caused by the user operating the user terminal 14 while playing the video stream 44. Is executed in synchronization with the frame rate of the video stream 44.
  • the line-of-sight information acquisition process is the same as the process of (1) above, and the line-of-sight information (roll angle ( ⁇ ), pitch angle ( ⁇ ), and yaw angle ( ⁇ )) is based on the output of the angular velocity sensor 22. Is the process of acquiring.
  • the reproduction process is a process of determining the video stream 44 to be reproduced and reproducing the video stream 44, and the CPU 26 of the user terminal 14 is close to the key frame image 44a for each viewpoint in chronological order at the time of reproduction.
  • the arranged viewpoint information is selected, and the video stream 44 to be reproduced is selected based on the selected viewpoint information and the line-of-sight information acquired in (4) above.
  • (5-1) Specifically, the frame number in the video stream 44 being played back (hereinafter, the frame number being played back) is specified.
  • the placement position of the viewpoint-specific keyframe image 44a is calculated based on the placement timing.
  • the number of frames up to the calculated key frame image arrangement position is calculated for each of the video streams 44 for each viewpoint. That is, the number of frames from the frame number being played to the position where the keyframe image is arranged is counted, the video stream 44 for each viewpoint having the keyframe image with the smallest count value is specified, and the video stream 44 for each viewpoint is supported. Viewpoint information is extracted. (5-3) Next, the distance between the extracted viewpoint information and the line-of-sight information acquired in (4) above is calculated. In addition, the distance between the viewpoint information and the line-of-sight information of the video stream 44 being reproduced is calculated. Then, the shorter viewpoint of these two distances is determined as the viewpoint to be reproduced, and the video stream 44 corresponding to the viewpoint is reproduced.
  • the viewpoint information of the video stream 44 currently being reproduced is close to the line-of-sight information of the user, the video stream 44 currently being reproduced is continuously reproduced.
  • the viewpoint information in which the key frame image 44a for each viewpoint is arranged at a timing close to the frame currently being played is closer in coordinates to the user's line-of-sight information than the viewpoint information currently being played, the viewpoint is concerned.
  • the video stream 44 of the information is newly reproduced.
  • the present invention is not limited to the above embodiment, and may have the following embodiments.
  • the video stream 44 for each viewpoint is generated based on the group of hemispherical images captured by the camera 10, but the video stream 44 for each viewpoint is generated based on the group of spherical images captured by the camera 10.
  • You may generate a video stream of.
  • the sphere is not limited to a hemisphere or a spherical sphere, and may be a virtual spherical surface having an infinite radius when the camera 10 having an angle of view of 45 degrees is viewed as an observation point.
  • the present invention may generate a video stream for each viewpoint based on a group of images of celestial spheres captured by the camera 10.
  • ⁇ Modification 2> the camera 10 that captures the real world is used, but a camera that captures the virtual world may be used.
  • the acquisition process and the generation process of the server 12 are not indispensable processes, and the video stream 44 is prepared in advance corresponding to a plurality of viewpoints and stored in the memory 38 prior to distribution to the user terminal 14. It doesn't matter.
  • the video stream 44 is arranged so that the viewpoint-specific keyframe images 44a are asynchronous in time series between the viewpoints.
  • a plurality of viewpoint-specific keys such as a plurality of blank images at the beginning of the video stream are arranged. It may be made asynchronous by continuously arranging images that are not related to the frame image or the difference frame for each viewpoint. Further, the arrangement interval of the keyframe images for each viewpoint may be different in the video stream between the viewpoints.
  • the viewpoint-specific keyframe image of the viewpoint a is arranged every 60 frames, while the viewpoint-specific keyframe image of the viewpoint b is arranged every 55 frames, the viewpoint-specific keyframe image of the viewpoint c is arranged every 50 frames, and the viewpoint d.
  • the keyframe images for each viewpoint can be made asynchronous in time series by arranging them every 45 frames.
  • the array list is defined by the interval value and the offset value, but the present invention is not limited to such an embodiment.
  • the keyframe position (number) list in each video stream may be stored in association with the viewpoint identification information.
  • the video stream 44 including the viewpoint-specific keyframe image 44a at the closest timing in the time series is set as the distribution target or the playback target.
  • the video stream 44 including the viewpoint-specific keyframe image 44a at the nearest timing may be selected.
  • the "near timing" focuses on the video stream 44 (video stream 44 of the nearest viewpoint) whose viewpoint is closest to the viewpoint of the video stream 44 being distributed or played, and the distribution timing (playback timing). ) To the keyframe image of the video stream 44 of the nearest neighbor viewpoint as a reference, which is less than the reference frame count number.
  • the arrangement position (arrangement timing) of the key frame image 44a for each viewpoint is calculated, and the arrangement position (arrangement timing) of the key frame image 44a for each viewpoint before and after the distribution timing (reproduction timing).
  • Is less than the reference it is selected as the video stream 44 including the keyframe image 44a for each viewpoint at a close timing in the time series, and the viewpoint information of the selected video stream 44a is compared with the changed line-of-sight information. Will be done.
  • the frame count number as the reference may be the frame count number obtained by subtracting the frame count considering the delivery delay caused by the network environment.
  • Video distribution system 10 ... Camera 12 ... Server 14 ... User terminal 28 ... Image sensor (imaging unit) 30 ... CPU 34 ... Memory 38 ... Memory 40 ... CPU

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】ユーザの視線の変化に起因するサーバ負荷の増大を軽減する動画配信方法および動画配信装置を提供する。 【解決手段】カメラ10を観測点とする天球に定められた複数の視点ごとに、当該天球を含む映像ストリーム44を記憶させるステップ、ユーザ端末14に対して前記映像ストリーム44を配信させる配信ステップ、を含み、前記配信ステップは、前記ユーザ端末14で決定された視線に対応する前記天球における最近傍の視点以外の前記視点の映像ストリーム44を配信させることを特徴とする。

Description

動画配信方法、動画再生方法、動画配信装置、及び配信データ構造
 本発明は、動画を配信する動画配信方法、動画再生方法、動画配信装置、及び配信データ構造に関するものである。
 静止画や動画を配信する配信システムが知られている。例えば、特許文献1の配信システムは、サーバとクライアントを備えており、当該サーバのメモリには配信すべき動画を構成するキーフレーム画像および差分フレーム画像が記憶されている。そして、サーバがクライアントからのリクエストを受信した場合に、上記メモリに記憶されたキーフレーム画像や差分フレーム画像をクライアントに配信する構成となっている。
 ここで、非特許文献1に記載のパノラマ動画配信システムでは、背景全体を低解像度画像として配信するとともに、ユーザの視線に対応する部分を高解像度画像として切り取って配信するサーバを備えている。低解像度画像と高解像度画像を受信したクライアントは、これらの画像を合成して画面に表示することで、ユーザが見ている部分を高画質で表示することを可能にしている。
特許第6149967号公報
NTTテクノクロス「パノラマ超プレイヤ/パノラマ超エンジン」、[令和2年2月23日検索]、インターネット<https://www.ntt-tx.co.jp/products/panocho/>
 しかしながら、上記サーバは、時事刻々と変化するユーザの視点に合わせて高解像度画像を切り取る処理を実行しなければならないため、サーバに対して多数のユーザがアクセスすると、その分サーバの負荷が増大することとなる。さらに、特許文献1のように、送信すべき動画(高画質動画)についてキーフレーム画像および差分フレーム画像の生成をおこなうこととなれば、サーバの負荷はさらに増大することとなる。
 本願発明は、ユーザの視線の変化に起因するサーバ負荷の増大を軽減する動画配信方法、動画再生方法、動画配信装置、及び配信データ構造を提供することを目的とする。
 上記の目的を達成するため、本発明の動画配信方法は、カメラを観測点とする天球に定められた複数の視点ごとに、当該天球を含む映像ストリームを記憶させるステップ、ユーザの端末に対して前記映像ストリームを配信させる配信ステップ、を含み、前記配信ステップは、前記ユーザの端末で決定された視線に対応する前記天球における最近傍の視点以外の前記視点の映像ストリームを配信させることを特徴とする。
 また、上記の目的を達成するため、本発明の動画再生方法は、カメラを観測点とする天球に定められた複数の視点ごとに、当該天球を含む映像ストリームを記憶させるステップ、ユーザの端末において前記映像ストリームを再生する再生ステップ、を含み、前記再生ステップは、前記ユーザの端末で決定された視線に対応する前記天球における最近傍の視点以外の前記視点の映像ストリームを再生することを特徴とする。
 また、上記目的を達成するため、本発明の動画配信装置は、カメラを観測点とする天球に定められた複数の視点ごとに、当該天球を含む映像ストリームを記憶する記憶部と、ユーザの端末に対して前記映像ストリームを配信する配信部と、を備え、前記配信部は、前記ユーザの端末で決定された視線に対応する前記天球における最近傍の視点以外の前記視点の映像ストリームを配信することを特徴とする。
 さらに、本発明の配信データ構造は、特定の観測点から向けられた視線上にある画像を中心部に含み、当該中心部の外側に、当該観測点から撮影された天球の画像を含む映像ストリームを備え、前記映像ストリームは、特定の観測点から向けられた第一の視線上にある視点の画像を中心部に含む第一の映像ストリームと、前記観測点から向けられた第二の視線上にある視点の画像を中心部に含む第二の映像ストリームと、を含む。
 本発明の動画配信方法、動画再生方法、動画配信装置、及び配信データ構造によれば、ユーザの視線の変化に起因するサーバ負荷の増大を軽減することができる。
本実施形態の動画配信システムの概略図 (a)上記動画配信システムのユーザ端末のハードウェア概略図、(b)上記動画配信システムのカメラのハードウェア概略図、(c)上記動画配信システムのサーバのハードウェア概略図 (a)上記サーバにおいて実行される動画生成配信プログラムのフロー図、(b)動画生成プログラムにおける生成処理のフロー図 生成処理において生成される画像を示す図 視点の位置を示す図。 映像ストリーム生成処理における画素の抽出過程を示す図 視点別キーフレーム画像と仮想球の対応関係を示す図 画角情報の関数の例を示す図 視点別キーフレーム画像における低画質部分を生成する場合の対応関係を示す図 視点別の一群の映像ストリームの例を示す図 ユーザ端末のフロー図
[第1実施形態]
 以下、図面を参照しながら、本発明の実施形態に係る動画配信システムおよび動画配信方法を説明する。
 図1に示すように、第1実施形態の動画配信システム1は、ユーザの端末14(以下、ユーザ端末14)に動画(映像ストリーム44)を配信するシステムであって、画像を生成するカメラ10と、当該カメラ10から取得した画像に基づいて配信用の動画を生成する配信装置として機能するサーバ12と、を備える。これらカメラ10、サーバ12、及びユーザ端末14は、インターネット通信回線に代表されるネットワークに接続されており、サーバ12はカメラ10とユーザ端末14に対して通信可能となっている。
 ユーザ端末14は、例えば公知のスマートフォンやタブレット端末などの携帯情報端末であり、図2(a)に示すように、インターネット通信回線に接続するためのインターフェイスである通信モジュール16(通信部)と、サーバ12から受信した動画を表示する液晶ディスプレイ18(表示部)と、当該液晶ディスプイレイ18上に重畳配置され、ユーザからの入力を受け付けるタッチパネル20(入力部)と、端末の姿勢を検出する角速度センサ22(検出部)と、メモリ24に記憶されたプログラムを実行することで液晶ディスプレイ18、タッチパネル20、及び角速度センサ22を制御するCPU26(制御部)と、を備えている。
 カメラ10は、少なくとも半天球画像を生成する装置であって、図2(b)に示すように、イメージセンサ28と、当該イメージセンサ28を観測点とする半径無限大の仮想の半球面の像(イメージサークル)を当該イメージセンサ28の受光面内に結像させる光学部品である魚眼レンズと、イメージセンサ28を制御して、イメージセンサ28から出力された電気信号に基づいて半天球画像を生成するCPU30と、インターネット通信回線に接続するための通信モジュール32と、を備えている。当該カメラ10は、60fps(frames per second)のフレームレートで、半天球画像を生成する。このようにして生成された複数の連続する半天球画像は、生成された時系列順にメモリ34に記憶される。一定期間撮像され生成された複数の半天球画像(一群の半天球画像)がメモリ34に蓄積されると、カメラ10はメモリ34に記憶した一群の半天球画像を、インターネット通信回線を介して、サーバ12へと送信する。
 サーバ12は、上記一群の半天球画像に基づいて生成した配信データである動画(映像ストリーム44)をユーザ端末14に対して配信する端末であって、図2(c)に示すように、インターネット通信回線に接続された通信モジュール36と、動画生成配信プログラムが記憶されたメモリ38と、当該動画生成配信プログラムを実行するCPU40と、を備えている。
 当該動画生成配信プログラムは、図3(a)に示すように、カメラ10から一群の半天球画像を取得する取得処理(s10)、取得した一群の半天球画像から配信用の映像ストリーム44を生成する生成処理(s20)、ユーザ端末14からのリクエストに対応する映像ストリーム44をユーザ端末14に配信する配信処理(s30)をサーバ12に実行させるプログラムである。本実施形態において、生成処理(s20)において生成される映像ストリーム44は、図5に示すように、カメラ10のイメージセンサ28を基点とする半径無限大の仮想的な全天球上に予め定められた視点毎に生成される。換言すれば、カメラ10によって生成された半天球画像が仮想的な全天球にマッピングされた場合において、当該全天球の中心をユーザの視座として、当該視座から当該全天球を観察する際における全天球上の視点を複数箇所に設定し、当該複数箇所の視点毎に映像ストリーム44が生成される。そして、配信処理(s30)において、ユーザ端末14からのリクエストに含まれるユーザの視線情報に対応する又は近似する一の視点の映像ストリーム44がユーザ端末14へと送信される。以下、具体的に説明する。
 取得処理(s10)は、カメラ10から一群の半天球画像42(図1,図4)を取得する処理であり、受信した一群の半天球画像42は時系列の順にメモリ38に記憶される。このように、サーバ12は、カメラ10から一群の半天球画像42を取得する取得部として機能する。また、サーバ12のメモリ38は一群の半天球画像42を記憶する記憶部として機能する。
 上記取得処理(s10)が実行されると生成処理(s20)が実行される。生成処理(s20)は、図4に示されるように、メモリ38に記憶されている一群の半天球画像42に基づいて、映像ストリーム44(時系列において連続する連続画像)を予め定められた視点ごとに生成する処理であって、中間画像生成処理(s21)と、映像ストリーム生成処理(s22)を含む。
 中間画像生成処理(s21)は、メモリ38に記憶された一群の半天球画像42を抽出し、抽出した一群の半天球画像42から一群の中間画像46を生成する(図4)。当該一群の中間画像46は、公知のフレーム間予測を用いて生成されたキーフレーム画像46aと差分フレーム画像46bを含む。本実施形態では、一群の半天球画像42の中から所定のフレーム毎(本実施形態では60フレーム毎)に抽出された半天球画像42aをキーフレーム画像としている。また、当該半天球画像42a(キーフレーム画像)に続くフレームの他の複数の半天球画像42bについて、その前フレームの半天球画像との差分を求めることで差分フレーム画像46bが生成される。当該中間画像生成処理(s21)によって生成された一群の中間画像46は、サーバ12のメモリ38に記憶される。なお、一群の半天球画像42における最後のフレームの半天球画像42は、一群の中間画像46における最後のフレームに配されるキーフレーム画像46aとして抽出される。このように、サーバ12のCPU38は、一群の中間画像46を生成する中間画像生成部として機能し、サーバ12のメモリ38は一群の中間画像46を記憶する記憶部として機能する。以下、中間画像生成処理(s21)で生成されたキーフレーム画像46aおよび差分フレーム画像46bをそれぞれ中間キーフレーム画像46aおよび中間差分フレーム画像46bという。
 映像ストリーム生成処理(s22)は、一群の中間画像46に基づいて、視点別に映像ストリーム44を生成する処理である。映像ストリーム44は、ユーザ端末14に配信される連続画像であって、視点別キーフレーム画像44aおよび視点別差分フレーム画像44bを含む。上記のように、当該映像ストリーム44は、予め定められた複数の視点の各々に対応して生成される。当該予め定められた複数の視点とは、上述の通り図5に示すように、カメラ10のイメージセンサ28を観測点(基点)として眺めた全天球を含む仮想的な全天球上に定められた複数の点であって、各々の視点は、当該観測点を基点とするロール角(α)、ピッチ角(β)、ヨー角(γ)から成る視点情報によって定義付けられている。例えば、視点aについては、(α,βa,γ)のように視点情報が定められており、この視点情報は視点aに付与された視点識別情報に対応付けてメモリ38に記憶されている。また、視点aについて生成された映像ストリーム44が視点識別情報に対応づけてメモリ38に記憶されている。すなわち、各視点の視点情報および視点別に生成された映像ストリーム44は、視点識別情報に対応づけてメモリ38に記憶されている。
 映像ストリーム44を構成する視点別キーフレーム画像44aや視点別差分フレーム画像44bは、図6(a)に示されるように、ユーザ端末14において展開された場合に、その画像の中心から外側に向かって画質が漸減するように圧縮されている。視点別キーフレーム画像44aを例にすると、図6(b)に示されるように、視点別キーフレーム画像44aの中心を基点とし、視点別キーフレーム画像44aの4辺(縁)に内接する内接円内側の画質が高く、当該内接円の外側(画像の4隅)の画質が低くなるように圧縮される。このような視点別キーフレーム画像44aの生成処理を、視点aを例にして、以下説明する。
 視点aにおける視点別キーフレーム画像44a(以下、視点aキーフレーム画像44aという)は、図6(c),(d)に示されるように、中間キーフレーム画像46aが仮想的にマッピングされた仮想球56から画素が抽出されて生成される。具体的には、図3(b)に示すように、視点aキーフレーム画像44aを構成すべき各画素について、仮想球56面上の対応する第1座標が対応式によって算出され(第1算出処理(s221))、当該第1座標に視点aの視点情報を含む回転式を適用して第2座標が算出され(第2算出処理(s222))、当該第2座標に位置している仮想球56面上の画素が抽出される。なお、視点aキーフレーム画像44aの座標は、図7(b)に示すように、その中心を原点とするXY直交座標によって示され、視点aキーフレーム画像44aの横方向(X座標)は-1≦X≦1の値をとり、縦方向(Y座標)は-1≦Y≦1の値をとるものとる。また、仮想球56の座標は図7(a)に示すように、その中心を原点とするXYZ直交座標によって示され、仮想球56の半径rは1とする。
 上記の第1算出処理(s221)は、視点aキーフレーム画像44aの座標と画角情報に基づいて仮想球56における球面座標(r,θ,φ)を求める球面座標算出処理、及び当該球面座標に対応する直交座標(x,y,z)を求める直交座標算出処理を含む。なお、画角情報は、ユーザ端末14の液晶ディスプレイ18に表示させるべき範囲を指標する情報であって、本実施形態では30°に定められている。
 図7に示されるように、視点aキーフレーム画像44aに含まれる画素Pを例に球面座標算出処理を説明する。仮想球におけるZ軸に対する角度θp´と、X軸に対する角度φp´が次のように求められる。なお、上記の通り仮想球56の半径rは1となる。角度θp´は、視点aキーフレーム画像44aのXY直交座標における原点から画素Pまでの距離Prと、所定の画角情報に基づいて定められる。距離Prについては、画素Pの座標値(Px,Py)に基づいて、次の対応式により定められる。
Figure JPOXMLDOC01-appb-M000001
 そして、算出された距離Prの値を、画角情報に応じて予め定められた関数f(Pr)に入力することで角度θp´を求める。当該関数は、図8(a)に示すように、距離Prと角度θp´の関係を定めたものであり、例えば画角情報が30°に設定されている場合には、Pr=1の場合にθが30°になるように関数が定められており、当該関数に対して、上記数1において求められた距離Prが代入されて点Pにおける角度θが求められる。すなわち、関数は、視点aキーフレーム画像44aにおける高画素部分と低画素部分の境界が画角情報に対応するように定められている。当該画角情報および関数は、図8(b)に示されるように、画角情報が90°の場合にPr=1の場合にθが90°になるように定められても良い。また、図8(c)に示されるように1次関数であっても構わない。
 角度φp´は、視点aキーフレーム画像44aのXY直交座標におけるφpと同一であり、当該φpは点Pの座標(Px,Py)に基づいて、以下の対応式により求められる。
Figure JPOXMLDOC01-appb-M000002
 ここで、図9(b)に示すように、低画質部分を構成している画素、例えば円周C上にある画素に対して、上記の対応式(数2)と同様に角度φを求めた場合、破線で示された弧(破線弧)上に位置する画素が考慮されず、一点鎖線で示された弧に対応する画素のみが考慮される偏った画素情報の抽出となってしまう。そこで、本実施形態では、円周Cに対する破線弧の比率に基づいて、破線部分を含めた円周C上の点を均等に一点鎖線上に配列することで、画素情報の偏りなく間引き抽出し、視点aキーフレーム画像44a(映像ストリーム)の情報量の低減を実現している。そのため、例えば円周C上の画素Qには画素Q´に対応する画素情報が抽出されることとなる。このような均等配列を実現するための対応式は次の式になる。
Figure JPOXMLDOC01-appb-M000003
 ここで、φは、円周Cに対する破線弧の比率(割合)を求めるための角度である。
 上記のようにして、視点aキーフレーム画像44a中の各画素に対する球面座標(1,θ,φ)が求められると、直交座標算出処理において、次の変換式により各画素に対する第1座標(x1,y1,z1)が求められる。
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
Figure JPOXMLDOC01-appb-M000006
 直交座標算出処理が実行されると、次いで、第2算出処理が実行される。第2算出処理では、各第1座標に対して、視点情報(α,β,γ)、を含む回転式を適用し第2座標(x2,y2,z2)が求められる。
Figure JPOXMLDOC01-appb-M000007
 上記第2算出処理により、仮想球において抽出されるべき画素が特定される。そして、当該特定された画素の情報を抽出し、抽出した画素の情報を視点aキーフレーム画像44aにおいて対応する各画素に割り当てる。このようにして、高画質部分となる内接円内には、画角に応じて、仮想球上の画素が魚眼画像状に抽出され、低画質部分となる内接円外には画角外となる仮想球上の画素が間引き抽出された視点aキーフレーム画像44aが生成されることとなっている。
 上記の通り、視点aにおける視点別キーフレーム画像44aの生成処理を説明したが、視点aにおける視点別差分キーフレーム画像44bも同様の処理によって生成される。このようにして視点aの映像ストリーム44が生成される。他の視点についても、視点aと同様の処理によって、映像ストリーム44(視点別キーフレーム画像44aおよび視点別差分フレーム画像44b)が生成され、生成された映像ストリーム44は、視点情報に関連付けられて(視点識別情報に対応づけられることにより、視点情報に関連づけられて)サーバ12のメモリ38に記憶される。このように、サーバ12のメモリ38は視点情報に対応づけて各視点の映像ストリーム44を記憶する記憶部として機能している。
 上記のようにして、各視点の映像ストリーム44が生成されるが、本実施形態では、映像ストリーム44を構成している視点別キーフレーム画像44aが視点間で同期しておらず、一の視点の視点別キーフレーム画像44aと他の視点の視点別キーフレーム画像44aとが時系列において異なるタイミングに配列されてメモリ38に記憶されている。すなわち、映像ストリーム44の各々は、互いに、視点別キーフレーム画像44aおよび視点別差分フレーム画像44bが時系列において非同期となるよう配列されている。例えば、図10に示すように、視点a~視点dの映像ストリーム44において、各視点a~dの視点別キーフレーム画像KF002a,KF002b,KF002c,KF002dは、中間キーフレーム画像KF002から生成された画像であるが、視点aキーフレーム画像KF002aに対して、視点bキーフレーム画像KF002bは4フレーム分遅延するように配列されており、視点cキーフレーム画像KF002cは9フレーム分遅延するように配列されており、視点dキーフレーム画像KF002dは14フレーム分遅延するように配列されている。上記のように視点ごとに映像ストリーム44が互いに非同期となるよう、例えば視点bの映像ストリーム44においては、1フレームから4フレームに亘って視点bキーフレーム画像KF001b(先頭の視点別キーフレーム画像44a)を連続的に配列している。
 次に、ユーザ端末14に対する配信処理(s30)を説明する。
 配信処理(s30)に先立って、サーバ12は、不図示のシグナリングサーバ12によって、ユーザ端末14との間でpeer-to-peer接続が確立され、相互に通信可能となり、ユーザ端末14からのリクエスト(s40)を受信する(図11)。当該リクエストは、サーバ12に対して動画の配信をリクエストする情報であり、ユーザ端末14の視線情報が含まれている。視線情報は、ユーザの視線(ユーザ端末14に表示させるべき画像の中心)を指標する情報であって、ユーザ端末14のCPU26が角速度センサ22の出力信号に基づいて決定するロール角(α)、ピッチ角(β)、及びヨー角(γ)を含む。
 サーバ12は、ユーザ端末14からリクエストを受信すると、当該リクエストに含まれている視線情報とメモリに記憶されている複数の視点情報を比較し、視線情報と一致又は近似する視点情報に対応する映像ストリーム44をユーザ端末14に対して配信する。
 ユーザ端末14は、図11に示すように、映像ストリーム44を受信すると展開処理(s60)を行う。展開処理(s60)では、先ず、受信した映像ストリーム44に基づいて、展開用のキーフレーム画像および差分フレーム画像を生成する。展開用のキーフレーム画像の中央部分には、視点別キーフレーム画像44aにおける高画質部分の画素がそのまま配置される。当該高画質部分の周りには、視点別キーフレーム画像44aにおける低画質部分の画像が配置される。ここで、当該低画質部分の角画素については、そのまま配置するのではなく、上記の数式4を用いてφ’の位置を特定し、特定した位置に画素を配置する。このとき、φ’を含む円周C上には連続して画素が配置されないため、各画素間を補間する補間処理が行われる。当該補間処理は特に限定されないが、例えば、同一円周上にある画素と画素の間にそれぞれと近似した画素を配置する。当該展開用のキーフレーム画像と同様の処理により、展開用の差分フレーム画像が生成される。
 当該補間処理を経て展開用のキーフレーム画像および展開用の差分フレーム画像が生成されると、公知のパノラマ展開処理を用いて表示用のキーフレーム画像および表示用の差分フレーム画像が生成され、これらの画像に基づいて動画が生成され、ユーザ端末14に当該動画が表示される。
 ユーザ端末14に動画が表示(再生)されている間も、ユーザ端末14は、そのCPU26が角速度センサ22の出力を確認することにより、ユーザの視線を監視し、視線の変化量に合わせて動画の表示座標をシフトさせる。また、ユーザ端末14は、視線情報を更新し、当該視線情報をサーバ12へと送信する。
 サーバ12は、視線情報を受信する度に、時系列においてキーフレームが近くに配置されている映像ストリーム44の視点情報を抽出し、受信した視線情報と抽出した視点情報とを比較して、最も近似する視点を検索し、近似する視点に対応する映像ストリーム44をユーザ端末14に送信する。
 ここで、ユーザの視線が視線aから視線fに変化する間、具体的には、ユーザの端末操作によりユーザ端末14の姿勢が変化し、当該姿勢の変化に基づいて検出されたユーザの視線が視点aから視点fに変化する間には下記のようにして映像ストリーム44が配信される。
 サーバ12は、ユーザ端末14から視線情報を受信すると、その受信した時点との関係で視点別キーフレーム画像44aが時系列において近いタイミングに配置されている映像ストリーム44を検索する。具体的には、メモリ38に記憶されている映像ストリーム44の各々は、上記の通り、時系列において互いに非同期となるように生成されているので、映像ストリーム44における視点別キーフレーム画像44aの配置位置(配置タイミング)が、複数の映像ストリーム44において互いに異なっている。サーバ12のCPU12は、各映像ストリーム44におけるキーフレーム周期(60フレーム)と、各映像ストリーム44に設定されている遅延分に基づいて、キーフレーム画像の配置位置(配置タイミング)を算出し、視線情報を受信した時点において配信しているフレーム画像(ユーザ端末14において再生されているフレーム画像)と、最も近いタイミングに視点別キーフレーム画像44aを有する映像ストリーム44を検索する。
 そして、検索された映像ストリーム44に対応する視点情報が、変化前の視点(視点a)よりも変化後の視点(視点f)に位置的に近いか否かを判定する。
 例えば、視点別キーフレーム画像44aを検索した結果、視点cの視点別キーフレーム画像44aが時系列において近いと判定された場合には、視点cは視点aよりも視点fに位置的に近いため、視点cの映像ストリーム44がユーザ端末14に配信される。
 一方、視点別キーフレーム画像44aを検索した結果、視点gの視点別キーフレーム画像44aが時系列において近いタイミングに配置されていると判定された場合であっても、視点gは視点aよりも視点fに位置的に遠いため、視点aの映像ストリーム44がユーザ端末14に配信される。
 本実施形態の動画配信システム1では、予め、複数の視点に対応した映像ストリーム44を生成しておくため、ユーザの視線が生じた場合でも、当該視線によって求められた視点に対応する映像ストリーム44を配信すればよいので、例え多数のユーザ端末14からのリクエストがあったとしてもサーバ12の負荷の増大を軽減することができる。
 また、ユーザ端末14の姿勢が変化したことに伴って、表示中の動画の表示座標がシフトされた結果、その画質が漸減したとしても、時系列および位置的に近い視点別キーフレーム画像44aを有する映像ストリーム44が配信されるので、表示中の画像の画質が著しく低下することを防止することができる。
[第2実施形態]
 上記第1実施形態では、サーバ12は、ユーザ端末14から受信した視線情報に基づいて、配信すべき映像ストリーム44を選択することとしているが、第2実施形態では、ユーザ端末14が、受信すべき映像ストリーム44を視線情報に基づいて選択し、選択した映像ストリーム44の配信をサーバ12に対してリクエストすることとしている。以下、第1実施形態と異なる構成やフローを中心に説明することとし、第1実施形態と共通する構成や方法については適宜省略して説明する。
 本実施形態は、第1実施形態と同様に、視点別に生成された映像ストリーム44が、視点識別情報に対応付けられて、サーバ12のメモリに記憶されているが、視点情報はサーバ12のメモリ12に記憶されていない点で異なっている。本実施形態では、視点情報の各々は、視点識別情報に対応づけられてユーザ端末14のメモリ24に記憶されている。
 また、本実施形態においても第1実施形態と同様に、視点別に生成された複数の映像ストリーム44中には視点別キーフレーム画像44aが含まれている。そして、これら複数の映像ストリーム44では、先頭の視点別キーフレーム画像44aがオフセットされていることにより、視点別キーフレーム画像44aは、時系列において互いに非同期となるように配置されている。本実施形態では、各視点の映像ストリーム44における視点別キーフレーム画像44aの配置タイミングがユーザ端末14のメモリ24に記憶されている。当該配置タイミングは、各視点の映像ストリーム44において、視点別キーフレーム画像44aがどのタイミング(フレーム)に配置されているかを示すものであり、代表的には、各映像ストリーム44における視点別キーフレーム画像44aのインターバル(配置周期)、及び各視点の映像ストリーム44における先頭の視点別キーフレーム画像44aのオフセット数(遅延させるフレームの数)である。本実施形態では、図4に示すように、60フレームごとに視点別キーフレーム画像が配置されているから、インターバルは“60”となる。また、図10に示すように、視点aの視点別キーフレーム画像44aはオフセットされていないので、視点aのオフセット数は“0”である。また、視点bの映像ストリーム44において先頭の視点別キーフレーム画像44aは4フレームのオフセットが設けられているから、視点bのオフセット数は“4”となる。同様に、視点cのオフセット数は“9”となり、視点dのオフセット数は“14”となる。このよう視点別に定義された配置タイミングが視点識別情報に対応づけて記憶されており、当該視点識別情報の各々は視点情報に対応づけて記憶されている。
 本実施形態のユーザ端末14は、上述したように、視線情報に基づいて、受信すべき視点の映像ストリーム44を決定し、決定した視点の映像ストリーム44の配信をサーバ12に対してリクエストする。具体的には、ユーザ端末14は、視線情報取得処理、リクエスト処理、及び表示処理を、この順に実行する。
(1)視線情報取得処理は、ユーザ端末14のCPU26が、角速度センサ22からの出力に基づいて視線情報を取得する処理であって、第1実施形態と同様に、ロール角(α)、ピッチ角(β)、及びヨー角(γ)を取得する。
(2)リクエスト処理は、上記の視線情報取得処理において取得した視線情報に近似する視点情報を抽出し、抽出した視点情報に対応する視点識別情報をサーバ12に送信する。サーバ12は、ユーザ端末14から視点識別情報を受信すると、視点識別情報に対応する映像ストリーム44を当該ユーザ端末14に対して配信する。
(3)表示処理は、サーバ12から映像ストリーム44を受信しながら、液晶ディスプレイ18に表示する処理である。
 上記のフローによって、初期段階における映像ストリーム44の配信およびその表示が実行される。
 上記のようにユーザ端末14のCPU26は、映像ストリーム44を表示させながら、ユーザがユーザ端末14を操作することによる視線変更に対応した映像ストリーム44を表示すべく、視線情報取得処理、決定処理、リクエスト処理、及び表示処理を、映像ストリーム44のフレームレートに同期して実行する。
(4)視線情報取得処理は、上記(1)の処理と同様であり、角速度センサー22の出力に基づいて視線情報(ロール角(α)、ピッチ角(β)、及びヨー角(γ))を取得する処理である。
(5)決定処理は、サーバ12に対してリクエストする映像ストリームを決定する処理であって、ユーザ端末14のCPU26は、時系列的に視点別キーフレーム画像44aが近くに配置されている視点識別情報を選択する。
(5-1)具体的には、再生中の映像ストリーム44におけるフレーム番号(以下、再生中フレーム番号)を特定する。例えば、視点aの映像ストリーム44を再生している場合において、100番目のフレーム画像を表示している場合には、フレーム番号が“100”であると特定する。
(5-2)次に、配置タイミングとして定められたインターバルおよびオフセットに基づいて、視点毎に視点別キーフレーム画像44aの配置位置を算出し、その中で特定したフレーム番号よりも後に配置され、且つ時系列において近いキーフレームの番号を抽出する。
 例えば、視点bの配置タイミングでは、インターバルが“60”であり、オフセットは“4”と定義づけられているため、視点bの第1の視点別キーフレーム画像44aの位置は“5”、第2の視点別キーフレーム画像44aの位置は“65”、第3の視点別キーフレーム画像44aの位置は“125”、第4の視点別キーフレーム画像44aの位置は“185”として求められる。そして、これらの視点別キーフレーム画像44aの位置を求める度に、特定されたフレーム番号“100”との差分を算出し、差分が最も少ない視点別キーフレーム画像44aの位置、具体的には第3の視点別キーフレーム画像の位置“124”が、特定されたフレーム番号“100”に近似するものとされる。
 視点c、d・・・についても同様に算出され、視点cについては第3の視点別キーフレーム画像の位置“129”が特定されたフレーム番号“100”に近似するものとされる。また、視点dについては第2の視点別キーフレーム画像の位置である“74”が最も近似するが、特定されたフレーム番号“100”よりも前に位置するので、次いで近似する第3の視点別キーフレーム画像の位置“134”が特定されたフレーム番号“100”に近似するものとされる。
 このように、視点ごとに近似する視点別キーフレーム画像44aの位置が算出されると、その中で、特定されたフレーム番号に最も近似する視点が選択される。上記の例では、特定されたフレーム番号“100”に近似する視点bが選択される。
(5-3)視点別キーフレーム画像44aが最も近い視点(上記の例では視点b)が選択されると、当該視点(視点b)と視線情報の距離が算出される。また、再生中の視点(視点a)と視線情報の距離が算出される。そして、これら2つの距離のうち短い方の視点が再生すべき視点として決定され、当該視点に対応する視点識別情報が抽出される。すなわち、現在再生中の視点(視点a)が視線情報に近似している場合には、現在再生中の視点(視点a)が継続してリクエストされる。一方で、現在再生中のフレームに近いタイミングに視点別キーフレームが配置されている視点(視点b)と視線情報のほうが現在再生中の視点(視点a)よりも座標的に近い場合には当該視点(視点b)の映像ストリーム44が新たにリクエストされる。
(6)リクエスト処理において、当該視点識別情報と特定されたフレーム番号がサーバ12に送信される。サーバ12は、視点識別情報およびフレーム番号を受信すると、当該視点識別情報に対応し、且つ特定されたフレーム番号に相当するフレーム画像を起点とした映像ストリーム44をユーザ端末14に送信する。
(7)ユーザ端末14は、受信した映像ストリーム44を、視線情報に応じた位置を液晶ディスプレイ18の中心に表示させる。
[第3実施形態]
 上記の第1実施形態および第2実施形態のユーザ端末14は、サーバ12から配信される映像ストリーム44を受信しながら再生する再生態様であるが、当該再生態様に限られない。第3実施形態は、サーバ12を備えておらず、視点別に生成された映像ストリーム44が、視点情報に対応づけられてユーザ端末14のメモリ24に記憶されている。また、これら複数の映像ストリーム44は、第1実施形態および第2実施形態と同様に、先頭の視点別キーフレーム画像44aがオフセットされていることにより、視点別キーフレーム画像44aは、時系列において互いに非同期となるように配置されている。そして、各視点の映像ストリーム44における視点別キーフレーム画像44aの配置タイミングがユーザ端末14のメモリ24に記憶されている。
 このような本実施形態では、ユーザ端末14において、視線情報取得処理、及び再生処理が、この順に実行される。
(1)視線情報取得処理は、ユーザ端末14のCPU26が、角速度センサ22からの出力に基づいて視線情報を取得する処理であって、第1実施形態や第2実施形態と同様に、ロール角(α)、ピッチ角(β)、及びヨー角(γ)を取得する。
(2)再生処理は、上記の視線情報取得処理において取得した視線情報に値が近似する視点情報を抽出し、抽出した視点情報に対応する映像ストリーム44を再生する。
 上記のようにユーザ端末14のCPU26は、映像ストリーム44を再生させながら、ユーザがユーザ端末14を操作することによる視線変更に対応した映像ストリーム44を再生すべく、視線情報取得処理、及び再生処理を、映像ストリーム44のフレームレートに同期して実行する。
(4)視線情報取得処理は、上記(1)の処理と同様であり、角速度センサー22の出力に基づいて視線情報(ロール角(α)、ピッチ角(β)、及びヨー角(γ))を取得する処理である。
(5)再生処理は、再生すべき映像ストリーム44を決定して再生する処理であって、ユーザ端末14のCPU26は、再生している時点において時系列的に視点別キーフレーム画像44aが近くに配置されている視点情報を選択するとともに、当該選択した視点情報と上記(4)において取得した視線情報に基づいて再生すべき映像ストリーム44を選択することとしている。
(5-1)具体的には、再生中の映像ストリーム44におけるフレーム番号(以下、再生中フレーム番号)を特定する。
(5-2)次に、メモリ24に記憶されている視点別の映像ストリーム44の各々について、視点別キーフレーム画像44aの配置位置を配置タイミングに基づいて算出する。そして、算出されたキーフレーム画像の配置位置までのフレーム数を、視点別の映像ストリーム44の各々について算出する。すなわち、再生中フレーム番号からキーフレーム画像の配置位置までのフレーム数をカウントし、カウント値が最も少ないキーフレーム画像がある視点別の映像ストリーム44を特定し、当該視点別の映像ストリーム44に対応する視点情報が抽出される。
(5-3)次に、抽出した視点情報と上記(4)で取得した視線情報の距離が算出される。また、再生中の映像ストリーム44の視点情報と視線情報の距離が算出される。そして、これら2つの距離のうち短い方の視点が再生すべき視点として決定され、当該視点に対応する映像ストリーム44が再生される。
 すなわち、現在再生中の映像ストリーム44の視点情報がユーザの視線情報に近似している場合には、現在再生中の映像ストリーム44が継続して再生される。一方で、現在再生中のフレームに近いタイミングに視点別キーフレーム画像44aが配置されている視点情報のほうが現在再生中の視点情報よりもユーザの視線情報に座標的に近い場合には、当該視点情報の映像ストリーム44が新たに再生される。
 本発明は上記の実施形態に限定されず、下記のような形態であっても構わない。
<変形例1>
 上記実施形態では、カメラ10によって撮像された一群の半天球画像に基づいて視点別の映像ストリーム44を生成することとしていたが、カメラ10によって撮像された一群の全天球画像に基づいて視点別の映像ストリームを生成しても構わない。また、半天球や全天球に限定されず、画角が45度のカメラ10を観測点として眺めた半径無限大の仮想の球面であってもかまわない。このように、本発明はカメラ10によって撮像された一群の天球の画像に基づいて視点別の映像ストリームを生成するものであればよい。
<変形例2>
 上記実施形態では、実世界を撮像するカメラ10を用いていたが、仮想世界を撮像するカメラであっても構わない。
<変形例3>
 上記実施形態において、サーバ12の取得処理や生成処理は必須の処理ではなく、ユーザ端末14への配信に先立って、複数の視点に対応づけて映像ストリーム44を予め準備し、メモリ38に記憶させても構わない。
<変形例4>
 上記実施形態では、映像ストリーム44は、各視点間において視点別キーフレーム画像44aが時系列において非同期となるよう配列されているが、例えば、映像ストリームの先頭に複数のブランク画像など、視点別キーフレーム画像や視点別差分フレームと関連しない画像を連続して配列することで非同期とさせても構わない。また、各視点間の映像ストリームにおいて視点別キーフレーム画像の配列間隔が異なるように構成しても構わない。例えば、視点aの視点別キーフレーム画像が60フレーム毎に配置されるのに対し、視点bの視点別キーフレーム画像は55フレーム毎、視点cの視点別キーフレーム画像は50フレーム毎、視点dの視点別キーフレーム画像は45フレーム毎に配列することで時系列において非同期とすることができる。
<変形例5>
 上記第2実施形態では、キーフレームのインターバルが一定であったため、当該インターバル値と、オフセット値によって配列リストが定義づけられているが、このような態様には限定されない。例えば、キーフレームのインターバルがランダムである場合には、各映像ストリームにおけるキーフレームの位置(番号)リストを視点識別情報に対応づけて記憶しても構わない。
<変形例6>
 上記実施形態では、ユーザがユーザ端末14を操作したことによる視線の変化時において、時系列において最も近くのタイミングに視点別キーフレーム画像44aを含んでいる映像ストリーム44が、配信対象または再生対象として選択されるように構成されているが、最も近くのタイミングに限られず、近くのタイミングに視点別キーフレーム画像44aを含んでいる映像ストリーム44が選択されても構わない。
 ここで「近くのタイミング」とは、配信中または再生中の映像ストリーム44の視点に位置的に最も近い視点の映像ストリーム44(最近傍視点の映像ストリーム44)に着目し、配信タイミング(再生タイミング)から当該最近傍視点の映像ストリーム44のキーフレーム画像までのフレームカウント数を基準として、当該基準となるフレームカウント数よりも少ないことを言う。すなわち、視点別の映像ストリーム44の各々において、視点別キーフレーム画像44aの配置位置(配置タイミング)を算出し、配信タイミング(再生タイミング)の前後における視点別キーフレーム画像44aの配置位置(配置タイミング)が基準よりも少ない場合には、時系列において近くのタイミングに視点別キーフレーム画像44aを含む映像ストリーム44として選択され、選択された映像ストリーム44aの視点情報と変化後の視線情報とが比較される。
 なお、上記基準となるフレームカウント数は、ネットワーク環境に起因して生じる配信の遅延を考慮したフレーム数を差し引いたフレームカウント数であっても構わない。
1 … 動画配信システム
10 … カメラ
12 … サーバ
14 … ユーザ端末
28 … イメージセンサ(撮像部)
30 … CPU
34 … メモリ
38 … メモリ
40 … CPU

 

Claims (11)

  1.  カメラを観測点とする天球に定められた複数の視点ごとに、当該天球を含む映像ストリームを記憶させるステップ、
     ユーザの端末に対して前記映像ストリームを配信させる配信ステップ、
    を含み、
     前記配信ステップは、
      前記ユーザの端末で決定された視線に対応する前記天球における最近傍の視点以外の前記視点の映像ストリームを配信させることを特徴とする、動画配信方法。
  2.  前記映像ストリームは、キーフレーム画像と差分フレーム画像を含み、
     一の視点のキーフレーム画像と、他の視点のキーフレーム画像は時系列において非同期であることを特徴とする、請求項1に記載の動画配信方法。
  3.  前記配信ステップは、
      前記視線の変化時において、前記キーフレーム画像が時系列において近くに配列されている視点の映像ストリームを前記最近傍の視点以外の視点の映像ストリームとすることを特徴とする、請求項2に記載の動画配信方法。
  4.  前記他の視点の映像ストリームは、連続する複数のキーフレーム画像が配列されていることを特徴とする、請求項2または請求項3に記載の動画配信方法。
  5.  前記他の視点の映像ストリームでは、第1キーフレーム画像が、前記一の視点の映像ストリームにおける第1キーフレーム画像よりも遅延するように配列されていることを特徴とする、請求項2または請求項3に記載の動画配信方法。
  6.  前記他の視点の映像ストリームは、前記キーフレーム画像の配列間隔が前記一の視点の映像ストリームにおけるキーフレーム画像の配列間隔と異なることを特徴とする、請求項2または請求項3に記載の動画配信方法。
  7.  カメラを観測点とする天球に定められた複数の視点ごとに、当該天球を含む映像ストリームを記憶する記憶部と、
     ユーザの端末に対して前記映像ストリームを配信する配信部と、
    を備え、
     前記配信部は、
      前記ユーザの端末で決定された視線に対応する前記天球における最近傍の視点以外の前記視点の映像ストリームを配信することを特徴とする、動画配信装置。
  8.  カメラを観測点とする天球に定められた複数の視点ごとに、当該天球を含む映像ストリームを記憶させるステップ、
     ユーザの端末において前記映像ストリームを再生する再生ステップ、
    を含み、
     前記再生ステップは、
      前記ユーザの端末で決定された視線に対応する前記天球における最近傍の視点以外の前記視点の映像ストリームを再生することを特徴とする、動画再生方法。
  9.  特定の観測点から向けられた視線上にある画像を中心部に含み、当該中心部の外側に、当該観測点から撮影された天球の画像を含む映像ストリームを備え、
     前記映像ストリームは、
      特定の観測点から向けられた第一の視線上にある視点の画像を中心部に含む第一の映像ストリームと、
      前記観測点から向けられた第二の視線上にある視点の画像を中心部に含む第二の映像ストリームと、
    を含む、配信データ構造。
  10.  前記第一の映像ストリームと前記第二の映像ストリームの各々はキーフレームを含み、
     前記第一の映像ストリームのキーフレームと、前記第二の映像ストリームのキーフレームは、時系列において非同期であることを特徴とする配信データ構造。
  11.  前記第一の映像ストリームにおけるキーフレームのタイミング情報と、
     前記第二の映像ストリームにおけるキーフレームのタイミング情報を、
    を含む、配信データ構造。

     
PCT/JP2021/007303 2020-02-29 2021-02-26 動画配信方法、動画再生方法、動画配信装置、及び配信データ構造 WO2021172506A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2022503743A JPWO2021172506A1 (ja) 2020-02-29 2021-02-26
CN202180004347.1A CN114207562A (zh) 2020-02-29 2021-02-26 运动图像分发方法、运动图像再现方法、运动图像分发装置以及分发数据结构
EP21761863.6A EP4124022A4 (en) 2020-02-29 2021-02-26 VIDEO DISTRIBUTION METHOD, VIDEO PLAYBACK METHOD, VIDEO DISTRIBUTION DEVICE AND DISTRIBUTION DATA STRUCTURE
US17/623,362 US20220368957A1 (en) 2020-02-29 2021-02-26 Moving image distribution method, moving image reproduction method, moving image distribution apparatus, and distribution data structure

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020034530 2020-02-29
JP2020-034530 2020-02-29

Publications (1)

Publication Number Publication Date
WO2021172506A1 true WO2021172506A1 (ja) 2021-09-02

Family

ID=77491288

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/007303 WO2021172506A1 (ja) 2020-02-29 2021-02-26 動画配信方法、動画再生方法、動画配信装置、及び配信データ構造

Country Status (5)

Country Link
US (1) US20220368957A1 (ja)
EP (1) EP4124022A4 (ja)
JP (1) JPWO2021172506A1 (ja)
CN (1) CN114207562A (ja)
WO (1) WO2021172506A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6149967B2 (ja) 1981-05-29 1986-10-31 Mitsubishi Electric Corp
JP2008252832A (ja) * 2007-03-30 2008-10-16 Sharp Corp 受信装置、データストリーム出力装置、放送システム、受信装置の制御方法、データストリーム出力装置の制御方法、制御プログラムおよび記録媒体
JP2017135464A (ja) * 2016-01-25 2017-08-03 キヤノン株式会社 映像送信装置、映像送信システム、映像送信方法、及びプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001025023A (ja) * 1999-07-09 2001-01-26 Nippon Telegr & Teleph Corp <Ntt> 映像ストリーム配信方法、配信システムならびに該方法のプログラムを記録した記録媒体
JP4561475B2 (ja) * 2005-05-24 2010-10-13 カシオ計算機株式会社 デジタルカメラ装置およびそのプログラム
JP2009100411A (ja) * 2007-10-19 2009-05-07 Hitachi Ltd 映像配信システム、映像中継装置、及び映像中継方法
JP5920708B2 (ja) * 2012-02-29 2016-05-18 国立大学法人名古屋大学 多視点映像ストリーム視聴システムおよび方法
DE112014007242T5 (de) * 2014-12-12 2017-09-28 Mitsubishi Electric Corporation Informationsverarbeitungsvorrichtung; wiedergabeverfahren für bewegte bilder und wiedergabeprogramm für bewegte bilder
WO2016140083A1 (ja) * 2015-03-05 2016-09-09 ソニー株式会社 画像処理装置および画像処理方法
US10977764B2 (en) * 2015-12-29 2021-04-13 Dolby Laboratories Licensing Corporation Viewport independent image coding and rendering
JP6149967B1 (ja) * 2016-03-28 2017-06-21 大日本印刷株式会社 動画配信サーバ、動画出力装置、動画配信システム、及び動画配信方法
US10620441B2 (en) * 2016-12-14 2020-04-14 Qualcomm Incorporated Viewport-aware quality metric for 360-degree video
JP6472864B1 (ja) * 2017-11-29 2019-02-20 株式会社近江デジタルファブリケーションズ 画像配信システム、及び配信画像生成方法
JP2019164782A (ja) * 2018-03-15 2019-09-26 株式会社リコー 画像処理装置、撮影システム、画像処理方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6149967B2 (ja) 1981-05-29 1986-10-31 Mitsubishi Electric Corp
JP2008252832A (ja) * 2007-03-30 2008-10-16 Sharp Corp 受信装置、データストリーム出力装置、放送システム、受信装置の制御方法、データストリーム出力装置の制御方法、制御プログラムおよび記録媒体
JP2017135464A (ja) * 2016-01-25 2017-08-03 キヤノン株式会社 映像送信装置、映像送信システム、映像送信方法、及びプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MIKAMI, DAN ET AL.: "Video and acoustic technology to excite high realistic sensation observation", NTT TECHNICAL JOURNAL, vol. 27, no. 2, 1 February 2015 (2015-02-01), pages 31 - 35, XP009534079, ISSN: 0915-2318 *
See also references of EP4124022A4

Also Published As

Publication number Publication date
US20220368957A1 (en) 2022-11-17
CN114207562A (zh) 2022-03-18
EP4124022A1 (en) 2023-01-25
EP4124022A4 (en) 2024-03-06
JPWO2021172506A1 (ja) 2021-09-02

Similar Documents

Publication Publication Date Title
US11032588B2 (en) Method and apparatus for spatial enhanced adaptive bitrate live streaming for 360 degree video playback
JP4148671B2 (ja) 表示画像制御処理装置、動画像情報送受信システム、および表示画像制御処理方法、動画像情報送受信方法、並びにコンピュータ・プログラム
CN109691084A (zh) 信息处理装置和方法以及程序
JP4218022B2 (ja) 合成画像を生成する方法
WO2020181104A1 (en) Method, apparatus, medium, and server for generating multi-angle free-perspective video data
US20200329266A1 (en) Information processing apparatus, method for processing information, and storage medium
JP5732129B2 (ja) 拡大表示ナビゲーション
US7535497B2 (en) Generation of static image data from multiple image data
US11290752B2 (en) Method and apparatus for providing free viewpoint video
CN114745534A (zh) 再现装置、图像再现方法及计算机可读介质
WO2020093862A1 (zh) 一种vr视频处理的方法及相关装置
WO2021172506A1 (ja) 動画配信方法、動画再生方法、動画配信装置、及び配信データ構造
US20100302403A1 (en) Generating Images With Different Fields Of View
JPWO2020032113A1 (ja) 画像処理装置、3dデータ生成装置、制御プログラム及び記録媒体
KR20040006612A (ko) 비디오 지리 정보 시스템
KR20180028313A (ko) 360도 영상 재생장치
US20200226716A1 (en) Network-based image processing apparatus and method
JP6623905B2 (ja) サーバ装置、情報処理方法およびプログラム
CN107835434B (zh) 赛事宽视角直播设备和相关联的直播系统和方法
JP7319340B2 (ja) 配信サーバ、配信方法及びプログラム
JP6970143B2 (ja) 配信サーバ、配信方法及びプログラム
US20230300309A1 (en) Information processing device, information processing method, and information processing system
JP2009081596A (ja) 画像処理装置および画像処理方法
JP2008158693A (ja) 画像処理システム及び画像処理プログラム
WO2024084943A1 (ja) 情報処理装置、情報処理方法、プログラム

Legal Events

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

Ref document number: 21761863

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022503743

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2021761863

Country of ref document: EP

Effective date: 20220929

NENP Non-entry into the national phase

Ref country code: DE