KR20090125150A - 획득 및 기본 계층과 확장 계층 밸런싱을 위해 i 프레임을 적응적으로 결정하는 시스템 및 방법 - Google Patents

획득 및 기본 계층과 확장 계층 밸런싱을 위해 i 프레임을 적응적으로 결정하는 시스템 및 방법 Download PDF

Info

Publication number
KR20090125150A
KR20090125150A KR1020097020254A KR20097020254A KR20090125150A KR 20090125150 A KR20090125150 A KR 20090125150A KR 1020097020254 A KR1020097020254 A KR 1020097020254A KR 20097020254 A KR20097020254 A KR 20097020254A KR 20090125150 A KR20090125150 A KR 20090125150A
Authority
KR
South Korea
Prior art keywords
frame
encoded
size
data packet
layer data
Prior art date
Application number
KR1020097020254A
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 KR20090125150A publication Critical patent/KR20090125150A/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/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
    • 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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 멀티미디어 데이터를 프로세싱하는 장치, 시스템 및 방법을 포함한다. 멀티미디어 데이터를 프로세싱하는 방법은 멀티미디어 데이터의 프레임을 I 프레임, 채널 스위치 프레임 및 P 프레임으로서 인코딩하는 단계, 및 인코딩된 I 프레임의 사이즈 및 인코딩된 채널 스위치 프레임과 인코딩된 P 프레임의 사이즈가 제 1 조건을 충족하는 경우 인코딩된 I 프레임을 선택하는 단계를 포함할 수도 있다. 멀티미디어 데이터를 프로세싱하는 장치는 멀티미디어 데이터의 프레임을 I 프레임, 채널 스위치 프레임 및 P 프레임으로서 인코딩하고, 인코딩된 I 프레임의 사이즈 및 인코딩된 채널 스위치 프레임과 인코딩된 P 프레임의 사이즈가 제 1 조건을 충족하는 경우 인코딩된 I 프레임을 선택하는 인코더를 포함할 수도 있다.
멀티미디어 데이터, I 프레임, 채널 스위치 프레임, P 프레임

Description

획득 및 기본 계층과 확장 계층 밸런싱을 위해 I 프레임을 적응적으로 결정하는 시스템 및 방법{SYSTEMS AND METHODS FOR ADAPTIVELY DETERMINING I FRAMES FOR ACQUISITION AND BASE AND ENHANCEMENT LAYER BALANCING}
35 U.S.C.§119 에 따른 우선권 주장
본 특허출원은 2007년 3월 1일자로 출원되고, 본 특허출원의 양수인에게 양도되며 여기에 참조에 의해 명백히 포함되는, 발명의 명칭이 "SYSTEMS AND METHODS FOR ADAPTIVELY DECIDING I FRAMES FOR ACQUISITION AND BASE AND ENHANCEMENT LAYER BALANCING" 인 가출원번호 제60/892,337호에 대해 우선권 주장한다.
배경
분야
본 발명은 오디오 데이터, 비디오 데이터 또는 양자를 포함할 수도 있는 멀티미디어 데이터의 인코딩에 관한 것이다. 더 상세하게는, 본 발명은 획득 및 기본 계층 (base layer) 과 확장 계층 (enhancement layer) 밸런싱을 위해 I 프레임을 적응적으로 결정하는 것에 관한 것이다.
배경
멀티미디어 데이터는 오디오 데이터, 비디오 데이터 또는 오디오 데이터와 비디오 데이터의 조합일 수 있다. 멀티미디어 데이터는 하나 이상의 프레임들 또는 픽쳐들을 나타내는 다수의 비트들을 포함한다. 멀티미디어 데이터는 I 프 레임 (인트라-코딩된 프레임) 으로 시작되며, 그 다음에는 하나 이상의 B 프레임들 (양방향 프레임들) 또는 P 프레임들 (예측 프레임들) 이 후속된다. 일반적으로, I 프레임은 프레임을 디스플레이하기 위한 데이터를 모두 저장하고, B 프레임은 하나 이상의 선행 및/또는 후속 프레임들 내의 데이터에 의존하며 (예를 들어, 단지 선행 프레임으로부터 변경되거나 후속 프레임 내의 데이터와 상이한 데이터만을 포함할 수도 있으며), P 프레임은 선행 프레임으로부터 변경된 데이터를 포함한다. 통상의 사용에서, I 프레임들은 인코딩된 멀티미디어 데이터 내에 B 프레임들 및 P 프레임들과 함께 산재된다. 사이즈 (예를 들어, 프레임을 인코딩하는데 이용된 비트들의 개수) 의 관점에서, I 프레임들은 통상적으로 P 프레임들보다 크고, P 프레임들은 통상적으로 B 프레임들보다 크다.
멀티미디어 데이터는 상이한 샷 (shot) 들 (또는 장면들) 로 분할될 수 있다. 샷은 일 액션에 대해 연속적인 비디오 프레임들을 갖는 비디오 시퀀스이다. 2 개의 연속되는 프레임들이 상이한 이미지들 또는 장면들을 생성할 때 장면 전환 (scene change) 이 발생한다. 장면 전환은 다수의 장면 전환 알고리즘들을 이용하여 검출될 수 있으며, 멀티미디어 데이터의 효율적인 인코딩의 중요한 부분일 수 있다. 장면 전환은 일련의 프레임들 내의 프레임이 이전의 프레임과 비교할 때 상이한 장면을 나타내는 데이터를 갖는 경우에 발생한다. 일반적으로, 일련의 프레임들은 임의의 2 개 또는 3 개의 (또는 그 이상의) 인접한 프레임들에서 현저한 전환을 갖지 않을 수도 있으며, 또는 느린 전환 또는 빠른 전환이 존재할 수도 있다.
장면이 현저하게 전환되고 있지 않을 때, 다수의 B 프레임들 및 P 프레임들에 의해 후속되는 I 프레임은 멀티미디어 데이터의 후속 디코딩 및 디스플레이가 시각적으로 허용가능하도록 비디오를 충분히 인코딩할 수 있다. 그러나, 장면이 갑자기 또는 천천히, 현저하게 전환되고 있을 때, 부가적인 I 프레임들 및 덜 예측적인 인코딩 (B 프레임들 및 P 프레임들) 이 후속하여 디코딩된 시각적으로 허용가능한 결과들을 생성하는데 이용된다. 갑작스런 장면 전환으로서 분류된 프레임의 콘텐츠가 이전 프레임의 콘텐츠와 상이하기 때문에, 갑작스런 장면 전환 프레임은 통상적으로 I 프레임으로서 인코딩되어야 한다. 그러나, 장면 전환 검출이 항상 정확한 것은 아니기 때문에, 멀티미디어 데이터를 I 프레임으로서 인코딩할지, B 프레임으로서 인코딩할지 또는 P 프레임으로서 인코딩할지를 결정하는데 있어서의 향상이 코딩 효율을 향상 (즉, 인코딩되는 비트들의 개수를 감소) 시킬 수 있다.
개요
본 발명은 멀티미디어 데이터를 프로세싱하는 장치, 시스템 및 방법을 포함한다. 멀티미디어 데이터를 프로세싱하는 방법은 멀티미디어 데이터의 프레임을 I 프레임, 채널 스위치 프레임, 및 P 프레임으로서 인코딩하는 단계, 및 인코딩된 I 프레임의 사이즈 및 인코딩된 채널 스위치 프레임과 인코딩된 P 프레임의 사이즈가 제 1 조건을 충족하는 경우 인코딩된 I 프레임을 선택하는 단계를 포함할 수도 있다.
멀티미디어 데이터를 프로세싱하는 장치는 멀티미디어 데이터의 프레임을 I 프레임, 채널 스위치 프레임, 및 P 프레임으로서 인코딩하고 인코딩된 I 프레임의 사이즈 및 인코딩된 채널 스위치 프레임과 인코딩된 P 프레임의 사이즈가 제 1 조건을 충족하는 경우 인코딩된 I 프레임을 선택하는 인코더를 포함할 수도 있다.
멀티미디어 데이터를 프로세싱하는 장치는 멀티미디어 데이터의 프레임을 I 프레임, 채널 스위치 프레임, 및 P 프레임으로서 인코딩하는 수단을 포함할 수도 있다. 상기 인코딩하는 수단은 또한 멀티미디어 데이터의 프레임을 B 프레임으로서 인코딩하고, 인코딩된 I 프레임 또는 인코딩된 B 프레임 중 적어도 하나의 프레임을 이용하여 제 1 기본 계층 데이터 패킷 및 제 1 확장 계층 데이터 패킷을 생성하고, 인코딩된 P 프레임 또는 인코딩된 채널 스위치 프레임 중 적어도 하나의 프레임을 이용하여 제 2 기본 계층 데이터 패킷 및 제 2 확장 계층 데이터 패킷을 생성할 수도 있다. 이 장치는 또한 인코딩된 I 프레임의 사이즈 및 인코딩된 채널 스위치 프레임과 인코딩된 P 프레임의 사이즈가 제 1 조건을 충족하는 경우 인코딩된 I 프레임을 선택하는 수단을 포함할 수도 있다.
머신-판독가능 매체가 멀티미디어 데이터를 프로세싱하는 명령들을 포함할 수도 있으며, 명령들은 실행 시에 머신으로 하여금 멀티미디어 데이터의 프레임을 I 프레임, 채널 스위치 프레임, 및 P 프레임으로서 인코딩하고 인코딩된 I 프레임의 사이즈 및 인코딩된 채널 스위치 프레임과 인코딩된 P 프레임의 사이즈가 제 1 조건을 충족하는 경우 인코딩된 I 프레임을 선택하도록 한다.
도면의 간단한 설명
본 발명의 특징들, 목적들 및 이점들은 도면들과 관련하여 얻어진 이하 기술 된 상세한 설명으로부터 보다 명백해질 것이다.
도 1 은 멀티미디어 데이터를 인코딩 및 디코딩하는 시스템의 블록도이다.
도 2 는 비계층화 모드에서 동작하도록 구성된 인코딩 장치의 블록도이다.
도 3a 및 도 3b 는 비계층화 모드에서 획득을 위한 멀티미디어 데이터를 선택하는 방법의 흐름도이다.
도 4 는 계층화 모드에서 동작하도록 구성된 인코딩 장치의 블록도이다.
도 5a, 도 5b 및 도 5c 는 계층화 모드에서 획득을 위한 멀티미디어 데이터를 선택하는 방법의 흐름도이다.
도 6 은 인코딩 방법에 기초한 일 예시적인 기본 계층 구성 및 확장 계층 구성이다.
도 7 은 다수의 인코딩된 프레임들에 대한 인코딩 순서, 디스플레이 순서, P 프레임 사이즈 및 B 프레임 사이즈를 나타낸 테이블이다.
도 8 은 표준 I 프레임 인코딩 방법을 강요할 때와 표준 I 프레임 인코딩 방법을 강요하지 않을 때 기본 계층 및 확장 계층에서 생성된 바이트들의 개수를 나타낸 테이블이다.
상세한 설명
본 발명의 다양한 특징들에 대한 실시형태들을 구현하는 장치, 시스템 및 방법이 이제 도면을 참조하여 설명될 것이다. 본 발명의 범위를 제한하지 않고 본 발명의 일부 실시형태들을 예시하기 위해 도면들 및 관련 설명들이 제공된다. 도면들 전반에 걸쳐, 참조된 엘리먼트들 간의 일치를 나타내기 위해 참조 번호들 이 재사용된다. 또한, 각 참조 번호의 첫번째 숫자는 엘리먼트가 처음 나타난 도면을 나타낸다.
도 1 은 멀티미디어 (예를 들어, 비디오, 오디오 또는 양자) 데이터를 인코딩 및 디코딩하는 시스템 (100) 의 블록도이다. 멀티미디어 데이터는 일련의 픽쳐들 또는 비디오 프레임들의 형태로 존재할 수도 있다. 시스템 (100) 은 멀티미디어 데이터를 인코딩 (예를 들어, 압축) 및 디코딩 (예를 들어, 압축해제) 하도록 구성될 수도 있다. 시스템 (100) 은 서버 (105), 디바이스 (110) 및 서버 (105) 를 디바이스 (110) 에 접속하는 통신 채널 (115) 을 포함할 수도 있다. 시스템 (100) 은 멀티미디어 데이터를 인코딩 및 디코딩하기 위한 후술된 방법들을 설명하는데 이용될 수도 있다. 시스템 (100) 은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 또는 이들의 임의의 조합을 이용하여 구현될 수도 있다. 본 발명의 사상 및 범위를 여전히 유지하면서, 하나 이상의 엘리먼트들이 재배열 및/또는 결합될 수 있으며, 다른 시스템들이 시스템 (100) 대신에 이용될 수 있다. 본 발명의 사상 및 범위를 여전히 유지하면서, 부가적인 엘리먼트들이 시스템 (100) 에 부가될 수도 있고 또는 시스템 (100) 으로부터 제거될 수도 있다.
서버 (105) 는 프로세서 (120), 저장 매체 (125), 인코더 (130) 및 I/O 디바이스 (135) (예를 들어, 트랜시버) 를 포함할 수도 있다. 프로세서 (120) 및/또는 인코더 (130) 는 일련의 픽쳐들 또는 비디오 프레임들의 형태의 멀티미디어 데이터를 수신하도록 구성될 수도 있다. 프로세서 (120) 및/또는 인코더 (130) 는 ARM (Advanced RISC Machine), 제어기, 디지털 신호 프로세서 (DSP), 마이크로프로세서, 또는 멀티미디어 데이터를 프로세싱할 수 있는 임의의 다른 디바이스일 수도 있다. 프로세서 (120) 및/또는 인코더 (130) 는 멀티미디어 데이터를 저장을 위한 저장 매체 (125) 로 송신할 수도 있고/있거나 멀티미디어 데이터를 인코딩할 수도 있다. 저장 매체 (125) 는 또한 서버 (105) 의 동작들 및 기능들을 제어하기 위해 프로세서 (120) 및/또는 인코더 (130) 에 의해 이용되는 컴퓨터 명령들을 저장할 수도 있다. 저장 매체 (125) 는 멀티미디어 데이터를 저장하기 위한 하나 이상의 디바이스들 및/또는 정보를 저장하기 위한 다른 머신 판독가능 매체들을 나타낼 수도 있다. "머신 판독가능 매체" 란 용어는 랜덤 액세스 메모리 (RAM), 플래시 메모리, 판독-전용 메모리 (ROM), EPROM, EEPROM, 레지스터, 하드 디스크, 착탈식 디스크, CD-ROM, DVD, 무선 채널들, 및 명령(들) 및/또는 데이터를 저장, 수용 또는 운반할 수 있는 다양한 다른 매체들을 포함하지만 이들로 제한되지 않는다.
인코더 (130) 는 저장 매체 (125) 로부터 수신된 컴퓨터 명령들을 이용하여 멀티미디어 데이터의 병렬과 직렬 양자의 프로세싱 (예를 들어, 인코딩) 을 수행하도록 구성될 수도 있다. 컴퓨터 명령들은 이하의 방법들에서 설명된 것처럼 구현될 수도 있다. 일단 멀티미디어 데이터가 인코딩되면, 인코딩된 멀티미디어 데이터는 통신 채널 (115) 을 통한 디바이스 (110) 로의 송신을 위해 I/O 디바이스 (135) 로 전송될 수도 있다.
디바이스 (110) 는 프로세서 (140), 저장 매체 (145), 디코더 (150), I/O 디 바이스 (155) (예를 들어, 트랜시버), 및 디스플레이 디바이스 또는 스크린 (160) 을 포함할 수도 있다. 디바이스 (110) 는 컴퓨터, 디지털 비디오 레코더, 핸드셋 디바이스 (예를 들어, 셀폰, 모바일 유닛, 블랙베리, 아이폰 등), 셋톱 박스, 텔레비전, 및 멀티미디어 데이터를 수신, 프로세싱 (예를 들어, 압축해제) 및/또는 디스플레이할 수 있는 다른 디바이스들일 수도 있다. I/O 디바이스 (155) 는 인코딩된 멀티미디어 데이터를 수신하고 인코딩된 멀티미디어 데이터를 저장 매체 (145) 로 및/또는 압축해제를 위한 디코더 (150) 로 전송한다. 디코더 (150) 는 인코딩된 멀티미디어 데이터를 이용하여 멀티미디어 데이터를 재생하도록 구성된다. 일단 디코딩되면, 멀티미디어 데이터는 저장 매체 (145) 에 저장될 수 있다. 디코더 (150) 는 저장 매체 (145) 로부터 검색된 컴퓨터 명령들을 이용하여 인코딩된 멀티미디어 데이터의 병렬과 직렬 양자의 프로세싱 (예를 들어, 압축해제) 을 수행하여 일련의 픽쳐들 또는 비디오 프레임들을 재생하도록 구성될 수도 있다. 컴퓨터 명령들은 이하의 방법들에서 설명된 것처럼 구현될 수도 있다. 프로세서 (140) 는 저장 매체 (145) 및/또는 디코더 (150) 로부터 멀티미디어 데이터를 수신하고 그 멀티미디어 데이터를 디스플레이 디바이스 (160) 상에 디스플레이하도록 구성될 수도 있다. 저장 매체 (145) 는 또한 디바이스 (110) 의 동작들 및 기능들을 제어하기 위해 프로세서 (140) 및/또는 디코더 (150) 에 의해 이용되는 컴퓨터 명령들을 저장할 수도 있다.
통신 채널 (115) 은 인코딩된 멀티미디어 데이터를 서버 (105) 와 디바이스 (110) 사이에서 송신하는데 이용될 수도 있다. 통신 채널 (115) 은 유선 접속 또는 유선 네트워크 및/또는 무선 접속 또는 무선 네트워크일 수도 있다. 예를 들어, 통신 채널 (115) 은 인터넷, 동축 케이블들, 광섬유 회선들, 위성 링크들, 지상 링크들, 무선 링크들, 신호들을 전파할 수 있는 다른 매체, 및 이들의 임의의 조합을 포함할 수 있다.
도 2 는 비계층화 모드 (nonlayered mode) 에서 동작하도록 구성된 인코딩 장치 (200) 의 블록도이다. 인코딩 장치 (200) 는 도 1 의 인코더 (130) 대신에 대용될 수도 있고 또는 도 1 의 인코더의 부분일 수도 있다. 비계층화 모드에서, 단일 계층이 멀티미디어 데이터를 위해 이용되고 프레임들이 패킷 포맷 (예를 들어, 수퍼프레임) 으로 그룹화될 수도 있다. 인코딩 장치 (200) 는 인코더 (205) 및 비교 모듈 (210) 을 포함할 수도 있다. 인코더 (205) 와 비교 모듈 (210) 사이에 커플링된 피드백 루프 (215) 가 멀티-패스 (multi-pass) (예를 들어, 2 패스) 인코딩 및 트랜스코딩을 허용한다. 멀티-패스 인코딩 또는 트랜스코딩에서, 인코더 (205) 는 두번째 패스 인코딩 또는 재인코딩 전에 각 프레임의 복잡도에 관한 정보를 갖는다. 인코더 (205) 에 커플링된 피드 포워드 루프 (220) 는 인코딩된 멀티미디어 데이터가 두번째 및 후속 패스 동안 비교 모듈 (210) 을 스킵하는 것을 허용한다.
도 3a 및 도 3b 는 비계층화 모드에서 획득을 위한 멀티미디어 데이터를 선택하는 방법의 흐름도이다. 도 2, 도 3a 및 도 3b 를 참조하면, 멀티미디어 데이터가 인코더 (205) 에 의해 비트들의 스트림의 형태로 수신된다 (블록 305). 비트들의 스트림은 하나 이상의 수퍼프레임들로서 그룹화 또는 조직화될 수도 있 다. 일 실시형태에서, 수퍼프레임은 약 1 초의 멀티미디어 데이터와 동등하다. 예를 들어, 각각의 수퍼프레임은 멀티미디어 데이터의 프레임 레이트에 따라 1, 12, 15, 24, 30 또는 60 개의 프레임들 또는 다른 개수의 프레임들을 가질 수도 있다. "프레임" 이란 용어는 본 개시물에서는 "수퍼프레임" 이란 용어로 대체될 수 있으며 그 용어들은 본 개시물 전반에 걸쳐 상호교환가능하게 사용될 수 있다. "사이즈" 란 용어는 본 개시물에서 "수퍼프레임 사이즈" 란 용어로 대체될 수 있으며 그 용어들은 본 개시물 전반에 걸쳐 상호교환가능하게 사용될 수 있다. 또한, 여기에 설명된 장치 및 방법은 블록, 매크로블록, 프레임 및 수퍼프레임과 같이 멀티미디어 데이터의 임의의 부분에 대해 수행될 수 있다.
인코더 (205) 는 수퍼프레임 내의 하나 이상의 프레임들을 선택하여 인코딩한다. 일 실시형태에서, 인코더 (205) 는 장면 전환 검출 알고리즘을 이용하여 I 프레임 인코딩 및 채널 스위치 프레임 인코딩을 위한 획득 포인트 (acquisition point) 인 멀티미디어 데이터의 각각의 수퍼 프레임에 대한 하나 이상의 프레임들 (예를 들어, 하나 이상의 장면 전환 프레임들) 을 검출 및 선택할 수도 있다 (블록 310). I 프레임 인코딩을 위해 선택된 프레임은 채널 스위치 프레임 인코딩을 위해 선택된 프레임과 동일할 수도 있고 동일하지 않을 수도 있다. 예를 들어, 프레임 1 이 I 프레임 인코딩을 위해 선택될 수도 있고 프레임 7 이 채널 스위치 프레임 인코딩을 위해 선택될 수도 있다. 이 예에서, 병치된 P 프레임은 프레임 1 이다. 따라서, 인코더 (205) 는 프레임 1 을 I 프레임 및 P 프레임으로서, 그리고 프레임 7 을 채널 스위치 프레임으로서 인코딩한다. 다른 실시형태 에서, 인코더 (205) 는 I 프레임 인코딩, 채널 스위치 프레임 인코딩 및 P 프레임 인코딩을 위해 수퍼프레임 내의 동일 프레임 (예를 들어, 프레임 1) 을 선택할 수도 있다.
이하 추가 설명한 것처럼, 선택된 프레임은 다수의 상이한 인코딩 알고리즘들을 이용하여 인코딩될 수도 있다. 예를 들어, 선택된 프레임은 3 개의 상이한 인코딩 알고리즘들을 이용하여 인코딩되어 표준 화질 (normal quality) I 프레임, 채널 스위치 프레임 (예를 들어, 저화질 I 프레임), 및 P 프레임과 같은 인코딩된 멀티미디어 데이터를 생성할 수도 있다. 채널 스위치 프레임 및 표준 화질 P 프레임은 획득 포인트들로서 병치된다. 인코더 (205) 는 예를 들어, 코딩 효율, 획득 포인트, 및 패킷화에 기초하여 하나 이상의 선택된 프레임들을 I 프레임으로서 인코딩할지, 채널 스위치 프레임으로서 인코딩할지 및 P 프레임으로서 인코딩할지 여부 및 인코딩할 시기를 적응적으로 결정한다.
인코더 (205) 는 멀티미디어 데이터 (예를 들어, 하나 이상의 선택된 프레임들) 를 I 프레임으로서 인코딩한다 (블록 315). 일 실시형태에서, 인코더 (205) 는 I 프레임 인코딩 알고리즘을 이용하여 하나 이상의 선택된 프레임들을 표준 화질 I 프레임으로서 인코딩한다. 예를 들어, 표준 화질 I 프레임은 비팅 효과 (beating effect) 를 회피하기 위해 이전의 이웃하는 프레임과 동일하거나 유사한 화질을 가질 수 있으며 또는 레이트 제어 알고리즘에 기초하는 화질을 가질 수 있다. I 프레임 인코딩 알고리즘은 표준 화질을 갖는 인코딩된 I 프레임을 생성하는데 이용된다.
인코더 (205) 는 멀티미디어 데이터 (예를 들어, 하나 이상의 선택된 프레임들) 를 채널 스위치 프레임으로서 인코딩한다 (블록 320). 일 실시형태에서, 인코더 (205) 는 저화질 I 프레임 인코딩 알고리즘을 이용하여 하나 이상의 선택된 프레임들을 채널 스위치 프레임 또는 저화질 I 프레임으로서 인코딩한다. 저화질 I 프레임 인코딩 알고리즘을 이용함으로써, 채널 스위치 프레임의 양자화 파라미터 (QP) 가 병치된 P 프레임의 QP 로부터 소정값만큼 증가될 수 있다. 채널 스위치 프레임 인코딩 알고리즘은 저화질을 갖는 인코딩된 I 프레임을 생성하는데 이용된다.
인코더 (205) 는 멀티미디어 데이터 (예를 들어, 하나 이상의 선택된 프레임들) 를 P 프레임으로서 인코딩한다 (블록 325). 일 실시형태에서, 인코더 (205) 는 P 프레임 인코딩 알고리즘을 이용하여 하나 이상의 선택된 프레임들을 표준 화질 P 프레임으로서 인코딩한다. 예를 들어, 표준 화질 P 프레임은 비팅 효과를 회피하기 위해 이전의 이웃하는 프레임과 동일하거나 유사한 화질을 가질 수 있으며 또는 레이트 제어 알고리즘에 기초하는 화질을 가질 수 있다. P 프레임 인코딩 알고리즘은 표준 화질을 갖는 인코딩된 P 프레임을 생성하는데 이용된다. 블록 328 에서, 인코더 (205) 는 멀티미디어 데이터의 하나 이상의 선택되지 않은 프레임들 (예를 들어, 수퍼프레임 내의 나머지 프레임들) 을 P 프레임 또는 B 프레임으로서 인코딩한다.
멀티미디어 데이터 (예를 들어, 하나 이상의 선택된 프레임들) 에 대한 효율적인 인코딩 알고리즘을 결정하기 위하여, 인코더 (205) 는 인코딩된 I 프레임의 사이즈, 인코딩된 채널 스위치 프레임의 사이즈 및 인코딩된 P 프레임의 사이즈를 결정한다 (블록 330). 블록 330 은 인코딩된 I 프레임의 사이즈, 인코딩된 채널 스위치 프레임의 사이즈 및 인코딩된 P 프레임의 사이즈가 블록 315, 블록 320 및 블록 325 의 인코딩 프로세스들 동안 결정되는 경우 스킵될 수도 있다.
도 3a 에 도시한 것처럼 블록 315, 블록 320, 블록 325 및 블록 328 이 스킵될 수도 있다. 블록 315, 블록 320, 블록 325 및 블록 328 이 스킵되는 경우, 인코더 (205) 는 스킵 플래그를 인코더 (205) 가 멀티미디어 데이터의 인코딩을 스킵했다는 것을 나타내는 1 로 설정한다 (블록 333). 블록 315, 블록 320, 블록 325 및 블록 328 이 스킵되는 경우, 인코더 (205) 는 I 프레임으로서 인코딩한 경우의 하나 이상의 선택된 프레임들의 사이즈, 채널 스위치 프레임으로서 인코딩한 경우의 하나 이상의 선택된 프레임들의 사이즈, 및 P 프레임으로서 인코딩한 경우의 하나 이상의 선택된 프레임들의 사이즈를 추정한다 (블록 330). 일 실시형태에서, 인코더 (205) 에 의해 멀티미디어 데이터 (예를 들어, 하나 이상의 선택된 프레임들) 에 대해 사전 프로세싱이 수행되어 공간 복잡도 및 시간 복잡도에 기초하여 멀티미디어 데이터의 사이즈가 추정된다. 멀티미디어 데이터의 복잡도 메트릭은 I 프레임 인코딩, 채널 스위치 프레임 인코딩, 및 P 프레임 인코딩이 멀티미디어 데이터에 대해 수행되었을 경우 인코더 (205) 가 멀티미디어 데이터의 사이즈를 추정하는 것을 허용한다.
일단 사이즈가 결정 또는 추정되면, 비교 모듈 (210) 은 인코딩된 채널 스위치 프레임에 인코딩된 P 프레임을 더한 사이즈를 인코딩된 I 프레임의 사이즈와 비 교한다 (블록 335). 표준 화질 I 프레임의 사이즈를 저화질 I 프레임과 표준 화질 P 프레임의 사이즈와 비교함으로써, 비교 모듈 (210) 은 선택된 프레임에 대한 가장 효율적인 인코딩 알고리즘을 선택한다. 일 실시형태에서, 비교 모듈 (210) 은 인코딩된 채널 스위치 프레임에 인코딩된 P 프레임을 더한 수퍼프레임 사이즈를 인코딩된 I 프레임의 수퍼프레임 사이즈와 비교할 수도 있다. 비교 모듈 (210) 은 선택된 프레임에 대한 인코딩 코드를 인코더 (205) 에 송신할 수도 있다. 인코딩 코드는 선택된 프레임에 대해 이용할 인코딩의 타입을 나타낸다.
블록 340 에서, 인코더 (205) 는 스킵 플래그가 1 과 같은지 여부를 결정한다. 스킵 플래그가 1 과 같은 경우, 인코더 (205) 는 인코딩이 스킵되었기 때문에 하나 이상의 선택된 프레임들을 인코딩해야 한다. 인코더 (205) 는 I 프레임의 사이즈가 채널 스위치 프레임에 병치된 P 프레임을 더한 사이즈보다 작은 경우 하나 이상의 선택된 프레임들을 I 프레임 인코딩을 이용하여 (즉, 표준 화질 I 프레임으로서) 인코딩한다 (블록 345). 인코더 (205) 는 채널 스위치 프레임에 P 프레임을 더한 사이즈가 I 프레임의 사이즈보다 작은 경우 하나 이상의 선택된 프레임들을 채널 스위치 프레임 인코딩을 이용하고 (즉, 저화질 I 프레임으로서) P 프레임 인코딩을 이용하여 (즉, 표준 화질 P 프레임으로서) 인코딩한다 (블록 350). 채널 스위치 프레임 및 표준 화질 P 프레임은 획득 포인트들로서 병치된다. 따라서, 인코더 (205) 는 최소량의 비트들 또는 바이트들을 생성하는 인코딩 방법을 선택한다. 블록 355 에서, 인코더 (205) 는 멀티미디어 데이터의 하나 이상의 선택되지 않은 프레임들 (예를 들어, 수퍼프레임 내의 나머지 프레 임들) 을 P 프레임 또는 B 프레임으로서 인코딩한다.
스킵 플래그가 1 과 같지 않은 경우, 인코더 (205) 는 인코딩이 블록 315, 블록 320, 블록 325 및 블록 328 에서 수행되었기 때문에 하나 이상의 선택된 프레임들을 인코딩할 필요가 없다. 인코더 (205) 는 인코딩된 I 프레임의 사이즈가 인코딩된 채널 스위치 프레임에 인코딩된 P 프레임을 더한 사이즈보다 작은 경우 인코딩된 I 프레임을 선택한다 (블록 360). 인코딩된 I 프레임이 선택되는 경우, 인코더 (205) 는 인코딩된 채널 스위치 프레임 및 인코딩된 P 프레임을 폐기할 수도 있다. 인코더 (205) 는 인코딩된 채널 스위치 프레임에 인코딩된 P 프레임을 더한 사이즈가 인코딩된 I 프레임의 사이즈보다 작은 경우 인코딩된 채널 스위치 프레임 및 인코딩된 P 프레임을 선택한다 (블록 365). 인코딩된 채널 스위치 프레임 및 인코딩된 P 프레임이 선택되는 경우, 인코더 (205) 는 인코딩된 I 프레임을 폐기할 수도 있다.
도 4 는 계층화 모드 (layered mode) 에서 동작하도록 구성된 인코딩 장치 (400) 의 블록도이다. 계층화 모드에서는, 기본 계층 및 확장 계층이 멀티미디어 데이터를 프로세싱하기 위해 이용된다. 인코딩 장치 (400) 는 인코더 (405), 밸런싱/패딩 모듈 (410), 비교 모듈 (415) 및 패킷화 모듈 (420) 을 포함할 수도 있다. 인코더 (405) 와 비교 모듈 (415) 사이에 커플링된 피드백 루프 (425) 는 멀티-패스 (예를 들어, 2 패스) 인코딩 및 트랜스코딩을 허용한다. 멀티-패스 인코딩 또는 트랜스코딩에서, 인코더 (405) 는 두번째 패스 인코딩 또는 재인코딩 전에 각 프레임의 복잡도에 관한 정보를 갖는다. 인코딩 장치 (400) 는 도 1 의 인코더 (130) 대신에 대용될 수도 있고 또는 도 1 의 인코더 (130) 의 부분일 수도 있다.
도 5a, 도 5b 및 도 5c 는 계층화 모드에서 획득을 위한 멀티미디어 데이터를 선택하는 방법의 흐름도이다. 도 4, 도 5a, 도 5b 및 도 5c 를 참조하면, 멀티미디어 데이터가 인코더 (405) 에 의해 비트들의 스트림의 형태로 수신된다 (블록 505). 비트들의 스트림은 하나 이상의 수퍼프레임들로서 그룹화 또는 조직화될 수도 있다. 인코더 (405) 는 수퍼프레임 내의 장면 전환 프레임을 선택하여 인코딩한다. 일 실시형태에서, 인코더 (405) 는 장면 전환 검출 알고리즘을 이용하여 I 프레임 인코딩 및 채널 스위치 프레임 인코딩을 위한 획득 포인트들인 멀티미디어 데이터의 각 수퍼프레임에 대한 하나 이상의 프레임들 (예를 들어, 하나 이상의 장면 전환 프레임들) 을 검출 및 선택할 수도 있다 (블록 510). I 프레임 인코딩을 위해 선택된 프레임은 채널 스위치 프레임 인코딩을 위해 선택된 프레임과 동일할 수도 있고 동일하지 않을 수도 있다.
이하 추가 설명한 것처럼, 선택된 프레임은 다수의 상이한 인코딩 알고리즘들을 이용하여 인코딩될 수도 있다. 예를 들어, 선택된 프레임은 3 개의 상이한 인코딩 알고리즘들을 이용하여 인코딩되어 표준 화질 I 프레임, 채널 스위치 프레임 (예를 들어, 저화질 I 프레임) 및 P 프레임과 같은 인코딩된 멀티미디어 데이터를 생성할 수도 있다. 채널 스위치 프레임 및 표준 화질 P 프레임은 획득 포인트들로서 병치된다. 인코더 (405) 는 예를 들어 코딩 효율, 획득 포인트 및 패킷화에 기초하여 하나 이상의 선택된 프레임들을 I 프레임으로서 인코딩할지, 채 널 스위치 프레임으로서 인코딩할지 및 P 프레임으로서 인코딩할지 여부 및 인코딩할 시기를 적응적으로 결정한다.
인코더 (405) 는 멀티미디어 데이터 (예를 들어, 하나 이상의 선택된 프레임들) 를 I 프레임으로서 인코딩한다 (블록 515). 일 실시형태에서, 인코더 (405) 는 I 프레임 인코딩 알고리즘을 이용하여 하나 이상의 선택된 프레임들을 표준 화질 I 프레임으로서 인코딩한다. 예를 들어, 표준 화질 I 프레임은 비팅 효과를 회피하기 위해 이전의 이웃하는 프레임과 동일하거나 유사한 화질을 가질 수 있으며 또는 레이트 제어 알고리즘에 기초하는 화질을 가질 수 있다. I 프레임 인코딩 알고리즘은 표준 화질을 갖는 인코딩된 I 프레임을 생성하는데 이용된다.
인코더 (405) 는 멀티미디어 데이터 (예를 들어, 하나 이상의 선택된 프레임들) 를 채널 스위치 프레임으로서 인코딩한다 (블록 520). 일 실시형태에서, 인코더 (405) 는 저화질 I 프레임 인코딩 알고리즘을 이용하여 하나 이상의 선택된 프레임들을 채널 스위치 프레임 또는 저화질 I 프레임으로서 인코딩한다. 저화질 I 프레임 인코딩 알고리즘을 이용함으로써, 채널 스위치 프레임의 양자화 파라미터 (QP) 가 병치된 P 프레임의 QP 로부터 소정값만큼 증가될 수 있다. 채널 스위치 프레임 인코딩 알고리즘은 저화질을 갖는 인코딩된 I 프레임을 생성하는데 이용된다.
인코더 (405) 는 멀티미디어 데이터 (예를 들어, 하나 이상의 선택된 프레임들) 를 P 프레임으로서 인코딩한다 (블록 525). 일 실시형태에서, 인코더 (405) 는 P 프레임 인코딩 알고리즘을 이용하여 하나 이상의 선택된 프레임들을 표준 화질 P 프레임으로서 인코딩한다. 예를 들어, 표준 화질 P 프레임은 비팅 효과를 회피하기 위해 이전의 이웃하는 프레임과 동일하거나 유사한 화질을 가질 수 있으며 또는 레이트 제어 알고리즘에 기초하는 화질을 가질 수 있다. P 프레임 인코딩 알고리즘은 표준 화질을 갖는 인코딩된 P 프레임을 생성하는데 이용된다. 블록 528 에서, 인코더 (405) 는 멀티미디어 데이터의 하나 이상의 선택되지 않은 프레임들 (예를 들어, 수퍼프레임 내의 나머지 프레임들) 을 P 프레임 또는 B 프레임으로서 인코딩한다.
도 5a 에 도시한 것처럼 블록 515, 블록 520, 블록 525 및 블록 528 이 스킵될 수도 있다. 블록 515, 블록 520, 블록 525 및 블록 528 이 스킵되는 경우, 인코더 (405) 는 스킵 플래그를 인코더 (405) 가 멀티미디어 데이터의 인코딩을 스킵했다는 것을 나타내는 1 로 설정한다 (블록 533).
블록 530 에서, 인코더 (405) 는 스킵 플래그가 1 과 같은지 여부를 결정한다. 스킵 플래그가 1 과 같은 경우, 인코더 (405) 는 I 프레임으로서 인코딩한 경우의 하나 이상의 선택된 프레임들의 사이즈, 채널 스위치 프레임으로서 인코딩한 경우의 하나 이상의 선택된 프레임들의 사이즈, 및 P 프레임으로서 인코딩한 경우의 하나 이상의 선택된 프레임들의 사이즈를 추정한다 (블록 535). 일 실시형태에서, 인코더 (405) 에 의해 멀티미디어 데이터 (예를 들어, 하나 이상의 선택된 프레임들) 에 대해 사전 프로세싱이 수행되어 공간 복잡도 및 시간 복잡도에 기초하여 멀티미디어 데이터의 사이즈가 추정된다. 멀티미디어 데이터의 복잡도 메트릭은 I 프레임 인코딩, 채널 스위치 프레임 인코딩 및 P 프레임 인코딩이 멀티미디어 데이터에 대해 수행되었을 경우 인코더 (405) 가 멀티미디어 데이터의 사이즈를 추정하는 것을 허용한다.
멀티미디어 데이터가 인코딩되지 않았기 때문에, 인코더 (405) 는 I 프레임 인코딩, 채널 스위치 프레임 인코딩 및 P 프레임 인코딩이 멀티미디어 데이터에 대해 수행되었을 경우의 멀티미디어 데이터의 사이즈 중 적어도 하나를 이용하여 기본 계층 데이터 패킷 및 확장 계층 데이터 패킷을 시뮬레이팅한다 (블록 540). 멀티미디어 데이터의 사이즈는 인코더 (405) 가 기본 계층 데이터 패킷 및 확장 계층 데이터 패킷의 콘텐츠를 예측하는 것을 허용한다.
스킵 플래그가 1 과 같지 않은 경우, 인코더 (405) 는 인코딩된 I 프레임의 사이즈, 인코딩된 채널 스위치 프레임의 사이즈 및 인코딩된 P 프레임의 사이즈를 결정한다 (블록 545). 블록 545 는 인코딩된 I 프레임의 사이즈, 인코딩된 채널 스위치 프레임의 사이즈 및 인코딩된 P 프레임의 사이즈가 블록 515, 블록 520 및 블록 525 의 인코딩 프로세스들 동안 결정되었을 경우 스킵될 수도 있다.
멀티미디어 데이터가 인코딩되었기 때문에, 인코더 (405) 는 (1) 인코딩된 I 프레임 및 (2) 인코딩된 채널 스위치 프레임 및 인코딩된 P 프레임에 대한 기본 계층 데이터 패킷 및 확장 계층 데이터 패킷을 생성한다 (블록 550). 따라서, 인코더 (405) 는 2 개의 기본 계층 데이터 패킷들 및 2 개의 확장 계층 데이터 패킷들을 생성한다. 즉, I 프레임 인코딩에 대한 하나의 기본 계층 데이터 패킷 및 하나의 확장 계층 데이터 패킷 및 채널 스위치 프레임 및 P 프레임 인코딩에 대한 하나의 기본 계층 데이터 패킷 및 하나의 확장 계층 데이터 패킷이다.
밸런싱/패딩 모듈 (410) 은 기본 계층 데이터 패킷 및 확장 계층 데이터 패킷이 동일한 사이즈가 되도록 기본 계층 데이터 패킷 및 확장 계층 데이터 패킷을 밸런싱한다 (블록 555). 기본 계층의 사이즈가 확장 계층의 사이즈와 상이한 경우, 밸런싱/패딩 모듈 (410) 은 2 개의 계층들의 사이즈를 유사하게 만들기 위한 시도로 프레임들 또는 프레임들의 부분들을 더 큰 계층에서 더 작은 계층으로 이동 또는 전송시킬 수도 있다. 일 실시형태에서, 밸런싱/패딩 모듈 (410) 은 B 프레임들 또는 P 프레임들을 선택하여 일 계층에서 타 계층으로 이동 또는 전송시킨다. 밸런싱은 패딩 비트들 또는 바이트들의 개수를 감소시킨다. 일단 밸런싱이 완료되면, 밸런싱/패딩 모듈 (410) 은 기본 계층의 사이즈 및 확장 계층의 사이즈를 결정하고 더 작은 계층이 더 큰 계층과 같도록 더 작은 계층을 필링 (filling) 또는 패딩 (padding) 한다 (블록 560).
비교 모듈 (415) 은 표준 화질 I 프레임에 대한 기본 계층에 확장 계층을 더한 제 1 총 사이즈를 계산 또는 결정한다 (블록 565). 비교 모듈 (415) 은 저화질 I 프레임 및 표준 화질 P 프레임에 대한 기본 계층에 확장 계층을 더한 제 2 총 사이즈를 계산 또는 결정한다 (블록 570).
블록 575 에서, 인코더 (405) 는 스킵 플래그가 1 과 같은지 여부를 결정한다. 스킵 플래그가 1 과 같은 경우, 인코더 (405) 는 인코딩이 스킵되었기 때문에 하나 이상의 선택된 프레임들을 인코딩해야 한다. 인코더 (405) 는 I 프레임의 사이즈가 채널 스위치 프레임에 병치된 P 프레임을 더한 사이즈보다 작은 경우 하나 이상의 선택된 프레임들을 I 프레임 인코딩을 이용하여 (즉, 표준 화질 I 프레임으로서) 인코딩한다 (블록 580). 인코더 (405) 는 채널 스위치 프레임에 P 프레임을 더한 사이즈가 I 프레임의 사이즈보다 작은 경우 하나 이상의 선택된 프레임들을 채널 스위치 프레임 인코딩을 이용하고 (즉, 저화질 I 프레임으로서) P 프레임 인코딩을 이용하여 (즉, 표준 화질 P 프레임으로서) 인코딩한다 (블록 585). 채널 스위치 프레임 및 표준 화질 P 프레임은 획득 포인트들로서 병치된다. 블록 590 에서, 인코더 (405) 는 멀티미디어 데이터의 하나 이상의 선택되지 않은 프레임들 (예를 들어, 수퍼프레임 내의 나머지 프레임들) 을 P 프레임 또는 B 프레임으로서 인코딩한다.
스킵 플래그가 1 과 같지 않은 경우, 인코더 (405) 는 인코딩이 블록 515, 블록 520 및 블록 525 에서 수행되었기 때문에 하나 이상의 선택된 프레임들을 인코딩할 필요가 없다. 인코더 (405) 는 제 1 총 사이즈가 제 2 총 사이즈보다 작은 경우 인코딩된 I 프레임의 기본 계층 데이터 패킷 및 확장 계층 데이터 패킷을 선택한다 (블록 592). 인코딩된 I 프레임이 선택되는 경우, 인코더 (405) 는 인코딩된 채널 스위치 프레임 및 인코딩된 P 프레임에 대한 기본 계층 데이터 패킷 및 확장 계층 데이터 패킷을 폐기할 수도 있다. 인코더 (405) 는 제 2 총 사이즈가 제 1 총 사이즈보다 작은 경우 인코딩된 채널 스위치 프레임 및 인코딩된 P 프레임의 기본 계층 데이터 패킷 및 확장 계층 데이터 패킷을 선택한다 (블록 594). 인코딩된 채널 스위치 프레임 및 인코딩된 P 프레임이 선택되는 경우, 인코더 (405) 는 인코딩된 I 프레임에 대한 기본 계층 데이터 패킷 및 확장 계층 데이터 패킷을 폐기할 수도 있다. 따라서, 인코더 (405) 는 기본 계층에 확장 계층을 더한 것에 대한 최소 사이즈를 생성하는 인코딩 방법을 선택한다. 패킷화 모듈 (420) 은 인코딩된 프레임들을 기본 계층 데이터 패킷 및 확장 계층 데이터 패킷으로 전송시킬 수도 있다 (블록 596).
도 6 은 인코딩 방법에 기초한 일 예시적인 기본 계층 구성 및 확장 계층 구성이다. 일 실시형태에서, 제 1 기본 계층은 초기 P 프레임을 가질 수도 있고 제 1 확장 계층은 병치된 채널 스위치 프레임을 가질 수도 있으며, 제 2 기본 계층은 초기 I 프레임을 가질 수도 있고 제 2 확장 계층은 패딩된 비트들을 가질 수도 있다.
도 7 은 다수의 인코딩된 프레임들에 대한 인코딩 순서, 디스플레이 순서, P 프레임 사이즈 및 B 프레임 사이즈를 설명하는 테이블이다. 기본 계층이 I 프레임을 갖지 않는 경우, 모든 P 프레임들이 기본 계층으로 전송된다. 기본 계층이 I 프레임을 갖는 경우, I 프레임 또는 (디스플레이 순서에 기초하여) 그 앞의 P 프레임이 기본 계층 또는 확장 계층으로 전송될 수 있다.
도 8 은 표준 I 프레임 인코딩 방법을 강요할 때와 표준 I 프레임 인코딩 방법을 강요하지 않을 때 기본 계층 및 확장 계층에서 생성된 바이트들의 개수를 나타내는 테이블이다. 다음에서 언급된 프레임 번호들은 인코딩 순서에 기초한다. 프레임 60 에 대응하는 채널 스위치 프레임은 6,487 바이트를 갖는다. 기본 계층 및 확장 계층이 동일한 사이즈가 되어야 하기 때문에, I 프레임이 강요되지 않을 때, 인코더 (405) 는 모든 P 프레임들을 기본 계층으로 그리고 모든 B 프레임 들 및 채널 스위치 프레임들을 확장 계층으로 전송한다. 확장 계층 (8,881 바이트) 은 그 확장 계층의 사이즈가 기본 계층 (27,414 바이트) 과 같도록 스터핑 바이트들 (stuffing bytes) 로 패딩된다. 13,692 바이트를 가진 I 프레임이 프레임 73 에서 강요될 때 (프레임 73 에서의 P 프레임은 폐기된다), 인코더 (405) 는 프레임들 (60, 73, 79 및 85) 을 기본 계층으로 전송하고, 나머지 P 프레임들 및 모든 B 프레임들은 확장 계층으로 전송된다. 기본 계층 (16,097 바이트) 은 그 기본 계층의 사이즈가 확장 계층 (19,091 바이트) 과 같도록 스터핑 바이트들로 패딩된다. 도 8 에 도시한 것처럼, I 프레임을 강요하지 않는다면, 인코딩 방법은 54,828 바이트의 제 1 총 사이즈를 야기한다. 그러나, I 프레임을 강요함으로써, 인코딩 방법은 38,182 바이트의 제 2 총 사이즈를 야기한다. 따라서, 인코더 (405) 는 바이트들의 개수의 절약 때문에 표준 화질 I 프레임을 이용하여 인코딩을 강요하는 인코딩 방법을 선택한다.
본 발명의 일부 실시형태들에서, 멀티미디어 데이터를 프로세싱하는 장치가 개시된다. 이 장치는 멀티미디어 데이터를 I 프레임, 채널 스위치 프레임 및 P 프레임으로서 인코딩하는 수단을 포함할 수도 있다. 상기 멀티미디어 데이터를 인코딩하는 수단은 프로세서 (120), 인코더 (130), 인코더 (205) 및/또는 인코더 (405) 일 수도 있다. 이 장치는 인코딩된 멀티미디어 데이터를 선택하는 수단을 포함할 수도 있다. 상기 선택하는 수단은 프로세서 (120), 인코더 (130), 인코더 (205), 비교 모듈 (210), 인코더 (405) 및/또는 비교 모듈 (415) 일 수도 있다. 이 장치는 제 1 기본 계층 데이터 패킷을 제 1 확장 계층 데이터 패킷과 유사한 사이즈가 되도록 밸런싱하고 제 2 기본 계층 데이터 패킷을 제 2 확장 계층 데이터 패킷과 유사한 사이즈가 되도록 밸런싱하는 수단을 포함할 수도 있다. 상기 밸런싱하는 수단은 프로세서 (120), 인코더 (130), 인코더 (205), 비교 모듈 (210), 인코더 (405), 밸런싱/패딩 모듈 (410) 및/또는 비교 모듈 (415) 일 수도 있다. 이 장치는 제 1 기본 계층 데이터 패킷을 제 1 확장 계층 데이터 패킷과 동일한 사이즈가 되도록 패딩하고 제 2 기본 계층 데이터 패킷을 제 2 확장 계층 데이터 패킷과 동일한 사이즈가 되도록 패딩하는 수단을 포함할 수도 있다. 상기 패딩하는 수단은 프로세서 (120), 인코더 (130), 인코더 (205), 비교 모듈 (210), 인코더 (405), 밸런싱/패딩 모듈 (410) 및/또는 비교 모듈 (415) 일 수도 있다.
당업자는 여기에 개시된 예들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자의 조합으로서 구현될 수도 있다는 것을 알 것이다. 하드웨어와 소프트웨어의 상호교환가능성을 명확히 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 그들의 기능성의 관점에서 일반적으로 상술되었다. 이러한 기능성이 하드웨어로 구현되는지 소프트웨어로 구현되는지 여부는 전체 시스템에 부과된 특정 애플리케이션 및 디자인 제약에 의존한다. 당업자는 설명된 기능성을 각 특정 애플리케이션에 대해 다양한 방식들로 구현할 수도 있지만, 이러한 구현 결정은 개시된 방법들의 범위로부터 벗어남을 야기하는 것처럼 해석되어서는 안된다.
여기에 개시된 예들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들 및 회로들은 여기에 설명된 기능들을 수행하도록 디자인된 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그램가능한 게이트 어레이 (FPGA) 또는 다른 프로그램가능한 로직 디바이스, 별개의 게이트 또는 트랜지스터 로직, 별개의 하드웨어 컴포넌트들 또는 이들의 임의의 조합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안에서, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 와 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 관련한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성의 조합으로서 구현될 수도 있다.
여기에 개시된 예들과 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어에 직접, 프로세서에 의해 실행된 소프트웨어 모듈에, 또는 이 둘의 조합에 구체화될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈식 디스크, CD-ROM, 또는 당업계에 공지된 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서가 그 저장 매체로부터 정보를 판독하고 저장 매체에 정보를 기록할 수 있도록 프로세서에 커플링된다. 대안에서, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적 회로 (ASIC) 에 상주할 수도 있다. ASIC 은 무선 모뎀에 상주할 수도 있다. 대안에서, 프로세서 및 저장 매체는 무선 모뎀 내에 별개의 컴포넌트들로서 상주할 수도 있다.
개시된 예들의 이전 설명은 임의의 당업자로 하여금 상기 개시된 방법들 및 장치를 실시 또는 이용할 수 있게 하기 위해 제공된다. 이들 예들에 대한 다양한 변형들은 당업자에게 쉽게 명백할 것이며, 여기에 정의된 원리들은 개시된 방법 및 장치의 사상 또는 범위로부터 벗어남 없이 다른 예들에 적용될 수도 있다. 상기 개시된 실시형태들은 모든 점에서 제한이 아닌 단지 예시인 것으로 간주될 것이며, 따라서 본 발명의 범위는 전술의 설명에 의해서보다 첨부된 특허청구범위에 의해 나타내진다. 특허청구범위의 등가물의 범위 및 의미 내에 일어나는 모든 변경들은 그들의 범위 내에 포함될 것이다.

Claims (60)

  1. 멀티미디어 데이터를 프로세싱하는 방법으로서,
    상기 멀티미디어 데이터의 프레임을 I 프레임, 채널 스위치 프레임 및 P 프레임으로서 인코딩하는 단계; 및
    상기 인코딩된 I 프레임의 사이즈 및 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈가 제 1 조건을 충족하는 경우 상기 인코딩된 I 프레임을 선택하는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  2. 제 1 항에 있어서,
    상기 제 1 조건은 상기 인코딩된 I 프레임의 사이즈가 상기 인코딩된 채널 스위치 프레임에 상기 인코딩된 P 프레임을 더한 사이즈보다 작은 경우 충족되는, 멀티미디어 데이터의 프로세싱 방법.
  3. 제 1 항에 있어서,
    상기 인코딩된 I 프레임의 사이즈 및 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈가 제 2 조건을 충족하는 경우 상기 인코딩된 채널 스위치 프레임 및 상기 인코딩된 P 프레임을 선택하는 단계를 더 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  4. 제 3 항에 있어서,
    상기 제 2 조건은 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈가 상기 인코딩된 I 프레임의 사이즈보다 작은 경우 충족되는, 멀티미디어 데이터의 프로세싱 방법.
  5. 제 1 항에 있어서,
    상기 멀티미디어 데이터의 프레임을 인코딩하는 단계는 제 1 프레임을 I 프레임으로서 인코딩하고 제 2 프레임을 채널 스위치 프레임으로서 인코딩하는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  6. 제 1 항에 있어서,
    상기 인코딩된 I 프레임의 사이즈 및 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈를 공간 복잡도 및 시간 복잡도에 기초하여 추정하는 단계를 더 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  7. 제 1 항에 있어서,
    상기 멀티미디어 데이터의 프레임을 B 프레임으로서 인코딩하는 단계;
    상기 인코딩된 I 프레임 또는 상기 인코딩된 B 프레임 중 적어도 하나의 프레임을 이용하여 제 1 기본 계층 (base layer) 데이터 패킷 및 제 1 확장 계층 (enhancement layer) 데이터 패킷을 생성하는 단계; 및
    상기 인코딩된 P 프레임 또는 상기 인코딩된 채널 스위치 프레임 중 적어도 하나의 프레임을 이용하여 제 2 기본 계층 데이터 패킷 및 제 2 확장 계층 데이터 패킷을 생성하는 단계를 더 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  8. 제 7 항에 있어서,
    상기 제 1 기본 계층 데이터 패킷을 상기 제 1 확장 계층 데이터 패킷과 유사한 사이즈가 되도록 밸런싱하고 상기 제 2 기본 계층 데이터 패킷을 상기 제 2 확장 계층 데이터 패킷과 유사한 사이즈가 되도록 밸런싱하는 단계를 더 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  9. 제 8 항에 있어서,
    상기 제 1 기본 계층 데이터 패킷을 상기 제 1 확장 계층 데이터 패킷과 동일한 사이즈가 되도록 패딩하고 상기 제 2 기본 계층 데이터 패킷을 상기 제 2 확장 계층 데이터 패킷과 동일한 사이즈가 되도록 패딩하는 단계를 더 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  10. 제 9 항에 있어서,
    상기 제 1 기본 계층 데이터 패킷 및 상기 제 1 확장 계층 데이터 패킷의 제 1 총 사이즈 (total size) 를 결정하는 단계;
    상기 제 1 총 사이즈를 상기 인코딩된 I 프레임의 사이즈에 할당하는 단계;
    상기 제 2 기본 계층 데이터 패킷 및 상기 제 2 확장 계층 데이터 패킷의 제 2 총 사이즈를 결정하는 단계; 및
    상기 제 2 총 사이즈를 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈에 할당하는 단계를 더 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  11. 멀티미디어 데이터를 프로세싱하는 장치로서,
    상기 멀티미디어 데이터의 프레임을 I 프레임, 채널 스위치 프레임 및 P 프레임으로서 인코딩하고, 상기 인코딩된 I 프레임의 사이즈 및 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈가 제 1 조건을 충족하는 경우 상기 인코딩된 I 프레임을 선택하는 인코더를 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  12. 제 11 항에 있어서,
    상기 제 1 조건은 상기 인코딩된 I 프레임의 사이즈가 상기 인코딩된 채널 스위치 프레임에 상기 인코딩된 P 프레임을 더한 사이즈보다 작은 경우 충족되는, 멀티미디어 데이터의 프로세싱 장치.
  13. 제 11 항에 있어서,
    상기 인코더는 상기 인코딩된 I 프레임의 사이즈 및 상기 인코딩된 채널 스 위치 프레임과 상기 인코딩된 P 프레임의 사이즈가 제 2 조건을 충족하는 경우 상기 인코딩된 채널 스위치 프레임 및 상기 인코딩된 P 프레임을 선택하는, 멀티미디어 데이터의 프로세싱 장치.
  14. 제 13 항에 있어서,
    상기 제 2 조건은 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈가 상기 인코딩된 I 프레임의 사이즈보다 작은 경우 충족되는, 멀티미디어 데이터의 프로세싱 장치.
  15. 제 11 항에 있어서,
    상기 멀티미디어 데이터의 프레임을 인코딩하는 것은 제 1 프레임을 I 프레임으로서 인코딩하고 제 2 프레임을 채널 스위치 프레임으로서 인코딩하는 것을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  16. 제 11 항에 있어서,
    상기 인코더는 상기 인코딩된 I 프레임의 사이즈 및 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈를 공간 복잡도 및 시간 복잡도에 기초하여 추정하는, 멀티미디어 데이터의 프로세싱 장치.
  17. 제 11 항에 있어서,
    상기 인코더는 :
    상기 멀티미디어 데이터의 프레임을 B 프레임으로서 인코딩하고;
    상기 인코딩된 I 프레임 또는 상기 인코딩된 B 프레임 중 적어도 하나의 프레임을 이용하여 제 1 기본 계층 (base layer) 데이터 패킷 및 제 1 확장 계층 (enhancement layer) 데이터 패킷을 생성하며;
    상기 인코딩된 P 프레임 또는 상기 인코딩된 채널 스위치 프레임 중 적어도 하나의 프레임을 이용하여 제 2 기본 계층 데이터 패킷 및 제 2 확장 계층 데이터 패킷을 생성하는, 멀티미디어 데이터의 프로세싱 장치.
  18. 제 17 항에 있어서,
    상기 제 1 기본 계층 데이터 패킷을 상기 제 1 확장 계층 데이터 패킷과 유사한 사이즈가 되도록 밸런싱하고 상기 제 2 기본 계층 데이터 패킷을 상기 제 2 확장 계층 데이터 패킷과 유사한 사이즈가 되도록 밸런싱하는 밸런싱 모듈을 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  19. 제 18 항에 있어서,
    상기 제 1 기본 계층 데이터 패킷을 상기 제 1 확장 계층 데이터 패킷과 동일한 사이즈가 되도록 패딩하고 상기 제 2 기본 계층 데이터 패킷을 상기 제 2 확장 계층 데이터 패킷과 동일한 사이즈가 되도록 패딩하는 패딩 모듈을 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  20. 제 19 항에 있어서,
    상기 인코더는 :
    상기 제 1 기본 계층 데이터 패킷 및 상기 제 1 확장 계층 데이터 패킷의 제 1 총 사이즈 (total size) 를 결정하고;
    상기 제 1 총 사이즈를 상기 인코딩된 I 프레임의 사이즈에 할당하며;
    상기 제 2 기본 계층 데이터 패킷 및 상기 제 2 확장 계층 데이터 패킷의 제 2 총 사이즈를 결정하며;
    상기 제 2 총 사이즈를 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈에 할당하는, 멀티미디어 데이터의 프로세싱 장치.
  21. 멀티미디어 데이터를 프로세싱하는 장치로서,
    상기 멀티미디어 데이터의 프레임을 I 프레임, 채널 스위치 프레임 및 P 프레임으로서 인코딩하는 수단; 및
    상기 인코딩된 I 프레임의 사이즈 및 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈가 제 1 조건을 충족하는 경우 상기 인코딩된 I 프레임을 선택하는 수단을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  22. 제 21 항에 있어서,
    상기 제 1 조건은 상기 인코딩된 I 프레임의 사이즈가 상기 인코딩된 채널 스위치 프레임에 상기 인코딩된 P 프레임을 더한 사이즈보다 작은 경우 충족되는, 멀티미디어 데이터의 프로세싱 장치.
  23. 제 21 항에 있어서,
    상기 선택하는 수단은 상기 인코딩된 I 프레임의 사이즈 및 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈가 제 2 조건을 충족하는 경우 상기 인코딩된 채널 스위치 프레임 및 상기 인코딩된 P 프레임을 선택하는, 멀티미디어 데이터의 프로세싱 장치.
  24. 제 23 항에 있어서,
    상기 제 2 조건은 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈가 상기 인코딩된 I 프레임의 사이즈보다 작은 경우 충족되는, 멀티미디어 데이터의 프로세싱 장치.
  25. 제 21 항에 있어서,
    상기 멀티미디어 데이터의 프레임을 인코딩하는 것은 제 1 프레임을 I 프레임으로서 인코딩하고 제 2 프레임을 채널 스위치 프레임으로서 인코딩하는 것을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  26. 제 21 항에 있어서,
    상기 멀티미디어 데이터의 프레임을 인코딩하는 수단은 상기 인코딩된 I 프레임의 사이즈 및 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈를 공간 복잡도 및 시간 복잡도에 기초하여 추정하는, 멀티미디어 데이터의 프로세싱 장치.
  27. 제 21 항에 있어서,
    상기 멀티미디어 데이터의 프레임을 인코딩하는 수단은 :
    상기 멀티미디어 데이터의 프레임을 B 프레임으로서 인코딩하고;
    상기 인코딩된 I 프레임 또는 상기 인코딩된 B 프레임 중 적어도 하나의 프레임을 이용하여 제 1 기본 계층 (base layer) 데이터 패킷 및 제 1 확장 계층 (enhancement layer) 데이터 패킷을 생성하며;
    상기 인코딩된 P 프레임 또는 상기 인코딩된 채널 스위치 프레임 중 적어도 하나의 프레임을 이용하여 제 2 기본 계층 데이터 패킷 및 제 2 확장 계층 데이터 패킷을 생성하는, 멀티미디어 데이터의 프로세싱 장치.
  28. 제 27 항에 있어서,
    상기 제 1 기본 계층 데이터 패킷을 상기 제 1 확장 계층 데이터 패킷과 유사한 사이즈가 되도록 밸런싱하고 상기 제 2 기본 계층 데이터 패킷을 상기 제 2 확장 계층 데이터 패킷과 유사한 사이즈가 되도록 밸런싱하는 수단을 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  29. 제 28 항에 있어서,
    상기 제 1 기본 계층 데이터 패킷을 상기 제 1 확장 계층 데이터 패킷과 동일한 사이즈가 되도록 패딩하고 상기 제 2 기본 계층 데이터 패킷을 상기 제 2 확장 계층 데이터 패킷과 동일한 사이즈가 되도록 패딩하는 수단을 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  30. 제 29 항에 있어서,
    상기 멀티미디어 데이터의 프레임을 인코딩하는 수단은 :
    상기 제 1 기본 계층 데이터 패킷 및 상기 제 1 확장 계층 데이터 패킷의 제 1 총 사이즈 (total size) 를 결정하고;
    상기 제 1 총 사이즈를 상기 인코딩된 I 프레임의 사이즈에 할당하며;
    상기 제 2 기본 계층 데이터 패킷 및 상기 제 2 확장 계층 데이터 패킷의 제 2 총 사이즈를 결정하고;
    상기 제 2 총 사이즈를 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈에 할당하는, 멀티미디어 데이터의 프로세싱 장치.
  31. 멀티미디어 데이터를 프로세싱하기 위한 명령들을 포함하는 머신-판독가능 매체로서,
    상기 명령들은 실행 시에 머신으로 하여금 :
    상기 멀티미디어 데이터의 프레임을 I 프레임, 채널 스위치 프레임 및 P 프레임으로서 인코딩하고;
    상기 인코딩된 I 프레임의 사이즈 및 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈가 제 1 조건을 충족하는 경우 상기 인코딩된 I 프레임을 선택하도록 하는, 머신-판독가능 매체.
  32. 제 31 항에 있어서,
    상기 제 1 조건은 상기 인코딩된 I 프레임의 사이즈가 상기 인코딩된 채널 스위치 프레임에 상기 인코딩된 P 프레임을 더한 사이즈보다 작은 경우 충족되는, 머신-판독가능 매체.
  33. 제 31 항에 있어서,
    상기 인코딩된 I 프레임의 사이즈 및 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈가 제 2 조건을 충족하는 경우 상기 인코딩된 채널 스위치 프레임 및 상기 인코딩된 P 프레임을 선택하기 위한 명령들을 더 포함하는, 머신-판독가능 매체.
  34. 제 33 항에 있어서,
    상기 제 2 조건은 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈가 상기 인코딩된 I 프레임의 사이즈보다 작은 경우 충족되는, 머신- 판독가능 매체.
  35. 제 31 항에 있어서,
    상기 멀티미디어 데이터의 프레임을 인코딩하는 것은 제 1 프레임을 I 프레임으로서 인코딩하고 제 2 프레임을 채널 스위치 프레임으로서 인코딩하는 것을 포함하는, 머신-판독가능 매체.
  36. 제 31 항에 있어서,
    상기 인코딩된 I 프레임의 사이즈 및 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈를 공간 복잡도 및 시간 복잡도에 기초하여 추정하기 위한 명령들을 더 포함하는, 머신-판독가능 매체.
  37. 제 31 항에 있어서,
    상기 멀티미디어 데이터의 프레임을 B 프레임으로서 인코딩하고;
    상기 인코딩된 I 프레임 또는 상기 인코딩된 B 프레임 중 적어도 하나의 프레임을 이용하여 제 1 기본 계층 (base layer) 데이터 패킷 및 제 1 확장 계층 (enhancement layer) 데이터 패킷을 생성하며;
    상기 인코딩된 P 프레임 또는 상기 인코딩된 채널 스위치 프레임 중 적어도 하나의 프레임을 이용하여 제 2 기본 계층 데이터 패킷 및 제 2 확장 계층 데이터 패킷을 생성하기 위한 명령들을 더 포함하는, 머신-판독가능 매체.
  38. 제 37 항에 있어서,
    상기 제 1 기본 계층 데이터 패킷을 상기 제 1 확장 계층 데이터 패킷과 유사한 사이즈가 되도록 밸런싱하고 상기 제 2 기본 계층 데이터 패킷을 상기 제 2 확장 계층 데이터 패킷과 유사한 사이즈가 되도록 밸런싱하기 위한 명령들을 더 포함하는, 머신-판독가능 매체.
  39. 제 38 항에 있어서,
    상기 제 1 기본 계층 데이터 패킷을 상기 제 1 확장 계층 데이터 패킷과 동일한 사이즈가 되도록 패딩하고 상기 제 2 기본 계층 데이터 패킷을 상기 제 2 확장 계층 데이터 패킷과 동일한 사이즈가 되도록 패딩하기 위한 명령들을 더 포함하는, 머신-판독가능 매체.
  40. 제 39 항에 있어서,
    상기 제 1 기본 계층 데이터 패킷 및 상기 제 1 확장 계층 데이터 패킷의 제 1 총 사이즈 (total size) 를 결정하고;
    상기 제 1 총 사이즈를 상기 인코딩된 I 프레임의 사이즈에 할당하며;
    상기 제 2 기본 계층 데이터 패킷 및 상기 제 2 확장 계층 데이터 패킷의 제 2 총 사이즈를 결정하고;
    상기 제 2 총 사이즈를 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈에 할당하기 위한 명령들을 더 포함하는, 머신-판독가능 매체.
  41. 멀티미디어 데이터를 프로세싱하는 핸드셋으로서,
    상기 멀티미디어 데이터의 프레임을 I 프레임, 채널 스위치 프레임 및 P 프레임으로서 인코딩하고 상기 인코딩된 I 프레임의 사이즈 및 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈가 제 1 조건을 충족하는 경우 상기 인코딩된 I 프레임을 선택하는 인코더를 포함하는, 핸드셋.
  42. 제 41 항에 있어서,
    상기 제 1 조건은 상기 인코딩된 I 프레임의 사이즈가 상기 인코딩된 채널 스위치 프레임에 상기 인코딩된 P 프레임을 더한 사이즈보다 작은 경우 충족되는, 핸드셋.
  43. 제 41 항에 있어서,
    상기 인코더는 상기 인코딩된 I 프레임의 사이즈 및 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈가 제 2 조건을 충족하는 경우 상기 인코딩된 채널 스위치 프레임 및 상기 인코딩된 P 프레임을 선택하는, 핸드셋.
  44. 제 43 항에 있어서,
    상기 제 2 조건은 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프 레임의 사이즈가 상기 인코딩된 I 프레임의 사이즈보다 작은 경우 충족되는, 핸드셋.
  45. 제 41 항에 있어서,
    상기 멀티미디어 데이터의 프레임을 인코딩하는 것은 제 1 프레임을 I 프레임으로서 인코딩하고 제 2 프레임을 채널 스위치 프레임으로서 인코딩하는 것을 포함하는, 핸드셋.
  46. 제 41 항에 있어서,
    상기 인코더는 상기 인코딩된 I 프레임의 사이즈 및 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈를 공간 복잡도 및 시간 복잡도에 기초하여 추정하는, 핸드셋.
  47. 제 41 항에 있어서,
    상기 인코더는 :
    상기 멀티미디어 데이터의 프레임을 B 프레임으로서 인코딩하고;
    상기 인코딩된 I 프레임 또는 상기 인코딩된 B 프레임 중 적어도 하나의 프레임을 이용하여 제 1 기본 계층 (base layer) 데이터 패킷 및 제 1 확장 계층 (enhancement layer) 데이터 패킷을 생성하며;
    상기 인코딩된 P 프레임 또는 상기 인코딩된 채널 스위치 프레임 중 적어도 하나의 프레임을 이용하여 제 2 기본 계층 데이터 패킷 및 제 2 확장 계층 데이터 패킷을 생성하는, 핸드셋.
  48. 제 47 항에 있어서,
    상기 제 1 기본 계층 데이터 패킷을 상기 제 1 확장 계층 데이터 패킷과 유사한 사이즈가 되도록 밸런싱하고 상기 제 2 기본 계층 데이터 패킷을 상기 제 2 확장 계층 데이터 패킷과 유사한 사이즈가 되도록 밸런싱하는 밸런싱 모듈을 더 포함하는, 핸드셋.
  49. 제 48 항에 있어서,
    상기 제 1 기본 계층 데이터 패킷을 상기 제 1 확장 계층 데이터 패킷과 동일한 사이즈가 되도록 패딩하고 상기 제 2 기본 계층 데이터 패킷을 상기 제 2 확장 계층 데이터 패킷과 동일한 사이즈가 되도록 패딩하는 패딩 모듈을 더 포함하는, 핸드셋.
  50. 제 49 항에 있어서,
    상기 인코더는 :
    상기 제 1 기본 계층 데이터 패킷 및 상기 제 1 확장 계층 데이터 패킷의 제 1 총 사이즈 (total size) 를 결정하고;
    상기 제 1 총 사이즈를 상기 인코딩된 I 프레임의 사이즈에 할당하며;
    상기 제 2 기본 계층 데이터 패킷 및 상기 제 2 확장 계층 데이터 패킷의 제 2 총 사이즈를 결정하고;
    상기 제 2 총 사이즈를 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈에 할당하는, 핸드셋.
  51. 멀티미디어 데이터를 프로세싱하는 집적 회로로서,
    상기 멀티미디어 데이터의 프레임을 I 프레임, 채널 스위치 프레임 및 P 프레임으로서 인코딩하고, 상기 인코딩된 I 프레임의 사이즈 및 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈가 제 1 조건을 충족하는 경우 상기 인코딩된 I 프레임을 선택하는 인코딩 회로를 포함하는, 집적 회로.
  52. 제 51 항에 있어서,
    상기 제 1 조건은 상기 인코딩된 I 프레임의 사이즈가 상기 인코딩된 채널 스위치 프레임에 상기 인코딩된 P 프레임을 더한 사이즈보다 작은 경우 충족되는, 집적 회로.
  53. 제 51 항에 있어서,
    상기 인코딩 회로는 상기 인코딩된 I 프레임의 사이즈 및 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈가 제 2 조건을 충족하는 경우 상기 인코딩된 채널 스위치 프레임 및 상기 인코딩된 P 프레임을 선택하는, 집 적 회로.
  54. 제 53 항에 있어서,
    상기 제 2 조건은 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈가 상기 인코딩된 I 프레임의 사이즈보다 작은 경우 충족되는, 집적 회로.
  55. 제 51 항에 있어서,
    상기 멀티미디어 데이터의 프레임을 인코딩하는 것은 제 1 프레임을 I 프레임으로서 인코딩하고 제 2 프레임을 채널 스위치 프레임으로서 인코딩하는 것을 포함하는, 집적 회로.
  56. 제 51 항에 있어서,
    상기 인코딩 회로는 상기 인코딩된 I 프레임의 사이즈 및 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈를 공간 복잡도 및 시간 복잡도에 기초하여 추정하는, 집적 회로.
  57. 제 51 항에 있어서,
    상기 인코딩 회로는 :
    상기 멀티미디어 데이터의 프레임을 B 프레임으로서 인코딩하고;
    상기 인코딩된 I 프레임 또는 상기 인코딩된 B 프레임 중 적어도 하나의 프레임을 이용하여 제 1 기본 계층 (base layer) 데이터 패킷 및 제 1 확장 계층 (enhancement layer) 데이터 패킷을 생성하며;
    상기 인코딩된 P 프레임 또는 상기 인코딩된 채널 스위치 프레임 중 적어도 하나의 프레임을 이용하여 제 2 기본 계층 데이터 패킷 및 제 2 확장 계층 데이터 패킷을 생성하는, 집적 회로.
  58. 제 57 항에 있어서,
    상기 제 1 기본 계층 데이터 패킷을 상기 제 1 확장 계층 데이터 패킷과 유사한 사이즈가 되도록 밸런싱하고 상기 제 2 기본 계층 데이터 패킷을 상기 제 2 확장 계층 데이터 패킷과 유사한 사이즈가 되도록 밸런싱하는 밸런싱 회로를 더 포함하는, 집적 회로.
  59. 제 58 항에 있어서,
    상기 제 1 기본 계층 데이터 패킷을 상기 제 1 확장 계층 데이터 패킷과 동일한 사이즈가 되도록 패딩하고 상기 제 2 기본 계층 데이터 패킷을 상기 제 2 확장 계층 데이터 패킷과 동일한 사이즈가 되도록 패딩하는 패딩 회로를 더 포함하는, 집적 회로.
  60. 제 59 항에 있어서,
    상기 인코딩 회로는 :
    상기 제 1 기본 계층 데이터 패킷 및 상기 제 1 확장 계층 데이터 패킷의 제 1 총 사이즈 (total size) 를 결정하고;
    상기 제 1 총 사이즈를 상기 인코딩된 I 프레임의 사이즈에 할당하며;
    상기 제 2 기본 계층 데이터 패킷 및 상기 제 2 확장 계층 데이터 패킷의 제 2 총 사이즈를 결정하고;
    상기 제 2 총 사이즈를 상기 인코딩된 채널 스위치 프레임과 상기 인코딩된 P 프레임의 사이즈에 할당하는, 집적 회로.
KR1020097020254A 2007-03-01 2008-02-29 획득 및 기본 계층과 확장 계층 밸런싱을 위해 i 프레임을 적응적으로 결정하는 시스템 및 방법 KR20090125150A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US89233707P 2007-03-01 2007-03-01
US60/892,337 2007-03-01
US11/837,062 US20080212673A1 (en) 2007-03-01 2007-08-10 Systems and Methods for Adaptively Determining I Frames for Acquisition and Base and Enhancement Layer Balancing
US11/837,062 2007-08-10

Publications (1)

Publication Number Publication Date
KR20090125150A true KR20090125150A (ko) 2009-12-03

Family

ID=39721859

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097020254A KR20090125150A (ko) 2007-03-01 2008-02-29 획득 및 기본 계층과 확장 계층 밸런싱을 위해 i 프레임을 적응적으로 결정하는 시스템 및 방법

Country Status (7)

Country Link
US (1) US20080212673A1 (ko)
EP (1) EP2127387A2 (ko)
JP (1) JP2010520678A (ko)
KR (1) KR20090125150A (ko)
CN (1) CN101755459A (ko)
TW (1) TW200844903A (ko)
WO (1) WO2008106656A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230042952A (ko) 2021-09-23 2023-03-30 국방과학연구소 I-프레임 분할 전송 장치, 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100118938A1 (en) * 2008-11-12 2010-05-13 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Encoder and method for generating a stream of data
DE102010007177B4 (de) * 2010-02-08 2017-06-22 Siemens Healthcare Gmbh Anzeigeverfahren für ein vor einer Aufweitungseinrichtung liegendes Bild des Inneren eines Gefäßes und hiermit korrespondierende Anzeigeeinrichtung
US9532059B2 (en) * 2010-10-05 2016-12-27 Google Technology Holdings LLC Method and apparatus for spatial scalability for video coding
US20130208809A1 (en) * 2012-02-14 2013-08-15 Microsoft Corporation Multi-layer rate control
EP2804374A1 (en) 2013-02-22 2014-11-19 Thomson Licensing Coding and decoding methods of a picture block, corresponding devices and data stream
EP2804375A1 (en) * 2013-02-22 2014-11-19 Thomson Licensing Coding and decoding methods of a picture block, corresponding devices and data stream
US20160360219A1 (en) * 2015-06-05 2016-12-08 Apple Inc. Preventing i-frame popping in video encoding and decoding
US20210076047A1 (en) * 2019-09-11 2021-03-11 Chung Yuan Christian University System, apparatus and method for data compaction and decompaction

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6480541B1 (en) * 1996-11-27 2002-11-12 Realnetworks, Inc. Method and apparatus for providing scalable pre-compressed digital video with reduced quantization based artifacts
US6694060B2 (en) * 2000-12-21 2004-02-17 General Instrument Corporation Frame bit-size allocation for seamlessly spliced, variable-encoding-rate, compressed digital video signals
WO2004044710A2 (en) * 2002-11-11 2004-05-27 Supracomm, Inc. Multicast videoconferencing
BRPI0718810A2 (pt) * 2006-11-15 2013-12-03 Qualcomm Inc Sistemas e métodos para aplicativos utilizando quadros de comutação de canal

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230042952A (ko) 2021-09-23 2023-03-30 국방과학연구소 I-프레임 분할 전송 장치, 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Also Published As

Publication number Publication date
EP2127387A2 (en) 2009-12-02
JP2010520678A (ja) 2010-06-10
WO2008106656A2 (en) 2008-09-04
WO2008106656A3 (en) 2009-12-10
TW200844903A (en) 2008-11-16
CN101755459A (zh) 2010-06-23
US20080212673A1 (en) 2008-09-04

Similar Documents

Publication Publication Date Title
US10506236B2 (en) Video encoding and decoding with improved error resilience
US9071841B2 (en) Video transcoding with dynamically modifiable spatial resolution
KR20090125150A (ko) 획득 및 기본 계층과 확장 계층 밸런싱을 위해 i 프레임을 적응적으로 결정하는 시스템 및 방법
US10382778B2 (en) Method for motion vector storage in video coding and apparatus thereof
TWI511544B (zh) 用於可調適視訊串流之技術
US8718138B2 (en) Image encoding apparatus and image encoding method that determine an encoding method, to be used for a block to be encoded, on the basis of an intra-frame-prediction evaluation value calculated using prediction errors between selected reference pixels and an input image
US9414086B2 (en) Partial frame utilization in video codecs
US20160073106A1 (en) Techniques for adaptive video streaming
US9300956B2 (en) Method and apparatus for redundant video encoding
US9584832B2 (en) High quality seamless playback for video decoder clients
US8780986B2 (en) Refresh pixel group selection and coding adjustment
GB2492778A (en) Motion compensated image coding by combining motion information predictors
US20120328002A1 (en) Video Coding
JP2007507128A (ja) 参照ピクチャのリフレッシュを遅延させて行うビデオ画像の符号化および復号化
US10432946B2 (en) De-juddering techniques for coded video
CN107431807A (zh) 内容自适应b‑图像模式视频编码
US8503805B2 (en) Method and apparatus for encoding and decoding image adaptive to buffer status
US8594195B2 (en) Method and apparatus for encoding and decoding at least one image frame that is artificially inserted into image sequence
US8692934B2 (en) Method and system for frame rate adaptation
US20090290855A1 (en) Apparatus And Method For Recording Video Data
JP2008109693A (ja) 動画像再符号化装置
KR100546507B1 (ko) 영상 압축 시스템의 전송 오류 감소를 위한 비디오 부호기에서의 압축 모드선택 방법 및 장치
KR101465148B1 (ko) 동영상을 부호화/복호화하기 위한 장치 및 그 방법
JP4360985B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP5367687B2 (ja) データ配信システム、データ配信装置、及びデータ配信方法

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
NORF Unpaid initial registration fee