WO2015012632A1 - 다시점 비디오 스트리밍 시스템 및 그 제공방법 - Google Patents

다시점 비디오 스트리밍 시스템 및 그 제공방법 Download PDF

Info

Publication number
WO2015012632A1
WO2015012632A1 PCT/KR2014/006794 KR2014006794W WO2015012632A1 WO 2015012632 A1 WO2015012632 A1 WO 2015012632A1 KR 2014006794 W KR2014006794 W KR 2014006794W WO 2015012632 A1 WO2015012632 A1 WO 2015012632A1
Authority
WO
WIPO (PCT)
Prior art keywords
stream
view video
bulk
streaming system
user terminal
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/KR2014/006794
Other languages
English (en)
French (fr)
Inventor
김규현
신현규
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEXT AEON Inc
Original Assignee
NEXT AEON Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEXT AEON Inc filed Critical NEXT AEON Inc
Publication of WO2015012632A1 publication Critical patent/WO2015012632A1/ko
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • 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/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs

Definitions

  • the present invention relates to a multi-view video streaming system and a method of providing the same. More particularly, the present invention relates to a multi-view video streaming system and a method for providing the same, which reduce the bandwidth required to stream a multi-view video while preventing a break of the screen when the view point moves.
  • a multi-view camera captures video of several views of a scene and performs multi-view video encoding for effective transmission of the captured image.
  • the receiving end decodes a multiview image in the transmitted compressed bit stream again, and provides various application services according to a viewer's request using the decoded multiview image.
  • FIG. 1 is a diagram for explaining such a conventional multi-view video streaming system.
  • a conventional multiview video streaming system individual view images captured by a plurality of cameras 10 are encoded / multiplexed by the multiview image encoder 20 to generate a multiview video file 31.
  • the multiview video streaming server 30 may stream the generated multiview video file 31 to the user terminal 40.
  • the multi-view video decoder 41 included in the user terminal 40 may demultiplex / decode the streamed multi-view video stream into separate view video streams, and the view selector 42 user May select a video stream of a desired view and output the selected individual view video stream to the display device 50.
  • the present invention has been made to solve the problems of the prior art, the present invention is not to stream each individual view video included in a multi-view video, but to stream only a portion of them to reduce the bandwidth required for streaming It is possible to provide a multi-view video streaming system and a method capable of preventing a breakdown at the time of switching.
  • a method of providing a multi-view video streaming system for streaming a multi-view video (multi-view video) consisting of a plurality of individual view video photographed at different views to a user terminal (a) Generating, by the multi-view video streaming system, a bulk stream corresponding to the main individual view video stream of the display on the user terminal, wherein the bulk stream comprises the main individual view video stream, the main individual view video stream and a first stream; A first direction adjacent discrete view stream of a predetermined first number adjacent in one direction, and a second direction adjacent discrete view stream of a predetermined second number adjacent in a second direction with the main individual view video stream, The second direction is opposite to the first direction; and (b) the multiview video streaming.
  • the generated points of the bulk stream again comprises the step of streaming a video stream to the user terminal system providing method is provided.
  • the multi-view video streaming system providing method, the multi-view video streaming system, receiving a view movement command while streaming the bulk stream, the multi-view video streaming system, the view movement command In response to updating the sequence number of the main individual view video stream being displayed on the user terminal and performing the steps (a) and (b) based on the updated sequence number of the main individual view video stream. It may further comprise a step.
  • the multi-view video streaming system providing method, the elapsed time from the time of receipt of the most recently received time-shifting command, the hourly reception rate of the time-shifting command, the data between the multi-view video streaming system and the user terminal Measuring at least one of a transmission speed, a load on the multi-view video streaming system, or the number of terminals receiving a streaming service from the multi-view video streaming system, and based on the measurement result, the first number and The method may further include determining at least one of the second number.
  • the multi-view video streaming system providing method, based on the history of the viewpoint movement command input from another user terminal provided with the multi-view video from the multi-view video streaming system, each reproduction of the multi-view video Determining at least one time shift frequency per time and determining at least one of the first number and the second number based on the determined time shift frequency for each playback time of the multi-view video. It may include.
  • the method of providing a multiview video streaming system may include determining at least one of the first number and the second number based on a preset number of neighboring view videos for each playback time of the multiview video. It may further include.
  • the step (a) may be performed by encoding the main individual view video stream, the first direction adjacent individual view stream, and the second direction adjacent individual view stream by MVC (Multi-View Coding). Generating a bulk stream.
  • MVC Multi-View Coding
  • the bulk stream includes a series of bulk images arranged in chronological order, wherein the bulk images correspond to the bulk images of images included in individual view video streams included in the bulk stream.
  • the image corresponding to the time may be an image of a form connected in one or two dimensions.
  • the bulk image is included in the bulk stream when the horizontal size of an image corresponding to the time corresponding to the bulk image among the images included in the individual view video streams included in the bulk stream is larger than the vertical size.
  • An image corresponding to a time corresponding to the bulk image among the images included in the individual view video streams included is a vertically connected image, and the image corresponding to the bulk image is included in the bulk image among the images included in the individual view video streams included in the bulk stream.
  • the vertical size of the image corresponding to the corresponding time is larger than the horizontal size
  • an image having a horizontally connected image corresponding to the time corresponding to the bulk image among the images included in the individual view video streams included in the bulk stream Can be.
  • each of the bulk streams comprises a series of bulk images arranged in chronological order, wherein the bulk images are included at a time corresponding to the bulk images of the images included in the individual view videos included in the bulk stream.
  • the divided images obtained by dividing the corresponding images by a predetermined number may be images in a sequence.
  • the method of providing a multi-view video streaming system includes dividing and storing the plurality of individual view videos into a plurality of bulk data, wherein one bulk data includes a plurality of adjacent view individual videos. Elapsed time from the time of receipt of the most recently received teleportation command, hourly reception rate of the teleportation command, data transmission rate between the multiview video streaming system and the user terminal, or streaming from the multiview video streaming system Determining whether to stream bulk data based on at least one of the number of terminals receiving a service; and when the multi-view video streaming system determines that bulk data should be streamed, among the plurality of bulk data. Display on the user terminal The method may further include streaming, to the user terminal, a first bulk stream corresponding to the first bulk data including the main individual view video in progress.
  • the multi-view video streaming system providing method, the multi-view video streaming system, receiving a view movement command while streaming the first bulk stream, the multi-view video streaming system, the view In response to a movement command, updating the sequence number of the main individual view video stream being displayed on the user terminal, wherein the multi-view video streaming system is based on the updated sequence number of the main individual view video stream. Determining whether to transmit the second bulk stream adjacent to the second bulk stream; and if the multi-view video streaming system determines that the second bulk stream should be transmitted, further streaming the second bulk stream to the user terminal. It may further include.
  • a multi-view video streaming system for providing a multi-view video consisting of a plurality of individual view video photographed at different views to a user terminal, (a) the multi-view video Storing, by the streaming system, bulk data corresponding to each of the plurality of individual view videos, wherein the bulk data corresponding to the individual view video is a plurality of adjacent adjacent first views and the individual view videos in a first direction; A first direction adjacent individual view video of the plurality of second views, and a plurality of second direction adjacent individual view videos adjacent to the individual view video in a second direction, the second direction being opposite to the first direction; and (b
  • the multi-view video streaming system is connected to the main individual view video being displayed on the user terminal. Step in response to selection of a bulk data, (c) providing the selected multi-view video streaming system of the bulk stream corresponding to the bulk data comprises streamed to the user terminal, a method is provided.
  • the multi-view video streaming system providing method, the multi-view video streaming system, receiving a view movement command while streaming the bulk stream, the multi-view video streaming system, the view movement command In response to updating the sequence number of the main individual view video stream being displayed on the user terminal and performing the steps (b) and (c) based on the updated sequence number of the main individual view video stream. It may further comprise a step.
  • a computer-readable recording medium having recorded thereon a program for performing the above method.
  • a multi-view video streaming system comprising a processor and a memory for storing a computer program executed by the processor, the computer program, when executed by the processor, the multi-view A multiview video streaming system is provided which allows the video streaming system to perform the method described above.
  • a multi-view video streaming system for streaming to a user terminal a multi-view video consisting of a plurality of individual view video photographed at different views, the main individual view video of the display on the user terminal
  • a stream generation module for generating a bulk stream corresponding to the stream, wherein the bulk stream is a first direction adjacent individual by a first number adjacent in the first direction to the main individual viewpoint video stream and the main individual viewpoint video stream;
  • Streaming module for streaming the bulk stream to the user terminal It is provided with a multi-view video streaming system.
  • the multi-view video streaming system the command receiving module for receiving a view movement command while streaming the bulk stream and in response to the view movement command, of the main individual view video stream being displayed on the user terminal;
  • the control module may further include a control module for updating the sequence number and controlling the stream generation module to generate a bulk stream corresponding to the updated main individual view video stream.
  • the multi-view video streaming system the elapsed time from the time of receipt of the most recently received time-shifting command, the rate of reception of the time-shifting command per hour, the data transmission rate between the multi-view video streaming system and the user terminal At least one of a load applied to the multi-view video streaming system or a number of terminals receiving a streaming service from the multi-view video streaming system, and based on the measurement result, the first number and the second
  • the apparatus may further include a determining module for determining at least one of the numbers.
  • the multi-view video streaming system based on the history of the viewpoint movement command input from another user terminal provided with the multi-view video from the multi-view video streaming system, each playback time of the multi-view video ( and a determination module for determining a view movement frequency per time and determining at least one of the first number and the second number based on the determined view movement frequency of each reproduction time of the multi-view video.
  • each playback time of the multi-view video and a determination module for determining a view movement frequency per time and determining at least one of the first number and the second number based on the determined view movement frequency of each reproduction time of the multi-view video.
  • the multi-view video streaming system for determining at least one of the first number and the second number based on the number of adjacent viewpoint video for each playback time of the preset multi-view video. It may further include.
  • the multi-view video streaming system the storage module for dividing and storing the plurality of individual view video in a plurality of bulk data, wherein one bulk data includes a plurality of adjacent individual view video And an elapsed time from a reception time of the most recently received teleportation command, an hourly reception rate of the teleportation command, a data transmission rate between the multiview video streaming system and the user terminal, and a load applied to the multiview video streaming system.
  • a control module that determines whether to stream bulk data based on at least one of the number of terminals receiving streaming services from the multi-view video streaming system.
  • To stream bulk data A case, it is possible to stream the first bulk stream corresponding to the first bulk data to one of the plurality of bulk data including the main individual view video is being displayed on the user terminal to the user terminal.
  • the multi-view video streaming system the command receiving module for receiving a view movement command while streaming the first bulk stream, the main individual view video being displayed on the user terminal in response to the view movement command. And a control module for updating a sequence number of the stream and determining whether to transmit a second bulk stream adjacent to the first bulk stream based on the updated sequence number of the main individual view video stream. If it is determined that the control module should transmit the second bulk stream, the control module may further stream the second bulk stream to the user terminal.
  • a multi-view video streaming system for streaming to a user terminal a multi-view video consisting of a plurality of individual view video photographed at different views, corresponding to each of the plurality of individual view video
  • a storage module for storing bulk data, wherein the bulk data corresponding to the individual view video comprises: the individual view video, a plurality of first directional adjacent view data in a first direction adjacent to the view view video; A plurality of second directional adjacent discrete viewpoint video in a second direction, said second direction being opposite to said first direction, and corresponding to the main discrete viewpoint video being displayed on said user terminal;
  • a control module for selecting data and a bulk corresponding to the selected bulk data
  • the rim multi-view video streaming system including a streaming module is streaming to the user terminal is provided.
  • the multi-view video streaming system does not receive all the individual view video streams included in the multi-view video, but receives only a part of them in bulk streams, thereby significantly reducing the bandwidth required for streaming. There is.
  • the multi-view video streaming system streams not only the individual view video stream currently being displayed but also the adjacent view video streams to the user terminal, thereby preventing a disconnection during the movement of the view, thereby providing a user input. There is an effect to increase the responsiveness to.
  • the multi-view video streaming system has an effect of preventing the disconnection during viewpoint movement by receiving not only the bulk stream including the individual view video stream currently being displayed but also the adjacent bulk stream in advance. have.
  • the multi-view video streaming system has an effect of balancing bandwidth reduction and responsiveness by adjusting the amount of data streamed to the user terminal according to various situations.
  • 1 is a view for explaining a conventional multi-view video streaming system.
  • FIG. 2 is a block diagram illustrating a multiview video streaming system according to an embodiment of the present invention.
  • FIG. 3 is a diagram for describing a method of streaming a bulk stream corresponding to a main individual view video stream displayed on a user terminal to a user terminal in a multiview video streaming system according to an embodiment of the present invention.
  • FIG. 4 illustrates an example of instructing a viewpoint movement through a touch screen.
  • FIG. 5 is a diagram for describing a method of adjusting a bulk stream to be streamed to a user terminal by a multiview video streaming system according to an embodiment of the present invention.
  • FIG. 6 is a view for explaining a change in the number of individual view video streams included in a bulk stream.
  • FIG. 7 is a flowchart illustrating a method of operating a multiview video streaming system according to an embodiment of the present invention.
  • FIG. 8 is a diagram for describing a method of dividing and storing a multiview video in a bulk file in a multiview video streaming system according to an embodiment of the present invention.
  • FIG. 9 is a diagram for explaining an example of streaming by a multi-view video streaming system in bulk file units according to an embodiment of the present invention.
  • FIG. 10 is a flowchart illustrating a method of operating a multiview video streaming system according to another embodiment of the present invention.
  • FIG. 11 is a diagram illustrating a method of operating a multiview video streaming system according to another embodiment of the present invention.
  • FIG. 12 is a diagram illustrating an example of bulk data corresponding to each individual view video according to another embodiment of the present invention.
  • FIG. 13 is a flowchart illustrating a method of operating a multiview video streaming system according to another embodiment of the present invention described above.
  • [Revision 29.08.2014 under Rule 91] 14 is a diagram of a multi-view video streaming system according to an embodiment of the present invention for streaming. Is a diagram illustrating an example of a bulk image included in a bulk stream.
  • first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • the component when one component 'transmits' data to another component, the component may directly transmit the data to the other component, or through at least one other component. Means that the data may be transmitted to the other component.
  • the component when one component 'directly transmits' data to another component, it means that the data is transmitted from the component to the other component without passing through the other component.
  • FIG. 2 is a block diagram illustrating a multiview video streaming system according to an embodiment of the present invention.
  • a multiview video streaming system 100 may be provided.
  • the multi-view video streaming system 100 may simultaneously stream multi-view video requested by each user terminal to a plurality of user terminals 200, 200-1 to 200 -K.
  • the multi-view video may be composed of a plurality of individual view videos captured at different views.
  • One individual viewpoint video may mean an image captured by one camera at a specific viewpoint.
  • the multi-view video streaming system 100 may stream only some of the individual view videos constituting the multi-view video requested by the user terminal (eg, 200) to the user terminal (eg, 200). have.
  • the user terminal 200 may display a video of any one of a plurality of individual viewpoint video constituting the multi-view video on a predetermined display device.
  • the multi-view video streaming system 100 includes a bulk stream including an individual view video stream (hereinafter, referred to as a main individual view video stream) currently being displayed on the user terminal 200 as well as an adjacent view video stream adjacent thereto.
  • the bulk stream transmitted from the multi-view video streaming system 100 to the user terminal may include a plurality of individual view video streams, and the plurality of individual view video streams included in the bulk stream may be adjacent to each other.
  • two separate viewpoint video adjacent to each other may mean individual viewpoint video captured by two cameras adjacent to each other.
  • the plurality of individual view video streams included in the bulk stream may be video streams captured by a plurality of cameras sequentially arranged.
  • the user terminal 200 decodes the bulk stream received from the multiview video streaming system 100 to separate a plurality of individual view video streams included in the bulk stream, and among them, the main individual view video stream. Can be displayed.
  • the user terminal 200 may be a device capable of playing a video on a built-in display device connected through a predetermined interface such as a computer, a laptop, a desktop, a tablet PC, a set-top box, and a PDA (Personal Digital Assistant) and a smart phone.
  • a processing device coupled to a wireless computing device or other wireless modem, including a cellular phone, a handheld device having other wireless connection capabilities.
  • the multi-view video streaming system 100 as shown in Figure 2, stream generation module 110, command receiving module 120, control module 130, determination module 140, streaming module 150 And a storage module 160.
  • stream generation module 110 command receiving module 120
  • control module 130 determination module 140
  • streaming module 150 streaming module 150
  • storage module 160 storage module 160.
  • some of the above-described elements may not necessarily correspond to the elements necessary for the implementation of the present invention, and according to the embodiment, the multi-view video streaming system 100 ) May also include more components than this.
  • the multi-view video streaming system 100 may include hardware resources and / or software necessary to implement the technical idea of the present invention, and necessarily means one physical component or one device. It is not. That is, the multi-view video streaming system 100 may mean a logical combination of hardware and / or software provided to implement the technical idea of the present invention. If necessary, the multi-view video streaming system 100 may be installed in devices spaced apart from each other. By performing a function may be implemented as a set of logical configurations for implementing the technical idea of the present invention. In addition, the multi-view video streaming system 100 may refer to a set of components that are separately implemented for each function or role for implementing the technical idea of the present invention.
  • the stream generation module 110, the command receiving module 120, the control module 130, the determination module 140, the streaming module 150, and / or the storage module 160 may be located in different physical devices. May be located on the same physical device.
  • individual modules such as the stream generation module 110, the command receiving module 120, the control module 130, the determination module 140, the streaming module 150, or the storage module 160 may also be mutually different. Components located in different physical devices, and components located in different physical devices, may be organically combined with each other to realize the functions performed by the individual modules.
  • module in the present specification may mean a functional and structural combination of hardware for performing the technical idea of the present invention and software for driving the hardware.
  • the module may mean a logical unit of a predetermined code and a hardware resource for performing the predetermined code, and means a physically connected code or does not necessarily mean one kind of hardware. It can be easily inferred by the average expert in the art.
  • the control module 130 may include other components (eg, the stream generation module 110, the command receiving module 120, and the determination module 140) included in the multi-view video streaming system 100 according to an embodiment of the present invention. ), The streaming module 150 and the storage module 160, etc.) and / or resources can be controlled.
  • the stream generation module 110 may generate a bulk stream to be streamed to the user terminal 200.
  • the stream generation module 110 may generate a bulk stream corresponding to the main individual view video stream of the display on the user terminal. Then, the streaming module 150 may stream the generated bulk stream to the user terminal 200.
  • the bulk stream corresponding to the main individual view video stream includes the main individual view video stream, a first predetermined number of first direction adjacent individual view streams adjacent to the main individual view video stream in a first direction, and the main individual.
  • the view video stream may include as many second direction adjacent individual view streams as the second predetermined number adjacent to the view video stream.
  • the stream generation module 110 may perform a function of encoding / multiplexing a plurality of individual view video streams into one bulk stream.
  • the first direction may be varied in a left direction, a right direction, an upward direction, a downward direction, and the like, and the second direction may be opposite to the first direction.
  • the second direction may be a right direction.
  • FIG. 3 is a view for explaining a method of streaming a bulk stream corresponding to a main individual view video stream displayed on the user terminal 200 to a user terminal in the multi-view video streaming system 100 according to an exemplary embodiment of the present invention. to be.
  • FIG. 3 shows an example of 36 individual view videos captured by a total of 36 cameras, a first direction of which is left, a second direction of which is right, a first number of two, and a second number of two. That is, in the example of FIG. 3, the bulk data streamed to the user terminal 200 includes a main individual view video stream, two (first number) adjacent individual view video streams adjacent to the left (first direction), and a right ( Two (second) adjacent individual viewpoint video streams in a second direction).
  • a multiview video may be composed of individual viewpoint videos (first viewpoint video to 36 viewpoint video) captured by cameras 1 to 36 at different viewpoints.
  • the storage module 160 may store each individual view video in a predetermined storage space (eg, DB) included in the multi-view video streaming system 100.
  • a predetermined storage space eg, DB
  • the stream generation module 110 may include not only the main individual view video stream v i but also two individual view video streams v i-1 adjacent to the main individual view video stream v i in a first direction (eg, left direction).
  • the bulk stream B may be generated, and the streaming module 150 may stream the generated bulk stream B to the user terminal 200.
  • the user terminal 200 receiving the bulk stream B decodes / demultiplexes the bulk stream B to separate individual view video streams v i-2 to v i + 2 from the bulk stream B. Can be separated.
  • the separate individual view video streams v i-2 to v i + 2 may each be stored in a corresponding buffer.
  • the user terminal 200 generates each individual image from a bit stream stored in each buffer, and displays an image corresponding to the i-th individual view video stream v i , which is a main individual view video stream, of the display device 210. ) Can be printed.
  • the bulk stream may include a plurality of individual view video streams encoded by multi-view coding (MVC), wherein MVC is used to encode a plurality of individual view videos into one data.
  • MVC multi-view coding
  • It may include any coding scheme for, and according to the implementation, various standard techniques such as H.264 may be used.
  • the bulk stream may be implemented as an image obtained by multiplexing a multiview to a multichannel container such as MPEG-2 TS.
  • each bulk stream includes a series of bulk images arranged in chronological order, and the bulk images are included in a plurality of individual view videos included in the bulk stream.
  • the image corresponding to the time corresponding to the bulk image may be one or two-dimensional images.
  • the bulk stream includes a first individual view video to an mth individual view video, and each individual view video includes t 1 , t 2 , t 3 ,. , t n-1 , and t n time images (t 1 ⁇ t 2 ⁇ t 3 ,..., t n-1 ⁇ t n ), the bulk streams each have a time t 1 , t 2 , t 3 ,..
  • the video may be an image to which an image of t i time of the m- th individual view video is connected.
  • the image of a specific time point of each individual view video included in one bulk image may be connected in one dimension (eg, horizontally or vertically) or in two dimensions (eg, horizontally and vertically). ) Can be connected.
  • a predetermined separator for example, a blank area, a divided area having a predetermined color or a predetermined pattern, etc.
  • one image in the form of a plurality of divided images may be output.
  • the stream generation module 110 extracts images for each time from all the individual view videos included in the bulk stream, combines them to generate a bulk image, and generates a multi-view video of the generated bulk images.
  • a bulk stream may be generated by encoding by a general video encoding method instead of an encoding method, and the user terminal 200 may include only a portion corresponding to an image of a time point to be displayed on the user terminal 200 in one bulk image. You can crop and display it.
  • one bulk stream is composed of a series of bulk images
  • the image of the specific view of each individual view video to be included in the bulk image of the specific view is included.
  • H may be divided into R divided images having a constant size, and the divided divided images may be sequentially arranged to form a bulk image of the specific time point.
  • the horizontal size of the image of the specific time point of each individual view video is larger than the vertical size, the images of the specific time point may be horizontally cut and arranged vertically. Can be listed.
  • the bulk image is closer to the square, encoding efficiency of the bulk image may be increased. Referring to FIG.
  • the bulk stream includes a first individual view video to an mth individual view video, and each individual view video includes t 1 , t 2 , and t 3. ,... , t n-1 , and t n time images (t 1 ⁇ t 2 ⁇ t 3 ,..., t n-1 ⁇ t n ), the bulk streams each have a time t 1 , t 2 , t 3 ,.. It may be composed of a bulk image corresponding to t n-1 , t n .
  • the user may change the viewpoint of the individual viewpoint video currently displayed on the user terminal 200. That is, the user may instruct the view movement through a predetermined input device (not shown) included in the user terminal 200 while the main individual view video stream is displayed on the user terminal 200.
  • the input device may vary from a keyboard, a keypad, a touch pad, a touch screen, and the like.
  • 4 illustrates an example of instructing a viewpoint movement through a touch screen.
  • a user may instruct a viewpoint movement by moving an object such as a finger or a stylus fan on the touch screen 210 provided in the user terminal 200.
  • the user terminal 200 may detect the movement of the object, and when the movement of the object is detected, may shift the viewpoint of the multi-view video being displayed.
  • the multi-view video streaming system 100 streams not only the main individual view video stream being displayed on the user terminal 200 but also a predetermined number of individual view video streams adjacent to both sides at the same time. Therefore, when the user moves the viewpoint for the multi-view video, the user terminal 200 may display adjacent individual viewpoint video streams buffered in advance.
  • the multi-view video streaming system 100 not only displays the main individual view video stream being displayed on the user terminal 200, but also a predetermined number of individual adjacent sides thereof. Streaming the viewpoint video stream at the same time, it is possible to prevent the disconnection that can occur when moving the viewpoint.
  • the multi-view video streaming system 100 transmits a bulk stream including only a part of the multi-view video included in the multi-view video, rather than streaming all of the individual view video, according to the technical concept of the present invention. Compared with the conventional method of receiving all individual view video streams included in the multiview video, the 100 can significantly reduce the bandwidth required for streaming.
  • the multiview video streaming system 100 does not stream every individual view video included in the multiview video multiview video, but the main individual view video stream amount. Since only a certain number of sideways streaming, if the user terminal 200 continues to move the viewpoint, eventually the disconnection phenomenon may appear. In order to prevent this, the multiview video streaming system 100 may adjust a bulk stream streaming to the user terminal 200 when there is a viewpoint shift with respect to the multiview video.
  • the command receiving module 120 may receive a view movement command while streaming the bulk stream. That is, when the user instructs a viewpoint movement for a multiview video, the user terminal 200 may transmit a viewpoint movement command to the multiview video streaming system 100, and the command receiving module 120 may transmit the viewpoint movement command. Can be received.
  • the viewpoint movement command may include information about a viewpoint movement direction. Movable viewpoints may vary, such as vertical bidirectional, horizontal bidirectional, diagonal bidirectional. For example, when the object moves to the left, the user terminal 200 may transmit a view move command to the right view, and when the object moves to the right, the user terminal 200 may transmit a view move command to the left view. On the contrary, there may be an embodiment that transmits a view movement command in the direction in which the object moves.
  • the control module 120 may update the sequence number of the main individual view video stream being displayed on the user terminal 200 in response to the view movement command received by the command receiving module 120. For example, when a view movement command to the left direction is received from the user terminal 200 while the i-th individual view video stream is displayed on the user terminal 200, the control module 120 may display the main individual view video.
  • the sequence number of the stream can be updated to i-1.
  • the control module 120 may control the stream generation module 110 to generate a bulk stream corresponding to the updated main individual view video stream after updating the sequence number of the main individual view video stream.
  • 5 illustrates a method of adjusting a bulk stream to be streamed to the user terminal 200 by the multi-view video streaming system 100 according to an embodiment of the present invention when the user terminal 200 commands a viewpoint movement.
  • 5 is composed of 10 individual viewpoint videos captured by a total of 10 cameras, and the bulk data streamed to the user terminal 200 includes a main individual viewpoint video stream and two adjacent to the left (first direction).
  • An example is shown that includes a plurality of adjacent individual view video streams and two (second number) adjacent individual view video streams adjacent to the right side (second direction).
  • the stream generation module 110 may generate a third individual view video stream v 3 .
  • the bulk stream B1 including the seventh to seventh viewpoint video stream v 7 may be generated.
  • the stream generation module 110 is controlled by the control module 120, as shown in FIG. 6B.
  • a bulk stream B2 including four separate view video streams v 4 to eighth separate view video streams v 8 may be generated. Since both the bulk stream B1 and the bulk stream B2 include the main individual view video stream v 6 updated by the viewpoint movement command, the user terminal 200 updates the updated main individual view video stream v 6 . Receive continuously. Therefore, the disconnection phenomenon may not occur even when the viewpoint is moved.
  • the stream generation module 110 is controlled by the control module 120, as shown in FIG. 6C.
  • a bulk stream B2 including the fifth individual view video stream v 5 to the ninth individual view video stream v 9 may be generated.
  • the stream generation module 110 is controlled by the control module 120, as shown in FIG. 6D.
  • a bulk stream B4 including four separate view video streams v 4 to eighth separate view video streams v 8 may be generated.
  • a bulk stream B5 including the third individual view video stream v 3 to the seventh individual view video stream v 7 may be generated.
  • the stream generation module 110 is controlled by the control module 120, as shown in FIG. 6 (f).
  • a bulk stream B6 including the second individual view video stream v 2 to the sixth individual view video stream v 6 may be generated.
  • the determination module 140 may adjust the number of adjacent individual view video streams to be included in the bulk stream in consideration of several factors. That is, as described above, the bulk stream streamed to the user terminal 200 may include a main individual view video stream being displayed on the user terminal, a first number of adjacent individual view video streams adjacent to the first direction, and adjacent to the second direction. And a second number of adjacent individual view video streams, wherein the determination module 140 may adaptively determine the first number and / or the second number.
  • the determination module 140 measures the elapsed time from the reception time of the most recently received time-shifting command, and based on the measurement result, at least one of the first number and the second number Can be determined. For example, the determination module 140 may decrease the first number and the second number one by one when a predetermined time elapses from the reception time of the most recently received viewpoint movement command. When a predetermined time elapses therefrom, the determination module 140 may decrease the first number and the second number one by one again. The time interval it takes for the first and second numbers to decrease may be constant, and may continue to decrease or continue to increase. This reduces the amount of data included in the bulk stream when the user moves less time, thereby saving bandwidth.
  • the determination module 140 may determine at least one of the first number and the second number based on an hourly reception rate of the viewpoint movement command.
  • the hourly reception rate of the viewpoint movement command may mean an average value per unit time of the number of viewpoint movement commands received per unit time or the number of viewpoint movement commands received for a predetermined period of time.
  • the determination module 140 increases the number of adjacent individual viewpoint video streams to be included in the bulk stream when the user frequently moves (that is, when the number of movement instructions per unit time is large). There is an effect to increase the sex.
  • FIG. 6 is a diagram for explaining that the number of individual view video streams included in a bulk stream is changed by the determination module 140.
  • the bulk stream includes a main individual view video stream (bold arrow), two adjacent individual view video streams adjacent to the left side, and two adjacent individual view streams adjacent to the right side.
  • the determination module 140 adjusts the number of adjacent individual view video streams, so that three individual view video streams are included in the bulk stream as shown in FIG.
  • the determination module 140 further adjusts the number of adjacent individual view video streams, and thus, the main individual view video streams as shown in FIG. Only one can be included in the bulk stream.
  • the determination module 140 may load the data transmission rate between the multi-view video streaming system 100 and the user terminal 200 or the load applied to the multi-view video streaming system 100 (for example, the back).
  • the determination module 140 increases the responsiveness by including more individual view video streams in the bulk stream in the portion of the multi-view video frequently move the view, and a small number in the portion of the small view movement Bandwidth savings can be achieved by including the individual view video streams of the.
  • the multi-view video streaming system 100 may preset the number of adjacent view video for each playback time of the multi-view video, the determination module 140 is displayed on the user terminal 200 An individual view video stream corresponding to the playback time of the multiview video may be included in the bulk stream.
  • the determination module 140 may set in advance the portion of the multi-view video movement and the other portion of the multi-view video based on the viewpoint movement command history input from another user terminal provided with the multi-view video.
  • the viewpoint movement command history input by a specific user may mean a playback time when the specific user who is receiving the multiview video inputs the viewpoint movement command. Therefore, in the present embodiment, the determination module 140 is based on the viewpoint movement command history input from another user terminal provided with the multi-view video from the multi-view video streaming system, each playback time of the multi-view video ( time) It is possible to determine the frequency of time movement for each time.
  • the shifting frequency of each multiview video by a specific playback time is determined based on the total number of shift commands input by the plurality of users who received the multiview video at or near the specific playback time of the multiview video. It may be a predetermined evaluation value. Meanwhile, in the present embodiment, the determination module 140 selects at least one of the first number and the second number based on the frequency corresponding to the playing time of the multi-view video being played in the user terminal 200. You can decide.
  • FIG. 7 is a flowchart illustrating a method of operating a multiview video streaming system according to an embodiment of the present invention.
  • the multi-view video streaming system 100 includes the number n of first direction adjacent individual view video streams to be included in the bulk stream and the number of second direction adjacent individual view video streams according to the above-described method. m) (S100), the individual view video streams (main individual view video streams) being displayed on the user terminal 200, the n first direction adjacent individual view video streams and the m second direction adjacent individual view video streams.
  • a bulk stream including a may be generated (S110).
  • the multi-view video streaming system 100 may stream the generated bulk stream to the user terminal 200 (S120).
  • the multi-view video streaming system 100 when the multi-view video streaming system 100 receives the view movement command, the multi-view video streaming system 100 in response to the view movement command, the main individual view being displayed on the user terminal 200
  • the sequence number of the video stream may be updated, and the steps S100 to S120 may be performed based on the updated sequence number of the main individual view video stream (S130 and S140).
  • the multi-view video streaming system 100 operates in a manner of generating (encoding) in real time based on the sequence number of the main individual view video stream being displayed on the user terminal 200.
  • the multi-view video may be divided into a plurality of bulk data and stored in advance in a storage (eg, DB) of the multi-view video, and the multi-view video may be streamed in units of a bulk file stored in advance (hereinafter, It may be referred to as 'bulk streaming method'), which will be described below.
  • one bulk data may include a plurality of individual view videos, and the plurality of individual view videos stored in one bulk data may be adjacent to each other. Therefore, the plurality of individual view videos stored in one bulk data may be images captured by a plurality of cameras sequentially arranged. According to an embodiment, the number of individual view videos stored in each bulk data may be all the same or may be different from each other.
  • one bulk data may be in the form of a single file stored in a hard disk drive (HDD), and in some embodiments, the bulk data may be distributed in a cloud in a data group or buffer memory (eg, RAM). It may mean data stored in).
  • HDD hard disk drive
  • a data group or buffer memory eg, RAM
  • It may mean data stored in
  • j the number of individual view videos included in the bulk file
  • bulk file F 1 is an individual view video v (1, 1), v (1, 2),... v (1,
  • the bulk file F i is the individual view video v (i, 1), v (i, 2),... v (i,
  • the multi-view video streaming system 100 may sequentially generate a plurality of individual view videos constituting the multi-view video and divide by a predetermined number to generate the plurality of bulk files, or The plurality of files generated in this manner may be stored by a multiview image encoding apparatus (not shown).
  • each of the plurality of bulk files may include a plurality of individual view video encoded by Multi-View Coding (MVC), where MVC is used to encode a plurality of individual view video into one data.
  • MVC Multi-View Coding
  • Any coding scheme may be included, and various standard techniques such as H.264 may be used, depending on the implementation.
  • each of the bulk files may be embodied as an image obtained by multiplexing multiviews in a multichannel container such as MPEG-2 TS.
  • FIG. 8 is a diagram for describing a method of dividing and storing a multiview video in bulk and streaming in bulk file units in the multiview video streaming system 100 according to an exemplary embodiment.
  • FIG. 8 illustrates an example in which a multiview video is composed of 36 individual viewpoint videos captured by a total of 36 cameras, and is divided and stored in six bulk files.
  • each split file includes the same number (six) of individual view video.
  • the multi-view video may be composed of individual viewpoint videos (first view video v 1 to 36 view video v 36 ) captured by different cameras 1 to 36.
  • the video encoder may divide and decode the 36 individual view videos sequentially by six, and generate six split files (first to sixth bulk files). Therefore, as shown in FIG. 8, the first bulk file may be a file decoded v 1 to v 6 , and the second bulk file may be a file decoded v 7 to v 12 .
  • the sixth bulk file may be a file decoded from v 31 to v 36 .
  • the multi-view video streaming system 100 may store the multi-view video divided into six bulk files and stream the multi-view video in bulk file units. That is, the multi-view video streaming system 100 transmits a bit stream (ie, a bulk stream) corresponding to a bulk file including an individual view video being displayed on the user terminal 200. Can be streamed. In some cases, an adjacent bulk stream corresponding to the adjacent bulk file and the adjacent bulk file may be further streamed, which will be described later.
  • a bit stream ie, a bulk stream
  • an adjacent bulk stream corresponding to the adjacent bulk file and the adjacent bulk file may be further streamed, which will be described later.
  • the last sequence of individual view video (or individual view video streams) of one bulk file (or bulk stream) and the other bulk file (or bulk stream) may mean that they are adjacent to each other.
  • the storage module 160 configures a multi-view video and divides a plurality of individual viewpoint videos captured at different viewpoints into a plurality of bulk files and stores them in a predetermined DB 400.
  • the streaming module 150 may stream the first bulk stream corresponding to the first bulk file of the plurality of bulk files to the user terminal 200.
  • the first bulk stream may include a main individual view video stream displayed on the user terminal 200.
  • the user terminal 200 may receive the first bulk stream from the multi-view video streaming system 100, decode / demultiplex it to separate main individual view videos, and display them on a predetermined display device. have.
  • the control module 130 is based on the sequence number of the main individual view video stream being displayed on the user terminal 200 and the bulk stream (first bulk stream) adjacent to the bulk stream including the main individual view video stream (second). Bulk stream), and if the control module 130 determines that the second bulk stream should be further transmitted, the streaming module 150 may determine the multi-view video streaming system (Bulk Stream). 100) may further stream the second bulk stream as well as the first bulk stream.
  • Bulk Stream multi-view video streaming system
  • control module 130 may determine that the second bulk stream should be further transmitted if the sequence number of the individual view video stream being displayed on the user terminal 200 falls within a predetermined limit range.
  • sequence number of the individual view video stream may be the sequence number within the first bulk stream including the main individual view video stream, or may be the sequence number within the entire multi-view video.
  • control module 130 may include the number of bulk streams constituting the multiview video or the number of individual view video streams included in each bulk stream and / or the total number of individual view video streams constituting the multiview video. Manage information about
  • the limit range is a first side limit range (e.g., left limit range) that is a range from the smallest sequence in the first bulk stream and a second side limit range that is a range from the highest sequence in the first bulk stream.
  • the right limit range may be included.
  • the control module 130 may display the first individual limit range (eg, the number of main individual view video streams being displayed on the user terminal 200).
  • the left limit range it may be determined that the bulk stream adjacent to the first direction (eg, the left direction) should be further transmitted, and the sequence number of the individual view video stream being displayed on the user terminal 200.
  • the adjacent bulk stream is further transmitted in a second direction (e.g., right direction) opposite to the first direction. You can decide what to do.
  • the user terminal 200 may transmit a viewpoint movement command to the multiview video streaming system 100. Then, the command receiving module 180 may receive a view movement command from the user terminal 200 while streaming the first bulk stream to the user terminal 200.
  • the control module 130 may update the sequence number of the main individual view video stream being displayed on the user terminal 200 in response to the view movement command. For example, if the view movement command is a leftward view shift command, the control module 130 decreases the sequence number of the individual view video stream displayed on the user terminal 200 by one, and the view shift command is leftward. In the case of the view movement command, the sequence number of the individual view video stream being displayed on the user terminal 200 may be increased by one. In addition, the control module 130 may determine whether to transmit the second bulk stream adjacent to the first bulk stream based on the sequence number of the main individual view video stream being displayed on the updated user terminal 200.
  • 9 is a view for explaining an example in which the multi-view video streaming system 100 according to an embodiment of the present invention streams a bulk stream under the control of the control module 130.
  • 9 shows the left limit range from the lowest order (ie 1) to two (ie 1, 2) and the right limit range from the highest order (ie 6) to two (ie 5, 6). The case where it is set is shown.
  • 9 (a) to 9 (h) show a case in which the rightward viewpoint shift command is continuously input in chronological order.
  • the thick arrows indicate the main individual view video streams displayed on the user terminal, and the thin arrows indicate the individual view video streams that are streamed but not displayed.
  • one dotted box represents one bulk stream.
  • the control module 130 may determine that there is no need to transmit an adjacent bulk stream.
  • the multiview video streaming system 100 can only stream the bulk stream F i .
  • the control module updates the sequence number of the main individual view stream to 4, and since the sequence number in F i of v (i, 4) is outside the limit range as 4, the control module 130 further transmits the adjacent bulk stream. You can judge that it is not necessary. Therefore, even in 9 (b), the multi-view video streaming system 100 may stream only the bulk stream F i .
  • the main individual view stream displayed on the user terminal 200 is v (i, 5). Since the control module updates the sequence number of the main individual view stream to 5, and the sequence number within F i of v (i, 5) is 5, which is within the right limit range, the control module 130 stores the adjacent bulk stream. It may be determined that it should be further received. Thus, at 9 (c), the multiview video streaming system 100 can further stream not only the bulk stream F i but also the bulk stream F i + 1 adjacent to the right.
  • the main individual view stream displayed on the user terminal 200 is v (i, 6). Since the control module updates the sequence number of the main individual view stream to 6, and the sequence number within F i of v (i, 6) is 6, which is within the right limit range, the control module 130 is adjacent to the right bulk. It may be determined that the stream should be further received. Therefore, even in 9 (d), the multi-view video streaming system 100 may receive the bulk stream F i and the bulk stream F i + 1 .
  • the user terminal 200 moves the bulk stream F i + to move the viewpoint. It is possible to display the first individual view video stream v (i + 1, 1) of one. If, Fig. 9 (d) the user terminal 200 is a bulk stream F i + If you were 1 without further receives a receive only the bulk stream F i, bulk stream after the rightward time movement command inputted from the F i + Since it will receive 1 , it may be disconnected due to network delay or buffering. However, according to an embodiment of the present invention, since the adjacent bulk stream F i + 1 is further received therefrom, an interruption phenomenon may not occur.
  • the control module 130 since the sequence number within F i + 1 of stream v (i + 1, 1) being displayed on the user terminal 200 is within the left limit range as 1, the control module 130 further adds the adjacent bulk stream to the left. It can be determined that it should be transmitted. Therefore, in 9 (d), the multi-view video streaming system 100 may further stream not only the bulk stream F i + 1 but also the bulk stream F i adjacent to the left, so that a leftward view shift command may be prepared. .
  • the control module 130 may determine that the adjacent bulk stream should be further transmitted. .
  • the multiview video streaming system 100 can further stream not only the bulk stream F i + 1 but also the bulk stream F i + 1 adjacent to the right.
  • the control module updates the sequence number of the main individual view stream to 3, and since the sequence within F i + 1 of v (i + 3, 3) is 3, it is outside the limit range. May determine that it is not necessary to further receive an adjacent bulk stream.
  • the multiview video streaming system 100 may receive only bulk stream F i + 1 .
  • the control is performed.
  • the module updates the sequence number of the main individual view stream to 5, and since the sequence number within F i + 1 of v (i + 1, 5) is 5, which is within the right limit range, the control module 130 is adjacent to the right bulk. It may be determined that the stream should be further streamed.
  • the multiview video streaming system 100 can further stream not only the bulk stream F i + 1 but also the bulk stream F i + 2 adjacent to the right.
  • the limit range may be a predetermined numerical range as in the above-described example, but according to an embodiment, the limit range may be a numerical range that is adaptively determined according to an hourly reception rate of the time-shifting command transmitted from the user terminal 200. Can be.
  • the limit range may be determined to be a wider range as the hourly reception rate of the time-shifting command increases. This is because the period from the bulk stream containing the individual view video stream being displayed to the bulk stream adjacent thereto is shortened. In other words, when the time-to-reception rate of the time-shifting command is low, the limit range can be narrowly determined to efficiently use the bandwidth for transmitting the bulk stream.
  • the time range is determined by the wide range of the threshold range. It is possible to prevent interruptions that may occur when switching to adjacent bulk streams.
  • control module 130 may further determine whether to transmit at least one additional bulk stream adjacent to the second bulk stream based on the hourly reception rate of the time-shifting command, and the streaming module 150 If the control module 130 determines that the additional bulk stream should be further transmitted, the additional bulk stream may be further streamed to the user terminal 200.
  • the number of additional bulk streams may be determined based on the hourly reception rate of the time-shifting command.
  • the number of additional bulk streams to be additionally received may be set larger as the hourly reception rate of the time-shifting command increases.
  • the limit range and / or the number of additional bulk streams may not be influenced only by the hourly reception rate of the time-shifting command, and may include the number of individual view video streams or the number of bulk streams included in the bulk stream. Various factors may be further considered and determined.
  • FIG. 10 is a flowchart illustrating a method of operating the multi-view video streaming system 100 according to an embodiment of the present invention by the bulk streaming method described above.
  • the multiview video streaming system 100 configures a multiview video and divides a plurality of individual view videos captured at different views into a plurality of bulk files. Can be stored (S200).
  • the multi-view video streaming system 100 may determine whether the sequence number of the main individual view video stream being displayed on the user terminal 200 is within a predetermined limit range (S210). Only the first bulk file including the individual view video streams is streamed to the user terminal 200 (S220). If outside the limit, the first bulk file as well as the second bulk file adjacent to the first bulk file are not included. It may be streamed to the user terminal 200 together (S230).
  • the sequence number of the main individual view video stream being displayed on the user terminal 200 is updated (S240).
  • S250 based on the updated sequence number of the main individual view video stream, whether to transmit only the first bulk stream including the main individual view video stream, or transmit the first bulk stream and the second bulk stream adjacent thereto together; It may be determined whether or not (S210).
  • the multi-view video streaming system 100 may select the above-described interactive short bulk streaming method and the bulk bulk streaming method according to circumstances.
  • the control module 130 is the elapsed time from the time of receipt of the most recently received time-shifting command, the rate of reception of the time-shifting command per hour, the data transmission rate between the multi-view video streaming system and the user terminal,
  • the streaming scheme may be determined based on at least one of a load applied to the multiview video streaming system or the number of terminals receiving a streaming service from the multiview video streaming system. For example, if there is no long-term teleportation, the network speed of the user is slow, the encoding load on the multi-view video streaming system 100 is large, or the network speed with the user terminal 200 is slow. You can choose the bulk streaming method. In addition, when a viewpoint movement command is frequently input, the bulk streaming method may be selected.
  • FIG. 11 is a diagram illustrating a method of operating a multi-view video streaming system 100 operating in this manner.
  • the multi-view video streaming system 100 configures a multi-view video, and may divide and store a plurality of individual view videos photographed at different views in a plurality of bulk files (S300).
  • the multi-view video streaming system 100 may determine whether to stream the bulk file (S310).
  • the multi-view video streaming system 100 includes a first direction adjacent individual view video to be included in the bulk stream.
  • a number n of streams and a number m of adjacent individual view video streams in a second direction are determined (S320), and an individual view video stream (main individual view video stream) being displayed on the user terminal 200,
  • a bulk stream including the one-way adjacent individual view video stream and the m second direction adjacent individual view video streams may be generated (S330).
  • the multi-view video streaming system 100 may stream the generated bulk stream to the user terminal 200 (S340).
  • the multi-view video streaming system 100 when the multi-view video streaming system 100 receives the view movement command, the multi-view video streaming system 100 in response to the view movement command, the main individual view being displayed on the user terminal 200
  • the order of the video stream can be updated (S350 and S360).
  • the multi-view video streaming system 100 selects a method of streaming a bulk file
  • the multi-view video streaming system 100 has a predetermined sequence number of the main individual view video stream being displayed on the user terminal 200. It may be determined whether it is within the limit range (S3710). If it is within the limit range, only the first bulk file including the main individual view video stream is streamed to the user terminal 200 (S380). In this case, the first bulk file as well as the second bulk file adjacent to the first bulk file may be streamed together to the user terminal 200 (S390).
  • the multiview video streaming system 100 may update the sequence number of the main individual view video stream being displayed on the user terminal 200. (S400, S410).
  • bulk data corresponding to each of a plurality of individual view videos constituting a multiview video may be generated (encoded) in advance and stored.
  • the bulk data corresponding to the particular individual view video may include the first individual view video, a plurality of first direction adjacent individual view videos adjacent to the first view in the first direction, and the specific view of the second view and the second direction.
  • the video data may include a plurality of adjacent second direction adjacent individual view videos.
  • the storage module 160 may store bulk data corresponding to each of the individual view video generated in the predetermined storage space (eg, DB).
  • 12 is a diagram illustrating an example of bulk data corresponding to each individual view video stored.
  • 12 is a multi-view video is composed of N individual view video, the bulk data corresponding to a specific individual view video is the specific individual view video, two individual view video adjacent to the specific individual view video to the left and the specific An example of including two individual viewpoint video adjacent to the individual viewpoint video in the right direction is illustrated.
  • the first individual time video (v 1) bulk data (B 1) corresponding to the will of the two adjacent first individual view video (v 1) and right directions because there is no separate view video are adjacent in the left direction Individual viewpoint video v 2 , v 3 .
  • a second bulk data (B 2) corresponding to the individual view video (v 2) is a separate view video are adjacent in the left direction v 1 since only one second individual view video (v 2), the individual view video adjacent to this left-hand direction (v 1 ) and two separate viewpoint video (v 3 , v 4 ) adjacent in the right direction.
  • the i bulk data (B i) corresponding to each view video (v i) is the i-th individual view video (v i), two separate view video (v i-2, v i -1) adjacent in the left direction, and It may include two separate viewpoint video (v i + 1 , v i + 2 ) adjacent in the right direction.
  • the bulk data B N corresponding to the last individual viewpoint video v N has no adjacent viewpoint video in the right direction
  • the Nth discrete viewpoint video v N and two separate viewpoint videos adjacent to the left direction v N-2 , v N-1 ).
  • control module 130 may select bulk data corresponding to the main individual view video being displayed on the user terminal 200, and the streaming module 150 may select the bulk stream corresponding to the selected bulk data.
  • the user terminal 200 may stream.
  • the control module 130 selects a bulk stream corresponding to the i-th individual view video to be streamed to the user terminal 200. Then, when a leftward view movement command is input from the user terminal 200, the control module 130 selects a bulk stream corresponding to the i-1th individual view video and streams it to the user terminal 200. You can do that.
  • FIG. 13 is a flowchart illustrating a method of operating a multiview video streaming system 100 according to an embodiment of the present invention described above.
  • the storage module 160 may store bulk data corresponding to each of a plurality of individual view videos (S500).
  • the control module 130 selects bulk data corresponding to the main individual view video being displayed on the user terminal 200, and the streaming module 150 transmits the bulk stream corresponding to the selected bulk data to the user terminal.
  • Can stream (S510).
  • the command receiving module 120 receives a view movement command while streaming the bulk stream (S520), the control module 130 of the main individual view video stream being displayed on the user terminal 200. Update the sequence number (S530), and select bulk data based on the updated sequence number of the main individual view video stream, so that the streaming module 150 streams the bulk stream corresponding to the selected bulk data to the user terminal 200. Can be controlled (S510).
  • the multi-view video streaming system 100 may include a processor and a memory for storing a program executed by the processor.
  • the processor may include a single core CPU or a multi core CPU.
  • the memory may include fast random access memory and may include nonvolatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other nonvolatile solid state memory devices. Access to memory by the processor and other components may be controlled by the memory controller.
  • the multi-view video streaming system 100 when the program is executed by the processor, the multi-view video streaming system 100 according to the present embodiment may enable the multi-view video streaming system providing method described above.
  • the multi-view video streaming system providing method is implemented in the form of computer-readable program instructions can be stored in a computer-readable recording medium, the control program according to an embodiment of the present invention And the target program can also be stored in a computer-readable recording medium.
  • the computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored.
  • the program instructions recorded on the recording medium may be those specially designed and constructed for the present invention, or may be known and available to those skilled in the software art.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, floppy disks, and the like. Included are hardware devices specifically configured to store and execute the same magneto-optical media and program instructions such as ROM, RAM, flash memory, and the like.
  • the above-described medium may be a transmission medium such as an optical or metal wire, a waveguide, or the like including a carrier wave for transmitting a signal specifying a program command, a data structure, and the like.
  • the computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
  • Examples of program instructions include not only machine code generated by a compiler, but also devices that process information electronically using an interpreter, for example, high-level language code that can be executed by a computer.
  • the hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
  • the present invention can be applied to various video streaming systems.

Landscapes

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

Abstract

다시점 비디오를 스트리밍하는데 필요한 대역폭을 줄이면서도 시점 이동 시에 화면의 끊김을 방지할 수 있는 다시점 비디오 스트리밍 시스템 및 그 제공방법이 개시된다. 본 발명의 일 측면에 따르면, 서로 다른 시점에서 촬영된 복수의 개별 시점 비디오로 구성되는 다시점 비디오(multi-view video)를 사용자 단말로 스트리밍하기 위한 다시점 비디오 스트리밍 시스템 제공방법으로서, (a) 상기 다시점 비디오 스트리밍 시스템이, 상기 사용자 단말에 디스플레이 중 메인 개별 시점 비디오 스트림에 상응하는 벌크 스트림을 생성하는 단계-여기서, 상기 벌크 스트림은 상기 메인 개별 시점 비디오 스트림, 상기 메인 개별 시점 비디오 스트림과 제1방향으로 인접한 소정의 제1개수만큼의 제1방향 인접 개별 시점 스트림, 및 상기 메인 개별 시점 비디오 스트림과 제2방향으로 인접한 소정의 제2개수만큼의 제2방향 인접 개별 시점 스트림을 포함하며, 상기 제2방향은 상기 제1방향과 반대 방향임- 및 (b) 상기 다시점 비디오 스트리밍 시스템이, 생성된 상기 벌크 스트림을 상기 사용자 단말로 스트리밍하는 단계를 포함하는 다시점 비디오 스트리밍 시스템 제공방법이 제공된다.

Description

다시점 비디오 스트리밍 시스템 및 그 제공방법
본 발명은 다시점 비디오 스트리밍 시스템 및 그 제공방법에 관한 것이다. 보다 상세하게는 본 발명은 다시점 비디오를 스트리밍하는데 필요한 대역폭을 줄이면서도 시점(view point) 이동 시에 화면의 끊김을 방지할 수 있는 다시점 비디오 스트리밍 시스템 및 그 제공방법에 관한 것이다.
디지털 시대가 도래함에 따라 다양한 멀티미디어 기술들이 급속히 발전하고 있으며, 이를 바탕으로 한 디지털 콘텐츠 시장도 해마다 그 규모가 괄목할 정도로 성장하고 있다. 이러한 흐름과 함께 디지털 영상 분야에서는 실감미디어에 대한 관심이 높아지고 있다. 최근에는 이러한 실감미디어의 하나로 다시점 비디오(multi-view video)에 대한 연구가 활발히 진행되고 있다.
통상적인 다시점 비디오 시스템에서는 다시점 카메라를 이용하여 하나의 장면에 대한 여러 시점의 비디오를 촬영하고, 촬영된 영상의 효과적인 전송을 위하여 다시점 비디오 부호화를 수행한다. 수신단에서는 전송된 압축 비트 스트림(bit stream)에서 다시점 영상을 다시 복호하고, 복호된 다시점 영상을 이용하여 시청자의 요구에 따라 다양한 응용 서비스를 제공한다.
도 1은 이러한 종래의 다시점 비디오 스트리밍 시스템을 설명하기 위한 도면이다. 도 1에 도시된 바와 같이, 종래의 다시점 비디오 스트리밍 시스템에서는 다수의 카메라(10)에 의해 촬영된 개별 시점 영상이 다시점 영상 부호화부(20)에 의해 부호화/다중화되어 다시점 비디오 파일(31)이 생성되며, 다시점 비디오 스트리밍 서버(30)는 생성된 다시점 비디오 파일(31)을 사용자 단말(40)으로 스트리밍할 수 있다. 한편, 사용자 단말(40)에 포함되어 있는 다시점 영상 복호화부(41)는 스트리밍되는 다시점 동영상 스트림을 역다중화/복호화하여 개별 시점 비디오 스트림으로 분리할 수 있으며, 시점 선택부(42)는 사용자가 원하는 시점의 비디오 스트림을 선택하여 선택된 개별 시점 비디오 스트림을 디스플레이 장치(50)에 출력할 수 있다.
이와 같이 다수의 카메라(10)에서 획득한 모든 시점의 영상을 사용자에게 제공할 경우, 사용자가 원하는 시점의 영상과 함께 사용자가 원하지 않는 영상도 전송되기 때문에 제한적인 대역폭을 가지고 있는 전송 환경 하에서는 다시점 비디오 스트리밍이 제공되기 어려우며, 초기 버퍼링 시간이 매우 길어지고 전송되는 데이터 대비 사용되는 콘텐츠의 사용 효율이 매우 낮다는 문제점이 있다.
본 발명은 상기 종래 기술의 제문제를 해결하고자 안출된 발명으로써, 본 발명은 다시점 동영상에 포함된 각 개별 시점 비디오를 모두 스트리밍하는 것이 아니라, 그 중 일부만을 스트리밍하여 스트리밍에 필요한 대역폭을 줄을 수 있으면서도 시점 전환 시에 끊김 현상을 방지할 수 있는 다시점 비디오 스트리밍 시스템 및 그 방법을 제공하는 것이다.
본 발명의 일 측면에 따르면, 서로 다른 시점에서 촬영된 복수의 개별 시점 비디오로 구성되는 다시점 비디오(multi-view video)를 사용자 단말로 스트리밍하기 위한 다시점 비디오 스트리밍 시스템 제공방법으로서, (a) 상기 다시점 비디오 스트리밍 시스템이, 상기 사용자 단말에 디스플레이 중 메인 개별 시점 비디오 스트림에 상응하는 벌크 스트림을 생성하는 단계-여기서, 상기 벌크 스트림은 상기 메인 개별 시점 비디오 스트림, 상기 메인 개별 시점 비디오 스트림과 제1방향으로 인접한 소정의 제1개수만큼의 제1방향 인접 개별 시점 스트림, 및 상기 메인 개별 시점 비디오 스트림과 제2방향으로 인접한 소정의 제2개수만큼의 제2방향 인접 개별 시점 스트림을 포함하며, 상기 제2방향은 상기 제1방향과 반대 방향임- 및 (b) 상기 다시점 비디오 스트리밍 시스템이, 생성된 상기 벌크 스트림을 상기 사용자 단말로 스트리밍하는 단계를 포함하는 다시점 비디오 스트리밍 시스템 제공방법이 제공된다.
일 실시예에서, 상기 다시점 비디오 스트리밍 시스템 제공방법은, 상기 다시점 비디오 스트리밍 시스템이, 상기 벌크 스트림을 스트리밍하는 중에 시점이동명령을 수신하는 단계, 상기 다시점 비디오 스트리밍 시스템이, 상기 시점이동명령에 응답하여, 상기 사용자 단말에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번을 갱신하는 단계 및 갱신된 상기 메인 개별 시점 비디오 스트림의 순번에 기초하여, 상기 (a) 단계 및 상기 (b) 단계를 수행하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 다시점 비디오 스트리밍 시스템 제공방법은, 가장 최근에 수신된 시점이동명령의 수신 시각으로부터의 경과 시간, 시점이동명령의 시간당 수신율, 상기 다시점 비디오 스트리밍 시스템과 상기 사용자 단말 간의 데이터 전송 속도, 상기 다시점 비디오 스트리밍 시스템에 가해지는 부하, 또는 상기 다시점 비디오 스트리밍 시스템으로부터 스트리밍 서비스를 받고 있는 단말의 개수 중 적어도 하나를 측정하는 단계 및 상기 측정 결과에 기초하여, 상기 제1개수 및 상기 제2개수 중 적어도 하나를 결정하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 다시점 비디오 스트리밍 시스템 제공방법은, 상기 다시점 비디오 스트리밍 시스템으로부터 상기 다시점 비디오를 제공받은 타 사용자 단말로부터 입력된 시점이동명령 히스토리에 기초하여, 상기 다시점 비디오의 각 재생 시각(time) 별 시점이동 빈번도를 결정하는 단계 및 결정된 상기 다시점 비디오의 각 재생 시각 별 시점이동 빈번도에 기초하여, 상기 제1개수 및 상기 제2개수 중 적어도 하나를 결정하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 다시점 비디오 스트리밍 시스템 제공방법은, 미리 설정된 상기 다시점 비디오의 각 재생 시각 별 인접 시점 비디오 개수에 기초하여, 상기 제1개수 및 상기 제2개수 중 적어도 하나를 결정하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 (a) 단계는, 상기 메인 개별 시점 비디오 스트림, 상기 제1방향 인접 개별 시점 스트림, 및 상기 제2방향 인접 개별 시점 스트림을 MVC(Multi-View Coding)에 의해 부호화하여 상기 벌크 스트림을 생성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 벌크 스트림은 시각(time) 순으로 나열된 일련의 벌크 영상을 포함하며, 상기 벌크 영상은, 상기 벌크 스트림에 포함된 개별 시점 비디오 스트림에 포함된 영상 중 상기 벌크 영상에 상응하는 시각에 해당하는 영상이 1차원 또는 2차원으로 연결된 형태의 영상일 수 있다.
일 실시예에서, 상기 벌크 영상은, 상기 벌크 스트림에 포함된 개별 시점 비디오 스트림에 포함된 영상 중 상기 벌크 영상에 상응하는 시각에 해당하는 영상의 가로 사이즈가 세로 사이즈보다 큰 경우, 상기 벌크 스트림에 포함된 개별 시점 비디오 스트림에 포함된 영상 중 상기 벌크 영상에 상응하는 시각에 해당하는 영상이 세로로 연결된 형태의 영상이며, 상기 벌크 스트림에 포함된 개별 시점 비디오 스트림에 포함된 영상 중 상기 벌크 영상에 상응하는 시각에 해당하는 영상의 세로 사이즈가 가로 사이즈보다 큰 경우, 상기 벌크 스트림에 포함된 개별 시점 비디오 스트림에 포함된 영상 중 상기 벌크 영상에 상응하는 시각에 해당하는 영상이 가로로 연결된 형태의 영상일 수 있다.
일 실시예에서, 상기 각각의 벌크 스트림은 시각 순으로 나열된 일련의 벌크 영상을 포함하며, 상기 벌크 영상은, 상기 벌크 스트림에 포함된 개별 시점 비디오에 포함된 영상 중 상기 벌크 영상에 상응하는 시각에 해당하는 영상이 일정한 개수씩 분할된 분할영상이 순서대로 나열된 형태의 영상일 수 있다.
일 실시예에서, 상기 다시점 비디오 스트리밍 시스템 제공방법은, 상기 복수의 개별 시점 비디오를 복수의 벌크 데이터에 분할하여 저장하는 단계-여기서, 하나의 벌크 데이터는 복수의 서로 인접한 개별 시점 비디오를 포함함-, 상기 가장 최근에 수신된 시점이동명령의 수신 시각으로부터의 경과 시간, 시점이동명령의 시간당 수신율, 상기 다시점 비디오 스트리밍 시스템과 상기 사용자 단말 간의 데이터 전송 속도, 또는 상기 다시점 비디오 스트리밍 시스템으로부터 스트리밍 서비스를 받고 있는 단말의 개수 중 적어도 하나에 기초하여, 벌크 데이터를 스트리밍할 지 여부를 판단하는 단계 및 상기 다시점 비디오 스트리밍 시스템이, 벌크 데이터를 스트리밍해야 하는 것으로 판단한 경우, 상기 복수의 벌크 데이터 중 상기 사용자 단말에 디스플레이 중인 메인 개별 시점 비디오를 포함하는 제1 벌크 데이터에 상응하는 제1 벌크 스트림을 상기 사용자 단말로 스트리밍하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 다시점 비디오 스트리밍 시스템 제공방법은, 상기 다시점 비디오 스트리밍 시스템이, 상기 제1벌크 스트림을 스트리밍하는 중에 시점이동명령을 수신하는 단계, 상기 다시점 비디오 스트리밍 시스템이, 상기 시점이동명령에 응답하여, 상기 사용자 단말에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번을 갱신하는 단계, 상기 다시점 비디오 스트리밍 시스템이, 갱신된 상기 메인 개별 시점 비디오 스트림의 순번에 기초하여 상기 제1 벌크 스트림과 인접한 제2 벌크 스트림의 전송 여부를 판단하는 단계 및 상기 다시점 비디오 스트리밍 시스템이, 상기 제2벌크 스트림을 전송해야 하는 것으로 판단한 경우, 상기 사용자 단말로 상기 제2 벌크 스트림을 더 스트리밍하는 단계를 더 포함할 수 있다.
본 발명의 다른 일 실시예에 따르면, 서로 다른 시점에서 촬영된 복수의 개별 시점 비디오로 구성되는 다시점 비디오를 사용자 단말로 스트리밍하기 위한 다시점 비디오 스트리밍 시스템 제공방법으로서, (a) 상기 다시점 비디오 스트리밍 시스템이, 상기 복수의 개별 시점 비디오 각각에 상응하는 벌크 데이터를 저장하는 단계-여기서, 상기 개별 시점 비디오에 상응하는 벌크 데이터는, 상기 개별 시점 비디오, 상기 개별 시점 비디오와 제1방향으로 인접한 복수의 제1방향 인접 개별 시점 비디오, 및 상기 개별 시점 비디오와 제2방향으로 인접한 복수의 제2방향 인접 개별 시점 비디오를 포함하며, 상기 제2방향은 상기 제1방향과 반대 방향임- 및 (b) 상기 다시점 비디오 스트리밍 시스템이, 상기 사용자 단말에 디스플레이 중인 메인 개별 시점 비디오에 상응하는 벌크 데이터를 선택하는 단계, (c) 선택된 상기 벌크 데이터에 상응하는 벌크 스트림을 상기 사용자 단말로 스트리밍하는 단계를 포함하는 다시점 비디오 스트리밍 시스템 제공방법이 제공된다.
일 실시예에서, 상기 다시점 비디오 스트리밍 시스템 제공방법은, 상기 다시점 비디오 스트리밍 시스템이, 상기 벌크 스트림을 스트리밍하는 중에 시점이동명령을 수신하는 단계, 상기 다시점 비디오 스트리밍 시스템이, 상기 시점이동명령에 응답하여, 상기 사용자 단말에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번을 갱신하는 단계 및 갱신된 상기 메인 개별 시점 비디오 스트림의 순번에 기초하여, 상기 (b) 단계 및 상기 (c) 단계를 수행하는 단계를 더 포함할 수 있다.
본 발명의 다른 일 측면에 따르면, 상술한 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체가 제공된다.
본 발명의 다른 일 측면에 따르면, 다시점 비디오 스트리밍 시스템으로서, 프로세서 및 상기 프로세서에 의하여 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하며, 상기 컴퓨터 프로그램은, 상기 프로세서에 의해 실행되는 경우, 상기 다시점 비디오 스트리밍 시스템이 상술한 방법을 수행하도록 하는 다시점 비디오 스트리밍 시스템이 제공된다.
본 발명의 다른 일 측면에 따르면, 서로 다른 시점에서 촬영된 복수의 개별 시점 비디오로 구성되는 다시점 비디오를 사용자 단말로 스트리밍하기 위한 다시점 비디오 스트리밍 시스템으로서, 상기 사용자 단말에 디스플레이 중 메인 개별 시점 비디오 스트림에 상응하는 벌크 스트림을 생성하는 스트림생성모듈-여기서, 상기 벌크 스트림은 상기 메인 개별 시점 비디오 스트림, 상기 메인 개별 시점 비디오 스트림과 제1방향으로 인접한 소정의 제1개수만큼의 제1방향 인접 개별 시점 스트림, 및 상기 메인 개별 시점 비디오 스트림과 제2방향으로 인접한 소정의 제2개수만큼의 제2방향 인접 개별 시점 스트림을 포함하며, 상기 제2방향은 상기 제1방향과 반대 방향임- 및 생성된 상기 벌크 스트림을 상기 사용자 단말로 스트리밍하는 스트리밍모듈을 포함하는 다시점 비디오 스트리밍 시스템이 제공된다.
일 실시예에서, 상기 다시점 비디오 스트리밍 시스템은, 상기 벌크 스트림을 스트리밍하는 중에 시점이동명령을 수신하는 명령수신모듈 및 상기 시점이동명령에 응답하여, 상기 사용자 단말에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번을 갱신하고, 상기 스트림생성모듈이 상기 갱신된 메인 개별 시점 비디오 스트림에 상응하는 벌크 스트림을 생성하도록 제어하는 제어모듈을 더 포함할 수 있다.
일 실시예에서, 상기 다시점 비디오 스트리밍 시스템은, 가장 최근에 수신된 시점이동명령의 수신 시각으로부터의 경과 시간, 시점이동명령의 시간당 수신율, 상기 다시점 비디오 스트리밍 시스템과 상기 사용자 단말 간의 데이터 전송 속도, 상기 다시점 비디오 스트리밍 시스템에 가해지는 부하, 또는 상기 다시점 비디오 스트리밍 시스템으로부터 스트리밍 서비스를 받고 있는 단말의 개수 중 적어도 하나를 측정하고, 상기 측정 결과에 기초하여, 상기 제1개수 및 상기 제2개수 중 적어도 하나를 결정하는 결정모듈을 더 포함할 수 있다.
일 실시예에서, 상기 다시점 비디오 스트리밍 시스템은, 상기 다시점 비디오 스트리밍 시스템으로부터 상기 다시점 비디오를 제공받은 타 사용자 단말로부터 입력된 시점이동명령 히스토리에 기초하여, 상기 다시점 비디오의 각 재생 시각(time) 별 시점이동 빈번도를 결정하고, 결정된 상기 다시점 비디오의 각 재생 시각 별 시점이동 빈번도에 기초하여, 상기 제1개수 및 상기 제2개수 중 적어도 하나를 결정하는 결정모듈을 더 포함할 수 있다.
일 실시예에서, 상기 다시점 비디오 스트리밍 시스템은, 미리 설정된 상기 다시점 비디오의 각 재생 시각 별 인접 시점 비디오 개수에 기초하여, 상기 제1개수 및 상기 제2개수 중 적어도 하나를 결정하는 결정모듈을 더 포함할 수 있다.
일 실시예에서, 상기 다시점 비디오 스트리밍 시스템은, 상기 복수의 개별 시점 비디오를 복수의 벌크 데이터에 분할하여 저장하는 저장모듈-여기서, 하나의 벌크 데이터는 복수의 서로 인접한 개별 시점 비디오를 포함함- 및 상기 가장 최근에 수신된 시점이동명령의 수신 시각으로부터의 경과 시간, 시점이동명령의 시간당 수신율, 상기 다시점 비디오 스트리밍 시스템과 상기 사용자 단말 간의 데이터 전송 속도, 상기 다시점 비디오 스트리밍 시스템에 가해지는 부하, 또는 상기 다시점 비디오 스트리밍 시스템으로부터 스트리밍 서비스를 받고 있는 단말의 개수 중 적어도 하나에 기초하여, 벌크 데이터를 스트리밍할 지 여부를 판단하는 제어모듈을 더 포함하고, 상기 스트리밍모듈은, 상기 제어모듈이, 벌크 데이터를 스트리밍해야 하는 것으로 판단한 경우, 상기 복수의 벌크 데이터 중 상기 사용자 단말에 디스플레이 중인 메인 개별 시점 비디오를 포함하는 제1 벌크 데이터에 상응하는 제1 벌크 스트림을 상기 사용자 단말로 스트리밍할 수 있다.
일 실시예에서, 상기 다시점 비디오 스트리밍 시스템은, 상기 제1벌크 스트림을 스트리밍하는 중에 시점이동명령을 수신하는 명령수신모듈, 상기 시점이동명령에 응답하여, 상기 사용자 단말에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번을 갱신하고, 갱신된 상기 메인 개별 시점 비디오 스트림의 순번에 기초하여 상기 제1 벌크 스트림과 인접한 제2 벌크 스트림의 전송 여부를 판단하는 제어모듈을 더 포함하며, 상기 스트리밍모듈은, 상기 제어모듈이, 상기 제2벌크 스트림을 전송해야 하는 것으로 판단한 경우, 상기 사용자 단말로 상기 제2 벌크 스트림을 더 스트리밍할 수 있다.
본 발명의 다른 일 실시예에 따르면, 서로 다른 시점에서 촬영된 복수의 개별 시점 비디오로 구성되는 다시점 비디오를 사용자 단말로 스트리밍하기 위한 다시점 비디오 스트리밍 시스템으로서, 상기 복수의 개별 시점 비디오 각각에 상응하는 벌크 데이터를 저장하는 저장모듈-여기서, 상기 개별 시점 비디오에 상응하는 벌크 데이터는, 상기 개별 시점 비디오, 상기 개별 시점 비디오와 제1방향으로 인접한 복수의 제1방향 인접 개별 시점 비디오, 및 상기 개별 시점 비디오와 제2방향으로 인접한 복수의 제2방향 인접 개별 시점 비디오를 포함하며, 상기 제2방향은 상기 제1방향과 반대 방향임- 및 상기 사용자 단말에 디스플레이 중인 메인 개별 시점 비디오에 상응하는 벌크 데이터를 선택하는 제어모듈 및 선택된 상기 벌크 데이터에 상응하는 벌크 스트림을 상기 사용자 단말로 스트리밍하는 스트리밍모듈을 포함하는 다시점 비디오 스트리밍 시스템이 제공된다.
본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템은 다시점 비디오에 포함된 모든 개별 시점 비디오 스트림을 수신하는 것이 아니라 그 중 일부만을 벌크 스트림 단위로 수신하므로 스트리밍에 필요한 대역폭을 현저히 줄일 수 있는 효과가 있다.
또한, 본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템은 현재 디스플레이 중인 개별 시점 비디오 스트림 뿐만 아니라 이와 인접한 개별 시점 비디오 스트림을 함께 사용자 단말로 스트리밍함으로써 시점 이동 시 끊김 현상을 방지하여 사용자의 입력에 대한 반응성을 높일 수 있는 효과가 있다.
또한, 본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템은 현재 디스플레이 중인 개별 시점 비디오 스트림을 포함하는 벌크 스트림 뿐만 아니라 이와 인접 벌크 스트림을 미리 수신함으로써 시점 이동 시 끊김 현상을 방지할 수 있는 효과가 있다.
또한, 본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템은 사용자 단말로 스트리밍하는 데이터의 양을 각종 상황에 따라 조정함으로써 대역폭 절감과 반응성 향상 간의 균형을 이룰 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 종래의 다시점 비디오 스트리밍 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템을 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템에서 사용자 단말에 디스플레이 되는 메인 개별 시점 비디오 스트림에 상응하는 벌크 스트림을 사용자 단말로 스트리밍하는 방법을 설명하기 위한 도면이다.
도 4는 터치 스크린을 통하여 시점이동을 지시하는 예를 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템이 시점이동명령에 따라 사용자 단말로 스트리밍할 벌크 스트림을 조정하는 방법을 설명하기 위한 도면이다.
도 6은 벌크 스트림에 포함되는 개별 시점 비디오 스트림의 개수의 변화를 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템의 동작 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템에서 다시점 비디오를 벌크 파일에 분할 저장하는 방법을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템이 벌크 파일 단위로 스트리밍하는 예를 설명하기 위한 도면이다.
도 10은 본 발명의 다른 일 실시예에 따른 다시점 비디오 스트리밍 시스템의 동작하는 방법을 나타내는 흐름도이다.
도 11은 본 발명의 또 다른 일 실시예에 따른 다시점 비디오 스트리밍 시스템의 동작방법을 도시한 도면이다.
도 12는 본 발명의 또 다른 일 실시예에 따른 각 개별 시점 비디오 각각에 상응하는 벌크 데이터의 일 예를 나타내는 도면이다.
 

도 13은 상술한 본 발명의 또 다른 일 실시예에 따른 다시점 비디오 스트리밍 시스템의 동작 방법을 도시한 흐름도이다. [규칙 제91조에 의한 정정 29.08.2014]

도 14는 본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템이 스트리밍하
는 벌크 스트림에 포함된 벌크 영상의 일 예를 도시한 도면이다.


본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에 있어서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. 반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예들을 중심으로 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 2는 본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템을 나타내는 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템 제공방법을 구현하기 위하여, 다시점 비디오 스트리밍 시스템(100)이 구비될 수 있다.
상기 다시점 비디오 스트리밍 시스템(100)은 동시에 여러 대의 사용자 단말(200, 200-1 내지 200-K)로 각 사용자 단말이 요청한 다시점 비디오를 스트리밍 할 수 있다.
상기 다시점 비디오는 서로 다른 시점에서 촬영된 복수의 개별 시점 비디오로 구성될 수 있다. 하나의 개별 시점 비디오는 하나의 카메라가 특정 시점에서 촬영한 영상을 의미할 수 있다.
상기 다시점 비디오 스트리밍 시스템(100)은 사용자 단말(예를 들면, 200)이 요청한 다시점 비디오를 구성하는 개별 시점 비디오 전부가 아닌 그 중 일부만을 사용자 단말(예를 들면, 200)로 스트리밍할 수 있다. 한편, 상기 사용자 단말(200)은 상기 다시점 비디오를 구성하는 복수의 개별 시점 비디오 중 어느 하나의 시점의 비디오를 소정의 디스플레이 장치에 디스플레이 할 수 있다.
상기 다시점 비디오 스트리밍 시스템(100)은 사용자 단말(200)에서 현재 디스플레이 중인 개별 시점 비디오 스트림(이하, 메인 개별 시점 비디오 스트림)뿐만 아니라 이와 인접한 개별 시점 비디오 스트림을 포함하는 벌크 스트림을 사용자 단말(200)로 스트리밍할 수 있다. 즉, 상기 다시점 비디오 스트리밍 시스템(100)에서 사용자 단말로 전송하는 벌크 스트림은 복수의 개별 시점 비디오 스트림을 포함할 수 있으며, 상기 벌크 스트림에 포함된 복수의 개별 시점 비디오 스트림은 서로 인접할 수 있다. 여기서, 서로 인접한 두 개의 개별 시점 비디오는 서로 인접한 두 카메라에 의해 각각 촬영된 개별 시점 비디오를 의미할 수 있다. 따라서, 상기 벌크 스트림에 포함된 복수의 개별 시점 비디오 스트림은 순차적으로 배열된 복수의 카메라에 의해 촬영된 비디오 스트림일 수 있다.
한편, 상기 사용자 단말(200)은 상기 다시점 비디오 스트리밍 시스템(100)로부터 수신한 벌크 스트림을 복호화하여 상기 벌크 스트림에 포함되어 있는 복수의 개별 시점 비디오 스트림을 분리하고, 그 중 메인 개별 시점 비디오 스트림을 디스플레이 할 수 있다. 또한, 상기 사용자 단말(200)은 컴퓨터, 랩탑, 데스크탑, 타블렛 PC, 셋탑박스 등 내장되거나 소정의 인터페이스로 연결된 디스플레이 장치에 비디오를 재생할 수 있는 장치일 수 있으며, PDA(Personal Digital Assistant), 스마트폰, 휴대 전화, 기타 무선 접속 기능을 갖는 핸드헬드 장치를 포함하는 무선 컴퓨팅 장치 또는 다른 무선 모뎀에 연결된 프로세싱 장치일 수도 있다.
상기 다시점 비디오 스트리밍 시스템(100)은, 도 2에 도시된 바와 같이, 스트림생성모듈(110), 명령수신모듈(120), 제어모듈(130), 결정모듈(140), 스트리밍모듈(150) 및 저장모듈(160)을 포함할 수 있다. 본 발명의 실시예에 따라서는, 상술한 구성요소들 중 일부 구성요소는 반드시 본 발명의 구현에 필수적으로 필요한 구성요소에 해당하지 않을 수도 있으며, 또한 실시예에 따라 상기 다시점 비디오 스트리밍 시스템(100) 은 이보다 더 많은 구성요소를 포함할 수도 있음은 물론이다.
상기 다시점 비디오 스트리밍 시스템(100)은 본 발명의 기술적 사상을 구현하기 위해 필요한 하드웨어 리소스(resource) 및/또는 소프트웨어를 구비할 수 있으며, 반드시 하나의 물리적인 구성요소를 의미하거나 하나의 장치를 의미하는 것은 아니다. 즉, 상기 다시점 비디오 스트리밍 시스템(100)은 본 발명의 기술적 사상을 구현하기 위해 구비되는 하드웨어 및/또는 소프트웨어의 논리적인 결합을 의미할 수 있으며, 필요한 경우에는 서로 이격된 장치에 설치되어 각각의 기능을 수행함으로써 본 발명의 기술적 사상을 구현하기 위한 논리적인 구성들의 집합으로 구현될 수도 있다. 또한, 상기 다시점 비디오 스트리밍 시스템(100)은 본 발명의 기술적 사상을 구현하기 위한 각각의 기능 또는 역할별로 별도로 구현되는 구성들의 집합을 의미할 수도 있다. 예컨대, 스트림생성모듈(110), 명령수신모듈(120), 제어모듈(130), 결정모듈(140), 스트리밍모듈(150) 및/또는 저장모듈(160)은 서로 다른 물리적 장치에 위치할 수도 있고, 동일한 물리적 장치에 위치할 수도 있다. 또한, 구현 예에 따라서는 상기 스트림생성모듈(110), 명령수신모듈(120), 제어모듈(130), 결정모듈(140), 스트리밍모듈(150) 또는 저장모듈(160) 등 개별적인 모듈 역시 서로 다른 물리적 장치에 위치하고, 서로 다른 물리적 장치에 위치한 구성들이 서로 유기적으로 결합되어 개별 모듈들이 수행하는 기능을 실현할 수도 있다.
또한, 본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.
상기 제어모듈(130)은 본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템(100)에 포함된 다른 구성들(예컨대, 스트림생성모듈(110), 명령수신모듈(120), 결정모듈(140), 스트리밍모듈(150) 및 저장모듈(160) 등)의 기능 및/또는 리소스를 제어할 수 있다.
상기 스트림생성모듈(110)은 사용자 단말(200)로 스트리밍할 벌크 스트림을 생성할 수 있다. 일 실시예에서, 상기 스트림생성모듈(110)은 상기 사용자 단말에 디스플레이 중 메인 개별 시점 비디오 스트림에 상응하는 벌크 스트림을 생성할 수 있다. 그러면, 상기 스트리밍모듈(150)은 생성된 상기 벌크 스트림을 상기 사용자 단말(200)로 스트리밍할 수 있다.
상기 메인 개별 시점 비디오 스트림에 상응하는 벌크 스트림은 상기 메인 개별 시점 비디오 스트림, 상기 메인 개별 시점 비디오 스트림과 제1방향으로 인접한 소정의 제1개수만큼의 제1방향 인접 개별 시점 스트림, 및 상기 메인 개별 시점 비디오 스트림과 제2방향으로 인접한 소정의 제2개수만큼의 제2방향 인접 개별 시점 스트림을 포함할 수 있다. 이를 위하여, 상기 스트림생성모듈(110)은 복수의 개별 시점 비디오 스트림을 하나의 벌크 스트림으로 부호화/다중화하는 기능을 수행할 수 있다.
한편, 상기 제1방향은 좌측 방향, 우측 방향, 위쪽 방향, 아래쪽 방향 등 다양할 수 있으며, 상기 제2방향은 상기 제1방향과 반대 방향일 수 있다. 예를 들어, 상기 제1방향이 좌측 방향인 경우, 상기 제2 방향은 우측 방향일 수 있다.
도 3은 본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템(100)에서 사용자 단말(200)에서 디스플레이 되는 메인 개별 시점 비디오 스트림에 상응하는 벌크 스트림을 사용자 단말로 스트리밍하는 방법을 설명하기 위한 도면이다. 도 3은 총 36개의 카메라에서 촬영된 36개의 개별 시점 비디오로 구성되며, 제1방향은 좌측, 제2방향은 우측, 제1개수는 2개, 제2개수는 2개인 예를 도시하고 있다. 즉, 도 3의 예시에서, 사용자 단말(200)로 스트리밍되는 벌크 데이터는 메인 개별 시점 비디오 스트림, 이와 좌측(제1방향)으로 인접한 2개(제1개수)의 인접 개별 시점 비디오 스트림 및 우측(제2방향)으로 인접한 2개(제2개수)의 인접 개별 시점 비디오 스트림을 포함한다.
도 3을 참조하면, 다시점 동영상은 카메라 1내지 카메라 36이 서로 다른 시점에서 촬영한 개별 시점 비디오(제1시점 비디오 내지 제36시점 비디오)로 구성될 수 있다. 상기 저장모듈(160)은 각각의 개별 시점 비디오를 상기 다시점 비디오 스트리밍 시스템(100)이 구비한 소정의 저장공간(예를 들면, DB)에 저장할 수 있다. 제i시점 비디오에 상응하는 비트 스트림(즉, 제i개별 시점 비디오 스트림(vi))이 사용자 단말(200)에 디스플레이 되고 있는 비디오 스트림, 즉 메인 개별 시점 비디오 스트림인 경우, 상기 스트림생성모듈(110)은 메인 개별 시점 비디오 스트림(vi)뿐만 아니라 상기 메인 개별 시점 비디오 스트림(vi)와 제1방향(예를 들면, 좌측 방향)으로 인접한 두 개의 개별 시점 비디오 스트림(vi-1, vi-2)과 상기 메인 개별 시점 비디오 스트림(vi)와 제1방향(예를 들면, 좌측 방향)으로 인접한 두 개의 개별 시점 비디오 스트림(vi-1, vi-2)을 포함하는 벌크 스트림(B)를 생성할 수 있으며, 상기 스트리밍모듈(150)은 생성된 벌크 스트림(B)를 상기 사용자 단말(200)로 스트리밍 할 수 있다.
상기 벌크 스트림(B)을 수신한 사용자 단말(200)은 상기 벌크 스트림(B)을 복호화/역다중화하여 상기 벌크 스트림(B)으로부터 개별 시점 비디오 스트림(vi-2 내지 vi+2)를 분리할 수 있다. 분리된 개별 시점 비디오 스트림(vi-2 내지 vi+2)은 각각 그에 상응하는 버퍼에 저장될 수 있다. 상기 사용자 단말(200)은 각각의 버퍼에 저장된 비트 스트림으로부터 각 개별의 영상을 생성하고, 그 중 메인 개별 시점 비디오 스트림인 제i개별 시점 비디오 스트림(vi)에 상응하는 영상을 디스플레이 장치(210)에 출력할 수 있다.
한편, 일 실시예에서, 상기 벌크 스트림은 MVC(Multi-View Coding)에 의해 부호화 복수의 개별 시점 비디오 스트림을 포함할 수 있으며, 여기서 MVC라고 함은 다수의 개별 시점 비디오를 하나의 데이터로 부호화하기 위한 일체의 코딩 방식을 포함할 수 있으며, 구현 예에 따라, H.264 등의 다양한 표준 기술이 이용될 수 있다. 또한, 상기 벌크 스트림은 MPEG-2 TS 등 다채널 컨테이너에 다시점을 다중화(muxing)한 영상으로 구현될 수도 있다.
한편, 본 발명의 다른 일 실시예에 따르면, 상기 각각의 벌크 스트림은 시각(time) 순으로 나열된 일련의 벌크 영상을 포함하며, 상기 벌크 영상은 상기 벌크 스트림에 포함된 복수의 개별 시점 비디오에 포함된 영상 중 상기 벌크 영상에 상응하는 시간에 해당하는 영상이 1차원 또는 2차원으로 연결된 형태의 영상일 수 있다. 예를 들어, 상기 벌크 스트림이 제1개별 시점 비디오 내지 제m개별 시점 비디오를 포함하고 있으며, 각 개별 시점 비디오는 t1, t2, t3, …, tn-1, tn 시각의 영상(t1 < t2 < t3, …, tn-1 < tn)으로 구성되어 있다고 하면, 상기 벌크 스트림은 각각의 시각 t1, t2, t3, …, tn-1, tn에 상응하는 벌크 영상으로 구성될 수 있으며, 예를 들어 특정 시각 ti(1<=i<=N)에 상응하는 벌크 영상은 제1개별 시점 비디오의 ti 시각의 영상, 제2 개별 시점 비디오의 ti시각의 영상, …, 제m개별 시점 비디오의 ti시각의 영상이 연결된 영상일 수 있다. 이 경우 실시예에 따라, 하나의 벌크 영상에 포함된 각 개별 시점 비디오의 특정 시각의 영상은 1차원(예를 들면, 가로 혹은 세로 방향)으로 연결되거나 2차원(예를 들면, 가로 및 세로 방향)으로 연결될 수 있다. 특히, 각 개별 시점 비디오의 영상의 가로 사이즈가 세로 사이즈보다 큰 경우에는 세로로 연결될 수 있으며, 반대로 세로 사이즈가 큰 경우에는 가로로 연결될 수 있다. 이 경우, 벌크 영상은 정사각형에 보다 가까운 형태가 되므로 상기 벌크 영상의 인코딩 효율이 높아질 수 있는 장점이 있다. 한편, 하나의 벌크 영상에 포함된 각 개별 시점 비디오의 영상 사이에는 소정의 구분자(예를 들어, 공백, 소정의 색깔 또는 소정의 패턴을 가지는 구분 영역 등)가 더 배치될 수도 있다. 따라서, 일반적인 비디오 플레이어에서 상기 벌크 스트림을 플레이하는 경우, 여러 개의 분할 영상이 합쳐진 형태의 하나의 영상이 출력될 수 있을 것이다. 한편, 본 실시예에서, 상기 스트림생성모듈(110)은 상기 벌크 스트림에 포함될 모든 개별 시점 비디오에서 각 시각 별 영상을 추출하고 하나로 합쳐 벌크 영상을 생성하고, 생성된 일련의 벌크 영상을 다시점 비디오 인코딩 방식이 아닌 통상적인 비디오 인코딩 방식에 의해 인코딩하여 벌크 스트림을 생성할 수 있으며, 상기 사용자 단말(200)은 하나의 벌크 영상에서 상기 사용자 단말(200)에 디스플레이될 시점의 영상에 상응하는 부분만을 잘라내어(crop) 디스플레이 할 수 있다.
한편, 본 발명의 또 다른 실시예에서는, 앞서 설명한 실시예에서와 마찬가지로 하나의 벌크 스트림을 일련의 벌크 영상으로 구성하기는 하지만, 특정 시각의 벌크 영상에 포함될 각 개별 시점 비디오의 상기 특정 시각의 영상을 일정한 크기의 R 개의 분할 영상으로 나누고, 나누어진 분할 영상을 차례로 나열하여 상기 특정 시각의 벌크 영상을 구성할 수 있다. 특히, 각 개별 시점 비디오의 상기 특정 시각의 영상의 가로 사이즈가 세로 사이즈보다 큰 경우에는 상기 특정 시각의 영상들을 가로로 잘라 세로로 나열할 수 있으며, 반대로 세로 사이즈가 큰 경우에는 세로로 잘라 가로로 나열할 수 있다. 이 경우, 벌크 영상은 정사각형에 보다 가까운 형태가 되므로 상기 벌크 영상의 인코딩 효율이 높아질 수 있다. 도 14를 참조하여, 본 실시예에 대하여 보다 상세하게 설명하면, 상기 벌크 스트림이 제1개별 시점 비디오 내지 제m개별 시점 비디오를 포함하고 있으며, 각 개별 시점 비디오는 t1, t2, t3, …, tn-1, tn 시각의 영상(t1 < t2 < t3, …, tn-1 < tn)으로 구성되어 있다고 하면, 상기 벌크 스트림은 각각의 시각 t1, t2, t3, …, tn-1, tn에 상응하는 벌크 영상으로 구성될 수 있다. 한편, 각 개별 시점 비디오를 구성하는 각 영상이 모두 R개로 분할되는 경우, 특정 시각 ti(1<=i<=N)에서의 벌크 영상(A)은 도 14에 도시된 바와 같이 구성될 수 있다.
한편, 사용자는 현재 사용자 단말(200)에서 디스플레이 중인 개별 시점 비디오의 시점을 변경할 수 있다. 즉 사용자는 메인 개별 시점 비디오 스트림이 상기 사용자 단말(200)에 디스플레이되는 중에 상기 사용자 단말(200)이 구비하고 있는 소정의 입력장치(미도시)를 통해 시점이동을 지시할 수 있다. 상기 입력장치는 키보드, 키패드, 터치 패드, 터치 스트린 등 다양할 수 있다. 도 4는 터치 스크린을 통하여 시점이동을 지시하는 예를 도시한 도면이다. 도 4에 도시된 바와 같이, 사용자는 상기 사용자 단말(200)에 구비된 터치 스크린(210) 상에서 손가락이나 스타일러스 팬 등의 객체를 움직임으로써 시점 이동을 지시할 수 있다. 상기 사용자 단말(200)은 객체의 움직임을 감지하고, 상기 객체의 움직임이 감지되면 디스플레이 중인 다시점 비디오의 시점을 이동할 수 있다. 즉, 상술한 바와 같이, 상기 다시점 비디오 스트리밍 시스템(100)은 사용자 단말(200)에 디스플레이 중인 메인 개별 시점 비디오 스트림 뿐만 아니라, 그와 양 옆으로 인접한 소정의 개수만큼의 개별 시점 비디오 스트림를 한꺼번에 스트리밍하므로, 사용자가 다시점 비디오에 대한 시점을 이동을 지사한 경우, 사용자 단말(200)은 미리 버퍼링해둔 인접 개별 시점 비디오 스트림을 디스플레이할 수 있다.
이와 같이, 본 발명의 일 실시예에 따르면, 상기 다시점 비디오 스트리밍 시스템(100)은 사용자 단말(200)에 디스플레이 중인 메인 개별 시점 비디오 스트림 뿐만 아니라, 그와 양 옆으로 인접한 소정의 개수만큼의 개별 시점 비디오 스트림를 한꺼번에 스트리밍하므로 시점 이동 시 발생할 수 있는 끊김 현상을 방지할 수 있는 효과가 있다. 또한, 상기 다시점 비디오 스트리밍 시스템(100)은 다시점 비디오에 포함된 모든 개별 시점 비디오를 스트리밍하는 것이 아니라 그 중 일부만을 포함하는 벌크 스트림을 전송하므로 본 발명의 기술적 사상에 따른 다시점 비디오 스트리밍 시스템(100)은 다시점 비디오에 포함된 모든 개별 시점 비디오 스트림을 수신하는 종래의 방법에 비하여 스트리밍에 필요한 대역폭을 현저히 줄일 수 있는 효과가 있다.
하지만, 상술한 바와 같이, 상기 다시점 비디오 스트리밍 시스템(100)은 스트리밍에 필요한 대역폭을 줄이기 위하여, 상기 다시점 비디오다시점 비디오에 포함된 모든 개별 시점 비디오를 스트리밍하는 것이 아니라 메인 개별 시점 비디오 스트림 양 옆으로 일정한 개수만큼만 스트리밍하므로 사용자 단말(200)에서 계속 시점 이동을 하게 되면, 결국에는 끊김 현상이 나타날 수 있게 된다. 이를 방지하기 위하여, 상기 다시점 비디오 스트리밍 시스템(100)은 다시점 비디오에 대한 시점 이동이 있는 경우, 사용자 단말(200)로 스트리밍하는 벌크 스트림을 조정할 수 있다.
이를 위하여, 상기 명령수신모듈(120)은 벌크 스트림을 스트리밍하는 중에 시점 이동명령을 수신할 수 있다. 즉, 상기 사용자 단말(200)은 사용자가 다시점 비디오에 대한 시점 이동을 지시하는 경우, 상기 다시점 비디오 스트리밍 시스템(100)으로 시점이동명령을 전송할 수 있으며, 상기 명령수신모듈(120)은 이를 수신할 수 있다. 상기 시점이동명령은 시점 이동 방향에 대한 정보를 포함할 수 있다. 이동 가능한 시점은 수직 양방향, 수평 양방향, 대각선 양방향 등 다양할 수 있다. 예를 들어, 상기 사용자 단말(200)은 객체가 좌로 움직이는 경우에는 우측 시점으로의 시점이동명령을 전송할 수 있으며, 객체가 우측으로 움직이는 경우 좌측 시점으로의 시점이동명령을 전송할 수 있다. 이와 반대로, 객체가 움직이는 방향으로의 시점이동명령을 전송하는 실시예도 있을 수 있다.
상기 제어모듈(120)은 상기 명령수신모듈(120)이 수신한 시점이동명령에 응답하여, 상기 사용자 단말(200)에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번을 갱신할 수 있다. 예를 들어, 사용자 단말(200)에 i번째 개별 시점 비디오 스트림이 디스플레이 되는 중에 상기 사용자 단말(200)로부터 좌측 방향으로의 시점 이동명령이 수신되는 경우, 상기 제어모듈(120)은 메인 개별 시점 비디오 스트림의 순번을 i-1로 갱신할 수 있다.
상기 제어모듈(120) 은 메인 개별 시점 비디오 스트림의 순번을 갱신한 후, 상기 스트림생성모듈(110)이 상기 갱신된 메인 개별 시점 비디오 스트림에 상응하는 벌크 스트림을 생성하도록 제어할 수 있다.
도 5는 사용자 단말(200)에서 시점이동을 명령한 경우, 본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템(100)이 상기 사용자 단말(200)로 스트리밍할 벌크 스트림을 조정하는 방법을 설명하기 위한 도면이다. 도 5는 총10개의 카메라에서 촬영된 10개의 개별 시점 비디오로 구성되며, 사용자 단말(200)로 스트리밍되는 벌크 데이터는 메인 개별 시점 비디오 스트림, 이와 좌측(제1방향)으로 인접한 2개(제1개수)의 인접 개별 시점 비디오 스트림 및 우측(제2방향)으로 인접한 2개(제2개수)의 인접 개별 시점 비디오 스트림을 포함하는 예를 도시한다.
도 5(a)에 도시된 바와 같이, 사용자 단말(200)에 제5개별 시점 비디오 스트림(v5)가 디스플레이 중인 경우, 상기 스트림생성모듈(110)은 제3개별 시점 비디오 스트림(v3) 내지 제7개별 시점 비디오 스트림(v7)을 포함하는 벌크 스트림(B1)을 생성할 수 있다.
도 5(a)와 같은 상황에서 우측 방향 시점이동명령이 수신되는 경우, 상기 스트림생성모듈(110)은 상기 제어모듈(120)의 제어에 의해, 도 6(b)에 도시된 바와 같이, 제4개별 시점 비디오 스트림(v4) 내지 제8개별 시점 비디오 스트림(v8)을 포함하는 벌크 스트림(B2)을 생성할 수 있다. 벌크 스트림(B1) 및 벌크 스트림(B2) 모두 시점 이동명령에 의해 갱신된 메인 개별 시점 비디오 스트림(v6)을 포함하고 있으므로 사용자 단말(200)은 갱신된 메인 개별 시점 비디오 스트림(v6)을 연속적으로 수신할 수 있다. 따라서, 시점 이동 시에도 끊김 현상이 발생하지 않을 수 있다.
도 5(b)와 같은 상황에서 다시 우측 방향 시점이동명령이 수신되는 경우, 상기 스트림생성모듈(110)은 상기 제어모듈(120)의 제어에 의해, 도 6(c)에 도시된 바와 같이, 제5개별 시점 비디오 스트림(v5) 내지 제9개별 시점 비디오 스트림(v9)을 포함하는 벌크 스트림(B2)을 생성할 수 있다.
도 5(c)와 같은 상황에서 좌측 방향 시점이동명령이 수신되는 경우, 상기 스트림생성모듈(110)은 상기 제어모듈(120)의 제어에 의해, 도 6(d)에 도시된 바와 같이, 제4개별 시점 비디오 스트림(v4) 내지 제8개별 시점 비디오 스트림(v8)을 포함하는 벌크 스트림(B4)을 생성할 수 있다.
도 5(d)와 같은 상황에서 다시 좌측 방향 시점이동명령이 수신되는 경우, 상기 스트림생성모듈(110)은 상기 제어모듈(120)의 제어에 의해, 도 6(e)에 도시된 바와 같이, 제3개별 시점 비디오 스트림(v3) 내지 제7개별 시점 비디오 스트림(v7)을 포함하는 벌크 스트림(B5)을 생성할 수 있다.
도 5(d)와 같은 상황에서 다시 좌측 방향 시점이동명령이 수신되는 경우, 상기 스트림생성모듈(110)은 상기 제어모듈(120)의 제어에 의해, 도 6(f)에 도시된 바와 같이, 제2개별 시점 비디오 스트림(v2) 내지 제6개별 시점 비디오 스트림(v6)을 포함하는 벌크 스트림(B6)을 생성할 수 있다.
다시 도 2를 참조하면, 상기 결정모듈(140)은 벌크 스트림에 포함될 인접 개별 시점 비디오 스트림의 개수를 여러 팩터를 고려하여 조절할 수 있다. 즉, 상술한 바와 같이, 사용자 단말(200)로 스트리밍되는 벌크 스트림은 사용자 단말에 디스플레이 중인 메인 개별 시점 비디오 스트림, 이와 제1 방향으로 인접한 제1개수의 인접 개별 시점 비디오 스트림 및 제2방향으로 인접한 제2 개수의 인접 개별 시점 비디오 스트림을 포함할 수 있는데, 상기 결정모듈(140)은 상기 제1 개수 및/또는 상기 제2개수를 적응적으로 결정할 수 있다.
일 실시예에서, 상기 결정모듈(140)은 가장 최근에 수신된 시점이동명령의 수신 시각으로부터의 경과 시간을 측정하고, 상기 측정 결과에 기초하여, 상기 제1개수 및 상기 제2개수 중 적어도 하나를 결정할 수 있다. 예를 들어, 상기 결정모듈(140)은 가장 최근에 수신된 시점이동명령의 수신 시각으로부터 일정 시간이 경과하는 경우, 상기 제1개수 및 제2개수를 하나씩 감소시킬 수 있다. 그로부터 일정 시간이 다시 경과하는 경우, 상기 결정모듈(140)은 제1개수 및 제2개수를 다시 하나씩 감소시킬 수 있다. 제1개수 및 제2개수가 감소되는데 걸리는 시간 간격은 일정할 수 있으며, 계속 감소하거나 계속 증가할 수도 있다. 이렇게 함으로써 사용자가 시점이동을 적게 하는 경우에는 벌크 스트림에 포함되는 데이터의 양을 줄여 대역폭을 절약할 수 있는 효과가 있다.
한편, 상기 결정모듈(140)은 시점이동명령의 시간당 수신율에 기초하여 상기 제1개수 및 상기 제2개수 중 적어도 하나를 결정할 수도 있다. 시점이동명령의 시간당 수신율이라 함은 단위 시간당 수신되는 시점이동명령의 개수 또는 일정 기간 동안 수신되는 시점이동명령의 개수의 단위 시간 당 평균값을 의미할 수 있다. 상기 결정모듈(140)은 사용자가 빈번하게 시점이동을 하는 경우(즉, 단위 시간 당 시점이동명령의 개수가 큰 경우)에는 벌크 스트림에 포함될 인접 개별 시점 비디오 스트림의 개수를 늘려 시점이동에 대한 응답성을 높일 수 있는 효과가 있다.
도 6은 상기 결정모듈(140)에 의해 벌크 스트림에 포함되는 개별 시점 비디오 스트림의 개수가 변화하는 것을 설명하기 위한 도면이다.
도 6(a)에 도시된 바와 같이, 벌크 스트림에 메인 개별 시점 비디오 스트림(굵은 화살표)와 이에 좌측으로 인접한 2개의 인접 개별 시점 비디오 스트림 및 우측으로 인접한 2개의 인접 개별 시점 스트림이 포함되어 있는 상황에서, 일정 시간 동안 시점이동명령이 입력되지 않는 경우, 상기 결정모듈(140)은 인접 개별 시점 비디오 스트림의 개수를 조절하여, 도 6(b)와 같이 3개의 개별 시점 비디오 스트림이 벌크 스트림에 포함되도록 할 수 있으며, 여기서 다시 일정 시간 동안 시점이동명령이 입력되지 않는 경우, 상기 결정모듈(140)은 인접 개별 시점 비디오 스트림의 개수를 더 조절하여, 도 6(c)와 같이 메인 개별 시점 비디오 스트림만이 벌크 스트림에 포함되도록 할 수 있다.
또한, 상기 결정모듈(140)은 상기 다시점 비디오 스트리밍 시스템(100)과 상기 사용자 단말(200) 간의 데이터 전송 속도나 상기 다시점 비디오 스트리밍 시스템(100)에 가해지는 부하(예를 들면, 상기 다시점 비디오 스트리밍 시스템(100) 상에서 인코딩되고 있는 개별 시점 비디오의 총 개수 등), 상기 다시점 비디오 스트리밍 시스템(100)으로부터 스트리밍 서비스를 받고 있는 단말의 총 개수를 고려하여 상기 제1개수 및 상기 제2개수 중 적어도 하나를 결정할 수도 있다.
한편, 다른 일 실시예에서, 상기 결정모듈(140)은 다시점 비디오 중 시점이동이 잦은 부분에서는 벌크 스트림에 보다 많은 개별 시점 비디오 스트림이 포함되도록 하여 반응성을 높이고, 시점 이동이 적은 부분에서는 적은 수의 개별 시점 비디오 스트림이 포함되도록 하여 대역폭이 절약되도록 할 수 있다.
이를 위하여, 상기 다시점 비디오 스트리밍 시스템(100)은 다시점 비디오의 각 재생 시각 별로 인접 시점 비디오의 개수를 미리 설정해 둘 수 있으며, 상기 결정모듈(140)은 사용자 단말(200)에 디스플레이 되고 있는 상기 다시점 비디오의 재생 시각에 상응하는 인접 시점 비디오의 개수만큼의 개별 시점 비디오 스트림이 벌크 스트림에 포함되도록 할 수 있다.
한편, 상기 결정모듈(140)은 다시점 비디오 중 시점 이동이 잦은 부분과 그렇지 않은 부분을 상기 다시점 비디오를 제공받은 타 사용자 단말로부터 입력된 시점이동명령 히스토리에 기초하여 미리 설정해 둘 수 있다. 특정 사용자가 입력한 시점이동명령 히스토리는 다시점 비디오를 제공받고 있는 상기 특정 사용자가 시점이동명령을 입력한 재생 시각을 의미할 수 있다. 따라서, 본 실시예에서, 상기 결정모듈(140)은 상기 다시점 비디오 스트리밍 시스템으로부터 상기 다시점 비디오를 제공받은 타 사용자 단말로부터 입력된 시점이동명령 히스토리에 기초하여, 다시점 비디오의 각 재생 시각(time) 별 시점이동 빈번도를 결정할 수 있다. 다시점 비디오의 특정 재생 시각 별 시점이동 빈번도는 상기 다시점 비디오를 제공받은 복수의 사용자가 상기 다시점 비디오의 상기 특정 재생 시각 혹은 그 근방에서 입력한 시점이동명령의 총 수에 기초하여 결정되는 소정의 평가값일 수 있다. 한편, 본 실시예에서 상기 결정모듈(140)은 상기 사용자 단말(200)에서 재생 중인 상기 다시점 비디오의 재생 시각에 상응하는 빈번도에 기초하여 상기 제1개수 및 상기 제2개수 중 적어도 하나를 결정할 수 있다.
도 7은 본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템의 동작 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, 상기 다시점 비디오 스트리밍 시스템(100)은 상술한 방법에 따라 벌크 스트림에 포함될 제1 방향 인접 개별 시점 비디오 스트림의 개수(n) 및 제2방향 인접 개별 시점 비디오 스트림의 개수(m)을 결정하고(S100), 사용자 단말(200)에 디스플레이 중인 개별 시점 비디오 스트림(메인 개별 시점 비디오 스트림), n개의 제1방향 인접 개별 시점 비디오 스트림 및 m개의 제2방향 인접 개별 시점 비디오 스트림을 포함하는 벌크 스트림을 생성할 수 있다(S110).
상기 다시점 비디오 스트리밍 시스템(100)은 생성된 벌크 스트림을 사용자 단말(200)로 스트리밍할 수 있다(S120).
한편, 상기 다시점 비디오 스트리밍 시스템(100)이 시점이동 명령을 수신하는 경우, 상기 다시점 비디오 스트리밍 시스템(100)은 상기 시점이동명령에 응답하여, 상기 사용자 단말(200)에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번을 갱신하고, 갱신된 상기 메인 개별 시점 비디오 스트림의 순번에 기초하여, 상기 S100 내지 S120 단계가 수행되도록 할 수 있다(S130, S140).
지금까지는 본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템(100)이 사용자 단말(200)에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번에 기초하여 실시간으로 생성(인코딩)하는 방식으로 동작하는 예를 설명하였다. 하지만 본 발명의 다른 일 실시예에서는 이처럼 사용자 단말(200)로 스트리밍되는 벌크 스트림이 사용자의 시점 이동명령에 따라 인터렉티브하게 생성되는 방식(이하, '인터렉티브 단벌크 스트리밍 방식'이라고 함)과 달리, 소정의 저장소(예를 들면, DB)에 다시점 비디오를 복수의 벌크 데이터로 분할하여 미리 저장하고 있을 수 있으며, 상기 다시점 비디오를 미리 분할 저장되어 있는 벌크 파일 단위로 스트리밍할 수 있는 방식(이하, '다벌크 스트리밍 방식'이라고 함)으로 동작할 수 있는데, 이하에서는 이에 대하여 설명하기로 한다.
본 실시예에서, 하나의 벌크 데이터는 복수의 개별 시점 비디오를 포함할 수 있으며, 하나의 벌크 데이터에 저장된 복수의 개별 시점 비디오는 서로 인접할 수 있다. 따라서, 하나의 벌크 데이터에 저장된 복수의 개별 시점 비디오는 순차적으로 배열된 복수의 카메라에 의해 촬영된 영상일 수 있다. 실시예에 따라, 각각의 벌크 데이터에 저장되는 개별 시점 비디오의 개수는 모두 동일할 수도 있고, 서로 상이할 수도 있다.
본 실시예에서, 하나의 벌크 데이터는 HDD(Hard Disk Drive)에 저장된 단일의 파일의 형태일 수도 있으며, 실시예에 따라, 벌크 데이터는 클라우드에 분산 저장된 데이터 그룹 혹은 버퍼 메모리(예를 들면, RAM)에 저장된 데이터를 의미할 수도 있다. 이하에서는 편의를 위하여, 벌크 데이터가 벌크 파일로 구현된 예를 설명하지만 벌크 데이터가 다른 형태로 구현되는 경우에도 마찬가지로 적용될 수 있음은 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 용이하게 이해할 수 있을 것이다.
예를 들어, 다시점 비디오가 N개의 카메라에 의해 서로 다른 시점에서 촬영된 N개의 개별 시점 비디오 v1 내지 vN(vi는 i번째 카메라(1<=i<=N)에 의해 촬영된 비디오임)으로 구성되며, 상기 다시점 비디오가 M개의 벌크 파일 F1 내지 FM에 분할 저장되고, 벌크 파일 Fj(1<=j<=M)에 포함되어 있는 개별 시점 비디오의 개수가 |Fj|라고 하자.
한편,
Figure PCTKR2014006794-appb-I000001
라고 하면, 벌크 파일 F1은 개별 시점 비디오 v(1, 1), v(1, 2),… v(1, |F1|)를 포함할 수 있으며, 벌크 파일 Fi는 개별 시점 비디오 v(i, 1), v(i, 2),… v(i, |Fi|)를 포함할 수 있다.
일 실시예에서, 상기 다시점 비디오 스트리밍 시스템(100)은 상기 다시점 비디오를 구성하는 복수의 개별 시점 비디오를 순차적으로 나열하고 소정의 개수씩 분할하여 상기 복수의 벌크 파일을 생성할 수 있거나, 소정의 다시점 영상 부호화 장치(미도시)에 의해 이와 같은 방식으로 생성된 상기 복수의 파일을 저장할 수 있다.
일 실시예에서, 복수의 벌크 파일 각각은 MVC(Multi-View Coding)에 의해 부호화 복수의 개별 시점 비디오를 포함할 수 있으며, 여기서 MVC라고 함은 다수의 개별 시점 비디오를 하나의 데이터로 부호화하기 위한 일체의 코딩 방식을 포함할 수 있으며, 구현 예에 따라, H.264 등의 다양한 표준 기술이 이용될 수 있다. 또한, 상기 벌크 파일 각각은 MPEG-2 TS 등 다채널 컨테이너에 다시점을 다중화(muxing)한 영상으로 구현될 수도 있다.
도 8은 본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템(100)에서 다시점 비디오를 벌크에 분할 저장하고, 벌크 파일 단위로 스트리밍 하는 방법을 설명하기 위한 도면이다. 도 8은 다시점 비디오가 총 36개의 카메라에서 촬영된 36개의 개별 시점 비디오로 구성되며, 6개의 벌크 파일에 분할 저장되는 예를 도시하고 있다. 또한, 설명의 편의를 위하여, 도 8의 예시에서는 각각의 분할 파일은 모두 동일한 개수(6개)의 개별 시점 비디오를 포함하는 것으로 한다.
도 8을 참조하면, 다시점 동영상은 카메라 1내지 카메라 36이 서로 다른 시점에서 촬영한 개별 시점 비디오(제1시점 비디오(v1) 내지 제36시점 비디오(v36))로 구성될 수 있으며, 동영상 부호화부는 상기 36개의 개별 시점 비디오를 순차적으로 6개씩 분할하여 복호화하고, 6개의 분할 파일(제1벌크 파일 내지 제6벌크 파일)을 생성할 수 있다. 따라서, 도 8에 도시된 바와 같이, 제1벌크 파일은 v1 내지 v6를 복호화한 파일일 수 있으며, 제2벌크 파일은 v7내지 v12를 복호화한 파일일 수 있으며, …, 제6벌크 파일은 v31 내지 v36을 복호화한 파일일 수 있다.
한편, 상기 다시점 비디오 스트리밍 시스템(100)은 6개의 벌크 파일로 분할된 상기 다시점 비디오를 저장할 수 있으며, 상기 다시점 비디오를 벌크 파일 단위로 스트리밍할 수 있다. 즉, 상기 다시점 비디오 스트리밍 시스템(100)는 사용자 단말(200)에 디스플레이 되고 있는 개별 시점 비디오를 포함하는 벌크 파일에 상응하는 비트 스트림(즉, 벌크 스트림)을 상기 다시점 비디오 스트리밍 시스템(100)으로 스트리밍할 수 있다. 또한, 경우에 따라서는 상기 벌크 파일과 인접한 인접 벌크 파일에 상응하는 인접 벌크 스트림을 더 스트리밍할 수도 있으며, 이에 대하여는 후술하기로 한다.
한편, 두 벌크 파일(혹은 벌크 스트림)이 서로 인접한다고 함은, 하나의 벌크 파일(혹은 벌크 스트림)의 마지막 순번의 개별 시점 비디오(혹은 개별 시점 비디오 스트림)과 다른 하나의 벌크 파일(혹은 벌크 스트림)의 첫 번째 순번의 개별 시점 비디오(혹은 개별 시점 비디오 스트림)이 서로 인접함을 의미할 수 있다.
상기 저장모듈(160)은 다시점 비디오를 구성하며 서로 다른 시점에서 촬영된 복수의 개별 시점 비디오를 복수의 벌크 파일에 분할하여 소정의 DB(400)에 저장할 수 있다.
한편, 상기 스트리밍모듈(150)은 상기 복수의 벌크 파일 중 제1 벌크 파일에 상응하는 제1 벌크 스트림을 사용자 단말(200)로 스트리밍할 수 있다. 이때, 상기 제1 벌크 스트림은 상기 사용자 단말(200)에 디스플레이되는 메인 개별 시점 비디오 스트림을 포함할 수 있다.
상기 사용자 단말(200)은 상기 다시점 비디오 스트리밍 시스템(100)로부터 상기 제1 벌크 스트림을 수신할 수 있으며, 이를 복호화/역다중화하여 메인 개별 시점 비디오를 분리하고 이를 소정의 디스플레이 장치에 디스플레이 할 수 있다.
상기 제어모듈(130)은 상기 사용자 단말(200)에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번에 기초하여 상기 메인 개별 시점 비디오 스트림을 포함하는 벌크 스트림(제1 벌크 스트림)과 인접한 벌크 스트림(제2 벌크 스트림)을 더 전송해야 하는지 여부를 판단할 수 있으며, 상기 제어모듈(130)이 상기 제2벌크 스트림을 더 전송해야 하는 것으로 판단한 경우, 상기 스트리밍모듈(150)은 상기 다시점 비디오 스트리밍 시스템(100)로 상기 제1 벌크 스트림뿐만 아니라 상기 제2벌크 스트림을 더 스트리밍 할 수 있다.
일 실시예에서, 상기 제어모듈(130)은 상기 사용자 단말(200)에 디스플레이 중인 개별 시점 비디오 스트림의 순번이 소정의 한계 범위에 속하는 경우 상기 제2 벌크 스트림을 더 전송해야 하는 것으로 판단할 수 있다. 여기서, 개별 시점 비디오 스트림의 순번은 상기 메인 개별 시점 비디오 스트림을 포함하는 제1 벌크 스트림 내에서의 순번일 수도 있으며, 전체 다시점 비디오 내에서의 순번일 수도 있다.
이를 위하여, 상기 제어모듈(130)은 다시점 비디오를 구성하는 벌크 스트림의 개수나 각 벌크 스트림에 포함된 개별 시점 비디오 스트림의 개수 및/또는 상기 다시점 비디오를 구성하는 개별 시점 비디오 스트림의 총 개수에 대한 정보를 관리할 수 있다.
상기 한계 범위는 상기 제1 벌크 스트림 내의 가장 작은 순번으로부터 일정 범위인 제1측 한계 범위(예를 들면, 좌측 한계 범위) 및 상기 제1 벌크 스트림 내의 가장 높은 순번으로부터 일정 범위인 제2측 한계 범위(예를 들면, 우측 한계 범위)를 포함할 수 있으며, 이 경우, 상기 제어모듈(130)은 상기 사용자 단말(200)에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번이 제1측 한계 범위(예를 들면, 좌측 한계 범위) 이내인 경우 제1방향(예를 들면, 좌측 방향)으로 인접한 벌크 스트림을 더 전송해야 하는 것을 판단할 수 있으며, 상기 사용자 단말(200)에 디스플레이 중인 개별 시점 비디오 스트림의 순번이 제2측 한계 범위(예를 들면, 우측 한계 범위) 이내인 경우 제1방향과 반대 방향인 제2방향(예를 들면, 우측 방향)으로 인접한 벌크 스트림을 더 전송해야 하는 것을 판단할 수 있다.
한편, 상기 사용자 단말(200)은 상기 메인 개별 시점 비디오 스트림을 디스플레이 하는 중에 사용자가 시점 이동을 지시한 경우, 상기 다시점 비디오 스트리밍 시스템(100)으로 시점이동명령을 전송할 수 있다. 그러면, 상기 명령수신모듈(180)은 상기 제1벌크 스트림을 사용자 단말(200)에 스트리밍하는 중에 상기 사용자 단말(200)로부터 시점이동명령을 수신할 수 있다.
상기 제어모듈(130)은 상기 시점이동명령에 응답하여, 상기 사용자 단말(200)에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번을 갱신할 수 있다. 예를 들어, 상기 제어모듈(130)은 상기 시점이동명령이 좌측 방향 시점이동명령인 경우 상기 사용자 단말(200)에 디스플레이 중인 개별 시점 비디오 스트림의 순번을 하나 감소하고, 상기 시점이동명령이 좌측 방향 시점이동명령인 경우 상기 사용자 단말(200)에 디스플레이 중인 개별 시점 비디오 스트림의 순번을 하나 증가시킬 수 있다. 또한, 상기 제어모듈(130)은 갱신된 상기 사용자 단말(200)에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번에 기초하여 상기 제1 벌크 스트림과 인접한 제2 벌크 스트림의 전송 여부를 판단할 수 있다.
도 9는 본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템(100)이 상기 제어모듈(130)의 제어에 의해 벌크 스트림을 스트리밍하는 예를 설명하기 위한 도면이다. 도 9는 좌측 한계 범위가 가장 낮은 순번(즉, 1)으로부터 두 개(즉, 1, 2)이며, 우측 한계 범위는 가장 높은 순번(즉, 6)으로부터 두 개(즉, 5, 6)로 설정되어 있는 경우를 도시하고 있다. 또한, 도 9(a) 내지 도 9(h)는 우측 방향 시점이동명령이 계속 입력되는 경우를 시간 순으로 도시하고 있다. 한편, 도 9에서 굵은 화살표는 사용자 단말에 디스플레이 되는 메인 개별 시점 비디오 스트림을 나타내며, 가는 화살표는 스트리밍 되지만 디스플레이되지는 않는 개별 시점 비디오 스트림을 나타낸다. 또한, 하나의 점선 상자는 하나의 벌크 스트림을 나타낸다.
먼저 도 9(a)에 도시된 바와 같이, 벌크 스트림 Fi에 포함되어 있는 개별 시점 비디오 스트림 중 v(i, 3)이 사용자 단말(200)에 디스플레이되고 있는 메인 개별 시점 비디오 스트림 경우, v(i, 3)의 Fi내에서의 순번은 3으로서 한계 범위 밖이므로 상기 제어모듈(130)은 인접 벌크 스트림을 더 전송할 필요가 없다고 판단할 수 있다. 따라서, 6(a)에서는 상기 다시점 비디오 스트리밍 시스템(100)은 벌크 스트림 Fi만을 스티리밍할 수 있다.
도 9(a)와 같은 상황에서 우측 방향 시점이동명령이 입력되는 경우, 도 9(b)에 도시된 바와 같이, 사용자 단말(200)에 디스플레이 되는 메인 개별 시점 스트림은 v(i, 4)가 되므로 상기 제어모듈은 메인 개별 시점 스트림의 순번을 4로 갱신하며, v(i, 4)의 Fi 내에서의 순번은 4로서 한계 범위 밖이므로 상기 제어모듈(130)은 인접 벌크 스트림을 더 전송할 필요가 없다고 판단할 수 있다. 따라서, 9(b)에서도 상기 다시점 비디오 스트리밍 시스템(100)은 벌크 스트림 Fi만을 스트리밍할 수 있다.
도 9(b)와 같은 상황에서 다시 우측 방향 시점이동명령이 입력되는 경우, 도 9(c)에 도시된 바와 같이, 사용자 단말(200)에 디스플레이 되는 메인 개별 시점 스트림은 v(i, 5)가 되므로 상기 제어모듈은 메인 개별 시점 스트림의 순번을 5로 갱신하며, v(i, 5)의 Fi 내에서의 순번은 5로서 우측 한계 범위 이내이므로 상기 제어모듈(130)은 인접 벌크 스트림을 더 수신하여야 하는 것으로 판단할 수 있다. 따라서, 9(c)에서 상기 다시점 비디오 스트리밍 시스템(100)은 벌크 스트림 Fi 뿐만 아니라 이와 우측으로 인접한 벌크 스트림 Fi+1을 더 스트리밍할 수 있다.
도 9(c)와 같은 상황에서 다시 우측 방향 시점이동명령이 입력되는 경우, 도 9(d)에 도시된 바와 같이, 사용자 단말(200)에 디스플레이 되는 메인 개별 시점 스트림은 v(i, 6)가 되므로 상기 제어모듈은 메인 개별 시점 스트림의 순번을 6으로 갱신하며, v(i, 6)의 Fi내에서의 순번은 6로서 우측 한계 범위 이내이므로 상기 제어모듈(130)은 우측으로 인접 벌크 스트림을 더 수신하여야 하는 것으로 판단할 수 있다. 따라서, 9(d)에서도 상기 다시점 비디오 스트리밍 시스템(100)은 벌크 스트림 Fi 및 벌크 스트림 Fi+1을 수신할 수 있다.
한편, 도 9(d)와 같은 상황에서 다시 우측 방향 시점이동명령이 입력되는 경우, 도 9(e)에 도시된 바와 같이, 상기 사용자 단말(200)은 시점을 이동하기 위하여 벌크 스트림 Fi+1의 첫 번째 개별 시점 비디오 스트림 v(i+1, 1)을 디스플레이 할 수 있다. 만약, 도 9(d)에서 상기 사용자 단말(200)이 벌크 스트림 Fi+1을 더 수신하지 않고 벌크 스트림 Fi만을 수신하고 있었다면, 우측 방향 시점이동명령이 입력된 이후에 벌크 스트림 Fi+1을 수신하게 될 것이므로 네트워크 지연 또는 버퍼링 등으로 인하여 끊김 현상이 발생할 수 있다. 하지만 본 발명의 일 실시예에 따르면, 그 이전부터 인접 벌크 스트림 Fi+1을 더 수신하고 있으므로 끊김 현상이 발생하지 않을 수 있는 효과가 있다.
한편, 사용자 단말(200)에 디스플레이 중인 스트림 v(i+1, 1)의 Fi+1 내에서의 순번은 1로서 좌측 한계 범위 이내이므로 상기 제어모듈(130)은 좌측으로 인접 벌크 스트림을 더 전송하여야 하는 것으로 판단할 수 있다. 따라서, 9(d)에서는 상기 다시점 비디오 스트리밍 시스템(100)은 벌크 스트림 Fi+1 뿐만 아니라 이와 좌측으로 인접한 벌크 스트림 Fi을 더 스트리밍하여, 좌측 방향 시점이동명령이 입력될 것을 대비할 수 있다.
도 9(e)와 같은 상황에서 다시 우측 방향 시점이동명령이 입력되는 경우, 도 9(f)에 도시된 바와 같이, 상기 사용자 단말(200)은 시점을 이동하여 개별 시점 스트림 v(i+1, 2)를 디스플레이하며, v(i+1, 2)의 F1내에서의 순번은 2로서 좌측 한계 범위 이내이므로 상기 제어모듈(130)은 인접 벌크 스트림을 더 전송하여야 하는 것으로 판단할 수 있다. 따라서, 9(f)에서 상기 다시점 비디오 스트리밍 시스템(100)은 벌크 스트림 Fi+1 뿐만 아니라 이와 우측으로 인접한 벌크 스트림 Fi+1을 더 스트리밍할 수 있다.
도 9(f)와 같은 상황에서 다시 우측 방향 시점이동명령이 입력되는 경우, 도 9(g)에 도시된 바와 같이, 사용자 단말(200)에 디스플레이 되는 메인 개별 시점 스트림은 v(i+1, 3)가 되므로 상기 제어모듈은 메인 개별 시점 스트림의 순번을 3으로 갱신하며, v(i+3, 3)의 Fi+1 내에서의 순번은 3으로서 한계 범위 밖이므로 상기 제어모듈(130)은 인접 벌크 스트림을 더 수신할 필요가 없다고 판단할 수 있다. 따라서, 9(g)에서 상기 다시점 비디오 스트리밍 시스템(100)은 벌크 스트림 Fi+1만을 수신할 수 있다.
이후, 우측 방향 시점이동명령이 계속 입력되어, 도 9(h)에 도시된 바와 같이, 사용자 단말(200)에 디스플레이 되는 메인 개별 시점 스트림은 v(i+1, 5)가 되는 경우, 상기 제어모듈은 메인 개별 시점 스트림의 순번을 5로 갱신하며, v(i+1, 5)의 Fi+1내에서의 순번은 5로서 우측 한계 범위 이내이므로 상기 제어모듈(130)은 우측으로 인접 벌크 스트림을 더 스트리밍하여야 하는 것으로 판단할 수 있다. 따라서, 9(h)에서 상기 다시점 비디오 스트리밍 시스템(100)은 벌크 스트림 Fi+1 뿐만 아니라 이와 우측으로 인접한 벌크 스트림 Fi+2를 더 스트리밍할 수 있다.
한편, 상기 한계 범위는 상술한 예에서와 같이 미리 결정된 수치 범위일 수도 있지만, 실시예에 따라서는 상기 사용자 단말(200)에서 전송하는 시점이동명령의 시간당 수신율에 따라 적응적으로 결정되는 수치 범위일 수 있다. 바람직하게는 상기 한계 범위는 시점이동명령의 시간당 수신율이 클수록 더 넓은 범위로 결정될 수 있다. 디스플레이 중인 개별 시점 비디오 스트림이 포함된 벌크 스트림에서 그와 인접한 벌크 스트림으로 넘어가는 기간이 짧아지기 때문이다. 즉, 시점이동명령의 시간당 수신율이 낮은 경우에는 한계 범위를 좁게 결정하여 벌크 스트림을 전송하기 위한 대역폭을 효율적으로 이용할 수 있으며, 시점이동명령의 시간당 수신율이 큰 경우에는 한계 범위를 넓게 결정하여 시점이 인접 벌크 스트림으로 전환될 때 발생할 수 있는 끊김을 방지할 수 있다.
마찬가지 이유에서, 상기 제어모듈(130)은 시점이동명령의 시간당 수신율에 기초하여 상기 제2 벌크 스트림과 인접한 적어도 하나의 추가 벌크 스트림의 전송 여부를 더 판단할 수 있으며, 상기 스트리밍모듈(150)은 상기 제어모듈(130)이 상기 추가 벌크 스트림을 더 전송해야 하는 것으로 판단한 경우 상기 사용자 단말(200)로 상기 추가 벌크 스트림을 더 스트리밍할 수 있다. 이 경우, 추가 벌크 스트림의 개수는 상기 시점이동명령의 시간당 수신율에 기초하여 결정될 수 있다. 바람직하게는 시점이동명령의 시간당 수신율이 클수록 추가적으로 수신하여야 하는 추가 벌크 스트림의 개수는 크게 설정될 수 있다.
한편, 실시예에 따라 상기 한계 범위 및/또는 추가 벌크 스트림의 개수는 시점이동명령의 시간당 수신율에만 영향을 받는 것이 아닐 수 있으며, 벌크 스트림 내에 포함된 개별 시점 비디오 스트림의 개수나 벌크 스트림의 개수 등 다양한 팩터가 더 고려되어 결정될 수 있다.
도 10은 본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템(100)이 상술한 다벌크 스트리밍 방식으로 동작하는 방법을 나타내는 흐름도이다.
도 10을 참조하면, 상기 다시점 비디오 스트리밍 시스템(100)은 상기 다시점 비디오 스트리밍 시스템(100)은 다시점 비디오를 구성하며 서로 다른 시점에서 촬영된 복수의 개별 시점 비디오를 복수의 벌크 파일에 분할하여 저장할 수 있다(S200).
상기 다시점 비디오 스트리밍 시스템(100)은 사용자 단말(200)에서 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번이 소정의 한계 범위 이내인지 여부를 판단할 수 있으며(S210), 한계 범위 이내인 경우에는 상기 메인 개별시점 비디오 스트림을 포함하는 제1벌크 파일만을 상기 사용자 단말(200)에 스트리밍하며(S220), 한계 범위 밖인 경우에는 상기 제`1벌크 파일 뿐만 아니라 상기 제1벌크 파일과 인접한 제2벌크파일을 함께 사용자 단말(200)로 스트리밍할 수 있다(S230).
한편, 상기 다시점 비디오 스트리밍 시스템(100)이 상기 제1벌크 스트림을 스트리밍하는 중에 시점이동명령을 수신하는 경우, 상기 사용자 단말(200)에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번을 갱신하고(S240, S250), 갱신된 상기 메인 개별 시점 비디오 스트림의 순번에 기초하여, 메인 개별 시점 비디오 스트림을 포함하는 제1벌크 스트림만을 전송할 지, 상기 제1벌크 스트림 및 이와 인접한 제2벌크 스트림을 함께 전송할지 여부를 결정할 수 있다(S210).
한편, 본 발명의 또 다른 일 실시예에 따른 다시점 비디오 스트리밍 시스템(100)은 상술한 인터렉티브 단벌크 스트리밍 방식과 다벌크 스트리밍 방식을 상황에 따라 선택할 수 있다.
본 실시예에서, 상기 제어모듈(130)은 가장 최근에 수신된 시점이동명령의 수신 시각으로부터의 경과 시간, 시점이동명령의 시간당 수신율, 상기 다시점 비디오 스트리밍 시스템과 상기 사용자 단말 간의 데이터 전송 속도, 상기 다시점 비디오 스트리밍 시스템에 가해지는 부하, 또는 상기 다시점 비디오 스트리밍 시스템으로부터 스트리밍 서비스를 받고 있는 단말의 개수 중 적어도 하나에 기초하여, 스트리밍 방식을 판단할 수 있다. 예를 들어, 장기간 시점이동이 없거나, 사용자의 네트워크 속도가 느리거나 상기 다시점 비디오 스트리밍 시스템(100)에 가해지는 인코딩 부하가 크거나, 사용자 단말(200)과의 네트워크 속도가 느린 경우에는 인터렉티브 단벌크 스트리밍 방식을 선택할 수 있다. 또한, 빈번하게 시점이동명령이 입력되는 경우 등에는 다벌크 스트리밍 방식을 선택할 수 있다.
도 11은 이러한 방식으로 동작하는 다시점 비디오 스트리밍 시스템(100)의 동작방법을 도시한 도면이다.
도 11을 참조하면, 상기 다시점 비디오 스트리밍 시스템(100)은 다시점 비디오를 구성하며 서로 다른 시점에서 촬영된 복수의 개별 시점 비디오를 복수의 벌크 파일에 분할하여 저장할 수 있다(S300).
한편, 상기 다시점 비디오 스트리밍 시스템(100)은 벌크 파일을 스트리밍하여야 하는지 여부를 판단할 수 있다(S310).
상기 다시점 비디오 스트리밍 시스템(100)이 벌크 파일을 스트리밍하는 대신 벌크 스트림을 실시간을 생성하는 방식을 택한 경우, 상기 상기 다시점 비디오 스트리밍 시스템(100)은 벌크 스트림에 포함될 제1 방향 인접 개별 시점 비디오 스트림의 개수(n) 및 제2방향 인접 개별 시점 비디오 스트림의 개수(m)을 결정하고(S320), 사용자 단말(200)에 디스플레이 중인 개별 시점 비디오 스트림(메인 개별 시점 비디오 스트림), n개의 제1방향 인접 개별 시점 비디오 스트림 및 m개의 제2방향 인접 개별 시점 비디오 스트림을 포함하는 벌크 스트림을 생성할 수 있다(S330). 또한, 상기 다시점 비디오 스트리밍 시스템(100)은 생성된 벌크 스트림을 사용자 단말(200)로 스트리밍할 수 있다(S340). 한편, 상기 다시점 비디오 스트리밍 시스템(100)이 시점이동 명령을 수신하는 경우, 상기 다시점 비디오 스트리밍 시스템(100)은 상기 시점이동명령에 응답하여, 상기 사용자 단말(200)에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번을 갱신할 수 있다(S350, S360).
한편, 상기 다시점 비디오 스트리밍 시스템(100)이 벌크 파일을 스트리밍하는 방식을 선택한 경우, 상기 다시점 비디오 스트리밍 시스템(100)은 사용자 단말(200)에서 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번이 소정의 한계 범위 이내인지 여부를 판단할 수 있으며(S3710), 한계 범위 이내인 경우에는 상기 메인 개별시점 비디오 스트림을 포함하는 제1벌크 파일만을 상기 사용자 단말(200)에 스트리밍하며(S380), 한계 범위 밖인 경우에는 상기 제`1벌크 파일 뿐만 아니라 상기 제1벌크 파일과 인접한 제2벌크파일을 함께 사용자 단말(200)로 스트리밍할 수 있다(S390).
한편, 상기 다시점 비디오 스트리밍 시스템(100)이 상기 제1벌크 스트림을 스트리밍하는 중에 시점이동명령을 수신하는 경우, 상기 사용자 단말(200)에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번을 갱신할 수 있다(S400, S410).
한편, 본 발명의 또 다른 일 실시예에 따르면, 다시점 비디오를 구성하는 복수의 개별 시점 비디오 각각에 상응하는 벌크 데이터를 미리 생성(인코딩)하여 저장해 둘 수 있다. 이때, 특정 개별 시점 비디오에 상응하는 벌크 데이터는, 상기 특정 개별 시점 비디오, 상기 특정 개별 시점 비디오와 제1방향으로 인접한 복수의 제1방향 인접 개별 시점 비디오, 및 상기 특정 개별 시점 비디오와 제2방향으로 인접한 복수의 제2방향 인접 개별 시점 비디오를 포함할 수 있다.
상기 저장모듈(160)은 이렇게 생성된 각 개별 시점 비디오 각각에 상응하는 벌크 데이터를 소정의 저장공간(예를 들면, DB)에 저장할 수 있다.
도 12는 저장된 각 개별 시점 비디오 각각에 상응하는 벌크 데이터의 일 예를 나타내는 도면이다. 도 12는 다시점 비디오가 N개의 개별 시점 비디오로 구성되며, 특정 개별 시점 비디오에 상응하는 벌크 데이터는 상기 특정 개별 시점 비디오, 상기 특정 개별 시점 비디오에 좌측 방향으로 인접한 두 개의 개별 시점 비디오 및 상기 특정 개별 시점 비디오에 우측 방향으로 인접한 두 개의 개별 시점 비디오를 포함하는 예를 도시하고 있다.
도 12를 참조하면, 제1개별 시점 비디오(v1)에 상응하는 벌크 데이터(B1)은 좌측 방향으로 인접한 개별 시점 비디오가 없으므로 제1개별 시점 비디오(v1) 및 우측 방향으로 인접한 두 개의 개별 시점 비디오(v2, v3)를 포함할 수 있다. 제2개별 시점 비디오(v2)에 상응하는 벌크 데이터(B2)은 좌측 방향으로 인접한 개별 시점 비디오가 v1하나 뿐이므로 제2개별 시점 비디오(v2), 이와 좌측 방향으로 인접한 개별 시점 비디오(v1) 및 우측 방향으로 인접한 두 개의 개별 시점 비디오(v3, v4)를 포함할 수 있다. 제i개별 시점 비디오(vi)에 상응하는 벌크 데이터(Bi)는 제i개별 시점 비디오(vi), 좌측 방향으로 인접한 두 개의 개별 시점 비디오(vi-2, vi-1) 및 우측 방향으로 인접한 두 개의 개별 시점 비디오(vi+1, vi+2)를 포함할 수 있다. 한편, 마지막 개별 시점 비디오(vN)에 상응하는 벌크 데이터(BN)는 우측 방향으로 인접한 개별 시점 비디오가 없으므로 제N 개별시점 비디오(vN) 및 이와 좌측 방향을 인접한 두 개의 개별 시점 비디오(vN-2, vN-1)을 포함할 수 있다.
한편, 상기 제어모듈(130)은 상기 사용자 단말(200)에 디스플레이 중인 메인 개별 시점 비디오에 상응하는 벌크 데이터를 선택할 수 있으며, 상기 스트리밍모듈(150)은 선택된 상기 벌크 데이터에 상응하는 벌크 스트림을 상기 사용자 단말(200)로 스트리밍할 수 있다.
예를 들어, 상기 사용자 단말(200)에 i번째 개별 시점 비디오 스트림이 디스플레이되는 경우 상기 제어모듈(130)은 i번째 개별 시점 비디오에 상응하는 벌크 스트림을 선택하여 사용자 단말(200)로 스트리밍되도록 할 수 있으며, 이후 상기 사용자 단말(200)로부터 좌측 방향 시점 이동 명령이 입력되는 경우, 상기 제어모듈(130)은 i-1번째 개별 시점 비디오에 상응하는 벌크 스트림을 선택하여 사용자 단말(200)로 스트리밍되도록 할 수 있다.
도 13은 상술한 본 발명의 일 실시예에 따른 다시점 비디오 스트리밍 시스템(100)의 동작 방법을 도시한 흐름도이다.
도 13을 참조하면, 상기 저장모듈(160)은 복수의 개별 시점 비디오 각각에 상응하는 벌크 데이터를 저장할 수 있다(S500).
상기 제어모듈(130)은 상기 사용자 단말(200)에 디스플레이 중인 메인 개별 시점 비디오에 상응하는 벌크 데이터를 선택하고, 상기 스트리밍모듈(150)은 선택된 상기 벌크 데이터에 상응하는 벌크 스트림을 상기 사용자 단말로 스트리밍할 수 있다(S510).
한편, 상기 벌크 스트림을 스트리밍하는 중에 상기 명령수신모듈(120)이 시점이동명령을 수신하는 경우(S520), 상기 제어모듈(130)은 상기 사용자 단말(200)에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번을 갱신하고(S530), 갱신된 메인 개별 시점 비디오 스트림의 순번에 기초하여 벌크 데이터를 선택하여, 상기 스트리밍모듈(150)이 선택된 벌크 데이터에 상응하는 벌크 스트림을 사용자 단말(200)로 스트리밍하도록 제어할 수 있다(S510).
한편, 구현 예에 따라서, 상기 다시점 비디오 스트리밍 시스템(100)은 프로세서 및 상기 프로세서에 의해 실행되는 프로그램을 저장하는 메모리를 포함할 수 있다. 상기 프로세서는 싱글 코어 CPU혹은 멀티 코어 CPU를 포함할 수 있다. 메모리는 고속 랜덤 액세스 메모리를 포함할 수 있고 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치, 또는 기타 비휘발성 고체상태 메모리 장치와 같은 비휘발성 메모리를 포함할 수도 있다. 프로세서 및 기타 구성 요소에 의한 메모리로의 액세스는 메모리 컨트롤러에 의해 제어될 수 있다. 여기서, 상기 프로그램은, 프로세서에 의해 실행되는 경우, 본 실시예에 따른 다시점 비디오 스트리밍 시스템(100)으로 하여금, 상술한 다시점 비디오 스트리밍 시스템 제공방법을 수행하도록 할 수 있다.
한편, 본 발명의 실시예에 따른 다시점 비디오 스트리밍 시스템 제공방법은 컴퓨터가 읽을 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있으며, 본 발명의 실시예에 따른 제어 프로그램 및 대상 프로그램도 컴퓨터로 판독 가능한 기록 매체에 저장될 수 있다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
기록 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터로 읽을 수 있는 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 상술한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
본 발명은 다양한 비디오 스트리밍 시스템에 적용될 수 있다.

Claims (16)

  1. 서로 다른 시점에서 촬영된 복수의 개별 시점 비디오로 구성되는 다시점 비디오(multi-view video)를 사용자 단말로 스트리밍하기 위한 다시점 비디오 스트리밍 시스템 제공방법으로서,
    (a) 상기 다시점 비디오 스트리밍 시스템이, 상기 사용자 단말에 디스플레이 중 메인 개별 시점 비디오 스트림에 상응하는 벌크 스트림을 생성하는 단계-여기서, 상기 벌크 스트림은 상기 메인 개별 시점 비디오 스트림, 상기 메인 개별 시점 비디오 스트림과 제1방향으로 인접한 소정의 제1개수만큼의 제1방향 인접 개별 시점 스트림, 및 상기 메인 개별 시점 비디오 스트림과 제2방향으로 인접한 소정의 제2개수만큼의 제2방향 인접 개별 시점 스트림을 포함하며, 상기 제2방향은 상기 제1방향과 반대 방향임-;
    (b) 상기 다시점 비디오 스트리밍 시스템이, 생성된 상기 벌크 스트림을 상기 사용자 단말로 스트리밍하는 단계;
    상기 다시점 비디오 스트리밍 시스템이, 상기 벌크 스트림을 스트리밍하는 중에 시점이동명령을 수신하는 단계;
    상기 다시점 비디오 스트리밍 시스템이, 상기 시점이동명령에 응답하여, 상기 사용자 단말에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번을 갱신하는 단계; 및
    갱신된 상기 메인 개별 시점 비디오 스트림의 순번에 기초하여, 상기 (a) 단계 및 상기 (b) 단계를 수행하는 단계를 포함하는 다시점 비디오 스트리밍 시스템 제공방법에 있어서,
    상기 다시점 비디오 스트리밍 시스템 제공방법은,
    가장 최근에 수신된 시점이동명령의 수신 시각으로부터의 경과 시간, 시점이동명령의 시간당 수신율, 상기 다시점 비디오 스트리밍 시스템과 상기 사용자 단말 간의 데이터 전송 속도, 상기 다시점 비디오 스트리밍 시스템에 가해지는 부하, 또는 상기 다시점 비디오 스트리밍 시스템으로부터 스트리밍 서비스를 받고 있는 단말의 개수 중 적어도 하나를 측정하는 단계; 및
    상기 측정 결과에 기초하여, 상기 제1개수 및 상기 제2개수 중 적어도 하나를 결정하는 단계를 더 포함하는 다시점 비디오 스트리밍 시스템 제공방법.
  2. 서로 다른 시점에서 촬영된 복수의 개별 시점 비디오로 구성되는 다시점 비디오를 사용자 단말로 스트리밍하기 위한 다시점 비디오 스트리밍 시스템 제공방법으로서,
    (a) 상기 다시점 비디오 스트리밍 시스템이, 상기 사용자 단말에 디스플레이 중 메인 개별 시점 비디오 스트림에 상응하는 벌크 스트림을 생성하는 단계-여기서, 상기 벌크 스트림은 상기 메인 개별 시점 비디오 스트림, 상기 메인 개별 시점 비디오 스트림과 제1방향으로 인접한 소정의 제1개수만큼의 제1방향 인접 개별 시점 스트림, 및 상기 메인 개별 시점 비디오 스트림과 제2방향으로 인접한 소정의 제2개수만큼의 제2방향 인접 개별 시점 스트림을 포함하며, 상기 제2방향은 상기 제1방향과 반대 방향임-;
    (b) 상기 다시점 비디오 스트리밍 시스템이, 생성된 상기 벌크 스트림을 상기 사용자 단말로 스트리밍하는 단계;
    상기 다시점 비디오 스트리밍 시스템이, 상기 벌크 스트림을 스트리밍하는 중에 시점이동명령을 수신하는 단계;
    상기 다시점 비디오 스트리밍 시스템이, 상기 시점이동명령에 응답하여, 상기 사용자 단말에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번을 갱신하는 단계; 및
    갱신된 상기 메인 개별 시점 비디오 스트림의 순번에 기초하여, 상기 (a) 단계 및 상기 (b) 단계를 수행하는 단계를 포함하는 다시점 비디오 스트리밍 시스템 제공방법에 있어서,
    상기 다시점 비디오 스트리밍 시스템 제공방법은,
    상기 다시점 비디오 스트리밍 시스템으로부터 상기 다시점 비디오를 제공받은 타 사용자 단말로부터 입력된 시점이동명령 히스토리에 기초하여, 상기 다시점 비디오의 각 재생 시각(time) 별 시점이동 빈번도를 결정하는 단계; 및
    결정된 상기 다시점 비디오의 각 재생 시각 별 시점이동 빈번도에 기초하여, 상기 제1개수 및 상기 제2개수 중 적어도 하나를 결정하는 단계를 더 포함하는 다시점 비디오 스트리밍 시스템 제공방법.
  3. 서로 다른 시점에서 촬영된 복수의 개별 시점 비디오로 구성되는 다시점 비디오를 사용자 단말로 스트리밍하기 위한 다시점 비디오 스트리밍 시스템 제공방법으로서,
    (a) 상기 다시점 비디오 스트리밍 시스템이, 상기 사용자 단말에 디스플레이 중 메인 개별 시점 비디오 스트림에 상응하는 벌크 스트림을 생성하는 단계-여기서, 상기 벌크 스트림은 상기 메인 개별 시점 비디오 스트림, 상기 메인 개별 시점 비디오 스트림과 제1방향으로 인접한 소정의 제1개수만큼의 제1방향 인접 개별 시점 스트림, 및 상기 메인 개별 시점 비디오 스트림과 제2방향으로 인접한 소정의 제2개수만큼의 제2방향 인접 개별 시점 스트림을 포함하며, 상기 제2방향은 상기 제1방향과 반대 방향임-; 및
    (b) 상기 다시점 비디오 스트리밍 시스템이, 생성된 상기 벌크 스트림을 상기 사용자 단말로 스트리밍하는 단계를 포함하는 다시점 비디오 스트리밍 시스템 제공방법에 있어서,
    상기 다시점 비디오 스트리밍 시스템 제공방법은,
    미리 설정된 상기 다시점 비디오의 각 재생 시각 별 인접 시점 비디오 개수에 기초하여, 상기 제1개수 및 상기 제2개수 중 적어도 하나를 결정하는 단계를 더 포함하는 다시점 비디오 스트리밍 시스템 제공방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 (a) 단계는,
    상기 메인 개별 시점 비디오 스트림, 상기 제1방향 인접 개별 시점 스트림, 및 상기 제2방향 인접 개별 시점 스트림을 MVC(Multi-View Coding)에 의해 부호화하여 상기 벌크 스트림을 생성하는 단계를 포함하는 다시점 비디오 스트리밍 시스템 제공방법.
  5. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 벌크 스트림은 시각(time) 순으로 나열된 일련의 벌크 영상을 포함하며,
    상기 벌크 영상은,
    상기 벌크 스트림에 포함된 개별 시점 비디오 스트림에 포함된 영상 중 상기 벌크 영상에 상응하는 시각에 해당하는 영상이 1차원 또는 2차원으로 연결된 형태의 영상인 다시점 비디오 스트리밍 시스템 제공방법.
  6. 제5항에 있어서,
    상기 벌크 영상은,
    상기 벌크 스트림에 포함된 개별 시점 비디오 스트림에 포함된 영상 중 상기 벌크 영상에 상응하는 시각에 해당하는 영상의 가로 사이즈가 세로 사이즈보다 큰 경우, 상기 벌크 스트림에 포함된 개별 시점 비디오 스트림에 포함된 영상 중 상기 벌크 영상에 상응하는 시각에 해당하는 영상이 세로로 연결된 형태의 영상이며,
    상기 벌크 스트림에 포함된 개별 시점 비디오 스트림에 포함된 영상 중 상기 벌크 영상에 상응하는 시각에 해당하는 영상의 세로 사이즈가 가로 사이즈보다 큰 경우, 상기 벌크 스트림에 포함된 개별 시점 비디오 스트림에 포함된 영상 중 상기 벌크 영상에 상응하는 시각에 해당하는 영상이 가로로 연결된 형태의 영상인 다시점 비디오 스트리밍 시스템 제공방법.
  7. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 벌크 스트림은 시각 순으로 나열된 일련의 벌크 영상을 포함하며,
    상기 벌크 영상은,
    상기 벌크 스트림에 포함된 개별 시점 비디오에 포함된 영상 중 상기 벌크 영상에 상응하는 시각에 해당하는 영상이 일정한 개수씩 분할된 분할영상이 순서대로 나열된 형태의 영상인 다시점 비디오 스트리밍 시스템 제공방법.
  8. 서로 다른 시점에서 촬영된 복수의 개별 시점 비디오로 구성되는 다시점 비디오를 사용자 단말로 스트리밍하기 위한 다시점 비디오 스트리밍 시스템 제공방법으로서,
    (a) 상기 다시점 비디오 스트리밍 시스템이, 상기 사용자 단말에 디스플레이 중 메인 개별 시점 비디오 스트림에 상응하는 벌크 스트림을 생성하는 단계-여기서, 상기 벌크 스트림은 상기 메인 개별 시점 비디오 스트림, 상기 메인 개별 시점 비디오 스트림과 제1방향으로 인접한 소정의 제1개수만큼의 제1방향 인접 개별 시점 스트림, 및 상기 메인 개별 시점 비디오 스트림과 제2방향으로 인접한 소정의 제2개수만큼의 제2방향 인접 개별 시점 스트림을 포함하며, 상기 제2방향은 상기 제1방향과 반대 방향임-; 및
    (b) 상기 다시점 비디오 스트리밍 시스템이, 생성된 상기 벌크 스트림을 상기 사용자 단말로 스트리밍하는 단계를 포함하는 다시점 비디오 스트리밍 시스템 제공방법에 있어서,
    상기 다시점 비디오 스트리밍 시스템 제공방법은,
    상기 복수의 개별 시점 비디오를 복수의 벌크 데이터에 분할하여 저장하는 단계-여기서, 하나의 벌크 데이터는 복수의 서로 인접한 개별 시점 비디오를 포함함-;
    가장 최근에 수신된 시점이동명령의 수신 시각으로부터의 경과 시간, 시점이동명령의 시간당 수신율, 상기 다시점 비디오 스트리밍 시스템과 상기 사용자 단말 간의 데이터 전송 속도, 또는 상기 다시점 비디오 스트리밍 시스템으로부터 스트리밍 서비스를 받고 있는 단말의 개수 중 적어도 하나에 기초하여, 벌크 데이터를 스트리밍할 지 여부를 판단하는 단계; 및
    상기 다시점 비디오 스트리밍 시스템이, 벌크 데이터를 스트리밍해야 하는 것으로 판단한 경우, 상기 복수의 벌크 데이터 중 상기 사용자 단말에 디스플레이 중인 메인 개별 시점 비디오를 포함하는 제1 벌크 데이터에 상응하는 제1 벌크 스트림을 상기 사용자 단말로 스트리밍하는 단계를 더 포함하는 다시점 비디오 스트리밍 시스템 제공방법.
  9. 제8항에 있어서, 상기 다시점 비디오 스트리밍 시스템 제공방법은,
    상기 다시점 비디오 스트리밍 시스템이, 상기 제1벌크 스트림을 스트리밍하는 중에 시점이동명령을 수신하는 단계;
    상기 다시점 비디오 스트리밍 시스템이, 상기 시점이동명령에 응답하여, 상기 사용자 단말에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번을 갱신하는 단계;
    상기 다시점 비디오 스트리밍 시스템이, 갱신된 상기 메인 개별 시점 비디오 스트림의 순번에 기초하여 상기 제1 벌크 스트림과 인접한 제2 벌크 스트림의 전송 여부를 판단하는 단계; 및
    상기 다시점 비디오 스트리밍 시스템이, 상기 제2벌크 스트림을 전송해야 하는 것으로 판단한 경우, 상기 사용자 단말로 상기 제2 벌크 스트림을 더 스트리밍하는 단계를 더 포함하는 다시점 비디오 스트리밍 시스템 제공방법.
  10. 제1항 내지 제3항 또는 제8항 중 어느 한 항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.
  11. 다시점 비디오 스트리밍 시스템으로서,
    프로세서; 및
    상기 프로세서에 의하여 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하며,
    상기 컴퓨터 프로그램은, 상기 프로세서에 의해 실행되는 경우, 상기 다시점 비디오 스트리밍 시스템이 제1항 내지 제3항 또는 제8항 중 어느 한 항에 기재된 방법을 수행하도록 하는 다시점 비디오 스트리밍 시스템.
  12. 서로 다른 시점에서 촬영된 복수의 개별 시점 비디오로 구성되는 다시점 비디오를 사용자 단말로 스트리밍하기 위한 다시점 비디오 스트리밍 시스템으로서,
    상기 사용자 단말에 디스플레이 중 메인 개별 시점 비디오 스트림에 상응하는 벌크 스트림을 생성하는 스트림생성모듈-여기서, 상기 벌크 스트림은 상기 메인 개별 시점 비디오 스트림, 상기 메인 개별 시점 비디오 스트림과 제1방향으로 인접한 소정의 제1개수만큼의 제1방향 인접 개별 시점 스트림, 및 상기 메인 개별 시점 비디오 스트림과 제2방향으로 인접한 소정의 제2개수만큼의 제2방향 인접 개별 시점 스트림을 포함하며, 상기 제2방향은 상기 제1방향과 반대 방향임-;
    생성된 상기 벌크 스트림을 상기 사용자 단말로 스트리밍하는 스트리밍모듈;
    상기 벌크 스트림을 스트리밍하는 중에 시점이동명령을 수신하는 명령수신모듈; 및
    상기 시점이동명령에 응답하여, 상기 사용자 단말에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번을 갱신하고, 상기 스트림생성모듈이 상기 갱신된 메인 개별 시점 비디오 스트림에 상응하는 벌크 스트림을 생성하도록 제어하는 제어모듈을 포함하는 다시점 비디오 스트리밍 시스템에 있어서,
    상기 다시점 비디오 스트리밍 시스템은,
    가장 최근에 수신된 시점이동명령의 수신 시각으로부터의 경과 시간, 시점이동명령의 시간당 수신율, 상기 다시점 비디오 스트리밍 시스템과 상기 사용자 단말 간의 데이터 전송 속도, 상기 다시점 비디오 스트리밍 시스템에 가해지는 부하, 또는 상기 다시점 비디오 스트리밍 시스템으로부터 스트리밍 서비스를 받고 있는 단말의 개수 중 적어도 하나를 측정하고,
    상기 측정 결과에 기초하여, 상기 제1개수 및 상기 제2개수 중 적어도 하나를 결정하는 결정모듈을 더 포함하는 다시점 비디오 스트리밍 시스템.
  13. 서로 다른 시점에서 촬영된 복수의 개별 시점 비디오로 구성되는 다시점 비디오를 사용자 단말로 스트리밍하기 위한 다시점 비디오 스트리밍 시스템으로서,
    상기 사용자 단말에 디스플레이 중 메인 개별 시점 비디오 스트림에 상응하는 벌크 스트림을 생성하는 스트림생성모듈-여기서, 상기 벌크 스트림은 상기 메인 개별 시점 비디오 스트림, 상기 메인 개별 시점 비디오 스트림과 제1방향으로 인접한 소정의 제1개수만큼의 제1방향 인접 개별 시점 스트림, 및 상기 메인 개별 시점 비디오 스트림과 제2방향으로 인접한 소정의 제2개수만큼의 제2방향 인접 개별 시점 스트림을 포함하며, 상기 제2방향은 상기 제1방향과 반대 방향임-;
    생성된 상기 벌크 스트림을 상기 사용자 단말로 스트리밍하는 스트리밍모듈;
    상기 벌크 스트림을 스트리밍하는 중에 시점이동명령을 수신하는 명령수신모듈; 및
    상기 시점이동명령에 응답하여, 상기 사용자 단말에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번을 갱신하고, 상기 스트림생성모듈이 상기 갱신된 메인 개별 시점 비디오 스트림에 상응하는 벌크 스트림을 생성하도록 제어하는 제어모듈을 포함하는 다시점 비디오 스트리밍 시스템에 있어서,
    상기 다시점 비디오 스트리밍 시스템은,
    상기 다시점 비디오 스트리밍 시스템으로부터 상기 다시점 비디오를 제공받은 타 사용자 단말로부터 입력된 시점이동명령 히스토리에 기초하여, 상기 다시점 비디오의 각 재생 시각(time) 별 시점이동 빈번도를 결정하고,
    결정된 상기 다시점 비디오의 각 재생 시각 별 시점이동 빈번도에 기초하여, 상기 제1개수 및 상기 제2개수 중 적어도 하나를 결정하는 결정모듈을 더 포함하는 다시점 비디오 스트리밍 시스템.
  14. 서로 다른 시점에서 촬영된 복수의 개별 시점 비디오로 구성되는 다시점 비디오를 사용자 단말로 스트리밍하기 위한 다시점 비디오 스트리밍 시스템으로서,
    상기 사용자 단말에 디스플레이 중 메인 개별 시점 비디오 스트림에 상응하는 벌크 스트림을 생성하는 스트림생성모듈-여기서, 상기 벌크 스트림은 상기 메인 개별 시점 비디오 스트림, 상기 메인 개별 시점 비디오 스트림과 제1방향으로 인접한 소정의 제1개수만큼의 제1방향 인접 개별 시점 스트림, 및 상기 메인 개별 시점 비디오 스트림과 제2방향으로 인접한 소정의 제2개수만큼의 제2방향 인접 개별 시점 스트림을 포함하며, 상기 제2방향은 상기 제1방향과 반대 방향임-; 및
    생성된 상기 벌크 스트림을 상기 사용자 단말로 스트리밍하는 스트리밍모듈을 포함하는 다시점 비디오 스트리밍 시스템에 있어서,
    상기 다시점 비디오 스트리밍 시스템은,
    미리 설정된 상기 다시점 비디오의 각 재생 시각 별 인접 시점 비디오 개수에 기초하여, 상기 제1개수 및 상기 제2개수 중 적어도 하나를 결정하는 결정모듈을 더 포함하는 다시점 비디오 스트리밍 시스템.
  15. 서로 다른 시점에서 촬영된 복수의 개별 시점 비디오로 구성되는 다시점 비디오를 사용자 단말로 스트리밍하기 위한 다시점 비디오 스트리밍 시스템으로서,
    상기 사용자 단말에 디스플레이 중 메인 개별 시점 비디오 스트림에 상응하는 벌크 스트림을 생성하는 스트림생성모듈-여기서, 상기 벌크 스트림은 상기 메인 개별 시점 비디오 스트림, 상기 메인 개별 시점 비디오 스트림과 제1방향으로 인접한 소정의 제1개수만큼의 제1방향 인접 개별 시점 스트림, 및 상기 메인 개별 시점 비디오 스트림과 제2방향으로 인접한 소정의 제2개수만큼의 제2방향 인접 개별 시점 스트림을 포함하며, 상기 제2방향은 상기 제1방향과 반대 방향임-; 및
    생성된 상기 벌크 스트림을 상기 사용자 단말로 스트리밍하는 스트리밍모듈을 포함하는 다시점 비디오 스트리밍 시스템에 있어서,
    상기 다시점 비디오 스트리밍 시스템은,
    상기 복수의 개별 시점 비디오를 복수의 벌크 데이터에 분할하여 저장하는 저장모듈-여기서, 하나의 벌크 데이터는 복수의 서로 인접한 개별 시점 비디오를 포함함-; 및
    가장 최근에 수신된 시점이동명령의 수신 시각으로부터의 경과 시간, 시점이동명령의 시간당 수신율, 상기 다시점 비디오 스트리밍 시스템과 상기 사용자 단말 간의 데이터 전송 속도, 상기 다시점 비디오 스트리밍 시스템에 가해지는 부하, 또는 상기 다시점 비디오 스트리밍 시스템으로부터 스트리밍 서비스를 받고 있는 단말의 개수 중 적어도 하나에 기초하여, 벌크 데이터를 스트리밍할 지 여부를 판단하는 제어모듈을 더 포함하고,
    상기 스트리밍모듈은,
    상기 제어모듈이, 벌크 데이터를 스트리밍해야 하는 것으로 판단한 경우, 상기 복수의 벌크 데이터 중 상기 사용자 단말에 디스플레이 중인 메인 개별 시점 비디오를 포함하는 제1 벌크 데이터에 상응하는 제1 벌크 스트림을 상기 사용자 단말로 스트리밍하는 다시점 비디오 스트리밍 시스템.
  16. 제15항에 있어서, 상기 다시점 비디오 스트리밍 시스템은,
    상기 제1벌크 스트림을 스트리밍하는 중에 시점이동명령을 수신하는 명령수신모듈;
    상기 시점이동명령에 응답하여, 상기 사용자 단말에 디스플레이 중인 메인 개별 시점 비디오 스트림의 순번을 갱신하고, 갱신된 상기 메인 개별 시점 비디오 스트림의 순번에 기초하여 상기 제1 벌크 스트림과 인접한 제2 벌크 스트림의 전송 여부를 판단하는 제어모듈을 더 포함하며,
    상기 스트리밍모듈은,
    상기 제어모듈이, 상기 제2벌크 스트림을 전송해야 하는 것으로 판단한 경우, 상기 사용자 단말로 상기 제2 벌크 스트림을 더 스트리밍하는 다시점 비디오 스트리밍 시스템.
PCT/KR2014/006794 2013-07-25 2014-07-25 다시점 비디오 스트리밍 시스템 및 그 제공방법 Ceased WO2015012632A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2013-0088119 2013-07-25
KR1020130088119A KR101399951B1 (ko) 2013-07-25 2013-07-25 다시점 비디오 스트리밍 시스템 및 그 제공방법

Publications (1)

Publication Number Publication Date
WO2015012632A1 true WO2015012632A1 (ko) 2015-01-29

Family

ID=51131260

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/006794 Ceased WO2015012632A1 (ko) 2013-07-25 2014-07-25 다시점 비디오 스트리밍 시스템 및 그 제공방법

Country Status (2)

Country Link
KR (1) KR101399951B1 (ko)
WO (1) WO2015012632A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110741648A (zh) * 2017-06-29 2020-01-31 4D自由视角公司 用于多频道画像的传输系统及其控制方法、多频道画像的播放方法及其装置
CN113949884A (zh) * 2021-09-02 2022-01-18 北京大学深圳研究生院 多视点视频数据处理方法、设备及存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101973190B1 (ko) * 2017-12-12 2019-08-26 포디리플레이코리아 주식회사 다채널 영상을 위한 전송 시스템 및 이의 제어 방법
KR102213073B1 (ko) * 2019-08-07 2021-02-08 포디리플레이코리아 주식회사 영상기반 다시점 촬영 시스템 및 이의 제어 방법
CN113572975B (zh) * 2020-04-29 2023-06-06 华为技术有限公司 视频播放方法、装置及系统、计算机存储介质
KR102832394B1 (ko) 2022-11-08 2025-07-11 한국전자통신연구원 다시점 스트리밍을 위한 하이브리드 다운로드 방법 및 장치, 다시점 스트리밍 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090057250A (ko) * 2006-08-18 2009-06-04 광주과학기술원 다시점 비디오에서 전역변이를 이용하여 상이한 시점의 화면들을 압축 또는 복호하는 인코더와 인코딩하는 방법 및디코더와 디코딩하는 방법
KR100924170B1 (ko) * 2006-12-04 2009-10-28 한국전자통신연구원 전송 효율을 높이기 위한 다시점 파노라믹 콘텐츠 송/수신시스템 및 그 방법
JP2012094990A (ja) * 2010-10-25 2012-05-17 Duse Technologies Co Ltd 視点連動画像表示システム
JP5029062B2 (ja) * 2007-02-26 2012-09-19 富士通株式会社 多視点動画像伝送システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090057250A (ko) * 2006-08-18 2009-06-04 광주과학기술원 다시점 비디오에서 전역변이를 이용하여 상이한 시점의 화면들을 압축 또는 복호하는 인코더와 인코딩하는 방법 및디코더와 디코딩하는 방법
KR100924170B1 (ko) * 2006-12-04 2009-10-28 한국전자통신연구원 전송 효율을 높이기 위한 다시점 파노라믹 콘텐츠 송/수신시스템 및 그 방법
JP5029062B2 (ja) * 2007-02-26 2012-09-19 富士通株式会社 多視点動画像伝送システム
JP2012094990A (ja) * 2010-10-25 2012-05-17 Duse Technologies Co Ltd 視点連動画像表示システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110741648A (zh) * 2017-06-29 2020-01-31 4D自由视角公司 用于多频道画像的传输系统及其控制方法、多频道画像的播放方法及其装置
CN113949884A (zh) * 2021-09-02 2022-01-18 北京大学深圳研究生院 多视点视频数据处理方法、设备及存储介质

