Abstract:
An image transmission method comprises the steps of: receiving a request including request information having size information concerning an image and/or area information concerning the image; reconstructing small image areas by taking out code words constituting the small image areas based on the request information, the code words being independent of one another; and transmitting a response including the small image area to a requester in each small image area reconstructed in the step of reconstructing small image areas.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The present invention relates to an image transmission method, a computer-readable image transmission program, a recording medium, and an image transmission apparatus.  
         [0003]     2. Description of the Related Art  
         [0004]     In recent years, in the fields of ubiquitous computing, home computer networking, and the like, it is important to transmit information other than sound such as video and still images. In many systems for transmitting video and still images, encoding techniques such as JPEG (Joint Photographic Experts Group), MPEG (Moving Picture Experts Group), and the like are used for efficient encoding.  
         [0005]     Transmission methods using encoding such as JPEG, MPEG, and the like are efficient in transmission in a predetermined format but are problematic in that they are not suitable (namely, not efficient) for interactive transmission. In view of this, JPEG 2000 was standardized as a novel image encoding method in the end of 2000 (refer to Non-patent Documents 1 to 5, for example).  
         [0006]     Due to the image encoding method of JPEG 2000, it is possible to efficiently encode video and still images in interactive transmission and to process in accordance with an object without decoding code streams after the encoding.  
         [0007]     JPEG 2000 Part 9 referred to as JPIP is an international standard for transmitting video and still images encoded using JPEG 2000. JPIP includes a transmission method with a tile unit (JPT-stream method) and a transmission method with a precinct unit which is an area unit smaller than a tile (JPP-stream method) (refer to Patent Documents 1 to 5, for example).  
         [0008]     The following describes an example of a configuration of a server/client system according to JPIP (hereafter simply referred to as a JPIP system) with reference to  FIG. 1 .  FIG. 1  is a configuration diagram of a JPIP system. As shown in  FIG. 1 , The JPIP system includes a JPIP server and a JPIP client. The JPIP server returns an image area (or code words corresponding to the image area) to the JPIP client in response to a request from the JPIP client. The JPIP client includes an image name of a target and the image area in the request and transmits the request to the JPIP server. The JPIP server obtains data of the image area from the target image on the basis of information about the image name, the image area, and the like, and returns a response including the data of the image area to the JPIP client.  
         [0009]     The following describes the functional configuration of the JPIP system in the transmission method with a tile unit (JPT-stream method) with reference to  FIG. 2 .  FIG. 2  is a functional configuration diagram of the JPIP system in the JPT-stream method.  
         [0010]     As shown in  FIG. 2 , a client side in the transmission method with a tile unit (JPT-stream method) includes a request message generating unit, a response message decoding unit, and a tile part combining unit. A server side in the transmission method with a tile unit (JPT-stream method) includes a request message decoding unit, a tile identifying unit, a tile part reading unit, and a response message generating unit.  
         [0011]     The request message generating unit generates a JPIP request message including a name of a target image, information about a view window, and the like. The request message decoding unit obtains the name of the target image, the information about the view window, and the like from the JPIP request message. The tile identifying unit selects a tile within an area of the requested view window on the basis of the information obtained by the request message decoding unit. In this case, the coordinates of the upper left corner (tx 0 , ty 0 ) and the coordinates of the lower right corner (tx 1 , ty 1 ) of the tile selected on a reference grid are represented as follows: 
 
 tx   0 =( wx   0   −T   0x )/ T   sx   ,ty   0 =( wy   0   −T   0y )/ T   sy  
 
 tx   1 =( wx   1   −T   0x )/ T   sx   ,ty   1 =( wy   1   −T   0y )/ T   sy  
 
         [0012]     where, (wx 0 , wy 0 ) and (wx 1 , wy 1 ) indicate the coordinates of the upper left corner and the coordinates of the lower right corner of the view window normalized on the reference grid of a requested subband domain. Further, (T 0x , T 0y ) and (T sx , T sy ) indicate the offset and the size of the tile on the reference grid of the requested domain, respectively.  
         [0013]     The tile reading unit obtains a tile part and the response message generating unit generates a response message. The client side receives the response message and decodes the response message in the response message decoding unit. Then, the client side connects the decoded data and the like (tile parts, for example) in the tile part combining unit or the like and generates a code stream.  
         [0014]     The tile is a space unit for transmitting the code stream, so that the capability of transmission in space depends on the size of the tile. Thus, in the standard JPEG 2000, Start-Of-Tile-part (SOT), a marker having the length of a tile and positional information of a start, is defined. Accordingly, the client side is capable of readily receiving tile parts and simply connecting them, for example. Thus, it is relatively easy to construct the JPIP system in the transmission method with a tile unit (JPT-stream method). However, the transmission method with a tile unit (JPT-stream method) is problematic in that the capability of transmission in space is rough, since the tile is used as the transmission unit.  
         [0015]     Next, the following describes the functional configuration of the JPIP system in the transmission method with a precinct unit (JPP-stream method) with reference to  FIG. 3 .  FIG. 3  is a functional configuration diagram of the JPIP system in the JPP-stream method.  
         [0016]     As shown in  FIG. 3 , a client side in the transmission method with a precinct unit (JPP-stream method) includes a request message generating unit, a response message decoding unit, a tile part assembling unit, and a tile part combining unit. A server side in the transmission method with a precinct unit (JPP-stream method) includes a request message decoding unit, a tile identifying unit, a precinct identifying unit, a packet reading unit, and a response message generating unit.  
         [0017]     The request message generating unit generates a JPIP request message including a name of a target image, information about a view window, and the like. The request message decoding unit obtains the name of the target image, the information about the view window, and the like from the JPIP request message. The tile identifying unit selects a tile within an area of the requested view window on the basis of the information obtained by the request message decoding unit. The precinct identifying unit selects a precinct of the tile positioned within the area of the requested view window and selected by the tile identifying unit. In this case, the coordinates of the upper left corner (px 0 , py 0 ) and the coordinates of the lower right corner (px 1 , py 1 ) of the precinct selected on a reference grid in a subband domain are represented as follows: 
 
 px   0 =max( tx ( n ) 0   ,wx′   0 )/2 PPx  
 
 py   0 =max( ty ( n ) 0   ,wy′   0 )/2 PPy  
 
 px   1 =max( tx ( n ) 1   ,wx′   1 )/2 PPx  
 
 py   1 =max( ty ( n ) 1   ,wy′   1 )/2 PPy  
 
         [0018]     where, (tx(n) 0 , ty(n) 0 ) and (tx(n) 1 , ty(n) 1 ) indicate the coordinates of the upper left corner and the coordinates of the lower right corner of the nth tile on the reference grid of the subband domain. Also, PPx and PPy indicate indexes of the width and length of the precinct, respectively. Further, (wx′ 0 , wy′ 0 ) and (wx′ 1 , wy′ 1 ) indicate a range of the view window on the reference grid of the subband domain enlarged using a wavelet filter.  
         [0019]     The packet reading unit collects (or reads out) packets concerning the precinct selected by the precinct reading unit. Then, the response generating unit generates a response message including the packets. The client side receives the response message, decodes the response message in the response message decoding unit, and assembles the packets and the like into a tile part in the tile part assembling unit. Thereafter, the client side connects the tile parts in the tile part combining unit and generates a code stream. An application in the client side decodes the code stream and displays an image on a display unit or the like of the client.  
         [0020]     In the JPIP system in the transmission method with a precinct unit (JPP-stream method), the precinct, which is relatively smaller than a tile, is used as the unit. Thus, interactive capability in space is improved in comparison with the JPIP system in the transmission method with a tile unit (JPT-stream method) and it is possible to efficiently transmit encoded data in the area of the object view window to the client side. Accordingly, by constructing the JPIP system using the transmission method with a precinct unit (JPP-stream method), the JPIP system transmits an image with the improved efficiency.  
         [0021]     Non-patent Document 1: M. Boliek, C. Christopoulos and E. Majani, “J JPEG 2000 Part 1 020719 (Final Publication Draft),” ISO/IEC JTC 1/SC 29/WG1 N2678, July 2002.  
         [0022]     Non-patent Document 2: M. Gormish, D. Lee and M Marcellin, “JPEG 2000: Overview, Architecture, and Applications,” Int. Conf. on Image Processing, Vancouver, Canada, September 2000.  
         [0023]     Non-patent Document 3: R. Prandolini, G. Colyer, and S. Houchin, “15444-9:2004 JPEG 2000 image coding system—Part 9: Interactivity tools, APIs and protocols—JPIP,” Final Publication Draft Revision 3, ISO/IEC JTC 1/SC 29/WG 1 N3463, November 2004.  
         [0024]     Non-patent Document 4: D. Taubmana and R. Prandolini, “Architecture, Philosophy and Performance of JPIP: Internet Protocol Standard for JPEG 2000,” VCIP2003 SPIE volume 5150 pp. 649-663, July 2003.  
         [0025]     Non-patent Document 5: M. Gormish and S. Banerjee, “Tile-based transport of JPEG 2000 images,” VLVBO3, Madrid, Spain, September 2003.  
         [0026]     Patent Document 1: Japanese Laid-Open Patent Application No. 2004-274758  
         [0027]     Patent Document 2: Japanese Laid-Open Patent Application No. 2004-208266  
         [0028]     Patent Document 3: Japanese Laid-Open Patent Application No. 2004-349939  
         [0029]     Patent Document 4: Japanese Laid-Open Patent Application No. 2004-228717  
         [0030]     Patent Document 5: Japanese Laid-Open Patent Application No. 2004-40674  
         [0031]     However, the packet reading unit of the server side in the transmission method with a precinct unit (JPP-stream method) must perform a complicated process. Also, on the client side in the transmission method with a precinct unit (JPP-stream method), the tile part assembling unit must reconstruct (or assemble) a tile part rearranging packets in each precinct, for example, and generate a code stream, so that the process of the client side becomes complicated and thus poses a problem. Therefore, the JPIP system in the transmission method with a precinct unit (JPP-stream method) is problematic in that it requires high construction costs. In particular, when the process of the client side is complicated and the construction costs thereof are increased, vendors and the like are likely to construct a client and the like in the transmission method with a tile unit (JPT-stream method) so as to reduce the construction costs. As a result, the number of clients in the transmission method with a tile unit (JPT-stream method) having an inferior transmission efficiency is increased. Further, there is a problem of compatibility between the transmission method with a tile unit (JPT-stream method) and the transmission method with a precinct unit (JPP-stream method), for example.  
       SUMMARY OF THE INVENTION  
       [0032]     The present invention has been made in view of the aforementioned problems.  
         [0033]     It is a general object of the present invention to provide an improved and useful image transmission method, computer-readable image transmission program, recording medium, and image transmission apparatus in which the above-mentioned problems are eliminated.  
         [0034]     A more specific object of the present invention is to provide an image transmission method, a computer-readable image transmission program, a recording medium, and an image transmission apparatus in which the transmission efficiency of an image is improved and the complexity of the construction of the client side is reduced.  
         [0035]     In order to achieve the aforementioned objects, the present invention provides an image transmission method in an image transmission apparatus for transmitting a compressed image generated by an image compression apparatus for performing, in each color component constructing an image, a first filter process and a second filter process in a first scanning direction on the image divided into a plurality of small image areas and then a third filter process and a fourth filter process in a second scanning direction so as to obtain coefficient data of a first level, obtaining coefficient data to an Nth level by repeating the first through fourth processes, independently encoding the coefficient data in each level included in coefficient areas, created by dividing each level into a plurality of coefficient areas, based on a unit concerning the coefficient areas in each level and in each coefficient area so as to generate code words, and generating a compressed image including the code words, the image transmission method comprising the steps of: receiving a request including request information having size information concerning an image and/or area information concerning the image; reconstructing small image areas by taking out code words constituting the small image areas based on the request information, the code words being independent of one another; and transmitting a response including the small image area to a requester in each small image area reconstructed in the step of reconstructing small image areas.  
         [0036]     According to the present invention, there is provided the image transmission method in an image transmission apparatus for transmitting a compressed image generated by an image compression apparatus for performing, in each color component constructing an image, a first filter process and a second filter process in a first scanning direction on the image divided into a plurality of small image areas and then a third filter process and a fourth filter process in a second scanning direction so as to obtain coefficient data of a first level, obtaining coefficient data to an Nth level by repeating the first through fourth processes, independently encoding the coefficient data in each level included in coefficient areas, created by dividing each level into a plurality of coefficient areas, based on a unit concerning the coefficient areas in each level and in each coefficient area so as to generate code words, and generating a compressed image including the code words, the image transmission method comprising the steps of: receiving a request including request information having size information concerning an image and/or area information concerning the image; reconstructing small image areas by taking out code words constituting the small image areas based on the request information, the code words being independent of one another; and transmitting a response including the small image area to a requester in each small image area reconstructed in the step of reconstructing small image areas. Thus, it is possible to provide an image transmission method in which the transmission efficiency of an image is improved and the complexity of constructing a client side is reduced.  
         [0037]     In addition, the coefficient data corresponds to wavelet coefficient (or wavelet coefficient data) or the like, for example. The level corresponds to a subband level or the like, for example. The coefficient areas correspond to precincts in JPEG 2000, for example. The code words correspond to encoded data, namely, encoded image data or the like, for example. Further, the small image areas correspond to tiles or the like, for example.  
         [0038]     A computer-readable image transmission program, a recording medium, and an image transmission apparatus may be used so as to achieve the aforementioned objects.  
         [0039]     According to the present invention, it is possible to provide an image transmission method, a computer-readable image transmission program, and an image transmission apparatus in which the transmission efficiency of an image is improved and the complexity of constructing a client side is reduced. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0040]      FIG. 1  is a configuration diagram of a JPIP system;  
         [0041]      FIG. 2  is a functional configuration diagram of a JPIP system in a JPT-stream method;  
         [0042]      FIG. 3  is a functional configuration diagram of a JPIP system in a JPP-stream method;  
         [0043]      FIG. 4  is a configuration diagram of hardware of a server;  
         [0044]      FIG. 5  is a functional configuration diagram of a JPIP system in a JPT-stream method according to the present invention;  
         [0045]      FIG. 6  is a flowchart showing processing in the server;  
         [0046]      FIG. 7  is a diagram showing an example of a tile including ZLPS in a certain subband level;  
         [0047]      FIG. 8  is a diagram showing an example of a gray image divided into four tiles;  
         [0048]      FIG. 9  is a diagram showing precincts and numbers thereof when each tile shown in  FIG. 8  is wavelet-transformed in three levels;  
         [0049]      FIG. 10  is a first diagram showing an area concerning precincts to be returned to a client when a client accesses (or requests) a portion of the gray image in  FIG. 8  reduced to ½;  
         [0050]      FIG. 11  is a diagram showing an example of the generation of a tile part using ZLPS;  
         [0051]      FIG. 12  is a second diagram showing an area concerning precincts to be returned to a client when the client accesses (or requests) a portion of the gray image in  FIG. 8  reduced to ½;  
         [0052]      FIG. 13  is a diagram showing an example of the generation of a tile part using precincts concerning an area requested from a client, the precincts being included in a tile;  
         [0053]      FIG. 14  is an illustration showing the capability of interactive transmission in space when a tile part is generated using ZLPS in the JPT-stream method according to the present invention;  
         [0054]      FIG. 15  is a table showing the capability of interactive transmission in space when a tile part is generated using ZLPS in the JPT-stream method according to the present invention;  
         [0055]      FIG. 16  is an illustration showing the capability of progressive transmission when a tile part is generated without ZLPS in the JPT-stream method according to the present invention; and  
         [0056]      FIG. 17  is a table showing the capability of progressive transmission when a tile part is generated without ZLPS in the JPT-stream method according to the present invention. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0057]     In the following, embodiments of the present invention will be described with reference to the accompanying drawings.  FIG. 4  is a configuration diagram of hardware of a server. As shown in  FIG. 4 , the server includes an input apparatus  11 , a display apparatus  12 , a drive apparatus  13 , a memory apparatus  15 , a CPU  16 , and an interface apparatus  17 .  
         [0058]     The input apparatus  11  comprises a keyboard and a mouse for operation by a user of the server and is used for inputting various types of operation information to the server. The display apparatus  12  comprises a display unit or the like for use by the user of the server and is used for displaying various types of information. The interface apparatus  17  is for connecting the server to a network and the like.  
         [0059]     A program of the server is installed on the memory apparatus  15  or the like before shipment, supplied to the server using a recording medium  14  such as a CD-ROM after shipment, or downloaded via a network and the like, for example. The recording medium  14  is set in the drive apparatus  13  and the program is installed on the memory apparatus  15  or the like from the recording medium  14  via the drive apparatus  13 .  
         [0060]     The CPU  16  supplies functions as will be described in the following in accordance with the program while using the memory apparatus  15  as appropriate and performs processes as shown in a flowchart as will be described in the following, for example. The memory apparatus  15  stores image information and the like, for example.  
         [0061]     In addition, a client and the like have the same hardware configuration as that of the server. The CPU of the client performs processes and the like as will be described in the following in accordance with a program of the client while using as appropriate the memory apparatus and the like of the client, for example.  
         [0062]     In the following, an example of the functional configuration of a JPIP system in a transmission method with a tile unit (JPT-stream method) according to the present invention is described with reference to  FIG. 5 .  FIG. 5  is a functional configuration diagram of the JPIP system in the JPT-stream method according to the present invention.  
         [0063]     As shown in  FIG. 5 , a client side in the transmission method with a tile unit (JPT-stream method) according to the present invention includes a request message generating unit  21 , a response message decoding unit  22 , and a tile part combining unit  23 . A server side in the transmission method with a tile unit (JPT-stream method) according to the present invention includes a request message decoding unit  31 , a tile identifying unit  32 , a precinct identifying unit  33 , a packet reading unit  34 , a tile part assembling unit  35 , and a response message generating unit  36 .  
         [0064]     The request message generating unit  21  generates a JPIP request message including a name of a target image, information about a view window, and the like. The request message decoding unit  31  obtains the name of the target image, the information about the view window, and the like from the JPIP request message. The tile identifying unit  32  selects a tile within an area of the requested view window on the basis of the information obtained by the request message decoding unit  31 . The precinct identifying unit  33  selects a precinct of the tile positioned within the area of the requested view window and selected by the tile identifying unit  32 .  
         [0065]     The packet reading unit  34  collects (or reads out) packets concerning the precinct selected by the precinct reading unit  33 . The tile part assembling unit  35  assembles (or generates) a tile part including a tile header and packet data concerning the precinct within the area of the requested view window using the packets collected (or read out) by the packet reading unit  34  and position information about the packets. The response message generating unit  36  generates a response message including the tile part assembled by the tile part assembling unit  35 .  
         [0066]     The response message decoding unit  22  decodes the response message received from the server. The tile part combining unit  23  connects tile parts included in the response massage and generates a code stream.  
         [0067]     In other words, the JPIP system in the JPT-stream method according to the present invention includes the tile part assembling unit, which is included in the client side in the JPIP system in the JPP-stream method shown in  FIG. 3 , in the server side as the tile part assembling unit  35 . By employing such a structure, interactive capability in space is improved, and it is possible to efficiently transmit encoded data within the area of the object view window to the client side and to assemble the tile part on the server side, thereby reducing the processing on the client side and the complexity of the construction of the client side.  
         [0068]     In the following, an example of the processing on the server side is described with reference to  FIG. 6 .  FIG. 6  is a flowchart showing the processing in the server. In step S 10 , the server judges whether the JPIP request message is received from the client side. If the server judges that the JPIP request message is received from the client side (YES in step S 10 ), the process proceeds to step S 11 . If the server judges that the JPIP request message is not received from the client side (NO in step S 10 ), the process returns to step S 10 .  
         [0069]     In step S 11 , the server decodes the received JPIP request message and performs a process for obtaining the name of the target image, the information about the view window, and the like included in the JPIP request message. Following step S 11 , the process proceeds to step S 12  and the server performs a process for selecting a tile within the area of the requested view window on the basis of the information and the like obtained in step S 11 .  
         [0070]     Following step S 12 , the process proceeds to step S 13  and the server performs a process for selecting a precinct of the tile positioned within the area of the requested view window and selected in step S 12 .  
         [0071]     Following step S 13 , the process proceeds to step S 14  and the server performs a process for collecting (or reading out) packets concerning the precinct selected in step S 13 . Following step S 14 , the process proceeds to step S 15  and the server judges whether the processes in steps S 13  and S 14  are performed on all precincts. If the server judges that the processes in steps S 13  and S 14  are performed on all the precincts (YES in step S 15 ), the process proceeds to step S 16 . If the server judges that the processes in steps S 13  and S 14  are not performed on all the precincts (NO in step S 15 ), the process proceeds to step S 13 .  
         [0072]     In step S 16 , the server judges whether the processes in steps S 12  through S 15  are performed on all tiles. If the server judges that the processes in steps S 12  through S 15  are performed on all the tiles (YES in step S 16 ), the process proceeds to step S 17 . If the server judges that the processes in steps S 12  through S 15  are not performed on all the tiles (NO in step S 16 ), the process returns to step S 12 .  
         [0073]     In step S 17 , the server judges whether the server is requested on a tile basis, namely, whether the server is requested to transmit the response message including the tile part. If the server judges that the server is requested on a tile basis (YES in step S 17 ), the process proceeds to step S 18 . If the server judges that the server is not requested on a tile basis (NO in step S 17 ), the process proceeds to step S 19 .  
         [0074]     For example, if the JPIP request message received in step S 10  and decoded in step S 11  includes information about a request on a tile basis, the server judges that the server is requested on a tile basis. If the JPIP request message does not include information about a request on a tile basis, the server judges that the server is not requested on a tile basis.  
         [0075]     In step S 18 , the server assembles (or generates) the tile part including a tile header and packet data concerning the precincts within the area of the requested view window using the packets collected (or read out) in step S 14  and position information about the packets.  
         [0076]     In step  19 , the server generates the response message. For example, if the process proceeds to step S 19  through step S 18 , the server generates a response message (JPT-stream message) including the tile part, and if the process proceeds from step S 17  to step S 19  without step S 18 , the server generates a response message (JPP-stream message) including the packets collected (or read out) in step S 14 .  
         [0077]     Following step S 19 , the process proceeds to step S 20  and the server transmits the response message created in step S 19  to the client as a requestor, for example. Following step S 20 , the process proceeds to step S 21  and the server judges whether to end the process (process concerning the JPIP system, for example). If the server judges that the process is to be ended (YES in step S 21 ), the process is ended. If the server judges that the process is not to be ended (NO in step S 21 ), the process proceeds to step S 10 .  
         [0078]     By performing the process as shown in  FIG. 6 , it is possible to provide an image transmission method and the like in which the transmission efficiency of an image is improved and the complexity of constructing the client side is reduced.  
         [0079]     The following describes the details of the process of the generation and the like of a new tile part in the tile part assembling unit  35  and the like. In the transmission method with a precinct unit (JPP-stream method), it is not necessary to transmit unselected (or unrequested) precincts to the client, the precincts being outside the area of the view window requested from the client. However, in the transmission method with a tile unit (JPT-stream method), in JPEG 2000, although it is not necessary to send unselected tiles, information (or data) about an entire tile part is required even when the client requests only a specific portion of a tile.  
         [0080]     Thus, the tile part assembling unit  35  generates the tile part including a zero length packet (hereafter simply referred to as ZLP) with only one byte (or several bytes if needed) for indicating that the length of packet data concerning the precinct of the unselected area is zero, for example. In the following, an example of a tile including ZLPS in a certain subband level is shown in  FIG. 7 .  FIG. 7  is a diagram showing the example of the tile including ZLPS in the subband level.  
         [0081]     In the example of  FIG. 7 , the tile in the subband level has 25 precincts and the area of the view window requested from the client covers the area of the precincts from (iii, b) to (v, e). The precinct identifying unit  33  identifies the precincts of this area and the packet reading unit  34  obtains packet data concerning the precincts identified by the precinct identifying unit  33 . The tile part assembling unit  35  generates a new tile part in which the area of precincts unrequested by the client is filled with ZLPS.  
         [0082]     When a frame size requested from the client is smaller than the size of a requested image in the server by L 2  in the length and width, the tile part assembling unit  35  does not have to send code data in L zones from the requested image size in the subband level. Accordingly, the tile part assembling unit  35  may generate a tile part without using ZLPS for the L zones of the requested image size. In addition, the tile part assembling unit  35  may generate the tile part filling the L zones with ZLPS. Instead of filling the precinct area unrequested by the client with ZLPS, the tile part assembling unit  35  may generate a new tile part including information about the nonexistence of packet data concerning the precincts of the unselected area. Also, the tile part assembling unit  35  may generate a new tile part including information about the fact that the length of packet data concerning a code block of the unselected area is zero. Further, the tile part assembling unit  35  may generate a new tile part including information about the nonexistence of packet data concerning the code block of the unselected area. The method for constructing ZLPS may use a packet for indicating the nonexistence of packet data and a packet for indicating that packet data is not included in addition to the aforementioned methods.  
         [0083]     The following describes another example of the generation of the tile part including ZLPS and yet another example of the generation of the tile part using precincts necessary to send the precincts of the area of the view window requested from the client without using ZLPS.  
         [0084]      FIG. 8  is a diagram showing an example of a gray image divided into four tiles.  FIG. 9  is a diagram showing precincts and numbers thereof when each tile shown in  FIG. 8  is wavelet-transformed in three levels.  
         [0085]     The following describes an example of an area concerning precincts to be returned to the client when the client accesses (or requests) a portion of the gray image in  FIG. 8  reduced to ½ with reference to  FIG. 10 .  FIG. 10  is a first diagram showing the area concerning the precincts to be returned to the client when the client accesses (or requests) the portion of the gray image in  FIG. 8  reduced to ½.  
         [0086]     When the client accesses (or requests) the portion of the gray image in  FIG. 8  reduced to ½, preferably, the server transmits only packet data concerning the precincts of a shaded portion of  FIG. 10 , for example. However, as mentioned above, in the transmission method with a tile unit (JPT-stream method), in JPEG 2000, it is necessary to transmit information (or data) about an entire tile part even when the client requests only a specific portion of an image (the portion of the gray image reduced to ½ in this example).  
         [0087]     The following describes an example of the generation of the tile part using ZLPS with reference to  FIG. 11 .  FIG. 11  is a diagram showing the example of the generation of the tile part using ZLPS. The tile part assembling unit  35  generates the tile part using packet data concerning the precincts of shaded portions shown in  FIG. 11  and the ZLPS of horizontal-striped portions shown in  FIG. 11 , namely, 0, 2, 8, 10, 16, 18, 24, 26, 32, 34, 40, and 42 in  FIG. 11  and 4, 6, 12, 14, 20, 22, 28, 30, 36, 38, 44, and 46 in  FIG. 11 , respectively.  
         [0088]     The following describes another example of an area concerning precincts to be returned to the client when the client accesses (or requests) a portion of the gray image in  FIG. 8  reduced to ½ with reference to  FIG. 12 .  FIG. 12  is a second diagram showing the area concerning the precincts to be returned to the client when the client accesses (or requests) the portion of the gray image in  FIG. 8  reduced to ½.  
         [0089]     When the client accesses (or requests) the portion of the gray image in  FIG. 8  reduced to ½, preferably, the server transmits only packet data concerning the precincts of a shaded portion in the left of  FIG. 12 , for example. However, as mentioned above, in the transmission method with a tile unit (JPT-stream method), in the JPEG 2000, it is necessary to transmit information (or data) about an entire tile part even when the client requests only a specific portion of an image (the portion of the gray image reduced to ½ in this example). Thus, the server generates the tile part as shown in the right of  FIG. 12 , using the packet data concerning the precincts included in the tile including the precincts shown in the shaded portion in the left of  FIG. 12 .  
         [0090]     The following describes an example of the generation of the tile part using precincts included in the tile including the precincts concerning an area requested from the client with reference to  FIG. 13 .  FIG. 13  is a diagram showing the example of the generation of the tile part using the precincts concerning the area requested from the client, the precincts being included in the tile.  
         [0091]     The tile part assembling unit  35  generates the tile part using packet data concerning the precincts of striped portions shown in  FIG. 13 , for example.  
         [0092]     The following describes the capability of interactive transmission in space when a tile part is generated using ZLPS in the JPT-stream method according to the present invention with reference to  FIGS. 14 and 15 .  FIG. 14  is an illustration showing the capability of interactive transmission in space when the tile part is generated using ZLPS in the JPT-stream method according to the present invention.  
         [0093]      FIG. 14 -(A) is an image when the normal JPT-stream method is used and  FIG. 14 -(B) is an image when the JPT-stream method according to the present invention is used. Squares in the middle of  FIG. 14 -(A) and (B) indicate the area of a view window and crossed lines indicate the boundary of tiles. As clearly shown in  FIG. 14 , the JPT-stream method according to the present invention is capable of constructing necessary tile parts and transmitting them to the client.  
         [0094]      FIG. 15  is a table showing the capability of interactive transmission in space when the tile part is generated using ZLPS in the JPT-stream method according to the present invention. In  FIG. 15 , the stream code size is 166582 bytes and the size of the frame is (512, 512). As shown in  FIG. 15 , the JPT-stream method according to the present invention has the same capability of interactive transmission in space as that of the JPP-stream method.  
         [0095]     The following describes the capability of progressive transmission in the JPT-stream method according to the present invention with reference to  FIGS. 16 and 17 .  FIG. 16  is an illustration showing the capability of progressive transmission when the tile part is generated without using ZLPS in the JPT-stream method according to the present invention.  
         [0096]     As shown in  FIG. 16 , progressive transmission can be readily performed also in the JPT-stream method according to the present invention.  
         [0097]      FIG. 17  is a table showing the capability of progressive transmission when the tile part is generated without using ZLPS in the JPT-stream method according to the present invention. In  FIG. 17 , the stream code size is 164962 bytes and the volume of transmission bytes in the normal JPT-stream is 168626 bytes. As shown in  FIG. 17 , the JPT-stream method according to the present invention is capable of transmitting an image with improved resolution in comparison with the normal the JPP-stream method.  
         [0098]     In the aforementioned embodiment, the tile part assembling unit  35  generates the tile part including a tile header and packet data concerning the precincts within the area of the requested view window using the packets and position information about the packets. However, the tile part assembling unit  35  may generate a tile part in each subband level using packet data concerning the subband level of the requested view window, the tile part including the packet data.  
         [0099]     Further, the tile part assembling unit  35  may generate a tile part in each color component using precincts concerning the color component or packet data concerning a subband level, the tile part including the packet data.  
         [0100]     As mentioned above, according to the present invention, it is possible to provide an image transmission method, a computer-readable image transmission program, a recording medium, and an image transmission apparatus in which the transmission efficiency of an image is improved and the complexity of the construction of the client side is reduced. In this case, the image transmission apparatus corresponds to the aforementioned server or the like, for example.  
         [0101]     The present invention is not limited to the specifically disclosed embodiment, and variations and modifications may be made without departing from the scope of the present invention.  
         [0102]     The present application is based on Japanese priority application No. 2005-111037 filed Apr. 7, 2005, the entire contents of which are hereby incorporated herein by reference.