Abstract:
A method of transmitting digital images implemented in a server device able to cooperate with at least one client device connected to the server device through a telecommunication network, where the digital images comprising a plurality of elementary entities and the client device is able to request from the server device a transmission of at least one elementary entity. The method comprises storing statistical data for each of the elementary entities, and at the client device&#39;s request, transmitting to it the elementary entities in accordance with the statistical data, wherein the statistical data comprises the quantity of data transmitted following the requests to the requesting client devices.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention concerns in general terms the manipulation, transmission and display of digital images in a telecommunications system, particularly in the context of a client/server application.  
         [0002]     A particularly advantageous favored, but not exclusive, application of the present invention is the distribution and display of multiresolution digital images, in particular in the context of the JPEG2000 standard and the JPIP protocol.  
       BACKGROUND OF THE INVENTION  
       [0003]     One major problem with client/server applications for manipulating images lies in their lack of reactivity. This is because the time elapsed between the request for an image by a user and the display of the image requested on the client machine of the user often proves to be unacceptable from the point of view of the users.  
         [0004]     A first solution to the problem indicated above can be found in the progressive display of the image requested. In this case, the application does not await the entire reception of the data in order to start the display of the image requested. A first degraded version of the image is first of all displayed, and then this is refined as the data are received.  
         [0005]     An image format allowing progressive display is however necessary for implementing such a solution. This is because an image must be capable of display even when the bitstream of the image has been received only partially. In addition, if the bitstream is capable of partial transmission, the question of the order of transmission of the data is then posed and need to be resolved.  
         [0006]     A second solution to the problem indicated above consists of preserving the data in the cache memory of the client device. In this way, a multiple transmission of identical data is avoided. This approach makes it possible to reduce the display times of the data when the latter are already present in the cache memory.  
         [0007]     Concerning the progressive display and the organization of the transmission of the data in the bitstream, software referred to as Kakadu (registered trade mark) is known in the state of the art, developed by David Taubman (http://www.kakadusoftware.com) in the context of the JPEG2000/JPIP standard.  
         [0008]     In the Kakadu software, the elementary entities of the bit stream, referred to as “precincts” and corresponding to spatial positions of the image, are ordered so as to first of all send the precincts situated at the center of the image. Such an approach has the drawback of taking as its assumption the fact that the interesting parts of the images are at the center of them. This assumption is ill-founded since the interesting areas may just as well be situated on the peripheral parts of the images.  
         [0009]     Concerning the preservation of data in the cache memory of a client device, various solutions have been proposed and form part of the state of the art.  
         [0010]     Thus protocols are known in which “cache” and “no cache” commands are provided for indicating explicitly to proxy servers, the data which must or must not be placed in cache memory. The following protocols, in particular, are known to the inventors for supplying cache management commands: 
        the protocol RFC2616—Hypertext Transfer Protocol—http/1.1. (http://www.faqs.org/rfcs/rfc2616.html);     the protocol RFC1945—Hypertext Transfer Protocol—http/1.0. (http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc1945.html); and     the JPIP protocol presented in  JPEG 2000  Image Coding System—Part  9 : Interactivity Tools, APIs and Protocols—Final Committee Draft. ISO/IEC JTC 1 /SC 29  WG 1  N 3052, R. Prandolini, S. Houchin, G. Colyer, 25 Jul. 2003.        
 
         [0014]     The approaches adopted in the above protocols have in particular the drawback of not allowing suitable management when the space available or released in the cache memory is not sufficient to store the data recently received. In addition, in these protocols, the server device explicitly manages the cache memory of the proxy. Such a technique is difficult to manage when the server device is in communication with many client devices.  
         [0015]     In the article  Caching schema for mobile web information retrieval,  2 nd    International Workshop on Web Dynamics, in the  11 th International World Wide Web Conference, May  2002, a method is described, in the field of Internet applications, for managing cache memories according to which data (web pages, metadata, etc) are prestored in the cache memory of a portable multimedia unit (portable electronic organizer, portable computer, etc). However, in this method, the selection of the data to be stored must be done manually by the user. Once stored, the data can be deleted from the cache memory or be updated according to the geographical position of the portable multimedia unit.  
         [0016]     The need for intervention by the user in the above method is a drawback and it would be desirable for all the tasks relating to the management of the cache memory to be carried out automatically or almost automatically.  
         [0017]     Still in the field of the Internet, there are also known, through U.S. Pat. No. 6,574,715 (IBM) a method and device for managing internal and external caches in a data processing system. In accordance with this method of IBM, a server stores modifiable web pages either in a local cache or in external caches situated for example in proxy agents. The selection of a cache, local or external, is carried out according to a degree of change in the web pages. A process of verifying consistency between the pages stored in the external caches and those stored in the local cache is implemented by the server.  
         [0018]     In this IBM method, the management of the external caches of the proxy agents is centralized by the server. Consequently the application of the external cache management functionalities of this method to the management of caches of several client devices in a client/server application does not enable a client device to manage its cache itself.  
       SUMMARY OF THE INVENTION  
       [0019]     The present invention concerns firstly a method of transmitting digital images implemented in a server device and which allows improvement in the display of the digital images by an organization of the transmission of the elementary entities, or precincts, of a digital image according to a real interest of the users for these elementary entities.  
         [0020]     The method of transmitting digital images according to the invention implemented in a server device able to cooperate with at least one client device connected to the server device through a telecommunication network, the digital images comprising a plurality of elementary entities and the client device being able to request from the server device a transmission of at least one elementary entity, comprises the steps of: 
        storing statistical data for each of the elementary entities; and     at the client device&#39;s request, transmitting to it the elementary entities in accordance with the statistical data, wherein said statistical data comprise the quantity of data transmitted following the requests to the requesting client devices.        
 
         [0023]     Correspondingly, the present invention also concerns a device for transmitting digital images incorporated in a server device for implementing the digital image transmission and manipulation method briefly described above.  
         [0024]     The device for transmitting digital images according to the invention incorporated in a server device able to cooperate with at least one client device connected to the server device through a telecommunications network, the digital images comprising a plurality of elementary entities and the client device being able to request from the server device a transmission of at least one elementary entity, comprises: 
        means for storing statistical data for each of the elementary entities; and     means for transmitting to the client device, on request from it, the elementary entities in accordance with are the statistical data, wherein said statistical data comprise the quantity of data transmitted following the requests to the requesting client devices.        
 
         [0027]     The above-indicated characteristics of the invention furnish advantages such as the possibility at the client device of obtaining an intelligent display of the image requested whilst starting this very rapidly. The reactivity at the client device is substantially improved, as well as the quality of the rendition of the display throughout the entire transmission of the elementary entities of the image.  
         [0028]     According to another characteristic of the invention, the statistical data comprise a transmission rate calculated for each of the elementary entities and which is a function of the number of requests received for the elementary entity in question and the quantity of data transmitted following on from these requests to the requesting client devices for the elementary entity in question.  
         [0029]     The above characteristic of the invention provides a measure for assessing the importance of each elementary entity.  
         [0030]     The invention preferably provides for a sending statistical data conjointly with the corresponding elementary entities.  
         [0031]     According to another characteristic of the invention, prior to the storage of said statistical data, the statistical data are coded in a sequential order corresponding to an order of the respective spatial positions of the corresponding elementary entities in the digital image, so as to exploit spatial correlations existing between the elementary entities and thus to reduce a bit rate of the statistical data by the removal of a redundant transmission of identical successive quantized values of the statistical data.  
         [0032]     The above characteristics of the invention furnish a first solution for reducing the coding cost of the statistical data, which is applicable in particular in the context of the JPEG2000 standard for a coding of the statistical data in the form of metadata.  
         [0033]     According to yet another characteristic of the invention, prior to the storage of said statistical data, the statistical data are coded in a sequential order corresponding to an order of importance of the corresponding elementary entities, so as to exploit correlations existing between the quantized values of the statistical data and thus reduce a bit rate of the statistical data by the elimination of a redundant transmission of identical successive quantized values.  
         [0034]     The above characteristics of the invention furnish a second solution for reducing the coding cost of the statistical data, which is also applicable in the context of the JPEG2000 standard for a coding of the statistical data in the form of metadata.  
         [0035]     The coding and storage of the statistical data in the digital image file are preferably carried out at substantially regular intervals of time.  
         [0036]     According to another aspect, the present invention concerns a method of receiving digital images implemented in a client device and which allows improvement of the display of the digital images by offering to the client device the possibility of individual and automatic management of its cache according to a real interest of the users for elementary entities of the images requested.  
         [0037]     The method of receiving digital images according to the invention implemented in a client device connected to at least one server device through a telecommunications network, the digital images comprising a plurality of elementary entities and the client device being able to request from the server device a transmission of at least one elementary entity, comprises the steps of: 
        receiving at least one elementary entity requested and statistical data corresponding to the elementary entity, the statistical data allowing the evaluation of a relative importance for a user of the elementary entity; and     updating a cache comprising elementary entities of the digital image according to the respective importances of the elementary entities obtained from the statistical data so as to allow display of the elementary entities.        
 
         [0040]     Correspondingly, the present invention also concerns a device for receiving digital images incorporated in a client device for implementing the digital image reception and display method briefly described above.  
         [0041]     The device for receiving digital images according to the invention incorporated in a client device connected to at least one server device through a telecommunications network, the digital images comprising a plurality of elementary entities and the client device being able to request from the server device a transmission of at least one elementary entity, comprises: 
        means for receiving a transmission file comprising at least one elementary entity requested and statistical data corresponding to the elementary entity, the statistical data allowing the evaluation of a relative importance for a user of the elementary entity;     means for extracting the statistical data from the transmission file; and     means for updating a cache comprising elementary entities of the digital data according to the statistical data extracted so as to allow display of the elementary entities according to their relative importances.        
 
         [0045]     The above-indicated characteristics of the invention afford advantages such as the possibility at the client device of automatically selecting in an intelligent manner the elementary entities which must be eliminated/kept in the cache and allow a reduction in the risk of multiple requests for identical elementary entities by the blind management of the cache. The above characteristics help to improve the reactivity and quality of the rendition of the display throughout the entire transmission of the elementary entities of the image.  
         [0046]     According to another characteristic of the invention, the updating of the cache comprises a release of sufficient memory space for writing the received elementary entity in the cache, by an elimination in the cache from at least one elementary entity of lesser importance than that of the elementary entity received.  
         [0047]     According to yet another characteristic of the invention, the release of memory space comprises a selection, as being the elementary entity of lesser importance to be eliminated, of the elementary entity having the lowest importance amongst the elementary entities present in the cache and which are not currently being displayed.  
         [0048]     According to other aspects, the invention also concerns an information processing device able to function as a server device, an information processing device able to function as a client device, a telecommunications system, and information media which can be read by a computer system and computer programs for implementing the methods of the invention briefly described above.  
         [0049]     The invention finds favored applications in the distribution and display of multiresolution digital images in the context of the JPEG2000 standard. The digital image file is then a file of the JPEG2000 type and the elementary entity is requested of the server device by the client device by means of a protocol of the JPIP type. In addition, the statistical data are encapsulated typically in the form of metadata in the digital image file.  
         [0050]     The JPEG2000/JPIP standard provides a framework which is very favorable to the application of the invention since it greatly facilitates the progressive display and management of the cache. In addition, with the division of the bitstream into elementary spatial entities (precincts), it is relatively simple to transmit, display and store the JPEG2000 images in a partial manner.  
         [0051]     Other aspects and advantages of the present invention will emerge more clearly from a reading of the following description of preferred embodiments, this description being given solely by way of non-limiting example and made with reference to the accompanying drawings. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0052]      FIG. 1  shows the general structure of an embodiment of the telecommunications system according to the invention;  
         [0053]      FIG. 2  shows a particular hardware configuration of information processing devices suitable for implementation of the methods according to the invention;  
         [0054]      FIG. 3  is a functional flow diagram relating to the calculation of a transmission rate for the precincts in the server device;  
         [0055]      FIG. 4  is a functional flow diagram relating to the coding of the transmission rate in the form of metadata;  
         [0056]      FIG. 5  is a functional flow diagram relating to the functioning of the server device;  
         [0057]      FIG. 6  is a functional flow diagram relating to the functioning of the client device; and  
         [0058]      FIG. 7  is a functional flow diagram relating to the release of memory space in the cache of the client device. 
     
    
     DETAILED DESCRIPTION  
       [0059]     With reference to  FIG. 1 , the preferred embodiments of the methods and devices of the invention presented below are described in the general context of a telecommunications system according to the invention, designated overall by the reference  1 , designed for the distribution of multiresolution digital images from a server device  10  to a plurality of client devices  11   1  to  11   N .  
         [0060]     The preferred embodiments of the invention are described below in the context of a client/server application for handling and displaying images. In this application, the server device  10  stores digital images IM in the JPEG2000 format and the client devices  11   1  to  11   N  can access these digital images IM by means of the JPIP protocol.  
         [0061]     The reader can usefully refer to the following references in order to more completely understand the functioning of the methods and devices according to the invention, namely:  
         [0062]     Reference [1 ]: JPEG 2000 , Part I, Final Draft International Standard  ( corrected and formatted )  ISO/IEC JTC 1 /SC 29  WGI , September 2000; and  
         [0063]     Reference [2 ]: JPEG 2000  Image Coding System—Part  9 : Interactivity Tools, APIs and Protocols—Final Committee Draft. ISO/IEC JTC 1 /SC 29  WG 1  N 3052, R. Prandolini, S. Houchin, G. Colyer, 25 Jul. 2003.  
         [0064]     The digital images IM, or portions of digital images, are delivered by the server device  10  to the client devices  11   1  to  11   N  following on from requests RQ transmitted to the server device  10  by the client devices  11   1  to  11   N .  
         [0065]     In accordance with the invention, as soon as a digital image or a portion thereof is requested, the statistical data are calculated on elementary entities of the image or image portion requested. The elementary entities forming the digital images are called “precincts” in the remainder of the description. In accordance with the invention, the more a precinct is requested, the more important it is considered to be. Each digital image or image portion will therefore possess statistical data per precinct which are peculiar to it.  
         [0066]     A telecommunications network  12 , being made of constituting for example the Internet and/or a local area network (LAN), connects together the server device  10  and the client devices  11   1  to  11   N . The network  12  is here a network capable of supporting connection modes of the client-server type.  
         [0067]     The server device  10  is built around an information processing device or machine, typically a personal microcomputer or a workstation, in which one or more computer programs are installed in order to implement the algorithms necessary for implementing the digital image manipulation and transmission method according to the invention.  
         [0068]     In a similar manner, the client devices  11   1  to  11   N  are each built around an information processing device or machine, typically a personal microcomputer or a workstation, in which one or more computer programs are installed in order to implement the algorithms necessary for implementing the digital image reception and display method according to the invention.  
         [0069]     With reference to  FIG. 2 , an information processing device or machine  20  able to function as a server device  10  in the telecommunications system  1  according to the invention is now described essentially in its hardware configuration.  
         [0070]     In  FIG. 2 , the computer  20 , which can typically be a microcomputer or a workstation, is connected to various peripherals, for example a digital camera  201  for the capture of images or any other image acquisition or storage device, such as a scanner, supplying images to the computer. These images can be stored in the storage means which the computer has, such as a hard disk  212 .  
         [0071]     The computer  20  also comprises a communication interface  218  connected to the communication network  12  and able to transmit and receive digital information. The computer  20  is preferably equipped so as to have a permanent connection to the network  12 , in order to offer continuous service.  
         [0072]     The computer  20  also comprises data storage means such as the hard disk  212 , and a disk drive  214  for writing data on a floppy disk  216  and reading these data. The computer  20  can also comprise a reader (not shown) for compact disks (CD-ROMs or DVD-ROMS) on which the images can be stored as well as a computer card (PC-CARD) reader (not shown).  
         [0073]     According to a preferred embodiment, the executable codes of one or more programs PROG for implementing the invention are stored on the hard disk  212 .  
         [0074]     According to a variant embodiment, the executable code of the program or programs PROG are stored in a ROM memory (“read only memory”)  204  of the computer.  
         [0075]     In general terms, an information storage means which can be read by a computer or a microprocessor, integrated or not into this computer, and possibly removable, is adapted to store the program or programs PROG implementing the invention.  
         [0076]     The computer  20  also comprises a screen  208  for displaying the images and a pointing device (not shown), such as a mouse or optical pen, as well as a keyboard  210  so as to be able to interact with the program or programs PROG of the invention.  
         [0077]     The computer  20  comprises a central processing unit (CPU)  203 , for example a microprocessor, which controls and directs the execution of the instructions of the program or programs PROG of the invention stored on the ROM  204  or on the hard disk  212 .  
         [0078]     The computer  20  also comprises a RAM memory (random access memory)  207 . As is clear from  FIG. 2 , in an enlargement situated to the right of the figure, the RAM  20  comprises registers intended to store variables, in particular variables Id, Vtt, TT Id , d, TAB, TAB_TEMP and TAB_CLIENT, created and modified during the execution of the program or programs PROG according to the invention. The definitions and uses of the variables indicated above will be dealt with subsequently, in the remainder of the description.  
         [0079]     The configuration of an information processing device able to function as any client device  11   n  in the telecommunications system  1  according to the invention is similar to that of the computer  20  described above. It should however be noted that the client device should not use any image acquisition device such as the digital camera  201 .  
         [0080]     The functioning of the server device  10  is now more particularly described with reference to FIGS.  3  to  5 .  
         [0081]     The function of the server device  10  is essentially to transmit to the client devices  11   1  to  11   N  the digital images and data which have been requested of it by these. In accordance with the invention, the statistical data are used to order the sending of the precincts PR and thus allow progressive display adapted to the digital image IM on the client device  11   n  side.  
         [0082]     The server device  10  is responsible for several essential aspects of the invention. Amongst these essential aspects, the most important concerns the calculation, updating and storage of the statistical data on the digital images.  
         [0083]     In order to define in a digital image the relative importance of a precinct PR having an intra-class identifier Id, the invention has recourse to the measurement of a corresponding transmission rate TT Id  for this precinct PR. A particular measure for the transmission rate TT Id  has been developed by the inventors for the object of the present invention.  
         [0084]     The intra-class identifier Id is a unique identifier characterizing a precinct PR of an image. The identifier Id is given typically by the following equation: 
 
 Id=t +( c+s ×num_components)×num_tiles  (1) 
 
         [0085]     in which,  
         [0086]     t is the index of the tile to which the precinct PR belongs,  
         [0087]     c is the index of the component to which the precinct PR belongs,  
         [0088]     s is the index of the precinct PR in its tile and in its component,  
         [0089]     num_components is the number of components in the image, and  
         [0090]     num_tiles is the number of tiles in the image.  
         [0091]     The transmission rate TT Id  of a given precinct PR is a function of a number of requests made for this precinct PR by the client devices  11   1  to  11   N . However, having regard to the fact that a precinct PR may be requested and/or transmitted partially, a measure limited solely to a counting of the requests RQ does not make it possible to have an advantageous measurement of the interest afforded by the users to a given precinct PR. A term representing the quantity of data transmitted for the precinct PR has been integrated in the calculation of the transmission rate TT Id . The transmission rate TT Id  is given by the following equation:  
               TT   ld     =         ∑     k   =   0         N   r   ld     -   1       ⁢     l   ld   k           ∑   j     ⁢       ∑     k   =   0         N   r   j     -   1       ⁢     l   j   k                   (   2   )             
 
         [0092]     in which,  
         [0093]     l k   Id  is the length of data, counted in bits, transmitted during a request RQ k  for the precinct PR, and  
         [0094]     N j   r  is the number of requests received by the server device  10  for the precinct PR j , with the index j which runs through all the intra-class identifiers Id of the precincts PR of the image in question.  
         [0095]     With reference more particularly to  FIG. 3 , a description is now given of an example of an algorithm for calculating and updating statistical data according to the invention, adapted to this preferred embodiment in which the statistical data are represented by the transmission rate TT Id .  
         [0096]     As shown in  FIG. 3 , the algorithm for calculating and updating the transmission rate TT Id  starts off at a step E 301  with a test intended to check whether or not a current request RQ for a precinct PR is a first request.  
         [0097]     In the affirmative at step E 301 , that is to say in the case where the current request RQ is a first request, there is performed, after step E 301 , a step E 302  in which two variables S T  and S Id  are initialized, corresponding respectively to the denominator and numerator of equation (2), namely: 
 
 S   T   =S   T   +l   k   Id , and 
 
 S   Id   =l   k   Id . 
 
         [0098]     In the negative at step E 301 , that is to say in the case where the current request RQ is not a first request, a step E 303  is performed, following step E 301 , during which the variables S T  and S Id  are updated in the following manner: 
 
 S   T   =S   T   +l   k   Id , and 
 
 S   Id   =S   Id   +l   k   Id . 
 
         [0099]     A step E 304 , following steps E 302  and E 303 , makes it possible to calculate the transmission rate TT Id  by means of the following equality: 
 
TT Id   =S   Id   /S   T . 
 
         [0100]     Next, a step E 305  is executed during which the values obtained for the variable S T  and the transmission rate TT Id  are stored in a table TAB on the server device  10 . The table TAB comprises N p +1 storage positions, N p  being the number of precincts PR in the image. The table TAB then allows the storage of N p  transmission rates TT Id  corresponding to the N p  precincts PR of the image and the storage of the current value of the variable S T .  
         [0101]     It should be noted that the variables S Id  can be deduced from S T  and the transmission rates TT Id  stored, when this is necessary in the algorithms of the invention. In addition, it is considered here that the server device  10  is capable, from the position of a transmission rate TT Id  in the table TAB, of finding without difficulty the intra-class identifier Id to which this corresponds, and vice-versa.  
         [0102]     A step E 306  is executed after the step E 305  in order to next the process of a following requested precinct PR. In the case where no other precinct PR is requested, the execution of the algorithm ends with a stop step E 307 .  
         [0103]     Operations of coding and inserting statistical data represented by the transmission rates TT Id  in a JPEG2000 file are described below. Two coding methods are presented here by way of example of possible embodiments.  
         [0104]     Reference [1] indicated above defines in its Annex 1 the format of a JPEG2000 file.  
         [0105]     Briefly the JPEG2000 bit streams (codestreams), that is to say the useful data representing the compressed image, as well as other information concerning the codestream, are encapsulated in an encapsulation entity called a “box”. In general terms, all the information contained in a JPEG2000 file are encapsulated in boxes. The codestream of each box begins systematically with its length, coded in 16 bits, and its type.  
         [0106]     For the requirements of the invention, the inventors created a box of a novel type intended for the encapsulation of statistical data and which is inserted at the end of the JPEG2000 codestream. This novel box does not prevent compatibility with the JPEG2000 standard having regard to the fact that this standard specifies that non-standardized boxes can be used.  
         [0107]     In the remainder of the description, the box intended for the statistical data is referred to as “metadata-stat”.  
         [0108]     With reference to  FIG. 4 , first and second coding methods for generating the box metadata-stat are now described.  
         [0109]     According to the invention, the first and second methods of coding metadata-stat boxes are preferably implemented by the server device  10  at regular intervals, for example, in this preferred embodiment, every day at a fixed time.  
         [0110]     The first and second methods of coding metadata-stat boxes differ essentially through the coding used for the statistical data. In both cases, the object is to reduce the rate allocated to the coding of these data by avoiding inserting a statistical measurement for each precinct PR.  
         [0111]     The first method of coding metadata-stat boxes takes advantage of the correlations existing between the precincts PR having close intra-class identifiers Id.  
         [0112]     As shown in  FIG. 4 , the algorithm corresponding to the first coding method starts at step E 400  with the initialization to 0 of the variable i serving for counting the precincts PR.  
         [0113]     A step E 401  is executed, at the following step E 400 . This step E 401  organizes the statistical data of each precinct PR in the order of their identifier Id.  
         [0114]     Step E 401  is followed at step E 402  by the running through of the statistical data, namely the transmission rates TT Id . In this first coding method, the function of steps E 401  and E 402  are for function to run through the table TAB from position 0 to the position N p −1.  
         [0115]     A step E 403  is then executed in order to determine whether or not there remain precincts PR to be processed. For this purpose, the index i of the precinct PR i  currently being processed is compared with number Nb of precincts to be processed.  
         [0116]     In the affirmative at step E 403 , that is to say in the case where i&lt;Nb and there remain precincts PR to be processed, step E 403  is followed by a step E 404 , during which the value of the current transmission rate TT Id  is quantized. A conventional scalar quantization method is employed for this purpose at step E 404 . The values of the transmission rate TT Id  being between 0 and 1, this range of values from 0 to 1 is divided into 256 intervals each having a size equal to 1/256. The transmission rate TT Id  takes the value of the lower bound of the interval in which it is situated. The value allocated to the transmission rate TT Id  is then coded in 8 bits.  
         [0117]     The quantization step E 404  is followed by the step E 405 , during which it is checked whether or not the current quantized value TT Id   Q  of the transmission rate is equal to the previous quantized value TT Id   Qp  of the transmission rate.  
         [0118]     In the affirmative at step E 405 , that is to say when the current and previous values TT Id   Q  and TT Id   Qp  of the transmission rate are equal, the index i is incremented by 1 at a step E 411  and the algorithm loops back onto step E 403 , described above, for a further execution of this step.  
         [0119]     In the negative at step E 405 , that is to say when the current and previous values TT Id   Q  and TT Id   Qp  of the transmission rate are different, a step E 406  is then executed during which a writing of the identifier Id of the current precinct PR is effected. This writing is effected in accordance with the method recommended in paragraph A.2.3 of reference [2] indicated above.  
         [0120]     After step E 406 , a step E 410  is executed, during which there is effected a writing of the value, for example coded in 8 bits, of the current transmission rate TT Id . Step E 410  is also followed by step E 411  described above.  
         [0121]     When the response obtained at the conditional step E 403  is negative, that is to say when there remain precincts PR to be processed, step E 403  is then followed by a step E 412  corresponding to the creation of the metadata-stat box.  
         [0122]     A step E 413  is executed after step E 412  in order to insert in the metadata-stat box the current value of S T  which was stored in the memory of the server device  10  at step E 305  of  FIG. 3 .  
         [0123]     A step E 414  is then executed in order to proceed with the insertion in the metadata-stat box of the statistical data coded at steps E 403  to E 411 .  
         [0124]     The metadata-stat box is then stored in the JPEG2000 file at a step E 415 . In the case where a metadata-stat box was already present in the JPEG2000 file, this is replaced by the new metadata-stat box.  
         [0125]     Concerning the second method of coding metadata-stat boxes which is now described below, this second method will preferably be used with a reliable network protocol such as TCP. This is because the use of such a protocol guarantees that the client device  11   n  will indeed receive all the data and will be in a position to find the transmission order of these.  
         [0126]     In accordance with the invention, it is considered hereinafter that the server device  10  follows, for the transmission of the precincts PR, a transmission order which is fixed by virtue of the statistical data. To each precinct PR there corresponds a serial number NO and the importance of a precinct PR decreases when the serial number NO increases. The precinct PR having the number NO=0 is the most important precinct PR.  
         [0127]     The second coding method takes advantage of the correlations existing between the precincts PR having close serial numbers NO.  
         [0128]     Like the algorithm of the first coding method described above, the algorithm of the second coding method starts at step E 400  shown in  FIG. 4 .  
         [0129]     Step E 400 , as well as steps E 402  to E 406  and E 410  to E 415  also shown in  FIG. 4 , form part of the algorithm of the second coding method and are identical to those of the algorithm of the first coding method described above.  
         [0130]     Step E 401  of the algorithm of the second coding method differs from that of the algorithm of the first coding method by the fact that the statistical data of each precinct PR are organized according to their serial number NO.  
         [0131]     In the second coding method, step E 401  creates a temporary table TAB_TEMP from the table TAB. The table TAB_TEMP will contain the same data as the table TAB, but stored in their transmission order. At step E 406  the serial number NO of the current precinct PR is written. For this writing, the procedure recommended in paragraph A.2.3 of reference [2] described above is used.  
         [0132]     In accordance with this second coding method, the table TAB_TEMP is deleted at the end of the execution of the algorithm.  
         [0133]     The order of running through the statistical data ensures here better correlation between the transmission rates TT Id  and this second coding method correspondingly allows a reduction in the size of the metadata-stat box compared with that obtained with the first coding method.  
         [0134]     With reference to  FIG. 5 , the functioning of the server device  10  when a request RQ is received coming from a client device  11   n  will now be described.  
         [0135]     The algorithm of  FIG. 5  showing the functioning of the server device  10  starts with a step E 500  during which a request RQ is received coming from a client device  11   n . The request RQ is sent according to the JPIP protocol.  
         [0136]     Next, from the request RQ, a step E 501  makes it possible to deduce the precincts PR requested as well as the quantity of data necessary for each precinct PR.  
         [0137]     Step E 501  is followed by a step E 502 , during which it is checked whether or not all the precincts PR of the image have been requested.  
         [0138]     In the affirmative at step E 502 , that is to say when all the precincts PR of the image have been requested, step E 505  is then executed in order to transmit the JPEG2000 file containing the metadata-stat box, by means of the JPIP protocol.  
         [0139]     The above process begins with the sending of the main header of the image, the headers of the tiles requested and the metadata-stat box. The main header and the headers of the tiles requested are respectively the headers “main header data-bin” and “tile data-bin” described in paragraph A.3 of reference [2] indicated above.  
         [0140]     Next, the precincts PR are sent, complying with the order of importance thereof. In order to determine the importance of the precincts PR, the server device  10  can read the table TAB or the metadata-stat box contained in the JPEG2000 file.  
         [0141]     In the negative at step E 502 , that is to say when it is determined that not all the precincts PR of the image have been requested, a step E 503  is executed in order to generate a new metadata-stat box concerning only the precincts PR requested.  
         [0142]     In order to generate this new metadata-stat box, the server device  10  extracts, at step E 503 , the current metadata-stat box from the JPEG2000 file concerned.  
         [0143]     From the current metadata-stat box, the server device  10  extracts the statistical data concerning the precincts PR requested and inserts these, at step E 5041 , in a new metadata-stat box. The new metadata-stat box is then inserted in the JPEG2000 file to be sent, in place of the current box which was a precalculated box.  
         [0144]     Step E 5041  is followed by the previously described step E 505 .  
         [0145]     In parallel with the execution of step E 5041 , the server device  10  launches steps E 5042 , E 506 , E 507  and E 508 .  
         [0146]     At step E 5042 , the server device  10  updates the values of the transmission rates TT Id  and S T  stored in the table TAB. This updating operation was described above with reference to  FIG. 3 .  
         [0147]     Step E 5042  is followed by step E 506 , which determines whether or not the last updating of the metadata-stat box was performed in the last T hours (T=24, for example).  
         [0148]     In the affirmative at step E 506 , that is to say when the last update is no older than T hours, no update is carried out, step E 507 .  
         [0149]     In the negative at step E 506 , that is to say when the last update dates from more than T hours, the metadata-stat box is updated at step E 508 .  
         [0150]     The functioning of the client device  11   n  in the case of use of the first method of coding the metadata-stat boxes presented above is now described with reference to  FIGS. 6 and 7 .  
         [0151]     As shown in  FIG. 6 , the algorithm implanted in the client device  11   n  begins with a step E 600 , which corresponds to the sending to the server device  10  of a request RQ with the JPIP protocol.  
         [0152]     At a step E 601 , the client device  11   n  receives the header main header data-bin of the image and the headers tile header data-bin of the tiles requested coming from the server device  10 .  
         [0153]     Step E 601  is followed by a step E 602 , during which the client device  11   n  receives the metadata-stat box associated with the data which it has requested. The client device  11   n  then proceeds with the extraction of the statistical data of the precincts PR and thus knows, for each precinct PR requested, identified by its intra-class identifier Id, the value of the corresponding transmission rate TT Id .  
         [0154]     The statistical data extracted are stored in a three-dimensional table TAB_CLIENT.  
         [0155]     The first and second dimensions of the table TAB_CLIENT preferably represent respectively the number of tiles and the number of color components in the image. The number of tiles and the number of color components in the image are contained in the header main header data-bin (refer to paragraph A.3 of reference [2] and to Annex A of reference [1]).  
         [0156]     The third dimension of the table TAB_CLIENT represents the number of precincts PR per tile. The number of precincts PR per tile can be deduced from the information contained in the header main header data-bin and/or the header tile header data-bin. Knowing the number of components, the number of tiles and the intra-class identifier Id of the precinct PR, it is possible to deduce from equality (1) the index of the tile t, the index of the component c and the number of sequences s of the precinct PR in question and to position the transmission rate TT Id  in the table TAB_CLIENT.  
         [0157]     The table TAB_CLIENT is preferably kept for as long as the client device  11   n  is manipulating the same image. The table TAB_CLIENT is re-updated at each new request RQ (JPIP). The client device  11   n  then completes its statistical data on the image whilst it is manipulating it.  
         [0158]     A step E 603  is then executed, after step E 602 , during which the client device  11   n  receives the precincts PR.  
         [0159]     At a step E 604 , the precincts PR received are processed successively by the client device  11   n  in their order of arrival. In this step E 604 , the client device  11   n  recovers in particular the size of each precinct PR. The size of the precinct PR is obtained by the client device  11   n  by reading the header of the entity precinct data-bin in which the precinct PR is encapsulated when it is sent by the server device  10 , in accordance with the JPIP protocol. Refer in particular to Annex A of reference [2] indicated above for more information on the entity precinct data-bin.  
         [0160]     After step E 604 , a step E 605  is executed in which the client device  11   n  compares the size of the current precinct PR with the memory space available in its cache in order to determine whether the space available in the cache is sufficient to store the current precinct PR.  
         [0161]     When the memory space available in the cache is not sufficient, the client device  11   n  executes the algorithm in  FIG. 7 , described below, in order to release memory space in the cache.  
         [0162]     Considering here that the memory space available in the cache is sufficient, step E 605  is followed by a step E 606  corresponding to the storage of the precinct PR in the cache of the client device  11   n .  
         [0163]     A step E 607  then makes it possible to determine whether or not the current precinct PR is the last precinct PR requested.  
         [0164]     In the negative at step E 607 , that is to say in the case where there remain precincts PR to be received, the algorithm continues with a step E 609 .  
         [0165]     At step E 609 , an interval of time Δt is determined between the time of the last updating of the image displayed and the current time.  
         [0166]     In the case where this interval of time Δt is greater than a predetermined time d, the data received relating to the image zone to be displayed are decoded and displayed before returning to step E 603 . In the contrary case, that is to say if the interval of time Δt is not greater than the predetermined time d, the algorithm returns directly to step E 603  without decoding and display of the received data.  
         [0167]     According to a variant, there is calculated at step E 609  not an interval of time between the time of the last updating of the displayed image and the current time, but a quantity of data received since the last passage through this step E 609 . If the quantity of data received is greater than a predetermined quantity Q, the image is refreshed before passing to step E 603 . In the contrary case, the algorithm continues directly through step E 603 , without refreshing the image.  
         [0168]     At step E 607 , when it is determined that the current precinct PR is the last precinct PR requested, this means that all the precincts PR have been received, and at step E 608  the final version of the image is displayed.  
         [0169]     With reference to  FIG. 7 , a description is now given of the procedure of the algorithm relating to the release in the cache of sufficient memory space to store therein the current precinct PR, this procedure being executed when it is detected at step E 605  that the space available in the cache is not large enough to store the current precinct PR therein.  
         [0170]     This procedure of releasing space in the memory begins at step E 701  with the search in the table TAB_CLIENT for the precinct PR having the lowest transmission rate TT Id . The value of the transmission rate TT Id  of the precinct PR having the lowest transmission rate TT Id  is stored in the variable Vtt at a step E 702 .  
         [0171]     A step E 703  is then executed after step E 702  in order to determine whether or not the current precinct PR belongs to the zone to be displayed.  
         [0172]     In the case where, at step E 703 , it is determined that the current precinct PR does not belong to the zone to be displayed, the current precinct PR is eliminated from the cache at a step E 704 . A step E 705  is executed afterwards in order to determine whether or not the memory space released by the elimination of the current precinct PR is sufficient.  
         [0173]     If, at step E 705 , it is determined that the memory space released is sufficient, the procedure of releasing memory space stops, step E 707 , and the algorithm continues with step E 606  described above with reference to  FIG. 6 .  
         [0174]     In the case where, at step E 703 , it is determined that the precinct PR belongs to the zone to be displayed or if it is determined at step E 705  that the memory space released is insufficient, a step E 706  is then executed.  
         [0175]     At step E 706 , a precinct PR is sought which has not yet been processed and has a transmission rate TT Id  equal to or immediately greater than Vtt. When a precinct PR satisfying the above condition has been found, the variable Vtt takes the value of the transmission TT Id  of the precinct PR found and the procedure continues at step E 703 .  
         [0176]     The functioning of the client device  11   n  in the case of use of the second method of coding metadata-stat boxes described above is now described still with reference to  FIGS. 6 and 7 .  
         [0177]     With the use of the second method of coding metadata-stat boxes, the behavior of the client device  11   n  is somewhat modified compared with that described above, which corresponds to the use of the first method of coding metadata-stat boxes.  
         [0178]     This is because, in the case of the use of the second coding method, the client device  11   n  does not know the intra-class identifier Id of the precincts PR represented by their respective transmission rates TT Id  when the metadata-stat box is received at step E 602 . The client device  11   n  knows only the order in which the precincts PR must arrive.  
         [0179]     The client device  11   n  must therefore await the reception of the entities precinct data-bin comprising the intra-class identifier Id of the precinct PR which contain these entities precinct data-bin in order to make the link between the intra-class identifier Id and the transmission rate TT Id . With the second method of coding the metadata-stat boxes, the table TAB_CLIENT is filled only at step E 603 .  
         [0180]     The other steps in  FIGS. 6 and 7  described above are not modified with the use of the second method of coding the metadata-stat boxes.