WO2019117629A1 - 뷰포트 정보를 이용한 가상 현실 비디오 스트리밍 - Google Patents

뷰포트 정보를 이용한 가상 현실 비디오 스트리밍 Download PDF

Info

Publication number
WO2019117629A1
WO2019117629A1 PCT/KR2018/015795 KR2018015795W WO2019117629A1 WO 2019117629 A1 WO2019117629 A1 WO 2019117629A1 KR 2018015795 W KR2018015795 W KR 2018015795W WO 2019117629 A1 WO2019117629 A1 WO 2019117629A1
Authority
WO
WIPO (PCT)
Prior art keywords
video data
viewport
information
tile
image
Prior art date
Application number
PCT/KR2018/015795
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
Priority claimed from KR1020170170823A external-priority patent/KR101898822B1/ko
Priority claimed from KR1020170170985A external-priority patent/KR101941789B1/ko
Application filed by 가천대학교 산학협력단 filed Critical 가천대학교 산학협력단
Publication of WO2019117629A1 publication Critical patent/WO2019117629A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/194Transmission of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • H04N13/383Image reproducers using viewer tracking for tracking with gaze detection, i.e. detecting the lines of sight of the viewer's eyes
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • 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

Definitions

  • This specification relates to streaming virtual reality video using viewport information.
  • HMD head-mounted display
  • Cloud-based game streaming is also becoming widespread, with major operations related to the game being handled on the server, and client accessing the server and receiving game screens to enjoy the game.
  • This technology has the advantage of being able to enjoy high-end games without restrictions on the computational performance of the client.
  • the difficulty with content using head-mounted imaging devices is that the number of video pixels that contain the entire 360-degree image, which is very visible to the user, must be very high. Therefore, there is a need to use UHD-class images as contents. In this case, there is a problem that it is difficult to secure a bandwidth between a plurality of user terminals and a problem that it is difficult to quickly respond to a head movement of a user due to a large amount of video data to be processed . Cloud game contents are delayed in the process of encoding / decoding or transmission due to the nature of contents, so it is necessary to reduce the required bandwidth and obtain an immediate response.
  • the tiles are transmitted individually or as a subset by restricting motion prediction and compensation (MCTS), which is a set of motion constrained tiles.
  • MCTS motion prediction and compensation
  • the present specification discloses a video transmission method of a video transmission apparatus.
  • the method comprising: generating video data including basic quality video data and high-definition video data for a virtual reality space; Generating signaling data based at least in part on information about a current viewport and information about a prediction viewport that the user expects to see; and transmitting the bitstream including the video data and the signaling data And transmit the high-definition video data to an area corresponding to the current viewport and the prediction viewport.
  • the method and other embodiments may include the following features.
  • the high definition video data is divided into at least one tile and the signaling data may include tile information identifying the at least one tile included in the current viewport and the predictive viewport.
  • the operation of transmitting the high-definition video data with respect to the area corresponding to the current viewport and the predictive viewport may include determining whether a bandwidth of the communication line transmitting the video data is sufficient to transmit all of the high- And transmitting the high-definition video data for at least a portion of the at least one tile within an allowable range of the bandwidth in order of high-priority tile to low-tile if the bandwidth is determined to be insufficient Operation.
  • the priority may be determined according to a distance from the user to an object in the tile, and a higher priority may be given to the tile including the object as the object is closer to the user.
  • the priority is determined according to the area ratio of the tiles included in the viewports, and the higher the area ratio, the higher the priority can be given.
  • the operation of transmitting the high-definition video data with respect to the area corresponding to the current viewport and the predictive viewport may be such that an area ratio included in the viewport among the tiles included in the viewport is equal to or smaller than a specific value And transmitting the high definition video data for a large tile.
  • the signaling data may be generated based on image configuration information
  • the image configuration information may include gaze information indicating a viewport of the user and zoom area information indicating a viewing angle of the user in the virtual reality space have.
  • the signaling data may include at least one of a High-Level Syntax Protocol, a Supplement Enhancement Information (SEI), a Video Usability Information (VUI), a Slice Header, File through at least one of them.
  • SEI Supplement Enhancement Information
  • VUI Video Usability Information
  • the predictive viewport may be determined based at least in part on the information about the current viewport and the content of the virtual reality content.
  • the basic picture quality data may include base layer video data
  • the high picture quality video data may include base layer video data and enhancement layer video data.
  • the present specification discloses a video receiving method of a video receiving apparatus.
  • the method comprising: receiving a bitstream including video data and signaling data for a virtual reality space; decoding the base-quality video data based on the video data; And decoding the high definition video data based on the video data and the signaling data, wherein the signaling data includes a current viewport for the area the user is viewing within the virtual reality space, Wherein the high-definition video data includes video data corresponding to the current viewport and the predictive viewport.
  • the method and other embodiments may include the following features.
  • the high definition video data is divided into at least one tile and the signaling data may include tile information identifying the at least one tile included in the current viewport and the predictive viewport.
  • the base picture quality video data includes base layer video data
  • the high picture quality video data includes base layer video data and enhancement layer video data
  • the operation further comprises: generating up-sampled base layer video data for a tile in which the high quality video data is not received among the tiles included in the viewport, and generating the base layer video data, the enhancement layer video data, And decoding the video to be output to the user based at least in part on the sampled base layer video data.
  • the signaling data may be generated based on image configuration information
  • the image configuration information may include gaze information indicating a viewport of the user and zoom area information indicating a viewing angle of the user in the virtual reality space have.
  • the signaling data may include at least one of a High-Level Syntax Protocol, a Supplement Enhancement Information (SEI), a Video Usability Information (VUI), a Slice Header, File through at least one of them.
  • SEI Supplement Enhancement Information
  • VUI Video Usability Information
  • the present specification discloses an image transmission apparatus.
  • the image transmission apparatus includes an encoder for generating video data including basic image quality data and high image quality video data for a virtual reality space, information about a current viewport the user is looking at in the virtual reality space, A multiplexer for generating a bitstream including the video data and the signaling data, and a communication unit for transmitting the bitstream, wherein the signaling unit generates signaling data based at least in part on information about a predicted viewport expected to be transmitted ,
  • the video data may include basic picture quality video data for the entire area of the virtual reality space and high-quality video data for the area corresponding to the current viewport and the prediction viewport.
  • the apparatus and other embodiments may include the following features.
  • the high definition video data is divided into at least one tile and the signaling data may include tile information identifying the at least one tile included in the current viewport and the predictive viewport.
  • the control unit may further include a control unit for determining a state of a bandwidth of a communication line for transmitting the video data. When the bandwidth is determined to be not sufficient to transmit all the high-definition video data, And transmit the high definition video data for at least a portion of the at least one tile within an acceptable range of the bandwidth in the order of tile to low tile.
  • control unit may assign a higher priority to the tile including the object as the object in the tile is closer to the user.
  • control unit may assign a higher priority to the viewport as the area ratio of the tiles included in the viewport increases.
  • the basic picture quality data may include base layer video data
  • the high picture quality video data may include base layer video data and enhancement layer video data.
  • the present specification discloses another image transmission method of the image transmission apparatus.
  • the method comprising the steps of: generating video data relating to at least two or more image qualities for a virtual reality space, generating a user's current region of interest or prediction interest within the virtual reality space, Generating signaling information based at least in part on information about a region of interest that includes the region and transmitting video stream information including the video data and the signaling information,
  • the video data related to the video data related to the region of interest and the video data related to the region of interest may be different from each other.
  • the transmission bandwidth can be secured by transmitting only the area corresponding to the viewport as the high-definition video data and transmitting the other area as the basic-quality video data.
  • the video corresponding to the current viewport and the predictive viewport is transmitted in high picture quality, and even if there is a problem of lack of bandwidth during transmission of video data, tiles to be transmitted are selected according to priority, Since the video data to be transmitted can be adjusted according to the bandwidth situation, the video data can be transmitted adaptively to the bandwidth.
  • FIG. 1 illustrates an exemplary virtual reality system for providing a virtual reality image.
  • FIG. 2 is a diagram illustrating an exemplary scalable video coding service.
  • FIG. 3 is a block diagram illustrating an exemplary configuration of a server device.
  • FIG. 4 is a block diagram illustrating an exemplary configuration of an encoder of a server device.
  • FIG. 5 is a diagram illustrating an exemplary method of signaling a region of interest.
  • Figure 6 is a block diagram illustrating an exemplary configuration of a client device.
  • FIG. 7 is a block diagram illustrating an exemplary configuration of a control unit of a client device.
  • FIG. 8 is a block diagram illustrating an exemplary configuration of a decoder of a client device.
  • FIG. 9 is a block diagram of an exemplary video transmission apparatus for a video streaming service.
  • 10 is an exemplary diagram illustrating signaling of a prediction viewport and object distance information.
  • FIG. 11 is an illustration of an example of scalable video coding based streaming in which the current viewport and predicted viewport can be prefetched to reduce bandwidth.
  • FIG. 12 is a diagram illustrating an example of high-quality game streaming based on viewport prediction technology according to the distance from a user to an object in the image.
  • FIG. 13 is a diagram illustrating an exemplary image transmission method in a video server for a video streaming service.
  • FIG. 14 is a diagram illustrating an exemplary image receiving method in a client device for a video streaming service.
  • 15 is a diagram illustrating a method of transmitting a tile by setting a priority based on a ratio of tiles included in a viewport.
  • Figure 16 is an illustration of tile transmission according to the minimum percentage of tiles included in the viewport.
  • 17 is a diagram showing another example of an exemplary image transmission method in a video server for a video streaming service.
  • FIG. 18 shows an example of a method of receiving an image according to priority based on the area ratio of tiles included in the viewport.
  • FIG. 19 shows an example of a video receiving method according to a specific area ratio.
  • 20 is a diagram showing an exemplary SEI payload syntax proposed in the signaling of a prediction viewport and object distance information.
  • FIG. 21 is a view showing a viewport signaling system standard according to an exemplary video picture.
  • 22 is a diagram showing exemplary signal system specifications for an exemplary file, chunk, and video picture group.
  • FIG. 23 is a diagram illustrating exemplary tile information syntax expressed in XML form.
  • FIG. 24 exemplarily shows tile information transmitted in a signal transmission system.
  • Figure 25 illustrates an exemplary OMAF syntax.
  • 26 is a diagram illustrating an exemplary tile information syntax expressed in XML form.
  • the techniques disclosed herein can be applied to a virtual reality system that provides cloud-based video streaming.
  • the technology disclosed in this specification is not limited thereto, and can be applied to all electronic devices and methods to which the technical idea of the above-described technology can be applied.
  • first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.
  • FIG. 1 illustrates an exemplary virtual reality system for providing a virtual reality image.
  • the virtual reality system includes a virtual reality image generation device that generates a virtual reality image, a server device that encodes and transmits the input virtual reality image, and one or more client devices that decode the transmitted virtual reality image and output the decoded virtual reality image to a user .
  • an exemplary virtual reality system 100 includes a virtual reality image generation device 110, a server device 120, and one or more client devices 130, Are not limited to these numbers.
  • the virtual reality system 100 may also be referred to as a 360 degree image providing system.
  • the virtual reality image generating apparatus 110 may include one or more camera modules and generate a spatial image by photographing an image of a space in which the virtual reality image generating apparatus 110 is located.
  • the server device 120 generates a 360-degree image by stitching, projecting, and mapping spatial images generated and input in the virtual reality image generating apparatus 110, A 360-degree image can be encoded with video data of a desired quality and then encoded.
  • the server device 120 may transmit the bitstream including the video data and the signaling data for the encoded 360-degree image to the client device 130 through the network (communication network).
  • the client device 130 may decode the received bit stream and output a 360-degree image to a user wearing the client device 130.
  • the client device 130 may be a near-eye display device such as a head-mounted display (HMD).
  • HMD head-mounted display
  • the virtual reality image generating apparatus 110 may be configured as a computer system to generate an image of a virtual 360-degree space implemented by computer graphics.
  • the virtual reality image generating apparatus 110 may be a provider of virtual reality contents such as a virtual reality game.
  • the client device 130 may obtain user data from a user using the client device 130.
  • the user data may include user's image data, voice data, viewport data (sight line data), region of interest data, and additional data.
  • the client device 130 may include at least one of a 2D / 3D camera and an Immersive camera for acquiring image data of a user.
  • the 2D / 3D camera can shoot an image having a viewing angle of 180 degrees or less.
  • Immersive cameras can capture images with a viewing angle of 360 degrees or less.
  • the client device 130 may include a first client device 131 that obtains user data of a first user located at a first location, a second client device 130 that obtains user data of a second user located at a second location, A second client device 133, and a third client device 135 that obtains user data of a third user located at a third location.
  • Each client device 130 may transmit user data obtained from the user to the server device 120 via the network.
  • Server device 120 may receive at least one user data from client device 130.
  • the server device 120 can generate a full image of the virtual reality space based on the received user data.
  • the entire image generated by the server device 120 may represent an immersive image providing a 360-degree image in the virtual reality space.
  • the server device 120 may generate the entire image by mapping the image data included in the user data to the virtual reality space.
  • the server device 120 may transmit the generated whole image to each user.
  • Each client device 130 may receive the entire image and render and / or display only the area that each user views in the virtual reality space.
  • FIG. 2 is a diagram illustrating an exemplary scalable video coding service.
  • Scalable video coding service is an image compression method for providing various services in a scalable manner in terms of temporal, spatial, and image quality according to various user environments such as a network situation or a terminal resolution in various multimedia environments.
  • Scalable video coding services generally provide scalability in terms of spatial resolution, quality, and temporal aspects.
  • Spatial scalability can be provided by encoding the same image with different resolution for each layer. It is possible to adaptively provide image contents to devices having various resolutions such as a digital TV, a notebook, and a smart phone using spatial hierarchy.
  • a scalable video coding service can support one or more TVs having different characteristics from a video service provider (VSP) through a home gateway in the home.
  • VSP video service provider
  • the scalable video coding service can simultaneously support HDTV (High-Definition TV), SDTV (Standard-Definition TV), and LDTV (Low-Definition TV) having different resolutions.
  • Temporal scalability can adaptively adjust the frame rate of an image in consideration of the network environment in which the content is transmitted or the performance of the terminal. For example, when a local area network is used, a service is provided at a high frame rate of 60 frames per second (FPS). When a wireless broadband communication network such as a 3G mobile network having a relatively slower transmission rate than the local area network is used By providing contents at a low frame rate of 16 FPS, a service can be provided so that the user can receive images without interruption. However, if a high-speed wireless broadband communication network such as a 5G mobile network is used, the service can be provided at a high frame rate of 60 FPS.
  • FPS frames per second
  • the scalable video coding service may each include a base layer and one or more enhancement layers (s).
  • the receiver provides a normal image quality when receiving only the base layer, and can provide a high image quality when the base layer and the enhancement layer are received together.
  • the more the enhancement layer for example, enhancement layer 1, enhancement layer 2, ..., enhancement layer n
  • Is better when there is a base layer and more than one enhancement layer, the more the enhancement layer (for example, enhancement layer 1, enhancement layer 2, ..., enhancement layer n) is received while receiving the base layer, Is better.
  • the receiver can quickly receive the base layer data with a small capacity and quickly process and reproduce the image of general image quality, The service quality can be improved.
  • FIG. 3 is a diagram showing an exemplary configuration of a server device.
  • the server device 300 may include a control unit 310 and / or a communication unit 320.
  • the controller 310 may generate a full image of the virtual reality space and encode the entire image.
  • the control unit 310 can control all the operations of the server device 300. Details will be described below.
  • the communication unit 320 may transmit and / or receive data to an external device and / or a client device.
  • the communication unit 320 may receive user data and / or signaling data from at least one client device.
  • the communication unit 320 may transmit the entire image of the virtual reality space and / or the image of the partial region to the client device.
  • the control unit 310 may include at least one of a signaling data extraction unit 311, an image generation unit 313, a region of interest determination unit 315, a signaling data generation unit 317, and / or an encoder 319 have.
  • the signaling data extracting unit 311 can extract signaling data from the data received from the client device.
  • the signaling data may include image configuration information.
  • the image configuration information may include gaze information indicating a gaze direction of a user and zoom area information indicating a viewing angle of a user in a virtual reality space.
  • the image configuration information may include the viewport information of the user in the virtual reality space.
  • the image generating unit 313 may generate a full image of the virtual reality space and an image of a specific region in the virtual reality space.
  • the region of interest determination unit 315 may determine a region of interest corresponding to the direction of the user's gaze within the entire region of the virtual reality space. Also, the user's viewport can be determined within the entire area of the virtual reality space. For example, the ROI determiner 315 may determine the ROI based on the sight line information and / or the zoom area information. For example, the region of interest may be a location of a tile where the important object will be located in a virtual space to be viewed by the user (e.g., a location where a new enemy appears in a game, etc., a location of a speaker in a virtual reality space) Can be a place to look at. In addition, the ROI determination unit 315 may generate ROI information indicating a ROI corresponding to the user's viewing direction and information about the user's viewport in the entire area of the virtual reality space.
  • the signaling data generation unit 317 can generate signaling data for processing the entire image.
  • the signaling data may transmit the region of interest information and / or the viewport information.
  • the signaling data may be transmitted via at least one of Supplement Enhancement Information (SEI), video usability information (VUI), Slice Header, and a file describing the video data.
  • SEI Supplement Enhancement Information
  • VUI video usability information
  • Slice Header a file describing the video data.
  • the encoder 319 may encode the entire image based on the signaling data. For example, the encoder 319 may encode the entire image in a customized manner for each user based on the viewing direction of each user. For example, when the user looks at a specific point in the virtual reality space, the encoder encodes the image corresponding to the specific point in high picture quality based on the user's gaze in the virtual reality space, ≪ / RTI > The encoder 319 may include at least one of a signaling data extraction unit 311, an image generation unit 313, a region of interest determination unit 315, and / or a signaling data generation unit 317 have.
  • the control unit 310 includes a signaling data extraction unit 311, an image generation unit 313, a region of interest determination unit 315, a signaling data generation unit 317, and an encoder 319 as well as a processor ), A memory (not shown), and an input / output interface (not shown).
  • the processor may include one or more of a central processing unit (CPU), an application processor (AP), or a communication processor (CP).
  • the processor may perform, for example, operations or data processing related to control and / or communication of at least one other component of the controller 310. For example,
  • the processor may be implemented as a system on chip (SoC), for example.
  • the processor may further comprise a graphics processing unit (GPU) and / or an image signal processor.
  • GPU graphics processing unit
  • the processor may control a plurality of hardware or software components connected to the processor, for example, by driving an operating system or an application program, and may perform various data processing and operations.
  • the processor may also load or process instructions or data received from at least one of the other components (e.g., non-volatile memory) into volatile memory and store the various data in non-volatile memory have.
  • the other components e.g., non-volatile memory
  • the memory may include volatile and / or non-volatile memory.
  • the memory may, for example, store instructions or data related to at least one other component of the controller 310. [ According to one embodiment, the memory may store software and / or programs.
  • the input / output interface may serve as an interface through which commands or data input from, for example, a user or another external device can be transmitted to the other component (s) of the control unit 310.
  • the input / output interface may output commands or data received from other component (s) of the controller 310 to a user or another external device.
  • the server device can receive video data and signaling data from at least one client device using a communication unit. Further, the server device can extract the signaling data using the signaling data extracting unit.
  • the signaling data may include viewpoint information and zoom region information.
  • the gaze information can indicate which area (point) the user sees in the virtual reality space.
  • the gaze information can indicate the direction from the user to the specific area.
  • the zoom area information may indicate an enlarged range and / or a reduced range of the video data corresponding to the viewing direction of the user.
  • the zoom area information can indicate the viewing angle of the user. If the video data is enlarged based on the value of the zoom area information, the user can view only the specific area. If the video data is reduced based on the value of the zoom area information, the user can view not only the specific area but also a part and / or the entire area other than the specific area.
  • the server device can generate a full image of the virtual reality space using the image generating unit.
  • the server device can use the region-of-interest determination unit to grasp the video configuration information on the point of view and the zoom region of each user in the virtual reality space based on the signaling data.
  • the region of interest determination unit may determine a region of interest of the user based on the image configuration information.
  • the server device can receive new signaling data.
  • the server device can determine a new region of interest based on the new signaling data.
  • the control unit of the server device can determine whether the data currently processed based on the signaling data is data corresponding to the region of interest.
  • the server device can determine whether or not the data currently processed based on the new signaling data is data corresponding to the region of interest. If the currently processed data is data corresponding to a region of interest, the server device may encode video data (for example, a region of interest) corresponding to a user's viewpoint at a high image quality using an encoder. For example, the server device may generate base layer video data and enhancement layer video data for video data corresponding to the user's viewpoint and transmit them.
  • video data for example, a region of interest
  • the server device can transmit the video data corresponding to the new viewpoint (new interest area) as a high-quality image. If the server device is transmitting a video of the basic image quality but the signaling data is changed and the server device needs to transmit a high quality image, the server device may further generate and / or transmit the enhancement layer video data.
  • the server device may encode video data (e.g., non-interest regions) have. For example, the server device may generate only base layer video data for video data that does not correspond to a user's viewpoint, and may transmit them.
  • video data e.g., non-interest regions
  • the server device can transmit video data (new non-interest area) that does not correspond to the new user's viewpoint as a video of the default image quality.
  • video data new non-interest area
  • the server device does not generate and / or transmit at least one enhancement layer video data , And may generate and / or transmit only base layer video data.
  • the client device since the image quality of the video data when the base layer video data is received is lower than the image quality of the video data received when the enhancement layer video data is received, the client device, at the moment when the user obtains the information, (E.g., video data for the region of interest) corresponding to the line of sight of the user. Then, the client device can provide high quality video data to the user in a short time.
  • the information E.g., video data for the region of interest
  • FIG. 4 is a diagram showing an exemplary configuration of an encoder of a server device.
  • the encoder 400 may include at least one of a base layer encoder 410, at least one enhancement layer encoder 420, and a multiplexer 430.
  • the encoder 400 may encode the entire image using a scalable video coding method.
  • the scalable video coding method may include Scalable Video Coding (SVC) and / or Scalable High Efficiency Video Coding (SHVC).
  • SVC Scalable Video Coding
  • SHVC Scalable High Efficiency Video Coding
  • the scalable video coding method is an image compression method for providing a variety of services in a scalable manner in terms of temporal, spatial, and image quality according to various user environments such as a network situation or a terminal resolution in various multimedia environments.
  • the encoder 400 may encode images of two or more different qualities (or resolution, frame rate) for the same video data to generate a bitstream.
  • the encoder 400 may use an inter-layer prediction tool, which is an encoding method using intra-layer redundancy, in order to increase the compression performance of video data.
  • the interlayer prediction tool is a technique for enhancing the compression efficiency in an enhancement layer (EL) by eliminating redundancy of images existing between layers.
  • EL enhancement layer
  • the enhancement layer can be encoded by referring to information of a reference layer using an inter-layer prediction tool.
  • the reference layer refers to the lower layer that is referred to in the enhancement layer encoding.
  • a bit stream of all lower hierarchical layers to be referred to is required.
  • decoding can be performed by acquiring only a bitstream of a layer to be decoded and its lower layers.
  • the bitstream of the lowest layer is a base layer (BL), and can be encoded by an encoder such as H.264 / AVC or HEVC.
  • the base layer encoder 410 may encode the entire image to generate base layer video data (or base layer bitstream) for the base layer.
  • the base layer video data may include video data for the entire area viewed by the user in the virtual reality space.
  • the image of the base layer may be the image of the lowest image quality.
  • the enhancement layer encoder 420 encodes the entire image based on signaling data (e.g., region of interest information) and base layer video data to generate at least one enhancement layer for at least one enhancement layer, Video data (or enhancement layer bitstream).
  • the enhancement layer video data may include video data for a region of interest within the entire region.
  • the multiplexer 430 may multiplex the base layer video data, the at least one enhancement layer video data, and / or the signaling data, and may generate one bitstream corresponding to the entire image.
  • Figure 5 is an illustration of a method of signaling a region of interest, illustrating a method of signaling a region of interest in scalable video coding.
  • a server device (or an encoder) generates one video data (or picture) composed of an enhancement layer in scalable video data 500 composed of a base layer BL and at least one enhancement layer (EL) Can be divided into a plurality of tiles 510 having a rectangular shape.
  • video data can be partitioned into Coding Tree Unit (CTU) units.
  • CTU Coding Tree Unit
  • one CTU may include Y CTB, Cb CTB, and Cr CTB.
  • the server device can encode the video data of the base layer BL as a whole without dividing the data into tiles for fast user response.
  • the server device may divide and encode video data of one or more enhancement layers into a plurality of tiles, some or all, as needed. That is, the server device may divide the video data of the enhancement layer into at least one tile and encode tiles corresponding to the region of interest 520 (ROI, Region of Interest).
  • ROI region of interest
  • the region of interest 520 may include a location of a tile where an important object (Object) to be viewed by the user is located in the virtual reality space (for example, a location where a new enemy appears in the game, Location), and / or where the user's gaze is viewed.
  • Object an important object to be viewed by the user is located in the virtual reality space (for example, a location where a new enemy appears in the game, Location), and / or where the user's gaze is viewed.
  • the server device may also generate region of interest information including tile information identifying at least one tile included in the region of interest.
  • region of interest information may be generated by a region of interest determination unit, a signaling data generation unit, and / or an encoder included in the server device.
  • the tile information in the area of interest 520 is continuous, it can be effectively compressed without having all the numbers of tiles.
  • the tile information may include not only the numbers of all the tiles corresponding to the area of interest but also the starting and ending numbers of the tiles, the coordinate point information, the CU (Coding Unit) number list, .
  • the area of interest 520 may be the current viewport of the user.
  • the tile information in the non-interest region may be sent to another client device, image processing computing device, and / or server after entropy coding provided by the encoder.
  • the region of interest may be delivered via a High-Level Syntax Protocol carrying the session information.
  • the region of interest may be transmitted in packet units such as SEI (Supplement Enhancement Information), VUI (video usability information), and slice header of a video standard.
  • the region of interest information may be transferred to a separate file describing the video file (e.g., MPD of DASH).
  • An exemplary technique of the present disclosure can use a technique of downscaling a picture in a manner that downscales (downsampling) an area, rather than a region of interest (ROI), in a single picture image rather than a scalable video have.
  • downscales downsampling
  • ROI region of interest
  • the prior art does not share the filter information used for downscaling between the terminals using the service, but makes an appointment from the beginning with only one technique, or only the encoder knows the filter information.
  • the server device may be configured such that the client device (or the HMD terminal) that receives the encoded image uses the filter information used at the time of encoding to slightly improve the image quality of the downscaled out- To the client device.
  • This technique can actually reduce image processing time significantly and can provide image quality enhancement.
  • the server device may generate the region of interest information.
  • the area of interest information may further include filter information as well as tile information.
  • the filter information may include the number of promised filter candidates, the values used in the filter.
  • FIG. 6 is a diagram showing an exemplary configuration of a client device.
  • the client device 600 includes an image input unit 610, an audio input unit 620, a sensor unit 630, an image output unit 640, an audio output unit 650, a communication unit 660, and / As shown in FIG.
  • the client device 600 may be an HMD (Head-Mounted Display).
  • the control unit 670 of the client device 600 may be included in the client device 600 or may be a separate device such as a smartphone of the VR device.
  • the video input unit 610 can capture video data.
  • the image input unit 610 may include at least one of a 2D / 3D camera and / or an immersive camera for acquiring a user's image.
  • the 2D / 3D camera can shoot an image having a viewing angle of 180 degrees or less.
  • Immersive cameras can capture images with a viewing angle of 360 degrees or less.
  • the audio input unit 620 can record the user's voice.
  • the audio input 620 may include a microphone.
  • the sensor unit 630 can acquire information on the movement of the user's gaze.
  • the sensor unit 630 may include a gyro sensor for sensing a change in the azimuth of the object, an acceleration sensor for measuring the acceleration of the moving object or the intensity of the impact, and an external sensor for sensing the direction of the user's gaze .
  • the sensor unit 630 may include an image input unit 610 and an audio input unit 620.
  • the video output unit 640 can output video data received from the communication unit 660 or stored in a memory (not shown).
  • the audio output unit 650 can output audio data received from the communication unit 660 or stored in the memory.
  • the communication unit 660 can communicate with an external client device and / or a server device through a broadcasting network, a wireless communication network, and / or broadband.
  • the communication unit 660 may further include a transmitting unit (not shown) for transmitting data and / or a receiving unit (not shown) for receiving data.
  • the control unit 670 can control all operations of the client device 600. [ The control unit 670 can process the video data and the signaling data received from the server device. The details of the control unit 670 will be described in detail with reference to FIG.
  • FIG. 7 is a block diagram illustrating an exemplary configuration of a control unit of a client device.
  • the control unit 700 may process the signaling data and / or the video data.
  • the control unit 700 may include at least one of a signaling data extractor 710, a decoder 720, a line of sight determiner 730, and / or a signaling data generator 740.
  • the signaling data extracting unit 710 may extract signaling data from data received from the server device and / or another client device.
  • the signaling data may include region of interest information.
  • Decoder 720 may decode the video data based on the signaling data. For example, the decoder 720 may decode the entire image in a customized manner for each user based on the viewing direction of each user. For example, when the user looks at a specific area in the virtual reality space, the decoder 720 decodes the image corresponding to the specific area in a high image quality based on the user's gaze in the virtual reality space, Can be decoded with a low quality.
  • the decoder 720 may include at least one of a signaling data extractor 710, a line of sight determiner 730, and / or a signaling data generator 740 according to an embodiment of the present invention.
  • the gaze determining unit 730 can determine the user's gaze in the virtual reality space and generate the image configuration information.
  • the image configuration information may include gaze information indicating a gaze direction and / or zoom area information indicating a viewing angle of a user.
  • the signaling data generation unit 740 may generate signaling data for transmission to a server device and / or another client device.
  • the signaling data may transmit image configuration information.
  • the signaling data may be transmitted through a High-Level Syntax Protocol that carries session information.
  • the signaling data may be supplemental enhancement information (SEI), video usability information (VUI), slice header, And a file describing the video data.
  • SEI Supplemental Enhancement information
  • VUI video usability information
  • slice header And a file describing the video data.
  • FIG. 8 is a diagram illustrating an exemplary configuration of a decoder of a client device.
  • the decoder 800 may include at least one of an extractor 810, a base layer decoder 820, and / or at least one enhancement layer decoder 830.
  • the decoder 800 may decode a bitstream including video data using an inverse process of the encoding process of the scalable video coding method.
  • the extractor 810 receives the bitstream (video data) including the video data and the signaling data, and can selectively extract the bitstream according to the image quality of the video to be reproduced.
  • a bitstream (video data) may include a base layer bitstream (base layer video data) for a base layer and at least one enhancement layer bitstream for at least one enhancement layer predicted from the base layer ).
  • the base layer bitstream (base layer video data) may include video data for the entire area of the virtual reality space.
  • At least one enhancement layer bitstream (enhancement layer video data) may include video data for a region of interest within the entire region.
  • the signaling data may also include region of interest information indicating a region of interest corresponding to the direction of the user's gaze within the entire area of the virtual reality space for the video conferencing service.
  • the base layer decoder 820 can decode a base layer bitstream (or base layer video data) for a low-quality image.
  • the enhancement layer decoder 830 can decode at least one enhancement layer bitstream (or enhancement layer video data) for the high-definition video based on the signaling data and / or the bitstream (or base layer video data) have.
  • the decoder 800 decodes the video data of the standard picture quality for the entire area of the virtual reality space from the video stream, It is possible to extract high-quality video data for a region of interest within the region of interest.
  • the image configuration information may include at least one of gaze information indicating a gaze direction of a user and / or zoom area information indicating a viewing angle of a user.
  • the user's gaze is the direction in which the user looks in the virtual reality space, not the actual space.
  • the gaze information may include information indicating the gaze direction of the user in the future (for example, information on gaze points that are expected to receive attention), as well as information indicating the gaze direction of the current user.
  • the client device can sense the operation of looking at a specific area located in the virtual reality space around the user and process the operation.
  • the client device can receive the sensing information from the sensor unit using the control unit and / or the sight line determination unit.
  • the sensing information may be a video shot by a camera, or a voice recorded by a microphone.
  • the sensing information may be data sensed by a gyro sensor, an acceleration sensor, and an external sensor.
  • the client device can confirm the movement of the user's gaze based on the sensing information by using the control unit and / or the visual-line determining unit. For example, the client device can check the movement of the user's gaze based on the change of the value of the sensing information.
  • the client device can generate image configuration information in the virtual reality space using the control unit and / or the visual determination unit. For example, when the client device physically moves or the user's gaze moves, the client device can calculate the gaze information and / or the zoom area information of the user in the virtual reality space based on the sensing information.
  • the client device can transmit image configuration information to the server device and / or another client device using the communication unit.
  • the client device may forward the video configuration information to its other components.
  • the server device may receive the sensing information from the client device and generate the image configuration information.
  • an external computing device connected to the client device may generate image configuration information, and the computing device may communicate image configuration information to its client device, another client device, and / or a server device.
  • Signaling the video configuration information is very important. If the signaling of the video configuration information is too frequent, it may place a burden on the client device, the server device, and / or the entire network.
  • the client device can signal image configuration information only when the image configuration information (or gaze information and / or zoom area information) of the user is changed. That is, the client device can transmit the gaze information of the user to another client device and / or the server device only when the gaze information of the user is changed.
  • the client device generates and / or transmits the image configuration information.
  • the server device may receive the sensing information from the client device, generate the image configuration information based on the sensing information, It may be transmitted to one client device.
  • the above-mentioned signaling may be signaling between a server device, a client device, and / or an external computing device (if present).
  • the above-mentioned signaling may be signaling between the client device and / or an external computing device (if present).
  • a method of transmitting a high / low level image based on a user's gaze information includes a method of switching layers of a scalable codec, a rate control method using QP (quantization parameter) in case of single bit stream and real time encoding, DASH A method of switching in units of chunks in the case of a single bit stream of a bit stream, a down scaling / up scaling method and / or a high quality rendering method utilizing more resources in the case of rendering can do.
  • QP quantization parameter
  • the above-described exemplary techniques describe a differential transmission scheme using scalable video, even when using a general video coding technique with a single layer, by adjusting the quantization parameter and the degree of downscaling / upscaling, Lowering overall bandwidth, and quickly responding to user gaze movements.
  • the exemplary technique of the present invention switches between a high-level image and a low-level image on a chunk basis .
  • the present specification assumes a virtual reality system
  • the present specification can be equally applied to a VR (Virtual Reality) game using an HMD, an Augmented Reality (AR) game, and the like. That is, all of the techniques for providing a high-level region corresponding to the line of sight that the user is looking at, and signaling only when the user looks at an area or an object that is not expected to be viewed, It can be applied just as in the example.
  • VR Virtual Reality
  • AR Augmented Reality
  • a technique for decoding an entire image by using a single compressed image bitstream and decoding it and rendering an area viewed by a user into a virtual space may be performed by using a full image (for example, a 360-degree immersion type Immersive) images) are all transmitted in the bit stream.
  • a full image for example, a 360-degree immersion type Immersive
  • the total bandwidth of the video bitstream, in which each of the high-resolution images is gathered must be very large. Therefore, a scalable high-efficiency video which is a scalable extension standard of SVCs and HEVCs
  • a scalable video technique such as Scalable High Efficiency Video Coding may be used.
  • FIG. 9 is a block diagram of an exemplary video transmission apparatus for a video streaming service.
  • an image transmission apparatus (server device) 900 may include an encoder 910, a signaling unit 920, a multiplexer 930, a communication unit 940, and / or a control unit 950 have.
  • the encoder 910 may generate video data for a video streaming service for the virtual reality space.
  • the video data may include the basic picture quality data for the whole virtual reality space and the high picture quality video data for the area corresponding to the current viewport and the predicted viewport within the entire virtual reality space area and the high picture quality video data includes at least one Tiles.
  • the signaling unit 920 may generate signaling data based at least in part on information about the current viewport the user is viewing in the virtual reality space and information about the prediction viewport that the user is expected to see, May include tile information identifying the at least one tile included in the current viewport and the predictive viewport.
  • Multiplexer 930 may generate a bitstream that includes video data and signaling data.
  • the communication unit 940 can transmit the bit stream including the video data and the signaling data, receives the tile information included in the viewport from the client device (not shown), and outputs the bit stream generated by the multiplexer 9300 (950).
  • the controller 950 determines whether the transmission bandwidth is sufficient to transmit all the high-quality video data when the bit stream is transmitted through the communication unit 940. If it is determined that the bandwidth is sufficient, The high-quality video data for at least a part of at least one tile within the allowable range of the bandwidth in the order of high-priority tile to low-tile, if the bandwidth is not sufficient, Data can be transmitted.
  • the encoder 910 may include a base layer encoder and an enhancement layer encoder, wherein the base image quality data may be base layer video data for the entire region of the virtual reality space, The base layer video data and the enhancement layer video data for the tiles included in the viewport that the user is viewing.
  • the image transmitting apparatus 900 transmits the base layer video data and the enhancement layer video data together for the area corresponding to the current viewport and the prediction viewport, and transmits only the base layer video data for the area other than the current viewport and the prediction viewport Lt; / RTI >
  • the enhancement layer encoder may generate enhancement layer video according to the priorities of the tiles included in the viewport, rather than generating enhancement layer video data for all tiles included in the viewport.
  • the enhancement layer encoder can generate enhancement layer video data in the order of the highest priority tile to the lowest tile within the allowable range of the bandwidth.
  • the enhancement layer encoder may generate enhancement layer video data for tiles whose inclusion ratio is higher than a specific value among the tiles included in the viewport.
  • the method of selecting priorities can be determined based on distance information from the user to objects in the tile, or can be determined by the area ratio of the tiles included in the viewport to the viewport, as described in detail below.
  • 10 is an exemplary diagram illustrating signaling of a prediction viewport and object distance information.
  • the creator of the virtual reality contents can configure the signal system so that the user's eyes can know the target that is 'expected to be noticed' in advance, and the image data can be pre-fetched up to the enhancement layer before the user's gaze .
  • the creator of the virtual reality contents transmits the priority information of each tile in the image to produce the content so that it can be used.
  • the base layer can be entirely coded without being tiled for fast user response times.
  • One or more enhancement layers may be coded by dividing some or all of them into multiple tiles as needed.
  • the viewport may be a place where the user's gaze is viewed, or a tile position where the important object is located in a virtual space to be viewed by the user. Since the tile numbers in the viewport are assigned consecutively, when transmitting the tile information contained in the viewport, it is possible to effectively compress all the information about the tiles without sending them out. For example, the tile number information can be effectively compressed by using the start and end numbers of the tile, the coordinate point information of the tile, the list of the coding unit (CU) number in the tile, and the expression of the tile number.
  • CU coding unit
  • the scalable video content 1000 includes video data of a base layer and an enhancement layer
  • an enhancement layer 1010 encoded at a server device includes information of a current viewport 1020 and a predictive viewport 1030 And is signaled based on the distance information of the object.
  • the enhancement layer 1010 is divided into tiles for the image of the scalable video content 1000 and the information of the current viewport 1020 and the prediction viewport 1030 includes tile information included in the viewport.
  • the tiles included in the current viewport 1020 are tiles 6, 7, 10, and 11, and the tiles included in the predicted viewport 1030 are tiles 7, 8, 11,
  • This signaling may be delivered via a high-level syntax protocol that carries session information or may be delivered by a packet unit such as an SEI, VUI, or slice header of a video standard, May be included in a separate file describing the video file (e.g., MPD in DASH).
  • a packet unit such as an SEI, VUI, or slice header of a video standard
  • the signaling system disclosed in the present specification can preferentially receive only a specific tile of an enhancement layer or a high-quality video image, thereby reducing the overall delay time and eliminating the occurrence of delay by partially processing only high-quality images according to bandwidth conditions. Thereby reducing the user's dizziness and motion sickness.
  • FIG. 11 is an illustration of an example of scalable video coding based streaming in which the current viewport and predicted viewport can be prefetched to reduce bandwidth.
  • the streaming technique of the present embodiment transmits both basic layer image data of the scalable video coding (SVC) and one or more enhancement layer (s) image data for the image of this part.
  • SVC scalable video coding
  • s enhancement layer
  • the streaming technique of the present embodiment can predict the running course of the user front in the predictive viewport 1110. Therefore, the streaming technique of the present embodiment can reduce the display delay by prefetching the corresponding prediction viewport in advance with high image quality.
  • the streaming technique of this embodiment can reduce the overall bandwidth by transmitting only low-quality base layer video data to the area 1130 other than the current viewport or the predicted viewport.
  • the image quality and delay time provided by the base layer must maintain a certain level of quality or more to reduce the motion of the user, which is very important for the quality of the virtual reality service.
  • a major challenge in cloud-based game streaming is low latency streaming technology.
  • a head mounted image device there is always a possibility of bandwidth variation because it is a method using a wireless network. Therefore, if a certain area is always fixed to be transmitted in a high quality image in a game content streaming image, a game content transmission delay may occur when the transmission bandwidth is suddenly reduced.
  • FIG. 12 is a diagram illustrating an example of high-quality game streaming based on the viewport prediction technique according to the distance from a user to an object in the image.
  • the exemplary game streaming techniques presented herein can predict the likelihood of a user viewport and give the tiles contained in the predicted viewport a high priority. For example, by using the distance information, it is possible to classify which tiles contain a large number of objects close to the user, and then prioritize the nearest tiles in descending order, in descending order, Bandwidth can be reduced by transmitting high-quality images from tiles.
  • the exemplary game streaming technique assigns high priority to the tiles 1240, 1241, 1242 including the objects 1210, 1211, 1212 nearest to the user, 1220 and 1221 may be given an intermediate priority and the tiles 1260 including the objects 1230 and 1231 far from the user may be given a lower priority.
  • the high-quality video data may be transmitted in the order of the highest priority tile to the low priority tile to the bandwidth allowable range. That is, the exemplary game streaming technology transmits high-priority tiles based on the transmission bandwidth.
  • the scalable video coding technique can be applied to the method of creating a high-quality / low-quality image as described above.
  • Any of the techniques can be applied.
  • the exemplary game streaming technique may determine a region including a lot of tiles having a high priority as a viewport.
  • the techniques presented herein may be more effective in streaming Role-Playing Games (RPGs) where user's surroundings are prioritized.
  • RPGs Role-Playing Games
  • a full-quality image can be obtained without using a scalable video coding technique
  • the image for the current viewport and the predictive viewport can use a normal high-quality image.
  • the methods disclosed herein can be applied to other kinds of video parallel processing techniques that support screen division, for example, Slice, FMO (Flexible Macro Block), and the like. It can also be applied to MPEG DASH, which is a streaming service for segmenting and transmitting a bitstream, Smooth Streaming by Microsoft, and HTTP Live Streaming (HLS) by Apple.
  • Video parallel processing techniques for example, Slice, FMO (Flexible Macro Block), and the like. It can also be applied to MPEG DASH, which is a streaming service for segmenting and transmitting a bitstream, Smooth Streaming by Microsoft, and HTTP Live Streaming (HLS) by Apple.
  • MPEG DASH is a streaming service for segmenting and transmitting a bitstream, Smooth Streaming by Microsoft, and HTTP Live Streaming (HLS) by Apple.
  • the video streaming for a virtual reality space is performed by using the current viewport and the predictive viewport information and the priority information of the viewport based on the distance information on the object in the viewport Describes in detail how to reduce bandwidth.
  • FIG. 13 shows an exemplary image transmission method in a video server for a video streaming service.
  • a video server generates video data for a video streaming service for a virtual reality space (1301).
  • the video server generates signaling data based at least in part on the information about the current viewport the user is viewing in the virtual reality space and the information about the predictive viewport that the user expects to see (1303).
  • the video server generates a bitstream including the video data and the signaling data, and transmits the generated bitstream to the client device through the communication unit (1305).
  • the generated video data may include video data of a basic image quality for the entire virtual reality space, and high-quality video data for the current viewport and the prediction viewport.
  • the video data of the standard picture quality may include video data of the base layer for the entire virtual reality space, and the high-definition video data for the current viewport and the prediction viewport may include at least And may further include video data for one enhancement layer.
  • the video server transmits high quality video data for the area corresponding to the current viewport and the predicted viewport, and only video data of the standard picture quality (quality) for the area other than the current viewport and the predicted viewport.
  • the video server transmits the video data for the base layer and the enhancement layer together with the area corresponding to the current viewport and the predictive viewport, Only the video data for the base layer can be transmitted.
  • the at least one enhancement layer video data is divided into at least one tile of a rectangular shape for each layer, and the video data of the base image quality and the video data of the high image quality may be divided into at least one tile of a rectangular shape.
  • the signaling data may include tile information identifying at least one tile included in the current viewport and the predicted viewport.
  • the video transmission method in the video server may determine whether the bandwidth of the communication line for transmitting video data is sufficient to transmit both the enhancement layer video data and the high-quality video data (1307).
  • the transmission according to the priority order may transmit the enhancement layer video data or the high image quality data in the order of the highest priority tile to the lowest tile within the bandwidth allowable range.
  • the priority is determined according to the distance from the user to a target such as a building, a specific object, a game character, a driving road, etc. in a tile of a virtual reality image. As the object is closer to a user, Priority can be given.
  • the prediction viewport may be determined based on the information on the current viewport including the distance to the current viewport, the direction of the current viewport, and the contents of the virtual reality contents, as well as the distance between the object and the user in the tile.
  • the content of the virtual reality content may be a moving direction of a user, appearance of a main character, occurrence of a major event, and the like.
  • the video data for the enhancement layer may include high-definition video data for the current viewport and an area corresponding to the prediction viewport within the entire region of the virtual reality space.
  • the signaling data may be generated based on the image configuration information.
  • the image configuration information may include gaze information indicating a viewport of a user in a virtual reality space and zoom area information indicating a viewing angle of a user.
  • the signaling data may include a High-Level Syntax Protocol (SEI), a Supplement Enhancement Information (SEI), a Video Usability Information (VUI), a Slice Header, Lt; / RTI >
  • SEI High-Level Syntax Protocol
  • SEI Supplement Enhancement Information
  • VUI Video Usability Information
  • FIG. 14 is a diagram illustrating an exemplary image receiving method in a client device for a video streaming service.
  • a client device in a video receiving method in a client device such as an HMD, can receive a bitstream including video data and signaling data for a virtual reality space (1401).
  • the client device may decode the basic image quality video data based on the video data (1403).
  • the client device may decode the high definition video data based on the video data and the signaling data (1405).
  • the signaling data may include at least some information about the current viewport for the area that the user is viewing within the virtual reality space and about the predicted viewport that the user is expected to see within the virtual reality space.
  • the high-definition video data may include high-quality video data corresponding to the current viewport and the prediction viewport.
  • the basic picture quality video data may include video data of basic picture quality (low picture quality) for the whole area of the virtual reality space.
  • Video data / video data of a basic picture quality or a low picture quality throughout the present specification can have a picture quality of a certain level or more such that the user does not cause an unpleasant feeling such as a motion sickness in a virtual reality service.
  • the high-definition video data may include video data for the area corresponding to the current viewport and the prediction viewport within the entire area.
  • the high-definition video data may be divided into at least one tile of rectangular shape.
  • the signaling data may include tile information identifying at least one tile included in the current viewport and the predicted viewport.
  • the signaling data may be generated based on the image configuration information
  • the image configuration information may include gaze information indicating the user's viewport in the virtual reality space and zoom area information indicating the viewing angle of the user.
  • the signaling data includes a High-Level Syntax Protocol, a Supplement Enhancement Information (SEI), a Video Usability Information (VUI), a Slice Header, and a file describing the video data Lt; / RTI >
  • SEI Supplement Enhancement Information
  • VUI Video Usability Information
  • the basic image quality video data may be base layer video data in a scalable video coding technology
  • the high-definition video data may be video data including base layer video data and at least one enhancement layer video data.
  • the video decoding technique of the present disclosure can decode the base layer video data based on the received video data, and can decode at least one enhancement layer video data based on the video data and the signaling data.
  • 15 is a diagram illustrating a method of transmitting a tile by setting a priority based on a ratio of tiles included in a viewport.
  • the server device selects tiles (12, 13) included in the viewport among the 25 tiles
  • the area ratio (coverage ratio) of the portion included in the viewport is calculated with respect to the size of the tile with respect to the tile included in the viewport, You can list them in order from smallest.
  • the tiles included in the viewport may be tiles to which motion constrained tile sets (MCTS) are applied.
  • the server device contains the largest number of viewports, including 7% for tile 12, 73% for tile 13, 2% for tile 17, and 18% for tile 18
  • the tile 13 may be assigned a priority order
  • the tile 18 may be assigned a second order
  • the tile 12 may be assigned a third order
  • the tile 17 may be assigned a fourth order (1520).
  • the server device determines a bandwidth allowance level for each client device by determining the bandwidth state between the server device and the client devices (Client A, Client B, Client C) and / or the performance of the client devices (1530) (1540) all and / or a portion of the tiles contained in the viewport according to the limit and priority.
  • the untransmitted tiles may be improved (1550) through an error concealment technique using an upsampled base layer upsampled by the client device.
  • the server device since the current bandwidth is capable of transmitting tiles up to the second rank, the server device stores the tiles 13 (first tile) and tiles 18 (second tile) And does not transmit high-quality video images for the remaining 12 tiles and 17 tiles.
  • the client device C uses the upsampled base layer for the 12th tile and the 17th tile which are not transmitted, and improves the quality of the output image, thereby reducing the unpleasantness such as dizziness and nausea that the user can feel have.
  • the bandwidth adaptive video data transmission method can reduce the user delay time and the transmission bandwidth more than when all the tiles corresponding to the existing viewports are transmitted, There is an effect that it can be reduced.
  • Figure 16 is an illustration of tile transmission according to the minimum percentage of tiles included in the viewport.
  • the method disclosed herein may set a minimum area ratio of tiles included in the viewport and transmit only the tiles corresponding to a ratio equal to or greater than the set area ratio value to the client device. That is, regardless of the bandwidth state between the server device and the client device, the bandwidth can be reduced by collectively transmitting the high-quality video data of the corresponding tile according to the viewport-containing area ratio set by the user.
  • the area ratio of the tiles included in the viewport is calculated, and the method of selecting the priority according to the area ratio is the same as the description of the priority selection in FIG.
  • the high-definition video data is transmitted only to the corresponding tile 13 and the tile 1610 according to the content ratio (for example, 15% or more) set by the user.
  • the client terminal can improve the quality of the output image by using the upsampled base layer 1620 for the 12th tile and the 17th tile which are not transmitted.
  • the minimum percentage of tile area included in the viewport can be set according to the server and user environment.
  • the error concealment technique can be applied to the tile that is not transmitted, and the waste of the bandwidth is minimized, thereby enabling an efficient high-quality communication service.
  • a scalable video coding technique is taken as an example, a low-quality image or a basic-quality image is expressed as a base layer image, a high-quality image is represented as an image including a base layer image and an enhancement layer image, Can be divided into a low-quality image and a high-quality image and transmitted.
  • the video data of the basic picture quality or the low picture quality expressed in the embodiments means base layer video data
  • the video data of high picture quality may mean video data including both base layer video data and enhancement layer video data.
  • enhancement layer video when enhancement layer video is used, one or more layer video data can be used.
  • a plurality of enhancement layer video data for one picture can be replaced with high definition video data representing one picture have.
  • 17 is a diagram showing another example of an exemplary image transmission method in a video server for a video streaming service.
  • the server device may divide the entire area of the virtual reality space into one or more tiles (1701).
  • the tile may have a rectangular shape.
  • the server device may generate video data of a basic image quality or a low image quality for the entire region of the virtual reality space (1703).
  • the server device analyzes the signaling data received from the image receiving apparatus to determine the user's viewport and includes the number information of the tile included in the viewport and the area information of the tile included in the viewport in the viewport.
  • the area ratios of the tiles having the highest area ratio can be obtained and the priority can be assigned to the tiles in the order of the lowest tile to the highest area ratio (1705).
  • server devices give high priority to tiles with high area ratios and low priority to low tiles.
  • the user's viewport may include the current viewport that the user is currently viewing and a predicted viewport that the user is expected to look forward to.
  • the server device selects a tile to be transmitted according to a priority order within the allowable limit of the bandwidth of the communication line through which the video data is to be transmitted, and generates high-quality video data for the selected tile image (1707). For example, when the server device determines that the four tiles included in the viewport are allowed to be transmitted only for the three tiles, the high-quality image data only for the first- Lt; / RTI >
  • the server device may transmit the generated basic image quality video data and the generated high image quality video data to the client device in a bit stream (1709).
  • the client device can reduce the user's inconvenience by upsampling and outputting the received base layer video data for the tile of the fourth priority level in which the high-quality video data is not received.
  • the server device can reduce the bandwidth by generating the high-definition video data (including the base layer video data and the enhancement layer video data) only for the tiles to be transmitted according to the priority, and then transmitting the generated video data. That is, the server device generates enhancement layer video data only for tiles up to the bandwidth allowed range.
  • the server device does not consider the allowable range of the bandwidth of the communication line for transmitting the video data in real time, but only when the ratio of the area included in the viewport among the tiles included in the viewport is a specific value or more, Layer video data and transmit the base layer video data and the enhancement layer video data together to the client device only for the corresponding tile.
  • the specific value of the area ratio included in the viewport can be set in consideration of the state of the video server and the user environment.
  • FIG. 18 shows an example of a method of receiving an image according to priority based on the area ratio of tiles included in the viewport.
  • the client device displays the viewport information viewed by the user in the virtual reality space, the number information of the tiles included in the viewport, and the ratio information of the tiles included in the viewport (1801).
  • the client device may receive base layer video data for the entire virtual reality space divided into at least one tile of rectangular shape (1803).
  • the client device may receive at least one enhancement layer video data within the allowed bandwidth limit for the prioritized tiles according to the viewport containment rate (1805).
  • the client device may generate upsampled base layer video data for tiles for which enhancement layer video data is not received among the tiles included in the viewport (1807).
  • the client device may decode (1809) the image to be output to the user based at least in part on the base layer video data, the enhancement layer video data, and the upsampled base layer video data, and output the decoded video image.
  • FIG. 19 shows an example of a video receiving method according to a specific area ratio.
  • the client device displays the viewport information viewed by the user in the virtual reality space, the number information of the tiles included in the viewport, and the ratio information of the tiles included in the viewport (1901).
  • the client device may receive base layer video data for the entire virtual reality space divided into at least one tile of rectangular shape (1903).
  • the client device may receive 1905 at least one enhancement layer video data for tiles with a viewport inclusion ratio equal to or greater than a particular value.
  • the client device may generate upsampled base layer video data for tiles for which enhancement layer video data is not received among the tiles included in the viewport (1907).
  • the client device may decode (1909) the image to be output to the user based at least in part on the base layer video data, the enhancement layer video data, and the upsampled base layer video data, and output the decoded video image.
  • FIG. 20 illustrates an exemplary SEI payload syntax proposed in the signaling of the prediction viewport and object distance information.
  • SEI Supplemental Enhancement Information
  • the syntax of reference numeral 2000 in the drawing is newly added to the SEI message payload syntax in the embodiment of this specification, and all the other syntaxes are the same as the existing standard syntax.
  • Figure 21 shows a viewport signaling system specification for an exemplary video picture.
  • Figure 22 shows exemplary signaling specifications for an exemplary file, chunk, and video picture group.
  • unsigned (n) means the number of unsigned 'n' bits in a normal programming language.
  • the version_info syntax is represented by the signaling protocol version information, unsigned 8-bit information.
  • the syntax file_size is represented by the file size, 64 bits of unsigned information.
  • the poc_num syntax refers to picture order count (POC) information in a video standard such as HEVC, which is similar to the frame number in the existing H.264 AVC standard. It is represented by 32 bits of unsigned information.
  • POC picture order count
  • info_mode syntax is defined as 'information mode' defined in this standard. It is represented by 4 bits of unsigned information. '1' represents the tile id included in each predicted viewport, '2' represents distance information for the tile included in each predicted viewport, '3' represents the same as the previous signal system information, '1' 'Indicates the viewport id and tile id to be transmitted.
  • the viewport_num syntax refers to the number of viewports to be predicted, and is represented by 8 bits of unsigned information.
  • the tile_num syntax is the number of tiles in the screen, and is represented by 12 bits of unsigned information.
  • the tile_id_list_in_viewport [] syntax is a list of tile numbers in the viewport, represented by 12 bits of unsigned information.
  • the tile_distance_list_in_viewport [] syntax is a list of distance information for each tile in the viewport, and each distance information is represented by 16 bits of unsigned information.
  • the viewport_id_list_trans [] syntax is a list of viewport numbers to be transmitted, and is represented by 12-bit unsigned information.
  • the tile_id_list_trans [] syntax is a list of tile numbers to be transmitted, and is represented by 12-bit unsigned information.
  • the syntax of user_info_flag indicates a flag of the additional user information mode, and whether or not the tile-related information to be transmitted by the user is present is represented by information of unsigned '1' bits.
  • a value of '0' indicates no additional user information, and a value of '1' indicates that there is additional user information.
  • the syntax of user_info_size indicates the length of the additional user information and is represented by information of '16' bits without sign.
  • the user_info_list [] syntax is a list of additional user information, and each additional user information is represented by information of vary bits that is unsigned.
  • Information on the above defined syntax and semantics may be expressed in XML format in HTTP-based video communication such as MPEG DASH.
  • Figure 23 shows an exemplary tile information syntax expressed in XML form
  • FIG. 24 exemplarily shows tile information transmitted in a signal transmission system.
  • the techniques presented here allow for efficient and optimized movement limited tile set (MCTS) transmission considering the viewport and tile size.
  • the signaling transmission information provided in the present specification is the ratio of the number of viewports included in the tile-specific viewport that the head-mounted video device 2410, which is a video receiving device, transmits to the 360-degree video streaming server 2420, Information 2430 and transmission tile information 2440 included in the viewport.
  • the viewport inclusion ratio information for each tile and the transmission tile information included in the viewport are transmitted from the client device to the server device, but the information may be calculated by the server device using only the viewport information delivered from the client device .
  • This information can also be conveyed through additional information in an OMAF (Omnidirectional Media Application Format) that carries additional information of the 360-degree Video Coding International Standard (MPEG).
  • OMAF Omnidirectional Media Application Format
  • MPEG 360-degree Video Coding International Standard
  • Figure 25 illustrates an exemplary OMAF syntax.
  • Figure 25 shows an example of an OMAF syntax in an international video standard such as H.264 AVC or H.265 HEVC.
  • reference numeral 2500 in the drawing is a new embodiment of the present specification, and all the other syntaxes are existing standard syntaxes.
  • high efficiency video coding tile information can be delivered according to each syntax standard defined below.
  • the u (n) in the syntax means the number of unsigned 'n' bits in the programming language, and the part denoted by 'v' means the number of bits that can be changed (read as varies in the standard).
  • the center_yaw syntax specifies the viewport orientation relative to the global coordinate axis and represents the center of the viewport.
  • the range should be within -180 * 2 ⁇ 16 ⁇ 180 * 2 ⁇ 16 - 1.
  • the center_pitch statement specifies the viewport orientation relative to the global coordinate axis and represents the center of the viewport.
  • the range should be within -90 * 2 ⁇ 16 ⁇ 90 * 2 ⁇ 16 - 1.
  • the center_roll statement specifies the viewport orientation relative to the global coordinate axis and represents the roll coordinates of the viewport.
  • the range should be within -180 * 2 ⁇ 16 ⁇ 180 * 2 ⁇ 16 - 1.
  • the hor_range statement represents the horizontal extent in the sphere.
  • the range is specified through the center point of the sphere and must be within 0 ⁇ 720 * 2 ⁇ 16.
  • the ver_range syntax indicates a vertical range in the sphere.
  • the range is specified through the center point of the sphere and must be within 0 ⁇ 180 * 2 ⁇ 16.
  • Interpolate syntax indicates whether linear interpolation is applied. A value of 1 indicates that linear interpolation is applied.
  • the tile_ratio_list [] syntax conveys information about the area of interest for all tiles in the viewport.
  • the tile_id_list_trans [] syntax conveys a list of tile numbers to be transferred within the viewport.
  • the above-described defined syntax and information on the semantics may be expressed in XML form in HTTP-based video communication such as MPEG DASH.
  • Figure 26 shows an exemplary tile information syntax expressed in XML form.
  • virtual reality video streaming methods disclosed in the present specification discuss scalable video, differentiating transmission techniques using viewports and distance information, other video supporting slices (slice), FMO (flexible macro block) It is also applicable to parallel processing techniques. It is also applicable to MPEG DASH, which is a streaming service for dividing and transmitting a bitstream, Smooth Streaming by Microsoft, and HTTP Live Streaming (HLS) by Apple.
  • video supporting slices slice
  • FMO flexible macro block
  • the virtual reality system can be implemented as computer readable code on a computer readable recording medium.
  • a computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like.
  • the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner.
  • functional programs, codes, and code segments for implementing the present invention can be easily deduced by programmers skilled in the art to which the present description belongs.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 명세서에 개시된 영상 전송 장치의 영상 전송 방법은 가상 현실 공간에 대한 기본 화질 비디오 데이터 및 고화질 비디오 데이터를 포함하는 비디오 데이터를 생성하는 동작, 상기 가상 현실 공간 내에서 사용자가 바라보고 있는 현재 뷰포트에 대한 정보 및 상기 사용자가 바라볼 것으로 예상되는 예측 뷰포트에 대한 정보에 적어도 일부 기초하여 시그널링 데이터를 생성하는 동작, 및 상기 비디오 데이터 및 상기 시그널링 데이터를 포함하는 비트스트림을 전송하는 동작을 포함하고, 상기 현재 뷰포트와 상기 예측 뷰포트에 대응되는 영역에 대해서 상기 고화질 비디오 데이터를 전송한다.

Description

뷰포트 정보를 이용한 가상 현실 비디오 스트리밍
관련출원과의 상호인용
본 출원은 2017년 12월 12일자 한국특허출원 제10-2017-0170823호 및 2017년 12월 13일자 한국특허출원 제10-2017-0170985호에 기초한 우선권의 이익을 주장하며, 해당 한국특허출원의 문헌에 개시된 모든 내용은 본 명세서의 일부로서 포함된다.
기술분야
본 명세서는 뷰포트 정보를 이용하여 가상 현실 비디오를 스트리밍하는 것에 관한 것이다.
최근 가상 현실 기술 및 장비의 발달과 함께 머리장착형 영상장치(Head-Mounted Display; HMD)와 같은 착용 가능한 기기들이 선보이고 있다.
가상 현실 기술과 머리장착형 영상장치를 통한 여러 서비스 시나리오 중에는 대표적으로 영화 관람 및 게임뿐만 아니라 화상회의와 원격 수술 등이 존재한다. 이 중에서 게임 같은 콘텐츠들은 일반 사용자들이 쉽게 접할 수 있고 머리장착형 영상장치를 구입하는 요인이 되는 콘텐츠이다.
클라우드 기반 게임 스트리밍 역시 널리 보급되고 있는데, 이는 서버에서 게임과 관련된 주요 연산들이 처리되고 클라이언트는 서버에 접속하여 게임 화면을 전송 받아 게임을 즐기는 기술이다. 이 기술은 클라이언트의 연산 성능에 제약 없이 고사양 게임을 즐기 수 있는 장점이 존재한다.
머리 장착형 영상장치는 눈앞에서 재생되고 구 형태의 360도 화면을 재생해야 하기 때문에, 가상 현실 기술과 머리장착형 영상장치를 통한 서비스 시나리오에는 UHD(Ultra High-Definition)급 이상의 초 고화질 영상이 요구된다. 그러나, 초 고화질 영상의 전송에는 높은 대역폭이 요구되기 때문에 대역폭을 낮추기 위한 기술이 비디오 표준화 미팅에서 논의되고 있다.
머리장착형 영상장치를 이용한 콘텐츠들이 겪는 어려운 문제는 사용자 눈에는 매우 넓게 보이는 360도 영상 전체를 담는 비디오 화소수가 매우 높아야 한다는 점이다. 따라서 콘텐츠로 UHD 급의 영상을 이용할 필요성이 있는데, 이 경우 복수의 사용자 단말들 사이에 대역폭 확보가 어려운 문제점과, 처리해야 할 많은 비디오 데이터로 인해 사용자의 머리 움직임에 빠르게 응답하기 어렵다는 문제점을 갖게 된다. 클라우드 게임 콘텐츠들은 콘텐츠 특성상 인/디코딩 과정이나 전송과정에서 지연이 발생하므로 필요 대역폭 축소와 즉각적인 반응 확보가 필요하게 되었다.
또한, 360도의 가상 현실 공간 안에서 사용자가 바라보고 있는 영역인 뷰포트만 해당하는 영상만을 전송하여 초 고화질 영상의 전송으로 인한 대역폭을 낮추기 위해서, 움직임 예측과 보상을 제한하여 타일을 개별 혹은 일부 집합으로 전송할 수 있는 움직임이 제한된 타일 집합(Motion Constrained Tile Sets; MCTS)에 대한 기술이 논의되고 있다.
MCTS 기술을 적용하여 뷰포트에 해당하는 부분의 타일 영상만을 전송할 경우, 뷰포트가 약간이라도 포함되는 타일의 경우에도 전송이 되어 대역폭 낭비가 발생하고, 전송되지 않은 타일의 경우 화질 개선 없이 저화질로 디코딩 된다. 따라서, 뷰포트와 비디오 타일크기를 고려한 효율적 전송 기법과 화질을 개선할 수 있는 기술에 대한 필요성이 증대되고 있다.
본 명세서는 영상 전송 장치의 영상 전송 방법을 제시한다. 상기 영상 전송 방법은 프로세서를 포함한 영상 전송 장치에서 수행되는 방법으로서, 가상 현실 공간에 대한 기본 화질 비디오 데이터 및 고화질 비디오 데이터를 포함하는 비디오 데이터를 생성하는 동작, 상기 가상 현실 공간 내에서 사용자가 바라보고 있는 현재 뷰포트에 대한 정보 및 상기 사용자가 바라볼 것으로 예상되는 예측 뷰포트에 대한 정보에 적어도 일부 기초하여 시그널링 데이터를 생성하는 동작, 및 상기 비디오 데이터 및 상기 시그널링 데이터를 포함하는 비트스트림을 전송하는 동작을 포함하되, 상기 현재 뷰포트와 상기 예측 뷰포트에 대응되는 영역에 대해서 상기 고화질 비디오 데이터를 전송할 수 있다.
상기 방법 및 그 밖의 실시 예는 다음과 같은 특징을 포함할 수 있다.
상기 고화질 비디오 데이터는 적어도 하나의 타일로 분할되고, 상기 시그널링 데이터는 상기 현재 뷰포트 및 상기 예측 뷰포트에 포함되는 상기 적어도 하나의 타일을 식별하는 타일 정보를 포함할 수 있다.
또한, 상기 현재 뷰포트와 상기 예측 뷰포트에 대응되는 영역에 대해서 상기 고화질 비디오 데이터를 전송하는 동작은, 상기 비디오 데이터를 전송하는 통신 회선의 대역폭이 상기 고화질 비디오 데이터를 모두 전송하기에 충분한지의 여부를 판단하는 동작, 및 상기 대역폭이 충분하지 않은 것으로 판단되는 경우, 우선순위가 높은 타일부터 낮은 타일의 순서로 상기 대역폭의 허용 범위 내에서 상기 적어도 하나의 타일의 적어도 일부에 대한 상기 고화질 비디오 데이터를 전송하는 동작을 포함할 수 있다.
또한, 상기 우선순위는 상기 사용자로부터 상기 타일 내의 대상(object)까지의 거리에 따라 결정하되, 상기 대상이 상기 사용자에게 가까울수록 상기 대상이 포함된 타일에 높은 우선 순위를 부여할 수 있다.
또한, 상기 우선순위는 상기 뷰포트들에 포함된 타일들의 면적 비율에 따라 결정하되, 상기 면적 비율이 클수록 높은 우선 순위를 부여할 수 있다.
또한, 상기 현재 뷰포트와 상기 예측 뷰포트에 대응되는 영역에 대해서 상기 고화질 비디오 데이터를 전송하는 동작은, 상기 뷰포트에 포함된 타일들 중에서 상기 뷰포트에 포함된 면적 비율이 특정 값과 같거나 상기 특정 값 보다 큰 타일에 대해서 상기 고화질 비디오 데이터를 전송하는 동작을 포함할 수 있다.
또한, 상기 시그널링 데이터는 영상 구성 정보를 기초로 생성되고, 상기 영상 구성 정보는 상기 가상 현실 공간 내에서 상기 사용자의 뷰포트를 지시하는 시선 정보 및 상기 사용자의 시야각을 지시하는 줌 영역 정보를 포함할 수 있다.
또한, 상기 시그널링 데이터는 세션 정보를 실어 나르는 고수준 구문 프로토콜(High-Level Syntax Protocol), SEI (Supplement Enhancement Information), VUI (video usability information), 슬라이스 헤더(Slice Header), 및 상기 비디오 데이터를 서술하는 파일 중에서 적어도 하나를 통하여 전송될 수 있다.
또한, 상기 예측 뷰포트는 상기 현재 뷰포트에 대한 정보 및 가상 현실 콘텐츠의 내용에 적어도 일부 기초하여 결정될 수 있다.
또한, 상기 기본 화질 비디오 데이터는 기본 계층 비디오 데이터를 포함하고, 상기 고화질 비디오 데이터는 기본 계층 비디오 데이터와 향상 계층 비디오 데이터를 포함할 수 있다.
한편, 본 명세서는 영상 수신 장치의 영상 수신 방법을 제시한다. 상기 영상 수신 방법은 프로세서를 포함한 영상 수신 장치에서 수행되는 방법으로서, 가상 현실 공간에 대한 비디오 데이터 및 시그널링 데이터를 포함하는 비트스트림을 수신하는 동작, 상기 비디오 데이터를 기초로 기본 화질 비디오 데이터를 디코딩하는 동작, 및 상기 비디오 데이터 및 상기 시그널링 데이터를 기초로 고화질 비디오 데이터를 디코딩하는 동작을 포함하되, 상기 시그널링 데이터는 상기 가상 현실 공간 내에서 사용자가 바라보고 있는 영역에 대한 현재 뷰포트 및 상기 가상 현실 공간 내에서 상기 사용자가 바라볼 것으로 예상되는 예측 뷰포트에 대한 정보를 적어도 일부 포함하고, 상기 고화질 비디오 데이터는 상기 현재 뷰포트 및 상기 예측 뷰포트에 대응되는 비디오 데이터를 포함할 수 있다.
상기 방법 및 그 밖의 실시 예는 다음과 같은 특징을 포함할 수 있다.
상기 고화질 비디오 데이터는 적어도 하나의 타일로 분할되고, 상기 시그널링 데이터는 상기 현재 뷰포트 및 상기 예측 뷰포트에 포함되는 상기 적어도 하나의 타일을 식별하는 타일 정보를 포함할 수 있다.
또한, 상기 기본 화질 비디오 데이터는 기본 계층 비디오 데이터를 포함하고, 상기 고화질 비디오 데이터는 기본 계층 비디오 데이터 및 향상 계층 비디오 데이터를 포함하고, 상기 비디오 데이터 및 상기 시그널링 데이터를 기초로 고화질 비디오 데이터를 디코딩하는 동작은, 상기 뷰포트에 포함된 타일들 중 상기 고화질 비디오 데이터가 수신되지 않는 타일에 대해서 업샘플링된 기본 계층 비디오 데이터를 생성하는 동작, 및 상기 기본 계층 비디오 데이터, 상기 향상 계층 비디오 데이터 또는 및 상기 업샘플링된 기본 계층 비디오 데이터에 적어도 일부 기초하여, 상기 사용자에게 출력할 영상을 디코딩하는 동작을 포함할 수 있다.
또한, 상기 시그널링 데이터는 영상 구성 정보를 기초로 생성되고, 상기 영상 구성 정보는 상기 가상 현실 공간 내에서 상기 사용자의 뷰포트를 지시하는 시선 정보 및 상기 사용자의 시야각을 지시하는 줌 영역 정보를 포함할 수 있다.
또한, 상기 시그널링 데이터는 세션 정보를 실어 나르는 고수준 구문 프로토콜(High-Level Syntax Protocol), SEI (Supplement Enhancement Information), VUI (video usability information), 슬라이스 헤더(Slice Header), 및 상기 비디오 데이터를 서술하는 파일 중에서 적어도 하나를 통하여 전송될 수 있다.
한편, 본 명세서는 영상 전송 장치를 제시한다. 상기 영상 전송 장치는 가상 현실 공간에 대한 기본 화질 비디오 데이터 및 고화질 비디오 데이터를 포함하는 비디오 데이터를 생성하는 인코더, 상기 가상 현실 공간 내에서 사용자가 바라보고 있는 현재 뷰포트에 대한 정보 및 상기 사용자가 바라볼 것으로 예상되는 예측 뷰포트에 대한 정보에 적어도 일부 기초하여 시그널링 데이터를 생성하는 시그널링부, 상기 비디오 데이터 및 상기 시그널링 데이터를 포함하는 비트스트림을 생성하는 다중화기, 및 상기 비트스트림을 전송하는 통신부를 포함하되, 상기 비디오 데이터는 상기 가상 현실 공간 전체 영역에 대한 기본 화질 비디오 데이터 및 상기 현재 뷰포트와 상기 예측 뷰포트에 대응되는 영역에 대한 고화질 비디오 데이터를 포함할 수 있다.
상기 장치 및 그 밖의 실시 예는 다음과 같은 특징을 포함할 수 있다.
상기 고화질 비디오 데이터는 적어도 하나의 타일로 분할되고, 상기 시그널링 데이터는 상기 현재 뷰포트 및 상기 예측 뷰포트에 포함되는 상기 적어도 하나의 타일을 식별하는 타일 정보를 포함할 수 있다.
또한, 상기 비디오 데이터를 전송하는 통신 회선의 대역폭의 상태를 판단하는 제어부를 더 포함하고, 상기 제어부는 상기 대역폭이 상기 고화질 비디오 데이터를 모두 전송하기에 충분하지 않은 것으로 판단되는 경우, 우선순위가 높은 타일부터 낮은 타일의 순서로 상기 대역폭의 허용 범위 내에서 상기 적어도 하나의 타일의 적어도 일부에 대한 상기 고화질 비디오 데이터를 전송할 수 있다.
또한, 상기 제어부는 상기 타일 내의 대상(object)이 상기 사용자에게 가까울수록 상기 대상이 포함된 타일에 높은 우선 순위를 부여할 수 있다.
또한, 상기 제어부는 상기 뷰포트에 포함된 타일의 면적 비율이 클수록 높은 우선 순위를 부여할 수 있다.
또한, 상기 기본 화질 비디오 데이터는 기본 계층 비디오 데이터를 포함하고, 상기 고화질 비디오 데이터는 기본 계층 비디오 데이터와 향상 계층 비디오 데이터를 포함할 수 있다.
한편, 본 명세서는 영상 전송 장치의 다른 영상 전송 방법을 제시한다. 상기 영상 전송 방법은 프로세서를 포함한 영상 전송 장치에서 수행되는 방법으로서, 가상 현실 공간에 대한 적어도 2개 이상의 화질에 관련된 비디오 데이터를 생성하는 동작, 상기 가상 현실 공간 내에서 사용자의 현재 관심 영역 또는 예측 관심 영역을 포함하는 관심 영역에 대한 정보에 적어도 일부 기초하여 시그널링 정보를 생성하는 동작, 및 상기 비디오 데이터 및 상기 시그널링 정보를 포함하는 비디오 스트림 정보를 전송하는 동작을 포함하고, 상기 비디오 데이터는 관심 영역에 관련된 비디오 데이터와 비 관심 영역에 관련된 비디오 데이터를 포함하고, 관심영역에 관련된 비디오 데이터의 화질과 비 관심 영역에 관련된 비디오 데이터의 화질은 서로 다를 수 있다.
본 명세서에 개시된 실시 예들에 의하면, 뷰포트에 해당하는 영역만 고화질 비디오 데이터로 전송하고, 그 외의 영역은 기본 화질 비디오 데이터로 전송함으로써 전송 대역폭을 확보할 수 있는 효과가 있다.
또한, 본 명세서에 개시된 실시 예들에 의하면, 현재 뷰포트 및 예측 뷰포트에 해당하는 영상만 고화질로 전송하되, 비디오 데이터의 전송 중에 대역폭 부족의 문제가 발생해도, 우선 순위에 따라 전송될 타일을 선정하고, 대역폭의 상황에 따라 탄력적으로 전송될 비디오 데이터를 조절할 수 있으므로, 대역폭에 적응적으로 비디오 데이터를 전송할 수 있는 효과가 있다.
또한, 본 명세서에 개시된 실시 예들에 의하면, 서버 디바이스에서 다수의 클라이언트 디바이스로 가상 현실 비디오 데이터를 전송할 때, 상기 서버 디바이스와 상기 다수의 클라이언트 디바이스들 간의 각 통신 회선의 상태에 따라 현재 뷰포트와 예측 뷰포트 내의 타일들에 대한 고화질 영상을 선택적으로 전송할 수 있어서, 다수의 클라이언트가 연결된 통신회선의 대역폭도 유연하게 확보할 수 있는 효과가 있다.
또한, 본 명세서에 개시된 실시 예들에 의하면, 뷰포트에 포함되는 타일에 대한 비디오 데이터를 모두 전송할 때 보다 사용자 지연 시간이 짧아지고 전송 대역폭을 줄일 수 있는 효과가 있다.
또한, 본 명세서에 개시된 실시 예들에 의하면, 뷰포트에 해당하는 타일을 모두 전송하지 않아도, 사용자가 느끼는 불쾌감을 저감시킬 수 있는 효과가 있다.
또한, 본 명세서에 개시된 실시 예들에 의하면, 비디오 데이터 전송을 위한 통신 회선의 대역폭의 상태에 따라, 적응적으로 고화질의 비디오 데이터를 전송할 수 있는 효과가 있다.
도 1은 가상 현실 영상을 제공하는 예시적인 가상 현실 시스템을 도시한다.
도 2는 예시적인 스케일러블 비디오 코딩 서비스를 나타낸 도면이다.
도 3은 서버 디바이스의 예시적인 구성을 나타낸 블록도이다.
도 4는 서버 디바이스의 인코더의 예시적인 구성을 나타낸 블록도이다.
도 5는 관심 영역을 시그널링하는 예시적인 방법을 나타낸 도면이다.
도 6은 클라이언트 디바이스의 예시적인 구성을 나타낸 블록도이다.
도 7은 클라이언트 디바이스의 제어부의 예시적인 구성을 나타낸 블록도이다.
도 8은 클라이언트 디바이스의 디코더의 예시적인 구성을 나타낸 블록도이다.
도 9는 영상 스트리밍 서비스를 위한 예시적인 영상 전송 장치의 블럭도이다.
도 10은 예측 뷰포트와 대상 거리 정보의 시그널링을 예시적으로 도시한 도면이다.
도 11은 현재 뷰포트와 예측 뷰포트를 선반입하여 대역폭을 낮출 수 있는 스케일러블 비디오 코딩 기반의 스트리밍의 예를 도시한 도면이다.
도 12는 사용자로부터 영상 내 대상까지의 거리에 따른 뷰포트 예측 기술 기반의 고화질 게임 스트리밍의 예를 도시한 도면이다.
도 13은 영상 스트리밍 서비스를 위한 비디오 서버에서의 예시적인 영상 전송 방법을 도시한 도면이다.
도 14는 영상 스트리밍 서비스를 위한 클라이언트 디바이스에서의 예시적인 영상 수신 방법을 도시한 도면이다.
도 15는 뷰포트에 포함된 타일의 비율에 기초하여 우선순위를 설정하여 타일을 전송하는 방법을 나타낸 도면이다.
도 16은 뷰포트에 포함된 타일의 최소 비율에 따른 타일 전송의 예시도이다.
도 17은 영상 스트리밍 서비스를 위한 비디오 서버에서의 예시적인 영상 전송 방법의 다른 예를 도시한 도면이다.
도 18은 뷰포트에 포함된 타일들의 면적 비율에 기초한 우선 순위에 따른 영상 수신 방법의 예를 도시한다.
도 19는 특정 면적 비율에 따른 영상 수신 방법의 예를 도시한다.
도 20은 예측 뷰포트와 대상 거리 정보의 시그널링에서 제안하는 예시적인 SEI 페이로드 구문을 도시한 도면이다.
도 21은 예시적인 비디오 픽쳐별 뷰포트 신호 체계 규격을 도시한 도면이다.
도 22는 예시적인 파일, 청크, 비디오 픽쳐 그룹별 신호 체계 규격을 도시한 도면이다.
도 23은 XML 형태로 표현된 예시적인 타일 정보 구문을 도시한 도면이다.
도 24는 영상 전송의 신호 체계에서 전달되는 타일 정보를 예시적으로 도시한다.
도 25는 예시적인 OMAF 구문을 도시한다.
도 26은 XML 형태로 표현된 예시적인 타일 정보 구문을 도시한 도면이다.
본 명세서에 개시된 기술은 클라우드 기반의 영상 스트리밍을 제공하는 가상 현실 시스템에 적용될 수 있다. 그러나 본 명세서에 개시된 기술은 이에 한정되지 않고, 상기 기술의 기술적 사상이 적용될 수 있는 모든 전자 장치 및 방법에도 적용될 수 있다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 명세서에 개시된 기술의 사상을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 명세서에 개시된 기술의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 명세서에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥 상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예들을 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 명세서에 개시된 기술을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 기술의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 기술의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 그 기술의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
도 1은 가상 현실 영상을 제공하는 예시적인 가상 현실 시스템을 도시한다.
가상 현실 시스템은 가상 현실 영상을 생성하는 가상 현실 영상 생성 장치, 상기 입력된 가상 현실 영상을 인코딩하여 전송하는 서버 디바이스, 및 상기 전송된 가상 현실 영상을 디코딩하여 사용자에게 출력하는 하나 이상의 클라이언트 디바이스를 포함하도록 구성될 수 있다.
도 1을 참조하면, 예시적인 가상 현실 시스템(100)은 가상 현실 영상 생성 장치(110), 서버 디바이스(120), 및 하나 이상의 클라이언트 디바이스(130)를 포함하며, 도 1에 도시된 각 구성요소들의 수는 예시적인 것일 뿐 이에 제한되지 아니한다. 상기 가상 현실 시스템(100)은 360도 영상 제공 시스템으로도 불릴 수 있다.
상기 가상 현실 영상 생성 장치(110)는 하나 이상의 카메라 모듈을 포함하여 자신이 위치하고 있는 공간에 대한 영상을 촬영함으로써 공간 영상을 생성할 수 있다.
상기 서버 디바이스(120)는 상기 가상 현실 영상 생성 장치(110)에서 생성되어 입력된 공간 영상을 스티칭(Image stitching), 프로젝션(Projection), 맵핑(Mapping)하여 360도 영상을 생성하고, 상기 생성된 360도 영상을 원하는 품질의 비디오 데이터로 조절한 뒤 인코딩(Encoding; 부호화)할 수 있다.
또한, 상기 서버 디바이스(120)는 상기 인코딩된 360도 영상에 대한 비디오 데이터와 시그널링 데이터를 포함하는 비트스트림을 네트워크(통신망)을 통해서 클라이언트 디바이스(130)로 전송할 수 있다.
상기 클라이언트 디바이스(130)는 수신된 비트스트림을 디코딩(Decoding; 복호화)하여 상기 클라이언트 디바이스(130)를 착용한 사용자에게 360도 영상을 출력할 수 있다. 상기 클라이언트 디바이스(130)는 머리장착형 영상장치(Head-Mounted Display; HMD)와 같은 근안 디스플레이(Near-eye display) 장치일 수 있다.
한편, 상기 가상 현실 영상 생성 장치(110)는 컴퓨터 시스템으로 구성되어 컴퓨터 그래픽으로 구현된 가상의 360도 공간에 대한 영상을 생성할 수도 있다. 또한, 상기 가상 현실 영상 생성 장치(110)는 가상 현실 게임 등의 가상 현실 콘텐츠의 공급자 일 수 있다.
클라이언트 디바이스(130)는 해당 클라이언트 디바이스(130)를 사용하는 사용자로부터 사용자 데이터를 획득할 수 있다. 사용자 데이터는 사용자의 영상 데이터, 음성 데이터, 뷰포트 데이터(시선 데이터), 관심 영역 데이터 및 부가 데이터를 포함할 수 있다.
예를 들어, 클라이언트 디바이스(130)는 사용자의 영상 데이터를 획득하는 2D/3D 카메라 및 Immersive 카메라 중에서 적어도 하나를 포함할 수 있다. 2D/3D 카메라는 180도 이하의 시야각을 가지는 영상을 촬영할 수 있다. Immersive 카메라는 360도 이하의 시야각을 가지는 영상을 촬영할 수 있다.
예를 들어, 클라이언트 디바이스(130)는 제1 장소에 위치한 제1 사용자의 사용자 데이터를 획득하는 제1 클라이언트 디바이스(131), 제2 장소에 위치한 제2 사용자의 사용자 데이터를 획득하는 제2 클라이언트 디바이스(133), 및 제3 장소에 위치한 제3 사용자의 사용자 데이터를 획득하는 제3 클라이언트 디바이스(135) 중에서 적어도 하나를 포함할 수 있다.
각각의 클라이언트 디바이스(130)는 사용자로부터 획득한 사용자 데이터를 네트워크를 통하여 서버 디바이스(120)로 전송할 수 있다.
서버 디바이스(120)는 클라이언트 디바이스(130)로부터 적어도 하나의 사용자 데이터를 수신할 수 있다. 서버 디바이스(120)는 수신한 사용자 데이터를 기초로 가상 현실 공간에 대한 전체 영상을 생성할 수 있다. 서버 디바이스(120)가 생성한 전체 영상은 가상 현실 공간 내에서 360도 방향의 영상을 제공하는 immersive 영상을 나타낼 수 있다. 서버 디바이스(120)는 사용자 데이터에 포함된 영상 데이터를 가상 현실 공간에 매핑하여 전체 영상을 생성할 수 있다.
서버 디바이스(120)는 상기 생성된 전체 영상을 각 사용자에게 전송할 수 있다.
각각의 클라이언트 디바이스(130)는 전체 영상을 수신하고, 각 사용자가 바라보는 영역만을 가상 현실 공간에 렌더링 및/또는 디스플레이할 수 있다.
도 2는 예시적인 스케일러블 비디오 코딩 서비스를 나타낸 도면이다.
스케일러블 비디오 코딩 서비스는 다양한 멀티미디어 환경에서 네트워크의 상황 혹은 단말기의 해상도 등과 같은 다양한 사용자 환경에 따라 시간적, 공간적, 그리고 화질 관점에서 계층적(Scalable)으로 다양한 서비스를 제공하기 위한 영상 압축 방법이다. 스케일러블 비디오 코딩 서비스는 일반적으로 해상도(Spatial resolution), 품질(Quality), 및 시간(Temporal) 측면에서의 계층성(Scalability)을 제공한다.
공간적 계층성(Spatial scalability)은 동일한 영상에 대해 각 계층별로 다른 해상도를 가지고 부호화함으로써 서비스할 수 있다. 공간적 계층성을 이용하여 디지털 TV, 노트북, 스마트 폰 등 다양한 해상도를 갖는 디바이스에 대해 적응적으로 영상 콘텐츠를 제공하는 것이 가능하다.
도면을 참고하면, 스케일러블 비디오 코딩 서비스는 VSP(비디오 서비스 프로바이더; Video Service Provider)로부터 가정 내의 홈 게이트웨이 (Home Gateway)를 통해 동시에 하나 이상의 서로 다른 특성을 가진 TV를 지원할 수 있다. 예를 들어, 스케일러블 비디오 코딩 서비스는 서로 다른 해상도(Resolution)를 가지는 HDTV (High-Definition TV), SDTV (Standard-Definition TV), 및 LDTV (Low-Definition TV)를 동시에 지원할 수 있다.
시간적 계층성(Temporal scalability)은 콘텐츠가 전송되는 네트워크 환경 또는 단말기의 성능을 고려하여 영상의 프레임 레이트(Frame rate)를 적응적으로 조절할 수 있다. 예를 들어, 근거리 통신망을 이용하는 경우에는 60FPS(Frame Per Second)의 높은 프레임 레이트로 서비스를 제공하고, 상기 근거리 통신망에 비해 상대적으로 전송속도가 느린 3G 모바일 네트워크와 같은 무선 광대역 통신망을 사용하는 경우에는 16FPS의 낮은 프레임 레이트로 콘텐츠를 제공함으로써, 사용자가 영상을 끊김 없이 받아볼 수 있도록 서비스를 제공할 수 있다. 그러나 5G 모바일 네트워크와 같은 고속의 무선 광대역 통신망을 사용하는 경우에는 60FPS의 높은 프레임 레이트로 서비스를 제공할 수 있다.
품질 계층성(Quality scalability) 또한 네트워크 환경이나 단말기의 성능에 따라 다양한 화질의 콘텐츠를 서비스함으로써, 사용자가 영상 콘텐츠를 안정적으로 재생할 수 있도록 한다.
스케일러블 비디오 코딩 서비스는 각각 기본 계층(Base layer)과 하나 이상의 향상 계층(Enhancement layer(s))을 포함할 수 있다. 수신기는 기본 계층만 받았을 때는 일반 화질의 영상을 제공하고, 기본 계층 및 향상 계층을 함께 받으면 고화질을 제공할 수 있다. 즉, 기본 계층과 하나 이상의 향상 계층이 있을 때, 기본 계층을 받은 상태에서 향상 계층(예: enhancement layer 1, enhancement layer 2, …, enhancement layer n)을 더 받으면 받을수록 화질이나 제공하는 영상의 품질이 좋아진다.
이와 같이, 스케일러블 비디오 코딩 서비스의 영상은 복수 개의 계층으로 구성되어 있으므로, 수신기는 적은 용량의 기본 계층 데이터를 빨리 전송 받아 일반적 화질의 영상을 빨리 처리하여 재생하고, 필요 시 향상 계층 영상 데이터까지 추가로 받아서 서비스의 품질을 높일 수 있다.
도 3은 서버 디바이스의 예시적인 구성을 나타낸 도면이다.
서버 디바이스(300)는 제어부(310) 및/또는 통신부(320)를 포함할 수 있다.
제어부(310)는 가상 현실 공간에 대한 전체 영상을 생성하고, 생성된 전체 영상을 인코딩할 수 있다. 또한, 제어부(310)는 서버 디바이스(300)의 모든 동작을 제어할 수 있다. 구체적인 내용은 이하에서 설명한다.
통신부(320)는 외부 장치 및/또는 클라이언트 디바이스로 데이터를 전송 및/또는 수신할 수 있다. 예를 들어, 통신부(320)는 적어도 하나의 클라이언트 디바이스로부터 사용자 데이터 및/또는 시그널링 데이터를 수신할 수 있다. 또한, 통신부(320)는 가상 현실 공간에 대한 전체 영상 및/또는 일부의 영역에 대한 영상을 클라이언트 디바이스로 전송할 수 있다.
제어부(310)는 시그널링 데이터 추출부(311), 영상 생성부(313), 관심 영역 판단부(315), 시그널링 데이터 생성부(317), 및/또는 인코더(319) 중에서 적어도 하나를 포함할 수 있다.
시그널링 데이터 추출부(311)는 클라이언트 디바이스로부터 전송 받은 데이터로부터 시그널링 데이터를 추출할 수 있다. 예를 들어, 시그널링 데이터는 영상 구성 정보를 포함할 수 있다. 상기 영상 구성 정보는 가상 현실 공간 내에서 사용자의 시선 방향을 지시하는 시선 정보 및 사용자의 시야각을 지시하는 줌 영역 정보를 포함할 수 있다. 또한, 상기 영상 구성 정보는 가상 현실 공간 내에서 사용자의 뷰포트 정보를 포함할 수 있다.
영상 생성부(313)는 가상 현실 공간에 대한 전체 영상 및 가상 현실 공간 내의 특정 영역에 대한 영상을 생성할 수 있다.
관심 영역 판단부(315)는 가상 현실 공간의 전체 영역 내에서 사용자의 시선 방향에 대응되는 관심 영역을 판단할 수 있다. 또한, 가상 현실 공간의 전체 영역 내에서 사용자의 뷰포트를 판단할 수 있다. 예를 들어, 관심 영역 판단부(315)는 시선 정보 및/또는 줌 영역 정보를 기초로 관심 영역을 판단할 수 있다. 예를 들어, 관심 영역은 사용자가 보게 될 가상의 공간에서 중요 오브젝트가 위치할 타일의 위치(예를 들어, 게임 등에서 새로운 적이 등장하는 위치, 가상 현실 공간에서의 화자의 위치), 및/또는 사용자의 시선이 바라보는 곳일 수 있다. 또한, 관심 영역 판단부(315)는 가상 현실 공간의 전체 영역 내에서 사용자의 시선 방향에 대응되는 관심 영역을 지시하는 관심 영역 정보와 사용자의 뷰포트에 대한 정보를 생성할 수 있다.
시그널링 데이터 생성부(317)는 전체 영상을 처리하기 위한 시그널링 데이터를 생성할 수 있다. 예를 들어, 시그널링 데이터는 관심 영역 정보 및/또는 뷰포트 정보를 전송할 수 있다. 시그널링 데이터는 SEI (Supplement Enhancement Information), VUI (video usability information), 슬라이스 헤더(Slice Header), 및 비디오 데이터를 서술하는 파일 중에서 적어도 하나를 통하여 전송될 수 있다.
인코더(319)는 시그널링 데이터를 기초로 전체 영상을 인코딩할 수 있다. 예를 들어, 인코더(319)는 각 사용자의 시선 방향을 기초로 각 사용자에게 커스터마이즈된 방식으로 전체 영상을 인코딩할 수 있다. 예를 들어, 가상 현실 공간 내에서 사용자가 특정 지점을 바라보는 경우, 인코더는 가상 현실 공간 내의 사용자 시선을 기초로 특정 지점에 해당하는 영상은 고화질로 인코딩하고, 상기 특정 지점 이외에 해당하는 영상은 저화질로 인코딩할 수 있다. 실시예에 따라서, 인코더(319)는 시그널링 데이터 추출부(311), 영상 생성부(313), 관심 영역 판단부(315), 및/또는 시그널링 데이터 생성부(317) 중에서 적어도 하나를 포함할 수 있다.
또한, 제어부(310)는 시그널링 데이터 추출부(311), 영상 생성부(313), 관심 영역 판단부(315), 시그널링 데이터 생성부(317), 및 인코더(319) 이 외에 프로세서(도시하지 않음), 메모리(도시하지 않음), 및 입출력 인터페이스(도시하지 않음)를 포함할 수 있다.
상기 프로세서는 중앙처리장치(Central Processing Unit; CPU), 어플리케이션 프로세서(Application Processor; AP), 또는 커뮤니케이션 프로세서(Communication Processor; CP) 중 하나 또는 그 이상을 포함할 수 있다. 상기 프로세서는, 예를 들어, 상기 제어부(310)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
또한, 상기 프로세서는, 예를 들어, SoC(system on chip)로 구현될 수 있다. 일 실시예에 따르면, 상기 프로세서는 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서(image signal processor)를 더 포함할 수 있다.
또한, 상기 프로세서는, 예를 들어, 운영 체제 또는 응용 프로그램을 구동하여 상기 프로세서에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다.
또한, 상기 프로세서는 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
상기 메모리는 휘발성(volatile) 및/또는 비휘발성(non-volatile) 메모리를 포함할 수 있다. 상기 메모리는, 예를 들어, 상기 제어부(310)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시예에 따르면, 상기 메모리는 소프트웨어 및/또는 프로그램을 저장할 수 있다.
상기 입출력 인터페이스는, 예를 들어, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 상기 제어부(310)의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 상기 입출력 인터페이스는 상기 제어부(310)의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
이하에서는 관심 영역을 이용한 예시적인 영상 전송 방법을 설명한다.
서버 디바이스는, 통신부를 이용하여, 적어도 하나의 클라이언트 디바이스로부터 비디오 데이터 및 시그널링 데이터를 수신할 수 있다. 또한, 서버 디바이스는, 시그널링 데이터 추출부를 이용하여, 시그널링 데이터를 추출할 수 있다. 예를 들어, 시그널링 데이터는 시점 정보 및 줌 영역 정보를 포함할 수 있다.
시선 정보는 사용자가 가상 현실 공간 내에서 어느 영역(지점)을 바라보는지 여부를 지시할 수 있다. 가상 현실 공간 내에서 사용자가 특정 영역을 바라보면, 시선 정보는 사용자에서 상기 특정 영역으로 향하는 방향을 지시할 수 있다.
줌 영역 정보는 사용자의 시선 방향에 해당하는 비디오 데이터의 확대 범위 및/또는 축소 범위를 지시할 수 있다. 또한, 줌 영역 정보는 사용자의 시야각을 지시할 수 있다. 줌 영역 정보의 값을 기초로 비디오 데이터가 확대되면, 사용자는 특정 영역만을 볼 수 있다. 줌 영역 정보의 값을 기초로 비디오 데이터가 축소되면, 사용자는 특정 영역뿐만 아니라 상기 특정 영역 이외의 영역 일부 및/또는 전체를 볼 수 있다.
서버 디바이스는, 영상 생성부를 이용하여, 가상 현실 공간에 대한 전체 영상을 생성할 수 있다.
서버 디바이스는, 관심 영역 판단부를 이용하여, 시그널링 데이터를 기초로 가상 현실 공간 내에서 각 사용자가 바라보는 시점 및 줌(zoom) 영역에 대한 영상 구성 정보를 파악할 수 있다. 상기 관심 영역 판단부는 영상 구성 정보를 기초로 사용자의 관심 영역을 결정할 수 있다.
시그널링 데이터(예를 들어, 시점 정보 및 줌 영역 정보 중에서 적어도 하나)가 변경될 경우, 서버 디바이스는 새로운 시그널링 데이터를 수신할 수 있다. 이 경우, 서버 디바이스는 새로운 시그널링 데이터를 기초로 새로운 관심 영역을 결정할 수 있다.
서버 디바이스의 제어부는, 시그널링 데이터를 기초로 현재 처리하는 데이터가 관심 영역에 해당하는 데이터인지의 여부를 판단할 수 있다.
시그널링 데이터가 변경되는 경우, 서버 디바이스는 새로운 시그널링 데이터를 기초로 현재 처리하는 데이터가 관심 영역에 해당하는 데이터인지 아닌지 여부를 판단할 수 있다. 상기 현재 처리하는 데이터가 관심 영역에 해당하는 데이터일 경우, 서버 디바이스는, 인코더를 이용하여, 사용자의 시점에 해당하는 비디오 데이터(예를 들어, 관심 영역)는 고화질로 인코딩할 수 있다. 예를 들어, 서버 디바이스는 상기 사용자의 시점에 해당하는 비디오 데이터에 대하여 기본 계층 비디오 데이터 및 향상 계층 비디오 데이터를 생성하여 이들을 전송할 수 있다.
또한, 시그널링 데이터가 변경되는 경우, 서버 디바이스는 새로운 시점에 해당하는 비디오 데이터(새로운 관심 영역)는 고화질의 영상으로 전송할 수 있다. 기존에 서버 디바이스가 기본 화질의 영상을 전송하고 있었으나 시그널링 데이터가 변경되어 서버 디바이스가 고화질의 영상을 전송해야 하는 경우, 서버 디바이스는 향상 계층 비디오 데이터를 추가로 생성 및/또는 전송할 수 있다.
새로운 시그널링 데이터를 기초로 현재 처리하는 데이터가 관심 영역에 해당하지 않는 데이터일 경우, 서버 디바이스는 사용자의 시점에 해당하지 않는 비디오 데이터(예를 들어, 비-관심 영역)은 기본 화질로 인코딩할 수 있다. 예를 들어, 서버 디바이스는 사용자의 시점에 해당하지 않는 비디오 데이터에 대하여 기본 계층 비디오 데이터만 생성하고, 이들을 전송할 수 있다.
시그널링 데이터가 변경되는 경우, 서버 디바이스는 새로운 사용자의 시점에 해당하지 않는 비디오 데이터(새로운 비-관심 영역)는 기본 화질의 영상으로 전송할 수 있다. 기존에 서버 디바이스가 고화질의 영상을 전송하고 있었으나 시그널링 데이터가 변경되어 서버 디바이스가 기본 화질의 영상을 전송해야 하는 경우, 서버 디바이스는 더 이상 적어도 하나의 향상 계층 비디오 데이터를 생성 및/또는 전송하지 않고, 기본 계층 비디오 데이터만을 생성 및/또는 전송할 수 있다.
즉, 기본 계층 비디오 데이터를 수신했을 때의 비디오 데이터의 화질은 향상 계층 비디오 데이터까지 받았을 때의 비디오 데이터의 화질보다는 낮으므로, 클라이언트 디바이스는 사용자가 고개를 돌린 정보를 센서 등으로부터 얻는 순간에, 사용자의 시선 방향에 해당하는 비디오 데이터(예를 들어, 관심 영역에 대한 비디오 데이터)에 대한 향상 계층 비디오 데이터를 수신할 수 있다. 그리고, 클라이언트 디바이스는 짧은 시간 내에 고화질의 비디오 데이터를 사용자에게 제공할 수 있다.
도 4는 서버 디바이스의 인코더의 예시적인 구성을 나타낸 도면이다.
인코더(400, 영상 부호화 장치)는 기본 계층 인코더(410), 적어도 하나의 향상 계층 인코더(420), 및 다중화기(430) 중에서 적어도 하나를 포함할 수 있다.
인코더(400)는 스케일러블 비디오 코딩 방법을 사용하여 전체 영상을 인코딩할 수 있다. 스케일러블 비디오 코딩 방법은 SVC(Scalable Video Coding) 및/또는 SHVC(Scalable High Efficiency Video Coding)를 포함할 수 있다.
스케일러블 비디오 코딩 방법은 다양한 멀티미디어 환경에서 네트워크의 상황 혹은 단말기의 해상도 등과 같은 다양한 사용자 환경에 따라서 시간적, 공간적, 및 화질 관점에서 계층적(Scalable)으로 다양한 서비스를 제공하기 위한 영상 압축 방법이다. 예를 들어, 인코더(400)는 동일한 비디오 데이터에 대하여 두 가지 이상의 다른 품질(또는 해상도, 프레임 레이트)의 영상들을 인코딩하여 비트스트림을 생성할 수 있다.
예를 들어, 인코더(400)는 비디오 데이터의 압축 성능을 높이기 위해서 계층 간 중복성을 이용한 인코딩 방법인 계층간 예측 툴(Inter-layer prediction tools)을 사용할 수 있다. 계층 간 예측 툴은 계층 간에 존재하는 영상의 중복성을 제거하여 향상 계층(Enhancement Layer; EL)에서의 압축 효율을 높이는 기술이다.
향상 계층은 계층 간 예측 툴을 이용하여 참조 계층(Reference Layer)의 정보를 참조하여 인코딩될 수 있다. 참조 계층이란 향상 계층 인코딩 시 참조되는 하위 계층을 말한다. 여기서, 계층 간 예측 툴을 사용함으로써 계층 사이에 의존성(Dependency)이 존재하기 때문에, 최상위 계층의 영상을 디코딩하기 위해서는 참조되는 모든 하위 계층의 비트스트림이 필요하다. 중간 계층에서는 디코딩 대상이 되는 계층과 그 하위 계층들의 비트스트림 만을 획득하여 디코딩을 수행할 수 있다. 최하위 계층의 비트스트림은 기본 계층(Base Layer; BL)으로써, H.264/AVC, HEVC 등의 인코더로 인코딩될 수 있다.
기본 계층 인코더(410)는 전체 영상을 인코딩하여 기본 계층을 위한 기본 계층 비디오 데이터(또는 기본 계층 비트스트림)를 생성할 수 있다. 예를 들어, 기본 계층 비디오 데이터는 사용자가 가상 현실 공간 내에서 바라보는 전체 영역을 위한 비디오 데이터를 포함할 수 있다. 기본 계층의 영상은 가장 낮은 화질의 영상일 수 있다.
향상 계층 인코더(420)는, 시그널링 데이터(예를 들어, 관심 영역 정보) 및 기본 계층 비디오 데이터를 기초로, 전체 영상을 인코딩하여 기본 계층으로부터 예측되는 적어도 하나의 향상 계층을 위한 적어도 하나의 향상 계층 비디오 데이터(또는 향상 계층 비트스트림)를 생성할 수 있다. 향상 계층 비디오 데이터는 전체 영역 내에서 관심 영역을 위한 비디오 데이터를 포함할 수 있다.
다중화기(430)는 기본 계층 비디오 데이터, 적어도 하나의 향상 계층 비디오 데이터, 및/또는 시그널링 데이터를 멀티플렉싱하고, 전체 영상에 해당하는 하나의 비트스트림을 생성할 수 있다.
도 5는 관심 영역을 시그널링하는 방법을 예시적으로 나타낸 도면으로, 스케일러블 비디오 코딩에서 관심 영역을 시그널링하는 방법을 나타낸다.
도 5를 참조하면, 서버 디바이스(또는 인코더)는 기본 계층(BL)과 적어도 하나의 향상 계층(EL)으로 구성되는 스케일러블 비디오 데이터(500)에서 향상 계층으로 구성된 하나의 비디오 데이터(또는 픽처)를 직사각형 모양을 갖는 여러 타일(Tile)들(510)로 분할할 수 있다. 예를 들어, 비디오 데이터는 Coding Tree Unit(CTU) 단위를 경계로 분할될 수 있다. 예를 들어, 하나의 CTU는 Y CTB, Cb CTB, 및 Cr CTB를 포함할 수 있다.
서버 디바이스는 빠른 사용자 응답을 위해서 기본 계층(BL)의 비디오 데이터는 타일로 분할하지 않고 전체적으로 인코딩할 수 있다.
서버 디바이스는 하나 이상의 향상 계층들의 비디오 데이터는 필요에 따라서 일부 또는 전체를 여러 타일들로 분할하여 인코딩할 수 있다. 즉, 서버 디바이스는 향상 계층의 비디오 데이터는 적어도 하나의 타일로 분할하고, 관심 영역(520, ROI, Region of Interest)에 해당하는 타일들을 인코딩할 수 있다.
이 때, 관심 영역(520)은 가상 현실 공간에서 사용자가 보게 될 중요 오브젝트(Object)가 위치할 타일들의 위치(예를 들어, 게임에서 새로운 적이 등장하는 위치, 화상 통신에서 가상공간에서의 화자의 위치), 및/또는 사용자의 시선이 바라보는 곳에 해당할 수 있다.
또한, 서버 디바이스는 관심 영역에 포함되는 적어도 하나의 타일을 식별하는 타일 정보를 포함하는 관심 영역 정보를 생성할 수 있다. 예를 들어, 관심 영역 정보는 서버 디바이스에 포함된 관심 영역 판단부, 시그널링 데이터 생성부, 및/또는 인코더에 의해서 생성될 수 있다.
관심 영역(520)의 타일 정보는 연속적이므로 모든 타일의 번호를 다 갖지 않더라도 효과적으로 압축될 수 있다. 예를 들어, 타일 정보는 관심 영역에 해당하는 모든 타일의 번호들뿐만 아니라 타일의 시작 번호와 끝 번호, 좌표점 정보, CU (Coding Unit) 번호 리스트, 수식으로 표현된 타일 번호를 포함할 수 있다.
또한, 관심 영역(520)은 사용자의 현재 뷰포트 일 수 있다.
비-관심 영역의 타일 정보는 인코더가 제공하는 Entropy coding을 거친 후 다른 클라이언트 디바이스, 영상 프로세싱 컴퓨팅 장비, 및/또는 서버로 전송될 수 있다.
관심 영역 정보는 세션 정보를 실어 나르는 고수준 구문 프로토콜(High-Level Syntax Protocol)을 통해 전해질 수 있다. 또한, 관심 영역 정보는 비디오 표준의 SEI (Supplement Enhancement Information), VUI (video usability information), 슬라이스 헤더 (Slice Header) 등의 패킷 단위에서 전해질 수 있다. 또한, 관심 영역 정보는 비디오 파일을 서술하는 별도의 파일로(e.g. DASH의 MPD) 전달될 수 있다.
이하에서는, 단일 화면 비디오에서의 관심 영역을 시그널링하는 방법을 나타낸다.
본 명세서의 예시적인 기술은 스케일러블 비디오가 아닌 단일 화면 영상에서는 일반적으로 관심 영역(ROI)이 아닌 영역을 다운스케일링(downscaling)(다운샘플링(downsampling))하는 방식으로 화질을 떨어뜨리는 기법을 사용할 수 있다.
종래 기술은 서비스를 이용하는 단말 간에 다운스케일링(downscaling)을 위해 쓴 필터(filter) 정보를 공유하지 않고, 처음부터 한가지 기술로 약속을 하거나 인코더만 필터 정보를 알고 있다.
하지만, 본 명세서의 서버 디바이스는, 인코딩된 영상을 전달 받는 클라이언트 디바이스(또는 HMD 단말)에서 다운스케일링(downscaling)된 관심 영역 외 영역의 화질을 조금이라도 향상 시키기 위해, 인코딩 시에 사용된 필터 정보를 클라이언트 디바이스로 전달할 수 있다. 이 기술은 실제로 영상 처리 시간을 상당히 줄일 수 있으며, 화질 향상을 제공할 수 있다.
전술한 바와 같이, 서버 디바이스는 관심 영역 정보를 생성할 수 있다. 예를 들어, 관심 영역 정보는 타일 정보뿐만 아니라 필터 정보를 더 포함할 수 있다. 예를 들어, 필터 정보는 약속된 필터 후보들의 번호, 필터에 사용된 값들을 포함할 수 있다.
도 6은 클라이언트 디바이스의 예시적인 구성을 나타낸 도면이다.
클라이언트 디바이스(600)는 영상 입력부(610), 오디오 입력부(620), 센서부(630), 영상 출력부(640), 오디오 출력부(650), 통신부(660), 및/또는 제어부(670) 중에서 적어도 하나를 포함할 수 있다. 예를 들어, 클라이언트 디바이스(600)는 HMD(Head-Mounted Display)일 수 있다. 또한, 클라이언트 디바이스(600)의 제어부(670)는 클라이언트 디바이스(600)에 포함될 수도 있고, VR 디바이스의 스마트폰처럼 별도의 장치로 존재할 수도 있다.
영상 입력부(610)는 비디오 데이터를 촬영할 수 있다. 영상 입력부(610)는 사용자의 영상을 획득하는 2D/3D 카메라 및/또는 Immersive 카메라 중에서 적어도 하나를 포함할 수 있다. 2D/3D 카메라는 180도 이하의 시야각을 가지는 영상을 촬영할 수 있다. Immersive 카메라는 360도 이하의 시야각을 가지는 영상을 촬영할 수 있다.
오디오 입력부(620)는 사용자의 음성을 녹음할 수 있다. 예를 들어, 오디오 입력부(620)는 마이크를 포함할 수 있다.
센서부(630)는 사용자 시선의 움직임에 대한 정보를 획득할 수 있다. 예를 들어, 센서부(630)는 물체의 방위 변화를 감지하는 자이로 센서, 이동하는 물체의 가속도나 충격의 세기를 측정하는 가속도 센서, 및 사용자의 시선 방향을 감지하는 외부 센서를 포함할 수 있다. 실시예에 따라서, 센서부(630)는 영상 입력부(610) 및 오디오 입력부(620)를 포함할 수도 있다.
영상 출력부(640)는 통신부(660)로부터 수신되거나 메모리(미도시)에 저장된 영상 데이터를 출력할 수 있다.
오디오 출력부(650)는 통신부(660)로부터 수신되거나 메모리에 저장된 오디오 데이터를 출력할 수 있다.
통신부(660)는 방송망, 무선통신망 및/또는 브로드밴드를 통해서 외부의 클라이언트 디바이스 및/또는 서버 디바이스와 통신할 수 있다. 통신부(660)는 데이터를 전송하는 전송부(미도시) 및/또는 데이터를 수신하는 수신부(미도시)를 더 포함할 수 있다.
제어부(670)는 클라이언트 디바이스(600)의 모든 동작을 제어할 수 있다. 제어부(670)는 서버 디바이스로부터 수신한 비디오 데이터 및 시그널링 데이터를 처리할 수 있다. 제어부(670)에 대한 구체적인 내용은 이하의 도 7에서 상세히 설명한다.
도 7은 클라이언트 디바이스의 제어부의 예시적인 구성을 나타낸 블록도이다.
제어부(700)는 시그널링 데이터 및/또는 비디오 데이터를 처리할 수 있다. 제어부(700)는 시그널링 데이터 추출부(710), 디코더(720), 시선 판단부(730), 및/또는 시그널링 데이터 생성부(740) 중에서 적어도 하나를 포함할 수 있다.
시그널링 데이터 추출부(710)는 서버 디바이스 및/또는 다른 클라이언트 디바이스로부터 전송 받은 데이터로부터 시그널링 데이터를 추출할 수 있다. 예를 들어, 시그널링 데이터는 관심 영역 정보를 포함할 수 있다.
디코더(720)는 시그널링 데이터를 기초로 비디오 데이터를 디코딩할 수 있다. 예를 들어, 디코더(720)는 각 사용자의 시선 방향을 기초로 각 사용자에게 커스터마이즈된 방식으로 전체 영상을 디코딩할 수 있다. 예를 들어, 가상 현실 공간 내에서 사용자가 특정 영역을 바라보는 경우, 디코더(720)는 가상 현실 공간 내의 사용자 시선을 기초로 특정 영역에 해당하는 영상은 고화질로 디코딩하고, 특정 영역 이외에 해당하는 영상은 저화질로 디코딩할 수 있다. 실시예에 따라서, 디코더(720)는 시그널링 데이터 추출부(710), 시선 판단부(730), 및/또는 시그널링 데이터 생성부(740) 중에서 적어도 하나를 포함할 수 있다.
시선 판단부(730)는 가상 현실 공간 내에서 사용자의 시선을 판단하고, 영상 구성 정보를 생성할 수 있다. 예를 들어, 영상 구성 정보는 시선 방향을 지시하는 시선 정보 및/또는 사용자의 시야각을 지시하는 줌 영역 정보를 포함할 수 있다.
시그널링 데이터 생성부(740)는 서버 디바이스 및/또는 다른 클라이언트 디바이스로 전송하기 위한 시그널링 데이터를 생성할 수 있다. 예를 들어, 시그널링 데이터는 영상 구성 정보를 전송할 수 있다. 또한, 시그널링 데이터는 세션 정보를 실어 나르는 고수준 구문 프로토콜(High-Level Syntax Protocol)을 통해 전해질 수 있으며, 시그널링 데이터는 SEI (Supplement Enhancement Information), VUI (video usability information), 슬라이스 헤더 (Slice Header), 및 비디오 데이터를 서술하는 파일 중에서 적어도 하나를 통하여 전송될 수도 있다.
도 8은 클라이언트 디바이스의 디코더의 예시적인 구성을 나타낸 도면이다.
디코더(800)는 추출기(810), 기본 계층 디코더(820), 및/또는 적어도 하나의 향상 계층 디코더(830) 중에서 적어도 하나를 포함할 수 있다.
디코더(800)는 스케일러블 비디오 코딩 방법의 인코딩 과정의 역 과정을 이용하여 비디오 데이터를 포함하는 비트스트림을 디코딩할 수 있다.
추출기(810)는 비디오 데이터 및 시그널링 데이터를 포함하는 비트스트림(비디오 데이터)을 수신하고, 재생하고자 하는 영상의 화질에 따라서 비트스트림을 선택적으로 추출할 수 있다. 예를 들어, 비트스트림(비디오 데이터)은 기본 계층을 위한 기본 계층 비트스트림(기본 계층 비디오 데이터) 및 기본 계층으로부터 예측되는 적어도 하나의 향상 계층을 위한 적어도 하나의 향상 계층 비트스트림(향상 계층 비디오 데이터)을 포함할 수 있다. 기본 계층 비트스트림(기본 계층 비디오 데이터)는 가상 현실 공간의 전체 영역을 위한 비디오 데이터를 포함할 수 있다. 적어도 하나의 향상 계층 비트스트림(향상 계층 비디오 데이터)는 전체 영역 내에서 관심 영역을 위한 비디오 데이터를 포함할 수 있다.
또한, 시그널링 데이터는 화상 회의 서비스를 위한 가상 현실 공간의 전체 영역 내에서 사용자의 시선 방향에 대응되는 관심 영역을 지시하는 관심 영역 정보를 포함할 수 있다.
기본 계층 디코더(820)는 저화질 영상을 위한 기본 계층의 비트스트림(또는 기본 계층 비디오 데이터)을 디코딩할 수 있다.
향상 계층 디코더(830)는 시그널링 데이터 및/또는 기본 계층의 비트스트림(또는 기본 계층 비디오 데이터)을 기초로 고화질 영상을 위한 적어도 하나의 향상 계층의 비트스트림(또는 향상 계층 비디오 데이터)을 디코딩할 수 있다.
한편, 디코더(800)는 비트스트림에 포함된 비디오 데이터가 스케일러블 비디오 코딩으로 인코딩된 데이터가 아닐 경우엔, 비디오 스트림으로부터 가상 현실 공간의 전체 영역을 위한 기본 화질의 비디오 데이터와 가상 현실 공간 전체 영역 내에서 관심 영역을 위한 고화질의 비디오 데이터를 추출할 수 있다.
이하에서는, 사용자 시선의 움직임에 실시간으로 대응하기 위한 영상 구성 정보를 생성하는 방법에 대하여 설명한다.
영상 구성 정보는 사용자의 시선 방향을 지시하는 시선 정보 및/또는 사용자의 시야각을 지시하는 줌 영역 정보 중에서 적어도 하나를 포함할 수 있다. 사용자 시선이란 실제 공간이 아닌 가상 현실 공간 내에서 사용자가 바라보는 방향을 의미한다. 또한, 시선 정보는 현재 사용자의 시선 방향을 지시하는 정보뿐만 아니라, 미래에 사용자의 시선 방향을 지시하는 정보(예를 들어, 주목을 받을 것이라 예상되는 시선 지점에 대한 정보)를 포함할 수 있다.
클라이언트 디바이스는 사용자를 중심으로 가상 현실 공간 내에 위치하는 특정한 영역을 바라보는 동작을 센싱하고, 이를 처리할 수 있다.
클라이언트 디바이스는, 제어부 및/또는 시선 판단부를 이용하여, 센서부로부터 센싱 정보를 수신할 수 있다. 센싱 정보는 카메라에 의해 촬영된 영상, 마이크에 의해 녹음된 음성일 수 있다. 또한, 센싱 정보는 자이로 센서, 가속도 센서, 및 외부 센서에 의해서 감지된 데이터일 수 있다.
또한, 클라이언트 디바이스는, 제어부 및/또는 시선 판단부를 이용하여, 센싱 정보를 기초로 사용자 시선의 움직임을 확인할 수 있다. 예를 들어, 클라이언트 디바이스는 센싱 정보가 가지는 값의 변화를 기초로 사용자 시선의 움직임을 확인할 수 있다.
또한, 클라이언트 디바이스는, 제어부 및/또는 시선 판단부를 이용하여, 가상 현실 공간에서의 영상 구성 정보를 생성할 수 있다. 예를 들어, 클라이언트 디바이스가 물리적으로 움직이거나 사용자의 시선이 움직이는 경우, 클라이언트 디바이스는 센싱 정보를 기초로 가상 현실 공간에서의 사용자의 시선 정보 및/또는 줌 영역 정보를 계산할 수 있다.
또한, 클라이언트 디바이스는, 통신부를 이용하여, 영상 구성 정보를 서버 디바이스 및/또는 다른 클라이언트 디바이스로 전송할 수 있다. 또한, 클라이언트 디바이스는 영상 구성 정보를 자신의 다른 구성요소로 전달할 수도 있다.
이상에서는 클라이언트 디바이스가 영상 구성 정보를 생성하는 방법을 설명하였다. 다만 이에 한정되지 않으며, 서버 디바이스가 클라이언트 디바이스로부터 센싱 정보를 수신하고, 영상 구성 정보를 생성할 수도 있다.
또한, 클라이언트 디바이스와 연결된 외부의 컴퓨팅 디바이스가 영상 구성 정보를 생성할 수 있으며, 컴퓨팅 디바이스는 영상 구성 정보를 자신의 클라이언트 디바이스, 다른 클라이언트 디바이스, 및/또는 서버 디바이스로 전달할 수도 있다.
이하에서는, 클라이언트 디바이스가 영상 구성 정보를 시그널링 하는 방법을 설명한다.
영상 구성 정보(시점 정보 및/또는 줌 영역 정보를 포함)를 시그널링하는 부분은 매우 중요하다. 영상 구성 정보의 시그널링이 너무 잦을 경우, 클라이언트 디바이스, 서버 디바이스, 및/또는 전체 네트워크에 부담을 줄 수 있다.
따라서, 클라이언트 디바이스는 사용자의 영상 구성 정보(또는 시선 정보 및/또는 줌 영역 정보)가 변경되는 경우에만 영상 구성 정보를 시그널링할 수 있다. 즉, 클라이언트 디바이스는 사용자의 시선 정보가 변경되는 경우에만 사용자의 시선 정보를 다른 클라이언트 디바이스 및/또는 서버 디바이스로 전송할 수 있다.
이상에서는 클라이언트 디바이스가 영상 구성 정보를 생성 및/또는 전송하는 것을 중심으로 설명하였지만, 서버 디바이스가 클라이언트 디바이스로부터 센싱 정보를 수신하고, 센싱 정보를 기초로 영상 구성 정보를 생성하고, 영상 구성 정보를 적어도 하나의 클라이언트 디바이스로 전송할 수도 있다.
이상에서 언급한 시그널링은 서버 디바이스, 클라이언트 디바이스, 및/또는 외부의 컴퓨팅 장치(존재하는 경우) 사이의 시그널링일 수 있다. 또한, 이상에서 언급한 시그널링은 클라이언트 디바이스 및/또는 외부의 컴퓨팅 장치(존재하는 경우) 사이의 시그널링일 수 있다.
이하에서는, 높고/낮은 수준의 영상을 전송하는 예시적인 방법을 설명한다.
사용자의 시선 정보를 기초로 높고/낮은 수준의 영상을 전송하는 방법은 스케일러블 코덱의 계층을 스위칭하는 방법, 싱글 비트스트림 및 실시간 인코딩의 경우 QP(Quantization Parameter) 등을 이용한 Rate Control 방법, DASH 등의 단일 비트스트림의 경우 청크(Chunk) 단위로 스위칭하는 방법, 다운스케일링/업스케일링방법(Down Scaling/Up Scaling), 및/또는 렌더링(Rendering)의 경우 더 많은 리소스를 활용한 고화질 렌더링 방법을 포함할 수 있다.
전술한 예시적인 기술은 비록 스케일러블 비디오를 통한 차별적 전송 기법을 이야기하고 있지만, 단일 계층을 갖는 일반 비디오 코딩 기술을 사용할 경우에도, 양자화 계수(Quantization Parameter)나 다운스케일링/업스케일링 정도를 조절함으로써, 전체 대역폭을 낮추고, 빠르게 사용자 시선 움직임에 응답하는 등의 장점을 제공할 수 있다. 또한 미리 여러 비트레이트(bitrate)를 갖는 비트스트림(bitstream)으로 트랜스코딩된 파일들을 사용할 경우, 본 명세서의 예시적인 기술은 청크(Chunk) 단위로 높은 수준의 영상과 낮은 수준의 영상 사이를 스위칭하여 제공할 수 있다.
또한, 본 명세서는 가상 현실 시스템을 예로 들고 있지만, 본 명세서는 HMD를 이용한 VR (Virtual Reality) 게임, AR (Augmented Reality) 게임 등에서도 똑같이 적용될 수 있다. 즉, 사용자가 바라보는 시선에 해당하는 영역을 높은 수준의 영상으로 제공하고, 사용자가 바라볼 것으로 예상되는 영역이나 오브젝트(Object)가 아닌 곳을 바라 볼 경우만 시그널링하는 기법 모두가 가상 현실 시스템의 예에서와 똑같이 적용될 수 있다.
전체 영상을 하나의 압축된 영상 비트스트림(Bitstream)으로 받아서 이를 복호화(Decoding)하고 사용자가 바라보는 영역을 가상의 공간에 렌더링(Rendering)하는 기술은 전체 영상(예를 들어, 360도 몰입형(Immersive) 영상)을 모두 비트스트림으로 전송 받는다. 각각이 고해상도인 영상이 모인 이 비디오 비트스트림의 총 대역폭은 매우 클 수밖에 없어서, 비트스트림의 총대역폭이 매우 커지는 것을 방지하기 위해서 국제 비디오 표준 기술 중 SVC 및 HEVC의 스케일러블 확장 표준인 스케일러블 고효율 비디오 부호화(Scalable High Efficiency Video Coding)와 같은 스케일러블 비디오 기술이 사용될 수 있다.
도 9는 영상 스트리밍 서비스를 위한 예시적인 영상 전송 장치의 블럭도이다.
도 9를 참조하면, 영상 전송 장치(서버 디바이스)(900)는 인코더(910), 시그널링부(920), 다중화기(930), 통신부(940), 및/또는 제어부(950)를 포함할 수 있다.
인코더(910)는 가상 현실 공간에 대한 영상 스트리밍 서비스를 위한 비디오 데이터를 생성할 수 있다.
상기 비디오 데이터는 가상 현실 공간 전체 영역에 대한 기본 화질 비디오 데이터와 가상 현실 공간 전체 영역 내에서 현재 뷰포트와 예측 뷰포트에 대응되는 영역에 대한 고화질 비디오 데이터를 포함할 수 있으며, 고화질 비디오 데이터는 적어도 하나의 타일로 분할될 수 있다.
시그널링부(920)는 가상 현실 공간 내에서 사용자가 바라보고 있는 현재 뷰포트에 대한 정보 및 상기 사용자가 바라볼 것으로 예상되는 예측 뷰포트에 대한 정보에 적어도 일부 기초하여 시그널링 데이터를 생성할 수 있으며, 시그널링 데이터는 상기 현재 뷰포트 및 상기 예측 뷰포트에 포함되는 상기 적어도 하나의 타일을 식별하는 타일 정보를 포함할 수 있다.
다중화기(930)는 비디오 데이터 및 시그널링 데이터를 포함하는 비트스트림을 생성할 수 있다.
통신부(940)는 비디오 데이터 및 시그널링 데이터를 포함하는 비트스트림을 전송할 수 있으며, 클라이언트 디바이스(도시하지 않음)로부터 뷰포트에 포함된 타일 정보를 수신하고, 다중화기(9300)에서 생성된 비트스트림을 제어부(950)의 명령에 따라 클라이언트 디바이스로 전송할 수 있다.
제어부(950)는 통신부(940)를 통한 비트스트림의 전송 시, 전송 대역폭이 상기 고화질 비디오 데이터를 모두 전송하기에 충분한지를 판단하고, 대역폭이 충분한 것으로 판단된 경우에는 현재 뷰포트 및 예측 뷰포트에 포함된 고화질의 비디오 데이터를 모두 전송하고, 대역폭이 충분하지 않은 것으로 판단된 경우에는, 우선순위가 높은 타일부터 낮은 타일의 순서로 상기 대역폭의 허용 범위 내에서 적어도 하나의 타일의 적어도 일부에 대한 상기 고화질 비디오 데이터를 전송할 수 있다.
또한, 인코더(910)는 기본 계층 인코더와 향상 계층 인코더를 포함할 수 있으며, 이 때, 기본 화질 비디오 데이터는 가상 현실 공간 전체 영역에 대한 기본 계층 비디오 데이터일 수 있으며, 고화질 비디오 데이터는 가상 현실 공간 내에서 사용자가 바라보고 있는 뷰포트에 포함된 타일들에 대해서 기본 계층 비디오 데이터와 향상 계층 비디오 데이터일 수 있다. 이 때, 영상 전송 장치(900)는 현재 뷰포트와 예측 뷰포트에 대응되는 영역에 대해서는 기본 계층 비디오 데이터와 향상 계층 비디오 데이터를 함께 전송하고, 현재 뷰포트와 예측 뷰포트 이외의 영역에 대해서는 기본 계층 비디오 데이터만 전송할 수 있다.
또한, 향상 계층 인코더는 뷰포트에 포함된 모든 타일에 대해서 향상 계층 비디오 데이터를 생성하지 않고, 뷰포트에 포함된 타일들의 우선 순위에 따라, 향상 계층 비디오를 생성할 수 있다.
또한, 향상 계층 인코더는 대역폭의 허용 범위 내에서 우선순위가 높은 타일부터 낮은 타일의 순서로 향상 계층 비디오 데이터를 생성할 수 있다.
또한, 향상 계층 인코더는 뷰포트에 포함된 타일들 중에 상기 포함 비율이 특정 값 이상인 타일에 대해서 향상 계층 비디오 데이터를 생성할 수 있다.
우선순위를 선정하는 방법은 사용자로부터 타일 내의 대상까지의 거리 정보에 기초하여 결정되거나, 뷰포트에 포함된 타일들이 뷰포트에 포함된 면적 비율에 의해서 결정될 수 있으며, 이에 대해서는 이하에서 상세히 설명한다.
이하에서는 도 10을 참조하여, 뷰포트와 대상 거리 정보 신호 체계를 설명한다.
도 10은 예측 뷰포트와 대상 거리 정보의 시그널링을 예시적으로 도시한 도면이다.
가상 현실 컨텐츠 제작자는 사용자의 시선이 '마땅히 주목할 것으로 예측되는' 대상을 미리 알 수 있도록 신호 체계를 구성하여, 사용자의 시선이 향하기 전에 미리 영상 데이터가 향상 계층까지 선반입(Pre-fetching) 할 수 있도록 한다. 또한 가상 현실 컨텐츠 제작자는 영상 내의 각 타일들에 대한 우선순위 정보도 전송되어 사용될 수 있도록 컨텐츠를 제작한다.
기본 계층은 빠른 사용자 응답시간을 위해 타일링되지 않고 전체적으로 부호화될 수 있다. 하나 이상의 향상 계층은 필요에 따라 일부 또는 전체가 여러 타일들로 나누어져서 부호화 될 수 있다. 이 때, 뷰포트는 사용자의 시선이 바라보는 곳, 또는 사용자가 바라보게 될 가상의 공간에서 중요 오브젝트가 위치할 타일 위치일 수 있다. 뷰포트 내의 타일 번호는 연속적으로 부여되므로 뷰포트에 포함된 타일 정보를 전송할 때, 타일에 대한 모든 번호 정보를 다 보내지 않고도 효과적으로 압축할 수 있다. 예를 들어, 타일의 시작과 끝 번호, 타일의 좌표점 정보, 타일 내 코딩 단위(CU) 번호 리스트, 타일 번호를 수식으로 표현하는 방법 등을 사용하여 타일 번호 정보를 효과적으로 압축할 수 있다.
도 10을 참조하면, 스케일러블 비디오 컨텐츠(1000)는 기본 계층과 향상 계층의 비디오 데이터를 포함하고, 서버 디바이스에서 인코딩되는 향상 계층(1010)은 현재 뷰포트(1020) 및 예측 뷰포트(1030) 정보와 객체의 거리 정보에 기초하여 시그널링되는 것을 도시하고 있다. 상기 향상 계층(1010)은 스케일러블 비디오 컨텐츠(1000)의 영상에 대한 타일로 구분되고, 현재 뷰포트(1020) 및 예측 뷰포트(1030) 정보에는 뷰포트에 포함되는 타일 정보가 포함되어 있다. 도면에서는 현재 뷰포트(1020)에 포함되는 타일은 6, 7, 10, 11번 타일이며, 예측 뷰포트(1030)에 포함되는 타일은 7, 8, 11, 12번 타일인 것으로 도시되어 있다.
이러한 신호 체계(시그널링)는 세션(Session) 정보를 실어나르는 고수준 구문(High-level syntax) 프로토콜을 통해 전해질 수도 있고, 비디오 표준의 SEI, VUI, 또는 슬라이스 헤더 등의 패킷 단위에 의해서 전해질 수도 있고, 비디오 파일을 설명하는 별도의 파일(예를 들어, DASH의 MPD)에 포함되어 전달될 수 있다.
본 명세서에 제시된 신호 체계는 향상 계층 또는 고화질 비디오 영상의 특정 타일만 우선적으로 전달 받아 전체적인 지연 시간을 줄이고, 대역폭 상황에 따라 일부만 고화질로 처리함으로써 지연발생을 없앨 수 있으므로, HMD 사용자에게 빠른 응답시간을 보장하여 사용자의 어지러움, 멀미 등의 현상을 줄일 수 있다.
도 11은 현재 뷰포트와 예측 뷰포트를 선반입하여 대역폭을 낮출 수 있는 스케일러블 비디오 코딩 기반의 스트리밍의 예를 도시한 도면이다.
도 11을 참조하면, 위의 그림은 사용자가 클라우드 기반 게임 스트리밍을 통해 자동차 경주 게임을 할 때를 가정한 것이다. 도면 참조번호 1110의 상자는 현재 보여지고 있는 화면의 중앙부로서 현재 사용자의 뷰포트를 나타낸다. 이 부분은 사용자가 현재 바라보고 있는 영역이므로 높은 화질의 영상 출력이 요구된다. 따라서, 본 실시예의 스트리밍 기술은 이 부분의 영상에 대해서는 스케일러블 비디오 부호화(SVC)의 기본 계층(Basic Layer) 영상 데이터와 하나 이상의 향상 계층(Enhancement Layer(s)) 영상 데이터를 모두 전송해준다.
예시한 자동차 경주 게임 컨텐츠의 경우, 본 실시예의 스트리밍 기술은 사용자 정면의 주행코스를 예측 뷰포트(1110)로 예상할 수 있다. 따라서, 본 실시예의 스트리밍 기술은 해당하는 예측 뷰포트를 미리 높은 화질로 선반입(Prefetching)함으로써 디스플레이 지연을 줄일 수 있게 한다.
또한 본 실시예의 스트리밍 기술은 현재 뷰포트나 예측 뷰포트 이외의 영역(1130)에 대해서는 낮은 화질의 기본 계층 영상 데이터만 보내줌으로써 전체 대역폭을 낮출 수 있다. 이 때, 기본 계층이 제공하는 영상 화질 및 지연시간은 가상현실 서비스 품질에 매우 중요한 사용자의 멀미현상을 저감하도록 일정 수준 이상의 화질을 유지해야 한다.
클라우드 기반의 게임 스트리밍의 주요과제는 저지연 스트리밍 기술이다. 하지만, 머리장착형 영상장치의 경우 무선네트워크를 이용하는 방식이기 때문에 대역폭 변동의 가능성이 항상 존재한다. 따라서, 만약 게임 컨텐츠 스트리밍 영상 내에서 특정영역을 항상 높은 화질로 전송하도록 고정해 버린다면, 갑자기 전송 대역폭이 줄어들었을 때 게임 컨텐츠 전송의 지연이 발생할 수도 있다.
도 12는 사용자로부터 영상 내 대상까지의 거리에 따른 뷰포트 예측 기술 기반의 고화질 게임 스트리밍의 예를 나타낸 도면이다.
본 명세서에 제시된 예시적인 게임 스트리밍 기술은 사용자 뷰포트에 대한 가능성을 예측하여, 예측되는 뷰포트에 포함된 타일들에 높은 우선순위를 부여할 수 있다. 예를 들어, 거리정보를 이용하여 어떤 타일이 사용자로부터 가까운 대상들을 많이 포함하고 있는지 구분한 뒤, 가까운 타일(가까운 대상이 많은 타일)이 많은 순서에서 적은 순서로 우선 순위를 부여하고 우선 순위가 높은 타일부터 고화질의 영상을 전송함으로써 대역폭을 줄일 수 있다.
도 12를 참조하면, 예시적인 게임 스트리밍 기술은 사용자로부터 가까운 대상(1210, 1211, 1212)이 포함된 타일들(1240, 1241, 1242)에는 높은 우선순위를 부여하고, 사용자로부터 중간 거리의 대상(1220, 1221)이 포함된 타일들(1250, 1251)에는 중간 우선순위를 부여하고, 사용자로부터 먼 대상(1230, 1231)이 포함된 타일들(1260)에는 낮은 우선순위를 부여할 수 있다.
예시적인 게임 스트리밍 기술은 이와 같은 타일 별 우선순위 부여 후 대역폭이 갑자기 감소하게 되면, 대역폭 허용 범위까지 우선순위가 높은 타일에서 낮은 타일의 순서로 고화질 영상 데이터를 전송하여 지연 없이 스트리밍을 할 수 있다. 즉, 예시적인 게임 스트리밍 기술은 전송 대역폭에 기반하여 우선순위가 높은 타일들을 고화질 전송한다.
예시한 거리에 따른 타일 우선순위 부여 기법의 경우, 고화질/저화질 영상을 만드는 방법은 전술한 것과 마찬가지로 스케일러블 비디오 코딩 기술을 적용할 수 있지만, 스케일러블 비디오 코딩 기술 외에 영상의 화질 차이를 부여할 수 있는 기술은 어느 것이나 적용 가능하다.
한편, 스트리밍 영상 속에서는 타일의 우선 순위가 높을수록 해당 타일이 포함된 영역이 뷰포트가 될 가능성이 높다. 따라서, 예시적인 게임 스트리밍 기술은 우선 순위가 높은 타일이 많이 포함된 영역을 뷰포트로 결정할 수도 있다.
본 명세서에 제시된 기술은 사용자 주변 사물들이 우선시되는 역할 게임(Role-Playing Game; RPG)의 스트리밍에서 더욱 효과적일 수 있다.
본 명세서에 제시된 방법은 스케일러블 비디오 코딩 기술을 이용하여, 고화질의 영상은 향상 계층 영상으로, 저화질의 영상은 기본 계층 영상으로 전송하였지만, 스케일러블 비디오 코딩 기술을 이용하지 않고도 전체 기본 품질의 영상을 하나의 영상으로, 현재 뷰포트 및 예측 뷰포트에 대한 영상은 일반적인 고화질의 영상을 사용할 수도 있다.
본 명세서에 제시된 방법은 화면 분할을 지원하는 다른 종류의 비디오 병렬처리 기법들, 예를 들어, 슬라이스(Slice), FMO(Flexible Macro Block) 등에 적용 가능하다. 또한 비트 스트림을 분할하여 전송하는 스트리밍 서비스인 MPEG DASH, 마이크로소프트 사의 Smooth Streaming, 애플 사의 HLS(HTTP Live Streaming)에도 적용할 수 있다.
이하에서는 도 13 내지 14를 참조하여 게임 영상 스트리밍같은 가상 현실 공간에 대한 영상 스트리밍에서 현재 뷰포트 및 예측 뷰포트 정보와, 뷰포트 내 대상(object)에 대한 거리 정보에 기초한 뷰포트의 우선 순위 정보를 이용하여 통신 대역폭을 절감하는 방법을 상세히 설명한다.
도 13은 영상 스트리밍 서비스를 위한 비디오 서버에서의 예시적인 영상 전송 방법을 도시한다.
도 13을 참조하면, 비디오 서버는 가상 현실 공간에 대한 영상 스트리밍 서비스를 위한 비디오 데이터를 생성한다(1301).
다음으로, 비디오 서버는 가상 현실 공간 내에서 사용자가 바라보고 있는 현재 뷰포트에 대한 정보와 사용자가 바라볼 것으로 예상되는 예측 뷰포트에 대한 정보에 적어도 일부 기초하여 시그널링 데이터를 생성한다(1303).
다음으로, 비디오 서버는 상기 비디오 데이터 및 상기 시그널링 데이터를 포함하는 비트스트림 생성하고, 생성된 비트스트림을 통신부를 통해서 클라이언트 디바이스로 전송한다(1305).
상기 생성된 비디오 데이터는 가상 현실 공간 전체에 대한 기본 화질의 비디오 데이터와, 현재 뷰포트와 예측 뷰포트에 대한 고화질의 비디오 데이터를 포함할 수 있다.
스케일러블 비디오 코딩 기술을 사용할 때는, 상기 기본 화질의 비디오 데이터는 가상 현실 공간 전체에 대한 기본 계층의 비디오 데이터를 포함할 수 있으며, 현재 뷰포트와 예측 뷰포트에 대한 상기 고화질의 비디오 데이터는 기본 계층 외에 적어도 하나의 향상 계층에 대한 비디오 데이터를 더 포함할 수 있다.
따라서, 비디오 서버는 현재 뷰포트와 예측 뷰포트에 대응되는 영역에 대해서는 높은 품질의 비디오 데이터를 전송하고, 상기 현재 뷰포트와 상기 예측 뷰포트 이외의 영역에 대해서는 기본 화질(품질)의 비디오 데이터만 전송할 수 있다. 또한, 비디오 서버는, 비디오 데이터가 스케일러블 비디오 데이터일 경우에는, 현재 뷰포트와 예측 뷰포트에 대응되는 영역에 대해서는 기본 계층과 향상 계층에 대한 비디오 데이터를 함께 전송하고, 상기 현재 뷰포트와 상기 예측 뷰포트 이외의 영역에 대해서는 기본 계층에 대한 비디오 데이터만 전송할 수 있다.
상기 적어도 하나의 향상 계층 비디오 데이터는 각 계층별로 직사각형 모양의 적어도 하나의 타일로 분할되고, 상기 기본 화질의 비디오 데이터와 상기 고화질의 비디오 데이터는 각각 직사각형 모양의 적어도 하나의 타일로 분할될 수 있다.
또한, 상기 시그널링 데이터는 현재 뷰포트 및 예측 뷰포트에 포함되는 적어도 하나의 타일을 식별하는 타일 정보를 포함할 수 있다.
또한, 상기 비디오 서버에서의 영상 전송 방법은 비디오 데이터를 전송하는 통신 회선의 대역폭이 향상 계층 비디오 데이터 또는 고화질의 영상 데이터를 모두 전송하기에 충분한지의 여부를 판단(1307)할 수 있다.
상기 영상 전송 방법은 상기 통신 회선의 대역폭이 충분한 것으로 판단되는 경우, 현재 뷰포트 및 예측 뷰포트 내의 타일들을 모두 전송(1309)할 수 있으며, 상기 통신 회선의 대역폭이 충분하지 않은 것으로 판단되는 경우, 뷰포트 내의 타일들을 우선순위에 따라 전송(1311)할 수 있다.
여기에서, 상기 우선순위에 따라 전송하는 동작은 대역폭의 허용 범위 내에서 우선순위가 높은 타일부터 낮은 타일의 순서로 향상 계층 비디오 데이터 또는 고화질의 영상 데이터를 전송할 수 있다.
우선순위는 가상 현실 영상의 타일 내에서 사용자로부터 건물, 특정 사물, 게임 캐릭터, 주행 도로 등의 대상(object)까지의 거리에 따라 결정되며, 대상이 사용자에게 가까울수록 상기 대상이 포함된 타일에 높은 우선순위가 부여될 수 있다.
한편, 타일 내의 대상들이 사용자에게 가까울수록, 상기 대상이 포함된 타일들은 예측 뷰포트가 될 가능성이 증가하게 된다. 예측 뷰포트는 전술한 타일 내의 대상과 사용자와의 거리뿐만 아니라, 현재 뷰포트와의 거리, 방향 등을 포함하는 현재 뷰포트에 대한 정보와 가상 현실 콘텐츠의 내용에 기초하여 결정될 수도 있다. 예를 들어, 상기 가상 현실 콘텐츠의 내용은 상기 가상 현실 콘텐츠가 게임일 경우, 사용자의 이동 방향, 주요 캐릭터의 등장, 주요 이벤트의 발생 등 일 수 있다.
또한, 상기 향상 계층에 대한 비디오 데이터는 상기 가상 현실 공간 전체 영역 내에서 상기 현재 뷰포트와 상기 예측 뷰포트에 대응되는 영역에 대한 고화질 비디오 데이터를 포함할 수 있다.
또한, 상기 시그널링 데이터는 영상 구성 정보를 기초로 생성될 수 있다. 상기 영상 구성 정보는 가상 현실 공간 내에서 사용자의 뷰포트를 지시하는 시선 정보와 사용자의 시야각을 지시하는 줌 영역 정보를 포함할 수 있다.
또한, 상기 시그널링 데이터는 세션 정보를 실어 나르는 고수준 구문 프로토콜(High-Level Syntax Protocol), SEI (Supplement Enhancement Information), VUI (video usability information), 슬라이스 헤더(Slice Header), 및 비디오 데이터를 서술하는 파일 중에서 적어도 하나를 통하여 전송될 수 있다.
도 14는 영상 스트리밍 서비스를 위한 클라이언트 디바이스에서의 예시적인 영상 수신 방법을 도시한 도면이다.
도 14를 참조하면, HMD 등의 클라이언트 디바이스에서의 영상 수신 방법에서 클라이언트 디바이스는 가상 현실 공간에 대한 비디오 데이터 및 시그널링 데이터를 포함하는 비트스트림을 수신할 수 있다(1401). 또한, 클라이언트 디바이스는 비디오 데이터를 기초로 기본 화질 비디오 데이터를 디코딩할 수 있다(1403). 또한, 클라이언트 디바이스는 비디오 데이터 및 시그널링 데이터를 기초로 고화질 비디오 데이터를 디코딩할 수 있다(1405).
시그널링 데이터는 가상 현실 공간 내에서 사용자가 바라보고 있는 영역에 대한 현재 뷰포트와 가상 현실 공간 내에서 사용자가 바라볼 것으로 예상되는 예측 뷰포트에 대한 정보를 적어도 일부 포함할 수 있다.
또한, 고화질 비디오 데이터는 현재 뷰포트 및 예측 뷰포트에 대응되는 높은고화품질의 비디오 데이터를 포함할 수 있다.
또한, 기본 화질 비디오 데이터는 가상 현실 공간 전체 영역에 대한 기본적은 화질(저화질)의 비디오 데이터를 포함할 수 있다.
본 명세서 전체에서 기본 화질 또는 저화질의 비디오 데이터/영상 데이터는 가상 현실 서비스에서 사용자에게 멀미 현상 등의 불쾌감을 일으키지 않을 정도의 일정 수준 이상의 화질을 가질 수 있다.
또한, 고화질 비디오 데이터는 전체 영역 내에서 현재 뷰포트와 예측 뷰포트에 대응되는 영역에 대한 비디오 데이터를 포함할 수 있다.
또한, 고화질 비디오 데이터는 직사각형 모양의 적어도 하나의 타일로 분할될 수 있다.
또한, 시그널링 데이터는 현재 뷰포트 및 예측 뷰포트에 포함되는 적어도 하나의 타일을 식별하는 타일 정보를 포함할 수 있다.
또한, 시그널링 데이터는 영상 구성 정보를 기초로 생성될 수 있으며, 영상 구성 정보는 가상 현실 공간 내에서 사용자의 뷰포트를 지시하는 시선 정보 및 사용자의 시야각을 지시하는 줌 영역 정보를 포함할 수 있다.
또한, 시그널링 데이터는 세션 정보를 실어 나르는 고수준 구문 프로토콜(High-Level Syntax Protocol), SEI (Supplement Enhancement Information), VUI (video usability information), 슬라이스 헤더(Slice Header), 및 상기 비디오 데이터를 서술하는 파일 중에서 적어도 하나를 통하여 전송될 수 있다.
또한, 전술한 기본 화질 비디오 데이터는 스케일러블 비디오 코딩 기술에서는 기본 계층 비디오 데이터일 수 있으며, 고화질 비디오 데이터는 기본 계층 비디오 데이터와 적어도 하나의 향상 계층 비디오 데이터를 포함한 비디오 데이터일 수 있다.
또한, 본 명세서의 영상 디코딩 기술은 수신된 비디오 데이터를 기초로 기본 계층 비디오 데이터를 디코딩할 수 있으며, 상기 비디오 데이터 및 상기 시그널링 데이터를 기초로 적어도 하나의 향상 계층 비디오 데이터를 디코딩할 수 있다.
이하에서는 도 15 내지 도 16을 참조하여 뷰포트에 포함된 타일 크기에 따른 대역폭 적응적 비디오 데이터 전송에 대하여 설명한다.
도 15는 뷰포트에 포함된 타일의 비율에 기초하여 우선순위를 설정하여 타일을 전송하는 방법을 나타낸 도면이다.
도 15를 참조하면, 예를 들어, 영상의 한 프레임이 도시한 바와 같이 25개의 타일(1510)로 구성되어 있는 경우, 서버 디바이스는 상기 25개의 타일 중 뷰포트에 포함되는 타일들(12번, 13번, 17번, 18번)에 대한 시그널링 신호가 수신될 때, 뷰포트에 포함된 타일에 대해서 타일의 크기에 대비하여 뷰포트에 포함된 부분의 면적 비율(포함 비율)을 계산한 뒤, 비율이 큰 순서에서 작은 순서로 나열할 수 있다. 상기 뷰포트에 포함되는 타일들은 움직임이 제한된 타일 집합(Motion Constrained Tile Sets; MCTS)이 적용된 타일들일 수 있다.
예시에서는, 12번 타일이 7% 포함되고, 13번 타일이 73% 포함되고, 17번 타일이 2% 포함되고, 18번 타일이 18% 포함되었기 때문에, 서버 디바이스는 뷰포트를 가장 많이 포함하고 있는 13번 타일을 1순위로, 18번 타일을 2순위로, 12번 타일을 3순위로, 17번 타일을 4순위로 하는 우선순위를 부여할 수 있다(1520).
서버 디바이스는 서버 디바이스와 클라이언트 디바이스들(Client A, Client B, Client C) 사이의 대역폭 상태 또는/및 클라이언트 디바이스들의 성능 등을 판단하여 클라이언트 디바이스별로 대역폭 허용 한도를 결정하고(1530), 상기 대역폭 허용 한도 및 우선순위에 따라 뷰포트에 포함된 타일들 전체 및/또는 일부를 클라이언트 디바이스들에게 전송할 수 있다(1540).
이 때, 전송되지 않은 타일은 클라이언트 디바이스에서 업샘플링된 기본 계층(Upsampled Base Layer)을 활용한 에러은닉 기술을 통하여 화질이 개선될 수 있다(1550).
예를 들어, 서버 디바이스와 클라이언트 디바이스 C에 있어서, 현재 대역폭이 2순위까지의 타일만 전송할 수 있는 상태이므로, 서버 디바이스는 타일 13(1순위 타일)과 타일 18(2순위 타일)을 고화질의 비디오 영상으로 전송하고, 나머지 12번 타일과 17번 타일에 대해서는 고화질 비디오 영상을 전송하지 않는다. 이 때, 클라이언트 디바이스 C는 전송되지 않는 12번 타일 및 17번 타일에 대해서는 업샘플링된 기본 계층을 활용하여, 출력되는 영상의 품질을 개선함으로써 사용자가 느낄 수 있는 어지러움, 멀미 등의 불쾌감을 줄일 수 있다.
따라서, 본 명세서에 제시된 뷰포트에 포함된 타일 크기에 따른 대역폭 적응적 비디오 데이터 전송 방법은 기존의 뷰포트에 해당하는 타일을 모두 전송할 때 보다 사용자 지연 시간이 짧고 전송 대역폭을 줄일 수 있으며, 사용자의 불쾌감도 저감시킬 수 있는 효과가 있다.
도 16은 뷰포트에 포함된 타일의 최소 비율에 따른 타일 전송의 예시도이다.
본 명세서에 제시된 방법은 뷰포트에 포함된 타일들의 최소 면적 비율을 설정하고, 설정된 면적 비율 값 이상의 비율에 해당하는 타일만 클라이언트 디바이스로 전송할 수 있다. 즉, 서버 디바이스와 클라이언트 디바이스 사이의 대역폭 상태에 상관없이, 사용자가 설정한 뷰포트 포함 면적 비율에 따라 일괄적으로 해당하는 타일의 고화질 비디오 데이터를 전송함으로써 대역폭을 줄일 수 있다.
도 16을 참조하면, 뷰포트에 포함된 타일의 면적 비율을 구하고, 면적 비율에 따른 우선순위의 선정방법은 도 15의 우선순위 선정에 대한 설명과 동일하다.
사용자가 설정한 포함 비율(예를 들어, 15% 이상)에 따라 해당하는 13번 타일 및 18번 타일(1610)에 대해서만 고화질 비디오 데이터를 전송한 예를 나타낸다. 여기에서, 클라이언트 단말은 전송되지 않는 12번 타일과 17번 타일에 대해서는 업샘플링된 기본 계층(1620)을 활용하여, 출력되는 영상의 품질을 개선할 수 있다.
뷰포트에 포함되는 타일 면적의 최소 비율은 서버와 사용자 환경에 따라 설정될 수 있다. 전송되지 않는 타일에 대하여 에러은닉 기술의 적용이 가능하며, 대역폭의 낭비를 최소화 함으로써 효율적인 고화질 통신 서비스가 가능하다.
이하에서는 도 17을 참조하여 전술한 뷰포트에 포함된 타일 비율 및 우선순위에 따른 타일 전송 방법에 대해서 상세하게 설명한다.
본 명세서에는 스케일러블 비디오 코딩 기술을 예로 들어, 저화질의 영상 또는 기본 화질의 영상은 기본 계층 영상으로 고화질의 영상은 기본 계층 영상과 향상 계층 영상을 포함한 영상으로 표현하였지만, 가상 현실 공간에 대한 비디오 영상을 저화질과 고화질의 영상으로 구분하여 전송할 수 있는 비디오 코딩 기술은 어느 것이든 사용할 수 있다.
따라서, 실시예들에서 표현한 기본화질 또는 저화질의 비디오 데이터는 기본 계층 비디오 데이터를 의미하고, 고화질의 비디오 데이터는 기본 계층 비디오 데이터와 향상 계층 비디오 데이터를 모두 포함한 비디오 데이터를 의미할 수 있다.
또한, 향상 계층 비디오를 사용할 경우, 하나 이상의 계층 비디오 데이터를 사용할 수 있는데, 스케일러블 비디오 코딩이 아닌 경우에는 한 픽쳐에 대한 다수의 향상 계층 비디오 데이터는 하나의 픽쳐를 나타내는 고화질 비디오 데이터로 대체할 수 있다.
도 17은 영상 스트리밍 서비스를 위한 비디오 서버에서의 예시적인 영상 전송 방법의 다른 예를 도시한 도면이다.
도 17에 도시된 예시적인 영상 전송 방법에 의하면, 먼저, 서버 디바이스(비디오 서버)는 가상 현실 공간 전체 영역을 하나 이상의 타일로 분할할 수 있다(1701). 상기 타일은 직사각형 모양일 수 있다.
서버 디바이스는 가상 현실 공간 전체 영역에 대한 기본 화질 또는 저화질의 비디오 데이터를 생성할 수 있다(1703).
서버 디바이스는 영상 수신 장치로부터 수신하는 시그널링 데이터를 분석하여, 사용자의 뷰포트를 판단하고, 상기 뷰포트에 포함된 타일의 번호 정보 및 상기 뷰포트에 포함된 타일의 면적 정보에 적어도 일부 기초하여 상기 뷰포트에 포함된 타일들의 면적 비율을 구하고, 상기 면적 비율이 높은 타일에서 낮은 타일의 순서로 타일별로 우선순위를 부여할 수 있다(1705). 예를 들어, 서버 디바이스는 면적 비율이 높은 타일에는 높은 우선순위를 부여하고, 낮은 타일에는 낮은 우선순위를 부여한다.
사용자의 뷰포트는 사용자가 현재 바라보고 있는 현재 뷰포트와 사용자가 앞으로 바라볼 것으로 예상되는 예측 뷰포트를 포함할 수 있다.
서버 디바이스는 비디오 데이터를 전송할 통신 회선의 대역폭의 허용 한도 내에서 우선순위에 따라 전송할 타일을 선택하고, 선택된 타일의 영상에 대해서 고화질의 비디오 데이터를 생성할 수 있다(1707). 예들 들어, 서버 디바이스는 뷰포트에 포함된 타일이 4개지만 상기 대역폭의 허용 한도가 3개의 타일에 대해서만 전송이 허용되는 것으로 판단될 경우, 제1 내지 제3 우선순위의 타일에 대해서만 고품질의 영상 데이터를 생성할 수 있다.
서버 디바이스는 생성된 기본 화질 비디오 데이터 및 생성된 고화질 비디오 데이터를 비트스트림에 포함시켜 클라이언트 디바이스로 전송할 수 있다(1709). 이 때, 클라이언트 디바이스는 고화질 비디오 데이터가 수신되지 않은 제4 우선순위의 타일에 대해서는 수신된 기본 계층 비디오 데이터를 업샘플링하여 출력함으로써 사용자의 불편함을 저감할 수 있다.
서버 디바이스는 우선 순위에 따라 전송될 타일에 대해서만 고화질 비디오 데이터(기본 계층 비디오 데이터와 향상 계층 비디오 데이터를 포함함)를 생성한 뒤, 생성된 비디오 데이터를 전송함으로써, 대역폭을 줄일 수 있다. 즉, 서버 디바이스는 대역폭이 허용하는 범위까지의 타일에 대해서만 향상 계층 비디오 데이터를 생성한다.
한편, 서버 디바이스는 비디오 데이터를 전송할 통신 회선의 대역폭의 허용 범위를 실시간으로 고려하지 않고, 뷰포트에 포함된 타일들 중에서 뷰포트에 포함된 면적의 비율이 특정 값 이상인 경우에 대해서만, 해당 타일에 대해서 향상 계층 비디오 데이터를 생성하고, 상기 해당 타일에 대해서만 기본 계층 비디오 데이터와 향상 계층 비디오 데이터를 함께 클라이언트 디바이스로 전송할 수 있다. 이 때, 뷰포트에 포함된 면적 비율의 특정 값은 비디오 서버의 상태와 사용자 환경 등을 고려하여 설정할 수 있다.
도 18은 뷰포트에 포함된 타일들의 면적 비율에 기초한 우선 순위에 따른 영상 수신 방법의 예를 도시한다.
도 18에 도시한 예시적인 영상 수신 방법에 의하면, 먼저, 클라이언트 디바이스는 가상 현실 공간 내에서 사용자가 바라보고 있는 뷰포트 정보, 뷰포트에 포함된 타일의 번호 정보, 및 뷰포트에 포함된 타일의 포함 비율 정보를 전송할 수 있다(1801).
클라이언트 디바이스는 직사각형 모양의 적어도 하나의 타일로 분할된 가상 현실 공간 전체에 대한 기본 계층 비디오 데이터를 수신할 수 있다(1803).
클라이언트 디바이스는 뷰포트 포함 비율에 따라 우선순위가 부여된 타일들에 대해서 대역폭의 허용한도 내에서 적어도 하나의 향상 계층 비디오 데이터를 수신할 수 있다(1805).
클라이언트 디바이스는 뷰포트에 포함된 타일들 중 향상 계층 비디오 데이터가 수신되지 않는 타일에 대해서는 업샘플링된 기본 계층 비디오 데이터를 생성할 수 있다(1807).
클라이언트 디바이스는 기본 계층 비디오 데이터, 향상 계층 비디오 데이터, 및 업샘플링된 기본 계층 비디오 데이터에 적어도 일부 기초하여, 사용자에게 출력할 영상을 디코딩하고(1809), 상기 디코딩된 비디오 영상을 출력할 수 있다.
도 19는 특정 면적 비율에 따른 영상 수신 방법의 예를 도시한다.
도 19에 도시한 예시적인 영상 수신 방법에 의하면, 먼저, 클라이언트 디바이스는 가상 현실 공간 내에서 사용자가 바라보고 있는 뷰포트 정보, 뷰포트에 포함된 타일의 번호 정보, 및 뷰포트에 포함된 타일의 포함 비율 정보를 전송할 수 있다(1901).
클라이언트 디바이스는 직사각형 모양의 적어도 하나의 타일로 분할된 가상 현실 공간 전체에 대한 기본 계층 비디오 데이터를 수신할 수 있다(1903).
클라이언트 디바이스는 뷰포트 포함 비율이 특정 값과 같거나 큰 타일들에 대해서 적어도 하나의 향상 계층 비디오 데이터를 수신할 수 있다(1905).
클라이언트 디바이스는 뷰포트에 포함된 타일들 중 향상 계층 비디오 데이터가 수신되지 않는 타일에 대해서는 업샘플링된 기본 계층 비디오 데이터를 생성할 수 있다(1907).
클라이언트 디바이스는 기본 계층 비디오 데이터, 향상 계층 비디오 데이터, 및 업샘플링된 기본 계층 비디오 데이터에 적어도 일부 기초하여, 사용자에게 출력할 영상을 디코딩하고(1909), 상기 디코딩된 비디오 영상을 출력할 수 있다.
도 20은 예측 뷰포트와 대상 거리 정보의 시그널링에서 제안하는 예시적인 SEI 페이로드 구문을 도시한다.
도 20을 참조하면, H.264 AVC나 H.265 HEVC와 같은 국제 비디오 표준에서의 SEI(Supplemental Enhancement Information) 메시지 페이로드(payload) 구문(syntax)의 예로 "expected_tile_info"를 보여준다.
만일 제안하는 구문이 188번으로 정해진 경우에는 도면의 참조번호 2000의 구문이 본 명세서의 실시예로 SEI 메시지 페이로드 구문에 새로 추가되며, 이 외의 구문은 모두 기존의 표준 구문과 동일하다.
도 21은 예시적인 비디오 픽쳐별 뷰포트 신호 체계 규격을 도시한다.
도 22는 예시적인 파일, 청크, 비디오 픽쳐 그룹별 신호 체계 규격을 도시한다.
unsigned (n)는 통상 프로그래밍 언어에서 부호가 없는 (unsigned) 'n' 비트 수를 의미한다.
version_info 구문은 신호 체계 규약의 버젼 정보, 부호 없는 8비트의 정보로 표현된다.
file_size 구문은 파일 사이즈, 부호 없는 64 비트의 정보로 표현된다.
poc_num 구문은 HEVC와 같은 비디오 표준에서의 POC(Picture Order Count) 정보를 의미함, 기존의 H.264 AVC 표준에서의 프레임 번호(frame number)와 유사한 의미. 부호 없는 32 비트의 정보로 표현된다.
info_mode 구문은 본 표준에서 정의한 '정보 모드'로서 다음과 같으며, 부호 없는 4 비트의 정보로 표현된다. '0'은 이전 신호 체계 정보와 같음을 나타내고, '1'은 예측되는 각 뷰포트에 포함되는 타일 id를 나타내고, '2'는 예측되는 각 뷰포트에 포함되는 타일에 대한 거리정보를 나타내고, '3'은 전송되는 뷰포트 id 및 타일 id를 나타낸다.
viewport_num 구문은 예측되는 뷰포트의 갯수를 의미하며, 부호 없는 8 비트의 정보로 표현된다.
tile_num 구문은 화면 내의 타일의 갯수를 의미하며, 부호 없는 12 비트의 정보로 표현된다.
tile_id_list_in_viewport[] 구문은 뷰포트 내 타일 번호 리스트를 의미하며, 부호 없는 12 비트의 정보로 표현된다.
tile_distance_list_in_viewport[] 구문은 뷰포트 내 타일 별 거리 정보 리스트를 의미하며, 각각의 거리 정보는 부호 없는 16 비트의 정보로 표현된다.
viewport_id_list_trans[] 구문은 전송되는 뷰포트 번호 리스트를 의미하며, 부호 없는 12 비트의 정보로 표현된다.
tile_id_list_trans[] 구문은 전송되는 타일 번호 리스트를 의미하며, 부호 없는 12 비트의 정보로 표현된다.
user_info_flag 구문은 추가 사용자 정보 모드의 플래그(flag)를 의미하며, 사용자가 추가로 전송하려는 타일 관련 정보가 있는지 여부가 부호 없는 '1' 비트의 정보로 표현된다. 값이 '0'일 경우, 추가 사용자 정보가 없음을 나타내고, 값이 '1'일 경우, 추가 사용자 정보가 있음을 나타낸다.
user_info_size 구문은 추가 사용자 정보의 길이를 의미하며, 부호 없는 '16' 비트의 정보로 표현한다.
user_info_list [] 구문은 추가 사용자 정보의 리스트를 의미하며, 각각의 추가 사용자 정보는 부호 없는 변화 가능한(varies) 비트의 정보로 표현된다.
전술한 정의된 구문과 의미론에 관한 정보들은 MPEG DASH와 같은 HTTP 기반의 영상 통신에서 각각 XML 형태로 표현이 될 수도 있다.
도 23은 XML 형태로 표현된 예시적인 타일 정보 구문을 도시한다
도 23을 참조하면, XML 형태로 정보 모드(info_mode = "3"), 추가 사용자 정의 모드 플래그(user_info_flag ="0"), 뷰포트 갯수 정보(viewport_num ="2"), 타일 갯수 정보(tile_num "6"), 전송되는 뷰포트 번호 정보(viewport_id_list_trans = "1 2"), 전송되는 타일 번호 정보(tile_id_list_trans = "4 5 12 14 17 22")를 표현한 한 예이다.
도 24는 영상 전송의 신호 체계에서 전달되는 타일 정보를 예시적으로 도시한다.
본 명세서에 제시된 기술을 통해 뷰포트와 타일 크기를 고려하여 효율적이고 최적화된, 움직임이 제한된 타일 집합(MCTS) 전송을 할 수 있다. 따라서, 본 명세서에서 제시하는 시그널링의 전달 정보는, 도 24에 도시한 바와 같이 비디오 수신 장치인 머리장착형 영상장치(2410)가 360도 비디오 스트리밍 서버(2420)에 전달하는 타일 별 뷰포트에 포함된 비율 정보(2430)와 뷰포트에 포함된 전송 타일 정보(2440)를 포함할 수 있다.
본 명세서에서는 타일 별 뷰포트 포함 비율 정보와 뷰포트에 포함된 전송 타일 정보가 클라이언트 디바이스에서 서버 디바이스로 전달되는 것을 예로 들었지만, 상기 정보들은 클라이언트 디바이스에서 전달해주는 뷰포트 정보만을 이용하여 서버 디바이스에서 산출할 수도 있다.
또한, 이 정보는 360도 비디오 부호화 국제표준(MPEG)의 부가정보를 전달하는 OMAF(Omnidirectional Media Application Format)의 추가 정보를 통해 전달 할 수 있다.
도 25는 예시적인 OMAF 구문을 도시한다.
도 25은 H.264 AVC나 H.265 HEVC와 같은 국제 비디오 표준에서의 OMAF 구문(Syntax)의 예를 도시한다.
도면의 참조번호 2500의 구문이 본 명세서의 실시예로 새로 추가된 것이며, 이 외의 구문은 모두 기존의 표준 구문이다.
전송하는 매 비디오 픽쳐마다 신호를 할 경우(시그널링) 다음에 정의한 각 구문(Syntax) 규격에 맞추어 고효율 비디오 부호화 타일 정보를 전달할 수 있다.
구문에 나온 u(n)는 통상 프로그래밍 언어에서 부호가 없는(unsigned) 'n' 비트 수를 의미하며, 'v'로 표시된 부분은 변화 가능한 비트수(표준에서는 varies로 읽힘)를 의미한다.
center_yaw 구문은 전역 좌표축을 기준으로 뷰포트 방향을 지정하며 뷰포트의 중심을 나타낸다. 범위는 -180 * 2^16 ~ 180 * 2^16 - 1 내에 있어야 한다.
center_pitch 구문은 전역 좌표축을 기준으로 뷰포트 방향을 지정하며 뷰포트의 중심을 나타낸다. 범위는 -90 * 2^16 ~ 90 * 2^16 - 1 내에 있어야 한다.
center_roll 구문은 전역 좌표축을 기준으로 뷰포트 방향을 지정하며 뷰포트의 roll좌표를 나타낸다. 범위는 -180 * 2^16 ~ 180 * 2^16 - 1 내에 있어야 한다.
hor_range 구문은 구 영역에서 수평 범위를 나타낸다. 구체 영역의 중심점을 통해 범위를 지정하며 0 ~ 720*2^16 내에 있어야 한다.
ver_range 구문은 구 영역에서 수직 범위를 나타낸다. 구체 영역의 중심점을 통해 범위를 지정하며 0 ~ 180*2^16 내에 있어야 한다.
Interpolate 구문은 선형 보간의 적용 여부를 나타낸다. 값이 1일 경우 선형 보간이 적용 됨을 나타낸다.
tile_ratio_list[] 구문은 뷰포트 내에 모든 타일에 대한 관심영역 비율 정보를 전달한다.
tile_id_list_trans[] 구문은 뷰포트 내에 전송되는 타일 번호 리스트를 전달한다.
전술한 정의된 구문과 의미론에 관한 정보들은 MPEG DASH와 같은 HTTP 기반의 영상 통신에서 각각 XML 형태로 표현될 수도 있다.
도 26은 XML 형태로 표현된 예시적인 타일 정보 구문을 도시한다.
도 26을 참조하면, 도면에는 XML 형태로 Yaw 좌표(center_yaw= "134"), Pitch 좌표(center_pitch = "85"), Roll 좌표(center_roll = "247"), 선형 보간 여부(interpolate = "0"), 뷰포트 내에 모든 타일에 대한 뷰포트 포함 비율 정보(tile_ratio_list = "73, 18, 7, 2"), 뷰포트 내에 전송되는 타일 번호 리스트 정보(tile_id_list_trans= "13, 18")를 표현한 타일 정보 구문의 예를 표현하였다.
본 명세서에 제시한 가상 현실 비디오 스트리밍 방법들은 스케일러블 비디오와 뷰포트 및 거리정보를 통한 차별적 전송 기법에 대해서 이야기하고 있지만, 슬라이스(Slice), FMO(Flexible Macro Block) 등의 화면 분할을 지원하는 다른 비디오 병렬처리 기법들에도 적용 가능하다. 또한 비트 스트림을 분할하여 전송하는 스트리밍 서비스인 MPEG DASH, 마이크로소프트 사의 Smooth Streaming, 애플 사의 HLS (HTTP Live Streaming)에도 적용 가능하다.
본 명세서에 개시된 기술은 움직임이 제한적인 타일 집합(Motion Constrained Tile Sets; MCTS)에 적용하여 설명하고 있지만, 슬라이스(Slice), FMO(Flexible Macro Block) 등의 화면 분할을 지원하는 다른 비디오 병렬처리 기법들에도 적용이 가능하다.
본 명세서에 개시된 실시예들에 따른 가상 현실 시스템은 컴퓨터로 읽을 수 있는 기록 매체에서 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 명세서의 기술이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상에서 본 명세서의 기술에 대한 바람직한 실시 예가 첨부된 도면들을 참조하여 설명되었다. 여기서, 본 명세서 및 청구 범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다.
본 발명의 범위는 본 명세서에 개시된 실시 예들로 한정되지 아니하고, 본 발명은 본 발명의 사상 및 특허청구범위에 기재된 범주 내에서 다양한 형태로 수정, 변경, 또는 개선될 수 있다.

Claims (22)

  1. 프로세서를 포함한 영상 전송 장치에서 수행되는 방법으로서,
    가상 현실 공간에 대한 기본 화질 비디오 데이터 및 고화질 비디오 데이터를 포함하는 비디오 데이터를 생성하는 동작;
    상기 가상 현실 공간 내에서 사용자가 바라보고 있는 현재 뷰포트에 대한 정보 및 상기 사용자가 바라볼 것으로 예상되는 예측 뷰포트에 대한 정보에 적어도 일부 기초하여 시그널링 데이터를 생성하는 동작; 및
    상기 비디오 데이터 및 상기 시그널링 데이터를 포함하는 비트스트림을 전송하는 동작을 포함하되,
    상기 현재 뷰포트와 상기 예측 뷰포트에 대응되는 영역에 대해서 상기 고화질 비디오 데이터를 전송하는 영상 전송 장치의 영상 전송 방법.
  2. 제1 항에 있어서,
    상기 고화질 비디오 데이터는 적어도 하나의 타일로 분할되고,
    상기 시그널링 데이터는 상기 현재 뷰포트 및 상기 예측 뷰포트에 포함되는 상기 적어도 하나의 타일을 식별하는 타일 정보를 포함하는 영상 전송 장치의 영상 전송 방법.
  3. 제2 항에 있어서,
    상기 현재 뷰포트와 상기 예측 뷰포트에 대응되는 영역에 대해서 상기 고화질 비디오 데이터를 전송하는 동작은,
    상기 비디오 데이터를 전송하는 통신 회선의 대역폭이 상기 고화질 비디오 데이터를 모두 전송하기에 충분한지의 여부를 판단하는 동작; 및
    상기 대역폭이 충분하지 않은 것으로 판단되는 경우, 우선순위가 높은 타일부터 낮은 타일의 순서로 상기 대역폭의 허용 범위 내에서 상기 적어도 하나의 타일의 적어도 일부에 대한 상기 고화질 비디오 데이터를 전송하는 동작을 포함하는 영상 전송 장치의 영상 전송 방법.
  4. 제3 항에 있어서,
    상기 우선순위는 상기 사용자로부터 상기 타일 내의 대상(object)까지의 거리에 따라 결정하되,
    상기 대상이 상기 사용자에게 가까울수록 상기 대상이 포함된 타일에 높은 우선 순위를 부여하는 영상 전송 장치의 영상 전송 방법.
  5. 제3 항에 있어서,
    상기 우선순위는 상기 뷰포트들에 포함된 타일들의 면적 비율에 따라 결정하되,
    상기 면적 비율이 클수록 높은 우선 순위를 부여하는 영상 전송 장치의 영상 전송 방법.
  6. 제2 항에 있어서,
    상기 현재 뷰포트와 상기 예측 뷰포트에 대응되는 영역에 대해서 상기 고화질 비디오 데이터를 전송하는 동작은,
    상기 뷰포트에 포함된 타일들 중에서 상기 뷰포트에 포함된 면적 비율이 특정 값과 같거나 상기 특정 값 보다 큰 타일에 대해서 상기 고화질 비디오 데이터를 전송하는 동작을 포함하는 영상 전송 장치의 영상 전송 방법.
  7. 제1 항에 있어서,
    상기 시그널링 데이터는 영상 구성 정보를 기초로 생성되고,
    상기 영상 구성 정보는 상기 가상 현실 공간 내에서 상기 사용자의 뷰포트를 지시하는 시선 정보 및 상기 사용자의 시야각을 지시하는 줌 영역 정보를 포함하는 영상 전송 장치의 영상 전송 방법.
  8. 제1 항에 있어서,
    상기 시그널링 데이터는 세션 정보를 실어 나르는 고수준 구문 프로토콜(High-Level Syntax Protocol), SEI (Supplement Enhancement Information), VUI (video usability information), 슬라이스 헤더(Slice Header), 및 상기 비디오 데이터를 서술하는 파일 중에서 적어도 하나를 통하여 전송되는 영상 전송 장치의 영상 전송 방법.
  9. 제1 항에 있어서,
    상기 예측 뷰포트는 상기 현재 뷰포트에 대한 정보 및 가상 현실 콘텐츠의 내용에 적어도 일부 기초하여 결정되는 영상 전송 장치의 영상 전송 방법.
  10. 제1 항에 있어서,
    상기 기본 화질 비디오 데이터는 기본 계층 비디오 데이터를 포함하고,
    상기 고화질 비디오 데이터는 기본 계층 비디오 데이터와 향상 계층 비디오 데이터를 포함하는 영상 전송 장치의 영상 전송 방법.
  11. 프로세서를 포함한 영상 수신 장치에서 수행되는 방법으로서,
    가상 현실 공간에 대한 비디오 데이터 및 시그널링 데이터를 포함하는 비트스트림을 수신하는 동작;
    상기 비디오 데이터를 기초로 기본 화질 비디오 데이터를 디코딩하는 동작; 및
    상기 비디오 데이터 및 상기 시그널링 데이터를 기초로 고화질 비디오 데이터를 디코딩하는 동작을 포함하되,
    상기 시그널링 데이터는 상기 가상 현실 공간 내에서 사용자가 바라보고 있는 영역에 대한 현재 뷰포트 및 상기 가상 현실 공간 내에서 상기 사용자가 바라볼 것으로 예상되는 예측 뷰포트에 대한 정보를 적어도 일부 포함하고,
    상기 고화질 비디오 데이터는 상기 현재 뷰포트 및 상기 예측 뷰포트에 대응되는 비디오 데이터를 포함하는 영상 수신 장치의 영상 수신 방법.
  12. 제11 항에 있어서,
    상기 고화질 비디오 데이터는 적어도 하나의 타일로 분할되고,
    상기 시그널링 데이터는 상기 현재 뷰포트 및 상기 예측 뷰포트에 포함되는 상기 적어도 하나의 타일을 식별하는 타일 정보를 포함하는 영상 수신 장치의 영상 수신 방법.
  13. 제12 항에 있어서,
    상기 기본 화질 비디오 데이터는 기본 계층 비디오 데이터를 포함하고,
    상기 고화질 비디오 데이터는 기본 계층 비디오 데이터 및 향상 계층 비디오 데이터를 포함하고,
    상기 비디오 데이터 및 상기 시그널링 데이터를 기초로 고화질 비디오 데이터를 디코딩하는 동작은,
    상기 뷰포트에 포함된 타일들 중 상기 고화질 비디오 데이터가 수신되지 않는 타일에 대해서 업샘플링된 기본 계층 비디오 데이터를 생성하는 동작; 및
    상기 기본 계층 비디오 데이터, 상기 향상 계층 비디오 데이터 또는 및 상기 업샘플링된 기본 계층 비디오 데이터에 적어도 일부 기초하여, 상기 사용자에게 출력할 영상을 디코딩하는 동작을 포함하는 영상 수신 장치의 영상 수신 방법.
  14. 제12 항에 있어서,
    상기 시그널링 데이터는 영상 구성 정보를 기초로 생성되고,
    상기 영상 구성 정보는 상기 가상 현실 공간 내에서 상기 사용자의 뷰포트를 지시하는 시선 정보 및 상기 사용자의 시야각을 지시하는 줌 영역 정보를 포함하는 영상 수신 장치의 영상 수신 방법.
  15. 제11 항에 있어서,
    상기 시그널링 데이터는 세션 정보를 실어 나르는 고수준 구문 프로토콜(High-Level Syntax Protocol), SEI (Supplement Enhancement Information), VUI (video usability information), 슬라이스 헤더(Slice Header), 및 상기 비디오 데이터를 서술하는 파일 중에서 적어도 하나를 통하여 전송되는 영상 수신 장치의 영상 수신 방법.
  16. 가상 현실 공간에 대한 기본 화질 비디오 데이터 및 고화질 비디오 데이터를 포함하는 비디오 데이터를 생성하는 인코더;
    상기 가상 현실 공간 내에서 사용자가 바라보고 있는 현재 뷰포트에 대한 정보 및 상기 사용자가 바라볼 것으로 예상되는 예측 뷰포트에 대한 정보에 적어도 일부 기초하여 시그널링 데이터를 생성하는 시그널링부;
    상기 비디오 데이터 및 상기 시그널링 데이터를 포함하는 비트스트림을 생성하는 다중화기; 및
    상기 비트스트림을 전송하는 통신부를 포함하되,
    상기 비디오 데이터는 상기 가상 현실 공간 전체 영역에 대한 기본 화질 비디오 데이터 및 상기 현재 뷰포트와 상기 예측 뷰포트에 대응되는 영역에 대한 고화질 비디오 데이터를 포함하는 영상 전송 장치.
  17. 제16 항에 있어서,
    상기 고화질 비디오 데이터는 적어도 하나의 타일로 분할되고,
    상기 시그널링 데이터는 상기 현재 뷰포트 및 상기 예측 뷰포트에 포함되는 상기 적어도 하나의 타일을 식별하는 타일 정보를 포함하는 영상 전송 장치.
  18. 제17 항에 있어서,
    상기 비디오 데이터를 전송하는 통신 회선의 대역폭의 상태를 판단하는 제어부를 더 포함하고,
    상기 제어부는 상기 대역폭이 상기 고화질 비디오 데이터를 모두 전송하기에 충분하지 않은 것으로 판단되는 경우, 우선순위가 높은 타일부터 낮은 타일의 순서로 상기 대역폭의 허용 범위 내에서 상기 적어도 하나의 타일의 적어도 일부에 대한 상기 고화질 비디오 데이터를 전송하는 영상 전송 장치.
  19. 제18 항에 있어서,
    상기 제어부는,
    상기 타일 내의 대상(object)이 상기 사용자에게 가까울수록 상기 대상이 포함된 타일에 높은 우선 순위를 부여하는 영상 전송 장치.
  20. 제18 항에 있어서,
    상기 제어부는,
    상기 뷰포트에 포함된 타일의 면적 비율이 클수록 높은 우선 순위를 부여하는 영상 전송 장치.
  21. 제16 항에 있어서,
    상기 기본 화질 비디오 데이터는 기본 계층 비디오 데이터를 포함하고,
    상기 고화질 비디오 데이터는 기본 계층 비디오 데이터와 향상 계층 비디오 데이터를 포함하는 영상 전송 장치.
  22. 프로세서를 포함한 영상 전송 장치에서 수행되는 방법으로서,
    가상 현실 공간에 대한 적어도 2개 이상의 화질에 관련된 비디오 데이터를 생성하는 동작;
    상기 가상 현실 공간 내에서 사용자의 현재 관심 영역 또는 예측 관심 영역을 포함하는 관심 영역에 대한 정보에 적어도 일부 기초하여 시그널링 정보를 생성하는 동작; 및
    상기 비디오 데이터 및 상기 시그널링 정보를 포함하는 비디오 스트림 정보를 전송하는 동작을 포함하고,
    상기 비디오 데이터는 관심 영역에 관련된 비디오 데이터와 비 관심 영역에 관련된 비디오 데이터를 포함하고,
    관심영역에 관련된 비디오 데이터의 화질과 비 관심 영역에 관련된 비디오 데이터의 화질은 서로 다른 영상 전송 장치의 영상 전송 방법.
PCT/KR2018/015795 2017-12-12 2018-12-12 뷰포트 정보를 이용한 가상 현실 비디오 스트리밍 WO2019117629A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020170170823A KR101898822B1 (ko) 2017-12-12 2017-12-12 뷰포트 정보 시그널링을 이용한 가상 현실 비디오 스트리밍
KR10-2017-0170823 2017-12-12
KR10-2017-0170985 2017-12-13
KR1020170170985A KR101941789B1 (ko) 2017-12-13 2017-12-13 뷰포트와 타일 크기에 기초한 가상 현실 비디오 전송

Publications (1)

Publication Number Publication Date
WO2019117629A1 true WO2019117629A1 (ko) 2019-06-20

Family

ID=66819395

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/015795 WO2019117629A1 (ko) 2017-12-12 2018-12-12 뷰포트 정보를 이용한 가상 현실 비디오 스트리밍

Country Status (1)

Country Link
WO (1) WO2019117629A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113542209A (zh) * 2020-03-30 2021-10-22 腾讯美国有限责任公司 用于视频信令的方法、装置和可读存储介质
US20220086470A1 (en) * 2019-09-24 2022-03-17 At&T Intellectual Property I, L.P. Transcoding ultra-high-definition panoramic videos

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110136040A (ko) * 2010-06-14 2011-12-21 주식회사 비즈모델라인 사용자 시선 기반 증강현실 기능이 구비된 단말
KR20140115354A (ko) * 2012-01-19 2014-09-30 브이아이디 스케일, 인크. 시청 조건에 대한 적응을 지원하는 비디오 전송 방법 및 시스템
KR20170017606A (ko) * 2015-08-07 2017-02-15 엘지전자 주식회사 디지털 디바이스 및 상기 디지털 디바이스에서 데이터 처리 방법
KR101713492B1 (ko) * 2016-06-27 2017-03-07 가천대학교 산학협력단 영상 복호화 방법, 영상 부호화 방법, 영상 복호화 장치, 및 영상 부호화 장치
KR20170048137A (ko) * 2016-07-05 2017-05-08 안규태 미디어 컨텐츠 송신 방법, 미디어 컨텐츠 송신 장치, 미디어 컨텐츠 수신 방법, 및 미디어 컨텐츠 수신 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110136040A (ko) * 2010-06-14 2011-12-21 주식회사 비즈모델라인 사용자 시선 기반 증강현실 기능이 구비된 단말
KR20140115354A (ko) * 2012-01-19 2014-09-30 브이아이디 스케일, 인크. 시청 조건에 대한 적응을 지원하는 비디오 전송 방법 및 시스템
KR20170017606A (ko) * 2015-08-07 2017-02-15 엘지전자 주식회사 디지털 디바이스 및 상기 디지털 디바이스에서 데이터 처리 방법
KR101713492B1 (ko) * 2016-06-27 2017-03-07 가천대학교 산학협력단 영상 복호화 방법, 영상 부호화 방법, 영상 복호화 장치, 및 영상 부호화 장치
KR20170048137A (ko) * 2016-07-05 2017-05-08 안규태 미디어 컨텐츠 송신 방법, 미디어 컨텐츠 송신 장치, 미디어 컨텐츠 수신 방법, 및 미디어 컨텐츠 수신 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220086470A1 (en) * 2019-09-24 2022-03-17 At&T Intellectual Property I, L.P. Transcoding ultra-high-definition panoramic videos
CN113542209A (zh) * 2020-03-30 2021-10-22 腾讯美国有限责任公司 用于视频信令的方法、装置和可读存储介质
US20220201251A1 (en) * 2020-03-30 2022-06-23 Tencent America LLC Signaling of the rtcp viewport feedback for immersive teleconferencing and telepresence for remote terminals
US11711492B2 (en) * 2020-03-30 2023-07-25 Tencent America LLC Signaling of the RTCP viewport feedback for immersive teleconferencing and telepresence for remote terminals

