BE1026516B1 - METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHIC IMAGE - Google Patents

METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHIC IMAGE Download PDF

Info

Publication number
BE1026516B1
BE1026516B1 BE20185637A BE201805637A BE1026516B1 BE 1026516 B1 BE1026516 B1 BE 1026516B1 BE 20185637 A BE20185637 A BE 20185637A BE 201805637 A BE201805637 A BE 201805637A BE 1026516 B1 BE1026516 B1 BE 1026516B1
Authority
BE
Belgium
Prior art keywords
bitmap
pixels
overlay
computer
window
Prior art date
Application number
BE20185637A
Other languages
Dutch (nl)
Other versions
BE1026516A1 (en
Inventor
Lambert Jacobs
Original Assignee
Inventrans Bvba
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 Inventrans Bvba filed Critical Inventrans Bvba
Priority to US16/650,048 priority Critical patent/US20210026508A1/en
Priority to PCT/EP2018/075836 priority patent/WO2019063495A2/en
Priority to NL2023600A priority patent/NL2023600B1/en
Publication of BE1026516A1 publication Critical patent/BE1026516A1/en
Application granted granted Critical
Publication of BE1026516B1 publication Critical patent/BE1026516B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • 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/08Cursor circuits
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • 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/37Details of the operation on graphic patterns
    • G09G5/377Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04804Transparency, e.g. transparent or translucent windows
    • 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Een computer-geïmplementeerde werkwijze (5400) van het overlayen van een grafisch beeld in een rekenapparaat (5201), waarbij de werkwijze de stappen omvat van: a) het verschaffen (5401) van een semi-transparant overlayvenster (5383) dat een eerste bitmap (bmp_mask) omvat met een veelheid van semi-transparante pixels en dat een transparantieniveau (T) heeft in het bereik van 5% tot 45%, b) het configureren (5402) van het overlayvenster (5383) in doorklikmodus; Het herhaaldelijk uitvoeren van de volgende stappen: c) het nemen (5403) van een screenshot, waardoor een tweede bitmap (bmp_mix) verkregen wordt; d) het bijwerken van de pixelwaarden van de eerste bitmap (bmp_mask), zodanig dat de kleurwaarden van de pixels van de bitmap (bmp_orig) die onder het overlayvenster (5383) gelegen zijn in hoofdzaak geïnverteerd worden. Een computerprogrammaproduct voor het uitvoeren van deze werkwijze. Een computerinrichting (5201) die computer-uitvoerbare instructies omvat voor het uitvoeren van deze werkwijze. Een computersysteem (5200) dat zulke computerinrichting (5201) omvat.A computer implemented method (5400) of overlaying a graphic image in a computing device (5201), the method comprising the steps of: a) providing (5401) a semi-transparent overlay window (5383) containing a first bitmap (bmp_mask) comprising a plurality of semi-transparent pixels and having a transparency level (T) ranging from 5% to 45%, b) configuring (5402) the overlay window (5383) in click-through mode; Repeatedly performing the following steps: c) taking (5403) a screenshot, thereby obtaining a second bitmap (bmp_mix); d) updating the pixel values of the first bitmap (bmp_mask) such that the color values of the pixels of the bitmap (bmp_orig) located below the overlay window (5383) are substantially inverted. A computer program product for performing this method. A computer device (5201) that includes computer executable instructions for performing this method. A computer system (5200) that includes such computer device (5201).

Description

WERKWIJZE, INRICHTING EN COMPUTERPROGRAMMA VOOR HET OVERLAYEN VAN EEN GRAFISCH BEELDMETHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHIC IMAGE

Domein van de uitvindingDomain of the invention

De onderhavige uitvinding heeft in het algemeen betrekking op het gebied van grafisch overlayen in een computersysteem. Meer bepaald heeft de onderhavige uitvinding betrekking op een computer-geïmplementeerde werkwijze voor het verschaffen van een grafische overlay in een computerinrichting of in een weergave-inrichting. De onderhavige uitvinding heeft tevens betrekking op een computerinrichting geconfigureerd voor het uitvoeren van een dergelijke werkwijze, en op een computerprogrammaproduct voor het uitvoeren van een dergelijke werkwijze in een computerinrichting of in een weergave-inrichting. De onderhavige uitvinding heeft tevens betrekking op een draagbaar rekenapparaat en op een weergave-inrichting.The present invention generally relates to the field of graphic overlay in a computer system. More specifically, the present invention relates to a computer implemented method for providing a graphic overlay in a computer device or in a display device. The present invention also relates to a computer device configured to perform such a method, and to a computer program product to perform such a method in a computer device or a display device. The present invention also relates to a portable computing device and a display device.

Achtergrond van de uitvindingBackground of the invention

FIG. 1 toont een schematisch blokdiagram van een klassiek computersysteem 100 omvattende een computerinrichting 101 (bv. een desktopcomputer), met een toetsenbordingang verbonden met een toetsenbord 102, en een muisingang verbonden met een muisinrichting 103, en een video-uitgang verbonden met een display of monitor of scherm 104. De computerinrichting 101 omvat een centrale verwerkingseenheid CPU waarop een multi-tasking besturingssysteem O/S draait met een grafische gebruikersinterface GUI, en één of meerdere software-applicaties zoals bv. een tekstviewer of een teksteditor. Invoer vanaf het toetsenbord 102 en muisinrichting 103 wordt doorgaans behandeld door device drivers (apparaatstuurprogramma's) die informatie ontvangen van één of meerdere ingangspoort(en). Dergelijke computersystemen en applicatieprogramma's zijn gekend in de stand der techniek.FIG. 1 shows a schematic block diagram of a classic computer system 100 comprising a computer device 101 (e.g., a desktop computer), with a keyboard input connected to a keyboard 102, and a mouse input connected to a mouse device 103, and a video output connected to a display or monitor or screen 104. The computer device 101 includes a central processing unit CPU running a multi-tasking operating system O / S with a graphical user interface GUI, and one or more software applications such as, for example, a text viewer or a text editor. Input from the keyboard 102 and mouse device 103 is usually handled by device drivers that receive information from one or more input port (s). Such computer systems and application programs are known in the art.

In het specifieke voorbeeld van FIG. 1, genereert de computerinrichting 101 een grafisch beeld dat op het display 104 wordt weergegeven zoals aangegeven door het rechthoekige gebied 109 (getoond met afgeronde hoeken en enigszins verschoven ten opzichte van de displayranden voor illustratieve doeleinden). Het grafisch beeld 109 van FIG. 1 omvat beeldgedeelten gerelateerd aan een desktopvenster (zichtbaar aan de linkerzijde van het scherm 104), en gerelateerd aan een applicatievenster dat een tekstdocument toont (zichtbaar aan de rechterzijde van het scherm 104).In the specific example of FIG. 1, the computer device 101 generates a graphic image which is shown on the display 104 as indicated by the rectangular area 109 (shown with rounded corners and slightly offset from the display edges for illustrative purposes). The graphic image 109 of FIG. 1 includes image portions related to a desktop window (visible on the left of the screen 104), and related to an application window showing a text document (visible on the right of the screen 104).

Ongeveer twee of drie decennia geleden, toen het internet nog in de kinderschoenen stond, gaven veel mensen er de voorkeur aan om tekstuele informatie afgedrukt op papier te lezen (of te bestuderen) in plaats van rechtstreeks vanaf een scherm, dat toentertijd doorgaans een kathodestraalbuis- (CRT, Cathode Ray Tube) scherm was. In die tijd werd de meeste informatie, bijvoorbeeld technische informatie, datasheets, productcatalogi, handleidingen, computertijdschriften, etc. primair in afgedrukte vorm gedistribueerd en was minder informatie beschikbaar in elektronische vorm.About two or three decades ago, when the Internet was still in its infancy, many people preferred to read (or study) textual information printed on paper rather than directly from a screen, which at the time was usually a cathode ray tube. (CRT, Cathode Ray Tube) screen. At that time, most information, for example technical information, data sheets, product catalogs, manuals, computer magazines, etc. was primarily distributed in printed form and less information was available in electronic form.

BE2018/5637BE2018 / 5637

In tegenstelling daarmee worden tegenwoordig (anno 2017) zeer grote hoeveelheden informatie in elektronische vorm verschaft of beschikbaar gesteld, en veel lezers geven er de voorkeur aan om rechtstreeks vanaf een scherm te lezen, in plaats van de informatie eerst op papier af te drukken en vervolgens de papieren versie te lezen. Deze wijziging is waarschijnlijk een gevolg van de komst van LCD-schermen (stabiel beeld, hoge resolutie), de groei en snelheid van het internet, de toenemende hoeveelheid informatie die elektronisch beschikbaar is, het groeiend bewustzijn om bomen te sparen door het afdrukken te verminderen, de beschikbaarheid van hulpmiddelen om documenten elektronisch te beheren (bv. scannen, bewerken, annoteren, zoeken), de toenemende grootte van opslaginrichtingen (bv. harde schijf, geheugenstick), de mogelijkheid en snelheid om elektronisch te zoeken, de trend naar een papierloos kantoor, en de komst van draagbare apparaten (zoals smartphones, tablets, etc).In contrast, today (in 2017) very large amounts of information are provided or made available in electronic form, and many readers prefer to read directly from a screen, rather than first printing the information on paper and then read the paper version. This change is likely due to the advent of LCD screens (stable image, high resolution), the growth and speed of the Internet, the increasing amount of information available electronically, the growing awareness to save trees by reducing printing , the availability of tools to manage documents electronically (eg scan, edit, annotate, search), the increasing size of storage devices (eg hard disk, memory stick), the ability and speed to search electronically, the trend towards paperless office, and the advent of portable devices (such as smartphones, tablets, etc).

De technologie is in de laatste paar decennia aanzienlijk geëvolueerd. Enerzijds is afdrukken gemakkelijker geworden, en met de komst van laserprinters en inktjetprinters zijn printersnelheid en printerkwaliteit aanzienlijk verhoogd (vergeleken met bijvoorbeeld een matrixprinter). Anderzijds is displaykwaliteit ook aanzienlijk verhoogd, en LCD-panelen met hoge resolutie (bv. met 1920 x 1080 pixels of zelfs 3840 x 2160 aan 60 Hz beeldfrequentie) zijn alomtegenwoordig. Computers zijn sneller geworden, met meerdere processorkernen die op hoge snelheid werken (bv. aan 2 GHz), met meer RAM (bv. ten minste 4 of ten minste 8 Gigabytes RAM) waardoor meerdere applicaties gelijktijdig uitgevoerd kunnen worden.The technology has evolved significantly in the past few decades. On the one hand, printing has become easier, and with the advent of laser printers and inkjet printers, printer speed and printer quality have increased significantly (compared to, for example, a matrix printer). On the other hand, display quality has also been significantly increased, and high-resolution LCD panels (eg with 1920 x 1080 pixels or even 3840 x 2160 at 60 Hz frame rate) are ubiquitous. Computers have become faster, with multiple processor cores operating at high speed (eg at 2 GHz), with more RAM (eg at least 4 or at least 8 Gigabytes of RAM) allowing multiple applications to run simultaneously.

Voor draagbare apparaten, in het bijzonder smartphones, is dezelfde trend zichtbaar: hoge schermresolutie (bijvoorbeeld 1920 x 1080 pixels, of 2560 x 1440 pixels, of 3840 x 2160 of 4096 x 2160 pixels zijn zeer gebruikelijk), meerdere processorkernen die aan hoge kloksnelheid werken (bv. 1,5 GHz of meer), grote geheugengrootte (bv. 4 Gigabytes RAM en 32 Gigabytes flash), etc. Maar het afdrukken vanaf deze apparaten is ook zeer eenvoudig, bv. gebruikmakende van een draadloze verbinding (bv. wifi) in plaats van kabels.For portable devices, especially smartphones, the same trend is visible: high screen resolution (e.g. 1920 x 1080 pixels, or 2560 x 1440 pixels, or 3840 x 2160 or 4096 x 2160 pixels are very common), multiple processor cores that operate at high clock speeds (eg 1.5 GHz or more), large memory size (eg 4 Gigabytes of RAM and 32 Gigabytes flash), etc. But printing from these devices is also very simple, eg using a wireless connection (eg wifi) instead of cables.

Mensen hebben dus nog steeds een keuze tussen lezen op het scherm versus afdrukken en lezen op papier. Echter, deze technologische vooruitgang maakt het misschien moeilijker voor mensen om informatie op een scherm te lezen.So people still have a choice between reading on the screen versus printing and reading on paper. However, this technological advance may make it more difficult for people to read information on a screen.

Terwijl een hogere beeldresolutie doorgaans een scherper beeld betekent, betekent het doorgaans ook dat de lettergrootte kleiner is, en dat meer tekst op het scherm kan getoond worden. Kleinere letters en meer informatie op zichzelf maken het niet altijd gemakkelijker om die informatie daadwerkelijk te lezen, en kunnen eerder de moeilijkheid van het lezen van informatie vergroten.While a higher image resolution usually means a sharper image, it usually also means that the font size is smaller, and more text can be displayed on the screen. Smaller letters and more information in and of itself do not always make it easier to actually read that information, but rather can increase the difficulty of reading it.

Een eerste probleem dat men tegenkomt bij het lezen van tekstuele informatie op een scherm, is dat veel mensen het moeilijk vinden om geconcentreerd te blijven wanneer het vereist is om grote hoeveelheden tekst aandachtig te lezen (bv. te bestuderen), vooral wanneer de tekst niet veel opmaak bevat (zoals vette of onderstreepte karakters, titels, verschillende kleuren, verschillendeA first problem encountered when reading textual information on a screen is that many people find it difficult to stay focused when it is required to read large amounts of text (e.g. study it) carefully, especially when the text is not contains a lot of formatting (such as bold or underlined characters, titles, different colors, different ones

BE2018/5637 lettertypes, blanco regels, etc.). Dit is bijvoorbeeld het geval bij het lezen of bestuderen van gepubliceerde octrooidocumenten.BE2018 / 5637 fonts, blank lines, etc.). This is the case, for example, when reading or studying published patent documents.

Dit eerste probleem wordt onderkend in de stand der techniek, en wordt bijvoorbeeld aangepakt door een tool (hulpmiddel) gekend als LineReader, dat ten tijde van het schrijven van dit document commercieel beschikbaar is op het internet. Dit tool verschaft een grafisch overlayvenster 483 met een semi-transparante (gedeeltelijk doorzichtige) lijn 310 die de muisaanwijzer 399 volgt, zoals schematisch geïllustreerd in FIG. 3. In FIG. 3 is de lijn 310 grijs gekleurd omdat octrooidocumenten nog steeds gedeponeerd moeten worden in zwart en wit, maar in werkelijkheid kan de lijn 310 bijvoorbeeld rood of blauw gekleurd zijn, hetgeen opvallender is en eenvoudiger te onderscheiden is dan de oorspronkelijke (native) muisaanwijzer of muiscursor 399 die doorgaans verschaft wordt door een besturingssysteem (zoals bv. Mac O/S van Apple Inc. met hoofdzetel in Cupertino, of Windows van MicroSoft Corporation, Redmond), vooral op hoge-resolutie-schermen. Mensen kunnen dit hulpmiddel gebruiken om tekstuele informatie die zij op het scherm aan het lezen zijn, te onderlijnen. De lijn kan het vermogen van een gebruiker verhogen om gefocust en geconcentreerd te blijven.This first problem is recognized in the art, and is addressed, for example, by a tool known as LineReader, which is commercially available on the Internet at the time of writing this document. This tool provides a graphical overlay window 483 with a semi-transparent (partially transparent) line 310 that follows the mouse pointer 399, as schematically illustrated in FIG. 3. In FIG. 3, line 310 is colored gray because patent documents still need to be filed in black and white, but in reality line 310 may be colored red or blue, for example, which is more striking and easier to distinguish than the original (native) mouse pointer or mouse cursor 399 typically provided by an operating system (such as, for example, Mac O / S from Apple Inc. headquartered in Cupertino, or Windows from MicroSoft Corporation, Redmond), especially on high-resolution displays. People can use this tool to underline textual information they are reading on the screen. The line can increase a user's ability to stay focused and focused.

Echter, voor zover als gekend bij de uitvinders, is er geen hulpmiddel op de markt beschikbaar dat het voor een gebruiker gemakkelijker maakt om gegevens in een tabel of werkblad te vinden, of te bewerken of te verifiëren, of om een bepaalde cel te lokaliseren. Hoewel er letterlijk honderden miljoenen mensen zijn die al minstens twee decennia lang dagelijks gebruik maken van spreadsheets en werkbladen, is er geen voor de hand liggende oplossing gevonden.However, as far as known to the inventors, there is no tool available on the market that makes it easier for a user to find, edit, or verify data in a table or worksheet, or locate a particular cell. While there are literally hundreds of millions of people who have used spreadsheets and worksheets on a daily basis for at least two decades, no obvious solution has been found.

Een ander probleem dat men tegenkomt bij het lezen of bestuderen van documenten op het scherm, of in het algemeen, wanneer men vele uren per dag doorbrengt voor een computerscherm, is dat veel mensen oogvermoeidheid ervaren, vooral bij het lezen van grote hoeveelheden tekst op een heldere achtergrond (bv. bij het lezen van zwarte tekst op een witte achtergrond). Helaas verschaffen veel programma's (bv. PDF-viewers, teksteditors, etc.) en veel webpagina's een heldere, witte achtergrond, waarschijnlijk omdat deze programma's ontworpen zijn om de informatie te vertonen op de wijze waarop deze zal afgedrukt worden (zoals het acroniem WYSIWYG, dat staat voor what you see is what you get en dat wat je ziet is wat je krijgt betekent). Schermen die beelden tonen met relatief grote gedeelten van zwarte tekst op een witte achtergrond, sturen relatief grote hoeveelheden lichtenergie naar de ogen, hetgeen zeer ongemakkelijk is voor veel mensen. Dit ongemak neemt doorgaans toe als mensen meer uren voor een computerscherm doorbrengen, als de grootte van het scherm toeneemt, als de afstand tot het scherm afneemt, of combinaties hiervan, en is doorgaans erger in een slecht verlichte kamer.Another problem encountered when reading or studying documents on the screen, or generally when spending many hours a day in front of a computer screen, is that many people experience eye fatigue, especially when reading large amounts of text on a bright background (e.g. when reading black text on a white background). Unfortunately, many programs (eg PDF viewers, text editors, etc.) and many web pages provide a bright, white background, probably because these programs are designed to display the information in the way it will be printed (such as the acronym WYSIWYG, which stands for what you see is what you get and what you see is what you get means). Screens that display images with relatively large areas of black text on a white background send relatively large amounts of light energy to the eyes, which is very inconvenient for many people. This inconvenience usually increases as people spend more hours in front of a computer screen, as the screen size increases, the distance to the screen decreases, or combinations of these, and is usually worse in a dimly lit room.

Dit probleem wordt eveneens onderkend in de stand der techniek, en één van de hulpmiddelen beschikbaar in de markt om dit probleem aan te pakken is gekend als F.Lux, dat een schermvullende semi-transparante grafische overlay verschaft, schematisch weergegeven in FIG. 5. DitThis problem is also recognized in the art, and one of the tools available in the market to address this problem is known as F.Lux, which provides a full-screen semi-transparent graphic overlay, shown schematically in FIG. 5. This

BE2018/5637 tool kan ook gebruikt worden om de zogenoemde kleurtemperatuur dynamisch te wijzigen in de loop van de dag. Relevant voor de onderhavige uitvinding is dat hulpmiddelen zoals F.Lux de helderheid van het door de computerinrichting gegenereerde grafisch beeld kunnen verminderen, en daardoor oogvermoeidheid verminderen. Het tool is echter niet ideaal, onder meer omdat de overlay de eigenlijke helderheid van onderliggende vensters niet in beschouwing neemt, en/of omdat een gebruiker niet langer een schermopname (screenshot) kan nemen zonder de geelachtige kleur die de kleuren van de originele beelden sterk vervormt, en/of omdat het tool het niet mogelijk maakt om tekstuele informatie te onderlijnen of te markeren.BE2018 / 5637 tool can also be used to dynamically change the so-called color temperature during the day. Relevant to the present invention is that tools such as F.Lux can reduce the brightness of the graphic image generated by the computer device, thereby reducing eye fatigue. However, the tool is not ideal, partly because the overlay does not consider the actual brightness of underlying windows, and / or because a user can no longer take a screenshot (screenshot) without the yellowish color that strongly colors the original images. distorted, and / or because the tool does not allow to underline or highlight textual information.

US-octrooinr. 6,333,753, verleend op 21 december 2005, openbaart een techniek voor het implementeren van een on-demand displaywidget door gecontroleerde vervaging (fading) geïnitieerd door gebruikercontact met een aanraakgevoelige invoerinrichting. Het document beschrijft een semitransparant Tool Glass, optioneel gebruikmakende van een grafische versneller. Het in-faden (vervagen) en uit-faden kan gerealiseerd worden door dynamisch een alfatransparantiewaarde te wijzigen. Dit document is hierin in zijn geheel opgenomen door verwijzing, vooral FIG. 8 daarvan, samen met de bijhorende beschrijving.U.S. Patent No. 6,333,753, issued December 21, 2005, discloses a technique for implementing an on-demand display widget by controlled fading initiated by user contact with a touch sensitive input device. The document describes a semi-transparent Tool Glass, optionally using a graphics accelerator. Fading (fading) and fading out can be accomplished by dynamically changing an alpha transparency value. This document is incorporated herein by reference in its entirety, especially FIG. 8 of which, together with the accompanying description.

US-octrooinr. 5,798,752, verleend op 25 augustus 1998, openbaart een techniek waarin een gebruiker een semi-transparant overlayvenster dat een zogenoemd werkstuk bevat, kan verplaatsen met de niet-dominante hand, en de muisaanwijzer kan verplaatsen met de dominante hand.U.S. Patent No. 5,798,752, issued August 25, 1998, discloses a technique in which a user can move a semi-transparent overlay window containing a so-called workpiece with the non-dominant hand, and move the mouse pointer with the dominant hand.

Veel mensen lezen boeken op een eReader-apparaat, maar het is moeilijk om geconcentreerd te blijven. Sommige mensen gebruiken hun vinger om de tekst die ze lezen te onderlijnen, maar wanneer het apparaat terzijde wordt gelegd, is de locatie verloren. Er is een behoefte aan een praktischer wijze om gefocust te blijven.Many people read books on an eReader device, but it is difficult to stay focused. Some people use their finger to underline the text they read, but when the device is put aside, the location is lost. There is a need for a more practical way to stay focused.

Vele professionele gebruikers maken gebruik van websites om gegevens te zoeken, bv. vertalers op zoek naar de juiste terminologie. Een probleem met vele gratis websites is dat ze reclame tonen (advertenties), die verstorend kunnen zijn. Het zou mooi zijn om gebruik te kunnen maken van websites zonder afgeleid te worden door advertenties, en gefocusseerd te blijven.Many professional users use websites to search for data, eg translators looking for the right terminology. A problem with many free websites is that they show advertisements (advertisements), which can be disruptive. It would be nice to be able to use websites without being distracted by advertisements and stay focused.

Samenvatting van de uitvindingSummary of the invention

Het is een doel van de onderhavige uitvinding om een computer-geïmplementeerde werkwijze te verschaffen voor het overlayen van een door een computerinrichting gegenereerd grafisch beeld met een overlaybeeld.It is an object of the present invention to provide a computer-implemented method for overlaying a graphic image generated by a computer device with an overlay image.

Het is een doel van bepaalde uitvoeringsvormen van de onderhavige uitvinding om een overlayvenster te verschaffen dat ten minste één semi-transparant zichtbaar object omvat dat slechts een minderheidsgedeelte van het onderliggende grafisch beeld bedekt, en dat beweegbaar is in overeenstemming met bewegingen van een invoerinrichting die verbonden is met de computerinrichting.It is an object of certain embodiments of the present invention to provide an overlay window comprising at least one semi-transparent visible object covering only a minority portion of the underlying graphic image and movable in accordance with movements of an input device connected is with the computer device.

BE2018/5637BE2018 / 5637

Het is een doel van bepaalde uitvoeringsvormen van de onderhavige uitvinding om zulk een werkwijze te verschaffen die uitermate geschikt is voor het assisteren van een gebruiker bij het lezen van tekstuele informatie op een scherm.It is an object of certain embodiments of the present invention to provide such a method that is well suited for assisting a user in reading textual information on a screen.

Het is een doel van bepaalde uitvoeringsvormen van de onderhavige uitvinding om zulk een werkwijze te verschaffen die uitermate geschikt is voor het assisteren van een gebruiker bij het extraheren van informatie uit een tabel of spreadsheet (werkblad), of bij het bewerken van een tabel of spreadsheet.It is an object of certain embodiments of the present invention to provide such a method that is well suited for assisting a user in extracting information from a table or spreadsheet (worksheet), or when editing a table or spreadsheet .

Het is een doel van bepaalde uitvoeringsvormen van de onderhavige uitvinding om zulk een werkwijze te verschaffen waarbij het overlaybeeld verder ten minste een tweede semi-transparant object omvat dat een meerderheidsgedeelte van het onderliggende grafisch beeld bedekt.It is an object of certain embodiments of the present invention to provide such a method wherein the overlay image further comprises at least a second semi-transparent object covering a majority portion of the underlying graphic image.

Het is een doel van bepaalde uitvoeringsvormen van de onderhavige uitvinding om zulk een werkwijze te verschaffen met ten minste een eerste en een tweede semi-transparant object, waarbij het tweede semi-transparant object een hogere transparantie heeft dan het eerste semi-transparant object.It is an object of certain embodiments of the present invention to provide such a method with at least a first and a second semi-transparent object, wherein the second semi-transparent object has a higher transparency than the first semi-transparent object.

Het is een doel van bepaalde uitvoeringsvormen van de onderhavige uitvinding om zulk een werkwijze te verschaffen waarbij de transparantie van het eerste, beweegbare object voldoende laag is, zodat dit object gemakkelijk kan onderscheiden worden van de achtergrond, en waarbij de transparantie van het tweede object voldoende hoog is, zodat de onderliggende tekstuele of alfanumerieke informatie goede leesbaarheid behoudt.It is an object of certain embodiments of the present invention to provide such a method in which the transparency of the first movable object is sufficiently low that this object can be easily distinguished from the background, and in which the transparency of the second object is sufficiently high, so that the underlying textual or alphanumeric information retains good readability.

Het is een doel van bepaalde uitvoeringsvormen van de onderhavige uitvinding om zulk een werkwijze te verschaffen die verder ten minste een derde semi-transparant object omvat, dat eveneens beweegbaar is in overeenstemming met bewegingen van de invoerinrichting.It is an object of certain embodiments of the present invention to provide such a method further comprising at least a third semi-transparent object, which is also movable in accordance with movements of the input device.

Het is een doel van bepaalde uitvoeringsvormen van de onderhavige uitvinding om zulk een werkwijze te verschaffen waarbij een in hoofdzaak monochrome achtergrondkleur van een onderliggend beeld wordt getransformeerd tot een achtergrond met een textuurpatroon, bij voorkeur zonder in belangrijke mate afbreuk te doen aan de leesbaarheid van de oorspronkelijke tekstuele informatie, en/of bij voorkeur met een esthetisch meer aantrekkelijke achtergrond.It is an object of certain embodiments of the present invention to provide such a method in which a substantially monochrome background color of an underlying image is transformed into a textured pattern background, preferably without significantly compromising the legibility of the original textual information, and / or preferably with an aesthetically more attractive background.

Het is tevens een doel van uitvoeringsvormen van de onderhavige uitvinding om een overlayapplicatie te verschaffen die heldere beelden omzet naar donkere beelden.It is also an object of embodiments of the present invention to provide an overlay application that converts clear images to dark images.

Het is tevens een doel van de onderhavige uitvinding om een computerinrichting te verschaffen aangepast voor het uitvoeren van de genoemde werkwijze.It is also an object of the present invention to provide a computer device adapted to perform the said method.

Het is tevens een doel van de onderhavige uitvinding om een computerprogrammaproduct te verschaffen voor het verschaffen van een grafische overlay, welk computerprogrammaproduct, wanneer het wordt uitgevoerd op ten minste één verwerkingseenheid van de genoemde computerinrichting, de genoemde werkwijze voor het overlayen uitvoert.It is also an object of the present invention to provide a computer program product for providing a graphic overlay, which computer program product, when executed on at least one processing unit of said computer device, performs said overlay method.

BE2018/5637BE2018 / 5637

Het is tevens een doel van de onderhavige uitvinding om een draagbaar rekenapparaat te verschaffen dat een overlaybeeld verschaft.It is also an object of the present invention to provide a portable calculator that provides an overlay image.

Het is tevens een doel van de onderhavige uitvinding om een weergave-inrichting te verschaffen die een overlay-werkwijze verschaft.It is also an object of the present invention to provide a display device that provides an overlay method.

Het is tevens een doel van uitvoeringsvormen van de onderhavige uitvinding om een werkwijze te verschaffen van het overlayen die zichzelf dynamisch aanpast, afhankelijk van zichtbare kenmerken van onderliggende vensters.It is also an object of embodiments of the present invention to provide a method of overlay that dynamically adjusts itself depending on visible features of underlying windows.

Het is een doel van specifieke uitvoeringsvormen van de onderhavige uitvinding om een werkwijze van overlayen te verschaffen voor het donkerder maken van het scherm, die zichzelf dynamisch aanpast afhankelijk van de helderheid van de onderliggende vensters.It is an object of specific embodiments of the present invention to provide an overlay method for darkening the screen that dynamically adjusts itself depending on the brightness of the underlying windows.

Het is tevens een doel van uitvoeringsvormen van de onderhavige uitvinding om een werkwijze van overlayen te verschaffen die het mogelijk maakt dat een screenshot (schermopname) van de onderliggende vensters genomen wordt (alsof de overlay er niet was), maar zonder de overlayapplicatie te deactiveren.It is also an object of embodiments of the present invention to provide an overlay method that allows a screenshot (screen shot) of the underlying windows to be taken (as if the overlay was not there), but without deactivating the overlay application.

Het is tevens een doel van specifieke uitvoeringsvormen van de onderhavige uitvinding om een werkwijze te verschaffen die ervoor zorgt dat voorkomen wordt dat advertenties getoond worden aan de gebruiker.It is also an object of specific embodiments of the present invention to provide a method that prevents advertisements from being displayed to the user.

Deze en andere doelstellingen worden gerealiseerd door een werkwijze en een computerinrichting en een computerprogrammaproduct en een computersysteem en een draagbaar rekenapparaat en een weergave-inrichting volgens uitvoeringsvormen van de onderhavige uitvinding.These and other objects are accomplished by a method and a computer device and a computer program product and a computer system and a portable computing device and a display device according to embodiments of the present invention.

Volgens een 1ste aspect (met bijnaam geperforeerde bitmap), verschaft de onderhavige uitvinding een computer-geïmplementeerde werkwijze voor het overlayen van een grafisch beeld in een rekenapparaat, welke werkwijze de stappen omvat van: a) het verschaffen van een overlayvenster; b) het verschaffen van ten minste één zichtbaar object in het genoemd overlayvenster, waarbij het ten minste één zichtbaar object een bitmap omvat met een eerste veelheid pixels die volledig transparante pixels zijn, en een tweede veelheid pixels die ondoorzichtige pixels of semitransparante pixels zijn; waarbij de eerste veelheid pixels en de tweede veelheid pixels geïnterleaved (afwisselend gepositioneerd) zijn; c) het configureren van het overlayvenster in doorklikmodus.In a 1st aspect (nicknamed perforated bitmap), the present invention provides a computer implemented method for overlaying a graphic image in a computing device, the method comprising the steps of: a) providing an overlay window; b) providing at least one visible object in said overlay window, the at least one visible object comprising a bitmap having a first plurality of pixels that are fully transparent pixels, and a second plurality of pixels that are opaque pixels or semitransparent pixels; wherein the first plurality of pixels and the second plurality of pixels are interleaved (alternately positioned); c) configuring the overlay window in click-through mode.

Het overlayvenster kan geconfigureerd zijn als een ondoorzichtig venster, hetgeen betekent dat dit venster niet-transparante pixels of volledig transparante pixels kan bevatten, maar geen semitransparante pixels. (Hetzelfde visuele effect zou verkregen worden met een semi-transparant venster met een alfatransparantie van 100%).The overlay window can be configured as an opaque window, which means that this window can contain non-transparent pixels or fully transparent pixels, but not semitransparent pixels. (The same visual effect would be obtained with a semi-transparent window with an alpha transparency of 100%).

Alternatief kan het overlayvenster geconfigureerd zijn als een semi-transparant venster met een alfatransparantie α in het bereik van 1% tot 99% of van 2% tot 98% of van 5% tot 95%, hetgeenAlternatively, the overlay window can be configured as a semi-transparent window with an alpha transparency α ranging from 1% to 99% or from 2% to 98% or from 5% to 95%, which

BE2018/5637 betekent dat dit venster volledig transparante pixels of semi-transparante pixels kan bevatten, maar geen ondoorzichtige pixels.BE2018 / 5637 means that this window can contain fully transparent pixels or semi-transparent pixels, but not opaque pixels.

De bitmap met de volledig transparante pixels die afgewisseld zijn met ondoorzichtige of semi-transparante pixels wordt hierin een geperforeerde bitmap genoemd (naar analogie met een geperforeerde plaat waarbij men kan zien doorheen de openingen).The bitmap with the fully transparent pixels interspersed with opaque or semi-transparent pixels is referred to herein as a perforated bitmap (by analogy with a perforated plate showing through the apertures).

Met grafisch beeld wordt het beeld bedoeld dat gevormd wordt door de onderliggende lagen van daarmee geassocieerde onderliggende applicaties. Het grafisch beeld kan een gelaagde opeenstapeling van partiële beelden omvatten of kan daaruit samengesteld zijn, waarvan ten minste sommige verschaft worden door een applicatievenster geassocieerd met een computerapplicatie, zoals een teksteditor, een PDF-documentviewer, een webbrowser, een spreadsheet (rekenblad), etc. Het onderste beeld (zogenoemd desktopbeeld) kan gegenereerd worden door een besturingssysteem, de optioneel andere beelden van de opeenstapeling kunnen gegenereerd worden door applicaties zoals een tekst-editor, PDF-documentviewer of editor, een webbrowser, een spreadsheet, een tekenprogramma, etc.By graphic image is meant the image formed by the underlying layers of associated underlying applications. The graphic image may comprise or be composed of a layered stack of partial images, at least some of which are provided by an application window associated with a computer application, such as a text editor, a PDF document viewer, a web browser, a spreadsheet (spreadsheet), etc. The bottom image (so-called desktop image) can be generated by an operating system, the optional other images of the stack can be generated by applications such as a text editor, PDF document viewer or editor, a web browser, a spreadsheet, a drawing program, etc.

Bij voorkeur strekt het overlayvenster zich in hoofdzaak uit over het gehele grafische gebied, bijvoorbeeld (in een Windows-omgeving) kan het zich uitstrekken over het zogenaamde werkgebied (work area), dat is het ganse desktopgebied (desktop area) minus het gebied dat ingenomen wordt door een zogenoemde taakbalk (taskbar).Preferably, the overlay window extends mainly over the entire graphic area, for example (in a Windows environment) it can extend over the so-called work area, which is the entire desktop area (minus the area occupied). is called a taskbar.

Het begrip volledig transparante pixel is welbekend in de stand der techniek. In de praktijk wordt het doorgaans geïmplementeerd door het toekennen van een vooraf gedefinieerde pseudokleurwaarde aan deze pixels.The term fully transparent pixel is well known in the art. In practice, it is usually implemented by assigning a predefined pseudo color value to these pixels.

De bitmap kan ten minste één rij en/of ten minste één kolom bevatten die ten minste één volledig transparante pixel bevat die zich tussen twee ondoorzichtige of tussen twee semitransparante pixels bevindt, bij voorkeur ten minste twee rijen en ten minste twee kolommen.The bitmap can contain at least one row and / or at least one column containing at least one fully transparent pixel located between two opaque or between two semi-transparent pixels, preferably at least two rows and at least two columns.

De bitmap kan ten minste één rij en/of ten minste één kolom bevatten die ten minste één ondoorzichtige of semi-transparante pixel bevat die zich tussen twee volledig transparante pixels bevindt, bij voorkeur ten minste twee rijen, met meer voorkeur elke rij.The bitmap can contain at least one row and / or at least one column containing at least one opaque or semi-transparent pixel located between two fully transparent pixels, preferably at least two rows, more preferably each row.

De bitmap kan ten minste één rij en/of ten minste één kolom bevatten die een veelheid oneven en even genummerde verzamelingen pixels bevat, waarbij een oneven genummerde verzameling samengesteld is uit slechts één of ten minste één volledig transparante pixel, en waarbij een even genummerde verzameling samengesteld is uit slechts één of ten minste één ondoorzichtige of semi-transparante pixel.The bitmap may contain at least one row and / or at least one column containing a plurality of odd and even numbered sets of pixels, an odd numbered set consisting of only one or at least one fully transparent pixel, and an even numbered set is composed of only one or at least one opaque or semi-transparent pixel.

In een uitvoeringsvorm, neemt het ten minste één zichtbaar object dat de bitmap omvat, een meerderheidsgedeelte in van het gebied van het te overlayen grafisch beeld, bijvoorbeeld ten minste 75%, of ten minste 80% of ten minste 85% of ten minste 90% van het grafisch beeld.In one embodiment, the at least one visible object including the bitmap occupies a majority portion of the area of the graphic image to be overlaid, for example at least 75% or at least 80% or at least 85% or at least 90% of the graphic image.

BE2018/5637BE2018 / 5637

In eenvoudige termen uitgedrukt, kan het semi-transparante object in deze uitvoeringsvorm bijvoorbeeld een filmlaag over het grafisch beeld vormen, die gebruikt kan worden om de gemiddelde kleur en/of de gemiddelde lichtintensiteit van het grafisch beeld te wijzigen.In simple terms, the semi-transparent object in this embodiment may, for example, form a film layer over the graphic image, which can be used to change the average color and / or the average light intensity of the graphic image.

Het ten minste één zichtbaar object kan in hoofdzaak stationair zijn, in de zin dat het niet beweegt in overeenstemming met bewegingen van een invoerinrichting.The at least one visible object can be substantially stationary in the sense that it does not move in accordance with movements of an input device.

In een uitvoeringsvorm, omvat de werkwijze verder stap d) waarbij ten minste een tweede zichtbaar object verschaft wordt dat beweegbaar is in overeenstemming met bewegingen van ten minste één aanwijsinrichting, en dat slechts een minderheidsgedeelte van het gebied van het te overlayen grafisch beeld inneemt.In one embodiment, the method further comprises step d) wherein at least a second visible object is provided which is movable in accordance with movements of at least one pointing device, and which occupies only a minority portion of the area of the graphic image to be overlaid.

In een uitvoeringsvorm is het ten minste één zichtbaar object dat de bitmap omvat beweegbaar in overeenstemming met bewegingen van een aanwijsinrichting en neemt slechts een minderheidsgedeelte van het gebied van het te overlayen grafisch beeld in, bijvoorbeeld ten hoogste 25%, of ten hoogste 20%, of ten hoogste 15%, of ten hoogste 10% of ten hoogste 5%.In one embodiment, the at least one visible object including the bitmap is movable in accordance with pointer movements and occupies only a minority portion of the area of the graphic image to be overlaid, e.g., up to 25%, or up to 20%, or up to 15%, or up to 10% or up to 5%.

In eenvoudige termen uitgedrukt, kan het semi-transparante object in deze uitvoeringsvorm een relatief klein object vormen, zoals een kleine lijn, of een grote lijn (die zich over de volledige breedte van het scherm uitstrekt), of een klein kruis, of een groot kruis (dat zich over de volledige breedte en de volledige hoogte van het scherm uitstrekt), dat zich verplaatst in overeenstemming met bewegingen van een aanwijsinrichting, bijvoorbeeld een muisinrichting, een trackball, een touchpad, etc. Een dergelijk object is uitermate geschikt voor het markeren of onderlijnen van tekstuele informatie in een tekstdocument, of alfanumerieke informatie in een werkblad.In simple terms, the semi-transparent object in this embodiment can be a relatively small object, such as a small line, or a large line (extending the full width of the screen), or a small cross, or a large cross (which extends over the full width and the full height of the screen), which moves in accordance with movements of a pointing device, for example a mouse device, a trackball, a touchpad, etc. Such an object is ideal for marking or underlining textual information in a text document, or alphanumeric information in a worksheet.

In een uitvoeringsvorm omvat de werkwijze verder de stappen van: het herhaaldelijk uitvoeren van de volgende stap: f) het verkrijgen van positie-informatie (X,Y) gerelateerd aan een positie van een muisaanwijzer of muiscursor; of het verkrijgen van bewegingsinformatie (dx,dy) gerelateerd aan een beweging van de ten minste één aanwijsinrichting; en het herhaaldelijk uitvoeren van de volgende stap: g) het aanpassen van een positie van het ten minste één object dat beweegbaar is en/of van het ten minste één tweede object dat beweegbaar is, gebruikmakende van de genoemde verkregen positie-informatie of gebruikmakende van de genoemde bewegingsinformatie.In one embodiment, the method further comprises the steps of: repeatedly performing the next step: f) obtaining position information (X, Y) related to a position of a mouse pointer or mouse cursor; or obtaining motion information (dx, dy) related to a movement of the at least one pointing device; and repeatedly performing the following step: g) adjusting a position of the at least one object which is movable and / or of the at least one second object which is movable, using said obtained position information or using said motion information.

Het configureren van het overlayvenster in doorklikmodus kan bijvoorbeeld geïmplementeerd worden (in een MS Windows-omgeving) gebruikmakende van één van de volgende functieaanroepen, of equivalente functieaanroepen: SetWindowLong(Handle, GWL_EXSTYLE, WS_EX_TRANSPARENT or WS_EX_LAYERED); SetWindowLong(Handle,GWL_EXSTYLE,GetWindowLong(Handle,GWL_EXSTYLE) orFor example, configuring the overlay window in click-through mode can be implemented (in an MS Windows environment) using one of the following function calls, or equivalent function calls: SetWindowLong (Handle, GWL_EXSTYLE, WS_EX_TRANSPARENT or WS_EX_LAYERED); SetWindowLong (Handle, GWL_EXSTYLE, GetWindowLong (Handle, GWL_EXSTYLE) or

WS_EX_TRANSPARENT);WS_EX_TRANSPARENT);

Als een voorbeeld kan het verkrijgen van positie-informatie het opvragen omvatten aan het besturingssysteem en GUI wat de positie van de native muiscursor is, bijvoorbeeld (in een MS Windows-omgeving) gebruikmakende van de functie GetCursorPos().As an example, obtaining position information may include querying the operating system and GUI about the position of the native mouse cursor, for example (in an MS Windows environment) using the GetCursorPos () function.

BE2018/5637BE2018 / 5637

Als een voorbeeld kan het verkrijgen van bewegingsinformatie omvatten: het configureren van het O/S om ruwe input-berichten te versturen, bijvoorbeeld door de applicatie te registreren bij het O/S voor het ontvangen van ruwe input-gegevens, bv. in de vorm van input-berichten gekend als WM_INPUT-berichten, bij voorbeeld door gebruik te maken van de WinAPI functie RegisterRawinputDevices(). Er wordt opgemerkt dat applicaties niet automatisch ruwe inputberichten ontvangen.As an example, obtaining motion information may include: configuring the O / S to send raw input messages, for example, by registering the application with the O / S to receive raw input data, e.g. in the form of input messages known as WM_INPUT messages, for example using the WinAPI function RegisterRawinputDevices (). It is noted that applications do not automatically receive raw input messages.

Stap f) wordt bij voorkeur telkens uitgevoerd wanneer een nieuw bericht arriveert. Stap g) kan gebaseerd zijn op een timer, bijvoorbeeld met een periode in het bereik van 1 ms tot 100 ms, bij voorkeur in het bereik van 1 ms tot 60 ms. Stap g) hoeft dus niet uitgevoerd te worden met dezelfde frequentie als stap f).Step f) is preferably performed each time a new message arrives. Step g) can be based on a timer, for example with a period in the range from 1 ms to 100 ms, preferably in the range from 1 ms to 60 ms. Therefore, step g) does not need to be performed with the same frequency as step f).

In een uitvoeringsvorm, heeft het ten minste één object dat beweegbaar is en/of het ten minste één tweede object dat beweegbaar is, een langwerpige vorm.In one embodiment, the at least one movable object and / or the at least one second movable object has an elongated shape.

Bijvoorbeeld een in hoofdzaak rechthoekige vorm, bijvoorbeeld een rechthoek met scherpe randen, of een rechthoek met afgeknotte randen, of een rechthoek met afgeronde randen, off een rechthoek met afgeronde hoeken. Een dergelijk zichtbaar object kan eenvoudig on the fly (gaandeweg) gegenereerd of gemodificeerd (grootte en/of kleur) worden, en is (door keuze van een toepasselijke hoogte en breedte) ideaal voor het onderlijnen van tekst, zonder een gebruiker af te leiden.For example, a substantially rectangular shape, for example a rectangle with sharp edges, or a rectangle with truncated edges, or a rectangle with rounded edges, off a rectangle with rounded corners. Such a visible object can easily be generated or modified (size and / or color) on the fly (along the way), and is (by choosing an appropriate height and width) ideal for underlining text, without distracting a user.

In een uitvoeringsvorm omvat het ten minste één tweede beweegbare object een eerste beweegbaar element met een langwerpige, horizontaal georiënteerde vorm, en een tweede beweegbaar element met een langwerpige, verticaal georiënteerde vorm; en waarbij stap g) het aanpassen omvat van een positie van het eerste beweegbaar element en het aanpassen van een positie van het tweede beweegbaar element.In one embodiment, the at least one second movable object comprises a first movable element of an elongated, horizontally oriented shape, and a second movable element of an elongated, vertically oriented shape; and wherein step g) comprises adjusting a position of the first movable element and adjusting a position of the second movable element.

Of in eenvoudige termen uitgedrukt: het eerste beweegbaar element en het tweede beweegbaar element vormen een kruis. Het is een voordeel van het overlayen met een kruis dat het duidelijk een bepaalde cel in een spreadsheet of tabel kan aangeven.Or expressed in simple terms: the first movable element and the second movable element form a cross. It is an advantage of overlay with a cross that it can clearly indicate a particular cell in a spreadsheet or table.

In een uitvoeringsvorm strekt het eerste beweegbaar element zich uit over een ganse breedte van het overlayvenster, en strekt het tweede beweegbaar element zich uit over een ganse hoogte van het overlayvenster.In one embodiment, the first movable element extends a full width of the overlay window, and the second movable element extends a full height of the overlay window.

Het is een voordeel van het overlayen met een kruis dat zich over de ganse breedte en hoogte van het scherm uitstrekt, dat niet alleen de gewenste cel duidelijk wordt aangegeven, maar dat ook de overeenkomstige rij-kop (row header) en kolom-kop (column header) van de geselecteerde cel duidelijk wordt aangegeven.It is an advantage of overlaying with a cross that extends across the entire width and height of the screen that not only the desired cell is clearly indicated, but also the corresponding row header (row header) and column header ( column header) of the selected cell is clearly indicated.

In een uitvoeringsvorm zijn de eerste veelheid pixels en de tweede veelheid pixels van de bitmap georganiseerd in een pseudo-willekeurig patroon.In one embodiment, the first plurality of pixels and the second plurality of pixels of the bitmap are organized in a pseudo-random pattern.

In een uitvoeringsvorm zijn de eerste veelheid pixels en de tweede veelheid pixels van de bitmap georganiseerd in een regelmatig patroon.In one embodiment, the first plurality of pixels and the second plurality of pixels of the bitmap are organized in a regular pattern.

BE2018/5637BE2018 / 5637

In een uitvoeringsvorm zijn de eerste veelheid pixels en de tweede veelheid pixels van de bitmap georganiseerd in een regelmatig patroon volgens één van de volgende opties:In one embodiment, the first plurality of pixels and the second plurality of pixels of the bitmap are organized in a regular pattern according to one of the following options:

i) het regelmatig patroon is een 2x2 patroon, en precies één uit vier pixels is volledig transparant;i) the regular pattern is a 2x2 pattern, and exactly one out of four pixels is completely transparent;

ii) het regelmatig patroon is een 2x2 patroon en precies twee van de vier pixels zijn volledig transparant, waarbij de twee volledig transparante pixels zich bij voorkeur diagonaal tegenover elkaar bevinden;ii) the regular pattern is a 2x2 pattern and exactly two of the four pixels are completely transparent, the two fully transparent pixels preferably being diagonally opposite;

iii) het regelmatig patroon is een 2x2 patroon en precies drie van de vier pixels zijn volledig transparant.iii) the regular pattern is a 2x2 pattern and exactly three of the four pixels are completely transparent.

Het is een voordeel van het gebruik van een 2x2 patroon dat het klein is ten opzichte van de gehele schermgrootte, en dat het menselijk oog de neiging heeft om de kleur en intensiteit van de vier pixelwaarden te integreren. Afhankelijk van hoeveel pixels van het patroon volledig transparant zijn (1 of 2 of 3 van de vier), kan de algehele intensiteit (of het donker worden) grof bijgesteld worden. Indien de tweede groep pixels alfagemengd (Engels: alpha-blended) is, dan kan zowel de kleur van deze pixels alsook de alfamengingswaarde (Engels: alpha-blending value) gebruikt worden om de algehele intensiteit (of het donker worden) fijn af te stemmen.It is an advantage of using a 2x2 pattern that it is small in relation to the entire screen size, and that the human eye tends to integrate the color and intensity of the four pixel values. Depending on how many pixels of the pattern are completely transparent (1 or 2 or 3 out of four), the overall intensity (or darkening) can be adjusted roughly. If the second group of pixels is alpha mixed (English: alpha-blended), both the color of these pixels and the alpha mixing value (English: alpha-blending value) can be used to fine tune the overall intensity (or darkening) .

In een uitvoeringsvorm omvat de werkwijze verder de stap van: het herhaaldelijk aanpassen van een positie van het object dat de bitmap bevat of van de bitmap zodanig dat pixels van het onderliggende grafisch beeld geoverlayed (overdekt) worden door een volledig transparante pixel van de eerste veelheid pixels op een eerste tijdstip, en geoverlayed worden door een ondoorzichtige of door een semi-transparante pixel van de tweede veelheid pixels op een tweede en optioneel derde en vierde tijdstip.In one embodiment, the method further comprises the step of: repeatedly adjusting a position of the object containing the bitmap or of the bitmap such that pixels of the underlying graphic image are overlayed (covered) by a fully transparent pixel of the first plurality pixels at a first time, and are overlayed by an opaque or semi-transparent pixel of the second plurality of pixels at a second and optionally third and fourth time.

Bij voorkeur wordt de aanpassing gedaan voor ieder frame (bv. aan 60 Hz), of iedere twee frames (bv. aan 30 Hz) of elke 3 frames (bv. aan 20 Hz), of iedere 4 frames (bv. aan 15 Hz). De aanpassing kan bijvoorbeeld zo eenvoudig zijn als het tweede object of het ganse overlayvenster met 1 pixel naar rechts te verschuiven of naar links of naar boven of naar beneden. Dit kan gezien worden als een soort tijdmultiplex.Preferably, the adjustment is made for each frame (e.g. at 60 Hz), or every two frames (e.g. at 30 Hz) or every 3 frames (e.g. at 20 Hz), or every 4 frames (e.g. at 15 Hz) ). For example, the adjustment can be as simple as sliding the second object or the entire overlay window by 1 pixel to the right or to the left or up or down. This can be seen as a kind of time multiplex.

In een alternatieve uitvoeringsvorm wordt een tweede bitmap verschaft die verschoven is ten opzichte van de eerste bitmap van het object, en omvat de werkwijze verder het overlayen met de eerste bitmap op een eerste tijdstip, en het overlayen met de tweede bitmap op een tweede en optioneel derde en vierde tijdstip.In an alternative embodiment, a second bitmap is shifted relative to the object's first bitmap, and the method further comprises overlaying the first bitmap at a first time, and overlaying the second bitmap at a second and optionally third and fourth time.

In een uitvoeringsvorm omvat stap b): het verschaffen van een bitmap waarbij de tweede groep pixels geëxtraheerd of afgeleid zijn uit een textuurbitmap.In one embodiment, step b) comprises: providing a bitmap wherein the second group of pixels are extracted or derived from a texture bitmap.

De textuurbitmap kan een vooraf gedefinieerde bitmap zijn of een selecteerbare bitmap, of een aanpassing daarvan.The texture bitmap can be a predefined bitmap or a selectable bitmap, or an adjustment thereof.

BE2018/5637BE2018 / 5637

In de context van de onderhavige uitvinding is een textuurbitmap bij voorkeur een bitmap die geen grafische voorstelling van eenvoudig herkenbare letters of getallen bevat, maar eerder een regelmatig of onregelmatig of pseudo-willekeurig patroon bevat, waarvan een voorbeeld is getoond in FIG. 27; een ander voorbeeld is een afbeelding van een mistige hemel.In the context of the present invention, a texture bitmap is preferably a bitmap that does not contain a graphic representation of easily recognizable letters or numbers, but rather contains a regular or irregular or pseudo-random pattern, an example of which is shown in FIG. 27; another example is a picture of a misty sky.

De textuurbitmap kan veel kleiner zijn dan de bitmap van het ten minste één object in het overlayvenster, in welk geval het ten minste één keer wordt herhaald en/of wordt getegeld (Engels: tiled) en/of wordt gespiegeld en/of wordt geroteerd. Het extraheren van pixelwaarden uit een kleinere textuurbitmap biedt het voordeel van het besparen van geheugen. Het gebruik van niet-constante waarden voor de tweede groep pixels kan een papierachtig uitzicht geven aan de gebruiker, wat aangenamer is om te lezen dan een helder wit kunststofachtig uitzicht.The texture bitmap can be much smaller than the bitmap of the at least one object in the overlay window, in which case it is repeated at least once and / or tiled and / or flipped and / or rotated. Extracting pixel values from a smaller texture bitmap has the advantage of saving memory. Using non-constant values for the second group of pixels can give a paper-like appearance to the user, which is more pleasant to read than a bright white plastic-like appearance.

In een uitvoeringsvorm is het overlayvenster geconfigureerd als een semi-transparant venster met een alfatransparantie (α) in het bereik van 1% tot 99% of van 2% tot 98% of van 5% tot 95%, en omvat de werkwijze verder de stap van: het aanpassen van pixelwaarden van de tweede veelheid pixels die geëxtraheerd of afgeleid zijn uit de genoemde textuurbitmap, als een functie van een alfatransparantiewaarde van het overlayvenster.In one embodiment, the overlay window is configured as a semi-transparent window with an alpha transparency (α) ranging from 1% to 99% or from 2% to 98% or from 5% to 95%, and the method further includes the step of: adjusting pixel values of the second plurality of pixels extracted or derived from said texture bitmap, as a function of an alpha transparency value of the overlay window.

Bij voorkeur wordt de aanpassing zodanig uitgevoerd dat een contrastniveau van de textuur in hoofdzaak dezelfde blijft, ondanks variaties van de alfatransparantiewaarde.Preferably, the adjustment is made such that a contrast level of the texture remains substantially the same despite variations of the alpha transparency value.

In een uitvoeringsvorm omvatten de pixelwaarden drie kleurcomponenten, bijvoorbeeld Rood, Groen en Blauw, en wordt elke pixelwaarde aangepast door gebruik te maken van een lineaire uitdrukking van de respectievelijke kleurcomponent zelve, en optioneel het resultaat van die lineaire uitdrukking te begrenzen tot het bereik van 0 tot 255.In one embodiment, the pixel values comprise three color components, for example, Red, Green and Blue, and each pixel value is adjusted using a linear expression of the respective color component itself, and optionally limiting the result of that linear expression to the range of 0 to 255.

Als voorbeeld kan de Rood-component aangepast worden volgens de volgende formule, of een equivalente formule: R:= round((R-Ravg)*Fcontrast+newR; begrensd tot [0..255], waarbij R de oorspronkelijke rood-waarde is van een uit de textuurbitmap geëxtraheerde pixel, en Fcontrast een vooraf gedefinieerde of selecteerbare contrastfactor is (een drijvende-kommagetal). Deze waarde verandert bij voorkeur als een tweede-orde functie (bv. als het kwadraat) van het transparantieniveau T, waarbij ϊ=100%-α, newR een gewenste of geselecteerde gemiddelde waarde is voor de roodcomponenten van het overlaybeeld, die anders kan zijn dan de gemiddelde rood-waarde van de opgeslagen textuurbitmap.As an example, the Red component can be adjusted according to the following formula, or an equivalent formula: R: = round ((R-Ravg) * Fcontrast + newR; limited to [0..255], where R is the original red value is of a pixel extracted from the texture bitmap, and Fcontrast is a predefined or selectable contrast factor (a floating-point number) This value preferably changes as a second-order function (eg, as the square) of the transparency level T, where ϊ = 100% -α, newR is a desired or selected mean value for the red components of the overlay image, which may be different from the mean red value of the stored texture bitmap.

Het is een voordeel indien elke componentwaarde (bv. Rood) uitsluitend berekend wordt als een functie van de oorspronkelijke componentwaarde (in het voorbeeld Rood) en niet van de andere componentwaarden van die pixel (in het voorbeeld: Blauw en Groen), omdat dit rekentijd bespaart, en geïmplementeerd kan worden door middel van een één-dimensionale opzoekingstabel.It is an advantage if each component value (eg Red) is only calculated as a function of the original component value (in the example Red) and not of the other component values of that pixel (in the example: Blue and Green), because this takes computation time saves, and can be implemented through a one-dimensional lookup table.

In een uitvoeringsvorm wordt het grafisch beeld gegenereerd als een gelaagde samenstelling van een desktopbeeld en één of meerdere beelden geassocieerd met de genoemde één of meerdere applicaties; en wordt het semi-transparante overlayvenster gecreëerd door een overlay-applicatie.In one embodiment, the graphic image is generated as a layered composition of a desktop image and one or more images associated with said one or more applications; and the semi-transparent overlay window is created by an overlay application.

BE2018/5637BE2018 / 5637

De ten minste één processor zal doorgaans verder een besturingssysteem (O/S) draaien met een grafische gebruikersinterface (GUI) die slechts één enkele muisaanwijzer verschaft, en één of meerdere applicaties geselecteerd uit de groep bestaande uit: een webbrowser-applicatie, een spreadsheet-applicatie, een PDF-documentviewer, een PDF-documenteditor, een tekstviewer en een teksteditor.The at least one processor will typically further run an operating system (O / S) with a graphical user interface (GUI) that provides only a single mouse pointer, and one or more applications selected from the group consisting of: a web browser application, a spreadsheet- application, a PDF document viewer, a PDF document editor, a text viewer and a text editor.

Volgens een 2de aspect (met bijnaam groot kruis), verschaft de onderhavige uitvinding tevens een computer-geïmplementeerde werkwijze voor het overlayen van een grafisch beeld in een rekenapparaat, waarbij de werkwijze de stappen omvat van: a) het verschaffen van een overlayvenster; b) het verschaffen van ten minste een eerste zichtbaar object in het overlayvenster, waarbij het eerste object een langwerpige vorm heeft, horizontaal georiënteerd is, en een minderheidsgedeelte van het overlayvenster inneemt; c) het verschaffen van ten minste een tweede zichtbaar object in het overlayvenster, waarbij het tweede object een langwerpige vorm heeft, verticaal georiënteerd is en een minderheidsgedeelte van het overlayvenster inneemt; d) het configureren van het overlayvenster in doorklikmodus; het herhaaldelijk uitvoeren van de volgende stap: f) het verkrijgen van positie-informatie (X,Y) gerelateerd aan een positie van een muisaanwijzer of muiscursor; of het verkrijgen van bewegingsinformatie (dx,dy) gerelateerd aan een beweging van de ten minste één aanwijsinrichting; en het herhaaldelijk uitvoeren van de volgende stap: g) het aanpassen van een positie van het eerste zichtbaar object en het aanpassen van een positie van het tweede zichtbaar object op basis van de verkregen positie-informatie of gebruikmakende van de bewegingsinformatie.According to a 2nd aspect (nicknamed large cross), the present invention also provides a computer-implemented method for overlaying a graphic image in a computer, the method comprising the steps of: a) providing an overlay window; b) providing at least a first visible object in the overlay window, the first object having an elongated shape, horizontally oriented, and occupying a minority portion of the overlay window; c) providing at least a second visible object in the overlay window, the second object having an elongated shape, vertically oriented and occupying a minority portion of the overlay window; d) configuring the overlay window in click-through mode; repeatedly performing the following step: f) obtaining position information (X, Y) related to a position of a mouse pointer or mouse cursor; or obtaining motion information (dx, dy) related to a movement of the at least one pointing device; and repeatedly performing the following step: g) adjusting a position of the first visible object and adjusting a position of the second visible object based on the obtained position information or using the motion information.

Het eerste en tweede object vormen samen een kruis. Een dergelijke overlay is in het bijzonder bruikbaar bij het extraheren van gegevens uit een tabel, of bij het bewerken van een spreadsheet.The first and second objects together form a cross. Such an overlay is particularly useful when extracting data from a table or editing a spreadsheet.

In een uitvoeringsvorm strekt het eerste object zich uit over ten minste 80% van een breedte van het overlayvenster; en strekt het tweede object zich uit over ten minste 80% van een hoogte van het overlayvenster.In one embodiment, the first object extends at least 80% of a width of the overlay window; and the second object extends at least 80% of a height of the overlay window.

Bij voorkeur strekt het overlayvenster zich in hoofdzaak uit over het gehele scherm, of over het gehele werkgebied van het scherm (in de context van een Windows-omgeving betekent dit het gehele gebied minus het door de taakbalk ingenomen gebied).Preferably, the overlay window extends essentially over the entire screen, or over the entire work area of the screen (in the context of a Windows environment, this means the entire area minus the area occupied by the taskbar).

Bij voorkeur heeft het eerste object een rechthoekige vorm met een breedte van ten minste 80% of ten minste 85% of ten minste 90% of ten minste 95% of gelijk aan 100% van de breedte van het scherm.Preferably, the first object has a rectangular shape with a width of at least 80% or at least 85% or at least 90% or at least 95% or equal to 100% of the width of the screen.

Bij voorkeur heeft het tweede object een rechthoekige vorm met een hoogte van ten minstePreferably, the second object has a rectangular shape with a height of at least

80% of ten minste 85% of ten minste 90% of ten minste 95% of gelijk aan 100% van de hoogte van het scherm.80% or at least 85% or at least 90% or at least 95% or equal to 100% of the screen height.

BE2018/5637BE2018 / 5637

Bij voorkeur zijn de hoogte van het horizontale object en de breedte van het verticale object gelijk.Preferably, the height of the horizontal object and the width of the vertical object are the same.

In een uitvoeringsvorm omvat de werkwijze verder stap b) van: het configureren van het overlayvenster als een semi-transparant overlayvenster met een alfatransparantie in het bereik van 5% tot 95% of van 10% tot 90% of van 20% tot 80%.In one embodiment, the method further comprises step b) of: configuring the overlay window as a semi-transparent overlay window with an alpha transparency in the range of 5% to 95% or from 10% to 90% or from 20% to 80%.

In een alternatieve uitvoeringsvorm omvat de werkwijze verder stap b) van: het configureren van het overlayvenster als een niet-semi-transparant venster, hierin ook een ondoorzichtig venster genoemd.In an alternative embodiment, the method further comprises step b) of: configuring the overlay window as a non-semi-transparent window, also referred to herein as an opaque window.

In een uitvoeringsvorm, omvatten het eerste en tweede object een monochrome bitmap van pixels.In one embodiment, the first and second objects comprise a monochrome bitmap of pixels.

In een uitvoeringsvorm, omvatten het eerste en tweede object een bitmap met: een eerste veelheid pixels die volledig transparante pixels zijn, en een tweede veelheid pixels die ondoorzichtig zijn of die semi-transparante pixels zijn die alfagemengd dienen te worden met pixels van vensters die onder het overlayvenster liggen; waarbij de eerste veelheid pixels en de tweede veelheid pixels geïnterleaved (afwisselend gepositioneerd) zijn.In one embodiment, the first and second objects include a bitmap with: a first plurality of pixels that are fully transparent pixels, and a second plurality of pixels that are opaque or that are semi-transparent pixels to be alpha blended with pixels of windows that are below the overlay window; wherein the first plurality of pixels and the second plurality of pixels are interleaved (alternately positioned).

De eerste en tweede veelheid pixels kunnen opgesteld zijn in een dambordpatroon.The first and second plurality of pixels may be arranged in a checkerboard pattern.

Volgens een 3de aspect (met de bijnaam textuurbitmap), verschaft de onderhavige uitvinding ook een computer-geïmplementeerde werkwijze van het overlayen van een grafisch beeld in een rekenapparaat, waarbij de werkwijze de stappen omvat van: a) het verschaffen van een semitransparant overlayvenster met een alfatransparantie in het bereik van 5% tot 95% of van 10% tot 90% of van 20% tot 80%; b) het verschaffen van ten minste één bitmap in het overlayvenster, waarbij de bitmap ten minste 50% of ten minste 60% of ten minste 70% of ten minste 80% of ten minste 90% of ongeveer gelijk aan 100% van het gebied van het overlayvenster inneemt, waarbij de bitmap een textuurbitmap bevat; c) het configureren van het overlayvenster in doorklikmodus.According to a 3rd aspect (nicknamed texture bitmap), the present invention also provides a computer-implemented method of overlaying a graphic image in a computing device, the method comprising the steps of: a) providing a semi-transparent overlay window with a alpha transparency in the range of 5% to 95% or from 10% to 90% or from 20% to 80%; b) providing at least one bitmap in the overlay window, wherein the bitmap is at least 50% or at least 60% or at least 70% or at least 80% or at least 90% or about 100% of the area of occupies the overlay window, the bitmap containing a texture bitmap; c) configuring the overlay window in click-through mode.

Het gebruik van een textuurbitmap transformeert een glimmende of glanzende, bv. kunststofachtige, witte achtergrond tot een matte, bv. papierachtige achtergrond, waardoor een mooi esthetisch effect kan gecreëerd worden dat het lezen van een document op een scherm veraangenaamt.The use of a texture bitmap transforms a shiny or glossy, eg plastic-like, white background into a matte, eg paper-like background, creating a beautiful aesthetic effect that makes reading a document on a screen more pleasant.

Volgens een 4de aspect (met de bijnaam bevroren lijn), verschaft de onderhavige uitvinding ook een computer-geïmplementeerde werkwijze voor het overlayen van een grafisch beeld in een rekenapparaat, waarbij de werkwijze de stappen omvat van: a) het verschaffen van een overlayvenster; b) het verschaffen van een eerste zichtbaar object in de vorm van een verticale lijn; c) het verschaffen van een tweede zichtbaar object in de vorm van een horizontaal lijnsegment dat zich ofwel aan de linkerzijde ofwel aan de rechterzijde van de verticale lijn bevindt; waarbij het tweede zichtbaar object beweegbaar is in overeenstemming met bewegingen van een aanwijsinrichting; * het herhaaldelijk uitvoeren van de volgende stappen: d) het verkrijgen van positie-informatie van eenAccording to a 4th aspect (nicknamed frozen line), the present invention also provides a computer-implemented method of overlaying a graphic image in a computing device, the method comprising the steps of: a) providing an overlay window; b) providing a first visible object in the form of a vertical line; c) providing a second visible object in the form of a horizontal line segment located either on the left or right side of the vertical line; wherein the second visible object is movable in accordance with movements of an indicating device; * Repeatedly performing the following steps: d) Obtaining position information from a

BE2018/5637 muisaanwijzer of muiscursor; e) het testen of de muiscursor of -aanwijzer zich op of boven de verticale lijn bevindt, en indien de uitkomst van de test waar is, doorgaan met stap f), anders doorgaan met stap h); f) indien het overlayvenster niet reeds in niet-doorklikmodus geconfigureerd is, het configureren van het overlayvenster in niet-doorklikmodus; g) het testen of een muisknop is ingedrukt, en indien de uitkomst van deze test waar is, het verslepen van de verticale lijn; en gaan naar stap d); h) indien het overlayvenster niet reeds in doorklikmodus geconfigureerd is, het configureren van het overlayvenster in doorklikmodus; i) het aanpassen van een positie van het horizontale lijnsegment op basis van de positie-informatie van de muisaanwijzer of muiscursor.BE2018 / 5637 mouse pointer or mouse cursor; e) testing whether the mouse cursor or pointer is on or above the vertical line, and if the result of the test is true, proceed to step f), otherwise proceed to step h); f) if the overlay window is not already configured in non-click-through mode, configuring the overlay window in non-click-through mode; g) testing whether a mouse button has been pressed, and if the result of this test is true, dragging the vertical line; and go to step d); h) if the overlay window is not already configured in click-through mode, configuring the overlay window in click-through mode; i) adjusting a position of the horizontal line segment based on the position information of the mouse pointer or mouse cursor.

Deze uitvoeringsvorm verschaft een lijnsegment dat bevriest wanneer de muiscursor zich aan de rechterzijde van de verticale lijn bevindt of daar beweegt, en dat samen met de muiscursor beweegt wanneer de muiscursor zich aan de linkerzijde van de verticale lijn bevindt, of vice versa. Bovendien maakt deze uitvoeringsvorm het mogelijk om de verticale lijn op een zeer intuïtieve wijze te verslepen. Deze uitvoeringsvorm is in het bijzonder geschikt voor vertalers en proeflezers.This embodiment provides a line segment that freezes when the mouse cursor is on the right side of the vertical line and moves there along with the mouse cursor when the mouse cursor is on the left side of the vertical line, or vice versa. In addition, this embodiment makes it possible to drag the vertical line in a very intuitive manner. This embodiment is particularly suitable for translators and proofreaders.

In een uitvoeringsvorm omvat stap i): het testen of de muisaanwijzer of muiscursor zich aan dezelfde zijde van de verticale lijn bevindt als het horizontale lijnsegment, en indien de uitkomst van deze test waar is, het aanpassen van een verticale positie van het horizontale lijnsegment in overeenstemming met een verticale positie van de muisaanwijzer of muiscursor, en indien de uitkomst van deze test onwaar is, het behouden van een positie van de horizontale lijn.In one embodiment, step i) includes: testing whether the mouse pointer or mouse cursor is on the same side of the vertical line as the horizontal line segment, and if the result of this test is true, adjusting a vertical position of the horizontal line segment in consistent with a vertical position of the mouse pointer or mouse cursor, and if the result of this test is false, maintaining a position of the horizontal line.

In een uitvoeringsvorm omvat het horizontale lijnsegment een bitmap met: * een eerste veelheid pixels die volledig transparante pixels zijn, en een tweede veelheid pixels die ondoorzichtige pixels of semi-transparante pixels zijn; waarbij de eerste veelheid pixels en de tweede veelheid pixels geïnterleaved (afwisselend gepositioneerd) zijn.In one embodiment, the horizontal line segment includes a bitmap with: * a first plurality of pixels that are fully transparent pixels, and a second plurality of pixels that are opaque pixels or semi-transparent pixels; wherein the first plurality of pixels and the second plurality of pixels are interleaved (alternately positioned).

In een uitvoeringsvorm, zijn de eerste veelheid pixels en de tweede veelheid pixels van de bitmap georganiseerd in een pseudo-willekeurig patroon; of zijn de eerste veelheid pixels en de tweede veelheid pixels van de bitmap georganiseerd in een regelmatig patroon.In one embodiment, the first plurality of pixels and the second plurality of pixels of the bitmap are organized in a pseudo-random pattern; or are the first plurality of pixels and the second plurality of pixels of the bitmap organized in a regular pattern.

In een uitvoeringsvorm, zijn de eerste veelheid pixels en de tweede veelheid pixels van de bitmap georganiseerd in een regelmatig patroon volgens één van de volgende opties: i) het regelmatig patroon is een 2x2 patroon, en precies één van de vier pixels is volledig transparant; ii) het regelmatig patroon is een 2x2 patroon en precies twee uit vier pixels zijn volledig transparant, waarbij de twee volledig transparante pixels bij voorkeur diagonaal tegenover elkaar gelegen zijn; iii) het regelmatig patroon is een 2x2 patroon en precies drie uit vier pixels zijn volledig transparant.In one embodiment, the first plurality of pixels and the second plurality of pixels of the bitmap are organized in a regular pattern according to one of the following options: i) the regular pattern is a 2x2 pattern, and exactly one of the four pixels is completely transparent; ii) the regular pattern is a 2x2 pattern and exactly two out of four pixels are completely transparent, the two fully transparent pixels preferably being diagonally opposite; iii) the regular pattern is a 2x2 pattern and exactly three out of four pixels are completely transparent.

Volgens een 5de aspect (met de bijnaam automatisch donkerder maken), verschaft de onderhavige uitvinding ook een computer-geïmplementeerde werkwijze voor het overlayen van een grafisch beeld in een rekenapparaat, waarbij de werkwijze de stappen omvat van: a) het verschaffen van een semi-transparant overlayvenster met een alfatransparantiewaarde in het bereik van 1% tot 99% of in het bereik van 5% tot 95% of in het bereik van 10% tot 90%, en omvattende een eersteAccording to a 5th aspect (nicknamed auto darkening), the present invention also provides a computer-implemented method for overlaying a graphic image in a computing device, the method comprising the steps of: a) providing a semi- transparent overlay window with an alpha transparency value in the range of 1% to 99% or in the range of 5% to 95% or in the range of 10% to 90%, and comprising a first

BE2018/5637 bitmap; het herhaaldelijk uitvoeren van de volgende stappen: b) het nemen van een screenshot (schermopname), waardoor een tweede bitmap wordt verkregen; d) het bepalen van ten minste één kenmerk van de tweede bitmap; e) het aanpassen van de alfatransparantiewaarde van het overlayvenster en/of het aanpassen van één of meerdere pixelwaardes van de eerste bitmap, gebaseerd op het ten minste één bepaalde kenmerk.BE2018 / 5637 bitmap; repeatedly performing the following steps: b) taking a screenshot (screen shot), thereby obtaining a second bitmap; d) determining at least one feature of the second bitmap; e) adjusting the alpha transparency value of the overlay window and / or adjusting one or more pixel values of the first bitmap based on the at least one particular feature.

Het is een voordeel van deze werkwijze (waarbij stappen b) tot e) herhaaldelijk uitgevoerd worden) dat de overlay dynamisch aangepast kan worden op basis van werkelijke kenmerken van het/de onderliggende beeld(en), in plaats van louter gebaseerd te zijn op het tijdstip van de dag en de geografische locatie waar het rekenapparaat zich bevindt (zoals het geval lijkt te zijn voor F.Lux). Dit is bijzonder nuttig voor gebruikers die oogvermoeidheid ervaren.It is an advantage of this method (where steps b) to e) are performed repeatedly) that the overlay can be dynamically adjusted based on actual features of the underlying image (s), rather than being based solely on the time of day and the geographic location where the calculator is located (as appears to be the case for F.Lux). This is particularly helpful for users who experience eye fatigue.

Dankzij deze werkwijze, hoeven gebruikers die aan oogvermoeidheid lijden de overlayparameters (bijvoorbeeld alfatransparantie en/of donkerte van de overlaybitmap) niet manueel aan te passen, maar wordt dit automatisch afgehandeld gebruikmakende van de werkelijke beeldinhoud. Bijvoorbeeld, indien de onderliggende beelden heldere beelden zijn (bv. met een witte achtergrond zoals in MS Word of MS Paint of MS Powerpoint), dan kan meer verdonkering gebruikt worden, terwijl in het geval dat het/de onderliggende beeld(en) minder helder zijn (bv. bepaalde webpagina's), dan kan minder verdonkering gebruikt worden.Thanks to this method, eye fatigue users do not have to manually adjust the overlay parameters (e.g. alpha transparency and / or darkness of the overlay bitmap), but are handled automatically using the actual image content. For example, if the underlying images are clear images (eg with a white background such as in MS Word or MS Paint or MS Powerpoint), more darkening can be used, while in the case that the underlying image (s) is less bright (e.g. certain web pages), less darkening can be used.

De lus kan periodisch herhaald worden, bijvoorbeeld gebaseerd op een timer die een periode heeft in het bereik van 0,25 s tot 10 s, of in het bereik van 0,5 s tot 5 s, bijvoorbeeld gelijk aan ongeveer 1 seconde of ongeveer 2 seconden. Hoe kleiner deze periode, hoe hoger het reactievermogen van het rekenapparaat maar hoe meer rekenkracht vereist is. Hoe groter deze periode, hoe trager het systeem reageert, maar hoe minder rekenkracht vereist is. De vakman die deze functie implementeert, kan een geschikt compromis vinden. Optioneel kan deze periode door een gebruiker gekozen worden.The loop can be repeated periodically, for example, based on a timer that has a period in the range of 0.25 s to 10 s, or in the range of 0.5 s to 5 s, for example, equal to about 1 second or about 2 seconds. The smaller this period, the higher the responsiveness of the calculator, but the more computing power is required. The longer this period, the slower the system responds, but the less computing power is required. Those skilled in the art implementing this function can find a suitable compromise. Optionally, this period can be chosen by a user.

De eerste bitmap bestaat niet enkel uit volledig-transparante pixels, dus de eerste bitmap bevat ten minste één semi-transparante pixel, typisch ongeveer voor 50% uit semi-transparante pixels in het geval dat de eerste bitmap geperforeerd is, of typisch ongeveer voor 100% uit semi-transparante pixels in het geval dat de eerste bitmap niet geperforeerd is.The first bitmap not only consists of fully transparent pixels, so the first bitmap contains at least one semi-transparent pixel, typically about 50% of semi-transparent pixels in case the first bitmap is perforated, or typically about 100 % from semi-transparent pixels in case the first bitmap is not perforated.

In een uitvoeringsvorm is de eerste bitmap een monochrome bitmap, die een geperforeerde monochrome bitmap of een niet-geperforeerde monochrome bitmap kan zijn.In one embodiment, the first bitmap is a monochrome bitmap, which can be a perforated monochrome bitmap or an unperforated monochrome bitmap.

Het is een voordeel dat zulk een bitmap eenvoudig gegenereerd kan worden uitgaande van één enkele kleurwaarde (bv. met drie kleurcomponenten R,G,B).It is an advantage that such a bitmap can be easily generated from a single color value (e.g. with three color components R, G, B).

In een specifieke uitvoeringsvorm, bevat de eerste bitmap enkel zwarte pixels, of enkel grijswaardenpixels met (R,G,B) waardes gelijk aan (x,x,x), waarbij x een waarde is kleiner dan 93, of kleiner dan 65, of kleiner dan 49, of kleiner dan 33, of kleiner dan 17. Zulke beelden zijn ideaal geschikt voor het verdonkeren van het scherm, zonder de tint te wijzigen.In a specific embodiment, the first bitmap contains only black pixels, or only grayscale pixels with (R, G, B) values equal to (x, x, x), where x is a value less than 93, or less than 65, or less than 49, or less than 33, or less than 17. Such images are ideally suited for darkening the screen without changing the hue.

BE2018/5637BE2018 / 5637

In andere uitvoeringsvormen, bevat de eerste bitmap een monochrome kleurbitmap met pixels die (R,G,B)-waardes hebben gelijk aan (x,y,z), waarbij elk van x,y,z kleiner is dan 93 of kleiner dan 65, of kleiner dan 49, of kleiner dan 33, of kleiner dan 17. Zulke beelden zijn zeer goed geschikt voor het verdonkeren van het scherm, met wijziging van de tint.In other embodiments, the first bitmap contains a monochrome color bitmap with pixels having (R, G, B) values equal to (x, y, z), each of x, y, z being less than 93 or less than 65 , or less than 49, or less than 33, or less than 17. Such images are well suited for darkening the screen with changes in hue.

In een andere uitvoeringsvorm, bevat de eerste bitmap een kleurgradiënt, bijvoorbeeld een horizontale kleurgradiënt, of een verticale kleurgradiënt, of een diagonale kleurgradiënt.In another embodiment, the first bitmap contains a color gradient, for example, a horizontal color gradient, or a vertical color gradient, or a diagonal color gradient.

De kleurgradiënt kan gebaseerd zijn op slechts twee kleuren, bijvoorbeeld een linker en rechter kleur, een bovenste en onderste kleur, een linksbovenkleur en een rechtsonderkleur. Het is een voordeel dat zulke bitmap eenvoudig gegenereerd kan worden uitgaande van slechts twee kleurwaardes (elk met bv. drie kleurcomponenten R,G,B).The color gradient can be based on only two colors, for example a left and right color, an upper and lower color, an upper left color and a lower right color. It is an advantage that such a bitmap can be easily generated from only two color values (each with e.g. three color components R, G, B).

In een uitvoeringsvorm, wordt het kenmerk bepaald gebruikmakende van een onderbemonsterd beeld, bijvoorbeeld door slechts 1 pixel uit elke 2x2=4 pixels te beschouwen, of door slechts 1 pixel uit elke 4x4=16 pixels te beschouwen, of door slechts 1 pixel uit elk 8x8=64 pixels te beschouwen, of door slechts 1 pixel uit elke 16x16=256 pixels te beschouwen. Op die manier kan de rekentijd aanzienlijk gereduceerd worden, terwijl het effect in de meeste gevallen grotendeels hetzelfde is.In one embodiment, the characteristic is determined using an under-sampled image, for example, by considering only 1 pixel from every 2x2 = 4 pixels, or by considering only 1 pixel from every 4x4 = 16 pixels, or by only 1 pixel from each 8x8 = 64 pixels, or by considering only 1 pixel out of every 16x16 = 256 pixels. In this way, the calculation time can be considerably reduced, while in most cases the effect is largely the same.

In een uitvoeringsvorm, omvat stap c): het bepalen van een gemiddelde intensiteit en/of een maximum-intensiteit en/of een intensiteitshistogram van de pixels van de tweede bitmap; en omvat stap e): het aanpassen van het alfa-transparantieniveau zodanig dat de gemiddelde intensiteit of de maximum-intensiteit of het intensiteitshistogram voldoet aan een vooraf bepaald criterium.In an embodiment, step c) comprises: determining an average intensity and / or a maximum intensity and / or an intensity histogram of the pixels of the second bitmap; and includes step e): adjusting the alpha transparency level such that the average intensity or maximum intensity or intensity histogram meets a predetermined criterion.

Het criterium kan bijvoorbeeld zijn dat de gemiddelde of de maximum-intensiteit kleiner zou moeten zijn dan een bepaalde drempelwaarde. De drempelwaarde kan een vooraf bepaalde waarde zijn, of kan door de gebruiker selecteerbaar zijn.For example, the criterion could be that the average or maximum intensity should be less than a certain threshold. The threshold value can be a predetermined value, or it can be user selectable.

Het is een voordeel dat op deze wijze, de gemiddelde of maximum-intensiteit gedwongen kan worden om kleiner te zijn dan een bepaalde drempelwaarde.It is an advantage that in this way, the average or maximum intensity can be forced to be less than a certain threshold value.

Het is een voordeel van deze werkwijze dat slechts één enkele waarde (namelijk de transparantiewaarde) aangepast dient te worden, hetgeen geen hoge CPU-belasting vereist. De doeltransparantiewaarde die aan het vooraf bepaalde criterium voldoet, kan in één keer berekend worden, of kan geleidelijk benaderd worden over verscheidene iteraties. Het laatstgenoemde kan mogelijks minder flikkering veroorzaken.It is an advantage of this method that only a single value (namely the transparency value) has to be adjusted, which does not require a high CPU load. The target transparency value that meets the predetermined criterion can be calculated all at once, or can be approximated over several iterations. The latter may cause less flicker.

In een uitvoeringsvorm, omvat stap c) het bepalen van gemiddelde kleurcomponentwaardes Ravg, Gavg, Bavg en/of kleurcomponent-histogrammen van de pixels van de tweede bitmap; en omvat stap e): het aanpassen van één of meerdere pixelwaardes van het eerste beeld (bv. ongeveer 50% van de pixelwaardes in het geval dat de bitmap geperforeerd is, of ongeveer 100% van de pixelwaardes in het geval dat de bitmap niet geperforeerd is), zodanig dat de gemiddelde kleurcomponent of het kleurcomponent-histogram aan een vooraf bepaald criterium voldoet.In one embodiment, step c) includes determining average color component values Ravg, Gavg, Bavg and / or color component histograms of the pixels of the second bitmap; and includes step e): adjusting one or more pixel values of the first image (e.g. about 50% of the pixel values in case the bitmap is perforated, or about 100% of the pixel values in case the bitmap is not perforated is) such that the average color component or the color component histogram meets a predetermined criterion.

BE2018/5637BE2018 / 5637

De doelpixelwaardes kunnen in één keer berekend worden, of kunnen geleidelijk benaderd worden. Het laatstgenoemde kan mogelijks minder flikkering veroorzaken. Het is een voordeel van het aanpassen van de pixelwaardes van de eerste bitmap dat er veel meer flexibiliteit bestaat, omdat bijvoorbeeld gelijk welk van de kleurcomponentwaardes, of alle componentwaardes aangepast kunnen worden.The target pixel values can be calculated all at once, or can be approximated gradually. The latter may cause less flicker. It is an advantage of adjusting the pixel values of the first bitmap that there is much more flexibility because, for example, any of the color component values or all component values can be adjusted.

In een uitvoeringsvorm, omvat de werkwijze verder stap d) van het bepalen van een helderheidswaarde als indicatie van een helderheid in een kamer; en houdt de aanpassing van stap e) verder rekening met de helderheidswaarde.In one embodiment, the method further comprises step d) of determining a brightness value as an indication of a brightness in a room; and the adjustment of step e) further takes into account the brightness value.

In een uitvoeringsvorm kan de helderheidswaarde bepaald worden gebruikmakende van een lichtsensor, of gebruikmakende van een webcam. Het is een voordeel van deze uitvoeringsvorm dat een slecht verlichte kamer anders geoverlayed kan worden dan een heldere kamer, zelfs voor dezelfde onderliggende beelden.In one embodiment, the brightness value can be determined using a light sensor, or using a webcam. It is an advantage of this embodiment that a poorly lit room can be overlayed differently from a bright room, even for the same underlying images.

In een uitvoeringsvorm, omvat stap a) verder: het verschaffen van ten minste één verticale lijn of balk in de eerste bitmap voor het definiëren van ten minste twee gebieden omvattende een eerste gebied en een tweede gebied; en omvat stap c) het bepalen van ten minste een eerste kenmerk van het eerste gebied en een tweede kenmerk van het tweede gebied; en omvat stap e): het aanpassen van één of meerdere pixelwaardes van het eerste gebied zodanig dat het eerste kenmerk voldoet aan een eerste vooraf bepaald criterium, en het aanpassen van één of meerdere pixelwaardes van het tweede gebied, zodanig dat het tweede kenmerk voldoet aan een tweede criterium.In an embodiment, step a) further comprises: providing at least one vertical line or bar in the first bitmap for defining at least two areas comprising a first area and a second area; and step c) includes determining at least a first feature of the first area and a second feature of the second area; and comprising step e): adjusting one or more pixel values of the first area such that the first characteristic meets a first predetermined criterion, and adjusting one or more pixel values of the second area such that the second characteristic meets a second criterion.

Het is een voordeel van deze uitvoeringsvorm dat deze het mogelijk maakt dat het scherm in twee gebieden wordt gesplitst, waardoor mogelijk wordt gemaakt dat een eerste toepassing (bv. een webbrowser) zich in het eerste gebied bevindt (bv. aan de linkerzijde van de verticale lijn of balk) en mogelijk wordt gemaakt dat een tweede toepassing (bv. een tekstverwerker) zich in het tweede gebied bevindt (bv. aan de rechterzijde van de verticale lijn). De overlay-applicatie zal automatisch een eerste kenmerk van het eerste gebied aanpassen (bv. een eerste helderheid en/of een eerste kleur), afhankelijk van de grafische informatie aanwezig aan de linkerzijde van de verticale lijn, welke hoofdzakelijk op de bezochte webpagina gebaseerd is, en de overlay-applicatie zal een tweede kenmerk van het tweede gebied aanpassen, dat hetzelfde kenmerk of een ander kenmerk kan zijn als het eerste kenmerk, bv. een tweede helderheid en/of een tweede kleur, afhankelijk van de grafische informatie aanwezig aan de rechterzijde van de verticale lijn, welke in dit voorbeeld hoofdzakelijk afhankelijk is van de achtergrondkleur van de tekstverwerker). In het geval dat een tamelijk donkere webpagina bezocht wordt, terwijl het tekstdocument een helder witte achtergrondkleur heeft, kunnen aan de rechterzijde van de eerste bitmap donkerder pixels toegewezen worden dan aan de linkerzijde van de eerste bitmap.It is an advantage of this embodiment that it allows the screen to be split into two areas, allowing a first application (e.g. a web browser) to be located in the first area (e.g. on the left side of the vertical line or bar) and allow a second application (eg a word processor) to be located in the second area (eg on the right side of the vertical line). The overlay application will automatically adjust a first feature of the first area (e.g. a first brightness and / or a first color) depending on the graphical information present on the left side of the vertical line, which is mainly based on the visited web page , and the overlay application will adjust a second attribute of the second area, which may be the same attribute or a different attribute as the first attribute, e.g. a second brightness and / or a second color depending on the graphic information present at the right side of the vertical line, which in this example mainly depends on the background color of the word processor). In case a rather dark web page is visited, while the text document has a bright white background color, darker pixels can be assigned on the right side of the first bitmap than on the left side of the first bitmap.

Of in andere woorden uitgedrukt: Het is een voordeel van deze uitvoeringsvorm dat de overlaybitmap aangepast kan worden met verscheidene gebieden, die onafhankelijk donkerderOr in other words: It is an advantage of this embodiment that the overlay bitmap can be customized with several areas, which independently darken

BE2018/5637 gemaakt kunnen worden. Dit maakt veel meer geavanceerde schermaanpassingen mogelijk, hetgeen vooral nuttig is in een multi-tasking omgeving.BE2018 / 5637 can be made. This allows for much more advanced screen adjustments, which is especially useful in a multi-tasking environment.

In een uitvoeringsvorm, bevat één van de gebieden volledig zwarte pixels met (R,G,B)=(0,0,0), terwijl de andere bitmap monochroom is en grijswaardenpixels bevat met (R,G,B)=(x,x,x), waarbij de waarde van x dynamisch wordt aangepast. Het eerste en/of het tweede gebied kan/kunnen geperforeerd zijn. Aangezien het eerste en tweede gebied zich in hetzelfde overlayvenster bevinden, hebben zij dezelfde alfa-mengingswaarde.In one embodiment, one of the areas contains completely black pixels with (R, G, B) = (0,0,0), while the other bitmap is monochrome and contains grayscale pixels with (R, G, B) = (x, x, x), where the value of x is dynamically adjusted. The first and / or the second region may be perforated. Since the first and second regions are in the same overlay window, they have the same alpha blend value.

In een uitvoeringsvorm is de alfa-mengingswaarde vooraf bepaald (bijvoorbeeld ongeveer 50% of ongeveer 60% of ongeveer 70% of ongeveer 80%), en wordt de grijsschaal van de pixels van het tweede gebied dynamisch aangepast, of omgekeerd, of kunnen zowel de alfa-mengingswaarde als het grijsschaalniveau x beide worden aangepast.In one embodiment, the alpha blend value is predetermined (e.g., about 50% or about 60% or about 70% or about 80%), and the gray scale of the pixels of the second area is adjusted dynamically, or vice versa, or both alpha mix value if the gray scale level x are both adjusted.

Volgens een 6de aspect (met de bijnaam gecompenseerd screenshot), verschaft de onderhavige uitvinding ook een computer-geïmplementeerde werkwijze voor het overlayen van een grafisch beeld in een rekenapparaat, die de stappen omvat van: a) het verschaffen van een semitransparant overlayvenster dat een alfa-transparantiewaarde α heeft in het bereik van 1% tot 99%, en dat een eerste bitmap omvat; b) het nemen van een screenshot (schermopname), waardoor een tweede bitmap wordt verkregen; c) het berekenen van een derde bitmap voor het compenseren van het effect van de grafische overlay, gebaseerd op de eerste bitmap en de tweede bitmap en de alfatransparantiewaarde α.According to a 6th aspect (nicknamed offset screenshot), the present invention also provides a computer-implemented method for overlaying a graphic image in a computing device, comprising the steps of: a) providing a semi-transparent overlay window containing an alpha transparency value α ranges from 1% to 99%, and includes a first bitmap; b) taking a screenshot (screen shot), thereby obtaining a second bitmap; c) calculating a third bitmap to compensate for the effect of the graphic overlay based on the first bitmap and the second bitmap and the alpha transparency value α.

Stap b) kan geïnitieerd worden doordat op een knop wordt geklikt door een muisaanwijzer, of doordat een toets van het toetsenbord wordt ingedrukt.Step b) can be initiated by clicking on a button with a mouse pointer, or by pressing a key on the keyboard.

Het is een voordeel van deze werkwijze dat deze het mogelijk maakt dat een realistisch screenshot van de onderliggende vensters wordt genomen, alsof de overlay daar niet was, en zonder de overlay te deactiveren.It is an advantage of this method that it allows a realistic screenshot of the underlying windows to be taken, as if the overlay was not there, and without deactivating the overlay.

De uitvinders realiseerden zich verrassenderwijs dat het mogelijk is het onderliggende beeld terug te rekenen, omdat zij zich realiseerden dat het opgenomen beeld in feite een alfagemengd beeld is van de stapel onderliggende beelden geassocieerd met de onderliggende toepassingen en de bitmap van het overlayvenster, rekening houdende met de alfa-transparantie van het overlayvenster, die beide gekend zijn binnen de overlay-applicatie.The inventors surprisingly realized that it is possible to recalculate the underlying image, because they realized that the recorded image is in fact an alpha-mixed image of the stack of underlying images associated with the underlying applications and the bitmap of the overlay window, taking into account the alpha transparency of the overlay window, both of which are known within the overlay application.

Het is een voordeel van het verschaffen van een overlay-applicatie met een ingebouwde print-screen functie, omdat de overlay-applicatie in staat is om de alfa-menging vanwege de semitransparante overlay te compenseren. Dit biedt het zeer grote voordeel aan de gebruiker dat een screenshot van de onderliggende toepassingen kan genomen worden zonder de overlay-applicatie tijdelijk te deactiveren, waardoor typisch een lichtflits vermeden wordt die typisch optreedt wanneer een verdonkerende overlay tijdelijk gedeactiveerd wordt. Deze flits kan tijdelijke verblinding en/of oogvermoeidheid veroorzaken.It is an advantage of providing an overlay application with a built-in print screen function, because the overlay application is able to compensate for the alpha blending due to the semi-transparent overlay. This offers the very great advantage to the user that a screenshot of the underlying applications can be taken without temporarily deactivating the overlay application, typically avoiding a flash of light which typically occurs when a darkening overlay is temporarily deactivated. This flash can cause temporary glare and / or eye fatigue.

BE2018/5637BE2018 / 5637

In een uitvoeringsvorm, omvat de werkwijze verder stap d) van: het opslaan van de derde bitmap in een niet-vluchtig geheugen of in een opslaginrichting, optioneel na formaatconversie en/of na beeldcompressie.In one embodiment, the method further comprises step d) of: storing the third bitmap in a non-volatile memory or in a storage device, optionally after format conversion and / or after image compression.

Het is een voordeel dat de overlay-applicatie het mogelijk maakt om het aldus genomen screenshot te bewaren in een opslaginrichting, bijvoorbeeld door louter een klik op de knop. In voorkeursuitvoeringsvormen wordt het derde beeld opgeslagen als een gecomprimeerd beeldbestand, bijvoorbeeld als een JPEG-bestand. De overlay-applicatie kan het mogelijk maken dat de gebruiker de maplocatie en/of de compressie-verhouding kiest. De overlay-applicatie kan een automatisch gegenereerde bestandsnaam toewijzen, bijvoorbeeld gebaseerd op een tellerwaarde, of gebaseerd op tijd en datum. Dit alles is extreem handig voor een gebruiker.It is an advantage that the overlay application makes it possible to save the screenshot thus taken in a storage device, for instance by simply clicking the button. In preferred embodiments, the third image is stored as a compressed image file, for example, as a JPEG file. The overlay application may allow the user to choose the folder location and / or the compression ratio. The overlay application can assign an automatically generated file name, for example based on a counter value, or based on time and date. All this is extremely useful for a user.

Bij voorkeur maakt de overlay-applicatie het de gebruiker ook mogelijk om te kiezen of al dan niet het ganse scherm dient opgenomen te worden, of enkel het werkgebied (waarbij de taakbalk dus wordt weggelaten).Preferably, the overlay application also allows the user to choose whether or not to include the entire screen, or just the work area (leaving out the taskbar).

In een uitvoeringsvorm, omvat de werkwijze verder stap e) van: het kopiëren van de derde bitmap naar een klembord van een besturingssysteem dat op het rekenapparaat draait.In one embodiment, the method further comprises step e) of: copying the third bitmap to a clipboard of an operating system running on the computer.

Dit is vergelijkbaar met de print-screen knop die op vele toetsenborden aangetroffen kan worden, maar met het belangrijke verschil dat het beeld gecompenseerd is voor de alfa-menging met de overlaybitmap. De bitmap in het klembord kan daarna gebruikt worden op de in de stand der techniek gekende wijzen, bijvoorbeeld om bewerkt te worden in een grafische applicatie (bv. Paint.Net) of om geplakt te worden in een Powerpoint-document, enz.This is similar to the print screen button found on many keyboards, but with the important difference that the image is compensated for alpha blending with the overlay bitmap. The bitmap in the clipboard can then be used in the ways known in the art, for example to be edited in a graphic application (eg Paint.Net) or to be pasted in a PowerPoint document, etc.

In een uitvoeringsvorm, omvat stap c) het gebruikmaken van de volgende verzameling formules, of een equivalente verzameling formules: T=1-a, en R3[x,y] = [ R2[x,y] - R1[x,y]*(1-T)] /T, en G3[x,y] = [ G2[x,y] - G1[x,y]*(1-T)] /T, en B3[x,y] = [ B2[x,y] - B1[x,y]*(1-T)] /T, waarbij (R1,G1,B1) kleurcomponenten zijn van een pixel op een locatie (x,y) van de eerste bitmap die geoverlayed wordt, en waarbij (R2,G2,B2) kleurcomponenten zijn van een pixel op de overeenkomstige locatie (x,y) van de tweede bitmap welke als screenshot genomen werd, en waarbij (R3,G3,B3) kleurcomponenten zijn van een pixel op de overeenkomstige locatie (x,y) van de derde bitmap, en waarbij α de alfatransparantiewaarde is, en T een transparantiewaarde is.In one embodiment, step c) includes using the following set of formulas, or an equivalent set of formulas: T = 1-a, and R3 [x, y] = [R2 [x, y] - R1 [x, y] * (1-T)] / T, and G3 [x, y] = [G2 [x, y] - G1 [x, y] * (1-T)] / T, and B3 [x, y] = [B2 [x, y] - B1 [x, y] * (1-T)] / T, where (R1, G1, B1) are color components of a pixel at a location (x, y) of the first bitmap that is overlayed, and where (R2, G2, B2) are color components of a pixel at the corresponding location (x, y) of the second bitmap taken as screenshot, and where (R3, G3, B3) are color components of a pixel at the corresponding location (x, y) of the third bitmap, and where α is the alpha transparency value, and T is a transparency value.

Volgens een 7de aspect (met de bijnaam geïnverteerde kleuren), verschaft de onderhavige uitvinding ook een computer-geïmplementeerde werkwijze van het overlayen van een grafisch beeld in een rekenapparaat, waarbij de werkwijze de stappen omvat van: a) het verschaffen van een semitransparante overlayvenster dat een eerste bitmap omvat met een veelheid van semi-transparante pixels en dat een transparantieniveau heeft in het bereik van 5% tot 45%, b) het configureren van het overlayvenster in doorklikmodus; Het herhaaldelijk uitvoeren van de volgende stappen: c) het nemen van een screenshot, waardoor een tweede bitmap wordt verkregen; d) het bijwerken van de pixelwaarden van de eerste bitmap, zodanig dat de kleurwaarden van de pixels van de bitmap dieAccording to a 7th aspect (nicknamed inverted colors), the present invention also provides a computer-implemented method of overlaying a graphic image in a computing device, the method comprising the steps of: a) providing a semi-transparent overlay window which a first bitmap comprising a plurality of semi-transparent pixels and having a transparency level ranging from 5% to 45%, b) configuring the overlay window in click-through mode; Repeatedly performing the following steps: c) taking a screenshot, thereby obtaining a second bitmap; d) updating the pixel values of the first bitmap such that the color values of the pixels of the bitmap are those

BE2018/5637 onder het overlayvenster gelegen zijn in hoofdzaak geïnverteerd zullen worden na alfamenging door het overlayvenster.BE2018 / 5637 located below the overlay window will be substantially inverted after alpha blending by the overlay window.

In een uitvoeringsvorm is het transparantieniveau T gekozen uit de groep bestaande uit 4/256, 8/256, 16/256, 32/256 en 64/256.In one embodiment, the transparency level T is selected from the group consisting of 4/256, 8/256, 16/256, 32/256 and 64/256.

In een uitvoeringsvorm is de alfatransparantiewaarde α gekozen uit de groep bestaande uit 252/256, 248/256, 240/256, 224/256 en 192/256.In one embodiment, the alpha transparency value α is selected from the group consisting of 252/256, 248/256, 240/256, 224/256, and 192/256.

In een uitvoeringsvorm omvat stap d: i) het schatten van de pixelwaarden van de onderliggende bitmap op basis van de pixelwaarden van de tweede bitmap en op basis van de pixelwaarden van de eerste bitmap; ii) het inverteren van de geschatte pixelwaarden, waardoor doelpixelwaarden verkregen worden; iii) het aanpassen van de pixelwaarden van de eerste bitmap op basis van ten minste de doelpixelwaarden.In one embodiment, step d comprises: i) estimating the pixel values of the underlying bitmap based on the pixel values of the second bitmap and based on the pixel values of the first bitmap; ii) inverting the estimated pixel values, thereby obtaining target pixel values; iii) adjusting the pixel values of the first bitmap based on at least the target pixel values.

In een uitvoeringsvorm omvat stap i): het schatten van de pixelwaarden van de bitmap die onder het overlayvenster gelegen is op basis van de volgende verzameling formules, of een equivalente verzameling van formules:In one embodiment, step i) comprises estimating the pixel values of the bitmap located under the overlay window based on the following set of formulas, or an equivalent set of formulas:

Runmix = [Rmix - Rmask*(1-T)]/T, begrensd tot het bereik van 0 tot 255 of een deelbereik hiervan; Gunmix = [Gmix - Gmask*(1-T)]/T, begrensd tot het bereik van 0 tot 255 of een deelbereik hiervan; Bunmix = [Bmix - Bmask*(1-T)]/T, begrensd tot het bereik van 0 tot 255 of een deelbereik hiervan; waarbij (Runmix, Gunmix, Bunmix) de geschatte Rood, Groen en Blauw -waarde is van de pixels van de onderliggende bitmap, en (Rmask, Gmask, Bmask) de Rood, Groen, en Blauw-waarde zijn van de pixels van de eerste bitmap die toegepast werd bij het nemen van het screenshot van stap e), en waarbij T het transparantieniveau is.Runmix = [Rmix - Rmask * (1-T)] / T, limited to the range from 0 to 255 or a partial range thereof; Gunmix = [Gmix - Gmask * (1-T)] / T, limited to the range from 0 to 255 or a partial range thereof; Bunmix = [Bmix - Bmask * (1-T)] / T, limited to the range from 0 to 255 or a subrange thereof; where (Runmix, Gunmix, Bunmix) is the estimated Red, Green, and Blue value of the pixels of the underlying bitmap, and (Rmask, Gmask, Bmask) are the Red, Green, and Blue values of the pixels of the first bitmap that was applied when taking the screenshot of step e), where T is the transparency level.

In een uitvoeringsvorm omvat stap iii): het berekenen van de pixelwaarden van de eerste bitmap als een functie van alleen de doelpixelwaarden.In one embodiment, step iii) comprises: calculating the pixel values of the first bitmap as a function of only the target pixel values.

In een uitvoeringsvorm omvat stap iii): het instellen van de pixelwaarden van de eerste bitmap op basis van de volgende verzameling formules, of een equivalente verzameling van formules:In one embodiment, step iii) comprises setting the pixel values of the first bitmap based on the following set of formulas, or an equivalent set of formulas:

Rmask := (A - B*Runmix), begrensd tot het bereik van 0 tot 255 of een deelbereik hiervan;Rmask: = (A - B * Runmix), limited to the range from 0 to 255 or part range thereof;

Gmask := (C - D*Gunmix), begrensd tot het bereik van 0 tot 255 of een deelbereik hiervan;Gmask: = (C - D * Gunmix), limited to the range from 0 to 255 or part range thereof;

_Bmask := (E - F*Bunmix), begrensd tot het bereik van 0 tot 255 of een deelbereik hiervan;_Bmask: = (E - F * Bunmix), limited to the range from 0 to 255 or part range thereof;

waarbij (Rmask, Gmask, Bmask) de Rood, Groen en Blauw kleurcomponent zijn van de pixels van de eerste bitmap (bmp_mask), en waarbij A, B, C, D, E, F vooraf bepaalde constanten zijn.where (Rmask, Gmask, Bmask) are the Red, Green and Blue color component of the pixels of the first bitmap (bmp_mask), and where A, B, C, D, E, F are predetermined constants.

In een uitvoeringsvorm zijn A, C en E gehele getallen in het bereik van 190 tot 255.In one embodiment, A, C and E are integers ranging from 190 to 255.

In een uitvoeringsvorm is elk van de waarden B, D en F een waarde in het bereik van 0,20 totIn one embodiment, each of the values B, D and F is a value in the range from 0.20 to

2,0.2.0.

In een uitvoeringsvorm, is elk van de waarden B, D en F gekozen uit de groep bestaande uitIn one embodiment, each of the values B, D and F is selected from the group consisting of

1/2, 3/4, 5/8, 6/8, 7/8, 9/16, 10/16, 11/16, 12/16, 13/16, 14/16, 15/16, en 1.1/2, 3/4, 5/8, 6/8, 7/8, 9/16, 10/16, 11/16, 12/16, 13/16, 14/16, 15/16, and 1 .

BE2018/5637BE2018 / 5637

Het is een voordeel van deze uitvoeringsvorm dat de vermenigvuldiging in de formules uitgevoerd kunnen worden door verschuif-bewerkingen en/of optelbewerkingen en/of aftrekbewerkingen zonder gebruik te hoeven maken van een vermenigvuldiging of een deling. Bij voorbeeld, kan Runmix*7/8 geïmplementeerd worden als: Runmix - (Runmix shr 3), wat veel sneller kan uitgevoerd worden dan een werkelijke vermenigvuldiging- of deling-bewerking.It is an advantage of this embodiment that the multiplication in the formulas can be performed by shift operations and / or addition operations and / or subtraction operations without having to use multiplication or division. For example, Runmix * 7/8 can be implemented as: Runmix - (Runmix shr 3), which can be performed much faster than an actual multiplication or division operation.

In een uitvoeringsvorm is tenminste één van van de waarden B, D en F gelijk aan 1, en is tenminste één van de waarden B, D en F verschillend van 1.In one embodiment, at least one of the values B, D and F is equal to 1, and at least one of the values B, D and F is different from 1.

In een uitvoeringsvorm is elk van de waarden B, D en F gelijk aan 1.In one embodiment, each of the values B, D and F is equal to 1.

In een uitvoeringsvorm omvat stap iii): het instellen van de pixelwaarden van de eerste bitmap als een functie van de doelpixelwaarden en de pixelwaarden van de tweede bitmap, of als een functie van de doelpixelwaarden en de geschatte pixelwaarden van de onderliggende bitmap.In one embodiment, step iii) comprises: setting the pixel values of the first bitmap as a function of the target pixel values and the pixel values of the second bitmap, or as a function of the target pixel values and the estimated pixel values of the underlying bitmap.

In een uitvoeringsvorm neemt de eerste bitmap meer dan 80% in van het gebied van het overlayvenster.In one embodiment, the first bitmap occupies more than 80% of the area of the overlay window.

In een uitvoeringsvorm neemt de eerste bitmap minder in dan 95%, of minder dan 90%, of minder dan 80%, of minder dan 60%, of minder dan 45%, of minder dan 40% van het gebied van het overlayvenster.In one embodiment, the first bitmap occupies less than 95%, or less than 90%, or less than 80%, or less than 60%, or less than 45%, or less than 40% of the area of the overlay window.

In een uitvoeringsvorm omvat het overlayvenster verder een derde bitmap die een eerste veelheid volledig transparante pixels omvat en een tweede veelheid semi-transparante pixels, die geïnterleaved zijn. Het is een voordeel van deze uitvoeringsvorm dat het scherm in hoofdzaak donkerder gemaakt kan worden, waarbij één gedeelte van het scherm geïnverteerde kleuren heeft (bv. resulterend in een zwarte achtergrond met heldere karakters) en een ander gedeelte van het scherm geoverlayed wordt met een geperforeerde bitmap met ongeveer 50% volledig transparante pixels (waarbij de kleuren donkerder zijn, maar niet geïnverteerd). Dit is uitermate nuttig om oogvermoeidheid te reduceren, terwijl het tegelijk mogelijk is om de echte kleur van een gedeelte van het scherm te herkennen.In one embodiment, the overlay window further includes a third bitmap comprising a first plurality of fully transparent pixels and a second plurality of semi-transparent pixels interleaved. It is an advantage of this embodiment that the screen can be made substantially darker, with one portion of the screen having inverted colors (e.g. resulting in a black background with bright characters) and another portion of the screen being overlayed with a perforated bitmap with approximately 50% fully transparent pixels (with colors darker but not inverted). This is extremely useful for reducing eye fatigue, while at the same time recognizing the true color of a portion of the screen.

In een uitvoeringsvorm omvat het overlayvenster verder een vierde bitmap bestaande uit een veelheid van volledig transparante pixels.In one embodiment, the overlay window further comprises a fourth bitmap consisting of a plurality of fully transparent pixels.

In een uitvoeringsvorm neemt de eerste bitmap nagenoeg het ganse gebied van het venster in, maar in het geval dat een Windows Besturingssysteem draait op het rekenapparaat, bij voorkeur niet de taakbalk.In one embodiment, the first bitmap takes up almost the entire area of the window, but in the case of a Windows Operating System running on the calculator, preferably not the taskbar.

Volgens een 8ste aspect, verschaft de onderhavige uitvinding ook een computerinrichting, omvattende: ten minste één centrale verwerkingseenheid, en een eerste geheugen verbonden met de ten minste één centrale verwerkingseenheid die daarin computer-uitvoerbare instructies opslaat; waarbij de computer-uitvoerbare instructies codefragmenten omvatten voor het uitvoeren van een overlay-werkwijze volgens één van het 1ste tot het 7de aspect.According to an 8th aspect, the present invention also provides a computer device, comprising: at least one central processing unit, and a first memory connected to the at least one central processing unit which stores computer-executable instructions therein; wherein the computer executable instructions comprise code snippets for performing an overlay method according to any of the 1st to 7th aspects.

BE2018/5637BE2018 / 5637

De computer-uitvoerbare instructies kunnen verder computer-uitvoerbare instructies omvatten, geconfigureerd voor het genereren van een grafisch beeld als respons op het besturingssysteem en/of één of meerdere applicaties.The computer executable instructions may further include computer executable instructions configured to generate a graphic image in response to the operating system and / or one or more applications.

De computer-uitvoerbare instructies kunnen verder een besturingssysteem (O/S) omvatten met een grafische gebruikersinterface (GUI) die slechts één enkele muisaanwijzer verschaft, en één of meerdere applicaties gekozen uit de groep bestaande uit: een webbrowser-applicatie, een werkbladapplicatie, een PDF-documentviewer, een PDF-documenteditor, een tekstviewer en een tekstverwerker.The computer executable instructions may further include an operating system (O / S) with a graphical user interface (GUI) that provides only a single mouse pointer, and one or more applications selected from the group consisting of: a web browser application, a spreadsheet application, a PDF document viewer, a PDF document editor, a text viewer and a word processor.

Met computerinrichting wordt niet enkel een personal computer of een desktopcomputer of een laptop of een tabletcomputer bedoeld, maar ook draagbare apparaten, zoals een PDA of een smartphone of een eReader-apparaat.By computer device is meant not only a personal computer or a desktop computer or a laptop or a tablet computer, but also portable devices, such as a PDA or a smartphone or an eReader device.

In een uitvoeringsvorm omvat de computerinrichting verder een grafische verwerkingseenheid (GPU) met alfamengingsfunctionaliteit, en een tweede geheugen verbonden met de grafische verwerkingseenheid voor het daarin opslaan van grafische informatie; en waarbij de overlaycodefragmenten geconfigureerd zijn om gebruik te maken van de grafische processor voor het uitvoeren van ten minste alfamenging (Engels: alpha-blending), en optioneel ook tijdmultiplexing.In one embodiment, the computer device further comprises a graphics processing unit (GPU) with alpha mixing functionality, and a second memory connected to the graphics processing unit for storing graphics information therein; and wherein the overlay code fragments are configured to use the graphics processor to perform at least alpha blending, and optionally also time multiplexing.

Volgens een 9de aspect, verschaft de onderhavige uitvinding ook een computersysteem omvattende: een computerinrichting volgens het 8ste aspect; ten minste één aanwijsinrichting verbonden met de computerinrichting, waarbij de aanwijsinrichting beweegbaar is door een gebruiker, waarbij de computer-uitvoerbare instructies verder geconfigureerd zijn voor het ontvangen van invoergegevens die indicatief zijn voor bewegingen van de aanwijsinrichting; ten minste één weergaveinrichting verbonden met een uitgang van de computerinrichting, voor het weergeven van het grafisch beeld gemengd met het overlaybeeld.According to a 9th aspect, the present invention also provides a computer system comprising: a computer device according to the 8th aspect; at least one pointing device connected to the computer device, the pointing device being movable by a user, the computer executable instructions further configured to receive input data indicative of movements of the pointing device; at least one display device connected to an output of the computer device for displaying the graphic image mixed with the overlay image.

De aanwijsinrichting kan bijvoorbeeld een muisinrichting zijn, of een trackball of een touchpad.The pointing device can be, for example, a mouse device, or a trackball or a touchpad.

Bij voorkeur heeft de weergave-inrichting een schermresolutie van ten minste 1920 x 1080 pixels, of ten minste 2560 x 1440 pixels, of ten minste 3840 x 2160 pixels.Preferably, the display device has a screen resolution of at least 1920 x 1080 pixels, or at least 2560 x 1440 pixels, or at least 3840 x 2160 pixels.

De uitvoerbare instructies voor het ontvangen van muisinvoergegevens worden meestal een muis device driver (muis-stuurprogramma) genoemd.The executable instructions for receiving mouse input data are usually referred to as a mouse device driver.

Volgens een 10de aspect, heeft de onderhavige uitvinding tevens betrekking op een computerprogrammaproduct voor het uitvoeren van een werkwijze volgens één van het 1ste tot het 7de aspect op een computerinrichting volgens het 8ste aspect of een computersysteem volgens het 9de aspect.According to a 10th aspect, the present invention also relates to a computer program product for performing a method according to any of the 1st to 7th aspects on a computer device according to the 8th aspect or a computer system according to the 9th aspect.

Of in andere woorden uitgedrukt, volgens het 10de aspect verschaft de onderhavige uitvinding ook een computerprogrammaproduct voor het verschaffen van een grafische overlay, waarbij het computerprogrammaproduct uitvoerbare instructies bevat die, wanneer ze uitgevoerdOr in other words, according to the 10th aspect, the present invention also provides a computer program product for providing a graphic overlay, the computer program product containing executable instructions which, when executed

BE2018/5637 worden op ten minste één centrale verwerkingseenheid (CPU) van een computerinrichting volgens het 8ste aspect, of een computersysteem volgens het 9de aspect, ervoor zorgen dat de computerinrichting een werkwijze uitvoert volgens het 1ste tot het 7de aspect.BE2018 / 5637 on at least one central processing unit (CPU) of a computer device according to the 8th aspect, or a computer system according to the 9th aspect, cause the computer device to perform a method according to the 1st to 7th aspect.

Volgens een 11de aspect (met de bijnaam eReader), verschaft de onderhavige uitvinding ook een draagbaar rekenapparaat omvattende: een aanraakscherm; ten minste één centrale verwerkingseenheid, en een eerste geheugen verbonden met de ten minste één centrale verwerkingseenheid dat daarin computer-uitvoerbare instructies opslaat; waarbij de computeruitvoerbare instructies geconfigureerd zijn voor het genereren van een grafisch beeld dat tekstuele informatie bevat en voor het tonen van dat grafisch beeld op het aanraakscherm; waarbij de computer-uitvoerbare instructies verder geconfigureerd zijn voor het genereren van een lijn of een langwerpig object (bv. een rechthoekig object met scherpe of afgeronde randen of met scherpe of afgeronde hoeken) die de genoemde tekstuele informatie overdekt; -waarbij de lijn of het langwerpige object een veelheid semi-transparante pixels bevat met een transparantieniveau van 1% tot 99% of van 2% tot 98% of van 5% tot 95%, of waarbij de lijn of het langwerpig object een eerste veelheid volledig transparante pixels bevat en een tweede veelheid ondoorzichtige of semi-transparante pixels, die geïnterleaved zijn; waarbij de computer-uitvoerbare instructies verder geconfigureerd zijn voor het detecteren van een contactpositie op het aanraakscherm, en voor het aanpassen van een positie van de lijn of het langwerpig object in overeenstemming met de gedetecteerde positie.In an 11th aspect (nicknamed eReader), the present invention also provides a portable computing device comprising: a touch screen; at least one central processing unit, and a first memory connected to the at least one central processing unit which stores computer-executable instructions therein; wherein the computer executable instructions are configured to generate a graphic image containing textual information and to display that graphic image on the touch screen; wherein the computer executable instructions are further configured to generate a line or an elongated object (e.g., a rectangular object with sharp or rounded edges or with sharp or rounded corners) covering said textual information; - where the line or oblong object contains a plurality of semi-transparent pixels with a transparency level of 1% to 99% or from 2% to 98% or from 5% to 95%, or where the line or oblong object has a first plurality contains fully transparent pixels and a second plurality of opaque or semi-transparent pixels interleaved; wherein the computer executable instructions are further configured to detect a contact position on the touch screen, and to adjust a position of the line or elongated object according to the detected position.

De inrichting kan bijvoorbeeld een eReader of een smartphone-apparaat zijn.The device can be, for example, an eReader or a smartphone device.

In een uitvoeringsvorm, zijn de eerste veelheid pixels en de tweede veelheid pixels van de bitmap georganiseerd in een pseudo-willekeurig patroon; of zijn de eerste veelheid pixels en de tweede veelheid pixels van de bitmap georganiseerd in een regelmatig patroon.In one embodiment, the first plurality of pixels and the second plurality of pixels of the bitmap are organized in a pseudo-random pattern; or are the first plurality of pixels and the second plurality of pixels of the bitmap organized in a regular pattern.

In een uitvoeringsvorm, zijn de eerste veelheid pixels en de tweede veelheid pixels van de bitmap georganiseerd in een regelmatig patroon volgens één van de volgende opties: i) het regelmatig patroon is een 2x2 patroon, en precies één van de vier pixels is volledig transparant; ii) het regelmatig patroon is een 2x2 patroon en precies twee uit vier pixels zijn volledig transparant, waarbij de twee volledig transparante pixels bij voorkeur diagonaal tegenover elkaar gelegen zijn; iii) het regelmatig patroon is een 2x2 patroon en precies drie uit vier pixels zijn volledig transparant.In one embodiment, the first plurality of pixels and the second plurality of pixels of the bitmap are organized in a regular pattern according to one of the following options: i) the regular pattern is a 2x2 pattern, and exactly one of the four pixels is completely transparent; ii) the regular pattern is a 2x2 pattern and exactly two out of four pixels are completely transparent, the two fully transparent pixels preferably being diagonally opposite; iii) the regular pattern is a 2x2 pattern and exactly three out of four pixels are completely transparent.

Volgens een 12de aspect verschaft de onderhavige uitvinding ook een weergave-inrichting voor het weergeven van een grafisch beeld dat verschaft wordt door een computerinrichting, waarbij de weergave-inrichting het volgende omvat: een displaypaneel voor het genereren van een zichtbaar beeld; een ingangspoort (bv. een video-ingangspoort) voor het ontvangen van de genoemde grafisch beeldgegevens van de genoemde computerinrichting; een invoerbuffer voor het opslaan van het grafische beeld ontvangen aan de ingangspoort, en een textuurbuffer voor het opslaan van een textuurbitmap, en een framebuffer voor het opslaan van beeldgegevens die op het displaypaneel getoond moeten worden; een processor aangepast voor het genereren van de beeldgegevens die opIn a 12th aspect, the present invention also provides a display device for displaying a graphic image provided by a computer device, the display device comprising: a display panel for generating a visible image; an input port (e.g., a video input port) for receiving said graphic image data from said computer device; an input buffer for storing the graphic image received at the input port, and a texture buffer for storing a texture bitmap, and a frame buffer for storing image data to be displayed on the display panel; a processor adapted to generate the image data stored on it

BE2018/5637 het displaypaneel getoond moeten worden; waarbij de textuurbitmap een eerste veelheid pixels omvat die volledig transparante pixels zijn, en een tweede veelheid pixels die semi-transparante pixels zijn, bij voorkeur met een transparantieniveau van 1% tot 99% of van 2% tot 98% of van 5% tot 95%, waarbij de eerste veelheid pixels en de tweede veelheid pixels afwisselend opgesteld (geïnterleaved) zijn. waarbij de processor aangepast is voor het genereren van de beeldgegevens die getoond moeten worden door het kopiëren van beeldgegevens uit het invoerbuffer in het geval dat het overeenkomstig pixel van de textuurbitmap een volledig transparante pixel is, en door het alfamengen van beeldgegevens uit het invoerbuffer in het geval dat het overeenkomstig pixel van de textuurbitmap een semi-transparant pixel is.BE2018 / 5637 the display panel should be shown; the texture bitmap comprising a first plurality of pixels that are fully transparent pixels, and a second plurality of pixels that are semi-transparent pixels, preferably with a transparency level from 1% to 99% or from 2% to 98% or from 5% to 95 %, wherein the first plurality of pixels and the second plurality of pixels are alternately arranged (interleaved). the processor being adapted to generate the image data to be displayed by copying image data from the input buffer in case the corresponding pixel of the texture bitmap is a fully transparent pixel, and by alpha mixing image data from the input buffer in the case that the corresponding pixel of the texture bitmap is a semi-transparent pixel.

Bij voorkeur is de weergave-inrichting een LCD-inrichting of een LCD-monitor.Preferably, the display device is an LCD device or an LCD monitor.

In een uitvoeringsvorm, zijn de eerste veelheid pixels en de tweede veelheid pixels van de bitmap georganiseerd in een regelmatig patroon volgens één van de volgende opties: i) het regelmatig patroon is een 2x2 patroon, en precies één van de vier pixels is volledig transparant; ii) het regelmatig patroon is een 2x2 patroon en precies twee uit vier pixels zijn volledig transparant, waarbij de twee volledig transparante pixels bij voorkeur diagonaal tegenover elkaar gelegen zijn; iii) het regelmatig patroon is een 2x2 patroon en precies drie uit vier pixels zijn volledig transparant.In one embodiment, the first plurality of pixels and the second plurality of pixels of the bitmap are organized in a regular pattern according to one of the following options: i) the regular pattern is a 2x2 pattern, and exactly one of the four pixels is completely transparent; ii) the regular pattern is a 2x2 pattern and exactly two out of four pixels are completely transparent, the two fully transparent pixels preferably being diagonally opposite; iii) the regular pattern is a 2x2 pattern and exactly three out of four pixels are completely transparent.

In een uitvoeringsvorm is de processor verder aangepast voor het herhaaldelijk aanpassen van een positie van de textuurbitmap zodanig dat pixels van het onderliggende grafisch beeld overdekt (geoverlayed) worden door een volledig transparante pixel van de eerste veelheid pixels op een eerste tijdstip, en overdekt worden door een semi-transparante pixel van de tweede veelheid pixels op een tweede en optioneel derde en vierde tijdstip.In one embodiment, the processor is further adapted to repeatedly adjust a position of the texture bitmap such that pixels of the underlying graphic image are covered (overlayed) by a fully transparent pixel of the first plurality of pixels at a first time, and covered by a semi-transparent pixel of the second plurality of pixels at a second and optionally third and fourth time.

Volgens een 13de aspect verschaft de onderhavige uitvinding ook een weergave-inrichting voor het weergeven van een grafisch beeld dat verschaft wordt door een computerinrichting, waarbij de weergave-inrichting het volgende omvat: een displaypaneel voor het genereren van een zichtbaar beeld; een ingangspoort voor het ontvangen van de genoemde grafische beeldgegevens van de computerinrichting; een invoerbuffer voor het opslaan van het grafische beeld ontvangen aan de ingangspoort, en een textuurbuffer voor het opslaan van een textuurbitmap, en een framebuffer voor het opslaan van beeldgegevens die op het displaypaneel getoond moeten worden; een processor aangepast voor het genereren van de beeldgegevens die op het displaypaneel getoond moeten worden; waarbij de processor aangepast is om de genoemde beeldgegevens als volgt te genereren: i) op even tijdstippen het kopiëren van computerbeeldgegevens van de invoerbuffer op pixellocaties waarvoor de som van de rij-index en de kolom-index oneven is, en door het alfamengen van computerbeeldgegevens uit de invoerbuffer met overeenkomstige pixelgegevens uit de textuurbitmap op pixellocaties waarvoor de som van de rij-index en de kolom-index even is; en ii) op oneven tijdstippen het kopiëren van computerbeeldgegevens uit het invoerbuffer op pixellocaties waarvoor de som van de rij-index en de kolom-index even is, en door het alfamengen van computerbeeldgegevensAccording to a 13th aspect, the present invention also provides a display device for displaying a graphic image provided by a computer device, the display device comprising: a display panel for generating a visible image; an input port for receiving said graphic image data from the computer device; an input buffer for storing the graphic image received at the input port, and a texture buffer for storing a texture bitmap, and a frame buffer for storing image data to be displayed on the display panel; a processor adapted to generate the image data to be displayed on the display panel; the processor being adapted to generate said image data as follows: i) copying computer image data from the input buffer at pixel times for which the sum of the row index and column index is odd, and by alpha mixing computer image data from the input buffer with corresponding pixel data from the texture bitmap at pixel locations for which the sum of the row index and column index is even; and ii) copying computer image data from the input buffer at odd times for pixel locations for which the sum of the row index and the column index is even, and by alpha mixing computer image data

BE2018/5637 uit de invoerbuffer met overeenkomstige pixelgegevens uit de textuurbitmap op pixellocaties waarvoor de som van de rij-index en de kolom-index oneven is.BE2018 / 5637 from the input buffer with corresponding pixel data from the texture bitmap at pixel locations for which the sum of the row index and column index is odd.

Specifieke en voorkeursdragende aspecten van de uitvinding zijn opgenomen in de aangehechte onafhankelijke en afhankelijke conclusies. Kenmerken van de afhankelijke conclusies kunnen worden gecombineerd met kenmerken van de onafhankelijke conclusies en met kenmerken van andere afhankelijke conclusies zoals aangewezen en niet enkel zoals uitdrukkelijk in de conclusies naar voren gebracht.Specific and preferred aspects of the invention are included in the appended independent and dependent claims. Features of the dependent claims may be combined with features of the independent claims and features of other dependent claims as appropriate and not merely as expressly stated in the claims.

Deze en andere aspecten van de uitvinding zullen duidelijk worden aan de hand van en verhelderd worden met verwijzing naar de hiernavolgende beschreven uitvoeringsvormen.These and other aspects of the invention will become apparent from and clarify with reference to the embodiments described below.

Korte beschrijving van de tekeningenBrief description of the drawings

FIG. 1 toont een schematisch blokdiagram van een klassiek computersysteem.FIG. 1 shows a schematic block diagram of a classic computer system.

FIG. 2 is een schematische voorstelling van een zogenoemde Z-orde van drie vensters of beeldvlakken die gebruikt kunnen worden in het computersysteem van FIG. 1.FIG. 2 is a schematic representation of a so-called Z-order of three windows or image planes that can be used in the computer system of FIG. 1.

FIG. 3 toont een schematisch blokdiagram van een computersysteem gelijkend op dat van FIG. 1, bij het uitvoeren van een besturingssysteem en twee applicaties: een teksteditor en een specifieke overlay-applicatie, gekend in de stand der techniek als LineReader, waarbij de laatstgenoemde een semi-transparante lijn over het teksteditorvenster toont, welke lijn door de gebruiker verplaatst kan worden om tekstfragmenten te onderlijnen.FIG. 3 shows a schematic block diagram of a computer system similar to that of FIG. 1, when running an operating system and two applications: a text editor and a specific overlay application, known in the art as LineReader, the latter showing a semi-transparent line across the text editor window, which line can be moved by the user to underline text fragments.

FIG. 4 is een schematische voorstelling van een zogenoemde Z-orde van vier vensters of beeldvlakken die gebruikt kunnen worden in het computersysteem van FIG. 3.FIG. 4 is a schematic representation of a so-called Z-order of four windows or image planes that can be used in the computer system of FIG. 3.

FIG. 5 toont een schematisch blokdiagram van een computersysteem gelijkend op dat van FIG. 1, bij het uitvoeren van een besturingssysteem en twee applicaties: een teksteditor en een specifieke overlay-applicatie gekend in de stand der techniek als F.Lux, waarbij de laatstgenoemde een semi-transparant schermvullend overlaybeeld over het desktopvenster en het tekst-editorvenster toont.FIG. 5 shows a schematic block diagram of a computer system similar to that of FIG. 1, when running an operating system and two applications: a text editor and a specific overlay application known in the art as F.Lux, the latter showing a semi-transparent full-screen overlay image over the desktop window and the text editor window.

FIG. 6 is een schematische voorstelling van een zogenoemde Z-orde van vier vensters of beeldvlakken die gebruikt kunnen worden in het computersysteem van FIG. 5.FIG. 6 is a schematic representation of a so-called Z-order of four windows or image planes that can be used in the computer system of FIG. 5.

FIG. 7 toont een schematisch blokdiagram van een uitvoeringsvorm van een computersysteem volgens de onderhavige uitvinding. Het computersysteem van FIG. 7 bevat een specifieke overlay-applicatie voor het implementeren van een specifieke overlay-werkwijze. De overlay-applicatie, wanneer ze wordt uitgevoerd in het computersysteem van FIG. 7, toont een semitransparante overlay die ten minste twee semi-transparante elementen omvat: (i) een horizontale lijn of balk die zich over nagenoeg de ganse breedte van het scherm uitstrekt, en (ii) een verticale lijn of balk die zich over nagenoeg de ganse hoogte van het scherm uitstrekt. De horizontale en verticale lijn zijn beweegbaar in overeenstemming met bewegingen van de invoerinrichting.FIG. 7 shows a schematic block diagram of an embodiment of a computer system according to the present invention. The computer system of FIG. 7 includes a specific overlay application for implementing a specific overlay method. The overlay application, when executed in the computer system of FIG. 7, shows a semitransparent overlay that includes at least two semi-transparent elements: (i) a horizontal line or bar that extends across the entire width of the screen, and (ii) a vertical line or bar that extends across nearly the entire width of the screen. extends the entire height of the screen. The horizontal and vertical lines are movable in accordance with movements of the input device.

BE2018/5637BE2018 / 5637

FIG. 8 is een schematische voorstelling van een Z-orde van vier vensters of beeldvlakken die gebruikt kunnen worden in het computersysteem van FIG. 7.FIG. 8 is a schematic representation of a Z order of four windows or image planes that can be used in the computer system of FIG. 7.

FIG. 9 toont een schematisch blokdiagram van een ander computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding. Het computersysteem van FIG. 9 bevat een specifieke overlay-applicatie, geconfigureerd voor het overlayen van ten minste twee semi-transparante elementen: i) een lijn, en ii) een zogenoemde geperforeerde bitmap. De lijn is beweegbaar in overeenstemming met bewegingen van de invoerinrichting.FIG. 9 shows a schematic block diagram of another computer system according to an embodiment of the present invention. The computer system of FIG. 9 includes a specific overlay application configured to overlay at least two semi-transparent elements: i) a line, and ii) a so-called perforated bitmap. The line is movable in accordance with movements of the input device.

FIG. 10 is een schematische voorstelling van een Z-orde van vier vensters of beeldvlakken die gebruikt kunnen worden in het computersysteem van FIG. 9.FIG. 10 is a schematic representation of a Z order of four windows or image planes that can be used in the computer system of FIG. 9.

FIG. 11 toont een variant van het computersysteem van FIG. 9.FIG. 11 shows a variant of the computer system of FIG. 9.

FIG. 12 is een schematische voorstelling van een Z-orde van vier vensters of beeldvlakken die gebruikt kunnen worden in het computersysteem van FIG. 11.FIG. 12 is a schematic representation of a Z order of four windows or image planes that can be used in the computer system of FIG. 11.

FIG. 13 toont een veelheid van voorbeeldmatige screenshots (schermopnames). Elke rij toont een serie van vijf beelden die overeenkomen met een alfatransparantie of alfamengingswaarde α van respectievelijk 100%, 80%, 60%, 40% en 20%. Elk van deze beelden bevat een tekstfragment dat geoverlayed (overdekt) wordt door twee lijnen en/of een monochrome bitmap. Er worden twee lijnen gebruikt voor illustratieve doeleinden, om zowel het markeren als het onderlijnen van tekst in eenzelfde tekening te tonen.FIG. 13 shows a plurality of exemplary screenshots (screenshots). Each row shows a series of five images corresponding to an alpha transparency or alpha mix value α of 100%, 80%, 60%, 40% and 20%, respectively. Each of these images contains a text fragment overlaid (covered) by two lines and / or a monochrome bitmap. Two lines are used for illustrative purposes, to show both highlighting and underlining text in the same drawing.

In FIG. 13(a) is elk tekstfragment geoverlayed door twee rode lijnen met (R,G,B)=(255,0,0). De rest van het overlayvenster is volledig transparant.In FIG. 13 (a), each text fragment is overlaid by two red lines with (R, G, B) = (255,0,0). The rest of the overlay window is completely transparent.

In FIG. 13(b) is elk tekstfragment geoverlayed door een bitmap die lichtgrijze pixels bevat met (R,G,B)= (192,192,192).In FIG. 13 (b), each text fragment is overlayed by a bitmap containing light gray pixels with (R, G, B) = (192,192,192).

In FIG. 13(c) is elk tekstfragment geoverlayed door een bitmap die donkergrijze pixels bevat met (R,G,B)=(64, 64, 64).In FIG. 13 (c), each text fragment is overlayed by a bitmap containing dark gray pixels with (R, G, B) = (64, 64, 64).

In FIG. 13(d) is elk tekstfragment geoverlayed door een loutere combinatie van de twee rode lijnen zoals in FIG. 13(a) en door een lichtgrijze bitmap zoals in FIG. 13(b).In FIG. 13 (d), each text fragment is overlayed by a mere combination of the two red lines as shown in FIG. 13 (a) and through a light gray bitmap as in FIG. 13 (b).

In FIG. 13(e) is elk tekstfragment geoverlayed door een loutere combinatie van de twee rode lijnen zoals in FIG. 13(a) en door een donkergrijze bitmap zoals in FIG. 13(c).In FIG. 13 (e), each text fragment is overlayed by a mere combination of the two red lines as in FIG. 13 (a) and through a dark gray bitmap as in FIG. 13 (c).

In FIG. 13(f) tot FIG. 13(i) is elk tekstfragment geoverlayed door twee rode lijnen zoals inIn FIG. 13 (f) to FIG. 13 (i), each text fragment is overlaid by two red lines as in

FIG. 13(a) en het overige gebied is geoverlayed door een zogenoemde geperforeerde bitmap zoals geïllustreerd in FIG. 12, waarbij 50% van de pixels volledig transparante pixels zijn, opgesteld in een schaakbordpatroon, en de andere 50% van de pixels lightgrijze pixels zijn met (R,G,B)=(192,192,192), zoals verschaft kan worden door overlay-werkwijzen volgens uitvoeringsvormen van de onderhavige uitvinding.FIG. 13 (a) and the remaining area is overlaid by a so-called perforated bitmap as illustrated in FIG. 12, where 50% of the pixels are fully transparent pixels arranged in a checkerboard pattern, and the other 50% of the pixels are light gray pixels with (R, G, B) = (192,192,192), as can be provided by overlay methods according to embodiments of the present invention.

In FIG. 13(g) is elk tekstfragment geoverlayed door twee rode lijnen zoals in FIG. 13(a) en door een zogenoemde geperforeerde bitmap zoals geïllustreerd in FIG. 12, waarbij 50% van de pixelsIn FIG. 13 (g), each text fragment is overlaid by two red lines as in FIG. 13 (a) and through a so-called perforated bitmap as illustrated in FIG. 12, where 50% of the pixels

BE2018/5637 volledig transparante pixels zijn, opgesteld in een schaakbordpatroon, en de andere 50% van de pixels donkergrijze pixels zijn met (R,G,B)= (64, 64, 64), zoals verschaft kan worden door overlay-werkwijzen volgens uitvoeringsvormen van de onderhavige uitvinding.BE2018 / 5637 are fully transparent pixels arranged in a checkerboard pattern, and the other 50% of the pixels are dark gray pixels with (R, G, B) = (64, 64, 64), as can be provided by overlay methods according to embodiments of the present invention.

In FIG. 13(h) is elk tekstfragment geoverlayed door twee rode lijnen zoals in FIG. 13(a) en door een zogenoemde geperforeerde bitmap zoals geïllustreerd in FIG. 12, waarbij 50% van de pixels volledig transparante pixels zijn, opgesteld in een schaakbordpatroon, en de andere 50% van de pixels zwarte pixels zijn met (R,G,B)=(0, 0, 0), zoals verschaft kan worden door overlay-werkwijzen volgens uitvoeringsvormen van de onderhavige uitvinding.In FIG. 13 (h), each text fragment is overlaid by two red lines as in FIG. 13 (a) and through a so-called perforated bitmap as illustrated in FIG. 12, where 50% of the pixels are fully transparent pixels arranged in a checkerboard pattern, and the other 50% of the pixels are black pixels with (R, G, B) = (0, 0, 0), as can be provided by overlay methods according to embodiments of the present invention.

In FIG. 13(i) is elk tekstfragment geoverlayed door twee rode lijnen zoals in FIG. 13(a) en door een zogenoemde geperforeerde bitmap zoals geïllustreerd in FIG. 12, waarbij 50% van de pixels volledig transparante pixels zijn, opgesteld in een schaakbordpatroon, en de andere 50% van de pixels witte pixels zijn met (R,G,B)= (255, 255, 255), zoals verschaft kan worden door overlay-werkwijzen volgens uitvoeringsvormen van de onderhavige uitvinding.In FIG. 13 (i), each text fragment is overlaid by two red lines as in FIG. 13 (a) and through a so-called perforated bitmap as illustrated in FIG. 12, where 50% of the pixels are fully transparent pixels arranged in a checkerboard pattern, and the other 50% of the pixels are white pixels with (R, G, B) = (255, 255, 255), as can be provided by overlay methods according to embodiments of the present invention.

FIG. 14(a) illustreert schematisch wat er gebeurt met tekstinformatie samengesteld uit oorspronkelijk zwarte tekstpixels en oorspronkelijk witte achtergrondpixels, wanneer deze pixels geoverlayed worden door een bitmap die 100% zwarte pixels bevat met (R,G,B)=(0, 0, 0), voor drie verschillende alfamengingswaarden.FIG. 14 (a) schematically illustrates what happens to text information composed of originally black text pixels and originally white background pixels, when these pixels are overlayed by a bitmap containing 100% black pixels with (R, G, B) = (0, 0, 0 ), for three different alpha mix values.

FIG. 14(b) illustreert schematisch wat er gebeurt met tekstinformatie samengesteld uit oorspronkelijk zwarte tekstpixels en oorspronkelijk witte achtergrondpixels, wanneer deze pixels geoverlayed worden door een bitmap die 100% witte pixels bevat met (R,G,B)=(255, 255, 255), voor drie verschillende alfamengingswaarden.FIG. 14 (b) schematically illustrates what happens to text information composed of originally black text pixels and originally white background pixels, when these pixels are overlayed by a bitmap containing 100% white pixels with (R, G, B) = (255, 255, 255 ), for three different alpha mix values.

FIG. 15(a) illustreert schematisch wat er gebeurt met tekstinformatie samengesteld uit oorspronkelijk zwarte tekstpixels en oorspronkelijk witte achtergrondpixels, wanneer deze pixels geoverlayed worden door een bitmap die voor 50% volledig transparante pixels bevat en voor 50% zwarte pixels met (R,G,B)=(0, 0, 0), opgesteld in een dambordpatroon, voor drie verschillende alfamengingswaarden.FIG. 15 (a) schematically illustrates what happens to text information composed of originally black text pixels and originally white background pixels, when these pixels are overlayed by a bitmap containing 50% fully transparent pixels and 50% black pixels with (R, G, B ) = (0, 0, 0), arranged in a checkerboard pattern, for three different alpha blending values.

FIG. 15(b) illustreert schematisch wat er gebeurt met tekstinformatie samengesteld uit oorspronkelijk zwarte tekstpixels en oorspronkelijk witte achtergrondpixels, wanneer deze pixels geoverlayed worden door een bitmap die voor 50% volledig transparante pixels bevat en voor 50% witte pixels met (R,G,B)=(255, 255, 255), opgesteld in een dambordpatroon, voor drie verschillende alfamengingswaarden.FIG. 15 (b) schematically illustrates what happens to text information composed of originally black text pixels and originally white background pixels, when these pixels are overlayed by a bitmap containing 50% fully transparent pixels and 50% white pixels with (R, G, B ) = (255, 255, 255), arranged in a checkerboard pattern, for three different alpha mix values.

FIG. 16 tot FIG. 19 tonen vier voorbeelden van een groter tekstfragment.FIG. 16 to FIG. 19 show four examples of a larger text fragment.

FIG. 16 toont het tekstfragment dat zwarte tekst op een witte achtergrond bevat zoals dat weergegeven kan worden door een klassieke PDF-viewer.FIG. 16 shows the text fragment that contains black text on a white background as can be displayed by a classic PDF viewer.

BE2018/5637BE2018 / 5637

FIG. 17 toont het tekstfragment van FIG. 16, geoverlayed door een blauw lijnsegment dat pixels bevat met de kleur (R,G,B)=(0,0,255), en met het transparantieniveau van het overlayvenster ingesteld op 50%.FIG. 17 shows the text fragment of FIG. 16, overlayed by a blue line segment containing pixels with the color (R, G, B) = (0,0,255), and with the transparency level of the overlay window set to 50%.

FIG. 18 toont het tekstfragment van FIG. 16, geoverlayed op een wijze zoals beschreven in FIG. 9 en FIG. 10, in het bijzonder, gebruikmakende van een geperforeerde bitmap met 50% volledig transparante pixels, en 50% grijze pixels met kleurwaarde (128, 128, 128), opgesteld in een dambordpatroon.FIG. 18 shows the text fragment of FIG. 16, overlaid in a manner as described in FIG. 9 and FIG. 10, in particular, using a perforated bitmap with 50% fully transparent pixels, and 50% gray pixels with color value (128, 128, 128) arranged in a checkerboard pattern.

FIG. 19 toont een schematisch blokdiagram van een ander computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, waarbij het computersysteem een specifieke overlayapplicatie bevat die een overlayvenster verschaft dat ten minste twee semi-transparante elementen omvat: i) een lijn, en ii) een zogenoemde geperforeerde textuurbitmap. De lijn is beweegbaar in overeenstemming met bewegingen van een invoerinrichting.FIG. 19 shows a schematic block diagram of another computer system according to an embodiment of the present invention, the computer system containing a specific overlay application providing an overlay window comprising at least two semi-transparent elements: i) a line, and ii) a so-called perforated texture bitmap . The line is movable in accordance with movements of an input device.

FIG. 20 is een schematische voorstelling van een Z-orde van vier vensters of beeldvlakken die gebruikt kunnen worden in het computersysteem van FIG. 19.FIG. 20 is a schematic representation of a Z order of four windows or image planes that can be used in the computer system of FIG. 19.

FIG. 21 toont een schematisch blokdiagram van een ander computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, waarbij het computersysteem een specifieke overlayapplicatie bevat die een overlayvenster verschaft dat ten minste één semi-transparant object omvat in de vorm van een zogenoemde geperforeerde textuurbitmap.FIG. 21 shows a schematic block diagram of another computer system according to an embodiment of the present invention, wherein the computer system includes a specific overlay application that provides an overlay window that includes at least one semi-transparent object in the form of a so-called perforated texture bitmap.

FIG. 22 is een schematische voorstelling van een Z-orde van vier vensters of beeldvlakken die gebruikt kunnen worden in het computersysteem van FIG. 21.FIG. 22 is a schematic representation of a Z order of four windows or image planes that can be used in the computer system of FIG. 21.

FIG. 23 toont een schematisch blokdiagram van een ander computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, waarbij het computersysteem een specifieke overlayapplicatie bevat die een overlayvenster verschaft dat ten minste één semi-transparant object omvat in de vorm van een zogenoemde textuurbitmap.FIG. 23 shows a schematic block diagram of another computer system according to an embodiment of the present invention, wherein the computer system includes a specific overlay application that provides an overlay window that includes at least one semi-transparent object in the form of a so-called texture bitmap.

FIG. 24 is een schematische voorstelling van een Z-orde van vier vensters of beeldvlakken die gebruikt kunnen worden in het computersysteem van FIG. 23.FIG. 24 is a schematic representation of a Z order of four windows or image planes that can be used in the computer system of FIG. 23.

FIG. 25 toont het tekstfragment van FIG. 16, geoverlayed op een wijze zoals beschreven in FIG. 19 en FIG. 20, gebruikmakende van een geperforeerde bitmap met 50% volledig transparante pixels, en 50% grijze pixels verkregen uit een textuurbitmap, zodanig gekozen dat het resulterende geoverlayedde beeld een achtergrond heeft met een gemiddelde kleurwaarde van ongeveer (128, 128, 128), om vergelijking mogelijk te maken met FIG. 16 (het contrast van de textuur is instelbaar, en kan enigszins overdreven zijn voor illustratieve doeleinden).FIG. 25 shows the text fragment of FIG. 16, overlaid in a manner as described in FIG. 19 and FIG. 20, using a perforated bitmap with 50% fully transparent pixels, and 50% gray pixels obtained from a texture bitmap, chosen so that the resulting overlayed image has a background with an average color value of about (128, 128, 128) for comparison possible with FIG. 16 (the contrast of the texture is adjustable, and may be slightly exaggerated for illustrative purposes).

FIG. 26 toont het tekstfragment van FIG. 16, geoverlayed op een wijze zoals beschreven in FIG. 19 en FIG. 20, waarbij een semi-transparante blauwe lijn met kleur (0,0,255) is toegevoegd en gebruikmakende van een geperforeerde bitmap met 50% volledig transparante pixels en 50% grijzeFIG. 26 shows the text fragment of FIG. 16, overlaid in a manner as described in FIG. 19 and FIG. 20, with a semi-transparent blue line of color (0,0,255) added and using a perforated bitmap with 50% fully transparent pixels and 50% gray

BE2018/5637 pixels georganiseerd in een dambordpatroon, waarbij de grijze pixels verkregen zijn uit een textuurbitmap.BE2018 / 5637 pixels organized in a checkerboard pattern, with the gray pixels obtained from a texture bitmap.

FIG. 27 toont de voorbeeldmatige textuurbitmap die gebruikt werd om het beeld van FIG. 25 en FIG. 26 te genereren, vóór perforatie, vóór optionele kleuraanpassing en vóór optionele contrastaanpassing.FIG. 27 shows the exemplary texture bitmap used to image the FIG. 25 and FIG. 26, before punching, before optional color adjustment, and before optional contrast adjustment.

FIG. 28 illustreert schematisch hoe het overlayen met een geperforeerde bitmap die heen en weer wordt verschoven over één enkele pixel, gebruikt kan worden voor tijdmultiplexing of tijdmiddeling.FIG. 28 schematically illustrates how overlay with a perforated bitmap shifted back and forth over a single pixel can be used for time multiplexing or time averaging.

FIG. 29(a) tot (c) tonen voorbeelden van een beeldfragment verkregen door het overlayen van een grafisch beeld dat zwarte tekst op een witte achtergrond bevat, gebruikmakende van een werkwijze van de onderhavige uitvinding, weergegeven op een weergave-inrichting met native (oorspronkelijke) resolutie van 3840 x 2160 geconfigureerd aan een resolutie van 2560 x 1440, met een schaalfactor voor tekst en applicaties van 100%.FIG. 29 (a) to (c) show examples of an image fragment obtained by overlaying a graphic image containing black text on a white background, using a method of the present invention, displayed on a native (native) display device 3840 x 2160 resolution configured at 2560 x 1440 resolution, with 100% text and application scaling factor.

FIG. 29(a) toont een gedeelte van het beeld van FIG. 18, gezien vanaf een relatief grote afstand waarbij het menselijk oog geen individuele pixels onderscheidt.FIG. 29 (a) shows a portion of the image of FIG. 18, viewed from a relatively great distance at which the human eye does not distinguish individual pixels.

FIG. 29(b) toont hetzelfde beeld, ingezoomd met een factor van ongeveer 350%.FIG. 29 (b) shows the same image zoomed in by a factor of about 350%.

FIG. 29(c) toont een gedeelte van hetzelfde beeld, verder ingezoomd met een factor van ongeveer 200%.FIG. 29 (c) shows a portion of the same image further zoomed in by a factor of about 200%.

FIG. 30(a) tot FIG. 30(c) tonen in hoofdzaak dezelfde beelden als die van FIG. 29(a) tot FIG. 29(c), weergegeven op dezelfde weergave-inrichting, wederom geconfigureerd met een resolutie van 2560 x 1440, maar geconfigureerd met 125% schaling voor tekst en applicaties.FIG. 30 (a) to FIG. 30 (c) show substantially the same images as those of FIG. 29 (a) to FIG. 29 (c), displayed on the same display device, again configured with a resolution of 2560 x 1440, but configured with 125% scaling for text and applications.

FIG. 30(a) toont hoe het resulterende beeldfragment eruit ziet, gezien vanaf een relatief grote afstand waarbij het menselijk oog geen individuele pixels onderscheidt.FIG. 30 (a) shows what the resulting image fragment looks like when viewed from a relatively long distance where the human eye does not distinguish individual pixels.

FIG. 30(b) toont hetzelfde beeld, ingezoomd met een factor van ongeveer 350%.FIG. 30 (b) shows the same image zoomed in by a factor of about 350%.

FIG. 30(c) toont hetzelfde beeld, verder ingezoomd met een factor van ongeveer 200%.FIG. 30 (c) shows the same image, further zoomed in by a factor of about 200%.

FIG. 31 toont een flowdiagram van overlay-werkwijzen volgens uitvoeringsvormen van de onderhavige uitvinding.FIG. 31 shows a flow chart of overlay methods according to embodiments of the present invention.

FIG. 32 toont een flowdiagram van overlay-werkwijzen volgens uitvoeringsvormen van de onderhavige uitvinding.FIG. 32 shows a flow chart of overlay methods according to embodiments of the present invention.

FIG. 33 toont een flowdiagram van overlay-werkwijzen volgens uitvoeringsvormen van de onderhavige uitvinding.FIG. 33 shows a flow chart of overlay methods according to embodiments of the present invention.

FIG. 34 toont een vereenvoudigd hoogniveau-blokdiagram van softwarecomponenten en hardwarecomponenten, gesitueerd in een computersysteem, die typisch samenwerken bij het uitvoeren van een werkwijze volgens de onderhavige uitvinding.FIG. 34 shows a simplified high level block diagram of software components and hardware components located in a computer system, which typically cooperate in performing a method according to the present invention.

FIG. 35 toont een voorbeeldmatig gebruikersinterface-venster zoals gebruikt kan worden door een overlay-applicatie volgens de onderhavige uitvinding.FIG. 35 shows an exemplary user interface window as can be used by an overlay application according to the present invention.

BE2018/5637BE2018 / 5637

FIG. 36 toont een schematisch blokdiagram van een ander computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, met een specifieke overlay-applicatie die een overlayvenster verschaft met een beweegbaar object dat een zogenoemde geperforeerde bitmap heeft. De lijn is beweegbaar in overeenstemming met bewegingen van de invoerinrichting.FIG. 36 shows a schematic block diagram of another computer system according to an embodiment of the present invention, with a specific overlay application providing an overlay window with a movable object having a so-called perforated bitmap. The line is movable in accordance with movements of the input device.

FIG. 37 is een schematische voorstelling van een Z-orde van vier vensters of beeldvlakken die gebruikt kunnen worden in het computersysteem van FIG. 36.FIG. 37 is a schematic representation of a Z order of four windows or image planes that can be used in the computer system of FIG. 36.

FIG. 38 toont een schematisch blokdiagram van een ander computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, met een overlay-applicatie die een overlayvenster verschaft met een beweegbaar object in de vorm van een geperforeerd kruis, beweegbaar in overeenstemming met bewegingen van de invoerinrichting.FIG. 38 shows a schematic block diagram of another computer system according to an embodiment of the present invention, with an overlay application providing an overlay window with a movable object in the form of a perforated cross movable in accordance with movements of the input device.

FIG. 39 is een schematische voorstelling van een Z-orde van vier vensters of beeldvlakken die gebruikt kunnen worden in het computersysteem van FIG. 38.FIG. 39 is a schematic representation of a Z order of four windows or image planes that can be used in the computer system of FIG. 38.

FIG. 40 toont een schematisch blokdiagram van een ander computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, met een overlay-applicatie die een overlayvenster verschaft met een beweegbaar object in de vorm van een horizontale lijn die zich uitstrekt over de ganse breedte van het scherm, en die beweegbaar is in overeenstemming met bewegingen van de invoerinrichting.FIG. 40 shows a schematic block diagram of another computer system according to an embodiment of the present invention, with an overlay application providing an overlay window with a movable object in the form of a horizontal line extending across the entire width of the screen, and is movable in accordance with movements of the input device.

FIG. 41 is een schematische voorstelling van een Z-orde van vier vensters of beeldvlakken die gebruikt kunnen worden in het computersysteem van FIG. 40.FIG. 41 is a schematic representation of a Z order of four windows or image planes that can be used in the computer system of FIG. 40.

FIG. 42 toont een schematisch blokdiagram van een ander computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, met een overlay-applicatie die een overlayvenster verschaft met een verticale lijn die een linkergebied en een rechtergebied van het scherm definieert, en met een horizontale lijn die zich uitstrekt over de breedte van het linker gebied, en die verticaal beweegbaar is in overeenstemming met bewegingen van de invoerinrichting wanneer de muiscursor zich in het linker gebied bevindt, en die bevriest wanneer de muiscursor zich in het rechter gebied bevindt.FIG. 42 shows a schematic block diagram of another computer system according to an embodiment of the present invention, with an overlay application providing an overlay window with a vertical line defining a left area and a right area of the screen, and with a horizontal line extending over the width of the left region, which is vertically movable in accordance with movements of the input device when the mouse cursor is in the left region, and freezes when the mouse cursor is in the right region.

FIG. 43 is een schematische voorstelling van een Z-orde van vier vensters of beeldvlakken die gebruikt kunnen worden in het computersysteem van FIG. 42.FIG. 43 is a schematic representation of a Z order of four windows or image planes that can be used in the computer system of FIG. 42.

FIG. 44 toont een flowdiagram van een andere overlay-werkwijze volgens uitvoeringsvormen van de onderhavige uitvinding.FIG. 44 shows a flow chart of another overlay method according to embodiments of the present invention.

FIG. 45 toont een schematisch blokdiagram van een draagbaar apparaat zoals bv. een eReader of een smartphone, aangepast voor het tonen van tekstuele informatie geoverlayed door een semitransparante lijn, volgens een uitvoeringsvorm van de onderhavige uitvinding.FIG. 45 shows a schematic block diagram of a portable device such as, e.g., an eReader or a smartphone, adapted to display textual information overlaid by a semi-transparent line, according to an embodiment of the present invention.

FIG. 46 toont een schematisch blokdiagram van een ander computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, dat gezien kan worden als een variant van FIG. 21,FIG. 46 shows a schematic block diagram of another computer system according to an embodiment of the present invention, which can be viewed as a variant of FIG. 21,

BE2018/5637 waarbij het computersysteem een grafisch overlaybeeld verschaft in de vorm van een zogenoemde geperforeerde textuurbitmap, geoverlayed door de weergave-inrichting.BE2018 / 5637 wherein the computer system provides a graphic overlay image in the form of a so-called perforated texture bitmap overlaid by the display device.

FIG. 47 is een schematische voorstelling van een Z-orde van drie vensters of beeldvlakken die gebruikt kunnen worden in het computersysteem van FIG. 46, en daarboven een vierde semitransparant overlayvenster dat door de weergave-inrichting wordt verschaft.FIG. 47 is a schematic representation of a Z order of three windows or image planes that can be used in the computer system of FIG. 46, and above a fourth semitransparent overlay window provided by the display device.

FIG. 48 toont een schematisch blokdiagram van een ander computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, dat gezien kan worden als een variant van FIG. 46, waarbij het computersysteem een grafisch overlaybeeld verschaft in de vorm van een nietgeperforeerde textuurbitmap, die geoverlayed wordt door de weergave-inrichting.FIG. 48 shows a schematic block diagram of another computer system according to an embodiment of the present invention, which can be viewed as a variant of FIG. 46, wherein the computer system provides a graphic overlay image in the form of an unperforated texture bitmap, which is overlayed by the display device.

FIG. 49 is een schematische voorstelling van een Z-orde van drie vensters of beeldvlakken die gebruikt kunnen worden in het computersysteem van FIG. 48, en daarboven een vierde semitransparant overlayvenster dat door de weergave-inrichting wordt verschaft.FIG. 49 is a Z-order schematic of three windows or image planes that can be used in the computer system of FIG. 48, and above it a fourth semi-transparent overlay window provided by the display device.

FIG. 50 toont een flowdiagram van een andere computer-geïmplementeerde werkwijze volgens een uitvoeringsvorm van de onderhavige uitvinding.FIG. 50 shows a flow diagram of another computer-implemented method according to an embodiment of the present invention.

FIG. 51 toont een flowdiagram van een andere computer-geïmplementeerde werkwijze volgens een uitvoeringsvorm van de onderhavige uitvinding.FIG. 51 shows a flow diagram of another computer implemented method according to an embodiment of the present invention.

FIG. 52 toont een schematisch blokdiagram van een computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding. Het computersysteem van FIG. 52(a) omvat een computerinrichting die een overlay-applicatie uitvoert voor het inverteren van kleuren van minstens een gedeelte van het onderliggende beeld, welk beeld gevormd wordt door het besturingssysteem in overeenstemming met de onderliggende stapel van vensters, zoals bv. getoond in FIG. 53.FIG. 52 shows a schematic block diagram of a computer system according to an embodiment of the present invention. The computer system of FIG. 52 (a) includes a computer device that executes an overlay application for inverting colors of at least a portion of the underlying image, which image is generated by the operating system in accordance with the underlying stack of windows, as shown, for example, in FIG. 53.

In FIG. 52(a) wordt slechts een gedeelte van het scherm geïnverteerd van kleur.In FIG. 52 (a), only a portion of the screen is inverted in color.

In FIG. 52(b) wordt in hoofdzaak het ganse scherm van kleur geïnverteerd, bv. het ganse schermgebied behalve de taakbalk.In FIG. 52 (b) essentially inverts the entire screen of color, e.g., the entire screen area except the task bar.

FIG. 53 is een schematische voorstelling van een zogenoemde Z-orde van vijf vensters of beeldvlakken die gebruikt kunnen worden in het voorbeeldmatig computersysteem van FIG. 52(a) en/of FIG. 52(b), wanneer deze een klassieke teksteditor-applicatie en een overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding uitvoert.FIG. 53 is a schematic representation of a so-called Z-order of five windows or image planes that can be used in the exemplary computer system of FIG. 52 (a) and / or FIG. 52 (b), when it executes a classic text editor application and an overlay application according to an embodiment of the present invention.

FIG. 54 is een hoog-niveau flowdiagram van een computer-geïmplementeerde werkwijze voor het in hoofdzaak inverteren van de kleuren van minstens een gedeelte van het onderliggend beeld, volgens een uitvoeringsvorm van de onderhavige uitvinding, zoals geïmplementeerd kan zijn in de overlay-applicatie die draait op de computerinrichting of het computersysteem van FIG. 52(a) en FIG. 52(b).FIG. 54 is a high-level flow diagram of a computer-implemented method for substantially inverting the colors of at least a portion of the underlying image, according to an embodiment of the present invention, as may be implemented in the overlay application running on the computer device or computer system of FIG. 52 (a) and FIG. 52 (b).

FIG. 55 toont een voorbeeldmatig gebruikersinterface-venster zoals gebruikt kan worden door een overlay-applicatie die draait op het computersysteem van FIG. 52(a) en/of FIG. 52(b).FIG. 55 shows an exemplary user interface window as can be used by an overlay application running on the computer system of FIG. 52 (a) and / or FIG. 52 (b).

BE2018/5637BE2018 / 5637

FIG. 56 en FIG. 57 toont een eerste voorbeeldmatig beeld om de kwaliteit te tonen van de kleur-inversie verkrijgbaar door de overlay-applicatie. FIG. 56 toont het oorspronkelijk beeld, FIG. 57 toont het beeld op een zodanige manier geoverlayed dat het kleur-inversie veroorzaakt.FIG. 56 and FIG. 57 shows a first exemplary image to show the quality of the color inversion available from the overlay application. FIG. 56 shows the original image, FIG. 57 shows the image overlayed in such a way as to cause color inversion.

FIG. 58 en FIG. 59 toont een tweede voorbeeldmatig beeld om de kwaliteit te tonen van de kleur-inversie verkrijgbaar door de overlay-applicatie. FIG. 58 toont het oorspronkelijk beeld, FIG. 59 toont het beeld op een zodanige manier geoverlayed dat het kleur-inversie veroorzaakt.FIG. 58 and FIG. 59 shows a second exemplary image to show the quality of the color inversion available by the overlay application. FIG. 58 shows the original image, FIG. 59 shows the image overlayed in such a way as to cause color inversion.

Gedetailleerde beschrijving van illustratieve uitvoeringsvormenDetailed description of illustrative embodiments

De huidige uitvinding zal beschreven worden met betrekking tot bijzondere uitvoeringsvormen en met verwijzing naar bepaalde tekeningen, echter de uitvinding wordt daartoe niet beperkt maar is enkel beperkt door de conclusies. De figuren zijn enkel schematisch en niet limiterend. In de tekeningen kan de grootte van bepaalde elementen overdreven en niet op schaal getekend zijn voor illustratieve doeleinden. De afmetingen en de relatieve afmetingen komen soms niet overeen met de actuele praktische uitvoering van de uitvinding.The present invention will be described with respect to particular embodiments and with reference to certain drawings, however the invention is not limited thereto but is limited only by the claims. The figures are only schematic and not limitative. In the drawings, the size of certain elements may be exaggerated and not drawn to scale for illustrative purposes. The dimensions and the relative dimensions sometimes do not correspond to the current practical implementation of the invention.

Verder worden de termen eerste, tweede en dergelijke in de beschrijving en in de conclusies gebruikt voor het onderscheiden van gelijkaardige elementen en niet noodzakelijk voor het beschrijven van een volgorde, noch in de tijd, noch spatiaal, noch in rangorde of op enige andere wijze. Het dient te worden begrepen dat de termen op die manier gebruikt onder geschikte omstandigheden verwisselbaar zijn en dat de uitvoeringsvormen van de uitvinding hierin beschreven geschikt zijn om in andere volgorde te werken dan hierin beschreven of weergegeven.Furthermore, the terms first, second and the like in the description and in the claims are used to distinguish similar elements and are not necessary for describing an order, neither in time, nor spatially, nor in order of precedence or in any other way. It is to be understood that the terms used in this manner are interchangeable under suitable conditions and that the embodiments of the invention described herein are capable of operating in a different order than described or shown herein.

Het dient opgemerkt te worden dat de term omvat, zoals gebruikt in de conclusies, niet als beperkt tot de erna beschreven middelen dient geïnterpreteerd te worden; deze term sluit geen andere elementen of stappen uit. Hij is zodoende te interpreteren als het specificeren van de aanwezigheid van de vermelde kenmerken, waarden, stappen of componenten waarnaar verwezen wordt, maar sluit de aanwezigheid of toevoeging van één of meerdere andere kenmerken, waarden, stappen of componenten, of groepen daarvan niet uit. Dus, de omvang van de uitdrukking een inrichting omvattende middelen A en B dient niet beperkt te worden tot inrichtingen die enkel uit componenten A en B bestaan. Het betekent dat met betrekking tot de huidige uitvinding, A en B de enige relevante componenten van de inrichting zijn.It is to be noted that the term included, as used in the claims, is not to be construed as limited to the means described thereafter; this term does not exclude other elements or steps. It can thus be interpreted as specifying the presence of the referenced features, values, steps or components, but does not exclude the presence or addition of one or more other features, values, steps or components, or groups thereof. Thus, the scope of the term a device comprising means A and B should not be limited to devices consisting only of components A and B. It means that with respect to the present invention, A and B are the only relevant components of the device.

Verwijzing doorheen deze specificatie naar “één uitvoeringsvorm” of “een uitvoeringsvorm” betekent dat een specifiek kenmerk, structuur of karakteristiek beschreven in verband met de uitvoeringsvorm is opgenomen in tenminste één uitvoeringsvorm van de onderhavige uitvinding. Dus, voorkomen van de uitdrukkingen “in één uitvoeringsvorm” of “in een uitvoeringsvorm” op diverse plaatsen doorheen deze specificatie hoeven niet noodzakelijk allemaal naar dezelfde uitvoeringsvorm te refereren, maar kunnen dit wel doen. Voorts, de specifieke kenmerken, structuren of karakteristieken kunnen gecombineerd worden op eender welke geschikte manier, zoals duidelijk zouReference throughout this specification to "one embodiment" or "an embodiment" means that a specific feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, occurrences of the terms "in one embodiment" or "in an embodiment" in various places throughout this specification may not necessarily all refer to the same embodiment, but may do so. Furthermore, the specific features, structures or characteristics can be combined in any suitable manner, as would be apparent

BE2018/5637 zijn voor een gemiddelde vakman op basis van deze bekendmaking, in één of meerdere uitvoeringsvormen.BE2018 / 5637 are for one of ordinary skill in the art based on this disclosure, in one or more embodiments.

Vergelijkbaar dient het geapprecieerd te worden dat in de beschrijving van voorbeeldmatige uitvoeringsvormen van de uitvinding verscheidene kenmerken van de uitvinding soms samen gegroepeerd worden in één enkele uitvoeringsvorm, figuur of beschrijving daarvan met als doel het stroomlijnen van de openbaarmaking en het helpen in het begrijpen van één of meerdere van de verscheidene inventieve aspecten. Deze methode van openbaarmaking dient hoe dan ook niet geïnterpreteerd te worden als een weerspiegeling van een intentie dat de uitvinding meer kenmerken vereist dan expliciet vernoemd in iedere conclusie. Eerder, zoals de volgende conclusies weerspiegelen, liggen inventieve aspecten in minder dan alle kenmerken van één enkele voorafgaande openbaar gemaakte uitvoeringsvorm. Dus, de conclusies volgend op de gedetailleerde beschrijving zijn hierbij expliciet opgenomen in deze gedetailleerde beschrijving, met iedere op zichzelf staande conclusie als een afzonderlijke uitvoeringsvorm van deze uitvinding.Similarly, it should be appreciated that in describing exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure or description thereof for the purpose of streamlining disclosure and aiding in understanding one or several of the various inventive aspects. In any event, this method of disclosure should not be interpreted as reflecting an intention that the invention requires more features than stated explicitly in any claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single prior disclosed embodiment. Thus, the claims following the detailed description are hereby explicitly incorporated into this detailed description, with each standalone claim as a separate embodiment of this invention.

Voorts, terwijl sommige hierin beschreven uitvoeringsvormen sommige, maar niet andere, in andere uitvoeringsvormen inbegrepen kenmerken bevatten, zijn combinaties van kenmerken van verschillende uitvoeringsvormen bedoeld als gelegen binnen de reikwijdte van de uitvinding, en vormen deze verschillende uitvoeringsvormen, zoals zou begrepen worden door de vakman. Bijvoorbeeld, in de volgende conclusies kunnen eender welke van de beschreven uitvoeringsvormen gebruikt worden in eender welke combinatie.Furthermore, while some embodiments described herein contain some, but not other, features included in other embodiments, combinations of features of different embodiments are intended to be within the scope of the invention, and constitute various embodiments, as would be understood by those skilled in the art . For example, in the following claims, any of the described embodiments can be used in any combination.

In de hier voorziene beschrijving worden talrijke specifieke details naar voren gebracht. Het is hoe dan ook te begrijpen dat uitvoeringsvormen van de uitvinding kunnen uitgevoerd worden zonder deze specifieke details. In andere gevallen zijn welgekende werkwijzen, structuren en technieken niet in detail getoond om deze beschrijving helder te houden.Numerous specific details are presented in the description provided here. In any event, it is understood that embodiments of the invention can be practiced without these specific details. In other instances, well-known methods, structures and techniques have not been shown in detail to keep this description clear.

In dit document worden de termen alfamenging of menging of mixen (van beelden of bitmaps) als synoniemen gebruikt. In de context van grafische overlay is er een hoger gelegen beeld (met een hogere Z-orde) en een lager gelegen beeld (met een lagere Z-orde). Het mengen kan in hardware en/of software gedaan worden, en is gebaseerd op een parameter genoemd alfamengingswaarde α, die verwijst naar het niveau van mengen van de twee beelden, waarbij α =0% betekent dat het oorspronkelijke beeld niet met het overlaybeeld wordt gemengd (of dat het overlaybeeld volledig transparant is), en waarbij α=100% betekent dat de resulterende pixelwaarde die van het overlaybeeld is (of dat het overlaybeeld volledig ondoorzichtig is) behalve voor volledig transparante pixels. De alfamengingswaarde kan uitgedrukt worden op een schaal van 0 tot 255, waarbij α=255 overeenkomt met α=100% en α=0 overeenkomt met α=0%. Alfamenging kan bijvoorbeeld gebruikt worden voor fade-in of fade-out van een grafisch beeld. In de context van de onderhavige uitvinding is ook een tweede parameter betrokken bij het mengen, aangeduid met deIn this document, the terms alpha mixing or mixing or mixing (of images or bitmaps) are used as synonyms. In the context of graphical overlay, there is a higher image (with a higher Z order) and a lower image (with a lower Z order). Mixing can be done in hardware and / or software, and is based on a parameter called alpha mix value α, which refers to the level of mixing of the two images, where α = 0% means that the original image is not mixed with the overlay image (or that the overlay image is completely transparent), and where α = 100% means that the resulting pixel value is that of the overlay image (or that the overlay image is completely opaque) except for fully transparent pixels. The alpha mixing value can be expressed on a scale from 0 to 255, where α = 255 corresponds to α = 100% and α = 0 corresponds to α = 0%. For example, alpha blending can be used to fade in or fade out a graphic image. In the context of the present invention, a second parameter is also involved in mixing, denoted by the

BE2018/5637 term TransparentColorValue. Indien een pixel van het overlaybeeld deze vooraf gedefinieerde (valse kleur of pseudo-kleur) waarde heeft, dan wordt deze pixel behandeld als volledig transparant. Volledig transparante pixels worden typisch gebruikt bijvoorbeeld bij het tonen van een rechthoekig beeld met afgeronde randen en/of met afgeronde hoeken. Alfamenging en volledig transparante pixels zijn beide welbekend in de stand der techniek.BE2018 / 5637 term TransparentColorValue. If a pixel of the overlay image has this predefined (false color or pseudo color) value, this pixel is treated as completely transparent. Fully transparent pixels are typically used, for example, when displaying a rectangular image with rounded edges and / or with rounded corners. Alpha blending and fully transparent pixels are both well known in the art.

Wanneer in de onderhavige uitvinding wordt verwezen naar een kleur van een pixel, dan wordt niet alleen de tint bedoeld (bv. rood of blauw of groen of geel), maar ook de intensiteit of helderheid ervan, tenzij anders gespecificeerd of duidelijk vanuit de context.When reference is made in the present invention to a color of a pixel, it refers not only to the hue (e.g. red or blue or green or yellow), but also its intensity or brightness, unless otherwise specified or clear from the context.

Wanneer in de onderhavige uitvinding wordt verwezen naar een kleur uitgedrukt in R,G,Bwaarden, dan wordt een kleurwaarde bedoeld die voorgesteld kan worden door een verzameling kleurcomponenten, bijvoorbeeld door een verzameling (R,G,B)-waarden, representatief voor een rode, een groene en een blauwe kleurcomponentwaarde, elk met een waarde in het bereik van 0 tot 255. Puur zwart wordt voorgesteld door (0, 0, 0) en puur wit wordt voorgesteld door (255, 255, 255). De Ren G- en B-waarden voor een grijsschaalpixel zijn gelijk.When reference is made in the present invention to a color expressed in R, G, B values, it means a color value that can be represented by a set of color components, for example, by a set of (R, G, B) values, representative of a red , a green and a blue color component value, each with a value in the range of 0 to 255. Pure black is represented by (0, 0, 0) and pure white is represented by (255, 255, 255). The Ren G and B values for a grayscale pixel are equal.

Met pixelintensiteit of helderheid of luminantie van een pixel voorgesteld door een verzameling (R,G,B)-waarden, wordt een waarde L bedoeld die bij benadering gelijk is aan L = R*0,3 + G*0,6 + B*0,1 of bij benadering gelijk is aan R*3/8 + G*5/8 + B*1/8, of andere in de stand der techniek gekende formules.By pixel intensity or brightness or luminance of a pixel represented by a set of (R, G, B) values is meant a value L which is approximately equal to L = R * 0.3 + G * 0.6 + B * 0.1 or approximately equals R * 3/8 + G * 5/8 + B * 1/8, or other formulas known in the art.

Waar in de onderhavige uitvinding wordt verwezen naar een zwarte, grijze of witte pixel, wordt een pixel bedoeld die een kleur heeft, waarvan de R-waarde en G-waarde en B-waarde gelijk zijn, wanneer de kleur wordt uitgedrukt in R,G,B-waarden, Bijvoorbeeld, een zwarte pixel heeft RGBwaarden (0, 0, 0), een witte pixel heeft RGB-waarden (255, 255, 255), aannemende dat een 8bitsvoorstelling is gebruikt.Where reference is made in the present invention to a black, gray or white pixel, it is meant a pixel having a color whose R-value and G-value and B-value are equal when the color is expressed in R, G , B values, For example, a black pixel has RGB values (0, 0, 0), a white pixel has RGB values (255, 255, 255), assuming an 8-bit representation was used.

In dit document verwijst de term kleur van een pixel of waarde van een pixel naar de verzameling kleurcomponenten, bijvoorbeeld naar een combinatie van een R-, G- en B-waarde. Een zwarte of witte of grijze pixel heeft gelijke waarden voor zijn R-, G- en B-componenten, en kan dus voorgesteld worden door de kleurwaarden (x,x,x). Voor deze pixels wordt het enkele getal x ook wel de waarde van de pixel genoemd.In this document, the term color of a pixel or value of a pixel refers to the collection of color components, for example, a combination of an R, G and B value. A black or white or gray pixel has equal values for its R, G and B components, and can therefore be represented by the color values (x, x, x). For these pixels, the single number x is also referred to as the value of the pixel.

In dit document betekent de uitdrukking met kleur (R,G,B) hetzelfde als met een kleur die kan uitgedrukt worden in termen van Rode, Groene en Blauwe kleurcomponenten, met rood=R, groen=G, blauw=B, elk op een schaal van 0 tot 255.In this document, the expression with color (R, G, B) means the same as with a color that can be expressed in terms of Red, Green and Blue color components, with red = R, green = G, blue = B, each on a scale from 0 to 255.

In dit document worden de termen display en monitor en scherm als synoniemen gebruikt, tenzij expliciet vermeld, of tenzij uit de context duidelijk anders blijkt. In de context van de onderhavige uitvinding is het display doorgaans één enkel fysiek apparaat.In this document, the terms display and monitor and screen are used as synonyms, unless explicitly stated or unless the context clearly indicates otherwise. In the context of the present invention, the display is usually a single physical device.

In dit document worden de termen schaakbordpatroon en dambordpatroon als synoniemen gebruikt.In this document, the terms checkerboard pattern and checkerboard pattern are used as synonyms.

BE2018/5637BE2018 / 5637

In dit document betekent de term geperforeerde bitmap een bitmap die een eerste veelheid volledig transparante pixels bevat en een tweede veelheid andere pixels. In de praktijk heeft de eerste veelheid pixels een vooraf gedefinieerde pseudo-kleurwaarde die wordt herkend door een mengeenheid (bv. een software-menger of een grafische processor) teneinde deze pixels als volledig transparant te behandelen. De andere pixels van de bitmap kunnen alle dezelfde kleur hebben (monochroom), of kunnen verschillende kleuren hebben (bv. geëxtraheerd uit een textuurbitmap of kunnen een kleurgradiënt vormen). De eerste en tweede veelheid pixels zijn bij voorkeur opgesteld in een patroon, bv. in een schaakbordpatroon, zoals bijvoorbeeld geïllustreerd in FIG. 10 en FIG. 12 en FIG. 22 en FIG. 37.In this document, the term perforated bitmap means a bitmap containing a first plurality of fully transparent pixels and a second plurality of other pixels. In practice, the first plurality of pixels have a predefined pseudo-color value recognized by a mixing unit (e.g., a software mixer or graphics processor) to treat these pixels as completely transparent. The other pixels of the bitmap can all be the same color (monochrome), or they can be different colors (eg extracted from a texture bitmap or form a color gradient). The first and second plurality of pixels are preferably arranged in a pattern, e.g., in a checkerboard pattern, as illustrated, for example, in FIG. 10 and FIG. 12 and FIG. 22 and FIG. 37.

Met gemiddeld wordt bedoeld door spatiaal te middelen of door de tijd te middelen, of zowel spatiaal te middelen alsook door de tijd te middelen.By average is meant by spatial averaging or time averaging, or both spatial averaging and time averaging.

In dit document kan de grootte, breedte of hoogte van het scherm verwijzen naar (i) de grootte, breedte en hoogte van de pixelmatrix van het scherm (niet de rand rondom de pixelmatrix), of kan verwijzen naar (ii) de grootte, breedte en hoogte van het zogenoemde werkgebied (work area), hetgeen hetzelfde gebied is als (i) minus het gebied dat door de zogenoemde taakbalk (task bar) ingenomen wordt. Het werkgebied is ook het gebied dat doorgaans door een applicatie wordt ingenomen wanneer ze wordt gemaximaliseerd.In this document, the size, width or height of the screen may refer to (i) the size, width and height of the pixel matrix of the screen (not the border around the pixel matrix), or may refer to (ii) the size, width and height of the so-called work area, which is the same area as (i) minus the area occupied by the so-called task bar. The work area is also the area usually occupied by an application when it is maximized.

In dit document worden de termen lijn of balk als synoniemen gebruikt. Zij kunnen verwijzen naar een (relatief klein) lijnsegment of blok of naar een rechthoekig gebied dat zich uitstrekt over nagenoeg de volledige breedte of de volledige hoogte van het scherm, of over de volledige breedte of de volledige hoogte van het werkgebied (work area) van het scherm.In this document, the terms line or bar are used as synonyms. They may refer to a (relatively small) line segment or block, or to a rectangular area that extends across almost the full width or full height of the screen, or the full width or full height of the work area of the screen.

In dit document behoren de uitdrukkingen tekstverwerker of teksteditor niet te eng geïnterpreteerd te worden, omdat vele zogenoemde tekstverwerkers (zoals bijv. Microsoft Word) ook tekenmogelijkheden hebben. Evenzo behoort de term spreadsheet of werkblad niet te eng geïnterpreteerd te worden, omdat vele zogenoemde werkbladapplicaties, bijv. Microsoft Excel, ook grafische mogelijkheden hebben.In this document, the expressions word processor or text editor should not be interpreted too narrowly, because many so-called word processors (such as eg Microsoft Word) also have drawing options. Likewise, the term spreadsheet or worksheet should not be interpreted too narrowly, because many so-called worksheet applications, eg Microsoft Excel, also have graphical capabilities.

In dit document betekent de uitdrukking het overlayvenster is geconfigureerd in doorklikmodus (click-through mode) of het overlayvenster is geconfigureerd in doorlaatmodus (pass-through mode) dat het overlayvenster op een dusdanige wijze geconfigureerd is dat gebeurtenissen (events) van invoerinrichtingen (zoals bv. een muis, een toetsenbord, een touchpad etc. ) door het besturingssysteem verzonden worden naar één of meerdere onderliggende applicatievensters of naar objecten daarvan, ondanks de hogere Z-orde van de overlay-applicatie. Dit is onder meer van toepassing op events veroorzaakt door een knopindrukking (button-press) of een knoploslating (button-release) of een knopklik (button-click) of een scroll-event van een muiswiel, en op bewegingen. In de context van de onderhavige uitvinding omvat de overlay-applicatie doorgaans één venster geconfigureerd in doorklikmodus, maar bij voorkeur ook een tweede, hoofdzakelijkIn this document, the expression the overlay window is configured in click-through mode or the overlay window is configured in pass-through mode that the overlay window is configured in such a way that events (events) of input devices (such as eg a mouse, a keyboard, a touchpad, etc.) are sent by the operating system to one or more underlying application windows or to objects thereof, despite the higher Z-order of the overlay application. This applies, among other things, to events caused by a button press (button-press) or a button release (button-release) or a button click (button-click) or a scroll event of a mouse wheel, and to movements. In the context of the present invention, the overlay application typically includes one window configured in click-through mode, but preferably also a second, mainly

BE2018/5637 ondoorzichtig venster (optioneel met volledig transparante pixels), met gebruikersinterface elementen.BE2018 / 5637 opaque window (optional with fully transparent pixels), with user interface elements.

In dit document betekent de uitdrukking het overlayvenster is geconfigureerd in nietdoorklikmodus dat het overlayvenster niet geconfigureerd is in doorklikmodus.In this document, the expression the overlay window is configured in non-click-through mode means the overlay window is not configured in click-through mode.

In dit document verwijst de term werkgebied naar een gedeelte van het pixelgebied van een scherm, namelijk het gebied dat ingenomen zal worden door de applicatie 705 wanneer ze gemaximaliseerd wordt. In een Microsoft Windows-omgeving betekent het werkgebied (work area) het gehele pixelgebied behalve de zogenoemde taakbalk (taskbar), die zich doorgaans onderaan het scherm bevindt, maar die zich ook elders kan bevinden.In this document, the term work area refers to a portion of the pixel area of a screen, namely the area that will be occupied by the application 705 when maximized. In a Microsoft Windows environment, the work area means the entire pixel area except the so-called taskbar, which is usually located at the bottom of the screen, but can also be located elsewhere.

In dit document betekent de uitdrukking een bitmap bevat semi-transparante pixels doorgaans dat de bitmap niet enkel uit volledig transparante pixels bestaat (dus ten minste één kleurpixel bevat en optioneel één of meerdere volledige transparante pixels), en zich in een venster bevindt dat geconfigureerd is om semi-transparant te zijn met een alfatransparantie in het bereik van 1% tot 99%, maar andere wijzen van het verschaffen van een bitmap met semi-transparante pixels kunnen eveneens gebruikt worden.In this document, the phrase a bitmap contains semi-transparent pixels usually means that the bitmap is not just full transparent pixels (so it contains at least one color pixel and optionally one or more full transparent pixels), and is in a window that is configured to be semi-transparent with an alpha transparency in the range of 1% to 99%, but other ways of providing a bitmap with semi-transparent pixels can also be used.

De onderhavige uitvinding heeft betrekking op een werkwijze voor het verschaffen van een grafische overlay, en op een computerprogrammaproduct aangepast voor het uitvoeren van een dergelijke werkwijze wanneer het wordt uitgevoerd op een computersysteem, en op een computersysteem dat een dergelijk computerprogrammaproduct omvat.The present invention relates to a method of providing a graphic overlay, and to a computer program product adapted to perform such a method when it is performed on a computer system, and to a computer system comprising such a computer program product.

De onderhavige uitvinding zal in meer detail toegelicht worden voor het voorbeeld van een Microsoft Windows desktop-PC waarop een versie van Microsoft Windows draait als het O/S (bijvoorbeeld Windows XP of Windows NT of Windows 10 of Windows 12 of latere Windows-versies die dezelfde of gelijkaardige functionaliteit hebben met betrekking tot functies die relevant zijn voor de onderhavige uitvinding, zoals alfamengen en overlayen), en waarop één of meerdere applicaties draait, geselecteerd uit de groep bestaande uit: een webbrowser-applicatie, een spreadsheetapplicatie, een PDF-documentviewer, een PDF-documenteditor, een tekstviewer en een teksteditor; maar de uitvinding is daartoe niet beperkt, en kan ook gebruikt worden op andere rekenapparaten, zoals bijvoorbeeld een Apple-computer, of op draagbare apparaten zoals smartphones, waarop respectievelijke besturingssystemen en applicaties draaien.The present invention will be explained in more detail for the example of a Microsoft Windows desktop PC running a version of Microsoft Windows as the O / S (e.g. Windows XP or Windows NT or Windows 10 or Windows 12 or later Windows versions have the same or similar functionality with respect to functions relevant to the present invention, such as alpha blending and overlay), and running one or more applications selected from the group consisting of: a web browser application, a spreadsheet application, a PDF document viewer , a PDF document editor, a text viewer and a text editor; but the invention is not limited thereto, and may also be used on other computing devices, such as, for example, an Apple computer, or on portable devices, such as smartphones, running respective operating systems and applications.

Verwijzende naar de figuren,Referring to the figures,

FIG. 1 toont een schematisch blokdiagram van een klassiek computersysteem 100 dat een computerinrichting 101 omvat, verbonden met een toetsenbord 102 en een muis 103 als invoerinrichtingen, en met een monitor of display of scherm 104 als uitvoerinrichting. De computerinrichting 101 omvat verder doorgaans opslagcomponenten (bv. in de vorm vanFIG. 1 shows a schematic block diagram of a classic computer system 100 that includes a computer device 101 connected to a keyboard 102 and a mouse 103 as input devices, and to a monitor or display or screen 104 as an output device. The computer device 101 further generally includes storage components (e.g., in the form of

BE2018/5637 flashgeheugen of één of meerdere harde schijven) die software opslaan (uitvoerbare machineinstructies), in het bijzonder, een besturingssysteem, device drivers (apparaatstuurprogramma's) en één of meerdere applicaties. De computerinrichting 101 omvat verder ten minste één centrale verwerkingseenheid CPU, geconfigureerd voor het uitvoeren van programma-instructies van een multitasking besturingssysteem met een grafische gebruikersinterface GUI (bijvoorbeeld MICROSOFT WINDOWS 10 verkrijgbaar van Microsoft Corporation van Redmond, Wash, US), en één of meerdere software-applicaties zoals een tekstviewer of een teksteditor (bv. Microsoft Word of Notepad (Kladblok) of WordPad) en/of een PDF-documentviewer (bv. Adobe Acrobat Reader) en/of een PDFdocumenteditor (bv. Nuance Power PDF), en/of een internetbrowser (bv. Microsoft Internet Explorer of Mozilla FireFox of Google Chrome), en/of andere applicaties.BE2018 / 5637 flash memory or one or more hard drives) that store software (executable machine instructions), in particular, an operating system, device drivers (device drivers) and one or more applications. The computer device 101 further includes at least one central processing unit CPU configured to execute program instructions of a multitasking operating system with a GUI graphical user interface (e.g. MICROSOFT WINDOWS 10 available from Microsoft Corporation of Redmond, Wash, US), and one or more software applications such as a text viewer or text editor (eg Microsoft Word or Notepad (Notepad) or WordPad) and / or a PDF document viewer (eg Adobe Acrobat Reader) and / or a PDF document editor (eg Nuance Power PDF), and / or an internet browser (eg Microsoft Internet Explorer or Mozilla FireFox or Google Chrome), and / or other applications.

Invoer vanaf het toetsenbord 102 en de muisinrichting 103 worden typisch afgehandeld door device drivers (apparaatstuurprogramma's), geconfigureerd voor het ontvangen van informatie via respectieve ingangspoorten (bv. een seriële poort of parallelle poort of USB-poort). Dergelijke computersystemen en applicatieprogramma's en device drivers zijn gekend in de stand der techniek.Inputs from the keyboard 102 and mouse device 103 are typically handled by device drivers, configured to receive information through respective input ports (e.g., a serial port or parallel port or USB port). Such computer systems and application programs and device drivers are known in the art.

In het specifieke voorbeeld van FIG. 1, genereert de computerinrichting 101 een grafisch beeld dat op het display 104 wordt weergegeven zoals aangegeven door het rechthoekige gebied 109 (enigszins verschoven ten opzichte van de displayrand getoond voor illustratieve doeleinden). Het grafisch beeld omvat beeldgedeelten gerelateerd aan een zogenoemd desktopvenster (in dit voorbeeld zichtbaar aan de linkerzijde van het scherm 104), en gerelateerd aan een applicatievenster (bv. MS Word) dat een tekstdocument toont (in dit voorbeeld aan de rechterzijde van het scherm 104). In het specifieke voorbeeld van FIG. 1, omvat het desktopvenster een afbeelding van een auto 107 en drie pictogrammen 108, waarbij elke pictogram een applicatie voorstelt, doch dit is slechts een voorbeeld. Ook getoond is een zogenoemde muisaanwijzer 199 of muiscursor die verschillende vormen kan aannemen, en die beweegt in overeenstemming met bewegingen van de muisinrichting 103, onder besturing van het besturingssysteem.In the specific example of FIG. 1, the computer device 101 generates a graphic image which is shown on the display 104 as indicated by the rectangular area 109 (slightly offset from the display edge shown for illustrative purposes). The graphic image includes image parts related to a so-called desktop window (visible in this example on the left side of the screen 104), and related to an application window (eg MS Word) showing a text document (in this example on the right side of the screen 104 ). In the specific example of FIG. 1, the desktop window includes an image of a car 107 and three icons 108, each icon representing an application, but this is only an example. Also shown is a so-called mouse pointer 199 or mouse cursor which can take various shapes and moves in accordance with movements of the mouse device 103 under control of the operating system.

FIG. 2 is een schematische voorstelling van een mogelijke Z-orde van drie vensters of beeldvlakken 281, 282, 283 die gebruikt kunnen worden in het computersysteem van FIG. 1, om het gecombineerde beeld 109 te verkrijgen dat getoond wordt op het display 104 van FIG. 1. Het eerste venster 281 met de laagste Z-orde Z1 wordt het desktopvenster genoemd, en wordt doorgaans door het besturingssysteem gegenereerd. Het tweede venster 282 met een tweede Z-orde Z2 hoger dan Z1 is geassocieerd met applicatie 105, (in het voorbeeld MS Word), en geeft alfanumerieke of tekstuele informatie 106 weer. Het derde venster 283 met een Z-orde Z3 hoger dan Z2 wordt hierin de muisbitmap 199 genoemd. In het voorbeeld is de muisbitmap 199 voorgesteld door een relatief klein venster 283, bv. met een rechthoekige vorm van ongeveer 18x22 pixels, of een vierkante vorm van 32x32 pixels, omvattende een veelheid eerste pixels P1 die een witte pijl met een zwarte rand toont,FIG. 2 is a schematic representation of a possible Z-order of three windows or image planes 281, 282, 283 that can be used in the computer system of FIG. 1, to obtain the combined image 109 shown on the display 104 of FIG. 1. The first window 281 with the lowest Z-order Z1 is called the desktop window, and is usually generated by the operating system. The second window 282 with a second Z-order Z2 higher than Z1 is associated with application 105, (in the example MS Word), and displays alphanumeric or textual information 106. The third window 283 with a Z-order Z3 higher than Z2 is referred to herein as the mouse bitmap 199. In the example, the mouse bitmap 199 is represented by a relatively small window 283, e.g. with a rectangular shape of about 18x22 pixels, or a square shape of 32x32 pixels, comprising a plurality of first pixels P1 showing a white arrow with a black border,

BE2018/5637 omgeven of gedeeltelijk omgeven door een veelheid tweede pixels P2 die volledig transparante pixels zijn. Het desktopbeeld 281 en het applicatiebeeld 282 zijn doorgaans ondoorzichtige beelden. De drie beeldvlakken 281, 282, 283 worden op gekende wijzen gecombineerd, resulterend in het gecombineerde beeld dat getoond wordt op het display 104. Dit gecombineerde beeld kan bijvoorbeeld vastgelegd worden gebruikmakende van een welgekende print-scherm functie.BE2018 / 5637 surrounded or partially surrounded by a plurality of second pixels P2 which are completely transparent pixels. The desktop image 281 and the application image 282 are usually opaque images. The three image planes 281, 282, 283 are combined in known ways, resulting in the combined image shown on display 104. This combined image can be captured, for example, using a well-known print screen function.

FIG. 3 toont een schematisch blokdiagram van een computersysteem 300 dat dezelfde hardwareconfiguratie kan hebben als het systeem 100 van FIG. 1. Het systeem 300 heeft opslagcomponenten die uitvoerbare instructies opslaan van een besturingssysteem met een grafische gebruikersinterface (bv. Windows 10) en een teksteditorapplicatie (bv. MS Word), en met een specifieke overlay-applicatie, gekend in de stand der techniek als LineReader (dat op het moment van het schrijven van dit document gedownload kan worden van http://www.iconico.com/lineReader/). De overlay-applicatie toont een semi-transparante lijn 310 die bewegingen van de muisaanwijzer 399 volgt. De lijn 310 kan door een gebruiker gebruikt worden om tekstfragmenten 306 te onderlijnen. In feite heeft LineReader ook een gebruikersinterface, maar dat aspect is niet relevant voor de onderhavige uitvinding en wordt derhalve niet getoond of verder besproken.FIG. 3 shows a schematic block diagram of a computer system 300 which may have the same hardware configuration as the system 100 of FIG. 1. The system 300 has storage components that store executable instructions from an operating system with a graphical user interface (eg Windows 10) and a text editor application (eg MS Word), and with a specific overlay application known in the art as LineReader (which can be downloaded at http://www.iconico.com/lineReader/ at the time of writing this document). The overlay application shows a semi-transparent line 310 that follows movements of the mouse pointer 399. Line 310 can be used by a user to underline text fragments 306. In fact, LineReader also has a user interface, but that aspect is not relevant to the present invention and is therefore not shown or discussed further.

FIG. 4 is een schematische voorstelling van een mogelijke Z-orde van vier vensters of beeldvlakken 481-484 die gebruikt kunnen worden in het computersysteem 300 van FIG. 3, om het gecombineerde beeld 309 te verkrijgen dat getoond wordt op het display 304 van FIG. 3. Voor zover de uitvinders bekend, is FIG. 4 niet publiek beschikbaar in de stand der techniek, maar is een vermoedelijke implementatie.FIG. 4 is a schematic representation of a possible Z-order of four windows or image planes 481-484 that can be used in the computer system 300 of FIG. 3, to obtain the combined image 309 shown on the display 304 of FIG. 3. As far as the inventors are aware, FIG. 4 is not publicly available in the prior art, but is a likely implementation.

Het eerste venster 481 op Z1 wordt het desktopvenster genoemd. Het tweede venster 482 op Z2 is geassocieerd met applicatie 305, (in het voorbeeld MS Word) en geeft alfanumerieke of tekstuele informatie 306 weer. Een derde venster 483 is geassocieerd met de LineReader-applicatie en heeft Z-orde Z3 hoger dan Z2 van de teksteditor-applicatie 305. De muisbitmap of het muisbeeldvlak 399 is gesitueerd in venster 484 met Z-orde Z4 hoger dan Z3.The first window 481 on Z1 is called the desktop window. The second window 482 on Z2 is associated with application 305, (in the example MS Word) and displays alphanumeric or textual information 306. A third window 483 is associated with the LineReader application and has Z order Z3 higher than Z2 of the text editor application 305. The mouse bitmap or mouse image plane 399 is located in window 484 with Z order Z4 higher than Z3.

Het desktopbeeld 481 en het applicatiebeeld 482 zijn doorgaans ondoorzichtige beelden. Het venster 483 bevat een kleine lijn of balk 310, en is geconfigureerd in doorklikmodus en in semitransparante modus met een configureerbare alfamengingswaarde die het mogelijk maakt om het transparantieniveau van de lijn of balk 310 te wijzigen. Zoals in FIG. 2 heeft het muisbeeldvlak 484 eerste pixels P1 die een witte pijl met een zwarte rand tonen, ten minste gedeeltelijk omgeven door een veelheid tweede pixels P2 die volledig transparante pixels zijn. De vier beeldvlakken 481-484 worden op gekende wijzen gecombineerd, resulterend in het gecombineerde beeld 309 dat getoondThe desktop image 481 and the application image 482 are usually opaque images. The window 483 includes a small line or bar 310, and is configured in click-through mode and in semi-transparent mode with a configurable alpha blend value that allows to change the transparency level of the line or bar 310. As shown in FIG. 2, the mouse image plane 484 has first pixels P1 showing a white arrow with a black border at least partially surrounded by a plurality of second pixels P2 which are completely transparent pixels. The four image planes 481-484 are combined in known ways, resulting in the combined image 309 shown

BE2018/5637 wordt op het display 304. Een gedeelte van de balk is vergroot weergegeven, om te tonen dat alle pixels P3 van de lijn 310 dezelfde kleur hebben, bijvoorbeeld rood of blauw.BE2018 / 5637 is shown on the display 304. Part of the bar is shown enlarged to show that all pixels P3 of the line 310 have the same color, for example red or blue.

FIG. 5 toont een schematisch blokdiagram van een computersysteem 500 gelijkend op dat van FIG. 1 wanneer het een besturingssysteem O/S en twee applicaties draait: een teksteditor en een specifieke overlay-applicatie gekend in de stand der techniek als F.Lux, (dat op het moment van het schrijven van dit document onder andere gedownload kan worden van https://www.microsoft.com/en-us/store/p/flux/9n9kdphv91jt), dat een semi-transparant schermvullend overlayvenster toont, en dat volgens dezelfde website werd gecreëerd in 2008, hetgeen bijna een decennium geleden is.FIG. 5 shows a schematic block diagram of a computer system 500 similar to that of FIG. 1 when running an operating system O / S and two applications: a text editor and a specific overlay application known in the art as F.Lux, (which at the time of writing this document can be downloaded from https : //www.microsoft.com/en-us/store/p/flux/9n9kdphv91jt), which shows a semi-transparent full-screen overlay window, created according to the same website in 2008, which is almost a decade ago.

FIG. 6 is een schematische voorstelling van een mogelijke Z-orde van vier vensters of beeldvlakken 681-684 die gebruikt kunnen worden in het computersysteem van FIG. 5, om het gecombineerde beeld 509 te verkrijgen dat getoond wordt op het display 504 van FIG. 5. Voor zover de uitvinders bekend, is FIG. 5 niet publiek beschikbaar in de stand der techniek, maar is een vermoedelijke implementatie.FIG. 6 is a schematic representation of a possible Z-order of four windows or image planes 681-684 that can be used in the computer system of FIG. 5, to obtain the combined image 509 shown on the display 504 of FIG. 5. As far as the inventors know, FIG. 5 is not publicly available in the prior art, but is a likely implementation.

Het eerste venster 681 op Z1 wordt het desktopvenster genoemd. Het tweede venster 682 op Z2 is geassocieerd met applicatie 505 (in het voorbeeld MS Word) en geeft alfanumerieke of tekstuele informatie 506 weer. Een derde venster 683 op hoogte Z3 is geassocieerd met de F.Luxapplicatie en heeft Z-orde Z3 hoger dan Z2 van de teksteditorapplicatie 505. De muisbitmap of het muisbeeldvlak 599 is gesitueerd in venster 684 met Z-orde Z4 hoger dan Z3.The first window 681 on Z1 is called the desktop window. The second window 682 on Z2 is associated with application 505 (in the example MS Word) and displays alphanumeric or textual information 506. A third window 683 at height Z3 is associated with the F.Lux application and has Z order Z3 higher than Z2 of the text editor application 505. The mouse bitmap or mouse image plane 599 is located in window 684 with Z order Z4 higher than Z3.

Het desktopbeeld 681 en het applicatiebeeld 682 zijn doorgaans ondoorzichtige beelden. Voor zover als bekend bij de uitvinders van de onderhavige uitvinding, bevat het venster 683 een monochrome bitmap met pixels P4 die alle dezelfde kleur hebben. Het venster 683 is geconfigureerd in doorklikmodus (d.w.z. dat het O/S alle muis-events naar onderliggende lagen stuurt, in dit voorbeeld: naar het desktopvenster 681 of naar het teksteditorvenster 682, afhankelijk van de positie van de muiscursor) en is geconfigureerd in semi-transparante modus met een configureerbare alfamengingswaarde. Zoals in FIG. 2 heeft het muisbeeldvlak 684 eerste pixels P1 die een witte pijl met een zwarte rand tonen, ten minste gedeeltelijk omgeven door een veelheid tweede pixels P2 die volledig transparante pixels zijn. De vier beeldvlakken 681-684 worden op gekende wijzen gecombineerd, resulterend in het gecombineerde beeld 509 dat getoond wordt op het display 504.The desktop image 681 and the application image 682 are usually opaque images. As far as known to the inventors of the present invention, the window 683 contains a monochrome bitmap with pixels P4 all of the same color. The window 683 is configured in click-through mode (ie it sends O / S all mouse events to underlying layers, in this example: to the desktop window 681 or to the text editor window 682 depending on the position of the mouse cursor) and is configured in semi -transparent mode with a configurable alpha blend value. As shown in FIG. 2, the mouse image plane 684 has first pixels P1 showing a white arrow with a black border at least partially surrounded by a plurality of second pixels P2 which are completely transparent pixels. The four image planes 681-684 are combined in known ways, resulting in the combined image 509 shown on the display 504.

Het computersysteem van FIG. 3 (met de LineReader-applicatie) kan behulpzaam zijn voor een gebruiker bij het lezen van tekstuele informatie op het scherm, maar is niet ideaal bij het extraheren van informatie uit tabellen, of bij het bewerken van een werkblad.The computer system of FIG. 3 (with the LineReader application) can assist a user in reading textual information on the screen, but is not ideal for extracting information from tables or editing a worksheet.

BE2018/5637BE2018 / 5637

FIG. 7 toont een schematisch blokdiagram van een computersysteem 700 volgens een uitvoeringsvorm van de onderhavige uitvinding. Het computersysteem omvat een computerinrichting 701, en een toetsenbord 702 en een aanwijsinrichting of positie-inrichting 703 (bv. een muisinrichting of een touchpad of een joystick) en een display 704 verbonden met de genoemde computerinrichting 701.FIG. 7 shows a schematic block diagram of a computer system 700 according to an embodiment of the present invention. The computer system includes a computer device 701, and a keyboard 702 and a pointing or position device 703 (e.g., a mouse device or a touch pad or a joystick) and a display 704 connected to said computer device 701.

De computerinrichting 701 omvat een opslaginrichting (niet getoond) of een geheugeninrichting (niet getoond) die een besturingssysteem O/S met een grafische gebruikersinterface GUI omvat (bijvoorbeeld Windows XP of Windows NT of Windows 10 of Windows 12 of latere versies van Windows), en ten minste één applicatie geselecteerd uit de groep bestaande uit: een webbrowser-applicatie, een spreadsheet-applicatie, een PDF-documentviewer, een PDFdocumenteditor, een tekstviewer en een teksteditor.The computer device 701 includes a storage device (not shown) or a memory device (not shown) that includes an operating system O / S with a graphical user interface GUI (e.g., Windows XP or Windows NT or Windows 10 or Windows 12 or later versions of Windows), and at least one application selected from the group consisting of: a web browser application, a spreadsheet application, a PDF document viewer, a PDF document editor, a text viewer, and a text editor.

De computerinrichting 701 omvat verder een overlay-applicatie die een semi-transparant overlayvenster 883 toont dat ten minste twee semi-transparante elementen omvat: i) een horizontale lijn 721 of balk, en ii) een verticale lijn 722 of balk. De horizontale lijn 721 strekt zich bij voorkeur uit over nagenoeg de ganse breedte Wo van het overlayvenster 883, welke bij voorkeur gelijk is aan de breedte Wd van het pixelgebied of van het werkgebied van het scherm. De verticale lijn 722 of balk strekt zich bij voorkeur in hoofdzaak uit over de ganse hoogte Ho van het overlayvenster 883, welke bij voorkeur gelijk is aan de hoogte Hd van het pixelgebied of van het werkgebied van het scherm, ongeacht de werkelijke grootte van een of ander onderliggend applicatievenster 705 (bv. MS Excel). De overlay-applicatie, ook al is deze geconfigureerd in doorklikmodus, zorgt ervoor dat de horizontale lijnThe computer device 701 further includes an overlay application showing a semi-transparent overlay window 883 that includes at least two semi-transparent elements: i) a horizontal line 721 or beam, and ii) a vertical line 722 or beam. The horizontal line 721 preferably extends over substantially the entire width Wo of the overlay window 883, which is preferably equal to the width Wd of the pixel area or the working area of the screen. The vertical line 722 or beam preferably extends substantially over the entire height Ho of the overlay window 883, which is preferably equal to the height Hd of the pixel area or the working area of the screen, regardless of the actual size of one or more another underlying application window 705 (eg MS Excel). The overlay application, even though it is configured in click-through mode, ensures the horizontal line

721 en de verticale lijn 722 bewegen in overeenstemming met bewegingen van de invoerinrichting 703, of meer specifiek, dat de horizontale lijn 721 in overeenstemming met de Y-coördinaat van de muisaanwijzer 799 beweegt en dat de verticale lijn 722 in overeenstemming met de X-coördinaat van de muisaanwijzer 799 beweegt. Bij voorkeur zijn de horizontale lijn 721 en de verticale lijn 722 zodanig gepositioneerd dat de muisaanwijzer 799 zich ten minste gedeeltelijk op zowel de horizontale lijn 721 als de verticale lijn 722 bevindt, bijvoorbeeld zodanig dat het puntig uiteinde van de muisaanwijzer 799 zich in of nabij het midden van de rechthoekige kruising van de horizontale lijn 721 en de verticale lijn721 and the vertical line 722 move in accordance with movements of the input device 703, or more specifically, that the horizontal line 721 moves in accordance with the Y coordinate of the mouse pointer 799 and the vertical line 722 in accordance with the X coordinate of the mouse pointer 799 moves. Preferably, the horizontal line 721 and the vertical line 722 are positioned such that the mouse pointer 799 is at least partially on both the horizontal line 721 and the vertical line 722, for example such that the pointed end of the mouse pointer 799 is in or near the center of the rectangular intersection of the horizontal line 721 and the vertical line

722 bevindt. In eenvoudige termen uitgedrukt, verschaft deze uitvoeringsvorm een overlay-applicatie met een semi-transparant kruis dat mee beweegt met de muisaanwijzer 799.722. In simple terms, this embodiment provides an overlay application with a semi-transparent cross that moves with the mouse pointer 799.

FIG. 8 is een schematische voorstelling van een mogelijke Z-orde van vier vensters of beeldvlakken 881-884 die gebruikt kunnen worden in het computersysteem 700 van FIG. 7, om het gecombineerde beeld 709 te verkrijgen dat getoond wordt op het display 704 van FIG. 7.FIG. 8 is a schematic representation of a possible Z-order of four windows or image planes 881-884 that can be used in the computer system 700 of FIG. 7, to obtain the combined image 709 shown on the display 704 of FIG. 7.

Het eerste venster 881 op hoogte Z1 wordt het desktopvenster genoemd. Het tweede venster 882 op Z2, groter dan Z1, is geassocieerd met applicatie 705 (in het voorbeeld MS Excel), dat doorgaans alfanumerieke en/of tekstuele informatie presenteert, georganiseerd in rijen en kolommen.The first window 881 at height Z1 is called the desktop window. The second window 882 on Z2, larger than Z1, is associated with application 705 (in the example MS Excel), which typically presents alphanumeric and / or textual information organized in rows and columns.

BE2018/5637BE2018 / 5637

Een derde venster 883 is geassocieerd met een overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding, en heeft een Z-orde Z3 hoger dan Z2 van de spreadsheet-applicatie 705. De muisbitmap of het muisbeeldvlak 799 verschaft door het O/S met grafische gebruikersinterface GUI is gesitueerd in venster 884 op Z4, hoger dan Z3.A third window 883 is associated with an overlay application according to an embodiment of the present invention, and has a Z order Z3 higher than Z2 of the spreadsheet application 705. The mouse bitmap or mouse image plane 799 provided by the O / S with graphics GUI user interface is located in window 884 on Z4, higher than Z3.

Het desktopbeeld 881 en het applicatiebeeld 882 zijn doorgaans ondoorzichtige beelden. Het venster 883 verschaft een in hoofdzaak schermvullende overlay, geconfigureerd in doorklikmodus en ook geconfigureerd in semi-transparante modus met een configureerbare alfamengingswaarde α (ook alfatransparantie genoemd) in het bereik van 5% tot 95%, of van 10% tot 90% of van 20% tot 80%, of van 30% tot 70%, waarbij α=0% betekent dat de lijn volledig transparant is, en α=100% betekent dat de lijn volledig ondoorzichtig is. De waarde van α hoort niet te laag te zijn, omdat het kruis anders bijna onzichtbaar is, en moeilijk te vinden is. De waarde van α hoort niet te hoog te zijn, omdat het kruis anders bijna ondoorzichtig is, en de informatie onder het kruis verduistert. De vakman en/of de gebruiker kan geschikte waarden vinden.The desktop image 881 and the application image 882 are usually opaque images. Window 883 provides a substantially full-screen overlay, configured in click-through mode and also configured in semi-transparent mode with a configurable alpha blend value α (also called alpha transparency) ranging from 5% to 95%, or from 10% to 90% or from 20% to 80%, or from 30% to 70%, where α = 0% means that the line is completely transparent, and α = 100% means that the line is completely opaque. The value of α should not be too low, because otherwise the cross is almost invisible and difficult to find. The value of α should not be too high, because otherwise the cross is almost opaque, and the information under the cross is obscured. The skilled person and / or the user can find suitable values.

Bij voorkeur heeft de overlay-applicatie ook een ander venster (niet getoond in FIG. 7 en FIG. 8, maar zie bijvoorbeeld FIG. 35 voor een voorbeeld) als een gebruikersinterface. Dit gebruikersinterface-venster bevindt zich dan bij voorkeur hoger dan Z3 van het doorklikvenster 883. Bij voorkeur maakt dit gebruikersinterface-venster het mogelijk om verschillende kenmerken van het kruis te selecteren, zoals bijvoorbeeld: kleur, breedte van de lijnen die het kruis vormen en transparantieniveau.Preferably, the overlay application also has another window (not shown in FIG. 7 and FIG. 8, but see, for example, FIG. 35 for an example) as a user interface. This user interface window is then preferably higher than Z3 of the click-through window 883. Preferably, this user interface window makes it possible to select different features of the cross, such as for example: color, width of the lines forming the cross and transparency level. .

Terug verwijzend naar FIG. 8, is een meerderheidsgedeelte van het semi-transparante vensterReferring back to FIG. 8, is a majority portion of the semi-transparent window

883 ingenomen door volledig transparante pixels P5. Een minderheidsgedeelte van het semitransparante venster 883 is ingenomen door de beweegbare horizontale lijn 721 en de beweegbare verticale lijn 722. De lijnen 721, 722 kunnen geïmplementeerd worden als zuiver rechthoekige gebieden, met of zonder een rand (bv. een zwarte rand), en met of zonder afgeronde randen, en met of zonder afgeronde hoeken, en met of zonder andere kenmerken. De lijnen 721, 722 kunnen monochrome pixels omvatten, of kunnen een kleurgradiënt omvatten. Bij voorkeur is de kleur van beide lijnen dezelfde, en instelbaar of selecteerbaar. In voorkeursuitvoeringsvormen zijn de hoogte hh van de horizontale lijn 721, en de breedte ww van de verticale lijn 722 aanpasbaar. De waarde van hh en ww zijn bij voorkeur gelijk (hetgeen de gebruikersinstellingen vereenvoudigt), maar dat is niet absoluut vereist. Zoals in FIG. 2 heeft het muisbeeldvlak 884 eerste pixels P1 die een witte pijl met een zwarte rand tonen, ten minste gedeeltelijk omgeven door een veelheid tweede pixels P2 die volledig transparante pixels zijn. De opeenstapeling van vier beeldvlakken 881 tot 884 wordt op gekende wijzen gecombineerd, resulterend in het gecombineerde beeld 709 dat getoond wordt op het display 704.883 occupied by fully transparent pixels P5. A minority portion of the semi-transparent window 883 is occupied by the movable horizontal line 721 and the movable vertical line 722. The lines 721, 722 can be implemented as purely rectangular areas, with or without a border (eg a black border), and with or without rounded edges, and with or without rounded corners, and with or without other characteristics. Lines 721, 722 can include monochrome pixels, or can include a color gradient. Preferably, the color of both lines is the same, and adjustable or selectable. In preferred embodiments, the height hh of the horizontal line 721, and the width ww of the vertical line 722 are adjustable. The values of hh and ww are preferably the same (which simplifies the user settings), but this is not absolutely required. As shown in FIG. 2, the mouse image plane 884 has first pixels P1 showing a white arrow with a black border at least partially surrounded by a plurality of second pixels P2 which are completely transparent pixels. The stacking of four image planes 881 to 884 is combined in known ways, resulting in the combined image 709 shown on the display 704.

Deze overlay-applicatie is uitermate geschikt voor het vinden van een correcte cel, omdat de horizontale lijn 721 en de verticale lijn 722 zich boven de respectievelijke rij-hoofdingen en kolom42This overlay application is ideal for finding a correct cell, because the horizontal line 721 and the vertical line 722 are above the respective row headings and column42

BE2018/5637 hoofdingen uitstrekken. Dit laat een gebruiker toe om onmiddellijk te zien of de muisaanwijzer op of boven de correcte cel gepositioneerd is of niet, zonder op enige kolom-hoofdingen en/of rijhoofdingen te hoeven klikken. Deze overlay-applicatie kan gezien worden als een uitermate bruikbare add-on (aanvulling) voor spreadsheet-applicaties, maar kan ook gebruikt worden bij het extraheren van informatie uit tabellen gepresenteerd op webpagina's. Het tool (hulpmiddel) is vooral bruikbaar op hoge-resolutieschermen (met een resolutie van ten minste 1920 x 1080 pixels).BE2018 / 5637 headings. This allows a user to immediately see whether the mouse pointer is positioned on or above the correct cell or not, without having to click on any column headings and / or row headings. This overlay application can be seen as an extremely useful add-on (addition) to spreadsheet applications, but can also be used in extracting information from tables presented on web pages. The tool is especially useful on high-resolution screens (with a resolution of at least 1920 x 1080 pixels).

Het tool kan de cognitieve last drastisch verlagen van een gebruiker die een bepaalde cel tracht te vinden welke zich op de kruising bevindt van een bepaalde rij (met een bepaalde rij-hoofding) en een bepaalde kolom (met een bepaalde kolom-hoofding). Zonder het overlayhulpmiddel met het semi-transparante kruis klikken veel gebruikers eerst voorlopig op een cel in de nabijheid van waar zij denken dat de doelcel zich waarschijnlijk bevindt, en daarna verifiëren zij of de correcte cel werd geselecteerd door te beginnen vanaf de geselecteerde cel (die na het klikken gemarkeerd wordt) en dan zijn of haar ogen horizontaal naar de rij-hoofdingen te bewegen trachtend in dezelfde rij als de geselecteerde cel te blijven, en indien de rij niet correct is, op de cel hoger dan of lager dan de geselecteerde cel te klikken, en het proces te herhalen, en dan een vergelijkbare controle uit te voeren om te verifiëren of de geselecteerde cel zich in de correcte kolom bevindt door opnieuw vanaf de geselecteerde cel te vertrekken, en zijn of haar ogen omhoog te bewegen, naar de kolom-hoofdingen, en als blijkt dat de kolom niet correct is, een cel links of rechts van de geselecteerde cel te selecteren, en optioneel de uiteindelijk geselecteerde cel te dubbel-checken. Dit kost tijd en is zeer foutgevoelig. Het is uiteraard mogelijk om andere wijzen te gebruiken, bv. door panning, of door een bepaalde kolom te selecteren door op de kolom-hoofding te klikken, of door gebruik te maken van freeze panes (een functie in Excel om een bepaald aantal rijen en/of kolommen te blokkeren), maar dit kost eveneens tijd, en introduceert het risico van het onopzettelijk wijzigen van de hoogte van een rij, of de breedte van een kolom etc. Daarentegen, met het overlaytool voorgesteld in FIG. 7, kan de gebruiker eenvoudig het kruis bewegen om boven de correcte rij-hoofding en kolom-hoofding gepositioneerd te worden, en dan te klikken om rechtstreeks de correcte cel te selecteren. Bovendien maakt het tool het mogelijk om snel de geselecteerde positie te dubbel-checken door zijn of haar ogen onmiddellijk naar de rij-hoofdingen en kolom-hoofdingen te bewegen, zonder te moeten trachten in dezelfde rij of dezelfde kolom te blijven.The tool can drastically reduce the cognitive load of a user attempting to find a particular cell located at the intersection of a particular row (with a particular row heading) and a particular column (with a particular column heading). Without the semi-transparent cross overlay tool, many users first temporarily click a cell near where they think the target cell is likely to be, then verify that the correct cell was selected starting from the selected cell (which after clicking is highlighted) and then move his or her eyes horizontally to the row headers trying to stay in the same row as the selected cell, and if the row is not correct, on the cell above or below the selected cell and repeat the process, and then perform a similar check to verify that the selected cell is in the correct column by starting again from the selected cell and moving his or her eyes up to the column headings, and if the column is not correct, select a cell to the left or right of the selected cell, and optionally select the finally selected cell double check. This takes time and is very error prone. It is of course possible to use other modes, e.g. by panning, or by selecting a specific column by clicking on the column heading, or by using freeze panes (a function in Excel to set a specific number of rows and / or columns), but this also takes time, and introduces the risk of inadvertently changing the height of a row, or the width of a column, etc. On the other hand, with the overlay tool shown in FIG. 7, the user can simply move the cross to be positioned above the correct row heading and column heading, and then click to directly select the correct cell. In addition, the tool makes it possible to quickly double-check the selected position by immediately moving his or her eyes to the row headings and column headings, without attempting to remain in the same row or column.

Hoewel geen objectieve evaluatietesten zijn uitgevoerd, wordt verwacht dat het overlaytool de prestaties en/of de concentratie kan helpen verbeteren voor mensen die veelvuldig met spreadsheets werken, en/of dat het risico van het extraheren of invoegen van informatie uit/in een incorrecte cel drastisch wordt verminderd.Although no objective evaluation tests have been performed, the overlay tool is expected to help improve performance and / or concentration for people who frequently work with spreadsheets, and / or the risk of extracting or inserting information from / into an incorrect cell drastically is reduced.

De uitvinders van de onderhavige uitvinding zijn van mening dat het niet voor de hand ligt of triviaal is om tot deze oplossing te komen, wanneer men ter dege rekening houdt met het feit datThe inventors of the present invention believe that it is not obvious or trivial to arrive at this solution, if due account is taken of the fact that

BE2018/5637 meer dan 100 miljoen mensen dagelijks gedurende bijna twee decennia gebruikmaken van spreadsheets. Indien de hierin voorgestelde oplossing voor de hand zou liggen, dan zou deze reeds vele jaren alom beschikbaar zijn.BE2018 / 5637 More than 100 million people use spreadsheets every day for almost two decades. If the solution proposed herein were obvious, it would have been widely available for many years.

In plaats van een venster 883 te verschaffen met volledig transparante pixels P5 en twee beweegbare objecten in de vorm van een horizontale lijn 721 en een verticale lijn 722, kan hetzelfde visuele effect ook op andere wijzen geïmplementeerd worden, bijvoorbeeld door het verschaffen van een venstervlak 883 met een schermvullende bitmap met pixels met de kleur van het kruis (bv. rood), en door bovenop deze schermvullende bitmap vier andere bitmaps te plaatsen, die zich elk uitstrekken van één van de vier hoeken en die volledig transparante pixels hebben, en door het aanpassen van de breedte en de hoogte van elk van deze vier rechthoeken in overeenstemming met de cursorpositie 799, of in overeenstemming met bewegingen van de aanwijsinrichting 703, teneinde het kruis te emuleren als het gebied dat niet door de vier rechthoekige bitmaps wordt geoverlayed; of op andere geschikte manieren.Instead of providing a window 883 with fully transparent pixels P5 and two movable objects in the form of a horizontal line 721 and a vertical line 722, the same visual effect can also be implemented in other ways, for example by providing a window plane 883 with a full screen bitmap with pixels of the color of the cross (e.g. red), and by placing on top of this full screen bitmap four other bitmaps, each of which extends from one of the four corners and which have completely transparent pixels, and by adjusting the width and height of each of these four rectangles according to the cursor position 799, or according to movements of the pointer 703, to emulate the cross as the area not overlayed by the four rectangular bitmaps; or in other suitable ways.

Het computersysteem van FIG. 3 (met de LineReader-applicatie) kan helpen bij het lezen van tekstuele informatie, maar helpt niet om oogvermoeidheid te verminderen die bijvoorbeeld veroorzaakt wordt door een helder witte achtergrond. Het computersysteem van FIG. 5 (met de F.Lux-overlay-applicatie) kan helpen om oogvermoeidheid te verminderen, maar verschaft geen lijn of balk om tekst te onderlijnen. Het zou handig zijn om één enkele overlay-applicatie te hebben die beide functies tegelijkertijd biedt.The computer system of FIG. 3 (with the LineReader application) can assist in reading textual information, but does not help reduce eye fatigue caused by, for example, a bright white background. The computer system of FIG. 5 (with the F.Lux overlay application) can help reduce eye fatigue, but does not provide a line or bar to underline text. It would be helpful to have a single overlay application that offers both functions at the same time.

Voor zover als bekend bij de uitvinders, is er thans geen computer-applicatie-tool op de markt beschikbaar dat een overlay verschaft die het gelijktijdig (1) mogelijk maakt om de helderheid van een heldere (bv. witte) achtergrond te verminderen, en (2) die een semi-transparante lijn of een semitransparant kruis toont die muisbewegingen volgt. Initiële experimenten hebben getoond dat een loutere combinatie van de overlayvlakken getoond in FIG. 4 en in FIG. 6 geen acceptabele resultaten oplevert, zoals begrepen kan worden uit FIG. 13(d) tot FIG. 13(e), vanwege conflicterende vereisten. Inderdaad, opdat de tekstinformatie van het onderliggend document eenvoudig leesbaar is (bv. door voldoende contrast te behouden), moet het transparantieniveau van het derde venster 883 voldoende hoog zijn (bv. T>=80% of α<=20% in FIG. 13(d) tot FIG. 13(e)). Tegelijkertijd, opdat de lijn eenvoudig herkenbaar is en tegelijk de tekst onder de lijn leesbaar is, moet het transparantieniveau van het derde venster 883 voldoende laag zijn (bv. T in het bereik van 30% tot 70%). Over de exacte cijfers kan gediscussieerd worden, maar de deskundige lezer zal het ermee eens zijn (na het implementeren van de hierboven beschreven werkwijze op een computer) dat er geen acceptabele of aantrekkelijke combinatie kan gevonden worden, of althans dat een dergelijke oplossing een zwaar compromis is.As far as known to the inventors, there is currently no computer application tool available on the market that provides an overlay that simultaneously allows (1) to reduce the brightness of a bright (e.g. white) background, and ( 2) showing a semi-transparent line or a semi-transparent cross that follows mouse movements. Initial experiments have shown that a mere combination of the overlay faces shown in FIG. 4 and in FIG. 6 does not yield acceptable results, as can be understood from FIG. 13 (d) to FIG. 13 (e), due to conflicting requirements. Indeed, for the text information of the underlying document to be easily readable (eg by maintaining sufficient contrast), the transparency level of the third window 883 must be sufficiently high (eg T> = 80% or α <= 20% in FIG. 13 (d) to Fig. 13 (e)). At the same time, for the line to be easily recognizable and the text below the line to be readable at the same time, the transparency level of the third window 883 should be low enough (eg T in the range from 30% to 70%). The exact figures can be discussed, but the expert reader will agree (after implementing the method described above on a computer) that no acceptable or attractive combination can be found, or at least such a solution is a serious compromise is.

Er is een behoefte naar een werkwijze om tegelijk de helderheid van een heldere achtergrond te verminderen en een semi-transparante lijn of een semi-transparant kruis te tonen die/datThere is a need for a method to simultaneously reduce the brightness of a bright background and display a semi-transparent line or a semi-transparent cross that

BE2018/5637 muisbewegingen volgt. De combinatie behoort op een zodanige wijze gerealiseerd te worden dat (1) tekstinformatie goede leesbaarheid behoudt, zowel tekstinformatie die door de lijn wordt geoverlayed, alsook tekstinformatie die niet door de lijn wordt geoverlayed, en dat (2) de semitransparante lijn eenvoudig van de achtergrond kan onderscheiden worden, maar die toch voldoende transparant is om de leesbaarheid van de tekst onder de lijn te behouden.BE2018 / 5637 mouse movements will follow. The combination should be designed in such a way that (1) text information retains good readability, both text information overlaid by the line and text information not overlaid by the line, and (2) the semitransparent line simply from the background can be distinguished, but is still sufficiently transparent to maintain the legibility of the text below the line.

De onderhavige uitvinding beantwoordt deze behoefte door zowel een hoog niveau van transparantie (hoge T, lage α) te verschaffen voor de (bv. schermvullende) bitmap, alsook tegelijkertijd een laag niveau van transparantie (lage T, hoge α) te verschaffen voor de lijn, door de bitmap te perforeren, bijvoorbeeld zoals geïllustreerd in FIG. 10 en FIG. 29. Met een geperforeerde bitmap wordt bedoeld een bitmap met een eerste veelheid pixels P6 die volledig transparant zijn (bv. een pseudo-kleurwaarde hebben), en met een tweede veelheid pixels P7 die één of meerdere echte kleurwaarden hebben. De pixels P7 zullen alfagemengd worden met onderliggende lagen. Zoals begrepen kan worden uit FIG. 13(f) tot FIG. 13(i) verschaft deze combinatie functionele resultaten voor bijna alle transparantieniveaus van 5% tot 95% en bijna iedere kleur of intensiteit van de pixels P7, maar een voorkeursresultaat wordt verkregen voor transparantieniveaus van ongeveer 30% tot ongeveer 70%. Afhankelijk van het beoogde gebruik kan een gebruiker het transparantieniveau configureren tot een meer voorkeurhebbend niveau.The present invention addresses this need by providing both a high level of transparency (high T, low α) for the (e.g. full-screen) bitmap, and at the same time providing a low level of transparency (low T, high α) for the line , by perforating the bitmap, for example, as illustrated in FIG. 10 and FIG. 29. By a perforated bitmap is meant a bitmap with a first plurality of pixels P6 that are completely transparent (eg having a pseudo color value), and with a second plurality of pixels P7 having one or more true color values. Pixels P7 will be alpha mixed with underlying layers. As can be understood from FIG. 13 (f) to FIG. 13 (i) provides this combination of functional results for almost all transparency levels from 5% to 95% and almost any color or intensity of the pixels P7, but a preferred result is obtained for transparency levels from about 30% to about 70%. Depending on the intended use, a user can configure the transparency level to a more preferred level.

De combinatie van de twee eigenschappen semi-transparante lijn om tekstuele informatie te onderlijnen om cognitieve last te verminderen en de semi-transparante bitmap om de kleurtemperatuur te wijzigen om oogvermoeidheid te verminderen, wanneer ze gecombineerd worden, creëren een technische uitdaging gerelateerd aan hoe een semi-transparante bitmap en een semi-transparante lijn te combineren zodanig dat het transparantieniveau van de bitmap hoger is dan het transparantieniveau van de lijn. Dit levert een technisch probleem op gerelateerd aan het overlayen van beelden, het mengen van beelden, semi-transparantie, en alfamenging, hetgeen een probleem is dat in computertechnologie is geworteld, en de oplossing voorgesteld door de onderhavige uitvinding (gebruikmaken van een geperforeerde bitmap) is eveneens in computertechnologie geworteld. Deze technologie kan gebruikt worden voor het gemakkelijk lezen van tekstuele informatie op een scherm met minder oogvermoeidheid.The combination of the two properties semi-transparent line to underline textual information to reduce cognitive load and the semi-transparent bitmap to change the color temperature to reduce eye fatigue, when combined, create a technical challenge related to how a semi - to combine transparent bitmap and a semi-transparent line such that the transparency level of the bitmap is higher than the transparency level of the line. This poses a technical problem related to image overlay, image blending, semi-transparency, and alpha blending, which is a problem rooted in computer technology, and the solution proposed by the present invention (using a perforated bitmap) is also rooted in computer technology. This technology can be used to easily read textual information on a screen with less eye strain.

Voorts wordt opgemerkt dat het niet de overlay-applicatie is die tekstuele of alfanumerieke informatie genereert of weergeeft, maar de één of meerdere onderliggende applicatie(s), bv. een teksteditor, een spreadsheet, een web-browser etc. De werkwijze van het overlayen presenteert derhalve geen informatie.It is further noted that it is not the overlay application that generates or displays textual or alphanumeric information, but the one or more underlying application (s), eg a text editor, a spreadsheet, a web browser etc. The method of overlay therefore does not present any information.

Ook al kan de overlay-applicatie uitgevoerd worden op een standaardcomputer met een standaard O/S (bijvoorbeeld Windows 10 van Microsoft Corporation), verschaft de hierin voorgestelde oplossing een technisch effect gerelateerd aan twee verschillende transparantieniveaus in één enkel semi-transparant venster, welk effect alles behalve standaard is, en veel verder gaat dan louterAlthough the overlay application can be run on a standard computer with a standard O / S (e.g. Windows 10 from Microsoft Corporation), the solution proposed herein provides a technical effect related to two different levels of transparency in a single semi-transparent window, which effect is anything but standard, and goes far beyond mere

BE2018/5637 elektronen die door een transistor stromen. Verder kan ten minste een deel van de functionaliteit geïmplementeerd worden in software op de centrale verwerkingseenheid of -eenheden van het computersysteem, of kan ten minste een deel van de functionaliteit geïmplementeerd worden in een grafische verwerkingseenheid (GPU), indien aanwezig in het rekenapparaat, in het bijzonder de alfamengingsoperatie, en/of de tijdmultiplexing zoals verder beschreven zal worden bij het bespreken van FIG. 28.BE2018 / 5637 electrons flowing through a transistor. Furthermore, at least part of the functionality can be implemented in software on the central processing unit or units of the computer system, or at least part of the functionality can be implemented in a graphics processing unit (GPU), if present in the computer, in in particular the alpha blending operation, and / or the time multiplexing as will be further described when discussing FIG. 28.

FIG. 9 toont een schematisch blokdiagram van een computersysteem 900 volgens een uitvoeringsvorm van de onderhavige uitvinding. Het computersysteem 900 omvat een computerinrichting 901, en een toetsenbord 902 en een aanwijsinrichting of positie-inrichting 903 (bv. een muis of een touchpad of een joystick of een stylus) en een display 904 verbonden met de genoemde computerinrichting 901.FIG. 9 shows a schematic block diagram of a computer system 900 according to an embodiment of the present invention. The computer system 900 includes a computer device 901, and a keyboard 902 and a pointing or positioning device 903 (e.g., a mouse or a touch pad or a joystick or a stylus) and a display 904 connected to said computer device 901.

De computerinrichting 901 omvat een opslaginrichting (niet getoond) of een geheugeninrichting (niet getoond) die een besturingssysteem O/S met een grafische gebruikersinterface GUI omvat (bijvoorbeeld Windows XP of Windows NT of Windows 10), en ten minste één applicatie geselecteerd uit de groep bestaande uit: een webbrowser-applicatie, een spreadsheet-applicatie, een PDF-documentviewer, een PDF-documenteditor, een tekstviewer en een teksteditor. In plaats van opgeslagen te zijn in de computerinrichting zelve, kunnen het O/S en/of de ten minste één applicatie downloadbaar zijn vanaf een server, bv. via een netwerkinterface. (dit geldt ook voor andere uitvoeringsvormen van de onderhavige uitvinding).The computer device 901 includes a storage device (not shown) or a memory device (not shown) that includes an operating system O / S with a graphical user interface GUI (e.g. Windows XP or Windows NT or Windows 10), and at least one application selected from the group consisting of: a web browser application, a spreadsheet application, a PDF document viewer, a PDF document editor, a text viewer and a text editor. Instead of being stored in the computer device itself, the O / S and / or the at least one application can be downloadable from a server, e.g. via a network interface. (this also applies to other embodiments of the present invention).

De computerinrichting 901 omvat verder een overlay-applicatie die een semi-transparant overlayvenster 1083 toont dat ten minste twee semi-transparante elementen omvat: i) een zogenoemde geperforeerde bitmap 930 die een meerderheidsgedeelte van het overlayvenster 1083 inneemt, en ii) een blok of een lijn 910 die slechts een minderheidsgedeelte van het overlayvenster 1083 inneemt. De lijn 910 is beweegbaar overeenkomstig bewegingen van de invoerinrichting 903. In plaats van opgeslagen te zijn in de computerinrichting zelve, kan de overlay-applicatie downloadbaar zijn vanaf een server, bv. via een netwerkinterface.The computer device 901 further includes an overlay application showing a semi-transparent overlay window 1083 that includes at least two semi-transparent elements: i) a so-called perforated bitmap 930 occupying a majority portion of the overlay window 1083, and ii) a block or a line 910 which occupies only a minority portion of the overlay window 1083. The line 910 is movable in accordance with movements of the input device 903. Instead of being stored in the computer device itself, the overlay application may be downloadable from a server, e.g. via a network interface.

Het overlayvenster 1083 is geconfigureerd in doorklikmodus en in semi-transparante modus met een vooraf gedefinieerde of instelbare alfamengingswaarde α.The overlay window 1083 is configured in click-through mode and in semi-transparent mode with a predefined or adjustable alpha blend value α.

De bitmap 930 bevat een eerste veelheid pixels P6 die volledig transparant zijn, en een tweede veelheid pixels P7 met een kleurwaarde die alfagemengd zal worden met het grafisch beeld dat gevormd wordt door de opeenstapeling van onderliggende vensters (in het voorbeeld venster 1081 en 1082). In voorkeursuitvoeringsvormen is de eerste veelheid pixels P6 afwisselend gepositioneerd (geïnterleaved) met de tweede veelheid pixels P7, in een dambordpatroon, zoals getoond in FIG. 10 (zie ook FIG. 29). Dus bij voorkeur is 50% van de pixels volledig transparant, terwijl de andere 50% semi-transparant zijn. Het effect van het gebruikmaken van deze geperforeerde bitmap is dat deThe bitmap 930 includes a first plurality of pixels P6 that are completely transparent, and a second plurality of pixels P7 with a color value that will be alpha mixed with the graphic image formed by the stacking of underlying windows (in the example window 1081 and 1082). In preferred embodiments, the first plurality of pixels P6 are alternately positioned (interleaved) with the second plurality of pixels P7, in a checkerboard pattern, as shown in FIG. 10 (see also FIG. 29). So preferably 50% of the pixels are completely transparent, while the other 50% are semi-transparent. The effect of using this perforated bitmap is that the

BE2018/5637 spatiaal gemiddelde kleur van de bitmap een schijnbaar hoger niveau van transparantie heeft dan het geval zou zijn zonder de perforatie. Op deze wijze wordt de schijnbare transparantie van de bitmap 930 hoger gemaakt dan die van de lijn 910, ondanks dat beide geassocieerd zijn met hetzelfde venster 1083 dat slechts één enkele alfamengingswaarde α heeft.BE2018 / 5637 spatial mean color of the bitmap has a seemingly higher level of transparency than it would without the perforation. In this manner, the apparent transparency of the bitmap 930 is made higher than that of the line 910, despite both being associated with the same window 1083 which has only a single alpha blend value α.

Zoals het geval was voor de overlay-applicatie van FIG. 7, komt ook de overlay-applicatie van FIG. 9 doorgaans met een gebruikersinterface, welke is weergegeven in een tweede, ondoorzichtig venster (niet getoond in FIG. 10 maar zie bijvoorbeeld FIG. 35). In de uitvoeringsvorm van FIG. 10, zal de gebruikersinterface het typisch mogelijk maken dat een gebruiker de grootte (hoogte en/of breedte) van de lijn 910, het transparantieniveau α, de kleur van de pixels P3 van de lijn 910, de kleur van de tweede veelheid pixels P7, kan aanpassen.As was the case for the overlay application of FIG. 7, the overlay application of FIG. 9 usually with a user interface, which is shown in a second, opaque window (not shown in FIG. 10 but see, for example, FIG. 35). In the embodiment of FIG. 10, the user interface will typically allow a user the size (height and / or width) of the line 910, the transparency level α, the color of the pixels P3 of the line 910, the color of the second plurality of pixels P7, can adjust.

De overlay-applicatie, zelfs al is één van haar vensters 1083 geconfigureerd in doorklikmodus, zorgt ervoor dat de lijn 910 beweegt in overeenstemming met bewegingen van de invoerinrichting 903. Dit kan bijvoorbeeld gerealiseerd worden door herhaaldelijk de positie van de native muisaanwijzer 999 op te vragen aan het besturingssysteem (bv. op basis van een timer, of gebaseerd op polling).The overlay application, even if one of its windows 1083 is configured in click-through mode, causes the line 910 to move in accordance with movements of the input device 903. This can be accomplished, for example, by repeatedly requesting the position of the native mouse pointer 999. to the operating system (eg based on a timer, or based on polling).

Bij voorkeur is de lijn 910 zodanig gepositioneerd dat de muisaanwijzer 999 zich nabij het midden van de lijn bevindt, doch dat is niet absoluut vereist en de muisaanwijzer kan enigszins verschoven zijn ten opzichte van deze positie, bv. boven de lijn of onder de lijn gepositioneerd. Alternatief kan de muisaanwijzer ook gepositioneerd zijn aan of nabij het linker einde van de lijn, of aan of nabij het rechter einde van de lijn. In ieder geval verschaft de overlay-applicatie een semitransparante lijn 910 die mee beweegt met de muisaanwijzer 999, die beiden zichtbaar zijn.Preferably, the line 910 is positioned such that the mouse pointer 999 is near the center of the line, but this is not absolutely required and the mouse pointer may be slightly offset from this position, e.g. positioned above the line or below the line . Alternatively, the mouse pointer may also be positioned at or near the left end of the line, or at or near the right end of the line. In any case, the overlay application provides a semi-transparent line 910 that moves with the mouse pointer 999, both of which are visible.

FIG. 10 is een schematische voorstelling van een mogelijke Z-orde van vier vensters of beeldvlakken 1081-1084 die gebruikt kunnen worden in het computersysteem 900 van FIG. 9, om het gecombineerde beeld 909 te verkrijgen dat getoond wordt op het display 904 van FIG. 9.FIG. 10 is a schematic representation of a possible Z-order of four windows or image planes 1081-1084 that can be used in the computer system 900 of FIG. 9, to obtain the combined image 909 shown on the display 904 of FIG. 9.

Het eerste venster 1081 op Z1 wordt het desktopvenster genoemd. Het tweede venster 1082 op Z2 is geassocieerd met applicatie 905 (in het voorbeeld een teksteditorapplicatie, bv. MS Word), en geeft alfanumerieke of tekstuele informatie 906 weer. Een derde venster 1083 is geassocieerd met een overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding en heeft een Z-orde Z3 hoger dan Z2 van de teksteditor-applicatie 905. De muisbitmap 999 of het muisbeeldvlak is gesitueerd in venster 1084 op Z4, hoger dan Z3.The first window 1081 on Z1 is called the desktop window. The second window 1082 on Z2 is associated with application 905 (in the example, a text editor application, eg MS Word), and displays alphanumeric or textual information 906. A third window 1083 is associated with an overlay application according to an embodiment of the present invention and has a Z order Z3 higher than Z2 of the text editor application 905. The mouse bitmap 999 or mouse image plane is located in window 1084 at Z4, higher then Z3.

Het desktopbeeld in het eerste venster 1081 en het applicatiebeeld in het tweede venster 1082 zijn doorgaans ondoorzichtige beelden. Het venster 1083 verschaft een in hoofdzaak schermvullende overlay geconfigureerd in doorklikmodus en ook geconfigureerd in semi-transparante modus met een configureerbare alfamengingswaarde α. Een minderheidsgedeelte van het overlayvenster 1083 is ingenomen door pixels P3 met de lijnkleur (bv. rood), eenThe desktop image in the first window 1081 and the application image in the second window 1082 are usually opaque images. The window 1083 provides a substantially full-screen overlay configured in click-through mode and also configured in semi-transparent mode with a configurable alpha blend value α. A minority portion of the overlay window 1083 is occupied by pixels P3 with the line color (e.g. red), one

BE2018/5637 meerderheidsgedeelte is ingenomen door de geperforeerde bitmap, in het voorbeeld een bitmap met een eerste veelheid pixels P6 die volledig transparante pixels zijn, en een tweede veelheid pixels P7 met een vooraf gedefinieerde constante kleur. Er wordt opgemerkt dat een dergelijke geperforeerde bitmap efficiënt geïmplementeerd kan worden door bijvoorbeeld eerst een kleine bitmap van bijvoorbeeld 64 x 64 pixels (of 100 x 100 pixels of ieder andere geschikte grootte) te genereren, en vervolgens deze kleine bitmap te kopiëren of te tegelen (tiling) in de in hoofdzaak schermvullende bitmap 1083, maar andere wijzen kunnen eveneens gebruikt worden. In een alternatieve uitvoeringsvorm kan deze functionaliteit geïmplementeerd worden als een functionaliteit in GPU-chips, waardoor dus slechts minimale belasting van de centrale CPU van de computerinrichting vereist is.BE2018 / 5637 majority portion is occupied by the perforated bitmap, in the example a bitmap with a first plurality of pixels P6 which are completely transparent pixels, and a second plurality of pixels P7 with a predefined constant color. It is noted that such a perforated bitmap can be efficiently implemented, for example, by first generating a small bitmap of, for example, 64 x 64 pixels (or 100 x 100 pixels or any other suitable size), and then copying or tiling this small bitmap ( tiling) in the substantially full screen bitmap 1083, but other ways can also be used. In an alternative embodiment, this functionality can be implemented as a functionality in GPU chips, thus requiring only minimal loading of the central CPU of the computing device.

De lijn 910 kan geïmplementeerd worden als een zuiver rechthoekig gebied, met of zonder een rand (bv. een zwarte rand), en met of zonder afgeronde randen, en met of zonder afgeronde hoeken, en met of zonder andere kenmerken (bv. met een kleurgradiënt).Line 910 can be implemented as a pure rectangular area, with or without a border (e.g. a black border), and with or without rounded edges, and with or without rounded corners, and with or without other features (e.g., with a color gradient).

De overlay-applicatie van het computersysteem 900 is uitermate geschikt voor het lezen van grote hoeveelheden tekst op het scherm. In het bijzonder kan de overlay-applicatie gebruikt worden om de kleur (of kleurtemperatuur) van het onderliggende grafisch beeld te wijzigen, en/of de helderheid daarvan, hetgeen oogvermoeidheid kan helpen verminderen, en verschaft ze een beweegbare lijn 910 die een gebruiker kan gebruiken om tekst, die getoond wordt in één of meerdere onderliggende vensters, te markeren of te onderlijnen.The overlay application of the computer system 900 is ideal for reading large amounts of text on the screen. In particular, the overlay application can be used to change the color (or color temperature) of the underlying graphic image, and / or its brightness, which can help reduce eye fatigue, and provides a movable line 910 that a user can use to highlight or underline text that is displayed in one or more underlying windows.

In bepaalde uitvoeringsvormen kan de kleurtemperatuur gewijzigd worden teneinde de hoeveelheid blauw licht te verminderen. In andere uitvoeringsvormen kan de kleurtemperatuur gewijzigd worden teneinde de hoeveelheid blauw licht te verhogen.In certain embodiments, the color temperature can be changed to reduce the amount of blue light. In other embodiments, the color temperature can be changed to increase the amount of blue light.

Hoewel dezelfde alfamengingswaarde α gebruikt wordt voor de lijn 910 als voor de bitmap 930, is de bitmap 930 doorzichtiger dan de lijn, gezien vanaf een afstand waarbij het oog geen individuele pixels onderscheidt, maar pixelinformatie spatiaal middelt.Although the same alpha blend value α is used for the line 910 as for the bitmap 930, the bitmap 930 is more transparent than the line when viewed from a distance where the eye does not distinguish individual pixels, but averages pixel information.

Volledigheidshalve wordt opgemerkt dat andere perforatiepatronen werden getest (bijvoorbeeld waarbij 4 van de 16 pixels volledig transparant zijn, of 12 van de 16 pixels volledig transparant zijn), maar het schaakbordpatroon met 50% volledig transparante pixels kan de voorkeur genieten aangezien het de beste resultaten lijkt te verschaffen in termen van minst merkbare artefacten.For the sake of completeness, it is noted that other perforation patterns were tested (for example, where 4 of the 16 pixels are completely transparent, or 12 of the 16 pixels are completely transparent), but the checkerboard pattern with 50% fully transparent pixels may be preferred as it seems to have the best results in terms of least noticeable artifacts.

FIG. 11 toont een variant van het computersysteem van FIG. 9, waarbij de semi-transparante lijn 1120 van de overlay-applicatie zich uitstrekt over in hoofdzaak de volledige breedte van het scherm (bv. over de volledige breedte van het pixelgebied of de volledige breedte van het werkgebied van hetFIG. 11 shows a variant of the computer system of FIG. 9, wherein the semi-transparent line 1120 of the overlay application extends over substantially the full width of the screen (e.g., over the full width of the pixel area or the full width of the work area of the

BE2018/5637 scherm). Dit impliceert dat de lijn 1120 enkel verticale bewegingen van de invoerinrichting 1103 hoeft te volgen, geen horizontale bewegingen.BE2018 / 5637 screen). This implies that line 1120 only has to follow vertical movements of the input device 1103, not horizontal movements.

In het getoonde voorbeeld tonen twee applicaties tekstuele informatie, bijvoorbeeld een PDFdocumentviewer aan de linkerzijde van het scherm, en een teksteditorvenster aan de rechterzijde van het scherm. Dit kan bijvoorbeeld gebruikt worden bij het zij-aan-zij vergelijken van twee documenten, bijvoorbeeld bij het proeflezen van een vertaling, waarbij de brontekst zich in het PDF-document bevindt en de doeltekst zich in het tekstdocument bevindt. In het voorbeeld presenteert het vensterIn the example shown, two applications display textual information, for example, a PDF document viewer on the left side of the screen, and a text editor window on the right side of the screen. This can be used, for example, when comparing two documents side-by-side, for example when proofreading a translation, where the source text is in the PDF document and the target text is in the text document. In the example, the window presents

1282 op hoogte Z2 informatie geassocieerd met de teksteditor-applicatie, en presenteert het venster1282 at height Z2 information associated with the text editor application, and presents the window

1283 op hoogte Z3 informatie geassocieerd met de PDF-documentviewer.1283 at height Z3 information associated with the PDF document viewer.

FIG. 12 is een schematische voorstelling van een mogelijke Z-orde van vier vensters of beeldvlakken 1281 - 1284 zoals gebruikt kunnen worden in het computersysteem 1100 van FIG. 11, om het gecombineerde beeld 1109 te verkrijgen dat getoond wordt op het display 1104 van FIG. 11. Het vlak voor de muiscursor is niet getoond, en het vlak voor het gebruikersinterface-venster van de overlay-applicatie (indien aanwezig) is niet getoond, teneinde de tekeningen niet te overladen. Bij voorkeur echter, is de kleur van de pixels P3 en van de pixels P7, en het transparantieniveau α, en de hoogte van de lijn 1120 instelbaar via een gebruikersinterface, bijvoorbeeld een gebruikersinterface gelijkend op de voorbeeldmatige gebruikersinterface van FIG. 35 zonder een schuifbalk voor het selecteren van de breedte van de lijn.FIG. 12 is a schematic representation of a possible Z-order of four windows or image planes 1281-1284 as may be used in the computer system 1100 of FIG. 11, to obtain the combined image 1109 shown on the display 1104 of FIG. 11. The mouse cursor area is not shown, and the overlay application user interface window (if any) is not shown, so as not to overload the drawings. Preferably, however, the color of the pixels P3 and of the pixels P7, and the transparency level α, and the height of the line 1120 is adjustable via a user interface, for example a user interface similar to the exemplary user interface of FIG. 35 without a slider to select the width of the line.

FIG. 13 toont een veelheid van voorbeeldmatige screenshots (schermopnames). Elke rij toont een serie van vijf beelden die overeenkomen met een alfamengingswaarde α van respectievelijk 100%, 80%, 60%, 40% en 20%, overeenkomende met een transparantiewaarde T van het overlayvenster van respectievelijk 20%, 40%, 60%, 80% en 100%, waarbij α=100% of T=0% betekent dat het overlaybeeld volledig ondoorzichtig is (behalve voor volledig transparante pixels), en α=0% of T=100% betekent dat het overlaybeeld volledig transparant is, en waarden van 1% tot 99% of van 2% tot 98% of van 5% tot 95% betekenen dat het overlaybeeld semi-transparant is, wat betekent dat de pixels van het overlaybeeld naar evenredigheid gemengd zijn met het onderliggend beeld (behalve voor volledig transparante pixels).FIG. 13 shows a plurality of exemplary screenshots (screenshots). Each row shows a series of five images corresponding to an alpha blend value α of 100%, 80%, 60%, 40% and 20%, respectively, corresponding to an overlay window transparency value T of 20%, 40%, 60%, respectively. 80% and 100%, where α = 100% or T = 0% means the overlay image is completely opaque (except for fully transparent pixels), and α = 0% or T = 100% means the overlay image is completely transparent, and values from 1% to 99% or from 2% to 98% or from 5% to 95% mean that the overlay image is semi-transparent, which means that the pixels of the overlay image are proportionally mixed with the underlying image (except for full transparent pixels).

Elk van de beelden getoond in FIG. 13(a) tot FIG. 13(e) bevat een tekstfragment geoverlayed met twee rode lijnen met kleur (R,G,B)=(255, 0, 0). Er worden twee lijnen gebruikt voor illustratieve doeleinden, om zowel het markeren als het onderlijnen van tekst in eenzelfde tekening te tonen.Each of the images shown in FIG. 13 (a) to FIG. 13 (e) contains a text fragment overlaid with two red lines with color (R, G, B) = (255, 0, 0). Two lines are used for illustrative purposes, to show both highlighting and underlining text in the same drawing.

In FIG. 13(a) is elk tekstfragment geoverlayed door twee rode lijnen met (R,G,B)=(255, 0, 0). De rest van het overlayvenster is volledig transparant. Deze serie beelden toont resultaten die vergelijkbaar zijn met wat verkregen zou worden door de overlay-applicatie van FIG. 3. Zoals begrepenIn FIG. 13 (a), each text fragment is overlaid by two red lines with (R, G, B) = (255, 0, 0). The rest of the overlay window is completely transparent. This series of images shows results comparable to what would be obtained by the overlay application of FIG. 3. As understood

BE2018/5637 kan worden, om een lijn te verschaffen die goed geschikt is voor het markeren en/of het onderlijnen van onderliggende tekstuele informatie zonder deze duister te maken, dient het transparantieniveau bij voorkeur in het bereik te liggen van ongeveer 30% tot ongeveer 75%. Voor lagere waarden van T wordt de tekst onleesbaar. Voor hogere waarden van T is de lijn nauwelijks zichtbaar. (Er wordt opgemerkt dat een degelijke evaluatie op een scherm zou moeten uitgevoerd worden in plaats van op papier, maar de papieren versie laat toe de principes van de onderhavige uitvinding te begrijpen).BE2018 / 5637, to provide a line well suited for highlighting and / or underlining underlying textual information without obscuring it, the transparency level should preferably be in the range of about 30% to about 75 %. For lower values of T, the text becomes unreadable. For higher values of T, the line is barely visible. (It is noted that a proper evaluation should be performed on a screen rather than on paper, but the paper version allows to understand the principles of the present invention).

In FIG. 13(b) is elk tekstfragment overdekt (geoverlayed) met een semi-transparante bitmap die alleen lichtgrijze pixels bevat met (R,G,B)=(192, 192, 192), en in FIG. 13(c) is elk tekstfragment overdekt (geoverlayed) met een semi-transparante bitmap die alleen donkergrijze pixels bevat met (R,G,B)=(64, 64, 64). Deze serie beelden toont resultaten vergelijkbaar met wat verkregen zou worden door de overlay-applicatie van FIG. 5. Teneinde goede leesbaarheid van de onderliggende tekst te behouden, dient het transparantieniveau T bij voorkeur ten minste ongeveer 85% te zijn (of α<=15%).In FIG. 13 (b), each text fragment is overlaid (overlayed) with a semi-transparent bitmap containing only light gray pixels with (R, G, B) = (192, 192, 192), and in FIG. 13 (c), each text fragment is overlaid (overlayed) with a semi-transparent bitmap containing only dark gray pixels with (R, G, B) = (64, 64, 64). This series of images shows results similar to what would be obtained by the overlay application of FIG. 5. In order to maintain good legibility of the underlying text, the transparency level T should preferably be at least about 85% (or α <= 15%).

In FIG. 13(d) is elk tekstfragment geoverlayed (overdekt) door een loutere combinatie van de twee rode lijnen zoals in FIG. 13(a) en door een lichtgrijze bitmap zoals in FIG. 13(b), en in FIG. 13(e) is elk tekstfragment geoverlayed (overdekt) door een loutere combinatie van de twee rode lijnen zoals in FIG. 13(a) en door een donkergrijze bitmap zoals in FIG. 13(c).In FIG. 13 (d), each text fragment is overlayed (covered) by a mere combination of the two red lines as shown in FIG. 13 (a) and through a light gray bitmap as in FIG. 13 (b), and in FIG. 13 (e), each text fragment is overlayed (covered) by a mere combination of the two red lines as in FIG. 13 (a) and through a dark gray bitmap as in FIG. 13 (c).

Zoals hoger beschreven, wanneer het transparantieniveau T zeer laag is (bijv. <30%), dan is de lijn niet voldoende doorzichtig en wordt tekst daaronder verhuld; wanneer het transparantieniveau T middelmatig is (bv. van ongeveer 30% tot ongeveer 70% of ongeveer 75%), dan is de lijn goed zichtbaar en voldoende doorzichtig, maar is de tekst niet gemakkelijk leesbaar; en wanneer het transparantieniveau T te hoog is (bv. T>85%) dan is de tekst goed leesbaar, maar is de lijn bijna onzichtbaar). Geen enkele van deze combinaties verschaft dus een goede oplossing voor zowel de lijn als de bitmap.As described above, when the transparency level T is very low (eg <30%), the line is not sufficiently transparent and text is hidden underneath; when the transparency level T is medium (eg from about 30% to about 70% or about 75%), the line is clearly visible and sufficiently transparent, but the text is not easy to read; and if the transparency level T is too high (eg T> 85%), the text is clearly legible, but the line is almost invisible). Neither of these combinations therefore provides a good solution for both the line and the bitmap.

In FIG. 13(f) wordt elk tekstfragment geoverlayed door twee rode lijnen zoals in FIG. 13(a) en door een zogenoemde geperforeerde bitmap zoals hoger beschreven, waarbij 50% van de pixels volledig transparante pixels P6 zijn, opgesteld in een schaakbordpatroon, en de andere 50% van de pixels lichtgrijze pixels P7 zijn, met (R,G,B)=(192, 192, 192). Zoals begrepen kan worden uit de tekeningen (maar uiteraard dient men dit op een echt scherm te evalueren), worden zeer acceptabele resultaten voor zowel de lijn als de bitmap verkregen voor transparantieniveaus T van ongeveer 30% tot ongeveer 75%.In FIG. 13 (f), each text fragment is overlayed by two red lines as in FIG. 13 (a) and by a so-called perforated bitmap as described above, where 50% of the pixels are fully transparent pixels P6 arranged in a checkerboard pattern, and the other 50% of the pixels are light gray pixels P7, with (R, G, B) = (192, 192, 192). As can be understood from the drawings (but of course this has to be evaluated on a real screen), very acceptable results for both the line and the bitmap are obtained for transparency levels T from about 30% to about 75%.

In FIG. 13(g) is elk tekstfragment overdekt (geoverlayed) door twee rode lijnen zoals in FIG. 13(a) en door een zogenoemde geperforeerde bitmap zoals hoger beschreven, waarbij 50% vanIn FIG. 13 (g), each text fragment is covered (overlayed) by two red lines as in FIG. 13 (a) and through a so-called perforated bitmap as described above, where 50% of

BE2018/5637 de pixels volledig transparante pixels P6 zijn, opgesteld in een schaakbordpatroon, en de andere 50% van de pixels donkergrijze pixels P7 zijn, met (R,G,B)=(64, 64, 64). Wederom worden zeer acceptabele resultaten voor zowel de lijn als de bitmap verkregen voor transparantieniveaus T van ongeveer 30% tot ongeveer 75%.BE2018 / 5637 the pixels are fully transparent pixels P6, arranged in a checkerboard pattern, and the other 50% of the pixels are dark gray pixels P7, with (R, G, B) = (64, 64, 64). Again, very acceptable results for both the line and bitmap are obtained for transparency levels T from about 30% to about 75%.

In FIG. 13(h) is elk tekstfragment geoverlayed door twee rode lijnen zoals in FIG. 13(a) en door een zogenoemde geperforeerde bitmap zoals hoger beschreven, waarbij 50% van de pixels volledig transparante pixels P6 zijn, opgesteld in een schaakbordpatroon, en de andere 50% van de pixels zwarte pixels P7 zijn, met (R,G,B)= (0, 0, 0). Zoals begrepen kan worden, blijft de tekst die door de geperforeerde bitmap geoverlayed wordt, erg verrassend zeer goed leesbaar, ondanks dat 50% van de bitmappixels zuiver zwart zijn, dankzij de perforatie.In FIG. 13 (h), each text fragment is overlaid by two red lines as in FIG. 13 (a) and by a so-called perforated bitmap as described above, where 50% of the pixels are fully transparent pixels P6 arranged in a checkerboard pattern, and the other 50% of the pixels are black pixels P7, with (R, G, B) = (0, 0, 0). As can be understood, the text overlaid by the perforated bitmap remains surprisingly very easy to read, despite 50% of the bitmap pixels being pure black, thanks to the perforation.

In FIG. 13(i) is elk tekstfragment geoverlayed door twee rode lijnen zoals in FIG. 13(a) en door een zogenoemde geperforeerde bitmap zoals hierboven beschreven, waarbij 50% van de pixels volledig transparante pixels P6 zijn, opgesteld in een schaakbordpatroon, en de andere 50% van de pixels witte pixels P7 zijn, met (R,G,B)= (255, 255, 255). Zoals begrepen kan worden, blijft de tekst die door de geperforeerde bitmap geoverlayed wordt, erg verrassend zeer goed leesbaar, ondanks dat 50% van de bitmappixels zuiver wit zijn, dankzij de perforatie.In FIG. 13 (i), each text fragment is overlaid by two red lines as in FIG. 13 (a) and by a so-called perforated bitmap as described above, where 50% of the pixels are fully transparent pixels P6 arranged in a checkerboard pattern, and the other 50% of the pixels are white pixels P7, with (R, G, B) = (255, 255, 255). As can be understood, the text overlaid by the perforated bitmap remains surprisingly very easy to read, despite 50% of the bitmap pixels being pure white, thanks to the perforation.

Zoals begrepen kan worden uit alle screenshots in FIG. 13(f) tot FIG. 13(i), kan begrepen worden dat de kleur van de niet-volledig transparante pixels P7 van de geperforeerde bitmap gevarieerd kan worden over een breed bereik (van zuiver zwart tot zuiver wit), en dat deze niet kritisch is voor de leesbaarheid van de onderliggende tekstuele informatie.As can be understood from all screenshots in FIG. 13 (f) to FIG. 13 (i), it can be understood that the color of the incompletely transparent pixels P7 of the perforated bitmap can be varied over a wide range (from pure black to pure white), and is not critical to the legibility of the underlying textual information.

Hoewel de uitvinders niet gebonden wensen te worden aan enige theorie, kunnen FIG. 14 en FIG. 15 helpen om het verschil tussen mengen met een monochrome bitmap versus mengen met een geperforeerde bitmap die 50% volledig transparante pixels bevat, beter te begrijpen. Op de verticale as wordt de intensiteit (I) getoond, de horizontale as is transparantie T of alfatransparantie α, waarbij α + T=100%.While the inventors do not wish to be bound by any theory, FIG. 14 and FIG. 15 help to better understand the difference between mixing with a monochrome bitmap versus mixing with a perforated bitmap that contains 50% fully transparent pixels. The vertical axis shows the intensity (I), the horizontal axis is transparency T or alpha transparency α, where α + T = 100%.

FIG. 14(a) illustreert wat er gebeurt met een grafisch beeld dat tekstinformatie bevat met Oorspronkelijke Textpixels OT (zwart) met kleur (0, 0, 0) en Oorspronkelijke Achtergrondpixels OB (wit) met kleur (255, 255, 255) wanneer dit beeld wordt geoverlayed (gemengd) met een monochrome bitmap (zoals in FIG. 6) die 100% zwarte pixels met kleur (0, 0, 0) bevat, voor verschillende waarden van de transparantie T of alfamengingswaarde α.FIG. 14 (a) illustrates what happens to a graphic image that contains text information with Original Text Pixels OT (black) with color (0, 0, 0) and Original Background Pixels OB (white) with color (255, 255, 255) when this image is overlayed (mixed) with a monochrome bitmap (as in FIG. 6) containing 100% black pixels with color (0, 0, 0), for different values of the transparency T or alpha blend value α.

In het algemeen is het resultaat van het overlayen of mengen van twee bitmaps een kleur met de volgende kleurcomponenten:In general, the result of overlaying or mixing two bitmaps is a color with the following color components:

BE2018/5637 (Rm,Gm,Bm) = (R1,G1,B1)x(1-T) + (R2,G2,B2)xT [1] waarbij Rm,Gm,Bm de kleurcomponenten zijn van pixels van het resulterende beeld (het gemengde beeld), T het transparantieniveau is, (R1,G1,B1) de kleur is van een pixel van de eerste (overlay) bitmap, en (R2,G2,B2) de kleur is van een pixel van de tweede (onderliggende) bitmap.BE2018 / 5637 (Rm, Gm, Bm) = (R1, G1, B1) x (1-T) + (R2, G2, B2) xT [1] where Rm, Gm, Bm are the color components of pixels of the resulting image (the mixed image), T is the transparency level, (R1, G1, B1) is the color of a pixel of the first (overlay) bitmap, and (R2, G2, B2) is the color of a pixel of the second (underlying) bitmap.

Bij het mengen met een zwarte monochrome bitmap, dan is (R1,G1,B1)=(0, 0, 0).When mixing with a black monochrome bitmap, then (R1, G1, B1) = (0, 0, 0).

Indien T=100%, dan blijven oorspronkelijk witte achtergrondpixels OB (255, 255, 255) en oorspronkelijk zwarte tekstpixels OT (0, 0, 0) ongewijzigd na het mengen.If T = 100%, originally white background pixels OB (255, 255, 255) and originally black text pixels OT (0, 0, 0) remain unchanged after mixing.

Indien T=50%, dan worden oorspronkelijk witte achtergrondpixels OB (255, 255, 255) grijze pixels MB (127, 127, 127) afgezien van afrondingsfouten, en oorspronkelijk zwarte tekstpixels blijven zwart MT (0, 0, 0).If T = 50%, then originally white background pixels OB (255, 255, 255) become gray pixels MB (127, 127, 127) aside from rounding errors, and originally black text pixels remain black MT (0, 0, 0).

Indien T=0%, dan worden oorspronkelijk witte achtergrondpixels OB (255, 255, 255) en oorspronkelijk zwarte tekstpixels OT (0, 0, 0) beide zwart (0, 0, 0).If T = 0%, then originally white background pixels OB (255, 255, 255) and originally black text pixels OT (0, 0, 0) both turn black (0, 0, 0).

Dit wordt min of meer gevisualiseerd door de reeks van FIG. 13(c), behalve dat in FIG. 13(c) de monochrome bitmap pixels P4 met kleur (64, 64, 64) heeft in plaats van (0, 0, 0).This is more or less visualized by the series of FIG. 13 (c), except that in FIG. 13 (c) has the monochrome bitmap pixels P4 with color (64, 64, 64) instead of (0, 0, 0).

FIG. 14(b) illustreert wat er gebeurt met een grafisch beeld dat tekstinformatie bevat met Oorspronkelijke Textpixels OT (zwart) met kleur (0, 0, 0) en Oorspronkelijke Achtergrondpixels OB (wit) met kleur (255, 255, 255) wanneer dit beeld wordt geoverlayed (gemengd) met een monochrome bitmap (zoals in FIG. 6) die 100% witte pixels met kleur (255, 255, 255) bevat, voor verschillende waarden van de transparantie T of alfamengingswaarde α.FIG. 14 (b) illustrates what happens to a graphic image containing text information with Original Text Pixels OT (black) with color (0, 0, 0) and Original Background Pixels OB (white) with color (255, 255, 255) when this image is overlayed (mixed) with a monochrome bitmap (as in FIG. 6) containing 100% white pixels with color (255, 255, 255), for different values of the transparency T or alpha blend value α.

Dezelfde mengformule [1] is van toepassing, doch nu is (R1,G1,B1)=(255, 255, 255).The same mixing formula [1] applies, but now (R1, G1, B1) = (255, 255, 255).

Indien T=100%, dan blijven witte pixels (255, 255, 255) en zwarte pixels (0, 0, 0) ongewijzigd na het mengen.If T = 100%, white pixels (255, 255, 255) and black pixels (0, 0, 0) remain unchanged after mixing.

Indien T=50%, dan blijven witte pixels (255, 255, 255) wit (255, 255, 255), en zwarte pixels (0,If T = 50%, white pixels (255, 255, 255) remain white (255, 255, 255), and black pixels (0,

0, 0) worden grijze pixels (127, 127, 127), afgezien van afrondingsfouten.0, 0) become gray pixels (127, 127, 127), except for rounding errors.

Indien T=0%, dan worden witte pixels (255, 255, 255) en zwarte pixels (0, 0, 0) beiden (255, 255, 255).If T = 0%, then white pixels (255, 255, 255) and black pixels (0, 0, 0) both become (255, 255, 255).

Dit wordt min of meer gevisualiseerd door de reeks van FIG. 13(b), behalve dat in FIG. 13(b) de monochrome bitmap pixels P4 met kleur (192, 192, 192) heeft in plaats van (255, 255, 255).This is more or less visualized by the series of FIG. 13 (b), except that in FIG. 13 (b) has the monochrome bitmap pixels P4 with color (192, 192, 192) instead of (255, 255, 255).

FIG. 15(a) illustreert wat er gebeurt met een grafisch beeld dat tekstinformatie bevat met Oorspronkelijke Textpixels OT (zwart) met kleur (0, 0, 0) en Oorspronkelijke Achtergrondpixels OB (wit) met kleur (255, 255, 255) wanneer dit beeld wordt geoverlayed (gemengd) met een geperforeerde bitmap (zoals in FIG. 10 of FIG. 12) die 50% volledig transparante pixels P6 bevat, en 50% zwarte pixels P7 met kleur (0, 0, 0), voor verschillende waarden van de transparantie T (of alfamengingswaarde α).FIG. 15 (a) illustrates what happens to a graphic image containing text information with Original Text Pixels OT (black) with color (0, 0, 0) and Original Background Pixels OB (white) with color (255, 255, 255) when this image is overlayed (mixed) with a perforated bitmap (as in FIG. 10 or FIG. 12) containing 50% fully transparent pixels P6, and 50% black pixels P7 with color (0, 0, 0), for different values of the transparency T (or alpha mixing value α).

BE2018/5637BE2018 / 5637

In het algemeen is het resultaat van het overlayen of mengen met een geperforeerde bitmap met 50% volledig transparante pixels P6:In general, the result of overlaying or mixing with a perforated bitmap with 50% fully transparent pixels P6 is:

(Rm,Gm,Bm) = (R1,G1,B1)x(1-T) + (R2,G2,B2)xT[2] indien de overlaypixel niet volledig transparant is, hetgeen het geval is voor de pixels P7, (Rm,Gm,Bm) = (R2,G2,B2)[3] indien de overlaypixel volledig transparant is, hetgeen het geval is voor de pixels P6, dus gemiddeld (indien het aantal pixels P6, P7 elk 50% is):(Rm, Gm, Bm) = (R1, G1, B1) x (1-T) + (R2, G2, B2) xT [2] if the overlay pixel is not completely transparent, which is the case for pixels P7, (Rm, Gm, Bm) = (R2, G2, B2) [3] if the overlay pixel is completely transparent, which is the case for pixels P6, so average (if the number of pixels P6, P7 is 50% each):

(Rm,Gm,Bm) = 50% * [(R1,G1,B1)x(1-T) + (R2,G2,B2)xT] + 50% * (R2,G2,B2)[4] waarbij Rm,Gm,Bm de kleurcomponenten zijn van pixels van het resulterende beeld (het gemengde beeld), T het transparantieniveau is, (R1,G1,B1) de kleur is van een pixel van de eerste (overlay) bitmap, en (R2,G2,B2) de kleur is van een pixel van de tweede (onderliggende) bitmap.(Rm, Gm, Bm) = 50% * [(R1, G1, B1) x (1-T) + (R2, G2, B2) xT] + 50% * (R2, G2, B2) [4] where Rm, Gm, Bm are the color components of pixels of the resulting image (the mixed image), T is the transparency level, (R1, G1, B1) is the color of a pixel of the first (overlay) bitmap, and (R2, G2, B2) is the color of a pixel of the second (underlying) bitmap.

Specifiek, bij het mengen met een geperforeerde zwarte bitmap met 50% volledig transparante pixels P6 en 50% zwarte pixels P7, dan is (R1,G1,B1)=(0, 0, 0).Specifically, when mixing with a perforated black bitmap with 50% fully transparent pixels P6 and 50% black pixels P7, then (R1, G1, B1) = (0, 0, 0).

Indien T=100%, dan blijven witte pixels (255, 255, 255) en zwarte pixels (0, 0, 0) ongewijzigd.If T = 100%, white pixels (255, 255, 255) and black pixels (0, 0, 0) remain unchanged.

Indien T=50%, dan worden witte pixels (255, 255, 255) gemiddeld grijze pixels (191,191,191), en zwarte pixels blijven zwart (0, 0, 0).If T = 50%, white pixels (255, 255, 255) become on average gray pixels (191,191,191), and black pixels remain black (0, 0, 0).

Indien T=0%, dan worden witte pixels (255, 255, 255) gemiddeld grijze pixels (127,127,127), en zwarte pixels (0, 0, 0) blijven zwart (0, 0, 0).If T = 0%, white pixels (255, 255, 255) on average become gray pixels (127,127,127), and black pixels (0, 0, 0) remain black (0, 0, 0).

Dit wordt min of meer gevisualiseerd door de reeks van FIG. 13(h), als de twee lijnen worden weggelaten.This is more or less visualized by the series of FIG. 13 (h), if the two lines are omitted.

FIG. 15(b) illustreert wat er gebeurt met een grafisch beeld dat tekstinformatie bevat met Oorspronkelijke Textpixels OT (zwart) met kleur (0, 0, 0) en Oorspronkelijke Achtergrondpixels OB (wit) met kleur (255, 255, 255) wanneer dit beeld wordt geoverlayed (gemengd) met een geperforeerde bitmap (zoals in FIG. 10) die 50% volledig transparante pixels P6 bevat, en 50% witte pixels met kleur (255, 255, 255), voor verschillende waarden van de transparantie T of alfamengingswaarde α.FIG. 15 (b) illustrates what happens to a graphic image containing text information with Original Text Pixels OT (black) with color (0, 0, 0) and Original Background Pixels OB (white) with color (255, 255, 255) when this image is overlayed (mixed) with a perforated bitmap (as in FIG. 10) containing 50% fully transparent pixels P6, and 50% white pixels with color (255, 255, 255), for different values of transparency T or alpha blend value α .

Dezelfde formules [2] tot [4] gelden.The same formulas [2] to [4] apply.

Bij het mengen met een geperforeerde witte bitmap met 50% volledig transparante pixels P6 en 50% witte pixels P7, dan geldt (R1,G1,B1)=(255, 255, 255).When mixing with a perforated white bitmap with 50% fully transparent pixels P6 and 50% white pixels P7, then (R1, G1, B1) = (255, 255, 255).

Indien T=100%, dan blijven witte pixels (255, 255, 255) en zwarte pixels (0, 0, 0) ongewijzigd.If T = 100%, white pixels (255, 255, 255) and black pixels (0, 0, 0) remain unchanged.

Indien T=50%, dan blijven witte pixels (255, 255, 255) wit, en worden zwarte pixels gemiddeld (64, 64, 64).If T = 50%, white pixels (255, 255, 255) remain white, and black pixels become average (64, 64, 64).

Indien T=0%, dan blijven witte pixels (255, 255, 255) wit, en zwarte pixels worden gemiddeld grijze pixels (127,127,127).If T = 0%, white pixels (255, 255, 255) remain white, and black pixels become gray pixels (127,127,127) on average.

BE2018/5637BE2018 / 5637

Dit wordt min of meer gevisualiseerd door de reeks van FIG. 13(i), als de twee lijnen worden weggelaten.This is more or less visualized by the series of FIG. 13 (i), if the two lines are omitted.

Dus FIG. 14 kan helpen om te begrijpen wat er gebeurt met zwarte tekst op een witte achtergrond wanneer deze wordt geoverlayed door een monochrome (niet-geperforeerde) bitmap, zoals het geval is voor het beweegbaar object, en FIG. 15 kan helpen om te begrijpen wat er gebeurt met zwarte tekst op een witte achtergrond wanneer deze wordt geoverlayed door een geperforeerde bitmap.So FIG. 14 can help to understand what happens to black text on a white background when overlaid by a monochrome (non-perforated) bitmap, as is the case for the movable object, and FIG. 15 can help you understand what happens to black text on a white background when overlaid by a perforated bitmap.

De volgende paragraaf legt uit wat er gebeurt met zwarte tekst op een witte achtergrond wanneer deze wordt geoverlayed door een rode lijn. Dezelfde formule [1] geldt, doch nu geldt dat (R1,G1,B1) is (255,0,0).The following section explains what happens to black text on a white background when overlaid by a red line. The same formula [1] applies, but now it holds that (R1, G1, B1) is (255,0,0).

EERSTE VOORBEELD:FIRST EXAMPLE:

Als eerste voorbeeld worden de kleuren van het beeldfragment van FIG. 13(e) voor T=80% berekend.As a first example, the colors of the image fragment of FIG. 13 (e) for T = 80% calculated.

Het oorspronkelijke beeld omvat: zwarte tekst (0, 0, 0) op een witte achtergrond (255, 255, 255).The original image includes: black text (0, 0, 0) on a white background (255, 255, 255).

Het overlayvenster omvat een (niet-geperforeerde) monochrome bitmap met zwarte pixels (0, 0, 0), en een lijn met rode pixels (255,0,0), en mengen wordt gedaan met T ingesteld op 80%. Gebruikmakende van formule [1], kan worden berekend dat:The overlay window includes a (non-perforated) monochrome bitmap with black pixels (0, 0, 0), and a line with red pixels (255,0,0), and mixing is done with T set to 80%. Using formula [1], it can be calculated that:

- witte achtergrondpixels geoverlayed door de zwarte overlaybitmap worden: (204, 204, 204),- white background pixels overlaid by the black overlay bitmap become: (204, 204, 204),

- zwarte tekstpixels geoverlayed door de zwarte overlaybitmap worden: (0, 0, 0),- black text pixels overlaid by the black overlay bitmap become: (0, 0, 0),

- witte achtergrondpixels geoverlayed door de rode lijn worden:- white background pixels overlaid by the red line are:

80%*(255, 255, 255)+20%*(255, 0, 0)=(255, 204, 204), wat zeer moeilijk te onderscheiden is van (204, 204, 204),80% * (255, 255, 255) +20% * (255, 0, 0) = (255, 204, 204), which is very difficult to distinguish from (204, 204, 204),

-de zwarte tekstpixels geoverlayed door de rode lijn worden: 80%*(0, 0, 0) +20%*(255, 0, 0)=(51, 0, 0).-the black text pixels overlaid by the red line become: 80% * (0, 0, 0) +20% * (255, 0, 0) = (51, 0, 0).

TWEEDE VOORBEELD:SECOND EXAMPLE:

Als een tweede voorbeeld worden de kleuren van het beeldfragment van FIG. 13(h) voorAs a second example, the colors of the image fragment of FIG. 13 (h) before

T=60% berekend.T = 60% calculated.

Het oorspronkelijke beeld omvat: zwarte tekst (0, 0, 0) op een witte achtergrond (255, 255, 255).The original image includes: black text (0, 0, 0) on a white background (255, 255, 255).

De overlay omvat een geperforeerde bitmap met 50% volledig transparante pixels P6 en 50% zwarte pixels P7 (0, 0, 0), en een lijn met rode pixels (255, 0, 0), en mengen wordt gedaan met T ingesteld op 60%. Gebruikmakende van formules [1] tot [5], kan berekend worden dat:The overlay includes a perforated bitmap with 50% fully transparent pixels P6 and 50% black pixels P7 (0, 0, 0), and a line with red pixels (255, 0, 0), and mixing is done with T set to 60 %. Using formulas [1] to [5], it can be calculated that:

BE2018/5637BE2018 / 5637

-witte achtergrondpixels geoverlayed door de geperforeerde bitmap gemiddeld (204, 204, 204) worden, namelijk (255, 255, 255) voor pixels geoverlayed door volledig transparante pixels P6, en (153, 153, 153) voor de pixels geoverlayed door een zwarte pixel P7;-white background pixels overlayed by the perforated bitmap average (204, 204, 204), namely (255, 255, 255) for pixels are overlayed by fully transparent pixels P6, and (153, 153, 153) for the pixels overlayed by a black pixel P7;

- zwarte tekstpixels geoverlayed door de zwarte overlaybitmap worden: (0, 0, 0),- black text pixels overlaid by the black overlay bitmap become: (0, 0, 0),

- witte achtergrondpixels geoverlayed door de rode lijn worden:- white background pixels overlaid by the red line are:

60%*(255, 255, 255)+40%*(255, 0, 0)=(255, 153, 153), wat eenvoudig te onderscheiden is van (204, 204, 204),60% * (255, 255, 255) +40% * (255, 0, 0) = (255, 153, 153), which is easy to distinguish from (204, 204, 204),

-de zwarte tekstpixels geoverlayed door de rode lijn worden:-the black text pixels overlaid by the red line are:

60%*(0, 0, 0) +40%*(255, 0, 0)=(102, 0, 0).60% * (0, 0, 0) + 40% * (255, 0, 0) = (102, 0, 0).

Vergelijking van het eerste en tweede voorbeeld (of het monster van FIG. 13(e) voor T=80% en het monster van FIG. 13(h) voor T=60%) leert dat:Comparison of the first and second examples (or the sample of FIG. 13 (e) for T = 80% and the sample of FIG. 13 (h) for T = 60%) shows that:

- in beide gevallen wordt zwarte tekst op een witte achtergrond (0, 0, 0) op een gemiddelde achtergrondkleur van (204, 204, 204);- in both cases, black text on a white background (0, 0, 0) becomes an average background color of (204, 204, 204);

- in het geval van een niet-geperforeerde bitmap wordt tekst geoverlayed door de rode lijn (51, 0, 0) op (255, 204, 204), welke tekst goed leesbaar is, maar de lijn is zeer moeilijk te onderscheiden van de achtergrond van (204, 204, 204), en derhalve niet erg behulpzaam om te onderlijnen, terwijl in het geval van de geperforeerde bitmap wordt tekst geoverlayed door de rode lijn (102, 0, 0) op (255, 153, 153), welke tekst nog steeds zeer goed leesbaar is, maar bovendien kan de lijn gemakkelijk onderscheiden worden van de gemiddelde achtergrond van (204, 204, 204).- in the case of a non-perforated bitmap, text is overlayed by the red line (51, 0, 0) on (255, 204, 204), which text is easy to read, but the line is very difficult to distinguish from the background of (204, 204, 204), and therefore not very helpful for underlining, while in the case of the perforated bitmap, text is overlaid by the red line (102, 0, 0) on (255, 153, 153), which text is still very legible, but moreover the line can be easily distinguished from the average background of (204, 204, 204).

Testen hebben aangetoond dat (voor de instellingen van FIG. 13(h), hetgeen betekent: een geperforeerde bitmap met 50% volledig-transparante pixels en 50% zuiver zwarte pixels, opgesteld in een schaakbordpatroon), zeer goede resultaten ook verkregen worden voor vele andere lijnkleuren naast zuiver rood, bijvoorbeeld een zwarte lijn met kleur (0, 0, 0), een blauwe lijn met kleur (0, 0, 255), een donker rode lijn met kleur (128, 0, 0), een donker blauwe lijn met kleur (0, 0, 128), een donker groene lijn met kleur (0, 50, 0), een donker teal lijn met kleur (0, 51, 102), een groene lijn met kleur (0, 128, 0), etc., in feite voor de meeste relatief donkere lijnen, maar ook voor de meeste relatief heldere lijnen, bv. een gele lijn met kleur (255, 255, 0), een helder groene lijn met kleur (0, 255, 0), een turquoise lijn met kleur (0, 255, 255), een lichtgrijze lijn van (192, 192, 192) etc. Bij voorkeur kan de lijnkleur door de gebruiker geselecteerd worden via een gebruikersinterface, die de gebruiker in staat stelt te selecteren uit een veelheid geschikte kleuren die goede resultaten opleveren.Tests have shown that (for the settings of FIG. 13 (h), which means: a perforated bitmap with 50% fully transparent pixels and 50% pure black pixels, arranged in a checkerboard pattern), very good results are also obtained for many other line colors besides pure red, for example a black line with color (0, 0, 0), a blue line with color (0, 0, 255), a dark red line with color (128, 0, 0), a dark blue line with color (0, 0, 128), a dark green line with color (0, 50, 0), a dark teal line with color (0, 51, 102), a green line with color (0, 128, 0 ), etc., in fact for most relatively dark lines, but also for most relatively bright lines, e.g. a yellow line with color (255, 255, 0), a bright green line with color (0, 255, 0 ), a turquoise line with color (0, 255, 255), a light gray line of (192, 192, 192) etc. Preferably, the line color can be selected by the user via a user interface, which can be allows the user to select from a variety of suitable colors that yield good results.

Terwijl de voorbeelden in FIG. 13 worden verschaft voor een overlaybitmap (geperforeerd of niet geperforeerd) met zwarte, donkergrijze, lichtgrijze of witte pixels, is de uitvinding daartoe niet beperkt, en de uitvinding werkt ook wanneer deze pixels geen grijswaardenpixels zijn, maar bijvoorbeeld blauwachtige pixels of geelachtige pixels zijn (bv. met kleur (81, 69, 44) of (83, 69, 40) ofWhile the examples in FIG. 13 are provided for an overlay bitmap (perforated or unperforated) with black, dark gray, light gray or white pixels, the invention is not limited thereto, and the invention also works when these pixels are not grayscale pixels, but are e.g. bluish pixels or yellowish pixels ( e.g. with color (81, 69, 44) or (83, 69, 40) or

BE2018/5637 (86, 69, 35) etc.) of roodachtige pixels, of eigenlijk ieder andere kleur. Op deze wijze kan de oorspronkelijk witte achtergrondkleur omgevormd worden tot een blauwachtige of geelachtige of roodachtige, ...achtergrond, hetgeen aangenamer kan zijn om te lezen. In het bijzonder hebben geelachtige pixels de neiging een papierachtig uitzicht te verschaffen, vooral in combinatie met een textuurbitmap (zie verder), en hebben blauwachtige pixels de neiging een hemel-achtige of dagachtig uitzicht te verschaffen, enz., zowel voor de geperforeerde bitmap als de niet-geperforeerde bitmap. Deze techniek kan bijvoorbeeld ook gebruikt worden om de blauw licht inhoud te verminderen die uitgezonden wordt door een display, hetgeen volgens sommige bronnen de slaap van de gebruiker kan beïnvloeden.BE2018 / 5637 (86, 69, 35) etc.) or reddish pixels, or any other color. In this way, the original white background color can be transformed into a bluish or yellowish or reddish, ... background, which may be more pleasant to read. In particular, yellowish pixels tend to provide a paper-like appearance, especially in combination with a texture bitmap (see below), and bluish pixels tend to provide a sky-like or day-like appearance, etc., both for the perforated bitmap and the non-perforated bitmap. This technique can also be used, for example, to reduce the blue light content emitted from a display, which some sources believe may affect user sleep.

FIG. 16 tot FIG. 18 tonen drie voorbeelden van een enigszins groter tekstfragment, waardoor een beter begrip mogelijk is van hoe een lezer de tekstuele informatie op een scherm zou zien.FIG. 16 to FIG. 18 show three examples of a slightly larger text fragment, allowing a better understanding of how a reader would view the textual information on a screen.

FIG. 16 is een screenshot (schermopname) van een tekstfragment geëxtraheerd uit US6333753B1, gepresenteerd door een PDF-viewer genoemd Nuance PDF Reader, waarbij het document geschaald is tot 200% in de PDF-viewer, weergegeven op een display met een native resolutie van 3840 x 2160 pixels, geconfigureerd met een resolutie van 2560 x 1440 pixels, en waarbij de tekst en applicaties geschaald zijn op 100% in Windows scherminstellingen. FIG. 17 tot FIG. 18 is een screenshot van hetzelfde tekstfragment, maar geoverlayed door een overlay-applicatie volgens de onderhavige uitvinding.FIG. 16 is a screenshot (screen shot) of a text fragment extracted from US6333753B1, presented by a PDF viewer called Nuance PDF Reader, with the document scaled to 200% in the PDF viewer, displayed on a display with a native resolution of 3840 x 2160 pixels, configured with a resolution of 2560 x 1440 pixels, and where the text and applications are scaled to 100% in Windows screen settings. FIG. 17 to FIG. 18 is a screenshot of the same text fragment, but overlayed by an overlay application according to the present invention.

FIG. 16 toont een voorbeeldmatige tekstfragment dat zwarte tekst op een witte achtergrond bevat. In feite geven vele applicaties tekstuele informatie niet als zuiver zwarte pixels weer, maar gebruiken ook grijswaardenpixels, vooral nabij de randen van de alfanumerieke tekens. Dit aspect is gekend, maar is niet bijzonder relevant voor de onderhavige uitvinding.FIG. 16 shows an exemplary text fragment that contains black text on a white background. In fact, many applications do not display textual information as pure black pixels, but also use grayscale pixels, especially near the edges of the alphanumeric characters. This aspect is known, but is not particularly relevant to the present invention.

FIG. 17 toont het tekstfragment van FIG. 16, geoverlayed door een overlayvenster dat een blauw lijnsegment bevat dat pixels met de kleur (R,G,B)=(0, 0, 255) bevat, en met het transparantieniveau T van het overlayvenster ingesteld op 50%. Het transparantieniveau T heeft enkel een invloed op de transparantie van de lijn, niet op de volledig transparante overlaypixels. Een dergelijk beeld kan waarschijnlijk ook verkregen worden met de LineReader-applicatie, zoals besproken in FIG. 3 en FIG. 4.FIG. 17 shows the text fragment of FIG. 16, overlayed by an overlay window containing a blue line segment containing pixels of the color (R, G, B) = (0, 0, 255), and with the transparency level T of the overlay window set to 50%. Transparency level T only affects the transparency of the line, not the fully transparent overlay pixels. Such an image can probably also be obtained with the LineReader application, as discussed in FIG. 3 and FIG. 4.

FIG. 18 toont het tekstfragment van FIG. 16, geoverlayed door een werkwijze volgens de onderhavige uitvinding, zoals beschreven in FIG. 9 en FIG. 10. De alfamengingswaarde is 50%, een minderheidsgedeelte van het overlaybeeld wordt ingenomen door een blauw lijnsegment met kleurwaarde vóór het mengen van (R,G,B)= (0, 0, 255), een meerderheidsgedeelte van het overlayvenster wordt ingenomen door een geperforeerde bitmap, waarbij deze bitmap 50% zuiver transparante pixels P6 heeft en 50% grijze pixels P7 met kleurwaarde vóór het mengen vanFIG. 18 shows the text fragment of FIG. 16, overlayed by a method of the present invention, as described in FIG. 9 and FIG. 10. The alpha blend value is 50%, a minority portion of the overlay image is occupied by a blue line segment with color value before mixing (R, G, B) = (0, 0.25), a majority portion of the overlay window is occupied by a perforated bitmap, this bitmap having 50% pure transparent pixels P6 and 50% gray pixels P7 with color value before mixing

BE2018/5637 (R,G,B)=(128, 128, 128), opgesteld in een dambordpatroon. Zoals begrepen kan worden uit FIG. 18, is de resulterende tekstuele informatie gemakkelijk te lezen, kan de lijn de gebruiker helpen om gefocusseerd te blijven, en kan de lijn gemakkelijk onderscheiden worden van de achtergrond.BE2018 / 5637 (R, G, B) = (128, 128, 128), arranged in a checkerboard pattern. As can be understood from FIG. 18, the resulting textual information is easy to read, the line can help the user to stay focused, and the line can be easily distinguished from the background.

De uitvinders gingen echter nog een stap verder, en experimenteerden ook met het overlayen van texturen (geperforeerd of niet geperforeerd). Testen hebben aangetoond dat het overlayen met bepaalde texturen een zuiver witte achtergrond (die glimmend lijkt) kan transformeren tot een matte achtergrond, die veel aangenamer kan zijn om te lezen. In één experiment werd een afbeelding gemaakt van een mistige hemel, werd een subafbeelding geëxtraheerd, werd een horizontale en verticale gradiënt verwijderd, werd de gemiddelde kleur aangepast, werd het contrast tussen de helderste pixels en de donkerste pixels aangepast, en werd de subafbeelding als een semitransparante overlay over het scherm getegeld (tiled), wat verrassend goede resultaten opleverde, in het bijzonder omdat het schijnbaar de glimmende witte achtergrond van de meeste tekstdocumenten verwijdert, en deze vervangt door een matte achtergrond, terwijl de tekst verrassend goed leesbaar blijft.However, the inventors went a step further, and also experimented with overlaying textures (perforated or unperforated). Tests have shown that overlay with certain textures can transform a pure white background (which appears shiny) into a matte background, which can be much more pleasant to read. In one experiment, an image was taken of a foggy sky, a sub-image was extracted, a horizontal and vertical gradient was removed, the average color was adjusted, the contrast between the brightest pixels and the darkest pixels was adjusted, and the sub-image was adjusted as a semi-transparent overlay tiled over the screen, which provided surprisingly good results, in particular because it seemingly removes the gleaming white background from most text documents, replacing it with a matte background, while leaving the text surprisingly easy to read.

Indien in de overlay geen semi-transparante lijn of kruis is toegevoegd (bv. voor het onderlijnen van te lezen tekst, of voor het aanduiden van de positie van een cel in een tabel of spreadsheet), dan kunnen goede resultaten verkregen worden door een relatief hoge transparantiewaarde te kiezen (bv. T in het bereik van ongeveer 80% tot 99% voor een nietgeperforeerde bitmap, of T in het bereik van ongeveer 60% tot 99% voor een geperforeerde bitmap).If no semi-transparent line or cross has been added in the overlay (e.g. for underlining text to be read, or for indicating the position of a cell in a table or spreadsheet), good results can be obtained by using a relatively high transparency value (eg T in the range of about 80% to 99% for a non-perforated bitmap, or T in the range of about 60% to 99% for a perforated bitmap).

Indien een lijn of kruis in het overlayvenster wordt toegevoegd, dan kan het beter zijn om de bitmap te perforeren, zoals hoger beschreven. Verrassenderwijs kan het textuurpatroon zelfs met een perforatie van 50% erg zichtbaar gemaakt worden, en kunnen esthetisch aantrekkelijke resultaten bekomen worden. Testen hebben echter aangetoond dat één enkele textuurbitmap mogelijks niet geschikt is voor alle transparantieniveaus, tenzij enige modificatie van de pixelwaarden wordt gedaan. In beide gevallen (geperforeerde of niet) dient het contrast van de textuurbitmap aangepast of afgestemd te worden als een functie van het transparantieniveau T of alfatransparantieniveau α van het overlayvenster.If a line or cross is added in the overlay window, it may be better to punch the bitmap as described above. Surprisingly, the texture pattern can be made very visible even with a 50% perforation, and aesthetically pleasing results can be obtained. However, tests have shown that a single texture bitmap may not be suitable for all transparency levels unless some modification of the pixel values is made. In either case (perforated or not), the contrast of the texture bitmap should be adjusted or adjusted as a function of the transparency level T or alpha transparency level α of the overlay window.

In voorkeursuitvoeringsvormen is het transparantieniveau T van het overlayvenster selecteerbaar of instelbaar door de gebruiker, en wordt het contrastniveau van de textuurbitmap automatisch aangepast als een eerste- of tweede-orde polynoom van het transparantieniveau T. De waarde van het contrast zelve is niet kritisch (dit kan typisch variëren van ongeveer 0,5 keer een optimale waarde tot ongeveer 2,0 keer de optimale waarde), maar het is belangrijk dat deze waarde niet vast is, maar aangepast kan worden wanneer de transparantie van het overlayvenster gevarieerd wordt, anders kan de textuur te uitgesproken zijn en storend voor de lezer, of bijna onzichtbaar zijn en er bijna hetzelfde uitzien als een monochrome kleuroverlay. Uiteraard is het ook mogelijk omIn preferred embodiments, the transparency level T of the overlay window is selectable or adjustable by the user, and the contrast level of the texture bitmap is automatically adjusted as a first or second order polynomial of the transparency level T. The value of the contrast itself is not critical (this can typically range from about 0.5 times an optimal value to about 2.0 times the optimal value), but it is important that this value is not fixed, but can be adjusted when the transparency of the overlay window is varied, otherwise the texture are too pronounced and disturbing to the reader, or are almost invisible and look almost the same as a monochrome color overlay. Of course it is also possible to

BE2018/5637 meerdere textuurbitmaps in de overlay-applicatie te gebruiken, maar dat verbruikt meer geheugenruimte, en kan vermeden worden.BE2018 / 5637 use multiple texture bitmaps in the overlay application, but that consumes more memory space, and can be avoided.

De uitvinders hebben gevonden dat goede resultaten, bv. bijna-optimale resultaten, worden verkregen wanneer het contrast zodanig wordt aangepast dat de textuur of het patroon nauwelijks zichtbaar is, of enigszins boven nauwelijks zichtbaar is. Indien het contrastniveau onder dit ideale waardebereik wordt gekozen, dan wordt een witte achtergrond omgezet in een glimmend (bv. glanzend kunststofachtig) achtergrond zonder dat de textuur of het patroon merkbaar is. Indien het contrastniveau boven dit ideale waardebereik wordt gekozen, wordt het patroon of de textuur dominant en kan dit de gebruiker afleiden. Wanneer het contrastniveau echter binnen het ideale waardebereik wordt gekozen, zal het patroon of de textuur een kleine variatie van de achtergrondkleur veroorzaken, hetgeen wordt gezien of ervaren als een textuur of een patroon of een matte kleur, en dit lijkt zelfs de scherpte van de teksttekens daaronder te verhogen. Het ideale waardebereik kan verschillend zijn voor iedere patroonbitmap, en is bij voorkeur ook afstembaar door de gebruiker, naast de automatische aanpassing gerelateerd aan de transparantiewaarde T.The inventors have found that good results, e.g. near-optimal results, are obtained when the contrast is adjusted so that the texture or pattern is barely visible, or slightly visible above. If the contrast level is chosen below this ideal value range, a white background is converted to a shiny (eg glossy plastic-like) background without the texture or pattern being noticeable. If the contrast level above this ideal value range is chosen, the pattern or texture becomes dominant and may distract the user. However, when the contrast level is chosen within the ideal value range, the pattern or texture will cause a slight variation of the background color, which is perceived or perceived as a texture or a pattern or a matte color, and this even appears to be the sharpness of the text characters below that. The ideal value range can be different for each pattern bitmap, and is preferably also user-tunable, in addition to the automatic adjustment related to the transparency value T.

FIG. 19 toont een schematisch blokdiagram van een computersysteem 1900 volgens een uitvoeringsvorm van de onderhavige uitvinding, dat gezien kan worden als een variant van het computersysteem van FIG. 10 en het computersysteem van FIG. 12. Het meeste van wat hierboven is beschreven, is ook hier van toepassing, behalve dat het overlaybeeld van het computersysteem 1900 van FIG. 19 ten minste twee semi-transparante elementen omvat: i) een (niet-geperforeerde) lijn 1910, en ii) een geperforeerde textuurbitmap 1930. De lijn 1910 is beweegbaar overeenkomstig bewegingen van de invoerinrichting 1903.FIG. 19 shows a schematic block diagram of a computer system 1900 according to an embodiment of the present invention, which can be viewed as a variant of the computer system of FIG. 10 and the computer system of FIG. 12. Most of what has been described above applies here, too, except that the overlay image of the computer system 1900 of FIG. 19 comprises at least two semi-transparent elements: i) a (non-perforated) line 1910, and ii) a perforated texture bitmap 1930. The line 1910 is movable according to movements of the input device 1903.

De geperforeerde textuurbitmap kan afgeleid worden uit een vooraf gedefinieerde textuurbitmap (zie bijvoorbeeld FIG. 27) door het toekennen van een pseudo-kleurwaarde die overeenkomt met een vooraf gedefinieerde volledig-transparantiewaarde aan de helft van de pixellocaties, dat zijn de pixels P6, en door het optioneel wijzigen van de gemiddelde kleur van de andere pixels P8, het optioneel aanpassen van het contrast van de pixels P8, en het optioneel tegelen (tiling) van de genoemde bitmap om het gebied van het overlayvenster 2083 te vullen.The perforated texture bitmap can be derived from a predefined texture bitmap (see, for example, FIG. 27) by assigning a pseudo color value corresponding to a predefined full transparency value to half of the pixel locations, which are the pixels P6, and by optionally changing the average color of the other pixels P8, optionally adjusting the contrast of the pixels P8, and optionally tiling the said bitmap to fill the area of the overlay window 2083.

FIG. 20 is een schematische voorstelling van een Z-orde van vier vensters of beeldvlakken 2081-2084 die gebruikt kunnen worden in het computersysteem van FIG. 19.FIG. 20 is a schematic representation of a Z-order of four windows or image planes 2081-2084 that can be used in the computer system of FIG. 19.

FIG. 21 toont een schematisch blokdiagram van een ander computersysteem 2100 volgens een uitvoeringsvorm van de onderhavige uitvinding, welk computersysteem een overlay-applicatie bevat voor het verschaffen van een overlayvenster dat ten minste één semi-transparant object omvat in de vorm van een zogenoemde geperforeerde textuurbitmap met een eerste veelheid volledigFIG. 21 shows a schematic block diagram of another computer system 2100 according to an embodiment of the present invention, which computer system includes an overlay application for providing an overlay window comprising at least one semi-transparent object in the form of a so-called perforated texture bitmap with a first multitude completely

BE2018/5637 transparante pixels P6 en een tweede veelheid ondoorzichtige of semi-transparante pixels P8. Deze uitvoeringsvorm is een variant van de uitvoeringsvorm van FIG. 21, waarbij de lijn 1910 is weggelaten.BE2018 / 5637 transparent pixels P6 and a second plurality of opaque or semi-transparent pixels P8. This embodiment is a variant of the embodiment of FIG. 21, omitting line 1910.

FIG. 22 is een schematische voorstelling van een Z-orde van vier vensters of beeldvlakken 2281-2284 die gebruikt kunnen worden in het computersysteem van FIG. 21. Zoals hoger beschreven kan de overlay-applicatie ook een tweede, ondoorzichtig gebruikersinterface-venster (niet getoond) hebben, waar een gebruiker een gemiddelde kleur van de pixels P8 kan selecteren, en/of de alfatransparantiewaarde α kan bijstellen, en/of handmatig een contrast van de textuurbitmap kan aanpassen, en/of een textuurbitmap uit een lijst van textuurbitmaps kan selecteren.FIG. 22 is a schematic representation of a Z-order of four windows or image planes 2281-2284 that can be used in the computer system of FIG. 21. As described above, the overlay application may also have a second, opaque user interface window (not shown), where a user can select an average color of the pixels P8, and / or adjust the alpha transparency value α, and / or manually can adjust a contrast of the texture bitmap, and / or select a texture bitmap from a list of texture bitmaps.

FIG. 23 toont een schematisch blokdiagram van een ander computersysteem 2300 volgens een uitvoeringsvorm van de onderhavige uitvinding, welk computersysteem een overlay-applicatie bevat voor het verschaffen van een overlayvenster dat ten minste één semi-transparant object omvat in de vorm van een zogenoemde niet-geperforeerde textuurbitmap bestaande uit een veelheid semitransparante pixels P8. Deze uitvoeringsvorm is een variant van de uitvoeringsvorm van FIG. 23, waarbij de volledig transparante pixels P6 worden weggelaten.FIG. 23 shows a schematic block diagram of another computer system 2300 according to an embodiment of the present invention, which computer system includes an overlay application for providing an overlay window containing at least one semi-transparent object in the form of a so-called non-perforated texture bitmap consisting of a plurality of semi-transparent pixels P8. This embodiment is a variant of the embodiment of FIG. 23, omitting the fully transparent pixels P6.

FIG. 24 is een schematische voorstelling van een Z-orde van vier vensters of beeldvlakken 2481-2484 die gebruikt kunnen worden in het computersysteem 2300 van FIG. 23.FIG. 24 is a schematic representation of a Z-order of four windows or image planes 2481-2484 that can be used in the computer system 2300 of FIG. 23.

Zoals begrepen kan worden uit FIG. 14 en FIG. 15, verschaffen uitvoeringsvormen met een overlay-applicatie met een geperforeerde textuurbitmap (geïllustreerd in FIG. 21 en FIG. 22) voor een transparantieniveau T in het bereik van 0% tot 100% enerzijds, en uitvoeringsvormen met een overlayapplicatie met een niet-geperforeerde textuurbitmap (geïllustreerd in FIG. 23 en FIG. 24) voor een transparantieniveau T in het bereik van 50% tot 100% anderzijds, (spatiaal gemiddeld) vergelijkbare resultaten. Deze uitvoeringsvormen zijn uitermate bruikbaar voor het omzetten van een glanzend (bv. kunststofachtig) achtergrondvlak naar een mat (bv. papierachtig) achtergrondvlak, hetgeen aangenamer is om te lezen.As can be understood from FIG. 14 and FIG. 15, provide embodiments with an overlay application with a perforated texture bitmap (illustrated in FIG. 21 and FIG. 22) for a transparency level T ranging from 0% to 100% on the one hand, and embodiments with an overlay application with a non-perforated texture bitmap (illustrated in FIG. 23 and FIG. 24) for a transparency level T in the range of 50% to 100% on the other hand, (spatial average) comparable results. These embodiments are extremely useful for converting a glossy (e.g. plastic-like) background surface into a matte (e.g. paper-like) background surface, which is more pleasant to read.

FIG. 25 toont het tekstfragment van FIG. 16, geoverlayed (overdekt) door een overlaybeeld gebruikmakende van een transparantieniveau T van 50% (of een alfamengingswaarde van 50%), waarbij een minderheidsgedeelte van het overlaybeeld is ingenomen door een blauw lijnsegment (zoals in FIG. 16) en een meerderheidsgedeelte van het overlayvenster een geperforeerde textuurbitmap omvat, waarbij de bitmap 50% volledig transparante pixels heeft en waarbij de andere 50% pixels een textuurbitmap vormen met een gemiddelde kleurwaarde van (R,G,B)=(128, 128, 128). Het resulterende geoverlayed beeld heeft dus een gemiddelde kleur van ongeveer (224, 224, 224).FIG. 25 shows the text fragment of FIG. 16, overlayed (covered) by an overlay image using a transparency level T of 50% (or an alpha blend value of 50%), where a minority portion of the overlay image is occupied by a blue line segment (as in FIG. 16) and a majority portion of the overlay window includes a perforated texture bitmap, the bitmap having 50% fully transparent pixels and the other 50% pixels forming a texture bitmap with an average color value of (R, G, B) = (128, 128, 128). Thus, the resulting overlayed image has an average color of approximately (224, 224, 224).

BE2018/5637BE2018 / 5637

Vergelijking van FIG. 25 en FIG. 18 verschaft een voorbeeld van het verschil tussen een overlay met een geperforeerde monochrome bitmap, en een overlay met een geperforeerde textuurbitmap. Dit overlaybeeld kan gecreëerd worden door het computersysteem 1900 van FIG. 19.Comparison of FIG. 25 and FIG. 18 provides an example of the difference between an overlay with a perforated monochrome bitmap, and an overlay with a perforated texture bitmap. This overlay image can be created by the computer system 1900 of FIG. 19.

FIG. 26 toont een voorbeeld van een overlaybeeld zoals gegenereerd kan worden door het computersysteem van FIG. 23, gebruikmakende van een niet-geperforeerde textuurbitmap met een gemiddelde kleur van ongeveer (61, 61, 61) en gebruikmakende van een transparantieniveau van T=80%, wat resulteert in een gemiddelde achtergrondkleur van het geoverlayed beeld van ongeveer (216, 216, 216). Vergelijking van FIG. 26 en FIG. 25 demonstreert dat het gebruikmaken van een geperforeerde bitmap de beeldkwaliteit, en daardoor de leesbaarheid van de tekstuele informatie, niet of niet significant verslechtert.FIG. 26 shows an example of an overlay image as can be generated by the computer system of FIG. 23, using a non-perforated texture bitmap with an average color of about (61, 61, 61) and using a transparency level of T = 80%, resulting in an average background color of the overlayed image of about (216, 216, 216). Comparison of FIG. 26 and FIG. 25 demonstrates that using a perforated bitmap does not or does not significantly degrade the image quality, and therefore the readability of the textual information.

FIG. 27 toont de voorbeeldmatige textuurbitmap die gebruikt werd om het beeld van FIG. 25 te genereren, vóór kleuraanpassing, contrastaanpassing en perforatie. In dit voorbeeld was de textuurbitmap een grijswaardenbeeld, maar de uitvinding is daartoe niet beperkt, en gekleurde textuurbeelden kunnen eveneens gebruikt worden.FIG. 27 shows the exemplary texture bitmap used to image the FIG. 25, before color adjustment, contrast adjustment and perforation. In this example, the texture bitmap was a grayscale image, but the invention is not limited thereto, and colored texture images can also be used.

Experimenten hebben aangetoond dat de textuurbitmap eenvoudig omgevormd kan worden tot een andere textuurbitmap met een gewenste kleur (Rnew,Gnew,Bnew) door elk van de kleurcomponenten afzonderlijk te behandelen, bijvoorbeeld gebruikmakende van de volgende formules of equivalente formules:Experiments have shown that the texture bitmap can be easily transformed into another texture bitmap of a desired color (Rnew, Gnew, Bnew) by treating each of the color components separately, for example using the following formulas or equivalent formulas:

Rnew[x,y] = minmax(0, CF x (Rorig[x,y]-Ravg) + Rnew, 255);Rnew [x, y] = minmax (0, CF x (Rorig [x, y] -Ravg) + Rnew, 255);

Gnew[x,y] = minmax(0, CF x (Gorig[x,y]-Gavg) + Gnew, 255);Gnew [x, y] = minmax (0, CF x (Gorig [x, y] -Gavg) + Gnew, 255);

Bnew[x,y] = minmax(0, CF x (Borig[x,y]-Bavg) + Bnew, 255);Bnew [x, y] = minmax (0, CF x (Borig [x, y] -Bavg) + Bnew, 255);

[6] [7] [8] waarbij Rnew[x,y] de Rode component is van de pixel van de nieuwe textuurbitmap op positie (x,y); en Rorig [x,y] de Rode component is van de pixel van de oorspronkelijke textuurbitmap op positie (x,y); en CF de contrastfactor is (CF=1 betekent: geen contrastverhoging, CF<1 betekent het contrast verminderen, CF>1 betekent het contrast vergroten); Ravg is de gemiddelde Rode kleurcomponent,[6] [7] [8] where Rnew [x, y] is the Red component of the pixel of the new texture bitmap at position (x, y); and Rorig [x, y] is the Red component of the pixel of the original texture bitmap at position (x, y); and CF is the contrast factor (CF = 1 means no contrast increase, CF <1 means decrease contrast, CF> 1 means increase contrast); Ravg is the mean Red color component,

Gavg is de gemiddelde Groene kleurcomponent, en Bavg is de gemiddelde Blauwe kleurcomponent van de oorspronkelijke textuurbitmap; en waarbij minmax(a,b,c) een functie is die het resultaat b verschaft begrensd tot het bereik van a tot c, die dus de waarde b retourneert tenzij b<a in welk geval a wordt geretourneerd, of tenzij b>c in welk geval c wordt geretourneerd. CF is een drijvende kommagetal, maar het resultaat van elke formule wordt omgezet naar een geheel getal van 0 tot 255 (ook byte genoemd).Gavg is the average Green color component, and Bavg is the average Blue color component of the original texture bitmap; and where minmax (a, b, c) is a function that provides the result b limited to the range from a to c, thus returning the value b unless b <a in which case a is returned, or unless b> c in which case c is returned. CF is a floating point number, but the result of each formula is converted to an integer from 0 to 255 (also called byte).

BE2018/5637BE2018 / 5637

CF kan berekend worden gebruikmakende van één van de volgende formules, of een equivalente formule:CF can be calculated using one of the following formulas, or an equivalent formula:

CF = K + L x T ; [9] ofCF = K + L x T; [9] or

CF = M + N x T + Q x (TxT) [10] waarbij K, L, M, N, Q vooraf gedefinieerde constanten zijn die afhankelijk kunnen zijn van de specifiek gekozen textuurbitmap, en T het transparantieniveau van het overlayvenster is.CF = M + N x T + Q x (TxT) [10] where K, L, M, N, Q are predefined constants that may depend on the specific texture bitmap chosen, and T is the transparency level of the overlay window.

In eenvoudige termen uitgedrukt, kunnen deze formules gebruikt worden om een histogram van de pixelwaarden van de textuurbitmap omhoog of omlaag te verschuiven (bijvoorbeeld van Ravg naar Rnew), en die de breedte van de histogramkarakteristiek kunnen verbreden of versmallen.In simple terms, these formulas can be used to shift a histogram up or down the pixel values of the texture bitmap (for example, from Ravg to Rnew), and which can widen or narrow the width of the histogram characteristic.

FIG. 28 illustreert schematisch hoe het overlayen met een geperforeerde bitmap, bijvoorbeeld een geperforeerde monochrome bitmap of een geperforeerde textuurbitmap, die herhaaldelijk heen en weer wordt verschoven over een afstand van één enkele pixel, gebruikt kan worden voor tijdmultiplexing of tijdmiddeling, bijkomend aan het spatiaal middelen.FIG. 28 schematically illustrates how the overlay with a perforated bitmap, for example a perforated monochrome bitmap or a perforated texture bitmap, which is repeatedly shifted back and forth by a single pixel distance, can be used for time multiplexing or time averaging, in addition to spatial averaging.

FIG. 28 (op tijd t1) toont een patroon bestaande uit vier pixels, twee van deze pixels zijn volledig transparante pixels P6, de andere twee pixels zijn kleurpixels die ondoorzichtig zijn of die alfagemengd zullen worden. Dit patroon van 2x2 pixels wordt typisch herhaald (getegeld) over de gehele overlaybitmap.FIG. 28 (at time t1) shows a pattern consisting of four pixels, two of these pixels are fully transparent pixels P6, the other two pixels are color pixels that are opaque or that will be alpha mixed. This 2x2 pixel pattern is typically repeated (tiled) over the entire overlay bitmap.

FIG. 28 (op tijd t2) toont een patroon gelijkend op dat van FIG. 28 (op tijd t1), maar waarbij andere pixellocaties volledig transparant zijn.FIG. 28 (at time t2) shows a pattern similar to that of FIG. 28 (at time t1), but where other pixel locations are completely transparent.

Het is interessant om op te merken dat het patroon van FIG. 28 (op t2) kan verkregen worden door een loutere verschuiving van de bitmap van FIG. 28 (op t1) met 1 pixel omhoog, of 1 pixel naar links, of 1 pixel naar rechts of 1 pixel omlaag. Dus indien de overlaybitmap opzettelijk 1 pixel breder en/of 1 pixel hoger wordt gekozen dan de breedte W en de hoogte H van het overlayvenster, en indien de overlaybitmap ieder frame met 1 pixelpositie heen en weer wordt verschoven, of iedere twee frames, of iedere drie frames, dan wordt het onderliggend beeld op een tijd-gemultiplexte wijze geoverlayedd. Indien de multiplexfrequentie voldoende hoog is (bijvoorbeeld ten minste 15 Hz of ten minste 20 Hz of ten minste 25 Hz of ten minste 30 Hz), dan kan tijdmultiplexing visuele artefacten veroorzaakt door het overlayen met de geperforeerde bitmap, verminderen. Indien de multiplexfrequentie laag is (bijvoorbeeld minder dan 10 Hz), dan kunnen pixels aan randen schijnbaar wervelen.It is interesting to note that the pattern of FIG. 28 (at t2) can be obtained by a mere shift of the bitmap of FIG. 28 (at t1) by 1 pixel up, or 1 pixel to the left, or 1 pixel to the right or 1 pixel down. So if the overlay bitmap is intentionally chosen 1 pixel wider and / or 1 pixel higher than the width W and height H of the overlay window, and if the overlay bitmap is shifted back and forth each frame by 1 pixel position, or every two frames, or each three frames, the underlying image is overlaid in a time-multiplexed manner. If the multiplex frequency is sufficiently high (e.g., at least 15 Hz or at least 20 Hz or at least 25 Hz or at least 30 Hz), time multiplexing can reduce visual artifacts caused by overlay with the perforated bitmap. If the multiplex frequency is low (for example, less than 10 Hz), pixels on edges may appear to swirl.

Het is ook mogelijk om twee afzonderlijke bitmaps te gebruiken, elk ter grootte van W x H, en afwisselend te alfamengen met de ene of de andere bitmap, maar een dergelijke implementatie zou meer geheugen vereisen en meer tijd om de twee bitmaps te creëren, en geniet derhalve niet de voorkeur.It is also possible to use two separate bitmaps, each of the size W x H, and to alternately mix with one bitmap, but such an implementation would require more memory and more time to create the two bitmaps, and is therefore not preferred.

BE2018/5637BE2018 / 5637

FIG. 29 en FIG. 30 zijn volledigheidshalve toegevoegd om te tonen dat de hierboven beschreven principes nog steeds werken, ondanks verdere beeldverwerking buiten de overlayapplicatie zelve. Experimenten hebben aangetoond dat de schermresolutie en de schaalfactor of zoomfactor voor tekst en applicaties geselecteerd in het rekenapparaat ook beïnvloeden hoe het uiteindelijke beeld er zal uitzien. Twee specifieke voorbeelden worden hier getoond, in FIG. 29 (a)-(c) enerzijds en FIG. 30 (a)-(c) anderzijds.FIG. 29 and FIG. 30 have been added for the sake of completeness to show that the principles described above still work despite further image processing outside of the overlay application itself. Experiments have shown that the screen resolution and the scaling factor or zoom factor for text and applications selected in the calculator also affect how the final image will look. Two specific examples are shown here, in FIG. 29 (a) - (c) on the one hand and FIG. 30 (a) - (c) on the other.

FIG. 29(a) toont een screenshot van hetzelfde beeld als werd gebruikt in FIG. 18 (met een geperforeerde monochrome bitmap-overlay), maar met 2 lijnen, weergegeven op een weergaveinrichting met een native resolutie van 3840 x 2160, geconfigureerd aan een resolutie van 2560 x 1440, met een schaalfactor (of zoomfactor) voor tekst en applicaties van 100%, zoals bijvoorbeeld geselecteerd kan worden in het schermresolutie dialoogvenster in geval van het Windows 10 besturingssysteem.FIG. 29 (a) shows a screenshot of the same image as used in FIG. 18 (with a perforated monochrome bitmap overlay), but with 2 lines, displayed on a display device with a native resolution of 3840 x 2160, configured at a resolution of 2560 x 1440, with a scale factor (or zoom factor) for text and applications of 100%, as for example can be selected in the screen resolution dialog in case of the Windows 10 operating system.

FIG. 29(b) toont het beeld van FIG. 29(a), ingezoomd met een factor van ongeveer 350%. In dit beeld kunnen individuele pixels onderscheiden worden. Het dambordpatroon wordt zichtbaar maar de tekst blijft zeer goed leesbaar.FIG. 29 (b) shows the image of FIG. 29 (a), zoomed in by a factor of about 350%. Individual pixels can be distinguished in this image. The checkerboard pattern becomes visible but the text remains very legible.

FIG. 29(c) toont een gedeelte van het beeld van FIG. 29(b), verder ingezoomd met een factor van ongeveer 200%, dus in totaal ingezoomd met een factor van ongeveer 700%. In dit beeld is het effect van het overlayen met een geperforeerde bitmap met 50% volledig transparante pixels en 50% semi-transparante pixels duidelijk zichtbaar. Het was erg verrassend voor de uitvinders dat de individuele pixels niet, of niet in belangrijke mate merkbaar zijn in FIG. 29(a), zelfs al zijn ze daadwerkelijk aanwezig.FIG. 29 (c) shows a portion of the image of FIG. 29 (b), zoomed in further by a factor of about 200%, i.e. zoomed in total by a factor of about 700%. In this image, the effect of overlaying a perforated bitmap with 50% fully transparent pixels and 50% semi-transparent pixels is clearly visible. It was very surprising to the inventors that the individual pixels are not, or not significantly, noticeable in FIG. 29 (a) even if they are actually present.

FIG. 30(a) toont hetzelfde beeld als FIG. 29(a), weergegeven op een weergave-inrichting met een native resolutie van 3840 x 2160, geconfigureerd aan een resolutie van 2560 x 1440, maar met een schaalfactor (of zoomfactor) voor tekst en applicaties van 125%, zoals bijvoorbeeld geselecteerd kan worden in het schermresolutie dialoogvenster in geval van het Windows 10 besturingssysteem.FIG. 30 (a) shows the same image as FIG. 29 (a), displayed on a display device with a native resolution of 3840 x 2160, configured at a resolution of 2560 x 1440, but with a scaling factor (or zoom factor) for text and applications of 125%, as can be selected, for example in the screen resolution dialog in case of the Windows 10 operating system.

FIG. 30(b) toont het beeld van FIG. 30(a), ingezoomd met een factor van ongeveer 350%. In dit beeld kunnen individuele pixels onderscheiden worden, maar het dambordpatroon is minder uitgesproken.FIG. 30 (b) shows the image of FIG. 30 (a), zoomed in by a factor of about 350%. Individual pixels can be distinguished in this image, but the checkerboard pattern is less pronounced.

FIG. 30(c) toont een gedeelte van het beeld van FIG. 30(b), verder ingezoomd met een factor van ongeveer 200%, dus in totaal ingezoomd met een factor van ongeveer 700%. In dit beeld is het effect van het overlayen met een geperforeerde bitmap met 50% volledig transparante pixels, en 50% semi-transparante pixels niet langer duidelijk zichtbaar, maar in plaats daarvan lijkt een patroon van 5 bij 5 pixels aan het beeld te zijn toegevoegd, waarschijnlijk als gevolg van filtering gerelateerd aan het zoomen, uitgevoerd buiten de overlay-applicatie, maar binnen de computerinrichting, aangezien een screenshot gemaakt kan worden.FIG. 30 (c) shows a portion of the image of FIG. 30 (b), zoomed in further by a factor of about 200%, i.e. zoomed in total by a factor of about 700%. In this image, the effect of overlaying a perforated bitmap with 50% fully transparent pixels and 50% semi-transparent pixels is no longer clearly visible, but instead a pattern of 5 by 5 pixels seems to have been added to the image , probably due to filtering related to zoom, performed outside the overlay application, but inside the computer device, since a screenshot can be taken.

BE2018/5637BE2018 / 5637

Wederom zijn de individuele pixels niet, of niet in belangrijke mate merkbaar in FIG. 30(a), ook al zijn ze daadwerkelijk aanwezig. De tekst van FIG. 30(a) is zeer goed leesbaar, en de lijn is gemakkelijk onderscheidbaar van de achtergrond.Again, the individual pixels are not, or not significantly, noticeable in FIG. 30 (a), even if they are actually present. The text of FIG. 30 (a) is very legible, and the line is easily distinguishable from the background.

Het lijkt een kwestie van smaak te zijn welk van de twee beelden, dat van FIG. 29(a) of dat vanIt seems to be a matter of taste which of the two images, that of FIG. 29 (a) or that of

FIG. 30(a) het beste is. Het beeld van FIG. 29(a) lijkt enigszins scherper, dat van FIG. 30(a) lijkt enige rimpel of patroon te vertonen vanwege het gecombineerde effect van de perforatie gevolgd door filtering, wat eveneens esthetisch aantrekkelijk is, aangezien het de indruk geeft van een matte achtergrond. In ieder geval verschaffen beide beelden een tekst die gemakkelijk leesbaar is, zowel tekst op de achtergrond alsook tekst onder de lijn, en in beide gevallen is de lijn gemakkelijk te onderscheiden van de achtergrond, en in beide gevallen is de gemiddelde helderheid van de witte achtergrond gereduceerd, hetgeen tot minder oogvermoeidheid kan leiden.FIG. 30 (a) is best. The image of FIG. 29 (a) appears somewhat sharper, that of FIG. 30 (a) appears to show some wrinkle or pattern due to the combined effect of the perforation followed by filtering, which is also aesthetically pleasing as it gives the impression of a matte background. In any case, both images provide text that is easy to read, both text in the background and text below the line, and in both cases the line is easily distinguishable from the background, and in both cases the average brightness of the white background reduced, which can lead to less eye fatigue.

Experimenten met andere schaalfactoren voor tekst en applicaties (in het bijzonder 150%, 175%, 225%, 250%, 350%) tonen resultaten vergelijkbaar met die van FIG. 30(a) tot FIG. 30(c), terwijl schaalfactoren van 200% of 300% resultaten lijken op te leveren vergelijkbaar met die van FIG. 29(a) tot FIG. 29(c).Experiments with other scale factors for text and applications (in particular 150%, 175%, 225%, 250%, 350%) show results similar to those of FIG. 30 (a) to FIG. 30 (c), while scale factors of 200% or 300% appear to yield results similar to those of FIG. 29 (a) to FIG. 29 (c).

FIG. 31 toont een flowdiagram van een computer-geïmplementeerde werkwijze volgens sommige uitvoeringsvormen van de onderhavige uitvinding. Deze werkwijze wordt uitgevoerd door een computersysteem van FIG. 9, FIG. 11, FIG. 19, FIG. 21, FIG. 36 en FIG. 38.FIG. 31 shows a flow chart of a computer-implemented method according to some embodiments of the present invention. This method is performed by a computer system of FIG. 9, FIG. 11, FIG. 19, FIG. 21, FIG. 36 and FIG. 38.

In stap 3101 wordt een overlayvenster verschaft.An overlay window is provided in step 3101.

Het overlayvenster kan geconfigureerd zijn als een ondoorzichtig venster, hetgeen betekent dat dit venster niet-transparante pixels en/of volledig transparante pixels kan hebben, maar geen semi-transparante pixels.The overlay window can be configured as an opaque window, which means that this window can have non-transparent pixels and / or fully transparent pixels, but not semi-transparent pixels.

Alternatief kan het overlayvenster geconfigureerd zijn als een semi-transparant venster met een alfatransparantie α in het bereik van 1% tot 99% of van 2% tot 98% of van 5% tot 95%, hetgeen betekent dat dit venster volledig transparante pixels en/of semi-transparante pixels kan hebben, maar geen volledig ondoorzichtige pixels.Alternatively, the overlay window can be configured as a semi-transparent window with an alpha transparency α in the range from 1% to 99% or from 2% to 98% or from 5% to 95%, which means that this window has completely transparent pixels and / or semi-transparent pixels, but not completely opaque pixels.

In stap 3102 wordt ten minste één zichtbaar object verschaft in het genoemde overlayvenster, waarbij het ten minste één zichtbaar object een bitmap omvat met een eerste veelheid pixels P6 die volledig transparante pixels zijn, en een tweede veelheid pixels P7, P8 die ondoorzichtige pixels of semi-transparante pixels zijn (dus niet volledig transparante pixels); en waarbij de eerste veelheid pixels P6 en de tweede veelheid pixels P7, P8 geïnterleaved (afwisselend opgesteld) zijn, bijvoorbeeld opgesteld volgens een dambordpatroon.In step 3102, at least one visible object is provided in said overlay window, the at least one visible object comprising a bitmap with a first plurality of pixels P6 which are fully transparent pixels, and a second plurality of pixels P7, P8 which are opaque pixels or semi -transparent pixels (ie not completely transparent pixels); and wherein the first plurality of pixels P6 and the second plurality of pixels P7, P8 are interleaved (alternately arranged), for example arranged in a checkerboard pattern.

In stap 3103 wordt het overlayvenster geconfigureerd in doorklikmodus.In step 3103, the overlay window is configured in click-through mode.

Stap 3103 kan uitgevoerd worden vóór stap 3102.Step 3103 can be performed before step 3102.

BE2018/5637BE2018 / 5637

In een uitvoeringsvorm is het overlayvenster geconfigureerd als een ondoorzichtig venster, en zijn de tweede veelheid pixels P7, P8 ondoorzichtige pixels.In one embodiment, the overlay window is configured as an opaque window, and the second plurality of pixels P7, P8 are opaque pixels.

In een andere uitvoeringsvorm is het overlayvenster geconfigureerd als een semi-transparant venster, en zijn de tweede veelheid pixels semi-transparante pixels.In another embodiment, the overlay window is configured as a semi-transparent window, and the second plurality of pixels are semi-transparent pixels.

Met geconfigureerd in doorklikmodus wordt bedoeld dat het besturingssysteem O/S is geïnformeerd dat input-berichten (bv. veroorzaakt door muis- en toetsenbord-events) naar één of meerdere applicaties moeten gestuurd worden, die geoverlayed worden, of naar componenten daarvan, in plaats van naar de overlay-applicatie zelve. Of meer correct, indien de overlay-applicatie bijvoorbeeld twee vensters bevat, één gebruikersinterface-venster dat niet in doorklikmodus geconfigureerd is en een ander venster dat wel in doorklikmodus geconfigureerd is, dan zal het O/S muis-events naar het gebruikersinterface-venster sturen wanneer de muis zich boven dit UI-venster bevindt, en naar de één of meerdere onderliggende applicaties indien de muis zich boven het doorklikvenster bevindt, maar niet boven het gebruikersinterface-venster.Configured in click-through mode means that the operating system O / S is informed that input messages (e.g. caused by mouse and keyboard events) must be sent to one or more applications that are overlayed, or to components thereof, instead from to the overlay application itself. Or more correctly, if the overlay application contains, for example, two windows, one user interface window that is not configured in click-through mode and another window that is configured in click-through mode, it will send O / S mouse events to the user interface window when the mouse is over this UI window, and to the one or more underlying applications if the mouse is over the click-through window, but not above the user interface window.

FIG. 32 toont een flowdiagram van een meer specifieke werkwijze 3200 volgens een voorkeursuitvoeringsvorm van de onderhavige uitvinding. Deze werkwijze wordt uitgevoerd door een computersysteem van FIG. 9, FIG. 11, FIG. 19, FIG. 36 en FIG. 38.FIG. 32 shows a flow chart of a more specific method 3200 according to a preferred embodiment of the present invention. This method is performed by a computer system of FIG. 9, FIG. 11, FIG. 19, FIG. 36 and FIG. 38.

In stap 3201 wordt een overlayvenster verschaft, en geconfigureerd als een semi-transparant venster met een alfatransparantie α in het bereik van 1% tot 99% of van 2% tot 98% of van 5% tot 95% of van 10% tot 90% of van 20% tot 80% of van 30% tot 70%.In step 3201, an overlay window is provided, and configured as a semi-transparent window with an alpha transparency α in the range of 1% to 99% or from 2% to 98% or from 5% to 95% or from 10% to 90% or from 20% to 80% or from 30% to 70%.

In stap 3202 wordt ten minste één zichtbaar object (bv. een horizontale lijn) in het genoemde overlayvenster verschaft, die slechts een minderheidsgedeelte (bv. minder dan 20% of minder dan 10%) van het gebied van het overlayvenster inneemt. Bijvoorbeeld, indien het overlayvenster een breedte W en een hoogte H heeft, dan kan het eerste object bijvoorbeeld een korte horizontale lijn zijn met een lengte kleiner dan W/2 en een hoogte kleiner dan H/10, en dus een gebied innemen dat kleiner is dan WxH/20; of kan bijvoorbeeld een horizontale lijn zijn die zich uitstrekt over de ganse breedte W van het overlayvenster, en die een hoogte heeft kleiner dan H/10, dus een gebied inneemt dat kleiner is dan WxH/10.In step 3202, at least one visible object (e.g., a horizontal line) is provided in said overlay window, which occupies only a minority portion (e.g., less than 20% or less than 10%) of the area of the overlay window. For example, if the overlay window has a width W and a height H, the first object can be, for example, a short horizontal line with a length less than W / 2 and a height less than H / 10, thus occupying an area that is smaller then WxH / 20; or may be, for example, a horizontal line extending across the entire width W of the overlay window, having a height less than H / 10, thus occupying an area smaller than WxH / 10.

In stap 3203 wordt een bitmap, of een object met een bitmap verschaft, welke bitmap een eerste veelheid pixels P6 heeft die volledig transparant zijn, en een tweede veelheid pixels P7, P8 met een kleurwaarde die alfagemengd dient te worden met pixels van één of meerdere onderliggende vensters. De tweede veelheid pixels P7 kunnen alle dezelfde kleur hebben (geperforeerde monochrome bitmap), of zij kunnen verschillende kleuren hebben. De kleuren kunnen een kleurgradiënt vormen, of kunnen een textuurbitmap vormen. De eerste en tweede veelheid pixels zijn geïnterleaved (afwisselend gepositioneerd), bijvoorbeeld volgens een vast patroon, bijvoorbeeld een schaakbordpatroon. De bitmap kan zich boven het zichtbaar object bevinden.In step 3203, a bitmap, or an object with a bitmap, is provided, which bitmap has a first plurality of pixels P6 that are completely transparent, and a second plurality of pixels P7, P8 with a color value to be alpha mixed with pixels of one or more underlying windows. The second plurality of pixels P7 can all be the same color (perforated monochrome bitmap), or they can be different colors. The colors can form a color gradient, or can form a texture bitmap. The first and second plurality of pixels are interleaved (alternately positioned), for example according to a fixed pattern, for example a checkerboard pattern. The bitmap can be above the visible object.

BE2018/5637BE2018 / 5637

In stap 3204 wordt het overlayvenster geconfigureerd als een zogenoemd doorklikvenster. Het besturingssysteem zal input-events zoals muisklikken en muisbewegingen naar de één of meerdere onderliggende vensters (of naar het bureaubladvenster) versturen.In step 3204, the overlay window is configured as a so-called click-through window. The operating system will send input events such as mouse clicks and mouse movements to one or more underlying windows (or to the desktop window).

In stap 3205 wordt positie-informatie X,Y van een zogenoemde muisaanwijzer of muiscursor verkregen, bijvoorbeeld in de vorm van schermcoördinaten. De muiscursorpositie kan bijvoorbeeld opgevraagd worden bij het besturingssysteem, bijvoorbeeld in het geval van het Windows O/S door gebruik te maken van de functie GetCursorPos. Het is een voordeel om deze coördinaten te gebruiken omdat dit het mogelijk maakt om het ten minste eerste zichtbaar object uit te lijnen of te positioneren ten opzichte van de muiscursor. Alternatief kan bewegingsinformatie of verplaatsingsinformatie dx, dy verkregen worden van het besturingssysteem in de vorm van ruwe input-berichten, bijvoorbeeld door het besturingssysteem te configureren om ruwe input-berichten te verzenden, en door de overlay-applicatie te configureren om ruwe input-berichten te ontvangen en te verwerken. Dit aspect is in meer detail beschreven in octrooiaanvrage BE2017/5895 ingediend door dezelfde aanvrager op 04 december 2017, met als titel METHOD AND DEVICE AND SYSTEM FOR PROVIDING DUAL MOUSE SUPPORT, welk document door referentie hierin in zijn geheel is opgenomen, en waarnaar hierin verder wordt verwezen als de mede in behandeling zijnde dubbelemuis aanvraag. In het geval van tegenstrijdigheden tussen de onderhavige aanvrage en de mede in behandeling-zijnde aanvrage, dan overheerst het onderhavige document.In step 3205, position information X, Y is obtained from a so-called mouse pointer or mouse cursor, for example in the form of screen coordinates. For example, the mouse cursor position can be queried from the operating system, for example in the case of Windows O / S by using the GetCursorPos function. It is an advantage to use these coordinates because it allows to align or position the at least first visible object relative to the mouse cursor. Alternatively, motion or displacement information dx, dy can be obtained from the operating system in the form of raw input messages, for example, by configuring the operating system to send raw input messages, and by configuring the overlay application to send raw input messages. received and processed. This aspect is described in more detail in patent application BE2017 / 5895 filed by the same applicant on December 4, 2017, entitled METHOD AND DEVICE AND SYSTEM FOR PROVIDING DUAL MOUSE SUPPORT, which document is incorporated by reference herein in its entirety, and further herein is referred to as the co-pending double mouse application. In the event of any inconsistencies between the present application and the co-pending application, the present document prevails.

In stap 3206 wordt een positie van het ten minste één zichtbaar object (bv. de X- en Y-positie van een korte horizontale lijn, of de Y-positie van een grote horizontale lijn) aangepast in overeenstemming met de verkregen muiscursorpositie X,Y of in overeenstemming met de bewegingsof verplaatsingsinformatie dx,dy.In step 3206, a position of the at least one visible object (e.g., the X and Y position of a short horizontal line, or the Y position of a large horizontal line) is adjusted in accordance with the obtained mouse cursor position X, Y or in accordance with the motion or displacement information dx, dy.

In geval van een klein of groot kruis bevindt de muiscursorpositie zich bij voorkeur aan of nabij de kruising van de horizontale en verticale lijn. In geval van een kleine horizontale lijn kan de muiscursor zich aan het linkeruiteinde of aan het rechteruiteinde of in het midden van de horizontale lijn bevinden, of in elke andere geschikte positie.In the case of a small or large cross, the mouse cursor position is preferably at or near the intersection of the horizontal and vertical lines. In the case of a small horizontal line, the mouse cursor may be at the left end or right end, or in the center of the horizontal line, or in any other suitable position.

Stap 3205 en stap 3206 worden herhaald, bijvoorbeeld getriggerd door een timer-event met een periode in het bereik van 1 ms tot 200 ms, bijvoorbeeld in het bereik van 2 ms tot 100 ms, bij voorbeeld gelijk aan ongeveer 5 ms of ongeveer 10 ms, of ongeveer 16,7 ms (60Hz), of ongeveer 20 ms of ongeveer 25 ms of ongeveer 30 ms of ongeveer 40 ms of ongeveer 50 ms of ongeveer 100 ms of ongeveer 150 ms. Deze waarde is niet kritisch. Hoe kleiner deze waarde, hoe sneller de overlayapplicatie reageert op muisbewegingen, maar hoe meer rekenkracht vereist is onder andere voor het tekenen van het ten minste één object op tussenliggende posities tijdens beweging van de invoerinrichting. De vakman kan een geschikt compromis vinden tussen snelle responstijd en een redelijke hoeveelheid rekenkracht. De overlay-applicatie kan het mogelijk maken voor de gebruiker om uit ten minste twee vooraf gedefinieerde waarden te selecteren.Step 3205 and Step 3206 are repeated, for example triggered by a timer event with a period in the range of 1 ms to 200 ms, for example in the range of 2 ms to 100 ms, for example equal to about 5 ms or about 10 ms , or about 16.7 ms (60Hz), or about 20 ms or about 25 ms, or about 30 ms, or about 40 ms, or about 50 ms, or about 100 ms, or about 150 ms. This value is not critical. The smaller this value, the faster the overlay application responds to mouse movements, but the more computing power is required, among other things, for drawing the at least one object at intermediate positions during movement of the input device. Those skilled in the art can find a suitable compromise between fast response time and a reasonable amount of computing power. The overlay application can allow the user to select from at least two predefined values.

BE2018/5637BE2018 / 5637

FIG. 33 toont een flowdiagram van een andere werkwijze 3300 volgens een uitvoeringsvorm van de onderhavige uitvinding. Deze werkwijze wordt uitgevoerd door het computersysteem van FIG. 7 en het computersysteem van FIG. 38.FIG. 33 shows a flow chart of another method 3300 according to an embodiment of the present invention. This method is performed by the computer system of FIG. 7 and the computer system of FIG. 38.

In stap 3301 wordt een overlayvenster verschaft.An overlay window is provided in step 3301.

Het overlayvenster kan een bitmap hebben die in hoofdzaak het gehele gebied van het venster vult met volledig transparante pixels (zoals getoond in FIG. 7 en in FIG. 38), of kan een geperforeerde bitmap omvatten (zoals in FIG. 10 of FIG. 12) of een geperforeerde textuurbitmap (zoals in FIG. 20 en FIG. 22) of een niet-geperforeerde textuurbitmap (zoals in FIG. 24).The overlay window may have a bitmap that substantially fills the entire area of the window with fully transparent pixels (as shown in FIG. 7 and in FIG. 38), or it may include a perforated bitmap (as in FIG. 10 or FIG. 12). ) or a perforated texture bitmap (as in FIG. 20 and FIG. 22) or a non-perforated texture bitmap (as in FIG. 24).

In geval het venster volledig transparante pixels omvat (zoals getoond in FIG. 7 en FIG. 38), kan het overlayvenster 883, 3983 geconfigureerd worden als ondoorzichtig of als semi-transparant. In geval het venster een geperforeerde bitmap omvat, wordt het overlayvenster 883, 3983 bij voorkeur geconfigureerd als semi-transparant. Bij voorkeur is de alfatransparantie van het semi-transparante venster een waarde α in het bereik van 1% tot 99% of van 2% tot 98% of van 5% tot 95% of van 10% tot 90% of van 20% tot 80% of van 30% tot 70%.In case the window includes fully transparent pixels (as shown in FIG. 7 and FIG. 38), the overlay window 883, 3983 can be configured as opaque or semi-transparent. In case the window includes a perforated bitmap, the overlay window 883, 3983 is preferably configured as semi-transparent. Preferably, the alpha transparency of the semi-transparent window is a value α in the range from 1% to 99% or from 2% to 98% or from 5% to 95% or from 10% to 90% or from 20% to 80 % or from 30% to 70%.

In stap 3302 wordt in het overlayvenster een eerste zichtbaar en beweegbaar object verschaft dat de vorm heeft van een horizontale lijn 721, 3821 die slechts een minderheidsgedeelte (bv. minder dan 20% of minder dan 10%) inneemt van het gebied van het overlayvenster. De horizontale lijn strekt zich bij voorkeur uit over de ganse breedte van het overlayvenster, dat zich bij voorkeur zelf over het gehele pixelgebied van het scherm uitstrekt, of over het gehele werkgebied van het scherm.In step 3302, a first visible and movable object in the overlay window is provided in the form of a horizontal line 721, 3821 occupying only a minority portion (e.g., less than 20% or less than 10%) of the area of the overlay window. The horizontal line preferably extends over the entire width of the overlay window, which preferably itself extends over the entire pixel area of the screen, or over the entire working area of the screen.

In stap 3303 wordt in het overlayvenster een tweede zichtbaar en beweegbaar object verschaft dat de vorm heeft van een verticale lijn 722, 3822 die slechts een minderheidsgedeelte (bv. minder dan 20% of minder dan 10%) inneemt van het gebied van het overlayvenster. De verticale lijn strekt zich bij voorkeur uit over de ganse hoogte van het overlayvenster, dat zich bij voorkeur zelf over het gehele pixelgebied van het scherm uitstrekt, of over het gehele werkgebied van het scherm.In step 3303, a second visible and movable object is provided in the overlay window that is in the form of a vertical line 722, 3822 occupying only a minority portion (e.g., less than 20% or less than 10%) of the area of the overlay window. The vertical line preferably extends over the entire height of the overlay window, which preferably extends itself over the entire pixel area of the screen, or over the entire working area of the screen.

Samen vormen de horizontale lijn en de verticale lijn een kruis. Indien het venster een bitmap omvat, situeren de lijnen zich boven de genoemde bitmap, zodat zij zichtbaar zijn. In de uitvoeringsvorm van FIG. 7, zijn de horizontale lijn 721 en de verticale lijn 722 monochrome lijnen, bijvoorbeeld met een rode of blauwe of zwarte of paarse of gele kleur, of ieder andere kleur. In dit geval is het overlayvenster bij voorkeur geconfigureerd als semi-transparant, zodat tekst onder de lijnen 721, 722 zichtbaar is. In de uitvoeringsvorm van FIG. 38, bevatten de horizontale lijn 3821 en de verticale lijn 3822 een geperforeerde bitmap. In dit geval kan het overlayvenster 3983 geconfigureerd worden als semi-transparant of kan het volledig transparante pixels bevatten.Together, the horizontal line and the vertical line form a cross. If the window includes a bitmap, the lines are located above the said bitmap so that they are visible. In the embodiment of FIG. 7, the horizontal line 721 and the vertical line 722 are monochrome lines, for example of a red or blue or black or purple or yellow color, or any other color. In this case, the overlay window is preferably configured as semi-transparent so that text is visible below lines 721, 722. In the embodiment of FIG. 38, the horizontal line 3821 and the vertical line 3822 contain a perforated bitmap. In this case, the overlay window 3983 can be configured as semi-transparent or it can contain completely transparent pixels.

In stap 3304 is het overlayvenster geconfigureerd als een zogenoemd doorklikvenster, zodat het besturingssysteem toetsenbord- en muis-events naar het/de onderliggende venster(s) zal sturen, ondanks dat het overlayvenster daarboven ligt, en een hogere Z-orde heeft.In step 3304, the overlay window is configured as a so-called click-through window, so that the operating system will send keyboard and mouse events to the underlying window (s), despite the overlay window being above it, and having a higher Z order.

BE2018/5637BE2018 / 5637

In stap 3305 wordt positie-informatie X,Y van een zogenoemde muisaanwijzer of muiscursor verkregen, bijvoorbeeld in de vorm van schermcoördinaten.In step 3305, position information X, Y is obtained from a so-called mouse pointer or mouse cursor, for example in the form of screen coordinates.

Alternatief kan bewegingsinformatie gerelateerd aan bewegingen van de aanwijsinrichting verkregen worden van het besturingssysteem door gebruik te maken van ruwe input-berichten, in welk geval de verwerking van de ruwe input-berichten en de eigenlijke update van de positie van het/de visuele object(en) bij voorkeur losgekoppeld is van elkaar, bijvoorbeeld zoals in meer detail wordt uitgelegd in de mede in behandeling zijnde dubbele-muis-aanvraag.Alternatively, motion information related to pointer movements can be obtained from the operating system using raw input messages, in which case the processing of the raw input messages and the actual update of the position of the visual object (and ) is preferably disconnected from each other, for example, as explained in more detail in the co-pending double mouse application.

In stap 3306 wordt de positie van de beweegbare objecten (bv. de X-coördinaat van de verticale lijn, en de Y-positie van de verticale lijn) aangepast in overeenstemming met de verkregen muiscursorpositie X,Y of in overeenstemming met de bewegingsinformatie.In step 3306, the position of the movable objects (e.g. the X coordinate of the vertical line, and the Y position of the vertical line) is adjusted in accordance with the obtained mouse cursor position X, Y or in accordance with the motion information.

De native muiscursorpositie bevindt zich bij voorkeur aan of nabij de kruising van de horizontale en verticale lijn.The native mouse cursor position is preferably at or near the intersection of the horizontal and vertical lines.

Stap 3305 en stap 3306 worden herhaald, bijvoorbeeld gebruikmakende van een timerinterrupt met een periode in het bereik van 1 ms tot 200 ms, bijvoorbeeld in het bereik van 2 ms tot 100 ms, bij voorbeeld gelijk aan ongeveer 5 ms of ongeveer 10 ms, of ongeveer 16,7 ms (60Hz), of ongeveer 20 ms of ongeveer 25 ms of ongeveer 30 ms of ongeveer 40 ms of ongeveer 50 ms of ongeveer 100 ms of ongeveer 150 ms.Step 3305 and Step 3306 are repeated, for example using a timer interrupt with a period in the range from 1 ms to 200 ms, for example in the range from 2 ms to 100 ms, for example equal to about 5 ms or about 10 ms, or about 16.7 ms (60Hz), or about 20 ms or about 25 ms, or about 30 ms, or about 40 ms, or about 50 ms, or about 100 ms, or about 150 ms.

FIG. 34 toont een vereenvoudigd hoogniveau-blokdiagram als een mogelijke voorstelling van de softwarecomponenten en hardwarecomponenten gesitueerd in een computersysteem, die doorgaans samenwerken bij het uitvoeren van een werkwijze volgens uitvoeringsvormen van de onderhavige uitvinding, maar er wordt expliciet op gewezen dat de onderhavige uitvinding niet tot deze implementatie beperkt is, en dat andere implementaties eveneens gebruikt kunnen worden. Het hoofddoel van dit blokdiagram is een mogelijke implementatie te tonen van een uitvoeringsvorm geïmplementeerd in een Windows-compatibele computer.FIG. 34 shows a simplified high-level block diagram as a possible representation of the software components and hardware components located in a computer system, which usually cooperate in performing a method according to embodiments of the present invention, but it is explicitly pointed out that the present invention is not implementation is limited, and that other implementations can also be used. The main purpose of this block diagram is to show a possible implementation of an embodiment implemented in a Windows compatible computer.

FIG. 34 toont een overlay-applicatie 3474 en een besturingssysteem of O/S 3460 (bijvoorbeeld MICROSOFT WINDOWS 10 verkrijgbaar van Microsoft Corporation van Redmond, Wash, US), een grafische versneller 3425, uitvoer-interfaces 3480, een display 3492, een invoer-interface 3410, een invoer-aanwijsinrichting 3401 en een bitmapgenerator 3420. Andere componenten omvatten, binnen het O/S 3460, invoer device drivers 3466 en grafische API (Application Programming Interface) 3440.FIG. 34 shows an overlay application 3474 and an operating system or O / S 3460 (e.g. MICROSOFT WINDOWS 10 available from Microsoft Corporation of Redmond, Wash, US), a graphics accelerator 3425, output interfaces 3480, a display 3492, an input interface 3410, an input pointing device 3401 and a bitmap generator 3420. Other components include, within the O / S 3460, input device drivers 3466 and graphics API (Application Programming Interface) 3440.

FIG. 34 is erg gelijkend op FIG. 8 van US6333753(B1), dat door verwijzing hierin in zijn geheel is opgenomen, maar vooral FIG. 8 daarvan en de bijhorende beschrijving. Aangezien veel aspecten reeds gekend zijn, hoeven zij niet opnieuw in volle detail te worden toegelicht.FIG. 34 is very similar to FIG. 8 of US6333753 (B1), which is incorporated by reference herein in its entirety, but especially FIG. 8 of which and the accompanying description. Since many aspects are already known, they do not need to be explained in full again.

De belangrijkste overeenkomsten van het blokdiagram 3400 van dit document en het blokdiagram van FIG. 8 van US6333753(B1) zijn:The main similarities of the block diagram 3400 of this document and the block diagram of FIG. 8 of US6333753 (B1) are:

BE2018/5637 * het intern functioneren van de video back-end componenten, de grafische API 3440, en de grafische versneller 3425 en de uitvoer-interfaces 3480 kunnen grotendeels gelijkaardig zijn als die van de stand der techniek, bv. de wijze waarop volledig transparante pixels worden verwerkt, en de wijze waarop alfamenging wordt uitgevoerd.BE2018 / 5637 * the internal functioning of the video back-end components, the graphics API 3440, and the graphics accelerator 3425 and the output interfaces 3480 may be largely similar to those of the prior art, e.g. the way in which fully transparent pixels are processed, and how alpha mixing is performed.

De belangrijkste verschillen tussen het blokdiagram 3400 van dit document en het blokdiagram van FIG. 8 van US6333753(B1) zijn:The main differences between the block diagram 3400 of this document and the block diagram of FIG. 8 of US6333753 (B1) are:

* de onderhavige uitvinding vereist geen muis met aanraaksensoren, en vereist derhalve geen speciale device drivers (apparaatstuurprogramma's) 3466. In plaats daarvan kunnen klassieke device drivers, zoals bijvoorbeeld een standaard USB-muisdriver (muisaansturing) gebruikt worden;* the present invention does not require a mouse with touch sensors, and therefore does not require special device drivers 3466. Classic device drivers such as a standard USB mouse driver (mouse control) may be used instead;

* de overlay-applicatie 3474 van de onderhavige uitvinding gebruikt geen geanimeerde fadein en fade-out. Optioneel kan echter tijdmultiplexing van de geperforeerde bitmap worden gebruikt zoals hoger beschreven (FIG. 28), in welk geval een tijdmultiplexcomponent 3415 wordt gebruikt, die nieuwe positie-informatie van de verschoven geperforeerde en/of getextureerde bitmap kan versturen, bijvoorbeeld ieder frame, of iedere twee frames, of iedere drie frames, of iedere vier frames. De timing is bij voorkeur gesynchroniseerd met de beeldfrequentie;* the overlay application 3474 of the present invention does not use animated fade-in and fade-out. Optionally, however, time multiplexing of the perforated bitmap can be used as described above (FIG. 28), in which case a time multiplexing component 3415 is used, which can transmit new position information of the offset perforated and / or textured bitmap, for example any frame, or every two frames, or every three frames, or every four frames. Preferably, the timing is synchronized with the frame rate;

* in de onderhavige uitvinding kan de bitmapgenerator 3420 één of meerdere stationaire en/of beweegbare objecten genereren, zoals bijvoorbeeld een kleine horizontale lijn, of een klein kruis (bv. dat een kleine horizontale lijn en een kleine verticale lijn omvat), of een grote horizontale lijn (die zich bv. uitstrekt over de ganse breedte van het overlayvenster), of een groot kruis (dat bv. een grote horizontale lijn omvat die zich bij voorkeur over de ganse breedte uitstrekt, en een grote verticale lijn die zich bij voorkeur over de ganse hoogte uitstrekt);* in the present invention, the bitmap generator 3420 can generate one or more stationary and / or movable objects, such as, for example, a small horizontal line, or a small cross (e.g., which includes a small horizontal line and a small vertical line), or a large horizontal line (which, for example, extends across the entire width of the overlay window), or a large cross (which includes, for example, a large horizontal line that preferably extends across the entire width, and a large vertical line that preferably extends across extends the entire height);

* hoewel niet getoond in FIG. 34, verschaft de onderhavige uitvinding bij voorkeur ook een gebruikersinterface-venster, waarvan een voorbeeld wordt getoond in FIG. 35. Het gebruikersinterface-venster wordt doorgaans als een tweede, hoofdzakelijk ondoorzichtig venster geïmplementeerd (het kan volledig transparante pixels omvatten), en bevindt zich bij voorkeur (in Zorde) tussen het overlayvenster en het muiscursorvlak. Via dit gebruikersinterface-venster kan de gebruiker bijvoorbeeld afmetingen en/of een kleur van de horizontale lijn (pixels P3) instellen of selecteren of wijzigen, en/of het gewenste transparantieniveau T (of alfatransparantiewaarde α) instellen of selecteren, en/of een kleur van monochrome pixels (P7) van de overlaybitmap instellen of selecteren, en/of een gemiddelde kleur van pixels van textuurpixels (P8) instellen of selecteren, etc. Dit gebruikersinterface-venster is niet geconfigureerd in doorklikmodus, omdat het in staat moet zijn om muisklikken en/of toetsenbordinvoer te ontvangen, en het gebied ervan is doorgaans gereduceerd, bv. geminimaliseerd tijdens normaal gebruik van de grafische overlay-applicatie.* although not shown in FIG. 34, the present invention preferably also provides a user interface window, an example of which is shown in FIG. 35. The user interface window is usually implemented as a second, mainly opaque window (it can include fully transparent pixels), and is preferably located (in Zorde) between the overlay window and the mouse cursor plane. For example, this user interface window allows the user to set or select or change dimensions and / or a color of the horizontal line (pixels P3), and / or to set or select the desired transparency level T (or alpha transparency value α), and / or a color set or select monochrome pixels (P7) of the overlay bitmap, and / or set or select an average color of pixels of texture pixels (P8), etc. This user interface window is not configured in click-through mode, as it must be capable of mouse clicks and / or keyboard input, and its area is usually reduced, eg minimized during normal use of the graphic overlay application.

BE2018/5637BE2018 / 5637

Hoewel niet getoond in FIG. 34, voert de computerinrichting naast de overlay-applicatie 3474 doorgaans ook één of meerdere applicatieprogramma's uit, zoals bijvoorbeeld een tekstverwerker, een PDF-viewer, een webbrowser, een spreadsheet, etc.Although not shown in FIG. 34, in addition to the overlay application 3474, the computer device usually also executes one or more application programs, such as, for example, a word processor, a PDF viewer, a web browser, a spreadsheet, etc.

De invoer-positioneringsinrichting 3401, bijvoorbeeld een muis of een touchpad, is via kabelsThe input positioning device 3401, for example a mouse or a touch pad, is via cables

3403 verbonden met invoer-interface 3410, bijvoorbeeld een USB-invoer-interface, die signalen van de invoerinrichting verwerkt en/of doorstuurt naar invoer-device drivers 3466 die een component vormen binnen het O/S 3460. De device drivers (apparaatstuurprogramma's) 3466 interpreteren de door de aanwijsinrichting 3401 geproduceerde signalen en genereren, als reactie toepasselijke events. In het bijzonder doet het O/S een muisaanwijzer of muiscursor bewegen in overeenstemming met bewegingen van het apparaat 3401, en geeft deze events door aan een applicatie (bv. een tekstprocessor of webbrowser), aangezien de overlay-applicatie 3474 geconfigureerd is in doorklikmodus of doorlaat-modus.3403 connected to input interface 3410, for example, a USB input interface, which processes and / or forwards signals from the input device to input device drivers 3466 that are a component within the O / S 3460. The device drivers 3466 interpret the signals produced by the pointing device 3401 and generate response-appropriate events. In particular, the O / S moves a mouse pointer or mouse cursor in accordance with movements of the device 3401, and passes these events to an application (e.g. a text processor or web browser), since the overlay application 3474 is configured in click-through mode or pass-through mode.

Bitmapgenerator 3420 kan het volgende omvatten:Bitmap generator 3420 can include the following:

* een horizontale-lijngenerator 3422 voor het genereren van ten minste één horizontale lijn of balk met een vooraf gedefinieerde of aanpasbare vorm (bv. rechthoekig met scherpe randen of met afgeronde randen) en grootte (bv. breedte en hoogte) en positie en uitzicht (bv. als een monochrome bitmap, of met een kleurgradiënt, of als een geperforeerde bitmap);* a horizontal line generator 3422 for generating at least one horizontal line or beam with a predefined or customizable shape (e.g. rectangular with sharp edges or with rounded edges) and size (e.g. width and height) and position and appearance ( e.g. as a monochrome bitmap, or with a color gradient, or as a perforated bitmap);

* een verticale-lijngenerator 3424 voor het genereren van ten minste één verticale lijn of balk met een vooraf gedefinieerde of aanpasbare vorm (bv. rechthoekig met scherpe randen of met afgeronde randen) en grootte (bv. breedte en hoogte) en positie en uitzicht (bv. als een monochrome bitmap, of met een kleurgradiënt, of als een geperforeerde bitmap);* a vertical line generator 3424 for generating at least one vertical line or beam with a predefined or customizable shape (e.g. rectangular with sharp edges or with rounded edges) and size (e.g. width and height) and position and appearance ( e.g. as a monochrome bitmap, or with a color gradient, or as a perforated bitmap);

* een achtergrond-bitmapgenerator 3426 voor het genereren van een relatief grote bitmap die bij voorkeur het gehele gebied van het overlayvenster inneemt, bijvoorbeeld als een monochrome bitmap (vergelijkbaar met FIG. 6), of als een geperforeerde bitmap met 50% volledig transparante pixels P6 en 50% monochrome pixels P7 (zoals in FIG. 10 en FIG. 12), of als een geperforeerde bitmap met 50% volledig transparante pixels P6 en 50% textuurpixels P8 (zoals in FIG. 20 en FIG. 22), of als een bitmap met 100% volledig transparante pixels P5 (zoals in FIG. 8, FIG. 37 en FIG. 39), of als een bitmap met 100% textuurpixels P8 (zoals in FIG. 24). Eén of meerdere van deze objecten kunnen on the fly (gaandeweg) gegenereerd worden, optioneel met de hulp van een grafische API 3440, en/of met behulp van een grafische versneller 3425.* a background bitmap generator 3426 for generating a relatively large bitmap that preferably occupies the entire area of the overlay window, for example, as a monochrome bitmap (similar to FIG. 6), or as a perforated bitmap with 50% fully transparent pixels P6 and 50% monochrome pixels P7 (as in FIG. 10 and FIG. 12), or as a perforated bitmap with 50% fully transparent pixels P6 and 50% texture pixels P8 (as in FIG. 20 and FIG. 22), or as a bitmap with 100% fully transparent pixels P5 (as in FIG. 8, FIG. 37 and FIG. 39), or as a bitmap with 100% texture pixels P8 (as in FIG. 24). One or more of these objects can be generated on the fly (gradually), optionally with the help of a graphical API 3440, and / or with the help of a graphical accelerator 3425.

Zoals hoger toegelicht, in het geval dat een semi-transparant venster als het (eerste) overlayvenster wordt gebruikt, dan wordt het transparantieniveau T daarvan bij voorkeur gekozen in het bereik van 30% tot 75% (of de alfamengingswaarde wordt bij voorkeur gekozen in het bereik van 25% tot 70%), zodanig dat onderliggende documentobjecten goed zichtbaar zijn (hoewel optioneel enigszins donkerder gemaakt of getextureerd) doorheen het overlayvenster.As explained above, in the case where a semi-transparent window is used as the (first) overlay window, its transparency level T is preferably selected in the range of 30% to 75% (or the alpha blend value is preferably selected in the range from 25% to 70%), so that underlying document objects are clearly visible (although optionally darkened or textured slightly) through the overlay window.

BE2018/5637BE2018 / 5637

In het geval dat tijdmultiplexing wordt gebruikt (hetgeen geheel optioneel is), dan zal de tijdmultiplexing-module of het tijdmultiplexing-proces 3415 instructies afgeven, bij voorkeur één zulke instructie voor iedere N displayframes (waarbij N bij voorkeur gelijk is aan 1 of 2 of 3 of 4), om de geperforeerde bitmap over een aantal pixels heen en weer te verschuiven, bij voorkeur een oneven aantal pixels, bv. 1 pixel omhoog/omlaag of 1 pixel links/rechts, zodanig dat een bepaalde pixel van het onderliggend documentobject afwisselend geoverlayed (overdekt) wordt door een volledig transparante pixel of door een semi-transparante pixel. Deze instructies zullen afgeleverd worden, zoals schematisch voorgesteld door lijn 3430 en/of lijn 3413, aan O/S 3460, dat op zijn beurt deze instructies kan doorgeven aan Grafische API 3440 en uiteindelijk naar grafische versneller 3425.In case time multiplexing is used (which is entirely optional), the time multiplexing module or time multiplexing process 3415 will issue instructions, preferably one such instruction for every N display frames (where N is preferably equal to 1 or 2 or 3 or 4), to shift the perforated bitmap back and forth over a number of pixels, preferably an odd number of pixels, eg 1 pixel up / down or 1 pixel left / right, such that a certain pixel of the underlying document object alternates overlayed (covered) by a fully transparent pixel or by a semi-transparent pixel. These instructions will be delivered, as schematically represented by line 3430 and / or line 3413, to O / S 3460, which in turn can pass these instructions to Graphics API 3440 and eventually to Graphics Accelerator 3425.

Indien er geen grafische versneller wordt gebruikt, dan kan, zoals gesymboliseerd door lijn 3455, grafische API 3440 grafische uitvoer rechtstreeks afleveren aan uitvoer-interfaces 3480 (specifiek een standaard videokaart, niet getoond, daarin) die, op hun beurt toepasselijke videosignalen zullen genereren en die signalen via kabels 3486 aanbieden aan display 3492. In dit geval zal computersysteem 3400 voldoende snel moeten zijn om de toepasselijke grafische mogelijkheden in software te implementeren, die anders door versneller 3425 zouden geleverd worden.If no graphics accelerator is used, then, as symbolized by line 3455, graphics API 3440 can deliver graphics output directly to output interfaces 3480 (specifically a standard video card, not shown, therein) which, in turn, will generate appropriate video signals and providing those signals via cables 3486 to display 3492. In this case, computer system 3400 will need to be fast enough to implement the appropriate graphics capabilities in software, which would otherwise be provided by accelerator 3425.

Hoewel alfatransparantie functionaliteit ondersteund wordt door een brede verscheidenheid van tegenwoordig bestaande grafische versnellers, kan deze functionaliteit eenvoudig gesimuleerd worden in software, op een welgekende wijze, door conventionele 2-D (twee-dimensionale) of 3-D (drie-dimensionale) grafische API's, zoals D3D (dat een 3-D grafische API is, geproduceerd door Microsoft Corporation als een component van een WINDOWS-besturingssysteem, waarbij WINDOWS een geregistreerd handelsmerk is van Microsoft Corporation), OpenGL (dat tegenwoordig beschikbaar is in de stand der techniek) of GDI (dat historisch slechts een 2-D laagniveau grafische verwerkingslaag is, momenteel geproduceerd door Microsoft Corporation en eveneens als een standaardcomponent van een WINDOWS-besturingssysteem is opgenomen).While alpha transparency functionality is supported by a wide variety of current graphics accelerators, this functionality can be easily simulated in software, in a well-known way, by conventional 2-D (two-dimensional) or 3-D (three-dimensional) graphics APIs such as D3D (which is a 3-D graphics API, produced by Microsoft Corporation as a component of a WINDOWS operating system, where WINDOWS is a registered trademark of Microsoft Corporation), OpenGL (which is available in the art today) or GDI (historically just a 2-D low level graphics processing layer, currently produced by Microsoft Corporation and also included as a standard component of a WINDOWS operating system).

In een variant van het blokdiagram van FIG. 34 vraagt de overlay-applicatie niet de positie van de native cursorpositie van het besturingssysteem, maar omvat verder een verwerker (handler) van ruwe input-berichten geconfigureerd voor het verwerken van ruwe input-berichten verschaft door het besturingssysteem, en die aangepast is voor het extraheren van bewegingsinformatie dx, dy uit de genoemde event messages, en voor het bewegen van ten minste één beweegbaar object , en voor het optioneel overrulen van de native cursorpositie van het O/S. Hoewel niet relevant om de onderhavige uitvinding te begrijpen, wordt dit aspect in meer detail beschreven in de mede in behandeling zijnde dubbele-muis-aanvraag.In a variant of the block diagram of FIG. 34, the overlay application does not request the position of the native cursor position of the operating system, but further comprises a processor (handler) of raw input messages configured to process raw input messages provided by the operating system, and adapted for extracting motion information dx, dy from said event messages, and for moving at least one movable object, and for optionally overriding the native cursor position of the O / S. While not relevant to understanding the present invention, this aspect is described in more detail in the co-pending double mouse application.

De bitmapgenerator 3420 kan één of meerdere beeldgegevensstructuren genereren, die één of meerdere bitmaps kunnen zijn, of een verzameling opdrachten in een taal zoals Display Postscript of Quickdraw. Ongeacht de details moet de beeldgegevensstructuur voldoende informatie bevattenThe bitmap generator 3420 can generate one or more image data structures, which can be one or more bitmaps, or a collection of commands in a language such as Display Postscript or Quickdraw. Regardless of the details, the image data structure must contain sufficient information

BE2018/5637 zodat het gerasterd kan worden (indien niet reeds een bitmap) aan de displayresolutie of anderszins verwerkt voor weergave op het display.BE2018 / 5637 so that it can be rasterized (if not already a bitmap) at the display resolution or otherwise processed for display.

FIG. 35 toont een voorbeeldmatig gebruikersinterface-venster zoals gebruikt kan worden door een overlay-applicatie volgens de onderhavige uitvinding. Dit gebruikersinterface-venster kan getoond worden als een tweede, ondoorzichtig venster, bovenop het eerste overlayvenster 883, 1083, 1284, 2083, 2283, 2483, 3783, 3983, of kan bijvoorbeeld getoond worden als een zeer klein object (bv. een rechthoekig object met een bitmap die een logo van de overlay-applicatie bevat, of met een tekstveld dat de naam van de overlay-applicatie bevat, en met een grootte kleiner dan 150 x 30 pixels, bv. kleiner dan 100 x 30 pixels), of kan in de taakbalk geminimaliseerd worden. De overlay-applicatie kan voorzien zijn om het gebruikersinterface-venster te vergroten wanneer de muis over de bitmap met het logo beweegt. Op deze wijze is het gebruikersinterface-venster eenvoudig bereikbaar, terwijl deze niet veel ruimte op het scherm inneemt.FIG. 35 shows an exemplary user interface window as can be used by an overlay application according to the present invention. This user interface window can be displayed as a second, opaque window, on top of the first overlay window 883, 1083, 1284, 2083, 2283, 2483, 3783, 3983, or can be displayed as a very small object (e.g. a rectangular object) with a bitmap containing a logo of the overlay application, or with a text field containing the name of the overlay application, and with a size smaller than 150 x 30 pixels, e.g. smaller than 100 x 30 pixels), or in the taskbar. The overlay application may be provided to enlarge the user interface window when the mouse moves over the bitmap containing the logo. In this way, the user interface window is easily accessible, while it does not take up much space on the screen.

FIG. 36 toont een schematisch blokdiagram van een ander computersysteem 3600 volgens een uitvoeringsvorm van de onderhavige uitvinding, met een computerinrichting 3601 die een overlayapplicatie heeft voor het verschaffen van een overlayvenster 3783 met een beweegbaar object 3610 dat een geperforeerde bitmap heeft. De lijn 3610 is beweegbaar overeenkomstig bewegingen van de invoerinrichting 3603. Deze uitvoeringsvorm biedt het voordeel dat het overlayvenster 3783 ondoorzichtig kan zijn, waarbij de meeste pixels volledig transparante pixels kunnen zijn, en toch kan het effect van een semi-transparante lijn 3610 verkregen worden. Een dergelijke uitvoeringsvorm kan in het bijzonder bruikbaar zijn in rekenapparaten die geen alfamengings-functionaliteit hebben, zoals bijvoorbeeld eReader-apparaten.FIG. 36 shows a schematic block diagram of another computer system 3600 according to an embodiment of the present invention, with a computer device 3601 having an overlay application for providing an overlay window 3783 with a movable object 3610 having a perforated bitmap. The line 3610 is movable in accordance with movements of the input device 3603. This embodiment offers the advantage that the overlay window 3783 can be opaque with most pixels being completely transparent pixels, yet the effect of a semi-transparent line 3610 can be obtained. Such an embodiment may be particularly useful in computing devices that do not have alpha mixing functionality, such as eReader devices, for example.

FIG. 37 is een schematische voorstelling van een Z-orde van vier vensters of beeldvlakkenFIG. 37 is a schematic representation of a Z order of four windows or image planes

3781 tot 3784 die gebruikt kunnen worden in het computersysteem 3600 van FIG. 36.3781 to 3784 that can be used in the computer system 3600 of FIG. 36.

FIG. 38 toont een schematisch blokdiagram van een ander computersysteem 3700 volgens een uitvoeringsvorm van de onderhavige uitvinding, met een computerinrichting 3801 die een overlayapplicatie heeft voor het verschaffen van een overlayvenster 3983 met een beweegbaar object in de vorm van een geperforeerd kruis. Het kruis is samengesteld uit een horizontale lijn 3821 en een verticale lijn 3822, en is beweegbaar in overeenstemming met bewegingen van de invoerinrichting 3803.FIG. 38 shows a schematic block diagram of another computer system 3700 according to an embodiment of the present invention, with a computer device 3801 having an overlay application for providing an overlay window 3983 with a movable object in the form of a perforated cross. The cross is composed of a horizontal line 3821 and a vertical line 3822, and is movable in accordance with movements of the input device 3803.

FIG. 39 is een schematische voorstelling van een Z-orde van vier vensters of beeldvlakken 3981-3984 die gebruikt kunnen worden in het computersysteem 3800 van FIG. 38.FIG. 39 is a Z-order schematic of four windows or image planes 3981-3984 that can be used in the computer system 3800 of FIG. 38.

BE2018/5637BE2018 / 5637

FIG. 40 toont een schematisch blokdiagram van een ander computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, met een overlay-applicatie die een overlayvenster 4184 verschaft met een beweegbaar object in de vorm van een horizontale lijn 4020, die zich bij voorkeur uitstrekt over de gehele breedte van het scherm.FIG. 40 shows a schematic block diagram of another computer system according to an embodiment of the present invention, with an overlay application providing an overlay window 4184 with a movable object in the form of a horizontal line 4020, preferably extending the entire width of the screen.

Het overlayvenster 4184 is bij voorkeur geconfigureerd als een semi-transparant venster, bij voorkeur met een alfatransparantie in het bereik van 5% tot 95%, of van 30% tot 70%, hoewel dat niet absoluut vereist is, en het venster 4184 kan ook als ondoorzichtig geconfigureerd worden, in welk geval de pixels P5 volledig transparante pixels zouden zijn.The overlay window 4184 is preferably configured as a semi-transparent window, preferably with an alpha transparency in the range of 5% to 95%, or from 30% to 70%, although not absolutely required, and the window 4184 may also as opaque, in which case the pixels P5 would be completely transparent pixels.

Het overlayvenster 4184 omvat een semi-transparante lijn met pixels P3. Een belangrijk voordeel van deze overlay-applicatie is dat de lijn gebruikt kan worden om overeenkomstige tekstfragmenten in twee verschillende applicaties te markeren of te onderlijnen, bijvoorbeeld een te vertalen PDF-brontekst gepositioneerd aan de linkerzijde van het scherm 4004 en een MS-Word doeltekst die de vertaalde tekst bevat, aan de rechterzijde van het scherm 4004. De lijn 4020 helpt om snel opnieuw de context terug te vinden bij het heen en weer schakelen tussen de twee documenten, bijvoorbeeld tijdens het proeflezen, waardoor de cognitieve last van de proeflezer significant wordt verminderd.The overlay window 4184 includes a semi-transparent line with pixels P3. An important advantage of this overlay application is that the line can be used to highlight or underline corresponding text fragments in two different applications, for example a translate PDF source text positioned on the left side of screen 4004 and an MS-Word target text. contains the translated text, on the right side of screen 4004. Line 4020 helps to quickly rediscover the context when switching back and forth between the two documents, for example during proofreading, making the proof reader's cognitive load significant reduced.

Aangezien de overlay-applicatie in doorklikmodus geconfigureerd is, kan de muis 4099 gebruikt worden om overal op het scherm te klikken of te slepen of te scrollen. In het bijzonder maakt ze het mogelijk het PDF-document enigszins omhoog of omlaag te bewegen (bv. door te slepen of the scrollen) om de tekstfragmenten daarin uitgelijnd te houden met overeenkomstige tekstfragmenten van het Word-document.Since the overlay application is configured in click-through mode, the mouse 4099 can be used to click, drag or scroll anywhere on the screen. In particular, it allows the PDF document to be moved slightly up or down (eg by dragging or scrolling) to keep the text fragments in it aligned with corresponding text fragments of the Word document.

De overlay-applicatie zorgt ervoor dat de Y-coördinaat van de lijn 4020 verandert in overeenstemming met de Y-coördinaat van de muiscursor 4099. De Y-coördinaten kunnen identiek zijn of kunnen enigszins verschoven zijn, zodanig dat de lijn enigszins boven of enigszins onder de muiscursor verschijnt.The overlay application causes the Y coordinate of the line 4020 to change in accordance with the Y coordinate of the mouse cursor 4099. The Y coordinates can be identical or slightly offset, such that the line is slightly above or slightly below the mouse cursor appears.

FIG. 41 is een schematische voorstelling van een Z-orde van vijf vensters of beeldvlakken 4181-4185 die gebruikt kunnen worden in het computersysteem van FIG. 40.FIG. 41 is a schematic representation of a Z order of five windows or image planes 4181-4185 that can be used in the computer system of FIG. 40.

De uitvoeringsvorm van FIG. 40 en FIG. 41 kan gezien worden als een variant van de uitvoeringsvorm van FIG. 38 en FIG. 39 of als een variant van de uitvoeringsvorm van FIG. 7 en FIG. 8.The embodiment of FIG. 40 and FIG. 41 can be seen as a variant of the embodiment of FIG. 38 and FIG. 39 or as a variant of the embodiment of FIG. 7 and FIG. 8.

In een variant (niet getoond) van de uitvoeringsvorm van FIG. 40 en FIG. 41, bevat de lijn 4020 een geperforeerde bitmap (zoals in FIG. 37), of bevat de lijn een kleurgradiënt (verticaal of horizontaal), of bevat de lijn een textuurbitmap.In a variant (not shown) of the embodiment of FIG. 40 and FIG. 41, the line 4020 contains a perforated bitmap (as in FIG. 37), or the line contains a color gradient (vertical or horizontal), or the line contains a texture bitmap.

BE2018/5637BE2018 / 5637

FIG. 42 toont een schematisch blokdiagram van een ander computersysteem 4200 volgens een uitvoeringsvorm van de onderhavige uitvinding, met een overlay-applicatie die een overlayvenster 4384 verschaft dat een verticale lijn 4240 omvat die een linker gebied en een rechter gebied van het scherm 4204 definieert, en een horizontaal lijnsegment 4260 dat zich uitstrekt over de breedte van hetzij het linker gebied hetzij het rechter gebied.FIG. 42 shows a schematic block diagram of another computer system 4200 according to an embodiment of the present invention, with an overlay application providing an overlay window 4384 that includes a vertical line 4240 defining a left area and a right area of screen 4204, and a horizontal line segment 4260 extending across the width of either the left region or the right region.

Het overlayvenster 4384 is bij voorkeur geconfigureerd als een semi-transparant venster, bij voorkeur met een alfatransparantie in het bereik van 5% tot 95%, of van 30% tot 70%, hoewel dat niet absoluut vereist is, en het overlayvenster 4384 kan ook als ondoorzichtig geconfigureerd worden, in welk geval de pixels P5 volledig transparante pixels zouden zijn.The overlay window 4384 is preferably configured as a semi-transparent window, preferably with an alpha transparency in the range of 5% to 95%, or from 30% to 70%, although not absolutely required, and the overlay window 4384 may also as opaque, in which case the pixels P5 would be completely transparent pixels.

De horizontale positie van de verticale lijn 4240 kan vooraf gedefinieerd zijn, bv. in hoofdzaak in het midden van het overlayvenster 4384, of kan selecteerbaar zijn via een gebruikersinterface, maar is bij voorkeur configureerbaar door het verslepen van de lijn met de muiscursor 4299. Het laatstgenoemde is niet evident indien het overlayvenster 4384 in doorklikmodus geconfigureerd is, maar is bijvoorbeeld mogelijk door het overlayvenster 4384 dynamisch te configureren in doorklikmodus of niet in doorklikmodus, afhankelijk van of de muiscursor zich boven de verticale lijn 4240 bevindt of niet.The horizontal position of the vertical line 4240 may be predefined, e.g. substantially in the center of the overlay window 4384, or may be selectable via a user interface, but is preferably configurable by dragging the line with the mouse cursor 4299. The the latter is not evident if the overlay window 4384 is configured in click-through mode, but is possible, for example, by dynamically configuring the overlay window 4384 in click-through mode or not in click-through mode, depending on whether the mouse cursor is above vertical line 4240 or not.

De overlay-applicatie is geconfigureerd om de verticale positie Y van het horizontale lijnsegment 4260 bij te werken in overeenstemming met de positie van de muiscursor 4299 of bewegingen van de aanwijsinrichting of positie-inrichting, bv. muisinrichting 4203, maar alleen indien de muiscursor zich in het linker gebied bevindt (d.w.z. aan de linkerzijde van de verticale lijn 4240). Wanneer de muis zich in het rechter gebied bevindt (d.w.z. aan de rechterzijde van de verticale lijn 4240), behoudt het horizontale lijnsegment 4260 haar positie (wat hierin ook bevriest wordt genoemd).The overlay application is configured to update the vertical position Y of the horizontal line segment 4260 according to the position of the mouse cursor 4299 or pointer or position device movements, e.g. mouse device 4203, but only if the mouse cursor is in the left area (ie on the left side of vertical line 4240). When the mouse is in the right region (i.e., on the right side of the vertical line 4240), the horizontal line segment 4260 maintains its position (which is also referred to herein as freezing).

Een belangrijk voordeel van deze overlay-applicatie is dat het lijnsegment 4260 kan gebruikt worden om tekstfragmenten in een te vertalen document te markeren of te onderlijnen (bv. een PDFdocument dat zich aan de linkerzijde van de verticale lijn 4240 bevindt), terwijl men werkt (met het toetsenbord 4202 en de aanwijsinrichting, bv. muisinrichting 4203) in een teksteditor die zich aan de rechterzijde van de verticale lijn 4240 bevindt. Het lijnsegment 4260 helpt om snel opnieuw de context terug te vinden bij het heen en weer schakelen tussen de twee documenten, bijvoorbeeld tijdens het vertalen, waardoor de cognitieve last van de vertaler significant wordt verminderd.An important advantage of this overlay application is that the line segment 4260 can be used to highlight or underline text fragments in a document to be translated (e.g. a PDF document located on the left side of vertical line 4240) while working ( with the keyboard 4202 and the pointing device, e.g. mouse device 4203) in a text editor located on the right side of vertical line 4240. The line segment 4260 helps to quickly regain context when switching back and forth between the two documents, for example during translation, significantly reducing the translator's cognitive load.

Deze overlay-applicatie kan eveneens gebruikt worden door proeflezers, gebruikmakende van het lijnsegment 4260 om tekstfragmenten te onderstrepen of te markeren (door de muiscursor per regel of per enkele regels brontekst naar links te bewegen), en dan de muiscursor naar het rechter gebied te bewegen, en gebruikmakende van de muiscursor 4299 om over de doeltekst te zweven, en optioneel om deze laatstgenoemde te bewerken of te corrigeren.This overlay application can also be used by proofreaders, using the line segment 4260 to underline or highlight text fragments (by moving the mouse cursor left by line or single line of source text), and then moving the mouse cursor to the right area , and using the mouse cursor 4299 to hover over the target text, and optionally to edit or correct the latter.

BE2018/5637BE2018 / 5637

FIG. 43 is een schematische voorstelling van een Z-orde van vijf vensters of beeldvlakken 4381-4385 die gebruikt kunnen worden in het computersysteem van FIG. 42.FIG. 43 is a schematic representation of a Z order of five windows or image planes 4381-4385 that can be used in the computer system of FIG. 42.

In een variant (niet getoond) van de uitvoeringsvorm van FIG. 42 en FIG. 43, bevat het lijnsegment 4260 een geperforeerde bitmap (zoals in FIG. 37), of bevat een kleurgradiënt (verticaal of horizontaal), of bevat een textuurbitmap.In a variant (not shown) of the embodiment of FIG. 42 and FIG. 43, the line segment 4260 contains a perforated bitmap (as in FIG. 37), or contains a color gradient (vertical or horizontal), or contains a texture bitmap.

In een variant van de uitvoeringsvorm van FIG. 42 en FIG. 43 bevindt het lijnsegment 4260 zich aan de rechterzijde van de verticale lijn 4240, en is beweegbaar indien de muiscursor of aanwijzer 4299 zich rechts van de verticale lijn 4240 bevindt, en bevriest indien de muiscursor of aanwijzer zich aan de linkerzijde van de verticale lijn 4240 bevindt. Deze uitvoeringsvorm wordt in het bijzonder geschikt geacht voor linkshandige personen.In a variant of the embodiment of FIG. 42 and FIG. 43, the line segment 4260 is on the right side of the vertical line 4240, and is movable if the mouse cursor or pointer 4299 is to the right of the vertical line 4240, and freezes if the mouse cursor or pointer is on the left side of the vertical line 4240 . This embodiment is considered particularly suitable for left-handed persons.

FIG. 44 toont een flowdiagram van een werkwijze die door het computersysteem 4200 vanFIG. 44 shows a flow chart of a method used by the computer system 4200

FIG. 42 en FIG. 43 kan uitgevoerd worden. FIG. 44 toont een computer-geïmplementeerde werkwijze 4400 voor het overlayen van een grafisch beeld in een rekenapparaat, waarbij de werkwijze de stappen omvat van:FIG. 42 and FIG. 43 can be executed. FIG. 44 shows a computer-implemented method 4400 for overlaying a graphic image in a computer, the method comprising the steps of:

a) het verschaffen 4401 van een overlayvenster 4384, bij voorkeur als een semi-transparant venster;a) providing 4401 with an overlay window 4384, preferably as a semi-transparent window;

b) het verschaffen 4402 van een eerste zichtbaar object in de vorm van een verticale lijn 4240;b) providing 4402 a first visible object in the form of a vertical line 4240;

c) het verschaffen 4403 van een tweede zichtbaar object in de vorm van een horizontaal lijnsegment 4260 dat zich ofwel aan de linkerzijde ofwel aan de rechterzijde van de verticale lijn 4240 bevindt;c) providing 4403 a second visible object in the form of a horizontal line segment 4260 located either on the left or right side of vertical line 4240;

het herhaaldelijk uitvoeren van de volgende stappen:repeatedly performing the following steps:

d) het verkrijgen 4404 van positie-informatie X,Y van een muisaanwijzer of muiscursor 4299;d) obtaining 4404 position information X, Y from a mouse pointer or mouse cursor 4299;

e) het testen 4405 of de muiscursor of aanwijzer 4299 zich op of boven de verticale lijn 4240 bevindt, en indien de uitkomst van de test positief is, doorgaan met stap f), anders doorgaan met stap h);e) testing 4405 whether the mouse cursor or pointer 4299 is on or above the vertical line 4240, and if the result of the test is positive, proceed to step f), otherwise proceed to step h);

f) indien het overlayvenster niet reeds in niet-doorklikmodus geconfigureerd is, het configureren 4406 van het overlayvenster 4384 in niet-doorklikmodus (wat betekent: niet in doorklikmodus maar in een modus waarbij het besturingssysteem toetsenbord- en muis-events naar het overlayvenster of objecten daarvan zal sturen, in plaats van naar onderliggende applicaties, indien de muis boven het overlayvenster gepositioneerd is);f) if the overlay window is not already configured in non-click-through mode, configuring overlay window 4384 in non-click-through mode 4406 (which means: not in click-through mode but in a mode where the operating system keyboard and mouse events to the overlay window or objects will send them, rather than to underlying applications, if the mouse is positioned over the overlay window);

BE2018/5637BE2018 / 5637

g) het testen of een muisknop is ingedrukt, en indien de uitkomst van deze test waar is, het verslepen van de verticale lijn; en teruggaan naar stap e);g) testing whether a mouse button has been pressed, and if the result of this test is true, dragging the vertical line; and go back to step e);

h) indien het overlayvenster niet reeds in doorklikmodus geconfigureerd is, het configureren 4408 van het overlayvenster 4384 in doorklikmodus;h) if the overlay window is not already configured in click-through mode, configuring 4408 of the overlay window 4384 in click-through mode;

i) het aanpassen van een positie van het horizontale lijnsegment 4260, indien de muiscursor of aanwijzer 4299 zich aan dezelfde zijde van de verticale lijn 4240 bevindt als het horizontale lijnsegment 4260, en het bevriezen van het horizontale lijnsegment 4260 indien de muiscursor 4299 zich aan de overstaande zijde van de verticale lijn 4240 bevindt, en teruggaan naar stap (e).i) adjusting a position of the horizontal line segment 4260 if the mouse cursor or pointer 4299 is on the same side of the vertical line 4240 as the horizontal line segment 4260, and freezing the horizontal line segment 4260 if the mouse cursor 4299 is on the opposite side of vertical line 4240, and return to step (e).

Deze uitvoeringsvorm verschaft een lijnsegment 4260 dat bevriest wanneer de muiscursor aan de rechterzijde van de verticale lijn 4240 aan het bewegen is of zich daar bevindt, en dat samen met de muiscursor beweegt wanneer de muiscursor 4299 zich aan de linkerzijde van de verticale lijn 4240 bevindt of daar aan het bewegen is, of omgekeerd. Bovendien maakt deze uitvoeringsvorm het mogelijk om de verticale lijn 4240 op een zeer intuïtieve wijze te verslepen. Deze uitvoeringsvorm is in het bijzonder geschikt voor vertalers en proeflezers die geen CAT-tool (Computer Aided Translation tool) gebruiken, of om een vertaling te verifiëren buiten het CAT-tool.This embodiment provides a line segment 4260 that freezes when the mouse cursor on the right side of vertical line 4240 is moving or is located there, and that moves along with the mouse cursor when mouse cursor 4299 is on the left of vertical line 4240 or is moving there, or vice versa. In addition, this embodiment makes it possible to drag the vertical line 4240 in a very intuitive manner. This embodiment is particularly suitable for translators and proofreaders who do not use a Computer Aided Translation tool, or to verify a translation outside of the CAT tool.

Er wordt opgemerkt dat er een vereiste was om de positie van de verticale lijn selecteerbaar of configureerbaar te maken, en aangezien deze configuratie gebruikerinteractie vereist, is de logische plaats om deze functionaliteit te implementeren in het gebruikersinterface-venster, omdat dat venster in staat is toetsenbord- en muis-events te ontvangen. De uitvinders kwamen echter op het idee dat het eenvoudiger en intuïtiever zou zijn voor de gebruiker indien de verticale lijn kon versleept worden, maar dat was niet mogelijk omdat de verticale lijn geïmplementeerd is in een venster dat geconfigureerd is in doorklikmodus. In een poging een oplossing te vinden om het verslepen toch mogelijk te maken, experimenteerden de uitvinders met het dynamisch wijzigen van de doorklikfunctionaliteit van het overlayvenster, niet wetende of, laat staan verwachtende dat dit überhaupt zou kunnen werken, en of het op betrouwbare wijze zou werken. De experimenten toonden verrassend aan dat het inderdaad mogelijk is de doorklikmodus van een venster dynamisch te wijzigen, afhankelijk van de positie van de muiscursor, in het bijzonder afhankelijk van of de native muiscursor zich boven het gebied van de verticale lijn bevindt. Ten minste dit aspect is niet triviaal.It is noted that there was a requirement to make the position of the vertical line selectable or configurable, and since this configuration requires user interaction, the logical place to implement this functionality is in the user interface window, because that window is capable of keyboard and receive mouse events. However, the inventors came up with the idea that it would be simpler and more intuitive for the user if the vertical line could be dragged, but that was not possible because the vertical line was implemented in a window configured in click-through mode. In an effort to find a solution to enable dragging anyway, the inventors experimented with dynamically changing the click-through functionality of the overlay window, not knowing if, let alone expecting it to work at all, and whether it would work reliably to work. Surprisingly, the experiments showed that it is indeed possible to dynamically change the click-through mode of a window depending on the position of the mouse cursor, particularly depending on whether the native mouse cursor is above the area of the vertical line. At least this aspect is not trivial.

In een variant van de werkwijze voor FIG. 44 bevindt het lijnsegment 4260 zich aan de rechterzijde van de verticale lijn 4240, en is beweegbaar indien de muiscursor of aanwijzer 4299 zich rechts van de verticale lijn 4240 bevindt, en bevriest indien de muiscursor of aanwijzer zich aan de linkerzijde van de verticale lijn 4240 bevindt. Deze uitvoeringsvorm wordt geacht vooral bruikbaar te zijn voor linkshandige vertalers en proeflezers en schrijvers.In a variant of the method for FIG. 44, the line segment 4260 is on the right side of the vertical line 4240, and is movable if the mouse cursor or pointer 4299 is to the right of the vertical line 4240, and freezes if the mouse cursor or pointer is on the left side of the vertical line 4240 . This embodiment is believed to be especially useful for left-handed translators and proofreaders and writers.

BE2018/5637BE2018 / 5637

FIG. 45 toont een mobiel apparaat zoals bv. een eReader- of een smartphone-apparaat, dat een aanraakscherm omvat, en dat een app of applicatie uitvoert die tekstuele informatie toont, bijvoorbeeld in de vorm van een eBook, of een web-browser. De tekstuele informatie wordt geoverlayed (overdekt) door een lijn 4510 die een gebruiker toelaat tekstinformatie die hij of zij aan het lezen is, te onderlijnen of markeren. De lijn 4510 kan geïmplementeerd worden in een overlayvenster geassocieerd met een overlay-applicatie of als deel van het besturingssysteem dat op het apparaat wordt uitgevoerd, of kan geïmplementeerd worden als deel van de app of applicatie zelve, bv. de eBook-lezer of web-browser app.FIG. 45 shows a mobile device such as, for example, an eReader or a smartphone device, which comprises a touch screen, and which runs an app or application that shows textual information, for example in the form of an eBook, or a web browser. The textual information is overlayed (covered) by a line 4510 that allows a user to underline or highlight text information he or she is reading. Line 4510 can be implemented in an overlay window associated with an overlay application or as part of the operating system running on the device, or it can be implemented as part of the app or application itself, e.g. the eBook reader or web browser app.

In een uitvoeringsvorm is de lijn 4510 een semi-transparante lijn, gecreëerd in een overlayvenster met een alfatransparantie in het bereik van 1% tot 99% of van 2% tot 98% of van 5% tot 95%, bij voorkeur in het bereik van 30% tot 70%. De lijn 4510 kan een veelheid monochrome pixels bevatten (zoals in FIG. 8), of kan een kleurgradiënt (niet getoond) bevatten, of kan een textuur bevatten.In one embodiment, line 4510 is a semi-transparent line created in an overlay window with an alpha transparency in the range of 1% to 99% or from 2% to 98% or from 5% to 95%, preferably in the range of 30% to 70%. The line 4510 may contain a plurality of monochrome pixels (as in FIG. 8), or may contain a color gradient (not shown), or may contain a texture.

In een andere uitvoeringsvorm is de lijn 4510 gevormd door, of omvat, een bitmap die een eerste veelheid volledig transparante pixels P6 omvat en een tweede veelheid ondoorzichtige of semitransparante pixels P7, die geïnterleaved (afwisselend gepositioneerd) zijn teneinde de lijn semitransparant te doen lijken, hierin een geperforeerde bitmap genoemd. In het geval de pixels P7 ondoorzichtige pixels zijn, is geen alfamenging vereist, en toch maakt de lijn de onderliggende tekstuele informatie niet compleet duister.In another embodiment, line 4510 is formed by, or includes, a bitmap that includes a first plurality of fully transparent pixels P6 and a second plurality of opaque or semi-transparent pixels P7 that are interleaved (alternately positioned) to make the line appear semi-transparent, herein referred to as a perforated bitmap. In case the pixels P7 are opaque pixels, no alpha blending is required, and yet the line does not obscure the underlying textual information.

De lijn 4510 kan automatisch beweegbaar zijn, bv. gebaseerd op een timer. Bij voorkeur is de snelheid configureerbaar of aanpasbaar via een gebruikersinterface (niet getoond).Line 4510 can be automatically movable, eg based on a timer. Preferably, the speed is configurable or adjustable via a user interface (not shown).

De lijn 4510 kan beweegbaar zijn door middel van verslepen, op wijzen die op zich gekend zijn in de stand der techniek, op basis van een gebruiker die met zijn of haar vinger contact maakt met het scherm, en vervolgens de vinger beweegt.Line 4510 may be movable by dragging, in ways known per se in the art, based on a user making contact with the screen with his or her finger, and then moving the finger.

De lijn kan de lezer helpen om geconcentreerd te blijven bij het lezen, ondanks afleiding.The line can help the reader to stay focused while reading, despite distractions.

In een uitvoeringsvorm waarbij de lijn 4510 zich in hoofdzaak over de ganse breedte van het display van het apparaat 4500 uitstrekt, hoeft de reader-applicatie of de overlay-applicatie enkel de verticale positie (Y) van de lijn ten opzichte van het scherm aan te passen, in overeenstemming met bewegingen van de gebruiker op het aanraakscherm.In an embodiment where the line 4510 extends substantially across the entire width of the display of the device 4500, the reader application or the overlay application need only indicate the vertical position (Y) of the line relative to the screen according to the user's movements on the touch screen.

In een uitvoeringsvorm waarbij de lijn 4510 zich slechts over een fractie (bv. minder dan 50%) van de breedte van het display van apparaat 4500 uitstrekt, kan de reader-applicatie of de overlayapplicatie aangepast zijn om zowel een horizontale positie X als een verticale positie Y van de lijn aan te passen, in overeenstemming met bewegingen van een vinger van een gebruiker op het aanraakscherm.In an embodiment where line 4510 extends only a fraction (e.g. less than 50%) of the width of the display of device 4500, the reader application or the overlay application may be adapted to have both a horizontal position X and a vertical position. adjust position Y of the line according to movements of a user's finger on the touch screen.

BE2018/5637BE2018 / 5637

FIG. 46 toont een schematisch blokdiagram van een ander computersysteem 4600 volgens een uitvoeringsvorm van de onderhavige uitvinding, dat gezien kan worden als een variant van FIG. 21, waarbij het computersysteem 4600 een grafisch overlaybeeld 4784 verschaft in de vorm van een zogenoemde geperforeerde textuurbitmap, geoverlayed door de weergave-inrichting 4604.FIG. 46 shows a schematic block diagram of another computer system 4600 according to an embodiment of the present invention, which can be viewed as a variant of FIG. 21, wherein the computer system 4600 provides a graphic overlay image 4784 in the form of a so-called perforated texture bitmap overlaid by the display device 4604.

In deze uitvoeringsvorm genereert de computerinrichting 4601 de beeldvlakken 4781 tot 4783, en levert overeenkomstige beeldgegevens aan de weergave-inrichting 4604, zoals een klassieke computer zou doen, maar de weergave-inrichting, in plaats van de genoemde computergegevens zonder meer op een displaypaneel weer te geven, overdekt de genoemde beeldgegevens met een overlaybeeld 4784 dat opgeslagen is in de weergave-inrichting, en geeft het resultaat weer.In this embodiment, the computer device 4601 generates the image planes 4781 to 4783, and supplies corresponding image data to the display device 4604, as a conventional computer would, but instead display the said computer data on a display panel. overlays said image data with an overlay image 4784 stored in the display device and displays the result.

Weergave-inrichtingen zijn welgekend in de stand der techniek, in het bijzonder losstaande LCD-displayapparaten of losstaande LCD-monitoren. Een dergelijke weergave-inrichting omvat hoofdzakelijk drie delen: een applicatieprocessor, een geheugeninrichting dat een framebuffer omvat, en een weergave-inrichting die een displaycontroller en een displaypaneel omvat. De applicatieprocessor is verantwoordelijk voor het tekenen en genereren van een beeldframe, en voor het opslaan van het gegenereerde beeldframe in het framebuffer in de geheugeninrichting. De framebuffer wordt gebruikt om gegevens op te slaan van pixels op een displayscherm. De displaycontroller is hoofdzakelijk verantwoordelijk voor het lezen van de gegevens van de pixels uit de framebuffer, en het sequentieel schrijven van de gegevens van de pixels naar logische schakelingen op het displaypaneel die met de pixels overeenkomen. In een proces van het weergeven van een beeld door het displaysysteem genereert de applicatieprocessor voortdurend een nieuw beeldframe, en stuurt het beeldframe naar de framebuffer.Display devices are well known in the art, especially standalone LCD display devices or standalone LCD monitors. Such a display device mainly comprises three parts: an application processor, a memory device that includes a frame buffer, and a display device that includes a display controller and a display panel. The application processor is responsible for drawing and generating an image frame, and for storing the generated image frame in the frame buffer in the memory device. The frame buffer is used to store data from pixels on a display screen. The display controller is primarily responsible for reading the pixel data from the frame buffer, and sequentially writing the pixel data to logic panels on the display panel that correspond to the pixels. In a process of displaying an image by the display system, the application processor continuously generates a new image frame and sends the image frame to the frame buffer.

In de context van de onderhavige uitvinding is de applicatieprocessor aangepast voor het verschaffen van een overlaybeeld 4784 over het genoemde computerbeeld, waarbij het overlaybeeld een geperforeerde textuurbitmap is zoals hoger toegelicht. Met andere woorden, omvat of bestaat deze bitmap 4730 uit een eerste veelheid pixels P6 die volledig transparante pixels zijn, en een tweede veelheid pixels P8 die semi-transparante pixels zijn, welke pixels P6 en P8 geïnterleaved (afwisselend gepositioneerd) zijn, bijvoorbeeld opgesteld in een regelmatig patroon, bij voorkeur een dambordpatroon. De feitelijke stap van het overlayen kan het alfamengen omvatten van de computerpixels met overeenkomstige pixels van de geperforeerde textuurbitmap.In the context of the present invention, the application processor is adapted to provide an overlay image 4784 over said computer image, the overlay image being a perforated texture bitmap as explained above. In other words, this bitmap 4730 comprises or consists of a first plurality of pixels P6 which are fully transparent pixels, and a second plurality of pixels P8 which are semi-transparent pixels, which pixels P6 and P8 are interleaved (alternately positioned), for example arranged in a regular pattern, preferably a checkerboard pattern. The actual overlay step may include alpha blending of the computer pixels with corresponding pixels of the perforated texture bitmap.

De geperforeerde textuurbitmap kan een vooraf bepaalde bitmap zijn, ingebouwd in de weergave-inrichting, of is bij voorkeur een downloadbaar beeld, of getoond op de computerinrichting, en vastgelegd door de weergave-inrichting op aanvraag van de gebruiker, bijvoorbeeld geïnitieerd door een druk op een knop van de weergave-inrichting (niet getoond), en vervolgens opgeslagen in een niet-vluchtig geheugen van de weergave-inrichting voor verder gebruik. Maar andere middelen voor het downloaden van de textuurbitmap zijn eveneens beschouwd, bijvoorbeeld gebruikmakende van een USB-interface voor het inbrengen van een memory stick, of gebruikmakende van eenThe perforated texture bitmap can be a predetermined bitmap built into the display device, or is preferably a downloadable image, or displayed on the computer device, and captured by the display device at the request of the user, e.g. initiated by pressing a button of the display device (not shown), and then stored in a non-volatile memory of the display device for further use. However, other means for downloading the texture bitmap have also been considered, for example using a USB interface for inserting a memory stick, or using a

BE2018/5637 draadloze verbinding, bijvoorbeeld een Bluetooth-verbinding voor het tot stand brengen van een draadloze communicatie met de computerinrichting, in welk geval de computerinrichting bij voorkeur is uitgerust met een speciale applicatie voor het selecteren en het verzenden van een textuurbitmap naar de weergave-inrichting.BE2018 / 5637 wireless connection, for example a Bluetooth connection for establishing a wireless communication with the computer device, in which case the computer device is preferably equipped with a special application for selecting and sending a texture bitmap to the display design.

Optioneel is de weergave-inrichting verder aangepast voor het schalen en/of het in grootte aanpassen en/of het tegelen en/of het perforeren van de textuurbitmap, hoewel de perforatie ook impliciet kan geïmplementeerd worden door slechts een subset van de pixels te alfamengen, bijvoorbeeld één pixel voor elke twee pixels volgens het dambordpatroon.Optionally, the display is further adapted for scaling and / or resizing and / or tiling and / or perforating the texture bitmap, although the perforation can also be implied by alpha mixing only a subset of the pixels, for example, one pixel for every two pixels according to the checkerboard pattern.

Bij voorkeur zijn er ten minste vier of vijf alfamengingsniveaus, bijvoorbeeld overeenkomende met een menging van 0/4=0%, 1/4=25%, 2/4=50%, 3/4=75% en 4/4=100%. Met meer voorkeur zijn er ten minste acht of negen alfamengingsniveaus, bijvoorbeeld overeenkomende met een menging van 0/8=0%, 1/8, 2/8, 3/8, 4/8, 5/8, 6/8, 7/8 en 8/8=100%.Preferably there are at least four or five alpha mixing levels, for example corresponding to a mixture of 0/4 = 0%, 1/4 = 25%, 2/4 = 50%, 3/4 = 75% and 4/4 = 100 %. More preferably there are at least eight or nine alpha mixing levels, e.g. corresponding to a mix of 0/8 = 0%, 1/8, 2/8, 3/8, 4/8, 5/8, 6/8, 7 / 8 and 8/8 = 100%.

Optioneel is de weergave-inrichting verder aangepast voor het aanpassen van het transparantieniveau en/of de kleur en/of het contrast van de textuurbitmap, bijvoorbeeld gebruikmakende van sommige of alle formules [6] tot [10], gebaseerd op een vooraf gedefinieerde kleur- en/of contrastniveau, die/dat door een gebruiker aan de weergave-inrichting kan verschaft zijn, gebruikmakende van één of meerdere knoppen op de weergave-inrichting, of gebruikmakende van de genoemde speciale applicatie voor het configureren van de weergave-inrichting gebruikmakende van de genoemde draadloze verbinding, bv. Bluetooth-verbinding.Optionally, the display is further adapted to adjust the transparency level and / or the color and / or the contrast of the texture bitmap, for example using some or all formulas [6] to [10], based on a predefined color and / or contrast level, which may be provided to the display device by a user, using one or more buttons on the display device, or using said special application for configuring the display device using the mentioned wireless connection, eg Bluetooth connection.

Optioneel is de processor verder aangepast voor het herhaaldelijk aanpassen van een positie van de textuurbitmap, zodanig dat pixels van het onderliggend grafisch beeld geoverlayed worden door een volledig transparante pixel van de eerste veelheid pixels P6 op een eerste tijdstip t1, en geoverlayed worden door een semi-transparante pixel P8 van de tweede veelheid pixels op een tweede en optioneel derde en vierde tijdstip t2, t3, t4, bijvoorbeeld zoals hoger is toegelicht, bij het bespreken van FIG. 28.Optionally, the processor is further adapted to repeatedly adjust a position of the texture bitmap such that pixels of the underlying graphic image are overlayed by a fully transparent pixel of the first plurality of pixels P6 at a first time t1, and overlayed by a semi transparent pixel P8 of the second plurality of pixels at a second and optionally third and fourth time t2, t3, t4, for example as explained above, when discussing FIG. 28.

Liever dan het fysiek heen en weer verschuiven van de textuurbitmap over een horizontale of verticale afstand van bijvoorbeeld één pixel voor ieder frame, en liever dan het opslaan van een geperforeerde bitmap, kan de processor aangepast zijn voor het combineren van de stap van het tegelijkertijd perforeren en tijdmultiplexen, bij het genereren van het beeld dat opgeslagen dient te worden in het framebuffer, bv. door het volgende te doen:Rather than physically shifting the texture bitmap back and forth by a horizontal or vertical distance of, for example, one pixel for each frame, and rather than storing a perforated bitmap, the processor may be adapted to combine the step of simultaneously punching and time multiplexes, when generating the image to be stored in the frame buffer, e.g. by doing the following:

i) op even tijdstippen (t2, t4) het kopiëren van computerbeeldgegevens vanuit het invoerbuffer op pixellocaties X,Y waarvoor de som van de rij-index X en de kolom-index Y oneven is, en door het alfamengen van computerbeeldgegevens uit het invoerbuffer met overeenkomstige pixelgegevens uit de textuurbitmap op pixellocaties X,Y waarvoor de som van de rij-index X en de kolom-index Y even is; eni) at even times (t2, t4) copying computer image data from the input buffer at pixel locations X, Y for which the sum of the row index X and the column index Y is odd, and by alpha mixing computer image data from the input buffer with corresponding pixel data from the texture bitmap at pixel locations X, Y for which the sum of the row index X and the column index Y is even; and

BE2018/5637 ii) op oneven tijdstippen (t3, t5) het kopiëren van computerbeeldgegevens vanuit het invoerbuffer op pixellocaties X,Y waarvoor de som van de rij-index X en de kolom-index Y even is, en het alfamengen van computerbeeldgegevens uit het invoerbuffer met overeenkomstige pixelgegevens uit de textuurbitmap op pixellocaties X,Y waarvoor de som van de rij-index X en de kolom-index Y oneven is.BE2018 / 5637 ii) at odd times (t3, t5) copying computer image data from the input buffer at pixel locations X, Y for which the sum of the row index X and the column index Y is even, and the alpha mixing of computer image data from the input buffer with corresponding pixel data from the texture bitmap at pixel locations X, Y for which the sum of the row index X and the column index Y is odd.

Hoewel deze oplossing een speciale weergave-inrichting vereist, verschaft ze verschillende voordelen: deze oplossing kan oogvermoeidheid voor gebruikers verminderen, vooral wanneer het computerbeeld een helder beeld bevat. Het is een verder voordeel van deze oplossing dat ze het uitzicht van een zuiver wit beeld kan transformeren tot een getextureerd beeld, bijvoorbeeld een papierachtig beeld, dat esthetisch aangenamer kan zijn om te lezen. Het is een voordeel dat de weergave-inrichting de alfamenging uitvoert in plaats van de CPU van de computerinrichting, dus de CPU-belasting wordt niet beïnvloed door deze overlay. Ten slotte is het een voordeel om een geperforeerde bitmap te gebruiken in plaats van een niet-geperforeerde bitmap omdat dit minder rekenkracht vereist, aangezien slechts een subset van de pixels, bijvoorbeeld slechts 50% van de pixels van elk frame, alfagemengd moeten worden, terwijl de andere pixels zonder alfamenging kunnen doorgegeven worden.Although this solution requires a special display device, it provides several advantages: This solution can reduce eye fatigue for users, especially when the computer image contains a clear image. It is a further advantage of this solution that it can transform the appearance from a pure white image into a textured image, for example a paper-like image, which may be aesthetically pleasing to read. It is an advantage that the display device performs the alpha mixing instead of the CPU of the computer device, so the CPU load is not affected by this overlay. Finally, it is an advantage to use a perforated bitmap instead of a non-perforated bitmap as it requires less computing power since only a subset of the pixels, for example only 50% of the pixels of each frame, need to be alpha mixed, while the other pixels without alpha mixing can be passed.

FIG. 47 is een schematische voorstelling van een Z-orde van drie vensters of beeldvlakken die gebruikt kunnen worden in het computersysteem van FIG. 46, en daarboven wordt een vierde semi-transparant overlaybeeld verschaft door de weergave-inrichting.FIG. 47 is a schematic representation of a Z order of three windows or image planes that can be used in the computer system of FIG. 46, and above that, a fourth semi-transparent overlay image is provided by the display device.

FIG. 48 toont een schematisch blokdiagram van een ander computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, dat gezien kan worden als een variant van FIG. 46, waarbij het computersysteem een grafisch overlaybeeld verschaft in de vorm van een nietgeperforeerde textuurbitmap, die geoverlayed wordt door de weergave-inrichting. Alles wat vermeld is met betrekking tot FIG. 46 en FIG. 47 is ook hier van toepassing, behalve dat alle pixels van de textuurbitmap alfagemengd zouden moeten worden met de pixels van het computerbeeld.FIG. 48 shows a schematic block diagram of another computer system according to an embodiment of the present invention, which can be viewed as a variant of FIG. 46, wherein the computer system provides a graphic overlay image in the form of an unperforated texture bitmap, which is overlayed by the display device. Everything mentioned with respect to FIG. 46 and FIG. 47 also applies here, except that all pixels of the texture bitmap should be alpha mixed with the pixels of the computer image.

FIG. 49 is een schematische voorstelling van een Z-orde van drie vensters of beeldvlakken die gebruikt kunnen worden in het computersysteem van FIG. 48, en daarboven, een vierde, semitransparant overlaybeeld dat verschaft wordt door de weergave-inrichting 4804.FIG. 49 is a Z-order schematic of three windows or image planes that can be used in the computer system of FIG. 48, and above, a fourth, semi-transparent overlay image provided by the display device 4804.

Verwijzend naar FIG. 50 en FIG. 51.Referring to FIG. 50 and FIG. 51.

Zoals reeds besproken in het achtergrondgedeelte, verschaft het tool F.Lux een semitransparante grafische overlay-applicatie gebruikmakende van een bitmap, in het bijzonder een geelachtige monochrome bitmap, waarvan de kleur dynamisch wordt aangepast in de loop van de tijd.As already discussed in the background section, the F.Lux tool provides a semi-transparent graphical overlay application using a bitmap, in particular a yellowish monochrome bitmap, the color of which is dynamically adjusted over time.

BE2018/5637BE2018 / 5637

Hoewel dit tool behulpzaam kan zijn om oogvermoeidheid te verminderen, heeft het tool verscheidene beperkingen, bijvoorbeeld:While this tool can help reduce eye fatigue, the tool has several limitations, such as:

(1) de overlay houdt geen rekening met de eigenlijke onderliggende beelden verschaft door de onderliggende toepassingen. Inderdaad, de uitvinders vonden dat, teneinde oogvermoeidheid te verminderen, sommige beelden donkerder gemaakt moeten worden dan andere, in het bijzonder, toepassingen die een venster verschaffen met een zuiver witte achtergrond (zoals MS Paint of MS Word of MS Powerpoint) zouden donkerder gemaakt moeten worden dan toepassingen die een grijze achtergrond verschaffen. Helaas houdt F.Lux hier geen rekening mee. Een gebruiker zou handmatig kunnen aanpassen, maar dit is omslachtig.(1) the overlay does not take into account the actual underlying images provided by the underlying applications. Indeed, the inventors found that, in order to reduce eye fatigue, some images should be darkened than other, in particular, applications that provide a window with a pure white background (such as MS Paint or MS Word or MS Powerpoint) should be darkened then become applications that provide a gray background. Unfortunately, F.Lux does not take this into account. A user could edit manually, but this is cumbersome.

(2) vele computergebruikers nemen nu en dan een screenshot (schermopname) (bv. gebruikmakende van de Print-Screen knop op het toetsenbord), maar wanneer F.Lux wordt uitgevoerd, zijn de kleuren van een dergelijke screenshot niet de ware kleuren van de oorspronkelijke beeldstapel geassocieerd met de onderliggende toepassingen, maar zijn geelachtig of oranje gekleurd. Een gebruiker die een screenshot wil nemen zou F.Lux tijdelijk kunnen deactiveren om een screenshot te nemen, en F.Lux vervolgens heractiveren, maar dit is tijdrovend, maar erger is, wanneer F.Lux gedeactiveerd wordt, krijgt hij of zij de originele beelden gepresenteerd die typisch veel helderder zijn en die oogvermoeidheid kunnen veroorzaken.(2) many computer users occasionally take a screenshot (screen shot) (e.g. using the Print-Screen button on the keyboard), but when F.Lux is executed, the colors of such a screenshot are not the true colors of the original image stack associated with the underlying applications, but are colored yellowish or orange. A user who wants to take a screenshot could temporarily deactivate F.Lux to take a screenshot, and then reactivate F.Lux, but this is time consuming, but worse, when F.Lux is deactivated, he or she gets the original images that are typically much brighter and can cause eye fatigue.

De uitvinders van de onderhavige uitvinding kwamen op het idee om deze problemen aan te pakken door respectievelijk de computer-geïmplementeerde werkwijze 5000, getoond in FIG. 50, en de computer-geïmplementeerde werkwijze 5100 van FIG. 51, te verschaffen.The inventors of the present invention came up with the idea of addressing these problems by the computer-implemented method 5000, respectively, shown in FIG. 50, and the computer-implemented method 5100 of FIG. 51.

FIG. 50 is een flowdiagram van een computer-geïmplementeerde werkwijze 5000 voor het overlayen van een grafisch beeld in een rekenapparaat, dat gezien kan worden als een variant van het rekenapparaat 2300 van FIG. 23 en FIG. 24. De werkwijze omvat de stappen van:FIG. 50 is a flow chart of a computer-implemented method 5000 for overlaying a graphic image in a calculator, which can be viewed as a variant of the calculator 2300 of FIG. 23 and FIG. 24. The method includes the steps of:

a) het verschaffen 5001 van een semi-transparant overlayvenster met een alfatransparantiewaarde α, en omvattende een eerste bitmap bmp1. De eerste bitmap kan een monochrome bitmap zijn waarbij alle pixels dezelfde kleur hebben, of kan een geperforeerde monochroom bitmap zijn, of kan een textuurbitmap zijn, of kan een geperforeerde textuurbitmap zijn of een andere geschikte bitmap.a) providing 5001 of a semi-transparent overlay window with an alpha transparency value α, and comprising a first bitmap bmp1. The first bitmap can be a monochrome bitmap where all pixels are the same color, or it can be a perforated monochrome bitmap, or it can be a texture bitmap, or it can be a perforated texture bitmap, or another suitable bitmap.

De werkwijze omvat verder een lus waarbij de volgende stappen worden herhaald:The method further includes a loop repeating the following steps:

b) het nemen 5002 van een screenshot, waardoor een tweede bitmap bmp2 bekomen wordt;b) taking a screenshot 5002, thereby obtaining a second bitmap bmp2;

d) het bepalen 5003 van ten minste één kenmerk van de tweede bitmap bmp2;d) determining 5003 of at least one characteristic of the second bitmap bmp2;

e) het aanpassen 5004 van de alfa-transparantiewaarde α van het overlayvenster en/of het aanpassen van één of meerdere pixelwaardes van de eerste bitmap bmp1, gebaseerd op het ten minste één bepaald kenmerk.e) adjusting 5004 the alpha transparency value α of the overlay window and / or adjusting one or more pixel values of the first bitmap bmp1 based on the at least one particular feature.

BE2018/5637BE2018 / 5637

De eerste bitmap kan zijn een monochrome bitmap zijn.The first bitmap can be a monochrome bitmap.

De eerste bitmap kan een kleurgradiënt bevatten.The first bitmap can contain a color gradient.

In een uitvoeringsvorm, omvat stap d): het bepalen van een gemiddelde intensiteit en/of een maximumintensiteit en/of een intensiteitshistogram van de pixels van de tweede bitmap bmp2; en omvat stap e): het aanpassen van het alfa-transparantieniveau α zodanig dat de gemiddelde intensiteit of de maximumintensiteit of het intensiteitshistogram voldoet aan een vooraf bepaald criterium.In an embodiment, step d) comprises: determining an average intensity and / or a maximum intensity and / or an intensity histogram of the pixels of the second bitmap bmp2; and includes step e): adjusting the alpha transparency level α such that the average intensity or maximum intensity or intensity histogram meets a predetermined criterion.

In een uitvoeringsvorm, omvat stap d): het bepalen van gemiddelde kleurcomponentwaardes Ravg, Gavg, Bavg en/of een kleurcomponent-histogrammen van de pixels van de tweede bitmap bmp2; en omvat stap e): het aanpassen van één of meerdere pixelwaardes van het eerste beeld bmpl zodanig dat de gemiddelde kleurcomponent of het kleurcomponent-histogram aan een vooraf bepaald criterium voldoet.In one embodiment, step d) comprises: determining average color component values Ravg, Gavg, Bavg and / or a color component histograms of the pixels of the second bitmap bmp2; and includes step e): adjusting one or more pixel values of the first image bmpl such that the average color component or the color component histogram meets a predetermined criterion.

Betere resultaten (wat betreft minder oogvermoeidheid) kunnen bereikt worden indien ook de helderheid van de kamer in beschouwing wordt genomen. In zulk een uitvoeringsvorm omvat stap d) verder: het bepalen van een helderheidswaarde als indicatie van een helderheid in een kamer waarin het rekenapparaat dat de overlaywerkwijze uitvoert zich bevindt, en houdt de aanpassing van stap e) verder rekening met de helderheidswaarde. Deze helderheidswaarde kan bijvoorbeeld verkregen worden van een lichtsensor, of kan afgeleid worden uit een beeld genomen door een webcam, of op een andere geschikte wijze.Better results (in terms of less eye fatigue) can be achieved if the brightness of the room is also taken into account. In such an embodiment, step d) further comprises: determining a brightness value indicative of a brightness in a room in which the calculator performing the overlay method is located, and the adjustment of step e) further takes into account the brightness value. This brightness value can be obtained, for example, from a light sensor, or can be derived from an image taken by a webcam, or in another suitable manner.

In een specifieke uitvoeringsvorm, vooral geschikt voor mensen die met twee documenten werken of die op twee verschillende displays werken, omvat stap a) verder: het verschaffen van ten minste één verticale lijn of balk in de eerste bitmap bmpl voor het definiëren van ten minste twee gebieden omvattende een eerste gebied en een tweede gebied; en omvat stap c) het bepalen van ten minste een eerste kenmerk van het eerste gebied en een tweede kenmerk van het tweede gebied; en omvat stap e): het aanpassen van één of meerdere pixelwaardes van het eerste gebied zodanig dat het eerste kenmerk voldoet aan een eerste vooraf bepaald criterium, en het aanpassen van één of meerdere pixelwaardes van het tweede gebied, zodanig dat het tweede kenmerk voldoet aan een tweede criterium.In a specific embodiment, especially suitable for people who work with two documents or who work on two different displays, step a) further comprises: providing at least one vertical line or bar in the first bitmap bmpl for defining at least two areas comprising a first area and a second area; and step c) includes determining at least a first feature of the first area and a second feature of the second area; and comprising step e): adjusting one or more pixel values of the first area such that the first characteristic meets a first predetermined criterion, and adjusting one or more pixel values of the second area such that the second characteristic meets a second criterion.

In een variant van deze werkwijze, kan elk van het linker en rechter gebied verder verdeeld worden door middel van een horizontaal beweegbare lijn of balk, hetgeen tot vier verschillende gebieden leidt. Bij voorkeur is elk van deze gebieden van de eerste bitmap monochroom, wat wil zeggen dat het eerste gebied pixels heeft met kleurwaarde (Rl, Gl, Bl), waarbij de waarde van Rl, Gl en B1 bepaald wordt op basis van de grafische inhoud van de beelden die onder het eerste gebiedIn a variant of this method, each of the left and right areas can be further divided by a horizontally movable line or beam, leading to four different areas. Preferably, each of these areas of the first bitmap is monochrome, that is, the first area has pixels of color value (R1, Gl, Bl), the value of R1, Gl and B1 being determined based on the graphic content of the images included under the first area

BE2018/5637 liggen, het tweede gebied pixels heeft met kleurwaardes (R2, G2, B2) waarbij de waarde van R2, G2 en B2 bepaald wordt op basis van de grafische inhoud van de beelden die onder het tweede gebied liggen, enz. Deze gebieden kunnen geperforeerd of niet geperforeerd zijn. Alternatief bevat het eerste gebied pixels afgeleid van een eerste textuurbitmap, met een eerste gemiddelde kleur en een eerste contrastverhouding welke afgeleid is afhankelijk van ten minste één kenmerk van het/de beeld(en) dat/die onder het eerste gebied ligt/liggen, het tweede gebied bevat pixels geëxtraheerd uit een tweede textuurbitmap, met een tweede gemiddelde kleur en een tweede contrastverhouding, enz. De vakman met het voordeel van de onderhavige openbaarmaking kan eenvoudig andere varianten bedenken.BE2018 / 5637, the second area has pixels with color values (R2, G2, B2) where the values of R2, G2 and B2 are determined based on the graphic content of the images below the second area, etc. These areas can be perforated or not perforated. Alternatively, the first area contains pixels derived from a first texture bitmap, having a first average color and a first contrast ratio derived depending on at least one feature of the image (s) underlying the first area, the second area contains pixels extracted from a second texture bitmap, with a second average color and a second contrast ratio, etc. Those skilled in the art with the benefit of the present disclosure can easily devise other variants.

Het wordt ook overwogen dat het screenshot verder geanalyseerd kan worden, bijvoorbeeld om de aanwezigheid te detecteren van alfanumerieke karakters, en hun grootte, en/of de aanwezigheid van een monochrome achtergrond die deze karakters omgeeft, en het aanpassen van kenmerken van een textuuroverlaybitmap gebaseerd daarop, bijvoorbeeld om een textuurbitmap te creëren met een voldoende laag contrast zodat het de leesbaarheid van de karakters niet negatief beïnvloedt, en met een voldoend hoog contrast zodat het merkbaar is door de gebruiker, en bijvoorbeeld een als papier uitziend effect, of een mat uitziende achtergrond creëert.It is also contemplated that the screenshot may be further analyzed, for example, to detect the presence of alphanumeric characters, and their size, and / or the presence of a monochrome background surrounding these characters, and adjusting attributes of a texture overlay bitmap based thereon , for example, to create a texture bitmap with a sufficiently low contrast so that it does not negatively affect the legibility of the characters, and with a sufficiently high contrast so that it is noticeable by the user, and for example a paper-looking effect, or a matte-looking background creates.

FIG. 51 is een flowdiagram van een computer-geïmplementeerde werkwijze 5100 voor het overlayen van een grafisch beeld in een rekenapparaat, dat gezien kan worden als een variant van het rekenapparaat 2300 van FIG. 23 en FIG. 24. De werkwijze omvat de stappen van:FIG. 51 is a flow chart of a computer-implemented method 5100 for overlaying a graphic image in a calculator, which can be viewed as a variant of the calculator 2300 of FIG. 23 and FIG. 24. The method includes the steps of:

a) het verschaffen 5101 van een semi-transparant overlayvenster met een alfatransparantiewaarde α in het bereik van 1% tot 99%, en omvattende een eerste bitmap bmp1. De eerste bitmap kan een geperforeerde bitmap of een niet-geperforeerde monochrome bitmap zijn, of kan een geperforeerde of niet-geperforeerde textuurbitmap zijn, of een bitmap met een gradiënt gebaseerd op slechts twee kleurwaarden.a) providing 5101 a semi-transparent overlay window with an alpha transparency value α in the range of 1% to 99%, and comprising a first bitmap bmp1. The first bitmap can be a perforated bitmap or a non-perforated monochrome bitmap, or a perforated or non-perforated texture bitmap, or a bitmap with a gradient based on only two color values.

b) het nemen 5002 van een screenshot, waardoor een tweede bitmap bmp2 bekomen wordt;b) taking a screenshot 5002, thereby obtaining a second bitmap bmp2;

c) het berekenen van een derde bitmap bmp3 teneinde het effect van de grafische overlay te compenseren, gebaseerd op de eerste bitmap bmp1 en de tweede bitmap bmp2 en de alfatransparantie waarde α.c) calculating a third bitmap bmp3 to compensate for the effect of the graphic overlay based on the first bitmap bmp1 and the second bitmap bmp2 and the alpha transparency value α.

Er wordt opgemerkt dat, in het geval dat de overlay-applicatie niet enkel een bitmap bevat maar ook één of meerdere beweegbare objecten bevat zoals bijvoorbeeld een horizontale lijn of een verticale lijn, het mogelijk is om ofwel deze zichtbare objecten in het opgenomen beeld te handhaven, of om ook voor deze objecten te compenseren waardoor deze objecten virtueel uit het opgenomen beeld worden verwijderd. Het al dan niet verwijderen van de beweegbare objecten kan voorafIt is noted that, in case the overlay application not only contains a bitmap but also contains one or more movable objects such as for example a horizontal line or a vertical line, it is possible to maintain either these visible objects in the recorded image , or to compensate for these objects as well, so that these objects are virtually removed from the recorded image. It is possible to remove the movable objects or not in advance

BE2018/5637 bepaalde instelling zijn, of kan configureerbaar zijn door een gebruiker, bijvoorbeeld in het gebruikersinterface-venster.BE2018 / 5637 are certain settings, or can be configurable by a user, for example in the user interface window.

Optioneel omvat de werkwijze verder stap d) van: het opslaan 5104 van de derde bitmap bmp3 naar een niet-vluchtig geheugen (bv. op een geheugenstick) of op een opslaginrichting (bv. een harde schijf of een netwerk-drive), optioneel na formaatconversie (bv. BMP naar PNG) en/of na beeldcompressie (bv. verliesvrije of verlieslatende JPEG-compressie).Optionally, the method further comprises step d) of: storing 5104 the third bitmap bmp3 to a non-volatile memory (e.g., on a memory stick) or on a storage device (e.g., a hard disk or a network drive), optionally after format conversion (eg BMP to PNG) and / or after image compression (eg lossless or lossy JPEG compression).

Optioneel omvat de werkwijze verder stap e) van: het kopiëren 5105 van de derde bitmap bmp3 naar een klembord van een besturingssysteem dat op het rekenapparaat draait (bijvoorbeeld: MS Windows 10 of een latere versie met dezelfde of gelijkaardige functionaliteit). Deze functie is vergelijkbaar met de print-screen-knop die op vele toetsenborden aanwezig is, maar met het additionele voordeel van het compenseren voor de alfamenging. Op deze wijze kan een gebruiker die last heeft van oogvermoeidheid werken op zijn computer, en kan zelfs screenshots nemen zonder het overlaybeeld te moeten deactiveren. Dit is een zeer groot voordeel voor zulke gebruikers, zowel vanwege gereduceerde oogvermoeidheid als vanwege bespaarde tijd.Optionally, the method further includes step e) of: copying 5105 the third bitmap bmp3 to a clipboard of an operating system running on the computing device (for example: MS Windows 10 or a later version with the same or similar functionality). This feature is similar to the print screen button found on many keyboards, but with the added benefit of compensating for alpha blending. In this way, a user who suffers from eye fatigue can work on his computer, and can even take screenshots without having to deactivate the overlay image. This is a very big advantage for such users, both because of reduced eye fatigue and time saved.

Teneinde de compensatie uit te voeren, kan gebruik worden gemaakt van de volgende verzameling formules, of een equivalente verzameling van formules:The following set of formulas, or an equivalent set of formulas, can be used to perform the compensation:

”~R3[x,y] = [ R2[x,y] - R1[x,y]*(1-T)] /T[11]"~ R3 [x, y] = [R2 [x, y] - R1 [x, y] * (1-T)] / T [11]

G3[x,y] = [ G2[x,y] - G1[x,y]*(1-T)] /T[12]G3 [x, y] = [G2 [x, y] - G1 [x, y] * (1-T)] / T [12]

B3[x,y] = [ B2[x,y] - B1[x,y]*(1-T)] /T[13]B3 [x, y] = [B2 [x, y] - B1 [x, y] * (1-T)] / T [13]

T=1-q[14] waarbij R1,G1,B1 kleurcomponenten zijn van een pixel op een locatie (x,y) van de eerste bitmap bmp1 die geoverlayed wordt, en waarbij R2,G2,B2 kleurcomponenten zijn van een pixel op een locatie (x,y) van de tweede bitmap bmp2 genomen als de screenshot, en waarbij R3,G3,B3 kleurcomponenten zijn van een pixel op een locatie (x,y) van de derde bitmap bmp3, en waarbij α de alfa-transparantiewaarde is, en T een transparantiewaarde is, beide uitgedrukt als een drijvendekommagetal in het bereik van 0,01 tot 0,99.T = 1-q [14] where R1, G1, B1 are color components of a pixel at a location (x, y) of the first bitmap bmp1 that is overlayed, and where R2, G2, B2 are color components of a pixel on a location (x, y) of the second bitmap bmp2 taken as the screenshot, and wherein R3, G3, B3 are color components of a pixel at a location (x, y) of the third bitmap bmp3, and where α is the alpha transparency value , and T is a transparency value, both expressed as a floating point number in the range of 0.01 to 0.99.

In het geval dat de eerste bitmap geperforeerd is, hoeven de formules [11] tot [14] slechts toegepast te worden in het geval dat de pixel van de eerste bitmap niet volledig transparant is.In case the first bitmap is perforated, formulas [11] to [14] need only be applied in case the pixel of the first bitmap is not completely transparent.

FIG. 52 tot FIG. 59 illustreren een ander aspect van de onderhavige uitvinding, waarnaar hierin wordt verwezen als de geïnverteerde kleuren functie of de kleur-inversie functie. Zoals beschreven in de achtergrondsectie, is één van de onderliggende problemen van de onderhavige uitvinding dat heldere beelden (bv. veroorzaakt door een tekstverwerker of PDF document viewer ofFIG. 52 to FIG. 59 illustrate another aspect of the present invention, referred to herein as the inverted color function or the color inversion function. As described in the background section, one of the underlying problems of the present invention is that clear images (e.g. caused by a word processor or PDF document viewer or

BE2018/5637 een website met een witte achtergrond) oogvermoeidheid kan veroorzaken, vooral bij mensen die vele uren voor een computerscherm werken.BE2018 / 5637 a website with a white background) can cause eye fatigue, especially in people who work many hours in front of a computer screen.

Hoewel dit probleem reeds hierboven benaderd is (bv. door het verschaffen van een geperforeerde of niet-geperforeerde tamelijk donkere semi-transparante overlay), kwamen de uitvinders ook op het idee een overlay te verschaffen die de kleuren in hoofdzaak inverteert, in de zin dat heldere pixels getransformeerd worden naar donkere pixels, en omgekeerd. Inderdaad, een venster met een opdracht-prompt (ook gekend als een DOS-venster) veroorzaakt doorgaans veel minder oogvermoeidheid dan de meeste moderne windows toepassingen, omdat het grootste deel van het scherm zwart is, afgezien van enkele witte karakters.While this problem has already been addressed above (e.g., by providing a perforated or non-perforated rather dark semi-transparent overlay), the inventors also came up with the idea of providing an overlay that essentially inverts the colors, in the sense that bright pixels are transformed into dark pixels, and vice versa. Indeed, a command prompt window (also known as a DOS window) usually causes much less eye fatigue than most modern windows applications, because most of the screen is black except for a few white characters.

Er wordt opgemerkt dat het Windows besturingssysteem reeds een Verhoogde Contrast modus heeft, maar er zijn verschillende nadelen met de bestaande implementatie die verschaft wordt door het Besturingssysteem. Zo is deze functie bijvoorbeeld niet eenvoudig te vinden voor een gemiddelde gebruiker, omdat meerdere menu's moeten doorlopen worden, wat het onpraktisch maakt om op regelmatige basis AAN en UIT geschakeld te worden (bv. om de paar minuten). Ten tweede werkt de Verhoogde Contrast modus van het Windows O/S enkel met een volledige scherm, niet met een gedeeltelijk scherm. Dat is jammer, omdat professionele gebruikers met meerdere toepassingen tegelijk zouden kunnen werken (vooral op een computer met een multi-tasking besturingssysteem en met een groot scherm), maar ze willen misschien niet de kleuren inverteren van alle toepassingen. De gebruiker wil misschien de kleuren inverteren van een rechts gedeelte van het scherm waar een tekstverwerker gelegen is, maar niet de kleuren van een links gedeelte van het scherm, waar bijvoorbeeld een tekenprogramma gelegen is. Ten derde, bij het werken in een tekstdocument, wil de gebruiker misschien de letterkleur van bepaalde karakters wijzigen, en/of wil misschien sommige tekstgedeeltes in gele of groene achtergrondkleur markeren, maar dit is zeer moeilijk indien de kleuren geïnverteerd zijn over het ganse scherm.It is noted that the Windows operating system already has an Increased Contrast mode, but there are several drawbacks with the existing implementation provided by the Operating System. For example, this feature is not easy to find for an average user, as multiple menus have to be run through, making it impractical to switch ON and OFF on a regular basis (e.g. every few minutes). Second, Windows O / S's Enhanced Contrast mode only works with a full screen, not a partial screen. That's a shame because professional users could work with multiple applications at the same time (especially on a computer with a multi-tasking operating system and with a large screen), but they may not want to invert the colors of all applications. The user may want to invert the colors of a right part of the screen where a word processor is located, but not the colors of a left part of the screen where, for example, a drawing program is located. Third, when working in a text document, the user may want to change the font color of certain characters, and / or highlight some parts of text in yellow or green background color, but this is very difficult if the colors are inverted all over the screen.

De uitvinders wilden graag een kleur-inversie functie verschaffen in een overlay toepassing, maar realiseerden zich dat de overlay-toepassing geen toegang heeft tot de gegevens van het onderliggend beeld. De overlay-applicatie kan een screenshot nemen, maar dat zou niet de onderliggende beeldgegevens opleveren, maar een menging van de onderliggende beeldgegevens en het overlayvenster. Het zou mogelijk zijn de overlay-functie tijdelijk uit te schakelen (bv. door het overlayvenster volledig transparant te maken), en een screenshot te nemen van het onderliggend beeld, en vervolgens een ondoorzichtig overlaybeeld te verschaffen met het inverse beeld en dit beeld aan te houden voor een vooraf bepaalde periode, en dit zou werken voor een stationair beeld, maar dit werkt niet goed indien het onderliggende beeld verandert, zoals typisch het geval is wanneer een gebruiker aan het werk is aan de computer-inrichting (bv. bij het editeren van een tekstdocument, het lezen van of antwoorden op e-mails, enz.). Bovendien, zou het tijdelijk uitschakelen van de overlay doorgaans een heldere flits veroorzaken, wat bijzonder vervelend is. Voor deze en andere redenen,The inventors were keen to provide a color inversion function in an overlay application, but realized that the overlay application cannot access the data of the underlying image. The overlay application can take a screenshot, but that would not yield the underlying image data, but a mix of the underlying image data and the overlay window. It would be possible to temporarily disable the overlay function (e.g. by making the overlay window completely transparent), and take a screenshot of the underlying image, then provide an opaque overlay image with the inverse image and turn this image on. for a predetermined period of time, and this would work for a stationary image, but this does not work well if the underlying image changes, as is typically the case when a user is working on the computer device (e.g. when editing of a text document, reading or replying to emails, etc.). In addition, temporarily turning off the overlay would usually cause a bright flash, which is particularly annoying. For these and other reasons,

BE2018/5637 dacht men dat het onmogelijk was een kleurinversie-functie te implementeren in de overlay-applicatie zonder een flits te veroorzaken.BE2018 / 5637 was thought to be impossible to implement a color inversion function in the overlay application without causing a flash.

Teneinde de heldere flits te vermijden, kwamen de uitvinders op het idee om de semitransparante overlay niet tijdelijk uit te schakelen, en te proberen een kleurinversie te verschaffen op basis van de pixelgegevens verkregen van het screenshot. Testen werden uitgevoerd waarbij een screenshot werd genomen, en afhankelijk van de pixelwaardes van het screenshot, werd het overlaybeeld aangepast. Meer specifiek, indien het pixel van het screenshot een waarde (R,G,B) had, werd aan het overeenkomstig pixel in het overlaybeeld een waarde toegewezen van (255-R, 255-G, 255-B). Helaas leverde deze techniek geen stabiel beeld, maar de pixelwaarden driften weg.In order to avoid the bright flash, the inventors came up with the idea of not temporarily disabling the semi-transparent overlay, and attempting to provide a color inversion based on the pixel data obtained from the screenshot. Tests were performed taking a screenshot, and depending on the pixel values of the screenshot, the overlay image was adjusted. More specifically, if the pixel of the screenshot had a value (R, G, B), the corresponding pixel in the overlay image was assigned a value of (255-R, 255-G, 255-B). Unfortunately, this technique did not provide a stable image, but the pixel values drift away.

Het werkte niet, totdat de uitvinders op het idee kwamen om de pixelwaardes voor het overlaybeeld te berekenen, niet enkel op basis van de pixelwaardes van het screenshot-beeld, maar door ook rekening te houden met de pixelwaardes van het (vorige) overlay-beeld. Meer specifiek kwamen de uitvinders op het idee om de hoger vermelde formule [1] te gebruiken om de alfamengings-bewerking om te keren, teneinde de pixelwaarden van het onderliggende beeld te berekenen of te schatten (hierin ontmengde” pixelwaarden genoemd). Het idee was, dat zodra deze ontmengde pixelwaarden gekend zijn, ze geïnverteerd kunnen worden, wat leidt tot de nieuwe doel-pixelwaarden, en op basis van deze doelpixelwaarden zouden dan geschikte maskerpixelwaarden (waarden van de overlaybitmap) berekend of geschat kunnen worden die zouden resulteren in de doel-pixelwaarden. Het kon niet voorspeld worden dat dit idee zou werken, vooral wanneer men ermee rekening houdt dat om de onderliggende waarden te overschrijven (want een helder pixel moet zwart worden, en een zwarte pixel moet helder worden na alfa-blending), het transparantieniveau T tamelijk klein moet zijn (bv. kleiner dan 20%), maar het was onduidelijk of dat nog steeds zou toelaten om de onderliggende pixelgegevens in het screenshot met voldoende nauwkeurigheid te detecteren, vooral voor beeldgegevens waar kwantisatiefouten erg zichtbaar zijn.It didn't work until the inventors came up with the idea to calculate the pixel values for the overlay image, not only based on the pixel values of the screenshot image, but also taking into account the pixel values of the (previous) overlay image . More specifically, the inventors came up with the idea to use the above formula [1] to reverse the alpha blending operation, in order to calculate or estimate the pixel values of the underlying image (referred to herein as "unmixed" pixel values). The idea was that once these unmixed pixel values are known, they can be inverted leading to the new target pixel values, and based on these target pixel values, appropriate mask pixel values (values of the overlay bitmap) could be calculated or estimated that would result in the target pixel values. It could not be predicted that this idea would work, especially when one takes into account that to override the underlying values (because a bright pixel should turn black, and a black pixel should turn bright after alpha blending), the transparency level T is fairly should be small (e.g. less than 20%), but it was unclear whether that would still allow detecting the underlying pixel data in the screenshot with sufficient accuracy, especially for image data where quantization errors are very visible.

Dus begonnen de uitvinders te experimenteren. De hierboven vermelde formule [1] wordt hier herhaald als formule [15], voor het gemak.So the inventors started to experiment. The above formula [1] is repeated here as formula [15], for convenience.

(Rm,Gm,Bm) = (R1,G1,B1)x(1-T) + (R2,G2,B2)xT [15](Rm, Gm, Bm) = (R1, G1, B1) x (1-T) + (R2, G2, B2) xT [15]

Voor de inverse kleur functie, zijn (Rm,Gm,Bm) de waardes die verkregen zijn door het screenshot, en ze worden hier hernoemd naar (Rmix,Gmix,Bmix), en de waardes (R2,G2,B2) zijn de waardes van het onderliggende beeld en ze worden hier hernoemd naar (Rorig,Gorig,Borig), en de waardes (R1,G1,B1) zijn die van het overlaybeeld en ze worden hier hernoemd naar (Rmask, Gmask, Bmask).For the inverse color function, (Rm, Gm, Bm) are the values obtained by the screenshot, and they are renamed here to (Rmix, Gmix, Bmix), and the values (R2, G2, B2) are the values of the underlying image and they are renamed here to (Rorig, Gorig, Borig), and the values (R1, G1, B1) are those of the overlay image and they are renamed here to (Rmask, Gmask, Bmask).

Dus kan formule [15] herschreven worden als het volgend stelsel van vergelijkingen:So formula [15] can be rewritten as the following system of equations:

Rmix=Rmask*(1-T)+ Rorig*TRmix = Rmask * (1-T) + Rorig * T

Gmix= Gmask *(1-T)+ Gorig *TGmix = Gmask * (1-T) + Gorig * T

Bmix= Bmask *(1-T)+ Borig *T [16a] [16b] [16c]Bmix = Bmask * (1-T) + Borig * T [16a] [16b] [16c]

BE2018/5637 waarbij elk van Rmix, Gmix, Bmix, Rmask, Gmask, Bmask, Rorig, Gorig en Borig- waardes zijn in het bereik van [0..255], en T een waarde is in het bereik van 0.0 tot 1.0, of meer precies een waarde is in de discrete verzameling van 0/256 tot 255/256. De uitvinders kwamen op het idee om de oorspronkelijke waardes te schatten (of de ontmengde waardes te berekenen) door gebruik te maken van de volgende verzameling formules:BE2018 / 5637 where each of Rmix, Gmix, Bmix, Rmask, Gmask, Bmask, Rorig, Gorig and Borig values are in the range of [0..255], and T is a value in the range of 0.0 to 1.0, or more precisely a value in the discrete set from 0/256 to 255/256. The inventors came up with the idea to estimate the original values (or calculate the unmixed values) using the following set of formulas:

Runmix « Rorig = [Rmix - Rmask*(1-T)]/T, begrensd tot [0..255]Runmix «Rorig = [Rmix - Rmask * (1-T)] / T, limited to [0..255]

Gunmix « Gorig = [Gmix - Gmask*(1-T)]/T, begrensd tot [0..255]Gunmix «Gorig = [Gmix - Gmask * (1-T)] / T, limited to [0..255]

Bunmix « Borig = [Bmix - Bmask*(1-T)]/T, begrensd tot [0..255] [17a] [17b] [17c] (waarbij « betekent: is ongeveer gelijk aan).Bunmix «Borig = [Bmix - Bmask * (1-T)] / T, limited to [0..255] [17a] [17b] [17c] (where« means: is approximately equal to).

Om de berekeningen te versnellen werden berekeningen met gehele getallen uitgevoerd, en in plaats van vermenigvuldigingen en delingen, werden schuifbewerkingen gebruikt. Daartoe werd de waarde van T gekozen als een macht van 2 gedeeld door 256. Meer in het bijzonder, in voorkeursdragende uitvoeringsvormen, is T=16/256 of T=32/256.Integer calculations were performed, and instead of multiplication and division, shearing operations were used to speed up the calculations. To this end, the value of T was chosen as a power of 2 divided by 256. More specifically, in preferred embodiments, T = 16/256 or T = 32/256.

De volgende stap is het bepalen van de doelwaarden van de geïnverteerde pixels. Een eenvoudige formule voor hetconverteren van witte pixels (waarde 255) naar zwarte pixels (waarde 0) en omgekeerd, wordt gegeven door de volgende verzameling van functies:The next step is to determine the target values of the inverted pixels. A simple formula for converting white pixels (value 255) to black pixels (value 0) and vice versa is given by the following set of functions:

Rtarget=(255-Runmix);Rtarget = (255-Runmix);

Gtarget=(255-Gunmix);Gtarget = (255-Gunmix);

_Btarget=(255-Bunmix);_Btarget = (255-Bunmix);

[22a] [22b] [22c] maar er wordt expliciet op gewezen dat de onderhavige uitvinding niet tot deze specifieke functies beperkt is. In feite, wordt iedere verzameling van drie monotoon afnemende functies die waardes verschaffen in het bereik van 0 tot 255 (of een subset daarvan), voor argumenten in het bereik van 0 tot 255, beschouwd als het verschaffen van een kleur geïnverteerd beeld. Als voorbeeld kan de volgende verzameling functies een geschikte verzameling vormen:[22a] [22b] [22c] but it is expressly pointed out that the present invention is not limited to these specific functions. In fact, any set of three monotonically decreasing functions that provide values in the range of 0 to 255 (or a subset thereof), for arguments in the range of 0 to 255, is considered to provide a color inverted image. As an example, the following set of functions can be a suitable set:

Rtarget= 235 - round(0,95*Runmix), begrensd tot [0..255];[23a] — Gtarget=220 -Gunmix, begrensd tot [0..255];[23b]Rtarget = 235 - round (0.95 * Runmix), limited to [0..255]; [23a] - Gtarget = 220 -Gunmix, limited to [0..255]; [23b]

Btarget=255 - round(1.50*Bunmix), begrensd tot [0..255];[23c]Btarget = 255 - round (1.50 * Bunmix), limited to [0..255]; [23c]

In dit specifieke voorbeeld, zijn alle functies lineaire functies met een negatieve helling, maar de onderhavige uitvinding is daartoe niet beperkt, en niet-lineaire functies kunnen eveneens gebruikt worden, mits ze monotoon afnemend zijn voor argumenten in het bereik van [0 tot 255].In this particular example, all functions are linear functions with a negative slope, but the present invention is not limited thereto, and non-linear functions can also be used, provided they are monotonically decreasing for arguments in the range of [0 to 255] .

Eens de doelwaarden bepaald zijn als een functie van de ontmengde waarden, kunnen de maskerwaardes voor het verkrijgen van deze doelwaarden (na het mengen met het semi-transparante venster dat deze maskerpixels bevat) berekend worden aan de hand van de volgende formules (inOnce the target values have been determined as a function of the unmixed values, the mask values for obtaining these target values (after mixing with the semi-transparent window containing these mask pixels) can be calculated using the following formulas (in

BE2018/5637 analogie met formule [1], die herschreven is als volgt (na het vervangen van Rorig door Runmix, Gorig door Gunmix en Borig door Bunmix):BE2018 / 5637 analogy to formula [1], which has been rewritten as follows (after replacing Rorig with Runmix, Gorig with Gunmix and Borig with Bunmix):

Rtarget = Rmask*(1-T)+ Runmix*T, begrensd tot [0..255] [24a]Rtarget = Rmask * (1-T) + Runmix * T, limited to [0..255] [24a]

Gtarget = Gmask*(1-T)+ Gunmix*T, begrensd tot [0..255] [24b]Gtarget = Gmask * (1-T) + Gunmix * T, limited to [0..255] [24b]

Btarget = Bmask*(1-T)+ Bunmix*T, begrensd tot [0..255] [24c] of opgelostvoor de maskerwaarden:Btarget = Bmask * (1-T) + Bunmix * T, limited to [0..255] [24c] or resolved for the mask values:

Rmask := (Rtarget - Runmix*T)/(1-T), begrensd tot [0..255][25a]Rmask: = (Rtarget - Runmix * T) / (1-T), limited to [0..255] [25a]

Gmask := (Gtarget - Gunmix*)/(1-T), begrensd tot [0..255][25b]Gmask: = (Gtarget - Gunmix *) / (1-T), limited to [0..255] [25b]

Bmask := (Btarget - Bunmix*)/(1-T), begrensd tot [0..255][25c]Bmask: = (Btarget - Bunmix *) / (1-T), limited to [0..255] [25c]

Deze formules verschaffen uitstekende resultaten, maar zijn rekenkundig duur.These formulas provide excellent results, but are computationally expensive.

Zoekend naar snellere oplossingen, werden verdere experimenten uitgevoerd, en werd er verrassend vastgesteld dat uitstekende resultaten eveneens verkregen worden indien de maskerwaardes gewoon gelijk gesteld worden aan de doelwaarden van Formule [22a-c], zoals uitgedrukt kan worden door de volgende verzameling vergelijkingen:Looking for faster solutions, further experiments were conducted, and it was surprisingly found that excellent results are also obtained if the mask values are simply equated to the target values of Formula [22a-c], as can be expressed by the following set of equations:

Rmask := (255-Runmix), begrensd tot [0..255][26a]Rmask: = (255-Runmix), limited to [0..255] [26a]

Gmask := (255-Gunmix), begrensd tot [0..255][26b]Gmask: = (255-Gunmix), limited to [0..255] [26b]

Bmask := (255-Bunmix), begrensd tot [0..255][26c]Bmask: = (255-Bunmix), limited to [0..255] [26c]

Dit was zeer verrassend omdat eerdere testen waarbij de maskerwaardes gelijk werden gesteld aan (255-R, 255-G, 255-B) waarbij (R,G,B) de waardes waren van de screenshot pixels, geen stabiel beeld gaven. Maar het instellen van de maskerwaardes op (255-Runmix, 255-Gunmix, 255Bunmix) waarbij Runmix, Gunmix en Bunmix verkregen zijn uit formule [17], geven wel zeer goede resultaten.This was very surprising because previous tests where the mask values were equated to (255-R, 255-G, 255-B) where (R, G, B) were the values of the screenshot pixels did not give a stable image. However, setting the mask values to (255-Runmix, 255-Gunmix, 255Bunmix) where Runmix, Gunmix and Bunmix are obtained from formula [17] gives very good results.

Uitstekende resultaten werden ook verkregen voor de volgende verzameling vergelijkingen:Excellent results were also obtained for the following set of equations:

Rmask := (256-Runmix), begrensd tot [0..255]Rmask: = (256-Runmix), limited to [0..255]

Gmask := (256-Gunmix), begrensd tot [0..255]Gmask: = (256-Gunmix), limited to [0..255]

Bmask := (256-Bunmix), begrensd tot [0..255] [27a] [27b] [27c]Bmask: = (256-Bunmix), limited to [0..255] [27a] [27b] [27c]

Verdere experimenten leerden echter dat voor sommige beeldinhoud (bv. een afbeelding met een zachte gradiënt), sommige artefacten in de vorm van oscillaties optraden. Meer in het bijzonder, wisselden een kleine verzameling pixels tussen twee waardes en ook de overeenkomstige maskerwaardes van deze pixels wisselden tussen twee waardes. Verder onderzoek leerde dat dit waarschijnlijk te wijten is aan afrondingsfouten en/of kwantisatie effecten. Dit probleem kan opgelost worden op verscheidene manieren, bijvoorbeeld door toevoegen van pseudo-willekeurige ruis, of door te detecteren dat een bepaalde pixel aan het oscilleren is (door het vergelijken van opvolgendeHowever, further experiments showed that for some image content (e.g., a soft gradient image), some artifacts occurred in the form of oscillations. More specifically, a small collection of pixels alternated between two values, and also the corresponding mask values of these pixels alternated between two values. Further research showed that this is likely due to rounding errors and / or quantization effects. This problem can be solved in several ways, for example by adding pseudo-random noise, or by detecting that a particular pixel is oscillating (by comparing subsequent

BE2018/5637 screenshots), enz, of door kwantizering van de maskerwaardes, of door toekenning van bepaalde maskerwaardes voor bepaalde ontmengwaarden, of combinaties hiervan. De vakman kan eenvoudig een oplossing vinden voor deze specifieke waardes door het uitvoeren van routine experimenten, en deze op een eenvoudige manier op te lossen.BE2018 / 5637 screenshots), etc., or by quantizing the mask values, or by assigning certain mask values for certain demixing values, or combinations thereof. Those skilled in the art can easily find a solution for these specific values by performing routine experiments and solving them in a simple manner.

Verwijzend nu naar de figuren.Referring now to the figures.

FIG. 52(a) toont een schematisch blokdiagram van een computersysteem 5200 volgens een uitvoeringsvorm van de onderhavige uitvinding. Het computersysteem van FIG. 52(a) bevat een rekenapparaat 5201 en een scherm of monitor, bv. een LCD scherminrichting. Het rekenapparaat 5201 kan verder verbonden zijn met een toetsenbord 5202 en een muis 5203. Het rekenapparaat 5201 omvat tenminste één processor die een Multi-Tasking Besturingssysteem uitvoert (bv. een Windows versie van Microsoft Corporation, of een versie van Macintosh O/S, bv. Sierra of High-Sierra, of Linux of een andere geschikt besturingssysteem). Het rekenapparaat 5201 getoond in FIG. 52(a) en FIG. 52(b) voert tenminste één toepassing uit die informatie toont, bv. een tekstverwerker of een spreadsheetapplicatie of een internet browser of een PDF lezer, enz. Het rekenapparaat 5201 omvat verder een overlay-applicatie voor het implementeren van een overlay-werkwijze die in staat is om de kleuren van minstens een gedeelte van het beeld dat geoverlayed wordt, in hoofdzaak te inverteren.FIG. 52 (a) shows a schematic block diagram of a computer system 5200 according to an embodiment of the present invention. The computer system of FIG. 52 (a) includes a calculator 5201 and a screen or monitor, e.g., an LCD display device. The calculator 5201 may further be connected to a keyboard 5202 and a mouse 5203. The calculator 5201 includes at least one processor running a Multi-Tasking Operating System (eg, a Windows version from Microsoft Corporation, or a version of Macintosh O / S, eg Sierra or High-Sierra, or Linux or other suitable operating system). The calculator 5201 shown in FIG. 52 (a) and FIG. 52 (b) executes at least one application displaying information, eg a word processor or a spreadsheet application or an internet browser or a PDF reader, etc. The calculator 5201 further includes an overlay application for implementing an overlay method which is is able to substantially invert the colors of at least a portion of the image that is overlayed.

In het voorbeeld getoond in FIG. 52(a), is de overlay-applicatie ingericht voor kleur invertering van een centraal gebied van het scherm 5204. De grootte en positie van dit gebied kan vooraf bepaald zijn, of kan configureerbaar zijn door de gebruiker. De grootte en positie van het gebied kan gedefinieerd zijn door een frame (kader), of door een bovenste horizontaal lijn segment 5244, en een onderste horizontaal lijn segment 5246, en een links verticaal lijn segment 5240 en een rechts verticaal lijn segment 5242. Deze lijnsegmenten zijn bij voorkeur beweegbaar op een gelijkaardige wijze als uitgelegd in FIG. 44 (door tijdelijk het overlayvenster te configureren in niet-doorklik modus wanneer de muis beweegt boven de respectievelijke lijnsegmenten), zodanig dat de lijnsegmenten gesleept kunnen worden. De overlay-applicatie is ingericht voor het uitvoeren van een werkwijze zoals weergegeven in FIG. 54.In the example shown in FIG. 52 (a), the overlay application is arranged for color inverting a central region of the screen 5204. The size and position of this region may be predetermined, or may be configurable by the user. The size and position of the area may be defined by a frame (frame), or by an upper horizontal line segment 5244, and a lower horizontal line segment 5246, and a left vertical line segment 5240 and a right vertical line segment 5242. This line segments are preferably movable in a similar manner as explained in FIG. 44 (by temporarily configuring the overlay window in non-click-through mode when the mouse moves over the respective line segments) so that the line segments can be dragged. The overlay application is arranged to perform a method as shown in FIG. 54.

Een voordeel van deze overlay-applicatie is dat ze mogelijk maakt een gedeelte van het scherm donker te maken voor het reduceren van oogvermoeidheid, en ze doet dat op een zeer specifieke wijze, namelijk door kleuren te inverteren. Dit is vooral nuttig voor het converteren van de look and feel (het uitzicht) van toepassingen die tekstuele informatie tonen als tamelijk donkere karakters op een tamelijk heldere achtergrond, zoals (helaas de meeste) tekstverwerker-toepassingen, e-mail-toepassingen, webpagina's, PDF document viewers, enz.An advantage of this overlay application is that it makes it possible to darken part of the screen to reduce eye fatigue, and it does so in a very specific way, by inverting colors. This is especially useful for converting the look and feel of applications that display textual information as fairly dark characters on a fairly bright background, such as (unfortunately most) word processing applications, email applications, web pages, PDF document viewers, etc.

FIG. 52(b) toont hetzelfde computersysteem 5200, maar voert een andere overlay-applicatie uit (die in hoofdzaak in volledige-scherm modus werkt), of voert dezelfde overlay-applicatie uit, maarFIG. 52 (b) shows the same computer system 5200, but runs a different overlay application (operating mainly in full screen mode), or runs the same overlay application, but

BE2018/5637 verschillend geconfigureerd. Meer in het bijzonder, is de overlay-applicatie die draait op de computerinrichting van FIG. 52(b) ingericht voor het genereren van een volledig-scherm overlay-beeld (of volledig-scherm behalve voor een klein gedeelte aan de bovenkant of de onderkant, bv. voor de taakbalk) die de inhoud van het ganse scherm inverteert. Het algoritme of de bewerkingen uitgevoerd op de pixelgegevens kunnen precies dezelfde zijn als in FIG. 52(a), maar zoals begrepen kan worden, indien het beeld bijvoorbeeld 4,0 keer groter is, dan duurt het doorgaans ongeveer 4 keer langer om het beeld te berekenen. Dit betekent dat de frequentie aan dewelke het masker bijgewerkt kan worden, gereduceerd wordt met een factor van ongeveer 4,0.BE2018 / 5637 configured differently. More specifically, the overlay application running on the computer device of FIG. 52 (b) configured to generate a full screen overlay image (or full screen except for a small portion at the top or bottom, e.g., for the task bar) which inverts the contents of the entire screen. The algorithm or operations performed on the pixel data can be exactly the same as in FIG. 52 (a), but as can be understood, for example, if the image is 4.0 times larger, it usually takes about 4 times longer to calculate the image. This means that the frequency at which the mask can be updated is reduced by a factor of about 4.0.

Om een idee te krijgen van de prestaties, werden experimenten uitgevoerd op een (tamelijk trage) laptop computer met een 64 bit Besturingssysteem (Windows 10), met een 2.00 GHz AMD processor en 8 GB RAM, met AMD Radeon R34 Graphics. De overlay-applicatie was geconfigureerd om inverse kleur modus uit te voeren.To get an idea of the performance, experiments were performed on a (rather slow) laptop computer with a 64 bit Operating System (Windows 10), with a 2.00 GHz AMD processor and 8 GB RAM, with AMD Radeon R34 Graphics. The overlay application was configured to run inverse color mode.

* het duurde ongeveer 160 - 200 ms om één iteratie uit te voeren (inclusief het nemen van een screenshot, en het berekenen en toepassen van een nieuw masker) voor het inverteren van een gebied van ongeveer 1920x1020 pixels. (volledig scherm minus de taakbalk).* it took about 160-200 ms to perform one iteration (including taking a screenshot, and calculating and applying a new mask) to invert an area of about 1920x1020 pixels. (full screen minus the taskbar).

* het duurde ongeveer 90-130 ms om ongeveer 1/2 scherm te converteren (960x1020 pixels), en * het duurde ongeveer 50-90 ms om ongeveer 1/4 scherm te converteren (960x510 pixels).* it took about 90-130 ms to convert about 1/2 screen (960x1020 pixels), and * it took about 50-90 ms to convert about 1/4 screen (960x510 pixels).

Dus op deze (tamelijk trage) laptop computer, kan het schermvullend beeld, door de overlaytoepassing, ongeveer 4 tot 5 keer kleur-geïnverteerd worden (of kleur-geconverteerd) per seconde, het halve-scherm beeld kan ongeveer 7 keer per seconde geïnverteerd worden, en het kwart schermbeeld kan ongeveer 10 keer per seconde bijgewerkt worden. Hoewel de vertraging van ongeveer 200 ms vervelend kan zijn voor sommige gebruikers, zullen andere gebruikers de gereduceerde oogvermoeidheid kunnen appreciëren, vooral wanneer ze met tekstdocumenten werken.So on this (rather slow) laptop computer, the full-screen image can be color-inverted (or color-converted) about 4 to 5 times per second by the overlay application, the half-screen image can be inverted about 7 times per second , and the quarter screen image can be updated about 10 times per second. While the delay of about 200 ms can be annoying for some users, other users will appreciate the reduced eye fatigue, especially when working with text documents.

Experimenten werden eveneens uitgevoerd op een andere (tamelijk snelle) laptop computer, met een 64-bit Windows 10 Besturingssysteem, en een Intel I5 processor aan 2.3 GHz, en 8 GB RAM, maar met meer performante grafische ondersteuning. Op deze computer duurde het slechts ongeveer 55-65 ms om een schermvullend beeld (van 1920x1040 pixels) te kleur-inverteren in de overlayapplicatie, en het duurde slechts ongeveer 25 tot 35 ms om een half-schermbeeld te inverteren. Op deze computer is de vertraging geen enkel probleem, en zulke prestatie kan als bijna real time beschouwd worden.Experiments were also performed on another (fairly fast) laptop computer, with a 64-bit Windows 10 Operating System, and an Intel I5 processor at 2.3 GHz, and 8 GB RAM, but with more efficient graphics support. On this computer, it only took about 55-65 ms to color-invert a full-screen image (1920x1040 pixels) in the overlay application, and it only took about 25 to 35 ms to invert a half-screen image. On this computer, the delay is no problem at all, and such performance can be considered almost real time.

FIG. 53 is een schematische voorstelling van een zogenaamde Z-volgorde van vijf vensters of beeldvlakken 5381, 5382, 5383, 5384, 5385 zoals gebruikt kan worden in het computersysteem van FIG. 52(a) en FIG. 52(b).FIG. 53 is a schematic representation of a so-called Z-sequence of five windows or image planes 5381, 5382, 5383, 5384, 5385 as can be used in the computer system of FIG. 52 (a) and FIG. 52 (b).

BE2018/5637BE2018 / 5637

In het voorbeeld, wordt het eerste venster 5381 op hoogte Z1 het desktop venster genoemd, en wordt verschaft door het besturingssysteem.In the example, the first window 5381 at height Z1 is called the desktop window, and is provided by the operating system.

Het tweede venster 5382 wordt (in dit voorbeeld) verschaft door een tekst-applicatie die typisch een witte achtergrond en zwarte karakters heeft. Eén van de zwarte pixels is getoond in vergroot aanzicht.The second window 5382 (in this example) is provided by a text application that typically has a white background and black characters. One of the black pixels is shown in an enlarged view.

Het derde venster 5383 op hoogte Z3 wordt verschaft door de overlay-applicatie volgens de onderhavige uitvinding. Het venster dat hier getoond wordt omvat twee horizontale lijnsegmenten 5344, 5346 en twee verticale lijnsegmenten 5340, 5342, en een bitmap bmp1 die zich bevindt in een gebied gedefinieerd door deze lijnsegmenten, maar de onderhavige uitvinding is daartoe niet beperkt, en bijvoorbeeld één enkele horizontale lijn (bv. om modus 5506 van FIG. 55 te implementeren), of één enkele verticale lijn (bv. om modus 5502 of modus 5504 van FIG. 55 te implementeren), of één enkel horizontaal lijnsegment en één enkel verticaal lijnsegment (bv. om modus 505 of modus 5507 van FIG. 55 te implementeren) kunnen eveneens gebruikt worden.The third window 5383 at height Z3 is provided by the overlay application of the present invention. The window shown here includes two horizontal line segments 5344, 5346 and two vertical line segments 5340, 5342, and a bitmap bmp1 located in an area defined by these line segments, but the present invention is not limited thereto, for example, a single horizontal line (e.g. to implement mode 5506 of FIG. 55), or a single vertical line (e.g. to implement mode 5502 or mode 5504 of FIG. 55), or a single horizontal line segment and a single vertical line segment (e.g. to implement mode 505 or mode 5507 of FIG. 55) can also be used.

Het venster 5383 is geconfigureerd als een semi-transparant venster, bij voorkeur met een transparantie waarde in het bereik van 5% tot 45%, bij voorkeur met transparantie niveau T gelijk aan T=16/256=1/16=6.25% of T=32/256=1/8 =12.5%. Of in andere woorden uitgedrukt, met een alfa transparantie α gelijk aan (1-T) in het bereik van 55% tot 95%, bij voorkeur met een alfatransparantiewaarde α gelijk aan α=15/16=93.75% of α=7/8=87.5%.The window 5383 is configured as a semi-transparent window, preferably with a transparency value in the range of 5% to 45%, preferably with transparency level T equal to T = 16/256 = 1/16 = 6.25% or T = 32/256 = 1/8 = 12.5%. Or in other words, with an alpha transparency α equal to (1-T) in the range of 55% to 95%, preferably with an alpha transparency value α equal to α = 15/16 = 93.75% or α = 7/8 = 87.5%.

Zoals hierboven beschreven, past de overlay-applicatie de pixels van de bitmap bmp1 (ook het masker genoemd) dynamisch aan, zodanig dat de pixels die zich onder deze bitmap bevinden in hoofdzaak geïnverteerd worden, en ze doet dat on-the-fly, wat wil zeggen dat, indien het onderliggend beeld wijzigt, dan wijzigt het masker automatisch. Waar zulke functionaliteit tamelijk eenvoudig geïmplementeerd kan worden in een besturingssysteem dat toegang heeft tot de oorspronkelijke beeldgegevens die zich onder de overlay-applicatie bevinden, is dit allesbehalve triviaal voor een overlay-applicatie, onder meer omdat de overlay-applicatie geen toegang heeft tot het onderliggende beeld.As described above, the overlay application dynamically adjusts the pixels of the bitmap bmp1 (also called the mask) so that the pixels located under this bitmap are essentially inverted, and it does so on the fly, which that is, if the underlying image changes, the mask changes automatically. Where such functionality can be fairly easily implemented in an operating system that has access to the original image data located under the overlay application, this is anything but trivial for an overlay application, in part because the overlay application cannot access the underlying statue.

Los van de wiskunde hierboven beschreven, kan de werking van de overlay-applicatie die geconfigureerd is voor het uitvoeren van kleur-inversie begrepen worden door wijze van een voorbeeld. Beschouw bijvoorbeeld de zwarte pixel 5301 van het tweede venster 5382. Het idee is de inhoud van de zwarte pixel te overschrijven door deze pixellocatie te overlayen met een heldere pixel die zich bevindt in de bitmap bmp1 (ook het masker genoemd). De vakman zal begrijpen dat, hoewel het donkere pixel nog steeds gedeeltelijk zichtbaar is (bv. ongeveer 6% of ongeveer 13%), overschrijft de helderheid van het heldere pixel bovenaan grotendeels de zwarte waarde, omdat de pixels van het overlayvenster 5383 een grotere weegfactor hebben (bv. ongeveer 94% of ongeveer 87% respectievelijk) dan die van het tekstverwerkersvenster 5382 indien T is ingesteld op 1/16 of 1/8 respectievelijk. Er wordt opgemerkt dat het principe van kleuren inverteren door de onderliggendeApart from the math described above, the operation of the overlay application configured to perform color inversion can be understood by way of example. For example, consider the black pixel 5301 of the second window 5382. The idea is to overwrite the contents of the black pixel by overlaying this pixel location with a bright pixel located in the bitmap bmp1 (also called the mask). Those skilled in the art will understand that although the dark pixel is still partially visible (e.g. about 6% or about 13%), the brightness of the bright pixel at the top largely overwrites the black value, because the pixels of the overlay window 5383 have a larger weighting factor (e.g. about 94% or about 87% respectively) than that of the word processing window 5382 if T is set to 1/16 or 1/8 respectively. It is noted that the principle of inverting colors by the underlying

BE2018/5637 kleur te overrulen door de tegengestelde kleur gebruik makende van een sterkere gewichtsfactor tamelijk eenvoudig te begrijpen is, maar het was veel moeilijker te begrijpen en zelfs te geloven, laat staan te voorspellen, dat het mogelijk was het onderliggend beeld met voldoende nauwkeurigheid te detecteren om kleur-inversie mogelijk te maken, door het nemen van een screenshot en omgekeerde alfamenging, wetende dat de relevante informatie slechts voor ongeveer 6% of ongeveer 13% in het beeld aanwezig is, en dat dit nauwelijks zichtbaar is (al wordt het bv. lichtjes zichtbaar bij het intypen van tekst in een tekstdocument, of bij het scrollen van een tekstdocument). Testen hebben echter aangetoond dat dit precies het geval is, en de resultaten zijn veel beter dan verwacht, niet alleen voor tekst of menu's van typische desktop-applicaties, maar zelfs voor afbeeldingen, zoals getoond zal worden in FIG. 56 tot FIG. 59 bij wijze van voorbeeld.BE2018 / 5637 to overrule color by using the opposite color using a stronger weight factor is fairly easy to understand, but it was much more difficult to understand and even believe, let alone predict, that it was possible to capture the underlying image with sufficient accuracy. detect to enable color inversion, by taking a screenshot and reverse alpha mixing, knowing that the relevant information is only about 6% or about 13% present in the image, and that it is barely visible (even if it is e.g. slightly visible when typing text in a text document, or when scrolling a text document). However, tests have shown that this is exactly the case, and the results are much better than expected not only for text or menus from typical desktop applications, but even for images, as will be shown in FIG. 56 to FIG. 59 by way of example.

Het vierde venster 5384 is een gebruikersinterface venster dat optioneel verschaft wordt door de overlay-applicatie. Indien aanwezig, dan bevindt het zich bij voorkeur boven het derde venster 5383 en is bij voorkeur geconfigureerd als een niet-doorklik venster.The fourth window 5384 is a user interface window optionally provided by the overlay application. If present, it is preferably located above the third window 5383 and is preferably configured as a non-click-through window.

Het vijfde venster 5383 is een cursorvlak, dat bij voorkeur verschaft wordt door het besturingssysteem.The fifth window 5383 is a cursor plane, which is preferably provided by the operating system.

FIG. 54 is een flowchart van een computer-geïmplementeerde werkwijze uitgevoerd door een overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding, zoals gebruikt kan worden in het computersysteem van FIG. 52(a) of FIG. 52(b), en dat in staat is om het onderliggende beeld gegenereerd door het besturingssysteem te inverteren van kleur. De werkwijze omvat de volgende stappen:FIG. 54 is a flowchart of a computer-implemented method performed by an overlay application according to an embodiment of the present invention, as can be used in the computer system of FIG. 52 (a) or FIG. 52 (b), and capable of inverting the underlying image generated by the operating system of color. The method includes the following steps:

a) het verschaffen 5401 van een semi-transparant overlayvenster 5383 omvattende een bitmap bmp1 (of masker) met een veelheid van semi-transparante pixels, en dat een transparantieniveau (T) heeft in het bereik van 5% tot 45% (of een alfa-transparantie waarde (α) in het bereik van 55% tot 95%);a) providing 5401 a semi-transparent overlay window 5383 comprising a bitmap bmp1 (or mask) with a plurality of semi-transparent pixels, and having a transparency level (T) ranging from 5% to 45% (or an alpha - transparency value (α) in the range from 55% to 95%);

b) het configureren 5402 van het overlayvenster in door-klik modus, om toe te laten dat toetsenbordinvoer en muisinvoer wordt verzonden naar het onderliggende venster in de plaats van geïnterpreteerd te worden door het overlayvenster;b) configuring the overlay window 5402 in click-through mode to allow keyboard input and mouse input to be sent to the underlying window instead of being interpreted by the overlay window;

Het herhaaldelijk uitvoeren van de volgende stappen:Repeatedly perform the following steps:

c) het nemen 5403 van een screenshot, en daardoor het verkrijgen van een tweede bitmap bmp2;c) taking a screenshot 5403, thereby obtaining a second bitmap bmp2;

d) het bijwerken van de pixel waardes van de eerste bitmap bmp1 (of masker), zodanig dat de kleurwaarde van de pixels die liggen onder het overlayvenster in hoofdzaak geïnverteerd worden wanneer ze alfa-gemengd worden door de grafisch overlay.d) updating the pixel values of the first bitmap bmp1 (or mask) such that the color value of the pixels underlying the overlay window are essentially inverted when they are alpha mixed by the graphic overlay.

De eerste bitmap bmp1 kan het ganse gebied van het venster 5383 innemen, of slechts een gedeelte daarvan, bijvoorbeeld zoals gedefinieerd door de schermranden en/of één of tweeThe first bitmap bmp1 can occupy all or part of the window 5383, for example as defined by the screen edges and / or one or two

BE2018/5637 horizontale lijnsegmenten en/of één of twee verticale lijnsegmenten. Bij voorkeur neemt de eerste bitmap bmp1 tenminste 20% of tenminste 40% of tenminste 60% of tenminste 80% of tenminste 90% in van de grootte van het overlayvenster 5383. Bij voorkeur zijn tenminste 90% van alle pixels van de eerste bitmap bmp1 semi-transparant (d.w.z. niet volledig-transparant).BE2018 / 5637 horizontal line segments and / or one or two vertical line segments. Preferably, the first bitmap bmp1 occupies at least 20% or at least 40% or at least 60% or at least 80% or at least 90% of the size of the overlay window 5383. Preferably at least 90% of all pixels of the first bitmap are bmp1 semi -transparent (ie not fully transparent).

FIG. 55 toont een voorbeeldmatig gebruikersinterface-venster zoals gebruikt kan worden door de applicatie die wordt uitgevoerd op het computersysteem van FIG. 52(a) en/of FIG. 52(b). In het specifieke voorbeeld getoond in FIG. 56, kan de gebruiker kleur-inversie activeren door het aanvinken van het aanvinkvakje 5601, en de gebruiker kan kiezen welke gedeelte van het scherm kleur-geïnverteerd dient te worden, bijvoorbeeld bij het klikken op knop 5502 wordt de eerste bitmap bmp1 geconfigureerd om de linkerhelft van het scherm in te nemen, wanneer op knop 5503 wordt geklikt, wordt de eerste bitmap bmp1 geconfigureerd om in hoofdzaak het ganse scherm in te nemen (bij voorkeur zonder het windows taakbalk gebied), en wanneer op knop 5504 wordt geklikt, wordt de eerste bitmap bmp1 geconfigureerd om de rechterhelft van het scherm in te nemen.FIG. 55 shows an exemplary user interface window as can be used by the application running on the computer system of FIG. 52 (a) and / or FIG. 52 (b). In the specific example shown in FIG. 56, the user can activate color inversion by checking the checkbox 5601, and the user can choose which part of the screen to be color-inverted, for example when clicking button 5502 the first bitmap bmp1 is configured to the left half of the screen, when button 5503 is clicked, the first bitmap bmp1 is configured to occupy essentially the entire screen (preferably without the windows taskbar area), and when button 5504 is clicked, the first bitmap bmp1 configured to occupy the right half of the screen.

De andere zes knoppen (met inbegrip van knop 5505, 5506, 5507) tonen andere gedeeltes van het scherm die geoverlayed dienen te worden met een gereduceerde hoogte. Nadat één van deze vooraf bepaalde bitmaps bmp1 wordt getoond, kan de grootte en/of de positie ervan gewijzigd worden door het slepen van één of meerdere van de horizontale en/of verticale lijnsegmenten, zoals bv. getoond in FIG. 52(a) en FIG. 52(b).The other six buttons (including buttons 5505, 5506, 5507) show other areas of the screen that need to be overlaid with a reduced height. After one of these predetermined bitmaps bmp1 is displayed, its size and / or position can be changed by dragging one or more of the horizontal and / or vertical line segments, such as shown in FIG. 52 (a) and FIG. 52 (b).

FIG. 56 en FIG. 57 tonen een voorbeeldmatige afbeelding om de verrassend goede kwaliteit te tonen van de kleur-inversie verkrijgbaar door de overlay-applicatie. De afbeeldingen tonen een gedeelte van de goed gekende Paint-applicatie, met daarin een kleur-gradiënt afbeelding. FIG. 56 toont de originele afbeelding (zonder kleur-inversie), FIG. 57 toont deze afbeelding na kleur-inversie door een overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding. De waarde van T is gelijk aan 32/256 of 1/8 in dit voorbeeld.FIG. 56 and FIG. 57 show an exemplary image to show the surprisingly good quality of the color inversion available through the overlay application. The images show part of the well-known Paint application, containing a color-gradient image. FIG. 56 shows the original image (without color inversion), FIG. 57 shows this image after color inversion by an overlay application according to an embodiment of the present invention. The value of T is equal to 32/256 or 1/8 in this example.

FIG. 58 en FIG. 59 tonen een andere voorbeeldmatige afbeelding om de verrassend goede kwaliteit van de kleur-inversie te tonen, verkrijgbaar door de overlay-applicatie. De afbeeldingen tonen een gedeelte van een beeld genomen uit een webbrowser die dummy tekst toont, gekend als Loren ipsum. FIG. 58 toont de originele afbeelding (zonder kleur-inversie), FIG. 59 toont deze afbeelding na kleur-inversie door een overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding. De waarde van T is gelijk aan 32/256 of 1/8 in dit voorbeeld.FIG. 58 and FIG. 59 show another exemplary image to show the surprisingly good quality of the color inversion available through the overlay application. The images show part of an image taken from a web browser showing dummy text known as Loren ipsum. FIG. 58 shows the original image (without color inversion), FIG. 59 shows this image after color inversion by an overlay application according to an embodiment of the present invention. The value of T is equal to 32/256 or 1/8 in this example.

BE2018/5637BE2018 / 5637

TENSLOTTE,AND LAST BUT NOT LEAST,

Hoewel individuele kenmerken zijn toegelicht in verschillende tekeningen en in verschillende uitvoeringsvormen van de onderhavige uitvinding, wordt beschouwd dat kenmerken van verschillende uitvoeringsvormen gecombineerd kunnen worden, zoals voor de hand zou liggen voor de vakman, bij het lezen van dit document.While individual features have been illustrated in various drawings and in various embodiments of the present invention, it is contemplated that features of different embodiments may be combined, as would be obvious to those skilled in the art, upon reading this document.

Hoewel alle uitvoeringsvormen getoond zijn met een desktopcomputer en een muis en een toetsenbord, kunnen andere rekenapparaten en/of andere invoerinrichtingen eveneens gebruikt worden. Bijvoorbeeld, de muisinrichting kan vervangen worden door andere inrichtingen die dezelfde of gelijkaardige functie en besturing verschaffen, zoals een aanwijsinrichting, een track ball of een joystick of een touchpad of een stylus.Although all embodiments are shown with a desktop computer and a mouse and a keyboard, other calculators and / or other input devices can also be used. For example, the mouse device can be replaced by other devices that provide the same or similar function and control, such as a pointing device, a track ball or a joystick or a touchpad or a stylus.

Hoewel de uitvinding voornamelijk is beschreven voor het Windows-besturingssysteem van Microsoft Corporation, is de uitvinding daartoe niet beperkt, en kan bijvoorbeeld ook gebruikt worden op een Apple-computer met het Macintosh OS van Apple-computer, of op een smartphone, of op een eReader, of andere apparaten met een besturingssysteem met een grafische gebruikersinterface.Although the invention has been primarily described for the Windows operating system of Microsoft Corporation, the invention is not limited thereto, and may also be used, for example, on an Apple computer with the Macintosh OS of Apple computer, or on a smartphone, or on a eReader, or other operating system devices with a graphical user interface.

De onderhavige uitvinding openbaart verscheidene uitvoeringsvormen, die als volgt opgesomd kunnen worden:The present invention discloses several embodiments, which can be enumerated as follows:

E1) een computer-geïmplementeerde werkwijze van overlayen met een geperforeerde bitmap.E1) a computer-implemented method of overlay with a perforated bitmap.

Dit kan als volgt samengevat worden. Een computer-geïmplementeerde werkwijze voor het overlayen van een grafisch beeld in een rekenapparaat, die de stappen omvat van: a) het verschaffen van een overlayvenster; b) het verschaffen van ten minste één zichtbaar object in het genoemd overlayvenster, waarbij het ten minste één zichtbaar object een bitmap omvat met een eerste veelheid pixels die volledig transparante pixels zijn, en een tweede veelheid pixels die ondoorzichtige pixels of semi-transparante pixels zijn; waarbij de eerste veelheid pixels P6 en de tweede veelheid pixels geïnterleaved (afwisselend gepositioneerd) zijn, bijvoorbeeld in een schaakbordpatroon; c) het configureren van het overlayvenster in doorklikmodus. Het object is beweegbaar in overeenstemming met muisbewegingen.This can be summarized as follows. A computer-implemented method of overlaying a graphic image in a computing device, comprising the steps of: a) providing an overlay window; b) providing at least one visible object in said overlay window, the at least one visible object comprising a bitmap with a first plurality of pixels that are fully transparent pixels, and a second plurality of pixels that are opaque pixels or semi-transparent pixels ; wherein the first plurality of pixels P6 and the second plurality of pixels are interleaved (alternately positioned), for example in a checkerboard pattern; c) configuring the overlay window in click-through mode. The object is movable in accordance with mouse movements.

E2) een computer-geïmplementeerde werkwijze van het overlayen met een groot kruis.E2) a computer-implemented method of large cross overlay.

Dit kan als volgt samengevat worden. Een computer-geïmplementeerde werkwijze voor het overlayen van een grafisch beeld in een rekenapparaat, waarbij de werkwijze de stappen omvat van: a) het verschaffen van een overlayvenster; b) het verschaffen van een langwerpig horizontaal zichtbaar object; c) het verschaffen van een langwerpig verticaal zichtbaar object in het genoemde overlayvenster; d) het configureren van het overlayvenster in doorklikmodus; herhaaldelijk f) het verkrijgen van positie-informatie X,Y van een muisaanwijzer of het verkrijgen van bewegingsinformatie dx,dy van de ten minste één aanwijsinrichting; herhaaldelijk g) het aanpassen van een positie van het eerste en tweedeThis can be summarized as follows. A computer-implemented method for overlaying a graphic image in a computing device, the method comprising the steps of: a) providing an overlay window; b) providing an elongated horizontally visible object; c) providing an elongated vertically visible object in said overlay window; d) configuring the overlay window in click-through mode; repeatedly f) obtaining position information X, Y from a mouse pointer or obtaining motion information dx, dy from the at least one pointing device; repeatedly g) adjusting a position of the first and second

BE2018/5637 zichtbaar object op basis van de verkregen positie-informatie of gebruikmakende van de bewegingsinformatie. Het kruis kan semi-transparant zijn, en kan zich uitstrekken over de gehele hoogte en breedte van het scherm. Gebruik van deze overlay-applicatie als een add-on (uitbreiding) voor spreadsheet-applicaties voor het markeren van alfanumerieke informatie en/of voor het extraheren van informatie uit tabellen.BE2018 / 5637 visible object based on the obtained position information or using the motion information. The cross can be semi-transparent, and can extend over the entire height and width of the screen. Use of this overlay application as an add-on (extension) to spreadsheet applications for highlighting alphanumeric information and / or extracting information from tables.

E3) een computer-geïmplementeerde werkwijze van het overlayen met een textuurbitmap.E3) a computer-implemented method of overlaying with a texture bitmap.

E4) een computer-geïmplementeerde werkwijze van het overlayen met een verticale lijn om het scherm te splitsen, en met een horizontale lijn die beweegt of bevriest, hierin ook bevroren lijn genoemd.E4) a computer-implemented method of overlaying a vertical line to split the screen, and a horizontal line that moves or freezes, also referred to herein as a frozen line.

Dit kan als volgt samengevat worden. Een computer-geïmplementeerde werkwijze voor het overlayen van een grafisch beeld, omvattende: a) het verschaffen van een overlayvenster; b) het verschaffen van een verticale lijn; c) het verschaffen van een horizontale lijn die zich bevindt aan de linkerzijde of rechterzijde van de verticale lijn; herhaaldelijk: d) het verkrijgen van positie-informatie van een muiscursor; e) het testen of de muiscursor zich op de verticale lijn bevindt, en zo ja, doorgaan met stap f), anders doorgaan met stap h); f) het configureren van het overlayvenster in niet-doorklikmodus; g) testen of een muisknop is ingedrukt, en zo ja, het verslepen van de verticale lijn; en gaan naar stap d; h) het configureren van het overlayvenster in doorklikmodus; i) het aanpassen van een positie van de horizontale lijn. De verticale lijn splitst het scherm, en kan gesleept worden. De horizontale lijn beweegt of bevriest, afhankelijk van aan welke kant de muiscursor aan het bewegen is.This can be summarized as follows. A computer-implemented method of overlaying a graphic image, comprising: a) providing an overlay window; b) providing a vertical line; c) providing a horizontal line located on the left or right side of the vertical line; repeatedly: d) obtaining position information from a mouse cursor; e) testing whether the mouse cursor is on the vertical line, and if so, proceed to step f), otherwise proceed to step h); f) configuring the overlay window in non-click-through mode; g) testing whether a mouse button has been pressed, and if so, dragging the vertical line; and go to step d; h) configuring the overlay window in click-through mode; i) adjusting a position of the horizontal line. The vertical line splits the screen, and can be dragged. The horizontal line moves or freezes depending on which side the mouse cursor is moving.

E7) een computer-geïmplementeerde werkwijze voor het overlayen op een dynamische wijze, rekening houdende met visuele aspecten (bv. kleur en/of helderheid) van de onderliggende applicaties, hierin automatische aanpassing genoemd, bijvoorbeeld automatisch verdonkeren.E7) a computer-implemented method of dynamically overlaying, taking into account visual aspects (e.g., color and / or brightness) of the underlying applications, referred to herein as automatic adjustment, e.g., auto darkening.

Dit kan als volgt samengevat worden. Een computer-geïmplementeerde werkwijze voor het overlayen van een grafisch beeld in een rekenapparaat, waarbij de werkwijze de stappen omvat van: a) het verschaffen van een semi-transparant overlayvenster met een alfatransparantiewaarde α in het bereik van 1% tot 99% en omvattende een eerste bitmap; het herhaaldelijk uitvoeren van de volgende stappen: b) het nemen van een screenshot, waardoor een tweede bitmap bekomen wordt; c) het berekenen van ten minste één kenmerk van de tweede bitmap; e) het aanpassen van de alfa-transparantiewaarde van het overlayvenster en/of het aanpassen van één of meer pixelwaarden van de eerste bitmap, op basis van het ten minste één bepaald kenmerk. De overlay-werkwijze kan verder een verticale balk omvatten om verschillende gebieden te definiëren die individueel aangepast kunnen worden, afhankelijk van de beeldinhoud onder de gebieden.This can be summarized as follows. A computer-implemented method for overlaying a graphic image in a computing device, the method comprising the steps of: a) providing a semi-transparent overlay window with an alpha transparency value α in the range of 1% to 99% and comprising a first bitmap; repeatedly performing the following steps: b) taking a screenshot, thereby obtaining a second bitmap; c) calculating at least one characteristic of the second bitmap; e) adjusting the alpha transparency value of the overlay window and / or adjusting one or more pixel values of the first bitmap based on the at least one particular feature. The overlay method may further include a vertical bar to define different areas that can be individually adjusted depending on the image content below the areas.

BE2018/5637BE2018 / 5637

E6) een computer-geïmplementeerde werkwijze van het overlayen terwijl het nemen van een screenshot mogelijk gemaakt wordt, welk screenshot gecompenseerd wordt voor de grafische overlay, hierin een gecompenseerd screenshot genoemd.E6) allows a computer-implemented method of overlay while taking a screenshot, which screenshot is compensated for the graphic overlay, herein referred to as a compensated screenshot.

Dit kan als volgt samengevat worden. Een computer-geïmplementeerde werkwijze voor het overlayen van een grafisch beeld in een rekenapparaat, waarbij de werkwijze de stappen omvat van: a) het verschaffen van een semi-transparant overlayvenster dat een alfatransparantiewaarde α heeft in het bereik van 1% tot 99%, en dat een eerste bitmap omvat;This can be summarized as follows. A computer-implemented method for overlaying a graphic image in a computing device, the method comprising the steps of: a) providing a semi-transparent overlay window having an alpha transparency value α in the range of 1% to 99%, and which includes a first bitmap;

b) het nemen van een screenshot, waardoor een tweede bitmap wordt verkregen; c) het berekenen van een derde bitmap voor het compenseren van het effect van de grafische overlay, gebaseerd op de eerste bitmap en de tweede bitmap en de alfa-transparantiewaarde α; d) het optioneel opslaan van de derde bitmap in een niet-vluchtig geheugen of een opslaginrichting; e) het optioneel kopiëren van de derde bitmap naar een klembord van het besturingssysteem.b) taking a screenshot, thereby obtaining a second bitmap; c) calculating a third bitmap to compensate for the effect of the graphic overlay based on the first bitmap and the second bitmap and the alpha transparency value α; d) optionally storing the third bitmap in a non-volatile memory or storage device; e) optionally copying the third bitmap to an operating system clipboard.

E7) een computer-geïmplementeerde werkwijze voor het overlayen om de kleuren van een onderliggend beeld in hoofdzaak te inverteren.E7) a computer-implemented method of overlay to substantially invert the colors of an underlying image.

Dit kan als volgt samengevat worden. Een computer-geïmplementeerde werkwijze voor het overlayen van een grafisch beeld in een rekenapparaat, waarbij de werkwijze de stappen omvat van: a) het verschaffen van een semi-transparant overlayvenster dat een eerste bitmap omvat met een veelheid van semi-transparante pixels en dat een transparantieniveau heeft in het bereik van 5% tot 45%, b) het configureren van het overlayvenster in doorklikmodus; Het herhaaldelijk uitvoeren van de volgende stappen: c) het nemen van een screenshot, waardoor een tweede bitmap wordt verkregen; d) het bijwerken van de pixelwaarden van de eerste bitmap, zodanig dat de kleurwaarden van de pixels van de bitmap die onder het overlayvenster gelegen zijn in hoofdzaak geïnverteerd worden. Een computerprogrammaproduct voor het uitvoeren van deze werkwijze. Een computerinrichting die computer-uitvoerbare instructies omvat voor het uitvoeren van deze werkwijze. Een computersysteem dat een dergelijke computerinrichting omvat.This can be summarized as follows. A computer-implemented method for overlaying a graphic image in a computing device, the method comprising the steps of: a) providing a semi-transparent overlay window comprising a first bitmap with a plurality of semi-transparent pixels and a transparency level ranges from 5% to 45%, b) configuring the overlay window in click-through mode; Repeatedly performing the following steps: c) taking a screenshot, thereby obtaining a second bitmap; d) updating the pixel values of the first bitmap such that the color values of the pixels of the bitmap located below the overlay window are substantially inverted. A computer program product for performing this method. A computer device that includes computer-executable instructions for performing this method. A computer system that includes such a computer device.

E8) een computerinrichting voor het uitvoeren van één der computer-geïmplementeerde werkwijzenE8) a computer device for performing one of the computer-implemented methods

E1) tot E7).E1) to E7).

E9) een computersysteem dat een computerinrichting E8) omvat.E9) a computer system comprising a computer device E8).

E10) een computerprogrammaproduct voor het uitvoeren van één der computer-geïmplementeerde werkwijzen E1) tot E7).E10) a computer program product for performing one of the computer-implemented methods E1) to E7).

E11) een draagbare inrichting (bv. eReader) met een overlay met een semi-transparante lijn.E11) a portable device (e.g. eReader) with an overlay with a semi-transparent line.

Dit kan als volgt samengevat worden. Een draagbaar rekenapparaat omvattende: een aanraakscherm; ten minste één verwerkingseenheid en een eerste geheugen voor het opslaan van computer-uitvoerbare instructies; waarbij de instructies geconfigureerd zijn voor hetThis can be summarized as follows. A portable calculator comprising: a touch screen; at least one processing unit and a first memory for storing computer executable instructions; where the instructions are configured for the

BE2018/5637 genereren van een grafisch beeld dat tekstuele informatie bevat en voor het tonen van dat grafisch beeld op het aanraakscherm; waarbij de instructies verder geconfigureerd zijn voor het genereren van een lijn of een langwerpig object dat de genoemde tekstuele informatie overdekt; waarbij de lijn of het langwerpig object een veelheid van semi-transparante pixels omvat met een transparantieniveau van 5% tot 95%, of waarbij de lijn of het langwerpig object een eerste veelheid volledig transparante pixels bevat en een tweede veelheid ondoorzichtige of semi-transparante pixels, die geïnterleaved (afwisselend gepositioneerd) zijn; waarbij de instructies verder geconfigureerd zijn voor het detecteren van een contactpositie op het aanraakscherm, en voor het dienovereenkomstig bijstellen van een positie van de lijn. Bijvoorbeeld een eReader-apparaat dat tekstuele informatie toont geoverlayed door een semi-transparante lijn.BE2018 / 5637 generating a graphic image containing textual information and for displaying that graphic image on the touch screen; wherein the instructions are further configured to generate a line or an elongated object covering said textual information; wherein the line or the oblong object comprises a plurality of semi-transparent pixels with a transparency level of 5% to 95%, or wherein the line or the oblong object contains a first plurality of fully transparent pixels and a second plurality of opaque or semi-transparent pixels , which are interleaved (alternately positioned); wherein the instructions are further configured to detect a contact position on the touch screen, and to adjust a position of the line accordingly. For example, an eReader device that displays textual information overlaid by a semi-transparent line.

E12) een weergave-inrichting voor het overlayen met een geperforeerde bitmap,E12) a display device for overlaying with a perforated bitmap,

E13) een weergave-inrichting met een beweegbaar object dat er semi-transparant uitziet door tijdgemultiplexte overlay.E13) a display device with a movable object that looks semi-transparent through time-multiplexed overlay.

Er wordt verder expliciet op gewezen dat uitvoeringsvormen van de onderhavige uitvinding op iedere geschikte wijze gecombineerd kunnen worden, bij voorbeeld:It is further explicitly pointed out that embodiments of the present invention can be combined in any suitable manner, for example:

- uitvoeringsvorm E1 geperforeerde bitmap kan gecombineerd worden met uitvoeringsvorm- embodiment E1 perforated bitmap can be combined with embodiment

E5 automatisch donkerder maken of met E6 gecompenseerd screenshot;Darken E5 automatically or with E6 offset screenshot;

- uitvoeringsvorm E2 groot kruis kan gecombineerd worden met uitvoeringsvorm E5 automatisch donkerder maken of met uitvoeringsvorm E6 gecompenseerd screenshot;- embodiment E2 large cross can be combined with embodiment E5 automatically darkening or with embodiment E6 compensated screenshot;

- uitvoeringsvorm E3 textuurbitmap kan gecombineerd worden met uitvoeringsvorm E5 automatisch donkerder maken of met uitvoeringsvorm E6 gecompenseerd screenshot;- embodiment E3 texture bitmap can be combined with embodiment E5 darkening automatically or with embodiment E6 compensated screenshot;

- uitvoeringsvorm E1 geperforeerde bitmap of uitvoeringsvorm E3 textuurbitmap kan gecombineerd worden met uitvoeringsvorm E7 geïnverteerde kleuren, bijvoorbeeld voor verschillende gedeeltes van het scherm;embodiment E1 perforated bitmap or embodiment E3 texture bitmap can be combined with embodiment E7 inverted colors, for example for different parts of the screen;

om slechts enkele te noemen.to name just a few.

Er wordt verder expliciet op gewezen dat uitvoeringsvormen van de onderhavige uitvinding op iedere geschikte wijze gecombineerd kunnen worden met uitvoeringsvormen van de mede in behandeling zijnde dubbele-muis-aanvraag.It is further explicitly pointed out that embodiments of the present invention can be combined in any suitable manner with embodiments of the co-pending double mouse application.

Bijvoorbeeld door aan uitvoeringsvormen van de onderhavige uitvinding een tweede aanwijsinrichting en de bijhorende functionaliteit voor het verkrijgen van dubbelemuisondersteuning” toe te voegen, zoals beschreven in de mede in behandeling-zijnde aanvrage. Of bijvoorbeeld door aan uitvoeringsvormen van de onderhavige uitvinding een speciale hub en/of een speciale weergave-inrichting en/of een speciale video-adapter toe te voegen.For example, by adding to the embodiments of the present invention a second pointing device and the associated functionality for obtaining double mouse support, as described in co-pending application. Or, for example, by adding a special hub and / or a special display device and / or a special video adapter to embodiments of the present invention.

BE2018/5637BE2018 / 5637

Sommige van deze gecombineerde uitvoeringsvormen kunnen in het bijzonder geschikt zijn voor vertalers, of proeflezers, of technische schrijvers, of octrooigemachtigden of andere professionele gebruikers die vele uren voor een computerscherm doorbrengen en die vaak heen en weer schakelen tussen verschillende documenten, omdat de cognitieve last gerelateerd aan het opnieuw verkrijgen van de actuele context na het heen en weer schakelen tussen documenten aanmerkelijk verlaagd kan worden dankzij de meerdere zichtbare objecten die beweegbaar zijn door de twee (of meer) aanwijsinrichtingen, en omdat oogvermoeidheid gerelateerd aan een helder achtergrondlicht eveneens gereduceerd kan worden.Some of these combined embodiments may be particularly suitable for translators, or proofreaders, or technical writers, or patent attorneys or other professional users who spend many hours in front of a computer screen and often switch back and forth between different documents, because the cognitive load is related to regain the current context after switching back and forth between documents can be significantly reduced thanks to the multiple visible objects movable by the two (or more) pointing devices, and because eye fatigue related to a bright backlight can also be reduced.

Claims (12)

1. Een computer-geïmplementeerde werkwijze (5400) van het overlayen van een grafisch beeld (bmp_orig) in een rekenapparaat (5201), waarbij de werkwijze de stappen omvat van:A computer-implemented method (5400) of overlaying a graphic image (bmp_orig) in a calculator (5201), the method comprising the steps of: a) het verschaffen (5401) van een semi-transparant overlayvenster (5383) dat een eerste bitmap (bmp_mask) omvat met een veelheid van semi-transparante pixels en dat een transparantieniveau (T) heeft in het bereik van 5% tot 45%,a) providing (5401) a semi-transparent overlay window (5383) that includes a first bitmap (bmp_mask) with a plurality of semi-transparent pixels and that has a transparency level (T) ranging from 5% to 45%, b) het configureren (5402) van het overlayvenster (5383) in doorklikmodus;b) configuring (5402) the overlay window (5383) in click-through mode; Het herhaaldelijk uitvoeren van de volgende stappen:Repeatedly perform the following steps: c) het nemen (5403) van een screenshot, waardoor een tweede bitmap (bmp_mix) verkregen wordt;c) taking (5403) a screenshot, thereby obtaining a second bitmap (bmp_mix); d) het actualiseren van de pixelwaarden van minstens een gedeelte van de eerste bitmap (bmp_mask) zodanig dat kleurwaarden van de pixels van het grafisch beeld (bmp_orig) dat onder het overlayvenster (5383) gelegen is, in hoofdzaak geïnverteerd worden, waarbij het actualiseren omvat:d) updating the pixel values of at least a portion of the first bitmap (bmp_mask) such that color values of the pixels of the graphic image (bmp_orig) located below the overlay window (5383) are essentially inverted, including updating : i) het schatten van de pixelwaarden van de onderliggende bitmap (bmp_orig) op basis van de pixelwaarden van de tweede bitmap (bmp_mix) van het screenshot, en op basis van de pixelwaarden van de eerste bitmap (bmp_mask) van het overlayvenster, en op basis van de volgende verzameling formules of een equivalente verzameling formules:i) estimating the pixel values of the underlying bitmap (bmp_orig) based on the pixel values of the second bitmap (bmp_mix) of the screenshot, and based on the pixel values of the first bitmap (bmp_mask) of the overlay window, and based on of the following set of formulas or an equivalent set of formulas: Runmix = [Rmix - Rmask*(1-T)]/T, begrensd van 0 tot 255 of een deelbereik hiervan;Runmix = [Rmix - Rmask * (1-T)] / T, limited from 0 to 255 or part range thereof; — Gunmix = [Gmix - Gmask*(1-T)]/T, begrensd van 0 tot 255 of een deelbereik hiervan;- Gunmix = [Gmix - Gmask * (1-T)] / T, limited from 0 to 255 or a part range thereof; Bunmix = [Bmix - Bmask*(1-T)]/T, begrensd van 0 tot 255 of een deelbereik hiervan;Bunmix = [Bmix - Bmask * (1-T)] / T, limited from 0 to 255 or a part range thereof; waarbij (Runmix, Gunmix, Bunmix) de geschatte Rood, Groen en Blauw -waarde is van de pixels van de onderliggende bitmap, en (Rmask, Gmask, Bmask) de Rood, Groen, enwhere (Runmix, Gunmix, Bunmix) is the estimated Red, Green and Blue value of the pixels of the underlying bitmap, and (Rmask, Gmask, Bmask) the Red, Green, and Blauw-waarde zijn van de pixels van de eerste bitmap die toegepast werd bij het nemen van het screenshot, en waarbij T het transparantieniveau is;Blue value of the pixels of the first bitmap applied when taking the screenshot, where T is the transparency level; ii) het inverteren van de geschatte pixelwaarden, waardoor doelpixelwaarden verkregen worden;ii) inverting the estimated pixel values, thereby obtaining target pixel values; iii) het aanpassen van de pixelwaarden van de eerste bitmap (bmp_mask) van het overlayvenster op basis van ten minste de doelpixelwaarden.iii) adjusting the pixel values of the first bitmap (bmp_mask) of the overlay window based on at least the target pixel values. 2. Een computer-geïmplementeerde werkwijze volgens conclusie 1, waarbij het transparantieniveau (T) gekozen is uit de groep bestaande uit 4/256, 8/256, 16/256, 32/256 en 64/256; of waarbij het alfatransparantie-niveau (α) gekozen is uit de groep bestaande uit 252/256, 248/256, 240/256, 224/256 en 192/256.A computer implemented method according to claim 1, wherein the transparency level (T) is selected from the group consisting of 4/256, 8/256, 16/256, 32/256 and 64/256; or wherein the alpha transparency level (α) is selected from the group consisting of 252/256, 248/256, 240/256, 224/256, and 192/256. BE2018/5637BE2018 / 5637 3. Een computer-geïmplementeerde werkwijze volgens conclusie 1 of 2, waarbij stap ii) het bepalen van de doelpixelwaarden omvat gebruik makende van drie monotoon afnemende functies die waardes verschaffen in het bereik van 0 tot 255 of een subset daarvan, voor argumenten in het bereik van 0 tot 255.A computer-implemented method according to claim 1 or 2, wherein step ii) determining the target pixel values using three monotonically decreasing functions providing values in the range 0 to 255 or a subset thereof, for arguments in the range from 0 to 255. 4. Een computer-geïmplementeerde werkwijze (5400) volgens één der voorgaande conclusies, waarbij stap iii) omvat:A computer-implemented method (5400) according to any one of the preceding claims, wherein step iii) comprises: iii) het berekenen van de pixelwaarden van de eerste bitmap (bmp_mask) van het overlayvenster als een functie van alleen de doelpixelwaarden.iii) calculating the pixel values of the first bitmap (bmp_mask) of the overlay window as a function of only the target pixel values. 5. 5. Een computer-geïmplementeerde werkwijze (5400) volgens conclusie 4, waarbij stap iii) A computer-implemented method (5400) according to claim 4, wherein step iii) omvat: includes: iii) het berekenen van de pixelwaarden van de eerste bitmap (bmp_mask) op basis van de iii) calculating the pixel values of the first bitmap (bmp_mask) based on the
volgende verzameling formules, of een equivalente verzameling van formules:following set of formulas, or an equivalent set of formulas: Rmask := (A - B*Runmix), begrensd tot het bereik van 0 tot 255 of een deelbereik hiervan; Gmask := (C - D*Gunmix), begrensd tot het bereik van 0 tot 255 of een deelbereik hiervan; Bmask := (E - F*Bunmix), begrensd tot het bereik van 0 tot 255 of een deelbereik hiervan; Rmask: = (A - B * Runmix), limited to the range from 0 to 255 or part range thereof; Gmask: = (C - D * Gunmix), limited to the range from 0 to 255 or part range thereof; Bmask: = (E - F * Bunmix), limited to the range from 0 to 255 or a subrange thereof;
waarbij (Rmask, Gmask, Bmask) de Rood, Groen en Blauw kleurcomponent zijn van de pixels van de eerste bitmap (bmp_mask), en waarbij A, B, C, D, E, F vooraf bepaalde constanten zijn in het bereik van 0,20 tot 2,0.where (Rmask, Gmask, Bmask) are the Red, Green and Blue color component of the pixels of the first bitmap (bmp_mask), and where A, B, C, D, E, F are predetermined constants in the range of 0, 20 to 2.0.
6. Een computer-geïmplementeerde werkwijze (5400) volgens conclusie 5, waarbij A, C en E gehele getallen zijn in het bereik van 190 tot 500 of in het bereik van 190 tot 400 of in het bereik van 190 tot 300 of in het bereik van 190 tot 256;A computer-implemented method (5400) according to claim 5, wherein A, C and E are integers in the range from 190 to 500 or in the range from 190 to 400 or in the range from 190 to 300 or in the range from 190 to 256; en waarbij elk van de getallen B, D en F waarden zijn in het bereik van 0,20 tot 2,0.and wherein each of the numbers B, D and F are values in the range of 0.20 to 2.0. 7. Een computer-geïmplementeerde werkwijze (5400) volgens conclusie 5 of 6, waarbij elk van de waarden B, D en F gekozen is uit de groep bestaande uit 1/2, 3/4, 5/8, 6/8, 7/8, 9/16, 10/16, 11/16, 12/16, 13/16, 14/16, 15/16, en 1.A computer implemented method (5400) according to claim 5 or 6, wherein each of the values B, D and F is selected from the group consisting of 1/2, 3/4, 5/8, 6/8, 7 / 8, 9/16, 10/16, 11/16, 12/16, 13/16, 14/16, 15/16, and 1. 8. Een computer-geïmplementeerde werkwijze (5400) volgens één der conclusies 1 tot 3, waarbij stap iii) omvat:A computer-implemented method (5400) according to any one of claims 1 to 3, wherein step iii) comprises: iii) het berekenen van de pixelwaarden van de eerste bitmap (bmp_mask) van het overlayvenster als een functie van de doelpixelwaarden en de pixelwaarden van de tweede bitmap (bmp_mix) van het screenshot, of als een functie van de doelpixelwaarden en de geschatte pixelwaarden (Runmix, Gunmix, Bunmix) van de onderliggende bitmap (bmp_orig).iii) calculating the pixel values of the first bitmap (bmp_mask) of the overlay window as a function of the target pixel values and the pixel values of the second bitmap (bmp_mix) of the screenshot, or as a function of the target pixel values and estimated pixel values (Runmix , Gunmix, Bunmix) of the underlying bitmap (bmp_orig). BE2018/5637BE2018 / 5637 9. Een computer-geïmplementeerde werkwijze volgens één der voorgaande conclusies, waarbij de eerste bitmap (bmp_mask) meer dan 80% van het gebied van het overlayvenster (5383) inneemt.A computer-implemented method according to any preceding claim, wherein the first bitmap (bmp_mask) occupies more than 80% of the area of the overlay window (5383). 10. Een computer-geïmplementeerde werkwijze volgens één der conclusies 1 tot 8, waarbij de eerste bitmap (bmp_mask) minder dan 95%, of minder dan 90%, of minder danA computer-implemented method according to any one of claims 1 to 8, wherein the first bitmap (bmp_mask) is less than 95%, or less than 90%, or less than 80%, of minder dan 60%, of minder dan 45%, of minder dan 40% van het gebied van het overlayvenster (5383) inneemt.Occupies 80%, or less than 60%, or less than 45%, or less than 40% of the area of the overlay window (5383). 11. Een computer-geïmplementeerde werkwijze volgens conclusie 10, waarbij het overlayvenster (5383) verder een derde bitmap (bmp3) omvat bestaande uit een eerste veelheid volledig transparante pixels en een tweede veelheid semi-transparante pixels, die geïnterleaved zijn.A computer implemented method according to claim 10, wherein the overlay window (5383) further comprises a third bitmap (bmp3) consisting of a first plurality of fully transparent pixels and a second plurality of semi-transparent pixels interleaved. 12. Een computerinrichting (5201), omvattende:A computer device (5201), comprising: - ten minste één centrale verwerkingseenheid (CPU), en een eerste geheugen verbonden met de ten minste één centrale verwerkingseenheid (CPU) met daarin opgeslagen computer-uitvoerbare instructies;- at least one central processing unit (CPU), and a first memory connected to the at least one central processing unit (CPU) with computer executable instructions stored therein; - waarbij de computer-uitvoerbare instructies codefragmenten omvatten voor het uitvoeren van een overlay-werkwijze volgens één der conclusies 1 tot 11.wherein the computer executable instructions comprise code snippets for performing an overlay method according to any one of claims 1 to 11. 13. Een computersysteem (5200) omvattende:A computer system (5200) comprising: - een computerinrichting (5201) volgens conclusie 12;- a computer device (5201) according to claim 12; -ten minste één weergave-inrichting (5204) verbonden met een uitgang van de computerinrichting (5201), voor het weergeven van het grafisch beeld gemengd met het overlaybeeld.at least one display device (5204) connected to an output of the computer device (5201), for displaying the graphic image mixed with the overlay image. 14. Een computerprogrammaproduct voor het verschaffen van een grafische overlay, waarbij het computerprogrammaproduct uitvoerbare instructies bevat die, wanneer ze uitgevoerd worden op ten minste één centrale verwerkingseenheid (CPU) van een computerinrichting (5201) volgens conclusieA computer program product for providing a graphic overlay, the computer program product containing executable instructions which when executed on at least one central processing unit (CPU) of a computer device (5201) according to claim 12, of een computersysteem (5200) volgens conclusie 13, ervoor zorgen dat de computerinrichting een werkwijze uitvoert volgens één der conclusies 1 tot 11.12, or a computer system (5200) according to claim 13, causing the computer device to perform a method according to any one of claims 1 to 11.
BE20185637A 2017-09-29 2018-09-18 METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHIC IMAGE BE1026516B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/650,048 US20210026508A1 (en) 2017-09-29 2018-09-24 Method, device and computer program for overlaying a graphical image
PCT/EP2018/075836 WO2019063495A2 (en) 2017-09-29 2018-09-24 Method, device and computer program for overlaying a graphical image
NL2023600A NL2023600B1 (en) 2018-08-07 2019-08-01 Method, device and computer program for overlaying a graphical image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP18187882 2018-08-07

Publications (2)

Publication Number Publication Date
BE1026516A1 BE1026516A1 (en) 2020-03-02
BE1026516B1 true BE1026516B1 (en) 2020-03-09

Family

ID=63452347

Family Applications (1)

Application Number Title Priority Date Filing Date
BE20185637A BE1026516B1 (en) 2017-09-29 2018-09-18 METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHIC IMAGE

Country Status (1)

Country Link
BE (1) BE1026516B1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2124505C (en) 1993-07-21 2000-01-04 William A. S. Buxton User interface having simultaneously movable tools and cursor
US6333753B1 (en) 1998-09-14 2001-12-25 Microsoft Corporation Technique for implementing an on-demand display widget through controlled fading initiated by user contact with a touch sensitive input device

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ANON: "Buttons Settings - Click through", EXTRABUTTONS, 12 June 2013 (2013-06-12), pages 1 - 1, XP055491972, Retrieved from the Internet <URL:http://www.xtrabuttons.com/documentation/options/buttons-settings/click-through-mode.html> [retrieved on 20180712] *
EREZ ZUKERMAN: "Review: f.lux makes your computer usable at night | PCWorld", 31 October 2013 (2013-10-31), pages 1 - 5, XP055511954, Retrieved from the Internet <URL:https://www.pcworld.com/article/2056895/review-f-lux-makes-your-computer-usable-at-night.html> [retrieved on 20181003] *
JBICK89: "Issue with f.lux when taking screenshots", 12 June 2017 (2017-06-12), XP055511953, Retrieved from the Internet <URL:https://displaylink.org/forum/showthread.php?t=65800> [retrieved on 20181003] *
KÖBLE JOSEF ED - ANDO N ET AL: "How to Increase Contrast Using Color Inversion", 9 July 2014, INTERNATIONAL CONFERENCE ON COMPUTER ANALYSIS OF IMAGES AND PATTERNS. CAIP 2017: COMPUTER ANALYSIS OF IMAGES AND PATTERNS; [LECTURE NOTES IN COMPUTER SCIENCE; LECT.NOTES COMPUTER], SPRINGER, BERLIN, HEIDELBERG, PAGE(S) 153 - 156, ISBN: 978-3-642-17318-9, XP047362814 *

Also Published As

Publication number Publication date
BE1026516A1 (en) 2020-03-02

Similar Documents

Publication Publication Date Title
US20210026508A1 (en) Method, device and computer program for overlaying a graphical image
CN105009057B (en) Multi-window smart window placement using high DPI screens
CN105705991B (en) Display system and method
KR102178258B1 (en) Display apparatus and Method for providing font effect thereof
WO2019063495A2 (en) Method, device and computer program for overlaying a graphical image
TW201401254A (en) Electronic display
US20230386110A1 (en) Systems and methods for applying effects to design elements
BE1026516B1 (en) METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHIC IMAGE
BE1025952B1 (en) METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHIC IMAGE
BE1025598B1 (en) METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHIC IMAGE
NL2023600B1 (en) Method, device and computer program for overlaying a graphical image

Legal Events

Date Code Title Description
FG Patent granted

Effective date: 20200309

MM Lapsed because of non-payment of the annual fee

Effective date: 20210930