KR100855025B1 - 디지털 컬러 행렬 이미지를 다운스케일링하기 위한 방법 및장치 - Google Patents

디지털 컬러 행렬 이미지를 다운스케일링하기 위한 방법 및장치 Download PDF

Info

Publication number
KR100855025B1
KR100855025B1 KR1020067022350A KR20067022350A KR100855025B1 KR 100855025 B1 KR100855025 B1 KR 100855025B1 KR 1020067022350 A KR1020067022350 A KR 1020067022350A KR 20067022350 A KR20067022350 A KR 20067022350A KR 100855025 B1 KR100855025 B1 KR 100855025B1
Authority
KR
South Korea
Prior art keywords
pixel
output
pixels
buffer
memory
Prior art date
Application number
KR1020067022350A
Other languages
English (en)
Other versions
KR20070004904A (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 KR20070004904A publication Critical patent/KR20070004904A/ko
Application granted granted Critical
Publication of KR100855025B1 publication Critical patent/KR100855025B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4015Image demosaicing, e.g. colour filter arrays [CFA] or Bayer patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Input (AREA)

Abstract

본 발명은 선택된 비율들만큼 디지털 행렬 이미지를 다운스케일링하기 위한 방법 및 장치에 관한 것이다. 출력 행렬의 각 출력 픽셀의 값은 입력 픽셀들의 값들로부터 계산된다. 상기 출력 픽셀들(k,l)은 각 출력 픽셀(k,l)의 영역에서 상기 행렬 이미지의 픽셀들(i,j)의 값들의 가중된 합이 형성되는 방식으로 처리되고, 상기 가중 계수는 상기 출력 픽셀(k,l)의 영역에서의 상기 픽셀(i,j)의 차원 쉐어(dimension share)이며 각 가중된 합은 스케일링 인수(f×M2/M1×N2/N1)에 의해 보정된다.

Description

디지털 컬러 행렬 이미지를 다운스케일링하기 위한 방법 및 장치{Method and apparatus for downscaling a digital colour matrix image}
본 발명은 선택된 비율들(M2/M1 및 N2/N1)만큼 디지털 컬러 행렬 이미지를 다운스케일링하기 위한 방법 및 장치에 관한 것으로, 상기 행렬 이미지는 N1 행들을 포함하고, 각 행은 M1 픽셀들을 포함하여, 상기 픽셀들의 휘도 값들은 상기 행렬을 형성하고 상이한 컬러의 픽셀들은 선택된 포맷을 형성하며, 스케일링은 M2<=M1 그리고 N2<=N1 이 되도록 하는 방식으로 크기가 M2×N2인 출력 행렬을 형성하는데 사용되고, 상기 픽셀들은 원래의 행렬의 서브-그룹들에 대응하며, 상기 픽셀들의 휘도 값들로부터 상기 출력 행렬의 각 출력 픽셀의 값이 계산되는 방법 및 장치에 관한 것이다.
카메라 센서들은 개별 이미지들 또는 비디오 이미지를 찍는 디지털 카메라들을 사용할 때 사용된다. 상기 센서 이미지는 예를 들어 RGB8:8:8, RGB5:6:5, YUV4:2:0 및 로-베이어(raw-Bayer) 이미지 포맷들과 같은 다양한 이미지 포맷들을 사용할 수 있다. 상기 이미지가 보통 상기 이미지 센서보다 낮은 저 해상도를 지닌, 뷰파인더(VF)에 표시되는 경우, 상기 이미지는 센서에서 형성되어야 하고, 디스플레이를 위해 적합한 해상도로 스케일링되어야 한다. 이미지들은 또한 상기 뷰파인더에 대해 주밍(zoom)될 수 있다(더 작은 이미지는 상기 이미지로부터 경계가 정해진 후 스케일링된다). 주밍(zooming)시, 완전한 이미지 크기로부터 더 큰 주밍을 향해 많은 스텝들이 존재해서, 상기 주밍의 결과는 연속적인 것으로 나타날 것이다. 비디오 이미지들이 부호화되는 경우, 상기 비디오 이미지의 해상도는 또한 상기 센서의 해상도보다 보통 더 낮다. 따라서, 유사한 스케일링이 비디오에 대해 요구된다. 카메라 센서들은 또한 카메라와 같은 휴대용 장치들에서 동일하게 사용될 수 있다.
이미지 스케일링 또는 디지털 이미지들의 크기를 변경하는 것은 몇몇 디지털 이미지-처리 애플리케이션들에서 이용되어왔다. 이미지 스케일링의 기본적인 방법은 2차원적으로 샘플링된 신호를 새로운 샘플링 어레이에 배열하는 것이다.
이미지 서브-샘플링을 수행하기 위한 약간의 가능성은 신호 및 이미지 처리 에 대한 문헌에서 알려져 있다. 상기 신호의 샘플링은 신호 처리 이론에서 필수적인 부분이고 문헌에 널리 포함되어왔다. 기본적으로, 그것은 나이키스트 주파수 아래에서 이미지의 스펙트럼을 보존하는 것에 관한 문제이다.
일반적인 서브-샘플링 방법들은 샘플들로부터 이미지의 재생성 및 안티-에일리어스(anti-alias) 필터를 포함한다. 상기 샘플링된 데이터는 종종 샘플링된 입력 데이터와 특정 코어의 선형 결합을 사용하여 획득된다.
샘플링 알고리즘들은 종종 알고리즘의 복잡성과 획득된 이미지의 품질 사이 의 타협이다.
재샘플링의 가장 단순한 형태는 '최근접 이웃' 방법이다. 이것은 원래 데이터의 안티 에일리어스 필터링을 사용하지 않고, 단지 새로운 샘플링 어레이를 위해 가장 가까운 샘플들을 선택한다. 그 결과 획득된 이미지는 안티-에일리어스 영향에 기인하여, 불충분하다.
안티-에일리어스 필터의 코어를 위해 계수들을 선택하기 위한 많은 방법들이 존재한다.
미국 공보 6,205,245는 하나의 방법을 개시하는데, 상기 방법에서, 픽셀 그룹 중 하나가 항상 한번에 하나씩 처리되고, 최종 이미지의 각 픽셀에 대응하는 픽셀 그룹이 정의되는 방식으로 컬러 이미지가 상기 센서의 행렬로부터 직접 스케일링된다. 상기 방법에서, 중간 픽셀들은 뛰어넘게 되어, 원래의 정보를 잃어버린다.
본 발명은 새로운 고품질 서브-샘플링 방법 및 상기 방법을 구현하기 위하여 적은 양의 메모리를 필요로 하는 장치를 생성하는 것을 의도한다. 본 발명에 의한 방법의 특징들은 첨부된 청구항 제1항에 제시되고 대응하는 장치의 특징들은 청구항 제5항에 제시된다. 대응적으로, 본 발명에 의한 소프트웨어 방법의 특징들은 청구항 제14항에 제시된다. 본 발명에 의한 방법의 사용은 단지 적은 양의 메모리만을 필요로 하고 상기 방법은 계산에 관해 효율적이다. 그러나 출력 이미지의 품질은 높다. 상기 방법은 카메라들과 같은 저전력 장치들 뿐만 아니라, 카메라와 멀티미디어 통신 장치들에 특히 적합하다. 적은 메모리 요건은 스케일링시, 단지 단일 출력 라인(행)의 양만을 라인 메모리에 합산함으로써, 뿐만 아니라 출력 이미지 픽셀에 포함되지 않은, 입력 이미지 라인의 부분을 제2 라인 메모리에 저장함으로써 저장되는, 하나의 입력 이미지 행, 즉 라인이 처리된다는 사실에 기인한다. 하나의 응용에서, 메모리들의 쌍은 출력 행의 인덱스의 모듈로를 어드레싱함으로써 자동으로 모듈로 2-함수, 즉 정수(인덱스)의 최하위 비트로 교체된다. 하나의 응용에서, 스케일링시 요구되는 메모리는 상기 스케일링을 수행하는 프로세서(CPU)에서 구현된다. 이것은 개별 디지털 신호 프로세서(DSP: Digital Signal Processor)-회로 요소일 수 있다. 본 발명과 관련하여 적용될 수 있는 DSP 프로세서 구조의 일 예는 아날로그 디바이스사(미국) 법인에 의해 제조된 멀티프로세서 ADSP-BF561이다. 여기에서 참조된 두 번째 예는 영국, ARM사의 축소 명령 집합 컴퓨터(RISC) 프로세서 ARM9EJ-S이다(제품 명세: ARM DDI 0222B). 하지만, 몇몇 2-프로세서 애플리케이션들에서, 상기 프로세서들은 물리적으로 상이한 회로들/모듈들에 위치한다.
하기에, 본 발명이 본 발명의 방법 및 장치를 보여주는 첨부된 도면들을 참조하여 설명된다.
도 1은 스케일링 개념을 도시한 것이다.
도 2는 출력 픽셀의 예를 도시한 것이다.
도 3은 상이한 유형의 픽셀들의 도면을 도시한 것이다.
도 4는 본 방법에서 요구되는 메모리의 구조를 도시한 것이다.
도 5a는 스케일링 알고리즘을 흐름도로 도시한 것이다.
도 5b는 대부분의 어려운 경우에 데이터 메모리 위치들의 사용을 도시한 것이다.
도 6은 로-베이어(raw-Bayer) 이미지 포맷과 그것의 스케일링 지오메트리를 도시한 것이다.
도 7은 하나의 장치 해법을 블록도로 도시한 것이다.
도 8은 도 7의 스케일링 해법을 회로 레벨로 도시한 것이다.
도 9a는 로-베이어 이미지 포맷의 스케일링 단계들을 도시한 것이다.
도 9b는 도 9a의 것에 대한 대안적인 출력 형태로서 결합된 동일-위치 RGB를 도시한 것이다.
도 10a는 두개의 상이한 포맷들(동일-위치 RGB 및 베이어)에 대한 베이어 포맷의 다운스케일링을 도시한 것이다.
도 10b는 YUV 4:2:0 (H) 포맷의 다운스케일링을 도시한 것이다.
도 10c는 개별 픽셀에 대한 YUV 4:2:2 (H) 포맷의 다운스케일링을 도시한 것이다.
도 10c는 YUV 4:4:4 (H) 포맷의 다운스케일링을 도시한 것이다.
도 10d는 YUV 4:4:4 (H) 포맷의 다운스케일링을 도시한 것이다.
도 10e는 YUV 4:4:4 포맷의 상이한 포맷 YUV 4:2:2으로의 다운스케일링을 도시한 것이다.
도 1에 의하면, 입력 이미지(I1)와 출력 행렬(I2)은 서로의 상단에 놓여서, 상기 출력 행렬의 각 픽셀은 원래의 픽셀들에 의해 영향을 받는다. 스케일링은 낮은 해상도의 출력 이미지가 상기 입력 이미지로부터 형성되는 프로세스이다. 설명을 단순화하기 위해, 도 1 내지 도 5는 주로 흑백 이미지의 스케일링을 다룬다. 컬러 이미지를 스케일링하는 특정 특징들은 나중에 명백해질 것이다.
이미지 크기들은 I1: M1×N1 및 I2: M2×N2이다. 픽셀들은 포인트들보다도 영역들로서 더 간주된다. 픽셀 크기들은 입력 이미지에 대해 Sx1×Sy1으로 설정되고 출력 이미지에 대해 Sx2×Sy2로 설정된다. 상기 이미지 크기는 L '단위들'로서 정의되어서, L=Sx1M1=Sx2M2=(픽셀 크기)×(픽셀들의 수), 따라서 Sx1/Sx2=M2/M1=c×M2/c×M1이 된다. 상기 픽셀 크기들은 다음과 같이 계산된다:
Sx1=c×M2 그리고
Sx2=c×M1,
c는 자유롭게 선택될 수 있다: 예를 들어, c=1 또는 c=1/gcf(M1,M2)(gcf: 최대 공약수) 또는 c=1/M1 또는 c>0인 어떤 수. Sx2가 2의 거듭제곱(1, 2, 4,...)이 되도록 계수 c를 선택하는 것이 유용한데, 왜냐하면 Sx2에 의한 제산들이 이진 계산에서 용이하게 수행될 수 있기 때문이다(즉 제산은 이진 정수 계산에서 전달(transfer)이 된다). 픽셀 인덱스들은 다음과 같이 표시된다: (i = 0, 1, ... , (M1-1), j = 0, (N1-1), k = 0, ..., (M2-1) 그리고 I = 0, ..., (N2-1).
출력 픽셀의 값은 도 1에서, 상기 출력 픽셀의 영역에 '속한' 입력 픽셀의 값들의 가중된 평균값이다.
Figure 112006077833233-pct00001
스케일링 인수(ScaleFactor)는 다음과 같이 계산된다:
Figure 112006077833233-pct00002
W(i,j)는 가중 계수이다. 그것은 얼마나 많은 입력 픽셀들이 출력 픽셀 내부에 존재하는지에 따라, 상대적이다:
W(i,j)=(i,j) 내부에 출력 픽셀(k,l)에 의해 커버된 표면적/입력 픽셀(i,j)의 표면적.
도 2는 이것의 예를 도시한 것이다. 상기 출력 픽셀은 입력 픽셀들: j = 0 ... jend, 및 i = 0 ... iend를 커버한다. 인덱스들 (i=0,j=0)은 임의의 출력 픽셀을 시작하는 입력 픽셀들을 표현하는데 사용된다. 몇몇 가중 계수들:
W(O,O) = (Vstart×Wstart)/(Sy1×Sx1)
W(1,1) = 1
W(1,O) = Vstart/Sy1 ... 등.
다음은 스케일링 방법의 적용을 기술한다. 출력 픽셀값을 계산하기 위하여, 개별 처리를 사용하는 것이 가능한데, 즉 x 방향이 먼저 계산될 수 있고, 다음에 y 방향이 계산될 수 있다:
Figure 112006077833233-pct00003
이 알고리즘은 온라인 처리에 기반한다. 하나의 입력 픽셀은 한번에 처리된다. 픽셀 데이터는 라인-메모리 구조에서 더해진다. 다양한 인덱스들에 대해 동작하는 가중 계수들은 처리와 관련하여 하나의 라인 메모리(바람직하기로는 입력 라인 메모리)에서 준비되어 계산될 수 있어서, 계산 동작의 수를 더 감소시킨다. 물론 이것을 위한 대가는 메모리의 약간의 증가이지만, 이것은 절감된 동작들의 형태로 보답을 받는다. 물론, 수직과 수평 스케일링 계수가 다르다면, 두개의 라인 메모리가 필요할 것이다. 상기 계수들이 동일한 경우, 단지 하나의 (더 긴) 라인 메모리만이 필요할 것이다.
입력 픽셀들은 그들이 출력 픽셀과 관련하여 위치하는 장소에 따라, 다른 계수를 갖는다. 따라서, 세가지 유형의 픽셀들이 존재하는데, 도 3을 참조하라.
완전한 픽셀/완전한 픽셀 행: 입력 픽셀은 출력 픽셀 내부에 완전히 존재한다.
최종 픽셀/최종 픽셀 행: 입력 및 출력 픽셀들은 공통 종단 에지를 갖는다.
부분 픽셀/부분 픽셀 행: 입력 픽셀의 영역은 2 또는 4 출력 픽셀들의 영역까지 확장된다.
상기 메모리 구조는 도 4에 도시된다. 그것은 '데이터(Data)' 및 '버퍼(Buffer)'라고 불리우는 두 부분을 포함한다. 데이터 구조는 4 메모리 위치들(Data[0/1][0/1])을 포함한다. 행 메모리 구조는 2 라인 메모리들(Buffer[O][O ... M2-1], Buffer[1][O ... M2-1])을 포함한다. 상기 라인 메모리들의 길이는 출력 이미지의 폭이다. 이미지가 큰 메모리들 중 하나로부터 여러번 읽혀지지 않고 한번에 한 성분만이 처리되는 경우, 개별 메모리가 상이한 컬러 성분들을 위해 항상 필요할 것이다. 베이어(Bayer) 이미지의 경우, Gr과 Gb 양자는 그들 자신의 컬러 성분들로서 처리되어서 그들 자신의 메모리들을 필요로 한다.
서브-샘플링 방법은 부분들로 나눠질 수 있기 때문에, (예를 들어, 카메라 센서와 기저대역 프로세서에서) 개별 프로세서들에서 수직 및 수평 스케일링을 수행하는 것은 항상 가능하다. 상기 픽셀들이 스케일링되는 방향(일반적으로 수평 방향)으로 스케일링이 발생하는 경우, 1차원 스케일링은 라인 메모리를 전혀 필요로 하지 않는다. 단방향 서브 샘플링이 수행되어야 하는 경우, DATA[O/1]과 같은 데이터 구조만이 필요하다. 이 데이터 구조는 모든 컬러 성분들을 포함하여 행들 또는 열들 상에서 요구된다.
당해 픽셀의 유형에 따라, DATA 및 라인 메모리 위치들이 채워진다. 출력 픽셀(k, l)에 대한 픽셀 위치의 관계는 또한 상기 메모리 구조가 사용되는 방법을 결 정한다(나중에 의사 코드를 참조하라).
부분-픽셀 라인상에서, 양 라인 메모리들(Buffer[O][O ... M2-1] 및 Buffer[1][0 ... M2-1])이 사용중이다. 이것은 다음 출력 라인의 시작이 이미 처리되었다는 것을 의미한다. 부분-픽셀 영역에서, 데이터 구조들(Data[a][0] 및 Data[a][1])은 더해지는데, a는 0 또는 1일 수 있거나(완전한 픽셀 행), 0 및 1 양자일 수 있다(부분 픽셀 행).
도 5a는 상기 알고리즘의 흐름도를 도시한 것이다. 우리는 첫번째 입력 행부터 그리고 첫번째 출력 행부터 시작한다(i,j,k,l=O, 단계 A). 픽셀 행의 유형은 단계 B에서 픽셀의 위치로부터 획득된다. 입력 행은 그것의 유형에 따라 처리된다(단계 C, D 또는 E). 상기 행을 처리하고 난 후에, 모든 행들이 처리될 때까지 항상 다음 행이 처리를 위해 온다. 상기 부분 픽셀 행(단계 E) 또는 상기 출력 행상의 최종(완전한) 픽셀 행(단계 D)은 출력 행을 종결한다. 완전한 행 및 부분 픽셀 행 이후에, 처리된 행이 마지막 행이 될 때까지(j=N1-1), 조건 G, 다음 출력 행(l+1)이 처리를 위해 취해지는데, 이 경우 스케일링된 이미지가 준비된다. 상기 조건 이후에, 상기 프로세스는 종결하거나 다음 출력 행으로 이동한다(단계 F). 동시에, 상기 프로세스는 상기 출력 행의 중간에서의 완전한 행의 처리(단계 C)로부터 도달되는, 다음 입력 행(j=j+1)(단계 H)의 처리로 이동한다.
도 5b는 가장 난해한 경우, 즉 부분 픽셀 행의 경우, DATA 메모리 위치들의 동작을 도시한 것이다. 이 도면에서, 행 l위의 열 k의 출력 픽셀의 값이 처리되고 이 경우 61-64로부터의 입력-이미지 픽셀들(l)이 상기 처리에서 사용된다. 짝수 인덱스들(모듈로 2)은 제1 메모리 위치(DATA[O][0])로 보내진다. 이전의 출력 픽셀(k-1)을 처리할 때, 마지막 입력-이미지 픽셀 j=61의 부분 휘도(상부 파선)은 저장되었다. 여기에서 동일한 출력 픽셀 k에 속한 입력 픽셀들(62, 63)의 '완전한' 수직 부분-휘도들(Xup)과 상기 입력 픽셀(64)의 부분 휘도가 그것에 더해진다. 다음 픽셀 합에 대한 '시드(seed)'를 형성하기 위하여 최종 부분은 메모리 위치 (DATA[O][1])에 저장된다. 동시에 각 픽셀 i의 처리시, Xdown 부분 휘도들은 메모리 위치 DATA[1][0]에서 더해졌고, 마지막 것인 경우, 다음 행의 픽셀 합에 대한 시드를 형성하기 위하여, 메모리 위치 DATA[1][1]에서 길이 방향의 부분 휘도가 더해진다. 이후에, 메모리 위치들 DATA[0][0]과 DATA[1][0]의 내용들은 행 메모리들의 기본 유닛들 BUFFER[0][k]와 BUFFER[1][k]에 더해진다. 이들중 첫번째 것은 값 Output[i][k]를 형성하고 꺼내어진다.
다음은 소프트웨어 수단에 의해 스케일링을 구현하기 위한 의사 코드를 기술했다.
출력 행(l)은 기본적으로 상기 라인 메모리 및 Data 메모리의 어느 부분이 사용되는지를 결정한다(Data[l mod 2] 및 Buffer[l mod 2], 의사 코드를 참조하라). 출력 픽셀의 수(k)는 실제 메모리 위치를 결정했다(Data[l mod 2][k mod 2] 및 Buffer[l mod 2][k]). 이 경우, 상기 용어 'X mod 2'는 X 모듈로 2를 나타내는 데, 즉 2로 나눌 경우 나머지 X를 나타낸다. 상기 메모리 위치들은 이진 정수 인덱스의 최하위 비트를 주소로서 취함으로써 자동으로 교번된다.
다음 의사 코드는 라인-메모리 구조가 사용되는 방법을 설명한다.
우리는 다음 표기를 사용한다:
입력 픽셀: lnput[j][i],
출력 픽셀: Output[l][k],
가중 계수들:
Figure 112006077833233-pct00004
FRACTION은 분수이다.
Figure 112006077833233-pct00005
M1, M2: 행에서의 픽셀들의 수
N1, N2: 행들의 수
Sx1, Sx2, Sy1, Sy2: 픽셀들의 크기
스케일링 인수 Scalefactor(상기한 바와 같음)
Figure 112006077833233-pct00006
픽셀 행의 유형에 대해, 당해 행이 최종 행(인덱스 j=N1-1)이 아닌 경우, 값(=KA)이 상기 문((l+1)×N1/N2-j))을 위해 계산된다. KA > 1인 경우, 상기 행은 완전한 행이고, KA < 1인 경우, 그것은 부분 행이다. KA = 1이라면, 상기 행은 관련된 출력 행에 대한 최종 행이다. 상기 메모리 인용 명령들은 생략되었다. 데이터 가 전송되는 경우, 각 메모리 위치는 항상 리셋된다.
완전한 픽셀 행의 처리
완전한 픽셀
Figure 112006077833233-pct00007
최종 픽셀
Figure 112006077833233-pct00008
부분 픽셀
Figure 112006077833233-pct00009
최종 픽셀 행의 처리
완전한 픽셀
Figure 112006077833233-pct00010
최종 픽셀
Figure 112006077833233-pct00011
부분 픽셀
Figure 112006077833233-pct00012
부분 픽셀 행의 처리
Figure 112006077833233-pct00013
완전한 픽셀
Figure 112006077833233-pct00014
최종 픽셀
Figure 112006077833233-pct00015
부분 픽셀
Figure 112006077833233-pct00016
베이어 이미지 포맷(BAYER IMAGE FORMAT)
스케일링은 직접 베이어 포맷으로부터 수행될 수 있다(도 6). 베이어 이미지에서, 한 픽셀에 단지 하나의 컬러 성분만이 존재한다. 컬러 성분들(R, GR, GB 및 B)의 샘플링 주파수는 상기 픽셀들의 샘플링 주파수의 절반이다. 따라서, 컬러 성분들에 대한 스케일링 인수는, 베이어 포맷으로부터 동일-위치 RGB 포맷으로의 스케일링의 경우, 입력 이미지와 출력 이미지 간의 스케일링 인수(M2/M1×N2/N1)의 두배이다. 상기 스케일링 인수는 더 일반적인 형태인, f×M2/M1×N2/N1로 나타낼 수 있는데, f는 포맷 변환을 생성하는 인수이다. 특히, 상기 인수 f=fM×fN 인데, 즉 그것은 또한 수평 및 수직 성분으로 나뉘어질 수 있다. 상기 포맷이 스케일링시 변경되지 않는 경우, f의 값은 1이 될 것이다(예를 들어, 베이어 포맷부터 베이어 포맷으로의 스케일링).
기점은 도면에서 원래의 포맷에서 그리고 각 컬러의 입력 픽셀들에서 원으로 표시된다. 입력 이미지들의 오프셋으로 인하여, 픽셀 데이터가 전체 영역에 대해 존재하지 않는다면, 그 경우 이전의 픽셀의 값을 약간 더 외삽하는 것이 유리해서, 에지 픽셀들에 대해 다른 방식으로 총 스케일링 비율을 변경할 필요가 없을 것이다. 다른 포맷들의 스케일링의 예들은 하기에 제공된다.
상기 출력 이미지의 오프셋은 단순한 카운터들을 사용하여 또는 다른 컬러 성분들을 동일하게 되도록 조정함으로써 구현될 수 있다. 이것은 출력 이미지가 입력 이미지에 대해 오프셋된다는 것을 의미한다. 실제로, 이것은 상기 입력 이미지의 에지 픽셀들의 정보의 부분이 사용되지 않은채 남겨진다는 것을 의미하고, 반면에 대응적으로 부가적인 정보가 반대편 에지에서 외삽되어야 함을 의미한다.
본 발명은 특히 하드웨어-기반 애플리케이션들에 적합한데, 일 예는 도 7에 의한 애플리케이션이다. 카메라 모듈(10)은 호스트 시스템(22)에 연결되어 있고, 호스트 시스템(22)은 디스플레이 장치(24)와 상기 카메라 모듈을 제어한다. 상기 카메라 모듈(10)은 특히 광학 장치, 즉 렌즈 배열(11)(실제로 몇몇 렌즈들), 센서(12), 이미지-처리 회로(14), 스케일링 유닛(16) 및 제어기 요소(20)를 포함한다. 이미지-처리 회로(14)는 알려져 있는 방식으로, 센서(12)를 읽어서, 고속 데이터 스트림이 생성되고, 이것은 스케일링 요소(16)로 보내지는데, 상기 스케일링 요소(16)로부터 상기 스케일링된 이미지의 데이터 스트림은 상기 호스트 시스템(22)으로 보내진다. 이 경우, 필요한 메모리는 약 2개의 입력-이미지 라인들이다. 이것은 예를 들어 160×120 행렬에서 C×2×160 워드들을 의미하는데, C는 컬러 성분들의 수이다(일반적으로 RGB 또는 YUV 이미지들에 대해 3). 데이터 워드의 길이는 계 산의 정밀도에 달려 있고, 예를 들어 2 또는 4 바이트이다.
회로 레벨에서, 상기 스케일러의 구조는 도 8에 따라 하나의 (완전한 디지털) 애플리케이션에 존재한다. 상기 스케일러(16)는 입력 요소(161), CPU(162), 메모리(163), 출력 요소(164) 및 제어 요소(167)를 포함하는데, 모든 요소들은 내부 버스(165)에 연결되어 있다. 상기 출력 요소(164)는 스케일링된 출력 픽셀값들(Output[l][k])를 상기 호스트 시스템(22)에 제공한다.
상기 장치는 스케일러 요소를 포함할 수 있는데, 상기 스케일러 요소에는 각 차원에서의 스케일링을 위한 별도의 프로세서들(CPUs)들이 존재한다(예를 들어 전술한 ADSP-BF561). 상기 메모리는 물리적으로 상기 프로세서 내부에 있는 메모리일 수 있다.
한 애플리케이션에서(½미만인 스케일링 비율), 상기 장치는 각 컬러 요소에 대한 기껏해야 하나의 이미지 센서에 대해 상기 스케일링 기능을 위한 메모리를 포함한다.
상기 장치는 이동 단말기에 매우 적합하다.
다음은 본 발명의 대안적인 구현예들이다. 상기 시스템에 두개의 장치들이 존재하는 경우(카메라 모듈 및 호스트 시스템), 상기 스케일러는 매우 많은 상이한 장소들 및 많은 상이한 방식들로 구현될 수 있다.
1. 센서 이미지가 상기 모듈에 의해 처리되고 스케일링된 후 상기 호스트 시스템으로 송신된다(도 7).
2. 상기 센서 이미지가 상기 모듈에 의해 스케일링되고 처리된 후 상기 호스 트 시스템으로 송신된다.
3. 상기 센서 이미지가 상기 모듈에 의해 처리된 후, 그것이 스케일링되는, 상기 호스트 시스템으로 송신된다.
4. 상기 센서 이미지가 상기 모듈에 의해 스케일링된 후 그것이 처리되는, 상기 호스트 시스템으로 송신된다.
5. 상기 센서 이미지가 상기 호스트 시스템으로 송신되고, 그것은 상기 호스트 시스템에서 스케일링되고 처리된다.
6. 상기 센서 이미지가 상기 호스트 시스템으로 송신되고, 상기 호스트 시스템에서 처리되고 스케일링된다.
또한 상기 디스플레이 장치가 처리 능력을 가지고 있는 경우, 스케일링은 상기 디스플레이 장치에서 항상 수행될 수 있다. 더욱이, 상기 이미지는 상기 센서/카메라 모듈로부터 직접 올 필요는 없고, 그대신 그것은 메모리/메모리 카드로부터 읽혀질 수 있다. 상기 이미지는 또한 압축될 수 있는데(예를 들어 JPEG), 이 경우 부호화가 우선 수행되고, 다음에 스케일링이 수행된다. 상기 단계들(복호화 및 스케일링)은 또한 결합될 수 있다. 더욱이, 우선 상기 이미지가 상기 카메라 모듈에 의해 수평 방향으로 스케일링된 후 상기 호스트 시스템으로 송신되고, 그것이 수직 방향으로 스케일링된 후 처리되는 방식으로, 스케일링이 두 부분들로 수행될 수 있는 상황이 또한 발견될 수 있다. 더욱이, 상기 스케일러는 몇몇(2) 상이한 단계들에서 사용될 수 있어서, 상기 적은-메모리 스케일러는 이전의 스케일러의 구현을 대체한다. 게다가, 상기 스케일러는 작은 이미지가 (단순한 처리를 사용하여) 상기 디스플레이상에 신속하게 형성되고, 단지 실제 더 큰 출력 이미지가 처리되는 방식으로 사용될 수 있다. 스케일링이 상기 카메라 모듈에서 발생하는 경우, 상기 호스트 시스템은 물론 어떤 크기의 이미지가 상기 디스플레이상에서 필요한지를 알려주어야 한다. 더욱이, 스케일링은 또한 비디오 이미지가 비디오 부호기를 통해 메모리에 저장되는 상황에서 필요할 수 있다. 게다가, 저장중 상이한 크기의 디스플레이상에서 뷰파인더 이미지를 보는 것이 가능할 수 있다. 따라서, 디스플레이가 아니라 비디오 부호기가 출력 이미지를 결정하는 상황이 발견될 수 있다. 유사하게, 다른 목적들을 위해 순차적으로 또는 병렬로 두개의 상이한 비율들로 동일한 유형의 스케일러를 사용할 필요가 존재할 수 있다.
도 9a에 의하면, R과 B와 같이, 컬러 성분들 Gr과 Gb는 최종적으로 결합될 수 있는, 완전히 개별 성분들로서 처리된다. 도 9a에 따르면, 처음에 4개의 개별 성분들이 처리되는데, 이것은 직접 베이어 포맷으로 상기 스케일링된 이미지의 기본 유닛들을 형성한다. 출력 정보가 동일-위치 R, G 및 B인 경우(도 9b), 두개의 G 성분들은 단일 G 성분에 결합된다. (동일-위치로의 스케일링의 경우 그들을 결합하는 것은 필수적이지 않지만, 송신될 데이터의 양을 최소화하기 위하여 이것은 종종 행할 가치가 있다.) 상기 스케일러의 전체 로직을 단순하게 유지하기 위하여, 상기 G 성분들은 개별적으로 처리된다. 따라서 상기 성분 순서는 항상 스케일링시 유지된다(=들어오는 데이터의 순서는 나가는 데이터의 순서와 동일하다). 문제는 입력 이미지로서 베이어라는 것을 아는 것만이 중요하다. 또한 출력 이미지가 베이어 또는 동일-위치인지가 알려져야 해서, 정확한 오프셋들(그리고 스케일링 인수들)이 사용될 것이다. 이것은 YUV 및 RGB와 같은, 다른 컬러 포맷들과 관련된다. 상기 출력 성분들의 순서는 다른 서브-샘플링으로의 전환이 행해지는 경우(예를 들어 YUV4:2:2에서 YUV4:4:4) 또는 예를 들어 인터리빙된 포맷에서 프로그레시브(progressive) 포맷으로의 변경이 스케일링동안 발생하는 경우에만 변경될 것이다.
스케일링은 개별적으로 완전하게 잘 수행될 수 있고(우선 x 방향으로 그다음 y 방향으로), 스케일링은 단지 한 방향으로 수행될 수 있기 때문에, 단지 한 방향으로 스케일링 인수들을 고려하는 것이 때때로 더 명확하고 더 단순하다.
어떤 이미지 포맷들(YUVx:x:x, 베이어 RGB, 동일-위치 RGB 등, 인터리빙된/평면 포맷들)에서 픽셀 데이터는 데이터 흐름, 메모리 또는 그 밖의 어떤 곳으로부터 미리 정해진 순서로 읽혀지거나 대응적으로 상기 픽셀 데이터는 데이터 흐름, 메모리 또는 그 밖의 어떤 곳에 미리 정의된 순서로 쓰여진다. 도 10a 내지 도 1Oe에서, 상기 데이터 흐름은 '입력(INPUT) 데이터 순서' 또는 '출력(OUTPUT) 데이터 순서'로 표시된다. 데이터 순서에서, 픽셀의 크기는 중요하지 않고, 명확성을 위해 상기 픽셀들은 스케일링 비율에 따라 도면들에서 그려진다.
하지만, 본 특허 출원에 의한 스케일링에서, 상기 픽셀들의 위치와 영역들을 아는 것은 중요하다(도 1 및 도 2). 일반적으로 알려진 이미지 포맷들은 또한 상기 픽셀들의 위치들 및 영역들을 정의하고 이들은 도 10a 내지 도 10e에서 '입력(INPUT) 픽셀 위치들' 또는 '출력(OUTPUT) 픽셀 위치들'로 표시된다. 스케일링 지오메트리(geometry)는 (도 1 및 도 2에 따라) 입력 및 출력 픽셀들을 서로 매칭 시키도록 의도된다.
도면들에서 좌측의 파선은 기점, 포인트(0, 0)을 나타낸다. 기점이라는 용어는 이미지의 좌측 상부 모서리를 지칭한다. 도 10a 내지 도 10e에서, 소수의 첫번째 픽셀들이 상기 기점에서부터 시작되는 것이 도시된다.
상황에 따라 다음 이미지들에서 (도 2에서와 같이) S1=Sx1 또는 S1=Sy1 그리고 S2=Sx2 또는 Sy2이다. S1 및 S2는 픽셀들의 크기를 나타낸다.
도 10a는 도 6과 같이 동일한 베이어-이미지 스케일링 지오메트리를 도시한 것이다. 베이어-이미지 센서의 구성에 기인하여, 컬러 성분들은 그들 자신의 잘 정의된 위치를 갖는다. 이것 때문에, 상기 컬러 성분들은 상기 기점에 관해 적합하게 이동되어서(상기 이미지에서 양 S1/2, S2/2, Sx/2 또는 Sy/2 만큼), 상기 컬러 성분들의 정보는 또한 서로 매칭될 것이다. 이 도면에서, 문제는 베이어에서 동일-위치 RGB 또는 베이어에서 베이어로의 스케일링이다. 이 경우, 이미지가 베이어 포맷으로 스케일링되는 경우, 스케일링 후 획득된 이미지는 CFA 내삽에 의해 픽셀들의 수에 의해 표시된 크기로 내삽될 수 있다는 것을 주목해야 한다. 동일-위치 포맷으로의 스케일링의 경우, CFA 내삽은 필요하지 않고, 출력 이미지의 크기는 최종적으로 상기 성분들을 결합함으로써 스케일링후에 픽셀들의 수에서 절반이 된다. 따라서, 초기 이미지의 해상도가 예컨대 1600×1200 픽셀이고 스케일링 인수 S1/S2가 양 방향에서 0.5(=½)인 경우, 베이어 스케일링의 출력 이미지의 크기는 800×600 픽셀일 것이고, 거기서부터 크기 800×600의 출력 이미지가 내삽될 수 있다. 대응적으 로, 동일-위치 포맷으로의 스케일링의 경우, 스케일링 출력 이미지의 크기는 또한 800×600일 것이고, 거기서부터 (4×)400×300-크기인 출력 이미지가 생성될 수 있다. 대응적으로, 동일-위치 포맷에서, G-성분들이 결합되는 경우, 스케일링후 출력 이미지의 크기는 (3×)400×300일 것이다(즉 결합이 없는 것보다 25% 더 적은 수의 픽셀들). 이것은 이전에 언급된 스케일링 인수의 두배를 초래한다. 따라서, 실제 스케일링 인수 S2/S1은 이것이 생성된 출력 이미지들의 크기들의 비율들을 사용하여 비교되는 경우, 실제로 2×(S2/S1)이다(즉 예를 들어, 동일-위치 이미지에 대한 스케일링 인수는 실제로 x 및 y 양방향에서 1/스케일인수(scalefactor)= 0.25 = 400/1600 = 300/1200 이다). 따라서, 이것은 실제 스케일링동안 스케일링 인수와 계산에 영향을 미치지 않고, 출력 이미지들의 비율들에만 영향을 미친다.
도 10b-c, e. 포맷들 YUV4:2:0 및 YUV4:2:2에서, U 및 V 성분들의 샘플링 주파수는 Y 성분의 샘플링 주파수의 절반이고, 이 경우 U 또는 V 픽셀의 크기는 Y 픽셀의 크기(S1)의 두배(2S1)일 것이다. YUV4:1:1 포맷에서, U 또는 V 성분의 샘플링 주파수는 Y 성분의 샘플링 주파수의 4분의 1이어서, 대응적으로 U 또는 V 픽셀의 크기는 Y 픽셀의 크기의 4배가 될 것이다.
도 10b. YUV4:2:0에서 포맷에서, 단지 U 또는 V 성분만이 각 라인에 저장된다. 따라서, YU 라인 또는 YV 라인은 동일한 방식으로 처리될 수 있다. 표기 U/V는 상기 픽셀이 라인당 U 픽셀 또는 V 픽셀일 수 있다는 것을 의미한다.
도10c는 이미지 YUV4:2:2 (H)의 스케일링의 중간에 어느 곳의 개별 픽셀의 처리를 도시한 것이다. 상기 스케일링 YUV 4:2:2 -> YUV 4:2:2 수직은 YUV 4:4:4 -> 4:2:2와 동일하다. 이 경우, 출력 픽셀들의 값들은 다음과 같이 계산된다:
Figure 112006077833233-pct00017
도 1Od는 YUV 4:4:4 -> YUV 4:4:4 스케일링을 도시한 것이다. (R, G 및 B가 Y, U 및 V 대신에 쓰여지는 경우, 동일-위치 RGB 스케일링은 YUV 4:4:4와 동일하다.)
도 1Oe는 YUV 4:4:4 -> YUV 4:2:2 스케일링을 도시한 것이다.
동시적인 서브-샘플링 변경 및 적합한 스케일링은 상기한 예들로부터 용이하게 획득될 수 있다. 이것의 예는 YUV 4:2:0에서 YUV 4:4:4로의 변환일 것인데, 스케일링은 X 및 Y 양방향에서 0.5만큼 발생한다. 이 경우, Y 성분만이 스케일링될 필요가 있고 반면에 컬러 성분들은 변하지 않은채 유지된다.
상기 방법을 사용함으로써, 다른 이미지 스케일링에서와 같은 동일한 이점들이 베이어 이미지의 스케일링시 획득될 수 있다. 이것은 이미지 정보의 정확한 사용이고 최선의 가능한 필터링이다. 더욱이, 베이어 스케일링은 실질적으로 처리간의 데이터 트래픽 및 총 계산 요건을 감소시킬 것이다. 개별적으로 모든 성분들을 스케일링하는 것으로 설명된 상기 방법은 또한 컬러 성분들의 정확한 순서가 스케일러에 알려질 필요가 없고, 따라서 예를 들어 이미지 회전, 미러링 또는 상이한 방향으로의 센서 독출이 스케일러 또는 스케일러의 동작을 변경할 필요없이, 용이하게 처리될 수 있다는 이점이 있다. 게다가, 상이한 오프셋들 및 성분 설정들을 사용하는 경우, 스케일러는 매우 다른 유형의 컬러-이미지 정보를 스케일링하는데 사용될 수 있고, 또한 다른 유형의 출력 포맷을 생성하는데 사용될 수 있다. 그것은 또한 예를 들어 필요한 경우 베이어 또는 동일-위치 출력 이미지들을 생성하는데 사용될 수 있다.

Claims (16)

  1. 선택된 비율들(M2/M1 및 N2/N1)만큼 디지털 컬러 행렬 이미지를 다운스케일링하기 위한 방법으로서, 상기 행렬 이미지는 N1 행들(rows)을 포함하며, 각 행은 M1 픽셀들을 포함하고, 상기 픽셀들의 값들은 상기 행렬을 형성하고 상이한 컬러의 픽셀들은 선택된 포맷을 형성하며, 스케일링은 크기가 M2×N2인 출력 행렬을 형성하는데 사용되고, 상기 픽셀들은 M2<=M1 및 N2<=N1이 되는 방식으로 원래의 행렬의 서브-그룹들에 대응하며, 픽셀들(i,j)의 값 입력(j,i)로부터 상기 출력 행렬의 각 출력 픽셀(k,l)의 값 출력(l,k)가 계산되는 방법에 있어서, 상기 컬러 행렬 이미지는 단지 한번만 읽혀지고 각 출력 픽셀(k,l)의 영역내의 상기 행렬 이미지의 동일한-컬러 픽셀들(i,j)의 값들의 가중된 합들은 각 컬러에 대해 배열된 라인 메모리들(Buffer[0], Buffer[1])에 병렬로 형성되고, 가중 계수는 상기 출력 픽셀(k,l)의 영역내의 상기 픽셀(i,j)의 차수 쉐어(dimension share)이며 각 가중된 합은 스케일링 인수에 의해 보정되는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 스케일링은 단번에 1차원(x)에서, 상기 차원의 픽셀들의 휘도들의 가중된 합을 형성함으로써 메모리 위치(Data[0], Data[1])에서 상기 차원의 중간 합들(Outx(l))을 계산함으로써 그리고 상기 합을 최종적으로 상기 라 인 메모리(Buffer[0], Buffer[1])에, 그리고 대응하는 열(k)의 출력 픽셀(k,l)의 중간 합들(Outx(l))이 계산되는 각 기본 유닛(l)으로 전송함으로써 수행되고, 상기 가중 계수들은 상기 차원의 출력 픽셀들(k,l)에서의 각 소스 픽셀(i,j)의 비율인 것을 특징으로 하는 방법.
  3. 제2항에 있어서, 상기 출력 픽셀(k,l)의 중간 합들(Outx(l))의 계산은,
    - 부분 픽셀(i,j)의 경우, 다음 출력 픽셀(k+1,l)의 초기 부분 휘도가 제2 메모리 위치에 대해 또한 항상 계산되고, 후속 인덱스(k+1)의 합산된 휘도가 차례로 수집되는 방식으로 그리고
    - 부분 행의 경우, 상기 픽셀이 대응하는 차원에서 상기 출력 픽셀(k, l)과 다음 출력 픽셀(k, l+1)을 커버하는 비율에 따라, 각 픽셀(i,j)의 휘도 값은 양 메모리 위치들 간에 분할되고, 상기 출력 픽셀의 길이에 걸쳐 합산되며 각 제1 합은 차례로 다음 행 버퍼에 저장되고 제2 합은 제2 행 버퍼((l+1)mod2))에 저장되며, 다음 출력 행(l+1)의 합들이 수집되기 시작하는 방식으로, 메모리 위치들(Data[0], Data[1])의 교대 쌍들 및 라인 메모리(Buffer[0], Buffer[1])의 교대 쌍들을 사용하여 수행되는 것을 특징으로 하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 출력 이미지는, 입력 이미지의 에지(edge) 픽셀들의 정보의 부분이 사용되지 않은 채 남겨져 있고 대응적으로, 반대측 에지에서, 부가적인 정보가 상기 입력 픽셀들에 외삽되는 방식으로, 상기 입력 이미지에 관해 이동되는 것을 특징으로 하는 방법.
  5. 선택된 비율들(M2/M1 및 N2/N1)만큼 디지털 컬러 행렬 이미지를 다운스케일링하기 위한 장치로서, 상기 장치는 스케일링된 행렬 이미지를 저장하고 처리하기 위한 애플리케이션 메모리, 중앙 처리 장치(CPU), 프로그램 메모리 영역 및 상기 처리를 수행하기 위하여 저장되어 있는 프로그램을 포함하고, 상기 디지털 컬러 행렬 이미지는 N1 행들(rows)을 포함하며, 각 행은 M1 픽셀들을 포함하고, 상기 픽셀들의 값들은 상기 행렬을 형성하고 상이한 컬러의 픽셀들은 포맷을 형성하며, 상기 스케일링에 의해 형성된 크기가 M2×N2인 출력 행렬의 픽셀들은 상기 원래의 행렬의 서브-그룹들에 대응하고, 상기 픽셀들의 값들로부터 상기 출력 행렬의 각 픽셀의 평균 값은 상기 값들의 합을 계산하여 그것을 스케일링 인수(M2/M1×N2/N1)로 나눔으로써 계산되는 장치에 있어서,
    상기 장치는 상기 컬러 행렬 이미지를 단지 한번만 읽도록 되어 있고, 상기 값들의 합이 각 출력 픽셀(k,l)의 영역내의 동일한-컬러 행렬-이미지 픽셀들(i,j)의 값들로부터 가중된 각 컬러에 대해 배열된 라인 메모리들(Buffer[0], Buffer[1])에 병렬로 형성되는 방식으로, 상기 입력 픽셀들(k,l)을 개별적으로 처리하도록 되어 있으며, 가중 계수는 상기 출력 픽셀(k,l)의 영역내의 상기 픽셀(i,j)의 차원(dimension) 비율인 것을 특징으로 하는 장치.
  6. 제5항에 있어서, 상기 메모리 영역은 각 컬러에 대해 4개의 메모리 위치들(Data[0/1][0/1]) 및 각 컬러에 대해 두개의 라인 메모리들(Buffer[0], Buffer[1])을 포함하고, 상기 장치는 단번에 1차원(x)에서, 상기 차원의 픽셀들의 휘도들의 가중된 합을 형성함으로써 메모리 위치(Data[0], Data[1])에 상기 차원의 중간 합들(Outx(l))을 계산함으로써 스케일링을 수행하도록 되어 있으며 상기 합을 최종적으로 상기 라인 메모리(Buffer[0], Buffer[1])로 전송하도록 되어 있고, 상기 가중 계수들은 상기 차원의 출력 픽셀들(k,l)에서의 각 소스 픽셀(i,j)의 비율이며, 하나의 계산된 출력 픽셀 행(l)에 대응하는 상기 중간 합들(Outx)은 각 기본 유닛(k)에 배열되는 것을 특징으로 하는 장치.
  7. 제6항에 있어서,
    - 부분 픽셀(i,j)의 경우, 다음 출력 픽셀(k+1,l)의 초기 부분 휘도가 제2 메모리 위치에 또한 항상 계산되고, 후속 인덱스(k+1)의 합 휘도가 차례로 수집되는 방식으로 그리고
    - 부분 행의 경우, 상기 픽셀이 대응하는 차원에서 상기 출력 픽셀(k, l)과 다음 출력 픽셀(k, l+1)을 커버하는 비율에 따라, 각 픽셀(i,j)의 휘도 값은 양 메모리 위치들 간에 분할되고, 상기 부분 값들은 상기 출력 픽셀의 길이에 걸쳐 합산되어 상기 라인 메모리들(Buffer[0], Buffer[1])에 저장되는 방식으로,
    기능하는 이진-형태 인덱스(k,l)의 최하위 비트를 사용하여 배열되는, 어드 레스 수단이 링크되는, 라인 메모리들(Buffer[0], Buffer[1])의 교대 쌍 및 메모리 위치들(Data[0], Data[1])의 교대 쌍들을 포함하는 것을 특징으로 하는 장치.
  8. 제5항 내지 제7항 중 어느 한 항에 있어서, 상기 장치는 카메라의 카메라 센서와 관련하여 통합되는 것을 특징으로 하는 장치.
  9. 제8항에 있어서, 호스트 시스템을 포함하고, 1차원에서의 스케일링은 상기 카메라의 카메라 센서와 관련하여 통합되며 다른 차원에서의 스케일링은 상기 호스트 시스템과 관련하여 통합되는 것을 특징으로 하는 장치.
  10. 제6항 또는 제7항에 있어서, 상기 장치는 각 차원에서의 스케일링을 위한 개별 프로세서들(CPU)이 존재하는, 스케일러 요소를 포함하는 것을 특징으로 하는 장치.
  11. 제5항 내지 제7항 중 어느 한 항에 있어서, 상기 장치는 각 컬러 성분에 대한 적어도 두개의 출력-이미지 라인들의 스케일링 동작들을 위한 메모리를 포함하는 것을 특징으로 하는 장치.
  12. 제5항 내지 제7항 중 어느 한 항에 있어서, 스케일링시 요구되는 메모리는 상기 프로세서(CPU)에서 구현되는 것을 특징으로 하는 장치.
  13. 제5항 내지 제7항 중 어느 한 항에 있어서, 상기 장치는 이동 단말기에 배열되는 것을 특징으로 하는 장치.
  14. 입력 행들을 스케일링 요소로 가져오기 위한 적어도 하나의 입력 유닛, 데이터를 처리하기 위한 프로세서와 메모리 및 상기 처리된 데이터를 전송하기 위한 출력부를 포함하는 스케일링 요소가 존재하는 디지털 장치에서, 선택된 비율들(M2/M1 및 N2/N1)만큼 소프트웨어에 의해, 디지털 행렬 이미지를 다운스케일링하기 위한 방법으로서, 상기 행렬 이미지는 N1 행들(row)을 포함하며, 각 행은 M1 픽셀들을 포함하고, 상기 픽셀들의 값들은 상기 행렬을 형성하고 상이한 컬러의 픽셀들은 선택된 포맷을 형성하며, 상기 스케일링에 의해 형성된 크기가 M2×N2인 출력 행렬의 픽셀들은 M2<=M1 및 N2<=N1이 되는 방식으로 원래의 행렬의 서브-그룹들에 대응하고, 픽셀들(i,j)의 값 입력(j,i)로부터 상기 출력 행렬의 각 출력 픽셀(k,l)에 대해 값 출력(l,k)가 계산되는 방법에 있어서,
    - 각 입력 행이 차례로 가져와지도록 상기 컬러 행렬 이미지는 단지 한번만 읽혀지고, 각 픽셀은 처리를 위해 상기 프로세서에 개별적으로 취해지며,
    - 각 픽셀에 대한 가중 계수는 상기 출력 픽셀의 영역에서 계산되고, 상기 가중 계수는 상기 출력 픽셀에서 상기 픽셀의 표면 영역의 일부를 나타내고,
    - 상기 입력 행의 픽셀들의 값들은, 가중된 합이 각 컬러에 대해 배열된 라인 메모리들(Buffer[0], Buffer[1])에 병렬로 형성되고, 각 합이 각 출력 픽셀(k,l)의 영역에서 동일한-컬러 행렬-이미지 픽셀들(i,j)의 값들로 형성되는 방식으로, 미리 정의된 순서에 따라 각 출력 픽셀(k,l)의 영역에서 합산되며, 각 가중된 합은 스케일링 인수(M2/M1×N2/N1)에 의해 보정되고,
    - 상기 스케일링 인수에 의해 보정된 합은 상기 출력부를 통해 밖으로 출력되는 것을 특징으로 하는 방법.
  15. 제14항에 있어서, 상기 메모리는 휘도들을 합산하기 위한 적어도 두쌍의 메모리 위치들(Data[0], Data[1]) 및 두개의 라인 메모리들(Buffer[0], Buffer[1])을 포함하고,
    - 출력 라인 l에 대한 입력 라인 j의 관계가 정의되며,
    - 선택된 차원(x)에서의 중간 합들(Outx(i,l))은 이제 차례가 되는 상기 메모리 위치(Data[k mod 2])에 대해 계산되고 부분 픽셀의 최종 부분이 제2 메모리 위치(Data[(k+1)mod2])에 대해 계산되며 상기 중간 합들은 최종적으로 상기 라인 메모리(Buffer[0], Buffer[1])로 전송되고, 대응하는 열(l)의 출력 픽셀(k,l)의 중간 합들(Outx(i,l))이 계산되는 각 기본 유닛(l)으로 전송되는 것을 특징으로 하는 방법.
  16. 제15항에 있어서,
    - 상기 메모리 위치들의 쌍의 메모리 위치들(Data[0], Data[1])과 상기 라인 메모리들의 쌍의 라인 메모리들(Buffer[0], Buffer[1])은 교대 기능의 도움으로 어드레싱되고,
    - 부분 픽셀(i,j)의 경우, 다음 출력 픽셀(k+1,l)의 초기 부분 휘도가 항상 또한 계산되고 상기 제2 메모리 위치에 저장되며, 차례로 다음 인덱스(k+1)의 합 휘도가 수집되고,
    - 부분 행의 경우, 상기 픽셀과 다음 픽셀(k,l+1)이 대응하는 차원(y)에서 상기 출력 픽셀(k, l)을 커버하는 비율에 따라, 각 픽셀(i,j)의 휘도 값은 양 메모리 위치들에서 분할되고 저장되며, 상기 출력 픽셀의 길이에 걸쳐 합산되고, 각각의 제1 합은 이제 차례로 상기 라인 메모리에 저장되고 제2 합은 제2 라인 메모리((l+1)mod2))에 저장되며, 다음 출력 행(l+1)의 합들은 수집되기 시작하는 것을 특징으로 하는 방법.
KR1020067022350A 2004-04-29 2005-04-29 디지털 컬러 행렬 이미지를 다운스케일링하기 위한 방법 및장치 KR100855025B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20045157A FI20045157A (fi) 2004-04-29 2004-04-29 Menetelmä ja laitteisto digitaalisen matriisikuvan alaspäin skaalaamiseksi
FI20045157 2004-04-29

Publications (2)

Publication Number Publication Date
KR20070004904A KR20070004904A (ko) 2007-01-09
KR100855025B1 true KR100855025B1 (ko) 2008-08-28

Family

ID=32104282

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067022350A KR100855025B1 (ko) 2004-04-29 2005-04-29 디지털 컬러 행렬 이미지를 다운스케일링하기 위한 방법 및장치

Country Status (6)

Country Link
US (1) US7760966B2 (ko)
EP (2) EP2081148A1 (ko)
KR (1) KR100855025B1 (ko)
CN (1) CN1942897A (ko)
FI (1) FI20045157A (ko)
WO (1) WO2005106787A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20045157A (fi) * 2004-04-29 2005-10-30 Nokia Corp Menetelmä ja laitteisto digitaalisen matriisikuvan alaspäin skaalaamiseksi
US7742636B2 (en) * 2006-01-26 2010-06-22 Nethra Imaging Inc. Method and apparatus for scaling down a bayer domain image
US7898554B2 (en) * 2007-06-07 2011-03-01 Apple Inc. Asymmetric two-pass graphics scaling
EP2380131A4 (en) 2009-01-19 2013-08-07 Nokia Corp METHOD AND APPARATUS FOR REDUCING IMAGE DATA SIZE
WO2010091750A1 (en) 2009-02-12 2010-08-19 Zoran (France) Scaling method and device for image signals
US8687911B2 (en) 2009-06-24 2014-04-01 Nokia Corporation Adaptive method for processing digital images, and an image processing device
JP5120366B2 (ja) * 2009-11-30 2013-01-16 ブラザー工業株式会社 画像処理装置及び画像処理プログラム
US8446484B2 (en) 2010-04-21 2013-05-21 Nokia Corporation Image processing architecture with pre-scaler
US8482636B2 (en) * 2010-05-05 2013-07-09 DigitalOptics Corporation Europe Limited Digital zoom on bayer
ITPD20110376A1 (it) * 2011-11-29 2013-05-30 Sincrotrone Trieste S C P A Metodo per elaborazione di segnali e apparecchiatura per l'esecuzione di tale metodo
US8687922B2 (en) 2012-02-24 2014-04-01 Apple Inc. Parallel scaler processing
US9681017B2 (en) * 2012-11-26 2017-06-13 Nokia Technologies Oy Arrangement for image processing
CN103366343B (zh) * 2013-07-17 2016-05-04 广东欧珀移动通信有限公司 一种位图缩放方法及系统
CN107146269B (zh) * 2017-04-10 2021-04-13 贵阳朗玛信息技术股份有限公司 一种图像填充方法及系统
KR20190134272A (ko) 2018-05-25 2019-12-04 삼성전자주식회사 영상 처리를 위한 네트워크 조정 방법 및 장치
US11961584B2 (en) 2022-07-07 2024-04-16 Novatek Microelectronics Corp. Readout integrated circuit and operation method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0561417A1 (en) 1992-03-19 1993-09-22 Mitsubishi Denki Kabushiki Kaisha Image processing device for resolution conversion
EP0597793A2 (en) 1992-11-12 1994-05-18 International Business Machines Corporation Method and system for generating variably scaled digital images
US20010048772A1 (en) * 1998-09-23 2001-12-06 Xerox Corporation Apparatus and method for efficient implementation of 2-dimensional pixel window averaging
US6714692B1 (en) 2000-02-16 2004-03-30 Korea Advanced Institute Of Science And Technology Image scaling method and apparatus using continuous domain filtering and interpolation method

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790714A (en) 1994-11-01 1998-08-04 International Business Machines Corporation System and method for scaling video
US6091426A (en) 1995-04-07 2000-07-18 Intel Corporation Integrating data scaling and buffering functions to minimize memory requirement
US6205245B1 (en) * 1998-07-28 2001-03-20 Intel Corporation Method and apparatus for rapid down-scaling of color images directly from sensor color filter array space
US6236433B1 (en) * 1998-09-29 2001-05-22 Intel Corporation Scaling algorithm for efficient color representation/recovery in video
US6317164B1 (en) * 1999-01-28 2001-11-13 International Business Machines Corporation System for creating multiple scaled videos from encoded video sources
US6252577B1 (en) * 1999-03-18 2001-06-26 Intel Corporation Efficient methodology for scaling and transferring images
US6580837B1 (en) * 1999-12-07 2003-06-17 Intel Corporation Up-sampling decimated color plane data
US7116841B2 (en) * 2001-08-30 2006-10-03 Micron Technology, Inc. Apparatus, method, and product for downscaling an image
US7154514B2 (en) * 2002-09-23 2006-12-26 Sharp Laboratories Of America, Inc. Systems and methods for downscaling an image
US7257278B2 (en) 2003-02-26 2007-08-14 Hewlett-Packard Development Company, L.P. Image sensor for capturing and filtering image data
US7468752B2 (en) * 2003-10-23 2008-12-23 Nokia Corporation Camera output format for real time viewfinder/video image
FI20045157A (fi) * 2004-04-29 2005-10-30 Nokia Corp Menetelmä ja laitteisto digitaalisen matriisikuvan alaspäin skaalaamiseksi
US20070133902A1 (en) * 2005-12-13 2007-06-14 Portalplayer, Inc. Method and circuit for integrated de-mosaicing and downscaling preferably with edge adaptive interpolation and color correlation to reduce aliasing artifacts
US7796806B2 (en) * 2006-09-25 2010-09-14 Nokia Corporation Removing singlet and couplet defects from images

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0561417A1 (en) 1992-03-19 1993-09-22 Mitsubishi Denki Kabushiki Kaisha Image processing device for resolution conversion
EP0597793A2 (en) 1992-11-12 1994-05-18 International Business Machines Corporation Method and system for generating variably scaled digital images
US20010048772A1 (en) * 1998-09-23 2001-12-06 Xerox Corporation Apparatus and method for efficient implementation of 2-dimensional pixel window averaging
US6714692B1 (en) 2000-02-16 2004-03-30 Korea Advanced Institute Of Science And Technology Image scaling method and apparatus using continuous domain filtering and interpolation method

Also Published As

Publication number Publication date
WO2005106787A1 (en) 2005-11-10
EP2081148A1 (en) 2009-07-22
US7760966B2 (en) 2010-07-20
FI20045157A0 (fi) 2004-04-29
EP1745435A1 (en) 2007-01-24
KR20070004904A (ko) 2007-01-09
CN1942897A (zh) 2007-04-04
WO2005106787B1 (en) 2005-12-22
FI20045157A (fi) 2005-10-30
US20070230827A1 (en) 2007-10-04

Similar Documents

Publication Publication Date Title
KR100855025B1 (ko) 디지털 컬러 행렬 이미지를 다운스케일링하기 위한 방법 및장치
US6236433B1 (en) Scaling algorithm for efficient color representation/recovery in video
US6348929B1 (en) Scaling algorithm and architecture for integer scaling in video
US7720311B1 (en) Memory and compute efficient block-based two-dimensional sample-rate converter for image/video applications
JP4151684B2 (ja) 符号化装置、符号化方法および符号化プログラム、並びに撮像装置
EP1400919A2 (en) Method for scaling a digital image
US20060227225A1 (en) Digital camera with electronic zooming function
CN108171657B (zh) 图像插值方法及装置
JP5158096B2 (ja) 符号化用データ生成装置、符号化用データ生成方法、復号装置および復号方法
WO2009038618A1 (en) Pixel aspect ratio correction using panchromatic pixels
KR100852752B1 (ko) 디지털 매트릭스 이미지의 다운스케일링 방법 및 장치
JP4445870B2 (ja) 撮像装置
EP2059900B1 (en) Image scaling method
JP2004165733A (ja) 画像変換装置及び画像変換方法並びに記録媒体
JP2016095667A (ja) 画像処理装置および電子機器
JP2004312072A (ja) 画像処理装置及びカメラ、並びに画像処理方法
JP2006262382A (ja) 画像処理装置
JP4720494B2 (ja) 撮像装置、撮像方法およびプログラム、並びに記録媒体
Stam et al. Image de-mosaicing
Callicó et al. Mapping of real-time and low-cost super-resolution algorithms onto a hybrid video encoder
JP5650133B2 (ja) 画像データのサイズを小さくする方法および装置
Parkkinen et al. A fast method for scaling color images
KR20060107639A (ko) 영상의 실감을 더하고 효과적으로 저장하기 위한 가로길이의 확대 및 축소 장치 및 방법
JP2006054583A (ja) 撮像装置
JP2005012840A (ja) デジタルカメラ及び画像処理方法

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
LAPS Lapse due to unpaid annual fee