KR101643790B1 - 적응적 비디오 스트리밍용의 가변 비트 레이트 및 동적 해상도를 이용한 다중 비트 레이트 비디오 인코딩 - Google Patents

적응적 비디오 스트리밍용의 가변 비트 레이트 및 동적 해상도를 이용한 다중 비트 레이트 비디오 인코딩 Download PDF

Info

Publication number
KR101643790B1
KR101643790B1 KR1020117017475A KR20117017475A KR101643790B1 KR 101643790 B1 KR101643790 B1 KR 101643790B1 KR 1020117017475 A KR1020117017475 A KR 1020117017475A KR 20117017475 A KR20117017475 A KR 20117017475A KR 101643790 B1 KR101643790 B1 KR 101643790B1
Authority
KR
South Korea
Prior art keywords
video
bit rate
resolution
encoding
encoded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020117017475A
Other languages
English (en)
Other versions
KR20110106419A (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 KR20110106419A publication Critical patent/KR20110106419A/ko
Application granted granted Critical
Publication of KR101643790B1 publication Critical patent/KR101643790B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • 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/124Quantisation
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

비디오 인코딩 시스템은, 더 높은 품질의 스트림을 위한 피크 비트 레이트 및 평균 비트 레이트 제약에 따라 인코딩된 비트 레이트가 변동하는 것을 허용하는 접근법을 이용하여 다중 비트 레이트 비디오 스트리밍용으로 비디오 스트림을 인코딩하는 반면, 최하위 비트 레이트 스트림은 고정 청크 레이트를 달성하도록 인코딩된다. 비디오 인코딩 시스템은 또한, 다중 비트 레이트 스트리밍에 대해 더 나은 시각적 경험을 달성하도록 비디오 복잡성에 따라 변동하는 다중 비트 레이트 비디오 스트림의 세그먼트들에 대한 인코딩 해상도를 동적으로 결정한다.

Description

적응적 비디오 스트리밍용의 가변 비트 레이트 및 동적 해상도를 이용한 다중 비트 레이트 비디오 인코딩{MULTIPLE BIT RATE VIDEO ENCODING USING VARIABLE BIT RATE AND DYNAMIC RESOLUTION FOR ADAPTIVE VIDEO STREAMING}
인터넷과 같은 네트워크를 통한 스트리밍 오디오 및 비디오 재생의 인기가 날로 증가함에 따라, 재생 동안 네트워크 상태가 일관적이지 못하더라도 클라이언트의 경험을 최대화시키도록 서버로부터 클라이언트로 전송되는 데이터를 최적화할 필요성이 있다. 클라이언트의 경험을 최적화하는 것은, 비디오 콘텐츠의 품질을 유지하면서 비디오가 중단되지 않고 전송되어 재구성될 수 있도록, 비디오 재생의 오디오 및 비디오 부분을 인코딩하기 위한 품질 수준을 선택하는 것을 포함한다.
품질 수준은 대체로, 입력 스트림의 인코딩된 오디오 또는 비디오 부분에 대해 명시된 비트 레이트에 의해 좌우된다. 더 높은 비트 레이트는 대체로, 원본 오디오 또는 비디오에 대한 더 많은 정보량이 인코딩되어 유지된다는 것을 나타내고, 따라서, 비디오 재생 동안에 원본 입력 오디오 또는 비디오의 더 정확한 재생이 제공될 것이다. 역으로, 더 낮은 비트 레이트는, 원본 입력 오디오 또는 비디오에 대한 더 적은 정보가 인코딩되어 유지된다는 것을 나타내고, 따라서 비디오 재생 동안에 원본 오디오 또는 비디오의 덜 정확한 재생이 제공될 것이다.
일반적으로, 몇가지 요인에 기초하여 오디오 및 비디오 각각을 인코딩하기 위한 비트 레이트가 명시된다. 제1 요인은, 서버와 클라이언트 사이의 네트워크 상태이다. 많은 양의 데이터를 전송할 수 있는 네트워크 접속은, 네트워크 접속을 통해 후속해서 전송되는 입력 비디오에 대해 더 높은 비트 레이트가 명시될 수 있음을 나타낸다. 제2 요인은, 원하는 기동 레이턴시(start up latency)이다. 기동 레이턴시는, 처음 기동시, 수신, 처리, 및 버퍼링되어야 하는 많은 데이터량 때문에 비디오 재생 툴이 겪는 지연이다. 제3 요인은 글리칭(glitching)에 대한 내성이다. 글리칭은, 데이터 소실 때문에 비디오 재생이 중단되어야 하는 때이다. 대부분의 경우, 어떠한 양의 기동 레이턴시 또는 글리칭이라도 참기 어렵기 때문에, 기동 레이턴시 및 글리칭이 최소화되거나 제거되도록 명시된 비트 레이트를 최적화하는 것이 바람직하다.
현재 이용가능한 상업용 스트리밍 미디어 시스템은, 코딩 레이트 제어를 수행하기 위해 다중 비트 레이트(MBR; Multi Bit Rate) 코딩에 의존한다. MBR 코딩에서, 소스 비디오 콘텐츠는 상이한 코딩 레이트의 대안적 비트 스트림(alternative bit stream)들로 인코딩되고, 전형적으로, 서버의 동일한 미디어 파일에 저장된다. 그 다음 이것은, 변화하는 네트워크 상태에 따라 상이한 코딩 레이트에 대응하는 변동하는 품질 수준의 세그먼트 또는 청크(chunk)들로, 전형적으로는 세그먼트들 사이에서 전환하는 비트 스트림을 이용하여, 콘텐츠가 스트리밍되는 것을 허용한다.
현재 이용가능한 다중 비트 레이트 비디오 스트리밍 시스템은, 각각의 대안적 비디오 스트림의 인코딩에 대해 고정 비트 레이트 접근법을 이용한다. 그러나, 전형적인 비디오는 대체로 광범위한 시각적 복잡성을 갖는 장면(scene)을 포함한다. 그러나, 고정 비트 레이트 접근법은, 상이한 품질로 비디오 세그먼트들을 효과적으로 인코딩할 수 없다. 고정 비트 레이트 접근법은, 낮은 복잡성의 비디오 세그먼트 인코딩에 대해 너무 많은 비트들을 불필요하게 소비하고, 역으로, 높은 복잡성의 장면들에는 너무 적은 비트들이 할당된다. 결과적으로, 대안적 스트림의 인코딩에 대한 고정 비트 레이트 접근법은, 바람직하지 않고 자주 변동하는 인터넷 스트리밍용 비디오 품질을 초래한다.
현재 이용가능한 다중 비트 레이트 비디오 스트리밍 시스템은 또한, 최종 디스플레이 해상도가 고정될 것을 추가로 요구한다. 고정된 디스플레이 해상도를 유지함으로써, 다중 비트 레이트의 비디오 스트림들은, 글리치없는 비디오 프리젠테이션을 달성하기 위하여, 모두 디코딩되어 이러한 동일한 최종 디스플레이 해상도로 스케일링될 수 있다. 이러한 고정된 디스플레이 해상도와 더불어, 다양한 대안적 비디오 스트림들은 초당 수메가 비트에서 초당 수 킬로비트에 이르기까지 광범위한 비트 레이트를 가질 수 있다. 한 문제는, 적절한 비디오 해상도를 각각의 비디오 스트림 비트 레이트에 정합시키는 것이다. 현재 이용가능한 다중 비트 레이트 비디오 스트리밍 시스템은, 미리정의된 인코딩 해상도를 이용하고, 이것은 다시 한번 비디오 장면들의 변동하는 복잡성에 그렇게 적합하지 않을 수 있다. 낮은 복잡성의 비디오에 대해, 미리정의된 해상도는 너무 작을 수 있다. 복잡한 비디오에 대해, 미리정의된 해상도는 너무 클 수 있다.
이하의 상세한 설명은 대체로 더 높은 품질의 비디오를 달성하도록 각각의 비트 레이트에서의 가용 비트들을 더 잘 이용하도록 의도된, 다중 비트 레이트 비디오 인코딩을 위한 (방법, 장치, 및 시스템을 통해 구현된) 기술에 관한 것이다.
본 명세서에서 설명되는 한 기술에 따르면, 다중 비트 레이트 비디오 인코더는, 더 일관된 비디오 품질을 제공할 목적으로 다중 비트 레이트 비디오 스트리밍용의 복수의 비디오 스트림을 인코딩한다. 최고 비트 레이트의 비디오 스트림의 인코딩의 경우, 스트림이 인코딩되는 비트 레이트는, 소정의 제약, 즉, 피크 비트 레이트 제약 및 평균 비트 레이트 제약에 따라 변동하는 것이 허용된다. 최저 비트 레이트 스트림의 경우, 다중 비트 레이트 비디오 인코더는, 일정한 청크(소정 크기의 픽쳐 그룹) 레이트 접근법으로 스트림을 인코딩한다. 중간 비트 레이트의 비디오 스트림은, (감소하는 피크 및 평균 비트 레이트 제약에 따라) 점진적으로 감소하는 가변 비트 레이트에서 인코딩된다.
본 명세서에서 설명되는 추가의 기술에 따르면, 다중 비트 레이트 비디오 인코더는 또한, 스트림의 비디오 해상도를 동적으로 변동시킨다. 각각의 비트 레이트에 대해, 비디오 인코더는, 더 나은 시각적 품질을 달성하기 위해 (하나 이상의 픽쳐 그룹들을 포함할 수 있는) 장면의 비디오 콘텐츠에 기초하여 해상도를 동적으로 결정한다. 다중 비트 레이트 비디오 인코더는, 덜 복잡한 비디오 콘텐츠를 갖는 픽쳐 그룹들에 대해서는 더 높은 비디오 해상도를 선택하는 반면, 더 높은 복잡성을 갖는 픽쳐 그룹들에 대해서는 더 낮은 해상도가 할당된다. 이러한 동적 해상도 접근법은, 다중 비트 레이트 비디오 인코더가, 주어진 비트 레이트에 대해 일반적으로 더 나은 비디오 품질을 달성하는 것을 허용한다.
본 요약은, 이하의 상세한 설명에서 추가로 기술되는 간략화된 형태의 선택된 개념들을 소개하기 위해 제공된다. 본 요약은 청구 대상의 핵심적인 특징 또는 본질적인 특징을 식별하려고 의도한 것도 아니고, 청구 대상의 범위를 결정하는데 있어서 보조물로서 사용하려고 의도한 것도 아니다. 본 발명의 추가적인 특징 및 잇점들은, 첨부된 도면을 참조하여 진행되는 실시예들의 이하의 상세한 설명으로부터 명백해질 것이다.
도 1은, 가변 비트 레이트에서 세그먼트화된 비디오 스트리밍을 제공하는 비디오 스트리밍 시스템의 일반화된 구현의 블록도이다.
도 2는, 도 1의 비디오 스트리밍 시스템에 대해 가변 비트 레이트에서 스트림을 인코딩하기 위한 비디오 인코더의 블록도이다.
도 3은, 도 1의 시스템에 의한 스트리밍용으로 도 2의 비디오 인코더를 이용하여 비디오 인코딩에 대해 가변 비트 레이트 접근법 및 동적 해상도 접근법을 적용하는 다중 비트 레이트 비디오 인코딩 시스템에 대한 프로세스 흐름도이다.
도 4는, 동적 해상도 선택에 대한 3 포인트 샘플링 접근법에서 사용하기 위한 예시적 스트림에 대한 해상도, 양자화 단계 크기, 및 코딩된 크기간의 관계의 그래프이다.
도 5는, 다중 비트 레이트 비디오 인코딩 시스템에 의한 동적 해상도 결정을 위한 프로세스 흐름도이다.
도 6은, 기술된 다양한 실시예들이 구현될 수 있는 일반화된 환경의 블록도이다.
이하의 상세한 설명은, 스트리밍용으로 다중 비트 레이트에서 비디오 스트림을 생성하기 위해 가변 비트 레이트 및 동적 해상도를 이용한 비디오 인코딩을 위한 다양한 기술 및 시스템에 관한 것이다. 비록 기술들이 다중 비트 레이트 스트리밍 애플리케이션에 대한 적용의 정황에서 설명되지만, 이 기술들은 다른 비디오 인코딩 애플리케이션들에 더 광범위하게 적용될 수 있다.
본 명세서에서 기술된 다양한 기술 및 툴은 독립적으로 이용될 수 있다. 기술들 및 툴들의 일부는 조합하여 이용될 수도 있다. 다양한 기술들이 처리 동작들의 흐름도를 참조하여 이하에서 설명된다. 흐름도에 도시된 다양한 처리 동작들은, 더 적은 수의 동작들로 통합되거나 더 많은 수의 동작들로 분리될 수 있다. 간략화를 위해, 특정한 흐름도에 도시된 동작들의, 다른 곳에서 설명되는 동작들에 대한 관계는 종종 도시되지 않는다. 많은 경우에 있어서, 흐름도 내의 동작들은 재정렬될 수 있다.
I. 다중 비트 레이트 비디오 스트리밍
도 1은, 인덱싱된 비디오 스트림 파일에 포함된 멀티미디어 콘텐츠의 세그먼트화된 스트리밍을 위한 시스템(100)의 일반화된 블록도를 도시한다. 인덱싱된 파일은 일반적으로, 멀티미디어 프로그램의 비디오를 복수의 스트리밍 세그먼트들로 분할하고, 다양한 비트 레이트의 비디오 세그먼트를 나타내는 다수의 압축된 비디오 스트림을 포함한다. 비록 MBR 비디오 스트림들이 별개의 코딩된 스트림들로서 기술되지만, 대안적 구현들은, MBR 비디오 스트림들의 일부 또는 전부를 다중 코딩층을 갖는 하나의 코딩된 압축 비디오 스트림으로서 인코딩할 수 있다. 시스템(100)에서, 서버(110)(예를 들어, 표준 HTTP 서버와 같은 서버 컴퓨터 시스템)는, 네트워크(130)(예를 들어, 인터넷)를 통해 클라이언트(120)(예를 들어, 랩탑 또는 데스크탑 컴퓨터와 같은 클라이언트 컴퓨터 시스템, 또는 PDA나 모바일 전화와 같은 다른 타입의 컴퓨팅 장치)에 멀티미디어 콘텐츠를 제공한다. 시스템(100)에서, 서버(110)는 프로그램들을 인덱싱된 파일로 저장한다. 클라이언트(120)는 클라이언트측 레이트 제어 소프트웨어 및/또는 하드웨어를 포함한다.
한 특정한 구현예에서, 서버(110)는, 파일을 서빙하는 능력 외의 임의의 전문화된 스트리밍 기능을 구비하지 않은 표준 HTTP 서버이다. 서버(110)는 임의의 전문화된 비트 레이트 선택 기능을 지원하지 않기 때문에, 클라이언트(120)는 모든 비트 레이트 선택 동작을 수행해야 한다. 이 구현에서, 클라이언트(120)는 모든 비트 레이트 선택 동작을 수행한다. 예를 들어, 클라이언트(120)는, 서버(110)로부터 얻어진 인덱스 정보를 (예를 들어, 단독으로, 또는 클라이언트 버퍼 정보, 네트워크 대역폭 등과 같은 기타의 정보와 조합하여) 이용하여 레이트 제어를 수행할 수 있다. 그러나, 다른 구현에서, 레이트-제어 기능들의 일부 또는 전부는 서버에서 발생할 수 있다.
일반적으로, 다중 비트 레이트 스트리밍을 위한 인덱싱된 파일은, 비트 레이트 선택(레이트 제어) 동작이 클라이언트측에서(예를 들어, 배타적으로 클라이언트측에서) 수행되면서 다중 비트 레이트에서 멀티미디어 콘텐츠를 서빙하기 위해, 표준 HTTP 서버에 의해 이용될 수 있다. 클라이언트는 먼저, 프로그램의 세그먼트를 스트리밍하는데 이용가능한 다양한 비트 레이트를 기술하는 인덱스 정보를 서버로부터 획득함으로써 레이트 제어를 수행할 수 있다. 인덱스 정보, 및 아마도 기타의 정보(예를 들어, 네트워크 대역폭, 버퍼 정보 등)에 기초하여, 클라이언트는 원하는 사용자 경험(예를 들어, 가용 비트 레이트 및 현재의 네트워크 상태에 기초한 최상의 사용자 경험)을 제공하기 위해 서버로부터 다운로드할 스트리밍 세그먼트들의 비트 레이트를 결정할 수 있다.
(예를 들어, 전통적인 HTTP 서버가 아닌) 다른 타입의 컴퓨팅 장치들은, 인덱싱된 파일을 이용하여 파일을 제공할 수 있다. 예를 들어, 컴퓨팅 장치(예를 들어, 개인용 컴퓨터, 서버 컴퓨터, 또는 특별 목적 스트리밍 미디어 서버)는, 다양한 파일 서빙 프로토콜(예를 들어, 파일 전송 프로토콜(FTP), 하이퍼텍스트 전송 프로토콜(HTTP), 실시간 스트리밍 프로토콜(RTSP), MMS(마이크로소프트 미디어 서비스) 등)을 이용하여 멀티미디어 콘텐츠를 서빙하기 위해 인덱싱된 파일 레이아웃을 이용할 수 있다.
비트 레이트 전환을 지원하기 위해, 프로그램들은 스트리밍 세그먼트(자체-포함된 유닛)라 불리는 시간적 청크(chunk)로 분할된다. 서버는 하나 이상의 비트 레이트에서 각각의 스트리밍 세그먼트를 저장한다(예를 들어, 각각의 스트리밍 세그먼트-비트 레이트 조합은 별개의 스트리밍 세그먼트 인코딩이다). 각각의 스트리밍 세그먼트는, 프로그램의 특정한 트랙(예를 들어, 영어 오디오 트랙과 같은 특정한 오디오 트랙이나, 특정한 비디오 트랙)에 대해 하나 이상의 가용 비트 레이트 인코딩을 포함한다. 그 다음, 클라이언트는, 각각의 스트리밍 세그먼트에 대해 다운로드할 비트 레이트를 가용 비트 레이트들(예를 들어, 가용 스트리밍 세그먼트 인코딩)로부터 결정한다. 예를 들어, 클라이언트는, (제1 스트리밍 세그먼트에 대한 하나 이상의 가용 스트리밍 세그먼트 인코딩으로부터) 250Kb/sec(초당 킬로비트)로 인코딩된 비디오 트랙에 대해 제1 스트리밍 세그먼트를 얻을 수 있으며, (제2 스트리밍 세그먼트에 대한 하나 이상의 가용 스트리밍 세그먼트 인코딩으로부터) 500Kb/sec(초당 킬로비트)로 인코딩된 비디오 트랙에 대해 제2 스트리밍 세그먼트를 얻을 수 있으며, (제3 스트리밍 세그먼트에 대한 하나 이상의 가용 스트리밍 세그먼트 인코딩으로부터) 1Mb/sec(초당 메가비트)로 인코딩된 비디오 트랙에 대해 제3 스트리밍 세그먼트를 얻을 수 있다. 예시된 스트리밍 시스템(100)에서, 인덱싱된 파일에 포함된 각각의 스트리밍 세그먼트는, 이하에서 기술되는 바와 같이, 가변 비트 레이트(VBR) 및 가변 해상도에서 비디오 인코더에 의해 인코딩된다.
II . 비디오 인코더 개요
도 2는, 다중 비트 레이트 비디오 스트리밍용으로 비디오를 인코딩하기 위해 사용될 수 있는 비디오 인코더(200)의 한 예를 도시한다. 비디오 인코더(200)는, 비디오 콘텐츠의 "미가공(raw)"(압축되지 않은) 프레임들과, 비디오 콘텐츠의 앞서 계산된 모션 정보를 수신하기 위한 입력들(210, 220)을 가진다. 그 다음, 비디오 인코더는 비디오 콘텐츠의 기준 프레임들의 인트라-프레임 코딩(intra-frame coding)을 수행하고, 비디오 콘텐츠의 예측된 프레임들의 인터-프레임 코딩(inter-frame coding)을 수행하기 위해 모션 정보를 이용한다. 인코딩은, 윈도우즈 미디어 비디오 포맷, SMPTE 421-M 포맷, MPEG-x 포맷(예를 들어, MPEG-1, MPEG-2 또는 MPEG-4), H.26x 포맷(예를 들어, H.261, H.262, H.263, 또는 H.264) 또는 기타의 포맷과 같은 공지된 비디오 인코딩 표준에 따라 수행될 수 있다. 그러나, 인터-프레임 코딩의 경우, 비디오 인코더는 프레임에 대한 자신의 모션 추정을 수행하는 것이 아니라, 예측된 프레임의 인터-프레임 코딩에 대한 미리-계산된 모션 정보를 이용할 것을 선택할 수 있다. 비디오 인코더는, 비디오 콘텐츠를, 출력(230)으로서 제공되는 압축된 비트스트림으로 인코딩한다. 비디오 인코더는 또한, (다중 비트 레이트 비디오 스트리밍용으로 더 낮은 비트 레이트 비디오 스트림을 인코딩하기 위한 경우에서와 같이) 입력 비디오 콘텐츠의 인터-프레임 압축에 이용되는 모션 정보를, 모션 정보 출력(240)으로서 출력할 수 있다.
도 2는, 다중 비트 레이트 비디오 스트리밍 시스템(100)에 대해 가변 비트 레이트 및 가변 해상도 인코딩을 이용하여 다중 비트 레이트 비디오 스트림을 생성하기 위한 비디오 인코더(200)의 한 예시적인 적절한 구현을 도시하는 일반화된 블록도이다. 비디오 인코더(200)는 비디오 픽쳐 시퀀스(프레임들)를 미가공 비디오 콘텐츠 입력(210)으로서 수신하고, 압축된 비트 스트림(230)을 출력으로서 생성한다.
비디오 인코더(200)는 비디오 픽쳐를 처리한다. 용어 "픽쳐"는 일반적으로 소스, 코딩된, 또는 재구성된 이미지 데이터를 말한다. 프로그레시브 비디오의 경우, 픽쳐는 프로그레시브 비디오 프레임이고, 인터레이싱된 비디오의 경우, 픽쳐는, 상황에 따라, 인터레이싱된 비디오 프레임, 프레임의 최상위(top) 필드, 또는 프레임의 최하위(bottom) 필드를 말한다.
비디오 인코더(200)는, 입력 비디오의 인터-코딩된, 예측된 픽쳐들과, 입력 비디오의 인트라-코딩된 픽쳐들을 압축한다. 프리젠테이션을 위해, 도 2는, 인코더(200)를 통한 인트라-코딩된 프레임들에 대한 경로와, 인터-코딩된 예측된 프레임들에 대한 경로를 도시한다. 비디오 인코더(200)의 많은 컴포넌트들은, 인트라-코딩된 콘텐츠와, 인터-코딩된, 예측된 콘텐츠 모두를 압축하기 위해 사용된다. 이들 컴포넌트들에 의해 수행되는 정확한 동작은, 압축되고 있는 정보의 타입에 따라 변동할 수 있다.
일반적으로, 비디오 인코더(200) 내에서, (픽쳐로서의) 인터-코딩된, 예측된 프레임은, (통상, 기준 픽쳐 또는 앵커라 불리는, 하나 이상의 다른 픽쳐로서의) 앞서 재구성된 콘텐츠의 예측의 관점에서 표현된다. 예를 들어, 주어진 시간에서의 콘텐츠는, 프로그레시브 P-프레임 또는 B-프레임, 인터레이싱된 P-필드 또는 B-필드, 또는 인터레이싱된 P-프레임 또는 B-프레임으로서 인코딩된다. 비디오 인코더(200) 내에서, 예측 잔차(prediction residual)는, 예측된 정보와 대응하는 인트라-코딩된 프레임간의 차이이다.
인터-경로(inter-path) 상의 입력 비디오(110) 콘텐츠는, 모션 정보에 기초하여 예측된 픽쳐로서 인코딩된다. 만일 소정의 조건이 만족되면, 비디오 인코더(100)는, 매크로블록에 대한 모션 벡터 세트 또는 시퀀스의 형태이거나 하나 이상의 기준 픽쳐에 관한 인터-경로 비디오 픽쳐의 기타의 샘플 세트의 형태일 수 있는, (선택 스위치(256)로 예시된) 입력(120)으로부터의 미리-계산된 모션 정보를 이용한다. 일반적으로, 미리-계산된 모션 정보를 이용하는 선택은, 첫번째, 미리-계산된 모션 정보의 가용성과, 두번째, 비디오 콘텐츠의 현재 인코딩을 위해 이용된 파라미터와 모션 정보의 앞서의 계산으로부터 인코딩 파라미터들이 변했는지의 여부 및 어느 인코딩 파라미터가 변했는지에 기초할 수 있다. 한 예에서, 비디오 인코더는, 만일 비디오 인코더가 현재 인코딩하고 있는 비디오 해상도와는 상이한 비디오 해상도로 비디오 콘텐츠를 인코딩하기 위해 모션 정보가 계산되었다면, 입력(130)으로부터의 앞서 계산된 모션 정보를 이용하지 않기로 선택할 것이다.
그러나, 비디오 인코더(100)는 대신에, (다시 한번, 선택 스위치(256)에 의해 예시된 바와 같이) 모션 추정기(258)를 이용하여 인터-경로 비디오 콘텐츠(110)에 대한 새로운 모션 추정을 수행하기로 선택할 수 있다. 모션 추정기(258)는, 앞서 인코딩된 비디오 콘텐츠 프레임들의 재구성을 나타내는, 하나 이상의 기준 픽쳐에 관하여 비디오 콘텐츠의 매크로블록 또는 기타의 샘플 세트의 모션을 추정한다. 픽쳐 저장소(264)는 이 재구성된 비디오 콘텐츠(266)를 기준 픽쳐 또는 픽쳐들로서 버퍼링한다. 복수의 기준 픽쳐가 이용될 때, 복수의 기준 픽쳐는, 상이한 시간적 방향 또는 동일한 시간적 방향으로부터 온 것일 수 있다. 모션 추정기(258)는, 모션 벡터 정보와 같은 모션 정보(260)를 출력한다.
모션 보상기(262)는, 모션-보상된 현재 픽쳐(268)를 형성할 때 (기준 픽쳐(들)로서 저장된) 소정의 재구성된 비디오 콘텐츠(266)에 모션 벡터를 적용한다. 모션-보상된 픽쳐 블록(268)과 원래의 인터-경로 비디오 픽쳐의 대응하는 블록간의 차이(있는 경우)는, 블록에 대한 예측 잔차(270)이다. (예를 들어, 비디오 디코더에서의) 인터-경로 비디오 프레임의 나중의 재구성 동안에, 재구성된 예측 잔차는, 원래의 인터-경로 비디오(256)에 더 가까운 재구성된 콘텐츠를 얻기 위해 모션 보상된 잔차 비디오(268)에 추가된다. 그러나, 손실성 압축에서, 원래의 인터-경로 비디오로부터 약간의 정보가 여전히 소실된다. 대안으로서, 모션 추정기 및 모션 보상기는 또 다른 타입의 모션 추정/보상을 적용한다.
주파수 변환기(280)는, 공간 영역 비디오 정보를 주파수 영역(즉, 스펙트럼, 변환) 데이터로 변환한다. 블록-기반의 비디오 콘텐츠의 경우, 주파수 변환기(280)는, 샘플 또는 예측 잔차 데이터 블록에, DCT, DCT의 변종, 또는 기타의 포워드 블록 변환을 적용하여, 주파수 변환 계수의 블록들을 생성한다. 주파수 변환기(280)는, 8×8, 8×4, 4×8, 4×4 또는 기타 크기의 주파수 변환을 적용할 수 있다.
그 다음, 양자화기(282)는 변환 계수의 블록들을 양자화한다. 양자화기(282)는, 픽쳐별로, 매크로블록별로, 또는 기타에 기초하여 공간적으로 변동하는 단계 크기로 스펙트럼 데이터에 비-균일의, 스칼라 양자화를 적용한다. 추가적으로, 몇몇 경우 양자화기는 층간 잔차 비디오 픽쳐의 컬러 채널들에 걸쳐 양자화를 변화시킨다. 양자화기(282)는 또한, 또 다른 타입의 양자화, 예를 들어, 적어도 일부의 스펙트럼 데이터 계수들에 대한 균일 또는 적응적 양자화를 적용하거나, 주파수 변환을 이용하지 않는 인코더 시스템에서 공간 영역 데이터를 직접 양자화할 수 있다.
인터-경로 비디오 픽쳐의 후속된 모션 추정/보상을 위해 재구성된 비디오 콘텐츠가 필요할 때, 역양자화기(290)는 양자화된 스펙트럼 데이터 계수에 관해 역양자화를 수행한다. 역 주파수 변환기(292)는 역 주파수 변환을 수행하여, (예측된 인터-경로 잔차 비디오 콘텐츠에 대해) 재구성된 예측 잔차의 블록, 또는 (인트라-경로 잔차 비디오 콘텐츠에 대해) 샘플을 생성한다. 만일 잔차 비디오 콘텐츠(256)가 모션-보상 예측되었다면, 재구성된 예측 잔차는 모션 보상된 예측기(268)에 추가되어 재구성된 잔차 비디오를 형성한다. 픽쳐 저장소(264)는 후속된 모션-보상된 예측에서 사용하기 위해 재구성된 잔차 비디오를 버퍼링한다.
엔트로피 코더(284)는 소정의 부수 정보(side information)(예를 들어, 양자화 파라미터 값) 외에도 양자화기(282)의 출력을 압축한다. 전형적인 엔트로피 코딩 기술은, 산술 코딩(arithmetic coding), 차분 코딩(differential coding), 허프만 코딩(Huffman coding), 실행 길이 코딩(run length coding), LZ 코딩, 사전적 코딩(dictionary coding), 및 이들의 조합을 포함한다. 엔트로피 코더(284)는 전형적으로, 상이한 종류의 정보에 대해 상이한 코딩 기술을 이용하며, 특정한 코딩 기술 내에서 복수의 코드 테이블들 중에서 선택할 수 있다.
비디오 인코더(240)가 인트라-경로 비디오 콘텐츠의 인트라-압축을 수행할 때, 인코더는 이것을 모션 보상없이 인트라-코딩된 픽쳐로서 인트라-압축한다. 비디오(256)는, 주파수 변환기(280), 양자화기(282), 및 엔트로피 코더(284)에 직접 제공되고, 인코딩된 비디오로서 출력된다. 재구성된 버전의 인트라-코딩된 비디오는, 다른 인터-경로 비디오의 후속된 모션 보상에서 사용하기 위해 버퍼링될 수 있다.
제어기(294)는, 모션 추정기(258), 주파수 변환기(280), 양자화기(282), 역양자화기(290), 및 엔트로피 코더(284)와 같은 다양한 모듈들로부터의 입력을 수신한다. 제어기(294)는 인코딩 동안에 중간 결과를 평가, 예를 들어, 양자화 단계 크기를 설정하고 레이트-왜곡 분석을 수행한다. 제어기(294)는, 인코딩 동안에 코딩 파라미터들을 설정 및 변경하기 위해 다른 모듈과 함께 작업한다. 제어기(294)가 상이한 코딩 파라미터 선택들을 평가할 때, 제어기(294)는 상이한 파라미터 설정들을 평가하기 위해 소정의 스테이지를 반복적으로 수행하거나, 상이한 코딩 파라미터들을 공동으로 평가할 수 있다. 평가될 코딩 파라미터 결정의 트리(tree), 및 대응하는 인코딩의 타이밍은 구현에 따라 달라진다. 일부 구현에서, 제어기(294)는 또한, 특정할 룰을 이용하여 인코딩될 비디오를 지정하기 위해, 인코딩 세션 위저드 인터페이스, 기타의 인코더 애플리케이션 인터페이스, 또는 기타의 소스로부터 입력을 수신한다.
III . MBR 스트림의 가변 비트 레이트 인코딩
다중 비트 레이트 비디오 스트리밍 시스템(100)(도 1)의 경우, 다중 비트 레이트 비디오 인코딩 시스템은, 입력 비디오를, 연속 감소하는 전체 비트 레이트를 갖는 한 세트의 압축된 비디오 스트림으로서 별도로 인코딩한다. 본 명세서에서는 별개의 개개 MBR 비디오 스트림을 인코딩하는 것으로 기술되지만, MBR 비디오 스트리밍 시스템과 인코딩 시스템의 대안적 구현은, 하나 이상의 MBR 비디오 스트림을 복수의 분리가능한 코딩층을 갖는 압축된 비디오 스트림으로서 인코딩할 수 있다. 다중 비트 레이트 비디오 인코딩 시스템은, 여기서 및 이하의 섹션에서 기술되는 가변 비트 레이트 및 동적 해상도 접근법을 구현하는 (도 3에 도시된 바와 같은) 다중 비트 레이트 인코딩 프로세스에 따라 변동하는 인코딩 파라미터들로 입력 비디오를 인코딩하도록 비디오 인코더(200)(도 2)를 구동하는 MBR 인코딩 엔진(미도시)을 포함한다. MBR 인코딩 엔진은, 스트림의 갯수 및 이하에서 언급하는 기타의 파라미터들과 같은, 파라미터들을 MBR 비디오 스트림 인코딩용으로 구성하기 위해 사용자 입력을 수신하기 위한 사용자 인터페이스 또는 콘솔(또는 대안으로서 콜러(caller) 애플리케이션으로부터 이와 같은 입력을 수신하기 위한 애플리케이션 프로그래밍 인터페이스)을 제공할 수 있다.
(복수의 비디오 스트림 인코딩에 대해 고정 비트 레이트 접근법을 이용하는) 다른 현재 이용가능한 다중 비트 레이트 비디오 스트리밍 시스템과는 대조적으로, 다중 비트 레이트 비디오 스트림 시스템(100)을 위한 MBR 인코딩 시스템은, 각각의 비디오 스트림에 대해 일정하거나 일관된 품질을 제공하는 것을 목표로 한다. (일반적으로 최고 전체 비트 레이트를 갖는) 최상위 MBR 비디오 스트림의 경우, 비디오 인코더(200)는, 명시된 평균 비트 레이트를 만족하면서 명시된 피크 비트 레이트 아래에 떨어지도록 제약된 가변 비트 레이트로 비디오 스트림을 인코딩한다. (일반적으로 세트 중 최저 비트 레이트를 갖는) 최하위 MBR 스트림의 경우, 비디오 인코더는 고정 청크 레이트 접근법을 이용한다. 다중 비트 레이트 비디오 스트리밍 시스템의 상황에서, 용어 청크는 비디오 스트림이 세그먼트화되어 들어가는 한 그룹의 픽쳐(GOP)를 말하며, 비디오 스트리밍 시스템이 비디오 스트림들 사이의 개개의 세그먼트들의 재생을 전환할 수 있는 입상도(level of granularity)를 정의한다. 고정 청크 레이트 접근법은, 최저 비트 레이트 또는 품질의 비디오 스트림이 스트리밍될 때, 클라이언트가 비디오의 최소 품질의 연속된 재생을 유지하도록 고정 레이트에서 청크 픽처량(chunk amount of picture)을 수신할 것이라는 점에서, 비디오 스트리밍 시스템이 스트리밍의 예측가능성을 보장하는 것을 가능케 한다.
최저 및 최고 전체 비트 레이트 스트림들 사이에서, 비디오 인코더는, 일정한 비디오 품질을 유지하는 것을 목적으로 하는 피크 비트 레이트 및 평균 비트 레이트의 제약 내에서 가변 비트 레이트 코딩을 또한 이용하여 하나 이상의 중간 비디오 스트림을 인코딩한다. 중간 비디오 스트림의 피크 및 평균 비트 레이트 제약은, 비례적, 대수적(logarithmic) 또는 기타의 감소 방식으로 점진적으로 감소하도록 명시될 수 있다. 예를 들어, 중간 스트림의 평균 비트 레이트는, 최고 비트 레이트 비디오 스트림의 평균 비트 레이트 제약의 3/4, 1/2, 및 1/4이 되도록 비례적으로 감소할 수 있다. 이런 식으로, 비디오 스트리밍 시스템(100)은, 즉각적 개시와, 보장된 낮은 고정 청크 레이트로부터 최고 품질 가변 레이트 비트 스트림까지의 신속한 비디오 전환을 제공할 수 있다. 고정 청크 레이트 뿐만 아니라 피크 및 평균 비트 레이트는 사용자에 의해 구성될 수 있는 인코딩 파라미터들이다. 이들 파라미터들은 사용자에 의해 명시적으로 구성되거나, 사용자에 의해 입력된 더 일반화된 파라미터들에 기초하여 MBR 인코딩 시스템 엔진에 의해 계산될 수 있다. 예를 들어, MBR 인코딩 엔진은, 사용자(또는 콜러 애플리케이션)가 단순히 최소 및 최대 목표 비트 레이트와 비디오 비트 스트림 또는 층의 갯수를 명시하는 자동 모드(automatic mode)를 가질 수 있다. 그러면, 이 자동 모드에서의 엔진은, 균일의, 대수의, 또는 기타의 분포 공간에서 모든 중간 비트 레이트 제약(피크 및 평균)을 계산한다.
이제 도 3을 참조하면, MBR 인코딩 시스템은, 2 패스 인코딩 접근법을 이용하는 프로세스(300)로 MBR 비디오 스트림 세트를 인코딩한다. 이 프로세스는 분석 패스(analysis pass)와 인코딩 패스(encoding pass)를 포함한다. 분석 패스의 목적은, 인코딩 구성 뿐만 아니라 입력 비디오 소스 자료 자체에 기초하여 비디오 콘텐츠의 장면 복잡성을 알아내는 것이다. 일단 분석 패스에서 이 정보가 추출되고 나면, 후속하는 인코딩 패스는 다음으로 MBR 비디오 스트림 세트를 생성한다.
MBR 인코딩 프로세스(300)는 초기화 단계(310)에서 시작한다. 이 단계에서, MBR 인코딩 프로세스는, 무엇보다도, MBR 비디오 스트림의 수, 스트림들에 대한 피크 및 평균 비트 레이트 제약, 및 최저 품질 MBR 비디오 스트림의 고정 청크 레이트, 및 세그먼트 파라미터들을 포함한, 인코딩을 위한 파라미터들을 사용자 입력으로부터 결정한다.
MBR 인코딩 프로세스(300)의 분석 패스는 동작들(311-314)을 포함한다. 분석 패스에서, MBR 인코딩 엔진은 입력 소스 비디오를 프레임별로 분석한다. 분석은, 장면 변경 검출, 장면 변경 경계들 사이의 비디오 시퀀스를 픽쳐 세그먼트 그룹으로 세그먼트화하기, 및 비디오 프레임 복잡성 측정을 포함한 다수의 상이한 태스크를 포함한다. 장면 변경 검출에 기초하여, MBR 인코딩 엔진은 비디오 동안에 장면 변경이 발생하는 경계들을 마킹한다. 비디오 시퀀스의 마킹된 경계들(시퀀스 마크-인과 시퀀스 마크-아웃 위치들) 사이에서, MBR 인코딩 프로세스(300)는 또한, (장면 내의 명시된 평균 GOP 길이 및 최대 허용 GOP 길이와 같은) 사용자-명시된 제약 내에서 비디오 시퀀스가 분할되어 들어가는 픽쳐 세그먼트 그룹의 총 갯수를 결정하고, 각각의 픽쳐 그룹의 경계를 설정한다. 일단 GOP 경계들이 정의되고 나면, 각각의 GOP 내의 프레임들의 총 갯수는 MBR 인코딩 엔진에 의해 계산된다. MBR 인코딩 엔진은 또한, 다음 절에서 기술되는 가변 해상도 인코딩에서 사용되는, 각각의 픽쳐 그룹의 프레임마다 한 세트의 3개 텍스쳐 측정치를 계산한다. 3개 텍스쳐 측정치는, 프레임 전역 텍스쳐, 프레임 수평 텍스쳐, 및 프레임 수직 텍스쳐 측정치를 포함한다. MBR 엔진은, 동작(314)에 표시된 바와 같이, 이들 분석 패스 결과(장면 및 GOP 경계, 및 텍스쳐 측정치)를 로그 파일(log file) 내에 기록한다.
인코딩 패스(동작 315-324)의 경우, MBR 엔진은, 비디오 인코더(200)(도 2)를 이용하여 MBR 비디오 스트림을 인코딩하기 위해 분석 패스의 결과를 적용한다. MBR 엔진은, 비디오 인코더(200)로 하여금 모든 MBR 스트림에 대해 각각의 세그먼트를 인코딩(동작 317)하게 한다(동작 318). MBR 비디오 스트림의 각 세그먼트에 대하여, MBR 인코딩 엔진은, 평균 비트 레이트에 대한 사용자 명시된 목표에 맞추기 위한 시도로 비디오 인코더(200)의 인코딩 파라미터들을 제어한다. 만일 소스 비디오 콘텐츠가 목표 비트 레이트에서 인코딩되기에 너무 복잡하다면, MBR 인코딩 엔진은 더 나은 시각적 품질을 달성하기 위해 양자화 단계 크기를 증가시키기 시작한다. 최상위 또는 최상 품질 비디오 스트림은, 사용자 명시된 MBR 인코딩 파라미터들을 충족하는 최대 피크 비트 레이트 제약에 따라 인코딩된다. 최하위 또는 최저 품질 비디오 스트림의 경우, MBR 엔진은, 스트리밍된 비디오의 재생에 대한 클라이언트측 예측가능성을 보장하는 것을 도우는, 고정 청크 레이트 제약을 충족하도록 비디오 스트림의 인코딩을 생성하게끔 비디오 인코더를 제어한다. 중간 비디오 스트림에서, MBR 엔진은, 비디오 인코더로 하여금, 각각의 중간 스트림에 대한 최대 피크 및 평균 비트 레이트 제약 내에 떨어지는 가변 비트 레이트에서 비디오 스트림을 생성하는 인코딩 파라미터들로 소스 비디오를 인코딩하도록 한다.
인코딩 패스의 결과, MBR 엔진은 다음으로, 로그 파일 뿐만 아니라, 비디오 인코더를 이용하여 생성되는 MBR 스트림 세트에 대한 압축된 비디오 비트 스트림을 출력한다. 이러한 MBR 인코딩 프로세스(300)의 가변 비트 레이트 접근법에서, MBR 엔진은, 각각의 GOP에 대해 최상위 품질 스트림으로부터 최하위 비트 스트림까지 균등하게 감소하는 MBR 비디오 스트림 세트를 생성한다. 이러한 MBR 비디오 스트림 세트와 더불어, MBR 시스템(100)(도 1)은, 가용 접속 대역폭에 따라 비디오 시퀀스에 대해 원하는 일정하거나 일관된 시각적 품질을 전달할 수 있다.
IV . MBR 스트림의 가변 해상도 인코딩
MBR 인코딩 엔진은 또한, MBR 비디오 스트림 각각에 대해 인코딩의 해상도를 동적으로 변동시키는 기술을 적용한다. 최상위로부터 최하위 MBR 비디오 스트림까지의 각각의 비디오 스트림에 대해, MBR 인코딩 엔진은 더 나은 시각적 품질을 생성하기 위해 각각의 비디오 GOP 인코딩에 대한 해상도를 동적으로 결정한다. 각각의 비디오 스트림에 대해, MBR 인코딩 엔진은, 낮은 복잡성 GOP(또는 세그먼트)에 더 높은 해상도를 할당하는 반면, 더 복잡한 GOP(또는 세그먼트)에는 더 낮은 인코딩 해상도가 할당된다.
예시적 구현에서, MBR 인코딩 엔진은, 비디오의 장면 경계들에서의 각각의 GOP를 동적으로 리사이징하는 결정을 적용한다. 이것은, 비디오 장면의 중간에서의 비디오 해상도 리사이징이 생성할 수 있는 바람직하지 않은 임의의 시각적 효과의 도입을 피한다. 예를 들어, "토킹 헤드(talking head)"를 특징으로 하는 장면에서, 장면 중간에서 비디오 해상도를 변동시키는 것은, 장면 내의 세부적 엣지와 특징들이 해상도 변경과 더불어 선명해지거나 희미해질 때, 눈에 띄는 팝핑(popping)이나 펄싱(pulsing)을 도입할 수 있다. 따라서, MBR 인코딩 엔진은, 장면의 GOP 또는 GOP들(예를 들어, 전술된 분석 단계에서 식별된 장면 변경 경계 후의 첫번째 GOP)에 대해 이하에서 기술되는 프로세스를 수행한다.
동적 해상도 인코딩의 한 예시적 구현에서, MBR 인코딩 엔진은 동적 해상도 결정을 내리기 위해 3-포인트 샘플링 접근법을 이용한다. 각각의 샘플링 포인트는, 비디오 해상도 및 양자화 단계 크기의 상이한 3개 쌍을 이용한 GOP 인코딩으로부터의 (실제 인코딩된 비트 레이트 또는 크기 면에서의) 결과를 나타낸다. 이들 3 샘플링 포인트 결과를 이용하여, MBR 엔진은, 해상도, 양자화 단계 크기, 및 코딩된 크기 간의 관계의 모델을 확립하며, 그 관계가 도 4에 도시적으로 예시되어 있다. 비디오 시퀀스에 대한 이러한 동적 추출된 모델로부터, MBR 인코딩 엔진은 다음으로, MBR 비디오 스트림들의 각각의 목표 비트 레이트에 대한 해상도를 결정할 수 있다. 대안적 구현에서, MBR 인코딩 엔진은 모델을 확립하기 위해 더 많은 샘플링 포인트를 이용할 수 있다. 그러나, 3 샘플링 포인트 접근법은, 인코딩 속도에 대한 가장 큰 실용성을 유지하면서 모델을 확립하기에 충분한 것으로 파악되었다.
도 5는, 각각의 비디오 스트림의 GOP에 대한 동적 해상도 결정을 내리기 위해 MBR 비디오 인코딩 엔진에 의해 수행되는 프로세스(500)를 예시한다. 프로세스(500)는, 인코딩 결과의 3 샘플 포인트를 얻는 것에서부터 시작한다(동작 510). MBR 인코딩 엔진은, 해상도 및 양자화 단계 크기에 대한 3개 파라미터 조합을 이용하여 세그먼트 또는 GOP를 인코딩하도록 비디오 인코더(200)를 제어한다. 초기 샘플 해상도는, 비디오에 대한 원하는 디스플레이 해상도에 기초하여 선택될 수 있다. 초기 샘플 양자화 단계 크기는, 비디오 인코더에 의해 이용되는 특정한 코덱 표준에 따라 선택될 수 있다. 예를 들어, SMPTE 421-M 비디오 코덱의 경우, 초기 샘플 양자화 단계 크기는 4가 되도록 선택될 수 있다. 비디오 인코더가 H.264 표준을 이용하는 경우, 적절한 초기 샘플 양자화 단계 크기는 28일 수 있다. 그러나, 다른 초기 샘플 양자화 단계 크기와 해상도가 대신에 선택될 수 있다.
예시된 모델에서, MBR 비디오 인코딩 엔진은, 초기 샘플 해상도 및 양자화 단계 크기 파라미터 쌍(R, Qp) 뿐만 아니라, 초기 샘플 해상도의 1/4(즉, (R/4, Qp))와 초기 샘플 양자화 단계 크기의 두배(즉, (R, Qp*2))에 대해 인코딩을 수행한다. 대안으로서, 1/2 해상도, 4배 양자화 단계 크기 등과 같은, 샘플 포인트들에 대한 다른 파라미터 쌍들이 사용될 수 있다. MBR 비디오 인코딩 엔진은, 해상도 및 양자화 단계 크기 파라미터 쌍 3개를 이용하여 비디오 스트림의 GOP 인코딩으로부터 발생된 인코딩된 비트 크기들(S1, S2, 및 S3)을 준수한다.
다음 동작(511)에서, MBR 엔진은 2개의 선형 모델을 확립한다: (도 4의 도면에서 그래프QpS로 라벨이 붙은) 양자화 단계 크기와 인코딩된 크기 간의 관계에 대한 것과, 해상도와 인코딩된 크기간의 관계에 대한 것(그래프RS). 양자화 단계 크기와 인코딩된 크기간의 관계는, 해상도가 일정하게 유지되면서 양자화 단계 크기가 변동되는 2 샘플 포인트로부터 발생된 인코딩된 크기에 의해 결정되는 반면, 역으로, 해상도와 인코딩된 크기간의 관계는 양자화 단계 크기가 일정하게 유지되면서 해상도를 변동시키는 2 샘플 포인트로부터 결정된다.
동작(512)에서, MBR 엔진은, 원하는 비트 레이트에 대응하는 인코딩된 크기를 주는 양자화 단계 크기를 구하기 위해 양자화 단계 크기에 대한 인코딩된 크기의 관계를 이용한다. 이것은, 비디오 스트림의 GOP에 대한 목표 비트 레이트를 주어야 하는 전체 샘플링 해상도(full sampling resolution) R에서의 모델링된 결과 양자화 단계 크기(Qp'로 라벨이 붙음)이다.
그 다음, MBR 엔진은, 모델링된 결과 양자화 단계 크기를 (광범위한 비디오 콘텐츠에 걸쳐 비디오 텍스쳐를 측정한 실험으로 결정된) 실증적으로 결정된 임계치와 비교한다. 만일 모델링된 결과 양자화 단계 크기가 임계치보다 작다면, MBR 엔진은, 동작(514)에서 전체 샘플 해상도 및 모델링된 결과 양자화 단계 크기, 즉 (R, Qp')를 이용하기로 결정한다.
더 구체적으로, MBR 엔진은, 입력 비디오 콘텐츠에 대해 (전술된) 분석 단계 동안에 이루어진 프레임당 텍스쳐 측정치에 기초하여 적절한 양자화 단계 크기를 결정한다. MBR 엔진은, GOP 내의 모든 프레임에 대해 프레임 텍스쳐 측정치를 평균냄으로써 GOP에 대한 텍스쳐 측정치를 계산한다. 이것은, GOP 전역 텍스쳐, GOP 수평 텍스쳐, GOP 수직 텍스쳐 측정치를 생성한다. 이들 중에서, GOP 전역 텍스쳐 측정치는, 비디오 해상도를 리사이징할 때를 제어하는 양자화 단계 크기 임계치를 결정한다. (스포츠, 텔레비젼, 영화 등을 포함한) 광범위한 비디오 콘텐츠에 걸친 실험적 결과로부터, (SMPTE 421M 표준을 이용한 비디오 인코딩에 대해) Qp의 양자화 단계 크기 임계치가 12인 경우가 전형적인 GOP 전역 텍스쳐 측정치에서 비디오에 적합한 것으로 결정되었다. 즉, 만일 모델링된 결과 양자화 단계 크기 Qp'가 12 보다 위이면, MBR 인코더는 더 낮은 Qp에서 인코딩하기 위해 더 낮은 비디오 해상도로 리사이징해야 한다. 그러나, 예시적 구현에서, MBR 인코더는 또한, 비디오에 대한 전체 전역 텍스쳐 측정치에 따라 리사이징에 대한 양자화 단계 크기 임계치를 변동시킬 수 있다. MBR 인코더는, 전역 텍스쳐와 리사이징을 위한 양자화 단계 크기 임계치 사이의 선형 관계를 확립했다. 낮은 전체 전역 텍스쳐를 갖는 비디오에 대해, 더 낮은 양자화 단계 크기 임계치가 예상된다. 이것은 MBR 인코더로 하여금 상당한 평활 영역(이 영역에 대해 더 낮은 해상도로 리사이징하는 것은 아티팩트를 생성하지 않는 경향이 있다)을 갖는 비디오 콘텐츠의 비디오 해상도를 낮게 리사이징하는데 있어서 더 공격적이게 한다. 반면, 높은 전역 텍스쳐를 갖는 비디오의 경우, MBR 인코더는 리사이징에 대한 더 높은 양자화 단계 크기 임계치를 예상한다. 이와 같은 더 높은 임계치는 MBR 인코더로 하여금 많은 디테일을 갖는 프레임들의 비디오 해상도를 낮게 리사이징하는데 있어서 더욱 조심스럽게 하여, 이들 프레임들의 디테일 영역의 평활화를 피하도록 한다. 대안적 구현에서, 양자화 단계 크기 임계치는, 다른 비디오 인코딩 표준에서 사용하기 위해, 또는 비디오 해상도 리사이징에 있어서 원하는 정도의 공격성/주의를 달성하기 위해서와 같이, 다른 양자화 단계 크기에서 확립될 수 있다.
한편, 동작(515)에서, 만일 모델링된 결과가 비디오 텍스쳐에 의해 정의된 임계치보다 크다면, MBR 엔진은 대신에, 비디오 스트림의 목표 비트 레이트에 대응하는 인코딩된 크기를 주는 모델링된 결과 해상도(R')를 구하기 위해 인코딩된 크기와 해상도간의 관계(그래프RS)를 이용한다.
MBR 엔진은 각각의 방향에서 비디오 해상도를 얼마큼 리사이징해야 하는지를 제어하기 위해 GOP 평균 수평 및 수직 텍스쳐 측정치를 더 이용한다. MBR 엔진은 GOP 수평 및 수직 텍스쳐 측정치의 비율을 계산한다. 일단 해상도를 리사이징하기로 결정되면(동작 514), MBR 엔진은 그래프RS 관계에 따라 특정한 리사이징 양을 계산한다. 예를 들어, MBR 엔진은 초기 해상도 반만큼 리사이징하기로 결정할 수 있다. 그 다음, MBR 엔진은, GOP 수평 및 수직 텍스쳐 측정치의 비율에 기초하여 수직 및 수평 방향으로의 리사이징 양을 어떻게 배분할지를 결정할 수 있다. 특히, 만일 수평 및 수직 텍스쳐 측정치간에 큰 차이 또는 델타가 존재한다면(즉, 비율이 1이 아님), MBR 엔진은, 더 높은 디테일 방향보다 더 낮은 디테일 방향으로 더 많은 리사이징을 적용하도록 리사이징을 배분한다. 예를 들어, 비율이 2일 때, MBR 엔진은 수평 방향의 2배만큼 수직 방향으로 리사이징할 것이다. 그렇지 않고, 만일 GOP에 대한 수평과 수직 텍스쳐 측정치간의 델타가 낮다면(비율이 1 부근), MBR 엔진은 방향들간에 균등하게 해상도를 리사이징한다.
그 다음, 동작(516)에서 MBR 엔진은, 양자화 단계 크기와 인코딩된 크기간의 관계(그래프QpS) 및 해상도와 인코딩된 크기 간의 관계(그래프RS) 뿐만 아니라, 특정한 타겟 비트 레이트에 대한 해상도와 양자화 단계 크기간의 관계(도 4의 좌상부에 도시된 그래프QpR)를 이용한다.
동작(517)에서, MBR 엔진은 다음으로, 동작(515)에서 결정된 모델링된 결과 해상도 R'에 대한 양자화 단계 크기(Qp')의 모델링된 결과를 구하기 위해 동작(516)에서 확립된 관계(그래프QpR)를 이용한다. 그 다음, MBR 엔진은, 모델링된 결과 양자화 단계 크기 및 해상도(R', Qp')에서 이 비디오 스트림의 이 GOP를 인코딩하기로 결정한다.
이러한 동적 해상도 접근법을 이용하여, MBR 인코딩 시스템은 덜 복잡한 비디오 세그먼트(또는 GOP)에 더 큰 인코딩 해상도를 할당할 수 있고, 이것은 더 많은 시각적 디테일을 유지한다. 반면, 더 복잡한 비디오 세그먼트(또는 GOP)에는 시각적 아티팩트를 감소시키는 더 작은 해상도가 할당된다. 이 접근법은 다중 비트 레이트 스트리밍에 대해 더 나은 시각적 경험을 제공하는 것으로 파악되었다.
V. 대표적 컴퓨팅 환경
도 6은, 기술된 실시예, 기법, 및 기술들이 구현될 수 있는 적절한 컴퓨팅 환경(600)의 일반화된 예를 도시한다. 컴퓨팅 환경(600)은, 다양한 범용의 또는 특별 목적의 컴퓨팅 환경에서 기술이 구현될 수도 있기 때문에, 기술의 이용 또는 기능의 범위에 관하여 어떠한 제약을 암시하려는 의도가 아니다. 예를 들어, 개시된 기술은, 핸드-헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반의 또는 프로그래머블 가전 제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함한, 기타의 컴퓨터 시스템 구성으로 구현될 수 있다. 개시된 기술은, 통신 네트워크를 통해 링크된 원격 처리 장치에 의해 태스크가 수행되는 분산형 컴퓨팅 환경에서도 역시 실시될 수 있다. 분산형 컴퓨팅 환경에서, 프로그램 모듈은 로컬 또는 원격지 메모리 스토리지 장치 모두에 위치할 수 있다.
도 6을 참조하면, 컴퓨팅 환경(600)은 적어도 하나의 중앙 처리 장치(610) 및 메모리(620)를 포함한다. 전술된 멀티코어 모션 정보 사전계산에 대해, 컴퓨터는 복수의 CPU 코어를 갖는 멀티 코어 CPU를 포함한다. 도 6에서, 이러한 가장 기본적인 구성(630)은 점선 내에 포함된다. 중앙 처리 장치(610)는 컴퓨터 실행가능한 명령어를 실행하며 실제의 또는 가상의 프로세서일 수 있다. 멀티프로세싱 시스템에서, 처리 능력을 증가시키기 위해 복수의 처리 유닛이 컴퓨터 실행가능한 명령어들을 실행하고, 이와 같이, 복수의 프로세서들은 동시에 실행될 수 있다. 메모리(620)는 휘발성 메모리(예를 들어, 레지스터, 캐쉬, RAM), 비휘발성 메모리(예를 들어, ROM, EEPROM, 플래시 메모리 등), 또는 이들의 어떤 조합일 수 있다. 메모리(620)는, 예를 들어, 본 명세서에서 설명된 기술을 구현할 수 있는 소프트웨어(680)를 저장한다. 컴퓨팅 환경은 추가적인 특징을 가질 수 있다. 예를 들어, 컴퓨팅 환경(600)은, 스토리지(640), 하나 이상의 입력 장치(650), 하나 이상의 출력 장치(660) 및 하나 이상의 통신 접속(670)을 포함한다. 버스, 제어기, 또는 네트워크와 같은 (도시되지 않은) 접속 메커니즘은 컴퓨팅 환경(600)의 컴포넌트들을 상호접속한다. 전형적으로, (도시되지 않은) 운영 체제 소프트웨어는 컴퓨팅 환경(600) 내에서 실행되는 다른 소프트웨어에 대한 동작 환경을 제공하며, 컴퓨팅 환경(600)의 컴포넌트들의 동작을 조율한다.
스토리지(640)는 착탈식 또는 비-착탈식일 수 있으며, 자기 디스크, 자기 테이프 또는 카세트, CD-ROM, CD-RW, DVD, 또는, 컴퓨팅 환경(600) 내에서 액세스될 수 있고 정보를 저장하기 위해 사용될 수 있는 기타 임의의 매체를 포함한다. 스토리지(640)는, 본 명세서에서 설명된 기술들을 구현할 수 있는 소프트웨어(680)에 대한 명령어들을 저장한다.
입력 장치(들)(650)은, 키보드, 키패드, 마우스, 펜, 또는 트랙볼, 음성 입력 장치, 스캐닝 장치, 또는 컴퓨팅 환경(600)에 입력을 제공하는 또 다른 장치와 같은 터치 입력 장치일 수 있다. 오디오의 경우, 입력 장치(들)(650)은 사운드 카드 또는 아날로그나 디지털 형태의 오디오 입력을 수용하는 유사한 장치이거나, 컴퓨팅 환경(600)에 오디오 샘플을 제공하는 CD-ROM 판독기일 수 있다. 출력 장치(들)(660)은, 디스플레이, 프린터, 스피커, CD-라이터, 또는 컴퓨팅 환경(600)으로부터의 출력을 제공하는 또 다른 장치일 수 있다.
통신 접속(들)(670)은, 통신 매체(예를 들어, 접속 네트워크)를 통해 또 다른 컴퓨팅 엔티티와의 통신을 가능케 한다. 통신 매체는, 컴퓨터 실행가능한 명령어, 압축된 그래픽 정보, 또는 변조된 데이터 신호로 된 기타의 데이터와 같은 정보를 운반한다.
컴퓨터-판독가능한 매체는, 컴퓨팅 환경(600) 내에서 액세스될 수 있는 임의의 가용 매체이다. 제한이 아닌 예로서, 컴퓨팅 환경(600)에서, 컴퓨터 판독가능한 매체는, 메모리(620), 스토리지(640), 통신 매체, 및 이들의 임의 조합을 포함한다. 용이하게 이해할 수 있는 바와 같이, 용어, 컴퓨터 판독가능한 스토리지 매체는, 단순히, 변조된 데이터 신호와 같은 전송 매체가 아니라, 메모리(620) 및 스토리지(640)와 같은 데이터 저장을 위한 매체를 포함한다.
본 명세서에서 기술된 방법들 중 임의의 방법은, 이와 같은 방법들을 수행하기 위한(예를 들어, 컴퓨팅 장치, 오디오 및/또는 비디오 처리 장치, 또는 컴퓨터로 하여금 이와 같은 방법을 수행케 하기 위한) 컴퓨터 실행가능한 명령어를 포함하는(예를 들어, 갖거나 저장하고 있는) 하나 이상의 컴퓨터 판독가능한 매체(예를 들어, 스토리지 또는 기타의 유형 매체)를 통해 수행될 수 있다. 동작들은, 전자동, 반자동일 수 있거나, 수동적 개입을 포함할 수 있다.
상세한 설명 및 첨부된 도면에서 우리의 혁신의 원리를 기술하고 예시하였지만, 이와 같은 원리로부터 벗어나지 않고 배열 및 세부사항에 있어서 다양한 실시예들이 수정될 수 있다는 것을 인식할 것이다. 본 명세서에서 기술된 프로그램, 프로세스, 또는 방법들은, 달리 표시하지 않은 한, 임의의 특정한 타입의 컴퓨팅 환경에 관한 것이거나 이러한 환경만으로 제한되지 않는다는 것을 이해하여야 한다. 다양한 타입의 범용 또는 전문화된 컴퓨팅 환경들이 본 명세서의 교시에 따라 동작들을 수행하거나 함께 사용될 수 있다. 소프트웨어로 도시된 실시예들의 요소는 하드웨어로 구현될 수 있으며 그 반대도 가능하다.
본 발명의 원리가 적용될 수 있는 많은 가능한 실시예들에 비추어, 첨부된 특허청구범위 및 그 등가물의 범위와 사상 내에 해당하는 모든 이와 같은 실시예들을 우리의 발명으로서 청구한다.

Claims (19)

  1. 다중 비트 레이트 비디오 스트리밍(multi bit rate video streaming)용의 세그먼트화되고 압축된 비디오 스트림(segmented compressed video streams)의 가변 비트 레이트 인코딩(variable bit rate encoding)을 위해 입력 비디오를 처리하는 방법에 있어서,
    다중 비트 레이트 비디오 스트리밍용으로 인코딩될 미가공 비디오(raw video) 콘텐츠의 입력을 수신하는 단계; 및
    픽쳐 그룹들(groups of pictures)을 포함하는 세그먼트들 내의 상기 미가공 비디오 콘텐츠를, 최상위 비디오 스트림(top video stream)으로부터 최하위 비디오 스트림(bottom video stream)까지의 비디오 품질 범위를 갖는 복수의 압축된 비디오 스트림으로서 인코딩하는 단계를 포함하고,
    상기 인코딩하는 단계는,
    상기 최상위 비디오 스트림에 대해, 피크 비트 레이트와 평균 비트 레이트 제약에 따라 가변 비트 레이트에서 상기 미가공 비디오 콘텐츠를 인코딩하는 단계;
    상기 최하위 비디오 스트림에 대해, 고정 청크 레이트(constant chunk rate) ―상기 고정 청크 레이트는 단위 시간당 고정된 수의 픽쳐임― 에서 상기 미가공 비디오 콘텐츠를 인코딩하는 단계; 및
    상기 픽쳐 그룹들로 세그먼트화된 비디오 스트림들의 인코딩된 세트를 생성하는 단계를 포함하고,
    상기 미가공 비디오 콘텐츠를 인코딩하는 단계는, 하나 이상의 중간 비디오 스트림에 대해, 가변 비트 레이트에서 상기 미가공 비디오 콘텐츠를 인코딩하는 단계를 더 포함하고,
    상기 최상위 비디오 스트림과 중간 비디오 스트림의 상기 피크 비트 레이트와 평균 비트 레이트 제약은 점진적으로 감소하는(progressively decrease) 것인, 입력 비디오 처리 방법.
  2. 제1항에 있어서,
    상기 최상위 비디오 스트림을 인코딩하는 단계는, 지정된 평균 비트 레이트를 목표로 하며 피크 비트 레이트 아래를 유지하도록 제약된 가변 비트 레이트 접근법으로 인코딩하는 단계를 포함하는 것인, 입력 비디오 처리 방법.
  3. 제1항에 있어서,
    다중 비트 레이트 비디오 스트리밍용으로 인코딩될 압축된 비디오 스트림의 갯수 뿐만 아니라 최대 및 최소 비트 레이트를 지정하는 입력을 수신하는 단계; 및
    상기 최상위 비디오 스트림 및 중간 비디오 스트림에 대한 피크 비트 레이트 및 평균 비트 레이트를 점진적으로 감소하도록 선택하는 단계를 더 포함하는, 입력 비디오 처리 방법.
  4. 제3항에 있어서,
    상기 피크 비트 레이트 및 평균 비트 레이트를 선택하는 단계는, 균일 분포에 따라 상기 피크 비트 레이트 및 평균 비트 레이트를 선택하는 단계를 포함하는 것인, 입력 비디오 처리 방법.
  5. 제3항에 있어서,
    상기 피크 비트 레이트 및 평균 비트 레이트를 선택하는 단계는, 대수 분포(logarithmic distribution)에 따라 상기 피크 비트 레이트 및 평균 비트 레이트를 선택하는 단계를 포함하는 것인, 입력 비디오 처리 방법.
  6. 제3항에 있어서,
    상기 피크 비트 레이트 및 평균 비트 레이트를 선택하는 단계는, 최상위 비디오 스트림으로부터 최하위 비디오 스트림으로 비례적으로 감소하도록 상기 피크 비트 레이트 및 평균 비트 레이트를 선택하는 단계를 포함하는 것인, 입력 비디오 처리 방법.
  7. 제1항에 있어서,
    상기 인코딩된 비디오 스트림의 세그먼트들을 네트워크를 통해 클라이언트 비디오 재생 장치에 선택적으로 스트리밍하는 단계를 더 포함하고,
    상기 스트리밍된 세그먼트들은, 네트워크 상태에 기초하여 클라이언트측 레이트 제어 결정에 따라 상기 인코딩된 비디오 스트림들 중에서 선택되는 것인, 입력 비디오 처리 방법.
  8. 다중 비트 레이트 비디오 스트리밍용의 세그먼트화되고 압축된 비디오 스트림의 동적 해상도 인코딩을 위해 입력 비디오를 처리하는 방법에 있어서,
    다중 비트 레이트 비디오 스트리밍용으로 인코딩될 미가공 비디오 콘텐츠의 입력을 수신하는 단계; 및
    픽쳐 그룹들을 포함하는 세그먼트들 내의 상기 미가공 비디오 콘텐츠를, 최상위 비디오 스트림으로부터 최하위 비디오 스트림까지의 비디오 품질 범위를 갖는 복수의 압축된 비디오 스트림으로서 인코딩하는 단계를 포함하고,
    상기 인코딩하는 단계는,
    인코딩될 비디오 스트림의 픽쳐 그룹에 대해, 해상도 및 양자화 단계 크기 변동을 위해 적어도 3개의 인코딩 샘플들을 얻는 단계;
    상기 픽쳐 그룹에 대한 해상도, 양자화 단계 크기, 및 결과적(resulting) 인코딩된 크기에 관한 모델을 확립하는 단계;
    상기 픽쳐 그룹에 관하여 텍스쳐 측정(texture measurement)을 수행하는 단계;
    상기 텍스쳐 측정에 기초하여 해상도를 리사이징(resizing)하기 위한 양자화 임계치를 결정하는 단계;
    상기 모델 및 상기 리사이징을 위한 양자화 임계치에 기초하여 상기 픽쳐 그룹을 인코딩하기 위한 비디오 해상도와 양자화 단계 크기를 동적으로 결정하는 단계; 및
    상기 동적으로 결정된 비디오 해상도 및 양자화 단계 크기로 상기 픽쳐 그룹을 인코딩하는 단계를 포함하는 것인, 입력 비디오 처리 방법.
  9. 제8항에 있어서,
    상기 미가공 비디오 콘텐츠에서의 장면 변경을 검출하는 단계를 더 포함하고,
    상기 비디오 해상도를 동적으로 결정하는 단계는, 픽쳐 그룹들 사이의 장면 변경 경계에서 동적 비디오 해상도 변경을 적용하는 단계를 포함하는 것인, 입력 비디오 처리 방법.
  10. 제8항에 있어서,
    상기 모델을 확립하는 단계는, 상기 픽쳐 그룹의 상기 적어도 3개의 인코딩 샘플들 중 적어도 2개에 기초하여, 주어진 비디오 해상도에 대한 인코딩된 크기와 양자화 단계 크기와의 관계에 대한 선형 모델(linear model)을 확립하는 단계를 포함하고,
    상기 인코딩된 크기는 상기 주어진 비디오 해상도와 변동하는 양자화 단계 크기에서 샘플링되는 것인, 입력 비디오 처리 방법.
  11. 제10항에 있어서,
    상기 비디오 해상도를 동적으로 결정하는 단계는,
    상기 주어진 비디오 해상도에 대한 인코딩된 크기와 양자화 단계 크기에 관한 상기 확립된 선형 모델에 따라 상기 주어진 비디오 해상도에서 인코딩할 때 상기 픽쳐 그룹에 대한 원하는 비트 레이트에 대응하는 인코딩된 크기를 주는 양자화 단계 크기를 결정하는 단계;
    상기 결정된 양자화 단계 크기를 상기 해상도 리사이징을 위한 양자화 임계치와 비교하는 단계;
    상기 비교가 리사이징 해상도를 나타내지 않는다면, 상기 주어진 비디오 해상도 및 결정된 양자화 단계 크기를 이용하여 상기 픽쳐 그룹을 인코딩하기로 결정하는 단계; 및
    상기 비교가 리사이징 해상도를 나타내면, 상기 픽쳐 그룹을 인코딩하기 위한 상기 비디오 해상도를 리사이징하기로 결정하는 단계를 포함하는 것인, 입력 비디오 처리 방법.
  12. 제11항에 있어서,
    상기 모델을 확립하는 단계는, 상기 픽쳐 그룹의 상기 적어도 3개의 인코딩 샘플들 중 적어도 2개에 기초하여, 주어진 양자화 단계 크기와 비디오 해상도와의 관계에 대한 선형 모델을 확립하는 단계를 더 포함하고,
    상기 인코딩된 크기는 상기 주어진 양자화 단계 크기와 변동하는 비디오 해상도에서 샘플링되는 것인, 입력 비디오 처리 방법.
  13. 제12항에 있어서,
    상기 비디오 해상도를 동적으로 결정하는 단계는,
    상기 픽쳐 그룹을 인코딩하기 위한 비디오 해상도가 리사이징되어야 하는 경우, 상기 주어진 양자화 단계 크기를 위해 인코딩된 크기에 대한 비디오 해상도에 관한 확립된 선형 모델에 따라, 상기 픽쳐 그룹에 대한 원하는 비트 레이트에 대응하는 인코딩된 크기를 산출하는(yield) 리사이징된 비디오 해상도를 결정하는 단계를 포함하는 것인, 입력 비디오 처리 방법.
  14. 제13항에 있어서,
    상기 픽쳐 그룹을 인코딩하기 위한 비디오 해상도가 리사이징되어야 하는 경우, 상기 양자화 단계 크기를 동적으로 결정하는 단계는,
    상기 적어도 3개의 인코딩 샘플들에 기초하여 상기 픽쳐 그룹에 대한 원하는 비트 레이트에서의 해상도에 대한 양자화 단계 크기에 관한 선형 모델을 확립하는 단계; 및
    해상도에 대한 양자화 단계 크기에 관한 상기 선형 모델에 따라 상기 리사이징된 비디오 해상도에 대한 양자화 단계 크기를 결정하는 단계를 포함하는 것인, 입력 비디오 처리 방법.
  15. 제8항에 있어서,
    상기 인코딩된 비디오 스트림의 세그먼트들을 네트워크를 통해 클라이언트 비디오 재생 장치에 선택적으로 스트리밍하는 단계를 더 포함하고,
    상기 스트리밍된 세그먼트들은, 네트워크 상태에 기초하여 클라이언트측 레이트 제어 결정에 따라 상기 인코딩된 비디오 스트림들 중에서 선택되는 것인, 입력 비디오 처리 방법.
  16. 다중 비트 레이트 비디오 스트리밍용으로 압축된 비디오 스트림을 인코딩하기 위한 비디오 처리 시스템에 있어서,
    인코딩될 미가공 비디오 콘텐츠를 저장하기 위한 메모리; 및
    픽쳐 그룹들을 포함하는 세그먼트들 내의 상기 미가공 비디오 콘텐츠를, 가변 비트 레이트 및 동적 해상도 접근법을 이용하여, 복수의 압축된 비디오 스트림으로서 인코딩하기 위한 컴퓨터 처리 수단을 포함하고,
    상기 컴퓨터 처리 수단에 의한 상기 인코딩은,
    비디오 콘텐츠 내의 장면 변경 경계를 결정하기 위해 미가공 비디오 콘텐츠를 분석하고, 상기 장면 변경 경계들 사이의 비디오 콘텐츠를 픽쳐 그룹들을 포함하는 세그먼트들로 분할하며, 상기 세그먼트들의 비디오 복잡성의 측정치를 결정하는 것;
    각각의 세그먼트의 상기 미가공 비디오 콘텐츠를, 하나 이상의 상위 비디오 스트림들 - 각각의 상위 비디오 스트림은, 비디오 스트림들의 감소하는 코딩된 비트 레이트의 진행(a progression of decreasing coded bit rate)을 산출하는(yield) 목표 평균 비트 레이트 및 피크 비트 레이트 제약을 가짐 - 로 가변 비트 레이트 인코딩하고, 각각의 세그먼트의 상기 미가공 비디오 콘텐츠를 고정된 청크 레이트에서 최하위 비디오 스트림으로 인코딩하기 위한, 인코딩 파라미터들을 동적으로 결정하는 것; 및
    상기 동적으로 결정된 인코딩 파라미터들을 이용하여 상기 상위 및 최하위 비디오 스트림들을 인코딩하는 것을 포함하는 것인, 비디오 처리 시스템.
  17. 제16항에 있어서,
    상기 컴퓨터 처리 수단에 의한 비디오 스트림 세그먼트에 대한 비디오 해상도를 동적으로 결정하는 것은,
    해상도 및 양자화 단계 크기 변동을 위해 세그먼트를 인코딩하는 적어도 3개 샘플을 얻는 것;
    양자화 단계 크기, 비디오 해상도, 및 인코딩된 크기간의 관계의 모델을 확립하는 것; 및
    상기 세그먼트의 비디오 복잡성의 측정치와 상기 확립된 모델에 기초하여 상기 세그먼트에 대한 비디오 해상도를 결정하는 것을 포함하는 것인, 비디오 처리 시스템.
  18. 제17항에 있어서,
    상기 컴퓨터 처리 수단에 의한 비디오 해상도를 동적으로 결정하는 것은, 장면 변경 경계에서 상기 세그먼트들의 비디오 해상도를 리사이징하기 위한 결정을 적용하는 것을 포함하는 것인, 비디오 처리 시스템.
  19. 제16항에 있어서,
    상기 컴퓨터 처리 수단이, 지정된 갯수의 비디오 스트림에 대한 지정된 최대 비트 레이트와 지정된 최소 비트 레이트 사이의 원하는 수치 분포를 갖도록 상기 상위 비디오 스트림들에 대한 상기 피크 비트 레이트 및 평균 비트 레이트를 자동으로 선택하는 것을 더 포함하는, 비디오 처리 시스템.
KR1020117017475A 2009-01-29 2010-01-12 적응적 비디오 스트리밍용의 가변 비트 레이트 및 동적 해상도를 이용한 다중 비트 레이트 비디오 인코딩 Active KR101643790B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/362,420 US8396114B2 (en) 2009-01-29 2009-01-29 Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
US12/362,420 2009-01-29

Publications (2)

Publication Number Publication Date
KR20110106419A KR20110106419A (ko) 2011-09-28
KR101643790B1 true KR101643790B1 (ko) 2016-07-28

Family

ID=42354147

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117017475A Active KR101643790B1 (ko) 2009-01-29 2010-01-12 적응적 비디오 스트리밍용의 가변 비트 레이트 및 동적 해상도를 이용한 다중 비트 레이트 비디오 인코딩

Country Status (13)

Country Link
US (1) US8396114B2 (ko)
EP (1) EP2382784B1 (ko)
JP (1) JP5490146B2 (ko)
KR (1) KR101643790B1 (ko)
CN (1) CN102301710B (ko)
AU (1) AU2010208597B2 (ko)
BR (1) BRPI1006824A2 (ko)
CA (1) CA2748373C (ko)
DK (1) DK2382784T3 (ko)
IL (1) IL213566A (ko)
MX (1) MX2011007372A (ko)
RU (1) RU2011131864A (ko)
WO (1) WO2010088030A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024029812A1 (ko) * 2022-08-01 2024-02-08 배태면 적응적 인코딩 파라메터 운용 방법 및 이를 지원하는 전자 장치

Families Citing this family (169)

* 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
JP2005191933A (ja) * 2003-12-25 2005-07-14 Funai Electric Co Ltd 送信装置、送受信システム
US20060294128A1 (en) * 2005-05-21 2006-12-28 Kula Media Group Enhanced methods for media processing and distribution
US7515710B2 (en) 2006-03-14 2009-04-07 Divx, Inc. Federated digital rights management scheme including trusted systems
FR2903556B1 (fr) * 2006-07-04 2008-10-03 Canon Kk Procedes et des dispositifs de codage et de decodage d'images, un systeme de telecommunications comportant de tels dispositifs et des programmes d'ordinateur mettant en oeuvre de tels procedes
JP5513400B2 (ja) 2007-11-16 2014-06-04 ソニック アイピー, インコーポレイテッド マルチメディアファイルのための階層的で簡略なインデックス構造体
US8997161B2 (en) 2008-01-02 2015-03-31 Sonic Ip, Inc. Application enhancement tracks
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US8370887B2 (en) 2008-05-30 2013-02-05 Microsoft Corporation Media streaming with enhanced seek operation
US8001260B2 (en) 2008-07-28 2011-08-16 Vantrix Corporation Flow-rate adaptation for a connection of time-varying capacity
US8265140B2 (en) 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
US9060187B2 (en) 2008-12-22 2015-06-16 Netflix, Inc. Bit rate stream switching
JP5681641B2 (ja) 2009-01-07 2015-03-11 ソニック アイピー, インコーポレイテッド オンラインコンテンツのためのメディアガイドの特異的、収集的および自動的な生成
WO2010111261A1 (en) * 2009-03-23 2010-09-30 Azuki Systems, Inc. Method and system for efficient streaming video dynamic rate adaptation
US8156235B2 (en) * 2009-03-27 2012-04-10 Wyse Technology Inc. Apparatus and method for determining modes and directing streams in remote communication
US9083986B2 (en) * 2009-05-01 2015-07-14 Broadcom Corporation Method and system for adaptive rate video compression and transmission
US7975063B2 (en) * 2009-05-10 2011-07-05 Vantrix Corporation Informative data streaming server
US10003851B2 (en) 2009-11-24 2018-06-19 Imagine Communications Corp. Managed multiplexing of video in an adaptive bit rate environment
CA2782825C (en) 2009-12-04 2016-04-26 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
FR2954036B1 (fr) * 2009-12-11 2012-01-13 Thales Sa Procede et systeme pour la determination de parametres de codage sur des flux a resolution variable
KR101776809B1 (ko) 2010-03-09 2017-09-08 스프레드트럼 커뮤니케이션즈 (상하이) 컴퍼니 리미티드 적응적 비디오 디코딩 회로망 및 기술들
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
US9160978B2 (en) * 2010-08-10 2015-10-13 Google Technology Holdings LLC Method and apparatus related to variable duration media segments
JP2013541245A (ja) 2010-08-10 2013-11-07 テレフオンアクチーボラゲット エル エム エリクソン(パブル) メディアストリーム伝送のためのセッション制御
US8750373B2 (en) * 2010-10-04 2014-06-10 Vidyo, Inc. Delay aware rate control in the context of hierarchical P picture coding
US9191284B2 (en) * 2010-10-28 2015-11-17 Avvasi Inc. Methods and apparatus for providing a media stream quality signal
US8997160B2 (en) 2010-12-06 2015-03-31 Netflix, Inc. Variable bit video streams for adaptive streaming
US8689267B2 (en) * 2010-12-06 2014-04-01 Netflix, Inc. Variable bit video streams for adaptive streaming
WO2012094171A1 (en) * 2011-01-05 2012-07-12 Divx, Llc. Adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
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
US9032450B2 (en) 2011-01-21 2015-05-12 Samsung Electronics Co., Ltd. Adaptive audio/video streams proxy
US8611653B2 (en) 2011-01-28 2013-12-17 Eye Io Llc Color conversion based on an HVS model
US9554142B2 (en) 2011-01-28 2017-01-24 Eye IO, LLC Encoding of video stream based on scene type
CN103493481A (zh) * 2011-01-28 2014-01-01 艾艾欧有限公司 基于场景的适应性比特率控制
US8644383B2 (en) 2011-03-10 2014-02-04 Microsoft Corporation Mean absolute difference prediction for video encoding rate control
JP6120781B2 (ja) 2011-03-18 2017-04-26 エンパイア テクノロジー ディベロップメント エルエルシー シーンベースの可変圧縮
US9665646B1 (en) * 2011-04-13 2017-05-30 Flash Networks, Ltd Method and system for providing bit rate adaptaion to video files having metadata
JP6014972B2 (ja) * 2011-06-14 2016-10-26 株式会社ソシオネクスト 画像処理装置
GB2492538B (en) 2011-06-30 2014-06-04 Nds Ltd Distributing audio video content
EP2547062B1 (en) * 2011-07-14 2016-03-16 Nxp B.V. Media streaming with adaptation
US9319453B2 (en) * 2011-07-15 2016-04-19 Shmuel Ur User-controlled download duration time
US10045089B2 (en) * 2011-08-02 2018-08-07 Apple Inc. Selection of encoder and decoder for a video communications session
CA2806473C (en) * 2011-08-10 2016-11-29 General Instrument Corporation Method and apparatus for streaming media content using variable duration media segments
US9137551B2 (en) * 2011-08-16 2015-09-15 Vantrix Corporation Dynamic bit rate adaptation over bandwidth varying connection
US8948249B2 (en) 2011-08-19 2015-02-03 Google Technology Holdings LLC Encoder-aided segmentation for adaptive streaming
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8818171B2 (en) 2011-08-30 2014-08-26 Kourosh Soroushian Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates
CN103875248B (zh) 2011-08-30 2018-09-07 帝威视有限公司 用于编码和流处理通过使用多个最大比特率级别编码的视频的系统和方法
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
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US20130179588A1 (en) * 2011-09-21 2013-07-11 General Instrument Corporation Adaptive streaming to multicast and constrained-fidelity constant bit rate encoding
WO2013043919A1 (en) 2011-09-21 2013-03-28 General Instrument Corporation Constrained fidelity adaptive bitrate encoding systems and methods
US10412424B2 (en) * 2011-10-19 2019-09-10 Harmonic, Inc. Multi-channel variable bit-rate video compression
JP5988577B2 (ja) * 2011-12-28 2016-09-07 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム
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
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
US9042441B2 (en) * 2012-04-25 2015-05-26 At&T Intellectual Property I, Lp Apparatus and method for media streaming
WO2013173292A1 (en) 2012-05-14 2013-11-21 Motorola Mobility Llc Scalable video coding with enhanced base layer
US20130311859A1 (en) * 2012-05-18 2013-11-21 Barnesandnoble.Com Llc System and method for enabling execution of video files by readers of electronic publications
US9532080B2 (en) 2012-05-31 2016-12-27 Sonic Ip, Inc. Systems and methods for the reuse of encoding information in encoding alternative streams of video data
US9571827B2 (en) * 2012-06-08 2017-02-14 Apple Inc. Techniques for adaptive video streaming
EP2680527A1 (en) * 2012-06-28 2014-01-01 Alcatel-Lucent Adaptive streaming aware node, encoder and client enabling smooth quality transition
US9197685B2 (en) 2012-06-28 2015-11-24 Sonic Ip, Inc. Systems and methods for fast video startup using trick play streams
US9143812B2 (en) 2012-06-29 2015-09-22 Sonic Ip, Inc. Adaptive streaming of multimedia
US10452715B2 (en) 2012-06-30 2019-10-22 Divx, Llc Systems and methods for compressing geotagged video
RU2606064C2 (ru) * 2012-07-10 2017-01-10 Вид Скейл, Инк. Потоковая передача с управлением качеством
WO2014015110A1 (en) 2012-07-18 2014-01-23 Verimatrix, Inc. Systems and methods for rapid content switching to provide a linear tv experience using streaming content distribution
US20140025710A1 (en) * 2012-07-23 2014-01-23 Espial Group Inc. Storage Optimizations for Multi-File Adaptive Bitrate Assets
US20140068097A1 (en) * 2012-08-31 2014-03-06 Samsung Electronics Co., Ltd. Device of controlling streaming of media, server, receiver and method of controlling thereof
WO2014039883A2 (en) * 2012-09-07 2014-03-13 Huawei Technologies Co., Ltd. System and method for segment demarcation and identification in adaptive streaming
US9131251B2 (en) * 2012-09-20 2015-09-08 Google Technology Holdings LLC Use of a receive-window size advertised by a client to a content server to change a video stream bitrate streamed by the content server
US8914836B2 (en) 2012-09-28 2014-12-16 Sonic Ip, Inc. Systems, methods, and computer program products for load adaptive streaming
US8997254B2 (en) 2012-09-28 2015-03-31 Sonic Ip, Inc. Systems and methods for fast startup streaming of encrypted multimedia content
JP6077811B2 (ja) * 2012-10-04 2017-02-08 キヤノン株式会社 画像符号化装置、画像符号化方法およびプログラム
US9641906B2 (en) * 2012-10-09 2017-05-02 Sharp Kabushiki Kaisha Content transmission device, content playback device, content distribution system, method for controlling content transmission device, method for controlling content playback device, control program, and recording medium
US9699463B2 (en) * 2012-12-26 2017-07-04 Intel Corporation Constant quality video encoding
US9813325B2 (en) 2012-12-27 2017-11-07 Comcast Cable Communications, Llc Information stream management
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9264475B2 (en) 2012-12-31 2016-02-16 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
WO2014108207A1 (en) * 2013-01-11 2014-07-17 Telefonaktiebolaget L M Ericsson (Publ) Technique for operating client and server devices in a broadcast communication network
WO2014113486A1 (en) * 2013-01-15 2014-07-24 Futurewei Technologies, Inc. Using quality information for adaptive streaming of media content
CN105075273B (zh) 2013-02-27 2019-03-26 苹果公司 自适应流式传输技术
US9357210B2 (en) 2013-02-28 2016-05-31 Sonic Ip, Inc. Systems and methods of encoding multiple video streams for adaptive bitrate streaming
US9350990B2 (en) 2013-02-28 2016-05-24 Sonic Ip, Inc. Systems and methods of encoding multiple video streams with adaptive quantization for adaptive bitrate streaming
WO2014138331A2 (en) * 2013-03-06 2014-09-12 Interdigital Patent Holdings, Inc. Power aware adaptation for video streaming
US10063921B2 (en) 2013-03-06 2018-08-28 Interdigital Patent Holdings, Inc. Power aware adaptation for video streaming
CN109510999B (zh) 2013-03-06 2022-08-30 交互数字专利控股公司 一种wtru及由wtru执行的方法
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
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9344517B2 (en) 2013-03-28 2016-05-17 Sonic Ip, Inc. Downloading and adaptive streaming of multimedia content to a device with cache assist
US10110647B2 (en) * 2013-03-28 2018-10-23 Qualcomm Incorporated Method and apparatus for altering bandwidth consumption
CN105379293B (zh) 2013-04-19 2019-03-26 华为技术有限公司 基于超文本协议的动态自适应流媒体中的媒体质量信息指示
US9247317B2 (en) 2013-05-30 2016-01-26 Sonic Ip, Inc. Content streaming with client device trick play index
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9544352B2 (en) * 2013-06-11 2017-01-10 Bitmovin Gmbh Adaptation logic for varying a bitrate
US9179159B2 (en) 2013-06-20 2015-11-03 Wowza Media Systems, LLC Distributed encoding of a video stream
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
EP3860130A1 (en) * 2013-08-16 2021-08-04 bitmovin GmbH Apparatus and method for constant quality optimization for adaptive streaming
US9343112B2 (en) 2013-10-31 2016-05-17 Sonic Ip, Inc. Systems and methods for supplementing content from a server
JP6265724B2 (ja) * 2013-12-11 2018-01-24 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム
ES2613978T3 (es) * 2013-12-26 2017-05-29 Telefonica Digital España, S.L.U. Un método y un sistema para la transmisión por secuencias suave de contenidos de medios en una red de entrega de contenidos distribuida
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
US9699464B2 (en) * 2014-07-10 2017-07-04 Intel Corporation Adaptive bitrate streaming for wireless video
US20160073106A1 (en) * 2014-09-08 2016-03-10 Apple Inc. Techniques for adaptive video streaming
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
US10080019B2 (en) * 2014-09-19 2018-09-18 Intel Corporation Parallel encoding for wireless displays
US10135748B2 (en) * 2014-09-29 2018-11-20 Apple Inc. Switching between media streams
KR102263696B1 (ko) * 2015-03-20 2021-06-10 삼성전자주식회사 무선통신 시스템에서 데이터 송수신 방법 및 장치
US10271112B2 (en) * 2015-03-26 2019-04-23 Carnegie Mellon University System and method for dynamic adaptive video streaming using model predictive control
JP6482413B2 (ja) * 2015-07-01 2019-03-13 テレフオンアクチーボラゲット エルエム エリクソン(パブル) メディアストリーム伝送のためのセッション制御
CN104994379A (zh) * 2015-08-05 2015-10-21 中磊电子(苏州)有限公司 视频处理方法及视频处理装置
WO2017031692A1 (zh) * 2015-08-25 2017-03-02 华为技术有限公司 视频下载方法、装置及系统
US9888052B2 (en) 2015-09-21 2018-02-06 Imagine Communications Corp. ABR allocation for statistical multiplexing
US10178143B2 (en) 2015-09-29 2019-01-08 International Business Machines Corporation Selecting bitrate to stream encoded media based on tagging of important media segments
FR3041850B1 (fr) * 2015-09-30 2018-05-25 Vogo Procede d'encodage de flux de donnees video basees sur des groupements d'images (gop)
CN105306960B (zh) * 2015-10-18 2018-05-04 北京航空航天大学 一种用于传输高质量在线课程视频的动态自适应流系统
US10332534B2 (en) 2016-01-07 2019-06-25 Microsoft Technology Licensing, Llc Encoding an audio stream
US10356406B2 (en) * 2016-01-19 2019-07-16 Google Llc Real-time video encoder rate control using dynamic resolution switching
US10075292B2 (en) 2016-03-30 2018-09-11 Divx, Llc Systems and methods for quick start-up of playback
CN105847902A (zh) * 2016-04-25 2016-08-10 乐视控股(北京)有限公司 一种码流数据调度方法及服务器
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
US20180063549A1 (en) * 2016-08-24 2018-03-01 Ati Technologies Ulc System and method for dynamically changing resolution based on content
CN106254873B (zh) * 2016-08-31 2020-04-03 广州市网星信息技术有限公司 一种视频编码方法及视频编码装置
US10264317B2 (en) * 2016-09-28 2019-04-16 T-Mobile Usa, Inc. Content access device geolocation verification
US20180176285A1 (en) * 2016-12-15 2018-06-21 The Directv Group, Inc. Enhanced transmission of media to client devices
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
US10742708B2 (en) 2017-02-23 2020-08-11 Netflix, Inc. Iterative techniques for generating multiple encoded versions of a media title
US11166034B2 (en) 2017-02-23 2021-11-02 Netflix, Inc. Comparing video encoders/decoders using shot-based encoding and a perceptual visual quality metric
US11153585B2 (en) 2017-02-23 2021-10-19 Netflix, Inc. Optimizing encoding operations when generating encoded versions of a media title
US10601946B2 (en) * 2017-02-23 2020-03-24 The Directv Group, Inc. Edge cache segment prefetching
US10917644B2 (en) 2017-02-23 2021-02-09 Netflix, Inc. Iterative techniques for encoding video content
US10362080B2 (en) 2017-04-25 2019-07-23 At&T Intellectual Property I, L.P. Methods, systems, and devices for video streaming adaptation using control theoretic approach
CN109151470B (zh) 2017-06-28 2021-03-16 腾讯科技(深圳)有限公司 编码分辨率控制方法及终端
US10666992B2 (en) 2017-07-18 2020-05-26 Netflix, Inc. Encoding techniques for optimizing distortion and bitrate
US12255940B2 (en) * 2017-07-18 2025-03-18 Netflix, Inc. Encoding techniques for optimizing distortion and bitrate
US11006161B1 (en) * 2017-12-11 2021-05-11 Harmonic, Inc. Assistance metadata for production of dynamic Over-The-Top (OTT) adjustable bit rate (ABR) representations using On-The-Fly (OTF) transcoding
JP6612313B2 (ja) * 2017-12-20 2019-11-27 テレフオンアクチーボラゲット エルエム エリクソン(パブル) メディアストリーム伝送のためのセッション制御
CN108810064A (zh) * 2018-02-06 2018-11-13 吴敏 基于云服务器的远程控制平台
CN108600863A (zh) * 2018-03-28 2018-09-28 腾讯科技(深圳)有限公司 多媒体文件处理方法和装置、存储介质及电子装置
US11032345B2 (en) 2018-05-10 2021-06-08 Microsoft Technology Licensing, Llc Client side data stream processing
US10728180B2 (en) 2018-08-21 2020-07-28 At&T Intellectual Property I, L.P. Apparatus, storage medium and method for adaptive bitrate streaming adaptation of variable bitrate encodings
US11388464B2 (en) * 2018-09-25 2022-07-12 Microsoft Technology Licensing, Llc Increasing video bit rates while maintaining video quality
WO2020091872A1 (en) * 2018-10-29 2020-05-07 University Of Washington Saliency-based video compression systems and methods
US10735231B2 (en) 2018-12-19 2020-08-04 International Business Machines Corporation Demodulating modulated signals with artificial neural networks
US10778938B2 (en) * 2018-12-20 2020-09-15 Hulu, LLC Video chunk combination optimization
EP3871100B1 (en) 2019-02-11 2024-08-07 Bitmovin, Inc. Prediction adaptation logic based on chunks of segments of content
CN109862019B (zh) * 2019-02-20 2021-10-22 联想(北京)有限公司 数据处理方法、装置以及系统
US10742992B1 (en) * 2019-03-26 2020-08-11 Electronic Arts Inc. Video compression for video games
US10965945B2 (en) * 2019-03-29 2021-03-30 Bitmovin, Inc. Optimized multipass encoding
EP3742728B1 (en) * 2019-05-24 2022-09-21 Axis AB A method and bitrate controller for controlling output bitrate of a video encoder
JP7539928B2 (ja) 2019-07-09 2024-08-26 アリババ・グループ・ホールディング・リミテッド 解像度適応型ビデオコーディング
CN110636389B (zh) * 2019-09-19 2021-11-09 深圳市梦网视讯有限公司 一种片源复杂度分析方法和系统
US11997324B2 (en) 2019-10-04 2024-05-28 Novi Digital Entertainment Private Limited Systems and methods for dynamic optimization of content delivery in a wireless communication network
US12080047B2 (en) * 2019-10-18 2024-09-03 Nbcuniversal Media, Llc Artificial intelligence-assisted content source identification
CN111010576B (zh) * 2019-12-18 2021-04-27 腾讯科技(深圳)有限公司 一种数据处理方法及相关设备
CN111327950B (zh) * 2020-03-05 2021-08-06 腾讯科技(深圳)有限公司 一种视频转码方法及装置
US11792408B2 (en) * 2020-03-30 2023-10-17 Alibaba Group Holding Limited Transcoder target bitrate prediction techniques
US11190826B1 (en) * 2020-06-25 2021-11-30 Disney Enterprises, Inc. Segment quality-guided adaptive stream creation
US12088821B1 (en) * 2020-06-30 2024-09-10 Amazon Technologies, Inc. Dynamic encoder-time scaling service for live and on-demand adaptive streaming
EP4183141A1 (en) 2020-07-17 2023-05-24 Dolby Laboratories Licensing Corporation Video content creation tool and method
US12248689B2 (en) * 2022-02-23 2025-03-11 Samsung Electronics Co., Ltd. Video stream encoding for computational storage device
US12166997B2 (en) 2022-04-28 2024-12-10 Bitmovin, Gmbh Perceptually-aware online per-title encoding for live video streaming
US12114024B2 (en) 2022-05-16 2024-10-08 Microsoft Technology Licensing, Llc. Streaming video with internally-variable frame quality based on intelligent identification of high-relevance regions
US12355939B2 (en) 2022-09-13 2025-07-08 Bitmovin Gmbh Content-adaptive encoder preset prediction for adaptive live streaming
CN119135847B (zh) * 2024-11-08 2025-01-17 深圳市小鹰视界智能有限公司 一种移动终端远程控制监控系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020090027A1 (en) * 2000-11-10 2002-07-11 Marta Karczewicz Apparatus, and associated method, for selecting an encoding rate by which to encode video frames of a video sequence

Family Cites Families (153)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2389277A1 (fr) 1977-04-29 1978-11-24 Ibm France Procede de quantification a allocation dynamique du taux de bits disponible, et dispositif de mise en oeuvre dudit procede
FR2412987A1 (fr) * 1977-12-23 1979-07-20 Ibm France Procede de compression de donnees relatives au signal vocal et dispositif mettant en oeuvre ledit procede
EP0064119B1 (fr) * 1981-04-30 1985-08-28 International Business Machines Corporation Perfectionnement aux procédés de codage de la voix et dispositif de mise en oeuvre du procédé perfectionné
JPH0556275A (ja) * 1990-08-30 1993-03-05 Sharp Corp 画像符号化装置及び画像復号装置
US5418570A (en) 1992-03-03 1995-05-23 Kabushiki Kaisha Toshiba Motion picture coding apparatus
US5436665A (en) * 1992-03-03 1995-07-25 Kabushiki Kaisha Toshiba Motion picture coding apparatus
DE4211945C1 (ko) * 1992-04-09 1993-05-19 Institut Fuer Rundfunktechnik Gmbh, 8000 Muenchen, De
JP3164647B2 (ja) * 1992-06-03 2001-05-08 株式会社東芝 動画像符号化方法及び装置
JP3508146B2 (ja) * 1992-09-11 2004-03-22 ソニー株式会社 ディジタル信号符号化復号化装置、ディジタル信号符号化装置及びディジタル信号復号化装置
JP3185413B2 (ja) * 1992-11-25 2001-07-09 ソニー株式会社 直交変換演算並びに逆直交変換演算方法及びその装置、ディジタル信号符号化及び/又は復号化装置
US5463424A (en) 1993-08-03 1995-10-31 Dolby Laboratories Licensing Corporation Multi-channel transmitter/receiver system providing matrix-decoding compatible signals
NL9301358A (nl) * 1993-08-04 1995-03-01 Nederland Ptt Transcodeerinrichting.
US5537440A (en) * 1994-01-07 1996-07-16 Motorola, Inc. Efficient transcoding device and method
US5515107A (en) * 1994-03-30 1996-05-07 Sigma Designs, Incorporated Method of encoding a stream of motion picture data
US5541852A (en) * 1994-04-14 1996-07-30 Motorola, Inc. Device, method and system for variable bit-rate packet video communications
US5617142A (en) * 1994-11-08 1997-04-01 General Instrument Corporation Of Delaware Method and apparatus for changing the compression level of a compressed digital signal
US5623424A (en) * 1995-05-08 1997-04-22 Kabushiki Kaisha Toshiba Rate-controlled digital video editing method and system which controls bit allocation of a video encoder by varying quantization levels
US5784175A (en) 1995-10-05 1998-07-21 Microsoft Corporation Pixel block correlation process
US5835495A (en) * 1995-10-11 1998-11-10 Microsoft Corporation System and method for scaleable streamed audio transmission over a network
US5686964A (en) * 1995-12-04 1997-11-11 Tabatabai; Ali Bit rate control mechanism for digital image and video data compression
US6957350B1 (en) * 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
US5996022A (en) 1996-06-03 1999-11-30 Webtv Networks, Inc. Transcoding data in a proxy computer prior to transmitting the audio data to a client
SE515535C2 (sv) * 1996-10-25 2001-08-27 Ericsson Telefon Ab L M En transkoder
JPH10229420A (ja) * 1997-02-17 1998-08-25 Matsushita Electric Ind Co Ltd 通信システム
EP1467563A1 (en) * 1997-07-25 2004-10-13 Sony Corporation Editing device and method
US6192075B1 (en) * 1997-08-21 2001-02-20 Stream Machine Company Single-pass variable bit-rate control for digital video coding
EP0909094A1 (en) 1997-10-07 1999-04-14 CANAL+ Société Anonyme Multithread data processor
JPH11275592A (ja) * 1998-01-22 1999-10-08 Victor Co Of Japan Ltd 動画像符号列変換装置及びその方法
US6192154B1 (en) * 1998-01-26 2001-02-20 International Business Machines Corporation Two-pass encoding method of digital motion video sequences for constant-or variable bit rate
US6278735B1 (en) * 1998-03-19 2001-08-21 International Business Machines Corporation Real-time single pass variable bit rate control strategy and encoder
DE69815159T2 (de) * 1998-03-20 2004-04-08 Stmicroelectronics Asia Pacific Pte Ltd. Kodierung von bewegten bildern mit globaler konstanter bitrate
US6466623B1 (en) 1998-03-27 2002-10-15 Industrial Technology Research Institute Method and apparatus for motion estimation for high performance transcoding
JP4123567B2 (ja) * 1998-04-30 2008-07-23 ソニー株式会社 画像信号処理装置及び方法
US6859496B1 (en) * 1998-05-29 2005-02-22 International Business Machines Corporation Adaptively encoding multiple streams of video data in parallel for multiplexing onto a constant bit rate channel
US6249288B1 (en) * 1998-12-14 2001-06-19 Ati International Srl Multi thread display controller
US6434197B1 (en) * 1999-01-07 2002-08-13 General Instrument Corporation Multi-functional transcoder for compressed bit streams
US6529552B1 (en) * 1999-02-16 2003-03-04 Packetvideo Corporation Method and a device for transmission of a variable bit-rate compressed video bitstream over constant and variable capacity networks
US6259741B1 (en) * 1999-02-18 2001-07-10 General Instrument Corporation Method of architecture for converting MPEG-2 4:2:2-profile bitstreams into main-profile bitstreams
US6463414B1 (en) 1999-04-12 2002-10-08 Conexant Systems, Inc. Conference bridge processing of speech in a packet network environment
US6370502B1 (en) * 1999-05-27 2002-04-09 America Online, Inc. Method and system for reduction of quantization-induced block-discontinuities and general purpose audio codec
US6426977B1 (en) * 1999-06-04 2002-07-30 Atlantic Aerospace Electronics Corporation System and method for applying and removing Gaussian covering functions
US7315815B1 (en) * 1999-09-22 2008-01-01 Microsoft Corporation LPC-harmonic vocoder with superframe structure
US6300973B1 (en) 2000-01-13 2001-10-09 Meir Feder Method and system for multimedia communication control
US6574279B1 (en) 2000-02-02 2003-06-03 Mitsubishi Electric Research Laboratories, Inc. Video transcoding using syntactic and semantic clues
US6522693B1 (en) * 2000-02-23 2003-02-18 International Business Machines Corporation System and method for reencoding segments of buffer constrained video streams
US6404814B1 (en) * 2000-04-28 2002-06-11 Hewlett-Packard Company Transcoding method and transcoder for transcoding a predictively-coded object-based picture signal to a predictively-coded block-based picture signal
US7206016B2 (en) * 2000-05-01 2007-04-17 Polycom, Inc. Filtering artifacts from multi-threaded video
US6650705B1 (en) 2000-05-26 2003-11-18 Mitsubishi Electric Research Laboratories Inc. Method for encoding and transcoding multiple video objects with variable temporal resolution
US6647061B1 (en) 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
KR100341063B1 (ko) * 2000-06-28 2002-06-20 송문섭 실시간 영상 통신을 위한 율제어 장치 및 그 방법
US20040125877A1 (en) * 2000-07-17 2004-07-01 Shin-Fu Chang Method and system for indexing and content-based adaptive streaming of digital video content
US6963347B1 (en) 2000-08-04 2005-11-08 Ati International, Srl Vertex data processing with multiple threads of execution
GB2366464A (en) 2000-08-14 2002-03-06 Nokia Mobile Phones Ltd Video coding using intra and inter coding on the same data
US6934334B2 (en) * 2000-10-02 2005-08-23 Kabushiki Kaisha Toshiba Method of transcoding encoded video data and apparatus which transcodes encoded video data
JP2004511976A (ja) * 2000-10-10 2004-04-15 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ディジタルビデオ記録のためのビデオビットレート制御方法及び装置
US7039116B1 (en) 2000-11-07 2006-05-02 Cisco Technology, Inc. Methods and apparatus for embedding and format conversion of compressed video data
JP2002152752A (ja) 2000-11-13 2002-05-24 Sony Corp 画像情報変換装置及び方法
US7058127B2 (en) * 2000-12-27 2006-06-06 International Business Machines Corporation Method and system for video transcoding
US20020136298A1 (en) * 2001-01-18 2002-09-26 Chandrashekhara Anantharamu System and method for adaptive streaming of predictive coded video data
US7099116B1 (en) * 2001-01-24 2006-08-29 Magnecomp Corporation Disk drive suspension with second spring function
JP4203707B2 (ja) * 2001-01-31 2009-01-07 日本電気株式会社 事前解析を用いた動画像符号化装置、動画像符号化方法、及びそのプログラム。
US20040117427A1 (en) * 2001-03-16 2004-06-17 Anystream, Inc. System and method for distributing streaming media
FR2823049B1 (fr) * 2001-03-29 2003-06-06 Nextream Sa Procede et dispositif de controle de la qualite de donnees video
US20030028386A1 (en) * 2001-04-02 2003-02-06 Zinser Richard L. Compressed domain universal transcoder
US6925501B2 (en) * 2001-04-17 2005-08-02 General Instrument Corporation Multi-rate transcoder for digital streams
JP4038996B2 (ja) 2001-04-27 2008-01-30 松下電器産業株式会社 信号処理装置および信号処理方法
US6757648B2 (en) * 2001-06-28 2004-06-29 Microsoft Corporation Techniques for quantization of spectral data in transcoding
JP4574090B2 (ja) * 2001-09-21 2010-11-04 三菱電機株式会社 動画データ変換装置および動画データ変換プログラム
US6504494B1 (en) * 2001-11-06 2003-01-07 Motorola, Inc. Software, method and apparatus for rate controlled image compression
US7027982B2 (en) * 2001-12-14 2006-04-11 Microsoft Corporation Quality and rate control strategy for digital audio
US7319720B2 (en) * 2002-01-28 2008-01-15 Microsoft Corporation Stereoscopic video
JP2003259307A (ja) * 2002-03-06 2003-09-12 Ricoh Co Ltd 録音録画システム、録音録画方法、録音録画/再生システム、及び記録媒体
US7034897B2 (en) 2002-04-01 2006-04-25 Broadcom Corporation Method of operating a video decoding system
JP4193406B2 (ja) * 2002-04-16 2008-12-10 三菱電機株式会社 映像データ変換装置および映像データ変換方法
US20030206597A1 (en) 2002-04-19 2003-11-06 Droplet Technology, Inc. System, method and computer program product for image and video transcoding
JP4275358B2 (ja) 2002-06-11 2009-06-10 株式会社日立製作所 画像情報変換装置およびビットストリーム変換機ならびに画像情報変換送信方法
KR100484148B1 (ko) * 2002-07-27 2005-04-18 삼성전자주식회사 개선된 비트율 제어 방법과 그 장치
US6944224B2 (en) 2002-08-14 2005-09-13 Intervideo, Inc. Systems and methods for selecting a macroblock mode in a video encoder
CN100344162C (zh) * 2002-09-10 2007-10-17 汤姆森许可贸易公司 视频点播服务器系统和方法
US7292634B2 (en) 2002-09-24 2007-11-06 Matsushita Electric Industrial Co., Ltd. Image coding method and apparatus
AU2003279015A1 (en) * 2002-09-27 2004-04-19 Videosoft, Inc. Real-time video coding/decoding
AU2003290536A1 (en) * 2002-10-23 2004-05-13 Divxnetworks, Inc. Method and system for supercompression of compressed digital video
US6961377B2 (en) 2002-10-28 2005-11-01 Scopus Network Technologies Ltd. Transcoder system for compressed digital video bitstreams
US7318027B2 (en) * 2003-02-06 2008-01-08 Dolby Laboratories Licensing Corporation Conversion of synthesized spectral components for encoding and low-complexity transcoding
US7142601B2 (en) 2003-04-14 2006-11-28 Mitsubishi Electric Research Laboratories, Inc. Transcoding compressed videos to reducing resolution videos
JP4196726B2 (ja) * 2003-05-14 2008-12-17 ソニー株式会社 画像処理装置および画像処理方法、記録媒体、並びに、プログラム
US7373004B2 (en) * 2003-05-23 2008-05-13 Silicon Integrated Systems Corp. Apparatus for constant quality rate control in video compression and target bit allocator thereof
US7391717B2 (en) 2003-06-30 2008-06-24 Microsoft Corporation Streaming of variable bit rate multimedia content
US7343291B2 (en) * 2003-07-18 2008-03-11 Microsoft Corporation Multi-pass variable bitrate media encoding
US7627039B2 (en) * 2003-09-05 2009-12-01 Realnetworks, Inc. Parallel video decoding
US7295612B2 (en) 2003-09-09 2007-11-13 Apple Inc. Determining the number of unidirectional and bidirectional motion compensated frames to be encoded for a video sequence and detecting scene cuts in the video sequence
US7535959B2 (en) * 2003-10-16 2009-05-19 Nvidia Corporation Apparatus, system, and method for video encoder rate control
US7346106B1 (en) * 2003-12-30 2008-03-18 Apple Inc. Robust multi-pass variable bit rate encoding
US7460990B2 (en) * 2004-01-23 2008-12-02 Microsoft Corporation Efficient coding of digital media spectral data using wide-sense perceptual similarity
US7352808B2 (en) * 2004-01-29 2008-04-01 International Business Machines Corporation System and method for the dynamic resolution change for video encoding
US7869503B2 (en) * 2004-02-06 2011-01-11 Apple Inc. Rate and quality controller for H.264/AVC video coder and scene analyzer therefor
JP4095559B2 (ja) * 2004-02-13 2008-06-04 株式会社東芝 H.264コーデックic、dvd再生装置、h.264コーデック方法
JP4072859B2 (ja) 2004-03-03 2008-04-09 Kddi株式会社 ビデオ情報再符号化装置
KR100586883B1 (ko) * 2004-03-04 2006-06-08 삼성전자주식회사 비디오 스트리밍 서비스를 위한 비디오 코딩방법, 프리디코딩방법, 비디오 디코딩방법, 및 이를 위한 장치와, 이미지 필터링방법
CA2557614A1 (en) 2004-03-05 2005-09-22 Vanu, Inc. Controlling jitter effects
EP1578131A1 (en) * 2004-03-18 2005-09-21 STMicroelectronics S.r.l. Encoding/decoding methods and systems, computer program products therefor
US20050232497A1 (en) 2004-04-15 2005-10-20 Microsoft Corporation High-fidelity transcoding
CN100592793C (zh) 2004-05-12 2010-02-24 皇家飞利浦电子股份有限公司 用于广播的可缩放视频编码
US20060002479A1 (en) * 2004-06-22 2006-01-05 Fernandes Felix C A Decoder for H.264/AVC video
US20060114995A1 (en) * 2004-12-01 2006-06-01 Joshua Robey Method and system for high speed video encoding using parallel encoders
US7440626B2 (en) * 2004-12-02 2008-10-21 Mitsubishi Electric Research Laboratories, Inc. Image transcoding
US20060126726A1 (en) * 2004-12-10 2006-06-15 Lin Teng C Digital signal processing structure for decoding multiple video standards
US20060126744A1 (en) * 2004-12-10 2006-06-15 Liang Peng Two pass architecture for H.264 CABAC decoding process
JP4501676B2 (ja) * 2004-12-22 2010-07-14 日本電気株式会社 動画像圧縮符号化方法と動画像圧縮符号化装置並びにプログラム
WO2006078594A1 (en) * 2005-01-19 2006-07-27 Thomson Licensing Method and apparatus for real time parallel encoding
US7694075B1 (en) * 2005-03-09 2010-04-06 Globalfoundries Inc. System for enabling and disabling cache and a method thereof
RU2402885C2 (ru) 2005-03-10 2010-10-27 Квэлкомм Инкорпорейтед Классификация контента для обработки мультимедийных данных
US20060215754A1 (en) 2005-03-24 2006-09-28 Intel Corporation Method and apparatus for performing video decoding in a multi-thread environment
US7920633B2 (en) 2005-04-22 2011-04-05 Broadcom Corporation Method and system for parallel processing video data
US8902989B2 (en) 2005-04-27 2014-12-02 Broadcom Corporation Decoder system for decoding multi-standard encoded video
US20060245491A1 (en) 2005-04-28 2006-11-02 Mehrban Jam Method and circuit for transcoding transform data
US7974341B2 (en) * 2005-05-03 2011-07-05 Qualcomm, Incorporated Rate control for multi-layer video design
JP2007036666A (ja) 2005-07-27 2007-02-08 Onkyo Corp コンテンツ配信システム、クライアント及びクライアントプログラム
US7979885B2 (en) * 2005-08-11 2011-07-12 Harmonic Inc. Real time bit rate switching for internet protocol television
US8447121B2 (en) * 2005-09-14 2013-05-21 Microsoft Corporation Efficient integrated digital video transcoding
US8446954B2 (en) * 2005-09-27 2013-05-21 Qualcomm Incorporated Mode selection techniques for multimedia coding
US8654848B2 (en) * 2005-10-17 2014-02-18 Qualcomm Incorporated Method and apparatus for shot detection in video streaming
US7885341B2 (en) * 2005-10-21 2011-02-08 Cisco Technology, Inc. Spatial filtering for improving compression efficiency of motion compensated interframe coding
KR100719900B1 (ko) * 2005-11-11 2007-05-18 한국기계연구원 농축 플라즈마 방식 배출입자 처리장치
US7843995B2 (en) * 2005-12-19 2010-11-30 Seiko Epson Corporation Temporal and spatial analysis of a video macroblock
US8130841B2 (en) * 2005-12-29 2012-03-06 Harris Corporation Method and apparatus for compression of a video signal
US8582905B2 (en) * 2006-01-31 2013-11-12 Qualcomm Incorporated Methods and systems for rate control within an encoding device
US7643422B1 (en) * 2006-03-24 2010-01-05 Hewlett-Packard Development Company, L.P. Dynamic trans-framing and trans-rating for interactive playback control
US9131164B2 (en) * 2006-04-04 2015-09-08 Qualcomm Incorporated Preprocessor method and apparatus
US8130828B2 (en) * 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US7773672B2 (en) 2006-05-30 2010-08-10 Freescale Semiconductor, Inc. Scalable rate control system for a video encoder
US8311102B2 (en) * 2006-07-26 2012-11-13 Microsoft Corporation Bitstream switching in multiple bit-rate video streaming environments
US8265157B2 (en) * 2007-02-07 2012-09-11 Lsi Corporation Motion vector refinement for MPEG-2 to H.264 video transcoding
US8571027B2 (en) 2007-04-18 2013-10-29 At&T Intellectual Property I, L.P. System and method for multi-rate video delivery using multicast stream
JP4650454B2 (ja) * 2007-06-04 2011-03-16 ソニー株式会社 符号化装置及び符号化方法
US20090003452A1 (en) * 2007-06-29 2009-01-01 The Hong Kong University Of Science And Technology Wyner-ziv successive refinement video compression
US7756817B2 (en) 2007-07-05 2010-07-13 Yahoo! Inc. System and method for enabling parallel access to serially compressed files
US20090112982A1 (en) * 2007-10-24 2009-04-30 Wireless Services Corp. Automatic management of associations between users
US20090110060A1 (en) * 2007-10-30 2009-04-30 Mauricio Cortes Method and apparatus for performing lower complexity multiple bit rate video encoding using metadata
US8121187B2 (en) * 2007-12-05 2012-02-21 Alcatel Lucent Method and apparatus for performing multiple bit rate video encoding and video stream switching
US8417187B2 (en) * 2008-01-07 2013-04-09 Apple Inc. Methods and apparatus for wireless device coexistence
US8165204B2 (en) 2008-02-29 2012-04-24 Michael Bronstein Resource allocation for frame-based controller
CN101534436B (zh) 2008-03-11 2011-02-02 深圳市融创天下科技发展有限公司 一种视频图像宏块级自适应码率分配方法
US20090244633A1 (en) 2008-03-31 2009-10-01 Konica Minolta Systems Laboratory, Inc. Systems and Methods for Color Data Compression
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US20100086048A1 (en) * 2008-10-03 2010-04-08 Faisal Ishtiaq System and Method for Video Image Processing
US20100091888A1 (en) * 2008-10-13 2010-04-15 General Instrument Corporation Multi-Rate Encoder with GOP Alignment
US8311115B2 (en) * 2009-01-29 2012-11-13 Microsoft Corporation Video encoding using previously calculated motion information
EP2425626A2 (en) * 2009-05-01 2012-03-07 Thomson Licensing Inter-layer dependency information for 3dv
US8270473B2 (en) 2009-06-12 2012-09-18 Microsoft Corporation Motion based dynamic resolution multiple bit rate video encoding
US9762898B2 (en) * 2010-02-01 2017-09-12 Kelly Y Kishore Method and system for parallelizing video compression
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020090027A1 (en) * 2000-11-10 2002-07-11 Marta Karczewicz Apparatus, and associated method, for selecting an encoding rate by which to encode video frames of a video sequence

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024029812A1 (ko) * 2022-08-01 2024-02-08 배태면 적응적 인코딩 파라메터 운용 방법 및 이를 지원하는 전자 장치

Also Published As

Publication number Publication date
WO2010088030A2 (en) 2010-08-05
US20100189183A1 (en) 2010-07-29
CA2748373C (en) 2016-07-05
MX2011007372A (es) 2011-08-08
KR20110106419A (ko) 2011-09-28
HK1163405A1 (en) 2012-09-07
CA2748373A1 (en) 2010-08-05
EP2382784A4 (en) 2014-01-22
EP2382784B1 (en) 2015-04-29
AU2010208597A1 (en) 2011-07-14
IL213566A0 (en) 2011-07-31
US8396114B2 (en) 2013-03-12
JP5490146B2 (ja) 2014-05-14
CN102301710A (zh) 2011-12-28
EP2382784A2 (en) 2011-11-02
DK2382784T3 (en) 2015-07-06
IL213566A (en) 2015-02-26
BRPI1006824A2 (pt) 2016-04-12
CN102301710B (zh) 2013-03-13
JP2012516644A (ja) 2012-07-19
WO2010088030A3 (en) 2010-10-21
AU2010208597B2 (en) 2014-05-15
RU2011131864A (ru) 2013-02-10

Similar Documents

Publication Publication Date Title
KR101643790B1 (ko) 적응적 비디오 스트리밍용의 가변 비트 레이트 및 동적 해상도를 이용한 다중 비트 레이트 비디오 인코딩
US8270473B2 (en) Motion based dynamic resolution multiple bit rate video encoding
US9071841B2 (en) Video transcoding with dynamically modifiable spatial resolution
JP5410549B2 (ja) 事前計算動き情報を用いたビデオ・エンコード
CN104885455B (zh) 一种用于视频编码的计算机实现的方法及装置
US6925120B2 (en) Transcoder for scalable multi-layer constant quality video bitstreams
RU2587412C2 (ru) Управление скоростью передачи видео на основе гистограммы коэффициентов преобразования
KR20230053243A (ko) 분산형 병렬 인코딩 방법 및 장치
KR100932727B1 (ko) 비디오 스트림 전환 장치 및 방법
HK1163405B (en) Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20110725

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20141205

Comment text: Request for Examination of Application

N231 Notification of change of applicant
PN2301 Change of applicant

Patent event date: 20150708

Comment text: Notification of Change of Applicant

Patent event code: PN23011R01D

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20151125

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20160421

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20160722

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20160722

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20190617

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20190617

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20200618

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20240625

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20250630

Start annual number: 10

End annual number: 10