WO2019245117A1 - 디모자이킹 장치 및 그 방법, 이를 적용한 스테레오 카메라 - Google Patents

디모자이킹 장치 및 그 방법, 이를 적용한 스테레오 카메라 Download PDF

Info

Publication number
WO2019245117A1
WO2019245117A1 PCT/KR2018/015160 KR2018015160W WO2019245117A1 WO 2019245117 A1 WO2019245117 A1 WO 2019245117A1 KR 2018015160 W KR2018015160 W KR 2018015160W WO 2019245117 A1 WO2019245117 A1 WO 2019245117A1
Authority
WO
WIPO (PCT)
Prior art keywords
pixel
convolution
value
image
red
Prior art date
Application number
PCT/KR2018/015160
Other languages
English (en)
French (fr)
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 KR1020197001704A priority Critical patent/KR102170447B1/ko
Publication of WO2019245117A1 publication Critical patent/WO2019245117A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/84Camera processing pipelines; Components thereof for processing colour signals
    • H04N23/843Demosaicing, e.g. interpolating colour pixel values
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/257Colour aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/296Synchronisation thereof; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/10Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/10Circuitry of solid-state image sensors [SSIS]; Control thereof for transforming different wavelengths into image signals
    • H04N25/11Arrangement of colour filter arrays [CFA]; Filter mosaics
    • H04N25/13Arrangement of colour filter arrays [CFA]; Filter mosaics characterised by the spectral characteristics of the filter elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2209/00Details of colour television systems
    • H04N2209/04Picture signal generators
    • H04N2209/041Picture signal generators using solid-state devices
    • H04N2209/042Picture signal generators using solid-state devices having a single pick-up sensor
    • H04N2209/045Picture signal generators using solid-state devices having a single pick-up sensor using mosaic colour filter

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Color Television Image Signal Generators (AREA)

Abstract

디모자이킹 장치 및 그 방법, 이를 적용한 스테레오 카메라가 개시된다. 본 발명의 일 실시예에 따른 디모자이킹 장치는 이미지 센서로부터 출력되는 베이어(Bayer) 이미지의 라인별 픽셀을 순차적으로 저장하고, 기 설정된 사이즈의 픽셀 라인이 저장된 경우 출력하는 라인버퍼, 상기 라인버퍼에서 출력되는 베이어 이미지의 픽셀 및 수평 라인을 카운트하고, 상기 카운트한 값에 따른 선택신호를 출력하는 카운터(counter), 상기 라인버퍼로부터 출력되는 픽셀들에 대해, 각 픽셀별 컨볼루션 커널(convolution kernel)을 선택하여 컨볼루션 연산을 수행하고, 상기 카운터의 선택신호에 따라 컨볼루션 결과값을 출력하는 필터부를 포함하되, 상기 컨볼루션 커널은 홀수 라인과 짝수 라인 간 중복되는 구조일 수 있다.

Description

디모자이킹 장치 및 그 방법, 이를 적용한 스테레오 카메라
본 발명은 디모자이킹 장치 및 그 방법, 이를 적용한 스테레오 카메라에 관한 것으로, 특히 라인간에 중복되는 컨볼루션 커널을 공유하여, 베이어 이미지를 RGB 이미지로 변환하는 디모자이킹 장치 및 그 방법, 이를 적용한 스테레오 카메라에 관한 것이다.
IT 기술의 고도화에 수반하여, 카메라는 전통적인 필름 카메라에서 디지털 카메라로 진화하였고, 최근에는 3차원적 거리 또는 깊이(depth)를 검출할 수 있는 스테레오 카메라(stereo camera)가 개발되기에 이르렀다.
스테레오 카메라는 복수의 카메라 모듈을 구비하고, 이들로부터 촬영되는 이미지 데이터를 합성하여 깊이감이 있는 이미지를 사용자에게 제공할 수 있다.
이러한 스테레오 카메라는 로봇, VR/AR 등 다양한 3D Vision 응용분야에서 사용되고 있다. 또한, 최근 mobile vision 응용분야에서 고해상도/고속 스테레오 카메라에 대한 수요가 증가하고 있고, 이에 따라 낮은 하드웨어 복잡도를 갖는 ISP(image signal processor)의 VLSI(Very Large-Scale Integration) 구현이 필수적이다.
스테레오 카메라의 ISP는 색 보간(demosaicing), 스테레오 이미지 동기화 등으로 구성된다. 구체적으로 스테레오 카메라는 도 1과 같이 구성된다.
도 1을 참조하면, 종래의 스테레오 카메라는 제1 및 제2 이미지 센서(10a, 10b), 제1 및 제2 디모자이킹부(22a, 22b), 제1 및 제2 이미지 향상부(24a, 24b), 동기화부(28), 오프칩 메모리(26), 스테레오 이미지 전송부(30)를 포함한다.
제1 이미지 센서 및 제2 이미지 센서(10a, 10b)를 이용해 영상을 캡처하면 온전한 컬러 이미지가 아닌 Bayer Image를 출력한다. 이러한 베이어 이미지를 RGB Image(컬러 이미지)로 변환하기 위해서는 demosaicing filtering이 요구된다.
이에, 제1 및 제2 디모자이킹부(22a, 22b)는 제1 및 제2 이미지 센서(10a, 10b)로부터 원시 Bayer RGB(Red, Green 및 Blue) 이미지를 수신하고, 그 베이어 이미지를 RGB 이미지로 변환한다. 제1 및 제2 RGB 이미지는 제1 및 제2 이미지 향상부(24a, 24b)에 입력되어 선명도 등의 이미지 질이 향상된다. 이후, 동기화부(28)는 오프 칩 메모리(26)를 이용하여 제2 이미지 센서(10b) 및 디스플레이 장치(미도시)와 제1 이미지 센서(10a)간의 동기화를 수행하고, 결과적인 스테레오 이미지를 스테레오 이미지 전송부(예컨대, USB 3.0 PHY)(30)를 사용하여 사용자 어플리케이션을 실행하는 PC(40)로 전송한다.
이러한 스테레오 카메라를 단일 이미지 센서가 있는 카메라와 비교할 때 스테레오 카메라의 ISP는 왼쪽 및 오른쪽 이미지 센서의 데이터를 처리하기 때문에 스테레오 카메라의 계산 복잡성은 두배 이상 높아진다. 그러므로, 면적면에서 효율적인 ISP의 VLSI 구현을 수행하는 것이 중요하다.
한편, 스테레오 카메라가 구비된 다양한 모바일 환경에서 실시간으로 영상캡처/영상처리를 위해 demosaicing filter의 VLSI 구현이 요구된다.
또한, 영상의 노이즈를 최소화하기 위해, demosaicing filtering에 요구되는 필터 계수(filter coefficient)의 복잡성(complexity)이 상당히 높고, 2D 컨볼루션(convolution)이 요구되기 때문에 저면적 VLSI 구현이 요구된다.
본 발명이 해결하고자 하는 기술적 과제는 베이어 이미지의 디모자이킹(demosaicing)을 위한 하드웨어 구조의 복잡성을 줄일 수 있고, 저면적 VLSI 구현이 가능한 디모자이킹 장치 및 그 방법, 이를 적용한 스테레오 카메라를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 디모자이킹 장치는 이미지 센서로부터 출력되는 베이어(Bayer) 이미지의 라인별 픽셀을 순차적으로 저장하고, 기 설정된 사이즈의 픽셀 라인이 저장된 경우 출력하는 라인버퍼, 상기 라인버퍼에서 출력되는 베이어 이미지의 픽셀 및 수평 라인을 카운트하고, 상기 카운트한 값에 따른 선택신호를 출력하는 카운터(counter), 상기 라인버퍼로부터 출력되는 픽셀들에 대해, 각 픽셀별 컨볼루션 커널(convolution kernel)을 선택하여 컨볼루션 연산을 수행하고, 상기 카운터의 선택신호에 따라 컨볼루션 결과값을 출력하는 필터부를 포함하되, 상기 컨볼루션 커널은 홀수 라인과 짝수 라인 간 중복되는 구조일 수 있다.
바람직하게는, 상기 카운터는, 상기 베이어 이미지의 수평 라인을 카운트하고, 상기 카운트한 값을 이진수로 변환하며, 상기 변환된 이진수의 LSB(least significant bit)인 '0' 또는 '1'을 선택신호로 출력하는 라인 카운터(line counter), 상기 베이어 이미지의 수평 라인 상의 픽셀 수를 카운트하고, 상기 카운트한 값을 이진수로 변환하며, 상기 변환된 이진수의 LSB(least significant bit)인 '0' 또는 '1'을 선택신호로 출력하는 픽셀 카운터(pixel counter)를 포함할 수 있다.
바람직하게는, 기 필터부는, 현재 픽셀과 산출하고자 하는 픽셀에 기초하여 해당 커벌루션 커널을 선택하고, 상기 선택된 컨볼루션 커널을 이용하여 컨볼루션 연산을 수행하는 컨볼루션부, 상기 선택신호에 기초하여 상기 컨볼루션부의 결과값을 선택하여 출력하는 먹스(MUX)를 포함할 수 있다.
바람직하게는, 상기 컨볼루션부는, 현재 픽셀의 값을 컨볼루션 없이 바로 출력하는 디 플립플롭(data flipflop), 현재 픽셀이 Blue이고 Green 픽셀 값을 산출하고자 하는 경우 또는 현재 픽셀이 Red이고 Green 픽셀 값을 산출하고자 하는 경우 제1 컨볼루션 커널을 이용하여 Green 픽셀 값을 산출하는 제1 컨볼루션부, 현재 픽셀이 Blue이고 Red 픽셀 값을 산출하고자 하는 경우 또는 현재 픽셀이 Red이고 Blue 픽셀 값을 산출하고자 하는 경우 제2 컨볼루션 커널을 이용하여 Red 픽셀 값 또는 Blue 픽셀 값을 산출하는 제2 컨볼루션부, 현재 픽셀이 Green이고, 좌우가 Blue, 상하가 Red이며, Red 픽셀 값을 산출하고자 하는 경우 또는 현재 픽셀이 Green이고, 좌우가 Red, 상하가 Blue이며, Blue 픽셀 값을 산출하고자 하는 경우 제3 컨볼루션 커널을 이용하여 Red 픽셀 값 또는 Blue 픽셀 값을 산출하는 제3 컨볼루션부, 현재 픽셀이 Green이고, 좌우가 Blue, 상하가 Red이며, Blue 픽셀 값을 산출하고자 하는 경우 또는 현재 픽셀이 Green이고, 좌우가 Red, 상하가 Blue이며, Red 픽셀 값을 산출하고자 하는 경우 제4 컨볼루션 커널을 이용하여, Blue 픽셀 값 또는 Red 픽셀 값을 산출하는 제4 컨볼루션부를 포함할 수 있다.
바람직하게는, 상기 먹스는, 상기 선택신호에 기초하여 디 플립플롭, 제2 컨볼루션부, 제3 컨볼루션부, 제4 컨볼루션부에서 산출된 Blue 픽셀 값 중 하나의 Blue 픽셀 값을 출력하는 제1 먹스, 상기 선택신호에 기초하여 디 플립플롭, 제1 컨볼루션부에서 산출된 Green 픽셀 값 중 하나의 Green 픽셀값을 출력하는 제2 먹스, 상기 선택신호에 기초하여 디 플립플롭, 제2 컨볼루션부, 제3 컨볼루션부, 제4 컨볼루션부에서 산출된 Red 픽셀 값 중 하나의 Red 픽셀 값을 출력하는 제3 먹스를 포함할 수 있다.
바람직하게는, 상기 필터부는 각 픽셀별로 R, G, B 값을 각각 산출하여 상기 베이어 이미지를 RGB 이미지로 변환할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 디모자이킹 방법은, 디모자이킹 장치가 베이어 이미지를 RGB 이미지로 변환하는 방법에 있어서, 베이어 이미지의 라인별 픽셀을 순차적으로 라인버퍼에 저장하고, 기 설정된 사이즈의 픽셀 라인이 저장된 경우, 상기 라인버퍼에 저장된 픽셀 라인을 순차적으로 출력하는 단계, 현재 픽셀과 산출하고자 하는 픽셀에 따라 해당 커벌루션 커널을 선택하여 컨볼루션 연산을 수행하는 단계, 상기 베이어 이미지의 픽셀 및 수평 라인을 카운트한 값에 따른 선택신호에 기초하여 상기 컨볼루션 연산의 결과값을 선택 및 출력하는 단계를 포함하되, 상기 컨볼루션 커널은 홀수 라인과 짝수 라인 간 중복되는 구조일 수 있다.
바람직하게는, 상기 컨볼루션 연산의 결과값을 선택 및 출력하는 단계이후, 각 픽셀별 R, G, B 값이 산출된 경우, 상기 산출된 R, G, B 값을 이용하여 상기 베이어 이미지를 RGB 이미지로 변환하는 단계를 더 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 스테레오 카메라는, 베이어 이미지를 출력하는 제1 및 제2 이미지 센서, 홀수 라인과 짝수 라인간에 중복되는 컨볼루션 커널을 공유하여, 상기 베이어 이미지를 RGB 이미지로 변환하는 제1 및 제2 디모자이킹 장치, 상기 제1 이미지 센서와 제2 이미지 센서를 동기화시키는 동기화 장치를 포함한다.
바람직하게는, 상기 제1 및 제2 디모자이킹 장치는, 이미지 센서로부터 출력되는 베이어(Bayer) 이미지의 라인별 픽셀을 순차적으로 저장하고, 기 설정된 사이즈의 픽셀 라인이 저장된 경우 출력하는 라인버퍼, 상기 라인버퍼에서 출력되는 베이어 이미지의 픽셀 및 수평 라인을 카운트하고, 상기 카운트한 값에 따른 선택신호를 출력하는 카운터(counter), 상기 라인버퍼로부터 출력되는 베이어 이미지에 대해, 각 픽셀별로 요구하는 컨볼루션 커널(convolution kernel)을 선택하여 컨볼루션 연산을 수행하고, 상기 카운터의 선택신호에 따라 컨볼루션 결과값을 출력하는 필터부를 포함할 수 있다.
바람직하게는, 상기 동기화 장치는, 상기 제1 이미지 센서의 동기신호 주기를 모니터링하여, 수직동기(Vsync)의 1주기 동안 수평동기(Hsync) 주기의 최대 오차 값을 산출하는 동기신호 모니터링부, 상기 최대 오차값에 기초하여 제2 이미지 센서 또는 디스플레이 장치로 전송할 수평동기의 포치(porch)를 조절하는 동기신호 적응부를 포함할 수 있다.
본 발명에 따르면, 중첩 컨볼루션 커널을 라인별로 공유함으로써, 베이어 이미지의 디모자이킹을 위한 하드웨어의 복잡성을 감소시킬 수 있고, 이로 인해 저면적의 VLSI를 구현할 수 있다.
또한, 본 발명에 따르면, 라인별로 겹쳐진 컨볼루션 커널을 공유하는 하드웨어 아키텍처가 화질 저하없이 Bayer 이미지의 디모자이킹에서 산술 연산 횟수를 줄일 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 종래의 스테레오 카메라를 설명하기 위한 도면이다.
도 2는 일반적인 디모자이킹 필터링을 설명하기 위한 도면이다.
도 3은 베이어(Bayer) 이미지의 예시도이다.
도 4는 픽셀 위치에 따라 상이한 컨볼루션 커널을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 디모자이킹과 컨볼루션 커널을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 디모자이킹 장치를 설명하기 위한 도면이다.
도 7은 도 6에 도시된 컨볼루션 커널 선택부를 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 베이어 이미지를 RGB 이미지로 변환하는 방법을 나타낸 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 스테레오 카메라를 설명하기 위한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
디지털 카메라의 이미지 센서를 이용하여 영상을 캡처하면 온전한 컬러 이미지가 아닌 Bayer 이미지를 출력한다. 이러한 베이어 이미지에서 RGB Image (컬러 이미지)를 얻기 위해서는 디모자이킹 필터링(demosaicing filtering)이 요구된다.
2D convolution이 요구되는 디모자이킹 필터링(Demosaicing filtering)은 도 2와 같이 수행될 수 있다. 구체적으로, 디모자이킹 필터링은 각각의 디지털 이미지 픽셀 위치마다 컨볼루션 커널을 씌워, 계수를 각각 이미지 픽셀 값에 곱하고, 그 곱의 결과를 모두 합해 결과를 도출한다. 디모자이킹 필터링은 디지털 이미지의 모든 픽셀에 대해 상술한 과정을 수행하여 베이어 이미지를 RGB 이미지로 변환하게 된다.
한편, Bayer 이미지는 도 3과 같은 패턴일 수 있다.
도 3을 참조하면, Bayer 패턴은 가장 일반적인 색상 필터 어레이로서, 휘도 성분인 G가 50%, 색성분인 R과 B가 각각 25%의 비율로 분포되어 있다. 이때, R, B는 서로 다른 라인에 교대로 배열되어 있고, G는 그러한 상기 R, B 사이에 위치하게 된다. 즉, Bayer 패턴에서 제1열은 BGBGBG…, 제2열은 GRGRGR…의 순서로 입력될 수 있으며, 홀수 열은 제1열의 반복 패턴을 가지고, 짝수 열은 제2열의 반복 패턴을 갖는다. 제1열의 최초 픽셀은 R, G, B 화소 중 어느 하나가 올 수 있으며, R, G, B 화소는 4개 종류의 패턴을 가질 수 있다.
이러한 색상 필터 어레이를 이용하여 영상의 색상을 복구하는 것을 디모자이킹(색상 보간, Color Interpolation)이라 한다. 즉, 디모자이킹은 각 베이어 이미지의 각 픽셀로부터 3가지 칼라 정보를 획득하여 영상을 복구하는 디지털 영상처리과정이다.
디모자이킹은 이미지 센서로부터 출력되는 녹색, 적색 및 청색을 포함하는 베이어 이미지의 각 색상에 필터를 적용하여 각 색상에 대한 RGB 이미지를 생성한다. 이때, 각 픽셀 위치마다 사용되는 고성능 디모자이킹 컨볼루션 커널(demosaicing convolution kernel)은 픽셀의 위치마다 상이하다.
예를 들어, 현재 픽셀이 (1)과 같이 Blue에 위치하는 경우 Red와 green 픽셀 값을 도출해야 한다. 이때, Red 픽셀 값을 도출하기 위해서는 도 4의 (a)와 같은 컨볼루션 커널이 사용되고, Green 픽셀값을 도출하기 위해서는 (b)와 같은 컨볼루션 커널이 사용된다. 이처럼 현재 픽셀이 Blue인 경우, VLSI를 구현하기 위해서는 Red 값 도출을 위해 9개의 곱셈기와 8개의 덧셈기가 필요한다. 또한, Green 값을 도출하기 위해서는 9개의 곱셈기와 8개의 덧셈기가 필요하다.
또한, 현재 픽셀이 (2)와 같이 Red에 위치하는 경우 Green, Blue 픽셀 값을 도출해야 한다. 이때, Green 픽셀 값을 도출하기 위해서는 도 4의 (c)와 같은 컨볼루션 커널이 사용되고, Blue 픽셀값을 도출하기 위해서는 (d)와 같은 컨볼루션 커널이 사용된다. 이를 VLSI로 구현 시, Green 값을 도출하기 위해 9개의 곱셈기, 8개의 덧셈기가 필요하고, Blue 값을 도출하기 위해 9개의 곱셈기와 8개의 덧셈기가 필요하다.
또한, 현재 픽셀이 (3)과 같이 양 옆이 Blue이고 위 아래가 Red인 Green에 위치하는 경우, Red, Blue 픽셀 값을 도출해야 한다. 이때, Red 픽셀 값을 도출하기 위해서는 도 4의 (e)와 같은 컨볼루션 커널이 사용되고, Blue 픽셀값을 도출하기 위해서는 (f)와 같은 컨볼루션 커널이 사용된다. 이를 VLSI로 구현 시, Red 값 도출을 위해 11개의 곱셈기, 10개의 덧셈기가 필요하고, Blue 값 도출 시, 11개의 곱셈기, 10개의 덧셈기가 필요하다.
또한, 현재 픽셀이 (4)와 같이 양 옆이 Red이고 위 아래가 Blue인 Green에 위치하는 경우, Red 및 Blue 픽셀 값을 도출해야 한다. 이때, Red 픽셀 값을 도출하기 위해서는 도 4의 (g)와 같은 컨볼루션 커널이 사용되고, Blue 픽셀값을 도출하기 위해서는 (h)와 같은 컨볼루션 커널이 사용된다. 이를 VLSI로 구현 시, Red 값 도출을 위해 11개의 곱셈기와 10개의 덧셈기가 필요하고, Blue 값 도출 시, 11개의 곱셈기와 10개의 덧셈기가 필요하다.
상기와 같은 5*5의 컨볼루션 커널을 사용하여 디모자이킹을 수행하기 위해서는 총 80개의 곱셈기와 72개의 덧셈기가 필요함을 알 수 있다.
이에, 본 발명은 이미지 품질 저하없이 Bayer 이미지의 디모자이킹(demosaicing)에서 하드웨어 자원을 라인 단위로 중첩된 컨볼루션 커널(convolution kernel)과 공유할 수 있는 효율적인 하드웨어 아키텍처를 제안한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 5는 본 발명의 일 실시예에 따른 디모자이킹과 컨볼루션 커널을 설명하기 위한 도면이다.
도 5를 참조하면, 이미지 센서에서 Bayer 이미지를 출력할 때, 한 픽셀씩, 가장 위의 라인(line)부터 좌에서 우로 순차적으로 출력한다. 이때, 홀수 라인과 짝수 라인 간 시간적 간격이 수평 라인 픽셀 수 만큼 발생한다.
즉, (a)와 같이 R 위치에 대한 디모자이킹이 수행된 후, (b)와 같이 G 위치에 대한 디모자이킹이 연속적으로 수행되며, 첫번째 라인의 디모자이킹이 완료되면, 두번째 라인의 디모자이킹이 연속적으로 수행된다. (c)와 같이 G 위치에 대한 디모자이킹이 수행된 후, (d)와 같이 B 위치에 대한 디모자이킹이 연속적으로 수행된다. 이때, 1920 × 1080의 풀 HD 해상도의 경우 각 라인 사이의 간격에는 적어도 1920 클럭 사이클이 포함되므로, 각 라인 간 시간적 간격은 1920 클럭일 수 있다. 또한, (a)의 R위치와 (d)의 B위치에서의 컨볼루션 커널의 계수가 완전히 겹쳐있고, (b)의 G위치와 (c)의 G치에서의 컨볼루션 커널의 계수가 완전히 겹쳐있다. 즉, 디모자이킹 컨볼루션 커널은 홀수 라인과 짝수 라인(line) 간 중복되는 구조를 갖고 있다.
이러한 이미지 라인의 시간 간격 특성에 기초하여 중첩 컨볼루션 커널에 대한 디모자이킹 하드웨어를 공유함으로써 산술 연산의 하드웨어 복잡성을 줄일 수 있다. 또한, 컨볼루션 커널 랭크 특성에 기반한 계산 결과 재사용을 적용하여 디모자이킹에 필요한 계산량을 줄일 수 있다.
도 6은 본 발명의 일 실시예에 따른 디모자이킹 장치를 설명하기 위한 도면, 도 7은 도 6에 도시된 필터부를 설명하기 위한 도면이다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 디모자이킹 장치(600)는 라인버퍼(610), 카운터(620), 필터부(630)를 포함한다.
라인버퍼(610)는 이미지 센서로부터 출력되는 베이어 패턴(Bayer Pattern) 이미지의 라인별 픽셀을 순차적으로 저장하고, 기 설정된 사이즈의 픽셀 라인이 저장된 경우 출력한다. 예를 들어, 5*5 컨볼루션 커널을 사용하는 경우, 라인버퍼(610)는 이미지 센서에서 출력되는 픽셀을 한픽셀씩 저장하고, 디모자이킹이 가능한 시점 즉, 5개 라인이 모두 저장되었을 때 출력을 시작한다.
카운터(620)는 라인버퍼(610)에서 출력되는 베이어 이미지의 픽셀 및 수평 라인을 카운트하고, 그 카운트한 값에 따른 선택신호를 출력하는 구성으로, 라인 카운터(622)와 픽셀 카운터(624)를 포함한다.
라인 카운터(622)는 라인버퍼(610)에서 출력되는 베이어 이미지의 수평 라인을 카운트하고, 그 카운트한 값에 따른 선택신호를 출력한다. 즉, 라인 카운터(622)는 베이어 이미지의 수평라인을 카운트하고, 그 카운트한 값을 이진수로 변환하며, 변환된 이진수의 LSB(least significant bit)인 '0' 또는 '1'을 선택신호로 출력한다. 예컨대, 홀수 라인의 경우 '0'이 출력되고, 짝수 라인의 경우 '1'을 출력하거나, 이와 반대의 선택신호가 출력될 수도 있다. 예컨대, 라인 카운터(622)는 해당 라인이 RG가 포함된 라인인지, GB가 포함된 라인인지 등을 구분할 수 있다.
픽셀 카운터(624)는 라인버퍼(610)에서 출력되는 베이어 이미지의 픽셀 수를 카운트하고, 그 카운트한 값에 따른 선택신호를 출력한다. 즉, 픽셀 카운터(624)는 출력된 베이어 이미지의 수평라인 상 픽셀 수를 카운트하고, 그 카운트 한 값을 이진수로 변환하며, 변환된 이진수의 LSB(least significant bit)인 '0' 또는 '1'을 선택신호로 출력한다. 예컨대, 홀수 인덱스를 갖는 픽셀의 경우 '0' 이 출력되고, 짝수 인덱스를 갖는 픽셀의 경우 '1'을 출력하거나, 이와 반대의 선택신호가 출력될 수도 있다.
또한, 픽셀 카운터(624)는 라인 카운터(622)에 의해 해당 라인이 RG가 포함된 라인인지, GB가 포함된 라인인지 구분되었을 때, R 픽셀, G 픽셀, B 픽셀의 정확한 위치 등을 구분할 수 있다.
라인 카운터(622)와 픽셀 카운터(624)로 구성된 카운터(620)는 먹스(634)의 선택(select) 신호에 라인 카운터(622)와 픽셀 카운터(624)의 least significant bit(LSB)를 연결하여 구동시킨다. 즉, 라인 카운터(622)는 수평라인이 카운트(count)될 때마다 토글(toggle)되기 때문에, 먹스(634)의 선택(select) 신호에 라인 카운터(622)의 least significant bit(LSB)를 연결하여 구동시킨다. 또한, 픽셀 카운터(624)는 픽셀이 카운트(count)될 때마다 토글(toggle)되기 때문에, 라인 카운터(622)의 least significant bit(LSB)와 함께, 먹스(634)의 선택(select) 신호에 픽셀 카운터(624)의 least significant bit(LSB)를 연결하여 구동시킨다.
필터부(630)는 라인버퍼(610)로부터 출력되는 픽셀들에 대해, 픽셀별 컨볼루션 커널(convolution kernel)을 선택하여 컨볼루션 연산을 수행하고, 카운터(620)의 선택신호에 따라 컨볼루션 결과값을 출력한다.
필터부(630)는 각 픽셀별로 컨볼루션 연산을 수행하여, 각 픽셀별 RGB 값을 산출하고, 산출된 RGB 값을 이용하여 베이어 이미지를 RGB 이미지로 변환한다. 즉, 필터부(630)는 라인버퍼(610)로부터 5개의 픽셀 라인들을 시계열 순으로 제공받아, 각 픽셀 라인별로 컨볼루션 연산을 수행하여 베이어 이미지를 RGB 이미지로 변환한다.
필터부(630)는 베이어 이미지의 각 픽셀별로 컨볼루션 커널을 적용하여 RGB 값을 결정하고, 그 결정된 RGB 값을 이용하여 베이어 이미지를 RGB 이미지로 변환하게 된다.
이러한 필터부(630)는 컨볼루션부(632)와 먹스(MUX)(634)를 포함한다.
컨볼루션부(632)는 현재 픽셀과 산출하고자 하는 픽셀에 기초하여 해당 커벌루션 커널을 선택하고, 선택된 컨볼루션 커널을 이용하여 컨볼루션 연산을 수행한다.
이러한 컨볼루션부(632)는 디 플립플롭(data flip-flop)(632a), 제1 컨볼루션부(632b), 제2 컨볼루션부(632c), 제3 컨볼루션부(632d), 제4 컨볼루션부(632e)를 포함한다.
디 플립플롭(632a)은 베이어 이미지의 현재 픽셀 값을 컨볼루션 없이 바로 출력한다. 즉, 디 플립플롭(632a)은 현재 픽셀이 Red이고 Red픽셀 값을 산출하고자 하는 경우, 현재 픽셀이 Green이고 Green픽셀 값을 산출하고자 하는 경우, 현재 픽셀이 Blue이고 Blue픽셀 값을 산출하고자 하는 경우에 이용할 수 있다.
제1 컨볼루션부(632b)는 현재 픽셀이 Blue이고 Green 픽셀 값을 산출하고자 하는 경우 또는 현재 픽셀이 Red이고 Green 픽셀 값을 산출하고자 하는 경우 제1 컨볼루션 커널을 이용하여 Green 픽셀 값을 산출한다. 여기서, 제1 컨볼루션 커널은 현재 픽셀이 'Blue' 인 경우, Green 픽셀 값 도출, 현재 픽셀이 'Red'인 경우, Green 픽셀 값 도출을 위한 커널일 수 있다.
제2 컨볼루션부(632c)는 현재 픽셀이 Blue이고 Red 픽셀 값을 산출하고자 하는 경우 또는 현재 픽셀이 Red이고 Blue 픽셀 값을 산출하고자 하는 경우 제2 컨볼루션 커널을 이용하여 Red 픽셀 값 또는 Blue 픽셀 값을 산출한다. 제2 컨볼루션 커널은 현재 픽셀이 'Blue' 인 경우, Red 픽셀 값 도출, 현재 픽셀이 'Red'인 경우, Blue 값 도출을 위한 커널일 수 있다.
제3 컨볼루션부(632d)는 현재 픽셀이 Green이고, 좌우가 Blue, 상하가 Red이며, Red 픽셀 값을 산출하고자 하는 경우 또는 현재 픽셀이 Green이고, 좌우가 Red, 상하가 Blue이며, Blue 픽셀 값을 산출하고자 하는 경우 제3 컨볼루션 커널을 이용하여 Red 픽셀 값 또는 Blue 픽셀 값을 산출한다. 제3 컨볼루션 커널은 현재 픽셀이 Green이고, 좌우가 Blue이며 상하가 Red인 경우, Red값 도출, 현재 픽셀이 Green이고, 좌우가 Red이며 상하가 Blue인 경우, Blue Red값 도출을 위한 커널일 수 있다.
제4 컨볼루션부(632e)는 현재 픽셀이 Green이고, 좌우가 Blue, 상하가 Red이며, Blue 픽셀 값을 산출하고자 하는 경우 또는 현재 픽셀이 Green이고, 좌우가 Red, 상하가 Blue이며, Red 픽셀 값을 산출하고자 하는 경우 제4 컨볼루션 커널을 이용하여, Blue 픽셀 값 또는 Red 픽셀 값을 산출한다. 제4 컨볼루션 커널은 현재 픽셀이 Green이고, 좌우가 Blue이며 상하가 Red인 경우, Blue 픽셀 값 도출, 현재 픽셀이 Green이고, 좌우가 Red이며 상하가 Blue인 경우, Red 픽셀 값 도출을 위한 커널일 수 있다.
먹스(634)는 카운터(620)의 선택신호에 기초하여 컨볼루션부(632)의 결과값을 선택하여 출력한다. 이때, 먹스(634)는 결과값을 출력 레지스터(미도시)에 전달한다.
이러한 먹스(634)는 디 플립플롭(632a), 제2 컨볼루션부(632c), 제3 컨볼루션부(632d), 제4 컨볼루션부(632e)에서 산출된 Blue 픽셀 값 중 하나의 Blue 픽셀 값을 출력하는 제1 먹스(634a), 디 플립플롭(632a), 제1 컨볼루션부(632b)에서 산출된 Green 픽셀 값 중 하나의 Green 픽셀 값을 출력하는 제2 먹스(634b), 디 플립플롭(632a), 제2 컨볼루션부(632c), 제3 컨볼루션부(632d), 제4 컨볼루션부(632e)에서 산출된 Red 픽셀 값 중 하나의 Red 픽셀 값을 출력하는 제3 먹스(634c)를 포함한다.
즉, 제1 먹스(634a)는 선택신호에 기초하여 디 플립플롭(632a), 제2 컨볼루션부(632c), 제3 컨볼루션부(632d), 제4 컨볼루션부(632e)에서 산출된 Blue 픽셀 값 중 하나의 Blue 픽셀 값을 출력한다. 예를 들어, 제1 먹스(634a)는 선택신호가 '00'이며 현재 픽셀이 Red인 경우 산출된 Blue 픽셀 값을 출력, 선택신호가 '01'이며 현재 픽셀이 Green인 경우 산출된 Blue 픽셀 값을 출력, 선택신호가 '10'이며 현재 픽셀이 Green인 경우 산출된 Blue 픽셀 값을 출력, 선택신호가 '11'이며 현재 픽셀이 Blue인 경우 산출된 Blue 픽셀 값을 출력할 수 있다.
제2 먹스(634b)는 선택신호에 기초하여 디 플립플롭(632a), 제1 컨볼루션부(632b) 에서 산출된 Green 픽셀 값 중 하나의 Green 픽셀 값을 출력한다. 예를 들어, 제2 먹스(634b)는 선택신호가 '00'이며 현재 픽셀이 Red인 경우 산출된 Green 픽셀 값을 출력, 선택신호가 '01'이며 현재 픽셀이 Green인 경우 산출된 Green 픽셀 값을 출력, 선택신호가 '10'이며 현재 픽셀이 Green인 경우 산출된 Green 픽셀 값을 출력, 선택신호가 '11'이며 현재 픽셀이 Blue인 경우 산출된 Green 픽셀 값을 출력할 수 있다.
제3 먹스(634c)는 선택신호에 기초하여 디 플립플롭(632a), 제2 컨볼루션부(632c), 제3 컨볼루션부(632d), 제4 컨볼루션부(632e)에서 산출된 Red 픽셀 값 중 하나의 Red 픽셀 값을 출력한다. 예를 들어, 제3 먹스(634c)는 선택신호가 '00'이며 현재 픽셀이 Red인 경우 산출된 Red 픽셀 값을 출력, 선택신호가 '01'이며 현재 픽셀이 Green인 경우 산출된 Red 픽셀 값을 출력, 선택신호가 '10'이며 현재 픽셀이 Green인 경우 산출된 Red 픽셀 값을 출력, 선택신호가 '11'이며 현재 픽셀이 Blue인 경우 산출된 Red 픽셀 값을 출력할 수 있다.
상술한 바와 같이 먹스(634)는 컨볼루션의 결과를 현재 필요한 픽셀 결과로 사용하도록 돕는 역할을 한다. 예컨대, 도 5에서 G위치에서의 R 연산용 컨볼루션 커널과 G위치에서의 B 연산용 컨볼루션 커널에 포함된 계수가 서로 같기 때문에 하나의 컨볼루션부(632)로 표시되므로, 먹스(634)는 픽셀 카운터 값과 라인 카운터 값에 따른 선택 신호에 따라 R로 사용할지, B로 사용할지 결정한다.
한편, 상기와 같이 구성된 필터부(630)는 먹스(634)를 통해 결과값을 출력 레지스터에 전달한다. 예를 들어, 현재 픽셀이 R이면 R은 그대로 R 출력 레지스터에 전달하고, 컨볼루션을 수행하여 B와 G를 산출하여 B와 G 출력 레지스터에 각각 전달한다. 또한, 현재 픽셀이 B면 B는 그대로 B 출력 레지스터에 전달하고, 컨볼루션을 수행하여 R과 G를 산출하여 R과 G 출력 레지스터에 각각 전달한다. 또한, R라인에 있는 G와 B라인에 있는 G는 G를 그대로 G 출력 레지스터에 전달하고, 컨볼루션을 수행하여 R과 B를 각각 도출 후 R과 B 출력 레지스터에 각각 전달한다.
이때, 디모자이킹의 filter coefficient를 라인별 뿐만 아니라, 픽셀 별로 완전히 중복되는 것을 채택하면, demosaicing hardware architecture의 복잡도를 더 줄일 수 있다.
상기와 같이 구성된 디모자이킹 장치(600)에 의해 연산기(곱셈기/덧셈기) 수를 줄일 수 있다.
아래 표 1은 5*5 컨볼루션 커널을 사용하여 디모자이킹한 경우의 연산기 수를 비교한 것이다.
Direct 2D Filtering Computation Reuse Proposed Sharing Approach
Number of Arithmetic (A) 72AAdd. + 80AMult. 62AAdd. + 64AMult. 31AAdd. + 32AMult.
본 발명의 sharing approach를 사용하면 Direct 2D filtering에 비해 연산기가 절반으로 줄어듬을 확인할 수 있다. 즉, 곱셈기가 80개에서 40개로 줄어들고, 덧셈기가 72개에서 36개로 줄어들었다.
또한, 본 발명의 sharing approach 는 기존 computation reuse approach와 함께 적용 가능하기 때문에 표 1에 나타낸 결과에서 8개의 곱셈기와 5개의 덧셈기를 추가적으로 줄일 수 있다.
표 2는 FPGA를 이용해 실제 VLSI 구현 시 요구되는 hardware complexity 를 분석한 결과다.
Direct 2D Filtering Computation Reuse Proposed Hardware Sharing
Logic Elements 3,793 2,050 1,320
Registers 1,085 683 437
Memory (Bits) 196,522 196,522 196,522
본 발명에 따른 demosaicing filter의 VLSI 구현 시 적용하면, FPGA 관점에서, 35% 의 logic elements 절감, 31%의 registers 절감 효과를 볼 수 있다.
한편, 여기에서는 베이어 이미지를 RGB로 변환하는 구성을 디모자이킹 장치로 칭하여 설명하였으나, 장치는 필터 등의 다양한 용어로 칭할 수도 있다.
도 8은 본 발명의 일 실시예에 따른 베이어 이미지를 RGB 이미지로 변환하는 방법을 나타낸 흐름도이다.
도 8을 참조하면, 디모자이킹 장치는 이미지 센서로부터 출력되는 베이어 이미지의 라인별 픽셀을 순차적으로 라인버퍼에 저장하고(S810), 기 설정된 사이즈의 픽셀 라인이 저장된 경우(S820), 라인버퍼에 저장된 픽셀 라인을 순차적으로 출력한다(S830).
단계 S830이 수행되면, 디모자이킹 장치는 현재 픽셀과 산출하고자 하는 픽셀에 따라 해당 커벌루션 커널을 선택하여 컨볼루션 연산을 수행하고(S840), 베이어 이미지의 픽셀 및 수평 라인을 카운트한 값에 따른 선택신호에 기초하여 컨볼루션 결과값을 선택하여 출력한다(S850).
각 픽셀별로 컨볼루션 연산을 수행하면, 각 픽셀별 RGB 값이 산출되고(S860), 디모자이킹 장치는 산출된 RGB 값을 이용하여 베이어 이미지를 RGB 이미지로 변환한다(S870). RGB 값을 이용하여 베이어 이미지를 RGB 이미지로 변환하는 방법을 종래의 방법을 이용하므로, 그 설명은 생략하기로 한다.
도 9는 본 발명의 일 실시예에 따른 스테레오 카메라를 설명하기 위한 도면이다.
도 9를 참조하면, 본 발명의 일 실시예에 따른 스테레오 카메라(900)는 제1 및 제2 이미지 센서(910a, 910b), 제1 및 제2 디코딩 장치(920a, 920b), 제1 및 제2 디모자이킹 장치(930a, 930b), 동기화 장치(940). 제1 및 제2 인터페이스부(950a, 950b)를 포함한다.
제1 및 제2 이미지 센서(910a, 910b)는 외부로부터 수신되는 빛에 기반하여 전기적 신호를 생성하고, 전기적 신호에 기반하여 디지털 이미지 데이터(예: Bayer 이미지 데이터)를 획득할 수 있다. 일 실시 예에 따르면, 제1 이미지 센서(910a)는 피사체의 제1 이미지 데이터를 획득할 수 있다. 제2 이미지 센서(910b)는 피사체의 제1 이미지와 시차를 가지는 제2 이미지 데이터를 획득할 수 있다.
이하에서는 설명의 편의를 위해 제1 이미지 센서(910a)는 마스터로 동작하고, 제2 이미지 센서(910b)는 슬레이브로 동작한다고 가정하여 설명하기로 한다.
제1 이미지 센서(910a)는 제1 이미지 데이터와 동기신호를 출력한다. 이때, 제1 이미지 데이터는 베이어 이미지일 수 있다.
제1 디코딩 장치(920a)는 제1 이미지 센서(910a)로부터 순수한 액티브 raw 베이어 픽셀 데이터를 획득한다. 이러한 제1 디코딩 장치(920a)는 sub-LVDS DDR/SDR 모듈, 임베디드 동기신호 디코더 모듈, 클럭 도메인 크로싱 모듈을 포함한다.
sub-LVDS DDR/SDR 모듈은 더블-에지 트리거 데이터를 싱글-에지 트리거 데이터로 변환한다.
임베디드 동기신호 디코더 모듈은 액티브 픽셀 데이터를 추출하고, 이는 임베디드 싱크 코드와 수평 동기신호/수직동기신호 신호를 기반으로 한다.
클럭 도메인 크로싱 모듈은 이중 포트 SRAM을 사용하여 2 픽셀 데이터를 단일 에지 트리거의 1 픽셀 테이터로 변환한다.
이러한 구조의 제1 디코딩 장치(920a)는 제1 이미지 센서(910a)에서 출력되는 베이어 패턴의 이미지 데이터와 동기신호를 획득하고, 베이어 패턴의 이미지 데이터는 제1 디모자이킹 장치(930a)로 전송하고, 동기신호는 동기화 장치(940)로 전송한다.
제1 디모자이킹 장치(930a)는 Bayer 이미지를 RGB 이미지로 변환한다. 즉, 제1 디모자이킹 장치(930a)는 홀수 라인과 짝수 라인간에 중복되는 컨볼루션 커널을 공유하여, 각 픽셀별로 R, B, G 값을 산출하고, 산출된 RGB 값을 이용하여 베이어 이미지를 RGB 이미지로 변환한다. 즉, 제1 디모자이킹 장치(930a)는 해당 라인의 각 픽셀별로 컨볼루션 커널을 선택 및 컨볼루션하여 각 픽셀별 RGB 값을 산출하고, 산출된 RGB 값을 이용하여 베이어 이미지를 RGB 이미지로 변환한다. 이때, 제1 디모자이킹 장치(930a)는 라인간에 중복되는 컨볼루션 커널을 공유하기 위해, 베이어 이미지의 수평라인을 카운트하고, 그 카운트한 값에 기초하여 컨볼루션 결과값을 선택한다.
이러한 제1 디모자이킹 장치(930a)에 대한 상세한 설명은 도 6을 참조하기로 한다.
동기화 장치(940)는 제1 이미지 센서 동기신호의 변화 주기를 모니터링하고, 그 모니터링 결과에 기초하여 제2 이미지 센서(910b)와 디스플레이 장치의 동기신호 주기를 실시간으로 보상하여 제1 및 제2 이미지 센서(910a, 910b)와 디스플레이 장치를 동기화시킨다
동기화 장치(940)는 동기신호 모니터링부(942), 동기신호 적응부(944)로 구성될 수 있다.
동기신호 모니터링부(942)는 제1 이미지 센서(910a)의 동기신호 주기를 모니터링하여 수직동기신호(Vsync)의 1주기 동안 수평동기신호(Hsync) 주기의 최대 오차 값을 산출한다. 이때, 수직동기신호(VSync)는 이미지가 바뀌었을 때 토글되는 신호로 이미지 단위 신호일 수 있고, 수평동기신호는 이미지에서 수평 라인이 바뀔때마다 토글되는 신호로, 라인 단위 신호일 수 있다.
동기신호 적응부(944)는 동기신호 모니터링부(942)에서 산출된 최대 오차값에 기초하여 제2 이미지 센서(920a) 또는 디스플레이 장치로 전송할 동기신호의 펄스를 조절한다.
이러한 동기화 장치(940)에 의해 제1 이미지 센서(910a)와 제2 이미지 센서(920a)가 동기화되면, 제2 이미지 센서(920a)가 컬러 이미지를 생성하는데 필요한 약간의 대기 시간 동안 제1 이미지 센서(910a)의 디모자이킹 결과가 FIFO(First Out, FIFO) 버퍼(미도시)에 저장된다. 제2 이미지 센서(920a)로부터 출력되는 베이어 이미지를 RGB 이미지로 변환하기 위한 제2 디코딩 장치(920b) 및 제2 디모자이킹 장치(930b)는 제1 디코딩 장치(920a) 및 제1 디모자이킹 장치(930a)의 동작과 동일하므로 그 설명은 생략하기로 한다.
최종적으로, 동기화된 제1 및 제2 이미지 데이터는 동기 신호 적응부(944) 및 제1 및 제2 인터페이스부(예컨대, HDMI TX 디바이스)(950a, 950b)를 사용하여 연속적으로 생성된다.
상술한 스테레오 카메라(900)는 이미지 센서와 HDMI TX 디바이스 외에도 모든 구성이 FPGA로 구현되어있어 하나의 칩 구현이 가능하다.
한편, 본 발명의 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광매체(magneto-optical), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 일 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (11)

  1. 이미지 센서로부터 출력되는 베이어(Bayer) 이미지의 라인별 픽셀을 순차적으로 저장하고, 기 설정된 사이즈의 픽셀 라인이 저장된 경우 출력하는 라인버퍼;
    상기 라인버퍼에서 출력되는 베이어 이미지의 픽셀 및 수평 라인을 카운트하고, 상기 카운트한 값에 따른 선택신호를 출력하는 카운터(counter); 및
    상기 라인버퍼로부터 출력되는 픽셀들에 대해, 각 픽셀별 컨볼루션 커널(convolution kernel)을 선택하여 컨볼루션 연산을 수행하고, 상기 카운터의 선택신호에 따라 컨볼루션 결과값을 출력하는 필터부를 포함하되,
    상기 컨볼루션 커널은 홀수 라인과 짝수 라인 간 중복되는 구조인 것을 특징으로 하는 디모자이킹 장치.
  2. 제1항에 있어서,
    상기 카운터는,
    상기 베이어 이미지의 수평 라인을 카운트하고, 상기 카운트한 값을 이진수로 변환하며, 상기 변환된 이진수의 LSB(least significant bit)인 '0' 또는 '1'을 선택신호로 출력하는 라인 카운터(line counter); 및
    상기 베이어 이미지의 수평 라인 상의 픽셀 수를 카운트하고, 상기 카운트한 값을 이진수로 변환하며, 상기 변환된 이진수의 LSB(least significant bit)인 '0' 또는 '1'을 선택신호로 출력하는 픽셀 카운터(pixel counter)를 포함하는 것을 특징으로 하는 디모자이킹 장치.
  3. 제1항에 있어서,
    상기 필터부는,
    현재 픽셀과 산출하고자 하는 픽셀에 기초하여 해당 커벌루션 커널을 선택하고, 상기 선택된 컨볼루션 커널을 이용하여 컨볼루션 연산을 수행하는 컨볼루션부; 및
    상기 선택신호에 기초하여 상기 컨볼루션부의 결과값을 선택하여 출력하는 먹스(MUX)를 포함하는 것을 특징으로 하는 디모자이킹 장치.
  4. 제3항에 있어서,
    상기 컨볼루션부는,
    현재 픽셀의 값을 컨볼루션 없이 바로 출력하는 디 플립플롭(data flipflop);
    현재 픽셀이 Blue이고 Green 픽셀 값을 산출하고자 하는 경우 또는 현재 픽셀이 Red이고 Green 픽셀 값을 산출하고자 하는 경우 제1 컨볼루션 커널을 이용하여 Green 픽셀 값을 산출하는 제1 컨볼루션부;
    현재 픽셀이 Blue이고 Red 픽셀 값을 산출하고자 하는 경우 또는 현재 픽셀이 Red이고 Blue 픽셀 값을 산출하고자 하는 경우 제2 컨볼루션 커널을 이용하여 Red 픽셀 값 또는 Blue 픽셀 값을 산출하는 제2 컨볼루션부;
    현재 픽셀이 Green이고, 좌우가 Blue, 상하가 Red이며, Red 픽셀 값을 산출하고자 하는 경우 또는 현재 픽셀이 Green이고, 좌우가 Red, 상하가 Blue이며, Blue 픽셀 값을 산출하고자 하는 경우 제3 컨볼루션 커널을 이용하여 Red 픽셀 값 또는 Blue 픽셀 값을 산출하는 제3 컨볼루션부; 및
    현재 픽셀이 Green이고, 좌우가 Blue, 상하가 Red이며, Blue 픽셀 값을 산출하고자 하는 경우 또는 현재 픽셀이 Green이고, 좌우가 Red, 상하가 Blue이며, Red 픽셀 값을 산출하고자 하는 경우 제4 컨볼루션 커널을 이용하여, Blue 픽셀 값 또는 Red 픽셀 값을 산출하는 제4 컨볼루션부를 포함하는 것을 특징으로 하는 디모자이킹 장치.
  5. 제4항에 있어서,
    상기 먹스는,
    상기 선택신호에 기초하여 디 플립플롭, 제2 컨볼루션부, 제3 컨볼루션부, 제4 컨볼루션부에서 산출된 Blue 픽셀 값 중 하나의 Blue 픽셀 값을 출력하는 제1 먹스;
    상기 선택신호에 기초하여 디 플립플롭, 제1 컨볼루션부에서 산출된 Green 픽셀 값 중 하나의 Green 픽셀값을 출력하는 제2 먹스; 및
    상기 선택신호에 기초하여 디 플립플롭, 제2 컨볼루션부, 제3 컨볼루션부, 제4 컨볼루션부에서 산출된 Red 픽셀 값 중 하나의 Red 픽셀 값을 출력하는 제3 먹스를 포함하는 것을 특징으로 하는 디모자이킹 장치.
  6. 제1항에 있어서,
    상기 필터부는 각 픽셀별로 R, G, B 값을 각각 산출하여 상기 베이어 이미지를 RGB 이미지로 변환하는 것을 특징으로 하는 디모자이킹 장치.
  7. 디모자이킹 장치가 베이어 이미지를 RGB 이미지로 변환하는 방법에 있어서,
    베이어 이미지의 라인별 픽셀을 순차적으로 라인버퍼에 저장하고, 기 설정된 사이즈의 픽셀 라인이 저장된 경우, 상기 라인버퍼에 저장된 픽셀 라인을 순차적으로 출력하는 단계;
    상기 출력되는 픽셀들에 대해, 현재 픽셀과 산출하고자 하는 픽셀에 기초하여 해당 컨볼루션 커널을 선택하고, 상기 선택된 컨볼루션 커널을 이용하여 컨볼루션 연산을 수행하는 단계; 및
    상기 베이어 이미지의 픽셀 및 수평 라인을 카운트한 값에 따른 선택신호에 기초하여, 상기 컨볼루션 연산의 결과값을 선택 및 출력하는 단계를 포함하되,
    상기 컨볼루션 커널은 홀수 라인과 짝수 라인 간 중복되는 구조인 것을 특징으로 하는 디모자이킹 방법.
  8. 제7항에 있어서,
    상기 컨볼루션 연산의 결과값을 선택 및 출력하는 단계이후,
    각 픽셀별 R, G, B 값이 산출된 경우, 상기 산출된 R, G, B 값을 이용하여 상기 베이어 이미지를 RGB 이미지로 변환하는 단계를 더 포함하는 것을 특징으로 하는 디모자이킹 방법.
  9. 제베이어 이미지를 출력하는 제1 및 제2 이미지 센서;
    홀수 라인과 짝수 라인간에 중복되는 컨볼루션 커널을 공유하여, 상기 베이어 이미지를 RGB 이미지로 변환하는 제1 및 제2 디모자이킹 장치;
    상기 제1 이미지 센서와 제2 이미지 센서를 동기화시키는 동기화 장치
    를 포함하는 스테레오 카메라.
  10. 제9항에 있어서,
    상기 제1 및 제2 디모자이킹 장치는,
    이미지 센서로부터 출력되는 베이어(Bayer) 이미지의 라인별 픽셀을 순차적으로 저장하고, 기 설정된 사이즈의 픽셀 라인이 저장된 경우 출력하는 라인버퍼;
    상기 라인버퍼에서 출력되는 베이어 이미지의 픽셀 및 수평 라인을 카운트하고, 상기 카운트한 값에 따른 선택신호를 출력하는 카운터(counter); 및
    상기 라인버퍼로부터 출력되는 베이어 이미지에 대해, 각 픽셀별로 요구하는 컨볼루션 커널(convolution kernel)을 선택하여 컨볼루션 연산을 수행하고, 상기 카운터의 선택신호에 따라 컨볼루션 결과값을 출력하는 필터부를 포함하는 것을 특징으로 하는 스테레오 카메라.
  11. 제9항에 있어서,
    상기 동기화 장치는,
    상기 제1 이미지 센서의 동기신호 주기를 모니터링하여, 수직동기(Vsync)의 1주기 동안 수평동기(Hsync) 주기의 최대 오차 값을 산출하는 동기신호 모니터링부;
    상기 최대 오차값에 기초하여 제2 이미지 센서 또는 디스플레이 장치로 전송할 수평동기의 포치(porch)를 조절하는 동기신호 적응부를 포함하는 것을 특징으로 하는 스테레오 카메라.
PCT/KR2018/015160 2018-06-22 2018-12-03 디모자이킹 장치 및 그 방법, 이를 적용한 스테레오 카메라 WO2019245117A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020197001704A KR102170447B1 (ko) 2018-06-22 2018-12-03 디모자이킹 장치 및 그 방법, 이를 적용한 스테레오 카메라

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180072060 2018-06-22
KR10-2018-0072060 2018-06-22

Publications (1)

Publication Number Publication Date
WO2019245117A1 true WO2019245117A1 (ko) 2019-12-26

Family

ID=68983027

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/KR2018/015160 WO2019245117A1 (ko) 2018-06-22 2018-12-03 디모자이킹 장치 및 그 방법, 이를 적용한 스테레오 카메라
PCT/KR2018/015161 WO2019245118A1 (ko) 2018-06-22 2018-12-03 스테레오 카메라의 동기화 장치, 스테레오 카메라 및 스테레오 카메라의 동기화 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/015161 WO2019245118A1 (ko) 2018-06-22 2018-12-03 스테레오 카메라의 동기화 장치, 스테레오 카메라 및 스테레오 카메라의 동기화 방법

Country Status (2)

Country Link
KR (2) KR102170447B1 (ko)
WO (2) WO2019245117A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3859660A1 (en) * 2020-01-30 2021-08-04 Samsung Electronics Co., Ltd. Data processing method and sensor device for performing the same

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102244581B1 (ko) * 2020-09-16 2021-04-26 (주) 캔랩 복수의 카메라들을 부팅하는 방법 및 차량 단말
WO2022099534A1 (en) * 2020-11-12 2022-05-19 Qualcomm Incorporated Automatic update for transmitting a command to a display panel

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140002616A1 (en) * 2011-03-31 2014-01-02 Sony Computer Entertainment Inc. Information processing system, information processing device, imaging device, and information processing method
KR101512222B1 (ko) * 2010-04-05 2015-04-14 퀄컴 인코포레이티드 다중 이미지 센서들로부터 데이터의 결합
US9122443B1 (en) * 2008-05-01 2015-09-01 Rockwell Collins, Inc. System and method for synchronizing multiple video streams
US20170180656A1 (en) * 2015-12-16 2017-06-22 Samsung Electronics Co., Ltd. Image processing apparatus and image processing system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6816197B2 (en) * 2001-03-21 2004-11-09 Hewlett-Packard Development Company, L.P. Bilateral filtering in a demosaicing process
KR101316179B1 (ko) * 2007-02-05 2013-10-08 엘지이노텍 주식회사 듀얼 카메라
FR2967324B1 (fr) * 2010-11-05 2016-11-04 Transvideo Procede et dispositif de controle du dephasage entre cameras stereoscopiques
US9521398B1 (en) * 2011-04-03 2016-12-13 Gopro, Inc. Modular configurable camera system
KR20130044976A (ko) * 2011-10-25 2013-05-03 삼성전기주식회사 스테레오카메라의 동기화 장치, 스테레오카메라 및 스테레오카메라의 동기화 방법
JP2015019118A (ja) * 2011-11-08 2015-01-29 株式会社ニコン 撮像装置、撮像システムおよび撮像装置の制御プログラム
KR101670446B1 (ko) 2016-07-26 2016-10-28 (주)큐브이미징시스템즈 카메라 영상 실시간 처리 장치 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9122443B1 (en) * 2008-05-01 2015-09-01 Rockwell Collins, Inc. System and method for synchronizing multiple video streams
KR101512222B1 (ko) * 2010-04-05 2015-04-14 퀄컴 인코포레이티드 다중 이미지 센서들로부터 데이터의 결합
US20140002616A1 (en) * 2011-03-31 2014-01-02 Sony Computer Entertainment Inc. Information processing system, information processing device, imaging device, and information processing method
US20170180656A1 (en) * 2015-12-16 2017-06-22 Samsung Electronics Co., Ltd. Image processing apparatus and image processing system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HENRIQUE S. MALVAR: "HIGH-QUALITY LINEAR INTERPOLATION FOR DEMOSAICING OF BAYER-PATTERNED COLOR IMAGES", 2004 IEEE INTERNATIONAL CONFERENCE ON AC OUSTICS, SPEECH, AND SIGNAL PROCESSIN G, 17 May 2014 (2014-05-17), Montreal, Que., Canada, pages 485 - 488 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3859660A1 (en) * 2020-01-30 2021-08-04 Samsung Electronics Co., Ltd. Data processing method and sensor device for performing the same
US11276132B2 (en) 2020-01-30 2022-03-15 Samsung Electronics Co., Ltd. Data processing method and sensor device for performing the same
US11803933B2 (en) 2020-01-30 2023-10-31 Samsung Electronics Co., Ltd. Data processing method and sensor device for performing the same

Also Published As

Publication number Publication date
KR102170447B1 (ko) 2020-10-28
KR20200000434A (ko) 2020-01-02
KR102179549B1 (ko) 2020-11-17
WO2019245118A1 (ko) 2019-12-26
KR20200000433A (ko) 2020-01-02

Similar Documents

Publication Publication Date Title
WO2019245117A1 (ko) 디모자이킹 장치 및 그 방법, 이를 적용한 스테레오 카메라
WO2014010940A1 (en) Image correction system and method for multi-projection
WO2016027930A1 (en) Portable device and method for controlling the same
WO2012064010A1 (en) Image conversion apparatus and display apparatus and methods using the same
WO2011126328A2 (ko) 이미지 센서에서 발생되는 잡음을 제거하기 위한 장치 및 방법
WO2012161556A2 (ko) 무선 통신 시스템에서의 데이터 전송률 조절 방법 및 장치
WO2015030307A1 (en) Head mounted display device and method for controlling the same
WO2018038433A1 (en) Apparatus, system on chip, and method for transmitting video image
WO2016190472A1 (ko) 크로마키를 이용한 증강현실 영상 제작 장치 및 방법
WO2018038458A1 (en) Wireless receiving apparatus and data processing module
JP3510733B2 (ja) 電子内視鏡に接続可能な映像信号処理装置
WO2021137555A1 (en) Electronic device comprising image sensor and method of operation thereof
WO2021107293A1 (en) Electronic apparatus and control method thereof
WO2014051309A1 (en) Stereo matching apparatus using image property
WO2020055196A1 (en) Apparatus and methods for generating high dynamic range media, based on multi-stage compensation of motion
WO2017086522A1 (ko) 배경스크린이 필요 없는 크로마키 영상 합성 방법
WO2022080680A1 (ko) 인공지능 기반 이미지 인페인팅 방법 및 디바이스
WO2012074294A2 (ko) 에너지값을 이용한 이미지 처리 장치와 그 이미지 처리 방법 및 디스플레이 방법
WO2018216937A1 (ko) 듀얼 이미지 센서를 이용한 이미지 처리 방법 및 장치
JPH11298909A (ja) 色信号処理装置および色信号処理方法
WO2022080681A1 (ko) 주변 영역을 고려한 이미지 인페인팅 방법 및 디바이스
WO2023085533A1 (ko) 적외선 정보가 제거된 이미지를 생성하는 방법 및 그 방법을 수행하는 전자 장치
WO2021179789A1 (zh) 实现3d拍摄的装置和3d显示终端
JP3475084B2 (ja) 撮像装置
WO2022080550A1 (ko) 컬러 정보 및 적외선 정보를 혼합한 이미지 생성 방법 및 장치

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 20197001704

Country of ref document: KR

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18923197

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18923197

Country of ref document: EP

Kind code of ref document: A1