WO2005024657A2 - Computer system and method for processing a plurality of digital images - Google Patents

Computer system and method for processing a plurality of digital images Download PDF

Info

Publication number
WO2005024657A2
WO2005024657A2 PCT/EP2004/009509 EP2004009509W WO2005024657A2 WO 2005024657 A2 WO2005024657 A2 WO 2005024657A2 EP 2004009509 W EP2004009509 W EP 2004009509W WO 2005024657 A2 WO2005024657 A2 WO 2005024657A2
Authority
WO
WIPO (PCT)
Prior art keywords
image
computer
program
server
digital
Prior art date
Application number
PCT/EP2004/009509
Other languages
German (de)
French (fr)
Other versions
WO2005024657A3 (en
Inventor
Andreas Günther
Heinz Brasch
Original Assignee
Henkel Kommanditgesellschaft Auf Aktien
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 Henkel Kommanditgesellschaft Auf Aktien filed Critical Henkel Kommanditgesellschaft Auf Aktien
Priority to EP04764485A priority Critical patent/EP1661043A2/en
Publication of WO2005024657A2 publication Critical patent/WO2005024657A2/en
Publication of WO2005024657A3 publication Critical patent/WO2005024657A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5838Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content

Definitions

  • [1] describes a method for hair color consultation in which a selection of a desired hair color of a person is recorded and displayed on a screen by means of a video camera, a computer and a screen, the images of the person being recorded continuously and in real time by means of the video camera be transferred to the computer.
  • digital image processing is carried out in real time, a hair area of the person being identified, the color in the hair area changed according to predetermined specifications, and the images with the changed hair area being displayed in real time on a screen or a touchscreen.
  • a server-controlled information portal for the hairdressing area in which user-specific information and services are provided via the Internet, different information and services being provided depending on the identity of the user and the specific stored user information associated therewith.
  • the user-specific information and services include online calculations, contract templates,
  • a disadvantage of the server-controlled information portal described in [2] can be seen in particular in the fact that, in order to provide the user-specific information, it is necessary to add plug-in computer programs to an internet-based browser program, e.g. install a Java Virtual Machine TM or an ActiveX computer program on each client computer.
  • the browser program Internet Explorer version 5.5 and higher i.e. contains a version of the Internet Explorer browser program from version 5.5 and newer, a computer program or a computer procedure which is referred to as vector markup language (VML) and which enables the display of vector-oriented graphics.
  • VML vector markup language
  • the invention is based on the problem of processing digital images, wherein the transfer of digital images from a server computer to a client computer is made possible in such a way that it is not subject to the usage restrictions described in [2].
  • a computer system for processing a large number of digital images has at least one client computer which contains a browser program.
  • a browser program is installed in the client computer.
  • the browser program is set up in such a way that an interpreter language is integrated in it, that is to say, in other words, that a code coded in the interpreter language can be processed by means of the browser program.
  • the computer system has at least one image database in which a multiplicity of digital images are stored.
  • a server computer likewise provided in the computer system is coupled to the at least one client computer and the at least one image database.
  • the server computer has at least one browser server program as well at least one image processing program, which is set up to change the color information of pixels of a digital image of the image database.
  • the computer system is set up such that an image displayed by the server computer on the client computer by means of the browser program is displayed using the interpreter language.
  • an image request message is transmitted from a client computer to a server computer using a browser program in which an interpreter language is integrated.
  • the image request message is used to request at least one digital image for transmission to the client computer.
  • the server computer has a server program for processing requests from the browser (browser server program).
  • the image request message is received and decoded by the server computer using the browser server program and the digital image requested according to the image request message is obtained from an image database to which the server computer is coupled and in which the at least one digital image is saved, read out by means of the browser server program.
  • the read-out digital image is provided with additional control information by the browser server program and transmitted together with this to the client computer.
  • the control information is encoded in the description language which is used by the browser program and the browser server program and / or in the interpreter language which is integrated in the browser program. After receiving the requested digital image and additionally the control information added, after the control information has been decoded, the digital image is displayed to a user of the client computer using the control information using the browser program.
  • the invention ensures that an additional installation of plug-in computer programs, such as a Java Virtual Machine TM computer program or ActiveX computer program, is no longer required.
  • a browser program which is installed on any customary client computer and contains an interpreter language set out above can be used for the immediate display of digital images with the additional option of taking control information encoded in the interpreter language into account when displaying the digital image or images and to recycle.
  • digital image processing is also possible in an environment with client computers, which are subject to a restrictive security policy, since, as described above, no additional computer programs have to be installed on the client computers.
  • the use of the computer system according to the invention is also made possible immediately after the browser program has been installed, as a result of which the user acceptance is considerably increased.
  • the invention can clearly be seen in the fact that a mechanism which is present in a conventional browser program but has not been used to date is used for the first time for processing digital images using control information coded in the interpreter language.
  • the browser program is preferably set up as a World Wide Web browser program (WWW browser program) and the browser server program is preferably set up as a World Wide Web browser server program (WWW browser server program).
  • WWW browser program World Wide Web browser program
  • WWW browser server program World Wide Web browser server program
  • the usability of the computer system according to the invention is further simplified by the fact that a widely used and standardized browser program or browser server program is used.
  • the at least one client computer and the server computer are coupled to one another by means of an internet-based telecommunication network.
  • the client computer and the server computer communicate with each other using the TCP / IP communication protocol stack (Transport Control Protocol / Internet Protocol communication protocol stack).
  • This embodiment of the invention also simplifies the use of the computer system according to the invention, and makes it robust since the mechanisms used are very well developed and widely used as standard mechanisms.
  • server computers can be provided, which are preferably coupled to one another for the exchange of digital messages by means of the Internet.
  • the functionalities described above and below, in particular in the server computer can also be implemented in a manner distributed over a number of server computers, so that the term “server computer” in the context of the description should be understood to provide the server functionality. regardless of the number of actually existing server computers.
  • the image processing program installed in the server computer is set up to carry out at least one of the following operations:
  • An advantage of this embodiment of the invention can be seen in particular in the fact that the entire computationally expensive digital image processing is shifted to the side of the computationally powerful server computer and the client computer can be designed to be very underperforming, so that client computers with very low-performance processors are used can in the context of high quality digital image processing.
  • the computer system according to the invention can thus contain client computers which are set up as embedded systems and are integrated, for example, in a mobile radio terminal, for example in a mobile radio telephone. Even with such a poorly performing terminal, it is possible according to the invention to use high-quality digital images in a very simple manner a small and not resource-intensive browser program to display digital images without additional installation effort.
  • the first color space representation and / or the second color space representation are / is one of the following color space representations:
  • the interpreter language can be the interpreter language Javascript, the interpreter language VB-Script or the interpreter language Jscript integrated in the Internet Explorer computer program version 5.5 and newer.
  • interpreter languages offer a sufficiently powerful instruction set for realizing the functions required in the context of the representation of digital images.
  • the images stored in the image database can in particular contain the following areas, namely the face area of a person, the hair area of a person, i.e. the area within the digital image that shows a person's hair and a background area.
  • each digital image which is stored in the image database can have a set of three partial images, which can be stored as separate digital images or as a coherent digital image.
  • the first partial image of the digital image contains the face area, the hair area and the background area, i.e. shown, in a second partial image of the digital image only information about the hair area, hereinafter also referred to as a hair mask, is contained, and in a third partial image only information about the background area is contained, hereinafter also referred to as a background mask.
  • the provision of these three types of digital partial images enables a very simple and therefore inexpensive digital image processing in terms of the computing time required.
  • the digital images can in principle be encoded in any image coding format, for example in JPEG image format, in GIF image format, in TIFF image format, in PNG image format, in BMP image format or in TGA image format.
  • a plurality of digital images of the same person are recorded and stored in the image database, the digital images representing perspective representations of the person from different viewing angles.
  • the perspectives of the plurality of images are preferably selected such that a quasi-three-dimensional representation of the person can be implemented using all digital images of the same person from different perspectives.
  • the client computer If there is sufficient computing power available, it is preferably provided to calculate a three-dimensional model of the head and hair area of the person from the available image information and to transmit this simulation model as a digital image to the client computer.
  • a very simple possibility for the quasi-three-dimensional representation of a person on a client computer can be seen in the fact that the majority of the digital images of the respective person are transmitted to the client computer and are displayed there to the user as a sequential image sequence by means of the browser program.
  • the browser program and the browser server program are set up to process data which are in accordance with a description language, for example the hypertext markup language (HTML), the vector markup language (VML) and / or the wireless markup language (WML ), are encoded.
  • a description language for example the hypertext markup language (HTML), the vector markup language (VML) and / or the wireless markup language (WML ), are encoded.
  • the client computer is preferably set up in such a way that the digital image can be displayed in a predetermined screen surface area of a screen surface and that a charge status display is shown in the predetermined screen surface area before the image is displayed when the image is loaded from the server computer into the client computer. the progress of the charging process being shown to the user with the charging status display.
  • the user of the browser program according to the invention gets a very good idea of how long he has to wait until the requested digital image is displayed, this information advantageously being presented to the user in the predetermined screen surface area, in which he later also requested the digital one Image, which further increases user comfort.
  • the client computer preferably the browser program
  • the browser program is set up in such a way that the scaling of the digital image displayed in the screen surface area of the browser program can be changed.
  • the method according to the invention provides that an image change request message is transmitted from the client computer to the server computer.
  • the image change request message a change in the image information of the digital image transmitted to the client computer is requested.
  • the server computer changes the digital image in accordance with the image change request message and the changed digital image using an image processing program installed in the server computer, which is set up to change the color information of pixels of a digital image is then transferred from the server computer to the client computer.
  • the received modified digital image is displayed to a user by the client computer using the browser program.
  • the computer system according to the invention and the method according to the invention are particularly suitable for use for displaying, selecting and changing hairstyles and hair colors in digital images of one or more people, both in the private sphere and in the professional field, for example at a hairdresser, as part of a professional hair color consultation , a professional type consultation, in the field of cosmetics, etc.
  • An embodiment is shown in the figures and is explained in more detail below.
  • Figure 1 is a block diagram showing a communication network with a server computer, a plurality of databases and a plurality of client computers;
  • FIG. 2 partial images of a digital image, the face region, the hair region and the background region of a person being shown in a first partial image, information about the hair region of the person being contained in a second partial image and information about the background region being contained in a third partial image;
  • FIG. 3 shows a message flow diagram in which the exchange of electronic messages and the processing of the individual electronic messages for the quasi-three-dimensional representation of a sequence of digital images are shown;
  • FIG. 4 shows a message flow diagram in which the exchange of electronic messages between the server computer and the client computer is shown to display exactly one two-dimensional digital image
  • FIG. 5 shows a message flow diagram in which a cache mechanism according to the invention for shortening the loading time of digital images is described.
  • FIG. 1 shows in a block diagram 100 a server computer 101, which has a processor 102, a memory 103 and a first input / output interface 104 and a second input / output interface 105.
  • the individual components of the server computer 101 are coupled to one another for the exchange of electrical signals by means of a computer bus 106.
  • the memory 103 can be a hard disk memory, a RAM memory (a volatile or a non-volatile RAM memory, for example a DRAM memory or a flash memory) and / or a ROM memory (for example a PROM) EPROM or an EEPROM).
  • the memory 103 can furthermore have a plurality of memory components.
  • a hard disk memory, a RAM memory and a ROM memory are preferably provided as memory components of the memory 103.
  • the server computer 101 is coupled to a first database 107 and a second database 108 by means of the second input / output interface 105.
  • a large number of digital images are stored in the memory 103 in a memory directory, in other words the digital images are stored in a memory directory structure set up as an image database.
  • an image database is to be understood as a directory structure in a local memory 103 of the server computer 101 in which the digital images are stored or an additional database (not shown) with which the server computer 101 is coupled.
  • the server computer 101 is coupled to a public communication network 109, preferably via a firewall computer (not shown) and / or via an internet proxy computer (not shown in FIG. 1), by means of the first input / output interface 104. which is based on the TCP / IP communication protocol stack for the transmission of digital data.
  • a large number of client computers 110 are coupled to the communication network 109, also referred to below as the Internet, and thus to the server computer 101, each client computer 110 having an input / output interface 111, a processor 112 and a memory 113, which are coupled to one another by means of a computer bus 114.
  • Each client computer 110 is coupled to an image display unit, for example a screen, on which the digital images are shown, as will be explained in more detail below.
  • an image display unit for example a screen, on which the digital images are shown, as will be explained in more detail below.
  • a browser program according to this exemplary embodiment the browser program Internet Explorer version 5.5, which is executed by the respective processor 112, is stored in the memory 113.
  • a Microsoft Internet Information Server version 5.0 is stored in the memory 103 of the server computer 101 as a World Wide Web browser server program.
  • ISAPI Internet Server Application Programming Interface
  • Image processing functions is used.
  • the computer program ASP. Net is stored in the memory 103 of the server computer 101 in order to generate a data stream coded in the description language used in accordance with this
  • Embodiment of the invention for generating a hypertext markup language data stream (HTML data stream) when it is executed by the processor 102 of the server computer 101.
  • HTML data stream hypertext markup language data stream
  • the following information relating to a digital image is stored in the first database 110, which is set up as a MySQL database:
  • • hair color coloring product information which in particular contains: • a coloring product identification information with which the respective coloring product can be clearly identified; A coloration product series identification information with which the coloration product series to which the respective coloration product is assigned can be clearly identified; • a name for the unique name of the referenced coloring product; • Activation specification, which specifies whether the respectively referenced coloring product is activated, ie may or may not be used.
  • color information associated with the products offered in each case, in accordance with this exemplary embodiment with products from the Henkel KGaA company, is stored, in particular color information about how color coding information is to be changed when coloring a particular hair type, in order to to achieve a target hair color that is as real as possible.
  • the color information is used to transform the hair color from an initial hair color before coloring to the hair color as the result of the coloration, the following image coding information in particular being used in the course of the transformation: color value (hue), color saturation, hair color transparency, flatness of hair, Contrast, hair highlights.
  • the digital, prefabricated digital images are stored in a file directory as an image database and are sized 810 x 270 pixels, coded as JPEG File.
  • the digital image is structured as shown in FIG.
  • the digital image 200 has three partial images 201, 202, 203 (each with 270 x 270 pixels) realized as partial image fields, but coded as a single digital image, with the overall image of a person with shoulder area 204 in a first partial image 201 , Face area 205, hair area 206 and background area 207 is shown.
  • the second partial image 202 has a hair mask 208 which has been created manually beforehand in accordance with the exemplary embodiment of the invention and which specifies the region in which the person's hair is located.
  • a third partial image 203 of the digital image 200 has a background mask 209 with which the background area of the digital image is specified.
  • the second partial image 202 and the third partial image 203 are used for later simple calculation of color transformations and for blending a person represented by a predefinable changeable background.
  • an alternative embodiment of the invention further provides for a digital image of a person to be taken by a user of a client computer 110 and for the hair region and / or the background region to be defined manually and these manually created partial images in FIG save the image database.
  • FIG. 3 shows a message flow diagram 300 of the message exchange for displaying digital images for quasi-three-dimensional representation and manipulation of images between the client computer 110 and the server computer 101 and some of their components, in particular that in the server computer 101 installed ISAPI and the memory 103.
  • the client computer 110 sends a first HTTP request message 303 ( HTTP request) to the server computer 101, with which the transmission of the start page of the Image processing system is requested from the server computer 101 to the client computer 110.
  • HTTP request HTTP request
  • the start page of the image processing system is transmitted in HTML format to the client computer 110 in a first HTTP response message 304 (HTTP response) and is displayed there to the user 301 by the browser program of the client computer 110 (block 305).
  • HTTP response HTTP response
  • the user 301 is given a choice as to whether the user 301 wants a quasi-dimensional representation of digital images of a person or the image processing of a two-dimensional representation of a person.
  • the user 301 of the client computer 110 wishes a quasi-three-dimensional representation of digital images of a person.
  • Corresponding selection information 306 is entered by the user into the client computer 110 and is sent by the user in a second HTTP request message 307 to the server computer 101, whereupon the first partial images 201 with 270 available in the image database are sent from the server computer 101 x 270 pixels of the digital images 200 with 810 x 270 pixels existing format are scaled down to a predetermined small format size with 76 x 76 pixels.
  • server computer 101 transmits a corresponding command 309 to the ISAPI 308, in which the desired digital images are specified which are to be scaled down.
  • the ISAPI accesses the image database in the memory 103 and reads from there the digital images 311 specified in the command 308 by means of a read command 310.
  • the ISAPI 308 then scales the read-in digital images 311 down to the target format with 76 x 76 pixels using a method of digital image processing known per se and forms scaled-down small format images 312 which are made available to the server computer 101.
  • the scaled-down small format images 312 are transmitted from the server computer 101 in a second HTTP response message 313 to the client computer 110 and are displayed there to the user 301 by means of the browser program (block 314).
  • one of the small format images 312 shown can be selected by the user 301.
  • corresponding selection information 315 is transferred to the client computer 110 and from there to the ISAPI of the server computer 101 in a third HTTP request message 316 transmitted.
  • the 36 digital images were taken along the body axis from 10 ° different perspectives in such a way that a quasi-three-dimensional representation of the person is made possible from the 36 digital images.
  • the previously stored 36 digital images 318 for the selected person are read from the hard disk by means of the ISAPI 308 using a second read command 317 and transmitted to the client computer 110 in a third HTTP response message 319 via the server 101 and stored there in its memory 113.
  • the second HTTP response message 304 contains the entire HTML structure of the HTML page to be displayed on the screen of the client computer 110, in particular an indication of the predefined screen surface area in which the digital images 318 are presented to the user for their quasi-three-dimensional representation 301 are to be displayed.
  • all the Jscript control command sequences are contained in the second HTTP response message 304 and are transmitted therein to the client computer 110, with the exception of those for which it is described below that they are in another HTTP Message from the browser server program of the server computer 101 to the client computer 110 are transmitted.
  • the screen surface area within the HTML page is already known, in which the digital images 318 are to be displayed after the download from the server computer 101.
  • the user 301 of the client computer 110 is displayed on the screen in the screen surface area provided for the display of the 36 digital images 318 by means of a dynamic object, which represents a “loading bar”, which clearly shows a charging status indicator provides the user with a quantitative indication of how far the loading process of the 36 digital images 318 has progressed from the server computer 101 to the client computer 110.
  • a dynamic object which represents a “loading bar”
  • a charging status indicator provides the user with a quantitative indication of how far the loading process of the 36 digital images 318 has progressed from the server computer 101 to the client computer 110.
  • the representation of the loading bar is realized according to the interpreter language Jscript, the Jscript command sequence being transmitted in the second HTTP response message 304 as additional control information from the server computer 101 to the client computer 110.
  • a quasi-rotation representation of the loaded digital images 318 is automatically started in the image area provided for this purpose on the screen surface area of the HTML page using the browser program (block 320).
  • the speed of the quasi-rotation in other words, the time interval between the display of two temporally successive digital images, which were each taken in a perspective that differs by 10 °, can be determined by the user 301 by means of one in the HTML page the User 301 for selection element shown for selection, for example designed as a slider, can be changed.
  • this function is also implemented using a command sequence formulated in Jscript.
  • the user 301 is given the opportunity to change the hair color, i.e. to change the color of the pixels located in the hair color area in accordance with a predetermined color table which is stored in the second database 108.
  • the client computer 110 sends a fourth HTTP request message 322 after the instruction 321 from the user 320, in which the server computer 101 requests the transmission of a color table and a selection of different selectable background images becomes.
  • the color chart contains a quantity of target colors provided for the respective starting hair color in accordance with the coloring products offered.
  • the indication of the hair color of the selected person is stored in the first database 110, as described above.
  • the respective color table is stored in the second database 108 for a respective basic hair color.
  • the server computer 101 reads the color table and a set of different predefined background images, which are also stored there, from the second database 108 and sends them in a fourth HTTP response message 323 to the client computer 130, which uses the browser program to transmit the Color table and the different background images to the user in the HTML page (block 324).
  • the selection information 325 is entered into the client computer 110 and transmitted from there to the server computer 101 in a color change request message 326 , which is forwarded from the server computer 101 to the ISAPI 308.
  • the ISAPI 308 calculates the resulting hair color to be displayed using the color information stored in the second database 108 and the color information stored in the first database 107 about the basic hair color of the person by means of a method of digital image processing known per se and correspondingly
  • the corresponding color values are assigned to pixels of the hair area, which is given by the hair mask 208 in the respective second partial image 202.
  • the color values of the pixels in the hair area 206, as defined by the hair mask 208, are thus transformed. Furthermore, if a specific background image has been selected, the background area 207, as defined by the background mask 209, is replaced by the selected stored background image.
  • the 36 changed images 327 formed in this way by the ISAPI 308 are transmitted in a changed image message 328 from the server computer 101 to the client computer 110 and are displayed there by the browser program in the predetermined screen surface area as changed images 327 in place of the original 36 digital images (block 329).
  • the user 301 can store the displayed images locally in the memory 113 of the client computer 110 by means of dynamic selection objects displayed on the HTML page, can forward the images in an electronic message to other computers or the images locally in a user profile or store in the server computer 101. This ends quasi-three-dimensional image processing.
  • the corresponding selection information 401 is received by the user 301 in the client after receipt of the start page described above - Computer 110 entered and transmitted by the browser program in a 2D selection message 402 shown in FIG. 4 in a second message flow diagram 400 to the server computer 101.
  • the server computer 101 transmits a 2D selection start page in an HTTP message 403 to the client computer 110 and displays it there to the user 301 (block 404).
  • the user 301 of the client computer 110 is shown a selection from three different image sources for selection:
  • a predetermined digital image of a model which is stored in the image database of the server computer 101;
  • a user-definable digital image that can be newly stored in the image database of the server computer 101;
  • a digital image stored in a user profile is a digital image stored in a user profile.
  • a file storage path search screen surface is created by means of a command sequence contained in the HTML page and transmitted from the server computer 101 in the HTTP message 403 to the client computer 110 in Jscript represented, by means of the known manner (analogous to a usual file selection screen surface such as for example in Winword for searching a directory and for storing a file in the directory) by clicking on any file structure within one or more memories using a computer mouse, with which the client computer 130 is coupled, is searchable.
  • the browser program immediately checks whether the selected image can be displayed by the browser program, in other words whether it is in an acceptable image format.
  • the browser program also uses an additional Jscript procedure (i.e., Jscript command sequence), which is also transmitted in the HTTP message 403 to the client computer 110, to check how large the digital image, i.e. how many pixels it contains.
  • Jscript command sequence i.e., Jscript command sequence
  • a corresponding scaling to the required image size of 270 x 270 pixels is carried out on the client side, the scaling being carried out by simply omitting too many pixels present in the original image.
  • this digital image with the correct target size is transmitted in a new image HTTP message 406 to the server computer 101 and stored there in the image database.
  • manual adjustment of the digital image in height and width and in position relative to the image area within the HTML page in which the image to be displayed is finally displayed is also optionally provided.
  • this manual scaling is also carried out exclusively by simply omitting or adding pixels with interpolated pixel information between the already existing pixels, so that no computationally complex algorithms for digital image processing are implemented in the client computer 110.
  • the user is able to change the brightness and / or the contrast of the image points for the digital image newly stored in the image database. This is done in that by means of a slider represented on the screen surface by means of the browser program of the user 301 corresponding change information 407, which determines the degree of change based on the existing degree of brightness or degree of contrast, is entered into the client computer 110 and from there in an HTTP - Change information message 408 is transmitted to the server computer 101.
  • This information is forwarded from the server computer 101 to the ISAPI 308, from which a corresponding image processing, i.e.
  • Contrast change and brightness change in the newly stored image i.e. is calculated.
  • the image 409 which has changed in contrast and brightness, is transmitted from the ISAPI 308 by means of the server computer 101 to the client computer 110 in an HTTP change response message 410 and by means of the browser program in the predetermined screen surface area in the HTML page User 301 represented (block 411).
  • the user 301 is able to carry out the user-defined in the given
  • VML vector markup language
  • a predetermined first mouse button preferably left mouse button Mouse button
  • a polygon is formed by means of the VML by connecting the individual pixels by straight lines, which determines the hair area.
  • a selected pixel can also be removed by clicking on an already selected pixel with a predefined second mouse button (preferably the right mouse button). In this case, the pixel coordinates assigned to this pixel are deleted from the pixel array.
  • the selection can be made until the user either indicates that he has completed the definition of the hair area or by the user clicking on a previously selected pixel with the first mouse button.
  • the selection of an image point which has already been selected, preferably first, is interpreted by the browser program as a termination command and the polygon formation described above is carried out automatically.
  • the hair mask has thus been formed manually and the hair mask is transmitted as a pixel coordinate set, which is stored in the pixel array, in a pixel coordinate HTTP message 413 to the server computer 101, which transfers this information to the ISAPI 308, which in turn generates and stores a hair mask image associated with the digital image using the hair mask (block 414).
  • the user 301 can define the background of the digital image in the same way.
  • the background pixel coordinate set formed is transmitted from the client computer 110 to the server computer 101.
  • the ISAPI 308 forms a background mask image associated with the digital image using the background mask (defined by the background pixel coordinate quantity) and stores this in the image database (not shown).
  • the user selects additional information that characterizes hair for the image to be stored, for example the hair color (light blonde, medium blonde, dark blonde, light brown, medium brown, dark brown or black), the hair length (short, medium or long ) and / or the nature of the hair, ie for example whether it is thick or fine hair.
  • the hair color light blonde, medium blonde, dark blonde, light brown, medium brown, dark brown or black
  • the hair length short, medium or long
  • the nature of the hair ie for example whether it is thick or fine hair.
  • the additional information is also transmitted from the client computer 110 to the server computer 101 and stored there in an image data record associated with the respective image in the first database 107 (not shown).
  • the stored newly added digital images can now be processed in the same way as the predetermined digital images previously stored in the image database.
  • a plurality of selectable, predefined hairstyle objects which represent images of different hairstyles, are stored for selection in an additional database, the number of selectable hairstyle objects being transmitted to the client computer 110 and are shown there to the user 301 in an HTML page.
  • the user 301 selects one of the predefined hairstyle objects, he can superimpose this as an additional image object in the predefined screen surface area on the displayed digital image, which makes it possible to overlay a new hairstyle of the depicted person in the previously selected image to be newly stored and thus represent the user 301.
  • the hairstyle objects that they are freely scalable and positionable in size, these functions also being implemented by means of Jscript and to the client computer 110 in the second HTTP response message 304 or in another HTTP message has been transferred.
  • the hairstyle objects can also be changed in color according to the respective color chart.
  • the method described above for superimposing the hairstyle objects or for changing the size, position and color of the hairstyle objects with respect to the digital image shown in the HTML page of the client computer 110 is correspondingly for those previously stored in the image database predefined digital images with predefined persons or also provided for the digital images from the user profile.
  • the digital 2D images are stored, sent by email or printed.
  • FIG. 5 shows in a third message flow diagram 500 a cache mechanism, as is provided according to an embodiment of the invention.
  • the client computer 110 is coupled to an Internet proxy computer 501 and, via this, to the server computer 101.
  • the client computer 110 checks whether the digital image requested by the user 301 is stored in the memory 113 of the client computer 110.
  • the requested image 503 is immediately displayed to the user 301.
  • the client computer 110 sends a request message 504 stating the requested image to the Internet proxy computer 501, which in turn checks whether the requested digital image is stored in its memory.
  • a response message 505 with the requested digital image is immediately transmitted to the client computer 130, stored by the latter in its memory 113, and then the requested one digital image presented to user 301 (block 506).
  • the Internet proxy computer 501 forwards the request message to the server computer 101 (block 507), which in turn checks whether it is in its memory 103 or the requested digital image is stored in a cache 508 coupled to the ISAPI 308.
  • the requested digital image is transmitted from the server computer 101 to the Internet proxy computer 501 (block 509), stored there, and transmitted from the Internet proxy computer 501 to the client computer 110 ( Block 510), also stored there in its memory 113 and then displayed to the user 301 (Block 511).
  • the ISAPI 308 recalculates the requested digital image, for example with changed hair color information, using the information in the above described databases 107, 108 stored data.
  • the newly generated digital image 512 is stored in the cache memory 508 of the ISAPI 308 after it has been generated, passed on from the server computer 101 to the Internet proxy computer 501 (block 513), also stored by the latter and then to the client Computer 110 transmits (block 514), which in turn stores the received digital image in its memory 113 and then presents it to user 301 (block 515).

Landscapes

  • Engineering & Computer Science (AREA)
  • Library & Information Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • Facsimiles In General (AREA)

Abstract

According to the invention, a browser program comprising an integrated interpreter language is contained in a client computer. The reproduction of an image that is transmitted from a server computer to the client computer and that is reproduced for the user by means of the browser program takes place using the interpreter language.

Description

Computersystem und Verfahren zum Verarbeiten einer Vielzahl von digitalen BildernComputer system and method for processing a variety of digital images
In [1] ist ein Verfahren zur Haarfarbberatung beschrieben, bei dem mittels einer Videokamera, eines Computers und eines Bildschirms eine Auswahl einer gewünschten Haarfarbe einer Person aufgenommen und auf einem Bildschirm dargestellt wird, wobei die Bilder der Person mittels der Videokamera kontinuierlich aufgenommen und in Echtzeit zu dem Computer übertragen werden. Für jedes Einzelbild wird in Echtzeit eine digitale Bildbearbeitung durchgeführt, wobei ein Haarbereich der Person identifiziert, die Farbe in dem Haarbereich nach vorgegebenen Spezifikationen verändert und die Bilder mit dem veränderten Haarbereich in Echtzeit auf einem Bildschirm oder einem Touchscreen dargestellt wird.[1] describes a method for hair color consultation in which a selection of a desired hair color of a person is recorded and displayed on a screen by means of a video camera, a computer and a screen, the images of the person being recorded continuously and in real time by means of the video camera be transferred to the computer. For each individual image, digital image processing is carried out in real time, a hair area of the person being identified, the color in the hair area changed according to predetermined specifications, and the images with the changed hair area being displayed in real time on a screen or a touchscreen.
Bei diesem Verfahren wird ausschließlich die Bildverarbeitung in einem Einzelrechner zur Bildverarbeitung beschrieben, womit eine verteilte Bildverarbeitung und Nutzung von digitalen Bildern beispielsweise über das Internet mit einer Vielzahl von beteiligten Rechnern nicht ermöglicht ist.In this method, only the image processing in a single computer for image processing is described, which means that distributed image processing and use of digital images, for example via the Internet, is not possible with a large number of computers involved.
Ferner ist in [2] ein servergesteuertes Informationsportal für den Friseurbereich beschrieben, bei dem nutzerspezifische Informationen und Dienstleistungen über das Internet bereitgestellt werden, wobei unterschiedliche Informationen und Dienstleistungen in Abhängigkeit der Identität des Benutzers und den damit verbundenen spezifischen gespeicherten Benutzerinformationen geliefert werden. In [2] ist insbesondere beschrieben, dass die nutzerspezifischen Informationen und Dienstleistungen Online-Kalkulationen, Vertragsvorlagen,Furthermore, in [2] a server-controlled information portal for the hairdressing area is described, in which user-specific information and services are provided via the Internet, different information and services being provided depending on the identity of the user and the specific stored user information associated therewith. In [2] it is particularly described that the user-specific information and services include online calculations, contract templates,
Produktinformationen und Online-Bestellmöglichkeiten sind.Product information and online ordering options are available.
Ein Nachteil des in [2] beschriebenen servergesteuerten Informationsportals ist insbesondere darin zu sehen, dass es zur Bereitstellung der nutzerspezifischen Informationen erforderlich ist, zu einem internetbasierten Browserprogramm zusätzliche Plug-In-Computerprogramme wie z.B. eine Java Virtual Machine™ oder ein ActiveX-Computerprogramm auf jedem Client-Rechner zu installieren.A disadvantage of the server-controlled information portal described in [2] can be seen in particular in the fact that, in order to provide the user-specific information, it is necessary to add plug-in computer programs to an internet-based browser program, e.g. install a Java Virtual Machine ™ or an ActiveX computer program on each client computer.
Dies führt zu erheblichen Nutzungseinschränkungen, da es abhängig von der jeweiligen Sicherheitspolitik beispielsweise in einem firmen internen Intranet möglich ist, dass der Einsatz solcher zusätzlichen Computerprogramme nicht zugelassen ist. Auch ist die Installation beispielsweise eines Java Virtual Machine- Computerprogramms sehr komplex und unkomfortabel, womit die Nutzerakzeptanz eines solchen Systems sehr gering ist.This leads to considerable restrictions in use, since depending on the respective security policy, it is possible, for example, in a company-internal intranet, that the use of such additional computer programs is not permitted. The installation of a Java virtual machine computer program, for example, is also very complex and uncomfortable, which means that the user acceptance of such a system is very low.
Ferner ist in [3] ein Browserprogramm beschrieben, nämlich der Internet- Explorer™ der Firma Microsoft™.Furthermore, a browser program is described in [3], namely Internet Explorer ™ from Microsoft ™.
Ferner ist in [3] beschrieben, dass das Browserprogramm Internet Explorer Version 5.5 und höher, d.h. eine Version des Internet Explorer-Browserprogramms ab der Version 5.5 und neuer, ein Computerprogramm bzw. eine Computerprozedur enthält, welches als Vektor Markup Language (VML) bezeichnet wird und welches die Darstellung von vektororientierter Grafik ermöglicht.Furthermore, it is described in [3] that the browser program Internet Explorer version 5.5 and higher, i.e. contains a version of the Internet Explorer browser program from version 5.5 and newer, a computer program or a computer procedure which is referred to as vector markup language (VML) and which enables the display of vector-oriented graphics.
Der Erfindung liegt das Problem zugrunde, digitale Bilder zu verarbeiten, wobei das Übertragen von digitalen Bildern von einem Server-Rechner zu einem Client- Rechner in einer Weise ermöglicht wird, dass sie den in [2] beschriebenen Nutzungseinschränkungen nicht unterliegt. Anders ausgedrückt bedeutet dies, dass ein Computersystem geschaffen werden soll, welches ohne eine Installation eines zu dem Browserprogramm zusätzlichen Computerprogramms, beispielsweise eines Java Virtual Machine-Computerprogramms oder eines ActiveX-Computerprogramms auskommt.The invention is based on the problem of processing digital images, wherein the transfer of digital images from a server computer to a client computer is made possible in such a way that it is not subject to the usage restrictions described in [2]. In other words, this means that a computer system is to be created which does not require an additional computer program to be installed in addition to the browser program, for example a Java virtual machine computer program or an ActiveX computer program.
Das Problem wird durch das Computersystem und durch das Verfahren zum rechnergestützten Verarbeiten einer Vielzahl von digitalen Bildern mit den Merkmalen gemäß den unabhängigen Patentansprüchen gelöst.The problem is solved by the computer system and by the method for computer-aided processing of a multiplicity of digital images with the features according to the independent patent claims.
Ein Computersystem zum Verarbeiten einer Vielzahl von digitalen Bildern weist mindestens einen Client-Rechner auf, welcher ein Browserprogramm enthält. Anders ausgedrückt bedeutet dies, dass in dem Client-Rechner ein Browserprogramm installiert ist. Das Browserprogramm ist derart eingerichtet, dass in ihm eine Interpretersprache integriert ist, d.h. anders ausgedrückt, dass mittels des Browserprogramms ein in der Interpretersprache codierter Code verarbeitbar ist. Ferner weist das Computersystem mindestens eine Bilddatenbank auf, in welcher eine Vielzahl von digitalen Bildern gespeichert ist. Mit dem mindestens einen Client-Rechner und der mindestens einen Bilddatenbank ist ein ebenfalls in dem Computersystem vorgesehener Server-Rechner gekoppelt. Der Server-Rechner weist mindestens ein Browser-Serverprogramm sowie mindestens ein Bildverarbeitungsprogramm auf, welches eingerichtet ist zur Veränderung der Farbinformation von Bildpunkten eines digitalen Bildes der Bilddatenbank. Das Computersystem ist derart eingerichtet, dass die Darstellung eines von dem Server-Rechner auf dem Client-Rechner mittels des Browserprogramms dargestellten Bildes unter Verwendung der Interpretersprache erfolgt.A computer system for processing a large number of digital images has at least one client computer which contains a browser program. In other words, this means that a browser program is installed in the client computer. The browser program is set up in such a way that an interpreter language is integrated in it, that is to say, in other words, that a code coded in the interpreter language can be processed by means of the browser program. Furthermore, the computer system has at least one image database in which a multiplicity of digital images are stored. A server computer likewise provided in the computer system is coupled to the at least one client computer and the at least one image database. The server computer has at least one browser server program as well at least one image processing program, which is set up to change the color information of pixels of a digital image of the image database. The computer system is set up such that an image displayed by the server computer on the client computer by means of the browser program is displayed using the interpreter language.
Bei einem Verfahren zum rechnergestützten Bearbeiten einer Vielzahl von digitalen Bildern wird unter Verwendung eines Browserprogramms, in das eine Interpretersprache integriert ist, von einem Client-Rechner eine Bild- Anforderungsnachricht an einen Server-Rechner übermittelt. Mittels der Bild- Anforderungsnachricht wird mindestens ein digitales Bild zur Übertragung an den Client-Rechner angefordert. Der Server-Rechner weist ein Serverprogramm zur Bearbeitung von Anfragen des Browsers (Browser-Serverprogramm) auf. Von dem Server-Rechner wird die Bild-Anforderungsnachricht mittels des Browser- Serverprogramms empfangen und decodiert und das gemäß der Bild- Anforderungsnachricht angeforderte digitale Bild wird aus einer Bilddatenbank, mit der der Server-Rechner gekoppelt ist, und in der das mindestens eine digitale Bild gespeichert ist, mittels des Browser-Serverprogramms ausgelesen. Ferner wird von dem Browser-Serverprogramm das ausgelesene digitale Bild mit zusätzlicher Steuerinformation versehen und gemeinsam mit dieser zu dem Client-Rechner übertragen. Die Steuerinformation ist in der Beschreibungssprache, welche von dem Browserprogramm und dem Browser-Serverprogramm verwendet wird und/oder in der Interpretersprache, welche in dem Browserprogramm integriert ist, codiert. Nach Empfang des angeforderten digitalen Bildes und zusätzlich der zugefügten Steuerinformation wird nach erfolgter Decodierung der Steuerinformation das digitale Bild unter Verwendung der Steuerinformation mittels des Browserprogramms einem Benutzer des Client-Rechners dargestellt.In a method for computer-aided processing of a large number of digital images, an image request message is transmitted from a client computer to a server computer using a browser program in which an interpreter language is integrated. The image request message is used to request at least one digital image for transmission to the client computer. The server computer has a server program for processing requests from the browser (browser server program). The image request message is received and decoded by the server computer using the browser server program and the digital image requested according to the image request message is obtained from an image database to which the server computer is coupled and in which the at least one digital image is saved, read out by means of the browser server program. Furthermore, the read-out digital image is provided with additional control information by the browser server program and transmitted together with this to the client computer. The control information is encoded in the description language which is used by the browser program and the browser server program and / or in the interpreter language which is integrated in the browser program. After receiving the requested digital image and additionally the control information added, after the control information has been decoded, the digital image is displayed to a user of the client computer using the control information using the browser program.
Durch die Erfindung wird erreicht, dass eine zusätzliche Installation von Plug-In- Computerprogrammen, wie beispielsweise eines Java Virtual Machine™- Computerprogramms oder ActiveX-Computerprogramms nicht mehr erforderlich ist. Es kann erfindungsgemäß ein auf jedem üblichen Client-Rechner installiertes Browserprogramm, welches eine oben dargelegte Interpretersprache enthält, verwendet werden zur unmittelbaren Darstellung von digitalen Bildern mit der zusätzlichen Option, in der Interpretersprache codierte Steuerinformationen im Rahmen der Darstellung des oder der digitalen Bilder zu berücksichtigen und zu verwerten. Damit ist eine digitale Bildverarbeitung auch in einem Umfeld mit Client-Rechnern, welche einer restriktiven Sicherheitspolitik unterworfen sind, möglich, da, wie oben beschrieben, keine Installation zusätzlicher Computerprogramme auf den Client- Rechnern erforderlich ist. Auch ist der Einsatz des erfindungsgemäßen Computersystems sofort nach erfolgter Installation des Browserprogramms ermöglicht, wodurch die Nutzerakzeptanz erheblich erhöht wird.The invention ensures that an additional installation of plug-in computer programs, such as a Java Virtual Machine ™ computer program or ActiveX computer program, is no longer required. According to the invention, a browser program which is installed on any customary client computer and contains an interpreter language set out above can be used for the immediate display of digital images with the additional option of taking control information encoded in the interpreter language into account when displaying the digital image or images and to recycle. This means that digital image processing is also possible in an environment with client computers, which are subject to a restrictive security policy, since, as described above, no additional computer programs have to be installed on the client computers. The use of the computer system according to the invention is also made possible immediately after the browser program has been installed, as a result of which the user acceptance is considerably increased.
Anschaulich kann die Erfindung darin gesehen werden, dass ein in einem üblichen Browserprogramm vorhandener, aber bisher nicht genutzter Mechanismus erstmalig eingesetzt wird zur Verarbeitung von digitalen Bildern unter Verwendung von in der Interpretersprache codierter Steuerinformation.The invention can clearly be seen in the fact that a mechanism which is present in a conventional browser program but has not been used to date is used for the first time for processing digital images using control information coded in the interpreter language.
Bevorzugte Weiterbildungen der Erfindung ergeben sich aus den abhängigen Ansprüchen.Preferred developments of the invention result from the dependent claims.
Die im Folgenden beschriebenen Ausgestaltungen der Erfindung betreffen sowohl das Computersystem als auch das Verfahren zum Verarbeiten einer Vielzahl von digitalen Bildern.The embodiments of the invention described below relate both to the computer system and to the method for processing a large number of digital images.
Das Browserprogramm ist vorzugsweise als World Wide Web-Browserprogramm (WWW-Browserprogramm) eingerichtet und das Browser-Serverprogramm ist vorzugsweise als World Wide Web-Browser-Serverprogramm (WWW-Browser- Serverprogramm)eingerichtet.The browser program is preferably set up as a World Wide Web browser program (WWW browser program) and the browser server program is preferably set up as a World Wide Web browser server program (WWW browser server program).
Bei dieser Ausgestaltung der Erfindung wird die Einsetzbarkeit des erfindungsgemäßen Computersystems noch dadurch vereinfacht, dass ein weit verbreitetes und standardisiertes Browserprogramm bzw. Browser- Serverprogramm verwendet wird.In this embodiment of the invention, the usability of the computer system according to the invention is further simplified by the fact that a widely used and standardized browser program or browser server program is used.
Gemäß einer anderen Ausgestaltung der Erfindung sind der mindestens eine Client-Rechner und der Server-Rechner mittels eines intemet-basierten Telekommunikationsnetzes miteinander gekoppelt. Anders ausgedrückt bedeutet dies, dass die Client-Rechner und der Server-Rechner miteinander unter Verwendung des TCP/IP-Kommunikationsprotokollstacks (Transport Control Protocol/Internet Protocol-Kommunikationsprotokollstacks) kommunizieren.According to another embodiment of the invention, the at least one client computer and the server computer are coupled to one another by means of an internet-based telecommunication network. In other words, the client computer and the server computer communicate with each other using the TCP / IP communication protocol stack (Transport Control Protocol / Internet Protocol communication protocol stack).
Auch durch diese Ausgestaltung der Erfindung wird die Nutzung des erfindungsgemäßen Computersystems weiter vereinfacht, und robust gestaltet, da die verwendeten Mechanismen sehr gut entwickelt und als Standardmechanismen weit verbreitet sind.This embodiment of the invention also simplifies the use of the computer system according to the invention, and makes it robust since the mechanisms used are very well developed and widely used as standard mechanisms.
Es ist in diesem Zusammenhang anzumerken, dass grundsätzlich eine beliebige Anzahl von Client-Rechnern und Server-Rechnern vorgesehen sein können, welche vorzugsweise mittels des Internet miteinander zum Austausch digitaler Nachrichten gekoppelt sind. Die oben und im Folgenden beschriebenen Funktionalitäten insbesondere in dem Server-Rechner können auch auf mehreren Server-Rechnern verteilt implementiert sein, so dass der Begriff „Server-Rechner" im Rahmen der Beschreibung so zu verstehen ist, dass die Server-Funktionalität bereitgestellt wird, egal von welcher Zahl tatsächlich vorhandener Server-Rechner.It should be noted in this connection that in principle any number of client computers and server computers can be provided, which are preferably coupled to one another for the exchange of digital messages by means of the Internet. The functionalities described above and below, in particular in the server computer, can also be implemented in a manner distributed over a number of server computers, so that the term “server computer” in the context of the description should be understood to provide the server functionality. regardless of the number of actually existing server computers.
Das in dem Server-Rechner installierte Bildverarbeitungsprogramm ist gemäß einer Ausgestaltung der Erfindung zur Durchführung zumindest einer der folgenden Operationen eingerichtet:According to one embodiment of the invention, the image processing program installed in the server computer is set up to carry out at least one of the following operations:
• Veränderung der Helligkeit von Bildpunkten eines digitalen Bildes,Changing the brightness of pixels of a digital image,
• Veränderung des Kontraste von Bildpunkten eines digitalen Bildes,Changing the contrasts of pixels of a digital image,
• Mischen von Bildinformationen zweier Bilder zu einem digitalen Mischbild mit Misch-Bildpunktinformationen, und/oder• Mixing image information of two images into a digital mixed image with mixed pixel information, and / or
• Transformation von Bildpunkten eines digitalen Bildes zugeordneter Farbinformation von einer ersten Farbraumdarstellung in eine zweite Farbraumdarstellung.• Transformation of pixels of a digital image associated with color information from a first color space representation into a second color space representation.
Ein Vorteil dieser Ausgestaltung der Erfindung ist insbesondere darin zu sehen, dass die gesamte rechenaufwendige digitale Bildverarbeitung auf die Seite des rechenleistungsstarken Server-Rechners verlagert wird und der Client-Rechner sehr leistungsschwach ausgestaltet sein kann, so dass Client-Rechner mit sehr leistungsschwachen Prozessoren verwendet werden können im Rahmen einer qualitativ hochwertigen digitalen Bildverarbeitung.An advantage of this embodiment of the invention can be seen in particular in the fact that the entire computationally expensive digital image processing is shifted to the side of the computationally powerful server computer and the client computer can be designed to be very underperforming, so that client computers with very low-performance processors are used can in the context of high quality digital image processing.
Von den Client-Rechnern werden keine rechenaufwendigen Operationen und Algorithmen der digitalen Bildverarbeitung durchgeführt.No computing-intensive operations and algorithms for digital image processing are carried out by the client computers.
Somit kann das erfindungsgemäße Computersystem Client-Rechner enthalten, welche als Embedded-Systems eingerichtet sind und beispielsweise in einem Mobilfunkendgerät integriert sind, beispielsweise in einem Mobilfunktelefon. Selbst mit einem solch leistungsschwachen Endgerät ist es erfindungsgemäß möglich, qualitativ hochwertige digitale Bilder auf sehr einfache Weise unter Verwendung eines kleinen und nicht ressourcenintensiven Browserprogramms digitale Bilder ohne zusätzlichen Installationsaufwand darzustellen.The computer system according to the invention can thus contain client computers which are set up as embedded systems and are integrated, for example, in a mobile radio terminal, for example in a mobile radio telephone. Even with such a poorly performing terminal, it is possible according to the invention to use high-quality digital images in a very simple manner a small and not resource-intensive browser program to display digital images without additional installation effort.
Die erste Farbraumdarstellung und/oder die zweite Farbraumdarstellung sind/ist gemäß einer Ausgestaltung der Erfindung eine der folgenden Farbraumdarstellungen:According to one embodiment of the invention, the first color space representation and / or the second color space representation are / is one of the following color space representations:
• RGB-Farbraumdarstellung,• RGB color space representation,
• sRGB-Farbraumdarstellung,• sRGB color space representation,
• CMYK-Farbraumdarstellung,• CMYK color space display,
• HLS-Farbraumdarstellung.• HLS color space display.
Als Interpretersprache kann die Interpretersprache Javascript, die Interpretersprache VB-Script oder die in dem Internet Explorer- Computerprogramm Version 5.5 und neuer integrierte Interpretersprache Jscript verwendet werden.The interpreter language can be the interpreter language Javascript, the interpreter language VB-Script or the interpreter language Jscript integrated in the Internet Explorer computer program version 5.5 and newer.
Die oben genannten Interpretersprachen bieten einen ausreichend mächtigen Befehlssatz zur Realisierung der in dem Zusammenhang der Darstellung digitaler Bilder erforderlichen Funktionen.The above-mentioned interpreter languages offer a sufficiently powerful instruction set for realizing the functions required in the context of the representation of digital images.
Die in der Bilddatenbank eingespeicherten Bilder können insbesondere folgende Bereiche enthalten, nämlich den Gesichtsbereich einer Person, den Haarbereich einer Person, d.h. den Bereich innerhalb des digitalen Bildes, in dem die Haare einer Person dargestellt sind, sowie einen Hintergrundbereich.The images stored in the image database can in particular contain the following areas, namely the face area of a person, the hair area of a person, i.e. the area within the digital image that shows a person's hair and a background area.
Jedes digitale Bild, welches in der Bilddatenbank gespeichert ist, kann gemäß der oben beschriebenen Ausgestaltung der Erfindung eine Menge von drei Teilbildern, welche als separate digitale Bilder oder als ein zusammenhängendes digitales Bild gespeichert sein kann, aufweisen. In einem ersten Teilbild des digitalen Bildes ist der Gesichtsbereich, der Haarbereich und der Hintergrundbereich enthalten, d.h. dargestellt, in einem zweiten Teilbild des digitalen Bildes ist nur Information über den Haarbereich, im Folgenden auch bezeichnet als Haarmaske, enthalten, und in einem dritten Teilbild ist nur Information über den Hintergrundbereich enthalten, im Folgenden auch bezeichnet als Hintergrundmaske.According to the embodiment of the invention described above, each digital image which is stored in the image database can have a set of three partial images, which can be stored as separate digital images or as a coherent digital image. The first partial image of the digital image contains the face area, the hair area and the background area, i.e. shown, in a second partial image of the digital image only information about the hair area, hereinafter also referred to as a hair mask, is contained, and in a third partial image only information about the background area is contained, hereinafter also referred to as a background mask.
Durch das Bereitstellen dieser drei Arten von digitalen Teilbildern wird eine sehr einfache und damit hinsichtlich der benötigten Rechenzeit kostengünstige digitale Bildverarbeitung ermöglicht. Die digitalen Bilder können in grundsätzlich jedem beliebigen Bildcodier-Format codiert sein, beispielsweise in JPEG-Bildformat, in GIF-Bildformat, in TIFF- Bildformat, in PNG-Bildformat, in BMP-Bildformat oder in TGA-Bildformat.The provision of these three types of digital partial images enables a very simple and therefore inexpensive digital image processing in terms of the computing time required. The digital images can in principle be encoded in any image coding format, for example in JPEG image format, in GIF image format, in TIFF image format, in PNG image format, in BMP image format or in TGA image format.
Gemäß einer anderen Ausgestaltung der Erfindung ist es vorgesehen, dass zu einer gleichen Person eine Mehrzahl von digitalen Bildern aufgenommen und in der Bilddatenbank gespeichert sind, wobei die digitalen Bilder perspektivische Darstellungen der Person von unterschiedlichen Betrachtungswinkeln aus repräsentieren. Vorzugsweise sind die Perspektiven der Mehrzahl von Bildern derart gewählt, dass unter Verwendung aller digitalen Bilder der gleichen Person aus unterschiedlichen Perspektiven eine quasi-dreidimensionale Darstellung der Person implementierbar ist.According to another embodiment of the invention, it is provided that a plurality of digital images of the same person are recorded and stored in the image database, the digital images representing perspective representations of the person from different viewing angles. The perspectives of the plurality of images are preferably selected such that a quasi-three-dimensional representation of the person can be implemented using all digital images of the same person from different perspectives.
Vorzugsweise ist bei ausreichender zur Verfügung stehender Rechenleistung vorgesehen, aus der verfügbaren Bildinformation ein dreidimensionales Modell des Kopfes und des Haarbereichs der Person zu berechnen und dieses Simulationsmodell als digitales Bild an den Client-Rechner zu übertragen.If there is sufficient computing power available, it is preferably provided to calculate a three-dimensional model of the head and hair area of the person from the available image information and to transmit this simulation model as a digital image to the client computer.
Eine sehr einfache Möglichkeit zur quasi-dreidimensionalen Darstellung einer Person auf einem Client-Rechner ist darin zu sehen, dass die Mehrzahl der digitalen Bilder der jeweiligen Person an den Client-Rechner übertragen wird und dort mittels des Browserprogramms als sequentielle Bildfolge einem Benutzer dargestellt wird.A very simple possibility for the quasi-three-dimensional representation of a person on a client computer can be seen in the fact that the majority of the digital images of the respective person are transmitted to the client computer and are displayed there to the user as a sequential image sequence by means of the browser program.
Gemäß einer anderen Ausgestaltung der Erfindung sind das Browserprogramm und das Browser-Serverprogramm eingerichtet zur Verarbeitung von Daten, welche gemäß einer Beschreibungssprache, beispielsweise der Hypertext Markup Language (HTML), der Vektor Markup Language (VML) und/oder der Wireless Markup Language (WML), codiert sind.According to another embodiment of the invention, the browser program and the browser server program are set up to process data which are in accordance with a description language, for example the hypertext markup language (HTML), the vector markup language (VML) and / or the wireless markup language (WML ), are encoded.
Der Client-Rechner ist vorzugsweise derart eingerichtet, dass das digitale Bild in einem vorgegebenen Bildschirmoberflächenbereich einer Bildschirmoberfläche darstellbar ist und dass in dem vorgegebenen Bildschirmoberflächenbereich vor Darstellung des Bildes bei Laden des Bildes von dem Server-Rechner in den Client-Rechner eine Ladezustandsanzeige dargestellt wird, wobei mit der Ladezustandsanzeige dem Benutzer der Verlauf des Ladevorgangs dargestellt wird. Anders ausgedrückt bedeutet dies, dass in dem für die spätere Darstellung des digitalen Bildes vorgesehenen vorgegebenen Bildschirmoberflächenbereich ein an sich bekannter „Ladebalken" dargestellt wird, der den Verlauf des Herunterladens des jeweiligen digitalen Bildes von dem Server-Rechner in den Client-Rechner repräsentiert.The client computer is preferably set up in such a way that the digital image can be displayed in a predetermined screen surface area of a screen surface and that a charge status display is shown in the predetermined screen surface area before the image is displayed when the image is loaded from the server computer into the client computer. the progress of the charging process being shown to the user with the charging status display. In other words, this means that in the predetermined screen surface area provided for the later display of the digital image a "loading bar" known per se is shown, which represents the course of the downloading of the respective digital image from the server computer into the client computer.
Auf diese Weise bekommt der Benutzer des erfindungsgemäßen Browserprogramms eine sehr gute Vorstellung darüber, wie lange er noch bis zur Darstellung des angeforderten digitalen Bildes warten muss, wobei vorteilhafterweise diese Information in dem vorgegebenen Bildschirmoberflächenbereich dem Benutzer dargestellt wird, in dem er später auch das angeforderte digitale Bild dargestellt bekommt, wodurch der Nutzerkomfort weiter erhöht wird.In this way, the user of the browser program according to the invention gets a very good idea of how long he has to wait until the requested digital image is displayed, this information advantageously being presented to the user in the predetermined screen surface area, in which he later also requested the digital one Image, which further increases user comfort.
Der Client-Rechner, vorzugsweise das Browserprogramm, ist gemäß einer anderen Ausgestaltung der Erfindung derart eingerichtet, dass eine Veränderung des Skalierung des in dem Bildschirmoberflächenbereich des Browserprogramms dargestellten digitalen Bildes möglich ist.According to another embodiment of the invention, the client computer, preferably the browser program, is set up in such a way that the scaling of the digital image displayed in the screen surface area of the browser program can be changed.
Bei dem erfindungsgemäßen Verfahren ist es gemäß einer Ausgestaltung der Erfindung vorgesehen, dass von dem Client-Rechner eine Bildänderungs- Anfragenachricht an den Server-Rechner übertragen wird. Mit der Bildänderungs- Anfragenachricht wird eine Änderung der Bildinformation des an den Client- Rechner übertragenen digitalen Bildes angefragt. Von dem Server-Rechner wird nach Empfang der Bildänderungs-Anfragenachricht unter Verwendung eines in dem Server-Rechner installierten Bildverarbeitungsprogramms, welches eingerichtet ist zur Veränderung der Farbinformation von Bildpunkten eines digitalen Bildes, das digitale Bild gemäß der Bildänderungs-Anfragenachricht verändert und das veränderte digitale Bild wird anschließend von dem Server- Rechner an den Client-Rechner übertragen. Von dem Client-Rechner wird das empfangene veränderte digitale Bild mittels des Browserprogramms einem Benutzer dargestellt.According to one embodiment of the invention, the method according to the invention provides that an image change request message is transmitted from the client computer to the server computer. With the image change request message, a change in the image information of the digital image transmitted to the client computer is requested. After receiving the image change request message, the server computer changes the digital image in accordance with the image change request message and the changed digital image using an image processing program installed in the server computer, which is set up to change the color information of pixels of a digital image is then transferred from the server computer to the client computer. The received modified digital image is displayed to a user by the client computer using the browser program.
Das erfindungsgemäße Computersystem und das erfindungsgemäße Verfahren eignen sich insbesondere für den Einsatz zur Darstellung, Auswahl und Veränderung von Frisuren und Haarfarben in digitalen Bildern einer oder mehrerer Personen sowohl im privaten Bereich als auch im professionellen Bereich, beispielsweise bei einem Friseur, im Rahmen einer professionellen Haarfarbberatung, einer professionellen Typberatung, im Bereich der Kosmetik, etc. Ein Ausführungsbeispiel ist in den Figuren dargestellt und wird im Folgenden näher erläutert.The computer system according to the invention and the method according to the invention are particularly suitable for use for displaying, selecting and changing hairstyles and hair colors in digital images of one or more people, both in the private sphere and in the professional field, for example at a hairdresser, as part of a professional hair color consultation , a professional type consultation, in the field of cosmetics, etc. An embodiment is shown in the figures and is explained in more detail below.
Es zeigenShow it
Figur 1 ein Blockdiagramm, in dem ein Kommunikationsnetz mit einem Server- Rechner, einer Mehrzahl von Datenbanken und eine Vielzahl von Client-Rechnern dargestellt ist;Figure 1 is a block diagram showing a communication network with a server computer, a plurality of databases and a plurality of client computers;
Figur 2 Teilbilder eines digitalen Bildes, wobei in einem ersten Teilbild der Gesichtsbereich, der Haarbereich und der Hintergrundbereich einer Person gezeigt ist, in einem zweiten Teilbild Information über den Haarbereich der Person enthalten ist und in einem dritten Teilbild Information über den Hintergrundbereich enthalten ist;FIG. 2 partial images of a digital image, the face region, the hair region and the background region of a person being shown in a first partial image, information about the hair region of the person being contained in a second partial image and information about the background region being contained in a third partial image;
Figur 3 ein Nachrichtenflussdiagramm, in dem der Austausch von elektronischen Nachrichten und die Verarbeitung der einzelnen elektronischen Nachrichten zur quasi-dreidimensionalen Darstellung einer Folge von digitalen Bildern dargestellt sind;FIG. 3 shows a message flow diagram in which the exchange of electronic messages and the processing of the individual electronic messages for the quasi-three-dimensional representation of a sequence of digital images are shown;
Figur 4 ein Nachrichtenflussdiagramm, in dem der Austausch elektronischer Nachrichten zwischen dem Server-Rechner und dem Client-Rechner zur Darstellung genau eines zweidimensionalen digitalen Bildes dargestellt sind; undFIG. 4 shows a message flow diagram in which the exchange of electronic messages between the server computer and the client computer is shown to display exactly one two-dimensional digital image; and
Figur 5 ein Nachrichtenflussdiagramm, in dem ein erfindungsgemäßer Cache- Mechanismus zur Verkürzung der Ladezeit von digitalen Bildern beschrieben ist.FIG. 5 shows a message flow diagram in which a cache mechanism according to the invention for shortening the loading time of digital images is described.
Fig.1 zeigt in einem Blockdiagramm 100 einen Server-Rechner 101 , welcher einen Prozessor 102, einen Speicher 103 sowie eine erste Eingangs- /Ausgangsschnittstelle 104 und eine zweite Eingangs-/Ausgangsschnittstelle 105 aufweist. Die einzelnen Komponenten des Server-Rechners 101 sind mittels eines Computerbusses 106 miteinander zum Austausch elektrischer Signale gekoppelt.1 shows in a block diagram 100 a server computer 101, which has a processor 102, a memory 103 and a first input / output interface 104 and a second input / output interface 105. The individual components of the server computer 101 are coupled to one another for the exchange of electrical signals by means of a computer bus 106.
Der Speicher 103 kann ein Festplattenspeicher, ein RAM-Speicher (ein flüchtiger oder ein nichtflüchtiger RAM-Speicher, beispielsweise ein DRAM-Speicher oder ein Flash-Speicher) und/oder ein ROM-Speicher (beispielsweise ein PROM, ein EPROM oder ein EEPROM) sein. Der Speicher 103 kann ferner mehrere Speicherkomponenten aufweisen. Vorzugsweise sind ein Festplattenspeicher, ein RAM-Speicher und ein ROM-Speicher als Speicherkomponenten des Speichers 103 vorgesehen.The memory 103 can be a hard disk memory, a RAM memory (a volatile or a non-volatile RAM memory, for example a DRAM memory or a flash memory) and / or a ROM memory (for example a PROM) EPROM or an EEPROM). The memory 103 can furthermore have a plurality of memory components. A hard disk memory, a RAM memory and a ROM memory are preferably provided as memory components of the memory 103.
Mittels der zweiten Eingangs-/Ausgangsschnittstelle 105 ist der Server-Rechner 101 mit einer ersten Datenbank 107 und einer zweiten Datenbank 108 gekoppelt.The server computer 101 is coupled to a first database 107 and a second database 108 by means of the second input / output interface 105.
In dem Speicher 103 ist in einem Speicherverzeichnis eine Vielzahl von digitalen Bildern gespeichert, anders ausgedrückt sind die digitalen Bilder in einer als Bilddatenbank eingerichteten Speicherverzeichnis-Struktur gespeichert.A large number of digital images are stored in the memory 103 in a memory directory, in other words the digital images are stored in a memory directory structure set up as an image database.
In diesem Zusammenhang ist anzumerken, dass unter einer Bilddatenbank erfindungsgemäß eine Verzeichnisstruktur in einem lokalen Speicher 103 des Server-Rechners 101 , in dem die digitalen Bilder gespeichert sind, zu verstehen ist oder eine zusätzliche Datenbank (nicht gezeigt), mit welcher der Server- Rechner 101 gekoppelt ist.In this connection it should be noted that an image database according to the invention is to be understood as a directory structure in a local memory 103 of the server computer 101 in which the digital images are stored or an additional database (not shown) with which the server computer 101 is coupled.
Mittels der ersten Eingangs-/Ausgangsschnittstelle 104 ist der Server-Rechner 101 , vorzugsweise über einen Firewall-Rechner (nicht gezeigt) und/oder über eine Internet-Proxy-Rechner (nicht gezeigt in Fig.1) mit einem öffentlichen Kommunikationsnetz 109 gekoppelt, welches auf dem TCP/IP- Kpmmunikationsprotokollstack zur Übertragung digitaler Daten basiert.The server computer 101 is coupled to a public communication network 109, preferably via a firewall computer (not shown) and / or via an internet proxy computer (not shown in FIG. 1), by means of the first input / output interface 104. which is based on the TCP / IP communication protocol stack for the transmission of digital data.
Mit dem im Folgenden auch als Internet bezeichneten Kommunikationsnetz 109 und damit mit dem Server-Rechner 101 gekoppelt sind eine Vielzahl von Client- Rechnern 110, wobei jeder Client-Rechner 110 eine Eingangs- /Ausgangsschnittstelle 111 , einen Prozessor 112 und einen Speicher 113 aufweist, welche mittels eines Computerbusses 114 miteinander gekoppelt sind.A large number of client computers 110 are coupled to the communication network 109, also referred to below as the Internet, and thus to the server computer 101, each client computer 110 having an input / output interface 111, a processor 112 and a memory 113, which are coupled to one another by means of a computer bus 114.
Jeder Client-Rechner 110 ist mit einer Bildanzeigeeinheit, beispielsweise einem Bildschirm, gekoppelt, auf der die digitalen Bilder, wie im Folgenden noch näher erläutert wird, dargestellt werden.Each client computer 110 is coupled to an image display unit, for example a screen, on which the digital images are shown, as will be explained in more detail below.
In dem Speicher 113 ist ein Browserprogramm, gemäß diesem Ausführungsbeispiel das Browserprogramm Internet Explorer Version 5.5 gespeichert, welches von dem jeweiligen Prozessor 112 ausgeführt wird. In dem Speicher 103 des Server-Rechners 101 ist ein Microsoft Internet Information Server Version 5.0 als World Wide Web-Browser-Serverprogramm gespeichert.A browser program, according to this exemplary embodiment the browser program Internet Explorer version 5.5, which is executed by the respective processor 112, is stored in the memory 113. A Microsoft Internet Information Server version 5.0 is stored in the memory 103 of the server computer 101 as a World Wide Web browser server program.
Ferner ist in dem Speicher des Server-Rechners 101 ein Internet Server Application Programming Interface (ISAPI) gespeichert, welche im Rahmen des Ausführungsbeispiels zur Bereitstellung unterschiedlicherFurthermore, an Internet Server Application Programming Interface (ISAPI) is stored in the memory of the server computer 101, which is used within the scope of the exemplary embodiment to provide different
Bildverarbeitungsfunktionen verwendet wird.Image processing functions is used.
Weiterhin ist das Computerprogramm ASP. Net in dem Speicher 103 des Server- Rechners 101 gespeichert zur Erzeugung eines in der jeweils verwendeten Beschreibungssprache codierten Datenstroms, gemäß diesemFurthermore, the computer program ASP. Net is stored in the memory 103 of the server computer 101 in order to generate a data stream coded in the description language used in accordance with this
Ausführungsbeispiel der Erfindung zur Erzeugung eines Hypertext Markup Language-Datenstroms (HTML-Datenstrom), wenn es von dem Prozessor 102 des Server-Rechner 101 ausgeführt wird.Embodiment of the invention for generating a hypertext markup language data stream (HTML data stream) when it is executed by the processor 102 of the server computer 101.
In der ersten Datenbank 110, welche als MySQL-Datenbank eingerichtet ist, sind folgende Informationen zu einem digitalen Bild gespeichert:The following information relating to a digital image is stored in the first database 110, which is set up as a MySQL database:
• eine Bildverweisangabe, mit der auf den physikalischen Speicherort des referenzierten digitalen Bildes in dem Speicher 103 des Server-Rechners 103, d.h. in der Bilddatenbank, verwiesen wird;An image reference with which the physical storage location of the referenced digital image in the memory 103 of the server computer 103, i.e. in the image database;
• eine Haarfarben-Angabe, mit der mit einer Haarfarbe aus einer Menge vorgegebener möglicher Haarfarben die Haarfarbe der in dem jeweiligen digitalen Bild dargestellten Person angegeben wird;• a hair color specification, with which the hair color of the person represented in the respective digital image is specified with a hair color from a set of predefined possible hair colors;
• eine Zählerangabe, mit der die Anzahl von Bildern der jeweiligen Person, d.h. eine Angabe, ob zu der jeweiligen Person genau ein digitales Bild in der Bilddatenbank gespeichert ist oder mehrere digitale Bilder, aufgenommen von unterschiedlichen Perspektiven;A counter specification with which the number of pictures of the respective person, i.e. an indication of whether exactly one digital image for the respective person is stored in the image database or several digital images taken from different perspectives;
• eine Angabe, ob das referenzierte digitale Bild aktiv ist oder nicht, d.h. ob es von einem Browserprogramm angezeigt werden darf oder nicht;An indication of whether the referenced digital image is active or not, i.e. whether it may be displayed by a browser program or not;
• Haarfarb-Colorationsprodukt-Angaben, welche insbesondere enthalten: • eine Colorationsprodukt-Identifikationsangabe, mit der das jeweilige Colorationsprodukt eindeutig identifizierbar ist; • eine Colorationsprodukt-Serien-Identifikationsangabe, mit der die Colorationsprodukt-Serie, der das jeweilige Colorationsprodukt zugeordnet ist, eindeutig identifizierbar ist; • eine Namensangabe zur eindeutigen namentlichen Bezeichnung des referenzierten Colorationsprodukts; • Aktivierungsangabe, mit der angegeben wird, ob das jeweils referenzierte Colorationsprodukt aktiviert ist, d.h. verwendet werden darf, oder nicht.• hair color coloring product information, which in particular contains: • a coloring product identification information with which the respective coloring product can be clearly identified; A coloration product series identification information with which the coloration product series to which the respective coloration product is assigned can be clearly identified; • a name for the unique name of the referenced coloring product; • Activation specification, which specifies whether the respectively referenced coloring product is activated, ie may or may not be used.
In der zweiten Datenbank 111 sind zu den jeweils angebotenen Produkten, gemäß diesem Ausführungsbeispiel zu Produkten von der Firma Henkel KGaA, diesen zugeordnete Farbinformationen gespeichert, insbesondere Farbinformationen darüber, wie Farb-Codierinformationen bei der Färbung eines jeweiligen Haar- Typs zu verändern ist, um zu einer möglichst realen darzustellenden Ziel- Haarfarbe zu gelangen.In the second database 111, color information associated with the products offered in each case, in accordance with this exemplary embodiment with products from the Henkel KGaA company, is stored, in particular color information about how color coding information is to be changed when coloring a particular hair type, in order to to achieve a target hair color that is as real as possible.
In diesem Zusammenhang wird gemäß diesem Ausführungsbeispiel der Erfindung unterschieden in folgende unterschiedliche Haarfarb-Typen: Extra Hellblond, Hellblond, Mittelblond, Dunkelblond, Hellbraun, Mittelbraun, Dunkelbraun, und Schwarz.In this connection, a distinction is made according to this exemplary embodiment of the invention into the following different hair color types: extra light blonde, light blonde, medium blonde, dark blonde, light brown, medium brown, dark brown, and black.
Die Farbinformation dient zur Transformation der Haarfarbe ausgehend von einer Ausgangs-Haarfarbe vor erfolgter Colorierung zu der Haarfarbe als Colorationsergebnis, wobei im Rahmen der Transformation insbesondere folgende Bildcodierungs-Informationen verwendet werden: Farbwert (Hue), Farbsättigung, Haarfarb-Transparenz, Haar-Flächigkeit, Kontrast, Haar-Glanzlichter.The color information is used to transform the hair color from an initial hair color before coloring to the hair color as the result of the coloration, the following image coding information in particular being used in the course of the transformation: color value (hue), color saturation, hair color transparency, flatness of hair, Contrast, hair highlights.
In dem Speicher 103, d.h. auf der Festplatte des Server-Rechners 101 , sind in einem Dateiverzeichnis als Bilddatenbank die digitalen, vorgefertigten digitalen Bilder, wie sie im Folgenden noch näher erläutert werden, gespeichert in der Größe 810 x 270 Bildpunkte, codiert als JPEG-Datei. In einer bevorzugten Ausführungsform der Erfindung ist das digitale Bild aufgebaut wie in Fig.2 dargestellt.In the memory 103, ie on the hard disk of the server computer 101, the digital, prefabricated digital images, as will be explained in more detail below, are stored in a file directory as an image database and are sized 810 x 270 pixels, coded as JPEG File. In a preferred embodiment of the invention, the digital image is structured as shown in FIG.
Das digitale Bild 200 weist drei Teilbilder 201 , 202, 203, (jeweils mit 270 x 270 Bildpunkten) realisiert als Teilbild-Felder, codiert jedoch als ein einziges digitales Bild, auf, wobei in einem ersten Teilbild 201 das Gesamtbild einer Person mit Schulterbereich 204, Gesichtsbereich 205, Haarbereich 206 und Hintergrundbereich 207 dargestellt ist.The digital image 200 has three partial images 201, 202, 203 (each with 270 x 270 pixels) realized as partial image fields, but coded as a single digital image, with the overall image of a person with shoulder area 204 in a first partial image 201 , Face area 205, hair area 206 and background area 207 is shown.
Das zweite Teilbild 202 weist eine gemäß dem Ausführungsbeispiel der Erfindung manuell zuvor erstellte Haarmaske 208 auf, welche den Bereich, in dem sich Haare der Person befinden, angibt.The second partial image 202 has a hair mask 208 which has been created manually beforehand in accordance with the exemplary embodiment of the invention and which specifies the region in which the person's hair is located.
Ein drittes Teilbild 203 des digitalen Bildes 200 weist eine Hintergrundmaske 209 auf, mit der der Hintergrundbereich des digitalen Bildes angegeben wird.A third partial image 203 of the digital image 200 has a background mask 209 with which the background area of the digital image is specified.
Das zweite Teilbild 202 und das dritte Teilbild 203 dienen zur späteren einfachen Berechnung von Farbtransformationen und zur Überblendung von einer dargestellten Person durch einen vorgebbaren veränderbaren Hintergrund.The second partial image 202 and the third partial image 203 are used for later simple calculation of color transformations and for blending a person represented by a predefinable changeable background.
Wie im Folgenden noch näher erläutert wird, ist es in einer alternativen Ausgestaltung der Erfindung ferner vorgesehen, durch einen Benutzer eines Client-Rechners 110 ein digitales Bild einer Person aufzunehmen und den Haarbereich und/oder den Hintergrundbereich manuell zu definieren und diese manuell erstellten Teilbilder in der Bilddatenbank abzuspeichern.As will be explained in more detail below, an alternative embodiment of the invention further provides for a digital image of a person to be taken by a user of a client computer 110 and for the hair region and / or the background region to be defined manually and these manually created partial images in FIG save the image database.
In Fig.3 ist in einem Nachrichtenflussdiagramm 300 der Nachrichtenaustausch zur Darstellung von digitalen Bildern zur quasi-dreidimensionalen Darstellung und Manipulation von Bildern zwischen dem Client-Computer 110 und dem Server- Computer 101 und einigen derer Komponenten, insbesondere der in dem Server- Rechner 101 installierten ISAPI und dem Speicher 103, dargestellt.3 shows a message flow diagram 300 of the message exchange for displaying digital images for quasi-three-dimensional representation and manipulation of images between the client computer 110 and the server computer 101 and some of their components, in particular that in the server computer 101 installed ISAPI and the memory 103.
Gibt der Benutzer 301 des Client-Rechners 110 eine Anforderung 302 auf die Start-Seite des von dem Web-Browser-Serverprogramms des Server-Rechners 101 bereitgestellten Bildverarbeitungssystem ein, so wird von dem Client-Rechner 110, eine erste HTTP-Anfragenachricht 303 (HTTP-Request) an den Server- Rechner 101 gesendet, mit der das Übertragen der Start-Seite des Bildverarbeitungssystems von dem Server-Rechner 101 an den Client-Rechner 110 angefordert wird.If the user 301 of the client computer 110 enters a request 302 on the start page of the image processing system provided by the web browser server program of the server computer 101, the client computer 110 sends a first HTTP request message 303 ( HTTP request) to the server computer 101, with which the transmission of the start page of the Image processing system is requested from the server computer 101 to the client computer 110.
In einer ersten HTTP-Antwortnachricht 304 (HTTP-Response) wird die Start-Seite des Bildverarbeitungssystem im HTML-Format an den Client-Rechner 110 übertragen und dort von dem Browserprogramm des Client-Rechners 110 dem Benutzer 301 dargestellt (Block 305).The start page of the image processing system is transmitted in HTML format to the client computer 110 in a first HTTP response message 304 (HTTP response) and is displayed there to the user 301 by the browser program of the client computer 110 (block 305).
Auf der Start-Seite ist dem Benutzer 301 eine Auswahlmöglichkeit gegeben dahingehend, ob der Benutzer 301 eine quasi-dimensionale Darstellung von digitalen Bildern einer Person wünscht oder die Bildverarbeitung einer zweidimensionalen Darstellung einer Person.On the start page, the user 301 is given a choice as to whether the user 301 wants a quasi-dimensional representation of digital images of a person or the image processing of a two-dimensional representation of a person.
Im Folgenden wird zunächst davon ausgegangen, dass der Benutzer 301 des Client-Rechners 110 eine quasi-dreidimensionale Darstellung von digitalen Bildern einer Person wünscht.In the following it is initially assumed that the user 301 of the client computer 110 wishes a quasi-three-dimensional representation of digital images of a person.
Eine entsprechende Auswahlinformation 306 wird von dem Benutzer in den Client- Rechner 110 eingegeben und von diesem in einer zweiten HTTP- Anforderungsnachricht 307 an den Server-Rechner 101 gesendet, woraufhin von dem Server-Rechner 101 die in der Bilddatenbank verfügbaren ersten Teilbilder 201 mit 270 x 270 Bildpunkten der digitalen Bilder 200 mit 810 x 270 Bildpunkte bestehenden Format herunterskaliert werden auf eine vorgegebene Kleinformat- Größe mit 76 x 76 Bildpunkten.Corresponding selection information 306 is entered by the user into the client computer 110 and is sent by the user in a second HTTP request message 307 to the server computer 101, whereupon the first partial images 201 with 270 available in the image database are sent from the server computer 101 x 270 pixels of the digital images 200 with 810 x 270 pixels existing format are scaled down to a predetermined small format size with 76 x 76 pixels.
Dies erfolgt dadurch, dass der Server-Rechner 101 der ISAPI 308 einen entsprechenden Befehl 309 übergibt, in dem die gewünschten digitalen Bilder angegeben sind, welche herunterskaliert werden sollen.This is done in that the server computer 101 transmits a corresponding command 309 to the ISAPI 308, in which the desired digital images are specified which are to be scaled down.
Die ISAPI greift auf die Bilddatenbank in dem Speicher 103 zu und liest von dort die in dem Befehl 308 angegebenen digitalen Bilder 311 mittels eines Lesebefehls 310 aus.The ISAPI accesses the image database in the memory 103 and reads from there the digital images 311 specified in the command 308 by means of a read command 310.
Anschließend skaliert die ISAPI 308 die eingelesenen digitalen Bilder 311 mit einem an sich bekannten Verfahren der digitalen Bildverarbeitung auf das Zielformat mit 76 x 76 Bildpunkte herunter und bildet herunterskalierte Kleinformatbilder 312, welche dem Server-Rechner 101 bereitgestellt werden. Die herunterskalierten Kleinformatbilder 312 werden von dem Server-Rechner 101 in einer zweiten HTTP-Antwortnach rieht 313 an den Client-Rechner 110 übertragen und dort mittels des Browserprogramms dem Benutzer 301 dargestellt (Block 314). Bei dem Client-Rechner 110 ist eine Auswahl eines der dargestellten Kleinformatbilder 312 durch den Benutzer 301 möglich.The ISAPI 308 then scales the read-in digital images 311 down to the target format with 76 x 76 pixels using a method of digital image processing known per se and forms scaled-down small format images 312 which are made available to the server computer 101. The scaled-down small format images 312 are transmitted from the server computer 101 in a second HTTP response message 313 to the client computer 110 and are displayed there to the user 301 by means of the browser program (block 314). In the client computer 110, one of the small format images 312 shown can be selected by the user 301.
Wählt der Benutzer nunmehr eines der dargestellten Kleinformatbilder 312 aus, welches er in quasi dreidimensionaler Darstellung betrachten möchte, so wird eine entsprechende Auswahlinformation 315 an den Client-Rechner 110 übergeben und von diesem an die ISAPI des Server-Rechners 101 in einer dritten HTTP- Anforderungsnachricht 316 übertragen.If the user now selects one of the small format images 312 shown, which he would like to view in a quasi-three-dimensional representation, corresponding selection information 315 is transferred to the client computer 110 and from there to the ISAPI of the server computer 101 in a third HTTP request message 316 transmitted.
Gemäß diesem Ausführungsbeispiel der Erfindung sind zur quasidreidimensionalen Darstellung der Bilder einer Person in der Bilddatenbank zu jeder Person 36 digitale Bilder, aufgenommen aus unterschiedlichen Perspektiven in der Bilddatenbank in dem Speicher 103 gespeichert.According to this exemplary embodiment of the invention, for the quasi-three-dimensional representation of the images of a person in the image database for each person 36 digital images, recorded from different perspectives in the image database, are stored in the memory 103.
Die 36 digitale Bilder wurden entlang der Körperachse aus jeweils 10° unterschiedlicher Perspektive aufgenommen derart, dass aus den 36 digitalen Bildern eine quasi-dreidimensionale Darstellung der Person ermöglicht ist.The 36 digital images were taken along the body axis from 10 ° different perspectives in such a way that a quasi-three-dimensional representation of the person is made possible from the 36 digital images.
Gemäß diesem Ausführungsbeispiel der Erfindung werden somit zu der ausgewählten Person die zuvor gespeicherten 36 digitalen Bilder 318 von der Festplatte mittels der ISAPI 308 mittels eines zweiten Lesebefehls 317 ausgelesen und über den Server 101 in einer dritten HTTP-Antwortnachricht 319 an den Client-Rechner 110 übertragen und dort in dessen Speicher 113 abgespeichert.According to this exemplary embodiment of the invention, the previously stored 36 digital images 318 for the selected person are read from the hard disk by means of the ISAPI 308 using a second read command 317 and transmitted to the client computer 110 in a third HTTP response message 319 via the server 101 and stored there in its memory 113.
In der zweiten HTTP-Antwortnachricht 304 ist die gesamte HTML-Struktur der auf dem Bildschirm des Client-Rechners 110 darzustellenden HTML-Seite enthalten, insbesondere eine Angabe über den vorgegebenen Bildschirmoberflächenbereich, in dem die digitalen Bilder 318 zu deren quasi-dreidimensionaler Darstellung dem Benutzer 301 dargestellt werden sollen.The second HTTP response message 304 contains the entire HTML structure of the HTML page to be displayed on the screen of the client computer 110, in particular an indication of the predefined screen surface area in which the digital images 318 are presented to the user for their quasi-three-dimensional representation 301 are to be displayed.
Gemäß diesem Ausführungsbeispiel der Erfindung sind alle Jscript- Steuerbefehlssequenzen in der zweiten HTTP-Antwortnachricht 304 enthalten und werden in dieser an den Client-Rechner 110 übertragen mit Ausnahme derjenigen, für welche im Folgenden beschrieben ist, dass sie in einer anderen HTTP- Nachricht von dem Browser-Serverprogramm des Server-Rechners 101 an den Client-Rechner 110 übertragen werden.According to this exemplary embodiment of the invention, all the Jscript control command sequences are contained in the second HTTP response message 304 and are transmitted therein to the client computer 110, with the exception of those for which it is described below that they are in another HTTP Message from the browser server program of the server computer 101 to the client computer 110 are transmitted.
Dies bedeutet anders ausgedrückt, dass auch schon der Bildschirmoberflächenbereich innerhalb der HTML-Seite bekannt ist, in dem die digitalen Bilder 318 nach erfolgtem Herunterladen von dem Server-Rechner 101 dargestellt werden sollen.In other words, the screen surface area within the HTML page is already known, in which the digital images 318 are to be displayed after the download from the server computer 101.
Während des Herunterladens der 36 digitalen Bilder 318 wird dem Benutzer 301 des Client-Rechners 110 auf dem Bildschirm in dem für die Anzeige der 36 digitalen Bilder 318 vorgesehenen Bildschirmoberflächenbereich mittels eines dynamischen Objektes, welches einen „Ladebalken" dargestellt, angezeigt, welcher anschaulich eine Ladezustandsanzeige bereitstellt, womit dem Benutzer quantitativ angezeigt wird, wie weit der Ladevorgang der 36 digitalen Bilder 318 von dem Server-Rechner 101 zu dem Client-Rechner 110 fortgeschritten ist.During the downloading of the 36 digital images 318, the user 301 of the client computer 110 is displayed on the screen in the screen surface area provided for the display of the 36 digital images 318 by means of a dynamic object, which represents a “loading bar”, which clearly shows a charging status indicator provides the user with a quantitative indication of how far the loading process of the 36 digital images 318 has progressed from the server computer 101 to the client computer 110.
Die Darstellung des Ladebalkens ist erfindungsgemäß gemäß der Interpretersprache Jscript realisiert, wobei die Jscript-Befehlssequenz in der zweiten HTTP-Antwortnachricht 304 als zusätzliche Steuerinformation von dem Server-Rechner 101 an den Client-Rechner 110 übertragen wird.The representation of the loading bar is realized according to the interpreter language Jscript, the Jscript command sequence being transmitted in the second HTTP response message 304 as additional control information from the server computer 101 to the client computer 110.
Sind alle 36 digitalen Bilder 318 zur quasi-dreidimensionalen Darstellung der Person in dem Client-Rechner 110 gespeichert, so erfolgt automatisch das Starten einer Quasi-Rotationsdarstellung der geladenen digitalen Bilder 318 in dem dafür vorgesehenen Bildbereich Bildschirmoberflächenbereich der HTML-Seite mittels des Browserprogramms (Block 320).If all 36 digital images 318 for the quasi-three-dimensional representation of the person are stored in the client computer 110, a quasi-rotation representation of the loaded digital images 318 is automatically started in the image area provided for this purpose on the screen surface area of the HTML page using the browser program (block 320).
Dies erfolgt erfindungsgemäß dadurch, dass in einem vorgebbaren Zeitintervall nacheinander alle 36 digitalen Bilder in geeigneter Reihenfolge (Perspektive des aufgenommen Bildes von 0° sukzessive wachsend um 10° von 0° bis 360°) in dem dafür vorgesehenen Bildbereich dem Benutzer 301 dargestellt werden, wodurch der Eindruck einer sich um die eigene Körperachse drehenden Person erweckt wird.This is done according to the invention in that all 36 digital images are displayed in a suitable sequence (perspective of the captured image from 0 ° successively increasing by 10 ° from 0 ° to 360 °) in the image area provided for this purpose to the user 301 in a predeterminable time interval, as a result of which the impression of a person rotating around their own body axis is created.
Die Geschwindigkeit der Quasi-Rotation, anders ausgedrückt, das Zeitintervall zwischen der Darstellung zweier zeitlich aufeinander folgender digitaler Bilder, welche jeweils in einer Perspektive aufgenommen worden ist, welche sich um 10° unterscheidet, kann von dem Benutzer 301 mittels eines in der HTML-Seite dem Benutzer 301 zur Auswahl dargestellten Auswahlelements, beispielsweise ausgestaltet als Schieberegler, verändert werden.The speed of the quasi-rotation, in other words, the time interval between the display of two temporally successive digital images, which were each taken in a perspective that differs by 10 °, can be determined by the user 301 by means of one in the HTML page the User 301 for selection element shown for selection, for example designed as a slider, can be changed.
Die Realisierung dieser Funktion erfolgt erfindungsgemäß ebenfalls unter Verwendung einer in Jscript formulierten Befehlssequenz.According to the invention, this function is also implemented using a command sequence formulated in Jscript.
Es ist in diesem Zusammenhang darauf hinzuweisen, dass sowohl die Berechnung und Darstellung des Ladebalkens als auch das zeitlich aufeinanderfolgende Darstellen der Vielzahl digitaler Bilder einer Person zur Quasi-Rotation ausschließlich clientseitig durchgeführt wird.In this context, it should be pointed out that both the calculation and display of the loading bar and the chronologically successive display of the large number of digital images of a person for quasi-rotation are carried out exclusively on the client side.
Anders ausgedrückt, nach erfolgtem Laden der 36 digitalen Bilder 318 ist zur Quasi-Rotationsdarstellung keine Kommunikationsverbindung mehr zwischen dem Client-Rechner 110 und dem Server-Rechner 101 erforderlich.In other words, after the 36 digital images 318 have been loaded, a communication connection between the client computer 110 and the server computer 101 is no longer required for the quasi-rotation display.
Ferner ist dem Benutzer 301 gemäß dem Ausführungsbeispiel der Erfindung die Möglichkeit gegeben, die Haarfarbe, d.h. die Farbe der sich in dem Haarfarbbereich befindlichen Bildpunkte gemäß einer vorgegebenen Farbtafel, welche in der zweiten Datenbank 108 gespeichert ist, zu verändern.Furthermore, according to the exemplary embodiment of the invention, the user 301 is given the opportunity to change the hair color, i.e. to change the color of the pixels located in the hair color area in accordance with a predetermined color table which is stored in the second database 108.
Wählt der Benutzer 301 diese Option aus, so sendet der Client-Rechner 110 nach erfolgter Anweisung 321 durch den Benutzer 320 eine vierte HTTP- Anforderungsnachricht 322, in der von dem Server-Rechner 101 das Übermitteln einer Farbtafel und einer Auswahl von unterschiedlichen auswählbaren Hintergrundbildern angefordert wird.If the user 301 selects this option, the client computer 110 sends a fourth HTTP request message 322 after the instruction 321 from the user 320, in which the server computer 101 requests the transmission of a color table and a selection of different selectable background images becomes.
In der Farbtafel ist zu einer jeweiligen Ausgangs-Haarfarbe eine Menge von gemäß dem angebotenen Colorierungsprodukten vorgesehener Ziel-Farben enthalten. Die Angabe der Haarfarbe der ausgewählten Person ist in der ersten Datenbank 110 gespeichert, wie oben beschrieben wurde.The color chart contains a quantity of target colors provided for the respective starting hair color in accordance with the coloring products offered. The indication of the hair color of the selected person is stored in the first database 110, as described above.
Die jeweilige Farbtafel ist für eine jeweilige Grund-Haarfarbe in der zweiten Datenbank 108 gespeichert.The respective color table is stored in the second database 108 for a respective basic hair color.
Der Server-Rechner 101 liest aus der zweiten Datenbank 108 die Farbtafel und eine ebenfalls dort gespeicherte Menge unterschiedlicher vorgegebener Hintergrundbilder aus und sendet diese in einer vierten HTTP-Antwortnachricht 323 an den Client-Rechner 130, welcher mittels des Browserprogramms die Farbtafel und die unterschiedlichen Hintergrundbilder dem Benutzer in der HTML- Seite darstellt (Block 324).The server computer 101 reads the color table and a set of different predefined background images, which are also stored there, from the second database 108 and sends them in a fourth HTTP response message 323 to the client computer 130, which uses the browser program to transmit the Color table and the different background images to the user in the HTML page (block 324).
Nach Auswahl eines Hintergrundbildes und/oder einer Ziel-Farbe, in welche der Benutzer die Haarfarbe der Person ändern möchte, wird die Auswahlinformation 325 in den Client-Computer 110 eingegeben und von diesem an den Server- Rechner 101 in einer Farbänderungs-Anfragenachricht 326 übertragen, welche von dem Server-Rechner 101 an die ISAPI 308 weitergegeben wird.After selection of a background image and / or a target color into which the user would like to change the person's hair color, the selection information 325 is entered into the client computer 110 and transmitted from there to the server computer 101 in a color change request message 326 , which is forwarded from the server computer 101 to the ISAPI 308.
Von der ISAPI 308 wird unter Verwendung der in der zweiten Datenbank 108 gespeicherten Farbinformation und der in der ersten Datenbank 107 gespeicherten Farbinformation über die Grund-Haarfarbe der Person die sich ergebende darzustellende Haarfarbe berechnet mittels eines an sich bekannten Verfahrens der digitalen Bildverarbeitung und entsprechend werden den Bildpunkten des Haarbereichs, welcher durch die Haarmaske 208 in dem jeweiligen zweiten Teilbild 202 gegeben ist, die entsprechenden Farbwerte zugeordnet.The ISAPI 308 calculates the resulting hair color to be displayed using the color information stored in the second database 108 and the color information stored in the first database 107 about the basic hair color of the person by means of a method of digital image processing known per se and correspondingly The corresponding color values are assigned to pixels of the hair area, which is given by the hair mask 208 in the respective second partial image 202.
Die Farbwerte der Bildpunkte in dem Haarbereich 206, wie er durch die Haarmaske 208 definiert ist werden somit transformiert. Ferner wird gegebenenfalls bei erfolgter Auswahl eines spezifischen Hintergrundbildes der Hintergrundbereich 207, wie er durch die Hintergrundmaske 209 definiert ist, durch das ausgewählte gespeicherte Hintergrundbild ersetzt.The color values of the pixels in the hair area 206, as defined by the hair mask 208, are thus transformed. Furthermore, if a specific background image has been selected, the background area 207, as defined by the background mask 209, is replaced by the selected stored background image.
Die auf diese Weise von der ISAPI 308 jeweils gebildeten 36 veränderten Bilder 327 werden in einer Verändert-Bild-Nachricht 328 von dem Server-Rechner 101 an den Client-Rechner 110 übertragen und dort von dem Browserprogramm in dem vorgegebenen Bildschirmoberflächenbereich als veränderte Bilder 327 dargestellt an Stelle der ursprünglichen 36 digitalen Bilder (Block 329).The 36 changed images 327 formed in this way by the ISAPI 308 are transmitted in a changed image message 328 from the server computer 101 to the client computer 110 and are displayed there by the browser program in the predetermined screen surface area as changed images 327 in place of the original 36 digital images (block 329).
Dies geschieht gemäß diesem Ausführungsbeispiel für alle 36 Bilder 318 der ausgewählten Person.According to this exemplary embodiment, this happens for all 36 images 318 of the selected person.
Der Benutzer 301 kann mittels ihm von auf der HTML-Seite dargestellter dynamischer Auswahlobjekte die dargestellten Bilder lokal in dem Speicher 113 des Client-Rechners 110 speichern, kann die Bilder in einer elektronischen Nachricht an andere Rechner weiterversenden oder die Bilder in einem Nutzer- Profil lokal oder in dem Server-Rechner 101 abspeichern. Damit ist die quasi-dreidimensionale Bildverarbeitung beendet.The user 301 can store the displayed images locally in the memory 113 of the client computer 110 by means of dynamic selection objects displayed on the HTML page, can forward the images in an electronic message to other computers or the images locally in a user profile or store in the server computer 101. This ends quasi-three-dimensional image processing.
Wählt der Benutzer 301 auf der Start-Seite die Option aus, nur ein zweidimensionales JPEG-komprimiertes digitales Bild dargestellt zu bekommen und verändern zu können, so wird nach Erhalt der oben beschriebenen Start-Seite die entsprechende Auswahlinformation 401 von dem Benutzer 301 in den Client- Rechner 110 eingegeben und von diesem mittels des Browserprogramms in einer in Fig.4 in einem zweiten Nachrichtenflussdiagramm 400 dargestellten 2D- Auswahlnachricht 402 an den Server-Rechner 101 übertragen.If the user 301 selects the option on the start page of being able to display and change only a two-dimensional JPEG-compressed digital image, the corresponding selection information 401 is received by the user 301 in the client after receipt of the start page described above - Computer 110 entered and transmitted by the browser program in a 2D selection message 402 shown in FIG. 4 in a second message flow diagram 400 to the server computer 101.
Von dem Server-Rechner 101 wird in Antwort auf Erhalt der 2D- Anforderungsnachricht 402 eine 2D-Auswahl-Start-Seite in einer HTTP-Nachricht 403 an den Client-Rechner 110 übermittelt und dort dem Benutzer 301 dargestellt (Block 404).In response to receipt of the 2D request message 402, the server computer 101 transmits a 2D selection start page in an HTTP message 403 to the client computer 110 and displays it there to the user 301 (block 404).
In der 2D-AuswahI-Start-Seite wird dem Benutzer 301 des Client-Rechners 110 eine Auswahl von drei unterschiedlichen Bildquellen zur Auswahl dargestellt:In the 2D selection start page, the user 301 of the client computer 110 is shown a selection from three different image sources for selection:
• ein vorgegebenes digitales Bild eines Modells, welches in der Bilddatenbank des Server-Rechners 101 gespeichert ist;A predetermined digital image of a model, which is stored in the image database of the server computer 101;
• ein benutzerdefinierbares, neu in die Bilddatenbank des Server-Rechners 101 einspeicherbares digitales Bild; oderA user-definable digital image that can be newly stored in the image database of the server computer 101; or
• ein in einem Benutzerprofil gespeichertes digitales Bild.A digital image stored in a user profile.
Bei Auswahl eines vorgegebenen digitalen Bildes eines Modells wird prinzipiell der oben beschriebene Ablauf zur Darstellung einer Vielzahl digitaler Bilder einer Person durchgeführt mit dem Unterschied, dass anstelle der 36 vorgegebenen und in der Bilddatenbank gespeicherten digitalen Bilder nur ein digitales Bild aus der Bilddatenbank ausgelesen und an den Client-Rechner 110 übermittelt wird. Für die restlichen Optionen und Prozesse wird auf die obige Beschreibung verwiesen.When a predefined digital image of a model is selected, the above-described procedure for displaying a large number of digital images of a person is carried out, with the difference that instead of the 36 predefined and stored digital images in the image database, only one digital image is read from the image database and sent to the Client computer 110 is transmitted. For the remaining options and processes, reference is made to the description above.
Entsprechendes gilt für die Auswahl eines digitalen Bildes aus dem Benutzerprofil, wobei in diesem Fall der Server-Rechner 101 oder der Client-Rechner 110 das gewünschte digitale Bild aus dem Benutzerprofil des Benutzers 301 des Client- Rechners 110 ausliest und dem Benutzer 301 zur Verfügung stellt, wie oben beschrieben. Im Folgenden wird aus Gründen der einfacheren Erläuterung nur noch das Einspeichern eines benutzerdefinierbaren digitalen Bildes näher beschrieben.The same applies to the selection of a digital image from the user profile, in which case the server computer 101 or the client computer 110 reads out the desired digital image from the user profile of the user 301 of the client computer 110 and makes it available to the user 301 , as described above. For reasons of simpler explanation, only the storage of a user-definable digital image is described in more detail below.
Wählt der Benutzer 301 diese Bildquelle aus, so wird mittels einer in der HTML- Seite enthaltenen und von dem Server-Rechner 101 in der HTTP-Nachricht 403 an den Client-Rechner 110 übertragenen in Jscript formulierten Befehlssequenz eine Datei-Speicherpfad-Such-Bildschirmoberfläche dargestellt, mittels der in an sich bekannter Weise (analog zu einem üblichen Datei-Auswahl- Bildschirmoberfläche wie beispielsweise bei Winword zum Durchsuchen eines Verzeichnisses und zum Speichern einer Datei in dem Verzeichnis) durch Anklicken mittels einer Computermaus eine beliebige Dateistruktur innerhalb eines oder mehrerer Speicher, mit dem der Client-Rechner 130 gekoppelt ist, durchsuchbar ist.If the user 301 selects this image source, a file storage path search screen surface is created by means of a command sequence contained in the HTML page and transmitted from the server computer 101 in the HTTP message 403 to the client computer 110 in Jscript represented, by means of the known manner (analogous to a usual file selection screen surface such as for example in Winword for searching a directory and for storing a file in the directory) by clicking on any file structure within one or more memories using a computer mouse, with which the client computer 130 is coupled, is searchable.
Ist die Bilddatei, welche das auszuwählende digitale Bild enthält, von dem Benutzer 301 ausgewählt (Block 405), so wird von dem Browserprogramm unmittelbar überprüft, ob das ausgewählte Bild mittels des Browserprogramms darstellbar ist, anders ausgedrückt, ob es in einem zulässigen Bildformat vorliegt.If the image file which contains the digital image to be selected is selected by the user 301 (block 405), the browser program immediately checks whether the selected image can be displayed by the browser program, in other words whether it is in an acceptable image format.
Ist dies der Fall, so wird von dem Browserprogramm mittels einer zusätzlichen, ebenfalls in der HTTP-Nachricht 403 an den Client-Rechner 110 übertragenen Jscript-Prozedur (d.h. Jscript-Befehlssequenz) ferner überprüft, wie groß das digitale Bild ist, d.h. wie viele Bildpunkte es enthält.If this is the case, the browser program also uses an additional Jscript procedure (i.e., Jscript command sequence), which is also transmitted in the HTTP message 403 to the client computer 110, to check how large the digital image, i.e. how many pixels it contains.
Ist das darzustellende digitale Bild zu hoch oder zu breit, so wird clientseitig eine entsprechende Skalierung auf die geforderte Bildgröße von 270 x 270 Bildpunkte vorgenommen, wobei das Skalieren erfolgt durch einfaches Weglassen von zu vielen in dem Ursprungsbild vorhandenen Bildpunkten.If the digital image to be displayed is too high or too wide, a corresponding scaling to the required image size of 270 x 270 pixels is carried out on the client side, the scaling being carried out by simply omitting too many pixels present in the original image.
Es ist in diesem Zusammenhang anzumerken, dass eine aufwendige digitale Bildverarbeitung clientseitig nicht vorgenommen wird.In this context, it should be noted that complex digital image processing is not carried out on the client side.
Ist das darzustellende digitale Bild auf die verarbeitbare Zielgröße von 270 x 270 Bildpunkte clientseitig skaliert, so wird dieses digitale Bild mit der korrekten Zielgröße in einer Neue-Bild-HTTP-Nachricht 406 an den Server-Rechner 101 übertragen und dort in der Bilddatenbank gespeichert. Es ist in diesem Zusammenhang anzumerken, dass eine manuelle Anpassung des digitalen Bildes in der Höhe und Breite und in der Position bezogen auf den Bildbereich innerhalb der HTML-Seite, in dem das darzustellende Bild schließlich dargestellt wird, ebenfalls optional vorgesehen ist.If the digital image to be displayed is scaled to the processable target size of 270 x 270 pixels on the client side, this digital image with the correct target size is transmitted in a new image HTTP message 406 to the server computer 101 and stored there in the image database. In this context, it should be noted that manual adjustment of the digital image in height and width and in position relative to the image area within the HTML page in which the image to be displayed is finally displayed is also optionally provided.
Es ist darauf hinzuweisen, dass auch diese manuelle Skalierung ausschließlich durch einfaches Weglassen oder Hinzufügen von Bildpunkten mit interpolierter Bildpunktinformation zwischen den schon vorhandenen Bildpunkten durchgeführt wird, so dass in dem Client-Rechner 110 keine rechenaufwendigen Algorithmen der digitalen Bildverarbeitung implementiert sind.It should be pointed out that this manual scaling is also carried out exclusively by simply omitting or adding pixels with interpolated pixel information between the already existing pixels, so that no computationally complex algorithms for digital image processing are implemented in the client computer 110.
Ferner ist dem Benutzer für das neu in der Bilddatenbank eingespeicherte digitale Bild ermöglicht, die Helligkeit und/oder den Kontrast der Bildpunkte zu verändern. Dies erfolgt dadurch, dass mittels eines dem Benutzer 301 auf der Bildschirmoberfläche mittels des Browserprogramms dargestellten Schiebereglers eine entsprechende Veränderungsinformation 407, welche den Grad der Veränderung ausgehend von dem bestehenden Helligkeitsgrad bzw. Kontrastgrad bestimmt in den Client-Rechner 110 eingegeben und von diesem in einer HTTP- Veränderungsinformations-Nachricht 408 an den Server-Rechner 101 übermittelt wird.Furthermore, the user is able to change the brightness and / or the contrast of the image points for the digital image newly stored in the image database. This is done in that by means of a slider represented on the screen surface by means of the browser program of the user 301 corresponding change information 407, which determines the degree of change based on the existing degree of brightness or degree of contrast, is entered into the client computer 110 and from there in an HTTP - Change information message 408 is transmitted to the server computer 101.
Von dem Server-Rechner 101 wird diese Information an die ISAPI 308 weitergegeben, von welcher eine entsprechende Bildverarbeitung, d.h.This information is forwarded from the server computer 101 to the ISAPI 308, from which a corresponding image processing, i.e.
Kontraständerung und Helligkeitsänderung in dem neu eingespeicherten Bild durchgeführt, d.h. berechnet wird.Contrast change and brightness change in the newly stored image, i.e. is calculated.
Das in seinem Kontrast und seiner Helligkeit veränderte Bild 409 wird von der ISAPI 308 mittels des Server-Rechners 101 an den Client-Rechner 110 übertragen in einer HTTP-Veränderungs-Anwortnachricht 410 und mittels des Browserprogramms in dem vorgegebenen Bildschirmoberflächenbereich in der HTML-Seite dem Benutzer 301 dargestellt (Block 411 ).The image 409, which has changed in contrast and brightness, is transmitted from the ISAPI 308 by means of the server computer 101 to the client computer 110 in an HTTP change response message 410 and by means of the browser program in the predetermined screen surface area in the HTML page User 301 represented (block 411).
Ferner ist es dem Benutzer 301 gemäß diesem Ausführungsbeispiel ermöglicht, das benutzerdefinierte, in dem in dem vorgegebenenFurthermore, according to this exemplary embodiment, the user 301 is able to carry out the user-defined in the given
Bildschirmoberflächenbereich der HTML-Seite dargestellten digitalen Bild einen Haarbereich mittels folgenden Verfahrens durch den Benutzer manuell auf sehr einfache Weise zu definieren. In diesem Zusammenhang wird die Vektor Markup Language (VML), welche in dem Browserprogramm Internet Explorer Version 5.5 integriert ist, verwendet, um Bildpunktkoordinaten, welche mittels einer Computermaus durch den Benutzer in dem digitalem Bild angegeben werden durch Anklicken einer vorgegebenen ersten Maustaste (vorzugsweise linke Maustaste), als Polygon-Randbildpunkte des Haarbereichs interpretiert werden, auszuwählen und in den Client-Computer 101 einzugeben (Block 412). Diese ausgewählten Bildpunkte 412 bzw. deren Bildpunktkoordinaten werden von dem Client-Computer 110 in einem VML- Bildpunktarray gespeichert.Screen surface area of the HTML page represented digital image to define a hair area manually in a very simple manner by the user using the following method. In this context, the vector markup language (VML), which is integrated in the browser program Internet Explorer version 5.5, is used to determine pixel coordinates, which are specified in the digital image by the user by means of a computer mouse, by clicking on a predetermined first mouse button (preferably left mouse button Mouse button), are interpreted as polygon edge pixels of the hair area, and entered into the client computer 101 (block 412). These selected pixels 412 or their pixel coordinates are stored by the client computer 110 in a VML pixel array.
Sind alle Bildpunkte, welche den Haarbereich definieren sollen, von dem Benutzer 301 ausgewählt und die zugehörigen Bildpunktkoordinaten in dem Bildpunktarray gespeichert, so wird mittels der VML durch Verbinden der einzelnen Bildpunkte durch Geraden ein Polygon gebildet, welches den Haarbereich bestimmt.If all the pixels which are to define the hair area are selected by the user 301 and the associated pixel coordinates are stored in the pixel array, a polygon is formed by means of the VML by connecting the individual pixels by straight lines, which determines the hair area.
Es ist in diesem Zusammenhang anzumerken, dass grundsätzlich beliebig viele Bildpunkte von dem Benutzer 301 ausgewählt werden können durch einfaches Anklicken eines Bildpunktes in dem jeweiligen digitalen Bild.In this context, it should be noted that basically any number of pixels can be selected by the user 301 by simply clicking on a pixel in the respective digital image.
Durch Anklicken eines schon ausgewählten Bildpunktes mit einer vorgegebenen zweiten Maustaste (vorzugsweise rechte Maustaste) kann ein ausgewählter Bildpunkt auch wieder entfernt werden. In diesem Fall werden die diesem Bildpunkt zugeordneten Bildpunktkoordinaten aus dem Bildpunktarray gelöscht.A selected pixel can also be removed by clicking on an already selected pixel with a predefined second mouse button (preferably the right mouse button). In this case, the pixel coordinates assigned to this pixel are deleted from the pixel array.
Die Auswahl kann solange erfolgen, bis der Benutzer entweder angibt, dass er die Definition des Haarbereichs abgeschlossen hat oder indem der Benutzer auf einen schon zuvor ausgewählten Bildpunkt mit der ersten Maustaste klickt. Das Auswählen eines schon zuvor, vorzugsweise zuerst ausgewählten Bildpunktes wird von dem Browserprogramm als Abbruchbefehl interpretiert und es erfolgt automatische die oben beschriebene Polygonbildung.The selection can be made until the user either indicates that he has completed the definition of the hair area or by the user clicking on a previously selected pixel with the first mouse button. The selection of an image point which has already been selected, preferably first, is interpreted by the browser program as a termination command and the polygon formation described above is carried out automatically.
Damit ist die Haarmaske manuell gebildet worden und die Haarmaske wird als Bildpunktkoordinaten-Menge, welche in dem Bildpunktarray gespeichert ist, in einer Bildpunktkoordinaten-HTTP-Nachricht 413 an den Server-Rechner 101 übermittelt, welcher diese Information an die ISAPI 308 übergibt, die wiederum unter Verwendung der Haarmaske ein dem digitalen Bild zugeordnetes Haarmaskenbild erzeugt und abspeichert (Block 414). Es ist optional vorgesehen, dass der Benutzer 301 auf gleiche Weise den Hintergrund des digitalen Bildes definieren kann. In diesem Fall wird die gebildete Hintergrund-Bildpunktkoordinaten-Menge von dem Client-Rechner 110 an den Server-Rechner 101 übertragen. Die ISAPI 308 bildet in diesem Fall unter Verwendung der Hintergrundmaske (definiert durch die Hintergrund- Bildpunktkoordinaten-Menge) ein dem digitalen Bild zugeordnetes Hintergrundmaskenbild und speichert dieses in der Bilddatenbank ab (nicht gezeigt).The hair mask has thus been formed manually and the hair mask is transmitted as a pixel coordinate set, which is stored in the pixel array, in a pixel coordinate HTTP message 413 to the server computer 101, which transfers this information to the ISAPI 308, which in turn generates and stores a hair mask image associated with the digital image using the hair mask (block 414). It is optionally provided that the user 301 can define the background of the digital image in the same way. In this case, the background pixel coordinate set formed is transmitted from the client computer 110 to the server computer 101. In this case, the ISAPI 308 forms a background mask image associated with the digital image using the background mask (defined by the background pixel coordinate quantity) and stores this in the image database (not shown).
Ferner ist gemäß diesem Ausführungsbeispiel der Erfindung vorgesehen, dass für das neu einzuspeichernde Bild der Benutzer Haar-charakterisierende Zusatzinformationen auswählt, beispielsweise die Haarfarbe (Hellblond, Mittelblond, Dunkelblond, Hellbraun, Mittelbraun, Dunkelbraun oder Schwarz), die Haarlänge (kurz, mittellarig oder lang) und/oder die Beschaffenheit der Haare, d.h. beispielsweise, ob es sich um kräftiges oder feines Haar handelt.Furthermore, according to this exemplary embodiment of the invention, the user selects additional information that characterizes hair for the image to be stored, for example the hair color (light blonde, medium blonde, dark blonde, light brown, medium brown, dark brown or black), the hair length (short, medium or long ) and / or the nature of the hair, ie for example whether it is thick or fine hair.
Die Zusatzinformation wird nach erfolgter Auswahl ebenfalls von dem Client- Rechner 110 an den Server-Rechner 101 übertragen und dort in einem dem jeweiligen Bild zugeordneten Bilddatensatz in der ersten Datenbank 107 gespeichert (nicht dargestellt).After the selection has been made, the additional information is also transmitted from the client computer 110 to the server computer 101 and stored there in an image data record associated with the respective image in the first database 107 (not shown).
Die gespeicherten neu hinzugefügten digitalen Bilder sind nunmehr in gleicher Weise verarbeitbar wie die zuvor in der Bilddatenbank eingespeicherten vorgegebenen digitalen Bilder.The stored newly added digital images can now be processed in the same way as the predetermined digital images previously stored in the image database.
Ferner ist gemäß diesem Ausführungsbeispiel der Erfindung vorgesehen, dass in einer zusätzlichen Datenbank eine Mehrzahl auswählbarer, vorgegebener Frisuren-Objekte, welche Bilder unterschiedlicher Frisuren repräsentieren, zur Auswahl gespeichert sind, wobei die Menge auswählbarer Frisuren-Objekte an den Client-Rechner 110 übertragen werden und dort in einer HTML-Seite dem Benutzer 301 dargestellt werden.Furthermore, according to this exemplary embodiment of the invention it is provided that a plurality of selectable, predefined hairstyle objects, which represent images of different hairstyles, are stored for selection in an additional database, the number of selectable hairstyle objects being transmitted to the client computer 110 and are shown there to the user 301 in an HTML page.
Wählt der Benutzer 301 eines der vorgegebenen Frisuren-Objekte aus, so kann er dieses als zusätzliches Bildobjekt in dem vorgegebenen Bildschirmoberflächenbereich dem dargestellten digitalen Bild überlagern, womit es ermöglicht wird, eine neue Frisur der dargestellten Person in dem zuvor ausgewählten, neu einzuspeichernden Bild zu überlagern und somit dem Benutzer 301 darstellen. Ferner ist es für die Frisuren-Objekte vorgesehen, dass diese in ihrer Größe frei skalierbar sind und positionierbar sind, wobei diese Funktionen ebenfalls mittels Jscript realisiert sind und dem Client-Rechner 110 in der zweiten HTTP- Antwortnachricht 304 oder in einer anderen HTTP-Nachricht übertragen worden ist.If the user 301 selects one of the predefined hairstyle objects, he can superimpose this as an additional image object in the predefined screen surface area on the displayed digital image, which makes it possible to overlay a new hairstyle of the depicted person in the previously selected image to be newly stored and thus represent the user 301. Furthermore, it is provided for the hairstyle objects that they are freely scalable and positionable in size, these functions also being implemented by means of Jscript and to the client computer 110 in the second HTTP response message 304 or in another HTTP message has been transferred.
Die Frisuren-Objekte können in ihrer Farbe ebenso gemäß der jeweilige Farbtafel wählbar verändert werden.The hairstyle objects can also be changed in color according to the respective color chart.
Die oben beschriebenen Verfahren zur Überlagerung der Frisuren-Objekte bzw. zur Veränderung der Größe, Position und Farbe der Frisuren-Objekte bezüglich des in der HTML-Seite des Client-Rechners 110 dargestellten digitalen Bildes ist in entsprechender Weise für die zuvor in der Bilddatenbank eingespeicherten vorgegebenen digitalen Bilder mit vorgegebenen Personen oder auch für die digitalen Bilder aus dem Benutzerprofil vorgesehen.The method described above for superimposing the hairstyle objects or for changing the size, position and color of the hairstyle objects with respect to the digital image shown in the HTML page of the client computer 110 is correspondingly for those previously stored in the image database predefined digital images with predefined persons or also provided for the digital images from the user profile.
Auch gemäß diesem Ausführungsbeispiel der Erfindung ist es vorgesehen, dass die digitalen 2D-Bilder gespeichert, per E-Mail versendet oder gedruckt werden.According to this exemplary embodiment of the invention, it is also provided that the digital 2D images are stored, sent by email or printed.
Fig.5 zeigt in einem dritten Nachrichtenflussdiagramm 500 einen Cache- Mechanismus, wie er gemäß einem Ausführungsbeispiel der Erfindung vorgesehen ist.5 shows in a third message flow diagram 500 a cache mechanism, as is provided according to an embodiment of the invention.
Gemäß dieser Ausführungsform der Erfindung ist es vorgesehen, dass der Client- Rechner 110 mit einem Internet-Proxy-Rechner 501 gekoppelt ist und darüber mit dem Server-Rechner 101.According to this embodiment of the invention, it is provided that the client computer 110 is coupled to an Internet proxy computer 501 and, via this, to the server computer 101.
Gibt der Benutzer 301 eine Anfrage 502 nach einem digitalen Bild in den Client- Rechner 110 ein, so überprüft der Client-Rechner 110, ob das von dem Benutzer 301 angeforderte digitale Bild in dem Speicher 113 des Client-Rechners 110 gespeichert ist.If the user 301 enters a request 502 for a digital image into the client computer 110, the client computer 110 checks whether the digital image requested by the user 301 is stored in the memory 113 of the client computer 110.
Ist dies der Fall, so wird dem Benutzer 301 unmittelbar das angeforderte Bild 503 dargestellt.If this is the case, the requested image 503 is immediately displayed to the user 301.
Ist dies nicht der Fall, so sendet der Client-Rechner 110 eine Anfrage-Nachricht 504 mit der Angabe des angeforderten Bildes an den Internet-Proxy-Rechner 501 , welcher seinerseits überprüft, ob das angeforderte digitale Bild in seinem Speicher gespeichert ist.If this is not the case, the client computer 110 sends a request message 504 stating the requested image to the Internet proxy computer 501, which in turn checks whether the requested digital image is stored in its memory.
Ist dies der Fall, so wird, ohne eine Nachricht an den Server-Rechner 101 weiterzusenden, unmittelbar eine Antwort-Nachricht 505 mit dem angeforderten digitalen Bild an den Client-Rechner 130 übermittelt, von diesem in dessen Speicher 113 gespeichert und anschließend wird das angeforderte digitale Bild dem Benutzer 301 dargestellt (Block 506).If this is the case, without sending a message to the server computer 101, a response message 505 with the requested digital image is immediately transmitted to the client computer 130, stored by the latter in its memory 113, and then the requested one digital image presented to user 301 (block 506).
Hat auch der Internet-Proxy-Rechner 501 das angeforderte Bild nicht gespeichert, so gibt der Internet-Proxy-Rechner 501 die Anfrage-Nachricht an den Server- Rechner 101 weiter (Block 507), welcher seinerseits überprüft, ob es in seinem Speicher 103 oder in einem mit der ISAPI 308 gekoppelten Cache-Speicher 508 das angeforderte digitale Bild gespeichert ist.If the Internet proxy computer 501 has also not stored the requested image, the Internet proxy computer 501 forwards the request message to the server computer 101 (block 507), which in turn checks whether it is in its memory 103 or the requested digital image is stored in a cache 508 coupled to the ISAPI 308.
Ist dies der Fall, so wird das angeforderte digitale Bild von dem Server-Rechner 101 an den Internet-Proxy-Rechner 501 übertragen (Block 509), dort gespeichert, von dem Internet-Proxy-Rechner 501 an den Client-Rechner 110 übertragen (Block 510), dort ebenfalls in dessen Speicher 113 gespeichert und dann dem Benutzer 301 dargestellt (Block 511).If this is the case, the requested digital image is transmitted from the server computer 101 to the Internet proxy computer 501 (block 509), stored there, and transmitted from the Internet proxy computer 501 to the client computer 110 ( Block 510), also stored there in its memory 113 and then displayed to the user 301 (Block 511).
Ist das angeforderte Bild auch nicht in dem Server-Rechner 101 bzw. in dem Cache-Speicher 508 der ISAPI 308 vorhanden, so wird von der ISAPI 308 das angeforderte digitale Bild, beispielsweise mit veränderter Haarfarb-Information neu berechnet unter Verwendung der in dem oben beschriebenen Datenbanken 107, 108 gespeicherten Daten.If the requested image is also not available in the server computer 101 or in the cache memory 508 of the ISAPI 308, the ISAPI 308 recalculates the requested digital image, for example with changed hair color information, using the information in the above described databases 107, 108 stored data.
Das neu erzeugte digitale Bild 512 wird nach dessen Erzeugung in dem Cache- Speicher 508 der ISAPI 308 gespeichert, von dem Server-Rechner 101 an den Internet-Proxy-Rechner 501 weitergeleitet (Block 513), von diesem ebenfalls gespeichert und anschließend an den Client-Rechner 110 übermittelt (Block 514), welcher das empfangene digitale Bild seinerseits in dessen Speicher 113 speichert und anschließend dieses dem Benutzer 301 darstellt (Block 515).The newly generated digital image 512 is stored in the cache memory 508 of the ISAPI 308 after it has been generated, passed on from the server computer 101 to the Internet proxy computer 501 (block 513), also stored by the latter and then to the client Computer 110 transmits (block 514), which in turn stores the received digital image in its memory 113 and then presents it to user 301 (block 515).
Auf diese Weise wird insbesondere durch das Speichern der angeforderten digitalen Bilder in dem Internet-Proxy-Rechner 501 erreicht, dass unabhängig davon, welcher Nutzer von welchem Client-Rechner 110 das jeweilige digitale Bild anfordert, Anfragen von unterschiedlichen Nutzern nach demselben digitalen Bild schon von dem Internet-Proxy-Rechner 501 beantwortet und damit erfüllt werden können, ohne dass der Server-Rechner 101 mit einer Vielzahl redundanter Anfragen belastet wird.In this way, in particular by storing the requested digital images in the Internet proxy computer 501, it is achieved that regardless of which user requests the respective digital image from which client computer 110, requests from different users for the same digital image already answered by the Internet proxy computer 501 and can thus be fulfilled without the server computer 101 being burdened with a large number of redundant inquiries.
Es ergibt sich somit erfindungsgemäß insbesondere die sehr vorteilhafte Verlagerung von rechenintensiven Bildverarbeitungsalgorithmen auf die Seite des Server-Rechners, womit der Client-Rechner 130 erheblich entlastet wird.According to the invention, this results in particular in the very advantageous shift of computation-intensive image processing algorithms to the side of the server computer, which considerably relieves the load on the client computer 130.
In diesem Dokument sind folgende Veröffentlichungen zitiert:The following publications are cited in this document:
[1] WO 03/020072 A1 ;[1] WO 03/020072 A1;
[2] EP 1 324 247 A2;[2] EP 1 324 247 A2;
[3] Erhältlich im Internet am 5. September 2003 unter der folgenden URL-Adresse:[3] Available on the Internet on September 5, 2003 at the following URL:
Hypertext Markup Language: http://www.w3.org/MarkUp/Hypertext Markup Language: http://www.w3.org/MarkUp/
Vector Markup Language: http://msdn.microsoft.com/workshop/author/VML/Shape/introduction.asp Vector Markup Language: http://msdn.microsoft.com/workshop/author/VML/Shape/introduction.asp

Claims

Patentansprüche claims
1. Computersystem zum Verarbeiten einer Vielzahl von digitalen Bildern, • mit mindestens einem Client-Rechner, welcher ein Browserprogramm aufweist, in das eine Interpretersprache integriert ist, • mit mindestens einer Bilddatenbank, in der eine Vielzahl von digitalen Bildern gespeichert ist, und • mit mindestens einem mit dem Client-Rechner und der Bilddatenbank gekoppelten Server-Rechner, welcher aufweist: • ein Browser-Serverprogramm sowie • mindestens ein Bildverarbeitungsprogramm, das eingerichtet ist zur Veränderung der Farbinformation von Bildpunkten eines digitalen Bildes der Bilddatenbank, • wobei das Computersystem derart eingerichtet ist, dass die Darstellung eines von dem Server-Rechner auf dem Client-Rechner übertragenen digitalen Bildes mittels des Browserprogramms dargestellten Bildes unter Verwendung der Interpretersprache erfolgt.1. Computer system for processing a large number of digital images, • with at least one client computer which has a browser program into which an interpreter language is integrated, • with at least one image database in which a large number of digital images are stored, and • with at least one server computer coupled to the client computer and the image database, which has: • a browser server program and • at least one image processing program that is set up to change the color information of pixels of a digital image of the image database, • wherein the computer system is set up in this way is that the representation of a digital image transmitted from the server computer to the client computer by means of the browser program takes place using the interpreter language.
2. Computersystem gemäß Anspruch 1 , • bei dem das Browserprogramm als World Wide Web-Browserprogramm eingerichtet ist, und • bei dem das Browser-Serverprogramm als World Wide Web-Browser- Serverprogramm eingerichtet ist.2. Computer system according to claim 1, • in which the browser program is set up as a World Wide Web browser program, and • in which the browser server program is set up as a World Wide Web browser server program.
3. Computersystem gemäß Anspruch 1 oder 2, bei dem der Client-Rechner und der Server-Rechner mittels eines internetbasierten Telekommunikationsnetzes miteinander gekoppelt sind.3. Computer system according to claim 1 or 2, in which the client computer and the server computer are coupled to one another by means of an Internet-based telecommunications network.
4. Computersystem gemäß einem der Ansprüche 1 bis 3, bei dem das Bildverarbeitungsprogramm eingerichtet ist zur Durchführung zumindest einer der folgenden Operationen: • Veränderung der Helligkeit von Bildpunkten eines Bildes, • Veränderung des Kontrasts von Bildpunkten eines Bildes, • Mischen von Bildinformation zweier Bilder, • Transformation von Bildpunkten eines Bildes zugeordneter Farbinformation von einer ersten Farbraumdarstellung in eine zweite Farbraumdarstellung. 4. Computer system according to one of claims 1 to 3, in which the image processing program is set up to carry out at least one of the following operations: • changing the brightness of pixels of an image, • changing the contrast of pixels of an image, • mixing image information of two images, • Transformation of pixels of an image associated with color information from a first color space representation into a second color space representation.
5. Computersystem gemäß Anspruch 4, • bei dem das Bildverarbeitungsprogramm eingerichtet ist zur Transformation von Bildpunkten eines Bildes zugeordneter Farbinformation von einer ersten Farbraumdarstellung in eine zweite Farbraumdarstellung und • bei dem die erste Farbraumdarstellung und/oder die zweite Farbraumdarstellung eine der folgenden Farbraumdarstellungen sind/ist: • RGB-Farbraumdarsteliung, • sRGB-Farbraumdarstellung, • CMYK-Farbraumdarstellung, • HLS-Farbraumdarstellung.5. Computer system according to claim 4, • in which the image processing program is set up to transform pixels of an image associated with color information from a first color space representation into a second color space representation and • in which the first color space representation and / or the second color space representation are one of the following color space representations : • RGB color space representation, • sRGB color space representation, • CMYK color space representation, • HLS color space representation.
6. Computersystem gemäß einem der Ansprüche 1 bis 5, bei dem die Interpretersprache • die Sprache Javascript, • die Sprache VB-Script oder • die Sprache Jscript ist.6. Computer system according to one of claims 1 to 5, in which the interpreter language is • the language Javascript, • the language VB-Script or • the language Jscript.
7. Computersystem gemäß einem der Ansprüche 1 bis 6, bei dem die digitalen Bilder der Bilddatenbank jeweils enthält den Gesichtsbereich einer Person, einen Haarbereich einer Person und einen Hintergrundbereich.7. Computer system according to one of claims 1 to 6, wherein the digital images of the image database each contain the face area of a person, a hair area of a person and a background area.
8. Computersystem gemäß Anspruch 7, bei dem jedes digitale Bild aufweist: • ein erstes Teilbild, in dem der Gesichtsbereich, der Haarbereich und der Hintergrundbereich enthalten ist, • ein zweites Teilbild, in dem Information über den Haarbereich enthalten ist, und • ein drittes Teilbild, in dem Information über den Hintergrundbereich enthalten ist.8. The computer system according to claim 7, wherein each digital image comprises: a first field, in which the face area, the hair area and the background area are contained, a second field, in which information about the hair area is contained, and a third Drawing file that contains information about the background area.
9. Computersystem gemäß Anspruch 7 oder 8, bei dem eine Mehrzahl von digitalen Bildern jeweils von einer Person in der Bilddatenbank gespeichert sind, wobei die Mehrzahl von digitalen Bildern einer Person diese aufgenommen von unterschiedlichen Perspektiven zeigen. 9. The computer system according to claim 7 or 8, in which a plurality of digital images of a person are stored in the image database, the plurality of digital images of a person showing them taken from different perspectives.
10. Computersystem gemäß einem der Ansprüche 7 bis 9, bei dem der Client-Rechner derart eingerichtet ist, dass unter Verwendung der Mehrzahl von digitalen Bildern einer Person eine quasi-dreidimensionale Darstellung der Person ermöglicht ist.10. Computer system according to one of claims 7 to 9, in which the client computer is set up in such a way that a quasi-three-dimensional representation of the person is made possible using the plurality of digital images of a person.
11. Computersystem gemäß einem der Ansprüche 1 bis 10, bei dem das Browserprogramm und das Browser-Serverprogramm eingerichtet sind zur Verarbeitung von Daten, welche gemäß einer Beschreibungssprache codiert sind.11. Computer system according to one of claims 1 to 10, in which the browser program and the browser server program are set up for processing data which are coded in accordance with a description language.
12. Computersystem gemäß Anspruch 11 , bei dem das Browserprogramm und das Browser-Serverprogramm eingerichtet sind zur Verarbeitung von Daten, welche gemäß einer der folgenden Beschreibungssprachen codiert sind: • Hypertext Markup Language, • Vector Markup Language, und/oder • Wireless Markup Language.12. Computer system according to claim 11, in which the browser program and the browser server program are set up to process data which are encoded in accordance with one of the following description languages: Hypertext Markup Language, Vector Markup Language, and / or Wireless Markup Language.
13. Computersystem gemäß einem der Ansprüche 1 bis 12, bei dem der Client-Rechner derart eingerichtet ist, • dass das digitale Bild in einem vorgegebenen Bildschirmoberflächenbereich einer Bildschirmoberfläche darstellbar ist, und • dass in dem Bildschirmoberflächenbereich vor Darstellung des Bildes bei Laden des Bildes von dem Server-Rechner eine Ladezustandsanzeige dargestellt wird, mit dem der Verlauf des Ladevorganges dargestellt wird.13. Computer system according to one of claims 1 to 12, in which the client computer is set up in such a way that • the digital image can be displayed in a predetermined screen surface area of a screen surface, and • that in the screen surface area before the image is displayed when the image is loaded by the server computer is shown a charge status display with which the progress of the charging process is shown.
14. Computersystem gemäß einem der Ansprüche 1 bis 13, bei dem der Client-Rechner eingerichtet ist zur Veränderung der Skalierung des digitalen Bildes.14. Computer system according to one of claims 1 to 13, in which the client computer is set up to change the scaling of the digital image.
15. Verfahren zum rechnergestützten Verarbeiten einer Vielzahl von digitalen Bildern, • bei dem unter Verwendung eines Browserprogramms, in das eine Interpretersprache integriert ist, von einem Client-Rechner eine Bild- Anforderungsnachricht, mit dem mindestens ein digitales Bild angefordert wird, an einen Server-Rechner übermittelt wird, wobei der Server-Rechner aufweist ein Browser-Serverprogramm, • bei dem von dem Server-Rechner aus einer Bilddatenbank, in der das angeforderte mindestens eine digitale Bild ausgelesen wird, • bei dem mittels des Browser-Serverprogramms das ausgelesene digitale Bild und Steuerinformation, codiert in der Beschreibungssprache und/oder in der Interpretersprache des Browserprogramms, an den Client-Rechner übertragen wird, und • bei dem unter Verwendung der Steuerinformation das digitale Bild mittels des Browserprogramms dargestellt wird.15. A method for computer-aided processing of a large number of digital images, in which, using a browser program in which an interpreter language is integrated, a client computer sends an image request message, with which at least one digital image is requested, to a server. Computer is transmitted, the server computer having a browser server program, • in the case of the server computer from an image database in which the requested at least one digital image is read out, • in the case of the digital image and control information read out by means of the browser server program, coded in the description language and / or in the interpreter language of the browser program , is transmitted to the client computer, and • in which the digital image is displayed by means of the browser program using the control information.
16. Verfahren gemäß Anspruch 15, • bei dem von dem Client-Rechner eine Bildänderungs-Anfragenachricht, mit der eine Änderung der Bildinformation des an den Client-Rechner übertragenen digitalen Bildes angefragt wird, an den Server-Rechner übertragen wird, • bei dem von dem Server-Rechner, welcher mindestens ein Bildverarbeitungsprogramm aufweist, das eingerichtet ist zur Veränderung der Farbinformation von Bildpunkten eines digitalen Bildes das digitale Bild verändert wird, • bei dem das veränderte digitale Bild von dem Server-Rechner an den Client-Rechner übertragen wird, und • bei dem das veränderte digitale Bild von dem Client-Rechner mittels des Browserprogramms dargestellt wird. 16. The method according to claim 15, • in which an image change request message, with which a change in the image information of the digital image transmitted to the client computer is requested, is transmitted from the client computer to the server computer, • in which the server computer, which has at least one image processing program that is set up to change the color information of pixels of a digital image, the digital image is changed, • in which the changed digital image is transmitted from the server computer to the client computer, and • in which the changed digital image is displayed by the client computer using the browser program.
PCT/EP2004/009509 2003-09-05 2004-08-26 Computer system and method for processing a plurality of digital images WO2005024657A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP04764485A EP1661043A2 (en) 2003-09-05 2004-08-26 Computer system and method for processing a plurality of digital images

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10341084.8 2003-09-05
DE10341084A DE10341084A1 (en) 2003-09-05 2003-09-05 Computer system and method for processing a plurality of digital images

Publications (2)

Publication Number Publication Date
WO2005024657A2 true WO2005024657A2 (en) 2005-03-17
WO2005024657A3 WO2005024657A3 (en) 2005-04-28

Family

ID=34258450

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2004/009509 WO2005024657A2 (en) 2003-09-05 2004-08-26 Computer system and method for processing a plurality of digital images

Country Status (3)

Country Link
EP (1) EP1661043A2 (en)
DE (1) DE10341084A1 (en)
WO (1) WO2005024657A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016225677A1 (en) * 2016-12-20 2018-06-21 Henkel Ag & Co. Kgaa Method and device for computer-aided hair treatment consultation

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998058493A1 (en) * 1997-06-19 1998-12-23 Electronics For Imaging, Inc. Gamut correction with color separation and methods and apparatuses for performing same
US6144388A (en) * 1998-03-06 2000-11-07 Bornstein; Raanan Process for displaying articles of clothing on an image of a person
WO2001087245A2 (en) * 2000-05-12 2001-11-22 The Procter & Gamble Company Method for analyzing hair and predicting achievable hair dyeing ending colors
WO2002042933A2 (en) * 2000-11-23 2002-05-30 Robert Glass Method and arrangement for remote-controlled access to data and for data transmission
EP1215573A1 (en) * 2000-12-13 2002-06-19 Sun Microsystems, Inc. Local and remote processing
US20030035584A1 (en) * 2001-08-14 2003-02-20 Nicolas Francois S. Combination compression and registration techniques to implement temporal subtraction as an application service provider to detect changes over time to medical imaging
WO2003020072A1 (en) * 2001-08-30 2003-03-13 Wella Aktiengesellschaft Method for a hair colour consultation
US20030154261A1 (en) * 1994-10-17 2003-08-14 The Regents Of The University Of California, A Corporation Of The State Of California Distributed hypermedia method and system for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL1007397C2 (en) * 1997-10-30 1999-05-12 V O F Headscanning Method and device for displaying at least a part of the human body with a changed appearance.

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030154261A1 (en) * 1994-10-17 2003-08-14 The Regents Of The University Of California, A Corporation Of The State Of California Distributed hypermedia method and system for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document
WO1998058493A1 (en) * 1997-06-19 1998-12-23 Electronics For Imaging, Inc. Gamut correction with color separation and methods and apparatuses for performing same
US6144388A (en) * 1998-03-06 2000-11-07 Bornstein; Raanan Process for displaying articles of clothing on an image of a person
WO2001087245A2 (en) * 2000-05-12 2001-11-22 The Procter & Gamble Company Method for analyzing hair and predicting achievable hair dyeing ending colors
WO2002042933A2 (en) * 2000-11-23 2002-05-30 Robert Glass Method and arrangement for remote-controlled access to data and for data transmission
EP1215573A1 (en) * 2000-12-13 2002-06-19 Sun Microsystems, Inc. Local and remote processing
US20030035584A1 (en) * 2001-08-14 2003-02-20 Nicolas Francois S. Combination compression and registration techniques to implement temporal subtraction as an application service provider to detect changes over time to medical imaging
WO2003020072A1 (en) * 2001-08-30 2003-03-13 Wella Aktiengesellschaft Method for a hair colour consultation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
STEIN L: "Web applets: Java, JavaScript and ActiveX" TRENDS IN GENETICS, ELSEVIER SCIENCE PUBLISHERS B.V. AMSTERDAM, NL, Bd. 12, Nr. 11, November 1996 (1996-11), Seiten 484-485, XP004181567 ISSN: 0168-9525 *

Also Published As

Publication number Publication date
WO2005024657A3 (en) 2005-04-28
EP1661043A2 (en) 2006-05-31
DE10341084A1 (en) 2005-04-07

Similar Documents

Publication Publication Date Title
DE602004009161T2 (en) DEVICE AND METHOD FOR PICTURE MODULATION
DE10234137B4 (en) System and method to enable users to edit graphic images
DE10236188B4 (en) A method, system and program product for providing content of a source website to a consumer website through an image conversion service
DE69827899T2 (en) Recording medium for order information and order file Production unit for a photographic service
DE60006065T2 (en) METHOD AND SYSTEM FOR THE DEVELOPMENT, APPLICATION, REMOTE LOADING, AND EXECUTION OF WEBSITES CONTROLLED BY DATABASE
DE602004003135T2 (en) UNIFORM MANAGEMENT OF NET RESOURCES FOR THE SIMULTANEOUS PARTICIPATION OF SEVERAL USERS AT A MEETING
DE10236190B4 (en) Method, system, program product and printer web service for generating a print job for printing a document
DE69531316T2 (en) Device for generating an image by combining partial images
DE10236189B4 (en) A method, system and program product for printing a document having a plurality of pages
DE112007001653T5 (en) System and method for displaying geographic information
DE112018002793T5 (en) IMAGE PROCESSING SYSTEM AND IMAGE PROCESSING METHOD
DE60212304T2 (en) Improvements to data transmission
DE10236182A1 (en) Method for printer processing with web-based image generating system, involves forming graphics sequence and selecting graphic for transmitting to printer
EP1760647B1 (en) Method and device for handling files using mobile devices, a corresponding computer program and a corresponding computer readable memory device
DE10257871B4 (en) System and method for notification of color palette inadequacy
WO2005024657A2 (en) Computer system and method for processing a plurality of digital images
DE10290696T5 (en) Method and system for wireless access to a user's computer
EP1362283A2 (en) Method and device for displaying an image composed of pixels
WO2005024658A2 (en) Method and device for determining an image object in a digital image
DE112013006382T5 (en) Delivery method and system for electronic documents and parent book server and sub-client client
DE10248442B4 (en) System for controlled printing of a signature using web-based image generation
DE10304466A1 (en) System and method for simplifying color adjustment of imaging data
DE3613740C2 (en)
EP2163983A1 (en) Method for producing a printed file from data objects in a memory
DE10330836A1 (en) Imaging system and method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004764485

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2004764485

Country of ref document: EP