Patent US4941111A successfully refreshed from Google Patents.
← Back to Patent Explorer
US4941111A Expired / Lapsed US ⏱️ 0.0 years remaining

Video picking and clipping method and apparatus

Assignee: Advanced Micro Devices Inc
•
Filing: 1986-04-18
•
Granted: 1990-07-10
•
Expires: 2006-04-18
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The picking method and apparatus comprise: A CPU and a direct memory access (DMA) circuit which is used with a graphics microprocessor (GμP) for virtually redrawing a display list from a system memory of objects in a bit map. A starting address and a number corresponding to the number of instructions in a segment comprising a plurality of display lists are sent to the DMA for this purpose. When the coordinates of a pointer match the coordinates of a selected data object, a pick interrupt signal and special pick instruction is sent to the CPU. The CPU then uses the starting address of the display list of a selected object from a table to generate a new display list to perform a pre-selected operation on the selected data object. The clipping method and apparatus comprise a plurality of data planes for storing data objects, a match plane for storing a clipping object and a one-bit register. In use, the pixels in the data and match planes are scanned. When a match occurs between a pixel in the match plane and the contents of the one-bit register, a match signal is generated. The match signal enables the data planes to re-store the corresponding pixels of the data objects in the match planes.

Inventors

  • 👤 Adrian Sfarti

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 21:47
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/01; G06F3/048; G06F3/0484; G06F3/04842; G06T; G06T15/00; G06T15/10; G06T15/30; G09; G09G; G09G5/00; G09G5/36; G09G5/39; G09G5/393

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 547 words
A method of picking a data object from among a plurality of data objects appearing on a video display in a video system having a central processing unit (CPU), a system memory, a bit map, a direct memory access (DMA) circuit and a graphics microprocessor (GμP), comprising the steps of: storing in said system memory a segment comprising a plurality of display lists, each of said display lists in said segment comprising a plurality of instructions for storing one of said plurality of data objects in said bit map, at least one of said instructions comprising a special pick instruction having an operation code and an object number corresponding to said one of said data objects; storing at the beginning of said segment the starting address of the first instruction in said segment and a number corresponding to the number of instructions in said segment; storing in said system memory an index table of index entries, each of said entries comprising an object number and the address of the first instruction in the data list for the data object associated with said object number; executing the instructions in said segment for storing said plurality of data objects in said bit map; displaying each of said data objects in said bit map on said video display; moving a pointer on said video display to a position coinciding with the position of said data object on said video display; generating a pointer signal for indicating the position of said pointer on said video display and a pick request signal when the position of said pointer coincides with the position of said selected data object; transferring in response to said pick request signal said starting address of the first instruction in said segment and said number corresponding to the number of instructions in said segment from said system memory to said DMA circuit; transferring each of said instructions in said segment from said system memory to said DMA after said starting address and said number of instructions in said segment are transferred to said DMA; transferring each of said instructions in said segment from said DMA circuit to said GμP for virtually re-executing each of said instructions; comparing the coordinates of each pixel associated with an instruction which is virtually executed in said GμP with said position of said pointer on said video display; generating a pick interrupt signal when a match occurs between the coordinates of a data object pixel and said position of said pointer; generating a software interrupt signal when said special pick instruction in said display list of said selected data object is executed by said GμP after said pick interrupt signal is generated; transferring said software interrupt signal to said CPU; transferring in response to the receipt of said software interrupt signal by said CPU said special pick instruction from said GμP to said CPU; transferring from said index table in said system memory to said CPU the index entry associated with said special pick instruction; generating in response to the receipt of said index entry by said CPU a new display list for performing a selected operation on said selected data object; and transferring said new display list to said DMA and said GμP for performing said selected operation on said selected data object.
Claim 2
Independent Claim 547 words
A method of picking a data object from among a plurality of data objects appearing on a video display in a video system having a central processing unit (CPU), a system memory, a bit map, a direct memory access (DMA) circuit and a graphics microprocessor (GμP), comprising the steps of: storing in said system memory a segment comprising a plurality of display lists, each of said display lists in said segment comprising a plurality of instructions for storing one of said plurality of data objects in said bit map, at least one of said instructions comprising a special pick instruction having an operation code and an object number corresponding to said one of said data objects; storing at the beginning of said segment the starting address of the first instruction in said segment and a number corresponding to the number of instructions in said segment; storing in said system memory an index table of index entries, each of said entries comprising an object number and the address of the first instruction in the data list for the data object associated with said object number; executing the instructions in said segment for storing said plurality of data objects in said bit map; displaying each of said data objects in said bit map on said video display; moving a pointer on said video display to a position coinciding with the position of said data object on said video display; generating a pointer signal for indicating the position of said pointer on said video display and a pick request signal when the position of said pointer coincides with the position of said selected data object; transferring in response to said pick request signal said starting address of the first instruction in said segment and said number corresponding to the number of instructions in said segment from said system memory to said DMA circuit; transferring each of said instructions in said segment from said system memory to said DMA after said starting address and said number of instructions in said segment are transferred to said DMA; transferring each of said instructions in said segment from said DMA circuit to said GμP for virtually re-executing each of said instructions; comparing the coordinates of each pixel associated with an instruction which is virtually executed in said GμP with said position of said pointer on said video display; generating a pick interrupt signal when a match occurs between the coordinates of a data object pixel and said position of said pointer; generating a software interrupt signal when said special pick instruction in said display list of said selected data object is executed by said GμP after said pick interrupt signal is generated; transferring said software interrupt signal to said CPU; transferring in response to the receipt of said software interrupt signal by said CPU said special pick instruction from said GμP to said CPU; transferring from said index table in said system memory to said CPU the index entry associated with said special pick instruction; generating in response to the receipt of said index entry by said CPU a new display list for performing a selected operation on said selected data object; and transferring said new display list to said DMA and said GμP for performing said selected operation on said selected data object.
Claim 3
Dependent Claim 21 words
A method according to claim 1 wherein said special pick instruction is the last instruction in each of said display lists.
Claim 4
Dependent Claim 57 words
A method according to claim 1 wherein said pointer and said selected data object comprises a boundary and said pick interrupt signal generating step comprises the step of generating a pick interrupt signal when at least one pixel of said pointer boundary coincides with at least one pixel of said selected data object on said video display.
Claim 5
Dependent Claim 79 words
A method according to claim 1 wherein said pointer and said selected data object comprises a boundary defined by coordinates, said comparing step comprises the step of comparing said coordinates of said pointer boundary and said coordinates of said selected data object boundary and said pick interrupt signal generating step comprises the step of generating said pick interrupt signal when said coordinates of said pointer boundary and said coordinates of said selected data object boundary have a predetermined correspondence.
Claim 6
Independent Claim 331 words
A method of clipping a data object appearing on a video display in a video system when said data object is moved from a source area S on said display to a destination area D on said display, said destination area D being spaced from said source area S, said video system having a bit map, and a one-bit register, said bit map comprising a data plane and a match plane, said data plane and said match plane comprising pixels, comprising the steps of: storing said data object in said data plane within an area in said data plane which corresponds to said source area S on said display, said data object in said data plane comprising pixels having a predetermined logical binary value; storing a clipping object in said match plane within an area in said match plane which corresponds to said destination area D on said display, said clipping object in said match plane comprising pixels having a predetermined logical binary value; moving said data object in said data plane from said area corresponding to said source area S on said display to an area corresponding to said destination area D on said display; scanning the pixels in said data plane as said data object is being moved; scanning the pixels in said match plane as said data object is being moved; comparing said pixels in said match plane as they are being scanned against the contents of said one-bit register for generating a write enable signal when a pixel in said match plane matches the contents of said one-bit register; and enabling said data plane to store within said area in said data plane which corresponds to said destination area D on said display each pixel scanned in said data plane which corresponds spatially with a pixel scanned in said match plane when said write enable signal is generated, each of said pixels in said match plane having a predetermined correspondence with the contents of said one-bit register.
Claim 7
Independent Claim 331 words
A method of clipping a data object appearing on a video display in a video system when said data object is moved from a source area S on said display to a destination area D on said display, said destination area D being spaced from said source area S, said video system having a bit map, and a one-bit register, said bit map comprising a data plane and a match plane, said data plane and said match plane comprising pixels, comprising the steps of: storing said data object in said data plane within an area in said data plane which corresponds to said source area S on said display, said data object in said data plane comprising pixels having a predetermined logical binary value; storing a clipping object in said match plane within an area in said match plane which corresponds to said destination area D on said display, said clipping object in said match plane comprising pixels having a predetermined logical binary value; moving said data object in said data plane from said area corresponding to said source area S on said display to an area corresponding to said destination area D on said display; scanning the pixels in said data plane as said data object is being moved; scanning the pixels in said match plane as said data object is being moved; comparing said pixels in said match plane as they are being scanned against the contents of said one-bit register for generating a write enable signal when a pixel in said match plane matches the contents of said one-bit register; and enabling said data plane to store within said area in said data plane which corresponds to said destination area D on said display each pixel scanned in said data plane which corresponds spatially with a pixel scanned in said match plane when said write enable signal is generated, each of said pixels in said match plane having a predetermined correspondence with the contents of said one-bit register.
Claim 8
Dependent Claim 45 words
A method according to claim 5 wherein each of said pixels in said match plane comprises either a logical 1 or a logical 0 and said predetermined correspondence exists when said pixel in said match plane is equal to the contents of the one-bit register.
Claim 9
Dependent Claim 48 words
A method according to claim 5 wherein each of said pixels in said match plane comprises either a logical 1 or a logical 0 and said predetermined correspondence exists when said pixel in said match plane is equal to the opposite of the contents of said one-bit register.
Claim 10
Dependent Claim 105 words
A method according to claim 5 wherein said enabling step comprises the steps of comparing each pixel scanned in said match plane with the contents of said one-bit register for generating a match signal when a predetermined correspondence exists between said pixel scanned in said match plane and said contents of said one-bit register; providing a write enable control signal; and transferring said write enable control signal to said data plane for enabling said data plane to store in said data plane a pixel scanned in said data plane corresponding spatially to said pixel scanned in said match plane when said match signal is generated.
Claim 11
Dependent Claim 34 words
A method according to claim 8 wherein said predetermined correspondence exists between said pixel scanned in said match plane and said contents of said one-bit register when both comprise the same logical binary value.
Claim 12
Dependent Claim 33 words
A method according to claim 8 wherein said predetermined correspondence exists between said pixel scanned in said match plane and said contents of said one-bit register when they comprise opposite logical binary values.
Claim 13
Independent Claim 579 words
An apparatus for picking a data object from among a plurality of data objects appearing on a video display in a video system having a central processing unit (CPU), a system memory, a bit map, a direct memory access (DMA) circuit and a graphics microprocessor (GμP), comprising: means for storing in said system memory a segment comprising a plurality of display lists, each of said display lists in said segment comprising a plurality of instructions for storing one of said plurality of data objects in said bit map, at least one of said instructions comprising a special pick instruction having an operation code and an object number corresponding to said one of said data objects; means for storing at the beginning of said segment the starting address of the first instruction in said segment and a number corresponding to the number of instructions in said segment; means for storing in said system memory an index table of index entries, each of said entries comprising an object number and the address of the first instruction in the data list for the data object associated with said object number; means for executing the instructions in said segment for storing said plurality of data objects in said bit map; means for displaying each of said data objects in said bit map on said video display; means for moving a pointer on said video display to a position coinciding with the position of a data object on said video display; means for generating a pointer signal corresponding to the position of said pointer on said video display and a pick request signal when the position of said pointer coincides with the position of said data object; means for transferring in response to said pick request signal said starting address of the first instruction in said segment and said number corresponding to the number of instructions in said segment from said system memory to said DMA circuit; means for transferring each of said instructions in said segment from said system memory to said DMA after said starting address and said number of instructions in said segment are transferred to said DMA; means for transferring each of said instructions in said segment from said DMA circuit to said GμP for virtually re-executing each of said instructions; means for comparing the coordinates of each pixel associated with an instruction which is virtually executed in said GμP with said position of said pointer on said video display; means for generating a pick interrupt signal when a match occurs between the coordinates of a data object pixel and said position of said pointer; means for generating a software interrupt signal when said special pick instruction in said display list of said selected data object is executed by said GμP after said pick interrupt signal is generated; means for transferring said software interrupt signal to said CPU; means for transferring in response to the receipt of said software interrupt signal by said CPU said special pick instruction from said GμP to said CPU; means for transferring from said index table in said system memory to said CPU the index entry associated with said special pick instruction; means for generating in response to the receipt of said index entry by said CPU a new display list for performing a selected operation on said selected data object; and means for transferring said new display list to said DMA and said GμP for performing said selected operation on said selected data object.
Claim 14
Independent Claim 579 words
An apparatus for picking a data object from among a plurality of data objects appearing on a video display in a video system having a central processing unit (CPU), a system memory, a bit map, a direct memory access (DMA) circuit and a graphics microprocessor (GμP), comprising: means for storing in said system memory a segment comprising a plurality of display lists, each of said display lists in said segment comprising a plurality of instructions for storing one of said plurality of data objects in said bit map, at least one of said instructions comprising a special pick instruction having an operation code and an object number corresponding to said one of said data objects; means for storing at the beginning of said segment the starting address of the first instruction in said segment and a number corresponding to the number of instructions in said segment; means for storing in said system memory an index table of index entries, each of said entries comprising an object number and the address of the first instruction in the data list for the data object associated with said object number; means for executing the instructions in said segment for storing said plurality of data objects in said bit map; means for displaying each of said data objects in said bit map on said video display; means for moving a pointer on said video display to a position coinciding with the position of a data object on said video display; means for generating a pointer signal corresponding to the position of said pointer on said video display and a pick request signal when the position of said pointer coincides with the position of said data object; means for transferring in response to said pick request signal said starting address of the first instruction in said segment and said number corresponding to the number of instructions in said segment from said system memory to said DMA circuit; means for transferring each of said instructions in said segment from said system memory to said DMA after said starting address and said number of instructions in said segment are transferred to said DMA; means for transferring each of said instructions in said segment from said DMA circuit to said GμP for virtually re-executing each of said instructions; means for comparing the coordinates of each pixel associated with an instruction which is virtually executed in said GμP with said position of said pointer on said video display; means for generating a pick interrupt signal when a match occurs between the coordinates of a data object pixel and said position of said pointer; means for generating a software interrupt signal when said special pick instruction in said display list of said selected data object is executed by said GμP after said pick interrupt signal is generated; means for transferring said software interrupt signal to said CPU; means for transferring in response to the receipt of said software interrupt signal by said CPU said special pick instruction from said GμP to said CPU; means for transferring from said index table in said system memory to said CPU the index entry associated with said special pick instruction; means for generating in response to the receipt of said index entry by said CPU a new display list for performing a selected operation on said selected data object; and means for transferring said new display list to said DMA and said GμP for performing said selected operation on said selected data object.
Claim 15
Dependent Claim 21 words
An apparatus according to claim 11 wherein said special pick instruction is the last instruction in each of said display lists.
Claim 16
Dependent Claim 57 words
An apparatus according to claim 11 wherein said pointer and said selected data object comprises a boundary and said pick interrupt signal generating means comprises the means for generating a pick interrupt signal when at least one pixel of said pointer boundary coincides with at least one pixel of said selected data object on said video display.
Claim 17
Dependent Claim 77 words
An apparatus according to claim 11 wherein said pointer and said selected data object comprises a boundary defined by coordinates, said comparing means comprises means for comparing said coordinates of said pointer boundary and said coordinates of said selected data object boundary and said pick interrupt signal generating means comprises means for generating said pick interrupt signal when said coordinates of said pointer boundary and said coordinates of said selected data object boundary have a predetermined correspondence.
Claim 18
Independent Claim 248 words
An apparatus for clipping a data object appearing on a video display in a video system when said data object is moved from a source area S on said display to a destination area D on said display, comprising: a bit map comprising a data plane for storing a data object and a match plane for storing a clipping object, said data plane and said match plane comprising spatially corresponding pixels and said clipping object comprising pixels having a predetermined logical binary value; a one-bit register for storing a bit having a predetermined logical binary value; means for moving said data object in said data plane from an area corresponding to said source area S on said display to an area corresponding to said destination area D on said display; means for scanning the pixels in said data plane as said data object is being moved; means for scanning the pixels in said match plane as said data object is being moved; means for comparing said pixels in said match plane and the contents of said one-bit register as said pixels in said match plane are being scanned; and means for enabling said data plane to store in said data plane in said area corresponding to said destination area D on said display each pixel scanned in said data plane which corresponds spatially with a pixel in said match plane when said pixel in said match plane has a predetermined correspondence with the contents of said one-bit register.
Claim 19
Independent Claim 248 words
An apparatus for clipping a data object appearing on a video display in a video system when said data object is moved from a source area S on said display to a destination area D on said display, comprising: a bit map comprising a data plane for storing a data object and a match plane for storing a clipping object, said data plane and said match plane comprising spatially corresponding pixels and said clipping object comprising pixels having a predetermined logical binary value; a one-bit register for storing a bit having a predetermined logical binary value; means for moving said data object in said data plane from an area corresponding to said source area S on said display to an area corresponding to said destination area D on said display; means for scanning the pixels in said data plane as said data object is being moved; means for scanning the pixels in said match plane as said data object is being moved; means for comparing said pixels in said match plane and the contents of said one-bit register as said pixels in said match plane are being scanned; and means for enabling said data plane to store in said data plane in said area corresponding to said destination area D on said display each pixel scanned in said data plane which corresponds spatially with a pixel in said match plane when said pixel in said match plane has a predetermined correspondence with the contents of said one-bit register.
Claim 20
Dependent Claim 45 words
An apparatus according to claim 15 wherein each of said pixels in said match plane comprises either a logical 1 or a logical 0 and said predetermined correspondence exists when said pixel in said match plane is equal to the contents of the one-bit register.
Claim 21
Dependent Claim 49 words
An apparatus according to claim 15 wherein each of said pixels in said match plane comprises either a logical 1 or a logical 0 and said predetermined correspondence exists when said pixel in said match plane is equal to the opposite of the contents of the reference bit register.
Claim 22
Dependent Claim 108 words
An apparatus according to claim 15 wherein said enabling means comprises means for comparing each pixel scanned in said match plane with the contents of said one-bit register for generating a match signal when a predetermined correspondence exists between said pixel scanned in said match plane and said contents of said one-bit register; means for providing a write enable control signal; and means for transferring said write enable control signal to said data plane for enabling said data plane to store in said data plane a pixel scanned in said data plane corresponding spatially to said pixel scanned in said match plane when said match signal is generated.
Claim 23
Dependent Claim 34 words
An apparatus according to claim 18 wherein said predetermined correspondence exists between said pixel scanned in said match plane and said contents of said one-bit register when both comprise the same logical binary value.
Claim 24
Dependent Claim 33 words
An apparatus according to claim 18 wherein said predetermined correspondence exists between said pixel scanned in said match plane and said contents of said one-bit register when they comprise opposite logical binary values.

References Cited (Backward Citations)

US4245244A Cited
US4243984A Cited
US4412296A Cited
US4747074A Cited
US4675666A Cited
US4672683A Cited
US4689616A Cited
US4686522A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1993-07-09 1994-01-08 1994-07-10 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1997-07-09 1998-01-08 1998-07-10 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2001-07-09 2002-01-08 2002-07-10 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag