KR20070111550A - 예측에 의한 유사 고정 품질 레이트 제어 - Google Patents

예측에 의한 유사 고정 품질 레이트 제어 Download PDF

Info

Publication number
KR20070111550A
KR20070111550A KR1020077023200A KR20077023200A KR20070111550A KR 20070111550 A KR20070111550 A KR 20070111550A KR 1020077023200 A KR1020077023200 A KR 1020077023200A KR 20077023200 A KR20077023200 A KR 20077023200A KR 20070111550 A KR20070111550 A KR 20070111550A
Authority
KR
South Korea
Prior art keywords
encoding
complexity
data
bit rate
multimedia data
Prior art date
Application number
KR1020077023200A
Other languages
English (en)
Other versions
KR100927083B1 (ko
Inventor
타오 티안
페이송 첸
Original Assignee
콸콤 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 콸콤 인코포레이티드 filed Critical 콸콤 인코포레이티드
Publication of KR20070111550A publication Critical patent/KR20070111550A/ko
Application granted granted Critical
Publication of KR100927083B1 publication Critical patent/KR100927083B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • 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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/179Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scene or a shot
    • 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/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • H04N21/23655Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2385Channel allocation; Bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4347Demultiplexing of several video streams

Landscapes

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

Abstract

생방송 비디오 스트림과 같은 멀티미디어 데이터를 효율적으로 인코딩하는 방법 및 장치가 개시된다. 사용될 실제 인코딩 전에 1초와 같이 미리 결정된 시간 간격의 인코딩 복잡도가 추정된다. 이는 실제 인코딩이 복잡도의 선험적 추정에 의해 수행될 수 있게 하여, 미리 결정된 시간 간격(비트 레이트)에 할당된 비트들이 미리 결정된 시간 간격 내에 효율적으로 할당되게 한다. 더욱이, 추정된 복잡도는 멀티플렉서와 같은 장치에 제공되어, 비디오 채널에서 예상되는 인코딩 복잡도에 따라 다중화된 비디오 채널들의 집합에 대한 가용 대역폭을 할당할 수 있으며, 이는 다중화된 비디오 채널 집합에 대한 대역폭이 비교적 일정한 경우에도 특정 채널의 품질이 비교적 일정하게 유지되게 한다.

Description

예측에 의한 유사 고정 품질 레이트 제어{QUASI-CONSTANT-QUALITY RATE CONTROL WITH LOOK-AHEAD}
35 U.S.C §119 하의 우선권 주장 본 특허 출원은 "예측에 의한 유사 고정 품질 레이트 제어 방법 및 장치"라는 명칭으로 2005년 3월 10일자 제출된 예비 출원 60/660,908호에 대한 우선권을 주장하며, 이는 본원의 양수인에게 양도되었으며 이로써 본원에 참조로 통합된다.
본 발명은 일반적으로 디지털 비디오에 관한 것으로, 보다 구체적으로는 비디오 압축에 관한 것이다.
멀티미디어 서비스에 대한 수요 증가는 물론, 인터넷 및 무선 통신의 폭발적인 성장 및 굉장한 성공으로 인해, 인터넷 및 이동/무선 채널을 통한 스트리밍 미디어가 굉장한 주의를 끌었다. 이종(heterogeneous) 인터넷 프로토콜(IP) 네트워크에서, 비디오는 서버에 의해 제공되며 하나 이상의 클라이언트에 의해 스트리밍될 수 있다. 유선 접속은 다이얼 업, 종합 정보 통신망(ISDN), 케이블, (xDSL로 총칭하는) 디지털 가입자 회선 프로토콜, 광섬유, 근거리 통신망(LAN), 원거리 통신망(WAN) 등을 포함한다. 전송 모드는 유니캐스트일 수도 있고 멀티캐스트일 수도 있다.
이동/무선 통신은 이종 IP 네트워크와 비슷하다. 이동/무선 채널을 통한 멀티미디어 콘텐츠 전송은 이들 채널이 종종 다중 경로 페이딩, 쉐도잉, 심벌 간 간섭 및 잡음 방해로 인해 심각한 손상을 입기 때문에 매우 도전적이다. 또한, 이동성 및 트래픽 경합과 같은 다른 어떤 이유가 대역폭 변동 및 손실을 일으킨다. 서비스되는 채널 잡음 및 사용자 수는 채널 환경의 시간 변화 특성을 결정한다.
디지털 비디오는 통상적으로 효율적인 저장 및/또는 전송을 위해 압축된다. 많은 비디오 압축 표준이 존재한다.
비디오 압축에 공통적인 한 가지 문제점은 대역폭(초당 비트)과 시각 품질 간의 절충이다. 피크 신호대 잡음비(PSNR)와 같은 각종 측정이 시각 품질의 평가에 사용될 수 있다. 일정한 프레임 레이트로, 비디오 프레임의 인코딩에 사용되는 비트는 비디오에 대한 비트 레이트 또는 대역폭에 직접 비례하게 되며, 이들 용어(비트 및 대역폭)는 기술적으로 동일하지는 않지만 이 기술에서 흔히 교환할 수 있게 사용되며 문맥으로부터 정확한 해석이 결정될 수 있는 것으로 이해될 것이다.
비교적 양호한 시각 품질에 필요한 대역폭은 인코딩되는 비디오의 복잡도에 따라 달라진다. 예를 들어, 뉴스캐스터의 화면과 같이 비교적 정적인 화면은 비교적 낮은 대역폭에 의해 비교적 높은 시각 품질로 인코딩될 수 있다. 반면, 스포츠 경기에서 경기자들을 팬(panning)하는 화면과 같이 비교적 동적인 화면은 동일한 시각 품질을 위해 비교적 많은 양의 대역폭을 소비할 수 있다.
비교적 일정한 품질을 달성하기 위해, 가변 비트 레이트(VBR)로 알려진 기술을 이용하여 프레임의 인코딩에 이용 가능한 비트 수를 변화시키는 것이 바람직하 다. 그러나 이들 VBR 기술은 전송되는 비디오 콘텐츠에 관해서는 일반적으로 적용 가능하지 않다. 디지털 비디오 콘텐츠는 광 네트워크, 유선 네트워크, 무선 네트워크, 위성 등과 같은 다양한 매체를 통해 전송될 수 있다. 방송시 이러한 통신 매체들은 통상적으로 대역 제한된다. 이에 따라, 전송 또는 방송 환경에서 고정 비트 레이트(CBR) 기술이 통상적으로 마련된다.
고정 비트 레이트(CBR) 기술의 사용이 갖는 문제점은 인코딩되는 비디오의 복잡도에 따라 시각 품질이 달라진다는 점이다. 방송캐스터의 화면과 같이 화면이 비교적 정적이면, 소정 품질 레벨에 필요한 것보다 많은 비트가 소비되거나 "낭비"될 것이다. 스포츠에서와 같이 화면이 비교적 동적이면, 품질은 CBR을 겪을 수 있다. 시각 품질이 절충될 때, 인위적 영상(visual artifacts)이 명백해질 수 있고 예를 들어 "블록화(blockiness)"로서 관찰될 수 있다.
따라서 전송 매체에 대한 비교적 고정 비트 레이트, 및 시청자의 즐거움을 위한 비교적 일정한 시각 품질의 유리한 속성들을 조합할 수 있는 인코딩 기술이 당업계에 필요하다.
본원에 개시된 시스템 및 방법은 예를 들어 미리 결정된 시간 윈도우에서 하나 이상의 멀티미디어 데이터에 대한 인코딩 복잡도를 추정하고, 추정된 인코딩 복잡도를 이용하여 인코딩을 위한 비트 레이트를 결정함으로써 상술한 필요성을 해결한다.
한 형태는 수신된 비디오 데이터를 인코딩하는 방법이며, 상기 방법은 상기 비디오 데이터의 제 1 부분에 대한 제 1 인코딩 복잡도를 결정하는 단계; 및 상기 제 1 인코딩 복잡도에 적어도 부분적으로 기초하여 상기 비디오 데이터의 제 1 부분을 인코딩하는 단계를 포함한다.
한 형태는 수신된 비디오 데이터를 인코딩하는 장치이며, 상기 장치는 상기 비디오 데이터의 제 1 부분에 대한 제 1 인코딩 복잡도를 결정하는 수단; 및 상기 제 1 인코딩 복잡도에 적어도 부분적으로 기초하여 상기 비디오 데이터의 제 1 부분을 인코딩하는 수단을 포함한다.
한 형태는 수신된 비디오 데이터를 인코딩하는 장치이며, 상기 장치는 상기 비디오 데이터의 제 1 부분에 대한 제 1 인코딩 복잡도를 결정하도록 구성된 프로세서; 및 상기 제 1 인코딩 복잡도에 적어도 부분적으로 기초하여 상기 비디오 데이터의 제 1 부분을 인코딩하도록 구성된 인코더를 포함한다.
한 형태는 수신된 비디오 데이터를 인코딩하기 위한 명령들을 구비한 유형(tangible) 매체에 구현된 컴퓨터 프로그램 제품이며, 상기 컴퓨터 프로그램 제품은 상기 비디오 데이터의 제 1 부분에 대한 제 1 인코딩 복잡도를 결정하기 위한 명령들을 구비한 모듈; 및 상기 제 1 인코딩 복잡도에 적어도 부분적으로 기초하여 상기 비디오 데이터의 제 1 부분을 인코딩하기 위한 명령들을 구비한 모듈을 포함한다.
한 형태는 멀티미디어 데이터를 인코딩하는 방법이며, 상기 방법은 선택된 데이터 윈도우에 대응하는 제 1 멀티미디어 데이터를 인코딩하는 단계; 및 상기 제 1 멀티미디어 데이터와 다른 제 2 멀티미디어 데이터를 인코딩하는 단계를 포함하며, 상기 제 2 멀티미디어 데이터는 상기 제 1 멀티미디어 데이터를 재인코딩하는 동안 상기 선택된 데이터 윈도우에 대응한다.
한 형태는 멀티미디어 데이터를 인코딩하는 장치이며, 상기 장치는 선택된 데이터 윈도우에 대응하는 제 1 멀티미디어 데이터 및 상기 제 1 멀티미디어 데이터와 다르며 상기 선택된 데이터 윈도우에 대응하는 제 2 멀티미디어 데이터를 인코딩하는 수단; 및 상기 인코딩 수단이 상기 제 2 멀티미디어 데이터를 인코딩하는 동안 상기 제 1 멀티미디어 데이터를 재인코딩하는 수단을 포함한다.
한 형태는 멀티미디어 데이터를 인코딩하는 장치이며, 상기 장치는 선택된 데이터 윈도우에 대응하는 제 1 멀티미디어 데이터를 인코딩하고, 상기 제 1 멀티미디어 데이터와 다르며 상기 선택된 데이터 윈도우에 대응하는 제 2 멀티미디어 데이터를 인코딩하도록 구성된 제 1 인코더; 및 상기 제 1 인코더가 상기 제 2 멀티미디어 데이터를 인코딩하는 동안 상기 제 1 멀티미디어 데이터를 재인코딩하도록 구성된 제 2 인코더를 포함한다.
한 형태는 다중화되어 전송시 함께 운반되는 다수의 비디오 채널에 대한 비디오 데이터를 인코딩하는 방법이며, 상기 방법은 다수의 비디오 채널에 대한 비디오 인코딩을 위해 비디오 프레임들을 수신하는 단계; 거의 동일한 품질 레벨로 다수의 채널의 부분들을 인코딩하는데 필요한 상대적 데이터량을 결정하는 단계 - 상기 인코딩된 부분들에 대한 데이터는 다중화되어 함께 운반됨 -; 미리 결정된 상대적 데이터량에 따라 상기 인코딩된 부분들에 대한 데이터를 할당하는 단계; 상기 할당된 데이터에 따라 비디오 프레임들을 인코딩하는 단계; 및 전송을 위해 상기 인코딩된 비디오 프레임들을 다중화하는 단계를 포함한다.
한 형태는 대역 제한 전송 매체에서 함께 다중화되는 다수의 비디오 채널을 인코딩하는 방법이며, 상기 방법은 다수의 채널로부터 인코딩되고 다중화되어 함께 전송될 다수의 비디오 프레임을 수신하는 단계 - 상기 다수의 비디오 프레임은 각 채널에 대한 미리 결정된 시간 간격에 대응하는 적어도 다수의 프레임을 포함함 -; 다수의 채널의 시각 품질이 인코딩 복잡도의 차와 관계없이 거의 동일하도록 상기 다수의 채널 사이에 상기 다수의 채널에 이용 가능한 비트를 할당하는 단계; 및 상기 할당된 비트에 따라 인코딩하는 단계를 포함한다.
한 형태는 적어도 제 1 비디오 채널 및 제 2 비디오 채널을 포함하며 압축 방식으로 인코딩될 2개 이상의 비디오 채널 사이에 가용 대역폭을 할당하는 방법이며, 상기 방법은 상기 제 1 비디오 채널의 미리 결정된 시간 구간의 비디오 프레임 집합과 관련된 인코딩 복잡도를 추정하는 단계 - 상기 미리 결정된 시간 구간은 비디오 클립의 듀레이션보다 짧고, 상기 추정 단계는 실제로 사용될 인코딩 전에 수행됨 -; 및 상기 비디오 프레임 집합의 실제 인코딩을 위해 추정된 인코딩 복잡도에 적어도 부분적으로 기초한 정보를 이용하는 단계를 포함한다.
한 형태는 다수의 채널 사이에 가용 대역폭을 할당하는 방법이며, 상기 방법은 상기 다수의 채널 각각에 대한 비디오 프레임 집합에 대한 인코딩 복잡도 메트릭에 관한 정보를 수신하는 단계 - 상기 비디오 프레임 집합에 대한 데이터는 동일한 시간 구간에서 전송을 위해 다중화됨 -; 및 각 채널에 대한 인코딩 복잡도 메트릭에 적어도 부분적으로 기초하여 상기 다중화된 채널들 사이에 상기 시간 구간에 대한 가용 비트를 할당하는 단계를 포함한다.
한 형태는 비디오 인코딩 장치이며, 상기 장치는 비디오 클립의 길이와 관련된 시간 구간보다 짧은 미리 결정된 시간 구간에 대응하는 비디오 프레임 집합에 관련된 인코딩 복잡도를 추정하도록 구성된 제 1 처리 엘리먼트; 및 상기 추정된 인코딩 복잡도에 적어도 부분적으로 기초하여 선택된 비트 레이트를 이용하여 상기 비디오 프레임 집합을 인코딩하도록 구성된 제 2 처리 엘리먼트를 포함한다.
한 형태는 다수의 채널 사이에 가용 대역폭을 할당하는 장치이며, 상기 장치는 상기 다수의 채널 각각에 대한 비디오 프레임 집합에 대한 인코딩 복잡도 메트릭에 관한 정보를 수신하도록 구성된 할당 회로 - 상기 비디오 프레임 집합에 대한 데이터는 동일한 시간 구간에서 전송을 위해 다중화됨 -; 및 각 채널에 대한 인코딩 복잡도 메트릭에 적어도 부분적으로 기초하여 상기 다중화된 채널들 사이에 상기 시간 구간에 대한 가용 비트를 할당하도록 구성된 계산 회로를 포함한다.
한 형태는 멀티미디어 데이터를 인코딩하기 위한 명령들을 구비한 유형 매체에 구현된 컴퓨터 프로그램 제품이며, 상기 컴퓨터 프로그램 제품은 선택된 데이터 윈도우에 대응하는 제 1 멀티미디어 데이터를 인코딩하고, 상기 제 1 멀티미디어 데이터와 다르며 상기 선택된 데이터 윈도우에 대응하는 제 2 멀티미디어 데이터를 인코딩하기 위한 명령들을 구비한 모듈; 및 상기 인코딩하기 위한 명령들을 구비한 모듈이 상기 제 2 멀티미디어 데이터를 인코딩하는 동안 상기 제 1 멀티미디어 데이터를 재인코딩하기 위한 명령들을 구비한 모듈을 포함한다.
도 1은 다수의 멀티미디어 데이터 채널에 대한 데이터의 인코딩을 설명하는 시스템도이다.
도 2는 인코딩 프로세스를 일반적으로 설명하는 흐름도이다.
도 3은 다수의 멀티미디어 채널에 대한 데이터의 복잡도를 기초로 비트 레이트를 선택하는 동안의 인코딩 프로세스를 일반적으로 설명하는 흐름도이다.
도 4는 멀티플렉서와 상호 작용하는 다중 통과 예측 인코더의 예를 설명하는 시스템도이다.
도 5는 멀티플렉서와 상호 작용하는 단일 통과 예측 인코더의 예를 설명하는 시스템도이다.
도 6은 독립적인 다중 통과 예측 인코더의 예를 설명하는 시스템도이다.
도 7a는 독립적인 단일 통과 예측 인코더의 예를 설명하는 시스템도이다.
도 7b는 인코딩 복잡도 결정 수단 및 인코딩 수단의 예를 설명하는 시스템도이다.
도 8은 채널의 필요성을 기초로 다중화된 시스템의 가용 대역폭을 할당하기 위한 장치의 예를 설명하는 시스템도이다.
도 9는 추정된 시각 품질 함수(V)대 인코딩 복잡도(C) 및 할당 비트(B)의 3-D 맵이다.
도 10은 멀티미디어 데이터를 인코딩하기 위한 방법의 예를 설명한다.
도 11은 멀티미디어 데이터를 인코딩하기 위한 장치의 예를 설명한다.
다음 설명에서, 실시예들의 전반적인 이해를 제공하기 위해 특정 항목들이 주어진다. 그러나 실시예들은 이들 특정 항목 없이 실시될 수도 있는 것으로 당업자들이 이해할 것이다. 예를 들어, 불필요하게 상세히 실시예를 불명료하게 하지 않도록 전기 소자들은 블록도로 나타낼 수 있다. 다른 경우, 이러한 소자, 다른 구조 및 기술은 실시예를 더 설명하기 위해 상세히 나타낼 수 있다. 당업자들은 개별 블록으로 나타낸 전기 소자들이 재배치될 수 있고 그리고/또는 하나의 소자로 조합될 수 있는 것으로 이해한다.
어떤 실시예들은 순서도, 흐름도, 구조도 또는 블록도로 나타낸 프로세스로서 설명될 수 있다는 점에도 유의한다. 흐름도는 순차적 프로세스로서 동작을 설명할 수 있지만, 많은 동작은 병렬로 또는 동시에 수행될 수 있으며 프로세스는 반복될 수 있다. 또한, 동작 순서는 재배열될 수도 있다. 프로세스는 그 동작이 완료될 때 종료된다. 프로세스는 방법, 함수, 프로시저, 서브루틴, 서브프로그램 등에 대응한 수 있다. 프로세스가 함수에 대응할 때, 그 종료는 호출 함수 또는 메인 함수로의 해당 함수 리턴에 대응한다.
하기에 설명하는 방법 및 장치는 라이브 비디오 채널과 같은 멀티미디어 데이터를 효율적으로 인코딩한다. 선택된 윈도우가 시간 또는 선택된 데이터량, 예를 들어 약 1초에 기반할 수 있는 윈도우 또는 1초와 같은 멀티미디어 데이터의 일부의 인코딩 복잡도는 사용될 실제 인코딩 전에 추정된다. 이는 실제 인코딩이 복잡도의 선험적 추정에 의해 수행될 수 있게 하여, 미리 결정된 시간 간격(비트 레이트)에 할당된 비트들이 선택된 윈도우 내에 효율적으로 할당되게 한다.
비트 레이트는 대역폭이나 품질 또는 둘 다에 기초하여 비트 레이트를 추정하는 장치로부터 입력될 수 있다. 예를 들어, 비트 레이트를 제공하기 위해 멀티플렉서가 구현될 수 있다. 품질은 복잡도에 기반한 콘텐츠의 분류에 기초할 수 있다. 이러한 분류는 "멀티미디어 처리를 위한 콘텐츠 분류"라는 명칭의 동시 계속 출원 " "에서 논의된다.
더욱이, 추정된 복잡도는 비디오 채널과 같이 다중화된 멀티미디어 채널에서 예상되는 인코딩 복잡도에 따라 이들 멀티미디어 채널의 집합을 위해 가용 대역폭을 할당할 수 있는 멀티플렉서와 같은 장치에 제공될 수 있으며, 이는 다중화된 채널 집합에 대한 대역폭이 비교적 일정한 경우에도 특정 채널의 품질이 비교적 일정하게 유지되게 한다. 이는 채널 집합 내에서 비교적 고정 비트 레이트 및 가변 시각 품질보다는 가변 비트 레이트 및 비교적 일정한 시각 품질을 갖는 채널을 제공한다.
도 1은 멀티미디어 데이터(102)의 채널과 같은 다수의 소스의 인코딩을 설명하는 시스템도이다. 멀티미디어 데이터(102)는 멀티플렉서(MUX; 106)와 통신하는 각 인코더(104)에 의해 인코딩되며, MUX(106)는 전송 매체(108)와 통신한다. 예를 들어, 멀티미디어 데이터(102)는 뉴스 채널, 스포츠 채널, 영화 채널 등과 같은 각종 콘텐츠 채널에 해당할 수 있다. 인코더(104)는 멀티미디어 데이터(102)를 시스템에 지정된 인코딩 포맷으로 인코딩한다. 비디오 데이터의 인코딩에 관련하여 설명하지만, 개시된 기술의 원리 및 이점은 예를 들어 영상 데이터 및/또는 음성 데이터를 포함하는 멀티미디어 데이터에 일반적으로 적용될 수 있다. 인코딩된 멀티 미디어 데이터는 멀티플렉서(106)에 제공되어, 각종 인코딩된 멀티미디어 데이터를 조합하고 조합된 데이터를 송신을 위한 전송 매체(108)에 전송한다.
전송 매체(108)는 이에 한정되는 것은 아니지만 DirecTV
Figure 112007072699756-PCT00001
와 같은 디지털 위성 통신, 디지털 케이블, 유무선 인터넷 통신, 광 네트워크, 셀폰 네트워크 등과 같은 다양한 매체에 해당할 수 있다. 무선 통신 시스템의 경우, 전송 매체(108)는 예를 들어 코드 분할 다중 접속(CDMA 또는 CDMA2000) 통신 시스템의 일부를 포함할 수 있고, 또는 대안으로 시스템은 주파수 분할 다중 접속(FDMA) 시스템, 직교 주파수 분할 다중 접속(OFDMA) 시스템, GSM/GPRS(범용 패킷 무선 서비스)/EDGE(확장 데이터 GSM 환경) 또는 서비스 산업용 TETRA(Terrestrial Trunked Radio) 이동 전화 기술과 같은 시분할 다중 접속(TDMA) 시스템, 광대역 코드 분할 다중 접속(WCDMA), 고속 데이터 레이트(1xEV-DO 또는 1xEV-DO Gold Multicast) 시스템, 또는 일반적으로 기술들의 조합을 이용하는 임의의 무선 통신 시스템일 수 있다. 전송 매체(108)는 예를 들어 무선 주파수(RF)로의 변조를 포함할 수 있다. 통상적으로, 스펙트럼 제약 등으로 인해, 전송 매체는 한정된 대역폭을 가지며, 멀티플렉서(106)로부터 전송 매체로의 데이터는 비교적 고정 비트 레이트(CBR)로 유지된다.
종래의 시스템에서, 멀티플렉서(106)의 출력에서의 고정 비트 레이트(CBR) 사용은 멀티플렉서(106)에 입력으로서 제공되는 인코딩된 멀티미디어 데이터 또한 CBR일 것을 요구한다. 배경기술에서 설명한 바와 같이, 예를 들어 비디오 콘텐츠 인코딩시 CBR의 사용은 가변 시각 품질을 초래할 수 있으며, 이는 보통 바람직하지 않다.
설명한 실시예에서, 2개 이상의 인코더(104)는 입력 데이터의 예상 인코딩 복잡도를 전달한다. 하나 이상의 인코더(104)는 응답으로 멀티플렉서(106)로부터의 예상 비트 레이트 제어를 수신할 수 있다. 이는 비교적 복잡한 멀티미디어의 인코딩을 기대하는 인코더(104)가 멀티미디어 프레임들에 대한 더 높은 비트 레이트 또는 더 높은 대역폭(프레임당 더 많은 비트)을 유사(quasi) 가변 비트 레이트 방식으로 수신할 수 있게 한다. 이는 예를 들어 시각적 환경에서 멀티미디어 데이터(102)가 더 일관된 시각 품질로 인코딩될 수 있게 한다. 비교적 복잡한 비디오를 인코딩하는 특정 인코더(104)에 의해 사용되는 여분의 대역폭은 인코더들이 고정 비트 레이트로 동작하도록 구현된 경우에 다른 멀티미디어 데이터(102)를 인코딩하는데 사용되었던 비트로부터 나온다. 이는 멀티플렉서(106)의 출력을 고정 비트 레이트(CBR)로 유지한다.
멀티미디어 데이터(102)의 개별 소스는 비교적 "버스트(bursty)", 즉 사용되는 대역폭에서 달라질 수 있지만, 멀티미디어 데이터의 많은 소스의 누적 합은 덜 버스트할 수 있다. 덜 복잡한 멀티미디어를 인코딩하고 있는 채널들로부터의 비트 레이트는 비교적 복잡한 멀티미디어를 인코딩하고 있는 채널들로, 예를 들어 멀티플렉서(106)에 의해 재할당될 수 있으며, 이는 예를 들어 전체로 조합된 멀티미디어 데이터의 시각 품질을 향상시킬 수 있다. 개시된 기술들은 멀티미디어 데이터에 대한 대역폭 설정에 사용자 개입이 거의 또는 전혀 필요 없도록 대역폭을 적응적으로 할당하는데 사용될 수 있다.
일례로, 인코더(104)는 인코딩되어 함께 다중화되는 비디오 프레임과 같은 멀티미디어 데이터 집합의 복잡도 표시를 멀티플렉서(106)에 제공한다. 예를 들어, 멀티플렉서(106)는 인코딩된 데이터의 1초 길이 데이터 윈도우와 같이 미리 결정된 데이터 윈도우들을 동시에 다중화할 수 있다. 이 미리 결정된 데이터 윈도우에서, 멀티플렉서(106)의 출력은 전송 매체(108)에 지정된 데이터 레이트보다 높지 않은 출력을 제공해야 한다.
예를 들어, 복잡도의 표시는 소정 레벨의 품질을 위해 데이터 윈도우에 대한 멀티미디어 데이터를 인코딩하는데 사용되는 비트 수의 추정치에 대응할 수 있다. 멀티플렉서(106)는 복잡도의 표시를 분석하여, 할당된 비트 수 또는 대역폭을 각종 인코더(104)에 제공하며, 인코더(104)는 이 정보를 이용하여 집합의 멀티미디어 데이터를 인코딩한다. 이는 멀티미디어 데이터 집합을 개별적으로는 가변 비트 레이트로, 또 그룹으로서는 고정 비트 레이트를 달성할 수 있게 한다.
도 2는 인코딩 프로세스를 일반적으로 설명하는 흐름도이다. 설명하는 프로세스는 다양한 방식으로 개조될 수 있는 것으로 당업자들에 의해 인식될 것이다. 예를 들어, 다른 실시예에서, 설명하는 프로세스의 다양한 부분이 조합될 수 있고, 교대 순서로 재배열될 수 있으며, 제거될 수도 있다.
프로세스의 상태(210, 220)는 출력이 다중화되는 인코더 그룹에 이용 가능한 대역폭을 효율적으로 이용하기 위해 멀티플렉서에 의해 다른 인코더들과 협조적으로 인코딩하는 도 1의 인코더(104)와 같은 인코더 수단의 견지에서 설명될 것이다. 상태(320, 330)는 멀티플렉서 또는 멀티플렉서로부터 분리된다면 다른 대역폭 할당 장치의 견지에서 기재된다.
설명하는 프로세스는 상태(210)에서 미리 결정된 시간 구간 또는 윈도우에 대한 인코딩 복잡도를 추정한다. 이 미리 결정된 시간 구간 또는 윈도우는 비교적 넓은 범위에서 달라질 수 있다. 예를 들어, 이 미리 결정된 시간 구간은 약 500㎳ 내지 약 10000㎳ 범위가 될 수 있다. 미리 결정된 시간 구간에 대한 비교적 양호한 값은 약 1초이다. "수퍼 프레임"으로 지칭되는 이 미리 결정된 시간 구간은 영상 그룹(GOP), 즉 인트라 프레임에 관련된 영상들의 그룹이 미리 결정된 시간 구간과 동시에 매치하지 않는다면 이 영상 그룹에 대한 시간 구간에 대응하지 않는다는 점에 유의해야 한다. 오히려, 수퍼 프레임은 소정 개수의 연속 영상일 수 있다. 멀티플렉서 또는 비슷한 장치가 다양한 멀티미디어 데이터를 다중화 방식으로 패키지화하기 위해 미리 결정된 수의 프레임과 같이 주기적인 간격으로 수집하는 시스템에서, 미리 결정된 시간 구간은 멀티플렉서에 의해 사용된 주기적 시간 구간과 매치해야 하는 것으로 이해될 것이다. 예를 들어, 멀티플렉서는 다중화된 데이터에 대한 대역폭 제한에 따르도록 개별 채널에 비트 또는 대역폭을 할당하기 위해, 예를 들어 약 1초의 미리 결정된 시간 간격을 이용할 수 있다.
인코딩 복잡도를 추정하는 한 가지 예는 이중 통과 또는 다중 통과 인코딩 방식의 "제 1 통과" 인코딩 프로세스와 비슷한 인코딩과 같은 인코딩 프로세스에 의한다. 제 1 통과 인코딩 프로세스에서, 디폴트 양자화 파라미터(QP) 레벨과 같은 표준 디폴트 품질 레벨이 통상적으로 사용된다. 인코딩 복잡도를 추정하기 위한 다른 기술은 후술할 대역폭 비(ratio) 메트릭이다.
종래의 다중 통과 인코딩 방식에서, 2시간 영화와 같은 전체 멀티미디어 클 립은 인코딩된 비디오의 저장 없이 우선 제 1 통과에서 인코딩된 다음 또 인코딩된다. 특정 프레임 집합이 얼마나 복잡한지 또는 얼마나 많은 동작을 갖는지와 같은 제 1 통과 인코딩으로부터 수집된 메트릭 또는 통계치가 제 2 통과 또는 나중의 인코딩에 사용되는 비트 레이트를 조정하는데 사용된다. 이는 인코딩된 비디오의 품질을 개선한다.
그러나 이러한 종래의 다중 통과 기술은 DVD에 저장하기 위한 영화의 인코딩과 같이 비-실시간 데이터의 인코딩에는 유용하지만, 비교적 큰 레이턴시(latency)가 허용될 수 없는 방송이나 다른 배포 환경에서의 데이터 인코딩에 전체 클립의 인코딩 지연은 보통 적절하지 않다. 흔히, 멀티미디어 데이터는 뉴스 방송 또는 스포츠 이벤트와 같이 생방송인 콘텐츠를 운반할 수 있다. 또한, 멀티미디어 데이터는 특정 콘텐츠가 "생방송"이 아닌 경우에도 생방송으로 취급되도록 멀티미디어를 배포하는 엔티티의 제어 밖에 있는 콘텐츠를 운반할 수 있다.
뉴스나 스포츠 이벤트와 같은 생방송 멀티미디어 데이터에 대해, 예를 들어 몇 시간 지속하는 큰 레이턴시는 통상 허용될 수 없다. 그러나 비교적 짧은 레이턴시는 허용될 수 있으며 많은 상황에서 중요하지 않을 수도 있다. 미리 결정된 시간 구간 또는 윈도우를 갖는 개시된 기술들은 몇 초 범위의 레이턴시와 같이 비교적 짧은 레이턴시를 유도한다. 이러한 레이턴시는 보통 생방송 콘텐츠의 시청자들에게 불쾌감을 주지 않는다.
미리 결정된 시간 구간에 대한 인코딩 복잡도가 알려질 때, 프로세스의 실제 인코딩(220)을 위해 효율적으로 비트를 할당하는데 이 정보가 사용될 수 있다. 예 를 들어, 다른 채널들의 인코딩 복잡도와 무관하게 인코딩 복잡도 정보가 사용될 수 있으며, 실제 인코딩(220)은 여전히 주목할만한 이익을 가질 것이다. 비트 레이트의 중요하지 않은 변화는 통상적으로 버퍼에 의해 해결될 수 있다. 멀티미디어 데이터의 다른 소스로부터의 비트 레이트 할당과 결합할 때, 프로세스는 훨씬 더 개선될 수 있다. 이러한 변화는 도 3에서 설명한다.
도 3은 멀티미디어 데이터의 다수의 소스의 복잡도를 기초로 비트 레이트를 선택하는 동안의 인코딩 프로세스를 일반적으로 설명하는 흐름도이다. 설명하는 프로세스는 다양한 방식으로 개조될 수 있는 것으로 당업자들에 의해 인식될 것이다. 예를 들어, 다른 실시예에서, 설명하는 프로세스의 다양한 부분이 조합될 수 있고, 교대 순서로 재배열될 수 있으며, 제거될 수도 있다.
프로세스의 상태(310, 340)는 출력이 다중화되는 인코더 그룹에 이용 가능한 대역폭을 효율적으로 이용하기 위해 멀티플렉서에 의해 다른 인코더들과 협조적으로 인코딩하는 도 1의 인코더(104)와 같은 인코더 수단의 견지에서 설명될 것이다. 상태(320, 330)는 도 1의 멀티플렉서(106)와 같은 멀티플렉서 수단 또는 멀티플렉서로부터 분리된다면 다른 대역폭 할당 장치의 견지에서 기재된다.
설명하는 프로세스는 상태(310)에서 미리 결정된 시간 구간 또는 윈도우에 대한 인코딩 복잡도를 추정한다. 이 추정 동작(310)은 도 2와 관련하여 상술한 프로세스의 추정 동작(210)에 대해 설명한 것과 동일할 수 있다. 그러나 도 3의 추정 동작(310)을 위한 미리 결정된 시간 구간은 멀티플렉서가 비트 또는 대역폭을 할당하는 시간 구간 또는 윈도우와 매치해야 한다는 점에 유의해야 한다.
프로세스는 다른 채널로부터 동일한 미리 결정된 시간 구간에 대한 인코딩 복잡도를 구하는 상태(320)로 진행한다. 특정 시간 구간에서, 다양한 인코딩된 채널로부터의 인코딩된 비디오는 다중화되며, 다중화된 통신 채널에 할당된 전체 대역폭을 초과하지 않아야 한다.
프로세스는 상태(330)로 진행하여 각종 채널에 비트를 할당한다. 예를 들어, 인코딩 복잡도에 관한 정보는 소정 시각 품질을 위해 소비될 것으로 예상되는 비트 수와 관련될 수 있다. 이 비트 수는 합산될 수 있고, 채널들에 할당되는 비트 수는 소비될 것으로 예상되는 상대적인 비트 수에 좌우될 수 있다. 예를 들어, 채널의 비례 예상 비트 소비를 기초로 각 채널에 전체 가용 대역폭의 비례 부분이 할당될 수 있다. 다른 예에서, 소비될 것으로 예상되는 상대적 비트 수에 따라, 미리 선택된 각종 비트 레이트에, 예를 들어 저 대역폭, 중간 대역폭 또는 고 대역폭 중 하나에 대해 채널들이 할당될 수 있다. 또한, 각 시스템은 최대 대역폭 및 최소 대역폭에 대한 특정 시스템 한계를 가질 수 있고, 비트의 할당은 이들 한계를 초과하지 않아야 한다는 점에 유의해야 한다. 수퍼 프레임으로 지칭되는 미리 결정된 구간에 대한 프레임 집합에 할당된 비트들은 수퍼 프레임 레벨로 비트 레이트 제어를 위해 인코더에 제공된다.
상태(340)에서, 인코더는 할당된 비트에 따라 수퍼 프레임 또는 미리 결정된 구간의 프레임들을 인코딩한다. 이는 개별 채널 또는 채널 그룹이 가변 비트 레이트(VBR)를 가져 거의 일정한 품질을 달성하고, 또 다수의 채널에 멀티플렉서의 출력을 제공하여 출력에서 고정 비트 레이트를 유지할 수 있게 한다.
도 4는 멀티플렉서와 상호 작용하는 다중 통과 예측 비디오 인코더의 예를 설명하는 시스템도이다. 설명하는 시스템은 2-통과 구조를 이용하지만, 2 이상의 통과가 사용될 수 있는 것으로 이해될 것이다. 시스템은 데이터 저장소(402), 선택적 전처리기(404), 제 1 통과 인코더(406), 제 2 통과 인코더(408), 멀티플렉서(106) 및 전송 매체(108)를 포함한다. 시스템은 다양한 방식으로 구현될 수 있다. 예를 들어, 선택적 전처리기(404), 제 1 통과 인코더(406) 및 제 2 통과 인코더(408) 중 하나 이상이 조합될 수 있고, 분리되어 공통 제어기에 의해 제어될 수도 있다.
데이터 저장소(402)는 들어오는 멀티미디어 데이터를 저장한다. 데이터 저장소(402)는 고체 상태 메모리(DRAM, SRAM), 하드 드라이브 등과 같이 매우 다양한 장치에 의해 구현될 수 있다. 선택적 전처리기(404)는 인코딩 프로세스에서 프레임 그룹 내의 비트 할당을 위한 대역폭 비 메트릭을 계산할 수 있다. 대역폭 비 메트릭은 후술한다. 설명하는 시스템에서, 전처리기(404)는 수퍼 프레임 레벨 비트 레이트 제어와 관계없이 동작한다. 선택적 전처리기(404)는 이들 메트릭을 제1 통과 인코더(406) 및 제 2 통과 인코더(408)에 제공한다.
선택적 전처리기(404), 제 1 인코더(406) 및 제 2 통과 인코더(408)는 파이프라인 구조로 배치된다. 이 파이프라인 구조에서, 각 스테이지에 대한 레이턴시는 동일해야 하며, 즉 각 스테이지는 동일한 양의 데이터를 처리해야 한다. 데이터의 양은 미리 결정된 시간 구간 또는 윈도우의 프레임들에 대응한다. 이들 프레임은 수퍼 프레임으로 지칭된다. 제 2 통과 인코더(408)가 프레임 집합을 인코딩 하는 동안, 제 1 통과 인코더(406)는 제 2 통과 인코더(408)에 의해 인코딩될 다음 프레임 집합의 제 1 통과 인코딩을 수행하고 있으며, 선택적 전처리기(404)는 제 1 통과 프로세서(406)에 의해 제 1 통과 인코딩될 다음 프레임 집합을 처리한다. 인코딩되지 않은 비디오에 대한 원(raw) 데이터가 데이터 저장소(402)로부터 구해질 수 있고, 이 데이터에 대한 레퍼런스(reference)가 메모리 포인터 등으로서 모듈 사이에 전달될 수 있다.
제 1 통과 인코더(406)는 미리 결정된 시간 구간에 대한 멀티미디어 데이터 프레임을 인코딩한다. 그러나 실제 인코딩된 멀티미디어 데이터 프레임은 사용될 필요가 없으며 보통 폐기된다. 소정 품질 레벨로 프레임들을 인코딩하는데 사용되는 비트 수와 같은 복잡도 메트릭이 멀티플렉서(106)에 제공된다. 움직임 벡터(MV)의 연산 및 절대 픽셀 차의 합(SAD)과 같이 재사용될 수 있는 다른 데이터가 제 1 통과 인코더(406)로부터 제 2 통과 인코더(408)로 제공될 수 있다.
각종 채널 사이에 조합된 다중화 데이터에 이용 가능한 비트를 할당하기 위해 멀티플렉서(106)에 의해 복잡도 메트릭이 사용된다. 예를 들어, 멀티플렉서(106)는 도 3과 관련하여 상술한 프로세스의 비트 할당 상태(330)를 이용할 수 있다. 할당된 비트들은 프레임들의 인코딩을 위해 제 2 통과 인코더(408)에 제공된다.
제 2 통과 인코더(408)는 파이프라인의 다음 사이클에서 프레임을 인코딩하고, 인코딩된 프레임들은 다른 채널들로부터의 데이터와의 다중화 및 전송 매체를 통한 전송을 위해 파이프라인의 다음 사이클에서 멀티플렉서(106)에 이용 가능하게 된다.
도 5, 도 6 및 도 7은 도 4에 나타낸 것과 비슷한 시스템의 변형을 나타낸다. 다른 변형이 당업자들에 의해 쉽게 결정될 것이다. 예를 들어, 도 4에 나타낸 시스템의 어떤 변형은 선택적 전처리기(404)가 없는 시스템이다. 전처리기(404)의 제거는 파이프라인의 스테이지 및 스테이지의 레이턴시를 줄인다.
도 5의 변형에서, 제 1 통과 인코딩과 다르고 덜 복잡한 분석을 수행하는 전처리기(502)가 복잡도 메트릭을 제공한다. 이는 예를 들어 처리 전력이 한정된 시스템에 유용할 수 있다. 예를 들어, 복잡도를 결정하기 위해 뒤에 설명할 대역폭 비 메트릭이 사용될 수 있다.
도 5에 나타낸 변형은 데이터 저장소(402), 전처리기(502), 인코더(504), 멀티플렉서(106) 및 전송 매체(108)를 포함한다. 멀티플렉서(106)는 전처리기(502)로부터의 복잡도 추정치에 따라 인코더(504)에 대한 비트 레이트를 할당할 수 있다. 전처리기(502)로부터의 대역폭 비와 인코더(504)에 대한 비트 레이트 제어와 같이 다른 메트릭 간의 매핑은 선형일 수도 있고, 비선형일 수도 있고, 선택된 범위 내의 룩업 테이블에 의해 매핑될 수도 있다.
도 6에 나타낸 변형은 멀티플렉서와 상호 작용하지 않는다. 도 6의 변형은 데이터 저장소(402), 선택적 전처리기(404), 제 1 통과 인코더(602) 및 제 2 통과 인코더(604)를 포함한다. 다중 통과 인코더 수는 2 이외로 달라질 수 있는 것으로 이해될 것이다. 오히려, 제 1 통과 인코더의 결과는 다른 채널들로부터의 복잡도에 따른 비트 레이트 할당 없이 제 2 통과 인코더에 의해 사용된다. 이는 비트 레 이트의 얼마간의 변화가 버퍼로 인해 허용 가능한 시스템에 유용할 수 있지만, 거의 고정 비트 레이트 인코딩이 바람직하다. 나타낸 시스템에서, 제 1 통과 인코더(602)는 수퍼 프레임으로도 알려진 미리 결정된 시간 동안 프레임의 제 1 통과 인코딩을 수행하고, 제 2 통과(604)의 인코딩을 설정하기 위해 복잡도 정보가 사용된다. 도 6의 변형과 종래의 이중 통과 시스템 간의 차이점 하나는 종래의 이중 통과 시스템은 전체 미디어 클립의 전달을 동시에 수행하고, 이는 생방송 데이터와 같은 특정 타입의 데이터에 비실용적이라는 점이다.
도 7a에 나타낸 변형 또한 멀티플렉서와 상호 작용하지 않는다. 상기 변형은 데이터 저장소(402), 전처리기(704) 및 제 1 통과 인코더(704)를 포함한다. 전처리기(702)는 제 1 통과 인코더(704)에 시간 윈도우 복잡도 메트릭을 제공한다. 제 1 통과 인코더(704)는 이 정보를 사용하여 대응하는 멀티미디어 데이터의 인코딩에 사용할 비트 레이트를 선택한다.
도 7b에 나타낸 변형은 멀티플렉서와 상호 작용할 수 있지만 반드시 그러한 것은 아니다. 상기 변형은 인코딩 수단(714)에 복잡도 표시를 제공하는 인코딩 복잡도 결정 수단(712)을 포함한다. 일례로, 인코딩 복잡도 결정 수단(712)은 전처리기(502)에 대응할 수 있으며, 인코딩 수단(714)은 제 1 통과 인코더(504)에 대응할 수 있다. 다른 예에서, 인코딩 복잡도 결정 수단(712)은 제 1 통과 인코더(602)에 대응할 수 있고, 인코딩 수단(714)은 제 2 통과 인코더(604)에 대응할 수 있다. 한 형태에서, 인코딩 복잡도 결정 수단(712)은 데이터의 시간 윈도우에 대한 복잡도 정보 제공하며, 인코딩 수단(714)은 계속해서 인코딩한다. 다른 형태 에서, 멀티플렉서 또는 다른 모듈에 복잡도 정보가 제공될 수 있으며, 그 다음 인코딩 수단(714)에 조정된 비트 레이트를 제공할 수 있다.
도 8은 멀티미디어 데이터의 각종 소스의 필요 또는 인코딩 복잡도를 기초로 다중화된 시스템의 가용 대역폭을 할당하기 위한 프로세서(800)의 예를 설명하는 시스템도이다. 예를 들어, 이러한 프로세서는 멀티플렉서(106)에 통합될 수도 있고 멀티플렉서(106)와 개별적일 수도 있다.
도 8에 나타낸 프로세서(800)는 복잡도 수집 회로(802) 및 할당 회로(804)를 포함한다. 복잡도 수집 회로(802)는 예를 들어 다수의 제 1 통과 인코더로부터 복잡도 추정치를 구한다. 이들 복잡도 추정치가 수집된다. 레지스터에 저장된 데이터 값일 수 있는 총 비트 레이트(806)는 대응하는 멀티미디어 데이터 사이에 할당된다. 예를 들어, 높은 복잡도, 중간 복잡도 및 낮은 복잡도는 고려하지 않고 설정되는 각종 비트 레이트가 있을 수 있으며, 비트 레이트는 상대적 복잡도 추정치에 적어도 부분적으로 기초하여 선택될 수 있으며 그에 따라 할당 회로(804)에 제공될 수 있다. 할당 회로는 예를 들어 수퍼 프레임 레벨 비트 레이트 제어를 위해 할당된 비트 레이트를 사용하는, 예를 들어 제 2 통과 인코더와 통신한다.
이제 다른 형태들을 설명한다. 다수의 레벨로 레이트 제어가 수행될 수 있다. 프레임 내의 그리고 매크로 블록 내의 영상 그룹(GOP)에 대한 레이트 제어 외에도 "수퍼 프레임" 레벨에서의 레이트 제어, 즉 일정 개수의 연속한 영상 또는 데이터 윈도우에 대한 레이트 제어가 사용될 수 있다는 점에 유의해야 한다. 예를 들어, 종래의 기술은 여기서 설명한 기술들은 물론 다른 레벨 내의 레이트 제어에 도 사용될 수 있다. 또한, 수퍼 프레임에 대해 선택된 콘텐츠 및 크기에 따라 영상 그룹의 크기는 수퍼 프레임 크기보다 클 수도 있고 작을 수도 있다는 점에 유의해야 한다.
대역폭 맵 생성
인간의 시각 품질(V)은 인코딩 복잡도(C)와 (대역폭으로도 지칭되는) 할당 비트(B)의 함수일 수 있다.
인코딩 복잡도 메트릭(C)은 인간의 시점으로부터의 공간 및 시간 주파수를 고려한다는 점에 유의해야 한다. 인간의 눈에 더 민감한 왜곡에 대해, 복잡도 값은 이에 대응하여 더 높다. 통상적으로, V는 C에 다라 단조 감소하고 B에 따라 단조 증가하는 것으로 가정할 수 있다. 이 3-D 관계의 예는 도 9에 나타낸다.
일정한 시각 품질을 달성하기 위해, 식 1 및 식 2로 나타낸 기준을 만족하는 인코딩될 제 i 객체(프레임 또는 MB)에 대역폭(Bi)이 할당된다.
Figure 112007072699756-PCT00002
식 1 및/또는 식 2에서, Ci는 제 i 객체의 인코딩 복잡도이고, B는 총 가용 대역폭이며, V는 객체에 대해 달성된 시각 품질이다. 인간의 시각 품질은 식으로 공식화하기 어렵다. 따라서 상기 식 집합은 정확하게 정의되지 않는다. 그러나 3-D 모델이 모든 변수에 연속적인 것으로 가정한다면, 대역폭 비(Bi/B)는 (C, V) 쌍 의 이웃 내에서 변경되지 않는 것으로 취급될 수 있다. 대역폭 비 βi는 식 3으로 정의된다.
Figure 112007072699756-PCT00003
비트 할당 문제는 식 4로 나타낸 것과 같이 정의될 수 있다.
Figure 112007072699756-PCT00004
상기 식 4에서, δ는 "이웃"을 지시한다.
인코딩 복잡도는 공간적 시간적인 인간의 시각적 감도에 영향을 받는다. Girod의 휴먼 비전 모델이 공간 복잡도를 정의하는데 사용될 수 있는 모델의 예이다. 이 모델은 국부 공간 주파수 및 주변 광(ambient lighting)을 고려한다. 결과적인 메트릭은 Dcsat로 불린다. 프로세스의 전처리 지점에서, 영상이 인트라-코딩되는지 인터-코딩되는지는 알려지지 않으며, 이 둘의 대역폭 비가 생성된다. 인트라-코딩된 영상의 경우, 대역폭 비는 식 5로 표현된다.
Figure 112007072699756-PCT00005
상기 식에서, Y는 MB의 평균 휘도 성분이고, αINTRA는 이어지는 휘도 제곱 및 Dcsat 항에 대한 가중 계수이고, β0 INTRA
Figure 112007072699756-PCT00006
를 보장하기 위한 정규화 계수이다. 예를 들어, αINTRA = 4에 대한 값은 양호한 시각 품질을 달성한다. 스케일링 계수 β0 NTRA의 값은 서로 다른 비디오 객체의 βINTRA 간의 비에 따라 비트가 할당되는 한 중요하지 않다.
이러한 관계를 이해하기 위해, 인코딩 복잡도에 따라 적으로 대역폭이 할당된다는 점에 유의해야 한다. 휘도 제곱 항은 더 큰 크기를 갖는 계수가 인코딩에 더 많은 비트를 사용한다는 사실을 반영한다. 로그가 음의 값을 갖는 것을 막기 위해, 괄호 안의 항에 1이 더해진다. 다른 밑을 갖는 로그가 사용될 수도 있다.
인터-코딩된 영상에 대한 비트 할당은 시간적 복잡도뿐 아니라 공간적 복잡도로 고려할 필요가 있다. 이는 하기에 식 6으로 나타낸다.
Figure 112007072699756-PCT00007
식 6에서, MVP 및 MVN은 현재 MB에 대한 전방 및 후방 움직임 벡터이다. INTRA 공식의 Y2은 SSD로 대체되며, 이는 제곱한 차의 합을 나타낸다는 점에 주목할 수 있다.
식 6에서
Figure 112007072699756-PCT00008
의 역할을 이해하기 위해, 인간 시각 시스템의 다음 특성에 주목한다: 평탄한 예측 가능 움직임이 가해지는 영역(작은
Figure 112007072699756-PCT00009
)은 주의를 끌며 눈에 의해 추적될 수 있고 통상적으로 움직이지 않는 영역보다 어떤 더 많은 왜곡을 묵인할 수 없다. 그러나 빠르거나 예측 불가능한 움직임이 가해지는 영역(큰
Figure 112007072699756-PCT00010
)은 추적될 수 없고 상당한 양자화를 묵인할 수 있다. 실 험은 αINTER = 1, γ = 0.001이 양호한 시각 품질을 달성함을 보여준다.
βINTRA 뒤에 프레임 타입 결정이 수행될 수 있으며 프레임마다 βINTER가 계산된다. βINTERINTRA ≥ T, 또는 장면 변화가 검출된다면, 프레임은 I-프레임으로서 인코딩되고, 그렇지 않으면 P-프레임 또는 B-프레임으로서 인코딩된다. 연속한 B-프레임 수는 콘텐츠 적응적이다.
GOP 레벨 레이트 제어( RC ) 및 프레임 레벨 RC
서로 다른 영상 타입은 서로 다른 인코딩 효율 및 서로 다른 에러 강인성(robustness)을 갖는다. 인코더 및 디코더는 각각 버퍼를 유지한다. 가상 버퍼 크기는 얼마나 많은 버스트가 용납될 수 있는지를 결정한다. 예를 들어, 가상 버퍼 크기가 멀티미디어 데이터의 평균 8초의 크기로 설정된다면, 레이트 제어(RC) 알고리즘은 8초의 시간 프레임 동안 평균 비트 레이트를 유지한다. 순간 비트 레이트는 평균보다 훨씬 높을 수도 있고 낮을 수도 있지만, 어떤 8초 데이터에서도 비트 레이트의 평균은 타깃 비트 레이트에 가깝게 유지되어야 한다.
인코더 버퍼 및 디코더 버퍼의 버퍼 채움은 서로 이원적이다. 디코더 버퍼의 오버플로 이벤트는 인코더 버퍼의 언더플로 이벤트에 대응한다. 디코더 버퍼의 언더플로 이벤트는 디코더 버터의 오버플로 이벤트에 대응한다.
I-프레임 QP 할당
비트 스트림의 맨 처음에, 식 7로 나타낸 것과 같이 평균 픽셀당 비트(bpp) 값에 따라 제 1 I-프레임에 대한 양자화 파라미터(QP)가 계산된다.
Figure 112007072699756-PCT00011
이 식은 JVT(Joint Video Team) 명세로부터 취해진다. 상기 식에서, W 및 H는 각각 영상의 폭과 높이이다. 이 식에서
Figure 112007072699756-PCT00012
및 파라미터들은 짧게 언급할 것이다.
인코더는 이전에 인코딩된 P 영상의 QP를 계속 추적한다. 식 8을 통해 평활화된 P 영상 QP가 얻어진다.
Figure 112007072699756-PCT00013
상기 식에서, α는 지수적 가중 계수이고 QPP는 최근에 인코딩된 P-프레임의 QP이다.
GOP에서 제 1 I-프레임의 QP는 식 9를 이용하여 계산될 수 있다.
Figure 112007072699756-PCT00014
P-프레임 QP 할당
식 10으로 나타낸 것과 같이 영상 그룹(GOP)의 맨 처음에 프레임 크기에 대한 하한이 초기화된다.
Figure 112007072699756-PCT00015
식 10은 JVT로부터 취해지고, 여기서 B(ni ,0)는 제 (i-1) GOP를 코딩한 후의 버퍼 점유 기간이고, B(n0 ,0) = 0이므로 버퍼는 처음에 비어 있고, u(ni ,j)는 가용 채널 대역폭이며, F는 미리 정의된 프레임 레이트이다.
I-프레임은 인코딩을 위해 많은 비트를 사용할 수 있다. 식 11로 나타낸 것과 같이 영상 그룹(GOP)의 맨 처음에 프레임 크기의 상한이 초기화된다.
Figure 112007072699756-PCT00016
식 11은 JVT로부터 취해지고, 여기서 bI는 최초 I-프레임에 대해 소비된 최대 비트 수이다. ω는 버퍼에 대한 오버플로 방지 계수이다.
모든 프레임을 인코딩한 후, 식 12 및 식 13으로 나타낸 것과 같이 하한 및 상한이 업데이트될 수 있다.
Figure 112007072699756-PCT00017
식 12 및 식 13은 JVT로부터 취해지고, 여기서 b(ni ,j)는 제 i GOP에서 제 j 프레임에 의해 생성된 비트 수이다.
식 14로 표현된 것과 같이 나머지 예측을 위한 총 비트가 계산될 수 있다.
Figure 112007072699756-PCT00018
식 14에서, NRemauungLookAhead는 나머지 예측 프레임들의 수이고, βRemainingLookAhead 는 대응하는 나머지 예측 프레임의 대역폭 메트릭이며, βProjectedBWSmoothingWin은 예측된 대역폭 평활화 윈도우의 대역폭 메트릭이다. 버퍼를 비우는 작업은 대역폭 평활화 윈도우에 걸쳐 분산되며, 윈도우 크기는 사용자에 의해 규정될 수 있음을 알 수 있다. 예를 들어, 8초의 비디오마다 W의 평균 비트 레이트를 유지하기 위해, 대역폭 평활화 윈도우는 프레임 레이트의 8배(초당 프레임)로 설정되어야 한다.
P 프레임의 예상 크기는 식 15에 나타낸다.
Figure 112007072699756-PCT00019
상기 식에서, β(ni ,j)는 제 i GOP에서 제 j 프레임의 대역폭 메트릭이고, 이는 대역폭 메트릭(B)을 통해 구해질 수 있다.
버퍼 점유의 언더플로 및 오버플로를 막기 위해, 식 16 및 식 17의 클리핑(clipping) 함수가 R(ni ,j)에 적용된다.
Figure 112007072699756-PCT00020
식 16 및 식 17은 JVT로부터 취해진다. JVT에 기술된 2차 모델링이 Qstep 및 QP의 계산에 적용될 수 있으며, S는 움직임 추정으로부터 구해진 SAD 값이다. 2차 모델의 파라미터들은 선형 역행을 이용하여 프레임 단위로 업데이트될 수 있다.
상기 논의로부터, INTER 프레임 RC는 JVT 권고와 비슷하며, 다음의 개선된 특징을 갖는다는 점을 알 수 있다: 큰 가상 버퍼는 충분한 비트 레이트 변화 및 유사-일정 품질을 허용하고; 프레임 복잡도 맵에 따라 프레임 크기가 할당되며; 비인과적 통계치를 활용하는데 예측 프레임(수퍼 프레임)이 사용된다.
B-프레임 QP 할당
이 부분은 JVT 권고와 동일할 수 있다. I- 또는 P-프레임 쌍 사이에 단 하나의 B-프레임이 존재한다면, 식 18이 사용될 수 있다.
Figure 112007072699756-PCT00021
상기 식 18은 JVT로부터 취해지며, QP1 및 QP2는 I- 또는 P-프레임 쌍에 대한 양자화 파라미터이다.
I- 또는 P-프레임 쌍 사이의 B-프레임 수가 L(L>1)이라면, 식 19가 사용될 수 있다.
Figure 112007072699756-PCT00022
상기 식은 JVT로부터 취해지며, α는 제 1 B 프레임의 양자화 파라미터와 QP1 간의 차이고, 식 20a로 주어진다.
Figure 112007072699756-PCT00023
수퍼 프레임 레벨 레이트 제어(( RC )
수퍼 프레임의 크기가 최대 규정 값을 초과하지 않도록 수퍼 프레임 레벨에서의 레이트 제어가 사용된다. 한 형태로, 다중 통과로 인코딩이 수행된다면, 제 1 통과에서 수퍼 프레임 레벨 RC는 수행되지 않는다.
전체 수퍼 프레임을 인코딩한 후, 인코더는 수퍼프레임의 크기가 한계 미만인지를 검증한다. 그렇지 않다면, 현재 수퍼 프레임에 있는 프레임의 대역폭 맵이 식 20b에 기술한 것과 같이 스케일링될 수 있다. 식 20b에서, P는 0과 1 사이의 보호 계수이다.
Figure 112007072699756-PCT00024
기본 단위 레벨 레이트 제어( RC )
기본 단위는 1 또는 다수의 매크로 블록일 수 있다.
INTRA 기본 단위 QP 조정
식 21에 나타낸 관계는 인트라 기본 단위 QP 조정에 사용될 수 있다.
Figure 112007072699756-PCT00025
식 21에서, A는 실험에 의해 결정된 음이 아닌 파라미터이고,
Figure 112007072699756-PCT00026
는 비디오 객체 이웃의 평균 대역폭 비이다. A = 0.08에 대한 값은 양호한 시각 품질을 산출한다. 갑작스러운 변화를 막기 위해 규정된 한계에 QP의 변화가 또 가해진다.
INTER 기본 단위 QP 조정
2차 모델에 따라 INTER 기본 단위 QP가 할당되고, 이는 식 22에 나타낸 것과 같이 JVT로부터 취해진다.
Figure 112007072699756-PCT00027
적응적 기본 단위 크기
기본 단위의 크기는 얼마나 자주 QP가 조정될 수 있는지를 결정한다. 그러나 너무 많은 QP 조정은 오버헤드를 증가시킨다. 적응적 기본 단위 크기 결정은 비슷한 QP의 매크로 블록(MB)을 함께 그룹화하며 이들에 단일 QP를 할당한다.
도 10은 멀티미디어 데이터를 인코딩하기 위한 방법의 예를 설명한다. 설명하는 방법은 선택된 데이터 윈도우에 대응하는 제 1 멀티미디어 데이터를 인코딩하는 단계(1010); 및 제 1 멀티미디어 데이터와 다른 제 2 멀티미디어 데이터를 인코딩하는 단계(1020)를 포함하고, 상기 제 2 멀티미디어 데이터는 상기 제 1 멀티미디어 데이터를 재인코딩하는 동안 선택된 데이터 윈도우에 대응한다.
도 11은 멀티미디어 데이터를 인코딩하기 위한 장치의 예를 설명한다. 설명하는 장치는 선택된 데이터 윈도우에 대응하는 제 1 멀티미디어 데이터 및 제 1 멀티미디어 데이터와 다르며 상기 선택된 데이터 윈도우에 대응하는 제 2 멀티미디어 데이터를 인코딩하는 수단(1110); 및 상기 인코딩 수단(1110)이 제 2 멀티미디어 데이터를 인코딩하는 동안 상기 제 1 멀티미디어 데이터를 재인코딩하는 수단(1120)을 포함한다.
당업자들은 정보 및 신호가 다양한 다른 어떤 기술 및 방식으로도 표현될 수 있는 것으로 이해할 것이다. 예를 들어, 상기 설명 전반에 걸쳐 언급될 수 있는 데이터, 명령, 지시, 정보, 신호, 비트, 심벌 및 칩은 전압, 전류, 전자파, 자기 필드 또는 입자, 광 필드 또는 입자, 또는 이들의 임의의 조합으로 표현될 수 있다.
당업자들은 또한 본원에 개시된 실시예들과 관련하여 설명되는 각종 예시적인 논리 블록, 모듈, 회로 및 알고리즘 단계들이 전자 하드웨어, 펌웨어, 컴퓨터 소프트웨어, 미들웨어, 마이크로코드 또는 이들의 조합으로 구현될 수 있는 것으로 인식할 것이다. 이러한 하드웨어와 소프트웨어의 호환성을 명확히 설명하기 위해, 각종 예시적인 성분, 블록, 모듈, 회로 및 단계들은 일반적으로 그 기능성에 관하여 설명되었다. 이러한 기능성이 하드웨어로 구현되는지 소프트웨어로 구현되는지는 전체 시스템에 부과된 특정 애플리케이션 및 설계 제약에 좌우된다. 당업자들은 상술한 기능성을 특정 애플리케이션마다 다양한 방식으로 구현할 수 있지만, 이러한 구현 결정은 개시된 방법의 범위를 벗어나는 것으로 해석되지 않아야 한다.
본원에 개시된 형태들에 관련하여 설명한 다양한 예시적인 논리 블록, 모듈 및 회로는 여기서 설명하는 기능들을 수행하도록 설계된 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적 회로(ASIC), 현장 프로그래밍 가능 게이트 어레이(FPGA) 또는 다른 프로그래밍 가능 로직 장치, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 성분, 또는 이들의 임의의 조합으로 구현 또는 수행될 수 있다. 시스템의 일부 또는 전부는 도시하지 않은 프로세서에서 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안으로 프로세서는 임의의 종래 프로세서, 제어기, 마이크로프로세서 또는 상태 머신일 수 있다. 프로세서는 또한 연산 장치들의 조합, 예를 들어 DSP와 마이크로프로세서, 다수의 마이크로프로세서, DSP 코어와 결합한 하나 이상의 마이크로프로세서의 조합, 또는 임의의 다른 구성으로 구현될 수도 있다.
본원에 개시된 예시 및/또는 형태와 관련하여 설명되는 방법 또는 알고리즘에 의해 이루어지는 작용들은 하드웨어에 직접, 또는 프로세서에 의해 실행되는 소프트웨어에, 또는 이 둘의 조합에 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드디스크, 착탈식 디스크, CD-ROM, 또는 공지된 다른 형태의 저장 매체에 상주할 수 있다. 예시적인 저장 매체는 프로세서가 저장 매체로부터 정보를 읽고 저장 매체에 정보를 기록할 수 있도록 프로세서에 연결된다. 대안으로, 저장 매체는 프로세서에 통합될 수 있다. 프로세서 및 저장 매체는 ASIC에 상주할 수 있다. ASIC는 사용자 단말에 상주할 수 있다. 대안으로, 프로세서 및 저장 매체는 사용자 단말에 개별 성분으로서 상주할 수 있다.
개시된 형태들의 다음 설명은 당업자들이 본 발명을 제작 또는 사용할 수 있도록 제공된다. 이들 형태에 대한 다양한 변형이 당업자들에게 쉽게 명백할 것이며, 본원에 정의된 일반 원리들은 발명의 진의 또는 범위를 벗어나지 않고 다른 형태들에 적용될 수 있다. 따라서 본 발명은 본원에 나타낸 실시예들로 한정되는 것이 아니라 본원에 개시된 원리 및 신규한 특징들에 부합하는 가장 넓은 범위에 따르는 것이다.

Claims (53)

  1. 수신된 비디오 데이터를 인코딩하는 방법으로서,
    상기 비디오 데이터의 제 1 부분에 대한 제 1 인코딩 복잡도를 결정하는 단계; 및
    상기 제 1 인코딩 복잡도에 적어도 부분적으로 기초하여 상기 비디오 데이터의 제 1 부분을 인코딩하는 단계를 포함하는, 비디오 데이터 인코딩 방법.
  2. 제 1 항에 있어서,
    상기 제 1 인코딩 복잡도에 적어도 부분적으로 기초하여 결정되는 타깃 비트 레이트를 수신하는 단계를 더 포함하며, 상기 인코딩 단계는 인코딩된 제 1 부분이 상기 타깃 비트 레이트에 가까운 비트 레이트로 전송될 수 있도록 상기 제 1 부분을 인코딩하는 단계를 포함하는 것을 특징으로 하는 비디오 데이터 인코딩 방법.
  3. 제 1 항에 있어서,
    상기 제 1 인코딩 복잡도는 상기 제 1 부분의 인코딩에 기초하며,
    상기 제 1 인코딩 복잡도에 적어도 부분적으로 기초하여 결정되는 타깃 비트 레이트를 수신하는 단계를 더 포함하고, 상기 인코딩 단계는 재인코딩된 제 1 부분이 상기 타깃 비트 레이트에 가까운 비트 레이트로 전송될 수 있도록 상기 제 1 부분을 재인코딩하는 단계를 더 포함하는 것을 특징으로 하는 비디오 데이터 인코딩 방법.
  4. 제 1 항에 있어서,
    상기 제 1 인코딩 복잡도는 인코딩 프로세스에 기초하지 않으며,
    상기 비디오 데이터의 제 1 부분에 대한 제 2 인코딩 복잡도를 구하는 단계를 더 포함하고, 상기 제 1 인코딩 복잡도 및 상기 제 2 인코딩 복잡도에 적어도 부분적으로 기초하여 타깃 비트 레이트가 결정되는 것을 특징으로 하는 비디오 데이터 인코딩 방법.
  5. 제 1 항에 있어서,
    상기 제 1 부분은 비디오 클립의 듀레이션(duration)보다 짧은, 미리 결정된 시간 구간의 비디오 데이터에 대응하는 것을 특징으로 하는 비디오 데이터 인코딩 방법.
  6. 제 5 항에 있어서,
    상기 미리 결정된 시간 구간은 약 1초인 것을 특징으로 하는 비디오 데이터 인코딩 방법.
  7. 제 1 항에 있어서,
    상기 제 1 부분은 미리 결정된 수의 프레임으로 이루어진 비디오 데이터에 대응하는 것을 특징으로 하는 비디오 데이터 인코딩 방법.
  8. 제 1 항에 있어서,
    상기 제 1 인코딩 복잡도는 국부 공간 주파수 및 주변 광(ambient light)의 조합에 기초한 객체에 대한 메트릭의 로그(logarithm)에 적어도 부분적으로 기초하는 것을 특징으로 하는 비디오 데이터 인코딩 방법.
  9. 제 8 항에 있어서,
    상기 객체는 매크로 블록 또는 프레임인 것을 특징으로 하는 비디오 데이터 인코딩 방법.
  10. 수신된 비디오 데이터를 인코딩하는 장치로서,
    상기 비디오 데이터의 제 1 부분에 대한 제 1 인코딩 복잡도를 결정하는 수단; 및
    상기 제 1 인코딩 복잡도에 적어도 부분적으로 기초하여 상기 비디오 데이터의 제 1 부분을 인코딩하는 수단을 포함하는, 비디오 데이터 인코딩 장치.
  11. 제 10 항에 있어서,
    상기 제 1 인코딩 복잡도에 적어도 부분적으로 기초하여 결정되는 타깃 비트 레이트를 수신하는 수단을 더 포함하며, 상기 인코딩 수단은 인코딩된 제 1 부분이 상기 타깃 비트 레이트에 가까운 비트 레이트로 전송될 수 있도록 상기 제 1 부분을 인코딩하는 수단을 포함하는 것을 특징으로 하는 비디오 데이터 인코딩 장치.
  12. 제 10 항에 있어서,
    상기 제 1 인코딩 복잡도는 상기 제 1 부분의 인코딩에 기초하며, 상기 제 1 인코딩 복잡도에 적어도 부분적으로 기초하여 결정되는 타깃 비트 레이트를 수신하는 수단을 더 포함하고, 상기 인코딩 수단은 재인코딩된 제 1 부분이 상기 타깃 비트 레이트에 가까운 비트 레이트로 전송될 수 있도록 상기 제 1 부분을 재인코딩하는 수단을 더 포함하는 것을 특징으로 하는 비디오 데이터 인코딩 장치.
  13. 제 10 항에 있어서,
    상기 제 1 인코딩 복잡도는 인코딩 프로세스에 기초하지 않으며,
    상기 비디오 데이터의 제 1 부분에 대한 제 2 인코딩 복잡도를 구하는 수단을 더 포함하고, 상기 제 1 인코딩 복잡도 및 상기 제 2 인코딩 복잡도에 적어도 부분적으로 기초하여 타깃 비트 레이트가 결정되는 것을 특징으로 하는 비디오 데이터 인코딩 장치.
  14. 제 10 항에 있어서,
    상기 제 1 부분은 비디오 클립의 듀레이션보다 짧은, 미리 결정된 시간 구간의 비디오 데이터에 대응하는 것을 특징으로 하는 비디오 데이터 인코딩 장치.
  15. 제 14 항에 있어서,
    상기 미리 결정된 시간 구간은 약 1초인 것을 특징으로 하는 비디오 데이터 인코딩 장치.
  16. 제 10 항에 있어서,
    상기 제 1 부분은 미리 결정된 수의 프레임으로 이루어진 비디오 데이터에 대응하는 것을 특징으로 하는 비디오 데이터 인코딩 장치.
  17. 제 10 항에 있어서,
    상기 제 1 인코딩 복잡도는 국부 공간 주파수 및 주변 광의 조합에 기초한 객체에 대한 메트릭의 로그에 적어도 부분적으로 기초하는 것을 특징으로 하는 비디오 데이터 인코딩 장치.
  18. 제 18 항에 있어서,
    상기 객체는 매크로 블록 또는 프레임인 것을 특징으로 하는 비디오 데이터 인코딩 장치.
  19. 수신된 비디오 데이터를 인코딩하는 장치로서,
    상기 비디오 데이터의 제 1 부분에 대한 제 1 인코딩 복잡도를 결정하도록 구성된 프로세서; 및
    상기 제 1 인코딩 복잡도에 적어도 부분적으로 기초하여 상기 비디오 데이터의 제 1 부분을 인코딩하도록 구성된 인코더를 포함하는, 비디오 데이터 인코딩 장치.
  20. 제 19 항에 있어서,
    상기 인코더는 상기 제 1 인코딩 복잡도에 적어도 부분적으로 기초하여 결정되는 타깃 비트 레이트를 수신하도록 추가 구성되며, 상기 인코더는 인코딩된 제 1 부분이 상기 타깃 비트 레이트에 가까운 비트 레이트로 전송될 수 있도록 상기 제 1 부분을 인코딩하도록 추가 구성되는 것을 특징으로 하는 비디오 데이터 인코딩 장치.
  21. 제 19 항에 있어서,
    상기 제 1 인코딩 복잡도는 상기 제 1 부분의 인코딩에 기초하며, 상기 인코더는 제 1 인코딩 복잡도에 적어도 부분적으로 기초하여 결정되는 타깃 비트 레이트를 수신하도록 구성되고, 상기 인코더는 재인코딩된 제 1 부분이 상기 타깃 비트 레이트에 가까운 비트 레이트로 전송될 수 있도록 상기 제 1 부분을 재인코딩하도록 추가 구성되는 것을 특징으로 하는 비디오 데이터 인코딩 장치.
  22. 제 19 항에 있어서,
    상기 제 1 인코딩 복잡도는 인코딩 프로세스에 기초하지 않으며, 상기 인코더는 상기 비디오 데이터의 제 1 부분에 대한 제 2 인코딩 복잡도를 구하도록 구성되고, 상기 제 1 인코딩 복잡도 및 상기 제 2 인코딩 복잡도에 적어도 부분적으로 기초하여 타깃 비트 레이트가 결정되는 것을 특징으로 하는 비디오 데이터 인코딩 장치.
  23. 제 19 항에 있어서,
    상기 제 1 부분은 비디오 클립의 듀레이션보다 짧은, 미리 결정된 시간 구간의 비디오 데이터에 대응하는 것을 특징으로 하는 비디오 데이터 인코딩 장치.
  24. 제 23 항에 있어서,
    상기 미리 결정된 시간 구간은 약 1초인 것을 특징으로 하는 비디오 데이터 인코딩 장치.
  25. 제 19 항에 있어서,
    상기 제 1 부분은 미리 결정된 수의 프레임으로 이루어진 비디오 데이터에 대응하는 것을 특징으로 하는 비디오 데이터 인코딩 장치.
  26. 제 19 항에 있어서,
    상기 제 1 인코딩 복잡도는 국부 공간 주파수 및 주변 광의 조합에 기초한 객체에 대한 메트릭의 로그에 적어도 부분적으로 기초하는 것을 특징으로 하는 비디오 데이터 인코딩 장치.
  27. 제 26 항에 있어서,
    상기 객체는 매크로 블록 또는 프레임인 것을 특징으로 하는 비디오 데이터 인코딩 장치.
  28. 제 26 항에 있어서,
    멀티플렉서를 더 포함하며, 상기 멀티플렉서는 인코딩 복잡도에 적어도 부분적으로 기초하는 타깃 비트 레이트를 상기 인코더에 제공하도록 구성되는 것을 특징으로 하는 비디오 데이터 인코딩 장치.
  29. 수신된 비디오 데이터를 인코딩하기 위한 명령들을 구비한 유형(tangible) 매체에 구현된 컴퓨터 프로그램 제품으로서,
    상기 비디오 데이터의 제 1 부분에 대한 제 1 인코딩 복잡도를 결정하기 위한 명령들을 구비한 모듈; 및
    상기 제 1 인코딩 복잡도에 적어도 부분적으로 기초하여 상기 비디오 데이터의 제 1 부분을 인코딩하기 위한 명령들을 구비한 모듈을 포함하는, 컴퓨터 프로그램 제품.
  30. 제 29 항에 있어서,
    상기 제 1 인코딩 복잡도에 적어도 부분적으로 기초하여 결정되는 타깃 비트 레이트를 수신하기 위한 명령을 구비한 모듈을 더 포함하며, 상기 인코딩하기 위한 명령들을 구비한 모듈은 인코딩된 제 1 부분이 상기 타깃 비트 레이트에 가까운 비트 레이트로 전송될 수 있도록 상기 제 1 부분을 인코딩하기 위한 명령들을 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
  31. 제 29 항에 있어서,
    상기 제 1 인코딩 복잡도는 상기 제 1 부분의 인코딩에 기초하며,
    상기 제 1 인코딩 복잡도에 적어도 부분적으로 기초하여 결정되는 타깃 비트 레이트를 수신하기 위한 명령들을 구비한 모듈을 더 포함하고, 상기 인코딩하기 위한 명령들을 구비한 모듈은 재인코딩된 제 1 부분이 상기 타깃 비트 레이트에 가까운 비트 레이트로 전송될 수 있도록 상기 제 1 부분을 재인코딩하기 위한 명령을 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
  32. 제 29 항에 있어서,
    상기 제 1 인코딩 복잡도는 인코딩 프로세스에 기초하지 않으며,
    상기 비디오 데이터의 제 1 부분에 대한 제 2 인코딩 복잡도를 구하기 위한 명령들을 구비한 모듈을 더 포함하고, 상기 제 1 인코딩 복잡도 및 상기 제 2 인코딩 복잡도에 적어도 부분적으로 기초하여 타깃 비트 레이트가 결정되는 것을 특징 으로 하는 컴퓨터 프로그램 제품.
  33. 제 29 항에 있어서,
    상기 제 1 부분은 비디오 클립의 듀레이션보다 짧은, 미리 결정된 시간 구간의 비디오 데이터에 대응하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
  34. 제 34 항에 있어서,
    상기 미리 결정된 시간 구간은 약 1초인 것을 특징으로 하는 컴퓨터 프로그램 제품.
  35. 제 29 항에 있어서,
    상기 제 1 부분은 미리 결정된 수의 프레임으로 이루어진 비디오 데이터에 대응하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
  36. 제 29 항에 있어서,
    상기 제 1 인코딩 복잡도는 국부 공간 주파수 및 주변 광의 조합에 기초한 객체에 대한 메트릭의 로그에 적어도 부분적으로 기초하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
  37. 제 36 항에 있어서,
    상기 객체는 매크로 블록 또는 프레임인 것을 특징으로 하는 컴퓨터 프로그램 제품.
  38. 멀티미디어 데이터를 인코딩하는 방법으로서,
    선택된 데이터 윈도우에 대응하는 제 1 멀티미디어 데이터를 인코딩하는 단계; 및
    상기 제 1 멀티미디어 데이터와 다른 제 2 멀티미디어 데이터를 인코딩하는 단계를 포함하며, 상기 제 2 멀티미디어 데이터는 상기 제 1 멀티미디어 데이터를 재인코딩하는 동안 상기 선택된 데이터 윈도우에 대응하는, 멀티미디어 데이터 인코딩 방법.
  39. 제 38 항에 있어서,
    상기 선택된 데이터 윈도우는 약 1초의 데이터에 대응하는 것을 특징으로 하는 멀티미디어 데이터 인코딩 방법.
  40. 제 38 항에 있어서,
    상기 제 1 멀티미디어 데이터는 비디오 데이터를 포함하고, 상기 제 1 멀티미디어 데이터를 인코딩하는 단계는,
    상기 비디오 데이터에 대한 인코딩 복잡도를 결정하는 단계; 및
    상기 비디오 데이터를 인코딩하는 단계를 포함하는 것을 특징으로 하는 멀티 미디어 데이터 인코딩 방법.
  41. 제 38 항에 있어서,
    상기 제 1 멀티미디어 데이터의 재인코딩은 상기 제 1 멀티미디어 데이터의 인코딩으로부터의 인코딩 통계치를 이용하는 것을 특징으로 하는 멀티미디어 데이터 인코딩 방법.
  42. 멀티미디어 데이터를 인코딩하는 장치로서,
    선택된 데이터 윈도우에 대응하는 제 1 멀티미디어 데이터 및 상기 제 1 멀티미디어 데이터와 다르며 상기 선택된 데이터 윈도우에 대응하는 제 2 멀티미디어 데이터를 인코딩하는 수단; 및
    상기 인코딩 수단이 상기 제 2 멀티미디어 데이터를 인코딩하는 동안 상기 제 1 멀티미디어 데이터를 재인코딩하는 수단을 포함하는, 멀티미디어 데이터 인코딩 장치.
  43. 제 42 항에 있어서,
    상기 선택된 데이터 윈도우는 약 1초의 데이터에 대응하는 것을 특징으로 하는 멀티미디어 데이터 인코딩 장치.
  44. 제 42 항에 있어서,
    상기 제 1 멀티미디어 데이터는 비디오 데이터를 포함하고, 상기 인코딩 수단은,
    상기 비디오 데이터에 대한 인코딩 복잡도를 결정하는 수단; 및
    상기 비디오 데이터를 인코딩하는 수단을 포함하는 것을 특징으로 하는 멀티미디어 데이터 인코딩 장치.
  45. 제 42 항에 있어서,
    상기 재인코딩 수단은 상기 제 1 멀티미디어 데이터를 재인코딩하기 위해 상기 인코딩 수단으로부터의 인코딩 통계치를 이용하는 것을 특징으로 하는 멀티미디어 데이터 인코딩 장치.
  46. 멀티미디어 데이터를 인코딩하는 장치로서,
    선택된 데이터 윈도우에 대응하는 제 1 멀티미디어 데이터를 인코딩하고, 상기 제 1 멀티미디어 데이터와 다르며 상기 선택된 데이터 윈도우에 대응하는 제 2 멀티미디어 데이터를 인코딩하도록 구성된 제 1 인코더; 및
    상기 제 1 인코더가 상기 제 2 멀티미디어 데이터를 인코딩하는 동안 상기 제 1 멀티미디어 데이터를 재인코딩하도록 구성된 제 2 인코더를 포함하는, 멀티미디어 데이터 인코딩 장치.
  47. 제 46 항에 있어서,
    상기 선택된 데이터 윈도우는 약 1초의 데이터에 대응하는 것을 특징으로 하는 멀티미디어 데이터 인코딩 장치.
  48. 제 46 항에 있어서,
    상기 제 1 멀티미디어 데이터는 비디오 데이터를 포함하고, 상기 제 1 인코더는,
    상기 비디오 데이터에 대한 인코딩 복잡도를 결정하도록 구성된 프로세서; 및
    상기 비디오 데이터를 인코딩하도록 구성된 인코더를 포함하는 것을 특징으로 하는 멀티미디어 데이터 인코딩 장치.
  49. 제 46 항에 있어서,
    상기 제 2 인코더는 상기 제 1 멀티미디어 데이터를 재인코딩하기 위해 상기 제 1 인코더로부터 인코딩 통계치를 수신하도록 구성되는 것을 특징으로 하는 멀티미디어 데이터 인코딩 장치.
  50. 멀티미디어 데이터를 인코딩하기 위한 명령들을 구비한 유형 매체에 구현된 컴퓨터 프로그램 제품으로서,
    선택된 데이터 윈도우에 대응하는 제 1 멀티미디어 데이터를 인코딩하고, 상기 제 1 멀티미디어 데이터와 다르며 상기 선택된 데이터 윈도우에 대응하는 제 2 멀티미디어 데이터를 인코딩하기 위한 명령들을 구비한 모듈; 및
    상기 인코딩하기 위한 명령들을 구비한 모듈이 상기 제 2 멀티미디어 데이터를 인코딩하는 동안 상기 제 1 멀티미디어 데이터를 재인코딩하기 위한 명령들을 구비한 모듈을 포함하는, 컴퓨터 프로그램 제품.
  51. 제 50 항에 있어서,
    상기 선택된 데이터 윈도우는 약 1초의 데이터에 대응하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
  52. 제 50 항에 있어서,
    상기 제 1 멀티미디어 데이터는 비디오 데이터를 포함하고, 상기 제 1 멀티미디어 데이터를 인코딩하기 위한 명령들을 구비한 모듈은,
    상기 비디오 데이터에 대한 인코딩 복잡도를 결정하기 위한 명령들을 구비한 모듈; 및
    상기 비디오 데이터를 인코딩하기 위한 명령들을 구비한 모듈을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
  53. 제 50 항에 있어서,
    상기 제 1 멀티미디어 데이터를 재인코딩하기 위한 명령들을 구비한 모듈은 상기 제 1 멀티미디어 데이터를 인코딩하기 위한 명령들을 구비한 모듈로부터 수신 된 인코딩 통계치를 이용하기 위한 명령들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
KR1020077023200A 2005-03-10 2006-03-10 예측에 의한 유사 고정 품질 레이트 제어 KR100927083B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US66090805P 2005-03-10 2005-03-10
US60/660,908 2005-03-10

Publications (2)

Publication Number Publication Date
KR20070111550A true KR20070111550A (ko) 2007-11-21
KR100927083B1 KR100927083B1 (ko) 2009-11-13

Family

ID=36579436

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077023200A KR100927083B1 (ko) 2005-03-10 2006-03-10 예측에 의한 유사 고정 품질 레이트 제어

Country Status (8)

Country Link
US (1) US8565301B2 (ko)
EP (1) EP1864500A1 (ko)
JP (1) JP2008533853A (ko)
KR (1) KR100927083B1 (ko)
CN (1) CN101185337B (ko)
AR (1) AR052604A1 (ko)
TW (1) TW200644638A (ko)
WO (1) WO2006099226A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101353290B1 (ko) * 2012-07-06 2014-01-27 인텔렉추얼디스커버리 주식회사 멀티미디어 스티칭을 위한 트랜스코딩 방법 및 이를 이용한 트랜스코더

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483388B2 (en) * 2005-06-23 2009-01-27 Cisco Technology, Inc. Method and system for sending a multimedia stream in an IP multicast network
US7596657B2 (en) * 2006-01-13 2009-09-29 Paul Kaler Increased storage capacity for solid state disks using data compression
WO2008042259A2 (en) * 2006-09-28 2008-04-10 Thomson Licensing Method for rho-domain frame level bit allocation for effective rate control and enhanced video coding quality
CN101523908A (zh) * 2006-10-02 2009-09-02 艾利森电话股份有限公司 多媒体管理
DE102007001379A1 (de) * 2007-01-09 2008-07-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Konzept zum Encodieren einer Mehrzahl von Informationssignalen für eine gemeinsame Übertragung in einem Zeitmultiplex
DE102007013026B4 (de) * 2007-03-19 2010-12-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Kodierung einer Mehrzahl von Informationssignalen unter Verwendung einer gemeinsamen Rechenleistung
KR100928045B1 (ko) * 2007-10-25 2009-11-23 에스케이 텔레콤주식회사 영상 분석 장치를 이용한 부호화 방법 및 시스템과 그를위한 영상 분석 장치
US9113194B2 (en) * 2007-12-19 2015-08-18 Arris Technology, Inc. Method and system for interleaving video and data for transmission over a network at a selected bit rate
US8780988B2 (en) * 2008-02-28 2014-07-15 Vixs Systems, Inc. Hierarchical video analysis-based real-time perceptual video coding
US8798137B2 (en) * 2008-02-29 2014-08-05 City University Of Hong Kong Bit rate estimation in data or video compression
EP2101503A1 (en) * 2008-03-11 2009-09-16 British Telecommunications Public Limited Company Video coding
US9167007B2 (en) * 2008-06-06 2015-10-20 Amazon Technologies, Inc. Stream complexity mapping
US9047236B2 (en) * 2008-06-06 2015-06-02 Amazon Technologies, Inc. Client side stream switching
CN101345867B (zh) * 2008-08-22 2010-06-02 四川长虹电器股份有限公司 一种基于帧复杂度的码率控制方法
CN101404546B (zh) * 2008-10-24 2012-07-18 成都华日通讯技术有限公司 基于信号矩特征的频谱占用度测量方法
US8166170B2 (en) * 2008-10-26 2012-04-24 Imagine Communications Ltd. Distributed multiplexing
US8634436B2 (en) * 2008-11-25 2014-01-21 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for statistical multiplexing
EP2200319A1 (en) * 2008-12-10 2010-06-23 BRITISH TELECOMMUNICATIONS public limited company Multiplexed video streaming
EP2219342A1 (en) 2009-02-12 2010-08-18 BRITISH TELECOMMUNICATIONS public limited company Bandwidth allocation control in multiple video streaming
CN101834776A (zh) * 2009-03-13 2010-09-15 华为技术有限公司 一种带宽控制方法和装置、系统
FR2946820B1 (fr) * 2009-06-16 2012-05-11 Canon Kk Procede de transmission de donnees et dispositif associe.
US8942215B2 (en) 2010-07-15 2015-01-27 Dejero Labs Inc. System and method for transmission of data from a wireless mobile device over a multipath wireless router
US9756468B2 (en) 2009-07-08 2017-09-05 Dejero Labs Inc. System and method for providing data services on vehicles
US10165286B2 (en) * 2009-07-08 2018-12-25 Dejero Labs Inc. System and method for automatic encoder adjustment based on transport data
US8595389B2 (en) * 2010-01-08 2013-11-26 International Business Machines Corporation Distributed performance counters
EP2330824A1 (en) * 2009-11-27 2011-06-08 Thomson Licensing Local statistical multiplexing of video streams over internet protocol
US9521178B1 (en) 2009-12-21 2016-12-13 Amazon Technologies, Inc. Dynamic bandwidth thresholds
GB2484061A (en) * 2010-06-22 2012-04-04 Gi Provision Ltd Optimising target bit rate for wireless transmission of multiple video streams
US8837601B2 (en) 2010-12-10 2014-09-16 Netflix, Inc. Parallel video encoding based on complexity analysis
US9832540B2 (en) * 2010-12-15 2017-11-28 Hulu, LLC Method and apparatus for hybrid transcoding of a media program
US8976857B2 (en) 2011-09-23 2015-03-10 Microsoft Technology Licensing, Llc Quality-based video compression
US20140181266A1 (en) * 2011-09-29 2014-06-26 Avvasi Inc. System, streaming media optimizer and methods for use therewith
CN103428523B (zh) * 2012-05-22 2015-07-08 华为技术有限公司 评估视频质量的方法和装置
CN103517080A (zh) * 2012-06-21 2014-01-15 北京数码视讯科技股份有限公司 实时视频流编码器和实时视频流编码方法
WO2014061181A1 (ja) 2012-10-18 2014-04-24 日本電気株式会社 カメラシステム
WO2015095166A2 (en) * 2013-12-16 2015-06-25 Arris Enterprises, Inc. Producing an output need parameter for an encoder
US20170055007A1 (en) * 2015-08-19 2017-02-23 Ericsson Ab System and method for managing segment delivery and bandwidth responsive to encoding complexity metrics
US10349104B2 (en) 2015-08-19 2019-07-09 Ericsson Ab System and method for managing segment delivery and bandwidth responsive to encoding complexity metrics
US9807416B2 (en) * 2015-09-21 2017-10-31 Google Inc. Low-latency two-pass video coding
US9888052B2 (en) 2015-09-21 2018-02-06 Imagine Communications Corp. ABR allocation for statistical multiplexing
US10616587B2 (en) 2017-04-26 2020-04-07 Dts, Inc. Bit rate control over groups of frames
CN109218724B (zh) 2017-07-06 2020-08-04 腾讯科技(深圳)有限公司 一种数据编码方法、装置及存储设备和终端设备
US11146608B2 (en) * 2017-07-20 2021-10-12 Disney Enterprises, Inc. Frame-accurate video seeking via web browsers
KR20190065792A (ko) * 2017-12-04 2019-06-12 삼성전자주식회사 전자 장치 및 전자 장치의 영상 데이터 전송 방법
CN110536168B (zh) * 2019-09-11 2021-09-17 北京达佳互联信息技术有限公司 视频上传方法、装置、电子设备及存储介质
CN113382258B (zh) * 2021-06-10 2022-10-21 北京百度网讯科技有限公司 视频编码方法、装置、设备和介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0127329B1 (ko) * 1993-08-14 1997-12-29 구자홍 디씨티기반의 인트라프레임 동영상 압축을 위한 버퍼 제어장치
US5929916A (en) * 1995-12-26 1999-07-27 Legall; Didier J. Variable bit rate encoding
AU6060098A (en) * 1997-04-15 1998-10-22 Rohm And Haas Company Process to prepare chloroketoamines using carbamates
US6181742B1 (en) * 1998-01-26 2001-01-30 International Business Machines Corporation Single pass target allocation for video encoding
US6278735B1 (en) * 1998-03-19 2001-08-21 International Business Machines Corporation Real-time single pass variable bit rate control strategy and encoder
US6269217B1 (en) * 1998-05-21 2001-07-31 Eastman Kodak Company Multi-stage electronic motion image capture and processing system
US6859496B1 (en) * 1998-05-29 2005-02-22 International Business Machines Corporation Adaptively encoding multiple streams of video data in parallel for multiplexing onto a constant bit rate channel
JP4346732B2 (ja) 1998-05-29 2009-10-21 インターナショナル・ビジネス・マシーンズ・コーポレーション ビデオ・フレームの多重ストリームを処理する方法及びシステム
US6167084A (en) 1998-08-27 2000-12-26 Motorola, Inc. Dynamic bit allocation for statistical multiplexing of compressed and uncompressed digital video signals
JP2003531533A (ja) * 2000-04-18 2003-10-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ジョイントビットレートトランスコーディングにおけるビットレートアロケーション
JP4256574B2 (ja) * 2000-08-04 2009-04-22 富士通株式会社 画像信号符号化方法および画像信号符号化装置
US6731685B1 (en) * 2000-09-20 2004-05-04 General Instrument Corporation Method and apparatus for determining a bit rate need parameter in a statistical multiplexer
US7525552B2 (en) * 2004-04-21 2009-04-28 Slipstream Data Inc. Method, system and software product for color image encoding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101353290B1 (ko) * 2012-07-06 2014-01-27 인텔렉추얼디스커버리 주식회사 멀티미디어 스티칭을 위한 트랜스코딩 방법 및 이를 이용한 트랜스코더

Also Published As

Publication number Publication date
EP1864500A1 (en) 2007-12-12
WO2006099226A1 (en) 2006-09-21
CN101185337A (zh) 2008-05-21
JP2008533853A (ja) 2008-08-21
US20060224762A1 (en) 2006-10-05
KR100927083B1 (ko) 2009-11-13
CN101185337B (zh) 2010-12-08
TW200644638A (en) 2006-12-16
AR052604A1 (es) 2007-03-21
US8565301B2 (en) 2013-10-22

Similar Documents

Publication Publication Date Title
KR100927083B1 (ko) 예측에 의한 유사 고정 품질 레이트 제어
US20220191493A1 (en) Video compression and transmission techniques
JP5676705B2 (ja) 映像符号化規格に対応した映像レート制御の改善
US7876821B2 (en) Method and an apparatus for controlling the rate of a video sequence; a video encoding device
WO2021244341A1 (zh) 图像编码方法及装置、电子设备及计算机可读存储介质
CA2396305C (en) Methods and apparatus for rate control during dual pass encoding
KR100942395B1 (ko) 다층 비디오 설계를 위한 레이트 제어
US8406297B2 (en) System and method for bit-allocation in video coding
EP1639801B1 (en) Multipass video rate control to match sliding window channel constraints
CA2600482A1 (en) Context-adaptive bandwidth adjustment in video rate control
CA2396308C (en) Methods and apparatus for statistical multiplexing during dual pass encoding
KR100601615B1 (ko) 네트워크 대역폭에 적응적인 영상 압축 장치
US7274739B2 (en) Methods and apparatus for improving video quality in statistical multiplexing
US20060034369A1 (en) Method and system for parametric video quality equalization in selective re-encoding
Yunus et al. A rate control model of MPEG-4 encoder for video transmission over Wireless Sensor Network
US20060034522A1 (en) Method and system for equalizing video quality using selective re-encoding
KR101371507B1 (ko) 저지연 영상 통신 시스템 및 방법
KR100949755B1 (ko) 비디오 시퀀스의 레이트를 제어하는 방법 및 장치, 비디오부호화 장치
KR100928045B1 (ko) 영상 분석 장치를 이용한 부호화 방법 및 시스템과 그를위한 영상 분석 장치
KR20080001147A (ko) 가상 인코더 버퍼를 이용한 저지연 영상 전송을 위한 영상부호화 장치 및 그 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121030

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee