KR20070093466A - 다각형의 변 구획 방법 - Google Patents

다각형의 변 구획 방법 Download PDF

Info

Publication number
KR20070093466A
KR20070093466A KR1020077019742A KR20077019742A KR20070093466A KR 20070093466 A KR20070093466 A KR 20070093466A KR 1020077019742 A KR1020077019742 A KR 1020077019742A KR 20077019742 A KR20077019742 A KR 20077019742A KR 20070093466 A KR20070093466 A KR 20070093466A
Authority
KR
South Korea
Prior art keywords
pixel
sub
pixels
rendering
data
Prior art date
Application number
KR1020077019742A
Other languages
English (en)
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 KR20070093466A publication Critical patent/KR20070093466A/ko

Links

Images

Classifications

    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03FPHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
    • G03F7/00Photomechanical, e.g. photolithographic, production of textured or patterned surfaces, e.g. printing surfaces; Materials therefor, e.g. comprising photoresists; Apparatus specially adapted therefor
    • G03F7/70Microphotolithographic exposure; Apparatus therefor
    • G03F7/70483Information management; Active and passive control; Testing; Wafer monitoring, e.g. pattern monitoring
    • G03F7/70491Information management, e.g. software; Active and passive control, e.g. details of controlling exposure processes or exposure tool monitoring processes
    • G03F7/70508Data handling in all parts of the microlithographic apparatus, e.g. handling pattern data for addressable masks or data transfer to or from different components within the exposure apparatus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03FPHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
    • G03F1/00Originals for photomechanical production of textured or patterned surfaces, e.g., masks, photo-masks, reticles; Mask blanks or pellicles therefor; Containers specially adapted therefor; Preparation thereof
    • G03F1/68Preparation processes not covered by groups G03F1/20 - G03F1/50
    • G03F1/76Patterning of masks by imaging
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03FPHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
    • G03F7/00Photomechanical, e.g. photolithographic, production of textured or patterned surfaces, e.g. printing surfaces; Materials therefor, e.g. comprising photoresists; Apparatus specially adapted therefor
    • G03F7/70Microphotolithographic exposure; Apparatus therefor
    • G03F7/70216Mask projection systems
    • G03F7/70283Mask effects on the imaging process
    • G03F7/70291Addressable masks, e.g. spatial light modulators [SLMs], digital micro-mirror devices [DMDs] or liquid crystal display [LCD] patterning devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering

Abstract

당해 발명은 서브 픽셀 해상도를 지니는 고 정밀 이미지를 렌더링 하는 것과 관련되어 있으며 레티클과 큰 지역 매스크, 패턴의 직접 쓰기 및 레티클들의 조사 또는 다른 패턴화 된 실행 단편에 적용된다. 당해 발명의 특징은 SLM과 스캐닝 기술 모두에 적용될 수 있다. 당해 발명은 생성을 위한 마이크로 거울 배열의 조정 방법과 집중도 이미지를 포함한다. 상기 출원은 오버랩 지역, 보호 지대의 이용, 다각형의 이동 및 크기재조정, 두 개의 해상도를 이용하는 지역의 표현, 모서리 정의, 모서리 및 코너의 방향을 동봉한다.

Description

다각형의 변 구획 방법{Graphics Engine For High Precision Lithography}
당해 발명은 서브-픽셀 해상도를 지니는 렌더링 고 정밀 이미지와 관련되어 있다. 이 발명은 레티클들의 생산과 큰 지역 매스크, 직접적인 패턴들의 쓰기와 레티클의 조사 또는 다른 패턴화 된 실행 단편들에 적용된다. 발명의 측면은 SLM과 스캐닝 기술 모두에 적용될 수 있다.
반도체 제조를 위한 장치는 라이터와 레티클에 이미지를 생산하기 위한 조사 기구들, 그리고 칩에 패턴을 직접 쓰기 위한 것과 패턴화된 실행 단편의 조사를 위해 직접적 쓰기를 포함한다. 시간이 흐름에 따라, 칩들은 프로세서와 같이 점차적으로 복잡하고 밀집되었으며, 메모리 회로들과 다른 반도체들은 더 큰 용량을 얻게 되었다. 메모리 회로들은, 특히 작은 특징 크기를 지니는 모든 회로는 , 일반적으로 더 밀집되어 왔다. 이러한 회로들의 패턴들은 시각상 근접성과 레이저 근접성 수정 특징들이 패턴에 부가됨에 따라 심지어 회로보다 더 복잡해 졌다. 칩 위의 더 작은 특징들을 위한 요구와 더 정밀한 임계 차원의 요구에 따라 상기 장치와 라이팅(writing) 특징들은 점점 더 정교해졌다. 하나의 장치의 설명과 라이팅 기술들은 반도체의 상기 필요를 충족시키기 위해 수년간 발전해 왔다. 제조 장치들은 1996년 7월 2일에 Teizel에서 출원된 U.S. 특허 번호 5,533,170에서 볼 수 있다.
또 다른 제조를 위한 도전은 프로세스 화학 작용 내의 변화의 보상이다. 예를 들어 노출된 방사에 대한 레지스트(resist)의 응답 내의 변화와 같은 것이다. 변화는 다른 타입이나 심지어 노출에 대한 저항 묶음의 응답 내에서 발견된다. 레지스트들은 때때로 모서리 가까이나 입혀진(coated) 실행 단편의 코너 내에서 다르게 응답한다.
생산가가 무어의 법칙(Moore's Law)과 발맞추기 위한 노력으로써, 라이터를 위한 지속적인 노력과, 기하학 특징의 큰 생산을 진행하고 실행 단편에서 정확한 패턴을 생산할 수 있는 조사 장치가 있다. 필요한 정확한 패턴을 생성하는 동안, 레지스트와 다른 프로세스 변수들 내의 변화를 보상하기 위한 기술, 방법 그리고 장치를 위한 당연한 필요가 있다.
당해 발명의 특징은 기하학 특징의 큰 분량을 진행하기 위해 결합하고, 예를 들어, SLM 투사 기술을 이용하는 실행 단편 위에 정확한 패턴들을 발생시키는 것이다. 부가적인 발명의 특징은 레지스트 응답과 다른 프로세스 변수를 위한 보상을 촉진하는 것이다.
당해 발명의 한 실시예는 데이터 패스와 입력으로서 분할된 기하학 데이터를 수용하고 출력으로서 마이크로 거울 배열 내의 마이크로 거울을 위한 구동 값을 발생 시키는 것이다. 이 실시예는, 다수의 오버랩핑 노출로부터 실행 단편 지역으로 원하는 에너지 분배 패턴에 대응하도록 실행 단편을 오버랩 지역으로 맵핑하는 것을 포함한다. 또한 픽셀 맵 내의 픽셀에 대응하는 마이크로 픽셀 배열을 위한, 픽셀 맵에서의 이중 해상도 메모리를 이용하는 그레이 스케일 픽셀로 분할된 다각형의 렌더링 , 오버랩 지역을 고려하면서 그레이스케일 픽셀 값들을 위한 노출 값의 계산 , 개개의 마이크로 거울 특성에 기반을 둔 노출 값의 윤곽, 그리고 윤곽이 그려진 노출 값의 출력을 포함한다. 상기 맵핑 과정은 9개의 오버랩 지역, 81 개의 오버랩 지역 또는 몇몇 다른 수의 오버랩 지역을 프린팅을 위한 패스의 수에 따라 생산한다. 상기 계산 과정은 다수의 노출로부터 초래되는 축적량을 고려하기 위한 오버랩 지역을 이용한다. 이 방법은 또한 적어도 하나의 분단된 버퍼 내에 윤곽이 그려진 노출 값들의 버퍼링을 포함하고, 이는 마이크로 픽셀 드라이버들(drivers) 에 결합된다. 상기 버퍼는 렌더링 엔진에 대응하는 제 1 단편과 마이크로거울 배열 지역에 대응하는 제 2 지역을 갖는 이중 단편이다. 버퍼의 상기 제 1 단편과 제 2 단편은 다르다. 다수의 버퍼는 출력을 위한 데이터 수집을 위해 사용된다. 버퍼로부터의 출력은 디지털 아날로그 변환기에 직접적이다. 이 실시예의 또 다른 측면은 오버랩 지역이나 지대는 실행 단편에 적용되는 에너지 내의 변화를 펄스로 발생시키는 펄스를 고려하는 것이다. 프린팅의 과정 동안, 오버랩 지대 조명의 실행은 레지스트 에이징(aging), 다수의 노출에 의한 레지스트 활성, 그리고 특히, 실행 단편의 모서리나 코너에서의 레지스트 민감도 내의 변화와 같은 실행 단편 위의 레지스트 영향을 고려하여 조정된다.
다양한 제 1 실시예의 서브 결합들은 그들의 고유 권리 내에서 유용하다. 상기 스탬프-방향 프로세서 내의 오버랩 지역의 적용은 유용한다. 픽셀 맵 내의 픽셀들에 대응하는 하나의 픽셀 맵과 마이크로 픽셀 배열들을 포함하는 이중 해상도 메모리 내의 그레이 스케일 픽셀 값 렌더링 기하학 특징들은 유용하다. 계산은 스탬프 간의 오버랩을 고려하고, 다수의 패스들 간의 오버랩을 고려하기 위해, 그리고 노출 에너지 내의 펄스 대 펄스간의 변화가 개별적 또는 결합 모두 이용가능하다는 것을 고려한다. 마이크로 거울 배열의 일반적 특성을 고려하는 대신 개개의 마이크로 거울 특징에 기반을 둔 노출 값의 윤곽은 또한 유용하다. 당해 발명의 첫 번째 실시예의 이러한 특징의 한 쌍과 같은 결합 또한 유용하다.
당해 발명의 부가적 실시에는 클리핑하기 위한 대안은 보호지역의 이용이다. 이것은 메모리에 대응하는 더 작은 어드레스 윈도우의 제공을 포함하고, 또한 더 작은 어드레싱 윈도우 주위의 보호 지역을 생성하는 더 큰 어드레스 윈도우의 제공, 이는 접근가능하나 메모리에 대응하지는 않는다. 더 큰 어드레싱 윈도우 내에 포함된 다각형의 수신, 적어도 다각형 부분을 더 큰 어드레스 윈도우로의 렌더링, 그리고 더 작은 윈도우 바깥쪽의 다각형의 만들어진 부분을 버리는 동안 메모리 쪽으로 더 작은 어드레스 윈도우 이내의 만들어진 데이터 부분을 위한 데이터의 라이팅을 포함한다. 이 실시예의 또 다른 측면은 렌더링 스텝은 더 작은 어드레싱 윈도우 외부에 대한 내부의 다각형 부분 간의 구분 없이도 수행된다. 이 방법은 더 작은 어드레싱 윈도우에 적합하게 하기 위한 다각형의 클립핑 없이도 수행된다. 제어기(controller)에 의해, 또는 메모리 제어기 내에서, 쓰기 가능(write enable) 신호와 같은 하나 이상의 메모리 조정 신호를 제어하기 위한 비교 결과를 이용하는 더 작은 어드레싱 윈도우 내의 유효한 어드레스를 지니는 메모리 어드레스 신호와의 비교에 의해 상기 다각형의 만들어진 부분의 버림은 데이터가 메모리 제어기에 송신되기 전에 발생한다. 이 실시예와 그의 여러 가지 측면은 또한 다각형 세트의 필터링 스탬프를 포함하므로 인해 향상되고 그 결과 적어도 수신되고 만들어진 다각형 부분은 더 작은 어드레싱 윈도우 내부에 놓여진다.
대안적 실시예에서 변화는 더 큰 어드레싱 윈도우, 메모리에 대응하는 더 작은 어드레싱 윈도우를 포함하는 더 큰 어드레싱 윈도우 그리고 더 작은 윈도우 바깥의 보호 지대, 접근가능하나 메모리에 대응하지 않는 보호 지대에 대한 다각형의 렌더링 방법이다. 이 방법은 더 큰 어드레싱 윈도우 이내에 포함된 다각형을 수신하는 것을 포함한다. 또한 반복적으로 다각형의 부분을 선택하고 그것을 래스터 된 표현 데이터로 바꾸는 것, 래스터 된 표현 데이터를 처리함으로써 더 작은 어디레싱 윈도우 내의 부분이 메모리에 쓰여 지는 것과 그 부분 밖의 윈도우가 메모리에 쓰이지 않는 것 을 포함한다. 이 변화의 특성은 이 실시예의 제 1 변화와 유사하다. 상기 변환 스텝은 더 작은 어드레싱 윈도우 외부에 대한 다각형 내부의 부분간의 구별 없이 수행된다. 더 작은 어드레싱 윈도우에 적합하도록 다각형을 자르는 것은 회피된다. 상기 래스터 된 표현 데이터는 메모리 제어기 또는 메모리에 쓰이기 전에 필터 된다. 대안적으로, 위에서 설명된 것과 같은 메모리 제어기 내에서 필터 된다. 상기 입력 다각형들은 필터 됨으로써 적어도 각 다각형의 부분은 더 작은 어드레싱 윈도우 이내에 놓여진다. 이 변화는 또한 수신된 다각형의 제한이나 입력을 포함하고 따라서 이러한 다각형들은 보호 지대 이내에 적합할 만큼 충분히 작다.
이전의 실시예에 대응하는 장치는 더 큰 어드레싱 윈도우, 더 작은 어드레스 윈도우 바깥쪽의 보호 지역 이내의 더 작은 어드레싱 윈도우를 포함하는 더 큰 어드레싱 윈도우 이내에 포함된 다각형을 만든다. 이 장치는 더 큰 어드레싱 윈도우 이내에 포함된 다각형을 수신하기에 적합한 입력 라인들에 연결된 렌더기(renderer) 와 반복적으로 다각형의 부분을 래스터 된 표현 데이터로 변환하는 것과, 더 작은 어드레싱 윈도우에 대응하는 메모리를 포함한다.
메모리 제어기, 렌더기에 연결된, 래스터 된 표현 데이터를 진행하고, 메모리에 대한 더 작은 어드레싱 윈도우 이내에 있는 래스터 된 표현 데이터를 쓰며, 그리고 더 작은 어드레싱 윈도우 바깥쪽의 래스터 된 표현 데이터의 부분을 버리기 에 적합하다. 이 장치의 렌더기는 다각형 부분을 더 작은 어드레싱 윈도우 바깥쪽에 대해 섹션 내부의 부분 간의 구별 없이 래스터 된 표현 데이터로 전환하기에 적합하다. 상기 장치는 더 작은 어드레싱 윈도우 이내에 적합하기 위해 수신된 다각형의 클립핑 없이 또한 더 작은 어드레싱 윈도우 이내에 수신된 다각형이 포함되는 것을 요구함 없이 작동한다. 이 장치의 또 다른 변화는 더 큰 어드레싱 윈도우, 더 작은 어드레싱 윈도우 바깥쪽 보호 지대 내의 더 작은 어드레싱 윈도우를 포함하는 더 큰 어드레싱 윈도우, 래스터 된 표현 데이터에 의해 표현되는 섹션과 ,입력 라인, 더 작은 어드레스 윈도우에 대응하는 메모리, 그리고 입력 라인에 대응하는 메모리 제어기와 더 큰 어드레싱 윈도우를 참고하는 래스터 된 표현 데이터를 수신하기에 적합한 메모리를 포함하는 장치에 의해 표현되는 섹션, 메모리에 대한 더 작은 어드레싱 윈도우 내에서 래스터 된 표현 데이터의 부분을 쓰는 것, 그리고 보호 지대 내에서 래스터 된 표현 데이터의 부분을 버리는 것이다. 이 변화의 측면은 이전 방법이나 이 실시예에서 다른 변화로부터 초래된다.
당해 발명의 또 다른 실시예는 두 레벨 이상의 해상도를 이용하는 지역을 표현하는 방법이며, 이는 모서리에 의해 경계된 다각형 표현을 수신하는 것, 렌더링을 위한 다각형의 섹션을 선택하는 것, 필터에 대응하는 섹션, 제 1 데이터 구조 내의 픽셀들이 채워짐, 비움, 또는 부분적으로 채워짐 을 나타내는 것 , 채워지거나 비어있는 서브-픽셀의 배열에 의한 제 2 데이터 구조 내의 부분적으로 채워진 픽셀을 나타내는 것, 다각형 표현의 모서리를 규정하는 세트 배열과 적어도 3*3 서브픽셀들을 포함하는 세트 배열을 포함한다. 대안적으로, 상기 배열은 4*4 또는 8*8 서브픽셀들을 포함한다. 상기 다각형은 사각형, 볼록 사각형, 사다리꼴 또는 삼각형이다. 사각형 또는 사다리꼴 표현 중 어느 것이던지 영(0) 길이의 한 크기를 지닌다. 이 방법은 또한 배열 내의 채워지거나 비어있는 서브픽셀에 대응하는 부분적으로 채워진 픽셀의 요약을 유지하는 것을 포함한다. 이러한 요약은 채워지거나 또는 비어있는 서브픽셀들의 수 또는 가중된 서브픽셀의 평가로 구성된다.
당해 발명의 관련 실시예는 두 개 이상의 해상도 레벨을 이용하는 지역을 나타내는 방법이며, 이는 모서리에 의해 경계된 다각형 표현, 반복적으로 렌더링을 위한 다각형 표현을 통한 섹션의 선택, 픽셀에 대응하는 섹션, 다각형 표현의 모서리에 기반을 둔 채워진 것, 빈 것 또는 부분적으로 채워진 것으로 픽셀을 분류하는 법, 그리고 채워지거나 또는 비어있는 값을 대신하여 집중 레벨에 할당된 서브픽셀 배열에 의한 부분적으로 채워진 픽셀들의 표현 하는 법을 포함한다. 서브 픽셀의 그 배열은 다각형 표현의 모서리를 규정한다. 이러한 배열은 적어도 3*3 서브픽셀, 4*4 서브픽셀, 8*8 서브픽셀 또는 16*16 서브픽셀을 포함한다. 위에서와 마찬가지로, 다각형은 다수의 다른 형태를 지닌다. 픽셀을 분류하는 상기 픽셀 맵은 채워지거나, 비어 있거나, 또는 부분적으로 채워지며, 이는 각 픽셀마다 두 개의 비트로 구성된다. 상기 방법은 게다가 배열 내의 서브픽셀의 강도 레벨에 대응하는, 부분적으로 채워진 픽셀의 요약(summary)을 유지하는 것을 포함한다. 이러한 요약들은 서브픽셀 강도 레벨의 요약이거나 또는 가중된 서브픽셀의 평가이다.
두 개의 해상도 레벨을 이용하고 적어도 하나의 모서리를 지니는 영역을 나타내는 데이터 구조 실시예는, 적어도 하나의 메모리; 메모리 내에 저장된 하나 이 상의 픽셀 맵, 이때 채워짐, 비어있음 또는 부분적으로 채워짐을 나타낸다. 그리고 메모리 내에 저장된 적어도 하나의 서브픽셀 맵, 이는 픽셀 맵에 대응하고, 채워지거나 또는 비어 있는 서브픽셀 배열에 의해 부분적으로 채워진 픽셀을 나타내며, 상기 서브픽셀들은 모서리 지역을 규정하고, 상기 서브픽셀 배열은 적어도 3*3 서브픽셀을 포함한다. 서브픽셀의 이용 없이 그들을 표현하기 위해 표현되는 그리고 채워지거나 비어있는 픽셀을 포함한다. 이 발명의 또 다른 측면은 그것은 게다가 배열 내에서 채워지거나 비어있는 서브-픽셀을 요약하기 위한 서브-픽셀 요약을 포함한다. 이 실시예는 또한 픽셀 맵과 서브 픽셀 배열을 위한 분리되어 접근 가능한 메모리를 포함한다. 그것은 또한 픽셀 맵과 서브-픽셀 요약 맵을 위한 분리되어 접근 가능한 메모리를 포함한다.
이 실시예에서의 변화는 두 개의 해상도 레벨을 이용하는 하나 이상의 사다리꼴을 표현하는 데이터 구조이다. 이 때 상기 사다리꼴은 서로 및 기준 축에 대해 평행한 첫 번째와 세 번째 평행 모서리를 지니고 그리고 두 번째와 네 번째의 반대 모서리를 지닌다. 상기 데이터 구조는 다음의 것을 포함한다. 적어도 하나의 메모리; 메모리 내에 저장된 하나 이상의 픽셀 맵, 이때 채워짐, 비어있음 또는 부분적으로 채워짐을 나타낸다. 그리고 메모리 내에 저장된 적어도 하나의 서브픽셀 맵, 이는 픽셀 맵에 대응하고, 서브 픽셀 배열에 의한 평행한 모서리나 반대 모서리 위에 픽셀을 표현하는 것을 포함한다. 이러한 배열 내의 서브 픽셀은 채워지거나 또는 비어 있다. 이러한 배열은 적어도 3*3 서브픽셀, 4*4 서브픽셀, 8*8 서브픽셀 또는 16*16 서브픽셀들을 포함한다. 이 데이터 구조는 게다가 그레이 값 요약 메모 리를 포함하고, 이 때 채워지거나 비어있는 서브픽셀을 요약한다. 상기 요약은 채워지거나 비어있거나 또는 서브 픽셀의 가중 평가인 서브 픽셀의 수에 기초한다. 상기 서브픽셀들은 2진수 값을 지니거나 또는 부가적으로 중간적인 집중 값을 지닌다. 상기 픽셀 맵과 서브픽셀 배열은 분리되어 접근 가능한 메모리 내에 저장된다. 사다리꼴의 평행한 모서리의 하나는 영(0) 길이를 갖는다.
당해 발명의 특징의 또 다른 실시예는 두 개의 레벨 해상도를 이용하고, 다수의 모서리를 지니는 다각형을 나타내는 그래픽 데이터를 전송하기 위한 프로토콜이며, 픽셀의 배열에 의한 다각형의 섹션 표현을 표현하는 것 ,이 때 상기 픽셀에 채워지거나 비어있거나 또는 부분적으로 채워진 값을 할당 된다. 서브-픽셀 배열에 의해 부분적으로 채워진 픽셀을 나타내고, 이 때 상기 서브-픽셀들은 적어도 3*3 서브-픽셀을 포함하는 배열, 모서리의 부분을 규정하는 채워지거나 비어 있는 값이 할당 된다. 그리고 픽셀의 배열과 적어도 첫 번째 채널과 독립적인 두 번째 채널을 이용하는 다수의 서브픽셀 배열을 전송한다. 이 때 첫 번째 채널은 서브픽셀 배열을 위해 사용되는 두 번째 채널 내의 픽셀의 배열의 표현을 위해 사용된다. 이 실시예에서, 상기 서브-픽셀 배열은 대안적으로 적어도 4*4, 8*8, 16*16 서브픽셀들을 포함한다. 픽셀 배열의 표현은 인코드 된 런렝스(run length)이다. 상기 다각형은 사다리꼴이며, 그 사다리꼴은 기준 축에 평행한 첫 번째 그리고 세 번째 평행성은 갖는다, 그리고 첫 번째와 세 번째 평행 측면을 따라 다수의 부분적으로 채워진 픽셀들은 단일 서브픽셀 배열에 의해 표현된다. 이 프로토콜은 또한 배열 내의 채워지거나 또는 비어있는 서브픽셀을 요약하는 서브픽셀 요약 맵을 유지하는 것을 포함한다. 상기 요약은 배열 내에서 채워지거나 또는 비어 있는 서브픽셀들 또는 서브픽셀의 가중된 평가의 셈이다. 상기 서브픽셀들은 또한 채워지거나 또는 비어있는 값에 부가하는 중간 집중 값을 지닌다. 상기 픽셀과 서브픽셀 배열은 분리된 접근 가능한 메모리 내에 저장된다. 유사하게, 상기 픽셀과 상기 서브-픽셀 요약 맵은 분리된 접근 가능한 메모리 내에 저장된다. 첫 번째 또는 세 번째 측면의 인접한 픽셀들은 동일한 서브-픽셀 맵에 의해 표현된다. 상기 첫 번째 또는 세 번째 평행한 선분은 영(0) 길이로 할당될 수 있다.
당해 발명의 또 다른 실시예는 다각형 모서리 부분 에 대응하는 다중-값 픽셀을 위한 값을 계산하기 위한 방법이며, 이는 다음의 것을 포함한다. 서브-픽셀 배열의 제공; 특정 방향을 지니는 모서리에 대응하는 미리 계산된 서브-픽셀 바 맵 세트의 제공; 미리 계산된 서브픽셀 바의 적용으로 채워지거나 또는 비어있는 서브픽셀에 의한 다각형의 부분의 표현; 그리고 픽셀에 대응하는 서브픽셀 세트의 슈퍼샘플링과 픽셀에 그레이 값의 할당을 포함한다. 이 방법에서, 미리 계산된 서브 픽셀 바 맵은 채워진 바의 배열에 의해 표현되고 미리 계산된 서브픽셀 맵의 적용은 또한 서브픽셀의 배열에 의해 표현되는 지역의 경계를 지니는 모서리 연장 또는 모서리의 교차점에 대응하는 채워진 바로의 오프셋 값으로의 적용을 포함한다.
적어도 다각형 모서리의 부분을 표현하는 서브픽셀 배열의 이용하는 방법의 또 다른 측면은 측면을 지니는 지역 내의 다각형의 모서리를 규정짓는 방법이며, 이 때 지역은 서브-픽셀들로 분배된다. 이 방법은 다음의 것을 포함한다. 잠재적 인터셉트에 대응하는 다수의 미리 계산된 서브-픽셀 바 맵과 지역의 측면을 지니는 다각형 모서리의 방향은, 이 때, 상기 잠재적 인터셉트는 잠재적 방향 내의 지역의 측면을 따라 분리된 위치에 의해 제한되며, 분리된 배치와 연결되는 방향에 의해 제한된다. 다각형 모서리 방향 내의 지역의 측면을 지니는 다각형 모서리의 두 인터셉트의 2/3을 결정한다. 그리고 방향 내의 두 인터셉트들의 2/3에 대응하는 미리 계산된 서브-픽셀 바의 하나에 적용하는 것을 포함한다. 당해 발명의 한 특징은, 상기 지역은 단지 256 서브-픽셀들로 나뉘고 그 분리된 배치는 서브픽셀 마다 단지 65 배치들로 제한된다. 대안적으로, 상기 지역은 단지 64 서브-픽셀들로 나뉘고 그 분리된 배치는 단지 서브픽셀 마다 33 위치로 제한된다. 또 다른 구현에서ㅡ 상기 지역은 단지 32*16 서브-픽셀로 나뉘고 그리고 서브픽셀의 모서리를 따라 17개의 단절된 모서리만이 있다. 또는 상기 지역은 단지 16*8 서브픽셀로 나뉘고, 이 때 서브픽셀의 모서리는 9개의 분리된 배치만을 지닌다. 이 발명의 또 다른 측면은 미리-계산된 서브-픽셀 바 맵들은 대략 45도의 범위를 형성하는 잠재적 방향의 세트에 의해 제한되고 이 미리-계산된 서브-픽셀 바 맵의 범위는 대략 180도의 범위를 커버하기 위해 변환될 수 있다. 다각형 모서리에 의해 인터셉트되는 지역의 측면은 반대편 측면이거나 또는 인접한 측면이다. 이 실시예에서의 변화는 상기 지역의 측면과 함께 인터셉트를 구성하기 위한 다각형 모서리나 다각형 모서리의 확장을 포함한다. 다각형 모서리의 방향은 결정되고 이 방법 내에서 이용되거나 또는 다각형 모서리를 규정하는 두 개의 인터셉트와 마찬가지로 무시된다.
서브픽셀 바 맵 선택은 또한 당해 발명의 실시예이다. 지역을 가로지르는 모서리를 나타내기 위한 서브픽셀 배 맵 선택의 방법에서, 적어도 첫 번째와 두 번째 측면을 지니는 지역과 그 지역은 서브-픽셀들로 나뉜다. 상기 방법은 다음을 포함한다. 첫 번째와 두 번째 측면을 따른 인터셉트간의 구조 단편, 상기 구조 단편은 지역의 첫 번째 및 두 번째 지역으로 정의되며, 이때 상기 인터셉트는 지역의 측면을 따라 분리된 배치로 제한된다. 첫 번째 지역을 나타내기 위한 서브-픽셀 의 지원자 세트를 형성하고, 상기 지원자 세트 내의 서브픽셀은 완전히 또는 부분적으로 첫 번째 지역 내이다; 지원자 세트와 첫 번째 지역 범위의 지역 범위간의 변화를 결정한다. 다른 단편들을 위한 서브-픽셀 바 맵을 지니는 지원자 세트를 결합에 의해 형성되는 코너들을 평가한다. 코너의 평가 내의 변화의 결정에 기초한 지원자 세트 간에서 선택한다. 그리고 메모리 네의 선택된 세트를 저장하는 것을 포함한다. 이 실시예는 또한 첫 번째 측면과 가려 낸 군더더기 세트를 따라 잠재적 인터셉트를 규정하는 단편의 세트를 위한 상기 방법을 반복하는 것을 포함한다. 가려낸 군더더기 세트는 단편의 세트를 표현하기 위한 최대 수의 세트 또는 단편의 세트를 나타내고자 하는 세트의 이용으로부터 최대한 허용 가능한 에러를 고려한다. 이 실시예에서의 변화는 다각형 모서리의 부분을 규정하기 위한 픽셀에 대응하는 서브픽셀을 위한 서브-픽셀 바 맵을 미리 계산하기 위한 방법이다. 이는 다음의 것을 포함한다. 픽셀 쌍의 첫 번째 측면에서 서브 픽셀중의 한 측면을 따라 다각형 모서리에 대응되는 라인을 위한 잠재적인 첫 번째 인터셉트를 제공한다. 상기 첫 번째 측면에 반대되는 픽셀 쌍의 두 번째 측면을 따른 라인을 위한 잠재적 두 번째 인터셉트를 제공하며, 이 때 상기 잠재적 첫 번째와 두 번째 인터셉트들은 분배된 위치에 제한된다. 첫 번째 잠재적 인터셉트와 두 번째 잠재적 인터셉트를 연결하기 위한 단편을 제공하고, 미리 결정된 각의 범위에 걸쳐있다. 그리고 단편에 의해 경계된 지역을 정의하기 위한 서브픽셀 바 맵들을 선택하며, 이 때 서브픽셀 바 맵의 선택은 서브픽셀 바 맵의 지역 범위와 그 범위의 지역 범위를 고려한다. 그리고 또한 결합된 서브픽셀 바 맵에 의해 형성된 코너의 평가를 고려한다. 단편에 의해 넓혀진 각의 법위는 대력 45도를 포함하거나 또는 대략 90도를 포함한다. 변환은 대략 180도에 걸치는 잠재적 단편 방향의 범위로 서브 픽셀 맵을 적용하는 것을 제공한다.
당해 발명의 또 다른 적용은 코너 그리고 다각형의 첫 번째와 두 번째 모서리의 교차점에 대응하는 픽셀의 값을 계산하는 방법이다. 이는 다음의 것을 포함한다. 서브픽셀의 첫 번째 배열과 서브픽셀의 두 번째 배열을 포함하는 메모리를 제공하고 , 첫 번째 및 두 번째 배열 모두 픽셀에 대응한다. 첫 번째와 두 번째 모서리를 첫 번째 그리고 두 번째 라인으로 확장 한다. 첫 번째 배열의 서브픽셀을 채워짐 또는 비어 있음으로 첫 번째 라인에 의해 정의된 첫 번째 지역에 대응하도록 세팅한다. 두 번째 배열의 서브픽셀을 채워지거나 또는 비어있는 것으로 두 번째 라인에 의해 정의되는 두 번째 지역에 대응하도록 세팅 한다. 그리고 픽셀에 대응하는 교차점 내의 서브픽셀 세트를 슈퍼 샘플링하고 픽셀에 그레이 값을 할당한다. 이 실시예에서 첫 번째 와 두 번째 배열의 서브픽셀을 세팅하는 것은 첫 번째 및 두 번째 지역에 대응하는 미리-계산된 서브-픽셀 바 맵의 적용을 포함한다.
당해 발명의 특징은 기하학 특징의 큰 분량을 진행하기 위해 결합하고, 예를 들어, SLM 투사 기술을 이용하는 실행 단편 위에 정확한 패턴들을 발생시키는 것이다. 부가적인 발명의 특징은 레지스트 응답과 다른 프로세스 변수를 위한 보상을 촉진하는 것이다.
아래의 상세한 설명은 특징들과 관련하여 만들어진다. 선호되는 실시예는 당해 발명을 설명하기 위해 기술되었으며, 청구항에 의해 규정되는 이의 영역에 제한되지 않는다. 당해 발명의 일반적인 당업자라면 아래 설명의 동등한 변화의 다양성을 인지할 것이다.
새로운 칩 디자인은 마스크 제조와 직접적 쓰기를 위한 고 정밀 리소그래피 장치를 요구한다. 원하는 이미지를 방사하기 위한 리소그래피 장치에 의해 기하학 도메인으로부터 이용 가능한 포맷으로 변환될 필요가 있는 많은 데이터가 있다. 데이터 변환 기술은 다양한 리소그래피 방사 장치와 결합할 수 있다.
리소그래피 방사의 다양성 중 하나는 개개의 픽셀과 함께 마이크로거울이나 유사한 시스템을 이용한다. 마이크로거울 시스템은 픽셀마다 65 그레이 값을 지니는 픽셀의 512 *2048 배열을 이용한다. 시스템의 1kHz의 펄스 비율을 이용하는 이 크기는 대략 초당 1 기가 픽셀의 데이터를 마이크로거울 배열에 태울 것을 요구한다. 더 작은 배열, 예를 들어 256 * 256 그레이스케일 픽셀은 더 작지만, 여전히 실질적인 데이터 처리량을 요구한다. 단위 픽셀 당 257 그레이 값과 같은 그레이 스케일링의 더 큰 깊이는 어느 정도 더 큰 데이터 처리량을 요구한다. 선택적인 마이크로거울 시스템은 마이크로거울의 폭이 좁은 배열을 이용할 수 있었다. 예를 들 어, 1*512, 2*512 , 또는 4*512 거울이며, 이는 실행 단편을 가로질러 휩쓴다.
또 다른 리소그래피 투영의 기술은 하나 이상의 스캔된 빔의 이용을 포함한다. 빔은 TV 스크린 위의 이미지와 유사한 래스터 이미지를 생성하기 위해 시스템적으로 스캔이 될 수 있던지 또는 빔은 개개의 특성을 생성하기 위해 스캔된 벡터일 수 있다. 빔은 레이저, 전자, 이온 또는 소립자 빔일 수 있다. 일반적으로 어떠한 방사 빔이던지 사용될 수 있다. 당해 발명의 측면에 일치하도록 표현된 데이터는 스캔된 빔과 함께 사용을 위해 인코드된 런렝스(run length)이거나 또는 압축된 것일 수 있다.
프로세스 개관
리소그래피 장치는 투영된 방사에 민감한 표면 위로 이미지를 투영하기 위해 사용된다. 특히, 저항은 방사에 의해 노출된다. 투영된 이미지가 양인지 음인지에 따라 노출된 저항은 진보되며, 저항의 영역은 제거된다. 도 1A는 저항 노출의 두 패턴을 보여준다. 개개의 최고값(101)은 평평하게 배치된 위치에서 방사의 분배를 나타낸다. 마이크로거울 시스템을 위해, 이러한 배치는 빔이 스캔되기로 의도된 격자 위치를 나타낸다. 저항에 의해 흡수된 전체 에너지는 노출된 영역을 오버랩하는 방사 분배의 합이다. 커브(102)는 전체적 흡수 방사를 나타낸다. 저항은 특별히 매우 높은 콘트라스트(contrast) 이미지를 생산한다. 스레쉬홀드(103)보다 덜 흡수된 방사를 지니는 저항의 영역이 개발 후에 제거되는 동안, 개발될 때, 스레쉬홀드 위의 전체 흡수 방사를 지니는 저항의 영역은 강화된다. 전체 흡수 방사 커브(102)의 한 교차점으로부터 다른 교차점까지의 스레쉬홀드 라인(103)을 따르는 거리에 대응하는 저항 표면에서 특성의 길이는 생성된다. 도 1B는 특성의 한 모서리에서 방사량 감소에 의해 특성 크기의 적응을 도시한다. 도 1B에서, 모서리(104)는 최고 오른쪽 위치에서의 방사량이 대략 1과 1/2(106)정도 감소될 때 거리(105)에 의해 움직인다. 마이크로거울 시스템에서, 개개의 거울 요소는 하나의 픽셀로부터의 방사량을 감소시키기 위해 조정될 수 있다. 스캔된 방사 시스템에서, 스캐닝 방사의 정도는 특정 위치에서 감소될 수 있고 또는 방사는 빔이 이의 스캔에서 특정 위치에 도달하기 전에 짧게 공백이 될 수 있다.
시스템 구조 개관
당해 발명의 이미지 렌더링 엔진은 분할된 엔진, 래스터링 엔진과 구동 회로와 일치하여 사용될 수 있다. 도 2 는 데이터 경로 개략도를 제공한다. 이 데이터 경로는 입력으로서 미리 처리된 기하학적 데이터(201)와 함께 시작한다. 선행-프로세싱은(preprocessing) 계층적 또는 반복적 정보를 감소시키고, 효율적으로 기하학 표현 흐름을 편평하게 한다. 데이터 추출(202)은 특히 제 2 저장 장치로부터 미리-프로세스된 기하학적 데이터의 획득을 포함한다. 기하학적 변환(203)은 기하 기하학의 배열이 묘화 가능한 고정-지점 기하 기하학 배열(renderable fixed-point geometries, RFG)로의 변환 할 때의 과정이다. 분열(203)은 기하 기하학 배열의 마이크로 거울 실행에서 스탬프와 스탬프의 렌더링 윈도우에 대응하는 다른 윈도우 및 서브 윈도우로 변환의 과정이다. 분열하는 엔진의 출력은 하나 이상의 특정 기 록 포맷에서의 기하학 데이터이다. 그 데이터는 다각형 또는 다각형 그룹과 같은 기하학 특징을 나타낸다. 이는 사다리꼴과 같은 분할된 데이터를 나타내는데 유용하며, 그 곳에서 삼각형과 사각형은 사다리꼴의 서브 클래스이다. 사다리꼴의 평행한 모서리의 하나는 삼각형을 나타내기 위해, 영 또는 영이 아닌 길이를 갖는다. 분할된 데이터의 또 다른 유용한 표현은 삼각형 또는 삼각형의 체인(chain)이다. 당해 발명의 대부분 측면은 사다리꼴, 사각형, 삼각형 또는 다른 다각형 또는 기하학상 특징에 동등하게 잘 적용된다. 다각형 코너의 좌표들은 64번째 또는 128번째 픽셀 또는 그 이상의 정교함을 제공하기 위해, 서브-픽셀이나 7 비트 이상의 1/2 서브 픽셀 해상도와 함께 주어진다. 더 높거나 더 낮은 비트 해상도는 원하는 정확도와 이미지 방사 기술의 특성에 따라 사용된다.
이미지 렌더링 엔진(210)은 다양한 요소를 포함한다. 확장(211)은 렌더링에 앞서 확장하는 기하학적 반복의 과정이다. 분할된 기하학은 반복되는 RFG로서, 반복되는 기하학적 특성 또는 반복되는 기하학 특징 그룹과 함께 수신 된다. 확장은 RFG들을 그룹을 해제(ungroup)하므로 그들은 개별적으로 처리된다. 렌더링(212)은 묘화 가능한 고정-지점 기하 기하학 배열을 포함하는 다각형으로 래스터 된 이미지의 변환 과정이다. 렌더링 과정은 다중의 렌더링 프로세서에 의해 수행된다. 슈퍼 샘플링(212)은 마이크로 픽셀 해상도 이미지를 샘플링하고 그레이 스케일 픽셀 값을 계산하는 과정이다. (이 명세서에서, 서브-픽셀과 마이크로 픽셀은 일반적으로 픽셀의 같은 서브분할을 언급한다.) 슈퍼 샘플링을 위한 대안적인 가중 구조는 아래에서 설명된다. 모서리 이동(213)은 기하학적 기하학 배열의 축소나 확장 과정이 다, 예를 들어 레이저 접근 수정(LPC) 또는 광학 인접 수정(OPC)에 의해 인접하거나 빗나간 방사를 보상하는 것이다. 이미지 수정(214)은 비-선형성 과 광학 경로내의 적은 결점들을 위한 보상 과정이며, 방사 시스템의 단계 또는 다른 특성의 대체이다. 이것은 비-선형 이미지 재결합을 포함한다. 조명 변환(215)은 투영된 지역, 노출 방사내의 변화, 그리고 다중-경로 쓰기 간의 오버랩과 같은 요소를 고려한다. 거울 보상(216)은, 투영 시스템이 마이크로거울 배열을 이용할 때, 개개의 거울의 특이성들을 보상하기 위한 선행-대조를 적용한다. 거울 보상 요소는 전압에 대한 차별적 응답, 실행 순환 코스 동안에 대응되는 변화, 배열 내의 죽은 픽셀, 또는 마이크로거울 배열의 유사한 특징을 보상하기 위해 사용될 수 있다. 부가적 요소는 사용되는 방사 시스템에 필요하거나 적합한지 여부에 따라 렌더링 엔진(210)에 부가될 수 있다.
상기 구동 회로(220)는 구성(221)과 조정(222) 과정을 포함한다. 구성(221)은 다수의 렌더링 프로세스로부터 결과를 조정이 응답하기 위해 하나이상의 데이터 흐름으로 결합하는 과정이다. 구성자의 이용은 스케일 된 다수의 렌더링 모듈(330)을 허용한다. 예를 들어, 다수의 렌더링 모듈은 구성자 요소의 수정으로 인해 10에서 12 까지 조정 시스템으로의 인터페이스를 변화시키지 않은 채 증가된다. 마이크로 거울 시스템의 한 유형에서, 하나의 데이터 흐름은 조정을 위해 사용되며, 방사와 함께 마이크로거울 배열이 번쩍이기 전에 개개의 마이크로거울을 배치하기 위해서이다. 또 다른 마이크로거울 시스템의 유형은, 다수의 데이터 스트림은 마이크로거울이 실행 단편을 스캐닝하기 위해 사용될 경우, 다수의 마이크로거울 또는 다 수의 마이크로거울 성분과 매치 된다. 기존의 스캐닝 시스템에서는, 다수의 데이터 스트림은 사용되는 다수의 스캐닝 빔과 매치된다. 조정(222)은 집중된 데이터를 방사 시스템을 위한 구동 값으로 변화시키는 과정이다. 마이크로거울 시스템을 위해, 디지털-아날로그 변환기는 개개의 거울 요소에 적응하는 아날로그 전압을 생성하기 위해 사용될 수 있다. 스캐닝 시스템을 위해, 구동 신호는 전자, 이온, 소립자 방사를 위해 방사빔 또는 동일 제어 요소를 수정하는 음향-광학 모듈레이터를 제어하기 위해 사용 된다.
비선형 변환기는 각각의 재-샘플 된 픽셀에 대한 픽셀 재-샘플 기울기의 적용을 요구한다. 대안적으로, 각각의 픽셀을 위한 기울기는 출력 픽셀 값을 생산하기 위한 컨볼루션 핵심에 의해 샘플 될 수 있다. 그 컨볼루션 핵심의 이웃은 기울기의 크기를 허용하는 최대치에 의존적일 것이다. 하나의 기울기는 3*3 핵심에 의해, 두 개의 픽셀 기울기는 핵심에 의해 샘플 될 수 있었다.
투영 시스템은 특히 또한 스위프(sweep)(230)와 레티클(reticle)(240)을 포함한다. 스위프(230)는 방사에 노출되어 있는 레티클(240)의 영역을 가로질러 이미지 정보를 전송한다. 상기 레티클(240)은 방사 시스템 작동에 대한 실행 단편이다.
래스터 클러스터 개관 ( Raster Cluster Overview )
도 3은 데이터 처리의 개략도를 제공하는 블락 다이어그램이다. 라이터 제어기(310)는 실행 단편위의 이미지 투영을 제어한다. 라이터 연결기(310)는 함께 통신하는 하나 이상의 인터페이스에 의한 클러스터 좌표 처리기와 함께 결합한다. 도 3에서, 텔넷 인터페이스와 래스터하기 위한 인터페이스에 대한 라이터(WRI)가 묘사되었다. WRI 인터페이스는 TCP/IP 소켓과 라이터 제어기(310)에 기능하는 관리 제어 소프트웨어와 클러스터 좌표 처리(321)간의 인터페이스를 포함한다. 이 인터페이스는 분할된 엔진 내의 추출 및 데이터 계산의 과정과 실행 단편의 노출과 함께 래스터 과정을 동시에 발생시킨다. 이 인터페이스를 가로질러, 클러스터 좌표 프로세스(321)는 라이터 제어(310)에게 단계와 쓰기 기능의 현 단계의 위치를 보고한다. 상기 클러스터 좌표 프로세스(321)는 RFG 기하학적 배열을 만들기 위한 렌더링 모듈(330)에 의존하는 프로세스(320)들의 그룹의 하나이다. 상기 클러스터 레벨 프로세스들(320)은 다수의 클러스터(322,324)들을 지원한다. 클러스터들은 클러스터 제어기(323)를 포함하며, 이는 제공 및 마스크 쓰기 과정(323)을 제공한다. 클러스터는 또한 하나 이상의 렌더링 모듈(331)을 포함한다. 클러스터 제어기(323)는 7개까지의 렌더링 모듈을 제공하기 위해 디자인되며, 존재하는 PCI 프로토콜과 일치하거나, 또는 더 많거나 더 적은 모듈과 원하는 처리량을 획득하기위해 요구되는 다근 버스 구조, 그리고 다른 버스 프로토콜과 일치하는 다른 버스 구조를 위해 디자인된다. 도 3에서 설명되는 수행의 조직은 유연성과 비례 축소가 가능함을 제공한다. 부족한 유연성과 높은 속도 작동은 대안적인 하드웨어 조직을 통해 얻을 수 있다.
클러스터 제어기 레벨에서의 이 개략도는 아래에서, 당해 발명의 다양한 방법이 실행되는 경우의 하드웨어의 부가적 묘사에 의해 보충된다.
래스터 방법들의 개관
도 4C는 당해 발명의 측면을 이해하는데 도움이 되는 설명 기술을 위한 기반을 제공한다. 상기 SLM(공간 빛 모듈레이터)는 , 상기 발명의 실질적 측면의 한 실시예에서, 노출을 위해 사용되는 레이저 펄스를 조정하기 위해 사용되는 마이크로거울들의 사각 배열이다. 스탬프(예를 들어, 431A-431E, 개별적으로 또는 434A-434F, 전체적으로)는 상기 SLM의 단일 노출을 나타낸다. 스트립(strip)(예를 들어, 432)은 오버랩 된 스탬프의 수평적 시리즈이다. 수평은 상기 스트립의 물리적 표현이거나 아닐 수 있다. 수평은 스트립의 방향에 의해 정의되며, 이는 차례로 실행 단위를 가로지르는 SLM의 스위프 움직임에 의해 정의된다. 상기 스탬프 지역은 오버랩 지역을 포함한다. 스트립 내의 상기 스탬프의 높이는 똑같거나 다를 수 있다. 왼쪽에서 -오른쪽으로 또는 오른쪽에서-왼쪽으로 방향 중 하나를 또는 둘 모두를 가질 수 있다. 이미지는 스트립의 수직의 일련이다. (예를 들어, 432를 통해 432A-432C). 그 개개의 스트립들은 같은 폭을 갖거나 갖지 않을 수 있다. 이미지의 그 스트립들은 스트립의 인접한 스탬프에 유사한, 수직적 오버랩 지역(433)을 갖는다. 스탬프들 간의 그 오버랩은 아래에서 더 상세히 설명될 것이다. 스탬프들은 하나 이상의 모듈레이터 윈도우들(434A-434F)로부터의 데이터로 구성된다. 대안적으로, 모듈레이터 윈도우는 전체적 스트립(432) 또는 다수의 스탬프들의 간격을 넓히는 서브-스트립을 포함할 수 있었다. 그 렌더링 윈도우의 분할은 래스터 된 엔진의 데이터 경로내의 평행을 수행하기 위해 사용되었다. 스트립들은 두 개 이상의 서브-스트립들(432A-432C)로 나뉠 수 있다. 서브-스트립들은 오버랩이 필요하지 않다. 왜냐하면, 그들은 단일 스탬프 노출에 의해 출력되기 때문이다. 렌더링 프로세스에서, 뒤에 설명할 그들의 확장 영역은 오버랩하고 따라서 서브-스트립들을 발생하기 위한 입력 데이터는 약간 오버랩 된다. 서브-스트립들의 분배를 스탬프들 내부의 모듈레이터 윈도우 간의 분할에 대응한다. 하나의 스트립 내의 서브-스트립들은, 상기 이미지의 한 측면으로부터 다른 측면까지 같은 폭을 가지나, 반드시 같은 높이를 가질 필요는 없다.
도 26은 래스터와 렌더링의 개략도를 더 상세히 제공한다. 이는 변수 파일들(2611-2626)을 나타내고, 소프트웨어(2630-2645), 변수 로딩(loading), 그리고 렌더링 모듈(2662-2668)의 기능적 성분을 지원한다. 많은 데이터 테이블이나 파일들의 이용은 시스템의 유용성을 증가시킨다. 테이블 내에 보다 바람직하게 저장되는 데이터 값들은, 선택적으로, 당해 발명의 소프트웨어, 펌웨어, 또는 하드웨어 실현 측면으로 코드화 될 수 있다. 하드 코딩은 특히 유연성을 감소시키나 수행을 증가 시킨다.
도 26에서, 마스크 변수 파일(2611)은 정적인 변수를 위해 사용된다. 프로세싱은 스트립 기반에 의해 스트립 위에서 행해진다. 프로세스 임계 정보는 스트립으로부터 스트립까지 변한다. 입력 파일의 일부는 스트립으로부터 스트립까지, 마스크-부분으로부터 마스크-부분까지 그리고 일에서 일까지 같게 된다. 시스템 내에서 로드된 변수의 교체는 플랫폼 프로세서의 CPAS 소프트웨어 과정에 의해 마스크 단위 또는 스트립 단위에 따라 수행되어 진다. 당해 발명의 더 상세한 측면은 시스템에서 사용되는 변수는 스트립 내에서 변경될 수 있다. 예를 들어, 쓰기 과정이 실 행 단편의 중앙보다 더 뜨겁게 달구어진 저항이 있는 실행 단편의 코너에 도달하는 것과 같다.
그 스트립 헤더 파일(2612), 윈도우 섹션(2613), 그리고 명령 변수(2614)는 스트립 내의 모든 스탬프에게 일반적인 정보를 포함한다. 이는 SLM 분할을 윈도우들로 나타낸다. RASE 프로세싱에 영향을 미치는 변수들은; 다수의 서브-스트립들, 이는 SLM 의 Y축 분할을 모듈레이터 윈도우들로 나타낸다. 이 변수는 시스템 구조 내의 다수의 모듈에 대응한다. 서브-스트립 높이들의 테이블, 이는 렌더링 어드레스 발생 프로세스를 위한 서브-스트립을 이용하고 프로세스의 데이터를 읽어 들이는 RP(렌더링 프로세서)에 영향을 미친다. 이는 또한 픽셀 데이터 칼럼 높이 변수에 영향을 미친다. 서브-스트립 Y 좌표의 테이블은 파생한다. 이는 개개의 서브-스트립을 위한 Y 오프셋을 수여하기 위한 기하학 선행-프로세서에 의해 사용된다. 그 렌더링 윈도우 크기 X, 이는 기하학 선행-프로세서에 영향을 미치고, 이는 복합 기하학적 기하학 배열의 분할을 위한 X 윈도우 크기를 사용한다. 이는 또한 RP의 어드레스 발생기에 의해 보호 윈도우 끊기를 위해 또한 사용된다. 렌더링 윈도우 피치(pitch) X는 렌더링 윈도우 간의 거리이다. 상기 X 오버랩 지역 크기는 SLM 크기와 렌더링 윈도우 피치 간의 차이로부터 계산 될 수 있다. X 피치는 복합 기하학적 기하학 배열의 분할과 RP에 나타나는 기하학적 기하학 배열 상의 좌표 오프셋 계산을 위해 기하학적 선행프로세서(PP)에 의해 사용된다. 상기 확장 지역 크기 X와 Y는 인접 픽셀 방향(모서리 이동)에 의해 사용되고, PP 내의 분할에 영향을 미친다. 상기 렌더링 윈도우 크기에서 확장 지역을 뺀 것은 모듈레이터 윈도우 크기 와 같다. 이 변수는 AP의 내재적 변수이며, AP의 디자인과 항상 매치 되어야 한다. 상기 조정 변수 파일(2621)은 다수의 데이터 타입들을 포함한다. 이는 일반적으로 조정 프로세서 내에 실현되는 프로세서에 대한 제어 정보를 포함한다. 이 변수 섹션은 지역 코드의 런렝스 인코드 된 비트맵을 포함한다. 개개의 모듈레이터 윈도우를 위한 다수의 지역 코드들은 128까지의 하나의 실시예 내로 제한된다. 그러나 SLM 을 위한 지역코드의 전체 숫자는 512만큼 높다. 각각의 런렝스 기록은 두 가지 값을 갖는다. 오버랩 지역 ID 와 지역 코드. 다수의 오버랩 지역 ID 의 것은 모듈레이터 윈도우당 최대 15로 제한된다. 그 파일의 조명 변환 섹션은 그 오버랩 지역 ID 들의 각각을 위한 하나의 전달 함수 테이블을 포함한다. 상기 거울 테이블 섹션은 각각 거울 보상 계수 [Cn](n=1...4)를 위한 하나의 스케일/오프셋 엔트리 [Cn2/Cn1] 을 포함한다. 상기 AP 변수 파일의 거울 기능 섹션은 거울 보상 계산의 두 가지 기능을 위한 함수 테이블과, 각각의 변수 C1....C4를 위한 스케일/오프셋 세트를 포함한다. 상기 거울 구경 측정 파일은 하나의 픽셀마다 4개의 구경 측정 변수를 지니는 SLM 각각의 픽셀을 위한 하나의 엔트리를 지니는 이미지 맵을 포함한다. 비트 폭들과 관련된 일반적 정보와 거울 보상 기능을 위한 오프셋들은 AP 변수 파일의 거울 테이블 섹션 내에 저장되어 있다. 이 파일은 기반 텍스트인 다른 변수 파일들과는 달리 크기 분별 등을 위해 2진수 형식이다. 이러한 파일들이나 이 파일들의 섹션들의 그 할당은 당해 발명의 제한이 아니며, 단지 하나의 실시예이다.
상기 수정 요소는 광학 경로의 정적 또는 시스템적 특징의 수정을 위해 파일 내에 저장되거나, 또는 단계 배치와 같은 시스템의 동적 또는 무작위적 특징을 위해 실시간으로 발생된다.
상기 CPAS 소프트웨어(2630)는 파일들로부터 렌더링 모듈들(2660)로 변수들을 제공한다. 그 변수 파일들에 대응하는 상기 논리적 블락들(2631-2645)은 위에서 설명되었다. 상기 CPAS 소프트웨어는 방사 노출 요구에 일치하도록 실시간으로 렌더링 모듈 내의 변수들을 수정한다. 적어도 3개의 저항 이슈들은 레티클의 쓰기 또는 칩의 직접 쓰기 동안 렌더링 모듈들(2660) 내에서 변수를 변화시킴으로써 어드레스 될 수 있다. 표면위에 저항의 구움은 전체적으로 균일하지 못하다. 많은 경우, 표면의 모서리나 코너 등이 더 빨리 구워지거나 또는 표면의 중앙보다 더 완전하다. 변수들은 실행 단편의 그 부분의 구움 특징에 따라, 노출된 실행 단편 위의 위치를 고려하여 놓여 질 수 있다. 그 모서리 이동과 조명 변환 변수들은 표면 구움 특성에 대응하기 위해 사용될 수 있다. 다음으로, 노출 방사에 대한 저항은 어떻게 노출이 축적되는가에 따른다. 즉, 방사투여들은 저항에 대해 선형 부가 효과를 지니지 않는다. 많은 저항들은 그들의 초기 노출로 인해 민감하게 된다. A의 방사 투여량을 따르는 B는 단일 투여량 C보다 더 큰 응답을 생산한다, 그 곳에서 에너지들은 A+B=C 이다. 저항 활성은 연속되는 프린팅 경과들에서 적합한 변수들을 렌더링 모듈로 로드 하는 CAPS 소프트웨어를 지님으로써 고려될 수 있다. 게다가, 저항 에이징은 노출 방사에 대한 응답에 영향을 미칠 수 있다. 일부의 저항들은 다중 경과 내의 레티클이나 칩의 노출을 위해 요구되는 시간에 비교할 때 짧게 산다. 저항이 나이가 들어감에 따라, 점점 덜 민감해진다. 저항 에이징은 저항 에이징에 기반을 둔, 렌더링 모듈로 로드 하는 CAPS 소프트웨어를 지님으로써 고려될 수 있다. 대안적으로, 이러한 이슈들은 ESCF(에너지 스프레드 보상 요소) 테이블내의 값들에 의해 어드레스 될 수 있으며, 이는 기하학적 확장 모듈(2662)로부터 조명 변환 모듈(2666)까지 통과한다.
클리핑에 대한 대안으로의 보호 윈도우
도 4는 분열된 기하학적 기하학 배열의 개개 요소를 만들기 위한 보호 지역과 보호 윈도우의 이용을 도시한다. 이 도면 내에 도시된 그 지역은 렌더링 윈도우(401), 보호 윈도우(402), 그리고 렌더링과 보호 윈도우 간의 보호 지역(403)을 포함한다. 상기 렌더링 윈도우는 보다 작은 어드레싱 윈도우이며, 보호 윈도우는 보다 큰 어드레싱 윈도우 이다.
도 4A는 분열 프로세스내의 기하학상 특징들을 클리핑하기 위한 대안으로서 렌더링 프로세스 내의 보호 지역과 보호 윈도우의 사용을 도시한다. 렌더링 윈도우(401)는 이후의 투영을 위해 기하학상 특징들이 표현될 수 있을 때 메모리에 대응한다. 상기 렌더링 윈도우(401)는 보호 윈도우(402)에 의해 둘러싸여 있다. 상기 보호 지역(403)은 렌더링 윈도우(401) 밖의 보호 윈도우(402)의 부분이다. 기하학상 특징, 예를 들어 다각형, 사다리꼴, 사각형, 오각형, 삼각형, 등은 렌더링을 위해 수신된다. 기하학상 특징들은 볼록하게 된다. 렌더링 윈도우(401) 이내에 떨어지는 소위 표현 가능한 고정-지점 기하학(RFG)이라 불리는 기하학 특징(404)은 대응하는 메모리에 표현된다. 렌더링 윈도우와 보호 지역양쪽에 걸치는 기하학상 특 징(405)은 부분적으로 메모리에 표현된다. 보호 지역은 렌더링을 위해 어드레스로 끄집어낼 수 있으나, 그 데이터는 이미지의 투영을 위해 메모리에 적히지 않는다. 렌더링 윈도우 외부의 그 데이터는 버려진다. 상기 보호 지역은 메모리에 대응되지는 않으나, 이런 의미에서 렌더링 윈도우는 메모리에 대응된다. 보호 지역에 어드레스된 데이터는 필터로 매우 빠르게 처리될 수 있다. 왜냐하면 메모리 전송이 요구되지 않기 때문이다. 렌더링 윈도우와 보호 지역 양쪽에 걸친 기하학상 특징은 분열동안 렌더링 윈도우의 경계에서 잘려지지 않는다. 아래에서 설명하는 대로, 하드웨어는 렌더링 윈도우의 내부와 외부 모서리들을 동시에 만들도록 구조될 수 있다. 이 렌더링은 렌더링 윈도우의 내부와 외부 모서리 간을 구별하지 않는다. 렌더링 윈도우 내부의 기하학 특징의 부분만을 렌더링 하는 것에 비교할 때, 렌더링 윈도우 외부의 모서리와 지역의 렌더링은 양쪽에 걸쳐 있는 기하학상 특징(405)의 상당히 느린 렌더링이 아니다. 기하학상 특징의 렌더링은 두 가지 방법으로 기하학상 특징을 제함함으로써 도움을 받을 수 있다. 첫 번째로, 기하학상 특징은 크기 내로 제한 될 수 있기 때문에 어떠한 기하학상 특징도 렌더링 윈도우(401) 내부와 보호 윈도우의 외부에 떨어질 수 없다. 두 번째로, 상기 기하학상 특징들은 렌더링 전에 필터 될 수 있고 따라서 어떠한 렌더링 윈도우(401) 외부의 전체적인 기하학 특징도 렌더링 윈도우를 위해 처리될 수 없다. 보호 지역에 표현된 데이터는 그것이 더 상세히 설명될 캐쉬 버퍼 내에 저장되기 전에 필터 되거나 버려질 수 있으며, 또한 메모리 대역폭 로드를 줄일 수 있다. 대안적으로, 어드레싱 회로는 기하학상 특징이 마이크로 픽셀 캐쉬로부터 렌더링 윈도우에 대응하는 버퍼 메모리로 변환될 때 보호 지역 내에서 어드레스들은 인식할 수 있다. 이 어드레싱 회로는 기하학 특징의 쓰기들을 렌더링 윈도우로 끊을 수 있다. 상기 어드레싱 회로는 렌더링 윈도우의 유효한 어드레스들 지니는 어드레스 신호들을 비교할 수 있고 쓰기 가능을 제어한 결과나, 또는 또 다른 메모리 조정을 이용한다. 대안적으로, 보호 지역 내의 고정 길이 채움 지시 시작 또는 끝은 윈도우 내의 지시 떨어짐의 부분과 매치되기 위해 수정될 수 있다. 보호 윈도우 내의 단절된 지시 떨어짐은 어드레스 처리 회로에 의해 무시될 수 있다. 보호 지역을 구현하는 어드레싱 회로 또는 메모리 제어기는 로드 평균을 획득하기 위해, 조정 프로세서를 구현하는 회로와 일치하여 설명된 FIFO 메모리와 함께 결합될 수 있다. 렌더링 처리에서, 기하학 특징의 섹션들은 반복적으로 선택되고 마이크로 픽셀 캐쉬들은 아래에서 설명된 것과 같이 발생된다. 상기 마이크로 픽셀 캐쉬들은 섹션에 대응하는 표현된 설명 데이터의 하나의 선택적인 세트이다. 마이크로 픽셀 버퍼는 또 다른 표현이다.
렌더링과 보호 윈도우 개념의 확장은 확장 지역이다. 확장 지역은 렌더링 윈도우(401)의 각 모서리 외부의 적은 픽셀들을 포함한다. 렌더링 윈도우 같은 확장 지역은 메모리에 대응한다. 그러나 확장 지역 내의 상기 픽셀들은 이미지 투영을 위해 사용되지 않는다. 그러나 그들은 렌더링 윈도우의 모서리에서 하나 이상의 픽셀의 컨볼루션을 위해 사용될 수 있는 인접 픽셀을 생성한다. 확장 지역의 크기는 어떠한 컨볼루션에서든지 사용되는 가장 큰 인접 픽셀들을 지원한다. 예를 들어, 5*5 컨볼루션 필터 내지 인접한 것이 사용되거나, 또는 3*3 컨볼루션 필터들, 확장 지역은 적어도 2개의 픽셀이어야 하며, 따라서 렌더링 지역 모서리의 픽셀들은 컨 볼루션을 위한 5*5 이웃을 생성하기 위해 각각의 방향내의 두 개의 픽셀들에 의해 둘러싸인다.
렌더링 윈도우 개관
도 4B 는 마이크로 거울 배열의 적용에 따라, 렌더링 윈도우의 기하학 특징에 대해 보다 상세히 설명하고 있다. 마이크로 거울 배열의 두 개의 플래쉬(flash)들이 도시되었다(460,470). 451,461을 포함하는 그 배열(460)은 이 실시예에서 분리되어 4 개의 렌더링 윈도우로 분할된다. 상기 배열은 수평적, 수직적 또는 렌더링 윈도우에 적합한 수로 분배된다. 512 * 2048 배열은 10개의 렌더링 윈도우로 분리된다. 예를 들어, 렌더링 실행을 10개의 렌더링 처리들로 분배한다. 렌더링 윈도우(451, 461)는 보호 지역(453)에 의해 또한 둘러싸인다. 스탬프 스트립(475)은 다수의 스탬프 투영들을 포함한다. 서브 스트립(471,481)은 다수의 렌더링 윈도우와 그들의 확장 지역을 포함하며, 이는 다수의 스탬프들을 가로질러 확장한다. 서브 스트립들과 확장 지역들이 렌더링 윈도우들보다 큼에 따라, 어드레싱에 대한 근원은 확장 지역(465)의 한 코너이다. 이 근원은 특정 렌더링 윈도우나 이의 확장 지역을 위해 지역 어드레싱에 사용되거나 또는 서브 스트립이나 스탬프 스트림을 통하여 전체적 어들레싱에 사용된다. 지역 어드레싱은 기하학 모서리들의 인터폴레이션(interpolation)을 위해 요구되는 다수의 비트들을 감소시킨다. 어드레싱을 위한 또 다른 유용한 근원(origin)은 보호 지역(463)의 한 코너이다.
도 4D는 지역 좌표 시스템에 전체 좌표의 변환을 나타낸다. 입력 흐름, 좌표 들의 한 타입은 현재 스트립에 적절한 소프트-픽셀 내에 주어진다. 소프트-픽셀은 마이크로 픽셀의 하나 반이다. 선행-프로세서의 한 기능은 모든 좌표들을 상대적 근원으로 변환하면서, 렌더링 프로세서를 위해 좌표들을 준비하는 것이다. 이 특징에서, 사다리꼴(404)은 렌더링 윈도우(401)이내에 포함되고, 이는 보호 윈도우(402) 이내에 있다. 상기 좌표 변환은 도면에서 보이는 벡터 조작들에 의해 서술된다.
M = (Mx,My) = 스트립에 관한 현 모듈레이터 윈도우의 근원
G = (Gx,Gy) = 스트립에 관한 현 보호 윈도우의 근원
V = (Vx,Vy) = 변형된 기하학 좌표들
m = (mx,my) = 보호 윈도우 근원과 관련된 현 모듈레이터 윈도우의 근원
v = (vx,vy) = 새로운 기하학 좌표들
이라고 하면,
G = M - m
v = V - G
이러한 식들을 결합하면,
vx = Vx - Mx + mx
vy = Vy - Gy
의 식이 도출된다.
변수 Mx,mx 그리고 Gy 는 레지스터들 내에 저장된다. Mx는 9비트의 부호를 지니지 않는 정수이다. Mx=k*SLM_PITCH*128, 이때 k는 스탬프 숫자이며, k>=0. mx는 9비트의 부호를 지닌 정수이다. Gy는 또한 11 비트의 부호를 지닌 정수이다. 주의 할 점은 변수 값들은 마이크로 픽셀 내에서 표현된다는 것이다.
또 다른 실시예에서, 렌더링 윈도우는 심지어 전체 서브 스트립만큼 마이크로거울 배열보다 넓다. 단일 렌더링 엔진이나 렌더링 엔진들의 그룹은, 렌더링 엔진의 수행이나 구조, 요구되는 처리량( 예를 들어, 큰 영역 라이터들) 그리고 표현된 출력의 버퍼링에 따라, 전체 서브 스트립이나 스탬프들의 스트립을 발생시킨다. 넓은 렌더링 윈도우는 스캔된 방사를 이용하는 방사 시스템 또는 연속된 마이크로 거울 배열의 플래쉬들 간의 실질적인 오버랩을 지니는 마이크로거울 기반 시스템에 특히 유용한다. 이 실시예에서, 렌더링 윈도우의 섹션들은 연속된 플래쉬들을 위해 밖으로 읽어 낼 수 있다.
향상된 해상도를 위한 픽셀들과 서브-픽셀들
도 5A-B 는 하나의 픽셀에 할당된 그레이 값을 나타내기 위해 마이크로 픽셀 또는 서브-픽셀 배열의 이용을 나타낸다. 위에서, 도시된 도 1A-B 는 모서리 위치에 놓인 하나의 픽셀 그레이 값의 영향을 나타낸다. 도 5A-C, 65 그레이 레벨(모든-흰색을 포함하는)을 나타내는 서브-픽셀들을 나타낸다. 상기 같은 법칙들은 5,10,17,26,37,50,82,101,122,145,170,197,226,257, 또는 일반적으로, n 제곱 더하기 1 그레이 레벨들의 이용에 적용된다. 유사한 법칙들은 4,8,16,32,64,128,256 그레이 레벨들의 이용에 적용된다. 픽셀을 나타내기 위해 서브-픽셀들의 8*8 격자를 이용하는 것이 편리하다. 다른 격자 구조들은 3*3 서브-픽셀들, 4*4 서브-픽셀들, 16*16 서브-픽셀들 내지 그 이상을 포함한다. 이러한 서브-픽셀들은 온(on) 또는 오프(off)로서 내지 비어있음 또는 채워짐으로 여겨진다. 왜냐하면 저항들은 노출에 대해 음 또는 양의 응답을 갖는다. 서브-픽셀의 음 EH는 양의 표현은 임의의 규칙이다. 도 5A 는 픽셀의 중앙을 가로지르는 기하학 특징의 수직 모서리를 나타낸다. 그 픽셀은 서브 픽셀의 8열(501)과 8행(502)을 지닌다. 상기 기하학 특징 모서리는 픽셀의 윗변을 따라 얼마간 떨어져서(510) 교차한다(503). 이 실시예에서, 기하학 특징 모서리들은 픽셀의 밑변을 따라 같은 거리를 두고 떨어져서(511) 교차한다. 기하학 특징 모서리에 의해 한정된 상기 기하학 지역은 정확히 상기 픽셀의 반이다. 이 특별한 에지는 서브-픽셀들 간의 경계를 따른다. 모서리 왼쪽 상기 어두운(shaded) 서브-픽셀들은 음영 다이어그램 규칙에 의존함에 따라, 모서리에 의해 정해진 특징의 내부나 또는 외부이다. 모서리 오른쪽의 그 흰색 서브-픽셀들은 그 특징의 내부나 외부이다. 상기 32 개의 어두운 서브-픽셀들은 픽셀 면적의 반을 나타낸다. 32의 그레이 값은, 어두운 서브-픽셀들의 수에 대응하여, 픽셀에 할당될 수 있다. 도 5B는 기하학 특징의 대각선 모서리를 나타낸다. 이 모서리는 4*8로 표현되는 거리를 두고(530) 중앙에 있는 정상 픽셀 모서리를 교차한다. 이 모서리는 7의 거리를 두고 바닥 픽셀 모서리(531)를 교차한다. 기하학 특징 모서리의 왼편 지역의 상기 기하학 면적은 픽셀의 68.75 퍼센트이다. 이 기하학 지역은 계단-스텝 패턴 내의 44 개의 서브-픽셀들에 의해 표현되며, 이는 음영 지역의 기하학 면적에 정확히 매치되는 면적을 갖는다.
서브-픽셀들의 상기 격자 표현은 서브 픽셀 경계들 간을 교차하는 기하학 특징 모서리를 허용함으로써 더욱 다듬어진다. 서브-픽셀의 모서리를 2,4,8,16,32 또는 64 와 같은 증분과 같이 제곱에 의해 표현되는 다수의 증분들로 나누는 것이 편리하며, 서브-픽셀의 양 모서리들을 세어나갈 경우, 이는 3,5,9,17,33, 또는 65 에 대응되는 각 서브-픽셀의 잠재적 교차 지점이다. 경계들 간의 서브-픽셀 모서리들을 교차하기 위한 기하학 특징 모서리를 나타내기 위해 사용되는 서브-픽셀들의 숫자나 패턴은 아래에서 설명되는 바와 같이 먼저-계산될 수 있다.
두개의 레벨 렌더링
도 6은 상기 픽셀들의 그레이 값들을 나타내기 위한 서브-픽셀 배열을 이용하여, 하나의 픽셀 격자위의 두 가지 기하학 특징들을 나타낸다. 격자(510)는 픽셀들의 8행(602)을 포함한다. 두 개의 기하학 특징들(610,611)은 기하학 영역으로부터 픽셀 위로 표현된다. 격자(620)는 각의 픽셀들이 흰색(W),그레이(G), 검은색(B) 인지를 표현한다. 픽셀(621)은 검은색이다. 픽셀(622)은 그레이이다. 그리고 픽셀(623)은 흰색이다. 데이터의 두 비트들이 각각의 픽셀을 표현하기 위해 사용될 수 있다. 00=B, 01-W, 10=G 그리고 11=역(reversed)으로 이다. 픽셀(624)은 서브-픽셀들의 격자(640)에 의해 표현된다. 픽셀 격자(620) 내의 흰색 또는 그레이의 음영 픽셀들은 그 기하학 특징의 하나의 내부에 있다. 다른 픽셀들(642)은 기하학 특징들의 외부이다. 격자(630)는 각각의 픽셀들을 위해 그레이 값을 나타낸다. 예를 들어, 기하학 특징(611)의 왼쪽 모서리에 대응하는 픽셀들은, 이 때 그곳에서 그 모서리는 픽셀을 반으로 나누고, 1/2(또는 32/64)의 그레이 값을 지닌다, 기하학 특징(611)의 빗변 위에서 1/2의 그레이 값을 갖거나, 기하학 특징의 내부에서 완전히 온(on)을 나타내는 1의 그레이 값을 갖는다. 픽셀(634)은 격자(640)내의 40 음영 서브-픽셀들에 대응하는, 5/8의 그레이 값을 갖는다. 파이프라인 또는 다른 최적화된 구조물, 독립적인 채널들은 가장 먼저, 픽셀 맵 해상도에 그리고 다음으로 마이크로 픽셀 캐쉬들의 높은 해상도에 접근을 제공한다.
픽셀들의 서브-픽셀 포현은 메모리 위치에 대응할 수 있으며, 예를 들어 32 또는 64 비트 워드들, 각각의 픽셀들에 직접적으로 맵핑된다. 대안적으로, 포인터 구조는 각각의 그레이 픽셀들을 서브-픽셀 격자들을 저장하는 위치에 맵핑하기 위해 사용될 수 있다. 어떤 경우에도, 상기 서브-픽셀 격자들은 그레이 픽셀들을 위해서만 업데이트 될 필요가 있으며, 흰색 또는 검은 색 픽셀들을 위해서는 아니다. 서브-픽셀 배열은 각각의 서브-픽셀들 값의 변화 없이 대응하는 픽셀 배열 요소 "B" 을 표시함으로써 효율적으로 지워질 수 있다. 그 다음에는 서브-픽셀 격자가 이용된다, 값들은 먼저 데이터를 읽지 않고 서브-픽셀 격자에 쓰여 질 수 있다.
다른 실시예에서, 서브-픽셀들은 2진수 값 대신에 그레이 값들로 할당 될 수 있다. 픽셀들의 결합을 위한 일부 논리적 연산은 더하기 또는 빼기 연산에 의해 대체될 필요가 있다. 서브-픽셀들 내의 그레이 값들은 해상도를 더 정제하기 위해 사용 될 수 있다.
요약 캐쉬를 지니는 두 개 레벨
해상도의 두 레벨을 이용하는 이 방법 및 기구의 한 증진은 서브-픽셀 배열이나 격자의 그레이 값을 요약하기 위한 메모리 위치의 3번째 세트의 소개이다. 일부 하드웨어 구현에 있어서, 파이프라인 구조의 경우, 상기 서브-픽셀 격자의 그레이 값은 서브-픽셀 격자 내에서 데이터가 쓰이거나 기록되는 때에 계산될 수 있다. 상기 그레이 값은 다수의 비거나 차있는 서브-픽셀들의 합계이거나 비거나 차있는 서브-픽셀들의 가중 합계일 수 있다. 가중은 마이크로거울 배열이나 레이저 빔 스위프에 이점이 있다. 왜냐하면, 투영된 빔의 초점 포인트에서 투영된 방사의 강도가 중앙으로부터 약간 떨어진 곳의 강도보다 크기 때문이다. 최상의 방사 급원들과 연관된 방사 강도들의 가우시안 분배는 서브-픽셀들의 가중된 합에 의해 나타나는 것 보다 낫다. 도 44는 8*8 서브-픽셀들의 배열 내의 방사 노출의 가우시안 또는 이와 유사한 분배를 나타내기 위해 단지 10 웨이트(weight)들 의 이용을 도시한다. 이의 본성에 의하면, 가우시안 또는 이와 유사한 분배는 대칭적이며, 따라서 픽셀의 4 사분면에 적용 가능한 웨이트들은 마찬가지로 획득할 수 있다. 대칭은 게다가 단일 웨이트 또는 계수를, 예를 들어 2,3,4,6 그리고 9로 명명된 서브-픽셀 쌍들, 열거된 서브-픽셀들의 할당된 수렴쌍이 되도록 허용한다. 대칭의 이 연장과 관련하여, 계산은 가중을 적용하기 전에 모든 4 사분면 내의 동일하게 가중된 2 서브-픽셀들을 계산함으로써 스트림라인(streamlined)될 수 있다. 처리는 가중으로부터 웨이트 적용까지 나아갈 수 있다. 그 웨이트와 웨이트들의 합은 2배 표현을 이용하는, 고정 지점 수리 표현을 이용하여 계산되어야 한다. 웨이트들의 합은 그 후 사용 전에 반올림될 수 있다 .할당된 웨이트들과 심지어 웨이트를 구현하기 위해 당 해 발명의 일부 실시예에서 사용되는 게이트(gate) 프로그래밍은 필드 프로그램가능(field programmable) 하고, 이는 Xilinx의 부분적 재구성 인터페이스와 같은 로직을 이용한다. 도 44에서의 접근은 원이나 또는 더 큰 이웃으로부터 샘플링에도 잘 확장된다. 더 큰 이웃으로부터의 슈퍼샘플링은 정사각형 이웃으로부터 효율적으로 원형의 샘플링을 발생하기 위해 정사각형의 코너 내의 웨이트를 영으로 설정할 채, 정사각형 내에서 실행 될 수 있다. 슈퍼샘플링에서의 많은 변화들은 당해 발명과 일치하며, 실질적이고 필드 프로그램가능(field programmable)하다.
메모리 위치의 세 번째 세트를 이용하는 대안은 각각의 픽셀들을 나타내는데 사용되는 다수의 비트들을 증가시키는 것이다. 그 결과 그레이 값은 픽셀 격자에 의해 표현될 수 있다.
도 7은 마이크로 픽셀 캐쉬에 적을 때 픽셀의 그레이 값을 요약하기 위해 정보를 읽어내는 곳에 적용될 수 있거나 또는 적용할 때 채용될 수 있는 하나의 하드웨어 설계를 나타낸다. 도 7은 해상도의 2개의 레벨을 지니는 64 비트 마이크로캐쉬 내의 다수의 온/오프 마이크로 픽셀을 카운팅하는 것을 나타낸다. 마이크로 픽셀 캐쉬 배열(701)의 그 비트들은 4개의 카운터 또는 덧셈 회로에 공급된다. 또 다른 실시예에서, 이러한 회로들(702)은 마이크로 픽셀들에게 가중 계획을 적용할 수 있다. 상기 회로(702)들의 결과는, 차례로, 마이크로 픽셀 캐쉬를 위한 그레이 값(713)을 생산하기 위해 하나 이상의 덧셈기들에 의해 결합된다. 예를 들어, 마이크로 픽셀 캐쉬로부터 읽어 들일 때, 두-비트 먹스(705)는 전체 회로의 선택된 출력을 제어할 수 있다. 상기 두 개 입력 비트들(704)은 픽셀 맵으로부터 있으며, 이 는 각각의 픽셀이 검정, 흰색, 또는 그레이 인지를 기록한다. 그레이 픽셀들의 경우, 상기 먹스(705)는 덧셈기(703)의 결과를 통과시킨다. 검정 또는 흰색 픽셀들의 경우 상기 먹스(705)는 모든 서브-픽셀들이 온 또는 오프인지에 대응하는 정적 값(711,712)을 통과시킨다. 또 다른 실시예에서, 마이크로 픽셀 캐쉬로부터의 페치(fetch)나 이에 대한 쓰기는 픽셀 맵(704)이 픽셀이 검정인지 흰색인지를 나타내는 경우를 회피할 수 있다. 이는 마이크로 픽셀 캐쉬 메모리에 대한 접근 요구를 감소시킨다. 이 회로는 값이 마이크로 픽셀 캐쉬에 쓰여 지는 때에 슈퍼 샘플링에 적합하다. 적합성은 덧셈 하드웨어 (701-703)를 이용하는 것을 포함하고, 또한 쓰기는 상기 픽셀이 회색이기 때문에 수행되어지는 것을 가정한다. 슈퍼샘플 된 값은 그레이 값 메모리에 적혀진다.
모서리들의 병렬 프로세싱
도 8은 사다리꼴 기하학위의 마이크로 픽셀 캐쉬 발생기의 작동을 도시한다. 상기 마이크로 픽셀 캐쉬 발생기는 반대편 모서리들(802,803)에서 평행하게 작동하는 두 개의 브레센함(Bresenham) 인터폴레이션(interpolation) 단위들을 포함한다. 브레센함(Bresenham) 렌더링 알고리듬을 설명하는 하나의 참고문헌은 F. S. Hill, Jr. 컴퓨터 그래픽스,ISBN 0-02-354860-6, 페이지 428-433 이다. 브레센함 알고리듬은 정수 값을 이용하고 곱셈을 피한다. 이는 이전 픽셀에 관한 정보에 기초하여, 라인(line)상의 각각의 픽셀 위치를 계산하는 증가 알고리듬의 예이다. 브레센함은 당해 발명에서 사용되는 다수의 커브와 라인 발생 방법 중의 하나이다. 상기 두 개의 브레센함 인터폴레이션 단위들은 기하학의 반대모서리에 대한 좌표를 초기화 하는 동안 프리로드(preload)된다. 프리로드(preload) 후에 인터폴레이션이 시작된다. 인터폴레이션은 사다리꼴의 한 평행 모서리로부터 반대편으로 반복된다. 사다리꼴 대신에 다각형이 사용될 경우, 반복은 일반적으로 선택된 좌표 시스템(801)의 축 방향으로 진행된다. 이는 기하학의 한 코너에서 시작되어 반대 코너에 이를 때까지 축을 따라 진행된다. 인터폴레이션 동안, 하나 이상의 마이크로 픽셀 캐쉬 세트들은 매 인터폴레이션 스텝마다 발생된다. 이러한 캐쉬 세트들은 기하학특징을 따라 섹션들을 나타낸다. 상기 마이크로 픽셀 캐쉬 세트들은 마이크로 픽셀 캐쉬 버퍼 내에 저장된다. 5개의 마이크로 픽셀 캐쉬 세트(810-50)는 도 8에 도시되었다. 양 인터폴레이션 단위들이 인터폴레이션이 다 수행되었음을 나타낼 때 , 인터폴레이션 축(801)을 따른 특정 좌표를 위해 어드레스 세트들은 마이크로 픽셀 캐쉬 버퍼 내에서 발생되고 저장된다. 마지막 어드레스 세트가 모여진 뒤로부터 발생된 각각의 마이크로 픽셀 캐쉬 세트들과 함께, 이 어드레스 세트는 마이크로 픽셀 캐쉬 세트를 형성한다. 어드레스 세트에서, 캐쉬 세트(예를 들어, 810) 내의 제 1 모서리(예를 들어, 811,821,831,841,851) 은 어드레스 X1S 나 X1E에 의해 표현된다. 이 표기(notation)에서 "X"는 축의 방향을 나타내고, "1"은 제 1 모서리를, "S" 는 모서리의 렌더링 부분을 위한 시작 픽셀을 그리고 "E" 는 모서리의 렌더링 부분을 위한 끝 픽셀을 나타낸다. 어드레스 세트에서, 제 2 모서리는 어드레스 X2S 와 X2E 에 의해 표현된다. 제 1 모서리와 제 2 모서리들을 위한 X1과 X2 간의 간격은 어떠한 서브-픽셀 정보도 포함하지 않는 동봉된 데이터의 영역을 나타낸다. 사다리꼴의 윗변과 아랫변이 평행할 때 상기 좌표축은 만들어지고, 단일 마이크로 픽셀 캐쉬는 코너들(811,813 그리고 851,853)간의 윗변과 밑변을 따라 모든 픽셀들을 나타내는데 사용된다. 표현된 기하학 특징 좌표축에 평행한 윗변과 밑변을 갖지 않으며, 모서리들 간의 어떠한 둘러싸인 영역도 없다. 상기 밑변과 윗변 아래로 둘러싸인 영역(822,832,842)은 완전히 채워지고 마이크로 픽셀 캐쉬 없이도 정확하게 표현될 수 있으며 또는 위에서 설명된 두-비트 코딩 구조를 이용하여 표현될 수 있다. 또한 일치를 위해 이는 가득 찬 마이크로 픽셀 캐쉬에 의해 표현될 수 있다
도 9는 사다리꼴 렌더링의 특별한 경우이며, 효율적으로 사다리꼴을 삼각형으로 줄이기 위해, 그 곳에서 사다리꼴 내의 두 지점은 같거나 또는 거의 같은 지점을 갖는다. 일치를 위해, 4개의 어드레스 지점들은 분리된 엔진에 의해 제공되는 데이터 흐름 내에 포함된다. 5개의 마이크로 픽셀 캐쉬 세트들(910-50)은 다시 이 도면 내에 표현된다. 이 인터폴레이션 축(901)은 수직이다. 제 1 모서리(911-951) 또한 수직이다. 상기 제 2 모서리(913-953) 는 삼각형의 빗변이다. 둘러싸인 바닥 모서리(912)는 인터폴레이트 된 모서리 사이에 놓여진다. 그곳에는 윗변이 없다. 마이크로 픽셀 캐쉬 세트들(920,930,940)은 완전히 채워진 픽셀들(922,932,942)을 포함한다. 어드레스 X2S 와 X2E 간의 거리(903)는 경사진 빗변 부분을 나타내는 서브-픽셀 격자들을 가지는 다수의 픽셀들에 대응된다.
도 10A는 기하학 특징이 단일 마이크로 픽셀 캐쉬 세트(1010)에 의해 표현되는 특별한 경우에 대하여 도시한다. 상기 인터폴레이션 축은 1001이다. 도 9에서와 마찬가지로, 사다리꼴은 삼각형으로 축소된다. 상기 왼쪽 변은 모든 3가지 셀(cell)들(1011,1012,1013)을 통해 확장된다. 상기 오른쪽 변은 1003에 의해 표시되는 픽셀 폭을 지니는, 셀(1013)네에 포함된다. 왜냐하면 X1S...X1E 그리고 X2S...X2E 간의 간격들이 오버랩 되고 , 상기 오버랩은 마이크로 픽셀 캐쉬들이 논리적 연산에 의해 결합되는 지역을 나타낸다. 또한 전체 기하학 특징이 단일 마이크로 픽셀 캐쉬 세트에 의해 표현되며, 이 때 마이크로 픽셀 캐쉬들은 삼각형 밑변이 논리적 연산을 위해 왼쪽 모서리 부분을 위한 마이크로 픽셀 캐쉬들과 결합될 필요가 있음을 나타낸다. 도 10B-D는 마이크로 픽셀 캐쉬 세트와 함께 전송된 데이터 부분을 도시한다. 도 10B는 위보다 아래가 좁은 사다리꼴을 도시한다. 이는 7*7 픽셀 격자에 고정된다. 이 사다리꼴을 위해 왼쪽과 오른쪽 및 위와 아래 모서리들의 병렬 처리에 의해 발생된 상기 마이크로 픽셀 캐쉬들은 일반적으로 위와 아래에서 시작되고 아
아래로부터 위쪽으로 진행된다.
왼쪽 프로세서 캐쉬 쌍 오른쪽 프로세서
L 6.1 9 R 6.7
L 5.1 8 R 5.7
L 4.1 7 R 5.6
L 4.2 6 R 4.6
L 3.2 5 R 3.6
L 2.2 4 R 2.6
L 2.3 3 R 2.5
L 1.3 2 R 1.5
T 6.1 1 B 1.3
고정된 순서 내의 모서리들의 프로세싱은, 예를 들어 위에 정렬된 순서와 같은, 렌더링 로직의 다양한 블락의 처리량을 증가시킬 수 있다. 또 다른 실시예에서, 상기 모서리들은 다른 순서로 처리 될 수 있다. 상기 기하학 특징의 병렬 모서 리들은 방향적으로 수직이거나 또는 상기 기하학 은 사다리꼴이 아니다. 이 실시예에서, 위(T) 와 아래(B) 모서리는 사다리꼴의 평행 모서리들이다. 첫 번째 반복에서, 수평선들은 윗변과 아랫변에 대응하여 만들어지고, 이는 그들이 왼쪽 모서리들과 교차될 때 픽셀들을 이용한다. 예를 들어, 픽셀 6.1 내의 위와 픽셀 1.3 에서의 아랫니다. 연속된 반복들은 왼쪽과 오른쪽 모서리들을 만든다. 제 2 반복에서, 열 1의 오른쪽과 왼쪽은 단일 픽셀 내에 완전히 포함된다. 열 2 는 마이크로 픽셀 캐쉬들을 발생하기 위해 두 개의 반복들과 제 3 그리고 제 4 반복들을 요구한다. 왜냐하면 상기 왼쪽 그리고 오른쪽 모서리들의 열 2 섹션들은 두 개 픽셀에 걸쳐있다. 캐쉬 쌍에 더하여, 다각형 해석은 어드레스 세트들의 발생을 포함한다. 상기 어드레스 세트는 1열 좌표(Y)와 4개의 행 좌표 ,X1S, X1E, X2S, 그리고 X2E 을 포함한다. 이때, S는 모서리의 시작을 E는 이의 끝을 나타낸다. X1S, X1E, 그리고 X2S, X2E 간의 거리는 왼쪽과 오른쪽 기하학 모서리가 각각의 열을 위해 배치되는 곳을 지정한다. 상기 X1S, X1E, 그리고 X2S, X2E 간의 거리는 둘러싸인 데이터나 윗변 또는 밑변에 에워싸인 섹션을 나타낸다. 하나의 어드레스 세트는 픽셀들의 각 열을 위해 발생한다.
Y X1S X1E X2S X2E
6 1 1 7 7
5 1 1 6 7
4 2 1 6 6
3 2 2 6 6
2 3 2 5 6
1 3 3 5 5
왼쪽 모서리를 위한 X1[S] 시작과 X1[E] 끝의 상대적인 크기들은 그것이 올 라갈 때 왼쪽에 대해 모서리가 경사지는 것을 나타낸다. 픽셀 캐쉬 내에서의 순서는 추론될 수 있는 왼쪽과 오른쪽 프로세서들이 테이블을 형성할 때 발생된다.
도 10C-D는 특별한 경우들 내의 어드레스 세트들을 도시한다. 도 10B는 작수직적으로 방향 된 작은 사각형이다. 그것은 작다는 점에서 하나의 픽셀보다 넓거나 작다. Y 열 5를 위한 어드레스 세트가 도시되었다. 모든 4개의 X 변수들은 같은 값을 갖는다. 도 10C는 수평적으로 방향 된 작은 사각형이다. Y 열 5 내의 이 사각형을 위한 단지 하나의 어드레스 세트만이 있다. 작은 기하학 특징의 확인은, 예를 들어 작은 사각형들, 프로세싱을 쉽게 할 수 있다.
도 11A-D 는 마이크로 픽셀 캐쉬 내의 픽셀 렌딩(rending)의 표현과 브레센함 알고리듬의 적용을 시작하기 위한 다각형 모서리들의 확장 이용을 도와준다. 각각의 특징들은 단일 픽셀을 위한 8*8 서브-픽셀 격자를 나타낸다. 렌더링에 유용한 하나의 작동은 픽셀 모서리들과 함께 모서리 투영의 교차(1102A, 1102B, 1112C,또는 1112D)를 결정하는 것이다. 사다리꼴들을 포함하는 4가지 경우들은 도면에 표현된다. 도면(11A 와 11B)내의 사다리꼴 측면 모서리들의 그 각들은 수평으로부터 45도보다 크다. 도 11A에서, xTOP 1101A는 코너(Xm,Ym)1103A의 오른쪽으로 떨어진다. 도 11B에서, xTOP 1101B는 코너(Xm,Ym)1103B의 왼쪽으로 떨어진다. 도 11C와 도 11D 도면 내에 남아 있는 두 경우는 수평으로부터 45보다 작은 각 그리고 오른쪽/왼쪽 yTop(1111)에서 yBottom(1112) 관계를 포함한다. 픽셀의 모서리들과 함께 모서리 투영의 교차점을 계산하기 위한 상기 식들은 도시된 4가지 경우에 의존한다. 각이 45도를 넘기 위해서는,
11A와 11B의 경우,
xBotton= Xm - (dx1/dy)*Ym
XTop= xBottom -(dx1/dy)*마이크로 픽셀 캐쉬폭(Micro pixelCacheWidth)
11C의 경우,
yBottom= Ym- (dy/dx1)*Xm
yTop= yBottom + (dy/dx1)*MPC폭
11D의 경우,
Ym+(dy/dx1)*MPC폭
yBottom -(dy/dx1)*MPC폭
상기 픽셀들("MiPxCaW")은 브레센함 알고리듬을 이용하여 만들어진다. 모서리들에 의해 교차되는 픽셀들은 마이크로 픽셀들을 이용하여 만들어진다. MiPxCaW을 찾기 위해 다음의 알고리듬이 이용된다.
1)왼쪽 상기 낮은 코너가 있는 곳에서 MiPxCaW을 찾는다.
2)MiPxCaW의 낮은 왼쪽 코너로부터 모서리의 확장 교차점과 MiPxCaW의 낮은 모서리(xBottom)까지의 거리를 찾는다. 이것은 7개의 바이널(binal)을 지니는 고정-지점 좌표축과 같은 마이크로 픽셀들의 단위 내에서 주어진다. 이 거리는
xBottom = X - (dx1/dy)Y
이 때 (X,Y)는 당해 MiPxCaW의 낮은 왼쪽 코너로부터 계산된 코너의 좌표축들이다.
3) xBottom을 이용하면 다음 교차점은 다음과 같이 계산된다.
xTop = xBottom + (dx1/dy)MiPxCaWinWidth
4) 만일 0<=xTop < MiPxCaWidth 이면, 마이크로 픽셀 렌더링은 MiPxCaW 내에서 당해 하나의 바로 위에서 수행되어야 한다.
5) 만일 xTop>=MiPxCaW 인 경우, 상기 마이크로 픽셀 렌더링은 MiPxCaW 내에서 당해 하나의 바로 위의 하나의 오른쪽으로 수행되어야 한다.
6) 만일 xTop<0 이면, 상기 마이크로 픽셀 렌더링은 MiPxCaW 내에서 당해 하나의 바로 위의 하나의 왼쪽으로 수행되어야 한다.
7) 위쪽의 열에 다다를 때까지 반복한다.
(dx1/dy)를 나타내기 위해 플로팅 포인트(floating point)를 사용하는 대신, 모든 것은 정수를 주는 것에 의해 곱해질 수 있다. 만일 모서리의 경사가 작으면, 다음 열 위에 다음 MiPxCaW 을 얻기 위해 다수의 옆길 스텝들을 취해야 한다. 이는 모서리간의 각과 x축이 45도보다 더 크도록 제한되는 경우는 아니다. 더 작은 각들은 기하학을 90도 회전함으로써 만들어질 수 있다. 45도보다 더 큰 각들의 경우 에서 브레센함 알고리듬을 위한 상기 코드는 받아들여진다.
eLeft= dy *xBottom = dy * X - dx1*Y;
eLeftShift= dx1*MiPxCaWinHeight;
eLeftCond= dy * MiPxCaWinWidth;
xBotton=eLeft/dy;
eLeft+=eLeftShift;
while(eLeft>=eLeftCond){
eLeft-=eLeftCond;
MiPxCaWNumber+=1;
}
while(eLeft<0){
eLeft+=eLeftCond;
MiPxCaWNumber-=1;
}
xTop=eLeft/dy;
상기 변수 MiPxCaWNumber는 경사가 양인지 음인지에 따라 의존하면서, 왼쪽이나 오른쪽으로 이동해야만 하는 MiPxCaW들의 연속된 숫자이다. 상기 오른쪽 모서리도 비슷한 방법으로 만들어진다.
상기 왼쪽 모서리의 렌더링을 위한 그 입력 변수는 다음과 같다.
XBottom 모서리 와 MiPxCaW 격자의 낮은 교차점
Xtop 모서리 와 MiPxCaW 격자의 낮은 교차점
CacheWinLeft 렌더링이 시작하는 곳의 다수의 MiPxCaW
StartCacheWin 모서리의 오른쪽 첫 번째 하나인 다수의 MiPxCaW.
이것은 내부에 채워진 것의 처음이다.
이것은 복귀 변수이다.
StartRow 만들어진 가장 낮은 마이크로 픽셀 열.
이것은 낮은 모서리에서 사용된다.
StopRow 만들어진 가장 높은 마이크로 픽셀 열.
이것은 상위 모서리에서 사용된다.
하드웨어에서, 마이크로 픽셀 레벨에서 상기 렌더링은 먼저-계산되고 테이블 내에 저장되어야 한다.
MiPxCaW 내부의 마이크로 픽셀들의 렌더링을 위한 법칙은 제 1 장소 내에서의 MiPxCaW를 찾기 위한 것과 마찬가지로 같다. 그 과정은 다음과 같다.
1) xBottom의 서브-마이크로 픽셀 부분을 찾고 이를 xBottomMi라고 부른다.
2) MiPxCaW에 들어가고 있는 모서리를 통해 마이크로 픽셀을 채운다.
3) 브레센함 알고리듬을 이용하여 다음 마이크로 픽셀 라인 상을 통과하는 그 모서리의 마이크로 픽셀을 계산한다. 기본적으로, MiPxHeight = 고정된 지점 단위 내의 마이크로 픽셀의 크기이다.
xBottomMi+=(((xTop-xBottom)/MiPxCaHeight)*MiPxHeight;
if(xBottomMi>=MiPxWidth){
xBottomMi-=MiPxWidth;
miPxNumber++;
*}
4)MiPxCaW에 대해 , 정수 관계를 얻기 위해 MiPxCaHeight로 이것에 곱한다. 브레센함 알고리듬을 위한 상기 코드는 아래에 표현된다.
xMiOffset = subMiPxBin(xBottom)*MiPxCaHeight;
shift = (xTop - xBottom)*MiPxHeight;
cond = MiPxWidth*MiPxCaHeight;
xMiOffset+=shift;
while(xMiOffset>=cond){
xMiOffset-=cond;
MiPxNumber++;
}
while(xMiOffset<0){
xMiOffset+=cond;
MiPxNumber--;
}
도 53은 브레센함 알고리듬을 적용한 한 실시예를 설명하는 플로우차트이다. 초기화 스텝들은 5301에서 수행된다. (5302,5303 그리고 5306) 에서의 실시들은 도 11A-D에 대응하는 경우들로 시작점들을 분리한다. 이러한 경우들을 위한 코드는 블락(5305,5304,5307 그리고 5308) 내에서 수행된다. 알고리듬을 위한 닻(anchor) 지점은 5311내의 세트이다. 상기 알고리듬은 5312-5321 내에서 인터폴레이트 되는 모서리를 따라 반복된다.
도 11A-D를 위한 변수들의 계산은 또한 도 15A에 도시된다. 이 도면에서, 사 다리꼴(1500)은 픽셀들(1501)의 격자 위에 놓여있다. 예들은 수평 픽셀 쌍(1502) 과 수평픽셀 쌍(1503) 으로 주어진다. 상기 픽셀 격자는 렌더링 윈도우(1510A)와 보호 윈도우(1520A)를 포함한다. 상기 거리 dx1(1531)은 왼쪽 모서리의 아래쪽과 위쪽 코너의 x 좌표축 차이로써 정의된다. 상기 거리 dy(1532) 는 사다리꼴(1500)의 위와 아래의 평행한 모서리들의 y 좌표축 차이로 정의된다. 다른 기하학 특징과 함께, 두 개 이상의 dy 값들이 요구된다. MPCWidth 는 마이크로 픽셀 캐쉬의 폭이다(이는 픽셀의 폭과 같다.). 적당한 단위가 선택되어야 한다.
예를 들어 수평 쌍(1502) 또는 수직 쌍(1503)과 같은 즉시 픽셀들의 쌍을 만드는 것이 편리하다. 이 픽셀 쌍은 항상 선택될 수 있으므로 만들어지는 모서리, 그리고 그 모서리의 어떠한 투영은, 그 픽셀 쌍의 반대 측면을 픽셀의 코너를 잘라내는 대신 교차한다. 왼쪽 모서리(1500)를 따라, 왼쪽 모서리의 방향으로 인해, 픽셀들의 수평 쌍들이 만들어진다. 윗변(1501)과 남아있는 모서리들을 따라, 이 실시예에서 픽셀들의 수직 쌍들이 만들어진다. 픽셀의 반대편 측면을 교차하는 것을 포함하는, 연합된 픽셀들의 렌더링은 아래에서 설명되는 테이블 룩-업(look-up) 방법의 이용을 가능하게 한다. 대안적으로, 브레센함의 또는 다른 인터폴레이션 알고리듬은, 픽셀의 쌍과 함께 또는 이들 없이, 직접적으로 적용될 수 있다.
픽셀의 균일화
당해 발명의 실질적 측면을 위한 한 대안 책은 미리-계산된 서브-픽셀 바 맵들과 함께 또는 이들 없이, 서브-픽셀들을 이용하는 것이며, 이는 아래 섹션에서 설명된다. 왼쪽 모서리 위의 마이크로 픽셀들의 렌더링을 위한 한 알고리듬에서, 마이크로 픽셀의 그 바닥을 교차하도록 만들어진 바닥을 통과하는 이러한 마이크로 픽셀을 통해 , 교차된 마이크로 픽셀의 오른쪽으로 모든 마이크로 픽셀들을 더한 것은 처음으로 채워진다. 채워진 마이크로 픽셀들에 의해 덮인 상기 지역은 그 후 일반적으로 상기 수정된 지역과 다를 것이다. 보상을 위해, 이 불일치는 계산될 수 있고 그리고 전체 영역 에러가 하나의 마이크로 픽셀 이상일 때, 마이크로 픽셀은 더해지거나 빼진다. 그 초과 지역은 처음에 영이다. 이는 다음에 의해 증가한다.
Figure 112007062944613-PAT00001
모든 MiPx 열을 위한 것이다. 축적된 초과 영역이 하나의 MiPx 보다 더 큰 경우 상기 모서리는 보상하기 위해 반드시 이동되어야 한다. 이 보상은 양과 음의 차이 모두를 위해 수행되고, 균등화 마이크로 픽셀들이 더해지거나(빼진다). 따라서 상기 초과 영역은 결코 하나의 MiPxCaW 내의 이상적 지역으로부터 하나의 MiPx 보다 벗어나지 않는다. 상기 초과 지역은 모든 새로운 MiPxCaW를 위해 영으로 세트될 수 있거나 또는 마이크로 픽셀 캐쉬들의 한 열로부터 다음으로 수행될 수 있다.
A를 계산하기 위한 위의 식은 기본적으로 앞에서 본 브레센함 알고리듬과 같다. 상기 두 개의 인터폴레이션 과정들은 하드웨어 내에서 수행될 경우 하나의 단일 절차로 결합될 수 있다.
미리 계산된 서브-픽셀 맵들의 이용
또 다른 선택 안은 균등화된 서브-픽셀들을 이용하면서, 마이크로 픽셀 캐쉬들 내의 모서리 렌더링을 위한 미리 계산된 서브-픽셀 맵들의 이용이다. 도 12는 수평으로부터 각이 45도보다 작도록 하기 위한 수직 픽셀 쌍들의 이용과 각이 45도 보다 크도록 하기 위한 수평 픽셀 쌍의 이용을 도시하고 있다. (정확한 45도의 각은 픽셀 쌍의 방향을 이용하여 만들어 질 수 있다.) 수직 쌍은 X1-X2 축(1211,1212)을 따라 간다. 수평 쌍은 Y1-Y2 축(1201,1202)을 따라 간다. 단일 픽셀 또는 마이크로 픽셀 캐쉬는 뚜렷한 선(1221)에 의해 둘러싸인 경계 내이다. 단일 서브-픽셀 또는 마이크로 픽셀은 분류된다(1225). 그 어두운 지역(1222)은 기하학 특징의 내부(또는 외부)임을 나타내기 위해 채워진다. 어두운 픽셀들(1223)의 한 열의 길이는 서브-픽셀 또는 마이크로 픽셀 바 값이다. 마이크로 픽셀 바들은 서브-픽셀 캐쉬들의 렌더링을 위해 필요한 계산을 지속적으로 수행하기 위해 선택적으로 사용될 수 있다. 마이크로 픽셀 바들은 테이블 내에서 저장된 미리 계산된 어두운 곳을 나타낸다.
마이크로 픽셀 바들의 테이블은 왼편과 위쪽 기하학 모서리들을 이용하여 만들 수 있다. 왼편 모서리는 모서리의 오른편 측면의 물체의 내부에 배치된다. 위쪽 모서리는 모서리 아래의 물체의 내부에 배치된다. 도 13B와 13D는 왼편과 위쪽 기하학 모서리들을 나타낸다. 기존의 x,y 축 시스템에서, 가능한 각의 범위는 근원 또는 가까운 곳의 낮은 왼쪽 코너를 정착시키거나 90도로부터 45도까지의 각의 범위를 스위핑 함으로써 표현될 수 있다. 도 13에서, 도 13D의 마이크로 픽셀 바들은 반사, 회전, 그리고 반전 작동들의 결합에 의해 다른 특징들로 변환 될 수 있고, 그들의 적합한 배치 내의 모서리의 내부와 외부를 유지하기 위해 필요한 경우 반전이 적용된다. 도 13D는 90도에서 45도 사이의 위쪽 왼편 기하학 모서리이다. 도 13C는 y축을 통한 도 13D의 반사에 반전을 더한 것이다. 도 13B는 45도와 0도 간의 섈로어(shallower) 모서리각이다. y축을 통한 도 13D의 반사 후 반시계방향으로의 90도 회전은 도 13B가 된다. y축을 통한 부가적 반사에 반전을 더한 것은 또한 도 13B를 도 13A로 변환한다. 도 13A-13D 의 4개의 코너 배열에서, 마이크로 픽셀 바 값들의 세트를 정사각형의 인접한 코너로 변환시키고 4개의 작동을 정사각형의 반대 코너로 변환하기 위해, 그것은 두 개의 작동을 취하고, 반사에 회전이나 반전을 더한다. 따라서 가능한 각의 범위는 근원의 낮은 왼쪽 코너에 정착하거나 90도로부터 45도까지의 각의 범위를 스위핑 함으로써 표현된다.
당해 발명의 한 이점은 대칭적인 서브-픽셀 바 맵들의 이용이다. 도 45는 이 대칭성을 나타낸다. 서브-픽셀 바 맵들의 왼편 쌍에서, 맵 4501A와 4502 는 서로 반사 이미지 이다. 그들은 매우 적합하게 잘 어울린다. 함께, 그들은 마이크로 픽셀 배열의 모든 서브-픽셀들을 커버한다. 예를 들어, 64/64 의 광도 발생과 같은 것이다. 서브 픽셀 바 맵들의 오른 편 쌍에서, 맵 4501B와 4502는 4501A와 4502 와 같은 범위의 같은 지역을 갖는다. 그러나 다른 합병된 결과를 생산한다. 왜냐하면 4501B와 4502는 대칭이 아니기 때문에, 그들은 함께 잘 어울리지 않는다. 몇몇 오버랩 지역들과 갭들의 다른 지역들이 있다. 함께, 그들은 예를 들어, 61/64 과 같은 모든 서브 픽셀보다 적게 커버한다. 패턴 내에서 대각선으로 배치된 기하학 특 징을 위해, 대칭의 결여는 임계 차원 균일성과 시스템의 에러 예산에 역으로 영향을 미칠 수 있다.
마이크로 픽셀 바들의 테이블은 단지 특정 각들만을 포함한다. 왜냐하면, 기하학 특징 모서리는 위에서 언급한 것과 같은, 특정 간격에서 서브-픽셀을 교차하기 위해 제한된다. 인터셉트들로써 픽셀의 모서리를 따라 단절된 위치들의 이용은 엔트리들의 다루기 쉬운 숫자를 지니는 테이블의 이용을 촉진시키기 위한 한 가지 방법이다. 단절된 위치들에 의해, 우리는 513 배치들 또는 더 적은, 주어진 현재 이용하는 메모리와 프로세서 구조들을 의미한다. 서브-픽셀들의 정확성을 제한하고 배치들을 256 서브-픽셀과 서브-픽셀 당 단지 65 배치들, 또는 서브-픽셀 당 64 서브-픽셀과 단지 33 배치들, 또는 서브-픽셀의 모서리를 따라 32*16 서브 픽셀과 단지 17 개의 분절된 배치들 또는, 서브-픽셀의 모서리를 따라 16*8 서브 픽셀들과 단지 9 개의 분절된 배치들로 분리된다. 이것들은 주어진 당해 메모리, 프로세서 그리고 FPGA 기술들의 대안적 구조와 같이 여겨진다. 그들은 일반적으로 가까운 미래 내에, 예를 들어 다음 5년, 실현될 구조를 외삽 하는(extrapolate) 제곱 승(powers of two)과 관련된다. 분리된 배치들은 16 또는 32 비트 어드레스를 이용하여 어드레스될 수 있는 모든 위치들을 언급하는 것은 아니다. 분리된 위치의 이용은 테이블 엔트리들의 잠재적 숫자들을 제한한다. 픽셀 모서리는 모서리 교차점의 64 또는 65 개의 잠재적 포인트들을 지닌다. 이 때, 그것은 각각 8개의 증분을 갖는 8개의 서브-픽셀들을 갖는다. 근원으로부터, 90과 45도(또는 65각들, 양쪽의 극단을 포함하는) 의 64 각들을 위한 표현들은 잠재적 각들의 전체 범위를 표현하 기 위해 사용될 수 있다. 8*8 서브-픽셀 격자에서, 효율적으로 픽셀들의 쌍을 걸쳐 있는 8 개의 마이크로 픽셀 바들은 5비트 값으로 표현될 수 있다.
45에서 90도의 각을 지니는 왼편 모서리는 교차할 수 있다. 우리의 실시예에서, 전체 픽셀 폭에 떨어짐 없이 x축을 다라 8개의 다른 증분은 근원으로부터 멀어진다. 마이크로 픽셀 바들의 다른 패턴은 근원으로부터 x축 반 픽셀을 통과하는 때 같은 각을 나타내는 것보다 근원을 통과하는 것을 나타내기 위해 선택된다. 마이크로 바들의 다른 패턴들은 모서리 배치에서 서브-픽셀 정확성을 얻기 위해, 같은 각에서 필요로 한다. 설명을 위해, 45도 각 모서리를 고려한다. 만일 이 모서리가 근원을 통과하는 경우, 이는 어두운 32/64 서브-픽셀들로 표현된다. 이 45도 모서리가 오른쪽으로 하나의 전체 픽셀만큼 이동될 경우, 각 열마다 하나보다 낮은 픽셀의 비율로, 8개보다 적은 픽셀들로 표현된다. 32개와 25개간의 어두운 픽셀들에서, 그곳에는 서브-픽셀 모서리를 따라 8개의 다른 위치에서의 모서리 배치에 따라, 45도 각에서 8개의 변동이 있을 수 있다. 도 14A-14D 는 마이크로 픽셀 바들의 세트를 이용하여 왼편 모서리의 설계를 위한 작동들을 도시한다. 왜냐하면 상기 각은 45도 작기 때문에, 픽셀들의 수직쌍이 사용된다. 도 14A에서, 설계된 상기 모서리(1402)는 픽셀들의 정수 숫자에 의해 1401로 변형된다. 따라서 코너 주위에(코너로부터 하나의 픽셀보다 작은) 놓여 있다. 도 14B에서, 마이크로 픽셀 바들의 세트가 변환된 모서리가 픽셀 쌍의 오른쪽 및 왼쪽 측면들 위의 서브-픽셀들의 모서리들을 교차할 때 증가에 기초하여 선택된다. 다음으로, 도 14C에서, 1402부터 1401 까지 변환에 대응하는 숫자 또는 픽셀의 지역은 마이크로 픽셀 바들로부터 빼진 다. 도 14D에서, 마이크로 픽셀 바들(1413) 은 픽셀 바의 위에 대한 위치로 되돌아 오며, 그곳에서 그들은 원하는 모서리(1412)를 표현한다.
서브-픽셀 바들의 선행-계산
도 15B-C 는 서브-픽셀 바들의 선행계산을 위한 인터페이스를 묘사하며, 이는 위에서 설명한 바와 마찬가지로 적용된다. 양 도면의 특징들은 선택된 기준들과 결과적인 마이크로 픽셀 바 구조를 제외하고는 같다. 상기 제어 " MiPxCaW 렌더링 테이블 발생"(1541) 은 선행계산 과정으로부터 출력을 제어한다. 버튼이 선택될 때, 출력은 다른 변수 파일들에 병합될 수 있는 변수 파일들을 포함하고 당해 발명의 실시예 측면의 시스템 내에서 사용된다. 상기 체크 박스들(1542, 1542)은 어떻게 모서리 단편(1555)의 절편이 표현될 것인지를 선택한다. 도 15B에서, x-절편 좌표축이 제공된다. 상기 x1(1551) 좌표축은 20이며, 이는 근원의 오른쪽으로 1 또는 1과 1/4에 (20/16) 대응한다. 유효한 좌표축은 0..255의 범위 내이며, 이는 16 마이크로 픽셀들을 위한 마이크로 픽셀마다 16개의 위치들에 대응한다. 상기 x2(1552) 좌표축은 80이며, 이는 근원의 오른쪽으로 5에 대응한다. 만일 y축 옵션(1543)이 선택되면, 값들은 마이크로 픽셀 디스플레이 y1(1553)과 y2(1554) 모서리들 위의 절편들을 위해 주어진다. 3개의 렌더링 옵션들이 제공된다. "오른 모서리 만들기" 기능(1544)이 선택되지 않으면, 표현된 모서리는 모서리(1555)의 오른편(1556) 그림의 부분을 채우는, 왼쪽 모서리가 될 것이다.
균등화 픽셀들의 분배는 두 개의 또는 선택적으로 3개의 기준에 의해 좌우된 다. 렌더링의 시간에서 균등화 픽셀을 계산하기 위한 파이프라인 된 계산을 이용하는 구현에서, 첫 번째 두 가지 기준이 선호된다. 첫째로, 마이크로 픽셀들에 의해 상기 커버된 지역은, MiPiCa의 커버된 부분의 코너 위치로부터 삼각함수 적으로 계산된 실제 영역과 서브-픽셀의 반만큼 최대로 다르게 되는 균등화 픽셀들을 포함한다. 제어 버튼(1545)은, " 픽셀 균등화 실행", 이 기능을 불러일으킨다. 둘째로, 코너를 형성하기 위해 코너가 두 모서리들의 논리적인"and" 기능에 의해 수행될 때 마이크로 픽셀에 의해 커버된 지역은 교차하는 모서리를 위해 삼각법적으로 계산될 수 있는 어떤 것에서의 1개 서브-픽셀 이상의 것과 달라서는 안 된다. 제어 버튼(1546)은, "픽셀 지역 균등화 실행" 이 기능을 불러일으킨다. 상기 정보 윈도우(1547)는 렌더링 연습의 주석을 지원한다. 다수의 출력들은 렌더 버튼(1548)이 선택될 때 발생한다. 상기 참 지역 값(1561)은 마이크로 픽셀 발들(1556)에 의해 커버된 마이크로 픽셀의 셈이다. 상기 적합한 지역 거짓(1563)은 참 지역(1561)과 적합 지역(1562) 간의 차이이고, 이는 이 실시예에서 영(zero)이다. 이 실시예에서, 상기 그레이스케일 값(1564)은 중복적이다. 상기 최대 테이블 거짓(1565)은 시스템이 하나의 통과 내에서 마이크로 픽셀 바들의 전체 세트를 발생할 때 이용된다. 이는 세트 내의 마이크로 픽셀 바 어느 것이든지를 위한 참 영역과 적합 영역 간의 최대 차이를 나타냄으로 인해 프로그램 수행에 대한 체크를 제공한다.
분배를 결정하는 상기 프로세서는 각각 가능한 결합을 위한 각, 오프셋(offset)들 및 분배들, 에러 예산 수행 평가에 대한 시스템 반복의 조합일 수 있다. 다수의 필요한 균일화 픽셀들은 첫 번째 기능에 따라 결정된다. 그 후, 반복적 절차는 최소한의 에러와 함께 제 2 기능을 수행하는 서브-픽셀 구조를 찾기 위한 다른 가능한 코너 결합들을 시도한다. 모서리와 마이크로 픽셀 바의 종단부 간의 최소 제곱 에러는 에러를 측정하기 위해 사용된다.
또 다른 방법은, 당해 발명 내에서, 위로부터 바닥까지 그리고 아래에서부터 위까지 상기 MiPiCa를 가로지를 때 축적된 에러가 어느 지점에서든지 1을 초과하지 않는지를 체크하는 것이다.
일반적으로, 마이크로 픽셀 바 세트들의 선택은 더 작은 테이블 크기나 더 단단한 에러 예산의 유리한 선택을 포함한다. 한 접근은 원하는 테이블 크기를 세트하고 프로세서에 최소한의 에러를 공헌하는 마이크로 픽셀 바들의 세트를 찾는 것이다. 또 다른 접근은 에러 예산을 세트하고 가장 작은 가능한 테이블 크기를 초래하는 마이크로 픽셀 바들의 세트를 발생하는 것이다. 벌써 또 다른 접근은 마이크로 픽셀 바들의 다수의 세트들을 발생하고 테이블 사이즈와 에러 공헌, 다른 요소들 간의 조합에 기초한 하나를 선택하는 것이다.
도 15B-C 의 비교는 적용된 기능(1545,1546)에 따라, 마이크로 픽셀 바 세트들의 다른 결과를 보여준다. 1556A 와 1556B 간의 차이들은 열0-1 과 2-3 내에 나타난다.
선행-계산 마이크로 픽셀 바 세트들의 또 다른 측면은 다른 각들과 격자 교차 오프셋 들을 위해 마이크로 픽셀 바 세트를 포함하는 계층적 테이블을 수반한다. 테이블 사이즈의 감소는 두 개의 레벨과 각과 교차점 오프셋 쌍(0..15, 캐쉬 교차점 좌표(0...127) 모듈로(modulor) 8 )을 위한 엔트리들을 지니는 하나의 테이 블을 지니는 테이블을 이용하여 획득된다. 이 테이블은 제 2 테이블에 대한 포인터들을 포함한다. 이는 마이크로 픽셀 바 길이들을 포함한다. (8*8 서브-픽셀 해상도를 위한 각각 세트 내의 8) 이 계층은 다수의 각/오프셋 결합이 하나의 마이크로 픽셀 바 세트를 공유하는 것을 허용한다. 상기 바 세트 테이블은 더 큰 테이블이기 때문에, 전체 테이블 크기는 감소된다. 대안적으로, 더 큰 테이블은 바들의 적용에서 변환과 회전을 위한 감소되거나 또는 제거된 필요를 지니는, 각들과 오프셋들의 부가적 결합들을 지원하기 위해 구성될 수 있다.
매트랩은 단일 마이크로 픽셀 바 세트에 의해 모두 표현될 수 있는 가능한 결합을 찾는데 유용한 도구 이다. 제 1 및 제 2 기능을 만족하는 잠재적 균일화 픽셀 분배는 다른 각/오프셋 쌍을 위한 분배들에 대해 체크된다. 매트랩의 유일한 기능을 이용하여 확인 될 수 있는 것과 마찬가지로, 두 개의 분배 패턴이 다른 각/오프셋 엔트리들과 매치되는 경우, 패턴의 한 카피(copy)는 저장될 수 있고 두 개 엔트리들 모두 마이크로 픽셀 바들의 동일한 세트에 포인터에 부여된다.
도 16A-C 는 픽셀 또는 서브-픽셀 격자의 상기 낮은 왼편 지역에서의 코너 형성을 도시한다. 도 16A는 모서리를 규정하는 마이크로 픽셀 바들의 패턴을 도시한다. 상기 모서리는 명목상 x축을 따라 8의 4 1/2 증진 지점에 떨어진다. 픽셀의 위(1601)와 아패(1602)에서 모서리의 상기 교차점은 같다. 이 실시예에서, 64개의 서브-픽셀들 중 36개는 어두운 부분이다. 도 16B는 기울어진 모서리에 의해 규정되는 매크로(macro) 픽셀 바들의 패턴을 도시한다. 픽셀의 위에서(1611) 모서리의 교차점은 픽셀의 중앙에 있다. 픽셀의 바닥(1612)에서 모서리의 교차점은 x축을 따라 4 1/2 증분에 떨어진다. 어두운 서브-픽셀들은 64개의 격자 위치들 중 36개를 커버한다. 도 16C에서, 도 16A-B 내에 도시된 모서리들의 쌍들은 이전 코너를 가로지른다. 수직 모서리(1621)와 수평 모서리(1622)에 대응하는 서브-픽셀들의 상기 패턴들은 밝은 그레이에 의해 나타난다. 논리적 and 기능에 의해 형성된 두 개의 픽셀 패턴들(1623)의 교차점은 어두운 그레이로 칠해진다. 이 실시예에서, 상기 어두운 그레이로 칠해진 영역은 실제 값으로부터 약간 변한다.
상기 이전 도면들은 당해 발명을 실행하기 위한 또 다른 실시예에 대하여 도시하고 있다. 당해 발명의 당업자는 기하학적 관계들 내의 많은 변화가 당해 발명에서 실행 될 수 있다는 것을 인식 할 것이다. 스위프 방향 내에서 서브 격자 어드레싱을 지닌 격자 위치들은 사각형 픽셀이나 또는 서브-픽셀과 같이 다뤄진다. 각각의 마이크로거울 배열의 마이크로 거울은 사각형, 육각형, 또는 비-볼록(non-convex) 이 될 수 있다. 서브-픽셀 격자는 다수의 격자 위치, 마이크로 거울 또는 픽셀들을 커버한다. 이미지를 형성하기 위해 방사를 방출하는데 사용되는 소자의 상기 기하학에 적합한 것과 같이, 서브-픽셀 격자로부터 픽셀의 그레이스케일 값을 요약하는 것은 픽셀에 대한 서브-픽셀들의 맵핑에 대응된다. 당해 발명의 당업자는 또한 해상도의 두 레벨 이용은 높은 해상도에서 서브-픽셀 격자의 그레이 스켈링에 적응될 수 있는 것을 인식할 수 있다. 높은-해상도 서브-픽셀 격자가 각각의 서브-픽셀들에 대한 그레이스케일 정보를 포함할 때, 코너를 형성하기 위한 모서리들의 교차점은 논리적 연산 대신에, 서브-픽셀들의 최대값을 넘는 합계에 유의하여, 서브 픽셀 값들의 부가를 요구한다. 서브-픽셀 격자의 그레이스케일 값의 요약은 어 두운 서브-픽셀의 카운팅 대신, 합계를 요구한다.
모서리 이동
도 17은 당해 발명에 따른 모서리 이동의 프레젠테이션을 시작한다. 모서리 이동은 그림의 중심부로부터 바깥쪽이나 안쪽으로 모서리들을 배치함으로써 기하학 특징을 증대하거나 수축시키는 것(팽창 또는 감퇴)을 의미한다. 이는 기하학 특징을 전환시키는 것과는 다르다. 왜냐하면 기하학 특징의 반대 모서리들은 반대 방향으로 이동하기 때문이다. 모서리들이 이동될 때, 모서리 간의 코너는 이상적으로 두 모서리들의 새로운 교차점을 반사한다. 실제 적용에 있어, 수평, 수직 그리고 45도 모서리들의 이동은 중요하지 않다. 렌더링 영역에서 모서리 배치는, 기하학 영역에 반대되기 때문에, 장비 오퍼레이터들이 프린트될 기하학 파일들의 변화 없이 특징 크기들을 미조정하는 것을 허용한다. 모서리 이동 변수들의 다양성을 이용하는 단일 실행 단편 위에 프린트되는 테스트 패턴들의 일련은 장비를 조정하기 위해 사용될 수 있다. 반복된 테스트 패턴의 예들은 데이터 파일 내에 포함될 수 있다. 이 기하학은 분열되고 확장될 수 있다. 다른 모서리 이동 변수들은 테스트 패턴의 다른 예들에 적용될 수 있다. 검사 도구는 테스트 패턴으로부터 원하는 특징 차원들을 생성하는 모서리 이동 변수 세트를 선택하기 위해 사용될 수 있다.
도 17은 모서리 이동의 기하학을 도시한다. 상기 모서리 이동은 위한 변수들은 cdX 와 cdY 을 포함한다. 상기 cdX 변수는 수진선이 기하학 특징의 중심으로부터 얼마나 멀리 배치되었는가를 표시한다. 양의 값 cdX는 기하학 특징을 팽창시킨다. 음의 값 cdX는 그것을 침식시킨다. 상기 cdY 변수는 수평선이 기하학 특징의 중심으로부터 얼마나 멀리 배치되었는가를 표시한다. 도 17은 수평으로부터 대략 30도의 각을 지니는 구모서리(1711)를 새로운 모서리 배치(1712)로 이동한 것을 보여준다. cdX와 cdY와 같은 축들을 갖는 타원(1701)은 구성하는 도구로 사용된다. 상기 새로운 모서리 배치(1712)는 구 모서리(1711)에 대해 평행하고 타원 구성 도구에 의해 정의된 거리(1702)에 의해 구 모서리로부터 분리된다. 상기 새로운 모서리 는 구 모서리에 대한 포인트 접선에서 구성 도구에 접한다. 접선의 위치는 dX,dY 이다. 이동(1703)의 방향은 구 모서리와 새 모서리 둘 모두에게 수직이다.
Figure 112007062944613-PAT00002
dX 와 dY 의 계산은 계산적으로 강도가 높다. 모서리 이동을 위한 계산 요구를 최소화하기 위한 한 방법은 dX,dY,fX 그리고 fY 의 미리 계산된 값들을 렌더링 엔진으로 로드 하는 것이다. 동시에 cdX 와 cdY 상기 변수들도 로드 된다.
모서리 각 감지
3개 알고리듬들과, 그리고 변화들은, 두 개의 해상도 레벨을 이용하는 렌더링 엔진 내의 모서리 이동의 구현의 경우들을 보여준다. . 상기 알고리듬들은 수평 또는 수직 모서리를 지나는 방향과 45도 모서리들의 수직적 이동에서 수평 및 수직 모서리들, 기울어진 이동의 직교 배치를 위해 적합하다.
컨볼루션 필터는, 적용하는 알고리듬의 선택을 위한, 모서리의 각이나 방향을 감지하기 위해 사용되는 도구이다. 픽셀의 3*3 부위에 적합한 아래의 컨볼루션 필터들을 고려한다.
Figure 112007062944613-PAT00003
이 컨볼루션 필터들의 적용을 위해, 필터 계수들의 패턴은 그레이 픽셀들 값의 패턴 위에 놓여 있다. 필터 계수와 픽셀 그레이 값들의 결과는 각각의 셀을 위해 계산되고 그 셀들은 같이 더해진다. 분리된 합은 각각의 필터를 위해 계산된다. 더 나은 컨볼루션 필터는 더 큰 이웃들을 이용하거나 Sobel 필터와 같은 비-정수 값들 또는 정수 2 대신에 2의 제곱근을 제곱하여 사용하는 필터를 이용하여 설계할 수 있다. 근사값의 넓은 범위는 필터 계수를 위해, 계산 요구와 정확성 간의 거친 균형에 의존하여, 필터 계수를 위해 사용될 수 있다.
모서리 이동의 결과
필터의 이용은 위에서 마스크 패턴에 대응하는 데이터와 함께 테스트 되는 fY/fX의 아크 탄젠트 값으로의 각의 계산으로 주어진다. 그 결과는 다음과 같다.
Angle Estimate Standard deviation Mean error
90 90.000000 0.000000 0.000000
85 80.324390 11.137572 -4.675610
80 73.371079 12.643785 -6.628921
75 67.821833 12.267936 -7.178167
70 63.054278 10.983100 -6.954722
65 58.930741 9.160636 -6.069259
60 55.165940 7.048248 -4.834016
55 51.650496 4.790010 -3.349504
50 48.287420 2.442252 -1.712580
45 45.000000 0.000000 0.000000
고리듬 채우기
수평 또는 수직 모서리의 이동을 위한 상기 알고리듬은 도 18A-B에 도시되었다. 각각의 그림들은 5개 픽셀들, 1801-05를 포함한다. 도 18A는 이동 전 도면이다. 도 18B는 이동 후 도면이다. 이동된 상기 모서리들은 거의 수직선(1811,1812)이다. 이동전에, 상기 모서리는 픽셀(1804)의 코너를 교차한다. 게다가, 픽셀(1804)의 그레이 값은 58/64이다. 상기 모서리는 약간 더 큰 픽셀(1803)의 코너를 교차하며, 따라서 상기 그레이 값 픽셀(1803)은 10/64 이다. 이 실시예에서 상기 모서리 이동 변수는 왼쪽으로 15/64 서브 픽셀들이다. 이는 " 채우기"모서리 이동 알고리듬이라고 불리며 래스터 좌표 시스템 축 중의 하나에 평행하고 가까운 모서리들을 위해 사용된다. 그것은 영에서 하나의 픽셀까지에 의해 움직이는데 사용된다. 기하학 특징의 팽창을 위해, 알고리듬은 가장 밝은 그레이 픽셀을 흰색 값까지 채우고, 제 1 검정이나 그레이 픽셀에 대한 어떠한 과잉 량의 이동도 낭비하는 것을 요구한다. 기하학 특징을 침식하기 위해, 알고리듬은 비어있는 가장 어두운 그레이 픽셀과 제 1 흰색 또는 밝은 그레이 픽셀로부터 어떠한 과잉 량의 이동을 취하는 것을 요구한다. 아래의 함수는 이 알고리듬 구현의 한 방법이다.
Figure 112007062944613-PAT00004
이 때, p'[i]는 픽셀 p[i] 의 밝기의 결과이다.
sgn 은 인수가 양인지 음인지에 따라 (1,0, -1) 이다.
cdX 는 위에서 설명한 입력 변수이다.
dX는 계산 되었고, 그리고 위의 공식을 이용하여 미리-계산 되며, 그리고
fX는 계산 되었고, 그리고 위의 공식을 이용하여 미리-계산된다.
도 18A-B 의 예에서, 픽셀의 15/64에 의한 이동을 원한다. 픽셀(1804)은 58/64의 값으로 시작한다. 픽셀(1804)은 15 서브-픽셀 명암 중 6개를 채운다. 15개중 남은 9개는 그의 값을 10으로부터 19까지 증가하면서, 픽셀(1803)에 더해진다. 상기 모서리(1811)는 왼쪽으로 마이크로 픽셀의 15/64 인 위치(1812)로 배치된다. 이 알고리듬은 수직과 수평 모서리의 수직적 이동 내에서 유용하나, 거의 수평이나 수직인 모서리를 낀 배치에서는 또한 수행하지 않는다.
슬라이딩 이동 알고리듬 - 제 1 실시예
상기 슬라이딩 이동 알고리듬은 도 19A-B 에 의해 도시되었다. 이동을 위해, 모서리에 거의 평행한 축을 낀 배치가 이동되었다. 아래의 함수가 사용될 수 있다.
Figure 112007062944613-PAT00005
이 때, maxVal= 채워진 픽셀의 최대 광도 값( 이 실시예에서는 64) 이다. 이 알고리듬은 단지 하나의 인접한 픽셀의 그레이 값에 의존한다, 변수 cdX 와 fX의 부호에 따라 왼쪽 또는 오른쪽이 된다. 상기 공식은 두 개의 픽셀들 사이의 가중평균을 반드시 계산하고, 그 곳에서 가중 요소는 1로 합계된다. 다른 가중 요소들은 방법이 적용될 때 관찰되는 에러들을 보상하기 위해 적용될 수 있다. 이 도면에 설 명된 상기 배치는 32/64의 확장이다. 상기 결과 가중치는 당해 픽셀 광도 반에 이의 오른편 이웃 광도의 반을 합한 것이다. 상기 모서리(1911)는 왼쪽(1912)으로 이동된다. 픽셀(1904)은 픽셀(1904 와 1905)의 평균값이 할당된다. 이의 값은 48에서부터 56까지 변한다. 픽셀(1903)과 나머지는 변하지 않는다. 왜냐하면 가중되고, 미리-확장한 픽셀(1903 과 1904 그리고 1902 와 1903)의 평균은 48이다. 픽셀(1902)의 광도 값의 반을 취함에 따라, 픽셀(1901)은 0에서부터 24까지 변한다. 상기 모서리(1911)는 이 과정에 의해 1/2 픽셀만큼 왼쪽으로 배치된다.
슬라이딩 이동 알고리듬 - 제 2 실시예
슬라이딩 이동을 위한 대안적인 공식은
Figure 112007062944613-PAT00006
이다.
이때 , p[i] 는 중앙 픽셀이다. 64개 이상의 서브-픽셀들이 단일 픽셀을 표현할 경우, 상기 대안적인 최소값은 따라서 조정된다.
슬라이딩과 채우기에 의한 이동
모서리 이동의 슬라이딩과 채우기의 적용에 있어 변화가 도 48-49에 도시되었다. 사용되는 상기 접근은 경사진 필터에 의해 감지된 모서리의 각에 따라 사용된다. 각각의 변화에서, 첫 번째 슬라이드 작동은 x 또는 y 축을 낀 이웃의 각 중 앙 픽셀에서 수행된다. 그 후 채우는 기능은 반대편에 있는 이웃의 중앙 픽셀 위에 만들어 진다. 가중 요소 1이 사용되나, 이동 변수에 대한 알고리듬의 응답의 증가 또는 감소의 비율에 따라 수정될 수 있다.
위에서 설명된 채우기와 슬라이딩 알고리듬에 있어 변화는 모든 침식을 위한 채우기 알고리듬을 이용하는 것이다. 이 때 중앙 픽셀을 위한 가중 요소를 소개함으로써 그것은 단지 비율적으로 침식된 제 1 방향 내의 채우기 요소에 비율적으로 그리고 침식된 제 2 방향에서 채우기 요소의 제곱근에 비례적으로 침식된다. 상기 슬라이딩 알고리듬은 기하학 특징의 모든 확장을 위해 사용될 수 있다. x와 y 방향 모두에 다수의 그레이 픽셀들이 있을 때, 채우기 알고리듬은 슬라이딩 알고리듬을 매력적으로 만들면서, 채우기 알고리듬은 가득한 픽셀 밑에 있는 경향이 있다.
45도 모서리 알고리듬
제 3 알고리듬은 45도 모서리들의 배치를 위해 잘 작동한다. 이 알고리듬은 45도 가까이 모서리에 적용될 수 있다. 모서리가 45도 알고리듬을 적용하기 위해 45도에 충분히 가까운지 여부를 위한 두 가지 테스트는
abs(abs(fX)- abs(fY))*32 < (abs(fX)+abs(fY)), 그리고
abs(abs(fX)- abs(fY))*8 < (abs(fX)+abs(fY))
이다. 이때 abs 는 절대값 함수 이다. 이러한 테스트들은 모서리 방향을 감지하기 위한 경사 필터들에 적용된다. 요소 8 또는 32의 선택은 알고리듬을 적용하기 전에 45도가 되기 위해 얼마나 가까운지를 결정한다. 16,20 또는 24 그리고 8-32 또는 16-24 을 포함하는 다른 요소들 또는 요소의 범위들은 이미 사용될 준비가 되어 있다. 요소 8의 이용은 대략 45도 +/- 10 도 에 대응한다.
만일 상기 모서리가 45도 이면, 교차하는 픽셀 코너로부터의 거리 D는 다음과 같이 계산될 수 있다.
Figure 112007062944613-PAT00007
이 때, F는 어두운 서브-픽셀들의 수이다.( 예를 들어, 45도 모서리가 픽셀을 이등분 할 때, maxVal의 32 =64). 일반적으로, 45도 모서리가 배치된 상기 거리는 다음과 같이 계산될 수 있다.
Figure 112007062944613-PAT00008
이 이동은, 물론 , 도 17에서 단위 벡터 n(1703)과 마찬가지로 같은 방향 내에 있다. 만일 cdH>0 그리고 픽셀이 비어 있거나, 또는 cdH<0 그리고 픽셀이 차 있는 경우, 우리는 반드시 대각선 이웃들이 그레이 인지를 알기 위해 체크해야 하고 위의 등식에 따른 코너로부터 거리를 계산해야한다. 그 후 코너까지의 거리는 sqrt(2)를 더하거나 뺌으로써 얻어진다. 이 때, 이것은 단일 픽셀의 대각선 거리 이다. 상기 코너로부터 모서리까지의 새로운 거리는 다음과 같다.
D=Dneighbor±√2
45도 모서리를 위한 새로운 채움 요소를 계산하기 위해, 우리는 D+cdH 와 같은 픽셀 코너로부터 거리를 계산해야 한다. 그 후 새로운 채움 요소는
Figure 112007062944613-PAT00009
물론, F를 위한 max(maxVal) 와 min(0) 이 있다. 에러의 반올림을 피하기 위해, 우리는 중앙 픽셀과 상기 두 개의 이웃 픽셀들 모두로부터 D의 평균을 취한다.
45도 모서리의 이동을 위한 제 2 실시예는 제 1 과 유사하다. 이 45도 알고리듬은 그레이 스케일 가상 모서리를 변형하여, 128*128 픽셀 평방에서 45도 모서리로 분류한다. 상기 모서리는 래스터 영역으로부터 기하학 영역으로 변형된다. 모서리 이동은 기하학 도면에서 수행되고 그 후 그레이스케일 채움 값으로 재 변형된다. 상기 함수 GetDist 는 그레이스케일 값을 기하학 값으로 변형하기 위해 규정된다. 상기 함수 GetFill 은 기하학 값을 그레이스케일 값으로 변환한다. GetDist 는 그레이 스케일 채움 값을 기하학 거리 값으로 변환한다.
Figure 112007062944613-PAT00010
tFill 은 거리 값을 그레이스케일 채움 값으로 변환한다.
Figure 112007062944613-PAT00011
45도 알고리듬은 중앙 픽셀 이동을 계산하기 위해 둘러싸인 3*3 픽셀을 이용한다. 3*3 매트릭스 내의 픽셀 위치는 p[x][y] 로서 표현되고 그 곳에서 p[0][0] 는 중앙 픽셀이다. 알고리듬을 위한 압력 변수들은 sgnfX, sgnfY 그리고 cdH 이다.
if(cdH)>0{
if(p[0][0]<=64/2) {
p[0][0] = a
}
elsif(p[sgnfX][sgnfY]>0 {
if(p[sgnfX][sgnfY]>=64/2) {
p[0][0] = b
}
elsif(p[sgnfX][sgnfY]<64/2){
p[0][0] = c
}
}
elsif(cdH<0){
if(p[0][0]<64){
p[0][0] = e
}
elsif(p[-shnfX][-sgnfY]<64){
p[0][0] = d
}
}
이 코드 분할에서, (sgn fX, sgn fY ∈ {-1,1})이다. e를 통과하는 값들은
다음과 같다.
Figure 112007062944613-PAT00012
이 때 GF는 GetFill의 약자이고 GD는 GetDist의 약자이다.
코너 감지 및 취급
부가적으로, 모서리 이동의 선택적 측면은 코너들의 특별한 취급일 수 있다. 그 소위 Forstner-Plessey-Harris 이라 불리는 알고리듬은 코너를 감지하기 위한 하나의 기본이다. http://kogs-www.informatik.uni-hamburg.de/~koethe/viagra/doc/cornerResponseFunction.html VIGRA 컴퓨터 비젼 도서관, template<...> void cornerResponseFunction 와, C.G.Harris and M.J. Stevens : "A Combined Corner and Edge Detector", Proc. of 4th Alvey Vision Conference,ed. by C.J. Taylor, pp.147~151(Manchester University, 31st August--2nd September 1988) 을 보라. 상기 알고리듬은 다음을 계속하여 진행한다. 주어진 스케일 s에서, 그것은 이와 같은 각각의 픽셀에서 그 구조 텐서(이는 기울기 곱들의 간략한 행렬이다)를 계산한다.
Figure 112007062944613-PAT00013
이 때 G는 스케일 s에서 가우시안 평균을 나타내고, s,gx,그리고 gy 는 제 1 가우시안 유도물이며, 그 곱셈은 픽셀 모드이다. 그 때 그 코너 응답은 다음과 같이 규정된다.
CR = AB -C2 -0.0625(A+B)2
그 코너 응답 CR은 코너 픽셀들을 확인한기 위해 스레쉬홀딩 후 사용될 수 있다.
*실시에서, 우리는 g와 폼의 가우시안 필터를 측정하기 위해 fX 와 fY를 이용한다.
Figure 112007062944613-PAT00014
주의할 것은 이 기능은 5*5 이웃을 요구한다. 그 CR의 값은 코너에 가까우며 높다. 스레쉬홀드는 코너 픽셀들을 선택하기 위해 사용된다.(ALG2_PAR_HARRIS_LOW < CR < ALG2_PAR_HARRIS_HIGH). 대안적으로, 코너 감지는 중앙 픽셀이 대상 코너인 지를 결정하기 위해 5*5 픽셀 윈도우를 이용한다. 일반적 모서리 감지를 위한 그 두 개의 3*3 경사 필터는 도 46에서 제안된 것과 마찬가지로, 윈도우 내에서 매 가능한 위치에 적용된다. 그 결과는 fx와 fy 값을 지니는 3*3 행렬이다. 매 위치에서 그 결과들은 제곱되고 서로 곱해진다, 각 위치마다 3개의 값들 내의 결과는 도 47에 보인다. 위의 그 가우시안 필터는 각각 값을 위해 도 47 내의 매트릭스에 적용된다. 그 코너 응답(CR) 은 계산되고 코너 감지를 위한 스레쉬홀드와 비교된다.
Figure 112007062944613-PAT00015
을모서리와 코너 감지의 또 다른 접근은 SUSAN(가장 작은 단일-값 부분 동화 핵)이다, 이는 특허, S. M. Smith, Method for Digitally Processing Images To Determine The Position Of Edges And/Or Corners Therein For Guidance Of Unmanned Vehicle, UK patent 2272285( 1997년 1월 15일), 그리고 S. M. smith의 A New Class Of Corner Finder, in Proc.3rd British Machine Version Conference, pages 139-148(1992)을 포함하여, 널리 설명되어왔다. 더 나은 코너 및 모서리 감지 방법이 기하학 특징의 확장이나 침식을 위한 더 나은 기반을 제공하는 것을 제외하면, 모서리 이동의 이용은 선택된 그 특정 모서리와 코너 감지 알고리듬과 독립적이다.
코너 감지를 위한 또 다른 선택은 렌더링 프로세스 동안 코너의 생성을 기록하는 것이다. 코너들은 두 모서리를 교차하기 위해 논리적 AND 기능을 이용함으로써 생성된다. 논리적 AND 기호의 적용은, 다각형을 만드는 것 또는 다각형의 결합 에 있어서 잠재적인 코너를 가리킨다. 위에서 설명한 상기 두-비트 픽셀 인코딩은 비트 값"11"을 보유한다. 이 값은 기하학 특징의 단순한 모서리에 반대되는, 코너 작동에 의해 구성되는 그레이 픽셀을 플래그(flag)하기 위해 사용된다. 이 플래그는 그의 광도 값을 maxVal로 구동하고 픽셀을 W/B 로 플래그 되도록 원인이 되는 연속된 기하학 특징들이 완전히 픽셀을 커버할 때 자동적으로 제거된다. 이 플래그는 두 개의 인접한 사다리꼴들이 두 개의 코너가 있었던 연속적 모서리를 만들 때 제거 될 수 있다. 상기 플래그는 특정 경우 핸들링을 위한 코너의 표시 또는 그 이상의 테스트를 위한 코너의 표시로써 받아들여질 수 있다.
모서리 이동의 플로우 다이어그램
도 52는 모서리 이동의 하드웨어 구현을 위한 플로우 다이어그램이다. 이 실시예에서, 이동 계산은 코너 감지 알고리듬이 이동 계산과 병렬적으로 계산되는 것을 허용하면서, dX, dY, 그리고 cdH 값이 계산되자마자 계산된다. 감지와 결정 트리에서, dX, dY, 그리고 cdH 값을 위한 테이블들은 소프트웨어로부터 e 선행-로드 될 수 있고 cdX 와 cdY 값이 변할 때 다시-로드 된다. 도면에서, 들어오는 픽셀 데이터는 버퍼 된다(5201). 상기 데이터는 선택된 이웃의 그 크기에 따라, 픽셀 데이터의 5 열들로써 전송된다. 상기 데이터는 지연 버퍼(5211) 그리고 모서리 컨볼루션 계산기(5212) 양쪽으로 전송된다. 컨볼루션의 결과는 테이블(5221)로부터 일부 데이터를 끌어내면서, dX, dY 그리고 cdH(5222)를 계산하기 위해 사용된다. 그 컨볼루션 결과는 또한 코너, 45도 모서리 또는 다른 모서리가 감지되어왔는가를 결정 하는데 사용된다. 상기 연기 버퍼(5211)는 픽셀 데이터의 5 열과 계산된 값들(5222)이 평행 프로세스에서 코너 이동(5231), 45도 모서리 배치(5232) 그리고 다른 모서리 이동(5233)의 계산을 위해 결합되도록 하는 원인이 된다. 먹스(5241) 또는 다른 논리적 선택 소자는 적용을 위한 계산된 이동의 하나 또는 아무것도 선택하지 않기 위해 감지 결과들(5223)을 이용한다.
모서리 이동의 결과
테스트들은 코너 감지와 함께 또는 없이도 모서리 이동 알고리듬에 적용하기위해 수행되었다. 그 테스트 패턴들은 변화된다. LR 또는 사각형 패턴의 더 낮은 오른쪽 모서리들은 5-측변 특징을 남겨둔 채, 45도 각에서 잘라낸 더 낮은 오른쪽 코너를 지닌 사각형과 닮았다. 그 SQ 또는 사각형 패턴은 x 그리고 y 축을 따라 반 픽셀만큼 이동된 근원을 갖는 사각형 일련을 포함한다. 그 SQRot 또는 회전된 사각형 패턴은 0에서 90도 사이에서, 단지 x 와 회전된 y 안에서만 이동된다. 그 PlusRot 패턴은 ,x 이동과 회전을 지니는, SQRot 과 같이 취급되는 플러스 사인들의 일련이다. 이 패턴은 코너의 내부를 단지 외부 코너만을 지니는 패턴의 세트로 안으로 끼워 넣는다. 그 변수 cdX와 cdY는 각각의 테스트 패턴에서 변화하고 에러의 범위는 이상적인 것으로부터 어두운 서브-픽셀들 수의 차이에 의하여 특징지어진다.
코너 감지 없이, 그 세 모서리 이동 알고리듬은 다양한 결과를 지니는 위에서 설명한 패턴들에 대해 테스트된다. LR 파일들을 위해, 아래에 보이는 통계는 어 떠한 코너도 포함하지 않는 테스트 패턴들을 통하는 단지 그러한 열들을 위해 사용하여 유도된다. 따라서 이러한 결과들은 순전한 모서리들의 알고리듬 작용을 보여준다.
(상기 포함된 열은 27+i+j*32, 이 때, i,j=0,1,2...)
Figure 112007062944613-PAT00016
Figure 112007062944613-PAT00017
SQ 패턴에 의해, 아래의 결과들에 도달한다. SQ 내의 모서리들이 0 또는 90 도이기 때문에, 그 모서리각은 다수의 실제 이미지로부터 다른 픽셀들에 공헌을 하지 못한다. 따라서 이 데이터 세트 내의 평균은 코너에서의 에러들은 표현한다.
Figure 112007062944613-PAT00018
상기 SQRot 패턴의 테스트는 반복될 필요가 있다. 왜냐하면 원래의 데이터 세트가 비-균등성 ED 을 위한 에러들을 포함하기 때문이다. 아래의 데이터는 수정 된 이미지로부터 온다. 모서리는 0 또는 90도가 아니기 때문에, 모서리 방향 감지에 있어 에러는 다수의 다른 픽셀들에 공헌한다. 따라서 그 평균은 코너 에러의 대표가 아니다.
Figure 112007062944613-PAT00019
PlusRot 패턴의 테스트는 상기 SQRot 패턴과 마찬가지로 반복될 필요가 있다. 왜냐하면 원본 데이터 세트가 비- 균등성 ED를 위한 에러를 포함하기 때문이다. 아래의 데이터는 수정된 이미지로부터 온다. 모서리는 0 또는 90도가 아니기 때문에, 모서리 방향 감지에 있어 에러는 다수의 다른 픽셀들에 공헌한다. 따라서 그 평균은 코너 에러의 대표가 아니다.
Figure 112007062944613-PAT00020
위에서 설명된 코너 감지(대안적인 SUSAN 접근이 아니라)와 함께 테스트는 일부 개선을 보여준다. LR 파일들을 위해 아래에서 보이는 통계들은 어떠한 코너도 포함하지 않는 그러한 열만을 위한 것에 기초를 둔다. 따라서 그 통계는 단순한 모서리의 작용을 반영한다. (포함된 상기 열들은 27+i+j*32, 이 때, i,j=0,1,2...)
Figure 112007062944613-PAT00021
SQ 패턴을 위해, SQ 에서의 모서리들은 0 또는 90도 이므로 모서리각은 다수의 다른 픽셀에 공헌하지 못한다. 따라서 평균은 적용된 코너 감지와 함께, 코너에서의 에러를 나타낸다.
Figure 112007062944613-PAT00022
코너 감지와 함께, SQRot 패턴을 위한 결과이다.
Figure 112007062944613-PAT00023
코너 감지와 함께, PlusRot 패턴을 위한 결과이다.
Figure 112007062944613-PAT00024
모서리 이동의 하나의 하드웨어 구현이 도 20에 표현되고 아래에서 설명되었다.
하드웨어 구현
도 20은 5*5 이웃에 FIFO 와 픽셀 지연 오퍼레이터를 포함하는, 픽셀 라인 지연 버퍼를 나타낸다. 또 다른 실시예는 기존의 이미지 프로세싱 알고리듬을 유지하며, 다수의 지연 요소를 감소하기 위해 컨볼루션 커넬(kernel)에서 대칭성의 이용으로부터 이익을 얻을 것이다. 픽셀 데이터는 라인(2001)에서 입력이다. 지연 요 소(2010,2020,2030,2040 그리고 2050)는 모서리 이동(2060)을 위해 픽셀 이웃 오퍼레이터로 라인(2011,2012,2022,2032,2042 그리고 2052)을 낀 데이터의 전달을 제어한다. 그 수정되거나 또는 이동된 픽셀 이웃은 계산되고 출력된다(2070). 그 조정 프로세서는 상기 렌더링 프로세서로부터 출력 데이터 흐름 내의 수신된 이웃 픽셀에서 그레이 스케일의 모서리 이동을 수행한다. 한 실시예에서, 모서리 이동을 위한 이웃 크기는 5*5 그레이스케일 픽셀이나, 이웃의 크기는 수행 항목이며, 당해 발명의 실행에 대한 방법 적용의 제한이 아니다. 상기 모서리 이동의 구현은 평행한 픽셀 입력과 출력 데이터 흐름(주기마다 2 또는 4 픽셀)과 동화하기 위한 병행론을 지지한다. 출력 데이터 이미지에 사용되는 그 표기법[Inc Y0-2, Inc X0-2]는 그곳은 두 개의 픽셀 라인 지연과 하나의 두 픽셀 지연이 있음을 의미한다.
조명 보상
도 21 은 소위 스탬프 오버랩이라 불리는 것을 도시한다. 렌더링 또는 모듈레이터 윈도우는 하나 이상의 스탬프 부분을 커버한다. 예를 들어, 스탬프(2101)는 6개의 모듈레이터 윈도우(2111-16)에 의해 커버된다. 단일 패스에서, 스탬프는 그들의 모서리 가까이(2102)를 오버랩한다. 그 오버랩 지대(2103)는 오버랩의 그 영역이다. 오버랩 분석은 또한 스캔된 방사 이미지 프로젝터에 적용될 수 있으며, 그곳에서 레티클의 지역은 프린트되고 그 후 레티클의 그 후의 프린트된 지역과 함께 오버랩 된다. 스캐닝 시스템을 위한 오버랩 패턴은 상기 레티클이 반대 모서리에 대한 하나의 모서리로부터 스캔될 경우, 스캔된 스트립 또는 단지 두 측면위의 모 든 면들의 오버랩 지대를 포함한다.
오버랩을 위한 오버랩 지대와 에너지 변화 보상
도 22 는 단일 패스 환경에서 마이크로거울 스탬프의 오버랩 서브지대를 도시한다. 상기 스탬프(2201)는 9개 오버랩 서브지역들(2220)을 지니며, 이는 8개의 인접한 스탬프들(2211)을 지니는 오버랩으로부터 초래되며, 그 스탬프는 3*3 격자의 중앙에 있는 스탬프(2201)이다. 그 중앙 지대는 인접한 스탬프들과 함께 오버랩 되지 않는다. "+" 패턴의 팔들(arms)을 따라, 중앙 서브지대로부터 렌더링 지역의 모서리로의 외부로의 방사하며, 그것에는 인접한 노출을 지닌 다수의 오버랩 서브지대들이 있다. 다른 서브지대들의 노출에 의해 둘러싸인 사각형 렌더링 지대에서, 코너 다수 오버랩 서브지대의 각각은 네 차례 노출된다. 이 9개의 서브지대 구현은 다수의 노출에 적응될 수 있다. 4개의 흔들린 노출들은 도 23B에서 보는바와 같이 렌더링 지역의 81 서브지대의 결과를 가져온다. 상기 동일한 서브지대 분류는 쉽게 다른 모양의 렌더링이나 보호 지대에 적용될 수 있다. 예를 들어 6각형 또는 교류의 삼각 렌더링과 보호 지대이다. 조명 보상은 다수의 패스 내에 노출된 지역 간의 오버랩을 보상하기 위한 방법이다. 이 방법은 마이크로거울과 스캔된 방사 빔 시스템 양쪽 간의 변화에 적용된다. 다수의 패스들은 단일 스탬프 코너 내의 다수의 조명 지역들을 증가시킨다. 도 23A에서, 스탬프의 두 가지 패스들과, 상기 현재 패스와 또 다른 패스로부터의 오버래핑 스탬프(2311-14)가 도시되었다. 지역 코드들(2320-26)은 다수의 패스 노출에 의해 생성된 많은 오버랩 서브 지역들 간에 있 다. 하나의 멀티-패스 패턴은 4개의(이동된) 레이어(layer)들로 구성되었다. 각각의 레이어는 도 23B에서와 같이, 오버랩핑 SLM 이미지들로 구성되었다. 가장 안쪽의 사각형은 일반적인 "스탬프"의 기하학을 보여준다. 각각의 그러한 스탬프는 81개의 영역을 지니며, 그것의 각각은 7개의 다른 노출 펄스에 대해 4의 결과를 낳는다. 지역 코드 알고리듬의 목적은 오버래핑 지역 내의 바느질을 위한 분량 보상 제공과 마찬가지로, 펄스 에너지 내의 변화의 (거의)1과 1/4까지의 마지막 분량 변화를 감소시키는 것이다. 바느질 지역에서 우리는 인터폴레이팅 기능 또는 전체 바느질 지역에 대한 상수 값 중 어느 것을 사용할 것인지에 대한 선택권을 갖는다.
오버랩 지대의 한 가지 이용은 명목상의 노출 펄스로부터 초래되는 이론적인 노출을 따라가는 것이다. 도 24A-B 는 스탬프(2301)의 다양한 조명 지역을 위한 조명 분량 윤곽을 나타낸다. 이 예에서, 상기 스탬프는 n 모듈레이터 윈도우에 의해 커버되고, 이들의 각각은 스탬프만큼 넓다. 각각의 모듈레이터 윈도우는 6개의 조명 서브지대에 할당된다. 단일 패스 내에서 다른 노출과 오버랩 되지 않는 상기 중앙 서브지대는 도 24B에서 서브지대 0;4를 위해 표시되는 것과 마찬가지로 상대적으로 높은 분량 윤곽을 갖는다. 상기 단일 오버랩 서브지역, 예를 들어 0;1 그리고 0;5 는 중간 분량 윤곽을 갖는다. 0;2 와 같은 상기 다수의 오버랩 서브지대는 낮은 분량 윤곽을 갖는다.
오버랩 지역의 또 다른 이용은 플래쉬(flash) 강도내의 변화를 쫓는 것이다. 상기 노출 펄스들은 에너지 내에서 비-결정적인 변화 또는 스프레드를 준다. 명칭상 에너지에 상대적인 상기 스프레드는 에너지 스프레드를 표현한다. 이는 특히 에 너지 출력에서 펄스 변화에 대해 중요한 펄스를 지니는 다른 소스들과 엑시머 펄스 레이저에 적합하다. 만일 방사 빔에 의해 전달된 에너지가 시간에 따라 변한 다면, 예를 들어, 방사 소스가 워밍업 되는 것과 같은 경우, 그것은 또한 스캔된 방사에 적용될 수 있다. 조명 지대는 특별한 실행 단편의 노출동안 생산되는 실제의 노출 에너지들에 관한 정보를 지니는 오버랩핑 방사로부터 이상적인 노출에 관한 정보를 결합할 수 있다. 에너지 스프레드 보상은 이후의 노출 패스들 내의 SLM 모듈레이션 값의 조정에 의해 에너지 스프레드를 보상하는 과정이다. 상기 보상은 모듈레이션 조정 프로세스 내에서 조명 값에 따라 행해진다. 이름상의 모듈레이션과 관련된 상기 조명 값은 소위 ESCF( 에너지 스프레드 보상 요소) 라고 불린다. ESCF 테이블은 각각의 지역 코드를 위해하나의 ESCF 코드를 지니는 하나의 특정 모듈레이터 윈도우를 위한 ESCF 코드를 나타내는 테이블이다. ECT 배열은 전체 서브-스트립 또는 스트립의 모든 모듈레이터 윈도우를 위한 하나의 테이블을 포함하는 ESCF 테이블의 세트이다. 에너지 스프레드 보상 계산은 ESCF 테이블 배열의 발생을 위한 과정이다. 이 프로세스는 머큐리 컴퓨터 클러스터(cluster)아래에서 설명된 것과 같은, 또는 분할된 프로세스를 위한 다른 호스트, 또는 머큐리 컴퓨터 클러스터 구현을 구현하기 위한 오프라인 작업 내에서 수행된다.
상기 에너지 스프레드 보상은 전체적으로 래스터 하는 엔진(RASE)(도 31내의 3141) 의 조정 프로세서 블락의 조명 전환 프로세서 내에서 발생한다. 스탬프 내의 각각의 모듈레이터 윈도우를 위해, 지역 코드들의 세트가 있으며, 이 때, 각각의 코드는 윈도우의 단편을 나타낸다. 스트립 내의 모든 플래쉬(flash) 펄스를 위해, 상기 스탬프 조명 값들은 각각의 지역 코드 및 각각의 펄스를 위해 특유한 에너지 스프레드 보상 요소 함께 보상된다. 게다가, 스탬프 내의 모든 지역은 스탬프 내의 지역을 위한 요소의 다른 세트를 로딩 함으로써 부가적인 요소에 의해 보상된다. 이것은 , 예를 들어 코너 만들기, 활성화, 그리고 에이징(aging) 효과 와 같은 저항과 그 외의 시스템 요소들을 위해 보상할 때 바람직하다. 상기 요소는 다음의 방법처럼 이진법 2의 보수 고정 포인트 코딩에 의해 주어진다.
f=(F+512)/512
이 때 F 는 이진법의 ESCF 값(-128.........+127) 이고 f는 상대적인 보상 요소 이다.(0.7500....1.2481). 0의 F 값은 100%를 나타내며, 이것은"보상이 없음"을 의미한다.
다시, 특정 플래쉬 펄스를 위한 지역 코드를 나타내는 ESCF 의 세트는 ESCF 테이블(ECT)이라고 불린다. ESCF 테이블은 23비트 이중 워드 내에 발생한, 각각의 배치를 위한 한-바이트 엔트리를 포함한다. ESCF 의 상기 길이는, 다수의 활용되는 지역 코드와 관계없이, 128로 고정된다.
Figure 112007062944613-PAT00025
쓰여진 각각의 스트립을 위해, ECT들의 배열이 요구되고( 하나는 각각의 레이저 펄스를 위해 그리고 각각의 모듈레이터 윈도우를 위해) ECT 스트립 배열이라고 불린다. 상기 배열은 도 23C 내에 보이는, 서브-스트립 내에 배치한다. 상기 ECT 스트립 배열 발생의 과정은 서브-스트립들로 분리된다. 따라서 각각의 GLI 채널을 위해(하나의 서브-스트립에 대응하는) 하나의 ECT 서브-스트립 배열은 도 23D에서 보이는, 분할된 엔진 컴퓨터 클러스터 내에서 분리된 구조로써 발생된다. ECT 스트립 배열이 데이터 파일 내에 표현될 때, 오프라인에서 생성될 때와 같은, 서브-스트립들은 파일 1,1에서 1,n 내에 배열되고, 그 후에는 2,1에서 2,n 등이다.
도 23으로 돌아가서, 특정 모듈레이터 윈도우 내의 각각 지역 코드를 위해, 에너지 측정 소스 참고의 세트가 있다. 도면에서, 스탬프(2301)는 당해 스탬프의 노출 지역이다. 스탬프들(2311-14)은 이전 패스의 4개의 오버래핑 스탬프이다. 모듈레이터 윈도우(2302)는 점선 내에 윤곽이 그려진다. 모듈레이터 윈도우 (i) 내에는 많은 지역 코드들이 있다.(이 실시예에서, i;0 을 통해 i;8 ,2320-2328) 왜냐하면 이것은 두 개 패스의 예이고, 모듈레이터 윈도우 내에 9개의 지역 코드들이 있기 때문이다.
한 실시예에서, 각각의 에너지 측정 소스 참고는 두 개의 포인터들과 하나의 가중 요소와 함께 변수 파일 내에 기록으로써 표현된다. 상기 포인터들은 소스 측정값 또는 값들 을 향한다. 그리고 상기 가중 요소는 오버랩 지대 내의 개개의 측정으로부터 충돌을 나타낸다. 많은 플래쉬들은 노출에 영향을 미친다.
상기 ESCF 는 아래의 표현으로부터 계산된다.
Figure 112007062944613-PAT00026
이 때 x는 스탬프 번호이고, y는 스트립 번호, wj 는 에너지 가중 요소, dxj 와 dyj 는 다중-패스 노출 스탬프 위치 오프셋으로부터 따라오는 지역 코드의 부분으로부터 유도된,(-1...+1)의 범위 내의 값을 지닌다. 상기 변수는 정수[0...32768] 간격을 지니는 고정 포인트 표현을 가지며, 이때 0은 0% 공헌을 그리고 32768은 100% 공헌을 의미한다. 상기 E 값들은 또한 [0...32768]범위를 가지며 그곳에서 32768은 명목상 에너지(100%)와 값들과 >32768 수단을 평가한다.
아래의 예에서, 스탬프를 위한 소스 참고들의 완전한 세트가 주어진다. 상기 스캔 순서는 첫 번째로 X가 증가하고, 다음으로 Y가 증가한다. 오버랩 지대에서, 상기 제 1 노출 스탬프는 0,55의 가중과 두 번째의 0,45의 가중을 갖는다. 상기 동일한 가중은 양쪽의 수평과 수직 오버랩들에게 적용된다. 4개의 스탬프들이 오버랩될 때, 상기 가중들은 노출의 순차적 순서 내에 있다. 상기 에너지 측정은 다음의 결과를 생산해내며, 이는 하나의 실시예의 예이다.
Figure 112007062944613-PAT00027
오버랩 지역은 게다가 조명 또는 노출 과 모서리 배치간의 비-선형 관계를 고려할 수 있다. 이는 이상적인 것과 실질 적인 노출들 모두 도 1로부터 볼 수 있다.
다중-패스 노출 보상 접근에 의해 획득된 에너지 변화 노출에 대한 수정에서 이론적 제한은 다음과 같다. 노출 방사는 이의 에러 명세서 내에서 최대의 에너지와 함께 4번 발생된다고 가정한다. 만일 n이 동일 지점에 대해 얼마나 많이 발생했는가를 나타낼 경우, 우리는 n번 후의 에너지에 대해 다음의 귀납을 쓸 수 있다.
Figure 112007062944613-PAT00028
상기 표현의 설명은 아래와 같다. n-1 플래쉬 En -1 후, 합계된 에너지를 알면서, n 레이저 플래쉬 이후 상기 그 전체 분량, n( 표준화된 분량) 을 획득하기 위해 우리는 (n-En -1 ) 지역 코드(AC) 보상 요소를 결정한다. 우리는 단지 레이저를 그 정확성 (1+ δ) 을 제어하기 때문에, 그 결과로 분량은 이전에 주어진 (귀납적) 표현에 의해 주어진 것이다.
우리는 아래 테이블 내의 이 귀납 공식을 요약한다.
Figure 112007062944613-PAT00029
마지막 칼럼 내의 그 요소 4는 그 개선이 4-패스 라이팅을 사용한 것이 거의 4번이나, 전적인 것은 아니라는 사실을 하이라이트하기 위해 포함되었다. 여기서 사용되는 상기 식은 단지 같은 레이어에서 다른 지역을 오버랩 하지 않는 지역에만 적용된다.
유용한 지역 코드 보상 요소는 다음과 같이 계산 된다. 다음에서의 그 표시는 후속들(follows)이다.
Figure 112007062944613-PAT00030
앞의 섹션과 동일한 방식으로, 우리는 노출 보상 요소를 다음과 같이 유도한다. 각각의 지역(또는 지역 코드)을 위해, 그 지역 코드로 미리 저장된 전체 레이저 펄스 에너지의 합과 보상계수의 K 배는 lE0 와 같다. E0 는 그 명의상의 레이저 펄스 에너지이다. 상기 요소 K 는 레이저 내에 우리가 지역 코드 a를 적을 횟수의 숫자이며, a에 의존한다.
Figure 112007062944613-PAT00031
(주의할 것은 E0 는 일부 효소들에서는 1로 정해진다). 이것은, 다시, 각각의 스탬프를 풀어야만 할 귀납 식이다. 상기 귀납은 현재 레이어 내에 쓰인 스탬프들에서 실행되고 , 그리고, 그 후, 아래의 레이어 내의 스탬프에서 실행된다.
구현
도 25는 조명 전환을 위한 하나의 프로세스 흐름의 블락 다이어그램이다. 이 것은 조명 전환의 풀버젼이다. 부분적인 구현은 또한 유틸리티를 갖는다. 예를 들어 단지 하나의 패스가 사용되고, 스캔된 방사 소스가 이용되거나 또는 노출 에너지 내의 펄스-대-펄스 또는 패스-대-패스 변화가 무시될 수 있다. 상기 조명 전환 기구의 그 일은 입력 그레이스케일 값들로부터 계산된 원하는 조명을 갖는 픽셀 데이터의 이미지를 생성하는 것이다. 실제 격자와 조명 간의 관계는 도 25에서 볼 수 있는 것과 같이 비-선형이다. 상기 프로세스는 그레이스케일에서 조명으로 전환 테이블을 변경함으로써 오버랩을 위한 보상을 포함한다. 이것은 포토레지스트에서 비-선형 에너지 축적 특징들을 보상하기 위해 사용되었다. 상기 프로세스는 또한 조명의 전환은 다중-패스 노출의 이전 패스 내의 플래쉬 에너지의 스프레드 또는 변화를 위해 보상하는 것이 필요하다는 것을 설명한다.
상기 지역 코드 섹션 데이터베이스(2511)는 하나 이상의 지역 코드 이미지 맵과 오버랩 지대 룩-업 테이블을 포함한다. 지역 코드 맵은 모듈레이터 또는 렌더링 윈도우 내의 픽셀들을 위한 엔트리들을 포함한다. 상기 엔트리들은 지역 코드로 규정된다. 한 실시예에서, 지역 코드의 범위는 0...127 이다. 단일 패스 실시예에서, 9 지역 코드만큼 적은 것이 사용된다, 다수의 지역코드는 모든 노출 패스들, 오버랩 패턴들 그리고 특정 경우로부터 초래되는 다수의 조명 지역에 적절하게 적용된다. 지역 코드 맵들의 처리는 특정 경우에 고려된다, 예를 들어 렌더링 윈도우 끝의 모듈레이터 윈도우와 같이, 실행 단편 모서리에서 적용되는 스탬프를 위한 모듈레이터 윈도우와 렌더링 윈도우를 걸치는 모듈레이터 윈도우들과, 렌더링 윈도우 중간의 모듈레이터 윈도우에 반대되는 경우이다. 다른 지역 코드 이미지 맵은 다른 경우 들을 처리하기 위해 사용되거나 또는 다른 인덱스들은 전체적인 지역 코드 맵의 열 또는 행을 어드레스하기 위해 사용된다. 레지스트(resist) 이슈들은 표면 구움 특징, 레지스트 활성을 포함하며, 레지스트 에이징은 특히 지역 코드 이미지 맵들을 초래한다. 그러나 지역 코드 이미지 맵이 저장되면, 지역 코드는 모듈레이터 또는 렌더링 윈도우의 특정 픽셀 또는 더 큰 지역을 위해 조사될 수 있다.
지역 코드(2522)는 인덱스로서 오버랩 지역 룩-업 테이블(2523)에 편리하다. 0....127 의 범위를 갖는 지역 코드를 위해, 오버랩 지대 룩-업 테이블은 128개의 엔트리를 갖는다. 오버랩 지대 룩-업 테이블 내의 엔트리들은 0....14(2533)와 같은 범위를 갖는 오버랩 지대 Id(OZ Id) 가 된다. 더 넓거나 또는 좁은 범위의 OZ Id 들이 사용되며, 이는 조명 테이블(2524)의 원하는 수에 의존한다. 상기 OZ Id는 조명 테이블 선택 장치를 구동하기 위해 사용된다. 대안적으로, 상기 지역 코드 이미지 맵은 직접적으로 OZ Id(2533)와 함께 로드 될 수 있다, 따라서 모듈레이터 또는 렌더링 윈도우 내의 픽셀을 위한 이미지 맵 엔트리들은 룩-업 테이블(2533)에 접근하기 위한 지역 코드(2522) 이용의 중간 과정 없이, 직접적으로 OZ Id에 접근할 수 있다.
상기 조명 섹션 데이터베이스(2512)는 허용할 수 있는 그레이 스케일 값과 유효한 OZ Id들을 위한 테이블을 포함한다. 이 경우에서는, 0..64 곱하기 0....14 엔트리들이다. 데이터는 각각의 허용할 수 있는 그레이 스케일 값을 위한 조명 테이블(2524)들로 로드 된다. 상기 데이터는 조명 오버랩 지대 Id에 따라, 원하는 그레이 스케일 값의 실현을 위한 값의 범위(예를 들어,0...14)를 제공한다. 들어오는 그레이 스케일 값(2513)은 특정 조명 테이블(2524)을 불러일으키며, 이는 조명 값(2534)들의 유효한 범위를 만든다. 상기 조명 테이블 선택 장치(2535)는 유용한 조명 값을 선택하기 위해 상기 OZ Id 값(2533)을 이용한다. 조명 테이블 내의 값들은 다수의 노출로부터의 분량 축적 내의 비-선형성을 고려하고 전체 빛나는 픽셀의 동일한 부분과 같이 표현될 수 있는 방사 분량을 생산하기 위해 요구되는 조명 레벨 내의 비-선형성을 고려한다. 레지스트 표면 구움 특성들의 이슈들과, 레지스트 활성 및 레지스트 에이징은 데이터베이스(2512) 내에 저장된 특별히 적합한 조명 테이블(2524)들을 지님으로써 어드레스될 수 있다. 예를 들어 0....820 과 같은 조명 값(2544)의 넓은 범위가 노출 오버랩 조건의 범위를 가로지르는 그레이 값의 상대적으로 작은 (예를 들어, 0...65) 범위를 수행하기 위해 요구되는 방사 분량을 표현하기 위해 사용된다.
조명 전환 그 자신에 의해 또는 오버랩 전환을 지닌 결합 내에서의 유틸리티를 갖는 조명 전환의 또 다른 측면은 에너지 변화 보상이다. 에너지 변화 보상 요소(2541)의 데이터베이스는 실행 단편 부분이 다중 패스 내의 방사에 노출되는 것처럼 축적된다. 펄스화 된 엑시머 레이저 방사 소스를 이용하는 마이크로 거울 시스템은, 예를 들어, 에너지 출력에서의 펄스-대-펄스 변화를 경험할 수 있다. 넓은 범위, 예를 들어 이상적인 것의 75에서 125 퍼센트와 같은 에너지 변화 요소를 축적하는 것이 유용한다. 넓은 범위의 상기 범위는 다중 패스를 통한 축적된 변화를 캡처하기에 충분하다. 마이크로 시스템을 조명하는 방사 소스의 모든 펄스를 위해, 에너지 변화는 펄스에 대응하는 스탬프 위치의 더 큰 맵 이내의 지역 코드 기준에 의한 지역 코드 위에 축적 될 수 있다. 그 후, 지역 코드 이미지 맵으로부터의 지역 코드들(2522)은 에너지 변화 보상 요소 테이블(2532)을 인덱스 하기 위해 사용될 수 있다. 보상 요소, 예를 들어 75에서 125 퍼센트(384...639/512)(2542)는 이상적인 에너지 노출로부터 관찰되는 변화를 보상하기 위해 사용될 수 있다. 이 보상 요소(2542)는 0.....1023과 같은 범위를 지닌 다중-패스 보상된 조명 값(2546)을 생성하기 위한 조명 값(2544)에 의해 곱해질 수 있다(2545). 이 에너지 변화 보상은 방사 분량이 하나의 패스로부터 다음으로, 예를 들어 두 개의 프로세스를 프린트하는 스케일 된 80/20 또는 하나의 4 패스 프로세스 내의 40/30/20/10에서, 스케일 될 경우에 특히 유용하다. 다중패스 스케일링은 낮은 곳에서 높은 에너지까지 같은 스케일이 적용되는 특정 동적 범위의 정확성을 더 작은 최대 분량 (예를 들어, 40의 에너지 분량 대신, 10의 에너지 분량의 단계(1024))으로 개선하는 적용을 위한 잠재력을 지니고 있다.
상기 조명 기능 수정은 레지스트 비-선형성을 위한 것만이 아니라, SLM 의 부분적 일관적 이미지에 기초한 패턴 발생기 내의 기본적인 시각적 근거를 갖기 위해서이다. 이론적 연구는 부분적 일관성은 그레이-레벨의 모서리 비-선형 기능의 이동을 만들고, 그리고 상기 비-선형성은 조명 시스템의 시그마 값이라 불리는 가장 단순한 경우 내의 , SLM을 조명하는 빛의 공간적 분배에 의존한다. 그레이 값으로부터 모서리 이동 dx까지의 그 전달 함수는 전형적으로 g가 0.00에서 1.00 범위 내의 그레이 레벨인 곳의 g와 sqrt(g) 간에 놓여 있는 함수 이다. 상기 그레이 레벨은 같은 편향으로 정해진 많은 픽셀들을 포함하는 큰 지역을 위해 획득된다. 다 중 패스들( 4 이상)이 프린트될 때, 상기 조명 함수의 정확한 모양은 덜 중요하고, 전달 함수 dx = g **0.75 에 기초한 단일 함수는 좋은 정확성을 지니며 사용될 수 있다.
거울 보상 프로세스
상기 미러 보상 기능은 조명 전환 기능 내에 계산된 조명 값을 거울 전압 값으로 전환한다. 상기 보상 기능은 SLM 거울을 위한 전압 값을 계산하기 위해 보상 계수 맵 내에 저장된 상기 거울 캘리브래이션(calibration) 파일로부터 데이터를 이용한다. 상기 보상 요소 맵은 모듈레이터 윈도우 내의 모든 거울에 4개의 변수를 지니는(C1...C4) 하나의 엔트리를 포함한다. 상기 보상 계수들 C1...C4 는 모두 Cn2를 지닌 하나의 이진수 이동 기능과 오프셋 값 Cn1 의 부가를 포함하는 스케일/오프셋 기구를 통과한다. 이러한 스케일/오프셋 상수들은 모듈레이터 윈도우 내의 모든 거울에 일반적이고 AP 변수 파일의 거울 테이블 섹션으로부터 로드 된다. 조명 값 x의 함수로서 상기 출력 전압 U는 거울 구동 전압을 위한 다음의 방정식으로부터 발생한다.
Figure 112007062944613-PAT00032
한 실시예에서, 이 방정식을 위한 변수의 범위는 다음과 같다.
Figure 112007062944613-PAT00033
상기 보상 함수는 룩업 테이블에 의해 정의된 두 개의 원시적 함수를 이용한다. 이러한 룩업 테이블은 AP 변수 파일(2621)의 거울 함수 섹션(2625)으로부터 로드 된다. 이 방정식들의 한 하드웨어 구현은 도 27에 보인다.
도 27에서의 상기 하드웨어는 위의 방정식의 한 효율적 구현이다. 상기 계수들 C1...C4는 보상 계수 맵(2701) 내에 저장되며, 이는 거울 눈금 파일(2626) 내에 저장된다. 하나 이상의 계수 세트는 거울의 에이징, 거울 휴지 기간 내의 시간, 거울 휴지 기간 내의 다수의 거울 주기 또는 시간에 따라 변하는 개개의 마이크로거울의 다른 특성을 고려하기 위해 각 픽셀에 저장된다. 그 원하는 조명 값(x)(2702)은 입력이다. 상기 계산 블락(2711-2713)은 첫 번째 방정식, Cs1 = C11 + C1*2c12 을 구현한다. 상기 계수 C1은 이동 레지스터(2711) 내에 로드 된다. 상기 지수 C12 는 상대적으로 빨리 곱셈과 누승 법을 수행하기 위해, 레지스터(2711)의 이동 함수를 활성화 하는데 사용된다. 상기 덧셈기(2712)는 이동 레지스터의 결과와 그 계수 C11을 합한다. 그 넘침 감지기(2713)는 범위 밖의 값에 대해 응답한다. 그 응답은 에러일 수 도 있고 또는 데이터 패스를 위해 최대 허용 가능한 값과 같이, 미리 지정된 값에 대한 결과를 정하는 것일 수 있다. 그 계산 블락(2721-2723, 2731-2733, 그리고 2741-2743)은 Cs2, Cs3 그리고 Cs4 의 부분적인 계산과 유사하다. 이 값들의 계산은 블락 결과에 원하는 조명 값 (x), F3(x)배, 그리고 F4(x)배의 곱셈을 요구한다. 그 곱수(multiflier)(2753-2755) 는 이러한 곱셈을 수행한다. 그 아래-이동 과 반올림 로직(2761-2764)은 원하는 범위에 대한 결과를 스케일 하고, 이 때 계산의 초기 단계 내의 계산의 정확성을 보유한다. 그 로직(2761-2764)은 또한 128에 의한 분할을 구현하고, 이는 이동 레지스터 작동으로서 구현될 수 있다. 상기 덧셈기(2765)는 Cs1, Cs2, Cs3 그리고 Cs4 그 결과들을 결합한다. 넘침 감지기(2766) 는 2713과 유사한 그 결과를 체크하고, 그리고 아래-이동 과 반올림 로직(2768) 은 원하는 동적 범위 내 U(x) 생산에 적합하도록 128에 의해 스케일, 반올림, 분배가 된다. 거울 보상에 사용되는 함수와 사용되는 프로세서에 따라, 다른 하드웨어 로직은 도 27 내의 하드웨어 로직에 동일한 결과를 생산하고, 이 때 모듈레이터 또는 마이크로거울을 구동하는 디지털 값을 생산하기 위해 미리 저장된 계수와 함수 그리고 디지털 로직을 이용하여, 원하는 조명 값을 원하는 모듈레이션 또는 전압 드라이버로 변환한다.
상기 캘리브레이션 절차의 목적은, 주어진 M(M은 106 )거울에서, 모든 거울을 위한 보상 루틴 내에 사용될 수 있는 모든 거울과 유한(작은) 함수 세트에 일반적인 반사 범위를 찾는 것이다. 즉, 모든 거울을 위한 전압 함수로써 반사율이 주어지고, 모든 거울에 의해 획득할 수 있는 최대 및 최소(일반적) 반사율을 찾는다. 이러한 값들 사이에서, 역으로, 예를 들어, 반사율의 함수로써 전압은, 모든 거울에서 잘 정의된다. 테이블 내에 저장 될 수 있는 정적 함수의 작은 세트에 부가하여, 모든 거울을 위한 32 비트 저장 장치를 이용하는 적절한 식을 찾는다. 일반적 화이트 그리고 어두운 레벨( 적어도 그 CCD에 의해 보이는 것처럼) 배열 내의 마이크로 거울을 위해 , 전 배열을 위한 상기 동적 반사율 범위는 모든 거울에 의해 획 득할 수 있는 레벨에 의해 제한 될 것이고, 이는 대부분 거울의 동적 범위의 반 또는 그 이하이다. 요구되는 동적 범위에 따라, 결함이 없는 일부 거울들은 사용으로부터 배제되거나 또는 특별히 다룬다. 왜냐하면 그들은 제한된 동적 범위를 지니기 때문이다. 상기 거울들이 특별히 다뤄질 때, 그들은 여전히 검정 또는 흰색 내의 더 큰 보상 에러와 함께 사용된다. 일단 "검정" 그리고 "흰색 레벨들이 선택되고, 개별적인 거울은 , 그 반사율 범위 내로 조정된다. 상기 캘리브레이션 과정은 위에서 참고한 공동 특허 출원의 주제이다.
함수를 정의하기 위한 한 접근법은 기본 함수 sin(π*) 와 sin(2π*) 기저 함수 와 같은 푸리에 전개에 의해 쉽게 표현된 함수를 이용하는 것이다. 특징적인 에러 형태를 닮은 sin(3π*)은 이러한 기저 함수들을 이용할 때 기대될 수 있다. 상기 함수를 유도하는 두 번째 방법은 선형 인터폴레이션과 특성 함수를 이용하는 인터폴레이션의 혼합이다. 상기 특정 함수는 선형 인터폴레이션을 이용하는 그 인터폴레이션 에러를 위한 공분산(covariance) 행렬의(본질적인) 고유-함수(eigen-function)이다. M 개의 거울을 위한 공분산 행렬의 직접적 계산은 M*M 행렬의 대각선화가 필요하다. 대안적으로, M개의 함수를 N개의 사인-푸리에 성분으로 방사하고 대신 N*N 공분산 행렬의 그 공분산을 계산할 수 있다. 그 절차는 다음과 같다. 1) 끝지점에서 반사율 함수를 인터폴레이트 하는 직선간의 차이와 그 응답 함수는 푸리에 성분의 충분히 큰 숫자로 확장된다. 2)M개의 거울을 지니고(그리고 결과적으로 M개의 함수들) N 성분으로 팽창하는 것은 우리에게 M*M 차원을 지니는 행렬 A를 준다. 그리고 3)상기 기저 함수들은 가장 큰 고유 값을 갖는 AAt (t는 전치행렬을 의미)의 두 개의 고유 벡터(제곱행렬)를 선택하는 것에 의해 이제 선택된다. 이런 방식으로 획득된 상기 기저 함수들은 여전히 sine-유사 이거나 sin(3π*)형태의 시스템 에러 없이 적용된다. 도 28, 함수들(2801-2802)은, 푸리에 전개 내의 60개의 사인(sine) 항을 이용하여 발생되는 기저 함수의 쌍을 도시한다. 이 기저 함수들은 위에서 설명한 다른 기저 함수들을 이용할 때 기대되는 시스템 에러가 없는 사인-유사 함수이다.
푸리에 방법과 최저 제곱적합은 아래의 등식을 위한 적합한 캘리브레이션 절차 중의 하나이다. 푸리에 방법에 의하면, 적분에 의해 계수를 찾는다.
Figure 112007062944613-PAT00034
이 때 e(x)는 끝지점에서 데이터를 인터폴레이트 하는 직선 간의 차이이고, wn bn 은 구적(quadrature)으로부터의 무게와 가로좌표이다. 이는 또한 sin(2πx)에서 유사하게 통합된다. 이 적분은 Gauss-Chebyshev 구적에 의해 쉽게 풀린다. 인터벌 내의 네 지점만큼 적은 구적은 만족스런 결과를 생산할 수 있다.
상기 최소 제곱적합과 상기 푸리에 방법 간의 한 차이점은 상기 최소 제곱적합이 상기 에러( 어떻던, 가중 함수가 1일 때)의 변화를 최소화하는 동안, 전자가(디자인에 의할 때) 끝 지점에 적합하다. 캘리브레이션 계수들 c1 에서 c4 는 풀이에 의해 구해진다.
Ac = Y
이 때 A는 4*4 행렬이고 Y 는 4*1 벡터이다. 상기 행렬의 그 요소는,
Figure 112007062944613-PAT00035
이 때 Y는 일부(표준화된) 반사율 샘플 xm 에서의 전압이다.
상기 함수들의 두 개(f1 과 f2 )는 상수 함수이고 그 선형 함수 f(x)=x 이다. 사용된 남아 있는 두 개는 sin(x) 또는 (본질적으로) 고유-함수로부터 유도된다. 만일 상기 가중 함수, w(x),가 1로 선택되면 우리는 변화를 최소화하는 캘리브레이션 계수 (c)를 획득할 것이다. 만일 우리가 또한 기저 함수의 두 개를 sin(π*) 와 sin(2π*)이 되도록 선택할 경우, 우리는 푸리에 확장에 매우 유사한 결과를 얻을 것이다. 이러한 두 개 사이의 상기 차이는 최저 제곱 알고리듬에 의해 자유롭게 선택되는 동안 푸리에 경우 내에 정확히 캘리브레이션 데이터를 인터폴레이트 하도록 사용되는 그 상수와 그 선형 함수의 요구로부터 단지 시작된다. 결과적으로, 그 최저 제곱 적합은 가장 작은 평균 에러를 발생하나 끝지점에서 정확하게 보증되지는 않는다.
보상을 위한 알고리듬은 매우 간단하다. 즉,
U(x) = c1 + c2x + c3fc(x) + c4f4(x)
그곳에는 각각의 거울을 위한 4개의 유일한 계수가 있고 모든 거울에 공통되 는 두 개의 지지하는 함수(f3(x) 와 f4(x)) 가 있다. 이러한 두 개의 함수들은 캘리브레이션 절차의 결과로써 테이블 안으로 넣을 수 있다. 상기 변수, x, 는 다른 평균화가 마지막 구현 내에서 사용될 수 있음에도 불구하고, 범위 (0...1)에서 평균화된 이 경우 내에 있다.
예를 들어 거울마다 32 비트와 같은, 거울 보상 계수를 위해 요구되는 저장장치와 대역폭을 최소화하는 것이 유용하다. 이것은 보상에 있어서 "반올림" 에러를 소개할 것이다. 예를 들어, 9,9,7 그리고 7 비트로 각각 반올림된 계수들을 고려한다. 모든 세트의 숫자들과 함께 행해진 그 반올림은 다음에 의해 먼저 0...1 의 범위로 변환된다.
Figure 112007062944613-PAT00036
(X 는 범위[0...1] 의 (닫힌) 범위에 속한다)
그리고 그 후 N 비트의 정밀도로 다음에 의해 잘린다.
xb = Round(X 2n )/ 2n(max(x) - min(x)) + min(x)
상기 함수 "Round" 는 단순히 가장 가까운 정수 쪽으로 반올림 한다. "1/2^N" 은 [0...1] 범위로 결과를 뒤로 이동하고 그리고 그 마지막 곱셈은 현재 N-bit 정밀도 내에 있는 원래의 캘리브레이션 변수를 재 저장한다. 상기 남아있는 계산들은 플로팅(floating) 포인트(64 비트,IEEE) 정밀도 내에서 행해진다. 여기서 설명되는 방법을 위해, 보상 요소를 위해 9,9,7,7 비트( 상기 테이블 함수를 곱하는 상수를 위한 7비트)를 저장하는 것은 항상 최적의 선택은 아니다. 만일 기저 함 수가 변한다면, 그 때는 다른 저장장치가 최적이 될 것이다. 시뮬레이션은 이런 방식 내의 저장장치의 선택을 통한 표시에도 불구하고 이는 충분히 정확한 결과를 생산한다.
32 비트 저장장치에서, 또한 7 비트 지역 코드를 저장하는 것이 필요하다. 테스트들은 각각, 7,7,5,6, 비트 정밀도를 지니는 계수의 저장장치를 보여준다. 이는 여전히 마이크로거울 마다 32비트 저장장치 내에 적합하도록 지역 코드를 위한 공간을 만든다.
계수의 대안적인 스캘링은 요구되는 연산에 영향을 미친다. 예를 들어, 도 27에서이다. 범위(최대값- 최소값)에서 곱셈에 의해 저장된 값들로부터 계수의 복구는 연산적으로 너무 비싸다고 입증이 됐다. 만일 범위가 범위 밖의 2에 가장 가까운 배수에 의해 교체되면, 계수들은 정확성의 약간의 손실과 함께, 단순한 이동 기능에 의해 복귀될 수 있다. 계수를 복귀하는 상기 두 가지 대안적인 방법은 1) 전과 마찬가지로, 최대값에서 최소값까지의 범위를 회복하기 위해 스케일 된 값을 곱한다. 2) 위와 마찬가지로, 그러나 각각의 마이크로거울을 위한 가장 작은 값과 가장 큰 값은 제외한다.(이 접근에서의 변화는 단지 가장 작은 값 또는 단지 가장 큰 값을 제외하거나 또는 각각의 마이크로거울을 위한 다수의 가장 작은 값 또는 가장 큰 값을 제외하는 것을 포함하는 것이다.) 밖에 있는 값들을 제외하는 것은 값들 중 2 개가 범위 0.......1-2-n 내에 떨어지지 않도록 하는 효과를 지닌다. 만일 그 경우에 있어, 제외된 값들은 0 과 2- n 으로 각각 저장된다. 두 번째 절차는 잠재적으로, 더 효율적으로 남아있는 계수들을 저장하는 능력을 지니는 동안, 제외된 마이크로 거울들의 에러를 보상하는 실질적인 에러들을 소개한다. 아래의 테이블은 다양한 방법들의 시뮬레이트 된 에러들을 나타낸다. 첫 번째 대안적 스캘링 방법은 "all" 이라고 두 번째는 "loose2" 라고 불린다.
Figure 112007062944613-PAT00037
테이블에서 보는 것과 마찬가지로, "loose2"는 평균에서 거의"Optimal" 와 마찬가지로 정확하나 일부 거울들은 "all" 이 평균 에러의 희생에서 1.5% 이하의 모든 거울을 위한 보상 에러를 유지하는 동안 5% 만큼 큰 보상 에러들을 갖는다.
다른 스캘링 방법들은 그들의 분포에 따라 계수 C1..C4를 위해 선택될 수 있다. 예를 들어, 시뮬레이션에 있어, 대부분의 시간 C1 은 정상적으로 분배되므로, 대부분의 최대 캘리브레이션 계수들의 0.2% 제외는 그리 크게 범위를 변화시키지 않는다. 같은 시물레이션에서, C4는 작은 최대값들을 지니고 이들을 배제하는 것은 남아있는 값들을 위한 저장 효율성을 개선하는 것처럼 보인다.
다수의 SLM 구현
SLM 들은 초당 많은 픽셀들을 프린트하기 위해 많은 수의 픽셀들과 높은 재상 비율로 제조될 수 있다. 여전히, 그것은 동일한 시스템 내에서 하나 이상의 SLM 을 이용하기에 유용하다. 도 54A-C 는 다수의 SLM 을 위한 3개의 다른 구현을 보여준다. 도 54에서, 상기 원은 그 방사 렌즈의 실행 단편에서 광학상 영역을 표시한 다. 그 사각형들은 다수의 SLM들로 부터의 투영에 대응한다. 그들은 예를 들어 PC 보드와 같은 하나의 단일 지원 위에 또는 다수의-칩 모듈 위에 장착될 수 있다. 또는 그들은 다른 지원들 위에 있을 수 있으며, 거울, 프리즘, 홀로그래프 요소 등에 의해 투영 렌즈의 영역으로 결합되는 그들의 광학 투영을 갖는다. 도면 내의 그 평행한 얇은 선은 개개의 SLM들에 의해 프린트된 줄을 나타낸다. 도 54A에서, 그 투사들은 예를 들어 반투명 거울이나 또는 다른 빔 분리기내지 결합기 등에 의해 함께 광학적으로 꿰매진다. 그 결과, 그들은 이미지들 간에 작은 오버랩을 지니는 인접한 지역을 생성한다. 오버랩 지역의 이용은, 위에서 언급한 바와 같이, SLM 이미지들 간의 그 접합 선을 함께 덮는다. 도 54B에서, 그 이미지들은 두 방향 내에서 분리된다. 이 구현은 단일 지원에 장착된 모든 SLM 실시예에 적합하다. 왜냐하면, SLM 간의 공간은 전자학이나 상호연결을 구동하는데 공간을 제공한다. 도 54B의 구현에 있어서, 상기 SLM들은 줄을 따라 다른 위치에 있으며 그리고 데이터는 버퍼 되거나 또는 오프셋을 고려하여 생산된다. 도 54C에서, 상기 SLM 들은 부분적으로 줄을 오버랩하는 프린트이고, 그것으로 인해 하나의 물리적 패스 내에 두 개의 오프셋 패스들을 만들고 잇다. 도면 54A-C 내의 그 구현들은 줄 오프셋과 함께 프린트 된다. 예를 들어, 네 개의 SLM 폭의 라이팅 스와쓰(writing swath)간의 옆길 이동이며 그 지역은 한 번 프린트 된다. 도 54C에서, 오프셋은 단지 하나의 SLM 폭이지만 그러나 그 지역은 두 번 프린트된다.
다수의 SLM을 이용하는 복잡은 작은 패턴 에러들과 보이지 않는 경계들을 감소하기 위한 정확한 배열이다. 도 55는 단계에 의해 정의 되는대로 이상적인 기하 학적 격자(5501)와 관련하여 두 개의 SLM 이미지(5503,5504)를 보여준다. 그 그림은 SLM의 픽셀들 간의 과장된 배열 에러와 이상적인 격자를 보여준다. 프린트될 그 도면을 위한 입력 데이터(5502)는 이상적인 격자와 관련하여 주어진다. 위쪽의 SLM(5503)에 의해 프린트 될 패턴 요소들의 부분은 SLM의 공간 좌표 시스템에 상대적으로 잘못 배치되었다. 그 패턴은 이 잘못된 배치를 고려하여 래스터 된다. 하나 이상의 SLM을 위해, 잘못된 배치 변수들의 세트, 이 경우의 한 회전(5507)과 두 개의 변환(5505,5506) 은 프린트하기 전에 수정 변환(2665) 내에 적용되는 수정 요소들(2635)로서 저장된다.
상기 SLM 이미지(5504)는 하나의 회전과 두 개의 변환의 단순한 방법으로 표현되도록 그 자신을 빌리지 않는다. 왜냐하면, 그것은 왜곡되기 때문이다. 또 다른 실시예에서, 잘못된 배치의 표현 내의 더 높은 정확성은 모든 SLM의 왜곡과 잘못된 배치 맵에 의해 획득된다. 이것은 도 54A-C 내의 구현에 있어 큰 의미를 지닌다. 따라서 더 큰 광학 영역은 왜곡이-없는 투사 시스템을 만드는 것을 더욱 어렵게 한다.
모든 SLM 이미지의 상기 잘못된 배치 그리고/또는 왜곡은 단계에 대한 기준과 기준에 상대적인 위치의 측정 위의 부분적인 이미지의 투사에 의해 특징지어진다. 이것은 상기 SLM의 잘못된 배치 그리고/또는 왜곡을 측정하고 SLM의 잘못된 배치 데이터 세트를 생성하는 자동 캘리브레이션 절차에 의해 행해진다.
SLM의 잘못된 배치 데이터 세트에 대응하는 데이터의 상기 변환은 3가지 다른 방법으로 행해질 수 있다. 첫 번째는, 그 수정은 분할하는 동안 데이터에 적용 될 수 있다. 데이터가 렌더링 윈도우에 의해 잘려질 때 와동(vortex)들의 좌표 값들은 잘못된 배치를 위해 수정되거나 또는 왜곡에 적합할 때이다. 변환이 행해질 수 있는 두 번째 장소는 요소들의 좌표가 비트맵이 생성되기 직전 또는 그 동안에 수정될 수 있는 곳에서의 래스터 하는 스텝 내이다. 세 번째 가능성은 비트맵을 감는 것이며, 변환 커넬과 함께, 더 바람직하게는 조명 기능이 적용되기 전이다. 도 26,2635를 보라. 아래의 것은 x 방향 내의 작은 이동 dx를 위한 변환 커넬이다.
0 0 0
0 1-dx dx
0 0 0
작은 이동을 위해, 픽셀의 부분, 이미지 성질(quality)의 손실은 무시해도 좋다. 게다가, 그 컨볼루션 커넬은 단지 두 개의 영이 아닌(non-zero) 계수 값을 가지며, 쉽게 하드웨어 내에서 구현될 수 있다. 다른 변환 방향을 위해, 그 커넬은 또한 단순하며, 이미지를 어느 방향 내의 한 픽셀 까지 변환시키는 하드웨어 구현은 단순하고 빠르다. 수정의 그 동일한 방법은 또한 다른 효과, 예를 들어 단계 위치 에러들과 이미지 왜곡을 위한 수정, 을 포함할 수 있다. 렌즈 왜곡, 다중-SLM 배열 에러, 단계 위치 에러를 포함하는 비트맵에 대한 수정은 도 26의 블락(2665)에서 행해지고 그 수정 요소나 변수들은 블락(2635) 내에 저장된다. 다수의 SLM의 경우 블락(2635) 내의 다수의 변수 세트가 있고 왜곡 제어를 위해 그 블락(2635)은 하나의 수정 맵을 포함한다. 이러한 수정들은 단일 SLM에 적용될 수 있다. 그들은 다수의 SLM 구현에 제한되지 않는다.
다수의 SLM을 이용하는 또 다른 측면은 데이터 패스에 대한 병렬의 또 다른 레벨을 추가하기 위한 기회이다. 55A 내의 상기 SLM 은 분할되고 인접한 지역으로서 래스터 될 수 있다. 그러나 모든 SLM은 다른 SLM과 관계없이 또한 분할되거나 그리고/또는 래스터 될 수 있다. 그 곳에서 모든 SLM은 그의 고유한 완전한 데이터 패스를 지니고, 데이터 패스간의 최소의 통신은 그들이 동시에 일어났다는 것을 확신시킬 수 있다. 광범위한 병렬 컴퓨팅 구조에서, 심지어 시스템을 분리하는 입력 데이터 채널은 매우 높은 용량까지 확실히 오를 수 있게 된다. 분할된 완전한 라이팅 채널은, 래스터 화와 SLM은 필요한 어떠한 처리량을 생산하기 위해 결합될 수 있다. 상기 SLM은 광학 투사 시스템 내에 집적되고 전기적으로 자율적으로 남는다. 그들의 결합된 용량은 다수의 SLM에 비례한다.
유용한 하드웨어 구현 개관
도 29-42 는 당해 발명의 실행에 사용되는 하드웨어를 나타내는 상세한 설명의 다양한 레벨에서의 블락 다이어그램이다. 도 30은 분할 하드웨어(3001A-E), 렌더링 모듈(3011A-E), 스케줄링 또는 제어 로직(3020), 버퍼(3030A-B), 디지털 아날로그 변환기(DAC), 제어 로직(3040), 마이크로 거울 배열의 높은 레벨 블락 다이어그램이다. 분할은 머큐리 클러스터 과정이나 다른 적합한 기하학 분할 엔진에 의해 지원된다. 대안적으로, 분할은 표현된 것과 같이, 데이터 파일에서 결과적으로 일어나는 오프-라인 과정이다. 소위 FRAC-S 으로 불리는 포맷은 분할 프로세스로부터 렌더링 프로세스로 데이터를 호위하는데 사용된다. 분할된 데이터의 유용한 특징은 다음의 것을 포함한다. 모든 분할된 기하학들은 보호 지대의 어느 곳에서든 완전히 적합할 수 있는 사각형보다 더 작다. 모든 분할된 기하학들. 모든 분할된 기하학들은 픽셀 내에, 예를 들어 255 또는 253 픽셀들, 또는 511 또는 509 픽셀들, 측정된 최대 치수를 갖는 측변을 지니는 사각형보다 더 작다. 그리고 모든 분할된 기하학들은 적어도 1/2 픽셀 높이와 1/2 픽셀 폭이어야만 한다. 이러한 특징들은 특정 실시예에서 사용되는 이 발명의 측면의 결합에 따라, 수정될 수 있다.
상기 SDU 는 논리적 관점에서 볼 때, 래스터 도메인 재-분할, 분할/레지스터화 도메인 내의 윈도우 분리의 SLM의 한 구획에 매치하는 윈도우 분리로의 변환의 과정을 수행한다. 물리적 관점으로부터, 그것은 또한 집중 과정을 수행하나, 변조관점으로부터, 실제의 농도는 SLM 내에서 까지는 발생하지 않는다. 이론적으로ㅡ 상기 픽셀 전송과 디지털-아날로그 변환은 완전히 분리된 소자에서 발생할 수 있다, SLM에서까지 연결되는 것이 아니라, 픽셀 과정과 그 모듈레이터를 지닌 다른 스케일링 특정으로 인하여서, 그리고 신호 보전과 다른 이유들로 인해, 상기 데이터는 물리적으로 SDU 이내에 물리적으로 집중된다.
제 1 실시예에서, 버퍼링은 제한되어 있다. 도 29는 라인 입력을 위한 여러 가지의 폴링하는(poll) 구현을 도시하고, 그 렌더링 모듈과 그 SDU 간의 하나 이상의 버퍼들을 이용하거나, 상기 SDU와 상기 DAC 간의 하나 이상의 버퍼들을 이용하기 위해 적용될 수 있다. 그 렌더링 모듈(2911A-E) 는 SRM(2921A-E)에 연결된다. 상기 SRM 들은 SDU 수신기 모듈이며, 이는 RM 들로부터 데이터를 수신하기 위한 인터페이스를 지니는 SDU 을 제공한다. 상기 SLM 링크 인터페이스(SLI)는 상기 SRM 을 SDU(2940)에 연결한다. 이 인터페이스는 상대적으로 약한 신호 집적으로부터 받는다. 도 29에서의 구현에의 라인간의 변화에서, 버퍼(2931)없이, 복잡한 프로토콜의 요구는 ack/nack 그리고 선들의 전송-재전송을 위해 요구된다. 그 SRM-SDU CABS 인터페이스는 " 모든 라인이 실행 가능할 때까지 기다리고, 그 다음 진행한다."는 프로토콜과 함께 클락 도메인의 기울어진 선 동기화를 처리한다. 잠재와 플래쉬 비율의 불확실성으로 인한 상당한 손실을 지니는, RM 에서의 프레임 과정을 동시에 발생한다. 상기 SDU 의 출력은 DAC의 쌍을 SLM에 연결하는 것이다.
두 번째 실시예에서, 링 버퍼는 모든 SRM(2931)에 연결되어 있다. 모여 있는 링 버퍼폭, 그리고 크기는 선형적으로 다수의 SRM 들에 비례할 것이다. 다수의 SRM의 것은 픽셀 처리량에 대충 비례한다. 상기 링 버퍼는 SRM-SDU 간 라인 동기화와 SRM-SDU 간의 프레임 동기화를 위한 필요를 감소시킨다. 만일 상기 버퍼가 충분히 크다면, 그것은 또한 노출 시작 전에 완전한 줄의 래스터 화를 뒷받침한다. SDRAM 기반 링 버퍼는 이미 SRM의 RT-분할 축면위에 존재한다. 그리고 그 디자인은 그것의 테스팅 툴과 인터페이스들과 함께 재사용될 수 있다. 폭과 크기는 중요하지 않다. 주요 목적은 라인- 대-라인에서 줄-대-줄로부터 균일화 방법을 변화시키는 것이다. SLM 링크 인터페이스는 줄-대-줄 기반위에서 동시에 발생한다. SRM-SDU CABS 인터페이스는 '이용 가능한 - 진행'을 다뤄야만 하는 것은 아니다. 이것은 SLM 링크 인터페이스의 강건함과 SRM-SDU 인터페이스를 상당히 증대 한다. 그리고 전체 적으로 특징지어진 전송-재전송 SRM을 위한 디자인과 집적 일들을 제거한다. 하부조직의 신뢰성 요구는 완화되고, 그것은 단지 회상 강도(retrace intensity)에 의 해서만 안내된다. 줄 레벨 위의 모든 예외의 처리는 SRM-SDU 인터페이스가 완전히 동시발생 시스템이 되도록 하는 원인이 된다. 대안적으로, 버퍼(2931)는 SDU 와 DAC 간에 배치될 수 있다.
3번째 실시예가 도 30에 도시되어 있다. 하나 이상의 SDU 버퍼들(3030A-B)과 관련된 제어 로직은 마이크로거울 배열(3050) 내의 다수의 단편들(3052A-D)과 독립적으로 사용되는 다수의 렌더링(3011A-E) 단위를 만든다. 그것은 래스터 된 이미지가 다수의 프로세서를 다수의 거울 단편에 독립적으로 되도록 발생하는 다수의 프로세서에 유용하다. 특히 복잡한 기하학을 지닌 적용에서, 다수의 분할과 렌더링 단위들은 증가될 수 있다. 단위들이 평행하게 활동함에 따라, 더 많은 단위들이 포함되고, 더 많은 프로세싱 파워가 이용가능하다. 특히 단순한 기하학을 위한 적용에서, 다수의 분할과 렌더링 단위들은 감소될 수 있다. 스케줄링과 제어 로직(3020)은 렌더링 모듈로부터 버퍼까지의 데이터의 비동시적 전송을 허용한다.
상기 버퍼 그 자체는 입력과 읽어내기를 위해 다르게 분열되었다. 상기 입력 모듈레이터 윈도우(3031A-E)는 렌더링 단위에 대응한다. 상기 모듈레이터 윈도우들은 이 다이어그램에서 같은 크기로 표현되었으나, 그들은 크기에 있어 같지 않을 수 있고 그리고 메모리 배열은 행과 열로 나눌 수 있다. 버퍼(3030A-B) 내의 메모리 배치는 스캐닝 시스템을 위한 마이크로 거울 배열 또는 래스터 된 이미지 맵 내의 마이크로 거울에 대응한다. 그 메모리는 이중 접속구일 수 있으므로, 분열 과정에서의 그 결과는 DAC를 로드하기 위한 읽어내기의 분열 없이 로드 될 수 있다. 마이크로거울 플래쉬 시스템에 있어서, 상기 거울 배열은 모든 플래쉬 전에 데이터와 함께 로드 된다. 설명된 실시예에서, 128 DAC들(3040)과 제어 로직은 데이터를 마이크로거울 배열로 로드 하는데 사용된다. 마이크로거울 배열 내의 다중 회로 또는 마이크로거울 배열의 외부는 DAC로부터 많은 마이크로 거울까지 아날로그 신호를 분배할 수 있다. 8MHz는 1khz 주파수에서 대략 8,192 마이크로거울을 위한 변환을 수행할 수 있다. 이것은, 128DAC 각각이 1khz 주파수에서 256 마이크로거울의 32라인을 처리할 수 있다. 아날로그 전압은 정전기학 전하를 생성하기 위해 8비트 DAC들에 의해 발생되고, 이는 개개의 마이크로거울을 빗나간다. 일부 실시예에서는 더 큰 정확성, 예를 들어 아날로그 전압 내의 10 또는 14 비트와 같은 것이 유용하다. Micronic Laser System, 발명자 Torbjorn Sandstorm, "패턴 발생기를 위한 개선된 모듈레이터 디자인",WO 99/45441(1998 3월 2일 우선권) 또는 위의 파일 된 임시적인 출원 참고는, 투영 소자로써 적합하게 사용 될 수 있다. 마이크로 거울에 기반을 둔 스캐닝 소자를 위해, 충분히 더 큰 DAC의 세트는 하나의 패스 내의 모든 마이크로거울로 데이터를 전송하는데 사용된다. 조정된 방사를 위해, 모든 방사 빔을 위해 하나의 모듈레이터를 지니는 것은 관습적이다.
하나, 둘 또는 그 이상의 버퍼 단위들(3030A-B)은 사용될 수 있다. 렌더링 모듈로부터의 비동기 데이터 수령과 렌더링 모듈에 의한 프로세싱을 위한 시간 내의 변화는 다수의 버퍼 단위들에 의해 더 잘 지원된다. 일부 리소그래피 장치와 함께, 실행 단계가 쉬는 이동 단계의 관성에 따라 마이크로거울 배열의 플래쉬는 스트립의 스위프 동안 지연될 수 없다. 게다가, DAC의 기능은 단편 로딩의 순서가 렌더링 모듈(3011)로부터 모듈레이터 윈도우(3031)까지, 라이팅 데이터의 완성에 기 초하여 로딩 할 정도까지 지연될 수 있다. 만일 어떠한 렌더링 모듈(3011)이 버퍼 내의 그의 모듈레이터 윈도우를 로드할 하나의 플래쉬 주기보다 더 길게 걸릴 경우, 그것은 데이터 장애와 잠재적으로 실행 단편의 소비를 일으킨다. 두 개 이상의 버퍼(3030)의 이용은 특정 모듈레이터 윈도우 내의 예외적인 렌더링 싸이클을 제외하고 부가적 위도를 허용한다.
도 31은 렌더링 모듈(3011)의 블락 다이어그램이다. 한 구현에서, 다섯 영역 프로그램 가능한 게이트 배열(FPGA)은 로직(3100, 3110, 3120A-B 그리고 3140)을 구현하는데 사용된다. 로직 구현에 적합한 현 발생 FPGA는 Xilinx Virtex XCV1600E-6 BG560 C FPGA 이다. 알려진, 그러나 현재 개발 중인 Xilinx-Ⅱ XC2V 생산 라인은, 보드-위의 SRAM 을 포함하는 부가적 기능을 제공하는 것을 기대하고, 이는 더 작은 모듈로의 기능적 블락의 합병을 허용한다. 대안적으로, RISC 프로세서, ASIC 프로세서 또는 주문형(custom) 또는 반-주문형(semi-custom) 프로세서가 사용될 수 있다. FPGA 의 선택은 편리하고 상품 유도 시간과 초기 투자비용을 줄인다. 다양한 다른 프로세서들은 당해 발명의 측면을 실행하기 위해 또한 사용될 수 있다.
RMPL-1 3300의 목적은 PCI, CABS 그리고 다른 버스 구조들에 인터페이스를 제공하는 것이다. 그 인터페이스들은(3103) 영역 내의 FPGA의 구현에 적합하다. FPGA의 전부 또는 부분은 재구성되거나(reconfigured) 또는 다시-로드(reload)할 수 있다. 예를 들어, 서브-픽셀 가중을 위한 가중 요소들은 재구성되거나 다시-로드된 영역일 수 있다. 이러한 인터페이스들은 보두의 작동하는 온도의 측정을 허용 한다. 그들은 또한 보드가 작동하는 클락 주파수에서의 프로그래밍을 지원한다.
기하학 선행-프로세서 개관
RMPL-2 3110의 목적은 기하학 입력 섬유 채널과 렌더링 프로세서 간의 인터페이스를 제공한다. 그 주된 일은 수신하는 것이고, 혼합 기하학 데이터를 버퍼하고, 상기 데이터를 원래의 기하학으로 평편하게 하고 그리고, 신청에 따라, 렌더링 프로세서 쪽으로 데이터를 출력하는 것이다. RMPL_2 는 이렇게 포함한다. 선상 256Mbyte SDRAM을 위한 인터페이스, 선상 2*8 Mbit ZBT RAM 을 위한 인터페이스, 외부 장치에 대해 CABS 프로토콜을 관리하는 연쇄 접근 버스 구조(CABS) 단위, GIC(기하학 입력 제어기)(3113), 이는 GLI(기하학 라인 인터페이스)로부터 기하학 데이터를 수신하고 SDRAM에 데이터를 저장한다, 선행-프로세서(PP)(3111), 이는 기하학 데이터를 고르게 하고 좌표 변환을 수행한다. 그리고 CABS, GIC, PP, 그리고 SDRAM 사이의 GBI(기하학 버퍼 인터페이스),이는 또한 SDRAM-제어기를 수행한다. 상기 RMPL-2(3110)의 CABS 블락은 내부 블락들, ZBT(제로 버스 선회)SRAM(3115) 그리고 다른 FPGA 또는 , 보다 일반적으로, 다른 프로세서들이나 기능적 성분 간의 인터페이스와 같이 작동한다. CABS 는 내부-장치 통신을 위해 사용되는 일반적 버스 구조이다. 이는 장치의 구조와 같은 연쇄에 기초하고, 그리고 일반적 다중 노드 버스 구조의 보드 레벨 복잡성을 제거한다. CABS 의 샘플링 비율은 25-50MHz 이다. 그것은 보드 레벨 시스템 클락과 함께 클락된다. 상기 CABS 블락은 메모리의 띄우는(bootstrap) 영역으로부터 장치의 디폴트(default) 구현을 위한 방식 제어 핀들 과 결합된다. 대안적으로, 다른 버스 구조들과 프로토콜들은 당해 발명의 구현을 위해 사용될 수 있다.
상기 GIC 블락은 GLI 링크와 GBI 간의 인터페이스이다. 그것은 32비트 이중 워드(DS)로 수신된 것을 16 워드의 버스트(burst)로 그룹핑 하는데 사용된다. 동시에 하나의 버스트는 SDRAM 내의 저장장치를 위한 GBI로 송신된다. GLI 위의 워드들은 어떠한 사이즈의 버스트 내에라도 도착한다. 상기 GBI 블락은 GCI 와 PP 간의 인터페이스로서 작동한다. 그것은 GIC로부터 데이터의 버스트를 수신하는 로직을 포함하고, 그것은 SDRAM 내에 저장하며, 요구에 따라 SDRAM으로부터 데이터를 읽고 그것을 PP에 전송한다. 상기 GBI는 또한 CABS 로부터 읽고 쓰기를 처리한다. CABS-GBI 인터페이스에서, 데이터는 n이 1에서 64인 곳에서, 동시에 n*16 이중 워드의 버스트 길이 내에 쓰여진다. 실제 전송길이의 어떠한 지표도 필요하지 않다. 데이터는 동시에 16 이중 워드의 버스터 내에서 읽혀진다.
상기 기하학 선행-프로세서(PP) 블락은 GBI 와 FPGA들(3120A-B) 간의 인터페이스로서 작동한다. 상기 선행-프로세서는 현 렌더링 윈도우에 상대적인 좌표 오프셋을 지니는 들어오는 분할된 데이터 흐름과 출력 단순 기하학들을 평평하게 한다. 분할된 데이터는 GLI 채널로부터 수신되고 기하학 버퍼 메모리(GBM)(3116)로 저장된다. 가공되지 않은 데이터 모드는 테스트 목적을 위해 , GBM 내에 저장되는 것을 무엇이든지 읽어 내는 선행-프로세서를 통해 이용가능하다. 또한 상세한 선행-프로세서 코어에 관련된 점은 도 40에 주어진다.
메모리 제어기들은 ZBT-SRAM 제어기들과 SDRAM 탑 모듈을 포함한다. 상기 ZBT-SRAM 제어기들은 표준 PC 100 또는 PC 133 컴플라이언트(compliant) 256MB 메모리와 같은 SDRAM 과 함께 접속된다. ZBT SRAM 도구들은 모든 버스 싸이클을 이용함으로써 최대 시스템 처리량을 제공하는 동기식 SRAM이다. 그 이름이 내포하는 것과 같이, 읽고 쓰는 싸이클 간의 스위칭이 일어날 때 요구되는 선회 싸이클들이 없다. 결과적으로 어떠한 낭비되는 싸이클들이 없고 시스템은 실질적으로 일정한 폭을 전송한다. 수면 모드는 렌더링 모듈 ZBT SRAM 들에 이용할 수 있고, 이 때 , 활성화 된 때, 이는 저 전력 대기 모드에 데이터를 보유하고 입력을 무시하는 상태로 놓여진다. 이는 FPGA들의 재구현 동안에 유용하다. 레이턴시(latency)를 줄이기 위해, 상기 ZBT-SRAM 제어기는 이중-주파수 클락에 의해 클락된다. 상기 SDRAM 탑 모듈은 스스로의 테스트 내에서 메모리 쓰기, 읽기, 재생 그리고 내부 건설을 수행하기 위해 요구되는 신호들을 발생하는 로직을 포함한다. 다양한 ZBT-SRAM 제어기들은 FPGA 내에서 사용되고, 단일 그리고 이중 32 와 64 비트 데이터 패스도 사용된다. 예를 들어, 선행-프로세서(3111)와 실행 메모리들(3115) 간의 인터페이스는 독립적인 32 비트 데이터 패스들의 쌍이다. 렌더링 프로세서(3121)와 그 프레임 버퍼들 간의 상기 인터페이스도 64 비트 데이터 패스의 쌍이다.
렌더링 프로세서 개관
도 31에서, 렌더링 프로세서의 쌍이 표시된다(3120A-B). 이러한 모든 렌더링 프로세서는 FPGA 내에 구현되거나 또는 대안적으로, RISC 또는 ASIC 프로세서, 또는 주문형 또는 반-주문형 프로세서와 함께 구현된다. 두 개의 프로세서들은 사용 되므로, 하나는 다른 것이 데이터를 조정 프로세서(3141)에 데이터를 쓰는 동안 선행-프로세서(3111)로부터 데이터를 수신한다. 선행-프로세서(3111)로부터 렌더링 프로세서(3120A-B)까지의 상기 데이터 패스는 먹스 또는 유사한 장치에 의해 제어되거나 또는 상기 렌더링 프로세서들은 보충적인 프로세서를 위해 예정된 신호의 세트들을 무시한다. 부가적인 렌더링 프로세서들이 사용될 수 있다. 렌더링 프로세서(3120A)는 프레임 버퍼(3122)의 쌍으로 데이터 패스를 지는 것과 같이 도시되었다. 이러한 두 개의 메모리들은 분리된 데이터 패스를 지니고 있는 것과 같이 도시되었다. 즉, 메모리 접근을 위한 채널에 독립적이다. 하나는 픽셀 맵 메모리를 위해, 다른 것은 그레이 값 슈퍼-샘플링 매개 저장장치를 위해 사용된다. 상기 렌더링 프로세서(3121)는 또한 부가적 프레임 버퍼(3123)로의 또 다른 독립적인 데이터 패스나 채널을 지니고 있는 것으로 도시된다. 이는 마이크로 픽셀 프레임 버퍼도 지닌다. 하나 이상의 프레임 버퍼(3123)들은 마이크로 픽셀들을 위해 이용된다. 단위 픽셀 마다 64 마이크로 픽셀을 지니는 구현에서, 상기 프로세서로부터 프레임 버퍼로의 데이터 패스(3123)는 64 비트 폭이다. 프레임 버퍼들의 쌍은 사용되고 따라서 메모리 클리어 함수들은 다른 메모리와 함께 읽기, 쓰기, 또는 읽기/수정/쓰기 가 수행되는 동안 하나의 프레임 버퍼 내에서 수행될 수 있다. 이 도면에는 도시되지 않은 것은 그레이 값 요약 버퍼이다. 이러한 메모리들이 FPGA에 대해 외부적인 것으로서 표시 되는 동안, 그들은 적합한 FPGA, 주문형 또는 반-주문형 프로세서에 내부적으로 통합된다.
도 32는 당해 발명의 측면을 구현하는데 사용되는 렌더링 프로세서의 부가적 상세한 관련 기능 블락들을 제공한다. 상기 렌더링 프로세서(3120)는 다수의 기능 블락들을 포함한다. 상기 CABS 인터페이스(3211)는 버스 구조에 의해 연결되는 시스템의 성분에 일반적이다. 그 분할된 기하학 컨버터(3212)는 만들어질 수 있는 고정된 지점 기하학들은 전달하는 데이터 패스에 상기 CABS 인터페이스와 결합된다. 상기 컨버터는 50MHz 의 클락 주파수를 이용하면서 매 초당 5천만 속도 내의 단일 모서리 코너 좌표를 전달한다. 더 빠르거나 또는 더 느린 클락 스피드는 더 빠르거나 또는 더 느린 처리량을 획득하기 위해 사용될 수 있다. 컨버터(3212)의 출력은 코너 좌표 기하학 포맷의 내이다. 상기 데이터는 데이터 패스들의 한 쌍을 이용하는 마이크로 픽셀 캐쉬 발생기(3213L-R)에 전달된다. 다각형 기하학과 결합되는 MPCG들의 쌍을 이용하는 것은 다각형의 오른쪽이나 왼쪽 모서리를 따라서 행해지는 프로세싱의 분할을 허용한다. 더 적거나 또는 더 많은 MPCG 들은, 사용되는 처리량과 기하학과 같은 디자인 특성에 따라 사용될 수 있다. 다각형 기하학들이 사다리꼴일 때, 다각형의 위변과 평행한 아랫변은 예를 들어, 그들이 사다리꼴의 반대쪽, 비-평행 모서리 프로세싱을 시작하기 전, 다른 프로세스들에 할당될 수 있다.
도 32의 상기 MPCG들(3213)은 50MHz 의 클락 주파수를 이용하면서 매 초당 5천만 MiPxCaWs 속도 내의 마이크로 픽셀 캐쉬 세트를 전달한다. 더 빠르거나 또는 더 느린 클락 주파수는 더 빠르거나 또는 더 느린 처리량을 획득하기 위해 사용될 수 있다. MPCG 출력 캐쉬들의 쌍은 하나의 마이크로 픽셀 캐쉬 버퍼(MPCB)(3214) 에 세트된다. MPCG 관련 부가적인 상세한 사항은 도 34에 도시되었다.
상기 마이크로 픽셀 캐쉬 버퍼(3214)는 예를 들어, 왼쪽, 오른쪽과 같은 단일 모서리 정보를 포함하는 만들어진 마이크로 픽셀 캐쉬 세트를, 사다리꼴 쪽과 그의 바닥, 기하학 특징을 위해 하나에서 네 개의 단일 모서리 캐쉬들의 정보를 포함하는 마이크로 픽셀 캐쉬들의 세트 쪽으로 전환한다. 포함된 위쪽 및 아래쪽 모서리의 단편들은, 기하학 특징들이 포함된 위쪽 또는 아래쪽 모서리 단편들을 포함할 때 코너들의 계산 이전 또는 이후에 통과된다. 어드레스 세트들은 또한 위에서 설명한바와 같이 생성된다. 상기 어드레스 세트들은 암시적으로 발생될 마이크로 픽셀 캐쉬들의 순서를 전달한다. 분리된 데이터 패스들은 캐쉬 세트들과 어드레스 세트들을 전달하기 위해 사용된다. 상기 캐쉬들은 만들어진 다각형의 코너 모서리들을 집합적으로 정의한다. 마이크로 픽셀 캐쉬 버퍼(3214)에 관한 부가적인 상세한 관련 사항은 도 35 내에 도시되었다.
상기 프레임 버퍼 인터페이스(FBIF)(3215) 는 3가지 국면 내에서 작동된다. 렌더링, 읽어내기 그리고 클리어. 렌더링 국면에서, 상기 FBIF 는 상기 MPCB의 기하학 형태를 취하고 그들은 하나 이상의 프레임 버퍼 메모리들 내에 저장한다. 제 1 실시예에서, 단지 메모리는 마이크로 픽셀 프레임 버퍼(MPFB)(3222)이다. 다수의 MPFB 들은 다른 MPFB에서 작동하는 동안 하나의 MPFB의 클리어 하는 것을 허용하기 위해 이용된다. 이러한 메모리들은 이중 접속구일 수 있거나 메모리 접근을 위한 독립적인 채널을 지닐 수 있다. 제 2 실시예에서, 마이크로 픽셀 프레임 버퍼와 픽셀 맵 프레임 버퍼(PMFB)(3223) 양자 모두가 있다. 복합성 픽셀 맵 메모리들이 있고, 바람직하게는 수행을 개선하기 위해 메모리 접근을 위한 독립적인 채널들과 함 께 이다. 제 3 실시예에서는, 마이크로 픽셀(MPFB) 내의 값들을 요약하기 위해 부가적인 그레이 값 프레임 버퍼(GVFB)가 있다. 다시, 다수의 그레이 값 메모리 와 독립적인 채널들이 이용된다. 혼합적인 실시예에서, 상기 PMFB 는 GVFB로서 작동하기에 충분한 값을 지닌다. 상기 프레임 버퍼 메모리들은 전체 렌더링 윈도우를 저장하고, 이는 x,y 축 방향이다. 이러한 메모리들은 다른 해상도 내의 만들어진 이미지를 저장한다. 상기 픽셀 맵 PMFB 메모리는 흰색, 검정, 그레이 정보를 모든 비트를 위해 두 비트 내에 저장한다. 상기 마이크로 픽셀 MPFB 메모리는 개개의 마이크로 픽셀을 대응하는 픽셀에 저장한다. 예를 들어, 8*8, 16*16, 32*32, 64*64 마이크로 픽셀들의 배열은 픽셀에 대응한다. 이러한 마이크로 픽셀들은 검정 또는 흰색 값을 지니거나 또는 대안적으로 회색 값을 지닌다. 마이크로 픽셀 캐쉬들의 결합 모드는 마이크로 픽셀이 검/흰 또는 회색 값인지에 의존한다. 상기 그레이 값 GVFB 메모리는 마이크로 픽셀 배열의 평가를 요약하기 위해, MPFB 와 함께 이용된다. 상기 마이크로 픽셀 배열은 그레이 값으로 읽어내기나 그들이 쓰일 때 평가 될 수 있으며, 그 결과는 GVFB 내에 저장된다.
읽어내기 국면에서, 상기 그레이 값들은 모든 픽셀을 위해 리포트 된다. 제 1 실시예에서, 단지 MPFB 메모리와 함께, 이는 모든 마이크로 픽셀 배열의 평가를 포함한다. 제 2 실시예에서, MPFB 와 PMFB 메모리들과 함께, 일부 픽셀 위치들은 검정 또는 흰색으로 픽셀 맵 내에 기록된다. 상기 시스템은 이러한 위치들을 정수 값으로, 예를 들어 0 또는 64 또는 0 또는 256 과 같은 것으로, 평가 할 수 있다. MPFB 메모리의 접근 없이, 잠재적으로 MPFB 메모리 접근 폭을 위한 요구를 줄인다. 제 3 실시예에서, 상기 GVFB 메모리는 MPFB 가 쓰이는 각각의 시간에 값을 할당한다. 선택적으로, 상기 GVFB 메모리는 PMFB 가 업데이트 되는 각각의 시간에 값을 할당할 수 있다. 하나의 모드에서, 상기 PMFB는 흰색인지 또는 검정색인지를 결정하기 위해 평가되거나 또는 GVFB 값을 이용한다. 다른 모드에서, 상기 GVFB 값은 직접적으로 사용된다. FBIF(3220)로부터 상기 그레이 값은 래스터 이미지로서 그 CABS 인터페이스(3231)로 리포트 된다.
클리어 국면에서, 하나 EH는 메모리들은 흰색/검정으로 세트되어 있어, 흰색/검정 기하학 특징들은 수축하는 배경 위해 만들어질 수 있다. 제 1 실시예에서 상기 MPFB 메모리는 클리어 된다. 제 2 및 제 3 실시예에서, 상기 MPFB 메모리들은 클리어 된다. 일부 메모리 타입에서, 그 MPFB 또는 GVFB 보다 더 작은 PMFB 을 클리어 하는 것이 더 작은 시간이 소비된다. 왜냐하면 단일 메모리 워드는 저 해상도에서 다수의 픽셀들을 표현할 수 있다. 제 2 및 제 3 실시예에서, 다른 메모리들이 그레이 값을 생성하기 위해 사용되는지를 위한 픽셀 맵 메모리 제어기들로써 MPFB 또는 GVFB 메모리들을 클리어 하는 더 많은 시간 소비 스텝을 취하는 것은 선택적이다. 즉, 픽셀 맵 메모리가 픽셀의 값이 검정인지 흰색인지를 나타낼 경우, 그 다른 메모리들이 이전의 작동 후 클리어 되지 않은 것과 마찬가지로, 다른 메모리 내의 어떠한 회색 값도 무시될 수 있다. 최소 클락 주기 내의 메모리 단편의 큰 지움을 지원하는 메모리 구현과 함께, MPFB 또는 GVFB의 클리어를 위한 오버헤드(overhead) 는 프로세서를 느리게 하지 않는다.
FBIF 에 관한 보다 상세한 설명은 도 37-39 그리고 42 내에 표시된다.
조정 프로세서 개관
조정 프로세서(3140)는 CABS 인터페이스(3231) 또는 렌더링 프로세서들로부터의(3120A-B) 다른 적합한 버스 구조 데이터를 통해 데이터를 수신한다. 그것은 그의 CABS 인터페이스의 주파수 2배로 클락된다. 그 조정 프로세서는 모서리 이동을 위한 블락, 조명 보상 그리고 거울 보상을 포함한다. 그것은 게다가 광학 시스템 내의 작은 결점의 수정을 위한 로직을 포함한다. 모서리 이동은 위에서 설명한 바대로, 노출된 레지스트의 프로세싱의 조정 대신에, 라인 폭을 조정하는 노출 방사의 투사된 이미지를 조정하는 방법이다. 조명 보상은, 또한 위에서 설명한바와 같이, 단일 그리고 다수의 라이팅 패스들과 원하는 노출 방사와 실제의 노출 방사간의 에너지 변화 내에서 노출의 오버랩을 처리하는 방법이다. 거울 보상은 원하는 조명 값을 개개의 거울들을 위한 구동 값으로 변화한다. 그것은 또한 거울을 사용하는 시스템을 위한 에이징 되어가는 거울로써 또는 휴식 주기 간의 변화하는 거울 응답을 위한 보상으로 사용된다. 마이크로거울 배열과 노출 방사의 플래쉬들을 이용하는 시스템에서, 거울 보상은 조명 값들을 개개의 마이크로 거울들을 충전하는 DAC들을 위한 입력 값으로 변환시킨다.
상기 조정 프로세서(3141)는 데이터 패스를 통해 계수 메모리(3143)를 접근한다. 이 메모리는 거울 보상을 위한 계수를 지니고, 또한 조명 보상 내에 사용되는 지역 맵들을 위한 계수들을 지닌다. AZBT-SRAM 메모리는 외부 메모리로써 사용될 수 있다. 대안적으로, 내부 메모리도 사용될 수 있다. 상기 조정 프로세서는 또 한 프레임 버퍼 메모리들(3142)에 접근한다. 하나 이상의 ZBR-SRAM 메모리들은 모서리 이동을 위한 실행 메모리로서 사용될 수 있고 하나 이상의 뒤 평면 채널들(3144-45) 위의 기다리는 출력 최종 값을 지닌다.
상기 픽셀 출력 제어기(POC)는 데이터를 물리적 층에 적응시키기 위해 포맷 변환을 제공한다.
기하학 선행-프로세서
기하학 설명들은 소위 FRAC-S이라 불리는 포맷 내의 기하학 선행-프로세서에서 수신된다. 아래의 것은 FRAC-S 흐름 의 BNF 문법을 보여준다. 상기 FRAC-S 흐름은 다양한 프로세스-의존 헤더 변수들을 포함하며, 소위 FRAC 파일이라 불리는 곳 내에 저장된다. 이러한 변수들은, 일단 로드 되면, 제어 레지스터들을 통한 기하학 선행-프로세스에 적합하다.
Figure 112007062944613-PAT00038
Figure 112007062944613-PAT00039
표시방법 [x]* 는 " x의 영 또는 그 이상의 발생"을 나타낸다. 이 포맷 내의 입력 흐름은 이 포맷의 서브세트 내의 출력 흐름으로 변환된다. 이 때 복합 기하학 설명들은, 예를 들어 계층적이거나 반복된 설명들, 단순화 된다. 상기 출력 흐름 내의 레코드 타입들은 사각형, 작은 사각형, 사다리꼴, 시작 레이어 그리고 끝 레이어 이다. 하나의 구현 내에서, 다수의 반복 레벨들은 다섯이다. 하나의 렌더링 윈도우는 동시에 선행-프로세스 된다. 데이터는 서브-픽셀 또는 마이크로 픽셀 보다 큰 정확성을 지닌 채 처리된다. 소위 소프트 픽셀이라 불리는 것은 마이크 로 픽셀의 하나 반이다.
실시간 기하학 선행-프로세서의 프로세싱 비율은, 부분적으로, 기하학의 복잡성에 의존한다. 초당 1000의 플래쉬 비율과 2048*512 픽셀들(마이크로거울들)의 배열을 지니는 플래쉬 노출 방사 시스템을 위해, 전체 시스템은 초당 104.8*106 픽셀로 처리한다. 이것은, 반도체의 메탈 층 패턴에서, 초당 7,000,000 기하학들의 평균 기하학 비율에 대응한다. 기하학 단위당 4개의 레코드의 평균에서, 요구되는 레코드 출력 비율은 초당 28,000,000 레코드가 된다.
3개의 다른 모듈들에 대한 상기 기하학 선행-프로세서 인터페이스, 다시 말하자면 SDRAM이며, 이로부터 그것은 FRAC-S 데이터를 읽고, ZBT RAM이 임시적인 저장 장치가 데이터 어드레싱과 프레이밍을 처리하는 CABS 단위를 위해 사용된다.
PP의 전체적 작동은 다음과 같다.
1) RESET에서, PP는 STRIP_SYNC 사건을 기다린다.
2) STRIP_SYNC에서, 첫 번째 두 개의 렌더링 윈도우는 읽어 들이고, 대응하는 FRAC-L 수열로 변환하고 두 개의 렌더링 프로세서들로 전송한다. 상기 선행-프로세서는 그 때 RP_DONE 사건을 기다린다.
3) RP_DONE에서, 다음의 렌더링 윈도우는 읽어 들이고, 처리한 후 첫 번째 렌더링 프로세서로 전송한다. 상기 선행-프로세서는 그 후 새로운 RP_DONE 사건을 기다린다.
4) RP_DONE에서, 다음의 렌더링 윈도우는 읽어 들이고, 처리한 후 두 번째 렌더링 프로세서로 전송한다. 상기 선행-프로세서는 그 후 RP_DONE 사건을 기다리고 3)에서 진행한다.
유의할 것은, SUBSTRIP_END 레코드를 마주칠 때까지, STRIP_SYNC 사건이 수신되는 것으로부터, FRAC-S 데이터는 로컬 입력 캐쉬 쪽으로 미리-가져온다. 이것은 효율적으로 SDRAM 접근으로부터 공헌된 레이턴시를 최소화한다. 상기 FRAC-L 출력은 연속되는 이중 워드의 버스트 내에서 수행된다. 게다가, 상기 선행-프로세서는 적어도 10개의 완전한 FRAC L 블락들이 저장될 때까지, 또는 RENDERING_WINDOW 종단 블락을 마주칠 때까지 내부 버퍼로 출력 레코드를 저장한다. 이 10개의 블락 규칙은 RP에 대한 평균 버스트 길이가 약 32 이중 워드가 될 것을 의미한다. 모든 렌더링 윈도우의 종단에서, 뒤를 쫓아오는 END 레코드가 송신된다. 상기 선행-프로세서는 다음과 같은 LAYER 레코드 변수들의 트랙을 유지한다. 레이어 번호들은 연속적이게 되며, 첫 번째 LAYER 기록을 위해 1에서 시작하고, 다음 것을 위해 2 등이다. 만일 이 차례가 실패로 되면, 에러가 발생한다. 그리고 만일 레이어 작동=IGNORE 인 경우, 전체 레이어는 버려진다.
그 다양한 FRAC 레코드들과 하나의 렌더링 윈도우 이내에 보여지는 그에 대응하는 블락 구조들이 아래에 보여진다. 계층적 구조를 위해, {G1....Gn} 은 계층 내부의 분해된 기하학들을 나타낸다. 즉, 하나의 블락은 항상 가장 바깥의 반복 레벨을 동봉하고 어떠한 수의 근원적인 레벨들도 포함한다.
Figure 112007062944613-PAT00040
Figure 112007062944613-PAT00041
모든 렌더링 윈도우를 위해, 그 두 개의 메모리 지역들은 교환적으로 사용될 것이다. 도착하는 기하학 블락들은 가로지르는 동안 현재의 메모리 지역 내에서 하나씩 일시적으로 저장된다. 만일 블락이 연속되는 렌더링 윈도우(RW)에서 필요하지 않은 경우, 그것은 완전히 가로지른 후에 메모리로부터 제거된다. 더 필요로 하는 블락들은 사용을 위해 연속되는 RW들 내의 메모리 내에서 대기 열에 넣어진다. 실시예에서, REPEAT_X(4103) 과 REPEAT_Y(4105) 블락은 첫 번째 RW로부터 저장된 채로(4113,4115) 남아 있다. 다음의 RW를 위해, 이전 RW로부터의 상기 REPEAT_X 블락(4113)은 입력 FRAC-S 흐름으로부터 INSERT 블락(4142, 4122)을 따라 저장된 다(4131). 블락을 가로지르는 것은, 블락에 의해 나타나는 기하학의 타입에 따라 다르다. 단일 기하학을 나타내는 블락들은 직접적으로 FRAC-L 레코드들로 변환되고, 이에 반하여 반복되는 기하학 블락들은 순환적으로 가로질러야만 한다. 상기 가로지르는 절차는 다음과 같다.
1) 만일 블락 타입이 {RECT, SMALL_RECT, TRP, LAYER, END, REND_WIN_END} 이면, 그 때는 블락을 레코드 배열로 변환한다.
2) 만일 상기 블락 타입이 {REPEAT_X, REPEAT_Y, REPEAT_XY, INSERT}, 그 때:
시작 어드레스를 누르고 스택 위의 변수들을 반복
서브-블락을 순환적으로 가로지르고, 위의 1을 시작, 그리고
모든 반복이 다 행해졌을 때, 스택을 이전 레벨로 팝(POP)한다.
도 40은 선행-프로세서 코어의 블락 다이어그램이다. 상기 FRAC-S 입력 버퍼(4101)는 플로우 제어 장치 내의 전달 시간으로 인한 넘침을 피하거나 최소화한다. 새로운 FRAC-S 레코드들은 DRQ 신호를 하이(high)로 세팅함으로 인해 요구된다. DAV 신호가 하이로 세트 된 모든 주기를 위해, 새로운 주기는 버퍼 쪽으로 쓰여진다. CTS 신호가 하이인 동안, 기록들은 버퍼로부터 읽어 내지고 파서로 전송된다. CTS 을 로우(low)로 세팅하는 것은 출력 흐름을 멈춘다. 모든 렌더링 윈도우들은 RENDERING_WINDOW_END 레코드 내에 저장되는 CRC( 순환 패러티 검사)코드와 연관된다. 상기 CPC 제어 블락(4102)은 이 체크 합계를 재계산하고 그리고 그 합계가 참고 값과 다른 때에는 에러 신호를 발생한다. 다양한 복원 구조가 에러 신호의 경 우에 따라 사용될 수 있다.
상기 파서 모듈(4103)은 버퍼로부터 FRAC-S 레코드들을 읽고 레코드들을 기하학 블락들로 그룹진다. get_block 신호를 하이로 세팅할 때, 상기 파서 c는 메모리 내에 저장될 전체 블락을 출력한다. 반복된 기하학들(예를 들어, REPEAT_RECTANGLE 과 REPEAT_TRAPEZOID)은 REPEAT 블락으로 프로세싱을 간략히 하기 위해 변환된다.
만일 상기 파서(4103)가 그 FRAC-S 흐름 신택스(syntax)로 인해 블락을 발생시킬 수 없는 경우, 그 예외적 신호 syntax_err 는 주장되고, 그리고 현 렌더링 윈도우에서의 작동은 무시된다. 신택스 에러들은 다음의 것을 포함한다. <BEGIN_REPEAT>, <BEGIN_INSERT>,또는 <END> 없이 <BEGIN-LAYER>, 또는 <BEGIN_REPEAT> 없이 <END>, <BEGIN_INSERT> 또는 <BEGIN_LAYER>, REPEAT 또는 INSERT 블락 내의 <BEGIN_LAYER>, 레이어 설명 내부의 <BEGIN_LAYER>
상기 메모리(4104)는 32-비트 워드들(4105A-B) 내에 구성된 두 개의 ZBT RAM을 포함하고, 이는 아래에서 설명되는 것과 마찬가지로 사용된다. 상기 메모리 제어(4106)는 새로운 블락이 메모리로부터 또는 파서로부터 읽을 수 있는가를 제어한다. 그것은 메모리 시역을 선택하고 그로부터 읽어 내거나 그에 대해 쓰고 읽고/쓰기 작동을 수행한다. 메모리 읽기 레이턴시를 줄이기 위해, ZBT SRAM 모듈 쪽으로 그 인터페이스는 2중 클락 주파수를 지닌 채 클락된다.
그 가로지르고 발생시키는 모듈(4107)은 메모리 내의 기하학 블락을 가로지르고 원시적인 기하학들(모양들)을 발생시킨다. 스택(4108)은 다수의 계층 레벨을 처리하기 위해 사용된다. 새로운 레벨로 들어갈 때(예를 들어, REPEAT..END 명령문), 그 반복 변수들은 스택에서 밀어지고 그 스택 포인터는 증가한다. 모든 현 레벨에서의 반복들이 다 행해질 때, 상기 스택(4108)은 이전 레벨로 팝된다. 하나의 기하학이 좌표축 덧셈기 블락에 의해 거절되는 경우, 그 스택은 또한 팝된다. 그리고 현 블락은 다음 RW를 위해 메모리 내에 남게 될 것이다. 그 스택 처리기(4108)는 상기 스택 읽기/쓰기 장치와 반복되는 루프들 내의 증가하는 좌표를 위한 로직을 포함한다. 그것은 현 블락을 저장할 것인지 아닌지를 제어하고, 루프의 시작으로 점프하여 뒤로 돌아가던지 또는 다음 지시와 함께 진행한다. 상기 좌표 덧셈기(4109)는 도착하는 기하학의 현 x와 y 축 쪽으로 그 축적적 Σdx 와 Σdy 증가분을 합하고, 스택 내에 저장한다. 만일 기하학이 현 렌더링 윈도우 좌표의 외부에 떨어지면, 그 거부된 신호는 이 반복 레벨이 팝되어야 함을 나타나는 것으로 세트된다.
분할된 기하학 컨버터
도 33은 FCON(분할된 기하학 컨버터)의 블락 다이어그램이다. 그 분할된 기하학 컨버터(3212)는 두개의 메인 블락(3321,3323)들과 FIFO 메모리(3322)를 포함한다. 그 FRAC-L 레코드 처리기 블락, FLRH(3321) 은 CABS 블락(3211)쪽으로의 인터페이스와 같이 작동한다. 그것의 주된 일은 FRAC-L 레코드들로부터 기하학 정보를 회복하는 것이다. FRAC 레코드들은 CABS로부터 32-비트 워드들과 같이 수신된다. 상기 정보는 기하학 타입에 따라 분석되고 레코드들 내에 저장된다. 상기 기하 학은 코너 컨버터 쪽이다. GCCON(3323)은 기하학의 FRAC 표현을 기하학 코너 표현으로 변환한다. 그것은 또한 데이터를 왼쪽과 오른쪽 흐름으로 분리한다. FLRH(3321) 내에 포함된, 상기 FIFO 메모리(3322)는 CABS 데이터전송이 평평하게 흐름을 확실히 한다. 이 FIFO 메모리는 255 FRAC-L 워드 까지 포함할 수 있다. FCON은 버퍼가 거의 차거나 또는 다시 채워질 필요가 있을 때를 나타내기 위한 제어 신호를 이용할 것이다.
GCCON 블락(3323) 내에서, 그 기하학 시작 좌표와 길이 특정은 기하학 코너 표현으로 변환되고 위쪽, 왼쪽, 그리고 아래쪽, 오른쪽 좌표 쌍으로 나뉜다. 아래 흐름 프로세스 블락의 기능을 단순히 하기 위해, 위쪽 그리고 아래쪽 기하학 정보는 서로 새로운 기하학을 위해 첫 번째로 편리하게 전송된다. 따라서 기하학이 삼각형인 경우에도 위쪽 정보가 제공된다. FCON 오류 지시는 기하학 모서리 좌표가 바깥쪽으로 또는 보포 윈도우의 위쪽에 또는 왼쪽 테두리에 놓여 있는 경우에 시작 될 것이다.
마이크로 픽셀 캐쉬 발생기
도 34는 렌더링(212)의 한 실시예를 표현하는 블락 다이어그램이며, 이는 도 2 내의 렌더링 엔진의 부분이다. 서브-픽셀 배열들이나 격자들은 때때로 마이크로 픽셀 캐쉬들처럼 언급된다. 상기 마이크로 픽셀 캐쉬 발생기는 4개의 블락들을 포함한다. 초기화, 렌더링, 테이블 룩업, 그리고 변환 이다. 그 입력(3401)은 변환할 수 있는 고정된-지점 기하학 또는 좀 더 일반적으로, 만들어 질 수 있는 다각형이 다. 그 초기화 블락(3402)은 다각형에 대한 브레센함 렌더링 알고리듬의 적용을 위한 시작 변수들을 계산한다. 브레센함 알고리듬의 적용은 도 8부터 11과 함께 연관하여 설명 된다. 그 렌더링 블락(3403)은 상기 브레센함 알고리듬을 수행한다. 그 테이블 룩업 블락(3404)은 마이크로 픽셀 캐쉬 좌표를 서브-픽셀 이미지로 변환하기 위한 룩업 테이블을 포함한다. 이 프로세서는 도 12-14와 연관하여 설명 된다. 상기 마지막 블락은, 변환(3405),서브-픽셀 바 값들을 위한 값을 서브-픽셀 격자 내의 어두운 서브-픽셀 값으로 변환시킨다. 일부 실시예에서, 룩업 테이블 내의 회전 또는 반전 값들은 서브-픽셀 격자 내에서 서브-픽셀들을 어둡게 하기 위해 필요하다. 룩업 테이블로부터의 서브-픽셀 바 값의 변환과 상기 바들의 회전은, 필요하다면, 수평적으로 그리고 수직적으로 둘 다 모두 어드레스 가능한 플립-플랍의 배열을 이용하는 하드웨어 내에서 수행될 수 있다. 상기 마이크로 픽셀 캐쉬 발생기로부터의 출력(3406)은 마이크로 픽셀 캐쉬 세트이다.
마이크로 픽셀 캐쉬 버퍼
상기 마이크로 픽셀 캐쉬 버퍼(3214)는 도 35에 보이는 대로, 5개의 메인 블락으로 구성된다. 상기 FIFO 메모리들의 왼쪽(L)(3512)과 오른쪽(R)(3514)은 두 개의 MPCG들(3213L-R)로부터 MiPxCaW 정보를 수신한다. 각각에 새로운 기하학을 수신하기 위한 상기 MiPxCaW의 첫 번째 쌍은, 이는 위와 아래 모서리 정보를 포함한다, 위(T)(3511)와 아래(B)(3513) FIFO들 내에 저장한다. 상기 네 개의 MiPxCaW FIFO들은 결합된 멀티플렉서와 연산의 and 기능(3521)에 연결되며, 이 때 마지막 만들어진 MiPxCaW를 발생한다. 하나의 마이크로 픽셀 캐쉬 세트 발생기가 있고, MPCSG, 3 개의 블락들(3501, 3502, 3504) 내에 분리된다. 이는 논리적 and 기능을 제어하는데 사용되는 마이크로 픽셀 세트(3521)와 프레임 버퍼 인터페이스(FBIF)(3215)에 의해 사용되는 정보를 발생하며, 이 FBIF는 출력에 있어 만들어진 MiPxCaWs가 어떻게 구성되는 지를 설명한다.
프레임 버퍼 인터페이스
도36은 프레임 버퍼 인터페이스(3220)의 한 실시예의 블락 다이어그램이다. 설명한 바와 같이, 마이크로 픽셀 캐쉬 발생기(3213)로부터 마이크로 픽셀 캐쉬 버퍼(3214)와 FBIF(3220)위 쪽으로 프로세싱은 진행된다. 상기 FBIF 의 첫 번째 요소는 보호 지역 필터(3641)이며, 이는 위에서 설명한 보호 지역의 한 하드웨어 구현이다. 도 37은 이 필터의 작동을 설명한다. 기하학 특징(3763)을 고려한다. 그것은 상기 렌더링 윈도우와 상기 보호 지역(3762) 간의 경계 양쪽에 걸쳐 있다. 보호 지역 내의 왼쪽 및 아래쪽 모서리의 부분은 명암에 의해 표시된다. 상기 보호 지역 필터(3641)는 입력 데이터 세트(3751) 내에서 수신되고 출력 데이터 세트(3752)를 발생한다. 격자의 열 6 내에서 도면(3763)의 부분을 위해, 상기 데이터(3751)는 칼럼 2 내의 모서리 시작점, 칼럼 3 내의 모서리 끝점 그리고 픽셀 6,2 그리고 6,3 을 위한 마이크로 픽셀 캐쉬들을 포함한다. 상기 필터는 보호 지역 내에 6,2 그리고 6,3 이 있음을 감지한다. 그것은 새로운 어드레스 세트와 새로운 마이크로 픽셀 캐쉬(3752)를 발생한다. 상기 열 6의 시작과 끝 모서리 단편은 6,4로 세트되고 그리고 하나의 단일, 흰색 마이크로 픽셀 캐쉬 MiPxCaW_X4는 마이크로 픽셀 캐쉬들의 입력 쌍으로 변환한다. 상기 인터페이스(3643,3642) 제어는 각각의 메모리들(3223,3222)로 접근한다. 로직(3644)을 읽어 내는 것은 각각의 메모리로부터 상기 CABS(3231) 인터페이스로의 값들을 패스한다. 상기 로직은, 위에서 언급한대로 메모리의 실시예에 의존한다. 로직을 읽어 내는 것은 도 7에 나타나 있다. 당해 실시예의 더 상세한 설명은 도 38-39에 나타난다.
도 38과 39는 PMCB 메모리(3223)가 아니라, MPCB 메모리(3222)를 이용하는 FBIF(3220)의 첫 실시예의 블락 다이어그램이다. 두 개의 서브유닛들(3803A-B)은 아래에서 설명한 것과 같은, 인터리브(interleaved) 방식 내에서 더 효율적으로 대역폭을 이용하기 위해 작동하면서, 처리량을 위해 제공된다. 더 적거나 EH는 더 많은 서브유닛들이 서브유닛들과 원하는 처리량의 수행에 따라 사용될 수 있다. 위에서 설명한 바와 같이, 상기 FBIF 발생 2는 3개의 국면을 지닌다. 1) 렌더링 국면 2) 읽어내기 국면 3) 클리어 국면 이다. 스케줄 블락(3802)은 상기 3 국면을 스케줄 한다. 한 실시예에서, 슈퍼 샘플링은 읽어 내기 국면의 부분과 같이 수행된다.( 또 다른 실시예에서, 슈퍼샘플링은 마이크로 픽셀 배열이 쓰여 질 때마다 발생한다.) 슈퍼샘플링은 단지 상기 데이터가 상기 CABS_agent(3801)에 쓰이기 전에 실행된다. 상기 CABS_agent(3801)는 모든 블락에서 현 작동을 중단할 수 있다. 중단 신호(3825)가 세트될 때, FBIF 은 다음의 둘 중의 하나의 현 작동을 중단 할 것이다. 하나는, 상기 MPCB 신호(3214) 새로운 데이터, 그 때 상기 FBIF(3220)은 렌더링 국면에서 시작할 것이고 그 현 메모리 내용은 새로운 렌더링 작동 내에서 사용될 것이다. 또 하나는, 상기 CABS는 FBIF 가 send_frame_cabs-signal(3822)을 지니는 데 이터를 읽어내도록 명령할 것이다. 일반적으로, 상기 FBIF-블락은 2중 클락된다.
도 38과 39에서, 그 일정 잡이(scheduler)(3802)는 4-국면 인터리브 스케줄 내의 두 개의 서브_유닛들을 위해 3개의 국면을 스케줄 한다.
Figure 112007062944613-PAT00042
Figure 112007062944613-PAT00043
상기 일정 잡이(3802)는 렌더, 클리어 그리고 읽어_내기 그 신호들(3827)을 서브_유닛들(3803 A-B)에 보낸다. MPCB(3214) & CABS_agent(3801)로 부터의 데이터와 제어가 서브_유닛들(8303A-B)에 의해 수신될 때, 그들은 그들이 안에 있는 국면과 일치하여 응답한다. 그 일정 잡이는 다른 로직 유닛으로부터의 신호들을 이용한다. MPCB(3214)로부터, 그것은 downward_ready와 WEND 을 이용한다. CABS_agent로부터, 그것은 send_frame_CABS를 이용한다. 서브_유닛으로부터, 그것은 frame_done_CABS, clear_done 을 이용한다. 중단 신호를 수신할 경우, 상기 일정 잡이는 국면 1로 가고 sub_unit_A는 렌더를 시작하기 위해 downward_ready를 기다린다. 동시에, 클리어 메모리 프로세스는 sub_unit_B에서 시작된다. 만일 중단이 수신되면, FBIF 내에서 처리된 모든 데이터 흐름은 손실 될 것이다. 그러나 메모리의 내용은 중단으로 인해 변하지 않을 것이다.
상기 제어 로직(3904)은 또한 그것이 안에 있는 것과 일치하는 국면에 대응한다. 렌더링 국면동안, 상기 downward_ready와 upward_req 신호는 MPCB(3214)로부터 FBIF(3220)까지의 데이터 흐름을 제어한다. 상기 렌더링 국면은 MPCB 신호 downward_ready가 그 데이터가 이용가능하다는 것을 나타내며 활성화될 때, 시작된다. 상기 FBIF 는 현 렌더링 윈도우와 WEnd 신호가 활성화 되도록 하는 더 이상의 데이터가 없을 때까지 데이터를 수신한다. downward_ready 신호가 활동하는 한 MPCB-블락으로부터 수신할 MiPxCaW가 있다. 만일 downward_ready 신호가 활동하지 않고 어떠한 WEnd 신호도 수신되지 않는다면, 여전히 이 렌더링 윈도우를 위한 더 많은 MiPxCaW들이 있으나, 잠시, MPCV-버퍼는 비어 있다. FBIF가 새로운 데이터를 수신할 준비가 되어 있는 한, 그것은 upward_req 활동을 유지한다. 상기 렌더링 국면은 WEnd 신호가 활성화될 때 끝난다. FBIF는 그 후 CABS_agent에게로 frame_ready_CABS를 보낼 것이며 따라서 그 CABS_agent는 데이터를 가져올 수 있다. Downward ready는 활성WEnd 또는 GEnd 펄스 후에 단지 활동하지 않을 수 있다. FBIF 내의 활성 WEnd 또는 GEnd 펄스 파이프라인은 분출된다. MPCB로부터 기인한 새로운 MiPxCaW가 새로운 기하학으로부터 일 때, 파이프 내의 이전의 기하학으로부터 처리되지 않은 어떠한 이전의 MiPxCaW의 것도 없을 것이다. 어드레스 세트들이 그 제어 블락 체크들을 처리함에 따라 만일 메모리 내의 그 어드레스들이 증가되거나 또는 감소 돼야만 하거나 어드레스 발생기로 위쪽 또는 아래쪽의 집계 순서를 준다. 흰색 MiPxCaW가 만들어질 때, 데이터는 단지 메모리에 쓰여지고, 어떠한 읽기도 수행되지 않는다. 상기 읽어 내기 국면은 send_frame_CABS를 지니는 CABS_agent(3801)로부터 불러진다. 데이터는 그 후 상기 프레임 버터가 빌 때가지 CABS_agent 로 보내진다. 일단 마지막 프레임 데이터가 CABS_agent로 보내지면, FBIF는 frame_done_CABS 신호를 활성으로 세트한다. 또한 읽어 내기 국면에서, 상기 제어기(3904)는 클리어&읽어내기 발생기(3902)와 그 데이터 처리기(3905)로 시작 신호를 준다.
상기 클리어 국면은 일정 잡이(3902)로부터 불러진다. 상기 제어기는 메모리에 대해 모든 어드레스들을 발생시키는 클리어&읽어내기 어드레스 발생기(3902)로 시작 신호를 보낸다. 모든 메모리 위치들은 검정을 위해 영(0)으로 쓰여질 것이다.
상기 데이터 처리기(3905)는 그 세 개 국면과 그에 따른 활동을 인식하는 로직을 포함한다. 렌더링 국면 동안, MiPxCaW 는 그의 표면으로부터 발생한다. 하나의 새로운 MiPxCaW 는 단지 그 MiPxCaW가 회색인 경우로부터 생긴다. 만일 MiPxCaW이 흰색이라면, 이것은 어드레스 세트의 암시적 정보 때문이다. 그리고 어떠한 마이크로 픽셀 캐쉬도 데이터 패스를 따라 전송되지 않는다. 그 제어 블락(3904)은 데이터 처리기(3905)에게 그 현 데이터가 흰색인지 회색인지를 말해준다. 그 데이터 처리기는 하나 이상의 논리적 OR/NAND 작동을 위에서 설명한 로직을 이용하여 실행한다. 일반적으로, 메모리는 저장된 데이터가 흰색, 회색 도는 검정인지를 알기 위한 읽기이다. 논리적 OR/NAND 는 수행된다. 그리고 새로운 데이터는 메모리에 쓰여진다. ZBTTT-메모리(3805)와 데이터가 메모리로부터 읽혀 질 때 ZBT-메모리 제어기(3804) 내의 파이프라인 내의 지연을 보상하기 위해, 데이터 패스와 데이터 처리기 내의 제어 패스 내에 지연 기능(3906)이 있다. 읽어내기 국면 동안, 그 지 연은 불가능하다. 클리어 국면 동안, 상기 데이터 처리기는 메모리에 0을 쓴다.
상기 어드레스 발생기93903)은 실행의 현 국면에 응답 적이다. 렌더링 국면에서 상기 어드레스 세트들은 MPCB로부터 FBIF 쪽으로 보내짐에 의해 상기 어드레스는 주어진다. 상기 어드레스 세트는 제어 블락에 의해 세트되고 그리고 그 후 그것은 윈도우 내의 현 위치에 관한 x와 y 정보에 관한 어드레스 발생기에 정보를 전송한다. 그리고 그 MPCB로부터의 어드레스 세트들은 위/아래 또는 아래/ 위 방향 내에 방향 지을 수 있다. 상기 제어 블락은 어드레스 발생기가 위 또는 아래로 카운트해야 하는지를 말해준다. 전체 렌더링 윈도우는 Rend_win_ln_x * Rend_win_ln_y MiPxCaW 이다. 그 렌더링 윈도우는 열 방향 후의 열 내의 프레임 버퍼 쪽으로 저장된다. 예를 들어, Rend_win_ln_y = 400 또는 Rend_win_ln_x = 200 이다.
Figure 112007062944613-PAT00044
렌더링 국면에서 새로운 어드레스는 그레이 데이터가 만들어질 때 각각의 두 번째 클락 주기를 발생한다. 흰색 데이터가 만들어질 때 데이터는 단지 메모리에 쓰여지고 읽을 수 없다, 또한 새로운 어드레스는 각각의 클락 주기에 발생된다. 그 제어 신호들 Rend_win_offs_x, Rend_win_offs_y는 보호 윈도우 내의 렌더링 윈도우의 위치에 관한 정보를 포함하고, Rend_win_offs_x, Rend_win_offs_y는 렌더링 윈도우 크기에 대해 알려준다. 이들은 MiPxCaW 가 보호 윈도우 또는 렌더링 윈도우 내에 배치되었는지를 결정하는데 사용된다. 모든 MiPxCaW는 FBIF에 의해, 보호 그 리고 렌더링 윈도우 양쪽에서 동등하게 처리된다. 그러나 그 어드레스 발생기가 렌더링 윈도우 외부의 어드레스들을 감지할 경우 상기 메모리는 신호가 활성이 되지 않도록 할 수 있으며 따라서 그에 대응되는 MiPxCaW 도 메모리에 쓰이지 않을 수 있다. 읽어내기 그리고 클리어 국면동아, 이 로직 블락은 사용되지 않는다.
상기 클리어&읽어내기 어드레스 발생기93902)는 렌더링 국면에서는 사용되지 않는다. 읽어내기 국면 동안, 데이터는 CABS 인터페이스에 라인마다 쓰여진다. 예를 들어, 두 개의 연속된 데이터를 위한 어드레스 증가는, 새로운 라인이 시작할 대를 제외하고, Rend_win_ln_x가 될 것이다. 새로운 라인이 시작할 때, 그 current_line_pointer 는 1씩 증가할 것이다. 블랭킹(blanking)의 경우 내의 두 개의 연속된 라인에서 그 어드레스는 블랭킹 변수에 따라 멈출 것이다. 아래의 예를 보아라. Rend_win_ln_y = 400, Rend_win_ln_x = 200 그리고 귀선소거 = 2의 변수 값을 지닌다.
Figure 112007062944613-PAT00045
읽어내기 국면에서 새로운 어드레스는 100 Mpixel/s 읽어내기 비율과 50 Mpixel/s 읽어내기 비율을 위한 모든 클락 주기가 발생되고, 두 개의 클락 주기마다 하나의 어드레스가 발생된다. 인터리브 모드 내에서 어드레스를 발생하기 위해, 두 개의 서브_유닛 기능과 함께, 오프셋은 어드레스에 더해진다. Address_1 = ard_gen, Address_2 = ard_gen+rend_win_lengh_x/2 이다. 인터리브 모드에서, 메모리 접근은 address_1과 address_2 중에서 선택적일 것이다. 만일 확장 지역이 사용 되면, address_2는 다음의 표현을 갖게 될 것이다. Address_2 = ard_gen+rend_win_lengh_x/2 - 2 . 클리어 국면에서 모든 메모리 어드레스는 0에서부터 256k 까지 클리어를 위해(이 기능은 부피가 큰 클리어 작동을 허용하는 메모리 디자인을 위해서는 필요하지 않을 수도 있다.) 발생된다.
상기 어드레스 지연 로직(3906)은 렌더링 국면동안 가능하다. 이전의 저장된 데이터는 새로운 MiPxCaW-데이터와 함께 OR/NAND 을 수행하기 위해 읽어져야만 한다. ZBT-메모리와 읽기 프로세스 내의 ZBT-메모리 제어기 내의 파이프라인에서의 지연을 보상하기 위해, 데이터와 어드레스 모두 지연되어야 한다. 상기 어드레스 지연 블락은 그 어드레스를 지연시킨다. 데이터의 그 지연은 데이터 처리기 내에 집적된다. 그 어드레스 지역 로직은 읽어내기와 클리어 국면동안에는 불가능하다.
이 실시예에서, 그 슈퍼 샘플 로직(3901)은 도 7에서 설명하는 바와 같은 읽어 내기 국면동안에 사용된다.
FBIF의 제 2 그리고 제 3 실시예는 각각 PMFB와 GVFB 메모리를 지니기에 적합한 로직을 이용한다. 도 32에 표시된 대로, 다수의 픽셀 맵(3223)과 그레이 스케일(3224) 메모리들이 유리하다. 메모리 접근을 위해 부가된 메모리들과 독립된 채널의 영향은 다음의 인터리브 토론으로부터 자명해진다. 상기 픽셀 맵 PMFB 메모리는 접근 자격기(qualifier)와 같이 사용되고, 특정 픽셀을 위해 그 마이크로 픽셀 메모리에 접근하기 위해 필요한 자격을 준다. 픽셀 맵 기호 수정을 위한 그 진리 테이블은 요구되는 렌더링 오퍼레이터에 의존하는 중이며, 이는 "or" 또는 "and-not" 일 수 있다. 테이블 내의 "*"는 "신경 쓰지 않는다." 또는 "임의문자기호" 을 의미하는 어떠한 기호 값을 나타낸다.
Figure 112007062944613-PAT00046
접근 자격기 들은 쓰거나, 이는 하나의 단일 쓰기 기능을 나타낸다, 또는 쓰기를 수정을, 이는 읽기-수정-쓰기 기능을 나타낸다, 할 수 있다. OR-작동을 위해, 픽셀을 위한 그 후의 값이 W 또는 B인 때에, 그 마이크로 픽셀 배열은 읽거나 쓸 필요가 없다. 대신, 그 픽셀 맵 PMFB 메모리는 적합한 값으로 세트된다. 그 후 값이 회색 그리고 그 이전 또는 수정 값이 검정 일 때, 그 후 단일 쓰기 또는 전혀 쓰지 않기 중 어느 것이든지 마이크로 픽셀 MPFB 메모리 내의 수정된 그레이 값을 생산할 것이다. 픽셀이 회색인 이전 그리고 수정된 값을 가질 때, 그 마이크로 픽셀 배열은 읽혀지기, MPFB에 대한 결과 값의 쓰기 다음에 따라 오는 그 이전과 수정된 값에 대한 논리적 OR- 또는 AND NOT - 작동의 적용에 의해 작동된다. 본질적으로 그 동일한 접근 자격기 들은 OR 작동에 대한 것과 마찬가지로 AND NOT-작동에 적용될 수 있다. 도 16D는 접근 자격기 들의 작동을 도시한다. 직사각형은 픽셀을 위한 그 이전 값이다. 평행 사변형은 픽셀을 위한 그 수정 값이다. 어두운 맵은 수정 작동 후의 결과적인 픽셀 맵 값들(검정, 흰색, 그레이)을 나타낸다. 그것은 마이크로 픽셀 MPFB 메모리가 단일 쓰기 작동, 쓰기-수정-쓰기 작동에 영향을 받는지 또는 평행 사변형과 함께 그 사각형을 수정하기 위해 논리적인 OR-작동이 적용된 후 변하지 않는 가를 보여준다.
제 2 실시예를 위한 상기 인터리브 다이어그램은 다음과 같다.
Figure 112007062944613-PAT00047
위에서 언급한 3번째 실시예는, 쓰기 또는 읽기-수정-쓰기 작동이 수행되는 모든 시간에서의 슈퍼 샘플링을 포함한다. 하나 이상의 그레이 GVFB 요약 메모리들은 그 결과를 유지한다. 제 3 실시예에서의 두 개의 변화들은 동시에 픽셀 맵과 그레이 값들을 이용하거나 데이터 패스들을 분리한다. 그 첫 번째 인터리브 다이어그램은 두 개의 나눠진 PMFB 메모리들과(같은 메모리와 같은 데이터 패스 내의 두 개의 버퍼) 두 개의 나눠진 GVFB 메모리들( 동일한 메모리와 동일한 데이터 패스 내의 두 개의 버퍼)을 위한 것이다.(라인단위의 기초 위에 인터리브 된 하위 국면들, 모든 읽어내기 라인을, 전체 국면에 대해 512 읽어내기 라인들을위한 4개의 하위 국면의 한 세트)
Figure 112007062944613-PAT00048
Figure 112007062944613-PAT00049
큐 엔드(Que end) 는 MPFB 대행자에 앞선 FIFO 버퍼가 PM 대행자가 읽느라 바쁜 경우에도 여전히 비어 있을 수 있음을 의미한다. 이것은 로드 분배를 제공한다.
제 3 실시예의 두 번째 변화에서, 두 개의 분리된 PMFB와 두 개의 분리된 GVFB가 사용되고, 각각의 메모리는 그의 고유의 데이터 패스 또는 메모리 접근을 위한 독립적인 채널을 지닌다.
Figure 112007062944613-PAT00050
제 2 및 제 3 실시예에서, 읽어내기 그리고 클리어 국면들이 결합한다. 상기 픽셀 맵은 PMFB와 MPFB 메모리가 읽기 일 때 클리어 된다. 이것은 픽셀 맵이 픽셀들을 두 비트만큼 작게 표현 함에 따라 작은 픽셀 빠르게 읽어낸다.
도 42는 제 2 실시예 내의 프레임 버퍼 인터페이스의 대략의 블락 구조를 나타낸다. 상기 구조도는 기능도와 달리 스피드 실행을 위한 인터리브와 파이프라인 알고리듬을 통합하는 지를 보여준다. 대량의 데이터 버스들을 분리하는 것과 연결되지 않는 다수의 더 작은 로직 블락들을 평행하게 데이터 처리를 하는 것은 유용하다. 데이터를 다수의 더 작은 블락들로 나누는 것은 고속 디지털 기구 내의 물리적 구현을 촉진한다. 블락 분할은 그 자신을 파이프라인으로 이끈다. 어드레스 세트들(4201)의 발생에 있어 MPCB(3214)의 기능과 마이크로 픽셀 캐쉬들(4202)은 위에서 설명한 것과 마찬가지이다. 상기 보호 지역 필터는, 보호 지역의 한 실시예와 마찬가지로, 3641 이다. 상기 픽셀 맵 프레임 버퍼 인터페이스(3643)는 PMFB 메모리(3223)(도 36을 보라)에 접근한다. 상기 마이크로 픽셀 프레임 버퍼 인터페이스(3642)는 상기 MPFB 메모리(3222)(또한 도 36을 보라)에 접근한다.
이 구현에서, 상기 보호 지역 필터 블락(3641)은 MPCB(마이크로 픽셀 캐쉬 버퍼)(3214), 상기 픽셀 맵 프레임 버퍼 접근 순서 발생기(PMFB AccSeqGen)(4221), 상기 마이크로 픽셀 프레임 버퍼 AccSeqGen(4222)과 상기 MiPxCaW 버퍼(4223)와 함께 신호를 공유한다. 아래의 신호들은 MiPxCaW가 렌더링 윈도우 내에 위치했는지 아닌지를 결정하는 것을 요구한다. - Interior_info, MPCS_Y, MPCS_X1S, MPCS_X1E, MPCS_X2E는 x와 y 방향 내의 보호 윈도우의 왼쪽 코너에 상대적인 좌표이다. -Rend_win_offs_x 와 rend_win_offs_y 는 렌더링 윈도우의 방향의 위치를 나타낸다. - Rend_win_ln_x 와 rend_win_ln_y는 렌더링 윈도우의 차원을 나타낸다. -그리고 이 블락과 그 MPCB(마이크로 픽셀 캐쉬 버퍼)(4202) 간의 데이터 흐름을 조정하기 위한 신호변경(handshake) 신호들(Downward_Ready/Up_Request)의 쌍.
그 픽셀 맵 프레임 버퍼 접근 순서 발생기(4221)는 보호 지역 필터(3641)와 상기 PMFB 대행자(4231)와 신호를 공유한다. 그것은 보호 지역 필터로부터의 어드레스 세트 형식(X,Y,interior_info)을 - 이 블락과 상기 보호 지역 필터 간의 데이터 흐름을 조정하는 한 쌍의 신호변경 신호들(Downward_Ready/Up_Request), PMFB 대행자 내에서 처리되는 픽셀 맵 세트에 대응하는 어드레스와 Byte Enable, 그리고 프로세싱(PMFB AccSeqGen -> PMFB 대행자)에 이용 가능한 데이터의 실재를 나타내는데 사용되는 신호와 PMFB 대행자가 PMFB AccSeqGen으로부터 데이터를 받을 준비가 되었는지를 나타내는데 사용되는 신호를 포함하면서 수신한다.
상기 PMFB 대행자(4231)는 하나의 어드레스 세트(AS)를 동시에 읽고 일련의 PMFB(픽셀 맵 프레임 버퍼) 접근들을 발생한다. 모든 X1S, X1E, X2S, X2E, Y 의 AS를 위해 일련의 PMFB 접근들이 발생될 것이다. 하나의 PMFB 접근은 워드 위치[(0....X크기/4-1)]과 세트 숫자[0...3]에 의해 접근되는 PM 세트 접근으로 구성된다. 상기 세트 숫자는 PMFB 대행자 내에서 바이트 가능(byte enable) 신호로서 사용된다.
도 43은 당해 발명을 실행하는데 사용되는 하나의 메모리 조직을 나타낸다. 이 조직에서, 픽셀 맵 기호는 W=흰색, G=그레이, B=검정 의 값을 지닌다. 하나의 픽셀 맵 세트는 8비트 워드로 정렬된 4 개의 픽셀 맵 기호들을 포함하고, 하나의 픽셀 맵 워드는 32 비트 워드로서 배열된 4개의 픽셀 맵 세트들을 포함한다. 아래의 RMW 절차들은 이 메모리 조직에서 제공된다. 8-비트 워드의 읽기(24개의 남겨진 비트들은 버려진다.), 마스크를 이용한 쓰기(byte enable), 그리고 32비트 워드의 읽기, 32비트 워드의 쓰기 이다. 다시 도 43을 참고하면, 열 숫자 8은 PMFB AccSeqGen(4221)에 의해 처리된다고 가정한다. 일련의 3개의 메모리 접근들이 발생될 것이다.
Figure 112007062944613-PAT00051
상기 PMFB 대행자(4231)는 PM 세트 또는 PM 워드 중의 중간 저장장치를 처리하기 위한 포괄적인 픽셀 맵 용기를 구성한다. 상기 용기는 하나에서 4개의 기호 세트와 하나의 워드 주소를 포함한다. 상기 용기는 하나의 픽셀 맵 세트 엔트리를 갖는다.
Figure 112007062944613-PAT00052
Figure 112007062944613-PAT00053
상기 PMFB 대행자(4231)는 ZBT-제어기(3804A), PMFB-AccSeqGen(4231) 그리고 그 접근 자격기 FIFO(4232)와 신호를 공유한다. PMFB AccSeqGen 와 PMFB-대행자 간의 인터페이스는 위에서 언급되었다. AccQua FiFo(4232)와 PMFB-대행자(4231)간의 인터페이스는 접근 자격기를 FiFo로 보내는 것을 포함한다. 새로운 데이터가 쓰여지는 것을 허락하기 위해, Write Enable 은 FiFo 상태 플래그와 마찬가지로 필요하다. 예를 들어 fifo_full 또는 fifo_overrun이다. PMFB-agent(4231)와 상기 ZBT-제어기(3804A) 간의 인터페이스는 다음의 것을 포함한다. 어드레스, data in, data out, read_write, 그리고 byte enable 신호들이다. 게다가, 상기 렌더링 윈도우 논리 연산자(RWLOper)는, 포괄적인 용기 내에 포함되는, 어떤 논리 연산자가 렌더링 프로세스를 수행하기 위해 필요한지를 결정하는 것이 필요하다.
MPFB AccSeqGen(4222)의 목적은 MiPxCaW-버퍼(4223) 내에 저장된 MiPxCaW에 대응하는 어드레스들을 발생하는 것이다. 어드레스들은 Y-값,X1S, X1E, X2S 그리고 X2E로부터 바깥쪽으로 발생된다. S는 시작을 E는 끝을 나타낸다. 아래는 어드레스 세트를 위한 논리적 법칙이다.
X1S<X1E : MiPxCaW가 X1S로부터 X1E까지의 지역 내에 가장 낮은 어드레스 데이터 처음과 함께 MPCB 내에 저장된다.(왼쪽 모서리)
X1S>X1E : MiPxCaW가 X1S로부터 X1E까지의 지역 내에 가장 높은 어드레스 데이터 처음과 함께 MPCB 내에 저장된다.(왼쪽 모서리)
X2S<X2E : MiPxCaW가 X2S로부터 X2E까지의 지역 내에 가장 낮은 어드레스 데이터 처음과 함께 MPCB 내에 저장된다.(오른쪽 모서리)
X2S>X2E : MiPxCaW가 X2S로부터 X2E까지의 지역 내에 가장 높은 어드레스 데이터 처음과 함께 MPCB 내에 저장된다.(오른쪽 모서리)
또한, 이 블락은 반드시 위쪽으로, 예를 들어, 보호 지역 필터 쪽으로, 이전 에 수신된 어드레스 세트에 대응하는, 그것이 마지막 어드레스를 MPFB-대행자(4233)쪽으로 보내자마자 새로운 어드레스 세트를 받을 준비가 되어 있음을 나타내어야 한다. 상기 보호 지역 필터는 요구에 따라 어드레스 세트들을 전송한다. X1S, X1E, X2S, X2E 그리고 그 interior_info 플래그. 한 쌍의 신호변경 신호들(Downward_Ready/Up_Request)은 이 로직 블락과 그 보호 지역 필터 간의 데이터 흐름을 조정한다. MPFB-대행자와 그 MFB 접근 순서 발생기 블락(4222)간의 인터페이스에서, 데이터흐름 조정과 마찬가지로 대응하는 MiPxCaW를 위해 사용되는 어드레스가 이동된다.
상기 MiPxCaW-버퍼(4223)는 FIFO-버퍼 이상이 아니다. 그것은 이 디자인(100MHz)에서 요구되는 고 클락 주파수와 동화되고 일반적으로 우호적인-FloorPlanner이다. 4개의 DPRAM 블락들이 가장 큰 기하학(253 MiPxCaW)을 저장하기 위해 요구되는 것을 제공한다. 예를 들어, 상기 64 비트 워드는 4개의 16 비트 워드들로 분리된다. 상기 MiPxCaW-버퍼(4223)는 보호 지역 필터와 상기 MPFB-agent와 함께 공통적 인터페이스를 갖는다. 보호 지역 필터와 이 블락간의 인터페이스에서, 버퍼와 쓰기 가능 신호 쪽으로의 상기 MiPxCaW 흐름은 FiFo를 제공하기 위해 필요하다. MPFB-대행자와 이 블락 간의 인터페이스에서, 버퍼로부터의 상기 MiPxCaW 흐름과 읽기 가능 신호는 FiFo로부터 데이터를 가져오기 위해 필요하다.
상기 MP 프레임 버퍼 대행자(4233)는 MiPxCaW에 의한 MiPxCaW 위의 MPFB(3222)에서 작동한다. 예를 들어 동시에 하나의 64 비트워드이다. 상기 대행자는 접근 자격기, AccQua의 값에 따라 쓰기 또는 읽기-수정-쓰기 작동을 수행한다. MiPxCaW 수정을 위한 상기 진리 테이블은 논리적 렌더링 오퍼레이터에 의존한다. 이것은 "OR" 또는 "AND-NOT" 일 수 있다. 만일 AccQuark가 , 주어진 결합(어드레스, MiPxCaW), 흰색이면, 그 때는 그 MiPxCaW는 대응하는 어드레스에 쓰여야만 한다. 그러나 만일 AccQua가 수정-쓰기 이면, 그 때는 MPFB 내에 저장된 값은 먼저 어드레스에 의해 지적되어 나온 위치로부터 먼저 처음으로 추출될 수 있다. 그 후 상기 데이터는 렌더링 윈도우 오퍼레이터에 따라서 수정될 수 있다. 그러나 그 데이터와 그 어드레스는 데이터가 검색되기를 기다리는 동안 큐 내에 저장되어야 한다. 대행자가 어드레스를 보낸 순간과 ZBT-제어기(3804B)에 대한 제어 신호간의 레이턴시(대략 10클락 주기)가 있으며 데이터에 대응하는 순간은 Dout-bus 에 유효하다. 이것은 캐쉬 일관성 내용은 예를 들어, 두 개의 오버랩 되는 기하학들이 MPFB 내에서 서로에게 그 후 쓰이는 경우가 발생할 수 있다. 이것은 메모리 접근에 사용되는 그 어드레스들을 모니터 하는 CAM 구조와 함께 해결될 수 있다. 가능한 구현은 마지막 10개의 어드레스들을 어드레스가 CAM 구조 내에서 두 번 나타내는지를 발행하는 상대 인디케이터로 저장한다. 이는 상대 인디케이터가 사라질 때까지 작동들 내에서 일시적 붕괴를 의미한다.
상기 마이크로 픽셀 프레임 버터 대행자(4223) 로직 블락은 AccQuaFiFo(4232), MPFB AccSeqGen(4222), MiPxCaW 버퍼(4223) 그리고 ZBT 제어기(3804B) 와 함께 공통된 인터페이스를 지닌다. FiFo 에 일반적인 읽기 가능 신호, 버퍼, 그리고 어드레스 발생기는 새로운 AccQua, 어드레스, 그리고 MiPxCaW 의 릴리스(release)를 유발한다. FiFo와 이 블락 간의 인터페이스에서, AccQua 와 FiFo-상태 인디케이터가 있다. 예를 들어 FiFo-empty 플래그 이다. MPFB AccSeqGen 과 이 블락 간의 인터페이스에서, 하나의 어드레스 버스와 한 쌍의 조정 신호들, 예를 들어 준비/진행이 있다. MiPxCaW 버퍼와 이 블락 간의 인터페이스에서, MiPxCaW 버스와 한 쌍의 조정 신호들, 예를 들어 준지/진행 이 있다. 한 쌍의 조정 신호가 이 블락과 상기 MPFB AccSeqGen 간에 사용되는 그 것과 동일한 것이 가능하다. 마지막으로, ZBT-제어기 와 이 블락 간의 인터페이스는 위에서 PMFB 대행자를 위해 설명한 것과 같다.
이 블락을 지니는 상기 읽어내기 로직(3644)은 양 프레임 버퍼들(ZBT-제어기를 통한)과 상기 CABS 버스와의 공통된 인터페이스를 지닌다.
상기 클락화 전력은 100MHz의 이중 주파수에서, clk_c2 클락과 함께 클락되는 FBIF의 로직 블락들을 요구한다. 상기 읽어내기 로직은 마찬가지로 clk_c1 클락과 함께 클락된다. 이는 50MHz의 기저 주파수를 지닌다. 두 개의 클락 주파수들은 clk_c1 클락을 이용하는 CABS 인터페이스와 이는 clk_c2 클락을 이용하는 ZBT-제어기를 구동하기 위해 사용될 수 있다. 양 클락들은 동일한 DLL에 의해 발생되고, 이것이 의미하는 것은 기울기는 무시할 수 있다는 것이다. 즉, 양 클락은 동시 발생하는 클락으로서 간주될 수 있다. 변환이 있는 곳은 이러한 두 개의 클락 도메인들 간에서 만들어지는 어느 곳이던지 둘의 접근은 고려될 수 있다. 단지 상기 clk_c2 클락만 또는 필요한 곳 어느 곳이든지 다수의 클락 주기 패스를 이용하던지 또는 clk_c1 클락과 clk_c2 클락 모두를 이용한다.
도 1 A-B 는 모서리에서의 노출 방사의 진폭을 감소시킨 결과로 하나의 픽셀이나 격자 요소 보다 작음으로써 모서리의 이동을 나타내는 방사 흡수 그래프의 쌍이다.
도 2 는 당해 발명의 하나의 데이터 패스 실행 측면의 개관을 제공하는 블락 다이어그램이다.
도 3 은 클러스터 조정 프로세스( cluster coordination process), 지원 및 마스크 기록 프로세스 와 렌더링 모듈 을 나타낸다.
도 4 A-B 는 렌더링 윈도우, 보호 윈도우, 스탬프 스트립, 서브 스트립 그리고 렌더링과 관련된 다른 특징의 쌍이다. 도 4 C 는 모듈레이터 윈도우, 스탬프, 스트립, 서브 스트립, 그리고 이미지 간의 내부 관계를 보여주는 블락 다이어그램이다. 도 4 D 는 전역과 지역 좌표식 시스템간의 관계를 도시하는 벡터 다이어그램이다.
도 5A-B 는 픽셀을 가로지르는 모서리의 표현을 나타내는 서브-픽셀의 쌍이다.
도 6 은 픽셀의 하나에 대응하는 픽셀 그리드와 서브-픽셀 그리드의 시리즈를 포함한다. 기하학적 모양 쌍의 픽셀 그리드로의 맵핑이 도시 되었다.
도 7 은 슈퍼 샘플링 회로의 블락 다이어그램이다.
도 8부터 10은 기하학적 배열로부터 발생된 마이크로 픽셀 캐쉬 세트와 어드레스 세트들의 기하학적 배열들의 예이다
도 11A-D 는 코너로부터 한 픽셀의 측면까지 모서리를 확장시킨 네 가지 예와 픽셀에 대응하는 서브-픽셀 배열을 도시한다.
도 12 는 픽셀의 수평과 수직 쌍 과 마이크로 픽셀 바를 이용한 다른 모서리 표현의 특징을 도시한다.
도 13A-D 는 마이크로 픽셀 바의 세트로부터 표현될 수 있는 다른 방향의 네 가지 모서리를 도시한다.
도 14A-D 는 코너로부터 대치된 모서리 구조를 위한 마이크로 픽셀 바 세트를 이용을 도시한다.
도 15A 는 렌더링(rendering)과 보호 지역을 오버랩하는 사다리꼴의 특성을 도시한다. 도 15B-C 는 픽셀을 가로지르는 모서리를 규정하기 위해 사용되는 서브픽셀 바 맵의 준비를 위한 인터페이스를 도시한다.
도 16A-C는 서브-픽셀 격자 내의 코너의 구조와 코너에 대응하는 픽셀 그레이 값의 계산을 도시한다. 도 16D는 또 다른 하나의 기하학상의 특징을 덮어씌우기 위한 접근 자격의 지원을 도시한다.
도 17 은 모서리 배치에 유용한 타원형 구조 요소를 도시한다.
도 18 과 19 는 채워 올리기 및 슬라이딩 배치 알고리듬이라고 명명되는 알고리듬의 작동을 도시한다.
도 20 은 5×5 그레이 값의 픽셀까지의 인접한 사이즈 내의 모서리 배치를 이용하는데 이용될 수 있는 로직 요소를 위한 하드웨어 블락 다이어그램이다.
도 21 은 스탬프를 오버랩하는 6개의 모듈레이터와 렌더링 윈도우를 나타낸 다. 도 22 는 스탬프와 9 개의 오버랩 서브지역을 나타낸다. 도 23A 는 다수의 통행 내의 서브지역 개념을 인쇄로 확장시킨다. 도 23B 는 4개의 노출 통행으로부터 결과로 인한 81개의 오버랩 서브지역을 도시한다. 도 23C-D는 스탬프, 스트립, 그리고 서브 스트립 간의 관계를 도시하는 블락 다이어그램이다. 도 24A-B 는 스탬프의 렌더링 또는 모듈레이터 윈도우 내의 오버랩 서브지역을 도시하며, 오버랩 서브 지역의 일부에 대응하는 방사량 윤곽을 도시한다.
도 25 는 오버랩 지역의 적용과 그레이스케일 픽셀을 위한 다중-패스 보상 조명 값의 계산에 대한 에너지 변화 과정을 포함하는 블락 다이어그램이다.
도 26 은 래스터 하는 분리된 기하학적 기하학 배열 내에 유용한 다수의 처리과정의 블락 다이어그램이다.
도 27은 거울 전달 함수의 적용을 나타내는 하드웨어 블락 다이어그램이다.
도 28 은 고유(eigen) 전달 함수를 이용하여 계산된 기준 함수의 쌍을 도시한다.
도 29 는 잠재적 버퍼 구현을 도시하기 위한 블락 다이어그램이다. 도 30 은 SLM으로의 로딩을 통한 분리로부터 데이터의 흐름을 도시한다.
도 31 은 렌더링 모듈의 블락 다이어그램이다. 도 32 는 렌더링 프로세서의 하드웨어 블락 다이어그램이며, 이는 렌더링 모듈의 부분이다. 도 33 은 분리된 컨버터의 하드웨어 블락 다이어그램이며, 이는 렌더링 프로세서의 부분이다. 도 34 는 마이크로 픽셀 캐쉬 발생기의 블락 다이어그램이다. 도 35 는 마이크로 픽셀 캐쉬 버퍼의 블락 다이어그램이다. 도 36은 프레임 버퍼 인터페이스와 관련 소자의 블락 다이어그램이다.
도 37 은 데이터가 메모리 제어기에 쓰이기 전에 수행되는 보호 지역 필터의 작동을 도시한다. 도 38-39 는 프레임 버퍼 인터페이스의 구조에 관해 보다 상세한 것을 제공한다.
도 40 은 전-프로세서 핵심의 하나의 수행과 관련된 상세함을 제공하는 하드웨어 블락 다이어그램이다.
도 41 은 메모리로서의 메모리 블락의 처리가 횡단됨을 도시한다.
도 42 는 마이크로 픽셀 캐쉬 버퍼의 하드웨어 블락 다이어그램이다.
도 43 은 당해 발명의 하드웨어 수향 측면의 한 실시예에서의 메모리 접근을 도시한다.
도 44 는 픽셀을 나타내는 서브픽셀의 대칭적 부가를 도시한다. 도 45 는 특정 모서리 방향을 나타내는 대칭적이거나 비대칭적인 서브 픽셀을 도시한다.
도 46-47 은 5×5 이웃의 두 단계 컨볼루션을 도시하며, 이는 코너를 감지하는데 유용하다.
도 48-51 은 모서리 이동의 모습을 도시한다. 도 52 는 모서리 이동의 개략적 순서도 이다.
도 53 은 브레센함(Bresenham) 알고리듬 적용의 순서도이다.
도 54A-C 는 다수의 SLM 구조의 예이다.
도 55 는 그 SLM 으로부터 실행 단편까지의 투영내의 작은 불완전과 왜곡을 보상하기 위한 수정 요소의 이용을 도시한다.

Claims (11)

  1. 측면들을 지닌 구역 내에서 다각형의 변을 구획하는 방법에 있어서, 이때, 상기 구역은 서브-픽셀들로 나뉘어지는 구역이며, 상기 방법은,
    - 상기 다각형의 변과 상기 구역과의 잠재적 교차점 및 잠재적 방향에 대응하는 다수의 기연산된 서브-픽셀 바 맵들을 제공하는 단계로서, 이때, 상기 잠재적 교차점들은 상기 구역의 측면들을 따라 배치된 개별(즉, 서로 이격된) 위치들로 제한되고, 상기 잠재적 방향들은 상기 개별 위치들을 연결하는 방향으로 제한되는 것을 특징으로 하는 단계,
    - 상기 다각형의 변, 상기 다각형 변의 연장선, 그리고 상기 구역의 측면들과의 두개의 교차점을 결정하는 단계,
    - 상기 다각형의 변의 방향을 결정하는 단계, 그리고
    - 상기 두개의 교차점 및 상기 방향 중 한가지 이상에 대응하는 기연산된 서브-픽셀 바 맵들 중 한개를 적용하는 단계
    를 포함하는 것을 특징으로 하는 다각형의 변 구획 방법.
  2. 장방형 구역 내에서 다각형의 변을 구획하는 방법에 있어서, 이때, 상기 장방형 구역은 서브-픽셀들로 나뉘어지는 구역이며, 상기 방법은,
    - 상기 다각형의 변과 상기 장방형 구역과의 잠재적 교차점에 대응하는 다수의 기연산된 서브-픽셀 바 맵들을 제공하는 단계로서, 이때, 상기 잠재적 교차점들 은 상기 장방형 구역의 변들을 따라 배치된 개별(즉, 서로 이격된) 위치들로 제한되는 것을 특징으로 하는 단계,
    - 상기 다각형의 변과, 상기 장방형 구역의 변들과의 두개의 교차점을 결정하는 단계, 그리고
    - 상기 두개의 교차점에 기초하여 기연산된 서브-픽셀 바 맵들 중 하나를 적용하는 단계
    를 포함하는 것을 특징으로 하는 다각형의 변 구획 방법.
  3. 장방형 구역 내에서 다각형의 변을 구획하는 방법에 있어서, 이때, 상기 장방형 구역은 서브-픽셀들로 나뉘어지는 구역이며, 상기 방법은,
    - 상기 다각형의 변과 상기 장방형 구역과의 잠재적 교차점에 대응하는 다수의 기연산된 서브-픽셀 바 맵들을 제공하는 단계로서, 이때, 상기 잠재적 교차점들은 상기 장방형 구역의 변들을 따라 배치된 개별(즉, 서로 이격된) 위치들로 제한되는 것을 특징으로 하는 단계,
    - 상기 다각형의 변, 상기 다각형 변의 연장선, 그리고 상기 장방형 구역의 변들과의 두개의 교차점을 결정하는 단계, 그리고
    - 상기 두개의 교차점에 기초하여 기연산된 서브-픽셀 바 맵들 중 하나를 적용하는 단계
    를 포함하는 것을 특징으로 하는 다각형의 변 구획 방법.
  4. 제 3 항에 있어서, 기연산된 서브-픽셀 바 맵들이 적용된 한개 이상 세트의 서브-화소들을 슈퍼-샘플링하는 단계를 추가로 포함하는 것을 특징으로 하는 다각형의 변 구획 방법.
  5. 제 3 항에 있어서, 상기 장방형 구역의 두개의 마주보는 변들이 64개 이하의 서브-픽셀들로 나누어지고, 상기 개별 위치들은 서브-픽셀 당 33개 이하의 위치들로 제한되는 것을 특징으로 하는 다각형의 변 구획 방법.
  6. 제 3 항에 있어서, 상기 사각형 구역은 32*16 개의 서브-픽셀들로 나누어지며, 상기 서브-픽셀의 한개의 변을 따라 17개의 개별 위치들이 존재하는 것을 특징으로 하는 다각형의 변 구획 방법.
  7. 제 3 항에 있어서, 상기 사각형 구역은 16*8 개의 서브-픽셀들로 나누어지며, 상기 서브-픽셀의 한개의 변을 따라 9개의 개별 위치들이 존재하는 것을 특징으로 하는 다각형의 변 구획 방법.
  8. 제 3 항에 있어서, 상기 기연산된 서브-픽셀 바 맵들은 45도의 범위를 형성하는 개별 위치들 사이에서의 한 세트의 방향들로 제한되며, 기연산된 서브-픽셀 바 맵들은 180도 범위를 커버하도록 변환되는 것을 특징으로 하는 다각형의 변 구획 방법.
  9. 제 3 항에 있어서, 상기 기연산된 서브-픽셀 바 맵들은 한개의 서브-픽셀의 한개의 변을 따라 배치된 개별 위치들의 범위 중에서 잠재적 교차점들 중 하나와 45도의 범위를 형성하는 개별 위치들 간의 잠재적 방향들의 조합을 포함하는 것을 특징으로 하는 다각형의 변 구획 방법.
  10. 제 3 항에 있어서, 상기 기연산된 서브-픽셀 바 맵들은 한개의 서브-픽셀의 한개의 변을 따라 배치된 개별 위치들의 범위 중에서 잠재적 교차점들 중 하나와 45도의 범위를 형성하는 개별 위치들 간의 잠재적 방향들의 조합으로 제한되는 것을 특징으로 하는 다각형의 변 구획 방법.
  11. 제 10 항에 있어서, 상기 기연산된 서브-픽셀 바 맵들은 180도의 잠재적 방향의 범위를 커버하도록 변환되는 것을 특징으로 하는 다각형의 변 구획 방법.
KR1020077019742A 2001-09-12 2002-09-09 다각형의 변 구획 방법 KR20070093466A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/954,721 2001-09-12
US09/954,721 US7302111B2 (en) 2001-09-12 2001-09-12 Graphics engine for high precision lithography

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020047003724A Division KR100800240B1 (ko) 2001-09-12 2002-09-09 마이크로미러 어레이에서 기하 형태를 개별 미러들에 대한 구동 전압으로 변환하는 방법

Publications (1)

Publication Number Publication Date
KR20070093466A true KR20070093466A (ko) 2007-09-18

Family

ID=25495835

Family Applications (6)

Application Number Title Priority Date Filing Date
KR1020077019745A KR20070093468A (ko) 2001-09-12 2002-09-09 개별 마이크로미러들 간의 응답 차이 보상 방법
KR1020077019741A KR20070093465A (ko) 2001-09-12 2002-09-09 다각형의 변 구획 방법
KR1020077019742A KR20070093466A (ko) 2001-09-12 2002-09-09 다각형의 변 구획 방법
KR1020047003724A KR100800240B1 (ko) 2001-09-12 2002-09-09 마이크로미러 어레이에서 기하 형태를 개별 미러들에 대한 구동 전압으로 변환하는 방법
KR1020077019739A KR20070091697A (ko) 2001-09-12 2002-09-09 다각형의 한개의 변(an edge)의 일부분에 대응하는다중-값 픽셀에 대한 값을 연산하는 방법
KR1020077019743A KR20070093467A (ko) 2001-09-12 2002-09-09 에너지 변화 보상 방법

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020077019745A KR20070093468A (ko) 2001-09-12 2002-09-09 개별 마이크로미러들 간의 응답 차이 보상 방법
KR1020077019741A KR20070093465A (ko) 2001-09-12 2002-09-09 다각형의 변 구획 방법

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020047003724A KR100800240B1 (ko) 2001-09-12 2002-09-09 마이크로미러 어레이에서 기하 형태를 개별 미러들에 대한 구동 전압으로 변환하는 방법
KR1020077019739A KR20070091697A (ko) 2001-09-12 2002-09-09 다각형의 한개의 변(an edge)의 일부분에 대응하는다중-값 픽셀에 대한 값을 연산하는 방법
KR1020077019743A KR20070093467A (ko) 2001-09-12 2002-09-09 에너지 변화 보상 방법

Country Status (6)

Country Link
US (3) US7302111B2 (ko)
EP (1) EP1425623A1 (ko)
JP (1) JP2005502909A (ko)
KR (6) KR20070093468A (ko)
CN (11) CN1854906A (ko)
WO (1) WO2003023488A1 (ko)

Families Citing this family (130)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6833908B2 (en) * 2001-03-23 2004-12-21 Ultratech, Inc. Computer architecture for and method of high-resolution imaging using a low-resolution image transducer
US7302111B2 (en) * 2001-09-12 2007-11-27 Micronic Laser Systems A.B. Graphics engine for high precision lithography
US20030233630A1 (en) * 2001-12-14 2003-12-18 Torbjorn Sandstrom Methods and systems for process control of corner feature embellishment
JP2003315973A (ja) * 2002-04-19 2003-11-06 Fujitsu Ltd マスク設計装置、マスク設計方法、プログラムおよび半導体装置製造方法
US7451410B2 (en) * 2002-05-17 2008-11-11 Pixel Velocity Inc. Stackable motherboard and related sensor systems
US7073158B2 (en) * 2002-05-17 2006-07-04 Pixel Velocity, Inc. Automated system for designing and developing field programmable gate arrays
US7302672B2 (en) * 2002-07-12 2007-11-27 Cadence Design Systems, Inc. Method and system for context-specific mask writing
EP1579274A4 (en) * 2002-07-12 2006-06-07 Cadence Design Systems Inc METHOD AND SYSTEM FOR CONTROLLING MASKS ACCORDING TO THE CONTEXT
WO2004008246A2 (en) * 2002-07-12 2004-01-22 Cadence Design Systems, Inc. Method and system for context-specific mask writing
JP4375523B2 (ja) * 2002-12-20 2009-12-02 富士ゼロックス株式会社 画像処理装置、画像処理方法、画像処理プログラム、印刷物検査装置、印刷物検査方法、印刷物検査プログラム
US6998217B2 (en) * 2003-01-06 2006-02-14 Applied Materials, Inc. Critical dimension edge placement and slope enhancement with central pixel dose addition and modulated inner pixels
SE0300516D0 (sv) * 2003-02-28 2003-02-28 Micronic Laser Systems Ab SLM direct writer
US7474985B1 (en) * 2003-04-25 2009-01-06 The United States Of America As Represented By The Secretary Of The Navy Method and system for detecting changes in data
CN1860520B (zh) 2003-05-20 2011-07-06 辛迪安特公司 数字底板
US20040239901A1 (en) * 2003-05-29 2004-12-02 Asml Holding N.V. System and method for producing gray scaling using multiple spatial light modulators in a maskless lithography system
EP1644855A4 (en) * 2003-07-14 2007-08-01 Cadence Design Systems Inc METHOD FOR PRODUCING STRUCTURES FOR PRODUCING INTEGRATED CIRCUITS
US7024638B2 (en) * 2003-07-14 2006-04-04 Cadence Design Systems, Inc. Method for creating patterns for producing integrated circuits
KR101080545B1 (ko) * 2003-08-04 2011-11-04 마이크로닉 레이저 시스템즈 에이비 공간 광 변조기 정렬 방법
US7186486B2 (en) * 2003-08-04 2007-03-06 Micronic Laser Systems Ab Method to pattern a substrate
US6876440B1 (en) 2003-09-30 2005-04-05 Asml Holding N.V. Methods and systems to compensate for a stitching disturbance of a printed pattern in a maskless lithography system utilizing overlap of exposure zones with attenuation of the aerial image in the overlap region
US7410736B2 (en) 2003-09-30 2008-08-12 Asml Holding N.V. Methods and systems to compensate for a stitching disturbance of a printed pattern in a maskless lithography system not utilizing overlap of the exposure zones
US7023526B2 (en) 2003-09-30 2006-04-04 Asml Holding N.V. Methods and systems to compensate for a stitching disturbance of a printed pattern in a maskless lithography system utilizing overlap without an explicit attenuation
US7433535B2 (en) * 2003-09-30 2008-10-07 Hewlett-Packard Development Company, L.P. Enhancing text-like edges in digital images
US7003758B2 (en) * 2003-10-07 2006-02-21 Brion Technologies, Inc. System and method for lithography simulation
US7842926B2 (en) 2003-11-12 2010-11-30 Micronic Laser Systems Ab Method and device for correcting SLM stamp image imperfections
US7153616B2 (en) * 2004-03-31 2006-12-26 Asml Holding N.V. System and method for verifying and controlling the performance of a maskless lithography tool
JP2005300807A (ja) * 2004-04-09 2005-10-27 Pentax Corp 描画装置
JP2005300812A (ja) * 2004-04-09 2005-10-27 Pentax Corp 描画装置
US7573599B2 (en) * 2004-05-20 2009-08-11 Primax Electronics Ltd. Method of printing geometric figures
JP4221594B2 (ja) * 2004-05-25 2009-02-12 セイコーエプソン株式会社 色情報取得装置
US7739577B2 (en) * 2004-06-03 2010-06-15 Inphase Technologies Data protection system
US7407252B2 (en) * 2004-07-01 2008-08-05 Applied Materials, Inc. Area based optical proximity correction in raster scan printing
US7529421B2 (en) * 2004-07-01 2009-05-05 Applied Materials, Inc. Optical proximity correction in raster scan printing based on corner matching templates
US7102733B2 (en) * 2004-08-13 2006-09-05 Asml Holding N.V. System and method to compensate for static and dynamic misalignments and deformations in a maskless lithography tool
US7713667B2 (en) 2004-11-30 2010-05-11 Asml Holding N.V. System and method for generating pattern data used to control a pattern generator
US7317510B2 (en) * 2004-12-27 2008-01-08 Asml Netherlands B.V. Lithographic apparatus and device manufacturing method
US7403865B2 (en) * 2004-12-28 2008-07-22 Asml Netherlands B.V. System and method for fault indication on a substrate in maskless applications
US7676782B2 (en) * 2004-12-29 2010-03-09 Dhabalendu Samanta Efficient method for mapping a logic design on field programmable gate arrays
JP4638826B2 (ja) * 2005-02-04 2011-02-23 富士フイルム株式会社 描画装置及び描画方法
EP1696273B1 (en) * 2005-02-23 2008-08-06 ASML MaskTools B.V. Method and apparatus for optimising illumination for full-chip layer
US7209216B2 (en) * 2005-03-25 2007-04-24 Asml Netherlands B.V. Lithographic apparatus and device manufacturing method utilizing dynamic correction for magnification and position in maskless lithography
US7209275B2 (en) * 2005-06-30 2007-04-24 Asml Holding N.V. Method and system for maskless lithography real-time pattern rasterization and using computationally coupled mirrors to achieve optimum feature representation
JP4617210B2 (ja) * 2005-07-13 2011-01-19 日立ビアメカニクス株式会社 描画装置及びそれを搭載した露光装置
JP2007025394A (ja) * 2005-07-19 2007-02-01 Fujifilm Holdings Corp パターン形成方法
US7495679B2 (en) * 2005-08-02 2009-02-24 Kolorific, Inc. Method and system for automatically calibrating a color display
US7528932B2 (en) * 2005-12-21 2009-05-05 Micronic Laser Systems Ab SLM direct writer
TWI432908B (zh) * 2006-03-10 2014-04-01 Mapper Lithography Ip Bv 微影系統及投射方法
US7508491B2 (en) * 2006-04-12 2009-03-24 Asml Netherlands B.V. Lithographic apparatus and device manufacturing method utilized to reduce quantization influence of datapath SLM interface to dose uniformity
DE102006019963B4 (de) * 2006-04-28 2023-12-07 Envisiontec Gmbh Vorrichtung und Verfahren zur Herstellung eines dreidimensionalen Objekts durch schichtweises Verfestigen eines unter Einwirkung von elektromagnetischer Strahlung verfestigbaren Materials mittels Maskenbelichtung
US7751627B2 (en) * 2006-07-31 2010-07-06 Hewlett-Packard Development Company, L.P. Image dominant line determination and use
US20080036864A1 (en) * 2006-08-09 2008-02-14 Mccubbrey David System and method for capturing and transmitting image data streams
US20080151049A1 (en) * 2006-12-14 2008-06-26 Mccubbrey David L Gaming surveillance system and method of extracting metadata from multiple synchronized cameras
US7859537B2 (en) * 2007-01-23 2010-12-28 Microsoft Corporation Evaluation of self-intersecting vector graphics objects via planar map profiles
WO2008103850A2 (en) * 2007-02-21 2008-08-28 Pixel Velocity, Inc. Scalable system for wide area surveillance
US7903104B2 (en) * 2007-03-21 2011-03-08 Spatial Photonics, Inc. Spatial modulator display system using two memories and display time slices having differing times
US8009270B2 (en) * 2007-03-22 2011-08-30 Asml Netherlands B.V. Uniform background radiation in maskless lithography
US20090086023A1 (en) * 2007-07-18 2009-04-02 Mccubbrey David L Sensor system including a configuration of the sensor as a virtual sensor device
US7707539B2 (en) * 2007-09-28 2010-04-27 Synopsys, Inc. Facilitating process model accuracy by modeling mask corner rounding effects
US8594384B2 (en) 2007-11-30 2013-11-26 Hewlett-Packard Development Company, L.P. Method and system for measuring text-rendering quality
CN101952888B (zh) * 2007-12-21 2013-10-09 法国电信 一种具有合适的窗口的基于变换的编码和解码方法
TWI388202B (zh) * 2008-08-25 2013-03-01 Chunghwa Picture Tubes Ltd 影像灰階分佈之統計裝置及其方法
CN102187665A (zh) * 2008-09-04 2011-09-14 独立行政法人科学技术振兴机构 帧频变换装置、及其对应点推测装置、对应点推测方法及对应点推测程序
US9405203B2 (en) 2008-09-23 2016-08-02 Applied Materials, Inc. Pixel blending for multiple charged-particle beam lithography
US9025136B2 (en) * 2008-09-23 2015-05-05 Applied Materials, Inc. System and method for manufacturing three dimensional integrated circuits
US8670106B2 (en) 2008-09-23 2014-03-11 Pinebrook Imaging, Inc. Optical imaging writer system
US8253923B1 (en) 2008-09-23 2012-08-28 Pinebrook Imaging Technology, Ltd. Optical imaging writer system
US20100142838A1 (en) * 2008-12-05 2010-06-10 Micronic Laser Systems Ab Gradient assisted image resampling in micro-lithographic printing
US8893061B2 (en) * 2009-01-30 2014-11-18 Synopsys, Inc. Incremental concurrent processing for efficient computation of high-volume layout data
US8065638B2 (en) * 2009-01-30 2011-11-22 Synopsys, Inc. Incremental concurrent processing for efficient computation of high-volume layout data
JP5178662B2 (ja) * 2009-07-31 2013-04-10 富士フイルム株式会社 画像処理装置及び方法、データ処理装置及び方法、並びにプログラム
JP5506272B2 (ja) 2009-07-31 2014-05-28 富士フイルム株式会社 画像処理装置及び方法、データ処理装置及び方法、並びにプログラム
WO2011060385A1 (en) * 2009-11-13 2011-05-19 Pixel Velocity, Inc. Method for tracking an object through an environment across multiple cameras
US8539395B2 (en) 2010-03-05 2013-09-17 Micronic Laser Systems Ab Method and apparatus for merging multiple geometrical pixel images and generating a single modulator pixel image
CN101799635A (zh) * 2010-03-16 2010-08-11 芯硕半导体(中国)有限公司 一种无掩模光刻技术的曝光方法
KR101011463B1 (ko) * 2010-09-10 2011-01-27 문혜숙 구이기
JP5803184B2 (ja) * 2010-11-19 2015-11-04 株式会社リコー 画像投影装置、メモリアクセス方法
KR101474894B1 (ko) * 2010-12-20 2014-12-19 에이에스엠엘 네델란즈 비.브이. 리소그래피 장치의 프로그램가능 패터닝 디바이스를 제어하는 방법, 디바이스 제조방법, 및 리소그래피 장치
KR101042970B1 (ko) * 2010-12-20 2011-06-20 문혜숙 구이기
CN102184515B (zh) * 2011-04-13 2013-02-06 合肥芯硕半导体有限公司 一种在fpga中实现梯形图填充的方法
CN102354327B (zh) * 2011-05-31 2014-12-10 合肥芯硕半导体有限公司 一种扫描式无掩膜光刻机的数据处理方法
JP2013091222A (ja) * 2011-10-25 2013-05-16 Canon Inc 画像形成処理装置及び画像処理方法
US9197713B2 (en) * 2011-12-09 2015-11-24 Google Inc. Method and apparatus for pre-fetching remote resources for subsequent display on a mobile computing device
EP2608084B1 (en) * 2011-12-22 2015-03-18 Airbus Operations S.L. Heterogeneous parallel systems for accelerating simulations based on discrete grid numerical methods
EP2806451B1 (en) * 2012-01-18 2023-01-25 Nikon Corporation Drive method for spatial light modulator, method for generating pattern for exposure, and exposure method and device
JP6128744B2 (ja) * 2012-04-04 2017-05-17 キヤノン株式会社 描画装置、描画方法、および、物品の製造方法
US8745550B2 (en) * 2012-07-09 2014-06-03 Taiwan Semiconductor Manufacturing Company, Ltd. Fracture aware OPC
JP6557943B2 (ja) * 2014-01-15 2019-08-14 オムロン株式会社 画像照合装置、画像センサ、処理システム、画像照合方法
EP2913838B1 (en) 2014-02-28 2018-09-19 IMS Nanofabrication GmbH Compensation of defective beamlets in a charged-particle multi-beam exposure tool
US9570195B2 (en) * 2014-02-28 2017-02-14 Texas Instruments Incorporated On chip characterization of timing parameters for memory ports
CN103777474B (zh) * 2014-03-04 2016-03-23 苏州大学 一种并行激光直写系统及光刻方法
US9443699B2 (en) 2014-04-25 2016-09-13 Ims Nanofabrication Ag Multi-beam tool for cutting patterns
EP2950325B1 (en) 2014-05-30 2018-11-28 IMS Nanofabrication GmbH Compensation of dose inhomogeneity using overlapping exposure spots
JP6890373B2 (ja) * 2014-07-10 2021-06-18 アイエムエス ナノファブリケーション ゲーエムベーハー 畳み込みカーネルを使用する粒子ビーム描画機における結像偏向の補償
CN104240195B (zh) * 2014-08-20 2017-01-18 京东方科技集团股份有限公司 一种基于虚拟算法的模型建立方法和系统
US9568907B2 (en) 2014-09-05 2017-02-14 Ims Nanofabrication Ag Correction of short-range dislocations in a multi-beam writer
JP6395219B2 (ja) 2015-01-27 2018-09-26 日本電気株式会社 ネットワークシステム
KR102404639B1 (ko) * 2015-02-02 2022-06-03 삼성전자주식회사 전자 빔 노광 방법 및 그를 포함하는 기판 제조 방법
CN105989589B (zh) * 2015-02-09 2019-01-18 上海微电子装备(集团)股份有限公司 一种掩模图形灰度化方法
US9653263B2 (en) 2015-03-17 2017-05-16 Ims Nanofabrication Ag Multi-beam writing of pattern areas of relaxed critical dimension
EP3096342B1 (en) 2015-03-18 2017-09-20 IMS Nanofabrication AG Bi-directional double-pass multi-beam writing
US10410831B2 (en) 2015-05-12 2019-09-10 Ims Nanofabrication Gmbh Multi-beam writing using inclined exposure stripes
CN105204298B (zh) * 2015-09-30 2017-06-30 合肥芯碁微电子装备有限公司 一种用于直写式光刻机图形发生器的凹四边形fpga硬件填充方法
JP6679933B2 (ja) * 2016-01-05 2020-04-15 株式会社ニューフレアテクノロジー 描画データ作成方法
WO2017182235A1 (en) * 2016-04-22 2017-10-26 Asml Netherlands B.V. Determination of stack difference and correction using stack difference
US10325756B2 (en) 2016-06-13 2019-06-18 Ims Nanofabrication Gmbh Method for compensating pattern placement errors caused by variation of pattern exposure density in a multi-beam writer
US10262393B2 (en) * 2016-12-29 2019-04-16 Intel Corporation Multi-sample anti-aliasing (MSAA) memory bandwidth reduction for sparse sample per pixel utilization
US10325757B2 (en) 2017-01-27 2019-06-18 Ims Nanofabrication Gmbh Advanced dose-level quantization of multibeam-writers
US9908324B1 (en) 2017-02-27 2018-03-06 Eastman Kodak Company Printing with overlapping printheads
US10489877B2 (en) * 2017-04-24 2019-11-26 Intel Corporation Compute optimization mechanism
US10522329B2 (en) 2017-08-25 2019-12-31 Ims Nanofabrication Gmbh Dose-related feature reshaping in an exposure pattern to be exposed in a multi beam writing apparatus
US11569064B2 (en) 2017-09-18 2023-01-31 Ims Nanofabrication Gmbh Method for irradiating a target using restricted placement grids
EP3518272A1 (en) * 2018-01-09 2019-07-31 IMS Nanofabrication GmbH Non-linear dose- and blur-dependent edge placement correction
US10651010B2 (en) * 2018-01-09 2020-05-12 Ims Nanofabrication Gmbh Non-linear dose- and blur-dependent edge placement correction
US10840054B2 (en) 2018-01-30 2020-11-17 Ims Nanofabrication Gmbh Charged-particle source and method for cleaning a charged-particle source using back-sputtering
KR102160092B1 (ko) * 2018-09-11 2020-09-25 스노우 주식회사 레이어드 마스크와 룩업테이블을 이용한 이미지 처리 방법 및 시스템
US10495979B1 (en) 2019-02-19 2019-12-03 Applied Materials, Inc. Half tone scheme for maskless lithography
US10571809B1 (en) 2019-02-19 2020-02-25 Applied Materials, Inc. Half tone scheme for maskless lithography
US11099482B2 (en) 2019-05-03 2021-08-24 Ims Nanofabrication Gmbh Adapting the duration of exposure slots in multi-beam writers
TWI730332B (zh) * 2019-05-27 2021-06-11 瑞昱半導體股份有限公司 處理系統與控制方法
CN112015258B (zh) * 2019-05-31 2022-07-15 瑞昱半导体股份有限公司 处理系统与控制方法
KR20210132599A (ko) 2020-04-24 2021-11-04 아이엠에스 나노패브릭케이션 게엠베하 대전 입자 소스
GB2595696B (en) * 2020-06-04 2022-12-28 Envisics Ltd Forming a hologram of a target image for projection using data streaming
DE102020120906A1 (de) * 2020-08-07 2022-02-10 Infineon Technologies Ag Verfahren zum Bestimmen eines Torsionswinkels eines Spiegelkörpers einer MEMS-Vorrichtung
EP4208744A1 (en) * 2020-09-03 2023-07-12 Nil Technology ApS Diffractive optical elements and master tools for producing the diffractive optical elements
JP2022053208A (ja) * 2020-09-24 2022-04-05 株式会社ニューフレアテクノロジー データ生成方法、荷電粒子ビーム照射装置及びプログラム
CN112508903B (zh) * 2020-12-01 2022-04-19 电子科技大学 一种卫星望远镜镜片表面疵病轮廓检测方法
US11893741B2 (en) * 2021-06-07 2024-02-06 Fujifilm Healthcare Americas Corporation Subpixel-based image region of interest rendering
CN113654461A (zh) * 2021-08-24 2021-11-16 凌云光技术股份有限公司 一种去除深度图像中局外点的圆锥拟合方法及装置
CN116758847A (zh) * 2023-08-16 2023-09-15 南京国兆光电科技有限公司 一种双基色像素排布结构及显示装置
CN117572632B (zh) * 2024-01-17 2024-04-02 中国科学院长春光学精密机械与物理研究所 一种适用于金字塔波前传感器的离散调制方法、系统

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3644047A (en) * 1969-05-08 1972-02-22 Gc Optronics Inc Apparatus and method of simultaneously inspecting a plurality of surfaces of a body by holographic interferometry
US4425417A (en) * 1979-09-17 1984-01-10 Ingalls Marjorie D Method for preparation of a color proof from a set of color separation films, masks or the like
US4758965A (en) * 1985-10-09 1988-07-19 International Business Machines Corporation Polygon fill processor
US4879605A (en) 1988-02-29 1989-11-07 Ateq Corporation Rasterization system utilizing an overlay of bit-mapped low address resolution databases
US4945351A (en) 1988-05-23 1990-07-31 Hewlett-Packard Company Technique for optimizing grayscale character displays
US4908780A (en) 1988-10-14 1990-03-13 Sun Microsystems, Inc. Anti-aliasing raster operations utilizing sub-pixel crossing information to control pixel shading
US5103101A (en) 1991-03-04 1992-04-07 Etec Systems, Inc. Multiphase printing for E-beam lithography
US5278949A (en) 1991-03-12 1994-01-11 Hewlett-Packard Company Polygon renderer which determines the coordinates of polygon edges to sub-pixel resolution in the X,Y and Z coordinates directions
US5586199A (en) * 1991-10-02 1996-12-17 Fujitsu Limited Method for determining orientation of contour line segment in local area and for determining straight line and corner
EP0562424B1 (en) 1992-03-25 1997-05-28 Texas Instruments Incorporated Embedded optical calibration system
US5673376A (en) 1992-05-19 1997-09-30 Eastman Kodak Company Method and apparatus for graphically generating images of arbitrary size
JPH06222747A (ja) * 1992-10-08 1994-08-12 Fujitsu Isotec Ltd フォント圧縮装置及びフォント復元装置
JP3331339B2 (ja) 1992-11-02 2002-10-07 アプライド・マテリアルズ・インコーポレーテッド パターン発生装置用のラスタライザ
DE4316847A1 (de) * 1993-05-19 1994-11-24 Philips Patentverwaltung Verfahren zum Entzerren von Röntgenaufnahmen und Anordnung zur Durchführung des Verfahrens
GB2278524B (en) * 1993-05-28 1997-12-10 Nihon Unisys Ltd Method and apparatus for rendering visual images employing area calculation and blending of fractional pixel lists for anti-aliasing and transparency
US5477272A (en) * 1993-07-22 1995-12-19 Gte Laboratories Incorporated Variable-block size multi-resolution motion estimation scheme for pyramid coding
CA2128858A1 (en) * 1993-10-28 1995-04-29 Douglas N. Curry Two dimensional linear interpolation with slope output for a hyperacuity printer
JP3313221B2 (ja) * 1993-12-28 2002-08-12 松下電器産業株式会社 画像生成方法及び画像生成装置
US5666150A (en) * 1993-12-29 1997-09-09 Eastman Kodak Company Non-uniformity correction for LED printhead in electrophotographic gray scale printing
US5589851A (en) * 1994-03-18 1996-12-31 Ductus Incorporated Multi-level to bi-level raster shape converter
US5504504A (en) 1994-07-13 1996-04-02 Texas Instruments Incorporated Method of reducing the visual impact of defects present in a spatial light modulator display
US5684510A (en) 1994-07-19 1997-11-04 Microsoft Corporation Method of font rendering employing grayscale processing of grid fitted fonts
US6072510A (en) * 1994-11-23 2000-06-06 Compaq Computer Corporation Anti-aliasing apparatus and method using pixel subset analysis and center pixel correction including specialized sample window
US5594854A (en) 1995-03-24 1997-01-14 3Dlabs Inc. Ltd. Graphics subsystem with coarse subpixel correction
US5801708A (en) * 1995-06-06 1998-09-01 Hewlett-Packard Company MIP map texture storage by dividing and allocating among multiple blocks
JPH0927028A (ja) * 1995-07-07 1997-01-28 Dainippon Screen Mfg Co Ltd 多階調画像の修正装置
US5754618A (en) * 1995-12-22 1998-05-19 Matsushita Electric Industrial Image processing apparatus and image processing method for favorably enhancing continuous boundaries which are affected by noise
US5701365A (en) 1996-06-21 1997-12-23 Xerox Corporation Subpixel character positioning with antialiasing with grey masking techniques
US6339479B1 (en) * 1996-11-22 2002-01-15 Sony Corporation Video processing apparatus for processing pixel for generating high-picture-quality image, method thereof, and video printer to which they are applied
US6148117A (en) 1996-12-27 2000-11-14 Hewlett-Packard Company Image processing system with alterable local convolution kernel
US6188427B1 (en) 1997-04-23 2001-02-13 Texas Instruments Incorporated Illumination system having an intensity calibration system
US6201545B1 (en) 1997-09-23 2001-03-13 Ati Technologies, Inc. Method and apparatus for generating sub pixel masks in a three dimensional graphic processing system
JP3397101B2 (ja) 1997-10-29 2003-04-14 株式会社日立製作所 欠陥検査方法および装置
US6611241B1 (en) * 1997-12-02 2003-08-26 Sarnoff Corporation Modular display system
US6525723B1 (en) * 1998-02-17 2003-02-25 Sun Microsystems, Inc. Graphics system which renders samples into a sample buffer and generates pixels in response to stored samples at different rates
US6850236B2 (en) * 1998-02-17 2005-02-01 Sun Microsystems, Inc. Dynamically adjusting a sample-to-pixel filter in response to user input and/or sensor input
US6496187B1 (en) 1998-02-17 2002-12-17 Sun Microsystems, Inc. Graphics system configured to perform parallel sample to pixel calculation
SE9800665D0 (sv) * 1998-03-02 1998-03-02 Micronic Laser Systems Ab Improved method for projection printing using a micromirror SLM
WO1999066449A1 (en) * 1998-06-19 1999-12-23 Equator Technologies, Inc. Decoding an encoded image having a first resolution directly into a decoded image having a second resolution
US6542171B1 (en) * 1998-07-08 2003-04-01 Nippon Telegraph Amd Telephone Corporation Scheme for graphical user interface using polygonal-shaped slider
US6978045B1 (en) * 1998-10-02 2005-12-20 Minolta Co., Ltd. Image-processing apparatus
EP1026659A3 (en) * 1999-02-01 2002-01-30 Sharp Kabushiki Kaisha Character display apparatus, character display method, and recording medium
AUPQ377599A0 (en) * 1999-10-29 1999-11-25 Canon Kabushiki Kaisha Colour clamping
JP3485052B2 (ja) * 1999-12-16 2004-01-13 日本電気株式会社 参照画像作成方法、パターン検査装置及び参照画像作成プログラムを記録した記録媒体
US6879416B2 (en) * 2000-04-27 2005-04-12 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and storage medium
WO2001093303A2 (en) 2000-06-01 2001-12-06 Applied Materials, Inc. High throughput multipass printing with lithographic quality
US7136081B2 (en) * 2001-05-25 2006-11-14 Nvidia Corporation System and method of line sampling object scene information
US6829382B2 (en) * 2001-06-13 2004-12-07 Shih-Jong J. Lee Structure-guided automatic alignment for image processing
US7302111B2 (en) * 2001-09-12 2007-11-27 Micronic Laser Systems A.B. Graphics engine for high precision lithography
US6618185B2 (en) 2001-11-28 2003-09-09 Micronic Laser Systems Ab Defective pixel compensation method

Also Published As

Publication number Publication date
KR100800240B1 (ko) 2008-02-01
CN1854905A (zh) 2006-11-01
CN1904738A (zh) 2007-01-31
KR20040044914A (ko) 2004-05-31
US7715641B2 (en) 2010-05-11
WO2003023488A1 (en) 2003-03-20
CN1854902A (zh) 2006-11-01
JP2005502909A (ja) 2005-01-27
EP1425623A1 (en) 2004-06-09
CN100465796C (zh) 2009-03-04
US7302111B2 (en) 2007-11-27
CN100480865C (zh) 2009-04-22
CN1585908A (zh) 2005-02-23
KR20070091697A (ko) 2007-09-11
CN1866131A (zh) 2006-11-22
CN1854890A (zh) 2006-11-01
US7646919B2 (en) 2010-01-12
US20030160980A1 (en) 2003-08-28
CN1854906A (zh) 2006-11-01
CN1869821A (zh) 2006-11-29
KR20070093465A (ko) 2007-09-18
US20080080782A1 (en) 2008-04-03
CN1862388A (zh) 2006-11-15
US20080074700A1 (en) 2008-03-27
CN100492094C (zh) 2009-05-27
CN1854903A (zh) 2006-11-01
KR20070093467A (ko) 2007-09-18
CN100474120C (zh) 2009-04-01
KR20070093468A (ko) 2007-09-18
CN1854904A (zh) 2006-11-01

Similar Documents

Publication Publication Date Title
KR100800240B1 (ko) 마이크로미러 어레이에서 기하 형태를 개별 미러들에 대한 구동 전압으로 변환하는 방법
US5533170A (en) Rasterizer for a pattern generation apparatus
US7006110B2 (en) Determining a coverage mask for a pixel
EP2359192B1 (en) Gradient-assisted image resampling for microlithography
US4879605A (en) Rasterization system utilizing an overlay of bit-mapped low address resolution databases
Theoharis et al. Graphics and visualization: principles & algorithms
US7842926B2 (en) Method and device for correcting SLM stamp image imperfections
US7328425B2 (en) Method and device for correcting SLM stamp image imperfections
US9569868B2 (en) Generating Voronoi treemaps
JP3286796B2 (ja) 必要な記憶装置の量を低減する方法および画像作成装置
US20210344944A1 (en) Adaptive Pixel Sampling Order for Temporally Dense Rendering
EP1682934B1 (en) Method and device for correcting slm stamp image imperfections
US20200312010A1 (en) Reconstruction for temporally dense ray trace rendering

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application