WO2021096159A1 - 라이브 비디오 수집 시스템 및 방법 - Google Patents

라이브 비디오 수집 시스템 및 방법 Download PDF

Info

Publication number
WO2021096159A1
WO2021096159A1 PCT/KR2020/015370 KR2020015370W WO2021096159A1 WO 2021096159 A1 WO2021096159 A1 WO 2021096159A1 KR 2020015370 W KR2020015370 W KR 2020015370W WO 2021096159 A1 WO2021096159 A1 WO 2021096159A1
Authority
WO
WIPO (PCT)
Prior art keywords
live video
super
patch
resolution
quality
Prior art date
Application number
PCT/KR2020/015370
Other languages
English (en)
French (fr)
Inventor
한동수
김재홍
정영목
여현호
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020200104886A external-priority patent/KR102338986B1/ko
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to EP20855895.7A priority Critical patent/EP4060998A4/en
Priority to US17/265,680 priority patent/US11877018B2/en
Publication of WO2021096159A1 publication Critical patent/WO2021096159A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/2187Live feed
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2385Channel allocation; Bandwidth allocation
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/251Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • 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/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Definitions

  • the present disclosure relates to a live video collection system and method.
  • a live video streaming system is divided into an ingest side and a distribution side.
  • a streamer processes (eg, encodes) a live video shot using a capture device such as a camera and transmits it to a media server.
  • a capture device such as a camera
  • the live video transmitted to the media server must be a high-resolution video. Accordingly, the quality of the streaming service depends on the live video transmission environment of the streamer, such as bandwidth, the computing capacity of the streamer terminal, and the like.
  • the content distribution server receives the live video from the media server and transmits the live video to each terminal of the viewer requesting the streaming service.
  • the content distribution server performs adaptive bitrate streaming in consideration of the resolution or video transmission environment requested by the viewer.
  • the media server receives only low-resolution live video, so that the resolution of the video uploaded to the media server is determined. There were limitations.
  • Non-Patent Document 1 studies on neural-enhanced video, which super-resolution video based on a neural network, have been conducted (see Non-Patent Document 1).
  • the conventional neural-enhanced video research is a method of providing a video on demand (VOD) service using a pre-trained neural network model (refer to Non-Patent Documents 1 and 2), so that live video must be collected and distributed in real time. There is a problem that is difficult to apply to streaming services.
  • VOD video on demand
  • Non-Patent Document 1 Hyunho Yeo, Youngmok Jung, Jaehong Kim, Jinwoo Shin, and Dongsu Han, 2018. Neural adaptive content-aware internet video delivery. In 13th ⁇ USENIX ⁇ Symposium on Operating Systems Design and Implementation ( ⁇ OSDI ⁇ 18). 645-661.
  • Non-Patent Document 2 M. Dasari, A. Bhattacharya, S. Vargas, P. Sahu, A. Balasubramanian, and S. R. Das. 2020.Streaming 360 Videos using Super-resolution. In Proceedings of the IEEE International Conference on Computer Communications (INFOCOM).
  • Non-Patent Document 3 Xiaoqi Yin, Abhishek Jindal, Vyas Sekar, and Bruno Sinopoli. 2015. A control theoretic approach for dynamic adaptive video streaming over HTTP. In Proceedings of the 2015 ACM Conference on Special Interest Group on Data Communication, 325-338.
  • the present disclosure transmits a patch corresponding to a part of a live video frame with a live video in order to provide a high-resolution live video in real time without depending on the transmission environment of the streamer and the performance constraints of the terminal.
  • a system and method to super-resolution live video by dividing the bandwidth and transmitting each to the media server, and by online learning a super resolution model based on a deep neural network based on a patch. It has the main purpose of presenting.
  • a live video ingest system for real-time streaming in a live video generated by a capture device, Performing transmission by sampling a patch, which is a fraction of the frame of the live video, and allocating a bandwidth for transmitting the sampled patch and a bandwidth for transmitting the live video.
  • An ingest device And receiving the sampled patch and the live video from the ingest device, and online learning a super resolution model (SR model) based on a deep neural network based on the sampled patch ( online learning) and super-resolution processing the live video using the super-resolution model.
  • SR model super resolution model
  • the ingest device includes a patch sampler for sampling a patch that is a fraction of the original frame from a raw frame of the live video. ; And a quality-optimizing scheduler that allocates all or part of an available bandwidth as a bandwidth for transmitting the sampled patch and a bandwidth for transmitting the live video,
  • the media server includes: a content-adaptive trainer for online training of the super-resolution model based on the sampled patch as a ground-truth value; And a super resolution processor that super-resolutions the live video using the super-resolution model.
  • the live video ( live video); Receiving, by an ingest device, an original frame of the live video from the photographing device and sampling a fraction of the original frame as a patch; Allocating, by the ingest device, all or part of an available bandwidth as a bandwidth for transmitting the sampled patch and the live video to a media server; Receiving, by a media server, the live video and the sampled patch from the ingest device; Online learning, by the media server, of a deep neural network-based super resolution model (SR model) using the sampled patch as a ground-truth value; And super-resolution processing the live video by the media server using the super-resolution model.
  • SR model deep neural network-based super resolution model
  • the quality optimization scheduler includes: a bandwidth measurement unit estimating the available bandwidth; And a bandwidth allocating unit allocating all or part of the available bandwidth by calculating a bandwidth for transmitting the sampled patch and a bandwidth for transmitting the live video.
  • the content adaptive trainer is a live video collection that trains the super-resolution model by assigning a larger weight to the K most recent patches preset among the sampled patches compared to the remaining patches.
  • the content adaptive trainer monitors a quality gain according to the learning of the super-resolution model to obtain quality gain saturation (quality gain).
  • a saturation detector for detecting saturation
  • a learning unit for learning the super-resolution model in consideration of the gain saturation
  • a change detector configured to detect a scene change of the live video.
  • an ingest device divides a patch corresponding to a part of a frame of a live video and a live video, and transmits the patch together with the live video to the media server, and the media server correctly answers the transmitted patch
  • a live video collection system and method that super-resolutions the transmitted live video by online learning a Deep Neural Network-based Super Resolution model as a value (ground-truth). Provides.
  • the live video collection system of an embodiment of the present disclosure overcomes the influence of the streamer's transmission environment such as bandwidth and network congestion that impairs the quality of the streaming service, and has limitations in computing power and power capacity.
  • the media server instead of the terminal, there is an effect of providing a high-resolution live video regardless of the environment of each end-to-end of a streamer and a viewer.
  • the ingest device of the live video collection system schedules a bandwidth for transmitting a live video and a bandwidth for transmitting a patch, so that the viewer does not transmit the high-resolution live video at the streamer end. It has the effect of being able to provide high-resolution live video to users.
  • the super-resolution of the live video collection system is performed by online learning of a deep neural network-based super-resolution model using a high-resolution patch obtained from the live video as a correct answer value. It is adaptive to the performance of the model that has been fed back according to the epoch corresponding to the training time, and has the effect of stably providing a high-performance streaming service compared to a model based on a previously trained neural network.
  • the super-resolution model according to an embodiment of the present disclosure varies the transmission bit rate of the patch according to the saturation of the quality gain according to training or the scene change of the live video. In addition, there is an effect of performing super-resolution adaptively to content that changes in real time.
  • 1 is a graph showing the performance of a learning method employed by a super-resolution model according to an embodiment of the present disclosure.
  • FIG. 2 is a conceptual diagram schematically illustrating a live video collection system according to an embodiment of the present disclosure.
  • FIG. 3 is a conceptual diagram illustrating a patch selection process according to an embodiment of the present disclosure.
  • FIG. 4 is an exemplary diagram for calculating an approximate value of an expected quality gain of a super-resolution model according to an embodiment of the present disclosure.
  • FIG. 5 is a graph showing the performance for each content of a live video collection system according to an embodiment of the present disclosure.
  • FIG. 6 is an exemplary diagram of quality gain saturation and scene change detection according to an embodiment of the present disclosure.
  • FIG. 7 is a graph showing QoE performance of a live video collection system according to an embodiment of the present disclosure.
  • FIG. 8 is a flowchart illustrating a live video collection process according to an embodiment of the present disclosure.
  • FIG. 9 is a graph illustrating a GPU usage time used for learning of a live video collection system according to an embodiment of the present disclosure.
  • first, second or (a), (b) may be used. These terms are for distinguishing the constituent element from other constituent elements, and the nature, order, or order of the constituent element is not limited by the term.
  • a part'includes' or'includes' a certain element it means that other elements may be further included rather than excluding other elements unless otherwise stated.
  • the'... Terms such as'sub' and'module' mean a unit that processes at least one function or operation, which may be implemented by hardware or software, or a combination of hardware and software.
  • a patch corresponding to a fraction of each live video frame in frames of live video is provided with a live video and a transmission bandwidth.
  • SR model deep neural network-based super resolution model
  • the ingest device in the present disclosure is a streamer terminal or device, and is used for convenience of description.
  • the ingest device includes all or part of a camera, a video encoder, and a pacer, which are common devices required to shoot live video and transmit it to a media server, or each device is It may be implemented as a module in the test device.
  • the ingest device in the present disclosure is only used to describe the interaction with the live video collection system of the present disclosure or each device included in the live video collection system, but does not constitute the present disclosure.
  • the media server in the present disclosure is a device that super-resolution live video and transmits it to a content distribution server or to a viewer terminal according to an embodiment of the present disclosure. It is only used for the purpose, and does not constitute an embodiment according to the present disclosure.
  • Such a media server may be implemented as a module in a cloud environment as well as a device, but is not limited thereto.
  • 1 is a graph showing the performance of a learning method employed by a super-resolution model according to an embodiment of the present disclosure.
  • Super resolution is a data processing method that converts a low resolution (LR) image or video into a high resolution (HR) image or video.
  • simple upscaling eg, bilinear upscaling
  • content-aware DNN complex content-aware deep neural networks
  • SR model super-resolution model using online learning based on a deep neural network (DNN) is disclosed.
  • online learning means training a model based on continuously changing training data.
  • the super-resolution model of the present disclosure iteratively learns a patch, which is a fraction of a continuously changing video frame, as training data. With this iterative learning, neural-enhanced learning is achieved that enhances the deep neural network based on the super-resolution model.
  • the patch according to an embodiment of the present disclosure may be a ground-truth value in learning a super-resolution model due to a high resolution compared to an encoded frame and a small data size. Makes the transfer easier.
  • the learning timing of the super-resolution model is determined in consideration of quality gain saturation of the model or scene change of a live video.
  • Learning difficulty of a super-resolution model according to an embodiment of the present disclosure may vary depending on a dynamic degree, a length, a scaling factor, and the like of a video to be trained.
  • the scaling factor refers to how high-resolution video, which is an input value, is converted into a high-definition video and output. For example, outputting a video with a resolution of 720p as a 4K (or Ultra High Definition (UHD)) resolution video The scaling factor for this is 3.
  • the online learning-based super-resolution method has higher PSNR than other super-resolution methods, bilinear upscaling, and a super-resolution method using a neural network that is pre-trained for each content. It shows (Peak-Signal-to-Noise Ration) performance.
  • the PSNR gain in Fig. 1B is a quality gain additionally obtained by online learning a super-resolution model with a ground-truth extracted from a live video frame.
  • a super-resolution model is trained by cropping a portion corresponding to 5% of each frame extracted at 0.5 fps of a 1080p video, a certain level of PSNR gain can be obtained.
  • the increase in the PSNR gain is not large from the section in which the frame cutting ratio is 5% or more.
  • the PSNR gain decreased by -0.27 db due to overlapping learning.
  • the super-resolution model of the present disclosure is learned through several steps based on a small amount of training data in the super-resolution processing, so that a high level of super-resolution is performed as shown in FIGS. 1A and 1B. It is to have performance.
  • FIG. 2 is a conceptual diagram schematically illustrating a live video collection system according to an embodiment of the present disclosure.
  • an ingest device that samples a patch from a live video and transmits it to a media server along with the live video, and a deep neural network based super-resolution based on the sampled patch It includes a media server that conducts online training of the model and super-resolution processing of live video by using a super-resolution model before, during, and after training.
  • the ingest device includes a patch sampler (200), a quality optimizing scheduler (210), a capture device (240), a video encoder (250), and a pacer. 260), and the media server includes all or part of a content adaptive trainer 220 and a super resolution processor 230.
  • FIG. 2 is according to an embodiment of the present disclosure, and not all components shown in FIG. 2 are essential components, and some components are added, changed, or deleted in other embodiments. Can be.
  • the photographing device 240, the video encoder 250, and the pacer 260 according to another embodiment of the present disclosure may be implemented as external devices and may not be included in the ingest device.
  • the above-described components of the live video collection system 20 may be implemented as devices or modules that perform functions of each component.
  • the patch sampler 200 and the quality optimization scheduler 210 are shown to be included in the ingest device, but in other embodiments, each function is not included in the ingest device and communicates with other components of the ingest device. To perform, it may be implemented as an independent device or a module included in the device.
  • the patch sampler 200 samples a patch from a live video captured by the photographing device 240 in real time.
  • the patch sampler 200 includes all or part of a video receiver 202, a sampler 204, and a patch manager 206.
  • the patch sampler may further include a patch encoder (not shown) for encoding the sampled patch.
  • the patch sampler may further include a patch transmission buffer to perform patch sampling when the buffer is empty.
  • the video receiver 202 receives a raw frame of a captured video and/or an encoded frame of a live video from the photographing device 240.
  • the sampling unit 204 samples a portion of each original frame to generate one or more patches.
  • the sampling method of the sampling unit may be a light-weight sampling method. For example, a patch may be sampled from the most recent original frame among original frames of live video received from the video receiver 202.
  • the sampling unit 204 may perform random sampling so that there is no overlapping of patches in consideration of the grid of the entire frame.
  • the patch management unit 206 prioritizes patches of low encoding quality among the sampled patches and includes them as targets for transmission to the media server. For example, the patch management unit 206 receives the original frame of the live video and the encoded frame of the encoded live video and samples the patch in the same manner, respectively.
  • the encoding quality eg, PSNR, etc.
  • the patch sampler 200 may repeatedly perform patch sampling until the number of patches included in the transmission target reaches the minimum number of patches. The reason for including in the transmission target only when the encoding quality of the entire frame is lower than the encoding quality of the entire frame is that the super-resolution performance is better when the super-resolution model is trained based on such a patch.
  • the patch management unit 206 may compress a patch included in a transmission target in consideration of the resolution and size of the sampled patch.
  • the sampled patch must be of sufficient resolution to become the training data of the super-resolution model, and at the same time be of an appropriate size not to occupy excessive bandwidth.
  • the patch management unit 206 may reduce the size of the sampled patch to about 50% by lossless PNG compression on the sampled patch and maintain the resolution.
  • the size of the patch can be reduced to 1/10 while maintaining the quality of the patch at the 95% level by using JPEG95 compression.
  • the patch management unit 206 may include a timestamp in a patch included in the transmission target. This timestamp may be a timestamp of the original frame from which the patch was sampled.
  • the content adaptive trainer 220 may train the super-resolution model in a manner that gives a higher weight to the latest patch based on the timestamp.
  • the patch management unit 206 may further include location information on the grid of the corresponding frame.
  • the quality optimization scheduler 210 calculates an available bandwidth for transmitting patch and live video to a media server, and allocates the calculated bandwidth for patch transmission and live video transmission, respectively. do.
  • the quality optimization scheduler 210 according to an embodiment of the present disclosure includes all or part of a bandwidth estimator 212 and a bandwidth allocator 214. However, not all components shown in FIG. 2 are essential components of the quality optimization scheduler 210, and some components may be added, changed, or deleted in other embodiments.
  • the bandwidth estimating unit 212 determines the available bandwidth when the communication environment between the ingest device and the media server is constantly changing and the available bandwidth is not constant. Make an estimate. Such bandwidth estimation may be performed by probing a bandwidth in a transport layer of an ingest device communication unit (not shown). Such detection may be performed based on a packet transmission rate or an Ack arrival time difference, but is not limited thereto.
  • the bandwidth allocating unit 214 allocates all or part of the estimated available bandwidth c for patch transmission and live video transmission.
  • the allocated bandwidth is indicated based on a bitrate
  • a bit rate for transmitting a patch is indicated by p
  • a bit rate for transmitting a live video is indicated by v.
  • the bitrate of the available bandwidth at a specific point in time t is denoted by c t
  • the bit rate for patch transmission is v t
  • the bit rate for live video transmission is denoted by p t.
  • the bandwidth allocating unit 214 allocates bandwidth in consideration of the encoding quality of the live video and the expected quality gain of the super-resolution model to be learned by the transmitted patch.
  • the quality gain means the degree of performance improvement according to the learning of the super-resolution model. If the quality of the transmitted live video is too low, there is a limit to the super-resolution, and if too few patches are transmitted, the performance improvement obtained by training the super-resolution model may be small. Therefore, it is preferable that the bandwidth allocating unit 214 determines an optimal bit rate capable of maximizing both the quality of the live video and the expected quality gain. For example, this optimal bit rate can be obtained by Equation 1.
  • Is an arbitrary discount factor, Is 1 or less).
  • the first term is the quality function of the encoded live video at v t.
  • the second term is a function of the expected quality gain for the entire patch from p 0 to p t.
  • Metrics for calculating such quality include, but are not limited to, PSNR and Structural Similarity Index Measure (SSIM). Assuming that the function of each term is concave, in order to find the optimal bit rate based on Equation 1, a gradient ascent method is applied to obtain the global optimum of Equation 1. I can. Equation 2 is an equation obtained by applying the gradient ascending method to Equation 1.
  • v t+ 1 can be obtained by an operation of c t+1 -p t+1.
  • p t+ 1 may be obtained by directly calculating the gradient or instantaneous rate of change corresponding to each term in Equation 2, but p t+ 1 may be obtained by approximating each term.
  • the quality gain is information that can only be obtained from a media server that performs super-resolution processing, so bandwidth allocation.
  • the unit 214 may calculate an expected quality gain after receiving feedback on the quality gain from the media server.
  • the duration between the two points in time at which the quality gain is calculated may be set equal to the training epoch.
  • a quality gain can be obtained when sufficient training is performed based on the transmitted patch. Accordingly, the approximate value of the expected quality gain may be calculated based on the quality gain at the two most recent viewpoints that have already been received.
  • Q video (v t-1 ) it can be calculated by scaling a relative difference between NQ video (v t ) and NQ video (v t-1 ).
  • NQ video (v t ) is a quality value on a normalized quality curve at a time point v t. An example of calculating such an approximate value will be described later in FIG. 4.
  • the bandwidth allocating unit 214 may update each bit rate according to a period in which the bandwidth estimating unit 212 estimates an available bandwidth. However, such an update period is preferably long enough to obtain the online learning effect of the super-resolution model and short enough to cope with changes in the network environment. If the available bandwidth falls below the minimum encoding bitrate (e.g., when the live video acquisition system is implemented based on WebRTC, the available bandwidth falls below the minimum encoding bitrate of 200 kbps), the transmission of the patch is stopped. It is desirable to be.
  • the content adaptive trainer 220 trains the super-resolution model by using the patch received by the media server as a ground-truth value.
  • This learning is an online-based learning in that the patch is received in real time (or according to a period) and is performed for each epoch, and at the same time, it is neural-reinforced learning in that it continuously trains a super-resolution model based on a deep neural network. enhanced learning).
  • the content adaptive trainer 220 applies a weight greater than the remaining patches to the most recent K patches among the transmitted sampled patches with respect to a preset K (K is a natural number). By assigning it, the super-resolution model can be neural-reinforced learning.
  • a patch group is created by grouping patches according to the order of arrival at the media server, and each GPU resource is allocated for each patch group. It can be distributed learning by doing.
  • GPU Graphics Processing Unit
  • the content adaptive trainer 220 may include all or part of a saturation detector 222, a change detector 224, and a learning unit 226, but the configuration shown in FIG. 2 This content adaptive trainer 220 is not an essential configuration, and some configurations may be omitted, added, or changed.
  • the saturation detection unit 222 detects whether the quality gain is saturated according to the learning of the super-resolution model. When the quality gain is saturated, there is no need for additional learning by receiving the patch.
  • the algorithm for detecting the saturation of the quality gain will be described later in Table 1.
  • the change detection unit 224 detects a scene change of the received live video. At the time of scene change, since it is difficult to properly perform super-resolution with the conventional super-resolution model, it is necessary to update the super-resolution model.
  • the algorithm for detecting the scene change will be described later in Table 1.
  • Table 1 shows an algorithm corresponding by detecting a quality gain or a scene change as an embodiment of the present disclosure.
  • the quality gain saturation is when the difference between the quality gains at the two most recent points is less than the saturation limit (thresh sat ) and the patience falls below the saturation limit exceeds the preset saturation count (count sat ). I can.
  • the content adaptive trainer 220 suspends the learning of the super-resolution model and informs the ingest device of the learning interruption state.
  • the quality optimization scheduler 210 sets p to a preset minimum value (p min ) so that the patch is transmitted to the minimum. Also, patience is initialized to zero.
  • the super-resolution model When a scene change occurs while learning of the super-resolution model is stopped, the super-resolution model must be newly trained. In the case of scene change, the difference between the most recent quality gain and the initial quality gain of the super-resolution model is less than the learning limit (thresh online ) and the number of times the quality gain difference falls below the learning limit (patience) is a preset learning count (count online ) It may be the case that exceeds. In this case, the content adaptive trainer 220 resumes learning of the super-resolution model, and notifies the ingest device to resume learning. This resumption can be performed by initializing some or all of the super-resolution model and retraining based on the most recently received patch. The quality optimization scheduler 210 sets p to a preset initial value p init . The patience is initialized to zero.
  • the learning unit 226 trains the super-resolution model to output an output value obtained by super-resolving the input patch by using the patch as an input value.
  • This learning can be performed for each epoch, which is a unit of learning time.
  • learning may be stopped, and the stopped learning may be resumed when there is a scene change of a live video.
  • the learning may be stopped by allocating the available GPU resources to the minimum or not allocating the GPU resources.
  • the initial training data of the initialized super-resolution model may be a result of training by another live video or a standard benchmark dataset created for video super-resolution processing.
  • the super-resolution processor 230 super-resolutions the live video based on the learned super-resolution model. This super-resolution is performed frame by frame, and may be performed according to the frame order of the received live video.
  • distributed super-resolution may be performed by dividing each frame, which is a target for performing super-resolution, according to the number of available GPU resources. That is, it is possible to perform super-resolution by allocating a GPU for each divided frame, and aggregate it into a single super-resolution-processed video.
  • the super-resolution model used by the super-resolution processor may be updated according to a predetermined period, and such an update period may be determined by an epoch period in which the content adaptive trainer 220 learns. .
  • the live video system 20 enables the ingest device (or streamer device) to transmit low-resolution live video as the media server performs super-resolution processing.
  • the media server fluidly manages GPU resources used for the content adaptive trainer 220 and the super-resolution processor 230.
  • the live video system 20 can provide streaming services of various resolutions that meet the needs of viewers even with little power and use of GPU resources.
  • FIG. 3 is a conceptual diagram illustrating a patch selection process according to an embodiment of the present disclosure.
  • live video generated by a streamer's shooting tool is compressed and encoded by a video encoder.
  • the patch sampler receives the original and encoded frames of the live video.
  • the patch sampler divides each frame according to a grid and samples patches respectively.
  • the patch sampler upscales (for example, bilinear upscaling) the patch sampled from the encoded frame, and calculates the degree of damage corresponding to the patch sampled from the original frame.
  • the degree of damage may be calculated based on PSNR or SSIM, but is not limited thereto.
  • the patch sampler determines the actual patches to be transmitted in the order of the greatest degree of damage. Patches to be actually transmitted are patches sampled from the original frame.
  • the patches to be transmitted are compressed and then transmitted to the media server by the patch pacer. At this time, it is transmitted using the bandwidth divided by the quality optimization scheduler.
  • FIG. 4 is an exemplary diagram for calculating an approximate value of an expected quality gain of a super-resolution model according to an embodiment of the present disclosure.
  • Fig. 4 shows a graph of a live video quality function (lowest line), a quality gain function (middle line), and an overall quality graph (topmost line) that is a summation of the two.
  • the approximate value of the quality gain function can be obtained by calculating the gradient of the expected quality gain at the two recent times (t-1, t-2) that the quality optimization scheduler received feedback from.
  • t-1, t-2 One example of calculating the gradient of the expected quality gain is as in Equation 3.
  • the encoding quality of live video can be obtained directly from the ingest device, it can be obtained by calculating the gradient of the encoding quality values of the two most recent views (t, t-1) including the present.
  • One example of calculating the gradient of the encoding quality is as shown in Equation 4.
  • 5 is a graph showing the performance for each content of the live video collection system of the present disclosure.
  • the performance evaluation in FIG. 5 includes a case of using the live video collection system (LiveNas of FIG. 5) according to the present disclosure in an environment where bandwidth is limited (10 Mbps or less) and a super-resolution model based on an offline-based pre-trained neural network ( FIG. 5 shows the PSNR of the live video in the case of using the pre-trained), the general neural network model (generic in Fig. 5) and the vanilla WebRTC (WebRTC in Fig. 5). It has super-resolution 360p and 540p Twitch video to 1080p, and 720p and 1080p YouTube video to 4K, and two Geforce RTX GPUs that can be used by the media server. 2080 Ti was used. PSNR was used as the quality metric.
  • 5A is a performance graph of super-resolution Twitch video. As shown in (a) of FIG. 5, it can be seen that the absolute quality when using the live video collection system of the present disclosure is the highest in super-resolution to the target resolution at both 360 p and 540 p.
  • (b) of FIG. 5 is a performance graph obtained by super-resolution of YouTube video.
  • the absolute quality is the highest when using a live video acquisition system.
  • This absolute quality difference was 0.81 dB to 3.04 dB higher than that of vanilla WebRTC, and 0.11 dB to 1.93 dB higher than that of a general neural network model.
  • the pre-trained neural network model tended to be 0.6 dB ⁇ 1.14 dB higher.
  • the performance of the live video collection system according to the present disclosure is generally higher than that of the conventional model in a limited bandwidth environment.
  • FIG. 6 is an exemplary diagram of quality gain saturation and scene change detection according to an embodiment of the present disclosure.
  • 6 is a graph showing GPU usage for each timeline when the live video collection system of the present disclosure is actually used for Twitch broadcasting. 6 shows that the content adaptive trainer of the present disclosure adaptively uses a GPU for super-resolution of real-time broadcasting.
  • FIG. 7 is a graph showing QoE performance of a live video collection system according to an embodiment of the present disclosure.
  • the live video collection system of the present disclosure is a system on the ingest side, but enhances the Quality of Experience (QoE) on the distribution side.
  • QoE Quality of Experience
  • FIG. 7 shows QoE performance of the live video collection system of the present disclosure compared to webRTC based on a conventional ABR algorithm (Adaptive Bitrate algorithm) used in a viewer terminal.
  • ABR algorithm Adaptive Bitrate algorithm
  • Pensieve's simulator was used, and the environment setting to which the conventional ABR algorithm is applied was also used with Pensieve's.
  • ABR algorithms used for performance evaluation Pensieve and robustMPC (refer to Non-Patent Document 3) were used, respectively.
  • 7A and 7B show the average QoE of each trace.
  • the live video collection system of the present disclosure improves QoE by 27% to 69% compared to that using WebRTC when super-resolution from 540 p video to 1080 p video. .
  • the live video collection system of the present disclosure improves QoE by 12% to 66% compared to WebRTC when super-resolution from 1080p video to 4K video. That is, it can be seen that the QoE performance of the live video collection system of the present disclosure is always better regardless of the ABR algorithm employed by WebRTC.
  • Such excellent QoE performance is that when using the live video collection system of the present disclosure, video chunks of higher resolution can be transmitted to viewers with abundant bandwidth, and video chunks are super-resolution in the media server, resulting in relatively higher quality chunks. It is interpreted as being able to transmit.
  • FIG. 8 is a flowchart illustrating a live video collection process according to an embodiment of the present disclosure.
  • the patch sampler receives the original frame of the live video in real time (S802).
  • the patch sampler may also receive an encoded frame of a live video in order to use it to compare the encoding quality of the patch and the encoding quality of the entire frame in the future (S802).
  • the patch sampler samples a patch that is a part of the entire frame from each received original frame (S804).
  • the patch sampler compares the encoding quality of the entire frame with the encoding quality of the sampled patch, and includes the sampled patch to the transmission target to the media server only when the encoding quality of the sampled patch is lower (S806).
  • the quality optimization scheduler estimates an available bandwidth according to a preset period or necessity irrespective of the patch sampler (S810). That is, steps S802 to S806 of the patch sampler occur independently from steps S810 to S816 of the quality optimization scheduler, and both steps may be performed in parallel.
  • the quality optimization scheduler receives the quality gain of the previous time point (t-1, t-2) of the super-resolution model from the content adaptive trainer.
  • the reception of the quality gain may occur even before step S810, and the step of receiving the quality gain at the time t-1 and the step of receiving the quality gain at the time t-2 may occur at different times. This is because the quality gain is received according to the feedback period of the quality optimization scheduler.
  • the quality optimization scheduler calculates a gradient (or slope) based on the received quality gain (S814).
  • the quality optimization scheduler calculates the encoding quality of the live video at the time point t and t-1 to obtain a gradient (or slope) of the quality function (S816). This slope may be obtained by a method of calculating an average rate of change.
  • step S816 does not necessarily come after step S814, and both steps may be performed in parallel or in the reverse order according to the computing resources of the quality optimization scheduler. When performed in the reverse order, step S812 does not necessarily have to precede S816.
  • the quality optimization scheduler calculates optimal bit rates for transmitting the patch and live video, respectively, based on the calculations in steps S814 and S816 (S818).
  • the content adaptive trainer trains the super-resolution model by receiving the patch, and detects quality gain saturation during training. Learning is stopped, and learning is resumed when a scene change is detected, so that the super-resolution model is adaptively trained in the live video.
  • the super-resolution processor super-resolutions the low-resolution live video received from the ingest device in real time into a high-resolution video (S822).
  • the super-resolution model used for super-resolution of live video is updated periodically or as needed according to the learning of the content adaptive trainer.
  • FIG. 8 it is described that each process is sequentially executed, but this is merely illustrative of the technical idea of an embodiment of the present disclosure. In other words, if a person of ordinary skill in the technical field to which an embodiment of the present disclosure pertains, the order shown in FIG. 8 is changed and executed or at least one of each process is performed without departing from the essential characteristics of an embodiment of the present disclosure. Since it is executed in parallel and can be applied by various modifications and variations, it is not limited to the time series order of FIG. 8.
  • FIG. 9 is a graph illustrating a GPU usage time used for learning of a live video collection system according to an embodiment of the present disclosure.
  • 9A to 9C illustrate efficient resource use of a live video collection system according to an embodiment of the present disclosure.
  • 9A and 9B show the GPU usage time used for learning of the live video collection system compared to the total streaming time of the live video.
  • 9(c) shows a case where a live video collection system (LiveNAS) according to an embodiment of the present disclosure is trained on a general WebRTC (A), a deep neural network model is trained once at a time determined according to saturation of the quality gain.
  • B the case where the deep neural network model is trained once for the first time
  • D the GPU used for training is used during the entire streaming time. It shows the quality of live video (PSNR) over time.
  • the learning time of one learning is 60 seconds.
  • FIG. 9A shows the GPU usage time of the super-resolution model used to super-resolution processing 360p live video and 540p live video into 1080p video, respectively.
  • FIG. 9B is a GPU usage time used to super-resolution processing 720p live video and 1080p live video into 4K video.
  • the GPU usage time used for training the super-resolution model according to an embodiment of the present disclosure is only about 35% on average compared to the total streaming time of the live video. can confirm. This time saving means that the content adaptive trainer has performed adaptive learning reflecting the learning difficulty. As described above, the learning difficulty varies depending on the degree of change, length, and scaling factor of the video to be learned.
  • the GPU usage time and video quality of the live video system are compared with the GPU usage time and video quality of the deep neural network model (D) that has been continuously trained, and a similar level of video quality is obtained from the deep neural network. It can be seen that this was achieved using only about 25% of the GPU usage time of model (D).
  • the video quality of the live video system is always compared to each video quality of WebRTC(A), the deep neural network model trained at the time of quality gain saturation (B) and the deep neural network model (C) trained once for the first time, regardless of the content. It can be seen that it is high.
  • the live video system according to an embodiment of the present disclosure performs high-quality super-resolution processing even with the use of small hardware resources.
  • Various implementations of the systems, schedulers, samplers, trainers, processors, and other devices and techniques described herein include digital electronic circuits, integrated circuits, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), and computer hardware. , Firmware, software, and/or a combination thereof. These various implementations may include being implemented as one or more computer programs executable on a programmable system.
  • the programmable system includes at least one programmable processor (which may be a special purpose processor) coupled to receive data and instructions from and transmit data and instructions to and from a storage system, at least one input device, and at least one output device. Or a general purpose processor).
  • Computer programs (which are also known as programs, software, software applications or code) contain instructions for a programmable processor and are stored on a "computer-readable recording medium".
  • the computer-readable recording medium includes all types of recording devices that store data that can be read by a computer system. These computer-readable recording media are non-volatile or non-transitory such as ROM, CD-ROM, magnetic tape, floppy disk, memory card, hard disk, magneto-optical disk, storage device, etc. It may further include a transitory medium such as a medium or a data transmission medium. In addition, the computer-readable recording medium may be distributed over a computer system connected through a network, so that computer-readable codes may be stored and executed in a distributed manner.
  • the computer includes a programmable processor, a data storage system (including volatile memory, nonvolatile memory, or other types of storage systems or combinations thereof), and at least one communication interface.
  • the programmable computer may be one of a server, a network device, a set-top box, an embedded device, a computer expansion module, a personal computer, a laptop, a personal data assistant (PDA), a cloud computing system, or a mobile device.
  • PDA personal data assistant

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 개시는 라이브 비디오(live video)를 실시간으로 제공하기 위하여, 라이브 비디오 프레임의 일부에 해당하는 패치(patch)를 라이브 비디오와 전송 대역폭을 나누어 미디어 서버로 각각 전송하고, 심층신경망(Deep Neural Network) 기반의 초해상화 모델(Super Resolution model)을 패치를 기초로 온라인 학습online learning)시킴으로써 라이브 비디오를 초해상화하는 시스템 및 방법을 제시한다. {대표도: 도 2}

Description

라이브 비디오 수집 시스템 및 방법
본 개시는 라이브 비디오 수집 시스템 및 방법에 관한 것이다.
이하에 기술되는 내용은 단순히 본 개시와 관련되는 배경 정보만을 제공할 뿐 종래기술을 구성하는 것이 아니다.
라이브 비디오 스트리밍 시스템(live video streaming system)은 수집 측면(ingest side)과 분배 측면(distribution side)으로 나뉜다.
수집 측에서 스트리머(streamer)는 카메라 등의 촬영 장치(capture device)를 이용하여 라이브 비디오를 촬영한 것을 처리(예: 인코딩)하여 미디어 서버(media server)로 전송한다. 이때, 고해상도의 스트리밍 서비스가 제공되기 위해서는 미디어 서버로 전송되는 라이브 비디오가 고해상도의 비디오여야 한다. 따라서, 스트리밍 서비스의 퀄리티(quality)는 스트리머의 라이브 비디오 전송 환경, 예컨대 대역폭(bandwidth), 스트리머 단말의 연산 용량(computing capacity) 등에 의해 좌우된다.
분배 측면에서, 콘텐트 분배 서버(content distribution server)는 미디어 서버로부터 라이브 비디오를 받아 스트리밍 서비스를 요청하는 시청자의 각 단말로 라이브 비디오를 전송한다. 사용자의 QoE(Quality of Experience)를 최적화하기 위해 콘텐트 분배 서버는 시청자가 요청한 해상도 또는 비디오 전송 환경을 고려하는 적응적 비트레이트 스트리밍(adaptive bitrate streaming)을 수행한다. 그러나 적응적 비트레이트 스트리밍만으로는 시청자가 요청하는 해상도의 라이브 비디오를 실시간으로 제공하는 데 어려움이 있었다. 종래에는 스트리머 장치의 라이브 비디오 전송 대역폭이 충분하지 않은 경우, 또는 스트리머 장치의 인코딩 연산 용량에 한계가 있는 경우, 미디어 서버는 저해상도의 라이브 비디오만을 전송받게 되어 미디어 서버에 업로드 되는 비디오의 해상도에 제한이 있었다. 그에 따라 적응적 비트레이트 스트리밍이 제공할 수 있는 비디오 해상도의 선택지가 제한적이게 되고, 시청자 단말이 수신하는 비디오의 해상도 역시 제한적이게 되는 문제가 있었다. 이 경우 시청자 단말이 고해상도의 비디오를 수신할 수 있는 대역폭이 충분하더라도, 시청자로 하여금 고해상도의 비디오를 시청할 기회를 박탈하게 된다.
한편, 최근에는 신경망(neural network)을 기반으로 비디오를 초해상화하는, 신경-강화 비디오(neural-enhanced video)에 대한 연구가 이루어지고 있다(비특허문헌 1 참조). 그러나, 종래의 신경-강화 비디오 연구는 기 학습된 신경망 모델을 이용하여 VOD(Video On Demand) 서비스를 제공하는 방식(비특허문헌 1, 2 참조)이어서, 실시간으로 라이브 비디오를 수집 및 분배해야 하는 스트리밍 서비스에는 적용되기 어려운 문제가 있다.
따라서, 스트리밍 서비스의 제공에 있어 스트리머의 전송 환경 및 단말의 성능적 제약에 대한 의존성(dependency)을 낮추고, 시청자의 다양한 요구에 맞추어 초고해상도 비디오를 비롯한, 다양한 해상도의 라이브 비디오를 제공할 수 있는 시스템이 필요하다.
[선행기술문헌]
[비특허문헌]
(비특허문헌 1) Hyunho Yeo, Youngmok Jung, Jaehong Kim, Jinwoo Shin, and Dongsu Han, 2018. Neural adaptive content-aware internet video delivery. In 13th {USENIX} Symposium on Operating Systems Design and Implementation ({OSDI} 18). 645-661.
(비특허문헌 2) M. Dasari, A. Bhattacharya, S. Vargas, P. Sahu, A. Balasubramanian, and S. R. Das. 2020. Streaming 360 Videos using Super-resolution. In Proceedings of the IEEE International Conference on Computer Communications (INFOCOM).
(비특허문헌 3) Xiaoqi Yin, Abhishek Jindal, Vyas Sekar, and Bruno Sinopoli. 2015. A control theoretic approach for dynamic adaptive video streaming over HTTP. In Proceedings of the 2015 ACM Conference on Special Interest Group on Data Communication, 325-338.
본 개시는 스트리머의 전송 환경 및 단말의 성능적 제약에 의존하지 않고 고해상도의 라이브 비디오(live video)를 실시간으로 제공하기 위하여, 라이브 비디오 프레임의 일부에 해당하는 패치(patch)를 라이브 비디오와 전송 대역폭을 나누어 미디어 서버로 각각 전송하고, 심층신경망(Deep Neural Network) 기반의 초해상화 모델(Super Resolution model)을 패치를 기초로 온라인 학습(online learning)시킴으로써 라이브 비디오를 초해상화하는 시스템 및 방법을 제시하는 데 주된 목적이 있다.
본 개시의 일 측면에 의하면, 실시간 스트리밍(real-time streaming)을 위한 라이브 비디오 수집 시스템(live video ingest system)에 있어서, 촬영 장치(capture device)에 의해 생성된 라이브 비디오(live video)에 있어, 상기 라이브 비디오의 프레임(frame)의 일부(fraction)인 패치(patch)를 샘플링하고, 샘플링된 패치를 송신하기 위한 대역폭(bandwidth) 및 상기 라이브 비디오를 송신하기 위한 대역폭을 각각 할당하여 전송을 수행하는 인제스트 장치(ingest device); 및 상기 인제스트 장치로부터 상기 샘플링된 패치 및 상기 라이브 비디오를 수신하고, 상기 샘플링된 패치를 기초로 심층신경망(Deep Neural Network) 기반의 초해상화 모델(Super Resolution model: SR model)을 온라인 학습(online learning)시키고, 상기 초해상화 모델을 이용하여 상기 라이브 비디오를 초해상 처리하는 미디어 서버(media server)를 포함하는 것을 특징으로 하는 라이브 비디오 수집 시스템을 제공한다.
본 개시의 다른 측면에 의하면, 상기 인제스트 장치는, 상기 라이브 비디오의 원본 프레임(raw frame)으로부터 상기 원본 프레임의 일부(fraction)인 패치(patch)를 샘플링(sampling)하는 패치 샘플러(patch sampler); 및 상기 샘플링된 패치를 송신하기 위한 대역폭 및 상기 라이브 비디오를 송신하기 위한 대역폭으로서, 가용 대역폭(available bandwidth)의 전부 또는 일부를 할당(allocate)하는 퀄리티 최적화 스케쥴러(quality-optimizing scheduler)를 포함하고, 상기 미디어 서버는, 상기 샘플링된 패치를 정답값(ground-truth)으로서 상기 초해상화 모델을 온라인 학습시키는 콘텐트 적응적 트레이너(content-adaptive trainer); 및 상기 초해상화 모델을 이용하여 상기 라이브 비디오를 초해상화하는 초해상화 프로세서(super resolution processor)를 포함하는 것을 특징으로 하는 라이브 비디오 수집 시스템을 제공한다.
본 개시의 다른 측면에 의하면, 실시간 스트리밍(real-time streaming)을 위한 라이브 비디오 수집 시스템(live video ingest system)에 의해 수행되는 라이브 비디오 수집 방법에 있어서, 촬영 장치(capture device)에 의해 라이브 비디오(live video)를 촬영하는 과정; 인제스트 장치(ingest device)가 상기 촬영 장치로부터 상기 라이브 비디오의 원본 프레임(raw frame)을 수신하여 상기 원본 프레임의 일부(fraction)를 패치(patch)로서 샘플링하는 과정; 상기 인제스트 장치가 샘플링된 패치 및 상기 라이브 비디오를 미디어 서버(media server)에 송신하기 위한 대역폭으로, 가용 대역폭(available bandwidth)의 전부 또는 일부를 각각 할당(allocate)하는 과정; 미디어 서버(media server)가 상기 인제스트 장치로부터 상기 라이브 비디오 및 상기 샘플링된 패치를 수신하는 과정; 상기 미디어 서버가 상기 샘플링된 패치를 정답값(ground-truth)으로 하여 심층신경망(Deep Neural Network) 기반의 초해상화 모델(Super Resolution model: SR model)을 온라인 학습(online learningg)시키는 과정; 및 상기 미디어 서버가 상기 초해상화 모델을 이용하여 상기 라이브 비디오를 초해상 처리하는 과정을 포함하는 것을 특징으로 하는 라이브 비디오 수집 방법을 제공한다.
본 개시의 다른 측면에 의하면, 본 개시에 따른 라이브 비디오 수집 시스템에 있어, 상기 퀄리티 최적화 스케쥴러는, 상기 가용 대역폭을 추정(estimate)하는 대역폭 측정부; 및 상기 샘플링된 패치를 송신하기 위한 대역폭 및 상기 라이브 비디오를 송신하기 위한 대역폭을 연산하여 상기 가용 대역폭의 전부 또는 일부를 할당하는 대역폭 할당부를 포함하는 라이브 비디오 수집 시스템을 제공한다.
본 개시의 다른 측면에 의하면, 상기 콘텐트 적응적 트레이너는, 상기 샘플링된 패치 가운데 기 설정된 K 개의 가장 최근 패치에 나머지 패치 대비 큰 가중치(weight)를 부여하여 상기 초해상화 모델을 학습시키는 라이브 비디오 수집 시스템을 제공한다.
본 개시의 또 다른 측면에 의하면, 본 개시에 따른 라이브 비디오 수집 시스템에 있어, 상기 콘텐트 적응적 트레이너는, 상기 초해상화 모델의 학습에 따른 퀄리티 게인(gain)을 모니터링하여 퀄리티 게인 포화(quality gain saturation)를 탐지하는 포화 탐지부; 상기 게인 포화를 고려하여 상기 초해상화 모델을 학습시키는 학습부; 및 상기 라이브 비디오의 장면 전환(scene change)을 탐지하는 전환 탐지부를 더 포함하는 라이브 비디오 수집 시스템을 제공한다.
본 개시의 일 실시예는, 인제스트 장치가 라이브 비디오의 프레임 일부에 해당하는 패치(patch)와 라이브 비디오를 각각 대역폭을 나누어 라이브 비디오와 함께 미디어 서버로 전송하고, 미디어 서버가 전송받은 패치를 정답값(ground-truth)으로 하여 심층신경망(Deep Neural Network) 기반의 초해상화 모델(Super Resolution model)을 온라인 학습(online learningg)시킴으로써 전송받은 라이브 비디오를 초해상화하는, 라이브 비디오 수집 시스템 및 방법을 제공한다.
이로써, 본 개시의 일 실시예의 라이브 비디오 수집 시스템은 스트리밍 서비스의 퀄리티를 저해하는 대역폭, 망 혼잡(network congestion)과 같은 스트리머의 전송 환경의 영향을 극복하고, 연산 능력 및 전력 용량에 한계가 있는 단말을 대신하여 미디어 서버에서 초해상화를 수행함으로써, 스트리머와 시청자라는 각 말단(end-to-end)의 환경에 관계없이 고해상도의 라이브 비디오를 제공할 수 있는 효과가 있다.
또한, 본 개시의 일 실시예의 라이브 비디오 수집 시스템의 인제스트 장치는, 라이브 비디오를 전송하기 위한 대역폭과 패치를 전송하기 위한 대역폭을 스케쥴링(scheduling)함으로써 스트리머 단에서 고해상도 라이브 비디오를 전송하지 않아도 시청자에게 고해상도의 라이브 비디오를 제공할 수 있는 효과가 있다.
또한, 본 개시의 일 실시예의 라이브 비디오 수집 시스템의 초해상화는, 라이브 비디오로부터 획득한 고해상도의 패치를 정답값으로 하여 심층신경망 기반의 초해상화 모델을 온라인 학습시킴으로써 수행되는 것으로, 이러한 학습은 학습 시간에 해당하는 에포크(epoch)에 따라 피드백받은 모델의 성능에 적응적으로 이루어져, 기 학습된 신경망 기반의 모델 대비 고성능의 스트리밍 서비스를 안정적으로 제공할 수 있는 효과가 있다.
뿐만 아니라, 본 개시의 일 실시예에 따른 초해상화 모델은 학습에 따른 퀄리티 게인(quality gain)의 포화(saturation) 또는 라이브 비디오의 장면 전환(scene change)에 따라 패치의 전송 비트레이트를 달리함으로써, 실시간으로 바뀌는 콘텐트에 적응적으로 초해상화를 수행할 수 있는 효과가 있다.
도 1은 본 개시의 일 실시예에 따른 초해상화 모델이 채용하는 학습 방법의 성능을 나타내는 그래프이다.
도 2는 본 개시의 일 실시예에 따른 라이브 비디오 수집 시스템을 개략적으로 나타내는 개념도이다.
도 3은 본 개시의 일 실시예에 따른 패치 셀렉션 과정을 나타내는 개념도이다.
도 4는 본 개시의 일 실시예에 따라 초해상화 모델의 기대 퀄리티 게인의 근사값을 산출하는 예시도이다.
도 5는 본 개시의 일 실시예에 따른 라이브 비디오 수집 시스템의 콘텐트 별 성능을 나타내는 그래프이다.
도 6은 본 개시의 일 실시예에 퀄리티 게인 포화 및 장면 전환 탐지에 관한 예시도이다.
도 7은 본 개시의 일 실시예에 따른 라이브 비디오 수집 시스템의 QoE 성능을 나타내는 그래프이다.
도 8은 본 개시의 일 실시예에 따른 라이브 비디오 수집 과정을 나타내는 순서도이다.
도 9는 본 개시의 일 실시예에 따른 라이브 비디오 수집 시스템의 학습에 사용되는 GPU 사용 시간을 나타내는 그래프이다.
이하, 본 개시의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 개시의 구성 요소를 설명하는 데 있어서, 제1, 제2 또는 (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 개시의 예시적인 실시형태를 설명하고자 하는 것이며, 본 개시이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다.
본 개시는, 라이브 비디오(live video)를 실시간으로 제공하기 위하여, 라이브 비디오의 프레임들에 있어, 각 프레임의 일부분(fraction of each live video frame)에 해당하는 패치(patch)를 라이브 비디오와 전송 대역폭을 나누어 미디어 서버로 각각 전송하고, 심층신경망(Deep Neural Network) 기반의 초해상화 모델(Super Resolution model: SR model)을 패치를 기초로 온라인 학습online learning)시킴으로써 라이브 비디오를 초해상화하는 시스템 및 방법에 관한 것이다.
본 개시에서의 인제스트 장치는 스트리머 단말 또는 장치로서, 설명의 편의를 위해 사용하는 것이다. 인제스트 장치는 라이브 비디오를 촬영하고, 미디어 서버로 전송하기 위해 요구되는 일반적인 장치인 카메라(camera), 비디오 인코더(video encoder), 페이서(pacer)를 전부 또는 일부 포함하거나, 각각의 장치가 인제스트 장치에 모듈로서 구현된 것일 수 있다.
본 개시에서의 인제스트 장치는 본 개시의 라이브 비디오 수집 시스템 또는 라이브 비디오 수집 시스템에 포함된 각 장치와의 상호작용을 설명하기 위해 사용될 뿐, 본 개시를 구성하지는 않는다.
본 개시에서의 미디어 서버(media server)는 본 개시의 일 실시예에 따라 라이브 비디오를 초해상화하여, 콘텐트 분배 서버(content distribution server)에 전송하거나 시청자 단말에 전송하는 장치로서, 설명의 편의를 위해 사용하는 것일 뿐, 본 개시에 따른 일 실시예를 구성하지 않는다. 이러한 미디어 서버는 장치뿐만 아니라, 클라우드 환경에서 모듈로서 구현될 수 있으며 이에 한하지 않는다.
도 1은 본 개시의 일 실시예에 따른 초해상화 모델이 채용하는 학습 방법의 성능을 나타내는 그래프이다.
초해상화(super resolution)는 저해상도(Low Resolution: LR)의 이미지 또는 비디오를 고해상도(High Resolution: HR)의 이미지 또는 비디오로 변환시키는 데이터 처리 방법이다. 이러한 초해상화에는 단순하게는 업스케일링(예: 바이리니어 업스케일링(bilinear upscaling))부터, 복잡하게는 콘텐트-인지 심층신경망(content-aware Deep Neural Network: content-aware DNN)까지 사용되고 있다. 본 개시에서는 심층신경망(Deep Neural Network: DNN) 기반의 온라인 학습(online learning)을 이용한 초해상화 모델(SR model)을 개시한다. 여기서 온라인 학습이란, 계속적으로 변화하는 트레이닝 데이터를 기초로 모델을 학습시키는 것이다.
본 개시의 초해상화 모델은, 계속적으로 변화하는 비디오 프레임의 일부(fraction)인 패치(patch)를 트레이닝 데이터로서 반복학습한다. 이러한 반복학습으로, 초해상화 모델이 기초한 심층신경망을 증진시키는 신경-증진 학습(neural-enhanced learning)이 이루어진다.
본 개시의 일 실시예에 따른 패치는, 인코딩된 프레임 대비 고해상도이면서 데이터의 크기가 작아 초해상화 모델의 학습에 있어 정답값(ground-truth)이 될 수 있고, 인제스트 장치로부터 미디어 서버로의 전송이 용이하게 한다. 본 개시의 일 실시예에 의하면, 이러한 초해상화 모델의 학습 시기는 모델의 퀄리티 게인 포화(quality gain saturation) 또는 라이브 비디오의 장면 전환(scene change) 등을 고려하여 결정된다. 본 개시의 일 실시예에 따른 초해상화 모델의 학습 난이도(learning difficulty)는 학습 대상 비디오의 변화(dynamic) 정도, 길이(length), 스케일링 팩터(scaling factor) 등에 의해 달라질 수 있다. 여기서 스케일링 팩터란, 입력값인 저해상도 비디오를 어느 정도의 고해상도 비디오로 변환하여 출력하는가에 관한 것으로, 예컨대 해상도가 720 p 인 비디오를 4 K(또는 UHD(Ultra High Definition)) 해상도의 비디오로 출력하기 위한 스케일링 팩터는 3이 된다.
도 1의 (a)에서 볼 수 있듯이, 온라인 학습 기반의 초해상화 방법은 다른 초해상화 방법인 바이리니어 업스케일링(bilinear upscaling) 및 콘텐트 별로 미리 학습시킨 신경망을 이용한 초해상화 방법 대비 높은 PSNR(Peak-Signal-to-Noise Ration) 성능을 보인다.
도 1의 (b)의 PSNR 게인은, 라이브 비디오 프레임으로부터 추출한 일부분(fraction)을 정답값(ground-truth)으로 초해상화 모델을 온라인 학습시킴으로써 추가적으로 얻어지는 퀄리티 게인이다. 도 1의 (b)에 의하면, 1080 p 비디오를 0.5 fps로 추출한 각 프레임의 5 % 에 해당하는 일부분을 잘라(crop)내어 초해상화 모델을 학습시킨 경우, 일정한 수준의 PSNR 게인을 얻을 수 있음을 확인할 수 있다. 도 1의 (b)에서 볼 수 있듯, 프레임을 잘라내는 비율이 5 % 이상인 구간부터는 PSNR 게인의 증가폭이 크지 않음을 알 수 있다. 이러한 PSNR 게인은 샘플링된 프레임 전부를 학습시키는 경우에는 학습의 중복으로 인해 -0.27 db 만큼 감소하였다.
따라서, 본 개시의 초해상화 모델은 초해상화 처리에 있어 적은 용량의 트레이닝 데이터를 기초로 여러 단계를 거쳐 학습됨으로써 도 1의 (a) 및 (b)에서 확인한 것과 같이 높은 수준의 초해상화 성능을 가지는 것이다.
도 2는 본 개시의 일 실시예에 따른 라이브 비디오 수집 시스템을 개략적으로 나타내는 개념도이다.
본 개시의 일 실시예에 따르면, 라이브 비디오로부터 패치를 샘플링하여 라이브 비디오와 함께 미디어 서버(media server)로 전송하는 인제스트 장치(ingest device)와 샘플링된 패치를 기초로 심층신경망 기반의 초해상화 모델을 온라인 학습시키고, 학습 전/중/후의 초해상화 모델을 이용하여 라이브 비디오를 초해상 처리하는 미디어 서버(media server)를 포함한다. 구체적으로, 인제스트 장치는 패치 샘플러(patch sampler, 200), 퀄리티 최적화 스케쥴러(quality optimizing scheduler, 210), 촬영 장치(capture device, 240), 비디오 인코더(video encoder, 250) 및 페이서(pacer, 260)를 전부 또는 일부 포함하고, 미디어 서버는 콘텐트 적응적 트레이너(content adaptive trainer, 220) 및 초해상화 프로세서(super resolution processor, 230)를 전부 또는 일부 포함한다. 그러나 도 2에 도시된 라이브 비디오 수집 시스템(20)은 본 개시의 일 실시예에 따른 것으로서, 도 2에 도시된 모든 구성이 필수 구성요소는 아니며, 다른 실시예에서 일부 구성이 추가, 변경 또는 삭제될 수 있다. 예컨대, 본 개시의 다른 실시예에서의 촬영 장치(240), 비디오 인코더(250), 페이서(260)는 외부의 장치로 구현되어 인제스트 장치에 포함되지 않을 수 있다. 라이브 비디오 수집 시스템(20)의 전술한 구성들은 각 구성의 기능을 수행하는 장치나 모듈로 구현될 수 있다.
도 2에서는 패치 샘플러(200) 및 퀄리티 최적화 스케쥴러(210)가 인제스트 장치에 포함된 것으로 도시되고 있으나, 다른 실시예에서는 인제스트 장치에 포함되지 않고, 인제스트 장치의 다른 구성과 통신하여 각 기능을 수행하도록, 독립한 장치 또는 장치에 포함된 모듈로 구현될 수 있다.
패치 샘플러(200)는 촬영 장치(240)가 실시간으로 촬영한 라이브 비디오로부터 패치를 샘플링(sampling)한다. 패치 샘플러(200)는 비디오 수신부(video receiver, 202), 샘플링부(sampler, 204) 및 패치 관리부(patch manager, 206)를 전부 또는 일부 포함한다. 그러나, 도 2에 도시된 모든 구성이 패치 샘플러(200)의 필수 구성요소는 아니며, 다른 실시예에서 일부 구성이 추가, 변경 또는 삭제될 수 있다. 예컨대, 다른 실시예에서 패치 샘플러는 샘플링된 패치를 인코딩하는 패치 인코더(미도시)를 더 포함할 수 있다. 또 다른 실시예에서 패치 샘플러는 패치 전송 버퍼(patch transmission buffer)를 더 포함하여, 버퍼가 빈(empty) 경우에 패치 샘플링을 수행하도록 할 수 있다.
비디오 수신부(202)는 촬영한 비디오의 원본 프레임(raw frame) 및/또는 인코딩된 라이브 비디오의 프레임을 촬영 장치(240)로부터 수신한다.
샘플링부(204)는 각 원본 프레임의 일부를 샘플링하여 하나 이상의 패치를 생성한다. 샘플링부의 샘플링 방법은 경량 샘플링 방법(light-weight sampling method)일 수 있다. 예컨대, 비디오 수신부(202)로부터 수신한 라이브 비디오의 원본 프레임 가운데 가장 최근 원본 프레임으로부터 패치를 샘플링(sampling)할 수 있다. 샘플링부(204)는 전체 프레임의 그리드(grid)를 고려하여 패치의 중복이 없도록 랜덤 샘플링(random sampling)할 수 있다.
패치 관리부(206)는 샘플링된 패치 가운데 인코딩 퀄리티가 낮은 패치들을 우선하여 미디어 서버로의 송신 대상에 포함시킨다. 예컨대, 패치 관리부(206)는 라이브 비디오의 원본 프레임 및 인코딩된 라이브 비디오의 인코딩 프레임을 수신하여 각각 동일한 방법으로 패치를 샘플링한다. 패치를 샘플링하기 전의 전체 프레임의 인코딩 퀄리티(예: PSNR 등)를 산출하여, 각 패치의 인코딩 퀄리티보다 낮은 인코딩 퀄리티를 갖는 패치만을 송신 대상에 포함시킬 수 있다. 또는, 인코딩 퀄리티가 가장 낮은 패치를 우선적으로 송신 대상에 포함시킬 수 있다. 패치 샘플러(200)는 최소 패치수가 설정되어 있는 경우, 송신 대상에 포함된 패치의 수가 최소 패치수에 도달할 때까지 패치 샘플링을 반복적으로 수행할 수 있다. 전체 프레임의 인코딩 퀄리티보다 낮은 경우에만 송신 대상에 포함시키는 이유는, 그러한 패치를 기초로 초해상화 모델을 학습시켰을 때 초해상화 성능이 더 우수하기 때문이다.
패치 관리부(206)는 샘플링된 패치의 해상도와 크기를 고려하여 송신 대상에 포함된 패치의 압축을 수행할 수 있다. 샘플링된 패치는 초해상화 모델의 트레이닝 데이터가 되기에 충분한 해상도임과 동시에 가용 대역폭을 과도하게 차지하지 않는 적절한 크기여야 한다. 예컨대, 패치 관리부(206)는 샘플링된 패치를 무손실 PNG 압축(lossless PNG compression)하여 약 50 % 의 크기로 샘플링된 패치의 크기를 줄이면서 해상도를 유지시킬 수 있다. 또는, JPEG95 압축을 이용하여 패치의 퀄리티는 95 % 수준으로 유지하면서 크기는 1/10 로 감소시킬 수 있다.
패치 관리부(206)는 송신 대상에 포함된 패치에 타임스탬프(timestamp)를 포함시킬 수 있다. 이러한 타임스탬프는 패치가 샘플링된 원본 프레임의 타임스탬프일 수 있다. 타임스탬프가 포함된 패치가 전송되는 경우, 콘텐트 적응적 트레이너(220)는 타임스탬프 기준 최근의 패치일수록 가중치를 높게 부여하는 방식으로 초해상화 모델을 학습시킬 수 있다. 패치가 전체 프레임의 그리드를 고려하여 샘플링된 경우, 패치 관리부(206)는 해당 프레임의 그리드 상에서의 위치(location) 정보를 더 포함시킬 수 있다.
퀄리티 최적화 스케쥴러(210)는 패치와 라이브 비디오를 미디어 서버(media server)로 송신하기 위한 가용 대역폭(available bandwidth)을 산출하고, 산출된 대역폭을 각각 패치 송신용과 라이브 비디오 송신용으로 할당(allocate)한다. 본 개시의 일 실시예에 따른 퀄리티 최적화 스케쥴러(210)는 대역폭 추정부(bandwidth estimator, 212) 및 대역폭 할당부(bandwidth allocator, 214)를 전부 또는 일부 포함한다. 그러나, 도 2에 도시된 모든 구성이 퀄리티 최적화 스케쥴러(210)의 필수 구성요소는 아니며, 다른 실시예에서 일부 구성이 추가, 변경 또는 삭제될 수 있다.
대역폭 추정부(212)는 가용 대역폭(available bandwidth)을 추정할 필요가 있는 경우, 예컨대 인제스트 장치와 미디어 서버 간 통신환경이 계속적으로 변화하여 가용 대역폭이 일정치 않은 경우 등의 경우, 가용 대역폭을 추정(estimate)한다. 이러한 대역폭 추정은 인제스트 장치 통신부(미도시)의 트랜스포트 계층(transport layer)에서 대역폭을 탐지(probing)함으로써 수행될 수 있다. 이러한 탐지는 패킷 전송 속도 또는 Ack 도달 시간차를 기초로 이루어질 수 있으며, 이에 한하지 않는다.
대역폭 할당부(214)는 추정된 가용 대역폭(c)의 전부 또는 일부를 패치 전송과 라이브 비디오 전송을 위해 할당한다. 이하, 할당된 대역폭은 비트레이트(bitrate)를 기준으로 표시하며, 패치를 전송하기 위한 비트레이트는 p, 라이브 비디오를 전송하기 위한 비트레이트는 v로 표시한다. 특정 시점 t에서의 가용 대역폭의 비트레이트는 c t, 패치 전송을 위한 비트레이트는 v t, 라이브 비디오 전송을 위한 비트레이트는 p t로 표시한다.
대역폭 할당부(214)는 라이브 비디오의 인코딩 퀄리티와 전송된 패치에 의해 학습될 초해상화 모델의 기대 퀄리티 게인(expected quality gain)을 고려하여 대역폭 할당을 한다. 여기서 퀄리티 게인이란, 초해상화 모델의 학습에 따른 성능 향상의 정도를 의미한다. 전송되는 라이브 비디오의 퀄리티가 지나치게 낮으면 초해상화에 한계가 있고, 지나치게 적은 패치가 전송되면 초해상화 모델을 학습시켰을 때 얻는 성능 향상이 적을 수 있다. 따라서 대역폭 할당부(214)는 라이브 비디오의 퀄리티와 기대 퀄리티 게인 모두를 최대화할 수 있는 최적의 비트레이트를 결정함이 바람직하다. 예컨대, 이러한 최적의 비트레이트는 수학식 1에 의해 구해질 수 있다.
Figure PCTKR2020015370-appb-img-000001
여기서,
Figure PCTKR2020015370-appb-img-000002
는 임의의 할인팩터(discount factor,
Figure PCTKR2020015370-appb-img-000003
는 1 이하)이다. 첫 번째 항은 v t에서의 인코딩된 라이브 비디오의 퀄리티 함수이다. 두 번째 항은 p 0부터 p t까지의 전체 패치에 대한 기대 퀄리티 게인의 함수이다. 이러한 퀄리티를 산출하는 메트릭(metric)으로는 PSNR, SSIM(Structural Similarity Index Measure) 등이 있으며, 이에 한하지 않는다. 각 항의 함수가 오목(concave)하다고 가정할 때, 수학식 1을 기초로 최적의 비트레이트를 구하기 위해서는 수학식 1의 광역 최적(global optimum)을 구하기 위해서는 그래디언트 상승법(gradient ascent method)을 적용할 수 있다. 수학식 2는 수학식 1에 그래디언트 상승법을 적용하여 얻은 수식이다.
Figure PCTKR2020015370-appb-img-000004
여기서
Figure PCTKR2020015370-appb-img-000005
는 p의 스텝 사이즈(step size)로, 임의의 상수값이다. 이때
Figure PCTKR2020015370-appb-img-000006
는 패치의 전송속도(bps)를 기준으로 표현될 수 있다. 이러한
Figure PCTKR2020015370-appb-img-000007
는 필요에 따라 변경 가능하다. 예컨대,
Figure PCTKR2020015370-appb-img-000008
는 초해상화 모델이 한 에포크(학습 시간 단위)에서 퀄리티 게인을 얻기에 충분한 값으로 정해짐이 바람직하다(예:
Figure PCTKR2020015370-appb-img-000009
= 100 kbps).
수학식 2를 이용하여 p t+ 1를 구하면, v t+ 1는 c t+1 - p t+1의 연산으로 얻을 수 있다. 이때 수학식 2의 각 항에 해당하는 그래디언트 또는 순간 변화율을 직접 연산함으로써 p t+ 1를 구할 수도 있으나, 각 항의 근사값을 구함으로써 p t+ 1를 구할 수도 있다.
수학식 2의 첫 번재 항의 근사값을 얻기 위해서는 가장 최근의 두 시점에서의 기대 퀄리티 게인의 정보가 필요하나, 퀄리티 게인은 초해상화 처리를 수행하는 미디어 서버로부터 수신해야 얻을 수 있는 정보이므로, 대역폭 할당부(214)는 미디어 서버로부터 퀄리티 게인에 대한 피드백(feedback)을 수신한 후에 기대 퀄리티 게인을 연산할 수 있다. 이때, 퀄리티 게인을 산출하게 되는 두 시점 간 기간(duration)은 트레이닝 에포크와 동일하게 설정될 수 있다. 이 경우, 전송되었던 패치를 기초로 충분한 트레이닝이 이루어진 경우의 퀄리티 게인을 얻을 수 있다. 이에, 기대 퀄리티 게인의 근사값은 이미 수신한 가장 최근의 두 시점에서의 퀄리티 게인을 기초로 산출될 수 있다.
수학식 2의 두 번째 항의 근사값을 얻기 위해서는 가장 최근 두 시점에서의 인코딩 퀄리티를 기초로 평균 변화율을 연산함으로써 얻을 수 있다. 최근 두 시점에서의 라이브 비디오 퀄리티를 산출해야 한다. 그러나 일부 프레임을 기초로 라이브 비디오의 퀄리티를 산출하는 경우 산출된 라이브 비디오의 퀄리티 값에 왜곡이 있을 수 있으므로, 라이브 비디오의 GoP(Group of Pictures)의 평균 퀄리티를 이용함이 바람직하다. 또는, 인제스트 장치에 인코딩 부담이 있거나, 이러한 평균 퀄리티의 직접 산출이 곤란한 경우, 종래의 측정치(measurements)를 이용할 수 있다. 종래의 측정치 수집에 어려움이 있는 경우, 학습 대상인 라이브 비디오와 유사한 콘텐트들의 정규화된 퀄리티 곡선(normalized quality curve)를 이용할 수 있다. 예컨대, Q video(v t-1)에, NQ video(v t)와 NQ video(v t-1)간의 상대 차(relative difference)를 스케일링(scaling)함으로써 산출할 수 있다. 여기서, NQ video(v t)는 v t시점에서의 정규화된 퀄리티 곡선 상의 퀄리티 값이다. 이러한 근사값을 산출한 예시는 도 4에서 후술한다.
대역폭 할당부(214)는 대역폭 추정부(212)가 가용 대역폭을 추정하는 주기에 따라 각 비트레이트를 갱신할 수 있다. 그러나 이러한 갱신 주기는 초해상화 모델의 온라인 학습 효과를 얻을 수 있을 만큼 충분히 길고, 네트워크 환경 변화에 대응할 수 있을 정도로 충분히 짧은 것이 바람직하다. 만약, 가용 대역폭이 최소 인코딩 비트레이트 아래로 떨어지는 경우(예: 본 라이브 비디오 수집 시스템이 WebRTC를 기초로 구현된 경우, 가용 대역폭이 최소 인코딩 비트레이트인 200 kbps 이하로 떨어지는 경우) 패치의 전송이 중단되는 것이 바람직하다.
콘텐트 적응적 트레이너(220)는 미디어 서버가 수신한 패치를 정답값(ground-truth)으로 하여 초해상화 모델을 학습시킨다. 이러한 학습은 패치를 실시간(또는 주기에 따라)으로 수신하여 에포크마다 이루어진다는 점에서 온라인 기반의 학습임과 동시에 심층신경망 기반의 초해상화 모델을 계속적으로 학습시킨다는 점에서 신경-강화 학습(neural-enhanced learning)에 해당한다. 본 개시의 일 실시예에 따르면, 콘텐트 적응적 트레이너(220)는 기 설정된 K(K는 자연수)에 대하여, 전송된 샘플링된 패치 가운데 가장 최근의 K 개 패치에 나머지 패치보다 큰 가중치(weight)를 부여하여 초해상화 모델을 신경-강화 학습시킬 수 있다. 다른 실시예에서, 미디어 서버가 복수의 GPU(Graphics Processing Unit) 자원을 사용할 수 있는 경우, 미디어 서버에 도달한 순서에 따라 패치들을 그룹화하여 패치 그룹을 생성하고, 패치 그룹 별로 각각의 GPU 자원을 할당하여 분산 학습시킬 수 있다.
콘텐트 적응적 트레이너(220)는 포화 탐지부(saturation detector, 222), 전환 탐지부(change detector, 224) 및 학습부(learning unit, 226)를 전부 또는 일부 포함할 수 있으나, 도 2에 나타난 구성이 콘텐트 적응적 트레이너(220)의 필수적 구성은 아니며, 일부 구성이 생략, 추가 또는 변경될 수 있다.
포화 탐지부(222)는 초해상화 모델의 학습에 따른 퀄리티 게인의 포화(saturation) 여부를 탐지한다. 퀄리티 게인의 포화시, 패치를 수신하여 추가적인 학습을 할 필요가 없어진다. 퀄리티 게인의 포화를 탐지하는 알고리즘은 표 1에서 후술한다.
전환 탐지부(224)는 수신한 라이브 비디오의 장면 전환을 탐지한다. 장면 전환시, 종래의 초해상화 모델로는 초해상화가 적절히 수행되기 어려우므로, 초해상화 모델을 갱신할 필요가 있다. 장면 전환을 탐지하는 알고리즘은 표 1에서 후술한다.
Figure PCTKR2020015370-appb-img-000010
표 1은 본 개시의 일 실시예로서 퀄리티 게인 또는 장면 전환을 탐지하여 대응하는 알고리즘을 나타낸다.
퀄리티 게인의 포화는 가장 최근 두 시점에서의 퀄리티 게인의 차(difference)가 포화 한계(thresh sat) 이하이면서, 포화 한계 이하로 떨어진 횟수(patience)가 기 설정된 포화 카운트(count sat)를 넘어서는 경우일 수 있다. 이 경우 콘텐트 적응적 트레이너(220)는 초해상화 모델의 학습을 중단(suspend)시키고, 학습 중단 상태를 인제스트 장치에 알린다. 이때, 퀄리티 최적화 스케쥴러(210)는 p를 기 설정된 최솟값(p min)으로 설정하여, 패치의 전송이 최소로 이루어지게 한다. 또한, patience는 0으로 초기화된다.
초해상화 모델의 학습이 중단된 상태에서 장면 전환이 이루어지는 경우, 초해상화 모델은 새로이 학습되어야 한다. 장면 전환은 초해상화 모델의 가장 최근 퀄리티 게인과 초기의 퀄리티 게인의 차가 학습 한계(thresh online) 이하임과 동시에 퀄리티 게인 차가 학습 한계 이하로 떨어진 횟수(patience)가 기 설정된 학습 카운트(count online)를 초과하는 경우일 수 있다. 이 경우 콘텐트 적응적 트레이너(220)는 초해상화 모델의 학습을 재개(resume)하고, 학습 재개를 인제스트 장치에 알린다. 이러한 재개는 초해상화 모델을 일부 또는 전부 초기화하고 가장 최근에 수신된 패치를 기초로 다시 학습시킴으로써 수행될 수 있다. 퀄리티 최적화 스케쥴러(210)는, p를 기 설정된 초기값(p init)으로 설정한다. patience는 0으로 초기화된다.
학습부(226)는 패치를 입력값으로 하여, 입력된 패치를 초해상화한 출력값을 출력하도록 초해상화 모델을 학습시킨다. 이러한 학습은, 학습 시간의 단위인 에포크마다 이루어질 수 있다. 또한, 학습에 의한 퀄리티 게인이 포화된 경우 학습은 중단될 수 있고, 중단된 학습은 라이브 비디오의 장면 전환이 있는 경우에 재개될 수 있다. 여기서 학습의 중단은, 미디어 서버가 사용 가능한 GPU 자원을 최소로 배정하거나 GPU 자원을 배정하지 않음으로써 이루어질 수 있다. 초기화된 초해상화 모델의 최초 학습 데이터는, 다른 라이브 비디오에 의해 학습된 결과이거나 비디오 초해상화 처리를 위해 만들어진 표준 벤치마크 데이터셋(standard benchmark dataset)일 수 있다.
초해상화 프로세서(230)는 학습된 초해상화 모델을 기초로 라이브 비디오를 초해상화한다. 이러한 초해상화는 프레임 별로 이루어지며, 수신한 라이브 비디오의 프레임 순서에 따라 수행될 수 있다. 본 개시의 다른 실시예에서, 미디어 서버가 복수의 GPU를 사용할 수 있는 경우, 초해상화 수행 대상인 각 프레임을 가용 GPU 자원 수대로 분할하여 분산 초해상화를 수행할 수 있다. 즉, 분할된 프레임 별로 GPU를 할당하여 초해상화를 수행하고 이를 하나의 초해상화 처리된 비디오로 결합(aggregate)시킬 수 있다. 본 개시의 다른 실시예에서, 초해상화 프로세서가 이용하는 초해상화 모델은 일정 주기에 따라 갱신되는 것일 수 있으며, 이러한 갱신 주기는 콘텐트 적응적 트레이너(220)가 학습하는 에포크 주기에 의해 결정될 수 있다.
본 개시의 일 실시예에 따른 라이브 비디오 시스템(20)은 미디어 서버에서 초해상화 처리를 수행함에 따라, 인제스트 장치(또는 스트리머 장치)에서는 낮은 해상도의 라이브 비디오를 전송할 수 있도록 한다. 또한, 미디어 서버는 콘텐트 적응적 트레이너(220) 및 초해상화 프로세서(230)에 사용되는 GPU 자원을 유동적으로 관리한다. 이로써 라이브 비디오 시스템(20)은 적은 전력 및 GPU 자원의 사용으로도 시청자의 요구에 맞는 다양한 해상도의 스트리밍 서비스를 제공할 수 있다.
도 3은 본 개시의 일 실시예에 따른 패치 셀렉션 과정을 나타내는 개념도이다.
일반적으로 스트리머의 촬영도구에 의해 생성된 라이브 비디오는 비디오 인코더에 의해 압축 인코딩된다.
패치 샘플러는 라이브 비디오의 원본 프레임과 인코딩된 프레임을 전달받는다. 패치 샘플러는 각각의 프레임을 그리드에 따라 분할하여 패치를 각각 샘플링한다. 패치의 인코딩 퀄리티(값)를 얻기 위하여, 패치 샘플러는 인코딩된 프레임으로부터 샘플링된 패치를 업스케일링(예: 바이리니어 업스케일링)하여, 원본 프레임으로부터 샘플링된 패치에 대응한 손상의 정도를 산출한다. 이러한 손상 정도는 PSNR 또는 SSIM을 기초로 산출될 수 있으며, 이에 한하지 않는다. 패치 샘플러는 손상의 정도가 큰 순서대로 실제 송신될 패치들을 결정한다. 실제 송신될 패치는 원본 프레임으로부터 샘플링된 패치들이다.
송신될 패치들은 압축된 후 패치 페이서에 의해 미디어 서버로 송신된다. 이때, 퀄리티 최적화 스케쥴러에 의해 분할된 대역폭을 이용하여 송신된다.
도 4는 본 개시의 일 실시예에 따라 초해상화 모델의 기대 퀄리티 게인의 근사값을 산출하는 예시도이다.
도 4에는 각각 라이브 비디오 퀄리티 함수의 그래프(가장 아래 라인)와 퀄리티 게인 함수(중간 라인) 및 이 둘을 합산한 함수인 전체 퀄리티 그래프(가장 위 라인)가 나타나 있다. 퀄리티 게인 함수의 근사값은 퀄리티 최적화 스케쥴러가 피드백 받았던 최근 두 시점(t-1, t-2)에서의 기대 퀄리티 게인의 그래디언트를 연산함으로써 얻을 수 있다. 이러한 기대 퀄리티 게인의 그래디언트를 연산하는 하나의 예시는 수학식 3에서와 같다.
Figure PCTKR2020015370-appb-img-000011
이와 달리 라이브 비디오의 인코딩 퀄리티는 인제스트 장치 단에서 곧바로 얻을 수 있는 것이므로, 현재를 포함한 최근 두 시점인 최근 두 시점(t, t-1)의 인코딩 퀄리티 값의 그래디언트를 연산함으로써 얻을 수 있다. 이러한 인코딩 퀄리티의 그래디언트를 연산하는 하나의 예시는 수학식 4에서와 같다.
Figure PCTKR2020015370-appb-img-000012
도 5는 본 개시의 라이브 비디오 수집 시스템의 콘텐트 별 성능을 나타내는 그래프이다.
도 5에서의 성능 평가는 대역폭이 제한적인 환경(10 Mbps 이하)에서 본 개시에 따른 라이브 비디오 수집 시스템(도 5의 LiveNas)를 이용하는 경우와 오프라인 기반의 기 학습된 신경망 기반의 초해상화 모델(도 5의 Pre-trained)을 이용하는 경우, 일반적인 신경망 모델(도 5의 Generic)을 이용하는 경우와 vanilla WebRTC를 이용하는 경우(도 5의 WebRTC)의 라이브 비디오의 PSNR을 나타낸다. 각각 360 p, 540 p의 트위치(Twitch) 비디오를 1080 p로, 720 p, 1080 p의 유투브(Youtube) 비디오를 4 K로 초해상화하였고, 미디어 서버가 사용할 수 있는 GPU로는 두 개의 Geforce RTX 2080 Ti를 이용하였다. 퀄리티 메트릭은 PSNR을 이용하였다.
도 5의 (a)는 트위치 비디오를 초해상화한 성능 그래프이다. 도 5의 (a)에서와 같이, 360 p, 540 p 모두에서 목표 해상도로의 초해상화에 있어 본 개시의 라이브 비디오 수집 시스템을 이용할 때의 절대적 퀄리티가 가장 높게 나타남을 알 수 있다.
또한, 도 5의 (b)는 유투브 비디오를 초해상화한 성능 그래프로, 도 5의 (b)에서 알 수 있듯이, 720 p, 1080 p 모두에서 목표 해상도로의 초해상화에 있어 본 개시의 라이브 비디오 수집 시스템을 이용할 때의 절대적 퀄리티가 가장 높다.
이러한 절대적 퀄리티 차는 vanilla WebRTC 대비 0.81 dB ~ 3.04 dB, 일반적인 신경망 모델 대비 0.11 dB ~ 1.93 dB 높게 나타났다. 기 학습된 신경망 모델과 대하여는 0.6 dB ~ 1.14 dB 높게 나타나는 경향을 보였다.
따라서, 제한된 대역폭 환경에서 본 개시에 따른 라이브 비디오 수집 시스템의 성능이 종래의 모델 대비 전반적으로 높음을 알 수 있다.
도 6은 본 개시의 일 실시예에 퀄리티 게인 포화 및 장면 전환 탐지에 관한 예시도이다.
도 6에서는, 본 개시의 라이브 비디오 수집 시스템을 실제 트위치 방송에 이용하였을 때의 타임 라인 별 GPU 사용을 나타내는 그래프이다. 도 6은 본 개시의 콘텐트 적응적 트레이너가 실시간 방송의 초해상화에 GPU를 적응적으로 사용하고 있음을 보여준다. 본 개시의 콘텐트 적응적 트레이너는 게인 포화가 일어나는 지점(t = 203 sec 등)에서 트레이닝을 중단함에 따라 GPU 사용을 중단하고, 장면 전환이 일어나는 경우(t = 400 sec 등) 다시 GPU를 재사용함으로써 GPU를 학습에 도움이 되는 경우에만 적응적으로 사용함을 알 수 있다. 이에 따라, 본 개시의 라이브 비디오 수집 시스템은 상황에 따라 적응적으로 GPU를 사용함으로써 최적의 자원 사용을 가능케 한다.
도 7은 본 개시의 일 실시예에 따른 라이브 비디오 수집 시스템의 QoE 성능을 나타내는 그래프이다.
본 개시의 라이브 비디오 수집 시스템은 수집 측면(ingest side)의 시스템이지만, 분배 측면(distribution side)의 QoE(Quality of Experience)를 증진시킨다.
도 7은 시청자 단말에 사용되는 종래의 ABR 알고리즘(Adaptive Bitrate algorithm) 기반의 webRTC와 비교하여 본 개시의 라이브 비디오 수집 시스템의 QoE 성능을 도시한다.
본 성능 평가에서는, "Just Chatting" 카테고리의 540 p 트위치 비디오를 1080 p로 초해상화한 결과의 QoE 및 "Sports" 카테고리의 1080 p 유투브 비디오를 4 K로 초해상화한 결과의 QoE를 평가하였다. QoE를 산출하기 위한 메트릭은, 비디오의 각 청크(chunk)의 비트레이트를 이용하였다. 또한, 성능 평가에는 두 가지의 네트워크 트레이스 데이터셋을 사용하였다. 도 7의 (a)는 2019 FCC U.S. broadband traces 데이터 셋으로부터 100 개의 다운링크 트레이스(downlink traces)를 랜덤 샘플링한 것(평균 대역폭 72 Mbps)을 기초로 성능 평가를 수행한 것이고, 도 7의 (b)에는 Pensieve에서 사용된 3G 및 광대역 트레이스(3G and broadband traces)(평균 대역폭 1.48 Mbps)를 기초로 성능 평가를 수행한 것이다. 또한, QoE를 측정하기 위해서, Pensieve의 시뮬레이터를 이용하였으며, 종래의 ABR 알고리즘이 적용되는 환경설정 또한 Pensieve의 것을 이용하였다. 성능 평가에 사용된 ABR 알고리즘으로는 각각 Pensieve와 robustMPC(비특허문헌 3 참조)를 이용하였다.
도 7의 (a) 및 (b)는, 각 트레이스의 평균 QoE를 나타내는 것이다.
도 7의 (a)에서 확인할 수 있듯이, 540 p 비디오를 1080 p 비디오로 초해상화시 본 개시의 라이브 비디오 수집 시스템은 WebRTC를 이용한 것 대비 27 %~69 %의 QoE 개선이 있음을 알 수 있다. 또한, 도 7의 (b)에서 확인할 수 있듯, 1080 p 비디오를 4 K 비디오로 초해상화 시 본 개시의 라이브 비디오 수집 시스템은 WebRTC 대비 12 %~66 %의 QoE 개선이 있음을 알 수 있다. 즉, WebRTC가 채용하는 ABR 알고리즘과 무관하게 본 개시의 라이브 비디오 수집 시스템의 QoE 성능이 언제나 더 우수함을 알 수 있다.
이러한 우수한 QoE 성능은, 본 개시의 라이브 비디오 수집 시스템 이용 시 대역폭이 풍부한 시청자에게 보다 높은 해상도의 비디오 청크를 전송할 수 있다는 점, 미디어 서버에서 비디오 청크의 초해상화가 일어나 상대적으로 더 높은 퀄리티의 청크를 전송할 수 있다는 점 때문으로 해석된다.
도 8은 본 개시의 일 실시예에 따른 라이브 비디오 수집 과정을 나타내는 순서도이다.
스트리머가 카메라 등의 촬영 장치를 이용하여 라이브 비디오를 생성하면(S800), 패치 샘플러는 라이브 비디오의 원본 프레임을 실시간 수신한다(S802). 패치 샘플러는 추후 패치의 인코딩 퀄리티와 전체 프레임의 인코딩 퀄리티를 비교하는 데 사용하기 위하여 라이브 비디오의 인코딩된 프레임도 수신할 수 있다(S802).
패치 샘플러는 수신한 각 원본 프레임으로부터 전체 프레임의 일부인 패치를 샘플링한다(S804).
패치 샘플러는 전체 프레임의 인코딩 퀄리티와 샘플링된 패치의 인코딩 퀄리티를 비교하여, 샘플링된 패치의 인코딩 퀄리티가 더 낮은 경우에만 미디어 서버로의 송신 대상에 샘플링된 패치를 포함시킨다(S806).
퀄리티 최적화 스케쥴러는 패치 샘플러와 무관히 기 설정된 주기 또는 필요에 따라 가용 대역폭을 추정한다(S810). 즉, 패치 샘플러의 S802 내지 S806 단계는 퀄리티 최적화 스케쥴러의 S810 내지 S816 단계와는 독립적으로 일어나며, 양 단계는 병렬적으로 수행될 수 있다.
퀄리티 최적화 스케쥴러는 콘텐트 적응적 트레이너로부터 초해상화 모델의 이전 시점(t-1, t-2)의 퀄리티 게인을 수신한다. 이러한 퀄리티 게인의 수신은 S810 단계 이전에도 일어날 수 있으며, t-1 시점의 퀄리티 게인을 수신하는 단계와 t-2 시점의 퀄리티 게인을 수신하는 단계는 서로 다른 시점에 일어날 수도 있다. 이는 퀄리티 최적화 스케쥴러의 피드백 주기에 따라 퀄리티 게인의 수신이 이루어지기 때문이다.
퀄리티 최적화 스케쥴러는 수신한 퀄리티 게인을 기초로 그래디언트(또는 기울기)를 연산한다(S814).
퀄리티 최적화 스케쥴러는 t, t-1 시점의 라이브 비디오의 인코딩 퀄리티를 연산하여 퀄리티 함수의 그래디언트(또는 기울기)를 얻는다(S816). 이러한 기울기는, 평균 변화율을 연산하는 방법에 의해 구해지는 것일 수 있다. 단, S816 단계가 반드시 S814 단계 이후에 오는 것은 아니며, 퀄리티 최적화 스케쥴러의 컴퓨팅 자원에 따라 양 단계는 병렬적으로 수행되기도, 반대의 순서로 수행될 수도 있다. 반대의 순서로 수행되는 경우 반드시 S812 단계가 S816보다 선행해야 하는 것은 아니다.
퀄리티 최적화 스케쥴러는 S814 및 S816 단계에서 연산된 것을 기초로, 패치와 라이브 비디오를 전송할 최적의 비트레이트를 각각 연산한다(S818).
페이서 또는 인제스트 장치의 다른 통신부에 의해 패치 및 라이브 비디오가 미디어 서버로 전송되면(S820), 콘텐트 적응적 트레이너는 패치를 수신하여 초해상화 모델을 학습시키고, 학습 중에 퀄리티 게인 포화를 탐지하면 학습을 중지시키며, 장면 전환을 탐지하면 학습을 재개함으로써 초해상화 모델을 라이브 비디오에 적응적으로 학습시킨다. 이와 병렬적으로, 초해상화 프로세서는, 인제스트 장치로부터 실시간으로 수신한 저해상도의 라이브 비디오를 고해상도의 비디오로 초해상화 한다(S822). 라이브 비디오의 초해상화에 사용되는 초해상화 모델은 콘텐트 적응적 트레이너의 학습에 따라 주기적으로, 또는 필요에 의해 갱신된다.
도 8에서는 과정 각 과정들을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 개시의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것이다. 다시 말해, 본 개시의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 개시의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 8에 기재된 순서를 변경하여 실행하거나 각 과정 중 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 8의 시계열적인 순서로 한정되는 것은 아니다.
도 9는 본 개시의 일 실시예에 따른 라이브 비디오 수집 시스템의 학습에 사용되는 GPU 사용 시간을 나타내는 그래프이다.
도 9의 (a) 내지 (c)는, 본 개시의 일 실시예에 따른 라이브 비디오 수집 시스템의 효율적인 자원 사용을 나타낸다. 도 9의 (a) 및 (b)는 라이브 비디오 수집 시스템의 학습에 사용되는 GPU 사용 시간을, 라이브 비디오의 전체 스트리밍 시간과 대비하여 나타낸 것이다. 도 9의 (c)는 본 개시의 일 실시예에 따른 라이브 비디오 수집 시스템(LiveNAS)을, 일반 WebRTC를 학습시킨 경우(A), 심층신경망 모델을 퀄리티 게인의 포화에 따라 결정된 시점에 1회 학습시킨 경우(B), 심층신경망 모델을 최초 1회 학습시킨 경우(C) 및 심층신경망 모델을 학습의 중단 없이 계속적으로 학습시킨 경우(D)와 비교하고자, 전체 스트리밍 시간 중 학습에 사용되는 GPU 사용 시간에 따른 라이브 비디오의 퀄리티(PSNR)를 나타낸 것이다. 여기서, 1회 학습의 학습 시간은 60 초이다.
도 9의 (a)는 360 p 라이브 비디오 및 540 p 라이브 비디오를 1080 p 비디오로 각각 초해상 처리하는 데 사용된 초해상화 모델의 GPU 사용 시간을 나타낸다. 도 9의 (b)는 720 p 라이브 비디오 및 1080 p 라이브 비디오를 4 K 비디오로 초해상 처리하는 데 사용된 GPU 사용 시간이다. 도 9의 (a) 및 (b)를 참조하면, 본 개시의 일 실시예에 따른 초해상화 모델의 학습에 사용된 GPU 사용 시간은 라이브 비디오의 전체 스트리밍 시간 대비 평균적으로 약 35 % 에 불과함을 확인할 수 있다. 이러한 시간 절약은 컨텐트 적응적 트레이너가 학습 난이도를 반영한 적응적 학습을 수행하였음을 의미한다. 전술한 것과 같이, 학습 난이도는 학습 대상 비디오의 변화 정도, 길이, 스케일링 팩터 등에 의해 달라진다.
도 9의 (c)를 참조하면, 라이브 비디오 시스템의 GPU 사용 시간 및 비디오 퀄리티는 계속적으로 학습시킨 심층신경망 모델(D)의 GPU 사용 시간 및 비디오 퀄리티와 비교하여, 비슷한 수준의 비디오 퀄리티를 심층신경망 모델(D)의 GPU 사용 시간의 약 25 % 만을 사용하여 달성한 것을 확인할 수 있다. 또한, 라이브 비디오 시스템의 비디오 퀄리티는 컨텐트와 무관히, WebRTC(A), 퀄리티 게인 포화 시점에 학습시킨 심층신경망 모델(B) 및 최초 1회 학습시킨 심층신경망 모델(C)의 각 비디오 퀄리티 대비 항상 높음을 확인할 수 있다.
따라서, 본 개시의 일 실시예에 따른 라이브 비디오 시스템은 적은 하드웨어 자원의 사용으로도 고품질의 초해상화 처리를 수행함을 알 수 있다.
본 명세서에 설명되는 시스템, 스케쥴러, 샘플러, 트레이너, 프로세서, 기타 장치 및 기법들의 다양한 구현예들은, 디지털 전자 회로, 집적 회로, FPGA(field programmable gate array), ASIC(application specific integrated circuit), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현예들은 프로그래밍가능 시스템상에서 실행 가능한 하나 이상의 컴퓨터 프로그램들로 구현되는 것을 포함할 수 있다. 프로그래밍가능 시스템은, 저장 시스템, 적어도 하나의 입력 디바이스, 그리고 적어도 하나의 출력 디바이스로부터 데이터 및 명령들을 수신하고 이들에게 데이터 및 명령들을 전송하도록 결합되는 적어도 하나의 프로그래밍가능 프로세서(이것은 특수 목적 프로세서일 수 있거나 혹은 범용 프로세서일 수 있음)를 포함한다. 컴퓨터 프로그램들(이것은 또한 프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 혹은 코드로서 알려져 있음)은 프로그래밍가능 프로세서에 대한 명령어들을 포함하며 "컴퓨터가 읽을 수 있는 기록매체"에 저장된다.
컴퓨터가 읽을 수 있는 기록매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 이러한 컴퓨터가 읽을 수 있는 기록매체는 ROM, CD-ROM, 자기 테이프, 플로피디스크, 메모리 카드, 하드 디스크, 광자기 디스크, 스토리지 디바이스 등의 비휘발성(non-volatile) 또는 비 일시적인(non-transitory) 매체 또는 데이터 전송 매체(data transmission medium)와 같은 일시적인(transitory) 매체를 더 포함할 수도 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다.
본 명세서에 설명되는 시스템들 및 기법들의 다양한 구현예들은, 프로그램가능 컴퓨터에 의하여 구현될 수 있다. 여기서, 컴퓨터는 프로그램가능 프로세서, 데이터 저장 시스템(휘발성 메모리, 비휘발성 메모리, 또는 다른 종류의 저장 시스템이거나 이들의 조합을 포함함) 및 적어도 한 개의 커뮤니케이션 인터페이스를 포함한다. 예컨대, 프로그램가능 컴퓨터는 서버, 네트워크 기기, 셋탑 박스, 내장형 장치, 컴퓨터 확장 모듈, 개인용 컴퓨터, 랩탑, PDA(Personal Data Assistant), 클라우드 컴퓨팅 시스템 또는 모바일 장치 중 하나일 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
<부호의 설명>
20: 라이브 비디오 수집 시스템
200: 패치 샘플러
210: 퀄리티 최적화 스케쥴러
220: 콘텐트 적응적 트레이너
230: 초해상화 프로세서
240: 촬영 장치
250: 비디오 인코더
260: 페이서
<CROSS-REFERENCE TO RELATED APPLICATION>
본 특허출원은 2019년 11월 15일에 한국에 출원한 특허출원번호 제10-2019-0146875호 및 2020년 8월 20일에 한국에 출원한 특허출원번호 제10-2020-0104886호에 대해 우선권을 주장하며, 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다.

Claims (27)

  1. 실시간 스트리밍(real-time streaming)을 위한 라이브 비디오 수집 시스템(live video ingest system)에 있어서,
    촬영 장치(capture device)에 의해 생성된 라이브 비디오(live video)에 있어, 상기 라이브 비디오의 프레임(frame)의 일부(fraction)인 패치(patch)를 샘플링하고, 샘플링된 패치를 송신하기 위한 대역폭(bandwidth) 및 상기 라이브 비디오를 송신하기 위한 대역폭을 각각 할당하여 전송을 수행하는 인제스트 장치(ingest device); 및
    상기 인제스트 장치로부터 상기 샘플링된 패치 및 상기 라이브 비디오를 수신하고, 상기 샘플링된 패치를 기초로 심층신경망(Deep Neural Network) 기반의 초해상화 모델(Super Resolution model: SR model)을 온라인 학습(online learning)시키고, 상기 초해상화 모델을 이용하여 상기 라이브 비디오를 초해상화하는 미디어 서버(media server)
    를 포함하는 것을 특징으로 하는 라이브 비디오 수집 시스템.
  2. 제1항에 있어서,
    상기 인제스트 장치는,
    상기 라이브 비디오의 원본 프레임(raw frame)으로부터 상기 원본 프레임의 일부(fraction)인 패치(patch)를 샘플링(sampling)하는 패치 샘플러(patch sampler); 및
    상기 샘플링된 패치를 송신하기 위한 대역폭 및 상기 라이브 비디오를 송신하기 위한 대역폭으로서, 가용 대역폭(available bandwidth)의 전부 또는 일부를 할당(allocate)하는 퀄리티 최적화 스케쥴러(quality-optimizing scheduler)를 포함하고,
    상기 미디어 서버는,
    상기 샘플링된 패치를 정답값(ground-truth)으로서 상기 초해상화 모델을 온라인 학습시키는 콘텐트 적응적 트레이너(content-adaptive trainer); 및
    상기 초해상화 모델을 이용하여 상기 라이브 비디오를 초해상화하는 초해상화 프로세서(super resolution processor)를
    포함하는 것을 특징으로 하는 라이브 비디오 수집 시스템.
  3. 제2항에 있어서,
    상기 패치 샘플러는,
    상기 인제스트 장치의 촬영 장치(capture device)로부터 상기 라이브 비디오를 수신하는 비디오 수신부; 및
    상기 비디오 수신부로부터 수신한 라이브 비디오의 원본 프레임(raw frame)을 전체 프레임의 그리드(grid)를 기초로 샘플링하는 샘플링부
    를 포함하는 것을 특징으로 하는 라이브 비디오 수집 시스템.
  4. 제3항에 있어서,
    상기 패치 샘플러는,
    상기 샘플링된 패치의 인코딩 퀄리티가 상기 샘플링된 패치에 대응하는 원본 프레임의 인코딩 퀄리티 대비 낮은 경우에 상기 샘플링된 패치를 상기 미디어 서버로의 송신 대상에 포함시키는 패치 관리부
    를 더 포함하는 것을 특징으로 하는 라이브 비디오 수집 시스템.
  5. 제4항에 있어서,
    상기 패치 관리부는,
    상기 인코딩 퀄리티로서 PSNR(Peak-Signal-to-Noise Ration) 또는 SSIM(Structural Similarity Index Measure)을 이용하는 것을 특징으로 하는 라이브 비디오 수집 시스템.
  6. 제4항에 있어서,
    상기 패치 관리부는,
    상기 송신 대상에 포함된 패치의 수가 기 설정된 최소 패치의 수에 도달할 때까지 패치 샘플링을 반복적으로 수행하는 것을 특징으로 하는 라이브 비디오 수집 시스템.
  7. 제3항에 있어서,
    상기 샘플링된 패치는,
    타임스탬프(timestamp) 및 그리드 상에서의 위치(location) 정보를 포함하는 것을 특징으로 하는 라이브 비디오 수집 시스템.
  8. 제2항에 있어서,
    상기 퀄리티 최적화 스케쥴러는,
    상기 가용 대역폭을 추정(estimate)하는 대역폭 측정부; 및
    상기 샘플링된 패치를 송신하기 위한 대역폭 및 상기 라이브 비디오를 송신하기 위한 대역폭을 연산하여 상기 가용 대역폭의 전부 또는 일부를 할당하는 대역폭 할당부
    를 포함하는 것을 특징으로 하는 라이브 비디오 수집 시스템.
  9. 제8항에 있어서,
    상기 대역폭 할당부는,
    상기 라이브 비디오의 인코딩 퀄리티 또는 상기 초해상화 모델의 기대 퀄리티 게인(expected quality gain)을 기초로 상기 가용 대역폭을 할당하는 것을 특징으로 하는 라이브 비디오 수집 시스템.
  10. 제9항에 있어서,
    상기 대역폭 할당부는,
    상기 콘텐트 적응적 트레이너로부터 피드백 받은 퀄리티 게인(quality gain)을 기초로 상기 기대 퀄리티 게인을 얻는 것을 특징으로 하는 라이브 비디오 수집 시스템.
  11. 제10항에 있어서,
    상기 대역폭 할당부가 상기 콘텐트 적응적 트레이너로부터 퀄리티 게인을 피드백 받는 주기는, 상기 초해상화 모델을 학습시키는 에포크(epoch)를 기초로 설정되는 것을 특징으로 하는 라이브 비디오 수집 시스템.
  12. 제9항에 있어서,
    상기 대역폭 할당부는,
    인코딩된 라이브 비디오의 GoP(Group of Pictures)의 인코딩 퀄리티를 구하고, GoP의 인코딩 퀄리티의 평균을 연산하여 상기 라이브 비디오의 인코딩 퀄리티를 얻는 것을 특징으로 하는 라이브 비디오 수집 시스템.
  13. 제9항에 있어서,
    상기 대역폭 할당부는,
    상기 라이브 비디오와 유사한 콘텐트들의 정규화된 퀄리티 곡선(normalized quality curve)을 스케일링(scaling)하여 상기 라이브 비디오의 인코딩 퀄리티를 얻는 것을 특징으로 하는 라이브 비디오 수집 시스템.
  14. 제2항에 있어서,
    상기 콘텐트 적응적 트레이너는,
    상기 샘플링된 패치 가운데 기 설정된 K 개의 가장 최근 패치에 나머지 패치 대비 큰 가중치(weight)를 부여하여 상기 초해상화 모델을 학습시키는 것을 특징으로 하는 라이브 비디오 수집 시스템.
  15. 제2항에 있어서,
    상기 콘텐트 적응적 트레이너는,
    상기 미디어 서버가 복수의 GPU(Graphics Processing Unit) 자원을 사용할 수 있는 경우, 미디어 서버에 도달한 순서에 따라 상기 샘플링된 패치들을 그룹화한 패치 그룹을 생성하고, 패치 그룹 별로 GPU 자원을 할당하여 상기 초해상화 모델을 분산 학습시키는 것을 특징으로 하는 라이브 비디오 수집 시스템.
  16. 제2항에 있어서,
    상기 콘텐트 적응적 트레이너는,
    상기 초해상화 모델의 학습에 따른 퀄리티 게인(gain)을 모니터링하여 퀄리티 게인 포화(quality gain saturation)를 탐지하는 포화 탐지부(saturation detector); 및
    상기 게인 포화를 고려하여 상기 초해상화 모델을 학습시키는 학습부(learning unit)
    를 더 포함하는 것을 특징으로 하는 라이브 비디오 수집 시스템.
  17. 제16항에 있어서,
    상기 포화 탐지부는,
    상기 초해상화 모델의 가장 최근 두 시점 각각에서의 퀄리티 게인의 차(difference)가 기 설정된 게인 포화 한계 이하면서, 게인 포화 한계 이하로 떨어진 횟수가 기 설정된 포화 카운트를 넘어서는 경우를 퀄리티 게인 포화로 판단하고,
    상기 학습부는,
    퀄리티 게인이 포화인 경우, 상기 초해상화 모델의 학습을 중단시키고(suspend),
    상기 퀄리티 최적화 스케쥴러는,
    상기 초해상화 모델의 학습이 중단된 경우, 상기 샘플링된 패치를 송신하기 위한 대역폭을 기 설정된 최소 대역폭으로 설정하는 것
    을 특징으로 하는 라이브 비디오 수집 시스템.
  18. 제16항에 있어서,
    상기 콘텐트 적응적 트레이너는,
    상기 라이브 비디오의 장면 전환(scene change)을 탐지하는 전환 탐지부
    를 더 포함하는 것을 특징으로 하는 라이브 비디오 수집 시스템.
  19. 제18항에 있어서,
    상기 전환 탐지부는,
    상기 초해상화 모델의 가장 최근 시점의 퀄리티 게인과 상기 초해상화 모델의 초기 시점의 퀄리티 게인 간 차가 기 설정된 학습 한계 이하면서, 학습 한계 이하로 떨어진 횟수가 기 설정된 학습 카운트를 넘어서는 경우를 장면 전환으로 판단하고,
    상기 학습부는,
    퀄리티 게인의 포화 및 라이브 비디오의 장면 전환의 경우, 상기 초해상화 모델의 학습을 가장 최근에 샘플링된 패치를 기초로 재개(resume)하고,
    상기 퀄리티 최적화 스케쥴러는,
    상기 초해상화 모델의 학습이 중단되었다가 재개된 경우, 상기 샘플링된 패치를 송신하기 위한 대역폭을 기 설정된 초기 대역폭으로 설정하는 것
    을 특징으로 하는 라이브 비디오 수집 시스템.
  20. 제2항에 있어서,
    상기 미디어 서버는,
    상기 초해상화 모델을 이용하여 상기 라이브 비디오의 프레임 순서대로 프레임별 초해상화를 수행하는 초해상화 프로세서(Super Resolution processor: SR processor)
    를 더 포함하는 것을 특징으로 하는 라이브 비디오 수집 시스템.
  21. 제19항에 있어서,
    상기 초해상화 프로세서는,
    상기 미디어 서버가 복수의 GPU(Graphics Processing Unit) 자원을 사용할 수 있는 경우, 초해상화를 수행할 각 프레임을 GPU 자원의 수로 분할하여, 분할된 프레임별로 GPU 자원을 할당하여 분산 초해상화하는 것을 특징으로 하는 라이브 비디오 수집 시스템.
  22. 실시간 스트리밍(real-time streaming)을 위한 라이브 비디오 수집 시스템(live video ingest system)에 의해 수행되는 라이브 비디오 수집 방법에 있어서,
    촬영 장치(capture device)에 의해 라이브 비디오(live video)를 촬영하는 과정;
    인제스트 장치(ingest device)가 상기 촬영 장치로부터 상기 라이브 비디오의 원본 프레임(raw frame)을 수신하여 상기 원본 프레임의 일부(fraction)를 패치(patch)로서 샘플링하는 과정;
    상기 인제스트 장치가 샘플링된 패치 및 상기 라이브 비디오를 미디어 서버(media server)에 송신하기 위한 대역폭으로, 가용 대역폭(available bandwidth)의 전부 또는 일부를 각각 할당(allocate)하는 과정;
    미디어 서버(media server)가 상기 인제스트 장치로부터 상기 라이브 비디오 및 상기 샘플링된 패치를 수신하는 과정;
    상기 미디어 서버가 상기 샘플링된 패치를 정답값(ground-truth)으로 하여 심층신경망(Deep Neural Network) 기반의 초해상화 모델(Super Resolution model: SR model)을 온라인 학습(online learningg)시키는 과정; 및
    상기 미디어 서버가 상기 초해상화 모델을 이용하여 상기 라이브 비디오를 초해상화하는 과정
    을 포함하는 것을 특징으로 하는 라이브 비디오 수집 방법.
  23. 제22항에 있어서,
    상기 샘플링하는 과정은,
    상기 라이브 비디오의 원본 프레임(raw frame)에 있어, 상기 원본 프레임의 전체 프레임 그리드(grid)를 기초로 상기 패치를 샘플링하고, 샘플링된 패치의 인코딩 퀄리티가 상기 원본 프레임의 인코딩 퀄리티 대비 낮은 경우에 상기 샘플링된 패치를 상기 미디어 서버로의 송신 대상에 포함시키는 것을 특징으로 하는 라이브 비디오 수집 방법.
  24. 제22항에 있어서,
    가용 대역폭의 전부 또는 일부를 각각 할당하는 과정은,
    상기 라이브 비디오의 인코딩 퀄리티 또는 상기 초해상화 모델의 기대 퀄리티 게인(expected quality gain)을 기초로 대역폭 할당을 수행하는 것을 특징으로 하는 라이브 비디오 수집 방법.
  25. 제22항에 있어서,
    상기 학습시키는 과정은,
    상기 초해상화 모델의 학습에 따른 퀄리티 게인(quality gain)의 포화(saturation) 또는 상기 라이브 비디오의 장면 전환(scene change)을 탐지하여 적응적으로 학습시키는 것을 특징으로 하는 라이브 비디오 수집 방법.
  26. 제22항에 있어서,
    상기 초해상화하는 과정은,
    상기 미디어 서버가 복수의 GPU(Graphics Processing Unit) 자원을 사용할 수 있는 경우, 초해상화를 수행할 상기 라이브 비디오의 각 프레임을 GPU 자원의 수로 분할하여, 분할된 프레임 별로 GPU 자원을 할당하여 분산 초해상화하는 것을 특징으로 하는 라이브 비디오 수집 방법.
  27. 제22항 내지 제26항 중 어느 한 항에 따른 라이브 비디오 수집 방법이 포함하는 각 과정을 실행시키기 위하여 컴퓨터로 읽을 수 있는 하나 이상의 기록매체에 각각 저장된 컴퓨터 프로그램.
PCT/KR2020/015370 2019-11-15 2020-11-05 라이브 비디오 수집 시스템 및 방법 WO2021096159A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP20855895.7A EP4060998A4 (en) 2019-11-15 2020-11-05 SYSTEM AND METHOD FOR LIVE VIDEO INGESTION
US17/265,680 US11877018B2 (en) 2019-11-15 2020-11-05 Live video ingest system and method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20190146875 2019-11-15
KR10-2019-0146875 2019-11-15
KR1020200104886A KR102338986B1 (ko) 2019-11-15 2020-08-20 라이브 비디오 수집 시스템 및 방법
KR10-2020-0104886 2020-08-20

Publications (1)

Publication Number Publication Date
WO2021096159A1 true WO2021096159A1 (ko) 2021-05-20

Family

ID=75912154

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/015370 WO2021096159A1 (ko) 2019-11-15 2020-11-05 라이브 비디오 수집 시스템 및 방법

Country Status (3)

Country Link
US (1) US11877018B2 (ko)
EP (1) EP4060998A4 (ko)
WO (1) WO2021096159A1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060083298A (ko) * 2005-01-14 2006-07-20 엘지전자 주식회사 실시간 동영상 부호화 방법
JP2012518946A (ja) * 2009-03-05 2012-08-16 ソニー株式会社 高解像度ビデオコンテンツの強化方法及び装置
KR101789845B1 (ko) * 2010-01-22 2017-11-20 톰슨 라이센싱 샘플링 기반 초 해상도 비디오 인코딩 및 디코딩을 위한 방법 및 장치
CN110087092A (zh) * 2019-03-11 2019-08-02 西安电子科技大学 基于图像重构卷积神经网络的低码率视频编解码方法
KR20190119550A (ko) * 2019-10-02 2019-10-22 엘지전자 주식회사 영상의 해상도를 향상시키기 위한 방법 및 장치
KR20200104886A (ko) 2017-12-28 2020-09-04 난징 레전드 바이오테크 씨오., 엘티디. Pd-l1에 대한 항체 및 변이체

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040184523A1 (en) * 2003-02-25 2004-09-23 Dawson Thomas Patrick Method and system for providing reduced bandwidth for picture in picture video transmissions
EP3183884B1 (en) * 2014-09-22 2020-07-01 ARRIS Enterprises LLC Video quality of experience based on video quality estimation
EP3259911B1 (en) * 2015-02-19 2021-04-07 Magic Pony Technology Limited Enhancing visual data using updated neural networks
US9686497B1 (en) * 2015-10-29 2017-06-20 Crater Group Co. Video annotation and dynamic video call display for multi-camera devices
US10701394B1 (en) * 2016-11-10 2020-06-30 Twitter, Inc. Real-time video super-resolution with spatio-temporal networks and motion compensation
WO2018212599A1 (en) * 2017-05-17 2018-11-22 Samsung Electronics Co., Ltd. Super-resolution processing method for moving image and image processing apparatus therefor
US10891715B2 (en) 2017-09-22 2021-01-12 Continental Automotive Systems, Inc. Deep neural network for image enhancement
US10783611B2 (en) * 2018-01-02 2020-09-22 Google Llc Frame-recurrent video super-resolution
KR102190483B1 (ko) * 2018-04-24 2020-12-11 주식회사 지디에프랩 Ai 기반의 영상 압축 및 복원 시스템
US11210769B2 (en) * 2019-05-03 2021-12-28 Amazon Technologies, Inc. Video enhancement using a recurrent image date of a neural network
US11140422B2 (en) * 2019-09-25 2021-10-05 Microsoft Technology Licensing, Llc Thin-cloud system for live streaming content
KR20190117416A (ko) * 2019-09-26 2019-10-16 엘지전자 주식회사 동영상 프레임 해상도를 향상시키기 위한 방법 및 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060083298A (ko) * 2005-01-14 2006-07-20 엘지전자 주식회사 실시간 동영상 부호화 방법
JP2012518946A (ja) * 2009-03-05 2012-08-16 ソニー株式会社 高解像度ビデオコンテンツの強化方法及び装置
KR101789845B1 (ko) * 2010-01-22 2017-11-20 톰슨 라이센싱 샘플링 기반 초 해상도 비디오 인코딩 및 디코딩을 위한 방법 및 장치
KR20200104886A (ko) 2017-12-28 2020-09-04 난징 레전드 바이오테크 씨오., 엘티디. Pd-l1에 대한 항체 및 변이체
CN110087092A (zh) * 2019-03-11 2019-08-02 西安电子科技大学 基于图像重构卷积神经网络的低码率视频编解码方法
KR20190119550A (ko) * 2019-10-02 2019-10-22 엘지전자 주식회사 영상의 해상도를 향상시키기 위한 방법 및 장치

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HYUNHO YEOYOUNGMOK JUNGJAEHONG KIMJINWOO SHINDONGSU HAN: "Neural adaptive content-aware internet video delivery", 13TH {USENIX} SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION ({OSDI, vol. 18, 2018, pages 645 - 661
M. DASARIA. BHATTACHARYAS. VARGASP. SAHUA. BALASUBRAMANIANS. R. DAS: "Streaming 360 Videos using Super-resolution", PROCEEDINGS OF THE IEEE INTERNATIONAL CONFERENCE ON COMPUTER COMMUNICATIONS (INFOCOM, 2020
See also references of EP4060998A4
XIAOQI YINABHISHEK JINDALVYAS SEKARBRUNO SINOPOLI: "A control theoretic approach for dynamic adaptive video streaming over HTTP", PROCEEDINGS OF THE 2015 ACM CONFERENCE ON SPECIAL INTEREST GROUP ON DATA COMMUNICATION, 2015, pages 325 - 338, XP058071190, DOI: 10.1145/2785956.2787486

Also Published As

Publication number Publication date
US20220368965A1 (en) 2022-11-17
EP4060998A4 (en) 2023-11-15
EP4060998A1 (en) 2022-09-21
US11877018B2 (en) 2024-01-16

Similar Documents

Publication Publication Date Title
US10957358B2 (en) Reference and non-reference video quality evaluation
US11190570B2 (en) Video encoding using starve mode
CN105392020B (zh) 一种互联网视频直播方法,及系统
US8160129B2 (en) Image pickup apparatus and image distributing method
US9253063B2 (en) Bi-directional video compression for real-time video streams during transport in a packet switched network
US20120230390A1 (en) Adaptive Control of Encoders for Continuous Data Streaming
US20110249181A1 (en) Transmitting device, receiving device, control method, and communication system
US20170078671A1 (en) Accelerated uploading of encoded video
US10182233B2 (en) Quality metric for compressed video
US10785511B1 (en) Catch-up pacing for video streaming
WO2015060638A1 (ko) 적응적 실시간 트랜스코딩 방법 및 이를 위한 스트리밍 서버
US10341670B1 (en) Video encoder bit rate stabilization
US20140344392A1 (en) Content delivery system, cache server, and content delivery method
KR102338986B1 (ko) 라이브 비디오 수집 시스템 및 방법
CN108696505B (zh) 视频分发设备、视频接收设备、视频分发方法和记录介质
KR20190030589A (ko) 오프로딩 시스템을 통해 무인 비행체의 영상을 분석하기 위한 방법 및 장치
KR101668540B1 (ko) 배신 네트워크와 서버 및 배신 방법
WO2021096159A1 (ko) 라이브 비디오 수집 시스템 및 방법
WO2015044104A1 (en) Video traffic management
Seeling et al. Evaluating multimedia networking mechanisms using video traces
US10484647B1 (en) Bandwidth estimation of a network connection
WO2015147548A1 (en) Enhanced distortion signaling for mmt assets and isobmff with improved mmt qos descriptor having multiple qoe operating points
CN113472680A (zh) 丢包处理方法、装置、通信装置及系统
US20100208790A1 (en) Method and System for Reducing the Bit Stream and Electronic Device Thereof
Ukommi et al. Content-aware bitrate adaptation for robust mobile video services

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020855895

Country of ref document: EP

Effective date: 20220615