KR100987232B1 - 인코딩 장치 내에서의 레이트 제어 방법 및 시스템 - Google Patents

인코딩 장치 내에서의 레이트 제어 방법 및 시스템 Download PDF

Info

Publication number
KR100987232B1
KR100987232B1 KR1020087021282A KR20087021282A KR100987232B1 KR 100987232 B1 KR100987232 B1 KR 100987232B1 KR 1020087021282 A KR1020087021282 A KR 1020087021282A KR 20087021282 A KR20087021282 A KR 20087021282A KR 100987232 B1 KR100987232 B1 KR 100987232B1
Authority
KR
South Korea
Prior art keywords
data
segments
encoding
resize
segment
Prior art date
Application number
KR1020087021282A
Other languages
English (en)
Other versions
KR20080102141A (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 KR20080102141A publication Critical patent/KR20080102141A/ko
Application granted granted Critical
Publication of KR100987232B1 publication Critical patent/KR100987232B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/115Selection of the code volume for a coding unit prior to coding
    • 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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/189Methods 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/192Methods 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/194Methods 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
    • 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/189Methods 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/196Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • 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

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

인코딩 장치 내에서의 레이트 제어 방법 및 시스템{METHODS AND SYSTEMS FOR RATE CONTROL WITHIN AN ENCODING DEVICE}
본 출원은 "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)

  1. 디지털 멀티미디어 데이터의 스트림을 인코딩하기 위한 방법으로서,
    상기 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈(resize)하라는 요청을 수신하는 단계;
    상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하는 단계;
    리사이즈하라는 요청이 없었다면 데이터의 다음 세그먼트들이 인코딩되었을 비트 레이트와 상이한 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하는 단계; 및
    상기 데이터의 다음 세그먼트들이 요구되는 인코딩 결과로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 단계
    를 포함하고,
    상기 인코딩 변수를 재조정하는 단계는 상기 데이터의 다음 세그먼트들이 요구되는 품질 레벨로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 단계를 포함하는, 인코딩 방법.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 인코딩 변수를 재조정하는 단계는 상기 데이터의 다음 세그먼트들이 요구되는 비트 레이트로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 단계를 포함하는, 인코딩 방법.
  5. 디지털 멀티미디어 데이터의 스트림을 인코딩하기 위한 방법으로서,
    상기 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하라는 요청을 수신하는 단계;
    상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하는 단계;
    리사이즈하라는 요청이 없었다면 데이터의 다음 세그먼트들이 인코딩되었을 비트 레이트와 상이한 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하는 단계; 및
    상기 데이터의 다음 세그먼트들이 요구되는 인코딩 결과로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 단계
    를 포함하고,
    상기 인코딩 변수를 재조정하는 단계는 상기 데이터의 다음 세그먼트들이 요구되는 프레임 레이트로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 단계를 포함하는, 인코딩 방법.
  6. 제 1 항에 있어서,
    상기 인코딩 변수를 재조정하는 단계는 상기 데이터의 다음 세그먼트들이 요구되는 양자화 파라미터(QP)로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 단계를 포함하는, 인코딩 방법.
  7. 디지털 멀티미디어 데이터의 스트림을 인코딩하기 위한 방법으로서,
    상기 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하라는 요청을 수신하는 단계;
    상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하는 단계;
    리사이즈하라는 요청이 없었다면 데이터의 다음 세그먼트들이 인코딩되었을 비트 레이트와 상이한 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하는 단계; 및
    상기 데이터의 다음 세그먼트들이 요구되는 인코딩 결과로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 단계
    를 포함하고,
    상기 인코딩 변수를 재조정하는 단계는 하나의 시간 기간 동안 리사이즈 요청들이 수신되지 않을 때 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는 단계를 포함하는, 인코딩 방법.
  8. 제 1 항에 있어서,
    상기 인코딩 변수를 재조정하는 단계는 상기 데이터의 다음 세그먼트들이 요구되는 인코딩 결과로 인코딩될 때까지 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 증분적으로(incrementally) 조정하는 단계를 포함하는, 인코딩 방법.
  9. 제 8 항에 있어서,
    상기 인코딩 변수를 증분적으로 조정하는 단계는 상기 데이터의 다음 세그먼트에 대해 리사이즈 요청이 수신되지 않고 상기 데이터의 다음 세그먼트가 상기 요구되는 인코딩 결과로 인코딩되지 않을 때 상기 인코딩 변수를 증분값만큼 증분적으로 조정하는 단계를 포함하는, 인코딩 방법.
  10. 제 8 항에 있어서,
    상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하는 단계; 및
    상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신시 상기 데이터의 다음 세그먼트를 인코딩하는데 사용되는 인코딩 변수를 감소(decrement)값만큼 조정하는 단계를 더 포함하는, 인코딩 방법.
  11. 제 8 항에 있어서,
    상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하는 단계; 및
    상기 데이터의 다음 세그먼트에 대해 수신된 리사이즈 요청에 규정되는 감소된 비트 레이트를 달성하도록 상기 인코딩 변수를 조정하는 단계를 더 포함하는, 인코딩 방법.
  12. 제 1 항에 있어서,
    상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 조정하는 단계는 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용될 인코딩 변수를 상기 데이터의 세그먼트를 리사이즈하는데 사용되는 인코딩 변수와 동일하게 설정하는 단계를 포함하는, 인코딩 방법.
  13. 제 1 항에 있어서,
    상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 조정하는 단계는 데이터의 다수의 연속한 세그먼트들에 대한 리사이즈 요청들을 수신시 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 조정하는 단계를 포함하는, 인코딩 방법.
  14. 제 1 항에 있어서,
    상기 데이터의 세그먼트들은 실시간 데이터의 세그먼트들을 포함하는, 인코딩 방법.
  15. 디지털 멀티미디어 데이터의 스트림을 인코딩하기 위한 장치로서,
    상기 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 현재 세그먼트를 리사이즈하라는 요청을 수신하고 상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하는 리사이징 모듈; 및
    리사이즈하라는 요청이 없었다면 데이터의 다음 세그먼트들이 인코딩되었을 비트 레이트와 상이한 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하는 레이트 제어 모듈
    을 포함하고,
    상기 레이트 제어 모듈은 상기 데이터의 다음 세그먼트들이 요구되는 품질 레벨로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는, 인코딩 장치.
  16. 삭제
  17. 삭제
  18. 제 15 항에 있어서,
    상기 레이트 제어 모듈은 상기 데이터의 다음 세그먼트들이 요구되는 비트 레이트로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는, 인코딩 장치.
  19. 디지털 멀티미디어 데이터의 스트림을 인코딩하기 위한 장치로서,
    상기 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 현재 세그먼트를 리사이즈하라는 요청을 수신하고 상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하는 리사이징 모듈; 및
    리사이즈하라는 요청이 없었다면 데이터의 다음 세그먼트들이 인코딩되었을 비트 레이트와 상이한 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하는 레이트 제어 모듈
    을 포함하고,
    상기 레이트 제어 모듈은 상기 데이터의 다음 세그먼트들이 요구되는 프레임 레이트로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는, 인코딩 장치.
  20. 제 15 항에 있어서,
    상기 레이트 제어 모듈은 상기 데이터의 다음 세그먼트들이 요구되는 양자화 파라미터(QP)로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는, 인코딩 장치.
  21. 디지털 멀티미디어 데이터의 스트림을 인코딩하기 위한 장치로서,
    상기 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 현재 세그먼트를 리사이즈하라는 요청을 수신하고 상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하는 리사이징 모듈; 및
    리사이즈하라는 요청이 없었다면 데이터의 다음 세그먼트들이 인코딩되었을 비트 레이트와 상이한 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하는 레이트 제어 모듈
    을 포함하고,
    상기 레이트 제어 모듈은 하나의 시간 기간 동안 리사이즈 요청들이 수신되지 않을 때 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는, 인코딩 장치.
  22. 제 15 항에 있어서,
    상기 레이트 제어 모듈은 상기 데이터의 다음 세그먼트들이 요구되는 인코딩 결과로 인코딩될 때까지 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 증분적으로 조정하는, 인코딩 장치.
  23. 제 22 항에 있어서,
    상기 레이트 제어 모듈은 상기 데이터의 다음 세그먼트에 대해 리사이즈 요청이 수신되지 않고 상기 데이터의 다음 세그먼트가 상기 요구되는 인코딩 결과로 인코딩되지 않을 때 상기 인코딩 변수를 증분값만큼 증분적으로 조정하는, 인코딩 장치.
  24. 제 22 항에 있어서,
    상기 리사이징 모듈은 상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하고; 그리고
    상기 레이트 제어 모듈은 상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신시 상기 데이터의 다음 세그먼트를 인코딩하는데 사용되는 인코딩 변수를 감소값만큼 조정하는, 인코딩 장치.
  25. 제 22 항에 있어서,
    상기 리사이징 모듈은 상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하고; 그리고
    상기 레이트 제어 모듈은 상기 데이터의 다음 세그먼트에 대해 수신된 리사이즈 요청에 규정되는 감소된 비트 레이트를 달성하도록 상기 인코딩 변수를 조정하는, 인코딩 장치.
  26. 제 15 항에 있어서,
    상기 레이트 제어 모듈은 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용될 인코딩 변수를 상기 데이터의 세그먼트를 리사이즈하는데 사용되는 인코딩 변수와 동일하게 설정하는, 인코딩 장치.
  27. 제 15 항에 있어서,
    상기 레이트 제어 모듈은 데이터의 다수의 연속한 세그먼트들에 대한 리사이즈 요청들의 수신시 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는, 인코딩 장치.
  28. 제 15 항에 있어서,
    상기 데이터의 세그먼트들은 실시간 데이터의 세그먼트들을 포함하는, 인코딩 장치.
  29. 디지털 멀티미디어 데이터의 스트림을 인코딩하기 위한 장치로서,
    상기 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하는 요청을 수신하기 위한 수단;
    상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하기 위한 수단; 및
    리사이즈 요청이 없었다면 데이터의 다음 세그먼트들이 인코딩되었을 비트 레이트와 상이한 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하기 위한 수단
    을 포함하고,
    상기 조정 수단은 상기 데이터의 다음 세그먼트들이 요구되는 품질 레벨로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는, 인코딩 장치.
  30. 삭제
  31. 삭제
  32. 제 29 항에 있어서,
    상기 조정 수단은 상기 데이터의 다음 세그먼트들이 요구되는 비트 레이트로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는, 인코딩 장치.
  33. 디지털 멀티미디어 데이터의 스트림을 인코딩하기 위한 장치로서,
    상기 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하는 요청을 수신하기 위한 수단;
    상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하기 위한 수단; 및
    리사이즈 요청이 없었다면 데이터의 다음 세그먼트들이 인코딩되었을 비트 레이트와 상이한 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하기 위한 수단
    을 포함하고,
    상기 조정 수단은 상기 데이터의 다음 세그먼트들이 요구되는 프레임 레이트로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는, 인코딩 장치.
  34. 제 29 항에 있어서,
    상기 조정 수단은 상기 데이터의 다음 세그먼트들이 요구되는 양자화 파라미터(QP)로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는, 인코딩 장치.
  35. 디지털 멀티미디어 데이터의 스트림을 인코딩하기 위한 장치로서,
    상기 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하는 요청을 수신하기 위한 수단;
    상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하기 위한 수단; 및
    리사이즈 요청이 없었다면 데이터의 다음 세그먼트들이 인코딩되었을 비트 레이트와 상이한 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하기 위한 수단
    을 포함하고,
    상기 조정 수단은 하나의 시간 기간 동안 리사이즈 요청들이 수신되지 않을 때 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하는, 인코딩 장치.
  36. 제 29 항에 있어서,
    상기 조정 수단은 상기 데이터의 다음 세그먼트들이 요구되는 인코딩 결과로 인코딩될 때까지 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 증분적으로 조정하는, 인코딩 장치.
  37. 제 36 항에 있어서,
    상기 조정 수단은 상기 데이터의 다음 세그먼트에 대해 리사이즈 요청이 수신되지 않고 상기 데이터의 다음 세그먼트가 요구되는 인코딩 결과로 인코딩되지 않을 때 상기 인코딩 변수를 증분값만큼 증분적으로 조정하는, 인코딩 장치.
  38. 제 36 항에 있어서,
    상기 수신 수단은 상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하고; 그리고
    상기 조정 수단은 상기 데이터의 다음 세그먼트에 대한 리사이즈 요청 수신시 상기 데이터의 다음 세그먼트를 인코딩하는데 사용되는 인코딩 변수를 감소값만큼 조정하는, 인코딩 장치.
  39. 제 36 항에 있어서,
    상기 수신 수단은 상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하고; 그리고
    상기 조정 수단은 상기 데이터의 다음 세그먼트에 대해 수신된 리사이즈 요청에 규정된 감소된 비트 레이트를 달성하도록 상기 인코딩 변수를 조정하는, 인코딩 장치.
  40. 제 29 항에 있어서,
    상기 조정 수단은 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용될 인코딩 변수를 상기 데이터의 세그먼트를 리사이즈하는데 사용되는 인코딩 변수와 동일하게 설정하는, 인코딩 장치.
  41. 제 29 항에 있어서,
    상기 조정 수단은 데이터의 다수의 연속한 세그먼트들에 대한 리사이즈 요청들의 수신시 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 조정하는, 인코딩 장치.
  42. 제 29 항에 있어서,
    상기 데이터의 세그먼트들은 실시간 데이터의 세그먼트들을 포함하는, 인코딩 장치.
  43. 디지털 비디오 데이터를 처리하기 위한 프로세서로서,
    디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하라는 요청을 수신하고;
    상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하고; 그리고
    리사이즈하라는 요청이 없었다면 데이터의 다음 세그먼트들이 인코딩되었을 비트 레이트와 상이한 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정
    하도록 적응되고,
    상기 프로세서는 상기 데이터의 다음 세그먼트들이 요구되는 품질 레벨로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하도록 적응되는, 프로세서.
  44. 삭제
  45. 삭제
  46. 제 43 항에 있어서,
    상기 프로세서는 상기 데이터의 다음 세그먼트들이 요구되는 비트 레이트로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하도록 적응되는, 프로세서.
  47. 디지털 비디오 데이터를 처리하기 위한 프로세서로서,
    디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하라는 요청을 수신하고;
    상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하고; 그리고
    리사이즈하라는 요청이 없었다면 데이터의 다음 세그먼트들이 인코딩되었을 비트 레이트와 상이한 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정
    하도록 적응되고,
    상기 프로세서는 상기 데이터의 다음 세그먼트들이 요구되는 프레임 레이트로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하도록 적응되는, 프로세서.
  48. 제 43 항에 있어서,
    상기 프로세서는 상기 데이터의 다음 세그먼트들이 요구되는 양자화 파라미터(QP)로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하도록 적응되는, 프로세서.
  49. 디지털 비디오 데이터를 처리하기 위한 프로세서로서,
    디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하라는 요청을 수신하고;
    상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하고; 그리고
    리사이즈하라는 요청이 없었다면 데이터의 다음 세그먼트들이 인코딩되었을 비트 레이트와 상이한 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정
    하도록 적응되고,
    상기 프로세서는 하나의 시간 기간 동안 리사이즈 요청들이 수신되지 않을 때 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하도록 적응되는, 프로세서.
  50. 제 43 항에 있어서,
    상기 프로세서는 상기 데이터의 다음 세그먼트들이 요구되는 인코딩 결과로 인코딩될 때까지 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 증분적으로 조정하도록 적응되는, 프로세서.
  51. 제 50 항에 있어서,
    상기 프로세서는 상기 데이터의 다음 세그먼트에 대해 리사이즈 요청이 수신되지 않고 상기 데이터의 다음 세그먼트가 요구되는 인코딩 결과로 인코딩되지 않을 때 상기 인코딩 변수를 증분값만큼 증분적으로 조정하도록 적응되는, 프로세서.
  52. 제 50 항에 있어서,
    상기 프로세서는,
    상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하고; 그리고
    상기 데이터의 다음 세그먼트에 대한 리사이즈 요청 수신시 상기 데이터의 다음 세그먼트를 인코딩하는데 사용되는 인코딩 변수를 감소값만큼 조정하도록 적응되는, 프로세서.
  53. 제 50 항에 있어서,
    상기 프로세서는,
    상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하고; 그리고
    상기 데이터의 다음 세그먼트에 대해 수신된 리사이즈 요청에 지정된 감소한 비트 레이트를 달성하기 위해 상기 인코딩 변수를 조정하도록 적응되는, 프로세서.
  54. 제 43 항에 있어서,
    상기 프로세서는 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용될 인코딩 변수를 상기 데이터의 세그먼트를 리사이즈하는데 사용되는 인코딩 변수와 동일하게 설정하도록 적응되는, 프로세서.
  55. 제 43 항에 있어서,
    상기 프로세서는 데이터의 다수의 연속한 세그먼트들에 대한 리사이즈 요청들의 수신시 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 조정하도록 적응되는, 프로세서.
  56. 디지털 비디오 데이터를 처리하기 위한 컴퓨터 판독가능한 매체로서,
    상기 컴퓨터 판독가능한 매체는 적어도 하나의 컴퓨터로 하여금,
    디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하라는 요청을 수신하고;
    상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하고;
    리사이즈 요청이 없었다면 데이터의 다음 세그먼트들이 인코딩되었을 비트 레이트와 상이한 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하고; 그리고
    상기 데이터의 다음 세그먼트들이 요구되는 인코딩 결과로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정
    하게 하는 명령들을 포함하고,
    상기 컴퓨터로 하여금 상기 인코딩 변수를 재조정하게 하는 명령들은 상기 컴퓨터로 하여금 상기 데이터의 다음 세그먼트들이 요구되는 품질 레벨로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하게 하는 명령들을 포함하는, 컴퓨터 판독가능한 매체.
  57. 삭제
  58. 삭제
  59. 제 56 항에 있어서,
    상기 컴퓨터로 하여금 상기 인코딩 변수를 재조정하게 하는 명령들은 상기 컴퓨터로 하여금 상기 데이터의 다음 세그먼트들이 요구되는 비트 레이트로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하게 하는 명령들을 포함하는, 컴퓨터 판독가능한 매체.
  60. 디지털 비디오 데이터를 처리하기 위한 컴퓨터 판독가능한 매체로서,
    상기 컴퓨터 판독가능한 매체는 적어도 하나의 컴퓨터로 하여금,
    디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하라는 요청을 수신하고;
    상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하고;
    리사이즈 요청이 없었다면 데이터의 다음 세그먼트들이 인코딩되었을 비트 레이트와 상이한 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하고; 그리고
    상기 데이터의 다음 세그먼트들이 요구되는 인코딩 결과로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정
    하게 하는 명령들을 포함하고,
    상기 컴퓨터로 하여금 상기 인코딩 변수를 재조정하게 하는 명령들은 상기 컴퓨터로 하여금 상기 데이터의 다음 세그먼트들이 요구되는 프레임 레이트로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하게 하는 명령들을 포함하는, 컴퓨터 판독가능한 매체.
  61. 제 56 항에 있어서,
    상기 컴퓨터로 하여금 상기 인코딩 변수를 재조정하게 하는 명령들은 상기 컴퓨터로 하여금 상기 데이터의 다음 세그먼트들이 요구되는 양자화 파라미터(QP)로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하게 하는 명령들을 포함하는, 컴퓨터 판독가능한 매체.
  62. 디지털 비디오 데이터를 처리하기 위한 컴퓨터 판독가능한 매체로서,
    상기 컴퓨터 판독가능한 매체는 적어도 하나의 컴퓨터로 하여금,
    디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하라는 요청을 수신하고;
    상기 요청에 응답하여 상기 데이터의 세그먼트를 리사이즈하고;
    리사이즈 요청이 없었다면 데이터의 다음 세그먼트들이 인코딩되었을 비트 레이트와 상이한 비트 레이트로 상기 데이터의 다음 세그먼트들이 인코딩되도록 상기 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 적어도 하나의 인코딩 변수를 조정하고; 그리고
    상기 데이터의 다음 세그먼트들이 요구되는 인코딩 결과로 인코딩되도록 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정
    하게 하는 명령들을 포함하고,
    상기 컴퓨터로 하여금 상기 인코딩 변수를 재조정하게 하는 명령들은 상기 컴퓨터로 하여금 하나의 시간 기간 동안 리사이즈 요청들이 수신되지 않을 때 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 재조정하게 하는 명령들을 포함하는, 컴퓨터 판독가능한 매체.
  63. 제 56 항에 있어서,
    상기 컴퓨터로 하여금 상기 인코딩 변수를 재조정하게 하는 명령들은 상기 컴퓨터로 하여금 상기 데이터의 다음 세그먼트들이 요구되는 인코딩 결과로 인코딩될 때까지 상기 데이터의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 증분적으로 조정하게 하는 명령들을 포함하는, 컴퓨터 판독가능한 매체.
  64. 제 63 항에 있어서,
    상기 컴퓨터로 하여금 상기 인코딩 변수를 증분적으로 조정하게 하는 명령들은 상기 컴퓨터로 하여금 상기 데이터의 다음 세그먼트에 대해 리사이즈 요청이 수신되지 않고 상기 데이터의 다음 세그먼트가 요구되는 인코딩 결과로 인코딩되지 않을 때 상기 인코딩 변수를 증분값만큼 증분적으로 조정하게 하는 명령들을 포함하는, 컴퓨터 판독가능한 매체.
  65. 제 63 항에 있어서,
    상기 컴퓨터 판독가능한 매체는 상기 컴퓨터로 하여금,
    상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하고;
    상기 데이터의 다음 세그먼트에 대한 리사이즈 요청 수신시 상기 데이터의 다음 세그먼트를 인코딩하는데 사용되는 인코딩 변수를 감소값만큼 조정하게 하는 명령들을 더 포함하는, 컴퓨터 판독가능한 매체.
  66. 제 63 항에 있어서,
    상기 컴퓨터 판독가능한 매체는 상기 컴퓨터로 하여금,
    상기 데이터의 다음 세그먼트에 대한 리사이즈 요청을 수신하고; 그리고
    상기 데이터의 다음 세그먼트에 대해 수신된 리사이즈 요청에 규정된 감소된 비트 레이트를 달성하도록 상기 인코딩 변수를 조정하게 하는 명령들을 더 포함하는, 컴퓨터 판독가능한 매체.
  67. 제 56 항에 있어서,
    상기 컴퓨터로 하여금 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 조정하게 하는 명령들은 상기 컴퓨터로 하여금 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용될 인코딩 변수를 상기 데이터의 세그먼트를 리사이즈하는데 사용되는 인코딩 변수와 동일하게 설정하게 하는 명령들을 포함하는, 컴퓨터 판독가능한 매체.
  68. 제 56 항에 있어서,
    상기 컴퓨터로 하여금 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 조정하게 하는 명령들은 상기 컴퓨터로 하여금 데이터의 다수의 연속한 세그먼트들에 대한 리사이즈 요청들의 수신시 데이터의 하나 이상의 다음 세그먼트들을 인코딩하는데 사용되는 인코딩 변수를 조정하게 하는 명령들을 포함하는, 컴퓨터 판독가능한 매체.
KR1020087021282A 2006-01-31 2007-01-31 인코딩 장치 내에서의 레이트 제어 방법 및 시스템 KR100987232B1 (ko)

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 KR20080102141A (ko) 2008-11-24
KR100987232B1 true 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) WO2007090178A2 (ko)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
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
US8396114B2 (en) * 2009-01-29 2013-03-12 Microsoft Corporation Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
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
US8751565B1 (en) 2011-02-08 2014-06-10 Google Inc. Components for web-based configurable pipeline media processing
KR20120103517A (ko) 2011-03-10 2012-09-19 한국전자통신연구원 인트라 예측 방법 및 그 장치
WO2012121575A2 (ko) 2011-03-10 2012-09-13 한국전자통신연구원 인트라 예측 방법 및 그 장치
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
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
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
US9659437B2 (en) 2012-09-28 2017-05-23 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
TWI580264B (zh) * 2011-11-10 2017-04-21 Sony Corp Image processing apparatus and method
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
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
KR102275639B1 (ko) 2013-10-14 2021-07-08 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 영상 코딩 및 디코딩에 대한 기본 색상 인덱스 맵 모드의 특징
AU2013403224B2 (en) 2013-10-14 2018-10-18 Microsoft Technology Licensing, Llc Features of intra block copy prediction mode for video and image coding and decoding
CN105659602B (zh) 2013-10-14 2019-10-08 微软技术许可有限责任公司 用于视频和图像编码的帧内块复制预测模式的编码器侧选项
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
WO2015100726A1 (en) 2014-01-03 2015-07-09 Microsoft Corporation Block vector prediction in video and image coding/decoding
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
AU2014385769B2 (en) 2014-03-04 2018-12-06 Microsoft Technology 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
JP2017535145A (ja) 2014-09-30 2017-11-24 マイクロソフト テクノロジー ライセンシング,エルエルシー 波面並列処理が可能にされた場合のピクチャ内予測モードに関する規則
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
WO2016197314A1 (en) 2015-06-09 2016-12-15 Microsoft Technology Licensing, Llc Robust encoding/decoding of escape-coded pixels in palette mode
JP2018533871A (ja) * 2015-11-11 2018-11-15 サムスン エレクトロニクス カンパニー リミテッド ビデオ復号方法及びその装置、並びにビデオ符号化方法及びその装置
US9840861B1 (en) 2016-06-14 2017-12-12 Microsoft Technology Licensing, Llc Hinged device with snap open lock
US10501973B2 (en) 2016-06-14 2019-12-10 Microsoft Technology Licensing, Llc Hinge with free-stop function
US10301858B2 (en) 2016-06-14 2019-05-28 Microsoft Technology Licensing, Llc Hinge mechanism
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 北京数码视讯技术有限公司 多媒体流的传输调控装置和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990077445A (ko) * 1998-03-19 1999-10-25 포만 제프리 엘 실시간단일패스가변비트레이트제어방법및그인코더
KR20000049059A (ko) * 1996-10-11 2000-07-25 러셀 비. 밀러 디지털 비디오 압축을 위한 적응성 레이트 제어 방법 및 장치
US20040114817A1 (en) 2002-07-01 2004-06-17 Nikil Jayant Efficient compression and transport of video over a network
US20050220188A1 (en) 1997-03-14 2005-10-06 Microsoft Corporation Digital video signal encoder and encoding method

Family Cites Families (99)

* Cited by examiner, † Cited by third party
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
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
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 シャープ株式会社 領域統合が可能な動き補償フレーム間予測方式を用いた動画像符号化・復号化装置
EP0935369B1 (en) * 1997-07-23 2012-05-02 NTT DoCoMo, Inc. Multiplex transmission system and band control method
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
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
EP1703643B1 (en) * 1998-11-09 2019-01-16 Samsung Electronics Co., Ltd. Devices and methods for power control in a rsma (reservation multiple access) mobile communication system
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 日本ビクター株式会社 記録装置
BR0006848A (pt) * 1999-06-28 2001-07-03 Samsung Electronics Co Ltd Aparelho e método para controle de potência de link avançado quando no modo de transmissão contìnua em um sistema de comunicação móvel
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 多重化装置及び多重化方法
AU4338800A (en) 1999-12-22 2001-07-03 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
US6928285B2 (en) * 2000-12-05 2005-08-09 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
AU2002317073A1 (en) 2001-06-27 2003-03-03 Nortel Networks Limited Mapping information in wireless communications systems
WO2003010984A1 (en) * 2001-06-27 2003-02-06 Nortel Networks Limited Communication of control information in wireless communication systems
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 엘지전자 주식회사 순방향 공통 전력 제어 채널의 전력 제어 방법
US7248600B2 (en) * 2001-11-02 2007-07-24 At&T Corp. ‘Shield’: protecting high priority channel access attempts in overlapped wireless cells
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
US7277415B2 (en) * 2001-11-02 2007-10-02 At&T Corp. Staggered startup for cyclic prioritized multiple access (CPMA) contention-free sessions
US7280517B2 (en) * 2001-11-02 2007-10-09 At&T Corp. Wireless LANs and neighborhood capture
US7180905B2 (en) * 2001-11-02 2007-02-20 At & T Corp. Access method for periodic contention-free sessions
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 松下電器産業株式会社 符号量制御装置および符号量制御方法
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
JP4390112B2 (ja) * 2002-09-05 2009-12-24 エージェンシー フォー サイエンス,テクノロジー アンド リサーチ ビデオシーケンスのレートを制御する方法及び装置並びにビデオ符号化装置
EP1537707A2 (en) 2002-09-06 2005-06-08 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 삼성전자주식회사 직교 주파수 분할 다중 접속 방식을 사용하는 이동 통신시스템에서 레인징 방법
KR100779054B1 (ko) * 2003-08-27 2007-11-27 인터디지탈 테크날러지 코포레이션 다중 직교 주파수 분할 다중화(ofdm) 시스템에서실시간 서비스를 위한 부반송파와 비트 할당
EP1768442A3 (en) * 2003-08-29 2007-08-08 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
US7653085B2 (en) * 2005-04-08 2010-01-26 Qualcomm Incorporated Methods and apparatus for enhanced delivery of content over data network
US7974193B2 (en) * 2005-04-08 2011-07-05 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
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
US20070201388A1 (en) 2006-01-31 2007-08-30 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
US8582905B2 (en) * 2006-01-31 2013-11-12 Qualcomm Incorporated Methods and systems for rate control within an encoding device
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000049059A (ko) * 1996-10-11 2000-07-25 러셀 비. 밀러 디지털 비디오 압축을 위한 적응성 레이트 제어 방법 및 장치
US20050220188A1 (en) 1997-03-14 2005-10-06 Microsoft Corporation Digital video signal encoder and encoding method
KR19990077445A (ko) * 1998-03-19 1999-10-25 포만 제프리 엘 실시간단일패스가변비트레이트제어방법및그인코더
US20040114817A1 (en) 2002-07-01 2004-06-17 Nikil Jayant Efficient compression and transport of video over a network

Also Published As

Publication number Publication date
WO2007090178A2 (en) 2007-08-09
CN101507279A (zh) 2009-08-12
KR20080102141A (ko) 2008-11-24
US20080037624A1 (en) 2008-02-14
US8582905B2 (en) 2013-11-12
WO2007090177A2 (en) 2007-08-09
WO2007090178A3 (en) 2007-11-01
US8792555B2 (en) 2014-07-29
AR059273A1 (es) 2008-03-19
US20070204067A1 (en) 2007-08-30
WO2007090177A3 (en) 2007-10-18
CN101375604A (zh) 2009-02-25
KR20080102139A (ko) 2008-11-24
TW200746835A (en) 2007-12-16
TW200737850A (en) 2007-10-01
AR059272A1 (es) 2008-03-19
EP1980111A2 (en) 2008-10-15
JP2009525705A (ja) 2009-07-09
EP1982526A2 (en) 2008-10-22
JP2009525706A (ja) 2009-07-09
CN101371590A (zh) 2009-02-18

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
US6529552B1 (en) Method and a device for transmission of a variable bit-rate compressed video bitstream over constant and variable capacity networks
KR100988177B1 (ko) 품질 및 레이트 정보에 기초하여 멀티미디어 콘텐츠를 리사이징하기 위한 방법 및 시스템
US8477844B2 (en) Method and apparatus for transmitting video
US20210306405A1 (en) Apparatus and method for constant quality optimization for adaptive streaming
US20170055012A1 (en) System and method for managing segment delivery and bandwidth responsive to encoding complexity metrics
US20140181266A1 (en) System, streaming media optimizer and methods for use therewith
US20170347159A1 (en) Qoe analysis-based video frame management method and apparatus
US9407941B2 (en) Distributing audio video content
US20020131496A1 (en) System and method for adjusting bit rate and cost of delivery of digital data
US20210084382A1 (en) Video Stream Analytics
US20130208075A1 (en) Encoding processing for conferencing systems
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