Abstract:
An information storage medium for storing multi angle data, and a recording method and a reproducing apparatus thereof. The information storage medium stores data for a plurality of angles of a scene in interleaved blocks. Sizes of the interleaved blocks are integral multiples of sizes of integral numbered aligned units that include packets. Angle change points are included in each of the interleaved blocks which allows a reproducing apparatus to seamlessly jump from one angle to another angle during reproduction of the multi angle data. A number of the angle points recorded on the information storage medium is computed so that a jumping distance required by the data during reproduction does not exceed a maximum jumping distance of a reproducing apparatus.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of application Ser. No. 10/885,130 filed on Jul. 7, 2004, now U.S. Pat. No. 7,493,019, which claims the benefit of Korean Patent Application Nos. 2003-75825 filed on Oct. 29, 2003, and 2004-22878 filed on Apr. 2, 2004, in the Korean Intellectual Property Office, and U.S. Provisional Application No. 60/484,672 filed on Jul. 7, 2003, in the United States Patent and Trademark Office, the disclosures of which are incorporated herein by reference. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to multi angle data used when encoding and/or decoding video object data, and more particularly, to an information storage medium which stores the multi angle data, a method of recording and/or reproducing the multi angle data, and an apparatus for recording and/or reproducing the multi angle data. 
     2. Description of the Related Art 
     Multi angle data is obtained by photographing a scene with several cameras at different angles and encoding a result of the photographing. When a change of viewing angle of the photographed scene is desired during reproduction of contents including the multi angle data, a change of angle command is sent to a reproducing apparatus, and the reproducing apparatus reproduces data of the scene photographed at the desired angle in response to the command. For angle change, the multi angle data are divided into predetermined units and the units are alternately recorded using interleaving. 
     Accordingly, a pickup of the reproducing apparatus must jump to other positions so as to detect and reproduce interleaved blocks at an angle or accomplish angle change while reading the multi angle data recorded using interleaving. However, an increase in sizes of the interleaved blocks results in an increase in the distance between a current position and a position to which a pickup of the reproducing apparatus must jump for angle change. In this case, seamless reproduction is not guaranteed. On the contrary, if a size of an interleaved block is small, jumping of the pickup of the reproducing apparatus is frequently required during data reproduction that does not require angle change. Accordingly, it is important to adjust a size of an interleaved block appropriately. 
     Further, a jumping point allowing the reproducing apparatus to jump to other interleaved blocks at a different angle may be set within one interleaved block. In this case, a total number of jumping points must be appropriately determined so that the multi angle data is effectively reproducible. 
     SUMMARY OF THE INVENTION 
     The present invention provides an information storage medium on which multi angle data is recorded to enable seamless reproduction, and a method of recording and/or reproducing the multi-angle data and an apparatus for recording and/or reproducing the multi angle data. 
     The present invention also provides a method of determining a total number of angle points that allow a reproducing apparatus to jump to change reproduction positions within an interleaved block. 
     According to an aspect of the present invention, there is provided an information storage medium on which multi angle data comprising at least one unit of angle data is recorded, wherein the multi angle data comprises interleaved blocks, each of which includes at least one predetermined sized packet, and the data of one angle are interleaved with the data of at least one other angle in units of the interleaved blocks, sizes of the interleaved blocks being integral multiples of sizes of integral numbered aligned units that include packets. 
     Each of the interleaved blocks may include at least one angle point that allows a reproducing apparatus to continue data reproduction while jumping to other reproduction positions during reproduction of the angle data, a number of angle points includible in each of the interleaved blocks being integral multiples of a number of the aligned units. 
     According to another aspect of the present invention, there is provided a method of recording multi angle data that includes interleaved blocks, each of which includes at least one angle point that allows a reproducing apparatus to jump to other reproduction positions during data reproduction, using interleaving, the method comprising computing a distance between angle points; compensating for an offset between the computed distance and a reproduction length of a packet comprising each of the interleaved blocks; computing a maximum number of angle points in one interleaved unit that is obtained when a possible longest jumping distance to which the reproducing apparatus can jump during data reproduction is smaller than or equal to a maximum jumping distance given by the reproducing apparatus; and making interleaved blocks based on the distance between angle points and a number of angle points, and recording the multi angle data on the interleaved blocks. 
     According to yet another aspect of the present invention, there is provided an apparatus for reproducing multi angle data stored in interleaved blocks, each of which includes at least one angle point allowing the apparatus to jump to other reproduction positions during data reproduction, the apparatus comprising a reading unit which reads the multi angle data; and a buffer which stores the read multi angle data, wherein the multi angle data comprises interleaved blocks, each of which includes at least one predetermined sized packet, and the angle data of one angle are interleaved with angle data of at least one other angle in units of interleaved blocks, sizes of the interleaved blocks being integral multiples of sizes of integral numbered aligned units that include packets. 
     Additional aspects and/or advantages of the invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The above and/or other aspects and advantages of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings in which: 
         FIG. 1A  illustrates a first angle data file; 
         FIG. 1B  illustrates a second angle data file; 
         FIG. 1C  illustrates recording of the first and second angle data files using interleaving; 
         FIG. 2  illustrates the multi angle data of  FIG. 1  recorded on an information storage medium; 
         FIG. 3  is a block diagram of a reproducing apparatus for seamlessly reproducing data, according to an embodiment of the present invention; 
         FIG. 4  is a graph illustrating an amount of data stored in a read buffer during jumping of a pickup; 
         FIG. 5  illustrates a structure of a clip file recorded using interleaving to realize multi angle data, according to an embodiment of the present invention; and 
         FIG. 6  is a flowchart illustrating a method of calculating the distance S ANGLE     —     POINTS  between two angle points and a length S EXTENT  of an extent, according to an embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Reference will now be made in detail to the embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below to explain the present invention by referring to the figures. 
       FIGS. 1A-1C  illustrate multi angle data recorded using interleaving. The multi angle data comprises a first angle data file  110  as shown in  FIG. 1A  and a second angle data file  120  as shown in  FIG. 1B  that contain audio/video (AV) data for respective angles. The first and second angle data files  110  and  120  are alternately and continuously recorded in an area  130  of an information storage medium as shown in  FIG. 1C  for fast change of angle views. In other words, the first and second angle data files  110  and  120  are divided into predetermined units and the predetermined units are recorded using interleaving. Accordingly, a pickup of a reproducing apparatus is not required to move a large distance to read data at a changed angle when angle views are changed, thereby guaranteeing seamless reproduction. 
     Each predetermined unit of angle data included in data recorded on the information storage medium using interleaving is referred to as an extent. In the case of a digital versatile disc-video (DVD-Video), an extent is equivalent to an interleaved unit. That is, the extent indicates data recorded in a file system without a pause. Accordingly, jumping of a pickup of the reproducing apparatus to other extents is required to exactly read data for data reproduction. 
       FIG. 2  illustrates the interleaved data of  FIGS. 1A-1C  recorded on an information storage medium. An AV stream indicates a bit stream comprising a plurality of source packets. A source packet is a 192-byte packet that includes a 188 byte MPEG-2 transport stream (TS) packet and a 4-byte header. In general, data is stored in sector units in an information storage medium. A sector is a basic unit of recording a file. In general, a sector stored in a DVD is 2048 bytes long. Thus, a sector is comprised of several source packets. 
       FIG. 3  is a simplified block diagram of a reproducing apparatus for seamlessly reproducing data. Referring to  FIG. 3 , data stored in an information storage medium is read by a reading unit  310  and the read data is transmitted to a read buffer  330  via a demodulation unit  320 . The read buffer  330  is used to buffer a bit stream that is to be transmitted to a decoder, and thus, use of the buffer guarantees seamless reproduction even during jumping of a pickup  305  in the reading unit  310 . A source depacketizer  340  converts the bit stream that includes a plurality of source packets into an MPEG-2 TS packet and outputs the MPEG-2 TS packet. 
     Parameters related to buffering are as follows: 
     (a) R UD : A data rate of data transmitted from the reading unit  310  to the read buffer  330  via the demodulation unit  320 ; 
     (b) R TS : A maximum value of an encoding rate TS_recording_rate of an MPEG-2 TS, i.e., a speed of outputting data to the decoder; and 
     (c) R MAX : A maximum bit rate of a source packet stream. An MPEG-2 TS packet is 188 bytes long and inclusion of a 4-byte header into the MPEG-2 TS packet forms a source packet stream. Therefore, a maximum bit rate R MAX  equals (192/188)×R TS . 
     Assuming that data B OCCUPIED  output from the read buffer  330  to the decoder at a speed TS_recording_rate satisfies Equation (1), underflow of the read buffer  330  is not caused even if data cannot further be stored in the read buffer  330  for a time T JUMP . 
     
       
         
           
             
               
                 
                   
                     B 
                     OCCUPIED 
                   
                   ≥ 
                   
                     
                       
                         
                           T 
                           JUMP 
                         
                         ⁡ 
                         
                           ( 
                           
                             m 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             s 
                           
                           ) 
                         
                       
                       1000 
                     
                     × 
                     
                       192 
                       188 
                     
                     × 
                     TS_recording 
                     ⁢ 
                     _rate 
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
       FIG. 4  is a graph illustrating an amount of data stored in the read buffer  300  during jumping of the pickup  305 . In  FIG. 4 , T JUMP  denotes a sum of a jumping time, i.e., an access time T ACCESS , and a time T OVERHEAD  required to read two error correcting codes (ECCs). That is, T JUMP =T ACCESS +T OVERHEAD , and T OVERHEAD  (ms)≦{2×ECC (bytes)}/R UD  (bps). 
     When reading data stored in an information storage medium, the read buffer  330  is filled with the read data. Before the pickup jumps to a new position, the read buffer  330  must be filled with data as specified in Equation (1) so as to prevent underflow of the read buffer  330 . That is, in order to prevent underflow of the read buffer  330 , a length S READ  of data that must be read to the read buffer  330  before jumping of the pickup must satisfy Equation (2). 
     
       
         
           
             
               
                 
                   
                     
                       S 
                       READ 
                     
                     ⁡ 
                     
                       ( 
                       bit 
                       ) 
                     
                   
                   ≥ 
                   
                     
                       
                         
                           
                             T 
                             JUMP 
                           
                           ⁡ 
                           
                             ( 
                             ms 
                             ) 
                           
                         
                         × 
                         
                           R 
                           UD 
                         
                       
                       1000 
                     
                     × 
                     
                       
                         TS_recording 
                         ⁢ 
                         _rate 
                         ⁢ 
                         
                           ( 
                           bps 
                           ) 
                         
                         × 
                         192 
                       
                       
                         
                           
                             
                               R 
                               UD 
                             
                             ⁡ 
                             
                               ( 
                               bps 
                               ) 
                             
                           
                           × 
                           188 
                         
                         - 
                         
                           TS_recording 
                           ⁢ 
                           _rate 
                           ⁢ 
                           
                             ( 
                             bps 
                             ) 
                           
                           × 
                           192 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
       FIG. 5  illustrates a structure of a clip file recorded using interleaving to realize multi angle data. 
     As described above, respective angle data of one angle are interleaved among angle data of at least one other angle to reduce jumping time and response time for angle change, thereby seamlessly changing angles. As a result, jumping is required not only for angle change but also for normal playback at a same angle, in order to detect and reproduce desired angle data. An interleaved block is considered an extent of a clip file. An extent may include a plurality of angle points allowing a pickup to jump to other angle data. Accordingly, a length S EXTENT  of the extent in sectors and a distance S ANGLE     —     POINTS  between two angle points must satisfy Equation (3). 
     
       
         
           
             
               
                 
                   
                     
                       S 
                       EXTENT 
                     
                     ⁡ 
                     
                       ( 
                       sectors 
                       ) 
                     
                   
                   = 
                   
                     INT 
                     ⁢ 
                     
                       { 
                       
                         
                           ( 
                           
                             
                               
                                 
                                   ∑ 
                                   
                                     in_one 
                                     ⁢ 
                                     _extent 
                                   
                                 
                                 ⁢ 
                                 
                                   S 
                                   ANGLE_POINTS 
                                 
                               
                               + 
                               6144 
                             
                             = 
                             192 
                           
                           ) 
                         
                         / 
                         6144 
                       
                       } 
                     
                     × 
                     3 
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
     The clip file of multi angle data, shown in  FIG. 5 , has the following restrictions: 
     (i) the clip file must be located on a layer; 
     (ii) extents of multi angle streams must start with an angle point and be aligned with aligned units. If a last aligned unit of an extent is not completely filled with input transport streams, an unoccupied space of the last aligned unit is filled with null packets; 
     (iii) each distance S ANGLE     —     POINTS  is an integral multiple of a length of a source packet, e.g., an integral multiple of 192 bytes; and 
     (iv) the length S EXTENT  of the extent, a total number of angle points in the extent, and an angle change time must meet the buffer occupancy rules defined in Equations (1) and (2). Examples of buffer parameters are shown in Tables 1 and 2 that appear below. 
     The distance S ANGLE     —     POINTS  between two angle points is shorter than the length S EXTENT  of the extent, and a maximum value of the access time T ACCESS  for angle change is obtained when jumping to a farthest angle point in a next unit of angle data from a current angle point in a current unit of angle data. A unit of angle data may be referred to as a plurality of blocks of data corresponding to a same time, wherein each block corresponds to data at a respective angle. Referring to  FIG. 5 , the data Angle  1 - 1 , Angle  2 - 1  and Angle  3 - 1  may be considered to be the current unit of angle data, and the data Angle  1 - 2 , Angle  2 - 2  and Angle  3 - 2  may be considered to be a next unit of angle data. If an angle change command is received before arriving at the angle point  520  after the angle point  510 , the maximum value of the access time T ACCESS  is obtained when jumping to a first angle point  530  of Angle  3 - 2  from a last angle point  520  of Angle  1 - 1  after reproducing remaining data of Angle  1 - 1 . 
     If several angle points are set within an extent, the length S READ  of  FIG. 4  is equal to the distance S ANGLE     —     POINTS . In this case, Equation (2) may be rewritten as follows: 
     
       
         
           
             
               
                 S 
                 ANGLE_POINTS 
               
               ⁡ 
               
                 ( 
                 bit 
                 ) 
               
             
             ≥ 
             
               
                 
                   
                     
                       T 
                       JUMP 
                     
                     ⁡ 
                     
                       ( 
                       ms 
                       ) 
                     
                   
                   × 
                   
                     
                       R 
                       UD 
                     
                     ⁡ 
                     
                       ( 
                       bps 
                       ) 
                     
                   
                 
                 1000 
               
               × 
               
                 
                   TS_recording 
                   ⁢ 
                   _rate 
                   ⁢ 
                   
                     ( 
                     bps 
                     ) 
                   
                   × 
                   192 
                 
                 
                   
                     
                       
                         R 
                         UD 
                       
                       ⁡ 
                       
                         ( 
                         bps 
                         ) 
                       
                     
                     × 
                     188 
                   
                   - 
                   
                     TS_recording 
                     ⁢ 
                     _rate 
                     ⁢ 
                     
                       ( 
                       bps 
                       ) 
                     
                     × 
                     192 
                   
                 
               
             
           
         
       
     
       FIG. 6  is a flowchart illustrating a method of calculating the distance S ANGLE     —     POINTS  between two angle points and a length S EXTENT  of an extent, according to an embodiment of the present invention. Referring to  FIG. 6 , the distance S ANGLE     —     POINTS  is calculated with given access time T ACCESS  and data output speed TS_recording_rate, using Equation (3) (S 610 ). Next, lengths A and B of data that are reproduced at the data output speed TS_recording_rate for 500 ms and 1000 ms, respectively, are calculated (S 620 ). Since a distance between group-of-pictures (GOPs) is between 500 ms and 1000 ms according to the MPEG-2 standards, a distance between angle points is preferably set between 500 ms and 1000 ms. Then, the distance S ANGLE     —     POINTS  is compared with the lengths A and B (S 630 ). If the distance S ANGLE     —     POINTS ≦the length A, the distance S ANGLE     —     POINTS  is determined to be equal to the length A, and if the length A&lt;the distance S ANGLE     —     POINTS ≦the length B, the distance S ANGLE     —     POINTS  is determined to be equal to the length B (S 630 ). 
     Next, a maximum number M of angle points in an interleaved unit that satisfies that a longest jumping distance less than (&lt;) a maximum jumping distance for the given access time T ACCESS , is calculated (S 640 ). Since the available maximum jumping distance of a reproducing apparatus is set by the reproducing apparatus, the longest jumping distance is calculated by 2×(angle number−1)×M×S ANGLE     —     POINTS . Thus, the maximum number M can be computed using the computed longest jumping distance. Then, the length S EXTENT  of the extent equals INT[(M×S ANGLE     —     POINTS +6144−192)/6144]×3 as set forth in Equation (3) above and has M angle points. 
     Considering that jumping is made between two angle points, angle units, each of which corresponds to data between two angle points in an angle data unit, are preferably aligned with sectors. 
     Tables 1 and 2 show example values of the length S EXTENT  of an extent and the distance S ANGLE     —     POINTS  between two angle points computed using the above method. In detail, Table 1 shows example values of the length S EXTENT  and the distance S ANGLE     —     POINTS  when a scene is photographed at three angles. Table 2 shows example values of the length S EXTENT  and the distance S ANGLE     —     POINTS  when the scene is photographed at nine angles. 
     
       
         
               
               
             
               
               
               
               
             
               
               
             
               
               
               
               
             
           
               
                   
                 TABLE 1 
               
             
             
               
                   
                   
               
               
                   
                 Maximum Jump Distance 
               
             
          
           
               
                   
                 10000 sectors 
                 20000 sectors 
                 40000 sectors 
               
               
                   
                 (T ACCESS : 
                 (T ACCESS : 
                 (T ACCESS : 
               
               
                   
                 210 ms) 
                 270 ms) 
                 330 ms) 
               
             
          
           
               
                 TS_record- 
                 S EXTENT , and Angle Point Number and 
               
               
                 ing_rate 
                 Length in S EXTENT   
               
               
                   
               
             
          
           
               
                 20 Mbps 
                 2496, 4, 500 ms 
                 4989, 8, 500 ms 
                 9975, 8, 1 sec 
               
               
                 24 Mbps 
                 2247, 3, 500 ms 
                 4491, 3, 1 sec 
                 8979, 6, 1 sec 
               
               
                 30 Mbps 
                 1872, 1, 1 sec 
                 3741, 2, 1 sec 
                 9351, 5, 1 sec 
               
               
                   
               
             
          
         
       
     
     
       
         
               
               
             
               
               
               
               
             
               
               
             
               
               
               
               
             
           
               
                   
                 TABLE 2 
               
             
             
               
                   
                   
               
               
                   
                 Maximum Jump Distance 
               
             
          
           
               
                   
                 10000 sectors 
                 20000 sectors 
                 40000 sectors 
               
               
                   
                 (T ACCESS : 
                 (T ACCESS : 
                 (T ACCESS : 
               
               
                   
                 210 ms) 
                 270 ms) 
                 330 ms) 
               
             
          
           
               
                 TS_record- 
                 S EXTENT , and Angle Point Number and 
               
               
                 ing_rate 
                 Length in S EXTENT   
               
               
                   
               
             
          
           
               
                 20 Mbps 
                 624, 1, 500 ms 
                 1248, 2, 500 ms 
                 2496, 2, 1 sec 
               
               
                 24 Mbps 
                 N.A. 
                 N.A. 
                 1497, 1, 1 sec 
               
               
                 30 Mbps 
                 N.A. 
                 N.A. 
                 1872, 1, 1 sec 
               
               
                   
               
             
          
         
       
     
     In general, extents of a file are aligned with sectors. According to the present invention, a source packet is 192 bytes long and thus cannot be aligned with a sector of 2048 bytes. Therefore, three continuous sectors are grouped into an access unit. An access unit of three sectors is a minimum unit where an integral multiple of a length of a source packet is equal to a length of the access unit. In other words, where a sector has a length of 2048 bytes, a length of 32 source packets equals a length of three sectors, i.e., one access unit. 
     The present invention may be realized as a computer program. In this case, codes and code segments that are the members of the present invention can be easily inferred by computer programmers in the art to which the present invention belongs. Also, the computer program may be stored in a computer readable medium. When the computer program is read and executed by a computer, a method of recording a multi angle data is accomplished. The computer readable medium may be any medium, such as a magnetic recording medium, an optical recording medium, and a carrier wave medium. 
     As described above, according to the present invention, multi angle data is effectively recordable so that the multi angle data is seamlessly without excessive jumping of a pickup for data reproduction. 
     Although a few embodiments of the present invention have been shown and described, it would be appreciated by those skilled in the art that changes may be made in this embodiment without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents.