WO2005011269A1 - Optimization of stored video data - Google Patents

Optimization of stored video data Download PDF

Info

Publication number
WO2005011269A1
WO2005011269A1 PCT/IB2004/051279 IB2004051279W WO2005011269A1 WO 2005011269 A1 WO2005011269 A1 WO 2005011269A1 IB 2004051279 W IB2004051279 W IB 2004051279W WO 2005011269 A1 WO2005011269 A1 WO 2005011269A1
Authority
WO
WIPO (PCT)
Prior art keywords
gop
ones
storage device
video
repetitive
Prior art date
Application number
PCT/IB2004/051279
Other languages
French (fr)
Inventor
Patrick Johan Deunhouwer
Original Assignee
Koninklijke Philips Electronics, N.V.
U.S. Philips Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics, N.V., U.S. Philips Corporation filed Critical Koninklijke Philips Electronics, N.V.
Priority to JP2006520975A priority Critical patent/JP2006528862A/en
Priority to EP04744634A priority patent/EP1652379A1/en
Publication of WO2005011269A1 publication Critical patent/WO2005011269A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums

Definitions

  • the field of the present invention relates generally to digital data compression of video data, and more particularly relates to the coding of successive frames of video data in a selective manner to provide enhanced data compression.
  • MPEG Motion Picture Expert Group
  • the sequence of raw image data frames are divided into successive groups known as GOP's (group of pictures), respectively, and the coded GOP is comprised of independent frames I, predicted frames P and bidirectionally predicted frames B in such manner that GOP may be comprised, for example, as follows: I, B, B, P, B, B, P, B, B, P, B, B, P, B, B, P, B, B, B, B.
  • the first P frame is derived from the previous I frame, while the remaining P frames are derived from the last previous P frame.
  • the I and P frames are reference frames. Since each B frame is derived from the closest reference frames on either side of it, the pertinent P frames must be derived before the prior B frames can be derived.
  • the high definition independent frames I at the beginning of each GOP are required because of the use of frame differential encoding to avoid accumulated error.
  • the purpose of quantizing is to control the number of bits used in representing the changes between the frames.
  • the corresponding portions of frames are conveyed by motion vectors indicating where blocks in the reference frames may be located in the frame being derived.
  • PVR's Personal Video Recorders
  • storage capacity in the order hundreds of Gigabytes (a Gigabyte represents 10 bytes), whereby a user will be able to store many hours of video content (a 120 Gigabyte disk presently stores up to 60 hours of broadcast quality video, and even more hours if a higher compression ratio is used). Users typically want to store increasingly greater video content or data, but typically users will not remove video content even if it isn't required.
  • MPEG is (more or less) optimized for broadcast for decoders that only have a relatively small amount of memory.
  • a video program can be started without history information from every I-frame.
  • File sizes can be decreased by converting a stream of video data into files with a smaller size through use of higher compression ratios like MPEG-4 or DivX.
  • these file formats don't use the common parts in the stored files, and quality will be reduced by transcoding. Since large quantities of video data or information can be stored on a hard disk, and it is possible to access such information therefrom almost instantaneously, it is no longer required to treat the video data as linear media, in view of the quantitative digitized data now available on a hard disk for permitting highly accurate reproduction of the original video data.
  • Figure 1 is a block diagram showing three recorded MPEG files representing compressed video data divided into successive groups of pictures (GOP's);
  • Figure 2a is a block schematic diagram for illustrating one embodiment of the invention;
  • Figure 2b is a block schematic diagram illustrating another embodiment of the invention;
  • Figure 2c is a block schematic diagram showing yet another embodiment of the invention;
  • Figure 3 is a block schematic diagram showing an embodiment of the invention;
  • Figure 4 is a block schematic diagram showing another embodiment of the invention that includes a virtual file system with an abstraction layer;
  • Figure 5 is a sequence diagram of read requests relative to the embodiment of the invention of Figure 4;
  • Figure 6 is a flowchart for an embodiment of the invention;
  • Figure 7, is a block diagram showing show that a reference can point to another GOP and a differential code that is used to adapt the original GOP for another embodiment of the invention;
  • Figure 8 is a block schematic diagram showing yet another embodiment of the invention, showing the transformation of a GOP into another representation
  • the group of pictures (GOP) of recordings previously compressed are searched to identify redundant or identical frames/GOP's. For each GOP that is repeated one or more times, the GOP is replaced by a reference designation identifying that GOP or common block of frames. Not all GOP's need a reference, if a complete block is equal then only 1 reference with a length indicator is required. The first appearing common GOP is left in place, whereas the subsequent redundant or repeating corresponding frames or GOP's are identified by the reference designation for that frame or GOP.
  • a GOP is defined as a group or number of pictures that can each be played independently.
  • the method or idea is to first use a PVR to record video data online, followed by offline sequential searching through the stored video data or programs for frames that are identical. Next, pointer references (triggers) are used to identify repeating parts. On a typical PVR the total video file most recently recorded, and the video files from other recordings are accessible, thereby permitting reference to other video portions to be made.
  • MPEG video contains I, P, and B frames, whereby video cannot be started from a random position, but only from an I-frame. Therefore, in the present invention a GOP is defined as a group of pictures that can be played as a separate unit. If a TV program contains triggers and the trigger part is already present on the hard disk, the video fragment doesn't even have to be recorded. Some examples: -When a sport event like soccer is recorded it is very likely that it contains replays. An offline optimization could be used to reduce the total file size.
  • each frame is represented by an identifier or fingerprint.
  • the easiest identifiers are an average colour index, a CRC code or audio fingerprinting, for example.
  • the PVR may be possible to access an Internet server that has already calculated common blocks across popular programs. In this manner a reduction can be obtained in the number of CPU/disk cycles required to calculate identifiers for GOP's.
  • the offline optimization schema could be implemented as a process that has a lower priority than the file recording processes of the PVR, and thus only be active if there's are enough CPU/disk cycles available for the optimization.
  • a block schematic diagram is shown of three recorded MPEG files 2, 4, and 6, designated as a "First Recording, Second Recording, and Third Recording," respectively.
  • PVR personal video recorder
  • the invention is not limited to personal video recorders, and may be used in association with other video recorders.
  • the recorded video data files can be reduced in size by eliminating redundant groups of pictures or GOP's.
  • movies include picture data having adjacent audio track(s). It is assumed that the audio is either encoded in the GOP or present on the disk as a separate track of GOP's.
  • the video data files can then be reduced offline through use of the present invention.
  • a first embodiment of the invention as shown in Figure 2a, assume that it is determined that GOP5 of the first recording 2 is identical to GOP3.
  • the video data representing GOP5 is then replaced by a simple reference designation, such as 19, for example, in association with a pointer, namely pointer reference 19, pointing to GOP3.
  • a simple reference designation such as 19, for example, in association with a pointer, namely pointer reference 19, pointing to GOP3.
  • a pointer reference 19 is detected, GOP3 with then be played back again, followed by the remaining video data for GOP6 and GOP7, in this example.
  • the first recording 2 is reduced in size by removing the common blocks including GOP3, and GOP5, followed by assigning pointers 20 and 21 for pointing to the common block GOP3 for the appropriate beginning positions in the first recording 2 for GOP3 and GOP5, respectively, as shown.
  • the pointer reference 22 shows that GOP5 is identical to GOP3, which is repeated to obtain GOP5, along with the further reference indication "two GOP's, play one time" meaning that after GOP3 is replayed for GOP5, GOP3 is then replayed as GOP6, followed by the playing of GOP7, for completing the playback of the first recording 2.
  • Figure 3 Another embodiment of the invention is shown in Figure 3, showing an example of first, second, and third recordings 2, 4, 6, respectively, for which common blocks or common GOP's are detected between the programs of recordings 2, 4, and 6, respectively.
  • Reference pointer 23 along with its associated coding, shows that for the first recording 2, after GOP3, GOP4 and GOP5 must be played, followed by GOP6 and GOP7.
  • pointer reference 24 shows that for GOP1 1 followed by GOP12, the identical blocks GOP4 and GOP5, respectively are played to complete the playback of the second recording 4.
  • a reference pointer 25 shows that after playing GOP15, GOP4 and GOP5 are next played in substitution of GOP 16 and GOP 17, respectively, followed by playing GOP 18, and GOP 19.
  • the redundant blocks of video data or GOP's can be placed into a table to which associated pointer references point for retrieval.
  • Figure 4 Another embodiment of the invention is shown in Figure 4, wherein a virtual file system is used with the PVR. Assume that a video recording 40 containing GOP1 through GOP6 represents the video data that is to be played back. Reference pointers 26 through 31 direct GOP's 1 through 6, respectively to an abstraction layer 42.
  • the abstraction layer 42 is programmed to re-direct reads or GOP's to another position on the associated hard disk, and to adapt if necessary. During playback only GOP1 , GOP2, GOP5, and GOP6 are read from hard disk 44 via pointers 33 and 35, 32 and 36, 37, and 38, respectively, as shown. A translation table 46 is also stored on hard disk 44.
  • the abstraction layer 42 includes a programmed area 48 for the "Normal Read Blocks 48.”
  • the abstraction layer 42 also includes a program area 50 for reading blocks or GOP's from different positions on the hard disk 44, with possible adaptation. Also as shown, the abstraction layer 42 obtains from the translation table 46 information indicating that GOP3 shouldn't be read from disk but instead GOPl is read again.
  • the length parameter indicates that also G0P4 will be replaced by GOP2.
  • the length parameter is used make a sort reference parameter if a sequential group of GOP's can be replaced with another group of GOP's.
  • a PVR is provided with a virtual file system in another embodiment of the invention.
  • an abstraction layer 42 is programmed to be operative to re-direct reads from a recording 40 including groups of pictures GOPl through GOP6 connected via signal lines 26 through 31, respectively, to the abstraction layer 42.
  • a video player in this example, reads GOP's 1 through 6, but only GOPl, GOP2, GOP5, and GOP6 are read from the hard disk 44. GOPl and GOP2 are either read twice, or they can be cached.
  • the abstraction layer 42 includes a section 48 to normally read blocks GOPl, GOP2, GOP5, and GOP6 shown connected to the abstraction layer 42 area via signal lines 35 through 38, respectively.
  • a section 50 of abstraction layer 42 includes an area for reading blocks from different positions on the associated hard disk, wherein the reads are made with possible adaptation. In this example, as indicated, blocks GOPl and GOP2 are read twice, the second time into abstraction layer area 50 via signal lines 32 and 33, respectively.
  • the hard disk 44 includes a translation table 46, which is read into a translation table area 52 on the abstraction layer 42.
  • GOP3 points to GOPl with a length equal to two.
  • the reads are conducted between a video player 60, a file abstraction layer 42, and adapt block read 50, and a storage device 44, as previously mentioned.
  • a video player 60 For blocks that are replaced some form of adaptation may be needed, i.e. for blocks that read via adaptation layer 42 signal lines 32, 33 it is possible that the Time Stamps, the duration of the block, audio and or the resolution must be adapted.
  • GOPl and GOP2 are converted (signal lines 32 and 33) such that the video player receives data as if GOP3 and GOP4 are read from disk.
  • Block 44 in Figure 4 represents a random storage device like a hard disk drive that is used to store data.
  • the optimization process makes estimates of which blocks have a high chance of similarity with other blocks. Blocks so identified are searched first. Estimates are made by detecting which blocks are based on some similarity, such as in title, genres, and further based upon previous knowledge from optimizing similar files/titles.
  • the first step 70 is to check which video titles are new since the last optimization was accomplished.
  • the next step 71 is to check whether an Internet connection is available. If the connection is available, a request is then made in step 77 for a similarity table from an associated Internet server, followed by step 78 for adapting the table to the format used by the local device, a video player in this example.
  • step 72 the table is then used to update a local reference table kept on hard disk, by adding new titles, and a GOP index map, as described below in the example of Table 1. If no Internet connection is available, updating step 72 is then directly entered from step 71.
  • step 73 a first estimate is made as to which new titles have a high chance of having repeating GOP's, whereby these titles are placed in a list of titles to be scanned (scan list).
  • step 74 a scan is performed for repeating GOP's per title, whereby after scanning a title and updating the GOP references, the title is removed from the aforesaid scan list.
  • step 79 it is determined whether there are more titles to scan, and if so, the immediately previous scanning step 74 is repeated. If not, the next step 80 is to perform a scan for GOP's across MPEG titles.
  • step 75 an estimate is made as to which titles have a high chance of having similar blocks, and the blocks identified are then placed into a scan list.
  • step 81 a scan is made of the first two titles from the scan list for duplicate blocks or GOP's.
  • step 82 it is determined whether there are more titles to scan, and if so the previous estimating step 75 is repeated for new scans that are made. A further check is then made in step 82 to determine if there are any new video titles on the hard disk which have not been processed for estimating whether they might be repetitive, and if more are detected then the process is repeated by returning to step 70. If no titles are left to scan, the preliminary optimization process is exited or terminated at step 76.
  • the previously described estimating routine for the optimization process permits reference tables, such as Table 1 and Table 2, as shown below to be developed, for example.
  • Table 1 shows three recorded programs along with their associated title, the genre to which they relate, the GOP identification reference referring to Table 2, the latter including a list of the GOP's used per title.
  • the optimization process makes estimates as to which of the recordings have a high probability of including similarities, that is similar GOP's.
  • the optimization process will then begin by processing the recordings likely have similarities.
  • the process typically begins looking for similar blocks in the first recording.
  • the probability values can be based on data gathered during a previous optimization, that is during a recording that was previously searched for similar blocks that typically has a low chance for detecting new similar blocks reprocessed. If so, recordings that are associated with a certain genre, or that are recorded from a common broadcast channel (i.e. with lots of commercials), could have a greater probability of duplicate GOP's.
  • the reference relative to these duplications contains a counter of the number of common blocks to repeat, and a repetition factor for the number of times these blocks need to be played.
  • GOP5 and GOP6 do not require a pointer to a physical sector on the hard disk.
  • GOP5 has the same identifier as GOP3, and GOP6 has the same identifier as GOP4.
  • the Translation Table 4 shows for example that GOP5 corresponds to GOP3, and GOP6 corresponds to GOP4. It is also indicated that these pairs of blocks must be played two times, that is for a length of two GOP's.
  • the method of the present invention as described above for reducing the size of previously stored video data or information by using references presented on a basis of Group of Pictures (GOP's) or complete frames can be extended to replace portions of GOP's or frames with other portions that are present on the hard disk, and/or use other GOP's in trick play mode. It is also possible that GOP's that are substantially but not absolutely identical can be described through notation of the differences through use of a delta code. However, such an extension must be compromised in view of available processing power, complexity, and the overall efficiency of the optimization method. In the given examples a fingerprint or crc is used to identify similar blocks, however the given examples are simplified in the sense that the matches between GOP's are identified with an exact match (equal number for the GOP's).
  • a GOP5 is recreated using both a reference to GOP3 via a pointer arrow 62, and a reference to Diff GOP3,5 via pointer arrow 63.
  • Diff GOP3,5 contains a differential code that transforms GOP3 into a replacement for GOP5 that more closely resembles the original GOP5 than might otherwise be obtained.
  • a dual reference is only viable if the code for Diff GOP3,5 is substantially smaller (less disk space or memory area) than the original code.
  • An extension of this embodiment of the invention is shown in Figure 8, wherein a differential code is utilized, and GOP5 is reconstructed using GOP3 and Diff GOP3,5 as a starting point, in this embodiment. As shown by arrow 64, the first block 61 is copied directly to GOP5 in block 616.
  • the remaining six blocks, namely 610 through 615, respectively, from GOP3, in this example, are transferred with the code in Diff GOP 3,5 into blocks 617 through 622, whereby blocks 623 and 624 are copied directly from Diff GOP3,5 in this example (see arrows 65).
  • various embodiments of the present invention have been shown and described above, they are not meant to be limiting. Those of skill in the art may recognize certain modifications to these embodiments, which modifications are meant to be covered by the spirit and scope of the appended claims.
  • the present method as described above shows how the file sizes for a PVR can be reduced, by eliminating redundancies in video data that are stored on an associated hard disk
  • the present method is not so limited.
  • the present method can be applied for use with other media that also are capable of being randomly accessed, such as a user having a collection of storage devices that are connected to each other, whereby the total file size therebetween can be decreased through use of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

An optimization method for reducing the amount of storage space on a storage device occupied by previously recorded video programming includes dividing each video recording into a plurality of groups of pictures (GOP's), identifying repetitive ones of the plurality of GOP's, assigning a unique reference designation to identify like repetitive ones of said GOP's, retaining on the storage device the first occurring ones of the GOP's that are repetitive, and replacing on the storage device each one of the subsequent repetitive ones of the plurality of GOP's with their respective reference designation.

Description

OPTIMISATION OF STORED VIDEO DATA
The field of the present invention relates generally to digital data compression of video data, and more particularly relates to the coding of successive frames of video data in a selective manner to provide enhanced data compression. In a standard promulgated in November 1991 by the Motion Picture Expert Group, MPEG identified as (ISO-IEC/JTC1/SC2/WG12), the sequence of raw image data frames are divided into successive groups known as GOP's (group of pictures), respectively, and the coded GOP is comprised of independent frames I, predicted frames P and bidirectionally predicted frames B in such manner that GOP may be comprised, for example, as follows: I, B, B, P, B, B, P, B, B, P, B, B, P, B, B. The first P frame is derived from the previous I frame, while the remaining P frames are derived from the last previous P frame. The I and P frames are reference frames. Since each B frame is derived from the closest reference frames on either side of it, the pertinent P frames must be derived before the prior B frames can be derived. The high definition independent frames I at the beginning of each GOP are required because of the use of frame differential encoding to avoid accumulated error. The purpose of quantizing is to control the number of bits used in representing the changes between the frames. The corresponding portions of frames are conveyed by motion vectors indicating where blocks in the reference frames may be located in the frame being derived. Since differences generally arise from motion and there is likely to be more motion between P frames than between a P and a B frame, more bits are required to derive a P frame from a P frame than in deriving B frame from P frames on either side of it. In typical MPEG systems, the three frame spacing of reference frames utilizing high numbers of bits is required in order to adequately convey motion. If, however, there is little or no motion, the number of bits devoted to representing these frames is excessive. Video recorders with a hard disk are becoming increasingly popular. It is expected that future PVR's (Personal Video Recorders) will have storage capacity in the order hundreds of Gigabytes (a Gigabyte represents 10 bytes), whereby a user will be able to store many hours of video content (a 120 Gigabyte disk presently stores up to 60 hours of broadcast quality video, and even more hours if a higher compression ratio is used). Users typically want to store increasingly greater video content or data, but typically users will not remove video content even if it isn't required. There is a need in the art to develop an offline optimization scheme for storage devices, such as but not limited to PVR's. MPEG is (more or less) optimized for broadcast for decoders that only have a relatively small amount of memory. A video program can be started without history information from every I-frame. File sizes can be decreased by converting a stream of video data into files with a smaller size through use of higher compression ratios like MPEG-4 or DivX. However, these file formats don't use the common parts in the stored files, and quality will be reduced by transcoding. Since large quantities of video data or information can be stored on a hard disk, and it is possible to access such information therefrom almost instantaneously, it is no longer required to treat the video data as linear media, in view of the quantitative digitized data now available on a hard disk for permitting highly accurate reproduction of the original video data. Various embodiments of the present invention are described with reference to the drawings, in which like items are identified by the same reference numeral, wherein: Figure 1 is a block diagram showing three recorded MPEG files representing compressed video data divided into successive groups of pictures (GOP's); Figure 2a is a block schematic diagram for illustrating one embodiment of the invention; Figure 2b is a block schematic diagram illustrating another embodiment of the invention; Figure 2c is a block schematic diagram showing yet another embodiment of the invention; Figure 3 is a block schematic diagram showing an embodiment of the invention; Figure 4 is a block schematic diagram showing another embodiment of the invention that includes a virtual file system with an abstraction layer; Figure 5 is a sequence diagram of read requests relative to the embodiment of the invention of Figure 4; Figure 6 is a flowchart for an embodiment of the invention; Figure 7, is a block diagram showing show that a reference can point to another GOP and a differential code that is used to adapt the original GOP for another embodiment of the invention; and Figure 8 is a block schematic diagram showing yet another embodiment of the invention, showing the transformation of a GOP into another representation.T The present invention is a method for providing an offline optimization scheme for reducing the sizes of digital files of video data recorded on the hard disk of a video recorder, such as but not limited to a personal video recorder (PVR). In one embodiment of the invention, subsequent to recording video digital data files on the hard disk of a video recorder, the group of pictures (GOP) of recordings previously compressed (via i.e. MPEG- 1, MPEG -2, MPEG-4 or DivX standards), are searched to identify redundant or identical frames/GOP's. For each GOP that is repeated one or more times, the GOP is replaced by a reference designation identifying that GOP or common block of frames. Not all GOP's need a reference, if a complete block is equal then only 1 reference with a length indicator is required. The first appearing common GOP is left in place, whereas the subsequent redundant or repeating corresponding frames or GOP's are identified by the reference designation for that frame or GOP. Thereafter, when the video is to be played back from the hard disk, the redundant frames are retrieved via their corresponding reference designation from a table cross correlating reference designations with their corresponding frames or GOP. Various embodiments of the present invention will now be described in detail. Note that for the present invention a GOP is defined as a group or number of pictures that can each be played independently. In one embodiment of the present invention, the method or idea is to first use a PVR to record video data online, followed by offline sequential searching through the stored video data or programs for frames that are identical. Next, pointer references (triggers) are used to identify repeating parts. On a typical PVR the total video file most recently recorded, and the video files from other recordings are accessible, thereby permitting reference to other video portions to be made. Because the video data is stored locally, it is not that important to be completely compliant with existing MPEG/video encoding standards. As previously indicated, MPEG video contains I, P, and B frames, whereby video cannot be started from a random position, but only from an I-frame. Therefore, in the present invention a GOP is defined as a group of pictures that can be played as a separate unit. If a TV program contains triggers and the trigger part is already present on the hard disk, the video fragment doesn't even have to be recorded. Some examples: -When a sport event like soccer is recorded it is very likely that it contains replays. An offline optimization could be used to reduce the total file size. -In case of soap series (like GTST, Bold & Beautiful, etc.), if the user records the same program every day, and does not directly delete opening tunes that are redundant, offline optimization can be used to reduce the redundancy. -If commercials are recorded it is very likely that the commercials have been recorded before, and are therefore redundant, they can be reduced via the present offline optimization. By introducing the offline optimization scheme of the present invention, file-sizes can be optimized without being dependent on triggers send by the broadcaster. If the PVR uses a virtual file system and an abstraction layer the video player 60 (see Figure 5) unit on the PVR doesn't need to be aware of the references in files (it would 'see' a normal MPEG file). During the present offline optimization process for a first recording, assume that it is discovered that the first recording contains a repeating part GOP5 that can be replaced with a reference to GOP3. GOP5 is replaced with reference (19) to GOP3, alternatively both GOP's can be replaced with a reference to the common block. Note that the replacement of GOP's with reference to another GOP is facilitated when the GOP's have an equal number of frames, whereas when the GOP's have an unequal number of frames adaptation schemes are required. In another embodiment of the invention, to make the searching in fra es/GOP's faster, each frame is represented by an identifier or fingerprint. The easiest identifiers are an average colour index, a CRC code or audio fingerprinting, for example. Alternatively, if the PVR has an Internet connection, it may be possible to access an Internet server that has already calculated common blocks across popular programs. In this manner a reduction can be obtained in the number of CPU/disk cycles required to calculate identifiers for GOP's. The offline optimization schema could be implemented as a process that has a lower priority than the file recording processes of the PVR, and thus only be active if there's are enough CPU/disk cycles available for the optimization. With reference to Figure 1, a block schematic diagram is shown of three recorded MPEG files 2, 4, and 6, designated as a "First Recording, Second Recording, and Third Recording," respectively. In the following examples it is assumed that a personal video recorder (PVR) is used to record the illustrated video data, or GOP's. However, the invention is not limited to personal video recorders, and may be used in association with other video recorders. Upon completion of the recording process, through use of the various embodiments of the present invention, the recorded video data files can be reduced in size by eliminating redundant groups of pictures or GOP's. Also note that movies include picture data having adjacent audio track(s). It is assumed that the audio is either encoded in the GOP or present on the disk as a separate track of GOP's. After a user has completed recording various video data, the video data files can then be reduced offline through use of the present invention. In a first embodiment of the invention, as shown in Figure 2a, assume that it is determined that GOP5 of the first recording 2 is identical to GOP3. The video data representing GOP5 is then replaced by a simple reference designation, such as 19, for example, in association with a pointer, namely pointer reference 19, pointing to GOP3. Hereafter, when the first recording 2 is played back, after GOP4 is played back, a pointer reference 19 is detected, GOP3 with then be played back again, followed by the remaining video data for GOP6 and GOP7, in this example. In another embodiment of the invention, with reference to Figure 2b, the first recording 2 is reduced in size by removing the common blocks including GOP3, and GOP5, followed by assigning pointers 20 and 21 for pointing to the common block GOP3 for the appropriate beginning positions in the first recording 2 for GOP3 and GOP5, respectively, as shown. Note that the common blocks or GOP's can be placed into a table, with the designated reference pointers pointing to the corresponding locations in the table containing the associated GOP, for purposes of rapid retrieval. In this manner, the optimization of the recording space available on the hard disk, in this example, is transparent to a user in that the playback of the video data will appear normal. With reference to Figure 2c, assume that during the disk space optimization step it is determined that in addition to GOP5 being identical to GOP3, that GOP6 is also identical to GOP3. In this embodiment of the invention, the pointer reference 22 shows that GOP5 is identical to GOP3, which is repeated to obtain GOP5, along with the further reference indication "two GOP's, play one time" meaning that after GOP3 is replayed for GOP5, GOP3 is then replayed as GOP6, followed by the playing of GOP7, for completing the playback of the first recording 2. Another embodiment of the invention is shown in Figure 3, showing an example of first, second, and third recordings 2, 4, 6, respectively, for which common blocks or common GOP's are detected between the programs of recordings 2, 4, and 6, respectively. Reference pointer 23 along with its associated coding, shows that for the first recording 2, after GOP3, GOP4 and GOP5 must be played, followed by GOP6 and GOP7. For the second recording 4, pointer reference 24 shows that for GOP1 1 followed by GOP12, the identical blocks GOP4 and GOP5, respectively are played to complete the playback of the second recording 4. For the third recording 6, a reference pointer 25 shows that after playing GOP15, GOP4 and GOP5 are next played in substitution of GOP 16 and GOP 17, respectively, followed by playing GOP 18, and GOP 19. Again, the redundant blocks of video data or GOP's can be placed into a table to which associated pointer references point for retrieval. Another embodiment of the invention is shown in Figure 4, wherein a virtual file system is used with the PVR. Assume that a video recording 40 containing GOP1 through GOP6 represents the video data that is to be played back. Reference pointers 26 through 31 direct GOP's 1 through 6, respectively to an abstraction layer 42. The abstraction layer 42 is programmed to re-direct reads or GOP's to another position on the associated hard disk, and to adapt if necessary. During playback only GOP1 , GOP2, GOP5, and GOP6 are read from hard disk 44 via pointers 33 and 35, 32 and 36, 37, and 38, respectively, as shown. A translation table 46 is also stored on hard disk 44. The abstraction layer 42 includes a programmed area 48 for the "Normal Read Blocks 48." The abstraction layer 42 also includes a program area 50 for reading blocks or GOP's from different positions on the hard disk 44, with possible adaptation. Also as shown, the abstraction layer 42 obtains from the translation table 46 information indicating that GOP3 shouldn't be read from disk but instead GOPl is read again. The length parameter indicates that also G0P4 will be replaced by GOP2. The length parameter is used make a sort reference parameter if a sequential group of GOP's can be replaced with another group of GOP's. As shown in Figure 4, a PVR is provided with a virtual file system in another embodiment of the invention. In the virtual file system, an abstraction layer 42 is programmed to be operative to re-direct reads from a recording 40 including groups of pictures GOPl through GOP6 connected via signal lines 26 through 31, respectively, to the abstraction layer 42. In playing back the video programming, a video player, in this example, reads GOP's 1 through 6, but only GOPl, GOP2, GOP5, and GOP6 are read from the hard disk 44. GOPl and GOP2 are either read twice, or they can be cached. Note that the abstraction layer 42 includes a section 48 to normally read blocks GOPl, GOP2, GOP5, and GOP6 shown connected to the abstraction layer 42 area via signal lines 35 through 38, respectively. Also note that as previously indicated, a section 50 of abstraction layer 42 includes an area for reading blocks from different positions on the associated hard disk, wherein the reads are made with possible adaptation. In this example, as indicated, blocks GOPl and GOP2 are read twice, the second time into abstraction layer area 50 via signal lines 32 and 33, respectively. Also, the hard disk 44 includes a translation table 46, which is read into a translation table area 52 on the abstraction layer 42. In this example, GOP3 points to GOPl with a length equal to two. With reference to Figure 5, the reads are conducted between a video player 60, a file abstraction layer 42, and adapt block read 50, and a storage device 44, as previously mentioned. For blocks that are replaced some form of adaptation may be needed, i.e. for blocks that read via adaptation layer 42 signal lines 32, 33 it is possible that the Time Stamps, the duration of the block, audio and or the resolution must be adapted. In block 50 GOPl and GOP2 are converted (signal lines 32 and 33) such that the video player receives data as if GOP3 and GOP4 are read from disk. Block 44 in Figure 4 represents a random storage device like a hard disk drive that is used to store data. Since the number of possible blocks or GOP's that can be stored on a large hard disk is very large, if the stored GOP's are compared randomly, the time/CPU (central processing unit) cycles needed to compare these blocks will be excessive. As a result, in another embodiment of the invention, the optimization process makes estimates of which blocks have a high chance of similarity with other blocks. Blocks so identified are searched first. Estimates are made by detecting which blocks are based on some similarity, such as in title, genres, and further based upon previous knowledge from optimizing similar files/titles. In another embodiment of the invention, as shown in the flowchart of Figure 6, programming steps for making the estimates for the optimization process will now be described. The first step 70 is to check which video titles are new since the last optimization was accomplished. The next step 71 is to check whether an Internet connection is available. If the connection is available, a request is then made in step 77 for a similarity table from an associated Internet server, followed by step 78 for adapting the table to the format used by the local device, a video player in this example. Next, in step 72 the table is then used to update a local reference table kept on hard disk, by adding new titles, and a GOP index map, as described below in the example of Table 1. If no Internet connection is available, updating step 72 is then directly entered from step 71. Next, in step 73 a first estimate is made as to which new titles have a high chance of having repeating GOP's, whereby these titles are placed in a list of titles to be scanned (scan list). Next, in step 74 a scan is performed for repeating GOP's per title, whereby after scanning a title and updating the GOP references, the title is removed from the aforesaid scan list. Next, in step 79 it is determined whether there are more titles to scan, and if so, the immediately previous scanning step 74 is repeated. If not, the next step 80 is to perform a scan for GOP's across MPEG titles. Next, in step 75 an estimate is made as to which titles have a high chance of having similar blocks, and the blocks identified are then placed into a scan list. Next, in step 81 a scan is made of the first two titles from the scan list for duplicate blocks or GOP's. Next, in step 82 it is determined whether there are more titles to scan, and if so the previous estimating step 75 is repeated for new scans that are made. A further check is then made in step 82 to determine if there are any new video titles on the hard disk which have not been processed for estimating whether they might be repetitive, and if more are detected then the process is repeated by returning to step 70. If no titles are left to scan, the preliminary optimization process is exited or terminated at step 76. The previously described estimating routine for the optimization process, in another embodiment of the invention, permits reference tables, such as Table 1 and Table 2, as shown below to be developed, for example. More specifically, Table 1 shows three recorded programs along with their associated title, the genre to which they relate, the GOP identification reference referring to Table 2, the latter including a list of the GOP's used per title. The optimization process makes estimates as to which of the recordings have a high probability of including similarities, that is similar GOP's. The optimization process will then begin by processing the recordings likely have similarities. In the example given above for the steps required for an optimization process, the process typically begins looking for similar blocks in the first recording. The probability values can be based on data gathered during a previous optimization, that is during a recording that was previously searched for similar blocks that typically has a low chance for detecting new similar blocks reprocessed. If so, recordings that are associated with a certain genre, or that are recorded from a common broadcast channel (i.e. with lots of commercials), could have a greater probability of duplicate GOP's.
Figure imgf000012_0001
GOP Reference Table
Figure imgf000012_0002
Table 2 Assume that during the optimization steps for the first recording 2 of Figure 1, that it is determined that GOP5 is identical to G0P3, and that G0P6 is identical to GOP4. In another embodiment of the invention, the reference relative to these duplications contains a counter of the number of common blocks to repeat, and a repetition factor for the number of times these blocks need to be played. As a result, as shown in Table 3, GOP5 and GOP6 do not require a pointer to a physical sector on the hard disk. As shown in Table 3, GOP5 has the same identifier as GOP3, and GOP6 has the same identifier as GOP4. The Translation Table 4 shows for example that GOP5 corresponds to GOP3, and GOP6 corresponds to GOP4. It is also indicated that these pairs of blocks must be played two times, that is for a length of two GOP's.
Figure imgf000013_0001
Table 3
Translation Table
Figure imgf000013_0002
Table 4
The method of the present invention as described above for reducing the size of previously stored video data or information by using references presented on a basis of Group of Pictures (GOP's) or complete frames, can be extended to replace portions of GOP's or frames with other portions that are present on the hard disk, and/or use other GOP's in trick play mode. It is also possible that GOP's that are substantially but not absolutely identical can be described through notation of the differences through use of a delta code. However, such an extension must be compromised in view of available processing power, complexity, and the overall efficiency of the optimization method. In the given examples a fingerprint or crc is used to identify similar blocks, however the given examples are simplified in the sense that the matches between GOP's are identified with an exact match (equal number for the GOP's). Since Digital Video can be encoded using different encoding parameters and it is even possible that Digital Video comes from an analog source which is recorded with atmospheric interference, it is possible that the CRC codes will not be exact, therefore the matching will also be based on a fingerprint which doesn't have to be 100% exact. The fingerprint can be based on the audio, an average colour index and average motion vectors inside for example MPEG, or on a average taken from the first I frame in the GOP. With reference to Figure 7, in another embodiment of the invention a GOP5 is recreated using both a reference to GOP3 via a pointer arrow 62, and a reference to Diff GOP3,5 via pointer arrow 63. Diff GOP3,5 contains a differential code that transforms GOP3 into a replacement for GOP5 that more closely resembles the original GOP5 than might otherwise be obtained. However, such use of a dual reference is only viable if the code for Diff GOP3,5 is substantially smaller (less disk space or memory area) than the original code. An extension of this embodiment of the invention is shown in Figure 8, wherein a differential code is utilized, and GOP5 is reconstructed using GOP3 and Diff GOP3,5 as a starting point, in this embodiment. As shown by arrow 64, the first block 61 is copied directly to GOP5 in block 616. The remaining six blocks, namely 610 through 615, respectively, from GOP3, in this example, are transferred with the code in Diff GOP 3,5 into blocks 617 through 622, whereby blocks 623 and 624 are copied directly from Diff GOP3,5 in this example (see arrows 65). Although various embodiments of the present invention have been shown and described above, they are not meant to be limiting. Those of skill in the art may recognize certain modifications to these embodiments, which modifications are meant to be covered by the spirit and scope of the appended claims. For example, although the present method as described above shows how the file sizes for a PVR can be reduced, by eliminating redundancies in video data that are stored on an associated hard disk, the present method is not so limited. For example, the present method can be applied for use with other media that also are capable of being randomly accessed, such as a user having a collection of storage devices that are connected to each other, whereby the total file size therebetween can be decreased through use of the present invention.

Claims

IN THE CLAIMS
1. An optimization method for reducing the amount of storage space on a storage device occupied by previously recorded video data or information, said method comprising the steps of: dividing a video recording on said storage device into a plurality of groups of pictures (GOP's) each having a predetermined length or number of frames, whereby a GOP is defined as a block of data that can be played individually on a video player; identifying repetitive ones of said plurality of GOP's; assigning a unique reference designation to each like one of said plurality of GOP's respectively, that are repeated by one or more subsequent ones of said plurality of GOP's; retaining the first occurring ones of said plurality of GOP's that are repetitive; and replacing each one of the repetitive subsequent ones of said plurality of GOP's with their respective reference designations.
2. The method of Claim 1 , wherein each reference designation for common repetitive ones of said plurality of GOP's is a pointer reference that points back to the first occurring GOP that is repetitive.
3. The method of Claim 1, further including the step of: moving the first occurring ones of said plurality of GOP's to dedicated respective storage locations on said storage device; and coding each unique reference designation to be represented by one or more pointers each pointing to their associated first occurring GOP from the points of occurrence in said video recording of the first and subsequent repetitive ones of said plurality of GOP's, respectively.
4. The method of Claim 1 , wherein each GOP of said plurality of GOP's can have an equal or unequal number of frames relative to one another.
5. The method of Claim 1, further including the step of: repeating said dividing, identifying, assigning, retaining, and replacing steps for each independent video recording on said storage device.
6. The method of Claim 1, further including for a plurality of video recordings on said storage device, the steps of: locating said plurality of video recordings on said storage device; performing said dividing step for each one of said plurality of video recordings; performing said identifying step for each one of said plurality of video recordings; determining common repetitive ones of said plurality of GOP's between all of said plurality of video recordings; responding to said determining step by performing said assigning step for the common repetitive ones of said plurality of GOP's; moving the first occurring ones of the common repetitive ones of said plurality of GOP's to dedicated respective storage locations on said storage device; and coding each unique reference designation amongst said plurality of video recordings to be represented by respective pointers each pointing to an associated first occurring GOP from the points of occurrence in each video recording of the respective repetitive GOP.
7. The method of Claim 1, further including the steps of: establishing a table identifying said video recording, and listing in said table each individual GOP of the recording, an identifier for each GOP, the frame length of each GOP, and the physical sector on said storage device for each GOP, wherein non- repetitive ones and the first occurring ones of repetitive ones of said plurality of GOP's occupy a physical sector on said storage device , and the repetitive subsequent ones of said plurality of GOP's do not occupy a physical sector on said storage device in that their identification is identical to their respective first occurring identical GOP; and using said table for locating and outputting to a video player the successive ones of said plurality of GOP's of the associated video recording.
8. The method of Claim 1, further including for a plurality of video recordings on said storage device, the steps of: locating said plurality of video recordings on said storage device; performing said dividing step for each one of said plurality of video recordings; performing said identifying step for each one of said plurality of video recordings; determining common repetitive ones of said plurality of GOP's between all of said plurality of video recordings; responding to said determining step by performing said assigning step for the common repetitive ones of said plurality of GOP's; moving the first occurring ones of the common repetitive ones of said plurality of GOP's to dedicated respective storage locations on said storage device; establishing a table identifying said plurality of video recordings, and listing in said table each individual GOP of each recording, an identifier for each GOP, the frame length of each GOP, and the physical sector on said storage device for each GOP, wherein non-repetitive ones and the first occurring ones of repetitive ones of said plurality of GOP's occupy a physical sector on said storage device, and the repetitive subsequent ones of said plurality of GOP's do not occupy a physical sector on said storage device in that their identification is identical to their respective first occurring identical GOP; and using said table for locating and outputting to a video player the successive ones of said plurality of GOP's of the associated video recordings.
9. The method of Claim 8, further including immediately after said locating step, the steps of: checking which video titles of said plurality of video recordings are new subsequent to the date an optimization process to save recording space was last performed; estimating which ones of said plurality of video recordings having new titles have a high probability of including repeating GOP's; and processing further only the ones of said plurality of video recordings, identified as having both new titles and a high probability of including repeating GOP's.
10. The method of Claim 9, further including: said estimating step further including estimating which ones of said plurality of video recordings not having new titles have a high probability of including repeating GOP's; and said processing step further including processing all of said plurality of video recordings estimated to have a high probability of including repeating GOP's.
11. The method of Claim 1, further including the step of: providing said storage device with a virtual file system including an abstraction layer.
12. The method of Claim 7, further including the step of: providing said storage device with a virtual file system including an abstraction layer.
13. The method of Claim 10, further including the step of: providing said storage device with a virtual file system including an abstraction layer.
14. The method of Claim 1, wherein said storage device is a video recorder including a hard disk.
15. The method of Claim 7, wherein said storage device is a video recorder including a hard disk.
16. The method of Claim 9, further including the step of: retrieving via an Internet/network connection optimization information from a device connected through the network, thereby reducing the number of CPU cycles required to calculate similarity probabilities and/or the identifiers for GOP's.
17. The method of Claim 1, further including the step of: using a Diff GOP for transforming selective ones of the repetitive ones of said plurality of GOP's into an altered GOP more closely resembling a reference GOP.
PCT/IB2004/051279 2003-07-24 2004-07-21 Optimization of stored video data WO2005011269A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006520975A JP2006528862A (en) 2003-07-24 2004-07-21 Optimizing stored video data
EP04744634A EP1652379A1 (en) 2003-07-24 2004-07-21 Optimisation of stored video data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US48968703P 2003-07-24 2003-07-24
US60/489,687 2003-07-24

Publications (1)

Publication Number Publication Date
WO2005011269A1 true WO2005011269A1 (en) 2005-02-03

Family

ID=34102921

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2004/051279 WO2005011269A1 (en) 2003-07-24 2004-07-21 Optimization of stored video data

Country Status (5)

Country Link
EP (1) EP1652379A1 (en)
JP (1) JP2006528862A (en)
KR (1) KR20060038458A (en)
CN (1) CN1826805A (en)
WO (1) WO2005011269A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8837916B2 (en) 2007-08-07 2014-09-16 Samsung Electronics Co., Ltd. Apparatus and method to provide adaptive recording
US9213494B1 (en) 2007-09-05 2015-12-15 Emc Corporation De-duplication in a virtualized storage environment

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6399234B2 (en) * 1998-12-23 2002-06-04 Utc Fuel Cells, Llc Fuel cell stack assembly with edge seal
JP5061314B2 (en) * 2007-02-27 2012-10-31 京セラドキュメントソリューションズ株式会社 Image forming apparatus and image forming program
WO2009033074A2 (en) * 2007-09-05 2009-03-12 Emc Corporation De-duplication in virtualized server and virtualized storage environments
CN101404030B (en) * 2008-11-05 2011-07-20 中国科学院计算技术研究所 Method and system for periodic structure fragment detection in video
JP6089970B2 (en) * 2013-05-29 2017-03-08 三菱電機株式会社 Video data reduction device and playback device
CN104010151A (en) * 2014-06-13 2014-08-27 深圳市景阳科技股份有限公司 Method for compressing monitoring video file
CN107864397B (en) * 2017-11-03 2019-09-10 中广热点云科技有限公司 A kind of method and apparatus stored for optimizing record video program
WO2023071589A1 (en) * 2021-10-26 2023-05-04 Oppo广东移动通信有限公司 Data processing method and apparatus for display device, and storage medium and display device
CN114138990A (en) * 2021-11-26 2022-03-04 中国电信集团系统集成有限责任公司 Video file identification method and system based on picture group similarity matching

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0705041A2 (en) * 1994-09-29 1996-04-03 Sony Corporation Scene change adaptive video encoder
US5600316A (en) * 1985-01-10 1997-02-04 Moll; Edward W. Data compression by removing repetition and unnecessary information
EP1030302A2 (en) * 1995-07-28 2000-08-23 Sony Corporation Data coding/decoding method and apparatus and coded data recording medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600316A (en) * 1985-01-10 1997-02-04 Moll; Edward W. Data compression by removing repetition and unnecessary information
EP0705041A2 (en) * 1994-09-29 1996-04-03 Sony Corporation Scene change adaptive video encoder
EP1030302A2 (en) * 1995-07-28 2000-08-23 Sony Corporation Data coding/decoding method and apparatus and coded data recording medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8837916B2 (en) 2007-08-07 2014-09-16 Samsung Electronics Co., Ltd. Apparatus and method to provide adaptive recording
US9213494B1 (en) 2007-09-05 2015-12-15 Emc Corporation De-duplication in a virtualized storage environment

Also Published As

Publication number Publication date
CN1826805A (en) 2006-08-30
EP1652379A1 (en) 2006-05-03
KR20060038458A (en) 2006-05-03
JP2006528862A (en) 2006-12-21

Similar Documents

Publication Publication Date Title
EP1119200B1 (en) Image transmitting method, image processing method, image processor, and data storage medium
CA2420019C (en) System and method of processing mpeg streams for file index insertion
EP0695098B1 (en) Coded data control device
US6697523B1 (en) Method for summarizing a video using motion and color descriptors
US20060080167A1 (en) Methods, apparatuses, and systems for presenting advertisment content within trick files
US8532195B2 (en) Search algorithms for using related decode and display timelines
EP1652379A1 (en) Optimisation of stored video data
KR100940796B1 (en) Computer readable medium and reproduction apparatus
KR101163774B1 (en) Device and process for video compression
KR20020027314A (en) Storage of compressed data items
US7006701B2 (en) Sequential digital image compression
US6373905B1 (en) Decoding apparatus and decoding method
KR100978995B1 (en) Information recording device, information reproduction device, method, and computer program
US20050047749A1 (en) Content data recording apparatus and content data recording method
CN1574049B (en) Reproducing apparatus for data stored in disk-shape storage media
US20080025689A1 (en) Device And Method For Recording Multimedia Data
US6674909B1 (en) MPEG data processing apparatus comprising an arrangement for estimating an interval between particular picture data
JP3551548B2 (en) Video data recording apparatus and method, video data recording medium, and video data reproducing apparatus and method
DK1474920T3 (en) DEVICE AND RECORD CARRIER AND METHOD OF RECORDING A SEQUENCE OF VIDEO DATA SIGNALS
US7715402B2 (en) Method and device for processing digital data
US20060093314A1 (en) Editing of data frames
CN1595982A (en) PVR supported video decoding system

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200480021093.0

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

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

AL Designated countries for regional patents

Kind code of ref document: A1

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

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

Ref document number: 2004744634

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 267/CHENP/2006

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2006520975

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 1020067001613

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 1020067001613

Country of ref document: KR

Ref document number: 2004744634

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2004744634

Country of ref document: EP