KR20080108616A - 소형 또는 대형 화상의 처리를 위한 소형 라인 버퍼의 사용을 용이하게 하는 기술 - Google Patents

소형 또는 대형 화상의 처리를 위한 소형 라인 버퍼의 사용을 용이하게 하는 기술 Download PDF

Info

Publication number
KR20080108616A
KR20080108616A KR1020087027569A KR20087027569A KR20080108616A KR 20080108616 A KR20080108616 A KR 20080108616A KR 1020087027569 A KR1020087027569 A KR 1020087027569A KR 20087027569 A KR20087027569 A KR 20087027569A KR 20080108616 A KR20080108616 A KR 20080108616A
Authority
KR
South Korea
Prior art keywords
image
width
line buffer
picture
processing
Prior art date
Application number
KR1020087027569A
Other languages
English (en)
Other versions
KR100997619B1 (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 KR20080108616A publication Critical patent/KR20080108616A/ko
Application granted granted Critical
Publication of KR100997619B1 publication Critical patent/KR100997619B1/ko

Links

Images

Classifications

    • 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
    • G06T1/00General purpose image data processing

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)
  • Image Input (AREA)
  • Storing Facsimile Image Data (AREA)

Abstract

본 개시는 상이한 사이즈를 갖는 화상의 화상 처리를 지원하는 디바이스에 유용한 화상 처리 기술을 설명한다. 그 기술은 많은 콘텍스트에서 사용될 수 있고, 디바이스에 의해 캡쳐된 소형 뷰파인더 화상 및 대형 정지 화상의 프런트-엔드 화상 처리에 특히 유용할 수도 있다. 일 실시형태에서, 본 개시는, 디바이스를 사용하여 제 1 화상을 캡쳐하는 단계, 제 1 화상의 화상 폭을 수용하도록 사이즈 조정된 라인 버퍼를 사용하여 제 1 화상을 처리하는 단계, 및 디바이스를 사용하여 제 2 화상을 캡쳐하는 단계를 포함하며, 제 2 화상은 제 1 화상의 화상 폭보다 큰 화상 폭을 갖는, 방법을 제공한다. 그 방법은 또한 라인 버퍼를 사용하여 제 2 화상의 수직 스트라이프를 처리하는 단계를 포함하며, 제 2 화상의 수직 스트라이프는 라인 버퍼에 맞는 폭을 정의한다.
뷰파인더 화상, 정지 화상, 프런트-엔드 처리 유닛, 화상 폭, 라인 버퍼, 수직 스트라이프

Description

소형 또는 대형 화상의 처리를 위한 소형 라인 버퍼의 사용을 용이하게 하는 기술{TECHNIQUES TO FACILITATE USE OF SMALL LINE BUFFERS FOR PROCESSING OF SMALL OR LARGE IMAGES}
기술분야
본 발명은 화상 및 비디오 처리에 관한 것으로서, 특히 상이한 크기의 화상의 효율적인 처리를 위한 메모리 저장 기술에 관한 것이다.
배경
다수의 "프런트-엔드" 화상 처리 기술이 종종 촬상 디바이스 및 비디오 디바이스에서 수행된다. 그러한 디바이스는 통상, 예를 들어 개개의 정지 화상 또는 비디오 시퀀스를 형성하는 화상들의 시퀀스의 미가공 화상 데이터를 캡쳐하는 화상 센서를 포함한다. 화상 처리 기술이 화질을 개선하기 위해 미가공 데이터 에 대해 종종 수행된다. 그러한 화상 처리 기술의 예는, 몇 가지 지명한다면, 2-차원 필터링, 디모자이킹, 렌즈 롤오프 보정, 스케일링, 컬러 보정, 컬러 변환, 잡음 감소 필터링, 및 공간 필터링을 포함한다. 프런트-엔드 처리는 톤 재생, 컬러 포화, 휴 재생 및 선명도 등의 시각적 화질 속성을 개선할 수도 있다.
많은 경우, 디바이스는 상이한 사이즈의 수개의 상이한 화상을 위해 화상 처리 기술을 지원할 필요가 있을 수도 있다. 실제로, 디바이스에 의해 지원될 필요가 있는 화상 사이즈는 몇몇 경우에 매우 변화할 수 있다. 예를 들어, 디바 이스는 디바이스의 뷰파인더에서 매우 소형인 화상 시퀀스들을 실시간으로 제공할 수도 있고, 뷰파인더에서의 화질을 개선하기 위해 그러한 화상에 화상 처리를 빠르게 수행할 필요가 있을 수도 있다. 또한, 디바이스는 디바이스에 의해 캡쳐된 정지 화상 또는 디바이스에 의해 캡쳐된 화상들의 비디오 시퀀스 등의 훨씬 대형인 화상에 대해 화상 처리 기술을 수행할 수도 있다. 상이한 화상에 대한 화상 처리를 지원하기 위해, 종래의 지식은 디바이스에 의해 처리될 수 있는 가장 큰 화상과 연관된 화상 폭을 수용하는, 화상 처리 모듈 내의 라인 버퍼를 요구했다. 라인 버퍼는 일 라인의 화상 데이터 또는 일 라인의 화상 데이터의 일부를 저장하는데 사용되는 소형의, 일시적 저장 위치로 지칭된다. 라인 버퍼는 통상 온-칩 (on-chip) 이며 하나 이상의 처리 모듈과 연관된다.
개요
본 개시는 상이한 사이즈를 갖는 화상의 화상 처리를 지원하는 디바이스에 유용한 화상 처리 기술을 설명한다. 그 기술은 많은 콘텍스트에서 사용될 수 있고, 디바이스에 의해 캡쳐된 대형 정지 화상 및 소형 뷰파인더 화상의 프런트-엔드 화상 처리에 특히 유용할 수도 있다. 여기에 설명된 기술들은 화상 처리와 연관된 라인 버퍼 사이즈의 상당한 감소를 허용한다. 본 개시에 따르면, 라인 버퍼는 소형 뷰파인더 화상을 수용하도록 사이즈 조정되어 그러한 화상이 매우 빠르게 처리될 수 있도록 할 수 있다. 대형 화상의 미가공 데이터는 일시적인 위치에 저장될 수도 있고, 그러한 대형 화상이 그 대형 화상의 폭보다 작은 라인 버퍼를 사용하여 처리되는 것을 허용하는 방식으로 액세스될 수 있다.
일 실시형태에서, 본 개시는 디바이스를 사용하여 제 1 화상을 캡쳐하는 단계, 제 1 화상의 화상 폭을 수용하도록 사이즈 조정된 라인 버퍼를 사용하여 제 1 화상을 처리하는 단계, 디바이스를 사용하여 제 2 화상을 캡쳐하는 단계로서, 제 2 화상은 제 1 화상의 화상 폭보다 큰 화상 폭을 갖는, 상기 제 2 화상 캡쳐 단계, 및 라인 버퍼를 사용하여 제 2 화상의 수직 스트라이프를 처리하는 단계로서, 제 2 화상의 수직 스트라이프는 라인 버퍼에 맞는 폭을 정의하는, 상기 제 2 화상의 수직 스트라이프 처리 단계를 포함하는 방법을 제공한다.
또 다른 실시형태에 있어서, 본 개시는 디바이스를 사용하여 화상을 캡쳐하는 단계, 및 라인 버퍼를 사용하여 화상의 수직 스트라이프를 처리하는 단계로서, 라인 버퍼는 화상의 폭보다 작은 폭을 정의하는, 상기 수직 스트라이프 처리 단계를 포함하는 방법을 제공한다.
또 다른 실시형태에 있어서, 본 개시는 화상을 캡쳐하는 화상 캡쳐 장치, 메모리, 화상의 중첩하는 수직 스트라이프들을 정의하는 메모리 제어기, 및 라인 버퍼를 사용하여 화상의 중첩하는 수직 스트라이프들을 처리하는 처리 유닛을 포함하고, 여기서 라인 버퍼는 화상의 폭보다 작은 폭을 정의하는, 디바이스를 제공한다.
또 다른 실시형태에 있어서, 본 개시는 디바이스에 의해 캡쳐된 화상을 처리하는 프런트-엔드 처리 유닛을 제공한다. 프런트-엔드 처리 유닛은 제 1 화상의 화상 폭을 수용하도록 사이즈 조정된 라인 버퍼를 사용하여 제 1 화상을 처리하고, 라인 버퍼를 사용하여 제 2 화상의 수직 스트라이프를 처리하며, 여기서 제 2 화상은 제 1 화상의 화상 폭보다 크고 라인 버퍼의 사이즈보다 큰 화상 폭을 가지 며, 제 2 화상의 수직 스트라이프는 라인 버퍼에 맞는 폭을 정의한다.
여기에 기술된 이들 및 다른 기술들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 그 소프트웨어는 디지털 신호 처리기 (DSP) 또는 다른 타입의 프로세서에서 실행될 수도 있다. 기술들을 실행하는 소프트웨어는 초기에 컴퓨터 판독가능 매체에 저장되어 상이한 사이즈를 갖는 화상의 효과적인 처리를 위해 DSP 에서 로드 및 실행될 수도 있다.
따라서, 본 개시는 또한 디바이스에서 실행시 그 디바이스로 하여금, 제 1 화상의 화상 폭을 수용하도록 사이즈 조정된 라인 버퍼을 사용하여 제 1 화상을 처리하게 하고, 그 라인 버퍼를 사용하여 제 2 화상의 수직 스트라이프를 처리하게 하는 명령들을 포함하고, 제 2 화상은 제 1 화상의 화상 폭보다 크고 라인 버퍼의 사이즈보다 큰 화상 폭을 가지며, 제 2 화상의 수직 스트라이프는 라인 버퍼에 맞는 폭을 정의하는, 컴퓨터 판독가능 매체를 고려한다.
본 발명의 하나 이상의 실시형태들의 상세는 이하의 상세한 설명 및 첨부한 도면에서 진술된다. 본 발명의 다른 특징, 목적 및 이점은 상세한 설명 및 도면 그리고 청구범위로부터 명백할 것이다.
도면의 간단한 설명
도 1은 본 발명의 기술을 구현할 수도 있는 예시적인 디바이스의 블록도이다.
도 2는 제 1 화상의 폭 및 제 2 화상의 중첩하는 수직 스트라이프들의 폭에 대응하는 폭을 갖도록 사이즈 조정된 라인 버퍼의 세트를 설명하는 개념도이다.
도 3은 본 개시의 기술을 구현할 수도 있는 예시적인 메모리, 메모리 제어기, 및 프런트-엔드 처리 유닛을 설명하는 블록도이다.
도 4는 소형 라인 버퍼가 대형 또는 소형 화상의 처리에서 사용되는 기술을 설명하는 흐름도이다.
상세한 설명
본 개시는 상이한 사이즈를 갖는 화상의 화상 처리를 지원하는 디바이스에 유용한 화상 처리 기술을 설명한다. 그 기술은 많은 콘텍스트에서 사용될 수 있고, 디바이스에 의해 캡쳐된 대형 정지 화상 및 소형 뷰파인더 화상의 프런트-엔드 화상 처리에 특히 유용할 수도 있다. 이러한 경우, 디바이스의 뷰파인더 모드 및 정지 화상 캡쳐 모드는 이들 상이한 모드에서 캡쳐된 상이한 화상에 상이한 처리 요건을 둘 수도 있다. 구체적으로는, 뷰파인더 모드는 매우 소형인 화상의 고속 처리를 요구하여 뷰파인더가 그러한 화상을 뷰파인더 내에서 실시간 비디오 시퀀스로서 표시할 수 있도록 한다. 한편, 정지 화상 캡쳐 모드는 큰 레이턴시를 허용할 수도 있지만, 화상은 뷰파인더 모드에서의 화상보다 훨씬 더 크다.
본 개시에 따르면, 프런트-엔드 화상 처리에 사용되는 라인 버퍼는 제 1 화상 (예를 들어, 뷰파인더 화상) 과 연관된 화상 폭을 수용하도록 사이즈 조정될 수도 있지만, 제 2 화상 (예를 들어, 정지 화상) 보다 더 작게 사이즈 조정될 수도 있다. 뷰파인더 화상의 각각의 라인이 처리 유닛 내의 라인 버퍼와 조화하기 때문에, 뷰파인더 화상은 매우 빠르게 처리될 수 있다. 대형 화상을 처리하기 위 해, 대형 화상은 어드레스될 수도 있거나, 그렇지 않으면 화상의 수직 스프라이프로서 정의될 수도 있으며, 여기서 수직 스프라이프는 라인 버퍼 내에 조화하는 폭을 정의한다. 수직 스트라이프는 다른 수직 스프라이프와 중첩하는 화소를 가질 수도 있으며, 이것은 화상 처리가 2-차원 (또는 더 높은 차원) 필터링을 포함하는 경우 특히 유용하다. 정지 화상의 폭보다 작은 동일한 라인 버퍼들이 소형 뷰파인더 화상 및 대형 정지 화상을 처리하는데 사용될 수 있기 때문에, 디바이스에서 하드웨어 감소가 달성될 수도 있다.
도 1은 본 개시의 기술을 구현할 수도 있는 디바이스 (2) 를 설명하는 블록도이다. 디바이스 (2) 는 화상 캡쳐 디바이스의 일부, 또는 가능하다면 비디오 데이터를 코딩 및 송신할 수 있는 디지털 비디오 디바이스를 형성할 수도 있다. 예로서, 디바이스 (2) 는 디지털 카메라, 셀룰러 또는 위성 무선 전화 등의 무선 통신 디바이스, 개인 휴대용 정보 단말기 (PDA), 또는 촬상 또는 비디오 기능을 갖는 임의의 디바이스를 포함할 수도 있다.
도 1 에 도시된 바와 같이, 디바이스 (2) 는 미가공 화상 데이터를 저장하고 그러한 데이터 상에 다양한 처리 기술을 수행하는 화상 처리 장치 (4) 를 포함한다. 장치 (4) 는 디지털 신호 처리기 (DSP) 및 온-칩 메모리 (예를 들어, 여기에 기술된 라인 버퍼) 를 포함하는 소위 "칩 셋" 을 포함할 수도 있다. 그러나, 다른 경우, 장치 (4) 는 프로세서, 하드웨어, 소프트웨어 또는 펌웨어의 임의의 조합을 포함할 수도 있다. 또한, 장치 (4) 는 원한다면, 단일의 집적된 칩을 포함할 수도 있다.
도 1 의 도시된 예에서, 화상 처리 장치 (4) 는 로컬 메모리 (8), 메모리 제어기 (10) 및 화상 처리 유닛 (6) 을 포함한다. 화상 처리 유닛 (6) 은 프런트-엔드 처리 유닛 (18) 을 포함하지만, 또한 코딩 유닛 (19) 을 포함할 수도 있다. 일반적으로, 프런트-엔드 처리 유닛 (18) 이 본 개시의 기술을 수행하며, 복수의 화상 처리 모듈을 포함할 수도 있다. 프런트-엔드 처리 유닛 (18) 은 복수의 화상 처리 모듈을 포함할 수도 있다. 예로서, 프런트-엔드 처리 유닛 (18) 의 모듈들은 2-차원 필터링 모듈, 디모자이킹 모듈, 렌즈 롤오프 보정 모듈, 스케일링 모듈, 컬러 보정 모듈, 컬러 변환 모듈, 잡음 감소 필터링 모듈, 공간 필터링 모듈, 또는 다른 타입의 모듈들을 포함할 수도 있다. 본 개시의 교시는 2-차원 필터링 모듈, 잡음 감소 필터링 모듈 및 수직 스케일링 모듈과 같은, 라인 버퍼를 구현할 수도 있는 임의의 모듈에 대해 특별한 중요성을 갖는다.
코딩 유닛 (19) 은 장치 (4) 에 의해 처리된 화상이 비디오 프레임들의 스트림인 경우 유용할 수도 있다. 이러한 경우, 코딩 유닛 (19) 은 프레임간 압축 또는 프레임내 압축 등의 하나 이상의 비디오 압축 기술을 포함할 수도 있는 비디오 코딩을 수행할 수도 있다. 예를 들어, 코딩 유닛 (19) 은 프레임간 압축을 제공하기 위해 시간적 또는 프레임간 데이터 상관을 사용하는 모션 추정 및 모션 보상 기술을 구현할 수도 있다. 대안적으로, 또는 부가적으로, 코딩 유닛 (19) 은 프레임내 압축을 제공하기 위해 공간적 또는 프레임내 데이터 상관을 활용하는 공간 추정 및 인트라 예측 기술을 수행할 수도 있다. 코딩 유닛 (19) 은 또한 정지 화상을 압축하는데 사용될 수도 있다.
로컬 메모리 (8) 는 일반적으로 미가공 화상 데이터를 저장하며, 또한 화상 처리 유닛 (6) 에 의해 수행되는 임의의 처리를 뒤따르는 처리된 화상 데이터를 저장할 수도 있다. 메모리 제어기 (10) 는 메모리 (8) 내의 메모리 조직을 제어한다. 메모리 제어기 (10) 는 또한 메모리 (8) 로부터 유닛 (6) 으로의 메모리 로드 및 유닛 (6) 으로부터 메모리 (8) 로의 재기입 (write back) 을 제어한다. 또한, 이하에 더욱 상세히 기술되는 바와 같이, 메모리 제어기 (10) 는 중첩하는 수직 스트라이프로서 미가공 화상 데이터를 어드레스할 수도 있다. 이러한 경우, 중첩하는 수직 스트라이프는 대형 화상의 폭보다 작은 폭을 가져, 프런트-엔드 처리 유닛 (18) 내의 라인 버퍼가 수직 스트라이프의 라인들을 수용할 수 있도록 한다. (뷰파인더 화상 등의) 소형 화상은 라인 버퍼에서 빠르게 처리될 수 있는 반면, (정지 화상 등의) 대형 화상은 메모리 (8) 에서 중첩하는 스트라이프로서 어드레스된 후 프런트-엔드 처리 유닛 (18) 의 라인 버퍼에서 처리될 수 있다.
따라서, 정지 화상은 화상의 전체 폭이 라인 버퍼에 동시에 로드되지 않기 때문에 처리하는데 더 긴 시간이 걸릴 수도 있다. 대신에, 각각의 대형 화상은 일련의 스트라이프를 라인 버퍼에 로딩함으로써 처리된다. 그러나, 예를 들어, 정지 화상은 사용자가 실시간 비디오 캡쳐를 관찰하고 있는 경우에서와 같이, 실시간으로 전달될 필요가 없을 수도 있기 때문에, 정지 화상은 이러한 콘텍스트에서 발생할 수도 있는 부가된 레이턴시를 더욱 용이하게 허용할 수 있다.
디바이스 (2) 는 화상을 캡쳐하는 화상 캡쳐 장치 (12) 를 포함할 수도 있다. 화상 캡쳐 장치 (12) 는 각각의 센서의 표면에 배열된 컬러 필터 어레이 (CFA) 를 포함하는 화상 센서의 세트를 포함할 수도 있고, 뷰파인더 화상의 화상 처리에서의 레이턴시를 피하기 위해 화상 처리 유닛 (6) 에 직접 결합될 수도 있다. 그러나, 다른 타입의 화상 센서가 또한 화상 데이터를 캡쳐하는데 사용될 수 있다. 화상 캡쳐 장치 (12) 를 실현하는데 사용될 수 있는 다른 예시적인 센서는 CMOS (complementary metal-oxide semiconductor) 센서 요소, CCD (charge coupled device) 센서 요소 등과 같은 고체 상태 센서 요소의 어레이를 포함한다. 화상 캡쳐 장치 (12) 는 상이한 사이즈를 갖는 화상을 캡쳐하는데 사용될 수도 있고, 이들은 그 후 본 개시에 따라 처리된다. 그러나, 다른 경우에, 복수의 상이한 화상 캡쳐 장치들이 상이한 사이즈를 갖는 화상을 캡쳐하는데 사용될 수도 있다.
상술된 바와 같이, 장치 (12) 에 의해 캡쳐된 몇몇 화상은 뷰파인더 화상 등의 소형 화상일 수도 있다. 디바이스 (2) 는 실시간 비디오를 시뮬레이팅하기 위해 장치 (12) 에 의해 샘플링된 뷰파인더 화상의 실시간 시퀀스를 표시하는 디스플레이 (21) 를 포함한다. 이들 화상은 폭이 비교적 작을 수도 있다. 프런트-엔드 처리 유닛 (18) 내의 라인 버퍼는 소형 뷰파인더 화상의 폭을 수용하도록 사이즈 조정될 수도 있다. 따라서, 그러한 화상이 캡쳐될 때, 그들은 프런트-엔드 처리 유닛 (18) 내로 직접 일 라인씩 로드될 수도 있다. 처리 후, 뷰파인더 화상은 로컬 메모리 (8) 또는 외부 메모리 (14) 로 기입될 수도 있다. 처리된 화상은 그 후 사용자에게 표시하기 위해 디스플레이 (21) 로 전송될 수도 있다.
디스플레이 (21) 는 (상술된 바와 같은) 뷰파인더 화상을 표시하는데 사용될 수도 있고, 또한 처리 유닛 (18) 에 의한 그러한 정지 화상의 처리에 후속하여 정지 화상을 표시하는데 사용될 수도 있다. 그러나, 몇몇 경우에, 정지 화상은 디바이스 (2) 에 의해 표시되지 않고 처리 및 저장될 수 있다. 정지 화상의 캡쳐에 후속하여, 로컬 메모리 (8) 는 미가공 데이터를 저장할 수도 있다. 메모리 제어기는 그 후 미가공 데이터의 수직 스트라이프를 액세스할 수 있다. 정지 화상의 폭은 유닛 (18) 내의 라인 버퍼의 폭보다 클 수도 있지만, 수직 스트라이프의 폭은 라인 버퍼와 조화할 수도 있다. 따라서, 일단 데이터가 수직 스트라이프로 조직되거나 어드레스되면, 수직 스트라이프는 메모리 제어기 (10) 에 의해 프런트-엔드 처리 유닛 (18) 내로 로드되고, 처리되어 로컬 메모리 (8) (또는 메모리 (14)) 로 재기입될 수 있다. 처리된 화상 데이터는 그 후 저장되거나 가능하다면 디스플레이 (21) 에 의해 표시될 수도 있다.
몇몇 경우에, 디바이스 (2) 는 다수의 메모리를 포함할 수도 있다. 예를 들어, 디바이스 (2) 는 통상 비교적 큰 메모리 공간을 포함하는 외부 메모리 (14) 를 포함할 수도 있다. 외부 메모리 (14) 는, 예를 들어, 동적 랜덤 액세스 메모리 (DRAM) 또는 플래시 메모리를 포함할 수도 있다. 메모리 (14) 는 소위 "NOR" 또는 "NAND" 메모리 기술 또는 임의의 다른 데이터 저장 기술에 기초할 수도 있다. 다른 예에서, 외부 메모리 (14) 는 비휘발성 메모리 또는 임의의 다른 타입의 데이터 저장 유닛을 포함할 수도 있다. 외부 메모리 (14) 와 대조적으로, 비록 본 개시는 반드시 이러한 점에 제한될 필요는 없지만, 로컬 메모리 (8) 는 소형 및 고속 메모리 공간을 포함할 수도 있다. 예로서, 로컬 메모리 (8) 는 SDRAM (synchronous dynamic random access memory) 을 포함할 수도 있다.
임의의 경우에, 메모리 (14 및 8) 는 단순히 예시적이며, 동일한 메모리 부분에 결합될 수도 있거나, 다수의 다른 구성으로 구현될 수도 있다. 바람직한 실시형태에서, 로컬 메모리 (8) 는 통상 SDRAM 에서 외부 메모리 (14) 의 일부를 형성한다. 이러한 경우, 양 메모리 (14 및 8) 는 어느 메모리도 화상 처리 유닛 (6) 과 함께 "온-칩" 으로 위치되지 않는다는 의미에서 "외부적" 이다. 따라서, 화상 처리 유닛 (6) 의 라인 버퍼만이 "온-칩" 메모리일 수도 있다. 이러한 방식으로, 본 개시의 교시는 소형 뷰파인더 화상 및 대형 정지 화상의 처리에 필요한 "온-칩" 메모리의 양을 상당히 감소시킬 수 있다.
디바이스 (2) 는 또한 처리된 화상 또는 코딩된 화상 시퀀스를 다른 디바이스로 송신하는 송신기 (도시하지 않음) 를 포함할 수도 있다. 로컬 메모리 (8), 디스플레이 (21), 및 외부 메모리 (14) (및 원하는 경우 다른 컴포넌트) 는 통신 버스 (15) 를 통해 결합될 수 있다. 다수의 다른 요소가 또한 디바이스 (2) 에 포함될 수도 있지만, 간단성 및 설명의 용이를 위해 도 1 에 구체적으로 도시되지 않는다. 여기에 설명된 기술들은 다양한 다른 아키텍쳐를 사용하여 구현될 수도 있기 때문에, 도 1 에 도시된 아키텍쳐는 단순히 예시적이다.
소형 뷰파인더 화상의 경우, 결과적으로 생성된 처리된 픽쳐는 통상 외부 메모리 (14) 의 일부인 "프레임 버퍼" 메모리로 기입될 수도 있다. 이러한 경우, 디스플레이 (21) 는 통상 픽쳐를 표시 화면에 렌더링하기 위해 이러한 "프레임 버 퍼" 메모리를 판독한다. 대형 정지 사진 픽쳐에 관하여, (비중첩 수직 스트라이프에서) 결과로 생성된 처리된 픽쳐는, 또한 외부 메모리 (14) 의 일부인 "프레임 버퍼" 메모리 내로 일 스트라이프씩 기입된다. 스트라이프는 그 후 저장되거나, 다른 디바이스로 전송되거나, 가능하다면 디스플레이 (21) 로 렌더링될 수도 있는 정지 화상을 렌더링하기 위해 결합될 수 있다. 그러나, 프레임 버퍼 메모리의 메모리 위치는 본 개시에 따라 임의의 특정의 위치로 제한되지 않아야 한다.
도 2는 제 1 화상 (26) 의 폭 및 제 2 화상 (28) 의 중첩하는 수직 스트라이프 (27A-27C) (집합적으로 수직 스트라이프 (27)) 의 폭에 대응하는 폭을 갖도록 사이즈 조정된 라인 버퍼 (25) 의 세트를 설명하는 개념도이다. 더욱 일반적으로, 라인 버퍼 (25) 는 제 1 화상 (26) 의 폭 및 수직 스트라이프 (27) 의 폭을 수용하는 폭을 가져야 한다. 따라서, 라인 버퍼 (25) 는 제 1 화상 (26) 의 폭 또는 수직 스트라이프 (27) 의 폭보다 넓을 수도 있지만, 제 1 화상의 라인 또는 수직 스트라이프의 라인을 수용하기 위해 적어도 이들 각각의 폭만큼 넓어야 한다.
라인 버퍼 (25) 는 DSP 의 온-칩 요소일 수도 있는 일시적 저장 유닛이다. 하드웨어로 구현되는 경우, 라인 버퍼 (25) 는 프런트-엔드 처리 유닛 (18) (도 1) 의 하나 이상의 화상 처리 모듈 내에 위치될 수도 있다. 도 2에 도시된 바와 같이, 화상 (26) 의 화소들의 전체 라인 (예를 들어, 화소 (A1-I1)) 은 라인 버퍼 (25) 중 하나와 조화할 수 있다. 라인 버퍼 (25) 에 필요한 실제의 폭은 화상 (26 및 28) 의 화소와 연관된 화소 포맷에 종속할 수도 있다. 라인 버퍼가 제 1 화상 (26) 의 전체 폭에 대해 그러한 화소 포맷을 수용하는 폭을 갖는 한, 많은 상이한 화소 포맷이 본 개시에 따라 사용될 수도 있다. 예로서, 화상 (26 및 28) 의 각 화소가 8-비트 또는 16-비트를 포함할 수도 있다. 또한, 화소는 디바이스-종속 또는 디바이스-독립 컬러 공간에서 3-색 값 또는 4-색 값에 의해 표현될 수도 있다. 화소의 포맷에 관계없이, 라인 버퍼 (25) 는 화상 (26) 및 수직 스트라이프 (27) 의 폭만큼 크거나 그 이상의 폭이지만, 화상 (28) 의 폭보다 작은 적절한 사이즈를 갖도록 설계될 수 있다.
또한, 라인 버퍼 (25) 는 화상 (26) 이 매우 빠르게 처리될 수 있도록 소형 화상 (26) 의 폭을 수용한다. 화상 (26) 은 디스플레이 (21) (도 1) 에서 표시되는 실시간 비디오 시퀀스의 일부로서 빠르게 처리되어야 하는 뷰파인더 화상을 포함할 수도 있다. 대형 화상 (28) 은 정지 화상 (또는 가능하다면 코딩될 비디오 시퀀스의 화상) 을 포함할 수도 있다. 제 1의, 소형 화상 (26) 과는 달리, 제 2 의, 대형 화상 (28) 은 그것의 화상 처리에서 더 긴 레이턴시를 허용할 수도 있다. 따라서, 시스템 (2) 은 라인 버퍼의 사이즈를 화상 (28) 의 폭보다 작도록 감소시킴으로써 레이턴시에 대한 이러한 허용오차를 사용한다. 이러한 경우, 화상 (28) 은 일 라인씩 처리되는 것이 아니라, 수직 스트라이프 (27) 로 정의되고, 이것은 라인 버퍼 (25) 를 사용하여 처리될 수 있다.
도 2에 도시된 예에서, 수직 스트라이프 (27) 는 서로 중첩하고 있다. 구체적으로는, 화상 (28) 의 각각의 라인에 대한 화소 (H 및 I) 는 수직 스트라이프 (27A) 의 라인들의 말단부에 포함되며, 또한 수직 스트라이프 (27B) 의 라인의 개시부에 포함된다. 유사하게, 화소 (O 및 P) 는 수직 스트라이프 (27B 및 27C) 양자의 라인들에 포함된다. 수직 스트라이프의 이러한 중첩 배열은 다차원 필터링이 화상 (28) 에 수행되는 경우 특히 유용하다.
예를 들어, 2-차원 필터링 (또는 다른 고차 필터링) 은 인접한 화소들의 값들에 부분적으로 기초하여 화소 값들을 필터링할 수도 있다. 따라서, 화소 (C1) 의 필터링된 값은 C1 의 값에 종속할 뿐아니라, 인접한 화소 (B1 및 D1) 의 값, 및 가능하다면 화소 (A1 및 E1) 의 값 또는 필터링될 화소 (C1) 로부터 먼 고차인 다른 화소들의 값에 부분적으로 종속할 수도 있다. 효율적인 방식의 그러한 고차 필터링을 설명하기 위해, 수직 스트라이프 (27) 는 서로 중첩하도록 정의된다. 필터링에 후속하여, 필터링된 화소는 (예를 들어, 프레임 버퍼 내에) 외부 메모리 (14) 로 재기입되고, 라인 버퍼 (25) 로 로드된 가장 가장자리 화소가 주어진 수직 스프라이프의 가장 중앙의 화소의 필터링을 정의하는데만 사용될 수 있는 한 중첩하지 않을 수도 있다. 따라서, 화상 (28) 을 처리하는 것이 화상 (28) 의 중첩하는 수직 스트라이프 (27) 를 2-차원 필터링하는 것을 포함하는 경우, 2-차원 필터링의 출력은 메모리 (14) (또는 메모리 (8)) 에 다시 저장될 수 있는 필터링된 비-중첩 수직 스트라이프를 포함할 수도 있다.
수직 스트라이프 (27) 는 메모리 (8) 내에 개별 데이터 구조로서 저장될 수도 있고, 필요하다면, 어드레싱 스킴이 메모리 (8) 에 저장된 미가공 화상 데이터로부터의 수직 스트라이프에 액세스하는데 사용될 수도 있다. 바람직하게는, 메모리 제어기 (10) 는 수직 스트라이프를 재저장할 필요를 회피하기 위해 미가공 데이터로부터의 수직 스트라이프에 간단히 액세스한다. 어느 방식에서든, 메모리 제어기 (10) 는 라인 버퍼 (25) 에서의 처리를 위해 수직 스트라이프 (27) 를 정의한다. 수직 스트라이프의 필터링된 버전은 또한 개별 데이터 구조로서 저장될 수도 있고, 또는 완전히 필터링된 화상으로서 메모리 제어기 (10) 에 의해 재조립될 수도 있다.
도 3은 본 개시를 구현할 수도 있는 예시적인 메모리 (32), 메모리 제어기 (34), 및 프런트-엔드 처리 유닛 (36) 을 도시하는 블록도이다. 도 3의 요소 (32, 34 및 36) 는, 비록 그러한 요소들이 다른 디바이스에서 마찬가지로 사용될 수도 있지만, 도 1의 요소 (8, 10 및 6) 에 각각 대응할 수도 있다. 도 3에 도시된 바와 같이, 메모리 (32) 는 미가공 데이터 버퍼 (42) 및 처리된 데이터 버퍼 (44) 를 포함한다. 미가공 데이터 버퍼 (42) 는 일반적으로 미가공 화상 데이터를 저장하는 반면, 처리된 데이터 버퍼 (44) 는 일반적으로, 예를 들어 프런트-엔드 처리 유닛 (36) 에 의해 수행된 하나 이상의 처리 단계들에 후속하여, 처리된 데이터를 저장한다. 메모리 (32) (및 미가공 데이터 버퍼 (42) 및 처리된 데이터 버퍼 (44)) 는 단일의 메모리 위치 또는 메모리 (8 및 14) (도 1) 등의 다수의 메모리 위치에 위치될 수 있다.
메모리 제어기 (34) 는 메모리 (32) 내의 메모리 조직을 제어한다. 특히, 메모리 제어기 (34) 는 메모리 (32) 로부터 유닛 (36) 으로의 메모리 로드를 제어하고, 유닛 (36) 으로부터 메모리 (32) 로 재기입한다. 또한, 프런트-엔드 처리 유닛 (36) 에서 사용되는 라인 버퍼보다 큰 라인 폭을 정의하는 대형 화상의 경우, 메모리 제어기 (34) 는 그러한 라인 버퍼에 맞는 미가공 데이터 버퍼 (42) 내의 미가공 데이터를 위해 수직 스트라이프를 정의한다. 도 2에 도시된 화상 (28) 의 수직 스트라이프 (27) 는 그러한 일 예이다.
프런트-엔드 처리 유닛 (36) 은 복수의 화상 처리 모듈 (45A-45D) (집합적으로 모듈 (45)) 을 포함할 수도 있다. 하나 이상의 모듈 (45) 은 도 2에 도시된 라인 버퍼 (25) 를 포함할 수도 있다. 모듈 (45) 은, 예를 들어, 2-차원 필터링 모듈 또는 고차 필터링 모듈, 디모자이킹 모듈, 렌즈 롤오프 보정 모듈, 스케일링 모듈, 하나 이상의 컬러 보정 모듈, 하나 이상의 컬러 변환 모듈, 잡음 감소 필터링 모듈, 공간 필터링 모듈, 또는 미가공 또는 처리된 화상 데이터에 사용될 수도 있는 임의의 다른 타입의 이미징 모듈 등의 매우 다양한 화상 처리 모듈들을 포함할 수도 있다.
모듈 (45) 의 라인 버퍼 내로 조화되는 화상 폭을 정의하는 뷰파인더 화상 등의 소형 화상의 경우, 메모리 제어기 (34) 는 모듈 1 (45A) 로 각각의 화상의 연속적인 라인들을 로드하고 처리된 데이터 버퍼 (44) 의 하나로 처리된 결과를 재기입할 수도 있다. 처리된 데이터는 그 후 모듈 2 (45B) 로 로드되고, 더욱 처리된 후 재기입될 수도 있다. 더욱 처리된 데이터는 그 후 모듈 (3) 으로 로드되고 처리된 후, 재기입될 수도 있으며, 그러한 처리는 유닛 (36) 내의 모듈 (45) 의 일부 또는 전부를 통해 계속될 수도 있다. 대안적으로, 소형 화상의 경우, 화상 캡쳐 장치 (12) (도 1) 의 출력은 유닛 (36) 에 의해 정의된 화상 처리 파이프 라인에 직접 결합될 수도 있고, 그 경우에 소형 화상을 위한 미가공 데이터는 (도 3에 도시되지 않은) 화상 캡쳐 장치로부터 직접 올 것이다. 이러한 경우, 소형 뷰파인더 화상을 위한 미가공 데이터는 메모리 제어기 (34) 를 통과하지 않거나, 또는 라인 버퍼 내에서의 처리 이전에 (32 등의) 상이한 메모리에 저장되지 않을 수도 있다. 이것은 실시간으로 표시될 필요가 있을 수도 있는 그러한 소형 화상에 대한 처리 속도를 개선할 수도 있다.
일단 주어진 라인이 모듈 1 (45A) 에 의해 처리되면, 다음의 라인이 그 후 파이프라인된 방식으로 처리될 수도 있다. 따라서, 모듈 (45) 의 라인 버퍼에 맞는 라인 폭을 갖는 소형 뷰파인더 화상의 경우, 화상의 연속적인 라인들은 초고속 화상 처리 쓰루풋을 위해 모듈 (45) 을 통해 파이프라인될 수 있다.
대형 화상은 유사한 방식으로 처리될 수도 있지만, 먼저 라인 버퍼에 맞는 수직 스트라이프들로 분리될 필요가 있다. 따라서, 디바이스에 의해 캡쳐된 정지 화상 등의 대형 화상의 경우, 메모리 제어기 (34) 는 2-차원 필터링의 경우 서로 중첩할 수도 있는 (예를 들어, 어드레싱 스킴을 통해) 수직 스트라이프로서 미가공 데이터를 정의한다. 이러한 경우, 수직 스트라이프의 라인은 모듈 (45) 로 로드되고 파이프라인된 방식으로 재기입될 수도 있다. 모듈 (45) 의 하나 이상에 의해 사용된 각각의 라인 버퍼가 대형 화상의 전체 폭보다 작기 때문에, 부가적인 레이턴시가 그러한 대형 화상의 처리시에 도입된다. 그러나, 라인 버퍼의 사이즈를 감소시킴으로써 달성되는 하드웨어 감소는 디바이스에 의해 캡쳐된 정지 화상에서 허용될 수 있는 이러한 레이턴시를 희생하여 바람직하다. 대부분 의 경우, 유닛 (36) 은 각각의 처리된 라인을 메모리 제어기 (34) 를 통해 이리저리 전송하지 않고 파이프라인된 방식으로 각각의 수직 스트라이프의 라인을 처리할 수도 있다.
도 4는 소형 라인 버퍼가 대형 또는 소형 화상의 처리에서 사용되는 기술을 설명하는 흐름도이다. 이러한 예에서, 대형 화상은 정지 화상 모드에서 디바이스에 의해 캡쳐된 정지 화상이고, 소형 화상은 뷰파인더 모드에서 디바이스에 의해 캡쳐된 뷰파인더 화상이다. 그러나, 동일한 기술이 서로에 대해 대형 및 소형인 임의의 화상 내에서 작용할 수 있다. 도 4는 도 1 및 도 2 의 콘텍스트에서 설명될 것이며, 도 2의 라인 버퍼 (25) 는 도 1 의 프런트-엔드 처리 유닛 (18) 에서 사용된다.
도 4에 도시된 바와 같이, 화상 캡쳐 장치 (12) 는 소형 뷰파인더 화상 또는 대형 정지 화상일 수도 있는 화상을 캡쳐한다 (51). 디바이스 (2) 의 모드는 화상이 뷰파인더 화상인지 정지 화상인지 여부를 결정할 수도 있다 (52). 소형 뷰파인더 화상의 경우 (52 의 뷰파인더 브랜치), 화상 캡쳐 장치 (12) 에 의해 캡쳐된 미가공 화상 데이터는 프런트-엔드 처리 유닛 (18) 의 라인 버퍼 (25) 로 직접 로드된다. 여기에 기술된 바와 같이, 라인 버퍼 (25) 는 뷰파인더 화상의 전체 폭을 수용할 수 있는 폭을 가지므로, 그러한 화상이 프런트-엔드 처리 유닛 (18) 에서 일 라인씩 처리되는 것을 허용한다. 따라서, 도 4에 도시된 바와 같이, 프런트-엔드 처리 유닛 (18) 은 라인 버퍼 (25) 를 사용하여 화상을 처리한다 (56). 메모리 제어기는 그 후 처리된 화상이 메모리 (8) (또는 메모리 (14)) 로 다시 저장되도록 한다 (57). 원한다면, 부가적인 처리 단계들이 그 화상에 순차적으로 수행될 수도 있다.
대형 정지 화상의 경우 (52 의 정지 화상 브랜치), 메모리 제어기 (10) 는 정지 화상의 미가공 데이터를 저장하고 (59), 로컬 메모리 (8) 내의 메모리 버퍼 내에 정지 화상의 중첩하는 수직 스트라이프를 정의한다 (54). 수직 스트라이프의 메모리 버퍼는 라인 버퍼의 폭에 따라 사이즈 조정될 수도 있고, 수직 스트라이프는 정지 화상의 중첩하는 스트라이프일 수도 있다. 메모리 제어기 (10) 는 그 후 프런트-엔드 처리 유닛 (18) 의 라인 버퍼 (25) 로 수직 스트라이프의 라인을 로드한다 (55). 이러한 방식으로, 유닛 (18) 은 라인 버퍼 (25) 를 사용하여 정지 화상을 처리할 수 있지만 (56), 정지 화상의 각각의 라인에 대해서라기 보다는 수직 스트라이프의 각각의 라인에 대해 그렇게 한다. 그러한 처리 후에, 메모리 제어기는 처리된 화상이 메모리 (8) (또는 메모리 (14)) 로 다시 저장되도록 한다 (57). 또, 원한다면, 부가적인 처리 단계들이 화상에 대해 순차적으로 수행될 수도 있다. 즉, 도 4 에 도시된 프로세스는 화상 처리의 하나의 스테이지에 적용되지만, 예를 들어, 프런트-엔드 처리 유닛 (18) 이 라인 버퍼를 사용하는 수개의 화상 처리 모듈을 포함하는 경우, 연속적인 스테이지들에 대해 반복될 수도 있다. 또한, 뷰파인더 화상의 라인 또는 정지 화상의 수직 스트라이프의 라인은 프런트-엔드 처리 유닛 (18) 을 통해 파이프라인될 수도 있다.
다수의 화상 처리 기술들이 설명되었다. 그 기술들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 그 기술들은, 둘 이상의 상이한 사이즈를 갖는 화상을 캡쳐하는 디바이스에서 실행될 때 적어도 일부의 화상의 폭보다 작은 라인 버퍼를 사용하여 그러한 화상을 처리할 수 있는 프로그램 코드를 포함하는 컴퓨터 판독가능 매체로 지향될 수도 있다. 그 경우, 컴퓨터 판독가능 매체는 SDRAM (synchronous dynamic random access memory) 등의 랜덤 액세스 메모리 (RAM), 리드 온리 메모리 (ROM), 비휘발성 랜덤 액세스 메모리 (NVRAM), EEPROM (elecrically erasable programmable read-only memory), 플래시 메모리 등을 포함할 수도 있다.
프로그램 코드는 컴퓨터 판독가능 명령의 형태로 메모리 상에 저장될 수도 있다. 그 경우, DSP 등의 프로세서는 하나 이상의 화상 처리 기술을 수행하기 위해 메모리 내에 저장된 명령들을 실행할 수도 있다. 몇몇의 경우에, 그 기술들은 다양한 하드웨어 컴포넌트들로 하여금 화상 처리를 가속화하게 하는 DSP 에 의해 실행될 수도 있다. 다른 경우에, 여기에 기술된 유닛은 마이크로프로세서, 하나 이상의 주문형 반도체 (ASIC), 하나 이상의 필드 프로그래머블 게이트 어레이 (FPGA), 또는 몇몇 다른 하드웨어-소프트웨어 조합으로서 구현될 수도 있다.
그럼에도 불구하고, 다양한 변경이 여기에 설명된 기술들에 행해질 수도 있다. 예를 들어, 비록 그 기술들이 소형 뷰파인더 화상 및 대형 정지 화상의 콘텍스트에서 주로 설명되었지만, 그 기술들은 상이한 폭의 임의의 화상에 대해 적용할 수도 있다. 또한, 그 기술들은 높은 및 낮은 해상도 화상에 대해 적용할 수도 있으며, 이 경우 고해상도 화상은, 고해상도가 저해상도 화상보다 높은 화소 밀도를 정의하는 한, 주어진 화상 사이즈에 비해 폭이 더 크다. 또한, 비록 그 기술들이 개개의 화상의 콘텍스트에서 기술되었지만, 그들은 비디오 시퀀스를 형성하는 화상들의 세트에 작용할 수 있다. 이러한 경우, 저해상도 시퀀스는 버퍼 내에서 일 라인씩 처리될 수 있는 반면, 고해상도 시퀀스는 수직 스트라이프로서 저장되고, 그 후 처리될 수 있다. 이들 및 다른 실시형태는 다음의 클레임의 범위 내에 있다.

Claims (25)

  1. 디바이스를 사용하여 제 1 화상을 캡쳐하는 단계,
    상기 제 1 화상의 화상 폭을 수용하도록 사이즈 조정된 라인 버퍼를 사용하여 상기 제 1 화상을 처리하는 단계,
    상기 디바이스를 사용하여 제 2 화상을 캡쳐하는 단계로서, 상기 제 2 화상은 상기 제 1 화상의 화상 폭보다 큰 화상 폭을 갖는, 상기 제 2 화상 캡쳐 단계, 및
    상기 라인 버퍼를 사용하여 상기 제 2 화상의 수직 스트라이프를 처리하는 단계로서, 상기 제 2 화상의 상기 수직 스트라이프는 라인 버퍼에 맞는 폭을 정의하는, 상기 제 2 화상의 수직 스트라이프 처리 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 제 1 화상은 뷰파인더 화상을 포함하고, 상기 제 2 화상은 정지 화상을 포함하는, 방법.
  3. 제 1 항에 있어서,
    상기 제 1 화상을 처리하는 단계는 상기 제 1 화상을 필터링하는 단계를 포함하고, 상기 제 2 화상의 수직 스트라이프를 처리하는 단계는 상기 제 2 화상을 필터링하는 단계를 포함하는, 방법.
  4. 제 3 항에 있어서,
    상기 수직 스트라이프는 서로 중첩하는, 방법.
  5. 제 4 항에 있어서,
    상기 필터링하는 단계는 2-차원 필터링을 포함하는, 방법.
  6. 디바이스를 사용하여 화상을 캡쳐하는 단계, 및
    라인 버퍼를 사용하여 상기 화상의 수직 스트라이프를 처리하는 단계로서, 상기 라인 버퍼는 상기 화상의 폭보다 작은 폭을 정의하는, 상기 수직 스트라이프 처리 단계를 포함하는, 방법.
  7. 제 6 항에 있어서,
    상기 화상은 정지 화상이고,
    상기 방법은 또한,
    상기 디바이스를 사용하여 뷰파인더 화상을 캡쳐하는 단계; 및
    상기 라인 버퍼를 사용하여 상기 뷰파인더 화상을 처리하는 단계로서, 상기 라인 버퍼의 폭은 상기 뷰파인더 화상을 수용하는, 상기 뷰파인더 화상 처리 단계를 포함하는, 방법.
  8. 제 7 항에 있어서,
    상기 라인 버퍼의 폭은 상기 뷰파인더 화상의 폭에 대응하는, 방법.
  9. 제 6 항에 있어서,
    상기 화상을 처리하는 단계는 상기 화상의 중첩하는 수직 스트라이프를 2-차원 필터링하는 것을 포함하고,
    상기 2-차원 필터링의 출력은 필터링된 비-중첩인 수직 스트라이프를 포함하는, 방법.
  10. 화상을 캡쳐하는 화상 캡쳐 장치,
    메모리,
    상기 화상의 중첩하는 수직 스트라이프를 정의하는 메모리 제어기, 및
    라인 버퍼를 사용하여 상기 화상의 상기 중첩하는 수직 스트라이프를 처리하는 처리 유닛을 포함하고,
    상기 라인 버퍼는 상기 화상의 폭보다 작은 폭을 정의하는, 디바이스.
  11. 제 10 항에 있어서,
    상기 화상은 정지 화상이고,
    상기 화상 캡쳐 장치는 뷰파인더 화상을 캡쳐하며;
    상기 처리 유닛은 상기 라인 버퍼를 사용하여 상기 뷰파인더 화상을 처리하 고,
    상기 라인 버퍼의 폭은 상기 뷰파인더 화상을 수용하는, 디바이스.
  12. 제 11 항에 있어서,
    상기 라인 버퍼의 폭은 상기 뷰파인더 화상의 폭에 대응하는, 디바이스.
  13. 제 10 항에 있어서,
    상기 처리 유닛은 상기 화상의 상기 중첩하는 수직 스트라이프에 대해 2-차원 필터링을 수행하고, 상기 2-차원 필터링의 출력은 상기 메모리에 다시 저장되는 필터링된 비-중첩인 수직 스트라이프를 포함하는, 디바이스.
  14. 제 10 항에 있어서,
    상기 디바이스는 무선전화를 포함하고, 상기 화상 캡쳐 장치는 상기 디바이스의 디지털 카메라를 포함하는, 디바이스.
  15. 디바이스에 의해 캡쳐된 화상을 처리하는 프런트-엔드 처리 유닛으로서,
    제 1 화상의 화상 폭을 수용하도록 사이즈 조정된 라인 버퍼를 사용하여 상기 제 1 화상을 처리하고,
    상기 라인 버퍼를 사용하여 제 2 화상의 수직 스트라이프를 처리하며,
    상기 제 2 화상은 상기 제 1 화상의 화상 폭보다 크고 상기 라인 버퍼의 사 이즈보다 큰 화상 폭을 가지며,
    상기 제 2 화상의 상기 수직 스트라이프는 상기 라인 버퍼에 맞는 폭을 정의하는, 프런트-엔드 처리 유닛.
  16. 제 15 항에 있어서,
    상기 제 1 화상은 뷰파인더 화상을 포함하고, 상기 제 2 화상은 정지 화상을 포함하는, 프런트-엔드 처리 유닛.
  17. 제 15 항에 있어서,
    상기 제 1 화상을 필터링함으로써 상기 제 1 화상을 처리하고,
    상기 제 2 화상을 필터링함으로써 상기 제 2 화상의 상기 수직 스트라이프를 처리하는, 프런트-엔드 처리 유닛.
  18. 제 17 항에 있어서,
    상기 수직 스트라이프는 서로 중첩하는, 프런트-엔드 처리 유닛.
  19. 제 18 항에 있어서,
    상기 필터링은 2-차원 필터링을 포함하는, 프런트-엔드 처리 유닛.
  20. 제 15 항에 있어서,
    프로그램 가능 명령들을 실행하는 디지털 신호 처리기를 포함하는, 프런트-엔드 처리 유닛.
  21. 디바이스에서 실행시, 상기 디바이스로 하여금,
    제 1 화상의 화상 폭을 수용하도록 사이즈 조정된 라인 버퍼을 사용하여 상기 제 1 화상을 처리하게 하고,
    상기 라인 버퍼를 사용하여 제 2 화상의 수직 스트라이프를 처리하게 하는 명령들을 포함하며,
    상기 제 2 화상은 상기 제 1 화상의 화상 폭보다 크고 상기 라인 버퍼의 사이즈보다 큰 화상 폭을 가지며,
    상기 제 2 화상의 상기 수직 스트라이프는 상기 라인 버퍼에 맞는 폭을 정의하는, 컴퓨터 판독가능 매체.
  22. 제 21 항에 있어서,
    상기 제 1 화상은 뷰파인더 화상을 포함하고, 상기 제 2 화상은 정지 화상을 포함하는, 컴퓨터 판독가능 매체.
  23. 제 21 항에 있어서,
    상기 명령들은 상기 제 1 화상을 필터링함으로써 상기 제 1 화상을 처리하고,
    상기 명령들은 상기 제 2 화상을 필터링함으로써 상기 제 2 화상의 상기 수직 스트라이프를 처리하는, 컴퓨터 판독가능 매체.
  24. 제 23 항에 있어서,
    상기 수직 스트라이프는 서로 중첩하는, 컴퓨터 판독가능 매체.
  25. 제 24 항에 있어서,
    상기 필터링은 2-차원 필터링을 포함하는, 컴퓨터 판독가능 매체.
KR1020087027569A 2006-04-11 2007-04-10 소형 또는 대형 화상의 처리를 위한 소형 라인 버퍼의 사용을 용이하게 하는 기술 KR100997619B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/402,661 2006-04-11
US11/402,661 US7595805B2 (en) 2006-04-11 2006-04-11 Techniques to facilitate use of small line buffers for processing of small or large images

Publications (2)

Publication Number Publication Date
KR20080108616A true KR20080108616A (ko) 2008-12-15
KR100997619B1 KR100997619B1 (ko) 2010-12-01

Family

ID=38328664

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087027569A KR100997619B1 (ko) 2006-04-11 2007-04-10 소형 또는 대형 화상의 처리를 위한 소형 라인 버퍼의 사용을 용이하게 하는 기술

Country Status (6)

Country Link
US (1) US7595805B2 (ko)
EP (1) EP2008238A1 (ko)
JP (4) JP2009533772A (ko)
KR (1) KR100997619B1 (ko)
CN (1) CN101416217B (ko)
WO (1) WO2007121197A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI397885B (zh) * 2008-05-07 2013-06-01 Novatek Microelectronics Corp 用於一平面顯示器之一時序控制器存取資料的方法與平面顯示器
TWI413943B (zh) * 2009-02-11 2013-11-01 Silicon Motion Inc 影像處理系統及其影像處理方法
US9367501B2 (en) * 2011-11-10 2016-06-14 International Business Machines Corporation Dynamic streaming data dispatcher
WO2013138910A1 (en) 2012-03-19 2013-09-26 Michael Klein Virtual respiratory gas delivery systems and circuits
WO2017138233A1 (ja) * 2016-02-12 2017-08-17 株式会社リコー 画像処理装置、画像処理システム及び画像処理方法
US10380969B2 (en) 2016-02-28 2019-08-13 Google Llc Macro I/O unit for image processor
KR102637732B1 (ko) 2018-09-21 2024-02-19 삼성전자주식회사 이미지 신호 프로세서, 상기 이미지 신호 프로세서의 동작 방법 및 상기 이미지 신호 프로세서를 포함하는 애플리케이션 프로세서
KR20200094500A (ko) * 2019-01-30 2020-08-07 삼성전자주식회사 이미지 프레임 데이터에 포함된 라인 데이터를 복수의 구간들로 처리하는 전자 장치 및 방법
CN111314579B (zh) 2020-02-21 2021-10-15 苏州浪潮智能科技有限公司 一种图像垂直滤波处理的方法及芯片
CN113709494B (zh) * 2021-06-23 2024-04-09 珠海全志科技股份有限公司 用于超分重建的图像解压缩方法及装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473123B1 (en) * 1997-08-21 2002-10-29 Flash Point Technology, Inc. Method and system for organizing DMA transfers to support image rotation
JPH11112753A (ja) * 1997-10-02 1999-04-23 Ricoh Co Ltd 画像処理装置
DE69830661T2 (de) * 1997-10-06 2006-05-04 Silicon Image, Inc., Sunnyvale Digitales videosystem und verfahren zur verfuegungstellung desselben
JP3510997B2 (ja) * 1999-04-05 2004-03-29 セイコーエプソン株式会社 画像処理装置およびコピーシステム
JP3720268B2 (ja) 2001-02-26 2005-11-24 株式会社メガチップス 画像処理装置
JP2002304624A (ja) * 2001-04-05 2002-10-18 Canon Inc フィルタ処理装置及び撮像装置
CN1266582C (zh) * 2001-05-06 2006-07-26 中兴通讯股份有限公司 大视图分块缓冲显示方法
JP2003116048A (ja) * 2001-10-05 2003-04-18 Hitachi Kokusai Electric Inc シェーディング補正方法
KR100940203B1 (ko) * 2003-02-18 2010-02-10 삼성전자주식회사 세그먼트 기반의 화소 처리 장치 및 그 방법
KR100612414B1 (ko) * 2003-04-28 2006-08-16 삼성전자주식회사 영상 데이터 처리 시스템 및 영상 데이터 독출/기입 방법
US6999105B2 (en) 2003-12-04 2006-02-14 International Business Machines Corporation Image scaling employing horizontal partitioning
JP4250091B2 (ja) * 2004-01-14 2009-04-08 富士フイルム株式会社 デジタルカメラ
JP2006005596A (ja) * 2004-06-17 2006-01-05 Renesas Technology Corp 半導体集積回路装置及び撮像装置
JP4219887B2 (ja) 2004-12-28 2009-02-04 富士通マイクロエレクトロニクス株式会社 画像処理装置及び画像処理方法

Also Published As

Publication number Publication date
WO2007121197A1 (en) 2007-10-25
KR100997619B1 (ko) 2010-12-01
JP2009533772A (ja) 2009-09-17
CN101416217A (zh) 2009-04-22
JP2012212436A (ja) 2012-11-01
JP2015144435A (ja) 2015-08-06
JP2013146080A (ja) 2013-07-25
US20070236511A1 (en) 2007-10-11
CN101416217B (zh) 2012-08-08
US7595805B2 (en) 2009-09-29
EP2008238A1 (en) 2008-12-31

Similar Documents

Publication Publication Date Title
KR100997619B1 (ko) 소형 또는 대형 화상의 처리를 위한 소형 라인 버퍼의 사용을 용이하게 하는 기술
US9554038B1 (en) Camera system transmission in bandwidth constrained environments
US6961085B2 (en) Digital image processing and data compression circuit
US20060170786A1 (en) Digital camera and method
US20130021504A1 (en) Multiple image processing
KR100902419B1 (ko) 캡쳐 영상을 시간 지연 없이 표시할 수 있는 영상 처리장치, 방법 및 상기 방법을 프로그램화하여 수록한컴퓨터로 읽을 수 있는 기록매체
JP2004193686A (ja) カメラ付き携帯端末
CN1697483A (zh) 图像显示装置
JP2015053644A (ja) 撮像装置
US8531538B2 (en) Image processing apparatus, imaging apparatus, and image processing method
KR101009108B1 (ko) 화상 처리 장치 및 화상 처리 방법
US20040252206A1 (en) Image processor
US8045021B2 (en) Memory organizational scheme and controller architecture for image and video processing
JP4302661B2 (ja) 画像処理システム
US7684650B2 (en) Method for processing image frame output from an image sensor by an image processor
US9544559B2 (en) Device and method for processing images
JP4720494B2 (ja) 撮像装置、撮像方法およびプログラム、並びに記録媒体
JP6280713B2 (ja) 撮像装置
US7362362B2 (en) Reformatter and method
KR100902421B1 (ko) 캡쳐 영상을 시간 지연 없이 표시할 수 있는 영상 처리장치, 방법 및 상기 방법을 프로그램화하여 수록한컴퓨터로 읽을 수 있는 기록매체
JP2005159596A (ja) デジタルカメラ
TWI516088B (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
FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141030

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 10