KR20030082818A - 실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법 - Google Patents

실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법 Download PDF

Info

Publication number
KR20030082818A
KR20030082818A KR1020020021310A KR20020021310A KR20030082818A KR 20030082818 A KR20030082818 A KR 20030082818A KR 1020020021310 A KR1020020021310 A KR 1020020021310A KR 20020021310 A KR20020021310 A KR 20020021310A KR 20030082818 A KR20030082818 A KR 20030082818A
Authority
KR
South Korea
Prior art keywords
rate
quantization
value
complexity
frame
Prior art date
Application number
KR1020020021310A
Other languages
English (en)
Other versions
KR100468726B1 (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 삼성전자주식회사
Priority to KR10-2002-0021310A priority Critical patent/KR100468726B1/ko
Priority to JP2002197849A priority patent/JP2003319341A/ja
Priority to US10/210,322 priority patent/US7079581B2/en
Publication of KR20030082818A publication Critical patent/KR20030082818A/ko
Application granted granted Critical
Publication of KR100468726B1 publication Critical patent/KR100468726B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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
    • 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/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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
    • 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
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • H04N5/772Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera the recording apparatus and the television camera being placed in the same enclosure

Abstract

실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법이 개시된다. 상기 부호화 장치는, 부호화 될 현재 영상 데이터에 대해 소정의 영상 변환을 수행하고, 수행된 상기 영상 변환 결과를 양자화하여 가변 비트율로 부호화한다. 그리고, 비디오 기록 시간의 변화에 응답해서 시스템에 저장될 비디오 데이터의 전체 비트예산을 할당하고, 현재 영상 데이터와, 이전에 부호화 된 영상 데이터를 구성하는 화소들간의 차이를 근거로 하여 프레임의 복잡도를 추출하며, 추출된 상기 복잡도 값을 이용하여 양자화율 값을 결정한다.

Description

실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법{Apparatus and method for performing variable bit rate control in real time}
본 발명은 디지털 비디오 압축에 관한 것으로, 특히 비디오 기록 시스템(예컨대, 디지털 카메라, 디지털 캠코더 등)을 위한 실시간 가변 비트율(variable bitrate ; VBR) 제어 장치 및 방법에 관한 것이다.
MPEG-2, MPEG-4 및 H.263과 같은 디지털 비디오 압축 표준의 출력 비트스트림은, 사용목적에 따라서 고정 비트율(constant bit rate ; CBR), 또는 가변 비트율(VBR)이 사용될 수 있다.
고정 비트율 인코딩 기술은 구현의 용이성 때문에 지금까지 널리 이용되어 왔으나, 프레임간의 변화가 심한 실제 비디오 시퀀스에서는 화질이 저하되는 단점을 가진다. 이에 비해 가변 비트율 인코딩 기술은, 정해진 저장 공간에 대해 가변적이며 효율적인 비트 할당을 수행하여, 일정한 화질과 효율적인 압축 코딩효과를 제공한다.
일반적으로, 가변 비트율 제어 방법은 2 번의 양자화(quantization) 과정을 거치게 된다. 이 중 첫 번째 양자화 과정은 최적화된 양자화 파라미터를 찾기 위한 과정이고, 두 번째 양자화 과정은 선택된 양자화 파라미터를 사용하여 실제 양자화를 실시하는 과정이다. 그러나, 이 같은 가변 비트율 제어 방법은 최적화된 양자화 파라미터를 찾아내는 데 사용될 수는 있으나, 2 번의 양자화 과정을 거치기 때문에, 부호화 지연이 발생하게 된다. 그러므로, 비디오 데이터를 실시간으로 압축하고 저장하는 시스템에 상기 방법을 그대로 사용하기 어려운 단점이 있다.
따라서 본 발명이 이루고자하는 기술적 과제는, 부호화된 비디오 데이터를 간단한 구조로 화질 열화 없이 실시간으로 저장할 수 있는 부호화 장치 및 방법을 제공하는데 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 도면의 간단한 설명이 제공된다.
도 1은 본 발명에 바람직한 실시예에 따른 가변 비트율 제어 알고리즘이 적용된 비디오 기록 시스템을 위한 부호화기의 블록도이다.
도 2는 장면전환이 있는 "table tennis" 테스트 시퀀스의 MAD 변화를 보여주는 도면이다.
도 3은 기록 시스템을 위해 매 프레임별로 균일하게 할당된 전체 비트예산을 보여주는 도면이다.
도 4는 본 발명의 바람직한 실시예에 의해 할당된 전체 비트예산을 보여주는 도면이다.
도 5는 본 발명에 따른 가변 비트율 부호화기가 허용하는 율 범위를 보여주는 도면이다.
도 6은 양자화율의 변화율 제어 효과를 보여주는 도면이다.
도 7은 양자화율의 변화에 따라서 프레임들이 GOP로 그룹화 되는 것을 보여주는 도면이다.
도 8은 본 발명에 따른 부호화기의 가변 비트율 제어 방법을 보여주는 흐름도이다.
도 9는 [표 2]에 표시된 각 비트예산 할당방식에 따른 순간 양자화율의 변화를 보여주는 도면이다.
도 10 및 도 11은 각각 "coastguard" 비디오 시퀀스와 "stefan" 비디오 시퀀스에 대한 가변비트율 제어에 MAD와 MV가 사용된 경우의 비트 변화율을 보여주는 도면이다.
< 도면의 주요 부분에 대한 부호의 설명 >
10 : 데이터 입력부20 : 이산 코사인 변환부(DCT부)
40 : 양자화부50 : 가변 비트율 제어부
51 : MAD 계산부52 : 목표비트율 제어부
53 : 장면전환 검출부54 : 양자화율 결정부
55 : GOP 분석부56 : 율왜곡함수 갱신부
60 : 가변장 코딩부(VLC부)80 : 버퍼
90 : 데이터 저장부100 : 부호화기
상기의 기술적 과제를 달성하기 위한 본 발명에 따른 부호화 장치는, 부호화 될 현재 영상 데이터에 대해 소정의 영상 변환을 수행하고, 수행된 상기 영상 변환 결과를 양자화하여 가변 비트율로 부호화하는 부호화부, 및 가변 비트율 제어부를 포함한다. 상기 가변 비트율 제어부는, 비디오 기록 시간의 변화에 응답해서 시스템에 저장될 비디오 데이터의 전체 비트예산을 할당하고, 현재 영상 데이터와, 이전에 부호화 된 영상 데이터를 구성하는 화소들간의 차이를 근거로 하여 프레임의 복잡도를 추출하며, 추출된 상기 복잡도 값을 이용하여 양자화율 값을 결정하는 기능을 수행하는 것을 특징으로 한다.
상기의 기술적 과제를 달성하기 위한 본 발명에 따른 부호화 장치는, 부호화부, 복잡도 계산부, 목표비트율 결정부, 장면전환 검출부, GOP(Group Of Picture) 분석부, 및 양자화율 결정부를 포함한다. 상기 부호화부는 부호화 될 현재 영상 데이터에 대해 소정의 영상 변환을 수행하고, 수행된 상기 영상 변환 결과를 양자화하여 가변 비트율로 부호화한다. 상기 복잡도 계산부는 비디오 기록 시간의 변화에 응답해서 전체 비트예산을 할당하고, 상기 이전 영상 데이터 및 상기 현재 영상 데이터를 구성하는 화소들간의 차이를 근거로 하여 상기 프레임의 복잡도를 추출한다. 상기 목표비트율 결정부는 상기 복잡도 값에 응답해서 각 프레임에 저장될 목표비트율을 결정한다. 상기 장면전환 검출부는 상기 복잡도 값에 응답해서 상기 현재 영상 데이터의 장면전환을 검출한다. 상기 GOP(Group Of Picture) 분석부는 상기 영상 데이터를 구성하는 각각의 프레임을 복잡도가 비슷한 프레임끼리 구분짓는기능을 수행한다. 상기 율왜곡함수 갱신부는 상기 GOP 분석부의 분석 결과에 응답해서 상기 양자화율의 계산에 사용될 율왜곡함수를 갱신한다. 그리고, 상기 양자화율 결정부는 상기 복잡도 값, 상기 비트예산, 상기 목표비트율, 및 상기 율왜곡함수 갱신부에서 갱신된 율왜곡함수의 파라미터에 응답해서 양자화율을 계산하는 기능을 수행하는 것을 특징으로 한다.
상기의 기술적 과제를 달성하기 위한 본 발명에 따른 부호화 방법은, (a) 초기 양자화율 값을 사용하여 비디오 객체를 부호화하는 단계; (b) 상기 양자화율 값에 응답해서 해당 프레임을 복잡도가 비슷한 프레임끼리 구분하여 GOP군(GOP group)을 형성하는 단계; (c) 상기 GOP군 형성 결과에 응답해서 율왜곡함수의 파라미터를 갱신하는 단계; (d) 장면전환이 검출되었는지 여부를 판단하는 단계; (e) 상기 (d) 단계에서의 판단 결과, 장면전환이 검출되었으면, 픽쳐타입을 P 타입에서 I 타입으로 변환하고 상기 (b) 단계로 되돌아가는 단계; (f) 상기 (d) 단계에서의 판단 결과, 장면전환이 검출되지 않았으면, 전체 비트예산을 할당하고, 해당 프레임에 대한 목표비트율을 결정하는 단계; (g) 해당 프레임의 복잡도 값과 상기 목표비트율을 근거로 하여 새로운 양자화율 및 양자화율의 변화율을 계산하는 단계; 및 (h) 상기 (g) 단계에서 계산된 상기 양자화율을 사용하여 상기 비디오 객체의 부호화를 수행하는 단계를 포함하는 것을 특징으로 한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의해 달성되는 목적을 충분히 이해하기 위해서는, 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명에 바람직한 실시예에 따른 가변 비트율 제어 알고리즘이 적용된 비디오 기록 시스템을 위한 부호화기(100)의 블록도이다. 도 1을 참조하면, 본 발명에 따른 부호화기(100)는, 데이터 입력부(10), 이산 코사인 변환부(Discrete Cosine Transform unit ; 20, 이하 DCT부라 칭함), 양자화부(quantization unit ; 40), 가변 비트율 제어부(50), 가변장 코딩부(variable length coding unit ; 60, 이하 VLC부라 칭함), 버퍼(80), 및 데이터 저장부(90)를 포함한다.
데이터 입력부(10)는, ME(motion estimation)/MC(motion compensation) 데이터(11)와 현재 영상 데이터(12) 중 어느 하나를 선택하여 출력하는 스위칭 수단인 멀티플렉서(13)와, 이전 영상 데이터(15)가 저장된 프레임 메모리(frame memory)를 포함한다.
가변 비트율 제어부(50)는, MAD 계산부(mean absolute difference calculation unit ; 51), 목표비트율 결정부(target rate decision unit ; 52), 장면전환 검출부(scene change detection unit ; 53), 양자화율 결정부(quantization factor decision unit ; 54), GOP 분석부(Group Of Picture selection unit ; 55), 및 율왜곡함수 갱신부(rate distortion model update unit ; 56)를 포함한다.
DCT부(20), 양자화부(40), VLC부(60)는 H.263, MPEG-4 등에서 표준화되어 있는 일반적인 텍스처 부호화(texture encoding)를 수행한다. 텍스처 부호화는 비디오 데이터를 실제로 압축하는 과정으로서, 대부분의 압축손실은 양자화부(40)에서 수행되는 양자화 과정에서 발생하게 된다. 많은 압축 손실의 발생은 부호화 효율의 증대와 화질열화라는 상반된 효과를 가져오게 된다. 따라서, 부호화기(100)는 부호화 효율을 높이면서 화질열화를 최소화시킬 수 있는 적당한 양자화율(quantization factor ; Q) 값을 찾아 부호화를 수행하여야 한다. 따라서 양자화율 값을 결정하는 효율적 율 제어 알고리즘은 비디오 부호화에서 필수적인 요소라 할 수 있다. 이 같은 율 제어를 위해 본 발명에 의한 가변 비트율 제어부(50)는 효율적인 비트예산을 할당하고, 적절한 양자화율을 결정한다. 이와 같은 동작을 수행하는 가변 비트율 제어부(50)의 상세 구성 및 동작은 다음과 같다.
MAD 계산부(51)는 멀티플렉서(13)로부터 현재 영상 데이터(12)를 받아들이고, 프레임 메모리로부터 이전 영상 데이터(15)를 받아들여, 현재 프레임의 화소들과 재구성(reconstruct)된 이전 프레임의 화소들간의 차이(difference)에 대한 절대치를 구하고, 이들에 대한 평균값을 구한다. 이렇게 해서 구해진 MAD 값은 현재 프레임의 복잡도를 수치적으로 나타낸다. MAD를 구하는 수학식은 다음과 같다.
[수학식 1]
여기서, N은 픽셀(pixel)의 개수, Xi는 현재 프레임의 픽셀 값,는 재구성된 이전 프레임의 픽셀 값을 각각 나타낸다.
MAD 계산부(51)에 의해 계산된 MAD 값은 목표비트율 결정부(51), 장면전환 검출부(53), 및 양자화율 결정부(54)로 입력된다.
장면전환 검출부(53)는 MAD 계산부(51)에 의해 계산된 MAD 값에 응답해서 장면전환(scene change)을 검출하고, 검출된 결과를 데이터 입력부(10)에 구비된 멀티플렉서(13)로 출력한다. 멀티플렉서(13)는 장면전환 검출부(53)로부터 입력된 장면전환 검출 결과에 응답해서 부호화 될 데이터를 DCT부(20)에게 전송한다.
장면전환 검출부(53)에서 수행되는 장면전환 검출의 조건은 [수학식 2]와 같다.
[수학식 2]
도 2는 장면전환이 있는 "table tennis" 테스트 시퀀스의 MAD 변화를 보여주는 도면이다. 도 2를 참조하면, 장면전환이 발생되는 부분에서 MAD의 값의 변화가 두드러지게 나타남을 알 수 있다. 이 같은 경우는 [수학식 2]의 조건을 만족하는 경우로서, 장면전환이 발생되는 부분이다.
일반적으로 부호화기는 비디오 부호화시 대부분의 프레임에 대해 상호간의 상관도를 이용하는 P 타입의 픽쳐로 부호화하는 인터 부호화(inter coding)를 수행한다. 그러나, 장면전환이 발생하였을 경우에는 프레임간의 상호 상관도가 떨어지기 때문에, 인터 부호화(inter coding)의 이점은 사라지고, 에러에 취약한 데이터가 될 것이다. 따라서, 본 발명에 따른 부호화기(100)는 장면전환 검출부(53)를 통해 장면전환을 검출하고, 장면전환이 검출된 경우에는 해당 프레임을 P 타입에서 I타입의 픽쳐로 인트라 부호화(intra coding)를 수행하여, 일정한 비디오 품질을 제공한다.
장면전환 검출부(53)에서 수행되는 장면전환 검출은 앞에서 설명한 바와 같이 MAD를 사용할 수도 있으나, MAD 외에 모션 벡터(MV)를 사용하여 장면전환을 검출할 수도 있다.
한편, 목표비트율 결정부(51)는 MAD 계산부(51)에 의해 계산된 MAD 값을 사용해서, 비디오 기록 시스템(예를 들면, 디지털 카메라, 디지털 캠코더 등)에 사용 될 전체 비트예산을 설정한다.
도 3은 기록 시스템을 위해 매 프레임별로 균일하게 할당된 전체 비트예산을 보여주는 도면이다. 도 3에서 n은 저장 시간(recording time)을 나타내고, Rs는 초당 저장될 목표비트량을 각각 나타낸다.
비디오 기록 시스템에 실시간 비디오 데이터를 기록하는 데 있어 가장 먼저 고려되어야 할 사항은 전체적인 비트예산을 결정하는 것이다. 그러나, 비디오 입력 장치를 통해 실시간으로 비디오를 부호화 할 때 얼마의 시간 동안 기록을 하게 될 것인지는 알 수 없으므로, 정확하게 비트예산을 할당할 수 없다. 따라서, 부호화기(100)는 부호화 시작시 일정량의 비트예산을 할당하고, 시간이 증가할 때마다 계속적으로 비트예산을 할당한다. 이를 위한 가장 간단한 방법은 도 3에 도시된 바와 같이 시간이 n초 증가할 때마다 n초에 해당하는 비트예산을 프레임마다 균일하게 할당하는 방법이다. 이 때 할당되는 전체 비트예산은 n×Rs가 되며, 매 프레임에 할당되는 비트량은 다음과 같다.
[수학식 3]
여기서, R은 프레임에 할당되는 비트량, Rr은 이용 가능한 비트량, 그리고 Nr은 부호화 될 프레임의 개수를 각각 나타낸다.
예를 들어, n=5로 가정하고 목표로 하는 비트율(즉, 목표비트율)을 512Kbps로 가정한다면, 이용 가능한 전체 비트량은 Rr = 5×512K 비트가 되고, 프레임율(frame rate)을 15 frames/sec 이라 한다면, 초기 부호화 될 프레임 개수 Nr = 5×15가 되어 첫 프레임에 할당되는 비트량은 약 34.1K 비트가 된다.
그러나, 몇 몇 프레임에서 비트 발생량이 갑자기 증가하게 되는 경우, 이후의 프레임들은 얼마 남지 않은 비트예산을 나누어 할당받게 되므로 화질 열화가 발생하게 된다. 이 같은 문제를 해결하기 위해 본 발명에 따른 목표비트율 결정부(51)는, 비트예산의 결정에 VBR의 특성을 이용하여 여유 있는 비트예산을 할당한다. 따라서, 이전 프레임에서의 급속한 비트량 증가가 이후 프레임으로 전파되는 영향력이 줄어들게 되어, 화질이 개선된다.
도 4는 본 발명의 바람직한 실시예에 의해 할당된 전체 비트예산을 보여주는 도면이다. 도 4에 도시된 방법에서는 m×n 시간(m, n은 정수)에 해당되는 비트예산을 초기 비트예산으로 설정하고, 부호화가 시작되어 n 시간이 경과할 때마다 n 시간에 해당되는 비트예산을 할당한다.
이 경우, n을 5초로 할 때, 초기 할당량으로서 10초에 대한 비트예산을 할당하고, 5초씩 증가할 때마다 그 시간만큼의 비트예산을 할당함으로써, 계속적으로여유 있는 비트예산을 유지한다. 이와 같은 방식의 비트예산 할당은, 도 3과 같이 매초마다 일정한 비트예산을 할당하는 경우에 비해 양자화율 값이 평균 5% 정도 감소하게 되고, 양자화율의 변화율(variation)이 약 10% 줄어들게 되는 장점이 있다.
매 프레임에 할당되는 비트량을 결정하는 과정에 있어서 고려하여야 할 또 하나의 사항은 프레임의 복잡성이다. 다시 말해, 이전의 프레임에서 많은 비트가 생성되었으면 그 프레임은 복잡한 화면으로 간주될 수 있으며, 다음 프레임 또한 복잡한 화면일 가능성이 높다 할 수 있다. 일반적으로 디지털 동영상의 프레임율은 보통 8 frames/second 이상으로써 프레임간의 성질이 유사하다 할 수 있다. 따라서, 현재 프레임의 복잡성은 이전 프레임의 복잡성과 높은 관련성이 있다고 할 수 있다. 그러므로 이전 프레임에서 발생하는 비트량을 관찰하면 현재의 프레임에 어느 정도의 비트를 할당한 것인지를 유추할 수 있다.
따라서, 현재 프레임에 할당되는 비트량은 사용 가능한 전체 비트예산과, 이전 프레임의 복잡성을 모두 고려하여 할당된다. 이를 수학식으로 나타내면 다음과 같다.
[수학식 4]
여기서, R은 프레임에 할당될 비트량, Rr은 이용 가능한 비트량, Nr은 부호화 될 프레임 개수를 각각 나타내고, m+n=1이 된다.
이 때, VBR 특성을 고려하여 좀 더 효율적으로 프레임에 대한 목표 비트량을 할당하고 싶으면 MAD 계산부(51)에서 계산된 MAD 값을 사용 할 수 있다. MAD는 현재 프레임의 복잡성을 나타내어 주는 척도로서, 현재의 MAD가 평균 MAD 보다 높다면 평균 비트량보다 많은 비트가 현재 프레임에서 발생하게 될 것이다. 그러므로, 큰 MAD를 가지는 프레임에 많은 비트를 할당하면 좀 더 효율적인 목표 비트량의 할당이 가능하게 된다. 이를 수학식으로 나타내면 다음과 같다.
[수학식 5]
여기서, R은 프레임당 할당된 목표 비트량으로서, (이용 가능한 전체 비트량)/(부호화 될 P 프레임의 개수)을 의미한다. 그리고, X1, X2는 [수학식 5]로 표시되는 율왜곡함수의 갱신에 사용될 파라미터들을 나타내고, MAD는 부호화의 복잡도를 수치로 나타낸다.
MAD는 [수학식 1]에 표시된 바와 같이 현재 프레임의 화소들과 복원된 이전 프레임의 화소들간의 차이의 절대 값들에 대해 평균을 계산한 것이다. 따라서, 비트 발생량 예측시 MAD의 계산량은 VBR 제어를 위한 별도의 하드웨어가 구비하지 않는 한 무시 할 수 없는 계산량이 될 수 있다. 따라서, 본 발명에서는 MAD의 계산적 부하를 줄이기 위해서, 움직임의 정보를 나타내는 모션 벡터(motion vector ; MV)를 이용하여 매크로 블록(macro block ; MB) 단위의 계산을 수행하여, 계산량을 줄일 수 있다. 이 경우, MAD 계산에 비해 100배 정도의 계산량이 줄어들게 된다.
비트 발생량을 예측하는 데 모션 벡터를 이용한다는 것은 결국 모션 벡터를 분석하여 프레임의 복잡도를 측정한다는 것을 의미한다. 즉, 물체의 활동(activity) 및 움직임(motion)의 정도는 비트 발생 가능성을 예측 가능 하게한다. 본 발명에서는 비트 발생 가능성을 예측하는 데, MV의 절대치 평균과, 인접하는 매크로 블록간에 발생하는 MV 차의 절대치 평균을 사용한다.
먼저, MV의 절대치 평균을 수학식으로 나타내면 다음과 같다.
[수학식 6]
여기서, N은 매크로 블록의 개수, MVxi는 모션 벡터의 수평 성분, MVyi는 모션 벡터의 수직 성분을 의미한다.
[수학식 6]에서 구해진 |MV| 값은, 비디오 데이터에 빠른 움직임이 존재하고, 활동도가 높을수록 큰 값을 가지게 된다. 이는 프레임간 이동량이 많은 것을 의미하므로, 비트 발생량이 증가하게 된다.
아래의 [수학식 7]은 인접하는 매크로 블록간에 발생하는 MV 차의 절대치 평균을 나타낸다.
[수학식 7]
여기서, M_dif는 MV간 절대차의 평균, H는 수평 매크로 블록 개수, V는 수직 매크로 블록 개수, MVxj,i는 현재 매크로 블록에 대한 MV의 x 성분, MVyj,i는 현재 매크로 블록에 대한 MV의 y 성분, MVxj,i+1는 수평 방향의 다음 매크로 블록에 대한 MV의 x 성분, MVyj,i+1는 수평 방향의 다음 매크로 블록에 대한 MV의 y 성분,MVxj+1,i는 수직 방향의 다음 매크로 블록에 대한 MV의 x 성분, 그리고 MVyj+1,i는 수직 방향의 다음 매크로 블록에 대한 MV의 y 성분을 각각 나타낸다.
[수학식 7]에 표시된 M_dif 값은, 수평 방향으로 매크로 블록간의 절대차의 평균을 구한 후, 수직 방향으로 매크로 블록간의 절대차의 평균을 구함으로써 얻을 수 있다. 이 두 성분에 가중치를 주게 되면, MAD를 대신하여 현재 프레임의 복잡도를 나타낼 수 있다. 이 같은 M_dif 값은 비디오 데이터에 빠른 움직임이 존재하고, 활동도가 높을수록 큰 값을 가지게 된다. 이는 프레임간 이동량이 많은 것을 의미하므로, 비트 발생량이 증가하게 된다.
본 발명에서는 목표비트율의 결정에 MV를 이용할 경우, [수학식 6]에 표시된 MV의 절대치 평균(|MV|) 50%와 [수학식 7]에 표시된 매크로 블록별 MV의 절대치 평균(M_dif) 50%를 고려하여 비트 발생량을 예측한다.
앞에서 설명한 바와 같이, 현재 프레임에 대한 목표비트율이 할당되면, 양자화율 결정부(54)는 MAD 계산부(51)에서 계산된 MAD 값과, 목표비트율 결정부(52)에서 결정된 목표비트율(R)에 응답해서 양자화율(quantization factor ; Q)을 계산한다. 계산된 양자화율 값은 화질의 열화 정도를 결정하는 값으로써, DCT부(20)에서 계산된 DCT 계수들을 나누어주는 값으로 사용된다.
좋은 화질이라 함은 평균 왜곡(즉, 평균 양자화율 값)이 적어야 하겠지만, 이 보다도 일정한 화질을 유지하는 것이 더욱 중요하다. 따라서, 일정한 화질을 유지하기 위해서는 가급적 최소의 양자화율 변화와, 효율적 비트 배정이 병행되어야 한다.
그런데, 만약 그 때 그 때 계산된 양자화율 값을 그대로 적용하여 양자화를 실시하게 되면, 프레임간 변화하는 비디오 입력에 의해 양자화율 값의 변화는 더욱 심해지게 된다. 따라서, 본 발명에서는 일정화질을 지속적으로 제공하기 위해 양자화율의 변화율(variation)을 제어한다. 즉, 아래의 [수학식 8]에 의해 프레임간 최대 변화율 및 최소 변화율에 대한 제한치를 설정하고, 비디오 압축의 표준에서 정의하는 최대값, 최소값을 설정하여 양자화율 값을 재조정한다.
[수학식 8]
여기서, Q(t)는 현재 프레임에 사용될 양자화율 값, Q'(t)는 율왜곡함수(rate distortion function)에 의해 계산된 양자화율 값, Q(t-1)는 이전 프레임에 사용된 양자화율 값, 그리고 K는 양자화율 변화율(quantization factor variation)의 계수를 각각 나타낸다.
양자화율의 최소값인 Qmin은 MPEG-4의 VM(verification model)에서는 1로 정의되는데, 본 발명에서는 1 내지 6 사이의 Qmin에서 화질에 큰 차이가 없는 성질을 이용하여 Qmin을 6으로 사용한다. 양자화율의 최소값(Qmin)을 6으로 하는 경우, 절약되어진 비트량이 복잡한 화면에 사용되어, 전체적인 비트량 감소 효과를 거둘 수 있다.
율-왜곡 함수에서 계산된 양자화율 값(Q'(t))이 만약 (1±K)Q(t-1) 이내의 범위에 든다면 이 값은 그대로 사용 가능하다. 그러나, 만약 상기 범위를 벗어난다면 (1+K)Qp(t-1) 값이나 (1-K)Qp(t-1) 값이 사용된다. K 값은 현재 상태에 따라 변화하는 값으로서, 최종 양자화율 값을 결정하는 파라미터로 사용된다. 따라서, K 값을 조정함으로써 양자화율의 변화율 제어가 최종적으로 수행된다. K에 의한 양자화율의 변화율 제어는 [수학식 9]와 같다.
[수학식 9]
D = r / (1+L), where 1<= r < 1+L
D = (1-L) / r, where 1-L< r <1
D = 1, otherwise
여기서, 한계 파라미터(limitation parameter) L은 K의 상한선을 결정하는 데 사용되고, 변화율 파라미터(deviation parameter) D는 K의 변화 정도를 결정하는 데 사용된다. [수학식 9]에 의해 조절되는 율 범위를 도면으로 표시하면 다음과 같다.
도 5는 본 발명에 따른 가변 비트율 부호화기(100)가 허용하는 율 범위를 보여주는 도면이다. 도 5를 참조하면, 먼저 비트율에 대한 안전영역(safe region)이 설정된다. 안전영역이라 함은 가변 비트율 부호화기가 허용하는 율 범위이다. 이어서, 목표 비트량에 비해서 현재의 비트 발생량이 어느 정도 벗어났는지를 나타내는 파라미터 r이 정의된다. r은 실제 발생 비트율을 목표비트율로 나누어 준 값으로 정의된다. 예를 들어, 목표비트율을 1 이라 할 때, r이 1 보다 클 경우에는 많은 비트가 발생되는 것을 나타내고, r이 1 보다 작을 경우에는 적은 비트가 발생되는것을 나타낸다. 한계 파라미터인 L은 양자화율이 변화되는 허용 범위를 결정할 뿐만 아니라, 안전영역을 결정하는 데 사용된다.
변화율 파라미터 D 는 현재상태 r에 의해 결정된다. 예를 들어, r≥1이고 r<1+L 인 경우, D는 r/(1+L)이 되어 현재의 비트율이 목표비트율에 비해서 얼마나 벗어났는지를 나타내게 된다. 그 벗어난 정도에 따라서 K 값이 조절된다. 이 때, 만일 r이 1+L 보다 커지게 되면, 허용 범위를 벗어나게 되어 D는 1이 되고, K는 최대치인 L 값을 가지게 된다. 즉, 현재 프레임의 양자화율(Q(t)) 값이 이전 프레임의 양자화율(Q(t-1)) 값보다 L×100% 까지 증감하는 것을 허용한다. 마찬가지로, 현재 위치 r이 1-L 과 1 사이에 있을 경우, 현재 발생 비트량은 목표량보다 적게 발생하지만 허용 가능한 비트율 범위에 있으므로, K 값은 최대 값 대신 소정의 범위(즉, K = L×D = (1-L) / r)로 조절된 값을 가지게 된다. 즉, 양자화율의 변화 정도를 결정하는 K 파라미터는, 목표비트율에 대해 현재의 발생 비트율이 벗어난 정도에 따라 그 값을 달리 하되, 벗어난 정도가 클수록 큰 값을 가지고 양자화율의 변화를 크게 한다. 이 때, K 파라미터는 소정의 상한값(L)을 가지고 변화하게 된다.
앞에서 설명한 바와 같이, 양자화율 값은 K에 의해 변화율이 조정되고, K 값은 D 값에 비례하여 증감하므로, 양자화율의 변화율은 발생하는 비트량에 의해 자동으로 조절된다. 이러한 조절과정을 거치게 되면 양자화율의 변화율이 줄어들게 되는데, 아래의 도 6을 참조하면 그 효과를 쉽게 알 수 있다.
도 6은 양자화율의 변화율 제어 효과를 보여주는 도면이다. 도 6을 참조하면, 양자화율 값은 기존에 비해 보다 완화된 변화율로 조절됨을 알 수 있다. 이와 같이 양자화율 값의 변화가 줄어들게 되면, 제한된 비트율에서 일정 화질이 최대한 유지되는 효과가 있다.
양자화율의 변화율 조정을 위해서는 버퍼의 오버플로우와 언더플로우를 피할 수 있도록 버퍼 레벨을 항상 감시하여야 한다. 예를 들어, 버퍼 레벨이 일정 수준보다 높게 되면 버퍼 오버플로우 가능성이 있으므로, 현재의 양자화율 값은 최대 변화율 범위 내에서 이전의 값에 비해 높은 값으로 변화 할 수 있도록 조절된다.
양자화부(40)에 의해 양자화가 수행되고 나면, GOP 분석부(55)는 양자화율 결정부(54)에서 결정된 양자화율에 응답해서 해당 프레임을 복잡도가 비슷한 프레임들을 그룹화시켜 GOP군(GOP group)을 형성한다. 그리고, 율왜곡함수 갱신부(56)를 통해 율왜곡함수(rate distortion function)의 파라미터(X1, X2)를 갱신한다. 이 두 파라미터들(X1, X2)은 율왜곡함수 갱신부(56)에서 과거 프레임들의 발생 비트량과 양자화율 값들에 의해 매 프레임의 부호화 직전에 업데이트 된다. 이 과정에서 사용되는 이전 프레임의 비트량과 양자화율 값들을 데이터 포인트(data points)라 하는데, 적절한 데이터 포인트의 선택은 보다 정확한 양자화율 값을 얻는데 결정적 영향을 미칠 수 있다.
본 발명에서는 적절한 데이터 포인트의 선택을 위해서, 프레임들을 그룹화 할 때 복잡도가 비슷한 프레임들을 같은 GOP군(GOP group)으로 그룹화 시키는 GOP(group of picture)(또는 SOP(set of picture)) 개념을 도입한다. 따라서, 비트 발생량이 비슷한 특성을 지닌 프레임들이 한데 묶이게 되고, 같은 GOP 내의 데이터포인트들이 선택되어 사용하게 되므로, 보다 적절한 데이터 포인트들이 선택될 수 있게 된다.
앞에서 설명한 바와 같이, 비트 발생량으로 프레임을 구분한다는 것은, 양자화율의 값들로 구분한다는 것과 같은 의미가 된다. 왜냐하면, 목표비트율 결정부(52)에 의해서 비트량이 이미 조절되고 있는 상황이므로, 양자화율 값이 커진다는 것은 해당 화면이 복잡한 화면이라는 것을 의미하기 때문이다. 결국 양자화율 값들로 프레임들을 그룹화 하면 복잡도가 비슷한 프레임들이 같은 GOP 내에 속하게 되고 데이터 포인트는 같은 GOP 내에서만 선택되어질 수 있게 된다. 즉, 비슷한 복잡도를 가지는 프레임을 선택하여 율왜곡함수 파라미터 X1, X2를 갱신하게 된다.
이 때, GOP 내의 프레임 개수는 일정하지 않으며, 최소 및 최대 프레임 개수를 가질 수 있다. 본 발명에서는 실험을 통해 최소 3개, 최대 100개까지의 상한선을 결정하여 사용한다.
비트 발생량에 의해 수행되는 화면의 분류는 양자화율 값에 의한 화면의 분류와 동일한 효과를 가져오므로, 본 발명에서는 양자화율의 변화를 근거로 하여 GOP를 분류한다.
도 7은 양자화율의 변화에 따라서 프레임들이 GOP로 그룹화 되는 것을 보여주는 도면이다. 도 7은 테스트 비디오인 "stefan" 시퀀스에 대한 실제 양자화율의 변화도를 그래프로 나타낸 것이다. 평균 양자화율(Qavg)을 기점으로 상하로 나누어 볼 때, 하위 부분은 복잡도가 낮은 프레임으로 분류되고, 상위 부분은 복잡도가 높은 프레임으로 분류되어, 분류된 각각의 프레임이 GOP를 형성하게 된다. 이러한 과정을 거치게 되면 다른 특성을 보이는 프레임으로부터 데이터 포인트가 선택되는 것을 방지할 수 있다.
그러나, 갑작스런 움직임의 증가나 activity의 변화에 의해 다량의 비트가 발생하게 되면, 양자화율 값은 목표비트율을 맞추기 위해 급속도로 증가하게 될 것이다. 물론 양자화율의 변화에는 어느 정도의 제한이 가해지지만, 갑작스런 프레임의 복잡도 증가는 화질 열화를 유발하게 된다. 본 발명에서는 갑작스런 프레임의 복잡도 증가로 인한 화질 열화를 감소시키기 위해 프레임율(frame rate)을 제어한다.
프레임율을 조절하는 방법에는 여러 가지가 있을 수 있겠으나, 본 발명에서는 구성의 간편성을 고려하여 아래의 조건을 모두 만족 할 때만 프레임율을 줄여준다.
1)인 경우 (n은 임의의 정수)
2)인 경우가 연속 y번 발생한 경우 (y는 임의의 정수)
3) 현재의 버퍼레벨이 버퍼 전체 크기의 m% 이상인 경우 (m은 임의의 정수)
4) 이전 k 개의 프레임에서 프레임 생략(frame skipping)이 발생하지 않은 경우 (k는 임의의 정수)
5) 움직임이 빠른 프레임이 연속된 경우
위 조건에서 첫 번째와 두 번째 조건은 양자화율의 연속적 상승을 검사하는 조건이고, 세 번째 조건은 프레임율이 감소할 때 버퍼 언더플로우를 방지하기 위한조건이다. 그리고, 네 번째 조건은 시각적으로 인식되기 쉬운 부분에 대해서는 프레임율을 줄이지 않기 위한 조건이고, 마지막 다섯 번째 조건은 빠른 움직임에서의 시각적 둔감함을 이용하기 위한 조건이다.
이와 같은 프레임율 조정 방법은, 빠른 움직임에 대한 인간 시각의 둔감특징을 이용하여 급격한 양자화율 증가를 방지함으로써, 심한 화질 저하를 줄일 수 있다.
도 8은 본 발명에 따른 부호화기(100)의 가변 비트율 제어 방법을 보여주는 흐름도이다. 도 8을 참조하면, 부호화기(100)는 먼저 초기 양자화율 값을 사용하여 비디오 객체를 부호화한다(1400 단계). 이어서, GOP를 구분하고(1550 단계), 율왜곡함수의 파라미터(X1, X2)를 갱신한다(1560 단계). 그리고, 버퍼 상태를 검사하여 비디오 객체의 생략(skip) 여부를 판단하고(1570 단계), 비디오 객체의 생략이 필요하여 현재의 객체가 생략되었으면 1550 단계로 되돌아간다.
그리고, 1570 단계에서의 판단 결과 비디오 객체가 생략되지 않았으면 1530 단계로 진행하여 장면전환이 검출되었는지 여부를 판단한다. 장면전환의 검출은 회로의 구성에 따라 MAD 또는 MV를 사용한다.
2530 단계에서의 판단 결과, 장면전환이 검출되었으면, 픽쳐타입을 P 타입에서 I 타입으로 변환하고(2532 단계), 1550 단계로 되돌아간다.
그리고, 2530 단계에서의 판단 결과, 장면전환이 검출되지 않았으면, 전체 비트예산을 할당하고, 해당 프레임에 대한 목표비트율을 결정한다(3520 단계). 이어서, 계산된 MAD 값(또는 MV)과 목표비트율을 근거로 하여 양자화율 및 양자화율의 변화율을 계산한다(3540 단계). 그리고, 계산된 양자화율을 사용하여 비디오 객체의 부호화를 수행한다(4400 단계).
이와 같은 가변비트율 제어 방법에 의하면, 전체 비트예산이 효율적으로 할당되고, 적절한 양자화율이 결정된다. 따라서, 간단한 구조를 가지고도 부호화된 실시간 비디오 데이터를 화질 열화 없이 일정한 화질로 저장할 수 있게 된다.
이상과 같은 본 발명에 따른 부호화기(100)의 성능을 종래의 부호화기와 비교하면 다음과 같다. 본 발명에서는 MPEG-4 국제 표준을 따르는 C 소오스 레벨(C-source level)의 부호화기 시뮬레이터(simulator)를 이용하여 실험을 실시하였으며, 앞서 설명된 모든 알고리즘이 C 코드(C code)로 구현된다. 부호화기의 프로파일은 심플 프로파일(simple profile)을 기준으로 구현된다.
먼저, n이 5 일 때, 도 3에 도시된 바와 같은 종래의 비트예산 할당방식에 의해 비트예산이 할당된 경우와, 도 4에 도시된 바와 같은 방식으로 비트예산이 할당된 경우의 성능을 비교해 보면 [표 1] 및 [표 2]와 같고, 이를 도면으로 나타내면 아래의 도 9와 같다.
[표 1]
종래기술 본 발명
σQ σQ
coastguard(CIF, 512Kbps) 9.37 1.41 9.10 1.29
stefan(CIF, 1Mbps) 11.96 5.11 11.80 4.63
[표 2]
종래기술 본 발명
|Qp(t)-Qp(t-1)| 실제 비트량의 평균 |Qp(t)-Qp(t-1)| 실제 비트량의 평균
coastguard(CIF, 512Kbps) 0.29 490,918 0.30 499,733
stefan(CIF, 1Mbps) 1.36 969,523 1.22 974,396
[표 1]에서는 양자화율의 전체 평균을 나타내고, σQ는 양자화율의 표준편차를 나타낸다. 그리고, [표 2]의 |Qp(t)-Qp(t-1)|는 프레임간 양자화율 차의 절대 평균으로서, 현재 프레임과 이전 프레임간의 양자화율의 순간적인 변화 정도를 나타낸다.
먼저, [표 1]을 참조하면, 본 발명은 종래기술에 비해 각각의 비디오 시퀀스에 대해 작은 양자화율 값과, 적은 양자화율의 변화를 가지는 것을 알 수 있다. 특히, 본 발명은 일정한 화질의 유지와 관련된 양자화율의 변화가 종래기술에 비해 월등히 낮은 특징을 가진다. 이 같은 본 발명의 특징은 화질 열화를 적게 하는 효과가 있다.
도 9는 [표 2]에 표시된 각 비트예산 할당방식에 따른 순간 양자화율의 변화를 보여주는 도면이다. [표 2] 및 도 9를 참조하면, 본 발명은 종래기술에 비해 적은 양자화율의 변화를 갖는다. 따라서, 일정한 비디오 품질을 제공할 수 있게 된다.
그리고, 앞에서 설명한 바와 같이, 가변 비트율을 제어하는 데 사용되는 왜곡 측정 수단으로 MAD 또는 MV가 사용될 수 있는데, MAD를 사용한 경우와 MV를 사용한 경우에 대한 성능 비교 결과는 아래 [표 3]과, 도 10 및 도 11과 같다.
[표 3]
본 발명(MAD를 사용한 경우) 본 발명(MV를 사용한 경우)
σQ σQ
coastguard(CIF, 512Kbps) 9.37 1.97 9.44 2.21
stefan(CIF, 1Mbps) 11.96 5.11 12.01 5.10
[표 3]에서는 양자화율의 전체 평균을 나타내고, σQ는 양자화율의 표준편차를 나타낸다.
도 10 및 도 11은 각각 "coastguard" 비디오 시퀀스와 "stefan" 비디오 시퀀스에 대한 가변비트율 제어에 MAD와 MV가 사용된 경우의 비트 변화율을 보여주는 도면이다.
[표 3] 및 도 10을 참조하면, "coastguard" 비디오 시퀀스의 경우, 가변비트율 제어에 MAD를 사용한 경우가 MV를 사용한 경우보다 작은 양자화율 값과, 적은 양자화율의 변화를 가지는 것을 알 수 있다.
그리고, [표 3] 및 도 11을 참조하면, 활동도가 높은 "stefan" 비디오 시퀀스의 경우 MAD를 사용한 경우와 MV를 사용한 경우에 있어서 성능에 차이가 거의 없음을 알 수 있다. 이 두 가지 방법을 비교하면, MAD를 사용하는 경우는 MV를 사용하는 경우에 비해 성능은 우수하나 계산량이 많다. 따라서, 주어진 시스템에 대해서 계산량과 성능을 모두 만족시킬 수 있도록 MAD 또는 MV가 적절하게 선택되어 사용될 수 있다.
이어서, 본 발명에 의한 가변 비트율 제어 방법을 종래의 MPEG-4에서 지원하는 VM5 율 제어 방법과 비교하면 아래의 [표 4] 내지 [표 6]과 같다. 상기 표들에 표시된 실험 결과는, 본 발명에 대해 시퀀스 전체 시간을 알 수 없는 경우로 가정한 경우의 실험 결과이고, VM5에 대해서는 전체 시간을 알고 있는 것으로 가정하고 비트 예산을 할당하여 수행한 실험 결과이다.
[표 4]
종래기술 본 발명
σQ σQ
coastguard(CIF, 512Kbps) 9.12 1.39 9.01 1.29
stefan(CIF, 1Mbps) 11.95 5.05 11.80 4.32
table tennis(SIF, 300Kbps) 12.09 3.80 11.92 3.52
[표 5]
VM5 본 발명
PSNR_Y 실제 비트량의 평균 PSNR_Y 실제 비트량의 평균
coastguard(CIF, 512Kbps) 32.02 507,215 32.08 507,496
stefan(CIF, 1Mbps) 30.84 994,153 30.95 994,771
table tennis(SIF, 300Kbps) 31.79 290,848 31.81 297,834
[표 6]
종래기술 본 발명
VAR(PSNR) σPSNR VAR(PSNR) σPSNR
coastguard(CIF, 512Kbps) 0.95 0.99 0.85 0.89
stefan(CIF, 1Mbps) 8.99 2.99 7.51 2.66
table tennis(SIF, 300Kbps) 4.85 2.21 4.50 2.09
[표 4]의는 양자화율의 전체 평균을 나타내고, σQ는 양자화율의 표준편차를 나타낸다. [표 5]의 PSNR_Y는 휘도성분의 PSNR(Peak Signal-to-Noise Ratio)를 나타낸다. 그리고, [표 6]의 VAR(PSNR)은 PSNR의 변화율을 나타내고, σPSNR는 PSNR의 표준편차를 각각 나타낸다.
[표 4] 내지 [표 6]을 참조하면, 본 발명이 VM5에 비해 모든 면에서 향상된 성능을 가지며, 특히 일정한 화질을 유지시키는 데 관련된 양자화율의 표준편차와 PSNR의 표준편차가 현저히 낮은 값을 가짐을 알 수 있다. 그리고, [표 4] 내지 [표 6]에는 표시되어있지 않지만, 양자화율의 순간적인 변화를 나타내는 |Qp(t)-Qp(t-1)| 값 역시 본 발명이 VM5에 비해 월등히 우수한 특징을 가진다. 이와 같은 특징들로 인해 본 발명은 기존의 방법들에 비해 우수한 화질의 비디오 데이터를 제공할 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
상술한 바와 같이 본 발명에 따른 가변 비트율 제어 장치 및 방법은, 실시간 시스템에서 무시할만한 코딩 지연을 갖도록 효율적 비트예산과 적절한 양자화율을 결정함으로써, 간단한 구조를 가지고도 부호화된 실시간 비디오 데이터를 화질 열화 없이 일정한 화질로 저장할 수 있는 장점이 있다.

Claims (28)

  1. 부호화 될 현재 영상 데이터에 대해 소정의 영상 변환을 수행하고, 수행된 상기 영상 변환 결과를 양자화하여 가변 비트율로 부호화하는 부호화부; 및
    비디오 기록 시간의 변화에 응답해서 시스템에 저장될 비디오 데이터의 전체 비트예산을 할당하고, 현재 영상 데이터와, 이전에 부호화 된 영상 데이터를 구성하는 화소들간의 차이를 근거로 하여 프레임의 복잡도를 추출하고, 추출된 상기 복잡도 값을 이용하여 양자화율 값을 결정하는 가변 비트율 제어부를 포함하는 것을 특징으로 하는 부호화 장치.
  2. 부호화 될 현재 영상 데이터에 대해 소정의 영상 변환을 수행하고, 수행된 상기 영상 변환 결과를 양자화하여 가변 비트율로 부호화하는 부호화부;
    비디오 기록 시간의 변화에 응답해서 전체 비트예산을 할당하고, 상기 이전영상 데이터 및 상기 현재 영상 데이터를 구성하는 화소들간의 차이를 근거로 하여 상기 프레임의 복잡도를 추출하는 복잡도 계산부;
    상기 복잡도 값에 응답해서 각 프레임에 저장될 목표비트율을 결정하는 목표비트율 결정부;
    상기 복잡도 값에 응답해서 상기 현재 영상 데이터의 장면전환을 검출하는 장면전환 검출부;
    상기 영상 데이터를 구성하는 각각의 프레임을 복잡도가 비슷한 프레임끼리 구분짓는 GOP(Group Of Picture) 분석부;
    상기 GOP 분석부의 분석 결과에 응답해서 상기 양자화율의 계산에 사용될 율왜곡함수를 갱신하는 율왜곡함수 갱신부; 및
    상기 복잡도 값, 상기 비트예산, 상기 목표비트율, 및 상기 율왜곡함수 갱신부에서 갱신된 율왜곡함수의 파라미터에 응답해서 양자화율을 계산하는 양자화율 결정부를 포함하는 것을 특징으로 하는 부호화 장치.
  3. 제 1 항 또는 제 2 항에 있어서, 상기 부호화부는
    상기 이전 영상 데이터 및 상기 현재 영상 데이터를 받아들이는 데이터 입력부;
    상기 현재 영상 데이터에 대해 이산 코사인 변환을 수행하는 이산 코사인 변환부;
    상기 양자화율을 이용하여 상기 이산 코사인 변환 결과를 양자화 하는 양자화부; 및
    상기 양자화된 결과에 대해 가변장 코딩을 수행하는 가변장 코딩부를 포함하는 것을 특징으로 하는 부호화 장치.
  4. 제 2 항에 있어서,
    상기 목표비트율 결정부는, 초기 비트예산으로 m x n 시간(m, n은 정수)에 해당되는 비트예산을 설정하고, 부호화가 시작되어 n 시간이 경과할 때마다 n 시간에 해당되는 비트예산을 상기 전체 비트예산으로 할당하는 것을 특징으로 하는 부호화 장치.
  5. 제 2 항에 있어서,
    상기 목표비트율 결정부는, R이 프레임에 할당될 비트량, Rr이 이용 가능한 비트량, Nr이 부호화 될 프레임 개수를 각각 나타낼 때, 각각의 프레임에 대해
    의 비트를 할당하는 것을 특징으로 하는 부호화 장치.
  6. 제 1 항 또는 제 2 항에 있어서,
    상기 복잡도 값은 MAD(mean absolute difference) 또는 모션벡터(MV) 파라미터로 표현될 수 있으며,
    상기 복잡도 값을 나타내기 위한 모션벡터 파라미터로서 프레임간 이동량의절대 평균치 및 모션벡터간 절대차의 평균값이 사용되는 것을 특징으로 하는 부호화 장치.
  7. 제 6 항에 있어서,
    상기 프레임간 이동량의 절대 평균치는
    N이 매크로 블록의 개수, MVxi이 모션 벡터의 수평 성분, MVyi이 모션 벡터의 수직 성분을 각각 나타낼 때,
    의 값을 가지는 것을 특징으로 하는 부호화 장치.
  8. 제 6 항에 있어서,
    상기 모션벡터간 절대차의 평균은
    H가 수평 매크로 블록 개수, V가 수직 매크로 블록 개수, MVxj,i가 현재 매크로 블록에 대한 MV의 x 성분, MVyj,i가 현재 매크로 블록에 대한 MV의 y 성분, MVxj,i+1가 수평 방향의 다음 매크로 블록에 대한 MV의 x 성분, MVyj,i+1가 수평 방향의 다음 매크로 블록에 대한 MV의 y 성분, MVxj+1,i가 수직 방향의 다음 매크로 블록에 대한 MV의 x 성분, MVyj+1,i가 수직 방향의 다음 매크로 블록에 대한 MV의 y 성분을 각각 나타낼 때,
    의 값을 가지는 것을 특징으로 하는 부호화 장치.
  9. 제 2 항에 있어서,
    상기 장면전환 검출부는, 현재의 복잡도 값이 복잡도의 평균 값 또는 이전의 복잡도 값 보다 소정의 배수만큼 클 경우 장면전환이 발생한 것으로 인식하는 것을 특징으로 하는 부호화 장치.
  10. 제 2 항에 있어서,
    상기 장면전환 검출부는, 장면전환의 검출시 해당 프레임의 픽쳐 타입을 P 타입에서 I 타입으로 변경하여, 인트라 부호화가 수행되도록 하는 것을 특징으로 하는 부호화 장치.
  11. 제 2 항에 있어서,
    상기 GOP 분석부는, 상기 양자화율에 응답해서 해당 프레임을 복잡도가 비슷한 프레임들끼리 구분하여 GOP군(GOP group)을 형성하고, 상기 GOP군 형성 결과를 상기 율왜곡함수 갱신부로 출력하는 것을 특징으로 하는 부호화 장치.
  12. 제 11 항에 있어서,
    상기 율왜곡함수 갱신부는, 상기 GOP 분석부로부터 입력되는 상기 GOP군 형성 결과, 상기 양자화율 결정부에서 결정된 양자화율, 및 상기 가변장 코딩부에서 수행된 가변장 코딩 결과에 응답해서 상기 율왜곡함수 갱신에 사용될 X1, X2 파라미터들을 갱신하는 것을 특징으로 하는 부호화 장치.
  13. 제 12 항에 있어서,
    상기 양자화율 결정부는, 상기 복잡도 계산부에서 계산된 상기 복잡도 값, 상기 목표비트율 결정부에서 결정된 상기 목표비트율, 및 상기 율왜곡함수 갱신부에서 갱신된 상기 X1, X2 파라미터들에 응답해서, 상기 양자화율을 결정하는 것을 특징으로 하는 부호화 장치.
  14. 제 2 항에 있어서,
    상기 양자화율 결정부는, 상기 양자화율의 상한선 및 하한선을 설정하고, 상기 범위 내에서 상기 양자화율이 변화되도록 제어하는 것을 특징으로 하는 부호화 장치.
  15. 제 2 항에 있어서,
    상기 양자화율 결정부는, L이 한계 파라미터, D가 편차 파라미터, r이 목표 비트량에 대해 현재 비트 발생량의 벗어난 정도를 나타내는 파라미터, Q(t)가 현재의 양자화율, Q(t-1)이 이전의 양자화율을 각각 나타낼 때,
    D = r / (1+L), where 1<= r < 1+L
    D = (1-L) / r, where 1-L< r <1
    D = 1, otherwise
    의 값을 가지는 양자화율을 발생하는 것을 특징으로 하는 부호화 장치.
  16. 제 1 항 또는 제 2 항에 있어서, 상기 부호화 장치는
    해당 프레임에 갑작스런 움직임이 증가되거나 활동도가 증가되어 다량의 비트가 발생되는 경우, 화질의 열화를 방지하기 위해 프레임율을 감소시키는 프레임율 조절부를 더 포함하는 것을 특징으로 하는 부호화 장치.
  17. (a) 초기 양자화율 값을 사용하여 비디오 객체를 부호화하는 단계;
    (b) 상기 양자화율 값에 응답해서 해당 프레임을 복잡도가 비슷한 프레임끼리 구분하여 GOP군(GOP group)을 형성하는 단계;
    (c) 상기 GOP군 형성 결과에 응답해서 율왜곡함수의 파라미터를 갱신하는 단계;
    (d) 장면전환이 검출되었는지 여부를 판단하는 단계;
    (e) 상기 (d) 단계에서의 판단 결과, 장면전환이 검출되었으면, 픽쳐타입을 P 타입에서 I 타입으로 변환하고 상기 (b) 단계로 되돌아가는 단계;
    (f) 상기 (d) 단계에서의 판단 결과, 장면전환이 검출되지 않았으면, 전체 비트예산을 할당하고, 해당 프레임에 대한 목표비트율을 결정하는 단계;
    (g) 해당 프레임의 복잡도 값과 상기 목표비트율을 근거로 하여 새로운 양자화율 및 양자화율의 변화율을 계산하는 단계; 및
    (h) 상기 (g) 단계에서 계산된 상기 양자화율을 사용하여 상기 비디오 객체의 부호화를 수행하는 단계를 포함하는 것을 특징으로 하는 부호화방법.
  18. 제 17 항에 있어서,
    상기 (d) 단계는, 현재의 복잡도 값이 복잡도의 평균 값 또는 이전의 복잡도 값 보다 소정의 배수만큼 크게 되면 장면전환이 발생한 것으로 인식하는 것을 특징으로 하는 부호화 방법.
  19. 제 17 항에 있어서,
    상기 (d) 단계는, 장면전환의 검출시 해당 프레임의 픽쳐 타입을 P 타입에서 I 타입으로 변경하여 인트라 부호화가 수행되도록 하는 것을 특징으로 하는 부호화 방법.
  20. 제 17 항에 있어서,
    상기 (g) 단계는, 상기 양자화율의 상한선 및 하한선을 설정하여, 상기 범위 내에서 상기 양자화율이 변화되도록 하는 것을 특징으로 하는 부호화 방법.
  21. 제 20 항에 있어서,
    상기 (g) 단계는, L이 한계 파라미터, D가 편차 파라미터, r이 목표 비트량에 대해 현재 비트 발생량의 벗어난 정도를 나타내는 파라미터, Q(t)가 현재의 양자화율, Q(t-1)이 이전의 양자화율을 각각 나타낼 때,
    D = r / (1+L), where 1<= r < 1+L
    D = (1-L) / r, where 1-L< r <1
    D = 1, otherwise
    의 값을 가지는 양자화율을 발생하는 것을 특징으로 하는 부호화 방법.
  22. 제 17 항에 있어서,
    상기 (f) 단계는 초기 비트예산으로 m x n 시간(m, n은 정수)에 해당되는 비트예산을 설정하고, 부호화가 시작되어 n 시간이 경과할 때마다 n 시간에 해당되는 비트예산을 상기 전체 비트예산으로 할당하는 것을 특징으로 하는 부호화 방법.
  23. 제 17 항에 있어서,
    상기 (f) 단계는 R이 프레임에 할당될 비트량, Rr이 이용 가능한 비트량, Nr이 부호화 될 프레임 개수를 각각 나타낼 때, 각각의 프레임에 대해
    의 비트를 할당하는 것을 특징으로 하는 부호화 방법.
  24. 제 17 항에 있어서,
    상기 복잡도 값은 MAD(mean absolute difference) 또는 모션벡터(MV) 파라미터로 표현될 수 있으며,
    상기 복잡도 값을 나타내기 위한 모션벡터 파라미터로서 프레임간 이동량의 절대 평균치 및 모션벡터간 절대차의 평균값이 사용되는 것을 특징으로 하는 부호화 방법.
  25. 제 24 항에 있어서,
    상기 프레임간 이동량의 절대 평균치는
    N이 매크로 블록의 개수, MVxi이 모션 벡터의 수평 성분, MVyi이 모션 벡터의 수직 성분을 각각 나타낼 때,
    의 값을 가지는 것을 특징으로 하는 부호화 방법.
  26. 제 24 항에 있어서,
    상기 모션벡터간 절대차의 평균은
    H가 수평 매크로 블록 개수, V가 수직 매크로 블록 개수, MVxj,i가 현재 매크로 블록에 대한 MV의 x 성분, MVyj,i가 현재 매크로 블록에 대한 MV의 y 성분,MVxj,i+1가 수평 방향의 다음 매크로 블록에 대한 MV의 x 성분, MVyj,i+1가 수평 방향의 다음 매크로 블록에 대한 MV의 y 성분, MVxj+1,i가 수직 방향의 다음 매크로 블록에 대한 MV의 x 성분, MVyj+1,i가 수직 방향의 다음 매크로 블록에 대한 MV의 y 성분을 각각 나타낼 때,
    의 값을 가지는 것을 특징으로 하는 부호화 방법.
  27. 제 17 항에 있어서, 상기 부호화 방법은
    해당 프레임에 갑작스런 움직임이 증가되거나 활동도가 증가되어 다량의 비트가 발생되는 경우, 화질의 열화를 방지하기 위해 프레임율을 감소시키는 프레임율 조절 단계를 더 포함하는 것을 특징으로 하는 부호화 방법.
  28. 제 17 항 내지 제 27 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR10-2002-0021310A 2002-04-18 2002-04-18 실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법 KR100468726B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR10-2002-0021310A KR100468726B1 (ko) 2002-04-18 2002-04-18 실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법
JP2002197849A JP2003319341A (ja) 2002-04-18 2002-07-05 符号化装置及び符号化方法並びにコンピュータにて読取り可能な記録媒体
US10/210,322 US7079581B2 (en) 2002-04-18 2002-08-01 Apparatus and method for controlling variable bit rate in real time

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0021310A KR100468726B1 (ko) 2002-04-18 2002-04-18 실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20030082818A true KR20030082818A (ko) 2003-10-23
KR100468726B1 KR100468726B1 (ko) 2005-01-29

Family

ID=29244751

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0021310A KR100468726B1 (ko) 2002-04-18 2002-04-18 실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법

Country Status (3)

Country Link
US (1) US7079581B2 (ko)
JP (1) JP2003319341A (ko)
KR (1) KR100468726B1 (ko)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100580194B1 (ko) * 2004-06-11 2006-05-16 삼성전자주식회사 비트 정밀도를 낮춘 부화소 움직임 추정방법 및 장치
KR100668324B1 (ko) * 2005-01-21 2007-01-12 삼성전자주식회사 화상 데이터 부호화시의 비트율 제어방법 및 장치
KR100789535B1 (ko) * 2006-01-18 2007-12-28 엘지전자 주식회사 영상의 변화율에 따른 적응적 비트율 제어 장치 및 방법
KR100790149B1 (ko) * 2006-07-27 2008-01-02 삼성전자주식회사 비디오 인코딩 데이터율 제어 방법
KR100909541B1 (ko) * 2004-06-27 2009-07-27 애플 인크. 멀티-패스 비디오 인코딩 방법
KR20100088034A (ko) * 2009-01-29 2010-08-06 삼성전자주식회사 인트라 예측 모드 결정 방법 및 장치
US8005139B2 (en) 2004-06-27 2011-08-23 Apple Inc. Encoding with visual masking
KR101087109B1 (ko) * 2005-03-28 2011-11-25 엘지전자 주식회사 비디오 부호화 장치 및 그 방법
US8208536B2 (en) 2005-04-28 2012-06-26 Apple Inc. Method and apparatus for encoding using single pass rate controller
US8355436B2 (en) 2002-11-08 2013-01-15 Apple Inc. Method and apparatus for control of rate-distortion tradeoff by mode selection in video encoders
KR101277363B1 (ko) * 2006-03-02 2013-06-20 톰슨 라이센싱 픽처 신호 인코딩에서 픽처 내의 픽셀 블록 그룹들에 대한 비트 할당을 결정하는 방법 및 장치
KR101336445B1 (ko) * 2007-06-08 2013-12-04 삼성전자주식회사 비디오 인코딩 데이터율 제어 방법
US8781002B2 (en) 2003-01-08 2014-07-15 Apple Inc. Method and apparatus for improved coding mode selection
KR101490521B1 (ko) * 2007-10-10 2015-02-06 삼성전자주식회사 동영상 부호화 데이터율 제어를 위한 실시간 장면 전환검출 방법, 이를 이용한 영상통화 품질 향상 방법, 및영상통화 시스템
KR20160032969A (ko) * 2014-09-17 2016-03-25 삼성전자주식회사 코덱과 이를 포함하는 장치들
US9554083B2 (en) 2013-08-12 2017-01-24 Samsung Electronics Co., Ltd. Methods for selecting resolution with minimum distortion value and devices performing the methods
KR101868270B1 (ko) * 2017-02-28 2018-06-15 재단법인 다차원 스마트 아이티 융합시스템 연구단 싱글 패스 일관 화질 제어를 기반으로 하는 컨텐츠 인식 비디오 인코딩 방법, 컨트롤러 및 시스템

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418037B1 (en) * 2002-07-15 2008-08-26 Apple Inc. Method of performing rate control for a compression system
US7769084B1 (en) 2002-07-15 2010-08-03 Apple Inc. Method for implementing a quantizer in a multimedia compression and encoding system
US7016410B2 (en) * 2002-08-23 2006-03-21 Ess Technology, Inc. Adaptive bit rate allocation
JP4841101B2 (ja) * 2002-12-02 2011-12-21 ソニー株式会社 動き予測補償方法及び動き予測補償装置
US7940843B1 (en) * 2002-12-16 2011-05-10 Apple Inc. Method of implementing improved rate control for a multimedia compression and encoding system
US7804897B1 (en) * 2002-12-16 2010-09-28 Apple Inc. Method for implementing an improved quantizer in a multimedia compression and encoding system
US7266147B2 (en) * 2003-03-31 2007-09-04 Sharp Laboratories Of America, Inc. Hypothetical reference decoder
US7535959B2 (en) * 2003-10-16 2009-05-19 Nvidia Corporation Apparatus, system, and method for video encoder rate control
US7889792B2 (en) 2003-12-24 2011-02-15 Apple Inc. Method and system for video encoding using a variable number of B frames
US7675970B2 (en) * 2004-01-12 2010-03-09 General Instrument Corporation Method and apparatus for processing a bitstream in a digital video transcoder
US7492820B2 (en) 2004-02-06 2009-02-17 Apple Inc. Rate control for video coder employing adaptive linear regression bits modeling
US7869503B2 (en) * 2004-02-06 2011-01-11 Apple Inc. Rate and quality controller for H.264/AVC video coder and scene analyzer therefor
US7986731B2 (en) * 2004-02-06 2011-07-26 Apple Inc. H.264/AVC coder incorporating rate and quality controller
US20050207501A1 (en) * 2004-03-18 2005-09-22 Sony Corporation Method of and system for video bit allocation for scene cuts and scene changes
US20050286629A1 (en) * 2004-06-25 2005-12-29 Adriana Dumitras Coding of scene cuts in video sequences using non-reference frames
US8406293B2 (en) * 2004-06-27 2013-03-26 Apple Inc. Multi-pass video encoding based on different quantization parameters
JP4247680B2 (ja) * 2004-07-07 2009-04-02 ソニー株式会社 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
US20060098001A1 (en) * 2004-10-26 2006-05-11 Lai Jimmy K L System and method for effectively preventing image tearing artifacts in displayed image data
GB0428160D0 (en) * 2004-12-22 2005-01-26 British Telecomm Variable bit rate processing
GB0428155D0 (en) * 2004-12-22 2005-01-26 British Telecomm Buffer underflow prevention
US8780957B2 (en) 2005-01-14 2014-07-15 Qualcomm Incorporated Optimal weights for MMSE space-time equalizer of multicode CDMA system
KR20070117660A (ko) 2005-03-10 2007-12-12 콸콤 인코포레이티드 컨텐트 적응적 멀티미디어 처리
US20060239344A1 (en) * 2005-04-25 2006-10-26 Ashish Koul Method and system for rate control in a video encoder
EP1727371A1 (en) * 2005-05-27 2006-11-29 Thomson Licensing Method for controlling the encoder output bit rate in a block-based video encoder, and corresponding video encoder apparatus
US8055783B2 (en) * 2005-08-22 2011-11-08 Utc Fire & Security Americas Corporation, Inc. Systems and methods for media stream processing
US8879635B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Methods and device for data alignment with time domain boundary
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
US7734053B2 (en) * 2005-12-06 2010-06-08 Fujitsu Limited Encoding apparatus, encoding method, and computer product
US8160156B2 (en) * 2006-02-01 2012-04-17 Verint Systems, Inc. System and method for controlling the long term generation rate of compressed data
US9131164B2 (en) 2006-04-04 2015-09-08 Qualcomm Incorporated Preprocessor method and apparatus
US8135063B2 (en) * 2006-09-08 2012-03-13 Mediatek Inc. Rate control method with frame-layer bit allocation and video encoder
US9872045B2 (en) 2006-10-16 2018-01-16 Conversant Wireless Licensing S.A R.L. Method, electronic device, system, computer program product and circuit assembly for reducing error in video coding
US8050320B2 (en) * 2007-02-09 2011-11-01 Ericsson Television, Inc. Statistical adaptive video rate control
US8396118B2 (en) * 2007-03-19 2013-03-12 Sony Corporation System and method to control compressed video picture quality for a given average bit rate
CN100566427C (zh) * 2007-07-31 2009-12-02 北京大学 用于视频编码的帧内预测编码最佳模式的选取方法及装置
FR2919779B1 (fr) * 2007-08-02 2010-02-26 Canon Kk Procede et dispositif de codage avec perte d'un signal numerique
CN101127909B (zh) * 2007-09-29 2010-07-07 华为技术有限公司 一种图像码率控制方法及装置
GB2459671A (en) * 2008-04-29 2009-11-04 Imagination Tech Ltd Scene Change Detection For Use With Bit-Rate Control Of A Video Compression System
WO2009134972A1 (en) * 2008-04-30 2009-11-05 Zeevee, Inc. Dynamically modifying video and coding behavior
TWI405467B (zh) * 2009-11-25 2013-08-11 Novatek Microelectronics Corp 影像壓縮的位元速率控制電路與方法
JP5843631B2 (ja) * 2012-01-26 2016-01-13 日本電信電話株式会社 フレームレート制御方法,フレームレート制御装置およびフレームレート制御プログラム
CN103517080A (zh) * 2012-06-21 2014-01-15 北京数码视讯科技股份有限公司 实时视频流编码器和实时视频流编码方法
US20160261869A1 (en) * 2015-03-04 2016-09-08 Ati Technologies Ulc Content-adaptive b-picture pattern video encoding
CN106231300B (zh) * 2016-07-22 2020-06-12 上海交通大学 一种基于编码单元层次的hevc复杂度控制方法
CN106231301B (zh) * 2016-07-22 2020-06-12 上海交通大学 基于编码单元层次和率失真代价的hevc复杂度控制方法
CN106231303B (zh) * 2016-07-22 2020-06-12 上海交通大学 一种hevc编码中使用预测模式进行复杂度控制的方法
EP3376766B1 (en) * 2017-03-14 2019-01-30 Axis AB Method and encoder system for determining gop length for encoding video
CN108737826B (zh) * 2017-04-18 2023-06-30 中兴通讯股份有限公司 一种视频编码的方法和装置
US10412383B2 (en) * 2017-08-15 2019-09-10 Google Llc Compressing groups of video frames using reversed ordering
JP7255116B2 (ja) * 2018-09-25 2023-04-11 富士フイルムビジネスイノベーション株式会社 情報処理システム、端末装置およびプログラム
US11128869B1 (en) 2018-10-22 2021-09-21 Bitmovin, Inc. Video encoding based on customized bitrate table
US11825088B2 (en) * 2019-11-15 2023-11-21 Intel Corporation Adaptively encoding video frames based on complexity
CN114786012B (zh) * 2022-06-16 2022-09-02 深圳比特微电子科技有限公司 一种码率控制方法、装置和可读存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5231484A (en) * 1991-11-08 1993-07-27 International Business Machines Corporation Motion video compression system with adaptive bit allocation and quantization
JP2970417B2 (ja) * 1994-08-22 1999-11-02 日本電気株式会社 動画像符号化方式
KR100214578B1 (ko) * 1995-02-15 1999-08-02 구자홍 영상정보의 실시간 가변비트레이트 코딩방법 및 장치
JP3872849B2 (ja) * 1996-11-28 2007-01-24 松下電器産業株式会社 動画像符号化装置
JP2001501430A (ja) * 1997-07-29 2001-01-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 可変ビットレート・ビデオ符号化方法および対応するビデオ符号器
US6434196B1 (en) * 1998-04-03 2002-08-13 Sarnoff Corporation Method and apparatus for encoding video information
CN1174624C (zh) * 1998-09-29 2004-11-03 松下电器产业株式会社 可变比特率编码装置
JP3858520B2 (ja) * 1999-06-22 2006-12-13 日本ビクター株式会社 動画像符号化装置及びその方法
JP3812267B2 (ja) * 2000-02-21 2006-08-23 日本ビクター株式会社 動画像符号化装置及びその方法
JP2004511976A (ja) * 2000-10-10 2004-04-15 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ディジタルビデオ記録のためのビデオビットレート制御方法及び装置

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8355436B2 (en) 2002-11-08 2013-01-15 Apple Inc. Method and apparatus for control of rate-distortion tradeoff by mode selection in video encoders
US8781002B2 (en) 2003-01-08 2014-07-15 Apple Inc. Method and apparatus for improved coding mode selection
KR100580194B1 (ko) * 2004-06-11 2006-05-16 삼성전자주식회사 비트 정밀도를 낮춘 부화소 움직임 추정방법 및 장치
KR100909541B1 (ko) * 2004-06-27 2009-07-27 애플 인크. 멀티-패스 비디오 인코딩 방법
US8005139B2 (en) 2004-06-27 2011-08-23 Apple Inc. Encoding with visual masking
KR100668324B1 (ko) * 2005-01-21 2007-01-12 삼성전자주식회사 화상 데이터 부호화시의 비트율 제어방법 및 장치
KR101087109B1 (ko) * 2005-03-28 2011-11-25 엘지전자 주식회사 비디오 부호화 장치 및 그 방법
US8208536B2 (en) 2005-04-28 2012-06-26 Apple Inc. Method and apparatus for encoding using single pass rate controller
KR100789535B1 (ko) * 2006-01-18 2007-12-28 엘지전자 주식회사 영상의 변화율에 따른 적응적 비트율 제어 장치 및 방법
KR101277363B1 (ko) * 2006-03-02 2013-06-20 톰슨 라이센싱 픽처 신호 인코딩에서 픽처 내의 픽셀 블록 그룹들에 대한 비트 할당을 결정하는 방법 및 장치
KR100790149B1 (ko) * 2006-07-27 2008-01-02 삼성전자주식회사 비디오 인코딩 데이터율 제어 방법
KR101336445B1 (ko) * 2007-06-08 2013-12-04 삼성전자주식회사 비디오 인코딩 데이터율 제어 방법
KR101490521B1 (ko) * 2007-10-10 2015-02-06 삼성전자주식회사 동영상 부호화 데이터율 제어를 위한 실시간 장면 전환검출 방법, 이를 이용한 영상통화 품질 향상 방법, 및영상통화 시스템
KR20100088034A (ko) * 2009-01-29 2010-08-06 삼성전자주식회사 인트라 예측 모드 결정 방법 및 장치
US9554083B2 (en) 2013-08-12 2017-01-24 Samsung Electronics Co., Ltd. Methods for selecting resolution with minimum distortion value and devices performing the methods
KR20160032969A (ko) * 2014-09-17 2016-03-25 삼성전자주식회사 코덱과 이를 포함하는 장치들
KR101868270B1 (ko) * 2017-02-28 2018-06-15 재단법인 다차원 스마트 아이티 융합시스템 연구단 싱글 패스 일관 화질 제어를 기반으로 하는 컨텐츠 인식 비디오 인코딩 방법, 컨트롤러 및 시스템

Also Published As

Publication number Publication date
US20030202580A1 (en) 2003-10-30
JP2003319341A (ja) 2003-11-07
KR100468726B1 (ko) 2005-01-29
US7079581B2 (en) 2006-07-18

Similar Documents

Publication Publication Date Title
KR100468726B1 (ko) 실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법
KR100295006B1 (ko) 비디오 프레임 시퀀스 인코딩 시스템 및 그 방법, 컴퓨터 프로그램 제품
KR100987765B1 (ko) 동영상 부호화기에서의 예측 수행 방법 및 장치
CN100463523C (zh) 帧层速率控制的视讯编码方法和系统
US7403562B2 (en) Model based rate control for predictive video encoder
US20070009025A1 (en) Method and apparatus for operational frame-layer rate control in video encoder
US6907072B2 (en) Moving image encoding apparatus
US20100111180A1 (en) Scene change detection
JPH11346362A (ja) リアルタイム単一パス可変ビット・レ―ト制御方法及び符号器
US8948242B2 (en) Encoding device and method and multimedia apparatus including the encoding device
CA2218866A1 (en) Mpeg encoder that concurrently determines video data encoding format and rate control
KR100601615B1 (ko) 네트워크 대역폭에 적응적인 영상 압축 장치
CN101523915B (zh) 使用min-max方法的用于视频编码的两遍速率控制技术
JP2001148858A (ja) 画像情報変換装置及び画像情報変換方法
EP1978745B1 (en) Statistical adaptive video rate control
US20050152450A1 (en) Coding apparatus and method, program, and recording medium
US7308029B2 (en) Method and apparatus for implementing B-picture scene changes
JP5649296B2 (ja) 画像符号化装置
US8792562B2 (en) Moving image encoding apparatus and method for controlling the same
KR100708182B1 (ko) 동영상 부호화기의 비트율 제어 장치 및 방법
US7236529B2 (en) Methods and systems for video transcoding in DCT domain with low complexity
JP4586340B2 (ja) 符号化装置、および、符号化方法、並びに、プログラム
KR101490521B1 (ko) 동영상 부호화 데이터율 제어를 위한 실시간 장면 전환검출 방법, 이를 이용한 영상통화 품질 향상 방법, 및영상통화 시스템
US9438929B2 (en) Method and apparatus for encoding and decoding an image by using an adaptive search range decision for motion estimation
Choi et al. Adaptive image quantization using total variation classification

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: 20130102

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20141231

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20191226

Year of fee payment: 16