WO2016167590A1 - 적응형 스트리밍 서비스를 수신하는 방법 - Google Patents
적응형 스트리밍 서비스를 수신하는 방법 Download PDFInfo
- Publication number
- WO2016167590A1 WO2016167590A1 PCT/KR2016/003924 KR2016003924W WO2016167590A1 WO 2016167590 A1 WO2016167590 A1 WO 2016167590A1 KR 2016003924 W KR2016003924 W KR 2016003924W WO 2016167590 A1 WO2016167590 A1 WO 2016167590A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- video
- chunk
- layer
- video data
- streaming service
- 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/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
- 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/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/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
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440227—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Definitions
- An embodiment according to the concept of the present invention relates to a method for receiving a streaming service for video content, and in particular, streaming that can adaptively provide or receive a streaming service for video content without predicting available bandwidth of a network environment.
- a method of receiving a service is a method for receiving a service.
- the conventional bit rate selection algorithm is designed assuming a wired internet environment.
- the number of clients using streaming services in a wireless network environment such as Wi-Fi or Long Term Evolution (LTE) has been increasing.
- LTE Long Term Evolution
- each client connected to the same access point is assigned the same download rate in the long run, but in an adaptive video streaming service, the network bandwidth prediction may be different for each client in evaluating (or predicting) the bandwidth.
- the phenomenon of requesting video data of different quality occurs.
- FIG. 1 is a graph illustrating the difference in video quality between clients.
- an average bandwidth (Avg. Download Rate) and an average of video quality selected through the existing bit rate selection algorithm are shown in the same situation.
- 1 shows that the existing bit rate selection algorithm is not suitable for the wireless network environment in two respects. First, despite sufficient bandwidth available, existing bit rate selection algorithms do not fully utilize the given bandwidth. Second, it can be seen that the image quality deviation between each client occurs up to 2 times. Accordingly, the present invention proposes a bit rate selection algorithm for an adaptive video streaming service in a network unstable state such as a wireless network environment.
- the technical problem to be achieved by the present invention is to provide a method for adaptively receiving a streaming service without performing a prediction on the network bandwidth in a network environment with a high bandwidth fluctuations and competition between channels, particularly a wireless network environment.
- a method of receiving a streaming service is a method of receiving a streaming service for a hierarchically coded video content at a terminal, while video data corresponding to a single video chunk is decoded, (a) Sequentially requesting transmission of video data for at least one base layer to be stored in an idle space of the buffer, and (b) if there is no idle space in the buffer, Requesting transmission sequentially, said step (b) being repeated by increasing the order of layers while video data corresponding to said single video chunk is being decoded.
- the transmission request sequentially requested in step (a) and step (b) may be transmitted after reception of video data corresponding to the previous transmission request is completed.
- the order of the video chunks corresponding to the video data requested to be transmitted in step (b) may be at least two or more larger than the order of the single chunk.
- the increased order layer is characterized in that the enhancement layer of the next video chunk of the last video chunk received in advance.
- the method of receiving the streaming service can increase bandwidth utilization compared to the existing bit rate selection algorithm, and can solve the problem that playback is stopped due to insufficient buffer and that the picture quality changes periodically or suddenly. .
- 1 is a graph illustrating the difference in video quality between clients.
- FIG. 2 illustrates a video streaming system according to an embodiment of the present invention.
- FIG. 3 is a functional block diagram of a terminal shown in FIG.
- FIG. 4 is a flowchart illustrating a method of receiving a streaming service performed in the terminal illustrated in FIG. 2.
- FIG. 5 illustrates a specific embodiment using a method of receiving a streaming service described with reference to FIG. 4.
- first or second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another, for example without departing from the scope of the rights according to the inventive concept, and the first component may be called a second component and similarly the second component. The component may also be referred to as a first component.
- Dynamic Adaptive Streaming over HTTP is a multimedia data transmission standard that provides adaptive streaming services over HTTP.
- DASH which can provide services individually for environments with diverse resources such as client display, memory, and computing power, selects the image quality of the image to be serviced in a client-driven approach.
- the client In order to receive an image of the image quality selected by the client, the client requests an image in chunks that are divided into small time units.
- an algorithm Rate Determination Algorithm
- RDA refers to an algorithm for selecting an image quality to provide an adaptive streaming service.
- the purpose of RDA is to solve the problem of stopping the playback due to the lack of buffers and increasing the video quality by making the most of the fluid bandwidth of the client. .
- SVC Scalable Video Coding or Scalable Video Codec
- Scalable Video Coding or Scalable Video Codec is a standardized codec for providing video contents in consideration of clients in various environments having different network conditions or device conditions.
- layered coding is performed to support scalability of spatial, temporal, and quality, and extracted for each layer. can do.
- the extracted layer may be divided into a base layer, which is an essential element required for a service, and an enhancement layer for extension. Therefore, the streaming service using the SVC technique can solve the problem of providing additional transcoding or a plurality of images separately for the client when providing the service considering the environment of various clients.
- Standardization codec for this is H.264 / SVC or H.264 / SHVC.
- FIG. 2 illustrates a video streaming system according to an embodiment of the present invention.
- the video streaming system 1000 includes a terminal 100 and a content server 300.
- the terminal 100 which may be referred to as a user equipment or a client, may transmit a transmission request for video content to the content server 300, and receive and stream video data corresponding to the transmission request.
- the terminal 100 may be a personal computer (PC), a tablet PC, a notebook, a net-book, an e-reader, a personal digital assistant, a portable multimedia player (PMP). It may be implemented as a data processing device such as an MP3 player or an MP4 player, or may be implemented as a handheld device such as a mobile phone or a smart phone.
- PC personal computer
- PMP portable multimedia player
- a plurality of video contents are stored in the content server 300, and the video contents requested from the terminal 100 may be provided to the terminal 100 in chunk units.
- the content server 300 may provide the video content to the terminal 100 via a cache server, a router, or a proxy server.
- the content server 300 may provide a cache server, a router, or a proxy server itself. It may also be understood as meaning terms.
- the content server 300 stores a plurality of content sections by dividing each video content into predetermined units (for example, chunks), and encodes the SVC method so that each content section has a plurality of layers. Save it.
- a single chunk has a constant playback time (eg 2 seconds).
- the video streaming service provided by the present invention is not limited to any one of wired and wireless network environments, but is more applicable to a network environment in which the available bandwidth changes frequently (or rapidly) in a short time, in particular, a wireless network environment. You can expect great effects.
- the terminal 100 includes a transmission requesting unit 110, a data receiving unit 130, a buffer 150, a content reproducing unit 170, and a target layer determining unit 190. .
- the transmission request unit 110 transmits a request for transmitting video data for the target layer to be received to the content server 300.
- the transmission request includes video chunk information (for example, an order of video chunks) that can identify a video chunk to be received and hierarchical information that is information that can identify a layer of a video chunk identified by the video chunk information. For example, the order of the hierarchy) may be included.
- the transmission request may further include content identification information which is information for identifying the requested video content.
- the data receiver 130 receives video data corresponding to the transmission request transmitted by the transmission requester 100 from the content server 300, and the buffer 150 receives the video data received by the receiver 130. Buffer sequentially in the order of the chunks.
- the buffer 150 may store streaming data corresponding to the size (or length) of the buffer 150.
- the size of the buffer 150 does not mean the physical size of the buffer 150, but may mean a playable time.
- the content player 170 may decode and play the video data buffered by the buffer 150.
- the target layer determiner 190 may determine a layer to be received, that is, a target layer, and the transmission requester 110 may transmit a request for transmission of video data for the target layer determined by the target layer determiner 190. To 300. A detailed operation of the target layer determiner 190 will be described with reference to FIG. 4.
- Each of the configurations of the terminal 100 illustrated in FIG. 3 is represented as being functionally and logically separated, and it is not necessarily meant that each configuration is divided into separate physical devices or written in separate codes. The average expert in the art will be able to reason easily.
- FIG. 4 is a flowchart illustrating a method of receiving a streaming service performed by a terminal illustrated in FIG. 2. Specifically, FIG. 4 illustrates a target layer determination process by a target layer determination unit and a transmission request process by a transmission request unit. It is a flow chart.
- video content that is the target of a streaming service is divided into a total of n (n is a natural number) video chunks and encoded to have m (m is a natural number of two or more) layers.
- the target layer determiner 190 of the terminal 100 determines (or sets) an initial target layer target_layer (i, j) in order to receive a streaming service for video content.
- S100 the target layer
- i i is a natural number greater than or equal to 1 and less than or equal to n
- j j is greater than or equal to 1 and less than or equal to m Natural number
- i and j may be determined as one.
- the initial target layer is the first layer (base layer) of the first video chunk.
- step S110 the transmission request unit 110 of the terminal 100 transmits a request for transmitting video data for the target layer target_layer (i, j) to the content server 300.
- the terminal 100 transmits a transmission request for the video data corresponding to the first layer of the first video chunk to the content server 300.
- step S120 the target layer determination unit 190 determines whether the buffer 150 is full (or whether there is an idle space of the buffer 150) or the video chunk or reception requested for transmission. It is determined whether the extracted video chunk (last_chunk j ) is the last video chunk of the video content, that is, the nth video chunk.
- Step S130 when the buffer 150 is not filled with the layer requesting transmission, and it is determined that the requested video chunk (last_chunk j ) is not the last video chunk of the video content (that is, last_chunk j ⁇ n), Step S130 is performed.
- the target layer determiner 190 of the terminal 100 determines a next target layer target_layer (i, j). That is, the target layer determiner 190 determines the order (i) of the video chunks of the video data to be requested and the order (j) of the layers. In detail, the target layer determiner 190 increases the order of video chunks of the target layer by "1". In addition, the target layer determiner 190 may set the j value to one.
- step S110 is performed again. That is, the transmission request unit 110 transmits a request for transmitting video data for the target layer target_layer (i, j) to the content server 300.
- step S140 when the order (last_chunk j ) of the last video chunk of the j th layer is the same as the order (last_chunk j ⁇ 1 ) of the last video chunk of the (j-1) th layer, the target layer determiner 190 may have a j value Compare the m value with (S150), if the j value and the m value is not the same, increase the j value by 1 (S160) and performs step S140 again.
- step S150 when j value and m value are the same (that is, when the order of the video layer is the maximum order), the target layer determination unit 190 may determine the order of the last video chunk (last_chunk j ) of the j th layer and the video content. The number n of video chunks included is compared (S170). If the order of the last video chunk of the j th layer (last_chunk j ) is equal to the number n of video chunks included in the video content (that is, the last video chunk of the j th layer is the last video chunk of the video content).
- the layer determination unit 190 terminates the operation, and when the order (last_chunk j ) of the last video chunk of the j th layer and the number n of video chunks included in the video content are not the same (that is, the j th layer) If the last video chunk is not the last video chunk of the video content) step S120 is performed again.
- step S140 when it is determined that the order (last_chunk j ) of the last video chunk of the j th layer and the order (last_chunk j ⁇ 1 ) of the last video chunk of the (j-1) th layer are not the same, or the value of j Is 1, but in step S120, when the buffer 150 is full or the order of the last video chunk of the j th layer (last_chunk j ) is determined to be n, the target layer determiner 190 determines the order (i) of the video chunks to request. Determine (S180). The value of i may be determined using Equation 1 below.
- the value of i may be determined to be greater than a value of increasing 1 in the order of the last video chunk of the j th layer (last_chunk j ) and a value of increasing 2 in the order of the decoding or playing chunk (play_chunk). That is, by setting the value of i to be greater than or equal to a value of 2 increased in order of the chunk being decoded or reproduced, it is possible to prevent the request for transmission of video data for the video chunk that is waiting to be shifted to the decoding region.
- step S190 the target layer determiner 190 compares the value of play_chunk with the value of n, terminates the operation when the value of (play_chunk + 2) is greater than n, and if the value of (play_chunk + 2) is greater than n If not, step S110 is performed again.
- Steps except for step S110 among the steps illustrated in FIG. 4 may be understood as steps performed by the target layer determination unit 190, and step S110 may be understood as steps performed by the transmission request unit 110. have.
- FIG. 5 illustrates a specific embodiment using a method of receiving a streaming service described with reference to FIG. 4.
- a description will be given with reference to FIGS. 2 to 5.
- j illustrated in FIG. 5 may mean an order of a hierarchy.
- the terminal 100 transmits a video to the first layer 8.
- Request the transmission of data Receiving video data for the first layer 8 causes the buffer 150 to fill the first layer, and the terminal 100 requests transmission sequentially according to the stacked state of the second layer. That is, as a request for transmission of video data to the second layer 9 to 13 and receiving video data for the second layer 9 to 13, the buffer 150 fills up the second layer. Accordingly, the terminal 100 requests the transmission of video data to the third layer 14 by increasing the order of the layer by one.
- the video chunk at the forefront of the buffer 150 is played back so that there is an idle space at the back of the buffer 150.
- Layers 15 and 16 correspond to the last video chunk of the video content and thus do not perform transmission requests for the first and second layers.
- the terminal 100 requests transmission of video data to the third layers 19 to 22 and receives video data of the third layers 19 to 22.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
스트리밍 서비스를 수신하는 방법이 개시된다. 상기 스트리밍 서비스를 수신하는 방법은 계층적으로 코딩된 비디오 컨텐츠에 대한 스트리밍 서비스를 단말에서 수신하는 방법으로서, 단일의 비디오 청크에 해당하는 비디오 데이터가 디코딩되는 동안에, (a) 버퍼의 유휴 공간에 저장될 적어도 하나의 기본 계층에 대한 비디오 데이터의 송신을 순차적으로 요청하는 단계, 및 (b) 상기 버퍼의 유휴 공간이 존재하지 않는 경우, 증가된 차수의 계층에 대한 비디오 데이터의 송신을 순차적으로 요청하는 단계를 포함하고, 상기 단계 (b)는 상기 단일의 비디오 청크에 해당하는 비디오 데이터가 디코딩되는 동안에 계층의 차수를 증가시켜 반복 수행된다.
Description
본 발명의 개념에 따른 실시 예는 비디오 콘텐츠에 대한 스트리밍 서비스를 수신하는 방법에 관한 것으로, 특히 네트워크 환경의 가용 대역폭에 대한 예측없이 적응적으로 비디오 콘텐츠에 대한 스트리밍 서비스를 제공하거나 제공받을 수 있는 스트리밍 서비스를 수신하는 방법에 관한 것이다.
비디오 콘텐츠에 대한 스트리밍 서비스에서 종래의 비트율 선택 알고리즘은 유선으로 연결된 인터넷 환경을 가정하고 설계되었다. 그러나 최근에는 Wi-Fi나 LTE(Long Term Evolution)와 같은 무선 네트워크 환경에서 스트리밍 서비스를 이용하는 클라이언트의 수가 늘어가고 있다. 하지만, 무선 네트워크 환경의 특성상 가용 대역폭이 짧은 시간에 자주 바뀌는 현상이 발생한다. 이러한 현상이 발생할 경우 비디오 데이터의 디코딩 deadline을 만족시켜야 하는 스트리밍 서비스에서는 클라이언트 서비스 품질에 악영향을 줄 수 있다.
예컨대, 동일한 AP(Access Point)에 연결된 각각의 클라이언트는 장기적으로 같은 다운로드 비율을 할당받지만, 적응적인 비디오 스트리밍 서비스에서는 대역폭을 평가(또는 예측)하는 단계에서 클라이언트마다 네트워크 대역폭 예측이 상이할 수 있기 때문에 다른 품질의 비디오 데이터를 요청하는 현상이 발생하게 된다.
이러한 현상이 발생하는 이유는 기존의 비트율 선택 알고리즘이 대역폭을 예측하기 위해 과거에 받은 비디오 데이터의 정보를 이용하며, 이러한 대역폭 예측이 단기적으로 대역폭이 급격하게 변화하는 무선 네트워크 환경에 적합하지 않기 때문이다.
도 1은 클라이언트 간 비디오 품질 차이를 도시하는 그래프이다. 도 1을 참조하면, 동일한 상황에서 평균 대역폭(Avg. Download Rate)과 기존 비트율 선택 알고리즘을 통해 선택된 비디오 품질의 평균을 보여주고 있다. 도 1은 두 가지 면에서 기존 비트율 선택 알고리즘이 무선 네트워크 환경에 부적합하다는 점을 보여 주고 있다. 첫째, 충분한 가용 대역폭이 주어짐에도 불구하고 기존 비트율 선택 알고리즘은 주어진 대역폭을 충분히 활용하지 못하고 있다. 둘째, 각 클라이언트 간의 화질 편차가 최대 2배까지 발생하는 것을 확인할 수 있다. 따라서, 본 발명에서는 무선 네트워크 환경과 같이 네트워크가 불안정한 상태에서 적응적인 비디오 스트리밍 서비스를 위한 비트율 선택 알고리즘을 제안한다.
본 발명이 이루고자 하는 기술적인 과제는 대역폭 변동과 채널 간 경쟁이 심한 네트워크 환경, 특히 무선 네트워크 환경에서 네트워크 대역폭에 관한 예측을 수행하지 않고 적응적으로 스트리밍 서비스를 수신할 수 있는 방법을 제공하는 것이다.
본 발명의 실시 예에 따른 스트리밍 서비스를 수신하는 방법은 계층적으로 코딩된 비디오 컨텐츠에 대한 스트리밍 서비스를 단말에서 수신하는 방법으로서, 단일의 비디오 청크에 해당하는 비디오 데이터가 디코딩되는 동안에, (a) 버퍼의 유휴 공간에 저장될 적어도 하나의 기본 계층에 대한 비디오 데이터의 송신을 순차적으로 요청하는 단계, 및 (b) 상기 버퍼의 유휴 공간이 존재하지 않는 경우, 증가된 차수의 계층에 대한 비디오 데이터의 송신을 순차적으로 요청하는 단계를 포함하고, 상기 단계 (b)는 상기 단일의 비디오 청크에 해당하는 비디오 데이터가 디코딩되는 동안에 계층의 차수를 증가시켜 반복 수행된다.
상기 단계 (a)와 상기 단계 (b)에서 순차적으로 요청되는 송신 요청은 이전의 송신 요청에 대응하는 비디오 데이터의 수신이 완료된 후에 송신될 수 있다.
또한, 상기 단계 (b)에서 송신이 요청된 비디오 데이터에 대응하는 비디오 청크의 순서는 상기 단일의 청크의 순서보다 적어도 2이상 큰 것을 특징으로 한다.
또한, 상기 증가된 차수의 계층은 미리 수신된 마지막 비디오 청크의 다음 비디오 청크의 향상 계층인 것을 특징으로 한다.
본 발명의 실시 예에 따른 스트리밍 서비스를 수신하는 방법에 의할 경우, 대역폭의 변화와 채널 간 경쟁이 심한 네트워크 환경, 특히 무선 네트워크 환경에서 클라이언트간 공평한 비디오 품질을 제공할 수 있는 효과가 있다.
또한, 상기 스트리밍 서비스를 수신하는 방법에 의할 경우, 기존 비트율 선택 알고리즘에 비해 대역폭 활용도를 높일 수 있으며, 버퍼가 부족하여 재생이 중지되는 문제점과 화질이 주기적으로 또는 급격하게 변하는 문제점을 해결할 수 있다.
또한, 상기 스트리밍 서비스를 수신하는 방법에 의할 경우, 네트워크 대역폭에 관한 예측을 수행하지 않고 적응적 비디오 스트리밍 서비스를 제공할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 클라이언트 간 비디오 품질 차이를 도시하는 그래프이다.
도 2는 본 발명의 실시 예에 따른 비디오 스트리밍 시스템을 도시한다.
도 3은 도 2에 도시된 단말의 기능 블럭도이다.
도 4는 도 2에 도시된 단말에서 수행되는 스트리밍 서비스를 수신하는 방법을 설명하기 위한 흐름도이다.
도 5는 도 4를 통하여 설명된 스트리밍 서비스를 수신하는 방법을 이용한 구체적인 실시 예를 도시한다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
우선 본 발명의 배경이 되는 기술에 대해 설명하면 다음과 같다.
DASH(Dynamic Adaptive Streaming over HTTP)는 적응형 스트리밍 서비스를 HTTP를 통해 제공하는 멀티미디어 데이터 전송 표준이다. 클라이언트의 디스플레이나 메모리, 컴퓨팅 능력과 같은 다양한 자원을 가진 환경에 맞게 개별적으로 서비스를 제공할 수 있는 DASH는 서비스받고자 하는 영상의 화질을 클라이언트 주도적인 방법(client-driven approach)으로 선택한다. 클라이언트가 선택한 화질의 영상을 서비스받기 위해 클라이언트는 하나의 영상을 작은 시간 단위로 쪼갠 청크(chunk) 라는 단위로 영상을 요청한다. 본 명세서에서는 클라이언트의 기능 중 요청할 화질을 선택하는 알고리즘(Rate Determination Algorithm)에 대한 내용을 다룬다.
RDA는 적응형 스트리밍 서비스를 제공하기 위해 영상의 화질을 선택하는 알고리즘을 의미한다. RDA의 목적은 클라이언트의 유동적인 대역폭을 최대한 활용하여 비디오 화질을 높이면서, 버퍼가 부족하여 재생이 중지되는 문제점(buffer underrun)과 재생 도중에 화질이 급격하고 주기적으로 변하는 문제점(oscillation)을 해결하는 것이다.
SVC(Scalable Video Coding 또는 Scalable Video Codec) 기법은 네트워크 조건 또는 디바이스 조건이 상이한 다양한 환경의 클라이언트를 고려하여 비디오 컨텐츠를 제공하기 위해 표준화된 코덱이다. 하나의 영상에서 다양한 해상도, 화면 주기율, 화질을 지원하기 위해 공간(spatial), 시간(temporal), 화질(quality)에 대한 확장성을 지원하도록 계층적(layered)으로 부호화(coding)하여 계층별로 추출할 수 있다. 이때, 추출되는 계층은 서비스에 필요한 필수 요소인 기본 계층(Base Layer)과 확장을 위한 향상 계층(Enhancement Layer)으로 구분될 수 있다. 따라서, SVC 기법을 이용한 스트리밍 서비스는 다양한 클라이언트의 환경을 고려한 서비스를 제공할 때 클라이언트에 맞게 추가적인 변화 작업(transcoding)이나 복수 개의 영상을 별도로 제공해야 하는 문제점을 해결할 수 있다. 이에 대한 표준화 코덱으로 H.264/SVC 또는 H.264/SHVC가 있다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 2는 본 발명의 실시 예에 따른 비디오 스트리밍 시스템을 도시한다.
도 2를 참조하면, 비디오 스트리밍 시스템(1000)은 단말(100)과 컨텐츠 서버(300)를 포함한다.
사용자 장치(user equipment) 또는 클라이언트 등으로 불릴 수도 있는 단말(100)은 비디오 컨텐츠에 대한 송신 요청을 컨텐츠 서버(300)로 송신하고, 상기 송신 요청에 대응하는 비디오 데이터를 수신하여 스트리밍 재생할 수 있다.
단말(100)은 PC(personal computer), 태블릿 PC, 노트북(notebook), 넷-북(net-book), e-리더(e-reader), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 또는 MP4 플레이어와 같은 데이터 처리 장치로 구현되거나, 모바일폰(mobile phone) 또는 스마트폰(smart phone) 등과 같은 핸드헬드 장치(handheld device)로 구현될 수 있다.
컨텐츠 서버(300)에는 복수의 비디오 컨텐츠가 저장되어 있으며, 단말(100)로부터 요청받은 비디오 컨텐츠를 청크 단위로 단말(100)에 제공할 수 있다. 이때, 컨텐츠 서버(300)는 캐시 서버, 라우터 또는 프락시 서버를 경유하여 비디오 컨텐츠를 단말(100)에 제공할 수도 있으며, 실시 예에 따라 컨텐츠 서버(300)는 캐시 서버, 라우터 또는 프락시 서버 자체를 의미하는 용어로 이해될 수도 있다.
컨텐츠 서버(300)는 각각의 비디오 컨텐츠를 기설정된 단위(예컨대, 청크(chunk))로 분할하여 복수의 컨텐츠 섹션을 저장하되, 각 컨텐츠 섹션이 복수의 계층(layer)을 갖도록 SVC 방식으로 인코딩하여 저장한다. 단일의 청크는 일정한 재생 시간(예컨대, 2초(seconds))을 갖는다.
본 발명에 의해 제공되는 비디오 스트리밍 서비스는 유무선 네트워크 환경 중 어느 하나에 제한적으로 적용되는 것은 아니나, 가용 대역폭이 짧은 시간에 자주(또는 급격하게) 변화하는 네트워크 환경, 특히 무선 네트워크 환경에 적용될 경우에 더욱 큰 효과를 기대할 수 있다.
도 3은 도 2에 도시된 단말의 기능 블럭도이다. 도 2와 도 3을 참조하면, 단말(100)은 송신 요청부(110), 데이터 수신부(130), 버퍼(150), 컨텐츠 재생부(170), 및 목표 계층 결정부(190)를 포함한다.
송신 요청부(110)는 수신하고자 하는 목표 계층에 대한 비디오 데이터의 송신 요청을 컨텐츠 서버(300)로 송신한다. 상기 송신 요청은 수신받고자 하는 비디오 청크를 식별할 수 있는 정보인 비디오 청크 정보(예컨대, 비디오 청크의 순서)와 상기 비디오 청크 정보에 의해 식별되는 비디오 청크의 계층을 식별할 수 있는 정보인 계층 정보(예컨대, 계층의 차수)를 포함할 수 있다. 실시 예에 따라, 상기 송신 요청은 요청하는 비디오 컨텐츠를 식별할 수 있는 정보인 컨텐츠 식별 정보를 더 포함할 수 있다.
데이터 수신부(130)는 송신 요청부(100)에 의해 송신된 송신 요청에 대응하는 비디오 데이터를 컨텐츠 서버(300)로부터 수신하고, 버퍼(150)는 수신부(130)에 의해 수신된 비디오 데이터를 비디오 청크의 순서에 따라 순차적으로 버퍼링한다. 버퍼(150)는 버퍼(150)의 크기(또는 길이)에 대응하는 스트리밍 데이터를 저장할 수 있다. 버퍼(150)의 크기는 버퍼(150)의 물리적인 크기를 의미하는 것은 아니며, 재생 가능 시간을 의미할 수 있다.
컨텐츠 재생부(170)는 버퍼(150)에 의해 버퍼링된 비디오 데이터를 디코딩하여 재생할 수 있다.
목표 계층 결정부(190)는 수신받고자 하는 계층, 즉 목표 계층을 결정할 수 있으며, 송신 요청부(110)는 목표 계층 결정부(190)에 의해 결정된 목표 계층에 대한 비디오 데이터의 송신 요청을 컨텐츠 서버(300)로 송신하게 된다. 목표 계층 결정부(190)의 구체적인 동작은 도 4를 통하여 살펴보기로 한다.
도 3에 도시된 단말(100)의 구성들 각각은 기능 및 논리적으로 분리될 수 있음으로 나타내는 것이며, 반드시 각각의 구성이 별도의 물리적 장치로 구분되거나 별도의 코드로 작성됨을 의미하는 것이 아님을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
도 4는 도 2에 도시된 단말에서 수행되는 스트리밍 서비스를 수신하는 방법을 설명하기 위한 흐름도로서, 구체적으로 목표 계층 결정부에 의한 목표 계층 결정 과정 및 송신 요청부에 의한 송신 요청 과정을 설명하기 위한 흐름도이다.
구체적인 설명에 앞서, 스트리밍 서비스의 대상인 비디오 컨텐츠는 총 n(n은 자연수) 개의 비디오 청크로 분할되어 있으며, m(m은 2 이상의 자연수) 개의 계층을 갖도록 인코딩되어 있는 것으로 가정한다.
도 2 내지 도 4를 참조하면, 우선 단말(100)의 목표 계층 결정부(190)는 비디오 컨텐츠에 대한 스트리밍 서비스를 제공받기 위해 초기 목표 계층(target_layer(i,j))을 결정(또는 설정)한다(S100). 목표 계층(target_layer(i,j))에서 i(i는 1보다 크거나 같고 n보다 작거나 같은 자연수)는 비디오 청크의 순서를 의미하고, j(j는 1보다 크거나 같고 m보다 작거나 같은 자연수)는 계층의 차수를 의미한다. S100 단계에서, i와 j는 1로 결정될 수 있다. 즉, 초기 목표 계층은 제1 비디오 청크의 제1 계층(기본 계층)이다.
S110 단계에서, 단말(100)의 송신 요청부(110)는 목표 계층(target_layer(i,j))에 대한 비디오 데이터의 송신 요청을 컨텐츠 서버(300)로 송신한다. 이때, i와 j는 1이므로, 단말(100)은 제1 비디오 청크의 제1 계층에 해당하는 비디오 데이터에 대한 송신 요청을 컨텐츠 서버(300)로 송신한다.
S120 단계에서, 목표 계층 결정부(190)는 송신을 요청한 계층 또는 수신된 계층으로 버퍼(150)가 가득 찼는지(또는 버퍼(150)의 유휴 공간이 존재하는지) 여부 또는 송신 요청한 비디오 청크 또는 수신된 비디오 청크(last_chunkj)가 비디오 컨텐츠의 마지막 비디오 청크, 즉 n번째 비디오 청크인지 여부를 판단한다.
S120 단계에서, 버퍼(150)가 송신을 요청한 계층으로 가득 채워지지 않았으며, 요청한 비디오 청크(last_chunkj)가 비디오 컨텐츠의 마지막 비디오 청크가 아니라고 판단된 경우(즉, last_chunkj ≠ n 인 경우), S130 단계가 수행된다. S130 단계에서, 단말(100)의 목표 계층 결정부(190)는 다음 목표 계층(target_layer(i,j))을 결정한다. 즉, 목표 계층 결정부(190)는 요청할 비디오 데이터의 비디오 청크의 순서(i)와 계층의 차수(j)를 결정한다. 구체적으로 목표 계층 결정부(190)는 목표 계층의 비디오 청크의 순서를 "1"만큼 증가시킨다. 또한, 목표 계층 결정부(190)는 j 값을 1로 설정할 수 있다.
S130 단계의 수행이 완료되면, S110 단계가 재차 수행된다. 즉, 송신 요청부(110)는 목표 계층(target_layer(i,j))에 대한 비디오 데이터의 송신 요청을 컨텐츠 서버(300)로 송신한다.
S120 단계에서, 버퍼(150)가 송신을 요청한 계층으로 가득 채워진 경우 또는 요청한 비디오 청크(last_chunkj)가 비디오 컨텐츠의 마지막 비디오 청크인 경우로 판단된 경우(즉, i=n인 경우), S140 단계가 수행된다.
S140 단계에서, 목표 계층 결정부(190)는 j=1이 아닌 경우에 한하여, j번째 계층의 마지막 비디오 청크의 순서(last_chunkj)와 (j-1) 번째 계층의 마지막 비디오 청크의 순서(last_chunkj-1)가 동일한지 여부를 판단한다.
S140 단계에서 j 번째 계층의 마지막 비디오 청크의 순서(last_chunkj)와 (j-1) 번째 계층의 마지막 비디오 청크의 순서(last_chunkj
-
1)가 동일한 경우, 목표 계층 결정부(190)는 j 값과 m 값을 비교하고(S150), j 값과 m 값이 같지 않으면 j 값을 1만큼 증가시키고(S160) S140 단계를 재차 수행한다.
S150 단계에서, j 값과 m 값이 동일한 경우(즉, 비디오 계층의 차수가 최대 차수인 경우), 목표 계층 결정부(190)는 j 번째 계층의 마지막 비디오 청크의 순서(last_chunkj)와 비디오 컨텐츠에 포함된 비디오 청크의 개수(n)를 비교한다(S170). j 번째 계층의 마지막 비디오 청크의 순서(last_chunkj)와 비디오 컨텐츠에 포함된 비디오 청크의 개수(n)가 동일한 경우(즉, j 번째 계층의 마지막 비디오 청크가 비디오 컨텐츠의 마지막 비디오 청크인 경우) 목표 계층 결정부(190)는 동작을 종료하고, j 번째 계층의 마지막 비디오 청크의 순서(last_chunkj)와 비디오 컨텐츠에 포함된 비디오 청크의 개수(n)가 동일하지 않은 경우(즉, j 번째 계층의 마지막 비디오 청크가 비디오 컨텐츠의 마지막 비디오 청크가 아닌 경우) S120 단계가 재차 수행된다.
S140 단계에서, j 번째 계층의 마지막 비디오 청크의 순서(last_chunkj)와 (j-1) 번째 계층의 마지막 비디오 청크의 순서(last_chunkj
-
1)가 동일하지 않은 것으로 판단된 경우, 또는 j의 값이 1인데 S120 단계에서 버퍼(150)가 가득 찼거나 j 번째 계층의 마지막 비디오 청크의 순서(last_chunkj)가 n으로 판단된 경우, 목표 계층 결정부(190)는 요청할 비디오 청크의 순서(i)를 결정한다(S180). i 값은 아래의 수학식 1을 이용하여 결정될 수 있다.
[수학식 1]
i = MAX (last_chunkj + 1 , play_chunk + 2 )
즉, i 값은 j 번째 계층의 마지막 비디오 청크의 순서(last_chunkj)에 1을 증가시킨 값과 디코딩 중이거나 재생 중인 청크의 순서(play_chunk)에 2를 증가시킨 값 중 큰 값으로 결정될 수 있다. 즉, i의 값을 디코딩 중이거나 재생 중인 청크의 순서에 2를 증가시킨 값보다 크거나 같도록 설정함으로써, 디코딩 영역으로 쉬프트 대기 중인 비디오 청크에 대한 비디오 데이터의 송신을 요청하는 것을 예방할 수 있다.
S190 단계에서, 목표 계층 결정부(190)는 play_chunk의 값과 n 값을 비교하고, (play_chunk + 2)의 값이 n보다 큰 경우 동작을 종료하고, (play_chunk + 2)의 값이 n보다 크지 않은 경우 S110 단계가 재차 수행된다.
도 4에 도시된 단계들 중 S110 단계를 제외한 단계들은 목표 계층 결정부(190)에 의해 수행되는 단계로 이해될 수 있으며, S110 단계는 송신 요청부(110)에 의해 수행되는 단계로 이해될 수 있다.
도 5는 도 4를 통하여 설명된 스트리밍 서비스를 수신하는 방법을 이용한 구체적인 실시 예를 도시한다. 이하에서는 도 2 내지 도 5를 참조하여 설명한다.
우선, 단일 비디오 청크의 크기는 2초(seconds)이며, 버퍼(150)의 크기는 18초임을 가정한다. 또한, 도 5에 도시된 j는 계층의 차수를 의미할 수 있다.
우선 t=t1 일 때, 단일의 비디오 청크가 디코딩되어 재생되는 동안에 7개의 계층에 대한 비디오 데이터를 다운받을 수 있다면(download speed = 7 layers/chunk_length), 단말(100)은 제1 계층의 영상을 순차적으로 버퍼(150)의 유휴 공간만큼 요청한다. 제1 계층(1 내지 3)에 대한 비디오 데이터가 수신됨에 따라, 버퍼(150)는 제1 계층으로 가득 채워져 유휴 공간이 존재하지 않게 된다. 이후에 단말(100)은 퍼버(150)의 앞부분에 해당하는 비디오 청크의 제2 계층의 비디오 데이터를 컨텐츠 서버(300)에 요청한다. 즉, 추가적으로 제2 계층(4 내지 7)에 대한 비디오 데이터의 송신 요청과 수신이 수행될 수 있다. 이때, 비디오 청크의 순서를 결정하는 과정은 수학식 1을 통하여 설명되었으므로, 이에 대한 설명은 생략하기로 한다.
t=t1+2 일 때, 버퍼(150)의 가장 앞부분의 비디오 청크가 재생되어 버퍼(150)의 가장 뒷부분에 유휴 공간이 존재하므로, 단말(100)은 제1 계층(8)에 대한 비디오 데이터의 송신을 요청한다. 제1 계층(8)에 대한 비디오 데이터의 수신으로 버퍼(150)가 제1 계층으로 가득 차게 되고, 단말(100)은 제2 계층을 쌓인 상태에 따라서 순차적으로 송신 요청한다. 즉, 제2 계층(9내지 13)에 대한 비디오 데이터의 송신을 요청하고, 제2 계층(9 내지 13)에 대한 비디오 데이터를 수신함에 따라, 버퍼(150)는 제2 계층으로 가득 차게 된다. 따라서, 단말(100)은 계층의 차수를 1 증가시켜 제3 계층(14)에 대한 비디오 데이터의 송신을 요청한다.
t=t1+4 일 때, 버퍼(150)의 가장 앞부분의 비디오 청크가 재생되어 버퍼(150)의 가장 뒷부분에 유휴 공간이 존재하므로, 단말(100)은 제1 계층(15)에 대한 비디오 데이터의 송신을 요청한다. 제1 계층(15)에 대한 비디오 데이터의 수신으로 버퍼(150)가 제1 계층으로 가득 차게 되고, 단말(100)은 제2 계층을 쌓인 상태에 따라서 순차적으로 송신 요청한다. 즉, 제2 계층(16)에 대한 비디오 데이터의 송신을 요청하고, 제2 계층(16)에 대한 비디오 데이터를 수신함에 따라, 버퍼(150)는 제2 계층으로 가득 차게 된다. 따라서, 단말(100)은 계층의 차수를 1 증가시켜 제3 계층(17 및 18)에 대한 비디오 데이터의 송신을 요청한다.
t=t1+6 일 때, 버퍼(150)의 가장 앞부분의 비디오 청크가 재생되어 버퍼(150)의 가장 뒷부분에 유휴 공간이 존재하게 된다. 계층(15와 16)은 비디오 컨텐츠의 마지막 비디오 청크에 해당하므로 제1 계층과 제2 계층에 대한 송신 요청을 수행하지 않는다. 단말(100)은 제3 계층(19 내지 22)에 대한 비디오 데이터의 송신을 요청하고, 제3 계층(19 내지 22)의 비디오 데이터를 수신한다.
상술한 바와 같이, 본 발명에 의할 경우, 대역폭 변화가 심한 네트워크 환경이라 하더라도, 재생되는 화질이 급격하게 변화하는 것을 예방할 수 있는 효과가 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
Claims (8)
- 계층적으로 코딩된 비디오 컨텐츠에 대한 스트리밍 서비스를 단말에서 수신하는 방법에 있어서,단일의 비디오 청크에 해당하는 비디오 데이터가 디코딩되는 동안에,(a) 버퍼의 유휴 공간에 저장될 적어도 하나의 기본 계층에 대한 비디오 데이터의 송신을 순차적으로 요청하는 단계; 및(b) 상기 버퍼의 유휴 공간이 존재하지 않는 경우, 증가된 차수의 계층에 대한 비디오 데이터의 송신을 순차적으로 요청하는 단계를 포함하고,상기 단계 (b)는 상기 단일의 비디오 청크에 해당하는 비디오 데이터가 디코딩되는 동안에 계층의 차수를 증가시켜 반복 수행되는, 스트리밍 서비스를 수신하는 방법.
- 제1항에 있어서,상기 단계 (a)와 상기 단계 (b)에서 순차적으로 요청되는 송신 요청은 이전의 송신 요청에 대응하는 비디오 데이터의 수신이 완료된 후에 송신되는, 스트리밍 서비스를 수신하는 방법.
- 제1항에 있어서,상기 단계 (b)에서 송신이 요청된 비디오 데이터에 대응하는 비디오 청크의 순서는 상기 단일의 청크의 순서보다 적어도 2이상 큰 것을 특징으로 하는, 스트리밍 서비스를 수신하는 방법.
- 제1항에 있어서,상기 증가된 차수의 계층은 미리 수신된 마지막 비디오 청크의 다음 비디오 청크의 향상 계층인 것을 특징으로 하는, 스트리밍 서비스를 수신하는 방법.
- 제1항에 있어서,상기 단말은 PC(personal computer), 태블릿 PC, 노트북(notebook), 넷-북(net-book), e-리더(e-reader), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, MP4 플레이어, 모바일폰(mobile phone) 또는 스마트폰(smart phone)인, 스트리밍 서비스를 수신하는 방법.
- 제1항에 있어서,상기 스트리밍 서비스를 수신하는 방법은 무선 네트워크 환경에서 수행되는, 스트리밍 서비스를 수신하는 방법.
- 제1항에 있어서,상기 비디오 컨텐츠는 SVC(Scalable Video Coding) 기법을 이용하여 계층적으로 코딩된 것을 특징으로 하는, 스트리밍 서비스를 수신하는 방법.
- 제1항에 있어서,상기 스트리밍 서비스는 DASH(Dynamic Adaptive Streaming over HTTP) 기법을 이용하여 제공되는, 스트리밍 서비스를 수신하는 방법.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/566,095 US11057448B2 (en) | 2015-04-15 | 2016-04-15 | Method for receiving adaptive streaming service |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020150053358A KR101654898B1 (ko) | 2015-04-15 | 2015-04-15 | 적응형 스트리밍 서비스를 수신하는 방법 |
| KR10-2015-0053358 | 2015-04-15 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2016167590A1 true WO2016167590A1 (ko) | 2016-10-20 |
Family
ID=56949938
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2016/003924 Ceased WO2016167590A1 (ko) | 2015-04-15 | 2016-04-15 | 적응형 스트리밍 서비스를 수신하는 방법 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US11057448B2 (ko) |
| KR (1) | KR101654898B1 (ko) |
| WO (1) | WO2016167590A1 (ko) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106713955B (zh) * | 2016-12-22 | 2019-10-08 | 中央电视台 | 直播流播放的控制方法及装置 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20040104063A (ko) * | 2003-06-03 | 2004-12-10 | 강상혁 | 스트리밍을 위한 패킷 스케줄링 방법 |
| KR20120070999A (ko) * | 2010-12-22 | 2012-07-02 | 한국전자통신연구원 | 통신 시스템에서 데이터 송수신 장치 및 방법 |
| KR20130112936A (ko) * | 2011-01-04 | 2013-10-14 | 알까뗄 루슨트 | 적응적 스트리밍 서비스를 제공하기 위한 방법 |
| KR20140093430A (ko) * | 2013-01-18 | 2014-07-28 | 고려대학교 산학협력단 | 멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법 |
| KR20140122202A (ko) * | 2013-04-05 | 2014-10-17 | 삼성전자주식회사 | 계층 식별자 확장에 따른 비디오 스트림 부호화 방법 및 그 장치, 계층 식별자 확장에 따른 따른 비디오 스트림 복호화 방법 및 그 장치 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9209934B2 (en) * | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
| KR101020648B1 (ko) | 2009-02-13 | 2011-03-09 | 고려대학교 산학협력단 | 스케일러블 피투피 스트림 수신 방법 및 전송 방법 |
| KR101420638B1 (ko) | 2012-12-14 | 2014-07-17 | 에스케이플래닛 주식회사 | 스트리밍 서비스에서 콘텐츠 제공을 위한 장치 및 이를 위한 방법 |
| EP2894860A1 (en) * | 2014-01-14 | 2015-07-15 | Thomson Licensing | Method and apparatus for multiplexing layered coded contents |
| GB2534136A (en) * | 2015-01-12 | 2016-07-20 | Nokia Technologies Oy | An apparatus, a method and a computer program for video coding and decoding |
| KR102263696B1 (ko) * | 2015-03-20 | 2021-06-10 | 삼성전자주식회사 | 무선통신 시스템에서 데이터 송수신 방법 및 장치 |
-
2015
- 2015-04-15 KR KR1020150053358A patent/KR101654898B1/ko active Active
-
2016
- 2016-04-15 WO PCT/KR2016/003924 patent/WO2016167590A1/ko not_active Ceased
- 2016-04-15 US US15/566,095 patent/US11057448B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20040104063A (ko) * | 2003-06-03 | 2004-12-10 | 강상혁 | 스트리밍을 위한 패킷 스케줄링 방법 |
| KR20120070999A (ko) * | 2010-12-22 | 2012-07-02 | 한국전자통신연구원 | 통신 시스템에서 데이터 송수신 장치 및 방법 |
| KR20130112936A (ko) * | 2011-01-04 | 2013-10-14 | 알까뗄 루슨트 | 적응적 스트리밍 서비스를 제공하기 위한 방법 |
| KR20140093430A (ko) * | 2013-01-18 | 2014-07-28 | 고려대학교 산학협력단 | 멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법 |
| KR20140122202A (ko) * | 2013-04-05 | 2014-10-17 | 삼성전자주식회사 | 계층 식별자 확장에 따른 비디오 스트림 부호화 방법 및 그 장치, 계층 식별자 확장에 따른 따른 비디오 스트림 복호화 방법 및 그 장치 |
Also Published As
| Publication number | Publication date |
|---|---|
| KR101654898B1 (ko) | 2016-09-07 |
| US11057448B2 (en) | 2021-07-06 |
| US20180183848A1 (en) | 2018-06-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN107231563B (zh) | 视频处理方法和装置 | |
| WO2012023833A2 (en) | Method and apparatus for reducing deterioration of a quality of experience of a multimedia service in a multimedia system | |
| JP5459693B2 (ja) | 端末機による適応的画面仮想化方法及びシステム | |
| US20230412854A1 (en) | Adaptive bit-rate methods for live broadcasting | |
| US11350142B2 (en) | Intelligent video frame dropping for improved digital video flow control over a crowded wireless network | |
| WO2011142569A2 (en) | Method and apparatus for transmitting and receiving layered coded video | |
| WO2011159140A2 (en) | Storage file format for multimedia streaming file, and storage method and client apparatus using the same | |
| US8923410B2 (en) | Information transmission apparatus and information transmission method | |
| CN110324721B (zh) | 一种视频数据处理方法、装置及存储介质 | |
| WO2020067592A1 (ko) | 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 방법 및 장치 | |
| WO2012047004A2 (ko) | Http 스트리밍의 표현 스위칭시 자연스런 재생을 위한 스케일러블한 http 스트리밍 전송 방법 | |
| WO2016052845A1 (ko) | 클라우드 스트리밍 서비스 시스템, 최적 gpu를 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
| CN106797487B (zh) | 云流服务器 | |
| WO2015060638A1 (ko) | 적응적 실시간 트랜스코딩 방법 및 이를 위한 스트리밍 서버 | |
| TW201022954A (en) | File type association in a remote computing session | |
| WO2021223577A1 (zh) | 一种视频处理的方法、相关装置、存储介质及程序产品 | |
| WO2017043702A1 (ko) | 통신 시스템의 암호화 패킷 전송 방법 | |
| WO2011108852A2 (en) | Method and apparatus for adaptive streaming using scalable video coding scheme | |
| KR20230150878A (ko) | 데이터 송신 방법 및 장치, 그리고 서버, 저장 매체, 및 프로그램 제품 | |
| TW201635163A (zh) | 雲端運算資源動態分配系統及其方法 | |
| WO2019050067A1 (ko) | 비디오 품질 제어 | |
| Tan et al. | A remote thin client system for real time multimedia streaming over VNC | |
| WO2015064850A1 (en) | Buffer management method and apparatus for universal serial bus communication in wireless environment | |
| US20240205469A1 (en) | Apparatus and method for processing cloud streaming low latency playback | |
| WO2016167590A1 (ko) | 적응형 스트리밍 서비스를 수신하는 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16780313 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: 16780313 Country of ref document: EP Kind code of ref document: A1 |