KR20080102141A - 인코딩 장치 내에서의 레이트 제어 방법 및 시스템 - Google Patents
인코딩 장치 내에서의 레이트 제어 방법 및 시스템 Download PDFInfo
- Publication number
- KR20080102141A KR20080102141A KR1020087021282A KR20087021282A KR20080102141A KR 20080102141 A KR20080102141 A KR 20080102141A KR 1020087021282 A KR1020087021282 A KR 1020087021282A KR 20087021282 A KR20087021282 A KR 20087021282A KR 20080102141 A KR20080102141 A KR 20080102141A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- segments
- encoding
- encode
- encoding variable
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/587—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
- H04N19/194—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Communication Control (AREA)
Abstract
본 개시는 인코딩 장치의 인코딩 변수들을 조정하는 기술을 설명한다. 데이터의 세그먼트의 리사이즈 요청에 응답하여, 인코딩 모듈은 리사이즈 요청이 없을 때 데이터의 다음 세그먼트들이 인코딩되었던 비트 레이트와는 다른 비트 레이트로 데이터의 다음 세그먼트들이 인코딩되도록 데이터의 하나 이상의 다음 세그먼트를 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정할 수 있다. 어떤 점에서, 인코딩 모듈은 데이터의 다음 세그먼트들이 원하는 인코딩 결과를 달성하게 인코딩되도록 데이터의 세그먼트들을 인코딩하는데 사용되는 인코딩 변수들을 재조정한다. 예를 들어, 인코딩 모듈은 어떤 한 시간 기간 후에 인코딩 변수들을 재조정할 수도 있고 또는 인코딩 변수들이 원하는 인코딩 결과를 달성하게 할 때까지 인코딩 변수들을 점진적으로 조정할 수도 있다.
Description
본 출원은 "MULTIMEDIA CONTENT RE/ENCODING AND STATISTICAL MULTIPLEXING"이라는 명칭으로 2006년 1월 31일자 제출된 미국 예비 출원 60/763,995호에 대한 우선권을 주장하며, 그 전체 내용은 본원에 참조로 통합된다.
본 개시는 멀티미디어 인코딩 및 디코딩에 관한 것으로, 보다 구체적으로는 효율적인 통계적 다중화를 위한 멀티미디어 리사이즈에 관한 것이다.
무선 통신 네트워크와 같은 데이터 네트워크는 단일 단말에 맞춤화되는 서비스들과 상당수의 단말에 제공되는 서비스들 간에 거래(trade off)를 해야 한다. 예를 들어, 상당수의 자원 한정된 휴대 장치(가입자)에 멀티미디어 콘텐츠를 배포하는 것은 까다로운 문제이다. 따라서 네트워크 관리자, 콘텐츠 소매업자 및 서비스 제공자가 콘텐츠 및/또는 다른 네트워크 서비스들을 네트워크화된 장치들 상에서 표현하기 위해 빠르고 효율적인 방식으로 배포하는 방법을 갖는 것은 매우 중요하다.
콘텐츠 전달/미디어 배포 시스템은 실시간 및 비실시간 서비스를 송신 프레임으로 패킹(pack)하고 네트워크상의 장치들에 프레임을 전달할 수 있다. 예를 들 어, 통신 네트워크는 직교 주파수 분할 다중화(OFDM)를 이용하여 네트워크 서버와 하나 이상의 모바일 장치 간에 통신을 제공할 수 있다. 이 기술은 분산 네트워크를 통해 전달 및 전송될 서비스들로 패킹되는 데이터 슬롯들을 갖는 송신 프레임을 제공한다.
일반적으로, 본 개시는 인코딩 장치 내의 레이트 또는 품질 제어를 위한 기술을 설명한다. 보다 구체적으로는, 멀티미디어 데이터의 세그먼트의 리사이즈 요청에 응답하여, 인코딩 모듈이 데이터의 세그먼트의 비트 레이트를 줄이기 위해 데이터의 세그먼트를 리사이즈한다. 여기서 사용되는 "비트 레이트"라는 용어는 멀티미디어 데이터의 세그먼트를 나타내기 위해 단위 시간별로 사용되는 비트 수를 말한다. 종종, 비트 레이트는 초당 킬로비트(kbits/s)로 지정된다. 따라서 데이터의 세그먼트의 비트 레이트는 데이터의 세그먼트 크기에 해당한다.
인코딩 모듈은 하나 이상의 인코딩 변수를 조정함으로써 데이터의 세그먼트를 리사이즈할 수 있다. 일례로, 인코딩 모듈은 데이터의 세그먼트에 사용되는 양자화 파라미터(QP)를 증가시킴으로써 데이터의 세그먼트를 리사이즈할 수 있다. 다른 예로, 인코딩 모듈은 프레임 레이트를 감소시킴으로써, 즉 더 많은 프레임을 누락시킴으로써 데이터의 세그먼트를 리사이즈할 수 있다. 인코딩 모듈은 또한 다른 인코딩 변수들을 조정함으로써 데이터의 세그먼트의 비트 레이트를 감소시켜 크기를 줄일 수도 있다.
추가로, 인코딩 모듈은 데이터의 이전 세그먼트에 대해 수신된 재인코딩 요청이 없을 때 데이터의 다음 세그먼트가 인코딩되었던 비트 레이트와는 다른 비트 레이트로 데이터의 다음 세그먼트가 인코딩되도록 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정한다. 예를 들어, 인코딩 모듈은 데이터의 이전 세그먼트에 대해 수신된 리사이즈 요청이 없을 때 데이터의 다음 세그먼트가 인코딩되었던 비트 레이트보다 낮은 비트 레이트로 데이터의 다음 세그먼트를 인코딩할 비트 레이트를 조정할 수 있다. 이런 식으로, 인코딩 모듈은 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하지 않고도 세그먼트들을 해당 송신 프레임 내에 효율적으로 맞출 수 있는 비트 레이트로 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는 시도를 한다.
어떤 점에서, 인코딩 모듈은 데이터의 다음 세그먼트들이 원하는 인코딩 결과로 인코딩되도록 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정한다. 즉, 인코딩 모듈은 마치 데이터의 이전 세그먼트에 대해 리사이즈 요청이 수신되지 않았던 것처럼 인코딩 모듈이 데이터의 다음 세그먼트들을 인코딩하도록 인코딩 변수를 재조정한다. 예를 들어, 인코딩 모듈은 인코딩 변수들을 재조정하여 데이터의 다음 세그먼트들을 원하는 비트 레이트, 원하는 품질 레벨, 원하는 프레임 레이트 등으로 인코딩할 수 있다. 본 개시의 한 형태에서, 인코딩 모듈은 어떤 시간 기간 동안 리사이즈 요청이 수신되지 않았을 때 인코딩 변수를 재조정할 수 있다. 대안으로, 인코딩 모듈은 데이터의 다음 세그먼트들이 원하는 인코딩 결과로 인코딩될 때까지 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 점진적으로 조정할 수 있다. 그러나 데이터의 다음 세그먼트들 중 하나에 대해 리사이즈 요청이 수신된다면, 인코딩 모듈은 데이터의 다음 세그먼트를 인코딩하는데 사용되는 하나 이상의 인코딩 변수를 또 조정할 수 있다.
한 형태로, 디지털 멀티미디어 데이터의 스트림을 인코딩하는 방법은 상기 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하기 위한 요청을 수신하는 단계, 상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하는 단계, 및 리사이즈 요청이 없을 때 데이터의 하나 이상의 다음 세그먼트들이 인코딩되었던 비트 레이트와는 다른 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하는 단계를 포함한다.
다른 형태로, 디지털 멀티미디어 데이터의 스트림을 인코딩하는 장치는 상기 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 현재 세그먼트를 리사이즈하기 위한 요청을 수신하고 상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하는 리사이즈 모듈, 및 리사이즈 요청이 없을 때 데이터의 하나 이상의 다음 세그먼트들이 인코딩되었던 비트 레이트와는 다른 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하는 레이트 제어 모듈을 포함한다.
추가 형태로, 디지털 멀티미디어 데이터의 스트림을 인코딩하는 장치는 상기 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하기 위한 요청을 수신하는 수단, 상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하는 수단, 및 리사이즈 요청이 없을 때 데이터의 하나 이상의 다음 세그먼트들이 인코딩되었던 비트 레이트와는 다른 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하는 수단을 포함한다.
다른 형태로, 디지털 비디오 데이터를 처리하기 위한 프로세서는 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하기 위한 요청을 수신하고, 상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하며, 리사이즈 요청이 없을 때 데이터의 하나 이상의 다음 세그먼트들이 인코딩되었던 비트 레이트와는 다른 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하도록 구성된다.
여기서 설명하는 기술들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합으로 구현될 수 있다. 소프트웨어로 구현된다면, 이 기술들은 프로세서에 의해 실행될 때 여기서 설명하는 하나 이상의 방법을 수행하는 명령들을 포함하는 컴퓨터 판독 가능 매체에 의해 전체 또는 부분적으로 실현될 수 있다. 이에 따라, 본 개시는 적어도 하나의 컴퓨터로 하여금 디지털 멀티미디어 데이터의 스트림과 관련된 데이터 세그먼트의 리사이즈 요청을 수신하고, 상기 요청에 응답하여 데이터의 세그먼트를 리사이즈하고, 리사이즈 요청이 없을 때 데이터의 다음 세그먼트들이 인코딩되었던 비트 레이트와는 다른 비트 레이트로 데이터의 다음 세그먼트들이 인코딩되도록 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하게 하는 명령들을 포함하는 컴퓨터 판독 가능 매체를 포함하는 디지털 비디오 데이터를 처리하기 위한 컴퓨터 프로그램 제품 또한 고려한다.
하나 이상의 형태의 상세가 첨부 도면 및 하기의 설명에서 언급된다. 본 개시의 다른 특징, 과제 및 이점은 설명과 도면, 및 청구범위로부터 명백할 것이다.
도 1은 예시적인 인코딩 및 디코딩 시스템을 설명하는 블록도이다.
도 2는 다른 예시적인 인코딩 및 디코딩 시스템을 설명하는 블록도이다.
도 3은 멀티미디어 인코딩 장치 내에서 사용하기 위한 예시적인 인코더 모듈을 설명하는 블록도이다.
도 4는 본 개시의 기술에 따라 멀티미디어 데이터를 인코딩하는 인코더 모듈의 예시적인 동작을 설명하는 흐름도이다.
도 5는 리사이즈 요청에 응답하여 인코딩 변수들을 조정하는 인코더 모듈의 예시적인 동작을 설명하는 흐름도이다.
도 6은 리사이즈 요청에 응답하여 인코딩 변수들을 조정하는 인코더 모듈의 다른 예시적인 동작을 설명하는 흐름도이다.
일반적으로, 본 개시는 인코딩 장치 내의 레이트 또는 품질 제어를 위한 기술을 설명한다. 보다 구체적으로는, 멀티미디어 데이터의 세그먼트의 리사이즈 요청에 응답하여, 인코딩 모듈이 데이터의 세그먼트의 비트 레이트를 줄이기 위해 데이터의 세그먼트를 리사이즈한다. 여기서 사용되는 "비트 레이트"라는 용어는 멀 티미디어 데이터의 세그먼트를 나타내기 위해 단위 시간별로 사용되는 비트 수를 말한다. 종종, 비트 레이트는 초당 킬로비트(kbits/s)로 지정된다. 따라서 데이터의 세그먼트의 비트 레이트는 데이터의 세그먼트 크기에 해당한다.
인코딩 모듈은 하나 이상의 인코딩 변수를 조정함으로써 데이터의 세그먼트를 리사이즈할 수 있다. 일례로, 인코딩 모듈은 데이터의 세그먼트에 사용되는 양자화 파라미터(QP)를 증가시킴으로써 데이터의 세그먼트를 리사이즈할 수 있다. 다른 예로, 인코딩 모듈은 프레임 레이트를 감소시킴으로써, 즉 더 많은 프레임을 누락시킴으로써 데이터의 세그먼트를 리사이즈할 수 있다. 인코딩 모듈은 또한 다른 인코딩 변수들을 조정함으로써 데이터의 세그먼트의 비트 레이트를 감소시켜 크기를 줄일 수도 있다.
추가로, 인코딩 모듈은 데이터의 이전 세그먼트에 대해 수신된 재인코딩 요청이 없을 때 데이터의 다음 세그먼트가 인코딩되었던 비트 레이트와는 다른 비트 레이트로 데이터의 다음 세그먼트가 인코딩되도록 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정한다. 예를 들어, 인코딩 모듈은 데이터의 이전 세그먼트에 대해 수신된 리사이즈 요청이 없을 때 데이터의 다음 세그먼트가 인코딩되었던 비트 레이트보다 낮은 비트 레이트로 데이터의 다음 세그먼트를 인코딩할 비트 레이트를 조정할 수 있다. 이런 식으로, 인코딩 모듈은 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하지 않고도 세그먼트들을 해당 송신 프레임 내에 효율적으로 맞출 수 있는 비트 레이트로 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는 시도를 한다.
어떤 점에서, 인코딩 모듈은 데이터의 다음 세그먼트들이 원하는 인코딩 결과로 인코딩되도록 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정한다. 즉, 인코딩 모듈은 마치 데이터의 이전 세그먼트에 대해 리사이즈 요청이 수신되지 않았던 것처럼 인코딩 모듈이 데이터의 다음 세그먼트들을 인코딩하도록 인코딩 변수를 재조정한다. 예를 들어, 인코딩 모듈은 인코딩 변수들을 재조정하여 데이터의 다음 세그먼트들을 원하는 비트 레이트, 원하는 품질 레벨, 원하는 프레임 레이트 등으로 인코딩할 수 있다. 본 개시의 한 형태에서, 인코딩 모듈은 어떤 시간 기간 동안 리사이즈 요청이 수신되지 않았을 때 인코딩 변수를 재조정할 수 있다. 대안으로, 인코딩 모듈은 데이터의 다음 세그먼트들이 원하는 인코딩 결과로 인코딩될 때까지 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 점진적으로 조정할 수 있다. 그러나 데이터의 다음 세그먼트들 중 하나에 대해 리사이즈 요청이 수신된다면, 인코딩 모듈은 데이터의 다음 세그먼트를 인코딩하는데 사용되는 하나 이상의 인코딩 변수를 또 조정할 수 있다.
도 1은 예시적인 인코딩 및 디코딩 시스템(10)을 설명하는 블록도이다. 인코딩 및 디코딩 시스템(10)은 멀티미디어 인코딩 장치(12) 및 멀티미디어 디코딩 장치(14)를 포함한다. 멀티미디어 인코딩 장치(12)는 멀티미디어 데이터를 인코딩하고, 인코딩된 데이터를 조합하여 조합된 데이터를 송신 채널(16)을 통해 멀티미디어 디코딩 장치(14)로 전송한다. 멀티미디어 인코딩 장치(12)는 멀티미디어 데이터의 하나 이상의 채널을 방송하는데 사용되는 방송 네트워크 성분의 일부를 형성할 수 있다. 멀티미디어 인코딩 장치(12)는 예를 들어 무선 기지국, 서버, 또는 인코딩된 멀티미디어 데이터의 하나 이상의 채널을 멀티미디어 디코딩 장치(14)와 같은 하나 이상의 무선 장치에 방송하는데 사용되는 임의의 인프라 구조 노드의 일부를 형성할 수 있다.
멀티미디어 인코딩 장치(12)는 멀티미디어 데이터의 하나 이상의 흐름을 포함하는 다수의 서비스를 인코딩하고, 인코딩된 흐름들을 조합하여, 조합된 흐름들을 송신 채널(16)을 통해 멀티미디어 디코딩 장치에 전송할 수 있다. 서비스들은 뉴스, 스포츠, 날씨, 금융 정보, 영화 및/또는 애플리케이션, 프로그램, 스크립트 또는 임의의 다른 타입의 적당한 콘텐츠 또는 서비스 등의 멀티미디어 콘텐츠 또는 서비스를 포함할 수 있다. 본 개시의 한 형태로, 멀티미디어 인코딩 장치(12)는 시간 주기에 걸쳐 수신된 데이터의 흐름들의 부분들을 인코딩, 조합 및 전송한다. 예로서, 멀티미디어 인코딩 장치(12)는 흐름들에 대해 초 단위로 동작할 수 있다. 즉, 멀티미디어 인코딩 장치(12)는 다수의 흐름의 데이터의 1초 세그먼트들을 인코딩하고, 데이터의 1초 세그먼트들을 조합하여 데이터의 수퍼프레임을 형성하며, 송신기(22)를 통해 송신 채널(16) 상에서 수퍼프레임을 전송한다. 여기서 사용되는 바와 같이, "수퍼프레임"이라는 용어는 1초 시간 주기 또는 윈도우와 같은 시간 주기 또는 윈도우에 걸쳐 수집된 데이터의 세그먼트들의 그룹을 말한다. 데이터의 세그먼트들은 데이터의 하나 이상의 프레임을 포함할 수 있다. 본 개시의 기술들은 데이터의 1초 세그먼트들에 관련하여 설명되지만, 이 기술들은 서로 다른 시간 주기에 걸쳐 수신된 데이터의 세그먼트 등, 고정된 시간 주기일 수도 있고 아닐 수도 있는, 또는 개별 프레임들이나 데이터 프레임들의 세트들에 대한 데이터의 다른 세그먼트들을 조합하여 전송하는데 이용될 수도 있다. 다시 말하면, 수퍼프레임들은 1초 주기보다 크거나 작은 시간 간격, 또는 심지어 가변적인 시간 간격들을 커버하도록 정의될 수 있다.
멀티미디어 디코딩 장치(14)는 멀티미디어 인코딩 장치(12)에 의해 전송된 인코딩된 멀티미디어 데이터를 수신하는 사용자 장치를 포함할 수 있다. 예로서, 디코딩 장치(14)는 디지털 텔레비전, 개인 휴대 단말(PDA), 랩탑 컴퓨터 또는 데스크탑 컴퓨터, "iPod"이라는 상표로 판매되는 것과 같은 디지털 음악 및 비디오 장치, 또는 셀룰러, 위성 또는 지상 기반 무선 전화 등의 무선 전화의 일부로서 구현될 수 있다. 간소화를 위해 도 1에는 하나의 멀티미디어 디코딩 장치(14)만 도시되지만, 멀티미디어 인코딩 장치(12)는 1보다 많은 멀티미디어 디코딩 장치에 데이터의 조합된 흐름들을 전송할 수 있다.
송신 채널(16)은 임의의 유선 또는 무선 매체, 또는 이들의 조합을 포함할 수 있다. 한 형태로, 송신 채널(16)은 고정된 대역폭 채널이다. 즉, 데이터의 조합된 흐름들을 전송하는데 이용할 수 있는 송신 채널 자원의 양이 한정된다. 따라서 멀티미디어 인코딩 장치(12)가 송신 채널(16)을 통해 전송할 수 있는 데이터의 비트 수는 송신에 이용할 수 있는 송신 채널 자원의 양으로 한정된다. 무선 환경에서, 송신 채널 자원들은 에어 링크 또는 에어 인터페이스 자원을 포함할 수 있다. 따라서 멀티미디어 인코딩 장치(12)가 송신 채널(16)을 통해 전송할 수 있는 데이터의 비트 수는 송신에 이용 가능한 송신 채널 자원의 양으로 한정된다. 송신 채널(16)은 글로벌 이동 통신 시스템(GSM), 코드 분할 다중 접속(CDMA), CDMA 2000, 광대역 CDMA(W-CDMA), CDMA 1x EV-DO(Evolution-Data Optimized), 주파수 분할 다중 접속(FDMA), 시분할 다중 접속(TDMA) 또는 각종 IEEE 801.11x 표준으로 정의된 무선 네트워킹을 용이하게 하도록 개발된 광범위한 표준 집단과 같은 하나 이상의 무선 액세스 기술을 포함할 수 있다.
멀티미디어 인코딩 장치(12)는 일정한 품질 레벨 또는 비트 레이트로 데이터의 각 흐름을 출력하고자 할 수도 있다. 여기서 설명하는 기술들은 어느 상황에도 적용 가능하다. 일정한 품질을 유지하고자 하는 경우, 예를 들어, 멀티미디어 인코딩 장치(12)는 목표 품질 레벨을 기초로 데이터의 흐름들에 대한 비트 레이트를 선택한다. 비트 레이트를 결정하기 위한 목표 품질 레벨은 미리 선택되거나 사용자에 의해 선택되거나 자동 프로세스 또는 사용자나 다른 프로세스로부터의 입력을 필요로 하는 반자동 프로세스를 통해 선택되거나 미리 결정된 기준을 기초로 인코딩 장치나 시스템에 의해 동적으로 선택될 수 있다. 목표 품질 레벨은 예를 들어 인코딩 애플리케이션의 타입, 또는 멀티미디어 데이터를 수신하고 있는 클라이언트 장치의 타입을 기초로 선택될 수 있다. 목표 품질 레벨로 데이터의 각 흐름을 출력하는데 필요한 비트 수가 송신 채널(16)을 통한 송신에 이용 가능한 송신 품질 자원이 있는 비트량을 초과한다면, 멀티미디어 인코딩 장치(12)는 다수의 흐름을 위해 가장 높은 전체 품질을 유지하고자 하는 시도로 흐름들 간의 비트 할당을 관리한다.
도 1에 나타낸 것과 같이, 멀티미디어 인코딩 장치(12)는 인코더 모듈(18A-18N)(총칭하여, "인코더 모듈(18)"), 다중 모듈(20) 및 송신기(22)를 포함한다. 인코더 모듈(18)은 하나 이상의 소스로부터 디지털 멀티미디어 데이터의 흐름들을 수신한다. 인코더 모듈(18)은 예를 들어 인코더 모듈(18)에 연결된 메모리나 이미지 포착 장치로부터 멀티미디어 데이터의 흐름들을 수신한다. 멀티미디어 데이터의 흐름들은 코딩되어 방송으로서 또는 요구에 따라 전송되는 생생한 실시간 비디오, 오디오, 또는 비디오와 오디오 흐름을 포함할 수도 있고, 또는 인코딩되어 방송으로서 또는 요구에 따라 전송되는 사전 레코딩되어 저장된 비디오, 오디오, 또는 비디오와 오디오 흐름을 포함할 수도 있다. 본 개시의 기술들은 비실시간 서비스 또는 실시간 서비스와 비실시간 서비스의 조합에도 적용될 수 있다. 그러나 설명을 위해, 본 개시는 실시간 서비스에 대한 인코딩 기술의 사용을 설명한다.
인코더 모듈(18)은 데이터의 세그먼트들과 관련된 전달 요건을 다중 모듈(20)에 전송할 수 있다. 인코더 모듈(18)은 예를 들어 실시간 서비스와 관련된 품질 및 레이트 정보를 하나 이상의 제어 채널을 통해 다중 모듈(20)에 전송할 수 있다. 추가로, 인코더 모듈(18)은 비실시간 서비스와 관련된 우선순위 및 레이턴시 요건을 전송할 수 있다. 다중 모듈(20) 및 인코더 모듈(18)은 서로 다른 다수의 통신 프로토콜을 이용하여 제어 채널들을 통해 통신할 수 있다. 한 형태로, 다중 모듈(20)은 기본 전송 메커니즘으로서 메시지 전송층(MTL)을 이용하는 프로토콜을 사용하여 통신할 수 있다.
다중 모듈(20)은 전달 요건, 예를 들어 품질 및 레이트 정보, 우선순위 요건 및 레이턴시 요건을 분석하여 인코더 모듈(18)이 현재 수퍼프레임(16)에 포함하고자 하는 데이터의 세그먼트를 전송하기에 충분한 송신 채널 자원이 있는지 여부를 결정한다. 다중 모듈(20)은 예를 들어 품질 레벨들 중 선택된 것에 대응하는 크기 및/또는 비트 레이트의 각 세그먼트를 전송하는데 필요한 송신 채널 자원의 양을 결정하고, 데이터의 세그먼트들을 전송하는데 필요한 송신 채널 자원들의 양을 합하여 모든 데이터 세그먼트들에 의해 요구되는 송신 채널 자원들의 총합과 이용 가능한 송신 채널 자원의 양을 비교하여 데이터의 세그먼트들을 전송하기에 충분한 송신 채널 자원이 있는지를 결정할 수 있다.
다중 모듈(20)이 데이터의 다수의 세그먼트가 가용 대역폭 내에 맞지 않는다고 판단하면, 예를 들어 필요한 송신 채널 자원의 총합이 이용 가능한 송신 채널 자원을 초과한다면, 다중 모듈(20)은 리사이즈될 하나 이상의 세그먼트를 선택한다. 다중 모듈(20)은 축소된 해당 크기로 품질에 최소한의 영향을 주는 리사이즈될 데이터의 세그먼트들의 선택을 시도할 수 있다. 다중 모듈(20)은 선택된 데이터 세그먼트와 관련된 인코더 모듈(18)에 감소한 비트 할당 또는 감소한 비트 레이트에 따라 디지털 멀티미디어 데이터의 흐름들을 리사이즈하라는 요청을 전송한다. 리사이즈 요청은 데이터의 선택된 세그먼트에 대한, 예를 들어 비트 단위의 최대 크기 또는 데이터의 세그먼트에 대한 감소한 비트 레이트를 지정할 수 있다.
데이터의 선택된 세그먼트들과 관련된 인코더 모듈(18)은 데이터의 각자의 개별 세그먼트와 관련된 리사이즈 요청을 수신하고, 멀티미디어 데이터의 세그먼트들을 리사이즈한다. 인코더 모듈(18)은 다수의 다른 방법으로 데이터의 세그먼트의 비트 레이트를 줄일 수 있다. 특히, 데이터의 선택된 세그먼트들과 관련된 인코더 모듈(18)은 하나 이상의 인코딩 변수를 조정하여 데이터의 세그먼트 크기를 줄인다. 예를 들어, 데이터의 선택된 세그먼트들과 관련된 인코더 모듈(18)은 데이터의 세그먼트를 더 높은 QP로 재인코딩하거나, 프레임 레이트를 감소시키거나, 즉 인코딩될 데이터의 추가 프레임들을 누락시키거나, 다른 어떤 인코딩 변수를 조정함으로써 데이터의 세그먼트의 비트 레이트를 줄일 수 있다. 상술한 바와 같이, 데이터의 선택된 세그먼트들과 관련된 인코더 모듈(18)은 리사이즈 요청에 지정된 크기나 감소한 비트 레이트로 비트 레이트를 감소시킴으로써 데이터의 세그먼트를 리사이즈할 수 있다. 대안으로, 인코더 모듈(18)은 데이터의 세그먼트를 재인코딩할 감소한 비트 레이트 또는 크기를 결정할 수 있다. 대안으로 또는 추가로, 데이터의 선택된 세그먼트들과 관련된 인코더 모듈(18)은 인코딩될 정보의 양을 줄임으로써 데이터의 세그먼트들의 크기를 줄일 수도 있다. 이런 식으로, 데이터의 선택된 세그먼트들과 관련된 인코더 모듈(18)은 리사이즈 요청에 지정된 크기 또는 레이트 요건을 충족하도록 데이터의 세그먼트들을 리사이즈한다.
다중 모듈(20)은 다중 모듈(20)이 현재 수퍼프레임을 생성할 준비가 될 때 데이터의 인코딩된 세그먼트들을 수집한다. 다중 모듈(20) 예를 들어 제어 채널을 통해 인코더 모듈(18)에 요청을 전송할 수 있다. 요청에 응답하여, 인코더 모듈(18)은 멀티미디어 데이터의 인코딩된 세그먼트들을 다중 모듈(20)에 전송한다. 다중 모듈(20)은 멀티미디어 데이터의 흐름들을 조합하여 수퍼프레임을 형성하고, 송신 채널(16)을 통해 하나 이상의 디코딩 장치에 전송하기 위해 수퍼 프레임을 송신기(22)에 전송한다. 이런 식으로, 다중 모듈(20)은 데이터의 모든 세그먼트가 고정 대역폭 채널(16)에 맞도록 흐름들 간의 비트 할당을 관리하는 동시에 데이터 의 다수의 흐름의 최고 전체 품질을 유지한다.
여기서 상세히 설명하는 바와 같이, 데이터의 선택된 세그먼트들과 관련된 인코더 모듈(18)은 데이터의 이전 세그먼트에 대해 수신된 재인코딩 요청이 없을 때 데이터의 다음 세그먼트가 인코딩되었던 비트 레이트와는 다른 비트 레이트로 데이터의 다음 세그먼트가 인코딩되도록 데이터의 하나 이상의 다음 세그먼트들, 예를 들어 데이터의 다음 세그먼트를 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정할 수 있다. 인코더 모듈은 예를 들어 QP, 프레임 레이트 등을 조정하여 다른 비트 레이트를 달성할 수 있다. 한 형태로, 데이터의 선택된 세그먼트들과 관련된 인코더 모듈(18)은 하나 이상의 인코딩 변수를 조정하여 데이터의 선택된 세그먼트를 리사이즈하는데 사용되는 감소한 비트 레이트를 달성할 수 있다. 인코더 모듈(18)은 하나의 리사이즈 요청을 수신한 후 인코딩 변수들을 조정하여 데이터의 다음 세그먼트들을 인코딩하는데 사용될 비트 레이트를 감소시킬 수 있다. 대안으로, 인코더 모듈(18)은 데이터의 다수의 연속한 세그먼트들에 대한 리사이즈 요청들을 수신할 후 인코딩 변수들을 조정하여 데이터의 다음 세그먼트들에 대한 비트 레이트를 감소시킬 수도 있다.
상술한 바와 같이, 인코더 모듈(18)은 일정한 품질 레벨 또는 일정한 비트 레이트로 데이터의 각 흐름을 출력하기 위한 시도를 할 수 있다. 인코딩 모듈(18)들 중 일정한 비트 레이트로의 인코딩을 시도하는 것들의 경우, 인코더 모듈(18)들은 인코딩 변수들을 조정하여 목표 비트 레이트 이하로 비트 레이트를 감소시킬 수 있다. 마찬가지로, 인코딩 모듈(18)들 중 일정한 품질 레벨로의 인코딩을 시도하 는 것들의 경우, 인코더 모듈(18)들은 인코딩 변수를 조정하여 목표 품질 레벨을 달성하는데 필요한 비트 레이트 이하로 비트 레이트를 감소시킬 수 있다. 이런 식으로, 인코딩 모듈은 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하지 않고도 다른 비트 레이트로 인코딩된 데이터의 다음 세그먼트들이 해당 송신 프레임 내에 확실히 맞게 하는 시도를 한다.
어떤 점에서, 인코더 모듈(18)은 데이터의 다음 세그먼트들이 원하는 인코딩 결과(예를 들어, 품질 레벨, 비트 레이트, 프레임 레이트, 프레임 크기, 종횡비, QP, SNR, PSNR, 구조적 유사성, 평균 평가 지수, 및 객관적 및 주관적 변수 및 파라미터)로 인코딩되도록 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정한다. 즉, 인코더 모듈(18)은 마치 데이터의 이전 세그먼트에 대해 리사이즈 요청이 수신되지 않았던 것처럼 인코더 모듈(18)이 데이터의 다음 세그먼트들을 인코딩하도록 인코딩 변수를 재조정한다. 본 개시의 한 형태에서, 인코더 모듈(18)은 어떤 시간 기간 동안 리사이즈 요청이 수신되지 않았을 때 인코딩 변수를 재조정할 수 있다. 즉, 인코더 모듈(18)은 시간 기간이 만료한 후 조정된 인코딩 변수를 다시 원하는 값으로 반환한다. 대안으로, 인코더 모듈은 데이터의 다음 세그먼트들이 원하는 인코딩 결과로 인코딩될 때까지 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 점진적으로 조정할 수 있다. 데이터의 다음 세그먼트들 중 하나에 대해 리사이즈 요청이 수신된다면, 인코더 모듈(18)은 다음 세그먼트들에 대한 비트 레이트를 또 감소시키고 프로세스를 다시 한 번 시작할 수 있다.
멀티미디어 인코딩 장치(12)의 성분들은 여기서 설명한 기술들을 구현하기 위해 적용할 수 있는 것들의 예시이다. 그러나 멀티미디어 인코딩 장치(12)는 바람직하다면 다른 많은 성분을 포함할 수도 있다. 더욱이, 본 개시의 기술들은 도 1과 같은 시스템이나 방송 시스템에 사용하는 것으로 한정되는 것은 아니다. 상기 기술들은 한정된 대역폭을 갖는 송신 채널을 통한 전송을 위한 다수의 멀티미디어 데이터의 흐름들을 인코딩하기 위해 인코딩 기술들이 사용되는 어떠한 멀티미디어 인코딩 환경에서도 애플리케이션을 찾을 수 있다. 멀티미디어 인코딩 장치(12)의 예시된 성분들은 인코더/디코더(CODEC)의 일부로서 통합될 수 있다.
멀티미디어 인코딩 장치(12)의 성분들은 하나 이상의 프로세서, 디지털 신호 프로세서, 주문형 집적 회로(ASIC), 현장 프로그래밍 가능 게이트 어레이(FPGA), 이산 로직, 소프트웨어, 하드웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 더욱이, 멀티미디어 인코딩 장치(12)는 동영상 전문가 그룹(MPEG-4)과 같은 멀티미디어 코딩 표준, 국제 전기 통신 연합 표준화 섹터(ITU-T)에 의해 개발된 표준들 중 하나 이상, 예를 들어 H.263 또는 ITU-T H.264, 또는 다른 코딩 표준, 또는 이들의 조합에 따른다. 모듈로서 다른 특징들의 묘사는 멀티미디어 인코딩 장치(12)의 다른 기능적 형태들을 강조하기 위한 것이며, 이러한 모듈이 개별 하드웨어나 소프트웨어 성분으로 실현되어야 하는 것을 의미하는 것은 아니다. 오히려, 하나 이상의 모듈과 관련된 기능은 공통 또는 개별 하드웨어나 소프트웨어 성분 내에 통합될 수도 있다. 따라서 본 개시는 멀티미디어 인코딩 장치(12)의 예에 한정되지 않아야 한다.
도 2는 다른 예시적인 인코딩 및 디코딩 시스템(30)을 설명하는 블록도이다. 인코딩 및 디코딩 시스템(30)은 실질적으로 도 1의 인코딩 및 디코딩 시스템(10)에 따르지만, 멀티미디어 데이터의 선택된 세그먼트들의 리사이즈는 데이터의 선택된 세그먼트들과 관련된 리사이즈 모듈(32A-32N)(총칭하여, "리사이즈 모듈(32)")에 의해 수행된다. 따라서, 도 1의 인코더 모듈(18)의 기능은 인코더 모듈(34A-34N)(총칭하여, "인코더 모듈(34)")과 리사이즈 모듈(32) 사이에 분배된다. 다시 말하면, 인코더 모듈(34)은 데이터의 세그먼트들에 가용 대역폭을 할당하고 할당 실패시 데이터의 세그먼트들 중 리사이즈될 하나 이상의 세그먼트를 선택하는데 사용할 데이터의 각 세그먼트와 관련된 전달 요건, 예를 들어 품질 및 레이트 정보, 우선순위 요건, 레이턴시 요건 등을 다중 모듈(20)에 제공한다.
리사이즈 모듈(32)은 다중 모듈(20)로부터 데이터의 세그먼트들의 리사이즈 요청을 수신하고 리사이즈 요청에서 다중 모듈(20)에 의해 지정된 요건들에 따라 데이터의 세그먼트들을 리사이즈한다. 추가로, 리사이즈 모듈(32)은 데이터의 세그먼트들이 재인코딩되었던 비트 레이트를 인코더 모듈(34)에 제공하여 인코더 모듈(34)이 데이터의 선택된 세그먼트를 재인코딩하는데 사용되는 감소한 비트 레이트로 데이터의 다음 세그먼트들에 대한 비트 레이트를 설정하게 할 수 있다. 본 개시의 기술에 따르면, 인코더 모듈(34)은 어떤 시간 기간 동안, 감소한 비트 레이트로, 즉 조정된 인코딩 변수를 이용하여 데이터의 다음 세그먼트들을 계속해서 인코딩한 다음, 인코딩 변수들의 원래 값들을 반환하거나 인코딩 변수들의 값이 원하는 값에 이를 때까지 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수들의 값을 점진적으로 증가시킬 수 있다.
도 3은 도 1의 멀티미디어 인코딩 장치(12)와 같은 멀티미디어 인코딩 장치 내에서 사용하기 위한 예시적인 인코더 모듈(40)을 설명하는 블록도이다. 인코더 모듈(40)은 예를 들어, 도 1의 인코딩 장치(12)의 인코더 모듈(18)들 중 임의의 하나를 나타낼 수 있다. 인코더 모듈(40)은 다중 모듈 인터페이스(42), 콘텐츠 분류 모듈(44), 품질-레이트 정보 생성 모듈(46) 및 인코딩 모듈(48)을 포함한다. 인코딩 모듈(48)은 리사이즈를 위해 선택된 데이터의 세그먼트들을 리사이즈하는 리사이즈 모듈(50)을 또 포함한다. 추가로, 인코딩 모듈(48)은 본 개시의 기술에 따라 인코더 모듈(40)의 비트 레이트를 제어하는 레이트 제어 모듈(52)을 포함한다.
인코더 모듈(40)은 소스로부터 멀티미디어 데이터의 하나 이상의 흐름을 수신한다. 인코더 모듈(40)은 예를 들어 인코더 모듈(40)에 연결된 메모리나 이미지 포착 장치로부터 멀티미디어 데이터의 흐름들을 수신할 수 있다. 멀티미디어 데이터의 흐름들은 코딩되어 방송으로서 전송되는 생생한 실시간 비디오, 오디오, 또는 비디오와 오디오 흐름을 포함할 수도 있고, 또는 인코딩되어 방송으로서 또는 요구에 따라 전송되는 사전 레코딩되어 저장된 비디오, 오디오, 또는 비디오와 오디오 흐름을 포함할 수도 있다. 본 개시의 기술들은 비실시간 서비스 또는 실시간 서비스와 비실시간 서비스의 조합에 적용될 수도 있다.
인코더 모듈(40)은 일정한 비트 레이트나 품질 레벨로 동작하도록 구성될 수 있다. 예를 들어, 인코더 모듈(40)은 데이터의 내용과 상관없이 데이터의 흐름들에 대한 일정한 인식 품질 메트릭을 유지하려는 시도를 할 수도 있다. 즉, 인코더 모듈(40)은 목표 품질 레벨로 데이터의 모든 흐름을 출력하려는 시도를 할 수도 있다. 일정한 또는 비슷한 인식 품질 레벨을 유지하기 위해, 인코더 모듈(40)은 서로 다른 내용을 갖는 데이터의 세그먼트들에 대해 서로 다른 비트 레이트를 선택할 수 있다. 이 때문에, 콘텐츠 분류 모듈(44)은 데이터의 세그먼트들을 각자의 내용을 기초로 분류한다. 콘텐츠 분류 모듈(44)은 데이터의 세그먼트의 복잡도(예를 들어, 공간 복잡도 및/또는 시간 복잡도)를 기초로 데이터의 세그먼트를 분류할 수 있다. 한 예시적인 콘텐츠 분류 방법은 "CONTENT CLASSIFICATION FOR MULTIMEDIA PROCESSING"이라는 명칭으로 2006년 3월 10일자 제출된 동시 계속 및 공동 양도된 미국 특허 출원 11/373,577호에 개시되어 있으며, 그 전체 내용이 본원에 참조로 통합된다. 예를 들어, 콘텐츠 분류 모듈(44)은 모션 정보, 예를 들어, 모션 벡터들을 (x 축 상에서) "상", "중", "하"의 카테고리로 분류할 수 있고, 텍스처 정보, 예를 들어, 명암비 값들을 (y 축 상에서) "상", "중", "하"의 카테고리로 분류할 수 있으며, 콘텐츠 분류는 교점에 표시된다. 이러한 분류는 예를 들어 특정 품질-레이트 곡선과 관련될 수 있다.
콘텐츠 분류 모듈(44)은 분류를 기초로 데이터의 세그먼트들을 품질 및 레이트 정보 또는 다른 전달 요건들과 관련시킨다. 콘텐츠 분류 모듈(44)은 예를 들어 데이터의 세그먼트들을 각각의 품질-레이트 곡선에 관련시킬 수 있다. 품질-레이트 곡선들은 피크 신호대 잡음비(PSNR)와 같은 품질 메트릭을 비트 레이트의 함수로서 모델화한다. 인코더 모듈(40)은 오프라인으로 계산된 품질-레이트 곡선으로 구성될 수 있다. 대안으로, 품질-레이트 정보 생성 모듈(46)은 예를 들어 다음 형 태의 로그 함수를 이용하여 품질-레이트 곡선들을 모델화함으로써 품질-레이트 곡선들을 생성할 수 있다: Q = a*ln(r) + b, 여기서 Q는 품질 메트릭이고, r은 비트 레이트이며, a와 b는 다수의 샘플 데이터 포인트를 이용하여 계산된 상수이다. 품질-레이트 정보 생성 모듈(46)은 서로 다른 콘텐츠를 갖는 데이터의 흐름들에 대한 품질-레이트 특성을 나타내는 다수의 품질-레이트 곡선을 보유할 수 있다. 예로서, 품질-레이트 정보 생성 모듈(46)은 흐름들의 내용에 모션 및 텍스처의 각종 레벨에 관련된 8개의 서로 다른 부류에 대한 품질-레이트 곡선들을 유지할 수 있다. 일정한 PSNR이 반드시 일정한 인식 품질을 의미하는 것은 아니라는 사실을 고려하여, 품질-레이트 정보 생성 모듈(46)은 평균 평가 지수(MOS: mean opinion scores)와 같이 PSNR 이외의 품질 메트릭을 사용하는 품질-레이트 곡선들을 보유할 수도 있다. 대안으로, 품질-레이트 정보 생성 모듈(46)은 일정한 PSNR이 반드시 일정한 인식 품질을 의미하는 것은 아니라는 사실을 고려하도록 품질-레이트 곡선들을 조정할 수 있다. 예를 들어, 품질-레이트 정보 생성 모듈(46)은 "CONTENT CLASSIFICATION FOR MULTIMEDIA PROCESSING"이라는 명칭으로 2006년 3월 10일자 제출된 동시 계속 및 공동 양도된 미국 특허 출원 11/373,577호에 상세히 기재된 바와 같이, 종래의 품질-레이트 곡선들을 오프셋에 의해 조정할 수 있으며, 상기 출원은 그 전체 내용이 본원에 참조로 통합된다.
대안으로, 품질-레이트 정보 생성 모듈(46)은 각각의 콘텐츠 곡선과 관련된 목표 품질 레벨을 오프셋에 의해 조정할 수 있다. 상위 모션, 상위 텍스처 콘텐츠 를 포함하는 데이터의 세그먼트들은 예를 들어 목표 품질 레벨에 비해 약간 더 낮은 품질로 인코딩될 수 있는 반면, 하위 모션, 하위 텍스처 콘텐츠를 포함하는 데이터의 세그먼트들은 목표 품질 레벨에 비해 약간 더 높은 품질로 인코딩될 수 있다. 각 콘텐츠 부류는 전체 목표 품질 레벨에 관하여 각자의 조정된 품질 레벨을 갖기 때문에, 인코더 모듈(40)은 각각의 콘텐츠 클래스에 대한 품질 레벨을 정규화하여 인코더 모듈(40)에서 현재 품질 레벨을 측정할 수 있다. 인코더 모듈(40)은 하기의 선형식에 따라 이러한 정규화를 달성할 수 있다: Q norm = Q r ~ Q k 여기서 Q norm 은 정규화된 품질 레벨이고, Q r 은 레코딩된 품질 레벨이며, Q k 는 곡선(k)에 대한 품질 레벨에서의 조정 오프셋이다. 품질 정규화가 선형 함수가 아니라면, 품질 정규화 뒤에 랭크 결정이 수행될 수 있다.
다른 예에서, 콘텐츠 분류 모듈(44)은 각 품질 레벨에서의 세그먼트 크기 및 세그먼트들과 관련된 하나 이상의 품질 레벨을 지시하는 미리 계산된 품질-레이트 테이블에 데이터의 세그먼트들을 관련시킬 수 있다. 이를 위해, 콘텐츠 분류 모듈(44)은 데이터의 세그먼트를 품질-레이트 곡선에 관련시킬 수 있고, 이 곡선은 품질-레이트 테이블들 중 특정 테이블에 대응한다. 품질-레이트 정보 생성 모듈(46)은 품질-레이트 곡선, 조정된 품질-레이트 곡선 또는 품질-레이트 테이블을 미리 계산하고, 미리 계산된 품질 및 레이트 정보를 (도시하지 않은) 메모리 내에 저장할 수 있다. 콘텐츠 분류 모듈(44)은 필요할 경우 미리 계산된 품질 및 레이 트 정보에 액세스할 수 있다. 대안으로, 품질-레이트 정보 생성 모듈(46)은 데이터의 세그먼트에 대한 품질 및 레이트 정보를 실시간으로 생성할 수 있다. 예를 들어, 품질-레이트 정보 생성 모듈(46)은 데이터의 세그먼트와 관련된 품질-레이트 곡선을 기초로 품질-레이트 테이블을 생성할 수 있다.
인코더 모듈(40)은 현재 수퍼프레임 내에 포함될 데이터의 각 세그먼트와 관련된 품질 및 레이트 정보를 다중 모듈 인터페이스(42)를 통해 다중 모듈(20)(도 1)에 전송할 수 있다. 품질 및 레이트 정보는 현재 수퍼프레임 크기의 모니터, 및 현재 수퍼프레임 내에 데이터의 세그먼트들을 맞추기 위해 리사이즈가 필요한 경우에 데이터 세그먼트들 중 어느 것이 리사이즈될지의 결정에 다중 모듈(20)을 보조한다. 인코더 모듈(40)은 다중 모듈(20)로부터의 요청에 응답하여 다중 모듈(20)에 품질 및 레이트 정보를 전송할 수 있다. 상술한 바와 같이, 품질 및 레이트 정보는 데이터의 세그먼트와 관련된 품질-레이트 곡선 또는 품질-레이트 테이블을 포함할 수 있다.
인코더 모듈(40)과 관련된 데이터의 임의의 세그먼트가 리사이즈될 필요가 있다면, 다중 모듈(20)은 인코더 모듈(40)에 리사이즈 요청을 전송한다. 리사이즈 요청에 응답하여, 리사이즈 모듈(50)은 멀티미디어 데이터의 세그먼트를 리사이즈하여 데이터의 세그먼트 크기를 줄인다. 특히, 리사이즈 모듈(50)은 하나 이상의 인코딩 변수를 조정하여 데이터의 선택된 세그먼트의 비트 레이트를 감소시켜 크기를 줄인다. 예를 들어, 리사이즈 모듈(50)은 양자화 값을 증가시키고, 코딩 레이트를 감소시키며, 데이터의 세그먼트들이 인코딩되는 프레임 레이트를 감소시키고, 데이터의 세그먼트의 비트 레이트 또는 크기에 영향을 주는 다른 인코더 변수를 조정할 수도 있다. 어떤 경우에는, 리사이즈 요청 내에 감소한 비트 레이트가 지정될 수도 있다. 대안으로, 레이트 제어 모듈(52)은 리사이즈 요청에 지정된, 최대 크기 등의 다른 정보를 기초로 감소한 비트 레이트를 선택할 수 있다.
어떤 경우에는, 데이터 세그먼트의 리사이즈가 데이터 세그먼트의 품질 레벨을 목표 품질 레벨 이하로 떨어뜨릴 수도 있다. 그러나 상술한 바와 같이, 다중 모듈(20)은 데이터의 모든 세그먼트의 전체 품질이 유지되도록 재인코딩될 세그먼트들을 선택한다. 데이터의 리사이즈된 세그먼트의 품질 레벨이 인코더 모듈(40)과 관련된 최소 품질 레벨 이하로 떨어진다면, 리사이즈 모듈(50)은 데이터의 리사이즈된 세그먼트의 품질 레벨이 최소 품질 레벨보다 크거나 같도록 데이터의 세그먼트를 리사이즈할 수 있다. 예를 들어, 리사이즈 요청 내에 포함된 비트 레이트가 인코더 모듈(40)과 관련된 최소 품질 레벨 이하의 품질 레벨로 데이터의 세그먼트를 인코딩하게 한다면, 레이트 제어 모듈(52)은 데이터의 세그먼트가 최소 품질 레벨로 인코딩되게 하는 더 높은 비트 레이트를 선택할 수 있다.
인코더 모듈(40)은 다중 모듈(20)로부터 현재 수퍼프레임 내에 포함되는 데이터의 인코딩된 세그먼트들을 전송하라는 요청을 수신한다. 다중 모듈(20)로부터의 요청에 응답하여, 인코더 모듈(40)은 다중 모듈(20)에 데이터의 인코딩된 세그먼트들을 전송한다. 상술한 바와 같이, 인코더 모듈(40)은 리사이즈를 위해 선택되지 않았던 데이터의 세그먼트들을 원래의 비트 레이트로 전송하고 리사이즈를 위해 선택되었던 데이터의 세그먼트들을 감소한 비트 레이트로 전송한다.
레이트 제어 모듈(52)은 데이터의 이전 세그먼트에 대해 수신된 재인코딩 요청이 없을 때 데이터의 다음 세그먼트가 인코딩되었던 비트 레이트와는 다른 비트 레이트로 데이터의 다음 세그먼트들이 인코딩되도록 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 하나 이상의 인코딩 변수를 조정할 수 있다. 레이트 제어 모듈(52)은 예를 들어 데이터의 다음 세그먼트들이 인코딩되는 비트 레이트를 감소시킬 수 있다. 다른 예로서, 레이트 제어 모듈(52)은 데이터의 다음 세그먼트가 인코딩되는 비트 레이트에 영향을 주는 다른 인코딩 변수, 예를 들어 QP 값이나 프레임 레이트를 조정할 수 있다. 레이트 제어 모듈(52)은 데이터의 이전 세그먼트를 재인코딩하는데 사용되는 인코딩 변수들과 동일하도록 인코딩 모듈(48)의 인코딩 변수들을 조정할 수 있다. 일례로, 레이트 제어 모듈(52)은 데이터의 이전 세그먼트에 대해 수신된 리사이즈 요청에 지정된 감소한 비트 레이트와 동일하게 인코딩 모듈(48)의 비트 레이트를 설정할 수 있다.
상술한 바와 같이, 인코딩 모듈(48)은 마치 데이터의 이전 세그먼트에 대해 리사이즈 요청이 수신되지 않았던 것처럼 데이터의 다음 세그먼트들을 인코딩하기 위해 어떤 지점에서 인코딩 변수들을 통상의 값들로 반환한다. 본 개시의 한 형태에서, 인코딩 모듈(48)은 어떤 시간 기간 동안 조정된 인코딩 변수들 이용하여 데이터의 다음 세그먼트들을 계속해서 인코딩한 다음, 원하는 인코딩 결과, 예를 들어 목표 품질 레벨 또는 목표 비트 레이트로 데이터의 세그먼트들을 인코딩하는데 필요한 값들로 인코딩 변수들을 재조정할 수 있다. 예를 들어, 인코딩 모듈(48)은 인코딩 모듈(48)이 원하는 인코딩 결과, 예를 들어 목표 품질 레벨로 데이터의 세 그먼트들을 인코딩하도록 인코딩 변수들을 재조정하는 타이머의 만료시까지 조정된 인코딩 변수들을 이용하여 데이터의 다음 세그먼트들의 인코딩을 계속할 수 있다. 다른 예에서, 인코딩 모듈(48)은 리사이즈 요청의 수신 없이 전송된 데이터의 다음 세그먼트들의 수를 추적하는 카운터가 임계치를 초과할 때까지 조정된 인코딩 변수들을 이용하여 데이터의 다음 세그먼트들의 인코딩을 계속할 수 있다. 인코딩 모듈(48)이 타이머의 만료 전 또는 카운터가 임계치를 초과하기 전에 데이터의 다음 세그먼트들 중 하나를 리사이즈하라는 요청을 수신한다면, 인코딩 모듈(48)은 타이머 또는 카운터를 리셋하여, 인코딩 모듈(48)이 조정된 인코딩 변수들을 이용하여 데이터의 다음 세그먼트들을 인코딩하는 시간 주기를 재시작한다.
대안으로, 레이트 제어 모듈(52)은 인코딩 모듈(40)이 원하는 인코딩 결과, 예를 들어 원하는 레이트 또는 품질에 이를 때까지 데이터의 다음 세그먼트들을 인코딩하기 위해 인코딩 모듈(48)에 의해 사용되는 인코딩 변수들을 점진적으로 증가시킬 수 있다. 일정한 품질로 인코딩하는 인코더의 경우, 레이트 제어 모듈(52)은 목표 품질이 달성될 때까지 인코딩 변수들을 점진적으로 증가시킬 수 있다. 이 때문에 레이트 제어 모듈(52)은 리사이즈 요청이 수신되지 않는 모든 수퍼프레임에 대해 인코딩 변수를 증분값만큼 증분할 수 있다. 예를 들어, 레이트 제어 모듈(52)은 리사이즈 요청이 수신되지 않은 모든 수퍼프레임에 대해 인코딩 변수를 증분값만큼 증분할 수 있다. 그러나 데이터의 다음 세그먼트들 중 하나에 대해 리사이즈 요청이 수신된다면, 인코더 모듈(18)이 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수들을 또 조정하고 인코딩 변수들의 점진적인 조정을 시작할 수 있다. 원하는 인코딩 결과를 달성하기 위한 비트 레이트 또는 다른 인코딩 변수의 점진적인 조정은 프레임 사이의 흐름에서 갑작스러운 품질 변화를 피하고, 이에 따라 최종 사용자들의 시각적 경험을 향상시킨다.
인코더 모듈(40)의 성분들은 여기서 설명한 기술들을 구현하기 위해 적용할 수 있는 것들의 예시이다. 그러나 멀티미디어 인코더 모듈(40)은 바람직하다면 다른 많은 성분을 포함할 수도 있다. 인코더 모듈(40)의 성분들은 하나 이상의 프로세서, 디지털 신호 프로세서, ASIC, FPGA, 이산 로직, 소프트웨어, 하드웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 더욱이, 인코더 모듈(40)은 MPEG-4와 같은 멀티미디어 코딩 표준, ITU-T H.263, ITU-T H.264, 또는 다른 코딩 표준에 따른다. 모듈로서 다른 특징들의 묘사는 인코더 모듈(40)의 다른 기능적 형태들을 강조하기 위한 것이며, 이러한 모듈이 개별 하드웨어나 소프트웨어 성분으로 실현되어야 하는 것을 의미하는 것은 아니다. 오히려, 하나 이상의 모듈과 관련된 기능은 공통 또는 개별 하드웨어나 소프트웨어 성분 내에 통합될 수도 있다. 따라서 본 개시는 인코더 모듈(40)의 예에 한정되지 않아야 한다.
도 4는 본 개시의 기술에 따라 멀티미디어 데이터를 인코딩하는, 도 3의 인코더 모듈(40)과 같은 인코더 모듈의 예시적인 동작을 설명하는 흐름도이다. 인코더 모듈(40)은 소스로부터 멀티미디어 데이터의 하나 이상의 흐름을 수신한다(60). 인코더 모듈(40)은 예를 들어 인코더 모듈(40)에 연결된 메모리나 이미지 포착 장치로부터 멀티미디어 데이터의 흐름들을 수신할 수 있다. 멀티미디어 데이터의 흐름들은 생생한 실시간 콘텐츠, 비실시간 콘텐츠, 또는 실시간 콘텐츠와 비실시간 콘텐츠의 조합을 포함할 수 있다.
인코더 모듈(40)은 데이터의 세그먼트들을 각자의 콘텐츠를 기초로 분류한다(62). 콘텐츠 분류 모듈(44)(도 3)은 예를 들어 세그먼트의 데이터의 복잡도(예를 들어, 공간 및/또는 시간 복잡도)를 기초로 데이터의 수신된 세그먼트들을 분류할 수 있다. 콘텐츠 분류 모듈(44)은 분류를 기초로 데이터의 세그먼트들을 품질 및 레이트 정보에 관련시킨다(64). 예로서, 콘텐츠 분류 모듈(44)은 데이터의 세그먼트들을 다수의 품질-레이트 곡선에 관련시킬 수 있다. 상술한 바와 같이, 품질-레이트 곡선들은 미리 계산되어 메모리에 저장될 수 있다. 다른 예로서, 콘텐츠 분류 모듈(44)은 데이터의 세그먼트들을 미리 계산된 다수의 품질-레이트 테이블 중 하나에 관련시킬 수 있다.
인코더 모듈(40)은 데이터의 세그먼트들에 대한 추가 품질 및 레이트 정보를 생성할 수 있다(66). 예를 들어, 품질 및 레이트 정보 생성 모듈(46)은 데이터의 각 세그먼트에 대한 품질-레이트 테이블을 생성할 수 있다. 상술한 바와 같이, 품질-레이트 테이블은 데이터의 세그먼트들과 관련된 하나 이상의 품질 레벨 및 각 품질 레벨에서 데이터의 세그먼트 크기를 지시한다.
인코더 모듈(40)은 데이터의 세그먼트와 관련된 품질 및 레이트 정보를 다중 모듈(20)에 전송한다(68). 인코더 모듈(40)은 예를 들어 다중 모듈로부터의 요청에 응답하여 데이터의 세그먼트와 관련된 품질 및 레이트 정보를 전송할 수 있다. 인코더 모듈(40)은 예를 들어 데이터의 세그먼트와 관련된 품질-레이트 곡선 및/또는 품질-레이트 테이블을 전송할 수 있다. 상술한 바와 같이, 다중 모듈은 품질 및 레이트 정보를 이용하여 현재 수퍼프레임의 크기를 모니터하고 데이터의 세그먼트들 중 어느 것이 리사이즈될 필요가 있는지의 결정시 다중 모듈을 보조할 수 있다.
인코더 모듈(40)과 관련된 데이터의 임의의 세그먼트가 리사이즈될 필요가 있다면, 인코더 모듈(40)은 다중 모듈(20)로부터 리사이즈 요청을 수신한다(70). 다중 모듈(20)로부터의 리사이즈 요청은 데이터의 세그먼트에 대한 감소한 비트 레이트 또는, 예를 들어 비트 단위의 최대 크기를 포함할 수 있다. 리사이즈 요청에 응답하여, 리사이즈 모듈(50)은 데이터의 인코딩된 세그먼트를 리사이즈하여 데이터의 세그먼트 크기를 줄인다(72). 예를 들어, 리사이즈 모듈(50)은 하나 이상의 변수를 조정하여 데이터의 세그먼트 크기를 줄일 수 있다. 리사이즈 모듈(50)은 예를 들어 레이트 제어 모듈(52)에 의해 지정된 감소한 비트 레이트로 데이터의 세그먼트를 재인코딩할 수 있다. 레이트 제어 모듈(52)은 리사이즈 요청 내에 포함된 감소한 비트 레이트를 식별할 수도 있고 자신이 감소한 비트 레이트를 결정할 수도 있다. 대안으로 또는 추가로, 리사이즈 모듈(50)은 조정된, 예를 들어 더 높은 양자화 파라미터를 이용하여 데이터의 세그먼트를 재인코딩하여 데이터의 세그먼트 크기를 줄일 수 있다. 더욱이, 리사이즈 모듈(50)은 인코딩될 정보의 양을 조정할 수 있다. 예를 들어, 리사이즈 모듈(50)은 하나 이상의 모션 벡터를 병합함으로써 모션 정보의 인코딩에 사용되는 비트 수를 줄여 데이터의 세그먼트 크기를 줄일 수도 있다.
인코더 모듈(40)은 다중 모듈(20)로부터 현재 수퍼프레임 내에 포함된 데이 터의 세그먼트들의 인코딩된 콘텐츠를 전송하라는 요청을 수신한다(74). 다중 모듈로부터의 요청에 응답하여, 인코더 모듈(40)은 데이터의 세그먼트의 인코딩된 콘텐츠를 다중 모듈(20)에 전송한다(76). 상술한 바와 같이, 인코더 모듈(40)은 리사이즈를 위해 선택되지 않았던 데이터의 세그먼트들을 원래 크기로 전송하고, 리사이즈를 위해 선택되었던 데이터의 세그먼트들을 감소한 크기로 전송한다.
인코더 모듈(40)은 데이터의 이전 세그먼트에 대해 수신된 재인코딩 요청이 없을 때 데이터의 다음 세그먼트가 인코딩되었던 비트 레이트와는 다른 비트 레이트로 데이터의 다음 세그먼트들이 인코딩되게 하는 조정된 인코딩 변수들을 이용하여 데이터의 하나 이상의 다음 세그먼트들을 인코딩한다(78). 예로서 비트 레이트를 사용하면, 레이트 제어 모듈(52)은 데이터의 선택된 세그먼트를 재인코딩하는데 사용되는 비트 레이트, 즉 감소한 비트 레이트로 인코딩 모듈(48)의 비트 레이트를 설정할 수 있다. 본 개시의 한 형태로, 인코딩 모듈(48)은 어떤 시간 기간 동안 감소한 비트 레이트로 데이터의 다음 세그먼트들을 계속해서 인코딩한 다음, 목표 품질 레벨로 또는 그 이상으로 데이터의 세그먼트들을 인코딩하기에 충분한 비트 레이트로 비트 레이트를 변경할 수 있다. 대안으로, 레이트 제어 모듈(52)은 비트 레이트가 목표 품질을 달성하거나 초과하기에 충분한 비트 레이트에 이를 때까지 데이터의 다음 세그먼트들을 인코딩한다. 어떤 경우에도, 데이터의 다음 세그먼트들 중 하나에 대한 리사이즈 요청이 수신된다면, 레이트 제어 모듈(52)은 다음 세그먼트들에 대한 비트 레이트를 또 감소시키고 프로세스를 다시 한 번 시작할 수 있다. 비트 레이트의 조정과 관련하여 설명하지만, 인코딩 모듈(48)은 인코딩에 사용되는 QP, 프레임 레이트, 품질 등과 같은 다른 인코딩 변수들을 조정할 수도 있다.
도 5는 리사이즈 요청에 응답하여 인코딩 변수들을 조정하는, 인코더 모듈(40)(도 3)과 같은 인코더 모듈의 예시적인 동작을 설명하는 흐름도이다. 처음에, 리사이즈 모듈(50)은 인코더 모듈(40)이 현재 수퍼프레임으로 전송하고자 하는 데이터의 세그먼트를 리사이즈할 것을 리사이즈 모듈(50)에 지시하는 리사이즈 요청을 다중 모듈(20)(도 1)로부터 수신한다(80). 다중 모듈(20)로부터의 요청에 응답하여, 리사이즈 모듈(50)은 데이터의 현재 세그먼트를 리사이즈한다(82). 상술한 바와 같이, 리사이즈 모듈(50)은 하나 이상의 인코딩 변수들을 조정하여 레이트 제어 모듈(52)에 의해 지정된 비트 레이트로 데이터의 세그먼트의 비트 레이트를 감소시킴으로써 데이터의 세그먼트를 리사이즈할 수 있다. 예를 들어, 레이트 제어 모듈(52)은 하나 이상의 인코딩 변수를 조정하여 리사이즈 요청 내에 지정된 비트 레이트로 데이터의 세그먼트를 리사이즈할 수 있다. 대안으로, 레이트 제어 모듈(52)은 리사이즈 요청에 지정된 최대 크기를 기초로 데이터의 세그먼트를 리사이즈할 감소한 비트 레이트를 결정할 수 있다.
데이터의 현재 세그먼트를 리사이즈한 후, 레이트 제어 모듈(52)은 리사이즈 요청이 없을 때 데이터의 다음 세그먼트들이 인코딩되었던 비트 레이트와는 다른 비트 레이트로 데이터의 다음 세그먼트들이 인코딩되도록 데이터의 하나 이상의 다음 세그먼트를 인코딩하는데 사용되는 하나 이상의 인코딩 변수를 조정한다(84). 예를 들어, 레이트 제어 모듈(52)은 인코딩 변수를 조정하여 데이터의 이전 세그먼 트를 재조정하는데 사용된 비트 레이트로 데이터의 다음 세그먼트들을 인코딩할 수 있다.
인코더 모듈(40)은 데이터의 다음 세그먼트와 관련된 전달 요건, 예를 들어 품질 및 레이트 정보를 다중 모듈에 전송한다(85). 인코더 모듈(40)은 다중 모듈(20)로부터 데이터의 다음 세그먼트에 대한 리사이즈 요청이 수신되는지 여부를 결정한다(86). 다중 모듈(20)로부터 리사이즈 요청이 수신된다면, 레이트 제어 모듈(52)은 인코딩 변수를 감소값만큼 점진적으로 조정하여 비트 레이트를 감소시킬 수 있다(87). 인코딩 변수들, 비트 레이트를 감소값만큼 감소시키는 것은 리사이즈를 요청하지 않고 다중 모듈(20)이 허용한 최고 비트 레이트로 데이터의 다음 세그먼트들이 인코딩되게 하는 값들로 인코딩 변수들을 반환한다. 다른 예로, 레이트 제어 모듈(52)은 인코딩 변수를 점진적으로 조정하여 비트 레이트를 감소시키는 대신, 인코딩 변수를 조정하여 데이터의 다음 세그먼트에 대해 수신된 리사이즈 요청에 지정된 감소한 비트 레이트를 달성할 수도 있다.
데이터의 다음 세그먼트에 대해 리사이즈 요청이 수신되지 않는다면, 인코딩 모듈(48)은 레이트 제어 모듈(52)에 의해 설정된 조정된 인코딩 변수들을 사용하여 데이터의 다음 세그먼트를 인코딩한다(88). 레이트 제어 모듈(52)은 데이터의 다음 세그먼트가 원하는 인코딩 결과로 인코딩되는지를 결정한다(90). 즉, 레이트 제어 모듈(52)은 인코딩 변수들을 이용한 인코딩이 원하는 인코딩 결과, 예를 들어 원하는 품질 레벨, 비트 레이트, QP 값, 프레임 레이트 등으로 또는 그 이상으로 데이터의 다음 세그먼트들을 인코딩하기에 충분한 비트 레이트가 되게 하는지를 결 정한다. 데이터의 다음 세그먼트가 원하는 인코딩 결과로 또는 그 이상으로 인코딩된다면, 레이트 제어 모듈(52)은 마치 리사이즈 요청이 수신되지 않은 것처럼 동작하기 시작한다(92). 즉, 레이트 제어 모듈(52)은 데이터의 다음 세그먼트들을 인코딩하는데 필요한 인코딩 변수들을 선택하여 원하는 인코딩 결과를 달성한다. 예를 들어, 레이트 제어 모듈(52)은 데이터의 다음 세그먼트와 관련된 품질-레이트 곡선을 분석하여 목표 품질 레벨과 관련 품질-레이트 곡선의 교점에 대응하는 비트 레이트를 선택할 수 있다.
데이터의 다음 세그먼트가 원하는 인코딩 결과를 달성하도록 인코딩되지 않는다면, 레이트 제어 모듈(52)은 인코딩 변수를 증분값만큼 점진적으로 조정하여 비트 레이트를 상승시킨다(94). 예를 들어, 레이트 제어 모듈은 프레임 레이트를 증분값만큼 증가시키거나 QP를 증분값만큼 감소시키는 등이다. 인코더 모듈(40)은 데이터의 다음 세그먼트들에 대한 전달 요건들, 예를 들어 품질 및 레이트 정보를 계속해서 전송하고 데이터의 다음 세그먼트들 중 하나에 대해 리사이즈 요청이 수신되거나 인코딩 변수들이 원하는 인코딩 결과를 달성하기에 충분한 비트 레이트가 되게 할 때까지 데이터의 다음 세그먼트들의 인코딩 변수를 증분한다. 이런 식으로, 레이트 제어 모듈(52)은 감소한 비트 레이트에서 목표 품질 레벨을 달성하거나 초과하기에 충분한 비트 레이트로 인코딩 변수들을 점진적으로 증분하여 수퍼프레임 사이의 흐름에 갑작스러운 품질 변화를 피함으로써 최종 사용자들의 시각적 경험을 향상시킨다.
도 6은 리사이즈 요청에 응답하여 인코딩 변수들을 조정하는, 인코더 모 듈(40)(도 1)과 같은 인코더 모듈의 다른 예시적인 동작을 설명하는 흐름도이다. 처음에, 리사이즈 모듈(50)은 데이터의 현재 세그먼트를 리사이즈할 것을 리사이즈 모듈(50)에 지시하는 요청을 다중 모듈(20)(도 1)로부터 수신한다(100). 다중 모듈(20)로부터의 요청에 응답하여, 리사이즈 모듈(50)은 데이터의 현재 세그먼트를 리사이즈한다(102). 상술한 바와 같이, 리사이즈 모듈(50)은 하나 이상의 인코딩 변수들을 조정하여 레이트 제어 모듈(52)에 의해 지정된 비트 레이트로 데이터의 세그먼트의 비트 레이트를 감소시킴으로써 데이터의 세그먼트를 리사이즈할 수 있다.
데이터의 현재 세그먼트를 리사이즈한 후, 레이트 제어 모듈(52)은 리사이즈 요청이 없을 때 데이터의 다음 세그먼트들이 인코딩되었던 비트 레이트와는 다른 비트 레이트로 데이터의 다음 세그먼트들이 인코딩되도록 데이터의 하나 이상의 다음 세그먼트를 인코딩하는데 사용되는 하나 이상의 인코딩 변수를 조정한다(104). 예를 들어, 레이트 제어 모듈(52)은 QP 또는 프레임 레이트를 조정하여 인코딩 모듈(48)이 데이터의 다음 세그먼트를 인코딩하는 비트 레이트를 조정할 수 있다. 레이트 제어 모듈(52)은 데이터의 이전 세그먼트들 중 하나에 대한 리사이즈 요청을 수신한 이래로 경과한 시간의 양을 추적하는 타이머를 설정한다(106). 타이머는 예를 들어 3초로 설정되어 카운트다운할 수 있다. 대안으로, 레이트 제어 모듈(52)은 타이머 대신 카운터를 사용하여, 리사이즈 요청을 수신하지 않고 다중 모듈(20)로 전달되는 데이터의 다음 세그먼트들의 수를 추적할 수 있다.
인코더 모듈(40)은 데이터의 다음 세그먼트와 관련된 전달 요건, 예를 들어 품질 및 레이트 정보를 다중 모듈에 전송한다(108). 인코더 모듈(40)은 다중 모듈(20)로부터 데이터의 다음 세그먼트에 대한 리사이즈 요청이 수신되는지 여부를 결정한다(110). 다중 모듈(20)로부터 리사이즈 요청이 수신된다면, 레이트 제어 모듈(52)은 감소한 비트 레이트로 데이터의 다음 세그먼트를 재인코딩하고 인코딩 모듈(48)이 데이터의 다음 세그먼트들을 인코딩하는 비트 레이트를 감소한 비트 레이트, 즉 리사이즈 요청에 지정된 비트 레이트와 동일하게 설정한다. 더욱이, 레이트 제어 모듈(52)은 타이머를 리셋한다.
데이터의 다음 세그먼트에 대해 리사이즈 요청이 수신되지 않는다면, 레이트 제어 모듈(52)은 타이머가 만료했는지 여부를 결정한다(112). 대안으로, 레이트 제어 모듈이 리사이즈 요청을 수신하지 않고 전달된 데이터의 다음 세그먼트들의 수를 추적하는 카운터를 보유하고 있다면, 레이트 제어 모듈(52)은 카운터가 임계값을 초과하는지 여부를 확인할 수도 있다. 타이머가 만료했다면(또는 카운터가 임계치를 초과한다면), 인코딩 모듈(48)은 레이트 제어 모듈(52)에 의해 설정된 조정된 인코딩 변수들을 이용하여 데이터의 다음 세그먼트를 인코딩한다(113). 인코더 모듈(40)은 데이터의 이어지는 다음 세그먼트와 관련된 품질 및 레이트 정보를 다중 모듈(20)에 전송하여 데이터의 이어지는 다음 세그먼트에 대한 리사이즈 요청이 다중 모듈(20)로부터 수신되는지 여부를 결정한다.
타이머가 만료했다면(또는 카운터가 임계치를 초과한다면), 레이트 제어 모듈(52)은 데이터의 다음 세그먼트들이 원하는 인코딩 결과를 달성하게 인코딩되도록 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수들을 재조정한 다(114). 예를 들어, 레이트 제어 모듈(52)은 원하는 목표 품질 또는 원하는 목표 비트 레이트를 달성하도록 인코딩 변수들을 재조정한다. 이런 식으로, 인코딩 모듈(48)은 어떤 한 시간 기간 동안 감소한 비트 레이트로 데이터의 다음 세그먼트들을 계속해서 인코딩하고 목표 품질 레벨로 또는 그 이상으로 데이터의 세그먼트들을 인코딩하는데 필요한 비트 레이트로 변경할 수 있다.
여기서 설명한 교지를 기초로, 당업자들은 본원에 개시된 형태가 다른 어떤 형태들과도 독립적으로 구현될 수 있으며, 이들 형태 중 둘 이상이 다양한 방식으로 조합될 수 있는 것으로 인식해야 한다. 여기서 설명한 기술들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합으로 구현될 수 있다. 하드웨어로 구현된다면, 이 기술들은 디지털 하드웨어, 아날로그 하드웨어 또는 이들의 조합을 이용하여 실현될 수 있다. 소프트웨어로 구현된다면, 이 기술들은 컴퓨터 판독 가능 매체 상의 하나 이상의 저장된 또는 전송된 명령 또는 코드에 의해 적어도 부분적으로 실현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체, 통신 매체, 또는 이 둘 다 포함할 수도 있고, 한 장소에서 다른 장소로 컴퓨터 프로그램의 전달을 용이하게 하는 어떠한 매체도 포함할 수 있다. 저장 매체는 컴퓨터에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다.
한정이 아닌 예시로, 이러한 컴퓨터 판독 가능 매체는 동기 동적 랜덤 액세스 메모리(SDRAM)와 같은 RAM, 판독 전용 메모리(ROM), 비휘발성 랜덤 액세스 메모리(NVRAM), ROM, 전기적으로 삭제 가능한 프로그래밍 가능 판독 전용 메모리(EEPROM), EEPROM, FLASH 메모리, CD-ROM이나 다른 광 디스크 저장소, 자기 디스 크 저장소 또는 다른 자기 저장 소자, 또는 명령 또는 데이터 구조 형태로 원하는 프로그램 코드를 운반 또는 저장하는데 사용될 수 있으며 컴퓨터에 의해 액세스 가능한 임의의 유형 매체를 포함할 수 있다.
또한, 임의의 접속이 컴퓨터 판독 가능 매체로 적절히 지칭된다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 꼬임 쌍선, 디지털 가입자 회선(DSL), 또는 적외선, 라디오 및 초고주파와 같은 무선 기술을 이용하여 웹사이트, 서버 또는 다른 원격 소스로부터 전송된다면, 동축 케이블, 광섬유 케이블, 꼬임 쌍선, DSL, 또는 적외선, 라디오 및 초고주파와 같은 무선 기술이 매체의 정의에 포함된다. 여기서 사용된 것과 같은 디스크(disk 및 disc)는 콤팩트 디스크(CD), 레이저 디스크, 광 디스크, 디지털 다목적 디스크(DVD), 플로피디스크 및 블루레이 디스크를 포함하며, 디스크(disk)들은 보통 데이터를 자기적으로 재생하는 반면, 디스크(disc)들은 데이터를 광학적으로, 예를 들면 레이저에 의해 재생한다. 상기의 조합 또한 컴퓨터 판독 가능 매체의 범위 내에 포함되어야 한다.
본원에 개시된 컴퓨터 프로그램 제품은 컴퓨터 판독 가능 매체뿐 아니라 컴퓨터 판독 가능 매체가 포장되는 포장 재료를 포함하여, 컴퓨터 판독 가능 매체와 관련된 임의의 재료들 또한 포함한다. 컴퓨터 프로그램 제품의 컴퓨터 판독 가능 매체와 관련된 코드는 컴퓨터에 의해, 예를 들면, 하나 이상의 디지털 신호 프로세서(DSP), 범용 마이크로프로세서, ASIC, FPGA, 또는 다른 등가 집적 또는 이산 로직 회로 등의 하나 이상의 프로세서에 의해 실행될 수 있다. 어떤 형태에서는, 여기서 설명한 기능이 인코딩 및 디코딩을 위해 구성된 전용 소프트웨어 모듈이나 하 드웨어 모듈 내에 제공될 수도 있고, 또는 조합된 CODEC에 통합될 수도 있다.
다양한 형태가 설명되었다. 이들 및 다른 형태들은 다음 청구범위 내에 있다.
Claims (68)
- 디지털 멀티미디어 데이터의 스트림을 인코딩하는 방법으로서,상기 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈(resize)하기 위한 요청을 수신하는 단계;상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하는 단계; 및리사이즈 요청이 없을 때 데이터의 하나 이상의 다음 세그먼트들이 인코딩되었던 비트 레이트와는 다른 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하는 단계를 포함하는, 인코딩 방법.
- 제 1 항에 있어서,상기 데이터의 다음 세그먼트들이 원하는 인코딩 결과로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 단계를 더 포함하는 것을 특징으로 하는 인코딩 방법.
- 제 2 항에 있어서,상기 인코딩 변수를 재조정하는 단계는 상기 데이터의 다음 세그먼트들이 원하는 품질 레벨로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 단계를 포함하는 것을 특징으로 하는 인코딩 방 법.
- 제 2 항에 있어서,상기 인코딩 변수를 재조정하는 단계는 상기 데이터의 다음 세그먼트들이 원하는 비트 레이트로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 단계를 포함하는 것을 특징으로 하는 인코딩 방법.
- 제 2 항에 있어서,상기 인코딩 변수를 재조정하는 단계는 상기 데이터의 다음 세그먼트들이 원하는 프레임 레이트로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 단계를 포함하는 것을 특징으로 하는 인코딩 방법.
- 제 2 항에 있어서,상기 인코딩 변수를 재조정하는 단계는 상기 데이터의 다음 세그먼트들이 원하는 양자화 파라미터(QP)로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 단계를 포함하는 것을 특징으로 하는 인코딩 방법.
- 제 2 항에 있어서,상기 인코딩 변수를 재조정하는 단계는 하나의 시간 주기 동안 리사이즈 요청들이 수신되지 않을 때 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 단계를 포함하는 것을 특징으로 하는 인코딩 방법.
- 제 2 항에 있어서,상기 인코딩 변수를 재조정하는 단계는 상기 데이터의 다음 세그먼트들이 원하는 인코딩 결과로 인코딩될 때까지 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 점진적으로 조정하는 단계를 포함하는 것을 특징으로 하는 인코딩 방법.
- 제 8 항에 있어서,상기 인코딩 변수를 점진적으로 조정하는 단계는 상기 데이터의 다음 세그먼트에 대해 리사이즈 요청이 수신되지 않고 상기 데이터의 다음 세그먼트가 원하는 인코딩 결과로 인코딩되지 않을 때 상기 인코딩 변수를 증분값만큼 점진적으로 조정하는 단계를 포함하는 것을 특징으로 하는 인코딩 방법.
- 제 8 항에 있어서,상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하는 단계; 및상기 데이터의 다음 세그먼트에 대한 리사이즈 요청 수신시 상기 데이터의 다음 세그먼트를 인코딩하는데 사용되는 인코딩 변수를 감소값만큼 조정하는 단계를 더 포함하는 것을 특징으로 하는 인코딩 방법.
- 제 8 항에 있어서,상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하는 단계; 및상기 데이터의 다음 세그먼트에 대해 수신된 리사이즈 요청에 지정된 감소한 비트 레이트를 달성하도록 상기 인코딩 변수를 조정하는 단계를 더 포함하는 것을 특징으로 하는 인코딩 방법.
- 제 1 항에 있어서,상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 조정하는 단계는 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용될 인코딩 변수를 상기 데이터의 세그먼트를 리사이즈하는데 사용되는 인코딩 변수와 동일하게 설정하는 단계를 포함하는 것을 특징으로 하는 인코딩 방법.
- 제 1 항에 있어서,상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 조정하는 단계는 데이터의 다수의 연속한 세그먼트들에 대한 리사이즈 요청들의 수신시 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 조정하는 단계를 포함하는 것을 특징으로 하는 인코딩 방법.
- 제 1 항에 있어서,상기 데이터의 세그먼트들은 실시간 데이터의 세그먼트들을 포함하는 것을 특징으로 하는 인코딩 방법.
- 디지털 멀티미디어 데이터의 스트림을 인코딩하는 장치로서,상기 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 현재 세그먼트를 리사이즈하기 위한 요청을 수신하고 상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하는 리사이즈 모듈; 및리사이즈 요청이 없을 때 데이터의 하나 이상의 다음 세그먼트들이 인코딩되었던 비트 레이트와는 다른 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하는 레이트 제어 모듈을 포함하는, 인코딩 장치.
- 제 15 항에 있어서,상기 레이트 제어 모듈은 상기 데이터의 다음 세그먼트들이 원하는 인코딩 결과로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 것을 특징으로 하는 인코딩 장치.
- 제 16 항에 있어서,상기 레이트 제어 모듈은 상기 데이터의 다음 세그먼트들이 원하는 품질 레벨로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 것을 특징으로 하는 인코딩 장치.
- 제 16 항에 있어서,상기 레이트 제어 모듈은 상기 데이터의 다음 세그먼트들이 원하는 비트 레이트로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 것을 특징으로 하는 인코딩 장치.
- 제 16 항에 있어서,상기 레이트 제어 모듈은 상기 데이터의 다음 세그먼트들이 원하는 프레임 레이트로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 것을 특징으로 하는 인코딩 장치.
- 제 16 항에 있어서,상기 레이트 제어 모듈은 상기 데이터의 다음 세그먼트들이 원하는 양자화 파라미터(QP)로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 것을 특징으로 하는 인코딩 장치.
- 제 16 항에 있어서,상기 레이트 제어 모듈은 하나의 시간 주기 동안 리사이즈 요청들이 수신되지 않을 때 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 것을 특징으로 하는 인코딩 장치.
- 제 16 항에 있어서,상기 레이트 제어 모듈은 상기 데이터의 다음 세그먼트들이 원하는 인코딩 결과로 인코딩될 때까지 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 점진적으로 조정하는 것을 특징으로 하는 인코딩 장치.
- 제 22 항에 있어서,상기 레이트 제어 모듈은 상기 데이터의 다음 세그먼트에 대해 리사이즈 요청이 수신되지 않고 상기 데이터의 다음 세그먼트가 원하는 인코딩 결과로 인코딩되지 않을 때 상기 인코딩 변수를 증분값만큼 점진적으로 조정하는 것을 특징으로 하는 인코딩 장치.
- 제 22 항에 있어서,상기 리사이즈 모듈은 상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하고,상기 레이트 제어 모듈은 상기 데이터의 다음 세그먼트에 대한 리사이즈 요 청 수신시 상기 데이터의 다음 세그먼트를 인코딩하는데 사용되는 인코딩 변수를 감소값만큼 조정하는 것을 특징으로 하는 인코딩 장치.
- 제 22 항에 있어서,상기 리사이즈 모듈은 상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하고,상기 레이트 제어 모듈은 상기 데이터의 다음 세그먼트에 대해 수신된 리사이즈 요청에 지정된 감소한 비트 레이트를 달성하도록 상기 인코딩 변수를 조정하는 것을 특징으로 하는 인코딩 장치.
- 제 15 항에 있어서,상기 레이트 제어 모듈은 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용될 인코딩 변수를 상기 데이터의 세그먼트를 리사이즈하는데 사용되는 인코딩 변수와 동일하게 설정하는 것을 특징으로 하는 인코딩 장치.
- 제 15 항에 있어서,상기 레이트 제어 모듈은 데이터의 다수의 연속한 세그먼트들에 대한 리사이즈 요청들의 수신시 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 조정하는 것을 특징으로 하는 인코딩 장치.
- 제 15 항에 있어서,상기 데이터의 세그먼트들은 실시간 데이터의 세그먼트들을 포함하는 것을 특징으로 하는 인코딩 장치.
- 디지털 멀티미디어 데이터의 스트림을 인코딩하는 장치로서,상기 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하기 위한 요청을 수신하는 수단;상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하는 수단; 및리사이즈 요청이 없을 때 데이터의 하나 이상의 다음 세그먼트들이 인코딩되었던 비트 레이트와는 다른 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하는 수단을 포함하는, 인코딩 장치.
- 제 29 항에 있어서,상기 조정 수단은 상기 데이터의 다음 세그먼트들이 원하는 인코딩 결과로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 것을 특징으로 하는 인코딩 장치.
- 제 30 항에 있어서,상기 조정 수단은 상기 데이터의 다음 세그먼트들이 원하는 품질 레벨로 인 코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 것을 특징으로 하는 인코딩 장치.
- 제 30 항에 있어서,상기 조정 수단은 상기 데이터의 다음 세그먼트들이 원하는 비트 레이트로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 것을 특징으로 하는 인코딩 장치.
- 제 30 항에 있어서,상기 조정 수단은 상기 데이터의 다음 세그먼트들이 원하는 프레임 레이트로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 것을 특징으로 하는 인코딩 장치.
- 제 30 항에 있어서,상기 조정 수단은 상기 데이터의 다음 세그먼트들이 원하는 양자화 파라미터(QP)로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 것을 특징으로 하는 인코딩 장치.
- 제 30 항에 있어서,상기 조정 수단은 하나의 시간 주기 동안 리사이즈 요청들이 수신되지 않을 때 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 것을 특징으로 하는 인코딩 장치.
- 제 30 항에 있어서,상기 조정 수단은 상기 데이터의 다음 세그먼트들이 원하는 인코딩 결과로 인코딩될 때까지 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 점진적으로 조정하는 것을 특징으로 하는 인코딩 장치.
- 제 36 항에 있어서,상기 조정 수단은 상기 데이터의 다음 세그먼트에 대해 리사이즈 요청이 수신되지 않고 상기 데이터의 다음 세그먼트가 원하는 인코딩 결과로 인코딩되지 않을 때 상기 인코딩 변수를 증분값만큼 점진적으로 조정하는 것을 특징으로 하는 인코딩 장치.
- 제 36 항에 있어서,상기 수신 수단은 상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하고,상기 조정 수단은 상기 데이터의 다음 세그먼트에 대한 리사이즈 요청 수신시 상기 데이터의 다음 세그먼트를 인코딩하는데 사용되는 인코딩 변수를 감소값만큼 조정하는 것을 특징으로 하는 인코딩 장치.
- 제 36 항에 있어서,상기 수신 수단은 상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하고,상기 조정 수단은 상기 데이터의 다음 세그먼트에 대해 수신된 리사이즈 요청에 지정된 감소한 비트 레이트를 달성하도록 상기 인코딩 변수를 조정하는 것을 특징으로 하는 인코딩 장치.
- 제 29 항에 있어서,상기 조정 수단은 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용될 인코딩 변수를 상기 데이터의 세그먼트를 리사이즈하는데 사용되는 인코딩 변수와 동일하게 설정하는 것을 특징으로 하는 인코딩 장치.
- 제 29 항에 있어서,상기 조정 수단은 데이터의 다수의 연속한 세그먼트들에 대한 리사이즈 요청들의 수신시 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 조정하는 것을 특징으로 하는 인코딩 장치.
- 제 29 항에 있어서,상기 데이터의 세그먼트들은 실시간 데이터의 세그먼트들을 포함하는 것을 특징으로 하는 인코딩 장치.
- 디지털 비디오 데이터를 처리하기 위한 프로세서로서,디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하기 위한 요청을 수신하고;상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하며;리사이즈 요청이 없을 때 데이터의 하나 이상의 다음 세그먼트들이 인코딩되었던 비트 레이트와는 다른 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하도록 구성되는, 프로세서.
- 제 43 항에 있어서,상기 프로세서는 상기 데이터의 다음 세그먼트들이 원하는 인코딩 결과로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하도록 구성되는 것을 특징으로 하는 프로세서.
- 제 44 항에 있어서,상기 프로세서는 상기 데이터의 다음 세그먼트들이 원하는 품질 레벨로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하도록 구성되는 것을 특징으로 하는 프로세서.
- 제 44 항에 있어서,상기 프로세서는 상기 데이터의 다음 세그먼트들이 원하는 비트 레이트로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하도록 구성되는 것을 특징으로 하는 프로세서.
- 제 44 항에 있어서,상기 프로세서는 상기 데이터의 다음 세그먼트들이 원하는 프레임 레이트로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하도록 구성되는 것을 특징으로 하는 프로세서.
- 제 44 항에 있어서,상기 프로세서는 상기 데이터의 다음 세그먼트들이 원하는 양자화 파라미터(QP)로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하도록 구성되는 것을 특징으로 하는 프로세서.
- 제 44 항에 있어서,상기 프로세서는 하나의 시간 주기 동안 리사이즈 요청들이 수신되지 않을 때 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하도록 구성되는 것을 특징으로 하는 프로세서.
- 제 44 항에 있어서,상기 조정 수단은 상기 데이터의 다음 세그먼트들이 원하는 인코딩 결과로 인코딩될 때까지 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 점진적으로 조정하도록 구성되는 것을 특징으로 하는 프로세서.
- 제 50 항에 있어서,상기 프로세서는 상기 데이터의 다음 세그먼트에 대해 리사이즈 요청이 수신되지 않고 상기 데이터의 다음 세그먼트가 원하는 인코딩 결과로 인코딩되지 않을 때 상기 인코딩 변수를 증분값만큼 점진적으로 조정하도록 구성되는 것을 특징으로 하는 프로세서.
- 제 50 항에 있어서,상기 프로세서는,상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하고;상기 데이터의 다음 세그먼트에 대한 리사이즈 요청 수신시 상기 데이터의 다음 세그먼트를 인코딩하는데 사용되는 인코딩 변수를 감소값만큼 조정하도록 구성되는 것을 특징으로 하는 프로세서.
- 제 50 항에 있어서,상기 프로세서는,상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하고;상기 데이터의 다음 세그먼트에 대해 수신된 리사이즈 요청에 지정된 감소한 비트 레이트를 달성하기 위해 상기 인코딩 변수를 조정하도록 구성되는 것을 특징으로 하는 프로세서.
- 제 43 항에 있어서,상기 프로세서는 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용될 인코딩 변수를 상기 데이터의 세그먼트를 리사이즈하는데 사용되는 인코딩 변수와 동일하게 설정하도록 구성되는 것을 특징으로 하는 프로세서.
- 제 43 항에 있어서,상기 프로세서는 데이터의 다수의 연속한 세그먼트들에 대한 리사이즈 요청들의 수신시 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 조정하도록 구성되는 것을 특징으로 하는 프로세서.
- 디지털 비디오 데이터를 처리하기 위한 컴퓨터 프로그램 제품으로서,컴퓨터 판독 가능 매체를 포함하며, 상기 컴퓨터 판독 가능 매체는 적어도 하나의 컴퓨터로 하여금,디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리 사이즈하기 위한 요청을 수신하고;상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하며;리사이즈 요청이 없을 때 데이터의 하나 이상의 다음 세그먼트들이 인코딩되었던 비트 레이트와는 다른 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하게 하는 명령들을 포함하는, 컴퓨터 프로그램 제품.
- 제 56 항에 있어서,상기 컴퓨터 판독 가능 매체는 상기 컴퓨터로 하여금 상기 데이터의 다음 세그먼트들이 원하는 인코딩 결과로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하게 하는 명령들을 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제 57 항에 있어서,상기 컴퓨터로 하여금 상기 인코딩 변수를 재조정하게 하는 명령들은 상기 컴퓨터로 하여금 상기 데이터의 다음 세그먼트들이 원하는 품질 레벨로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제 57 항에 있어서,상기 컴퓨터로 하여금 상기 인코딩 변수를 재조정하게 하는 명령들은 상기 컴퓨터로 하여금 상기 데이터의 다음 세그먼트들이 원하는 비트 레이트로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제 57 항에 있어서,상기 컴퓨터로 하여금 상기 인코딩 변수를 재조정하게 하는 명령들은 상기 컴퓨터로 하여금 상기 데이터의 다음 세그먼트들이 원하는 프레임 레이트로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제 57 항에 있어서,상기 컴퓨터로 하여금 상기 인코딩 변수를 재조정하게 하는 명령들은 상기 컴퓨터로 하여금 상기 데이터의 다음 세그먼트들이 원하는 양자화 파라미터(QP)로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제 57 항에 있어서,상기 컴퓨터로 하여금 상기 인코딩 변수를 재조정하게 하는 명령들은 상기 컴퓨터로 하여금 하나의 시간 주기 동안 리사이즈 요청들이 수신되지 않을 때 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제 57 항에 있어서,상기 컴퓨터로 하여금 상기 인코딩 변수를 재조정하게 하는 명령들은 상기 컴퓨터로 하여금 상기 데이터의 다음 세그먼트들이 원하는 인코딩 결과로 인코딩될 때까지 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 점진적으로 조정하게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제 63 항에 있어서,상기 컴퓨터로 하여금 상기 인코딩 변수를 재조정하게 하는 명령들은 상기 컴퓨터로 하여금 상기 데이터의 다음 세그먼트에 대해 리사이즈 요청이 수신되지 않고 상기 데이터의 다음 세그먼트가 원하는 인코딩 결과로 인코딩되지 않을 때 상기 인코딩 변수를 증분값만큼 점진적으로 조정하게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제 63 항에 있어서,상기 컴퓨터 판독 가능 매체는 상기 컴퓨터로 하여금,상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하고;상기 데이터의 다음 세그먼트에 대한 리사이즈 요청 수신시 상기 데이터의 다음 세그먼트를 인코딩하는데 사용되는 인코딩 변수를 감소값만큼 조정하게 하는 명령들을 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제 63 항에 있어서,상기 컴퓨터 판독 가능 매체는 상기 컴퓨터로 하여금,상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하고;상기 데이터의 다음 세그먼트에 대해 수신된 리사이즈 요청에 지정된 감소한 비트 레이트를 달성하도록 상기 인코딩 변수를 조정하게 하는 명령들을 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제 56 항에 있어서,상기 컴퓨터로 하여금 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 조정하게 하는 명령들은 상기 컴퓨터로 하여금 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용될 인코딩 변수를 상기 데이터의 세그먼트를 리사이즈하는데 사용되는 인코딩 변수와 동일하게 설정하게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제 56 항에 있어서,상기 컴퓨터로 하여금 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 조정하게 하는 명령들은 상기 컴퓨터로 하여금 데이터의 다수의 연속한 세그먼트들에 대한 리사이즈 요청들의 수신시 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 조정하게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US76399506P | 2006-01-31 | 2006-01-31 | |
US60/763,995 | 2006-01-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080102141A true KR20080102141A (ko) | 2008-11-24 |
KR100987232B1 KR100987232B1 (ko) | 2010-10-12 |
Family
ID=38267577
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087021282A KR100987232B1 (ko) | 2006-01-31 | 2007-01-31 | 인코딩 장치 내에서의 레이트 제어 방법 및 시스템 |
KR1020087021253A KR20080102139A (ko) | 2006-01-31 | 2007-01-31 | 멀티미디어 콘텐츠 리사이즈 방법 및 시스템 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087021253A KR20080102139A (ko) | 2006-01-31 | 2007-01-31 | 멀티미디어 콘텐츠 리사이즈 방법 및 시스템 |
Country Status (8)
Country | Link |
---|---|
US (2) | US8582905B2 (ko) |
EP (2) | EP1982526A2 (ko) |
JP (2) | JP2009525706A (ko) |
KR (2) | KR100987232B1 (ko) |
CN (3) | CN101371590A (ko) |
AR (2) | AR059273A1 (ko) |
TW (2) | TW200737850A (ko) |
WO (2) | WO2007090177A2 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010088030A3 (en) * | 2009-01-29 | 2010-10-21 | Microsoft Corporation | Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming |
US9591318B2 (en) | 2011-09-16 | 2017-03-07 | Microsoft Technology Licensing, Llc | Multi-layer encoding and decoding |
US11089343B2 (en) | 2012-01-11 | 2021-08-10 | Microsoft Technology Licensing, Llc | Capability advertisement, configuration and control for video coding and decoding |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7509373B2 (en) * | 2003-11-24 | 2009-03-24 | At&T Intellectual Property I, L.P. | Methods for providing communications services |
US7974193B2 (en) * | 2005-04-08 | 2011-07-05 | Qualcomm Incorporated | Methods and systems for resizing multimedia content based on quality and rate information |
US7653085B2 (en) | 2005-04-08 | 2010-01-26 | Qualcomm Incorporated | Methods and apparatus for enhanced delivery of content over data network |
US8582905B2 (en) * | 2006-01-31 | 2013-11-12 | Qualcomm Incorporated | Methods and systems for rate control within an encoding device |
US20070201388A1 (en) * | 2006-01-31 | 2007-08-30 | Qualcomm Incorporated | Methods and systems for resizing multimedia content based on quality and rate information |
US8665967B2 (en) * | 2006-02-15 | 2014-03-04 | Samsung Electronics Co., Ltd. | Method and system for bit reorganization and packetization of uncompressed video for transmission over wireless communication channels |
KR100770849B1 (ko) * | 2006-02-17 | 2007-10-26 | 삼성전자주식회사 | 무선 페이딩 환경에서의 압축된 비디오 정합 장치 및 방법 |
US20070230461A1 (en) * | 2006-03-29 | 2007-10-04 | Samsung Electronics Co., Ltd. | Method and system for video data packetization for transmission over wireless channels |
US8175041B2 (en) * | 2006-12-14 | 2012-05-08 | Samsung Electronics Co., Ltd. | System and method for wireless communication of audiovisual data having data size adaptation |
US8804829B2 (en) * | 2006-12-20 | 2014-08-12 | Microsoft Corporation | Offline motion description for video generation |
EP2059049A1 (en) * | 2007-11-07 | 2009-05-13 | British Telecmmunications public limited campany | Video coding |
KR101398212B1 (ko) * | 2008-03-18 | 2014-05-26 | 삼성전자주식회사 | 메모리 장치 및 인코딩/디코딩 방법 |
US8176524B2 (en) * | 2008-04-22 | 2012-05-08 | Samsung Electronics Co., Ltd. | System and method for wireless communication of video data having partial data compression |
KR101830882B1 (ko) * | 2010-09-02 | 2018-02-22 | 삼성전자주식회사 | 제어 패킷 생성 방법 및 그 장치 |
US8813144B2 (en) * | 2011-01-10 | 2014-08-19 | Time Warner Cable Enterprises Llc | Quality feedback mechanism for bandwidth allocation in a switched digital video system |
US8838680B1 (en) | 2011-02-08 | 2014-09-16 | Google Inc. | Buffer objects for web-based configurable pipeline media processing |
WO2012121575A2 (ko) | 2011-03-10 | 2012-09-13 | 한국전자통신연구원 | 인트라 예측 방법 및 그 장치 |
US20130336398A1 (en) | 2011-03-10 | 2013-12-19 | Electronics And Telecommunications Research Institute | Method and device for intra-prediction |
US8681866B1 (en) | 2011-04-28 | 2014-03-25 | Google Inc. | Method and apparatus for encoding video by downsampling frame resolution |
US9106787B1 (en) | 2011-05-09 | 2015-08-11 | Google Inc. | Apparatus and method for media transmission bandwidth control using bandwidth estimation |
US8924580B2 (en) * | 2011-08-12 | 2014-12-30 | Cisco Technology, Inc. | Constant-quality rate-adaptive streaming |
US9398300B2 (en) * | 2011-10-07 | 2016-07-19 | Texas Instruments Incorporated | Method, system and apparatus for intra-prediction in video signal processing using combinable blocks |
US9767642B2 (en) | 2011-10-14 | 2017-09-19 | Bally Gaming, Inc. | System and method for cross platform persistent gaming sessions using a mobile device |
US9672688B2 (en) | 2011-10-14 | 2017-06-06 | Bally Gaming, Inc. | System and method for cross platform persistent gaming sessions using a mobile device |
US20130097220A1 (en) * | 2011-10-14 | 2013-04-18 | Bally Gaming, Inc. | Streaming bitrate control and management |
US9659437B2 (en) | 2012-09-28 | 2017-05-23 | Bally Gaming, Inc. | System and method for cross platform persistent gaming sessions using a mobile device |
TWI523497B (zh) * | 2011-11-10 | 2016-02-21 | Sony Corp | Image processing apparatus and method |
US9042441B2 (en) | 2012-04-25 | 2015-05-26 | At&T Intellectual Property I, Lp | Apparatus and method for media streaming |
US9185429B1 (en) | 2012-04-30 | 2015-11-10 | Google Inc. | Video encoding and decoding using un-equal error protection |
US9125073B2 (en) | 2012-08-03 | 2015-09-01 | Intel Corporation | Quality-aware adaptive streaming over hypertext transfer protocol using quality attributes in manifest file |
KR102004928B1 (ko) * | 2012-12-04 | 2019-07-29 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 에러 정정 코드 처리 방법 |
US9172740B1 (en) | 2013-01-15 | 2015-10-27 | Google Inc. | Adjustable buffer remote access |
US9311692B1 (en) | 2013-01-25 | 2016-04-12 | Google Inc. | Scalable buffer remote access |
US9225979B1 (en) | 2013-01-30 | 2015-12-29 | Google Inc. | Remote access encoding |
US20140286438A1 (en) * | 2013-03-19 | 2014-09-25 | Nvidia Corporation | Quality of service management server and method of managing streaming bit rate |
US9438652B2 (en) | 2013-04-15 | 2016-09-06 | Opentv, Inc. | Tiered content streaming |
CN105659606B (zh) | 2013-10-14 | 2019-06-18 | 微软技术许可有限责任公司 | 用于视频和图像编码和解码的方法、系统和介质 |
RU2654129C2 (ru) | 2013-10-14 | 2018-05-16 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Функциональные возможности режима внутреннего предсказания с блочным копированием для кодирования и декодирования видео и изображений |
EP3058736B1 (en) | 2013-10-14 | 2019-02-27 | Microsoft Technology Licensing, LLC | Encoder-side options for intra block copy prediction mode for video and image coding |
CN105917650B (zh) | 2014-01-03 | 2019-12-24 | 微软技术许可有限责任公司 | 视频和图像编/解码的方法、计算设备及计算机可读介质 |
US10390034B2 (en) * | 2014-01-03 | 2019-08-20 | Microsoft Technology Licensing, Llc | Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area |
US11284103B2 (en) | 2014-01-17 | 2022-03-22 | Microsoft Technology Licensing, Llc | Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning |
US10542274B2 (en) | 2014-02-21 | 2020-01-21 | Microsoft Technology Licensing, Llc | Dictionary encoding and decoding of screen content |
CA2939431C (en) | 2014-03-04 | 2020-09-22 | Microsoft Techology Licensing, Llc | Block flipping and skip mode in intra block copy prediction |
US9996898B2 (en) | 2014-05-30 | 2018-06-12 | International Business Machines Corporation | Flexible control in resizing of visual displays |
KR102311815B1 (ko) | 2014-06-19 | 2021-10-13 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 통합된 인트라 블록 카피 및 인터 예측 모드 |
US10306021B1 (en) * | 2014-08-21 | 2019-05-28 | Amazon Technologies, Inc. | Streaming content to multiple clients |
KR102330740B1 (ko) | 2014-09-30 | 2021-11-23 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 파면 병렬 프로세싱이 인에이블되는 경우의 인트라 픽쳐 예측 모드에 대한 규칙 |
US20160100173A1 (en) * | 2014-10-03 | 2016-04-07 | International Business Machines Corporation | Enhanced Video Streaming |
US9591325B2 (en) | 2015-01-27 | 2017-03-07 | Microsoft Technology Licensing, Llc | Special case handling for merged chroma blocks in intra block copy prediction mode |
CN106664405B (zh) | 2015-06-09 | 2020-06-09 | 微软技术许可有限责任公司 | 用调色板模式对经逸出编码的像素的稳健编码/解码 |
KR102525033B1 (ko) * | 2015-11-11 | 2023-04-24 | 삼성전자주식회사 | 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치 |
US10301858B2 (en) | 2016-06-14 | 2019-05-28 | Microsoft Technology Licensing, Llc | Hinge mechanism |
US10501973B2 (en) | 2016-06-14 | 2019-12-10 | Microsoft Technology Licensing, Llc | Hinge with free-stop function |
US9840861B1 (en) | 2016-06-14 | 2017-12-12 | Microsoft Technology Licensing, Llc | Hinged device with snap open lock |
US10061359B2 (en) | 2016-07-28 | 2018-08-28 | Microsoft Technology Licensing, Llc | Hinged device with living hinge |
US10372539B2 (en) * | 2017-11-20 | 2019-08-06 | Western Digital Technologies, Inc. | Variable length CLDPC encoder and method of operation in an autonomous vehicle |
US10986349B2 (en) | 2017-12-29 | 2021-04-20 | Microsoft Technology Licensing, Llc | Constraints on locations of reference blocks for intra block copy prediction |
US10924812B2 (en) * | 2018-02-15 | 2021-02-16 | Cisco Technology, Inc. | Constant quality video encoding with encoding parameter fine-tuning |
JP7229696B2 (ja) | 2018-08-02 | 2023-02-28 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
US11722710B1 (en) * | 2021-12-03 | 2023-08-08 | Amazon Technologies, Inc. | Dynamic encoding parameter adjustment |
CN114245168B (zh) * | 2021-12-16 | 2023-12-08 | 北京数码视讯技术有限公司 | 多媒体流的传输调控装置和方法 |
Family Cites Families (103)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5426463A (en) * | 1993-02-22 | 1995-06-20 | Rca Thomson Licensing Corporation | Apparatus for controlling quantizing in a video signal compressor |
JP3778960B2 (ja) | 1994-06-29 | 2006-05-24 | 株式会社東芝 | 動画像符号化方法及び装置 |
GB9517130D0 (en) | 1995-08-22 | 1995-10-25 | Nat Transcommunications Ltd | Statistical multiplexing |
US5686963A (en) * | 1995-12-26 | 1997-11-11 | C-Cube Microsystems | Method for performing rate control in a video encoder which provides a bit budget for each frame while employing virtual buffers and virtual buffer verifiers |
JPH09233475A (ja) | 1996-02-23 | 1997-09-05 | Tsushin Hoso Kiko | 画像符号化装置 |
US5764632A (en) * | 1996-04-01 | 1998-06-09 | Nokia Mobile Phones Limited | Mobile terminal having improved paging channel acquisition in a system using a digital control channel |
US6366614B1 (en) | 1996-10-11 | 2002-04-02 | Qualcomm Inc. | Adaptive rate control for digital video compression |
US6038256A (en) | 1996-12-31 | 2000-03-14 | C-Cube Microsystems Inc. | Statistical multiplexed video encoding using pre-encoding a priori statistics and a priori and a posteriori statistics |
US6115420A (en) * | 1997-03-14 | 2000-09-05 | Microsoft Corporation | Digital video signal encoder and encoding method |
US5844613A (en) * | 1997-03-17 | 1998-12-01 | Microsoft Corporation | Global motion estimator for motion video signal encoding |
JP3637996B2 (ja) | 1997-03-28 | 2005-04-13 | シャープ株式会社 | 領域統合が可能な動き補償フレーム間予測方式を用いた動画像符号化・復号化装置 |
WO1999005827A1 (fr) | 1997-07-23 | 1999-02-04 | Ntt Mobile Communications Network Inc. | Systeme de transmission multiplex et procede de commande de bande |
US6091777A (en) * | 1997-09-18 | 2000-07-18 | Cubic Video Technologies, Inc. | Continuously adaptive digital video compression system and method for a web streamer |
US6185253B1 (en) * | 1997-10-31 | 2001-02-06 | Lucent Technology, Inc. | Perceptual compression and robust bit-rate control system |
US6243495B1 (en) | 1998-02-13 | 2001-06-05 | Grass Valley (Us) Inc. | Method a group of picture structure in MPEG video |
US6278735B1 (en) | 1998-03-19 | 2001-08-21 | International Business Machines Corporation | Real-time single pass variable bit rate control strategy and encoder |
JP2995177B1 (ja) | 1998-07-10 | 1999-12-27 | 株式会社ディジタル・ビジョン・ラボラトリーズ | ストリーム配信システム |
DE19834975A1 (de) | 1998-08-03 | 2000-02-17 | Siemens Ag | Verfahren zum Umschalten einer ersten auf eine zweite Kommunikationsverbindung, die jeweils zwischen einem ersten und einem zweiten Kommunikationssystem bestehen |
JP2000092471A (ja) | 1998-09-09 | 2000-03-31 | Matsushita Electric Ind Co Ltd | ビデオサーバ装置、その帯域管理方法、及び帯域管理プログラムを記録した記録媒体 |
US6256423B1 (en) * | 1998-09-18 | 2001-07-03 | Sarnoff Corporation | Intra-frame quantizer selection for video compression |
CN1110985C (zh) | 1998-11-09 | 2003-06-04 | 三星电子株式会社 | 用于移动通信系统的备用多址控制设备和方法 |
US6310915B1 (en) * | 1998-11-20 | 2001-10-30 | Harmonic Inc. | Video transcoder with bitstream look ahead for rate control and statistical multiplexing |
DE19860757A1 (de) | 1998-12-23 | 2000-06-29 | Teles Ag | Verfahren zur Übertragung von Daten und Switch-Einrichtung zur Durchführung des Verfahrens |
FI106998B (fi) | 1999-01-15 | 2001-05-15 | Nokia Mobile Phones Ltd | Bittinopeuden ohjaus multimedialaitteessa |
US6539124B2 (en) * | 1999-02-03 | 2003-03-25 | Sarnoff Corporation | Quantizer selection based on region complexities derived using a rate distortion model |
JP2000324498A (ja) | 1999-05-13 | 2000-11-24 | Nec Corp | 動画像符号化装置 |
JP3372221B2 (ja) | 1999-06-16 | 2003-01-27 | 日本ビクター株式会社 | 記録装置 |
RU2216106C2 (ru) | 1999-06-28 | 2003-11-10 | Самсунг Электроникс Ко., Лтд. | Устройство и способ управления мощностью прямой линии связи в режиме прерывистой передачи в системе подвижной связи |
US6639942B1 (en) * | 1999-10-21 | 2003-10-28 | Toshiba America Electronic Components, Inc. | Method and apparatus for estimating and controlling the number of bits |
JP2001136139A (ja) | 1999-11-05 | 2001-05-18 | Sony Corp | 多重化装置及び多重化方法 |
EP1249131B1 (en) | 1999-12-22 | 2004-03-17 | General Instrument Corporation | Video compression for multicast environments using spatial scalability and simulcast coding |
US6542546B1 (en) | 2000-02-02 | 2003-04-01 | Mitsubishi Electric Research Laboratories, Inc. | Adaptable compressed bitstream transcoder |
US6574279B1 (en) | 2000-02-02 | 2003-06-03 | Mitsubishi Electric Research Laboratories, Inc. | Video transcoding using syntactic and semantic clues |
US6674796B1 (en) | 2000-02-14 | 2004-01-06 | Harmonic, Inc. | Statistical multiplexed video encoding for diverse video formats |
US6493331B1 (en) | 2000-03-30 | 2002-12-10 | Qualcomm Incorporated | Method and apparatus for controlling transmissions of a communications systems |
JP2002010260A (ja) | 2000-06-27 | 2002-01-11 | Mitsubishi Electric Corp | 動きベクトル検出方法及び動画像符号化装置 |
GB2364843A (en) | 2000-07-14 | 2002-02-06 | Sony Uk Ltd | Data encoding based on data quantity and data quality |
US6889383B1 (en) | 2000-10-23 | 2005-05-03 | Clearplay, Inc. | Delivery of navigation data for playback of audio and video content |
EP1338125A2 (en) | 2000-11-03 | 2003-08-27 | AT & T Corp. | Tiered contention multiple access (tcma): a method for priority-based shared channel access |
DE10055422A1 (de) | 2000-11-09 | 2002-05-29 | Alcatel Sa | Verfahren, Vorrichtungen und Programm-Module zur Datenübertragung mit gesicherter Dienstqualität |
AU2002241594A1 (en) * | 2000-12-05 | 2002-07-30 | Denso Corporation | Minimum interference multiple-access method and system for connection rescue |
US7010319B2 (en) * | 2001-01-19 | 2006-03-07 | Denso Corporation | Open-loop power control enhancement for blind rescue channel operation |
US6977915B2 (en) * | 2001-01-30 | 2005-12-20 | Nortel Networks Limited | Method and system for controlling device transmit power in a wireless communication network |
KR100387044B1 (ko) | 2001-02-01 | 2003-06-12 | 삼성전자주식회사 | 무선통신 시스템에서 패킷 호 서비스의 제공방법 |
US7042897B1 (en) | 2001-04-05 | 2006-05-09 | Arcwave, Inc | Medium access control layer protocol in a distributed environment |
US7042856B2 (en) * | 2001-05-03 | 2006-05-09 | Qualcomm, Incorporation | Method and apparatus for controlling uplink transmissions of a wireless communication system |
US6526031B1 (en) | 2001-06-21 | 2003-02-25 | Motorola, Inc. | Forward power control determination in spread spectrum communications systems |
CN100459777C (zh) | 2001-06-27 | 2009-02-04 | 北方电讯网络有限公司 | 无线通信系统和在逻辑信道与通信信道间映射信息的方法 |
CN1547861A (zh) * | 2001-06-27 | 2004-11-17 | ���˹���Ѷ��� | 无线通信系统中控制信息的传递 |
JP4712238B2 (ja) | 2001-07-30 | 2011-06-29 | パナソニック株式会社 | 映像信号符号化装置、映像信号送信装置、および映像信号符号化方法 |
US20030040315A1 (en) * | 2001-08-20 | 2003-02-27 | Farideh Khaleghi | Reduced state transition delay and signaling overhead for mobile station state transitions |
US7646816B2 (en) | 2001-09-19 | 2010-01-12 | Microsoft Corporation | Generalized reference decoder for image or video processing |
US7302102B2 (en) | 2001-09-26 | 2007-11-27 | Reynolds Jodie L | System and method for dynamically switching quality settings of a codec to maintain a target data rate |
US6959042B1 (en) * | 2001-10-01 | 2005-10-25 | Cisco Technology, Inc. | Methods and apparatus for measuring compressed video signals and applications to statistical remultiplexing |
KR100830491B1 (ko) | 2001-10-31 | 2008-05-21 | 엘지전자 주식회사 | 순방향 공통 전력 제어 채널의 전력 제어 방법 |
US7180905B2 (en) * | 2001-11-02 | 2007-02-20 | At & T Corp. | Access method for periodic contention-free sessions |
US7277415B2 (en) * | 2001-11-02 | 2007-10-02 | At&T Corp. | Staggered startup for cyclic prioritized multiple access (CPMA) contention-free sessions |
US7245605B2 (en) * | 2001-11-02 | 2007-07-17 | At&T Corp. | Preemptive packet for maintaining contiguity in cyclic prioritized multiple access (CPMA) contention-free sessions |
US7280517B2 (en) | 2001-11-02 | 2007-10-09 | At&T Corp. | Wireless LANs and neighborhood capture |
US7248600B2 (en) * | 2001-11-02 | 2007-07-24 | At&T Corp. | ‘Shield’: protecting high priority channel access attempts in overlapped wireless cells |
US20030093515A1 (en) * | 2001-11-14 | 2003-05-15 | Kauffman Marc W. | Quality of service control of streamed content delivery |
US20030112366A1 (en) * | 2001-11-21 | 2003-06-19 | General Instrument Corporation | Apparatus and methods for improving video quality delivered to a display device |
US20030110297A1 (en) * | 2001-12-12 | 2003-06-12 | Tabatabai Ali J. | Transforming multimedia data for delivery to multiple heterogeneous devices |
US7659907B1 (en) * | 2002-03-29 | 2010-02-09 | Graphics Properties Holdings, Inc. | System and method for providing dynamic control of a graphics session |
US20030185369A1 (en) | 2002-03-29 | 2003-10-02 | Oliver Neal C. | Telephone conference bridge provided via a plurality of computer telephony resource algorithms |
JP3716225B2 (ja) | 2002-04-05 | 2005-11-16 | 松下電器産業株式会社 | 符号量制御装置および符号量制御方法 |
EP1520431B1 (en) * | 2002-07-01 | 2018-12-26 | E G Technology Inc. | Efficient compression and transport of video over a network |
US20040028139A1 (en) * | 2002-08-06 | 2004-02-12 | Andre Zaccarin | Video encoding |
US7453837B2 (en) * | 2002-08-15 | 2008-11-18 | Zteit Usa, Inc. | Trunking system for CDMA wireless communication |
WO2004023821A1 (en) | 2002-09-05 | 2004-03-18 | Agency For Science, Technology And Research | A method and an apparatus for controlling the rate of a video sequence; a video encoding device |
AU2003259568A1 (en) | 2002-09-06 | 2004-03-29 | Matsushita Electric Industrial Co., Ltd. | Methods for performing medium dedication in order to ensure the quality of service for delivering real-time data across wireless network |
JP3893344B2 (ja) | 2002-10-03 | 2007-03-14 | 松下電器産業株式会社 | 画像符号化方法および画像符号化装置 |
JP2004228837A (ja) | 2003-01-22 | 2004-08-12 | Matsushita Electric Ind Co Ltd | デジタル放送の蓄積時間保証方法及び装置 |
JP4349816B2 (ja) | 2003-02-17 | 2009-10-21 | 株式会社リコー | 画像処理装置、画像圧縮装置、画像処理方法、画像圧縮方法、プログラム、及び記録媒体 |
US7835437B1 (en) * | 2003-03-10 | 2010-11-16 | Ji Zhang | Statistical remultiplexing of compressed video segments |
US6895410B2 (en) | 2003-05-02 | 2005-05-17 | Nokia Corporation | Method and apparatus for providing a multimedia data stream |
JP2004349855A (ja) | 2003-05-20 | 2004-12-09 | Mitsubishi Electric Corp | 符号化装置 |
KR100651541B1 (ko) | 2003-07-30 | 2006-11-28 | 삼성전자주식회사 | 직교 주파수 분할 다중 접속 방식을 사용하는 이동 통신시스템에서 레인징 방법 |
JP2007503780A (ja) * | 2003-08-27 | 2007-02-22 | インターディジタル テクノロジー コーポレイション | マルチユーザ直交周波数分割多重(ofdm)システムにおける実時間サービスに対するサブキャリアおよびビットの割当 |
US7400642B2 (en) * | 2003-08-29 | 2008-07-15 | Samsung Electronics Co., Ltd | Apparatus and method for controlling operational states of medium access control layer in a broadband wireless access communication system |
US20050063330A1 (en) * | 2003-09-20 | 2005-03-24 | Samsung Electronics Co., Ltd. | Method for uplink bandwidth request and allocation based on a quality of service class in a broadband wireless access communication system |
US20080037420A1 (en) | 2003-10-08 | 2008-02-14 | Bob Tang | Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet nextgentcp (square waveform) TCP friendly san |
US6857727B1 (en) | 2003-10-23 | 2005-02-22 | Hewlett-Packard Development Company, L.P. | Orifice plate and method of forming orifice plate for fluid ejection device |
JP2005167514A (ja) | 2003-12-01 | 2005-06-23 | Matsushita Electric Ind Co Ltd | ストリーミングデータ通信システム、ストリーミングデータ通信装置及び適正ビットレート検出方法 |
US20050120128A1 (en) | 2003-12-02 | 2005-06-02 | Wilife, Inc. | Method and system of bandwidth management for streaming data |
KR100550567B1 (ko) * | 2004-03-22 | 2006-02-10 | 엘지전자 주식회사 | 무선 네트워크망을 통해 통신하는 서버 시스템 및 그동작방법 |
JP2006014288A (ja) | 2004-05-26 | 2006-01-12 | Matsushita Electric Ind Co Ltd | 動きベクトル符号化装置、方法、プログラム及び媒体 |
US7415241B2 (en) | 2004-06-02 | 2008-08-19 | Motorola, Inc. | Method and apparatus for regulating a delivery of a broadcast-multicast service in a packet data communication system |
US8005139B2 (en) * | 2004-06-27 | 2011-08-23 | Apple Inc. | Encoding with visual masking |
US8406293B2 (en) * | 2004-06-27 | 2013-03-26 | Apple Inc. | Multi-pass video encoding based on different quantization parameters |
US7571246B2 (en) * | 2004-07-29 | 2009-08-04 | Microsoft Corporation | Media transrating over a bandwidth-limited network |
JP2006191253A (ja) * | 2005-01-05 | 2006-07-20 | Matsushita Electric Ind Co Ltd | レート変換方法及びレート変換装置 |
WO2006099082A2 (en) | 2005-03-10 | 2006-09-21 | Qualcomm Incorporated | Content adaptive multimedia processing |
US7974193B2 (en) | 2005-04-08 | 2011-07-05 | Qualcomm Incorporated | Methods and systems for resizing multimedia content based on quality and rate information |
US7653085B2 (en) | 2005-04-08 | 2010-01-26 | Qualcomm Incorporated | Methods and apparatus for enhanced delivery of content over data network |
US20070064805A1 (en) | 2005-09-16 | 2007-03-22 | Sony Corporation | Motion vector selection |
US7623458B2 (en) * | 2005-09-30 | 2009-11-24 | The Boeing Company | System and method for providing integrated services across cryptographic boundaries in a network |
US8582905B2 (en) * | 2006-01-31 | 2013-11-12 | Qualcomm Incorporated | Methods and systems for rate control within an encoding device |
US20070201388A1 (en) * | 2006-01-31 | 2007-08-30 | Qualcomm Incorporated | Methods and systems for resizing multimedia content based on quality and rate information |
US7913277B1 (en) * | 2006-03-30 | 2011-03-22 | Nortel Networks Limited | Metadata extraction and re-insertion and improved transcoding in digital media systems |
US7746836B2 (en) * | 2006-10-16 | 2010-06-29 | Motorola, Inc. | Method and apparatus for re-registration of connections for service continuity in an agnostic access internet protocol multimedia communication system |
US8351513B2 (en) * | 2006-12-19 | 2013-01-08 | Allot Communications Ltd. | Intelligent video signal encoding utilizing regions of interest information |
US8630355B2 (en) * | 2006-12-22 | 2014-01-14 | Qualcomm Incorporated | Multimedia data reorganization between base layer and enhancement layer |
-
2007
- 2007-01-30 US US11/669,000 patent/US8582905B2/en not_active Expired - Fee Related
- 2007-01-30 US US11/668,828 patent/US8792555B2/en not_active Expired - Fee Related
- 2007-01-31 AR ARP070100420A patent/AR059273A1/es unknown
- 2007-01-31 AR ARP070100419A patent/AR059272A1/es unknown
- 2007-01-31 EP EP07762786A patent/EP1982526A2/en not_active Withdrawn
- 2007-01-31 JP JP2008553494A patent/JP2009525706A/ja active Pending
- 2007-01-31 CN CNA2007800028946A patent/CN101371590A/zh active Pending
- 2007-01-31 JP JP2008553493A patent/JP2009525705A/ja active Pending
- 2007-01-31 TW TW096103636A patent/TW200737850A/zh unknown
- 2007-01-31 CN CNA2007800035314A patent/CN101507279A/zh active Pending
- 2007-01-31 EP EP07763043A patent/EP1980111A2/en not_active Withdrawn
- 2007-01-31 TW TW096103622A patent/TW200746835A/zh unknown
- 2007-01-31 WO PCT/US2007/061418 patent/WO2007090177A2/en active Application Filing
- 2007-01-31 KR KR1020087021282A patent/KR100987232B1/ko not_active IP Right Cessation
- 2007-01-31 KR KR1020087021253A patent/KR20080102139A/ko active IP Right Grant
- 2007-01-31 CN CNA2007800036393A patent/CN101375604A/zh active Pending
- 2007-01-31 WO PCT/US2007/061419 patent/WO2007090178A2/en active Application Filing
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010088030A3 (en) * | 2009-01-29 | 2010-10-21 | Microsoft Corporation | Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming |
US9591318B2 (en) | 2011-09-16 | 2017-03-07 | Microsoft Technology Licensing, Llc | Multi-layer encoding and decoding |
US9769485B2 (en) | 2011-09-16 | 2017-09-19 | Microsoft Technology Licensing, Llc | Multi-layer encoding and decoding |
US11089343B2 (en) | 2012-01-11 | 2021-08-10 | Microsoft Technology Licensing, Llc | Capability advertisement, configuration and control for video coding and decoding |
Also Published As
Publication number | Publication date |
---|---|
KR20080102139A (ko) | 2008-11-24 |
US20070204067A1 (en) | 2007-08-30 |
JP2009525706A (ja) | 2009-07-09 |
US20080037624A1 (en) | 2008-02-14 |
CN101507279A (zh) | 2009-08-12 |
WO2007090178A3 (en) | 2007-11-01 |
CN101375604A (zh) | 2009-02-25 |
JP2009525705A (ja) | 2009-07-09 |
TW200737850A (en) | 2007-10-01 |
KR100987232B1 (ko) | 2010-10-12 |
AR059273A1 (es) | 2008-03-19 |
CN101371590A (zh) | 2009-02-18 |
US8582905B2 (en) | 2013-11-12 |
WO2007090177A3 (en) | 2007-10-18 |
US8792555B2 (en) | 2014-07-29 |
WO2007090178A2 (en) | 2007-08-09 |
EP1980111A2 (en) | 2008-10-15 |
EP1982526A2 (en) | 2008-10-22 |
WO2007090177A2 (en) | 2007-08-09 |
AR059272A1 (es) | 2008-03-19 |
TW200746835A (en) | 2007-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100987232B1 (ko) | 인코딩 장치 내에서의 레이트 제어 방법 및 시스템 | |
US8885470B2 (en) | Methods and systems for resizing multimedia content based on quality and rate information | |
US8838824B2 (en) | Method and apparatus for delivery of adapted media | |
KR100988177B1 (ko) | 품질 및 레이트 정보에 기초하여 멀티미디어 콘텐츠를 리사이징하기 위한 방법 및 시스템 | |
US6529552B1 (en) | Method and a device for transmission of a variable bit-rate compressed video bitstream over constant and variable capacity networks | |
US9407941B2 (en) | Distributing audio video content | |
US20170347159A1 (en) | Qoe analysis-based video frame management method and apparatus | |
US20140181266A1 (en) | System, streaming media optimizer and methods for use therewith | |
US20020131496A1 (en) | System and method for adjusting bit rate and cost of delivery of digital data | |
US20240259649A1 (en) | Video stream analytics | |
US11575975B2 (en) | Methods, systems, and apparatuses for improved content scoring and delivery | |
Singh et al. | Optimising QoE for scalable video multicast over WLAN | |
Ozcelebi et al. | Minimum delay content adaptive video streaming over variable bitrate channels with a novel stream switching solution | |
Changuel et al. | Adaptive scalable layer filtering process for video scheduling over wireless networks based on MAC buffer management | |
Yu et al. | An adaptive streaming system for mpeg-4 scalable to lossless audio | |
Ozfatura et al. | Optimizing playback delay for multiuser video streaming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |