KR20090121667A - Sub-sampling system for real-time image processing - Google Patents
Sub-sampling system for real-time image processing Download PDFInfo
- Publication number
- KR20090121667A KR20090121667A KR1020080047681A KR20080047681A KR20090121667A KR 20090121667 A KR20090121667 A KR 20090121667A KR 1020080047681 A KR1020080047681 A KR 1020080047681A KR 20080047681 A KR20080047681 A KR 20080047681A KR 20090121667 A KR20090121667 A KR 20090121667A
- Authority
- KR
- South Korea
- Prior art keywords
- sub
- pixel
- subsampling
- register
- internal memory
- Prior art date
Links
Images
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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/04—Synchronising
- H04N5/06—Generation of synchronising signals
Abstract
Description
본 발명은 실시간 영상 처리를 위한 시스템 및 방법에 관한 것으로, 보다 구체적으로는 실시간 영상 처리를 위한 서브 샘플링 시스템 및 방법에 관한 것이다. The present invention relates to a system and method for real-time image processing, and more particularly to a sub-sampling system and method for real-time image processing.
최근까지 다수의 서브 샘플링 시스템 및 방법들이 제안되었다. 서브 샘플링은 특정한 크기(예를 들어, 640 * 480)의 픽셀들로 이루어진 원본 이미지를 그보다 작은 크기(예를 들어, 320 * 240)로 변환하는 영상 처리를 말한다. Until recently, a number of subsampling systems and methods have been proposed. Subsampling refers to image processing that converts an original image consisting of pixels of a certain size (eg 640 * 480) to a smaller size (eg 320 * 240).
서브 샘플링 기법은 실시간 영상 처리에서 활용 가치가 매우 높다. 실시간 영상 처리를 위해서는 영상 처리에 따른 연산 시간을 감소시켜야 하는데, 서브 샘플링을 수행하는 경우 영상 처리의 대상이 되는 이미지의 크기가 작아져서 연산 시간이 감소하기 때문이다. The subsampling technique is very useful in real time image processing. For real-time image processing, the computation time according to the image processing should be reduced because the computation time is reduced when the subsampling is performed, the size of the image that is the object of the image processing becomes smaller.
한편, 실시간 영상 처리를 위한 다수의 하드웨어 또는 소프트웨어 시스템이 제안되었다. 이러한 다양한 시스템 중에서, 2005년 10월 26일에 공고된 등록특허 10-0523848은 윈도우 기반으로 영상을 처리하는 하드웨어 시스템 및 방법을 제안한다. Meanwhile, a number of hardware or software systems for real time image processing have been proposed. Among these various systems, Korean Patent No. 10-0523848, published October 26, 2005, proposes a hardware system and method for processing an image based on a window.
구체적으로, 등록특허 10-0523848는 레지스터로 구현되는 다수의 윈도우 버퍼 및 듀얼 포트 램으로 구현되는 다수의 라인 버퍼를 구비하는 RWIPS(Real-time Window-based Image Processing Structure)를 제안하였다. 상기 라인 버퍼에는 원본 이미지가 픽셀 단위로 저장되며, 상기 레지스터에는 상기 라인 버퍼에 지정된 영상 중 특정한 윈도우에 속하는 픽셀 데이터들이 저장된다. Specifically, Patent No. 10-0523848 proposes a real-time window-based image processing structure (RWIPS) having a plurality of window buffers implemented with registers and a plurality of line buffers implemented with dual port RAM. The original image is stored in the line buffer in pixel units, and the register stores pixel data belonging to a specific window among images designated in the line buffer.
종래에 제안된 서브 샘플링 기법은 서브 샘플링 효율이 떨어지거나 서브 샘플링 레이트가 변경되지 않는 문제가 있었다. The conventionally proposed subsampling technique has a problem that the subsampling efficiency is not reduced or the subsampling rate is not changed.
본 발명은 종래에 제안된 기술을 개선하기 위해 제안된 것으로, 본 발명의 목적은 효율이 개선된 서브 샘플링 기법을 제안하는 것이다. The present invention has been proposed to improve the conventionally proposed technique, and an object of the present invention is to propose a subsampling technique with improved efficiency.
본 발명의 또 다른 목적은 다수의 서브 샘플링 레이트를 동시에 지원하는 서부 샘플링 기법을 제안하는 것이다. It is yet another object of the present invention to propose a western sampling technique that simultaneously supports multiple subsampling rates.
본 발명은, 원본 이미지에 대하여 다수의 서브 샘플링 레이트(rate)에 따라 서브 샘플링을 수행하는 시스템에 있어서, 상기 다수의 서브 샘플링 레이트에 상응하는 저장 공간을 갖는 레지스터를 할당하고, 상기 원본 이미지 및 다수의 서브 샘플링 레이트에 상응하는 내부 메모리를 할당하는 윈도우 생성부; 상기 원본 이미지의 어느 일부를 상기 내부 메모리에 픽셀 단위로 순차적으로 저장시키고, 상기 내부 메모리에 저장된 픽셀 데이터 중 서브 샘플링이 수행되는 영역에 상응하는 무빙 윈도우에 속하는 픽셀 데이터를 상기 레지스터에 순차적으로 저장시키고, 상기 무빙 윈도우를 순차적으로 이동시키는 윈도우 연산부; 상기 레지스터에 저장된 픽셀 데이터를 이용하여 상기 다수의 서브 샘플링 레이트 각각에 상응하는 다수의 보간 픽셀을 산출하는 픽셀 보간부; 및 상기 보간 픽셀을 출력하는 서브 샘플링 영상 출력부를 포함한다. The present invention relates to a system for performing subsampling according to a plurality of sub-sampling rates on an original image, wherein the registers having storage spaces corresponding to the plurality of sub-sampling rates are allocated, and the original image and the plurality of sub-sampling rates are assigned. A window generator for allocating an internal memory corresponding to the sub-sampling rate of the apparatus; A portion of the original image is sequentially stored in the internal memory in units of pixels, and pixel data belonging to a moving window corresponding to a region in which subsampling is performed among pixel data stored in the internal memory is sequentially stored in the register. A window operator which sequentially moves the moving window; A pixel interpolation unit configured to calculate a plurality of interpolation pixels corresponding to each of the plurality of sub-sampling rates using the pixel data stored in the register; And a sub-sampling image output unit configured to output the interpolation pixel.
바람직하게, 상기 보간 픽셀을 이미지로 복원하기 위한 동기 신호를 생성하는 동기 제어 신호 생성부를 더 포함한다. The apparatus may further include a sync control signal generator configured to generate a sync signal for restoring the interpolation pixel to an image.
바람직하게, 상기 동기 신호는 프레임 동기 신호, 라인 동기 신호 및 픽셀 동기 신호를 포함한다. Preferably, the sync signal includes a frame sync signal, a line sync signal, and a pixel sync signal.
바람직하게, 상기 레지스터의 크기는 상기 다수의 서브 샘플링 레이트 중 최소 서브 샘플링 레이트에 따라 결정된다. Advantageously, the size of said register is determined in accordance with the minimum subsampling rate of said plurality of subsampling rates.
바람직하게, 상기 무빙 윈도우는 상기 내부 메모리에 저장된 픽셀 데이터의 행(row) 방향으로 이동한다. Preferably, the moving window moves in a row direction of pixel data stored in the internal memory.
바람직하게, 상기 내부 메모리는 상기 원본 이미지의 행의 크기 및 상기 다수의 서브 샘플링 레이트 중 최소 서브 샘플링 레이트에 상응하는 크기의 듀얼 포트 램을 포함한다. Advantageously, said internal memory comprises dual port RAM of a size corresponding to a size of a row of said original image and a minimum subsampling rate of said plurality of subsampling rates.
본 발명에 따르면 실시간으로 서브 샘플링을 수행하는 장점이 있다. According to the present invention, there is an advantage of performing subsampling in real time.
본 발명에 따라 서브 샘플링을 수행하면, 처리해야 할 이미지의 크기가 작아져서 다양한 영상 처리를 짧은 시간에 마무리할 수 있다. When the subsampling is performed according to the present invention, the size of an image to be processed is reduced, so that various image processing can be completed in a short time.
또한, 본 발명은 하드웨어로 간단하게 구현될 수 있어, 로봇 비전(Robot vision), 지능형 카메라(Intelligent camera), 산업현장 등에 쉽게 응용될 수 있다In addition, the present invention can be simply implemented in hardware, it can be easily applied to robot vision, intelligent camera, industrial sites, etc.
본 발명의 구체적인 동작, 특징 및 효과는 이하에서 설명하는 본 발명의 일 실시예에 의해 더욱 구체화될 것이다. 이하, 첨부된 도면을 참조하여 본 발명의 일 실시예를 설명한다. Specific operations, features, and effects of the present invention will be further embodied by one embodiment of the present invention described below. Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention.
도 1은 본 실시예에 따른 서브 샘플링 시스템의 블록도이다. 도시된 바와 같이. 도 1의 시스템(100)은, 서브 샘플링 계수 입력부(110), 윈도우 생성부(120), 윈도우 연산부(130), 픽셀보간부(210), 동기 제어 신호 생성부(220), 서브 샘플링 영상 출력부(310)를 포함한다. 1 is a block diagram of a sub-sampling system according to the present embodiment. As shown. The
상기 서브 샘플링 계수 입력부(110)는 외부로부터 서브 샘플링 계수를 입력받는다. 도 1의 시스템(100)은 상기 서브 샘플링 계수에 따라 서브 샘플링을 수행한다. 상기 서브 샘플링 계수는 서브 샘플링 레이트의 개수를 나타낸다. 구체적으로 서브 샘플링 계수가 '4'로 결정되면, 4 종류의 서브 샘플링 레이트에 따라 서브 샘플링이 수행된다. The subsampling
상기 서브 샘플링 레이트(rate)란 원본 이미지의 크기와 서브 샘플링된 이미지의 크기와의 비율을 나타낸다. 예를 들어, 원본 이미지가 100*100 픽셀로 이루어지는 경우, 1/2 레이트의 서브 샘플링을 수행하면 50*50 픽셀의 이미지를 얻는다. The subsampling rate represents a ratio between the size of the original image and the size of the subsampled image. For example, if the original image consists of 100 * 100 pixels, half-subsampling results in an image of 50 * 50 pixels.
본 실시예에 따른 시스템은 다수의 서브 샘플링 레이트를 지원한다. 다수의 서브 샘플링 레이트들 중 레이트가 가장 낮은 것을 최소 서브 샘플링 레이트라 칭한다. 예를 들어, 1/1, 1/2, 1/3, 1/4의 서브 샘플링 레이트 중에서는 1/4 레이트가 최소 서브 샘플링 레이트가 된다. The system according to this embodiment supports multiple subsampling rates. The lowest of the plurality of sub-sampling rates is called the minimum sub-sampling rate. For example, among the 1/1, 1/2, 1/3, and 1/4 sub-sampling rates, 1/4 rate is the minimum sub-sampling rate.
상기 서브 샘플링 계수는 최소 서브 샘플링 레이트에 상응한다. 예를 들어, 서브 샘플링 계수가 '4'로 결정되면, 최소 서브 샘플링 레이트는 1/4로 결정된다. 결국, 서브 샘플링 계수가 '4'로 결정되면, 1/1, 1/2, 1/3, 1/4의 4가지의 서브 샘플링 레이트에 따라 서브 샘플링을 수행한다. The subsampling coefficient corresponds to the minimum subsampling rate. For example, if the subsampling coefficient is determined to be '4', the minimum subsampling rate is determined to be 1/4. As a result, when the subsampling coefficient is determined as '4', subsampling is performed according to four subsampling rates of 1/1, 1/2, 1/3, and 1/4.
상기 윈도우 생성부(120)는 서브 샘플링을 위한 레지스터 및 메모리 자원을 할당한다. 구체적으로, 다수의 서브 샘플링 레이트에 상응하는 저장 공간을 갖는 레지스터를 할당하고, 상기 원본 이미지 및 다수의 서브 샘플링 레이트에 상응하는 내부 메모리를 할당한다. The
상기 레지스터는 플립-플롭(flip-flop)에 의해 구현 가능하다. 상술한 바와 같이 상기 레지스터의 크기는 다수의 서브 샘플링 레이트에 상응하는 것이 바람직하다. 구체적으로, 최소 서브 샘플링 레이트가 1/N인 경우, 상기 레지스터의 크기는 N*N으로 결정되는 것이 바람직하다. The register may be implemented by flip-flop. As described above, the size of the register preferably corresponds to a plurality of sub-sampling rates. Specifically, when the minimum sub-sampling rate is 1 / N, the size of the register is preferably determined to be N * N.
한편, 상기 내부 메모리는 듀얼 포트 램(RAM)을 포함할 수 있다. 상기 듀얼 포트 램의 크기는 상기 원본 이미지의 행의 크기 및 최소 서브 샘플링 레이트에 따라 결정되는 것이 바람직하다. 예를 들어, 원본 이미지의 크기가 m*k이고, 최소 서브 샘플링 레이트가 1/N인 경우, 상기 듀얼 포트 램의 크기는 m*(N-1)인 것이 바람직하다. The internal memory may include a dual port RAM. The size of the dual port RAM is preferably determined according to the size of the row of the original image and the minimum sub-sampling rate. For example, when the size of the original image is m * k and the minimum sub-sampling rate is 1 / N, the size of the dual port RAM is preferably m * (N-1).
상기 윈도우 연산부(130)는 외부에서 입력되는 원본 이미지에 대한 이미지 연산을 처리한다. 구체적으로, 상기 윈도우 연산부(130)는 원본 이미지를 획득하고, 상기 원본 이미지 중 어느 일부를 상기 내부 메모리 및 레지스터에 저장시킨다. 상기 윈도우 연산부(130)는 상기 무빙 윈도우에 속하는 픽셀 데이터를 상기 레 지스터에 저장시키고, 상기 무빙 윈도우를 이동시킨다. The
상기 픽셀 보간부(210)는 상기 레지스터에 저장된 픽셀 데이터에 대한 서브 샘플링을 수행하는 모듈이다. 구체적으로, 상기 픽셀 보간부(210)는 상기 레지스터에 접근하여 상기 픽셀 데이터에 대한 보간(interpolation)을 수행한다. 상기 픽셀 보간부(210)는 다수의 서브 샘플링 레이트 각각에 상응하는 보간을 수행할 수 있다.The
상기 동기 제어 신호 생성부(220)는 상기 픽셀 보간부(210)에 의해 생성된 보간 픽셀을 복원하기 위한 동기 신호를 생성한다. 픽셀 데이터를 이미지로 복원하기 위해서는, 프레임 동기, 라인 동기 및 픽셀 동기를 나타내는 동기 신호가 필요하다. 상기 동기 제어 신호 생성부(220)는 다수의 서브 샘플링 레이트 각각에 상응하는 복수의 동기 신호를 생성할 수 있다.The sync
상기 서브 샘플링 영상 출력부(310)는 상기 픽셀 보간부(210)에서 생성된 보간 픽셀 및 상기 동기 제어 신호 생성부(220)에 생성된 동기 신호를 함께 출력한다. 바람직하게, 상기 서브 샘플링 영상 출력부(310)는 특정한 서브 샘플링 레이트에 상응하는 보간 픽셀 및 동기 신호를 결합하여 출력할 수 있다. 하나의 서브 샘플링 레이트에 상응하는 다수의 보간 픽셀 및 동기 신호를 서브 샘플링 출력신호라 칭할 수 있다. 예를 들어, 1/3 서브 샘플링 레이트에 따라 생성된 다수의 보간 픽셀(즉, 1/3 보간 픽셀) 및 상기 1/3 서브 샘플링 레이트에 대응되는 동기 신호는 1/3 서브 샘플링 레이트에 상응하는 서브 샘플링 출력신호이다. 도 1의 시스템(100)은 다수의 서브 샘플링 레이트를 지원하므로, 상기 서브 샘플링 영상 출력 부(310)는 다수의 서브 샘플링 출력신호를 생성할 수 있다.The sub-sampled
이하, 도 1에서 소개된 각각의 블록에서의 동작을 더욱 상세하게 설명한다. Hereinafter, the operation in each block introduced in FIG. 1 will be described in more detail.
도 2는 외부에서 원본 이미지가 입력되는 경우, 내부 메모리와 레지스터에 원본 이미지가 저장되는 방법을 설명하는 도면이다. 2 is a diagram illustrating a method of storing an original image in an internal memory and a register when an original image is input from the outside.
도시된 바와 같이, 상기 내부 메모리는 라인 버퍼를 포함할 수 있다. 상기 라인 버퍼는 상술한 듀얼 포트 램(RAM)으로 구현될 수 있다. 또한, 상술한 바와 같이, 원본 이미지의 크기가 m*k이고 최소 서브 샘플링 레이트가 1/N인 경우, 라인 버퍼의 크기는 m*(N-1)일 수 있다. 또한, 상술한 바와 같이 상기 레지스터의 크기는 다수의 서브 샘플링 레이트에 상응하는 것이 바람직하다. 즉, 최소 서브 샘플링 레이트가 1/N인 경우, 도시된 바와 같이 N*N으로 결정될 수 있다. As shown, the internal memory may include a line buffer. The line buffer may be implemented with the above-described dual port RAM. In addition, as described above, when the size of the original image is m * k and the minimum sub-sampling rate is 1 / N, the size of the line buffer may be m * (N-1). In addition, as described above, the size of the register preferably corresponds to a plurality of sub-sampling rates. That is, when the minimum sub-sampling rate is 1 / N, it may be determined as N * N as shown.
상기 라인버퍼에는 원본 이미지가 픽셀 단위로 순차적으로 저장된다. 한편, 상기 내부 메모리에 저장되는 픽셀 데이터 중 무빙 윈도우(moving window)에 속하는 픽셀 데이터들은, 레지스터에 저장된다. The line buffer sequentially stores the original image in pixels. Meanwhile, among the pixel data stored in the internal memory, pixel data belonging to a moving window is stored in a register.
무빙 윈도우는 서브 샘플링이 수행되는 영역을 나타낸다. 무빙 윈도우에 속하는 픽셀 데이터들에 대하여 내부 메모리가 아닌 레지스터에서 서브 샘플링을 수행하면, 신속한 영상 처리가 가능하다. 구체적으로, 즉시 접근 가능한 레지스터에 픽셀 데이터를 저장시키면 이들 픽셀에 대한 실시간 처리가 가능해지며, 필요한 경우 무빙 윈도우에 속하는 모든 픽셀 값에 대한 동시 접근이 가능해지기 때문에 실시간 영상 처리가 가능하다.The moving window represents an area where subsampling is performed. If subsampling is performed on a register other than the internal memory of the pixel data belonging to the moving window, fast image processing is possible. In detail, storing pixel data in a readily accessible register enables real-time processing of these pixels, and enables real-time image processing because simultaneous access to all pixel values belonging to the moving window is possible if necessary.
도 3a 내지 도 3m은 원본 이미지가 내부 메모리에 저장되고, 상기 내부 메모 리에 저장된 픽셀 데이터가 레지스터에 저장되는 기법을 나타낸다.3A to 3M illustrate a technique in which an original image is stored in an internal memory and pixel data stored in the internal memory is stored in a register.
도 3a 내지 도 3m의 일례는 서브 샘플링 계수가 3인 경우이다. 따라서, 1/1, 1/2, 1/3 레이트의 서브 샘플링이 수행된다. 또한, 최소 서브 샘플링 레이트가 1/3이므로 상기 레지스터는 크기는 3*3으로 결정된다.3A to 3M show a case where the subsampling coefficient is three. Thus, subsampling at 1/1, 1/2, and 1/3 rates is performed. Also, since the minimum sub-sampling rate is 1/3, the size of the register is determined to be 3 * 3.
도 3a는 10*6 크기를 갖는 원본 이미지의 일례이다. 도시된 바와 같이, 1 내지 10번 픽셀 데이터는 원본 이미지의 첫 번째 수평 라인을 이룬다. 상기 원본 이미지의 크기가 10*6이고, 최소 서브 샘플링 레이트가 1/3이므로, 상기 내부 메모리에 포함되는 라인 버퍼는 10*(3-1)의 크기를 갖는다.3A is an example of an original image having a size of 10 * 6. As shown, pixel data from 1 to 10 form the first horizontal line of the original image. Since the size of the original image is 10 * 6 and the minimum sub-sampling rate is 1/3, the line buffer included in the internal memory has a size of 10 * (3-1).
도 3b와 같이 원본 이미지의 첫 번째 수평 라인(1 내지 10번 픽셀 데이터)은 픽셀 단위로 상기 라인 버퍼에 입력된다. As shown in FIG. 3B, the first horizontal line (pixel data of
우선, 1번 픽셀 데이터가 라인 버퍼 및 레지스터에 입력된 결과는 도 3c와 같다. 2, 3, 4번 픽셀 데이터는 라인 버퍼 및 레지스터에 순차적으로 입력되며, 그 결과는 도 3d 내지 도 3f와 같다. First, the result of inputting the
원본 이미지의 첫 번째 수평 라인의 마지막 데이터인 10번 픽셀 데이터가 입력된 결과는 도 3g와 같다. 원본 이미지의 첫 번째 수평 라인에 대한 입력이 종료되면 두 번째 수평 라인(11 내지 20번 픽셀 데이터)에 대한 입력을 수행한다. 이 경우, 라인 버퍼의 첫 번째 라인에 저장된 데이터가 라인 버퍼의 두 번째 라인으로 이동하면서 레지스터에 저장된다. 도 3h를 보면, 1번 픽셀 데이터가 라인 버퍼의 첫 번째 라인에서 두 번째 라인으로 이동하는 동시에, 레지스터에 저장되는 것을 알 수 있다. 12번, 13번 픽셀 데이터는 라인 버퍼 및 레지스터에 순차적으로 입력 되며, 그 결과는 도 3i 내지 도 3j와 같다. The result of inputting the pixel data of the tenth pixel of the last horizontal line of the original image is shown in FIG. 3G. When the input to the first horizontal line of the original image is finished, the input to the second horizontal line (pixel data of 11 to 20 pixels) is performed. In this case, the data stored in the first line of the line buffer is stored in the register while moving to the second line of the line buffer. Referring to FIG. 3H, it can be seen that the
원본 이미지의 두 번째 수평 라인의 마지막 데이터인 20번 픽셀 데이터가 입력된 결과는 도 3k와 같다. 원본 이미지의 두 번째 수평 라인에 대한 입력이 종료되면 세 번째 수평 라인(21 내지 30번 픽셀 데이터)에 대한 입력을 수행한다. 21, 22번 픽셀 데이터는 라인 버퍼 및 레지스터에 순차적으로 입력되며, 그 결과는 도 3l 내지 도 3m과 같다. The result of inputting the 20th pixel data of the last data of the second horizontal line of the original image is shown in FIG. 3K. When the input to the second horizontal line of the original image is finished, the input to the third horizontal line (pixel data of
도 3의 방식에 따라 내부 메모리 및 레지스터에 픽셀 데이터를 입력시키는 것은 원본 이미지에 3*3 크기의 무빙 윈도우(moving)를 형성시켜 이동시키는 것과 같다. Inputting the pixel data into the internal memory and the register according to the method of FIG. 3 is equivalent to moving a 3 * 3 sized moving window by forming a moving window in the original image.
즉, 상기 윈도우 연산부(130)에서 도 3의 동작을 반복하면, 도 4에 도시된 바와 같이, 3*3 크기의 무빙 윈도우를 원본 이미지의 행(row) 방향으로 이동시키는 것이 된다. 상기 무빙 윈도우가 행(row) 방향으로 오른쪽 끝까지 이동하면 다음 수평 라인에 대해 다시 행(row) 방향으로 오른쪽으로 이동시킨다. That is, if the
상기 픽셀보간부(210)는 상기 무빙 윈도우에 속하는 픽셀 데이터를 이용하여 보간(interpolation)을 수행한다. 예를 들어, 최소 서브 샘플링 레이트가 1/4인 경우, 4*4 크기로 정해지는 무빙 윈도우를 이용하여 4*4, 3*3, 2*2 크기의 픽셀 데이터에 동시에 접근하여 이들에 대한 보간 결과를 출력할 수 있다. The
도 5는 4*4 크기의 무빙 윈도우를 이용하여 보간 픽셀을 계산하는 일례를 설명한다. 1/4 보간 픽셀을 산출하기 위해서는, 도 5의 1, 2, 3, 4, 11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34번 픽셀 데이터가 보간되어야 한다. 또한, 1/3 보 간 픽셀을 산출하기 위해서는, 도 5의 1, 2, 3, 11, 12, 13, 21, 22, 23번 픽셀 데이터가 보간되어야 한다. 1/2 보간 픽셀을 산출하기 위해서는, 도 5의 1, 2, 11, 12번 픽셀 데이터가 보간되어야 한다. 5 illustrates an example of calculating interpolation pixels using a moving window having a size of 4 * 4. In order to calculate a quarter interpolation pixel,
1, 2, 3, 4, 11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34번 픽셀 데이터는 무빙 윈도우에 해당하는 영역에 위치하므로, 상기 16개의 픽셀 데이터는 상기 윈도우 연산부(130)에 의해 레지스터에 이미 저장되어 있다. 한편, 레지스터에 저장된 데이터는 동시 접근이 가능하므로, 각각의 보간 픽셀들은 병렬적으로 계산될 수 있다. 즉, 상기 픽셀보간부(210)는 상기 레지스터에 접근하여 1/4 레이트로 서브 샘플링된 보간 픽셀을 출력하는 동시에, 1/3 및 1/2 레이트로 서브 샘플링된 보간 픽셀을 출력할 수 있다. Since the pixel data of 1, 2, 3, 4, 11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, and 34 are located in an area corresponding to the moving window, the 16 pixel data Is already stored in the register by the
상기 무빙 윈도우가 행 방향 또는 열 방향으로 이동하는 경우, 이동할 때마다 모든 서브 샘플링 레이트에 따른 보간을 수행할 필요는 없다. 예를 들어, 1/4 레이트의 서브 샘플링의 경우, 무빙 윈도우가 4개의 픽셀만큼 행 방향 또는 열 방향으로 이동할 때마다 보간이 수행되면 충분하다. 즉, 서브 샘플링 레이트가 1/4인 경우, 무빙 윈도우가 4개의 픽셀만큼 이동할 때마다 하나의 1/4 보간 픽셀을 생성된다. When the moving window moves in the row direction or the column direction, it is not necessary to perform interpolation according to all sub-sampling rates every time the moving window is moved. For example, for a quarter rate subsampling, it is sufficient that interpolation is performed each time the moving window moves by four pixels in the row or column direction. That is, when the subsampling rate is 1/4, one quarter interpolation pixel is generated every time the moving window is moved by four pixels.
상기 픽셀보간부(210)는 양선형 보간법, 최근접값 이용법, 3차 회선 보간법 등 다양한 방법을 사용할 수 있다. The
상기 픽셀 보간부(210)가 출력하는 1/2 내지 1/N 보간 픽셀들에는 각 픽셀들의 위치 정보가 포함되지 않으므로 이미지로 복원하기 위해서는, 프레임 동기, 라 인 동기 및 픽셀 동기를 나타내는 동기 신호가 포함되는 것이 바람직하다. Since 1/2 to 1 / N interpolation pixels output by the
상기 동기 제어 신호 생성부(220)는 상기 픽셀 보간부(210)에서 산출되는 보간 픽셀들을 이미지로 복원하기 위한 동기 신호를 생성한다. The synchronization
각 동기 신호의 일례는 도 6과 같다.An example of each synchronization signal is shown in FIG.
우선, 픽셀 동기 신호는 각각의 픽셀들을 구분하는 신호이다. First, the pixel sync signal is a signal for distinguishing each pixel.
또한, 라인 동기 신호는 원본 이미지의 수평 라인들을 구별하는 신호이다. 예를 들어, 640*480 이미지의 경우, 상기 라인 동기 신호는 480 개의 수평 라인들을 구별하는데 사용된다. Also, the line sync signal is a signal that distinguishes the horizontal lines of the original image. For example, for a 640 * 480 image, the line sync signal is used to distinguish 480 horizontal lines.
또한, 프레임 동기 신호는 각각의 프레임을 구분한다. 예를 들어, t 시간에 표시되는 640*480 이미지와 t+1 시간에 표시되는 640*480 이미지를 구별하는데 사용된다. In addition, the frame synchronization signal distinguishes each frame. For example, it is used to distinguish between a 640 * 480 image displayed at t time and a 640 * 480 image displayed at t + 1 time.
도 7은 동기 제어 신호 생성부에서 생성하는 동기 신호의 주파수를 변경하는 일례를 나타낸다. 1/N의 레이트로 서브 샘플링이 이루어지는 경우, 픽셀 동기 신호의 주파수는 원본 픽셀용 픽셀 동기 신호의 주파수의 1/N로 제어된다. 또한, 라인 동기 신호의 주파수도 원 주파수의 1/N로 제어된다. 반면 프레임 동기 신호는 변할 필요가 없으므로 원 주파수와 동일하게 제어된다. 7 shows an example of changing the frequency of the synchronization signal generated by the synchronization control signal generator. When subsampling is performed at a rate of 1 / N, the frequency of the pixel synchronizing signal is controlled to 1 / N of the frequency of the pixel synchronizing signal for the original pixel. In addition, the frequency of the line synchronization signal is also controlled to 1 / N of the original frequency. On the other hand, the frame sync signal does not need to be changed, so it is controlled to be equal to the original frequency.
상기 서브 샘플링 영상 출력부(310)는 각각의 서브 샘플링 레이트에 따른 출력 신호를 출력한다. 예를 들어, 1/4 레이트의 서브 샘플링의 경우, 4x4 크기의 무빙 윈도우를 이용한 1/4 보간 픽셀, 1/4 레이트의 서브 샘플링 레이트에 상응하는 픽셀 동기신호, 라인 동기 신호 및 프레임 동기 신호를 출력한다.The sub-sampled
도 8은 원본 이미지의 일례이다. 도 8의 원본 이미지에 대해 서브 샘플링 계수를 '4'로 하여 서브 샘플링을 수행하면 도 9의 결과와 같다. 8 is an example of an original image. Performing subsampling with the subsampling coefficient set to '4' for the original image of FIG. 8, results in the result of FIG. 9.
도 9의 첫 번째 그림은 1/1 레이트로 서브 샘플링된, 즉 원본 출력과 동일한 이미지이다. The first picture of Figure 9 is an image subsampled at 1/1 rate, i.e. the same as the original output.
도 9의 두 번째 그림은 본 실시예에 의해 1/2 레이트로 서브 샘플링된 출력이고, 세 번째 그림은 본 실시예에 의해 1/3 레이트로 서브 샘플링된 출력이고, 네 번째 그림은 본 실시예에 의해 1/4 레이트로 서브 샘플링된 출력이다. The second picture of Fig. 9 is the output subsampled at 1/2 rate by this embodiment, the third picture is the output subsampled at 1/3 rate by this embodiment, and the fourth picture is this embodiment. Is subsampled at 1/4 rate.
본 실시예는 상술한 바와 같이 레지스터를 기반으로 하므로 병렬처리가 가능하다. 이에 따라, 서브 샘플링 레이트 만큼의 보간 픽셀을 동시에 출력하여 짧은 시간 내에 다양한 크기의 서브 샘플링 영상을 생성할 수 있다. 이러한 서브 샘플링은 배경 영상으로부터 전경 영상을 획득하는데 유용하게 활용될 수 있다. Since the present embodiment is based on the register as described above, parallel processing is possible. Accordingly, sub-sampled images having various sizes can be generated within a short time by simultaneously outputting interpolation pixels corresponding to the sub-sampling rate. Such subsampling may be usefully used to obtain a foreground image from a background image.
상술한 본 실시예에 구체적 수치 또는 구체적 데이터가 제시되었으나, 이는 본 실시예를 구체적으로 설명하기 위한 것에 불과하므로, 본 발명의 범위가 본 실시예를 통해 제시된 구체적 수치 또는 구체적 데이터에 제한되지 않는다. 한편, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.Although specific numerical values or specific data have been presented in the above-described embodiment, this is merely for describing the present embodiment in detail, and the scope of the present invention is not limited to the specific numerical values or specific data presented through the present embodiment. On the other hand, those skilled in the art having ordinary knowledge of the present invention will be capable of various modifications, changes, and additions within the spirit and scope of the present invention, and such modifications, changes and additions should be regarded as belonging to the following claims.
본 발명은 영상 처리 시스템에서 유용하게 사용되는 서브 샘플링 기법에 관 한 것이므로 그 산업상 이용 가능성이 인정됨이 타당할 것이다. Since the present invention relates to a subsampling technique usefully used in an image processing system, it will be reasonable that the industrial applicability is recognized.
도 1은 본 실시예에 따른 서브 샘플링 시스템의 블록도이다.1 is a block diagram of a sub-sampling system according to the present embodiment.
도 2는 내부 메모리와 레지스터에 원본 이미지가 저장되는 방법을 설명하는 도면이다. 2 is a diagram illustrating a method of storing an original image in an internal memory and a register.
도 3a 내지 3m은 내부 메모리와 레지스터에 원본 이미지가 저장되는 방법을 설명하는 도면이다. 3A to 3M illustrate a method of storing an original image in an internal memory and a register.
도 4는 3*3 크기의 무빙 윈도우를 설명하는 블록도이다. 4 is a block diagram illustrating a moving window having a size of 3 * 3.
도 5는 4*4 크기의 무빙 윈도우를 이용하여 보간 픽셀을 계산하는 일례를 설명한다. 5 illustrates an example of calculating interpolation pixels using a moving window having a size of 4 * 4.
도 6은 본 실시예에서 사용되는 동기 신호의 일례이다. 6 is an example of a synchronization signal used in this embodiment.
도 7은 동기 제어 신호 생성부에서 생성하는 동기 신호의 주파수를 변경하는 일례를 나타낸다.7 shows an example of changing the frequency of the synchronization signal generated by the synchronization control signal generator.
도 8 및 도 9는 본 실시예에 따른 서브 샘플링 결과를 나타낸다. 8 and 9 show subsampling results according to the present embodiment.
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080047681A KR101000036B1 (en) | 2008-05-22 | 2008-05-22 | sub-sampling system for real-time image processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080047681A KR101000036B1 (en) | 2008-05-22 | 2008-05-22 | sub-sampling system for real-time image processing |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090121667A true KR20090121667A (en) | 2009-11-26 |
KR101000036B1 KR101000036B1 (en) | 2010-12-09 |
Family
ID=41604565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080047681A KR101000036B1 (en) | 2008-05-22 | 2008-05-22 | sub-sampling system for real-time image processing |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101000036B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101699029B1 (en) * | 2015-08-07 | 2017-01-23 | 이노뎁 주식회사 | Image Processing Device Improving Area Processing Speed and Processing Method Thereof |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2595696B (en) * | 2020-06-04 | 2022-12-28 | Envisics Ltd | Forming a hologram of a target image for projection using data streaming |
-
2008
- 2008-05-22 KR KR1020080047681A patent/KR101000036B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101699029B1 (en) * | 2015-08-07 | 2017-01-23 | 이노뎁 주식회사 | Image Processing Device Improving Area Processing Speed and Processing Method Thereof |
Also Published As
Publication number | Publication date |
---|---|
KR101000036B1 (en) | 2010-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5841444A (en) | Multiprocessor graphics system | |
US8749667B2 (en) | System and method for maintaining maximum input rate while up-scaling an image vertically | |
US8451901B2 (en) | High-speed motion estimation apparatus and method | |
EP2804144A1 (en) | Method and device for processing input image data | |
KR100956020B1 (en) | Polyphase filter combining vertical peaking and scaling in pixel-processing arrangement | |
JPH07143455A (en) | Video picture decoder and its signal processing method | |
US20110255596A1 (en) | Frame rate up conversion system and method | |
KR101000036B1 (en) | sub-sampling system for real-time image processing | |
JPH10208030A (en) | Image processor and processing method | |
JP3352931B2 (en) | Motion vector detection device | |
US10332239B2 (en) | Apparatus and method for parallel polyphase image interpolation | |
US7209186B2 (en) | Image processing apparatus and image processing method for high speed real-time processing | |
JP4540191B2 (en) | Image processing device | |
CN109672841B (en) | Low-cost de-interlace treatment method | |
JP4232869B2 (en) | Conversion unit and apparatus, and image processing apparatus | |
JPH05300497A (en) | Image processor and digital signal processor | |
JP2004354593A5 (en) | ||
CN109427071B (en) | Full search block matching method and device | |
KR20020004169A (en) | Zoom buffer control circuit having function of up/down scaling | |
JP5271567B2 (en) | Image pre-processing device | |
CN114900634A (en) | Ultrahigh-definition video display processing method and device based on texture mapping | |
US5946036A (en) | Image decoding using read/write memory control based on display region setting | |
CN113763250A (en) | Adaptive image scaling processing method and system | |
JPS63102467A (en) | Converting device for resolution of picture data | |
JP2820068B2 (en) | Image data synthesis display device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
J201 | Request for trial against refusal decision | ||
AMND | Amendment | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20131007 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140923 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |