Abstract:
Electronic device, comprising a memory for storing data files, and means for accessing information in a data file stored in the memory, including a computer system and computer program code means which, when loaded, makes the computer system execute the steps of:—determining file format for the data file;—accessing a meta descriptor language file adapted to the file format of the data file;—parsing the data file by means of a generic parser using said meta descriptor language file;—extracting meta data from the data file;—presenting information related to the data file from the extracted meta data.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates generally to the field of electronic devices, in particular portable handheld devices such as mobile phones, which are capable of processing and presenting information. More specifically, the invention relates to the capability of accessing information in different types of data files in such an electronic device. 
       BACKGROUND 
       [0002]    The first commercially attractive cellular telephones or terminals were introduced in the market at the end of the 1980&#39;s. Since then, the mobile phone industry has had an enormous development both regarding quality of service and transmission capabilities, as well as the technology for producing advanced communications terminals. A lot of effort has been made in making smaller terminals, with much help from the miniaturisation of electronic components and the development of more efficient batteries. In only a couple of decades the communication systems have gone from analogue to digital, and at the same time the dimensions of the communication terminals have gone from briefcase size to the pocket size phones of today. Today, numerous manufacturers offer pocket-sized terminals with a wide variety of capabilities and services, such as packet-oriented transmission and multiple radio band coverage. Still today, mobile phones are getting smaller and smaller and the size is generally considered to be an important factor for the end customer. The development in electronics has made it possible to miniaturise the components of the terminals, at the same time making the terminals capable of performing more advanced functions and services. The development of new transmission schemes, the so-called 3 rd  generation mobile system also provides the possibility to convey more advanced data to the wireless communication terminals, such as real time video. 
         [0003]    The present and coming generations of mobile systems provide capabilities of transmitting and accessing more advanced data. Still, the memory space in the communication terminal will be limited, as will the processor power usable for processing e.g. media data. So, even if it will be possible to access a wider range of different kinds of data, the terminal may be a limiting factor. Developers of media services or commercials are anxious to be able to provide digital information that can be accessed by the consumers through their terminals, without requiring special terminals, extensive memory space, or occupying a lot of time for downloading and presentation. 
         [0004]    A problem related to the field of electronic devices is that in order to read or in other ways render a particular data file, a certain software application must be used by the computer system of the electronic device. This problem is particularly relevant for portable electronic devices, which generally are provided with a limited memory space, and therefore typically carries fewer software applications. So, even if electronic devices often handle many kinds of files and data formats, an electronic device will typically recognize far from all types of formats. A chunk of data can contain loads of information but will stay unknown and useless for the user until he or she installs the proper application for handling the data. An application normally registers the data MIME (Multipurpose Internet Mail Extensions) type to the OS (Operating System). After that the application is asked to handle the data when used. 
         [0005]    Today there is not much a user can do with an unknown file. It can be stored and moved but one has to install some kind of application to parse the data to know what it is. Some mobile devices can accept incoming, unknown files and store them in its file system. But the user cannot get any more information from the unknown files than the file system allows; typically name, extension and size. 
         [0006]    Some State of the art devices can look up the file extension in a remote data base. If found the user will see some static information about the format itself and perhaps a list of vendors/applications that handles it. Windows® has a lookup service that maps a file extension to a Windows application description. So, in effect, the user has to download and install a new application in order to get any information on the file and its contents. 
       SUMMARY OF THE INVENTION 
       [0007]    A general object of the invention is therefore to provide improved means for accessing information related to data files in electronic devices. According to the invention, this object is targeted by providing the possibility of accessing information related to data files, without actually needing a software application for handling the file. Instead, a generic parser is included in the electronic device, which is capable of parsing any data file, given that a matching meta description language file for the file format of the data file is accessible. This way, limited information can be extracted from parsed meta data of the data file, even if the full data may not be extracted from the file. The information obtained this way may e.g. be used by a user of the device for determining whether or not to proceed and obtain an application for being able to render the data file. 
         [0008]    According to a first aspect, this object is fulfilled by a method for accessing information in a data file stored in a memory in an electronic device, comprising the steps of: 
         [0009]    determining file format for the data file; 
         [0010]    accessing a meta descriptor language file adapted to the file format of the data file; 
         [0011]    parsing the data file by means of a generic parser using said meta descriptor language file; 
         [0012]    extracting meta data from the data file; 
         [0013]    presenting information related to the data file from the extracted meta data. 
         [0014]    In one embodiment the method, prior to the step of accessing the meta descriptor language file, comprises the step of: 
         [0015]    downloading the meta descriptor language file to a file memory in the electronic device from storage means through a data communication network. 
         [0016]    In one embodiment the method, prior to the step of downloading the meta descriptor language file, comprises the steps of: 
         [0017]    presenting a selectable option to download the meta descriptor language file to a file memory in the electronic device from storage means through a data communication network; 
         [0018]    initiating download responsive to detecting a user download command. 
         [0019]    In one embodiment the method, prior to the step of accessing the meta descriptor language file, comprises the steps of: 
         [0020]    detecting an attempt to execute the data file in the electronic device; 
         [0021]    establishing that the electronic device holds no accessible application for handling the determined file format. 
         [0022]    In one embodiment the method, prior to the step of accessing the meta descriptor language file, comprises the steps of: 
         [0023]    detecting an attempt to execute the data file in the electronic device; 
         [0024]    establishing that the electronic device holds no meta descriptor language file adapted to the file format; 
         [0025]    downloading the meta descriptor language file to a file memory in the electronic device from storage means through a data communication network. 
         [0026]    In one embodiment the meta descriptor language file comprises instructions for the generic parser how to binary parse a tag of a data file of the particular data format. 
         [0027]    In one embodiment, the step of extracting meta data from the data file comprises the step of: 
         [0028]    locating and decoding fields in said data file, identified in said tag. 
         [0029]    In one embodiment, the step of presenting information comprises the step of: 
         [0030]    presenting the information on a display of the electronic device. 
         [0031]    In one embodiment, the electronic device is a mobile phone. 
         [0032]    In one embodiment the file format is a media data format, and the extracted meta data of that file includes information on different media pieces of said data file. 
         [0033]    In one embodiment the file format is a computer game data format, and the extracted meta data of that file includes information on different game characteristics, such as game levels, game characters, of the game represented by said data file. 
         [0034]    According to a second aspect, the object of the invention is fulfilled by an electronic device, comprising a memory for storing data files, and means for accessing information in a data file stored in the memory, including a computer system and computer program code means which, when loaded, makes the computer system execute the steps of: 
         [0035]    determining file format for the data file; 
         [0036]    accessing a meta descriptor language file adapted to the file format of the data file; 
         [0037]    parsing the data file by means of a generic parser using said meta descriptor language file; 
         [0038]    extracting meta data from the data file; 
         [0039]    presenting information related to the data file from the extracted meta data. 
         [0040]    In one embodiment the electronic device is a mobile phone. 
         [0041]    In one embodiment the electronic device comprises computer program code means which, when loaded, makes the computer system execute any of the method steps described above with reference to the first aspect of the invention. 
         [0042]    In one embodiment the meta descriptor language file comprises instructions for how to binary parse a tag of a data file of the particular data format. 
         [0043]    In one embodiment the electronic device comprises computer program code means which, when loaded, makes the computer system execute the step of: 
         [0044]    locating and decoding fields in said data file, identified in said tag. 
         [0045]    In one embodiment the electronic comprises a display, and computer program code means which, when loaded, makes the computer system present the information on the display. 
         [0046]    In one embodiment the file format is a media data format, and the extracted meta data of that file includes information on different media pieces of said data file. 
         [0047]    In one embodiment the file format is a computer game data format, and the extracted meta data of that file includes information on different game characteristics of the game represented by said data file. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWING 
         [0048]    The features and advantages of the present invention will be more apparent from the following description of the preferred embodiments with reference to the accompanying drawings, on which 
           [0049]      FIG. 1  schematically illustrates of an electronic device in the embodiment of a mobile phone, in which the invention can be applied; and 
           [0050]      FIG. 2  schematically illustrates a flow chart of an embodiment of the invention. 
       
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
       [0051]    The present description relates to the field of handling data files in electronic devices, in particular portable or handheld devices, such as mobile phones, communicators, electronic organisers, smartphones, PDA:s (Personal Digital Assistants), laptop computers etc. It should be noted, though, that the invention is as such not restricted to use in portable electronic devices. Consequently, the present invention is equally applicable to stationary devices, such as desktop computers. Furthermore, it should be emphasised that the term comprising or comprises, when used in this description and in the appended claims to indicate included features, elements or steps, is in no way to be interpreted as excluding the presence of other features elements or steps than those expressly stated. 
         [0052]    Exemplary embodiments will now be described with references made to the accompanying drawing. 
         [0053]      FIG. 1  illustrates an embodiment of an electronic device in accordance with the invention, in the form of a mobile telephone  1 . Such a mobile phone  1  is usable for wireless communication with base stations of a cellular network, according to the established art. Examples of communication systems presently used in mobile telephony include GSM (Global System for Mobile communications) and UMTS (Universal Mobile Telecommunications System). Mobile phone  1  typically comprises a support structure, including a chassis and a cover  2 , directly or indirectly supporting the other components of the terminal. Mobile phone  1  is devised with a user-input interface, in the displayed embodiment comprising a microphone  3  and a keypad  4 . The user input interface may also or comprise a touch-sensitive display in addition to or instead of keypad  4 . Furthermore, a user output interface of the mobile phone  1  comprises a loudspeaker  5  and a display  6 . All of these features are well known in the prior art. Though not shown in  FIG. 1 , the mobile phone  1  further includes an antenna, radio transmission and reception electronics, and a power supply preferably in the form of a battery. Furthermore, mobile phone  1  is devised with a computer system, including a microprocessor with associated memory and software. 
         [0054]    In many mobile phones of today, as in other types of electronic devices, it is possible to receive and store data files. However, in order to execute the data file, a software application for that purpose is needed. In this context, executing a data file is meant to include opening a file for reading or viewing information, starting a program represented by the data file, such as a computer game, accessing data in the data file for processing or handling, or the like. However, if no application is present in the electronic device, or if such an application cannot be accessed e.g. due to lack of rights, very little information of the data file can be retrieved from the data file as such. Therefore, in order to retrieve information of the data file, the associated software application has to be obtained. For an electronic device such as a mobile phone it may be both complicated and time-consuming to find, access, download, install, setup and run such a software application, which may even have to be paid and registered through suitable channels before it can be used. 
         [0055]    The idea behind the present invention is therefore to provide means for obtaining information about a data file, without having to have access to an application necessary to execute the data file. The obtained information about the data file may then be used as a basis for a user of the electronic device to make a decision on what to do with the data file, such as to delete it, send or download it to another device in which it may be executed, or to proceed and obtain the appropriate application software for obtaining access to the data file. In accordance with the invention, a generic parser is included in the electronic device, which can parse any file given that the meta descriptor language, MDL, files matching the data files, are known. The MDL describes how the parser finds different types of meta data inside a data file of a certain format. This way the generic parser, also called the MDL parser, is implemented only once, whereas the MDL files can be downloaded for each new file format and it&#39;s meta data is accessible without having to install another application. An advantage with this feature is that an MDL file is typically considerably smaller in size than a full application software, which makes it more suitable for fast download. This is particularly useful for download to electronic devices with limited download bandwidth, or limited memory space. Instead of having to download and store many space-demanding applications, only the ones really wanted may be downloaded. 
         [0056]    One example of an embodiment of the present invention may relate to audio files, such as an mp3 file. Such mp3 files have a meta data format, ID3, which is concatenated at the end of the file. In order to find out what data the mp3 file holds, such as song titles and artists, the meta data has to be parsed. To parse that in an electronic device such as a mobile phone, specialized code for interpreting that data may be held in the phone, as is often the case for state of the art mobile phones. However, for an embodiment according to the invention, an MDL parser would instead be included in the mobile phone, for which a matching MDL file for the mime type audio/mp3, say mp3.mdl, is needed. Such an MDL file would probably be installed with the phone, since it is such a common format, but had it been rare, it could be downloadable from some service on the internet. The MDL file contains the information on how to binary parse the ID3 tag, e.g. at offset A the field B is located and is C bytes long encoded in format D. The fields, e.g. artist, song, album, are then extracted from the parser, and presented to the user on a display  6 . An example of MDL file contents and syntax for mp3 is given below: 
         [0000]    
       
         
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 &lt;mdl ver=“1.0”=&gt; 
               
             
          
           
               
                   
                 &lt;head&gt; 
               
             
          
           
               
                   
                 &lt;mime&gt;audio/mp3&lt;/mime&gt; 
               
               
                   
                 &lt;desc&gt;Mpeg Layer 3 audio file&lt;/desc&gt; 
               
               
                   
                 &lt;ext&gt;mp3&lt;/ext&gt; 
               
             
          
           
               
                   
                 &lt;/head&gt; 
               
               
                   
                 &lt;tags&gt; 
               
             
          
           
               
                   
                 &lt;tag id=“1”&gt; 
               
             
          
           
               
                   
                 &lt;name&gt;Author&lt;/name&gt; 
               
               
                   
                 &lt;type&gt;rel&lt;/type&gt; 
               
               
                   
                 &lt;pos&gt; 
               
             
          
           
               
                   
                 &lt;seek&gt;2&lt;/seek&gt; 
               
             
          
           
               
                   
                 &lt;/pos&gt; 
               
             
          
           
               
                   
                 &lt;/tag&gt; 
               
               
                   
                 &lt;tag id=“2”&gt; 
               
             
          
           
               
                   
                 &lt;name&gt;Name&lt;/name&gt; 
               
               
                   
                 &lt;type&gt;abs&lt;/type&gt; 
               
               
                   
                 &lt;length type=“given”&gt; 
               
             
          
           
               
                   
                 &lt;seek&gt;EOF&lt;/seek&gt; 
               
               
                   
                 &lt;seek&gt;−30&lt;/seek&gt; 
               
               
                   
                 &lt;bits&gt;8&lt;/bits&gt; 
               
               
                   
                 &lt;range&gt; 
               
             
          
           
               
                   
                 &lt;min&gt;2&lt;/min&gt; 
               
               
                   
                 &lt;max&gt;28&lt;/max&gt; 
               
             
          
           
               
                   
                 &lt;/range&gt; 
               
             
          
           
               
                   
                 &lt;/length&gt; 
               
               
                   
                 &lt;pos&gt; 
               
             
          
           
               
                   
                 &lt;seek&gt;EOF&lt;/seek&gt; 
               
               
                   
                 &lt;seek&gt;−30&lt;/seek&gt; 
               
             
          
           
               
                   
                 &lt;/pos&gt; 
               
             
          
           
               
                   
                 &lt;/tag&gt; 
               
             
          
           
               
                   
                 &lt;/tags&gt; 
               
             
          
           
               
                   
                 &lt;/mdl&gt; 
               
               
                   
                   
               
             
          
         
       
     
         [0057]      FIG. 2  illustrates a flow chart for a method according to an embodiment of the invention, and for the sake of clarity it will be referred to as implemented in a mobile phone and used for obtaining information about an mp3 audio file. However, it should be understood that the method as such is applicable to other types of electronic device incorporating a computer system for handling of data files and presenting information to a user of the device. 
         [0058]    The method starts by the step  200  of a data file of a particular file format being stored in a data memory of the mobile phone. The data file, in this example an mp3 file, may e.g. have been received in the phone by wireless transmission through a mobile communications network, by download through a cable connected to a computer, or by connection of a memory stick to the phone. The mobile phone is devised with a generic parser, and MDL parser, usable for parsing all received data files, or optionally only those data files for which the computer system of the phone has no matching application. As an example, the data file stored in step  200  is an mp3 file named “greatsongs.mp3”. 
         [0059]    In a first variant of this embodiment, further processing for obtaining information from the data file is not initiated until an attempt made by a user of the mobile phone to execute or see information about the data file is detected in step  205 . 
         [0060]    Once such an attempt is detected by the computer system of the mobile phone, the data file is checked by the computer system in step  210  for establishing its file format. 
         [0061]    In step  220 , the computer system checks if there is an accessible software application in the phone for executing the data file. If that is the case, the application is accessed and the data file is executed in step  230 . 
         [0062]    If there is no such accessible application, the computer system will instead proceed and check whether there is an MDL file for the established file format accessible in the mobile phone in step  240 . If that is the case, the MDL file is accessed in step  250 . 
         [0063]    If there is no accessible MDL file in the mobile phone for parsing the established file format, the process may proceed in step  260  by presenting, preferably on the display of the mobile phone, an offer to download an MDL file usable for retrieving information about the data file. In one embodiment, such a question or offer may also be provided with an alternative option to download the full application software needed to execute the data file. In the offer, download times and prices, if any, may also be given for the two alternatives. 
         [0064]    From step  260 , the user may select to download the appropriate MDL file in step  270 , by e.g. pressing a soft key indicating that choice on the terminal. Alternatively, the MDL file may be automatically downloaded once it has been established in step  240  that no such MDL file is accessible in the Mobile phone, as indicated by the dashed left side loop in the drawing. MDL file download may be performed over the mobile telecommunication system in which the mobile phone operates, from an MDL file service station connected to the internet. 
         [0065]    Once the MDL file for parsing the meta data format of the mp3 file has been obtained by download in step  270 , or by access to an MDL file memory in the mobile phone in step  250 , the ID3 tag of the data file is parsed by the generic parser. 
         [0066]    The fields located in the file “greatsongs.mp3” are then extracted from the generic parser by the computer system, and presented as text on the display of the mobile phone in step  290 . The information may e.g. be given as: 
         [0067]    1. U2—Gloria 
         [0068]    2. Aerosmith—Living on the edge 
         [0069]    3. Maroon 5—This love 
         [0070]    From this brief but descriptive information, the user of the mobile phone may e.g. decide to either obtain the application needed for executing the mp3 file and actually listen to these songs, or to transmit them to another device. 
         [0071]    In a second variant, which is not directly shown in  FIG. 2 , steps  210 ,  220  and  240  may be automatically performed by the computer system after step  200 , even without an attempt to execute or access information about the data file has been detected. In such a variant, the process is ready to proceed either with accessing an application, accessing an MDL file, or downloading an MDL file, when such an attempt is detected by the computer system. 
         [0072]    A benefit with the present invention is that only one piece of software, i.e. the generic parser, is usable for decoding all meta data in all file types using basic operation similar to code, provided a simple meta description language file is accessible. The principles of the present invention have been described in the foregoing by examples of embodiments or modes of operations. However, the invention should not be construed as being limited to the particular embodiments discussed above, which are illustrative rather than restrictive, and it should be appreciated that variations may be made in those embodiments by persons skilled in the art, without departing from the scope of the present invention as defined by the appended claims.