KR101701182B1 - 청크로 스트리밍된 컨텐츠를 복구하기 위한 방법 - Google Patents

청크로 스트리밍된 컨텐츠를 복구하기 위한 방법 Download PDF

Info

Publication number
KR101701182B1
KR101701182B1 KR1020127025294A KR20127025294A KR101701182B1 KR 101701182 B1 KR101701182 B1 KR 101701182B1 KR 1020127025294 A KR1020127025294 A KR 1020127025294A KR 20127025294 A KR20127025294 A KR 20127025294A KR 101701182 B1 KR101701182 B1 KR 101701182B1
Authority
KR
South Korea
Prior art keywords
chunk
chunks
server
encoded
client
Prior art date
Application number
KR1020127025294A
Other languages
English (en)
Other versions
KR20130044218A (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 KR20130044218A publication Critical patent/KR20130044218A/ko
Application granted granted Critical
Publication of KR101701182B1 publication Critical patent/KR101701182B1/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/10Architectures or entities
    • H04L65/1046Call controllers; Call servers
    • 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
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • 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/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder

Landscapes

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

Abstract

본 발명은 컨텐츠 지속 시간에 해당하는 청크들로 분해된 컨텐츠를 수신하기 위한, 클라이언트 디바이스에서의 적응 스트리밍 방법에 관한 것으로서, 청크들은 적어도 제1 및 제2 포맷들로 서버에서 인코딩되고, 제1의 포맷은 제2의 포맷보다 더 양호한 컨텐츠 렌더링 품질 레벨에 해당하며, 청크는 청크 수신 주기 동안 수신된다. 본 발명에 따라, 본 방법은 다음의 청크 수신 주기 동안 클라이언트와 서버 사이의 이용 가능한 대역폭을 측정하는 단계, 청크가 다음의 청크 수신 주기 동안 수신될 수 있도록 한 포맷으로 인코딩된 청크를 전송할 것을 서버에 요청하는 단계; 및 다음의 청크 수신 주기 동안 일부 대역폭이 이용 가능한 경우, 제2의 포맷으로 인코딩된 청크의 일부를 전송할 것을 서버에 요청하는 단계로서, 상기 청크는 제1의 포맷으로 인코딩되어 수신된, 요청하는 단계를 포함한다.

Description

청크로 스트리밍된 컨텐츠를 복구하기 위한 방법{A METHOD FOR RECOVERING CONTENT STREAMED INTO CHUNK}
본 발명은 일반적으로 적응 비디오 스트리밍에 관한 것이며, 특히 적응 비디오 스트리밍 컨텐츠를 복구하기 위한 방법에 관한 것이다.
이 절은 이하에 설명 및/또는 청구된 본 발명의 다양한 양상들에 관한 것일 수 있는 기술의 다양한 양상들을 독자에게 소개하도록 의도된다. 이러한 논의는 본 발명의 다양한 양상들에 대한 더 나은 이해를 장려하기 위해 독자에게 배경 정보를 제공하는 것에 있어서 도움이 될 것이라고 믿어진다. 따라서, 이러한 진술들은 종래의 기술의 용인으로서가 아닌, 이러한 견지에서 읽혀져야 한다는 것이 이해되어야 한다.
매체 전달 스트리밍 솔루션들은 IETF RFC 2326에서 정의된 실시간 스트리밍 프로토콜(RTSP), 마이크로소프트사로부터의 마이크로소프트 매체 서버(MMS) 전용 프로토콜, 또는 아도브(Adobe) 시스템즈사로부터의 실시간 메시징 프로토콜(RTMP) 전용 프로토콜과 같은 프로토콜들을 주로 기반으로 한다. 보다 최근에, HTTP 프로토콜을 기반으로 한 새로운 스트리밍 기술들이 등장하였다. 적응 스트리밍 기술은, 대역폭 제한(bandwidth constraint)에 적합하기 위해 지속적이고 적절하게 비디오 품질을 업그레이딩 또는 다운그레이딩 함으로써 이용 가능한 대역폭에 관하여 불규칙한 네트워크 행위(behavior)를 보상하기 위한 방법을 제공한다. 보다 정확하게, 비디오 스트림은 몇몇의 인코딩된 비트 스트림들로 인코딩되는데, 이들의 각각은, 예를 들어 300kbps, 600kbps, 1200kbps, 2000kbps, 또는 3000kbps와 같은 비트 전송률 제한에 해당한다. 이에 따라, 이들 스트림들 각각은, 예를 들어 2초의 지속 시간을 의미하는 청크들(chunks)로 나누어져서, 각 청크가 기준 프레임으로 시작하는 방법으로 모두 잘 정렬되고; 임의의 주어진 청크의 어떤 프레임도 다른 청크 내의 프레임을 참조하지 않는다. 다시 말해, 비디오 스트림은 청크라고 불리우는 작은 세그먼트들로 분해되어 희망하는 전달 포맷으로 인코딩된다. 청크들은 일반적으로 2초 내지 4초 길이이다. 비디오 코덱 레벨에서, 이것은 일반적으로, 각 청크가 비디오 화상들의 그룹(GOP) 경계선들을 따라 분해되고 과거 또는 미래의 청크들 및 GOP들에 대한 어떤 의존성(dependencies)도 갖지 않음을 의미한다. 이것은 각 청크가 나중에 다른 청크들로부터 독립적으로 디코딩되는 것을 허용한다.
클라이언트 디바이스는 HTTP 서버에 요청하여, 추정된 대역폭에 관하여 특정 비트 전송률에 첨부된 청크를 전송하는데, 여기서 이용 가능한 대역폭은, 예를 들어 HTTP 요청/응답으로 사용된 왕복 시간을 측정함으로써 측정될 수 있다. 이에 따라, 비디오 스트림은 클라이언트 요청들을 기반으로 청크 단위(chunk after chunk)로 전달된다. 이것은 도 1에 도시되며, 이는 보다 낮은 비트 전송률로부터 보다 높은 비트 전송률에 이르기까지, 청크 비트 전송률의 4가지 레벨을 도시한다. 고정된 시간에 모두 대응하는 비디오 청크들은 대체로 크다. 큰 청크는 보다 높은 대역폭을 요구하며 보다 좋은 비디오 품질을 제공한다. 청크 선택은 곡선에 대응하는 추정된 이용 가능한 대역폭에 의존한다. 물론, 구현, 환경, 네트워크 기술, 및 클라이언트 어플리케이션에 따라, 본 전략은 다소 보수적일 수 있다. 보수적일 경우, 클라이언트는 원활한 업그레이드 변이(transition)를 보장하는 특정 시간 후에만 더 높은 비트 전송률 청크를 요청한다. 보다 덜 보수적인 전략은, 클라이언트가 보다 많은 대역폭이 이용 가능하다는 것을 검출하자마자, 보다 높은 비트 전송률 청크를 요청할 것이다. 그리고, 일반적으로, 클라이언트는 이것이 신속한 다운그레이드 변이를 의미하는 대역폭 감소를 검출하자마자, 보다 낮은 비트 전송률 청크를 요청한다.
이러한 스트리밍 기술들의 예시들은 무브 네트워크스사의 "움직임 적응 스트림", 애플사의 "HTTP 라이브 스트리밍", 및 마이크로소프트사의 "IIS(인터넷 정보 서비스) 원활한 스트리밍"이다. 이러한 스트리밍 솔루션에 있어서 HTTP 프로토콜을 사용함의 혜택은 NAT와 방화벽을 균일하게 넘나들 수 있는 능력이다. 이러한 HTTP 스트리밍 기술들은 대역폭 제한에 적합하기 위해 지속적이고 적절하게 비디오 품질을 업그레이딩 또는 다운그레이딩 함으로써 이용 가능한 대역폭에 관하여 불규칙한 네트워크 행위를 보상하기 위한 방법을 제공한다.
보다 상세하게, 무브 네트워크스사로부터의 WO 2005/109224 A2는, 클라이언트 측에서 호스팅된(hosted) 에이전트 컨트롤러 모듈(Agent Controller Module)에서의 메커니즘을 설명하며, 스트리밍할 매체가, 또한 청크들이라고 불리우며, 이들의 각각이 낮은 비트 전송률로부터 높은 비트 전송률에 이르기까지 인코딩된 복수의 스트림릿(streamlets)으로 이전에 구성된다는 사실로 인하여, 변동하는 네트워크 대역폭에 적응할 수 있다. 이용 가능한 네트워크 대역폭 및 일부 다른 추가적인 정보에 따라, 에이전트 컨트롤러 모듈에 병합된 모니터링 툴(tool)은 HTTP 프로토콜을 사용하여, TCP/IP 연결을 통하여 스트리밍될 가장 적합한 청크를 전송할 것을 서버에 요청한다. 최소 단위의 청크를 기반으로 품질은, 에이전트 컨트롤러 모듈에 따라, 올라가거나 또는 내려간다.
2009년 3월, 마이크로소프트사의 Alex Zambelli로부터의 IIS 원활한 스트리밍 기술의 개관은 TCP/IP 연결을 통한 HTTP 프로토콜을 기반으로 한 IIS 원할한 스트리밍 기술을 설명한다. 서버에 의해 스트리밍될 매체는, 예를 들어 1초 내지 10초의 지속 시간을 의미하는 청크들로 이전에 분해된다(chopped). 그 후, 이들 청크들은 상이한 비트 전송률로 H.264/MPEG-4 AVC 표준에 따라 인코딩되며, MP4 파일 포맷 컨테이너 내에 저장된다. 네트워크 대역폭 변동에 따라 비트 전송률을 선택하며 대응하는 청크들을 서버에 균일하게 요청하는 메커니즘은 실버라이트 어플리케이션(Sliverlight Application)이라는 어플리케이션 코드를 통하여 클라이언트 측에서 전체적으로 구현된다. HTTP 라이브 스트리밍은 연결 스피드를 변경시키는 것에 응답하여 상이한 데이터 전송률의 스트림들 사이에서의 동적인 전환을 지원한다.
애플사는 "HTTP 라이브 스트리밍 draft-pantos-http-live-streaming-02"라는 제목이 달린 HTTP 스트리밍 방법 설명서(specification)에서 2009년 10월에 IETF에 대한 인터넷 드래프트(Internet Draft to IETF)를 제출했다. HTTP 스트리밍 구성은 3개의 기본적인 부분(pillars)인 서버, 웹 서버나 웹 캐싱(web caching) 시스템을 통한 분산(distribution), 및 클라이언트로 구성된다. 스트리밍될 매체는 H.264로 인코딩된 비디오, 및 AAC로 인코딩된 오디오이다. 서버에서, 이것은 MPEG-TS 컨네이너들에서 캡슐화되며, 애플 스트림 세그멘터라고 명명된 특정 툴로 동일한 지속 시간의 청크들로 분해된다(fragmented). 이 툴은 *.ts 파일, 및 청크들의 플레이리스트를 구성하는 색인(index) 파일 *.m3u8로 저장되는 청크들을 생성한다. 그 후, 클라이언트는 URL 지시자 덕분에 우선적으로 색인 파일을 가져온다(fetch). 색인 파일은 이용 가능한 매체 파일들의 위치, 해독 키(decryption key), 및 이용 가능한 임의의 교대의 스트림들을 차례대로 명시한다. 선택된 스트림에 대하여, 클라이언트는 각각의 이용 가능한 매체 파일을 순차적으로 다운로딩한다.
이러한 적응 스트리밍 기술들을 통하여, 비디오 품질은 불규칙적이다. 청크 단위로 클라이언트에 의해 획득된 스트림은, 이것이 상이한 비트 전송률 청크들의 혼합이기 때문에, 일정한 품질을 갖지 않는다. 이 비디오는 수신기에 저장되어 추후에 재생될 수 있다. 보통 이러한 스트리밍 어플리케이션을 통하여, 청크들이 로컬 저장 설비에 기록될 수 있었기 때문에, 네트워크를 통해 스트림을 재전송할 필요가 없다. 하지만, 일련의 기록된 청크들은 일정하지 않은 비디오 품질을 초래하는 스트리밍 세션 과정에서 경험된 네트워크 환경(condition)에 대응한다.
이러한 문제에 대한 솔루션은 낮은 품질의 청크들에 해당하는 청크들을 서버로부터 재획득하는 것일 것이다. 이것은 기록된 스트림이 재생되기 전에 그룹화된 다운로드로서 수행될 수 있다. 하지만, 이것은 시간 소모가 클 수 있다. 또 다른 솔루션은 기록된 스트림 재생 과정에서 낮은 품질 청크들을 온-더-플라이(on-the-fly) 방식으로 바꾸는 것이다. 하지만, 클라이언트가 보다 좋은 품질의 청크들이 필요되는 시간에 이것들을 획득할 것이라는 어떤 보증도 없다. 그리고, 이 두 솔루션들은 클라이언트를 강제로 서버에 연결되도록 한다.
현존하는 적응 스트리밍 기술들을 통하여, 비디오 품질은 불규칙적이다. 청크 단위로 클라이언트에 의해 획득된 스트림은, 이것이 상이한 비트 전송률 청크들의 혼합이기 때문에, 일정한 품질을 갖지 않는다. 따라서, 이들을 개선할 수 있는 방법을 찾고자 한다.
본 발명은 청크들의 품질을 기회적으로 향상시키는 방법들을 제공함으로써, 종래의 기술들에 있어서 낮은 품질의 청크들과 관련된 적어도 일부의 관심들을 개선하도록 시도한다.
이를 위해, 본 발명은 컨텐츠 지속 시간에 해당하는 청크들로 분해되는 컨텐츠를 수신하기 위한, 클라이언트 디바이스에서의 적응 스트리밍 방법에 관한 것인데, 청크들은 서버에서 적어도 제1 및 제2의 포맷들로 인코딩되고, 제1의 포맷은 제2의 포맷보다 더 양호한 컨텐츠 렌더링 품질 레벨에 해당하며, 청크는 청크 수신 지속 시간 동안 수신된다.
본 발명에 따라, 본 방법은 다음의 청크 수신 주기 동안 클라이언트와 서버 사이의 이용 가능한 대역폭을 측정하는 단계, 청크가 다음의 청크 수신 주기 동안 수신될 수 있도록 하나의 포맷으로 인코딩된 청크를 전송하는 것을 서버에 요청하는 단계, 그리고 일부 대역폭이 다음의 청크 수신 주기 동안 이용 가능한 경우, 제2의 포맷으로 인코딩된 청크의 일부를 전송하는 것을 서버에 요청하는 단계로서, 상기 청크는 제1의 포맷으로 인코딩되어 수신되는, 청크의 일부를 전송하는 것을 요청하는 단계를 포함한다.
한 실시예에 따라, 본 방법은 청크들을 수신하는 단계, 및 상기 청크들을 렌더링 디바이스에 전송하는 단계를 포함한다.
한 실시예에 따라, 본 방법은 상기 청크들을 메모리에 저장하는 단계를 포함한다.
본 발명의 한 실시예에 따라, 본 방법은 제2의 포맷으로 인코딩된 청크의 전체 부분들을 요청하기 위해 연속적인 청크 수신 주기들에 있어서 이용 가능한 대역폭을 사용하는 단계를 포함한다.
본 발명의 한 실시예에 따라, 본 방법은, 제2의 포맷으로 인코딩된 청크의 전체 부분들의 수신 시에 메모리 내에서 제1의 포맷으로 인코딩된 청크를 제2의 포맷으로 인코딩된 청크와 교환하는 단계를 포함한다.
본 발명은 또한 컨텐츠 지속 시간에 해당하는 청크들로 분해되는 컨텐츠를 수신하기 위한, 클라이언트 디바이스에서의 적응 스트리밍 방법에 관한 것이며, 상기 청크들은 스케일링 가능한(scalable) 비디오 코딩(SVC) 기술에 따라, 서버에서 기본 레이어 및 적어도 하나의 개선 레이어(enhancement layer)로 인코딩되며, 청크는 청크 수신 주기 동안 수신된다. 이를 위해, 본 방법은 다음의 청크 수신 주기 동안 클라이언트와 서버 사이의 이용 가능한 대역폭을 측정하는 단계, 청크가 다음의 청크 수신 주기 동안 수신될 수 있도록 적어도 하나의 SVC 레이어로 인코딩된 청크를 전송하는 것을 서버에 요청하는 단계, 그리고 일부 대역폭이 다음의 청크 수신 주기 동안 이용 가능할 경우, 적어도 하나의 개선 레이어 없이 이전에 수신된 청크의 적어도 하나의 개선 레이어를 전송하는 것을 서버에 요청하는 단계를 포함한다.
본 발명의 한 실시예에 따라, 본 방법은 청크를 수신하는 단계, 및 상기 청크를 렌더링 디바이스에 전송하는 단계를 포함한다.
본 발명의 한 실시예에 따라, 본 방법은 청크들을 메모리에 저장하는 단계를 포함한다.
본 발명의 또 다른 목적은, 컴퓨터 프로그램이 컴퓨터에서 실행될 때, 본 발명에 따른 방법의 단계들을 실행하기 위한 프로그램 코드 명령어들을 포함하는 컴퓨터 프로그램 제품이다. "컴퓨터 프로그램 제품"으로써, 컴퓨터 메모리와 같은, 프로그램을 포함하는 저장 공간 뿐만 아니라 전기적 또는 광학 신호와 같은 신호로 구성될 수 있는 컴퓨터 프로그램 지원이라고 의미되어진다.
개시된 실시예들의 범주와 상통하는 특정 양상들은 아래에 상술된다. 이러한 양상들은 독자에게 본 발명이 취할 수 있는 특정 형태들의 간략한 개요를 단지 제공하기 위해 제시되며, 이러한 양상들은 본 발명의 범주를 제한하도록 의도되지 않는다는 것이 이해되어야 한다. 실제로, 본 발명은 아래에 기재되지 않은 다양한 양상들을 포함할 수 있다.
본 발명은 첨부된 도면들을 참조하여 제한적이지 않은 방법으로, 다음의 실시예 및 실행 예시들을 통해 보다 더 잘 이해될 것이다.
본 발명은 청크들의 품질을 기회적으로 향상시키는 방법들을 제공함으로써, 종래의 기술들에 있어서 낮은 품질의 청크들과 관련된 적어도 일부의 관심들을 개선하도록 시도한다.
이를 위해, 본 발명은 컨텐츠 지속 시간에 해당하는 청크들로 분해되는 컨텐츠를 수신하기 위한, 클라이언트 디바이스에서의 적응 스트리밍 방법으로서, 청크들은 서버에서 적어도 제1 및 제2의 포맷들로 인코딩되고, 제1의 포맷은 제2의 포맷보다 더 양호한 컨텐츠 렌더링 품질 레벨에 해당하며, 청크는 청크 수신 지속 시간 동안 수신된다.
도 1은 시간에 따른 청크들의 전달을 도시하는 도면.
도 2는 실시예들에 따른 시스템의 블록도.
도 3은 실시예들에 따른 클라이언트 디바이스의 블록도.
도 4는 제1의 실시예에 따른 청크 전달을 도시하는 도면.
도 5는 제2의 실시예에 따른 청크 전달을 도시하는 도면.
도 3에서 표현된 블록들은 순전히 기능적인 실재물들인데, 이들은 물리적으로 분리된 실재물들에 반드시 해당하는 것은 아니다. 즉, 이들은 하드웨어나 소프트웨어의 형태로 개발될 수 있거나, 또는 하나 이상의 통합된 회로들로 구현될 수 있다.
본 발명의 도면들 및 설명들이 명확함을 목적으로 전형적인 디지털 다중 매체 컨텐츠 전달 방법들 및 시스템들에서 발견되는 많은 다른 요소들을 제거하는 동시에, 본 발명의 명확한 이해를 위해 연관된 요소들을 도시하기 위해 단순화되었다는 것은 이해될 것이다. 하지만, 이러한 요소들은 종래의 기술에서 잘 알려지기 때문에, 이러한 요소들에 대한 상세화된 논의는 본 명세서에서 제공되지 않는다. 본 명세서에서의 개시 사항은 당업자들에 알려진 모든 이러한 변형들 및 수정들에 관한 것이다.
두 실시예들은 이하에서 설명된다. 제1의 실시예에서, 컨텐츠는 몇몇의 비트 전송률로 인코딩되지만, 제2의 실시예에서, 컨텐츠는 스케일링 가능한 비디오 코딩을 사용하여 인코딩된다. 본 실시예들에 따른 본 시스템은 도 2에서 도시된다. 이것은 인터넷을 통하여 연결된 클라이언트(1) 및 서버(3)를 포함한다. 비디오 파일 분해기(Video File Splitter, 5)는 압축된 비디오 및 오디오를 청크들로 생성한다. 클라이언트는 또한 플레이어(4)에 연결된다. 서버 측에서, 청크들은 TCP/IP 연결을 통한 HTTP 프로토콜을 사용하여, 클라이언트 요청 시에 스트리밍된다. 클라이언트는 네트워크 대역폭 추정 및 주목할 만한 여분의 대역폭을 기반으로 하여 이하에서 설명된 방법에 따라 청크들을 요청한다.
본 실시예들에 따른 클라이언트는 도 3에서 도시된다. 클라이언트는 네트워크에 대한 제1의 인터페이스(14) 및 통신 수단(13)을 포함하는데, 여기서 통신 수단(13)은 네트워크 상에 위치된 서버에 통신하기 위한 프로토콜 스택(protocol stacks)을 포함한다. 특히, 네트워크는 인터넷이고, 통신 수단은 종래의 기술에서 잘 알려진 TCP/IP이다. 물론, 이것은 클라이언트가 서버에 통신하는 것을 가능하게 하는 임의의 다른 유형의 네트워크 및/또는 통신 수단일 수도 있다.
클라이언트는 또한 컨텐츠를 디코딩하고 렌더링하도록 적응되는 비디오 플레이어에 연결하기 위한 제2의 인터페이스(16)를 포함한다. 물론, 제2의 인터페이스는 한 개보다 많은 플레이어를 연결하는 것을 가능하게 할 수 있다. 제2의 인터페이스는 한 개 이상의 플레이어들을 연결하는 것을 가능하게 하는 네트워크에 대한 인터페이스일 수 있다. 클라이언트는 또한 클라이언트에 저장된 어플리케이션들을 프로세싱하기 위한 프로세서(11)를 포함한다. 이것은 서버로부터 수신된 청크들이 SVC 플레이어에 전송되기 전에, 이들을 버퍼링하기 위한 버퍼(12)를 포함한다. 클라이언트는 또한 서버로부터 수신된 청크들이 전송되는 메모리(17)를 포함한다. 이것은 바람직하게 비휘발성 메모리이다.
또한, 클라이언트는 클라이언트에서 실행하는 어플리케이션들을 저장하기 위한 나타내지 않은 비휘발성 메모리를 포함한다. 청크 선택기(15)는 이하에서 설명되는 청크 선택을 수행하도록 적응된 어플리케이션이다. 클라이언트는 게이트웨이 디바이스에서 구현될 수 있다. 대안적으로, 클라이언트는 탑재된 SVC 플레이어를 포함한다. 이 때, 이것은 셋톱 박스와 같은 디바이스일 수 있다.
대안적으로, 메모리는 클라이언트 디바이스에 연결된 저장 디바이스에 대안으로 위치될 수 있다. 따라서, 이하에 설명된 방법은, 저장 디바이스가 클라이언트에 연결된 경우에만, 트리거된다. 이것은 연결된 저장 디바이스의 검출 시에 자동으로 트리거될 수 있다. 이것은 또한 최종 사용자로부터의 요청 시에 트리거될 수 있다.
청크를 수신하기 위한 클라이언트에서의 방법은 다음과 같이 요약된다:
- 청크 선택기는 본 명세서의 이하에 설명된 방법에 따라 청크를 선택한다.
- 통신 수단은 선택된 청크를 수신하기 위해 서버에 요청을 전송한다.
- 통신 수단은 청크를 수신한다.
- 청크는 버퍼링된다.
- 청크는 비디오 플레이어에 전송된다.
본 실시예들에 따라, 청크들은 또한 메모리(17)에 전송된다. 이러한 저장된 청크들의 품질을 개선하기 위해, 클라이언트는 본 명세서의 이하에 나타낸 바와 같이 보다 높은 품질의 청크들을 요청하기 위해 나머지의 이용 가능한 대역폭을 사용한다. 이 때, 보다 높은 품질의 청크들은 메모리(17)에 저장된다.
제1의 실시예에 따른 방법은 도 4에 도시된다. 청크 지속 시간은 청크에 첨부된 비디오 지속 시간에 해당한다. 클라이언트는 매 청크 지속 시간 주기에서의 특정의 비트 전송률에 해당하는 청크를 요청한다. 클라이언트는 청크들(ch1 내지 ch14)을 수신한다. 이하에서, 청크 지속 시간은 2초로 설정된다. 보수적인 접근법에서, 클라이언트는 원활한 업그레이드 변이를 보장하는 특정 시간 후에만 더 높은 비트 전송률의 청크를 요청한다. 클라이언트가 보수적인 접근법에 따라 다음의 청크를 위해 이용 가능한 대역폭을 추정할 때, 이것은 업그레이딩될 청크의 시간 부분의 동일한 주기 내에서 요청할 충분한 대역폭을 남기는 비트 전송률에 해당하는 청크를 요청한다.
도 4는 도 1에서 도시되는 바와 같은, 보다 낮은 비트 전송률로부터 보다 높은 비트 전송률에 이르는 청크 비트 전송률의 4가지 레벨을 도시한다. 간단하게, 동일 비트 전송률에 해당하는 청크들은 동일 사이즈를 갖는데, 즉 주어진 비트 전송률의 모든 청크들은 동일한 에이커 수(acreage)로 표현된다. 도 4에 도시되는 바와 같이, 클라이언트는 보다 많은 정보를 동시에 다운로딩할 기회를 제공하는 비트 전송률에 관련된 청크 번호(3)를 요청했다. 클라이언트는 이용 가능한 대역폭을 사용하여, 색인을 1로 설정한 블록으로 도시되는 낮은 비트 전송률의 청크로서 초기에 수신된 청크(1)의 제1 중간 비트 전송률 버전의 단편(fragment)을 요청한다. 청크(4)를 요청할 때, 이와 동일한 것이 발생한다. 이 때, 클라이언트는 청크(1)의 제1 중간 비트 전송률 버전의 마지막 단편을 획득한다. 게다가, 청크들(6 내지 9)은 또한 이들 각각의 제1의 완전한 중간 비트 전송률 버전들에 의해 점진적으로 대체된다. 물론, 청크는, 해당하는 업그레이딩된 청크가 완전히 수신되었을 때만, 대체된다.
대안적으로, 클라이언트의 호스트에서 국부적으로 캐싱된 비디오의 전체적인 품질을 업그레이딩하기 위한 다른 방법들이 사용된다. 도 4에서 도시되는 예시는 평균 품질 개선을 제공하는 방법에 해당하는데, 여기서 가장 낮은 비트 전송률의 청크들을 먼저 업그레이드하기 위해 우선권이 주어진다. 또 다른 방법은, 예를 들어 높은 움직임 시퀀스를 포함하는 청크들과 같은 특정 청크들의 업그레이드에 먼저 우선 순위를 매길 수 있는데, 여기서 낮은 움직임 시퀀스는 품질 및 사용자 경험에 있어서의 너무 많은 악영향없이 낮은 비트 전송률로 전달될 수 있으며, 이에 반해 높은 움직임 시퀀스는 일정한 품질을 위해 보다 높은 비트 전송률을 요구한다.
제1의 실시예의 시스템에서, 비디오 파일 분해기는 상이한 포맷으로 H.264/MPEG-4 AVC 표준에 따라 인코딩되고, MP4 파일 포맷 컨테이너 내부에 저장된 청크들을 준비한다; 각 포맷은 300, 600, 1000, 또는 2000 kbps 사이에 있는 비트 전송률에 해당한다. 비디오 파일 분해기는 지원된 비트 전송률 당 하나의 MPEG 운송 스트림 청크 시리즈를 생성하기 위해 청크들을 멀티플레싱(multiplex)한다. 이러한 모든 청크들은 HTTP 서버에 저장된다. 지원된 비트 전송률, 청크들의 번호, 및 각각에 대한 이것의 사이즈의 목록을 포함하는 메니페스트 파일(manifest file)이 클라이언트에 전송된다.
이에 따라, 클라이언트는 청크 전달을 요청하는 것을 시작할 수 있다. 클라이언트는 매 2초마다 하나의 요청을 전송하는데, 이것은 비디오 청크의 지속 시간에 해당한다. 실제적으로, 클라이언트는 대역폭을 추정하고, 보존적인 항목(conservative provision)을 제외한 추정된 대역폭에 해당하는 청크를 요청한다. 따라서, HTTP 서버로부터 수신된 응답은 청크 비트 전송률과 직접 연관된 특정 시간 후에 도착한다. 응답이 일단 수신되면, 클라이언트는 다음의 청크를 요청하기 전에 남겨진 나머지의 시간, Timeleft를 계산한다. 그 후, 이것은 업그레이딩하기를 원하는 이전 청크들에 관련된, 요청할 수 있는 바이트의 수, BytesMaxNum를 획득한다.
Timeleft = 2s - 청크 왕복 시간
BytesMaxNum = 추정된 대역폭(바이트/초 단위) * Timeleft(초 단위)
그 후, 클라이언트는 업그레이딩될 청크(들)로부터의 특정 바이트 범위를 다운로딩하기 위해 다른 HTTP 요청(들)을 전송한다. HTTP 요청 포맷은 파일의 특정 바이트 범위에 대한 요구(demand)를 지원한다. 하지만, 이것은 모든 HTTP 요청/응답 처리 과정(transaction)이 차례로 나열될 것을 요구한다. HTTP 처리 과정이 추정보다 더 길 경우, 이것은 플레이어에 대한 공급을 차단하는 위험으로 다음 청크 요청을 지연시킬 수 있다.
대안적으로, 클라이언트는 제2의 TCP 연결을 설정한다. 청크들을 업그레이딩하는 프로세스와 관련된 HTTP 요청은 제2의 TCP 연결을 통해 전송된다. 클라이언트는 본 명세서의 상기에 설명된 바와 같이 동일한 프로세스를 따른다. 클라이언트는 대역폭을 추정하고 주요 TCP 연결을 통하여 보존적인 항목을 제외한 추정된 대역폭에 해당하는 청크를 요청한다. 공급된 추정(provisioned estimate)에 따라, 클라이언트는 업그레이딩하기를 원하는 이전 청크(들)에 관련된, 이것이 요청할 수 있는 바이트의 수를 계산한다:
BytesMaxNum = (추정된 대역폭 - 청크 비트 전송률) * 2s
클라이언트는 제2의 TCP 연결을 통해, 주요 연결에 병렬로 결합될 수 있는데, 아마도 몇몇의 요청들은 업그레이딩될 청크들의 단편에 해당하는 바이트들을 요구할 수 있다.
클라이언트는 주요 연결과 독립적으로 제2의 TCP 연결을 폐쇄(shutdown)할 수 있다. 이것은, 대역폭 감소를 경험하고 원활한 재생 경험을 유지하기 위해 주요 연결에 우선권을 제공하기를 원하는 경우에, 일어날 수 있다.
본 발명의 제2의 실시예에서, 청크들은 H.264/MPEG-4 AVC Annex G로 표준화된 스케일링 가능한 비디오 코딩(SVC) 압축 기술에 따라 인코딩된다. SVC는 3개의 입상도(granularity) 파라미터들을 정의하는데, 시간의 확장성, 공간의 확장성, 및 신호 대비 잡음 비율(SNR) 확장성을 정의한다. 타깃의 차이 또는 대역폭 오버헤드와 같은 기준에 따라, 스트림의 인코딩은 모든 기존 유형의 확장 가능성에서의 인코딩을 반드시 요구하지는 않는다. 이것은 확장 가능성의 각 유형들을 위한 레이어의 수를 조건으로 한다. HTTP 스트리밍에 대하여, SVC 컨텐츠는 파일들에 저장된다. SVC 파일들은 MPEG-2 운송 스트림들 또는 MP4 파일들로 포맷된다. 이러한 포맷들은 그중에서도 특히, 렌더링을 위한 시간 정보를 관리하는 것을 허용한다.
MPEG2 운송 스트림은 임의의 추가적인 데이터 없이 TV 채널을 브로드캐스팅하기 위해 보통 생성된다. SVC 비디오를 통한 TV 채널의 브로드캐스트는 표준 "정보 기술 - 동화상 및 오디오의 일반적인 코딩: 시스템들 : ITU-T Rec. H.222.0
Figure 112012078412627-pct00001
ISO/IEC 13818-1를 통해 스케일링 가능한 비디오의 운송; 개정안 3; 03/2009"에 명시된다. 이것은 각각의 개선 레이어 "I"를 위한 ES(Elementary Stream)로 정기적인 TV 채널 C(하나의 ES AVC 및 하나의 ES 오디오)에 대한 프로그램 맵 테이블(PMT)을 정의한다.
MP4 파일 포맷 컨테이너는 "정보 기술 - 오디오, 화상, 다중 매체, 및 하이퍼매체 정보의 코딩 - 파트 14 : MP4 파일 포맷" 상의 ISO/IEC FDIS 14496-14:2003(E)에 명시된다. 이것은 "정보 기술 - 오디오-비주얼 객체들의 코딩 - 파트 15 : 고급의 비디오 코딩(AVC) 파일 포맷, 개정안 2 : 스케일링 가능한 비디오 코딩을 위한 파일 포맷 지원" 상의 ISO/IEC 14496-15:2004/FDAM 2:2008(E)에 명시된 바와 같이 SVC 컨텐츠에 적응된다. 예시들에 의해 도시되는 SVC 파일 포맷 설명은 문서, "스케일링 가능한 비디오 코딩을 위한 파일 포맷 : P.AMon; T.Rathgen; D.Singer; 2007년 9월, 비디오 기술을 위한 회로 및 시스템들에 대한 IEEE 처리 과정, vol.17"에서 발견될 수 있다.
제2의 실시예에서, SVC 인코딩된 비디오는 청크들로 분해된다. 청크는 하나의 SVC 샘플만을 포함하지 않으며, 이것은 단일의 연속적인 스트림의 한 부분, 즉 연속적인 화상들의 집합(collection)이다. 따라서, 청크는 이하에서 "청크 오프셋"으로 언급되는 시작 시간과, 이하에서 "청크 지속 시간"으로 언급되는 지속 시간을 갖는다. 또한, 청크는 화상들의 그룹(GOP) 또는 GOP들의 정수(integer number)로 정렬된다. 전형적으로, 청크 사이즈는 1초에서 10초까지의 지속 시간의 범위에 이른다. 이것은 각 청크가 키 프레임(key frame)으로 시작하는 것을 의미한다. 청크의 컨텐츠는 또한 일종의 확장 가능성의 한 레이어에만 해당한다. 모든 청크 파일들은 동일 포맷을 갖는다. 각 청크는 유일한 균일 자원 식별자(URI)를 갖는다.
어떠한 저장 포맷(MPEG2-TS 또는 MP4 파일)이든지, SVC 컨텐츠는 청크 당 하나의 파일 단위로 분해되거나 또는 그대로 저장될 수 있다. 제1의 경우에, 클라이언트는 URI를 요청하지만, 제2의 경우는 타임 코드와 지속 시간 또는 바이트 오프셋(파일의 시작으로부터의 오프셋)과 바이트 범위를 요청한다. 이용 가능한 청크들은 생성된 플레이리스트에 열거되며, 스트리밍 서버에 의해 제공된다. 이 플레이리스트는 포맷의 유형당 하나와 같이 다른 플레이리스트들을 지시할 수 있다. 플레이리스트들은 코덱 또는 요구되는 대역폭과 같은 청크 컨텐츠, 및 이들을 요청하는 방법을 설명한다. 플레이리스트 포맷은 다양한 SVC 레이어들을 설명하기 위한 코덱 정보로 확장된 "HTTP 라이브 스트리밍 draft-pantos-http-live-streaming-02"에 설명된 것일 수 있다.
제2의 실시예의 시스템은 제1의 실시예의 시스템과 유사하지만, 컨텐츠는 상이한 품질 레벨로 인코딩되는 것 대신에, 여기에서 SVC 레이어들로 인코딩된다. 특히, 비디오 파일 분해기는 4개의 보충 레이어들을 사용하여 청크들을 준비하는데, 하나는 기본 레이어이고, 3개는 개선 레이어들이다. 제1의 실시예에서, 보다 높은 품질의 청크들은 메모리에 전송된다. 제2의 실시예에서, 모든 청크들은 메모리에 전송된다.
제2의 실시예에 따른 방법은 도 5에서 도시된다. 클라이언트는 색인에 의해 식별되지 않고, 기본 레이어 및 개선 레이어들로 표현되는 청크들(ch1 내지 ch14)을 수신한다. 복구된 청크들은 색인으로 표현된다. 여기에서, 클라이언트는 보다 많은 정보를 동시에 다운로딩할 기회를 제공하는 비트 전송률과 관련된 청크(3)를 요청했다. 클라이언트는 기본 레이어 청크로서 초기에 수신된 청크(1)의 제1의 개선 레이어 단편을 요청하기 위해 이용 가능한 대역폭을 사용한다. 청크(4)를 요청할 때, 동일한 것이 발생한다; 청크(1)와 청크(2)의 제2의 개선 레이어들이 요청된다. 청크(5)를 통하여, 클라이언트는 청크(1)의 제3의 개선 레이어를 요청한다. 동일한 것은 청크(6)를 통하여 발생하는데, 청크(6)에서 청크(2)의 제3의 개선이 요청된다. 청크(6)의 시간에, 클라이언트는 개선 레이어(1과 2)로 "업그레이딩된" 전체의 시퀀스, 및 개선 레이어(3)를 통해 더 개선된 일부 청크들을 획득했다. 나중에, 청크들(3, 5, 6, 7, 및 8)은 역시 업그레이딩된다. 간단하게, 기본 레이어, 개선 레이어들, 및 청크들은 동일한 각자의 사이즈로 표현된다.
제2의 실시예는 SVC 레이어들의 특정 배열을 도시하는데, 여기서 개선 레이어(1)는 기본 레이어에 의존하고, 개선 레이어(2)는 개선 레이어(1)에 의존하는 등의 SVC 레이어들의 특정 배열을 도시한다. 대안적으로 또 다른 SVC 설계는 모든 개선 레이어들이 기본 레이어에 의존하는 경우에 사용될 수 있다. 이것은 물론 보다 덜 유연하지만, 보다 적은 오버헤드를 생성한다.
본 개시 사항에 개시되는 참조 사항들, 청구항, 및 도면들은 독립적으로 제공되거나 또는 임의의 적절한 결합으로 제공될 수 있다. 특징들은, 적절한 곳에서, 하드웨어, 소프트웨어, 또는 이 둘의 결합으로 구현될 수 있다.
본 명세서에서 "하나의 실시예" 또는 "한 실시예"들에 대한 언급은, 본 실시예와 연관되어 설명된 특정한 특징, 구조, 또는 특성이 본 발명의 적어도 하나의 구현에 포함될 수 있다는 것을 의미한다. 본 명세서 내의 다양한 위치들에 있는 "한 실시예에서"라는 관용구의 등장은 반드시 동일한 실시예를 모두 언급하는 것은 아니며, 이것들은 다른 실시예들을 반드시 상호 배제하는 별도의 또는 대안의 실시예들도 아니다.
청구항들에서 등장하는 참조 번호들은 오로지 예시의 목적이며, 청구항들의 범주에 대하여 어떤 제한적인 영향도 끼치지 않을 것이다.
1 : 클라이언트 2 : 인터넷
3 : 서버 4 : 플레이어
5 : 비디오 파일 분해기 11 : 프로세서
12 : 버퍼 13 : 통신 수단
14 : 제1의 인터페이스 15 : 청크 선택기
16 : 제2의 인터페이스 17 : 메모리
18 : 버스

Claims (10)

  1. 비디오 컨텐츠 지속 시간에 해당하는 청크들로 분해된 비디오 컨텐츠를 수신하기 위한, 클라이언트 디바이스에서의 스트리밍 방법으로서,
    상기 청크들은 스케일링 가능한 비디오 코딩(scalable video coding), SVC 기술에 따라 기본 레이어 및 적어도 하나의 개선 레이어로 인코딩되며, 청크는 청크 수신 주기라고 불리는 시간 주기 동안 수신되는, 상기 방법은,
    서버로부터 제 1 청크의 수신 시에, 상기 제 1 청크로 인코딩된 비디오 컨텐츠를 렌더링하고, 상기 제 1 청크를 메모리에 저장하는 단계;
    다음의 청크 수신 주기 동안 클라이언트 디바이스와 서버 사이의 이용 가능한 대역폭을 측정하는 단계;
    제 2 청크가 상기 다음의 청크 수신 주기 동안 이용 가능한 대역폭에 따라 수신될 수 있도록, 적어도 하나의 SVC 레이어로 인코딩된 상기 제 2 청크를 전송할 것을 서버에 요청하는 단계; 및
    상기 저장된 제 1 청크가 상기 적어도 하나의 개선 레이어 없이 수신된 경우, 그리고 추가의 대역폭이 다음의 청크 수신 주기에서 이용 가능한 경우, 제 2 청크의 하나의 개선 레이어의 단편이 상기 다음의 청크 수신 주기 동안 수신될 수 있도록, 이용 가능한 추가의 대역폭에 따라, 상기 단편을 전송할 것을 서버에 요청하고, 상기 개선 레이어를 상기 메모리에 저장하는 단계;
    를 포함하는, 클라이언트 디바이스에서의 스트리밍 방법.
  2. 제1항에 있어서,
    상기 제 2 청크가 높은 움직임 시퀀스(high motion sequence)에 해당하는 비디오 컨텐츠를 포함하는 경우에 수행되는, 하나의 개선 레이어의 단편을 전송할 것을 서버에 요청하는 단계를 더 포함하는,
    클라이언트 디바이스에서의 스트리밍 방법.
  3. 비디오 컨텐츠 지속 시간에 해당하는 청크들로 분해된 비디오 컨텐츠를 수신하기 위한, 클라이언트 디바이스로서,
    상기 청크들은 스케일링 가능한 비디오 코딩(scalable video coding), SVC 기술에 따라 기본 레이어 및 적어도 하나의 개선 레이어로 인코딩되며, 청크는 청크 수신 주기라고 불리는 시간 주기 동안 수신되는, 상기 클라이언트 디바이스는,
    서버와 통신하는 통신 인터페이스, 메모리 및 프로세서를 포함하고, 상기 프로세서는,
    서버로부터 제 1 청크의 수신 시에, 상기 제 1 청크로 인코딩된 비디오 컨텐츠를 렌더링하고, 상기 제 1 청크를 메모리에 저장하고,
    다음의 청크 수신 주기 동안 클라이언트와 서버 사이의 이용 가능한 대역폭을 측정하고;
    제 2 청크가 상기 다음의 청크 수신 주기 동안 이용 가능한 대역폭에 따라 수신될 수 있도록, 적어도 하나의 SVC 레이어로 인코딩된 상기 제 2 청크를 전송할 것을 서버에 요청하고; 및
    상기 저장된 제 1 청크가 상기 적어도 하나의 개선 레이어 없이 수신된 경우, 그리고 추가의 대역폭이 다음의 청크 수신 주기에서 이용 가능한 경우, 제 2 청크의 하나의 개선 레이어의 단편이 상기 다음의 청크 수신 주기 동안 수신될 수 있도록, 이용 가능한 추가의 대역폭에 따라, 상기 단편을 전송할 것을 서버에 요청하고, 상기 개선 레이어를 상기 메모리에 저장하는;
    클라이언트 디바이스.
  4. 제3항에 있어서,
    통신 인터페이스, 메모리 및 프로세서는, 상기 제 2 청크가 높은 움직임 시퀀스에 해당하는 비디오 컨텐츠를 포함하는 경우에 수행되는, 하나의 개선 레이어의 단편을 전송할 것을 서버에 요청하도록 더 구성되는,
    클라이언트 디바이스.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
KR1020127025294A 2010-04-01 2011-03-31 청크로 스트리밍된 컨텐츠를 복구하기 위한 방법 KR101701182B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10305336A EP2375680A1 (en) 2010-04-01 2010-04-01 A method for recovering content streamed into chunk
EP10305336.9 2010-04-01
PCT/EP2011/055030 WO2011121083A1 (en) 2010-04-01 2011-03-31 A method for recovering content streamed into chunk

Publications (2)

Publication Number Publication Date
KR20130044218A KR20130044218A (ko) 2013-05-02
KR101701182B1 true KR101701182B1 (ko) 2017-02-01

Family

ID=42338158

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127025294A KR101701182B1 (ko) 2010-04-01 2011-03-31 청크로 스트리밍된 컨텐츠를 복구하기 위한 방법

Country Status (6)

Country Link
US (1) US9258333B2 (ko)
EP (2) EP2375680A1 (ko)
JP (1) JP6016778B2 (ko)
KR (1) KR101701182B1 (ko)
CN (1) CN102823223B (ko)
WO (1) WO2011121083A1 (ko)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
EP1999883A4 (en) 2006-03-14 2013-03-06 Divx Llc FEDERATED DIGITAL RIGHTS MANAGEMENT SYSTEM COMPRISING CONFIDENCE SYSTEMS
CN103561278B (zh) 2007-01-05 2017-04-12 索尼克知识产权股份有限公司 包含连续播放的视频分配系统
CN101861583B (zh) 2007-11-16 2014-06-04 索尼克Ip股份有限公司 用于多媒体文件的分级及简化索引结构
CA2782825C (en) 2009-12-04 2016-04-26 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
US8904027B2 (en) 2010-06-30 2014-12-02 Cable Television Laboratories, Inc. Adaptive bit rate for data transmission
US20120079000A1 (en) * 2010-09-27 2012-03-29 Motorola-Mobility, Inc. Selectively receiving media content
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US20120278495A1 (en) * 2011-04-26 2012-11-01 Research In Motion Limited Representation grouping for http streaming
US8812662B2 (en) 2011-06-29 2014-08-19 Sonic Ip, Inc. Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content
WO2013033458A2 (en) 2011-08-30 2013-03-07 Divx, Llc Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8787570B2 (en) 2011-08-31 2014-07-22 Sonic Ip, Inc. Systems and methods for automatically genenrating top level index files
US8799647B2 (en) 2011-08-31 2014-08-05 Sonic Ip, Inc. Systems and methods for application identification
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
CN104094561B (zh) * 2011-12-01 2017-12-12 汤姆逊许可公司 通过根据可用带宽选择传输协议来获得内容的设备
US20130179199A1 (en) 2012-01-06 2013-07-11 Rovi Corp. Systems and methods for granting access to digital content using electronic tickets and ticket tokens
WO2013173721A1 (en) 2012-05-18 2013-11-21 Home Box Office, Inc. Audio-visual content delivery
US9936267B2 (en) 2012-08-31 2018-04-03 Divx Cf Holdings Llc System and method for decreasing an initial buffering period of an adaptive streaming system
KR101903996B1 (ko) * 2012-09-03 2018-12-03 삼성전자주식회사 의료 영상 시뮬레이션 방법 및 그 방법을 이용한 장치
US9560392B2 (en) 2012-09-07 2017-01-31 Google Inc. Dynamic bit rate encoding
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
KR101758167B1 (ko) * 2013-01-15 2017-07-14 후아웨이 테크놀러지 컴퍼니 리미티드 미디어 콘텐츠의 적응 스트리밍을 위한 품질 정보의 사용
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
HUE043713T2 (hu) 2013-03-29 2019-09-30 Intel Ip Corp Minõségtudatos sebességillesztési technikák DASH streameléshez
US10284612B2 (en) 2013-04-19 2019-05-07 Futurewei Technologies, Inc. Media quality information signaling in dynamic adaptive video streaming over hypertext transfer protocol
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9380099B2 (en) 2013-05-31 2016-06-28 Sonic Ip, Inc. Synchronizing multiple over the top streaming clients
US9100687B2 (en) 2013-05-31 2015-08-04 Sonic Ip, Inc. Playback synchronization across playback devices
EP2811711A1 (en) * 2013-06-05 2014-12-10 Alcatel Lucent Nodes and methods for use in HAS content distribution systems
EP2816782A1 (en) * 2013-06-18 2014-12-24 Alcatel Lucent Node and methods for use in TCP friendly HAS content distribution systems
JP6444398B2 (ja) 2013-07-03 2018-12-26 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ セグメント化コンテンツのストリーミング
WO2015007795A1 (en) * 2013-07-16 2015-01-22 Bitmovin Gmbh Apparatus and method for cloud assisted adaptive streaming
US8850055B1 (en) * 2013-09-17 2014-09-30 Google Inc. Intelligently streaming portions of media at higher quality over a limited bandwidth connection
US9386067B2 (en) 2013-12-30 2016-07-05 Sonic Ip, Inc. Systems and methods for playing adaptive bitrate streaming content by multicast
EP2897337B1 (en) * 2014-01-21 2022-01-05 Alcatel Lucent Improved playback control device and method for streaming media content
US9542953B2 (en) * 2014-01-22 2017-01-10 Comcast Cable Communications, Llc Intelligent data delivery
US9538120B2 (en) * 2014-01-29 2017-01-03 Google Inc. Method for improving offline content playback
JP6698553B2 (ja) 2014-02-13 2020-05-27 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ 1つの要求メッセージに基づいたネットワーク・ノードへの多数のチャンクの要求
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US10523723B2 (en) 2014-06-06 2019-12-31 Koninklijke Kpn N.V. Method, system and various components of such a system for selecting a chunk identifier
BR112016027656B1 (pt) 2014-06-30 2023-11-14 DISH Technologies L.L.C. Método executável por dispositivo cliente para processar programa de mídia recebido e dispositivo reprodutor de mídia
US20160014439A1 (en) * 2014-07-14 2016-01-14 Cisco Technology Inc. Indexing of Video Assets
US9787751B2 (en) 2014-08-06 2017-10-10 At&T Intellectual Property I, L.P. Method and apparatus for delivering media content utilizing segment and packaging information
CA2952847A1 (en) 2014-08-07 2016-02-11 Sonic Ip, Inc. Systems and methods for protecting elementary bitstreams incorporating independently encoded tiles
US9722903B2 (en) * 2014-09-11 2017-08-01 At&T Intellectual Property I, L.P. Adaptive bit rate media streaming based on network conditions received via a network monitor
JP6944371B2 (ja) 2015-01-06 2021-10-06 ディビックス, エルエルシー コンテンツを符号化し、デバイス間でコンテンツを共有するためのシステムおよび方法
US9826016B2 (en) * 2015-02-24 2017-11-21 Koninklijke Kpn N.V. Fair adaptive streaming
CN107251008B (zh) 2015-02-27 2020-11-13 帝威视有限公司 在实况视频编码和流传输中进行帧复制和帧扩展的系统和方法
US10271112B2 (en) * 2015-03-26 2019-04-23 Carnegie Mellon University System and method for dynamic adaptive video streaming using model predictive control
JP5973616B1 (ja) * 2015-04-15 2016-08-23 西日本電信電話株式会社 受信端末及びその映像取得方法
US10025796B2 (en) * 2015-04-29 2018-07-17 Box, Inc. Operation mapping in a virtual file system for cloud-based shared content
US20170006303A1 (en) * 2015-06-30 2017-01-05 Intel Corporation Method and system of adaptive reference frame caching for video coding
CN105208463B (zh) * 2015-08-31 2017-12-15 暴风集团股份有限公司 针对m3u8文件进行帧确定的方法和系统
US10419770B2 (en) 2015-09-09 2019-09-17 Vantrix Corporation Method and system for panoramic multimedia streaming
US11108670B2 (en) 2015-09-09 2021-08-31 Vantrix Corporation Streaming network adapted to content selection
US10694249B2 (en) 2015-09-09 2020-06-23 Vantrix Corporation Method and system for selective content processing based on a panoramic camera and a virtual-reality headset
US10506006B2 (en) 2015-09-09 2019-12-10 Vantrix Corporation Method and system for flow-rate regulation in a content-controlled streaming network
US11287653B2 (en) 2015-09-09 2022-03-29 Vantrix Corporation Method and system for selective content processing based on a panoramic camera and a virtual-reality headset
US10327164B2 (en) 2015-10-29 2019-06-18 Cable Television Laboratories, Inc. Multichannel communication systems
WO2017075692A1 (en) * 2015-11-02 2017-05-11 Vantrix Corporation Method and system for flow-rate regulation in a content-controlled streaming network
US10523939B2 (en) * 2015-12-31 2019-12-31 Facebook, Inc. Dynamic codec adaption
GB2547934B (en) 2016-03-03 2021-07-07 V Nova Int Ltd Adaptive video quality
US10075292B2 (en) 2016-03-30 2018-09-11 Divx, Llc Systems and methods for quick start-up of playback
US10129574B2 (en) 2016-05-24 2018-11-13 Divx, Llc Systems and methods for providing variable speeds in a trick-play mode
US10231001B2 (en) 2016-05-24 2019-03-12 Divx, Llc Systems and methods for providing audio content during trick-play playback
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
EP3410728A1 (en) * 2017-05-30 2018-12-05 Vestel Elektronik Sanayi ve Ticaret A.S. Methods and apparatus for streaming data
US10652166B2 (en) * 2017-06-27 2020-05-12 Cisco Technology, Inc. Non-real time adaptive bitrate recording scheduler
US11470131B2 (en) 2017-07-07 2022-10-11 Box, Inc. User device processing of information from a network-accessible collaboration system
US11190455B2 (en) * 2018-02-28 2021-11-30 Telefonaktiebolaget Lm Ericsson (Publ) Decoding of a media stream at a packet receiver
US10674166B2 (en) * 2018-08-22 2020-06-02 Purdue Research Foundation Method and system for scalable video streaming
US10735744B2 (en) 2018-10-22 2020-08-04 At&T Intellectual Property I, L.P. Adaptive bitrate streaming techniques
EP3942437B1 (en) 2019-03-21 2024-01-10 DivX, LLC Systems and methods for multimedia swarms
WO2021063488A1 (en) * 2019-10-01 2021-04-08 Streamonkey Gmbh Server-side adaptive media streaming
WO2021074269A1 (en) * 2019-10-15 2021-04-22 Interdigital Ce Patent Holdings, Sas Method and apparatuses for sending and receiving a video
ES2940452T3 (es) * 2020-04-27 2023-05-08 Broadpeak Procedimiento y servidor para la distribución de contenido de audio y/o vídeo
US11356725B2 (en) * 2020-10-16 2022-06-07 Rovi Guides, Inc. Systems and methods for dynamically adjusting quality levels for transmitting content based on context
US11374998B1 (en) 2021-09-01 2022-06-28 At&T Intellectual Property I, L.P. Adaptive bitrate streaming stall mitigation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981045B1 (en) 1999-10-01 2005-12-27 Vidiator Enterprises Inc. System for redirecting requests for data to servers having sufficient processing power to transcast streams of data in a desired format
US20060242275A1 (en) 2001-11-09 2006-10-26 Jody Shapiro System, method, and computer program product for remotely determining the configuration of a multi-media content user
WO2009063467A2 (en) 2007-11-14 2009-05-22 Ubstream Ltd. System and method for adaptive rate shifting of video/audio streaming

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998037699A1 (en) 1997-02-25 1998-08-27 Intervu, Inc. System and method for sending and receiving a video as a slide show over a computer network
US6496980B1 (en) 1998-12-07 2002-12-17 Intel Corporation Method of providing replay on demand for streaming digital multimedia
US20030079222A1 (en) * 2000-10-06 2003-04-24 Boykin Patrick Oscar System and method for distributing perceptually encrypted encoded files of music and movies
CA2331474A1 (en) * 2001-01-19 2002-07-19 Stergios V. Anastasiadis Stride-based disk space allocation scheme
WO2003042783A2 (en) 2001-11-09 2003-05-22 Musicmatch, Inc. File splitting scalade coding and asynchronous transmission in streamed data transfer
US7483487B2 (en) * 2002-04-11 2009-01-27 Microsoft Corporation Streaming methods and systems
EP1602213A1 (en) * 2003-02-26 2005-12-07 Koninklijke Philips Electronics N.V. System for broadcasting multimedia content
US8868772B2 (en) 2004-04-30 2014-10-21 Echostar Technologies L.L.C. Apparatus, system, and method for adaptive-rate shifting of streaming content
JP2007036666A (ja) 2005-07-27 2007-02-08 Onkyo Corp コンテンツ配信システム、クライアント及びクライアントプログラム
WO2007130695A2 (en) * 2006-05-05 2007-11-15 Globstream, Inc. Method and apparatus for streaming media to a plurality of adaptive client devices
US20080195748A1 (en) * 2007-02-09 2008-08-14 Melodeo Inc. Data delivery
FR2916600B1 (fr) 2007-05-24 2013-11-22 Canon Kk Procede et dispositif de transmission de donnees
BRPI0721603A2 (pt) * 2007-06-28 2013-04-02 Thomson Licensing escalonamento de bloco adaptÁvel baseado em fila para transmissço ao vivo nço hierÁrquica
TWI369672B (en) * 2007-09-07 2012-08-01 Sunplus Technology Co Ltd Data recording method of recording an audio and video interleaved file
US7925774B2 (en) * 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US8290915B2 (en) * 2008-09-15 2012-10-16 International Business Machines Corporation Retrieval and recovery of data chunks from alternate data stores in a deduplicating system
US8621044B2 (en) * 2009-03-16 2013-12-31 Microsoft Corporation Smooth, stateless client media streaming

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981045B1 (en) 1999-10-01 2005-12-27 Vidiator Enterprises Inc. System for redirecting requests for data to servers having sufficient processing power to transcast streams of data in a desired format
US20060242275A1 (en) 2001-11-09 2006-10-26 Jody Shapiro System, method, and computer program product for remotely determining the configuration of a multi-media content user
WO2009063467A2 (en) 2007-11-14 2009-05-22 Ubstream Ltd. System and method for adaptive rate shifting of video/audio streaming

Also Published As

Publication number Publication date
EP2553896A1 (en) 2013-02-06
WO2011121083A1 (en) 2011-10-06
US9258333B2 (en) 2016-02-09
CN102823223A (zh) 2012-12-12
JP6016778B2 (ja) 2016-10-26
JP2013524603A (ja) 2013-06-17
EP2553896B1 (en) 2018-11-28
CN102823223B (zh) 2015-08-12
KR20130044218A (ko) 2013-05-02
US20130013803A1 (en) 2013-01-10
EP2375680A1 (en) 2011-10-12

Similar Documents

Publication Publication Date Title
KR101701182B1 (ko) 청크로 스트리밍된 컨텐츠를 복구하기 위한 방법
EP2360923A1 (en) Method for selectively requesting adaptive streaming content and a device implementing the method
CA2844648C (en) Method and apparatus for adaptive transcoding of multimedia stream
US10547659B2 (en) Signaling and processing content with variable bitrates for adaptive streaming
US8751677B2 (en) System and method to support different ingest and delivery schemes for a content delivery network
US9351020B2 (en) On the fly transcoding of video on demand content for adaptive streaming
Begen et al. Watching video over the web: Part 1: Streaming protocols
Sanchez et al. Efficient HTTP-based streaming using scalable video coding
US8929441B2 (en) Method and system for live streaming video with dynamic rate adaptation
EP2481199B1 (en) Enhanced block-request streaming using cooperative parallel http and forward error correction
EP2481195B1 (en) Enhanced block-request streaming using url templates and construction rules
US9042449B2 (en) Systems and methods for dynamic transcoding of indexed media file formats
US11722711B2 (en) System and method for data stream fragmentation
EP2759111B1 (en) Statistical multiplexing of streaming media

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200114

Year of fee payment: 4