KR20120030969A - Http 스트리밍에서 표현 스위칭시 처리 방법 - Google Patents

Http 스트리밍에서 표현 스위칭시 처리 방법 Download PDF

Info

Publication number
KR20120030969A
KR20120030969A KR1020110094597A KR20110094597A KR20120030969A KR 20120030969 A KR20120030969 A KR 20120030969A KR 1020110094597 A KR1020110094597 A KR 1020110094597A KR 20110094597 A KR20110094597 A KR 20110094597A KR 20120030969 A KR20120030969 A KR 20120030969A
Authority
KR
South Korea
Prior art keywords
segments
segment
server
content
information
Prior art date
Application number
KR1020110094597A
Other languages
English (en)
Other versions
KR101472032B1 (ko
Inventor
이충구
김민성
이을호
Original Assignee
(주)휴맥스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)휴맥스 filed Critical (주)휴맥스
Publication of KR20120030969A publication Critical patent/KR20120030969A/ko
Application granted granted Critical
Publication of KR101472032B1 publication Critical patent/KR101472032B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing 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 for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

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

Abstract

HTTP 스트리밍 전송 중에 표현 스위칭이 일어날 경우의 자연스러운 재생을 가능케 하는 처리 방법이 개시된다. 표현 스위칭이 일어나지 않는 경우의 세그먼트들에 대한 정보를 저장하고 있는 제 1 미디어 정보 파일과, 표현 스위칭이 일어나는 경우의 세그먼트들에 대한 정보를 저장하고 있는 제 2 미디어 정보 파일을 수신하고, 표현 스위칭이 일어나지 않는 경우는 상기 제 1 정보를 참조하여 상기 수신 대상 컨텐츠의 세그먼트들을 수신하여 재생하며, 표현 스위칭이 일어나는 경우는 상기 제 2 정보를 참조하여 상기 수신 대상 컨텐츠의 세그먼트들을 수신하여 재생한다. 따라서, 동적으로 변화하는 채널 환경에 따라 화면의 끊김 없이 멀티미디어 컨텐츠를 제공할 수 있다.

Description

HTTP 스트리밍에서 표현 스위칭시 처리 방법{Method of treating representation switching in HTTP streaming}
본 발명은 멀티미디어 전송 방법의 하나인 HTTP 스트리밍 기술에 관한 것으로, 더욱 상세하게는 HTTP 스트리밍 전송 중에 표현 스위칭이 일어날 경우의 자연스러운 재생을 가능케 하는 처리 방법에 관한 것이다.
최근 이동통신 기술의 발전은 이동통신 단말기의 대중화를 급속히 촉진시켜, 대부분의 일반인들도 핸드폰, PDA, 스마트 폰 등의 이동통신 단말기를 항상 소지하고 다니도록 우리의 생활을 변모시켰다. 이동통신 단말기는 사용자로 하여금 통신망의 접근을 보다 용이하게 하면서 종래의 전통적인 통신 시스템이 가지던 시스템 자원을 효율적으로 배분하게 하는 효과를 가져왔다.
이러한 기술 중에 이동통신 단말기를 가지고 이동 중에도 무선 컨텐츠 통신망을 통해 오디오 컨텐츠 및 비디오 컨텐츠와 같은 멀티미디어 컨텐츠를 실시간으로 전송 받아 재생할 수 있는 스트리밍 서비스가 제공되고 있다. 유선 IPTV에 적용되는 스트리밍 서비스는 멀티미디어 컨텐츠를 RTP(Real-time Transport Protocol)프로토콜 또는 RTP와 MPEG-2가 결합된 형태로 스트리밍 서비스가 제공된다.
하지만, 무선을 사용하여 스트리밍 서비스의 경우, RTP 프로토콜 또는 RTP 프로토콜과 MPEG-2가 결합된 형태로 스트리밍 서비스가 제공되는 경우 문제점이 발생한다. 먼저, RTP 프로토콜은 다중화를 지원하지 않기 때문에 멀티미디어 컨텐츠를 복수개의 패킷으로 나누어 전송할 경우, 복수개의 패킷에 따른 복수개의 포트를 열어야 한다는 문제점이 발생하며, 특히 방화벽이 설치된 지역에서는 RTP를 이용하여 스트리밍 서비스를 정상적으로 제공할 수 없다.
둘째로, RTP는 UDP 프로토콜 상에서 동작하게 되며, 무선 인터넷 상에서 UDP는 멀티미디어 컨텐츠를 복수개의 패킷으로 분할하여 수신측으로 전송한 후, 전송된 패킷들이 올바른 순서로 수신측에 도착했는지 확인하지 않는다. 이와 같은 이유로, 패킷의 손실이 발생될 수 있으며, 또한 패킷의 손실이 발생된 경우 손실된 컨텐츠 패킷을 수신측으로 재전송 하지 않기 때문에 컨텐츠의 손실을 가져올 수 있다. 따라서, 스마트폰과 같은 이동통신 단말기에는 TCP 프로토콜 위에서 동작하는 HTTP(Hyper Text Protocol)를 사용하여 스트리밍 서비스를 제공하는 방식이 통상적으로 이용된다. 이를 일반적으로 'HTTP 스트리밍(HTTP streaming)'으로 통칭하고 있다.
일반적으로 HTTP는 하이퍼 텍스트와 같은 텍스트 및 이미지를 전송하는데 사용되는 프로토콜이기 때문에, 스마트폰과 같은 이동통신 단말기에서 HTTP를 사용하여 멀티미디어 컨텐츠 스트리밍 서비스를 제공하는 경우, 멀티미디어 컨텐츠의 용량이 크기 때문에, 실시간으로 스트리밍 서비스를 제공할 수 없다는 문제점이 있다. 그러면 이하에서는 도 1을 참조하여, HTTP 스트리밍 서비스를 위한 시스템의 내부 구조를 보다 구체적으로 설명하기로 한다.
도 1은 멀티미디어 시스템에서 HTTP 스트리밍 서비스를 위한 시스템의 내부 구조를 개략적으로 도시한 블록도이다.
도 1을 참조하면, HTTP 스트리밍 서비스를 위한 시스템은 서버(101) 및 클라이언트를 포함하여 구성될 수 있으며, 저장부(103) 및 버퍼(104)를 더 포함하여 구성될 수 있다. 서버(101)는 동일한 크기 또는 동일하지 않는 크기로 스트리밍 대상이 되는 멀티미디어 컨텐츠를 복수개의 세그먼트로 분할할 수 있다. 먼저, 서버(101)가 동일한 크기로 스트리밍 대상이 되는 멀티미디어 컨텐츠를 복수개의 세그먼트로 분할하는 경우를 설명하기로 한다. 서버(101)는 스트리밍 대상이 되는 멀티미디어 컨텐츠를 2초 단위로 분할함으로써 복수개의 세그먼트를 생성하고 저장할 수 있다. 이때, 동일한 멀티미디어 컨텐츠에 대해서 비트 전송율, 해상도, 부호화 코덱 등의 종류에 따라서 다른 버전을 가질 수 있으며, 이를 representation (이하에서는 '표현' 이라 칭하기로 함)이라 표현할 수 있다.
예를 들어, 멀티미디어 컨텐츠의 재생 시간이 90분이고, 컨텐츠 정보에 해당하는 비트 전송률이 75kbps, 150kbps 및 300kbps버전이 존재할 경우, 서버(101)는 재생 시간이 90분인 멀티미디어 컨텐츠를 각각의 버전에 따라2초 단위로 분할함으로써 멀티미디어 컨텐츠를 2700개의 세그먼트들로 분할할 수 있다. 그리고, 서버(101)는 2700개의 세그먼트들은 비트 전송율, 해상도, 부호화 코덱 등의 종류에 따라서 다른 버전을 가질 수 있수 있기 때문에 멀티미디어 컨텐츠는 총 8100개의 세그먼트로 분할된다.
둘째로, 서버(101)가 동일하지 않은 크기로 스트리밍 대상이 되는 멀티미디어 컨텐츠를 복수개의 세그먼트로 분할하는 경우를 설명하기로 한다. 예를 들어, 멀티미디어 컨텐츠의 재생 시간이 90분이고, 컨텐츠 정보에 해당하는 비트 전송률이 75kbps, 150kbps 및 300kbps버전이 존재할 경우, 서버(101)는 재생 시간이 0분에서 3분까지는 2초 단위로 분할함으로써 멀티미디어 컨텐츠를 복수개의 세그먼트로 분할할 수 있고, 3분에서 4분까지는 4초 단위로 분할함으로써 멀티미디어 컨텐츠를 복수개의 세그먼트로 분할할 수 있다.
멀티미디어 컨텐츠를 복수개의 세그먼트로 분할한 서버(101)는 소정의 개수로 분할된 복수개의 세그먼트들에 URL 정보를 할당하고, 각각의 세그먼트들에 대한 URL 정보를 미디어 정보 파일에 저장하여 클라이언트(102)로 전송한다. 이때, 미디어 정보 파일은 HTTP 스트리밍을 표준화하는 표준화 기구에 따라서 '미디어 표현 기술(MPD: Media Presentation Description)' 또는 '매니페스트 파일(Manifest file)'등의 다양한 명칭으로 불리어 질 수 있다.
서버(101)는 클라이언트(102)로부터 세그먼트의 전송 요청을 수신할 수 있다. 본 발명의 실시예에 따르면, 서버(101)는 클라이언트(102)가 채널 상태의 변화를 감지하여 현재 채널 상태에 해당하는 세그먼트의 전송 요청을 수신한 경우, 클라이언트(102)로부터 요청된 세그먼트를 검색하여 클라이언트(102)로 전송한다. 클라이언트(102)는 스트리밍 서비스를 개시할 수 있다. 클라이언트(102)가 서버(101)로부터 소정의 표현에 해당하는 세그먼트를 수신하여 출력할 수 있다. 또한, 클라이언트(102)는 현재 채널 상태를 감지하여 현채 채널 상태에 따른 세그먼트를 서버(101)로 요청할 수 있다. 예를 들어, 클라이언트(102)가 비트 전송률이 300kbps에 해당하는 세그먼트를 수신하여 화면에 출력되고 있는 중, 현재 채널 상태가 나빠짐을 감지한 경우, 낮은 비트 전송률에 해당하는 세그먼트의 전송을 서버(101)로 요청하고, 서버(101)로부터 비트 전송률이 150kbps에 해당하는 세그먼트를 수신하여 이를 출력할 수 있다. 또 다른 예로, 클라이언트(102)가 비트 전송률이 70kbps 에 해당하는 세그먼트를 수신되어 화면에 출력되고 있는 중, 현재 채널 상태가 좋아짐을 감지한 경우, 높은 비트 전송률에 해당하는 세그먼트의 전송을 서버(101)로 요청하고, 서버(101)로부터 비트 전송률이 150kbps에 해당하는 세그먼트를 수신하여 이를 출력할 수 있다.
하지만, 클라이언트(102)가 현재 채널 상태에 따른 비트 전송률에 해당하는 세그먼트를 수신하여 출력할 경우, 비트 전송률이 70kbps 에 해당하는 세그먼트의 출력에서 비트 전송률이 150kbps에 해당하는 세그먼트의 출력으로 전환되는 시점 또는 비트 전송률이 300kbps인 세그먼트의 출력에서 비트 전송률이150kbps인 세그먼트의 출력으로 전환되는 시점, 즉 표현 스위칭이 일어날 경우에 화면의 끊김이 발생될 수 있다.
저장부(103)는 서버(101)에 의해 분할된 세그먼트들 수신하고, 수신된 세그먼트들을 컨텐츠 정보 및 시간에 대응하여 저장한다. 또한, 서버(101)가 클라이언트(102)로부터 세그먼트 요청 메시지를 수신할 경우, 저장부(103)는 서버(101)로부터 수신된 URL에 해당하는 세그먼트를 검색하여 서버(101)로 전송한다. 그러면 이하에서 도 2 및 도 3을 참조하여 HTTP 스트리밍 서비스를 위해 서버(101)가 멀티미디어 컨텐츠를 동일한/동일하지 않는 소정의 기간으로 분할하여 저장부(103)에 저장한 경우의 저장부(103)의 내부 구조를 보다 구체적으로 설명하기로 한다.
도 2는 HTTP 스트리밍 서비스를 위해 동일한 크기로 멀티미디어 컨텐츠가 복수개의 세그먼트로 분할되어 저장된 경우의 블록도이고, 도 3은 HTTP 스트리밍 서비스를 위해 멀티미디어 컨텐츠를 동일하지 않은 크기로 멀티미디어 컨텐츠가 복수개의 세그먼트로 분할되어 저장된 경우의 블록도이다.
서버(101)는 동일한 크기 또는 동일하지 않은 크기로 스트리밍 대상이 되는 멀티미디어 컨텐츠를 복수개의 세그먼트로 분할될 수 있다. 먼저 도 2를 참조하여 서버(101)가 동일한 크기로 스트리밍 대상이 되는 멀티미디어 컨텐츠를 복수개의 세그먼트로 분할하는 경우를 설명하기로 한다. 예를 들어, 멀티미디어 컨텐츠의 재생 시간이 90분이고, 컨텐츠 정보에 해당하는 비트 전송률이 500kbps, 1Mbps 및 2Mbps버전이 존재하고, 해상도가 SD, 720P, HD 버전이 존재할 경우, 서버(101)는 재생 시간이 90분인 멀티미디어 컨텐츠를 각각의 컨텐츠 정보에 따라2초 단위로 분할하여 2700개의 세그먼트들로 분할하고, 이때, 분할된 2700개의 세그먼트는 비트 전송률500kbps, 1Mbps, 2Mbps 및 해상도 SD, 720P, HD에 따라서 다른 표현을 가진 세그먼트로 생성됨으로써 총 8100개의 세그먼트들이 생성된다.
즉, 0초부터 2초까지의 컨텐츠를 포함하는 세그먼트들은 비트 전송률이 500kbps이고 해상도가 SD인 버전에 해당하는 세그먼트(203), 비트 전송률이 1Mbps이고 해상도가 720P인 버전에 해당하는 세그먼트(204), 비트 전송률이 2Mkbps이고 해상도가 HD급인 버전에 해당하는 세그먼트(205)로 구성되며, 나머지 세그먼트로 도 2초 단위로 분할됨으로써 2700개의 세그먼트들로 분할할 수 있다. 둘째로, 도 3을 참조하여 서버(101)가 동일하지 않은 크기로 스트리밍 대상이 되는 멀티미디어 컨텐츠를 복수개의 세그먼트로 분할하는 경우를 설명하기로 한다. 예를 들어, 멀티미디어 컨텐츠의 재생 시간이 90분이고, 컨텐츠 정보에 해당하는 비트 전송률이 500kbps, 1Mbps 및 2Mbps버전이 존재하고, 해상도가 SD, 720P, HD 버전이 존재할 경우, 서버(101)는 멀티미디어 컨텐츠를 각각의 컨텐츠 정보에 따라0초부터 3초까지는 3초의 단위로 분할하고, 3초부터 5초까지는 2초 단위로 분할함으로써 멀티미디어 컨텐츠를 복수개의 세그먼트로 분할할 수 있다. 즉, 서버(101)는 상기 컨텐츠 정보에 따른 버전의 개수의 배수에 비례한 만큼의 세그먼트를 각각 생성한다. 이와 같은 이유로, 많은 양의 세그먼트에 해당하는 URL 정보를 미디어 정보 파일에 포함시킬 경우, 미디어 정보 파일의 용량은 커지게 되어 빠른 속도로 클라이언트(102)에게 제공할 수 없다는 문제점이 있다.
즉, 0초부터 3초까지의 컨텐츠를 포함하는 세그먼트들은 비트 전송률이 500kbps이고 해상도가 SD인 버전에 해당하는 세그먼트(303), 비트 전송률이 1Mbps이고 해상도가 720P인 버전에 해당하는 세그먼트(304), 비트 전송률이 2Mkbps이고 해상도가 HD급인 버전에 해당하는 세그먼트(305)로 구성되며, 3초부터 5초까지의 컨텐츠를 포함하는 세그먼트들은 비트 전송률이 500kbps이고 해상도가 SD인 버전에 해당하는 세그먼트, 비트 전송률이 1Mbps이고 해상도가 720P인 버전에 해당하는 세그먼트(306), 비트 전송률이 2Mkbps이고 해상도가 HD급인 버전에 해당하는 세그먼트로 구성될 수 있다. 즉, 서버(101)는 상기 컨텐츠 정보에 따른 버전의 개수의 배수에 비례한 만큼의 세그먼트를 각각 생성한다. 따라서, 많은 양의 세그먼트에 해당하는 URL 정보를 미디어 정보 파일에 포함시킬 경우, 미디어 정보 파일의 용량은 커지게 되어 빠른 속도로 클라이언트(102)에게 제공할 수 없다는 문제점이 있다.
클라이언트(102)는 스트리밍 서비스를 개시할 수 있다. 클라이언트(102)가 서버(101)로부터 소정의 표현에 해당하는 세그먼트를 수신하여 출력할 수 있다. 또한, 클라이언트(102)는 현재 채널 상태를 감지하여 현채 채널 상태에 따른 세그먼트를 서버(101)로 요청할 수 있다. 예를 들어, 클라이언트(102)가 비트 전송률이 300kbps에 해당하는 세그먼트를 수신하여 화면에 출력되고 있는 중, 현재 채널 상태가 나빠짐을 감지한 경우, 낮은 비트 전송률에 해당하는 세그먼트의 전송을 서버(101)로 요청하고, 서버(101)로부터 비트 전송률이 150kbps에 해당하는 세그먼트를 수신하여 이를 출력할 수 있다.
하지만, 클라이언트(102)가 현재 채널 상태에 따른 비트 전송률에 해당하는 세그먼트를 수신하여 출력할 경우, 비트 전송률이 70kbps 에 해당하는 세그먼트의 출력에서 비트 전송률이 150kbps에 해당하는 세그먼트의 출력으로 전환되는 시점 또는 비트 전송률이 300kbps인 세그먼트의 출력에서 비트 전송률이150kbps인 세그먼트의 출력으로 전환되는 시점, 즉 표현 스위칭이 일어날 경우에 화면의 끊김이 발생될 수 있다.
또한, 각각의 세그먼트는 서로 다른 길이의 재생 시간을 가지고 있기 때문에, 현재 출력중인 세그먼트의 재생시간과 서버(101)로부터 수신되어 출력될 세그먼트의 재생시간이 이어지지 않은 경우가 발생한다. 예를 들어, 현재 출력중인 세그먼트의 재생시간은 9분 30초부터 12분 00초에 해당하지만, 서버(101)로부터 수신되어 출력될 세그먼트의 재생시간이 12분 03초부터 15분00초일경우, 현재 출력중인 세그먼트에서 다음에 출력될 세그먼트로 전환될 경우, 즉 표현 스위칭이 일어날 경우 화면의 끊김이 발생될 수 있다.
더구나, 스트리밍 대상이 되는 멀티미디어 컨텐츠의 재생 시간이 길어 질수록, 즉 멀티미디어 컨텐츠의 용량이 증가할수록 나누어지는 세그먼트의 개수는 증가하기 때문에, 많은 양의 세그먼트를 저장할 대용량 저장부가 요구되며, 대용량의 저장부가 사용됨에 따라 시스템을 구성하기 위한 많은 생산비가 요구된다는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 제 1목적은, 본 발명의 제 1 실시예에 따른 HTTP 스트리밍 전송 중에 표현 스위칭이 일어날 경우의 자연스러운 재생을 가능케하는 처리 방법을 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 제 2목적은, 본 발명의 제 1 실시예에 따른 HTTP 스트리밍 전송 중에 전송 대상 컨텐츠에 대한 복수의 세그먼트들에 대한 정보를 저정하고 있는 미디어 정보 파일의 전송 방법을 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 제 3 목적은, 본 발명의 제 1 실시예에 따른 HTTP 스트리밍 전송의 수신 방법을 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 제 4 목적은, 본 발명의 제 2 실시예에 따른 HTTP 스트리밍 전송의 수신 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 제 1 목적을 달성하기 위한 본 발명의 제 1 실시예에 따른 HTTP 스트리밍 전송 방법은, 전송 대상 컨텐츠에 대한 복수의 세그먼트들에 대한 정보를 저정하고 있는 미디어 정보 파일의 전송방법으로서, 상기 미디어 정보 파일은 표현 스위칭이 일어나지 않는 경우의 세그먼트들에 대한 정보; 및 표현 스위칭이 일어나는 경우의 세그먼트들에 대한 정보를 구별하여 저장한다.
본 발명의 제 2목적을 달성하기 위한 본 발명의 제 1 실시예에 따른 HTTP 스트리밍 전송의 수신 방법은, 전송 대상 컨텐츠에 대한 복수의 세그먼트들에 대한 정보를 저장하고 있는 미디어 정보 파일의 전송방법으로서, 상기 미디어 정보 파일은 표현 스위칭이 일어나지 않는 경우의 세그먼트들에 대한 정보를 저장하고 있는 제 1 미디어 정보 파일과, 표현 스위칭이 일어나는 경우의 세그먼트들에 대한 정보를 저장하고 있는 제 2 미디어 정보 파일로 구성된다.
본 발명의 제 3 목적을 달성하기 위한 본 발명의 제 1실시예에 따른 HTTP 스트리밍 전송의 수신 방법은, 수신 대상 컨텐츠에 대한 복수의 세그먼트들에 대한 정보를 저장하고 있는 미디어 정보 파일으로서, 표현 스위칭이 일어나지 않는 경우의 세그먼트들에 대한 제 1 정보와 표현 스위칭이 일어나는 경우의 세그먼트들에 대한 제 2 정보를 구별하여 저장하고 있는 미디어 정보 파일을 수신하는 단계; 및 상기 미디어 정보 파일을 참조하여, 수신 대상 컨텐츠의 세그먼트들을 순차적으로 수신하여 재생하는 단계로서, 표현 스위칭이 일어나지 않는 경우는 상기 제 1 정보를 참조하여 상기 수신 대상 컨텐츠의 세그먼트들을 수신하여 재생하며, 표현 스위칭이 일어나는 경우는 상기 제 2 정보를 참조하여 상기 수신 대상 컨텐츠의 세그먼트들을 수신하여 재생하는 단계를 포함한다.
본 발명의 제 4 목적을 달성하기 위한 본 발명의 제 2 실시예에 따른 HTTP 스트리밍 전송의 수신 방법으로서, 수신 대상 컨텐츠에 대한 복수의 세그먼트들에 대한 정보를 저정하고 있는 미디어 정보 파일을 수신하는 단계; 표현 스위칭이 발생하지 않은 경우는 제 1 디코더 프로세스만을 생성하여, 상기 미디어 정보 파일을 참조하여, 상기 수신 대상 컨텐츠에 대한 복수의 세그먼트를 순차적으로 디코딩하여 재생하는 단계; 및 표현 스위칭이 발생한 경우 제 2 디코더 프로세스를 생성하여, 상기 수신 대상 컨텐츠의 표현 스위칭 시점 이후의 세그먼트를 상기 제 1 디코더 프로세스와 병렬적으로 디코딩하는 단계를 포함한다.
상기와 같은 본 발명에 따른 HTTP 스트리밍 전송 중에 표현 스위칭이 일어날 경우의 자연스러운 재생을 가능케하는 처리 방법을 이용할 경우에는 동적으로 변화하는 채널 상태에 따라 적절한 세그먼트를 수신하고, 수신된 세그먼트를 2개의 디코더를 이용하여 디코딩하여 출력함으로써 화면의 끊김 없이 멀티미디어 컨텐츠를 제공할 수 있다. 또한, 표현 스위칭일 일어날 경우와 일어 나지 않을 경우에 참조되는 미디어 정보 파일을 구별하여 저장함으로써 화면의 끊김 없이 멀티미디어 컨텐츠를 제공할 수 있다.
도 1은 멀티미디어 시스템에서 HTTP 스트리밍 서비스를 위한 시스템의 내부 구조를 개략적으로 도시한 블록도이다.
도 2는 HTTP 스트리밍 서비스를 위해 동일한 크기로 멀티미디어 컨텐츠가 복수개의 세그먼트로 분할되어 저장된 경우의 블록도이다.
도 3은 HTTP 스트리밍 서비스를 위해 멀티미디어 컨텐츠를 동일하지 않은 크기로 멀티미디어 컨텐츠가 복수개의 세그먼트로 분할되어 저장된 경우의 블록도이다.
도 4는 본 발명의 제 1 실시예에 따른HTTP스트리밍의 전송 시 수신측에서 표현 스위칭이 발생하지 않은 경우 서버(101)가 분할된 세그먼트에 미리 설정된 오프셋 인덱스를 제공하고, 오프셋 인덱스가 저장된 미디어 정보 파일의 구조를 도시한 블록도이다.
도 5는 본 발명의 제 1 실시예에 따른 HTTP스트리밍의 전송 시 수신측에서 표현 스위칭이 발생한 경우 서버(101)가 분할된 세그먼트에 미리 설정된 오프셋 인덱스를 제공하고, 오프셋 인덱스가 저장된 미디어 정보 파일의 구조를 도시한 블록도이다.
도 6은 본 발명의 제 1 실시예에 따른 HTTP스트리밍의 전송 시 전송 대상 컨텐츠에 대한 복수의 세그먼트들에 대한 정보를 저장하고 있는 미디어 정보 파일의 전송 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 제 1 실시예에 따른 HTTP스트리밍의 수신 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 제 2 실시예에 따른 HTTP스트리밍의 수신 시 수신측에서 표현 스위칭이 발생하지 않은 경우 수신된 세그먼트를 디코딩하는 과정을 설명하기 위한 타임 차트이다.
도 9는 본 발명의 제 2 실시예에 따른 HTTP스트리밍의 수신 시 수신측에서 표현 스위칭이 발생한 경우 수신된 세그먼트를 디코딩하는 과정을 설명하기 위한 타임 차트이다.
도 10은 본 발명의 제 2 실시예에 따른 HTTP스트리밍의 수신 방법을 설명하기 위한 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명의 실시예에 따른 HTTP 스트리밍을 통해서 멀티미디어 컨텐츠를 제공하는 멀티미디어 시스템은, 서버(101)와 클라이인트(102)를 포함하여 구성될 수 있다. 이때, 미디어 정보 파일은 HTTP 스트리밍을 표준화하는 표준화 기구에 따라서 'MPD' 또는 'MF' 등의 다양한 명칭으로 불리어 질 수 있으며, 이하에서는 미디어 정보 파일이라고 칭하여 설명하기로 한다.
본 발명의 실시예에 따르면, 서버(101) 는 유선 또는 무선 인터넷 기술을 통해서 스트리밍 서비스를 클라이언트(102)로 제공할 수 있으며, 무선 인터넷 기술로는 WLAN(Wireless LAN), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access)등이 이용될 수 있으며, 유선 인터넷 기술로는 이더넷(Ethernet), 광동축 혼합망(HFC: Htbrid Fiber Coax)방식, 비대칭 디지털 가입자 회선(ADSL: Assymtric Digital Subscriber Line)방식, 초고속 디지털 가입자 회선(VDSL: Very high-data rate Digital Subcriber Line)방식, 광랜(FTTH: Fiber-to-the-home)방식, PCL(Power Line Communication)방식 등이 이용될 수 있으며, 이에 한정되는 것은 아니다.
본 발명의 실시예에 따르면, 클라이언트(102)는 서버(101)로부터 멀티미디어 컨텐츠를 수신하여 재생하는 영상표시장치로서, 데이크톱 컴퓨터, IPTV등과 같은 고정 단말기나, 이동통신 단말기, 네비게이션 장치, 텔레매틱스 단말기, 휴대용 멀티미디어 플레이어, 랩탑 컴퓨터와 같은 이동 단말기 중 적어도 하나의 타입의 단말기로 구현될 수 있다.
또한, 본 발명의 실시예에 따르면, 서버(101)는 스트리밍 서비스를 통하여 전송되는 멀티미디어 컨텐츠를 저장하는 컨텐츠 데이터 베이스를 포함할 수 있으며, 컨텐츠 베이스는 플래시 메모리, 하드디스크, RAM(Random Access Memory), SRAM(Static Random Access Memory), 롬(Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광 디스크 중 적어도 하나의 타입의 저장매체로 구현될 수 있다. 그러면 이하에서는, 도 4 및 도 5를 참조하여 본 발명의 제 1 실시예에 따른 HTTP스트리밍의 전송 시 수신측에서 표현 스위칭의 발생 유무에 따라 서버(101)가 분할된 세그먼트에 미리 설정된 오프셋 인덱스를 제공하고, 오프셋 인덱스가 저장된 미디어 정보 파일의 구조를 보다 구체적으로 설명하기로 한다.
도 4는 본 발명의 제 1 실시예에 따른 HTTP스트리밍의 전송 시 수신측에서 표현 스위칭이 발생하지 않은 경우 서버(101)가 분할된 세그먼트에 미리 설정된 오프셋 인덱스를 제공하고, 오프셋 인덱스가 저장된 미디어 정보 파일의 구조를 도시한 블록도이고, 도 5는 본 발명의 제 1 실시예에 따른 HTTP스트리밍의 전송 시 수신측에서 표현 스위칭이 발생한 경우 서버(101)가 분할된 세그먼트에 미리 설정된 오프셋 인덱스를 제공하고, 오프셋 인덱스가 저장된 미디어 정보 파일의 구조를 도시한 블록도이다.
서버(101)는 동일한 크기 또는 동일하지않는 크기로 스트리밍 대상이 되는 멀티미디어 컨텐츠를 복수개의 세그먼트로 분할할 수 있다. 먼저, 서버(101)가 동일한 크기로 스트리밍 대상이 되는 멀티미디어 컨텐츠를 복수개의 세그먼트로 분할하는 경우를 설명하기로 한다. 제 1 실시예에 따르면, 멀티미디어 컨텐츠의 재생 시간이 90분이고, 컨텐츠 정보에 해당하는 비트 전송률이 500kbps, 1Mbps 및 2Mbps버전이 존재하고, 해상도가 SD, 720P, HD 버전이 존재할 경우, 서버(101)는 재생 시간이 90분인 멀티미디어 컨텐츠를 각각의 컨텐츠 정보에 따라2초 단위로 분할하여 2700개의 세그먼트들로 분할하고, 이때, 분할된 2700개의 세그먼트는 비트 전송률500kbps, 1Mbps, 2Mbps 및 해상도 SD, 720P, HD에 따라서 다른 표현을 가진 세그먼트로 생성됨으로써 총 8100개의 세그먼트들이 생성된다.
둘째, 서버(101)가 동일하지 않은 크기로 스트리밍 대상이 되는 멀티미디어 컨텐츠를 복수개의 세그먼트로 분할할 수 있다. 제 1 실시예에 따르면, 멀티미디어 컨텐츠의 재생 시간이 90분이고, 컨텐츠 정보에 해당하는 비트 전송률이 75kbps, 150kbps 및 300kbps버전이 존재할 경우, 서버(101)는 재생 시간이 0분에서 3분까지는 2초 단위로 분할함으로써 멀티미디어 컨텐츠를 복수개의 세그먼트로 분할할 수 있고, 3분에서 4분까지는 4초 단위로 분할함으로써 멀티미디어 컨텐츠를 복수개의 세그먼트로 분할할 수 있다.
서버(101)는 표현 스위칭의 발생 유무에 따라 분할된 세그먼트에 미리 설정된 오프셋 인덱스를 제공하고, 오프셋 인덱스를 미디어 정보 파일에 구별하여 저장한다. 즉, 서버(101)에 의해 분할된 많은 양의 세그먼트들을 MPD에 저장하여 수신측으로 송신하지 않고, 세그먼트에 제공된 오프셋 인덱스만을 미디어 정보 파일에 저장함으로써, 수신측은 오프셋 인덱스를 이용하여 세그먼트를 참조할 수 있으며, 이를 '가상 세그먼트'라 칭한다.
먼저, 도 4를 참조하여 표현 스위칭이 발생하지 않을 경우, 서버(101)가 분할된 세그먼트에 미리 설정된 오프셋 인덱스를 제공하고, 오프셋 인덱스, 즉 제 1 정보를 미디어 정보 파일에 저장하는 과정을 설명하기로 한다. 서버(101)는 동일한 크기 또는 동일하지 않은 크기로 분할된 복수개의 세그먼트에 제 1 정보, 예를 들어 1, 2, ..., N을 순차적으로 제공하고, 세그먼트에 제공된 오프셋 인덱스만을 미디어 정보 파일에 저장한다.
본 발명의 제 1실시예에 따르면, 멀티미디어 컨텐츠의 재생 시간이 90분일 경우, 서버(101)는 재생 시간이 90분인 멀티미디어 컨텐츠를 각각의 컨텐츠 정보에 따라 2초 단위로 분할하여 2700개의 세그먼트들로 분할하고, 분할된 2700개의 세그먼트는 비트 전송률 500kbps, 1Mbps, 2Mbps 에 따라서 다른 표현을 가진 세그먼트로 생성됨으로써 총 8100개의 세그먼트들이 생성된다.
도 4에서 시점 t1부터 시점 t2까지의 세그먼트인 0초부터 2초까지의 재생 구간에 해당하는 세그먼트들 중 비트 전송률이 500kbps인 세그먼트에 제 1 정보 '1'을 제공하고, 비트 전송률이 1Mbps인 세그먼트에 제 1 정보 '1'을 제공하고, 비트 전송률이 2Mbps인 세그먼트에 제 1 정보 '1'을 제공한다. 시점 t2부터 시점 t3까지의 세그먼트인 2초부터 4초까지의 재생 구간에 해당하는 세그먼트들 중 비트 전송률이 500kbps인 세그먼트에 제 1 정보 '2'를 제공하고, 비트 전송률이 1Mbps인 세그먼트에 제 1 정보 '2'를 제공하고, 비트 전송률이 2Mbps인 세그먼트에 제 1 정보 '2'를 제공한다. 그런 다음, 시점 t3부터 시점t4까지의 세그먼트인 4초부터 6초까지의 세그먼트들 중 비트 전송률이 500kbps인 세그먼트에 제 1 정보 '3'을 제공하고, 비트 전송률이 1Mbps 인 세그먼트에 제 1 정보 '3'을 제공하고, 비트 전송률이 2Mbps 인 세그먼트에 제 1 정보 '3'을 제공한다. 이와 같은 과정은 서버(101)에 의해 분할된 모든 세그먼트에 오프셋 인덱스가 제공될 때까지 반복한다.
둘째로, 도 5를 참조하여 표현 스위칭이 발생할 경우, 서버(101)가 분할된 세그먼트에 미리 설정된 오프셋 인덱스를 제공하고, 오프셋 인덱스, 즉 제 2 정보를 미디어 정보 파일에 저장하는 과정을 설명하기로 한다. 본 발명의 제 1 실시예에 따르면, 멀티미디어 컨텐츠의 재생 시간이 90분일 경우, 서버(101)는 재생 시간이 90분인 멀티미디어 컨텐츠를 각각의 컨텐츠 정보에 따라 2초 단위로 분할하여 2700개의 세그먼트들로 분할하고, 분할된 2700개의 세그먼트는 비트 전송률500kbps, 1Mbps, 2Mbps 에 따라서 다른 표현을 가진 세그먼트로 생성됨으로써 총 8100개의 세그먼트들이 생성된다.
서버(101)가 2초 단위로 멀티미디어 컨텐츠를 복수개의 세그먼트들로 분할했지만 표현 스위칭이 발생될 경우에 재생의 끊김을 방지하기 위해서, 0초부터 2초까지의 재생 구간에 해당하는 세그먼트에 오프셋 인덱스를 제공하는 것이 아니라, 0초부터 2.5초까지의 재생 구간에 해당하는 세그먼트에 오프셋 인덱스를 제공한다.
여기서, 상기 오프셋 인덱스는 제1 표현에서 제2 표현으로 표현 스위칭이 발생한 경우 RAP(Random Access Point)를 찾아가기 위한 정보를 제공할 수 있다. 상기 제1 표현에서 제2 표현으로 표현 스위칭이 발생한 경우 상기 스위칭 포인트(switching point)는 미디어 정보 파일(MPD) 또는 세그먼트 인덱스(segment index) 또는 세그먼트에 오프셋 인덱스에 포함될 수 있다.
제1 표현에서 제2 표현으로 표현 스위칭이 발생한 경우 비트스트림 스위칭 세그먼트(bitstream switching segment)를 통해 제1 표현에서 제2 표현으로 표현 스위칭이 발생하였음을 지시(indicating)할 수 있다. 이 경우, 미디어 정보 파일(MPD)은 상기 비트스트림 스위칭 세그먼트를 포함하도록 구성되어 서버에서 클라이언트로 전송될 수 있다. 상기 비트스트림 스위칭 세그먼트는 상기 제2 표현으로 스위칭되는데 필수적인 데이터를 포함할 수 있다.
또는, 제1 표현에서 제2 표현으로 표현 스위칭이 발생한 경우 비트스트림 스위칭 플래그(bitstream switching flag)를 통해 제1 표현에서 제2 표현으로 표현 스위칭이 발생하였음을 지시(indicating)할 수 있다. 이 경우, 미디어 정보 파일(MPD)은 상기 비트스트림 스위칭 플래그를 포함하도록 구성되어 서버에서 클라이언트로 전송될 수 있다.
도 5에서는 시점 t1부터 시점t2까지의 세그먼트인 0초부터 2.5초까지의 세그먼트 중 비트 전송률이 500kbps 인 세그먼트에 제 2 정보 '1'을 제공하고, 비트 전송률이 1Mbps 인 세그먼트에 제 2 정보 '1'을 제공하고, 비트 전송률이 2Mbps 인 세그먼트에 제 2 정보 '1'을 제공한다. 그리고, 시점 t3부터 시점t4까지의 세그먼트인 1.5초부터 3.5초까지의 세그먼트들 중 비트 전송률이 500kbps 인 세그먼트에 제 2 정보 '2'를 제공하고, 비트 전송률이 1Mbps 인 세그먼트에 제 2 정보 '2'를 제공하고, 비트 전송률이 2Mbps 인 세그먼트에 제 2 정보 '2'를 제공한다. 그런 다음, 시점 t5부터 시점t6까지의 세그먼트인 3.5초부터 6.5초까지의 세그먼트들 중 비트 전송률이 500kbps 인 세그먼트에 제 2 정보 '3'을 제공하고, 비트 전송률이 1Mbps 인 세그먼트에 제 2 정보 '3'을 제공하고, 비트 전송률이 2Mbps인 세그먼트에 제 2 정보 '3'을 제공한다. 이와 같은 과정은 서버(101)에 의해 분할된 모든 세그먼트에 오프셋 인덱스가 제공될 때까지 반복한다. 제1 표현에서 제2 표현으로 표현 스위칭이 일어날 경우 클라이언트는 현재의 프리젠테이션 타임(presentation time)에 가깝지만 현재의 프리젠테이션 타임보다 더 늦은 원하는 프리젠테이션 타임에서 제2 표현내의 각 미디어 스트림에 대한 SAP(Stream acess point)를 찾을 수 있다.
서버(101)는 클라이언트(102)가 스트리밍 서비스를 개시하는 것을 감지할 수 있다. 서버(101)가 클라이언트(102)가 스트리밍 서비스의 개시를 감지할 경우, 제 1 정보 및 제 2 정보가 포함된 미디어 정보 파일을 클라이언트(102)로 전송한다. 또한, 서버(101)는 클라이언트(102)로부터 소정의 오프셋 인덱스에 해당하는 세그먼트의 전송 요청을 수신할 수 있다. 본 발명의 제 1실시예에 따르면, 서버(101)는 클라이언트(102)에 의해 채널 상태의 변화가 생김에 따라 출력될 세그먼트의 제 1 정보를 수신하고, 제 1 정보에 해당하는 세그먼트를 클라이언트(102)로 전송한다.
클라이언트(102)는 스트리밍 서비스를 개시할 수 있다. 클라이언트(102)가 스트리밍 서비스를 개시할 경우, 클라이언트(102)는 서버(101)로부터 수신 대상 컨텐츠에 대한 복수의 세그먼트들에 대한 정보를 저장하고 있는 미디어 정보 파일을 수신한다. 이때, 미디어 정보 파일은 표현 스위칭이 일어나지 않을 경우에 참조될 수 있는 제 1 정보 및 표현 스위칭이 일어날 경우에 참조될 수 있는 제 2 정보를 포함한다.
클라이언트(102)는 현재 채널 상태를 감지하여 현재 채널 상태가 변경된 경우에는 세그먼트를 서버(101)로 요청할 수 있다. 먼저, 클라이언트(102)에 의해 감지된 현재 채널 상태가 변함이 없어 표현 스위칭이 발생되지 않는 경우를 설명하기로 한다. 본 발명의 제 1실시예에 따르면, 서버(101)가 10분의 재생 시간을 가지는 멀티미디어 컨텐츠를 2분 단위의 세그먼트로 분할하고, 각 세그먼트는 500kbps, 1Mbps, 2Mbps에 해당되는 오프셋 인덱스를 가지고 있는 경우, 현재 비트 전송률이 500kbps에 해당되는 세그먼트가 수신되어 재생 시간이 7분50초가 경과된 시점에서 채널 상태가 변함이 없다고 판단한 경우, 클라이언트(102)는 서버(101)로 제 1 정보를 참조하여 세그먼트의 전송을 요청하고 그 결과 서버(101)로부터 재생시간이 8분 00초부터 10분에 00초에 해당하고, 현재 출력중인 세그먼트와 동일한 비트 전송률이 500kbps인 세그먼트를 수신하여 출력한다.
둘째, 클라이언트(102)에 의해 감지된 현재 채널 상태가 변경되어 표현 스위칭이 발생되는 경우를 설명하기로 한다. 본 발명의 제 1실시예에 따르면, 서버(101)가 10분의 재생 시간을 가지는 멀티미디어 컨텐츠를 2분 단위의 세그먼트로 분할하고, 각 세그먼트는 500kbps, 1Mbps, 2Mbps에 해당되는 오프셋 인덱스를 가지고 있는 경우, 클라이언트(102)는 서버(101)로부터 수신된 비트 전송률이 500kbps에 해당하는 세그먼트를 출력하는 중 현재 재생 시간이 7분이 경과 된 시점에 현재 채널 상태가 좋아짐을 감지하였다면, 클라이언트(102)는 제 2 정보를 참조하여 서버(101)로 비트 전송률이 1Mbps에 해당하는 세그먼트의 전송을 요청하고 그 결과 서버(101)로부터 비트 전송률이 1Mbps에 해당되고, 재생 시간이 6분 30초부터 8분 30초에 해당하는 세그먼트를 수신하여 출력할 수 있다. 그러면 이하에서는, 도 6을 참조하여 본 발명의 제 1 실시예에 따른 HTTP스트리밍의 전송 시 전송 대상 컨텐츠에 대한 복수의 세그먼트들에 대한 정보를 저장하고 있는 미디어 정보 파일의 전송 방법을 보다 구체적으로 설명하기로 한다.
도 6은 본 발명의 제 1 실시예에 따른 HTTP스트리밍의 전송 시 전송 대상 컨텐츠에 대한 복수의 세그먼트들에 대한 정보를 저장하고 있는 미디어 정보 파일의 전송 방법을 설명하기 위한 흐름도이다.
도 6을 참조하면, 표현 스위칭이 일어나지 않는 경우의 세그먼트들에 대한 정보를 저장하고 있는 제 1 미디어 정보 파일을 구성한다(S601). 본 발명의 제 1실시예에 따르면, 멀티미디어 컨텐츠의 재생 시간이 10분일 경우, 서버(101)는 재생 시간이 10분인 멀티미디어 컨텐츠를 각각의 컨텐츠 정보에 따라2초 단위로 분할하여 300개의 세그먼트들로 분할하고, 분할된 300개의 세그먼트는 비트 전송률500kbps, 1Mbps, 2Mbps 에 따라서 다른 표현을 가진 세그먼트로 생성됨으로써 총 900개의 세그먼트들이 생성하고, 0초부터 2초까지의 세그먼트들 중 비트 전송률이 500kbps에 해당하는 세그먼트에 제 1 정보 '1'을 제공하고, 비트 전송률이 1Mbps에 해당하는 세그먼트에 제 1 정보 '1'을 제공하고, 비트 전송률이 2Mbps에 해당하는 세그먼트에 제 1 정보 '1'을 제공한다. 이와 같은 과정은 서버(101)에 의해 분할된 모든 세그먼트에 오프셋 인덱스가 제공될 때까지 반복한다.
표현 스위칭이 일어나는 경우의 세그먼트들에 대한 정보를 저장하고 있는 제 2 미디어 정보 파일로 구성한다(S602). 본 발명의 제 1실시예에 따르면, 재생 시간이 10분인 멀티미디어 컨텐츠를 각각의 컨텐츠 정보에 따라2초 단위로 분할하여 300개의 세그먼트들로 분할하고, 분할된 300개의 세그먼트는 비트 전송률500kbps, 1Mbps, 2Mbps 에 따라서 다른 표현을 가진 세그먼트로 생성됨으로써 총 900개의 세그먼트들이 생성하고, 0초부터2.5초까지의 세그먼트들 중 비트 전송률이 500kbps에 해당하는 세그먼트에 제 2 정보 '1'을 제공하고, 비트 전송률이 1Mbps에 해당하는 세그먼트에 제 2 정보 '1'을 제공하고, 비트 전송률이 2Mbps에 해당하는 세그먼트에 제 2 정보 '1'을 제공하고, 1.5초부터 3.5초까지의 세그먼트들 중 비트 전송률이 500kbps에 해당하는 세그먼트에 제 2 정보 '2'을 제공하고, 비트 전송률이 1Mbps에 해당하는 세그먼트에 제 2 정보 '2'을 제공하고, 비트 전송률이 2Mbps에 해당하는 세그먼트에 제 2 정보 '2'을 제공한다. 이와 같은 과정은 서버(101)에 의해 분할된 모든 세그먼트에 오프셋 인덱스가 제공될 때까지 반복한다. 그러면 이하에서는, 도 7을 참조하여 본 발명의 제 1 실시예에 따른 HTTP스트리밍의 수신 방법을 보다 구체적으로 설명하기로 한다.
도 7을 참조하면, 클라이언트(102)는 표현 스위칭이 일어나지 않는 경우의 세그먼트들에 대한 제 1 정보와 표현 스위칭이 일어나는 경우의 세그먼트들에 대한 제 2 정보를 구별하여 저장하고 있는 미디어 정보 파일을 수신한다(S701). 표현 스위칭이 일어나지 않는 경우(S702)는 상기 제 1 정보를 참조하여 상기 수신 대상 컨텐츠의 세그먼트들을 수신하여 재생한다(S703). 본 발명의 제 1실시예에 따르면, 서버(101)가 500kbps 10분의 재생 시간을 가지는 멀티미디어 컨텐츠를 2분 단위의 세그먼트로 분할하고, 각 세그먼트는 500kbps, 1Mbps, 2Mbps에 해당되는 오프셋 인덱스를 가지고 있는 경우, 현재 비트 전송률이 500kbps에 해당되는 세그먼트가 수신되어 재생 시간이 7분50초가 경과된 시점에 채널 상태가 변함이 없다고 판단한 경우, 클라이언트(102)는 제 1 정보를 참조하여 서버(101)로 세그먼트의 전송을 요청하고 그 결과 서버(101)로부터 재생 시간이 8분 00초부터 10분에 00초이고 현재 출력중인 세그먼트와 동일한 비트 전송률이 500kbps에 해당되는 세그먼트를 수신하여 출력한다.
표현 스위칭이 일어나는 경우(S702), 클라이언트(102)는 상기 제 2 정보를 참조하여 상기 수신 대상 컨텐츠의 세그먼트들을 수신하여 재생한다(S704). 본 발명의 제 1실시예에 따르면, 서버(101)가 10분의 재생 시간을 가지는 멀티미디어 컨텐츠를 2분 단위의 세그먼트로 분할하고, 각 세그먼트는 500kbps, 1Mbps, 2Mbps에 해당되는 오프셋 인덱스를 가지고 있는 경우, 클라이언트(102)는 서버(101)로부터 수신된 비트 전송률이 500kbps에 해당되는 세그먼트를 출력하는 중 현재 재생 시간이 7분이 경과된 시점에 채널 상태가 좋아짐을 감지하였다면, 클라이언트(102)는 제 2 정보를 참조하여 서버(101)로 비트 전송률이1Mbps에 해당하는 세그먼트의 전송을 요청하고 그 결과 서버(101)로부터 재생 시간이 6분 30초부터 8분 30초이고, 비트 전송률이 1Mbps에 해당되는 세그먼트를 수신하여 출력할 수 있다. 그러면 이하에서는 도 8 내지 도 9를 참조하여 본 발명의 제 2 실시예에 따른 HTTP스트리밍의 수신 시 수신측에서 표현 스위칭이 발생 여부에 따라 수신된 스트림을 디코딩하는 과정을 설명하기로 한다.
도 8은 본 발명의 제 2 실시예에 따른 HTTP스트리밍의 수신 시 수신측에서 표현 스위칭이 발생하지 않은 경우 수신된 스트림을 디코딩하는 과정을 설명하기 위한 타임 차트이고, 도 9는 본 발명의 제 2 실시예에 따른 HTTP스트리밍의 수신 시 수신측에서 표현 스위칭이 발생한 경우 수신된 스트림을 디코딩하는 과정을 설명하기 위한 타임 차트이다.
서버(101)는 동일한 크기 또는 동일하지않는 크기로 스트리밍 대상이 되는 멀티미디어 컨텐츠를 복수개의 세그먼트로 분할할 수 있다. 먼저, 서버(101)가 동일한 크기로 스트리밍 대상이 되는 멀티미디어 컨텐츠를 복수개의 세그먼트로 분할하는 경우를 설명하기로 한다. 예를 들어, 멀티미디어 컨텐츠의 재생 시간이 90분이고, 컨텐츠 정보에 해당하는 비트 전송률이 500kbps, 1Mbps 및 2Mbps버전이 존재하고, 해상도가 SD, 720P, HD 버전이 존재할 경우, 서버(101)는 재생 시간이 90분인 멀티미디어 컨텐츠를 각각의 컨텐츠 정보에 따라 2초 단위로 분할하여 2700개의 세그먼트들로 분할하고, 이때, 분할된 2700개의 세그먼트는 비트 전송률500kbps, 1Mbps, 2Mbps 및 해상도 SD, 720P, HD에 따라서 다른 표현을 가진 세그먼트로 생성됨으로써 총 8100개의 세그먼트들이 생성된다.
둘째, 서버(101)가 동일하지 않은 크기로 스트리밍 대상이 되는 멀티미디어 컨텐츠를 복수개의 세그먼트로 분할할 수 있다. 예를 들어, 멀티미디어 컨텐츠의 재생 시간이 90분이고, 컨텐츠 정보에 해당하는 비트 전송률이 75kbps, 150kbps 및 300kbps버전이 존재할 경우, 서버(101)는 재생 시간이 0분에서 3분까지는 2초 단위로 분할함으로써 멀티미디어 컨텐츠를 복수개의 세그먼트로 분할할 수 있고, 3분에서 4분까지는4초 단위로 분할함으로써 멀티미디어 컨텐츠를 복수개의 세그먼트로 분할할 수 있다.
서버(101)는 클라이언트(102)로부터 세그먼트의 요청을 수신할 수 있다. 본 발명의 제 2 실시예에 따르면, 서버(101)는 클라이언트(102)가 채널 상태의 변화를 감지하여 현재 채널 상태에 해당하는 세그먼트의 전송 요청을 수신한 경우, 클라이언트(102)로부터 요청된 세그먼트를 검색하여 클라이언트(102)로 전송한다.
클라이언트(102)는 스트리밍 서비스를 개시할 수 있다. 클라이언트(102)가 스트리밍 서비스를 개시할 경우, 클라이언트(102)는 서버(101)로부터 수신 대상 컨텐츠에 대한 복수의 세그먼트들에 대한 정보를 저장하고 있는 미디어 정보 파일을 수신하고, 미디어 정보 파일을 참조하여 세그먼트를 서버(101)로 요청한다. 클라이언트(102)의 제 1 디코더(112)는 서버(101)로부터 해당되는 세그먼트를 수신하여 디코딩하며, 클라이언트(102)의 출력부(132)는 디코딩된 세그먼트를 출력한다.
클라이언트(102)는 현재 채널 상태의 변화를 감지할 수 있다. 먼저, 도 8을 참조하여 클라이언트(102)에 의해 감지된 현재 채널 상태가 변함이 없음을 예상하여 표현 스위칭이 발생되지 않는 경우를 설명하기로 한다. 도 8은 클라이언트(102)가 서버(101)로부터 제 1스트림을 수신하여 디코딩하여 세그먼트를 출력하는 제 1 디코더(112) 및 디코딩된 세그먼트를 출력하는 출력부(132)를 포함하며 표현 스위칭이 발생하지 않기 때문에 제 1 디코더(112) 프로세스만이 생성되는 경우의 예시도이다.
본 발명의 제 2실시예에 따르면, 서버(101)가 10분의 재생 시간을 가지는 멀티미디어 컨텐츠를 2분 단위의 세그먼트로 분할하고, 각 세그먼트는 500kbps, 1Mbps, 2Mbps에 해당되는 오프셋 인덱스를 가지고 있는 경우, 제1디코더(112)는 시점 t1에서 세그먼트를 수신하고, 미디어 정보 파일을 참조하여 상기 수신 대상 컨텐츠에 대한 세그먼트를 순차적으로 디코딩하여 출력하고, 출력부(132)는 제 1 디코더(112)로부터 디코딩된 세그먼트를 시점 t1에서 재생한다.
둘째, 도 9를 참조하여 클라이언트(102)에 의해 감지된 현재 채널 상태가 변화됨을 예상하여 표현 스위칭이 발생되는 경우를 설명하기로 한다. 도 9는 클라이언트(102)가 서버(101)로부터 제 1스트림을 수신하여 디코딩하여 세그먼트를 출력하는 제 1 디코더(112) 및 표현 스위칭이 발생할 경우 해당되는 제 2 스트림을 수신하여 디코딩하여 세그먼트를 출력하는 제 2 디코더(122) 및 디코딩된 세그먼트를 출력하는 출력부(132)를 포함하여, 표현 스위칭이 발생한 경우 제 1 디코더(112) 및 제 2 디코더(122)프로세스가 생성되어 제 1 디코더(112)와 제 2 디코더(122)가 병렬적으로 디코딩을 수행하는 경우의 예시도이다.
본 발명의 제 2실시예에 따르면, 서버(101)가 10분의 재생 시간을 가지는 멀티미디어 컨텐츠를 2분 단위의 세그먼트로 분할하고, 각 세그먼트는 500kbps, 1Mbps, 2Mbps에 해당되는 오프셋 인덱스를 가지고 있는 경우, 제1디코더(112)는 시점 t1에서 세그먼트를 수신하고, 미디어 정보 파일을 참조하여, 상기 수신 대상 컨텐츠에 대한 세그먼트를 순차적으로 디코딩하여 출력하고, 출력부(132)은 제 1 디코더(112)로부터 디코딩된 세그먼트를 시점 t1에서 재생한다.
클라이언트(102)가 재생 시간이 2분이 경과된 후에 현재 채널 상태가 좋아질 것으로 예상한 경우, 클라이언트(102)는 미디어 정보 파일을 참조하여 비트 전송률이1Mbps에 해당되는 세그먼트를 서버(101)로 요청한다. 클라이언트(102)의 제 1디코더(112)는 서버(101)로부터 비트 전송률이 1Mbps에 해당되는 세그먼트 수신하여 디코딩하고, 출력부(132)는 디코딩된 세그먼트를 출력한다. 하지만, 제 1디코더(112)가 재생시간이 0분에서 2분까지이고, 비트 전송률이 500bps에 해당하는 세그먼트를 디코딩 한 후, 재생시간이 2분에서 4분까지이고, 비트 전송률이 1Mbps에 해당하는 세그먼트를 디코딩 할 경우, 시점 t3에서 디코더 재설정이 필요하여 지연 시간이 발생하고, 이에 따라 화면의 끊김 현상이 발생된다.
이와 같은 이유로, 클라이언트(102)의 제 1 디코더(112)는 서버(101)로부터 재생시간이 0분에서 2분까지이고, 비트 전송률이 500bps에 해당하는 세그먼트를 디코딩하고, 제 2 디코더(122)는 시점 t2에서 서버(101)로부터 재생시간이 2분에서 4분까지이고, 비트 전송률이 1Mbps에 해당하는 세그먼트를 수신하여 제 1 디코더(112)와 병렬적으로 디코딩을 수행하도록 2개의 디코더를 이용함으로써 표현 스위칭이 발생되는 시점 t2에서 화면의 끊김 현상이 발생하지 않는다. 그러면 이하에서는, 도 10을 참조하여 본 발명의 제 2 실시예에 따른 HTTP스트리밍의 수신 방법을 보다 구체적으로 설명하기로 한다.
도 10는 본 발명의 제 2 실시예에 따른 HTTP스트리밍의 수신 방법을 설명하기 위한 흐름도이다.
도 10을 참조하면, 클라이언트(102)는 수신 대상 컨텐츠에 대한 복수의 세그먼트들에 대한 정보를 저장하고 있는 미디어 정보 파일을 수신한다(S1001). 표현 스위칭이 발생하지 않은 경우(S1002)는 제 1 디코더 프로세스만을 생성하여, 상기 미디어 정보 파일을 참조하여, 상기 수신 대상 컨텐츠에 대한 복수의 세그먼트를 순차적으로 디코딩하여 재생한다(S1003). 본 발명의 제 2실시예에 따르면, 서버(101)가 10분의 재생 시간을 가지는 멀티미디어 컨텐츠를 2분 단위의 세그먼트로 분할하고, 각 세그먼트는 비트 전송률이 500kbps, 1Mbps, 2Mbps에 해당되는 오프셋 인덱스를 가지고 있는 경우, 제1디코더(112)는 0분에서 2분까지의 재생 시간을 가지는 세그먼트를 수신하고, 미디어 정보 파일을 참조하여, 상기 수신 대상 컨텐츠에 대한 세그먼트를 순차적으로 디코딩하여 출력하고, 출력부(132)는 제 1 디코더(112)로부터 디코딩된 세그먼트를 재생한다.
표현 스위칭이 발생한 경우(S1002) 제 2 디코더 프로세스를 생성하여, 상기 수신 대상 컨텐츠의 표현 스위칭 시점 이후의 세그먼트를 상기 제 1 디코더 프로세스와 병렬적으로 디코딩하여 재생한다(S1004). 본 발명의 제 2실시예에 따르면, 서버(101)가 10분의 재생 시간을 가지는 멀티미디어 컨텐츠를 2분 단위의 세그먼트로 분할하고, 각 세그먼트는 비트 전송률이 500kbps, 1Mbps, 2Mbps에 해당되는 오프셋 인덱스를 가지고 있는 경우, 제1디코더(112)는 0분에서 2분까지의 재생 시간을 가지고, 비트 전송률이 500Kbps에 해당하는 세그먼트를 수신하고, 미디어 정보 파일을 참조하여, 상기 수신 대상 컨텐츠에 대한 세그먼트를 순차적으로 디코딩하여 출력하고, 출력부(132)는 제 1 디코더(112)로부터 디코딩된 세그먼트를 재생하며, 재생 시간이2분이 경과된 시점에서 현재 채널 상태가 좋아져 표현 스위칭이 발생된다고 감지한 경우, 제 2 디코더(122)는 1분 30초의 재생 시점에서 2분에서 4분까지의 재생 시간을 가지거 비트 전송률이 1Mbps에 해당하는 세그먼트를 수신하여 제 1 디코더(112)와 병렬적으로 디코딩을 수행한다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
101: 서버 102: 클라이언트
112: 제 1 디코더 122: 제 2 디코더
132: 출력부

Claims (4)

  1. HTTP 스트리밍 전송에 있어서, 전송 대상 컨텐츠에 대한 복수의 세그먼트들에 대한 정보를 저장하고 있는 미디어 정보 파일의 전송방법으로서,
    상기 미디어 정보 파일은
    표현 스위칭이 일어나지 않는 경우의 세그먼트들에 대한 정보; 및
    표현 스위칭이 일어나는 경우의 세그먼트들에 대한 정보를 구별하여 저장하는 것을 특징으로 하는 것을 특징으로 하는 HTTP 스트리밍 전송 방법.
  2. HTTP 스트리밍 전송에 있어서, 전송 대상 컨텐츠에 대한 복수의 세그먼트들에 대한 정보를 저장하고 있는 미디어 정보 파일의 전송방법으로서,
    상기 미디어 정보 파일은
    표현 스위칭이 일어나지 않는 경우의 세그먼트들에 대한 정보를 저장하고 있는 제 1 미디어 정보 파일과, 표현 스위칭이 일어나는 경우의 세그먼트들에 대한 정보를 저장하고 있는 제 2 미디어 정보 파일로 구성되어 있는 것을 특징으로 하는 HTTP 스트리밍 전송 방법.
  3. HTTP 스트리밍 전송의 수신 방법으로서,
    수신 대상 컨텐츠에 대한 복수의 세그먼트들에 대한 정보를 저장하고 있는 미디어 정보 파일으로서, 표현 스위칭이 일어나지 않는 경우의 세그먼트들에 대한 제 1 정보와 표현 스위칭이 일어나는 경우의 세그먼트들에 대한 제 2 정보를 구별하여 저장하고 있는 미디어 정보 파일을 수신하는 단계; 및
    상기 미디어 정보 파일을 참조하여, 수신 대상 컨텐츠의 세그먼트들을 순차적으로 수신하여 재생하는 단계로서, 표현 스위칭이 일어나지 않는 경우는 상기 제 1 정보를 참조하여 상기 수신 대상 컨텐츠의 세그먼트들을 수신하여 재생하며, 표현 스위칭이 일어나는 경우는 상기 제 2 정보를 참조하여 상기 수신 대상 컨텐츠의 세그먼트들을 수신하여 재생하는 단계를 포함하는 것을 특징으로 하는 HTTP 스트리밍 전송의 수신 방법.
  4. HTTP 스트리밍 전송의 수신 방법으로서,
    수신 대상 컨텐츠에 대한 복수의 세그먼트들에 대한 정보를 저장하고 있는 미디어 정보 파일을 수신하는 단계;
    표현 스위칭이 발생하지 않은 경우는 제 1 디코더 프로세스만을 생성하여,
    상기 미디어 정보 파일을 참조하여, 상기 수신 대상 컨텐츠에 대한 복수의 세그먼트를 순차적으로 디코딩하여 재생하는 단계; 및
    표현 스위칭이 발생한 경우 제 2 디코더 프로세스를 생성하여, 상기 수신 대상 컨텐츠의 표현 스위칭 시점 이후의 세그먼트를 상기 제 1 디코더 프로세스와 병렬적으로 디코딩하는 단계를 포함하는 것을 특징으로 하는 HTTP 스트리밍 전송의 수신 방법.
KR1020110094597A 2010-09-20 2011-09-20 Http 스트리밍에서 표현 스위칭시 처리 방법 KR101472032B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020100092289 2010-09-20
KR20100092289 2010-09-20

Publications (2)

Publication Number Publication Date
KR20120030969A true KR20120030969A (ko) 2012-03-29
KR101472032B1 KR101472032B1 (ko) 2014-12-16

Family

ID=45874250

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110094597A KR101472032B1 (ko) 2010-09-20 2011-09-20 Http 스트리밍에서 표현 스위칭시 처리 방법

Country Status (5)

Country Link
US (1) US20130173760A1 (ko)
EP (1) EP2621168A4 (ko)
KR (1) KR101472032B1 (ko)
CN (1) CN103222276B (ko)
WO (1) WO2012039576A2 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9445136B2 (en) * 2011-09-21 2016-09-13 Qualcomm Incorporated Signaling characteristics of segments for network streaming of media data
EP3210383A1 (en) * 2014-10-22 2017-08-30 ARRIS Enterprises LLC Adaptive bitrate streaming latency reduction
KR101780247B1 (ko) * 2016-03-04 2017-09-20 주식회사 큐버 동적 적응 버퍼링 기반의 ott 데이터 처리 방법
CN109218763A (zh) * 2018-11-12 2019-01-15 青岛海信传媒网络技术有限公司 一种流媒体视频切换的方法及智能电视
US10727868B2 (en) * 2018-12-03 2020-07-28 Samsung Electronics Co., Ltd. Apparatus and method for offset optimization for low-density parity-check (LDPC) code
US11792472B2 (en) * 2019-09-18 2023-10-17 Wayne Fueling Systems Llc Schedule-based uninterrupted buffering and streaming
CN117157988A (zh) * 2021-04-16 2023-12-01 抖音视界有限公司 最小化直播流中的初始化延迟

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1243442C (zh) * 2000-12-15 2006-02-22 英国电讯有限公司 音频和/或视频资料的传输和接收
US20030151753A1 (en) * 2002-02-08 2003-08-14 Shipeng Li Methods and apparatuses for use in switching between streaming video bitstreams
US20050102371A1 (en) * 2003-11-07 2005-05-12 Emre Aksu Streaming from a server to a client
US8868772B2 (en) * 2004-04-30 2014-10-21 Echostar Technologies L.L.C. Apparatus, system, and method for adaptive-rate shifting of streaming content
KR100757195B1 (ko) * 2005-12-26 2007-09-07 주식회사 팬택 순차 조각 다운로드를 이용한 가변 비트율 의사스트리밍방법
US9432433B2 (en) * 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US7774488B2 (en) * 2008-03-12 2010-08-10 International Business Machines Corporation Method and system for switching media streams in a client system based on environmental changes
US8325795B1 (en) * 2008-12-01 2012-12-04 Adobe Systems Incorporated Managing indexing of live multimedia streaming
JP5341104B2 (ja) * 2008-12-08 2013-11-13 パナソニック株式会社 画像復号化装置および画像復号化方法
US9060187B2 (en) * 2008-12-22 2015-06-16 Netflix, Inc. Bit rate stream switching
US8849101B2 (en) * 2009-03-26 2014-09-30 Microsoft Corporation Providing previews of seek locations in media content
RU2622621C2 (ru) * 2009-11-04 2017-06-16 Амотек Ко., Лтд. Система и способ для потоковой передачи воспроизводимого контента
KR101702562B1 (ko) * 2010-06-18 2017-02-03 삼성전자 주식회사 멀티미디어 스트림 파일의 저장 파일 포맷, 저장 방법 및 이를 이용한 클라이언트 장치
US8918533B2 (en) * 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US20120233345A1 (en) * 2010-09-10 2012-09-13 Nokia Corporation Method and apparatus for adaptive streaming
CA2816621A1 (en) * 2010-11-02 2012-05-10 Lg Electronics Inc. Method for adaptive streaming that transmits/receives media content according to a network bandwidth and device for adaptive streaming using the same

Also Published As

Publication number Publication date
EP2621168A4 (en) 2014-07-09
EP2621168A2 (en) 2013-07-31
CN103222276A (zh) 2013-07-24
US20130173760A1 (en) 2013-07-04
KR101472032B1 (ko) 2014-12-16
WO2012039576A3 (ko) 2012-05-18
CN103222276B (zh) 2017-04-19
WO2012039576A2 (ko) 2012-03-29

Similar Documents

Publication Publication Date Title
US10554932B2 (en) Dynamic advertisement stream replacement
US8516144B2 (en) Startup bitrate in adaptive bitrate streaming
TWI580237B (zh) 單一播放適應性位元率串流
KR100492567B1 (ko) 이동통신 시스템의 http 기반 비디오 스트리밍 장치및 방법
US9060207B2 (en) Adaptive video streaming over a content delivery network
KR101472032B1 (ko) Http 스트리밍에서 표현 스위칭시 처리 방법
US20110088076A1 (en) System and Method for Media Adaptation
US20130204973A1 (en) Method for transmitting a scalable http stream for natural reproduction upon the occurrence of expression-switching during http streaming
US20170245022A1 (en) Splicing method and splicing system for http live streaming media fragment
CN108063769B (zh) 一种内容服务的实现方法、装置及内容分发网络节点
TW201603540A (zh) 於相同視訊傳送管線內之客戶前提元件中將多重播放適應性位元率及單一播放適應性位元率與累進下載適應性位元率合併之技術
KR20120021246A (ko) Http 스트리밍을 위한 미디어 정보 파일의 전송 및 수신 방법
CN110351594A (zh) 用于在自适应流播环境中管理相邻频道的系统和方法
JP2015136060A (ja) 通信装置、通信データ生成方法、および通信データ処理方法
US9680904B2 (en) Adaptive buffers for media players
US10924524B2 (en) Communication devices, communication data generation method, and communication data processing method
WO2015107786A1 (ja) 通信装置、通信データ生成方法、および通信データ処理方法
CA3008096A1 (en) Video fragment file processing
WO2013185547A1 (zh) 一种缓存服务器的服务方法、缓存服务器及系统
GB2495268A (en) Methods and systems for providing file data for media files
CA2934905C (en) Communication apparatus, communication data generation method, and communication data processing method
CN108737355B (zh) 基于用户带宽的流媒体播放
KR20160031642A (ko) 스트리밍 서비스 서버 및 그의 제어 방법
KR20160113270A (ko) 적응형 스트리밍을 위한 포렌식 마킹의 시그널링 및 핸들링
JP6400163B2 (ja) 受信装置、受信方法、送信装置、送信方法、及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170907

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee