WO2015060638A1 - 적응적 실시간 트랜스코딩 방법 및 이를 위한 스트리밍 서버 - Google Patents
적응적 실시간 트랜스코딩 방법 및 이를 위한 스트리밍 서버 Download PDFInfo
- Publication number
- WO2015060638A1 WO2015060638A1 PCT/KR2014/009941 KR2014009941W WO2015060638A1 WO 2015060638 A1 WO2015060638 A1 WO 2015060638A1 KR 2014009941 W KR2014009941 W KR 2014009941W WO 2015060638 A1 WO2015060638 A1 WO 2015060638A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- media data
- transcoding
- time
- play
- streaming server
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 16
- 239000000284 extract Substances 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000003908 quality control method Methods 0.000 description 2
- YOVXRIACERVBAG-AJQRHIRFSA-N (3e,5e)-6-hydroxy-2-oxo-6-phenylhexa-3,5-dienoic acid Chemical compound OC(=O)C(=O)\C=C\C=C(\O)C1=CC=CC=C1 YOVXRIACERVBAG-AJQRHIRFSA-N 0.000 description 1
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/38—Flow control; Congestion control by adapting coding or compression rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/752—Media network packet handling adapting media to network capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2401—Monitoring of the client buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/41407—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64746—Control signals issued by the network directed to the server or the client
- H04N21/64761—Control signals issued by the network directed to the server or the client directed to the server
- H04N21/64769—Control signals issued by the network directed to the server or the client directed to the server for rate control
Definitions
- the present invention relates to a transcoding method and a streaming server for improving a service quality by minimizing the interruption of an image even in an environment such as a mobile device in a media streaming service for delivering a multimedia image to a user terminal.
- Multimedia streaming refers to a service in which a video file or an image source stored in a storage server is transmitted to a plurality of user terminals (clients), and data reception and reproduction are simultaneously performed at the user terminal.
- This type of service has recently been widely recognized for its importance with the spread of mobile and cloud environments.
- Such streaming service technologies include Http live streaming (HLS) and Real-time Streaming Protocol (RTSP).
- HLS Http live streaming
- RTSP Real-time Streaming Protocol
- HLS the existing web server
- Http server can be used without major modification and the protocol is simple and is used a lot recently.
- Transcoding refers to a task of converting a format (file format), resolution, and quality of multimedia content.
- multimedia files stored in the storage server are often high quality and large, which may not be suitable for transmission and playback to a mobile terminal.
- the format of the source content stored in the server is not supported by the client, it is necessary to convert it.
- transcoding Since transcoding is usually a huge task, for servers that need to serve a large number of clients in real time, transcoding is done in advance to store the result file in advance and then use it to meet the needs. Most of the service was.
- real-time transcoding which performs transcoding at the time of user's request and simultaneously performs streaming, has been made possible by the development of computational performance of the server.
- the present invention has been made to solve the above-described problems, and by adaptively changing the image quality according to the network environment, to prevent the disconnection of the video at the client end, the server can automatically determine the optimal image quality streaming service It is to improve the quality of.
- the present invention determines or estimates the play-back buffer state of the client, which is not based on the detection of the bandwidth, and controls the image quality based on the server, and more effectively adjusts the image quality even when the bandwidth detection becomes inaccurate. This is to prevent video dropping at the client end.
- the present invention is to provide an efficient way to simply prevent the video dropping without significantly changing the hardware and software configuration of the existing streaming server.
- the present invention can effectively prevent the disconnection phenomenon by estimating the status of the play-back buffer of the client end in the server end without affecting the client end, such as the installation or change of separate software, plug-ins, etc. It is to provide.
- the adaptive real-time transcoding method for sequentially transmitting to a client end through a network, the method comprising: determining a play-back buffer filling level of the client end; Determining an image quality of the media data segment not transmitted to the client end according to the play-back buffer filling degree; And transcoding the unsent media data segment according to the determined picture quality.
- the method may further include temporarily storing segments of the divided and transcoded media data in a transcoding buffer, wherein the transcoding step extracts a media data segment stored in the transcoding buffer. Doing; And transcoding the extracted media data segment according to the determined image quality.
- an adaptive real-time transcoding method includes partitioning and transcoding a segment of media data at a streaming server; And sequentially transmitting, by the streaming server, a segment of media data to a client end through a network, wherein the quality of each media data segment is transmitted to the streaming server according to the client end play-back buffer filling degree. It is characterized by the real-time adjustment by.
- each of the media data segments may include play time and image quality data as metadata in the header, and the image quality data may reflect the real-time adjusted image quality information.
- the play-back buffer filling degree may be a reference value for causing the streaming server to estimate whether the play-back buffer is empty or becomes empty after a predetermined time elapses.
- the streaming server may compare the sum of the playback time of the transmitted media data segments with the elapsed time from the start of streaming.
- the streaming server detects that the sum of the playback time of the transmitted media data segments is smaller than the elapsed time from the start of the streaming, the streaming server has a lower quality than that of the transmitted media data segment. It may be to transcode the segment.
- the streaming server if the sum of the playback time of the transmitted media data segments is greater than the elapsed time from the streaming start time, the sum of the playback time of the transmitted media data segments from the streaming start time point
- the adjustment ratio of the image quality may be different depending on the time elapsed from when it is detected to be less than or equal to the elapsed time.
- the streaming server when the sum of the playback time of the transmitted media data segments is detected to be less than or equal to the elapsed time from the start of the streaming, the elapsed time additionally exceeds the image quality when the elapsed time. If the fine adjustment is smaller than a predetermined reference, the image quality may be adjusted at a high adjustment ratio.
- a streaming server is a streaming server that sequentially transmits segments of media data to a client-side play-back buffer for a streaming service, and determines a play-back buffer filling degree of the client-side.
- a play-back buffer estimator configured to determine an image quality of the media data segment not transmitted to the client end according to the play-back buffer filling level;
- a transcoder for transcoding the unsent media data segment according to the determined picture quality.
- the apparatus may further include a transcoding buffer configured to temporarily store media data segments resulting from the transcoding of the transcoder, and the transcoder extracts the media data segment stored in the transcoding buffer to determine the determined. It may be transcoding again according to the image quality.
- the play-back buffer filling degree may be a reference value for causing the streaming server to estimate whether the play-back buffer is empty or becomes empty after a predetermined time elapses.
- the streaming server may compare the sum of the playback time of the transmitted media data segments with the elapsed time from the start of streaming.
- the image quality can be adaptively changed according to the network environment, thereby preventing the disconnection at the client end, and the server can automatically determine the optimal image quality, thereby improving the quality of the streaming service.
- the present invention determines or estimates the play-back buffer state of the client, which is not based on the detection of the bandwidth, and controls the image quality based on the server side, thereby controlling the image quality more effectively even if the bandwidth detection is incorrect. This prevents the break in the stage.
- the present invention provides an efficient way to simply prevent the disconnection without significantly changing the hardware and software configuration of the existing streaming server.
- FIG. 1 is a diagram illustrating a streaming service providing environment including a streaming server, a client end, and a source media according to an embodiment of the present invention.
- FIG. 2 is a view for explaining the configuration of a transcoding buffer and a media data segment according to an embodiment of the present invention.
- FIG. 3 is a diagram for explaining an adaptive real-time transcoding method according to an embodiment of the present invention.
- FIG. 4 is a diagram for exemplarily describing an estimation algorithm of a play-back buffer state in an adaptive real-time transcoding method according to an embodiment of the present invention.
- FIG. 5 is an example of a diagram for controlling image quality for each section according to a play-back buffer state estimation parameter in the adaptive real-time transcoding method according to an embodiment of the present invention.
- Video streaming server technology is mainly delivered through HTTP, a web access standard protocol.
- Adaptive HTTP streaming (service of changing video quality of service in response to actual communication bandwidth of client connected to streaming server) HTTP adaptive streaming) has been proposed.
- HTTP streaming technologies include Apple's HTTP Live Streaming (HLS) and Adobe's HTTP Dynamic Streaming (HDS).
- the streaming service is described based on the Http Live Streaming (HLS) scheme for convenience of description.
- HLS Http Live Streaming
- other streaming technologies have a similar structure, and thus, the present invention is generally applicable. Note that it is exemplary.
- FIG. 1 is a diagram illustrating a streaming service providing environment including a streaming server, a client end, and a source media according to an embodiment of the present invention.
- the streaming server 100 of the present embodiment connects to the client 200 via a network 300 such as wired or wireless, and also interworks with a database 10 in which source media data is stored and managed.
- the network 300 includes a mobile communication network such as WCDMA, HDPA, 3G, and 4G, a local area network such as Bluetooth, Zigbee, and Wi-Fi, and a wired communication network such as the Internet or PSTN.
- a mobile communication network such as WCDMA, HDPA, 3G, and 4G
- a local area network such as Bluetooth, Zigbee, and Wi-Fi
- a wired communication network such as the Internet or PSTN.
- the source media database 10 may be a cloud media server or may be a separate storage.
- Content constituting the source media data may be provided through various networks from various sources.
- various sources may include a media server storing a media file, a 3G camera, an IP camera, an analog camera, a PC, a storage server, a laptop, a smartphone, a web hard, a smartphone, and the like.
- a set-top box for providing a live stream or a hardware encoder for digitally compressing a camera or video signal, a PC, a smart phone, a tablet PC, and the like may be included.
- the streaming server 100 of the present embodiment sequentially transmits segments 51, 52, and 53 of media data to the play-back buffer 210 of the client end 200 for a streaming service.
- the media data segment not transmitted to the client terminal 200 according to the filling degree of the play-back buffer 210 and the play-back buffer 210 that determines the filling degree of the play-back buffer 210 of the 200.
- the image quality control unit 30 determines the image quality of the transcoder 20, which transcodes the untransmitted media data segment according to the determined image quality, and a trans that sequentially stores the media data segments 52 and 53 resulting from the transcoding. Coding buffer 50 is included.
- the transcoder 20 may convert a plurality of contents such as a live broadcast stream and a media file into a format optimized for the decoding information of the plurality of client stages 200 in real time.
- the client end 200 connected to the streaming server 100 through a streaming session is provided with a play-back buffer 210, in which media data segments 230 and 240 of the next order for playback are stored. If the back buffer 210 becomes empty (or becomes almost empty), there is a risk of problems such as interruption of playback.
- the streaming server 100 may add metadata including the play time and image quality of the media data segments stored in the transcoding buffer 50, and add a play back buffer to the transmission start time and the completion time of each media data segment. Record in Government 40.
- FIG. 2 is a view for explaining the configuration of the transcoding buffer 150 and the media data segments 151 to 153 according to an embodiment of the present invention.
- the transcoding buffer 150 temporarily stores the media data segments 151 through 153, which are the coding results of the transcoder 20, sequentially.
- Each media data segment 151 through 153 has an encoding format, A header (H) section for recording metadata such as segment index, playback time, and image quality, and a media data bit string M corresponding to the compressed content data of each segment are included.
- Each segment may include video and audio data at the same time, and in the case of video data, it may include a key frame including all information of the corresponding frame and a compressed frame storing only a change amount by referring to the key frame to increase compression efficiency. have. Since the compressed frame cannot be decoded without a key frame to be referred to, each segment stores image data as a GOP (Group of Pictures) which is a set unit of a key frame and compressed frames referring to the key frame. That is, one segment may include one or several GOPs.
- GOP Group of Pictures
- FIG. 3 is a diagram for explaining an adaptive real-time transcoding method according to an embodiment of the present invention.
- the streaming server 100 When the client terminal 200 requests a streaming service, the streaming server 100 creates a session to distinguish each user. In response to the request, the streaming server 100 inputs and decodes source media data from various storages 10 such as a database (S10).
- various storages 10 such as a database (S10).
- the transcoder 20 divides the resultant image into segments of an appropriate size (S20), transcodes each of them, and temporarily stores them in the transcoding buffer 50. In this process, the entire decoded source media data may be transcoded once and then divided and stored in each segment.
- the streaming server 100 then transmits each media data segment to the client end 200, and the client end 200 stores the received media data segment in the play-back buffer 210.
- the streaming server 100 plays the transmission start time, the completion time, and information about each segment (e.g., metadata such as playback time and image quality).
- the data is recorded in the back buffer estimator 40 (S40).
- the client stage 200 decodes the appropriate number of media data segments in the play-back buffer 210 to start playback. At this time, if the play-back buffer 210 becomes empty for various reasons, the present invention intends to prevent the playback because the play is paused.
- the play-back buffer estimator 40 of the streaming server 100 estimates the buffer state of the client terminal 200 (S50). At this time, the operation time of the play-back buffer estimator 40 according to the transmission time of each media data segment may be appropriately adjusted. In addition, the play-back buffer estimator 40 may be set to start operation only after the transmission of the several media data segments necessary for the start of playback in the client terminal 200 is completed.
- transcoding is performed by adjusting the image quality of the media data segment to be transmitted (for example, segment m, where m> n).
- the media data segment of which image quality is adjusted is stored in the transcoding buffer 50.
- the media data segments may be removed and replaced with the newly adjusted image quality segments (S80).
- FIG. 4 is a diagram for exemplarily describing an estimation algorithm of a play-back buffer state in an adaptive real-time transcoding method according to an embodiment of the present invention.
- the play-back buffer estimator 40 may determine a parameter indicating the state of the play-back buffer and perform the determination using the same (S52).
- the play-back buffer estimator 40 It can be defined as the following relationship.
- T (play-back buffer) S (play time of transmitted segments)-(elapsed time from start of streaming)
- a value obtained by subtracting the elapsed time from the start of streaming from the accumulated value of the playing time of the transmitted segments is determined as the value of the 'T (playback buffer)' parameter, and based on this, the state of the playback buffer is estimated. It is possible.
- the value of the 'T (play-back buffer)' parameter is 0 or less (S54), and if it is 0 or less, it is determined as a dangerous situation and is set to the lowest quality within the possible range set in the image quality control unit 30. (S56). In this process, the segment already stored in the current transcoding buffer 50 may be taken out, and transcoding may be performed again with low image quality.
- the image quality can be adjusted according to the time elapsed from the dangerous situation (i.e., if the parameter value is zero or less). For example, when a predetermined time (a) has not elapsed from the dangerous situation, the image quality (or bit rate) may be rapidly changed by determining as a recovery step (S60). In this case, an exponential adjustment algorithm (multiply or divide by a certain multiple) can be used. When a predetermined time a has elapsed, the image quality (or bit rate) can be changed finely (S62). In this case, you can add or subtract specific constants.
- FIG. 5 is an example of a diagram for controlling image quality according to each section according to a play-back buffer state estimation parameter in the adaptive real-time transcoding method according to an embodiment of the present invention.
- the adjustment of the image quality according to the 'T (play-back buffer)' parameter value uses an exponential adjustment algorithm as the parameter value increases in a section below the predetermined value (a), or other. For example, it can be rapidly increased by applying a linear adjustment method with a high slope.
- a method of linearly increasing with a low slope or adding or subtracting a specific constant may be applied.
- the policy of the service provider may be various modifications depending on the policy of the service provider as to how much image quality adjustment is to be performed.
- a case may be considered in which the above-described method is applied to a policy of maintaining 'T (play-back buffer)' for a predetermined time.
- the error value E at the target may be determined as in Equation 2 below.
- Equation 3 a method of applying two different amounts of change to the current image quality value may be applied in proportion to the error value E based on the predetermined value (a).
- the server or device described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components.
- the devices and components described in the embodiments are, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable gate arrays (FPGAs).
- ALUs arithmetic logic units
- FPGAs field programmable gate arrays
- PLU programmable logic unit
- the processing device may execute an operating system (OS) and one or more software applications running on the operating system.
- the processing device may also access, store, manipulate, process, and generate data in response to the execution of the software.
- processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include.
- the processing device may include a plurality of processors or one processor and one controller.
- other processing configurations are possible, such as parallel processors.
- the software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device.
- Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted.
- the software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner.
- Software and data may be stored on one or more computer readable recording media.
- the method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium.
- the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
- the program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts.
- Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks.
- Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
- the hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
본 발명은 미디어 스트리밍 서비스 상에서 트랜스코딩 연산의 설정 값을 네트워크 환경에 맞게 적응적으로 변화하여, 모바일 기기와 같은 환경에서 영상의 끊김을 최소로 줄여 서비스 질을 향상시키기 위한 적응적 실시간 트랜스코딩 방법 및 이를 위한 스트리밍 서버에 관한 것이다. 본 발명의 적응적 실시간 트랜스코딩 방법은, 스트리밍 서버에서 분할 및 트랜스코딩 된 미디어 데이터의 세그먼트를 네트워크를 통해 클라이언트 단으로 순차 전송하기 위한 실시간 트랜스코딩 방법이며, 클라이언트 단의 플레이-백 버퍼 충진 정도를 판별하는 단계; 플레이-백 버퍼 충진 정도에 따라 클라이언트 단으로 전송되지 않은 미디어 데이터 세그먼트의 화질을 결정하는 단계; 및 결정된 화질에 따라 전송되지 않은 미디어 데이터 세그먼트를 트랜스코딩하는 단계를 포함한다.
Description
본 발명은 멀티미디어 영상을 사용자 단말로 전달하는 미디어 스트리밍 서비스 상에서, 모바일 기기 등의 환경에서도 영상의 끊김을 최소로 줄여 서비스 질을 향상시키기 위한 트랜스코딩 방법 및 이를 위한 스트리밍 서버에 관한 것이다.
멀티미디어 스트리밍은 스토리지 서버에 저장된 동영상 파일이나 혹은 영상 소스를 여러 사용자 단말(클라이언트)로 전송하고, 사용자 단말에서는 데이터 수신과 재생이 동시에 이루어지는 형태의 서비스를 말한다. 이러한 형태의 서비스는 최근 모바일 및 클라우드 환경의 확산과 함께 그 중요도가 널리 인식되고 있다.
이러한 스트리밍 서비스 기술로는 HLS(Http live streaming) 방식과, RTSP(Real-time Streaming Protocol) 방식 등이 있다. HLS 기술의 경우 기존의 웹 서버(Http 서버)를 큰 수정 없이 사용할 수 있고 프로토콜이 단순하여 최근에 많이 사용되고 있다.
트랜스코딩이란 멀티미디어 컨텐츠의 형식(파일 포맷), 해상도, 화질 등을 변환하는 작업을 말한다. 스트리밍 서비스에서 스토리지 서버에 저장된 멀티미디어 파일은 대부분 고화질, 대용량인 경우가 많고 이는 모바일 단말로의 전송과 재생에 적합하지 않을 수 있다. 또한, 서버에 저장된 소스 컨텐츠의 포맷이 클라이언트가 지원할 수 없는 형태인 경우에도 이에 대한 변환이 필요하다.
이러한 트랜스코딩은 대개 막대한 연산자원이 필요한 작업이므로, 실시간으로 다수의 클라이언트들에 대해 서비스를 제공해야 하는 서버의 입장에서는 미리 트랜스코딩을 실행해서 결과 파일을 미리 저장한 다음 이를 그때그때 요구에 맞도록 서비스하는 형태가 대부분이었다. 하지만, 최근에는 클라우드 등 기술의 보급으로 사용자가 업로드하는 멀티미디어 파일에 대한 스트리밍 서비스 요구가 증가하고 사용자 단말 또한 태블릿PC, 스마트 폰, 스마트TV등으로 다변화됨에 따라 미리 트랜스코딩을 실시하기 어렵게 되고 있다. 그러므로 최근에는 사용자 요청 시 스트리밍의 실행과 동시에 트랜스코딩을 실시하는 실시간 트랜스코딩이 이루어지고 있으며, 서버의 연산성능 발전이 이를 가능하게 하고 있다.
모바일 기기의 경우 단말이 이동하기 때문에 네트워크 상태가 계속해서 변화하게 된다. 현재 재생하고 있는 영상의 비트레이트(Bitrate: 끊김 없이 재생에 필요한 대역폭의 크기)가 현재 네트워크 대역폭 보다 작은 경우에는 문제가 없지만, 반대로 가용한 대역폭이 대폭 감소하는 경우(예를 들어, 와이파이(Wi-Fi)에서 3G로 핸드오프(Handoff) 되는 경우)에는 영상의 화질을 낮추지 않으면 원활한 재생이 불가능하다. 이러한 환경에서 영상이 실시간 트랜스코딩 되고 있는 경우에는 이러한 상황 변화를 감지하여 자동으로 더 낮은 화질로 인코딩 하도록 하여 비트레이트(Bitrate)를 낮춤으로서 끊김을 방지하고 원활한 재생이 가능하도록 한다.
이러한 트랜스코딩에 관한 종래기술로는 한국특허출원 제10-2011-35112호, 한국특허출원 제10-2012-67789호 등을 들 수 있으나, 이러한 기술에는 대역폭 및 인코딩 서버의 성능을 고려하여 트랜스코딩 화질 등을 결정하며, 특히, 사용자 단말의 네트워크 대역폭을 검출하여 이를 기반으로 영상의 화질(비트레이트)을 변화시키는 기술에 기반하고 있다.
그러나, 네트워크 대역폭 검출 기반의 제어 방법은 실용적인 측면에서 여러 어려움이 존재한다. 대역폭을 클라이언트가 검출하는 시스템의 경우, 화질 조절을 위해서는 서버 측에서 클라이언트의 대역폭 정보에 대한 수신이 필요한데, 이는 네트워크 트래픽 및 서버의 부하를 증가시킨다. 또한, 서버 측의 클라이언트 대역폭 검출은 정확히 이루어지기가 어려운데, 이는 서버와 클라이언트 사이의 라우터와 같은 네트워크 장비에 의한 버퍼 효과로 인하여 정확하게 클라이언트에 전송이 완료되는 타이밍을 서버가 어플리케이션 수준에서 파악하기가 어렵기 때문이다. 이러한 문제점을 극복하기 위해서는 특별한 네트워크 프로토콜과 그에 따른 클라이언트와 서버의 소프트웨어/하드웨어 교체가 필요하지만 이는 일반적으로 서비스 제공자가 선택하기는 어려운 방법이다. 또한, 성능 측면에서 보더라도, 네트워크 대역폭 검출에 기반한 방법은 클라이언트의 상태를 고려하는 것은 아니기 때문에 실제 클라이언트 단에서의 영상 끊김 최소화를 달성하는 것이 어려울 수 있다는 한계가 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 네트워크 환경에 따라 화질을 적응적으로 변화하게 함으로서 클라이언트 단에서의 영상의 끊김 현상을 방지하고, 최적의 화질을 서버가 자동으로 결정할 수 있도록 하여 스트리밍 서비스의 질을 향상시키기 위한 것이다.
특히, 본 발명은 대역폭의 검출에 기반한 것이 아닌 클라이언트의 플레이-백 버퍼 상태를 서버 측에서 판단 내지 추정하고 이를 기반으로 영상 화질을 제어함으로써 대역폭 검출이 부정확하게 되는 경우라 하더라도 더 효과적으로 화질을 조절하여 클라이언트 단에서의 영상 끊김 현상을 방지할 수 있도록 하기 위한 것이다.
또한, 본 발명은 기존의 스트리밍 서버의 하드웨어 및 소프트웨어의 구성을 크게 변경하지 않고도 간단히 영상 끊김 현상을 방지할 수 있는 효율적인 방안을 제공하기 위한 것이다.
또한, 본 발명은 클라이언트 단에 별도 소프트웨어, 플러그 인 등의 설치나 변경 등 클라이언트 단에 대한 영향이 없이 서버 단에서 클라이언트 단의 플레이-백 버퍼의 상태 추정에 의해 효과적으로 끊김 현상을 방지할 수 있는 방안을 제공하기 위한 것이다.
상기 목적 외에 본 발명의 다른 목적 및 특징들은 첨부 도면을 참조한 실시형태에 관한 설명을 통하여 명백히 드러나게 될 것이다.
상술한 기술적 과제의 해결을 위한 본 발명의 특징을 요약하면, 본 발명의 한 특징에 의한 적응적 실시간 트랜스코딩 방법은, 스트리밍 서버에서 분할 및 트랜스코딩(transcoding) 된 미디어 데이터의 세그먼트(segment)를 네트워크를 통해 클라이언트 단으로 순차 전송하기 위한 실시간 트랜스코딩 방법이며, 상기 클라이언트 단의 플레이-백 버퍼 충진 정도를 판별하는 단계; 상기 플레이-백 버퍼 충진 정도에 따라 상기 클라이언트 단으로 전송되지 않은 상기 미디어 데이터 세그먼트의 화질을 결정하는 단계; 및 상기 결정된 화질에 따라 상기 전송되지 않은 미디어 데이터 세그먼트를 트랜스코딩하는 단계를 포함한다.
필요에 따라서는, 상기 분할 및 트랜스코딩 된 미디어 데이터의 세그먼트를 트랜스코딩 버퍼에 임시 저장하는 단계를 더 포함할 수 있으며, 상기 트랜스코딩 단계는, 상기 트랜스코딩 버퍼에 저장되어 있는 미디어 데이터 세그먼트를 추출하는 단계; 및 상기 추출된 미디어 데이터 세그먼트를 상기 결정된 화질에 따라 다시 트랜스코딩하는 단계를 포함할 수 있다.
본 발명의 또 다른 한 특징에 의한 적응적 실시간 트랜스코딩 방법은, 스트리밍 서버에서 미디어 데이터의 세그먼트를 분할 및 트랜스코딩(transcoding)하는 단계; 및 상기 스트리밍 서버에서 미디어 데이터의 세그먼트(segment)를 네트워크를 통해 클라이언트 단으로 순차 전송하는 단계를 포함하며, 상기 각 미디어 데이터 세그먼트의 화질은 상기 클라이언트 단 플레이-백 버퍼 충진 정도에 따라 상기 스트리밍 서버에 의해 실시간 조정되는 것을 특징으로 한다.
필요에 따라서는, 상기 각 미디어 데이터 세그먼트는 재생시간 및 화질 데이터를 메타데이터로서 헤더에 포함하며, 상기 화질 데이터는 상기 실시간 조정된 화질 정보가 반영된 것일 수 있다.
또한, 상기 플레이-백 버퍼 충진 정도는, 상기 플레이-백 버퍼가 비어있는 상태이거나 또는 소정 시간 경과 후 비어있게 되는 상태인지를 상기 스트리밍 서버에서 추정하도록 하기 위한 기준 값일 수 있다.
또한, 상기 스트리밍 서버는, 상기 전송된 미디어 데이터 세그먼트들의 재생 시간의 합과 스트리밍 개시 시점으로부터의 경과 시간을 비교하는 것일 수 있다.
또한, 상기 스트리밍 서버는, 상기 전송된 미디어 데이터 세그먼트들의 재생 시간의 합이 상기 스트리밍 개시 시점으로부터의 경과 시간에 비하여 작은 것으로 감지될 경우, 상기 전송된 미디어 데이터 세그먼트의 화질보다 낮은 화질로 상기 미디어 데이터 세그먼트를 트랜스코딩하는 것일 수 있다.
또한, 상기 스트리밍 서버는, 상기 전송된 미디어 데이터 세그먼트들의 재생 시간의 합이 상기 스트리밍 개시 시점으로부터의 경과 시간에 비하여 큰 경우, 상기 전송된 미디어 데이터 세그먼트들의 재생 시간의 합이 상기 스트리밍 개시 시점으로부터의 경과 시간보다 작거나 같은 것으로 감지된 때로부터 추가적으로 경과된 시간에 따라 각각 화질의 조정 비율을 달리하는 것일 수 있다.
또한, 상기 스트리밍 서버는, 상기 전송된 미디어 데이터 세그먼트들의 재생 시간의 합이 상기 스트리밍 개시 시점으로부터의 경과 시간보다 작거나 같은 것으로 감지된 때로부터 추가적으로 경과된 시간이 소정 기준보다 클 경우에는 상기 화질을 미세 조정하며, 소정 기준보다 작은 경우에는 상기 화질을 높은 조정 비율로 조정하는 것일 수 있다.
본 발명의 또 다른 한 특징에 의한 스트리밍 서버는, 스트리밍 서비스를 위하여 미디어 데이터의 세그먼트들을 클라이언트 단의 플레이-백 버퍼로 순차 전송하는 스트리밍 서버이며, 상기 클라이언트 단의 플레이-백 버퍼 충진 정도를 판별하는 플레이-백 버퍼 추정부; 상기 플레이-백 버퍼 충진 정도에 따라 상기 클라이언트 단으로 전송되지 않은 상기 미디어 데이터 세그먼트의 화질을 결정하는 화질 제어부; 및 상기 결정된 화질에 따라 상기 전송되지 않은 미디어 데이터 세그먼트를 트랜스코딩하는 트랜스코더를 포함한다.
필요에 따라서는, 상기 트랜스코더의 트랜스코딩 결과인 미디어 데이터 세그먼트들을 임시 저장하는 트랜스코딩 버퍼를 더 포함할 수 있으며, 상기 트랜스코더는 상기 트랜스코딩 버퍼에 저장되어 있는 미디어 데이터 세그먼트를 추출하여 상기 결정된 화질에 따라 다시 트랜스코딩하는 것일 수 있다.
또한, 상기 플레이-백 버퍼 충진 정도는, 상기 플레이-백 버퍼가 비어있는 상태이거나 또는 소정 시간 경과 후 비어 있게 되는 상태인지를 상기 스트리밍 서버에서 추정하도록 하기 위한 기준 값일 수 있다.
또한, 상기 스트리밍 서버는, 상기 전송된 미디어 데이터 세그먼트들의 재생 시간의 합과 스트리밍 개시 시점으로부터의 경과 시간을 비교하는 것일 수 있다.
본 발명에 의하여, 네트워크 환경에 따라 화질을 적응적으로 변화하게 함으로서 클라이언트 단에서의 끊김 현상을 방지하고, 최적의 화질을 서버가 자동으로 결정할 수 있게 하여 스트리밍 서비스의 질을 향상시킬 수 있게 된다.
또한, 본 발명은 대역폭의 검출에 기반한 것이 아닌 클라이언트의 플레이-백 버퍼 상태를 서버 측에서 판단 내지 추정하고 이를 기반으로 영상 화질을 제어함으로써 대역폭 검출이 부정확한 경우라 하더라도 더 효과적으로 화질을 조절하여 클라이언트 단에서의 끊김 현상을 방지할 수 있도록 한다.
또한, 본 발명에 의해 기존의 스트리밍 서버의 하드웨어 및 소프트웨어의 구성을 크게 변경하지 않고도 간단히 끊김 현상을 방지할 수 있는 효율적인 방안이 제공된다.
또한, 본 발명에 의해, 클라이언트 단에서 별도 소프트웨어, 플러그 인 등의 설치나 변경 등 영향이 없이 서버 단에서 클라이언트 단의 플레이-백 버퍼의 상태 추정에 의해 효과적으로 끊김 현상을 방지할 수 있는 방안이 제공된다.
도 1은 본 발명의 한 실시형태에 따른 스트리밍 서버, 클라이언트 단 및 소스 미디어를 포함하는 스트리밍 서비스 제공 환경을 설명하기 위한 도면이다.
도 2는 본 발명의 한 실시형태에 따른 트랜스코딩 버퍼 및 미디어 데이터 세그먼트의 구성을 설명하기 위한 도면이다.
도 3은 본 발명의 한 실시형태에 따른 적응적 실시간 트랜스코딩 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 한 실시형태에 따른 적응적 실시간 트랜스코딩 방법에서 플레이-백 버퍼 상태의 추정 알고리즘을 예시적으로 설명하기 위한 도면이다.
도 5는 본 발명의 한 실시형태에 따른 적응적 실시간 트랜스코딩 방법에서 플레이-백 버퍼 상태 추정 파라미터에 따라 각 구간 별로 화질을 구분 제어하기 위한 다이어그램의 예시이다.
이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하지만, 본 발명의 기술사상이 실시예들에 의해 제한되거나 한정되는 것은 아니다.
비디오 스트리밍 서버 기술은 주로 웹 접근 표준 프로토콜인 HTTP를 통해 전달하는 방식이 대세라고 할 수 있는데, 스트리밍 서버에 접속된 클라이언트의 실질 통신 대역폭에 대응하여 동영상 서비스 품질을 변경하면서 서비스하는 적응적 HTTP 스트리밍(HTTP adaptive streaming)이 제안되어 있다. HTTP 스트리밍 기술로는 애플(Apple)의 HLS(HTTP Live Streaming)와 어도비(Adobe)의 HDS(HTTP Dynamic Streaming) 등을 들 수 있다.
이하에서는 설명의 편의를 위해 스트리밍 서비스는 Http Live Streaming (HLS) 방식을 기반으로 하여 설명하지만, 다른 스트리밍 기술의 경우도 기본적으로는 유사한 구조를 가지고 있으므로 본 발명의 기술은 일반적으로 적용 가능하며, 단지 예시적인 것임을 밝혀둔다.
도 1은 본 발명의 한 실시형태에 따른 스트리밍 서버, 클라이언트 단 및 소스 미디어를 포함하는 스트리밍 서비스 제공 환경을 설명하기 위한 도면이다.
본 실시형태의 스트리밍 서버(100)는 유선, 무선 등 네트워크(300)를 통하여 클라이언트(200)와 접속하며, 또한, 소스 미디어 데이터가 저장 및 관리되는 데이터베이스(10)와 연동한다.
여기서, 네트워크(300)란, WCDMA, HDPA, 3G, 4G 등 이동통신망, 블루투스(Bluetooth), 지그비(Zigbee), 와이파이(Wi-Fi) 등 근거리 통신망과, 인터넷이나 PSTN 등 유선 통신망을 포함한다.
또한, 여기서, 소스 미디어 데이터베이스(10)는 클라우드 미디어 서버가 될 수도 있고, 별도의 저장소가 될 수도 있는데, 소스 미디어 데이터를 구성하는 컨텐츠는 다양한 소스로부터 네트워크를 통하여 제공될 수 있다. 예를 들어, 다양한 소스로는 미디어 파일을 저장하고 있는 미디어 서버, 3G 카메라, IP 카메라, 아날로그 카메라, PC, 스토리지 서버, 노트북, 스마트 폰, 웹 하드, 스마트 폰 등이 포함될 수 있다. 또한, 생방송 스트림을 제공하는 셋-탑 박스나 카메라나 비디오 신호를 디지털로 압축하는 하드웨어 인코더, PC, 스마트 폰, 태블릿 PC 등이 포함될 수 있다.
본 실시형태의 스트리밍 서버(100)는, 스트리밍 서비스를 위하여 미디어 데이터의 세그먼트들(51, 52, 53)을 클라이언트 단(200)의 플레이-백 버퍼(210)로 순차 전송하는 것이며, 클라이언트 단(200)의 플레이-백 버퍼(210)의 충진 정도를 판별하는 플레이-백 버퍼 추정부(40), 플레이-백 버퍼(210)의 충진 정도에 따라 클라이언트 단(200)으로 전송되지 않은 미디어 데이터 세그먼트의 화질을 결정하는 화질 제어부(30), 결정된 화질에 따라 전송되지 않은 미디어 데이터 세그먼트를 트랜스코딩하는 트랜스코더(20), 트랜스코딩 결과물인 미디어 데이터 세그먼트들(52, 53)을 순차적으로 저장하는 트랜스코딩 버퍼(50)를 포함한다.
트랜스코더(20)는 생방송 스트림 및 미디어 파일 등의 복수의 컨텐츠를 실시간으로 복수의 클라이언트 단(200)의 디코딩 정보에 맞도록 최적화된 포맷으로 변환하는 역할을 수행할 수 있다.
스트리밍 서버(100)와 스트리밍 세션을 통하여 접속되어 있는 클라이언트 단(200)에는 플레이-백 버퍼(210)가 구비되어 있는데 재생을 위한 다음 순서의 미디어 데이터 세그먼트들(230, 240)이 저장되며, 플레이-백 버퍼(210)가 비게 되면(또는 거의 비어가는 상태가 되면) 재생의 끊김 등 문제 발생의 우려가 있게 된다.
스트리밍 서버(100)는 트랜스코딩 버퍼(50)에 저장된 미디어 데이터 세그먼트들의 재생시간 및 화질을 포함하는 메타데이터와, 전송 개시시간 및 전송 완료시간을 각 미디어 데이터 세그먼트의 전송 완료 시마다 플레이-백 버퍼 추정부(40)에 기록한다.
도 2는 본 발명의 한 실시형태에 따른 트랜스코딩 버퍼(150) 및 미디어 데이터 세그먼트(151 내지 153)의 구성을 설명하기 위한 도면이다.
도시된 바와 같이, 트랜스코딩 버퍼(150)는 트랜스코더(20)의 코딩 결과물인 미디어 데이터 세그먼트(151 내지 153)들이 순차적으로 임시 저장하는데, 각 미디어 데이터 세그먼트(151 내지 153)는 인코딩 포맷, 각 세그먼트의 인덱스, 재생시간 및 화질 등의 메타데이터를 기록하는 헤더(H)부와 각 세그먼트의 압축된 컨텐츠 데이터에 해당하는 미디어 데이터 비트 열(M)을 포함하게 된다.
각 세그먼트는 영상 및 음성 데이터를 동시에 포함할 수 있으며, 영상 데이터의 경우에는 해당 프레임의 모든 정보를 담고 있는 키 프레임과 압축 효율을 높이기 위해 키 프레임을 참조하여 변화량만을 저장하는 압축 프레임을 포함할 수 있다. 압축 프레임은 참조 대상인 키 프레임이 없으면 디코딩이 불가능하므로, 원활한 재생을 위해 각 세그먼트는 키 프레임과 해당 키 프레임을 참조하는 압축 프레임들의 집합 단위인 GOP (Group of Pictures)로 영상 데이터를 저장한다. 즉, 하나의 세그먼트는 하나 또는 여러 개의 GOP를 포함할 수 있다.
도 3은 본 발명의 한 실시형태에 따른 적응적 실시간 트랜스코딩 방법을 설명하기 위한 도면이다.
클라이언트 단(200)에서 스트리밍 서비스를 요청하면, 스트리밍 서버(100)는 각 사용자를 구별하기 위해 세션(Session)을 생성한다. 요청에 따라 스트리밍 서버(100)는 소스 미디어 데이터를 데이터베이스 등 각종 저장소(10)로부터 입력하여 디코딩 한다(S10).
또한, 트랜스코더(20)는 적당한 크기의 세그먼트(Segment)로 결과 영상을 분할하고(S20), 각각을 트랜스코딩하여 트랜스코딩 버퍼(50)에 임시 저장한다. 한편, 이러한 과정에서는 디코딩 한 소스 미디어 데이터 전체를 일단 트랜스코딩 한 후 각 세그먼트 별로 분할하여 저장할 수도 있다.
스트리밍 서버(100)는 이후로부터 각 미디어 데이터 세그먼트들을 클라이언트 단(200)으로 전송하며, 클라이언트 단(200)은 수신한 미디어 데이터 세그먼트를 플레이-백 버퍼(210)에 저장한다. 스트리밍 서버(100)는 각 세그먼트(가령 세그먼트 n)의 전송을 완료할 때마다, 전송 시작시간, 완료시간 및 각 세그먼트에 대한 정보(예를 들어, 재생시간, 화질 등의 메타데이터)를 플레이-백 버퍼 추정부(40)에 기록한다(S40).
클라이언트 단(200)은 적당한 개수의 미디어 데이터 세그먼트들이 플레이-백 버퍼(210)에 수신되면 이를 디코딩하여 재생을 개시한다. 이때, 만약 여러 가지 이유에 의해 플레이-백 버퍼(210)가 빈 상태가 되면 재생이 일시 정지될 것이므로 본 발명은 이를 방지하고자 하는 것이다.
각 미디어 데이터 세그먼트의 전송이 완료될 때마다, 스트리밍 서버(100)의 플레이-백 버퍼 추정부(40)에서는 클라이언트 단(200)의 버퍼 상태를 추정한다(S50). 이때, 각 미디어 데이터 세그먼트의 전송 시점에 따른 플레이-백 버퍼 추정부(40)의 동작 시점은 적절히 조정될 수 있다. 또한, 상술한 클라이언트 단(200)에서의 재생 개시에 필요한 수 개의 미디어 데이터 세그먼트의 전송이 완료된 후에야 플레이-백 버퍼 추정부(40)가 동작개시 되도록 설정할 수도 있다.
추정된 플레이-백 버퍼(210)의 상태에 따라 전송할 미디어 데이터 세그먼트(가령, 세그먼트 m, 여기서 m>n)의 화질을 조정하여 트랜스코딩을 수행한다(S70). 그리고 화질 조정된 미디어 데이터 세그먼트를 트랜스코딩 버퍼(50)에 저장한다. 이때, 해당 순서의 미디어 데이터 세그먼트가 이미 트랜스코딩 되어 버퍼에 저장되어 있다면 이를 제거하고 새로 화질이 조정된 세그먼트로 대체할 수도 있다(S80).
도 4는 본 발명의 한 실시형태에 따른 적응적 실시간 트랜스코딩 방법에서 플레이-백 버퍼 상태의 추정 알고리즘을 예시적으로 설명하기 위한 도면이다.
예컨대, 플레이-백 버퍼 추정부(40)에서는 플레이-백 버퍼의 상태를 나타내는 파라미터를 정하고 이를 이용하여 판단을 수행할 수 있는데(S52), 가령, 'T(플레이-백 버퍼)'라는 파라미터를 다음의 관계식과 같이 정의할 수 있다.
<관계식 1>
T(플레이-백 버퍼)=S(전송된 세그먼트들의 재생시간) - (스트리밍 개시시점으로부터의 경과 시간)
즉, 전송된 세그먼트들의 재생 시간을 누계한 값에서 스트리밍 개시시점으로부터의 경과 시간을 뺀 값을 'T(플레이-백 버퍼)' 파라미터 값으로 정하고, 이를 기준으로 플레이-백 버퍼의 상태를 추정하는 것이 가능하다.
우선, 'T(플레이-백 버퍼)' 파라미터 값이 0이하인지 여부를 판단하여(S54), 0이하인 경우에는 위험 상황으로 판단하고 화질 제어부(30)에 설정된 가능범위 내에서 가장 낮은 화질로 설정한다(S56). 이 과정에서, 현재 트랜스코딩 버퍼(50)에 이미 저장된 세그먼트를 꺼내어 다시 낮은 화질로 트랜스코딩을 실시하는 등의 동작을 수행할 수도 있다.
'T(플레이-백 버퍼)' 파라미터 값이 0보다는 큰 경우, 위험 상황(즉, 파라미터 값이 0이하인 경우)으로부터 경과한 시간에 따라 화질을 조절할 수 있다. 예를 들어, 위험 상황으로부터 정해진 소정의 시간(a)이 경과하지 않았을 경우, 회복 단계로 판단하여 화질(또는 비트레이트)을 급격하게 변화시킬 수 있다(S60). 이 경우, 지수적인 조절 알고리즘 (특정 배수를 곱하거나 나눔)을 사용할 수 있다. 정해진 소정의 시간(a)이 경과한 경우에는 화질(또는 비트레이트)를 미세하게 변화시킬 수 있다(S62). 이 경우, 특정 상수를 더하거나 빼는 방법을 사용할 수 있다.
도 5는 본 발명의 한 실시형태에 따른 적응적 실시간 트랜스코딩 방법에서 플레이-백 버퍼 상태 추정 파라미터에 따라 각 구간 별로 화질을 구분 제어하기 위한 다이어그램의 한 예시이다.
상술한 'T(플레이-백 버퍼)' 파라미터 값에 따른 화질의 조정은 도 5에 나타낸 바와 같이, 소정 값(a)이하인 구간에서는 파라미터 값이 증가함에 따라 지수적인 조절 알고리즘을 사용하거나, 또는 다른 예로, 높은 기울기로 선형적으로 조절하는 방식을 적용함으로써 급격히 증가시킬 수 있다.
또한, 소정 값(a)을 넘는 구간에서는 파라미터 값이 증가함에 따라 낮은 기울기로 선형적 증가시키거나 특정 상수를 더하거나 빼는 방식을 적용할 수 있다.
구체적으로 어느 정도 화질 조정을 수행할 것인지는 서비스 제공자의 정책에 따라 여러 가지 변형이 있을 수 있다. 하나의 예로, 'T(플레이-백 버퍼)'를 일정 시간으로 유지하는 정책에 상술한 방법을 적용하는 경우를 생각할 수 있다. 예컨대, 서비스 정책에 따른 목표 'T(플레이-백 버퍼)' 값을 기호 P로 나타내면, 목표에서의 오차값 E를 다음의 관계식 2와 같이 정할 수 있다.
<관계식 2>
E = T(플레이-백 버퍼)- P
위와 같은 경우, 다음의 관계식 3과 같이 소정 값(a)을 기준으로 오차값 E에 비례하여 현재의 화질 값에 서로 다른 두 가지 변화량을 적용하는 방식을 적용할 수도 있다.
<관계식 3>
1. T(플레이-백 버퍼) < a인 경우: 현재 화질 Q 에서 높은 기울기 H를 적용하여 새로운 화질을 Q = Q+H*E로 설정
2. T(플레이-백 버퍼) = a인 경우: 현재 화질 Q 에서 낮은 기울기 L를 적용하여 새로운 화질을 Q = Q+L*E로 설정
이상에서 설명된 서버 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
Claims (13)
- 스트리밍 서버에서 분할 및 트랜스코딩(transcoding) 된 미디어 데이터의 세그먼트(segment)를 네트워크를 통해 클라이언트 단으로 순차 전송하기 위한 실시간 트랜스코딩 방법에 있어서,상기 클라이언트 단의 플레이-백 버퍼 충진 정도를 판별하는 단계;상기 플레이-백 버퍼 충진 정도에 따라 상기 클라이언트 단으로 전송되지 않은 상기 미디어 데이터 세그먼트의 화질을 결정하는 단계; 및상기 결정된 화질에 따라 상기 전송되지 않은 미디어 데이터 세그먼트를 트랜스코딩하는 단계를 포함하는 적응적 실시간 트랜스코딩 방법.
- 제1항에 있어서,상기 분할 및 트랜스코딩 된 미디어 데이터의 세그먼트를 트랜스코딩 버퍼에 임시 저장하는 단계를 더 포함하며,상기 트랜스코딩 단계는, 상기 트랜스코딩 버퍼에 저장되어 있는 미디어 데이터 세그먼트를 추출하는 단계; 및상기 추출된 미디어 데이터 세그먼트를 상기 결정된 화질에 따라 다시 트랜스코딩하는 단계를 포함하는 적응적 실시간 트랜스코딩 방법.
- 스트리밍 서버에서 미디어 데이터의 세그먼트를 분할 및 트랜스코딩(transcoding)하는 단계; 및상기 스트리밍 서버에서 미디어 데이터의 세그먼트(segment)를 네트워크를 통해 클라이언트 단으로 순차 전송하는 단계를 포함하며,상기 각 미디어 데이터 세그먼트의 화질은 상기 클라이언트 단 플레이-백 버퍼 충진 정도에 따라 상기 스트리밍 서버에 의해 실시간 조정되는 것을 특징으로 하는 적응적 실시간 트랜스코딩 방법.
- 제3항에 있어서,상기 각 미디어 데이터 세그먼트는 재생시간 및 화질 데이터를 메타데이터로서 헤더에 포함하며,상기 화질 데이터는 상기 실시간 조정된 화질 정보가 반영된 것임을 특징으로 하는 적응적 실시간 트랜스코딩 방법.
- 제1항 및 제3항의 어느 한 항에 있어서,상기 플레이-백 버퍼 충진 정도는, 상기 플레이-백 버퍼가 비어있는 상태이거나 또는 소정 시간 경과 후 비어있게 되는 상태인지를 상기 스트리밍 서버에서 추정하도록 하기 위한 기준 값인 것을 특징으로 하는 적응적 실시간 트랜스코딩 방법.
- 제1항 및 제3항의 어느 한 항에 있어서,상기 스트리밍 서버는, 상기 전송된 미디어 데이터 세그먼트들의 재생 시간의 합과 스트리밍 개시 시점으로부터의 경과 시간을 비교하는 것을 특징으로 하는 적응적 실시간 트랜스코딩 방법.
- 제6항에 있어서,상기 스트리밍 서버는, 상기 전송된 미디어 데이터 세그먼트들의 재생 시간의 합이 상기 스트리밍 개시 시점으로부터의 경과 시간에 비하여 작은 것으로 감지될 경우,상기 전송된 미디어 데이터 세그먼트의 화질보다 낮은 화질로 상기 미디어 데이터 세그먼트를 트랜스코딩하는 것을 특징으로 하는 적응적 실시간 트랜스코딩 방법.
- 제6항에 있어서,상기 스트리밍 서버는, 상기 전송된 미디어 데이터 세그먼트들의 재생 시간의 합이 상기 스트리밍 개시 시점으로부터의 경과 시간에 비하여 큰 경우,상기 전송된 미디어 데이터 세그먼트들의 재생 시간의 합이 상기 스트리밍 개시 시점으로부터의 경과 시간보다 작거나 같은 것으로 감지된 때로부터 추가적으로 경과된 시간에 따라각각 화질의 조정 비율을 달리하는 것을 특징으로 하는 적응적 실시간 트랜스코딩 방법.
- 제8항에 있어서,상기 스트리밍 서버는, 상기 추가적으로 경과된 시간이 소정 기준보다 클 경우에는 상기 화질을 미세 조정하며,상기 소정 기준보다 작은 경우에는 상기 화질을 높은 조정 비율로 조정하는 것을 특징으로 하는 적응적 실시간 트랜스코딩 방법.
- 스트리밍 서비스를 위하여 미디어 데이터의 세그먼트들을 클라이언트 단의 플레이-백 버퍼로 순차 전송하는 스트리밍 서버에 있어서,상기 클라이언트 단의 플레이-백 버퍼 충진 정도를 판별하는 플레이-백 버퍼 추정부;상기 플레이-백 버퍼 충진 정도에 따라 상기 클라이언트 단으로 전송되지 않은 상기 미디어 데이터 세그먼트의 화질을 결정하는 화질 제어부; 및상기 결정된 화질에 따라 상기 전송되지 않은 미디어 데이터 세그먼트를 트랜스코딩하는 트랜스코더를 포함하는 스트리밍 서버.
- 제10항에 있어서,상기 트랜스코더의 트랜스코딩 결과인 미디어 데이터 세그먼트들을 임시 저장하는 트랜스코딩 버퍼를 더 포함하며,상기 트랜스코더는 상기 트랜스코딩 버퍼에 저장되어 있는 미디어 데이터 세그먼트를 추출하여 상기 결정된 화질에 따라 다시 트랜스코딩하는 것을 특징으로 하는 스트리밍 서버.
- 제10항에 있어서,상기 플레이-백 버퍼 충진 정도는, 상기 플레이-백 버퍼가 비어있는 상태이거나 또는 소정 시간 경과 후 비어있게 되는 상태인지를 상기 스트리밍 서버에서 추정하도록 하기 위한 기준 값인 것을 특징으로 하는 스트리밍 서버.
- 제10항에 있어서,상기 스트리밍 서버는, 상기 전송된 미디어 데이터 세그먼트들의 재생 시간의 합과 스트리밍 개시 시점으로부터의 경과 시간을 비교하는 것을 특징으로 하는 스트리밍 서버.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/030,969 US10003626B2 (en) | 2013-10-22 | 2014-10-22 | Adaptive real-time transcoding method and streaming server therefor |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130126142A KR101569510B1 (ko) | 2013-10-22 | 2013-10-22 | 적응적 실시간 트랜스코딩 방법 및 이를 위한 스트리밍 서버 |
KR10-2013-0126142 | 2013-10-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015060638A1 true WO2015060638A1 (ko) | 2015-04-30 |
Family
ID=52993163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2014/009941 WO2015060638A1 (ko) | 2013-10-22 | 2014-10-22 | 적응적 실시간 트랜스코딩 방법 및 이를 위한 스트리밍 서버 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10003626B2 (ko) |
KR (1) | KR101569510B1 (ko) |
WO (1) | WO2015060638A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110784731A (zh) * | 2019-11-05 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种数据流转码方法、装置、设备及介质 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105898625B (zh) * | 2016-04-29 | 2020-03-17 | 腾讯科技(深圳)有限公司 | 一种播放处理方法及终端设备 |
CN106899858A (zh) * | 2017-02-14 | 2017-06-27 | 北京时间股份有限公司 | 视频转码方法、服务器及系统 |
KR101832453B1 (ko) * | 2017-07-14 | 2018-02-26 | 주식회사 알엔웨어 | 네트워크 코딩을 이용하여 실시간 스트리밍 서비스를 제공하는 무선 멀티캐스트 시스템 및 그 방법 |
US10853439B2 (en) * | 2017-08-08 | 2020-12-01 | Nice Ltd. | Systems and methods for fast play back of recorded data |
KR102006449B1 (ko) | 2017-11-29 | 2019-08-01 | 네이버 주식회사 | 분산 트랜스코딩 방법 및 분산 트랜스코딩 시스템 |
DE102018108784B4 (de) * | 2018-04-13 | 2023-08-03 | Exaring Ag | Verfahren zum Senden eines digitalen Videosignals an ein Empfangsgerät, Recheneinheit und Computerprogrammprodukt |
FI3797518T3 (fi) * | 2018-08-21 | 2025-01-23 | Adeia Guides Inc | Järjestelmiä ja menetelmiä koodiltaan muunnetun median reaaliaikaiseen mukautuvaan bittinopeuden koodinmuuntoon ja lähetykseen |
KR102165837B1 (ko) | 2019-04-03 | 2020-10-14 | 네이버웹툰컴퍼니 주식회사 | 효과적인 적응형 비트레이트 스트리밍을 위한 방법 및 시스템 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050051825A (ko) * | 2003-11-28 | 2005-06-02 | 한국전자통신연구원 | 고화질 인터넷 방송 서비스 시스템 |
KR20070059053A (ko) * | 2004-07-27 | 2007-06-11 | 소니 가부시끼 가이샤 | 전송 에러 복구가 있는 가정용 망 시스템 |
KR20130001169A (ko) * | 2011-06-24 | 2013-01-03 | 김성한 | 마이크로-서버 클러스터 기반의 적응형 동영상 스트리밍 서버 |
KR20130082689A (ko) * | 2011-12-14 | 2013-07-22 | 한국전자통신연구원 | 클라우드 환경에서 그리드 파일 시스템 방식의 분산 기반 실시간 트랜잭셔널 트랜스코딩 방법 및 장치와 그 시스템 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5953506A (en) * | 1996-12-17 | 1999-09-14 | Adaptive Media Technologies | Method and apparatus that provides a scalable media delivery system |
CN1175671C (zh) * | 1998-04-30 | 2004-11-10 | 皇家菲利浦电子有限公司 | 对数据流进行代码转换的代码转换器和方法 |
EP1931108B1 (en) * | 2006-12-08 | 2011-02-09 | Deutsche Telekom AG | Method and system for peer-to-peer content dissemination |
US20090259764A1 (en) * | 2008-04-11 | 2009-10-15 | Mobitv, Inc. | Intro outro merger with bit rate variation support |
US8178797B2 (en) * | 2009-12-30 | 2012-05-15 | Mettler-Toledo, LLC | Hermetically sealed scale platform |
CN102118521B (zh) * | 2010-01-05 | 2013-12-04 | 华为技术有限公司 | 一种呼叫路由方法,装置和系统 |
US8863256B1 (en) * | 2011-01-14 | 2014-10-14 | Cisco Technology, Inc. | System and method for enabling secure transactions using flexible identity management in a vehicular environment |
KR101297411B1 (ko) * | 2011-10-06 | 2013-08-19 | 주식회사에어플러그 | 스트리밍 데이터의 미처리 상태에 따른 이종망(異種網)들의 선택적 사용을 제어하는 장치와 방법 |
EP3076703A4 (en) * | 2013-12-26 | 2016-11-23 | Huawei Tech Co Ltd | METHOD, DEVICE AND SYSTEM FOR NETWORK VIDEO OUTPUT |
-
2013
- 2013-10-22 KR KR1020130126142A patent/KR101569510B1/ko active Active
-
2014
- 2014-10-22 WO PCT/KR2014/009941 patent/WO2015060638A1/ko active Application Filing
- 2014-10-22 US US15/030,969 patent/US10003626B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050051825A (ko) * | 2003-11-28 | 2005-06-02 | 한국전자통신연구원 | 고화질 인터넷 방송 서비스 시스템 |
KR20070059053A (ko) * | 2004-07-27 | 2007-06-11 | 소니 가부시끼 가이샤 | 전송 에러 복구가 있는 가정용 망 시스템 |
KR20130001169A (ko) * | 2011-06-24 | 2013-01-03 | 김성한 | 마이크로-서버 클러스터 기반의 적응형 동영상 스트리밍 서버 |
KR20130082689A (ko) * | 2011-12-14 | 2013-07-22 | 한국전자통신연구원 | 클라우드 환경에서 그리드 파일 시스템 방식의 분산 기반 실시간 트랜잭셔널 트랜스코딩 방법 및 장치와 그 시스템 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110784731A (zh) * | 2019-11-05 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种数据流转码方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
US20160269462A1 (en) | 2016-09-15 |
KR20150046655A (ko) | 2015-04-30 |
KR101569510B1 (ko) | 2015-11-17 |
US10003626B2 (en) | 2018-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2015060638A1 (ko) | 적응적 실시간 트랜스코딩 방법 및 이를 위한 스트리밍 서버 | |
US20240064087A1 (en) | Information stream management | |
US10567765B2 (en) | Streaming multiple encodings with virtual stream identifiers | |
CN107231563B (zh) | 视频处理方法和装置 | |
CA2965484C (en) | Adaptive bitrate streaming latency reduction | |
CN106791956B (zh) | 网络直播卡顿的处理方法及装置 | |
KR100410973B1 (ko) | 주문형 비디오 시스템에서 동영상의 스트리밍 방법 | |
CN107634930B (zh) | 一种媒体数据的获取方法和装置 | |
US11968431B2 (en) | Multimedia content delivery with reduced delay | |
US10341670B1 (en) | Video encoder bit rate stabilization | |
EP3843412A2 (en) | Method and apparatus for managing redundant segmented streams | |
US12254044B2 (en) | Video playing method, apparatus, and system, and computer storage medium | |
CN105577645A (zh) | 基于代理的hls客户端装置及其实现方法 | |
US9665646B1 (en) | Method and system for providing bit rate adaptaion to video files having metadata | |
EP3292697A1 (en) | Operating method of client for streaming service | |
KR101640452B1 (ko) | 스트리밍 미디어 서비스 장치 및 방법 | |
US20240022792A1 (en) | Method for bandwidth switching by cmaf and dash clients using addressable resource index tracks and events | |
US12015794B2 (en) | Method and apparatus for content-driven transcoder coordination | |
US20230107720A1 (en) | Method and apparatus for mobile device as temporary content origin | |
CN114286193A (zh) | 嵌入式web的视频播放方法、装置、设备及可读存储介质 | |
CN118301376A (zh) | 一种基于m3u8切片的实时视频播放解决方法 | |
US20180262790A1 (en) | Systems and methods for adaptive streaming using jpeg 2000 | |
KR20150116615A (ko) | Ip 카메라에서 hls 프로토콜을 지원하는 시스템 및 그 방법 | |
Zhang et al. | Integrated Civil Monitoring System Based on POSA |
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: 14854943 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15030969 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14854943 Country of ref document: EP Kind code of ref document: A1 |