KR100672959B1 - Apparatus and method for fast encoding for video - Google Patents

Apparatus and method for fast encoding for video Download PDF

Info

Publication number
KR100672959B1
KR100672959B1 KR1020050070679A KR20050070679A KR100672959B1 KR 100672959 B1 KR100672959 B1 KR 100672959B1 KR 1020050070679 A KR1020050070679 A KR 1020050070679A KR 20050070679 A KR20050070679 A KR 20050070679A KR 100672959 B1 KR100672959 B1 KR 100672959B1
Authority
KR
South Korea
Prior art keywords
motion vector
compression
sum
predetermined
calculating
Prior art date
Application number
KR1020050070679A
Other languages
Korean (ko)
Inventor
한종기
곽상민
Original Assignee
세종대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 세종대학교산학협력단 filed Critical 세종대학교산학협력단
Priority to KR1020050070679A priority Critical patent/KR100672959B1/en
Application granted granted Critical
Publication of KR100672959B1 publication Critical patent/KR100672959B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A fast video encoding apparatus and a method thereof are provided to omit a process of calculating an unnecessary motion vector by determining a compression mode before a motion vector is calculated to reduce the quantity of calculations and time required for calculations. A fast video encoding apparatus includes a sum calculator(300), a controller(310), a motion vector calculator(320), and an output unit(330). The sum calculator calculates a first sum value corresponding to the sum of pixel values of a predetermined to-be-compressed object unit region of object video information to be compressed and a second sum value corresponding to the sum of pixel values of a predetermined compression reference unit region of reference video information. The controller outputs a motion vector calculation signal when the difference between the first sum value and the second sum value is greater than a predetermined threshold value. The motion vector calculator calculates a motion vector with respect to the to-be-compressed object unit region when receiving the motion vector calculation signal from the controller. The output unit outputs the motion vector received from the motion vector calculator.

Description

고속 비디오 엔코딩 장치 및 방법{Apparatus and method for fast encoding for video}Apparatus and method for fast encoding for video}

도 1은 종래에 이용되는 일반적인 움직임 탐색 기법을 통한 움직임벡터를 구하는 방법을 개략적으로 도시한 도면.1 is a diagram schematically illustrating a method of obtaining a motion vector through a conventional motion search technique used in the related art.

도 2는 종래기술에서 이용되는 매크로블록의 움직임 탐색기법을 통하여 영상정보를 압축하는 과정을 도시한 흐름도.2 is a flowchart illustrating a process of compressing image information through a motion search method of a macroblock used in the related art.

도 3은 본 발명에 따른 고속 비디오 엔코딩 장치의 바람직한 일 실시예에 관한 구성을 도시한 블럭도. 3 is a block diagram showing a configuration of a preferred embodiment of a high speed video encoding apparatus according to the present invention;

도 4는 본 발명에 따른 고속 비디오 엔코딩 방법에 의하여 영상정보를 압축하는 과정을 도시한 흐름도.4 is a flowchart illustrating a process of compressing image information by a high speed video encoding method according to the present invention.

도 5는 종래기술의 압축방법과 본원발명에 의한 압축방법에 의한 프레임수에 대한 연산처리시간을 비교한 실험결과를 나타낸 도면.5 is a view showing an experimental result comparing the operation processing time for the number of frames by the compression method of the prior art and the compression method according to the present invention.

도 6은 종래기술의 압축방법과 본원발명에 의한 압축방법을 프레임의 수에 대한 원영상과의 잡음신호비율을 대비하여 도시한 도면이다.6 is a diagram illustrating a conventional compression method and a compression method according to the present invention in contrast to a noise signal ratio with respect to the number of frames of an original image.

본 발명은 디지털 비디오 레코더에서의 엔코딩 장치 및 방법에 관한 것으로, 보다 상세하게는 압축대상단위영역인 매크로블록에 대한 모드를 먼저 결정한 후 움직임벡터를 탐색함으로써 불필요한 탐색을 줄이고 연산량에 대한 복잡도를 줄일 수 있는 고속 비디오 엔코딩 장치 및 방법에 관한 것이다.The present invention relates to an encoding apparatus and method in a digital video recorder. More particularly, by first determining a mode for a macroblock, which is a compression target unit area, and then searching for a motion vector, it is possible to reduce unnecessary search and reduce complexity of computation. A high speed video encoding apparatus and method.

비디오 레코더의 일 예로서 DVR(Digital Video Recoder) 시스템은 감시 카메라로 입력된 여러 채널의 아날로그 영상신호를 디지털로 변환하여 영상 압축기술을 이용해 저장, 재생, 검색하며 사용자가 필요 시 네트워크를 이용하여 필요한 영상을 원격으로 감시 및 제어할 수 있는 시스템이다. As an example of a video recorder, a DVR (Digital Video Recorder) system converts analog video signals of multiple channels input to a surveillance camera into digital, and stores, plays back and retrieves them using video compression technology. It is a system that can monitor and control video remotely.

DVR 시스템은 영상 신호를 저장 장치에 반 영구적으로 저장할 수 있고 저장 장치의 관리가 용이하며 사용자가 실시간으로 스트리밍 서비스를 받을 수 있어 빠른 속도로 기존에 사용되어 왔던 AVR(Analog Video Recoder)를 대체하고 있다. The DVR system can replace the AVR (Analog Video Recorder), which has been used at a high speed, because it can store video signals semi-permanently in a storage device, can easily manage the storage device, and can receive streaming services in real time. .

비디오 카메라를 통해 획득된 각 채널의 영상은 영상 압축기술을 이용하여 부호화되고 저장 장치에 기록되거나 채널을 통해 사용자에게 전달된다. Images of each channel obtained through the video camera are encoded using image compression technology and recorded in a storage device or transmitted to the user through the channel.

이러한 시스템에서는 아날로그 영상신호를 디지털로 변환하여 영상 압축기술을 이용하고 있는데 이러한 압축기술에 대한 비디오 압축표준(MPEG, H.26x)은 시간적 중복성, 공간적 중복성, 통계적 중복성의 제거 기법을 통하여 높은 압축률을 얻는 방법을 채용하고 있다. In such a system, analog video signals are converted to digital signals and video compression techniques are used. The video compression standards (MPEG, H.26x) for these compression techniques use high compression ratios by eliminating temporal redundancy, spatial redundancy, and statistical redundancy. We adopt method to get.

공간적, 통계적 중복성을 이용한 압축방법은 한 장의 영상을 매크로 블록단위로 나누어 DCT(Discrete Consine Transform), 양자화, 가변길이 부호화를 통하여 압축하는 방식이다. 일반적으로 시간적 중복성을 제거하는 방식보다 압축효율은 떨 어지지만 복호과정을 거친 후에도 좋은 화질을 유지할 수 있다는 장점이 있다. A compression method using spatial and statistical redundancy is a method of dividing a single image into macroblock units and compressing them through DCT (Discrete Consine Transform), quantization, and variable length coding. In general, the compression efficiency is lower than the method of eliminating temporal redundancy, but it has the advantage of maintaining good image quality even after the decoding process.

이에 반해 시간적 중복성은 연속되는 비디오 시퀀스에서 가장 많은 데이터 중복성을 가진다. 이것을 제거하는 방식은 주로 움직임 탐색(Motion Vector Estimation)을 통해 이루어진다. In contrast, temporal redundancy has the most data redundancy in successive video sequences. The way to remove this is mainly through motion vector estimation.

이러한 움직임 탐색 모듈은 부호화기 전체 복잡도의 67%이상을 차지하고 있기 때문에, 부호화기의 복잡도를 개선하기 위해서는 움직임 탐색 모듈의 최적화가 필수적이며, 특히 DVR과 같은 다채널 부호화일 경우에는 복잡도가 상당히 증가하여, CPU 점유율이 늘어나 시스템 안정성에 문제가 발생한다.Since the motion search module occupies 67% or more of the total complexity of the encoder, the optimization of the motion search module is essential to improve the complexity of the encoder. Especially, in the case of multi-channel coding such as a DVR, the complexity increases considerably. Increased occupancy causes problems with system stability.

이하에서 종래에 이용되는 일반적인 움직임 탐색 기법에 대하여 설명한다.Hereinafter, a general motion search technique conventionally used will be described.

도 1은 종래에 이용되는 일반적인 움직임 탐색 기법을 통한 움직임벡터를 구하는 방법을 개략적으로 도시한 도면이다.FIG. 1 is a diagram schematically illustrating a method of obtaining a motion vector through a conventional motion search technique used in the related art.

도 1를 살펴보면, 시간적 중복성을 제거하여 영상정보를 압축하는 방법에 이용되는 움직임 벡터의 산출에 대한 기본적인 개념은 동영상에 대한 초당 30프레임정도의 정지영상에 대하여 프레임마다 영상을 전송하지 않고, 한 프레임의 정지영상과 그 이전 프레임 등의 기준되는 정지영상과 현 정지영상과의 영상정보의 차이를 데이터화하여 전송하고 이를 다시 디코딩하는 과정에서 보상하여 복원하는 방식을 이용하고 있다.Referring to FIG. 1, the basic concept of calculating a motion vector used in a method of compressing image information by removing temporal redundancy is that one frame does not transmit an image per frame for a still image of about 30 frames per second. The difference between the still image of the still image and the previous still image and the image information between the current still image and the data is transmitted, and the method of compensating and restoring in the process of decoding again.

이러한 현 정지영상과 이전 프레임의 정지영상과의 차이를 나타내는 움직임벡터를 산출하기 위하여 현 정지영상 중에서 압축의 기준단위가 되는 영역인 대상매크로블록영역을 설정하고, 매크로블록과 가장 유사한 블록을 기준되는 이전영상 의 소정범위의 탐색영역에서 대상매크로블록의 크기와 동일한 블록단위로 탐색한다. In order to calculate a motion vector representing the difference between the current still image and the still image of the previous frame, a target macroblock region, which is a region of compression, is set among the current still images, and the block most similar to the macroblock is referred to. The search is performed in units of blocks equal to the size of the target macroblock in the search region of the previous image.

기준영상에서 대상매크로블록에 대응하는 매크로블록으로서 대상매크로블록과 매칭하여 비교되는 매크로블록을 기준매크로블록이라고 정의한다.As a macroblock corresponding to the target macroblock in the reference image, a macroblock matched with the target macroblock and compared is defined as a reference macroblock.

탐색영역내의 가장 유사한 기준매크로블록을 찾게 되면, 현재의 대상매크로블록과 탐색영역내의 기준매크로로블록간의 이동좌표를 데이터화하여 압축하게 된다.When the most similar reference macroblock in the search area is found, the moving coordinates between the blocks are converted into data by compressing the current target macroblock and the reference macro in the search area.

이러한 기준영상의 탐색영역에 대한 탐색은 매크로 블록단위로 나뉘어 수행되는데 현재 프레임의 부호화할 매크로블록을 기준영상에 대한 블록정합(Block Matching)방법, 즉, 대상매크로블록과 가장 유사한 기준매크로블록을 찾는 방법을 이용하여 찾는다. The search for the search region of the reference image is divided into macroblock units, and a block matching method for the reference image, that is, the macroblock of the current frame to be encoded, that is, the reference macroblock most similar to the target macroblock is found. Use the method to find it.

블록정합에 이용되는 최적의 움직임 벡터, 즉 가장 유사한 기준매크로블록을 찾기 위한 가장 일반적인 함수인 SAD(Sum of Absoluted Difference)함수에 대한 식은 다음 [수학식1]과 같다.The equation for the SAD (Sum of Absoluted Difference) function, which is the most common function for finding the optimal motion vector used for block matching, that is, the most similar reference macroblock, is shown in Equation 1 below.

Figure 112005042710700-pat00001
Figure 112005042710700-pat00001

상기의 식에서 M,N은 매크로 블록의 가로, 세로를 의미하며, C(i,j)는 현재 압축대상 매크로블록의 i,j좌표에 대한 화소값을 의미하며, R(i+m,j+n)은 기준영상의 탐색영역 중에서 압축대상 매크로블록에 대응하는 기준매크로블록의 i+m,j+n좌 표에 대한 화소값을 의미하며, m,n은 탐색영역에 대한 좌표값들로서 후보 움직임 벡터가 된다. 이러한 m,n중에서 상기의 SAD(m,n)함수가 가장 작은 값을 가지도록 하는 m,n값이 최적의 움직임 벡터가 된다. 이를 정리하면 다음의 [수학식2]와 같다.In the above formula, M and N are the width and length of the macro block, and C (i, j) is the pixel value of the i, j coordinate of the current macroblock to be compressed, and R (i + m, j + n) denotes pixel values of the i + m, j + n coordinates of the reference macroblock corresponding to the macroblock to be compressed in the search region of the reference image, and m, n represent candidate motions as coordinate values of the search region. It becomes a vector. Among the m and n, the m and n values such that the SAD (m, n) function has the smallest value become the optimal motion vector. This is summarized in the following [Equation 2].

Figure 112005042710700-pat00002
Figure 112005042710700-pat00002

상기의 식에서 S는 탐색영역을 나타내고 일반적으로 전역탐색(Full search)의 경우 중심으로부터 ± 16 크기를 나타낸다. 결과적으로 상기의 수학식2에 의해 가장 작은 SAD((m,n)를 가지도록 하는 (m,n)의 값인 (Ix,Iy)가 움직임벡터가 된다. In the above formula, S denotes a search area, and in general, ± 16 magnitudes from the center in the case of full search. As a result, (Ix, Iy), which is the value of (m, n) to have the smallest SAD ((m, n), becomes a motion vector by the above equation (2).

상기의 수학식1과 수학식2를 통하여 움직임벡터를 구한 후, 이를 이용한 영상을 압축하는 종래의 방법에 관한 흐름도는 도 2와 같다.A flowchart of a conventional method of compressing an image using the motion vector after obtaining the motion vector through Equations 1 and 2 is shown in FIG. 2.

도 2는 종래기술에서 이용되는 매크로블록의 움직임 탐색기법을 통하여 영상정보를 압축하는 과정을 도시한 흐름도이다.2 is a flowchart illustrating a process of compressing image information through a motion search method of a macroblock used in the related art.

도 2를 참조하면, 영상정보를 압축함에 있어 선결적으로 도 1에서 기술되고 있는 방법에 의하여 움직임벡터를 산출한다(S200). Referring to FIG. 2, a motion vector is calculated in advance by compressing the image information by the method described in FIG. 1 (S200).

산출된 움직임벡터가 소정의 기준값보다 작다고 판단된 경우(S210), 즉 기준매크로블록과 대상매크로블록간의 차이가 거의 없다고 판단된 경우에는 움직임벡터에 의한 압축방식을 스킵하게 된다(S220). When it is determined that the calculated motion vector is smaller than the predetermined reference value (S210), that is, when it is determined that there is almost no difference between the reference macroblock and the target macroblock, the compression method by the motion vector is skipped (S220).

스킵된 대상매크로블록은 기준매크로블록과 동일하다는 정보만을 이용하여 압축하게 되므로 훨씬 적은 데이터양으로 압축할 수 있게 된다.Since the skipped target macroblock is compressed using only information that is the same as the reference macroblock, the skipped macroblock can be compressed with a much smaller amount of data.

기준매크로블록과 대상매크로블록간의 차이가 기준값보다 크다고 판단된 경우에는 원영상의 매크로블록과 원영상의 매크로블록과 움직임 보상된 매크로블록의 차이인 차매크로블록을 이용하여, 어느 쪽이 더 효율적으로 데이터를 압축할 수 있는지 판단하게 된다(S230). If it is determined that the difference between the reference macroblock and the target macroblock is larger than the reference value, whichever is more efficiently, the difference between the macroblock of the original image and the macroblock of the original image and the motion compensated macroblock is used. It is determined whether the data can be compressed (S230).

S230단계 이하 S240단계 및 S250단계에 대하여서는 당업자라면 널리 이해하고 있는 주지의 기술이며, 본 발명에서 보호받고자 하는 기술사상이 아니므로 구체적인 설명은 생략한다.S230 and below S240 and S250 are well-known techniques well known to those skilled in the art, and detailed descriptions thereof are omitted because they are not intended to be protected by the present invention.

종래기술에서는 우선적으로 움직임벡터의 산출을 먼저 실행하고, 이에 따라 스킵여부를 결정하게 되므로 움직임벡터의 산출에 대한 많은 연산량이 요구되며 움직임벡터를 산출함에 있어서도 탐색영역의 전역의 연산을 이용하여 산출하므로 상당히 높은 복잡도가 요구된다. In the prior art, the calculation of the motion vector is performed first and the skip is determined accordingly. Therefore, a large amount of computation is required for the calculation of the motion vector. Quite high complexity is required.

더욱이 DVR과 같이 다채널에 대한 신호를 입력받은 장치와 방법에 있어서는 연산시간과 과부하가 특히 중요하므로 이러한 종래의 방식을 그대로 이용하게 되는 경우 많은 문제점을 가지게 된다.In addition, since the operation time and overload are particularly important in a device and a method for receiving signals for multiple channels such as a DVR, there are many problems when the conventional method is used as it is.

본 발명이 이루고자 하는 기술적 과제는, 상기에서 기술된 바와 같이 종래기술이 가지고 있는 문제점을 해결하기 위하여 움직임벡터를 이용한 스킵여부의 결정을 지양하고 움직임이 크지 않다는 영상의 특성을 이용하여 압축대상이 되는 대상매크로블록의 화소값의 합과 기준매크로블록의 화소값의 합의 절대치를 비교함으로 써 스킵여부를 결정하여 연산량을 축소시킬 수 있으며, 움직임벡터를 산출함에 있어서도 종래와 같이 전역에 대한 연산을 지양하고 부분연산을 통해 연산량을 줄일 수 있는 장치와 방법을 제공하는 데 있다.The technical problem to be achieved by the present invention is to avoid the determination of skipping using a motion vector to solve the problems of the prior art as described above, and to become a compression target by using the characteristics of the image that the motion is not large. By comparing the absolute value of the sum of the pixel values of the target macroblock and the sum of the pixel values of the reference macroblock, it is possible to determine whether to skip or reduce the amount of calculation. It is to provide an apparatus and method that can reduce the amount of computation through partial operation.

본 발명이 이루고자 하는 다른 기술적 과제는, 압축대상이 되는 대상매크로블록의 화소값의 합과 기준매크로블록의 화소값의 합의 절대치를 비교함으로써 스 h여부를 결정하여 연산량을 대폭 축소시킬 수 있으며, 움직임벡터를 산출함에 있어서도 종래와 같이 전역에 대한 연산을 지양하고 부분연산을 통해 연산량을 줄일 수 있는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.Another object of the present invention is to compare the absolute value of the sum of the pixel values of the target macroblock to be compressed and the sum of the pixel values of the reference macroblock to determine whether or not to reduce the amount of computation and to significantly reduce the amount of motion. In computing a vector, a computer-readable recording medium having stored thereon a program for executing a method in a computer can be used to avoid computing a whole area and to reduce the amount of computation through partial operations.

상기의 기술적 과제를 달성하기 위한 본 발명에 따른 용 고속 비디오 엔코딩 장치는, 압축의 대상이 되는 대상영상정보의 소정의 압축대상단위영역의 화소값들의 합인 제1합산값과 상기 압축대상단위영역에 대응하는 상기 대상영상정보에 대한 압축의 기준이 되는 기준영상정보의 소정영역인 압축기준단위영역의 화소값들의 합인 제2합산값을 산출하는 합산값산출부; 상기 합산값산출부로부터 입력받은 제1합산값과 제2합산값의 차가 소정의 임계값보다 큰 경우에 움직임벡터산출신호를 출력하는 제어부; 상기 제어부로부터 움직임벡터산출신호가 입력되는 경우에 소정의 방법에 의하여 상기 압축대상단위영역에 대한 움직임 벡터를 산출하는 움직임벡터산출부; 및 상기 움직임벡터산출부로부터 입력받은 움직임벡터를 출력하는 출력부;를 포함한다.According to an aspect of the present invention, there is provided a high speed video encoding apparatus according to an embodiment of the present invention, comprising: a first sum value, which is a sum of pixel values of a predetermined compression target unit region, of a target image information to be compressed; A sum value calculation unit configured to calculate a second sum value that is a sum of pixel values of a compression reference unit area, which is a predetermined area of reference image information, which is a reference of compression of the corresponding target image information; A control unit which outputs a motion vector calculation signal when the difference between the first sum value and the second sum value input from the sum value calculation unit is greater than a predetermined threshold value; A motion vector calculation unit for calculating a motion vector for the compression target unit region by a predetermined method when a motion vector calculation signal is input from the controller; And an output unit for outputting a motion vector received from the motion vector calculation unit.

상기의 다른 기술적 과제를 달성하기 위한 본 발명에 따른 용 고속 비디오 엔코딩 방법은, 압축대상이 되는 대상영상정보 중에서 소정의 압축대상단위영역의 화소값과 상기 압축대상단위영역에 대응하는 상기 대상영상정보에 대한 압축의 기준이 되는 기준영상정보의 소정영역인 압축기준단위영역의 화소값의 차이를 이용한 소정의 방법에 의하여 움직임벡터를 산출할 것인지의 여부를 결정하는 움직임벡터산출결정단계; 상기 움직임벡터산출결정단계에서 움직임벡터를 산출할 것으로 결정된 경우에 소정의 방법에 의하여 상기 압축대상단위영역에 대한 움직임 벡터를 산출하는 움직임벡터산출단계;를 포함한다.According to another aspect of the present invention, there is provided a fast video encoding method according to an embodiment of the present invention, wherein a pixel value of a predetermined compression target unit region among the target image information to be compressed and the target image information corresponding to the compression target unit region are provided. A motion vector calculation determining step of determining whether or not to calculate a motion vector by a predetermined method using a difference of pixel values of a compression reference unit area, which is a predetermined area of reference image information, which is a reference of compression for the? And a motion vector calculation step of calculating a motion vector for the compression target unit region by a predetermined method when it is determined that the motion vector is calculated in the motion vector calculation determination step.

이에 의해, 움직임벡터를 산출하기 전에 압축기준단위영역의 화소값을 이용하여 블록모드를 먼저 결정함으로써 스킵된 매크로블록에 대한 움직임 탐색을 생략할 수 있도록 하여 연산시간을 단축하고, 움직임 탐색과 이를 통한 움직임벡터를 산출함에 있어서 전역탐색영역의 연산을 지양하고 일부분만의 연산을 통하더라도 화질의 영향을 최소화하고 연산시간을 단축시킬 수 있는 고속 비디오 엔코딩의 구현이 가능하다.Thus, before calculating the motion vector, the block mode is first determined by using the pixel value of the compression reference unit region so that the motion search for the skipped macroblock can be omitted, thereby reducing the computation time and the motion search. In calculating the motion vector, it is possible to implement a high speed video encoding that avoids the operation of the global search area and minimizes the effect of the image quality and reduces the computation time even through only a partial calculation.

이하에서 첨부된 도면들을 참조하여 본 발명에 따른 고속 비디오 엔코딩 장치 및 방법의 바람직한 실시예에 대해 상세하게 설명한다.Hereinafter, exemplary embodiments of a fast video encoding apparatus and method according to the present invention will be described in detail with reference to the accompanying drawings.

도 3은 본 발명에 따른 고속 비디오 엔코딩 장치의 바람직한 일 실시예에 관한 구성을 도시한 블럭도이다. 3 is a block diagram showing a configuration of a preferred embodiment of a high speed video encoding apparatus according to the present invention.

도 3을 참조하면, 본 발명에 따른 고속 비디오 엔코딩 장치는, 합산값산출부(300), 제어부(310), 움직임벡터산출부(320) 및 출력부(330)를 구비한다.Referring to FIG. 3, the high speed video encoding apparatus according to the present invention includes a sum value calculating unit 300, a control unit 310, a motion vector calculating unit 320, and an output unit 330.

합산값산출부(300)는 압축의 대상이 되는 대상영상정보의 소정의 압축대상단위영역의 화소값들의 합인 제1합산값과 상기 압축대상단위영역에 대응하는 상기 대상영상정보에 대한 압축의 기준이 되는 기준영상정보의 소정영역인 압축기준단위영역의 화소값들의 합인 제2합산값을 산출한다.The sum value calculation unit 300 is a reference value for compression of the target image information corresponding to the first sum value and the compression target unit region, which is the sum of the pixel values of the predetermined compression target unit region of the target image information to be compressed. A second sum value, which is the sum of pixel values of the compression reference unit area, which is a predetermined area of the reference image information, is calculated.

합산값산출부(300)는 압축의 대상이 되는 대상영상정보의 소정의 압축대상단위영역인 매크로블록단위로 연산처리한다. The sum value calculating unit 300 performs arithmetic processing in units of macroblocks, which are predetermined compression target unit areas, of the target image information to be compressed.

매크로블록은 압축대상이 되는 영상에서 소정의 영역을 분할하여 정하여지는 단위로서 영상정보를 압축함에 있어 연산의 기준이 되는 단위영역을 의미하며 통상적으로 매크로블록은 256(16×16)개의 픽셀로 이루어진다. A macroblock is a unit that is determined by dividing a predetermined area in an image to be compressed, and means a unit area that is a standard of operation in compressing image information. In general, a macroblock includes 256 (16 × 16) pixels. .

합산값산출부(300)는 압축의 대상이 되는 대상영상정보를 분할하여 이루어진 대상매크로블록을 이루고 있는 각각의 화소들의 화소값들을 합산한다. 각각의 화소가 가지는 화소값은 주로8bit로 이루어진다. 통상적인 매크로블록 크기인 16×16을 이루고 있는 256개의 화소들의 모든 화소값들의 합인 제1합산값을 산출한다.The sum value calculator 300 sums pixel values of respective pixels forming a target macroblock formed by dividing the target image information to be compressed. The pixel value of each pixel is mainly composed of 8 bits. A first summation value, which is the sum of all pixel values of 256 pixels forming a normal macroblock size of 16 × 16, is calculated.

또한, 이에 대응하는 기준영상정보에서 대상매크로블록에 대응하는 기준매크로블록의 화소값을 제1합산값에서 산출한 방식에 의해 제2합산값을 산출한다.The second sum value is calculated by calculating the pixel value of the reference macro block corresponding to the target macro block from the first sum value in the corresponding reference image information.

표 1를 통하여 제1합산값과 제2합산값을 산출하는 방법에 관하여 구체적으로 설명한다.Table 1 will be described in detail with respect to the method for calculating the first and second total value.

기준영상Reference image MBr0 MB r0 MBr1 MB r1 MBr2 MB r2 MBr3 MB r3 MBr4 MB r4 MBr5 MB r5 MBr6 MB r6 MBr7 MB r7 MBr8 MB r8 MBr9 MB r9

현재 영상Current video

MBc0 MB c0 MBc1 MB c1 MBc2 MB c2 MBc3 MB c3 MBc4 MB c4 MBc5 MB c5 MBc6 MB c6 MBc7 MB c7 MBc8 MB c8 MBc9 MB c9

상기 표 1에서 MBr0(MacroBlock reference0)는 기준되는 영상의 0번째 매크로블록을 의미하며, MBc0(MacroBlock current 0)는 현재 압축대상이 되는 영상의 0번째 매크로블록을 의미하며, 통상적으로 각각 16×16개의 화소들로 이루어져 있다.In Table 1, MB r0 (MacroBlock reference0) means the 0th macroblock of the reference image, and MB c0 (MacroBlock current 0) means the 0th macroblock of the image currently being compressed. It consists of 16 pixels.

상기 표 1에서 나타낸 바와 같이 기준영상의 각각의 매크로 블록과 현재영상의 각각의 매크로블록를 이루고 있는 통상적인 256개의 화소의 합산값들을 산출한다. 현재영상의 매크로블록의 산출된 합산값인 제1합산값과 기준영상의 매크로블록의 산출된 합산값인 제2합산값의 차를 산출한다. As shown in Table 1, the sum values of the conventional 256 pixels constituting each macroblock of the reference image and each macroblock of the current image are calculated. The difference between the first sum value, which is the calculated sum of the macroblocks of the current image, and the second sum value, the calculated sum of the macroblocks of the reference video, is calculated.

제어부(310)는 상기 합산갑산출부(300)으로부터 입력받은 제1합산값과 제2합산값의 차가 소정의 임계값보다 큰 경우에 한해 움직임벡터를 산출하도록 제어하기 위하여 움직임벡터산출신호를 출력한다. The controller 310 outputs a motion vector calculation signal to control to calculate a motion vector only when the difference between the first sum value and the second sum value input from the sum sum calculation unit 300 is greater than a predetermined threshold value. do.

임계값은 실험을 통하여 경험적으로 획득하는 값이며, 본원발명의 사상이 구현되는 장치가 설치되는 장소, 영상정보의 내용, 중앙처리장치의 처리능력, 영상입력채널 수 등을 변수로 하여 결정하는 값이 된다. 본 발명의 상세한 설명에서의 실험결과는 임계값을 5로 정하여 실험하였다. 즉, 대상매크로블록를 구성하는 화소들의 화소값의 합이 기준매크로블록를 구성하는 화소들의 화소값의 합보다 5보다 작거나 -5보다 큰 경우에 압축대상이 되는 대상매크로블록은 기준매크로블록과 일치한다고 판단한다.The threshold is a value obtained empirically through experiments, and the value is determined based on the place where the device to which the idea of the present invention is implemented, the content of image information, the processing power of the central processing unit, the number of image input channels, etc. as variables. Becomes Experimental results in the detailed description of the present invention was tested by setting the threshold value to 5. That is, when the sum of pixel values of the pixels constituting the target macroblock is less than 5 or greater than -5 than the sum of the pixel values of the pixels constituting the reference macroblock, the target macroblock to be compressed is coincident with the reference macroblock. To judge.

종래의 기술에서는 움직임벡터를 우선적으로 산출하고, 이를 이용하여 스킵여부를 결정하므로 선행적으로 움직임벡터의 산출을 필요로 하나, 본원발명에 의하는 경우 연산량이 많은 움직임벡터를 산출하기에 앞서 상기의 방법에 의하여 움직임벡터의 산출여부를 결정하게 되므로 많은 연산량을 줄일 수 있게 된다.In the prior art, the motion vector is calculated first, and the skip vector is used to determine whether to skip the motion vector. However, the present invention requires the calculation of the motion vector in advance. By calculating the motion vector by the method, a large amount of computation can be reduced.

즉, 본원발명에서 채용하고 있는 방법은 종래기술과는 달리 대상매크로블록과 기준매크로블록을 이루고 있는 화소들의 화소값들의 합의 차가 소정의 임계값보다 적은 경우를 현재 대상매크로블록과 기준매크로블록은 거의 일치한다고 판단할 수 있는 기준으로 삼게 된다. That is, the method employed in the present invention, unlike the prior art, the difference between the sum of the pixel values of the pixels constituting the target macroblock and the reference macroblock is less than the predetermined threshold value is almost the current target macroblock and the reference macroblock. It will be used as a standard that can be judged to match.

이는 DVR용 영상정보의 경우 대체로 움직임의 변화가 크지 않고 영상화질의 섬세함이 보장되어야 하는 필요성이 다소 낮으므로 본원발명과 같은 방법에 의하여 스킵여부를 결정하여도 영상화질의 선명도를 떨어뜨리지 않고도 훨씬 낮은 연산량으로 압축할 수 있게 된다.In the case of video information for DVR, the change of motion is not large and the necessity of guaranteeing the fineness of image quality is rather low. Compression can be compressed.

상기 제1합산값과 상기 제2합산값의 차이가 소정의 임계값보다 작은 경우는 대상매크로블록은 기준매크로블록과 일치한다고 판단하고 스킵모드로 압축하게 된다. 이러한 경우 스킵모드의 압축은 현 대상매크로블록은 기준매크로블록과 일치한다는 정보를 나타내는 정보만으로 압축하게 된다. 이러한 정보는 1bit의 정보만으로 충분하므로 256개의 화소로 이루어진 대상매크로블록을 1bit만의 정보로 압축하게 된다.If the difference between the first sum value and the second sum value is smaller than a predetermined threshold value, it is determined that the target macroblock matches the reference macroblock and is compressed in the skip mode. In this case, the compression of the skip mode is compressed to only information indicating that the current target macroblock matches the reference macroblock. Since only 1 bit of information is sufficient, this information compresses the target macroblock consisting of 256 pixels into only 1 bit of information.

상기와 같은 방식에 의하여 MBr0과 MBc0를 비교한 뒤, MBr1과 MBc1을 이루고 있는 각각의 화소들의 합을 구하여 상기와 같은 연산을 하며, 이러한 순으로 모든 압축대상매크로블록의 스킵여부를 판단한다. After comparing MB r0 and MB c0 by the above method, the sum of the pixels of MB r1 and MBc1 is calculated and the above operation is performed. In this order, it is determined whether all the compression target macroblocks are skipped. do.

제어부(310)에서는 상기와 같은 방법으로 대상영상의 모든 매크로블록의 움직임벡터를 구할 것인지 아니면 스킵모드로 압축할 것인지를 결정한다. The controller 310 determines whether to obtain motion vectors of all macroblocks of the target image or compress them in the skip mode in the same manner as described above.

상기의 제1합산값과 제2합산값의 차가 소정의 임계값보다 큰 경우에만 움직임벡터를 산출하도록 하고 있으므로 제어부(310)은 제1합산값과 제2합산값의 차가 소정의 임계값보다 큰 경우에 움직임벡터를 산출하도록 제어하기 위하여 움직임벡터산출신호를 출력한다.Since the motion vector is calculated only when the difference between the first sum value and the second sum value is larger than the predetermined threshold value, the controller 310 determines that the difference between the first sum value and the second sum value is greater than the predetermined threshold value. In this case, a motion vector calculation signal is output to control to calculate a motion vector.

움직임벡터산출부(320)는 상기 제어부(310)으로부터 움직임벡터산출신호가 입력되면, 소정의 방법에 의하여 상기 대상매크로블록에 대한 움직임벡터를 산출한다.When the motion vector calculation signal is input from the controller 310, the motion vector calculation unit 320 calculates a motion vector for the target macroblock by a predetermined method.

움직임벡터를 산출하는 일반적인 방법에 관하여서는 도 1과 도 2를 통하여 앞서 상세히 설명하였으므로 아래에서는 본원발명에 의한 움직임벡터를 산출하는 방법에 관하여서 설명한다.Since a general method for calculating a motion vector has been described in detail above with reference to FIGS. 1 and 2, a method for calculating a motion vector according to the present invention will be described below.

대상매크로블록에 대한 움직임벡터를 산출하는 방법은 우선적으로 기준영상중에서 대상매크로블록에 대응하는 기준매크로블록의 영역을 중심으로 소정의 범위내의 영역을 탐색영역으로 설정한다.A method of calculating a motion vector for a target macroblock first sets an area within a predetermined range as a search region around the region of the reference macroblock corresponding to the target macroblock in the reference image.

이러한 탐색영역내에서 대상매크로블록과 동일한 크기를 가지는 영역에 해당하는 기준매크로블록과 대상매크로블록간의 화소값들을 비교하여 가장 유사한 탐색영역내의 기준매크로블록을 확정하고 확정된 탐색영역내의 기준매크로블록과 대상매크로블록간의 서로간의 위치의 차이를 2차원의 좌표로 설정하며, 설정된 2차원의 좌표가 움직임벡터가 된다.By comparing pixel values between the reference macroblock corresponding to the area having the same size as the target macroblock and the target macroblock in the search area, the reference macroblock in the most similar search area is determined, and the reference macroblock in the determined search area The difference between the positions of the target macroblocks is set to two-dimensional coordinates, and the set two-dimensional coordinates become motion vectors.

통상적인 방법에서는 대상매크로블록과 탐색영역내의 모든 후보벡터가 될 수 있는 매크로블록간의 모든 화소값들을 비교하여 움직임벡터를 산출하나, 본원발명에서는 연산량를 감축시키기 위하여 대응되는 화소값 전부를 연산하지 않고, 소정의 간격을 가지는 열과 행의 화소값들만을 연산하는 방법을 채용한다.In a conventional method, a motion vector is calculated by comparing all pixel values between a target macroblock and a macroblock that may be all candidate vectors in a search region, but in the present invention, all the corresponding pixel values are not calculated to reduce the amount of computation. A method of calculating only pixel values of columns and rows having a predetermined interval is employed.

통상적으로 이용되는 16×16크기의 매크로블록을 예를 들어 설명한다.An example of a 16 × 16 macroblock commonly used will be described.

만약 소정의 간격을 홀수열과 홀수행으로 설정되었다면, 대상매크로블록과 탐색영역내의 대상매크로블록에 대응하는 기준매크로블록의 화소값을 비교함에 있어, 대상매크로블록과 기준매크로블록의 (1,1)의 화소값과 (1,3),(1,5),(1,7).....If the predetermined interval is set to odd columns and odd rows, in comparing pixel values of the target macroblock and the reference macroblock corresponding to the target macroblock in the search region, the (1,1) of the target macroblock and the reference macroblock are compared. With pixel values of (1,3), (1,5), (1,7) .....

(3,1),(3,3),(3,5),.......(5,1),(5,3),(5,5).....만을 연산하고 다음 기준매크로블록으로 옮겨서 다시 동일한 연산을 한다. (3,1), (3,3), (3,5), ....... (5,1), (5,3), (5,5) ..... The same operation is performed again by moving to the next reference macroblock.

이러한 연산을 통해서 대상매크로블록과 가장 근사한 대상매크로블록에 대응하는 기준매크로블록을 찾게 된다. 이를, 상기에서 예를 든 홀수열과 홀수행만으로의 연산을 수학식으로 표현하면 다음 수학식3과 같다.Through this operation, the reference macroblock corresponding to the target macroblock closest to the target macroblock is found. If the above-mentioned operations using only odd columns and odd rows are expressed by Equation 3, Equation 3 is given.

Figure 112005042710700-pat00003
Figure 112005042710700-pat00003

상기 수학식3은 수학식1를 통해 설명하였으므로 구체적인 설명은 생략한다.Since Equation 3 has been described through Equation 1, a detailed description thereof will be omitted.

이러한 본원발명에서 채용하고 있는 방법에 의하여 연산을 하는 경우, 움직임벡터를 산출함에 있어 그 연산량이 탐생영역의 전역을 연산하는 경우에 대비하여 훨씬 적게 된다.When the calculation is performed by the method employed in the present invention, the amount of calculation is much smaller in calculating the motion vector than in the case of calculating the entire area of the search area.

출력부(330)는 상기와 같이 움직임벡터산출부(320)에서 산출된 움직임벡터를 출력한다.The output unit 330 outputs the motion vector calculated by the motion vector calculation unit 320 as described above.

이하에서는 도 4를 통하여 본원발명에 의한 고속 비디오 엔코딩 방법에 관하여 상세하게 설명한다.Hereinafter, a high speed video encoding method according to the present invention will be described in detail with reference to FIG. 4.

도 4는 본 발명에 따른 고속 비디오 엔코딩 방법에 의하여 영상정보를 압축하는 과정을 도시한 흐름도이다.4 is a flowchart illustrating a process of compressing image information by a high speed video encoding method according to the present invention.

본 발명에 따른 고속 비디오 엔코딩 방법에 의하여 영상정보를 압축하기 위하여 우선적으로 합산값산출부(300)는 압축대상단위영역 대상매크로블록의 화소값의 합인 제1합산값을 산출한다(S400). In order to compress the image information by the fast video encoding method according to the present invention, the sum value calculating unit 300 first calculates a first sum value that is the sum of pixel values of the target macroblock in the compression target unit area (S400).

또한, 합산값산출부(300)는 대상매크로블록에 대응하는 기준영상에서의 압축기준단위영역인 기준매크로블록의 화소값의 합인 제2합산값을 산출한다(S410).In addition, the sum value calculation unit 300 calculates a second sum value that is the sum of pixel values of the reference macro block, which is the compression reference unit area in the reference image corresponding to the target macro block (S410).

이렇게 합산값산출부(300)가 산출한 제1합산값과 제2합산값을 제어부(310)가 입력받아 양 값의 차가 소정의 임계값보다 큰지 여부를 판단한다(S420).In this way, the controller 310 receives the first sum value and the second sum value calculated by the sum value calculating part 300 and determines whether the difference between the two values is greater than a predetermined threshold value (S420).

임계값은 실험을 통하여 경험적으로 획득하는 값이며, 본원발명의 사상이 구현되는 장치가 설치되는 장소, 영상정보의 내용, 중앙처리장치의 크기, 채널 수 등을 변수로 하여 결정하는 값이 된다. 본 발명의 상세한 설명에서의 실험결과는 임계값을 5로 정하여 실험하였다. The threshold is a value obtained empirically through experiments, and the value is determined by using a variable such as the place where the device for implementing the idea of the present invention is installed, the content of the image information, the size of the central processing unit, the number of channels, and the like. Experimental results in the detailed description of the present invention was tested by setting the threshold value to 5.

즉, 대상매크로블록를 구성하는 화소들의 화소값의 합이 기준매크로블록를 구성하는 화소들의 화소값의 합보다 5보다 작거나 -5보다 큰 경우에 압축대상이 되는 대상매크로블록은 기준매크로블록과 일치한다고 판단한다.That is, when the sum of pixel values of the pixels constituting the target macroblock is less than 5 or greater than -5 than the sum of the pixel values of the pixels constituting the reference macroblock, the target macroblock to be compressed is coincident with the reference macroblock. To judge.

제1합산값과 제2합산값의 차가 임계값보다 큰 경우에는 움직임벡터산출부(320)는 움직임벡터를 산출한다(S430). If the difference between the first sum and the second sum is greater than the threshold, the motion vector calculator 320 calculates a motion vector (S430).

또한 제1합산값과 제2합산값의 차가 임계값보다 작은 경우에는 제어부(310)는 움직임벡터를 산출하도록 하지 않고 기준매크로블록과 일치한다는 정보만으로 압축하는 스킵압축을 하게 된다(S440).In addition, when the difference between the first sum and the second sum is smaller than the threshold, the control unit 310 does not compress the motion vector, but compresses only the information that matches the reference macroblock (S440).

이하 도 5와 도 6 등을 통하여 본원발명의 기술사상과 종래기술과의 성능에 관한 비교실험에 대한 결과에 대해 설명한다.Hereinafter, the results of the comparative experiment on the performance of the technical concept of the present invention and the prior art will be described with reference to FIGS. 5 and 6.

우선적으로, 표 2에서 300프레임을 가지는 테스트영상을 부호화시 소비된 시간 등에 대하여 종래의 영상압축표준인 MPEG-4에 의한 방식과 본원발명에 의한 방식의 성능에 대한 실험결과를 나타내었다.First, Table 2 shows the experimental results of the performance of the method according to the conventional video compression standard MPEG-4 and the method according to the present invention with respect to the time spent coding the test image having 300 frames.

본 발명의 상세한 설명에서 본 발명을 설명하기 위한 실험에서는 QCIF(176×144)테스트 영상을 사용하였다.QCIF (176 × 144) test image was used in the experiment for explaining the present invention in the detailed description of the present invention.

소요된 시간consumed time 시간/프레임Time / frame 프레임수/시간Frames / hour 잡음비율Noise ratio MPEG-4MPEG-4 2273.40ms2273.40 ms 7.578ms7.578 ms 131.96131.96 41.83dB41.83 dB 본원발명Invention 1206.60ms1206.60 ms 4.022ms4.022ms 248.63248.63 40.95dB40.95 dB

상기 표 2에서 알 수 있듯이 본원발명에 의한 압축방식에 의하는 경우 종래의 방식과 비교할 때 300프레임을 연산하는데 소요된 시간은 반으로 줄었으며, 잡음비도 종래의 방식과 비교할 때, 0,88dB정보밖에 차이가 나이 않아 화질에서도 그 성능이 거의 동일함을 알 수 있다.As can be seen from Table 2, when the compression method according to the present invention reduces the time required to calculate 300 frames in half compared with the conventional method, the noise ratio is 0,88dB when compared with the conventional method. The difference is not so old that the performance is almost the same in image quality.

DVR용 비디오 영상의 특성인 움직임이 크지 않다는 점을 감안한다면 이러한 본원의 발명에 의한 영상압축방법을 이용하더라도 원영상과 화질를 비교하더라도 성능이 거의 떨어지지 않고도 연산량과 시간을 훨씬 줄일 수 있다.Considering the fact that the motion, which is a characteristic of the DVR video image, is not large, even if the video compression method according to the present invention is compared with the original image and the image quality, the amount of computation and time can be further reduced without almost degrading performance.

도 5는 종래기술의 압축방법과 본원발명에 의한 압축방법에 의한 프레임수에 대한 연산처리시간을 비교한 실험결과를 나타낸 도면이다.5 is a view showing an experimental result comparing the operation processing time for the number of frames by the conventional compression method and the compression method according to the present invention.

도 5를 참조하면 본원발명에 의한 방법에 의할 경우 프레임마다의 연산에 따른 처리시간의 분포가 큰 피크값을 가지지 않고 일정하게 유지되며 그 처리시간도 종래기술과 비교할 때 절반수준에도 미치지 않을만큼 연산시간이 단축됨을 알 수 있다. 이에 비해 종래기술에 의할 경우, 프레임에 따라 연산량이 갑자기 많아져 시스템의 불안요소가 발생할 수 있는 피크분포가 다량 발견되고, 연산시간도 본원발명에 비하여 두배정도의 시간을 보이고 있다.Referring to FIG. 5, in the method of the present invention, the distribution of the processing time according to the calculation for each frame is kept constant without having a large peak value, and the processing time is less than half as compared with the prior art. It can be seen that the computation time is reduced. On the contrary, according to the prior art, a large amount of calculations are suddenly increased according to a frame, and a large amount of peak distributions may be found, which may cause anxiety of the system.

본원발명에 의할 경우, 종래기술과 대비하여 화질에서는 어떠한 영향을 가지는지 실험한 결과를 도 6에서 도시하였다.According to the present invention, it is shown in Figure 6 the results of experiments what effect on the image quality compared to the prior art.

도 6은 종래기술의 압축방법과 본원발명에 의한 압축방법을 프레임의 수에 대한 원영상과의 잡음신호비율를 대비하여 도시한 도면이다.6 is a diagram illustrating a conventional compression method and a compression method according to the present invention in contrast to a noise signal ratio with respect to the number of frames of an original image.

도 6을 참조하면, 종래기술의 압축방법에 의한 잡음신호와 비교할 때, 피크분포를 가지는 프레임이 있으나, 대체적으로 종래기술의 압축방법에 의한 잡음신호와 거의 비슷한 분포를 가지고 있다. 이는 본원발명에 의한 방법에 의할 경우에 종래기술의 채용하고 있는 방법과 대비하여 화질에서도 거의 영향이 없음을 시사하고 있다. Referring to FIG. 6, a frame having a peak distribution is compared with a noise signal by a conventional compression method, but generally has a distribution almost similar to a noise signal by a conventional compression method. This suggests that the method according to the present invention has little effect on image quality as compared with the method adopted in the prior art.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CO-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. Computer-readable recording media include any type of recording device that stores data that can be read by a computer system. Examples of computer-readable recording media include ROM, RAM, CO-ROM, magnetic tape, and floppy. Disks, optical data storage, and the like, and also include those implemented in the form of carrier waves (eg, transmission over the Internet). The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.Although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific preferred embodiments described above, and the present invention belongs to the present invention without departing from the gist of the present invention as claimed in the claims. Various modifications can be made by those skilled in the art, and such changes are within the scope of the claims.

본원발명에 의한 고속 비디오 압축장치 및 방법에 의할 경우, 움직임벡터를 산출하기 전에 압축모드를 결정함으로써 불필요한 움직임벡터를 산출하는 연산과정을 생략할 수 있어 연산량과 연산시간을 줄일 수 있으며, 또한, 움직임벡터를 산출함에 있어서도 탐색영역의 전역산출을 지양하고 일부만을 연산함으로써 연산량을 줄일 수 있다. In the high speed video compression apparatus and method according to the present invention, the calculation process of calculating unnecessary motion vectors can be omitted by determining the compression mode before calculating the motion vectors, thereby reducing the amount of computation and the computation time. In calculating the motion vector, the computation amount can be reduced by avoiding global calculation of the search area and calculating only a part of the motion vector.

또한, 연산량과 연산시간을 대폭 단축시킴에도 불구하고 압축영상의 화질 또한 종래기술와 거의 동일한 수준을 유지할 수 있어, 중앙처리장치(CPU 등)의 점유율을 낮출 수 있으며 시스템을 안정적으로 운영할 수 있다.In addition, despite significantly reducing the amount of computation and computation time, the quality of the compressed image can also be maintained at almost the same level as in the prior art, so that the share of the central processing unit (CPU, etc.) can be lowered and the system can be stably operated.

Claims (6)

압축의 대상이 되는 대상영상정보의 소정의 압축대상단위영역의 화소값들의 합인 제1합산값과 상기 압축대상단위영역에 대응하는 상기 대상영상정보에 대한 압축의 기준이 되는 기준영상정보의 소정영역인 압축기준단위영역의 화소값들의 합인 제2합산값을 산출하는 합산값산출부;A predetermined area of reference image information that is a reference for compression of the first sum value that is the sum of pixel values of a predetermined compression target unit region of the target image information to be compressed and the target image information corresponding to the compression target unit region; A sum value calculation unit for calculating a second sum value that is a sum of pixel values of the compression reference unit region; 상기 합산값산출부로부터 입력받은 제1합산값과 제2합산값의 차가 소정의 임계값보다 큰 경우에 움직임벡터산출신호를 출력하는 제어부; A control unit which outputs a motion vector calculation signal when the difference between the first sum value and the second sum value input from the sum value calculation unit is greater than a predetermined threshold value; 상기 제어부로부터 움직임벡터산출신호가 입력되는 경우에 소정의 방법에 의하여 상기 압축대상단위영역에 대한 움직임 벡터를 산출하는 움직임벡터산출부; 및A motion vector calculation unit for calculating a motion vector for the compression target unit region by a predetermined method when a motion vector calculation signal is input from the controller; And 상기 움직임벡터산출부로부터 입력받은 움직임벡터를 출력하는 출력부;를 포함하는 것을 특징으로 하는 고속 비디오 엔코딩 장치.And an output unit for outputting a motion vector received from the motion vector calculating unit. 제 1항에 있어서,The method of claim 1, 움직임벡터산출부는,Motion vector calculation unit, 상기 기준영상정보에서 상기 압축대상단위영역에 대한 소정의 탐색영역 중 상기 압축대상단위영역에 대응하는 대응영역를 구성하는 화소값들과 상기 압축대상단위영역을 구성하는 화소값들 중 소정의 간격을 가지는 열과 행의 화소값들의 차를 연산하여 상기 소정의 탐색영역 중에서 연산된 차가 가장 작은 상기 대응영역에 대한 상기 압축대상단위영역의 좌표를 이용하여 움직임텍터를 산출하는 것을 특징 으로 하는 고속 비디오 엔코딩 장치.Pixel values constituting a corresponding area corresponding to the compression target unit area among the predetermined search areas for the compression target unit area in the reference image information have a predetermined interval among pixel values constituting the compression target unit area. And calculating a motion detector using coordinates of the compression target unit area with respect to the corresponding area having the smallest calculated difference among the predetermined search areas by calculating a difference between pixel values of a column and a row. 압축대상이 되는 대상영상정보 중에서 소정의 압축대상단위영역의 화소값과 상기 압축대상단위영역에 대응하는 상기 대상영상정보에 대한 압축의 기준이 되는 기준영상정보의 소정영역인 압축기준단위영역의 화소값의 차이를 이용한 소정의 방법에 의하여 움직임벡터를 산출할 것인지의 여부를 결정하는 움직임벡터산출결정단계; 및Pixel value of a predetermined compression target unit area among the target image information to be compressed and a pixel of the compression reference unit area which is a predetermined area of reference image information which is a reference of compression of the target image information corresponding to the compression target unit area. A motion vector calculation determining step of determining whether to calculate a motion vector by a predetermined method using a difference of values; And 상기 움직임벡터산출결정단계에서 움직임벡터를 산출할 것으로 결정된 경우에 소정의 방법에 의하여 상기 압축대상단위영역에 대한 움직임 벡터를 산출하는 움직임벡터산출단계;를 포함하는 것을 특징으로 하는 고속 비디오 엔코딩 방법.And a motion vector calculation step of calculating a motion vector for the compression target unit region by a predetermined method when it is determined that the motion vector is calculated in the motion vector calculation determination step. 제 3항에 있어서,The method of claim 3, 상기 움직임벡터산출결정단계의 상기 소정의 방법은,The predetermined method of the motion vector calculation determination step, 상기 압축대상단위영역의 각 화소값들의 합인 제1합산값을 산출하는 제1합산값산출단계;A first summation value calculating step of calculating a first summation value which is a sum of pixel values of the compression target unit region; 상기 압축기준단위영역의 각 화소값들의 합인 제2합산값을 산출하는 제2합산값산출단계; 및A second sum value calculation step of calculating a second sum value that is a sum of pixel values of the compression reference unit area; And 상기 제1합산값과 상기 제2합산값의 차가 소정의 임계값보다 큰 경우에 한해 움직임벡터를 산출하는 것으로 결정하는 임계값압축결정단계;를 포함하는 것을 특징으로 하는 고속 비디오 엔코딩 방법.And a threshold compression determining step of determining to calculate a motion vector only when the difference between the first sum value and the second sum value is larger than a predetermined threshold value. 제 3항에 있어서,The method of claim 3, 상기 움직임벡터산출단계는,The motion vector calculation step, 상기 기준영상정보에서 상기 압축대상단위영역에 대한 소정의 탐색영역 중 상기 압축대상단위영역에 대응하는 대응영역를 구성하는 화소들과 상기 압축대상단위영역을 구성하는 화소들 중 소정의 간격마다 위치한 열과 행의 화소값들의 차를 연산하여 상기 소정의 탐색영역 중에서 연산된 차가 가장 작은 상기 대응영역에 대한 상기 압축대상단위영역의 좌표를 이용하여 움직임벡터를 산출하는 것을 특징으로 하는 고속 비디오 엔코딩 방법.Columns and rows positioned at predetermined intervals among pixels constituting a corresponding region corresponding to the compression target unit region among the predetermined search areas for the compression target unit region in the reference image information; And calculating a motion vector using coordinates of the compression target unit region with respect to the corresponding region having the smallest calculated difference among the predetermined search regions by calculating a difference between pixel values of. 제 3항 내지 제 5항 중에 어느 한 항에 기재된 고속 비디오 엔코딩 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for executing the high speed video encoding method according to any one of claims 3 to 5.
KR1020050070679A 2005-08-02 2005-08-02 Apparatus and method for fast encoding for video KR100672959B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050070679A KR100672959B1 (en) 2005-08-02 2005-08-02 Apparatus and method for fast encoding for video

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050070679A KR100672959B1 (en) 2005-08-02 2005-08-02 Apparatus and method for fast encoding for video

Publications (1)

Publication Number Publication Date
KR100672959B1 true KR100672959B1 (en) 2007-01-24

Family

ID=38014526

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050070679A KR100672959B1 (en) 2005-08-02 2005-08-02 Apparatus and method for fast encoding for video

Country Status (1)

Country Link
KR (1) KR100672959B1 (en)

Similar Documents

Publication Publication Date Title
EP1797722B1 (en) Adaptive overlapped block matching for accurate motion compensation
US7856059B2 (en) Determining the number of unidirectional and bidirectional motion compensated frames to be encoded for a video sequence and detecting scene cuts in the video sequence
JP4001400B2 (en) Motion vector detection method and motion vector detection device
US6721359B1 (en) Method and apparatus for motion compensated video coding
US6414992B1 (en) Optimal encoding of motion compensated video
KR0168458B1 (en) Distorting deminishing method and apparatus
US6876703B2 (en) Method and apparatus for video coding
US5440344A (en) Video encoder using adjacent pixel difference for quantizer control
US5321440A (en) High efficiency data compressed image encoding
US7778459B2 (en) Image encoding/decoding method and apparatus
US8553768B2 (en) Image encoding/decoding method and apparatus
US7173971B2 (en) Trailing artifact avoidance system and method
US6011864A (en) Digital image coding system having self-adjusting selection criteria for selecting a transform function
US7995848B2 (en) Method and apparatus for encoding and decoding image data
US6687296B1 (en) Apparatus and method for transforming picture information
US6415055B1 (en) Moving image encoding method and apparatus, and moving image decoding method and apparatus
US20070223021A1 (en) Image encoding/decoding method and apparatus
US7065138B2 (en) Video signal quantizing apparatus and method thereof
KR20010071705A (en) Motion estimation for digital video
US10574989B2 (en) Temporal local activity for quantization parameter (QP) offset for video coding
US9432694B2 (en) Signal shaping techniques for video data that is susceptible to banding artifacts
US6907071B2 (en) Selective prediction for intra-coding video data block
US5689312A (en) Block matching motion estimation method
US6480629B1 (en) Motion estimation method using orthogonal-sum block matching
KR100672959B1 (en) Apparatus and method for fast encoding for video

Legal Events

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

Payment date: 20110415

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee