KR100295006B1 - 비디오 프레임 시퀀스 인코딩 시스템 및 그 방법, 컴퓨터 프로그램 제품 - Google Patents

비디오 프레임 시퀀스 인코딩 시스템 및 그 방법, 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR100295006B1
KR100295006B1 KR1019980038581A KR19980038581A KR100295006B1 KR 100295006 B1 KR100295006 B1 KR 100295006B1 KR 1019980038581 A KR1019980038581 A KR 1019980038581A KR 19980038581 A KR19980038581 A KR 19980038581A KR 100295006 B1 KR100295006 B1 KR 100295006B1
Authority
KR
South Korea
Prior art keywords
encoding
frame
quantization parameter
picture
parameter
Prior art date
Application number
KR1019980038581A
Other languages
English (en)
Other versions
KR19990036646A (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
Priority claimed from US08/948,442 external-priority patent/US6040861A/en
Application filed by 포만 제프리 엘, 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 포만 제프리 엘
Publication of KR19990036646A publication Critical patent/KR19990036646A/ko
Application granted granted Critical
Publication of KR100295006B1 publication Critical patent/KR100295006B1/ko

Links

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/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/87Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving scene cut or scene change detection in combination with video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • 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/142Detection of scene cut or scene change
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

비디오 프레임 시퀀스를 하드웨어, 소프트웨어 또는 그의 조합으로 적절하게 실시간으로 인코딩하는 방법, 시스템, 컴퓨터 프로그램 제품이 제공된다. 제 1 인코딩 서브시스템은 비디오 프레임 시퀀스를 분석하여 움직임 통계량(motion statistics), 비움직임 통계량(non-motion statistics), 화면 변화 통계량, 또는 화면 페이드(fade) 통계량 등의 그의 적어도 하나의 특성에 대한 정보를 도출한다. 수집된 정보는 프레임내(intraframe) 특성 또는 프레임간(interframe) 특성일 수 있다. 제어 프로세서는 제 1 인코딩 서브시스템에 접속되어 수집된 정보를 자동으로 분석하고 제어 파라미터 세트를 동적으로 생성한다. 제 2 인코딩 서브시스템은 제어 프로세서에 접속되어, 대응하는 제어 파라미터 세트를 사용하는 비디오 프레임 시퀀스의 각 프레임을 인코딩한다.

Description

비디오 프레임 시퀀스 인코딩 시스템 및 그 방법, 컴퓨터 프로그램 제품{REAL-TIME ENCODING OF VIDEO SEQUENCE EMPLOYING TWO ENCODERS AND STATISTICAL ANALYSIS}
본 발명은 전반적으로 디지탈 시각 영상의 압축에 관한 것으로, 보다 상세하게는 프레임간 또는 프레임내에서 하나 이상의 제어가능한 인코딩 파라미터를 동적으로 변화시키기 위해 비디오 시퀀스로부터 도출된 영상 통계량을 사용하여 비디오 시퀀스를 실시간 인코딩하는 기법에 관한 것이다.
지난 십년 동안, 전세계적인 전자 통신 시스템의 출현에 의해 사람들이 정보를 송/수신할 수 있는 방식이 크게 향상되었다. 특히, 최근에는 실시간 비디오 및 오디오 시스템의 성능이 크게 향상되었다. 가입자에게 주문형 비디오 및 화상 회의와 같은 서비스를 제공하기 위해서는, 다량의 네트워크 대역폭이 요구된다. 실제로, 이러한 시스템의 효율에 있어서 흔히 네트워크 대역폭이 주요한 장애 요인이 되고 있다.
네트워크에 의해 부과된 제한을 극복하기 위해, 압축 시스템들이 등장하였다. 이들 시스템은 화상 시퀀스내의 리던던시(redundancy)를 제거함으로써, 전송되어야 할 비디오 및 오디오 데이터의 양을 감소시킨다. 수신단에서, 화상 시퀀스는 압축해제(uncompress)되며 실시간으로 디스플레이될 수 있다.
현재 등장하고 있는 비디오 압축 표준의 일예는 MPEG(Moving Picture Experts Group)이다. MPEG 표준에서, 비디오 압축은 주어진 화상내에서, 또는 화상들간에 정의된다. 화상내에서의 비디오 압축은 이산 코사인 변환, 양자화, 가변길이 코딩에 의해 시간 영역으로부터 주파수 영역으로 디지탈 영상을 변환함으로써 성취된다. 화상들간의 비디오 압축은 움직임 측정(motion estimation) 및 보상(compensation)이라 지칭되는 프로세스를 통해 성취되며, 여기서는 (움직임 벡터 + 차분 데이터)가 한 화상으로부터 다른 화상으로의 화소 세트의 변환을 기술하는데 사용된다.
ISO MPEG-2 표준은 비트스트림의 신택스(syntax) 및 디코딩 프로세스의 시멘틱스(semantics)만을 지정한다. 코딩 파라미터의 선택 및 성능 대 복잡성에 있어서의 절충은 인코더 개발자에게 남겨진 일이다.
인코딩 프로세스의 한 측면은 비디오의 세세한 내용 및 화질을 여전히 유지하면서 디지탈 비디오 영상을 가능한 한 작은 비트스트림으로 압축하는 것이다. MPEG 표준은 비트스트림의 크기에 한계를 두고, 인코더가 인코딩 프로세스를 수행할 것을 요구한다. 따라서, 원하는 화질 및 세세한 내용을 유지하도록 비트 레이트(bit rate)를 단지 최적화하는 것은 어려운 것일 수 있다.
예를 들면, 비트 레이트는 초당 비트(bit per second)로 정의된다. 프레임 레이트 및 인코딩되는 화상의 유형에 따라, 화상 당 특정 수의 비트가 할당된다. 초당 6,000,000 비트(6 Mbps)로 초당 30개의 화상 프레임을 갖는 화상에서, 비트가 균일하게 할당되는 것으로 가정할 경우 각 화상에는 200,000 비트가 할당될 수 있다. 1350개의 매크로블록을 갖는 720×480 화상의 경우, 이것은 매크로블록 당 148 비트가 할당되도록 변환된다. 따라서, 화면이 변화하거나 액션 비디오의 경우, 비트 레이트는 매크로블록들 및/또는 프레임들간의 큰 변화에 의해 빨리 소모될 수 있다. 따라서 화질 및 세세한 내용에 손상이 가해질 수 있다.
비디오 압축은 원하는 화질을 여전히 얻으면서도 최대 압축량을 성취할 수 있도록 개선된 기법을 필요로 한다. 가변 비트 레이트(VBR) 인코딩은 화상내(intra-pictures) 및 화상간(inter-pictures)의 복잡성에 근거하여, 압축된 각 화상에 대해 상이한 비트량을 갖게 하는 비디오 압축 옵션이다. 예를 들면, (컬러 테스트 패턴과 같은) 단순한 화상 내용을 갖는 화면은 원하는 화질을 얻기 위해 (혼잡한 도시 거리와 같은) 복잡한 화상 내용을 갖는 화면보다 인코딩하는데 훨씬 적은 비트가 필요할 것이다. 비디오를 특징지우는데 필요한 정보의 양 및 인코딩 프로세스를 효과적으로 개선하기 위한 정보를 해석하는데 필요한 알고리즘의 복잡성으로 인해, VBR 인코딩은 통상적으로 비실시간으로, 둘 또는 그 이상의 패스(pass)를 갖는 인코딩 프로세스로 성취된다. 제 1 패스에서, 통계량이 수집되고 분석되며, 제 2 패스에서, 인코딩 프로세스를 제어하는데 분석 결과가 사용된다. 이와 같이 하여 고화질 인코딩이 가능하지만, 실시간 동작을 허용하지는 않는다.
본 발명은 실시간 VBR 비디오 인코딩 방안을 제공함으로써 고압축율을 여전히 얻으면서도 인코딩된 비디오 시퀀스의 화질을 향상시키고자 하는 것이다.
도 1은 이산 코사인 변환기(21), 양자화기(23), 가변 길이 코더(25), 역양자화기(29), 역이산 코사인 변환기(31), 움직임 보상기(41), 프레임 메모리(42), 움직임 측정기(43)를 포함하는 일반화된 MPEG-2 적응적 인코더(11)의 블록도로서, 데이터 경로는 ith화상 입력(111), 차분 데이터(112), (움직임 보상기(41) 및 가변 길이 코더(25)에 대한) 움직임 벡터(113), 화상 출력(121), 움직임 측정 및 보상(131)을 위한 피드백 화상, 움직임 보상된 화상(101)을 포함하며, ith화상은 프레임 메모리 또는 프레임 저장 장치(42)에 존재하고 i+1th은 움직임 측정기로 인코딩된다고 가정하는 것을 도시하는 도면.
도 2는 I, P, B 화상의 포워드 및 백워드 움직임 예측의 일예를 그 디스플레이 및 전송 순서로 도시하는 도면.
도 3은 현재의 프레임 또는 화상내의 움직임 측정 블록으로부터 후속 또는 선행 프레임 또는 화상내의 최상의 매칭 블록까지 탐색하는 것을 도시하는 도면으로서, 소자(211 및 211')는 두 화상내의 동일한 영역을 나타내는 도면.
도 4는 선행 화상 위치로부터 새로운 화상 위치까지의 움직임 벡터에 따른 블록의 이동과, 움직임 벡터를 사용한 후에 조정된 선행 화상의 블록을 도시하는 도면.
도 5는 본 발명의 원리에 따른 제 1 인코딩 서브시스템 E1 및 제 2 인코딩 서브시스템 E2를 사용하는 인코딩 시스템(300)의 흐름을 나타내는 도면으로서, 서브시스템 E1은 인코딩될 프레임 시퀀스의 하나 이상의 특성에 대한 통계량을 도출하도록 구성되며, 이들 특성은 프레임 시퀀스를 적합하게 인코딩하기 위한 서브시스템 E2에 의해 사용되어 화질 및/또는 인코딩 성능을 최적화하는 것을 도시하는 도면.
도 6은 본 발명에 따른 인코딩 서브시스템의 일반화된 도면으로서, 서브시스템 E1은 비움직임 통계량 수집부(420) 및 인코딩 엔진(410)을 각각 사용하여, 예를 들면 비움직임 통계량 및 움직임간/움직임내 통계량을 생성하는데 사용되는 한편, 서브시스템 E2는 인코딩 엔진(410)을 사용하여 인코딩된 비트스트림을 생성하는 것을 도시하는 도면.
도 7은 본 발명의 원리에 따른 인코딩 시스템(500)의 다른 실시예의 블록도로서, 시스템(500)은 제 1 인코딩 서브시스템 E1(510)과, 제어 프로세서(520)를 통해 접속된 제 2 인코딩 서브시스템 E2(540)를 사용하며, 서브시스템 E1은 인코딩될 프레임 시퀀스의 하나 이상의 특성에 대해 통계량을 도출하도록 구성되며, 이들 특성은 프레임 시퀀스중 현재의 프레임을 인코딩함에 있어 서브시스템 E2에 의해 사용되는 하나 이상의 제어가능한 파라미터에 대한 값을 동적으로 도출하도록 제어 프로세서(520)에 의해 통계적으로 분석되어 화질 및/또는 인코딩 성능을 최적화하는 것을 도시하는 도면.
도 8은 본 발명에 따른 일반화된 흐름을 도시하는 도면으로서, 비디오 프레임 시퀀스는 화면 변화, 화질, 사용된 비트, 화상 유형 및/또는 목표 비트 레이트에 대한 정보를 생성하는 서브시스템 E1에 입력되고, 이 정보는 본 실시예에서 제 2 인코딩 서브시스템 E2(540)에 양자화 파라미터(Mquant)를 제공하는 제어 프로세서(CP)(520)에 전송되며, 서브시스템(540)은 비디오 데이터 시퀀스의 동기화되고, 지연된 버전을 입력으로서 또한 수신하는 것을 도시하는 도면.
도 9는 제 2 인코딩 서브시스템 E2에 의해 비디오 프레임 시퀀스의 인코딩을 제어하는데 사용되는 하나 이상의 파라미터를 도출하는데 있어 제어 프로세서(CP)에 의해 수행된 통계적 프로세싱의 일 실시예의 흐름도.
도면의 주요 부분에 대한 부호의 설명
300 : 인코딩 시스템 310 : 비디오 프레임
320 : 프레임 저장 장치 330 : 인코딩 서브시스템
340 : 통계량 버퍼 350 : 지연 제어 로직
360 : 인코딩 서브시스템 370 : 인코딩된 비트스트림
간단히 요약하면, 본 발명은 한 측면에서 프레임 시퀀스를 인코딩하는 방법을 포함한다. 본 발명의 방법은, 제 1 인코딩 서브시스템을 사용하여 비디오 프레임 시퀀스를 분석하고 그의 적어도 하나의 특성에 대한 정보를 도출하는 단계─상기 적어도 하나의 특성은 화면 변화, 화질, 사용된 비트, 목표 비트 레이트, 화상 유형중 적어도 하나이다─와, 적어도 하나의 특성을 실시간으로 자동적으로 프로세스하여 비디오 프레임 시퀀스를 인코딩하는데 사용된 적어도 하나의 제어가능한 파라미터에 대한 값을 생성하는 단계와, 제 2 인코딩 서브시스템을 사용하여 비디오 프레임 시퀀스를 인코딩하고 적어도 하나의 제어가능한 파라미터의 값을 사용하여 인코딩된 비디오 데이터의 비트스트림을 생성하는 단계를 포함한다.
다른 측면에서, 본 발명은 비디오 프레임 시퀀스를 인코딩하는 시스템을 포함한다. 본 시스템은 제 1 인코딩 서브시스템, 제어 프로세서, 제 2 인코딩 서브시스템을 포함한다. 제 1 인코딩 서브시스템은 비디오 프레임 시퀀스를 분석하고 그의 적어도 하나의 특성에 대한 정보를 도출하는데 사용된다. 적어도 하나의 특성은 화면 변화, 화질, 사용된 비트, 목표 비트 레이트, 화상 유형중 적어도 하나를 포함한다. 제어 프로세서는 제 1 인코딩 서브시스템에 접속되어, 적어도 하나의 특성에 대한 정보를 실시간으로 자동 프로세스하는 비디오 프레임 시퀀스를 인코딩하는데 사용되는 적어도 하나의 제어가능한 파라미터에 대한 값을 생성한다. 제 2 인코딩 서브시스템은 제어 프로세서에 접속되어 적어도 하나의 제어가능한 파라미터의 값을 수신한다. 제 2 인코딩 서브시스템은 적어도 하나의 제어가능한 파라미터의 대응하는 값을 사용해서 비디오 프레임 시퀀스의 각 프레임을 인코딩하여, 인코딩된 비디오 데이터의 비트스트림을 생성한다.
또다른 측면에서, 본 발명은 비디오 프레임 시퀀스를 인코딩하는데 사용되는 컴퓨터 판독가능한 프로그램 코드 수단을 내부에 갖는 컴퓨터 사용가능한 매체를 구비하는 컴퓨터 프로그램 제품을 포함한다. 컴퓨터 프로그램 제품내의 컴퓨터 판독가능한 프로그램 코드 수단은 컴퓨터로 하여금 비디오 프레임 시퀀스를 분석하고 그의 적어도 하나의 특성에 대한 정보를 도출하며─적어도 하나의 특성은 화면 변화, 화질, 사용된 비트, 목표 비트 레이트, 화상 유형중 적어도 하나를 포함한다─, 적어도 하나의 특성을 자동 프로세스하여 비디오 프레임 시퀀스를 인코딩하는데 사용되는 적어도 하나의 제어가능한 파라미터에 대한 값을 생성하도록 하고, 적어도 하나의 제어가능한 파라미터의 값을 사용해서 비디오 프레임 시퀀스를 인코딩하여, 인코딩된 비디오 데이터의 비트스트림을 생성하는 컴퓨터 판독가능한 프로그램 코드 수단을 포함한다.
통상적으로, 본 발명의 원리에 따른 인코딩에 의해, 특히 낮은 비트 레이트에서 비적응적 인코더 시스템과 비교할 때 화질이 개선된다. 이러한 이유는, 예를 들면 (프레임내에서 뿐만 아니라) 프레임들간의 적응적 비트 할당을 사용하는 것은 높은 비트 레이트 인코딩에 비해 낮은 비트 레이트 인코딩에 있어서 보다 중요하기 때문이다. 본 발명은 2개의 인코더 및 실시간 통계적 프로세싱을 사용하는 실시간 비디오 데이터 인코딩 방법을 포함한다. 통계적 프로세싱은 제 1 인코더 및 제 2 인코더 사이에 접속된 프로세서내에서 수행되어 제 1 인코더에 의해 생성된 통계량을 분석하고 제 2 인코더에 대한 인코딩 파라미터를 도출한다. 제 2 인코더는 개선된 인코딩 파라미터를 사용하여, 고화질의 고압축 비디오 스트림을 제공한다. MPEG-2 표준이 취해지나, 본 명세서에서 제공된 개념은 다른 표준에도 적용할 수 있다. 또한, 본 발명의 인코딩 기법은 디코딩된 비디오 시퀀스의 준일정(semi-constant) 화질을 일정한 비트 레이트(CBR) 모드에서 보장하거나 또는 일정한 화질을 가변 비트 레이트(VBR) 인코딩 모드에서 보장할 수 있다.
본 발명의 상술한 목적, 장점, 특성은 첨부되는 도면을 참조하여 고려될 때, 특정의 바람직한 실시예의 상세한 설명으로부터 보다 용이하게 이해될 것이다.
본 발명은, 예를 들면 "Information Technology-Generic coding of moving pictures and associated audio information; Video," Recommendation ITU-T H.262, ISO/IEC 13818-2, Draft International Standard, 1994.에 기술된 바와 같은, MPEG을 따르는 인코더 및 인코딩 프로세스에 관한 것이다. 인코더에 의해 수행되는 인코딩 기능으로는 데이터 입력, 공간 압축, 움직임 측정, 매크로블록 유형 생성, 데이터 재구성, 엔트로피 코딩, 데이터 출력을 들 수 있다. 공간 압축(spatial compression)으로는 이산 코사인 변환(DCT), 양자화, 엔트로피 인코딩을 들 수 있다. 시간 압축(temporal compression)으로는 역이산 코사인 변환, 역양자화, 움직임 보상 등의 집중적인 재구성 프로세싱(intensive reconstructive processing)을 들 수 있다. 움직임 측정 및 보상은 시간 압축 기능을 위해 사용된다. 공간 및 시간 압축은 고도의 계산을 요하는 반복 함수이다.
보다 구체적으로 본 발명은, 예를 들면 이산 코사인 변환, 양자화, 엔트로피인코딩, 움직임 측정, 움직임 보상, 예측을 포함하는 공간 및 시간 압축을 수행하는 프로세스에 관한 것으로서, 더욱 상세하게는 공간 및 시간 압축을 수행하는 시스템에 관한 것이다.
제 1 압축 단계는 공간 리던던시의 제거, 예를 들면 "I" 프레임 화상의 정지 화상에서의 공간 리던던시의 제거이다. 공간 리던던시는 한 화상내에서의 리던던시이다. MPEG-2 초안 표준은 공간 리던던시를 감소시키는, 블록에 근거한 방법을 사용하는 것이다. 선택할 수 있는 방법은 이산 코사인 변환으로서, 화상의 이산 코사인 변환 코딩이다. 이산 코사인 변환 코딩은 가중 스칼라 양자화 및 실행 길이 코딩을 조합하여 원하는 압축을 얻는다.
이산 코사인 변환은 직교 변환이다. 직교 변환은 주파수 영역 해석을 갖기 때문에, 이들은 필터 뱅크(filter bank) 지향적이다. 이산 코사인 변환은 또한 국소화되어 있다(localized). 즉, 인코딩 프로세스는 64개의 변환 계수 또는 서브대역을 연산하는데 충분한 8×8 공간 윈도우상에서 샘플링된다.
이산 코사인 변환의 다른 장점은 고속 인코딩 및 디코딩 알고리즘이 사용가능하다는 점이다. 또한, 이산 코사인 변환의 서브대역 분해는 그 성향(behavior)이 충분히 양호하므로, 사이코비주얼(psychovisual) 기준을 효과적으로 사용할 수 있게 된다.
변환 후에, 다수의 주파수 계수중, 특히 높은 공간 주파수에 대한 계수는 0이다. 이들 계수는 지그재그 또는 교대로 스캐닝된 패턴으로 구성되어, 실행-크기(run-amplitude)(실행-레벨) 쌍으로 변환된다. 각 쌍은 계수 0의 수 및비-0 계수의 크기를 인코딩한다. 이것은 가변 길이 코드로 코딩된다.
움직임 보상은 화상들간의 리던던시를 감소시키거나 또는 제거하는데 까지도사용된다. 움직임 보상은 현재의 화상을 블록, 예를 들면 매크로블록으로 분할하고 나서, 이전에 전송된 화상내에서 유사한 내용을 갖는 근처 블록을 탐색함으로써 시간 리던던시를 활용한다. 전송에 대해서는, 현재의 블록 화소 및 기준 화상으로부터 추출된 예측 블록 화소의 차분만 실질적으로 압축되고 이후 전송된다.
움직임 보상 및 예측의 가장 간단한 방법은 "I" 화상내의 모든 화소의 휘도 및 크로미넌스, 즉 강도 및 컬러를 기록하고, 그 다음에 후속 화상내의 모든 특정 화소에 대해 휘도 및 크로미넌스, 즉 강도 및 필터의 변화를 기록하는 것이다. 그러나, 이 방법은 객체들이 화상들 사이에서 이동하기 때문에, 즉 화소 내용이 한 화상의 한 위치로부터 후속 화상의 다른 위치로 이동하기 때문에, 전송 매체 대역폭, 메모리, 프로세서 용량, 프로세싱 시간에 있어 비경제적이다. 보다 진보된 방법은 선행 또는 후속 화상을 사용하여, 예를 들면 움직임 벡터를 갖는 선행 또는 후속 화상(또는 화상들)에 화소의 블록이 존재하는 곳을 예측하고, 그 결과를 "예측 화상" 또는 "P" 화상으로서 기록하는 것이다. 보다 구체적으로, 이것은 i-1th또는 i+1th화상에 ith화상의 화소 또는 화소의 매크로블록이 존재하는 곳에 대한 최상의 측정 또는 예측을 수반한다. 또다른 한 단계는 선행 또는 후속 화상을 모두 사용하여 중간 또는 "B" 화상에 화소의 블록이 존재하는 곳을 예측하는 것이다.
화상 인코딩 순서 및 화상 전송 순서는 화상 디스플레이 순서와 반드시 일치하지는 않는다는 점에 주의해야 한다. 도 2를 참조하라. I-P-B 시스템에 대해, 입력 화상 전송 순서는 인코딩 순서와 상이하고, 입력 화상은 인코딩에 사용될 때까지 일시적으로 저장되어야 한다. 버퍼는 이러한 입력이 사용될 때까지 입력을 저장한다.
예시를 위해, 도 1에는 MPEG을 따르는 인코딩의 일반화된 흐름이 도시되어 있다. 흐름도에서 ith화상 및 i+1th화상의 영상이 프로세스되어 움직임 벡터를 생성한다. 움직임 벡터는 선행 및/또는 후속 화상에 화소의 매크로블록이 존재하는 곳을 예측한다. 움직임 벡터의 사용은 MPEG 표준에서 시간 압축의 중요한 특징이다. 도 1에 도시한 바와 같이, 일단 생성된 움직임 벡터는 ith화상으로부터 i+1th화상까지의 화소 매크로블록의 변환에 사용된다.
도 1에 도시한 바와 같이, 인코딩 프로세스에 있어서, 인코더(11)에서 ith화상 및 i+1th화상의 영상이 프로세스되어 움직임 벡터를 생성하는데 이 움직임 벡터는, 예를 들면 i+1th및 후속 화상이 인코딩되고 전송되는 형태이다. 후속 화상의 입력 영상(111)은 인코더의 움직임 측정 유닛(43)으로 진행한다. 움직임 벡터(113)는 움직임 측정 유닛(43)의 출력으로서 형성된다. 이들 벡터는 움직임 보상 장치(41)에 의해 사용되어, "기준" 데이터로서 지칭되는 선행 및/또는 후속 화상으로부터, 이 유닛에 의해 출력된 매크로블록 데이터를 인출(retrieve)한다. 움직임 보상 유닛(41)의 한 출력은 움직임 측정 유닛(43)으로부터의 출력과 음의값으로 합산되어 이산 코사인 변환기(21)의 입력으로 진행한다. 이산 코사인 변환기(21)의 출력은 양자화기(23)에서 양자화된다. 양자화기(23)의 출력은 2개의 출력(121 및 131)으로 나누어지고, 하나의 출력(121)은 전송 전에 후속 압축 및 프로세싱을 위해 실행 길이 인코더 등의 하방(downstream) 소자(25)로 진행하며, 다른 하나의 출력(131)은 프레임 메모리(42)내로의 저장을 위해 화소의 인코딩된 매크로블록의 재구성에 처해진다. 예시를 위해 도시된 인코더에서, 이 제 2 출력(131)은 역양자화부(29) 및 역이산 코사인 변환부(31)를 통해 진행하여 차분 매크로블록의 유손실(lossy) 버전을 반환한다. 이 데이터가 움직임 보상 유닛(41)의 출력과 합산되고 원화상의 유손실 버전을 프레임 메모리(42)에 반환한다.
도 2에 도시한 바와 같이, 3가지 유형의 화상이 존재한다. "화상내" 또는 "I" 화상은 전체로서 인코딩되고 전송되며, 움직임 벡터가 정의될 필요가 없다. 이들 "I" 화상은 움직임 측정을 위한 기준 영상으로서 기능한다. 선행 화상으로부터의 움직임 벡터에 의해 형성되며, 다른 화상에 대한 움직임 보상을 위한 기준 영상으로서 기능할 수 있는 "예측 화상" 또는 "P" 화상이 존재한다. 마지막으로, 2개의 다른 화상, 즉 하나의 선행 화상 및 하나의 후속 화상으로부터의 움직임 벡터를 사용하여 형성되고 움직임 보상에 대한 기준 영상으로서 기능할 수 없는 "양방향 화상" 또는 "B" 화상이 존재한다. 움직임 벡터는 "I" 및 "P" 화상으로부터 생성되며, "P" 및 "B" 화상을 형성하는데 사용된다.
움직임 측정이 수행되는 하나의 방법은 도 3에 도시한 바와 같이, 후속 화상의 영역을 통해 ith화상의 매크로블록(211)으로부터 탐색에 의해 최상의 매칭 매크로블록을 찾는 것이다. 이러한 방식으로 매크로블록을 변환하면, 도 4에 도시한 바와 같이, i+1th화상에 대한 매크로블록의 패턴을 생성한다. 이러한 방식으로 ith화상이 소량, 예를 들면 움직임 벡터 및 차분 데이터에 의해 변화되어, i+1th화상을 생성한다. 인코딩되는 것은 i+1th화상 자체가 아니라, 움직임 벡터 및 차분 데이터이다. 움직임 벡터는 화상간의 영상 위치를 변환하는 한편, 차분 데이터는 크로미넌스, 휘도, 채도의 변화, 즉 음영 및 조도의 변화를 전송한다.
도 3을 참조하면, i+1th화상에서와 동일한 ith화상내의 위치로부터 시작하여 양호한 매칭을 찾는다. ith화상에 탐색 윈도우가 생성된다. 이러한 탐색 윈도우내에서 최상의 매칭을 탐색한다. 일단 발견되면, 매크로블록에 대한 최상의 매칭 움직임 벡터가 코딩된다. 최상의 매칭 매크로블록의 코딩은 움직임 벡터를 포함하는데, 즉 다음 화소에서 y 방향으로 몇 화소, x 방향으로 몇 화소 변위되어 최적의 매칭이 있는지를 포함한다. "예측 에러"로서 또한 지칭되는 차분 데이터가 인코딩되며, 이것은 현재의 매크로블록 및 최상의 매칭 기준 매크로블록간의 크로미넌스 및 휘도의 차분값이 된다.
MPEG-2 인코더의 동작 기능은 "Control Scheme For Shared-Use Dual-Port Predicted Error Array"란 명칭의 1997년 4월 1일에 출원된 카 등(Carr et al.)에의한, 공동 양도되고 계류 중에 있는 미국 특허 출원 제 08/831,157 호에 상세하게 개시되어 있는데, 이 문헌은 이하 전 범위에서 참조 자료로 인용된다.
앞서 언급한 바와 같이, 본 발명의 원리에 따르면 실시간 적응적 비디오 인코딩을 통해 인코더 성능 및/또는 화질이 향상될 수 있다. 비디오 인코더는 프레임 시퀀스로서 수신된 비디오 데이터에 대해 적응적(adaptive)으로 구성된다. 본 발명의 일 실시예에 따르면, 2개의 인코딩 서브시스템이 사용된다. 2개의 인코딩 서브시스템을 사용하는 큰 장점은 실시간 인코딩 이전의 비디오 시퀀스를 분석할 수 있다는 점이다. 비디오 시퀀스의 분석은 비디오 데이터로부터 도출될 수 있는 하나 이상의 통계량을 계산하는 것을 포함한다.
통계량 측정은 영상 프레임의 각종 특성, 예를 들면 프레임의 분주성(busyness), 영상 프레임간의 움직임, 화면 변화 또는 페이딩 등을 기술할 수 있다. 계산된 통계량을 사용하여, 실시간 인코딩 프로세스의 하나 이상의 인코딩 파라미터를 제어함으로써 비디오 시퀀스의 적응적 인코딩이 수행된다. 예를 들면, 비트 할당, 양자화 파라미터, 인코딩 모드 등은 특정 프레임의 특성(예를 들면, 화면 내용)의 도출된 통계량에 따라 주어진 프레임내에서 프레임간 또는 매크로블록간에 달라질 수 있다.
도 5에는 본 발명의 원리에 따라, 참조 부호(300)로서 통상 부여되어 있는 인코딩 시스템의 일 실시예가 도시되어 있다. 본 명세서에서는 설명을 위해 MPEG 표준임을 가정하고 있으나, 당업자라면 다른 구현예 및 표준에서 본 발명의 적응적 인코딩 개념을 사용할 수 있음을 이해할 것이다. 시스템(300)은 E1(330) 및E2(360)로서 지정된 2개의 인코더 서브시스템을 포함한다. 하나의 구현예에서, 인코더 서브시스템 E1 및 E2는 이하 기술되는 바와 같이 동일한 하드웨어를 가지지만, 상이한 소프트웨어를 가지는 것으로 가정한다. E1은 프레임간/프레임내 비움직임, 움직임 등과 같은 원하는 통계량을 생성하도록 프로그램되며, 이 통계량은 인코딩 서브시스템(E2)의 특정 비트 레이트 제어 알고리즘에 중요하다. E2는 인코딩 서브시스템 E1에 의해 생성된 통계량을 근거로 하는 인코딩된 프레임을 생성한다.
동작적으로, 프레임 저장 장치(320)내로 비디오 프레임(310)의 시퀀스가 먼저 수신되는데, 여기서 하나 이상의 프레임은 인코딩 사양(예를 들면, I, IP, IBP, IBBP 인코딩)에 따라 버퍼링된다. 이것은 프레임 저장 장치(320)를 적절한 수의 화상 버퍼(화상 그룹(GOP) 구조에 의해 결정됨)로 분할함으로써 성취된다. 이들 분할은 지연 제어 로직(350)에 의해 관리된다. 마찬가지로, 구현되는 예에 따라 결정되는 충분한 지연 이후에, 비디오 프레임 정보는 인코더 서브시스템 E1(330)에 전송되는데, 인코더 서브시스템 E1(330)은 영상 통계량에 대한 정보를 도출하고 이 정보를 프레임 단위로 하여 통계량 버퍼(340)에 저장한다. 지연 제어 하드웨어(350)는 인입 비디오 데이터 및 영상 통계량의 버퍼링을 관리하고, 통계량 버퍼(340)로부터의 도출된 통계량 뿐만 아니라, 프레임 저장 장치(320)로부터의 비디오 프레임을 인코딩 서브시스템 E2(360)에 인코드 순서로 공급한다. 이들 통계량을 사용하여, 서브시스템 E2는 후술하는 바와 같이 프레임을 적응적으로 인코딩하고, 인코딩된 비트스트림(370)을 충분한 프레임 시간에 의해서만 지연되도록 실시간으로 출력하여, 수신된 비디오 입력(310)의 하나 이상의 특성에 대한 통계량을 생성한다.
도 6에는 참조 부호(400)가 부여된 일반화된 인코딩 서브시스템의 블록도가 도시되어 있다. 시스템(400)은 실제의 비디오 압축, 즉 움직임 측정, 움직임 압축, 양자화, 가변 길이 코딩 등을 수행하는 하드웨어/소프트웨어로 구성되는 인코딩 엔진(410) 뿐만 아니라, 비디오 데이터가 인코딩 서브시스템에서 수신될 때 비디오 데이터에 대한 비움직임 통계량(420)을 계산하는 하드웨어/소프트웨어를 포함한다. 인코딩 서브시스템 E1(330)(도 5 참조)은 통계량 수집 로직(420) 및 인코딩 엔진(410)을 사용하는 반면, 인코딩 서브시스템 E2(360)(도 5 참조)은 단지 인코딩 엔진(410)만을 사용할 것이다. 따라서, 인코딩의 제 1 패스 동안, 즉 서브시스템 E1을 통해, 움직임 벡터를 근거로 움직임 통계량이 인코딩 엔진(410)에 의해 계산된다. 이어서, 인코딩 서브시스템 E2는 제 2 패스를 사용하여 인코딩 엔진(410)을 통해 인코딩된 비트스트림을 출력한다.
본 발명에 따른 시스템의 실시간 동작 및 연관된 프레임 지연은 표 1의 MPEG-2의 일예에 예시되어 있다. 이 예에서, 2개의 앵커 화상들 사이에 하나의 B 화상을 가정하고(IBPBPBP...), 비움직임 통계량이 수집된다. 통계적 계산 이전에는 단지 하나의 비디오 데이터 프레임만이 버퍼링되고, 이 예에서 프레임의 입력 및 출력간의 지연은 4개의 프레임 시간의 최대치이다.
본 발명의 원리를 이용하는 당업자라면 다른 구현예도 가능하다는 것이 명백할 것이다. 예를 들면, 비디오 데이터가 B 화상을 갖지 않고 통계량이 프레임내인 경우에, 비디오 데이터는 제 1 인코딩 서브시스템 E1에 입력되는 것과 병렬적으로 프레임 저장 장치에 입력될 수 있다.
인코딩 서브시스템 E1에서 계산된 통계량의 예가 이하에 기술될 것이다.
상기한 바와 같이, 인코딩 서브시스템 E1은 영상 데이터로부터 통계량을 계산한다. 이들 통계량에 근거하여, 서브시스템은 화면 변화 또는 페이드 검출과 같은 사전처리 단계를 또한 수행할 수 있다. 서브시스템 E1에 의해 계산된 특정의 통계량은 서브시스템 E2내의 레이트 제어 알고리즘의 주어진 구현예에 따라 달라진다. MPEG-2 인코딩에서, 프레임을 위한 양자화 또는 프레임내에서의 양자화를 결정하는데 사용될 수 있는 광범위한 화상 통계량이 존재한다. 후술되는 통계량은 단지 일예로서 제공되며 다른 E2 비디오 압축 알고리즘에서는 상이한 화상의 양을사용할 수도 있다.
프레임 통계량은 통상 2개의 그룹, 즉 프레임내 및 프레임간 통계량으로 나누어질 수 있다. 프레임내의 통계량은 프레임내에서는 단지 프레임내의 화소 데이터를 사용하여 계산되는 반면, 프레임간 통계량은 영상 시퀀스(통상 2개의 연속적인 영상)로부터의 몇개의 연속적인 영상을 사용하여 얻어진다. 프레임내 및 프레임간 통계량은 전역적인 양 및 국소적인 양으로 더 나누어질 수 있다. 전역적인 양은 전체 영상 프레임의 특성을 기술하고, 국소적인 통계량은 프레임의 각각의 하위분할에 대해, 예를 들면 한 프레임의 각 매크로블록에 대해 계산된다. 본 명세서에서 제공된 통계량은 휘도 데이터로부터 계산될 수 있으나, 부가적인 통계량은 크로미넌스 데이터로부터 역시 도출될 수 있다.
프레임내 통계량 :
전역적인 양:
· 한 프레임의 평균 화소간 차이(Average Interpixel Difference; AID) -
AID는 한 프레임의 영상 라인의 2개의 연속적인 화소간의 절대 차분값의 평균이다. AID가 높을수록, 프레임내의 세세한 내용들이 많아지게 된다. 이러한 양은 화소 인터페이스내의 하드웨어에 의해 통과된 프레임에 대한 화소로서 계산된다.
· 프레임의 평균 활동성(Average Activity; AVACT) -
AVACT는 한 프레임내의 매크로블록 변동량의 평균치로서 측정된다. 매크로블록 변동량은 한 매크로블록의 화소값으로부터의 통계적 평균치로서 측정될 수 있다. 평균 활동성은 화상의 분주성에 관한 정보를 제공한다.
국소적인 양:
상기한 전역적인 양의 계산 동안, 국소적인 측정치가 또한 얻어질 수 있다. 따라서, 각 하위분할, 예를 들면 매크로블록(MB)에 대해, MB-AID, MB-AVACT 통계량이 저장될 수 있고, 이후 프레임의 국소적인 적응적 인코딩을 위해 서브시스템 E2에 의해 사용될 수 있다.
프레임간 통계량 :
이들 통계량은 영상 시퀀스의 연속적인 프레임들간의 관계, 예를 들면 움직임의 발생, 화면 변화, 페이딩, 또는 매크로블록내의 잡음 식별을 기술한다.
전역적인 양:
·한 프레임의 평균 프레임 차분값(Average Frame Difference; AFD) -
AFD는 현재 화상의 휘도 화소값 및 이전의 프레임내의 동일한 위치에서의 화소간의 절대 차분값의 평균이다.
· DFD(Displaced Frame Difference)(변위된 프레임 차분값)의 변동량 -
한 화소에서의 DFD를 획득하기 위해, 2개의 연속적인 프레임을 사용하여 각 매크로블록에 대해 움직임 벡터가 계산되어야 한다. DFD는 현재의 프레임에서의화소값 및 선행 또는 후속 프레임내의 대응하는(측정되는 움직임 벡터에 의해 배치되는) 화소값간의 차분값이 된다. 변동량은 DFD의 통계량 평균치로서 측정될 수 있으며, 이것은 전체 프레임의 각 화소에 대해 계산된다.
국소적인 양:
· 매크로블록에 대한 DFD의 변동량.
전역적인 양과 동일하나, 변동량이 매크로블록에 대해 측정된다.
· 움직임 벡터의 변동량(이웃하는 움직임 벡터들간의 차분값)
화면 변화 검출 :
2개의 연속적인 프레임을 가정한다. 각 프레임에 대해 상기한 통계량(전역적인 양 및 국소적인 양)을 얻을 수 있다. 화면 변화를 검출하는 데에는 여러 가지 가능성이 존재한다. 예를 들면,
a) ((AVACT(i)-AVACT(i-1)) > 임계치1)이면, 프레임 i는 새로운 화면에 속하게 된다. 임계치1은 실험적으로 결정된다.
b) ((AID(i)-AID(i-1)) > 임계치2)이면, 프레임 i는 새로운 화면에 속하게 된다. 임계치2는 실험적으로 결정된다.
c) 조건 a) 및 b)의 조합.
d) ((AFD) > 임계치3)이면, 프레임 i는 새로운 화면에 속하게 된다. 임계치3은 실험적으로 결정된다.
e) 화면 변화 검출량 - 프레임내 통계량.
DFD 변동량 > 임계치4이고 (AID(i)-AID(i-1)) > 임계치2)이면, 프레임 i는 새로운 화면에 속하게 된다. 임계치는 실험적으로 결정된다. 매크로블록(MB)에 대해 단지 하나의 움직임 벡터만을 얻을 수 있고 MB내의 각 화소에 대해 이것이 반드시 진정한 움직임 벡터가 아니기 때문에, 임계치4는 주의깊게 선택되어야 한다.
화면 변화가 검출되는 경우, 이것이 시스템 E2로 교신될 것이다. 서브시스템 E2는 선행 화면에 속하는 선행 화상으로부터 임의의 정보를 폐기함으로써 반응할 수도 있다. E2는 화상의 인코딩 모드를 또한 재배열할 수 있는데, 예를 들면 새로운 화면에 속하는 제 1 화상은 I 화상으로서 코딩될 수 있다.
페이드 검출 :
페이드는 기본적으로 느린 화면 변화이므로, 변화가 돌발적인 화면 컷(scene cut)과는 달리, 프레임이 점차적으로 변화한다. 페이드는 두 방향, 즉 1) 제 1 화면이 페이드로 사라져 가는 방향과, 2) 페이드가 제 2 화면으로 결정화해 가는 방향을 갖는다.
페이드의 존재 및 그 방향은 화소간의 비율 + 선행 화상에 대한 변화량에 의해 결정될 수 있는데, 즉 프레임 N+1 화소의 합산값이 프레임 N으로부터 실험적으로 결정된 비율만큼 상이하면, 페이드가 생기게 된다. 그 방향은 크기의 부호, 즉 "보다 큼" 또는 "보다 작음"에 의해 결정된다. 페이드가 검출되면, 이것은 E2로 교신된다.
상기한 바와 같이, 인코더 서브시스템 E2는 인코더 서브시스템 E1과 동일한 인코딩 엔진 아키텍처를 가질 수 있으나, 통계량 수집 하드웨어/소프트웨어는 서브시스템 E2에 의해 사용될 수 없다. 프레임 시퀀스의 적응적 인코딩은 인코딩 엔진의 레이트 제어 알고리즘에 의해, 즉 앞서 생성된 통계량을 사용하여 수행된다. 이것은 2단계 프로세스이다.
우선, 비트 레이트, 인코딩 모드, 서로에 대한 프레임의 상대적 특성에 따라 비트 할당이 각 화상에 대해 정의된다. 그리고 나서, 대응하는 양자화 파라미터(QUANT)가 정의된다. MPEG-2 호환 비트스트림에서, QUANT 값은 매크로블록마다 상이할 수 있어 한 프레임내에서 국소적인 적응적 양자화를 허용한다. 본 발명에 따르면, 상기한 전역적인 양을 사용하여 각 화상에 대해 제 1 전역적인 QUANT 값이 정의된다. 다음으로, 특정 매크로블록에 대한 QUANT 값이 매크로블록의 국소적인 통계량에 근거하여 전역적인 QUANT 값을 변조(modulate)함으로써 얻어진다.
인코딩 서브시스템 E1내의 화면 변화를 검출함으로써, 화상 통계량을 사전에 알고 있는 경우, 화면 변화 검출 후에 선행 화면에 속하는 선행 화상으로부터의 정보가 폐기될 수 있다. 예를 들면, 새로운 화상 그룹(GOP)이 새로운 화면으로 개시될 수 있다. 전역적인 QUANT 값이 구 화면으로부터의 파라미터를 사용하는 대신에 사전정의된 초기 레이트 제어 파라미터를 사용하여 새로운 GOP의 프레임에 대해 계산될 수 있다.
서브시스템 E1에 의해 페이드가 검출되면, 서브시스템 E2가 움직임 측정/보상에 대한 적절한 기준 프레임을 사용함으로써 반응하고/하거나, 프레임의 인코딩 모드를 변경시킬 수 있다. 이것의 일예는 I 화상을 강제하거나, P 또는 B 화상내의 모든 매크로블록을 매크로블록내(intra-macroblock)로서 코딩하는 것이다.
국소적인 적응적 양자화도 또한 가능하다. 이 방법의 목적은 화면 내용에 근거하여 매크로블록으로 할당된 비트를 분배하는 것이다. 하나의 가능한 방법은 인코딩될 현재 화상의 AVACT를 사용하는 것이다. 각 매크로블록에 대한 MB-AVACT는 통계량 버퍼링에 또한 저장된다. MB의 QUANT 값은 AVACT 및 MB-AVACT의 비에 의해 전역적인 QUANT 값을 변조함으로써 얻어진다. 예를 들면, 화상 AVACT에 비해 매크로블록의 활동성이 높으면, 전역적인 QUANT에 대해 이러한 특정 매크로블록의 QUANT가 증가될 것이고, 화상 AVACT에 비해 매크로블록의 활동성이 낮으면, 전역적인 QUANT에 대해 이러한 특정 매크로블록의 QUANT가 감소될 것이다.
본 발명의 적응적 인코딩 시스템에 따르면, 한 화상내의 잡음 매크로블록을 식별하기 위해 국소적인 통계량이 또한 사용될 수 있다. 매크로블록이 하이 DFD 값을 갖고 그 활동성이 또한 하이이면, 매크로블록은 잡음을 포함(noisy)하는 것으로 선언될 수 있다. 잡음을 포함하는 매크로블록은 하이 QUANT 값에 의해 인코딩될 수 있고, 이로 인해 비트가 절약된다. 이들 잉여 비트는 프레임내 잡음을 포함하지 않는 매크로블록을 인코딩하는데 사용될 수 있다. 따라서, 화상의 전체 화질이 향상될 것이다.
본 발명의 인코딩 시스템이 국소적인 적응적 양자화의 기능을 수행하는 방식의 일예는 다음과 같이 될 수 있다. 각 매크로블록에 대한 양자화값을 결정하기위해, 인코딩 서브시스템은 해당 매크로블록에 대해 통계량 저장 장치(340)(도 5 참조)로부터 MB-AVACT 및 DFD를 수신할 것이다. 서브시스템 E2는 이 매크로블록에 대해 가장 효율적인 QUANT 값을 결정하는데 이들 값을 사용할 수 있다.
본 발명의 원리에 따른 인코딩 시스템/방법의 다른 특징이 이하 도 7 내지 도 9를 참조하여 기술될 것이다. 이러한 개선된 실시예에서, 본 발명은 2개의 인코더 및 제어 프로세서를 사용하여 비디오 데이터를 실시간 인코딩하는 것을 포함한다. 도 7에 도시한 바와 같이, 제 1 인코더인 E1(510)은 입력 비디오 데이터(501)를 수신하고, 이로부터 제어 프로세서(CP)(520)로 전송하기 위한 통계량을 생성한다. 구체적으로는, 인코딩 서브시스템 E1은 압축 해제된 비디오 데이터를 수신하고 비디오 데이터의 시퀀스에서 현재의 화상 및 그 현재 화상의 다른 화상과의 관계를 기술하는 통계량을 도출한다.
제어 프로세서(520)는 통계적 기법(이하 기술됨)을 사용하여 인코딩 서브시스템 E2(540)에 의해 사용될 하나 이상의 인코딩 파라미터를 전개하기 위해, 생성된 통계량을 분석한다. 인코딩 서브시스템 E2는 개선된 인코딩 파라미터를 사용하여 고화질의 고도로 압축된 비디오 스트림(541)을 실시간으로 생성한다. 인코딩 서브시스템 E2는 제어 프로세서(520)로부터 수신된, 개선된 인코딩 파라미터에 대해 동기화된 입력 비디오 데이터(501)의 지연된 버전(530)을 또한 수신함으로써, 서브시스템 E2가 제어 프로세서로부터 자신의 연관된 개선된 인코딩 파라미터를 사용하여 각 프레임을 인코딩하도록 한다.
인코딩 서브시스템 E1에 의해 생성된 통계량은 화상(프레임내)이 함께 제공된 정보에 근거할 수 있거나 또는 전술한 바와 같은 다수의 화상(프레임내)들간의 차분값을 기초로 하여 수집된 정보에 근거할 수 있다. 프레임내 통계량의 예로는 (1) 화상 복잡성, (2) 비트 카운트, (3) 신호-잡음비(SNR)를 들 수 있다. 프레임간 통계량의 예로는 (1) 움직임 벡터, (2) 움직임 검출, (3) 반복 필드, (4) 예측 에러, (5) 화면 변화를 들 수 있다. 당업자라면 이들 통계량을 결정하기 위해 사용할 수 있는 기법을 이해할 수 있을 것이다.
제어 프로세서는 인코딩 서브시스템 E1으로부터의 통계량을 사용하여 통계적인 분석 루틴을 수행함으로써, 제 2 인코딩 서브시스템 E2의 인코딩 프로세스를 제어하는 하나 이상의 파라미터를 생성한다. 제어가능한 파라미터의 예로는 화상 당 비트(bit per pictures), 화상 유형, 반복 필드의 통지(notification), 필드 또는 프레임 인코딩, 프레임(탐색 윈도우)들간 움직임의 최대량, 및/또는 양자화 파라미터(Mquant)를 들 수 있다.
도 8은, 인코딩 서브시스템 E1(510)내에서 비디오 데이터의 시퀀스가 분석되어 화면 변화가 발생하였는지의 여부를 판정하고, 화질의 척도를 제공하는 프로세싱 루틴의 일 실시예를 도시한다. 이들 통계량(가능하게는 사용된 비트, 화상 유형, 목표 비트 레이트와 함께)은 제어 프로세서(CP)(520)에 제공되는데, 본 실시예에서 이 제어 프로세서는 제 2 인코딩 서브시스템 E2(540)에 제공되는 양자화 파라미터(Mquant)를 전개한다. 인코딩 서브시스템 E2는 인코딩 서브시스템 E1에 의해 사용된 비디오 프레임 시퀀스의 지연된 버전을 수신하고, 그로부터 인코딩된 비디오 비트스트림을 생성한다.
도 9는 제어 프로세서(520)내에 구현된 통계적 기법 또는 프로세싱 루틴의 예를 도시한다. 본 실시예에서 제어 프로세서의 주요 기능은 주어진 화면내에서 최종 인코딩된 화상의 통계량 및 이전에 인코딩된 화상의 히스토리에 근거하여, 새로운 화상에 대한 새로운 인코더 파라미터 세트를 결정하는 것이다. 새로운 인코더 파라미터 세트는 제 2 인코딩 서브시스템이 가변 출력 비트 레이트로 일정한 화질을 생성하도록 한다.
인코딩 서브시스템 E2에 대한 입력 비디오 데이터는, 지연 소자(530)를 제외하고는 인코딩 서브시스템 E1에 대한 입력 비디오 데이터와 동일하다. 지연으로 인해 인코딩 서브시스템 E1은, 예를 들면 하나 이상의 화상의 특성에 대한 평균값을 초기에 생성하도록 2개의 화상을 프로세스할 수 있다. 이러한 지연으로 인해, 인코딩 서브시스템 E1으로부터 통계량을 분석하고 인코딩 서브시스템 E2내에서 프로세스될 현재의 화상에 대해 새로운 파라미터 세트를 생성할 수 있는 시간이 얻어지게 된다.
제어 프로세서는 바람직하게 인코딩 서브시스템 E1내에서 프로세스되는 모든 화상에 대한 통계량을 수집한다. 일 실시예에서 이러한 통계량의 집합체(600)는 화면 변화 및 화질 통계량을 포함한다. 고려될 수 있는 다른 통계량으로는 사용된 비트, 화상 유형, 목표 비트 레이트, 평균 화상 Mquant 등을 들 수 있다. 도 9의 루틴에서, 제어 프로세서는 먼저 주어진 화상이 최종 화상과 유사한 내용을 갖는지, 또는 현재의 화상이 새로운 화면(510)에 속하는지의 여부를 식별한다. 현재의 화상이 동일한 화면에 속하지 않는 경우, 인코딩 파라미터는 현재의 화상(620)의화상 복잡성에 근거하여 리세트된다. 이들 리세트 인코딩 파라미터는 버퍼(660)에 제공되며, 출력되어 상술한 바와 같이 제 2 인코딩 파라미터(540)에 의해 사용되기를 기다린다.
현재 화상의 내용이 선행 화상의 내용과 유사한 경우, 즉 화면 변화가 없는 경우, 인코딩 파라미터는 화면내의 동일한 유형의 선행 화상으로부터의 정보에 근거할 수 있다. 예를 들면, 도 9의 루틴은 "화질"을 사용하여 하나 이상의 파라미터를 정의한다. 화질은 현재의 화상을 인코딩하기 위해 제 1 인코딩 서브시스템 E1에 의해 잉여 비트가 사용되었는지의 여부를 표시한다. (서브시스템 E1에 의해 사용된 인코딩 파라미터는 선행 프레임을 인코딩하기 위해 서브시스템 E2에 의해 사용된 파라미터일 수 있고, 또는 이들은 기준 파라미터 세트를 포함할 수도 있다.)
화질 임계치는 당업자에 의해 사전정의되고 실험적으로 도출될 수 있다. 예를 들면, 임계치는 원하는 비트 레이트 및 화상 내용에 근거하여 정의될 수 있다. 화질을 측정하는 방법은 신호-잡음비를 판단하는 것일 수 있다. 통상의 알맞은 신호-잡음비는 30 내지 40㏈의 범위에 있다. 일 실시예에서, "화질"은 제 1 인코딩 서브시스템 E1에 입력된 프레임의 원 버전과 프레임의 인코딩되고 디코딩된 버전을 비교함으로써 판단될 수 있다. 제어 프로세서는 먼저 현재의 화질(즉, E1으로부터의 출력 화질)이 사전정의된 임계치(630)를 초과하는지의 여부를 판단한다. 임계치가 초과되는 경우, 현재의 화상에 쓰이는 비트량은 비디오 프레임 시퀀스내 보다 복잡한 화상을 위해 보존될 수 있다.
일예로서, 제어 프로세서는 주어진 화면의 화상에 의해 사용된 평균 Mquant, 평균 화질, 평균 비트 등의 화상 통계량을 수집하고 축적한다. 현재 화면의 새롭게 인코딩된 E1 화상에 대한 이들 통계량은 평균 화면 통계량과 비교되어, 현재 화상의 코딩 파라미터가 어떻게 정제(refine)되어야 할 지에 대해 판정한다. 따라서 제어 프로세서는 화면의 히스토리로부터 학습하며, 제 2 인코딩 서브시스템 E2에 의해 사용될 현재 화상의 제어 파라미터를 조정한다.
본 실시예에서 조정량은 동일한 화상 유형의 가장 최근의 Mquant(본 명세서에서 "선행 Mq") 및 평균 Mquant(본 명세서에서 "Av Mq")에 관련된다. 화질이 목표 화질 임계치보다 높은 경우, Mquant는 비트 소모를 낮추기 위해 증가되어야 한다. 화질이 목표 화질 임계치보다 낮은 경우에는 반대로 적용된다. 증가량 또는 감소량은 갱신된 평균 Mquant 및 선행 평균 Mquant간의 차분값이 된다. 이 증분은 목표 화질 임계치에 대한 수렴값을 제공한다.
따라서, 화질이 사전정의된 임계치를 초과하는 경우, 제 2 인코딩 서브시스템에 의해 사용될 현재의 Mquant(즉, "후속 Mq")는, 가장 최근의 Mquant(선행 Mq) + 새로운 평균 Mquant의 차분값 - 선행 평균 Mquant로서 정의된다. 새로운 평균 Mquant는 동일한 화상 유형의 화상 히스토리를 통해 현재의 화면까지 평균화된 평균 Mquant를 포함하고, 제 2 인코딩 서브시스템에 의해 인코딩될 현재의 화상을 포함한다. 선행 평균 Mquant는 현재의 화상 이전의 동일한 화상 유형의 화면에 있어서 화상에서의 평균 Mquant이다. 제 1 인코딩 서브시스템으로부터의 출력 화질이 사전정의된 임계치보다 적으면, 동일한 차분값의 양이 오프셋으로서 사용된다. 이경우에만, 차분값의 양이 선행 Mquant(650)로부터 감산되어, 제 2 인코딩 서브시스템에 의해 사용될 Mquant를 낮추게 되고 이에 따라 화질을 향상시키게 된다. 도 9에 도시한 바와 같이, 제 2 인코딩 서브시스템 E2에 의해 사용되도록 후속 또는 현재 Mquant가 버퍼링된다.
현재의 화상이 새로운 화면의 시작인 경우에는, 구(old) 히스토리는 적용될 수 없다. 따라서, 현재의 화상 복잡성에 근거하여 새로운 제어 파라미터 세트가 확인되어야 한다. 이러한 새로운 제어 파라미터 세트는 제 1 인코딩 서브시스템 E1에 적용되어, 출력 화질에 근거하여 수집되고 정제되는 통계량을 생성한다. 따라서 인코딩 서브시스템 E1내에서의 화면의 제 2 화상에 대한 제어 파라미터는 화면내의 제 1 화상의 출력에 따라 상측으로 또는 하측으로 조정된다. 화상 1 및 2의 출력 통계량은 가중치 평균화되어 새로운 화면에 대한 개시 히스토리를 형성하고, 화상 1의 제어 파라미터는 제 2 인코딩 서브시스템 E2에 대해 상기한 바와 같이 도출된다.
화면 변화에 후속하는 각 화상 유형의 Mquant는 화면 변화에 후속하는 I 화상의 Mquant에 근거한다. 예를 들면, P 화상에 대한 초기 Mquant는 1.2_Mquant(I)으로서 정의될 수 있고 B 화상에 대한 초기 Mquant는 2_Mquant(I)가 될 수 있다. 일단 화상 유형 당 Mquant 값이 초기화되었으면, 후속 Mquant 값은 동일한 화상 유형의 선행 Mquant의 평균 및 현재 화상의 복잡성에 근거한다. Mquants의 히스토리는 화상 유형 마다 수집되고 화면 변화가 발생할 때까지 정제되며, 이 때 Mquants가 재초기화된다.
상술한 바와 같이, 비디오 인코딩 시퀀스(입력 데이터)의 동기적으로 지연된 버전이 실제의 인코딩이 수행되는 제 2 인코딩 서브시스템 E2에 제공된다. 이 지연은 적게는 한 프레임으로부터, 많게는 시스템이 메모리에 저장할 수 있는 만큼의 프레임까지 변할 수 있다. 다수의 프레임에 걸쳐 통계적인 분석이 요구되는 애플리케이션에 있어서는, 많은 수의 비디오 프레임의 버퍼링은 비실용적으로 될 수 있다. 그러나, 2개의 비디오 소스를 사용하고 제 2 인코딩 서브시스템 E2에 공급하는 소스의 시작을 지연시킴으로써, 다량의 메모리를 부가하지 않고도 큰 프레임 지연이 실현될 수 있다. 이들 기법에 의해, 지연된 입력 데이터 및 통계량을 적절하게 조정하여 실시간 데이터가 인코딩될 수 있다. 최종 단계에서, 제 2 인코딩 서브시스템 E2는 제어 프로세서로부터 인코딩 파라미터를 채택하고, 이들을 현재의 화상에 적용하여 고화질의 낮은 비트 레이트의 MPEG-2 가변 비트 레이트(VBR) 압축 비디오 스트림을 생성한다. 상술한 발명에서는 VBR 애플리케이션에 대해 기술되었으나, 당업자라면 기술된 기법이 일정 비트 레이트(CBR) 인코딩의 화질을 개선하도록 확장될 수 있음을 이해할 것이다. 이것은 CBR 애플리케이션에 대해 통계적인 분석 및 인코딩 파라미터를 튜닝함으로써 행해질 수 있다.
상술한 설명으로부터 당업자는 본 발명의 원리에 따른 인코딩은, 특히 낮은 비트 레이트에서 비적응적 인코더 시스템에 비해 화질이 개선된다는 것을 주목해야 한다. 이러한 이유는 프레임들내에서 뿐만 아니라, 프레임간에 적응적 비트 할당을 사용하면, 높은 비트 레이트 인코딩에 비해 낮은 비트 레이트 인코딩에서 보다 임계적으로 되기 때문이다. 또한, 본 발명의 인코딩 기법은 일정 비트레이트(CBR) 모드에서 인코딩/디코딩 비디오 시퀀스의 준일정(semi-constant) 화질 또는 가변 비트 레이트(VBR) 인코딩 모드에서 일정한 화질을 보장할 수 있다.
또한, 본 발명은, 예를 들어 컴퓨터 사용가능한 매체를 갖는 제조물(예를 들면, 하나 이상의 컴퓨터 프로그램 제품)에 포함될 수 있다. 본 발명에서 구체화된 매체는, 예를 들면 본 발명의 능력을 제공하고 촉진하는 컴퓨터 판독가능한 프로그램 코드 수단을 갖는다. 제조물은 컴퓨터 시스템의 일부로서 포함되거나 또는 개별적으로 판매될 수 있다.
본 명세서에서 도시된 흐름도는 일예로서 제공된다. 본 발명의 정신으로부터 벗어나지 않고, 본 명세서에서 기술된 이들 흐름 또는 단계 또는 동작에 대해 변형이 가해질 수 있다. 예를 들면, 단계가 상이한 순서로 수행되거나, 또는 단계가 부가될 수 있는 특정한 경우에, 제거되거나 또는 수정된다. 이러한 모든 변경은 첨부되는 청구 범위에 인용되는 바와 같은 본 발명의 부분을 포함하는 것으로 간주된다.
본 발명은 특정의 바람직한 실시예에 따라 상세하게 기술되었으나, 당업자라면 다수의 수정 및 변경이 이루어질 수 있을 것이다. 따라서, 본 발명의 진정한 정신 및 범위내에 해당하는 이러한 모든 수정 및 변경을 포함하도록 첨부되는 청구 범위에 의해 의도된다.
상기한 바와 같은 본 발명에 따르면, 실시간 VBR 비디오 인코딩 방안을 제공함으로써 고압축율을 얻으면서도 인코딩된 비디오 시퀀스의 화질을 향상시키게 된다.

Claims (28)

  1. 비디오 프레임 시퀀스를 인코딩하는 방법에 있어서,
    (a) 제 1 인코딩 서브시스템을 사용하여, 상기 비디오 프레임 시퀀스를 분석하고 그 적어도 하나의 특성에 대한 정보를 도출하는 단계─상기 적어도 하나의 특성은 화면 변화, 화질, 사용된 비트, 목표 비트 레이트, 화상 유형중 적어도 하나를 포함한다─와,
    (b) 상기 적어도 하나의 특성을 자동적으로 프로세스하여, 상기 비디오 프레임 시퀀스를 인코딩하는데 사용된 적어도 하나의 제어가능한 파라미터에 대한 값을 생성하는 단계와,
    (c) 제 2 인코딩 서브시스템을 사용하여 상기 비디오 프레임 시퀀스를 인코딩하고 상기 적어도 하나의 제어가능한 파라미터의 값을 사용하여 인코딩된 비디오 데이터의 비트스트림을 생성하는 단계를 포함하는
    비디오 프레임 시퀀스 인코딩 방법.
  2. 제 1 항에 있어서,
    상기 사용 단계 (a), 상기 자동적인 프로세스 단계 (b), 상기 인코딩 단계 (c)를 실시간으로 구현하는 단계를 더 포함하는 비디오 프레임 시퀀스 인코딩 방법.
  3. 제 1 항에 있어서,
    상기 적어도 하나의 특성은 화면 변화를 포함하고 상기 자동 프로세스 단계 (b)는 화면 변화에 대해 각 프레임을 자동 측정하는 단계를 포함하며, 화면 변화의 검출시에, 상기 비디오 프레임 시퀀스를 인코딩하는데 사용되는 상기 적어도 하나의 제어가능한 파라미터에 대한 값을 결정함에 있어 상기 비디오 프레임 시퀀스의 선행 프레임으로부터의 정보를 폐기하는 비디오 프레임 시퀀스 인코딩 방법.
  4. 제 3 항에 있어서,
    상기 적어도 하나의 특성은 화질을 더 포함하며, 상기 자동 프로세스 단계 (b)는 상기 프레임에 대해 화면 변화가 검출되지 않는 경우 각 프레임에 대해 화질을 사전정의된 임계치와 자동 비교하는 단계를 포함하는 비디오 프레임 시퀀스 인코딩 방법.
  5. 제 4 항에 있어서,
    상기 자동 프로세스 단계 (b)는 상기 인코딩 단계 (c)에 대한 비트 수가 상기 화질이 상기 사전정의된 임계치보다 작으면 증가되고 상기 화질이 상기 사전정의된 임계치보다 크면 감소되도록 상기 적어도 하나의 제어가능한 파라미터에 대한값을 설정하는 단계를 더 포함하는 비디오 프레임 시퀀스 인코딩 방법.
  6. 제 5 항에 있어서,
    상기 적어도 하나의 제어가능한 파라미터는 양자화 파라미터를 포함하고, 각 프레임에 대해 상기 화질이 상기 사전정의된 임계치보다 작으면, 상기 양자화 파라미터는 새로운 평균 양자화 파라미터 및 과거의 평균 양자화 파라미터간의 차분값보다 작은 상기 비디오 프레임 시퀀스의 과거 프레임의 선행 양자화 파라미터로서 정의되며, 상기 새로운 평균 양자화 파라미터는 현재의 프레임을 포함하는 현재 화면의 모든 프레임에 대한 평균 양자화 파라미터를 포함하고, 상기 선행 평균 양자화 파라미터는 현재의 프레임 이전의 현재 화면의 모든 프레임에 대한 평균 양자화 파라미터를 포함하며, 상기 화질이 상기 임계치보다 큰 경우, 상기 양자화 파라미터는 (상기 이전의 프레임의 상기 선행 양자화 파라미터) + (상기 새로운 평균 양자화 파라미터 및 상기 선행 평균 양자화 파라미터간의 차분값)으로서 정의되는 비디오 프레임 시퀀스 인코딩 방법.
  7. 제 5 항에 있어서,
    상기 적어도 하나의 제어가능한 파라미터에 대한 값을 버퍼링하고 상기 버퍼링과 동기적으로 지연시켜 상기 인코딩 단계 (c)에 비디오 프레임 시퀀스를 제공하여 상기 제 2 인코딩 서브시스템에서 상기 적어도 하나의 제어가능한 파라미터에 대해 현재 프레임의 동시적인 발생 및 그의 대응하는 값을 보장하는 단계를 더 포함하는 비디오 프레임 시퀀스 인코딩 방법.
  8. 제 1 항에 있어서,
    상기 자동 프로세스 단계 (b)는 이전의 인코딩된 프레임에 대한 통계량 및 인코딩될 현재의 프레임을 포함하는 현재의 화면내의 동일한 화상 유형의 이전의 모든 인코딩된 프레임의 히스토리를 사용하여, 비디오 프레임 시퀀스의 현재의 프레임에 대해 상기 적어도 하나의 제어가능한 파라미터에 대한 값을 자동 결정하는 단계를 포함하는 비디오 프레임 시퀀스 인코딩 방법.
  9. 제 1 항에 있어서,
    상기 사용 단계 (a)는 상기 비디오 프레임 시퀀스의 휘도 데이터 및 크로미넌스 데이터중 적어도 하나로부터 상기 비디오 프레임 시퀀스에 대한 정보를 도출하는 단계를 포함하는 비디오 프레임 시퀀스 인코딩 방법.
  10. 제 1 항에 있어서,
    상기 인코딩 단계 (c)에 대해 입력된 상기 비디오 프레임 시퀀스를 지연시키고, 상기 사용 단계 (a), 상기 자동 프로세스 단계 (b), 상기 인코딩 단계 (c)의 타이밍을 제어함으로써, 상기 사용 단계 (a) 및 상기 자동 프로세스 단계 (b)가 상기 인코딩 단계 (c)에 선행하여 상기 인코딩 단계 (c)에서 사용된 상기 제 2 인코딩 서브시스템에서 상기 적어도 하나의 제어가능한 파라미터의 그 대응하는 값의 존재를 보장하는 단계를 더 포함하는 비디오 프레임 시퀀스 인코딩 방법.
  11. 제 1 항에 있어서,
    상기 인코딩 단계 (c)에 의해 사용된 상기 적어도 하나의 제어가능한 파라미터는 양자화 파라미터, 비트 할당, 또는 인코딩 모드중 적어도 하나를 포함하는 비디오 프레임 시퀀스 인코딩 방법.
  12. 비디오 프레임 시퀀스를 인코딩하는 시스템에 있어서,
    상기 비디오 프레임 시퀀스를 분석하고 그 적어도 하나의 특성에 대한 정보를 도출하는 제 1 인코딩 서브시스템─상기 적어도 하나의 특성은 화면 변화, 화질, 사용된 비트, 목표 비트 레이트, 화상 유형중 적어도 하나를 포함한다─과,
    상기 제 1 인코딩 서브시스템에 접속되어, 상기 비디오 프레임 시퀀스를 인코딩하는데 사용되는 적어도 하나의 제어가능한 파라미터에 대한 값을 생성하기 위해 상기 적어도 하나의 특성에 대한 상기 정보를 실시간으로 자동 프로세스하는 제어 프로세서와,
    상기 제어 프로세서에 접속되어, 상기 적어도 하나의 제어가능한 파라미터의 값을 수신하는 제 2 인코딩 서브시스템─상기 제 2 인코딩 서브시스템은 상기 적어도 하나의 제어가능한 파라미터의 값을 사용하여 상기 비디오 프레임 시퀀스를 인코딩함으로써, 인코딩된 비디오 데이터의 비트스트림을 생성한다─을 포함하는
    비디오 프레임 시퀀스 인코딩 시스템.
  13. 제 12 항에 있어서,
    상기 제 2 인코딩 서브시스템에 의해 생성되는, 인코딩된 비디오 데이터의 비트스트림은 가변 비트 레이트 비트스트림 또는 일정 비트 레이트 비트스트림을 포함하는 비디오 프레임 시퀀스 인코딩 시스템.
  14. 제 12 항에 있어서,
    상기 적어도 하나의 특성은 화면 변화를 포함하고 상기 제어 프로세서는 화면 변화에 대해 상기 비디오 프레임 시퀀스의 각 프레임을 자동 모니터링하는 수단을 포함하며, 화면 변화의 검출시에 상기 적어도 하나의 제어가능한 파라미터에 대한 값을 결정함에 있어 상기 비디오 프레임 시퀀스의 하나 이상의 선행 프레임으로부터의 정보를 폐기하는 비디오 프레임 시퀀스 인코딩 시스템.
  15. 제 14 항에 있어서,
    상기 적어도 하나의 특성은 화질을 더 포함하며, 상기 제어 프로세서는 상기 프레임에 대해 화면 변화가 검출되지 않는 경우 각 프레임의 화질을 사전정의된 임계치와 자동 비교하는 수단을 포함하는 비디오 프레임 시퀀스 인코딩 시스템.
  16. 제 15 항에 있어서,
    상기 제어 프로세서는 상기 프레임을 인코딩함에 있어 상기 제 2 인코딩 서브시스템에 의해 사용된 비트 수가 상기 화질이 상기 사전정의된 임계치보다 작으면 증가되고 상기 화질이 상기 사전정의된 임계치보다 크면 감소되도록 상기 적어도 하나의 제어가능한 파라미터에 대한 값을 자동 설정하는 수단을 더 포함하는 비디오 프레임 시퀀스 인코딩 시스템.
  17. 제 16 항에 있어서,
    상기 적어도 하나의 제어가능한 파라미터는 양자화 파라미터를 포함하고, 각 프레임에 대해 상기 화질이 상기 사전정의된 임계치보다 작으면, 상기 제어 프로세서는 새로운 평균 양자화 파라미터 및 과거의 평균 양자화 파라미터간의 차분값보다 적은 상기 비디오 프레임 시퀀스의 과거 프레임의 선행 양자화 파라미터로서 상기 양자화 파라미터를 정의하는 수단을 포함하며, 상기 새로운 평균 양자화 파라미터는 현재의 프레임을 포함하는 현재 화면의 모든 프레임에 대한 평균 양자화 파라미터를 포함하고, 상기 선행 평균 양자화 파라미터는 현재의 프레임 이전의 현재 화면의 모든 프레임에 대한 평균 양자화 파라미터를 포함하며, 상기 화질이 상기 임계치보다 큰 경우, 상기 제어 프로세서는 (상기 이전의 프레임의 상기 선행 양자화 파라미터) + (상기 새로운 평균 양자화 파라미터 및 상기 선행 평균 양자화 파라미터간의 차분값)으로서 상기 양자화 파라미터를 정의하는 수단을 포함하는 비디오 프레임 시퀀스 인코딩 시스템.
  18. 제 16 항에 있어서,
    상기 적어도 하나의 제어가능한 파라미터에 대한 값을 버퍼링하는 수단과, 상기 버퍼링에 대해 동기적으로 지연시켜 상기 제 2 인코딩 서브시스템에 상기 비디오 프레임 시퀀스를 제공하여 상기 제 2 인코딩 서브시스템에서 상기 적어도 하나의 제어가능한 파라미터에 대해 현재 프레임의 동시적인 발생 및 그의 대응하는 값을 보장하는 수단을 더 포함하는 비디오 프레임 시퀀스 인코딩 시스템.
  19. 제 12 항에 있어서,
    상기 제어 프로세서는 이전의 인코딩된 프레임에 대한 통계량 및 인코딩될 현재의 프레임을 포함하는 현재의 화면에서 동일한 화상 유형의 이전의 모든 인코딩된 프레임의 히스토리를 사용하여 비디오 프레임 시퀀스의 현재의 프레임에 대해 상기 적어도 하나의 제어가능한 파라미터에 대한 값을 자동 결정하는 수단을 포함하는 비디오 프레임 시퀀스 인코딩 시스템.
  20. 제 12 항에 있어서,
    상기 제 2 인코딩 서브시스템에 의해 사용된 상기 적어도 하나의 제어가능한 파라미터는 양자화 파라미터, 비트 할당, 또는 인코딩 모드중 적어도 하나를 포함하는 비디오 프레임 시퀀스 인코딩 시스템.
  21. 비디오 프레임 시퀀스를 인코딩하는데 사용되는 판독가능한 프로그램 코드 수단을 내부에 갖는 컴퓨터 사용가능한 매체를 포함하는 컴퓨터 프로그램 제품에 있어서,
    컴퓨터가 상기 비디오 프레임 시퀀스를 분석하고 그 적어도 하나의 특성에 대한 정보를 도출하게 하는 컴퓨터 판독가능한 프로그램 코드 수단─상기 적어도하나의 특성은 화면 변화, 화질, 사용된 비트, 목표 비트 레이트, 화상 유형중 적어도 하나를 포함한다─과,
    상기 적어도 하나의 특성에 대한 상기 정보를 실시간으로 자동 프로세스하게 하여 컴퓨터가 상기 비디오 프레임 시퀀스를 인코딩하는데 사용되는 적어도 하나의 제어가능한 파라미터에 대한 값을 생성하도록 하는 컴퓨터 판독가능한 프로그램 코드 수단과
    컴퓨터로 하여금 상기 적어도 하나의 제어가능한 파라미터의 값을 사용하여 상기 비디오 프레임 시퀀스를 인코딩함으로써 인코딩된 비디오 데이터의 비트스트림을 생성하도록 하는 컴퓨터 판독가능한 프로그램 코드 수단을 포함하는
    컴퓨터 프로그램 제품.
  22. 제 21 항에 있어서,
    상기 적어도 하나의 특성은 화면 변화를 포함하고 컴퓨터가 자동 프로세스하게 하는 상기 컴퓨터 판독가능한 프로그램 코드 수단은 화면 변화에 대해 각 프레임을 자동 모니터링하게 하는 컴퓨터 판독가능한 프로그램 코드 수단을 포함하며, 화면 변화의 검출시에 상기 적어도 하나의 제어가능한 파라미터에 대한 값을 결정함에 있어 상기 비디오 프레임 시퀀스의 선행 프레임으로부터의 정보를 폐기하는 컴퓨터 프로그램 제품.
  23. 제 22 항에 있어서,
    상기 적어도 하나의 특성은 화질을 더 포함하며, 컴퓨터가 자동 프로세스하게 하는 상기 컴퓨터 판독가능한 프로그램 코드 수단은 상기 프레임에 대해 화면 변화가 검출되지 않는 경우 컴퓨터가 각 프레임의 화질을 사전정의된 임계치와 자동 비교하게 하는 상기 컴퓨터 판독가능한 프로그램 코드 수단을 포함하는 컴퓨터 프로그램 제품.
  24. 제 23 항에 있어서,
    컴퓨터가 자동 프로세스하게 하는 상기 컴퓨터 판독가능한 프로그램 코드 수단은 상기 프레임을 인코딩함에 있어 상기 제 2 인코딩 서브시스템에 의해 사용된 비트 수가 상기 화질이 상기 사전정의된 임계치보다 작으면 증가되고 상기 화질이 상기 사전정의된 임계치보다 크면 감소되도록 상기 적어도 하나의 제어가능한 파라미터에 대한 값을 컴퓨터가 자동 설정하게 하는 컴퓨터 판독가능한 프로그램 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  25. 제 24 항에 있어서,
    상기 적어도 하나의 제어가능한 파라미터는 양자화 파라미터를 포함하고, 각프레임에 대해 상기 화질이 상기 사전정의된 임계치보다 낮으면, 상기 양자화 파라미터는 새로운 평균 양자화 파라미터 및 과거의 평균 양자화 파라미터간의 차분값보다 적은 상기 비디오 프레임 시퀀스의 과거 프레임의 선행 양자화 파라미터로서 컴퓨터가 자동 프로세스하게 하는 상기 컴퓨터 판독가능한 프로그램 코드 수단에 의해 정의되며, 상기 새로운 평균 양자화 파라미터는 현재의 프레임을 포함하는 현재 화면의 모든 프레임에 대한 평균 양자화 파라미터를 포함하고, 상기 선행 평균 양자화 파라미터는 현재의 프레임 이전의 현재 화면의 모든 프레임에 대한 평균 양자화 파라미터를 포함하며, 상기 화질이 상기 임계치보다 큰 경우, 상기 양자화 파라미터는 (상기 이전의 프레임의 상기 선행 양자화 파라미터) + (상기 새로운 평균 양자화 파라미터 및 상기 선행 평균 양자화 파라미터간의 차분값)으로서 정의되는 컴퓨터 프로그램 제품.
  26. 제 24 항에 있어서,
    상기 적어도 하나의 제어가능한 파라미터에 대한 값을 버퍼링하고, 상기 버퍼링에 대해 동기적으로 지연시켜 컴퓨터가 상기 비디오 프레임 시퀀스를 제공하게 하는 컴퓨터 판독가능한 프로그램 코드 수단을 제공하여 상기 적어도 하나의 제어가능한 파라미터에 대해 현재 프레임의 동시적인 발생 및 그의 대응하는 값을 보장하는 컴퓨터 판독가능한 프로그램 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  27. 제 21 항에 있어서,
    컴퓨터가 자동 프로세스하게 하는 상기 컴퓨터 판독가능한 프로그램 코드 수단은 이전의 인코딩된 프레임상의 통계량 및 인코딩될 현재의 프레임을 포함하는 현재의 화면에서 동일한 화상 유형의 이전의 모든 인코딩된 프레임의 히스토리를 사용하여 비디오 프레임 시퀀스의 현재의 프레임에 대해 상기 적어도 하나의 제어가능한 파라미터에 대한 값을 자동 결정하는데 영향을 미치게 하는 컴퓨터 판독가능한 프로그램 코드 수단을 포함하는 컴퓨터 프로그램 제품.
  28. 제 21 항에 있어서,
    상기 적어도 하나의 제어가능한 파라미터는 양자화 파라미터, 비트 할당, 또는 인코딩 모드중 적어도 하나를 포함하는 컴퓨터 프로그램 제품.
KR1019980038581A 1997-10-10 1998-09-15 비디오 프레임 시퀀스 인코딩 시스템 및 그 방법, 컴퓨터 프로그램 제품 KR100295006B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US08/948,442 1997-10-10
US08/948,442 US6040861A (en) 1997-10-10 1997-10-10 Adaptive real-time encoding of video sequence employing image statistics
US8/948,442 1997-10-10
US09/008,281 US5978029A (en) 1997-10-10 1998-01-16 Real-time encoding of video sequence employing two encoders and statistical analysis
US09/008,281 1998-01-16
US9/008,281 1998-01-16

Publications (2)

Publication Number Publication Date
KR19990036646A KR19990036646A (ko) 1999-05-25
KR100295006B1 true KR100295006B1 (ko) 2001-07-12

Family

ID=26678026

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980038581A KR100295006B1 (ko) 1997-10-10 1998-09-15 비디오 프레임 시퀀스 인코딩 시스템 및 그 방법, 컴퓨터 프로그램 제품

Country Status (5)

Country Link
US (1) US5978029A (ko)
JP (2) JP3510495B2 (ko)
KR (1) KR100295006B1 (ko)
SG (1) SG71157A1 (ko)
TW (1) TW390099B (ko)

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3745089B2 (ja) * 1997-07-15 2006-02-15 キヤノン株式会社 画像処理装置、画像処理方法及びコンピュータ読み取り可能な記憶媒体
US6097757A (en) * 1998-01-16 2000-08-01 International Business Machines Corporation Real-time variable bit rate encoding of video sequence employing statistics
US6307886B1 (en) * 1998-01-20 2001-10-23 International Business Machines Corp. Dynamically determining group of picture size during encoding of video sequence
US6192154B1 (en) * 1998-01-26 2001-02-20 International Business Machines Corporation Two-pass encoding method of digital motion video sequences for constant-or variable bit rate
US6252905B1 (en) * 1998-02-05 2001-06-26 International Business Machines Corporation Real-time evaluation of compressed picture quality within a digital video encoder
US6895048B2 (en) * 1998-03-20 2005-05-17 International Business Machines Corporation Adaptive encoding of a sequence of still frames or partially still frames within motion video
US6563549B1 (en) * 1998-04-03 2003-05-13 Sarnoff Corporation Method and apparatus for adaptively encoding an information stream
US6434196B1 (en) * 1998-04-03 2002-08-13 Sarnoff Corporation Method and apparatus for encoding video information
US6266369B1 (en) * 1998-06-09 2001-07-24 Worldgate Service, Inc. MPEG encoding technique for encoding web pages
US6192148B1 (en) * 1998-11-05 2001-02-20 Winbond Electronics Corp. Method for determining to skip macroblocks in encoding video
EP1003336A1 (en) * 1998-11-17 2000-05-24 STMicroelectronics S.r.l. Video pictures compression and coding with decision step for field/frame and motion vectors DCT
JP3458741B2 (ja) 1998-12-21 2003-10-20 ソニー株式会社 撮像方法及び撮像装置、画像処理方法及び画像処理装置
KR100750092B1 (ko) * 2000-01-28 2007-08-21 삼성전자주식회사 가변장 코딩방법 및 장치
US7343617B1 (en) 2000-02-29 2008-03-11 Goldpocket Interactive, Inc. Method and apparatus for interaction with hyperlinks in a television broadcast
US7367042B1 (en) 2000-02-29 2008-04-29 Goldpocket Interactive, Inc. Method and apparatus for hyperlinking in a television broadcast
JP2001245303A (ja) * 2000-02-29 2001-09-07 Toshiba Corp 動画像符号化装置および動画像符号化方法
US7120924B1 (en) 2000-02-29 2006-10-10 Goldpocket Interactive, Inc. Method and apparatus for receiving a hyperlinked television broadcast
JP2001268575A (ja) * 2000-03-14 2001-09-28 Pioneer Electronic Corp 画像変化検出装置及び画像変化検出方法、画像符号化装置並びに画像変化検出用プログラムがコンピュータで読取可能に記録された情報記録媒体
US7091985B1 (en) 2000-05-16 2006-08-15 International Business Machines Corporation System and method for compressing color data using expandable color palette
GB0014671D0 (en) * 2000-06-15 2000-08-09 Seos Displays Ltd Head slaved area of interest (HSAOI) using framestore demultiplexing
JP4710108B2 (ja) * 2000-07-14 2011-06-29 ソニー株式会社 画像信号符号化方法及び装置
DE60127963T2 (de) * 2000-07-21 2007-11-22 Matsushita Electric Industrial Co., Ltd., Kadoma Signalübertragungssystem
US6834080B1 (en) 2000-09-05 2004-12-21 Kabushiki Kaisha Toshiba Video encoding method and video encoding apparatus
US6678590B1 (en) * 2000-10-17 2004-01-13 Bbnt Solutions Llc Vehicle navigation system with vision system preprocessor using MPEG encoder
JPWO2002080575A1 (ja) * 2001-03-29 2004-07-22 ソニー株式会社 画像処理装置、画像処理方法、画像処理プログラムおよび記録媒体
FR2823943A1 (fr) * 2001-04-24 2002-10-25 Koninkl Philips Electronics Nv Procede de detection de bruit dans un flux de donnees video codees
US7072393B2 (en) 2001-06-25 2006-07-04 International Business Machines Corporation Multiple parallel encoders and statistical analysis thereof for encoding a video sequence
US6959044B1 (en) * 2001-08-21 2005-10-25 Cisco Systems Canada Co. Dynamic GOP system and method for digital video encoding
US6925120B2 (en) * 2001-09-24 2005-08-02 Mitsubishi Electric Research Labs, Inc. Transcoder for scalable multi-layer constant quality video bitstreams
US7023471B2 (en) * 2001-10-31 2006-04-04 Intel Corporation Video quality assessment with test video sequences
US6990146B2 (en) * 2001-11-16 2006-01-24 Koninklijke Philips Electronics N.V. Method and system for detecting intra-coded pictures and for extracting intra DCT precision and macroblock-level coding parameters from uncompressed digital video
US7130472B2 (en) * 2002-01-21 2006-10-31 Canon Kabushiki Kaisha Image distribution apparatus, communication terminal apparatus, and control method thereof
US20030177255A1 (en) * 2002-03-13 2003-09-18 Yun David C. Encoding and decoding system for transmitting streaming video data to wireless computing devices
AU2003209553A1 (en) * 2002-03-13 2003-09-22 Imax Corporation Systems and methods for digitally re-mastering or otherwise modifying motion pictures or other image sequences data
US6788227B2 (en) 2002-03-28 2004-09-07 International Business Machines Corporation Apparatus for integrated cascade encoding
US6993078B2 (en) * 2002-03-28 2006-01-31 International Business Machines Corporation Macroblock coding technique with biasing towards skip macroblock coding
US7609767B2 (en) * 2002-05-03 2009-10-27 Microsoft Corporation Signaling for fading compensation
US7463684B2 (en) * 2002-05-03 2008-12-09 Microsoft Corporation Fading estimation/compensation
US7277486B2 (en) * 2002-05-03 2007-10-02 Microsoft Corporation Parameterization for fading compensation
US6961376B2 (en) * 2002-06-25 2005-11-01 General Instrument Corporation Methods and apparatus for rate control during dual pass encoding
US7088776B2 (en) 2002-07-15 2006-08-08 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding
US6728315B2 (en) 2002-07-24 2004-04-27 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
US7773112B2 (en) * 2002-08-20 2010-08-10 Tektronix, Inc. Automatic measurement of video parameters
KR101017907B1 (ko) * 2002-12-04 2011-03-04 톰슨 라이센싱 화상 사이의 크로스-페이드를 인코딩하는 방법, 비디오 인코더 및 비디오 코덱
US20100166056A1 (en) * 2002-12-10 2010-07-01 Steve Perlman System and method for encoding video using a selected tile and tile rotation pattern
US20060082474A1 (en) * 2003-01-28 2006-04-20 Cooper Jeffrey A Robust mode staggercasting with multiple delays for multi-resolution signals
US8059711B2 (en) * 2003-01-28 2011-11-15 Thomson Licensing Robust mode staggercasting
FR2851111B1 (fr) * 2003-02-10 2005-07-22 Nextream France Dispositif de codage d'un flux de donnees video
JP3873917B2 (ja) * 2003-03-14 2007-01-31 セイコーエプソン株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
US7580460B2 (en) * 2003-03-28 2009-08-25 Sony Corporation Video encoder with multiple outputs having different attributes
US8542733B2 (en) * 2003-06-26 2013-09-24 Thomson Licensing Multipass video rate control to match sliding window channel constraints
US8009739B2 (en) * 2003-09-07 2011-08-30 Microsoft Corporation Intensity estimation/compensation for interlaced forward-predicted fields
US7408984B2 (en) * 2003-09-17 2008-08-05 International Business Machines Corporation Method and system for multiple pass video coding
US7535959B2 (en) * 2003-10-16 2009-05-19 Nvidia Corporation Apparatus, system, and method for video encoder rate control
US20050089232A1 (en) * 2003-10-23 2005-04-28 Chun-Ming Hsu Method of video compression that accommodates scene changes
US20060013305A1 (en) * 2004-07-14 2006-01-19 Sharp Laboratories Of America, Inc. Temporal scalable coding using AVC coding tools
US7474701B2 (en) * 2004-09-23 2009-01-06 International Business Machines Corporation Single pass variable bit rate control strategy and encoder for processing a video frame of a sequence of video frames
JP4257655B2 (ja) * 2004-11-04 2009-04-22 日本ビクター株式会社 動画像符号化装置
US8780957B2 (en) 2005-01-14 2014-07-15 Qualcomm Incorporated Optimal weights for MMSE space-time equalizer of multicode CDMA system
AU2006223416A1 (en) * 2005-03-10 2006-09-21 Qualcomm Incorporated Content adaptive multimedia processing
JP4516874B2 (ja) * 2005-03-30 2010-08-04 Necパーソナルプロダクツ株式会社 画像データ符号化装置及び画像データ符号化方法
KR100813961B1 (ko) * 2005-06-14 2008-03-14 삼성전자주식회사 영상 수신장치
US20070036227A1 (en) * 2005-08-15 2007-02-15 Faisal Ishtiaq Video encoding system and method for providing content adaptive rate control
JP4236654B2 (ja) * 2005-09-13 2009-03-11 株式会社東芝 動画像符号化装置及びその方法
US8879856B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Content driven transcoder that orchestrates multimedia transcoding using content information
US8654848B2 (en) 2005-10-17 2014-02-18 Qualcomm Incorporated Method and apparatus for shot detection in video streaming
US8948260B2 (en) 2005-10-17 2015-02-03 Qualcomm Incorporated Adaptive GOP structure in video streaming
JP4644097B2 (ja) * 2005-10-31 2011-03-02 富士通セミコンダクター株式会社 動画像符号化プログラム、プログラム記憶媒体、および符号化装置。
CN101375315B (zh) 2006-01-27 2015-03-18 图象公司 数字重制2d和3d运动画面以呈现提高的视觉质量的方法和系统
FR2898757A1 (fr) * 2006-03-14 2007-09-21 Canon Kk Procede et dispositif d'adaptation d'une frequence temporelle d'une sequence d'images video
US9131164B2 (en) 2006-04-04 2015-09-08 Qualcomm Incorporated Preprocessor method and apparatus
CN101479765B (zh) 2006-06-23 2012-05-23 图象公司 对2d电影进行转换用于立体3d显示的方法和系统
GB2451512A (en) 2007-08-02 2009-02-04 Tandberg Television Asa Scene cut detection based on flagging image parameters and trigger threshold comparison
FR2919779B1 (fr) * 2007-08-02 2010-02-26 Canon Kk Procede et dispositif de codage avec perte d'un signal numerique
WO2009032106A1 (en) * 2007-08-28 2009-03-12 Thomson Licensing Staggercasting with no channel change delay
EP2059049A1 (en) * 2007-11-07 2009-05-13 British Telecmmunications public limited campany Video coding
KR20100122386A (ko) * 2009-05-12 2010-11-22 삼성전자주식회사 영상 시퀀스에 인위적으로 삽입된 적어도 하나의 영상 프레임을 부호화/복호화하는 방법 및 장치
US8532169B2 (en) * 2009-12-23 2013-09-10 General Instrument Corporation Rate control for two-pass encoder using adaptive quantization parameters
US8681858B2 (en) * 2009-12-23 2014-03-25 General Instrument Corporation Rate control for two-pass encoder
JP2011199414A (ja) * 2010-03-17 2011-10-06 Toshiba Corp 素材収録装置及び素材収録方法
KR101391397B1 (ko) * 2010-05-12 2014-05-07 니폰덴신뎅와 가부시키가이샤 부호량 제어 방법 및 장치
JP2012178818A (ja) * 2011-01-31 2012-09-13 Panasonic Corp 映像符号化装置および映像符号化方法
US8711928B1 (en) 2011-10-05 2014-04-29 CSR Technology, Inc. Method, apparatus, and manufacture for adaptation of video encoder tuning parameters
US9094684B2 (en) 2011-12-19 2015-07-28 Google Technology Holdings LLC Method for dual pass rate control video encoding
US9071842B2 (en) 2012-04-19 2015-06-30 Vixs Systems Inc. Detection of video feature based on variance metric
GB2501495B (en) * 2012-04-24 2015-07-08 Canon Kk Methods for encoding and decoding an image with competition of coding modes, and corresponding devices
FR2990814B1 (fr) * 2012-05-18 2014-05-16 Assistance Tech Et Etude De Materiels Electroniques Procede et systeme de traitement pour generer au moins deux flux video compresses
US9560361B2 (en) 2012-12-05 2017-01-31 Vixs Systems Inc. Adaptive single-field/dual-field video encoding
WO2014094204A1 (en) * 2012-12-17 2014-06-26 Intel Corporation Leveraging encoder hardware to pre-process video content
EP3107297A4 (en) * 2014-02-10 2017-09-06 Nec Corporation Video encoding device, video encoding method, and program
US9472168B2 (en) * 2014-03-07 2016-10-18 Apple Inc. Display pipe statistics calculation for video encoder
US20150381979A1 (en) * 2014-06-25 2015-12-31 Arris Enterprises, Inc. Method for using a decoder or look-ahead encoder to control an adaptive pre-filter
CN104410863B (zh) * 2014-12-11 2017-07-11 上海兆芯集成电路有限公司 图像处理器以及图像处理方法
US9955191B2 (en) 2015-07-01 2018-04-24 At&T Intellectual Property I, L.P. Method and apparatus for managing bandwidth in providing communication services
KR102347598B1 (ko) 2017-10-16 2022-01-05 삼성전자주식회사 영상 부호화 장치 및 인코더
CN113438501B (zh) * 2020-03-23 2023-10-27 腾讯科技(深圳)有限公司 视频压缩方法、装置、计算机设备和存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4920426A (en) * 1986-11-10 1990-04-24 Kokusai Denshin Denwa Co., Ltd. Image coding system coding digital image signals by forming a histogram of a coefficient signal sequence to estimate an amount of information
US5111292A (en) * 1991-02-27 1992-05-05 General Electric Company Priority selection apparatus as for a video signal processor
US5151783A (en) * 1991-06-05 1992-09-29 Faroudja Y C Digital television with enhancement
US5231484A (en) * 1991-11-08 1993-07-27 International Business Machines Corporation Motion video compression system with adaptive bit allocation and quantization
US5434623A (en) * 1991-12-20 1995-07-18 Ampex Corporation Method and apparatus for image data compression using combined luminance/chrominance coding
US5325125A (en) * 1992-09-24 1994-06-28 Matsushita Electric Corporation Of America Intra-frame filter for video compression systems

Also Published As

Publication number Publication date
JP3510495B2 (ja) 2004-03-29
SG71157A1 (en) 2000-03-21
TW390099B (en) 2000-05-11
US5978029A (en) 1999-11-02
KR19990036646A (ko) 1999-05-25
JPH11177989A (ja) 1999-07-02
JP2004120786A (ja) 2004-04-15

Similar Documents

Publication Publication Date Title
KR100295006B1 (ko) 비디오 프레임 시퀀스 인코딩 시스템 및 그 방법, 컴퓨터 프로그램 제품
US6040861A (en) Adaptive real-time encoding of video sequence employing image statistics
US6097757A (en) Real-time variable bit rate encoding of video sequence employing statistics
CA2491522C (en) Efficient compression and transport of video over a network
US7072393B2 (en) Multiple parallel encoders and statistical analysis thereof for encoding a video sequence
US8681873B2 (en) Data compression for video
US6895048B2 (en) Adaptive encoding of a sequence of still frames or partially still frames within motion video
US7532808B2 (en) Method for coding motion in a video sequence
KR101197508B1 (ko) 콘텐츠 정보에 기초한 스케일러빌리티 기술
US6658157B1 (en) Method and apparatus for converting image information
US7920628B2 (en) Noise filter for video compression
US6252905B1 (en) Real-time evaluation of compressed picture quality within a digital video encoder
KR100468726B1 (ko) 실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법
US6307886B1 (en) Dynamically determining group of picture size during encoding of video sequence
US20060198439A1 (en) Method and system for mode decision in a video encoder
KR20010021879A (ko) 코딩 시스템의 매크로 블록 기반 비율을 제어하기 위한장치 및 방법
KR20060025528A (ko) 비디오 압축 방법
US7016413B2 (en) Adaptively encoding a picture of contrasted complexity having normal video and noisy video portions
US20060256856A1 (en) Method and system for testing rate control in a video encoder
US9503740B2 (en) System and method for open loop spatial prediction in a video encoder
KR100322475B1 (ko) 압축영역에서 엠펙-1 및 엠펙-2 동영상의 비트율 변환방법
KR100229791B1 (ko) 대역 제한 기능을 갖는 적응적인 영상 부호화시스템
KR20040066397A (ko) 디지털 영상압축 시스템 및 그 방법
JPH09149420A (ja) 動画像圧縮方法および装置
US20060239344A1 (en) Method and system for rate control in a video encoder

Legal Events

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

Payment date: 20130409

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20140408

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20160411

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20170412

Year of fee payment: 17