KR20060025582A - 화상 처리를 위한 가변 탭 필터 아키텍처 - Google Patents
화상 처리를 위한 가변 탭 필터 아키텍처 Download PDFInfo
- Publication number
- KR20060025582A KR20060025582A KR1020057025339A KR20057025339A KR20060025582A KR 20060025582 A KR20060025582 A KR 20060025582A KR 1020057025339 A KR1020057025339 A KR 1020057025339A KR 20057025339 A KR20057025339 A KR 20057025339A KR 20060025582 A KR20060025582 A KR 20060025582A
- Authority
- KR
- South Korea
- Prior art keywords
- filter
- data
- mode
- size
- outputs
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims description 19
- 238000000034 method Methods 0.000 claims abstract description 35
- 230000003068 static effect Effects 0.000 claims abstract description 26
- 239000000203 mixture Substances 0.000 claims description 22
- 238000012805 post-processing Methods 0.000 claims description 22
- 238000010606 normalization Methods 0.000 claims description 13
- 238000001914 filtration Methods 0.000 claims description 11
- 238000002156 mixing Methods 0.000 claims description 3
- 101100325756 Arabidopsis thaliana BAM5 gene Proteins 0.000 description 6
- 101150046378 RAM1 gene Proteins 0.000 description 6
- 101100476489 Rattus norvegicus Slc20a2 gene Proteins 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/10—Image enhancement or restoration using non-spatial domain filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명의 일 실시예는 2-D(two-dimensional) 데이터를 필터링하기 위한 장치이다. 제1 필터는 복수의 필터 크기에 대해 픽셀들의 블록의 2-D 데이터를 제1 차원으로 처리한다. 블록은 스와스(swath)를 갖는다. 레지스터 파일은 프로그램가능한 정보에 기초하여 2-D 데이터를 저장한다. 제2 필터는 저장된 2-D 데이터를 제2 차원으로 필터링하여 프로그램가능한 정보에 기초하여 정적 또는 동적 모드들 중 하나의 모드로 필터 출력들을 생성한다. 정적 모드는 필터 출력들을 스와스에 대해 고정된 상태로 놓아두고 동적 모드는 픽셀 기반으로 필터 출력들을 선택한다. 필터 출력들은 제1 및 제2 필터 출력들을 포함한다.
2-D 데이터, 화상 필터링, 스와스, 프로그램성, 픽셀들의 블록, 가속기
Description
본 발명의 실시예들은 화상 처리(image processing) 분야에 관련되고, 더욱 구체적으로는 화상 처리를 위한 필터 아키텍처에 관련된다.
화상 처리는 멀티 미디어 통신, 머신 비전(machine vision), 패턴 인식(pattern recognition), 및 인공 지능(artificial intelligence)에서 많은 중요한 응용들을 가진다. 통상적인 응용에서, 이미지 또는 이미지들의 시네마틱 시퀀스(cinematic sequence)는 전처리(pre-processing), 분할(segmentation), 및 높은 수준의 인터프리테이션(interpretation)을 포함하는 처리 체인(process chain)에서 처리된다. 전처리 단계는 컨텍스트(context)에 독립적인 경향이 있으며, 화질을 개선시키거나 또는 후속 단계들에 대한 데이터의 양을 감소시키기 위한 동작들을 포함한다. 그러한 공통적인 동작 중 하나가 필터링 동작이다.
화상 필터링에 대한 기존의 기술들은 다수의 결점들을 가지고 있다. 먼저, 처리 속도가 실시간 속도로 혹은 실시간 속도와 비슷한 속도로 화상들을 처리하기에 충분히 빠르지 않다. 둘째, 그들은 유연성이 없는 경향이 있어서 다양한 필터 크기들을 수용하지 않을 수 있다. 셋째, 필터링 동작을 위해 파라미터들을 구성하 기 위한 프로그램성(programmability) 지원이 거의 없다. 넷째, 통상적인 화상 처리기에서 그외의 요소들과의 통합에 대한 지원이 부족하다.
본 발명은 본 발명의 실시예들을 도시하기 위해 사용된 첨부 도면들 및 다음의 설명을 참고함으로써 가장 잘 이해될 것이다.
도 1은 본 발명의 일 실시예가 실시될 수 있는 시스템을 도시하는 도면.
도 2는 본 발명의 일 실시예에 따른 가속기를 도시하는 도면.
도 3은 본 발명의 일 실시예에 따른 픽셀들의 블록을 도시하는 도면.
도 4A는 본 발명의 일 실시예에 따른 프로그램가능한 레지스터들의 세트를 도시하는 도면.
도 4B는 본 발명의 일 실시예에 따른 소스 GPR의 형식을 도시하는 도면.
도 5는 본 발명의 일 실시예에 따른 제1 필터를 도시하는 도면.
도 6은 본 발명의 일 실시예에 따른 후처리 유닛(post processing unit)을 도시하는 도면.
본 발명의 일 실시예는 2차원(2-D) 데이터를 필터링하기 위한 장치이다. 제1 필터는 복수의 필터 크기에 대해 픽셀들의 블록의 2-D 데이터를 제1 차원으로 처리한다. 블록은 스와스(swath)를 갖는다. 레지스터 파일은 프로그램가능한 정보에 기초하여 2-D 데이터를 저장한다. 제2 필터는 저장된 2-D 데이터를 제2 차원으로 필터링하여 프로그램가능한 정보에 기초하여 정적 또는 동적 모드들 중 하나로 필터 출력을 생성한다. 정적 모드는 필터 출력들을 스와스에 대해 고정된 상태로 놓아두고 동적 모드는 픽셀 기반으로 필터 출력들을 선택한다. 필터 출력은 제1 및 제2 필터 출력들을 포함한다.
다음의 설명에서, 수많은 특정한 세부사항들이 설명된다. 그러나, 본 발명의 실시예들이 이러한 특정한 세부사항들 없이도 실시될 수 있다는 것이 이해되어야 한다. 그외의 경우들에서, 공지의 회로들, 구조들 및 기술들은 본 설명의 이해를 모호하게 하지 않기위해 나타내지 않았다.
도 1은 본 발명의 일 실시예가 실시될 수 있는 시스템(100)을 도시하는 도면이다. 시스템(100)은 입력 픽셀 스트림(105), 미디어 프로세서(110), 메모리(130), 버스(140), 호스트 프로세서(150), 호스트 메모리(160), 입력/출력(I/O) 인터페이스들(170), 네트워크 인터페이스(180), 및 대용량 저장소(190)를 포함한다.
입력 픽셀 스트림(105)은 화상 데이터를 화상 센서들 또는 그외의 처리 요소들에 의해 제공되는 것으로서 나타낸다. 화상 데이터는 디지털 복사기, 스캐너, 카메라, 프린터, 또는 임의의 그외의 다기능 주변장치들(multi-function peripheral)로부터 올 수 있다. 미디어 프로세서(110)는 화상 처리 및 그외의 미디어 동작들에 최적화된 고성능 프로세서이다. 미디어 프로세서(110)는 데이터 구동의, 공유 레지스터 아키텍처를 구현한다. 일 실시예에서, 미디어 프로세서(110)는 16 비트의 데이터 경로 및 260㎒를 넘는 코어(core) 주파수를 가진다. 그것은 이미지 신호 처리기(ISP)(115)와 같은 다수의 이미지 신호 처리기들을 포함한다. 이러한 ISP들은 프로그램가능한 포트들을 통해 서로 접속된다. ISP(115)는 다수의 처리 소자들(PE's), 범용 레지스터들(GPR's), 내부 랜덤 액세스 메모리(RAM), 로컬 데이터 메모리에의 액세스들을 능률적으로 하기 위한 MCH(memory command handler), 및 다수의 하드웨어 가속기들을 포함한다. 각 ISP는 특별한 작업에 대해 최적화되고 ISP 내의 하드웨어 가속기는 그러한 최적화를 제공한다. 하드웨어 가속기에는 (1) 2-D 가변 탭 필터들(variable tap filters), (2) 바이 레벨의 텍스트 인코더/디코더(bi-level text encoder/decoder), 및 (3) 허프만 인코더/디코더(Huffman encoder/decoder)의 세 가지 유형이 있다. 가속기(120)는 2-D 가변 탭 필터(VTF)로 사용된다.
메모리(130)는 고속 데이터 저장을 제공한다. 그것은 DDR(dual data rate) SDRAM(synchronous dynamic random access memory)로서 구현될 수 있다. 일 실시예에서, DDR 메모리 포트들은 1 Gbyte/sec를 넘는 데이터 전송 대역폭을 제공한다. 버스(140)는 미디어 프로세서(110)와 호스트 시스템 사이의 인터페이스를 제공한다. 일 실시예에서, 버스(140)는 33/66MHz의 주파수에서 동작하는 PCI(Peripheral Component Interconnect) 버스이다.
호스트 프로세서(host processor)(150)는 임베디드 프로세서들, 모바일 프로세서들, 마이크로 컨트롤러들, 디지털 신호 프로세서들, 수퍼스칼라 컴퓨터들(superscalar computers), 벡터 프로세서들(vector processor), SIMD(single instruction multiple data) 컴퓨터들, CISC(complex instruction set computers), RISC(reduced instruction set computers), VLIW(very long instruction word), 또는 하이브리드 아키텍처(hybrid architecture)와 같은 임의의 유형의 아키텍처의 CPU(central processing unit)를 나타낸다.
호스트 메모리(160)는 시스템 코드 및 데이터를 저장한다. 호스트 메모리(160)는 통상적으로 DRAM(dynamic random access memory) 또는 SRAM(static random access memory)으로 구현된다. 호스트 메모리(160)는 본 발명의 일 실시예를 구현하는 프로그램 코드 또는 코드 세그먼트들(segments)을 포함할 수 있다. 호스트 메모리(160) 내의 화상 처리 프로그램은 프로세서(150)에 의해 실행될 때 미디어 프로세서(110)에 대해 마이크로코드 다운로드(downloading microcode), 레지스터 구성(register configuration), 레지스터 초기화(register initialization), 인터럽트 서비스 등을 포함하는 작업 또는 동작들을 프로세서(150)가 수행하게 하는 명령어들을 포함할 수 있다. 호스트 프로세서(150)는 화상 데이터의 업로드 및 다운로드를 위한 인터페이스도 제공할 수 있다.
I/O 인터페이스들(170)은 USB(Universal Serial Bus), IEEE(Institute of Electrical and Electronics Engineers) 1394, 병렬 포트, 오디오(예를 들면, 전화) 등과 같은, I/O 장치들에 대한 다수의 인터페이스들 또는 버스 인터페이스들을 제공한다. 네트워크 인터페이스(180)는 네트워크에 인터페이스를 제공한다. 네트워크는 인터넷, 인트라넷(intranet), 엑스트라넷(extranet), Wi-Fi(wireless fidelity), LAN(local area network), WAN(wide area network) 등과 같은 임의의 적절한 네트워크이다.
대용량 저장 디바이스(190)는 코드, 프로그램들, 파일들, 데이터, 데이터베이스들, 응용들, 및 운영 체제들과 같은 아카이브(archive) 정보를 저장한다. 대용량 저장 디바이스(190)는 CD ROM(192), DVD(193), 플로피 드라이브(194), 및 하드 드라이브(196)와, 테이프 드라이브, 테이프 라이브러리, RAID(redundant arrays of inexpensive disks) 등과 같은 임의의 그외의 자기 또는 광 저장 디바이스들을 포함할 수 있다. 대용량 저장 디바이스(190)는 시스템 접속가능 매체를 판독하기 위한 메카니즘을 제공한다. 시스템 접속가능 매체는 이하에서 설명되는 바와 같은 작업들을 수행하기 위한 컴퓨터가 판독할 수 있는 프로그램 코드를 포함할 수 있다.
도 2는 본 발명의 일 실시예에 따른 가속기(120)를 도시하는 도면이다. 가속기(120)는 버스(215), 프로그램가능한 레지스터들의 세트(210), 소스 GPR(220), 내부 버스(225), RAM(230), 제1 필터(240), 레지스터 파일(250), 제2 필터(260), 후처리 유닛(270), 및 목적지 GPR(280)을 포함한다.
가속기(120)는 선형 계수들을 갖는 고속 스무딩 트라이앵귤러 2-D 필터(high-speed smoothing triangular 2-D filter)로서 구현될 수 있다. 그것은 2-D 3x3(F3), 5x5(F5), 7x7(F7), 9x9(F9), 및 11x11(F11) 필터링을 수행할 수 있다. 본 기술분야의 당업자에게 알려진 바와 같이, 그외의 필터 크기들도 수용될 수 있다.
버스(215)는 미디어 프로세서의 모든 주요 유닛들을 가속기(120)에 접속시킨다. 그것은 호스트 프로세서(150)가 프로그램가능한 레지스터들(210)을 프로그램하고 RAM(230)을 액세스할 수 있게 한다. 프로그램가능한 레지스터들(210)의 세트는 가속기(120)의 동작들을 설정 및 구성하기 위한 프로그램가능한 정보를 담고 있는 다수의 레지스터들을 포함한다.
소스 GPR(220)은 내부 버스(225)를 경유하여 RAM(230)에 입력을 제공하는데 사용된 범용 레지스터들 중 하나이다. RAM(230)은 GPR(240)로부터 화상 데이터를 수신하여 열 방향 방식으로 저장하기 위한 버퍼 메모리이다. 본 기술분야의 당업자에게 알려진 바와 같이, 데이터는 행 방향 방식으로도 저장될 수 있다. RAM(230)은 버스(215)를 경유하여 액세스 가능하다. 그것은 대역폭을 증가시키기 위해 두 개의 동일한 메모리 뱅크들, RAM0 및 RAM1을 가진다. 각 메모리 뱅크는 1K x 16이고 버스(215)에 의해 판독/기입 동작 중의 선택에 사용되는 그 자신의 어드레스를 갖는다. RAM(230)에서의 판독 및 기입 동작들은 프로그램가능한 레지스터들(210) 내의 우선순위 설정에 의해 제어된다. 어드레스 생성기(235)는 제1 필터(240)에 데이터를 제공하기 위해 RAM(230)에 적당한 어드레싱을 제공한다.
제1 필터, 즉 스테이지 Ⅰ 필터(240)는 다양한 필터 크기에 대해 픽셀들의 블록에 있는 2-D 데이터를 제1 차원으로 처리한다. 블록은 폭과 스와스를 가지고 있다. 일 실시예에서, 제1 차원은 수평 차원이다. 레지스터 파일(250)은 프로그램가능한 레지스터들(210)의 세트에 의해 제공된 프로그램가능한 정보에 기초하여 2-D 데이터를 저장한다. 예를 들면, 이것은 프로그램가능한 정보의 뱅크 선택 비트들에 따라, 저장된 데이터를 제2 필터(260)에 제공한다. 또한, 레지스터 파일(250)에 저장된 데이터의 세트가 제2 필터로 보내지는 순서는 휘도인가 색차인가: 즉 데이터 RGB 세트가 처리되는지의 여부에 따른다.
제2 필터, 즉 스테이지 Ⅱ 필터(260)는 저장된 2-D 데이터를 제2 차원으로 필터링하여 프로그램가능한 정보에 기초하여 정적 또는 동적 모드들 중 하나로 필터 출력들을 생성한다. 본질적으로, 제1 및 제2 필터들(250 및 260)은 각 차원을 개별적으로 처리하기 위한 분리가능 필터들을 구현한다. 일 실시예에서, 제2 차원은 수직 차원이다. 필터 출력들은 제1 및 제2 필터 출력들을 포함한다. 제2 필터(260)는 동시에 제1 및 제2 필터 출력들을 생성하기 위한 두개의 동일한 유닛들을 갖는다. 한 유닛은 저차(lower order)의 필터를 위한 것이고 다른 유닛은 고차의 필터를 위한 것이다. 일 실시예에서, 저차 필터 및 고차 필터 출력들은 19비트이고, 추가의 처리를 위해 후처리 유닛(270)으로 보내진다. 정적 모드는 필터 출력들을 스와스에 대해 고정된 상태로 놓아두고, 동적 모드는 픽셀 기반으로 필터 출력들을 선택한다.
후처리 유닛(270)은 프로그램가능한 정보에 따라 제1 및 제2 필터 출력들 중 적어도 하나에 후처리 동작을 수행한다. 일 실시예에서, 후처리 동작은 정규화(normalization), 블렌드 동작, 데이터 부가 동작 등 중 임의의 동작일 수 있다. 목적지 GPR(280)은 내부 버스(225)를 통해 후처리 유닛(270)에 의해 처리된 데이터를 수신한다.
도 3은 본 발명의 일 실시예에 따른 픽셀들의 블록을 도시하는 도면이다. 픽셀들의 블록은 폭 W 및 스와스 높이 H를 갖는 블록을 보여준다. 데이터는 열 방향으로 판독된다.
픽셀 데이터가 열 형식으로 입력되지만, 픽셀의 서로 다른 성분들의 순서는 구성가능하다. 입력 구성들은 단일 열 또는 4열 형식을 지원할 수 있다. 또한, 그것은 단일 성분, 2성분, 및 3성분 유형들도 지원할 수 있다. L을 색차(chrominance) 데이터, R 및 G를 적 및 녹 성분들, a 및 b가 색차 데이터의 서브 샘플링된 성분들이라고 하자. 입력 구성은 표 1A에서 보여지는 바와 같을 수 있다.
픽셀들의 블록은 4열 및 3성분 형식의 교호적인 열 데이터 LaLb, LaLb, ..., LaLb를 보여준다. 스와스 높이는 1에서 64까지 프로그램가능하다.
단일 열 단일 성분 모드의 경우에, 구현되는 필터에 관계없이, 데이터가 11번째 열까지 이용가능하면, 필터는 6번째 열에서부터 시작한다. 그래서, 출력은 [x-10]*[y-10] 의 크기이고, 여기서 x*y가 원래의 크기이다.
단일 열 2성분 모드의 경우에, 구현되는 필터에 관계없이, 데이터가 21번째 열까지 이용가능하면, 필터는 11번째 열에서부터 시작한다. 그래서, 출력은 [x-20]*[y-10] 의 크기이고, 여기서 x*y는 원래의 크기이다.
단일 열 3성분 모드의 경우에, 구현되는 필터에 관계없이, 데이터가 23번째 열까지 이용가능하면, 필터는 13번째 열에서부터 시작한다. 그래서, 23개 열들이 이용가능할 때 13번째 열에 대응하는 데이터의 제1세트가 나타나고, 이것은 [x - 22]로 주어진다. 이 등식은 출력의 제1 열에 대한 초기 조건 동안만 효력이 있다. 그러나, 그 후 14번째 열에 대응하는 출력 데이터의 다음 세트는 26번째 열까지의 데이터가 이용가능할 때 나타날 것이다. 또한 더욱, 가속기에 기입되는 더 이상의 데이터 없이 15번째 열에 형성된 필터에 대응하여 출력 데이터의 또 다른 열이 나타날 것이다. 그래서, 이러한 방향으로부터의 출력 패턴은 [w-23]*[y-10] 의 크기이고, 여기서 x*y는 원래의 크기이고 w=[x - x mod 2]이다. 이 등식은 필터가 13번째 열까지는 데이터가 부족하여 시작할 수 없기 때문에 우선 처음에는 12열이 잘리고, 끝에서 10열이 잘려, 22개의 열이 잘린다는 것을 말해준다.
4열 단일 성분 모드의 경우에, 구현되는 필터에 관계없이, 데이터가 11번째 열까지 이용가능하면, 필터는 6번째 열에서부터 시작한다. 그러나, 입력이 4열 유형이기 때문에, 열 수는 4씩 증가할 수 있다. 따라서, 12열이 이용가능하면, 필터는 6번째 열에서 시작한다. 그러므로, 출력은 [w-10]*[y-10] 의 크기이고, 여기서 x*y는 원래의 크기이고 w=[x - x mod 4]이다.
4열 3성분 모드의 경우에, 구현되는 필터에 관계없이, 데이터가 23번째 열까지 이용가능하면, 필터는 13번째 열에서부터 시작한다. 그러나, 입력이 4열 유형이기 때문에, 열 수는 4씩 증가할 수 있다. 따라서, 24열들이 이용가능할 때, 필터는 13번째 열에서 시작한다. 그러므로, 출력은 [w-22]*[y-10] 의 크기이고, 여기서 x*y는 원래의 크기이고 w=[x - x mod 4]이다.
이 설명의 요약이 아래 표 1B에 주어진다:
도 4A 는 본 발명의 일 실시예에 따른 프로그램가능한 레지스터들(210)의 세트를 도시하는 도면이다. 세트(210)는 MREG0(410), MREG1(420), MREG2(430), MREG3(440), MREG4(450), RAM0(460) 및 RAM1(461)을 포함한다. 각 레지스터는 16비트이고 호스트 프로세서(150)의 주소 공간으로 매핑될 수 있다.
MREG0(410)는 정규화 선택(NORM), 가중(weight), 하이 필터 모드, 로우 필터 모드, 판독/기입 우선순위, 블렌드 선택, 절전 선택(ON), 및 리셋(SR)을 포함한다. 정규화 선택은 필터 출력을 정규화되도록 또는 비정규화되도록 설정하는데 사용된다. 만약 정규화가 어서트되면(asserted), 정규화된 출력이 목적지 GPR로 보내진다. 정규화가 어서트되지 않으면, 비정규화된 로우 필터 출력이 목적지 GPR로 보내진다. 가중은 블렌드 가중을 정의하기 위해 사용된다. 표 2에서 보여지는 바와 같이, 두 개의 가중 비트들에 대응하는 네 가지의 블렌드 유형들이 있다. FL은 로우 필터 출력이고 FH는 하이 필터 출력이다. 블렌드 증분들은 기본적으로 25%의 배수들이다. 예를 들면, 블렌드 옵션 01에 대해, 출력은 FL의 75% 더하기 FH의 25%이다.
하이 필터 모드 비트들은 하이 필터 유닛의 필터 구현을 선택하고 로우 필터 모드 비트들은 도 2에서 보여진 제2 필터(260)의 로우 필터 유닛의 필터 구현을 선택한다. 각각의 필터는 이러한 모드 비트들에 따라 동적이거나 정적일 수 있다. 일 실시예에서, 선택은 표 3에서 보여진다.
판독/기입 우선순위 비트들은 도 2에서 도시된 RAM(230)에서의 판독과 기입 사이에서의 우선순위를 결정한다. 판독/기입 비트들은 표 4에 정의된다.
만약 기입이 더 높은 우선순위를 가지면, RAM 기입 동작은 충분한 공간이 없거나 이용 가능한 데이터가 더 이상 없을 때까지 진행될 것이다. 그 후, 판독 동작이 일어날 수 있다. 만약 판독이 더 높은 우선순위를 가지면, 기입들은 판독을 유지하기에 충분할 정도로만 허용된다.
블렌드 비트는 제2 필터 출력들이 블렌드되었는지 아닌지의 여부를 판정한다. 제2 필터(260)는 제1 및 제2 필터 출력들을 동시에 생성한다. 만약 블렌드 비트가 어서트된다면, 그 후 후처리 유닛(270)은 뱅크 선택 정보에 따라 이들 두 출력들을 함께 블렌드하고 정규화한 다음 목적지 GPR로 보낸다. 만약 블렌드 비트가 취소되면, 양쪽의 필터 출력들은 블렌드되지 않고 정규화 후 곧바로 목적지 GPR로 보내진다.
절전 선택 비트는 리셋할 때 및 RAM이 절전 모드로 될 때 가속기(120)의 모든 서브 유닛들을 정지시킨다. 이 비트가 온 상태로 되는 경우에, 가속기(120)는 그것의 정규 동작을 다시 시작한다. 리셋 비트, SR은 전체 가속기(120)를 리셋한다.
MREG1(420)은 DVSET1 및 SWTH HGHT를 포함한다. DVSET1 비트들은 목적지 GPR의 CV 비트들을 설정하는데 사용된다. SWTH HGHT 비트들은 스와스 높이를 결정한다. 높이는 1에서 64의 범위가 될 수 있다.
MREG2(430)는 입력 형식, 입력 모드, GPR DST 선택, 및 GPR SRC 선택을 포함한다. 입력 형식 비트들은 표 5에 나타낸 바와 같이 입력 픽셀 데이터가 단일 성분, 2성분, 또는 3성분 형식인지를 정의한다.
입력 모드 비트는 표 6에 나타낸 바와 같이 입력이 단일 열인지, 2열인지, 또는 4열인지를 정의한다.
GPR DST 비트들은 후처리 유닛(270)의 출력이 기입되는 범용 레지스터(280)를 결정한다. GPR SRC 비트는 어떤 범용 레지스터가 RAM(230)에 대한 소스로서 사용되었는지를 결정한다.
MREG3(440)는 버스(215)가 판독/기입하는 어드레스를 저장한다. RAM ADDR를 사용한 RAM(230)에 대한 각 액세스 후에 어드레스는 증가된다. MPEG4(450)는 열 완료 조건 동안 사용될 DV 세트 비트들 및 열 완료 인에이블(CC_EN) 비트를 저장한다. 열 처리의 마지막에, CC_EN 비트가 어서트되면, 그 후 열의 최종 출력에 (MREG1(420)에서) DVSET1 대신에 DVSET2가 추가된다. 만약 CC_EN 비트가 부정되면(negated), 항상 DVSET1이 추가된다.
RAM0(460)은 RAM0 뱅크에 기입될 또는 RAM0 뱅크로부터 판독될 데이터를 RAM(230)에 저장한다. RAM1(470)은 RAM(230)의 RAM1 뱅크로 기입될 또는 RAM(230)의 RAM1 뱅크로부터 판독될 데이터를 저장한다. RAM0/RAM1 뱅크의 위치는 MREG3(440)에 있다.
도 4B는 본 발명의 일 실시예에 따른 소스 GPR의 형식(480)을 도시하는 도면이다. 형식(480)은 입력 픽셀 데이터 및 뱅크 선택 정보를 포함한다.
형식(480)은 RAM(230)으로 판독되는 소스 GPR의 형식이다. 뱅크 선택 정보는 상위 8비트를 점유하는 반면, 입력 픽셀 데이터는 하위 8 비트를 점유한다. 뱅크 선택 정보는 필터 모드 및 가중을 포함한다. 가중 비트들은 표 2에서 보여진 바와 같이 블렌드 가중을 결정하는데 사용된다. 필터 모드 비트들은 이 비트들이, 구현된 필터들을 결정하는 동적 뱅크 선택 모드동안 사용된다. 동적 뱅크 선택 모드는 표 3에서 나타낸 바와 같이 MREG0(410)의 필터 모드 비트를 "111"로 설정함으로써 선택된다. 두 가지 유형의 뱅크 선택 모드, 정적 뱅크 선택 모드와 동적 뱅크 선택 모드가 있다.
정적 뱅크 선택 모드에서, 각 필터의 차수(즉, 로우 또는 하이)는 특정한 뱅크 선택에 설정되고, 스와스의 끝까지 변하지 않고 남아있다. 각 차수(즉, 로우 또는 하이)의 뱅크 선택은 서로 독립적이다. 예를 들면, "F11"은 저차 필터에, "SRC"는 고차 필터에 할당(assign)될 수 있다. 각 필터 차수의 뱅크 선택은 MREG0(410)의 로우 필터 모드 및 하이 필터 모드 비트들에 의해 제어된다.
동적 뱅크 선택 모드에서, 입력 데이터와 함께 공급된 필터 모드는 로우/하이 필터에서 구현된 필터를 제어한다. 이 경우 구현된 필터는 입력 데이터에 따라 변화한다. 이러한 모드는 MREG0(410)의 필터 모드 비트들을 "111"로 설정함으로써 선택된다.
가속기(120)의 각 필터 차수는 정적 뱅크 선택 모드 또는 동적 뱅크 선택 모드 중 한 쪽에서 동작할 수 있다. 이것은 표 7에서 나타낸 바와 같이 4개의 서로 다른 시나리오들을 발생시킨다.
경우 1에서는, 차수 필터들은 두 쪽 다 정적이다. 저차 및 고차 필터에서 구현된 필터는 서로 독립적이다. 각 필터 차수의 뱅크 선택은 MREG0(410)의 저차 필터 모드 및 고차 필터 모드 비트들에 의해 제어된다. 블렌드 모드의 경우에, 저차 필터가 정적이기 때문에, MREG0(410)에서 정의된 정적 가중 비트들이 사용된다.
경우 2에서는, 저차 필터는 동적 뱅크 선택 모드에 있는 반면, 고차 필터는 정적 뱅크 선택 모드에 있다. 이 경우에, 저차 필터에서 구현된 필터는 공급되는 입력 데이터에 따라 변하는 반면, 고차 필터는 스와스 전체에서 동일하게 남아있는다. 따라서, 저차 및 고차 필터에서 구현된 필터는 서로 독립적이다. 이 경우에, MREG0(410)의 로우 필터 모드 비트들은 동적 모드에서 동작하도록 "111"로 설정되는 한편, 고차 필터에서 사용된 정적 뱅크 선택은 MREG0(410)의 하이 필터 모드 비트들에 의해 결정된다. 표 8은 입력 데이터의 필터 모드 비트들[15:13]의 서로 다른 비트 값들에 대해 저차 필터에서 구현된 필터를 나타낸다. 블렌드 모드의 경우에, 저차 필터가 동적이기 때문에, 입력 데이터와 함께 공급된 동적 가중 비트들이 사용된다.
경우 3에서, 고차 필터가 동적 뱅크 선택 모드에 있는 반면, 저차 필터는 정적 뱅크 선택 모드에 있다. 이 경우에, 고차 필터에서 구현된 필터는 공급된 입력 데이터에 따라 변하는 반면, 고차 필터는 스와스 전체에서 동일하게 남아있는다. 따라서, 저차 및 고차 필터에서 구현된 필터는 서로 독립적이다. 이 경우에, MREG0(410)의 하이 필터 모드 비트들은 동적 모드에서 동작하도록 "111"로 설정되는 한편, 저차 필터에서 사용된 정적 뱅크 선택은 MREG0(419)의 로우 필터 모드 비트들에 의해 결정된다. 표 9는 입력 데이터의 필터 모드 비트들[15:13]의 서로 다른 비트 값들에 대해 고차 필터에서 구현된 필터를 나타낸다. 주의할 것은, 입력 데이터의 동일한 필터 모드 비트들에 대한 저차 및 고차 필터에서의 구현된 필터에 있어서의 차이점이다. 블렌드 모드의 경우에, 저차 필터가 정적이기 때문에, MREG0(410)에서 정의된 정적 가중 비트들이 사용된다.
경우 4에서, 고차 및 저차 필터는 모두 동적 모드에 있다. 이 경우에, 고차 및 저차 필터 양측에서 구현된 필터는 공급되는 입력 데이터에 따라 변한다. 따라서, 이 경우에만, 저차 및 고차 필터에서 구현된 필터는 서로 연관된다. 이 경우에, MREG0(410)의 하이 및 로우 필터 모드 비트들은 양쪽 다 "111"로 설정된다. 표 10은 입력 데이터의 필터 모드 비트들[15:13]의 서로 다른 비트 값들에 대해 저차 및 고차 필터에서 구현된 필터를 보여준다. 블렌드 모드의 경우에, 저차 필터가 동적이기 때문에, 입력 데이터에 공급된 동적 가중 비트들이 사용된다.
도 5는 본 발명의 일 실시예에 따른 제1 필터(240)를 도시하는 도면이다. 제1 필터(240)는 가산기(510)를 포함한다.
가산기(510)는 데이터를 수평적으로 필터링한다. 이것은 부분적인 필터 출력을 생성하기 위해 두 개의 입력을 출력과 함께 가산하는 순환 가산기이다. 소스(SRC)로부터 시작하여, 그 다음 F3, F5, F7, F9 및 F11로의 모든 클럭 사이클 후에 각 필터 출력은 차례로 연속적으로 이용 가능하다.
데이터의 행이 열 번호 1에서 열 번호 32까지 L1, a1, L2, b1, L3, a2, L4, b2, L5, a3, L6, b3, L7, a4, L8, b4, L9, a5, L10, b5, L11, a6, L12, b6, L13, a7, L14, b7, L15, a8, L16, b8의 순서로 픽셀을 포함한다고 가정하자. 가산될 데이터의 순서는 3가지 경우들에 대해 보여진다. 시퀀스(520과 525)는 중심 픽셀로서 L7을 갖는 L 데이터에 대한 것이다. 시퀀스(530과 535)는 중심 픽셀로서 a4에 대한 것이다. 시퀀스(540과 545)는 중심 픽셀로서 b4에 관한 것이다.
제1 필터는 레지스터 파일(250)에 대응하는 픽셀의 뱅크 선택 정보도 보낸다.
도 6은 본 발명의 일 실시예에 따른 후처리 유닛(270)을 도시하는 도면이다. 후처리 유닛(270)은 승산기(multiplier)들(620, 625), 바렐 시프터 다중화기들(barrel shifter multiplexers)(630, 635), 레지스터(640), 승산기들(650, 655), 가산기들(660, 670, 675, 680), 및 멀티플렉서들(685, 690)을 포함한다.
후처리 동작들은 정규화 및 블렌드 동작을 포함한다. 정규화된 데이터 출력의 경우에, 저차 및 고차 필터 출력들(610 및 615)은 승산기들(620 및 627)에 의해 필터링에 따른 적절한 상수들(522 및 527)이 곱해짐으로써 정규화되고, 그 다음에 바렐 시프터(630 및 635)에 의해 적절하게 시프트되어 정규화된 11비트의 데이터를 얻는다. 사용된 상수들은 표 11에서 보여진다. 그 후 정규화된 데이터는 후 데이터 처리 유닛의 모드 레지스터 MREG0 셋업에 따라 함께 보간(interpolate)된다. 예를 들면, 만약 MREG0(2)가 '1'이면 제2 필터(260)로부터의 2 필터 출력들이 서로 보간되고, 또는 '0'이었다면, 두 필터 출력들은 모두 보간없이 보내진다. 만약 MREG0(2)가 '1'이면, 11비트 폭인, 제2 필터로부터의 두 필터 출력은 BNKSEL 데이터의 전송된 가중 비트들, 즉 BNKSEL(4:3)에 따라 보간된다. 보간 후 최후의 출력은 치우치지 않게 8비트로 라운딩(rounding)된다.
만약 MREG0(2)가 리셋되면, 제2 필터(260)로부터의 폭 11비트의 두 필터 출력들은 치우치지 않게 8 비트로 라운딩되고, 저차 필터 유닛이 하위 8비트를 점유하고 고차 필터 유닛이 상위 8비트를 점유하는 16비트 폭의 출력 데이터로 함께 묶여서 목적지 GPR로 보내진다.
비정규화된 데이터 출력의 경우에, 19 비트폭의 저차 필터 출력은 그 다음에 (필터링에 따라서) 적절하게 트리밍(trim)되어, 목적지 GPR로 보내지는 16 비트 출력을 얻는다. 정규화된 데이터 출력과 비정규화된 데이터 출력 사이의 선택은 MREG0(13) 비트를 사용하여 행해진다.
후처리 후에, 필터링된 결과에 DV 비트들이 추가되어, 그 다음에 목적지 GPR에 기입된다. 어느 DV 세트가 추가될 것인지의 선택은 MREG4의 CC_EN 비트에 따른다. 열의 마지막 출력이 GPR에 기입되어야만 하고 만약 CC_EN 비트가 설정되면, MREG4에 저장된 DVSET2 비트들이 추가된다. 모든 그외의 경우 중에, MREG1에 저장된 DVSET1 비트들이 추가된다. DVSET 비트들의 토글링은 새로운 열의 시작에 대해 PE들을 신호하도록 행해진다.
본 발명이 몇몇 실시예들에 관해서 기술되었지만, 본 기술분야의 당업자들은 본 발명이 기술된 실시예들에 제한되지 않고, 첨부된 청구항들의 사상 및 범위 안에서 변형 및 변경되어 실시될 수 있다는 것을 인식할 것이다. 따라서 본 명세서는 제한하는 것 대신 예시적인 것으로 여겨져야 한다.
Claims (30)
- 복수의 필터 크기에 대해 픽셀들의 블록에 있는 2-D 데이터(two-dimensional data)를 제1 차원으로 처리하는 제1 필터;상기 제1 필터에 연결되어 있으며, 프로그램가능한 정보에 기초하여 상기 2-D 데이터를 저장하는 레지스터 파일; 및상기 레지스터 파일에 연결되어 있으며, 상기 저장된 2-D 데이터를 제2 차원으로 필터링하여 상기 프로그램가능한 정보에 기초하여 정적 및 동적 모드들 중 하나로 필터 출력들을 생성하는 제2 필터를 포함하고,상기 블록은 스와스를 가지며, 상기 정적 모드는 상기 필터 출력들을 상기 스와스에 대해 고정된 상태로 놓아두고, 상기 동적 모드는 픽셀 기반으로 상기 필터 출력들을 선택하고, 상기 필터 출력들은 제1 및 제2 필터 출력들을 포함하는 장치.
- 제1항에 있어서,상기 제1 필터는, 부분적인 필터 출력들을 생성하기 위해 상기 데이터를 수평적으로 가산하는 가산기(adder)를 포함하는 장치.
- 제1항에 있어서,상기 제2 필터는,상기 제1 필터 출력을 생성하기 위한 저차 필터(low order filter); 및상기 제2 필터 출력을 생성하기 위한 고차 필터(high order filter)를 포함하는 장치.
- 제1항에 있어서,상기 2-D 데이터는 상기 프로그램가능한 정보에 따라 단일 성분, 2성분, 3성분 입력 형식 중 하나, 및 단일 열, 2열 및 4열 입력 모드 중 하나의 조합으로 구성되는 장치.
- 제3항에 있어서,상기 필터 크기들은 소스 크기, 3x3 크기, 5x5 크기, 7x7 크기, 9x9 크기 및 11x11 크기를 포함하는 장치.
- 제1항에 있어서,상기 프로그램가능한 정보를 제공하기 위한 프로그램가능한 레지스터들의 세트를 더 포함하는 장치.
- 제1항에 있어서,상기 프로그램가능한 정보에 따라 상기 제1 및 제2 필터 출력들 중 적어도 하나에 후처리 동작을 수행하기 위한 후처리 유닛을 더 포함하는 장치.
- 제1항에 있어서,상기 후처리 동작은 정규화(normalization) 및 블렌드(blending) 동작 중 하나인 장치.
- 제6항에 있어서,상기 프로그램가능한 정보는 정규화 선택, 블렌드 동작에 대한 가중치(weight value), 하이 필터 모드, 로우 필터 모드, 판독/기입 우선순위, 블렌드 선택, 절전 선택, 리셋 선택, 데이터 추가, 스와스 높이, 입력 형식, 입력 모드, 목적지 레지스터(destination register), 소스 레지스터(source register), 메모리 어드레스, 및 메모리 데이터 중 적어도 하나를 포함하는 장치.
- 제1항에 있어서,상기 제1 필터에 대한 상기 2-D 데이터를 보유하기 위해 소스 레지스터에 연결된 메모리; 및상기 메모리를 어드레스하기 위해 상기 메모리에 연결된 어드레스 생성기를 더 포함하는 장치.
- 복수의 필터 크기에 대해 픽셀들의 블록에 있는 2-D 데이터를 제1 필터에 의 해 제1 차원으로 처리하는 단계;프로그램가능한 정보에 기초하여 상기 2-D 데이터를 레지스터 파일에 저장하는 단계; 및상기 저장된 2-D 데이터를 제2 필터에 의해 제2 차원으로 필터링하여 상기 프로그램가능한 정보에 기초하여 정적 또는 동적 모드들 중 하나로 필터 출력들을 생성하는 단계를 포함하고,상기 블록은 스와스를 가지고, 상기 정적 모드는 상기 필터 출력들을 상기 스와스에 대해 고정된 상태로 놓아두고, 상기 동적 모드는 픽셀 기반으로 상기 필터 출력들을 선택하고, 상기 필터 출력들은 제1 및 제2 필터 출력들을 포함하는 방법.
- 제11항에 있어서,상기 제1 필터에 의해 처리하는 단계는 부분적인 필터 출력들을 생성하기 위해 상기 데이터를 수평적으로 가산하는 단계를 포함하는 방법.
- 제11항에 있어서,상기 제2 필터에 의해 필터링하는 단계는,저차 필터에 의해 상기 제1 필터 출력을 생성하는 단계; 및고차 필터에 의해 상기 제2 필터 출력을 생성하는 단계를 포함하는 방법.
- 제11항에 있어서,상기 2-D 데이터를 처리하는 단계는,상기 2-D 데이터가 상기 프로그램가능한 정보에 따라, 단일 성분, 2성분, 3성분 입력 형식 중 하나, 및 단일 열, 2열, 및 4열 입력 모드 중 하나의 조합으로 구성되도록 처리하는 단계를 포함하는 방법.
- 제13항에 있어서,상기 필터 크기들은 소스 크기, 3x3 크기, 5x5 크기, 7x7 크기, 9x9 크기 및 11x11 크기를 포함하는 방법.
- 제11항에 있어서,프로그램가능한 레지스터들의 세트에 의해 상기 프로그램가능한 정보를 제공하는 단계를 더 포함하는 방법.
- 제11항에 있어서,상기 프로그램가능한 정보에 따라 후처리 유닛에 의해 상기 제1 및 제2 필터 출력들 중 적어도 하나에 후처리 동작을 수행하는 단계를 더 포함하는 방법.
- 제11항에 있어서,상기 후처리 동작을 수행하는 단계는 정규화 및 블렌드 동작 중 하나를 수행하는 것을 포함하는 방법.
- 제16항에 있어서,상기 프로그램가능한 정보를 제공하는 단계는 정규화 선택, 블렌드 동작에 대한 가중치, 하이 필터 모드, 로우 필터 모드, 판독/기입 우선순위, 블렌드 선택, 절전 선택, 리셋 선택, 데이터 추가, 스와스 높이, 입력 형식, 입력 모드, 목적지 레지스터, 소스 레지스터, 메모리 어드레스, 및 메모리 데이터 중 적어도 하나를 제공하는 단계를 포함하는 방법.
- 제11항에 있어서,상기 제1 필터에 대한 상기 2-D 데이터를 메모리에 보유하는 단계; 및어드레스 생성기를 사용하여 상기 메모리를 어드레싱하는 단계를 더 포함하는 방법.
- 호스트 프로세서,호스트 버스; 및데이터 스트림의 2-D 데이터를 수신하기 위해 상기 호스트 버스에 연결된 미디어 프로세서를 포함하고,상기 미디어 프로세서는 가속기를 포함하고,상기 가속기는,복수의 필터 크기에 대해 픽셀들의 블록에 있는 상기 2-D 데이터를 제1 차원으로 처리하는 제1 필터,상기 제1 필터에 연결되어 있으며, 프로그램가능한 정보에 기초하여 상기 2-D 데이터를 저장하는, 레지스터 파일, 및상기 레지스터 파일에 연결되어 있으며, 상기 저장된 2-D 데이터를 제2 차원으로 필터링하여 상기 프로그램가능한 정보에 기초하여 정적 및 동적 모드들 중 하나로 필터 출력들을 생성하는 제2 필터를 포함하고, 상기 블록은 스와스를 가지고, 상기 정적 모드는 상기 필터 출력들을 상기 스와스에 대해 고정된 상태로 놓아두고, 상기 동적 모드는 픽셀 기반으로 상기 필터 출력들을 선택하고, 상기 필터 출력들은 제1 및 제2 필터 출력들을 포함하는 시스템.
- 제21항에 있어서,상기 제1 필터는, 부분적인 필터 출력들을 생성하기 위해 상기 데이터를 수평적으로 가산하는 가산기를 포함하는 시스템.
- 제21항에 있어서,상기 제2 필터는상기 제1 필터 출력을 생성하기 위한 저차 필터; 및상기 제2 필터 출력을 생성하기 위한 고차 필터를 포함하는 시스템.
- 제21항에 있어서,상기 2-D 데이터는 상기 프로그램가능한 정보에 따라, 단일 성분, 2성분, 및 3성분 입력 형식 중 하나와, 단일 열, 2열, 및 4열 입력 모드 중 하나의 조합으로 구성되는 시스템.
- 제23항에 있어서,상기 필터 크기들은 소스 크기, 3x3 크기, 5x5 크기, 7x7 크기, 9x9 크기 및 11x11 크기를 포함하는 시스템.
- 제21항에 있어서,상기 가속기는 상기 프로그램가능한 정보를 제공하기 위한 프로그램가능한 레지스터들의 세트를 더 포함하는 시스템.
- 제21항에 있어서,상기 가속기는 상기 프로그램가능한 정보에 따라 상기 제1 및 제2 필터 출력들 중 적어도 하나에 후처리 동작을 수행하기 위한 후처리 유닛을 더 포함하는 시 스템.
- 제21항에 있어서,상기 후처리 동작은 정규화 및 블렌드 동작 중 하나인 시스템.
- 제26항에 있어서,상기 프로그램가능한 정보는 정규화 선택, 블렌드 동작에 대한 가중치, 하이 필터 모드, 로우 필터 모드, 판독/기입 우선순위, 블렌드 선택, 절전 선택, 리셋 선택, 데이터 추가, 스와스 높이, 입력 형식, 입력 모드, 목적지 레지스터, 소스 레지스터, 메모리 어드레스, 및 메모리 데이터 중 적어도 하나를 포함하는 시스템.
- 제21항에 있어서,상기 가속기는,소스 레지스터에 연결되어있으며, 상기 제1 필터에 대한 상기 2-D 데이터를 보유하기 위한 메모리; 및상기 메모리에 연결되어있으며, 상기 메모리를 어드레싱하기 위한 어드레스 생성기를 더 포함하는 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/611,071 | 2003-06-30 | ||
US10/611,071 US7356197B2 (en) | 2003-06-30 | 2003-06-30 | Variable tap filter architecture for image processing |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060025582A true KR20060025582A (ko) | 2006-03-21 |
KR100823379B1 KR100823379B1 (ko) | 2008-04-18 |
Family
ID=33541241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057025339A KR100823379B1 (ko) | 2003-06-30 | 2004-06-24 | 화상 처리를 위한 데이터 필터링 장치, 방법 및 시스템 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7356197B2 (ko) |
EP (1) | EP1639543B1 (ko) |
JP (1) | JP4413922B2 (ko) |
KR (1) | KR100823379B1 (ko) |
AT (1) | ATE449389T1 (ko) |
DE (1) | DE602004024201D1 (ko) |
MY (1) | MY136906A (ko) |
TW (1) | TWI251787B (ko) |
WO (1) | WO2005006253A1 (ko) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8666172B2 (en) * | 2001-03-29 | 2014-03-04 | Intel Corporation | Providing multiple symmetrical filters |
US7038688B2 (en) * | 2003-12-29 | 2006-05-02 | Intel Corporation | Filter mechanism |
US7590867B2 (en) | 2004-06-24 | 2009-09-15 | Intel Corporation | Method and apparatus for providing secure virtualization of a trusted platform module |
US7471844B2 (en) * | 2004-12-27 | 2008-12-30 | Intel Corporation | Method, apparatus and system for multi-feature programmable tap filter image processing |
US7636442B2 (en) * | 2005-05-13 | 2009-12-22 | Intel Corporation | Method and apparatus for migrating software-based security coprocessors |
US7587595B2 (en) * | 2005-05-13 | 2009-09-08 | Intel Corporation | Method and apparatus for providing software-based security coprocessors |
US7613921B2 (en) * | 2005-05-13 | 2009-11-03 | Intel Corporation | Method and apparatus for remotely provisioning software-based security coprocessors |
US8074262B2 (en) | 2005-05-13 | 2011-12-06 | Intel Corporation | Method and apparatus for migrating virtual trusted platform modules |
US7571312B2 (en) * | 2005-05-13 | 2009-08-04 | Intel Corporation | Methods and apparatus for generating endorsement credentials for software-based security coprocessors |
JP4501855B2 (ja) * | 2005-12-22 | 2010-07-14 | ソニー株式会社 | 画像信号処理装置、撮像装置、および画像信号処理方法、並びにコンピュータ・プログラム |
US8108668B2 (en) | 2006-06-26 | 2012-01-31 | Intel Corporation | Associating a multi-context trusted platform module with distributed platforms |
US9280659B2 (en) * | 2006-12-29 | 2016-03-08 | Intel Corporation | Methods and apparatus for remeasuring a virtual machine monitor |
US8060876B2 (en) * | 2007-08-10 | 2011-11-15 | Intel Corporation | Methods and apparatus for creating an isolated partition for a virtual trusted platform module |
US8064605B2 (en) * | 2007-09-27 | 2011-11-22 | Intel Corporation | Methods and apparatus for providing upgradeable key bindings for trusted platform modules |
US8249257B2 (en) | 2007-09-28 | 2012-08-21 | Intel Corporation | Virtual TPM keys rooted in a hardware TPM |
US8584229B2 (en) * | 2007-12-21 | 2013-11-12 | Intel Corporation | Methods and apparatus supporting access to physical and virtual trusted platform modules |
US8798385B2 (en) * | 2009-02-16 | 2014-08-05 | Raytheon Company | Suppressing interference in imaging systems |
US10284908B2 (en) | 2013-02-26 | 2019-05-07 | Comcast Cable Communications, Llc | Providing multiple data transmissions |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5359674A (en) * | 1991-12-11 | 1994-10-25 | David Sarnoff Research Center, Inc. | Pyramid processor integrated circuit |
FI96260C (fi) * | 1993-10-29 | 1996-05-27 | Rautaruukki Oy | Suodatusmenetelmä ja suodatin |
US6256068B1 (en) | 1996-05-08 | 2001-07-03 | Matsushita Electric Industrial Co., Ltd. | Image data format conversion apparatus |
US5977947A (en) | 1996-08-19 | 1999-11-02 | International Business Machines Corp. | Method and apparatus for resizing block ordered video image frames with reduced on-chip cache |
US6199084B1 (en) * | 1998-09-09 | 2001-03-06 | Hitachi America, Ltd. | Methods and apparatus for implementing weighted median filters |
US6556193B1 (en) | 1999-04-02 | 2003-04-29 | Teralogic, Inc. | De-interlacing video images using patch-based processing |
US6836289B2 (en) | 1999-12-20 | 2004-12-28 | Texas Instruments Incorporated | Digital still camera architecture with red and blue interpolation using green as weighting factors |
US8666172B2 (en) * | 2001-03-29 | 2014-03-04 | Intel Corporation | Providing multiple symmetrical filters |
US6983076B2 (en) * | 2002-07-01 | 2006-01-03 | Xerox Corporation | Control system for digital de-screening of documents |
-
2003
- 2003-06-30 US US10/611,071 patent/US7356197B2/en not_active Expired - Fee Related
-
2004
- 2004-05-20 MY MYPI20041925A patent/MY136906A/en unknown
- 2004-06-24 DE DE602004024201T patent/DE602004024201D1/de not_active Expired - Lifetime
- 2004-06-24 WO PCT/US2004/020603 patent/WO2005006253A1/en active Application Filing
- 2004-06-24 EP EP04756206A patent/EP1639543B1/en not_active Expired - Lifetime
- 2004-06-24 JP JP2006515371A patent/JP4413922B2/ja not_active Expired - Fee Related
- 2004-06-24 AT AT04756206T patent/ATE449389T1/de not_active IP Right Cessation
- 2004-06-24 KR KR1020057025339A patent/KR100823379B1/ko not_active IP Right Cessation
- 2004-06-29 TW TW093119049A patent/TWI251787B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
TWI251787B (en) | 2006-03-21 |
TW200512664A (en) | 2005-04-01 |
JP2007521549A (ja) | 2007-08-02 |
ATE449389T1 (de) | 2009-12-15 |
KR100823379B1 (ko) | 2008-04-18 |
EP1639543B1 (en) | 2009-11-18 |
US20040264797A1 (en) | 2004-12-30 |
JP4413922B2 (ja) | 2010-02-10 |
DE602004024201D1 (de) | 2009-12-31 |
EP1639543A1 (en) | 2006-03-29 |
US7356197B2 (en) | 2008-04-08 |
MY136906A (en) | 2008-11-28 |
WO2005006253A1 (en) | 2005-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100823379B1 (ko) | 화상 처리를 위한 데이터 필터링 장치, 방법 및 시스템 | |
KR102675217B1 (ko) | 이미지들을 프로세싱하기 위한 이미지 신호 프로세서 | |
US10861133B1 (en) | Super-resolution video reconstruction method, device, apparatus and computer-readable storage medium | |
US7088371B2 (en) | Memory command handler for use in an image signal processor having a data driven architecture | |
US10621464B1 (en) | Block based non-maximum suppression | |
US10482374B1 (en) | Ensemble learning based image classification systems | |
US20210097647A1 (en) | Information processing method and terminal device | |
CN114202657A (zh) | 用于图像处理的方法和设备 | |
JP2019185784A (ja) | モジュール接続されているcnnベース集積回路を用いた深層学習画像処理システム | |
KR20220066917A (ko) | 이미지 디워핑 시스템 | |
AU2013273768A1 (en) | Parallel rendering of region-based graphics representations | |
JP4212676B2 (ja) | 情報処理システムおよび情報処理方法 | |
CN113301343B (zh) | 在视频超分辨率中使用解码器信息的系统和方法 | |
JP3877002B2 (ja) | 情報処理システムおよび情報処理方法 | |
US11755892B2 (en) | Multi-size convolutional layer | |
CN116341630A (zh) | 神经网络处理 | |
KR102494565B1 (ko) | 콘볼루션 신경망의 하드웨어 구조 최적화 방법 | |
JP4775161B2 (ja) | 画像処理装置、画像処理プログラム | |
JP4014486B2 (ja) | 画像処理方法及び画像処理装置 | |
US20050122545A1 (en) | Flexible high performance error diffusion | |
KR102565421B1 (ko) | 딥러닝 기반 알고리즘을 통한 영상의 초해상화 처리 장치 및 방법 | |
US20220292344A1 (en) | Processing data in pixel-to-pixel neural networks | |
JP3747985B2 (ja) | 情報処理システム | |
JPH11232309A (ja) | 情報処理システム | |
CN115131391A (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 | ||
FPAY | Annual fee payment | ||
LAPS | Lapse due to unpaid annual fee |