KR100203697B1 - Improved image coding system having functions for controlling generated amount of coded bit stream - Google Patents
Improved image coding system having functions for controlling generated amount of coded bit stream Download PDFInfo
- Publication number
- KR100203697B1 KR100203697B1 KR1019960013798A KR19960013798A KR100203697B1 KR 100203697 B1 KR100203697 B1 KR 100203697B1 KR 1019960013798 A KR1019960013798 A KR 1019960013798A KR 19960013798 A KR19960013798 A KR 19960013798A KR 100203697 B1 KR100203697 B1 KR 100203697B1
- Authority
- KR
- South Korea
- Prior art keywords
- encoding
- transform coefficient
- dct transform
- frame
- quantization parameter
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
본 발명은, 출력측 전송 버퍼의 데이터 충만상태 정보에 기초하여 각 매크로 블록 단위로 결정되는 양자화 파라메터 정보들에 근거하여 현재 부호화하고자 하는 영상의 복잡도를 산출하고, 그 산출결과에 의거하여 양자화시의 고주파 성분에 대한 가중치를 조절함으로써, 부호화 후의 비트 발생량을 적응적으로 조절할 수 있도록 한 비트 발생량 조절기능을 갖는 영상 부호화 시스템에 관한 것으로, 이를 위하여 본 발명은, 부호화된 바로 이전 프레임의 각 매크로 블록들에 대해 각각 발생되는 각 양자화 파라메터값을 평균하여 이전 프레임의 평균 양자화 파라케터값을 산출하는 평균값 계산 수단; 이전 프레임에서 산출된 평균 양자화 파라메터값을 부호화 수단을 통해 현재 부호화하고자 하는 프레임의 복잡도로서 참조하며, 이산 코사인 변환을 통해 발생된 각 DCT 변환계수 블록들의 저역 통과 필터링시 그 대역폭을 적응적으로 제한하는 기설정된 복수의 가중치들 중 산출된 이전 프레임의 평균 양자화 파라메터값에 대응하는 가중치를 결정하여 부호화 수단에 제공하는 가중치 발생 수단을 더 포함하며, 부호화 수단은, 각 DCT 변환계수 블록들에 대한 양자화전에 결정된 가중치에 의거하여 각 DCT 변환계수 블록들의 통과 주파수 대역을 제한함으로써, 각DCT 변환계수 블록들의 고주파 성분을 선택적으로 필터링하도록 함으로써, 양자화된 단계에서의 과도한 스텝 사이즈의 증가 없이 부호화 후 발생되는 비트량을 효과적으로 조절할 수 있는 것이다.The present invention calculates the complexity of an image to be currently encoded based on quantization parameter information determined in units of macroblocks based on the data fullness state information of the output transmission buffer, and based on the calculation result, The present invention relates to a video encoding system having a bit generation amount adjustment function for adaptively adjusting a bit generation amount after encoding by adjusting a weight for a component. To this end, the present invention relates to each macroblock of a previous frame that has been encoded. Average value calculating means for calculating an average quantization parameter value of a previous frame by averaging each quantization parameter value generated for each of the previous frames; The average quantization parameter value calculated in the previous frame is referred to as the complexity of the frame to be currently encoded by the encoding means, and adaptively limits the bandwidth during low pass filtering of each DCT transform coefficient block generated through the discrete cosine transform. The apparatus further includes weight generation means for determining a weight corresponding to the average quantization parameter value of the previous frame calculated from among the plurality of preset weights and providing the weighted value to the encoding means, wherein the encoding means comprises: before quantization for each DCT transform coefficient block. By restricting the pass frequency band of each DCT transform coefficient block based on the determined weight, and selectively filtering the high frequency components of each DCT transform coefficient block, the amount of bits generated after encoding without increasing the excessive step size in the quantized step Can effectively control .
Description
제1도는 본 발명의 바람직한 실시예에 따른 비트 발생량 조절기능을 갖는 영상 부호화 시스템의 블록구성도1 is a block diagram of a video encoding system having a bit generation amount adjusting function according to an embodiment of the present invention.
제2도는 본 발명에 따라 일예로서 8 × 8 픽셀 블록에 대하여 그 복잡도에 의거하여 결정되는 가중치 결정영역을 도시한 도면2 is a diagram showing a weight determination region determined based on the complexity of an 8x8 pixel block as an example according to the present invention.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
100,170 : 프레임 메모리 110 : 감산기100170: frame memory 110: subtractor
120 : 영상 부호화 블록 130 : 엔트로피 부호화 블록120: image coding block 130: entropy coding block
140 : 전송버퍼 150 : 영상 복호화 블록140: transmission buffer 150: video decoding block
160 : 가산기 180 : 현재 프레임 예측 블록160: adder 180: current frame prediction block
210 : QP 평균값 계산 블록 220 : 가중치 발생 블록210: QP average value calculation block 220: weighting block
본 발명은 영상신호를 압축 부호화하는 영상 부호화 시스템에 관한 것으로, 더욱 상세하게는 영상신호를 압축 부호화하는 영상 부호화기에서 영상을 부호화할 때, 출력측 전송 버퍼의 데이터 충만상태 정보에 기초하여 각 매크로 블록 단위로 결정되는 양자화 파라메터 정보에 근거하여 예측되는 입력 영상신호의 복잡도(Variance)를 참조하여 부호화 후의 발생 비트량을 적응적으로 조절하는 데 적합한 비트 발생량 조절기능을 갖는 영상 부호화 시스템에 관한 것이다.The present invention relates to a video encoding system for compressing and encoding a video signal. More particularly, when encoding a video in a video encoder that compresses and encodes a video signal, each macroblock unit is based on data fullness state information of an output transmission buffer. The present invention relates to a video encoding system having a bit generation amount adjustment function suitable for adaptively adjusting the amount of generated bits after encoding with reference to a variation of an input video signal predicted based on quantization parameter information determined as.
이 기술분야에 잘 알려진 바와 같이 이산된 영상신호의 전송은 아날로그 신호보다 좋은 화질을 유지할 수 있다. 일련의 이미지 프레임으로 구성된 비디오 신호가 디지탈 형태로 표현될 때, 특히 고품질 텔레비젼(일명 HDTV라함)의 경우 상당한 양의 데이타가 전송되어야 한다. 그러나 종래의 전송 채널의 사용 가능한 주파수 영역은 제한되어 있으므로, 많은 양의 디지탈 데이타를 전송하기 위해서는 전송되는 데이타를 압축하여 그 양을 줄일 필요가 있다. 이와 같이 데이타를 압축하는 다양한 압축 기법 중에서, 확률적 부호화 기법과 시간적, 공간적 압축기법을 결합한 하이브리드 부호화 기법이 가장 효율적인 것으로 알려져 있으며, 이러한 기법들은, 예를 들면 세계 표준화 기구에 의해 그 표준안이 이미 제정된 MPEG-1 및 MPEG-2등의 권고안에 광범위하게 개시되어 있다.As is well known in the art, the transmission of discrete video signals can maintain better image quality than analog signals. When a video signal consisting of a series of image frames is represented in digital form, a significant amount of data must be transmitted, especially for high quality televisions (aka HDTVs). However, since the usable frequency range of the conventional transmission channel is limited, in order to transmit a large amount of digital data, it is necessary to compress the transmitted data and reduce the amount thereof. Among the various compression methods for compressing data, hybrid coding which combines stochastic coding with temporal and spatial compression is known to be the most efficient, and these methods are already established by the World Standards Organization. It is widely disclosed in recommendations such as MPEG-1 and MPEG-2.
대분분의 하이브리드 부호화 기법은 움직임 보상 DCPM(차분 펄스 부호 변조), 2차원 DCT(이산 코사인 변환), DCT 계수의 양자화, VLC(가변장 부호화)등을 이용한다. 움직임 보상 DPCM은 현재 프레임과 이전 프레임간의 물체의 움직임을 결정하고, 물체의 움직임에 따라 현재 프레임을 예측하여 현재 프레임과 예측치간의 차이를 나타내는 차분신호를 만들어내는 방법이다. 이 방법은 예를 들어 Staffan Ericsson의 Fixed and Adaptive Predictors for Hybrid Predictive/Transform Coding, IEEE Transactions on Communication, COM-33, NO.12 (1985년 12월), 또는 Ninomiy와 Ohtsuka의 A motion Compensated Interframe Coding Scheme for Television Pictures, IEEE Transactions on communication, COM-30, NO.1 (1982년 1월)에 기재되어 있다.Most hybrid coding techniques use motion compensated DCPM (differential pulse code modulation), two-dimensional DCT (discrete cosine transform), quantization of DCT coefficients, variable-length coding (VLC), and the like. The motion compensation DPCM determines a motion of an object between a current frame and a previous frame, and predicts a current frame according to the motion of the object to generate a difference signal representing a difference between the current frame and a predicted value. This can be done for example by Staffan Ericsson's Fixed and Adaptive Predictors for Hybrid Predictive / Transform Coding, IEEE Transactions on Communication, COM-33, NO.12 (December 1985), or A motion Compensated Interframe Coding Scheme by Ninomiy and Ohtsuka. for Television Pictures, IEEE Transactions on communication, COM-30, NO.1 (January 1982).
일반적으로, 이차원 DCT는 영상 데이타간의 공간적 리던던시를 이용하거나 제거하는 것으로써, 디지탈 영상 데이타 블럭, 예를 들면 8 x 8 블럭을 DCT 변환계수로 변환한다. 이 기법은 Chen과 Pratt의 Scene Adaptive Coder, IEEE Transactions on communication, COM-32, NO.3 (1984년, 3월)에 개시되어 있다, 이러한 DCT 변환계수는 양자화기, 지그재그 주사, VLC등을 통해 처리됨으로써 전송할 데이타의 양을 효과적으로 감축(또는 압축)할 수 있다.In general, two-dimensional DCT converts digital image data blocks, for example, 8 x 8 blocks, into DCT conversion coefficients by using or removing spatial redundancy between image data. This technique is described in Chen and Pratt's Scene Adaptive Coder, IEEE Transactions on communication, COM-32, NO.3 (March, 1984). These DCT transform coefficients are derived from quantizers, zigzag scans, and VLC. By processing, the amount of data to be transmitted can be effectively reduced (or compressed).
보다 상세하게, 움직임 보상 DPCM에서는 현재 프레임과 이전 프레임간에 추정된 물체의 움직임에 따라, 현재 프레임을 이전 프레임으로부터 예측한다. 이와 같이 추정된 움직임은 이전 프레임과 현재 프레임간의 변위를 나타내는 2차원 움직임 벡터로 나타낼 수 있다.More specifically, the motion compensation DPCM predicts the current frame from the previous frame according to the motion of the object estimated between the current frame and the previous frame. The estimated motion may be represented by a two-dimensional motion vector representing the displacement between the previous frame and the current frame.
통상적으로, 물체의 변위를 추정하는 데에는 여러가지 접근방법이 있다. 이들은 일반적으로 두개의 타입으로 분류되는데, 그중 하나는 블럭 매칭 알고리즘을 이용하는 블럭단위 움직임 추정방법이고 다른 하나는 화소순환 알고리즘을 이용하는 최소단위 움직임 추정방법이다.Typically, there are several approaches to estimating the displacement of an object. These are generally classified into two types, one of which is a block-based motion estimation method using a block matching algorithm, and the other is a minimum-unit motion estimation method using a pixel circulation algorithm.
상기와 같이 물체의 변위를 추정하는 움직임 추정방법중, 화소단위 움직임 추정방법을 이용하면 변위는 각각의 화소 전부에 대해 구해진다. 이러한 방법은 화소값을 더 정확히 추정할 수 있고 스케일 변화(예를 들어, 영상면에 수직한 움직임인 주밍(zooming))도 쉽게 다룰수 있다는 장접을 갖는 반면에, 움직임 벡터가 모든 화소 각각에 대해 결정되기 때문에, 다량의 움직임 벡터들이 발생하는 데 실질적으로 모든 움직임 벡터를 수신기로 전송한다는 것은 불가능하다.In the motion estimation method for estimating the displacement of an object as described above, the displacement is obtained for each pixel by using the pixel-based motion estimation method. This method has the assumption that the pixel value can be estimated more accurately and the scale change (e.g., zooming, a movement perpendicular to the image plane) can be easily handled, while the motion vector is determined for each pixel. Since a large amount of motion vectors occurs, it is impossible to transmit substantially all of the motion vectors to the receiver.
또한, 블럭단위 움직임 추정에서는, 현재 프레임의 소정크기의 블럭을 이전 프레임의 소정 범위의 탐색영역내에서 한 화소씩 이동하면서 대응 블럭들과 비교하여 그 오차값이 최소인 최적 정합블럭을 결정하며, 이것으로부터, 전송되는 현재 프레임에 대해 블럭 전체에 대한 프레임간 변위 벡터(프레임간에 블럭이 이동한 정도)가 추정된다. 여기에서, 현재 프레임과 이전 프레임간의 대응하는 두 블럭간의 유사성 판단은, 이 기술 분야에 잘 알려진 바와 같은, 평균 절대차와 평균 제곱차 등이 주로 사용된다.In addition, in block-by-block motion estimation, a block having a predetermined size of a current frame is moved by one pixel in a search range of a previous frame and compared with corresponding blocks to determine an optimal matching block having a minimum error value. From this, the interframe displacement vector (the degree of block movement between frames) for the entire block is estimated for the current frame to be transmitted. Here, in determining the similarity between two corresponding blocks between the current frame and the previous frame, the average absolute difference, the mean square difference, etc. are mainly used, as is well known in the art.
한편, 상술한 바와 같은 부호화기법, 즉 움직임 보상 DCPM, 2차원 DCT, DCT 계수의 양자화및 VLC(또는 엔트로피 부호화)등의 부호화 기법을 통해 부호화된 영상 비트 스트림은 영상 부호화 시스템의 출력측에 구비되는 전송 버퍼에 저장된 다음 전송시점이 되면 원격지 수신측으로의 송신을 위해 전송기로 보내진다. 이 때, 여기에서의 전송시점은 전송 버퍼의 크기(즉, 용량)와 전송율에 관계되며, 전송 버퍼에서의 오동작(데이터 오버플로우(overflow) 또는 데이터 언더플로우(underflow))이 발생하지 않도록 제어된다.On the other hand, the image bit stream encoded by the encoding technique as described above, that is, encoding techniques such as motion compensation DCPM, two-dimensional DCT, DCT coefficient quantization, and VLC (or entropy encoding) is transmitted to the output side of the image encoding system. The next transmission point stored in the buffer is sent to the transmitter for transmission to the remote destination. At this time, the transfer time here is related to the size (i.e. capacity) and transfer rate of the transfer buffer and is controlled so that no malfunction (data overflow or data underflow) in the transfer buffer occurs. .
보다 상세하게, 여러 가지 요인 (예를 들면, 영상의 복잡도)으로 인해 부호화시에 각 프레임마다 발생되는 비트량이 달라지게 되는데, 이러한 점을 고려하여 영상 부호화 시스템에서는, 평균 전송율이 일정하게 유지될 수 있도록 출력측 전송 버퍼의 제어를 수행한다. 즉, 영상 부호화 시스템에서는 츨력측 전송 버퍼의 데이터 충만상태 정보에 근거하여 현재 부호화하고 있는 프레임 이전까지의 비트 발생량을 조사하고 있다가 현재 프레임에서 할당해야하는 비트량을 조절한다. 다시 말해, 종래의 전형적인 영상 부호화 시스템에서는 측력측 전송 버퍼의 데이터 충만상태 정보에 의거하여 실직적으로 양자화 스텝 사이즈(QP)를 제어함으로써 부호화 시스템에서의 발생 비트량을 조절, 즉 이전까지 비트 발생량이 많으면 양자화 스텝 사이즈를 크게 조절하여 비트 발생량을 줄이고, 이와 반대의 경우에는 양자화 스텝 사이즈를 작게 조절하여 비트 발생량을 늘리는 등의 방법을 통해 비트 발생량을 조절하고 있다.More specifically, the amount of bits generated for each frame during encoding is changed due to various factors (for example, the complexity of the image). In view of this, in the image encoding system, the average bit rate may be kept constant. Control of the output buffer. That is, the video encoding system checks the amount of bits generated before the frame currently encoded based on the data full state information of the output side transmission buffer and adjusts the amount of bits to be allocated in the current frame. In other words, in the conventional typical video encoding system, the amount of generated bits in the encoding system is adjusted by adjusting the quantization step size (QP) based on the data fullness state information of the side-side transmission buffer, that is, the amount of generated bits up to the previous stage. As much as possible, the bit generation amount is controlled by increasing the quantization step size to reduce the bit generation amount, and in the opposite case, the bit generation amount is controlled by decreasing the quantization step size to increase the bit generation amount.
그러나, 상술한 바와 같이 출력측 전송 버퍼의 데이터 충만상태 정보에 의거하여 양자화 스텝 사이즈를 조절함으로써 비트 발생량을 조절하는 종래방법은, 각 프레임에 해당하는 영상 데이터를 동일한 전송율로 부호화하여 전송하고자 하는 경우에 있어서, 부호화하고자 하는 영상이 복잡한 경우(고주파 성분이 다량 발생)에는 비트 발생량이 많아지게 되는데 이로인해 양자화 스텝 사이즈가 커져 결과적으로 재생 영상에서의 심각한 화질열화가 야기된다는 문제를 갖는다. 여기에서 발생하는 고주파 성분은 실질적으로 인간의 시각에 매우 둔감한 성분(재생 영상의 화질에 거의 영향을 미치지 않는 성분)이다.However, as described above, the conventional method of adjusting the bit generation amount by adjusting the quantization step size based on the data fullness state information of the output side transmission buffer is performed when encoding and transmitting video data corresponding to each frame at the same data rate. In the case where the image to be encoded is complex (a large amount of high frequency components are generated), a large amount of bits is generated, thereby increasing the quantization step size, resulting in a serious deterioration of image quality in the reproduced image. The high frequency component generated here is a component that is substantially insensitive to human vision (a component that hardly affects the image quality of a reproduced video).
따라서, 본 발명은 상술한 종래기술의 문제점을 해결하기 위한 것으로, 출력측 전송 버퍼의 데이터 충만상태 정보에 기초하여 각 매크로 블록 단위로 걸정되는 양자화 파라메터 정보들에 근거하여 현재 부호화하고자 하는 영상의 복잡도를 산출하고, 그 산출결과에 의거하여 양자화시의 고주파 성분에 대한 가중치를 조절함으로써, 부호화 후의 비트 발생량을 적응적으로 조절할 수 있는 비트 발생량 조절기능을 갖는 영상 부호화 시스템을 제공하는데 그 목적이 있다.Accordingly, the present invention is to solve the above-described problems of the prior art, and based on the data fullness state information of the output transmission buffer to determine the complexity of the image to be currently encoded based on the quantization parameter information determined in each macro block unit. It is an object of the present invention to provide a video encoding system having a bit generation amount adjustment function capable of adaptively adjusting a bit generation amount after encoding by calculating and adjusting a weight for a high frequency component during quantization based on the calculation result.
상기 목적을 달성하기 위하여 본 발명은, 입력되는 현재 프레임과, 이 현재 프레임 및 재구성된 이전 프레임을 이용하는 움직임 추정, 보상을 통해 얻어지는 예측 프레임간의 차분신호에 대해 이산 코사인 변환, 양자화 및 엔트로피 부호화를 포함하는 부호화 수단을 통해 압축 부호화하여 부호화된 비트 스트림을 발생하며, 상기 양자화는 출력측 버퍼에 저장되는 상기 비트 스트림의 충만상태 정보에 기초하는 양자화 파라메터에 의거하여 그 스텝 사이즈가 조절되는 비트 발생량 조절기능을 갖는 영상 부호화 시스템에 있어서, 상기 부호화된 바로 이전 프레임의 각 매크로 블록들에 대해 각각 발생되는 각 양자화 파라메터 값을 평균하여 상기 이전 프레임의 평균 양자화 파라메터 값을 산출하는 평균값 계산 수단; 상기 이전 프레임에서 산출된 평균양자화 파라메터 값을 상기 부호화 수단을 통해 현재 부호화하고자 하는 프레임의 복잡도로서 참조하며, 상기 이산 코사인 변환을 통해 발생된 각 DCT변환계수 블록들의 저역 통과 필터링시 그 대역폭을 적응적으로 제한하는 기설정된 복수의 가중치들중 상기 산출된 이전 프레임의 평균 양자화 파라메터값에 대응하는 가중치를 결정하여 상기 부호화 수단에 제공하는 가중치 발생 수단을 더 포함하고, 상기 부호화 수단은, 상기 각 DCT 변환계수 블록들에 대한 양자화전에 상기 결정된 가중치에 의거하여 상기 각 DCT 변환계수 블록들의 통과 주파수 대역을 제한함으로써, 상기 각 DCT 변환계수 블록들의 고주파 성분을 선택적으로 필터링하는 것을 특징으로하는 비트 발생량 조절기능을 갖는 영상 부호화 시스템을 제공한다.In order to achieve the above object, the present invention includes a discrete cosine transform, quantization and entropy encoding on the difference signal between the input current frame and the prediction frame obtained through motion estimation and compensation using the current frame and the reconstructed previous frame. And a bit stream encoded by compression encoding through an encoding means, wherein the quantization is a bit generation amount adjusting function of adjusting a step size based on a quantization parameter based on the full state information of the bit stream stored in an output buffer. An image encoding system having: an average value calculating means for calculating an average quantization parameter value of the previous frame by averaging each quantization parameter value generated for each of the macroblocks of the immediately preceding frame to be encoded; The average quantization parameter value calculated in the previous frame is referred to as the complexity of the frame to be currently encoded by the encoding means, and the bandwidth is adaptive when low pass filtering of each DCT transform coefficient block generated through the discrete cosine transform. The apparatus may further include weight generation means for determining a weight corresponding to the calculated average quantization parameter value of the previous frame among the plurality of preset weights to be provided to the encoding means, wherein the encoding means comprises: each DCT transform; The bit generation amount adjusting function of filtering the high frequency component of each DCT transform coefficient block by limiting the pass frequency band of each DCT transform coefficient block based on the determined weight before quantization of coefficient blocks. Providing an image encoding system All.
본 발명의 상기 및 기타 목적과 여러가지 장점은 이 기술분야에 숙력된 사람들에 의해 첨부된 도면을 참조하여 하기에 기술되는 본 발명의 바람직한 실시예로부터 더욱 명확하게 될 것이다.The above and other objects and various advantages of the present invention will become more apparent from the preferred embodiments of the present invention described below with reference to the accompanying drawings by those skilled in the art.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세하게 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
제1도는 본 발명의 바람직한 실시예에 따른 비트 발생량 조절기능을 갖는 영상 부호화 시스템에 대한 블럭구성도를 나타낸다. 동도면에 도시된 바와 같이, 본 발명의 영상 부호화 시스템은 제1 프레임 메모리(100), 감산기(110), 영상부호화 블럭(120), 엔트로피 부호화 블럭(130), 전송버퍼(140), 영상 복호화 블럭(150), 가산기(160), 제2 프레임 메모리(170), 현재 프레임 예측 블록(180), 양자화 파라메터 평균값 계산 블록(210) 및 가중치 발생 블록(220)을 포함한다.1 is a block diagram of a video encoding system having a bit generation amount adjusting function according to a preferred embodiment of the present invention. As shown in the figure, the image encoding system of the present invention includes a first frame memory 100, a subtractor 110, an image encoding block 120, an entropy encoding block 130, a transmission buffer 140, and image decoding. A block 150, an adder 160, a second frame memory 170, a current frame prediction block 180, a quantization parameter average value calculation block 210, and a weight generation block 220 are included.
제1도를 참조하면, 입력되는 현재 프레임 신호는 제1프레임 메모리(100)에 저장된 다음 라인 L11을 통해 감산기(110)와 현재 프레임 예측 블럭(180)에 각각 제공된다.Referring to FIG. 1, the input current frame signal is provided to the subtractor 110 and the current frame prediction block 180 through the next line L11 stored in the first frame memory 100, respectively.
먼저, 감산기(110)에서는 라인 L11을 통해 제1 프레임 메모리(100)에서 제공되는 현재 프레임 신호로부터 라인 L19를 통해 후술되는 현재 프레임 예측 블럭(180)으로부터 제공되는 이동 물체에 대하여 움직임 보상된 예측된 현재 프레임 신호를 감산하며, 그 결과 데이타, 즉 차분화소값을 나타내는 에러신호는 영상 부호화 블럭(120)을 통해 이산 코사인 변환(DCT)과 이 기술분야에서 잘 알려진 양자화 방법들중의 어느 하나를 이용함으로서, 일련의 양자화된 DCT변환계수들로 부호화된다. 이 때 영상 부호화 블럭(120)에서의 에러신호에 대한 양자화는 라인 L21을 통해 후술되는 출력측 전송 버퍼(140)로부터 제공되는 데이타 충만상태 정보에 따라 결정되는 양자화 파라메터(QP)에 의거하여 그 스텝 사이즈가 조절된다.First, the subtractor 110 performs motion compensated predicted motion on the moving object provided from the current frame prediction block 180 described later through the line L19 from the current frame signal provided from the first frame memory 100 through the line L11. Subtract the current frame signal and, as a result, the data, i.e., the error signal representing the differential pixel value, is obtained using a discrete cosine transform (DCT) and one of the quantization methods well known in the art through the image coding block 120. By encoding a series of quantized DCT transform coefficients. At this time, the quantization of the error signal in the image encoding block 120 is based on the quantization parameter QP determined according to the data fullness state information provided from the output side transmission buffer 140 described later through the line L21. Is adjusted.
한편, 영상 부호화 블록(120)의 양자화 단계에서 상기한 바와 같이 출력측 전송 버퍼(140)의 데이터 충만상태 정보에 따라 결정되는 양자화 파라메터(QP)에 따른 스텝 사이즈로 영상신호를 양자화하는 과정은, 이산 코사인 변환된 M x N 블록의 DCT 변환계수를 2*QP의 값으로 나누게 되는데, 이러한 양자화 파라메터(QP)는 전송버퍼 (140)의 데이터 충만상태에 따라 매 매크로 블록(16x16 블록)마다 다른 값을 가질수 있으며, 또한 1에서 31 사이의 정수값을 갖는다. 따라서 영상부호화 블록(120)에서는 전송 버퍼(140)의 데이터 채워진 상태가 기설정된 소정치 이상으로 올라가면 QP값을 높게 하여 엔트로피 부호화 후의 발생 비트량을 감소시키고, 반대로 전송 버퍼(140)의 데이터 채워진 상태가 기설정된 소정치 이하로 내려가면 QP값을 낮게 하여 엔트로피 부호화 후의 발생 비트량을 감소시킨다.Meanwhile, in the quantization step of the image encoding block 120, as described above, the process of quantizing the video signal with a step size according to the quantization parameter QP determined according to the data fullness state information of the output side transmission buffer 140 is discrete. The DCT transform coefficient of the cosine transformed M × N block is divided by a value of 2 * QP. The quantization parameter (QP) has different values for each macro block (16x16 block) according to the data fullness of the transmission buffer 140. It can also have an integer value from 1 to 31. Therefore, in the image encoding block 120, when the data-filled state of the transmission buffer 140 rises above the predetermined value, the QP value is increased to reduce the amount of bits generated after entropy encoding, and conversely, the data-filled state of the transmission buffer 140 is increased. When is lowered below a predetermined value, the QP value is lowered to reduce the amount of bits generated after entropy encoding.
또한, 제1도에서의 상세한 도시는 생략되었으나 영상 부호화 블록(120)에 구비되는 양자화기에서는, 본 발명에 따라 후술되는 가중치 발생블록(220)으로부터 제공되는 매 프레임 단위의 평균 양자화 파라메터(AQP)에 근거한 가중치를 이용하여 양자화 단계에서 비교적 인간의 시각에 둔감한 고주파 성분의 제거(즉, 필터링)를 결정한다. 즉, 영상 부호화 블록(120)내의 양자화기에서는 양자화 단계에서의 저역통과 필터링시에 제한되는 대역폭을 적응적으로 제한한다. 따라서, 본 발명에서는 부호화된 비트 발생량의 증가가 수반되는 복잡한 영상이라할지라도 재생 영상에서의 화질열화를 야기시키는 양자화 스텝 사이즈를 적절하게 조절할 수 있다. 이와 같이 매 프레임 단위의 평균 양자화 파라메터 (AQP)에 근거해 설정되는 가중치를 이용하여 양자화 단계에서의 저역 통과 필터링시에 그 대역폭을 적응적으로 제한하는 구체적인 과정에 대해서는 후에 상세하게 기술될 것이다.In addition, although the detailed illustration in FIG. 1 is omitted, in the quantizer included in the image encoding block 120, the average quantization parameter (AQP) for every frame provided from the weight generation block 220 described later according to the present invention. The weights based on Δ are used to determine the elimination (ie, filtering) of high frequency components that are relatively insensitive to human vision in the quantization step. That is, the quantizer in the image coding block 120 adaptively limits the bandwidth limited in the low pass filtering in the quantization step. Therefore, the present invention can appropriately adjust the quantization step size that causes deterioration of image quality in the reproduced video even in a complex video accompanied by an increase in the encoded bit generation amount. As described above, a detailed process of adaptively limiting the bandwidth in the low pass filtering in the quantization step by using a weight set based on the average quantization parameter (AQP) of each frame unit will be described later in detail.
다음에, 라인 L13상의 양자화된 DCT변환계수들은 엔트로피 부호화 블럭(130)과 영상 복호화 블럭(150)으로 각각 보낸진다. 여기에서, 엔트로피 부호화 블럭(130)에 제공된 양자화된 DCT변환계수들은, 예를 들면 가변길이 부호화 기법등을 통해 부호화되어 출력측의 전송 버퍼(140)에 제공되며, 이와 같이 부호화된 영상신호는 수신측으로의 전송을 위해 도시 생략된 전송기로 전달된다.Next, the quantized DCT transform coefficients on line L13 are sent to entropy coding block 130 and image decoding block 150, respectively. Here, the quantized DCT transform coefficients provided to the entropy coding block 130 are encoded, for example, through a variable length coding scheme, and provided to the transmission buffer 140 on the output side. It is delivered to the transmitter not shown for the transmission of.
한편, 영상 부호화 블럭(120)으로 부터 영상 복호화 블럭(150)에 제공되는 라인 L13상의 양자화된 DCT변환계수들은 역양자화 및 역이산 코사인 변환을 통해 다시 복원된 프레임 신호로 변환된 다음, 가산기 (160)에 제공되며, 가산기(160)에서는 영상 복호화 블럭(150)으로부터의 복원된 프레임 신호화 라인 L19를 통해 후술되는 현재 프레임 예측 블럭 (180)으로부터 제공되는 예측된 현재 프레임신호를 가산하여 재구성된 이전 프레임 신호를 생성하며, 이와 같이 재구성된 이전 프레임 신호는 제2프레임 메모리(170)에 저장된다. 따라서, 이러한 경로를 통해 부호화 처리되는 매 프레임에 대한 바로 이전 프레임 신호가 계속적으로 갱신되며, 이와 같이 갱신되는 재구성된 이전 프레임 신호는 움직임 추정, 보상을 위해 후술되는 현재 프레임 예측 블럭(180)으로 제공된다.On the other hand, the quantized DCT transform coefficients on the line L13 provided from the image coding block 120 to the image decoding block 150 are converted into a reconstructed frame signal through inverse quantization and inverse discrete cosine transform, and then added to the adder 160. The adder 160 adds the predicted current frame signal provided from the current frame prediction block 180 described later through the reconstructed frame signaling line L19 from the image decoding block 150 to reconstruct the previous image. A frame signal is generated, and the previous frame signal reconstructed as described above is stored in the second frame memory 170. Therefore, the immediately previous frame signal for every frame encoded through such a path is continuously updated, and the reconstructed previous frame signal thus updated is provided to the current frame prediction block 180 described later for motion estimation and compensation. do.
다른 한편, 현재 프레임 예측 블럭(180)에서는, 전술한 제1프레임 메모리(100)로부터 제공되는 라인 L11상의 현재 프레임 신호와 상기한 제2프레임 메모리(170)로부터 제공되는 라인 L15상의 재구성된 이전 프레임 신호에 기초하여 블럭 매칭 알고리즘을 이용해 재구성된 이전 프레임의 기설정 탐색범위(예를 들면, 16X16 탐색범위)에서 소정의 블럭(예를 들면, 8X8 DCT블록)단위로 현재 프레임을 예측한 다음 라인 L19상에 예측된 현재 프레임 신호를 발생하여 상술한 감산기(110)와 가산기(160)에 각각 제공한다. 이 때, 라인L19상의 스위치(SW)는 도시 생략된 시스템 제어기로부터의 제어신호(CS)에 따라 그 접점이 온/오프되는 것으로, 스위치(SW)가 온일 때는 현재의 부호화 모드가 인터모드임을 의미하고 반대로 오프일 때는 현재의 부호화 모드가 인트라 모드임을 의미한다. 따라서, 감산기(110)에서는 인터모드 부호화시에 현재 프레임 신호화 예측 프레임 신호간의 에러신호를 영상 부호화 블록(120)에 제공하고, 인트라 모드 부호화시에 현재 프레임 신호 자체를 영상 부호화 블록(120)에 제공한다.On the other hand, in the current frame prediction block 180, the current frame signal on the line L11 provided from the first frame memory 100 described above and the reconstructed previous frame on the line L15 provided from the second frame memory 170 described above. Based on the signal, the current frame is predicted in units of a predetermined block (eg, 8 × 8 DCT block) from a preset search range (eg, 16 × 16 search range) of the previous frame reconstructed using a block matching algorithm. The predicted current frame signal is generated and provided to the subtractor 110 and the adder 160, respectively. At this time, the switch SW on the line L19 is turned on / off according to the control signal CS from the system controller (not shown). When the switch SW is on, it means that the current encoding mode is the inter mode. On the contrary, when off, this means that the current encoding mode is an intra mode. Accordingly, the subtractor 110 provides an error signal between the current frame signaling prediction frame signals to the image encoding block 120 during inter-mode encoding, and transmits the current frame signal itself to the image encoding block 120 during intra-mode encoding. to provide.
또한, 현재 프레임 예측 블럭(180)은 선택되는 각 블록(8x8 블록)들에 대한 움직임 벡터들의 세트를 라인 L17상에 발생하여 전술한 엔트로피 부호화 블럭(130)에 제공한다. 여기에서, 검출되는 움직임 벡터들의 세트들은 현재 프레임의 블록(8x8 블록)과 이전 프레임내의 기설정 탐색영역(예를 들면, 16x16 탐색범위)에서 예측된 가장 유사한 블럭간의 변위이다. 따라서, 전술한 엔트로피 부호화 블록(130)에서는 라인 L17상의 움직임 벡터들의 세트들과 더불어 라인 L13상의 양자화된 DCT변환계수들은, 예를 들면 가변길이 부호화 기법등을 통해 부호화하여 부호화된 비트 스트림을 발생한다.The current frame prediction block 180 also generates a set of motion vectors for each selected block (8x8 block) on line L17 and provides it to the entropy coding block 130 described above. Here, the sets of motion vectors detected are the displacements between the most similar block predicted in the block of the current frame (8x8 block) and the preset search area (e.g., 16x16 search range) in the previous frame. Accordingly, in the entropy coding block 130 described above, the quantized DCT transform coefficients on the line L13 together with the sets of the motion vectors on the line L17 generate an encoded bit stream by encoding, for example, through a variable length coding technique. .
한편, 본 발명에 따르면, 출력측 전송 버퍼(140)의 데이터 충만상태에 따라 영상 부호화 블록(120)내의 양자화기(도시생략)에서 매 매크로 블록 단위로 결정되는 양자화 파라메터값 QP는 라인 L23을 통해 양자화 파라메터(QP) 평균값 계산 블록(210)으로 입력된다.Meanwhile, according to the present invention, the quantization parameter value QP determined in units of macroblocks in the quantizer (not shown) in the image encoding block 120 according to the data full state of the output side transmission buffer 140 is quantized through the line L23. The parameter QP is input to the average value calculation block 210.
따라서, QP평균값 계산 블록(210)에서는 매 프레임 단위의 QP평균값, 즉 AQP값을 산출한다. 즉, 한 QP평균값 계산 블록(210)에서는 프레임의 영상 데이터를 부호화(양자화, DCT 및 엔트로피 부호화)하고 난 후에 부호화된 해당 프레임의 전체 매크로 블록에 대한 QP값을 평균함으로써 AQP값을 산출한다. 이것은, 시간적으로 서로 인접하는 프레임은 그 변화가 크지 않다는 영상신호의 특성을 이용하여 현재 부호화된 프레임의 AQP값을 다음 프레임에 대한 부호화 과정에서의 복잡도 산출에 이용한다는 것이다. 결국, 현재 부호화된 영상이 복잡한 영상일 경우, QP평균값 계산 블록(210)에서 산출되는 AQP값은 큰 값을 갖게 될 것이고, 상대적으로 부호화가 용이한 단순한 영상일 경우 산출되는 AQP값은 작은 값으로 될 것이다.Accordingly, the QP average value calculation block 210 calculates a QP average value, that is, an AQP value, for every frame. That is, in one QP average value calculation block 210, after encoding (quantization, DCT, and entropy encoding) of image data of a frame, an AQP value is calculated by averaging QP values for all macroblocks of the encoded frame. This means that the AQP value of the currently encoded frame is used to calculate the complexity in the encoding process for the next frame by using the characteristics of the video signal that the frames adjacent to each other in time are not largely changed. As a result, when the current encoded image is a complex image, the AQP value calculated in the QP average value calculation block 210 will have a large value, and when the simple image is relatively easy to encode, the AQP value is a small value. Will be.
보다 상세하게, 현재 부호화하고자하는 한 프레임의 영상신호가 MxN의 크기를 갖고, 각 매크로 블록이 LxL 의 크기를 갖는다면, 이 영상신호의 매크로 블록의 개수는 (ML)x(NL)이 된다. 따라서, 한 프레임의 영상신호가 부호화되고 난 후에 발생된 QP의 개수는 (ML)x(NL)이 된다. 예를 들어, 352 x 288 의 입력 영상신호에 대하여 16x16의 매크로 블록을 가정하면, 매크로 블록의 개수가 (352/16)x(288/16)이므로 22x18, 즉 396개에 해당한다. 따라서, 본 발명에서는 이와 같은 모든 매크로 블록의 QP를 평균하여 산출한 AQP값을 부호화를 위해 입력되는 다음 영상신호의 복잡도로서 이용한다. 이 때, 산출되는 AQP값은 영상의 정보량(비트 발생량)에 관련된다고 볼 수 있는 데, 만일 현재 부호화된 영상이 복잡한 경우에는 산출되는 AQP값이 상대적으로 커질 것이고, 그 반대의 경우에는 산출되는 AQP값이 작아지게 될 것이다. 그런다음, QP평균값 계산 블록(210)에서 산출된 AQP값은 다음 단의 가중치 발생 블록(220)으로 제공된다.More specifically, if the video signal of one frame to be encoded currently has the size of MxN and each macroblock has the size of LxL, the number of macroblocks of this video signal is (ML) x (NL). Therefore, the number of QPs generated after the video signal of one frame is encoded is (ML) x (NL). For example, assuming 16x16 macroblocks for a 352x288 input video signal, the number of macroblocks is (352/16) x (288/16), which corresponds to 22x18, that is, 396. Therefore, in the present invention, the AQP value calculated by averaging the QPs of all such macroblocks is used as the complexity of the next video signal input for encoding. In this case, the calculated AQP value may be considered to be related to the information amount (bit generation amount) of the image. If the current encoded image is complex, the calculated AQP value will be relatively large, and vice versa. The value will be smaller. Then, the AQP value calculated in the QP average value calculation block 210 is provided to the weight generation block 220 of the next stage.
한편, 가중치 발생 블록(220)은 상기한 QP평균값 계산 블록(210)으로부터 제공되는 AQP값에 의거하여 영상 부호화 블록(120)에서의 양자화 단계에서 주파수 영역의 통과 대역을 제한, 즉 인간의 시각에 비교적 둔감한 영상의 고주파 성분을 선택적으로 제한하기 위한 가중치를 발생한다. 즉, 가중치 발생 블록(220)은 산출된 AQP 값에 의거하여 양자화 단계전의 저역 통과 필터링시의 대역폭 제한을 위한 기설정된 복수의 가중치들 (예를 들면, 각각 다른 필터계수 설정을 위한 4개의 가중치)중 그에 대응하는 가중치를 결정해 라인 L25상에 발생하여 전술한 영상 부호화 블록(120)에 제공한다. 여기에서, 결정되어 영상 부호화 블록(120)으로 제공된 가중치는 입력 영상 (즉, DCT 변환계수)의 양자화 바로 전에 다음과 같이 계산되는 주파수 영역을 구분하는 데 필요한 B 값에 따라 주파수값을 나누게 된다. 이때, 주파수 영역을 구분하는 데 필요한 영역 구분값 B는 아래와 같은 방법으로 계산되며, 이 영역 구분값 B를 이용하여 주파수 영역을 설정하는 과정에 대해서는 첨부된 제2도를 참조하여 후에 상세하게 기술될 것이다.Meanwhile, the weight generation block 220 limits the pass band of the frequency domain in the quantization step of the image coding block 120 based on the AQP value provided from the QP average value calculation block 210, that is, to the human eye. A weight is generated to selectively limit the high frequency components of the relatively insensitive image. That is, the weight generation block 220 may be a plurality of preset weights (eg, four weights for setting different filter coefficients) for limiting bandwidth during low pass filtering before the quantization step based on the calculated AQP value. The weight corresponding thereto is determined and generated on the line L25 and provided to the image encoding block 120. Here, the weights determined and provided to the image coding block 120 divide the frequency values according to the B values necessary to distinguish the frequency domains calculated as follows immediately before quantization of the input image (ie, the DCT transform coefficient). In this case, the area division value B necessary for dividing the frequency domain is calculated by the following method, and a process of setting the frequency domain using the area division value B will be described later in detail with reference to FIG. will be.
보다 상세하게, 가중치 발생 블록(220)에서 QP 평균값 계산 블록(210)으로 부터 출력되는 AQP 값을 이용하여 주파수 영역 구분값 B 계산하는 과정은 다음의 (1)식과 같다.In more detail, the process of calculating the frequency domain division value B using the AQP value output from the QP average value calculation block 210 in the weight generation block 220 is as shown in Equation (1) below.
상기(1)식에서 ROUND는 반올림하여 정수값을 취하는 연산이다. 따라서, 상기(1)식의 결과로, QP 값은 1에서 31 사이의 정수값을 갖는 기존의 부호화기에서 주파수 영역 구분을 위한 B 값은 1에서 4사이의 정수값을 갖는다. 즉, 산출된 AQP값이 31 인 경우에는 ROUND{(31-16)/5} 가 3이므로, 주파수 영역 구분값 B는 4가 된다. 따라서, 이와 같이 연산된 B값에 따라, 일예로서 제2도에 도시된 바와 같이, 제한하고자 하는 주파수 영역이 결정된다. 이러한 연산은 영상 부호화 블록(120)에서의 양자화 단계전의 2차원 저역 통과 필터링시 제한하는 대역폭을 AQP값에 따라 자동적으로 조절하기 위해서이다.In the above formula (1), ROUND is an operation that takes an integer value by rounding. Therefore, as a result of Equation (1), in the conventional encoder having an integer value between 1 and 31, the B value for frequency domain division has an integer value between 1 and 4. That is, when the calculated AQP value is 31, since the ROUND {(31-16) / 5} is 3, the frequency domain division value B becomes 4. Therefore, according to the value B calculated in this way, as shown in FIG. 2 as an example, the frequency range to be limited is determined. This operation is to automatically adjust the bandwidth limiting in the two-dimensional low pass filtering before the quantization step in the image coding block 120 according to the AQP value.
다음에, 상기한 바와 같이 계산된 B값을 이용하여 본 발명에 따라 주파수 대역 제한을 위한 가중치를 조절하는 과정에 대하여 일예로서 첨부된 제2도를 참조하여 상세하게 설명한다.Next, a process of adjusting weights for frequency band limitation according to the present invention using the B value calculated as described above will be described in detail with reference to FIG. 2 attached as an example.
제2도를 참조하면, 가중치 발생 블록(220)에서 산출되는 B값이 1인 경우, 영상 부호화 블록(120)에서는 감산기(110)로부터 입력되는 에러신호를 이산 코사인 변환한 DCT변환계수들에 대해 주파수 대역 제한을 위한 가중치를 주지 않고, 즉 저역 통과 필터링을 거치지 않고 전송 버퍼(140)의 데이터 충만상태 정보에 기초하여 결정되는 소정의 스텝 사이즈로 바로 양자화를 수행하게 된다. 이것은 결국 입력 영상이 복잡하지 않고 단순하여 종래의 방법과 동일하게 저역 통과 필터링 없이 그대로 부호화(양자화)하는 것이다.Referring to FIG. 2, when the B value calculated by the weight generation block 220 is 1, the image encoding block 120 may perform discrete cosine transform on the DCT transform coefficients obtained by discrete cosine transforming an error signal input from the subtractor 110. Quantization is performed directly to a predetermined step size determined based on the data fullness state information of the transmission buffer 140 without giving weight for frequency band limitation, that is, without passing through low pass filtering. This means that the input image is not complicated and simple, and is encoded (quantized) as it is without low pass filtering as in the conventional method.
상기와는 달리, 제2도에 도시된 바와 같이, B값이 2,3 또는 4의 값을 갖는 경우, 영상 부호화 블록(120)에서는 각각의 값에 해당하는 점선 이하의 주파수를 모두 2로 나누어 양자화를 수행한다. 즉, B값이 4인 경우에, 제2도에서 F(1,7), F(2,6)등과 같은 점선 이하의 주파수들은 모두 2로 나누어 부호화하게 되는 것이다. 따라서, 본 발명에 따른 이와 같은 과정을 통해 부호화(양자화)를 수행하면 시각적으로 중요한 성분인 저주파 신호에 대해 양자화 오차가 적게 생기도록 하면서 부호화할 수 있는 것이다. 만일, 복잡한 영상임에도 불구하고 본 발명에서와 같이 주파수의 저역 통과 대역폭을 제한하는 가중치를 주지 않게 되면, 결과적으로 부호화 후에 발생되는 비트량이 많아져 양자화 스텝 사이즈가 커지게 되므로 모든 주파수 대역(고주파에서 저주파 대역)에 대하여 양자화 오차가 많이 발생되고, 그 결과 수신측의 재생 영상에서 양자화로 인한 화질열화가 야기될 것이다.Unlike the above, as illustrated in FIG. 2, when the B value has a value of 2, 3 or 4, the image coding block 120 divides all frequencies below the dotted line corresponding to each value by 2. Perform quantization. That is, when the B value is 4, frequencies below the dotted line such as F (1,7), F (2,6), etc. in FIG. 2 are all divided by 2 to be encoded. Therefore, when the encoding (quantization) is performed through the above process according to the present invention, the low frequency signal, which is a visually important component, can be encoded while generating less quantization error. If the weight is not limited to the low pass bandwidth of the frequency as in the present invention despite the complicated image, as a result, the amount of bits generated after encoding increases and the quantization step size becomes large, so that all frequency bands (high frequency to low frequency) Quantization error is generated a lot, resulting in deterioration of image quality due to quantization in the playback image of the receiving side.
따라서, 본 발명의 가중치 발생 블록(220)에서는 바로 이전에 부호화된 프레임에서 발생된 각 QP들을 평균하여 산출한 AQP값을 이용하여 현재 부호화하고자 영상의 복잡도를 산출하고, 그 복잡도 산출결과에 의거하여 영상의 고주파 성분에 대한 대역폭을 제한하기 위한 가중치를 발생하여 양자화 전의 저역 통과 필터링(즉, 2차원 저역 통과 필터링)을 통해 영상의 비트량을 일차적으로 감소시켜 주므로써, 비록 복잡한 영상일지라도 양자화 단계에서의 스텝 사이즈가 과도하게 증가되는 것을 억제하면서도 시각적으로 중요한 정보인 저주파 성분을 충분하게 살려 부호화(양자화)할 수 있다. 따라서, 수신측 복호화 시스템에서 복원되는 재생 영상에서 양자화 오차로 인한 화질열화를 최대한 억제할 수가 있다.Accordingly, in the weight generation block 220 of the present invention, the complexity of the image to be currently encoded is calculated by using the AQP value calculated by averaging the respective QPs generated in the immediately encoded frame, and based on the complexity calculation result. By generating weights to limit the bandwidth of the high-frequency components of the image, the low-pass filtering before quantization (ie, two-dimensional low-pass filtering) reduces the bit rate of the image first, so even in complex images, While suppressing an excessive increase in the step size, it is possible to sufficiently encode (quantize) low frequency components that are visually important information. Therefore, it is possible to suppress the deterioration of the image quality due to the quantization error in the reproduced video reconstructed by the receiving side decoding system.
다음에, 통상적인 DCT 및 양자화를 수행하는 과정과 본 발명에 따라 영상의 복잡도에 의거하여 가중치를 주면서 양자화하는 과정을, 일예로서 한 블록의 영상신호에 대해 본 발명자가 실험한 결과치에 의거하여 설명한다.Next, the process of performing conventional DCT and quantization and the process of quantizing while weighting based on the complexity of the image according to the present invention will be described based on the results of experiments performed by the present inventor on an image signal of one block as an example. do.
하기에서는, 8x8 픽셀로 구성된 블록의 영상신호에 대한 통상적인 DCT, 양자화, 역양자화 및 IDCT 과정을 통해 재생된 일예로서 설명한다. 또한, 여기에서는 DCT 변환계수를 스텝 사이즈 QP*2로 나누는 연산에 해당하며, 스텝 사이즈가 2(QP=1) 인 경우라 가정한다.In the following description, an example of reproduction of a video signal of a block composed of 8x8 pixels is performed through conventional DCT, quantization, inverse quantization, and IDCT processes. In this case, it is assumed that the DCT conversion coefficient is divided by the step size QP * 2, and the step size is 2 (QP = 1).
하기의 표 1은 한 블록(8x8 픽셀)에 대한 영상신호를 나타내는데, 표 1로부터 알 수 있는 바와 같이, 각 픽셀은 0에서 255사이의 레벨값을 갖음을 알 수 있으며, 이들은 수평, 수직 방향으로의 위치에 대한 각각의 픽셀값을 나타낸다.Table 1 below shows a video signal for one block (8x8 pixels). As can be seen from Table 1, it can be seen that each pixel has a level value between 0 and 255. Represents each pixel value for the position of.
하기의 표 2는 상기한 표 1에 도시된 바와같은 픽셀값을 갖는 한 블록의 영상신호에 대하여 수평, 수직 방향으로 8x8 DCT 를 수행한 결과를 나타낸다 이때의 결과에 대한 각 위치에서의 값은 각 방향에서의 주파수 성분을 의미한다.Table 2 below shows the result of performing 8x8 DCT in the horizontal and vertical directions on a block of image signals having pixel values as shown in Table 1 above. It means the frequency component in the direction.
하기의 표 3은 상기한 표 2에 도시된 바와 같은 주파수 성분들을 갖는 DCT 변환계수 블록(8x8)에 대하여 양자화를 수행한 결과를 나타낸다. 이 과정에서의 양자화 스텝 사이즈는 QP*2로서 계산되었으며, QP가 1인, 즉 스텝 사이즈가 2인 경우를 예로 든 것이다. 이 결과, 각 위치에서의 값은 전술한 표 2의 값을 2로 나눈 결과에 해당한다. 따라서, 이러한 연산(양자화)의 수행결과, 각각의 양자화된 DCT변환계수들은 상기한 표2에 도시된 각각의 DCT변환계수들에 비해 그 크기가 작아지고, 또한 0의 값을 갖는 개수가 많아짐을 알 수 있다. 결과적으로, 이것은 부호화 후에 전송되어질 정보량이 줄어든다는 것을 의미한다. 만일, 이 때의 QP값이 커진다면 그 결과로서 나타나는 상기한 표3 에서의 각각의 양자화된 DCT변환계수들은 그 크기가 더 작아질 뿐만 아니라 0의 값을 갖는 개수가 더 적어지므로, 결국 부호화 후에 전송되어질 발생 데이터량은 더욱 줄어들게 될 것이다. 이것은, 앞에서도 이미 기술한 바와 같이, 양자화 단계에서 QP값을 조절해 주므로써, 전송할 정보량을 조절한다는 통상적인 방법인 것이다.Table 3 below shows the result of performing quantization on a DCT transform coefficient block 8x8 having frequency components as shown in Table 2 above. The quantization step size in this process was calculated as QP * 2, taking the case where QP is 1, that is, the step size is 2. As a result, the value at each position corresponds to the result of dividing the value of Table 2 above by 2. Therefore, as a result of performing this operation (quantization), each of the quantized DCT transform coefficients is smaller in size than the respective DCT transform coefficients shown in Table 2, and the number having a value of 0 increases. Able to know. As a result, this means that the amount of information to be transmitted after encoding is reduced. If the QP value at this time becomes large, the resulting quantized DCT transform coefficients in Table 3 are not only smaller in size but also smaller in number with a value of 0, so that after encoding The amount of data to be transmitted will be further reduced. As described above, this is a conventional method of controlling the amount of information to be transmitted by adjusting the QP value in the quantization step.
한편, 본 발명에선 상술한 바와 같은 통상적인 양자화 스텝 사이즈 조절만을 통해 부호화후에 발생되는 비트량을 조절하는 것이 아니라, 바로 이전에 부호화(양자화, DCT 및 앤트로피 부호화)된 프레임의 각 매크로 블록들에 대한 QP들값을 평균하여 얻은 AQP 값을 이용하여 현재 부호화하고자 하는 영상의 복잡도를 산출하고, 산출된 복잡도에 의거하여, 현재 부호화하고자 하는 영상이 복잡한 영상(즉, 산출된 AQP 값이 상대적으로 큰값인 영상)인 것으로 판단되는 경우, 양자화 단계전에 소정의 고주파 차단 레벨을 갖는 복수의 가중치를 적응적으로 주어 DCT 변환계수들의 통과 주파수 대역을 제한한다.Meanwhile, in the present invention, not only the bit amount generated after encoding is adjusted through the conventional quantization step size adjustment as described above, but also each macroblock of a frame that has been previously encoded (quantized, DCT, and entropy encoded). Using the AQP value obtained by averaging the values of the QPs, the complexity of the image to be currently encoded is calculated, and based on the calculated complexity, the image to be encoded is a complex image (that is, the calculated AQP value is a relatively large value). Image), a plurality of weights having a predetermined high frequency cutoff level are adaptively given before the quantization step to limit the pass frequency band of the DCT transform coefficients.
즉, 표 4는, 일예로서 한 블록(8×8 DCT블록)에 대해 제1도에 도시된 가중치 발생 블록(220)에서 산출된 영역 구분값 B가 4인 경우에 해당하는 가중치를 주어 DCT 변환계수들을 양자화한 결과값을 나타낸다. 이와 같은 나타나는 표 4의 결과는 상기한 표 3의 양자화된 DCT 변환계수 값들과 비교해 볼 때, 표 4에서 점선 이하의 주파수 부분을 2로 나누어 양자화한 결과인 것으로, 0의 레벨을 갖는 개수가 많아지고, 또한 각각의 양자화된 DCT 변환계수 값들의 크기도 2배 작아졌음을 알 수 있다. 결과적으로, 본 발명에서는 부호화된 이전 프레임의 AQP값에 기초하여 판단되는 영상의 복잡도에 근거하는 가중치를 주어 영상의 고주파 성분들을 적응적으로 제거한 다음 양자화를 수행함으로써, 양자화 단계에서의 과도한 스텝 사이즈의 증가 없이 부호화후 발생되는 비트량을 효과적으로 조절할 수가 있는 것이다. 하기의 표 4에서 4의 B 값에 따라 결정된느 것으로 도시한 점선은 제2도에서 가중치를 주는 B값이 4인 부분에 상응하는 부분이다.That is, Table 4 shows, as an example, DCT conversion given a weight corresponding to the case where the area division value B calculated in the weight generation block 220 shown in FIG. 1 is 4 for one block (8x8 DCT block). Shows the result of quantizing the coefficients. The result of Table 4 shown above is a result of quantizing the frequency part below the dotted line by 2 in Table 4 as compared with the quantized DCT transform coefficient values of Table 3, and has a large number having a level of 0. Also, it can be seen that the magnitude of each quantized DCT transform coefficient value is also two times smaller. As a result, in the present invention, by applying a weight based on the complexity of the image determined based on the AQP value of the previous frame, adaptively removing high frequency components of the image and performing quantization, an excessive step size in the quantization step is achieved. It is possible to effectively adjust the amount of bits generated after encoding without increasing. The dotted line shown in Table 4, which is determined according to the B value of 4, corresponds to the portion of the weighted B value 4 in FIG.
이상 설명한 바와 같이 본 발명에 따르면, 바로 이전에 부호화된 프레임에서 그 양자화시에 각 매크로 블록마다 발생된 QP 값들을 평균하여 얻은 AQP 값을 이용하여 현재 부호화하고자 하는 영상의 복잡도를 계산하고, 그 계산결과에 따라 현재 입력 영상이 복잡한 영상인 경우, 그에 상응하는 가중치를 주어 인간의 시각에 둔감한 영상의 고주파 성분을 일차적으로 제거한 다음 DCT, 양자화등의 부호화를 수행하도록 함으로써, 양자화 단계에서의 과도한 스텝 사이즈의 증가없이 부호화후 발생되는 비트량을 효과적으로 조절할 수 있다. 따라서, 본 발명에 의하면, 부호화된 영상을 복원하여 디스플레이할 때, 재생 영상에서 필연적으로 나타나는 양자화 오차로 인한 화질열화를 효과적으로 감소시킬 수 있다.As described above, according to the present invention, the complexity of an image to be currently encoded is calculated by using an AQP value obtained by averaging QP values generated for each macroblock at the time of quantization in a frame immediately encoded, and calculating the calculated value. According to the result, if the current input image is a complex image, the corresponding weight is applied to remove the high frequency components of the image insensitive to the human's vision, and then the DCT, quantization, etc. encoding is performed, thereby causing excessive steps in the quantization step. The amount of bits generated after encoding can be effectively adjusted without increasing the size. Therefore, according to the present invention, it is possible to effectively reduce image quality deterioration due to quantization error inevitably present in a reproduced image when reconstructing and displaying an encoded image.
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960013798A KR100203697B1 (en) | 1996-04-30 | 1996-04-30 | Improved image coding system having functions for controlling generated amount of coded bit stream |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960013798A KR100203697B1 (en) | 1996-04-30 | 1996-04-30 | Improved image coding system having functions for controlling generated amount of coded bit stream |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970073145A KR970073145A (en) | 1997-11-07 |
KR100203697B1 true KR100203697B1 (en) | 1999-06-15 |
Family
ID=19457301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960013798A KR100203697B1 (en) | 1996-04-30 | 1996-04-30 | Improved image coding system having functions for controlling generated amount of coded bit stream |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100203697B1 (en) |
-
1996
- 1996-04-30 KR KR1019960013798A patent/KR100203697B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR970073145A (en) | 1997-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100203710B1 (en) | Improved image coding system having functions for controlling generated amount of coded bit stream | |
US5473377A (en) | Method for quantizing intra-block DC transform coefficients using the human visual characteristics | |
EP0680219B1 (en) | Improved post-processing method for use in an image signal decoding system | |
JPH0723422A (en) | Video signal band compression equipment of digital vtr | |
JP3819461B2 (en) | Video data post-processing method | |
KR100229796B1 (en) | Image decoding system including compensation at detoriorate image | |
JPH07162863A (en) | Adaptive quantization parameter control device | |
WO1996005701A1 (en) | Spatially adaptive blur filter | |
KR100203714B1 (en) | Improved image coding system having functions for controlling generated amount of coded bit stream | |
KR100203697B1 (en) | Improved image coding system having functions for controlling generated amount of coded bit stream | |
KR100203682B1 (en) | Improved image coding system having functions for controlling generated amount of coded bit stream | |
KR100203676B1 (en) | Improved image coding system having functions for controlling generated amount of coded bit stream | |
KR100203629B1 (en) | Improved image coding system having functions for controlling generated amount of coded bit stream | |
KR100203707B1 (en) | Improved image coding system having functions for controlling generated amount of coded bit stream | |
KR100203696B1 (en) | Improved image coding system having functions for controlling generated amount of coded bit stream | |
KR100203685B1 (en) | Improved image coding system having functions for controlling generated amount of coded bit stream | |
KR100203703B1 (en) | Improved image coding system having functions for controlling generated amount of coded bit stream | |
KR100203684B1 (en) | Improved image coding system having functions for controlling generated amount of coded bit stream | |
KR100203709B1 (en) | Improved image coding system having functions for controlling generated amount of coded bit stream | |
KR100203630B1 (en) | Improved image coding system having functions for controlling generated amount of coded bit stream | |
KR100203702B1 (en) | Improved image coding system having functions for controlling generated amount of coded bit stream | |
KR100203677B1 (en) | Improved image coding system having functions for controlling generated amount of coded bit stream | |
KR100203627B1 (en) | Improved image coding system having functions for controlling generated amount of coded bit stream | |
KR100203659B1 (en) | Improved image coding system having functions for controlling generated amount of coded bit stream | |
KR100229791B1 (en) | Adaptive image coding system having functions for controlling bandpath of video signals |
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: 20110302 Year of fee payment: 13 |
|
LAPS | Lapse due to unpaid annual fee |