KR0166728B1 - The image signal encoding apparatus for edge characteristics and the quantization level decision method - Google Patents
The image signal encoding apparatus for edge characteristics and the quantization level decision method Download PDFInfo
- Publication number
- KR0166728B1 KR0166728B1 KR1019930020214A KR930020214A KR0166728B1 KR 0166728 B1 KR0166728 B1 KR 0166728B1 KR 1019930020214 A KR1019930020214 A KR 1019930020214A KR 930020214 A KR930020214 A KR 930020214A KR 0166728 B1 KR0166728 B1 KR 0166728B1
- Authority
- KR
- South Korea
- Prior art keywords
- activity
- data
- macroblock
- quantization
- quantization level
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/12—Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 에지가 마크로 블럭내에 존재할 경우 마크로 블럭을 16개의 서브 블럭으로 나누어 에지가 있는 마크로 블럭의 양자화레벨을 낮춤으로써 양자화 에러에 의해 화면상에 발생되는 번쩍거리는 현상을 없앨 수 있도록 한 에지특성을 고려한 영상 신호 부호화 장치 및 양자화레벨 결정방법에 관한 것이다. 이와 같은 본 발명은 전방향 해석부에서 양자화부를 조절하기 위한 양자화레벨값을 계산할 때 마크로 블럭을 4×4 픽셀로 구성되는 16개의 서브 블럭으로 나누어 서브 블럭의 활동도중 최소변동값을 그 마크로 블럭의 활동도로 결정한다. 여기서 구해진 마크로 블럭의 활동도와 부호화 이전 프레임의 평균 활동도를 이용하여 정규화된 활동도를 계산하고 정규화된 활동도에 의해 양자화레벨값을 계산한다. 그러면 에지가 존재하는 마크로 블럭의 양자화레벨값이 낮아져 화면상에 발생되는 번쩍거림을 없앨 수 있는 효과가 있다.According to the present invention, when an edge exists in a macro block, the macro block is divided into 16 sub-blocks to reduce the quantization level of the edge-blocked macro block, thereby eliminating the flashing phenomenon generated on the screen by the quantization error. The present invention relates to a video signal encoding apparatus and a quantization level determination method considered. As described above, the present invention divides the macroblock into 16 subblocks of 4x4 pixels when calculating the quantization level value for controlling the quantization unit in the omnidirectional analyzer and divides the minimum variation value of the activity of the subblock into the macroblock. Determined by activity. The normalized activity is calculated using the activity of the macroblock obtained here and the average activity of the frame before encoding, and the quantization level value is calculated by the normalized activity. As a result, the quantization level of the macro block in which the edge exists is lowered, thereby eliminating the glare generated on the screen.
Description
제1도는 종래의 영상 신호 부호화 장치에서의 양자화레벨 결정방법을 보인 제어 흐름도.1 is a control flowchart showing a method of determining a quantization level in a conventional video signal encoding apparatus.
제2도는 매크로 블럭내에 에지가 존재하여 양자화레벨이 증가하는 경우를 예로 들어 나타낸 상태도.2 is a state diagram illustrating an example in which an edge exists in a macro block, thereby increasing the quantization level.
제3도는 본 발명의 영상 신호 부호화 장치의 블럭도.3 is a block diagram of a video signal encoding apparatus of the present invention.
제4도는 본 발명의 에지특성을 고려한 양자화레벨 결정방법을 보인 제어 흐름도.4 is a control flowchart illustrating a method of determining a quantization level in consideration of edge characteristics of the present invention.
제5도는 본 발명의 매크로 블럭내에 에지가 존재할 경우를 예로 들어 나타낸 상태도.5 is a state diagram showing an example where an edge exists in a macroblock of the present invention.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
3 : N×N 변환부 4 : 양자화부3: N × N conversion section 4: Quantization section
6 : 버퍼 7 : 역양자화부6 buffer 7 inverse quantization unit
11 : 동추정부 12 : 동보상부11: Dongchu Government 12: Ministry of Trade
13 : 전방향해석부13: omnidirectional analysis
본 발명은 영상 신호 부호화 장치에 관한 것으로, 특히 에지(edge)가 매크로 블럭(macroblock)내에 존재할 경우 매크로 블럭을 16개의 서브 블럭으로 나누어 에지가 있는 매크로 블럭의 양자화레벨을 낮춤으로써 양자화에러에 의해 화면상에 발생되는 번쩍거리는 현상을 없앨 수 있도록 한 에지특성을 고려한 영상신호 부호화 장치 및 양자화레벨 결정방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image signal encoding apparatus. In particular, when an edge is present in a macroblock, the macroblock is divided into 16 subblocks, thereby lowering the quantization level of the edged macroblock so as to display the image by a quantization error. The present invention relates to an image signal encoding apparatus and a quantization level determination method in consideration of edge characteristics to eliminate glare generated in an image.
최근 HDTV, HD VTR, 디지탈 VTR, 디지탈 캠코더, 멀티미디어(multimedia) 비디오폰, 비디오 컨퍼런스(conference)등과 같은 시스템에서는 영상 신호와 음성 신호를 디지탈 신호로 부호화하여 전송하거나 매체에 기록하고, 이를 다시 복호화하여 재생하는 방식이 주로 사용되고 있다. 이러한 디지탈 동영상 처리 시스템에 있어서, 부호화측이 MPEG(Moving Picture Expert Group)에서 권고한 바와 같이 IBBPBBPI… 형태인 GOP(Group of Picture)구조를 갖는다면, 복호화측에서는 이 GOP구조에 의해 랜덤액세스(Random Access)처리가 가능하다. 이를 좀더 상세히 설명하면, MPEG에서는 프레임을 I(Intra), B(Bidirection), P(Predictive)타입으로 구분하여 부호화하고, 그 순서는 IBBPBB…I의 순이다. 처음 I프레임에서 그다음 I프레임 바로 전까지의 프레임을 합쳐 GOP라 부르며, 통상 12 내지 15프레임으로 구성된다.Recently, in systems such as HDTV, HD VTR, digital VTR, digital camcorder, multimedia videophone, video conference, etc., video signals and audio signals are encoded and transmitted as digital signals or recorded on media, and decoded again. The reproduction method is mainly used. In such a digital video processing system, the encoding side recommends the IBBPBBPI... Code as recommended by the Moving Picture Expert Group (MPEG). If a GOP (Group of Picture) structure is present, the decoding side can perform random access processing by this GOP structure. In more detail, in MPEG, frames are classified into I (Intra), B (Bidirection), and P (Predictive) types, and they are encoded in the order of IBBPBB. I'm in order. The frames from the first I frame to just before the next I frame are called GOPs and are usually composed of 12 to 15 frames.
부호화 및 복호화를 수행하기 위해서는 프레임을 소정 크기의 블럭들로 구분하는데, 상기 프레임의 부호화 단위는 8×8 블럭단위, 16×16 마크로(Macro) 블럭단위, 가로줄 모양의 슬라이스(Slice)단위, 세로줄 모양의 컬럼(Column)단위등으로 구분된다. 종래에는 각 프레임을 16×16 픽셀(pixel)로 구성되는 매크로 블럭으로 나누고, 이 매크로 블럭을 다시 8×8 픽셀로 구성되는 4개의 블럭으로 나누었다(제2도 참조). 종래의 부호화 장치에서 움직임 벡터와 양자화레벨은 매크로 블럭 단위로 결정된다.In order to perform encoding and decoding, a frame is divided into blocks having a predetermined size. The coding units of the frame are 8 × 8 block units, 16 × 16 macro block units, horizontal stripe slice units, and vertical rows. It is divided into column-shaped units. Conventionally, each frame is divided into macroblocks of 16x16 pixels, and the macroblocks are further divided into four blocks of 8x8 pixels (see FIG. 2). In a conventional encoding apparatus, a motion vector and a quantization level are determined in macroblock units.
제1도는 종래의 영상 데이타 부호화 장치에서의 양자화레벨 결정방법을 보인 제어 흐름도이다. 현재 발표된 MPEG에서 부호화를 위해 권고된 비율제어(rate control) 및 양자화제어(Quantization control)부분은 목표 비트 할당(Target bit allocation), 비율제어, 적응형(Adaptive)양자화등으로 나누어진다. 그러므로 종래의 양자화레벨 결정방법도 상기와 같이 구분하여 설명한다.1 is a control flowchart showing a method of determining a quantization level in a conventional image data encoding apparatus. Rate control and quantization control, which are recommended for encoding in MPEG, are divided into target bit allocation, rate control, and adaptive quantization. Therefore, the conventional quantization level determination method is also described separately as described above.
첫째, 단계(101)에서 수행되는 목표 비트 할당과정을 설명한다. 먼저, 특정타입의 프레임(I,P,B)이 부호화되면, 각각의 글로벌 복잡도(global complexity measure, Xi, Xp, Xb)를 다음과 같이 계산한다.First, the target bit allocation process performed in step 101 will be described. First, when a specific type of frame (I, P, B) is encoded, each global complexity measure (X i , X p , X b ) is calculated as follows.
여기서, Si, Sp, Sb는 각 프레임을 부호화한 후 발생한 총 비트수이고, Qi, Qp, Qb는 각 프레임내 모든 매크로 블럭을 부호화하는데 실제로 사용된 양자화레벨의 평균값이다 하나의 GOP내에서 그다음 프레임의 목표 비트수(Ti, Tp, Tb)는 다음과 같이 계산한다.Where S i , S p , and S b are the total number of bits generated after encoding each frame, and Q i , Q p , and Q b are the average values of the quantization levels actually used to encode all macroblocks in each frame. The target number of bits (T i , T p , T b ) of the next frame in the GOP of is calculated as follows.
여기서, Kp, Kb는 양자화때 사용하는 가중 매트릭스(weighting matrix)에 종속되는 것으로, 각각 1,0, 1.4로 정하였다. R은 GOP에 할당된 비트중 부호화할때 사용하고 남은 비트수를 나타내며, 프레임을 부호화한 후 R=R-Si,p,b로 갱신된다. Np, Nb는 GOP내에서 부호화한 후 남아있는 P,B프레임의 수이다.Here, K p and K b depend on a weighting matrix used for quantization, and are set to 1,0 and 1.4, respectively. R represents the number of bits remaining in encoding among the bits allocated to the GOP, and is updated to R = RS i, p, b after encoding the frame. N p and N b are the number of P and B frames remaining after encoding in the GOP.
둘째, 단계(102)에서 수행되는 비율 제어과정을 설명한다. 각 매크로 블럭(j)을 부호화하기 위해 버퍼의 충만정도를 다음과 같이 계산한다.Second, the rate control process performed in step 102 will be described. In order to encode each macroblock j, the fullness of the buffer is calculated as follows.
여기서, doi,dop,dob는 각 프레임타입의 초기 버퍼의 충만정도이고, Bj는 매크로 블럭(j)을 부호화한 후 발생한 비트수이다. MB_cnt는 프레임내 매크로 블럭의 갯수이고, dji,djp,djb는 각 프레임내 매크로 블럭(j)에서의 버퍼의 충만정도이다. 같은 타입의 다음 프레임을 부호화하기 위해 최종 버퍼의 충만정도는 다음 같은 타입의 버퍼의 초기 충만정도가 된다. 상기 버퍼의 충만정도에 의해 매크로 블럭(j)의 양자화레벨을 다음과 같이 계산한다.Where do i , do p , and do b are the fullness of the initial buffer of each frame type, and Bj is the number of bits generated after encoding the macro block j. MB_cnt is the number of macroblocks in the frame, and dj i , dj p , and dj b are the fullness of the buffer in the macroblock j in each frame. To encode the next frame of the same type, the fullness of the final buffer is the initial fullness of the next type of buffer. The quantization level of the macroblock j is calculated as follows based on the fullness of the buffer.
여기서, bit_rate은 원하는 초당 비트수이고, picture_rate은 초당 프레임수이다.Where bit_rate is the desired number of bits per second and picture_rate is the number of frames per second.
셋째, 단계(103)(104)에서 수행되는 적응형 양자화과정을 설명한다. 매크로 블럭(j)에 대한 공간활동도(spatial activity measure)를 계산하기 위해 인트라(intra) 픽셀값으로부터 다음을 구한다.Third, the adaptive quantization process performed in steps 103 and 104 will be described. In order to calculate the spatial activity measure for the macro block j, the following is obtained from the intra pixel values.
여기서, Pk는 원래의 8×8 블럭내 픽셀값이다. 이때 공간활동을 고려하여 양자화레벨을 조정하는 상기 적응형 양자화과정에서는 각 매크로 블럭내 4개 블럭의 활동도중 최소변동(variance)값을 구하여 그 매크로 블럭의 활동도로 정한다(단계 103). 정규화된 활동도(actj)는 다음과 같다.Where Pk is the original pixel value in the 8x8 block. In the adaptive quantization process in which the quantization level is adjusted in consideration of the spatial activity, the minimum variance value of the activities of the four blocks in each macro block is obtained and determined as the activity of the macro block (step 103). The normalized activity (actj) is
여기서, avg_actj는 부호화된 바로 이전 프레임의 활동도(actj)의 평균값이다. 정규화된 공간활동도(N_actj)는 0.5-2사이의 값을 갖는데, 이것은 매크로 블럭의 활동에 의해서 좌우된다. 매크로 블럭(j)에 대한 양자화레벨을 mquantj라 할 때 정규화된 활동도(N_actj)에 의해 결정된 양자화레벨(mquantj)은 다음과 같다(단계 104).Here, avg_actj is an average value of the activity j of the immediately preceding frame encoded. The normalized spatial activity N_actj has a value between 0.5-2, which depends on the activity of the macro block. When the quantization level for the macro block j is mquantj, the quantization level mquantj determined by the normalized activity N_actj is as follows (step 104).
상기와 같이 양자화레벨이 결정되면, 단계(105)에서 한 프레임이 끝났는지를 판단하여 프레임이 끝나지 않았으면 단계(102)의 비율 제어 과정부터 반복수행하고, 프레임이 끝났으면 단계(101)로 되돌아가 목표 비트 할당과정부터 반복수행한다. 이와 같은 종래의 양자화레벨 결정방법에 의하면, 복잡한 영상에서는 양자화레벨이 큰값으로 정해지더라도 양자화에러의 증가로 인하여 발생되는 번쩍거림을 인간의 눈이 잘 인식할 수 없게 된다.If the quantization level is determined as described above, it is determined in step 105 whether one frame is over, and if the frame is not over, the process is repeated from the ratio control process of step 102, and if the frame is over, the process returns to step 101 Repeat from the target bit allocation process. According to the conventional quantization level determination method, even if the quantization level is set to a large value in a complex image, the human eye may not recognize the flashing caused by the increase in the quantization error.
제2도는 매크로 블럭내에 에지가 존재하여 양자화레벨이 증가하는 경우를 여러가지 예로 들어 나타낸 것이다. 점선으로 나타낸 바와 같이, 종래에는 16×16 픽셀로 구성되는 매크로 블럭을 8×8 픽셀로 구성되는 4개의 서브 블럭으로 나누어 매크로 블럭의 활동도를 계산하였다. 이와 같이 실제로 복잡한 영상이 있는 경우가 아님에도 불구하고 에지가 매크로 블럭내에 존재할 경우에는 종래의 양자화레벨 결정방법에 의해 활동도가 큰값으로 결정됨으로써 매크로 블럭의 양자화레벨이 큰값으로 정해진다. 그러므로 화면상에 발생되는 번쩍거림이 사용자의 눈에 잘 띄게 되는 문제점이 있었다.2 illustrates an example in which edges exist in a macro block, thereby increasing the quantization level. As indicated by the dotted line, conventionally, the macroblocks composed of 16x16 pixels were divided into four subblocks composed of 8x8 pixels to calculate the activity of the macroblocks. In the case where the edge is present in the macro block even though there is not a complicated image as described above, the quantization level of the macro block is set to a large value by determining the activity value as a large value by a conventional quantization level determination method. Therefore, there was a problem that the glare generated on the screen is noticeable to the user.
본 발명은 상기와 같은 종래의 문제점을 해결하기 위한 것으로, 본 발명의 목적은 매크로 블럭의 활동도를 계산할 때 매크로 블럭을 기존에 비해 더 많은 갯수의 서브 블럭으로 나누어 계산함으로써 에지가 존재하는 매크로 블럭의 양자화레벨을 낮추어 화면상에 발생되는 번쩍거림을 없앨 수 있도록 한 에지특성을 고려한 영상 신호 부호화 장치 및 양자화레벨 결정방법을 제공하는 데 있다.The present invention is to solve the above conventional problems, an object of the present invention is to calculate the macroblock activity when calculating the macroblock by dividing the macroblock into a larger number of subblocks than conventional macroblocks existed The present invention provides an image signal encoding apparatus and a quantization level determination method in consideration of an edge characteristic to reduce glare generated on a screen by lowering a quantization level of the quantization level.
이와 같은 목적을 달성하기 위한 본 발명의 특징은 영상 데이타를 양자화 및 부호화시켜 버퍼를 통해 전송하는 방법에 있어서, 부호화되는 프레임에 대한 글로벌 복잡도를 계산하고, 계산된 글로벌 복잡도를 이용하여 하나의 GOP내에서 다음 프레임의 목표 비트수를 계산하고, 부호화된 이전 프레임의 평균 활동도를 구하는 단계, 매크로 블럭을 부호화하기 위해 상기 목표 비트수를 이용하여 버퍼의 충만도를 계산하고, 계산된 버퍼의 충만도에 의해 매크로 블럭의 양자화레벨을 계산하는 단계, 상기 매크로 블럭을 적어도 4개보다는 많은 개수의 서브 블럭들로 나누는 단계, 상기 서브 블럭들 각각의 활동도를 구하고, 그 활동도중 최소값을 그 매크로 블럭의 활동도로 구하는 단계, 상기 매크로 블럭의 활동도와 상기 부호화 이전 프레임의 평균 활동도를 이용하여 정규화된 활동도를 계산하고, 정규화된 활동도에 의해 양자화레벨을 계산하는 단계와, 양자화레벨 계산후 한 프레임이 끝났는지를 판단하여 상기 단계들을 반복하는 단계를 포함하는 에지특성을 고려한 양자화레벨 결정방법에 있다.In order to achieve the above object, a feature of the present invention is a method of quantizing and encoding image data and transmitting the same through a buffer, and calculating a global complexity for a frame to be encoded and using the calculated global complexity in one GOP. Calculating the target bits of the next frame, obtaining the average activity of the previous coded frame, calculating the buffer's fullness using the target bits to encode the macroblock, and calculating the buffer's fullness. Calculating a quantization level of the macroblock by dividing the macroblock into at least a plurality of subblocks, obtaining activity of each of the subblocks, and calculating a minimum value of the activity Obtaining an activity diagram, an activity of the macroblock and an average activity of the pre-encoding frame Calculating normalized activity using the normalized activity, calculating the quantization level according to the normalized activity, and determining whether one frame is finished after calculating the quantization level, and repeating the above steps. It is in the method of decision.
또한, 상기와 같은 목적을 달성하기 위한 본 발명의 다른 특징은 기설정된 매크로 블럭 단위의 영상 데이타를 부호화하기 위한 장치에 있어서, 상기 매크로 블럭 데이타에서 소정의 궤환 데이타를 감산한 오차 데이타를 주파수 영역의 데이타로 변환하여 전방향 해석부에서 결정된 양자화레벨 신호에 따라 상기 변환계수들을 양자화하는 변환 및 양자화수단과, 상기 변환 및 양자화수단에서 양자화되어 불규칙하게 입력되는 데이타를 저장했다가 일정한 속도로 전송하고 충만도 신호를 출력하여 오버플로우나 언더플로우가 발생되지 않도록 하는 버퍼와, 상기 버퍼의 충만도 신호와 매크로 블럭 데이타를 입력받아 버퍼의 충만정도에 따라 상기 매크로블럭데이타를 적어도 4개보다는 많은 갯수의 서브블럭으로 나누어 서브 블럭들 각각의 활동도를 구하고, 그 활동도중 최소값을 그 매크로 블럭의 활동도로 정하여 양자화레벨 신호를 출력하는 전방향 해석부와, 상기 변환 및 양자화수단에서 출력되는 양자화된 변환 계수를 상기 양자화레벨 신호에 따라 역양자화 및 역변환처리하는 역양자화 및 역변환수단과, 상기 역변환된 영상 데이타를 소정의 궤환 데이타와 가산하여 프레임 단위로 저장하는 프레임 메모리와, 상기 블럭 영상 데이타와 가장 유사한 패턴의 데이타를 프레임 메모리로부터 찾아 움직임 벡터를 산출하는 동추정 수단과, 프레임 메모리로부터 동추정 수단의 움직임 벡터에 상응하는 블럭 데이타를 독출하여 궤환 데이타로서 출력하는 동보상수단을 포함하는 에지특성을 고려한 영상 신호 부호화 장치에 있다.In addition, another aspect of the present invention for achieving the above object is an apparatus for encoding image data in a predetermined macroblock unit, the error data obtained by subtracting a predetermined feedback data from the macroblock data of the frequency domain Transform and quantization means for quantizing the transform coefficients according to the quantization level signal determined by the omnidirectional analysis section, and the data quantized and irregularly input by the transform and quantization means are stored and transmitted at a constant speed. A buffer that outputs a signal so that no overflow or underflow occurs, and receives the fullness signal of the buffer and the macroblock data and receives the macroblock data more than four subblocks according to the buffer's fullness. Divide into blocks to determine the activity of each subblock And an omnidirectional analyzer for outputting a quantization level signal by setting the minimum value of the activity as the macroblock activity, and inverse quantization and inverse transformation processing of the quantized transform coefficients output from the transform and quantization means according to the quantization level signal. An inverse quantization and inverse transform means, a frame memory for adding the inverse transformed image data to predetermined feedback data and storing the frame data in a frame unit, and calculating a motion vector by searching the frame memory for data having a pattern most similar to the block image data. An image signal encoding apparatus in consideration of edge characteristics includes a motion estimation means and a motion compensation means for reading out block data corresponding to a motion vector of the motion estimation means from a frame memory and outputting the feedback data as feedback data.
이하, 첨부된 제3도 내지 제5도를 참조하여 본 발명의 실시예를 상세히 설명하면 다음과 같다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to FIGS. 3 to 5 as follows.
제3도는 본 발명이 적용되는 영상 신호 부호화 장치의 블럭도이다. 도시된 바와 같이, 본 발명의 부호화 장치는 입력단(1)을 통해 인가되는 소정 크기의 블럭 단위의 영상 데이타에서 소정의 궤환 데이타를 감산하여 오차 데이타를 출력하는 감산기(2)를 구비하고 있다. 감산기(2)의 출력단에는 N×N변환부(3)가 연결되어 감산기(2)의 오차데이타를 주파수영역의 데이타로 변환시킨다. 이 N×N 변환부(3)에 연결된 양자화부(4)는 전방향 해석부(13)에서 결정된 양자화레벨 신호에 따라 N×N 변환부(3)의 변환계수들을 양자화시킨다. 상기 양자화부(4)에 연결된 가변길이 부호화부(5)는 양자화부(4)에서 양자화된 데이타를 가변길이로 부호화하여 데이타를 압축한다. 상기 가변길이 부호화부(5)의 출력은 불규칙한 상태로 버퍼(6)로 인가되고, 버퍼(6)는 입력된 데이타를 저장했다가 이를 일정한 속도로 전송하여 오버플로우(overflow)나 언더플로우(underflow)가 발생되지 않도록 충만도 신호(SQ)를 출력한다. 상기 버퍼(6)의 충만도 신호(SQ)는 전방향 해석부(13)로 인가되고, 전방향 해석부(13)는 입력단(1)을 통해 인가되는 매크로 블럭 단위의 영상 데이타와 버퍼(6)로부터의 충만도 신호(SQ)를 입력받아 버퍼의 충만정도에 따라 상기 영상 데이타를 4×4 픽셀로 구성되는 16개의 서브 블럭으로 나누어 구한 매크로 블럭의 양자화레벨 신호(MQ)를 양자화부(4)와 역양자화부(7)로 각각 출력한다. 한편, 양자화부(4)의 출력단에는 양자화부(4)에서 출력되는 양자화계수를 역양자화 및 역변환처리하는 역양자화부(7) 및 N×N 역변환부(8)와, N×N 역변환부(8)의 영상 데이타를 소정의 궤환 데이타와 가산하는 가산기(9)가 구성되어 있다. 프레임 메모리(10)는 상기 가산기(9)의 출력 데이타를 프레임 단위로 저장하여 화면을 재구성하게 된다. 상기 프레임 메모리(10)에 연결된 동추정부(11)는 입력단(1)에서 인가되는 N×N 블럭의 영상 데이타와 가장 유사한 패턴의 데이타를 프레임 메모리(10)의 저장 데이타로부터 찾아 움직임 벡터를 산출한다. 또한 동보상부(12)는 프레임 메모리(10)의 프레임 데이타에서 동추정부(11)의 움직임 벡터에 상응하는 블럭 데이타를 독출하여 상기 감산기(2)와 가산기(9)로 출력한다. 상기 동보상부(12)와 감산기(2)사이에 연결된 스위치(SW1) 및 동보상부(12)와 가산기(9)사이에 연결된 스위치(SW2)는 오차 데이타의 누적으로 인해 부호화되는 화상이 실제 화상과 달라지는 것을 방지하기 위해 프레임 단위 또는 소정의 블럭 단위로 데이타를 리프레쉬(Refresh)시킨다.3 is a block diagram of a video signal encoding apparatus to which the present invention is applied. As shown, the encoding apparatus of the present invention includes a subtractor 2 for outputting error data by subtracting predetermined feedback data from block data of a unit of a predetermined size applied through the input terminal 1. An output terminal of the subtractor 2 is connected to the N × N converter 3 to convert the error data of the subtractor 2 into data in the frequency domain. The quantizer 4 connected to the N × N converter 3 quantizes the transform coefficients of the N × N converter 3 according to the quantization level signal determined by the omnidirectional analyzer 13. The variable length encoder 5 connected to the quantizer 4 compresses the data by encoding the data quantized by the quantizer 4 into variable length. The output of the variable length encoder 5 is applied to the buffer 6 in an irregular state, and the buffer 6 stores the input data and transmits the data at a constant speed to overflow or underflow. Outputs the fullness signal SQ so that) does not occur. The fullness signal SQ of the buffer 6 is applied to the omnidirectional analyzer 13, and the omnidirectional analyzer 13 is a macroblock unit of image data and a buffer 6 applied through the input terminal 1. The quantization unit 4 receives a quantization level signal MQ of a macroblock obtained by receiving the fullness signal SQ from the subfield, and dividing the image data into 16 subblocks of 4x4 pixels according to the degree of fullness of the buffer. ) And inverse quantization unit 7 respectively. On the other hand, at the output terminal of the quantization unit 4, an inverse quantization unit 7 and an N × N inverse transform unit 8 for inverse quantization and inverse transform processing of the quantization coefficients output from the quantization unit 4, and an N × N inverse transform unit ( The adder 9 which adds the video data of 8) with predetermined feedback data is comprised. The frame memory 10 reconstructs the screen by storing the output data of the adder 9 in units of frames. The converging unit 11 connected to the frame memory 10 calculates a motion vector by finding data of a pattern most similar to the image data of the N × N block applied from the input terminal 1 from the stored data of the frame memory 10. . The compensator 12 also reads block data corresponding to the motion vector of the sync 11 from the frame data of the frame memory 10 and outputs the block data to the subtractor 2 and the adder 9. The switch SW1 connected between the compensator 12 and the subtractor 2, and the switch SW2 connected between the compensator 12 and the adder 9, have an image that is encoded due to accumulation of error data. To prevent the data from being changed, the data is refreshed in units of frames or predetermined blocks.
상기와 같이 구성된 본 발명의 부호화 장치에서 입력단(1)으로 N×N 블럭의 영상 데이타가 입력되고(일반적으로 N1×N2블럭이나, 실시예에서는 N1=N2=N으로 가정함), 입력단(1)을 통해 인가되는 블럭 데이타는 감산기(2)에서 동보상부(12)로부터 궤환된 데이타와 감산되어 오차 데이타가 산출된다. 이 오차 데이타는 N×N 변환부(3)에서 주파수 영역의 데이타로 변환되고, 이때 변환된 변환계수의 에너지는 주로 저주파쪽으로 모이게 된다. 양자화부(4)는 소정의 양자화과정을 통해 변환계수들을 일정레벨의 대표값들로 바꾸어준다. 즉, 양자화부(4)는 전방향 해석부(13)에서 결정된 양자화레벨 신호(MQ)를 공급받고, 이에 따라 소정의 양자화 가중 매트릭스에 의해 N×N 변환부(3)의 출력 데이타를 양자화시킨다. 양자화된 양자화계수에 대해 가변길이 부호화부(5)는 이 대표값들의 통계적특성을 살려 가변길이 부호화함으로써 전송되는 데이타(VCD)를 압축시킨다. 버퍼(6)는 가변길이 부호화부(5)에서 공급되는 압축 데이타를 받아 일정속도로 전송하면서 오버플로우나 언더플로우가 발생하지 않도록 입력 데이타량을 조절하기 위해 충만도 신호(SQ)를 출력한다. 전방향 해석부(13)는 상기 충만도 신호(SQ)와 매크로 블럭 단위의 영상 데이타를 입력받아 상기 버퍼(6)의 충만정도에 의해 결정된 양자화레벨 신호(MQ)를 양자화부(4)와 역양자화부(7)로 출력하게 된다.In the encoding apparatus of the present invention configured as described above, image data of N × N blocks is input to the input terminal 1 (generally, N 1 × N 2 blocks, but in the embodiment, N 1 = N 2 = N is assumed). The block data applied through the input terminal 1 is subtracted from the data fed back from the compensator 12 in the subtractor 2 to calculate error data. The error data is converted into data in the frequency domain by the N × N converter 3, and at this time, the energy of the converted conversion coefficient is mainly collected toward the low frequency side. The quantization unit 4 converts the transform coefficients into representative values of a predetermined level through a predetermined quantization process. That is, the quantization unit 4 is supplied with the quantization level signal MQ determined by the omnidirectional analyzer 13, thereby quantizing the output data of the N × N converter 3 by a predetermined quantization weighting matrix. . For the quantized quantization coefficient, the variable length coding unit 5 compresses the data V CD transmitted by variable length coding utilizing the statistical characteristics of the representative values. The buffer 6 receives the compressed data supplied from the variable length encoder 5 and transmits it at a constant speed, and outputs a fullness signal SQ to adjust the amount of input data so that no overflow or underflow occurs. The omnidirectional analyzer 13 receives the fullness signal SQ and the image data in macroblock units and inverses the quantization level signal MQ determined by the fullness of the buffer 6 with the quantization unit 4. Output to the quantization unit 7.
또한, 일반적으로 화면과 화면간에는 유사한 부분이 많으므로 약간의 움직임이 있는 화면인 경우 그 움직임을 추정하여 움직임 벡터(MV)를 산출하고, 이 움직임 벡터를 이용해 데이타를 보상하여 주면 인접한 화면간의 차신호는 매우 작으므로 전송 데이타를 더욱 압축시킬 수 있다. 이러한 동보상을 수행하기 위해 역양자화부(7) 및 N×N 역변환부(8)는 양자화부(4)에서 출력되는 양자화계수를 역양자화시킨 다음 역변환시켜 공간 영역의 영상 데이타로 변환시킨다. N×N 역변환부(8)에서 출력되는 영상 데이타는 동보상부(12)로부터 궤환된 데이타와 가산기(9)에서 가산되어 프레임 메모리(10)에 저장됨으로써 화면을 재구성한다.Also, in general, since there are many similar parts between the screen and the screen, if there is a slight motion, the motion vector (MV) is calculated by estimating the motion, and when the data is compensated using the motion vector, the difference signal between adjacent screens. Is so small that it can compress the transmitted data further. In order to perform such dynamic compensation, the inverse quantization unit 7 and the N × N inverse transform unit 8 inversely quantize the quantization coefficients output from the quantization unit 4 and then inversely transform the image data in the spatial domain. The image data output from the NxN inverse transform unit 8 is added to the data returned from the compensator 12 and added by the adder 9 and stored in the frame memory 10 to reconstruct the screen.
그러면 동추정부(11)는 입력단(1)에서 인가되는 N×N 블럭 데이타와 가장 유사한 패턴의 블럭 데이타를 프레임 메모리(10)에 저장된 데이타에서 찾아, 2개 블럭간의 움직임을 나타내는 움직임 벡터(MV)를 산출한다. 이 움직임 벡터(MV)는 복호화 장치에서 이용되기 위해 수신측으로 전송됨과 아울러 동보상부(12)로 전송된다. 동보상부(12)는 프레임 메모리(10)의 데이타에서 움직임 벡터에 상응하는 블럭 데이타를 독출하여 감산기(2)로 공급한다. 그러면 감산기(2)는 전술된 바와 같이 입력단(1)에서 인가되는 블럭 데이타와 동보상부(12)에서 공급되는 블럭 데이타간의 오차 데이타를 산출하고, 이 오차 데이타는 부호화되어 수신측으로 전송된다.Then, the tracking unit 11 finds the block data of the pattern most similar to the N × N block data applied from the input terminal 1 from the data stored in the frame memory 10, and shows a motion vector (MV) representing the movement between two blocks. To calculate. This motion vector (MV) is transmitted to the receiver and also to the compensator 12 for use in the decoding apparatus. The compensator 12 reads block data corresponding to a motion vector from the data of the frame memory 10 and supplies it to the subtractor 2. The subtractor 2 then calculates the error data between the block data applied at the input stage 1 and the block data supplied from the compensating section 12 as described above, and the error data is encoded and transmitted to the receiving side.
여기서, 스위치(SW1)(SW2)는 연동스위치로서 해당 매크로 블럭이 강제 인트라코팅되는 동안은 오프되는 동작을 수행하여 오차 데이타의 누적으로 인해 부호화되는 화상이 실제 화상과 달라지는 것을 방지하도록 하였다.Here, the switches SW1 and SW2 are interlocked switches, which perform operations that are turned off while the macroblock is forcibly intracoated to prevent the encoded image from being different from the actual image due to accumulation of error data.
제4도는 상기 전방향 해석부(13)에서 수행하는 본 발명의 에지특성을 고려한 양자화레벨 결정방법을 보인 제어 흐름도이다. 먼저, 단계(201)에서 목표 비트 할당과정을 수행하여 특정타입의 프레임(I,P,B)이 부호화되면 각각의 글로벌 복잡도(Xi,Xp,Xb)를 계산한다. 계산된 글로벌 복잡도를 이용하여 하나의 GOP내에서 그다음 프레임의 목표 비트수(Ti,Tp,Tb)를 계산하고, 부호화된 바로 이전 프레임의 활동도의 평균값(avg_actj)을 구한다. 다음에, 단계(202)에서 비율 제어과정을 수행하여 각 매크로 블럭(j)을 부호화하기 위해 버퍼의 충만정도를 계산한다. 상기 버퍼의 충만정도를 이용해 매크로 블럭(j)의 양자화레벨을 계산한다 상기와 같은 목표 비트 할당 및 비율 제어과정은 종래의 방법과 동일하다.4 is a control flowchart illustrating a quantization level determination method in consideration of the edge characteristics of the present invention performed by the omnidirectional analyzer 13. First, in step 201, a target bit allocation process is performed to calculate each global complexity X i , X p , X b when a specific type of frame I, P, or B is encoded. The target number of bits (T i , T p , T b ) of the next frame in one GOP is calculated using the calculated global complexity, and the average value (avg_actj) of the activity of the immediately preceding frame is obtained. Next, in step 202, a rate control process is performed to calculate the degree of fullness of the buffer for encoding each macro block j. The quantization level of the macro block j is calculated using the fullness of the buffer. The target bit allocation and rate control process as described above is the same as the conventional method.
본 발명의 특징 부분은 단계(203)(204)에서 수행되는 적응형 양자화과정이다. 이 과정에서는 제5도에 점선으로 나타낸 것처럼 매크로 블럭을 4×4 픽셀로 구성되는 16개의 서브 블럭으로 나누어 서브 블럭의 활동도중 최소값을 그 매크로 블럭의 활동도로 결정하게 된다. 먼저, 매크로 블럭(j)에 대한 공간 활동도를 계산하기 위해 인트라 픽셀값으로부터 다음의 값들을 구한다.A feature of the present invention is the adaptive quantization process performed in steps 203 and 204. In this process, as shown by dotted lines in FIG. 5, the macroblock is divided into 16 subblocks of 4x4 pixels, and the minimum value of the subblock activity is determined as the macroblock activity. First, the following values are obtained from the intra pixel values in order to calculate the spatial activity for the macro block j.
여기서, Pk'는 4×4 서브 블럭내의 픽셀값이다. 이때 상기 적응형 양자화과정에서는 각 매크로 블럭내 16개 서브 블럭의 활동도중 최소변동값을 구하여 그 매크로 블럭의 활동도로 정한다(단계 203). 상기식에 의해 구해진 매크로 블럭의 활동도(actj)와 부호화 이전 프레임의 평균 활동도(avg_actj)를 사용하여 정규화된 활동도(N_actj)를 계산한다. 이때 매크로 블럭내에 실제로 복잡한 영상이 있으면 정규화된 활동도는 종래의 방법으로 구한 값과 거의 같다. 그러나 제5도에 도시한 바와 같이 에지가 있을 경우에는 정규화된 활동도가 작은값으로 얻어진다. 그러므로 매크로 블럭내 에지가 존재할 경우에는 정규화된 활동도(N_actj)에 의해 계산된 양자화레벨값이 낮은값으로 구해지므로 번쩍거리는 현상을 줄일 수 있고, 전체 데이타를 부호화하는데 발생하는 비트수도 큰 변화가 없다(단계 204).Where P k ′ is the pixel value in the 4 × 4 subblock. In the adaptive quantization process, the minimum variation value of the activities of the 16 sub blocks in each macro block is obtained and determined as the activity of the macro block (step 203). The normalized activity N_actj is calculated using the activity j of the macroblock obtained by the above equation and the average activity avg_actj of the frame before encoding. At this time, if there is actually a complicated image in the macroblock, the normalized activity is almost the same as the value obtained by the conventional method. However, as shown in FIG. 5, when there is an edge, normalized activity is obtained with a small value. Therefore, when there are edges in the macroblock, the quantization level calculated by the normalized activity (N_actj) is obtained as a low value, so that the flashing phenomenon can be reduced and the number of bits generated in encoding the entire data is not largely changed. (Step 204).
상기와 같이 양자화레벨이 결정되면, 단계(205)에서 한 프레임이 끝났는지를 판단하여 프레임이 끝나지 않았으면 단계(202)의 비율 제어 과정부터 반복수행하고, 프레임이 끝났으면 단계(201)로 되돌아가 목표 비트 할당과정부터 반복수행한다.When the quantization level is determined as described above, it is determined whether one frame is finished in step 205, and if the frame is not finished, the process is repeated from the ratio control process of step 202, and when the frame is finished, the process returns to step 201. Repeat from the target bit allocation process.
이상에서와 같이 본 발명은 매크로 블럭의 활동도를 계산할 때 매크로 블럭을 기존에 비해 더 많은 갯수의 서브 블럭으로 나누어 계산함으로써 에지가 존재하는 매크로 블럭의 양자화레벨을 낮추므로 화면상에 발생되는 번쩍거림을 없앨 수 있는 효과가 있다.As described above, the present invention lowers the quantization level of macroblocks with edges when calculating macroblock activity by dividing the macroblock into a larger number of subblocks than before. There is an effect that can be eliminated.
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019930020214A KR0166728B1 (en) | 1993-09-28 | 1993-09-28 | The image signal encoding apparatus for edge characteristics and the quantization level decision method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019930020214A KR0166728B1 (en) | 1993-09-28 | 1993-09-28 | The image signal encoding apparatus for edge characteristics and the quantization level decision method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR950010627A KR950010627A (en) | 1995-04-28 |
KR0166728B1 true KR0166728B1 (en) | 1999-03-20 |
Family
ID=19364994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019930020214A KR0166728B1 (en) | 1993-09-28 | 1993-09-28 | The image signal encoding apparatus for edge characteristics and the quantization level decision method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0166728B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100557175B1 (en) * | 1999-07-08 | 2006-03-03 | 삼성전자주식회사 | Apparatus and method for smoothing edge of blocks in a video signal processing system |
-
1993
- 1993-09-28 KR KR1019930020214A patent/KR0166728B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100557175B1 (en) * | 1999-07-08 | 2006-03-03 | 삼성전자주식회사 | Apparatus and method for smoothing edge of blocks in a video signal processing system |
Also Published As
Publication number | Publication date |
---|---|
KR950010627A (en) | 1995-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2011034C (en) | A highly efficient coding apparatus | |
KR0166716B1 (en) | Encoding and decoding method and apparatus by using block dpcm | |
KR100206261B1 (en) | Video signal band compression device for a digital vtr | |
US5489944A (en) | Encoding method and apparatus to determine quantization levels using energy characteristics in the DCT domain | |
US7653129B2 (en) | Method and apparatus for providing intra coding frame bit budget | |
KR100213018B1 (en) | Apparatus for encoding moving picture | |
JP3716931B2 (en) | Adaptive decoding device for continuous images | |
KR100610520B1 (en) | Video data encoder, video data encoding method, video data transmitter, and video data recording medium | |
US4816914A (en) | Method and apparatus for efficiently encoding and decoding image sequences | |
US6275527B1 (en) | Pre-quantization in motion compensated video coding | |
KR0168458B1 (en) | Distorting deminishing method and apparatus | |
US7925108B2 (en) | Encoding device and dynamic image recording system having the encoding device | |
KR0139154B1 (en) | Coding method in a neural network | |
EP0517256A2 (en) | High efficiency data compressed image encoding | |
JP2963416B2 (en) | Video encoding method and apparatus for controlling bit generation amount using quantization activity | |
JPH09307904A (en) | Quantizer for video signal coding system | |
KR100541623B1 (en) | Prediction method and device with motion compensation | |
KR0162203B1 (en) | Adaptive encoding method and device using quantization step size | |
JPH09200758A (en) | Image encoder | |
KR0152013B1 (en) | Moving estimation device considering variable length coding | |
JPH0984025A (en) | Digital image signal coder and its method and coding image signal decoder and its method | |
US5508745A (en) | Apparatus for controlling a quantization level to be modified by a motion vector | |
KR0166728B1 (en) | The image signal encoding apparatus for edge characteristics and the quantization level decision method | |
JPH11275577A (en) | Video signal coding method and system | |
KR0157465B1 (en) | Quantization level decision method and device according to image characteristic |
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: 20070830 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |