# Patent

## Title
Information storage medium storing multi angle data, and recording method and reproducing apparatus thereof

## 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.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application 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 SANGLE—POINTS between two angle points and a length SEXTENT 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 200. 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) 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) RUD: A data rate of data transmitted from the reading unit 310 to the read buffer 330 via the demodulation unit 320;
(b) RTS: 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) RMAX: A maximum bit rate of a source packet stream. An MPEG-2 TS packet is 188 byte long and inclusion of a 4-byte header into the MPEG-2 TS packet forms a source packet stream. Therefore, a maximum bit rate RMAX equals (192/188)×RTS.
Assuming that data BOCCUPIED 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 TJUMP.




  
    
      
        
          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, TJUMP denotes a sum of a jumping time, i.e., access time TACCESS, and a time TOVERHEAD required to read two error correcting codes (ECCs). That is, TJUMP=TACCESS+TOVERHEAD, and TOVERHEAD(ms)≦{2×ECC (bytes)/RUD (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 SREAD 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
                
                ⁡
                
                  (
                  
                    m
                    ⁢
                    
                      
                    
                    ⁢
                    s
                  
                  )
                
              
              ×
              
                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 SEXTENT of the extent in sectors and a distance SANGLE—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 SANGLE—POINTS is an integral multiple of a length of a source packet, e.g., integral multiples of 192 bytes; and
(iv) the length SEXTENT of the extent, a total number of angle points in the extent, and angle change time must meet the buffer occupancy rules defined in Equations (1) and (2). Examples of buffer parameters are shown in following Tables 1 and 2.
The distance SANGLE—POINTS between two angle points is shorter than the length SEXTENT of the extent, and a maximum value of the access time TACCESS 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 an 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 the current unit of angle data and the data Angle 1-2, Angle 2-2 and Angle 3-2 may be considered 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 TACCESS 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 the angle 1-1.
If several angle points are set within an extent, the length SREAD of FIG. 4 is equal to the distance SANGLE—POINTS. In this case, Equation (2) may be expressed as follows:




  
    
      S
      ANGLE_POINTS
    
    ⁡
    
      (
      bit
      )
    
  
  ≥
  
    
      
        
          
            T
            JUMP
          
          ⁡
          
            (
            
              m
              ⁢
              
                
              
              ⁢
              s
            
            )
          
        
        ×
        
          
            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 SANGLE—POINTS between two angle points and a length SEXTENT of an extent, according to an embodiment of the present invention. Referring to FIG. 6, the distance SANGLE—POINTS is calculated with given access time TACCESS and data output speed TS_recording_rate, using Equation (3) (S610). 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 (S620). 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 SANGLE—POINTS is compared with the lengths A and B (S630). If the distance SANGLE—POINTS≦ the length A, the distance SANGLE—POINTS is determined to be equivalent to the length A, and if the length A< the distance SANGLE—POINTS≦ the length B, the distance SANGLE—POINTS is determined to be equivalent to the length B (S630).
Next, a maximum number M of angle points in an interleaved unit that satisfies that a longest jumping distance less than (<) a maximum jumping distance for the given access time TACCESS, is calculated (S640). 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×SANGLE—POINTS. Thus, the maximum number M can be computed using the computed longest jumping distance. Then, the length SEXTENT of the extent equals to INT×3 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 SEXTENT of an extent and the distance SANGLE—POINTS between two angle points computed using the above method. In detail, Table 1 shows example values of the length SEXTENT and the distance SANGLE—POINTS when a scene is photographed at three angles. Table 2 shows example values of the length SEXTENT and the distance SANGLE—POINTS when the scene is photographed at nine angles.









TABLE 1









Maximum Jump Distance











10000 sectors
20000 sectors
40000 sectors



(TACCESS:
(TACCESS:
(TACCESS:



210 ms)
270 ms)
330 ms)









SEXTENT, and Angle Point Number and


TS_recording_rate
Length in SEXTENT













20 Mbps
2496, 4, 500 ms
4989, 8, 500
9975, 8, 1 sec




ms


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



(TACCESS:
(TACCESS:
(TACCESS:



210 ms)
270 ms)
330 ms)









SEXTENT, and Angle Point Number and


TS_recording_rate
Length in SEXTENT













20 Mbps
624, 1, 500 ms
1248, 2, 500
2496, 2, 1 sec




ms


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, and an optical recording 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.

## Claims

1. An computer-readable information storage medium on which multi angle data is recorded, the multi angle data comprising first angle data corresponding to a first angle and second angle data corresponding to a second angle, wherein:
the first angle data and the second angle data comprise a plurality of blocks, respectively;
the blocks of the first angle data are interleaved with the blocks of the second angle data;
each of the interleaved blocks comprises at least one angle point that allows a reproducing apparatus to jump from one angle point to another angle point during reproduction of the multi angle data and
a maximum number of angle points in each of the interleaved blocks is obtained by:
computing the distance between two angle points;
compensating for an offset between the computed distance and a reproduction length of a packet of the interleaved blocks; and
computing the maximum number of angle points in one interleaved block which limits a longest jumping distance which the multi angle data may require during data reproduction to be smaller than or equal to a maximum jumping distance of the reproducing apparatus.

2. The computer-readable information storage medium of claim 1, wherein the compensating for the offset between the computed distance and the reproduction length of the packet comprises:
computing a length of the data stream reproduced for a first predetermined time and a length of the data stream reproduced for a second predetermined time longer than the first predetermined time;
if the distance between angle points is smaller than the length of the data stream reproduced for the first predetermined time, replacing the distance between angle points with the length of the data stream reproduced for the first predetermined time; and
if the distance between angle points is greater than the length of the data stream reproduced for the first predetermined time and smaller than the length of the data stream reproduced for the second predetermined time, replacing the distance between angle points with the length of the data stream reproduced for the second predetermined time.

3. A method for determining a maximum number of angle points in one interleaved block, each of which includes at least one angle point that allows a reproducing apparatus to jump from one angle point to another angle point during reproduction of multi angle data, the method comprising:
computing a distance between two angle points;
compensating for an offset between the computed distance and a reproduction length of a packet of the interleaved blocks; and
computing a maximum number of angle points in one interleaved block which limits a longest jumping distance which the multi angle data may require during data reproduction to be smaller than or equal to a maximum jumping distance of the reproducing apparatus.

4. The method of claim 3, wherein the compensating for the offset between the computed distance and the reproduction length of the packet comprises:
computing a length of the data stream reproduced for a first predetermined time and a length of the data stream reproduced for a second predetermined time longer than the first predetermined time;
if the distance between angle points is smaller than the length of the data stream reproduced for the first predetermined time, replacing the distance between angle points with the length of the data stream reproduced for the first predetermined time; and
if the distance between angle points is greater than the length of the data stream reproduced for the first predetermined time and smaller than the length of the data stream reproduced for the second predetermined time, replacing the distance between angle points with the length of the data stream reproduced for the second predetermined time.

5. An apparatus for reproducing multi angle data from an information storage medium, the apparatus comprising:
a reading unit which reads the multi angle data from the information storage medium, the multi angle data comprising a first angle data corresponding to a first angle and a second angle data corresponding to a second angle, wherein the first angle data and the second angle data comprise a plurality of blocks, respectively, the blocks of the first angle data are interleaved with the blocks of the second angle data, and each of the interleaved blocks comprises at least one angle point that allows a reproducing apparatus to jump from one angle point to another angle point during reproduction of the multi angle data; and
a buffer which stores the read multi angle data,
wherein a maximum number of angle points in each of the interleaved blocks is obtained by:
computing the distance between two angle points;
compensating for an offset between the computed distance and a reproduction length of a packet of the interleaved blocks; and
computing the a maximum number of angle points in one interleaved block which limits a longest jumping distance which the multi angle data may require during data reproduction to be smaller than or equal to a maximum jumping distance of the reproducing apparatus.

6. The apparatus of claim 5, wherein the compensating for the offset between the computed distance and the reproduction length of the packet comprises:
computing a length of the data stream reproduced for a first predetermined time and a length of the data stream reproduced for a second predetermined time longer than the first predetermined time;
if the distance between angle points is smaller than the length of the data stream reproduced for the first predetermined time, replacing the distance between angle points with the length of the data stream reproduced for the first predetermined time; and
if the distance between angle points is greater than the length of the data stream reproduced for the first predetermined time and smaller than the length of the data stream reproduced for the second predetermined time, replacing the distance between angle points with the length of the data stream reproduced for the second predetermined time.