KR20230165584A - 영상 왜곡 보정 장치 및 방법 - Google Patents

영상 왜곡 보정 장치 및 방법 Download PDF

Info

Publication number
KR20230165584A
KR20230165584A KR1020220065537A KR20220065537A KR20230165584A KR 20230165584 A KR20230165584 A KR 20230165584A KR 1020220065537 A KR1020220065537 A KR 1020220065537A KR 20220065537 A KR20220065537 A KR 20220065537A KR 20230165584 A KR20230165584 A KR 20230165584A
Authority
KR
South Korea
Prior art keywords
pixels
distortion
pixel block
paragraph
image
Prior art date
Application number
KR1020220065537A
Other languages
English (en)
Other versions
KR102655332B1 (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 KR1020220065537A priority Critical patent/KR102655332B1/ko
Publication of KR20230165584A publication Critical patent/KR20230165584A/ko
Application granted granted Critical
Publication of KR102655332B1 publication Critical patent/KR102655332B1/ko

Links

Classifications

    • G06T5/80
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/006Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/0031Geometric image transformation in the plane of the image for topological mapping of a higher dimensional structure on a lower dimensional surface
    • G06T3/0037Reshaping or unfolding a 3D tree structure onto a 2D plane
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/0068Geometric image transformation in the plane of the image for image registration, e.g. elastic snapping
    • G06T3/067
    • G06T3/14
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4007Interpolation-based scaling, e.g. bilinear interpolation

Abstract

본 개시의 일 실시예에 따라, 컴퓨팅 장치에 의해 수행되는 영상 왜곡 보정 방법으로서, 상기 방법은, 왜곡을 포함하는 입력 영상의 일부인 픽셀 블록에 대한 정방향 매핑을 수행하여, 정방향 매핑된 픽셀 블록을 포함하는 후보 영역을 획득하는 단계, 상기 후보 영역에 대한 역방향 매핑을 수행하여, 상기 후보 영역 내의 픽셀들 중 보간을 수행할 대상 픽셀들을 결정하는 단계, 및 상기 대상 픽셀들에 대한 보간을 수행하여, 상기 왜곡을 보정한 출력 영상을 구성하기 위한 출력 픽셀들을 획득하는 단계를 포함할 수 있다.

Description

영상 왜곡 보정 장치 및 방법{DEVICE AND METHOD FOR IMAGE CORRECTION}
본 개시는 영상 왜곡 보정 장치 및 방법에 관한 것이다.
최근 운전자 보조를 위해 차량 외부에 다수의 카메라가 설치되는 추세이며, 특히 넓은 시야각을 얻기 위해 어안렌즈를 이용한 카메라를 많이 사용한다. 종래의 어안렌즈 영상의 왜곡 보정은, 먼저 왜곡된 영상을 메모리에 모두 저장하고, 출력 픽셀을 생성하는데 필요한 입력 픽셀을 메모리에서 읽어 보정된 영상을 구성하는 방식으로 수행되었다.
이는 종래의 왜곡 보정 방법이 출력 화소의 위치를 기준으로 입력 영상에서의 위치를 찾는 역방향 매핑(inverse mapping) 방법으로 왜곡을 보정하기 때문으로, 즉 출력 영상의 첫 번째 픽셀이 어안렌즈에 의해 왜곡된 입력 영상에서는 수십 혹은 수백 번째 라인에 위치할 수 있으므로, 적어도 해당 라인 만큼의 데이터를 저장해야 프로세싱을 시작할 수 있기 때문이다.
이에 따라 종래의 왜곡 보정 방법은, 입력 영상을 저장할 수 있는 메모리를 필요로 하며, 특히 최근 카메라의 화소수가 증가함에 따라 점점 더 큰 메모리 리소스가 요구되고 있다. 나아가 입력 영상을 저장한 후 왜곡 보정이 시작되기 때문에, 처리 지연시간이 발생하는 문제가 존재한다.
반대로 입력 화소를 기준으로 출력 영상에서의 위치를 계산하는 정방향 매핑(forward mapping)을 사용할 경우 메모리가 필요하지 않고 지연시간이 짧아지지만, 이 경우 하나의 입력 화소가 여러 개의 출력 화소에 대응하는 one-to-many, 또는 여러 입력 화소가 하나의 출력 화소에 대응하는 many-to-one 문제를 해결해야 하기 때문에 실제 활용이 어렵다는 문제가 있다.
이에, 역방향 매핑 방법에 상응하는 왜곡 보정 결과를 얻을 수 있으면서도, 왜곡 보정에 소요되는 메모리 리소스와 지연시간을 줄일 수 있는 영상 왜곡 보정 기술이 요구된다.
해결하고자 하는 과제는, 정방향 매핑과 역방향 매핑을 조합하여 메모리 리소스와 지연시간을 최소화하는 영상 왜곡 보정 장치 및 방법을 제공하는 것이다. 상기 과제 이외에도 구체적으로 언급되지 않은 다른 과제를 달성하는 데 사용될 수 있다.
본 발명의 실시예에 따르면, 컴퓨팅 장치에 의해 수행되는 영상 왜곡 보정 방법으로서, 상기 방법은, 왜곡을 포함하는 입력 영상의 일부인 픽셀 블록에 대한 정방향 매핑을 수행하여, 정방향 매핑된 픽셀 블록을 포함하는 후보 영역을 획득하는 단계, 상기 후보 영역에 대한 역방향 매핑을 수행하여, 상기 후보 영역 내의 픽셀들 중 보간을 수행할 대상 픽셀들을 결정하는 단계, 및 상기 대상 픽셀들에 대한 보간을 수행하여, 상기 왜곡이 보정된 출력 영상을 구성하기 위한 출력 픽셀들을 획득하는 단계를 포함할 수 있다.
상기 왜곡은, 어안렌즈(fisheye lens) 왜곡을 포함할 수 있다.
상기 픽셀 블록은, 상기 입력 영상을 픽셀 단위의 기 설정된 크기로 분할한 블록일 수 있다.
상기 픽셀 블록을 획득하는 단계는, 상기 입력 영상 내의 픽셀을 스캔 순서에 따라 메모리에 순차적으로 저장하는 단계, 및 저장된 상기 픽셀로부터 적어도 하나의 상기 픽셀 블록을 형성하는 단계를 포함할 수 있다.
상기 정방향 매핑은, 상기 픽셀 블록의 각 모서리에 위치하는 코너 픽셀들의 위치 값에 대하여 수행될 수 있다.
상기 대상 픽셀들을 결정하는 단계는, 상기 후보 영역 내의 픽셀들에 대한 역방향 매핑을 수행하는 단계, 및 역방향 매핑된 픽셀들 중, 상기 픽셀 블록의 영역에 대응되는 픽셀들을 상기 대상 픽셀들로 결정하는 단계를 포함할 수 있다.
상기 보간은, 상기 대상 픽셀들, 및 상기 입력 영상 내의 픽셀들 중 상기 대상 픽셀들에 인접한 픽셀들 중 적어도 일부를 기초로 수행될 수 있다.
본 발명의 실시예에 따르면, 컴퓨팅 장치에 의해 수행되는 영상 왜곡 보정 방법으로서, 상기 방법은, 왜곡을 포함하는 입력 영상의 픽셀들을 순차적으로 저장하는 단계, 저장된 상기 픽셀들로부터 적어도 하나의 픽셀 블록이 형성 가능하다는 결정에 응답하여, 상기 적어도 하나의 픽셀 블록에 대한 정방향 매핑을 수행하는 단계, 및 정방향 매핑된 픽셀 블록을 기초로 역방향 매핑을 수행하여, 상기 왜곡이 보정된 출력 영상을 구성하기 위한 출력 픽셀들을 획득하는 단계를 포함할 수 있다.
상기 왜곡은, 어안렌즈(fisheye lens) 왜곡을 포함할 수 있다.
상기 적어도 하나의 픽셀 블록은, 상기 입력 영상을 픽셀 단위의 기 설정된 크기로 분할한 블록일 수 있다.
상기 정방향 매핑은, 상기 픽셀 블록의 각 모서리에 위치하는 코너 픽셀들의 위치 값에 대하여 수행될 수 있다.
상기 출력 픽셀들을 획득하는 단계는, 상기 정방향 매핑된 픽셀 블록을 포함하는 후보 영역을 획득하는 단계, 상기 후보 영역에 대한 상기 역방향 매핑을 수행하여, 상기 후보 영역 내의 픽셀들 중 보간을 수행할 대상 픽셀들을 결정하는 단계, 및 상기 대상 픽셀들에 대한 보간을 수행하여, 상기 출력 픽셀들을 획득하는 단계를 포함할 수 있다.
상기 후보 영역은, 상기 정방향 매핑된 픽셀 블록을 포함하는 영역일 수 있다.
상기 대상 픽셀들을 결정하는 단계는, 상기 후보 영역 내의 픽셀들에 대한 역방향 매핑을 수행하는 단계, 및 역방향 매핑된 픽셀들 중, 상기 픽셀 블록의 영역에 대응되는 픽셀들을 상기 대상 픽셀들로 결정하는 단계를 포함할 수 있다.
상기 보간은, 상기 대상 픽셀들, 및 상기 입력 영상 내의 픽셀들 중 상기 대상 픽셀들에 인접한 픽셀들 중 적어도 일부를 기초로 수행될 수 있다.
본 발명의 실시예에 따르면, 영상 왜곡 보정 장치로서, 왜곡을 포함하는 입력 영상의 픽셀들을 순차적으로 저장하는 메모리부, 저장된 상기 픽셀들로부터 적어도 하나의 픽셀 블록이 형성 가능하다는 결정에 응답하여, 상기 적어도 하나의 픽셀 블록에 대한 정방향 매핑을 수행하는 정방향 매핑부, 정방향 매핑된 픽셀 블록을 포함하는 후보 영역에 대한 역방향 매핑을 수행하여, 상기 후보 영역 내의 픽셀들 중 보간을 수행할 대상 픽셀들을 결정하는 역방향 매핑부, 및 상기 대상 픽셀들에 대한 보간을 수행하여 상기 왜곡이 보정된 출력 영상을 구성하기 위한 출력 픽셀들을 획득하는 픽셀 보간부를 포함할 수 있다.
상기 왜곡은, 어안렌즈(fisheye lens) 왜곡을 포함할 수 있다.
상기 적어도 하나의 픽셀 블록은, 상기 입력 영상을 픽셀 단위의 기 설정된 크기로 분할한 블록일 수 있다.
상기 대상 픽셀들은, 상기 후보 영역 내의 픽셀들에 대한 역방향 매핑을 수행하고, 상기 역방향 매핑된 픽셀들 중, 상기 픽셀 블록의 영역에 대응되는 픽셀들로 결정될 수 있다.
본 발명의 실시예에 따르면, 입력 영상을 모두 저장할 필요 없이 수 개의라인만을 저장하여 왜곡을 보정할 수 있기 때문에, 영상 저장을 위한 메모리 리소스 및 지연시간을 줄일 수 있다.
본 발명의 실시예에 따르면, 왜곡 보정에 소요되는 지연시간을 줄일 수 있기 때문에, 왜곡 보정 이후에 긴 연산 시간을 필요로 하는 객체 검출 등의 분야에서 연산에 할당 가능한 시간을 증가시킬 수 있다.
본 발명의 실시예에 따르면, 입력 영상을 모두 저장할 필요가 없으므로, 작은 용량의 메모리를 사용하면서도 입력 영상의 화질을 저하시킬 필요가 없고, 궁극적으로 보정 후의 출력 영상을 고화질로 유지할 수 있다.
도 1은 본 발명의 몇몇 실시예에 따른 영상 왜곡 보정 장치를 나타낸 블록도이다.
도 2는 본 발명의 몇몇 실시예에 따른 픽셀 블록을 개략적으로 도시한 도면이다.
도 3은 본 발명의 몇몇 실시예에 따른 정방향 매핑을 개략적으로 도시한 도면이다.
도 4는 본 발명의 몇몇 실시예에 따른 역방향 매핑을 개략적으로 도시한 도면이다.
도 5는 본 발명의 몇몇 실시예에 따른 영상 왜곡 보정 방법에 대한 순서도이다.
도 6은 본 개시의 몇몇 실시예에 따른 영상 왜곡 보정 방법을 제공하는 컴퓨팅 장치를 나타낸 블록도이다.
아래에서는 첨부한 도면을 참고로 하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 네트워크를 구성하는 장치들은 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 개시의 몇몇 실시예에 따른 영상 왜곡 보정 장치를 나타낸 블록도이다.
도 1을 참조하면, 본 개시에 따른 영상 왜곡 보정 장치(100)는 라인 메모리부(110), 정방향 매핑부(120), 역방향 매핑부(130) 및 픽셀 보간부(140)를 포함할 수 있다. 다만 상술한 구성은 본 개시에 따른 영상 왜곡 보정 장치(100)를 구현하는 데 필수적인 것은 아니어서, 영상 왜곡 보정 장치(100)는 열거된 구성보다 많거나 적은 구성들로 구현될 수 있다.
또한 본 개시에 따른 영상 왜곡 보정 장치(100)는, 왜곡이 포함된 보정 전 영상(즉, 입력 영상)을 수신하기 위해 영상 입력 장치(200)와 통신적으로 연결될 수 있다. 여기서 보정 전 영상에 포함된 왜곡은 예컨대 어안렌즈(fish-eye lens)에 의한 왜곡일 수 있다. 다만 이에 한정되는 것은 아니며, 보정 전 영상에 포함된 왜곡은 방사 왜곡, 접선 왜곡 등 영상에 존재할 수 있는 임의의 기하학적 왜곡을 포함할 수 있다.
한편 영상 왜곡 보정 장치(100)는, 영상 왜곡 보정 장치(100)로부터 생성된 보정 후 영상(즉, 출력 영상)을 저장하기 위한 영상 저장 장치(300)와 통신적으로 연결될 수 있다. 도 1에서는 영상 입력 장치(200) 및 영상 저장 장치(300)가 영상 왜곡 보정 장치(100)와 독립적으로 존재하는 일례를 도시하였으나 이에 한정되는 것은 아니며, 영상 입력 장치(200) 및/또는 영상 저장 장치(300)는 영상 왜곡 보정 장치(100) 내부의 일 모듈로서 구현될 수 있다.
본 개시에 따른 영상 왜곡 보정 장치(100)의 라인 메모리부(110)는, 영상 입력 장치(200)로부터 입력되는 영상의 픽셀을 순차적으로 저장할 수 있고, 저장된 픽셀들에 의해 적어도 하나의 픽셀 블록이 형성되는 경우, 해당 픽셀 블록에 대한 정보를 정방향 매핑부(120)로 전달할 수 있다.
여기서 라인 메모리부(110)는, 입력 영상의 픽셀을 래스터 스캔(raster scan; 픽셀을 화면 위쪽의 수평 주사선을 한 줄씩 아래쪽으로 내리면서 나란하게 주사하여 화면을 형성하는 주사 방식)에 따라 순차적으로 저장할 수 있다. 다만 이에 한정되는 것은 아니다.
여기서 픽셀 블록은, 영상 입력 장치(200)로부터 입력되는 입력 영상을 픽셀 단위의 기 설정된 임의의 크기로 나눈 블록으로, 본 개시에 따른 영상 왜곡 보정 방법의 수행 대상이 되는 단위 블록을 의미할 수 있다. 가령 픽셀 블록의 높이가 H, 너비가 W인 경우, 각각의 픽셀 블록은 개의 픽셀을 포함할 수 있다.
이 때 입력 영상을 구성하는 픽셀 블록들 사이의 영역이 비어있지 않도록 해야 하므로, 각각의 픽셀 블록들에서 가장 외곽의 픽셀들은 인접한 픽셀 블록들과 중첩되도록 형성될 수 있다. 픽셀 블록의 일 예시에 관하여 도 2를 통해 보다 자세히 설명한다.
본 개시에 따른 라인 메모리부(110)는, L 개의 라인(line)으로 이루어지며, 라인 당 N 개의 픽셀을 저장할 수 있는 메모리일 수 있다. 한편 픽셀 블록은 본 개시에 따른 영상 왜곡 보정 방법의 수행 대상이 되는 기본 단위 블록이므로, 라인 메모리부(110)는 적어도 하나의 픽셀 블록을 포함할 수 있어야 한다.
이에 따라 본 개시에 따른 라인 메모리부(110)의 라인 개수(L)는 (H+1)보다 크거나 같을 수 있다. 한편 입력 영상 내의 픽셀이 레스트 스캔 순서로 저장된다고 가정하면, 본 개시에 따른 라인 메모리부(110)의 라인 당 저장할 수 있는 픽셀 개수(N)는 입력 영상의 너비보다 크거나 같을 수 있다.
본 개시에 따른 라인 메모리부(110)가 입력 영상의 픽셀을 순차적으로 저장하기 시작하여 (H+1)번째 라인의 (W+1)번째 픽셀에 도달하면, 하나의 픽셀 블록이 형성될 수 있다. 이처럼 적어도 하나의 픽셀 블록이 형성되면, 라인 메모리부(110)는 해당 픽셀 블록의 위치 정보를 정방향 매핑부(120)로 전달할 수 있다. 이 경우 픽셀 블록의 위치 정보는, 해당 픽셀 블록의 각 모서리(가령, 좌 상단, 우 상단, 좌 하단, 및 우 하단을 포함하는 4개 모서리)에 위치하는 코너 픽셀들의 위치 값일 수 있다. 다만 이에 한정되는 것은 아니다.
이처럼 본 개시에 따른 영상 왜곡 보정 방법은, 종래의 영상 왜곡 보정 방법이 수십 내지 수백 라인 이상을 저장하기 위한 메모리를 요구하던 것에 비교하여, 단지 수 개의 라인을 저장할 수 있는 메모리만을 사용하여서도 영상 왜곡 보정을 수행할 수 있다. 가령 Full-HD 영상을 예로 들 때, 종래의 영상 왜곡 방법은 1080개 라인 전부가 입력된 후에 비로소 수행 가능하나, 본 개시에 따른 영상 왜곡 보정 방법은 4 내지 5개 라인만 입력되어도 곧바로 수행이 가능하다.
본 개시에 따른 영상 왜곡 보정 장치(100)의 정방향 매핑부(120)는, 입력 영상을 구성하는 픽셀 블록의 위치 정보를 기초로 정방향 매핑을 수행하여, 정방향 매핑된 픽셀 블록을 형성할 수 있다.
구체적으로 정방향 매핑된 픽셀 블록은, 입력 영상을 구성하는 픽셀 블록의 코너 픽셀들의 위치 값 각각을 정방향 매핑하여 획득된 정방향 매핑된 코너 픽셀들의 위치 값을 모서리로 하는 픽셀 블록일 수 있다. 정방향 매핑된 픽셀 블록을 형성하는 일례와 관련하여, 도 3을 통해 보다 자세히 설명한다.
본 개시에 따른 영상 왜곡 보정 장치(100)의 역방향 매핑부(130)는, 정방향 매핑된 픽셀 블록의 정보를 기초로 후보 영역을 설정할 수 있다. 여기서 후보 영역은, 정방향 매핑된 픽셀 블록을 포함하도록 설정되는 영역일 수 있다.
본 개시에 따른 역방향 매핑부(130)는, 후보 영역 내에 존재하는 픽셀들에 대해 역방향 매핑을 수행할 수 있으며, 역방향 매핑된 픽셀들 중 그 위치가 입력 영상의 픽셀 블록에 대응되는 픽셀, 즉 입력 영상의 픽셀 블록 내에 존재하는 픽셀(이하, 대상 픽셀)을 식별할 수 있다. 역방향 매핑을 수행하는 일례와 관련하여 도 4를 통해 보다 자세히 설명한다.
본 개시에 따른 영상 왜곡 보정 장치(100)의 픽셀 보간부(140)는, 역방향 매핑된 픽셀들 중 그 위치가 입력 영상의 픽셀 블록과 대응되는 대상 픽셀에 대하여 보간(interpolation)을 수행할 수 있다. 반대로 역방향 매핑된 픽셀들 중 위치가 픽셀 블록과 대응되지 않는 픽셀에 대하여는 보간을 수행하지 않을 수 있다.
구체적으로 픽셀 보간부(140)는, 입력 영상에 포함된 입력 픽셀들 중 대상 픽셀의 주변에 위치하는 픽셀들을 기초로 보간을 수행할 수 있다. 여기서 대상 픽셀의 주변에 위치하는 픽셀에 관한 정보는 전술한 라인 메모리부(110)로부터 획득할 수 있다. 픽셀 보간부(140)는 대상 픽셀 및 그 주변에 위치하는 입력 픽셀을 기초로, 해당 대상 픽셀에 대응되는 출력 픽셀을 구성할 수 있다.
또한 본 개시에 따른 픽셀 보간부(140)는, 픽셀 보간을 통해 구성되는 출력 픽셀들에 기초하여 최종적으로 출력 영상을 생성하고, 영상 저장 장치(300)로 보내어 저장하게끔 할 수 있다.
정리하자면, 본 개시에 따른 영상 왜곡 보정 방법에서 수행되는 정방향 매핑은, 픽셀 블록과 대응되는 후보 영역을 결정하기 위한 가이드 역할을 하고, 실제 픽셀 보간은 후보 영역 내에 존재하는 픽셀들을 역방향 매핑한 결과를 이용한다. 따라서 본 개시에 따른 영상 왜곡 보정 방법은 종래의 정방향 매핑에서 발생하는 one-to-many 또는 many-to-one 문제를 발생시키지 않고, 종래의 역방향 매핑과 동일한 보정 결과를 얻으면서도 왜곡 보정에 필요한 메모리와 지연 시간을 크게 줄일 수 있다.
도 2는 본 개시의 몇몇 실시예에 따른 픽셀 블록을 개략적으로 도시한 도면이다.
본 개시에 따른 영상 왜곡 보정 장치(100)는 영상 입력 장치(200)로부터 입력되는 영상의 픽셀을 순차적으로 저장할 수 있고, 저장된 픽셀들에 의해 적어도 하나의 픽셀 블록이 형성할 수 있다.
픽셀 블록은, 입력 영상을 픽셀 단위의 기 설정된 임의의 크기로 나눈 블록으로, 본 개시에 따른 영상 왜곡 보정 방법의 수행 대상이 되는 단위 블록을 의미할 수 있다. 가령 픽셀 블록의 높이가 H, 너비가 W인 경우, 각각의 픽셀 블록은 개의 픽셀을 포함할 수 있다. 이 때 입력 영상(400)을 구성하는 픽셀 블록들 사이의 영역이 비어있지 않도록 해야 하므로, 각각의 픽셀 블록(401)에서 가장 외곽의 픽셀들은 인접한 픽셀 블록들과 중첩되도록 형성될 수 있다. 도 2는 22*9 크기의 입력 영상(400)에 대해, 높이 5 픽셀 및 너비 8 픽셀의 크기로 픽셀 블록(401)을 설정한 일례를 도시한다.
본 개시에 따른 영상 왜곡 보정 장치(100)는, L 개의 라인(line)으로 이루어지며, 라인 당 N 개의 픽셀을 저장할 수 있는 메모리에 입력 영상(400)의 픽셀을 순차적으로 저장할 수 있다. 이 때 메모리는 적어도 하나의 픽셀 블록을 저장할 수 있어야 하므로, 영상 왜곡 보정 장치(100)의 메모리의 라인 개수(L)는 (H+1)보다 크거나 같을 수 있고, 한편 입력 영상(400) 픽셀이 레스트 스캔 순서로 저장된다고 가정하면, 라인 당 저장할 수 있는 픽셀 개수(N)는 입력 영상(400)의 너비보다 크거나 같을 수 있다.
본 개시에 따른 영상 왜곡 보정 장치(100)가 입력 영상(400)의 픽셀을 순차적으로 저장하기 시작하여 (H+1)번째 라인의 (W+1)번째 픽셀에 도달하면, 하나의 픽셀 블록(401)이 형성될 수 있다. 이처럼 적어도 하나의 픽셀 블록(401)이 형성되면, 형성된 픽셀 블록(401)의 위치 정보를 기초로 정방향 매핑을 먼저 수행할 수 있다. 이 때 픽셀 블록(401)의 위치 정보는, 해당 픽셀 블록의 각 모서리에 위치하는 코너 픽셀들(411a, 411b, 411c, 411d: 411)의 위치 값일 수 있다.
이처럼 본 개시에 따른 영상 왜곡 보정 방법은, 종래의 영상 왜곡 보정 방법이 수십 내지 수백 라인 이상을 저장하기 위한 메모리를 요구하던 것에 비교하여, 단지 수 개의 라인을 저장할 수 있는 메모리만을 사용하여서도 영상 왜곡 보정을 수행할 수 있다. 가령 Full-HD 영상을 예로 들 때, 종래의 영상 왜곡 방법은 1080개 라인 전부가 입력된 후에 비로소 수행 가능하나, 본 개시에 따른 영상 왜곡 보정 방법은 4 내지 5개 라인만 입력되어도 곧바로 수행이 가능하다.
도 3은 본 개시의 몇몇 실시예에 따른 정방향 매핑을 개략적으로 도시한 도면이다.
본 개시에 따른 영상 왜곡 보정 장치(100) 는, 입력 영상을 구성하는 각 픽셀 블록(401)에 대해 정방향 매핑을 수행하여, 정방향 매핑된 픽셀 블록(501)을 형성할 수 있다.
구체적으로 정방향 매핑된 픽셀 블록(501)은, 입력 영상을 구성하는 픽셀 블록(401)의 코너 픽셀들(411)의 위치 값 각각을 정방향 매핑하여 획득된 정방향 매핑된 코너 픽셀들(511a, 511b, 511c, 511d: 511)의 위치 값을 모서리로 하는 픽셀 블록일 수 있다.
한편 본 개시에 따른 영상 왜곡 보정 장치(100)는, 정방향 매핑된 픽셀 블록(501)을 기초로 후보 영역(600)을 설정할 수 있다. 여기서 후보 영역(600)은, 정방향 매핑된 픽셀 블록(501)을 포함하도록 설정되는 영역일 수 있다.
도 4는 본 개시의 몇몇 실시예에 따른 역방향 매핑을 개략적으로 도시한 도면이다.
본 개시에 따른 영상 왜곡 보정 장치(100)는, 후보 영역(600) 내에 존재하는 픽셀들(601, 602)에 대해 역방향 매핑을 수행할 수 있으며, 역방향 매핑된 픽셀들(611, 612) 중 그 위치가 입력 영상의 픽셀 블록(401)에 대응되는 픽셀, 즉 입력 영상의 픽셀 블록 내에 존재하는 대상 픽셀(611)을 식별할 수 있다.
본 개시에 따른 영상 왜곡 보정 장치(100)는, 역방향 매핑된 픽셀들(611, 612) 중 그 위치가 입력 영상의 픽셀 블록(401)과 대응되는 대상 픽셀(611)에 대하여 보간을 수행할 수 있다. 반대로 역방향 매핑된 픽셀들(611, 612) 중 위치가 입력 영상의 픽셀 블록(401)과 대응되지 않는 픽셀(612)에 대하여는 보간을 수행하지 않을 수 있다.
구체적으로 영상 왜곡 보정 장치(100)는, 입력 영상에 포함된 입력 픽셀들 중 대상 픽셀(611)의 주변에 위치하는 픽셀들을 기초로 보간을 수행할 수 있다. 여기서 대상 픽셀(611)의 주변에 위치하는 픽셀에 관한 정보는, 입력 영상의 픽셀을 순차적으로 저장하는 영상 왜곡 보정 장치(100)의 전술한 메모리로부터 획득할 수 있다.
영상 왜곡 보정 장치(100)는 대상 픽셀(611) 및 그 주변에 위치하는 입력 픽셀을 기초로, 해당 대상 픽셀과 대응되는 출력 픽셀을 구성할 수 있다. 또한 본 개시에 따른 영상 왜곡 보정 장치(100)는, 픽셀 보간을 통해 구성되는 출력 픽셀들에 기초하여 최종적으로 출력 영상을 생성할 수 있다.
도 5는 본 개시의 몇몇 실시예에 따른 영상 왜곡 보정 방법에 대한 순서도이다.
도 5를 참고하면, 먼저 본 개시에 따른 영상 왜곡 보정 장치(100)는 왜곡을 포함하는 입력 영상의 일부인 픽셀 블록에 대한 정방향 매핑을 수행하여, 정방향 매핑된 픽셀 블록을 포함하는 후보 영역을 획득할 수 있다(S110).
다음으로 본 개시에 따른 영상 왜곡 보정 장치(100)는, 후보 영역에 대한 역방향 매핑을 수행하여, 상기 후보 영역 내의 픽셀 중 보간을 수행할 대상 픽셀을 결정할 수 있다(S120).
다음으로 본 개시에 따른 영상 왜곡 보정 장치(100)는, 대상 픽셀들에 대한 보간을 수행하여, 상기 왜곡을 보정한 출력 영상을 구성하기 위한 출력 픽셀을 획득할 수 있다(S130).
도 5의 S110 단계에서 수행되는 정방향 매핑은, 픽셀 블록과 대응되는 후보 영역을 결정하기 위한 가이드 역할을 하고, 실제 픽셀 보간은 도 5의 S120 단계에서 후보 영역 내에 존재하는 픽셀들에 대해 역방향 매핑을 수행한 결과를 이용한다.
따라서 본 개시에 따른 영상 왜곡 보정 방법은 종래의 정방향 매핑에서 발생하는 one-to-many 또는 many-to-one 문제를 발생시키지 않고, 종래의 역방향 매핑과 동일한 보정 결과를 얻으면서도 왜곡 보정에 필요한 메모리와 지연 시간을 크게 줄일 수 있다.
도 6은 본 개시의 몇몇 실시예에 따른 영상 왜곡 보정 방법을 제공하는 컴퓨팅 장치를 나타낸 블록도이다.
여기서 영상 왜곡 보정 방법을 제공하는 컴퓨팅 장치(10)는, 전술한 영상 왜곡 보정 장치(100)이거나, 또는 영상 왜곡 보정 방법을 제공하기 위해 영상 왜곡 보정 장치(100)와 통신적으로 연결되는 영상 입력 장치(200), 영상 저장 장치(300), 또는 그 밖의 사용자 단말(미도시)일 수도 있다. 다만 이에 한정되는 것은 아니다.
도 6을 참조하면, 본 개시에 따른 컴퓨팅 장치(10)는 하나 이상의 프로세서(11), 프로세서(11)에 의하여 수행되는 프로그램을 로드하는 메모리(12), 프로그램 및 각종 데이터를 저장하는 스토리지(13), 및 통신 인터페이스(14)를 포함할 수 있다. 다만, 상술한 구성 요소들은 본 개시에 따른 컴퓨팅 장치(10)를 구현하는데 있어서 필수적인 것은 아니어서, 컴퓨팅 장치(10)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다. 예컨대 컴퓨팅 장치(10)는 출력부 및/또는 입력부(미도시)를 더 포함하거나, 또는 스토리지(13)가 생략될 수도 있다.
프로그램은 메모리(12)에 로드될 때 프로세서(11)로 하여금 본 개시의 다양한 실시예에 따른 방법/동작을 수행하게끔 하는 명령어들(instructions)을 포함할 수 있다. 즉, 프로세서(11)는 명령어들을 실행함으로써, 본 개시의 다양한 실시예에 따른 방법/동작들을 수행할 수 있다. 프로그램은 기능을 기준으로 묶인 일련의 컴퓨터 판독가능 명령어들로 구성되고, 프로세서에 의해 실행되는 것을 가리킨다.
프로세서(11)는 컴퓨팅 장치(10)의 각 구성의 전반적인 동작을 제어한다. 프로세서(11)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(11)는 본 개시의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다.
메모리(12)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(12)는 본 개시의 다양한 실시예들에 따른 방법/동작을 실행하기 위하여 스토리지(13)로부터 하나 이상의 프로그램을 로드할 수 있다. 메모리(12)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위는 이에 한정되지 않는다.
스토리지(13)는 프로그램을 비임시적으로 저장할 수 있다. 스토리지(13)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다. 통신 인터페이스(14)는 유/무선 통신 모듈일 수 있다.
이상에서 설명한 본 개시의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 개시의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 개시의 실시예에 대하여 상세하게 설명하였지만 본 개시의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 개시의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 개시의 권리범위에 속하는 것이다.

Claims (19)

  1. 컴퓨팅 장치에 의해 수행되는 영상 왜곡 보정 방법으로서,
    왜곡을 포함하는 입력 영상의 일부인 픽셀 블록에 대한 정방향 매핑을 수행하여, 정방향 매핑된 픽셀 블록을 포함하는 후보 영역을 획득하는 단계,
    상기 후보 영역에 대한 역방향 매핑을 수행하여, 상기 후보 영역 내의 픽셀들 중 보간을 수행할 대상 픽셀들을 결정하는 단계, 및
    상기 대상 픽셀들에 대한 보간을 수행하여, 상기 왜곡이 보정된 출력 영상을 구성하기 위한 출력 픽셀들을 획득하는 단계를 포함하는,
    영상 왜곡 보정 방법.
  2. 제 1항에서,
    상기 왜곡은,
    어안렌즈(fisheye lens) 왜곡을 포함하는,
    영상 왜곡 보정 방법.
  3. 제 1항에서,
    상기 픽셀 블록은,
    상기 입력 영상을 픽셀 단위의 기 설정된 크기로 분할한 블록인,
    영상 왜곡 보정 방법.
  4. 제 1항에서,
    상기 픽셀 블록을 획득하는 단계는,
    상기 입력 영상 내의 픽셀을 스캔 순서에 따라 메모리에 순차적으로 저장하는 단계, 및
    저장된 상기 픽셀로부터 적어도 하나의 상기 픽셀 블록을 형성하는 단계를 포함하는,
    영상 왜곡 보정 방법.
  5. 제 1항에서,
    상기 정방향 매핑은,
    상기 픽셀 블록의 각 모서리에 위치하는 코너 픽셀들의 위치 값에 대하여 수행되는,
    영상 왜곡 보정 방법.
  6. 제 1항에서,
    상기 대상 픽셀들을 결정하는 단계는,
    상기 후보 영역 내의 픽셀들에 대한 역방향 매핑을 수행하는 단계, 및
    역방향 매핑된 픽셀들 중, 상기 픽셀 블록의 영역에 대응되는 픽셀들을 상기 대상 픽셀들로 결정하는 단계를 포함하는,
    영상 왜곡 보정 방법.
  7. 제 1항에서,
    상기 보간은,
    상기 대상 픽셀들, 및 상기 입력 영상 내의 픽셀들 중 상기 대상 픽셀들에 인접한 픽셀들 중 적어도 일부를 기초로 수행되는,
    영상 왜곡 보정 방법.
  8. 컴퓨팅 장치에 의해 수행되는 영상 왜곡 보정 방법으로서,
    왜곡을 포함하는 입력 영상의 픽셀들을 순차적으로 저장하는 단계,
    저장된 상기 픽셀들로부터 적어도 하나의 픽셀 블록이 형성 가능하다는 결정에 응답하여, 상기 적어도 하나의 픽셀 블록에 대한 정방향 매핑을 수행하는 단계, 및
    정방향 매핑된 픽셀 블록을 기초로 역방향 매핑을 수행하여, 상기 왜곡이 보정된 출력 영상을 구성하기 위한 출력 픽셀들을 획득하는 단계를 포함하는,
    영상 왜곡 보정 방법.
  9. 제 8항에서,
    상기 왜곡은,
    어안렌즈(fisheye lens) 왜곡을 포함하는,
    영상 왜곡 보정 방법.
  10. 제 8항에서,
    상기 적어도 하나의 픽셀 블록은,
    상기 입력 영상을 픽셀 단위의 기 설정된 크기로 분할한 블록인,
    영상 왜곡 보정 방법.
  11. 제 8항에서,
    상기 정방향 매핑은,
    상기 픽셀 블록의 각 모서리에 위치하는 코너 픽셀들의 위치 값에 대하여 수행되는,
    영상 왜곡 보정 방법.
  12. 제 8항에서,
    상기 출력 픽셀들을 획득하는 단계는,
    상기 정방향 매핑된 픽셀 블록을 포함하는 후보 영역을 획득하는 단계,
    상기 후보 영역에 대한 상기 역방향 매핑을 수행하여, 상기 후보 영역 내의 픽셀들 중 보간을 수행할 대상 픽셀들을 결정하는 단계, 및
    상기 대상 픽셀들에 대한 보간을 수행하여, 상기 출력 픽셀들을 획득하는 단계를 포함하는,
    영상 왜곡 보정 방법.
  13. 제 12항에서,
    상기 후보 영역은,
    상기 정방향 매핑된 픽셀 블록을 포함하는 영역인,
    영상 왜곡 보정 방법.
  14. 제 12항에서,
    상기 대상 픽셀들을 결정하는 단계는,
    상기 후보 영역 내의 픽셀들에 대한 역방향 매핑을 수행하는 단계, 및
    역방향 매핑된 픽셀들 중, 상기 픽셀 블록의 영역에 대응되는 픽셀들을 상기 대상 픽셀들로 결정하는 단계를 포함하는,
    영상 왜곡 보정 방법.
  15. 제 12항에서,
    상기 보간은,
    상기 대상 픽셀들, 및 상기 입력 영상 내의 픽셀들 중 상기 대상 픽셀들에 인접한 픽셀들 중 적어도 일부를 기초로 수행되는,
    영상 왜곡 보정 방법.
  16. 왜곡을 포함하는 입력 영상의 픽셀들을 순차적으로 저장하는 메모리부,
    저장된 상기 픽셀들로부터 적어도 하나의 픽셀 블록이 형성 가능하다는 결정에 응답하여, 상기 적어도 하나의 픽셀 블록에 대한 정방향 매핑을 수행하는 정방향 매핑부,
    정방향 매핑된 픽셀 블록을 포함하는 후보 영역에 대한 역방향 매핑을 수행하여, 상기 후보 영역 내의 픽셀들 중 보간을 수행할 대상 픽셀들을 결정하는 역방향 매핑부, 및
    상기 대상 픽셀들에 대한 보간을 수행하여 상기 왜곡이 보정된 출력 영상을 구성하기 위한 출력 픽셀들을 획득하는 픽셀 보간부를 포함하는,
    영상 왜곡 보정 장치.
  17. 제 16항에서,
    상기 왜곡은,
    어안렌즈(fisheye lens) 왜곡을 포함하는,
    영상 왜곡 보정 장치.
  18. 제 16항에서,
    상기 적어도 하나의 픽셀 블록은,
    상기 입력 영상을 픽셀 단위의 기 설정된 크기로 분할한 블록인,
    영상 왜곡 보정 장치.
  19. 제 16항에서,
    상기 대상 픽셀들은,
    상기 후보 영역 내의 픽셀들에 대한 역방향 매핑을 수행하고, 상기 역방향 매핑된 픽셀들 중, 상기 픽셀 블록의 영역에 대응되는 픽셀들로 결정되는,
    영상 왜곡 보정 장치.

KR1020220065537A 2022-05-27 2022-05-27 영상 왜곡 보정 장치 및 방법 KR102655332B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220065537A KR102655332B1 (ko) 2022-05-27 2022-05-27 영상 왜곡 보정 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220065537A KR102655332B1 (ko) 2022-05-27 2022-05-27 영상 왜곡 보정 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20230165584A true KR20230165584A (ko) 2023-12-05
KR102655332B1 KR102655332B1 (ko) 2024-04-12

Family

ID=89157456

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220065537A KR102655332B1 (ko) 2022-05-27 2022-05-27 영상 왜곡 보정 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102655332B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120020821A (ko) * 2010-08-31 2012-03-08 이성원 영상 왜곡 보정 장치 및 방법
KR20130074252A (ko) * 2011-12-26 2013-07-04 주식회사 이미지넥스트 영상 변환 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120020821A (ko) * 2010-08-31 2012-03-08 이성원 영상 왜곡 보정 장치 및 방법
KR20130074252A (ko) * 2011-12-26 2013-07-04 주식회사 이미지넥스트 영상 변환 장치

Also Published As

Publication number Publication date
KR102655332B1 (ko) 2024-04-12

Similar Documents

Publication Publication Date Title
US20100020225A1 (en) Image processing apparatus, image processing method, and program
US11669942B2 (en) Image de-warping system
US10395337B2 (en) Image processing apparatus, image processing method, and storage medium
US20200092467A1 (en) Image processing apparatus, image processing method, and image processing program
JP2005135096A (ja) 画像処理方法および画像処理装置、並びにプログラム
KR102655332B1 (ko) 영상 왜곡 보정 장치 및 방법
JP4020093B2 (ja) 縁検出方法及び装置及びプログラム及び記憶媒体及び枠検出方法及び装置及びプログラム及び記憶媒体
US10922791B2 (en) Image processing apparatus and method
JP2009164674A (ja) ディストーション補正装置
US20130315502A1 (en) Image processing apparatus and image processing method
JP6418010B2 (ja) 画像処理装置、画像処理方法及び表示装置
JP2015170038A (ja) 画像処理装置、画像処理方法、及び、画像処理を実行するコンピュータプログラム
US20060165309A1 (en) Image processing apparatus and method, information processing apparatus and method, recording medium, and program
US10244179B2 (en) Image processing apparatus, image capturing apparatus, control method, and recording medium
CN105100587A (zh) 摄像装置及其控制方法
US9917972B2 (en) Image processor, image-processing method and program
WO2020000333A1 (en) Image processing method and apparatus
US10672100B2 (en) Image processing apparatus and image processing method
US20150235349A1 (en) Image processing apparatus, image processing method, and computer-readable recording medium
JP6440465B2 (ja) 画像処理装置、画像処理方法及びプログラム
US20150206293A1 (en) Image processing apparatus, method for processing image, and program
JP2013257665A (ja) 映像処理装置、映像処理装置の制御方法
JP7082757B2 (ja) 画像処理装置
JP2003037769A (ja) 信号処理装置、撮像装置、及び信号処理方法
JP2005020087A (ja) 画像処理装置

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right