KR20080102139A - 멀티미디어 콘텐츠 리사이즈 방법 및 시스템 - Google Patents

멀티미디어 콘텐츠 리사이즈 방법 및 시스템 Download PDF

Info

Publication number
KR20080102139A
KR20080102139A KR1020087021253A KR20087021253A KR20080102139A KR 20080102139 A KR20080102139 A KR 20080102139A KR 1020087021253 A KR1020087021253 A KR 1020087021253A KR 20087021253 A KR20087021253 A KR 20087021253A KR 20080102139 A KR20080102139 A KR 20080102139A
Authority
KR
South Korea
Prior art keywords
data
segment
encoding
motion information
blocks
Prior art date
Application number
KR1020087021253A
Other languages
English (en)
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 KR20080102139A publication Critical patent/KR20080102139A/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 RESIZING MULTIMEDIA CONTENT}
본 출원은 "MULTIMEDIA CONTENT RE/ENCODING AND STATISTICAL MULTIPLEXING"이라는 명칭으로 2006년 1월 31일자 제출된 미국 예비 출원 60/763,995호에 대한 우선권을 주장하며, 그 전체 내용은 본원에 참조로 통합된다.
본 개시는 멀티미디어 인코딩 및 디코딩에 관한 것으로, 보다 구체적으로는 효율적인 통계적 다중화를 위한 멀티미디어 리사이즈에 관한 것이다.
무선 통신 네트워크와 같은 데이터 네트워크는 단일 단말에 맞춤화되는 서비스들과 상당수의 단말에 제공되는 서비스들 간에 거래(trade off)를 해야 한다. 예를 들어, 상당수의 자원 한정된 휴대 장치(가입자)에 멀티미디어 콘텐츠를 배포하는 것은 까다로운 문제이다. 따라서 네트워크 관리자, 콘텐츠 소매업자 및 서비스 제공자가 콘텐츠 및/또는 다른 네트워크 서비스들을 네트워크화된 장치들 상에서 표현하기 위해 빠르고 효율적인 방식으로 배포하는 방법을 갖는 것은 매우 중요하다.
콘텐츠 전달/미디어 배포 시스템은 실시간 및 비실시간 서비스를 송신 프레임으로 패킹(pack)하고 네트워크상의 장치들에 프레임을 전달할 수 있다. 예를 들 어, 통신 네트워크는 직교 주파수 분할 다중화(OFDM)를 이용하여 네트워크 서버와 하나 이상의 모바일 장치 간에 통신을 제공할 수 있다. 이 기술은 분산 네트워크를 통해 전달 및 전송될 서비스들로 패킹되는 데이터 슬롯들을 갖는 송신 프레임을 제공한다.
일반적으로, 본 개시는 효율적인 통계적 다중화를 위해 멀티미디어 콘텐츠를 리사이즈하는 기술을 설명한다. 보다 구체적으로는, 데이터의 세그먼트의 리사이즈 요청에 응답하여, 인코딩 모듈이 데이터의 세그먼트의 비트 레이트를 줄이기 위해 데이터의 세그먼트를 리사이즈한다. 여기서 사용되는 "비트 레이트"라는 용어는 멀티미디어 데이터의 세그먼트를 나타내기 위해 단위 시간별로 사용되는 비트 수를 말한다. 종종, 비트 레이트는 초당 킬로비트(kbits/s)로 지정된다. 따라서 데이터의 세그먼트의 비트 레이트는 데이터의 세그먼트 크기에 해당한다. 따라서 데이터의 세그먼트의 비트 레이트를 줄이면, 데이터의 세그먼트 크기가 감소한다.
본 개시의 기술에 따르면, 인코딩 모듈은 인코딩될 모션 정보의 양을 조정함으로써 데이터의 세그먼트를 리사이즈할 수 있다. 예를 들어, 인코딩 모듈은 인코딩될 모션 정보의 양을 감소시킬 수 있다. 즉, 리사이즈될 데이터의 세그먼트와 관련된 인코딩 모듈은 더 적은 수의 비트를 사용하여 모션 정보를 인코딩하며, 이에 따라 데이터의 세그먼트 크기를 줄인다. 본 개시의 한 형태로, 데이터의 선택된 세그먼트와 관련된 인코딩 모듈은 2개 이상의 모션 벡터를 병합할 수 있다. 다른 예로서, 인코딩 모듈은 인코딩될 모션 정보의 양을 줄이기 위해 데이터의 세그먼트 내에서 적어도 하나의 프레임의 픽셀들로 이루어진 하나 이상의 블록에 대한 인코딩 모드를 재선택할 수 있다. 인코딩될 모션 정보의 양을 조정하는 것 외에도, 인코딩 모듈은 데이터의 세그먼트가 재인코딩되는 비트 레이트와 같은 하나 이상의 인코딩 변수 또는 데이터의 세그먼트를 재인코딩하는데 사용되는 양자화 파라미터를 조정하여 데이터의 세그먼트의 비트 레이트를 더 줄일 수도 있다.
한 형태로, 디지털 멀티미디어 데이터의 스트림을 인코딩하는 방법은 상기 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하기 위한 요청을 수신하는 단계, 및 상기 요청에 응답하여 상기 데이터의 세그먼트에 대해 인코딩될 모션 정보의 양을 조정함으로써 상기 데이터의 세그먼트를 리사이즈하는 단계를 포함한다.
다른 형태로, 디지털 멀티미디어 데이터의 스트림을 인코딩하는 장치는 상기 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하기 위한 요청을 수신하는 인터페이스, 및 상기 요청에 응답하여 상기 데이터의 세그먼트에 대해 인코딩될 모션 정보의 양을 조정함으로써 상기 데이터의 세그먼트를 리사이즈하는 리사이즈 모듈을 포함한다.
추가 형태로, 디지털 멀티미디어 데이터의 스트림을 인코딩하는 장치는 상기 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하기 위한 요청을 수신하는 수단, 및 상기 요청에 응답하여 상기 데이터의 세그먼트에 대해 인코딩될 모션 정보의 양을 조정함으로써 상기 데이터의 세그먼트를 리사이즈하는 수단을 포함한다.
다른 형태로, 디지털 비디오 데이터를 처리하기 위한 프로세서는 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하기 위한 요청을 수신하고, 상기 요청에 응답하여 상기 데이터의 세그먼트에 대해 인코딩될 모션 정보의 양을 조정함으로써 상기 데이터의 세그먼트를 리사이즈하도록 구성된다.
여기서 설명하는 기술들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합으로 구현될 수 있다. 소프트웨어로 구현된다면, 이 기술들은 프로세서에 의해 실행될 때 여기서 설명하는 하나 이상의 방법을 수행하는 명령들을 포함하는 컴퓨터 판독 가능 매체를 포함하는 컴퓨터 프로그램 제품으로 전체 또는 부분적으로 실현될 수 있다. 이에 따라, 본 개시는 적어도 하나의 컴퓨터로 하여금 디지털 멀티미디어 데이터의 스트림과 관련된 데이터 세그먼트의 리사이즈 요청을 수신하고 상기 요청에 응답하여 데이터의 세그먼트에 대해 인코딩될 모션 정보의 양을 조정함으로써 데이터의 세그먼트를 리사이즈하게 하는 명령들을 포함하는 컴퓨터 판독 가능 매체를 포함하는 디지털 비디오 데이터를 처리하기 위한 컴퓨터 프로그램 제품 또한 고려한다.
하나 이상의 형태의 상세가 첨부 도면 및 하기의 설명에서 언급된다. 본 개시의 다른 특징, 과제 및 이점은 설명과 도면, 및 청구범위로부터 명백할 것이다.
도 1은 예시적인 인코딩 및 디코딩 시스템을 설명하는 블록도이다.
도 2는 다른 예시적인 인코딩 및 디코딩 시스템을 설명하는 블록도이다.
도 3은 멀티미디어 인코딩 장치 내에서 사용하기 위한 예시적인 인코더 모듈 을 설명하는 블록도이다.
도 4는 본 개시의 기술에 따라 멀티미디어 데이터를 인코딩하는 인코더 모듈의 예시적인 동작을 설명하는 흐름도이다.
도 5는 본 개시의 형태들 중 하나에 따라 모션 정보의 양을 줄이는 인코더 모듈의 예시적인 동작을 설명하는 흐름도이다.
일반적으로, 본 개시는 효율적인 통계적 다중화를 위해 멀티미디어 콘텐츠를 리사이즈하는 기술을 설명한다. 보다 구체적으로는, 데이터의 세그먼트의 리사이즈 요청에 응답하여, 인코딩 모듈이 데이터의 세그먼트의 비트 레이트를 줄이기 위해 데이터의 세그먼트를 리사이즈한다. 여기서 사용되는 "비트 레이트"라는 용어는 멀티미디어 데이터의 세그먼트를 나타내기 위해 단위 시간별로 사용되는 비트 수를 말한다. 종종, 비트 레이트는 초당 킬로비트(kbits/s)로 지정된다. 따라서 데이터의 세그먼트의 비트 레이트는 데이터의 세그먼트 크기에 해당한다. 따라서 데이터의 세그먼트의 비트 레이트를 줄이면, 데이터의 세그먼트 크기가 감소한다.
본 개시의 기술에 따르면, 인코딩 모듈은 인코딩될 모션 정보의 양을 조정함으로써 데이터의 세그먼트를 리사이즈할 수 있다. 예를 들어, 인코딩 모듈은 인코딩될 모션 정보의 양을 감소시킬 수 있다. 즉, 리사이즈될 데이터의 세그먼트와 관련된 인코딩 모듈은 더 적은 수의 비트를 사용하여 모션 정보를 인코딩하며, 이에 따라 데이터의 세그먼트 크기를 줄인다. 본 개시의 한 형태로, 데이터의 선택된 세그먼트와 관련된 인코딩 모듈은 2개 이상의 모션 벡터를 병합할 수 있다. 다 른 예로서, 인코딩 모듈은 인코딩될 모션 정보의 양을 줄이기 위해 데이터의 세그먼트 내에서 적어도 하나의 프레임의 픽셀들로 이루어진 하나 이상의 블록에 대한 인코딩 모드를 재선택할 수 있다. 인코딩될 모션 정보의 양을 조정하는 것 외에도, 인코딩 모듈은 데이터의 세그먼트가 재인코딩되는 비트 레이트와 같은 하나 이상의 인코딩 변수 또는 데이터의 세그먼트를 재인코딩하는데 사용되는 양자화 파라미터를 조정하여 데이터의 세그먼트의 비트 레이트를 더 줄일 수도 있다.
도 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)는 목표 품질 레벨을 기초로 데이터의 흐름들에 대한 비트 레이트를 선택한다. 비트 레이트를 결정하기 위한 목표 품질 레벨은 미리 선택되거나 사용자에 의해 선택되거나 자동 프로세스 또는 사용자나 다른 프로세스로부터의 입력을 필요로 하는 반자동 프로세스를 통해 선택되거나 미리 결정된 기준을 기초로 인코딩 장치나 시스템에 의해 동적으로 선택될 수 있다. 목표 품질 레벨은 예를 들어 인코딩 애플리케이션의 타입, 또는 멀티미디어 데이터를 수신하고 있는 클라이언트 장치의 타입을 기초로 선택될 수 있다. 목표 품질 레벨로 데이터의 각 흐름을 출력하는데 필요한 비트 수가 이용 가능한 송신 품질 자원이 있는 비트량을 초과한다면, 멀티미디어 인코딩 장치(12)는 다수의 흐름을 위해 가장 높은 전체 품질을 유지하고자 하는 시도로 흐름들 간의 비트 할당을 관리한다.
도 1에 나타낸 것과 같이, 멀티미디어 인코딩 장치(12)는 인코더 모듈(18A-18N)(총칭하여, "인코더 모듈(18)"), 비실시간(NRT) 서비스 모듈(19), 다중 모듈(20) 및 송신기(22)를 포함한다. 인코더 모듈(18)은 하나 이상의 소스로부터 디지털 멀티미디어 데이터의 흐름들을 수신한다. 인코더 모듈(18)은 예를 들어 인코더 모듈(18)에 연결된 메모리나 이미지 포착 장치로부터 멀티미디어 데이터의 흐름들을 수신한다. 멀티미디어 데이터의 흐름들은 코딩되어 방송으로서 또는 요구에 따라 전송되는 생생한 실시간 비디오, 오디오, 또는 비디오와 오디오 흐름을 포함할 수도 있고, 또는 인코딩되어 방송으로서 또는 요구에 따라 전송되는 사전 레코딩되어 저장된 비디오, 오디오, 또는 비디오와 오디오 흐름을 포함할 수도 있다.
인코더 모듈(18)은 인코더 모듈(18)의 실시간 서비스와 관련된 품질 및 레이 트 정보와 같이 데이터의 세그먼트들과 관련된 전달 요건을 다중 모듈(20)에 전송할 수 있다. NRT 서비스 모듈(19)은 또한 우선순위 및 레이턴시 요건과 같이 NRT 서비스와 관련된 전달 요건을 전송할 수도 있다. 인코더 모듈(18) 및 NRT 서비스 모듈(19)은 다중 모듈(20)로부터의 요청에 응답하여 다중 모듈(20)에 전달 요건을 전송할 수 있다. 인코더 모듈(18) 및 NRT 서비스 모듈(19)은 서로 다른 다수의 통신 프로토콜에 따라 하나 이상의 제어 채널을 이용하여 다중 모듈(20)과 통신할 수 있다. 한 형태로, 다중 모듈(20)은 기본 전송 메커니즘으로서 메시지 전송층(MTL)을 이용하는 프로토콜을 사용하여 통신할 수 있다.
다중 모듈(20)은 전달 요건, 예를 들어 품질 및 레이트 정보, 우선순위 요건 및 레이턴시 요건을 분석하여 인코더 모듈(18)이 현재 수퍼프레임에 포함하고자 하는 데이터의 세그먼트를 전송하기에 충분한 송신 채널 자원이 있는지 여부를 결정한다. 즉, 다중 모듈(20)은 인코더 모듈(18) 및 NRT 서비스 모듈(19)이 현재 수퍼프레임에 포함하고자 하는 데이터의 세그먼트들이 고정 대역폭 채널 내에 맞는지를 결정한다.
다중 모듈(20)은 예를 들어 품질 레벨들 중 선택된 것에 대응하는 크기 및/또는 비트 레이트의 각 세그먼트를 전송하는데 필요한 송신 채널 자원의 양을 결정할 수 있다. 다중 모듈(20)은 데이터의 세그먼트들을 전송하는데 필요한 송신 채널 자원들의 양을 합하여 모든 데이터 세그먼트들에 의해 요구되는 송신 채널 자원들의 총합과 이용 가능한 송신 채널 자원의 양을 비교하여 데이터의 세그먼트들을 전송하기에 충분한 송신 채널 자원이 있는지를 결정할 수 있다. 다중 모듈(20)이 데이터의 다수의 세그먼트가 가용 대역폭 내에 맞지 않는다고 판단하면, 예를 들어 필요한 송신 채널 자원의 총합이 이용 가능한 송신 채널 자원을 초과한다면, 다중 모듈(20)은 리사이즈될 하나 이상의 세그먼트를 선택한다. 다중 모듈(20)은 축소된 해당 크기로 품질에 최소한의 영향을 주는 리사이즈될 데이터의 세그먼트들의 선택을 시도할 수 있다.
다중 모듈(20)은 선택된 데이터 세그먼트와 관련된 인코더 모듈(18)에 감소한 비트 할당 또는 감소한 비트 레이트에 따라 디지털 멀티미디어 데이터의 흐름들을 리사이즈하라는 요청을 전송한다. 추가로, 다중 모듈(20)은 NRT 서비스들 중 하나 이상을 리사이즈하라는 요청을 NRT 모듈(19)에 전송할 수 있다. 다중 모듈(20)은 선택된 세그먼트들과 관련된 인코더 모듈(18) 및 NRT 모듈(19)에 제어 채널을 통해 리사이즈 요청을 전송할 수 있다. 리사이즈 요청은 데이터의 선택된 세그먼트에 대한, 예를 들어 비트 단위의 최대 크기 또는 데이터의 세그먼트에 대한 감소한 비트 레이트를 지정할 수 있다.
데이터의 선택된 세그먼트들과 관련된 인코더 모듈(18)은 데이터의 각자의 개별 세그먼트와 관련된 리사이즈 요청을 수신하고, 멀티미디어 데이터의 세그먼트들을 리사이즈한다. 인코더 모듈(18) 및 NRT 서비스 모듈(19)은 다수의 다른 방법으로 데이터의 세그먼트를 리사이즈할 수 있다. 실시간 서비스에 관해, 데이터의 선택된 세그먼트들과 관련된 인코더 모듈(18)은 인코딩될 모션 정보의 양을 조정하여 데이터의 세그먼트를 리사이즈한다. 예를 들어, 인코더 모듈(18)은 인코딩될 모션 정보의 양을 줄일 수 있다. 즉, 데이터의 선택된 세그먼트들과 관련된 인코 더 모듈(18)은 더 적은 수의 비트를 사용하여 모션 정보를 인코딩하여, 데이터의 세그먼트 크기를 줄인다. 한 형태로, 데이터의 선택된 세그먼트들과 관련된 인코더 모듈(18)은 2개 이상의 모션 벡터를 병합하여, 인코딩될 모션 정보의 양을 줄일 수 있다. 다른 예로서, 인코더 모듈(18)은 데이터의 세그먼트 내에서 적어도 하나의 프레임의 픽셀들로 이루어진 하나 이상의 블록에 대한 인코딩 모드를 재선택할 수 있다. 뒤에 더 상세히 설명하는 바와 같이, 픽셀 블록에 대한 인코딩 모듈의 재선택은 모션 벡터들의 병합에 비슷한 효과를 가질 수 있다. 다른 예에서, 인코더 모듈(18)은 예를 들어 또 데이터의 세그먼트 내에서 한 프레임의 픽셀들로 이루어진 하나 이상의 블록에 대한 인코딩 모드를 재선택함으로써 리사이즈 요청이 이용 가능한 추가 대역폭이 있음을 지시할 때 인코딩될 모션 정보의 양을 증가시킬 수 있다.
인코딩 모드는 예를 들어 하나 이상의 예측 모드를 포함할 수 있다. H.264 환경에서, 예를 들어, 인코딩 모드는 동일한 블록 크기에 대한 인트라 예측 모드뿐 아니라 매크로블록 레벨 인터 모드(예를 들어, Inter 16×16, Inter 16×8, Inter 8×16, Inter 8×8) 또는 8×8 부-분할 모드(예를 들어, Inter 8×8, Inter 8×4, Inter 4×8, Inter 4×4)와 같은 예측 모드를 포함할 수 있다. 추가로, 인코딩 모드는 또한 각각의 인터 모드에 대한 순방향, 역방향 또는 양방향 예측 모드 선택을 포함할 수 있다.
데이터의 선택된 세그먼트들과 관련된 인코더 모듈(18)은 인코딩될 정보량의 조정 외에도 하나 이상의 인코딩 변수를 조정할 수도 있다. 다시 말하면, 인코더 모듈(18)은 하나 이상의 인코딩 변수를 조정하고 인코딩될 모션 정보의 양을 감소시켜 데이터의 세그먼트들을 또 리사이즈할 수 있다. 예를 들어, 데이터의 선택된 세그먼트들과 관련된 인코더 모듈(18)은 데이터의 세그먼트들이 재인코딩되는 비트 레이트를 조정할 수 있다. 상술한 바와 같이, 데이터의 선택된 세그먼트들과 관련된 인코더 모듈(18)은 리사이즈 요청으로 지정된 것과 같이 비트 레이트를 감소시킬 수 있다. 대안으로, 인코더 모듈(18)은 데이터의 세그먼트에 할당된 비트 수를 기초로 감소한 비트 레이트를 결정할 수 있다. 다른 예로서, 데이터의 선택된 세그먼트들과 관련된 인코더 모듈(18)은 데이터의 세그먼트들을 재인코딩하는데 사용되는 양자화 파라미터(QP)들이나 데이터의 다음 세그먼트들을 인코딩할 프레임 레이트를 조정할 수 있다. 인코더 모듈(18)은 조정된 인코딩 변수들을 이용하여 데이터의 세그먼트들이나 데이터의 크기 조정된 세그먼트들을 재인코딩한다. 이런 식으로, 데이터의 선택된 세그먼트들과 관련된 인코더 모듈(18)은 리사이즈 요청에 지정된 크기 또는 레이트 요건을 충족하도록 데이터의 세그먼트들을 리사이즈한다.
다중 모듈(20)은 다중 모듈(20)이 현재 수퍼프레임을 생성할 준비가 될 때 데이터의 인코딩된 세그먼트들을 수집한다. 다중 모듈(20) 예를 들어 제어 채널을 통해 인코더 모듈(18)에 요청을 전송할 수 있다. 요청에 응답하여, 인코더 모듈(18)은 멀티미디어 데이터의 인코딩된 세그먼트들을 다중 모듈(20)에 전송한다. 다중 모듈(20)은 멀티미디어 데이터의 흐름들을 조합하여 수퍼프레임을 형성하고, 송신 채널(16)을 통해 하나 이상의 디코딩 장치에 전송하기 위해 수퍼 프레임을 송신기(22)에 전송한다. 이런 식으로, 다중 모듈(20)은 데이터의 모든 세그먼트가 고정 대역폭 채널(16)에 맞도록 흐름들 간의 비트 할당을 관리하는 동시에 데이터의 다수의 흐름의 최고 전체 품질을 유지한다.
본 개시의 기술은 비실시간 서비스나 실시간 서비스와 비실시간 서비스의 조합에 적용될 수도 있다. 예를 들어, 다중 모듈(20)은 우선순위 및 레이턴시 요건과 같은 비실시간 서비스에 대한 전달 요건을 NRT 서비스 모듈(19)로부터 수신하고, 실시간 및 비실시간 서비스의 전달 요건 둘 다 분석하여 서비스가 고정 대역폭 채널 내에 맞는지를 결정할 수 있다. 다중 모듈(20)은 또한 비실시간 서비스들 중 하나 이상의 리사이즈를 요청할 수도 있다. 이런 식으로, 다중 모듈(20)은 실시간 서비스들과 비실시간 서비스들 사이를 중재할 수 있다. 그러나 설명을 위해 본 개시는 실시간 서비스 환경에서의 인코딩 기술의 사용을 설명한다.
멀티미디어 인코딩 장치(12)의 성분들은 여기서 설명한 기술들을 구현하기 위해 적용할 수 있는 것들의 예시이다. 그러나 멀티미디어 인코딩 장치(12)는 바람직하다면 다른 많은 성분을 포함할 수도 있다. 예를 들어, 멀티미디어 인코딩 장치는 1보다 많은 NRT 서비스 모듈(19)을 포함할 수 있다. 더욱이, 본 개시의 기술들은 도 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)은 예를 들어 본원에서 설명하는 기술들에 따라 하나 이상의 모션 벡터를 병합함으로써 인코딩될 모션 정보의 양을 감소시키고, 이에 따라 데이터의 세그먼트 크기가 감소한다. 인코딩될 모션 정보의 양을 감소시키는 것 외에도, 리사이즈 모듈(32)은 하나 이상의 인코딩 변수, 예를 들어, 비트 레이트, 프레임 레이트 또는 QP를 조정하여 데이터의 세그먼트들의 크기를 줄일 수 있다.
도 3은 도 1의 멀티미디어 인코딩 장치(12)와 같은 멀티미디어 인코딩 장치 내에서 사용하기 위한 예시적인 인코더 모듈(40)을 설명하는 블록도이다. 인코더 모듈(40)은 예를 들어, 도 1의 인코딩 장치(12)의 인코더 모듈(18)들 중 임의의 하나를 나타낼 수 있다. 인코더 모듈(40)은 다중 모듈 인터페이스(42), 콘텐츠 분류 모듈(44), 품질-레이트 정보 생성 모듈(46) 및 인코딩 모듈(48)을 포함한다. 인코딩 모듈(48)은 리사이즈를 위해 선택된 데이터의 세그먼트들을 리사이즈하는 리사이즈 모듈(50)을 또 포함한다.
인코더 모듈(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)은 데이터의 세그먼트들과 관련된 모션 정보의 양을 줄일 수 있다. 상술한 바와 같이, 데이터의 각 세그먼트는 데이터의 하나 이상의 프레임을 포함할 수 있다. 데이터의 프레임들은 픽셀들로 이루어진 다수의 블록으로 분할될 수 있다. 흔히 "매크로블록"으로 지칭되는 어떤 픽셀 블록들은 픽셀들로 이루어진 서브 블록들의 그룹화를 포함한다. 예로서, 16×16 매크로블록은 픽셀들의 8×8 서브 블록을 포함할 수 있다. H.264 표준은 다양한 서로 다른 크기를 갖는, 예를 들어, 16×16, 16×8, 8×16, 8×8, 4×4, 8×4, 4×8의 블록들의 인코딩을 허용한다. 각 서브 블록은 해당 특정 서브 블록에 대한 모션 필드를 기술하는 적어도 하나의 모션 벡터를 포함할 수 있다. 데이터의 세그먼트들과 관련된 모션 정보를 줄여 데이터의 세그먼트 크기를 줄이기 위해, 리사이즈 모듈(50)은 이들 서브 블록의 모션 벡터들을 병합하여 매크로블록에 대한 단일 모션 벡터를 생성할 수 있다. 추가로, 리사이즈 모듈(50)은 매크로블록과 관련된 모션 벡터를 병합하여 프레임에 대한 단일 모션 벡터를 생성할 수 있다. 이에 따라 리사이즈 모듈(50)은 모션 벡터들의 수를 줄임으로써 인코딩될 정보량을 감소시켜 데이터의 세그먼트 크기를 줄인다.
본 개시의 한 형태로, 리사이즈 모듈(50)은 새로운 비트 예산을 기초로, 즉 최대 비트 수 또는 리사이즈 요청에 지시된 비트 레이트를 기초로 데이터의 세그먼 트 내에서 적어도 하나의 프레임의 픽셀들로 이루어진 하나 이상의 블록에 대한 인코딩 모드를 재선택한다. 상술한 바와 같이, 리사이즈 모듈(50)은 새로운 비트 예산을 기초로 인코딩 예측 모드를 재선택할 수 있다. H.264 환경에서, 예를 들어, 리사이즈 모듈(50)은 데이터의 세그먼트 내의 프레임의 픽셀들로 이루어진 블록들 중 하나 이상에 대한 인트라 예측 모드뿐 아니라 인터 예측 모드(예를 들어, Inter 16×16, Inter 16×8, Inter 8×16, Inter 8×8) 또는 8×8 부-분할 예측 모드(예를 들어, Inter 8×8, Inter 8×4, Inter 4×8, Inter 4×4)를 재선택할 수 있다. 추가로, 인코딩 모드는 또한 각각의 인터 모드에 대한 순방향, 역방향 또는 양방향 예측 모드 선택을 포함할 수 있다. 대안으로 또는 추가로, 리사이즈 모듈(50)은 선택된 각각의 인터 모드에 대한 순방향, 역방향 또는 양방향 예측 모드를 재선택할 수 있다. 즉, 리사이즈 모듈(50)은 매크로블록, 서브 블록 또는 픽셀들의 다른 분할에 대한 모드 결정을 다시 수행한다.
한 형태로, 리사이즈 모듈(50)은 제 1 과정 인코딩 동안 생성된 정보를 기초로 인코딩 모드를 재선택할 수 있다. 특히, 인코딩 모듈(48)은 제 1 과정 인코딩 동안 각 모드를 전면적으로 고찰하여 각 모드에 대응하는 각 서브 블록에 대한 모션 벡터들을 생성한다. 다시 말하면, 인코딩 모듈(48)은 각 서브 블록에 대한 서로 다른 다수의 모션 벡터를 생성하며, 서로 다른 각각의 모션 벡터는 특정 모드에 대응한다. 제 1 과정 인코딩 동안, 인코딩 모듈(48)은 픽셀들의 블록들에 대한 모드를 선택하고 선택된 모드에 대한 모션 벡터들을 인코딩한다. 제 1 과정 인코딩 동안 생성된 모드 정보, 즉 각 모드와 관련된 모션 벡터는 재선택 동안 리사이즈 모듈(50)에 의해 사용하기 위해 (도시하지 않은) 메모리에 저장된다.
리사이즈 요청에 응답하여, 리사이즈 모듈(50)은 제 1 과정의 모드들로부터 더 나은 모드를 선택하기 위한 시도에서 다중 모듈에 의해 지정된 새로운 비트 예산에 따라 서브 블록들 중 하나 이상에 대한 모드를 재선택할 수 있다. 예를 들어, 리사이즈 모듈(50)은 단 하나의 모션 벡터를 갖는 Inter 16×16 모드를 사용하여 2개의 모션 벡터를 필요로 하는 원래의 Intra 16×8 모드를 대체하기 위해 모드를 재선택할 수 있다. 이런 식으로, 픽셀들의 하나 이상의 블록에 대한 인코딩 모드의 재선택은 모션 정보의 병합과 비슷한 결과를 얻게 된다. 리사이즈 모듈(50)은 제 1 과정 인코딩 동안 새로 선택된 모드, 예를 들어, 상기 예에서는 Inter 16×16 모드에 대해 생성되어 메모리에 저장된 모션 정보를 검색한다. 이런 식으로, 재인코딩 동안 모드 결정의 재수행은 하나 이상의 모션 벡터의 병합과 비슷한 결과를 갖는다. 대안으로, 리사이즈 모듈(50)은 이전 모드와 관련된 모션 정보를 이용하여 재선택된 모드에 대한 모션 정보를 생성할 수 있다. 예를 들어, 리사이즈 모듈은 Intra 16×8 모드의 모션 정보를 병합하여 새로운 Inter 16×16 모드에 대한 모션 벡터를 생성할 수 있다. 리사이즈 모듈(50)은 품질-레이트 최적화 규칙을 기초로 모드 결정을 재선택할 수 있다. 즉, 리사이즈 모듈(50)은 데이터의 세그먼트의 품질에는 적은 영향을 주지만 비트 레이트 절약에는 상당한 영향을 주는 모드를 재선택할 수 있다. 리사이즈 동안 모션 추정은 (수행될 수도 있지만) 필수적이지 않기 때문에 제 1 과정에 비해 계산 복잡도는 최저한이다. 이런 식으로, 리사이즈 모듈(50)은 모션 벡터들을 선택하여 병합하기 위한 모드 결정을 다시 수행한다.
표 1은 제 1 과정의 모드를 이용하여 재인코딩된 데이터의 크기와 데이터의 4개의 세그먼트에 대한 모드 결정을 다시 수행한 후 재인코딩된 데이터를 비교하는 결과들을 포함한다. 서로 다른 세그먼트들은 애니메이션 세그먼트, 음악 세그먼트, 뉴스 세그먼트 및 스포츠 세그먼트로 식별된다. 표 1은 세 타입의 코딩 결과(1열), 총 비트 레이트, 즉 크기(2열), 기본층대 확장층 비(3열), P 프레임에서 모션 정보의 비율(4열), 기본층 Luma PSNR(5열) 및 확장층 Luma PSNR(6열)을 나타낸다. 세 타입의 코딩 결과는 제 1 과정(각 세그먼트의 첫 번째 행)에 대한 코딩 결과, 제 1 과정의 모드를 이용한 재인코딩 결과(각 세그먼트의 두 번째 행) 및 상술한 재선택된 모드 결정을 이용한 재인코딩 결과(각 세그먼트의 세 번째 행)이다. 재인코딩에 대한 양자화 파라미터는 제 1 과정에 사용된 양자화 파라미터를 6만큼 증가시켜 발생한다.
Figure 112008061755455-PCT00001
표 1의 결과로 나타낸 바와 같이, 모드 결정(MD)을 재수행한 후의 재인코딩은 제 1 과정 모드를 이용한 재인코딩보다 레이트를 상당히 더 감소시킬 수 있다. 기본층대 확장층 비(B:E)를 보면, P 프레임에서 모션 정보의 크기 때문에 제 1 과정 모드로 재인코딩이 수행될 때 1:1을 얻기가 어렵다는 것을 알 수 있다. 더욱이, 더 큰 기본층은 기본 PSNR에 나타낸 것과 같은 기본층 품질에 대한 결과를 내지 않는다. 따라서 제 1 과정에서 결정된 모드는 다른 비트 예산에 대해 최선이 아니다. 따라서 모드 결정의 재수행은 데이터의 세그먼트 크기를 상당히 줄일 수 있다.
모션 정보량의 감소 외에도, 리사이즈 모듈(50)은 하나 이상의 인코딩 변수를 조정하여 데이터의 선택된 세그먼트들의 크기를 줄일 수 있다. 인코딩 변수는 데이터의 선택된 세그먼트들이 재인코딩되는 비트 레이트, 데이터의 선택된 세그먼트들이 재인코딩되는 QP 등을 포함할 수 있다. 예를 들어, 리사이즈 모듈(50)은 감소한 비트 레이트로 데이터의 세그먼트를 재인코딩하여 데이터의 선택된 세그먼트의 크기를 줄일 수 있다. 어떤 경우에는, 감소한 비트 레이트가 리사이즈 요청 내에 지정될 수도 있다. 대안으로, 레이트 제어 모듈(52)은 최대 크기와 같이 리사이즈 요청에 지정된 다른 정보를 기초로 감소한 비트 레이트를 선택할 수 있다. 대안으로 또는 추가로, 리사이즈 모듈(50)은 조정된 양자화 파라미터를 이용한 데이터 세그먼트의 재인코딩과 같이 데이터의 세그먼트를 리사이즈하기 위한 다른 조정을 할 수도 있다.
어떤 경우에는, 데이터 세그먼트의 리사이즈가 데이터 세그먼트의 품질 레벨을 목표 품질 레벨 이하로 떨어뜨릴 수도 있다. 그러나 상술한 바와 같이, 다중 모듈(20)은 데이터의 모든 세그먼트의 전체 품질이 유지되도록 재인코딩될 세그먼트들을 선택한다. 데이터의 리사이즈된 세그먼트의 품질 레벨이 인코더 모듈(40)과 관련된 최소 품질 레벨 이하로 떨어진다면, 리사이즈 모듈(50)은 데이터의 리사이즈된 세그먼트의 품질 레벨이 최소 품질 레벨보다 크거나 같도록 데이터의 세그먼트를 리사이즈할 수 있다. 예를 들어, 리사이즈 요청 내에 포함된 비트 레이트가 인코더 모듈(40)과 관련된 최소 품질 레벨 이하의 품질 레벨로 데이터의 세그먼트를 인코딩하게 한다면, 레이트 제어 모듈(52)은 데이터의 세그먼트가 최소 품질 레벨로 인코딩되게 하는 더 높은 비트 레이트를 선택할 수 있다.
인코더 모듈(40)은 다중 모듈(20)로부터 현재 수퍼프레임 내에 포함되는 데 이터의 인코딩된 세그먼트들을 전송하라는 요청을 수신한다. 다중 모듈(20)로부터의 요청에 응답하여, 인코더 모듈(40)은 다중 모듈(20)에 데이터의 인코딩된 세그먼트들을 전송한다. 상술한 바와 같이, 인코더 모듈(40)은 리사이즈를 위해 선택되지 않았던 데이터의 세그먼트들을 원래의 비트 레이트로 전송하고 리사이즈를 위해 선택되었던 데이터의 세그먼트들을 감소한 비트 레이트로 전송한다.
인코더 모듈(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). 본 개시의 기술에 따르면, 데이터의 선택된 세그먼트들과 관련된 인코더 모듈(18)은 인코딩될 모션 정보의 양을 감소시키고, 이에 따라 데이터의 세그먼트 크기를 줄인다. 예를 들어, 데이터의 선택된 세그먼트들과 관련된 인코더 모듈(18)은 2개 이상의 모션 벡터를 병합할 수 있다. 여기서 설명하는 바와 같이, 인코더 모듈(18)은 새로운 비트 예산(즉, 크기)을 기초로 픽셀들의 하나 이상의 블록의 인코딩 모드를 재선택하여 인코딩될 모션 정보의 크기를 줄일 수 있다. 인코딩 모드의 재선택은 모션 벡터들의 병합과 동일한 결과를 갖는다. 추가로, 리사이즈 모듈(50)은 하나 이상의 인코딩 변수를 조정하여 데이터의 세그먼트 크기를 더 줄일 수 있다. 리사이즈 모듈(50)은 예를 들어 감소한 비트 레이트 및 더 높은 QP로 데이터의 세그먼트를 재인코딩하여 데이터의 세그먼 트 크기를 줄일 수 있다.
인코더 모듈(40)은 다중 모듈(20)로부터 현재 수퍼프레임 내에 포함된 데이터의 세그먼트들의 인코딩된 콘텐츠를 전송하라는 요청을 수신한다(74). 다중 모듈로부터의 요청에 응답하여, 인코더 모듈(40)은 데이터의 세그먼트의 인코딩된 콘텐츠를 다중 모듈(20)에 전송한다(76). 상술한 바와 같이, 인코더 모듈(40)은 리사이즈를 위해 선택되지 않았던 데이터의 세그먼트들을 원래 크기로 전송하고, 리사이즈를 위해 선택되었던 데이터의 세그먼트들을 감소한 크기로 전송한다.
도 5는 여기서 설명한 형태들 중 하나에 따라 모션 정보의 양을 줄이는, 인코더 모듈(40)(도 3)과 같은 인코더 모듈의 예시적인 동작을 설명하는 흐름도이다. 처음에, 인코딩 모듈(48)은 데이터의 세그먼트 내의 프레임의 픽셀들의 블록을 선택한다(80). 인코딩 모듈(48)은 선택된 픽셀 블록에 대해 각 모드에 대한 모션 정보를 생성한다(82). 예를 들어, 인코딩 모듈(48)은 순방향 예측 모드, 역방향 예측 모드 및 양방향 예측 모드에 대한 모션 정보를 생성할 수 있다. 인코딩 모듈(48)은 리사이즈 동안 사용하기 위해 각 모드에 대해 생성된 모션 정보를 메모리에 저장한다(86). 인코딩 모듈(48)은 픽셀 블록에 대한 모드들 중 제 1 과정 인코딩 동안 사용될 모드를 선택한다(84). 인코딩 모듈(48)은 예를 들어 품질-레이트 최적화 규칙을 기초로 제 1 과정 인코딩 동안 픽셀들의 블록에 대한 모드들을 선택할 수 있다. 즉, 인코딩 모듈(48)은 목표 품질 레벨을 달성하기 위한 모드를 선택한다.
인코딩 모듈(48)은 데이터의 세그먼트의 프레임들 내에 픽셀 블록들이 더 있 는지를 결정한다(88). 데이터의 세그먼트의 프레임들 내에 추가 픽셀 블록이 있을 경우, 인코딩 모듈(48)은 다음 픽셀 블록을 선택하여 선택된 픽셀 블록에 대해 각 모드에 대한 모션 정보를 생성하고, 각 모드에 대해 생성된 모션 정보를 메모리에 저장하여, 픽셀 블록에 대한 모드들 중 제 1 과정 인코딩 동안 사용될 모드를 선택한다. 추가 픽셀 블록이 없다면, 인코딩 모듈은 데이터의 세그먼트에 대한 리사이즈 요청의 수신을 기다린다(90).
데이터의 세그먼트에 대한 리사이즈 요청 수신시, 리사이즈 모듈(50)은 픽셀 블록들 중 하나 이상에 대한 모드를 재선택한다(92). 리사이즈 모듈(50)은 예를 들어 단 하나의 모션 벡터를 갖는 Inter 16×16 모드를 사용하여 2개의 모션 벡터를 필요로 하는 원래의 Intra 16×8 모드를 대체하기 위해 인코딩 모드를 재선택할 수 있다. 리사이즈 모듈(50)은 제 1 과정 인코딩 동안 Inter 16×16 모드에 대해 생성되어 메모리에 저장된 모션 정보를 검색한다. 이에 따라 재인코딩 동안 모드 결정의 재수행은 하나 이상의 모션 벡터를 병합하는 것과 비슷한 결과를 갖는다. 리사이즈 모듈(50)은 품질-레이트 최적화 규칙을 기초로 모드 결정을 재선택할 수 있다. 즉, 리사이즈 모듈(50)은 데이터의 세그먼트의 품질에는 적은 영향을 주지만 비트 레이트 절약에는 상당한 영향을 주는 모드를 재선택할 수 있다.
리사이즈 모듈(50)은 감소한 모션 정보를 갖는 데이터의 세그먼트를 재인코딩한다. 이런 식으로, 리사이즈 모듈(50)은 데이터의 세그먼트와 관련된 모션 정보의 양을 줄임으로써 데이터의 세그먼트를 리사이즈한다. 상술한 바와 같이, 리사이즈 모듈(50)은 하나 이상의 인코딩 변수를 추가로 조정하여 데이터의 세그먼트 를 더 줄일 수도 있다. 예를 들어, 리사이즈 모듈(50)은 데이터의 세그먼트가 재인코딩되는 비트 레이트를 줄이거나 데이터의 세그먼트의 재인코딩 동안 사용되는 양자화 파라미터를 증가시킬 수도 있다.
여기서 설명한 교지를 기초로, 당업자들은 본원에 개시된 형태가 다른 어떤 형태들과도 독립적으로 구현될 수 있으며, 이들 형태 중 둘 이상이 다양한 방식으로 조합될 수 있는 것으로 인식해야 한다. 여기서 설명한 기술들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합으로 구현될 수 있다. 하드웨어로 구현된다면, 이 기술들은 디지털 하드웨어, 아날로그 하드웨어 또는 이들의 조합을 이용하여 실현될 수 있다. 소프트웨어로 구현된다면, 이 기술들은 컴퓨터 판독 가능 매체 상의 하나 이상의 저장된 또는 전송된 명령 또는 코드에 의해 적어도 부분적으로 실현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체, 통신 매체, 또는 이 둘 다 포함할 수도 있고, 한 장소에서 다른 장소로 컴퓨터 프로그램의 전달을 용이하게 하는 어떠한 매체도 포함할 수 있다. 저장 매체는 컴퓨터에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다.
한정이 아닌 예시로, 이러한 컴퓨터 판독 가능 매체는 동기 동적 랜덤 액세스 메모리(SDRAM)와 같은 RAM, 판독 전용 메모리(ROM), 비휘발성 랜덤 액세스 메모리(NVRAM), ROM, 전기적으로 삭제 가능한 프로그래밍 가능 판독 전용 메모리(EEPROM), EEPROM, FLASH 메모리, CD-ROM이나 다른 광 디스크 저장소, 자기 디스크 저장소 또는 다른 자기 저장 소자, 또는 명령 또는 데이터 구조 형태로 원하는 프로그램 코드를 운반 또는 저장하는데 사용될 수 있으며 컴퓨터에 의해 액세스 가 능한 임의의 유형 매체를 포함할 수 있다.
또한, 임의의 접속이 컴퓨터 판독 가능 매체로 적절히 지칭된다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 꼬임 쌍선, 디지털 가입자 회선(DSL), 또는 적외선, 라디오 및 초고주파와 같은 무선 기술을 이용하여 웹사이트, 서버 또는 다른 원격 소스로부터 전송된다면, 동축 케이블, 광섬유 케이블, 꼬임 쌍선, DSL, 또는 적외선, 라디오 및 초고주파와 같은 무선 기술이 매체의 정의에 포함된다. 여기서 사용된 것과 같은 디스크(disk 및 disc)는 콤팩트 디스크(CD), 레이저 디스크, 광 디스크, 디지털 다목적 디스크(DVD), 플로피디스크 및 블루레이 디스크를 포함하며, 디스크(disk)들은 보통 데이터를 자기적으로 재생하는 반면, 디스크(disc)들은 데이터를 광학적으로, 예를 들면 레이저에 의해 재생한다. 상기의 조합 또한 컴퓨터 판독 가능 매체의 범위 내에 포함되어야 한다.
본원에 개시된 컴퓨터 프로그램 제품은 컴퓨터 판독 가능 매체뿐 아니라 컴퓨터 판독 가능 매체가 포장되는 포장 재료를 포함하여, 컴퓨터 판독 가능 매체와 관련된 임의의 재료들 또한 포함한다. 컴퓨터 프로그램 제품의 컴퓨터 판독 가능 매체와 관련된 코드는 컴퓨터에 의해, 예를 들면, 하나 이상의 디지털 신호 프로세서(DSP), 범용 마이크로프로세서, ASIC, FPGA, 또는 다른 등가 집적 또는 이산 로직 회로 등의 하나 이상의 프로세서에 의해 실행될 수 있다. 어떤 형태에서는, 여기서 설명한 기능이 인코딩 및 디코딩을 위해 구성된 전용 소프트웨어 모듈이나 하드웨어 모듈 내에 제공될 수도 있고, 또는 조합된 CODEC에 통합될 수도 있다.
다양한 형태가 설명되었다. 이들 및 다른 형태들은 다음 청구범위 내에 있 다.

Claims (53)

  1. 디지털 멀티미디어 데이터의 스트림을 인코딩하는 방법으로서,
    상기 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈(resize)하기 위한 요청을 수신하는 단계; 및
    상기 요청에 응답하여 상기 데이터의 세그먼트에 대해 인코딩될 모션 정보의 양을 조정함으로써 상기 데이터의 세그먼트를 리사이즈하는 단계를 포함하는, 인코딩 방법.
  2. 제 1 항에 있어서,
    상기 인코딩될 모션 정보의 양을 조정함으로써 상기 데이터의 세그먼트를 리사이즈하는 단계는 상기 인코딩될 모션 정보의 양을 줄임으로써 상기 데이터의 세그먼트를 리사이즈하는 단계를 포함하는 것을 특징으로 하는 인코딩 방법.
  3. 제 2 항에 있어서,
    상기 인코딩될 모션 정보의 양을 줄이는 것은 상기 데이터의 세그먼트 내에서 적어도 하나의 프레임의 픽셀들로 이루어진 2개 이상의 블록과 관련된 모션 정보의 병합을 포함하는 것을 특징으로 하는 인코딩 방법.
  4. 제 1 항에 있어서,
    상기 데이터의 세그먼트의 제 1 과정의 인코딩 동안 생성된 정보를 기초로 픽셀들의 하나 이상의 블록들에 대한 인코딩 모드들을 재선택하는 단계를 더 포함하는 것을 특징으로 하는 인코딩 방법.
  5. 제 4 항에 있어서,
    상기 픽셀들의 블록들에 대한 인코딩 모드들을 재선택하는 단계는 상기 데이터의 세그먼트의 품질에는 가장 적은 영향을 주고 상기 데이터의 세그먼트의 비트 레이트는 가장 크게 감소시키게 되는 픽셀들의 하나 이상의 블록들에 대한 인코딩 모드들을 재선택하는 단계를 포함하는 것을 특징으로 하는 인코딩 방법.
  6. 제 4 항에 있어서,
    상기 픽셀들의 블록들에 대한 인코딩 모드들을 재선택하는 단계는 상기 픽셀들의 블록들과 관련된 인트라 모드(intra-mode)들 또는 인터 모드(inter-mode)들 중 하나를 재선택하는 단계를 포함하는 것을 특징으로 하는 인코딩 방법.
  7. 제 4 항에 있어서,
    상기 픽셀들의 블록들에 대한 인코딩 모드들을 재선택하는 단계는 픽셀들의 하나 이상의 인터 모드 블록들에 대해 순방향 예측 모드, 역방향 예측 모드 및 양방향 예측 모드 중 하나를 재선택하는 단계를 포함하는 것을 특징으로 하는 인코딩 방법.
  8. 제 1 항에 있어서,
    상기 인코딩될 모션 정보의 양의 조정은 상기 인코딩될 모션 정보의 양의 증가를 포함하는 것을 특징으로 하는 인코딩 방법.
  9. 제 1 항에 있어서,
    상기 데이터의 세그먼트를 리사이즈하는 단계는 상기 데이터의 세그먼트를 또 리사이즈하기 위해 상기 요청에 응답하여 하나 이상의 인코딩 변수들을 조정하는 단계를 포함하는 것을 특징으로 하는 인코딩 방법.
  10. 제 9 항에 있어서,
    상기 하나 이상의 인코딩 변수들을 조정하는 단계는 상기 데이터의 세그먼트를 인코딩하기 위한 비트 레이트, 상기 데이터의 세그먼트를 인코딩하기 위한 양자화 파라미터, 및 상기 데이터의 세그먼트를 인코딩하기 위한 프레임 레이트 중 하나를 조정하는 단계를 포함하는 것을 특징으로 하는 인코딩 방법.
  11. 제 1 항에 있어서,
    상기 데이터의 세그먼트는 실시간 데이터의 세그먼트들을 포함하는 것을 특징으로 하는 인코딩 방법.
  12. 디지털 멀티미디어 데이터의 스트림을 인코딩하는 장치로서,
    상기 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하기 위한 요청을 수신하는 인터페이스; 및
    상기 요청에 응답하여 상기 데이터의 세그먼트에 대해 인코딩될 모션 정보의 양을 조정함으로써 상기 데이터의 세그먼트를 리사이즈하는 리사이즈 모듈을 포함하는, 인코딩 장치.
  13. 제 12 항에 있어서,
    상기 리사이즈 모듈은 상기 인코딩될 모션 정보의 양을 줄이도록 상기 데이터의 세그먼트를 리사이즈하는 것을 특징으로 하는 인코딩 장치.
  14. 제 13 항에 있어서,
    상기 리사이즈 모듈은 상기 모션 정보의 양을 줄이기 위해 상기 데이터의 세그먼트 내에서 적어도 하나의 프레임의 픽셀들로 이루어진 2개 이상의 블록과 관련된 모션 정보를 병합하는 것을 특징으로 하는 인코딩 장치.
  15. 제 12 항에 있어서,
    상기 리사이즈 모듈은 상기 데이터의 세그먼트의 제 1 과정의 인코딩 동안 생성된 정보를 기초로 픽셀들의 하나 이상의 블록들에 대한 인코딩 모드들을 재선택하는 것을 특징으로 하는 인코딩 장치.
  16. 제 15 항에 있어서,
    상기 리사이즈 모듈은 상기 데이터의 세그먼트의 품질에는 가장 적은 영향을 주고 상기 데이터의 세그먼트의 비트 레이트는 가장 크게 감소시키게 되는 픽셀들의 하나 이상의 블록들에 대한 인코딩 모드들을 재선택하는 것을 특징으로 하는 인코딩 장치.
  17. 제 15 항에 있어서,
    상기 리사이즈 모듈은 상기 픽셀들의 블록들과 관련된 인트라 모드들 또는 인터 모드들 중 하나를 재선택하는 것을 특징으로 하는 인코딩 장치.
  18. 제 15 항에 있어서,
    상기 리사이즈 모듈은 픽셀들의 하나 이상의 인터 모드 블록들에 대해 순방향 예측 모드, 역방향 예측 모드 및 양방향 예측 모드 중 하나를 재선택하는 것을 특징으로 하는 인코딩 장치.
  19. 제 12 항에 있어서,
    상기 리사이즈 모듈은 상기 인코딩될 모션 정보의 양을 증가시키는 것을 특징으로 하는 인코딩 장치.
  20. 제 12 항에 있어서,
    상기 리사이즈 모듈은 상기 데이터의 세그먼트를 또 리사이즈하기 위해 상기 요청에 응답하여 하나 이상의 인코딩 변수들을 조정하는 것을 특징으로 하는 인코딩 장치.
  21. 제 20 항에 있어서,
    상기 리사이즈 모듈은 상기 데이터의 세그먼트를 인코딩하기 위한 비트 레이트, 상기 데이터의 세그먼트를 인코딩하기 위한 양자화 파라미터, 및 상기 데이터의 세그먼트를 인코딩하기 위한 프레임 레이트 중 하나를 조정하는 것을 특징으로 하는 인코딩 장치.
  22. 제 12 항에 있어서,
    상기 데이터의 세그먼트는 실시간 데이터의 세그먼트들을 포함하는 것을 특징으로 하는 인코딩 장치.
  23. 디지털 멀티미디어 데이터의 스트림을 인코딩하는 장치로서,
    상기 디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하기 위한 요청을 수신하는 수단; 및
    상기 요청에 응답하여 상기 데이터의 세그먼트에 대해 인코딩될 모션 정보의 양을 조정함으로써 상기 데이터의 세그먼트를 리사이즈하는 수단을 포함하는, 인코 딩 장치.
  24. 제 23 항에 있어서,
    상기 리사이즈 수단은 상기 인코딩될 모션 정보의 양을 줄이는 것을 특징으로 하는 인코딩 장치.
  25. 제 24 항에 있어서,
    상기 리사이즈 수단은 상기 데이터의 세그먼트 내에서 적어도 하나의 프레임의 픽셀들로 이루어진 2개 이상의 블록과 관련된 모션 정보를 병합하는 것을 특징으로 하는 인코딩 장치.
  26. 제 23 항에 있어서,
    상기 리사이즈 수단은 상기 데이터의 세그먼트의 제 1 과정의 인코딩 동안 생성된 정보를 기초로 픽셀들의 하나 이상의 블록들에 대한 모드들을 재선택하는 것을 특징으로 하는 인코딩 장치.
  27. 제 26 항에 있어서,
    상기 리사이즈 수단은 상기 데이터의 세그먼트의 품질에는 가장 적은 영향을 주고 상기 데이터의 세그먼트의 비트 레이트는 가장 크게 감소시키게 되는 픽셀들의 하나 이상의 블록들에 대한 인코딩 모드들을 재선택하는 것을 특징으로 하는 인 코딩 장치.
  28. 제 26 항에 있어서,
    상기 리사이즈 수단은 상기 픽셀들의 블록들과 관련된 인트라 모드들 또는 인터 모드들 중 하나를 재선택하는 것을 특징으로 하는 인코딩 장치.
  29. 제 26 항에 있어서,
    상기 리사이즈 수단은 픽셀들의 하나 이상의 인터 모드 블록들에 대해 순방향 예측 모드, 역방향 예측 모드 및 양방향 예측 모드 중 하나를 재선택하는 것을 특징으로 하는 인코딩 장치.
  30. 제 23 항에 있어서,
    상기 리사이즈 수단은 상기 인코딩될 모션 정보의 양을 증가시키는 것을 특징으로 하는 인코딩 장치.
  31. 제 23 항에 있어서,
    상기 리사이즈 수단은 상기 데이터의 세그먼트를 또 리사이즈하기 위해 상기 요청에 응답하여 하나 이상의 인코딩 변수들을 조정하는 것을 특징으로 하는 인코딩 장치.
  32. 제 31 항에 있어서,
    상기 리사이즈 수단은 상기 데이터의 세그먼트를 인코딩하기 위한 비트 레이트, 상기 데이터의 세그먼트를 인코딩하기 위한 양자화 파라미터, 및 상기 데이터의 세그먼트를 인코딩하기 위한 프레임 레이트 중 하나를 조정하는 것을 특징으로 하는 인코딩 장치.
  33. 제 23 항에 있어서,
    상기 데이터의 세그먼트는 실시간 데이터의 세그먼트들을 포함하는 것을 특징으로 하는 인코딩 장치.
  34. 디지털 비디오 데이터를 처리하기 위한 프로세서로서,
    디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하기 위한 요청을 수신하고;
    상기 요청에 응답하여 상기 데이터의 세그먼트에 대해 인코딩될 모션 정보의 양을 조정함으로써 상기 데이터의 세그먼트를 리사이즈하도록 구성되는, 프로세서.
  35. 제 34 항에 있어서,
    상기 프로세서는 상기 인코딩될 모션 정보의 양을 줄이도록 구성되는 것을 특징으로 하는 프로세서.
  36. 제 35 항에 있어서,
    상기 프로세서는 상기 데이터의 세그먼트 내에서 적어도 하나의 프레임의 픽셀들로 이루어진 2개 이상의 블록과 관련된 모션 정보를 병합하도록 구성되는 것을 특징으로 하는 프로세서.
  37. 제 34 항에 있어서,
    상기 프로세서는 상기 데이터의 세그먼트의 제 1 과정의 인코딩 동안 생성된 정보를 기초로 픽셀들의 하나 이상의 블록들에 대한 모드들을 재선택하도록 구성되는 것을 특징으로 하는 프로세서.
  38. 제 37 항에 있어서,
    상기 프로세서는 상기 데이터의 세그먼트의 품질에는 가장 적은 영향을 주고 상기 데이터의 세그먼트의 비트 레이트는 가장 크게 감소시키게 되는 픽셀들의 하나 이상의 블록들에 대한 인코딩 모드들을 재선택하도록 구성되는 것을 특징으로 하는 프로세서.
  39. 제 37 항에 있어서,
    상기 프로세서는 상기 픽셀들의 블록들과 관련된 인트라 모드들 또는 인터 모드들 중 하나를 재선택하도록 구성되는 것을 특징으로 하는 프로세서.
  40. 제 37 항에 있어서,
    상기 프로세서는 픽셀들의 하나 이상의 인터 모드 블록들에 대해 순방향 예측 모드, 역방향 예측 모드 및 양방향 예측 모드 중 하나를 재선택하도록 구성되는 것을 특징으로 하는 프로세서.
  41. 제 34 항에 있어서,
    상기 프로세서는 상기 인코딩될 모션 정보의 양을 증가시키도록 구성되는 것을 특징으로 하는 프로세서.
  42. 제 34 항에 있어서,
    상기 프로세서는 상기 데이터의 세그먼트를 또 리사이즈하기 위해 상기 요청에 응답하여 하나 이상의 인코딩 변수들을 조정하도록 구성되는 것을 특징으로 하는 프로세서.
  43. 제 42 항에 있어서,
    상기 프로세서는 상기 데이터의 세그먼트를 인코딩하기 위한 비트 레이트, 상기 데이터의 세그먼트를 인코딩하기 위한 양자화 파라미터, 및 상기 데이터의 세그먼트를 인코딩하기 위한 프레임 레이트 중 하나를 조정하도록 구성되는 것을 특징으로 하는 프로세서.
  44. 디지털 비디오 데이터를 처리하기 위한 컴퓨터 프로그램 제품으로서,
    컴퓨터 판독 가능 매체를 포함하며, 상기 컴퓨터 판독 가능 매체는 적어도 하나의 컴퓨터로 하여금,
    디지털 멀티미디어 데이터의 스트림과 관련된 데이터의 세그먼트를 리사이즈하기 위한 요청을 수신하고;
    상기 요청에 응답하여 상기 데이터의 세그먼트에 대해 인코딩될 모션 정보의 양을 조정함으로써 상기 데이터의 세그먼트를 리사이즈하게 하는 명령들을 포함하는, 컴퓨터 프로그램 제품.
  45. 제 44 항에 있어서,
    상기 컴퓨터로 하여금 인코딩될 모션 정보의 양을 조정함으로써 상기 데이터의 세그먼트를 리사이즈하게 하는 명령들은 상기 컴퓨터로 하여금 상기 인코딩될 모션 정보의 양을 줄이게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
  46. 제 45 항에 있어서,
    상기 컴퓨터로 하여금 상기 인코딩될 모션 정보의 양을 줄이게 하는 명령들은 상기 컴퓨터로 하여금 상기 데이터의 세그먼트 내에서 적어도 하나의 프레임의 픽셀들로 이루어진 2개 이상의 블록과 관련된 모션 정보를 병합하게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
  47. 제 44 항에 있어서,
    상기 컴퓨터 판독 가능 매체는 상기 컴퓨터로 하여금 상기 데이터의 세그먼트의 제 1 과정의 인코딩 동안 생성된 정보를 기초로 픽셀들의 하나 이상의 블록들에 대한 인코딩 모드들을 재선택하게 하는 명령들을 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
  48. 제 47 항에 있어서,
    상기 컴퓨터로 하여금 상기 인코딩 모드들을 재선택하게 하는 명령들은 상기 컴퓨터로 하여금 상기 데이터의 세그먼트의 품질에는 가장 적은 영향을 주고 상기 데이터의 세그먼트의 비트 레이트는 가장 크게 감소시키게 되는 픽셀들의 하나 이상의 블록들에 대한 인코딩 모드들을 재선택하게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
  49. 제 47 항에 있어서,
    상기 컴퓨터로 하여금 상기 인코딩 모드들을 재선택하게 하는 명령들은 상기 컴퓨터로 하여금 상기 픽셀들의 블록들과 관련된 인트라 모드들 또는 인터 모드들 중 하나를 재선택하게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
  50. 제 47 항에 있어서,
    상기 컴퓨터로 하여금 상기 인코딩 모드들을 재선택하게 하는 명령들은 상기 컴퓨터로 하여금 픽셀들의 하나 이상의 인터 모드 블록들에 대해 순방향 예측 모드, 역방향 예측 모드 및 양방향 예측 모드 중 하나를 재선택하게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
  51. 제 44 항에 있어서,
    상기 컴퓨터로 하여금 상기 인코딩될 모션 정보의 양을 조정하게 하는 명령들은 상기 컴퓨터로 하여금 상기 인코딩될 모션 정보의 양을 증가시키게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
  52. 제 44 항에 있어서,
    상기 컴퓨터 판독 가능 매체는 상기 컴퓨터로 하여금 상기 데이터의 세그먼트를 또 리사이즈하기 위해 상기 요청에 응답하여 하나 이상의 인코딩 변수들을 조정하게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
  53. 제 52 항에 있어서,
    상기 컴퓨터로 하여금 상기 하나 이상의 인코딩 변수들을 조정하게 하는 명령들은 상기 컴퓨터로 하여금 상기 데이터의 세그먼트를 인코딩하기 위한 비트 레이트, 상기 데이터의 세그먼트를 인코딩하기 위한 양자화 파라미터, 및 상기 데이 터의 세그먼트를 인코딩하기 위한 프레임 레이트 중 하나를 조정하게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
KR1020087021253A 2006-01-31 2007-01-31 멀티미디어 콘텐츠 리사이즈 방법 및 시스템 KR20080102139A (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 (1)

Publication Number Publication Date
KR20080102139A true KR20080102139A (ko) 2008-11-24

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 Before (1)

Application Number Title Priority Date Filing Date
KR1020087021282A KR100987232B1 (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)

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
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
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
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
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
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)

* 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
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

Also Published As

Publication number Publication date
US20070204067A1 (en) 2007-08-30
KR20080102141A (ko) 2008-11-24
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
KR20080102139A (ko) 멀티미디어 콘텐츠 리사이즈 방법 및 시스템
US8885470B2 (en) Methods and systems for resizing multimedia content based on quality and rate information
KR100988177B1 (ko) 품질 및 레이트 정보에 기초하여 멀티미디어 콘텐츠를 리사이징하기 위한 방법 및 시스템
EP3338455B1 (en) System and method for managing segment delivery and bandwidth responsive to encoding complexity metrics
Khan et al. Quality of experience-driven adaptation scheme for video applications over wireless networks
Chen et al. Recent advances in rate control for video coding
US8477844B2 (en) Method and apparatus for transmitting video
US20170347159A1 (en) Qoe analysis-based video frame management method and apparatus
US20130304934A1 (en) Methods and systems for controlling quality of a media session
EP2652953B1 (en) Method and apparatus for hybrid transcoding of a media program
US20160028594A1 (en) Generating and Utilizing Contextual Network Analytics
CN114339269B (zh) 视频传输方法、组播管理平台、终端以及存储介质
KR20130135268A (ko) 비디오 부호화 방법 및 장치
Singh et al. Optimising QoE for scalable video multicast over WLAN
Nguyen et al. CADLAD: Device-aware bitrate ladder construction for HTTP adaptive streaming
Kumar et al. Double sarsa based machine learning to improve quality of video streaming over HTTP through wireless networks
Ozcelebi et al. Minimum delay content adaptive video streaming over variable bitrate channels with a novel stream switching solution
Shyh-Fang Video Classification and Adaptive QoP/QoS Control for Multiresolution Video Applications on IPTV
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
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
NORF Unpaid initial registration fee