KR20120099075A - 픽셀 레이트에서의 이미지 처리를 위한 방법 및 장치 - Google Patents

픽셀 레이트에서의 이미지 처리를 위한 방법 및 장치 Download PDF

Info

Publication number
KR20120099075A
KR20120099075A KR1020127015561A KR20127015561A KR20120099075A KR 20120099075 A KR20120099075 A KR 20120099075A KR 1020127015561 A KR1020127015561 A KR 1020127015561A KR 20127015561 A KR20127015561 A KR 20127015561A KR 20120099075 A KR20120099075 A KR 20120099075A
Authority
KR
South Korea
Prior art keywords
pixel
edge
pixels
processing
image
Prior art date
Application number
KR1020127015561A
Other languages
English (en)
Other versions
KR101617492B1 (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 KR20120099075A publication Critical patent/KR20120099075A/ko
Application granted granted Critical
Publication of KR101617492B1 publication Critical patent/KR101617492B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Image Processing (AREA)
  • Television Systems (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

본 발명의 실시예들은 처리 연산들이 픽셀들의 새로운 라인 또는 프레임으로 전환될 때에도 메모리 페치들 및 픽셀 출력들의 일정한 레이트를 유지시키기 위한 2-D 이미지 처리의 개선된 타이밍 제어를 제공한다. 본 발명에 따른 개선된 타이밍 제어가 현재의 라인 상의 에지 픽셀 블록의 새로운 열이 복제되거나 제로 아웃되는 동안 다음 라인 또는 프레임의 제1 픽셀 블록 내의 픽셀 데이터의 새로운 열을 프리페치함으로써 유휴 메모리 대역폭을 활용함에 따라, 추가적인 클록 사이클들 또는 메모리 대역폭 없이도 인입 픽셀 레이트와 인출 픽셀 레이트 간의 일대일 관계가 유지된다. 현재 라인 상의 에지 픽셀 블록(들)이 처리됨에 따라, 다음 라인 또는 프레임의 제1 픽셀 블록의 데이터는 추가적인 클록 사이클 또는 추가적인 메모리 대역폭 없이도 계산될 준비가 된다.

Description

픽셀 레이트에서의 이미지 처리를 위한 방법 및 장치{METHODS AND APPARATUS FOR IMAGE PROCESSING AT PIXEL RATE}
상관 명세서에 대한 참조
본 명세서는 2009년 11월 17일 출원된 미국 특허 출원 번호 12/619,825의 우선권 및 이점을 청구하며, 본원에 참조로서 전체를 통합한다.
본 발명의 기술분야
본 발명은 일반적으로 디지털 신호 처리 및 컴퓨터 그래픽에 관한 것이며, 더 상세하게는 픽셀 레이트에서의 이미지 처리에 관한 것이다.
2차원(2-D) 이미지들의 처리에 있어서, 출력 픽셀들을 생성하기 위해 연속하는 픽셀 블록들에 작은 매트릭스 또는 커널을 적용한다고 알려져 있다. 예컨대, 2-D 컨볼루션(convolution) 연산들에서, 래스터 패턴(raster pattern)을 뒤따르는 이미지에 n×m 매트릭스("컨볼루션 마스크")이 전형적으로 적용되고, 이미지 내의 각각의 픽셀에 대해, 컨볼루션 마스크가 그 픽셀에 센터링되고 이미지 내의 대응하는 n×m 픽셀들과 컨볼빙되어 출력 픽셀 값을 계산한다. 그 후, 그렇게 생성된 출력 픽셀들은 집합적으로 새로운(처리된) 디지털 이미지를 형성한다. 사용된 컨볼루션 마스크에 따라, 2-D 컨볼루션 연산들은 잡음을 필터링하고, 물체의 에지들을 개선하거나, 또는 디지털 이미지 상에 다른 원하는 효과들을 달성할 수 있다. 유사하게, 2-D 상관(correlation) 연산들에서, 이미지에 매트릭스가 래스터 모드로 적용되고, 각각의 픽셀 및 그것의 이웃하는 픽셀들과 함께 계산되어 대응하는 출력 픽셀을 생성한다. 이러한 및 다른 커널 기반 2-D 처리 연산들은 소프트웨어 또는 하드웨어로 구현될 수 있으며, 정지 이미지들 또는 비디오 시퀀스들의 프레임들에 적용될 수 있다.
도 1은 각각의 작은 정사각형이 하나의 픽셀을 나타내는, 픽셀들의 26×20 어레이를 갖는 예시적인 이미지(100)를 도시한다. 3×3 커널(102)이 래스터 모드에서 좌상 모서리(즉, 픽셀 A1)에서 시작해서 에지에서 에지로, 라인에서 라인으로 이동하도록 이미지(100)에 적용될 수 있다. 이미지(100) 내의 각각의 픽셀에 대해, 대응하는 픽셀 블록 - 그 픽셀 및 그것의 8개의 이웃 픽셀들 - 의 디지털 값들은 그러한 픽셀 데이터가 커널 매트릭스의 값들과 계산되기 전에, 메모리 디바이스 또는 입력 버퍼로부터 검색되어야 한다. 픽셀 데이터를 검색하고 픽셀 데이터를 커널과 함께 계산하는 단계들은 전형적으로 파이프라인되어, 클록에 의해 픽셀 레이트에서 구동된다. 커널들이 다음 픽셀로 (예컨대 이미지(100)의 픽셀 K16("1"로 표시됨)으로부터 픽셀 L16("2"로 표시됨)로) 진행함에 따라, 픽셀 데이터의 단 하나의 새로운 열(즉, 픽셀들 M15-17의 열)만이 검색될 필요가 있다. 즉, 파이프라인 처리의 각각의 클록 사이클 동안, 메모리 또는 입력 버퍼로부터 픽셀 데이터의 단 하나의 새로운 열만이 검색되며, 동시에 하나의 출력 픽셀 값이 일반적으로 생성된다. 따라서, 이미지(100)의 경계 내에 완전히 위치하는 그러한 픽셀 블록들("내부 픽셀 블록들")이 처리될 때, 픽셀 데이터 열들을 검색하는 레이트와 인출 픽셀 레이트 사이에 일대일 관계가 존재할 수 있다.
그러나, 커널이 이미지의 에지에 도달하고, 곧 새로운 라인 또는 프레임을 스캐닝하고 연산할 예정이라면, 그러한 한 열을 페치하고 하나의 픽셀을 출력하는 타이밍 패턴은 유지될 수 없다. 도 2는 다시 이미지(100) 및 커널(102)를 사용하여 이러한 문제점을 도시한다. 도 2의 커널(102)에 의해 커버되는, 픽셀 Z16에 센터링되는 픽셀 블록은 "에지 픽셀 블록"이라 명명될 수 있다. 커널(102)이 라인 16 상의 마지막 픽셀(픽셀 Z16)로부터 라인 17 상의 첫번째 픽셀(픽셀 A17)로 이동함에 따라, 픽셀 A17에 대응하는 출력 픽셀 값이 계산될 수 있기 전에 픽셀 데이터의 두 개의 새로운 열들(즉, 픽셀들 A16-18 및 B16-18의 열들)이 페치되어야 한다. 다른 크기들의 커널들, 및 커널이 비디오 시퀀스 내의 새로운 프레임으로 전이되는 경우 유사한 문제점들이 존재한다. 전이 동안 출력 픽셀 레이트를 유지하기 위해, 종래의 2-D 이미지 처리 방법들은 페치될 추가 열(들)에 대한 추가 클록 사이클들, 또는 비-에지 픽셀 블록들을 위해 사용되는 것보다 훨씬 큰 메모리 대역폭을 요구할 것이다. 이러한 해법들은 효율 부족 때문에 바람직하지 않다.
발명의 요약
본 발명의 실시예들은 처리 연산들이 픽셀들의 새로운 라인 또는 프레임으로 전이될 때에도 메모리 페치 및 픽셀 출력의 일정한 레이트를 유지하기 위한 2-D 이미지 처리에서의 개선된 타이밍 제어를 제공한다.
본 발명의 일 양태에서, 복수의 픽셀들을 갖는 하나 이상의 이미지들을 처리하기 위한 방법은 이미지의 제1 에지 및 제2 에지 사이에서 연속적인 픽셀 블록들을 래스터 모드로 처리하는 단계를 포함한다. 처리될 다음 픽셀 블록이 상기 제2 에지를 넘어 연장되지 않는 각각의 하나의 클록 유닛 동안, 다음 픽셀 블록의 하나의 새로운 벡터(즉, 행 또는 열)가 저장 디바이스로부터 페치된다. 처리될 다음 픽셀 블록이 상기 제2 에지를 넘어 연장되는 각각의 하나의 클록 유닛 동안, 상기 제2 에지를 넘어 위치하는 상기 다음 픽셀 블록 내의 새로운 벡터가 미리 결정된 픽셀 값들로 채워지는 한편, 픽셀들의 다음 라인 또는 프레임 상의 제1 픽셀 블록의 하나의 새로운 벡터가 상기 저장 디바이스로부터 페치된다. 상기 각각의 하나의 클록 유닛에서, 하나의 출력 픽셀 값이 생성되고, 따라서 메모리 페치 및 픽셀 출력의 일정한 레이트를 유지한다.
본 발명의 다른 양태에서, 복수의 픽셀을 갖는 하나 이상의 이미지들을 처리하기 위한 장치는: (i) 이미지의 제1 에지 및 제2 에지 사이에서 연속적인 픽셀 블록들을 래스터 모드로 처리하기 위한 수단; (ii) 처리될 다음 픽셀 블록이 상기 제2 에지를 넘어 연장되지 않는 각각의 하나의 클록 유닛 동안, 다음 픽셀 블록의 하나의 새로운 벡터를 저장 디바이스로부터 페치하기 위한 수단; (iii) 처리될 다음 픽셀 블록이 상기 제2 에지를 넘어 연장되는 각각의 하나의 클록 유닛 동안, 상기 제2 에지를 넘어 위치하는 상기 다음 픽셀 블록 내의 새로운 벡터를 미리 결정된 픽셀 값들로 채움과 동시에, 픽셀들의 다음 라인 또는 프레임 상의 제1 픽셀 블록의 하나의 새로운 벡터를 상기 저장 디바이스로부터 페치하기 위한 수단; 및 (iv) 상기 각각의 하나의 클록 유닛 내에서 하나의 출력 픽셀 값을 출력하고, 따라서 메모리 페치 및 픽셀 출력의 일정한 레이트를 유지하기 위한 수단을 포함한다.
또 다른 양태에서, 이미지의 제1 에지 및 제2 에지 사이에서 연속적인 픽셀 블록들을 래스터 모드로 처리하기 위한 장치는, 상기 이미지의 픽셀 값들의 적어도 하나의 입력 스트림을 수신하기 위해 하나 이상의 저장 디바이스들과 결합된 입력 데이터 인터페이스; 픽셀 처리 셀들의 어레이 - 각각의 셀은 2차원 이미지 처리 동안 상기 이미지에 적용될 커널의 계수 값을 저장하는 계수 저장 유닛, 상기 이미지의 픽셀 값을 저장하는 픽셀 저장 유닛 - 상기 픽셀 저장 유닛은 인접한 셀의 다른 픽셀 저장 유닛 또는 상기 입력 데이터 인터페이스에 결합되어, 상기 픽셀 값이 처음에 상기 입력 데이터 인터페이스를 통해 수신되고 후속으로 상기 어레이에 걸쳐 하나의 벡터로부터 인접한 벡터로 전파되는 것을 허용함 -, 상기 각각의 셀이 상기 어레이의 중심 벡터 내에 있지 않다면, 상기 픽셀 저장 유닛, 상기 어레이의 동일한 라인 상의 중심 벡터 픽셀 저장 유닛 및 상기 중심 벡터와 상기 각각의 셀 사이에 위치하는 임의의 픽셀 저장 유닛에 결합되는 입력부들을 갖는 멀티플렉서 유닛, 및 하나 이상의 셀 내 연산 유닛들을 포함함 -, 출력 픽셀 값을 생성하기 위해 픽셀 처리 셀들의 상기 어레이로부터의 출력들을 처리하는 셀 간 연산 유닛들; 및 상기 입력 데이터 인터페이스, 픽셀 처리 셀들의 상기 어레이, 및 상기 셀 간 연산 유닛들의 연산을 조정하는 타이밍 제어 모듈을 포함할 수 있다. 처리될 다음 픽셀 블록이 상기 제2 에지를 넘어 연장되지 않는 각각의 하나의 클록 유닛 동안, 상기 타이밍 제어 모듈은 상기 다음 픽셀 블록의 하나의 새로운 벡터가 상기 하나 이상의 저장 디바이스들로부터 페치되도록 한다. 처리될 다음 픽셀 블록이 상기 제2 에지를 넘어 연장되는 각각의 하나의 클록 유닛 동안, 상기 타이밍 제어 모듈은 상기 제2 에지를 넘어 위치하는 상기 다음 픽셀 블록의 하나의 새로운 벡터가 미리 결정된 픽셀 값으로 채워지도록 하는 한편, 픽셀들의 다음 라인 또는 프레임 상의 제1 픽셀 블록의 하나의 새로운 벡터가 상기 하나 이상의 저장 디바이스들로부터 페치되도록 하여, 메모리 페치들 및 픽셀 출력들의 일정한 레이트를 유지한다.
이제 본 발명은 수반하는 도면들에 도시된 것과 같이 예시적인 실시예들을 참조하여 더 상세히 설명될 것이다. 본 발명은 예시적인 실시예들을 참조로 아래에 설명되지만, 본 발명은 그것들에 제한되지 않는다는 것을 이해해야 한다. 본원의 교시들에 접근할 수 있는 본 기술분야의 당업자들은 본원에 설명된 본 발명의 범위 내에 있으며, 이들에 관해 본 발명이 상당한 유용성을 가질 수 있는 추가적인 구현들, 변형들 및 실시예들 뿐 아니라 다른 사용 분야들을 인식할 것이다.
바람직한 실시예 및 수반하는 도면들의 하기 설명으로부터 다른 목적들, 특징들 및 이점들이 본 기술분야의 당업자들에게 떠오를 것이다.
도 1은 픽셀들의 어레이를 갖는 예시적인 이미지를 도시한다.
도 2는 종래의 2-D 이미지 처리 방법에서 볼 수 있는 일정한 픽셀 레이트의 붕괴를 도시한다.
도 3은 본 발명의 실시예에 따른 3×3 커널을 사용한 2-D 이미지 처리의 예시적인 방법을 도시한다.
도 4는 본 발명의 실시예에 따른 5×3 커널을 사용한 2-D 이미지 처리의 예시적인 방법을 도시한다.
도 5는 본 발명의 실시예에 따른 예시적인 2-D 이미지 처리 엔진을 도시한다.
도 6은 본 발명의 실시예에 따른, 이미지 처리를 위한 예시적인 2-D 컨볼루션 엔진을 도시한다.
본 발명의 실시예들은 이미지 처리를 개선하며, 처리 연산들이 픽셀들의 새로운 라인 또는 새로운 프레임으로 전이될 때에도 추가적인 클록 사이클들 또는 메모리 대역폭 없이 인입 픽셀 레이트 및 인출 픽셀 레이트 간의 일대일 관계를 유지할 수 있다. 본 발명에 따른 개선된 타이밍 제어는 현재의 라인 상의 에지 픽셀 블록의 새로운 열이 복제되거나 제로 아웃(zeroed out)되는 동안 다음 라인 또는 프레임의 제1 픽셀 블록의 픽셀 데이터의 새로운 열을 프리페칭함으로써 유휴 메모리 대역폭을 활용한다. 현재 라인 상의 에지 픽셀 블록(들)이 처리됨에 따라, 다음 라인 또는 프레임의 제1 픽셀 블록 내의 데이터는 추가 클록 사이클 또는 추가 메모리 대역폭 없이 계산을 위해 준비된다. 아래의 수반하는 도면들 및 상세한 설명을 참조하여 본 발명의 추가적인 세부 사항들, 특징들 및 이점들이 인식될 수 있다.
도 3을 참조하면, 본 발명의 실시예에 따른, 3×3 커널(302)을 사용한 2-D 이미지 처리의 예시적인 방법이 도시된다. 도 3은 그 위에서 커널(302)이 래스터 모드에서 스캐닝되는 디지털 이미지(300)의 일부를 도시한다.
본원에 사용된 용어 "래스터 모드"는 컨볼루션 또는 상관과 같은 2-D 이미지 처리 연산들 동안 이미지에 걸쳐 커널을 스캐닝하는 라인-바이-라인(line-by-line) 또는 라인-애프터-라인(line-after-line) 패턴을 참조한다. 전형적으로, 커널은 한 번에 한 픽셀씩, 그리고 이미지의 한쪽 에지로부터 반대쪽 에지로 진행되고, 따라서 각각의 새로운 블록이 인접한 블록 내에 있지 않은 픽셀들의 단 하나의 새로운 열만을 포함하는 연속적인 픽셀 블록들을 커버한다. 그러나, 래스터 모드는 스캐닝이 이미지의 모든 단일 라인을 커버하거나, 한 라인으로부터 그것의 다음 인접한 라인으로 일관적으로 움직이도록 반드시 요구하지는 않는다. 예컨대, 래스터 패턴은 이미지의 홀수 라인들을 커버한 후 짝수 라인들을 커버할 수 있다. 래스터 모드는 이미지의 각각의 라인에 대해 특정 스캐닝 방향을 요구하지도 않는다. 더욱이, 본 기술분야의 당업자들은 용어 "열" 및 "라인" 중 하나가 다른 용어와 관련하여 사용될 때 상대적인 중요성을 갖는다는 것을 인식할 것이다. 따라서, 커널이 열 방향으로 스캐닝되고 픽셀 데이터의 새로운 라인들이 프리페치되는 2-D 이미지 처리 구현은 본원에 개시된 본 발명의 범위 내에 있다.
도 3에서, 커널(302)은 래스터 모드에서 이미지(300)에 걸쳐 한 라인씩 스캐닝된다. 커널(302)이 라인 8 상에서 이미지(300)의 우측 에지로 진행됨에 따라, 커널(302)에 의해 커버되는 마지막 완전한 픽셀 블록은 픽셀 Y8에 센터링되며, 그 라인 상에서 페치된 새로운 데이터의 마지막 열은 픽셀들 Z7-9에 대응한다. 픽셀들 Z7-9의 값들은 한 클록 유닛 동안 저장 디바이스(예컨대, 메모리, 입력 버퍼, 또는 선입선출(FIFO) 디바이스)로부터 페치될 수 있다. 본원에 사용된 용어 "클록 유닛"은 파이프라이닝된 이미지 처리 연산들 동안 논리 게이트들 또는 계산 디바이스들에 타이밍 기준을 제공하거나 그것들을 동기화시키는 하나의 완전한 클록 사이클 또는 클록 사이클의 절반과 같은 시간의 단위를 참조한다.
커널이 라인 8 상의 마지막 픽셀(즉, 픽셀 Z8)로 진행됨에 따라, 처리될 다음 픽셀 블록, 블록(304)은 이미지(300)의 우측 에지를 넘어 연장된다. 다르게는 저장 디바이스로부터 페치되어야 할 (열 Z+1 상의, 그리고 픽셀 블록(304) 내의) 픽셀 데이터의 새로운 열은 대신에 이미지(300)의 우측 에지의 대응하는 부분 내의 픽셀들로부터 복제된 값들을 수신할 것이다. 즉, 일 실시예에서, 새로운 열(열 Z+1)은 이전의 클록 유닛에서 이미 페치된 마지막 열(픽셀들 Z7-9)의 값들의 사본일 것이다. 다른 실시예에서, 이미지 프로세서는 새로운 열을 제로들 또는 다른 숫자 값들로 채우도록 구성될 수 있다. 즉, 일반적으로, "새로운" 열(열 Z+1)은 저장 디바이스로부터 페치될 필요가 없는 픽셀 값으로 채워질 것이다. 열 Z+1이 미리 결정된 값(예컨대, 복제된 값들 또는 제로)들로 채워지는 동안, 메모리 대역폭은 저장 디바이스로부터 페치될 새로운 데이터에 대해 이용 가능하다. 따라서, 본 발명의 실시예들은 이 유휴 메모리 대역폭을 활용하며, 이미지의 다음 라인 또는 프레임 상의 픽셀 데이터의 제1 열이 프리페치되도록 할 수 있다. 도 3에 도시된 이 특정 예에서, 라인 8 상의 열 Z+1이 열 Z로부터 복제된 픽셀 값들 또는 간단히 0으로 채워지는 하나의 클록 유닛 동안, 라인 9 상의 제1 열, 픽셀들 A8-10의 픽셀 값들이 저장 디바이스로부터 프리페치될 수 있다.
그 후, 다음 클록 유닛에서, 라인 9 상의 픽셀 데이터의 제2 열이 저장 디바이스로부터 프리페치될 수 있다. 이미지(300)의 좌측 에지를 넘어 연장되는 라인 9 상의 제1 픽셀 블록의 부분은 제1 열(이전의 클록 유닛에서 이미 페치된 픽셀들 A8-10)의 픽셀 값들 또는 제로들로 채워질 수 있다. 지금까지 설명된 타이밍 배열의 결과로서, 이미지 프로세서는 2-D 이미지 처리 연산들이 이미지(300)의 라인 8로부터 라인 9로 전이될 때에도 각각의 하나의 클록 유닛 동안 픽셀 데이터의 단 하나의 새로운 열을 페치할 수 있었다. 그러므로, 다른 계산 단계들과 파이프라이닝되어 일정한 입력 픽셀 레이트에서 수행되는 그러한 메모리 페치는 클록 유닛 당 하나의 출력 픽셀 값의 일정한 출력 레이트를 보장할 수 있다.
도 4는 본 발명의 실시예에 따른, 5×3 커널(402)을 사용한 2-D 이미지 처리의 예시적인 방법을 도시한다. 도 4는 그 위에서 커널(402)이 래스터 모드에서 스캐닝되는 디지털 이미지(400)의 일부를 도시한다.
클록 유닛 T에서 커널(402)의 중심이 픽셀 X8로 진행될 때, 처리될 다음 픽셀 블록, 블록(404)은 픽셀 Y8에 센터링되고 이미지(400)의 우측 에지를 넘어 연장될 것이다. 열 Z+1이 제로 또는 픽셀들 Z7-9로부터 복제된 값들로 채워지는 하나의 클록 유닛 T 동안, 다음 라인(라인 9) 상의 제1 열, 픽셀들 A8-10이 저장 디바이스로부터 프리페치될 수 있다.
다음 클록 유닛 T+1에서, 처리될 다음 픽셀 블록, 406이 픽셀 Z8에 센터링되고 이미지(400)의 우측 에지를 넘어 더 연장될 것이다. 열 Z+2가 제로 또는 픽셀들 Z7-9로부터 복제된 값들로 채워지는 하나의 클록 유닛 T+1 동안, 라인 9 상의 제2 열이 저장 디바이스로부터 프리페치될 수 있다.
다음 클록 유닛 T+2에서, 처리될 다음 픽셀 블록, 408이 픽셀 A9에 센터링될 수 있다. 하나의 클록 유닛 T+2 동안, 라인 9 상의 제3 열이 저장 디바이스로부터 프리페치될 수 있다. 라인 9 상의 열들 A-1 및 A-2는 제로 또는 픽셀들 A8-10의 값들과 같은 미리 결정된 픽셀 값들로 채워질 수 있다.
클록 유닛 T+2의 결말에서, 라인 9 상의 제1 픽셀 블록(408)의 모든 요소들은 커널(402)과의 계산을 위해 준비된다.
본 발명의 실시예들은 소프트웨어, 펌웨어 및/또는 하드웨어로 구현될 수 있다. 가장 바람직하게는, 본 발명의 실시예들은 2-D 컨볼루션 또는 상관 계산 엔진 내에 디지털 이미지 처리 시스템 또는 그래픽 가속 장치의 일부로서 구현된다.
도 5는 본 발명의 실시예에 따른 예시적인 2-D 이미지 처리 엔진(500)을 도시한다.
2-D 이미지 처리 엔진(500)은 픽셀 처리 셀들의 어레이(이 실시예에서는 5×3 어레이), 입력 데이터 인터페이스(502), 셀 간 연산 유닛들(504) 및 타이밍 제어 모듈(506)을 포함한다.
어레이 내의 픽셀 처리 셀들 각각은 2-D 이미지 처리(예컨대, 컨볼루션 또는 상관 연산들) 동안 픽셀 블록에 적용될 커널의 계수 값을 저장하는 데이터 레지스터(예컨대, CA1 및 CB2)와 같은 계수 저장 유닛을 포함한다. 각각의 픽셀 처리 셀은 또한 픽셀 블록의 픽셀 값을 저장하는 데이터 레지스터(예컨대, DA1 및 DB2)와 같은 대응하는 픽셀 저장 유닛을 포함한다. 각각의 픽셀 저장 유닛은 동일한 라인 상의 인접하는 픽셀 처리 셀들의 픽셀 저장 유닛들과 결합된다. 픽셀 처리 셀이 입력측의 에지 열(여기서는 열 E) 내에 있다면, 픽셀 저장 유닛은 새로운 픽셀 데이터를 수신하기 위해 데이터 입력 인터페이스(502)에도 결합된다. 결과로서, 픽셀 값들의 새로운 열은 데이터 입력 인터페이스(502)를 통해 얻어질 수 있고 입력측 에지 열 내의 픽셀 저장 유닛들에 일시적으로 저장될 수 있으며, 픽셀 저장 유닛들의 각각의 열에 이전에 저장된 픽셀 값들은 좌측의 다음 열로 "푸시"되거나 복제될 수 있다. 이 배열은, 픽셀 값들의 열이 데이터 입력 인터페이스(502)로부터 좌측으로 클록 유닛 당 한 열씩 호핑(hopping)하여 전파될 수 있는 데이터 경로를 형성한다. 각각의 클록 유닛의 끝에서, 최좌측 열(여기서는 열 A)의 픽셀 저장 유닛들에 이전에 저장된 픽셀 값들은 겹쳐쓰기되고(overwritten) 따라서 폐기된다.
각각의 픽셀 처리 셀이 중앙 열, 여기서는 열 C 내에 있지 않다면, 그것은 멀티플렉서 유닛("MUX")도 포함한다. 멀티플렉서 유닛은 동일한 셀 내의 픽셀 저장 유닛에 결합되는 하나의 입력부를 갖는다. 게다가, 멀티플렉서 유닛은 동일한 라인 상의 중앙 열 픽셀 저장 유닛 뿐 아니라, 중앙 열 및 현재의 셀 사이에 위치하는 임의의 픽셀 저장 유닛에도 결합되는 입력부들을 갖는다. 결과로서, 어레이의 좌측 또는 우측 에지 상에 위치하지 않는 각각의 열("비 에지 열")에 대해, 그것의 컨텐츠를 외부로 다른 열(들)에 복제하기 위한 데이터 경로들이 생성된다. 본 기술분야의 당업자들에 의해 인식될 수 있는 바와 같이, 멀티플렉서 유닛들이 중앙 열에 있지 않은 셀들에 추가적인 지연을 도입하는 경우, 셀들에 걸쳐 지연들의 균형을 맞추기 위해 지연 요소들이 중앙 열 셀들에 포함될 수 있다.
각각의 픽셀 처리 셀은 동일한 셀 내의 대응하는 계수 저장 유닛으로부터 입력을 수신하는 하나 이상의 셀 내 연산 유닛들(예컨대, 곱셈기와 같은 산술 또는 논리 디바이스들)을 더 포함한다. 셀 내 연산 유닛(들)은 또한 대응하는 픽셀 저장 유닛으로부터 직접 입력을 수신하거나(중앙 열, 열 C) 또는 (비중앙 열들에서와 같이) 멀티플렉서 유닛의 출력부로부터 입력을 수신한다. 셀 내 연산들의 결과들은 출력 픽셀 값과 같은 처리된 출력을 생성하기 위해 셀 간 연산 유닛들(504)(세부 사항들은 도시되지 않음)을 사용하여 더 처리될 수 있다.
2-D 이미지 처리 엔진(500)의 입력 데이터 인터페이스(502)는 픽셀 처리 셀들의 3개의 열들에 대한 새로운 픽셀 값들을 제공하는, 입력 버퍼 및/또는 입력 선입선출(FIFO) 디바이스와 같은 하나 이상의 저장 디바이스들(도시되지 않음)을 어레이에 결합시킨다. 더 상세하게는, 새로운 픽셀 값들은 나머지 열들에 전파되기 전에 입력 라인들(521, 522 및 523)을 통해 입력측 상의 에지 열(여기서는 열 E) 내의 픽셀 저장 유닛들에 입력된다. 예컨대 이미지의 상부 또는 하부 라인을 처리하는 경우, 중앙 행(여기서는 2행)의 픽셀 값들이 비중앙 행들로 복제되는 것을 허용하기 위한 두 개의 멀티플렉서들, MUX1 및 MUX3이 제공된다. 전형적으로, 입력 이미지 픽셀 데이터는 모두 입력 버퍼에 일시적으로 저장되므로, 모든 세 개의 입력 라인들(521, 522 및 523)이 입력 버퍼에 결합된다. 본 발명의 일 실시예에 따라, 입력 라인들 중 하나(예컨대, 하부 행 입력을 피드하는 라인(523))는 IFIFO에 직접 결합되어 픽셀 값들의 한 행의 라이브 피드(live feed)를 수신하므로, 다른 경우에 요구될 버퍼 공간 및 메모리 대역폭의 삼분의 일을 절약한다.
타이밍 제어 모듈(506)은 계수 값들이 계수 저장 유닛들에 저장되는 커널에 대해 이미지의 연속적인 픽셀 블록들을 계산하는 파이프라이닝된 프로세스를 조정한다. 각각의 클록 유닛에서, 타이밍 제어 모듈(506)은 새로운 픽셀 값들의 한 열이 데이터 입력 인터페이스(502)를 통해 픽셀 저장 유닛들 DE1, DE2, 및 DE3 (여기서는 열 E) 내로 페치되도록 한다. 현재 라인 상의 이미지의 에지 열의 픽셀 값들이 에지 열 픽셀 저장 유닛들 (여기서는 열 E) 내로 페치된 후, 다음 클록 유닛(T+1)에서, 타이밍 제어 모듈(506)은 이미지의 다음 라인 상의 제1 열(또는 다음 프레임의 새로운 라인)로 하여금 데이터 입력 인터페이스(502)를 통해 에지 열(여기서는 열 E) 내로 프리페치되도록 할 수 있다. 이제, 이 에지 열의 픽셀 값들은 좌측 인접 열(여기서는 열 D)의 픽셀 저장 유닛들에 복제된다. 그 후, 다음 클록 유닛(T+1)에서, 에지 열의 그러한 픽셀 값들은 셀 내 연산들을 위해 에지 열(여기서는 열 E) 내의 멀티플렉서 유닛들에 의해 선택될 수 있다. 클록 유닛(T+1) 동안, 타이밍 제어 모듈(506)은 다음 라인 상의 제1 열의 픽셀 값들을 좌측 인접 열(여기서는 열 D) 내부로 푸싱하고 현재 라인 상의 에지 열의 픽셀 값들을 다음 좌측 인접 열(여기서는 열 C) 내부로 푸싱함과 동시에 이미지의 다음 라인 상의 제2 열이 데이터 입력 인터페이스(502)를 통해 에지 열(여기서는 열 E) 내부로 프리페치되도록 할 수 있다. 다음 클록 유닛(T+2)에서, 에지 열의 픽셀 값들은 다시 셀 내 연산들을 위해 열 D 및 열 E의 멀티플렉서 유닛들에 의해 선택될 수 있다. 클록 유닛(T+2) 동안, 타이밍 제어 모듈(506)은 다음 라인 상의 제1 및 제2 열들의 픽셀 값들을 두 개의 좌측 인접 열들(여기서는 각각 열 C 및 열 D) 내로 푸싱함과 동시에 이미지의 다음 라인 상의 제3 열이 에지 열(여기서는 열 E) 내부로 프리페치되도록 할 수 있다. 다음 클록 유닛(T+3)에서 2-D 이미지 처리 엔진(500)이 이미지의 다음 라인 상의 제1 픽셀에 대한 계산을 진행할 준비가 되었다는 것을 알 것이다.
도 5에 도시된 2-D 이미지 처리 엔진(500)의 아키텍처는 임의의 커널 크기들을 수용하기 위해 양 차원에서 스케일링 가능하다. 도 6은 본 발명의 실시예에 따른 이미지 처리를 위한 픽셀 처리 셀들의 5×5 어레이를 갖는 예시적인 2-D 컨볼루션 엔진(600)을 도시한다. 2-D 컨볼루션 연산들에 대해, 각각의 픽셀 처리 셀 내의 셀 내 연산 유닛은 곱셈기이며, 셀 간 연산 유닛들은 처리된 출력을 최종 생성하기 위해 모든 곱셈기들의 출력 곱들을 합하기 위해 캐스케이드된 덧셈기(adder)들을 포함한다. 2-D 이미지 처리 엔진(500)보다 많은 행들을 갖는 2-D 컨볼루션 엔진(600)은 그것의 입력 데이터 인터페이스(602) 내에 중앙 행 픽셀 값들을 비중앙 열들에 라우팅하기 위한 추가적인 멀티플렉서들을 포함한다. 타이밍 제어 모듈(606)은 파이프라인된 프로세스의 다양한 요소들의 연산을 조정하며, 입력 픽셀 레이트 및 출력 픽셀 레이트는 전술한 메모리 페치 및 데이터 라우팅 기법들에 따라 일대일 관계를 유지한다.
도 3-6에 예시된 예들로부터, 본 발명의 실시예들은 전형적으로 n 및 m이 둘다 홀수의 정수들인 임의의 n×m 커널 매트릭스를 연속적인 픽셀 블록들에 적용시키는 2-D 이미지 처리 연산들로 구현될 수 있다는 것을 인식할 수 있다. 일부 실시예들에 따라, 본원에 개시된 방법들 및 장치는 n 및 m이 둘다 짝수인 n×m 커널 매트릭스를 수용하기 위해 적응될 수 있다. 게다가, 그러한 2-D 이미지 처리는 컨볼루션 연산에 제한되지 않으며, 2-D 상관 또는 다른 연산들에 적용될 수 있다.
전술한 설명은 많은 세부 사항들 및 특수성들을 포함하는 한편, 이들은 설명의 목적만을 위해 포함되었으며, 본 발명의 제한으로 해석되지 않아야 한다는 것을 이해해야 한다. 본 발명의 정신 및 범위로부터 벗어나지 않으면서 전술한 실시예들에 다른 변형들이 행해질 수 있다는 것이 본 기술분야의 당업자에게 명백할 것이다. 따라서, 그러한 변형들은 뒤따르는 청구항들 및 법적 등가물들에 의해 포괄되는 것으로 의도되는 바와 같이 본 발명의 범위 내에 있는 것으로 간주된다.

Claims (13)

  1. 복수의 픽셀을 갖는 하나 이상의 이미지들을 처리하기 위한 방법으로서,
    이미지의 제1 에지와 제2 에지 사이에서 연속적인 픽셀 블록들을 래스터 모드(raster mode)로 처리하는 단계;
    처리될 다음 픽셀 블록이 상기 제2 에지를 넘어 연장되지 않는 각각의 하나의 클록 유닛 동안,
    상기 다음 픽셀 블록의 하나의 새로운 벡터를 저장 디바이스로부터 페치하는 단계; 및
    처리될 상기 다음 픽셀 블록이 상기 제2 에지를 넘어 연장되는 각각의 하나의 클록 유닛 동안,
    상기 제2 에지를 넘어 위치하는 상기 다음 픽셀 블록 내의 새로운 벡터를 미리 결정된 픽셀 값들로 채우는 단계, 및
    픽셀들의 다음 라인 또는 프레임 상의 제1 픽셀 블록의 하나의 새로운 벡터를 상기 저장 디바이스로부터 페치하는 단계; 및
    상기 각각의 하나의 클록 유닛에서 하나의 출력 픽셀 값을 출력함으로써 메모리 페치들 및 픽셀 출력들의 일정한 레이트를 유지하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    연속적인 픽셀 블록들을 처리하는 상기 단계는 상기 연속적인 픽셀 블록들에 n 및 m이 홀수 정수들인 n×m 커널 매트릭스를 적용하는 단계를 포함하는 방법.
  3. 제1항에 있어서,
    연속적인 픽셀 블록들을 처리하는 상기 단계는 2차원 컨볼루션(convolution) 연산들을 포함하는 방법.
  4. 제1항에 있어서,
    연속적인 픽셀 블록들을 처리하는 상기 단계는 2차원 상관(correlation) 연산들을 포함하는 방법.
  5. 제1항에 있어서,
    상기 미리 결정된 픽셀 값들은 제로들인 방법.
  6. 제1항에 있어서,
    상기 미리 결정된 픽셀 값들은 상기 제2 에지의 대응하는 부분의 픽셀 값들인 방법.
  7. 복수의 픽셀을 갖는 하나 이상의 이미지들을 처리하기 위한 장치로서,
    이미지의 제1 에지와 제2 에지 사이에서 연속적인 픽셀 블록들을 래스터 모드로 처리하기 위한 수단;
    처리될 다음 픽셀 블록이 상기 제2 에지를 넘어 연장되지 않는 각각의 하나의 클록 유닛 동안,
    상기 다음 픽셀 블록의 하나의 새로운 벡터를 저장 디바이스로부터 페치하기 위한 수단; 및
    처리될 상기 다음 픽셀 블록이 상기 제2 에지를 넘어 연장되는 각각의 하나의 클록 유닛 동안,
    상기 제2 에지를 넘어 위치하는 상기 다음 픽셀 블록 내의 새로운 벡터를 미리 결정된 픽셀 값들로 채우고,
    픽셀들의 다음 라인 또는 프레임 상의 제1 픽셀 블록의 하나의 새로운 벡터를 상기 저장 디바이스로부터 페치하기 위한 수단; 및
    상기 각각의 하나의 클록 유닛에서 하나의 출력 픽셀 값을 출력함으로써 메모리 페치들 및 픽셀 출력들의 일정한 레이트를 유지하기 위한 수단을 포함하는 장치.
  8. 제7항에 있어서,
    연속적인 픽셀 블록들을 처리하기 위한 상기 수단은 상기 연속적인 픽셀 블록들에 n 및 m이 홀수 정수들인 n×m 커널 매트릭스를 적용하기 위한 수단을 더 포함하는 장치.
  9. 제7항에 있어서,
    연속적인 픽셀 블록들을 처리하기 위한 상기 수단은 2차원 컨볼루션 연산들을 위한 수단을 더 포함하는 장치.
  10. 제7항에 있어서,
    연속적인 픽셀 블록들을 처리하기 위한 상기 수단은 2차원 상관 연산들을 위한 수단을 더 포함하는 장치.
  11. 제7항에 있어서,
    상기 미리 결정된 픽셀 값들은 제로들인 장치.
  12. 제7항에 있어서,
    상기 미리 결정된 픽셀 값들은 상기 제2 에지의 대응하는 부분의 픽셀 값들인 장치.
  13. 이미지의 제1 에지와 제2 에지 사이에서 연속적인 픽셀 블록들을 래스터 모드로 처리하기 위한 장치로서,
    상기 이미지의 픽셀 값들의 적어도 하나의 입력 스트림을 수신하기 위해 하나 이상의 저장 디바이스들에 결합된 입력 데이터 인터페이스;
    픽셀 처리 셀들의 어레이 - 각각의 셀은,
    2차원 이미지 처리 동안 상기 이미지에 적용될 커널의 계수 값을 저장하는 계수 저장 유닛,
    상기 이미지의 픽셀 값을 저장하는 픽셀 저장 유닛 - 상기 픽셀 저장 유닛은 인접 셀의 다른 픽셀 저장 유닛 또는 상기 입력 데이터 인터페이스에 결합됨으로써 상기 픽셀 값이 상기 입력 데이터 인터페이스를 통해 초기에 수신되고 후속으로 한 벡터로부터 인접한 벡터로 상기 어레이에 걸쳐 전파되도록 허용함 -,
    상기 각각의 셀이 상기 어레이의 중앙 벡터 내에 있지 않다면, 상기 픽셀 저장 유닛, 상기 어레이의 동일선 상의 중앙 벡터 픽셀 저장 유닛, 및 상기 중앙 벡터와 상기 각각의 셀 사이에 위치하는 임의의 픽셀 저장 유닛에 결합되는 입력부들을 갖는 멀티플렉서 유닛, 및
    하나 이상의 셀 내 연산 유닛들을 포함함 -;
    출력 픽셀 값을 생성하기 위해 픽셀 처리 셀들의 상기 어레이로부터의 출력들을 처리하는 셀 간 연산 유닛들; 및
    상기 입력 데이터 인터페이스, 픽셀 처리 셀들의 상기 어레이, 및 상기 셀 내 연산 유닛들의 연산들을 조정하는 타이밍 제어 모듈
    을 포함하며,
    처리될 다음 픽셀 블록이 상기 제2 에지를 넘어 연장되지 않는 각각의 하나의 클록 유닛 동안, 상기 타이밍 제어 모듈은 상기 다음 픽셀 블록의 하나의 새로운 벡터로 하여금 상기 하나 이상의 저장 디바이스들로부터 페치되도록 하고,
    처리될 상기 다음 픽셀 블록이 상기 제2 에지를 넘어 연장되는 각각의 하나의 클록 유닛 동안, 상기 타이밍 제어 모듈은 픽셀들의 다음 라인 또는 프레임 상의 제1 픽셀 블록의 하나의 새로운 벡터가 상기 하나 이상의 저장 디바이스들로부터 페치되도록 하면서 상기 제2 에지를 넘어 위치하는 상기 다음 픽셀 블록 내의 새로운 벡터가 미리 결정된 픽셀 값들로 채워지도록 함으로써 메모리 페치들 및 픽셀 출력들의 일정한 레이트를 유지하는 장치.
KR1020127015561A 2009-11-17 2010-11-02 픽셀 레이트에서의 이미지 처리를 위한 방법 및 장치 KR101617492B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/619,825 US8130229B2 (en) 2009-11-17 2009-11-17 Methods and apparatus for image processing at pixel rate
US12/619,825 2009-11-17

Publications (2)

Publication Number Publication Date
KR20120099075A true KR20120099075A (ko) 2012-09-06
KR101617492B1 KR101617492B1 (ko) 2016-05-02

Family

ID=44010993

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127015561A KR101617492B1 (ko) 2009-11-17 2010-11-02 픽셀 레이트에서의 이미지 처리를 위한 방법 및 장치

Country Status (6)

Country Link
US (5) US8130229B2 (ko)
EP (1) EP2502183A4 (ko)
JP (2) JP5587422B2 (ko)
KR (1) KR101617492B1 (ko)
CN (1) CN102687162B (ko)
WO (1) WO2011062753A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8130229B2 (en) 2009-11-17 2012-03-06 Analog Devices, Inc. Methods and apparatus for image processing at pixel rate
US20120004849A1 (en) * 2010-03-22 2012-01-05 Schlumberger Technology Corporation Efficient windowed radon transform
US20130027748A1 (en) * 2011-07-29 2013-01-31 Canon Kabushiki Kaisha Image processing apparatus
US9760966B2 (en) * 2013-01-08 2017-09-12 Nvidia Corporation Parallel processor with integrated correlation and convolution engine
EP3035204B1 (en) * 2014-12-19 2018-08-15 Intel Corporation Storage device and method for performing convolution operations
US20190096041A1 (en) * 2017-09-25 2019-03-28 Texas Instruments Incorporated Methods and system for efficient processing of generic geometric correction engine
US11145079B2 (en) 2017-09-25 2021-10-12 Texas Instruments Incorporated Method and apparatus for arbitrary output shape processing of an image
US10853923B2 (en) * 2017-09-25 2020-12-01 Texas Instruments Incorporated Method and apparatus for dynamic block partition of an image
US10853909B2 (en) * 2018-11-05 2020-12-01 Fotonation Limited Image processing apparatus
JP7329960B2 (ja) 2019-05-14 2023-08-21 東京エレクトロン株式会社 載置台およびプラズマ処理装置
WO2021077427A1 (zh) * 2019-10-25 2021-04-29 深圳市大疆创新科技有限公司 图像处理方法、设备和可移动平台
CN114567787B (zh) * 2022-02-28 2023-11-03 山东云海国创云计算装备产业创新中心有限公司 一种应用于bmc的视频压缩方法、系统及相关装置

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1182575B (it) 1985-09-27 1987-10-05 Elsag Sistema per realizzare elaborazioni convolutive veloci su informazioni rappresentative di immagini
US5129060A (en) * 1987-09-14 1992-07-07 Visual Information Technologies, Inc. High speed image processing computer
US5109348A (en) * 1987-09-14 1992-04-28 Visual Information Technologies, Inc. High speed image processing computer
US4918742A (en) * 1988-04-22 1990-04-17 The Boeing Company Image processing using multi-pass convolution with small kernels
FR2638871B1 (fr) * 1988-11-09 1994-06-03 Jutand Francis Procede et circuit de filtrage de signal de representation d'image
JP2998388B2 (ja) * 1992-01-22 2000-01-11 日本電気株式会社 画像処理方式
JPH05281155A (ja) * 1992-03-31 1993-10-29 Toshiba Corp パターン欠陥検査装置
EP0576696A1 (en) * 1992-06-29 1994-01-05 International Business Machines Corporation Apparatus and method for high speed 2D/3D image transformation and display using a pipelined hardware
JPH0636024A (ja) * 1992-07-17 1994-02-10 Casio Comput Co Ltd 画像フィルタリング装置
US5546477A (en) * 1993-03-30 1996-08-13 Klics, Inc. Data compression and decompression
US5990904A (en) * 1995-08-04 1999-11-23 Microsoft Corporation Method and system for merging pixel fragments in a graphics rendering system
US5848200A (en) * 1995-08-31 1998-12-08 General Instrument Corporation Method and apparatus for performing two dimensional video convolving
US6049859A (en) * 1996-01-15 2000-04-11 Siemens Aktiengesellschaft Image-processing processor
US5862266A (en) * 1996-06-07 1999-01-19 Hewlett-Packard Company Circuit for sharpening of edges of a pixel image in a color copier
US5936621A (en) * 1996-06-28 1999-08-10 Innovision Labs System and method for reducing flicker on a display
US6408107B1 (en) * 1996-07-10 2002-06-18 Michael I. Miller Rapid convolution based large deformation image matching via landmark and volume imagery
US5926580A (en) * 1997-01-30 1999-07-20 Hewlett-Packard Company Convolution algorithm for efficient hardware implementation
US6803989B2 (en) * 1997-07-15 2004-10-12 Silverbrook Research Pty Ltd Image printing apparatus including a microcontroller
US6618117B2 (en) * 1997-07-12 2003-09-09 Silverbrook Research Pty Ltd Image sensing apparatus including a microcontroller
US7044589B2 (en) * 1997-07-15 2006-05-16 Silverbrook Res Pty Ltd Printing cartridge with barcode identification
US6208772B1 (en) * 1997-10-17 2001-03-27 Acuity Imaging, Llc Data processing system for logically adjacent data samples such as image data in a machine vision system
KR100307883B1 (ko) * 1998-04-13 2001-10-19 박호군 정합화소수를이용한유사도측정방법및이를구현하기위한장치
US6445386B1 (en) * 1999-01-15 2002-09-03 Intel Corporation Method and apparatus for stretch blitting using a 3D pipeline
US6377713B1 (en) * 1999-01-27 2002-04-23 General Instrument Corporation Synchronous DRAM bandwidth optimization for display downsizing of an MPEG-2 image
KR100298327B1 (ko) * 1999-06-30 2001-11-01 구자홍 고속 컨벌루션 처리 방법 및 그 장치
AUPQ377899A0 (en) * 1999-10-29 1999-11-25 Canon Kabushiki Kaisha Phase three kernel selection
US6515672B1 (en) * 1999-12-23 2003-02-04 Intel Corporation Managing prefetching from a data buffer
US7079157B2 (en) * 2000-03-17 2006-07-18 Sun Microsystems, Inc. Matching the edges of multiple overlapping screen images
US6924816B2 (en) * 2000-03-17 2005-08-02 Sun Microsystems, Inc. Compensating for the chromatic distortion of displayed images
US7002589B2 (en) * 2000-03-17 2006-02-21 Sun Microsystems, Inc. Blending the edges of multiple overlapping screen images
US6771272B2 (en) * 2000-03-17 2004-08-03 Sun Microsystems, Inc. Graphics system having a super-sampled sample buffer with hot spot correction
US6690727B1 (en) * 2000-05-08 2004-02-10 Intel Corporation Image processing
US6847370B2 (en) * 2001-02-20 2005-01-25 3D Labs, Inc., Ltd. Planar byte memory organization with linear access
JP2002287681A (ja) * 2001-03-27 2002-10-04 Mitsubishi Electric Corp 部分ホールド型表示制御装置及び部分ホールド型表示制御方法
US6704026B2 (en) * 2001-05-18 2004-03-09 Sun Microsystems, Inc. Graphics fragment merging for improving pixel write bandwidth
ATE378619T1 (de) * 2002-02-27 2007-11-15 Cdm Optics Inc Optimierte bildverarbeitung für wellenfrontkodierte abbildungssysteme
JP2004032510A (ja) * 2002-06-27 2004-01-29 Canon Inc 画像処理方法及び装置
EP1590764A4 (en) * 2002-11-06 2017-05-17 Z Microsystems Visualization Technologies, LLC Systems and methods for image enhancement in multiple dimensions
US7551177B2 (en) * 2005-08-31 2009-06-23 Ati Technologies, Inc. Methods and apparatus for retrieving and combining samples of graphics information
US7583082B1 (en) * 2006-04-19 2009-09-01 University Of Virginia Patent Foundation Partially parallel magnetic resonance imaging using arbitrary k-space trajectories with image reconstruction based on successive convolution operations
US8199359B2 (en) * 2006-04-28 2012-06-12 Kyocera Mita Corporation System and method for reducing visibility of registration errors in an image to be printed using a digital color printer by convolution with a laplacian kernel
JP4789753B2 (ja) * 2006-08-28 2011-10-12 富士通セミコンダクター株式会社 画像データバッファ装置、画像転送処理システム、及び画像データバッファ方法
US8130229B2 (en) 2009-11-17 2012-03-06 Analog Devices, Inc. Methods and apparatus for image processing at pixel rate

Also Published As

Publication number Publication date
KR101617492B1 (ko) 2016-05-02
EP2502183A4 (en) 2013-02-27
JP5587422B2 (ja) 2014-09-10
CN102687162B (zh) 2015-08-26
WO2011062753A1 (en) 2011-05-26
JP5837153B2 (ja) 2015-12-24
EP2502183A1 (en) 2012-09-26
CN102687162A (zh) 2012-09-19
US20150147005A1 (en) 2015-05-28
US8766992B2 (en) 2014-07-01
US8130229B2 (en) 2012-03-06
US20130249923A1 (en) 2013-09-26
US20130342551A1 (en) 2013-12-26
US20110115804A1 (en) 2011-05-19
JP2013511106A (ja) 2013-03-28
JP2014197433A (ja) 2014-10-16
US8441492B2 (en) 2013-05-14
US20120176389A1 (en) 2012-07-12
US8947446B2 (en) 2015-02-03

Similar Documents

Publication Publication Date Title
KR101617492B1 (ko) 픽셀 레이트에서의 이미지 처리를 위한 방법 및 장치
US11847550B2 (en) Sparse convolutional neural network accelerator
CA3070972C (en) Accelerated mathematical engine
US10997496B2 (en) Sparse convolutional neural network accelerator
Gribbon et al. A novel approach to real-time bilinear interpolation
EP3093757B1 (en) Multi-dimensional sliding window operation for a vector processor
US10719295B2 (en) Circuit to perform dual input value absolute value and sum operation
CN108073549B (zh) 卷积运算装置及方法
CN108198125B (zh) 一种图像处理方法及装置
CN109416743B (zh) 一种用于识别人为动作的三维卷积装置
US8938133B2 (en) Image resizing apparatus and method that interpolates image blocks with abuttal regions
Managuli et al. Mapping of two-dimensional convolution on very long instruction word media processors for real-time performance
CN116090518A (zh) 基于脉动运算阵列的特征图处理方法、装置以及存储介质
JP4621944B2 (ja) 画像フィルタ装置、方法およびコンピュータプログラム
CN115965737A (zh) 图像渲染方法、装置、终端设备及存储介质
US20190206019A1 (en) Graphics processing device and graphics processing method
Mao et al. A unified acceleration solution based on deformable network for image pixel processing
Sergienko et al. Image buffering in application specific processors
CN117274029A (zh) 一种lk光流算法的硬件加速方法及系统
Blair et al. Difference of Gaussian Scale-Space Pyramids for SIFT Feature Detection
Saldana et al. Compact FPGA-based systolic array architecture suitable for vision systems
Navarro et al. High-performance VLSI architecture for video processing
Rennie Investigation of a Digital Camera Imaging Pipeline on the RaPiD Array
JP2005149001A (ja) 画像処理装置及び画像処理プログラム
ITTO20100049A1 (it) "procedimento di elaborazione di disparita' fra segnali di immagine"

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