WO2014112698A1 - 멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법 - Google Patents
멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법 Download PDFInfo
- Publication number
- WO2014112698A1 WO2014112698A1 PCT/KR2013/006149 KR2013006149W WO2014112698A1 WO 2014112698 A1 WO2014112698 A1 WO 2014112698A1 KR 2013006149 W KR2013006149 W KR 2013006149W WO 2014112698 A1 WO2014112698 A1 WO 2014112698A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- content
- layer
- request
- download
- scalability
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
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/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
- H04N21/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
-
- 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
- H04N21/234327—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 by decomposing into layers, e.g. base layer and one or more enhancement layers
-
- 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/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
Definitions
- the present invention relates to a system and method for streaming scalable video coding (SVC) video content in a multiple cache network environment.
- SVC streaming scalable video coding
- HAS HTTP Adaptive Streaming
- MPEG-DASH Adaptive Video Streaming Standard
- IETF Internet Engineering Task Force
- a content provider divides and manages video content into video segments, but provides independent video segments for each bit rate.
- the content provider provides a video segment having a bit rate suitable for network environment conditions when receiving a video content request from the client. This allows the client to selectively receive various bitrates to prevent black-out when streaming video content.
- HTTP HyperText Transfer Protocol
- the existing architecture that supports HTTP can be used as it is, and issues such as NAT / firewall do not occur.
- a video streaming service method through a multiple cache network has been proposed.
- a content provider delivers and stores contents to be provided to a client to a plurality of locally distributed cache servers so that the contents can be provided from an optimal cache server upon a client's request.
- Korean Patent Laid-Open Publication No. 10-2010-0053708 name of the invention: a system and method for providing a streaming service using a hierarchical distributed storage structure
- a system and method for providing a streaming service using a hierarchical distributed storage structure includes a first part and a last part of streaming content with a client of cache servers.
- Disclosed is a configuration in which parts from the last part are sequentially received and buffered and reproduced.
- this method has a problem that the client cannot predict which cache server the content (i.e., video segment) that is cached in the plurality of cache servers is hit, and it is difficult to predict the network bandwidth available to the client.
- the cache server When the client requests a segment of a bitrate that is not stored in the cache server, the cache server must obtain a video segment of the bitrate requested by the client from another cache server or content provider even if the same video segment is stored. . Accordingly, there is a problem that not only the probability of delay occurs in video streaming but also decreases resource usage efficiency of each cache server.
- the video segment transmission rate if the cache server storing the video segment of the requested bitrate does not exist close to the client. Can be lowered.
- the present invention is to solve the above-mentioned problems of the prior art, and to provide a system and method for adaptively streaming SVC video content according to network environment conditions in a multiple cache network environment.
- a client device for streaming scalable video coding (SVC) video content on a multiple cache network transmits a content request to at least one cache node.
- a content request unit A content receiving unit which downloads an SVC video segment corresponding to the content request from one cache node; A buffer for buffering the downloaded SVC video segment; A content reproducing unit for streaming and playing the buffered SVC video segment;
- a layer level determiner configured to determine a scalability layer level to be applied to the content request based on a bit rate of the SVC video segment downloaded before the content request, wherein the content receiver is determined from the one of the cache nodes. It receives sequentially from the SVC video segment of the lowest layer among the layers included in the scalability layer level.
- a method of streaming scalable video coding (SVC) video content by a client device in a multiple cache network comprising: (a) content identification information and a content section to at least one cache node; Sending a content request comprising information and a scalability layer level; (b) sequentially downloading and buffering an SVC video segment corresponding to the content request from one cache node, starting from a lowest layer among layers included in the scalability layer level; And (c) streaming playback of the buffered SVC video segment, wherein the scalability layer level is determined based on a bitrate of a previously downloaded SVC video segment, wherein the lowest layer is a streaming playback alone. Possible base layer.
- any one of the aforementioned problem solving means of the present invention by streaming the SVC video segment of at least one layer of the video segment of the bit rate requested by the client in the multiple cache network, while increasing the resource utilization rate of the cache nodes, one video segment Because of the hierarchical structure, video streaming at a bit rate suitable for client conditions is possible.
- the client can abandon the download for each layer based on the network environment conditions during the SVC video segment download for each layer, preventing the blackout phenomenon due to the download delay for each video layer can do.
- the client after the client completes the download of the entire layer of the SVC video segment requested by the client based on the client buffer amount and the download speed per layer SVC video segment of at least one higher layer Additional acquisitions can be used to stream high-definition content while preventing delays in video streaming.
- FIG. 1 is a block diagram showing the configuration of a video streaming system according to an embodiment of the present invention.
- FIG. 2 is a block diagram showing the configuration of an apparatus for providing adaptive video streaming according to an embodiment of the present invention.
- FIG. 3 is a conceptual diagram illustrating an adaptive video streaming method through an apparatus for providing adaptive video streaming according to an embodiment of the present invention.
- FIG. 4 is a flowchart illustrating an adaptive video streaming method according to an embodiment of the present invention.
- FIG. 1 is a block diagram showing the configuration of a video streaming system according to an embodiment of the present invention.
- the video streaming system 10 includes a content server 100, a plurality of cache nodes 200, and a client 300.
- the content server 100 stores a plurality of video contents and provides the requested video contents to the cache node 200 and the client 300.
- the content server 100 stores a plurality of content sections by dividing each video content into predetermined units (for example, chunks), and each content section includes a plurality of scalability layers. Encode and store in SVC to have it.
- the chunk encoded in the SVC scheme will be referred to as an 'SVC video segment'.
- One chunk has a constant playback time (eg, time in seconds).
- the SVC scheme is a standardized codec for providing video content in consideration of use environment conditions such as network conditions and user device conditions.
- the SVC scheme is an extension of the H.264 / MPEG-4 AVC video compression standard, and provides scalability through a hierarchical structure between bitrates.
- a hierarchical structure is formed by dividing a high quality bitstream into one or more subbitstreams having temporal / spatial / quality scalability.
- video content can be played using only the base layer bitstream, and higher level layers (hereinafter, referred to as 'enhancement layers') are applied to the base layer, compared to the base layer.
- 'enhancement layers' higher level layers
- High quality / resolution video content can be played back.
- the content server 100 matches and stores each SVC video segment with content identification information and scalability layer level information for each bitrate, and stores the matching information as a hierarchy condition list to the cache node 200 and the client 300.
- the layer condition list may further include data size and video bitrate information for each layer of the SVC video segment, and total section number information (that is, the number of chunks) for each content.
- the cache node 200 relays the SVC video segment provided from the content server 100 to the client 300, and caches the relayed SVC video segment.
- the cache node 200 receives the content request including the scalability layer level information from the client 300, the SVC video segment of at least one layer according to the received content request It sequentially transmits to the client 300 from the lowest layer. This means that even if the download abandonment process is performed for the remaining layers of the SVC video segment up to the scalability layer level set during the operation of the client 300 to be described below, the video streaming is performed only by the layer where the client 300 has completed the download. It is intended to provide playback.
- the cache node 200 corresponds to a CCN node of a content centric network (CCN) to be described below, and detailed operation thereof will be described below.
- CCN content centric network
- the client 300 requests the video content to the at least one cache node 200 and receives the SVC video segment for each layer corresponding to the video content request from any one of the cache nodes 200 most suitable for the current network environment conditions. Play streaming.
- the configuration and operation of such a client 300 will be described in detail with reference to FIG. 2.
- the video streaming system 10 is configured on a multiple cache network, and transmits and receives data through a plurality of cache nodes, such as CCN, contents delivery network (CDN), and transparent internet caching (TIC). Various ways to do this can be applied.
- CCN contents delivery network
- TIC transparent internet caching
- CCN is Named Data Networking based on the name of the data (ie, content identification information) of the address system.
- CCN two types of packets are used, such as an interest packet and a data packet.
- the name of the corresponding content becomes the address of the packet.
- the interest packet performs a function of requesting a corresponding data packet from another CCN node (ie, a 'cache node' of FIG. 1).
- the data packet is a response to the interest packet, and performs a function of transmitting substantial content.
- the CCN node corresponding to the cache node 200 includes a forwarding information base (FIB), a content store (buffer memory) and a pending interest table (PIT) as essential components.
- FIB forwarding information base
- PIT pending interest table
- FIB is used to deliver interest packets to an interface (ie, another CCN node or host) that may be storing target data.
- an interface ie, another CCN node or host
- IP Internet Protocol
- the PIT stores a record of the forwarded packet. Specifically, when the data packet is delivered to the CCN node, the CCN node refers to the information of the PIT and delivers the data packet to the user (that is, the client) who transmitted the interest packet.
- the content store is similar to the buffer memory of an IP router, but manages cached data according to a replacement policy.
- each CCN node stores (ie, caches) the data packet delivered by the CCN node in the content store.
- the CCN node receives an interlace packet for the data packet stored by the CCN node, the CCN node does not receive the data packet from the host (ie, the 'content server' of FIG. 1) or another CCN node, and the data packet stored by the CCN node Send it immediately.
- the CCN node receives an interest packet for a data packet that is not stored by the CCN node
- the corresponding CCN node transmits the interest packet to other neighboring CCN nodes to acquire the corresponding data packet, and stores the data packet in the content store.
- the data packet is transmitted to the interface (ie, the client) of the path receiving the interest packet.
- FIG. 2 is a block diagram showing the configuration of an apparatus for providing adaptive video streaming according to an embodiment of the present invention.
- FIG. 3 is a conceptual diagram illustrating an adaptive video streaming method through an apparatus for providing adaptive video streaming according to an embodiment of the present invention.
- the adaptive video streaming apparatus to be described with reference to FIG. 2 is referred to as a client 300 of the video streaming system 10, hereinafter referred to as a client device 300.
- the client device 300 includes a content requesting unit 301, a content receiving unit 302, a buffer 303, a content reproducing unit 304, a bit rate calculating unit 305, and a hierarchical condition management unit.
- a content requesting unit 301 the content requesting unit 301
- a content receiving unit 302 the buffer 303
- a content reproducing unit 304 the bit rate calculating unit 305
- a hierarchical condition management unit 306
- the hierarchical level determining unit 307 the download abandonment determining unit 308
- the additional download determining unit 309 the additional request transmitting unit 310.
- the content requesting unit 301 transmits a content request including content identification information, content section information, and scalability layer level information to at least one cache node 200 on the video streaming system 10.
- the scalability layer level is set to a higher level as the scalability is higher from the lowest layer to the highest layer, and the value of the highest layer is set according to the total number of layers of one content section generated by the content server 300.
- the scalability layer level information included in the content request refers to the highest hierarchical level determined by the layer level determiner 307 according to a state condition at the time of the content request of the client device 300.
- the scalability layer level information included in the content request includes information on at least the lowest layer, and the lowest layer is a base layer capable of streaming playback alone.
- either cache node 200 provides the client device 300 with the SVC video segment from the lowest layer to the determined highest layer level.
- the content server 300 SVC-encodes one content section into three layers
- the content section is level value '2' from the base layer of the level value '0'. It consists of up to the enhancement layer.
- the corresponding content is composed of SVC video segments of three layers (ie, 'Bit Rate _1, Bit Rate _2, and Bit Rate _3' in FIG. 3).
- the plurality of cache nodes 200 configured on the CCN cache the SVC video segments of the scalability layer respectively corresponding to at least one bit rate.
- each of the cache nodes 200 provides an SVC video segment according to the scalability layer level requested by the client device 300 to which the client device 300 is currently connected, but does not cache data of a layer that is not cached to another cache node 200. Are obtained from the network) and provided to the client device 300.
- the request data (Request Chunk) according to the sequence of the content request of the client device 300 is a scalability layer level of Bit Rate _3, Bit Rate _1, Bit Rate _2, Bit Rate _1, and Bit Rate _3. .
- the content receiver 302 downloads the SVC video segment corresponding to the content request from any one of the cache nodes 200.
- the content receiving unit 302 sequentially receives from the cache node 200 the SVC video segment of the lowest layer (that is, the base layer) among the layers included in the scalability layer level according to the content request.
- the content receiver 302 may additionally receive an SVC video segment at a level higher than the scalability layer level according to the content request by the decision of the additional download determiner 307 to be described below.
- the content receiving unit 302 does not receive all layers from the base layer to the layer of the higher scalability layer level again, but additionally receives only SVC video segments of the corresponding layer according to the higher scalability layer level. do.
- the buffer 303 sequentially buffers the SVC video segment downloaded through the content receiver 302.
- the content player 304 streams and reproduces the SVC video segment buffered in the buffer 303.
- the content player 304 scalable video decodes the SVC video segment of at least one layer of the same content section among the buffered SVC video segments. That is, the SVC video segments of at least one layer buffered for the corresponding content section are decoded to be merged and reproduced.
- the bitrate calculator 305 is applied to the current content request based on the sum of the data size per layer and the download time per layer of the SVC video segment downloaded immediately before the content request among the SVC video segments buffered in the buffer 303. Calculate the bit rate to do.
- the bit rate calculator 305 calculates a bandwidth throughput (denoted as 'B / W throughput' in FIG. 3) based on a previously downloaded SVC video segment, and calculates the calculated bandwidth. Based on the throughput, the bitrate of the request data (represented as 'Request Chunk' in FIG. 3) is calculated.
- the hierarchical condition manager 306 receives a hierarchical condition list provided by the content server 300 and matches and stores the content identification information included in the hierarchical condition list and the scalability hierarchical level information for each bitrate.
- the scalability layer level for each bitrate included in the layer condition list is reference information for determining how many scalability layers the content is divided into, and the scalability layer suitable for each bitrate by the client device 300 is provided. Information to check the level.
- the layer level determiner 307 determines the scalability layer level to be applied to the current content request based on the bit rate of the SVC video segment downloaded before the content request.
- the hierarchical level determination unit 307 detects a scalability hierarchical level matched with a bitrate calculated from the bitrate calculator 305 among scalability hierarchical level levels for each bitrate of the corresponding content stored in the hierarchical condition manager 306. do.
- the client device 300 determines a bit rate of a next content request based on a network state condition according to a previously downloaded SVC video segment, and a scalability layer of content to be requested based on the determined bit rate. The level is determined.
- the cache node 200 caches SVC video segments of various layers for each content section for the same content. Therefore, the data of the scalability layer requested by the client device 300 is not cached in the cache node 200, or the data of a layer higher than the data of the scalability layer requested by the client 300 is cached.
- the bit rate provided by the cache node 200 may be higher or lower than the bit rate according to the previous content request of the client 300.
- the client device 300 makes a content request to the cache node 200 and then adjusts the layer of the requested SVC video segment according to a data transmission environment condition with the corresponding cache node 200. Processing can be performed. That is, the client 300 abandons the download of one or more layers to the receiving SVC video segment to keep the buffer amount safe, or additionally requests and acquires the higher layer SVC video segment higher than the content request to the buffer amount. You can stream higher quality video content without affecting it.
- the download abandonment determination unit 308 determines whether to abandon the download of the remaining layers based on the current buffer amount and the total download time for each download of the SVC video segment for each layer included in the scalability layer level according to the content request.
- the download abandonment determination unit 308 determines when the SVC video segment for each layer included in the scalability layer level of the content request is completed by the content receiver 302. In addition, the download abandonment determination unit 308 checks the amount of buffers at the time of completing the download for each layer, calculates the total download time to the layer where the current download is completed, and gives up the download for the remaining layers (the remaining enhancement layers of the layer on which the download is completed). Determine the treatment.
- the download abandon determination unit 308 may determine the download abandon process according to two conditions of Equation 1 below.
- 'Buffer Fullness' means a buffer amount at that time.
- the buffer amount is a streaming playable time, and means a play time at which the client device 300 can play at least one SVC video segment buffered.
- 10s and 17.5s of the first condition and the second condition are ' ⁇ certain target', which means threshold values of two states divided according to the buffer amount, respectively.
- a progressive download method is used. If the buffer amount is larger than the ⁇ certain target value, the download request is reflected by reflecting the play time.
- ' ⁇ Layer Download' means the total download time from the at least one layer included in the scalability layer level to the currently downloaded layer.
- 'I' is the layer value for the SVC video segment
- 'n' is the value of the determined scalability layer level (ie, the value of the scalability layer level included in the content request).
- ⁇ Chunk Play means a time at which one chunk can be played and may be set to a fixed time.
- the download is completed up to now. If the total download time to the layer is greater than one chunk play time, a drop processing (Drop) for the higher enhancement layer (Enhancement Layer (i + 1)) is determined.
- Drop drop processing
- the second limit value eg, a value larger than the minimum playable time for stable streaming playback
- the additional download determiner 309 determines the additional request of the higher scalability layer level based on the buffer amount at the time when the entire layer included in the scalability layer level of the content request is downloaded and the total download time of the entire layer.
- the additional download determiner 309 confirms when the SVC video segment for all layers included in the scalability layer level of the content request is completed through the content receiver 302.
- the additional download determiner 309 checks the buffer amount at the time of completing the download of the entire layer, calculates the total download time of the entire layer, and compares the data of the layer higher than the highest layer at the scalability layer level of the content request. Determine additional download requests.
- the additional download determiner 309 may determine an additional download process according to the condition of Equation 2 below.
- a third threshold value eg, greater than or equal to the first and second threshold values
- the download of the entire layer is performed. If the time is smaller than one chunk play value, an additional download request for the enhancement layer (Enhancement Layer (n + 1)) higher than the highest layer requested content is determined.
- the additional request transmission unit 310 transmits a content download stop request to the cache node 200 providing the content when the download abandon determination unit 308 determines to abandon the download.
- the additional request transmitter 310 transmits a content add request of a higher scalability layer level to the cache node 200 that provided the content.
- the content addition request of the upper scalability layer level includes content identification information, content section information, and layer information corresponding to the upper scalability layer level.
- FIG. 4 is a flowchart illustrating an adaptive video streaming method according to an embodiment of the present invention.
- the SVC content request is transmitted to at least one cache node 200 on the multiple cache network (S410).
- the content request includes the identification information of the content to be requested, information of a section to be obtained among the corresponding content, and information of a scalability layer level determined according to a bit rate, which is a network environment condition of the client device 300.
- the content server 100 may receive and store the content identification information and the reference information of the scalability layer level for each bitrate. This is for determining a scalability layer level to be applied to a content request by detecting a scalability layer level matched with a bitrate calculated according to a network environment condition of the client device 300 based on the stored information.
- the SVC video segment satisfying each condition of the content request is received and downloaded from any one of the cache nodes 200 responding to the content request (S420).
- the client device 300 sequentially receives and downloads the higher enhancement layer from the SVC video segment of the lowest layer among the at least one layer included in the scalability layer level of the content request.
- the scalability layer level of the content request is determined based on the bit rate of the SVC video segment downloaded by the client device 300 before the content request, and the lowest layer is a base layer capable of streaming playback alone.
- the downloaded SVC video segment is buffered in a buffer (S430), and the buffered SVC video segment is reproduced by streaming (S440).
- scalable video decoding of the SVC video segment of at least one layer for the same content section among the buffered SVC video segments is performed by streaming playback.
- the following steps may be additionally performed to support high quality streaming playback while maintaining a stable buffer amount of the client device 300. have.
- step (S430) it is determined whether or not to continue to download the remaining layers according to a predetermined condition for each download completion time for each layer included in the scalability layer level of the content request.
- the download abandonment process for the remaining layers is determined based on the buffer amount of the client device 300 and the total download time to the layer where the download is completed.
- the download stop request for the content is transmitted to the cache node 200.
- the client device 300 may determine the remaining scalability layer data even while downloading the SVC video segment. By abandoning the download, it is possible to provide stable streaming playback while maintaining the buffer amount.
- the buffer of the client device 300 at the time when the download of the entire layer is completed Based on the amount and the total download time of the entire layer, it is determined whether to request additional data of a higher scalability layer level.
- the client device 300 requests an SVC video segment of a higher enhancement layer than an SVC video segment of all layers received according to a content request. And by obtaining, it is possible to provide high quality streaming reproduction while maintaining the buffer amount.
- Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media.
- Computer readable media may include both computer storage media and communication media.
- Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
- Communication media typically includes computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transmission mechanism, and includes any information delivery media.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
적어도 하나의 캐시 노드로 컨텐츠 식별 정보, 컨텐츠 섹션 정보 및 스케일러빌리티 계층 레벨을 포함하는 컨텐츠 요청을 전송하고, 어느 하나의 캐시 노드로부터 컨텐츠 요청에 대응하는 SVC 비디오 세그먼트를 스케일러빌리티 계층 레벨에 포함된 계층 중 최하위 계층부터 순차적으로 다운로드하여 버퍼링하고, 버퍼링된 SVC 비디오 세그먼트를 스트리밍 재생한다.
Description
본 발명은 멀티플 캐시 네트워크(multiple cache network) 환경에서 스케일러블 비디오 코딩(SVC, Scalable Video Coding) 비디오 컨텐츠를 스트리밍하는 시스템 및 방법에 관한 것이다.
최근들어 Youtube, Vimeo, Netflex등 웹을 기반으로한 비디오 스트리밍 서비스에서 비디오 컨텐츠를 끊김없이 전송하기 위해 HAS(HTTP Adaptive Streaming) 방식을 사용하고 있다. 이에 따라 HTTP를 대상으로한 적응적 비디오 스트리밍 표준(MPEG-DASH)이 제정되었으며, 비디오 스트리밍 서비스 제공 업체들은 스무스 스트리밍(Smooth Streaming) 방식 및 IETF(Internet Engineering Task Force) HTTP 라이브 스트리밍(Live Streaming) 방식 등의 다양한 적응적 비디오 스트리밍 방식을 연구하고 있다.
기존의 HAS 방식에서는 컨텐츠 제공자가 비디오 컨텐츠를 비디오 세그먼트로 나누어 관리하되, 비트레이트(bit rate) 별로 독립적인 비디오 세그먼트를 제공한다. 이때, 컨텐츠 제공자는 클라이언트의 비디오 컨텐츠 요청 수신 시 네트워크 환경 조건에 적합한 비트레이트의 비디오 세그먼트를 제공한다. 이를 통해 클라이언트는 다양한 비트레이트를 선택적으로 수신함으로써 비디오 컨텐츠의 스트리밍 시 블랙 아웃(black-out) 현상을 방지할 수 있다. 또한 HTTP를 이용하기 때문에 HTTP를 지원하는 기존의 아키텍처를 그대로 사용 할 수 있으며, NAT/방화벽(firewall)과 같은 이슈가 발생하지 않는다.
이러한 HAS 방식에서는 동일한 비디오 컨텐츠를 다수의 클라이언트가 요청할 경우, 컨텐츠 제공자가 요청한 클라이언트 수만큼 비디오 컨텐츠를 반복 전송함에 따라 병목 현상 및 대역폭 부족 현상이 발생되는 문제점이 있었다.
이와 같은 문제를 해결하기 위한 방안으로서, 멀티플 캐시 네트워크를 통한 비디오 스트리밍 서비스 방식이 제안되었다. 멀티플 캐시 네트워크에서는 컨텐츠 제공자가 클라이언트에게 제공할 컨텐츠를 지역적으로 분산된 복수의 캐시 서버에 전달하여 저장해두고, 클라이언트의 요청이 있을 경우 최적의 캐시 서버로부터 컨텐츠를 제공받을 수 있도록 한다.
이와 관련하여, 한국공개특허 제10-2010-0053708호(발명의 명칭: 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템 및 방법)는, 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 캐시 서버들 중 클라이언트와 전송시간상 가까운 거리부터 먼 거리의 캐시 서버에 분산 저장하고, 클라이언트로부터 스트리밍 서비스 요청시 가까운 거리부터 먼 거리의 캐시 서버가 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 전송하며, 클라이언트가 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 수신하여 버퍼링하면서 재생하는 구성을 개시하고 있다.
이러한 멀티플 캐시 네트워크에 기존의 HAS 방식을 적용할 경우, 동일 컨텐츠에 대한 비트레이트 별 비디오 세그먼트를 복수의 캐시 서버에 분산하여 저장하게 된다.
그런데 이러한 방식에서는 복수의 캐시 서버에 캐싱되는 컨텐츠(즉, 비디오 세그먼트)가 어느 캐시 서버에서 히트(hit)되는지 클라이언트 측에서 예측할 수 없어, 클라이언트에서 사용 가능한 네트워크 대역폭을 예측하기가 어렵다는 문제가 있다.
그리고 클라이언트가 캐시 서버에 저장되어 있지 않은 비트레이트의 세그먼트를 요청하는 경우, 캐시 서버는 동일한 비디오 세그먼트가 저장되어 있더라도 클라이언트가 요청한 비트레이트의 비디오 세그먼트를 다른 캐시 서버 또는 컨텐츠 제공자로부터 획득하여 제공하여야 한다. 이에 따라 비디오 스트리밍 시 지연 발생 가능성이 높아질 뿐만 아니라, 각 캐시 서버들의 자원 사용 효율이 떨어지게 된다는 문제점이 있다.
또한 클라이언트가 기존에 접속되어 있던 캐시 서버가 아닌 다른 캐시 서버로부터 비디오 세그먼트를 제공받고자 하는 경우, 요청된 비트레이트의 비디오 세그먼트를 저장하고 있는 캐시 서버가 클라이언트로부터 가깝게 존재하고 있지 않은 경우 비디오 세그먼트 전송 속도가 저하될 수 있다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 멀티플 캐시 네트워크 환경에서 SVC 비디오 컨텐츠를 네트워크 환경 조건에 따라 적응적으로 스트리밍하는 시스템 및 방법을 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상기와 같은 기술적 과제를 달성하기 위한 본 발명의 일 측면에 따른 멀티플 캐시 네트워크 상에서 스케일러블 비디오 코딩(Scalable Video Coding, SVC) 비디오 컨텐츠를 스트리밍하는 클라이언트 장치는, 적어도 하나의 캐시 노드로 컨텐츠 요청을 전송하는 컨텐츠 요청부; 어느 하나의 캐시 노드로부터 상기 컨텐츠 요청에 대응하는 SVC 비디오 세그먼트를 다운로드하는 컨텐츠 수신부; 상기 다운로드된 SVC 비디오 세그먼트를 버퍼링하는 버퍼; 상기 버퍼링된 SVC 비디오 세그먼트를 스트리밍 재생하는 컨텐츠 재생부; 및 상기 컨텐츠 요청 이전에 다운로드된 SVC 비디오 세그먼트의 비트레이트에 기초하여 상기 컨텐츠 요청에 적용할 스케일러빌리티 계층 레벨을 결정하는 계층 레벨 결정부를 포함하되, 상기 컨텐츠 수신부는 상기 어느 하나의 캐시 노드로부터 상기 결정된 스케일러빌리티 계층 레벨에 포함된 계층 중 최하위 계층의 SVC 비디오 세그먼트부터 순차적으로 수신한다.
그리고 본 발명의 다른 측면에 따른 멀티플 캐시 네트워크에서 클라이언트 장치가 스케일러블 비디오 코딩(Scalable Video Coding, SVC) 비디오 컨텐츠를 스트리밍하는 방법에 있어서, (a) 적어도 하나의 캐시 노드로 컨텐츠 식별 정보, 컨텐츠 섹션 정보 및 스케일러빌리티 계층 레벨을 포함하는 컨텐츠 요청을 전송하는 단계; (b) 어느 하나의 캐시 노드로부터 상기 컨텐츠 요청에 대응하는 SVC 비디오 세그먼트를 상기 스케일러빌리티 계층 레벨에 포함된 계층 중 최하위 계층부터 순차적으로 다운로드하여 버퍼링하는 단계; 및 (c) 상기 버퍼링된 SVC 비디오 세그먼트를 스트리밍 재생하는 단계를 포함하되, 상기 스케일러빌리티 계층 레벨은 이전에 다운로드된 SVC 비디오 세그먼트의 비트레이트에 기초하여 결정된 것이고, 상기 최하위 계층은 단독으로 스트리밍 재생이 가능한 기본 계층이다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 멀티플 캐시 네트워크에서 클라이언트가 요청한 비트레이트의 비디오 세그먼트의 적어도 한 계층의 SVC 비디오 세그먼트를 스트리밍함으로써, 캐시 노드들의 자원 활용율을 높이면서도 하나의 비디오 세그먼트가 계층화되어 있기 때문에 클라이언트의 조건에 적합한 비트레이트의 비디오 스트리밍이 가능하다는 효과가 있다.
그리고 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 클라이언트가 계층별 SVC 비디오 세그먼트 다운로드 도중 네트워크 환경 조건에 기초하여 계층별로 다운로드를 포기 처리할 수 있어, 비디오 계층별 다운로드 지연에 따른 블랙 아웃 현상을 방지할 수 있다.
또한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 클라이언트가 자신이 요청한 SVC 비디오 세그먼트의 전체 계층을 다운로드 완료한 후 클라이언트 버퍼량과 계층별 다운로드 속도에 기초하여 적어도 하나의 상위 계층의 SVC 비디오 세그먼트를 추가 획득할 수 있어, 비디오 스트리밍 시 지연을 방지하면서도 고화질의 컨텐츠를 스트리밍할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 비디오 스트리밍 시스템의 구성을 나타낸 구성도이다.
도 2는 본 발명의 일 실시예에 따른 적응적 비디오 스트리밍 제공 장치의 구성을 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 적응적 비디오 스트리밍 제공 장치를 통한 적응적 비디오 스트리밍 방식을 설명하기 위한 개념도이다.
도 4는 본 발명의 일 실시예에 따른 적응적 비디오 스트리밍 방법을 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 일 실시예에 따른 비디오 스트리밍 시스템의 구성을 나타낸 구성도이다.
도 1에 도시한 바와 같이, 본 발명의 일 실시예에 따른 비디오 스트리밍 시스템(10)은 컨텐츠 서버(100), 복수의 캐시 노드(200) 및 클라이언트(300)를 포함하여 구성된다.
컨텐츠 서버(100)는 복수의 비디오 컨텐츠를 저장하고 있으며, 요청된 비디오 컨텐츠를 캐시 노드(200) 및 클라이언트(300)로 제공한다.
컨텐츠 서버(100)는 각 비디오 컨텐츠를 기설정된 단위(예를 들어, 청크(chunk))로 분할하여 복수의 컨텐츠 섹션을 저장하되, 각 컨텐츠 섹션이 복수의 스케일러빌리티(scalability) 계층(layer)을 갖도록 SVC 방식으로 인코딩하여 저장한다. 이하에서는 SVC 방식으로 인코딩된 청크를 ‘SVC 비디오 세그먼트’라고 지칭하도록 한다. 하나의 청크는 일정한 재생 시간(예를 들어, 초(second) 단위의 시간)을 갖는다.
참고로 SVC 방식은 네트워크 조건 및 사용자 디바이스 조건과 같은 사용 환경 조건을 고려하여 비디오 컨텐츠를 제공하기 위해 표준화된 코덱이다. 이러한 SVC 방식은 H.264/MPEG-4 AVC 비디오 압축 표준의 확장으로서, 비트레이트 간 계층적 구조를 통해 확장성을 제공한다는 특징이 있다.
구체적으로 SVC방식에서는 고화질 비트스트림을 시간적/공간적/화질적 스케일러빌리티를 갖는 하나 이상의 서브 비트스트림으로 나누어 계층적 구조를 구성한다. 이러한 계층적 구조에서는 기본 계층(base layer) 비트스트림만으로도 비디오 컨텐츠 재생이 가능하며, 기본 계층에 대한 상위 레벨의 계층(이하, ‘향상 계층(enhancement layer)’이라고 지칭함)들을 적용하여 기본 계층에 비해 고화질/해상도의 비디오 컨텐츠를 재생할 수 있다.
이때 컨텐츠 서버(100)는 각 SVC 비디오 세그먼트를 컨텐츠 식별 정보 및 비트레이트 별 스케일러빌리티 계층 레벨의 정보와 매칭하여 저장하되, 이러한 매칭 정보를 계층 조건 리스트로 캐시 노드(200) 및 클라이언트로(300)로 제공할 수 있다. 또한, 계층 조건 리스트에는 SVC 비디오 세그먼트의 계층 별 데이터 크기 및 비디오 비트레이트 정보와, 컨텐츠 별 총 섹션 개수 정보(즉, 청크의 개수)가 더 포함될 수 있다.
캐시 노드(200)는 컨텐츠 서버(100)로부터 제공된 SVC 비디오 세그먼트를 클라이언트(300)로 중계 처리하되, 중계 처리한 SVC 비디오 세그먼트를 캐싱한다.
특히, 본 발명의 일 실시예에 따른 캐시 노드(200)는 클라이언트(300)로부터 스케일러빌리티 계층 레벨의 정보를 포함하는 컨텐츠 요청을 수신하되, 수신된 컨텐츠 요청에 따른 적어도 하나의 계층의 SVC 비디오 세그먼트를 최하위 계층부터 순차적으로 클라이언트(300)로 전송한다. 이는, 아래에서 설명할 클라이언트(300)의 동작 중 설정된 스케일러빌리티 계층 레벨까지의 SVC 비디오 세그먼트의 다운로드 중 나머지 계층에 대한 다운로드 포기 처리를 수행하더라도, 클라이언트(300)가 다운로드를 완료한 계층만으로도 비디오 스트리밍 재생을 제공할 수 있도록 하기 위한 것이다.
이와 같은 캐시 노드(200)는 아래에서 설명할 CCN(Contents Centric Network)의 CCN 노드에 대응하며, 자세한 동작에 대해서는 아래에서 상세히 설명하도록 한다.
클라이언트(300)는 적어도 하나의 캐시 노드(200)로 비디오 컨텐츠를 요청하고, 현재 네트워크 환경 조건에 가장 적합한 어느 하나의 캐시 노드(200)로부터 비디오 컨텐츠 요청에 대응한 계층별 SVC 비디오 세그먼트를 수신하여 스트리밍 재생한다. 이와 같은 클라이언트(300)의 구성 및 동작에 대해서는 하기 도 2를 참조하여 상세히 설명하도록 한다.
한편, 본 발명의 일 실시예에 따른 비디오 스트리밍 시스템(10)은 멀티플 캐시 네트워크 상에 구성되며, CCN, CDN(contents delivery network)/TIC(Transparent Internet Caching) 등 복수의 캐시 노드를 통해 데이터를 송수신하는 다양한 방식이 적용될 수 있다.
예를 들어, CCN은 데이터의 이름(즉, 컨텐츠 식별 정보)을 주소 체계의 기반으로 하는 통신 구조(Named Data Networking)이다. CCN 상에서는 인터레스트 패킷(Interest Packet)과 데이터 패킷(Data Packet)의 두 가지 형태의 패킷이 사용되며, 이러한 CCN 패킷에서는 해당 컨텐츠의 이름이 패킷의 주소가 된다. 참고로, 인터레스트 패킷은 다른 CCN 노드(즉, 도 1의 ‘캐시 노드’)에 해당 데이터 패킷을 요청하는 기능을 수행한다. 그리고 데이터 패킷은 인터레스트 패킷에 대한 응답으로서, 실질적인 컨텐츠를 전송하는 기능을 수행한다.
본 발명의 일 실시예에 따른 캐시 노드(200)와 대응되는 CCN 노드는 핵심적인 구성 요소로서 FIB(Forwarding Information Base), Content Store(buffer memory) 및 PIT(Pending Interest Table)을 포함한다.
FIB는 타겟 데이터를 저장하고 있을 가능성이 있는 인터페이스(즉, 다른 CCN 노드 또는 호스트)로 인터레스트 패킷을 전달하기 위하여 사용된다. 이는 기존 IP(Internet Protocol) 기반의 라우터에서 사용되는 FIB의 기능과 유사하되, 하나의 인터페이스가 아닌 여러 개의 인터페이스에 대해 동시에 사용한다. 이에 따라 CCN은 데이터의 다양한 소스를 병렬적으로 이용 할 수 있다.
PIT는 전달한 인터레스트 패킷의 기록을 저장한다. 구체적으로, 데이터 패킷이 CCN 노드로 전달되면, 해당 CCN 노드는 PIT의 정보를 참조하여 해당 인터레스트 패킷을 전송한 사용자(즉, 클라이언트)에게 해당 데이터 패킷을전달한다.
컨텐츠 스토어(Content Store)는 IP 라우터의 버퍼 메모리와 유사하되, 교체 정책에 따라 캐싱된 데이터를 관리한다.
구체적으로, 각 CCN 노드들은 자신이 전달한 데이터 패킷을 컨텐츠 스토어에 저장(즉, 캐싱)한다. 그리고 CCN 노드는 자신이 저장하고 있는 데이터 패킷에 대한 인터레스 패킷을 수신하면 호스트(즉, 도 1의 ‘컨텐츠 서버’) 또는 다른 CCN 노드로부터 데이터 패킷을 받아오지 않고, 자신이 저장하고 있는 데이터 패킷을 즉시 전송한다. 반면, CCN 노드는 자신이 저장하고 있지 않은 데이터 패킷에 대한 인터레스트 패킷을 수신하면 주변의 다른 CCN 노드들에게 해당 인터레스트 패킷을 전송하여 해당 데이터 패킷을 획득하고, 이를 컨텐츠 스토어에 저장한 후 해당 인터레스트 패킷을 수신한 경로의 인터페이스(즉, 클라이언트)로 데이터 패킷을 전송한다.
이하, 도 2를 참조하여 본 발명의 일 실시예에 따른 클라이언트(300)의 구성 및 동작에 대해서 상세히 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 적응적 비디오 스트리밍 제공 장치의 구성을 나타낸 블록도이다.
그리고 도 3은 본 발명의 일 실시예에 따른 적응적 비디오 스트리밍 제공 장치를 통한 적응적 비디오 스트리밍 방식을 설명하기 위한 개념도이다.
먼저, 도 2에서 설명할 적응적 비디오 스트리밍 제공 장치는 비디오 스트리밍 시스템(10)의 클라이언트(300)로서, 이하 클라이언트 장치(300)라고 지칭하도록 한다.
도 2에 도시한 바와 같이, 클라이언트 장치(300)는 컨텐츠 요청부(301), 컨텐츠 수신부(302), 버퍼(303), 컨텐츠 재생부(304), 비트레이트 산출부(305), 계층 조건 관리부(306), 계층 레벨 결정부(307), 다운로드 포기 결정부(308), 추가 다운로드 결정부(309) 및 부가 요청 전송부(310)를 포함하여 구성된다.
컨텐츠 요청부(301)는 비디오 스트리밍 시스템(10) 상의 적어도 하나의 캐시 노드(200)로 컨텐츠 식별 정보, 컨텐츠 섹션 정보 및 스케일러빌리티 계층 레벨 정보를 포함하는 컨텐츠 요청을 전송한다.
참고로 스케일러빌리티 계층 레벨은 최하위 계층부터 최상위 계층까지 스케일러빌리티가 높을수록 높은 레벨로 설정되며, 컨텐츠 서버(300)가 생성한 하나의 컨텐츠 섹션의 총 계층 개수에 따라 최상위 계층의 값이 설정된다.
이때 컨텐츠 요청에 포함된 스케일러빌리티 계층 레벨 정보는 계층 레벨 결정부(307)가 클라이언트 장치(300)의 컨텐츠 요청 시점의 상태 조건에 따라 결정한 최상위 계층 레벨을 의미한다. 여기서, 컨텐츠 요청에 포함된 스케일러빌리티 계층 레벨 정보에는 적어도 최하위 계층에 대한 정보가 포함되며, 최하위 계층은 단독으로 스트리밍 재생이 가능한 기본 계층이다.
이에 따라 어느 하나의 캐시 노드(200)는 최하위 계층부터 상기 결정된 최상위 계층 레벨까지의 SVC 비디오 세그먼트를 클라이언트 장치(300)로 제공한다.
예를 들어, 도 3에 도시한 바와 같이, 컨텐츠 서버(300)가 하나의 컨텐츠 섹션을 3개의 계층으로 SVC 인코딩한 경우, 해당 컨텐츠 섹션은 레벨 값 ‘0’의 기본 계층으로부터 레벨 값 ‘2’의 향상 계층까지를 포함하여 구성된다. 도 3에서는 해당 컨텐츠가 3개의 계층(즉, 도 3에서는 ‘Bit Rate _1, Bit Rate _2, Bit Rate _3’으로 나타냄)의 SVC 비디오 세그먼트로 구성되는 것을 나타내었다.
그리고 CCN 상에 구성된 다수의 캐시 노드(200)들은 각각 적어도 하나의 비트레이트에 대응되는 스케일러빌리티 계층의 SVC 비디오 세그먼트를 캐싱하고 있다.
이러한 상태에서, 각 캐시 노드(200)들은 현재 접속한 클라이언트 장치(300)가 컨텐츠 요청한 스케일러빌리티 계층 레벨에 따른 SVC 비디오 세그먼트를 제공하되, 자신에게 캐싱되어 있지 않은 계층의 데이터를 다른 캐시 노드(200)들로부터 획득하여 클라이언트 장치(300)로 제공한다. 도 3에서는 클라이언트 장치(300)의 컨텐츠 요청의 순차에 따른 요청 데이터(Request Chunk)가 Bit Rate _3, Bit Rate _1, Bit Rate _2, Bit Rate _1, Bit Rate _3의 스케일러빌리티 계층 레벨인 것을 나타내었다.
컨텐츠 수신부(302)는 어느 하나의 캐시 노드(200)로부터 컨텐츠 요청에 대응하는 SVC 비디오 세그먼트를 다운로드한다.
이때 컨텐츠 수신부(302)는 캐시 노드(200)로부터 컨텐츠 요청에 따른 스케일러빌리티 계층 레벨에 포함된 계층 중 최하위 계층(즉, 기본 계층)의 SVC 비디오 세그먼트부터 순차적으로 수신한다.
한편, 컨텐츠 수신부(302)는 하기에서 설명할 추가 다운로드 결정부(307)의 결정에 의해 상기 컨텐츠 요청에 따른 스케일러빌리티 계층 레벨보다 상위 레벨의 SVC 비디오 세그먼트를 추가적으로 수신할 수 있다. 이와 같은 경우, 컨텐츠 수신부(302)는 기본 계층부터 상기 상위 스케일러빌리티 계층 레벨의 계층까지의 모든 계층을 다시 수신하는 것이 아니라, 상기 상위 스케일러빌리티 계층 레벨에 따른 해당 계층의 SVC 비디오 세그먼트만을 추가로 수신한다.
버퍼(303)는 컨텐츠 수신부(302)를 통해 다운로드된 SVC 비디오 세그먼트를 순차적으로 버퍼링한다.
컨텐츠 재생부(304)는 버퍼(303)에 버퍼링된 SVC 비디오 세그먼트를 스트리밍 재생한다.
이때 컨텐츠 재생부(304)는 버퍼링된 SVC 비디오 세그먼트 중 동일 컨텐츠 섹션에 대한 적어도 하나의 계층의 SVC 비디오 세그먼트를 스케일러블 비디오 디코딩한다. 즉, 해당 컨텐츠 섹션에 대해 버퍼링된 적어도 하나의 계층의 SVC 비디오 세그먼트가 병합되도록 디코딩하여 재생한다.
비트레이트 산출부(305)는 버퍼(303)에 버퍼링된 SVC 비디오 세그먼트 중 컨텐츠 요청 직전에 다운로드된 SVC 비디오 세그먼트의 계층별 데이터 크기의 합 및 계층별 다운로드 시간의 합에 기초하여 현재 컨텐츠 요청에 적용할 비트레이트를 산출한다.
예를 들어, 도 3을 참조하면, 비트레이트 산출부(305)는 이전 다운로드된 SVC 비디오 세크먼트에 기초하여 대역폭 처리량(도 3에서는 ‘B/W throughput’으로 나타냄)를 산출하고, 산출된 대역폭 처리량에 기초하여 요청 데이터(도 3에서는 ‘Request Chunk’로 나타냄)의 비트레이트를 산출한다.
계층 조건 관리부(306)는 컨텐츠 서버(300)가 제공하는 계층 조건 리스트를 수신하고, 계층 조건 리스트에 포함된 컨텐츠 식별 정보 및 비트레이트 별 스케일러빌리티 계층 레벨의 정보를 매칭 저장한다. 이때, 계층 조건 리스트에 포함된 비트레이트 별 스케일러빌리티 계층 레벨은 해당 컨텐츠가 몇 개의 스케일러빌리티 계층으로 분할되어 있는지를 확인할 수 있는 기준 정보이며, 클라이언트 장치(300)가 각 비트레이트 별로 적합한 스케일러빌리티 계층 레벨을 확인할 수 있는 정보이다.
계층 레벨 결정부(307)는 상기 컨텐츠 요청 이전에 다운로드된 SVC 비디오 세그먼트의 비트레이트에 기초하여 현재 컨텐츠 요청에 적용할 스케일러빌리티 계층 레벨을 결정한다.
이때 계층 레벨 결정부(307)는 계층 조건 관리부(306)에 저장된 해당 컨텐츠의 비트레이트 별 스케일러빌리티 계층 레벨 기준 중 비트레이트 산출부(305)로부터 산출된 비트레이트와 매칭된 스케일러빌리티 계층 레벨을 검출한다.
한편, 앞서 설명한 바와 같이 클라이언트 장치(300)는, 이전에 다운로드한 SVC 비디오 세그먼트에 따른 네트워크 상태 조건에 기초하여 다음 컨텐츠 요청의 비트레이트를 결정하며, 결정된 비트레이트에 기초하여 요청할 컨텐츠의 스케일러빌리티 계층 레벨을 결정하게 된다.
그런데 본 발명이 적용되는 멀티플 캐시 네트워크 환경에서는 캐시 노드(200)가 동일 컨텐츠에 대해서 컨텐츠 섹션 별로 다양한 계층의 SVC 비디오 세그먼트를 캐싱하고 있다. 따라서 클라이언트 장치(300)가 요청한 스케일러빌리티 계층의 데이터가 해당 캐시 노드(200)에 캐싱되어 있지 않은 경우 또는 클라이언트(300)가 요청한 스케일러빌리티 계층의 데이터보다 상위 계층의 데이터가 캐싱되어 있는 경우 등과 같이, 캐시 노드(200)가 제공하는 비트레이트가 클라이언트(300)의 이전 컨텐츠 요청에 따른 비트레이트보다 높거나 낮은 경우가 발생할 수 있다.
이에 따라, 본 발명의 일 실시예에 따른 클라이언트 장치(300)는 캐시 노드(200)로 컨텐츠 요청을 한 이후 해당 캐시 노드(200)와의 데이터 전송 환경 조건에 따라 요청한 SVC 비디오 세그먼트의 계층에 대한 조절 처리를 수행할 수 있다. 즉, 클라이언트(300)는 수신 중인 SVC 비디오 세그먼트에 대해 하나 이상의 계층의 다운로드를 포기하여 버퍼량을 안전하게 유지시키거나, 컨텐츠 요청보다 더 높은 상위 계층의 SVC 비디오 세그먼트를 추가적으로 요청 및 획득하여 버퍼량에 영향을 미치지 않으면서도 좀 더 고화질의 비디오 컨텐츠를 스트리밍할 수 있다.
이를 위하여, 다운로드 포기 결정부(308)는 컨텐츠 요청에 따른 스케일러빌리티 계층 레벨에 포함된 계층 별 SVC 비디오 세그먼트의 다운로드 완료시마다 현재 버퍼량 및 총 다운로드 시간에 기초하여 나머지 계층에 대한 다운로드 포기 처리 여부를 결정한다.
구체적으로, 다운로드 포기 결정부(308)는 컨텐츠 수신부(302)를 통해 상기 컨텐츠 요청의 스케일러빌리티 계층 레벨에 포함된 계층 별 SVC 비디오 세그먼트가 다운로드 완료 시점을 확인한다. 그리고 다운로드 포기 결정부(308)는 계층 별 다운로드 완료 시점의 버퍼량을 확인하고, 현재 다운로드가 완료된 계층까지의 총 다운로드 시간을 산출하여 나머지 계층(다운로드가 완료된 계층의 나머지 향상 계층)에 대한 다운로드 포기 처리를 결정한다.
예를 들어, 다운로드 포기 결정부(308)는 하기 수학식 1의 두 개의 조건에 따라 다운로드 포기 처리를 결정할 수 있다.
<수학식 1>
상기 수학식 1에서, ‘Buffer Fullness’는 해당 시점의 버퍼량을 의미한다. 버퍼량은 스트리밍 재생 가능 시간으로서, 클라이언트 장치(300)가 버퍼링하고 있는 적어도 하나의 SVC 비디오 세그먼트를 재생할 수 있는 플레이 시간을 의미한다. 그리고 첫번째 조건 및 두번째 조건의 10s 및 17.5s는 ‘Δcertain target’으로서 각각 버퍼량에 따라 구분되는 두가지 상태의 한계값을 의미한다. 이때 버퍼량이 Δcertain target 값보다 작은 경우 점진적 다운로드(progressive download) 방식을 사용하고, 버퍼량이 Δcertain target 값보다 큰 경우 플레이 시간을 반영하여 다운로드를 요청한다. ‘ΔLayer Download’는 스케일러빌리티 계층 레벨에 포함된 적어도 하나의 계층 중 현재 다운로드 완료된 계층까지의 총 다운로드 시간을 의미한다. 그리고 ‘i’는 SVC 비디오 세그먼트에 대한 계층 값이고, ‘n’은 결정된 스케일러빌리티 계층 레벨의 값(즉, 컨텐츠 요청에 포함된 스케일러빌리티 계층 레벨의 값)이다. 또한, ‘ΔChunk Play’는 하나의 청크가 재생 가능한 시간을 의미하며, 고정된 시간으로 설정될 수 있다.
상기 수학식 1의 첫번째 조건에서와 같이, 클라이언트 장치(300)의 현재 버퍼량이 제 1 한계값(예를 들어, 안정적인 스트리밍 재생을 위한 최소의 재생 가능 시간 기준)보다 작은 경우, 현재까지 다운로드가 완료된 계층까지의 총 다운로드 시간이 하나의 청크 플레이 시간보다 큰 경우 상위 향상 계층 (Enhancement Layer(i+1))에 대한 포기 처리(Drop)를 결정한다.
또한 상기 수학식 1의 두번째 조건에서와 같이, 클라이언트 장치(300)의 현재 버퍼량이 제 2 한계값(예를 들어, 안정적인 스트리밍 재생을 위한 최소의 재생 가능 시간보다는 큰 값)보다 큰 경우, 현재까지 다운로드가 완료된 계층까지의 총 다운로드 시간이 현재 버퍼량에서 제 2 한계값을 차감한 값보다 큰 경우 상위 향상 계층에 대한 포기 처리를 결정한다.
추가 다운로드 결정부(309)는 컨텐츠 요청의 스케일러빌리티 계층 레벨에 포함된 전체 계층이 다운로드 완료된 시점의 버퍼량 및 전체 계층의 총 다운로드 시간에 기초하여 상위 스케일러빌리티 계층 레벨의 추가 요청을 결정한다.
구체적으로, 추가 다운로드 결정부(309)는 컨텐츠 수신부(302)를 통해 상기 컨텐츠 요청의 스케일러빌리티 계층 레벨에 포함된 모든 계층에 대한 SVC 비디오 세그먼트가 다운로드 완료 시점을 확인한다. 그리고 추가 다운로드 결정부(309)는 전체 계층의 다운로드 완료 시점의 버퍼량을 확인하고, 전체 계층의 총 다운로드 시간을 산출하여 상기 컨텐츠 요청의 스케일러빌리티 계층 레벨에서의 최상위 계층보다 상위 계층의 데이터에 대한 추가 다운로드 요청을 결정한다.
예를 들어, 추가 다운로드 결정부(309)는 하기 수학식 2의 조건에 따라 추가 다운로드 처리를 결정할 수 있다.
<수학식 2>
상기 수학식 2의 조건에서와 같이, 클라이언트 장치(300)의 현재 버퍼량이 제 3 한계값(예를 들어, 상기 제 1 및 제 2 한계값 보다 크거나 같은 값)보다 큰 경우, 전체 계층의 다운로드 시간이 하나의 청크 플레이 값보다 작은 경우 컨텐츠 요청하였던 최상위 계층보다 상위 향상 계층(Enhancement Layer(n+1))에 대한 추가 다운로드 요청을 결정한다.
부가 요청 전송부(310)는 다운로드 포기 결정부(308)가 다운로드 포기를 결정한 경우 컨텐츠를 제공하던 캐시 노드(200)로 컨텐츠 다운로드 중지 요청을 전송한다.
또한 부가 요청 전송부(310)는 추가 다운로드 결정부(309)가 추가 다운로드 요청을 결정한 경우 컨텐츠를 제공하던 캐시 노드(200)로 상위 스케일러빌리티 계층 레벨의 컨텐츠 추가 요청을 전송한다. 이때 상위 스케일러빌리티 계층 레벨의 컨텐츠 추가 요청은 컨텐츠 식별 정보, 컨텐츠 섹션 정보 및 상위 스케일리빌리티 계층 레벨에 대응하는 계층 정보를 포함한다.
이하, 도 4를 참조하여 본 발명의 일 실시예에 따른 클라이언트 장치(300)를 통해 적응적 비디오 스트리밍을 제공하는 방법을 상세히 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 적응적 비디오 스트리밍 방법을 설명하기 위한 순서도이다.
먼저, 멀티플 캐시 네트워크 상의 적어도 하나의 캐시 노드(200)로 SVC 컨텐츠 요청을 전송한다(S410).
이때 컨텐츠 요청에는 요청하고자 하는 컨텐츠의 식별 정보, 해당 컨텐츠 중 획득하고자 하는 섹션의 정보 및 클라이언트 장치(300)의 네트워크 환경 조건인 비트레이트에 따라 결정된 스케일러빌리티 계층 레벨의 정보가 포함된다.
또한 SVC 컨텐츠 요청을 전송하기 이전에, 컨텐츠 서버(100)로부터 컨텐츠 식별 정보 및 비트레이트 별 스케일러빌리티 계층 레벨의 기준 정보를 수신하여 매칭 저장해 둘 수 있다. 이는 상기 저장된 정보에 기초하여 클라이언트 장치(300)의 네트워크 환경 조건에 따라 산출한 비트레이트에 매칭된 스케일러빌리티 계층 레벨을 검출하여 컨텐츠 요청에 적용할 스케일러빌리티 계층 레벨을 결정하기 위한 것이다.
그런 후 상기 컨텐츠 요청에 대하여 응답하는 어느 하나의 캐시 노드(200)로부터 컨텐츠 요청의 각 조건에 만족하는 SVC 비디오 세그먼트를 수신하여 다운로드한다(S420).
이때 클라이언트 장치(300)는 컨텐츠 요청의 스케일러빌리티 계층 레벨에 포함되는 적어도 하나의 계층 중 최하위 계층의 SVC 비디오 세그먼트부터 상위 향상 계층을 순차적으로 수신하여 다운로드한다.
참고로 컨텐츠 요청의 스케일러빌리티 계층 레벨은 클라이언트 장치(300)가 컨텐츠 요청 이전에 다운로드한 SVC 비디오 세그먼트의 비트레이트에 기초하여 결정되며, 최하위 계층은 단독으로 스트리밍 재생이 가능한 기본 계층 이다.
그런 다음, 다운로드된 SVC 비디오 세그먼트를 버퍼에 버퍼링하고(S430), 버퍼링된 SVC 비디오 세그먼트를 스트리밍 재생한다(S440).
이때 버퍼링된 SVC 비디오 세그먼트 중 동일 컨텐츠 섹션에 대한 적어도 하나의 계층의 SVC 비디오 세그먼트를 스케일러블 비디오 디코딩한 후 스트리밍 재생한다.
한편, 클라이언트 장치(300)와 해당 캐시 노드(200) 간의 네트워크 환경 조건에 따라 클라이언트 장치(300)의 버퍼량을 안정적으로 유지하면서도 고품질의 스트리밍 재생을 지원하기 위하여 다음과 같은 단계들을 추가적으로 수행할 수 있다.
상기 단계 (S430) 이후에, 컨텐츠 요청의 스케일러빌리티 계층 레벨에 포함된 계층 별 다운로드 완료시점마다 기설정된 조건에 따라 나머지 계층에 대한 다운로드 지속 여부를 결정한다.
이때 상기 다운로드 완료시점마다 클라이언트 장치(300)의 버퍼량 및 다운로드가 완료된 계층까지의 총 다운로드 시간에 기초하여 남은 계층에 대한 다운로드 포기 처리를 결정한다.
그런 후, 상기 나머지 계층에 대한 다운로드 포기 처리를 결정한 경우, 해당 캐시 노드(200)로 컨텐츠에 대한 다운로드 중지 요청을 전송한다.
이에 따라 클라이언트 장치(300)는 해당 캐시 노드(200)와의 네트워크 환경 조건(예를 들어, 데이터 다운로드 속도)이 일정 기준 이하로 비효율적일 경우, SVC 비디오 세그먼트를 다운로드 하는 중에라도 남은 스케일러빌리티 계층 데이터의 다운로드를 포기 처리함으로써 버퍼량을 유지하면서도 안정적으로 스트리밍 재생을 제공할 수 있다.
또한 상기 단계 (S430) 이후에, 컨텐츠 요청의 스케일러빌리티 계층 레벨에 포함된 어느 하나의 계층의 포기 처리 없이 모든 계층의 다운로드가 완료된 경우, 전체 계층의 다운로드가 완료된 시점의 클라이언트 장치(300)의 버퍼량과 전체 계층의 총 다운로드 시간에 기초하여 상위 스케일러빌리티 계층 레벨의 데이터를 추가 요청할 것인지 여부를 결정한다.
그런 후 상기 추가 요청을 결정한 경우, 해당 캐시 노드로 상위 스케일러빌리티 계층 레벨의 컨텐츠 추가 요청을 전송한다.
이에 따라 클라이언트 장치(300)는 해당 캐시 노드(200)와의 네트워크 환경 조건이 일정 기준 이상으로 효율적인 경우, 컨텐츠 요청에 따라 수신한 전체 계층의 SVC 비디오 세그먼트보다 상위 향상 계층의 SVC 비디오 세그먼트를 추가로 요청 및 획득함으로써 버퍼량을 유지하면서도 고품질의 스트리밍 재생을 제공할 수 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
Claims (15)
- 멀티플 캐시 네트워크 상에서 스케일러블 비디오 코딩(Scalable Video Coding, SVC) 비디오 컨텐츠를 스트리밍하는 클라이언트 장치에 있어서,적어도 하나의 캐시 노드로 컨텐츠 요청을 전송하는 컨텐츠 요청부;어느 하나의 캐시 노드로부터 상기 컨텐츠 요청에 대응하는 SVC 비디오 세그먼트를 다운로드하는 컨텐츠 수신부;상기 다운로드된 SVC 비디오 세그먼트를 버퍼링하는 버퍼;상기 버퍼링된 SVC 비디오 세그먼트를 스트리밍 재생하는 컨텐츠 재생부; 및상기 컨텐츠 요청 이전에 다운로드된 SVC 비디오 세그먼트의 비트레이트에 기초하여 상기 컨텐츠 요청에 적용할 스케일러빌리티 계층 레벨을 결정하는 계층 레벨 결정부를 포함하되,상기 컨텐츠 수신부는,상기 어느 하나의 캐시 노드로부터 상기 결정된 스케일러빌리티 계층 레벨에 포함된 계층 중 최하위 계층의 SVC 비디오 세그먼트부터 순차적으로 수신하는 클라이언트 장치.
- 제 1 항에 있어서,상기 결정된 스케일러빌리티 계층 레벨에 포함된 계층 별 다운로드 완료 시점의 버퍼량 및 다운로드가 완료된 계층까지의 총 다운로드 시간에 기초하여 나머지 계층에 대한 다운로드 포기 처리를 결정하는 다운로드 포기 결정부를 더 포함하는 클라이언트 장치.
- 제 1 항에 있어서,상기 결정된 스케일러빌리티 계층 레벨에 포함된 전체 계층이 다운로드 완료된 시점의 버퍼량 및 상기 전체 계층의 총 다운로드 시간에 기초하여 상위 스케일러빌리티 계층 레벨의 추가 요청을 결정하는 추가 다운로드 결정부를 더 포함하는 클라이언트 장치.
- 제 2 항 또는 제 3 항에 있어서,상기 캐시 노드로 기설정된 컨텐츠 다운로드 중지 요청 또는 기설정된 상위 스케일러빌리티 계층 레벨의 컨텐츠 추가 요청을 전송하는 부가 요청 전송부를 더 포함하는 클라이언트 장치.
- 제 4 항에 있어서,상기 상위 스케일러빌리티 계층 레벨의 컨텐츠 추가 요청은,컨텐츠 식별 정보, 컨텐츠 섹션 정보 및 상기 상위 스케일리빌리티 계층 레벨의 계층 정보를 포함하는 것인 클라이언트 장치.
- 제 1 항에 있어서,직전에 다운로드된 SVC 비디오 세그먼트의 데이터 크기 및 다운로드 시간에 기초하여 상기 비트레이트를 산출하는 비트레이트 산출부를 더 포함하는 클라이언트 장치.
- 제 1 항에 있어서,상기 컨텐츠 재생부는,상기 버퍼링된 SVC 비디오 세그먼트 중 동일 컨텐츠 섹션에 대한 적어도 하나의 계층의 SVC 비디오 세그먼트를 스케일러블 비디오 디코딩하는 것인 클라이언트 장치.
- 제 1 항에 있어서,상기 최하위 계층은,단독으로 스트리밍 재생이 가능한 기본 계층인 것인 클라이언트 장치.
- 제 1 항에 있어서,상기 컨텐츠 요청은,컨텐츠 식별 정보, 컨텐츠 섹션 정보 및 스케일러빌리티 계층 레벨 정보를 포함하는 것인 클라이언트 장치.
- 제 1 항에 있어서,컨텐츠 서버가 제공하는 컨텐츠 식별 정보 및 비트레이트 별 스케일러빌리티 계층 레벨의 정보를 수신하여 매칭 저장하는 계층 조건 관리부를 더 포함하되,상기 계층 레벨 결정부는,상기 계층 조건 관리부로부터 상기 이전 다운로드된 SVC 비디오 세그먼트의 비트레이트에 매칭된 스케일러빌리티 계층 레벨을 검출하는 클라이언트 장치.
- 멀티플 캐시 네트워크에서 클라이언트 장치가 스케일러블 비디오 코딩(Scalable Video Coding, SVC) 비디오 컨텐츠를 스트리밍하는 방법에 있어서,(a) 적어도 하나의 캐시 노드로 컨텐츠 식별 정보, 컨텐츠 섹션 정보 및 스케일러빌리티 계층 레벨을 포함하는 컨텐츠 요청을 전송하는 단계;(b) 어느 하나의 캐시 노드로부터 상기 컨텐츠 요청에 대응하는 SVC 비디오 세그먼트를 상기 스케일러빌리티 계층 레벨에 포함된 계층 중 최하위 계층부터 순차적으로 다운로드하여 버퍼링하는 단계; 및(c) 상기 버퍼링된 SVC 비디오 세그먼트를 스트리밍 재생하는 단계를 포함하되,상기 스케일러빌리티 계층 레벨은 이전에 다운로드된 SVC 비디오 세그먼트의 비트레이트에 기초하여 결정된 것이고,상기 최하위 계층은 단독으로 스트리밍 재생이 가능한 기본 계층인 것인 SVC 비디오 컨텐츠 스트리밍 방법.
- 제 11 항에 있어서,상기 (b) 단계 이후에,상기 스케일러빌리티 계층 레벨에 포함된 계층 별 다운로드 완료 시점마다 버퍼량 및 다운로드가 완료된 계층까지의 총 다운로드 시간에 기초하여 나머지 계층에 대한 다운로드 포기 처리를 결정하는 단계; 및상기 다운로드 포기 처리를 결정한 경우 상기 어느 하나의 캐시 노드로 컨텐츠 다운로드 중지 요청을 전송하는 단계를 더 포함하는 SVC 비디오 컨텐츠 스트리밍 방법.
- 제 11 항에 있어서,상기 (b) 단계 이후에,상기 스케일러빌리티 계층 레벨에 포함된 전체 계층의 다운로드가 완료된 시점에 버퍼량 및 상기 전체 계층의 총 다운로드 시간에 기초하여 상위 스케일러빌리티 계층 레벨의 추가 요청을 결정하는 단계; 및상기 추가 요청을 결정한 경우 상기 어느 하나의 캐시 노드로 상기 상위 스케일러빌리티 계층 레벨의 컨텐츠 추가 요청을 전송하는 단계를 더 포함하는 SVC 비디오 컨텐츠 스트리밍 방법.
- 제 11 항에 있어서,상기 (c) 단계는,상기 버퍼링된 SVC 비디오 세그먼트 중 동일 컨텐츠 섹션에 대한 적어도 하나의 계층의 SVC 비디오 세그먼트를 스케일러블 비디오 디코딩한 후 스트리밍 재생하는 것인 SVC 비디오 컨텐츠 스트리밍 방법.
- 제 11 항에 있어서,상기 (a) 단계 이전에,컨텐츠 서버로부터 컨텐츠 식별 정보 및 비트레이트 별 스케일러빌리티 계층 레벨의 정보를 수신하여 매칭 저장하는 단계를 더 포함하되,상기 결정된 스케일러빌리티 계층 레벨은 상기 저장된 비트레이트 중 상기 산출된 비트레이트에 매칭된 스케일러빌리티 계층 레벨을 검출하여 결정된 것인 SVC 비디오 컨텐츠 스트리밍 방법.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2013-0005746 | 2013-01-18 | ||
| KR1020130005746A KR101438737B1 (ko) | 2013-01-18 | 2013-01-18 | 멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2014112698A1 true WO2014112698A1 (ko) | 2014-07-24 |
Family
ID=51209775
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2013/006149 Ceased WO2014112698A1 (ko) | 2013-01-18 | 2013-07-10 | 멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법 |
Country Status (2)
| Country | Link |
|---|---|
| KR (1) | KR101438737B1 (ko) |
| WO (1) | WO2014112698A1 (ko) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111372096A (zh) * | 2020-03-12 | 2020-07-03 | 重庆邮电大学 | 一种基于d2d辅助的视频质量自适应缓存方法和设备 |
| CN113038245A (zh) * | 2019-12-24 | 2021-06-25 | 瑞昱半导体股份有限公司 | 多媒体内容播放装置与多媒体内容播放方法 |
| CN113473248A (zh) * | 2020-03-30 | 2021-10-01 | 中国电信股份有限公司 | 流媒体传输方法、装置和计算机可读存储介质 |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101654898B1 (ko) * | 2015-04-15 | 2016-09-07 | 고려대학교 산학협력단 | 적응형 스트리밍 서비스를 수신하는 방법 |
| KR101789391B1 (ko) * | 2015-12-14 | 2017-10-25 | 경희대학교 산학협력단 | 셀룰러 무선 접근 네트워트가 활성화된 icn에서의 스케일러블 비디오 스트리밍 전송 시스템 및 방법 |
| CN109121018B (zh) * | 2018-09-12 | 2020-01-17 | 中国地质大学(武汉) | 用于svc-dash点播系统的动态缓存调度方法、设备及存储设备 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20100062811A (ko) * | 2008-12-01 | 2010-06-10 | 한국전자통신연구원 | 멀티미디어 콘텐츠 서비스 장치 및 방법 |
| KR20110120836A (ko) * | 2010-04-29 | 2011-11-04 | 이르데토 비.브이. | 디지털 콘텐트의 적응형 스트리밍 제어 |
-
2013
- 2013-01-18 KR KR1020130005746A patent/KR101438737B1/ko active Active
- 2013-07-10 WO PCT/KR2013/006149 patent/WO2014112698A1/ko not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20100062811A (ko) * | 2008-12-01 | 2010-06-10 | 한국전자통신연구원 | 멀티미디어 콘텐츠 서비스 장치 및 방법 |
| KR20110120836A (ko) * | 2010-04-29 | 2011-11-04 | 이르데토 비.브이. | 디지털 콘텐트의 적응형 스트리밍 제어 |
Non-Patent Citations (1)
| Title |
|---|
| KANG, EUN MI ET AL., JOURNAL OF KOREA COMPUTER CONGRESS 2012, vol. 39, no. 1 (D, 1 July 2012 (2012-07-01), pages 389 - 391 * |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113038245A (zh) * | 2019-12-24 | 2021-06-25 | 瑞昱半导体股份有限公司 | 多媒体内容播放装置与多媒体内容播放方法 |
| CN111372096A (zh) * | 2020-03-12 | 2020-07-03 | 重庆邮电大学 | 一种基于d2d辅助的视频质量自适应缓存方法和设备 |
| CN111372096B (zh) * | 2020-03-12 | 2022-02-18 | 重庆邮电大学 | 一种基于d2d辅助的视频质量自适应缓存方法和设备 |
| CN113473248A (zh) * | 2020-03-30 | 2021-10-01 | 中国电信股份有限公司 | 流媒体传输方法、装置和计算机可读存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| KR101438737B1 (ko) | 2014-09-05 |
| KR20140093430A (ko) | 2014-07-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2392122B1 (en) | Media streaming through a network address translation (nat) device | |
| US8918535B2 (en) | Method and apparatus for carrier controlled dynamic rate adaptation and client playout rate reduction | |
| US10313415B2 (en) | Using segment routing to access chunks of content | |
| CN101534204B (zh) | 流媒体信息分发系统和方法及客户端 | |
| US9197677B2 (en) | Multi-tiered scalable media streaming systems and methods | |
| CN101715650B (zh) | 机顶盒对等端辅助的视频点播 | |
| WO2011159140A2 (en) | Storage file format for multimedia streaming file, and storage method and client apparatus using the same | |
| WO2014112698A1 (ko) | 멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법 | |
| GB2549552A (en) | Delivering content over a network | |
| WO2008148181A1 (en) | Methods and systems for delivery of media over a network | |
| WO2012047004A2 (ko) | Http 스트리밍의 표현 스위칭시 자연스런 재생을 위한 스케일러블한 http 스트리밍 전송 방법 | |
| US10412453B2 (en) | Probability weighted DASH based video streaming over an information-centric network | |
| Westphal et al. | Adaptive video streaming over information-centric networking (icn) | |
| US20200021867A1 (en) | Broadcast signal transmitting and receiving method and device | |
| US20170041422A1 (en) | Method and system for retrieving a content manifest in a network | |
| CN104093088A (zh) | 实现自适应流媒体播放控制的系统及方法 | |
| Kofler et al. | An H. 264/SVC-based adaptation proxy on a WiFi router | |
| WO2012122900A1 (zh) | 用于统计用户体验的方法、终端设备和系统 | |
| US7720067B2 (en) | Data transfer apparatus and transfer control method | |
| Clayman et al. | In-network scalable video adaption using big packet protocol | |
| JP4283186B2 (ja) | 双方向映像通信品質制御システム、利用者端末、品質管理サーバ及びプログラム | |
| US20090193476A1 (en) | Method for live transmission of content with a view to defered recovery in P2P mode after division, and control device and associated equipment | |
| KR100616250B1 (ko) | 인터넷 네트워크에서 서버와 클라이언트들 간의 데이터전송 시스템 및 방법 | |
| CA2657444C (en) | Multi-tiered scalable media streaming systems and methods | |
| Nunome | Video and audio transmission quality enhancement over ccn by means of access timing and media synchronization control |
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: 13872149 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 13872149 Country of ref document: EP Kind code of ref document: A1 |