Similar Documents

Publication Publication Date Title
WO2019194434A1 (ko) 복수의 뷰포인트들에 대한 메타데이터를 송수신하는 방법 및 장치
WO2018004239A1 (ko) 영상 복호화 방법, 영상 부호화 방법, 영상 복호화 장치, 및 영상 부호화 장치
WO2020197083A1 (ko) Dmvr 및 bdof 기반의 인터 예측 방법 및 장치
WO2018169176A1 (ko) 퀄리티 기반 360도 비디오를 송수신하는 방법 및 그 장치
WO2019151798A1 (ko) 무선 통신 시스템에서 이미지에 대한 메타데이터를 송수신하는 방법 및 장치
WO2019198883A1 (ko) 핫스팟 및 roi 관련 메타데이터를 이용한 360도 비디오를 송수신하는 방법 및 그 장치
WO2018217057A1 (ko) 360 비디오 처리 방법 및 그 장치
WO2021040481A1 (ko) 크로스 컴포넌트 필터링 기반 영상 코딩 장치 및 방법
WO2019194573A1 (en) Method for transmitting 360-degree video, method for receiving 360-degree video, apparatus for transmitting 360-degree video, and apparatus for receiving 360-degree video
WO2014003379A1 (ko) 영상 디코딩 방법 및 이를 이용하는 장치
WO2014038906A1 (ko) 영상 복호화 방법 및 이를 이용하는 장치
WO2019231178A1 (ko) 복수의 뷰포인트들에 대한 메타데이터를 송수신하는 방법 및 장치
WO2020027349A1 (ko) 다중 뷰포인트 기반 360 비디오 처리 방법 및 그 장치
WO2019203456A1 (ko) 복수의 뷰포인트들에 대한 메타데이터를 송수신하는 방법 및 장치
WO2021040484A1 (ko) 크로스-컴포넌트 적응적 루프 필터링 기반 영상 코딩 장치 및 방법
WO2018169139A1 (ko) 360도 비디오의 영역 정보 전달 방법 및 장치
WO2021040479A1 (ko) 필터링 기반 영상 코딩 장치 및 방법
WO2018004317A1 (ko) 고해상도 영상 스트리밍을 위한 영상 비트스트림 생성방법 및 장치
WO2021101203A1 (ko) 필터링 기반 영상 코딩 장치 및 방법
WO2015102439A1 (ko) 멀티 레이어 비디오의 복호화 및 부호화를 위한 버퍼 관리 방법 및 장치
WO2019009473A1 (ko) 360도 비디오의 영역 기반 처리 방법 및 장치
WO2021101200A1 (ko) 루프 필터링을 제어하기 위한 영상 코딩 장치 및 방법
WO2021101201A1 (ko) 루프 필터링을 제어하는 영상 코딩 장치 및 방법
WO2018062641A1 (ko) 관심 영역을 고려한 가상 현실 서비스 제공
WO2019117629A1 (ko) 뷰포트 정보를 이용한 가상 현실 비디오 스트리밍

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18887444

Country of ref document: EP

Kind code of ref document: A1