[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR101727407B1 - Lens distortion correction apparatus and operating method of the same - Google Patents

Lens distortion correction apparatus and operating method of the same Download PDF

Info

Publication number
KR101727407B1
KR101727407B1 KR1020150150811A KR20150150811A KR101727407B1 KR 101727407 B1 KR101727407 B1 KR 101727407B1 KR 1020150150811 A KR1020150150811 A KR 1020150150811A KR 20150150811 A KR20150150811 A KR 20150150811A KR 101727407 B1 KR101727407 B1 KR 101727407B1
Authority
KR
South Korea
Prior art keywords
lens distortion
distortion correction
cores
output
correction cores
Prior art date
Application number
KR1020150150811A
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 KR1020150150811A priority Critical patent/KR101727407B1/en
Priority to PCT/KR2016/012186 priority patent/WO2017074072A1/en
Application granted granted Critical
Publication of KR101727407B1 publication Critical patent/KR101727407B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • H04N5/3572
    • G06T5/006
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • H04N25/61Noise processing, e.g. detecting, correcting, reducing or removing noise the noise originating only from the lens unit, e.g. flare, shading, vignetting or "cos4"
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/76Addressed sensors, e.g. MOS or CMOS sensors
    • H04N25/77Pixel circuitry, e.g. memories, A/D converters, pixel amplifiers, shared circuits or shared components
    • H04N5/3745
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)
  • Geometry (AREA)

Abstract

The present invention relates to a method for improving the system performance by effectively using a bus range. According to an embodiment of the present invention a lens distortion calibration apparatus comprises: a plurality of lens distortion calibration cores; and an output buffer for collecting output values from the plurality of lens distortion calibration core, and generating an output line by coupling on the basis of an order of the plurality of lens distortion calibration cores to the collected output values.

Description

렌즈 왜곡 교정 장치 및 동작 방법{LENS DISTORTION CORRECTION APPARATUS AND OPERATING METHOD OF THE SAME}TECHNICAL FIELD [0001] The present invention relates to a lens distortion correcting apparatus and a lens distortion correcting apparatus,

버스의 대역을 효율적으로 사용하여 시스템 성능을 향상시키기 위한 기술로서, 듀얼 또는 듀얼 이상의 다중으로 스캔하는 렌즈 왜곡 교정(LDC, Lens Distortion Correction) 장치의 구조에 관한 기술적 사상을 개시한다. As a technique for improving system performance by efficiently using a band of a bus, a technical idea about a structure of a lens distortion correction (LDC) apparatus that scans dual or dual or more is disclosed.

일반적인 렌즈 왜곡 교정(LDC, Lens Distortion Correction) 장치의 구조에 룩업테이블(LUT, Look-up table)만 변경함에 따라 다양한 이미지 처리가 가능하기 때문에 렌즈 왜곡 교정 장치는 다양한 분야에서 활용되고 있다. Since a variety of image processing is possible by changing only the look-up table (LUT) in the structure of a general lens distortion correction (LDC) apparatus, a lens distortion correction apparatus is utilized in various fields.

한편, 렌즈 왜곡 교정 장치는 룩업테이블에 따라 저장된 픽셀 값들을 읽어오는데 소요되는 대역의 양이 천차만별이다. 또한, 렌즈 왜곡 교정 장치를 활용하는데 가장 제약이 되는 문제는 대역이 부족하여 생기는 경우가 대부분이다.On the other hand, in the lens distortion correcting apparatus, the amount of bandwidth required to read the pixel values stored in accordance with the look-up table varies. In addition, most of the problems that are most restricted in utilizing the lens distortion correction apparatus are caused by insufficient bandwidth.

현재에는, 렌즈 왜곡 교정(LDC, Lens Distortion Correction)을 단일 스캔 방식으로 구현함에 따라 버스에서 지원하는 대역을 최대 활용할 수 없다. 결국 고객이 요구하는 프레임 레이트를 제공하는데 한계가 있는데, 이에 대한 해결 방안으로 SDR(Single Data Rate) 방식 대신에 DDR(Double Data Rate) 방식을 사용하는 등 데이터 레이트 자체를 늘리는 방식을 사용했었으나 고객이 요구하는 프레임 레이트를 제공할 수는 없는 실정이다.Nowadays, since the lens distortion correction (LDC) is implemented by a single scan method, it is not possible to fully utilize the band supported by the bus. Ultimately, there is a limitation in providing the frame rate required by the customer. In order to solve this problem, the data rate itself is increased by using the double data rate (DDR) instead of the single data rate (SDR) It is not possible to provide a required frame rate.

구체적으로, 종래에는 도 1의 구조(100)와 같이 장치를 생성하는데 하나의 렌즈 왜곡 교정 코어만을 사용하여 생성하고 그 동작은 출력 라인을 생성하는데 필요한 픽셀 값이 필요할 때마다 버스를 통해 데이터를 읽어오는 방식으로 동작한다.Specifically, conventionally, only one lens distortion correction core is used to create the device as in the structure 100 of FIG. 1, and its operation is to read data through the bus whenever a pixel value necessary to generate an output line is needed It works in the way it comes.

하나의 픽셀마다 버스를 통해 데이터를 리드하는 방식은 일정 단위만큼씩 읽어오는 것이 바람직하나 다양한 룩업테이블에 부합되도록 필요한 픽셀 데이터를 읽어와야 하는 경우 다음 읽어야 하는 픽셀 단위를 알 수 없다. 이를 위해 일반적으로 캐시를 사용할 수 있는데, 캐시를 사용하는 경우에는 캐시 히트의 경우 버스로 리드 요청(read request)을 보내는 것이 아니라 캐시에서 픽셀 데이터를 읽어서 처리하게 된다. 반대로, 캐시 미스인 경우에 버스에 리드 요청을 보내 DRAM으로부터 픽셀 데이터를 리드하여 처리한다. 이러한 기술에는 하나의 코어만을 사용하여 처리함으로써 DRAM에서 가용한 구간 동안에 쉬는 시간이 많아지게 되고 이로 인해 성능 저하가 발생된다.The method of reading data through a bus for each pixel is preferably read by a predetermined unit. However, if the required pixel data is read in order to match various lookup tables, the next pixel unit to be read can not be known. For this purpose, a cache is generally used. When a cache is used, a cache hit does not send a read request to the bus, but reads and processes pixel data from the cache. On the contrary, in the case of a cache miss, a read request is sent to the bus to read and process the pixel data from the DRAM. This technique uses only one core, thereby increasing the break time during the available time in the DRAM, thereby causing a performance degradation.

따라서, 버스에 주어지는 대역을 최대로 활용할 수 있는 기술이 필요하다.Therefore, there is a need for a technique that can maximize the bandwidth given to the bus.

대한민국 특허공개공보 제2015-0096231호Korean Patent Laid-Open Publication No. 2015-0096231 대한민국 특허등록공보 제1428534호Korean Patent Registration No. 1428534

일실시예에 따른 렌즈 왜곡 교정 장치는 복수의 렌즈 왜곡 교정 코어, 및 상기 복수의 렌즈 왜곡 교정 코어로부터의 출력 값들을 수집하고, 상기 수집된 출력 값들에 상기 복수의 렌즈 왜곡 교정 코어의 순서를 기초로 결합하여 출력 라인을 생성하는 출력 버퍼를 포함한다.A lens distortion correcting apparatus according to an embodiment includes a plurality of lens distortion correction cores and a plurality of lens distortion correction cores arranged to collect output values from the plurality of lens distortion correction cores, To generate an output line.

일실시예에 따른 렌즈 왜곡 교정 장치는 상기 복수의 렌즈 왜곡 교정 코어 각각에 대응되는 복수의 룩업테이블 메모리를 더 포함한다.The apparatus for correcting a lens distortion according to an embodiment further includes a plurality of lookup table memories corresponding to each of the plurality of lens distortion correcting cores.

일실시예에 따른 상기 복수의 렌즈 왜곡 교정 코어는, 각각의 룩업테이블에 동시 접속하여 상기 출력 값에 상응하는 픽셀데이터를 생성한다.The plurality of lens distortion correction cores according to an embodiment simultaneously access the respective lookup tables to generate pixel data corresponding to the output values.

일실시예에 따른 상기 복수의 룩업테이블 메모리는 각 렌즈 왜곡 교정 코어에 상응하는 룩업테이블 값을 저장한다.The plurality of look-up table memories according to one embodiment store look-up table values corresponding to each lens distortion correction core.

일실시예에 따른 상기 출력 버퍼는, 상기 출력 값의 수집 순서와 상관없이, 상기 복수의 렌즈 왜곡 교정 코어의 순서에 따라 순차적으로 상기 출력 라인을 생성한다.The output buffer according to an embodiment sequentially generates the output lines according to the order of the plurality of lens distortion correction cores, regardless of the order of collection of the output values.

일실시예에 따른 일실시예에 따른 상기 복수의 렌즈 왜곡 교정 코어 각각은 버스 리드 요청 포트(bus read request port)가 할당된다.Each of the plurality of lens distortion correction cores according to an exemplary embodiment is assigned a bus read request port.

일실시예에 따른 상기 복수의 렌즈 왜곡 교정 코어는 상기 출력 값들을 동시 출력하고, 상기 출력버퍼는 상기 동시 출력된 출력 값들을 상기 출력 라인에 따라 순차적으로 출력한다.The plurality of lens distortion correction cores according to an embodiment simultaneously outputs the output values, and the output buffer sequentially outputs the simultaneously output values according to the output line.

일실시예에 따른 상기 복수의 렌즈 왜곡 교정 코어는 동일한 시작 신호 및 종료 신호에 따라 시작 및 종료 시점이 동기화된다.The plurality of lens distortion correction cores according to an embodiment synchronize the start and end points according to the same start signal and end signal.

일실시예에 따른 상기 복수의 렌즈 왜곡 교정 코어는, 상기 복수의 렌즈 왜곡 교정 코어가 모두 종료된 종료 시점을 외부로 전달한다.The plurality of lens distortion correction cores according to one embodiment transfer the end point of time when all of the plurality of lens distortion correction cores are finished to the outside.

일실시예에 따른 렌즈 왜곡 교정 장치의 동작 방법은 복수의 렌즈 왜곡 교정 코어로부터의 출력 값들을 수집하는 단계, 및 상기 수집된 출력 값들에 상기 복수의 렌즈 왜곡 교정 코어의 순서를 기초로 결합하여 출력 라인을 생성하는 단계를 포함한다.A method for operating a lens distortion correction apparatus according to an embodiment includes the steps of collecting output values from a plurality of lens distortion correction cores and combining the collected output values based on the order of the plurality of lens distortion correction cores to output ≪ / RTI >

일실시예에 따른 상기 출력 라인을 생성하는 단계는, 상기 출력 값의 수집 순서와 상관없이, 상기 복수의 렌즈 왜곡 교정 코어의 순서에 따라 순차적으로 상기 출력 라인을 생성하는 단계를 포함한다.The step of generating the output line according to an embodiment includes sequentially generating the output line according to the order of the plurality of lens distortion correction cores, irrespective of the order of collection of the output values.

일실시예에 따른 렌즈 왜곡 교정 장치의 동작 방법은 상기 복수의 렌즈 왜곡 교정 코어가 상기 출력 값들을 동시 출력하는 단계를 더 포함하고, 상기 출력 라인을 생성하는 단계는, 상기 동시 출력된 출력 값들을 상기 출력 라인에 따라 순차적으로 출력하는 단계를 포함한다.The method of operating a lens distortion correcting apparatus according to an embodiment may further comprise the step of simultaneously outputting the output values by the plurality of lens distortion correction cores, and the step of generating the output line includes: And sequentially outputting the output signal in accordance with the output line.

일실시예에 따른 렌즈 왜곡 교정 장치의 동작 방법은 상기 복수의 렌즈 왜곡 교정 코어가 모두 종료된 종료 시점을 외부로 전달하는 단계를 더 포함한다. The method of operation of the apparatus for correcting a lens distortion according to an embodiment further includes the step of externally transmitting an end point at which the plurality of lens distortion correction cores are finished.

도 1은 종래 렌즈 왜곡 교정(LDC, Lens Distortion Correction) 장치의 구조를 설명하는 도면이다.
도 2는 본 발명의 일실시예에 따른 렌즈 왜곡 교정(LDC, Lens Distortion Correction) 장치의 구조를 설명하는 도면이다.
도 3은 일실시예에 따른 렌즈 왜곡 교정 장치와 종래 기술 간의 버스 접근 타이밍을 비교하는 도면이다.
도 4는 일실시예에 따른 렌즈 왜곡 교정 장치와 종래 기술 간의 한 프레임 파형을 비교하는 도면이다.
도 5는 일실시예에 따른 렌즈 왜곡 교정 장치와 종래 기술 간의 처리 결과 이미지를 비교하는 도면이다.
도 6은 본 발명의 다른 일실시예에 따른 렌즈 왜곡 교정(LDC, Lens Distortion Correction) 장치의 구조를 설명하는 도면이다.
도 7은 각 렌즈 왜곡 교정 코어들 간 동기 처리를 설명하는 도면이다.
도 8은 본 발명의 일실시예에 따른 렌즈 왜곡 교정(LDC, Lens Distortion Correction) 방법을 설명하는 도면이다.
1 is a view for explaining the structure of a conventional lens distortion correction (LDC) apparatus.
2 is a diagram illustrating a structure of a lens distortion correction (LDC) apparatus according to an embodiment of the present invention.
3 is a diagram for comparing bus access timings between the lens distortion correcting apparatus and the prior art according to an embodiment.
4 is a diagram for comparing one frame waveform between the lens distortion correcting apparatus according to the embodiment and the conventional art.
FIG. 5 is a diagram for comparing processing result images between a lens distortion correcting apparatus and a conventional technique according to an embodiment.
6 is a view for explaining a structure of a lens distortion correction (LDC) apparatus according to another embodiment of the present invention.
7 is a view for explaining the synchronization processing between the respective lens distortion correction cores.
8 is a view for explaining a lens distortion correction (LDC) method according to an embodiment of the present invention.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.It is to be understood that the specific structural or functional descriptions of embodiments of the present invention disclosed herein are presented for the purpose of describing embodiments only in accordance with the concepts of the present invention, May be embodied in various forms and are not limited to the embodiments described herein.

본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Embodiments in accordance with the concepts of the present invention are capable of various modifications and may take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. However, it is not intended to limit the embodiments according to the concepts of the present invention to the specific disclosure forms, but includes changes, equivalents, or alternatives falling within the spirit and scope of the present invention.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.The terms first, second, or the like may be used to describe various elements, but the elements should not be limited by the terms. The terms may be named for the purpose of distinguishing one element from another, for example without departing from the scope of the right according to the concept of the present invention, the first element being referred to as the second element, Similarly, the second component may also be referred to as the first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Expressions that describe the relationship between components, for example, "between" and "immediately" or "directly adjacent to" should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises ", or" having ", and the like, are used to specify one or more of the features, numbers, steps, operations, elements, But do not preclude the presence or addition of steps, operations, elements, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these embodiments. Like reference symbols in the drawings denote like elements.

본 발명에 따른 일실시예에 따른 렌즈 왜곡 교정(LDC, Lens Distortion Correction) 장치 및 동작 방법은 저장된 이미지로부터 룩업테이블을 통해 필요한 픽셀을 읽어 출력 이미지를 생성하는 분야와 관련된 모든 분야에 적용될 수 있다.A lens distortion correction (LDC) apparatus and an operation method according to an exemplary embodiment of the present invention can be applied to all fields related to the field of generating an output image by reading necessary pixels through a lookup table from a stored image.

도 2는 본 발명의 일실시예에 따른 렌즈 왜곡 교정(LDC, Lens Distortion Correction) 장치(200)의 구조를 설명하는 도면이다.2 is a view for explaining the structure of a lens distortion correction (LDC) apparatus 200 according to an embodiment of the present invention.

일실시예에 따른 렌즈 왜곡 교정 장치(200)는 버스에서 지원 가능한 대역을 최대로 사용함으로써 사용자가 요구하는 다양한 룩업테이블의 지원이라는 기능과 출력 프레임 레이트 성능을 만족할 수 있다. The apparatus for correcting distortion of a lens 200 according to an exemplary embodiment can satisfy various functions such as support of various lookup tables required by a user and output frame rate performance by using the maximum bandwidth available on the bus.

이를 위해, 렌즈 왜곡 교정 장치(200)는 복수의 렌즈 왜곡 교정 코어(201, 202)와 출력 버퍼(205)를 포함한다.To this end, the lens distortion correcting apparatus 200 includes a plurality of lens distortion correction cores 201, 202 and an output buffer 205.

특히, 출력 버퍼(205)는 복수의 렌즈 왜곡 교정 코어(201, 202)로부터의 출력 값들을 수집하고, 수집된 출력 값들에 복수의 렌즈 왜곡 교정 코어(201, 202)의 순서를 기초로 결합하여 출력 라인을 생성할 수 있다.In particular, the output buffer 205 collects the output values from the plurality of lens distortion correction cores 201, 202 and combines the collected output values based on the order of the plurality of lens distortion correction cores 201, 202 Output lines can be created.

구체적으로, 렌즈 왜곡 교정 장치(200)는 복수의 렌즈 왜곡 교정 코어(201, 202)와 출력 버퍼(205)를 이용하여 출력 라인을 생성한다. 예를 들어, 복수의 렌즈 왜곡 교정 코어(201, 202)는 픽셀 값이 필요할 때마다 버스를 통해 데이터를 읽어오는 방식으로 동작한다. 이때, 하나의 픽셀마다 버스를 통해 데이터를 리드하는 방식은 비효율적이므로 일정 단위만큼씩 읽어올 수 있다.Specifically, the lens distortion correcting apparatus 200 generates an output line by using a plurality of lens distortion correction cores 201, 202 and an output buffer 205. For example, the plurality of lens distortion correction cores 201 and 202 operate in such a manner that data is read through the bus every time a pixel value is needed. At this time, the method of reading data through a bus for each pixel is inefficient, so that it can be read by a predetermined unit.

복수의 렌즈 왜곡 교정 코어(201, 202)는 일정 단위만큼씩 데이터를 리드하기 위해, 각 렌즈 왜곡 교정 코어에 해당하는 룩업테이블을 참조할 수 있다. 일례로, 룩업테이블들은 이 룩업테이블 메모리(206, 207)에 저장될 수 있다.The plurality of lens distortion correction cores 201 and 202 can refer to a lookup table corresponding to each lens distortion correction core in order to read data by a predetermined unit. In one example, lookup tables may be stored in this lookup table memory 206, 207.

룩업테이블 메모리(206, 207)는 캐시의 기능을 수행할 수 있다. 예를 들어, 룩업테이블 메모리(206, 207)를 사용하는 경우, 복수의 렌즈 왜곡 교정 코어(201, 202)는 필요한 픽셀이 룩업테이블 메모리(206, 207)에 있으면 버스로 리드 요청(read request)을 보내는 것이 아니라 룩업테이블 메모리(206, 207)에서 픽셀 데이터를 읽어서 처리하게 된다.The lookup table memories 206 and 207 may perform the functions of a cache. For example, when the look-up table memories 206 and 207 are used, the plurality of lens distortion correction cores 201 and 202 can make a read request to the bus if necessary pixels are in the look-up table memories 206 and 207, The lookup table memories 206 and 207 read and process the pixel data.

반대로, 필요한 픽셀이 룩업테이블 메모리(206, 207)에 없는 경우 복수의 렌즈 왜곡 교정 코어(201, 202)는 버스에 리드 요청을 보내 DRAM으로부터 픽셀 데이터를 리드하여 처리한다.Conversely, when the necessary pixels are not in the lookup table memories 206 and 207, the plurality of lens distortion correction cores 201 and 202 send a read request to the bus to read and process the pixel data from the DRAM.

본 발명에 따르면, 복수의 코어들을 사용함으로써 DRAM에서 가용한 구간 동안에 쉬는 시간이 단일 코어를 사용할 때 보다 적어지고 이로 인해 성능 향상이 가능하다.According to the present invention, by using a plurality of cores, the rest time during a section available in the DRAM becomes smaller than when a single core is used, thereby improving performance.

즉, 종래 하나의 코어만으로 한 라인을 생성하던 것을 렌즈 왜곡 교정 장치(200)는 한 라인을 두 개 또는 그 이상의 개수로 나누고 나뉜 개수만큼의 코어들로 각각 맡아서 생성할 수 있다. 이를 위해서는 각 코어에서 룩업테이블 메모리(LUT sram)를 별도로 가지고 있어야 하고 각 룩업테이블 메모리(LUT sram)의 내용이 동일할 수 있다. 한편, 룩업테이블 메모리(LUT sram)은 각 코어에서 필요로 하는 룩업테이블 값들만을 저장하는 것으로 최적화될 수도 있다. 이렇게 각 코어에서 나뉜 영역을 동시에 생성한 뒤에 생성된 라인 버퍼를 읽어서 출력될 때에는 순차적으로 이어서 출력하게 된다.That is, the lens distortion correcting apparatus 200 can generate a line by using only one core in the related art, by dividing one line into two or more cores, and by dividing each line into a plurality of cores. To do this, each core must have a separate look-up table memory (LUT sram) and the contents of each look-up table memory (LUT sram) may be identical. On the other hand, the lookup table memory (LUT sram) may be optimized by storing only the lookup table values required by each core. Thus, the generated line buffers are read after the areas divided by each core are simultaneously generated, and then sequentially outputted when they are output.

각 복수의 렌즈 왜곡 교정 코어(201, 202)가 동시에 맡은 영역을 생성하기 위해서는 도면부호 203, 204와 같이 버스로 리드 요청을 함께 보내게 되며 이를 통해 버스에서 가용한 대역을 최대로 사용할 수 있다. 도 2와 같이 두 개의 코어를 사용하더라도 실제로는 버스에 조금 더 여유가 있을 수 있고 이러한 경우 듀얼 스캔 방식을 통해 더 많은 코어를 병행처리 할 수 있다.In order to create an area occupied by the plurality of lens distortion correction cores 201 and 202 at the same time, a read request is sent together with the buses 203 and 204, so that the band available in the bus can be used at the maximum. As shown in FIG. 2, even if two cores are used, there may actually be a little more margin on the bus. In this case, more cores can be processed in parallel by the dual scan method.

본 발명을 구현하기 위해서는 도 2와 같이 복수의 렌즈 왜곡 교정 코어(201, 202)로 구성되어 각각 버스에 캐시 미스에 따른 요청을 보낼 수 있어야 하고 각 복수의 렌즈 왜곡 교정 코어(201, 202)의 출력값은 출력 버퍼(205)를 나누어 '쓰기' 할 수 있어야 한다. 또한 각 렌즈 왜곡 교정 코어(201, 202)는 출력 버퍼(205)에 해당되는 위치의 픽셀 데이터를 생성하기 위한 룩업테이블 메모리(206, 207)도 동시에 접근할 수 있도록 구성된다. 또한, 나뉘어서 '쓰기'된 출력 값들이 출력될 때에는 렌즈 왜곡 교정 코어(201, 202)의 순서에 부합되도록 순차적으로 리드될 수 있다.In order to implement the present invention, a plurality of lens distortion correction cores 201 and 202 must be able to send a request according to a cache miss to a bus as shown in FIG. 2, and each of the plurality of lens distortion correction cores 201 and 202 The output value must be able to 'write' to the output buffer 205. In addition, each of the lens distortion correction cores 201 and 202 is configured to simultaneously access lookup table memories 206 and 207 for generating pixel data at a position corresponding to the output buffer 205. In addition, when the divided output values are outputted, they can be sequentially read out in accordance with the order of the lens distortion correction cores 201 and 202.

도 3은 일실시예에 따른 렌즈 왜곡 교정 장치와 종래 기술 간의 버스 접근 타이밍을 비교하는 도면이다.3 is a diagram for comparing bus access timings between the lens distortion correcting apparatus and the prior art according to an embodiment.

도 3의 도면부호 310에서, o_miss_req0(311)와 o_miss_req1(313)은 캐시 미스가 발생되어 버스로 리드 요청을 보내는 신호이다.3, o_miss_req0 (311) and o_miss_req1 (313) are signals for generating a cache miss and sending a read request to the bus.

o_miss_req0(311)와 o_miss_req1(313)의 신호가 캐시 히트인 구간에서는 생성되지 않다가 캐시 미스가 발생되는 경우에만 생성됨에 따라 버스에서는 쉬는 시간이 많아지게 되고 이로 인해 대역이 비효율적으로 사용되어 결국 성능 저하가 발생한다. 종래의 경우 캐시 미스가 발생되는 경우에만 리드 요청(312, 314, 315)이 버스로 전달됨에 따라 버스에서 쉬는 시간(316)이 많아지는 즉, 가용한 대역을 효율적으로 사용하지 못하는 문제가 발생할 수 있다. 이에 일실시예에 따른 렌즈 왜곡 교정 장치는 되도록 가용한 대역을 모두 사용할 수 있도록, 2개 이상의 코어들이 하나의 라인을 나누어 그리도록 스캐닝(scanning)함으로써 대역을 효율적으로 사용할 수 있다.Since the signals of o_miss_req0 311 and o_miss_req1 313 are not generated in a cache hit period but are generated only when a cache miss occurs, the rest of time is increased on the bus, resulting in inefficient use of the bandwidth, Lt; / RTI > In the conventional case, since the read requests 312, 314, and 315 are transmitted to the bus only when a cache miss occurs, the problem that the available time can not be efficiently used, that is, have. Accordingly, the apparatus for correcting a lens distortion according to an embodiment can efficiently use a band by scanning two or more cores so as to divide and draw one line so that all available bands can be used.

도면부호 320은 일실시예에 따른 렌즈 왜곡 교정 장치의 타이밍을 나타낸다.Reference numeral 320 denotes the timing of the lens distortion correcting apparatus according to one embodiment.

일실시예에 따른 렌즈 왜곡 교정 장치는 캐시 미스가 발생되는 경우에 o_miss_req0(321)와 o_miss_req1(322)를 통해 버스로 리드 요청을 보낼 수 있다.The apparatus for correcting a lens distortion according to an embodiment can send a read request to the bus through o_miss_req0 321 and o_miss_req1 322 when a cache miss occurs.

일실시예에 따른 렌즈 왜곡 교정 장치는 출력 버퍼를 여러 개로 나누어서 출력 라인을 동시에 그릴 수 있고, 버스로 리드 요청(323)을 보내는 포트의 개수도 각 코어의 개수에 대응되도록 종래에 비해 늘어난다. 그 결과 도면부호 320로 식별되는 동일한 라인 처리에 대한 듀얼 스캔(Dual Scan) 방식의 결과 타이밍도는 버스에서의 쉬는 시간(324)이 현저하게 줄어들 수 있다.The apparatus for correcting the distortion of a lens according to an embodiment can divide output buffers into a plurality of output lines at the same time, and the number of ports for sending a read request 323 to the bus is also increased as compared with the number of the cores. As a result, the resulting timing diagram of the Dual Scan scheme for the same line processing identified by reference numeral 320 can significantly reduce the break time 324 on the bus.

구체적으로, 도면부호 310과 도면부호 320의 타이밍도를 비교해보면 도면부호 320에 해당하는 버스가 쉬는 시간이 훨씬 적은 것을 알 수 있다. 이로 인해 도면부호 310에 해당하는 종래의 장치에서는 19755.04ns 의 처리시간이 필요했던 것이 도면부호 320에 해당하는 일실시예에 따른 렌즈 왜곡 교정 장치에서는 듀얼 스캔 방식으로 처리함으로써 12686.24ns의 시간만이 필요하다.Specifically, when the timing charts 310 and 320 are compared with each other, it can be seen that the bus corresponding to the reference numeral 320 has a much shorter rest time. Therefore, in the conventional apparatus corresponding to the reference numeral 310, the processing time of 19755.04 ns is required. In the lens distortion correcting apparatus according to the embodiment, which corresponds to the reference numeral 320, only the time of 12686.24 ns is required Do.

본 발명에 따르면, 이러한 성능향상으로 인해 종래 언더플로우가 발생하는 문제를 해결할 수 있다.According to the present invention, it is possible to solve the problem that conventional underflow occurs due to such performance enhancement.

도 4는 일실시예에 따른 렌즈 왜곡 교정 장치와 종래 기술 간의 한 프레임 파형을 비교하는 도면이다.4 is a diagram for comparing one frame waveform between the lens distortion correcting apparatus according to the embodiment and the conventional art.

버스의 대역을 효율적으로 활용하지 못하는 문제로 인해, 언더플로우(underflow)가 발생할 수 있다. 그러나, 일실시예에 따른 렌즈 왜곡 교정 장치에서는 룩업테이블이 듀얼 스캔 방식으로 동작하기 때문에, 언더플로우(underflow)를 예방할 수 있다.Underflow can occur due to the problem of not efficiently utilizing the bandwidth of the bus. However, in the lens distortion correcting apparatus according to the embodiment, because the lookup table operates in a dual scanning manner, underflow can be prevented.

구체적으로, 도 4의 도면부호 410은 종래 장치를 사용하는 한 프레임을 나타내는 것으로서, 한 프레임의 앞 쪽 라인에서 언더플로우(411)가 발생되는 것을 볼 수 있다.Specifically, reference numeral 410 in FIG. 4 denotes one frame using the conventional apparatus, and it can be seen that an underflow 411 is generated in the front line of one frame.

일실시예에 따른 렌즈 왜곡 교정 장치는 룩업테이블이 듀얼 스캔 방식으로 동작하기 때문에 언더플로우가가 발생되지 않는다.The apparatus for correcting a lens distortion according to an embodiment does not underflow because the lookup table operates in a dual scanning manner.

언더플로우는 출력 라인의 생성 속도보다 출력 속도가 빠른 경우 발생하는데, 이렇게 언더플로우가 발생하면 아직 생성되지 않은 라인을 출력하는 것으로 해석될 수 있다. 즉, 언더플로우가 발생하는 경우에는 이전에 생성되었던 라인 데이터가 대신 출력된다. 이로 인해 전체 이미지는 아래로 늘어지게 된다.An underflow occurs when the output speed is faster than the output speed of the output line. If such an underflow occurs, it can be interpreted as outputting a line that has not yet been generated. That is, when an underflow occurs, line data that has been generated previously is output instead. This causes the entire image to hang down.

도 5는 일실시예에 따른 렌즈 왜곡 교정 장치와 종래 기술 간의 처리 결과 이미지를 비교하는 도면이다.FIG. 5 is a diagram for comparing processing result images between a lens distortion correcting apparatus and a conventional technique according to an embodiment.

도 5는 언더플로우가 발생하는 종래 장치에 따른 결과 이미지(510)와 언더플로우가 발생하지 않는 듀얼 스캔 방식의 결과 이미지(520)를 나타낸다.FIG. 5 shows a resultant image 510 according to a conventional apparatus in which an underflow occurs and a resultant image 520 in a dual scan method in which no underflow occurs.

도 5의 결과 이미지들(510, 520)을 비교하면 언더플로우가 발생된 결과 이미지(510)에는 물결치는 듯한 부분이 보이고 중간 부분도 아래로 늘어져 있는 것을 볼 수 있다. 반면에 일실시예에 따른 렌즈 왜곡 교정 장치로부터의 결과 이미지(520)는 사용자가 의도한 대로 중간 부분이 유지되면서 물결 모양의 문제도 발생되지 않는다.When comparing the result images 510 and 520 of FIG. 5, it can be seen that a wavy portion is seen in the resulting image 510 in which an underflow occurs, and a middle portion is also drawn down. On the other hand, the resulting image 520 from the lens distortion correcting apparatus according to one embodiment does not cause a wavy problem as the intermediate portion is maintained as intended by the user.

도 6은 본 발명의 다른 일실시예에 따른 렌즈 왜곡 교정(LDC, Lens Distortion Correction) 장치의 구조를 설명하는 도면이다.6 is a view for explaining a structure of a lens distortion correction (LDC) apparatus according to another embodiment of the present invention.

본 발명의 다른 일실시예에 따른 렌즈 왜곡 교정 장치(600)는 복수의 코어들과 각 코어들에 대응되는 룩업테이블 메모리들을 사용하여 다중 스캔 방식을 구현할 수 있다.The lens distortion correcting apparatus 600 according to another embodiment of the present invention can implement a multiple scan method using a plurality of cores and lookup table memories corresponding to the cores.

이를 위해, 일실시예에 따른 렌즈 왜곡 교정 장치(600)는 되도록 가용한 대역을 모두 사용할 수 있도록 복수개의 코어들을 이용해서 하나의 출력 라인을 나누어 그리도록 스캐닝할 수 있다. 또한, 복수의 렌즈 왜곡 교정 코어 각각은 버스 리드 요청 포트(bus read request port)가 하나씩 할당될 수 있다.To this end, the lens distortion correcting apparatus 600 according to the embodiment can scan one output line by using a plurality of cores so that all available bands can be used. In addition, each of the plurality of lens distortion correction cores may be assigned one bus read request port.

예를 들어, 복수의 코어들에서 동시에 생성된 출력 값들은 출력 버퍼에 순차적으로 기록될 수 있다. 이때, 출력 버퍼는 코어의 순서를 고려하여 출력 값들을 순차적으로 기록할 수 있다. 구체적으로, 일실시예에 따른 렌즈 왜곡 교정 장치(600)가 코어 0에서부터 코어 N-1를 이용하는 경우 출력 버퍼는 코어 0으로부터의 출력 값에서부터 코어 N-1으로부터의 출력 값을 순차적으로 저장할 수 있다.For example, output values generated simultaneously in a plurality of cores may be sequentially written to the output buffer. At this time, the output buffer can sequentially record the output values considering the order of the cores. Specifically, when the lens distortion correcting apparatus 600 according to the embodiment uses the core N-1 from the core 0, the output buffer can sequentially store the output value from the core N-1 from the output value from the core 0 .

도 7은 각 렌즈 왜곡 교정 코어들 간 동기 처리를 설명하는 도면이다.7 is a view for explaining the synchronization processing between the respective lens distortion correction cores.

렌즈 왜곡 교정 장치에 포함되는 각 렌즈 왜곡 교정 코어들은 함께 시작되고 끝나는 시점도 맞춰야 하므로 각 렌즈 왜곡 교정 코어들이 모두 끝난 뒤에 최종 끝났음을 나타내는 신호를 출력해야 한다.Each lens distortion correction cores included in the lens distortion correction apparatus must also start and end at the same time so that a signal indicating that the end of each lens distortion correction cores is finished after the completion of all the lens distortion correction cores should be outputted.

도 7의 타이밍도(700)를 살펴보면, 복수의 렌즈 왜곡 교정 코어는 동일한 시작 신호(701) 및 종료 신호(702)에 따라 시작 및 종료 시점이 동기화될 수 있다. 예를 들어, 렌즈 왜곡 교정 장치에 포함되는 각 렌즈 왜곡 교정 코어들은 시작 신호(701)에 따라 출력 값들을 생성하여 외부로 출력하고, 종료 신호(702)와 함께 출력 값들의 생성을 종료할 수 있다.Referring to the timing diagram 700 of FIG. 7, a plurality of lens distortion correction cores may be synchronized in start and end times according to the same start signal 701 and end signal 702. [ For example, each of the lens distortion correction cores included in the lens distortion correcting apparatus can generate output values according to the start signal 701, output them to the outside, and terminate generation of output values together with the end signal 702 .

일실시예에 따른 복수의 렌즈 왜곡 교정 코어는 복수의 렌즈 왜곡 교정 코어가 모두 종료된 종료 시점을 외부로 전달할 수 있다.The plurality of lens distortion correction cores according to one embodiment can externally transmit the end points at which the plurality of lens distortion correction cores are all finished.

도 8은 본 발명의 일실시예에 따른 렌즈 왜곡 교정 방법을 설명하는 도면이다.8 is a view for explaining a lens distortion correction method according to an embodiment of the present invention.

일실시예에 따른 렌즈 왜곡 교정 방법은 복수의 렌즈 왜곡 교정 코어로부터의 출력 값들을 수집할 수 있다(단계 801).The lens distortion correction method according to one embodiment may collect output values from a plurality of lens distortion correction cores (step 801).

일실시예에 따른 렌즈 왜곡 교정 방법은 하나의 코어만으로 한 라인을 생성하던 기술을 대신하여, 한 라인을 두 개 또는 그 이상의 개수로 나누고 나뉜 개수만큼의 코어들로 각각 맡아서 생성할 수 있다. 이를 위해서는 각 코어들에서 룩업테이블 메모리를 별도로 가지고 있어야 하고, 각 룩업테이블 메모리의 내용은 동일할 수 있다. 이 룩업테이블 메모리도 각 코어에서 필요로 하는 값들만을 저장하는 것으로 최적화할 수도 있다. 이렇게 각 코어들에서 나뉜 영역을 동시에 생성한 뒤에 생성된 라인 버퍼를 읽어서 출력될 때에는 순차적으로 이어서 출력할 수 있다.The method of correcting a lens distortion according to an embodiment can generate a line by dividing one line into two or more and dividing one line into a plurality of cores in place of the technique of generating a line with only one core. To do this, each core must have a separate lookup table memory, and the contents of each lookup table memory may be the same. This lookup table memory may also be optimized by storing only the values required by each core. Thus, when the generated line buffer is read after the regions divided from the cores are simultaneously generated, the output can be sequentially output sequentially.

다음으로, 렌즈 왜곡 교정 방법은 수집된 출력 값들에 복수의 렌즈 왜곡 교정 코어의 순서를 기초로 결합하여 출력 라인을 생성할 수 있다(단계 802).Next, the lens distortion correction method may combine the collected output values based on the order of the plurality of lens distortion correction cores to generate an output line (step 802).

출력 라인은 복수의 렌즈 왜곡 교정 코어의 순서를 기초로 결합하기 때문에 출력될 때에는 복수의 렌즈 왜곡 교정 코어의 순서와 마찬가지로 순차적으로 이어서 출력될 수 있다.Since the output lines are combined based on the order of the plurality of lens distortion correction cores, they can be sequentially output in the same manner as the order of the plurality of lens distortion correction cores when being output.

각 코어들이 동시에 맡은 영역을 출력 라인으로 생성하기 위해서는 버스로 리드 요청을 동시에 보내게 되며, 이를 통해 버스에서 가용한 대역을 최대로 사용할 수 있다. 일실시예에 따른 렌즈 왜곡 교정 방법과 같이 두 개 이상의 코어들을 사용하더라도 실제 버스에는 대역이 조금 더 여유가 있을 수 있고, 이러한 경우 더 많은 코어를 병행 처리할 수 있도록 확장함으로써 한정된 대역을 최대로 사용할 수 있다. In order for each core to simultaneously generate the area to be output as an output line, it sends a read request to the bus at the same time, thereby maximizing the available bandwidth on the bus. Even if two or more cores are used as in the lens distortion correction method according to one embodiment, the actual bus may have a little more bandwidth, and in such a case, the limited bandwidth can be maximally used .

일실시예에 따른 렌즈 왜곡 교정 방법은 복수의 렌즈 왜곡 교정 코어가 모두 종료된 종료 시점을 외부로 전달할 수 있다. 즉, 일실시예에 따른 렌즈 왜곡 교정 방법은 각 렌즈 왜곡 교정 코어들은 함께 시작되고 끝나는 시점을 맞춰야 하므로 각 렌즈 왜곡 교정 코어들이 모두 끝난 뒤에 최종 끝났음을 나타내는 신호를 출력할 수 있다.The lens distortion correction method according to one embodiment can deliver the end point of time when all of the plurality of lens distortion correction cores are finished to the outside. That is, in the method of correcting the lens distortion according to the embodiment, since each lens distortion correction cores must start and end together, it is possible to output a signal indicating that the end of each lens distortion correction cores is finally finished.

결국, 본 발명을 이용하면 버스에서 지원 가능한 대역을 최대로 사용함으로써 사용자가 요구하는 다양한 룩업테이블의 지원이라는 기능과 출력 프레임 레이트의 성능을 만족할 수 있다.As a result, by using the present invention, it is possible to satisfy a function of supporting various lookup tables required by a user and a performance of an output frame rate by maximizing the bandwidth available on the bus.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치 또는 가상 장치(virtual equipment)일 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be any type of machine, component, physical device, or virtual equipment, to be interpreted by or to provide instructions or data to the processing device. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (15)

컴퓨팅 단말에 의해 비일실시적으로 구현되는 렌즈 왜곡 교정 장치에 있어서,
복수의 렌즈 왜곡 교정 코어; 및
상기 복수의 렌즈 왜곡 교정 코어로부터의 출력 값들을 수집하고, 상기 수집된 출력 값들에 상기 복수의 렌즈 왜곡 교정 코어의 순서를 기초로 결합하여 출력 라인을 생성하는 출력 버퍼를 포함하며,
상기 복수의 렌즈 왜곡 교정 코어 각각에 대응되는 복수의 룩업테이블 메모리를 포함하고, 상기 복수의 렌즈 왜곡 교정 코어 각각은 버스 리드 요청 포트(bus read request port)가 할당되는
렌즈 왜곡 교정 장치.
A lens distortion correcting apparatus which is non-practically implemented by a computing terminal,
A plurality of lens distortion correction cores; And
And an output buffer for collecting output values from the plurality of lens distortion correction cores and combining the collected output values based on the order of the plurality of lens distortion correction cores to generate output lines,
And a plurality of look-up table memories corresponding to each of the plurality of lens distortion correction cores, wherein each of the plurality of lens distortion correction cores is allocated a bus read request port
Lens distortion correction device.
삭제delete 제1항에 있어서,
상기 복수의 렌즈 왜곡 교정 코어는,
각각의 룩업테이블에 동시 접속하여 상기 출력 값에 상응하는 픽셀데이터를 생성하는 렌즈 왜곡 교정 장치.
The method according to claim 1,
Wherein the plurality of lens distortion correction cores
And simultaneously accessing each of the lookup tables to generate pixel data corresponding to the output values.
제1항에 있어서,
상기 복수의 룩업테이블 메모리는 각 렌즈 왜곡 교정 코어에 상응하는 룩업테이블 값을 저장하는 렌즈 왜곡 교정 장치.
The method according to claim 1,
Wherein the plurality of look-up table memories store look-up table values corresponding to respective lens distortion correction cores.
제1항에 있어서,
상기 출력 버퍼는,
상기 출력 값의 수집 순서와 상관없이, 상기 복수의 렌즈 왜곡 교정 코어의 순서에 따라 순차적으로 상기 출력 라인을 생성하는 렌즈 왜곡 교정 장치.
The method according to claim 1,
The output buffer includes:
Wherein the output line is sequentially generated in accordance with the order of the plurality of lens distortion correction cores irrespective of the collection order of the output values.
삭제delete 제1항에 있어서,
상기 복수의 렌즈 왜곡 교정 코어는 상기 출력 값들을 동시 출력하고,
상기 출력 버퍼는 상기 동시 출력된 출력 값들을 상기 출력 라인에 따라 순차적으로 출력하는 렌즈 왜곡 교정 장치.
The method according to claim 1,
Wherein the plurality of lens distortion correction cores output the output values simultaneously,
Wherein the output buffer sequentially outputs the simultaneously output values along the output line.
제1항에 있어서,
상기 복수의 렌즈 왜곡 교정 코어는
동일한 시작 신호 및 종료 신호에 따라 시작 및 종료 시점이 동기화되는 렌즈 왜곡 교정 장치.
The method according to claim 1,
The plurality of lens distortion correction cores
And the start and end points are synchronized according to the same start signal and end signal.
제8항에 있어서,
상기 복수의 렌즈 왜곡 교정 코어는,
상기 복수의 렌즈 왜곡 교정 코어가 모두 종료된 종료 시점을 외부로 전달하는 렌즈 왜곡 교정 장치.
9. The method of claim 8,
Wherein the plurality of lens distortion correction cores
And transmits the end point at which the plurality of lens distortion correction cores are all terminated to the outside.
복수의 렌즈 왜곡 교정 코어로부터의 출력 값들을 수집하는 단계; 및
상기 수집된 출력 값들에 상기 복수의 렌즈 왜곡 교정 코어의 순서를 기초로 결합하여 출력 라인을 생성하는 단계를 포함하며,
상기 복수의 렌즈 왜곡 교정 코어 각각에 대응되는 복수의 룩업테이블 메모리를 포함하고, 상기 복수의 렌즈 왜곡 교정 코어 각각은 버스 리드 요청 포트(bus read request port)가 할당되는
렌즈 왜곡 교정 장치의 동작 방법.
Collecting output values from a plurality of lens distortion correction cores; And
And combining the collected output values based on the order of the plurality of lens distortion correction cores to generate an output line,
And a plurality of look-up table memories corresponding to each of the plurality of lens distortion correction cores, wherein each of the plurality of lens distortion correction cores is allocated a bus read request port
A method of operating a lens distortion correcting apparatus.
제10항에 있어서,
상기 출력 라인을 생성하는 단계는,
상기 출력 값의 수집 순서와 상관없이, 상기 복수의 렌즈 왜곡 교정 코어의 순서에 따라 순차적으로 상기 출력 라인을 생성하는 단계
를 포함하는 렌즈 왜곡 교정 장치의 동작 방법.
11. The method of claim 10,
Wherein generating the output line comprises:
Generating the output line sequentially according to the order of the plurality of lens distortion correction cores, regardless of the order of collection of the output values
And correcting the distortion of the lens distortion correcting device.
제10항에 있어서,
상기 복수의 렌즈 왜곡 교정 코어가 상기 출력 값들을 동시 출력하는 단계
를 더 포함하고,
상기 출력 라인을 생성하는 단계는, 상기 동시 출력된 출력 값들을 상기 출력 라인에 따라 순차적으로 출력하는 단계
를 포함하는 렌즈 왜곡 교정 장치의 동작 방법.
11. The method of claim 10,
Wherein the plurality of lens distortion correction cores simultaneously output the output values
Further comprising:
The step of generating the output line may include sequentially outputting the simultaneously output values along the output line
And correcting the distortion of the lens distortion correcting device.
제10항에 있어서,
상기 복수의 렌즈 왜곡 교정 코어가 모두 종료된 종료 시점을 외부로 전달하는 단계
를 더 포함하는 렌즈 왜곡 교정 장치의 동작 방법.
11. The method of claim 10,
And transmitting the end point of time when the plurality of lens distortion correction cores are finished to the outside
Further comprising the steps of:
제10항 내지 제13항 중에서 어느 한 항의 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
A computer-readable recording medium having recorded thereon a program for performing the method according to any one of claims 10 to 13.
기록매체에 저장되는 렌즈 왜곡 교정 장치의 동작을 위한 프로그램으로서, 상기 프로그램은 컴퓨팅 시스템에서 실행되는:
복수의 렌즈 왜곡 교정 코어로부터의 출력 값들을 수집하는 명령어 세트; 및
상기 수집된 출력 값들에 상기 복수의 렌즈 왜곡 교정 코어의 순서를 기초로 결합하여 출력 라인을 생성하는 명령어 세트를 포함하며,
상기 복수의 렌즈 왜곡 교정 코어 각각에 대응되는 복수의 룩업테이블 메모리를 포함하고, 상기 복수의 렌즈 왜곡 교정 코어 각각은 버스 리드 요청 포트(bus read request port)가 할당되는
렌즈 왜곡 교정 장치의 동작을 위한 프로그램.
12. A program for operation of a lens distortion correcting apparatus stored in a recording medium, the program being executed in a computing system,
A set of instructions for collecting output values from a plurality of lens distortion correction cores; And
And combining the collected output values based on the order of the plurality of lens distortion correction cores to generate an output line,
And a plurality of look-up table memories corresponding to each of the plurality of lens distortion correction cores, wherein each of the plurality of lens distortion correction cores is allocated a bus read request port
A program for the operation of a lens distortion correcting device.
KR1020150150811A 2015-10-29 2015-10-29 Lens distortion correction apparatus and operating method of the same KR101727407B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150150811A KR101727407B1 (en) 2015-10-29 2015-10-29 Lens distortion correction apparatus and operating method of the same
PCT/KR2016/012186 WO2017074072A1 (en) 2015-10-29 2016-10-27 Lens distortion correction device and operation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150150811A KR101727407B1 (en) 2015-10-29 2015-10-29 Lens distortion correction apparatus and operating method of the same

Publications (1)

Publication Number Publication Date
KR101727407B1 true KR101727407B1 (en) 2017-04-14

Family

ID=58579330

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150150811A KR101727407B1 (en) 2015-10-29 2015-10-29 Lens distortion correction apparatus and operating method of the same

Country Status (2)

Country Link
KR (1) KR101727407B1 (en)
WO (1) WO2017074072A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102617175B1 (en) * 2022-08-04 2023-12-27 주식회사 라온텍 Display device capable of compensating image distortion and image distortion compensating method thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010101601A (en) * 1999-01-21 2001-11-14 피터 엔. 데트킨 Software correction of image distortion in digital cameras
KR20050085150A (en) * 2002-11-26 2005-08-29 어드밴스드 마이크로 디바이시즈, 인코포레이티드 Microprocessor including cache memory supporting multiple accesses per cycle
KR101265278B1 (en) * 2013-04-10 2013-05-16 (주)리얼허브 Apparatus and method for parallel processing of image
KR101428534B1 (en) 2012-12-13 2014-08-11 한국항공대학교산학협력단 Apparatus and method for correcting lens distortion
KR20150096231A (en) 2014-02-14 2015-08-24 울산대학교 산학협력단 Device and method for correcting lens distortion

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9105090B2 (en) * 2011-07-13 2015-08-11 Analog Devices, Inc. Wide-angle lens image correction
JP2013239120A (en) * 2012-05-17 2013-11-28 Olympus Corp Image processing device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010101601A (en) * 1999-01-21 2001-11-14 피터 엔. 데트킨 Software correction of image distortion in digital cameras
KR20050085150A (en) * 2002-11-26 2005-08-29 어드밴스드 마이크로 디바이시즈, 인코포레이티드 Microprocessor including cache memory supporting multiple accesses per cycle
KR101428534B1 (en) 2012-12-13 2014-08-11 한국항공대학교산학협력단 Apparatus and method for correcting lens distortion
KR101265278B1 (en) * 2013-04-10 2013-05-16 (주)리얼허브 Apparatus and method for parallel processing of image
KR20150096231A (en) 2014-02-14 2015-08-24 울산대학교 산학협력단 Device and method for correcting lens distortion

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102617175B1 (en) * 2022-08-04 2023-12-27 주식회사 라온텍 Display device capable of compensating image distortion and image distortion compensating method thereof
WO2024029836A1 (en) * 2022-08-04 2024-02-08 주식회사 라온텍 Display device capable of screen distortion correction and screen distortion correction method thereof
KR20240020709A (en) * 2022-08-04 2024-02-15 주식회사 라온텍 Display device capable of compensating image distortion and image distortion compensating method thereof
KR102662037B1 (en) 2022-08-04 2024-05-08 주식회사 라온텍 Display device capable of compensating image distortion and image distortion compensating method thereof

Also Published As

Publication number Publication date
WO2017074072A1 (en) 2017-05-04

Similar Documents

Publication Publication Date Title
KR100908760B1 (en) Method and memory device having multiple internal data buses and memory bank interleaving
JP5351145B2 (en) Memory control device, memory system, semiconductor integrated circuit, and memory control method
US20090204771A1 (en) Device for controlling access from a plurality of masters to shared memory composed of a plurality of banks each having a plurality of pages
JPH07219844A (en) Apparatus and method for cache line replacing
US8954644B2 (en) Apparatus and method for controlling memory
US20080071958A1 (en) Audio Processor, Input/Output Processing Apparatus, and Information Processing Apparatus
TWI753063B (en) Data transfer apparatus and data transfer method
US11721373B2 (en) Shared multi-port memory from single port
US9070201B2 (en) Image processing apparatus
US20110087821A1 (en) Apparatus to access multi-bank memory
KR101727407B1 (en) Lens distortion correction apparatus and operating method of the same
KR20070082835A (en) Apparatus and method for controlling direct memory access
US9767054B2 (en) Data transfer control device and memory-containing device
US20180068413A1 (en) Image processing device and image processing method
US20100262763A1 (en) Data access method employed in multi-channel flash memory system and data access apparatus thereof
US9672874B2 (en) Buffer, method for controlling buffer, synchronization control device, synchronization control method, image processing apparatus, and image processing method
EP2133797B1 (en) Dma transfer device and method
JP5675278B2 (en) Data processing apparatus and image processing apparatus
JP2007018222A (en) Memory access control circuit
US9760508B2 (en) Control apparatus, computer system, control method and storage medium
US20120144150A1 (en) Data processing apparatus
US20130286762A1 (en) Memory control apparatus and method
JP2014154000A (en) Memory control device, and control method and control program thereof
JP2019200592A (en) Memory control circuit, output circuit, memory control circuit control method, and output circuit control method
JP2005222245A (en) Processor

Legal Events

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