FR2534400A1 - Procedes et appareil d'affichage graphique - Google Patents

Procedes et appareil d'affichage graphique Download PDF

Info

Publication number
FR2534400A1
FR2534400A1 FR8315417A FR8315417A FR2534400A1 FR 2534400 A1 FR2534400 A1 FR 2534400A1 FR 8315417 A FR8315417 A FR 8315417A FR 8315417 A FR8315417 A FR 8315417A FR 2534400 A1 FR2534400 A1 FR 2534400A1
Authority
FR
France
Prior art keywords
display
scan line
region
memory
points
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
FR8315417A
Other languages
English (en)
Other versions
FR2534400B1 (fr
Inventor
William D Atkinson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Computer Inc
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 Apple Computer Inc filed Critical Apple Computer Inc
Publication of FR2534400A1 publication Critical patent/FR2534400A1/fr
Application granted granted Critical
Publication of FR2534400B1 publication Critical patent/FR2534400B1/fr
Expired legal-status Critical Current

Links

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/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • 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/42Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of patterns using a display memory without fixed position correspondence between the display memory contents and the display position on the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/10Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

L'INVENTION CONCERNE UN SYSTEME D'AFFICHAGE GRAPHIQUE QUI CONSISTE A METTRE EN MEMOIRE DES REGIONS DISTINCTES DE FORME ARBITRAIRE SOUS LA FORME DE POINTS D'INVERSION DONT CHACUN A DES COORDONNEES QUI CORRESPONDENT A CELLES D'UN ELEMENT D'AFFICHAGE DU DISPOSITIF D'AFFICHAGE 34 ET QUI DEFINISSENT CHACUN UNE ZONE CONTRASTANTE DELIMITEE PAR LES DEUX LIGNES ORTHOGONALES QUI S'ETENDENT A DROITE ET AU-DESSOUS DE L'ELEMENT ET A CLASSER CES POINTS EN UNE LISTE ORDONNEE DE FACON QUE LA FORME DE LA REGION PUISSE ETRE REGENEREE A PARTIR DE CETTE LISTE DANS UNE MEMOIRE-TAMPON CONTENANT UNE LIGNE DE BALAYAGE DU DISPOSITIF D'AFFICHAGE, DANS LAQUELLE LES DONNEES DE LA REGION SONT SEQUENTIELLEMENT CHARGEES ET QUI PEUT FAIRE L'OBJET DE DIVERSES OPERATIONS AVEC LE CONTENU D'UNE AUTRE MEMOIRE-TAMPON DE LIGNE CONTENANT LES REGIONS DEJA AFFICHEES AVANT LE TRANSFERT DE SON CONTENU POUR AFFICHAGE A UNE CARTE DE BITS DE DESTINATION.

Description

La présente invention se rapporte à un appareil et à des procédés pour
afficher des informations graphiques Plus
particulièrement, la présente invention se rapporte à un appa-
reil et à des procédés de traitement de données pour engen-
drer et manipuler des images et des données sur un système d'affichage. Dans l'industrie des ordinateurs, il est de pratique courante de représenter et de transmettre des informations à un utilisateur au moyen de représentations graphiques Ces
représentations peuvent se présenter sous une grande diver-
sité de formes telles que, par exemple, des caractères alpha-
numériques,des graphiques en coordonnées cartésiennes ou
autres,ainsi que des formes d'objets physiques bien connus.
Historiquement, les hommes ont communiqué avec les ordinateurs au moyen d'un système de commandes discrètes qui comprennent
une combinaison à la fois de textes et de caractères symbo-
liques mathématiques Des exemples de tels systèmes sont nom-
breux et comprennent les langages de programmation Fortran, Algol, PL/1, Basic et Cobol qui transforment un jeu donné de commandes d'utilisateur en code " objet " exécutable par
la machine.
Cependant, la facilité avec laquelle un utilisateur de-
vient compétent en programmation ou en capacité d'interaction
avec un système utilisant un ordinateur est, en général, fonc-
tion du degré d'étroitesse avec lequel le système épouse la pensée logique de l'utilisateur lui-même Si l'utilisateur peut entrer les commandes dans l'ordre qu'il trouverait le plus approprié logiquement- plutôt que d'avoir à traduire ses
commandes dans le-code d'un langage de programmation, on ob-
tient une plus grande efficacité d'utilisation du système par
l'utilisateur r -
Un système qui a été mis au point pour réduire la durée de la période d'apprentissage et d'adaptation par laquelle
un utilisateur doit passer pour devenir compétent dans l'in-
teraction avec un système d'ordinateur est fréquemment appe-
lé un système "adapté à l'objet" ou de bavardage dit "Small-
talk" La solution du système Smalltalk consiste à remplacer
un grand nombre des commandes de programmation codées cou-
rantes par des dessins et une animation bidimensionnels sur un écran de visualisation d'ordinateur Quantitativement, on a trouvé que,du fait que les gens pensent facilement en
images, une personne peut absorber et manipuler des informa-
tions présentées dans un contexte visuel plus plus rapidement
que si elles sont représentées par un texte Le type d'inter-
face Graphique au moyen de laquelle l'utilisateur interagit
avec la machine peut varier pour une application donnée quel-
conque.
Une solution d'interface "Smalltalk" courante utilise de multiples "fenêtres" affichées sur un tube cathodique, dans lesquelles des combinaisons de textes et de dessins sont utilisées pour transmettre des informations Par exemple, chaque fenêtre peut se présenter sous la forme d'une chemise de dossier du type utilisé dans une armoire de classement
classique, qui chevauche d'autres chemises, la chemise "su-
périeure" pleinement visible constituant le dossier en cours.
Un utilisateur peut ajouter des informations ou supprimer
des informations dans le dossier, ranger la chemise de dos-
sier dans un autre emplacement, et d'une manière générale, opérer sur le dossier exactement comme si un dossier réel
était utilisa dans un bureau Ainsi, en présentant graphi-
quement une image qui représente l'objet de la commande de l'utilisateur et en permettant à l'utilisateur d'agir sur l'image et de la manipuler à peu près de lamême manière qu'il le ferait si l'image constituait l'objet effectif,
la machine devient d'un maniement plus facile pour l'utili-
sateur et on obtient une interface homme-machine plus puis-
sante On renverra à ce sujet par exemple à l'article de D.
Robson "Object-Oriented Software Systems" (Systèmes de logi-
ciel adaptés à l'objet) BYTE, août 1981, page 74, tome 6, n' 8.
Bien qu'une grande diversité de représentations gra-
phiques soient désirées dans les systèmes "Smalltalk" ou autres,de grandes capacités mémoire ont été habituellement
nécessaires pour engendrer, mémoriser et manipuler les carac-
tères graphiques:Sous sa forme la plus simple, un bloc de mémoire peut être attribué dans un système de mémoire d'un ensemble de traitement des données dans lequel chaque bit de mémoire (un -1 ou un 0) est transposé en un élément d'image (pixel) correspondant sur le système d'affichage Ainsi un plein écran de tube cathodique rempli de données, sous la forme d'image et/ou de texte,est représenté soit sous forme de 1 (points noirs) soit sous forme de O (pointsblancs) dans un
bloc de mémoire appelé une "carte de bits" Cependant, l'em-
ploi d'une correspondance un pour un entre la carte de bits
et l'affichage à tube cathodique nécessite une quantité im-
portante d'espace de stockage dans la mémoire centrale de l'ordinateur En outre, la génération et la manipulation d'une image ou caractère nécessite que pratiquement tous les bits de la carte de bits soient mise à jour après une
quelconque modification apportée à une image ou analogue.
Cette procédure est à la fois répétitive et longue et en-
trave considérablement l'utilisation des systèmes d'exploi-
tation d'affichages graphiques interactifs.
Un procédé pour fournir les capacités graphiques néces-
saires à ses systèmes tels que le système "Smalltalk"est -
le procédé de "Bit Blt" (transfert de blocs délimité par des bits) mis au point par le Xerox Learning Research Group, Palo Alto Research Center, Palo Alto, Californie EUA Voir l'article de D Ingalls "The Smalltalk Graphics Kernal"(Le coeur de la technique graphique Smalltalk) publié dans BYTE page 168, août 1981, tome 6, n 8 Le procédé Bit Blt utilise des régions qui sont elles-mêmes de petites cartes de bits et qui déterminent des formes'simples,telles que, par exemple, une-forme en tête de flèche destinée à être utilisée comme
curseur, un motif, etc Comme on le décrira plus complète-
ment ci-après, le procédé Bit Blt transfère des caractères à partir d'une carte de bits d'origine, telle que, par exemple,
un fichier de fonte de caractères,à une carte de bits de des-
tination (c'est-à-dire un bloc de mémoire qui doit être affi-
* ché sur un tube cathodique) à des coordonnées données En in-
corporant l'emploi d'un "rectangle découpé" qui limite la ré-
gion de la carte de bits de destination qui peut être modifiée, on peut encarter une partie d'une scène plus grande dans une
fenêtre de telle sorte que seule la partie de la scène trans-
férée qui tombe dans la fenêtre soit transférée En outre, il-est prévu un certain nombre d'opérations de transfert qui
commandent la combinaison d'une scène ou d'un caractère trans-
féré avec une scène existante précédemment enregistrée dans la carte de bits de destination Cependant, le système Bit Blt est limité en ce qui concerne les types d'images qui peuvent être transférées et manipulées Spécifiquement, le système
Bit Blt est limité à des transferts de zones rectangulaires.
Cette limitation restreint de manière importante son utilisa-
tion en tant qu'instrument graphique, étant donné que le sys-
tème Bilt Blt est, de ce fait, incapable de transférer des données à des fenêtres qui se chevauchent ou analogues En
outre, le système Bit Blt nécessite des quantités très impo-
tantes de mémoire On décrira ci-après dans la présente de-
mande d'autres limitations que présentent les systèmes de la techniqueantérieure afin de mieux faire ressortir la nature
de la présente invention.
Comme on le décrira ci-dessous, la présente invention fournit un moyen grâce auquel on peut définir et mettre en
mémoire une région quelconque de forme arbitraire en utili-
sant nettement moins de mémoire que cela n'était possible dans la technique antérieure En outre, la présente invention
fournit un moyen grâce auquel des opérations peuvent être ef-
fectuées sur les régions,efficacement etrapidement par un or-
dinateur numérique -
La présente invention fournit des procédés et un appa-
reil qui sont plus avantageusement utilisés en combinaison
avec un ordinateur numérique pour fournir des rossibilitésgra-
phiques perfectionnées Ces techniques permettent la repré-
sentation et la manipulation d'une région quelconque arbi-
trairement définie au moyen de "Points d'inversion" Un point d'inversion est, par définition, un point auquel l'état de
tous les points ayant des coordonnées à la droite et au-
dessous du point en cause sont inversés (par exemple, les
zéros binaires, sont convertis en uns binaires et vice-
versa) Une "Région" est définie comme étant une zone arbi-
traire quelconque qui peutcomporter un certain nombre de groupes de zones séparées Ainsi, toute forme, telle que, par exemple, la forme d'un "L" est traitée simplement comme
toute autre région qui doit être définie et traitée En dé-
finissant un ensemble de points d'inversion pourune région
donnée quelconque, il n'est pas nécessaire de mettre en mé-
moire tous les points qui constituent la région mais,au con-
traire, il suffit de mettre en mémoire les'points d'inver-
sion qui définissent la région.
En résumé, conformément à un mode de réalisation carac-
téristique de la présente invention, il est prévu un moyen pour engendrer une représentation d'entrée d'une région qui peut avoir une forme ou surface arbitraire quelconque dont
il n'est pas nécessaire que le périmètre soit une courbe con-
tinue et qui peut comporter des zones séparées Cette repré-
sentation d'entrée est avantageusement appliquée à un ordina-
teur numérique Après l'avoir-reçue,l'ordinateur détermine la position des points d'inversion nécessaires pour définir la région et classe les points de gauche à droite et de bas en haut conformément à leurs coordonnées dans la région Des moyans exécutant un algorithme sont prévus pour transférer et traiter les régions (ou des parties de ces régions) à l'intérieur de la mémoire de l'ordinateur et pour afficher une région résultante sur un-dispositif approprié tel que,
par exemple, un tube cathodique ou analogue.
Un masque de ligne de balayage comporte une mémoire-
tampon contenant une unique ligne de balayage qui représente sous une forme binaire les régions existantes qui sont en
train d'être affichées et sont,au moment en causerenregis-
trées dans une carte de bits de destination La carte de bits de destination comprend un bloc de mémoire dont chaque
bit correspond à-un pixel ou analogue du dispositif d'affi-
chage Le masque de ligne de balayage effectue un balayage vertical de haut en bas et "découpe" les régions existantes en rangées horizontales correspondant à chaque ligne de trame de l'affichage à tube cathodique De la même manière, les
données provenant d'une carte de bits d'origine ou d'un fi-
chier de fonte de caractères, sous forme de caractères ou
analogues, qui doivent être ajoutées à une partie de la car-
_ e de bits de destination sont également "découpées" en
rangées et placées dans une mémoire-tampon de liagne de ba-
layage horizontale correspondant à chaque ligne de balayage de trame du tube cathodique Lorsqu'une ligne de balayage horizontale est transférée de la carte de bits d'origine ou analogue à la carte de bits de destination, le contenu de la mémoire-tampon de ligne de balayage des données d'origine est comparé au contenu du masque de ligne de balayage de sorte que la ligne de balayage des données d'origine est "masquée" et que seulement des parties choisies des données de la mémoire-tampon des données d'origine sont transférées à la carte de bits de destination En utilisant un certain nombre d'opérateurs de régions,onpeut spécifier l'ordre de
priorité entre les régions existantes et les nouvelles ré-
gions Ainsi, un motif (par exemple rayures, damiers, etc ou analogue) peut être ajouté à une région existante, un texte peut être recouvert, le déroulement d'un textedans une région peut être facilement effectué et de nombreuses
autres opérations graphiques peuvent être exécutées.
La carte de bits de destination résultante est conver-
tie en signaux qui sont ensuite appliqués à un tube catho-
dique ou autre dispositif d'affichage et l'image est affi-
chée d'une manière classique.
D'autres caractéristiques de l'invention apparaitront
à la lecture de la description qui va suivre et à l'examen
des dessins annexés dans lesquels: la Fig 1 représente un ordinateur mettant en oeuvre la présente invention;
la Fig 2 représente une organisation typique de la mé-
moire de programme du système de la Fig 1;
les Fig 3 (a)-(h) représentent l'emploi de points d'in-
version pour définir une région; les Fig 4 (a)-(e) représentent des opérations exécutées sur des régions en utilisant des points d'inversion que l'on peut effectuer en utilisant la présente invention; la Fig 5 représente le processus de conversion d'une région définie par des points d'inversion en contenu d'une mémoire-tampon de ligne de balayage qui balaye une région verticalement de haut en bas; la Fig 6 représente symboliquement l'exécution d'une opération "ET" entre deux régions, ligne de balayage par ligne de balayage; la Fig 7 représente symboliquement le fonctionnement d'un masque de carte de bits pour masquer sélectivement des parties d'une région d'origine à afficher; la Fig 8 représente symboliquement l'utilisation de la mémoire-tampon de ligne de balayage et d'un masque de ligne de balayage pour masquer sélectivement des parties d'une région d'origine avant son transfert à la carte de bits de destination pour l'affichage;
la Fig 9 représente le résultat d'un mode de réalisa-
tion de la présente invention utilisant le système de points
d'inversion et à masque de ligne de balayage.
NOTATION ET NOMENCLATURE
Les descriptions détaillées données ci-après sont présen-
tées en grande partie sous forme d'algorithmes et de repré-
sentations symboliques effectuées sur des bits de données à
l'intérieur d'une mémoire d'ordinateur Ces descriptions al-
gorithmiques et ces représentations binaires sont les moyens utilisés par les spécialistes de la technique du traitement
de l'information pour communiquer le plus efficacement pos-
sible la substance de leurs travaux aux autres spécialistes
de la technique.
Un algorithme est considéré ici,et en règle générale, comme étant une séquence d'étapes homogènes qui aboutit à un résultat désiré Ces étapes sont celles qui nécessitent
des manipulations physiques de quantités physiques Habituel-
lement, quoique non nécessairement, ces quantités se pré-
sentent sous la forme de signaux électriques ou magnétiques susceptibles d'être mis en mémoire, transférés, combinés, comparés et manipulés d'autres manières Il s'avère parfois commode, principalement pour la raison que c'est l'usage courant, d'appeler ces signaux des bits, valeurs, -éléments, symboles, caractères, termes, nombres ou analogues On doit, cependant, conserver à l'esprit que tous ces termes et autres
termes semblables doivent être associés aux quantités phy-
siques appropriées et sont simplement des étiquettes commodes
appliquées à ces quantités.
En outre, les manipulations exécutées sont souvent dé-
crites par des termes,tels qu'addition ou comparaison, qui
1 C sont couramment associées à des opérations mentales effec-
tuées par un opérateur humain Une telle capacité d'un opé-
rateur humain n'est pas néessaire ni désirable dans la plupart
-des-cas dans toutes les opérations décrites ici qui sont l'ob-
jet de la présente invention; les opérations sont des opéra-
tions machine Des machines utilisables pour effectuer les
opérations de la présente invention sont notamment les ordi-
nateurs numériques universels et autres dispositifs sem-
blables Dans tous les cas, on doit garder à l'esprit la distinction entre les opérations de traitement utilisées pour
faire fonctionner un ordinateur et le procédé de calcul pro-
prement dit La présente invention se rapporte à des étapes de procédé pour faire fonctionner un ordinateur afin de traiter des signaux électriques ou autres signaux physiques (par exemple, mécaniques, chimiques) pour engendrer d'autres
signaux physiques désirés.
La présente invention se rapporte également à un appareil
pour effectuer ces opérations Cet appareil peut être spé-
cialement construit pour les fins recherchées ou ce peut être un ordinateur universel, tel que sélectivement actionné ou reconfiguré par un programme d'ordinateur mis en mémoire dans l'ordinateur Les algorithmes présentés ici ne sont pas liés d'une manière inhérente à un ordinateur ou autre appareil particulier quelconque En particulier, on peut utiliser di
verses machines universelles avec des programmes écrits con-
formément aux enseignements de la présente invention ou il peut s'avérer plus commode de construire un appareil plus spécialisé pour exécuter les étapes de procédé requises La
structure requise pour un grand nombre de ces machines res-
sortira de la description donnée ci-dessous.
DESCRIPTION DETAILLEE
La description détaillée donnée ci-après a été divisée
en plusieurs chapitres Le premier chapitre décrit un agence-
ment général de système pour engendrer des données infogra-
phiques Les chapitres suivant traitent divers aspects de la
présente invention,tels que,notamment,la définition d'une ré-
gion d'entrée au moyen de points d'inversion, le classement des points d'inversion, les opérations effectuées sur les
points d'inversion, la génération d'un masque de ligne de ba-
layage et les opérations de transfert de régions, entre autres.
En outre, dans le cours de la description qui suit, on
a donné de nombreux détails spécifiques, tels que des conven-
tions algorithmiques, des nombres de bits spécifiques, etc
afin de permettre une pleine compréhension de la présente in-
vention Cependant, il apparaitra clairement aux spécialistes de la technique que la présente invention peut être mise en oeuvre sans ces détails spécifiques Dans d'autres cas, on
n'a pas décrit en détail des circuits et structures bien con-
nus afin de ne pas obscurcir inutilement la présente invention.
CO Ni FIGURPTION GENERWLE DU SYSTEME
La Fig 1 représente un système typique utilisant un or-
dinateur pour engendrer des images infographiques conformé-
ment à la présente invention On a représenté un ordinateur qui comporte trois éléments principaux Le premier de ces
éléments est le circuit d'entrée/sortie(E/S) 22 qui est uti-
lisé pour transmettre des informations sous une forme struc-
turée d'une manière appropriée à d'autres parties de l'ordi-
nateur 20 et pour recevoir de telles informations de ces
autres parties On a également représenté comme faisant par-
tie de l'ordinateur l'unité centrale 24 et la mémoire 26.
Ces deux derniers éléments sont ceux que l'on trouve dans la plupart des ordinateurs universels et dans presque tous les
ordinateurs spécialisés En fait, les divers éléments conte-
nus dans l'ordinateur 20 sont destinés à être représentatifs de cette large catégorie de calculateurs Des
exemples particuliers de calculateurs qui con-
viennent pour remplir le rôle de l'ordinateur 20 sont no-
tamment des machines fabriquées par la Société Apple Computer
Inc Cupertino, Californie, EUA On reut naturellement adap-
ter facilement d'autres ordinateurs ayant des capacités simi-
laires de façon qu'ils puissent remplir les diverses fonc-
tions décrites ci-dessous.
On a également représenté sur la Fig 1 un dispositif d'entrée 30 représenté dans un mode de réalisation typique comme étant un clavier Ii est bien entendu, cependant, que le dispositif d'entrée peut être, en fait un lecteur de
cartes, un lecteur de bande magnétique ou de bande en pa-
pier, ou un autre dispositif d'entrée bien connu quelconque, (y compris naturellement un autre ordinateur) Un mémoire de
masse 32 est couplée au circuit E/S 22 et fournit une capa-
cité de mémoire supplémentaire à l'ordinateur 20 La mémoire de masse peut contenir d'autres programmes, d'autres fontes de caractères donnés et analcgies et elle peut se présenter sous la forme d'un lecteur de bande magnétique
ou de bande en papier ou autre dispositif similaire bien con-
nu On comprendra que les données contenues dans la mémoire de masse 32 peuvent dans les cas appropriés être incorporées d'une manière classique à l'ordinateur 20 en tant que partie
de la mémoire 26.
En outre, on a représenté un écran de contrôle 34 qui est utilisé pour afficher les images qui sont engendrées par
la présente invention Un tel écran de contrôle peut se pré-
senter sous la forme del'un quelconque des divers types bien
3 C connus d'écrans de visualisation à tube cathodique Une com-
mande decurseur 36 sert à choisir les modes de commande et à éditer des données graphiques, telles que, par exemple, une image particulière et elle fournit un moyen plus
commode pour entrer des informations dans le système.
La Fig 2 représente un agencement typique des princi-
paux programmes contenus dans la mémoire 26 représentée sur la Fig 1 En particulier, on a représenté une carte de bits
de destination vidéo qui, dans le mode de réalisation actuel-
lement préféré,comprend approximativement 32 kiloctets de mémoire Cette carte de bits de destination 38 représente la mémoire vidéo pour l'écran de contrôle 34 Chaque bit de la carte de destination correspond à la coordonnée supérieure
gauche d'un pixel correspondant sur l'écran de contrôle Ain-
si, la carte de bits de destination peut être considérée comme étant un tableau à deux dimensions de points ayant des coordonnées connues Naturellement, dans le cas o d'autres moyens d'affichage seraient utilisés, tels que, par exemple, une imprimante ou analogue, le contenu de la carte de bits 38
représenteraient les points de données à afficher par le dis-
positif d'affichage La mémoire 26 contient également des
programmes 40 qui représentent diverses séquences d'instruc-
tions à exécuter par l'unité centrale Par exemple, le programme de commande qui exécute les opérations et routines décrites dans la présente demande, les programmes moniteur et de commande, les systèmes d'exploitation pour disques et analogues peuvent être mis en mémoire dansc ette partie de
la mémoire.
La carte de bits d'origine 42 qui peut comporte des ré-
gions, des fontes, des structures de-données et des caractères est égalemert mise en mémoire dans la mémoire 26 ou elle peut être mise temporairement en mémoire dans la mémoire de masse 32 de la manière qui peut être requise dans une application
donnée quelconque-de la présente invention En outre, un l'es-
pace 44 à l'intérieur de la mémoire 26 est réservé pour d'autres programmes et en tant que mémoire de réserve Ces
autres programmes peuvent comporter-divers programmes de cal-
culs utiles ou divers programmes utilitairesselon les besoins.
REPRESENTATION PAR DES POINTS D'INVERSION DE REGIONS
*DEPINIES
La présente invention représente une région quelconque définie arbitrairement à l'aide de "points d'inversion" En outre, la présente invention définit une "région" comme étant une zone arbitraire quelconque qui peut comporter plusieurs zones séparées de forme ou configuration quelconque Sur la
253440 O
Fig 3 (a) à laquelle on se référera maintenant, on a représen-
té un point d'inversion 40 Un point d'inversion est, par définition, un poiint auquel l'état de tous les points ayant
des coordonnées à la droite et au-dessous du point d'inver-
sion sont inversés Ainsi, comme représenté, toutes Les zones situées à la droite et au-dessous du point 40 sont noires
étant donné que le point 40 a été défini sur un fond précédem-
ment blanc Considéré sous l'angle de la mise en oeuvre phy-
sique du système à pointsd'inversion, la position d'un point d'inversion est décrite par ses coordonnées dans une carte
de points de la mémoire.
Comme illustré sur la Fig 3 (b),une bande verticale il-
limitée est obtenue lorsque deux points d'inversion 40 et 42 sont définis sur une carte de bits, telle que la carte de bits de destination 38 et ensuite affichés sur l'écran de contrôle -34 L'addition du point 42 sur la carte de bits inverse l'état de tous les points ayant des coordonnées à sa droite et au-dessous de lui, supprimant l'effet du point à l'intérieur de cette zone et définissant, de ce fait,
une bande verticale noire.
De la même manière quatre points d'inversion 40, 42,
44 et 46 définissent un carré ou autre rectanglecomme re-
présenté sur la Fig 3 (c) Comme représenté sur les Fig. 3 (d) et 3 (e), on peut définir d'autres zones en utilisant des points d'inversion et on peut facilement former des vides à l'intérieur d'une forme donnée En outre, il apparaîtra clairement qu'une région donnée quelconque peut contenir un nombre quelconque de zones séparées,comme représenté sur la
Fig 3 (f),étant donné que toutes les formes contenues à l'in-
térieur d'une région sont simplement définies par les coor-
données des points d'inversion.
En'outre, on peut définir des régions circulaires et autres régions non linéaires au moyen d'un positionnement approprié de points d'inverion Comme représenté sur la Fig. 3 (g) à laquelle on se référera, on peut définir une ligne
diagonale 43 entre des points "X" et "Y" par une série éche-
lonnée de deux points d'inversion entre "X" et "Y" Une
ligne diagonale directe entre les points serait certes pré-
férable mais la structure physique de l'écran de contrôle 34 à balayage ligne par ligne ne le permet pas Chaque pixel affiché sur l'écran de visualisation à tube cathodique occupe une surface unitaire entre des coordonnées données, un pixel particulier étant accédé, par convention, par la coordonnée
du point de quadrillage situé à son angle supérieur gauche.
Ainsi, une fonction en échelons de points a'inversion défi-
nissant une série de segments de lignes horizontaux est néces-
saire pour représenter de manière approchée une ligne diago-
nale. On comprendra que lorsqu'une région donnée quelconque a été définie au moyen de ses points d'inversion,il suffit,en général,que seulement lespoints d'inversion soient conservés dans la mémoire 26, à la différence d'un grand nombre des
systèmes de la technique antérieure quinécessitent que prati-
quement tous les points qui constituent une image soient mis en mémoire Dans le mode de réalisation actuellement préféré/ une région est entrée dans l'ordinateur 20 par un utilisateur au moyen de la commande de curseur 36 ou autre dispositif d'entrée La position des points d'inversion qui définissent une région est déterminée en détectant les segments de ligne horizontaux qui, en partie, forment des parties de la région entrée Comme représenté sur la Fig 3 (h) à laquelle on se référera, des segments de ligne 80, 85, 90, 100 et 125 sont ainsi identifiés Des points d'inversion sont alors définis aux coordonnées correspondant aux points d'extrémité de chaque segment de ligne, définissant ainsi la totalité de la région au moyen de ses points d'inversion Les segments de ligne verticaux à l'intérieur de la région sont ignorés étant donné qu'ils sont engendrés automatiquement, par définition,
lorsqu'on utilise la convention des points d'inversion précé-
demment décrite La séquence spécifique des opérations que doit exécuter l'ordinateur 20 pour détecter et isoler les
segments de ligne horizontaux sera évidente pour les spécia-
listes de la technique du traitement de l'information et on ne la décrira pas davantage ici Les points d'inversion d'une région sont classés en une liste ordonnée de points
dans l'ordre de gauche à droite et de haut en bas en fonc-
tion de leurs coordonnées Par exemple, si l'on se réfère à la région de la Fig 3 (e) la liste des points d'inversion conformément à cette convention serait la suivante: 54, 56,
58, 60, 62, 64, 66, 68, 70, 72, 74, 76.
On a trouvé que l'emploi de la convention ci-dessus per-
met d'effectuer des opérations simplifiées sur des régions, telles que celles représentées sur les Fig 4 (a)-(e) Les opérations caractéristiques qui peuvent être effectuées en utilisant les listes ordonnées de points d'inversion de la présente invention sont la fonction de la détermination de
l'appartenance d'un point à une région, ainsi que les fonc-
tions d'intersection, d'union de différence et OU exclusif
entre des régions.
Il est fréquenmment nécessaire,au cours d'une opération graphique,de déterminer si un point contenu dans la carte de
bits de destination (et,de ce fait,affiché d'une manière cor-
respondante sur l'écran de contrôle) se trouve à l'intérieur d'une région particulière Cette fonction est généralement
appelée"détermination de l'appartenance du point' Antérieure-
ment, Sa détermination de l'appartenance d'un point nécessi-
tait des manipulations de données et des calculs relativement importants Par exemple, un procédé de la technique antérieure pour déterminer l'appartenance d'un point consiste à calculer et additionner les angles partant du point jusqu'à la région intéressée Si la somme des angles est égale à 360 , le point
appartient à la région On comprendra que ce procédé particu-
lier de détermination de l'appartenance d'un point exige des
calculs nombreux et répétés et est long.
Cependant, l'emploi par la présente invention de points
d'inversion offre un moyen efficace pour déterminer l'apparte-
nace d'un point Comme représenté sur la Fig 4 (a) à laquelle on se référera, conformément à la présente invention, il est effectué un balayage de la liste précédemment ordonnée des points d'inversion qui définissent la région en cause, de
haut en bas Si un point d'inversion a une coordonnée verti-
cale supérieure ou égale à la coordonnée verticale du point en cause (point "P" sur la Fig 4 (a)) et si la coordonnée horizontale du point d'inversion est inférieure à celle du point "P",une variable qui est soit vraie soit fausse (et qui a été initialement mise,par exemple,à l'état faux) est "basculée" Ainsi, chaque fois qu'un point d'inversion situé
au-dessus et à la gauche du point en cause est détecté, l'é-
tat d'une variable vraie/fausse est inversé Si, après analyse de la liste des points d'inversion qui définissent la région, la variable est vraie (c'est-à-dire qu'il s'est produit un nombre impair de changements d'état), le point en cause (à savoir le point "P") se trouve'dans la région particulière examinée Cependant, si la variable est fausse (c'est-à-dire qu'il ne s'est produit aucun changement d'état ou qu'il s'est produit un nombre pair de changements d'état), le point ne se
trouve pas dans la région Ainsi, la présente invention four-
nit un procédé rapide et efficace pour déterminer l'apparte-
nace d'un point en utilisant les points d'inversion,qui n'é-
tait pas possible dans la technique antérieure.
CONVERSION DE LA REGION EN CONTENU DE MEMOIRE-TAMPON DE
LIGNE DE BALAYAGE
L'utilisation par la présente invention de listes or-
données des points d'inversion fournit-un moyen simple pour représenter le contenu de chaque ligne de trame sur l'écran
de contrôle 34 Comme représenté sur la Fig 5 à laquelle on-
se référera maintenant, une partie 40 de la mémoire (voir la Fig 2) est affectée en tant que mémoire-tampon d'une ligne
de balayage Dans le mode de réalisation actuellement préfé-
rée, cette mémoire-tampon de ligne de balayage est suffisam-
ment grande pour que chaque pixel d'une rangée horizontale de pixels de l'écran de contrôle à tube cathodique ou autre
dispositif de sortie soit représenté par un bit dans-la mé-
moire-tampon Une région qui a été précédemment définie au moyen d'une liste ordonnée de points d'inversion peut être représentée par des états binaires dans la mémoire-tampon de ligne de balayage Pour toutes les rangées horizontales affichées sur l'écran de contrôle 34 et désignées V 0, V 1, V 2 Vn+ 1 sur la Fig 5, les-points d'inversion ayant des 16-
coordonnées verticales correspondant à la rangée horizon-
tale particulière qui est balayée sont représentés par un état modifié (c'est-à-dire un 1 dans une zone de ligne de balayage d'origine de zéros) aux coordonnées appropriées de
la mémoire-tampon ae ligne de balayage Tous les bits si-
tués entre une paire de points d'inversion sont alors inver-
sés de sorte qu'une représentation vraie de la région à afficher est engendrée à partir de la liste ordonnée de points d'inversion Ainsi, comme représenté sur la Fig 5, en balayant chaque rangée horizontale à afficher, une région
quelconque peut être "découpée" horizontalement et séquentiel-
lement en segments d'une ligne de large.
Comme on le décrira ci-dessous, l'utilisation d'une unique ligne de balayage de trame permet de transférer une région d'une carte de bits d'origine 42 à la carte de bits de destination et de la "masquer" d'une manière appropriée de
telle sorte qu'on peut transférer et manipuler une région ar-
bitraire quelconque, à la différence des systèmes, tels que
le système Bit Blt, qui sont limités à des transferts de ré-
gions rectangulaires.
En outre, on comprendra que la conversion de la région dans le contenu de la mémoire-tampon est inversible Une iois qu'une région est représentée sous la forme du contenu de la mémoire-tampon d'une ligne -de balayage, un ensemble
ordonné de points d'inversion peut être redéfini en déter-
minant les positions des états d'inversion dans la mémoire-
tampon lorsque la mémoire-tampon balaye une région de son
sommet (V 1) à sa base (V) Les positions des points d'in-
version sont faciles à déterminer étant donné qu'une position de point d'inversion dans la mémoire-tampon est le point o un changement d'état binaire est détecté (à savoir un 1 dans le cas o le bit suivant est un 0) Plus précisément, dans le présent mode de réalisation, les positions des points d'inversion peuvent être déterminées d'une manière simple au
moyen d'une opération OU exclusif entre le contenu de la mé-
moire-tampon pour la ligne de balayage en cours (par exemple, la ligne V 3) et le contenu de la mémoire-tampon pour la 1 7 ligne de balayage précédente (par exemple V) Ainsi, les
parties de la région qui restent inchangées entre les posi-
tions verticales des lignes de balayage successives sont ignorées étant donné qu'une uniformité de contenu entre une position verticale de ligne de balayage et la suivante in- dique qu aucun point d'inversion n'est présent En outre, les positions horizontales des points d'inversion peuvent alors être déterminées en décalant à droite d'un bit la ligne de balayage ayant fait l'objet d'une opération OU
exclusif et en effectuant une autre opération OU exclusif.
Par exemple, si après l'opération OU exclusif entre les lignes Vn et Vn-1 de la mémoire-tampon de lignes de balayage, le résultat obtenu a été 01110011, en décalant le résultat d'un bit à droite et en effectuant une autre opération OU exclusif on obtient:
00111001 ( 1)
01001010 position'des points d'inversion pour la ligne de balayage Vn Les commandes spécifiques que doit exécuter l'ordinateur pour déterminer o il existe un changement d'état dans une mémoire-tampon de ligne de balayage seront évidentes pour les
spécialistes de la technique et on ne les décrira pas davan-
tage ici.
OPERATEURS DE REGIONS
L'utilisation par la présente invention d'une mémoire-
tampon d'une seule ligne de balayage pour représenter systé-
matiquement le contenu de régions permet d'effectuer facile-
ment les opérations précédemment décrites d'union, d'inter-
section, etc Par exemple, l'opération d'intersection re-
présentée sur la Fig 9 (b) fournit une représentation par points d'inversion de la région hachurée et est obtenue en effectuant une opération ET sur les deux régions "A" et "B" qui se chevauchent Comme représenté sur la Pig 6 à laquelle on se référera maintenant, une mémoiretampon d'une ligne de balayage est définie pour chaque région "A" et "B" Pour
chaque rangée de trame horizontale de l'écran de visualisa-
tion à tube cathodique, la mémoire-tampon de ligne de ba-
layage respective représente le contenu de chaque région sous une forme binaire On traite alors les contenus des mémoires-tampons de ligne de balayage afin d'exécuter la fonction désirée Dans le cas de la Pig 4 (b), les contenus font l'objet entre eux d'une opération ET pour produire une
ligne de balayage composite Par exemple, si, pour la posi-
tion verticale V 1: Ligne de balayage "A" = 11111100 Ligne de balayage "B" = 10010001 La ligne de balayage composite après une opération "ET"
sera: 10010000 En outre, la même opération "ET" est effec-
tuée pour chaque rangée horizontale Vn qui constitue chaque
région Le résultat de l'opération ci-dessus est une repré-
sentation composite, ligne de balayage par ligne de balayage, de la région d'intersection résultante hachurée "C" de la Fig 4 (b) La position des-points d'inversion qui constituent
la région hachurée "C" peut alors être extraite, en utili-
sant des techniques connues, telles que l'opération OU exclu-
sif précédemment décrite.
De même, une opération "OU" entre les deux régions est
utilisée pour exécuter la fonction d'union de la Fig 4 (c).
Pour obtenir l'opération de différence de la Fig 4 (d),l'o-
pération entre les deux régions serait (NON"S") ET "R sui-
vant laquelle l'état de toutes les quantités binaires repré-
sentées dans la mémoire-tampon de ligne de balayage "S" est inversé avant d'effectuer une opération ET du contenu de
cette mémoire avec la mémoire-tampon de ligne de balayage "R".
Enfin, l'opération OU exclusif de la Fig 4 (e) est ef-
fectuée simplement en exécutant une opération OU exclusif sur le contenu des mémoires-tampons de ligne des deux régions de la même manière que celle utilisée dans l'exemple ci-dessus
d'une opération "ET" Cependant, les spécialistes de la tech-
nique comprendront que l'emploi de listes ordonnées de points d'inversion rend banale l'opération OU exclusif L'opération peut être effectuée par un tri avec fusion des listes de points d'inversion des régions "T" et "U" de la Fig 4 (e) et élimination de tous-les points qui ont les mêmes coordon nées dans les deux régions En d'autres termes, l'ordinateur
traite-simplement les listes ordonnées de points d'inver-
sion définissant les régions "T" et "Ut comme une unique-
grande liste et classe tous les points d'inversion, de gauche
à droite et de haut en bas-, conformément à la convention pré-
cédemment décrite La liste résultante de points d'inversion repr:ésente une région dont les points sont contenus soit dans
la région "T" soit dans la région "U" mais non les deux.
On comprendra que de nombreuses autres opérations et combinaisons d'opérations peuvent êtreeffectuées sur des
régions arbitraires quelconques en utilisant le procédé par.
points d'inversion et à mémoire-tampon de ligne-de balayage, qui ne pouvaient être effectuées en utilisant les procédés
de la technique-antérieure.
MASQUE DE LIGNE DE BALAYAGE
Sur la Fig 7 à laquelle on se référera maintenant, on a représenté symboliquement l'utilisation d'un masque de ligne de balayage pour permettre le découpage d'une région arbitraire Une région 160 précédemment'définie qui a été convertie en une liste ordonnée de points d'inversion est
utilisée comme "masque" auquel toutes les-images supplémen-
taires à afficher sur l'écran de contrôle 34 sont comparées avant d'être transférées à la carte de bits de destination
38 Comme représenté-sur la Fig 9, il est fréquemment dési-
ré que de multiples régions se chevauchent avec-une certaine priorité prédéterminée Comme représenté, des chemises de
dossier peuvent être représentées comme si elles se chevau-
chaient, un texte peut être écrit sur chaque fichier affiché
et d'autres régions arbitraires peuvent être affichées Ce-
pendant, comme décrit ci-dessus, les procédés de la technique antérieure, tels que le procédé Bit Bltsont limités à des
"découpages de régions" rectangulaires Ainsi, la souplesse-
d'utilisation des systèmes de la technique antérieure'est fortement limitée par la contrainte de n'opérer que sur-des régions rectangulaires et par leur incapacité de modifier les régions autres que la région située sur le dessus (par
exemple la chemise de dossier 210).
Comme représenté symboliquement sur la Fig 7, d'autres régions, telles que des dessins ou caractères,sont comparéesà un "masque" de carte de bits, ligne de balayage par ligne de balayage,des régions existantes qui sont affichées au moment en cause Comme on le décrira ci-dessous, en définissant des opérateurs de régions, on peut définir diverses priorités de masquage Ainsi, des dessins peuvent être formés ainsi que des fontes et autres caractères dans une région arbitraire
quelconque Le "découpage des régions" est effectué en fonc-
tion des opérateurs de régions de telle sorte que des parties
de régions qui se chevauchent sont sélectivement affichées.
Comme représenté sur la Fig 8 à laquelle on se référera
maintenant, chaque carte de bits d'origine 42 qui peut com-
porter une image, caractère, fonte ou analogue que l'on désire
afficher est "découpée" en rangées, et convertie en un conte-
nu d'une mémoire-tampon'd'une ligne de balayage conformément,
par exemple,au procédé décrit ci 7 dessus dans le chapitre inti-
tulé "Conversion de la région en contenu de mémoire-tampon
de ligne de balayage" Ainsi, chaque région à afficher est re-
présentée par une mémoire-tampon d'une ligne qui balaye hori-
zontalement la carte de bits d'origine 42 et fournit une re-
présentation binaire de la région d'origine au moyen d'un dé-
-' veloppement approprié des positions des points d'inversion
le long de la mémoire-tampon.
Les régions qui sont à ce moment affichées forment une région de "masque" de carte de bits à laquelle les nouvelles régions à afficher sont comparées Comme on le fait avec les nouvelles régions d'origine à ajouter, la région d'affichage
existante est transformée en un masque d'une ligne de ba-
layage représentant le contenu,-sous une forme binaire,de la
région de destination Selon l'opération de mode de trans-
fert spécifié, chaque ligne de la nouvelle région est sélec-
tivement transférée à la carte de bits de destination et af-
fichée sur l'écran de contrôle 34.
Le type spécifié d'opérateur de mode de transfert qui
est utilisé est une fonction de la sortie désirée Les opéra-
teurs de régions comprennent les fonctions OU, ET, OU esclu-
sif, NON ainsi que des combinaisons quelconques de ces fonc-
tions Par exemple, si le masque de ligne de balayage en cours pour la rangée V 1 du tube cathodique contient 01101010 et sila mémoire de ligne de balayage d'origine en cours pour la rangée V 1 contient 01100110, le résultat qui sera affiché sur l'écran de contrôle 34 après une opération ET sera: 01101010 contenu de la mémoire-tampon de masque de ligne de balayage
(ET) 01100010 contenu de la-mémoire-tampon de ligne de ba-
layage d'origine 01100010 contenu de la ligne de balayage de la carte de bits de destination à afficher
Ainsi, on comprendra que toutes les parties de la nou-
velle région d'origine ne sont pas transférées au dispositif d'aff Lcahge et qu'elle est, de ce fait, découpée en fonction de l'opérateur de transfert particulier choisi En outre, on
notera que la forme particulièredes régions qui sont trai-
tées est sa-ns importance en ce qui concerne le procédé de la présente invention L'utilisation de points d'inversion et de mémoires-tampons d'une seule ligne permet de définir, de masquer et de transférer une région arbitraire quelconque au
moyen du prccédé de la présente invention.
Dans le mode de réalisation actuellement préféré, il est prévu trois mémoires-tampons de masque de ligne de balayage
séparées auxquelles une nouvelle région d'origine est comparée.
Un masque de "région d'utilisateur" comprend la: région exis-
tante qui est affichée que la nouvelle région, si elle est
transférée, modifiera Un masque de "région visible" est dé-
fini comme étant la partie visible de la région existante en cours d'affichage (par exempie, la chemise de dossier 200 de la Fig 9) La "région de découpage" comprend la partie visible de la région d'utilisateur à laquelle la nouvelle région est "agrafée" de sorte qu'une partie seulement de la région d'origine est transférée Ainsi, une nouveile région d'origine à transférer de la carte de bits d'origine 42 à
la carte de bits de destination 38 est transmise par l'inter-
médiaire de l'équivalent de trois mémoires-tampons de masque de ligne de balayage En pratique, chaque masque de ligne de balayage est l'objet d'une opération ET avec les autres masques et le masque de ligne à balayage composite estensuite
_ utilisé pour masquer les nouvelles régions.
Sur la Fig 9, à laquelle on se référera maintenant, on a représenté un exemple d'une sortie affichée sur l'écran de contrôle 34 conformément à la présente invention La région
a été initialement définie Dar un utilisateur et mémori-
sée dans la mémoire 26 sous forme d'une liste ordonnée de points d'inversion En spécifiant un opérateur de régions approprié, des régions210 et 240 ont été affichées de telle
sorte que la région 200 parait être disposée entre les ré-
gions 210 et 240 De même, un texte a été inscrit dans chaque
région en forme de chemise de dossier et un découpage de ré-
gion approprié effectué en utilisant le procédé à masque de ligne de balayage,tel que décrit ci-dessus,assure que seules les parties de chaque région qui 'seraient visibles si des
dossiers réels étaient utilisés sont affichées.
En outre, il apparaîtra clairement aux spécialistes de la technique que bien qu'on ait décrit la présente invention en se référant plus particulièrement à des représentations binaires sur le dispositif d'affichage 34 et, par conséquent en noir et blanc, l'on peut également utiliser un procédé
à points d'inversion et à masquage de ligne de balayage ap-
propriée pour des images en couleur Par exemple, pour four-
nir les couleurs rouge, verte et bleue, on peut utiliser trois représentations par points d'inversion, une pour chaque couleur respective Ainsi, la présence d'un point d'inversion dans une région d'une couleur peut sélectivement
décharger un canon de couleur dans un tube cathodique cou-
leur ou analogue, correspondant à cette couleur De la même manière, diverses couleurs pourraient être obtenues au moyen d'une combinaison appropriée des trois représentations par points d'inversion de chaque région mise en mémoire dans
la mémoire.
DETAILS DE CODAGE
-On n'a indiqué ci-dessus aucun langage de programmation
utilisable pour mettre en oeuvre les diverses procédures dé-
crites ci-dessus Ceci est en partiedu au fait que tous les langages qui pourraient être mentionnés ne sont pas univer-
sellement disponibles Chaque utilisateur d'un ordinateur par-
ticulier saura le langage qui est le plus approprié pour ses objectifs immédiats En pratique, il s'est avéré utile de mettre sensiblement en oeuvre la présente invention dans un langage d'assemblage qui fournit un code résultant exécutable
par la machine.
Du fait que les ordinateurs et les systèmes moniteurs
qui peuvent être utilisés pour la mise en oeuvre de la pré-
sente invention sont composés de nombreux éléments différents,
on n'a pas donné de listes de programme détaillées On consi-
dère que les opérations et autres procédures décrites ci-
dessus et représentées dans les dessins annexés sont suffi-
samment divulguées pour permettre à un spécialiste de la technique de mettre en oeuvre la présente invention ou toute
partie de l'invention qui peut lui être utile.
Ainsi, on a décrit et représenté des procédés et appa-
reils qui sont très avantageusement utilisés en combinaison
avec un ordinateur humérique pour fournir des capacités gra-
phiques perfectionnées L'emploi par la présente invention de points d'inversion et d'un masquage de ligne de balayage permet de définir une région arbitraire quelconque et de la
manipuler et de la transférer plus rapidement et plus effica-
cement que lorsqu'on utilise les systèmes déjà connus dans
la technique.
Bien qu'on ait plus particulièrement décrit la présente
invention en se référant aux Fig 1 à 9 et en mettant l'ac-
cent sur l'emploi de certains systèmes d'ordinateur, il est bien entendu que les figures n'ont été représentées qu'à des fins d'illustration et ne doivent pas être interprêtées
comme limitant la portée de l'invention En outre, il est évi-
dent que les procédés et l'appareil de la présente invention
sont utilisables dans toute application dans laquelle on dé-
sire effectuer des représentations graphiques sur un tube cathodique ou autre dispositif d'affichage Il est envisagé que les spécialistes de la technique puissent apporter de nombreux changements et modifications aux procédés et à l'appareil décrits sans sortir du cadre ni s'écarter de
l'esprit de l'invention décrite ci-dessus.

Claims (30)

REVENDICATIONS
1 Un système d'affichage infographique,-caractérisé en ce qu'il comporte: des moyens d'affichage ( 34) pour produire un affichage comprenant une multiplicité d'éléments d'affichage, chacun de ces éléments d'affichage étant mis sélectivement en -fonction; des moyens de mémoire ( 26) pour mettre en mémoire
une multiplicité de points d'inversion, chaque point d'inver-
sion ayant une coordonnée qui correspond à un élément E dudit
affichage, chaque point d'inversion définissant une zone cons-
trastante délimitée par des lignes orthogonales s'étendant à partir dudit élément, des moyens de traitement ( 24) couplés aux moyens de mémoire pour mettre en fonction les éléments de l'affichage qui correspondent aux points d'inversion mis en mémoire et pour engendrer lesdites zones contrastantes sur l'affichage, le contraste d'une zone étant une fonction des coordonnées des points d'inversion précédemment affichés; de telle sorte qu'une région qui comprend une'série de points
d'inversion peut être affichée au moyen de la mise en fonc-
tion des éléments correspondants et de la génération des zones
contrastantes associées sur les moyens d'affichage.
2 Système d'affichage selon la revendication 1, caractérisé en ce que les moyens d'affichage comprennent une série de lignas de balayage de trame qui constituent les éléments qui
définissent l'affichage.
3 Système d'affichage selon la revendication 2, caractérisé en ce que les moyens de traitement ( 24) comprennent des moyens de lecture pour lire les points d'inversion dans la mémoire dans l'ordre dans lequel les éléments sont balayés par les
moyens d'affichage.
4 Système d'affichage selon'la revendication 3, caractérisé en ce que les moyens de traitement ( 24) comprennent des moyens de classement pour classer-les points d'inversion en une liste ordonnée conformément à une convention prédéterminée et pour
mettre cette liste en mémoire dans les moyens de mémoire ( 26).
5 Système d'affichage selon la revendication 4, caractérisé
en ce qu'il comporte, en outre, des moyens d'entrée ( 36) cou-
plés aux moyens de traitement ( 24) pour entrer une région à
afficher dans les moyens de mémoire ( 26).
6 Système d'affichage selon la revendication 5, caractérisé en ce que les moyens de traitement comprennent des moyens de localisation des points d'inversion pour déterminer les 3 coordonnées des points d'inversion qui constituent la région entrée. 7 Système d'affichage selon la revendication 6, caractérisé en ce que les moyens de localisation des points d'inversion représentent une ligne diagonale formant une région entrée sous la forme d'une série de paires de points d'inversion
définissant une série de segments de lignes horizontaux espa-
cés verticalement les uns des autres.
8 Système d'affichage selon la revendication 6, caractérisé
en ce que les moyens de traitement comprennent des moyens lo-
giques pour exécuter des opérations logiques entre des listes ordonnées de points d'inversion définissant au moins deux régions. 9 Système d'affichage selon la revendication 8, caractérisé en ce que les opérations logiques comprennent les fonctions
logiques ET, OU, NON et OU exclusif.
Système d'affichage selon la revendication 8, caractéri-
sé en ce que les moyens de lecture lisent une carte de bits de destination ( 38) contenue dans les moyens de mémoire ( 26), la carte de bits de destination comprenant une multiplicité
de points d'inversion représentant les régions en cours d'af-
fichage sur l'affichage à balayage de trame.
11 Système d'affichage selon la revendication 1-0, caractéri-
sé en ce que les moyens de mémoire ( 26) comprennent,en outre, au moins une carte de bits d'origine ( 42), la carte de bits d'origine comprenant une multiplicité de points d'inversion représentant des régions dont au moins certaines parties
peuvent être transférées à la carte de bits de destination.
12 Système d'affichage selon la revendication 11, caracté-
risé en ce qu'au moins une mémoire-tampon d'une ligne de
balayage est formée dans les moyens de mémoire, cette mémoire-
tampon d'une ligne de balayage étant suffisamment grande pour contenir un nombre de bits approprié pour représenter tous les éléments disposés le long d'une ligne de balayage de
l'affichage à balayage ligne par ligne.
13 Système d'affichage selon la revendication 12,caractéri-
sé en ce que les moyens de lecture lisent séquehtiellement les
points d'inversion dans la carte de bits d'origine et four-
nissent une représentation de la région dans la mémoire de ligne de balayage effectuant ainsi un balayage de la région dans la carte de bits d'origine qui correspond à chaque ligne
de balayage des moyens d'affichage.
14 Système d'affichage selon la revendication 13,caractéri-
sé en ce qu'il est prévu au moins une mémoire-tampon de masque de ligne de balayage dans les moyens de mémoire,le masque de ligne de balayage effectuant séquentiellement un balayage de la carte de bits de destination de sorte que le contenu du masque de ligne de balayage est représentatif d'une région mise en mémoire dans la carte de destination dans l'ordre dans lequel
elle est balayée par les moyens d'affichage.
Système d'affichage selon la revendication 14,caractérisé en ce qu'il comp 6 rte des moyens comparateurs pour comparer le
contenu du masque de ligne de balayage à celui de la mémoire-
tampon de ligne de balayage de façon qu'avant le transfert du contenu de la mémoire-tampon de ligne de balayage de la carte
de bits d'origine à la carte de bits de destination pour affi-
chage,le contenu de la mémoire-tampon de ligne de balayage soit comparé au contenu de la mémoire-tampon de masque pour
chaque-position de ligne debalayage des moyens d'affichage.
16 Système d'affichage selon la revendication 15,caractéri-
sé en ce qu'il comporte desmoyens de commande de priorité pour
établir une priorité prédéterminée,telle que définie}par un uti-
lisateur,entre le contenu de la mémoire-tampon de masque de ligne de balayage etcelui de lamémoire-tampon de ligne de balayage,
tels que comparés par les moyens comparateurs,et pour trans-
férer les parties de la mémoire-tampon de ligne qui sont prio-
ritaires à la carte de bits de destination pour affichage.
17 Système d'affichage selon la revendication 16, caracté-
risé en ce que chaque région entrée dans les moyens de mé-
moire est définie par au moins deux points d'inversion ayant les mêmes coordonnées dans des cartes de bits différentes,
chacun des points d'inversion correspondant à une couleur dif-
férente à afficher sur les moyens d'affichage 18 Un procédé pourengendrer et manipuler des représentations
graphiques sur un système d'affichage commandé par ordina-
teur, ce système d'affichage comprenant une multiplicité d'é-
léments d'affichage dont chacun est sélectivement mis en fonction, ce procédé étant caractérisé en ce qu'il consiste: -à prévoir dans l'ordinateur ( 20) des moyens de mémoire
( 26) qui comportent des emplacements de mémoire pour mémori-
ser une multiplicité de points d'inversion, chacun des points d'inversion ayant une coordonnée correspondant à un élément du système d'affichage, chaque point d'inversion définissant i C une zone contrastante délimitée par des lignes orthogonales s'étendant à partir de l'élément d'affichage; à entrer une région comprenant plusieurs points d'inversion dans les moyens de mémoire; à afficher les points d'inversion qui constituent la région en mettant en fonction les éléments correspondants sur l'affichage et en engendrant les zones contrastantes sur l'affichage, le contraste d'un affichage étant une fonction des coordonnées des points prédédemment
affichés;de telle sorte que la région est affichée par affi-
chage des points d'inversion qui constituent la région etpar
création des zones contrastantes associées sur l'affichage.
19 Procédé selon la revendication 18, caractérisé en ce qu'il comporte, en outre, l'étape qui consiste à identifier et à mettre en mémoire dans les moyens de mémoire les points
d'inversion qui définissent la région.
20 Procédé selon la revendication 19, caractérisé en ce que le système d'affichage comprend une série de lignes de
balayage qui constituent les éléments de l'affichage.
21 Procédé selon la revendication 20, caractérisé en ce qu'il comporte, en outre, l'étape qui consiste à lire-les points d'inversion qui définissent la région dans la mémoire dans l'ordre dans lequel les éléments sont balayés par le
système de balayage.
22 Procédé selon la revendication 21, caractérisé en ce que l'étape de mise en mémoire comporte l'étape qui consiste
3 S à classer les points d'inversion en une liste ordonnée con-
formément à une convention prédéterminée.
23 Procédé selon la revendication 22, caractérisé en ce que la convention de classement consiste à classer les points d'inversion en fonction de leurs coordonnées, de telle sorte que les points sont classés de gauche à droite et de
haut en bas les uns par rapport aux autres.
24 Procédé selon la revendication 22, caractérisé en ce que l'étape d'identification comporte l'étape qui consiste à représenter une ligne diagonale de la région sous la forme d'une série de paires de points d'inversion définissant une série de segments de ligne horizontaux, espacés verticalement
les uns des autres.
Procédé selon la revendication 24, caractérisé en ce qu'il comporte, en outre, l'étape qui consiste à prévoir une mémoire-tampon de ligne de balayage formée dans les moyens
de mémoire, les moyens de lecture fournissant séquentielle-
ment une représentation de la région à la mémoire-tampon de ligne de balayage qui correspond à chaque ligne de balayage
de l'affichage.
26 Procédé selon la revendication 25, caractérisé en ce
qu'il comporte l'étape qui consiste à prévoir une mémoire-
tampon de masque de ligne de balayage dans les moyens de
mémoire, la mémoire-tampon de masque fournissant séquentiel-
lement une représentation d'une région qui est affichée sur l'affichage de sorte que le contenu de la mémoire-tampon de
masque correspond à chaque ligne de balayage de l'affichage.
27 Procédé selon la revendication 26, caractérisé en ce qu'il comporte, en outre, l'étape qui consiste à comparer
le contenu de la mémoire-tampon de ligne de balayage au con-
tenu du masque de ligne de balayage.
28 Procédé selon la revendication 27, caractérisé en ce qu'il comporte, également, l'étape qui consiste à-appliquer
une priorité prédéterminée&entrele contenu de la mémoire-
tampon de ligne de balayage et le masque de ligne de balayage de sorte que seulement des parties choisies de la mémoire tampon de ligne de balayage sont affichées sur le système
d'affichage.
29 Procédé pour transférer sélectivement des données d'un premier emplacement d'une mémoire d'ordinateur à un second emplacement de cette mémoire, ce procédé étant caractérisé en ce qu'il consiste: à définirune mémoire-tampon d'une ligne de balayage dans la mémoire, cette mémoiretampon de ligne de balayage représentant séquentiellement les données
_ contenues dans le premier emplacement; à définir une mémoire-
tampon de masque d'une ligne de balayage dans la mémoire, ce
masque de ligne de balayage représentant les données conte-
nues dans le second emplacement; à comparer séquentiellement
le contenu de la mémoire-tampon de ligne de balayage au con-
tenu du masque de ligne de balayage avant le transfert du contenu de la mémoire-tampon de ligne de balayage au second emplacement; à établir une priorité prédéterminée,telle que
définie par un utilisateur,entre le contenu de la mémoire-
tampon de ligne de balayage et le masque de ligne de balayage de façon que seules les données choisies contenues dans la mémoire-tampon de ligne de balayage qui sont prioritaires soient transférées au second emplacement; de sorte que les données sont sélectivement transférées du premier emplacement
au second emplacement.
30 Procédé selon la revendication 29, caractérisé en ce que le second emplacement comprend une multiplicité de bits,
chaque bit correspondant à un élément d'un système d'affichage.
31 Procédé selon la revendication 30, caractérisé en ce
que les données contenues dans le second emplacement sont af-
fichées sur le système d'affichage.
32 Procédé selon la revendication 31, caractérisé en ce
que la mémoire-tampon de ligne de balayage représente sé-
quentiellement les données contenues dans le premier emplace-
ment dans l'ordre dans lequel ces données seront affichées
sur le système d'affichage.
33 Procédé selon la revendication 32, caractérisé en ce
que le masque de ligne de balayage représente séquentielle-
ment les données contenues dans le second emplacement dans
l'ordre dans lequel ces données sont affichées.
34 Procédé selon la revendication 33, caractérisé en ce que les données contenues dans chacun desdits emplacements
sont représentatives d'au moins une région, la région com-
prenant une série de points d'inversion, chacun de ces points ayant une coordonnée correspondant à un élément de l'affichage, chaque point d'inversion définissant une zone contrastante délimitée par des lignes orthogonales qui s'étendent à partir dudit élément. Procédé selon là revendication 34,caractérisé en ce que le processus de détermination de la position des-points d'inversion définissant ladite région comprend les étapes qui consistent: à détecter des segments de ligne horizontaux
qui constituent la région; et àadéfinir les points d'inver-
sion aux coordonnées qui correspondent aux points terminaux
des segments de ligne.
36 Procéd-é selon la revendication 35, caractérisé en ce qu'il comporte, en outre, l'étape qui consiste à classer les points-d'inversion définissant la région conformément à une convention prédéterminée: 37 Procédé selon la revendication 36, caractérisé en ce qu'il comporte, en outre, un processus pour déterminer si un point spécifié se trouve dans la région, la région étant définie parune liste ordonnée depoints d'inversion organisée de telle sorte que les points d'inversion sont classés en fonction de leurs coordonnées de gauche à droite et de haut
en bas les uns par rapport aux autres-et en ce que ce pro-
cessus de détermination comprend les étapes qui consistent: à définir au moins un bit indicateur dans la mémoire, ce bit indicateur étant initialement mis dans un premier état; à analyser la liste ordonnée et à commuter le bit indicateur à un second état dans le cas o un point d'inversion de la liste a une coordonnée Verticale supérieure ou égale à la coordonnée verticale du point spécifié et une coordonnée
horizontale inférieure à celle du point spécifié;-et à déter-
miner l'état du bit indicateur.
FR8315417A 1982-09-30 1983-09-28 Procedes et appareil d'affichage graphique Expired FR2534400B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/428,635 US4622545A (en) 1982-09-30 1982-09-30 Method and apparatus for image compression and manipulation

Publications (2)

Publication Number Publication Date
FR2534400A1 true FR2534400A1 (fr) 1984-04-13
FR2534400B1 FR2534400B1 (fr) 1988-08-19

Family

ID=23699738

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8315417A Expired FR2534400B1 (fr) 1982-09-30 1983-09-28 Procedes et appareil d'affichage graphique

Country Status (12)

Country Link
US (1) US4622545A (fr)
JP (1) JPS5985573A (fr)
AU (2) AU558873B2 (fr)
CA (1) CA1213085A (fr)
DE (1) DE3335162C2 (fr)
FR (1) FR2534400B1 (fr)
GB (2) GB2128459B (fr)
HK (2) HK98987A (fr)
IE (1) IE54823B1 (fr)
IL (1) IL69793A (fr)
IT (1) IT1166974B (fr)
SG (1) SG46187G (fr)

Families Citing this family (144)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336180B1 (en) 1997-04-30 2002-01-01 Canon Kabushiki Kaisha Method, apparatus and system for managing virtual memory with virtual-physical mapping
US4771275A (en) * 1983-11-16 1988-09-13 Eugene Sanders Method and apparatus for assigning color values to bit map memory display locations
GB8411579D0 (en) * 1984-05-05 1984-06-13 Ibm Graphic display systems
JPS613194A (ja) * 1984-06-15 1986-01-09 株式会社東芝 画像表示装置
DE3506638A1 (de) * 1985-02-26 1986-09-04 F.H.-Gottfeld Gesellschaft für zerstörungsfreie Werkstoffprüfung mbH, 5000 Köln Verfahren und vorrichtung zur zerstoerungsfreien pruefung von grossflaechigen pruefobjekten
JPS6273385A (ja) * 1985-09-27 1987-04-04 Toshiba Corp 境界検出対象領域指示回路
US4703321A (en) * 1985-09-30 1987-10-27 International Business Machines Corporation Method for editing a graphic object in an interactive draw graphic system
JPS6282472A (ja) * 1985-10-07 1987-04-15 Canon Inc 画像処理方法
JPS62192878A (ja) * 1986-02-20 1987-08-24 Nippon Gakki Seizo Kk 多角形の塗りつぶし方法
JPS63282790A (ja) * 1987-02-14 1988-11-18 株式会社リコー 表示制御装置
US4845640A (en) * 1987-03-11 1989-07-04 Megascan Technology, Inc. High-speed dual mode graphics memory
US5033105A (en) * 1987-08-11 1991-07-16 Apple Computer Video compression algorithm
US5262761A (en) * 1987-09-08 1993-11-16 Intelligent Micro Systems, Inc. Displaying hierarchical tree-like designs in windows
US5040130A (en) * 1988-09-20 1991-08-13 International Business Machines Corporation Computer graphics boundary--defined area clippping and extraneous edge deletion method
US5261032A (en) * 1988-10-03 1993-11-09 Robert Rocchetti Method for manipulation rectilinearly defined segmnts to form image shapes
AU624137B2 (en) * 1988-10-03 1992-06-04 Sun Microsystems, Inc. Method and apparatus for image manipulation
US4989132A (en) * 1988-10-24 1991-01-29 Eastman Kodak Company Object-oriented, logic, and database programming tool with garbage collection
CA1326563C (fr) * 1989-03-15 1994-01-25 Anthony Hoeber Methode et dispositif de selection et d'execution d'operations implicites dans un systeme d'affichage a fenetres
US5230063A (en) * 1989-03-15 1993-07-20 Sun Microsystems, Inc. Method and apparatus for selecting button function and retaining selected optics on a display
US5157768A (en) * 1989-03-15 1992-10-20 Sun Microsystems, Inc. Method and apparatus for displaying context sensitive help information on a display
US5155806A (en) * 1989-03-15 1992-10-13 Sun Microsystems, Inc. Method and apparatus for displaying context sensitive help information on a display
US5243697A (en) * 1989-03-15 1993-09-07 Sun Microsystems, Inc. Method and apparatus for selecting button functions and retaining selected options on a display
US5276795A (en) * 1989-03-15 1994-01-04 Sun Microsystems, Inc. Method and apparatus for selecting and executing defaults in a window based display system
JP3026342B2 (ja) * 1989-03-20 2000-03-27 株式会社日立製作所 図形描画方法及び図形処理装置
JP2845995B2 (ja) * 1989-10-27 1999-01-13 株式会社日立製作所 領域抽出手法
US5227863A (en) * 1989-11-14 1993-07-13 Intelligent Resources Integrated Systems, Inc. Programmable digital video processing system
US5327243A (en) * 1989-12-05 1994-07-05 Rasterops Corporation Real time video converter
US5319395A (en) * 1990-05-16 1994-06-07 International Business Machines Corporation Pixel depth converter for a computer video display
US5379372A (en) * 1990-09-13 1995-01-03 Wu; William C. Apparatus and method for designing a form structure using column and row rules
US5247589A (en) * 1990-09-26 1993-09-21 Radius Inc. Method for encoding color images
US5070532A (en) * 1990-09-26 1991-12-03 Radius Inc. Method for encoding color images
US5148154A (en) 1990-12-04 1992-09-15 Sony Corporation Of America Multi-dimensional user interface
CA2077271C (fr) * 1991-12-13 1998-07-28 David J. Craft Methode et appareil de compression de donnees
US5396228A (en) * 1992-01-16 1995-03-07 Mobile Telecommunications Technologies Methods and apparatus for compressing and decompressing paging data
US5307451A (en) * 1992-05-12 1994-04-26 Apple Computer, Inc. Method and apparatus for generating and manipulating graphical data for display on a computer output device
EP0605945B1 (fr) * 1992-12-15 1997-12-29 Sun Microsystems, Inc. Présentation d'informations dans un système d'affichage à fenêtres transparentes
EP0609030B1 (fr) * 1993-01-26 1999-06-09 Sun Microsystems, Inc. Méthode et appareil pour regarder des informations dans une base de données d'ordinateur
US5859638A (en) * 1993-01-27 1999-01-12 Apple Computer, Inc. Method and apparatus for displaying and scrolling data in a window-based graphic user interface
US5825355A (en) * 1993-01-27 1998-10-20 Apple Computer, Inc. Method and apparatus for providing a help based window system using multiple access methods
US5550967A (en) * 1993-01-27 1996-08-27 Apple Computer, Inc. Method and apparatus for generating and displaying visual cues on a graphic user interface
US5469540A (en) * 1993-01-27 1995-11-21 Apple Computer, Inc. Method and apparatus for generating and displaying multiple simultaneously-active windows
US5488685A (en) * 1993-01-27 1996-01-30 Apple Computer, Inc. Method and apparatus for providing visual cues in a graphic user interface
CA2109681C (fr) * 1993-03-10 1998-08-25 Donald Edgar Blahut Methode et dispositif de codage et d'affichage avec transparence de fenetres superposees
US5339393A (en) * 1993-04-15 1994-08-16 Sony Electronics, Inc. Graphical user interface for displaying available source material for editing
US5524195A (en) * 1993-05-24 1996-06-04 Sun Microsystems, Inc. Graphical user interface for interactive television with an animated agent
EP0626635B1 (fr) 1993-05-24 2003-03-05 Sun Microsystems, Inc. Interface utilisateur graphique avec méthode pour commander à distance des appareils
US6239794B1 (en) 1994-08-31 2001-05-29 E Guide, Inc. Method and system for simultaneously displaying a television program and information about the program
US5594509A (en) * 1993-06-22 1997-01-14 Apple Computer, Inc. Method and apparatus for audio-visual interface for the display of multiple levels of information on a display
US5621456A (en) * 1993-06-22 1997-04-15 Apple Computer, Inc. Methods and apparatus for audio-visual interface for the display of multiple program categories
US5583560A (en) * 1993-06-22 1996-12-10 Apple Computer, Inc. Method and apparatus for audio-visual interface for the selective display of listing information on a display
CA2124505C (fr) * 1993-07-21 2000-01-04 William A. S. Buxton Interface homme-machine a deplacement simultane de curseur et d'outils
CA2124624C (fr) * 1993-07-21 1999-07-13 Eric A. Bier Interface utilisateur a outils pouvant etre combines a d'autres
US5581670A (en) * 1993-07-21 1996-12-03 Xerox Corporation User interface having movable sheet with click-through tools
US6418556B1 (en) 1993-09-09 2002-07-09 United Video Properties, Inc. Electronic television program guide schedule system and method
US5544300A (en) * 1993-11-12 1996-08-06 Intel Corporation User interface for dynamically converting between a single top level window and multiple top level windows
US5572649A (en) * 1993-11-12 1996-11-05 Intel Corporation Process for dynamically switching between a single top level window and multiple top level windows
US5623681A (en) * 1993-11-19 1997-04-22 Waverley Holdings, Inc. Method and apparatus for synchronizing, displaying and manipulating text and image documents
US5696963A (en) * 1993-11-19 1997-12-09 Waverley Holdings, Inc. System, method and computer program product for searching through an individual document and a group of documents
US5623679A (en) * 1993-11-19 1997-04-22 Waverley Holdings, Inc. System and method for creating and manipulating notes each containing multiple sub-notes, and linking the sub-notes to portions of data objects
US5806079A (en) * 1993-11-19 1998-09-08 Smartpatents, Inc. System, method, and computer program product for using intelligent notes to organize, link, and manipulate disparate data objects
US6339767B1 (en) 1997-06-02 2002-01-15 Aurigin Systems, Inc. Using hyperbolic trees to visualize data generated by patent-centric and group-oriented data processing
US5991751A (en) * 1997-06-02 1999-11-23 Smartpatents, Inc. System, method, and computer program product for patent-centric and group-oriented data processing
US5799325A (en) * 1993-11-19 1998-08-25 Smartpatents, Inc. System, method, and computer program product for generating equivalent text files
US6963920B1 (en) * 1993-11-19 2005-11-08 Rose Blush Software Llc Intellectual asset protocol for defining data exchange rules and formats for universal intellectual asset documents, and systems, methods, and computer program products related to same
US6877137B1 (en) 1998-04-09 2005-04-05 Rose Blush Software Llc System, method and computer program product for mediating notes and note sub-notes linked or otherwise associated with stored or networked web pages
US5563595A (en) * 1993-12-23 1996-10-08 International Business Machines Corporation Method and apparatus for compressing data
US8793738B2 (en) 1994-05-04 2014-07-29 Starsight Telecast Incorporated Television system with downloadable features
US5502439A (en) * 1994-05-16 1996-03-26 The United States Of America As Represented By The United States Department Of Energy Method for compression of binary data
DE69522684T2 (de) * 1994-05-19 2002-06-20 Apple Computer Statusanzeiger einer graphischen benutzerschnittstelle
US6005566A (en) * 1994-05-19 1999-12-21 Apple Computer, Inc. Aspect and style elements of an improved graphical user interface
US5515480A (en) * 1994-06-15 1996-05-07 Dp-Tek, Inc. System and method for enhancing graphic features produced by marking engines
CA2118201C (fr) * 1994-10-14 2003-02-04 Patrick M. Hayden Noyau de fenetrage photonique
US6397262B1 (en) 1994-10-14 2002-05-28 Qnx Software Systems, Ltd. Window kernel
AU701684B2 (en) 1994-12-14 1999-02-04 Koninklijke Philips Electronics N.V. Subtitling transmission system
US5838938A (en) * 1995-02-15 1998-11-17 Sony Electronics, Inc. Multimedia user interface employing components of color to indicate the values of variables
US6769128B1 (en) 1995-06-07 2004-07-27 United Video Properties, Inc. Electronic television program guide schedule system and method with data feed access
US6002394A (en) 1995-10-02 1999-12-14 Starsight Telecast, Inc. Systems and methods for linking television viewers with advertisers and broadcasters
US6323911B1 (en) 1995-10-02 2001-11-27 Starsight Telecast, Inc. System and method for using television schedule information
US5930813A (en) * 1995-12-21 1999-07-27 Adobe Systems Incorporated Method and system for designating objects
US5940073A (en) 1996-05-03 1999-08-17 Starsight Telecast Inc. Method and system for displaying other information in a TV program guide
US5764229A (en) * 1996-05-09 1998-06-09 International Business Machines Corporation Method of and system for updating dynamic translucent windows with buffers
US6131112A (en) 1996-05-17 2000-10-10 Cabletron Systems, Inc. Method and apparatus for integrated network and systems management
US6687906B1 (en) 1996-12-19 2004-02-03 Index Systems, Inc. EPG with advertising inserts
US8635649B2 (en) 1996-12-19 2014-01-21 Gemstar Development Corporation System and method for modifying advertisement responsive to EPG information
US5930466A (en) * 1997-03-11 1999-07-27 Lexmark International Inc Method and apparatus for data compression of bitmaps using rows and columns of bit-mapped printer data divided into vertical slices
AUPO648397A0 (en) * 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Improvements in multiprocessor architecture operation
US6311258B1 (en) 1997-04-03 2001-10-30 Canon Kabushiki Kaisha Data buffer apparatus and method for storing graphical data using data encoders and decoders
US6061749A (en) * 1997-04-30 2000-05-09 Canon Kabushiki Kaisha Transformation of a first dataword received from a FIFO into an input register and subsequent dataword from the FIFO into a normalized output dataword
US6707463B1 (en) 1997-04-30 2004-03-16 Canon Kabushiki Kaisha Data normalization technique
US6289138B1 (en) 1997-04-30 2001-09-11 Canon Kabushiki Kaisha General image processor
AUPO647997A0 (en) * 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Memory controller architecture
US6349379B2 (en) 1997-04-30 2002-02-19 Canon Kabushiki Kaisha System for executing instructions having flag for indicating direct or indirect specification of a length of operand data
AU733993B2 (en) 1997-07-21 2001-05-31 Rovi Guides, Inc. Systems and methods for displaying and recording control interfaces
US6665869B1 (en) 1997-09-05 2003-12-16 United Video Properties, Inc. Program guide application interface system
US6604240B2 (en) 1997-10-06 2003-08-05 United Video Properties, Inc. Interactive television program guide system with operator showcase
CN1147145C (zh) 1997-12-01 2004-04-21 星视电视广播公司 在弹出区域中具有广告消息的电子节目表系统
US6006015A (en) * 1997-12-18 1999-12-21 Lexmark International, Inc. System and method of printer image warping
US7185355B1 (en) 1998-03-04 2007-02-27 United Video Properties, Inc. Program guide system with preference profiles
US6564379B1 (en) 1998-04-30 2003-05-13 United Video Properties, Inc. Program guide system with flip and browse advertisements
US20020095676A1 (en) 1998-05-15 2002-07-18 Robert A. Knee Interactive television program guide system for determining user values for demographic categories
US7603684B1 (en) 1998-05-19 2009-10-13 United Video Properties, Inc. Program guide system with video-on-demand browsing
US6442755B1 (en) 1998-07-07 2002-08-27 United Video Properties, Inc. Electronic program guide using markup language
AR019458A1 (es) 1998-07-23 2002-02-20 United Video Properties Inc Una disposicion de guia de programacion televisiva interactiva que sirve como entrada
US6898762B2 (en) 1998-08-21 2005-05-24 United Video Properties, Inc. Client-server electronic program guide
US7716060B2 (en) 1999-03-02 2010-05-11 Germeraad Paul B Patent-related tools and methodology for use in the merger and acquisition process
US7966328B2 (en) 1999-03-02 2011-06-21 Rose Blush Software Llc Patent-related tools and methodology for use in research and development projects
US6331855B1 (en) 1999-04-28 2001-12-18 Expertcity.Com, Inc. Method and apparatus for providing remote access, control of remote systems and updating of display information
CN1359591A (zh) 1999-06-28 2002-07-17 英戴克系统公司 利用epg数据库修改广告的系统和方法
AU5775900A (en) 1999-06-29 2001-01-31 United Video Properties, Inc. Method and system for a video-on-demand-related interactive display within an interactive television application
US6404441B1 (en) 1999-07-16 2002-06-11 Jet Software, Inc. System for creating media presentations of computer software application programs
US20050177850A1 (en) 1999-10-29 2005-08-11 United Video Properties, Inc. Interactive television system with programming-related links
US6694362B1 (en) 2000-01-03 2004-02-17 Micromuse Inc. Method and system for network event impact analysis and correlation with network administrators, management policies and procedures
CN101493919B (zh) 2000-03-31 2019-01-04 乐威指南公司 元数据链接广告的系统和方法
US20020038346A1 (en) * 2000-08-10 2002-03-28 Frank Morrison Method for screen image sharing
US7383191B1 (en) 2000-11-28 2008-06-03 International Business Machines Corporation Method and system for predicting causes of network service outages using time domain correlation
US7512879B2 (en) * 2001-05-11 2009-03-31 Microsoft Corporation Intelligent virtual paging paradigm
US6744739B2 (en) 2001-05-18 2004-06-01 Micromuse Inc. Method and system for determining network characteristics using routing protocols
US7043727B2 (en) 2001-06-08 2006-05-09 Micromuse Ltd. Method and system for efficient distribution of network event data
US7516208B1 (en) 2001-07-20 2009-04-07 International Business Machines Corporation Event database management method and system for network event reporting system
US7363368B2 (en) 2001-12-24 2008-04-22 International Business Machines Corporation System and method for transaction recording and playback
US20030210267A1 (en) * 2002-05-13 2003-11-13 Kylberg Robert Lee Systems and methods for providing asynchronous client rendering in a graphical user interface (GUI) environment
US6714145B1 (en) 2002-09-26 2004-03-30 Richard Marques Method and apparatus for integer-based encoding and decoding of bits
US6879270B1 (en) 2003-08-20 2005-04-12 Hewlett-Packard Development Company, L.P. Data compression in multiprocessor computers
US20050114169A1 (en) * 2003-11-24 2005-05-26 Hazim Ansari Systems and methods for evaluating information to identify, and act upon, intellectual property issues
US8095951B1 (en) 2005-05-06 2012-01-10 Rovi Guides, Inc. Systems and methods for providing a scan
US8640166B1 (en) 2005-05-06 2014-01-28 Rovi Guides, Inc. Systems and methods for content surfing
US7788266B2 (en) 2005-08-26 2010-08-31 Veveo, Inc. Method and system for processing ambiguous, multi-term search queries
US9113107B2 (en) 2005-11-08 2015-08-18 Rovi Guides, Inc. Interactive advertising and program promotion in an interactive television system
US20070156521A1 (en) 2005-12-29 2007-07-05 United Video Properties, Inc. Systems and methods for commerce in media program related merchandise
US7739280B2 (en) 2006-03-06 2010-06-15 Veveo, Inc. Methods and systems for selecting and presenting content based on user preference information extracted from an aggregate preference signature
US8316394B2 (en) 2006-03-24 2012-11-20 United Video Properties, Inc. Interactive media guidance application with intelligent navigation and display features
CA2658519A1 (fr) 2006-07-31 2008-02-07 United Video Properties, Inc. Systemes et procedes de fourniture de planificateurs de guidage multimedia
US8832742B2 (en) 2006-10-06 2014-09-09 United Video Properties, Inc. Systems and methods for acquiring, categorizing and delivering media in interactive media guidance applications
US7801888B2 (en) 2007-03-09 2010-09-21 Microsoft Corporation Media content search results ranked by popularity
US8407737B1 (en) 2007-07-11 2013-03-26 Rovi Guides, Inc. Systems and methods for providing a scan transport bar
US8943539B2 (en) 2007-11-21 2015-01-27 Rovi Guides, Inc. Enabling a friend to remotely modify user data
US9166714B2 (en) 2009-09-11 2015-10-20 Veveo, Inc. Method of and system for presenting enriched video viewing analytics
US8359616B2 (en) 2009-09-30 2013-01-22 United Video Properties, Inc. Systems and methods for automatically generating advertisements using a media guidance application
WO2012094564A1 (fr) 2011-01-06 2012-07-12 Veveo, Inc. Procédés et systèmes de recherche de contenu basée sur un échantillonnage de l'environnement
US8779950B2 (en) 2012-03-05 2014-07-15 Dcba, Llc Command encoded data compression
US20140195334A1 (en) 2013-01-10 2014-07-10 United Video Properties, Inc. Systems and methods for optimizing data driven media placement
US9848276B2 (en) 2013-03-11 2017-12-19 Rovi Guides, Inc. Systems and methods for auto-configuring a user equipment device with content consumption material
US9543980B2 (en) 2014-10-10 2017-01-10 Massachusettes Institute Of Technology Systems and methods for model-free compression and model-based decompression
CN105787402B (zh) 2014-12-16 2019-07-05 阿里巴巴集团控股有限公司 一种信息展示方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3925776A (en) * 1974-04-18 1975-12-09 Research Corp Display terminal system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3305841A (en) * 1963-09-30 1967-02-21 Alphanumeric Inc Pattern generator
US3821731A (en) * 1971-06-07 1974-06-28 Ann Arbor Terminals Inc Graphics display system and method
GB1401022A (en) * 1972-03-10 1975-07-16 Elliott Brothers London Ltd Display apparatus
GB1595964A (en) * 1977-03-17 1981-08-19 Micro Consultants Ltd Tv Special effects generator
GB1598343A (en) * 1977-04-04 1981-09-16 Int Computers Ltd Display systems
US4266242A (en) * 1978-03-21 1981-05-05 Vital Industries, Inc. Television special effects arrangement
GB2063616B (en) * 1979-11-16 1984-06-20 Quantel Ltd Multiple picture image manipulation
US4383296A (en) * 1980-05-16 1983-05-10 Apple Computer, Inc. Computer with a memory system for remapping a memory having two memory output buses for high resolution display with scrolling of the displayed characters
US4399467A (en) * 1981-10-13 1983-08-16 Ncr Canada Ltd. Method and apparatus for image data compression and decompression
US4420770A (en) * 1982-04-05 1983-12-13 Thomson-Csf Broadcast, Inc. Video background generation system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3925776A (en) * 1974-04-18 1975-12-09 Research Corp Display terminal system

Also Published As

Publication number Publication date
HK98987A (en) 1987-12-31
GB2128459A (en) 1984-04-26
IE54823B1 (en) 1990-02-14
GB8324146D0 (en) 1983-10-12
FR2534400B1 (fr) 1988-08-19
JPS5985573A (ja) 1984-05-17
IL69793A0 (en) 1983-12-30
CA1213085A (fr) 1986-10-21
AU558873B2 (en) 1987-02-12
GB8530583D0 (en) 1986-01-22
AU587659B2 (en) 1989-08-24
AU1969183A (en) 1984-04-05
IL69793A (en) 1987-03-31
IT8323075A0 (it) 1983-09-30
US4622545A (en) 1986-11-11
HK99087A (en) 1987-12-31
SG46187G (en) 1987-08-28
DE3335162C2 (de) 1996-01-11
JPH0560144B2 (fr) 1993-09-01
IE832292L (en) 1984-03-30
DE3335162A1 (de) 1984-04-05
GB2128459B (en) 1987-02-18
GB2167927A (en) 1986-06-04
GB2167927B (en) 1987-01-28
IT1166974B (it) 1987-05-06
AU6583786A (en) 1987-03-19

Similar Documents

Publication Publication Date Title
FR2534400A1 (fr) Procedes et appareil d'affichage graphique
Xue End-to-end chinese landscape painting creation using generative adversarial networks
US4189744A (en) Apparatus for generating signals representing operator-selected portions of a scene
US11853892B2 (en) Learning to segment via cut-and-paste
US8026920B2 (en) Extensible visual effects on active content in user interfaces
CN111242905A (zh) 一种x光样本图像的生成方法、生成设备和存储装置
FR2543708A1 (fr) Procede et appareil de recherche d'images, utilisant des annotations en tant qu'informations-guides
KR20170078651A (ko) 하이브리드 슬라이드-캔버스 프리젠테이션을 합성하기 위한 저작 도구
US8520972B2 (en) Image decomposition
Marschallinger Three-dimensional reconstruction and visualization of geological materials with IDL—examples and source code
FR2964236A1 (fr) Dispositif et procede de generation d'images multifenetres a priorite variable
JP4370792B2 (ja) ビデオシーケンスの階層形成方法及びプログラム
CN108460385A (zh) 一种文本图像分割方法与装置
CN116091630A (zh) 用于训练图像生成模型的方法及装置
CN109983753A (zh) 图像处理装置、图像处理方法和程序
EP0576584B1 (fr) Procede de traitement d'images par files d'attente hierarchisees
JP6004260B2 (ja) 線画着色システム
CN116167910B (zh) 文本编辑方法、装置、计算机设备及计算机可读存储介质
KR102110604B1 (ko) 인공지능을 이용한 이미지 재구성 방법 및 서버
US6252604B1 (en) Method of animating an image by squiggling the edges of image features
US6430583B1 (en) Scenario editing apparatus for performing editing of multimedia using figure feature points
FR2458863A1 (fr) Terminal d'affichage video et procede d'affichage mixte graphique et alphanumerique
US11475544B2 (en) Automated braces removal from images
JP4977448B2 (ja) イメージオブジェクト用の多角形境界定義を生成するための方法およびシステム
Sun Volumetric Seam Carving

Legal Events

Date Code Title Description
ST Notification of lapse
ST Notification of lapse