Abstract:
Methods are described for selecting and/or deleting files in a set of files, preferably relating to audio and/or video sequences. The present invention is based on the idea of finding substantially duplicate files, selecting the best one and deleting the others, this process being carried out in an automatic or quasi-automatic manner, i.e. with the user having to answer one or more confirmation requests. A certain number of duplicate files can be subjected to P logic blocks Ck (k being an integer, 1≦k≦P); each logic block makes a selection according to a choice criterion having higher priority than the next block.

Description:
TECHNICAL FIELD 
     The present invention relates to the automatic management of digital archives, in particular to the automatic management of archives of files relating to audio and/or video sequences. 
     BACKGROUND 
     The ever increasing spread of computer networks (especially the Internet), together with the availability of huge amounts of audio and video contents, has made it extremely easy and common to exchange audio and/or video contents among network nodes, in particular among users. 
     Of course, such a huge amount of data should be managed appropriately. 
     In a big digital archive, e.g. the file system stored on a hard disk of a personal computer, it may happen that there are several copies of the same file (in general having the same file name); it is also possible that there are several copies or several slightly different versions of the same audio and/or video sequence (in general having different file names). The user is often unaware of this situation; and even if he/she ever notices it, the user avoids “cleaning” the digital archive because it is a time-consuming and difficult task (especially for those audio and/or video sequences for which it is not possible to use the file name as a choice criterion in order to identify two identical or similar sequences). 
     Audio and/or video files often include descriptive data (also referred to as “metadata”) which is added to the audio and/or video data in order to provide information about the files themselves, such as: title, duration, image resolution, compression and coding algorithms, quality, etc. 
     This data is used by electronic audio and/or video players for decoding the file correctly and for providing information about the audio and/or video sequence being played. 
     Software packages are available on the market which allow the user to search for files based on one or more descriptive features. The operating systems of the Microsoft Windows family include a tool that allows to search the file system for a file on the basis of the file name and/or of words contained in its text. Many e-mail programs have a function that allows to search the message archive for an e-mail message according to subject, date, sender, receiver, or words contained in its text. Even though these packages can help the user manage his/her digital archives, the management of great amounts of files is however burdensome for the user, and therefore it is practiced only to a small extent or not at all. 
     The general object of the present invention is to facilitate and improve the management of great amounts of files, in particular of files relating to audio and/or video sequences. 
     More specifically, the object of the present invention is to facilitate and improve the storage of great amounts of files, in particular of files relating to audio and/or video sequences. 
     Said objects are substantially achieved through selection and deletion methods having the functionalities set out in the appended method claims, which are intended as an integral part of the present description. 
     SUMMARY OF THE DISCLOSURE 
     The present invention is based on the idea of finding substantially duplicate files, selecting the best one and deleting the others, this process being carried out in an automatic or quasi-automatic manner, i.e. with the user having to answer one or more confirmation requests. 
     The methods according to the present invention are executed, for example, upon the user&#39;s request or whenever a new file is stored on the medium, or else at preset time intervals. 
     The method according to the present invention may provide for extracting a subset of parameters contained in the descriptive data of the audio-video files, and for calculating one or more significant values for each file depending on the criteria specified for choosing the file to be retained: best quality, best compromise between quality and occupied space, type of compression algorithm used, etc. These choice criteria can be set and configured by the user who, through a suitable interface, selects the criteria to be applied and the respective parameters, and then assigns a priority to each one of them. 
     The analysis of the extracted parameters and of the calculated significant values allows these criteria to be applied, and thus provides the automatic selection of a single file out of the set of duplicates, resulting in all other duplicates being eliminated or moved to another area of the medium. 
     According to a further aspect, the present invention also relates to an electronic apparatus adapted to implement said methods and having the features set out in the appended apparatus claims, which are intended as an integral part of the present description. 
     Further objects, features and advantages of the present invention will become apparent from the following detailed description. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       For a better understanding of the invention, some embodiments thereof will now be described by way of non-limiting examples with reference to the annexed drawings, wherein: 
         FIG. 1  is a general implementation chart of the method according to the invention; 
         FIG. 2  is the flow chart of the function carried out by block C 1  in  FIG. 1 ; 
         FIG. 3  is the flow chart of the function carried out by block C 2  in  FIG. 2 . 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1  shows a general implementation chart of the method according to the invention. 
     Said method carries out a selection of one file in a subset of N files found to be duplicates of the same audio or video or audio-video sequence by using prior-art methods, or else specified as duplicates by the user. 
     The method consists in the sequential application, to the N duplicates, of different selection criteria according to a decreasing priority order. 
     In the chart of  FIG. 1 , N duplicates of the same audio-video sequence are subjected to P logic blocks C k  (k being a whole number, 1≦k≦P); each logic block makes a selection according to a choice criterion having higher priority than the next block. Each logic block carries out a function which, for each file, analyses a subset of parameters or quantities derived therefrom by comparing such values with customizable thresholds or with one another. 
     If no file meets the requirements imposed by the function block, then the process will proceed to the next block. 
     If n k  files meet the requirements imposed by function block C k , then all other n k-1 −n k  files will be removed. 
     Each block C k  is immediately followed by a check of the number of duplicates n k  remaining after the application of the function block. If n k =1, then the file that meets the requirements best has been found, and the other n k −1 files can be removed. If n P-1 &gt;1 after the application of P−1 function blocks, then block P will make a random selection of one file among the remaining n P-1  files, and all other n P-1 −1 files will be removed. 
     At the end of the chain, only one file of those belonging to the initial set of N duplicates will remain stored on the medium (i.e. n P =1). 
     In an example of embodiment, the method according to the invention makes a selection of one file in a subset of N audio files found to be duplicates of the same audio sequence by using prior-art methods, or else specified as duplicates by the user. 
     The flow chart of  FIG. 2  shows a graphic representation of the function carried out by block C 1  in  FIG. 1 . 
     Block C 1  makes a selection among the N duplicate files based on sequence duration. The application of this criterion aims at removing incomplete duplicate files. 
     This function operates as follows: first, the longest audio sequence having the longest duration d max  is found ( 2 - 1  in the chart). Then block  2 - 2  initializes the variable i=1; for each file x i  having a duration d i  (i being a whole number, 1≦i≦N) in the set of duplicates, the following value is calculated: 
               r   i     =       d   i       d   max             
which is compared with a customizable value R, R being a real number, 0&lt;R≦1 (block  2 - 3  in the chart). The files x i  with the parameter r i  smaller than R are considered to be incomplete and are automatically removed ( 2 - 4 ). Block  2 - 5  increments said variable by one unit in order to analyze the next file. Check block  2 - 6  verifies if i&gt;N; if yes, it means that all N files have been analyzed and the process can proceed to the next function; otherwise, the control will return to check block  2 - 3 .
 
     The selection thus carried out allows to reduce the number of duplicates from N to n 1 , wherein n 1 ≦N. 
     If n 1 =1, the file to be retained has been selected and the process is complete. 
     The flow chart of  FIG. 3  shows a graphic representation of the function carried out by block C 2  in  FIG. 1 . 
     Block C 2  makes a selection among the n 1  duplicate files based on file format, i.e. depending on how the information is coded in order to be stored on the medium. 
     The format f e  (wherein 1≦e≦n 1 ) of each file x e  in the set of n 1  duplicates is compared with a list of J preferential formats F j  (wherein 1≦j≦J) created by the user; all files x e  in a format f e  not included in said list will be automatically removed. In the event that none of the duplicate files falls within the preferential list, no file will be removed since it will be necessary to use another selection criterion having lower priority. 
     The selection thus carried out allows to reduce the number of duplicates from n 1  to n 2 , wherein n 2 ≦n 1 . 
     If n 2 =1, the file to be retained has been selected and the process is complete. 
     In  FIG. 3 , block  3 - 1  initializes the variable e to 1, and the variable el to 0; this latter variable represents the number of files to be removed. Block  3 - 2  initializes the variable j to 1. Check block  3 - 3  verifies if the format f e  of the file x e  coincides with the format F j  in the list of preferential formats. If so, the variable e will be incremented by one unit ( 3 - 7 ). Otherwise, j will be incremented by one unit ( 3 - 4 ). Check block  3 - 5  then verifies that j&gt;J. If so, the format f e  is not included in the list and the index e will be stored in a memory location, at the same time incrementing el by one unit (block  3 - 6 ) before proceeding to block  3 - 7 . Otherwise, the cycle will return to check block  3 - 3 . Check block  3 - 8  verifies if e&gt;n 1 , i.e. if all initial n 1  files have been analyzed. If not, the cycle will start again from block  3 - 2 . If yes, check block  3 - 9  will verify if el=n 1 , i.e. if none of the initial files falls within the preferential list. If so, the cycle will proceed to the next block to apply another function. If some files fall within the list, then the other el files will be removed ( 3 - 10 ). 
     Block C 3  makes a selection among the n 2  duplicate files based on the quality of the audio sequence; this means that the best, worst or average file in terms of perceived quality (as desired by the user) will be retained. 
     The quality of an audio file can be estimated roughly by considering the following factors: algorithm used for data compression, sampling frequency (hereafter referred to as f s , measured in Hz) and bit-rate (referred to as BR a , measured in bit/s), i.e. the number of bits used for representing one second of audio sequence. 
     The first step compares BR a  and f s  with user-definable thresholds, which represent minimum and maximum levels of BR a  and f s . This comparison results in the removal of those duplicates having parameters outside the preset limits. In the event that no file complies with the imposed limits, no file will be removed and a quality estimation must be carried out. 
     If only one file among the n 2  duplicates is within the limits, the file to be retained has been selected and the process is complete. 
     The quality estimation of files which have not been removed during the above step can be obtained by calculating for each file the following value: 
     
       
         
           
             
               q 
               a 
             
             = 
             
               
                 B 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   R 
                   a 
                 
               
               
                 f 
                 s 
               
             
           
         
       
     
     The value of q a  represents the mean number of binary digits used for representing a single audio sample. 
     When the compression algorithm used changes from file to file, the values q a  of different files cannot be compared directly; it is in fact known that, BR a  and f s  being equal, different compression algorithms may lead to appreciably different qualitative levels. 
     It is then necessary to use a corrective factor k a  and calculate:
 
 Q   a   =k   a   *q   a  
 
the value of the factor k a  depends on the type of algorithm used, and must be obtained empirically based on psycho-acoustic studies.
 
     If the compression algorithm used is the same for all duplicate files, this step will not be required (k a =1 for all files). 
     At this point, it will be necessary to find the maximum (or minimum, or mean, as desired by the user) value of Q a  and retain all files associated with this value, while removing all other duplicates. 
     Files having the same Q a  are considered to be equivalent. 
     The selection thus carried out allows to reduce the number of duplicates from n 2  to n 3 , wherein n 3 ≦n 2 . 
     If n 3 =1, the file to be retained has been selected and the process is complete. 
     Block C p  makes a selection among the n P-1  duplicates not yet removed by the previous blocks. All these files comply with the selection criteria set by the user. Since this is the last block, the selection criterion is not important, and it is possible to remove n P-1 −1 files randomly (e.g. the first n P-1 −1 files in alphabetical order), or the user may be asked to choose the files to be retained and those to be removed. 
     In another example of embodiment, the method according to the invention makes a selection of one file in a subset of video files found to be duplicates of the same video sequence by using prior-art methods, or else specified as duplicates by the user. 
     Blocks C 1  and C 2  remain the same, the only difference being that the parameters used (file duration and format) refer to the video sequence, not to the audio sequence. Block C P  remains unchanged. 
     Function block C 3  makes a selection among n 2  duplicate files based on the quality of the video sequence; this means that the best (worst or average file as desired by the user) in terms of perceived quality will be retained. 
     The quality of a video file can be estimated roughly by considering the following factors: algorithm used for data compression, frame refresh frequency (hereafter referred to as f r , measured in frame/s), bit-rate (referred to as BR v , measured in bit/s), i.e. the number of bits used for representing one second of video sequence, and video resolution (referred to as ris, measured in pixel/frame). 
     The first step compares BR v , f r  and ris with user-definable thresholds: this represents minimum and maximum levels of BR v , f r  and ris. This comparison results in the removal of those duplicates having parameters outside the preset limits. In the event that no file complies with the imposed limits, no file will be removed and a quality estimation must be carried out. 
     If only one file among the n 2  duplicates is within the limits, the file to be retained has been selected and the process is complete. 
     The quality estimation of files which have not been removed during the above step can be obtained by calculating for each file the following value: 
     
       
         
           
             
               q 
               v 
             
             = 
             
               
                 B 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   R 
                   v 
                 
               
               
                 
                   f 
                   r 
                 
                 × 
                 ris 
               
             
           
         
       
     
     This value represents the mean number of binary digits used for representing a single video sample, i.e. one pixel in a frame. 
     When the compression algorithm used changes from file to file, the values q v  of different files cannot be compared directly; it is in fact known that, BR v , f r , and ris being equal, different compression algorithms may lead to appreciably different qualitative levels. 
     It is then necessary to use a corrective factor k v  and calculate:
 
 Q   v   =k   v   *q   v  
 
wherein k v  is a factor depending on the type of algorithm used, and must be obtained empirically based on psycho-visual studies.
 
     If the compression algorithm used is the same for all duplicate files, this step will not be required (k v =1 for all files). 
     At this point, it will be necessary to find the maximum (or minimum, or mean, as desired by the user) value of Q v  and retain all files associated with this value, while removing all other duplicates. 
     Files having the same Q v  are considered to be equivalent. 
     The selection thus carried out allows to reduce the number of duplicates from n 2  to n 3 , wherein n 3 ≦n 2 . 
     If n 3 =1, the file to be retained has been selected and the process is complete. 
     In another example of embodiment, the method according to the invention makes a selection of one file in a subset of N files found to be duplicates of the same sequence comprising both video and audio by using prior-art methods, or else specified as duplicates by the user. 
     Blocks C 1  and C 2  remain the same, the only difference being that the parameters used (file duration and format) refer to the video-audio sequence, not to the audio sequence. Block C P  remains unchanged. 
     Block C 3  evaluates the quality of the audio and video streams separately according to the above-described methods, and the file to be retained is chosen on the basis of either stream as desired by the user. 
     In another example of embodiment, the audio-video file to be retained is chosen by calculating for each duplicate the following parameter:
 
 Q   va   =Q   v   *Q   a  
 
which takes into account the video and audio quality starting from the values of Q a  associated with the audio stream and of Q v  associated with the video stream.
 
     It is therefore possible to find the maximum (or minimum, or mean, as desired by the user) value of Q va  and retain all files associated with this value, while removing all other duplicates. 
     Files having the same Q va  are considered to be equivalent. 
     The selection thus carried out allows to reduce the number of duplicates from n 2  to n 3 , wherein n 3 ≦n 2 . 
     If n 3 =1, the file to be retained has been selected and the process is complete. 
     Sometimes, files representing audio and/or video works are accompanied by additional data describing the license granted for using said works by specifying what is allowed and what is forbidden, thus limiting the use of said works (digital rights management). 
     Block C 4  (not shown in  FIG. 1 ) makes a selection based on the user license associated with each file included in the set of duplicates. This selection aims at retaining the files having less restrictive terms of use. This means that those files will be retained which:
         allow the highest number of sequence play events,   have the latest expiry date,   allow to make the highest number of copies,   allow to play the sequence on the highest number of devices,
 
each of the above criteria having a priority level assigned by the user through a suitable interface.
       

     In a variant of the invention, the order of the function blocks changes according to the priority assigned to each selection criterion by the user. For example, if the user assigns a higher priority level to file quality than file format, block C 2  must precede C 3  in the chain. 
     In another variant of the invention, the file to be retained is proposed to the user, whom is then requested to confirm the choice before the duplicates are actually removed; the selection of the file to be retained is still automatic, but it is guided or conditioned by the user, who only has to give his/her final approval. 
     In other words, the various function blocks make a selection without deleting the file from the medium and propose said selection to the user: in this manner, the user can keep control of the process. 
     As aforesaid, the selection and/or deletion methods according to the present invention can advantageously be implemented and/or integrated in an electronic apparatus, e.g. in a program executed in the apparatus. 
     Typical apparatuses whereto the deletion method according to the present invention may be applied are, for example, audio and/or video reproduction devices such as the so-called “MP3 players” with semiconductor memory; in these portable devices, the memory available for storing sequences is rather limited (though it is constantly growing—nowadays it holds about 1 Gbyte), and it is therefore important to avoid keeping several copies of the same sequence. 
     In devices like those mentioned above, it is very advantageous that the deletion method is executed in an essentially automatic manner, so that the user is not bothered or required to do anything. 
     The device may execute repetitively a cycle for finding duplicates, possibly followed by the deletion thereof, preferably at regular time intervals. Such a solution may become very burdensome (from a data processing viewpoint), especially when applied to a large number of files; in such a case, it may be provided that the duplicate file deletion cycle is only executed upon a user&#39;s command. 
     Alternatively or additionally, it is very effective and efficient to carry out a verification every time a new file is stored in the device; in other words, when a new file is stored in the device, the device will search the old, previously stored files for a file being a duplicate of the new one; if such a file is found, the device will automatically or semi-automatically decide which one to retain and which one to delete. 
     The above-described embodiments of the present invention are merely exemplificative; the principles of the present invention may find application in other embodiments as well. 
     The scope and extent of the present invention are therefore determined by the appended claims.