Also Published As

Publication number Publication date
KR101399951B1 (ko) 2014-06-17

Similar Documents

Publication Publication Date Title
WO2015012632A1 (ko) 다시점 비디오 스트리밍 시스템 및 그 제공방법
WO2018048286A1 (en) Method and apparatus for transmitting and reproducing content in virtual reality system
WO2011062335A1 (en) Method for playing contents
WO2022211465A1 (en) Apparatus and method for providing media streaming
WO2021096233A1 (en) Electronic apparatus and control method thereof
JP2006174309A (ja) 動画再生装置、プログラム、及び記録媒体
WO2020105979A1 (en) Image processing apparatus and control method thereof
WO2016080585A1 (en) System and method for providing cloud based user interfaces
WO2021080290A1 (en) Electronic apparatus and control method thereof
WO2016010319A2 (ko) 클라우드 스트리밍 서비스 시스템, 메모리 병목 현상을 방지하기 위한 데이터 압축 방법 및 이를 위한 장치
WO2019013415A1 (ko) Vr 콘텐츠에 대한 라이브 스트리밍 방법 및 시스템
WO2020149607A1 (en) Display apparatus and control method thereof
WO2023075563A1 (ko) 피쳐 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
JP7795011B2 (ja) 表示制御方法、装置、電子機器、記憶媒体、及びプログラム
WO2013180348A1 (ko) 화면 가상화 기반 애플리케이션 구동 시스템 및 방법
WO2019050067A1 (ko) 비디오 품질 제어
WO2021137626A1 (en) Display apparatus and method of controlling the same
WO2019156380A1 (ko) 디스플레이 장치 및 그 제어 방법
WO2023043057A1 (ko) 화면들 및 화면들에 대응하는 오디오 신호들을 공유하기 위한 전자 장치 및 그 방법
WO2022060007A1 (ko) 엣지 컴퓨팅 서비스를 이용한 동영상 처리 방법 및 장치
EP3797346A1 (en) Display apparatus and method for controlling thereof
WO2017164547A1 (ko) 몰입성 이벤트 기반 컨텐츠 가중치 조정 시스템 및 이를 이용한 컨텐츠 가중치 조정방법
WO2021172941A1 (ko) 영상 스트리밍 방법 및 이를 지원하는 전자 장치
WO2020122554A1 (en) Display apparatus and method of controlling the same
WO2022060013A1 (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: 14830293

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 13/05/2016)

122 Ep: pct application non-entry in european phase

Ref document number: 14830293

Country of ref document: EP

Kind code of ref document: A1