KR20170118759A - 라이브 비디오 인코딩 및 스트리밍에서의 프레임 복제 및 프레임 확장을 위한 시스템 및 방법 - Google Patents
라이브 비디오 인코딩 및 스트리밍에서의 프레임 복제 및 프레임 확장을 위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR20170118759A KR20170118759A KR1020177023590A KR20177023590A KR20170118759A KR 20170118759 A KR20170118759 A KR 20170118759A KR 1020177023590 A KR1020177023590 A KR 1020177023590A KR 20177023590 A KR20177023590 A KR 20177023590A KR 20170118759 A KR20170118759 A KR 20170118759A
- Authority
- KR
- South Korea
- Prior art keywords
- live
- encoding
- input stream
- frame
- segment
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000010076 replication Effects 0.000 title description 8
- 230000003044 adaptive effect Effects 0.000 claims description 41
- 238000012545 processing Methods 0.000 claims description 5
- 230000003362 replicative effect Effects 0.000 claims description 3
- 230000006978 adaptation Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 230000003111 delayed effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 230000001934 delay Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013499 data model Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 208000003028 Stuttering Diseases 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 238000010924 continuous production Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/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/234381—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 altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/765—Media network packet handling intermediate
-
- 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
-
- H04L65/601—
-
- H04L65/607—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/752—Media network packet handling adapting media to network capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- 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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/2405—Monitoring of the internal components or processes of the server, e.g. server load
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명의 실시예는 현재 인코딩된 프레임을 재-인코딩하는 대신에 상기 현재 인코딩된 프레임을 복제하고, 그 다음, 상기 복제된 프레임을 여러 상이한 적응형 비트레이트 스트림들에 대해 필요에 따라 상이한 비트레이트, 해상도 및/또는 컨텍스트로 조정한다. 또한, 본 발명의 다양한 실시예들은 리패키징 및/또는 재-인코딩되는 현재 프레임의 지속시간을 확장할 수 있다. 이들 및 다른 기술들을 활용하여, 본 발명의 실시예들에 따른 라이브 인코딩 시스템은 수신된 데이터의 갭들과, 느린 데이터의 공급 및/또는 서버 하드웨어 상의 과부하를 보다 효율적으로 처리할 수 있다.
Description
본 발명은 일반적으로 라이브 입력 스트림(live input stream)으로부터 적응형 비트레이트 스트림의 라이브 인코딩 분야에 관한 것이다. 특히, 본 발명은 라이브 입력 스트림으로부터 적응형 비트레이트 스트림의 라이브 인코딩을 최적화하고 개선하기 위한 여러 기술에 관한 것이다.
스트리밍 기술은 탑 스트리밍(top streaming)에 대한 라이브(live)를 지원하는 지점으로 나아갔다. 이제 라이브 이벤트들은 라이브 인코딩 서버에 의해 생성된 적응형 비트레이트 스트림에 의해 볼 수 있게 됐다. 종종 라이브 인코딩 서버는 MPEG-DASH 포맷(즉, HTTP를 통한 동적 적응형 스트리밍)을 사용한다. MPEG-DASH(ISO/IEC 23009-1)는 인터넷을 통해 멀티미디어 컨텐트를 스트리밍하는 표준이다. MPEG-DASH는 MPEG(Moving Picture Expert Group)에 의해 개발되었다. MPEG는 MPEG-2, MPEG-4, MPEG-7, MPEG-21 등을 포함하는 이전의 멀티미디어 표준들을 개발하는 역할을 맡아왔다. MPEG-DASH는 적응형 비트레이트 스트리밍 기술이며 기존의 HTTP 웹 서버에서 제공되는 인터넷을 통해 미디어 컨텐트를 고품질로 스트리밍할 수 있다. 일반적으로, MPEG-DASH는 HTTP(Hypertext Transfer Protocol)를 통해 검색되는 비디오 세그먼트를 각각 포함하는 작은 파일들의 시퀀스를 사용하며, 각 세그먼트는 짧은 간격의 프레젠테이션 재생 시간을 포함한다. 프레젠테이션은 라이브 이벤트가될 수 있거나 및/또는 지정된 지속시간을 가질 수 있다. 적응형 비트레이트 스트림은 300kb/s, 500kb/s, 및 3MB/s와 같은 다양한 상이한 비트레이트로 이용될 수 있다. 소스 스트림들을 복수의 적응형 비트레이트 스트림들로 라이브 인코딩 및/또는 트랜스코딩하는 것은 상당한 컴퓨팅 자원을 필요로 하며, 라이브 인코딩 하드웨어는 상당히 비싸다.
본 발명은 라이브 비디오 인코딩 및 스트리밍에서의 프레임 복제 및 프레임 확장과 관련하여 최적화되고 개선된 시스템 및 방법을 제공하기 위한 것이다.
이제 도면을 참조하여 본 발명의 실시예에 따른 라이브 인코딩 시스템이 설명된다. 여러 실시예들에서, 라이브 인코딩 시스템은, 이에 한정되는 것은 아니지만, 스포츠 이벤트, 라이브 뉴스 커버리지, 웹 라이브 스트림, 및/또는 단일의 또는 다중화된 미디어 스트림들과 같은 라이브 미디어 피드(live media feed)를 수신한다. 미디어 스트림들은 멀티미디어를 포함하며 이는 공급자에 의해 제공되는 동안 클라이언트에 의해 지속적으로 수신되어 클라이언트에게 제공된다. 스트리밍이란 스트림들을 통해 미디어를 전달하는 프로세스를 말한다. 라이브 인코딩 시스템은 라이브 입력 스트림으로부터 인코딩된 미디어 스트림을 클라이언트에 제공할 수 있다. 더욱이, 라이브 인코딩 시스템은 수신된 라이브 미디어 피드들을 상이한 최대 비트레이트를 갖는 여러의 상이한 적응형 비트레이트 스트림들로 인코딩할 수 있다. 라이브 인코딩 시스템은 또한 HTTP 요구사항을 포함하는 프로토콜들(이에 한정되는 것은 아니다)을 통해 라이브 미디어 프레젠테이션으로 인코딩된 적응형 비트레이트 스트림을 스트리밍 클라이언트로 송신할 수 있고 및/또는 인코딩된 적응형 비트레이트 스트림을 클라이언트 디바이스에 배포하기 위해 서버들에 제공할 수 있다. 라이브 미디어 프레젠테이션의 인코딩 및 전송은 이러한 동작들을 수행하는데 사용되는 하드웨어에 부담이 될 수 있다. 본 발명의 실시예들은 라이브 인코딩 및 송신 동작들을 수행하는 하드웨어 상의 부하를 감소시키는 여러 기술을 제공한다. 실례로, 본 발명의 많은 실시예들에 따른 라이브 인코딩 시스템들은 여러 수단들에 의해 네트워크 및/또는 서버 로드 레벨들을 평가할 수 있다. 로드는 라이브 인코딩 시스템이 수행하는 작업량(예를 들면: 계산, 인코딩 동작, 메모리 동작 등)으로 종종 측정된다. 평가들에 기초하여 라이브 인코딩 시스템은 라이브 미디어 피드들로부터의 비디오 프레임이 인코딩되는 방식을 조정할 수 있다. 실례로, 라이브 인코딩 시스템의 일부 실시예들은 현재 인코딩된 프레임을 재-인코딩하는 대신에 상기 현재 인코딩된 프레임을 복제하고, 그 다음, 상기 복제된 프레임을 여러 상이한 적응형 비트레이트 스트림들에 대해 필요에 따라 상이한 비트레이트, 해상도 및/또는 컨텍스트로 조정한다. 또한, 라이브 인코딩 시스템의 다양한 실시예들은 리패키징(repackaged) 및/또는 재-인코딩되는 현재 프레임의 지속시간을 확장할 수 있다. 이들 및 다른 기술들을 활용하여, 본 발명의 실시예들에 따른 라이브 인코딩 시스템은 수신된 데이터의 갭(gap)들과, 느린 데이터의 공급 및/또는 서버 하드웨어 상의 과부하를 보다 효율적으로 처리할 수 있다.
네트워크 전송 레벨들은 라이브 인코딩 프로세스에 영향을 미칠 수 있다. 예를 들면, 라이브 미디어 피드가 라이브 입력 스트림에서 라이브 인코딩 시스템으로의 네트워크 전송 레벨에서 방해를 받게 될 때, 라이브 인코딩 시스템에 인입하는 데이터에서 갭이 있을 수 있다. 인입하는 데이터에서의 갭들로 인해 출력 데이터에 갭들이 생길 수 있고, 및/또는 라이브 인코딩 시스템이 요청시 출력 프레임들을 제공하지 못하게 될 수 있다. 본 발명의 일부 실시예들에 따른 라이브 인코딩 시스템들은 갭들이 언제 발생했는지를 판정하도록 입력 미디어 피드들을 평가할 수 있다. 이러한 평가들은 인입하는 프레임레이트, 인입하는 비트레이트, 도착된 프레임들 사이의 시간, 및/또는 네트워크 대역폭 측정들(이에 한정되지 않는다)을 포함하는 여러 가지 수단들에 기초하여 이루어질 수 있다. 본 발명의 많은 실시예들에 따른 라이브 인코딩 시스템들은 인입하는 미디어 스트림을 여러 개의 적응형 비트레이트 스트림들로 리패키징(repackaging)하는 동안 프레임들을 복제하고 및/또는 프레임들을 확장함으로써 데이터에서 검출된 갭들을 보상할 수 있다. 프레임들을 복제하고 및/또는 프레임들을 확장함으로써 라이브 인코딩 시스템들은 클라이언트가 의존하는 요청된 시간에 프레임의 가용성을 위태롭게 하지 않으면서 네트워크 조건을 안정화할 기회를 갖게 할 수 있다. 특히, 라이브 인코딩 시스템은 라이브 스트리밍된 미디어의 라이브 에지보다 뒤처질 수 있다. 클라이언트는 일반적으로 프레젠테이션의 라이브 에지에서 라이브 스트림으로부터 프레임들을 요청한다. 본 명세서에서, "라이브 에지"라는 용어는 클라이언트가 아직 사용할 수 없는 세그먼트들을 요청할 위험성을 갖지 않고 요청할 수 있는 라이브 스트림의 가장 최근에 인코딩된 세그먼트를 나타낸다. 아직 사용 가능하지 않은 세그먼트를 요청하면 (제한적이지는 않지만) 지연, HTTP 미발견 에러들과 같은 수많은 스트리밍 에러들이 발생하고, 대역폭-클로깅 반복된 요청들(bandwidth-clogging repeated requests)을 일으킬 수 있다.
서버 로드 레벨은 물론 라이브 인코딩 프로세스에도 영향을 미칠 수 있다. 라이브 인코딩 시스템이 라이브 인코딩 서버로 구현되는 경우 서버 하드웨어는 인코딩 프로세스에 의해 억압될 수 있다. 라이브 인코딩 서버가 라이브 에지보다 뒤처져있는 경우 클라이언트가 라이브 에지에서 이루어지는 요청들을 의존할 때 여러 적응형 비트레이트 스트림이 실패할 수 있다. 특히 라이브 스트리밍 클라이언트는 라이브 인코딩 시스템이 실시간보다 느리지 않은 세그먼트들을 발생시킨다는 가정하에 비디오 세그먼트들을 요청할 수 있다. 본 발명의 많은 실시예들에 따른 라이브 인코딩 시스템은 현재 프레임들을 확장하고 출력 프레임들의 타임 스탬프를 조정함으로써 서버 부하를 보상할 수 있다. 확장된 프레임들은 가시적 에러들을 인식하기에 약하거나 및/또는 어려울 수 있지만, 상기 요청을 보존하고 클라이언트가 라이브 스트리밍에 대해 의존하는 HTTP 사이클을 수신한다. 더욱이, 본 발명의 실시예들에 따른 라이브 인코딩 시스템은 또한 복제된 현재 프레임들에 의해 서버 부하를 보상할 수 있고, 출력 스트림들의 필요에 따라 그 프레임 컨텍스트를 조정할 수 있다.
도 1은 본 발명의 일 실시예에 따른 라이브 인코딩 시스템을 도시하는 네트워크 다이어그램이다.
도 2는 본 발명의 일 실시예에 따른 라이브 인코딩 시스템에 의해 수행되는 하이 레벨 프로세스를 도시하는 흐름도이다.
도 3은 본 발명의 실시예에 따라 누락된 입력 프레임을 보상하기 위해 프레임을 확장하는 라이브 인코딩 시스템의 예를 개념적으로 도시한다.
도 4는 본 발명의 실시예에 따라 누락된 입력 프레임들을 보상하기 위해 프레임들을 확장하는 라이브 인코딩 시스템의 대안적인 예를 개념적으로 도시한다.
도 5는 본 발명의 일 실시예에 따라 지연된 입력 프레임들을 보상하기 위해 프레임들을 확장하는 라이브 인코딩 시스템의 예를 개념적으로 도시한다.
도 6은 본 발명의 일 실시예에 따라 지연된 입력 프레임들을 보상하기 위해 프레임들을 확장하는 라이브 인코딩 시스템의 대안적인 예를 개념적으로 도시한다.
도 7은 본 발명의 실시예에 따라 시스템 부하를 보상하기 위해 프레임들을 복제하는 라이브 인코딩 시스템의 일례를 개념적으로 도시한다.
도 8은 본 발명의 일 실시예에 따른 라이브 인코딩 시스템 및 스트리밍에 대한 데이터 흐름도이다.
도 9는 본 발명의 실시예에 의해 이용될 수 있는 MPEG-DASH에 대한 미디어 프레젠테이션 디스크립션(MPD) 데이터 모델의 예이다.
도 10은 본 발명의 일 실시예에 따른 라이브 인코딩 서버의 구조를 개념적으로 도시한다.
도 2는 본 발명의 일 실시예에 따른 라이브 인코딩 시스템에 의해 수행되는 하이 레벨 프로세스를 도시하는 흐름도이다.
도 3은 본 발명의 실시예에 따라 누락된 입력 프레임을 보상하기 위해 프레임을 확장하는 라이브 인코딩 시스템의 예를 개념적으로 도시한다.
도 4는 본 발명의 실시예에 따라 누락된 입력 프레임들을 보상하기 위해 프레임들을 확장하는 라이브 인코딩 시스템의 대안적인 예를 개념적으로 도시한다.
도 5는 본 발명의 일 실시예에 따라 지연된 입력 프레임들을 보상하기 위해 프레임들을 확장하는 라이브 인코딩 시스템의 예를 개념적으로 도시한다.
도 6은 본 발명의 일 실시예에 따라 지연된 입력 프레임들을 보상하기 위해 프레임들을 확장하는 라이브 인코딩 시스템의 대안적인 예를 개념적으로 도시한다.
도 7은 본 발명의 실시예에 따라 시스템 부하를 보상하기 위해 프레임들을 복제하는 라이브 인코딩 시스템의 일례를 개념적으로 도시한다.
도 8은 본 발명의 일 실시예에 따른 라이브 인코딩 시스템 및 스트리밍에 대한 데이터 흐름도이다.
도 9는 본 발명의 실시예에 의해 이용될 수 있는 MPEG-DASH에 대한 미디어 프레젠테이션 디스크립션(MPD) 데이터 모델의 예이다.
도 10은 본 발명의 일 실시예에 따른 라이브 인코딩 서버의 구조를 개념적으로 도시한다.
본 발명의 많은 실시예들에 따른 라이브 인코딩 시스템의 동작들 및 기능들의 간략한 개요를 기술하고, 본 발명의 실시예들에 따른 라이브 인코딩 시스템에 대한 시스템들, 서버들, 및 방법들에 대해 더욱 상세히 기술한다.
라이브 인코딩 시스템들에 대한 네트워크 아키텍처
본 발명의 실시예에 따른 라이브 인코딩 시스템에 대한 네트워크 아키텍처가 도 1에 도시된다. 시스템(100)은 라이브 인코딩 서버 및 지원 하드웨어(102)를 포함하고, 이는 라이브 인코딩을 지원하기 위해 필요에 따라 애플리케이션 서버들, 데이터베이스 서버들, 및/또는 데이터베이스를 포함한다. 라이브 인코딩 서버 및 지원 하드웨어(102)는 컨텐트 소스들(114)로부터 라이브 미디어 컨텐트 및/또는 비-라이브 컨텐트를 수신할 수 있다. 컨텐트 소스들(114)은 라이브 인코딩 서버 및 지원 하드웨어(102)에 미디어를 제공하기 위한 하드웨어 사용을 포함할 수 있다. 콘텐트 소스들(114)로부터 수신된 미디어는 웹 스트림, 라이브 미디어 브로드캐스트, 텔레비전 브로드캐스트, 라이브 이벤트 커버리지, 라이브 카메라로부터의 비디오 피드, 이전에 저장된 미디어, 원시 미디어 피드, 인코딩된 미디어 피드, 및/또는 로컬 및/또는 원격 저장소로부터 수신된 정적 파일들(이에 제한되지 않는다)을 포함할 수 있다.
라이브 인코딩 서버 및 지원 하드웨어(102)는 네트워크(104)를 통해 컨텐트의 스트림들을 제공하기 위해 여러 디바이스 그룹들과 통신할 수 있다. 디바이스 그룹들은 웹, 파일 및/또는 미디어 서버(106), 컴퓨팅 디바이스(108), 및/또는 모바일 디바이스(112)(이에 제한되지 않는다)를 포함한다. 이들 디바이스 그룹들로부터 디바이스 사용자들은 로컬 스트리밍 클라이언트를 이용하여 제공된 스트리밍 컨텐트를 볼 수 있다. 또한, 웹, 파일 및/또는 미디어 서버(106)는 또한 상기 제공된 스트리밍 컨텐트의 클라이언트 및/또는 추가적인 다운스트림 뷰어들에 대한 호스트로서 역할을 할 수 있다.
도 1에 도시된 바와 같이, 라이브 인코딩 서버 및 지원 하드웨어(102)는 애플리케이션 서버들, 데이터베이스 서버들, 및 데이터베이스들을 포함한다. 다양한 실시예들에서, 라이브 인코딩 서버 및 지원 하드웨어(102)는 디바이스들의 가변적인 수들과 유형들을 포함할 수 있다. 예를 들면, 라이브 인코딩 서버 및 지원 하드웨어(102)는 단일 컴퓨팅 디바이스로서 구현될 수 있으며, 여기서 상기 단일 컴퓨팅 디바이스는 충분한 저장, 네트워킹, 및/또는 컴퓨팅 능력을 갖는다. 그러나, 라이브 인코딩 서버 및 지원 하드웨어(102)는 또한 다양한 유형들과 다중 위치들의 다수의 컴퓨팅 디바이스들을 사용하여 구현될 수도 있다. 예를 들면, 라이브 인코딩 서버 및 지원 하드웨어(102)는 라이브 미디어를 인코딩하기 위한 라이브 인코딩 서버 및 라이브 인코딩 서버에 의해 인코딩된 세그먼트들에 대한 HTTP 요청에 응답하기 위한 HTTP 서버로서 구현될 수 있다. 라이브 인코딩 서버 및 지원 하드웨어(102)가 애플리케이션 서버, 데이터베이스 서버 및 데이터베이스를 포함하여 도시되었지만, 당업자는 본 발명이 도 1에 도시된 디바이스들에 한정되지 않으며 추가적인 유형의 컴퓨팅 디바이스들(예를 들면, 웹 서버들 및/또는 클라우드 저장 시스템들)을 포함할 수 있다는 것을 인식할 것이다.
도 1에 도시된 실시예에서, 네트워크(104)는 인터넷이다. 라이브 인코딩 서버 및 지원 하드웨어(102)는 네트워크(104)를 통해 그리고 무선 접속(110)을 거쳐서 모바일 디바이스들(112)로 및 그로부터 요청들을 수신하고 미디어 세그먼트들을 전송할 수 있다. 무선 접속(110)은 4G 접속, 셀룰러 네트워크, Wi-Fi 네트워크 및/또는 특정 애플리케이션의 요구에 적합한 임의의 다른 무선 데이터 통신 링크(이에 제한되지 않는다)를 포함할 수 있다. 라이브 인코딩 서버 및 지원 하드웨어(102)는 네트워크(104)를 통해 컴퓨팅 디바이스들(108) 및 웹, 파일, 및/또는 미디어 서버들(106)과 직접 통신할 수 있다. 다른 실시예들은 이더넷 또는 가상 네트워크와 같은 다른 네트워크를 사용하여 디바이스들 사이에 통신할 수 있다. 당업자는 본 발명이 도 1에 도시된 네트워크 유형들에 한정되지 않고 추가적인 유형의 네트워크들(예를 들면, 인트라넷, 가상 네트워크, 모바일 네트워크, 및/또는 특정 애플리케이션의 요구에 적합한 다른 네트워크)을 포함할 수 있다는 것을 인식할 것이다.
특정 아키텍처가 도 1에 도시되어 있지만, 전자 디바이스들 및 네트워크 통신들을 수반하는 상이한 아키텍처들이 본 발명의 실시예들에 따라 동작들을 수행하고 기능들을 제공하는 라이브 인코딩 시스템들을 구현하는 데 이용될 수 있다.
라이브 인코딩 서버들에 대한 시스템들 및 프로세스들
라이브 인코딩 시스템들에서, 클라이언트는 종종 라이브 인코딩 에지에서 프레임들을 요청하고 수신할 수 있는 것에 의존한다. 인코딩 및/또는 전송이 중단되면 필요한 프레임들에 대한 클라이언트 실패, HTTP 요청 실패, 이미지 끊김(image stuttering), 및 뷰어에 의한 통상의 불편(frustration)을 겪을 수 있다. 본 발명의 다수의 실시예들에 따른 라이브 인코딩 시스템들은 하기에 기술된 기술들을 통해 인입하는 미디어 및/또는 인코딩 시스템 부하들의 실시간 분석을 사용하여 라이브 인코딩에서의 손실 및 중단을 완화할 수 있다.
도 2는 미디어를 수신하고, 스트림을 생성하며, 생성된 스트림을 라이브 스트리밍 클라이언트들에 제공하는 본 발명의 실시예들에 따른 라이브 인코딩 시스템들에 의해 수행될 수 있는 프로세스(200)를 개념적으로 도시한다. 다수의 실시예들에서, 프로세스(200)는 도 1과 관련하여 전술한 실시예에 따른 라이브 인코딩 서버에 의해 수행된다. 특히, 프로세스(200)는, 미디어의 연속적인 라이브 인코딩 및 라이브 스트리밍 동안, MPEG-DASH 라이브 인코딩 서버에 의해 수행될 수 있다.
미디어가 수신될 수 있다(210). 전술한 바와 같이, 미디어는 다양한 상이한 유형, 형식, 표준, 및/또는 프레젠테이션을 포괄할 수 있다. 수신된 미디어는 종종 이미 인코딩된 미디어의 라이브 피드가 된다. 수신된 미디어는 이에 제한되지는 않지만 입력 스트림, 라이브 미디어 피드, 텔레비전 피드, 위성 피드, 웹 스트림, 및/또는 로컬 및/또는 원격 저장소들로부터 수신된 정적 파일을 포함할 수 있다.
스트림들은 상기 수신된 미디어로부터 생성될 수 있다(220). 상기 생성된 스트림들은 이에 제한되지는 않지만 MPEG-DASH, H.264/AVC, HTTP 라이브 스트리밍, 스무스 스트리밍(Smooth Streaming), 및/또는 임의의 다른 적응형 비트레이트 포맷과 같은 많은 가능한 모맷들이 될 수 있다. 상기 생성된 스트림들은 이후 네트워크 접속을 통해 스트리밍 클라이언트들에 제공될 수 있다. 전형적으로, 생성된 스트림들은 상이한 최대 비트레이트들이 될 것이며, 가변적인 인코딩 파라미터들에 따라 인코딩될 것이다. 일부 실시예들에서, 스트림들은 라이브 인코딩 서버의 리패키징 애플리케이션을 이용하여 생성된다. 리패키징 애플리케이션은 수신된 미디어를 출력 스트림들로 다시 패키징한다. 그에 따라, 리패키징 애플리케이션은 상기 스트림들을 생성하기 위해 필요한 만큼 생성하는데 필요한 다양한 인코더들 및 디코더들을 활용하는 것을 이용할 수 있다.
스트림들의 생성은 라이브 미디어가 수신될 때 수행되는 연속적인 프로세스가 될 수 있다. 라이브 미디어의 수신에 응답하여 스트림들을 연속적으로 생성하는 동안, 라이브 인코딩 시스템의 로드 레벨들, 통신 네트워크의 로드 레벨들, 미디어 수신 시의 갭들, 및/또는 스트림 생성 시의 갭들이 평가될 수 있다(230). 또한, 상이한 실시예들은 라이브 인코딩 서버 동작들의 다른 측면들을 평가할 수 있다. 상기 평가들을 수행하는 데는 여러 하위 작업들이 포함될 수 있다. 예를 들면, 라이브 인코딩 시스템은 인입하는 데이터 레이트들 및/또는 수신된 미디어의 프레임 레이트들을 체크할 수 있다. 인입하는 데이터 레이트들 및/또는 수신된 미디어의 프레임 레이트들은 라이브 인코딩 시스템의 내부 로직에 따라 결정된 프레임 시간과 비교될 수 있다. 상기 내부 로직은 이에 제한되지는 않지만 수신된 미디어의 타임 스탬프들, 라이브 인코딩 시스템상의 클록 실행들, 및/또는 수신된 미디어의 선언된 프레임 레이트들과 같은 신뢰할 수 있는 시간을 결정하는 여러 소스들을 포함할 수 있다. 일부 실시예들에서, 라이브 인코딩 시스템은 전체의 인입하는 데이터 레이트를 산출하기 위해 인입하는 프레임들 사이에 시간의 차이를 측정할 수 있다. 이어서, 라이브 인코딩 시스템들은 상기 산출된 전체의 인입하는 데이터 레이트를 모니터링하여 라이브 인코딩 시스템의 프로세싱 능력을 억압할 수 있는 인입하는 데이터의 갭들 또는 잠재적인 서지(surge)들을 식별할 수 있다. 이러한 평가들 중 하나 이상은, 라이브 인코딩 시스템이 적절한 시간에 프레임을 수신하지 못했고 및/또는 라이브 인코딩 시스템들의 라이브 에지 요구사항을 충족하는 시간에 프레임을 인코딩하지 못할 것이라는 것을 나타낼 수 있다.
라이브 에지에 대해 제시간에 프레임들을 생성하지 못하는 위험을 완화하기 위해, 수신된 미디어의 프레임들은 선택적으로 복제 및/또는 복사될 수 있다(240). 일부 실시예들에서, 복제된 프레임들은 다양한 생성된 스트림들과 연관된 새로운 프레임 컨텍스트들을 고려하도록 수정될 수 있다. 상이한 프레임 컨텍스트들은 이에 제한되지 않지만 상이한 해상도, 상이한 프레임 유형(I-프레임, B-프레임, 및/또는 P-프레임 등), 상이한 최대 비트레이트를 포함할 수 있다. 수신된 미디어로부터 스트림들을 생성하는 것은 종종 인코딩된 프레임들을 포함하는 상기 수신된 미디어를 상이한 포맷으로 재-인코딩하는 것을 수반한다. 수신된 미디어를 재-인코딩하는 것은 인코딩 시스템들에 의해 수행된 더욱 자원 집중적인 동작들 중에서 있게 될 수 있다. 다음에 상기 복제된 프레임들은 상대적으로 값비싼 재-인코딩 동작 없이 상기 생성된 스트림들에서 이용될 수 있다. 복제된 프레임들은 또한 상기 수신된 미디어로부터의 인코딩된 프레임에 부가하여 상기 수신된 미디어의 원시 프레임들로부터 복제될 수 있다.
하지만, 라이브 인코딩 프로세스의 일부로서 프레임들을 재-인코딩하는 대신에 인코딩된 프레임을 복제하는 것은 출력 스트림들이 H.264/AVC에서 가상의 기준 디코더(HRD)의 특정 요구사항을 위반하게 할 수 있다. 정의에 따르면 HRD는 그 입력이 호환 스트림(compliant stream)일 때 오버플로하거나 언더플로우하지 않아야한다. 큰 인코딩된 프레임을 복제하고 상기 복제된 스트림을 낮은 최대 비트레이트 스트림으로 이용하는 것은 HRD 요구사항을 충족시키지 못할 수 있는 버퍼 오버플로우를 야기할 위험이 있다. 그러나, 소프트웨어 디코더 클라이언트는 그들의 더욱 유연한 버퍼로 인해 문제없이 이러한 것을 보상할 수 있다. 소프트웨어 디코더 클라이언트는 상기 복제된 프레임들을 처리하기 위해 추가의 CPU 사이클들을 요구할 수 있을 것이다. 하드웨어 디코더 클라이언트들은, 복제된 프레임들이 더 낮은 최대 비트레이트 스트림에서 사용될 때, 가능한 버퍼 오버플로우들로 인해 에러들을 맞닥뜨리게 된다. 본 발명의 일부 실시예들은, 하드웨어 디코더에서 버퍼 오버플로우의 위험을 완화하기 위해 더 낮은 최대 비트레이트 출력 스트림들에 대한 복제된 프레임들의 비트 값들을 감소시키는 것을 제공한다. 또 다른 실시예에서, 복제된 프레임들은 그 자신의 특정 최대 비트레이트 출력 스트림들에 대해서만 사용되고, 그에 의해 높은 비트 값 프레임들이 낮은 최대 비트레이트 스트림들로 사용되는 것을 방지한다. 이러한 것은 각 출력 스트림에 대해 별도의 인코딩 프로세스를 포함함으로써 달성될 수 있다.
또한, 일부 실시예들에서, 입력 스트림 및 출력 스트림이 동일한 포맷들, 최대 비트레이트들, 및/또는 해상도들을 공유하는 경우 입력 스트림들로부터 프레임들이 복제 및/또는 복사될 수 있다. 이러한 것은 원하는 출력 스트림이 입력 스트림과 동일한 경우에 일어날 수 있다. 이러한 상황이 일어나는 경우, 재-인코딩은 스킵될 수 있고, 여러 실시예들은 입력 스트림들로부터 순시 디코딩 리프레시(IDR) 프레임들을 단순하게 복제할 수 있다. 전술한 바와 같이, 결과적인 출력 스트림은 상기 여러 실시예들에서 비-HRD 호환(non-HRD compliant)이 될 수 있다.
라이브 에지에 대해 제시간에 프레임들을 생성하지 못하는 위험을 완화시키는 또 다른 기술에서, 수신된 미디어의 프레임들이 선택적으로 확장될 수 있다(250). 프레임들을 확장하는 것은 주어진 프레임의 지정된 타임 스탬프와는 다른 시간에 주어진 프레임을 출력 스트림에 패키징하는 것을 포함할 수 있다. 이전의 평가들에 따라 다양한 프레임 확장들이 일어날 수 있다. 미디어의 피딩 및/또는 수신 시에 갭이 검출되는 경우, 출력 스트림들의 생성 시 현재 프레임이 확장될 수 있다. 라이브 인코딩 서버의 일부로서 리패키징 애플리케이션을 이용하는 실시예에서, 리패키징 애플리케이션은 프레임들을 출력 스트림들로 리패키징하는 동안 확장을 수행할 수 있다. 비디오의 시각적 아티팩트 및/또는 지각된 스톨(stall)들을 줄이기 위하여, 리패키징 애플리케이션은 여러 단계들에서 갭을 보상하기 위해 여러 개의 더 작은 프레임 확장들을 다수의 프레임들에 걸쳐 분산시킬 수 있다. 상기 더 작은 확장들은 스트리밍 클라이언트 뷰어들에게 상기 확장들을 숨기는 역할을 할 수 있다.
상기 생성된 출력 스트림들은 스트리밍 클라이언트들에 제공될 수 있다(260). 상기 생성된 출력 스트림들은 상이한 최대 비트레이트가 될 수 있지만, 각각 단일의 미디어 프레젠테이션을 나타낸다. 따라서, 주어진 미디어 프레젠테이션은 상이한 최대 비트레이트들을 갖는 여러 스트림들에서 스트리밍 클라이언트들에 제공될 수 있다. 생성된 출력 스트림들의 제공은 생성된 출력 스트림들로부터의 세그먼트들에 대한 HTTP 요청들을 통해 달성될 수 있다.
프로세스(200)에 제시된 동작들이 선형 순서로 제공되는 동안, 다양한 실시예들이 가변적인 순서들로 상기 동작들을 수행할 수 있다. 실례로, 라이브 미디어가 수신되면 클라이언트에 대한 스트림들의 생성 및 제공이 계속해서 수행될 수 있다. 따라서, 프로세스(200)에 제시된 동작들의 순서는 단지 설명적인 것이며 수신된 미디어의 프레임들로부터의 스트림들의 실시간 생성을 위한 순환 프로세스의 일부로서 연속적으로 수행될 수 있다. 일부 실시예들의 라이브 인코딩 시스템들에 의해 수행되는 프로세스들의 개요를 기술하고, 다음의 설명은 상기 프로세스들의 일부로서 수행될 수 있는 프레임 확장 및 프레임 복제의 여러 예들을 제공할 것이다.
프레임 확장 및 프레임 복제의 예
전술한 바와 같이, 본 발명의 실시예들에 따른 라이브 인코딩 시스템들은 평가된 네트워크 및/또는 서버 조건들에 응답하여 프레임들을 확장하고 및/또는 프레임들을 복제할 수 있다. 프레임 확장 및/또는 프레임 복제는 누락된 입력 프레임들, 지연된 입력 프레임들, 및/또는 인코딩 시스템 부하를 보상할 수 있다. 도 3, 도 4, 도 5, 도 6, 및 도 7은 본 발명의 실시예들에 따른 프레임 확장 및 프레임 복제의 여러 예들을 개념적으로 도시한다. 상기 언급한 도면들에 제시된 예들은 프레임 복제 및/또는 프레임 확장의 효과를 나타내기 위해 도시된 라이브 인코딩 프로세스의 개념이다. 본 발명의 실시예들에 따른 라이브 인코딩 시스템들은 도 3, 도 4, 도 5, 도 6, 및 도 7의 예에 도시되지 않은 추가적인 세부사항들, 구성요소들, 및/또는 기능들을 포함할 것이다. 타임 스탬프, 프레임 번호, 및/또는 프레임 지속시간에 대한 특정된 수들은 설명을 목적으로 제시된다. 본 발명의 실시예들은도 3, 도 4, 도 5, 도 6, 및 도 7에 제시된 특정 값들에 한정되지 않으며, 라이브 인코딩 동작들에 요구되는 넓은 범위의 가능한 타임 스탬프들, 프레임 번호들, 및/또는 프레임 지속시간들을 포함할 수 있다. 더욱이, 다음의 도면들에서는 단지 하나의 출력 스트림이 도시되어 있지만, 본 발명의 실시예들은 전형적으로 가변적인 인코딩 파라미터들로 가변적인 최대 비트레이트들에서 다수의 출력 스트림들을 생성한다.
도 3은 본 발명의 실시예에 따라 누락된 입력 프레임들을 보상하기 위해 프레임들을 확장하는 라이브 인코딩 시스템의 예를 개념적으로 도시한다. 도시된 바와 같이, 라이브 인코딩 시스템(300)은 입력 스트림(310)을 수신하고 출력 스트림(360)을 생성한다. 도 3에 도시된 예에서, 라이브 인코딩 시스템(300)의 라이브 인코딩 프로세스들은 입력 스트림(310)의 연속하는 수신 및 출력 스트림(360)의 생성 동안 수행된다. 입력 스트림(310)은 입력 스트림들 및/또는 전술한 미디어의 어떠한 것도 될 수 있다. 라이브 인코딩 시스템(360)은 생성된 출력 스트림(360)을 전술한 임의의 기술(HTTP 요청들을 수신하고 출력 스트림으로부터 세그먼트들을 전송하는 것과 같은 기술)을 통해 스트리밍 클라이언트(도시되지 않음)에 제공할 수 있다.
도시된 바와 같이, 입력 스트림(310)은 식별된 시간 스탬프들 및 지속시간들을 갖는 여러 프레임들을 포함한다. 상기 프레임들은 프레임 비디오와 같은 미디어 부분을 포함할 수 있다. 타임 스탬프는 약어 "TS"로 표시된다. 지속시간은 약어 "D"로 표시된다. 전술한 바와 같이, 도 3에 도시된 값들은 예시적인 것이다. 본 발명의 실시예들은 라이브 인코딩을 지원하는 데 있어 필요에 따라 다양한 시간 스탬프 및 지속시간 값들을 수신하고 처리할 수 있다. 프레임 5(320)는 5와 동일한 타임 스탬프 값 및 1과 동일한 지속시간 값을 갖는다.
라이브 인코딩 시스템(300)은 지정된 시간에 입력 스트림(310)으로부터 프레임들을 수신할 것을 기대한다. 상기 지정된 시간에 프레임들이 수신되지 않으면, 라이브 인코딩 시스템(300)은 라이브 스트리밍 클라이언트들에 의해 기대되는 라이브 에지에 대해 제시간에 출력 스트림(360)을 생성할 수 없을 수도 있다. 라이브 인코딩 시스템(300)은 (라이브 인코딩 시스템(300)에 의해 유지되는 내부 클록들을 라이브 입력 스트림(310)의 수신된 프레임들의 타임 스탬프들과 비교하는 것과 같은) 전술한 바와 같이 다양한 수단들을 사용하여 프레임들이 입력 스트림(310)으로부터 누락되는지 여부를 평가할 수 있다. 라이브 인코딩 시스템(310)은 또한 프레임들을 확장하기 전에 충족되어야하는 누락 프레임들에 대한 임계치를 포함할 수 있다. 라이브 인코딩 시스템(310)은 적어도 2 개의 프레임 갭을 보상하기 위해 확장 프레임들을 선정하기 전에 2 개의 누락 프레임들의 임계치를 포함한다. 상이한 실시예들은, 시퀀스에서 누락된 프레임을 대신하여 시간 세그먼트에 걸친 누락 프레임과 같은, 상이한 프레임 수 및/또는 상이한 임계치 측정에 기초할 수 있는 상이한 임계치들을 포함할 수 있다. 비디오의 라이브 인코딩은 본질적으로 자원 집중적인 프로세스이므로, 다양한 실시예들은 인코딩 시스템 로드, 클라이언트 끊김(client stuttering), 네트워크 대역폭 안정성, 비디오 품질, 및 비디오의 라이브 인코딩에 영향을 미칠 수 있는 다른 메트릭 및/또는 조건들과 같은, 인코딩 조건들을 평가하는 것과 관련하여 다양한 임계치들을 이용할 수 있다. 전술한 바와 같이, 프레임들의 특정 카운트 및 이들의 전달이 산출되어 본 발명의 상이한 실시예들에서의 프레임 카운트 및 시간의 상이한 임계치와 비교될 수 있다. 또한, 상이한 실시예들은 이러한 스트리밍 조건들, 프로세싱 사이클 카운트, 프레임 세트들의 인코딩을 위한 시간 벤치마크, 네트워크 전송 속도, 전달 및 디스플레이된 프레임레이트, 및 시각적 품질/충실도의 다양한 측정치를 평가하기 위한 상이한 메트릭을 사용할 수 있다. 여기에서는 특정 값이 제공되지는 않지만, 상이한 특정 값들(예를 들어, 초당 24 프레임 미만의 딥(dip), 특정한 감마값 초과 시 디스플레이 실패를 야기하는 시각적 에러, 초당 인코딩된 프레임 등)은 본 발명의 사상을 벗어나지 않는 범위 내에서 본 발명을 구현하기 위해 필요에 따라 이용될 수 있다.
입력 프레임은, 이에 제한되지는 않지만, 입력 스트림의 제공자와 라이브 인코딩 시스템 사이의 네트워크 접속에서 장애가 있을 때, 입력 스트림에 결함이 있을 때, 및/또는 라이브 인코딩 시스템의 내부 에러와 같이, 다양한 상이한 환경들 하에서 누락이 있을 수 있다. 도시된 바와 같이, 입력 스트림(310)은 프레임(330) 및 프레임(340)을 누락하고 있다. 라이브 인코딩 시스템(300)은 프레임 8(350)의 타임 스탬프를 프레임 5(320)의 타임 스탬프 및 라이브 인코딩 시스템(300)에 의해 유지되는 내부 클록과 비교함으로써 이러한 갭들을 검출할 수 있다. 일단 누락 프레임 임계치가 충족되면, 라이브 인코딩 시스템(300)은 프레임들에서의 갭을 보상하기 위해 프레임들을 확장할 수 있다. 다양한 실시예들은 전술한 임의의 것들을 포함하여 상이한 임계 방식(different thresholding scheme)들을 사용할 수 있다.
도시된 바와 같이, 라이브 인코딩 시스템(300)은 출력 스트림(360)을 생성할 때 입력 스트림(310)으로부터 프레임 5(320)를 확장시킨다. 확장된 프레임(370)은 누락 프레임들(330 및 340)을 커버하기 위해 3과 동일한 지속시간 값을 갖도록 확장된다. 확장된 프레임(370)은 라이브 스트리밍 클라이언트에 의해 요구될 때 이용될 수 있으며 중단되지 않는 라이브 스트리밍을 지원하는데 요구되는 라이브 에지를 보존한다. 하지만, 프레임 지속시간을 확장하는 것은 과도하게 사용되는 경우 시각적 아티팩트를 야기할 수 있다.
도 4는 프레임 확장의 영향을 숨기는 것을 돕는 프레임 지속시간을 확장하는 대안적인 방법을 개념적으로 도시한다. 도시된 바와 같이, 라이브 인코딩 시스템(400)은 입력 스트림(410)으로부터 출력 스트림(460)을 생성하고 있다. 입력 스트림(410)은 프레임들(430 및 440)을 누락하고 있다. 이러한 갭을 보상하기 위해, 라이브 인코딩 시스템(400)은 프레임 5(420) 및 프레임 8(450)의 지속시간을 확장할 수 있고, 또한 프레임 8(450)의 타임 스탬프 값을 조정할 수 있다. 출력 스트림(460)에 도시된 바와 같이, 확장된 프레임 5(470)는 2의 지속시간 값을 갖도록 확장되었고 확장된 프레임 8(480)은 역시 2의 지속시간 값을 갖도록 확장되었다. 하지만, 확장된 프레임 8(470)에 대한 타임 스탬프는, 확장된 프레임 8(480)이 확장된 프레임 5(470) 직후에 이용가능하게 되도록, 7로 조정되었다. 누락된 프레임들 주위에서 확장들을 분배함으로써, 라이브 인코딩 시스템(400)은 프레임 지속시간 확장들에 의한 시각적 아티팩트 원인의 일부를 숨길 수 있다.
도 5는 본 발명의 일 실시예에 따라 지연된 입력 프레임들을 보상하기 위해 프레임들을 확장하는 라이브 인코딩 시스템의 예를 개념적으로 도시한다. 도시된 바와 같이, 라이브 인코딩 시스템(500)은 입력 스트림(510)으로부터 출력 스트림(560)을 생성하고 있다. 그러나, 프레임 지연들(530 및 540)로 인해 프레임 6(550)이 늦게 도착한다. 라이브 인코딩 시스템(500)은 프레임 지연을 검출하고 프레임 지속시간 확장을 사용하여 이를 보상할 수 있다. 이전 예들과는 달리 손실된 프레임들은 없을 것이다. 라이브 인코딩 시스템(500)은 3으로 확장된 지속시간을 갖는 확장된 프레임 5 및 8로 조정된 타임 스탬프 값을 갖는 프레임 6(580)을 포함하는 출력 스트림(560)을 생성한다. 확장된 프레임(570)은 라이브 스트리밍 클라이언트에 의해 요청될 때 이용가능하게 될 것이고, 중단이 없는 라이브 스트리밍을 지원하도록 요구되는 라이브 에지를 보존한다. 상기 기술된 예들과 마찬가지로, 프레임 지속시간들을 확장하는 것은 지나치게 사용하는 경우 시각적 아티팩트를 야기할 수 있다.
도 6은 프레임 확장의 영향을 숨기는 것을 돕는 프레임 지연들을 보상하기 위해 프레임 지속시간을 확장하는 대안적인 방법을 개념적으로 도시한다. 도시된 바와 같이, 라이브 인코딩 시스템(600)은 입력 스트림(610)으로부터 출력 스트림(660)을 생성하고 있다. 상기한 바와 같이, 프레임 지연들이 630 및 640에서 일어나고 있다. 이러한 지연을 보상하기 위해 라이브 인코딩 시스템(600)은 프레임 5(620) 및 프레임 6(650)의 지속시간을 확장할 수 있고, 또한 프레임 6(650)의 타임 스탬프 값을 조정할 수 있다. 출력 스트림(660)에 도시된 바와 같이, 확장된 프레임 8(670)은 2의 지속시간 값을 갖도록 확장되었고, 확장된 프레임 8은 역시 2의 지속시간 값을 갖도록 확장되었다. 하지만, 확장된 프레임 8(670)에 대한 타임 스탬프는, 확장된 프레임 8(670)이 확장된 프레임 5(670) 직후에 이용가능하게 되도록, 7로 조정되었다. 지연된 프레임들 주위에서 확장들을 분배함으로써, 라이브 인코딩 시스템(400)은 프레임 지속시간 확장들에 의한 시각적 아티팩트 원인의 일부를 숨길 수 있다.
본 발명의 실시예들은 도 3, 도 4, 도 5, 및 도 6과 관련하여 전술한 프레임 확장 기술들에 제한되지 않는다. 다양한 실시예들은 도 3 및 도 5에 도시된 바와 같은 프레임 지속시간의 순차적인 확장들 및/또는 상이한 환경에서 4 및 도 5에 도시된 바와 같은 프레임 지속시간의 점재된 확장(interspersed extension)을 이용할 수 있다. 또한, 프레임 지속시간을 확장하는 것은 누락된 및/또는 지연된 프레임들로 인해 수행되는 데 제한되지 않는다.
라이브 인코딩 서버는 전형적으로 라이브 에지 요건을 충족시키는 라이브 스트림을 인코딩하기 위해 상당한 연산 능력을 필요로 하는 매우 강력하고 값 비싼 머신이다. 하지만, 강력한 서버라도 과부하가 걸리고 덜한 서버들은 더욱더 그럴 수 있다. 특히, 인코딩된 프레임들을 재-인코딩하는 것은 서버 자원에 대해 심각한 소모가 될 수 있다. 도 7은 본 발명의 일 실시예에 따라 서버 부하를 보상하기 위해 프레임들을 확장하는 라이브 인코딩 시스템의 예를 개념적으로 도시한다. 도시된 바와 같이, 라이브 인코딩 시스템(700)은 입력 스트림(710)을 수신하고, 출력 스트림(760)을 생성한다. 도 7에 도시된 예에서, 라이브 인코딩 시스템(700)의 라이브 인코딩 프로세스는 입력 스트림(710)의 연속하는 수신 및 출력 스트림(760)의 생성 동안 수행된다. 라이브 인코딩 시스템(700)은 부하(740) 하에 있는 것으로 도시된다. 이러한 부하를 보상하기 위해, 라이브 인코딩 시스템(700)은 인코딩된 도메인에서 인코딩된 입력 스트림으로부터 프레임들을 복제할 수 있다.
도시된 바와 같이, 라이브 인코딩 시스템(700)은 인코딩된 프레임 4(720) 및 인코딩된 프레임 5(730)를 수신한다. 라이브 인코딩 시스템(700)은 인코딩된 출력 스트림(750)을 생성하는 데 있어 이들 프레임들을 복제한다. 복제된 프레임 4(760) 및 복제된 프레임 5(770)에 대한 새로운 필드들이 새로운 프레임 컨텍스트를 설명하기 위해 조정되어야 할 수도 있다. 하지만 이러한 조정은 재-인코딩 동작들에 비하여 프로세싱 자원들을 훨씬 적게 필요로 한다. 복제된 프레임 4(760) 및 복제된 프레임 5(770)는 인코딩된 프레임 4(720) 및 인코딩된 프레임 5(730)와 동일한 지속시간 값들 및 타임 스탬프 값들을 갖는다.
본 발명의 실시예들은 도 7에 개념적으로 도시된 예에서 전술한 특정 프레임 복제 기술에 제한되지 않는다. 다양한 실시예들은 원시의(raw), 인코딩되지 않은 입력 스트림들과 같은 입력 스트림의 다양한 포맷들로 프레임 복제 및/또는 복사를 이용할 수 있다. 또한, 본 발명의 실시예들은 서버 부하의 시간 동안에만 프레임 복제 및/또는 프레임 복사를 수행하는 것으로 제한되지 않는다. 실례로, 본 발명의 일부 실시예들은 서버 부하가 임계 레벨에 도달할 때까지 대기하지 않고서 효율적인 라이브 인코딩을 유지하기 위해 연속하는 인코딩 프로세스의 일부로서 인코딩된 프레임 복제를 수행할 수 있다. 상기 일부 실시예들은 저전력의 라이브 인코딩 서버에서 활용될 수 있다.
MPEG-DASH 라이브 인코딩
MPEG-DASH(ISO/IEC 23009-1)는 인터넷을 통해 멀티미디어 컨텐트를 스트리밍하기 위한 표준이다. MPEG-DASH는 MPEG(Moving Picture Expert Group)에 의해 개발되었다. MPEG는 MPEG-2, MPEG-4, MPEG-7, MPEG-21 등을 포함하는 이전의 멀티미디어 표준들을 개발하는 역할을 맡아왔다. MPEG-DASH는 HTTP를 사용하여 적응형 세그먼트화된 미디어 전달을 제공한다. MPEG-DASH 사양은 MPD 및 세그먼트 포맷들만을 정의한다. 주의해야할 것으로, 패칭(fetching), 적응 휴리스틱(adaptation heuristics), 및 컨텐트 재생을 위한 클라이언트 동작은 물론, 세그먼트들을 포함하는 미디어-인코딩 포맷들 및 MPD가 MPEG-DASH 표준에서 정의되지 않는다.
도 8은 본 발명의 일 실시예에 따라 MPEG-DASH를 이용하는 라이브 인코딩 시스템에 대한 예시적인 데이터 흐름도를 개념적으로 도시한다. 도 8은 미디어 피드 데이터(810), 라이브 인코딩 시스템(820), HTTP 요청(830), 요청된 스트림 세그먼트(840), 스트리밍 클라이언트(850), 및 미디어 프레젠테이션 디스크립션(860)을 포함한다. 도시되지는 않았지만, 미디어 피드 데이터(810), HTTP 요청(830), 요청된 스트림 세그먼트(840), 및 미디어 프레젠테이션 디스크립션(860)은 통신 네트워크를 통해 전송될 수 있다. 통신 네트워크는 인터넷을 포함하지만 이에 제한되는 것은 아니다.
도시된 바와 같이, 라이브 인코딩 시스템(820)은 미디어 피드 데이터(810)를 수신하고 있다. 미디어 피드 데이터(810)는 적어도 위에서 언급된 수신된 미디어 유형들을 포함할 수 있다. 라이브 인코딩 시스템(820)은 수신된 미디어 피드 데이터(810)로부터 출력 스트림을 생성할 수 있다. 수신된 미디어 피드 데이터(810)로부터 출력 스트림을 생성하는 동안, 라이브 인코딩 시스템(820)은 미디어 피드 데이터(810)의 수신 레이트, 라이브 인코딩 시스템(820)의 부하 레벨, 미디어 피드 데이터(810)의 전송을 지원하는 통신 네트워크의 부하 레벨, 미디어 피드 데이터(810)의 갭, 및/또는 라이브 인코딩 시스템(820)에 의한 스트림 발생 시의 갭의 평가에 기초하여 미디어 피드 데이터(810)로부터의 프레임들을 확장할 수 있고 및/또는 미디어 피드 데이터(810)로부터의 프레임들을 복제할 수 있다.
라이브 인코딩 시스템(820)은 또한 HTTP 요청(830)을 수신한다. HTTP 요청에 응답하여 라이브 인코딩 시스템(820)은 요청된 스트림 세그먼트들(840)을 제공한다. HTTP 요청(830)은 생성된 출력 스트림들 중 하나로부터의 특정 세그먼트에 대한 바이트 범위 요청을 포함할 수 있다. 라이브 인코딩 시스템(820)은 개별적인 라이브 인코딩 서버들 및 HTTP 서버들을 포함하는 다수의 구성요소들을 포함할 수 있다. HTTP 서버는 클라이언트와의 미디어 세그먼트 및 요청에 대한 HTTP 통신을 지원할 수 있다. 더욱이, HTTP 서버는 스트리밍 클라이언트(850)로의 미디어 세그먼트의 전달을 지원하기 위해 HTTP 기반의 컨텐트 분배 네트워크(CDN)를 이용할 수 있다.
MPEG-DASH는 MPD(Media Presentation Description)를 사용하여 클라이언트에게 스트림 세그먼트에 대한 HTTP 요청을 통해 액세스될 수 있는 여러 개의 적응형 비트레이트 스트림들을 기술하는 잘 구조화된 XML 매니페스트를 제공한다. 각각의 MPD는 기술된 여러 개의 적응형 비트레이트 스트림들을 통해 보게 될 수 있는 단일 미디어 프레젠테이션에 대응한다. MPD는 액세스 가능한 미디어 세그먼트 및 상기 미디어 세그먼트에 대한 대응하는 타이밍을 기술한다. MPD는 미디어 프레젠테이션, 피리어드(period), 적응 세트(adaptation set), 표현(representation), 및 세그먼트를 포함하는(계층의 상단으로부터 내림차순) 계층적 데이터 모델이다. 미디어 프레젠테이션은 라이브 브로드캐스트, 라이브 스트림, 라이브 이벤트, 및/또는 미리 기록된 미디어 프레젠테이션에 포함할 수 있다. 미디어 프레젠테이션은 이어질 수 있고 및/또는 여러 피리어드를 포함할 수 있다. 피리어드는 링크되지 않은 디폴트에 의한 것이며, 어떠한 기능적 손실도 없이 이들 사이에 이어진 광고 피리어드를 가질 수 있다. 피리어드는 여러 개의 적응 세트들을 포함할 수 있다. 적응 세트는 라이브 스포츠 이벤트로부터의 상이한 카메라들과 같이, 동일한 프레젠테이션에 대한 상이한 시각(different perspective)을 포함할 수 있다. 또한, 상이한 적응 세트들은 오디오 적응 세트 및 비디오 적응 세트와 같은 상이한 포맷들을 포함할 수 있다. 각각의 적응 세트 내에서 여러 개의 표현들이 포함될 수 있다. 표현들은 동일한 프레젠테이션을 형성하는 상이한 대역폭 및/또는 최대 비트레이트 레벨들의 선택을 지원한다. 따라서, MPEG-DASH의 클라이언트는 대역폭 및/또는 클라이언트 부하가 허용하는 대로 상이한 표현들로 전환함으로써 적응형 비트레이트 스트리밍을 사용할 수 있다. 각 표현은 HTTP를 통해 요청될 수 있는 미디어의 세그먼트들을 포함한다. HTTP 요청은 각 세그먼트와 연관된 미리 포맷된 URL에서 수신된다.
도 9는 MPEG-DASH로부터의 예시적인 미디어 표현 기술 MPD 데이터 모델을 개념적으로 도시한다. 도시된 바와 같이, 미디어 프레젠테이션(910)은 여러 개의 피리어드(915-925)를 포함한다. 피리어드(915-925)는 각각 상이한 피리어드 개시 시간을 포함한다. 개시 시간 100 초에서 피리어드(920)는 여러 개의 포함된 적응 세트(925-930)를 보이도록 확장된다. 적응 세트 1(925)은 미디어 프레젠테이션(910)의 카메라(1)로부터의 비디오를 포함한다. 적응 세트 2(930)는 미디어 프레젠테이션(910)에 대한 오디오를 포함한다. 적응 세트 3(935)은 미디어 프레젠테이션(910)의 카메라(2)로부터의 비디오를 포함한다. 적응 세트 1(925)은 표현 1(940) 및 표현 2(945)를 보이도록 확장되었다. 표현 1(940)은 적응 세트 1(925)에 대한 500kb/s 표현이며, 표현 2(945)는 적응 세트 1(925)에 대한 250kb/s 표현이다. 표현 1(940) 내에는 초기화 세그먼트(100) 및 미디어 세그먼트들(955-965)이 있다. 이러한 세그먼트들은 이들 내에 포함된 미디어를 수신하도록 HTTP를 통해 스트리밍 클라이언트에 의해 요청된다.
유의해야할 것으로서, 도 9에 도시된 타원들의 예들은 추가적인 피리어드, 적응 세트, 프레젠테이션, 및 세그먼트의 가능성을 나타낸다. 도 9에 제시된 예시적인 MPD는 본 발명의 다양한 실시예들에 의해 지원되는 임의의 다양한 구성들로부터 단지 하나의 가능한 예가 된다는 것이다. 예를 들어, 본 발명의 다른 실시예들은 도 9에 도시된 실시예에서 설명을 목적으로 제공되는 것보다 많은 상이한 최대 비트레이트들을 지원할 수 있다.
라이브 인코딩 서버 아키텍처
본 발명의 실시예에 따라 라이브 인코딩 서버(1000)의 아키텍처가 도 10에 도시된다. 라이브 인코딩 서버(1000)는 비-휘발성 메모리(1030), 휘발성 메모리(1020), 및 네트워크(1040)와 통신하는 프로세서(1010)를 포함한다. 도시된 실시예에서, 비-휘발성 메모리는 입력 데이터 핸들링 애플리케이션(1050), 디멀티플렉서 애플리케이션(1055), 리패키저 애플리케이션(1060), MPD 조합 애플리케이션(1065), MPD 생성 애플리케이션(1070), HTTP 요청 애플리케이션(1075), 오디오 디코더 애플리케이션(1080), 오디오 인코더 애플리케이션(1085), 비디오 디코더 애플리케이션(1090), 및 비디오 인코더 애플리케이션(1095)을 포함한다. 유의해야할 것으로서, 라이브 인코딩 서버(1000)는 스트림들에 대한 MPD 파일들을 준비하고 HTTP 요청을 통해 출력 스트림의 세그먼트를 스트리밍 클라이언트에 제공하는 MPEG-DASH 포맷 라이브 인코딩 서버가 된다. 다른 실시예들은 상이한 포맷을 이용할 수 있고, 상기 상이한 포맷을 지원하는데 필요한 다른 애플리케이션을 포함할 수 있다.
입력 데이터 핸들링 애플리케이션(1050)은 네트워크 인터페이스(1040)로부터 입력 스트림을 수신한다. 상기 입력 스트림은, 이에 제한되지는 않지만, 비디오 컨텐트의 라이브 스트림, 미디어 프레젠테이션, 비디오 전용 파일, 오디오 전용 파일, 스포츠 이벤트, 웹 스트림, 및/또는 MPEG-DASH 표준 스트림을 포함할 수 있다. 입력 데이터 핸들링 애플리케이션(1050)은 입력 스트림의 식별을 포함하는 추가적인 기능을 수행할 수 있다. 식별은 입력 스트림에 포함된 메타데이터 및/또는 입력 스트림의 특성 및 파라미터의 평가를 사용하여 수행될 수 있다.
디멀티플렉서 애플리케이션(1055)은 입력 스트림으로부터 개별적인 기본 스트림을 역다중화한다. 예를 들어, 디멀티플렉서 애플리케이션(1055)은 입력 스트림 내의 오디오, 비디오 및/또는 서브타이틀 스트림을 분리(break out)할 수 있다. 역다중화된 스트림은 다른 애플리케이션에 의해 수행되는 후속 동작에서 분석, 디코딩 및 재-인코딩될 수 있다.
리패키저 애플리케이션(1060)은 전체 라이브 인코딩 서버 동작들의 일부로서 재-인코딩, 복제, 및 프레임 확장 동작들을 수행할 수 있다. 리패키저 애플리케이션(1060)은 입력 데이터 핸들링 애플리케이션(1050), 디멀티플렉서 애플리케이션(1055), 네트워크 인터페이스(1040), 및/또는 스트림을 리패키징하는데 필요한 라이브 인코딩 서버(1000)의 임의의 다른 구성요소로부터 입력 스트림을 수신할 수 있다. 리패키저 애플리케이션(1060)은 필요에 따라 비디오 디코더 애플리케이션(1090) 및 비디오 인코더 애플리케이션(1095)을 이용하여 수신된 미디어의 인입하는 라이브 프레임들을 여러 개의 출력 스트림들로 재-인코딩할 수 있다. 재-인코딩 동작 동안, 리패키저 애플리케이션(1060)은 여러 가지 수단에 의해 라이브 인코딩 서버(1000)의 네트워크 및/또는 서버 부하 레벨들을 평가할 수 있다. 이러한 평가에 기초하여, 리패키저 애플리케이션(1060)은 인입하는 프레임들을 복제하여 서버 부하 레벨을 감소시키고 및/또는 인입 네트워크 대역폭의 예상된 저하를 보상하기 위해 특정 프레임들을 확장할 수 있다. 리패키저 애플리케이션(1060)은 출력 스트림들에서의 지속시간을 증가시키기 위해 프레임들의 타임 코드 및/또는 타임 스탬프를 조정함으로써 프레임들을 확장할 수 있다. 리패키저 애플리케이션(1060)은 HTTP 요청 애플리케이션(1075)을 이용하여 클라이언트에 대한 나중의 스트리밍 준비를 위해 MPD 조합 애플리케이션(1065) 및/또는 MPD 생성 애플리케이션(1070)에 출력 스트림의 리패키징, 재-인코딩, 복제, 및/또는 확장된 프레임들을 제공할 수 있다.
MPD 조합 애플리케이션(1065)은 리패키저 애플리케이션(1060)에 의해 생성된 다수의 출력 스트림들을 단일 프레젠테이션으로 결합한다. MPD 조합 애플리케이션(1070)은 결합된 프레젠테이션을 위한 MPD 파일을 생성할 수 있다. 전술한 바와 같이, MPD 파일은 미디어 프레젠테이션의 피리어드, 적응 세트, 표현, 및 세그먼트를 기술할 수 있다. MPD 조합 애플리케이션(1070)은 생성된 출력 스트림의 특성에 따라 MPD를 생성한다. 이러한 특성은 리패키저 애플리케이션(1060)에 의해 수행되는 동작에 따라 변화될 것이다. MPD 파일은 전형적으로 MPEG-DASH 스트리밍 세션을 개시하기 위해 스트리밍 클라이언트에 초기에 요청되고 제공된다.
HTTP 요청 애플리케이션(1075)은 상기 HTTP 요청에 따라 HTTP 요청 및 서버 미디어 세그먼트를 핸들링한다. HTTP 요청 애플리케이션(1075)은 네트워크 인터페이스(1040)를 통해 스트리밍 클라이언트들과 통신할 수 있다. 일부 실시예들에서, HTTP 요청 애플리케이션(1075)은 라이브 인코딩 서버로부터 별도의 HTTP 서버에서 호스팅된다.
비-휘발성 메모리는 오디오 디코더 애플리케이션(1080), 오디오 인코더 애플리케이션(1085), 비디오 디코더 애플리케이션(1090), 및 비디오 인코더 애플리케이션(1095)을 포함한다. 비-휘발성 메모리(1030)는 단일 비디오 디코더 애플리케이션(1090) 및 단일 비디오 인코더 애플리케이션(1095)을 포함하지만, 다른 실시예들은 다중 비디오 인코더 및 비디오 디코더 애플리케이션들을 포함할 수 있다. 또한, 일부 실시예들은 각각의 상이한 출력 스트림을 생성하기 위해 별도의 리패키저, 디코더, 및 인코더 애플리케이션들을 갖기 위해 각 출력 스트림에 대한 애플리케이션들의 세트를 이용할 수 있다.
여러 실시예들에서, 네트워크 인터페이스(1040)는 프로세서(1010), 휘발성 메모리(1020), 및/또는 비-휘발성 메모리(1030)와 통신할 수 있다. 라이브 인코딩 서버(1000)의 비-휘발성 메모리(1030)에 저장된 애플리케이션들의 상기한 설명은 라이브 인코딩 서버(1000)를 지원하는 애플리케이션들의 하나의 예시적인 세트를 설명한 것이다. 본 발명의 다른 실시예들은 본 발명을 구현하는데 필요한 다수의 서버들 및/또는 위치들에 걸쳐 분배된 하기에 설명되는 기능들을 갖는 다수의 서버들을 이용할 수 있다. 또한, 이하에서 설명되는 애플리케이션들은 하나 이상의 애플리케이션들로 결합될 수 있고, 본 발명을 구현하는 데 필요한 것으로서 소프트웨어 모듈들로서 구현될 수 있다. 예를 들어, 아래에 설명된 애플리케이션들은 대안적으로 라이브 인코딩 서버(1000) 상에 존재하는 단일 애플리케이션의 모듈로서 구현될 수 있다. 또한, 단일 애플리케이션이 나타난 경우, 다른 실시예들은 유사한 기능들에 전용되는 다수의 애플리케이션들을 이용할 수 있다.
전술한 다양한 프로세스들은 단일의 분리된 서버들로 구현될 수 있다. 대안적으로, 이들 각각은 임의의 수의 물리적, 가상적 또는 클라우드 컴퓨팅 디바이스들 상에서 공유 및/또는 개별 서버들로서 구현될 수 있다. 특히, 본 발명의 일부 실시예들에 따른 라이브 인코딩 시스템은 별도의 인코딩 서버(들) 및 HTTP 서버(들)를 포함할 수 있다. 당업자는 다양한 구현 방법이 본 발명의 실시예들의 프로세스 서버를 구현하는데 사용될 수 있다는 것을 인식할 것이다.
상기 설명은 본 발명의 다수의 특정 실시예들을 포함하지만, 이들은 본 발명의 범위를 제한하는 것으로 해석되어서는 안 되며, 오히려 본 발명의 일 실시예의 예로서 해석되어야한다. 따라서, 본 발명의 범위는 설명된 실시예들이 아니라 첨부된 청구범위 및 그 등가물에 의해 결정되어야한다.
Claims (20)
- 라이브 인코딩 시스템(live encoding system)을 사용하여 입력 스트림을 복수의 적응형 비트레이트 스트림들로 인코딩하는 방법으로서:
라이브 인코딩 시스템을 사용하여 입력 스트림을 수신하는 단계;
상기 라이브 인코딩 시스템을 사용하여 인코딩 조건들을 평가하는 단계; 및
상기 라이브 인코딩 시스템을 사용하여 상기 입력 스트림의 주어진 세그먼트를 복수의 적응형 비트레이트 세그먼트들로 인코딩하는 단계를 포함하고,
상기 입력 스트림의 주어진 세그먼트를 상기 복수의 적응형 비트레이트 세그먼트들로 인코딩하는 단계는:
상기 평가된 인코딩 조건들이 제 1 임계치를 충족할 때 상기 입력 스트림의 주어진 세그먼트로부터 적어도 하나의 프레임을 확장하고 상기 복수의 적응형 비트레이트 세그먼트들 중 적어도 하나에서 상기 입력 스트림의 세그먼트로부터 상기 확장된 적어도 하나의 프레임을 사용하는 단계;
상기 평가된 인코딩 조건들이 제 2 임계치를 충족할 때 상기 입력 스트림의 주어진 세그먼트로부터 적어도 하나의 프레임을 복제하고 상기 복수의 적응형 비트레이트 세그먼트들 중 적어도 하나에서 상기 입력 스트림의 세그먼트로부터 상기 복제된 적어도 하나의 프레임을 사용하는 단계; 및
상기 평가된 인코딩 조건들이 상기 제 1 임계치 또는 상기 제 2 임계치의 어느 것도 충족하지 않을 때 상기 라이브 인코딩 시스템을 사용하여 상기 입력 스트림의 주어진 세그먼트의 프레임들을 상기 복수의 적응형 비트레이트 세그먼트들로 인코딩하는 단계를 포함하는, 입력 스트림을 복수의 적응형 비트레이트 스트림들로 인코딩하는 방법. - 제 1 항에 있어서,
상기 인코딩된 복수의 적응형 비트레이트 세그먼트들을 적어도 하나의 네트워크를 통해 복수의 스트리밍 클라이언트들에 스트리밍하는 단계를 더 포함하는, 입력 스트림을 복수의 적응형 비트레이트 스트림들로 인코딩하는, 입력 스트림을 복수의 적응형 비트레이트 스트림들로 인코딩하는 방법. - 제 1 항에 있어서,
상기 라이브 인코딩 시스템을 사용하여 인코딩 조건들을 평가하는 단계는 이전 세그먼트와 상기 주어진 세그먼트 사이의 도달 시간을 결정하는 단계를 더 포함하고, 상기 제 1 임계치는 상이한 세그먼트들의 도달 사이의 특정 양의 시간인, 입력 스트림을 복수의 적응형 비트레이트 스트림들로 인코딩하는 방법. - 제 3 항에 있어서,
상기 이전 세그먼트와 상기 주어진 세그먼트 사이의 상기 도달 시간을 결정하는 단계는 상기 이전 세그먼트와 상기 주어진 세그먼트 사이의 시간 스탬프 차이들을 상기 라이브 인코딩 시스템의 클록 실행과 비교하는 단계를 더 포함하는, 입력 스트림을 복수의 적응형 비트레이트 스트림들로 인코딩하는 방법. - 제 1 항에 있어서,
상기 라이브 인코딩 시스템을 사용하여 인코딩 조건들을 평가하는 단계는 상기 라이브 인코딩 시스템을 사용하여 상기 입력 스트림으로부터 수신되는 데이터의 양을 산출하는 단계를 더 포함하며, 상기 제 1 임계치는 지정된 양의 시간에 걸쳐 수신된 특정 양의 데이터인, 입력 스트림을 복수의 적응형 비트레이트 스트림들로 인코딩하는 방법. - 제 1 항에 있어서,
상기 복수의 적응형 비트레이트 세그먼트들은 상이한 최대 비트레이트들로 인코딩되는, 입력 스트림을 복수의 적응형 비트레이트 스트림들로 인코딩하는 방법. - 제 1 항에 있어서,
상기 입력 스트림은 라이브 스트림인, 입력 스트림을 복수의 적응형 비트레이트 스트림들로 인코딩하는 방법. - 제 7 항에 있어서,
상기 라이브 스트림은 오디오 트랙들, 비디오 트랙들, 서브타이틀 트랙들, 및 멀티미디어 트랙들의 그룹으로부터 선택된 미디어를 포함하는, 입력 스트림을 복수의 적응형 비트레이트 스트림들로 인코딩하는 방법. - 제 1 항에 있어서,
상기 라이브 인코딩 시스템을 사용하여 인코딩 조건들을 평가하는 단계는 상기 라이브 인코딩 시스템을 사용하여 상기 라이브 인코딩 시스템의 부하량을 산출하는 단계를 더 포함하고, 상기 제 2 임계치는 상기 라이브 인코딩 시스템이 수행하는 특정의 연산 작업량인, 입력 스트림을 복수의 적응형 비트레이트 스트림들로 인코딩하는 방법. - 제 1 항에 있어서,
상기 입력 스트림은 특정 인코딩을 갖고, 상기 입력 스트림의 세그먼트로부터 상기 복제된 적어도 하나의 프레임은 동일한 특정 인코딩을 갖는, 입력 스트림을 복수의 적응형 비트레이트 스트림들로 인코딩하는 방법. - 라이브 인코딩 시스템에 있어서:
적어도 하나의 프로세싱 유닛; 및
컴퓨터 명령들을 포함하는 라이브 인코딩 애플리케이션을 저장하는 메모리를 포함하고,
상기 라이브 인코딩 애플리케이션은:
입력 스트림을 수신하고;
인코딩 조건들을 평가하고;
상기 입력 스트림의 주어진 세그먼트를 복수의 적응형 비트레이트 세그먼트들로 인코딩하도록, 상기 적어도 하나의 프로세싱 유닛에 지시하며,
상기 입력 스트림의 주어진 세그먼트를 복수의 적응형 비트레이트 세그먼트들로 인코딩하도록 하는 명령들은:
상기 평가된 인코딩 조건들이 제 1 임계치를 충족할 때 상기 입력 스트림의 주어진 세그먼트로부터 적어도 하나의 프레임을 확장하고 상기 복수의 적응형 비트레이트 세그먼트들 중 적어도 하나에서 상기 입력 스트림의 세그먼트로부터 상기 확장된 적어도 하나의 프레임을 사용하고;
상기 평가된 인코딩 조건들이 제 2 임계치를 충족할 때 상기 입력 스트림의 주어진 세그먼트로부터 적어도 하나의 프레임을 복제하고 상기 복수의 적응형 비트레이트 세그먼트들 중 적어도 하나에서 상기 입력 스트림의 세그먼트로부터 상기 복제된 적어도 하나의 프레임을 사용하고;
상기 평가된 인코딩 조건들이 상기 제 1 임계치 또는 상기 제 2 임계치의 어느 것도 충족하지 않을 때 상기 입력 스트림의 주어진 세그먼트의 프레임들을 상기 복수의 적응형 비트레이트 세그먼트들로 인코딩하도록 하는, 명령들을 더 포함하는, 라이브 인코딩 시스템. - 제 11 항에 있어서,
상기 라이브 인코딩 애플리케이션은 상기 인코딩된 복수의 적응형 비트레이트 세그먼트들을 적어도 하나의 네트워크를 통해 복수의 스트리밍 클라이언트들에 스트리밍하도록 하는 명령들을 더 포함하는, 라이브 인코딩 시스템. - 제 11 항에 있어서,
상기 인코딩 조건들을 평가하도록 하는 명령들은 이전 세그먼트와 상기 주어진 세그먼트 사이의 도달 시간을 결정하도록 하는 명령들을 더 포함하고, 상기 제 1 임계치는 상이한 세그먼트들의 도달 사이의 특정 양의 시간인, 라이브 인코딩 시스템. - 제 13 항에 있어서,
상기 이전 세그먼트와 상기 주어진 세그먼트 사이의 상기 도달 시간을 결정하도록 하는 명령들은 상기 이전 세그먼트와 상기 주어진 세그먼트 사이의 시간 스탬프 차이들을 상기 라이브 인코딩 시스템의 클록 실행과 비교하도록 하는 명령들을 더 포함하는, 라이브 인코딩 시스템. - 제 11 항에 있어서,
상기 인코딩 조건들을 평가하도록 하는 명령들은 상기 입력 스트림으로부터 수신되는 데이터의 양을 산출하도록 하는 명령들을 더 포함하며, 상기 제 1 임계치는 지정된 양의 시간에 걸쳐 수신된 특정 양의 데이터인, 라이브 인코딩 시스템. - 제 11 항에 있어서,
상기 복수의 적응형 비트레이트 세그먼트들은 상이한 최대 비트레이트들로 인코딩되는, 라이브 인코딩 시스템. - 제 11 항에 있어서,
상기 입력 스트림은 라이브 스트림인, 라이브 인코딩 시스템. - 제 17 항에 있어서,
상기 라이브 스트림은 오디오 트랙들, 비디오 트랙들, 서브타이틀 트랙들, 및 멀티미디어 트랙들의 그룹으로부터 선택된 미디어를 포함하는, 라이브 인코딩 시스템. - 제 11 항에 있어서,
상기 인코딩 조건들을 평가하도록 하는 명령들은 상기 라이브 인코딩 시스템의 부하량을 산출하도록 하는 명령들을 더 포함하고, 상기 제 2 임계치는 상기 라이브 인코딩 시스템이 수행하는 특정의 연산 작업량인, 라이브 인코딩 시스템. - 제 11 항에 있어서,
상기 입력 스트림은 특정 인코딩을 갖고, 상기 입력 스트림의 세그먼트로부터 상기 복제된 적어도 하나의 프레임은 동일한 특정 인코딩을 갖는, 라이브 인코딩 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562126393P | 2015-02-27 | 2015-02-27 | |
US62/126,393 | 2015-02-27 | ||
PCT/US2016/019955 WO2016138493A1 (en) | 2015-02-27 | 2016-02-26 | Systems and methods for frame duplication and frame extension in live video encoding and streaming |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170118759A true KR20170118759A (ko) | 2017-10-25 |
KR101897959B1 KR101897959B1 (ko) | 2018-09-12 |
Family
ID=56789873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177023590A KR101897959B1 (ko) | 2015-02-27 | 2016-02-26 | 라이브 비디오 인코딩 및 스트리밍에서의 프레임 복제 및 프레임 확장을 위한 시스템 및 방법 |
Country Status (9)
Country | Link |
---|---|
US (3) | US10715574B2 (ko) |
EP (2) | EP3627337A1 (ko) |
JP (2) | JP6588987B2 (ko) |
KR (1) | KR101897959B1 (ko) |
CN (1) | CN107251008B (ko) |
ES (1) | ES2768979T3 (ko) |
HK (1) | HK1246423A1 (ko) |
SG (1) | SG11201706160UA (ko) |
WO (1) | WO2016138493A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019210152A1 (en) * | 2018-04-26 | 2019-10-31 | Phenix Real Time Solutions, Inc. | Adaptive bit-rate methods for live broadcasting |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3627337A1 (en) | 2015-02-27 | 2020-03-25 | DivX, LLC | Systems and methods for frame duplication and frame extension in live video encoding and streaming |
US10291681B2 (en) * | 2015-06-18 | 2019-05-14 | Ericsson Ab | Directory limit based system and method for storing media segments |
JP2018041340A (ja) * | 2016-09-08 | 2018-03-15 | 富士通株式会社 | 情報処理システム |
US10652294B2 (en) * | 2016-10-31 | 2020-05-12 | Google Llc | Anchors for live streams |
AU2018254570B2 (en) * | 2017-04-21 | 2021-08-05 | Zenimax Media Inc. | Systems and methods for deferred post-processes in video encoding |
JP7230008B2 (ja) * | 2017-05-15 | 2023-02-28 | ミックスヘイロー コーポレイション | リアルタイムオーディオおよびデータを提供するためのシステムおよび方法 |
US10652166B2 (en) * | 2017-06-27 | 2020-05-12 | Cisco Technology, Inc. | Non-real time adaptive bitrate recording scheduler |
KR102200317B1 (ko) * | 2017-12-08 | 2021-01-08 | 구글 엘엘씨 | 디지털 비디오 컨텐츠 수정 |
US11146852B2 (en) * | 2018-05-11 | 2021-10-12 | Qualcomm Incorporated | Signaling missing sections of media data for network streaming in a segment |
CN110798739B (zh) * | 2019-11-11 | 2021-10-08 | 四川东方网力科技有限公司 | 基于html5的视频实时目标属性叠加显示方法、装置及设备 |
CN111083162B (zh) * | 2019-12-30 | 2022-08-23 | 广州酷狗计算机科技有限公司 | 多媒体流卡顿检测方法和装置 |
US11425182B1 (en) * | 2020-12-30 | 2022-08-23 | Meta Platforms, Inc. | Systems and methods for dynamically encoding media streams |
KR102568415B1 (ko) * | 2021-04-28 | 2023-08-21 | (주)이머시브캐스트 | Hmd 기반의 pc 게임 확장 시스템 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7339993B1 (en) * | 1999-10-01 | 2008-03-04 | Vidiator Enterprises Inc. | Methods for transforming streaming video data |
US20120307886A1 (en) * | 2011-05-31 | 2012-12-06 | Broadcom Corporation | Adaptive Video Encoding Based on Predicted Wireless Channel Conditions |
US20130114744A1 (en) * | 2011-11-06 | 2013-05-09 | Akamai Technologies Inc. | Segmented parallel encoding with frame-aware, variable-size chunking |
US8532171B1 (en) * | 2010-12-23 | 2013-09-10 | Juniper Networks, Inc. | Multiple stream adaptive bit rate system |
US20140019593A1 (en) * | 2012-07-10 | 2014-01-16 | Vid Scale, Inc. | Quality-driven streaming |
Family Cites Families (233)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5400401A (en) | 1992-10-30 | 1995-03-21 | Scientific Atlanta, Inc. | System and method for transmitting a plurality of digital services |
JP2707950B2 (ja) | 1993-07-30 | 1998-02-04 | ソニー株式会社 | ディジタル画像情報処理装置 |
US5596564A (en) | 1993-10-08 | 1997-01-21 | Matsushita Electric Industrial Co., Ltd. | Information recording medium and apparatus and method for recording and reproducing information |
US6157391A (en) * | 1994-01-10 | 2000-12-05 | International Business Machines Corporation | Method and apparatus for providing slow motion video at normal motion play speed |
JPH07327029A (ja) | 1994-05-31 | 1995-12-12 | Fujitsu Ltd | 暗号化通信システム |
JP2842796B2 (ja) | 1994-12-06 | 1999-01-06 | 富士通株式会社 | 動画像の暗号化処理方法及び装置及び暗号化された動画像の復号化処理方法及び装置 |
US6009237A (en) | 1995-02-24 | 1999-12-28 | Hitachi Ltd. | Optical disk and optical disk reproduction apparatus |
US6002834A (en) | 1995-02-24 | 1999-12-14 | Hitachi, Ltd. | Optical disk having table relating sector address and time and optical disk reproducing apparatus |
US5813010A (en) | 1995-04-14 | 1998-09-22 | Kabushiki Kaisha Toshiba | Information storage and information transmission media with parental control |
CA2173929C (en) | 1995-04-14 | 2001-04-03 | Kazuhiko Taira | Method, apparatus and recording medium for reproducing information |
EP0788094A4 (en) | 1995-08-21 | 1998-06-24 | Matsushita Electric Ind Co Ltd | MULTIMEDIA OPTICAL DISK WHICH CAN COMPLETELY GENERATE UNEXPECTED SCENES THROUGH INTERACTIVE CONTROL, THEIR PLAYBACK DEVICE AND PLAYBACK METHOD |
TW385431B (en) | 1995-09-29 | 2000-03-21 | Matsushita Electric Ind Co Ltd | A method and an apparatus for encoding a bitstream with plural possible searching reproduction paths information useful in multimedia optical disk |
TW436777B (en) | 1995-09-29 | 2001-05-28 | Matsushita Electric Ind Co Ltd | A method and an apparatus for reproducing bitstream having non-sequential system clock data seamlessly therebetween |
CA2237293A1 (en) | 1995-12-29 | 1997-07-10 | Scientific-Atlanta, Inc. | Method and apparatus for providing conditional access in connection-oriented, interactive networks with a multiplicity of service providers |
US6957350B1 (en) | 1996-01-30 | 2005-10-18 | Dolby Laboratories Licensing Corporation | Encrypted and watermarked temporal and resolution layering in advanced television |
US6065050A (en) | 1996-06-05 | 2000-05-16 | Sun Microsystems, Inc. | System and method for indexing between trick play and normal play video streams in a video delivery system |
US5805700A (en) | 1996-10-15 | 1998-09-08 | Intel Corporation | Policy based selective encryption of compressed video data |
FI106071B (fi) | 1997-03-13 | 2000-11-15 | Nokia Mobile Phones Ltd | Mukautuva suodatin |
MY124583A (en) | 1997-03-19 | 2006-06-30 | Sony Corp | Video data decoding apparatus and method and video signal reproduction apparatus and method |
US6654933B1 (en) | 1999-09-21 | 2003-11-25 | Kasenna, Inc. | System and method for media stream indexing |
US6970564B1 (en) | 1998-07-13 | 2005-11-29 | Sony Corporation | Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device |
FI103003B1 (fi) | 1997-06-13 | 1999-03-31 | Nokia Mobile Phones Ltd | Suodatusmenetelmä, suodatin ja matkaviestinpääte |
KR100242448B1 (ko) | 1997-06-28 | 2000-02-01 | 윤종용 | 디지털 비디오 디스크 고속 재생 제어장치 및 방법 |
US6594699B1 (en) | 1997-10-10 | 2003-07-15 | Kasenna, Inc. | System for capability based multimedia streaming over a network |
US6057832A (en) | 1997-12-02 | 2000-05-02 | V Soft Ltd. | Method and apparatus for video-on-demand with fast play capability |
JP4186242B2 (ja) | 1997-12-26 | 2008-11-26 | ソニー株式会社 | 画像信号処理装置及び画像信号処理方法 |
US6751623B1 (en) | 1998-01-26 | 2004-06-15 | At&T Corp. | Flexible interchange of coded multimedia facilitating access and streaming |
US7809138B2 (en) | 1999-03-16 | 2010-10-05 | Intertrust Technologies Corporation | Methods and apparatus for persistent control and protection of content |
US6320905B1 (en) | 1998-07-08 | 2001-11-20 | Stream Machine Company | Postprocessing system for removing blocking artifacts in block-based codecs |
US7457415B2 (en) | 1998-08-20 | 2008-11-25 | Akikaze Technologies, Llc | Secure information distribution system utilizing information segment scrambling |
US6931531B1 (en) | 1998-09-02 | 2005-08-16 | Matsushita Electric Industrial Co., Ltd. | Image object recording, compression, and encryption method and system |
US6351538B1 (en) | 1998-10-06 | 2002-02-26 | Lsi Logic Corporation | Conditional access and copy protection scheme for MPEG encoded video data |
CN1897146A (zh) | 1998-10-12 | 2007-01-17 | 松下电器产业株式会社 | 信息记录介质及用于记录或再现数据的装置和方法 |
US6850965B2 (en) * | 1998-11-17 | 2005-02-01 | Arthur Douglas Allen | Method for connection acceptance and rapid determination of optimal multi-media content delivery over network |
CA2289958C (en) | 1998-11-19 | 2003-01-21 | Tomoyuki Okada | Information recording medium, apparatus and method for recording or reproducing data thereof |
US6236764B1 (en) | 1998-11-30 | 2001-05-22 | Equator Technologies, Inc. | Image processing circuit and method for reducing a difference between pixel values across an image boundary |
EP1021048A3 (en) | 1999-01-14 | 2002-10-02 | Kabushiki Kaisha Toshiba | Digital video recording system and its recording medium |
WO2000044119A1 (en) | 1999-01-26 | 2000-07-27 | Infolio, Inc. | Universal mobile id system and method for digital rights management |
JP3433125B2 (ja) | 1999-01-27 | 2003-08-04 | 三洋電機株式会社 | 動画像再生装置 |
JP3715533B2 (ja) | 1999-02-05 | 2005-11-09 | 株式会社東芝 | ストリーム情報の情報記憶媒体、その記録方法、再生方法、記録装置および再生装置 |
DE19906450C1 (de) | 1999-02-16 | 2000-08-17 | Fraunhofer Ges Forschung | Verfahren und Vorrichtung zum Erzeugen eines verschlüsselten Nutzdatenstroms und Verfahren und Vorrichtung zum Entschlüsseln eines verschlüsselten Nutzdatenstroms |
DE19906449C1 (de) | 1999-02-16 | 2000-08-10 | Fraunhofer Ges Forschung | Verfahren und Vorrichtung zum Erzeugen eines verschlüsselten Nutzdatenstroms und Verfahren und Vorrichtung zum Abspielen eines verschlüsselten Nutzdatenstroms |
JP3805985B2 (ja) | 1999-02-18 | 2006-08-09 | 株式会社東芝 | ストリームデータの情報記憶媒体、その記録方法、再生方法、記録装置および再生装置 |
US6415031B1 (en) | 1999-03-12 | 2002-07-02 | Diva Systems Corporation | Selective and renewable encryption for secure distribution of video on-demand |
WO2000055854A1 (fr) | 1999-03-17 | 2000-09-21 | Kabushiki Kaisha Toshiba | Procede d'enregistrement de donnees en fluxet de leur structure |
EP1039468A3 (en) | 1999-03-19 | 2000-10-04 | Deutsche Thomson-Brandt Gmbh | Method for implementing trickplay modes in a data stream recorder |
US6912513B1 (en) | 1999-10-29 | 2005-06-28 | Sony Corporation | Copy-protecting management using a user scrambling key |
US7151832B1 (en) | 1999-11-18 | 2006-12-19 | International Business Machines Corporation | Dynamic encryption and decryption of a stream of data |
EP1267515A3 (en) | 2000-01-21 | 2004-04-07 | Sony Computer Entertainment Inc. | Method and apparatus for symmetric encryption/decryption of recorded data |
JP2001209583A (ja) | 2000-01-26 | 2001-08-03 | Sony Corp | データ記録再生器およびセーブデータ処理方法、並びにプログラム提供媒体 |
JP4599740B2 (ja) | 2000-04-21 | 2010-12-15 | ソニー株式会社 | 情報処理装置および方法、記録媒体、プログラム、並びに記録媒体 |
GB2362532B (en) | 2000-05-15 | 2004-05-05 | Nokia Mobile Phones Ltd | Video coding |
KR100448452B1 (ko) | 2000-06-09 | 2004-09-13 | 엘지전자 주식회사 | 고밀도 광 기록매체의 메뉴 지원방법 |
US6871006B1 (en) | 2000-06-30 | 2005-03-22 | Emc Corporation | Processing of MPEG encoded video for trick mode operation |
US7188183B1 (en) | 2000-08-04 | 2007-03-06 | Oracle International Corporation | Maintaining state information in mobile applications |
US6704024B2 (en) | 2000-08-07 | 2004-03-09 | Zframe, Inc. | Visual content browsing using rasterized representations |
EP1313318A1 (en) | 2000-08-25 | 2003-05-21 | Matsushita Electric Industrial Co., Ltd. | Data transmission method and data relay method |
US6453115B1 (en) | 2000-08-31 | 2002-09-17 | Keen Personal Media, Inc. | Digital video recording system which generates an index data structure for displaying a video stream in trickplay mode |
US7242772B1 (en) | 2000-09-07 | 2007-07-10 | Eastman Kodak Company | Encryption apparatus and method for synchronizing multiple encryption keys with a data stream |
US7212726B2 (en) | 2000-09-15 | 2007-05-01 | International Business Machines Corporation | System and method of processing MPEG streams for file index insertion |
US7031393B2 (en) | 2000-10-20 | 2006-04-18 | Matsushita Electric Industrial Co., Ltd. | Block distortion detection method, block distortion detection apparatus, block distortion removal method, and block distortion removal apparatus |
US7450641B2 (en) | 2001-09-14 | 2008-11-11 | Sharp Laboratories Of America, Inc. | Adaptive filtering based upon boundary strength |
US7110664B2 (en) | 2001-04-20 | 2006-09-19 | Front Porch Digital, Inc. | Methods and apparatus for indexing and archiving encoded audio-video data |
US7065213B2 (en) | 2001-06-29 | 2006-06-20 | Scientific-Atlanta, Inc. | In a subscriber network receiving digital packets and transmitting digital packets below a predetermined maximum bit rate |
US6928603B1 (en) * | 2001-07-19 | 2005-08-09 | Adaptix, Inc. | System and method for interference mitigation using adaptive forward error correction in a wireless RF data transmission system |
KR100895559B1 (ko) | 2001-07-23 | 2009-04-29 | 파나소닉 주식회사 | 정보기록매체, 정보기록매체에 정보를 기록하는 장치 및방법 |
JP4145586B2 (ja) | 2001-07-24 | 2008-09-03 | セイコーエプソン株式会社 | 画像処理装置及び画像処理プログラム、並びに画像処理方法 |
US7426315B2 (en) | 2001-09-05 | 2008-09-16 | Zoran Microelectronics Ltd. | Method for reducing blocking artifacts |
KR100424762B1 (ko) | 2001-09-06 | 2004-03-30 | 삼성전자주식회사 | 영상 데이터 제공 시스템 및 방법 |
US6983079B2 (en) | 2001-09-20 | 2006-01-03 | Seiko Epson Corporation | Reducing blocking and ringing artifacts in low-bit-rate coding |
US20030077071A1 (en) | 2001-10-23 | 2003-04-24 | Shu Lin | Fast forward trick mode and reverse trick mode using an information file |
JP2003152698A (ja) | 2001-11-15 | 2003-05-23 | Nippon Hoso Kyokai <Nhk> | コンテンツ利用制御送信方法、コンテンツ利用制御受信方法およびコンテンツ利用制御送信装置、コンテンツ利用制御受信装置ならびにコンテンツ利用制御送信プログラム、コンテンツ利用制御受信プログラム |
DK2938071T3 (en) | 2001-11-29 | 2018-01-22 | Godo Kaisha Ip Bridge 1 | METHOD OF REMOVING CODING PREVENTION |
CA2435757C (en) | 2001-11-29 | 2013-03-19 | Matsushita Electric Industrial Co., Ltd. | Video coding distortion removal method and apparatus using a filter |
US20040037421A1 (en) | 2001-12-17 | 2004-02-26 | Truman Michael Mead | Parital encryption of assembled bitstreams |
US8027470B2 (en) | 2002-01-02 | 2011-09-27 | Sony Corporation | Video slice and active region based multiple partial encryption |
US7065651B2 (en) | 2002-01-16 | 2006-06-20 | Microsoft Corporation | Secure video card methods and systems |
JP2003230089A (ja) | 2002-01-31 | 2003-08-15 | Toshiba Corp | 情報記憶媒体及び情報記録装置 |
US7174021B2 (en) | 2002-06-28 | 2007-02-06 | Microsoft Corporation | Systems and methods for providing secure server key operations |
AU2003268037A1 (en) | 2002-07-30 | 2004-02-16 | Digital Interactive Streams, Inc. | Digital content security system and method |
US20040022391A1 (en) | 2002-07-30 | 2004-02-05 | O'brien Royal | Digital content security system and method |
US7167560B2 (en) | 2002-08-08 | 2007-01-23 | Matsushita Electric Industrial Co., Ltd. | Partial encryption of stream-formatted media |
KR100609392B1 (ko) | 2002-09-05 | 2006-08-08 | 엘지전자 주식회사 | 정지 영상의 재생을 관리하기 위한 재생리스트 마크의데이터 구조를 갖는 기록 매체, 그에 따른 기록 및 재생방법 및 장치 |
CN100495558C (zh) | 2002-09-06 | 2009-06-03 | Lg电子株式会社 | 记录和再现用于管理静止图像的数据结构的方法及装置 |
US20050144468A1 (en) | 2003-01-13 | 2005-06-30 | Northcutt J. D. | Method and apparatus for content protection in a personal digital network environment |
US7020287B2 (en) | 2002-09-30 | 2006-03-28 | Sony Corporation | Method and system for key insertion for stored encrypted content |
US7295673B2 (en) | 2002-10-23 | 2007-11-13 | Divx, Inc. | Method and system for securing compressed digital video |
KR20040039852A (ko) | 2002-11-05 | 2004-05-12 | 주식회사 디지털앤디지털 | 프레임 인덱스를 이용한 트릭 플레이 구현방법 |
US8572408B2 (en) | 2002-11-05 | 2013-10-29 | Sony Corporation | Digital rights management of a digital device |
CN1692426B (zh) | 2002-11-20 | 2010-05-12 | Lg电子有限公司 | 具有管理数据重现的数据结构的记录介质及记录和重现的方法和装置 |
US7227901B2 (en) | 2002-11-21 | 2007-06-05 | Ub Video Inc. | Low-complexity deblocking filter |
US9352222B2 (en) * | 2002-12-10 | 2016-05-31 | Sony Interactive Entertainment America Llc | System and method for capturing text for an online application |
JP2006519565A (ja) | 2003-03-03 | 2006-08-24 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ビデオ符号化 |
US7007170B2 (en) | 2003-03-18 | 2006-02-28 | Widevine Technologies, Inc. | System, method, and apparatus for securely providing content viewable on a secure device |
KR101030155B1 (ko) | 2003-04-10 | 2011-04-18 | 파나소닉 주식회사 | 정보기록매체, 정보기록매체에 정보를 기록하는 장치 및방법 |
KR20040096718A (ko) | 2003-05-10 | 2004-11-17 | 삼성전자주식회사 | 멀티미디어 데이터 재생장치, 오디오 데이터 수신방법 및오디오 데이터 구조 |
KR100492567B1 (ko) | 2003-05-13 | 2005-06-03 | 엘지전자 주식회사 | 이동통신 시스템의 http 기반 비디오 스트리밍 장치및 방법 |
US7424501B2 (en) | 2003-06-30 | 2008-09-09 | Intel Corporation | Nonlinear filtering and deblocking applications utilizing SIMD sign and absolute value operations |
JP4411879B2 (ja) | 2003-07-01 | 2010-02-10 | 株式会社ニコン | 信号処理装置、信号処理プログラム、および電子カメラ |
AU2004258523B2 (en) | 2003-07-07 | 2009-12-10 | Irdeto B.V. | Reprogrammable security for controlling piracy and enabling interactive content |
US20050013494A1 (en) | 2003-07-18 | 2005-01-20 | Microsoft Corporation | In-loop deblocking filter |
US7382879B1 (en) | 2003-07-23 | 2008-06-03 | Sprint Communications Company, L.P. | Digital rights management negotiation for streaming media over a network |
JP2005057435A (ja) | 2003-08-01 | 2005-03-03 | Sony Corp | クライアント機器及びクライアント機器におけるコンテンツ処理方法、並びにコンテンツ提供システム |
ATE500695T1 (de) | 2003-08-07 | 2011-03-15 | Pervenio Ltd | Server zum bestimmen und speichern von mobilgerät-leistungsmerkmalen |
US7853980B2 (en) | 2003-10-31 | 2010-12-14 | Sony Corporation | Bi-directional indices for trick mode video-on-demand |
JP4537083B2 (ja) | 2004-01-28 | 2010-09-01 | キヤノン株式会社 | データ処理装置及びその制御方法 |
US9094699B2 (en) | 2004-02-05 | 2015-07-28 | Broadcom Corporation | System and method for security key transmission with strong pairing to destination client |
US7546641B2 (en) | 2004-02-13 | 2009-06-09 | Microsoft Corporation | Conditional access to digital rights management conversion |
EP1757087A4 (en) * | 2004-04-16 | 2009-08-19 | James A Aman | AUTOMATIC VIDEO RECORDING OF EVENTS, PURSUIT AND CONTENT PRODUCTION SYSTEM |
US7397853B2 (en) | 2004-04-29 | 2008-07-08 | Mediatek Incorporation | Adaptive de-blocking filtering apparatus and method for MPEG video decoder |
US7400679B2 (en) | 2004-04-29 | 2008-07-15 | Mediatek Incorporation | Adaptive de-blocking filtering apparatus and method for MPEG video decoder |
US7539248B2 (en) | 2004-04-29 | 2009-05-26 | Mediatek Incorporation | Adaptive de-blocking filtering apparatus and method for MPEG video decoder |
US7477749B2 (en) | 2004-05-12 | 2009-01-13 | Nokia Corporation | Integrity protection of streamed content |
US8600217B2 (en) | 2004-07-14 | 2013-12-03 | Arturo A. Rodriguez | System and method for improving quality of displayed picture during trick modes |
US7571246B2 (en) * | 2004-07-29 | 2009-08-04 | Microsoft Corporation | Media transrating over a bandwidth-limited network |
US7930184B2 (en) | 2004-08-04 | 2011-04-19 | Dts, Inc. | Multi-channel audio coding/decoding of random access points and transients |
EP1780711B1 (en) | 2004-08-17 | 2012-02-15 | Panasonic Corporation | Information recording medium, data sorting device, and data reproducing device |
JP4850075B2 (ja) | 2005-01-18 | 2012-01-11 | パナソニック株式会社 | データ格納方法、データ再生方法、データ記録装置、データ再生装置および記録媒体 |
US7349886B2 (en) | 2005-03-25 | 2008-03-25 | Widevine Technologies, Inc. | Securely relaying content using key chains |
KR100677026B1 (ko) | 2005-04-07 | 2007-02-01 | (주)아이티너스 코리아 | 영상 신호 송수신 시스템 및 이에 사용되는 보안 모듈 |
US8683066B2 (en) | 2007-08-06 | 2014-03-25 | DISH Digital L.L.C. | Apparatus, system, and method for multi-bitrate content streaming |
JP4321550B2 (ja) | 2005-08-31 | 2009-08-26 | ソニー株式会社 | 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム |
US20070067472A1 (en) | 2005-09-20 | 2007-03-22 | Lsi Logic Corporation | Accurate and error resilient time stamping method and/or apparatus for the audio-video interleaved (AVI) format |
US20070083467A1 (en) | 2005-10-10 | 2007-04-12 | Apple Computer, Inc. | Partial encryption techniques for media data |
CN100425078C (zh) * | 2005-11-08 | 2008-10-08 | 上海广电(集团)有限公司中央研究院 | 码流转换中编码速度和视频质量的自适应联合控制方法 |
US7991891B2 (en) | 2006-02-02 | 2011-08-02 | Microsoft Corporation | Version-specific content searching |
US8224041B2 (en) | 2006-07-19 | 2012-07-17 | Panasonic Corporation | Media data processing apparatus and media data processing method |
US7743161B2 (en) | 2006-10-10 | 2010-06-22 | Ortiva Wireless, Inc. | Digital content buffer for adaptive streaming |
TW200820783A (en) | 2006-10-25 | 2008-05-01 | Realtek Semiconductor Corp | Apparatus and method for deblock filtering |
US8243924B2 (en) | 2007-06-29 | 2012-08-14 | Google Inc. | Progressive download or streaming of digital media securely through a localized container and communication protocol proxy |
WO2009018171A1 (en) * | 2007-07-27 | 2009-02-05 | Synergy Sports Technology, Llc | Systems and methods for generating bookmark video fingerprints |
US10277956B2 (en) | 2007-10-01 | 2019-04-30 | Cabot Communications | Method and apparatus for streaming digital media content and a communication system |
US20090106082A1 (en) | 2007-10-23 | 2009-04-23 | Senti Thad E | System and method to facilitate targeted advertising |
KR20100106327A (ko) | 2007-11-16 | 2010-10-01 | 디브이엑스, 인크. | 멀티미디어 파일을 위한 계층적 및 감소된 인덱스 구조 |
US8169916B1 (en) | 2007-11-23 | 2012-05-01 | Media Melon, Inc. | Multi-platform video delivery configuration |
US8131875B1 (en) | 2007-11-26 | 2012-03-06 | Adobe Systems Incorporated | Device profile assignment based on device capabilities |
WO2009109976A2 (en) | 2008-03-05 | 2009-09-11 | Webtview Ltd. | Distributing internet channels to a media viewer |
CN101540645A (zh) | 2008-03-21 | 2009-09-23 | 华为技术有限公司 | 动态内容分发方法和装置 |
US20090249081A1 (en) | 2008-03-31 | 2009-10-01 | Kabushiki Kaisha Toshiba-1 Shibaura 1-Chomominatoku | Storage device encryption and method |
US8379851B2 (en) | 2008-05-12 | 2013-02-19 | Microsoft Corporation | Optimized client side rate control and indexed file layout for streaming media |
AU2009256066B2 (en) | 2008-06-06 | 2012-05-17 | Deluxe Media Inc. | Methods and systems for use in providing playback of variable length content in a fixed length framework |
WO2010000910A1 (en) * | 2008-06-30 | 2010-01-07 | Nokia Corporation | Transmission capacity probing using adaptive redundancy adjustment |
CN101426179A (zh) | 2008-09-22 | 2009-05-06 | 深圳华为通信技术有限公司 | 业务激活的方法和业务提供的方法以及终端设备和服务器 |
EP2180664A1 (en) | 2008-10-22 | 2010-04-28 | Vivendi Mobile Entertainment | System and method for accessing multi-media content via a mobile terminal |
CN102217309B (zh) * | 2008-11-13 | 2014-04-09 | 汤姆逊许可证公司 | 使用hrd信息共享和比特分配等待的多线程视频编码 |
WO2010108053A1 (en) * | 2009-03-19 | 2010-09-23 | Azuki Systems, Inc. | Method for scalable live streaming delivery for mobile audiences |
US9380091B2 (en) * | 2012-06-12 | 2016-06-28 | Wi-Lan Labs, Inc. | Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network |
US20130290492A1 (en) * | 2009-06-12 | 2013-10-31 | Cygnus Broadband, Inc. | State management for video streaming quality of experience degradation control and recovery using a video quality metric |
KR101740039B1 (ko) * | 2009-06-26 | 2017-05-25 | 톰슨 라이센싱 | 적응형 기하학적 분할을 이용한 비디오 인코딩 및 디코딩 방법 및 장치 |
WO2011022405A2 (en) | 2009-08-17 | 2011-02-24 | Akamai Technologies, Inc. | Method and system for http-based stream delivery |
US9203816B2 (en) | 2009-09-04 | 2015-12-01 | Echostar Technologies L.L.C. | Controlling access to copies of media content by a client device |
CA2715362A1 (en) | 2009-09-22 | 2011-03-22 | Thwapr, Inc. | Interoperable mobile media sharing |
US20110096828A1 (en) | 2009-09-22 | 2011-04-28 | Qualcomm Incorporated | Enhanced block-request streaming using scalable encoding |
US10264029B2 (en) | 2009-10-30 | 2019-04-16 | Time Warner Cable Enterprises Llc | Methods and apparatus for packetized content delivery over a content delivery network |
US8930991B2 (en) | 2009-11-19 | 2015-01-06 | Gregory Philpott | System and method for delivering content to mobile devices |
WO2011068668A1 (en) | 2009-12-04 | 2011-06-09 | Divx, Llc | Elementary bitstream cryptographic material transport systems and methods |
US20110296048A1 (en) | 2009-12-28 | 2011-12-01 | Akamai Technologies, Inc. | Method and system for stream handling using an intermediate format |
US9038116B1 (en) | 2009-12-28 | 2015-05-19 | Akamai Technologies, Inc. | Method and system for recording streams |
KR101636108B1 (ko) | 2010-01-18 | 2016-07-04 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | 에이치티티피 미디어 스트림 분배를 위한 방법과 배열 |
US20110179185A1 (en) | 2010-01-20 | 2011-07-21 | Futurewei Technologies, Inc. | System and Method for Adaptive Differentiated Streaming |
GB2477515B (en) * | 2010-02-03 | 2012-09-26 | Orbital Multi Media Holdings Corp | Data flow control method and apparatus |
US9532113B2 (en) | 2010-02-17 | 2016-12-27 | Verimatrix, Inc. | Systems and methods for securing content delivered using a playlist |
EP2362651A1 (en) | 2010-02-19 | 2011-08-31 | Thomson Licensing | Multipath delivery for adaptive streaming |
EP2360923A1 (en) | 2010-02-24 | 2011-08-24 | Thomson Licensing | Method for selectively requesting adaptive streaming content and a device implementing the method |
US8819116B1 (en) | 2010-03-08 | 2014-08-26 | Amazon Technologies, Inc. | Providing services using a device capabilities service |
EP2375680A1 (en) | 2010-04-01 | 2011-10-12 | Thomson Licensing | A method for recovering content streamed into chunk |
US8402155B2 (en) * | 2010-04-01 | 2013-03-19 | Xcira, Inc. | Real-time media delivery with automatic catch-up |
US9043484B2 (en) | 2010-04-02 | 2015-05-26 | Disney Enterprises, Inc. | Streaming playback and dynamic ad insertion |
US9137278B2 (en) | 2010-04-08 | 2015-09-15 | Vasona Networks Inc. | Managing streaming bandwidth for multiple clients |
AU2010202741B1 (en) | 2010-06-30 | 2010-12-23 | Adeia Media Holdings Llc | Dynamic chunking for media streaming |
US20130080267A1 (en) | 2011-09-26 | 2013-03-28 | Unicorn Media, Inc. | Single-url content delivery |
US8824560B2 (en) * | 2010-07-07 | 2014-09-02 | Netzyn, Inc. | Virtual frame buffer system and method |
US8782268B2 (en) | 2010-07-20 | 2014-07-15 | Microsoft Corporation | Dynamic composition of media |
US8806050B2 (en) | 2010-08-10 | 2014-08-12 | Qualcomm Incorporated | Manifest file updates for network streaming of coded multimedia data |
US8677428B2 (en) | 2010-08-20 | 2014-03-18 | Disney Enterprises, Inc. | System and method for rule based dynamic server side streaming manifest files |
US10637891B2 (en) | 2010-11-02 | 2020-04-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and devices for media description delivery |
US9001886B2 (en) * | 2010-11-22 | 2015-04-07 | Cisco Technology, Inc. | Dynamic time synchronization |
US9264750B2 (en) | 2010-12-23 | 2016-02-16 | Verizon Patent And Licensing Inc. | Advertising insertion for playback of video streams on user devices |
US8914534B2 (en) | 2011-01-05 | 2014-12-16 | Sonic Ip, Inc. | Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol |
CA2825937A1 (en) | 2011-01-28 | 2012-08-02 | Eye IO, LLC | Encoding of video stream based on scene type |
US9026671B2 (en) | 2011-04-05 | 2015-05-05 | Qualcomm Incorporated | IP broadcast streaming services distribution using file delivery methods |
US8849950B2 (en) | 2011-04-07 | 2014-09-30 | Qualcomm Incorporated | Network streaming of video data using byte range requests |
EP2685742A4 (en) * | 2011-04-07 | 2014-03-05 | Huawei Tech Co Ltd | METHOD, DEVICE AND SYSTEM FOR SENDING AND PROCESSING MEDIA CONTENT |
US9646141B2 (en) | 2011-06-22 | 2017-05-09 | Netflix, Inc. | Fast start of streaming digital media playback with deferred license retrieval |
US9615126B2 (en) * | 2011-06-24 | 2017-04-04 | Google Technology Holdings LLC | Intelligent buffering of media streams delivered over internet |
US9420534B2 (en) | 2011-06-28 | 2016-08-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Technique for managing streaming media traffic at a network entity |
CN103650451B (zh) | 2011-07-07 | 2016-10-19 | 瑞典爱立信有限公司 | 网络容量优化的自适应http流播 |
US9590814B2 (en) | 2011-08-01 | 2017-03-07 | Qualcomm Incorporated | Method and apparatus for transport of dynamic adaptive streaming over HTTP (DASH) initialization segment description fragments as user service description fragments |
WO2013022470A1 (en) | 2011-08-11 | 2013-02-14 | Intel Corporation | Methods for switching between a mbms download and an http-based delivery of dash formatted content over an ims network |
EP2761881A4 (en) * | 2011-09-30 | 2015-06-17 | Intel Corp | EXPERIENCE QUALITY IMPROVEMENTS BETWEEN WIRELESS NETWORKS |
US9800945B2 (en) * | 2012-04-03 | 2017-10-24 | Activevideo Networks, Inc. | Class-based intelligent multiplexing over unmanaged networks |
US9246741B2 (en) * | 2012-04-11 | 2016-01-26 | Google Inc. | Scalable, live transcoding with support for adaptive streaming and failover |
KR20160063405A (ko) | 2012-04-24 | 2016-06-03 | 브이아이디 스케일, 인크. | Mpeg/3gpp-dash에서의 원활한 스트림 스위칭을 위한 방법 및 장치 |
CN104285411A (zh) * | 2012-06-11 | 2015-01-14 | 英特尔公司 | 在多个无线电链路上分发分层多媒体流 |
US9602827B2 (en) * | 2012-07-02 | 2017-03-21 | Qualcomm Incorporated | Video parameter set including an offset syntax element |
JP6064249B2 (ja) | 2012-07-09 | 2017-01-25 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | 動的適応ストリーミングオーバーハイパーテキスト転送プロトコルクライアント挙動フレームワークおよびセッション管理の実装 |
US10511997B2 (en) | 2012-07-09 | 2019-12-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and arrangement for distributing information during broadcast delivery |
JP6106851B2 (ja) * | 2012-07-09 | 2017-04-05 | パナソニックIpマネジメント株式会社 | 通信装置、通信方法、プログラム |
US9351005B2 (en) * | 2012-09-24 | 2016-05-24 | Qualcomm Incorporated | Bitstream conformance test in video coding |
US9374585B2 (en) * | 2012-12-19 | 2016-06-21 | Qualcomm Incorporated | Low-delay buffering model in video coding |
US9426196B2 (en) * | 2013-01-04 | 2016-08-23 | Qualcomm Incorporated | Live timing for dynamic adaptive streaming over HTTP (DASH) |
US20140209493A1 (en) | 2013-01-28 | 2014-07-31 | Susan Jean Hale | Garment and Accessories Organizer and Shoulder Bag |
US8752113B1 (en) | 2013-03-15 | 2014-06-10 | Wowza Media Systems, LLC | Insertion of graphic overlays into a stream |
US8869218B2 (en) * | 2013-03-15 | 2014-10-21 | Wowza Media Systems, LLC | On the fly transcoding of video on demand content for adaptive streaming |
US20140351871A1 (en) * | 2013-05-22 | 2014-11-27 | Microsoft Corporation | Live media processing and streaming service |
US9094737B2 (en) * | 2013-05-30 | 2015-07-28 | Sonic Ip, Inc. | Network video streaming with trick play based on separate trick play files |
DE102013211571B4 (de) * | 2013-06-19 | 2016-02-11 | Opticom Dipl.-Ing. Michael Keyhl Gmbh | Konzept zur bestimmung der qualität eines mediadatenstroms mit variierender qualität-zu-bitrate |
US9179159B2 (en) * | 2013-06-20 | 2015-11-03 | Wowza Media Systems, LLC | Distributed encoding of a video stream |
WO2014209493A1 (en) * | 2013-06-28 | 2014-12-31 | Wi-Lan Labs, Inc. | State management for video streaming quality of experience degradation control and recovery using a video quality metric |
GB2520334B (en) * | 2013-11-18 | 2015-11-25 | Helen Bradley Lennon | A video broadcast system and a method of disseminating video content |
US9282133B2 (en) * | 2013-12-12 | 2016-03-08 | Ooma, Inc. | Communicating control information within a real-time stream |
US9253231B2 (en) * | 2013-12-19 | 2016-02-02 | Verizon Patent And Licensing Inc. | Retrieving and caching adaptive bitrate stream segments based on network congestion |
US10567765B2 (en) * | 2014-01-15 | 2020-02-18 | Avigilon Corporation | Streaming multiple encodings with virtual stream identifiers |
CN111416984B (zh) * | 2014-01-29 | 2024-08-23 | 皇家Kpn公司 | 建立事件的流传输呈现 |
US9106887B1 (en) * | 2014-03-13 | 2015-08-11 | Wowza Media Systems, LLC | Adjusting encoding parameters at a mobile device based on a change in available network bandwidth |
US9635077B2 (en) * | 2014-03-14 | 2017-04-25 | Adobe Systems Incorporated | Low latency live video streaming |
US20150264404A1 (en) * | 2014-03-17 | 2015-09-17 | Nokia Technologies Oy | Method and apparatus for video coding and decoding |
CN103944675B (zh) * | 2014-04-04 | 2017-08-04 | 浙江大学 | 适合物理层无速率编码传输的自适应流水线传输方法 |
US8896765B1 (en) | 2014-05-16 | 2014-11-25 | Shadowbox Media, Inc. | Systems and methods for remote control of a television |
US10110657B2 (en) * | 2014-07-03 | 2018-10-23 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for pushing live media content in an adaptive streaming environment |
US9426478B2 (en) * | 2014-07-21 | 2016-08-23 | Cisco Technology, Inc. | Resolution robust video quality metric |
US9756361B2 (en) * | 2014-07-25 | 2017-09-05 | Verizon Patent And Licensing Inc. | On-demand load balancer and virtual live slicer server farm for program ingest |
US9838455B2 (en) * | 2014-09-19 | 2017-12-05 | Mobitv, Inc. | Fast encoding of live streaming media content |
CN104318926B (zh) * | 2014-09-29 | 2018-08-31 | 四川九洲电器集团有限责任公司 | 基于IntMDCT的无损音频编码方法、解码方法 |
MX2017005085A (es) * | 2014-10-22 | 2018-01-30 | Arris Entpr Llc | Reduccion de latencia de transmision de velocidad binaria adaptativa. |
EP3490174B1 (en) * | 2014-11-20 | 2023-10-11 | Panasonic Intellectual Property Corporation of America | Transmitting method, receiving method, transmitting device, and receiving device |
WO2016098056A1 (en) * | 2014-12-18 | 2016-06-23 | Nokia Technologies Oy | An apparatus, a method and a computer program for video coding and decoding |
KR101942208B1 (ko) * | 2015-01-08 | 2019-01-24 | 애리스 엔터프라이지즈 엘엘씨 | Dlna http 스트리밍 클라이언트들을 위한 서버측 적응형 비트 레이트 제어 |
GB2534136A (en) * | 2015-01-12 | 2016-07-20 | Nokia Technologies Oy | An apparatus, a method and a computer program for video coding and decoding |
US9781084B2 (en) * | 2015-01-23 | 2017-10-03 | Arris Enterprises Llc | Reducing start-up delay in streaming media sessions |
US10218981B2 (en) * | 2015-02-11 | 2019-02-26 | Wowza Media Systems, LLC | Clip generation based on multiple encodings of a media stream |
US9756106B2 (en) * | 2015-02-13 | 2017-09-05 | Citrix Systems, Inc. | Methods and systems for estimating quality of experience (QoE) parameters of secured transactions |
EP3627337A1 (en) | 2015-02-27 | 2020-03-25 | DivX, LLC | Systems and methods for frame duplication and frame extension in live video encoding and streaming |
-
2016
- 2016-02-26 EP EP19206431.9A patent/EP3627337A1/en not_active Withdrawn
- 2016-02-26 JP JP2017544732A patent/JP6588987B2/ja active Active
- 2016-02-26 KR KR1020177023590A patent/KR101897959B1/ko active IP Right Grant
- 2016-02-26 EP EP16756526.6A patent/EP3262523B1/en active Active
- 2016-02-26 SG SG11201706160UA patent/SG11201706160UA/en unknown
- 2016-02-26 ES ES16756526T patent/ES2768979T3/es active Active
- 2016-02-26 US US15/055,467 patent/US10715574B2/en active Active
- 2016-02-26 CN CN201680012053.2A patent/CN107251008B/zh active Active
- 2016-02-26 WO PCT/US2016/019955 patent/WO2016138493A1/en active Application Filing
-
2018
- 2018-05-02 HK HK18105666.2A patent/HK1246423A1/zh not_active IP Right Cessation
-
2019
- 2019-08-09 JP JP2019147197A patent/JP6928038B2/ja active Active
-
2020
- 2020-07-10 US US16/926,207 patent/US11134115B2/en active Active
-
2021
- 2021-09-24 US US17/485,163 patent/US11824912B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7339993B1 (en) * | 1999-10-01 | 2008-03-04 | Vidiator Enterprises Inc. | Methods for transforming streaming video data |
US8532171B1 (en) * | 2010-12-23 | 2013-09-10 | Juniper Networks, Inc. | Multiple stream adaptive bit rate system |
US20120307886A1 (en) * | 2011-05-31 | 2012-12-06 | Broadcom Corporation | Adaptive Video Encoding Based on Predicted Wireless Channel Conditions |
US20130114744A1 (en) * | 2011-11-06 | 2013-05-09 | Akamai Technologies Inc. | Segmented parallel encoding with frame-aware, variable-size chunking |
US20140019593A1 (en) * | 2012-07-10 | 2014-01-16 | Vid Scale, Inc. | Quality-driven streaming |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019210152A1 (en) * | 2018-04-26 | 2019-10-31 | Phenix Real Time Solutions, Inc. | Adaptive bit-rate methods for live broadcasting |
US11019368B2 (en) | 2018-04-26 | 2021-05-25 | Phenix Real Time Solutions, Inc. | Adaptive bit-rate methods for live broadcasting |
US11363312B2 (en) | 2018-04-26 | 2022-06-14 | Phenix Real Time Solutions, Inc. | Adaptive bit-rate methods for live broadcasting |
US11711551B2 (en) | 2018-04-26 | 2023-07-25 | Phenix Real Time Solutions, Inc. | Adaptive bit-rate methods for live broadcasting |
US12058386B2 (en) | 2018-04-26 | 2024-08-06 | Phenix Real Time Solutions, Inc. | Adaptive bit-rate methods for live broadcasting |
Also Published As
Publication number | Publication date |
---|---|
US20160255131A1 (en) | 2016-09-01 |
JP2019193312A (ja) | 2019-10-31 |
EP3262523B1 (en) | 2019-12-04 |
EP3262523A1 (en) | 2018-01-03 |
EP3627337A1 (en) | 2020-03-25 |
JP6928038B2 (ja) | 2021-09-01 |
US10715574B2 (en) | 2020-07-14 |
ES2768979T3 (es) | 2020-06-24 |
KR101897959B1 (ko) | 2018-09-12 |
EP3262523A4 (en) | 2018-07-25 |
SG11201706160UA (en) | 2017-09-28 |
US20220124137A1 (en) | 2022-04-21 |
WO2016138493A1 (en) | 2016-09-01 |
CN107251008B (zh) | 2020-11-13 |
HK1246423A1 (zh) | 2018-09-07 |
CN107251008A (zh) | 2017-10-13 |
US11134115B2 (en) | 2021-09-28 |
JP6588987B2 (ja) | 2019-10-09 |
US11824912B2 (en) | 2023-11-21 |
JP2018511978A (ja) | 2018-04-26 |
US20200344284A1 (en) | 2020-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101897959B1 (ko) | 라이브 비디오 인코딩 및 스트리밍에서의 프레임 복제 및 프레임 확장을 위한 시스템 및 방법 | |
US9179183B2 (en) | Transcoding media streams using subchunking | |
US11201903B1 (en) | Time synchronization between live video streaming and live metadata | |
US20160037176A1 (en) | Automatic and adaptive selection of profiles for adaptive bit rate streaming | |
US11968431B2 (en) | Multimedia content delivery with reduced delay | |
US10863218B2 (en) | Method for synchronizing GOPS and IDR-frames on multiple encoders without communication | |
CN103733632A (zh) | 带宽变化连接上的动态比特率调节 | |
US11539985B2 (en) | No reference realtime video quality assessment | |
US10693642B1 (en) | Output switching for encoded content streams | |
US11563990B2 (en) | Method and apparatus for automatic HLS bitrate adaptation | |
US20220417084A1 (en) | Video transport stream stability prediction | |
US20210168472A1 (en) | Audio visual time base correction in adaptive bit rate applications | |
US20240187548A1 (en) | Dynamic resolution switching in live streams based on video quality assessment | |
US9866459B1 (en) | Origin failover for live streaming | |
US10277924B1 (en) | Stitching content streams together | |
US11909795B1 (en) | Input switching for streaming content |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |