KR102064977B1 - Method and Apparatus for Image Filter Processing Based on Field Programmable Gate Array - Google Patents

Method and Apparatus for Image Filter Processing Based on Field Programmable Gate Array Download PDF

Info

Publication number
KR102064977B1
KR102064977B1 KR1020190040571A KR20190040571A KR102064977B1 KR 102064977 B1 KR102064977 B1 KR 102064977B1 KR 1020190040571 A KR1020190040571 A KR 1020190040571A KR 20190040571 A KR20190040571 A KR 20190040571A KR 102064977 B1 KR102064977 B1 KR 102064977B1
Authority
KR
South Korea
Prior art keywords
image
filter
block memory
processing
image data
Prior art date
Application number
KR1020190040571A
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 KR1020190040571A priority Critical patent/KR102064977B1/en
Application granted granted Critical
Publication of KR102064977B1 publication Critical patent/KR102064977B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20024Filtering details

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

Disclosed are a method for processing an image filter based on a field programmable gate array and a device therefor. According to an embodiment of the present invention, an image filter processing device can comprise: an input image acquisition part for acquiring an input image; a filter setting part for setting an image filter for correcting the input image; a memory part for storing the image data dividing the input image per line in a block memory based on the preset image processing environment information; and an image processing part which sets the image processing environment information based on the filter setting information for the image filter, and acquires the image data divided per line from the block memory to perform image processing based on the image filter. Therefore, the present invention has an effect in which real-time image processing is possible using an internal memory of an FPGA.

Description

필드 프로그램이 가능한 게이트 어레이 기반의 영상 필터 처리 방법 및 그를 위한 장치{Method and Apparatus for Image Filter Processing Based on Field Programmable Gate Array}Field programmable gate array based image filter processing method and apparatus therefor {Method and Apparatus for Image Filter Processing Based on Field Programmable Gate Array}

본 발명은 필드 프로그램이 가능한 게이트 어레이 기반의 영상 필터 처리 방법 및 그를 위한 장치에 관한 것이다.The present invention relates to a field programmable gate array based image filter processing method and apparatus therefor.

이 부분에 기술된 내용은 단순히 본 발명의 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The contents described in this section merely provide background information on the embodiments of the present invention and do not constitute a prior art.

일반적으로 영상에 영상 필터를 적용하여 영상 처리 및 보정을 수행하는 방법은 여러 사업 분야에서 사용되고 있다. In general, a method of performing image processing and correction by applying an image filter to an image is used in various business fields.

영상 처리를 위한 필터를 필드 프로그램이 가능한 게이트 어레이(Field Programable Gate Array, 이하에서는 FPGA로 기재)를 이용하여 구현 시, 영상 필터의 사이즈가 커지게 되면 사용 가능한 메모리가 부족하게 되어 영상 처리를 위한 FPGA 장치의 구현이 어려워지게 된다. 이러한, FPGA 장치가 실시간 영상 처리를 위하여 구현될 경우에는 더 많은 메모리 용량이 필요하다. 예를 들어, Artix - 7 series FPGA의 경우 블록 메모리(Block Memory)의 사이즈가 1.625 Mbyte 이므로 종래 기술 사용 시 필터 사이즈가 10 * 10일 경우 설계가 불가능하다. When a filter for image processing is implemented using a field programmable gate array (hereinafter referred to as an FPGA), when the size of the image filter becomes large, the available memory becomes insufficient and the FPGA for image processing The implementation of the device becomes difficult. When the FPGA device is implemented for real-time image processing, more memory capacity is required. For example, in the case of the Artix-7 series FPGA, the block memory size is 1.625 Mbytes. Therefore, if the filter size is 10 * 10, the design cannot be possible.

도 1은 종래 기술에 따른 FPGA 기반 영상 필터 처리 동작을 나타낸 예시도이다. 1 is an exemplary view showing an FPGA-based image filter processing operation according to the prior art.

도 1 참고하면, 종래의 영상 필터 처리장치는 블록 메모리를 영상 필터의 사이즈와 동일한 개수만큼 이용하여 영상 처리를 수행한다. 이하에서는 3 * 3 영상 필터 연산을 수행하는 종래의 영상 필터 처리장치를 예를 들어 설명하도록 한다. Referring to FIG. 1, a conventional image filter processing apparatus performs image processing using a block memory equal to the number of image filters. Hereinafter, a conventional image filter processing apparatus that performs a 3 * 3 image filter operation will be described as an example.

도 1의 (a)에서, 종래의 영상 필터 처리장치는 1, 2, 3, 5, 7, 9, 10, 11 위치에 있는 픽셀값들을 이용하여 6 위치에 있는 픽셀값을 결정하는 영상 필터를 사용한다. In FIG. 1A, a conventional image filter processing apparatus includes an image filter that determines pixel values at positions 6 using pixel values at positions 1, 2, 3, 5, 7, 9, 10, and 11. use.

도 1의 (b)에서, 종래의 영상 필터 처리장치는 블록 메모리를 이용하여 입력되는 영상을 3 라인(Line) 지연시키고, 실시간 연산을 위해 한 라인 당 3 클락(clock)을 지연시켜 동시에 1, 2, 3, 5, 7, 9, 10, 11 위치에 있는 픽셀값을 계산할 수 있도록 한다.In FIG. 1 (b), the conventional image filter processing apparatus delays an input image by three lines using a block memory and simultaneously delays three clocks per line for real time operation. Allows you to calculate the pixel values at positions 2, 3, 5, 7, 9, 10, and 11.

종래의 영상 필터 처리장치와 같이 영상 처리를 수행하는 경우, 내부 메모리가 작은 FPGA를 사용하거나, 영상 필터 사이즈가 커질 경우 내부 메모리가 부족하여 설계가 불가하게 된다. 또한, 종래의 영상 필터 처리장치는 블록 메모리의 개수가 영상 필터의 사이즈만큼 확보되어 있지 않으면 실시간 영상처리를 수행할 수 없고, 출력 영상의 픽셀 간의 간격이 생기게 되는 문제점이 있다. 또한, 종래의 영상 필터 처리장치는 내부 메모리 부족으로 외부 메모리를 사용하게 되면 보드 설계 시 제약이 생기는 문제점이 있다. When performing image processing as in the conventional image filter processing apparatus, an FPGA having a small internal memory is used, or when the image filter size is large, the internal memory is insufficient to design. In addition, the conventional image filter processing apparatus may not perform real-time image processing unless the number of block memories is as large as the size of the image filter, and there is a problem in that gaps between pixels of the output image are generated. In addition, the conventional image filter processing apparatus has a problem in that the board design is limited when the external memory is used due to insufficient internal memory.

본 발명은 입력 영상 및 영상 필터에 따른 영상 처리 환경정보를 설정하고, 영상 처리 환경정보를 기반으로 입력 영상을 라인(Line) 별로 분할한 영상 데이터를 적어도 하나의 블록 메모리 각각에 저장하고, 블록 메모리로부터 라인 별로 분할한 영상 데이터를 획득하여 순차적으로 영상 필터 기반의 영상 처리를 수행하는 필드 프로그램이 가능한 게이트 어레이 기반의 영상 필터 처리 방법 및 그를 위한 장치를 제공하는 데 주된 목적이 있다.The present invention sets image processing environment information according to an input image and an image filter, stores image data obtained by dividing an input image for each line based on the image processing environment information in each of at least one block memory, and stores the block memory. A main object of the present invention is to provide a gate array-based image filter processing method and an apparatus therefor, which are field-programmable to obtain image data divided by lines from each other and sequentially perform image filter-based image processing.

본 발명의 일 측면에 의하면, 상기 목적을 달성하기 위한 영상 필터 처리장치는, 입력 영상을 획득하는 입력 영상 획득부; 상기 입력 영상을 보정하기 위한 영상 필터를 설정하는 필터 설정부; 기 설정된 영상 처리 환경정보에 근거하여 상기 입력 영상을 라인(Line) 별로 분할한 영상 데이터를 블록 메모리에 저장하는 메모리부; 및 상기 영상 필터에 대한 필터 설정정보를 기반으로 상기 영상 처리 환경정보를 설정하며, 상기 블록 메모리로부터 상기 라인 별로 분할한 영상 데이터를 획득하여 상기 영상 필터 기반의 영상 처리를 수행하는 영상 처리부를 포함할 수 있다. According to an aspect of the present invention, an image filter processing apparatus for achieving the above object, the input image acquisition unit for obtaining an input image; A filter setting unit configured to set an image filter for correcting the input image; A memory unit for storing image data obtained by dividing the input image into lines based on preset image processing environment information in a block memory; And an image processor configured to set the image processing environment information based on filter setting information on the image filter, and obtain image data divided by the lines from the block memory to perform the image filter based image processing. Can be.

또한, 본 발명의 다른 측면에 의하면, 상기 목적을 달성하기 위한 영상 필터 처리방법은, 입력 영상을 획득하는 단계; 상기 입력 영상을 보정하기 위한 영상 필터를 설정하는 단계; 상기 영상 필터에 대한 필터 설정정보를 기반으로 블록 메모리의 저장 환경 및 선입선출 큐의 필터처리 환경에 대한 영상 처리 환경정보를 설정하는 단계; 기 설정된 영상 처리 환경정보에 근거하여 상기 입력 영상을 라인(Line) 별로 분할한 영상 데이터를 적어도 하나의 블록 메모리에 저장하는 단계; 및 상기 적어도 하나의 블록 메모리로부터 상기 라인 별로 분할한 영상 데이터를 상기 선입선출 큐로 획득하여 상기 영상 필터 기반의 영상 처리를 수행하는 단계를 포함할 수 있다. In addition, according to another aspect of the present invention, an image filter processing method for achieving the above object, the step of obtaining an input image; Setting an image filter to correct the input image; Setting image processing environment information on a storage environment of a block memory and a filter processing environment of a first-in-first-out queue based on filter setting information on the image filter; Storing image data obtained by dividing the input image into lines based on preset image processing environment information in at least one block memory; And performing image processing based on the image filter by acquiring image data divided for each line from the at least one block memory into the first-in, first-out queue.

이상에서 설명한 바와 같이, 본 발명은 영상 필터를 사용하는 여러 영상처리를 FPGA 내부 최소한의 메모리를 이용하여 처리할 수 있는 효과가 있다. As described above, the present invention has the effect of processing a plurality of image processing using the image filter using a minimum internal memory of the FPGA.

또한, 본 발명은 FPGA의 내부 메모리를 이용하여 실시간 영상 처리가 가능하다는 효과가 있다. In addition, the present invention has the effect that real-time image processing is possible using the internal memory of the FPGA.

또한, 본 발명은 내부 메모리가 작은 FPGA를 사용하거나 영상 필터의 사이즈가 커지더라도, 내부 메모리를 이용하여 영상 처리가 가능한 효과가 있다. In addition, the present invention has the effect that the image processing using the internal memory, even if the FPGA using a small internal memory or the size of the image filter is large.

또한, 본 발명은 외부 메모리를 사용하지 않고 내부 메모리만을 이용하여 영상 처리를 수행함으로써, FPGA의 보드 설계 시 제약을 줄일 수 있는 효과가 있다. In addition, the present invention has the effect of reducing the constraints on the board design of the FPGA by performing the image processing using only the internal memory without using an external memory.

도 1은 종래 기술에 따른 FPGA 기반 영상 필터 처리 동작을 나타낸 예시도이다.
도 2는 본 발명의 실시예에 따른 FPGA 기반 영상 필터 처리장치를 개략적으로 나타낸 블록 구성도이다.
도 3은 본 발명의 실시예에 따른 영상 필터 처리장치에 포함된 영상 처리부를 개략적으로 나타낸 블록 구성도이다.
도 4는 본 발명의 실시예에 따른 FPGA 기반 영상 필터 처리방법을 설명하기 위한 순서도이다.
도 5a 및 도 5b는 본 발명의 실시예에 따른 영상 필터 처리를 위한 영상 처리 환경 설정에 대해 설명하기 위한 예시도이다.
도 6은 본 발명의 실시예에 따른 영상 필터 처리 동작을 설명하기 위한 예시도이다.
도 7는 본 발명의 다른 실시예에 따른 영상 필터 처리를 위한 FPGA 장치를 개략적으로 나타낸 블록 구성도이다.
1 is an exemplary view showing an FPGA-based image filter processing operation according to the prior art.
2 is a block diagram schematically illustrating an FPGA-based image filter processing apparatus according to an exemplary embodiment of the present invention.
3 is a block diagram schematically illustrating an image processor included in an image filter processing apparatus according to an exemplary embodiment of the present invention.
4 is a flowchart illustrating an FPGA-based image filter processing method according to an embodiment of the present invention.
5A and 5B are exemplary diagrams for describing an image processing environment setting for image filter processing according to an exemplary embodiment of the present invention.
6 is an exemplary diagram for describing an image filter processing operation according to an exemplary embodiment of the present invention.
7 is a block diagram schematically illustrating an FPGA device for image filter processing according to another exemplary embodiment of the present invention.

이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다. 이하에서는 도면들을 참조하여 본 발명에서 제안하는 필드 프로그램이 가능한 게이트 어레이 기반의 영상 필터 처리 방법 및 그를 위한 장치에 대해 자세하게 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In describing the present invention, when it is determined that the detailed description of the related well-known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, the following will describe a preferred embodiment of the present invention, but the technical idea of the present invention is not limited thereto and may be variously modified and modified by those skilled in the art. Hereinafter, a field programmable gate array-based image filter processing method and apparatus therefor proposed by the present invention will be described in detail with reference to the drawings.

필드 프로그램이 가능한 게이트 어레이(Field Programable Gate Array, 이하에서는 FPGA로 기재) 장치에서 한정된 내부 메모리를 이용하여 영상 필터 처리를 수행하는 방법 및 장치에 대해 기재하고 있으나 반드시 이에 한정되는 것은 아니며, 메모리를 이용한 다양한 영상 처리 분야에 적용될 수 있다. A method and apparatus for performing image filter processing using a limited internal memory in a field programmable gate array device (hereinafter, referred to as an FPGA) are described, but are not necessarily limited thereto. It can be applied to various image processing fields.

도 2는 본 발명의 실시예에 따른 FPGA 기반 영상 필터 처리장치를 개략적으로 나타낸 블록 구성도이다. 2 is a block diagram schematically illustrating an FPGA-based image filter processing apparatus according to an exemplary embodiment of the present invention.

본 실시예에 따른 영상 필터 처리장치(200)는 입력 영상 획득부(210), 필터 설정부(220), 영상 처리부(230), 메모리부(240)를 포함한다. 도 2의 영상 필터 처리장치(200)는 일 실시예에 따른 것으로서, 도 2에 도시된 모든 블록이 필수 구성요소는 아니며, 다른 실시예에서 영상 필터 처리장치(200)에 포함된 일부 블록이 추가, 변경 또는 삭제될 수 있다. The image filter processing apparatus 200 according to the present exemplary embodiment includes an input image acquisition unit 210, a filter setting unit 220, an image processing unit 230, and a memory unit 240. The image filter processing apparatus 200 of FIG. 2 is according to an exemplary embodiment, and not all blocks illustrated in FIG. 2 are essential components. In another embodiment, some blocks included in the image filter processing apparatus 200 are added. , Can be changed or deleted.

입력 영상 획득부(210)는 영상 촬영장치(미도시)로부터 촬영된 입력 영상을 획득한다. 여기서, 입력 영상은 기 설정된 크기를 갖는 영상을 의미한다. 예를 들어, 640*480 등과 같은 크기를 갖는 영상을 획득할 수 있다. The input image acquisition unit 210 acquires an input image photographed from an image photographing apparatus (not shown). Here, the input image means an image having a preset size. For example, an image having a size such as 640 * 480 may be obtained.

입력 영상 획득부(210)는 영상 촬영장치(미도시)로부터 입력 영상을 직접 획득할 수 있으나 반드시 이에 한정되는 것은 아니며, 기 촬영된 영상이 저장된 외부 서버(저장소)로부터 입력 영상을 획득할 수도 있다. The input image acquisition unit 210 may directly obtain an input image from an image photographing apparatus (not shown), but is not limited thereto. The input image acquisition unit 210 may also obtain an input image from an external server (storage) in which the photographed image is stored. .

필터 설정부(220)는 입력 영상을 보정하기 위한 영상 필터를 설정하는 동작을 수행한다. The filter setting unit 220 sets an image filter for correcting the input image.

본 실시예에 따른 필터 설정부(220)는 윈도우 슬라이딩 방식으로 이동하면서 입력 영상 내의 픽셀을 보정할 수 있도록 영상 필터의 크기, 보정 방식 등에 대한 필터 설정정보를 설정한다. The filter setting unit 220 according to the present exemplary embodiment sets the filter setting information on the size, the correction method, and the like of the image filter so as to correct the pixels in the input image while moving in the window sliding method.

필터 설정부(220)는 n * n 형태(n은 3 이상의 자연수)의 영상 필터에 대한 필터 설정정보를 설정할 수 있다. 예를 들어, 필터 설정부(220)는 3 * 3, 5 * 5, 10 * 10, 30 * 30 등과 같은 정사각형 윈도우 형태의 영상 필터를 설정할 수 있다. The filter setting unit 220 may set filter setting information for an image filter having an n * n form (n is a natural number of 3 or more). For example, the filter setting unit 220 may set an image filter having a square window shape such as 3 * 3, 5 * 5, 10 * 10, 30 * 30, and the like.

또한, 필터 설정부(220)는 영상 필터 내 픽셀값들을 합산한 픽셀 합산값을 이용하여 영상 필터의 정중앙에 위치한 픽셀의 값을 보정하는 방식으로 영상 필터에 대한 필터 설정정보를 설정할 수 있다. 예를 들어, 4 * 5 크기의 입력 영상에 3 * 3 영상 필터를 이용하여 영상 처리를 수행하는 경우, 필터 설정부(220)는 입력 영상의 1, 2, 3, 5, 7, 9, 10, 11 위치에 있는 픽셀값들의 총 합을 이용하여 6 위치(영상 필터의 정중앙)의 픽셀값을 결정하는 방식의 영상 필터를 설정할 수 있다.In addition, the filter setting unit 220 may set the filter setting information for the image filter by correcting the value of the pixel located in the center of the image filter by using the sum of the pixel values of the image filters. For example, when performing image processing using a 3 * 3 image filter on a 4 * 5 size input image, the filter setting unit 220 may perform 1, 2, 3, 5, 7, 9, 10 of the input image. The image filter may be configured by determining the pixel value at the 6th position (the center of the image filter) by using the sum of the pixel values at the 11th position.

영상 처리부(230)는 영상 필터에 근거하여 영상 처리 환경정보를 설정하고, 영상 처리 환경정보에 따라 블록 메모리에 저장된 영상 데이터를 획득하여 영상 필터 기반의 영상 처리를 수행한다. The image processor 230 sets image processing environment information based on the image filter, acquires image data stored in the block memory according to the image processing environment information, and performs image filter based image processing.

영상 처리부(230)는 영상 필터에 대한 필터 설정정보(영상 필터의 크기, 보정 방식 등)에 근거하여 영상 처리 환경정보를 설정한다. 구체적으로, 영상 처리부(230)는 블록 메모리의 저장 환경 및 선입선출 큐의 필터처리 환경에 대한 영상 처리 환경정보를 설정한다. The image processor 230 sets image processing environment information based on filter setting information (image filter size, correction method, etc.) for the image filter. In detail, the image processor 230 sets image processing environment information on the storage environment of the block memory and the filter processing environment of the first-in, first-out queue.

영상 처리부(230)는 필터 설정정보에 근거하여 라인 별로 분할한 영상 데이터를 저장하기 위한 블록 메모리의 개수 및 블록 메모리 각각의 크기에 대한 블록 메모리 저장 환경을 설정한다. 또한, 영상 처리부(230)는 영상 필터에 대한 필터 설정정보에 근거하여 영상 데이터의 필터 연산을 처리하기 위한 선입선출 큐(First In First Out Queue)에 대한 개수 및 선입선출 큐의 사이즈에 대한 필터처리 환경을 설정한다. The image processor 230 sets the block memory storage environment for the number of block memories for storing the image data divided for each line and the size of each of the block memories based on the filter setting information. Also, the image processor 230 filters the number of first in first out queues and the size of the first in first out queue to process the filter operation of the image data based on the filter setting information for the image filter. Set up the environment.

또한, 영상 처리부(230)는 영상 처리 환경정보에 따라 입력 영상의 라이 별로 구분되어 블록 메모리에 저장된 영상 데이터를 선입선출 큐로 불러와 순차적으로 영상 데이터에 영상 필터를 적용하여 필터 연산을 처리한다. In addition, the image processor 230 processes the filter operation by applying the image filter to the image data sequentially by reading the image data stored in the block memory divided by the lie of the input image according to the image processing environment information and sequentially.

영상 처리부(230)는 적어도 하나의 블록 메모리 각각으로부터 서로 다른 라인에 대한 영상 데이터를 선입선출 큐로 획득하며, 선입선출 큐에 저장된 영상 데이터를 순차적으로 영상 필터를 적용하여 필터 연산을 처리한다.The image processor 230 acquires image data of different lines from each of the at least one block memory as a first-in first-out queue, and sequentially applies image filters to the image data stored in the first-in first-out queue to process a filter operation.

영상 처리부(230)는 적어도 하나의 블록 메모리에 영상 데이터의 최소 3 개의 라인이 저장된 이후부터 블록 메모리에 저장된 영상 데이터를 선입선출 큐로 불러오는 동작을 수행한다. After at least three lines of image data are stored in the at least one block memory, the image processor 230 loads the image data stored in the block memory into the first-in, first-out queue.

영상 처리부(230)는 영상 필터 내 픽셀값들을 합산한 픽셀 합산값을 이용하여 영상 필터의 정중앙에 위치한 영상 데이터의 픽셀값을 보정한다. The image processor 230 corrects the pixel value of the image data located at the center of the image filter by using the sum of the pixel values of the image filters.

메모리부(240)는 영상 처리 환경정보에 근거하여 결정된 적어도 하나의 블록 메모리에 입력 영상에 대한 영상 데이터를 저장한다. The memory unit 240 stores the image data of the input image in at least one block memory determined based on the image processing environment information.

메모리부(240)는 입력 영상을 라인 별로 분할한 영상 데이터를 블록 메모리에 저장한다. 여기서, 메모리부(240)는 적어도 하나의 블록 메모리 각각에 입력 영상의 서로 다른 라인에 대한 영상 데이터를 저장한다. 예를 들어, 영상 처리 환경정보에 근거하여 제1 블록 메모리 내지 제4 블록 메모리와 같이 4 개의 블록 메모리를 사용하는 경우, 메모리부(240)는 제1 블록 메모리에 입력 영상의 제1 라인 영상 데이터를 저장하고, 제2 블록 메모리에 입력 영상의 제2 라인 영상 데이터를 저장한다. 또한, 메모리부(240)는 제3 블록 메모리에 입력 영상의 제3 라인 영상 데이터를 저장하고, 제4 블록 메모리에 입력 영상의 제4 라인 영상 데이터를 저장한다. The memory unit 240 stores image data obtained by dividing an input image by lines into a block memory. Here, the memory unit 240 stores image data for different lines of the input image in each of the at least one block memory. For example, when four block memories are used, such as the first block memory to the fourth block memory based on the image processing environment information, the memory unit 240 stores the first line image data of the input image in the first block memory. The second line image data of the input image is stored in the second block memory. In addition, the memory unit 240 stores the third line image data of the input image in the third block memory, and the fourth line image data of the input image in the fourth block memory.

도 3은 본 발명의 실시예에 따른 영상 필터 처리장치에 포함된 영상 처리부를 개략적으로 나타낸 블록 구성도이다. 3 is a block diagram schematically illustrating an image processor included in an image filter processing apparatus according to an exemplary embodiment of the present invention.

본 실시예에 따른 영상 필터 처리장치(200)에 포함된 영상 처리부(230)는 블록 메모리 환경 설정부(310), 선입선출 환경 설정부(320), 영상 필터 처리부(330) 및 영상 출력부(340)를 포함한다. 여기서, 블록 메모리 환경 설정부(310) 및 선입선출 환경 설정부(320)는 별도의 모듈인 것으로 기재하고 있으나 반드시 이에 한정되는 것은 아니며, 블록 메모리의 저장 환경 및 선입선출 큐의 필터처리 환경에 대한 영상 처리 환경정보를 설정하는 영상 처리 환경 설정부와 같은 하나의 모듈로 구현될 수도 있다. The image processor 230 included in the image filter processing apparatus 200 according to the present exemplary embodiment may include a block memory environment setting unit 310, a first-in, first-out environment setting unit 320, an image filter processing unit 330, and an image output unit ( 340). Here, the block memory environment setting unit 310 and the first-in, first-out environment setting unit 320 are described as separate modules, but are not necessarily limited thereto. For the storage environment of the block memory and the filter processing environment of the first-in, first-out queue, It may be implemented as one module such as an image processing environment setting unit for setting image processing environment information.

블록 메모리 환경 설정부(310)는 입력 영상 및 영상 필터에 대한 필터 설정정보에 근거하여 블록 메모리 저장 환경을 설정한다. The block memory environment setting unit 310 sets the block memory storage environment based on the filter setting information for the input image and the image filter.

블록 메모리 환경 설정부(310)는 영상 필터에 대한 필터 설정정보(영상 필터의 크기, 보정 방식 등)에 근거하여 입력 영상의 라인 별로 분할한 영상 데이터를 저장하기 위한 블록 메모리의 개수 및 블록 메모리 각각의 크기에 대한 블록 메모리 저장 환경을 설정한다. 여기서, 블록 메모리는 BRAM(Block Random Access Memory)일 수 있으나 반드시 이에 한정되는 것은 아니다. The block memory environment setting unit 310 stores the number of block memories and the block memories for storing the image data divided for each line of the input image based on filter setting information (image filter size, correction method, etc.) for the image filter. Set the block memory storage environment for the size of. Here, the block memory may be a block random access memory (BRAM), but is not necessarily limited thereto.

블록 메모리 환경 설정부(310)는 필터 설정정보의 필터 라인수에 1을 더한 값을 블록 메모리의 개수(BRAM의 개수)로 설정한다. 또한, 블록 메모리 환경 설정부(310)는 입력 영상의 하나의 라인에 포함된 픽셀 개수와 동일하게 블록 메모리의 크기를 설정할 수 있다. 예를 들어, 4 * 5 크기의 입력 영상에 3 * 3 영상 필터를 이용하여 영상 처리를 수행하는 경우, 블록 메모리 환경 설정부(310)는 필터 라인수 3에 1을 더하여 블록 메모리의 개수를 4로 설정하고, 입력 영상의 하나의 라인에 포함된 픽셀 개수인 4와 동일하게 블록 메모리의 크기를 4로 설정할 수 있다. The block memory environment setting unit 310 sets a value obtained by adding 1 to the number of filter lines in the filter setting information as the number of block memories (the number of BRAMs). In addition, the block memory environment setting unit 310 may set the size of the block memory to be equal to the number of pixels included in one line of the input image. For example, when performing image processing using a 3 * 3 image filter on an input image having a size of 4 * 5, the block memory environment setting unit 310 adds 1 to the number of filter lines 3 and adds 4 to the number of block memories. The size of the block memory may be set to 4, the same as 4, which is the number of pixels included in one line of the input image.

선입선출 환경 설정부(320)는 영상 필터에 대한 필터 설정정보에 근거하여 영상 데이터의 필터 연산을 처리하기 위한 선입선출 큐(First In First Out Queue)의 필터처리 환경을 설정한다. The first-in, first-out environment setting unit 320 sets the filter processing environment of the first in first out queue for processing the filter operation of the image data based on the filter setting information for the image filter.

선입선출 환경 설정부(320)는 필터 설정정보에 근거하여 선입선출 큐에 대한 개수 및 선입선출 큐의 사이즈에 대한 필터처리 환경을 설정한다. The first-in, first-out environment setting unit 320 sets the filter processing environment for the number of the first-in, first-out queue and the size of the first-in, first-out queue based on the filter setting information.

선입선출 환경 설정부(320)는 필터 설정정보의 영상 필터의 크기와 동일하게 선입선출 큐에 대한 개수를 설정한다. 또한, 선입선출 환경 설정부(320)는 필터 설정정보의 필터 라인수와 동일하게 선입선출 큐에 대한 크기를 설정할 수 있다. 예를 들어, 4 * 5 크기의 입력 영상에 3 * 3 영상 필터를 이용하여 영상 처리를 수행하는 경우, 선입선출 환경 설정부(320)는 영상 필터의 크기인 3 * 3 = 9와 동일하게 선입선출 큐의 개수를 9로 설정하고, 필터 라인수인 3과 동일하게 선입선출 큐의 크기를 3으로 설정할 수 있다. The first-in, first-out environment setting unit 320 sets the number of the first-in, first-out queues to be equal to the size of the image filter of the filter setting information. In addition, the first-in, first-out environment setting unit 320 may set the size of the first-in, first-out queue in the same manner as the number of filter lines in the filter setting information. For example, when image processing is performed using a 3 * 3 image filter on an input image having a size of 4 * 5, the first-in, first-out environment setting unit 320 may preempt the same as 3 * 3 = 9, which is the size of the image filter. The number of the first-in, first-out queues may be set to 9, and the size of the first-in, first-out queues may be set to three, similar to the number of three filter lines.

영상 필터 처리부(330)는 적어도 하나의 블록 메모리 각각으로부터 서로 다른 라인에 대한 영상 데이터를 선입선출 큐로 획득하고, 선입선출 처리방식에 따라 순차적으로 영상 데이터에 영상 필터를 적용하여 필터 연산을 처리한다. The image filter processor 330 acquires image data for different lines from each of the at least one block memory as a first-in first-out queue, and processes the filter operation by applying image filters to the image data sequentially according to the first-in first-out processing method.

영상 필터 처리부(330)는 적어도 하나의 블록 메모리에 영상 데이터의 최소 3 개의 라인이 저장된 이후부터 블록 메모리에 저장된 영상 데이터를 선입선출 큐로 불러와 필터 연산을 처리한다. After at least three lines of image data are stored in at least one block memory, the image filter processor 330 loads the image data stored in the block memory into a first-in, first-out queue and processes the filter operation.

영상 출력부(340)는 필터 연산의 결과에 따른 보정 영상을 출력한다. 영상 출력부(340)는 선입선출 큐에 따른 필터 연산에 따라 입력 영상의 라인 순서대로 보정 영상을 출력한다. The image output unit 340 outputs a corrected image according to the result of the filter operation. The image output unit 340 outputs the corrected image in line order of the input image according to the filter operation according to the first-in, first-out queue.

도 4는 본 발명의 실시예에 따른 FPGA 기반 영상 필터 처리방법을 설명하기 위한 순서도이다. 4 is a flowchart illustrating an FPGA-based image filter processing method according to an embodiment of the present invention.

영상 필터 처리장치(200)는 입력 영상을 획득한다(S410). 여기서, 입력 영상은 영상 촬영장치(미도시)로부터 촬영된 영상으로서, 기 설정된 크기의 영상을 의미한다. 영상 필터 처리장치(200)는 영상 촬영장치(미도시)로부터 입력 영상을 직접 획득할 수 있으나 반드시 이에 한정되는 것은 아니며, 기 촬영된 영상이 저장된 외부 서버(저장소)로부터 입력 영상을 획득할 수도 있다. The image filter processing apparatus 200 obtains an input image (S410). Here, the input image is an image captured by an image photographing apparatus (not shown), and means an image of a preset size. The image filter processing apparatus 200 may directly obtain an input image from an image photographing apparatus (not shown), but is not limited thereto. The image filter processing apparatus 200 may also obtain an input image from an external server (storage) in which the photographed image is stored. .

영상 필터 처리장치(200)는 입력 영상을 보정하기 위한 영상 필터의 필터 설정정보를 설정하고, 영상 필터에 근거하여 영상 처리 환경정보를 설정한다(S420).The image filter processing apparatus 200 sets filter setting information of an image filter for correcting an input image, and sets image processing environment information based on the image filter (S420).

영상 필터 처리장치(200)는 윈도우 슬라이딩 방식으로 이동하면서 입력 영상 내의 픽셀을 보정할 수 있도록 영상 필터의 크기, 보정 방식 등에 대한 필터 설정정보를 설정한다. 영상 필터 처리장치(200)는 n * n 형태(n은 3 이상의 자연수)의 영상 필터에 대한 필터 설정정보를 설정할 수 있다. 예를 들어, 필터 설정부(220)는 3 * 3, 5 * 5, 10 * 10, 30 * 30 등과 같은 정사각형 윈도우 형태의 영상 필터를 설정할 수 있다.The image filter processing apparatus 200 sets filter setting information about the size of the image filter, a correction method, and the like so that the pixels in the input image may be corrected while moving in a window sliding manner. The image filter processing apparatus 200 may set filter setting information for an image filter having an n * n form (n is a natural number of 3 or more). For example, the filter setting unit 220 may set an image filter having a square window shape such as 3 * 3, 5 * 5, 10 * 10, 30 * 30, and the like.

또한, 영상 필터 처리장치(200)는 영상 필터에 대한 필터 설정정보(영상 필터의 크기, 보정 방식 등)에 근거하여 블록 메모리의 저장 환경 및 선입선출 큐의 필터처리 환경에 대한 영상 처리 환경정보를 설정한다. In addition, the image filter processing apparatus 200 may generate image processing environment information of the storage environment of the block memory and the filter processing environment of the first-in, first-out queue based on the filter setting information (the size of the image filter, the correction method, etc.) of the image filter. Set it.

영상 필터 처리장치(200)는 필터 설정정보에 근거하여 입력 영상의 라인 별로 분할한 영상 데이터를 저장하기 위한 블록 메모리의 개수 및 블록 메모리 각각의 크기에 대한 블록 메모리 저장 환경을 설정한다. 영상 필터 처리장치(200)는 필터 설정정보에 근거하여 선입선출 큐에 대한 개수 및 선입선출 큐의 사이즈에 대한 필터처리 환경을 설정한다. The image filter processing apparatus 200 sets the block memory storage environment for the number of block memories for storing the image data divided for each line of the input image and the size of each of the block memories based on the filter setting information. The image filter processing apparatus 200 sets the filter processing environment for the number of the first-in first-out queue and the size of the first-in first-out queue based on the filter setting information.

영상 필터 처리장치(200)는 영상 처리 환경정보에 근거하여 결정된 적어도 하나의 블록 메모리에 입력 영상에 대한 영상 데이터를 저장한다(S430). 영상 필터 처리장치(200)는 입력 영상을 라인 별로 분할한 영상 데이터를 블록 메모리에 저장한다. 여기서, 영상 필터 처리장치(200)는 적어도 하나의 블록 메모리 각각에 입력 영상의 서로 다른 라인에 대한 영상 데이터를 저장한다.The image filter processing apparatus 200 stores the image data for the input image in at least one block memory determined based on the image processing environment information (S430). The image filter processing apparatus 200 stores image data obtained by dividing an input image for each line in a block memory. Here, the image filter processing apparatus 200 stores image data for different lines of the input image in each of the at least one block memory.

영상 필터 처리장치(200)는 블록 메모리에 저장된 영상 데이터를 선입선출 큐로 읽어온다(S440). 다시 말해, 영상 필터 처리장치(200)는 적어도 하나의 블록 메모리 각각으로부터 서로 다른 라인에 대한 영상 데이터를 선입선출 큐로 획득하여 영상 처리가 수행되도록 한다. 여기서, 영상 필터 처리장치(200)는 적어도 하나의 블록 메모리에 영상 데이터의 최소 3 개의 라인이 저장된 이후부터 블록 메모리에 저장된 영상 데이터를 선입선출 큐로 불러오는 동작을 수행한다. The image filter processing apparatus 200 reads image data stored in the block memory into the first-in, first-out queue (S440). In other words, the image filter processing apparatus 200 acquires image data for different lines from each of the at least one block memory as a first-in first-out queue to perform image processing. Here, the image filter processing apparatus 200 performs an operation of loading the image data stored in the block memory into the first-in first-out queue after at least three lines of the image data are stored in the at least one block memory.

영상 필터 처리장치(200)는 선입선출 큐에 저장된 영상 데이터를 순차적으로 영상 필터를 적용하여 필터 연산을 처리한다(S450). 영상 필터 처리장치(200)는 영상 필터 내 픽셀값들을 합산한 픽셀 합산값을 이용하여 영상 필터의 정중앙에 위치한 영상 데이터의 픽셀값을 보정한다. The image filter processing apparatus 200 processes the filter operation by sequentially applying image filters to the image data stored in the first-in, first-out queue (S450). The image filter processing apparatus 200 corrects the pixel value of the image data located at the center of the image filter by using the sum of the pixel values of the pixel values in the image filter.

영상 필터 처리장치(200)는 필터 연산의 결과에 따른 보정 영상을 출력한다(S460). 영상 필터 처리장치(200)는 선입선출 큐에 따른 필터 연산에 따라 입력 영상의 라인 순서대로 보정 영상을 출력한다. 영상 필터 처리장치(200)는 입력 영상의 모든 영상 데이터가 처리될 때까지 반복하여 필터 연산을 수행하여 보정 영상을 출력한다. The image filter processing apparatus 200 outputs a corrected image according to the result of the filter operation (S460). The image filter processing apparatus 200 outputs a corrected image in line order of the input image according to a filter operation according to a first-in, first-out queue. The image filter processing apparatus 200 repeatedly performs a filter operation until all image data of the input image is processed and outputs a corrected image.

도 4에서는 각 단계를 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 4에 기재된 단계를 변경하여 실행하거나 하나 이상의 단계를 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 4는 시계열적인 순서로 한정되는 것은 아니다.In FIG. 4, the steps are described as being sequentially executed, but are not necessarily limited thereto. In other words, since the steps described in FIG. 4 may be applied by changing the steps or executing one or more steps in parallel, FIG. 4 is not limited to the time series order.

도 4에 기재된 본 실시예에 따른 FPGA 기반 영상 필터 처리방법은 애플리케이션(또는 프로그램)으로 구현되고 단말장치(또는 컴퓨터)로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 FPGA 기반 영상 필터 처리방법을 구현하기 위한 애플리케이션(또는 프로그램)이 기록되고 단말장치(또는 컴퓨터)가 읽을 수 있는 기록매체는 컴퓨팅 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치 또는 매체를 포함한다.The FPGA-based image filter processing method according to the present embodiment described in FIG. 4 may be implemented as an application (or a program) and recorded on a recording medium that may be read by a terminal device (or a computer). An application (or program) for implementing an FPGA-based image filter processing method according to the present embodiment is recorded and a recording medium readable by a terminal device (or computer) may be any type of data that can be read by a computing system. Recording device or medium.

도 5a 및 도 5b는 본 발명의 실시예에 따른 영상 필터 처리를 위한 영상 처리 환경 설정에 대해 설명하기 위한 예시도이다. 5A and 5B are exemplary diagrams for describing an image processing environment setting for image filter processing according to an exemplary embodiment of the present invention.

종래의 FPGA에서 블록 메모리(Block Memory) 자체를 버퍼로 사용하여 영상 처리를 수행했던 것과 다르게 본 발명의 FPGA 기반 영상 필터 처리장치(200)는 블록 메모리 및 선입선출 큐를 이용하여 영상 처리를 수행한다. Unlike image processing using block memory itself as a buffer in a conventional FPGA, the FPGA-based image filter processing apparatus 200 according to the present invention performs image processing using a block memory and a first-in, first-out queue. .

영상 필터 처리장치(200)는 입력되는 입력 영상을 하나의 라인(Line) 씩 다른 블록 메모리에 저장한다. 이때 필요한 블록 메모리의 개수는 영상 필터의 크기에 따라 다르게 설정될 수 있다. 예를 들어, 3 * 3 영상 필터일 경우 4개의 블록 메모리가 필요하고, 5 * 5 영상 필터일 경우 6개의 블록 메모리가 필요하다.The image filter processing apparatus 200 stores the input input image in a different block memory for each line. The required number of block memories may be set differently according to the size of the image filter. For example, four block memories are required for a 3 * 3 image filter, and six block memories are required for a 5 * 5 image filter.

또한, 영상 필터 처리장치(200)는 블록 메모리에 저장된 영상 데이터를 순차적으로 선입선출 큐로 불러와 필터 연산을 수행한다. In addition, the image filter processing apparatus 200 sequentially loads image data stored in the block memory into a first-in first-out queue to perform a filter operation.

도 5a 및 도 5b에서는 3 * 3 영상 필터를 적용하여 영상 필터 처리를 수행하는 것으로 가정한 예시도이다. 5A and 5B are exemplary diagrams illustrating that image filter processing is performed by applying a 3 * 3 image filter.

도 5a의 (a)에서, 영상 필터 처리장치(200)는 입력 영상의 라인 별 영상 데이터를 구분한다. In FIG. 5A (a), the image filter processing apparatus 200 classifies image data for each line of the input image.

도 5a의 (b)에서, 영상 필터 처리장치(200)는 입력 영상의 라인 별 영상 데이터 각각을 4 개의 서로 다른 블록 메모리 각각에 저장한다. 여기서, 블록 메모리의 크기(BRAM 사이즈)는 입력 영상의 하나의 라인 수 만큼의 영상을 지연(Delay) 시킬 수 있도록 설정되는 것이 바람직하다. 또한, 블록 메모리의 개수(BRAM의 개수)는 영상 필터의 라인 개수에 1을 더한 값으로 설정될 수 있다. In FIG. 5A (b), the image filter processing apparatus 200 stores each line of image data of the input image in each of four different block memories. Here, the size of the block memory (BRAM size) is preferably set so as to delay an image as many as one line of the input image. In addition, the number of block memories (the number of BRAMs) may be set to a value obtained by adding 1 to the number of lines of the image filter.

도 5b의 (a)에서, 영상 필터 처리장치(200)는 블록 메모리에 저장되어 있는 영상 데이터를 선입선출 큐로 읽어오는 동작을 수행한다. 영상 필터 처리장치(200)는 적어도 하나의 블록 메모리에 영상 데이터의 최소 3 개의 라인이 저장된 이후부터 블록 메모리에 저장된 영상 데이터를 선입선출 큐로 불러온다. In FIG. 5B (a), the image filter processing apparatus 200 performs an operation of reading image data stored in the block memory into a first-in, first-out queue. The image filter processing apparatus 200 loads the image data stored in the block memory into the first-in, first-out queue after at least three lines of the image data are stored in the at least one block memory.

여기서, 선입선출 큐의 크기(FIFO 사이즈)는 영상필터의 라인수와 동일하게 설정될 수 있으며, 영상 필터의 최소 필터 라인 개수 이상으로 설정될 수도 있다. 또한, 선입선출 큐의 개수(FIFO 개수)는 영상 필터의 크기와 동일하게 설정될 수 있다. Here, the size of the first-in, first-out queue (FIFO size) may be set equal to the number of lines of the image filter, or may be set to be equal to or greater than the minimum number of filter lines of the image filter. In addition, the number of first-in, first-out queues (FIFOs) may be set equal to the size of the image filter.

도 5b의 (b)에서, 영상 필터 처리장치(200)는 선입선출 처리방식에 따라 선입선출 큐에서 순차적으로 출력되는 영상 데이터에 영상 필터를 적용하여 필터 연산을 처리하고, 필터 연산의 결과에 따른 보정 영상을 출력한다.In FIG. 5B (b), the image filter processing apparatus 200 processes a filter operation by applying an image filter to image data sequentially output from a first-in first-out queue according to a first-in first-out process method, and according to the result of the filter operation. Output the corrected image.

도 6은 본 발명의 실시예에 따른 영상 필터 처리 동작을 설명하기 위한 예시도이다. 6 is an exemplary diagram for describing an image filter processing operation according to an exemplary embodiment of the present invention.

도 6에서는 4 * 5 크기의 입력 영상 및 3 * 3 크기의 영상 필터를 사용하는 것으로 가정하여 영상 필터 처리장치(200)의 영상 필터 처리 동작을 설명하도록 한다. In FIG. 6, an image filter processing operation of the image filter processing apparatus 200 will be described on the assumption that an input image of 4 * 5 size and an image filter of 3 * 3 size are used.

영상 필터 처리장치(200)는 도 6의 (a)와 같이 4 * 5 크기의 입력 영상이 입력되고, 이를 도 6의 (b)와 같은 3 * 3 필터를 이용하여 영상 처리를 수행한다. 이때 영상 처리해야 할 픽셀의 위치는 6과 15이다. 영상 필터 처리장치(200)의 영상 필터 처리 방식은 1, 2, 3, 5, 7, 9, 10, 11 위치에 있는 값들의 총 합을 이용하여 6위치의 픽셀 값을 결정하고, 10, 11, 12, 14, 16, 18, 19, 20 위치에 있는 값들의 총 합을 이용하여 15위치의 픽셀 값을 결정한다. The image filter processing apparatus 200 receives an input image having a size of 4 * 5 as shown in FIG. 6A, and performs the image processing using the 3 * 3 filter as shown in FIG. 6B. At this time, the positions of the pixels to be processed are 6 and 15. The image filter processing method of the image filter processing apparatus 200 determines the pixel value at 6 positions by using the sum of the values at positions 1, 2, 3, 5, 7, 9, 10, 11, and 10, 11 The pixel value at position 15 is determined using the sum of the values at positions 12, 14, 16, 18, 19, and 20.

도 6의 (c)와 같이 블록 메모리(BRAM)에는 입력 영상의 하나의 라인(line)씩 저장된다. 여기서, 블록 메모리의 크기는 4이며, 제1 블록 메모리(610)의 경우 제1 라인의 영상 데이터(1 내지 4)가 입력되어 유지되다가 제5 라인의 영상 데이터(17 내지 20)이 들어올 때 값이 바뀌게 된다. 다른 블록 메모리(BRAM2 내지 4)도 다음 데이터가 들어올 때까지 저장된 영상 데이터를 유지한다. As shown in FIG. 6C, each block of the input image is stored in the block memory BRAM. Here, the size of the block memory is 4, and in the case of the first block memory 610, a value when the image data (1 to 4) of the first line is input and maintained while the image data (17 to 20) of the fifth line is input. Will change. The other block memories BRAM2 to 4 also hold the stored image data until the next data comes in.

입력 영상의 1이나 2위치에 있는 픽셀을 처리하고자 할 때에는 입력 영상의 2 line만 가지고 연산을 하게 되기 때문에 블록 메모리에 2 line이 저장된 이후부터 선입선출 큐에서 블록 메모리에 저장된 영상 데이터들을 순차적으로 읽어와 계산하게 된다. When you want to process the pixel at the 1 or 2 position of the input image, only 2 lines of the input image are operated. Therefore, after 2 lines are stored in the block memory, the image data stored in the block memory is sequentially read from the first-in first-out queue. Calculate with

입력 영상의 5이나 6위치에 있는 픽셀을 처리하고자 할 때, 영상 필터 처리장치(200)는 3 line까지 블록 메모리에 저장 후 선입선출 큐로 필터 계산을 위해 필요한 영상 데이터를 읽어 올 수 있다. 이때 블록 메모리에 있는 영상 데이터는 3 line의 영상이 입력되는 동안은 유지 되기 때문에 선입선출 큐로 반복적으로 읽어와 사용할 수 있다. 여기서, 선입선출 큐의 크기는 3이며, 연산에 필요한 영상 데이터가 유지되어야 하는 구간이 선입선출 큐의 3 칸이다. When the pixels at positions 5 or 6 of the input image are to be processed, the image filter processing apparatus 200 may store up to 3 lines in the block memory and read image data necessary for filter calculation into a first-in, first-out queue. At this time, the video data in the block memory is maintained while 3 lines of video are inputted, so it can be repeatedly read and used in the first-in, first-out queue. Here, the size of the first-in, first-out queue is three, and the section in which the image data necessary for the operation is to be maintained is three spaces of the first-in, first-out queue.

영상 필터 처리장치(200)는 블록 메모리에서 3 line 유지 후에는 그 다음 데이터가 순서대로 입력된다. 영상 필터 처리장치(200)는 선입선출 처리 방식을 사용하기 때문에 영상 데이터가 입력되면 처음 들어간 영상 데이터는 밀려나게 되어 있어서 선입선출 큐의 크기는 최소 3으로 설정된다. After maintaining three lines in the block memory, the image filter processing apparatus 200 receives the next data in order. Since the image filter processing apparatus 200 uses the first-in, first-out processing method, when the image data is input, the first-in first-out image data is pushed out, so the size of the first-in first-out queue is set to at least three.

입력 영상의 1 번째 라인 데이터가 들어와 제1 블록 메모리(610)에 저장되면 2, 3, 4번째 라인 데이터가 들어오는 동안 유지되게 되고, 5 번째 라인 데이터가 들어올 때 새로운 데이터가 제1 블록 메모리(610)에 저장되게 된다. 이에 따라, 3 line의 영상이 입력되는 동안 블록 메모리에 유지된다. When the first line data of the input image enters and is stored in the first block memory 610, the second, third, and fourth line data are maintained while the first line data is input, and when the fifth line data is input, new data is stored in the first block memory 610. ) Will be stored. Accordingly, the image of 3 lines is maintained in the block memory while being input.

도 6의 (c)에서 영상출력이 6일 때 선입선출 큐 1 내지 9에 있는 값이 처리하는데 필요한 픽셀은 1, 2, 3, 5, 7, 9, 10, 11 임을 확인 할 수 있고, 영상출력이 15일 때 필요한 픽셀은 는 10, 11, 12, 14, 16, 18, 19, 20 임을 확인 할 수 있다. In (c) of FIG. 6, when the image output is 6, it is confirmed that the pixels required to process the values in the first-in, first-out queues 1 to 9 are 1, 2, 3, 5, 7, 9, 10, 11, and the image When the output is 15, the necessary pixels are 10, 11, 12, 14, 16, 18, 19, and 20.

영상 필터 처리장치(200)는 영상 처리가 필요하지 않은 픽셀은 그대로 출력하고 처리가 필요한 픽셀은 해당 데이터에 영상 필터를 적용하여 처리 후 출력해주면 영상이 전체적으로 2 line 정도 지연된다. 하지만, 픽셀간의 간격이 벌어지는 현상이 발생하지 않으므로 실시간 처리가 가능하다. The image filter processing apparatus 200 outputs a pixel that does not require image processing as it is, and outputs a pixel that requires processing by applying an image filter to the corresponding data and outputting the processed image. However, since the gap between pixels does not occur, real-time processing is possible.

영상 필터 처리장치(200)는 블록 메모리와 선입선출 큐에 새로운 영상이 입력되면, 순차적으로 영상 데이터를 저장하여 모든 영상에 대한 연산이 끝날 때까지 영상 필터 처리를 반복하여 수행한다. When a new image is input to the block memory and the first-in, first-out queue, the image filter processing apparatus 200 sequentially stores the image data and repeatedly performs the image filter process until the operation of all the images is completed.

본 발명에 따른 영상 필터 처리장치(200)는 내부 메모리가 작은 FPGA를 사용하거나 영상 필터의 사이즈가 커지더라도, 필요한 메모리가 크지 않아 내부 메모리를 이용하여 영상 처리가 가능하다. [표 1]은 영상 필터의 크기에 따른 종래 기술의 필요 메모리 사이즈 및 본 발명의 필요 메모리 사이즈를 비교하여 나타낸다.In the image filter processing apparatus 200 according to the present invention, even if an FPGA having a small internal memory is used or the size of the image filter is large, the required memory is not large so that image processing may be performed using the internal memory. Table 1 compares the required memory size of the prior art and the required memory size according to the size of the image filter.

Figure 112019035501817-pat00001
Figure 112019035501817-pat00001

또한, 영상 필터 처리장치(200)는 영상 필터를 이용한 실시간 영상 처리가 가능하며, 외부 메모리를 사용하지 않고 내부 메모리만을 이용하여 영상 처리를 수행함으로써, 보드 설계 시 제약이 사라지게 되는 장점이 있다. In addition, the image filter processing apparatus 200 is capable of real-time image processing using the image filter, by performing the image processing using only the internal memory without using an external memory, there is an advantage that the restrictions in the design of the board disappears.

도 7는 본 발명의 다른 실시예에 따른 영상 필터 처리를 위한 FPGA 장치를 개략적으로 나타낸 블록 구성도이다. 7 is a block diagram schematically illustrating an FPGA device for image filter processing according to another exemplary embodiment of the present invention.

영상 필터 처리를 위한 FPGA 장치(700)는 입력 모듈(710), 프로세서(720), 메모리(730) 및 출력 모듈(740)을 포함한다. The FPGA device 700 for image filter processing includes an input module 710, a processor 720, a memory 730, and an output module 740.

입력 모듈(710)은 외부 장치 또는 서버로부터 입력 영상을 획득하는 동작을 수행한다. 여기서, 입력 영상은 영상 촬영장치(미도시)로부터 촬영된 영상으로서, 기 설정된 크기의 영상을 의미한다.The input module 710 acquires an input image from an external device or a server. Here, the input image is an image captured by an image photographing apparatus (not shown), and means an image of a preset size.

프로세서(720)는 FPGA 장치(700)의 전반적인 동작을 제어한다. Processor 720 controls the overall operation of FPGA device 700.

프로세서(720)는 입력 영상을 보정하기 위한 영상 필터의 필터 설정정보를 설정하고, 영상 필터에 근거하여 영상 처리 환경정보를 설정한다.The processor 720 sets filter setting information of an image filter for correcting an input image, and sets image processing environment information based on the image filter.

프로세서(720)는 윈도우 슬라이딩 방식으로 이동하면서 입력 영상 내의 픽셀을 보정할 수 있도록 영상 필터의 크기, 보정 방식 등에 대한 필터 설정정보를 설정한다. 프로세서(720)는 n * n 형태(n은 3 이상의 자연수)의 영상 필터에 대한 필터 설정정보를 설정할 수 있다. 예를 들어, 필터 설정부(220)는 3 * 3, 5 * 5, 10 * 10, 30 * 30 등과 같은 정사각형 윈도우 형태의 영상 필터를 설정할 수 있다.The processor 720 sets filter setting information on the size of the image filter, a correction method, and the like so that the pixels in the input image can be corrected while moving in a window sliding manner. The processor 720 may set filter setting information for an image filter having an n * n form (n is a natural number of 3 or more). For example, the filter setting unit 220 may set an image filter having a square window shape such as 3 * 3, 5 * 5, 10 * 10, 30 * 30, and the like.

또한, 프로세서(720)는 영상 필터에 대한 필터 설정정보(영상 필터의 크기, 보정 방식 등)에 근거하여 블록 메모리의 저장 환경 및 선입선출 큐의 필터처리 환경에 대한 영상 처리 환경정보를 설정한다. In addition, the processor 720 sets image processing environment information on the storage environment of the block memory and the filter processing environment of the first-in, first-out queue based on the filter setting information (image filter size, correction method, etc.) for the image filter.

프로세서(720)는 필터 설정정보에 근거하여 입력 영상의 라인 별로 분할한 영상 데이터를 저장하기 위한 블록 메모리의 개수 및 블록 메모리 각각의 크기에 대한 블록 메모리 저장 환경을 설정한다. 프로세서(720)는 필터 설정정보에 근거하여 선입선출 큐에 대한 개수 및 선입선출 큐의 사이즈에 대한 필터처리 환경을 설정한다. The processor 720 sets the block memory storage environment for the number of block memories for storing the divided image data for each line of the input image and the size of each of the block memories based on the filter setting information. The processor 720 sets the filter processing environment for the number of the first-in, first-out queue and the size of the first-in, first-out queue based on the filter setting information.

프로세서(720)는 메모리(730)의 블록 메모리에 저장된 영상 데이터를 선입선출 큐로 읽어온다. 다시 말해, 프로세서(720)는 메모리(730)의 적어도 하나의 블록 메모리 각각으로부터 서로 다른 라인에 대한 영상 데이터를 선입선출 큐로 획득하여 영상 처리가 수행되도록 한다. 여기서, 프로세서(720)는 메모리(730)의 적어도 하나의 블록 메모리에 영상 데이터의 최소 3 개의 라인이 저장된 이후부터 블록 메모리에 저장된 영상 데이터를 선입선출 큐로 불러오는 동작을 수행한다. The processor 720 reads image data stored in the block memory of the memory 730 into the first-in, first-out queue. In other words, the processor 720 acquires image data for different lines from each of the at least one block memory of the memory 730 as a first-in first-out queue to perform image processing. Here, the processor 720 performs an operation of loading the image data stored in the block memory into the first-in, first-out queue after at least three lines of the image data are stored in the at least one block memory of the memory 730.

프로세서(720)는 선입선출 큐에 저장된 영상 데이터를 순차적으로 영상 필터를 적용하여 필터 연산을 처리한다. 프로세서(720)는 영상 필터 내 픽셀값들을 합산한 픽셀 합산값을 이용하여 영상 필터의 정중앙에 위치한 영상 데이터의 픽셀값을 보정한다. The processor 720 processes the filter operation by sequentially applying image filters to the image data stored in the first-in, first-out queue. The processor 720 corrects the pixel value of the image data located at the center of the image filter by using the pixel sum value obtained by adding the pixel values in the image filter.

메모리(730)는 FPGA 장치(700) 내부에 기 설정된 블록 메모리로써, 각종 데이터를 저장 및 관리하는 동작을 수행한다. 여기서, 블록 메모리는 BRAM일 수 있으며, 프로세서(720)의 제어에 따라 블록 메모리의 개수는 변경될 수 있다. The memory 730 is a block memory preset in the FPGA device 700, and stores and manages various data. Here, the block memory may be a BRAM, and the number of block memories may be changed under the control of the processor 720.

메모리(730)는 영상 처리 환경정보에 근거하여 결정된 적어도 하나의 블록 메모리에 입력 영상에 대한 영상 데이터를 저장한다. 메모리(730)는 입력 영상을 라인 별로 분할한 영상 데이터를 블록 메모리에 저장한다. 여기서, 메모리(730)는 적어도 하나의 블록 메모리 각각에 입력 영상의 서로 다른 라인에 대한 영상 데이터를 저장한다.The memory 730 stores image data of an input image in at least one block memory determined based on image processing environment information. The memory 730 stores image data obtained by dividing an input image by lines into a block memory. The memory 730 stores image data for different lines of the input image in each of the at least one block memory.

출력 모듈(740)은 필터 연산의 결과에 따른 보정 영상을 출력한다. 출력 모듈(740)은 선입선출 큐에 따른 필터 연산에 따라 입력 영상의 라인 순서대로 보정 영상을 출력한다. 여기서, 출력 모듈(740)은 보정 영상을 외부 디스플레이 장치로 전달하기 위한 모듈일 수 있으나 반드시 이에 한정되는 것은 아니며, 직접 보정 영상을 디스플레이하기 위한 모듈로 구현될 수도 있다. The output module 740 outputs a corrected image according to the result of the filter operation. The output module 740 outputs the corrected image in line order of the input image according to a filter operation according to the first-in, first-out queue. Here, the output module 740 may be a module for transmitting a corrected image to an external display device, but is not necessarily limited thereto and may be implemented as a module for directly displaying a corrected image.

도 7에 기재된 본 실시예에 따른 영상 필터 처리를 위한 FPGA 장치의 동작 및 기능은 애플리케이션(또는 프로그램)으로 구현되고 단말장치(또는 컴퓨터)로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 영상 필터 처리를 위한 FPGA 장치의 동작 및 기능을 구현하기 위한 애플리케이션(또는 프로그램)이 기록되고 단말장치(또는 컴퓨터)가 읽을 수 있는 기록매체는 컴퓨팅 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치 또는 매체를 포함한다.The operation and function of the FPGA device for image filter processing according to the present embodiment described in FIG. 7 may be implemented in an application (or a program) and recorded on a recording medium readable by a terminal device (or a computer). An application (or program) for implementing an operation and a function of an FPGA device for image filter processing according to the present embodiment is recorded, and a recording medium readable by a terminal device (or computer) includes data that can be read by a computing system. It includes all kinds of recording devices or media to be stored.

이상의 설명은 본 발명의 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명의 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명의 실시예들은 본 발명의 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical spirit of the embodiments of the present invention, and those skilled in the art to which the embodiments of the present invention pertain various modifications and modifications without departing from the essential characteristics of the embodiments of the present invention. Modifications may be possible. Therefore, the embodiments of the present invention are not intended to limit the technical spirit of the embodiments of the present invention, but to describe, and the scope of the technical spirit of the embodiments of the present invention is not limited by these embodiments. The protection scope of the embodiments of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the embodiments of the present invention.

200: 영상 필터 처리장치
210: 입력 영상 획득부 220: 필터 설정부
230: 영상 처리부 240: 메모리부
310: 블록 메모리 환경 설정부 320: 선입선출 환경 설정부
330: 영상 필터 처리부 340: 영상 출력부
200: image filter processing device
210: input image acquisition unit 220: filter setting unit
230: image processing unit 240: memory unit
310: block memory environment setting unit 320: first-in, first-out environment setting unit
330: Image filter processing unit 340: Image output unit

Claims (12)

필드 프로그램이 가능한 게이트 어레이 기반의 영상 필터를 처리하는 장치에 있어서,
입력 영상을 획득하는 입력 영상 획득부;
상기 입력 영상을 보정하기 위한 영상 필터를 설정하는 필터 설정부;
기 설정된 영상 처리 환경정보에 근거하여 상기 입력 영상을 라인(Line) 별로 분할한 영상 데이터를 블록 메모리에 저장하는 메모리부; 및
상기 영상 필터에 대한 필터 설정정보를 기반으로 상기 영상 처리 환경정보를 설정하며, 상기 블록 메모리로부터 상기 라인 별로 분할한 영상 데이터를 획득하여 상기 영상 필터 기반의 영상 처리를 수행하는 영상 처리부를 포함하되,
상기 메모리부는, 상기 영상 처리 환경정보에 근거하여 결정된 적어도 하나의 블록 메모리에 상기 영상 데이터를 저장하되, 상기 적어도 하나의 블록 메모리 각각에 서로 다른 라인에 대한 영상 데이터를 저장하며,
상기 영상 처리부는, 상기 블록 메모리의 저장 환경 및 선입선출 큐의 필터처리 환경에 대한 상기 영상 처리 환경정보를 결정하는 영상 처리 환경 설정부; 상기 적어도 하나의 블록 메모리 각각으로부터 상기 서로 다른 라인에 대한 영상 데이터를 상기 선입선출 큐로 획득하고, 선입선출 처리방식에 따라 순차적으로 상기 영상 데이터에 상기 영상 필터를 적용하여 필터 연산을 처리하는 영상 필터 처리부; 및 상기 필터 연산에 결과에 따른 보정 영상을 출력하는 영상 출력부를 포함하는 것을 특징으로 하는 영상 필터 처리장치.
An apparatus for processing a field programmable gate array based image filter,
An input image obtaining unit obtaining an input image;
A filter setting unit configured to set an image filter for correcting the input image;
A memory unit for storing image data obtained by dividing the input image into lines based on preset image processing environment information in a block memory; And
And an image processor configured to set the image processing environment information based on filter setting information for the image filter, and obtain the image data divided by the line from the block memory to perform the image filter based image processing.
The memory unit stores the image data in at least one block memory determined based on the image processing environment information, and stores image data for different lines in each of the at least one block memory.
The image processing unit may include an image processing environment setting unit configured to determine the image processing environment information regarding a storage environment of the block memory and a filter processing environment of a first-in, first-out queue; An image filter processor configured to acquire image data for the different lines from the at least one block memory as the first-in first-out queue, and apply the image filter to the image data sequentially according to a first-in first-out process to process a filter operation. ; And an image output unit configured to output a corrected image according to a result of the filter operation.
삭제delete 삭제delete 제1항에 있어서,
상기 영상 처리 환경 설정부는,
설정된 상기 영상 필터에 근거하여 상기 라인 별로 분할한 영상 데이터를 저장하기 위한 상기 블록 메모리의 개수 및 상기 블록 메모리 각각의 크기에 대한 상기 저장 환경을 설정하는 블록 메모리 환경 설정부; 및
설정된 상기 영상 필터에 근거하여 상기 선입선출 큐에 대한 개수 및 상기 선입선출 큐의 사이즈에 대한 상기 필터처리 환경을 설정하는 선입선출 환경 설정부
를 포함하는 것을 특징으로 하는 영상 필터 처리장치.
The method of claim 1,
The image processing environment setting unit,
A block memory environment setting unit configured to set the storage environment for the number of the block memories for storing the image data divided for each line and the size of each of the block memories based on the set image filter; And
A first-in, first-out environment setting unit that sets the filter processing environment for the number of the first-in first-out queue and the size of the first-in first-out queue based on the set image filter.
Image filter processing apparatus comprising a.
제4항에 있어서,
상기 블록 메모리 환경 설정부는,
상기 필터 설정정보의 필터 라인수에 1을 더한 값을 상기 블록 메모리의 개수로 설정하고, 상기 입력 영상의 하나의 라인에 포함된 픽셀수와 동일하게 상기 블록 메모리의 크기를 설정하는 것을 특징으로 하는 영상 필터 처리장치.
The method of claim 4, wherein
The block memory environment setting unit,
The number of filter lines of the filter setting information plus 1 is set to the number of the block memories, and the size of the block memory is set to be equal to the number of pixels included in one line of the input image. Image filter processing unit.
제4항에 있어서,
상기 선입선출 환경 설정부는,
상기 필터 설정정보의 상기 영상 필터의 크기와 동일하게 상기 선입선출 큐에 대한 개수를 설정하고, 상기 필터 설정정보의 필터 라인수와 동일하게 상기 선입선출 큐에 대한 크기를 설정하는 것을 특징으로 하는 영상 필터 처리장치.
The method of claim 4, wherein
The first-in, first-out environment setting unit,
The number of the first-in, first-out queue is set equal to the size of the image filter of the filter setting information, and the image is set to the size of the first-in, first-out queue equal to the number of filter lines of the filter setting information. Filter processing unit.
제1항에 있어서,
상기 영상 필터 처리부는,
상기 적어도 하나의 블록 메모리에 최소 3 개의 라인이 저장된 이후부터 상기 블록 메모리에 저장된 상기 영상 데이터를 선입선출 큐로 불러와 상기 필터 연산을 처리하는 것을 특징으로 하는 영상 필터 처리장치.
The method of claim 1,
The image filter processor,
And after the at least three lines are stored in the at least one block memory, the image data stored in the block memory is loaded into a first-in first-out queue to process the filter operation.
제1항에 있어서,
상기 필터 설정부는,
n * n 형태(n은 3 이상의 자연수)의 상기 영상 필터의 크기를 설정하되,
상기 필터 내 픽셀값을 합산한 픽셀 합산값을 이용하여 상기 영상 필터의 정중앙에 위치한 픽셀의 값을 보정하기 위한 상기 영상 필터를 설정하는 것을 특징으로 하는 영상 필터 처리장치.
The method of claim 1,
The filter setting unit,
Set the size of the image filter of the form n * n (n is a natural number of 3 or more),
And the image filter for correcting a value of a pixel located at the center of the image filter by using a pixel sum value obtained by adding pixel values in the filter.
필드 프로그램이 가능한 게이트 어레이 기반의 영상 필터를 처리하는 방법에 있어서,
입력 영상을 획득하는 단계;
상기 입력 영상을 보정하기 위한 영상 필터를 설정하는 단계;
상기 영상 필터에 대한 필터 설정정보를 기반으로 블록 메모리의 저장 환경 및 선입선출 큐의 필터처리 환경에 대한 영상 처리 환경정보를 설정하는 단계;
기 설정된 영상 처리 환경정보에 근거하여 상기 입력 영상을 라인(Line) 별로 분할한 영상 데이터를 적어도 하나의 블록 메모리에 저장하는 단계; 및
상기 적어도 하나의 블록 메모리로부터 상기 라인 별로 분할한 영상 데이터를 상기 선입선출 큐로 획득하여 상기 영상 필터 기반의 영상 처리를 수행하는 단계를 포함하되,
상기 적어도 하나의 블록 메모리에 저장하는 단계는, 상기 적어도 하나의 블록 메모리 각각에 서로 다른 라인에 대한 영상 데이터를 저장하고,
상기 영상 처리를 수행하는 단계는, 상기 서로 다른 라인에 대한 영상 데이터를 상기 선입선출 큐로 획득하고, 선입선출 처리방식에 따라 순차적으로 상기 영상 데이터에 상기 영상 필터를 적용하여 필터 연산을 처리하며, 상기 블록 메모리에 2 개의 라인이 저장된 이후부터 상기 블록 메모리에 저장된 상기 영상 데이터를 선입선출 큐로 불러와 상기 필터 연산을 처리하는 것을 특징으로 하는 영상 필터 처리방법.
A method of processing a field programmable gate array based image filter,
Obtaining an input image;
Setting an image filter to correct the input image;
Setting image processing environment information of a storage environment of a block memory and a filter processing environment of a first-in, first-out queue based on filter setting information of the image filter;
Storing image data obtained by dividing the input image into lines based on preset image processing environment information in at least one block memory; And
And acquiring the image data divided by the lines from the at least one block memory into the first-in, first-out queue to perform the image filter based image processing.
The storing of the at least one block memory may include storing image data for different lines in each of the at least one block memory,
The performing of the image processing may include obtaining image data for the different lines as the first-in first-out queue, and sequentially applying the image filter to the image data according to a first-in first-out process to process a filter operation. And after the two lines are stored in the block memory, the image data stored in the block memory is loaded into a first-in, first-out queue to process the filter operation.
삭제delete 삭제delete 컴퓨터에 제9항에 따른 영상 필터 처리방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.A computer program stored in a medium for causing a computer to execute the image filter processing method according to claim 9.
KR1020190040571A 2019-04-08 2019-04-08 Method and Apparatus for Image Filter Processing Based on Field Programmable Gate Array KR102064977B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190040571A KR102064977B1 (en) 2019-04-08 2019-04-08 Method and Apparatus for Image Filter Processing Based on Field Programmable Gate Array

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190040571A KR102064977B1 (en) 2019-04-08 2019-04-08 Method and Apparatus for Image Filter Processing Based on Field Programmable Gate Array

Publications (1)

Publication Number Publication Date
KR102064977B1 true KR102064977B1 (en) 2020-01-10

Family

ID=69158569

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190040571A KR102064977B1 (en) 2019-04-08 2019-04-08 Method and Apparatus for Image Filter Processing Based on Field Programmable Gate Array

Country Status (1)

Country Link
KR (1) KR102064977B1 (en)

Similar Documents

Publication Publication Date Title
US9473702B2 (en) Controlling image capture and/or controlling image processing
Altuncu et al. Real-time system implementation for image processing with hardware/software co-design on the Xilinx Zynq platform
US9519959B2 (en) Image processing apparatus, imaging apparatus, and method for processing image
US10713757B2 (en) Image processing apparatus, control method thereof, and storage medium
KR102064977B1 (en) Method and Apparatus for Image Filter Processing Based on Field Programmable Gate Array
JP2021524960A (en) Methods and equipment for removing video jitter
US8938133B2 (en) Image resizing apparatus and method that interpolates image blocks with abuttal regions
US9363412B2 (en) Accelerator circuit and image processing apparatus
EP3474224A1 (en) Graphics processing method and device
US10565674B2 (en) Graphics processing device and graphics processing method
CN104469160A (en) Image obtaining and processing method, system and terminal
CN113344832A (en) Image processing method and device, electronic equipment and storage medium
US8712194B1 (en) System for non-destructive image processing
US10853919B2 (en) Image processing apparatus, image processing method, and program
CN110677577A (en) Image processing method and device
US20200351456A1 (en) Image processing device, image processing method, and program
US7573513B2 (en) Image processing device and image processing method
US10672107B2 (en) Image processing apparatus and method of controlling the same
US20230179731A1 (en) Image processing apparatus
US20050270300A1 (en) Method and system for low cost line buffer system design
CN109947721A (en) A kind of small documents treating method and apparatus
US10304415B2 (en) Image processing apparatus and image processing method
JP6205980B2 (en) Image transfer apparatus and image transfer method
CN113888549A (en) Picture generation method and device, electronic equipment and storage medium
CN110754083A (en) Image processing method, device, system and storage medium

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant