KR102522566B1 - 전자 기기 내에서 이미지 와핑을 위한 메모리 전송을 구현하기 위한 전자 기기 및 방법 - Google Patents

전자 기기 내에서 이미지 와핑을 위한 메모리 전송을 구현하기 위한 전자 기기 및 방법 Download PDF

Info

Publication number
KR102522566B1
KR102522566B1 KR1020180096121A KR20180096121A KR102522566B1 KR 102522566 B1 KR102522566 B1 KR 102522566B1 KR 1020180096121 A KR1020180096121 A KR 1020180096121A KR 20180096121 A KR20180096121 A KR 20180096121A KR 102522566 B1 KR102522566 B1 KR 102522566B1
Authority
KR
South Korea
Prior art keywords
image
electronic device
tile
processor
convex hull
Prior art date
Application number
KR1020180096121A
Other languages
English (en)
Other versions
KR20190021172A (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 삼성전자주식회사
Publication of KR20190021172A publication Critical patent/KR20190021172A/ko
Application granted granted Critical
Publication of KR102522566B1 publication Critical patent/KR102522566B1/ko

Links

Images

Classifications

    • G06T3/18
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/0093Geometric image transformation in the plane of the image for image warping, i.e. transforming by individually repositioning each pixel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • 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
    • G06T3/00Geometric image transformation in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/006Geometric correction
    • G06T5/80
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • H04N1/2104Intermediate information storage for one or a few pictures
    • H04N1/2112Intermediate information storage for one or a few pictures using still video cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

전자 기기 내 이미지 와핑을 위한 메모리 전송 구현 방법에 대해 설명한다. 그 방법은 이미지와 관련된 입력 타일을 수신하는 단계; 상기 입력 타일의 픽셀들 주변에 기하학적 경계를 생성하는 단계; 및 기하학적 경계 안에 있는 픽셀들을 출력 타일에 리매핑(remapping)하는 단계를 포함한다. 그러한 방법을 수행하기 위한 전자 기기 및 비일시적 컴퓨터 판독가능 저장 매체 또한 개시된다.

Description

전자 기기 내에서 이미지 와핑을 위한 메모리 전송을 구현하기 위한 전자 기기 및 방법 {ELECTRONIC DEVICES FOR AND METHODS OF IMPLEMENTING MEMORY TRANSFERS FOR IMAGE WARPING IN AN ELECTRONIC DEVICE}
본 발명의 실시예는 일반적으로 전자 기기에 관한 것으로서, 특히 전자 기기 내에서 이미지 와핑을 위한 메모리 전송을 구현하기 위한 전자 기기들 및 방법들에 관한 것이다.
모바일 통신 기기들과 같은 전자 기기들 내 카메라 사용의 증가와 함께, 메모리 및 프로세싱 요건들 또한 증가하고 있다. 다양한 요인들이 이미지의 화질뿐 아니라 이미지 처리를 위한 프로세싱 요건들에도 영향을 미칠 수 있다. 예를 들어, 카메라 렌즈에 의해 만들어진 왜곡 등과 같은 것을 통해 카메라에 의해 기록된 이미지의 와핑이 흔히 발생될 수 있다. 와핑은 예컨대 이미지의 회전을 가져올 수 있다.
이미지 처리가 사용되어, 원치않는 와핑을 보정하거나 바람직한 이미지 와핑을 도입할 수 있다. 즉, 와핑은, 왜곡을 야기하거나 렌즈에 의해 생성되는 왜곡과 같이 의도치 않은 왜곡을 정정하기 위한 왜곡방지를 야기할 수 있는 캡처된 이미지의 픽셀들과 관련된 데이터 리매핑(remapping)이다. 따라서, 스마트 폰이나 태블릿과 같은 모바일 통신 기기의 렌즈가 왜곡을 일으키는 경우, 입력 데이터와 관련된 수신 이미지의 와핑이 적용되어 보정된 출력 데이터를 생성할 수 있다. 와핑으로 인해, 카메라가 와핑된 이미지를 처리하도록 하는 이미지 처리 함수의 입력 시 통상적으로 높은 대역폭이 요구된다.
일반적으로 입출력 타일들을 입력이나 출력 프레임 내 관심 영역(ROI)을 포함하는 사각(rectangular) 타일들로서 기술한다. 큰 와핑 효과(가령, 큰 회전)에 있어서, 와핑된 이미지의 입력 대역폭(BW)은 보정된 이미지의 출력 BW보다 훨씬 더 넓다. 제한된 온칩 메모리에서, 각각의 타일은 관련 오버헤드(overhead)를 가지기 때문에, 작은 타일 사이즈는 문제를 악화시킨다.
따라서, 이미지 와핑에 대처하기 위해, 카메라가 캡처한 이미지의 입력 BW를 줄일 필요가 있다.
도 1은 이미지 와핑을 위한 메모리 전송을 구현하기 위한 전자 기기의 블록도를 도시한다.
도 2는 이미지 와핑을 위한 메모리 전송을 구현하기 위한 전자 기기에서 구현되는 회로의 예를 도시한다.
도 3은 입력 타일의 회전을 도시한다.
도 4는 바이 큐빅(bi-cubic) 필터들을 가지는 회전된 입력 타일을 도시한다.
도 5는 회전된 입력 타일과 관련된 볼록 껍질(convex hull)을 도시한다.
도 6은 볼록 껍질을 가지는 이미지를 이용해 와핑을 수행하는 방법의 흐름도의 예이다.
도 7은 회전된 입력 타일과 관련된 경계 박스(bounding box)를 도시한다.
도 8은 회전된 입력 타일과 관련된 다른 경계 박스를 도시한다.
도 9는 경계 박스를 가지는 이미지를 이용해 와핑을 수행하는 방법의 흐름도의 예이다.
도 10은 전자 기기 내 이미지 와핑을 위한 메모리 전송 구현 방법을 도시한 흐름도의 예이다.
전자 기기 내에서 이미지 와핑을 위한 메모리 전송 구현 방법에 대해 설명한다. 그 방법은 이미지와 관련된 입력 타일을 수신하는 단계; 상기 입력 타일의 픽셀들 주변에 기하학적 경계를 생성하는 단계; 및 상기 기하학적 경계 안에 있는 픽셀들을 출력 타일에 리매핑(remapping)하는 단계를 포함한다.
다른 실시예에 따른 전자 기기가 개시된다. 상기 전자 기기는 렌즈 및 상기 렌즈와 연결된 프로세서를 포함하고, 상기 프로세서는 이미지와 관련된 입력 타일을 수신하고; 상기 입력 타일의 픽셀들 주변에 기하학적 경계를 생성하고; 상기 기하학적 경계 안에 있는 픽셀들을 출력 타일에 리매핑하도록 구성된다.
프로세서에 의해 실행 가능한 명령어들을 나타내는 데이터가 저장된 비일시적 컴퓨터 판독가능 저장 매체에 대해 설명한다. 상기 프로세서에 의해 실행 가능한 명령어들은 이미지와 관련된 입력 타일을 수신하는 단계; 상기 입력 타일의 픽셀들 주변에 기하학적 경계를 생성하는 단계; 및 상기 기하학적 경계 안에 있는 픽셀들을 출력 타일에 리매핑하는 단계를 포함하는 방법을 수행한다.
이어지는 상세한 설명 및 청구범위를 참고하여 기타 특성들이 인식될 수 있다.
이하의 상세한 설명을 수행하기 전에, 이 특허 문서 전체에 걸쳐 사용된 소정 단어들과 어구들의 정의를 설명하는 것이 바람직하다. "연결(결합)한다"는 말과 그 파생어들은 둘 이상의 구성요소들이 서로 물리적 접촉 상태에 있는지 그렇지 않든지, 그들 간의 어떤 직접적이거나 간접적인 통신을 일컫는다. "전송한다", "수신한다", 그리고 "통신한다" 라는 용어들뿐 아니라 그 파생어들은 직간접적 통신 모두를 포함한다. "포함하다" 및 "구비한다"는 용어들 및 그 파생어들은 제한 없는 포함을 의미한다. "또는"이라는 말은 '및/또는'을 의미하는 포괄적인 말이다. "~와 관련된다" 및 그 파생어들은 포함한다, ~ 안에 포함된다, ~와 상호연결한다, 내포한다, ~안에 내포된다, ~에/와 연결한다, ~에/와 결합한다, ~와 통신할 수 있다, ~와 협력한다, 개재한다, 나란히 놓는다, ~에 근사하다, ~에 속박된다, 가진다, ~의 특성을 가진다, ~와 관계를 가진다는 등의 의미이다.
"제어기"라는 용어는 적어도 한 동작을 제어하는 어떤 장치, 시스템, 또는 그 일부를 의미한다. 그러한 제어기는 하드웨어나 하드웨어와 소프트웨어 및/또는 펌웨어의 조합으로 구현될 수 있다. 어떤 특정 제어기와 관련된 기능은 국지적이든 원격으로든 중앙 집중되거나 분산될 수 있다. "적어도 하나의~"라는 말은 항목들의 리스트와 함께 사용될 때, 나열된 항목들 중 하나 이상의 서로 다른 조합들이 사용될 수 있고, 그 리스트 내 오직 한 항목만이 필요로될 수 있다는 것을 의미한다. 예를 들어, "A, B, 및 C 중 적어도 하나"는 A, B, C, A 와 B, A와 C, B와 C, 및 A와 B와 C의 조합들 중 어느 하나를 포함한다.
또한, 이하에 기술되는 다양한 기능들은 하나 이상의 컴퓨터 프로그램들에 의해 구현되거나 지원될 수 있으며, 그 프로그램들 각각은 컴퓨터 판독가능 프로그램 코드로 구성되고 컴퓨터 판독가능 매체에서 실시된다. "애플리케이션" 및 "프로그램"이라는 용어는 하나 이상의 컴퓨터 프로그램, 소프트웨어 성분, 명령어 집합, 절차, 함수, 객체, 클래스, 인스턴스, 관련 데이터, 또는 적합한 컴퓨터 판독가능 프로그램 코드의 구현에 적합한 그들의 일부를 일컫는다. "컴퓨터 판독가능 프로그램 코드"라는 말은 소스 코드, 객체 코드, 및 실행 코드를 포함하는 모든 타입의 컴퓨터 코드를 포함한다. "컴퓨터 판독가능 매체"라는 말은 ROM(read only memory), RAM(random access memory), 하드 디스크 드라이브, 컴팩트 디스크(CD), 디지털 비디오 디스크(DVD), 또는 어떤 다른 유형의 메모리와 같이, 컴퓨터에 의해 액세스될 수 있는 모든 유형의 매체를 포함한다. "비일시적" 컴퓨터 판독가능 매체는 일시적인 전기 또는 기타 신호들을 전송하는 유선, 무선, 광학, 또는 기타 통신 링크들을 배제한다. 비일시적 컴퓨터 판독가능 매체는 데이터가 영구적으로 저장될 수 있는 매체, 및 재기록가능 광학 디스크나 삭제가능 메모리 장치와 같이 데이터가 저장되고 나중에 덮어 씌어질 수 있는 매체를 포함한다.
다른 소정 단어들 및 어구들에 대한 정의가 이 특허 문서 전체에 걸쳐 제공된다. 당업자는 대부분의 경우들은 아니어도 많은 경우, 그러한 정의들이 그렇게 정의된 단어들 및 어구들의 이전뿐 아니라 이후 사용에도 적용된다는 것을 알 수 있을 것이다.
본 명세서는 신규하다고 간주되는 하나 이상의 발명의 구현예들에 대한 특징들을 규정하는 청구범위를 포함하나, 그 회로들과 방법들은 도면과 연계된 상세한 설명을 참고함으로써 보다 잘 파악될 수 있을 것이다. 다양한 회로들 및 방법들이 개시되어 있으나, 그러한 회로들과 방법들은 단지 다양한 형태로 실시될 수 있는 발명의 구성들에 대한 예일 뿐이다. 따라서, 본 명세서 안에 개시된 특정한 구조 및 기능적 세부사항들은 한정하는 것이 아닌, 청구범위의 근거 및 사실상 적절히 상세화된 구조를 통한 발명의 구성들을 다양하게 이용할 당업자를 가르치기 위한 전형적인 원리로서 해석되어야 한다. 또한, 여기서 사용되는 용어들과 문구는 한정하는 것이라기 보다는 상기 회로들 및 방법들에 대해 이해 가능한 설명을 제공하기 위한 것이다.
이하에 기술될 회로들 및 방법들은 모바일 전자 기기들의 이미징 애플리케이션들의 이미지 와핑을 처리하는데 요구되는 대역폭을 감소시킨다. 일부 실시예들에 따르면, 대역폭을 감소시키기 위해, 요구되는 픽셀들의 전부가 수직 타일이 아닌 다각형으로 둘러싸인다. 픽셀들을 다각형으로 감싸는 것은 대역폭 요건을 크게 감소시킬 수 있는 바, 예컨대 대역폭 요건은 60fps로 처리되고 45도의 와핑을 가지는 UHD(Ultra High Definition) 이미지들에 대해 6 배까지 감소될 수 있다. 대역폭을 감소시켜 고 해상도, 고 프레임 레이트 및 멀티 프레임 사용 케이스들의 이미지 와핑에 대한 실시간 처리를 실현가능하게 한다. 다각형 내 픽셀들의 전송 방법 역시 개시된다.
한 구현예에 따르면, 주어진 픽셀들의 집합에 대한 볼록 껍질(convex hull)이 식별되며, 볼록 껍질에 의해 형성된 다각형 안의 픽셀들이 전송된다. 다른 구현예에 따르면, 직사각형과 같은 최소 경계 박스가 정해지며, 이때 경계 박스 안의 픽셀들이 전송된다. 닫힌 형태의 표현이 사용되어 회전에 대한 볼록 껍질 산출의 복잡도를 낮출 수 있다. 다른 실시예들은 메쉬 모드 전송을 이용할 수 있으며, 이때 룩업 테이블이 사용되어 픽셀 인덱스들을 구현하기 위해 출력 픽셀 인덱스들을 매핑하도록 한다. 다양한 회로들 및 방법들이 이미지 처리 시 메모리 대역폭 및 전력 소비를 줄이며, 이미지 와핑을 처리하기 위해 실시간 이미지 처리를 가능하게 한다.
먼저 도 1을 참조하면, 이미지 와핑을 위한 메모리 전송을 구현하기 위한 전자 기기의 블록도의 예가 도시된다. 특히, 장치(100)는 이미지 센서(104)와 연결된 프로세서(102)를 포함한다. 장치(100)는 디지털 이미지를 캡처하도록 된 임의 타입의 전자 기기이거나 장치나 시스템의 집적 회로 같은 전자 기기의 한 구성요소일 수 있다. 이미지 센서(104)는 디지털 카메라, 또는 렌즈나 기타 이미지 센싱 요소와 같은 디지털 카메라의 어떤 부분일 수 있다. 하나의 이미지 센서가 도시되어 있으나, 복수의 이미지 센서들 역시 사용될 수 있다는 것을 알아야 한다.
프로세서는 캡처된 이미지를 디스플레이하는, 더 상세히 말하면 개선된 이미지 화질을 가진 디지털 이미지를 디스플레이하기 위한 디스플레이(106)와 연결된다. 프로세서(102)는 프로그램을 실행하는 하드웨어 성분(즉, 집적된 전자 회로)이다. 프로세서(102)는 ARM 프로세서, X86 프로세서, MIPS 프로세서, 그래픽 처리 유닛(GPU), 범용 GPU, 또는 메모리에 저장된 명령어들을 실행하도록 구성된 어떤 다른 프로세서일 수 있다. 프로세서(102)는 하나 이상의 처리 기기들 내에서 구현될 수 있으며, 그러한 프로세서들은 상이할 수 있다. 예를 들어, 전자 기기는 중앙 처리 유닛(CPU)뿐 아니라 예컨대 GPU도 포함할 수 있다. 프로세서는 메모리 상의 소프트웨어를 액세스하고 예컨대 카메라와 같은 다양한 입력들을 수신하는 운영체제(OS)를 구현할 수 있다. 이하에서 도 2를 참조하여 보다 상세히 기술하는 바와 같이, 프로세서는 단독으로나 다른 요소들과 결합하여, 이미지 와핑을 도입하거나 보상할 수 있다.
프로세서(102)는 또한 이미지의 다양한 프레임들과 관련된 정보, 또는 와핑을 도입하거나 보상한 후 그 결과에 따른 디지털 이미지들의 저장을 가능하게 하는 메모리(108)와 연결될 수도 있다. 하나의 메모리가 도시되고 있으나, 메모리(108)는 이하에서 상세히 기술하는 바와 같이 복수의 서로 다른 메모리들로서 구현될 수도 있다는 것을 알아야 한다. 메모리(108)는 예컨대 SSD(solid-state drive)나 플래시 메모리, 또는 장기(long term) 메모리를 제공하는 어떤 다른 메모리 요소와 같은 임의 타입의 메모리를 포함할 수 있으며, 여기서 메모리는 전자 기기의 임의 타입의 내부 메모리 또는 전자 기기가 액세스할 수 있는 외장 메모리일 수 있다. 즉, 하나의 메모리(108)가 전자 기기의 일부로서 도시되어 있으나, 메모리나 메모리의 일부가 전자 기기의 외부에서 구현될 수도 있다는 것을 알아야 한다.
디스플레이에서 분리되거나 그 일부일 수도 있고, 혹은 디스플레이에 반응할 수 있는 사용자 인터페이스(110) 역시 도시되어 있다. 프로세서(102)는 입력을 수신하거나 디지털 이미지를 캡처할 수 있는 다른 요소들과도 연결될 수 있다. 예를 들어, 내부 측정 유닛(IMU)(112)이 기기(100)의 움직임이나 방향과 관련된 다양한 정보를 제공할 수 있다. 프로세서(102)는 또한, 입/출력(I/O) 포트(114)나, 안테나(118)와 연결된 트랜시버(116)를 통해 입력을 수신할 수 있다. 기기(100)의 프로세서 및 다른 요소들에 전력을 공급하기 위한 배터리(120)가 구현될 수 있다.
이제 도 2를 참조하면, 이미지 와핑을 도입하거나 보상하기 위해, 메모리 전송을 구현하기 위한 전자 기기 내에서 구현된 회로(200)의 예가 도시된다.
회로(200)는 프로세서(102) 및 메모리(108) 등과 같은 도 1의 기기의 요소들을 사용하여 구현될 수 있다. 회로(200)는 변환 회로(204)로부터 변환 정보를 수신하도록 연결된 제어기(202)를 포함한다. 변환 정보는 와핑을 도입하거나 이미지 와핑을 보상하는 등의 동작을 위해 입력 이미지의 픽셀들을 출력 이미지로 전송할 수 있다. 이하에서 보다 상세히 기술하는 바와 같이, 변환 정보는 입력 이미지의 픽셀들을 출력 이미지로 리매핑(remapping)하는 것을 가능하게 할 수 있다.
제어기(202)는 DRAM(dynamic random access memory)(208) 같은 메모리로부터, 입력 이미지일 수 있는 데이터를 수신하는 DMA(direct memory access) 회로(206)에 연결될 수도 있다. 제어기는 또한 입력 온칩 메모리(210), 및 메모리(214)에 연결되는 와핑 계산 회로(212)를 제어한다. 입력 온칩 메모리는 DMA 회로(206)를 통해, DRAM(208)에 저장된 입력 이미지 데이터를 수신할 수 있다.
와핑 계산 회로(212)는 예컨대 도 3-5 및 7-8에 도시된 바와 같이 입력 이미지의 와핑을 계산하고, 메모리(214)에 저장되는 출력 이미지를 생성한다. 출력 이미지는 입력으로 생성된 와핑된 이미지의 보정 이미지이거나 의도적으로 도입되는 와핑을 가지는 이미지일 수 있다.
도 3을 참조하면, 입력 타일의 회전이 도시된다. 도 3의 예에 따르면, 좌상단 코너(A0), 우상단 코너(A1), 우하단(A2) 및 좌하단 코너(A3)에 의해 구획되는 이미지의 45도 회전을 가정할 때, 도시된 것과 같이 45도 회전을 가지도록 와핑될 수 있는 수신 이미지의 너비(W)는 A0 및 A1 사이로 정의되고, 높이는 A0 및 A3 사이로 정의된다. 회전의 결과로서, 이미지와 관련된 픽셀들을 저장하기 위한 매트릭스 같은 영역(302)의 너비(W') 및 높이(H')는 증가된다. 예를 들어, 4 개의 코너들 A0=[0,0], A1=[W-1, 0], A2=[W-1, H-1], 및 A3=[0, H-1]을 가지는 미회전 출력 타일에 대해,
Figure 112018081477459-pat00001
(theta)의 회전 후 그 코너들은 Bk=T*Ak로서 구획될 것이다:
Figure 112018081477459-pat00002
도 3에서 알 수 있는 바와 같이, 이미지 관련 픽셀 데이터를 저장하기 위해 W' 및 H'로 정의되는 보다 큰 매트릭스가 요구될 것이다. 의도적 와핑을 보상함으로써, 이미지 관련 데이터가 보다 효율적으로 저장될 수 있다.
다양한 구현예들에 따르면, 도 2의 회로는 볼록 껍질이나 경계 박스와 같은 경계 안의 점들로 입력 이미지와 관련된 데이터를 전송할 수 있다. 볼록 껍질은 이미지의 입력 데이터와 관련된 관심 영역 주변에 있는 외부 점들의 집합을 포함한다. 볼록 껍질이 다각형으로 정의되어, 처리되는 입력 데이터의 불필요한 픽셀들의 수를 줄이도록 할 수 있다. 경계 박스는 관심 영역을 포함하는 직사각형을 포함하며, 관심 영역 안에 없을 수 있는 입력 데이터의 추가 픽셀들을 포함할 수 있다. 경계 박스는 일반적으로, 관심 영역의 입력 데이터를 처리하는데 필요한 것보다 큰 영역을 커버할 수 있으나, 단순하고 균일정한 영역인 데이터를 보다 쉽게 처리하기 위해 직사각형 같은 경계 박스를 구획하는 균일 영역을 가짐으로써 데이터 처리가 단순해질 수 있다.
와핑을 경험하는 이미지를 보상하기 위해, 칼만(Kalman) 필터가 사용되어 이미지 픽셀들과 관련한 병진운동(translation), 회전, 스케일링, 또는 변경을 추정하도록 할 수 있다. 즉, 이미지 픽셀들과 관련한 병진운동, 회전, 스케일링 또는 변경을 식으로 기술할 수 있고, 그에 따라 이미지 처리는 룩업 테이블(LUT) 매핑을 이용하여 수행될 수 있다. 예로서, LUT 매핑을 다음과 같이 표현할 수 있다:
y = f(x) 식 (1)
식 (1)은 입력 이미지의 변환을 나타낸다. 한 구현예에 따르면, 이미지의 회전을 고려할 수 있다. 회전을 고려할 때, 높이(h), 너비(w) 및 회전 각도
Figure 112018081477459-pat00003
가 알려진 경우, 이미지와 관련된 픽셀들을 다음과 같이 표현할 수 있다:
Figure 112018081477459-pat00004
식 (2)
회전에 대한 보상은 일반적으로 쉬프팅(shifting, 이동)을 수반하는 이미지의 병진운동 및 스케일링보다 수행하기가 보통 더 어렵다는 것을 알아야 한다.
회전, 병진운동 및 원근법(perspective)은 아래의 식에 따라 고려될 수 있다:
Figure 112018081477459-pat00005
식 (3)
a00, a01, a10, 및 a11은 회전에 관한 것이고, a02 및 a12는 병진운동에 관한 것이며, a20 및 a21은 원근법에 관한 것이다. 이미지의 입력 좌표들은 다음과 같이 획득된다:
Figure 112018081477459-pat00006
식 (4)
이미지의 와핑으로 인해, 이미지 변환은 변환 회로(204) 등에 저장될 수 있는 수학식 (2), (3) 및 (4)의 행렬 변환식들을 이용하여 수행될 수 있다. 회전 만의 경우, a02, a12, a20 및 a21은 0으로 설정된다.
볼록 껍질을 구현 시, 입력 이미지는 y=0의 라인(line)에서 시작해 스캐닝되어, 이미지의 한 행의 관심 영역 내 픽셀들과 관련된 볼록 껍질의 최좌측 지점 및 볼록 껍질의 최우측 지점을 판단하고 계속해서 y=0에서 y=H'-1까지 교차점들을 판단하도록 할 수 있다. 64 바이트 단위의 DMA 전송 시, 각 행의 교차점들은 64B의 경계들로 수량화될 수 있으며, 이미지의 볼록 껍질을 식별하기 위해 최좌측 데이터 지점 및 최우측 데이터 지점을 판단할 수 있다.
일 실시예에 따르면, 이미지 검출 후 카메라 렌즈에 의한 왜곡이 정정된다. 큰 왜곡이 정정되어야 할 때, LUT를 사용하여 이미지의 메쉬 모드 정정이 수행될 수 있다. 일 실시예에 따르면, 서로 다른 시점이나 서로 다른 각도에서 촬영된 여러 이미지들은, 결합되어 하나의 이미지를 생성하기 전에 동일하게 보여지도록 정렬될 수 있다. 이미지들이 상이한 각도에서 촬영된 경우, 이미지들을 추가할 수 있게 하여 합성 이미지를 생성하도록 회전을 보상하는 것이 가능하다.
도 4에 보여진 바와 같이, 바이 큐빅(bi-cubic) 필터들을 가진 회전된 입력 타일이 도시된다. 바이 큐빅 필터링을 구현할 때, 네 코너들 각각에서, 변의 길이가 L인 정사각형 영역이 코너 픽셀들 가까이에 필터링 샘플들을 제공하여, 그러한 가장자리 영역들 내 픽셀들에 대한 보다 우수한 추정치를 제공하도록 한다. 코너들 각각의 정사각형 부분인 Bn에 해당하는 정사각형은 Cn0, Cn1, Cn2 및 Cn3으로 정의되며, 여기서
Cn0 = Bn + (-L, -L),
Cn1 = Bn + (L, -L),
Cn2 = Bn + (L, L), 및
Cn3 = Bn + (-L, L)이다.
도 5에 도시된 바와 같이, 회전된 입력 타일과 관련된 볼록 껍질은 상기 사각형들을 둘러싼 ROI를 포함하도록 정의된다. 바이 큐빅 필터와 관련된 다각형은 직사각형의 네 코너들에서 정사각형으로 하였으나, 관심 영역이 직사각형 이외의 한 모양일 수 있고 바이 큐빅 필터의 정사각형들은 직사각형 이외의 다각형을 구속할 수 있으며 4개가 넘는 위치에 있을 수 있다.
도 6을 참조하면, 볼록 껍질을 가지는 이미지를 이용해 와핑을 수행하는 방법의 흐름도의 예가 도시된다. 입력 타일에 대한 모든 픽셀 위치들을 찾는다(블록 602). 상기 픽셀 위치들의 볼록 껍질을 찾는다(블록 604). 볼록 껍질 내부의 픽셀들이 전송된다(블록 606). 와핑이 수행된다(블록 608). 예로서, 볼록 껍질 내 픽셀들은 직사각형 타일로 전송될 수 있으며, 이때 와핑된 출력은 너비 W 및 높이 H를 가지는 직사각형 타일로, 도 3에 도시된 너비 W' 및 높이 H'보다 작다.
다각형 안의 지점들에 대한 전송을 위해, row=1:1:nrow에 있어서, col(row, 1:npts)(npts=1, 2, 3 또는 4)인 볼록 다각형의 n 개의 변들 각각과의 교점을 찾는 것이 우선 필요하다. 그런 다음 그 교차점들의 mincol(row) 및 maxcol(row)를 찾아야 하며, 이때 mincol(row)=min(col(row,:))이고 maxcol(row)= max(col(row,:)) 이다. 그런 다음 위치들 [mincol(row), maxcol(row)]에서의 픽셀들이 전송된다. DMA 전송이 버스트(bursts, 가령, 64B 버스트) 기반인 경우, 전송을 다음과 같이 버스트 어드레스들로 변환한다:
Figure 112018081477459-pat00007
도 7을 참조하면, 회전된 입력 타일과 관련된 경계 박스가 보여진다. 회전을 위한 최소 경계 박스는 다음과 같이 정의된다
Figure 112018081477459-pat00008
도 8에 도시된 바와 같이, 2L x 2L 윈도우 및 각도
Figure 112018081477459-pat00009
만큼 회전된 이미지에 있어서,
Figure 112018081477459-pat00010
Figure 112018081477459-pat00011
이다:
Figure 112018081477459-pat00012
경계 박스의 영역은 볼록 껍질의 영역보다 크다.
도 9를 참조하면, 경계 박스를 가지는 이미지를 이용해 와핑을 수행하는 방법의 흐름도의 예가 도시된다.
입력 타일에 대한 모든 픽셀 위치들을 찾는다(블록 902). 상기 픽셀 위치들의 경계 박스를 찾는다(블록 904). 경계 박스는 예를 들어 도 5에 도시된 바와 같이 구현될 수 있다. 경계 박스 내부의 픽셀들이 전송된다(블록 906). 와핑이 수행된다(블록 908). 와핑은 와핑을 도입하거나, 예컨대 전자 기기의 렌즈에 의해 발생된 와핑과 같은 이미지의 와핑을 보상하기 위해 수행될 수 있다.
이제 도 10을 참조하면, 전자 기기 내 이미지 와핑을 위한 메모리 전송 구현 방법을 도시한 흐름도의 예가 도시된다. 이미지와 관련된 입력 타일이 수신된다(블록 1002). 상기 입력 타일의 픽셀들 주변에 기하학적 경계가 생성된다(블록 1004). 기하학적 경계는 상술한 바와 같은 볼록 껍질이거나 경계 박스일 수 있다. 기하학적 경계 안의 픽셀들이 출력 타일에 리매핑된다(블록 1006). 출력 타일을 이용하여 출력이 생성된다(블록 1008). 도 3을 참조하여 위에서 기술한 바와 같이, 와핑을 감소시킴으로써 입력 타일보다 적은 이미지 관련 픽셀들을 가진 출력 타일을 파생할 수 있다.
실시예들은 소정 버전을 참조하여 기술되었지만, 다른 버전들도 가능하다. 따라서, 실시예들의 사상 및 범위가 이 명세서에 포함된 바람직한 버전들에 대한 설명에 국한되어서는 안될 것이다.
그에 따라 전자 기기에서 메모리 전송을 구현하는 방법을 구현하기 위한 새로운 장치들 및 방법들이 서술되었다는 것을 알 수 있다. 당업자라면 개시된 발명을 포함하는 수많은 대안들과 균등물이 존재한다는 것을 알 수 있다. 결과적으로 본 발명은 상술한 실시예들에 국한되지 않고 이하의 청구범위를 통해서만 한정된다.

Claims (15)

  1. 전자 기기에 의해 수행되는 방법에 있어서,
    이미지와 관련된 입력 타일(input tile)의 코너(corner)들 각각에 대응하는 복수의 정사각형 부분(square portion)들에 기초하여, 바이-큐빅 필터링(bi-cubic filtering)을 수행하는 단계;
    상기 복수의 정사각형 부분들 및 상기 입력 타일을 포함하는 볼록 껍질(convex hull)을 생성하는 단계;
    상기 볼록 껍질 안에 있는 픽셀들을 출력 타일에 리매핑(remapping)하는 단계; 및
    상기 출력 타일을 사용하여 출력 이미지를 생성하는 단계를 포함하는 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서, 상기 리매핑하는 단계는 룩업 테이블을 구현하는 단계를 포함하는 방법.
  5. 제1항에 있어서, 상기 리매핑하는 단계는 회전, 병진운동 또는 원근법 중 적어도 하나를 설명하는 함수를 구현하는 단계를 포함하는 방법.
  6. 제1항에 있어서, 상기 리매핑하는 단계는 상기 볼록 껍질의 행(row)들을 따라 최소값 및 최대값을 식별하는 단계를 포함하는 방법.
  7. 제1항에 있어서, 상기 리매핑하는 단계는 상기 전자 기기의 렌즈에 의해 발생된 왜곡을 보상하는 단계를 포함하는 방법.
  8. 전자 기기에 있어서,
    렌즈; 및
    상기 렌즈에 연결된 프로세서를 포함하고,
    상기 프로세서는
    이미지와 관련된 입력 타일의 코너들 각각에 대응하는 복수의 정사각형 부분들에 기초하여, 바이-큐빅 필터링을 수행하며,
    상기 복수의 정사각형 부분들을 및 상기 입력 타일을 포함하는 볼록 껍질(convex hull)을 생성하고,
    상기 볼록 껍질 안에 있는 픽셀들을 출력 타일에 리매핑(remapping)하며,
    상기 출력 타일을 사용하여 출력 이미지를 생성하는 전자 기기.
  9. 삭제
  10. 삭제
  11. 제8항에 있어서, 상기 프로세서는 룩업 테이블을 구현하는 전자 기기.
  12. 제8항에 있어서, 상기 프로세서는 회전, 병진운동 또는 원근법 중 적어도 하나를 설명하는 함수를 구현하는 전자 기기.
  13. 제8항에 있어서, 상기 프로세서는 상기 볼록 껍질의 행(row)들을 따라 최소값 및 최대값을 식별하는 전자 기기.
  14. 제8항에 있어서, 상기 프로세서는 상기 렌즈에 의해 발생된 왜곡을 보상하는 전자 기기.
  15. 제1항의 방법을 수행하기 위해 프로세서에 의해 실행될 수 있는 명령어들을 표현하는 데이터가 저장되어 있는 컴퓨터 판독가능 매체.
KR1020180096121A 2017-08-22 2018-08-17 전자 기기 내에서 이미지 와핑을 위한 메모리 전송을 구현하기 위한 전자 기기 및 방법 KR102522566B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/682,777 US10565778B2 (en) 2017-08-22 2017-08-22 Electronic devices for and methods of implementing memory transfers for image warping in an electronic device
US15/682,777 2017-08-22

Publications (2)

Publication Number Publication Date
KR20190021172A KR20190021172A (ko) 2019-03-05
KR102522566B1 true KR102522566B1 (ko) 2023-04-17

Family

ID=65435487

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180096121A KR102522566B1 (ko) 2017-08-22 2018-08-17 전자 기기 내에서 이미지 와핑을 위한 메모리 전송을 구현하기 위한 전자 기기 및 방법

Country Status (4)

Country Link
US (1) US10565778B2 (ko)
EP (1) EP3602480A4 (ko)
KR (1) KR102522566B1 (ko)
WO (1) WO2019039686A1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010051147A2 (en) * 2008-10-31 2010-05-06 General Instrument Corporation Method and apparatus for transforming a non-linear lens-distorted image
US20110149307A1 (en) * 2009-12-18 2011-06-23 Canon Kabushiki Kaisha Selection of samples for spanning a spectral gamut
WO2017007561A1 (en) * 2015-07-09 2017-01-12 Intel Corporation Accelerated lens distortion correction with near-continuous warping optimization

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1272312A (en) * 1987-03-30 1990-07-31 Arthur Gary Ryman Method and system for processing a two-dimensional image in a microprocessor
US5307506A (en) * 1987-04-20 1994-04-26 Digital Equipment Corporation High bandwidth multiple computer bus apparatus
US6678864B1 (en) * 1992-02-25 2004-01-13 Irving Tsai Method and apparatus for linking designated portions of a received document image with an electronic address
US20010015751A1 (en) * 1998-06-16 2001-08-23 Genex Technologies, Inc. Method and apparatus for omnidirectional imaging
US7899258B2 (en) * 2005-08-12 2011-03-01 Seiko Epson Corporation Systems and methods to convert images into high-quality compressed documents
CN101558427B (zh) 2007-03-06 2012-03-21 松下电器产业株式会社 图像处理装置以及方法
US8363082B2 (en) * 2009-08-11 2013-01-29 Conexant Systems, Inc. Systems and methods for alignment of laser printers
US8675994B1 (en) 2010-06-17 2014-03-18 Ambarella, Inc. High performance warp correction in two-dimensional images
JP5793975B2 (ja) 2010-08-03 2015-10-14 株式会社リコー 画像処理装置、画像処理方法、プログラム、記録媒体
US8838419B2 (en) * 2011-06-24 2014-09-16 Mitsubishi Electric Research Laboratories, Inc. System and method for simulating machining objects
US9389679B2 (en) * 2011-11-30 2016-07-12 Microsoft Technology Licensing, Llc Application programming interface for a multi-pointer indirect touch input device
KR20130084850A (ko) 2012-01-18 2013-07-26 삼성전자주식회사 시차 값을 생성하는 영상 처리 방법 및 장치
WO2013114848A1 (ja) 2012-01-31 2013-08-08 パナソニック株式会社 画像処理装置及び画像処理方法
US20180316948A1 (en) * 2012-04-24 2018-11-01 Skreens Entertainment Technologies, Inc. Video processing systems, methods and a user profile for describing the combination and display of heterogeneous sources
KR101295747B1 (ko) 2012-04-25 2013-08-20 서울시립대학교 산학협력단 Rpc를 이용한 자동 기하 보정 시스템 및 방법
US8867831B2 (en) 2012-05-09 2014-10-21 University Of Southern California Image enhancement using modulation strength map and modulation kernel
US9230297B2 (en) 2012-05-11 2016-01-05 Intel Corporation Systems, methods, and computer program products for compound image demosaicing and warping
US8928730B2 (en) * 2012-07-03 2015-01-06 DigitalOptics Corporation Europe Limited Method and system for correcting a distorted input image
JP6041651B2 (ja) 2012-12-10 2016-12-14 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
KR102082301B1 (ko) 2013-09-30 2020-02-27 삼성전자주식회사 카메라로 촬영한 문서 영상을 스캔 문서 영상으로 변환하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
IN2014CH00165A (ko) 2014-01-15 2015-07-17 Infosys Ltd
US9262801B2 (en) 2014-04-01 2016-02-16 Gopro, Inc. Image taping in a multi-camera array
TWI511086B (zh) 2014-04-18 2015-12-01 Altek Semiconductor Corp 鏡頭失真校正方法
KR101593484B1 (ko) 2014-07-10 2016-02-15 경북대학교 산학협력단 동등-높이 주변영역 정합 영상을 이용하여 측면에서 접근하는 일부분만 보이는 물체를 검출하기 위한 영상 처리 장치 및 방법, 그리고 그를 이용한 차량 운전 보조 시스템
US9374565B2 (en) 2014-11-06 2016-06-21 General Electric Company System and method for multi-material correction of image data
WO2017032468A1 (en) * 2015-08-26 2017-03-02 Fotonation Limited Image processing apparatus
US10034026B2 (en) * 2016-04-22 2018-07-24 Akila Subramaniam Device for and method of enabling the processing of a video stream

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010051147A2 (en) * 2008-10-31 2010-05-06 General Instrument Corporation Method and apparatus for transforming a non-linear lens-distorted image
US20110149307A1 (en) * 2009-12-18 2011-06-23 Canon Kabushiki Kaisha Selection of samples for spanning a spectral gamut
WO2017007561A1 (en) * 2015-07-09 2017-01-12 Intel Corporation Accelerated lens distortion correction with near-continuous warping optimization

Also Published As

Publication number Publication date
WO2019039686A1 (en) 2019-02-28
EP3602480A1 (en) 2020-02-05
KR20190021172A (ko) 2019-03-05
US10565778B2 (en) 2020-02-18
US20190066358A1 (en) 2019-02-28
EP3602480A4 (en) 2020-03-04

Similar Documents

Publication Publication Date Title
US10868985B2 (en) Correcting pixel defects based on defect history in an image processing pipeline
KR102291790B1 (ko) 이미지 프로세싱 파이프라인 내의 이미지 데이터의 다중 레이트 프로세싱
US9787922B2 (en) Pixel defect preprocessing in an image signal processor
US10037598B2 (en) Multi-block memory reads for image de-warping
US9317909B2 (en) Image subsystem including image feature detection hardware component and image processing system including the same
US9462189B2 (en) Piecewise perspective transform engine
US20190005622A1 (en) Image processing apparatus, control method thereof, and storage medium
KR102522566B1 (ko) 전자 기기 내에서 이미지 와핑을 위한 메모리 전송을 구현하기 위한 전자 기기 및 방법
US9374526B2 (en) Providing frame delay using a temporal filter
JP2016134005A (ja) 画像処理装置
CN109391788B (zh) 用于处理图像信号的系统
US9781353B2 (en) Image processing apparatus, electronic apparatus, and image processing method
JP6440465B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2013025619A (ja) 画像表示装置および画像表示方法
JP4865021B2 (ja) 画像処理装置および画像処理方法
US20230153948A1 (en) Image signal processor, operating method of the image signal processor, and application processor including the image signal processor
US10672100B2 (en) Image processing apparatus and image processing method
US20190043200A1 (en) Image processing apparatus, image processing method, and storage medium
CN113971689A (zh) 图像配准方法以及相关装置
JP2015154209A (ja) 画像処理装置、画像処理方法、及びプログラム
CN113709324A (zh) 一种视频降噪方法、视频降噪装置及视频降噪终端

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant