The disclosed embodiments relate to a method for generating a graphical code pattern, and a user interface, a communications terminal and a computer program product for performing the method.
New uses for cameras of communications terminals are emerging. One is the generation, capturing and interpretation of one-dimensional codes, for instance bar codes, comprising pieces of coded information. Visual codes are both fun and convenient, and there are many fields of applications.
Two-dimensional (2D) code, is an advanced form of the one dimensional barcode and comes in several different standard formats, holding more information than a bar code because of its matrix structure. With recent technological development, camera phones can now be used to scan the 2D codes, decode them and display the information within them. 2D codes are emerging in many fields of application, such as on business cards and Curriculum Vitaes, as tags on flyers and posters and in magazines and Internet forums and blogs. They offer easy access to for example web addresses and offer the possibility to save information via scanning without having to type in the information it self.
Code generators are also available on the Internet, in which information can be entered and transformed into 2D code, either in a simple text field or for example a business card template, and by pressing a button the code is generated and displayed.
The patent applications JP20050291657 and CN200510061096 disclose how information can be transferred from business cards for example to the phone via a 2D code and a bar code reader implemented in a mobile phone. Patent application JP20040180314 and U.S. Pat. No. 6,974,078 disclose how the 2D code is used retrieving a web page via a 2D code scanned from a mobile phone.
The complexity and size of a code vary according to the amount of information contained in the code. Due to limitations in the equipment producing or capturing a code, the quality of a code may vary, and information may be lost or corrupted. Sometimes the code is not readable with a code reader, because the code reader can not distinguish the details in the code from each other. This is especially a problem with portable devices, such as communication terminals, which due to limited size and quality of components, often suffer from limitations from for instance the equipment being used for these purposes. A code often becomes too big or complicated and may be difficult to read or interpret, sometimes not readable at all. As a result, the image of a code may be distorted, due to loss of information, having as a consequence that the information in the code becomes corrupted. In addition, the appearance of a code may also be of a personal taste or preference.
Solutions could involve setting restrictions to the code generator, such as involving setting of a maximum number of characters to be converted into code, or setting of a maximum code size, which could be related to the number of characters being converted. However, this is not easy to implement, since limits for the code size and number of characters are different for different devices, due to properties and quality of the image acquirer. Also, some users want to enable scanning a code very quickly while others want to include more data in the code.
Another solution to achieve a desired result, is that a user can repeatedly request regeneration of the code while modifying the content. Hence, it is a cumbersome process of iterations since many steps are required to check the code's readability concurrently with writing the input for the code.
Hence, a problem with the prior art is thus for a user to achieve a desired result, for instance a code having an acceptable degree of complexity or size.
It would be advantageous to provide a method with which desired graphical code patterns easier can be achieved.
In a first aspect in accordance with the disclosed embodiments a method for generating a graphical code pattern from a multimedia content concurrently with editing of the multimedia content comprises, encoding the multimedia content into said graphical code pattern and displaying the image of said graphical code pattern, such as to provide a preview of said graphical code pattern. Hence, the intermediate results of a code may be presented during its preparation. The preview of the code is presented automatically, without the need for additional input besides the input provided for the preparation of the content. The preview may be displayed as an instant snapshot of the current state of the code of the currently provided content. Hence the image of the graphical code pattern is repeatedly refreshed to reflect the current multimedia content. Subsequent to presenting a preview, the terminal may be instantly ready to receive a new input, such as another character. This makes it easier for a user to achieve a desired result, for instance a code having an acceptable degree of complexity or size. Thus, a user is presented with a preview of the code, and can therefore make adjustments to the information and instantly see how it affects the code. The preview can be displayed as shown in
According to an embodiment, the encoding and/or displaying is performed essentially in real time, in instant response with the receipt of an input, such as to continuously provide a current preview of the graphical code pattern. Hence, the preview represents an instant representation of the code corresponding to the currently prepared multimedia content. This makes it possible for the user to immediately adjust the content to achieve a desired code.
According to another embodiment, the encoding and/or displaying is performed repeatedly after predetermined time intervals. Thereby, a preview of the code is automatically regularly generated, without the need for a user interaction. This makes it possible to preview images of the code that are automatically made regularly and readily available.
According to yet another embodiment, the encoding and/or displaying is performed repeatedly upon receipt of a predetermined number of input representative of editing actions of said multimedia content. Hence, a preview image of the code may be presented upon a predetermined number of for instance key strokes. This makes it possible to preview images of the code that are automatically made regularly.
The above, together with numerous other advantages and features, which will become evident from the below description, are accomplished according to a second aspect by a terminal adapted for generating a graphical code pattern from a multimedia content comprising a user interface, a processor, a display, and an input acquirer, wherein said input acquirer is adapted to receive an input, said processor is adapted to encode said input into a graphical code pattern, and said display is adapted to display an image of said graphical code pattern, wherein the processor and display are adapted to concurrently with said input acquirer receiving input, encoding and displaying the image of said graphical code pattern, such as to provide a preview of said graphical code pattern.
According to an embodiment, the graphical code pattern is matrix code, barcode, two dimensional, three dimensional, or any combinations thereof. Hence, various code formats may be implemented with the present invention.
According to an embodiment, the multimedia content is a text string, an image, a sound clip or any combinations thereof. Hence, various multimedia content formats, including video, may be used with the present invention, but the content formats are not limited to the examples mentioned here.
According to another embodiment, the image preview has an image resolution lower than that of an actual representation of the code. Thereby, limited processing resources suffice to continuously updating the image preview of the code, such that overall appearance of the code can be visually appreciated before generating a complete image of the code. For instance, minor details will update less frequently. In other words, the preview may provide a partial snapshot of the code being generated with reduced resolution. As an advantage, slow update in a case of reduced processing capacity or power-saving may be avoided.
According to another embodiment the presentation of the graphical code pattern is initiated at the end of a predetermined time interval from last received input. Hence, as a user pauses during creation of a piece of information to be converted into a code, the user is presented with an updated preview of the code from the current content of the information. This can be seen as a way of reducing processing power.
The above embodiment, together with numerous other embodiments, advantages and features, which will become evident from the below description, are accomplished according to a third aspect by a computer program product, such as a computer-readable medium, comprising software instructions that, when executed in an electronic apparatus, performs the method according to said first aspect of the present invention.
In a further embodiment, the multimedia content acquirer is adapted to receive textual input, for example through a keyboard or a touch screen, enabling a user to clearly convey the message through words. To enhance understanding the device can contain a text-to-speech functionality where the device speaks out the inputted text.
In another embodiment, the content acquirer is an image acquirer, such as a camera, which can be integrated in the phone or an externally connected. In this way the user can photograph to information the user wanted to convert into 2D code. The photo can contain text which then can be extracted from the picture and turned into a 2D code.
The display is adapted to render an image of the generated 2D code. This enables the user to check the code's complexity before the code is finalized. The display may for instance comprise a split view where one side the input is displayed and on the other the code. Another option is to have tabs so the user can change between a view of the input and a view of the 2D code.
The content being turned into 2D code can be, but not limited to, a web address, a string of symbols, a photo, a film, an animation, a phone number, a file, a business card or an e-mail address, or any combinations thereof. Hence, data previously necessary to be manually entered by a user or transferred through other means like a computer, may now be easily accessible, storable and sharable. In case of encoding files, films and animations, to be shared and distributed on a network, these could advantageously be shared via for instance a multi media service (MMS).
In one embodiment, the communication terminal may be a cellular phone, a Personal Digital Assistant (PDA), a computer, an internet device, a tablet computer, a media player or any other terminal used for communication. Hereby the user can choose a preferred device.
According to various other embodiments, the graphical code pattern may be, but not limited to, Quick Response (QR) code, micro QR code, PDF417, DataMatrix, Maxi Code, MiniCode, ezCode, Aztec code, Codablock, ShotCode Vericode, Datastrip Code, CP Code, IIS SuperCode, Dot Code, Bee Tagg code, PaperDisk, mCode, 3-DI Code, Code 1, Snowflake, optical intelligence 2D or any combinations thereof. The code may further be one dimensional or have more dimensions than two. Hence, a code part of a standard may be widely spread and more accepted, and more people will be able to read the code and to send a code that is readable to others. It is also possible to for instance choose between formats to find one that best can contain the information the user wants communicated.
According to a further embodiment, the presentation of the content and code involves presentation on a display, such that readability of the generated code can be visually inspected. Optionally, the code may be inspected via optical projecting an image of the code onto an external object such as a wall, floor or a sealing. In addition, the readability may be even further evaluated by having a code reader scan the code, either the projected one or the one displayed on the display. After the image of the code has been projected, the projected image can be acquired by the terminal by the image acquirer and interpreted by the decoder. Hence, the code's readability may instantly be assessed.
The above embodiment, together with numerous other embodiments, advantages and features, which will become evident from the below description, are accomplished according to a fourth aspect by a user interface comprising a display and an input acquirer wherein the input acquirer is arranged to receive user input to be converted into a graphical code pattern and the display is arranged to display the input and graphical code pattern, and the display is adapted to display an updated image of the graphical code pattern concurrently with the input acquirer receiving input.
The computer program product and user interface according to the third and fourth aspects of the disclosed embodiments respectively may comprise any features of the terminal according to the second aspect.
Other embodiments, features and advantages will appear from the following detailed disclosure, from the attached dependent claims as well as from the drawings.
Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to “a/an/the [element, device, component, means, step, etc]” are to be interpreted openly as referring to at least one instance of the element, device, component, means, step, etc., unless explicitly stated otherwise.
The term terminal is to be interpreted as comprising the following, but not limited to: cell phones, PDA's, palm pilots and computers. The terms 2D code, two-dimensional code, graphical code pattern, matrix code or other terms in this category all covers essentially the same, that is the code that is generated from the user input, which comes in many standards, not all necessarily mentioned in this application. When the words prepare/draft/create/compose/edit/enter/generate are used for example in connection with content/information/data, this is to be interpreted openly and may be interpreted as covering the other instances mentioned here. Furthermore the words appearance/quality/characteristics of a code should also be interpreted openly as covering the mentioned instances here. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.
Embodiments will now be described in more detail, reference being made to the enclosed drawings, in which:
The disclosed embodiments will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout.
An embodiment 200 of the mobile terminal 100 is illustrated in more detail in
The internal components, software and protocol structure of the mobile terminal 200 will now be described with reference to