KR920006746B1 - 컴퓨터 시스템 - Google Patents

컴퓨터 시스템 Download PDF

Info

Publication number
KR920006746B1
KR920006746B1 KR1019900000662A KR900000662A KR920006746B1 KR 920006746 B1 KR920006746 B1 KR 920006746B1 KR 1019900000662 A KR1019900000662 A KR 1019900000662A KR 900000662 A KR900000662 A KR 900000662A KR 920006746 B1 KR920006746 B1 KR 920006746B1
Authority
KR
South Korea
Prior art keywords
window
value
depth
content
new
Prior art date
Application number
KR1019900000662A
Other languages
English (en)
Other versions
KR900013418A (ko
Inventor
케이쓰 루크스 래리
오몬드 심프슨 리챠드
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
하워드 지. 피거로아
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션, 하워드 지. 피거로아 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR900013418A publication Critical patent/KR900013418A/ko
Application granted granted Critical
Publication of KR920006746B1 publication Critical patent/KR920006746B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Image Generation (AREA)
  • Digital Computer Display Output (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

내용 없음.

Description

컴퓨터 시스템
제1도는 본 발명을 실행하는데 적용될 수 있는 종래 컴퓨터 시스템의 일반적인 개략도.
제2도는 본 발명을 실행하는데 적용될 수 있는 컴퓨터 시스템의 인터액티브 디스플레이 부분의 개략도.
제3도는 본 발명에 사용되기 위한 인터액티브 디스플레이 모니터상에서 최소한 부분적으로 오버래핑되는복수의 윈도우 형성에 관련된 논리 유닛의 콤비네이션 도해도.
제4a도는 스크린 디스플레이상에서 최소한 부분적으로 오버래핑되는 복수 윈도우의 재배열 도해도.
제4b도는 최상부 윈도우가 저부로 이동하였을때, 부분적으로 오버래핑되는 제4a도의 복수 윈도우의 재배열 도해도.
제5도는 본 발명의 실행에 사용될 수 있는 디스플레이 어댑터의 개략도.
제6도는 본 발명의 한 실시예에 사용될 수 있는 Z-버퍼 시스템의 개략도.
제7a도는 스크린상에 표시되는 내용의 깊이를 나타내는 픽셀값의 자형 격자와 스크린 디스플레이상에서 최소한 부분적으로 오버래핑되는 윈도우의 스택의 상대 위치 도해도.
제7b도는 본 발명의 제1실시예에 있어서 윈도우 매니저에 의해 발생되는 스크린상에 표시되는 내용의 깊이 변화를 나타내는 픽셀값의 자형 격자와, 제7a도에 있어서의 윈도우 재배열의 스크린 디스플레이 도해도
제8도는 본 발명을 실행하기 위해 사용될 수 있는 Z-버퍼 시스템의 제2실시예의 개략도.
제9a도는 표시되는 내용의 윈도우 식별값을 나타내는 픽셀의 격자와, 디스플레이 모니터의 스크린상에서 최소한 부분적으로 오버래핑되는 복수의 윈도우의 상대 위치 도해도.
제9b도는 본 발명의 제2실시예에 있어서 윈도우 매니저에 의해 변경되는 스크린상에 표시되는 내용의 윈도우 식별값을 나타내는 픽셀의 자형 격자와, 제9a도의 재배열 윈도우의 스크린 디스플레이 도해도.
제10도는 본 발명을 실행하기 위해 사용될 수 있는 Z-버퍼 시스템의 제3실시예의 개략도.
제11a도는 스크린상에 표시되는 내용의 윈도우 식별값을 나타내는 픽셀의 자형 격자와, 디스플레이 모니터의 디스플레이 스크린상에서 최소한 부분적으로 오버래핑되는 복수의 윈도우 도해도.
제11b도는 본 발명의 제3실시예에 있어서 윈도우 매니저에 의해 변경되는 스크린상에 표시되는 내용의 윈도우 식별값의 변화를 나타내는 픽셀의 자형 격자와, 제11a도의 윈도우가 재배열되는 스크린 디스플레이도해도.
제12도는 본 발명을 실행하기 위해 사용될 수 있는 Z-버퍼 시스템의 제4실시예 개략도.
* 도면의 주요부분에 대한 부호의 설명
2 : 중앙처리장치 4 : 메모리
6 : 디스플레이 8 : 디스크
10 : 키보드 12 : 입력 유닛
14 : 입력 드라이버 16 : 응용 감시 유닛
18 : 디스플레이 매니저 20 : 디스플레이 모니터
22 : 디스플레이 어댑터 38 : 메모리
42 : 프레임 버퍼 44 : 디스플레이 콘트롤러
50 : 비교기
본 발명은 컴퓨터 디스플레이 윈도윙(windowing)에 관한 것이머, 특히, 소프트웨어-베이스 윈도우 매니저를 보조하기 위해 하드웨어-베이스 클리핑(clipping) 시스템을 제공하는 것에 관한 것이다.
최근, 데이타 처리기-제어 인터액티브(interactive) 디스플레이 단말기와 관련된 기술의 개발로, 오퍼레이터가 다수의 서류 또는 기록의 내용을 디스플레이 단말 스크린상에 동시에 디스플레이하게 되었다. 상기 서류 또는 기록의 내용은 통상 복수의 오버래핑 윈도우내에 디스플레이되며, 여기서, 각각의 윈도우는 특정서류 또는 특정 컴퓨터 파일의 내용을 디스플레이한다. 미합중국 특허 제4,586,035호 및 4,714,918호에는 상기 오버래핑 윈도우가 컴퓨터 시스템에 사용되는 방법이 기술되어 있다.
IBM RT-PC, 1987에 대한 X-Windows User Guide and Reference에 기술되어 있는 X-윈도우(IBM사의 상표명)와 같은 전형적인 윈도윙 시스템에 있어서, 단일 물질의 스크린이 다수의 윈도우를 "스페이스-멀티플렉스"형태로 디스플레이 하기 위해 사용된다. 상기 컴퓨터 시스템의 새로운 형태에 있어서, 다수의 응용 시스템이 컴퓨터에 의해 동시에 동작될 수 있다. 여기서, 각각의 응용 시스템은 통상 디스플레이스크린상에 하나 또는 그이상의 윈도우를 가지는 컴퓨터에 의해 동작된다. 통상, 상기 응용 시스템은 서로 독자적이며, 따라서, 한 스크린의 내용은 다른 스크린의 내용과는 무관하다. 윈도우는 다른 크기를 가지며, 부분 또는 전체적으로 오버랩된다.
윈도우는 통상 소프트웨어-베이스 디스플레이 매니저 시스템의 제어하에 있으며, 상기 시스템은 윈도우를 스택(stack)으로 나타나게 하여 윈도우의 전 순서가 깊이에 관련되게 한다. 예로서, 어떤 주어진 시간에서, 한 윈도우는 최상부에, 한 윈도우는 저부에, 나머지 윈도우들은 이들 사이에 순서대로 배치된다. 통상, 윈도우는 디스플레이 스크린의 전 디스플레이 영역을 차지하지 않으며, 다른 윈도우에 의해 부분 또는 전체적으로 가려지므로 윈도윙 능력을 가진 멀티-타스킨 컴퓨터 시스템에 의해 동작되는 응용 시스템은, 응용 시스템과 관련된 디스플레이를 발생시키기 위해 디스플레이 어댑터에 직접 기록되는 것을 허용하지 않는다.
대신에, 통상, 상기 컴퓨터 시스템에서의 응용 시스템은 데이타를 디스플레이 스크린에 전송하도록 윈도우 매니저에게 요구해야 한다. 소프트웨어-베이스 윈도우 매니저는, 응용 시스템에 대한 스크린상에 형성되는 부분 또는 윈도우 외부에 놓여지는 응용 시스템으로부터의 그래픽 또는 텍스트 출력의 부분을 폐기하며 출력 요구를 "클리핑"함으로 응용 시스템에 의한 윈도우에만 응용 시스템에 대한 출력이 기록되게 한다. 상기 클리핑은 소프트웨어-베이스 유틸리티 프로그램에 의해 통상 이행되며, 시간이 많이 소비된다.
최근에, 인터액티브 컴퓨터 그래픽 분야에 있어서, 현재 상태를 나타내는 복잡한 컴퓨터-발생 화상을 발생시키기 위해 소정의 데이타 처리를 가속시키는 기술에 있어서 상당한 진전이 있었다. 상기 기술은 제이.디.폴리 및 에이.반단의 에디슨-웨슬리,1982의 Fundamentals of Interactive Computer Graphics에 기술되어 있다. 3차원 인터액티브 컴퓨터 그래픽 분야에 통상 사용되는 한 기술은 "Z-버퍼"이다. 특히 Z-버퍼는 래스터-주사 디스플레이상에 컴퓨터 발생 화상을 보여줄때, 숨겨진 라인 및 표면을 제거하기 위해 사용되는 단순한 하드웨어 장치이다.
종래에, 인터액티브 컴퓨터 그래픽 시스템은 특정-목적의 컴퓨터를 사용하여 다수의 다각형으로 구성된 3차원 대상물의 모델을 발생시킨다. 상기 다각형은 독자적인 칼라 및 강도 정보를 가지는 것과 같이, 3차원공간에서 독자적인 위치 및 방향을 가진다. 컴퓨터 시스템에 의한 3차원 대상물의 디스플레이는 각 픽셀에 대한 칼라/강도값의 연산이 요구된다. 스크린상에 나타나는 대상물의 주어진 방향에 대해 디스플레이 스크린상의 픽셀은 대상물에서의 다각형보다 하나 더 큰 다각형으로부터 나타날 수 있다. 상기 시스템상에 디스플레이 되는 픽셀값은 해당 픽셀을 통한 시청자로부터의 시야 라인에서의 어떤 다른 다각형 전방에 있는 다각형으로부터 나타난다.
3차원 대상물의 화상이 상기 컴퓨터 그래픽 시스템에 디스플레이될때, 대상물을 조성하는 다각형은 어떤순서로 처리된다. 상기 순서는 다각형이 직면하는 자연수 분류 순서가 될 수 있으며, 즉, 대상물을 규정하는 데이타 구조가 구성되는 방법에 따르거나 또는 더욱 간단하게는 출력을 처리하는 방법에 따라 분류되기도 한다. 예로서, 다각형이 깊이(Z-값)에 따라 분류되어, 관찰자로부터 가장 멀리 멀어져 있는 다각형이 제1번째로 직면하게 된다. 상기 분류는 통상 컴퓨터 그래픽 시스템에 있어서, 분류된 순서로 다각형을 처리하며, 각 다각형에 대해 적결한 값을 상기 다각형에 의해 커버되는 픽셀내에 삽입시킴으로, 어떤 특정 장면이 스크린상에 디스플레이된다. 어떤 주어진 3차원 대상물에서 몇개의 다각형이 픽셀에 의해 규정된 스크린상의 포인트와 오버랩되는가에 따라, 픽셀은 다수번 기록될 수 있다. 다각형이 깊이에 의해 분류되므로,어떤 픽셀에 기록된 최종값은 픽셀의 최근접 다각형에 대한 값이 된다. 즉, 관찰자에 최근접된 상기 다각형이 더 후방의 다각형을 가리운다.
깊이에 의한 다각형 분류는, 길이 처리시간 및 분류가 쉽지 않다는 점에서, 바람직하지 않다. 예로서, 3차원 공간에서 서로 교차하거나 복잡하게 오버랩되는 다각형은 하나의 Z-값에 의해 분류될 수 없다. 만약에 분류가 정확하게 이행되려한다면, 분류는 각 픽셀에 대해 행해져야할 필요가 있다. 만약 대상물이 회전하며, 백그라운드에 대해 이동하거나, 스크린에서 다른 대상물에 대해 이동하거나, 또는, 만약 관찰자의 시점이 변한다면, 분류는 다시 행해져야 한다.
상기 3차원 컴퓨터 그래픽 응용 시스템에 있어서, 칼라/강도값과 함께 각 픽셀에 대한 깊이 정보(Z-값)를 세이빙 시킴으로, Z-버퍼의 사용은 어떤 타입의 분류의 필요성을 피할 수 있다. 여기에 관해서는, 폴레이 및 반덴의 저서 페이지 560 및 561을 참조하면 된다. 따라서, Z-버퍼의 사용은, 어떤 순서로 처리되도록 다각형이 장면을 메이크-업 하는 것을 허용한다. 왜냐하면, 깊이 정보는 다각형보다는 픽셀에 대해 추적되기 때문이다. 따라서, 다각형의 다른 오버래핑 및 다각형의 인터섹팅은 컴퓨터 영상의 발생에 나쁜영향을 주지는 않는다.
분배된 디스플레이 표면을 가진 컴퓨터 시스템에 있어서, 윈도우의 갱신에 사용되는 소프트웨어 클리핑의 시간 소비에 관련된 단점은 종래의 디스플레이 어댑터에서의 윈도우에 대해 본 발명의 하드웨어-베이스 깊이 버퍼의 추가에 의해 극복될 수 있다. 본 발명은 또한, 컴퓨터 시스템에 의해 동작되는 다른 응용 시스템에 속하는 윈도우상의 내용이 확실하게 보존되는 동안에, 주어진 특정 응용 시스템이 컴퓨터 시스템의 디스플레이 어댑터에 직접 억세스되게 함으로, 윈도우를 갱신하거나 재배치시키는데 필요한 시간을 단축시킨다.
본 발명은 재생 버퍼 및 최소한 부분적으로 오버래핑되는 복수의 윈도우가 상부에 형성되는 스크린 디스플레이를 가진 인터액티브 디스플레이 단말기를 가진 컴퓨터 시스템에 있어서 윈도우를 갱신하며, 재배치하기 위한 개선된 방법 및 시스템을 제공하는 것이며, 여기서, 각 윈도우는 스크린의 잔존부상에 표시되는 내용과 다른 내용을 디스플레이한다. 상기 개선된 장치는 새로운 배열에 대한 현재 배열로부터의 기준 위치에대한 복수의 오버래핑 윈도우의 깊이 위치의 재배열을 요구하기 위한 입력 장치와, 복수의 오버래핑 윈도우 각각의 현재 깊이 위치를 감지하며, 깊이값을 복수의 오버래핑 윈도우 각각과 관련된 내용에 할당하기 위한윈도우 매니저를 포함한다. 입력 요구에 응답하여, 윈도우 매니저는 새로운 윈도우 배열에 대해 새로운 깊이 위치를 결정하며, 새로운 깊이 값을 입력 요구에 의해 영향을 받는 각 윈도우와 관련된 내용의 위치에 할당하며, 어떤 영향을 받는 응용 시스템이 입력 요구에 의해 영향을 받는 스크린상에 디스플레이되는 내용의 부분을 재전송하게 한다. 적절하게는, 각 윈도우에 관련된 내용은 특정 픽셀 어드레스를 가진 픽셀값의 배열로 규정된다.
컴퓨터 시스템은 스크린상에 현재 디스플레이되는 각각의 오버래핑 스크린과 관련된 내용의 깊이값을 수신하며 기억하기 위한 깊이 버퍼를 포함한다. 영향을 받는 응용 시스템으로부터의 내용 및 입력 요구에 응답하여 상기 내용과 관련된 깊이값의 재전송에 응답하여, 깊이 버퍼에서의 비교기는 새롭게 전송되는 내용에 대한 깊이값을 스크린상에 현재 디스플레이되는 내용에 대한 깊이 값과 비교한다. 만약, 새로운 내용이, 시청자에 근접된 윈도우 또는 동일 윈도우와 관련된 깊이값을 가지면, 버퍼는 재생 버퍼에 스크린을 재생하기 위해 새로운 내용을 기억하게 하며, 깊이 버퍼에는 새로운 깊이값을 기억하게 한다.
본 발명은 다수의 변형 하드웨어 형태에 사용될 수 있다. 한 형태에 있어서, 윈도우내의 내용과 관련된깊이 값은 윈도우내의 내용의 깊이값 및 윈도우 깊이 위치의 조합값이 된다. 깊이 버퍼는, 재생 버퍼 및 깊이 버퍼가 새로운 내용 및 깊이값을 각각 기억해야하는가를 결정하기 위해, 새로운 조합값과 현재의 조합값을 비교한다.
또다른 실시예에 있어서, 깊이버퍼는 각 윈도우 식별에 관련된 현재의 깊이 위치를 기억하는 윈도우 깊이표를 포함한다. 상기 실시예에 있어서, 입력 요구에 응답하여, 윈도우 매니저는 윈도우 깊이표에 있는 각윈도우 식별값에 대한 새로운 픽셀 깊이값을 출력한다. 비교기는 윈도우 깊이표로부터, 깊이 버퍼에서의 각픽셀 밀도에 대한 윈도우 식별의 깊이값 및 새로운 윈도우 식별에 대한 깊이값을 판독하여, 윈도우 데이블표로부터 얻어지는 각각의 깊이값을 비교한다.
본 발명의 또다른 실시예에 있어서, 깊이 버퍼는 제1 및 2비교기를 포함하며, 여기서, 제1비교기는 새로운 윈도우 식별값을 현재의 윈도우 식별값과 비교하며, 제2비교기는 현재의 각 윈도우 식별값과 관련된 픽셀 깊이값을 새로운 윈도우 식별값과 관련된 새로운 픽셀 깊이값과 비교한다. 만약 제1비교기가, 현재의 윈도우 식별값과 새로운 윈도우의 식별값이 동일한 것을 결정하며, 제2비교기가, 새로운 픽셀값이 현재의 픽셀값 이하인 것을 결정하면, 제1비교기 및 제2비교기의 출력에 결합된 논리유닛은 재생 버퍼에 새로운 픽셀값을 기억하게 하며, 깊이 버퍼에 새로운 윈도우 식별값을 기억하게 한다.
또다른 실시예에 있어서, 깊이 버퍼는 제1버퍼 어레이 및 제2버퍼 어레이를 포함하며, 여기서, 제1버퍼 어레이는 오버래핑 윈도우상에 디스플레이 되는 내용에 대한 현재의 윈도우 식별값을 기억하며, 제2버퍼 어레이는 오버래핑 윈도우상에 디스플레이 되는 내용의 현재 픽셀 깊이값을 기억한다. 깊이 버퍼는 새로운 윈도우 식별값과 현재의 윈도우 식별값을 비교하기 위한 제1버퍼 어레이에 결합된 제1비교기를 포함하며, 여기서, 현재 및 새로운 윈도우 식별값이 동일하면, 제1비교기는 실행가능 신호를 출력시킨다. 제2비교기는 제2버퍼 어레이에 결합되어 제1비교기로부터 실행가능 신호를 수신하면, 현재의 픽셀 깊이값을 새로운 픽셀 깊이값과 비교한다. 만약, 새로운 픽셀 깊이값이 현재의 픽셀 깊이값 이하이면, 제2비교기는 제1및 제2버퍼 어레이에 신호를 출력시켜, 제1버퍼 어레이가 새로운 윈도우 식별값을 기억하게 하며, 제2버퍼 어레이는 새로운 깊이값을 기억하게 한다.
복수의 오버래핑 윈도우내에 2차원 영상을 가능하게 하는 본 발명의 또다른 실시예에 있어서, 스크린상의 윈도우내의 내용과 관련된 깊이값은 단지 윈도우 식별값만 구비하며, 여기서, 깊이 버퍼는 현재 윈도우 식별값만 기억한다. 입력 요구에 응답하여, 윈도우 매니저는 깊이 버퍼에 새로운 윈도우 식별값을 출력하며, 여기서, 깊이 버퍼에서의 비교기는 새롭게 전송된 내용의 윈도우 식별값을 현재 디스플레이되는 내용의 윈도우 식별값과 비교한다. 만약, 새로운 윈도우 식별값이 동일 윈도우 또는 시청자에 최근접된 윈도우를 식별하면, 비교기는 재생 버퍼 및 깊이 버퍼에 신호를 출력시켜 재생 버퍼가 새로운 내용과 함께 스크린 디스플레이를 재생하기 위한 새로운 내용을 기억하도록 하며, 깊이 버퍼가 새로운 윈도우 식별값을 기억하도록한다.
이하, 제1도를 참조로 하여 본 발명을 더욱 상세하게 설명하기로 한다. 제1도는 본 발명의 방법을 이행하는데 적합한 종래 컴퓨터 시스템의 기본 소자를 나타낸 것이다. 종래 컴퓨터 시스템의 중앙처리장치(CPU2)는 모든 응용 프로그래밍이 기억되는 시스템 메모리(4)에 의해 지지된다. 최근의 종래 기술의 컴퓨터 시스템에 있어서, CPU(2)는 둘 또는 그 이상의 응용 프로그램을 동시에 실행할 수 있다. 메모리(4)와 조합되어 CPU(2)는 디스플레이 유닛(6)을 제어한다. 컴퓨터 시스템은 통상 추가의 디스크 기억장치(8)를 가진다. 시스템으로의 입력은 키보드(10)를 통해 이행되며, 상기 키보드는 특정 명령을 입력시키기 위해 사용될 수 있거나 또는 디스플레이 유닛(6)의 디스플레이 스크린상의 커서를 메뉴-베이스 명령으로 이동시키기 위해 사용될 수 있다. 또 입력 명령은 다른 입력 유닛(12) 예로서, 마우스로부터 수신될 수 있다. 상기컴퓨터 시스템에서의 소자는 시스템 버스(14)를 거쳐 상호 접속된다.
본 발명의 장치 및 방법을 이행하는데 적합한 컴퓨터 시스템은 2MB 또는 그 이상의 메모리 및 AIX(IBM 상표명) 오퍼레이팅 시스템의 버션 2.2 또는 그 이후 번호의 버션에 의해 지지되는 알 아이 에스 시(RISC, reduced instruction set architecture)에 따른 CPU를 가진 IBM RT를 포함한다.
어떤 실시예에 있어서, OS/2(IBM 상표명) 오퍼레이팅 시스템 및 1MB 또는 그 이상의 메모리 유닛에 의해 지지되는 종래의 인텔 80286 또는 80386 마이크로 프로세서를 가진 IBM PS/2(IBM 상표명)가 사용될 수 있다.
상기 컴퓨터 시스템에서의 시스템 논리 및 장치는 제2도 및 3도에 더욱 상세하게 도시되어 있다. 제2도에 있어서, 입력은 종래의 입력 어댑터(12)를 통해 제공될 수 있으며, 상기 입력 어댑터는 입력 드라이버(14)를 통해 컴퓨터 시스템에 접속되어 있으며, 본 발명을 이행하는 특정 데이타 처리 시스템에 입력 동작을 인터페이스 하는데 요구되는 종래의 장치 및 논리를 가진다. 드라이버(14)는 입력 어댑터로부터 수신되는 신호를 본 발명의 범위내에서 동작될 수 있는 데이타로 변환시키기 위해 사용된다.
본 발명에 요구되는 루틴 및 논리 동작은 응용 감시 유닛(16)에 의해 통상 감시된다. 디스플레이(6)에 대한 변화는 디스플레이 매니저(18)에 의해 제어되며, 상기 디스플레이 매니저는 디스플레이 어댑터(22)를 통해 디스플레이 모니터(20)와 통신한다. 디스플레이 어댑터(22)는 디스플레이 매니저로부터의 명령을 수용하거나 또는 디스플레이 모니터(20)에 의해 더욱 쉽게 사용될 수 있는 신호로 변환시킨다.
본 발명을 실행하기 위한 소프트웨어는 메모리(4)에 기억되며, CPU(2)의 제어하에 메모리(4)에 역시 기억되는 응용 감시 유닛(16)의 방향에 의해 실행된다. 상기 소프트웨어는 제3도를 참조로 하여 더욱 상세하게 설명하기로 한다.
최근의 컴퓨터 시스템에 있어서, 응용 시스템 "A" (18) 내지 "n "(20)으로 지정된 다수의 응용 시스템은 동시에 동작될 수 있다.
상기 응용 시스템 각각의 출력은 인터액티브 스크린 디스플레이 모니터(20)상에 형성되는 다른 윈도우 "A, B, C, D,···n", 제4도에서 참조번호(28, 30, 32, 34)로 표시상에 나타날 수 있다. 컴퓨터 시스템의 사용자는 입력 어댑터(12) 및 응용 시스템 A 및 n 각각에 대한 응용 시스템 사용자 인터페이스(22) 및 (24)에 대응하는 입력 드라이버(14)를 통해 각각의 응용 시스템과 인터페이스된다. 인터페이스는 종래의 에코 매니저를 포함하며, 상기 매니저는 특정 윈도우에 대해 디스플레이 변화를 야기시키는 입력 명령을 버스(20)를 거쳐 디스플레이 매니저(18)에 전달시킨다. 응용 감시 유닛(16)은 상기 다수의 각 윈도우 동작을 조정하며, 멀티플렉스하며 응용 인터페이스(26)를 통해 디스플레이 매니저(18)를 거쳐 제어를 행한다. 디스플레이 매니저(18)는 입력 드라이버(14)로부터 버스(20)를 통해 수신되는 입력의 결과인 오버래핑 윈도우의 상대 위치를 제어하기 위한 윈도우 매니저를 포함한다.
디스플레이 모니터(20) 및 디스플레이 어댑터(22)로 구성된 인터액티브 디스플레이(6)를 가진 컴퓨터 시스템에 있어서, 제4도에 도시된 바와 같이 모니터의 스크린상에 복수의 오버래핑 윈도우 A, B, C 및 D가 형성되며, 각각의 윈도우는 다른 응용 시스템 A, B, C 및 D로부터 발생되는 내용을 나타내며 상기 응용시스템은 CPU(2)에 의해 동시에 실행된다. 실제로, 각각의 응용 시스템은 스크린상에 윈도우를 가진다. 통상, 응용 시스템은 서로 독자적이며, 한 윈도우의 내용은 다른 응용 시스템이 소유하는 다른 윈도우의 내용과 무관하다. 윈도우는 제4도에 도시된 바와 같이, 다른 크기이며, 오버랩될 수 있다.
윈도우의 상대 위치를 변경시키기 위해, 사용자는 입력 유닛(12)을 통해 요구를 입력시킨다. 예로서, 사용자가 최상부 윈도우 A를 저부로 밀려고 하면, 윈도우 B가 새로운 최상부가 된다. 이때 윈도우 B는 전부볼 수 있으며, 윈도우 A에 의해 가려졌던 윈도우 C의 일부도 볼 수 있다. 윈도우의 전부 또는 일부가 볼수 있거나 또는 노출될때, 윈도우를 소유하는 응용 시스템은 윈도우 매니저에 의해 지정되어, 윈도우상에 나타나는 내용의 일부 또는 전부를 재생해야만 한다. 각 응용 시스템은 새롭게 노출된 윈도우의 부분을 재생하여야 한다. 선택적으로, 각 응용 시스템은 전 윈도우를 단순히 재기록될 수 있다.
본 실시예(제4도)에서, 윈도우 B(30)에 대한 응용 시스템은 최소한 윈도우 B의 좌측 상부를 재기록해야하며, 윈도우 C에 대한 응용 프로그램은 윈도우 C의 좌측 상부의 적은 부분을 동일하게 재기록해야 한다.각 윈도우가 전체 디스플레이 스크린을 점유하지 못하기 때문에, 다른 윈도우에 의해 부분 또는 전체적으로 가려질 수 있다.
각각의 응용 시스템은 디스플레이 어댑터(22)에 대해 직접 기록되는 것이 허용되지 않으므로 각 응용 시스템과 연관되어 디스플레이를 발생시킨다.
오히려, 응용 시스템 A, B, C 및 D 각각은 특정 응용 시스템상에 디스플레이 스크린의 일부를 재생시키기 위해 데이타를 디스플레이 어댑터(22)에 전송시키는 요구를 윈도우 매니저에 해야 한다. 따라서, 소프트웨어-베이스 윈도우 매니저는 다른 윈도우에 의해 부분 또는 전부가 가려지는 특정 응용 시스템에 대한 출력을 "클리핑"함으로 응용 시스템에 의해 소유되는 윈도우(S)에만 주어진 응용 시스템에 대한 출력이 기록되도록 한다. 종래 상기 클리핑은 소프트웨어에 의해서만 행하여졌으나 상당한 시간이 소요되었다.
각각의 응용 시스템 A, B, C 및 D로부터 출력되는 내용은 디스플레이 어댑터(22)의 동작을 제어하는 디스플레이 어댑터에서의 특정 처리기(36)에 버스(14)를 거쳐 전송된다. 특정 처리기(22)는 데이타를 기억하기 위한 관련 메모리(38)를 가진다. 처리기는 CPU(2)로부터 전송되는 내용을 디스플레이 스크린상의 특정포인트에 관련된 특정 픽셀 어드레스를 가진 2차원 픽셀값의 어레이로 변환시키며, 여기서, 다른 응용 시스템의 부분 또는 오버래핑 윈도우에 의해 가려지는 각 응용 시스템의 전송 내용의 부분은 항상 클리프 되어있다. 다음에, 특정 처리기는 버스(40)를 거쳐 변환된 형태로 프레임 또는 재생 버퍼(42)로 이동된다. 통상 RAM 어레이인 프레임 버퍼 또는 재생 버퍼(42)는 디스플레이 모니터(20)의 실제 스크린상에 나타나는 상대 위치에 디지탈 형태인 픽셀값을 기억한다. 다음에 상기 픽셀값은 디스플레이 제어기(44)에 의해 디스플레이 모니터(20)상에 내용의 표식을 주사하기 위해 사용되는 신호로 변환된다. 통상, 디스플레이는 매 1/30또는 1/60초마다 프레임 버퍼(42)에 배치되는 픽셀값을 재전송시킴으로 재생되어야 한다.
본 발명의 컴퓨터 시스템에 있어서, 특이한 Z-버퍼 서브 시스템이 디스플레이 어댑터(22)에 부가되어 컴퓨터 응용 시스템이 제공되는 동안에 윈도우 매니저가 직접 디스플레이 어댑터(22)에 억세스되도록 클리핑하는 소프트웨어의 양을 줄인다. 실제로, 소프트웨어-베이스 윈도우 매니저는 각각의 윈도우를 3차원 공간에서의 다각형으로 처리한다. 본 발명에 의한 소정의 특정 윈도윙 목적을 위해, 각각의 다각형은 백그라운드에 평행하며, 사용자의 시야 라인에 수직이다. 따라서, 단일 깊이값이 각 다각형에 사용된다. 따라서, 두개의 다각형 또는 "윈도우"가 동일 깊이를 가질 수는 없으므로, 픽셀의 값을 연산할때, 어느 다각형이 "전방"에 있는가에 대한 혼란은 절대 발생되지 않는다. 그러나, 본 발명은 각 윈도우에 나타나는 내용이 3차원 공간에 존재하는 내용으로 구성되는 윈도윙 시스템에 적용될 수 있다.
이하, 윈도우 매니저를 보조하기 위한 Z-버퍼 시스템(46)의 5개의 실시예를 상세하게 설명하기로 한다. 각 실시예에 있어서, 디스플레이 매니저(18)의 윈도우 매니저는 윈도우 A, B, C 및 D의 새로운 순서(최상부에서 저부까지)를 결정하며, 디스플레이 어댑터(22)에서의 Z-버퍼 시스템에 기억되어 있는 윈도우 깊이 엔트리를 조정하여, CPU(2)에 의해 동작되는 각 응용 시스템을 지정하여 윈도우의 전체 또는 일부가 재묘사되어야 한다. CPU(2)에 의해 동작되는 응용 시스템은 내용이 디스플레이 어댑터(22)를 통하게 하므로, 응용 시스템과 관련된 윈도우가 재묘사된다.
각 실시예에 있어서, Z-버퍼 시스템(46)은 "Z-버퍼 알고리즘"을 사용한다. Z-버퍼 시스템(46)에 사용되는 알고리즘은 다음과 같다.
1) 모든 픽셀값/강도값 C(X, Y)를 "백그라운드"에 대해 시작,
2) 모든 Z-버퍼값 Z(X, Y)를 가장 크게 나타낼 수 있는(가장 멀리 떨어져 있는) Z-값에 대해 시작,
3) 디스플레이 스크린상의 각 다각형(윈도우)에 대해 :
다각형에서의 각 픽셀 P(X, Y)에 대해 :
* 픽셀의 칼라/강도값인 Cp 계산;
* 픽셀의 z값인 Zp 계산 ;
* Zp가 Z(X,Y) 이하이면
'새로운 칼라/강도값 기억 : C(X, Y)←Cp
'새로운 Z-값 기억 : Z(X, Y)←Zp
제1실시예에 있어서(제6도), Z-버퍼 시스템(46)은 비교기(50) 및 Z-버퍼 어레이(51)를 구비하며, 스크린상의 내용에 대한 현재의 Z-버퍼 깊이값을 포함한다. 각각의 Z-버퍼값은 프레임 버퍼(42)에 의해 형성되는 2차원에서의 상대 위치에 기저를 둔 특정 픽셀 어드레스를 가진 픽셀 칼라/강도값과 특별히 관련된다. 존재하는 기억된 깊이값은 시청자로부터 통상 가장 먼위치인 "백그라운드" 기본 위치에 관련되어 스크린상에 형성되는 윈도우의 깊이 및 픽셀이 위치하는 윈도우내의 특정 픽셀의 깊이를 포함한다. Z-버퍼 어레이(51)내에 기억시키기 위해, 윈도우내의 픽셀 깊이를 윈도우 깊이와 연관시킴으로 깊이값이 형성된다. 예로서, 비교기(50)에 사용되기 위해 Z-버퍼 어레이(51)로부터의 존재하는 픽셀값을 레지스터(48)에 기억시키기 위해, 윈도우 깊이는 최상위 비트 위치(52)를 점유하며, 윈도우내의 픽셀 깊이는 최하위 비트 위치(53)내에 기억되어, 주어진 윈도우내의 모든 픽셀은 스택내의 낮은 윈도우와 관련된 모든 픽셀의 전방에 존재하는 것으로 고려된다. 그러나, 대부분의 응용 시스템에 대해, 윈도우내의 각 픽셀 깊이는 일정하다. 디스플레이 스크린상에 윈도우를 재배치시키기 위한 입력장치(12)를 통한 요구에 응답하여, 윈도우 매니저는 복수의 윈도우 A, B, C 및 D의 새로운 상대 깊이 위치를 정하며, 버퍼 깊이값을 프레임 버퍼(42)에서의 각 픽셀에 대해 할당하며, 디스플레이와 관련된 전 내용 또는 제안된 스크린 재배치에 의해 영향을 받는 최소한의 부분 내용을 재전송시키기 위해 각 응용 시스템의 디스플레이가 영향을 받게 한다.
다음에, 윈도우 매니저는 재생된 내용을 디스플레이 어댑터(22)에 전송시켜 레지스터(58)에 대한 대응 픽셀 어드레스 및 레지스터(54)에 대한 Z-버퍼 깊이값과 함께, 버퍼 레지스터(56)에 기억될 수 있는 픽셀값으로 변환되게 한다. 각각의 픽셀 어드레스에 대해, 종래의 비교기(60)는 윈도우 레지스터(54)로부터의 새로운 Z-버퍼 깊이값을 Z-버퍼 어레이(46)에서의 위치로부터 레지스터(48)로 전달되는 존재하는 Z-버퍼 깊이값을 비교한다.
만약, 새로운 Z-버퍼 깊이값이 존재하는 Z-버퍼 깊이값보다 크면, 비교기(60)는 프레임 버퍼(42)가 윈도우 매니저로부터의 "기록"명령을 제거하게 한다. 새로운 Z-버퍼 깊이값이 존재하는 Z-버퍼 깊이값 이하이면, 비교기(60)는 주어진 픽셀 어드레스에서의 새로운 픽셀값을 기억하며, 또한 Z-버퍼 어레이에 신호를 출력시켜 새로운 Z-버퍼 깊이값을 기억하게 한다. 상기 프로세스는 영향을 받는 프레임 버퍼(42)내의 각 픽셀 어드레스와 관련된 존재하는 Z-버퍼 깊이값이 상기 어드레스에 대한 새로운 Z-버퍼 깊이값과 비교될때까지 계속된다.
따라서, 제1실시예의 Z-버퍼 시스템(46)이 윈도우 매니저에 대한 "클리핑"을 행하도록 하는 목적을 얻을 수 있다. 윈도우 매니저로부터의 "기록"요구가 특정 응용 시스템과 관련된 윈도우에 적합한 Z-버퍼 깊이값을 포함하는한, Z-버퍼 시스템(46)은 윈도우에 대해 실제로 볼 수 있는 픽셀만 갱신되게 한다. 그러나, 상기 실시예에 있어서, 윈도우의 상대적인 스택킹 순서를 변경시키는 것은 윈도우 매니저에 대한 시간소비인 것이다. 제7a도는 본 발명의 디스플레이 모니터(20)의 스크린상의 스택 윈도우 A, B, C, D의 상대 위치를 나타내며, 각 픽셀 위치와 관련된 수가 특정 픽셀이 배치되는 관련 윈도우의 깊이, 0, 1, 2, 3, 4에 대응하여 스크린상에 나타나는 내용을 표시하는 픽셀의 9×8 그리드를 나타낸다. 제7b도는 모든 픽셀과 모든 윈도우에 관련된 깊이값이 윈도우가 새로운 윈도우 배열에 대해 제거되기 전에 갱신되도록 B가 저부로 밀린 것을 제외하고는 동일 윈도우의 스크린 디스플레이를 도시한 것이다. 새로운 윈도우 위치를 나타내는 픽셀의 대응 9×8 그리드는 제7b도의 스크린 아래에 도시되어 있다. 윈도우 A를 윈도우의 스택 저부로 이동시킬때 갱신되어야 하는 픽셀이 제7b도의 자형 그리드에서 보울드체로 나타나 있다.
제2실시예에서 (제8도), Z-버퍼 어레이(66)는 스크린상의 내용에 대한 현재의 Z-버퍼 깊이값을 포함한다. 그러나, 존재하는 기억된 깊이값은 제1실시예에서의 것과는 다른 내용으로 특정지워진다. 제2실시예에서, 존재하는 기억된 깊이값은 특정 윈도우 A, B, C 또는 D를 확인하는 윈도우 확인정수 및 스크린상에 형성되는 윈도우내의 픽셀 깊이값을 포함한다. 따라서, 윈도우 깊이는, 기본 위치에 대한 각 윈도우의 깊이를 포함하는 윈도우 깊이표(68)에 대한 인덱스로서의 윈도우 확인 정수를 사용함으로서 얻어진다. 적절하게는, 윈도우 깊이표는 종래의 RAM 어레이이다.
제2실시예를 더욱 상세하게 설명하면, 스크린 디스플레이상에 윈도우를 재배열하기 위한 입력장치(12)로부터의 요구에 응답하여, 윈도우 매니저는 복수의 윈도우 A, B, C 및 D의 새로운 상대 깊이 위치를 결정하며, 새로운 윈도우 깊이값을 각 윈도우에 할당하며, 새로운 윈도우 깊이값을 윈도우 깊이표(68)에 이송한다. 윈도우 매니저는, 디스플레이와 관련된 전내용 또는 제안된 스크린 재배열에 의해 영향을 받는 최소한의 부분 내용을 재전송시키기 위해 디스플레이가 영향을 받는 각 응용 시스템에 통보한다.
전송 내용은 처리기(36)에 의해 픽셀값의 배열로 변환되기 위해 디스플레이 어댑터(22)로 향하며, 여기서, 각 픽셀은 제1실시예에서와 같은 방법으로, 레지스터(566)내의 대응 픽셀 어드레스와 함께 레지스터(56)내에 연속적으로 기억될 수 있다. 그러나, 윈도우 매니저는 제1실시예에서 레지스터(54)로 전달되는 다른 깊이값을 레지스터(70)로 전달하며, 실제의 깊이값보다는 윈도우 식별 정수가 레지스터(70)의 최상위비트 위치(72)내에 기억되며, 특정 윈도우와 관련된 픽셀 깊이가 최하위 비트 위치(74)내에 기억된다.
대응하는 방법에 있어서, 레지스터(76)는 특정 픽셀 위치에 대한 Z-버퍼 어레이(66)로부터 존재하는 깊이값을 수신하며, 여기서 상기 깊이값은 레지스터(76)의 최상위 비트에서의 윈도우 식별 정수 및 레지스터(76)의 최하위 비트에서의 윈도우내의 픽셀 깊이를 구비한다.
제2실시예에 있어서, 레지스터(74) 및 (76)에 포함되어 있는 Z-버퍼 깊이값은 레지스터(78) 및 (80)에 기억되어 있는 Z-버퍼값에 앞서서 적절한 깊이값을 윈도우 깊이표(68)로부터의 각 윈도우 식별값으로 대체시킴으로 변경된다. 종래의 비교기(82)는 레지스터(78)내의 새로운 Z-버퍼 깊이값을 레지스터(80)내에 존재하는 Z-버퍼 깊이값과 비교한다. 만약, 레지스터(78)내의 새로운 값이 레지스터(80)내의 존재값보다크면, 비교기(82)는 윈도우 매니저로부터의 기록 명령을 무시하며 특정 픽셀 어드레스에 대한 특정 픽셀값이 갱신되지 않도록 프레임 버퍼(42)에 지시한다. 레지스터(78)내의 새로운 값이 레지스터(80)내의 존재값 이하이면, 비교기(82)는 특정 픽셀 어드레스에서의 새로운 픽셀값을 허용하도록 프레임 버퍼(42)에 통보하며, 특정 픽셀 어드레스에 대한 특정 Z-버퍼값을 갱신하도록 Z-버퍼(66)에 역시 통보한다.
Z-버퍼(66)에서의 모든 픽셀 위치에 대한 모든 깊이값을 변경시킬 필요는 없다. 예로서, 8비트 윈도우식별에 대해, 기껏해야 단지 256 윈도우 깊이표 엔트리만 변경되어야 한다. 반면에, 윈도우가 1024×1024픽셀 디스플레이상의 대부분의 스크린 디스플레이 표면을 커버하면, 약 백만 Z-버퍼 엔트리가 제1실시예하에서 변경되어야 한다. 그러나, 상기 이점을 얻기 위해서는 추가적인 윈도우 버퍼표(68)가 요구된다.
테이블(68)에 대해, 프레임 버퍼 및 Z-버퍼의 쟁신에 지연을 야기시키지 않도록 하기 위해, 표(68)는 레지스터(70) 및 (76)에서의 윈도우 식별 정수를 판독해야 하며, 대응하는 실제 깊이값을 레지스터(78) 및(80)에 매우 신속하게 전송해야 한다. 실제로, 처리는 픽셀이 묘사되는 동일 비율로 행해져야 한다. 만약표(68)가 그래픽 파이프라인에서의 다른 스테이지로 사용되면, 나타나는 동작의 제1픽셀에 대해 요구되는 대기 시간이 약간 부가되나, 묘사 픽셀의 비율을 감소시키지는 않는다.
제9a도 및 9b도는 윈도우 A가 최상부에서 저부로 밀려질때, 어떻게 픽셀에 대한 깊이값의 윈도우 식별부가 변하는가를 도시한 것이다. 비록, 다수의 값이 변하여도, 보울드체로 도시되어 있지 않다. 왜냐하면, 상기 값은, 제1실시예에서의 경우에서와 같이, 윈도우 매니저에 의해 변경되지 않기 때문이다. 상기 실시예에 있어서, 윈도우 매니저는 윈도우 깊이표에서 단지 소수의 엔트리(이 경우에는 4)만 변경되기 때문이다. Z-버퍼에서의 윈도우 식별정수는, 윈도우 깊이표(68)에서의 새로운 깊이값에 의해 응용 프로그램 B및 C가 윈도우를 재묘사하므로, 자동적으로 변경된다.
제3실시예에서, Z-버퍼 어레이(88)는 윈도우 식별 정수 및 각 픽셀에 대한 윈도우내의 픽셀 깊이로 구성된 깊이값을 포함한다. 그러나, 윈도우 깊이표 대신에, 제3실시예는, 레지스터(90)에 전송된 새로운 윈도우 식별 정수와 Z-버퍼 어레이(88)로부터 레지스터(92)로 전송되는 존재하는 윈도우 깊이값을 직접 비교하는 방법을 사용한다. 다른 실시예에서와 유사한 방법으로 레지스터(90) 및 (92)에 대한 윈도우 식별 정수는 상위 비트 위치에 기억되며, 픽셀 깊이값은 하위 비트 위치에 기억된다. 제3실시예를 더욱 상세하게 설명하면, 레지스터(92)로부터의 존재하는 윈도우 식별 정수 및 레지스터(90)로부터의 윈도우 식별 정수를 종래의 비교기(94)에 의해 판독된다. 만약, 윈도우 식별값이 동일하다고 비교기(94)가 결정하면, 앤드 게이트(96)에 실행 가능 신호를 출력한다. 또, 레지스터(92)에 존재하는 픽셀 깊이값은 레지스터(90)로부터의 새로운 픽셀 깊이와 종래의 비교기(98)에서 비교된다. 만약, 새로운 픽셀 깊이값이 기존의 픽셀 깊이값 이하이면, 비교기(98)는 실행 가능 신호를 앤드 게이트(96)에 출력시킨다. 만약 앤드 게이트(96)가 비교기(94) 및 비교기(96)로부터의 실행 가능 신호를 수신하지 못하면, 앤드 게이트는 윈도우 매니저로부터의 기록 명령을 무시하도록 프레임 버퍼(42) 및 Z-버퍼(88)에 지시한다. 만약 앤드 게이트(96)가 비교기(94)및 비교기(98)로부터의 실행 가능 신호를 수신하면, Z-버퍼에 새로운 Z-버퍼값(100)을 기억하도록 지시하며, 프레임 버퍼(42)에 특정 픽셀 위치에 대한 새로운 픽셀값(102)을 기억하도록 지시한다.
제3실시예의 Z-버퍼는 제2실시예의 Z-버퍼에 비해, 분리된 고속 윈도우 깊이표가 불필요하다는 이점을 가진다. 비교기(94) 및 비교기(98)에 의한 비교는 병렬로 진행된다. 상기 기구의 단점은 윈도우가 재배치될때, Z-버퍼(88)에 새로운 윈도우 식별 정수를 기억시킴으로 윈도우 매니저가 픽셀의 오너쉽을 명확하게 변경시켜야 하는 점이다.
제11a도 및 11b도는 어떻게 Z-버퍼값이, 윈도우 A가 스택의 최상부로부터 하부로 밀려질때 변하는가를 도시한 것이다. 윈도우 매니저에 의해 변경되는 Z-버퍼값은 보울드체로 도시되어 있다. 그러나, 제3실시예의 Z-버퍼 시스템은 제1실시예의 Z-버퍼 시스템에 비해 상당히 적은 Z-값이 번경되어야 하며, 여기서, 윈도우가 실제로 영향을 받는가의 여부에 관계없이 모든 픽셀 및 모든 윈도우는 갱신되는 것이 요구된다. 상기 실시예에 있어서는 영향을 받는 윈도우의 오버래핑 영역에서의 픽셀만 갱신된다.
제4실시예에 있어서, 윈도우 매니저는, 디스플레이 어댑터(22)에서 조합으로 되는 방법을 제외하고는 제3실시예에서와 동일 방법으로 디스플레이 어댑터에 정보를 전송한다. 제4실시예를 더욱 상세하게 설명하면, 디스플레이 어댑터(22)는, 윈도우내에서 픽셀값의 깊이 정보를 기억하기 위한 Z-버퍼 어레이(104)와, 각 픽셀 위치와 관련된 윈도우 식별 정수를 기억하기 위한 W-버퍼 어레이(106)를 포함한다. 상기 실시예에 있어서, 윈도우 매니저는 새로운 윈도우 식별값을 디스플레이 어댑터내의 레지스터(108)로 출력시킨다. 윈도우내의 관련 픽셀 깊이 값은 윈도우 매니저에 의해 레지스터(110)내에 적재된다. 어떤 픽셀 위치를 연속적으로 하기 위해, W-버퍼(106)로부터의 존재하는 윈도우 식별 정수는 레지스터(112)내에 기억되며, Z-버퍼(104)로부터의 대응 픽셀 깊이값은 레지스터(114)내에 기억된다. 만약 윈도우 식별값이 동일하지 않으면, 비교기(116)는 신호를 Z-버퍼에 출력시키며, 프레임 버퍼는 윈도우 매니저로부터의 기록 명령을 무시하도록 지시한다. 그러나, 만약 레지스터(108) 및 레지스터(114)로부터의 윈도우 식별 정수가 동일하면, 비교기(116)는 종래의 비교기(118)로 전송되는 실행 가능 신호를 발생되게 한다. 비교기(118)는 레지스터(114)에 기억된 존재하는 픽셀 깊이값을 레지스터(110)에 기억된 새로운 픽셀 깊이값과 비교한다. 만약,새로운 픽셀 깊이값이 존재하는 픽셀 깊이값보다 크면, 비교기(118)는 윈도우 매니저로부터의 기록 명령을 무시하도록 Z-버퍼 및 프레임 버퍼에 대해 명령을 출력시킨다. 만약 새로운 픽셀 깊이값이 종래의 픽셀깊이값 이하이고, 비교기(118)가 비교기(116)로부터의 실행 가능 신호를 수신하는 경우에, 비교기(118)는 새로운 픽셀 깊이값을 기억하도록 Z-버퍼(104)에 지시하며, 새로운 픽셀값을 기억하도록 프레임 버퍼(42)에 지시하는 실행 가능 신호를 출력한다.
제4실시예는 제3실시예에 비해, 그래픽 동작의 각 그룹에 대해, 윈도우 식별값이 디스플레이 어댑터(22)에 단지 한번만 전달될 필요가 있는 장점을 가진다. 또, 디스플레이 어댑터(22)상의 새로운 윈도우 식별 레지스터(108)에 대한 윈도우 매니저의 기록 억세스는 감시 상태 프로그램에 제한되므로, 레지스터는 응용 시스템 코드에 의해 변질되지 않는다. 적절한 픽셀와 오너쉽이 윈도우 매니저에 의해 세트되며, 적절한 윈도우 식별값이 레지스터(108)에 적재되면, 디스플레이 어댑터(22)에 응용 프로그램이 직접 억세스 되게할 수 있으며, 윈도우 외부의 스크린 영역을 변질시킬 수 없는 지식을 가쳐서, 오버헤드에 있어서 상당한 세이빙이 되게 한다. 비록, 제12도는 연속적으로 처리되는 두 비교 방법을 도시하고 있지만, 두 비교 방법은 병렬로 행해짐에 유의해야 한다. 윈도우 매니저에 의해 번경되는 Z-값은 제11b도의 제3실시예에서, 도시된 픽셀에 국한되어 있음을 역시 주지해야 한다.
복수의 오버래핑 윈도우내에 2차원 내용을 나타내기 위해 적절한 제5실시예에 있어서, 스크린상의 윈도우내의 내용과 관련된 깊이값은 단지 윈도우 식별값만 구비한다. 따라서, 깊이 버퍼 어레이는 윈도우내의 윈도우 깊이 및 픽셀 깊이를 구비하는 합성 깊이값보다는 존재하는 윈도우 식별값만 기억한다. 상기 실시예에 있어서, 제1실시예에 기술되어 있는 윈도우 매니저 및 Z-버퍼 시스템은 다음과 같이 약간 변형되어 사용된다. 즉, Z-버퍼 어레이(51) 및 레지스터(48)는 Z-버퍼 깊이값으로 윈도우 식별 정수만을 기억하며, 윈도우 매니저(22)는 만지 새로운 윈도우 식별 정수를 레지스터(54)에 출력시킨다. 다른 모든 판점에 있어서 제1실시예에 기술된 비교기(50)의 동작은 상술한 바와 같이 거의 동일하다. 비록, 제5실시예는 윈도우내에 복잡한 내용을 디스플레이 하기에는 적절하지 않지만, 많은 타입의 윈도우 응용에 대해서는 간단한 해결책이 될 수 있다.
비록, 본 발명은 적절한 실시예로 기술되고 도시되어 있지만, 본 발명의 분야에 숙련된 사람은 본 발명의 사상 및 범주를 벗어나지 않고 다양하게 다른 형태로 변경시킬 수 있다.

Claims (12)

  1. 재생버퍼 및 최소한 부분적으로 오버래핑 되는 복수의 윈도우가 형성되는 스크린 디스플레이를 가진 인터액티브 디스플레이 단말기를 가지며, 각 윈도우는 스크린의 잔존부상에 디스플레이되는 내용과는 다른 내용을 현재 디스플레이하는 컴퓨터 시스템에 있어서, 현재 배열로부터 새로운 배열로 기준 위치에 관한 복수 윈도우의 깊이의 재배열을 요구하기 위한 수단과, 각 윈도우와 관련된 내용의 깊이를 결정하며, 입력 요구에 응답하여, 새로운 배열에서의 복수 윈도우 각각의 영향을 받는 내용의 새로운 깊이를 결정하며, 영향을 받는 내용에 대한 새로운 깊이값을 영향을 받는 윈도우 각각에 전송하는 매니저 수단과, 스크린상에 현재 디스플레이되는 윈도우 각각에 관련된 내용의 깊이값을 기역하는 버퍼수단을 구비하며, 상기 버퍼수만은 새롭게 전송된 내용에 대한 깊이값을 입력 요구에 응답하여 현재 디스플레이 되는 내용에 대한 깊이값과 비교하는 수단을 포함하며, 만약, 새로운 내용이 동일 윈도우 또는 시청자에 근접된 윈도우와 관련된 깊이값을 가지면, 비교기는 재생 버퍼에 스크린을 재생하기 위해 새롭게 전송된 내용을 기억하도록 지시하는, 버퍼 수단을 구비하는 것을 특징으로 하는 컴퓨터 시스템.
  2. 제1항에 있어서, 상기 비교기 수단은 재생 버퍼에 기억된 새롭게 전송된 내용에 대한 깊이값을 재생버퍼가 기억하게 하는 것을 특징으로 하는 컴퓨터 시스템.
  3. 제2항에 있어서, 새로운 내용이, 시청자로부터 떨어져 있는 윈도우와 관련된 깊이값을 가지면, 상기비교기 수단은 새롭게 전송된 내용을 기억하기 위한 재생 버퍼를 방해하며, 스크린은 재생 버퍼내의 내용으로 재생되는 것을 특징으로 하는 컴퓨터 시스템.
  4. 제2항에 있어서, 각각의 윈도우와 관련된 내용은 특정 픽셀 어드레스를 가진 픽셀값의 배열로서 재생 버퍼내에 기억되며, 상기 매니저 수단은 스크린상의 각 윈도우와 관련된 각 픽셀 어레이에 각 픽셀값에 대한 깊이값을 할당하며, 입력 요구에 응답하여, 입력 요구에 의해 영향을 받는 각 윈도우와 관련된 픽셀값의 부분에 새로운 깊이값을 할당하며, 깊이값을 전송하는 것을 특징으로 하는 컴퓨터 시스템.
  5. 제4항에 있어서, 깊이값은, 각 윈도우에 대한 윈도우내의 내용 외 깊이값 및 윈도우 깊이 위치의 조합을 구비하는 것을 특징으로 하는 컴퓨터 시스템.
  6. 제1항에 있어서, 스크린상에 형성되는 윈도우와 관련된 내용에 대한 깊이값은 윈도우내의 내용의 깊이를 나타내는 픽셀 깊이값 및 윈도우 식별값을 구비하며, 상기 버퍼 수단은 복수의 오버래핑 윈도우에 대한 현재 윈도우 식별값을 기억하며, 상기 비교기 수단은 각각의 윈도우 식별값과 관련된 현재 깊이 위치를기억하는 윈도우 깊이표를 포함하며, 상기 입력수단으로부터의 요구에 응답하여, 상기 매니저 수단은 상기비교기 수단에 새로운 윈도우 식별값 및 픽셀 깊이값을 출력하며, 윈도우 깊이표에 각 윈도우 식별값에 대한 새로운 깊이 위치를 출력하며, 비교기는 현재 버퍼 수단에 있는 윈도우 식별값의 깊이값을 상기 윈도우 깊이표로부터 판독하며, 새로운 윈도우 식별값에 대한 깊이값을 판독하여, 상기 윈도우 깊이표로부터 얻어지는 윈도우에 대한 각각의 깊이값을 비교하는 것을 특징으로 하는 컴퓨터 시스템.
  7. 제6항에 있어서, 각각의 깊이값은 윈도우내의 픽셀 깊이값 및 윈도우 식별값의 조합을 구비하는 것을 특징으로 하는 컴퓨터 시스템.
  8. 제1항에 있어서, 윈도우내의 내용에 대한 깊이값은 윈도우 식별값 및 윈도우내의 내용의 깊이를 나타내는 픽셀 깊이값을 구비하며, 상기 버퍼 수단은 현재의 윈도우 식별값 및 복수의 오버래핑 윈도우에 대한 관련 픽셀 깊이값을 기억하며, 상기 매니저 수단은, 상기 입력수단으로부터의 요구에 응답하여, 복수의 오버래핑 윈도우에 대한 관련 픽셀 깊이값 및 새로운 윈도우 식별값을 상기 비교기 수단에 출력하며, 상기비교기 수단은, 새로운 윈도우 식별값을 현재 윈도우 식별값과 비교하여, 현재 윈도우 식별값이 새로운 윈도우 식별값과 동일하면, 제1실행가능 신호를 출력하는 제1비교기 수단과, 각각의 현재 윈도우 식별값과 관련된 현재 픽셀 깊이값을 새로운 윈도우 식별값과 관련된 새로운 픽셀 깊이값과 비교하여, 새로운 픽셀깊이값이 현재 픽셀 깊이값 이하이면, 제2실행가능 신호를 출력하는 제2비교기 수단과 상기 제1 및 제2비교기의 출력에 결합되어, 상기 비교기로부터의 제1 및 제2실행 가능 신호의 수신에 응답하여 상기 재생버퍼 및 상기 버퍼 수단에 갱신 신호를 출력하는 논리 수단을 구비하며, 여기서, 재생 버퍼는 새로운 픽셀값을 받아들이며, 버퍼 수단은 갱신 신호에 응답하여 새로운 윈도우 식별값을 받아들이는 것을 특징으로 하는 컴퓨터 시스템.
  9. 제1항에 있어서, 각 윈도우상의 내용과 관련된 깊이값은 윈도우내의 내용의 깊이를 나타내는 픽셀깊이값 및 윈도우 식별값을 구비하며, 상기 버퍼 수단은 각각의 오버래핑 윈도우상에 디스플레이 되는 내용에 대한 현재 윈도우 식별값을 기억하기 위한 제1버퍼 수단과, 각각의 오버래핑 스크린상에 디스플레이 되는 내용의 현재 픽셀 깊이값을 기억하기 위한 제2버퍼 수단과, 상기 입력 수단으로부터의 요구에 응답하여 새로운 윈도우 식별값 및 픽셀 깊이값을 상기 비교기 수단으로 출력시키머, 각 윈도우 식별값에 대한 새로운 깊이 위치를 윈도우 식별값표로 출력시키는 매니저 수단을 구비하며, 상기 비교기 수단은, 새로운 윈도우 식별값을 현재 윈도우 식별값과 비교하여, 현재 윈도우 식별과 새로운 윈도우 식별값이 동일하면, 제2비교기에 실행 가능 신호를 출력시키기 위해 제1버퍼 수단에 결합되어 있는 제 1비교기 수단과, 상기 제 1비교기로부터의 실행 가능 신호를 수신하면, 현재 픽셀값과 새로운 픽셀값을 비교하여, 새로운 픽셀값이 현재 픽셀 깊이값 이하이면, 갱신 신호를 제1및 제2버퍼 수단에 출력시켜, 상기 제1버퍼 수단이 새로운 윈도우 식별값을 기억하며, 제2버퍼 수단이 새로운 깊이값을 기억하기 위해, 상기 제2버퍼 수단에 결합되어있는 제2비교기 수단을 구비하는 것을 특징으로 하는 컴퓨터 시스템.
  10. 제1항에 있어서, 1) 스크린상의 윈도우내의 내용과 관련된 깊이값은 윈도우 식별값을 구비하며, 2)상기 버퍼 수단은 각 오버래핑 스크린상에 디스플레이되는 내용에 대한 현재 윈도우 식별값을 기억하며, 3)상기 매니저 수단은, 입력 수단의 요구에 응답하여, 새로운 윈도우 식별값을 출력하며, 4) 상기 비교기 수단은 새롭게 전송된 내용의 윈도우 식별값을 현재 디스플레이 되는 내용의 윈도우 식별값을 비교하여, 새로운 윈드우 식별값이 동일 윈도우 또는 시청자에 근접된 윈도우를 식별하면, 비교기는 재생 버퍼 및 버퍼 수단에 실행 가능 신호를 출력시키며, 5) 실행 가능 신호에 응답하여, 재생 버퍼는 새로운 내용을 가진 스크린 디스플레이를 재생시키기 위해 새로운 내용을 기억하며, 버퍼 수단은 새로운 윈도우 식별값을 기억하는것을 특징으로 하는 컴퓨터 시스템.
  11. 재생 버퍼를 가진 디스플레이 어댑터 및 최소한 부분적으로 오버래핑 되는 복수의 윈도우가 형성되는스크린 디스플레이를 가진 인터액티브 디스플레이 단말기를 가지며, 여기서 각각의 윈도우는 스크린의 잔존부상에 디스플레이되는 내용과는 다른 내용을 현재 디스플레이시키는, 복수의 응용 시스템을 동작시킬 수 있는 컴퓨터 시스템에 있어서, 현재 배열로부터 새로운 배열로 기준 위치에 관한 복수의 윈도우의 깊이 위치의 재배열을 요구하기 위한 수단과, 복수의 윈도우 각각의 깊이 위치를 감지하며, 깊이값을 윈도우 각각에 관련된 내용에 할당하며, 입력 요구에 응답하여, 복수의 윈도우의 새로운 깊이 위치를 결정하며, 새로운 깊이값을 영향을 받는 윈도우 각각과 관련된 내용에 할당하며, 상기 깊이값을 출력시키는 매니저 수단과, 스크린상에 현재 디스플레이되는 윈도우 각각과 관련된 내용의 깊이값을 기억하며, 새롭게 전송된 내용의 깊이값과 입력요구에 응답하여 현재 디스플레이 되는 내용에 대한 깊이값을 비교하여, 새로운 내용이 동일내용 또는 시청자에 근접된 윈도우와 관련된 깊이값을 가지면, 비교기는 재생 버퍼에 스크린을 재생하기 위해 새롭게 전송된 내용을 기억하도록 지시하는 버퍼 수단을 구비하는 것을 특징으로 하는 컴퓨터 시스템.
  12. 제11항에 있어서, 상기 버퍼 수단은 디스플레이 어댑터내에 배치되는 RAM 어레이이며, 상기 매니저 수단은 윈도우 재배치에 의해 직접 디스플레이 어댑터에 영향을 받는 응용 시스템과 관련된 내용을 각응용 시스템이 재전송하도록 지시하는 것을 특징으로 하는 컴퓨터 시스템.
KR1019900000662A 1989-02-06 1990-01-20 컴퓨터 시스템 KR920006746B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US30612589A 1989-02-06 1989-02-06
US306,125 1989-02-06
US306125 1994-09-14

Publications (2)

Publication Number Publication Date
KR900013418A KR900013418A (ko) 1990-09-05
KR920006746B1 true KR920006746B1 (ko) 1992-08-17

Family

ID=23183938

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900000662A KR920006746B1 (ko) 1989-02-06 1990-01-20 컴퓨터 시스템

Country Status (8)

Country Link
EP (1) EP0381892B1 (ko)
JP (1) JPH0612518B2 (ko)
KR (1) KR920006746B1 (ko)
CN (1) CN1016013B (ko)
AU (1) AU623468B2 (ko)
CA (1) CA1323450C (ko)
DE (1) DE68922093T2 (ko)
ES (1) ES2070916T3 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100681115B1 (ko) * 1999-11-24 2007-02-08 주식회사 케이티 통신시스템에서의 그래픽 화면 처리 속도 향상 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE1007551A3 (nl) * 1993-09-24 1995-08-01 Philips Electronics Nv Werkwijze voor het in een rekenmachine automatisch herstellen van consistentie in een hierarchische objektstruktuur na een interaktie door een gebruiker en rekenmachine voorzien van zo een systeem voor automatische consistentieherstelling.
WO1995018413A1 (en) * 1993-12-30 1995-07-06 Taligent, Inc. Object-oriented view hierarchy framework
US5524200A (en) * 1993-12-30 1996-06-04 Taligent, Inc. Object-oriented non-rectilinear viewing framework
JPH09185356A (ja) * 1995-12-29 1997-07-15 Nec Corp マルチウィンドウ表示制御システム
JP2976879B2 (ja) * 1996-03-22 1999-11-10 日本電気株式会社 深さ付きウィンドウ表示方式
ATE532106T1 (de) 2002-09-20 2011-11-15 Fujifilm Corp Verfahren zur herstellung einer flachdruckplatte
JP2006119729A (ja) 2004-10-19 2006-05-11 Sony Corp プログラム、並びに画像表示制御方法および装置
CN1300684C (zh) * 2005-01-31 2007-02-14 浙江大学 确定图形用户界面中窗口剪切关系的方法
CN115220826A (zh) * 2021-04-15 2022-10-21 华为技术有限公司 窗口显示的方法和电子设备
CN114398019B (zh) * 2022-01-24 2024-02-23 广州文石信息科技有限公司 屏幕更新请求的处理方法、装置及电子墨水屏设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4439760A (en) * 1981-05-19 1984-03-27 Bell Telephone Laboratories, Incorporated Method and apparatus for compiling three-dimensional digital image information
WO1985002049A1 (en) * 1983-11-03 1985-05-09 Burroughs Corporation Method of electronically moving portions of several different images on a crt screen
GB2162726A (en) * 1984-07-31 1986-02-05 Ibm Display of overlapping viewport areas
US4710761A (en) * 1985-07-09 1987-12-01 American Telephone And Telegraph Company, At&T Bell Laboratories Window border generation in a bitmapped graphics workstation
GB2180729B (en) * 1985-09-13 1989-10-11 Sun Microsystems Inc Method and apparatus for dma window display
US4987530A (en) * 1985-11-15 1991-01-22 Data General Corp. Input/output controller for a data processing system
JPS62276673A (ja) * 1986-05-26 1987-12-01 Toshiba Corp マルチウインドウ表示装置
JPH0814785B2 (ja) * 1986-09-24 1996-02-14 株式会社日立製作所 表示制御装置
JPS63153627A (ja) * 1986-12-17 1988-06-27 Pfu Ltd 表示順位管理方式
AU617464B2 (en) * 1988-10-31 1991-11-28 Sun Microsystems, Inc. Apparatus for extending windows using z buffer memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100681115B1 (ko) * 1999-11-24 2007-02-08 주식회사 케이티 통신시스템에서의 그래픽 화면 처리 속도 향상 방법

Also Published As

Publication number Publication date
ES2070916T3 (es) 1995-06-16
EP0381892B1 (en) 1995-04-05
JPH02234219A (ja) 1990-09-17
AU4763690A (en) 1990-08-09
DE68922093T2 (de) 1995-10-05
CN1044718A (zh) 1990-08-15
KR900013418A (ko) 1990-09-05
EP0381892A3 (en) 1991-03-27
CA1323450C (en) 1993-10-19
EP0381892A2 (en) 1990-08-16
DE68922093D1 (de) 1995-05-11
JPH0612518B2 (ja) 1994-02-16
AU623468B2 (en) 1992-05-14
CN1016013B (zh) 1992-03-25

Similar Documents

Publication Publication Date Title
US5241656A (en) Depth buffer clipping for window management
US4914607A (en) Multi-screen display control system and its method
KR900002950B1 (ko) 멀티윈도우 표시장치
US7262776B1 (en) Incremental updating of animated displays using copy-on-write semantics
US5371514A (en) Method and apparatus for determining the drawing primitives that are visible in a pick aperture of a graphics system
JPS63200230A (ja) グラフィック表示アダプタ
KR920006746B1 (ko) 컴퓨터 시스템
JPH09245179A (ja) コンピュータグラフィックス装置
KR100233346B1 (ko) 그래픽 시스템에서 하나 이상의 가시 객체 식별 방법 및 장치
US5202671A (en) Pick function implementation in a parallel processing system
JPH05232915A (ja) メモリ・スペース割当方法及び装置
CN1151429C (zh) 图形用户接口中生成全局命中测试数据结构的方法和系统
CA1229439A (en) Data display system
JP2737898B2 (ja) ベクトル描画装置
US6943801B2 (en) System and method for refreshing imaging devices or displays on a page-level basis
JP2892001B2 (ja) 画像検策表示装置
Yip The Pascal graphics system
JPH0260195B2 (ko)
JPH0743582B2 (ja) 多重画面表示用計算システム
CA2021665C (en) Pick function implementation in a parallel processing system
JPH0550013B2 (ko)
JPH0877367A (ja) 画像処理プロセッサおよびそれを用いた画像データ処理装置
JPH04308921A (ja) マルチウィンドウシステム
JPH0428309B2 (ko)
JPS60120396A (ja) スクロ−ル制御方式

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20060731

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee