Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
A METHOD FOR DECODING AN ENCODED USER INPUT
Document Type and Number:
WIPO Patent Application WO/2020/002406
Kind Code:
A1
Abstract:
Disclosed are methods and systems for handling complex target information using a mapping manual comprising a plurality of pairs of correlated code elements and information elements. The disclosed methods and systems provide that a user can deliver complex target information by means of much simpler sequences of code elements, making entry of target information easier while maintaining a high level of security.

Inventors:
MØLLER KIM CORNELIUS (DK)
MØLLER PETER CORNELIUS (DK)
MØLLER ERLAND (DK)
Application Number:
PCT/EP2019/066964
Publication Date:
January 02, 2020
Filing Date:
June 26, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ERLAND MOELLER OG SOENNER K/S (DK)
International Classes:
H04L9/32
Domestic Patent References:
WO2016010989A12016-01-21
Foreign References:
EP1320083A12003-06-18
US20040107107A12004-06-03
Attorney, Agent or Firm:
ZACCO DENMARK A/S (DK)
Download PDF:
Claims:
CLAIMS

1. A method for decoding a user input to derive a target information from the user input, wherein the method comprises:

obtaining, by a user input capture device, a user input representing encoded target information, wherein the user input comprises a user utterance;

performing speech recognition on the user utterance; and

performing, by a hardware processor, the operations of:

obtaining a mapping manual comprising a plurality of pairs of correlated code elements and information elements, wherein the code elements of the mapping manual are heterophone with respect to each other;

identifying a sequence of code elements from the user input, wherein at least part of the code elements consist of words; and

generating a sequence of information elements forming the target information by converting, using the mapping manual, the code elements in the identified sequence of code elements into the correlated information elements.

2. The method according to claim 1 , wherein at least part of the information elements consist of numbers, such as combinations of one or more digits.

3. The method according to claim 1 or 2, comprising identifying the user by analysing the utterance with respect to user specific pronunciation of code elements.

4. The method according to any one of claims 1 to 3, wherein the encoded target

information comprises a user specific code element, such as a username or an account name.

5. The method according to any one of claims 1 to 4, wherein identifying the sequence of code elements comprises using the mapping manual to identify the code elements in the encoded target information.

6. The method according to any one of claims 1 to 5, wherein the user input is validated by dividing a received user input into a sequence of proposed code elements; and comparing each of the proposed code elements in the sequence of proposed code elements with the code elements of the mapping manual to confirm the validity of the received user input with respect to the mapping manual.

7. An input manipulation apparatus for handling encoded target information, the apparatus comprising:

a user input capture device configured for receiving a user input representing an encoded target information, wherein the user input comprises a user utterance; a speech recognizer configured for performing speech recognition on the user utterance; and

a decoder comprising a hardware processor and a non-transitory computer readable medium storing:

a mapping manual comprising a plurality of pairs of correlated code elements and information elements, wherein the code elements of the mapping manual are heterophone with respect to each other; and

a computer program product comprising instructions which when executed by the hardware processor are configured for:

identifying a sequence of code elements from the user input, wherein at least part of the code elements consist of words; and

generating a sequence of information elements forming the target information by converting, using the mapping manual, the code elements in the identified sequence of code elements into the correlated information elements.

8. The apparatus according to claim 7, wherein the computer program product stored at the decoder comprises instructions which when executed by the processor are configured for confirming a data integrity attribute of the target information.

9. The apparatus according to claim 8, wherein confirming the data integrity attribute of the target information comprises performing a checksum calculation.

10. The apparatus according to claim 8 or 9, wherein confirming the data integrity attribute of the target information comprises implementing a transport layer protocol, such as a transmission control protocol (TCP), such as a user datagram protocol (UDP), such as a point-to-point tunnelling protocol (PPTP), etc.

1 1. A method for encoding a target information to derive an encoded target information from the target information, such as for delivering to a user, wherein the method comprises: performing, by a hardware processor, the operations of:

obtaining a target information; obtaining a mapping manual comprising a plurality of pairs of correlated code elements and information elements, wherein the code elements of the mapping manual are heterophone with respect to each other;

identifying a sequence of information elements from the target information; generating a sequence of code elements forming the encoded target information, wherein at least part of the code elements consist of words, by converting, using the mapping manual, the information elements in the identified sequence of information elements into the correlated code elements; and

delivering the sequence of code elements forming the encoded target information to a user.

12. The method according to claim 11 , wherein at least part of the information elements consist of numbers, such as combinations of one or more digits.

13. The method according to claim 11 or 12, comprising selecting the mapping manual from a plurality of mapping manuals each made for a different language by matching a user language to the language of the mapping manual.

14. The method according to any one of claims 1 1 to 13, wherein the encoded target

information comprises a user specific code element, such as a username or an account name.

15. An input manipulation apparatus for encoding target information, the apparatus

comprising:

a memory device configured for providing an encoded target information, such as to a user; and

an encoder comprising a hardware processor and a non-transitory computer readable medium storing:

a mapping manual comprising a plurality of pairs of correlated code elements and information elements, wherein the code elements of the mapping manual are heterophone with respect to each other; and

a computer program product comprising instructions which when executed by the hardware processor are configured for:

obtaining a target information;

identifying a sequence of information elements from the target information;

generating a sequence of code elements forming the encoded target information, wherein at least part of the code elements consist of words, by converting, using the mapping manual, the information elements in the identified sequence of information elements into the correlated code elements; and

storing the sequence of code elements forming the encoded target information in the memory device.

16. The apparatus according to claim 15, wherein the input manipulation apparatus

comprises a database configured for caching and/or storing a plurality of pairs of target information and corresponding encoded target information.

17. The apparatus according to claim 15 or 16, wherein the input manipulation apparatus comprises a service interface configured for receiving a request for encoding a target information.

18. The apparatus according to claim 17, wherein the service interface comprises a front end for a database server.

19. The apparatus according to claim 17 or 18, wherein the service interface provides a web service by implementing an application layer protocol, such as a hypertext transfer protocol (HTTP), such as a Doctrine database abstraction layer (DBAL) protocol, such as a clear text protocol, etc.

20. An input manipulation system for handling encoded target information comprising an apparatus according to claim 7 and an apparatus according to claim 15, wherein the mapping manual used by the decoder is compatible and/or identical with the mapping manual used by the encoder.

21. The system according to claim 20, wherein the sequence of code elements comprises a control code element and the sequence of information elements comprises an information control element representing a data integrity attribute of the target information, such as a check sum, such as a cryptographic hash digest, such as an error-correcting code, such as a credit card security code, etc.

22. The system according to claim 21 wherein generating a sequence of code elements, at the encoder, comprises generating a correlated control code element for a first information control element, by converting, using the mapping manual, the first information control element into the correlated control code element representing a data integrity attribute of the target information.

23. The system according to claim 22, wherein identifying a sequence of information elements, at the encoder, comprises processing, after identifying, the sequence of information elements not comprising the information control element into the first information control element by using any mathematical method, such as a check sum, such as a Luhn formula, such as a modulus 11 formula, etc.

24. The system according to claim 22 or 23, wherein generating a sequence of information elements, at the decoder, comprises generating a second information control element for the control code element, by converting, using the mapping manual, the control code element into the correlated second information control element representing a data integrity attribute of the target information.

25. The system according to claim 24, wherein converting the code elements into the

correlated information elements, at the decoder, comprises processing, after converting, the sequence of information elements not comprising the information control element into the second information control element by using any mathematical method, such as a check sum, such as a Luhn formula, such as a modulus 1 1 formula, etc.

26. The system according to claim 24 or 25, wherein the computer program product stored at the decoder comprises instructions which when executed by the hardware processor are configured for comparing the first information control element with the second information control element to confirm the data integrity attribute of the target information derived from the user input.

Description:
A METHOD FOR DECODING AN ENCODED USER INPUT

TECHNICAL FIELD

The present disclosure relates to a computer implemented method of encoding and decoding information using a mapping manual. In particular the disclosure relates to a method and an apparatus for manipulation of a user input using such encoding and decoding.

BACKGROUND

Sequences of numbers and signs, such as alphabetic letters and characters, are used extensively in data processing as either an input and/or output. Providing an input can in some situations be a difficult and demanding task, especially for relatively long sequences. This requires concentration and time and the likelihood of input errors is increased such that the process must be repeated to eliminate the errors.

Examples of number and sign sequences are social security numbers, payment order numbers, customer IDs, invoice numbers, order numbers, shipping numbers, phone numbers, EAN codes, account numbers, transaction IDs, security codes, transitory codes, zip codes, IP addresses, terminal IDs, archival numbers, card numbers, and many others.

American social security number consist of nine digits, the Danish Central Person Register number has ten digits, EAN codes in retail have thirteen, credit card numbers have 16-20 digits, payment order numbers can be up to twenty digits, phone numbers are eight - twelve digits. National identification numbers often comprise an additional check digit for validating the ID. Security codes are often made up of eight or more complex signs, and users are encouraged to have long passwords or pin numbers to better protect against hacking and other cyber-attacks.

The length of the sequences and the number of different codes each individual uses and encounters in daily life make it difficult to remember or enter these codes correctly. Few people can remember their account numbers, card numbers or shipping numbers. A significantly secure passcode is by definition one that contains many characters with no discernible pattern or logic which makes it hard to crack but also harder to remember.

SUMMARY

One example of an application is during loading and reloading of cargo. Handling cargo may require a secure identification of the handled unit. When a person is inspecting shipping containers on a moving vessel they often will have at least one hand to hold a recording device such as a notebook or electronic tablet. The other hand may be required to hold on for stability or be used to point an illumination device at the container ID. This means that it can be cumbersome to have to use one of the hands to write or type the ID number in the records. In another situation a delivery person may be holding a package with both hands which again makes recording the ID of the package difficult or impossible without putting the package down.

Disclosed is, in one aspect, a method for decoding a user input to derive a target information from the user input, wherein the method comprises:

- obtaining, by a user input capture device, a user input representing encoded target information; and

performing, by a processor, such as a hardware processor, the operations of:

obtaining a mapping manual comprising a plurality of pairs of correlated code elements and information elements;

identifying a sequence of code elements from the user input; and generating a sequence of information elements forming the target information by converting, using the mapping manual, the code elements in the identified sequence of code elements into the correlated information elements.

Disclosed is, in another aspect, a method for decoding a user input to derive a target information from the user input, wherein the method comprises:

- obtaining, by a user input capture device, a user input representing encoded target information, wherein the user input comprises a user utterance;

performing speech recognition on the user utterance; and

performing, by a processor, such as a hardware processor, the operations of:

obtaining a mapping manual comprising a plurality of pairs of correlated code elements and information elements, wherein the code elements of the mapping manual are heterophone with respect to each other;

identifying a sequence of code elements from the user input, wherein at least part of the code elements consist of words; and

generating a sequence of information elements forming the target information by converting, using the mapping manual, the code elements in the identified sequence of code elements into the correlated information elements.

The mapping manual may be obtained by loading a data file containing the mapping manual into the processor, such as into the hardware processor. The mapping manual may loaded from various computer readable storage media, such as a local hard-disk, a remote server, the cloud or any other means for storing data.

Identifying the sequence of code elements from the user input may comprise several steps. For example in the case where the user input comprises a user utterance, speech recognition is preferably performed on the received utterance to provide audio data representing the user utterance. The audio data are then analysed to divide the audio data into a sequence of code elements forming the encoded target information.

The target information retrieved by this method may subsequently be delivered to the target system.

The sequence of code elements and the sequence of information elements may each comprise one or more code elements and information elements, respectively.

Disclosed is, in one aspect, a method for encoding a target information, wherein the method comprises:

performing, by a processor, such as a hardware processor, the operations of:

obtaining a target information;

obtaining a mapping manual comprising a plurality of pairs of correlated code elements and information elements;

identifying a sequence of information elements from the target information; and generating a sequence of code elements forming the encoded target information by converting, using the mapping manual, the information elements in the identified sequence of information elements into the correlated code elements

Disclosed is, in another aspect, a method for encoding a target information to derive an encoded target information from the target information, such as for delivering to a user, wherein the method comprises:

performing, by a processor, such as a hardware processor, the operations of:

obtaining a target information;

obtaining a mapping manual comprising a plurality of pairs of correlated code elements and information elements, wherein the code elements of the mapping manual are heterophone with respect to each other;

identifying a sequence of information elements from the target information; generating a sequence of code elements forming the encoded target information, wherein at least part of the code elements consist of words, by converting, using the mapping manual, the information elements in the identified sequence of information elements into the correlated code elements; and delivering the sequence of code elements forming the encoded target information to a user. In one embodiment, the method may comprise selecting the mapping manual from a plurality of mapping manuals each made for a different language by matching a user language to the language of the mapping manual.

The result of encoding the target information, i.e. the sequence of code elements, may then be delivered to the user. The user may more easily memorize the sequence of code elements and be ready to provide it at a later point in time. The target information may be provided by the target system or a separate system.

Disclosed is, in one aspect, an input manipulation apparatus for handling encoded target information, the apparatus comprising:

a user input capture device for receiving a user input representing encoded target information; and

a decoder comprising a processor, such as a hardware processor, and a computer readable medium, such as a non-transitory computer readable medium, storing:

a mapping manual comprising a plurality of pairs of correlated code elements and information elements; and

a computer program product comprising instructions which when executed by the processor, such as by the hardware processor, are configured for:

identifying a sequence of code elements from the user input; and generating a sequence of information elements by converting, using the mapping manual, the code elements in the identified sequence of code elements into correlated information elements.

Disclosed is, in another aspect, an input manipulation apparatus for handling encoded target information, the apparatus comprising:

a user input capture device configured for receiving a user input representing an encoded target information, wherein the user input comprises a user utterance;

a speech recognizer configured for performing speech recognition on the user utterance; and

a decoder comprising a processor, such as a hardware processor, and a computer readable medium, such as a non-transitory computer readable medium, storing:

a mapping manual comprising a plurality of pairs of correlated code elements and information elements, wherein the code elements of the mapping manual are heterophone with respect to each other; and

a computer program product comprising instructions which when executed by the processor, such as by the hardware processor, are configured for: identifying a sequence of code elements from the user input, wherein at least part of the code elements consist of words; and

generating a sequence of information elements forming the target information by converting, using the mapping manual, the code elements in the identified sequence of code elements into the correlated information elements.

In some embodiments, the input manipulation apparatus comprises an encoder configured for encoding target information by converting, using the mapping manual, information elements of the target information to correlated code elements.

In some embodiments, the computer program product stored at the decoder may comprise additional instructions which when executed by the processor, such as a hardware processor, are configured for confirming a data integrity attribute of the target information. Confirming the data integrity attribute of the target information may comprise performing a checksum

calculation. Confirming the data integrity attribute of the target information may comprise implementing an transport layer protocol, such as a transmission control protocol (TCP), such as a user datagram protocol (UDP), such as a point-to-point tunnelling protocol (PPTP), etc.

A speech recognizer may be implemented in any way known to a skilled person, and the speech recognizer may be implemented by a processor, such as a hardware processor, configured for semi-autonomous natural language processing.

Disclosed is, in one aspect, an input manipulation apparatus for handling target information, the apparatus comprising:

an encoder comprising a processor, , such as a hardware processor, and a computer readable medium, such as a non-transitory computer readable medium, storing:

a mapping manual comprising a plurality of pairs of correlated code elements and information elements; and

a computer program product comprising instructions which when executed by the processor, such as the hardware processor, are configured for:

obtaining a target information;

identifying a sequence of information elements from the target information; and

generating a sequence of code elements forming the encoded target information by converting, using the mapping manual, the information elements in the identified sequence of information elements into the correlated code elements Disclosed is, in another aspect, an input manipulation apparatus for encoding target information, the apparatus comprising:

a memory device configured for providing an encoded target information, such as to a user; and

an encoder comprising a processor, such as the hardware processor, and a computer readable medium, such a non-transitory computer readable medium, storing:

a mapping manual comprising a plurality of pairs of correlated code elements and information elements, wherein the code elements of the mapping manual are heterophone with respect to each other; and

a computer program product comprising instructions which when executed by the processor are configured for:

obtaining a target information;

identifying a sequence of information elements from the target information; generating a sequence of code elements forming the encoded target information, wherein at least part of the code elements consist of words, by converting, using the mapping manual, the information elements in the identified sequence of information elements into the correlated code elements; and

storing the sequence of code elements forming the encoded target information in the memory device.

A person skilled in the art will recognize that the memory device configured for providing an encoded target information may be implemented by a packet buffer in a network interface card.

It is envisaged that the herein disclosed methods may be computer-implemented methods, the methods being implemented using computers, and/or processors, such as hardware processor, configured for performing the methods as herein disclosed.

In some embodiments, the input manipulation apparatus comprises a decoder configured to obtain and decode the encoded target information, where the decoding is based on the mapping manual.

In some embodiments, the input manipulation apparatus comprises a database configured for caching and/or storing a plurality of pairs of target information and corresponding encoded target information. By caching and/or storing a plurality of pairs of target information and corresponding encoded target information, the input manipulation apparatus is enabled to check if an obtained target information has previously been encoded, and if so, is further enabled to retrieve the corresponding encoded target information instead of executing instructions by the processor at the encoder to encode the target information. It is advantageous that caching and/or storing a plurality of pairs of target information and corresponding encoded target information provides fewer instructions to be executed at the processor.

In some embodiments, the input manipulation apparatus comprises a service interface, such as a web interface, such as a user interface of the device, configured for receiving a request for encoding a target information. By providing a service interface configured for receiving a request for encoding a target information, the input manipulation apparatus is enabled to handle a plurality of simultaneous requests for encoding a plurality of target information, such as by queuing the requests. It is advantageous that a service interface configured for receiving a request for encoding a target information enables handling of a plurality of simultaneous requests, which allows more users/systems to be served at once. The service interface may comprise a front end for a database server. The service interface may also provide a web service by implementing an application layer protocol, such as a hypertext transfer protocol (HTTP), such as a Doctrine database abstraction layer (DBAL) protocol, such as a clear text protocol, etc.

Encoding target information (e.g. a data string of arbitrary length) to a sequence of code elements using the mapping manual provides a sequence of code elements which more easily is remembered and transferred to an input system while still containing the same amount of data as the target information. Encoding the target information involves identifying a sequence of information elements each containing one or more signs of the original data string forming the target information. E.g. a target information in the form of a data string containing the twelve digits“396218269514” may be divided into four information elements“396”,“218”,“269” and “514” which then are converted to the four corresponding code elements, e.g.“guitar”, “automobile”,“Thomas” and“house”. The sequence“guitar”,“automobile”,“Thomas” and “house” is clearly easier to remember and to utter than“396218269514”. I.e. the target information of arbitrary length is encoded to and expressed by a sequence of code elements which more easily may be remembered and input a target system, such as a bank terminal or a payment device. The encoding of the data string may be handled by an encoder comprising a data processor, such as a computer or similar device, equipped with a computer program product configured for converting the target information into a sequence of code elements, e.g. using the mapping manual. The system may present this sequence of code elements as output on paper, electronic media, or as communicated data for further processing. When in need of providing the target information to a target system, the user may then enter the sequence of code elements to a decoder e.g. simply by uttering the sequence to the disclosed decoder which decodes the utterance to arrive at the sequence of information elements and hence the target information.

The decoder may e.g. register the decoded target information and possibly execute an action which specifically requires the presentation of this string of information. E.g. a PIN which is a prerequisite for a money transfer. The decoder may also send the decoded string of information to a target system.

An operational system may comprise several parts such as:

• an encoder configured to receive a data string representing a target information and return a sequence of code elements, according to a mapping manual, and

• a decoder configured to receive and decode the sequence of code elements and return a string of information elements which combine to form the target information encoded by the encoder.

Disclosed is an input manipulation system for handling encoded target information comprising:

a user input capture device configured for receiving a user input representing an encoded target information, wherein the user input comprises a user utterance; a speech recognizer configured for performing speech recognition on the user utterance; a memory device configured for providing an encoded target information, such as to a user; a least one processor; and at least one computer readable medium storing:

a mapping manual comprising a plurality of pairs of correlated code elements and information elements, wherein the code elements of the mapping manual are heterophone with respect to each other; and

a first computer program product comprising instructions which when executed by the at least one processor, are configured for:

identifying a sequence of code elements from the user input, wherein at least part of the code elements consist of words; and

generating a sequence of information elements forming the target information by converting, using the mapping manual, the code elements in the identified sequence of code elements into the correlated information elements.

a second computer program product comprising instructions which when executed by the at least one hardware processor are configured for:

obtaining a target information; identifying a sequence of information elements from the target

information;

generating a sequence of code elements forming the encoded target information, wherein at least part of the code elements consist of words, by converting, using the mapping manual, the information elements in the identified sequence of information elements into the correlated code elements; and

storing the sequence of code elements forming the encoded target information in the memory device.

In some embodiments, the user input comprises a user utterance, and the method comprises performing speech recognition on the user utterance.

Delivering the encoded target information in the form of a user utterance provides the advantage that code elements such as words easily may be spoken and that no hands are required to enter the user input.

When the encoded target information is provided as a user utterance, the content of the user utterance may be identified by speech recognition. The speech recognition may be performed by the user input capture device which then analyses the received utterance and delivers audio data relating to the provided user utterance to the hardware processor of the decoder. The user input capture device may be on same location as the hardware processor, e.g. as part of one system, or on a remote location. The latter may e.g. be the case when hardware processor is part of a remote centralized system.

The encoder and decoder may be connected via a communication network, such as a wireless data network, such that data regarding e.g. the mapping manual and updates to this may be communicated e.g. from a central computer unit to the encoder and decoder. Further if such a central computer is used for speech recognition analysis of a user utterance, a representation of the utterance may be sent to the central computer from the decoder via the communication network or to the decoder from a terminal, such as a remote terminal or a user’s computer or mobile device, via the communication network. The decoder and encoder may both be at a location distant from the user with communication of code element sequences and user utterances being communicated to and from the user over the communication network. The encoder and decoder may be implemented on the same data processing device. Other parts in the system may be sales terminals, vending machines, large administrative IT system, systems designed to provide a specific service to their users, other systems and other devices. When all information elements are converted to code elements, the encoded target information is represented by a sequence of code elements. This sequence is designated as the encoded target information. The encoded target information represents the result of coding the target information using the mapping manual to convert the information elements into code elements. I.e. the code elements are generated by coding the information elements based in the correlated pairs of the mapping manual.

Converting difficult target information intended for a target system to sequences of code elements and decoding each code elements, may provide the following advantages:

a user can communicate difficult target information to a target system as utterances or entered code elements which are reliable in use, easy to remember and use;

the time spent on keying in data for e.g. logging on to the target system can be reduced;

- security can be improved;

the use for information carriers such as cards and/or other electronic equipment can be eliminated;

the system and apparatuses can act as a communications link between users and secure systems e.g. for payment transactions and protection of information.

In some embodiments, the method comprises validating the user input by:

- dividing a received user input into a sequence of proposed code elements; and

- comparing each of the proposed code elements in the sequence of proposed code

elements with the code elements of the mapping manual to confirm the validity of the received user input with respect to the mapping manual.

Preferably only code elements found in the mapping manual are considered valid. If the validity of the received user input is confirmed, the sequence of proposed code elements is accepted.

In the encoding of target information, the target information is divided into a sequence of information elements and the corresponding sequence of code elements is determined using the mapping manual.

Disclosed is a mapping manual comprising a plurality of predefined pairs of correlated code elements and information elements. The target information is encoded using the mapping manual to determine a sequence of code elements that can represent the target information. Also the encoded target information is decoded using the mapping manual to convert the sequence of code elements in the obtained encoded target information into the corresponding sequence of information elements such that the target information is retrieved. In the context of the current disclosure the phrase“encoded target information” may be used in relation to the signs, i.e. letters, symbols, digits, etc. representing the result of encoding the target information. The code elements relating to the information elements of the target information may be generated by encoding the information elements of the target information using the mapping manual.

Encoding the target information may provide the advantage of protecting the target information, such that when communicated e.g. in the form of a user utterance representing a protected target information, it does not readily reveal the target information to a third party overhearing the user utterance without further knowledge of the method. A third party who intercepts a user utterance representing encoded target information or an identified sequence of code elements therein, but has no knowledge of a compatible mapping manual, cannot readily generate a sequence of information elements forming the target information by converting, without using the mapping manual, the code elements in the identified sequence of code elements into the correlated information elements.

In the context of the current disclosure the phrase“compatible mapping manual” may be used in relation to an encoded target information and a first mapping manual comprising a plurality of pairs of correlated code elements and information elements, wherein each unique code element in the sequence of code elements representing the encoded target information is also represented in the first mapping manual by a corresponding pair of the code element and the correlated information element. If all such corresponding pairs of correlated code elements and information elements in the first mapping manual are identical to pairs of correlated code elements and information elements comprised in a second mapping manual used for encoding the target information, the first mapping manual is considered compatible with the second mapping manual.

Any one encoded target information may be decoded using a compatible mapping manual to convert the sequence of code elements in the obtained encoded target information into the corresponding sequence of information elements whereby the target information is retrieved.

It is advantageous of constructing such a compatible mapping manual to decode an encoded target information as this is a combinatorically hard problem, particularly if the mapping manual is large. Preferably, a mapping manual is sufficiently large to comprise a compatible mapping manual to any allowable form of an encoded target information e.g. represented as an arbitrary sequence of code elements chosen from at least 100 code elements.

In some embodiments, the sequence of code elements may comprise a control code element and the sequence of information elements may comprise an information control element representing a data integrity attribute of the target information, such as a check sum, such as a cryptographic hash digest, such as an error-correcting code, such as a credit card security code, etc. The sequence of information elements not comprising the information control element may be processed into an information control element by using any mathematical method, such as a check sum, such as a Luhn formula, such as a modulus 11 formula, etc.

In the encoding of a target information, a correlated control code element may be generated for the information control element. A person skilled in the art will recognize that an information control element may be comprised in the sequence of information elements without

corresponding to any one information element in the sequence of information elements in particular, e.g. by adding one or more parity bits to the sequence of information elements.

It is advantageous that the control code element comprised in the sequence of code elements representing an encoded target information may be in the same form as the other code elements. The control code element provides that a decoder may detect if the sequence of code elements was identified correctly, and thus that the data integrity of the target information was preserved.

In some embodiments, generating a sequence of code elements, at the encoder, comprises generating a correlated control code element for a first information control element, by converting, using the mapping manual, the first information control element into the correlated control code element representing a data integrity attribute of the target information.

In some embodiments, generating a sequence of information elements, at the decoder, comprises generating a second information control element for the control code element, by converting, using the mapping manual, the control code element into the correlated second information control element representing a data integrity attribute of the target information.

The encoder and decoder may be configured for comparing a first information control element, generated at the encoder, with a second information control element, generated at the decoder, to confirm the data integrity attribute of the target information derived from the user input. By confirming the data integrity attribute of the target information, the input manipulation system may provide or may ensure that no user utterance representing encoded target information, wherein a code element in the sequence of code element has been mistaken for another code element, such as by a user mistake, will result in incorrect target information being delivered to a target system. It is advantageous that delivering incorrect target information to a target system may be precluded as delivering incorrect target information to a target system may have unexpected side effects or consequences. Having the user utterance also convey a control code element in the encoded target information may provide a solution for confirming the target information without imposing undue burden.

In some embodiments, identifying a sequence of information elements, at the encoder, further comprises processing the sequence of information elements not comprising the information control element into a first information control element by using any mathematical method, such as a check sum, such as a Luhn formula, such as a modulus 11 formula, etc. The processing may be performed as a final step in identifying the sequence of information elements or after.

In some embodiments, converting the code elements into the correlated information elements, at the decoder, comprises processing the sequence of information elements not comprising the information control element into a second information control element by using any

mathematical method, such as a check sum, such as a Luhn formula, such as a modulus 1 1 formula, etc. The processing may be performed as a final step in converting the code elements into the correlated information elements or after.

In some embodiments, the computer program product stored at the decoder further comprises instructions which when executed by the hardware processor are configured for comparing the first information control element with the second information control element to confirm the data integrity attribute of the target information derived from the user input.

In some embodiments, the code elements of the mapping manual are heterophone with respect to each other. In some embodiments, any two code elements which are heterophone are spelled differently.

It is advantageous that the code elements of the mapping manual are heterophone with respect to each other since this allows for a user input in the form of a user utterance. The heterophone code elements provide that the two different code elements are not mistaken. In some embodiments, code elements being heterophone implies that the pronunciation of a first heterophone code element is distinct from the pronunciation of any other code element. In some embodiments, in that the code elements are heterophone with respect to one another, speech recognition on the user utterance will identify the sequence of code elements from the user utterance with a high degree of certainty. For example, the degree of certainty may be higher than 95%, such as higher than 99%.

In some embodiments each code element in the mapping manual is correlated to one information element only. This provides for a smaller mapping manual compared to cases where some information elements may have two or more correlated code elements.

In some embodiments, one or more code elements in the mapping manual is correlated to two or more information elements. This provides the advantage that the user may be allowed to select among different code elements for a given information element.

The mapping manual comprises a plurality of pairs of correlated information elements and code elements. Preferably, the mapping manual comprises at least 100 pairs of corresponding predefined code elements and corresponding code elements and thus describe the mapping between at least 100 code elements and the corresponding information elements.

The mapping manual may comprise a list of information elements adequate as input for a target system.

The target information may primarily be numerical values. These numerical values may be comprised of long strings of digits, be complex, and often of a critical nature for the user and the target system. The system may also receive non-numerical values as well. The information elements may be single-digit, double-digit, and three-digit numbers, as well as specific four-, five- and six-digit numbers. Furthermore, any signs that need to be represented, such as the full alphabet and special characters, may be included as well. If so desired, specific long and complex elements can be assigned.

For all information elements there is also at least one code element, which in this method and system represents the pertinent element.

It is an advantage that a user input of numerical values and/or statements is expressed and represented by a combination of code elements, such as words or phrases, which are easier to remember.

A given target information may be divided into information elements several different ways.

Each of these information elements may be represented by one or more code elements. A given target information may thus be represented by several different sequences of code elements.

In many contexts, security codes are required to consist of combinations of numbers, both lower case and upper case letters, and a selection of special characters from a keyboard. Having such security codes be represented by easy-to-remember code elements helps a user enter the correct information.

A system or apparatus for manipulating input may for different purposes be supplied with different mapping manuals, each listing the specific information elements for the code elements at hand. The manual that applies to a given communication is preferably synchronised between the coding and the decoding devices and process in the system. For general purposes, a common standard mapping manual may be used.

At least one, if not more, mapping manuals are preferably made for each language

implemented in the system. For each of these mapping manuals, a common standard is preferably established and that adjustments and additions are performed synchronously. It is likely that experiences will be gained from the use of the system and various code elements. It is possible that a certain code element will prove to be problematic in some way. In some embodiments, a code element which is found to be problematic for some reason may be deleted and a new code element added to represent the same information element as the problematic word.

The mapping manual may be installed in the device or devices that handle the encoding and decoding. Alternatively, the mapping manual may be accessible form the device or devices which handle the encoding and decoding, such as be accessible from a remote server, such as from a cloud based network, etc.

The target information may be of any length and consist of numerical digits and signs, such as alphabetic letters, and/or combinations thereof.

In some embodiments, the number of code elements in the sequence of code elements is smaller than the number of signs and numerical digits in the target information. I.e. in the encoding, the target information is divided into information elements, where at least one information element contains more than one sign or numerical digit. This may be done either in proper or reverse order. In the Example described above the target information with the 12 digits“396218269514” is divided into four information elements“396”,“218”,“269” and“514”. An initial analysis of the target information may determine the longest information elements the target information may be divided into based on the mapping manual. This provides that the number of information elements, and hence the number of code elements, required to represent the target information may be minimized such that the encoded information most easily can be remembered and uttered.

Based on the mapping manual, the code elements corresponding to the identified information elements are determined such that the encoded target information with the sequence of code elements is determined. The code elements identified in this process are arranged according to the appearance of the corresponding information elements in the target information.

If an information element corresponds to more than one code element, a sequence of code elements may be generated for each possible outcome. This enables the user to select the preferred sequence or sequences. All the presented options may represent the original target information. Different applications may make certain options preferable.

The encoding may be performed by a legal entity, such as a commercial company or a public institution, who is expecting to need the user’s input in the future. This may be a company issuing invoices with order numbers, shipping IDs, item numbers and payment orders with account numbers. Once the sequence of code elements has been generated, the relevant user may be appraised of it. In the same manner, banks can generate sequences of code elements for account numbers, credit card numbers, etc. The user may also generate the sequence himself, e.g. using a user interface on a device, such as network connected device, a mobile device, etc. User generated sequences may include code elements for security codes. Using code elements which the users have created themselves, the users may much better retain and use long security codes.

The user may be allowed to reprioritize how the target information is divided into information elements, and the selection of corresponding code elements. The purpose of this exercise may be to generate a preferred sequence of code elements. A possible reason may be that a given sequence of code elements is easier to remember, enter or utter for the user.

A user may provide an input in a device capable of e.g. handling either manually entering the information (e.g. keypad) or receiving an utterance (e.g. a microphone connected to device, such as a speech to text device). After the user input is divided into code elements, a comparison with the mapping manual may be executed to confirm the validity of the input (only code elements found in the mapping manual are considered valid). If the input is confirmed the sequence of target elements is accepted and the user may be notified. If the input cannot be confirmed, the system preferably returns an error message and/or provides a new suggestion for a sequence of code elements.

Rather than generating sequences of code elements that are precise expressions for account numbers or other information determined by others, a user may create a sequence of personal code words. This sequence may define a particular target information that is be designated as the user’s personal service number, provided the specific sequence is not already in use.

Applied to the correct target system, the personal service number may be used to access all the user’s relations such as accounts, memberships and identities.

In the decoding of encoded target information, the sequence of code elements forming at least part of the encoded target information may be provided to a decoder. This may be done in several ways such as by typing in the code elements on a keyboard connected to an operating system, or by speaking or uttering the code elements into a microphone which will transmit to a speech recognition system which subsequently will deliver a result of the speech analysis. The speech recognition system may be part of the decoder, the speech recognition system may be provided at a remote server, such as in a cloud based system, etc. The result of the speech analysis may be sent to the decoder and the decoder may form part of the device or the decoder may be implemented at a remote server, such as in a cloud based system. The physical distance between the user and the decoder may be quite long, as long as an adequate communication link exists.

With regards to typing in the code elements, the device used may be equipped with an input assisting function to ease the entering of input, such as an auto-correct system known from smartphones and similar devices. For example if the mapping manual has“Aleksander” as the only code element starting with“Ale”. When an‘A’ in entered as the first letter of the word, the mapping manual offers a number of valid options, such as between fifty and a hundred valid options, each starting with an“A” from which the user may choose. When the next letter is T, the selection is most likely among a smaller number of options, and by the third letter‘e’, the code element is uniquely identified as“Aleksander”. The word assumed to be the correct code element may then be highlighted, or may be discarded by the user. The vocabulary of such an input assisting function is preferably limited to the relevant mapping manual.

Since the number of digits or signs in the target information and the division of this into information elements differ, the number of code elements in the encoded target information may vary. In some embodiments, signals denoting when input is finished are defined and/or a timer which marks how soon after the last detection of input that input is considered to have ended may be included. This may ensure quick and efficient handling of the encoded target information.

In some embodiments, at least part of the code elements consist of words. Code elements in the form of words may have the advantage that words often are clearly heterophone and longer words, e.g. Alexander, are easy to remember compared to e.g. numbers with multiple digits.

The words used as code elements in a mapping manual may be selected through careful studying and screening a lexicon of the language to be used. Below, the prerequisites for these code elements are explored. Experience tells us that most languages only have a few thousand especially suitable words, such as words for which the pronunciation of one suitable word is distinct with respect to the pronunciation of other suitable words. This may limit how many elements may be expressed by code elements in a single mapping manual. The transfer of information from a printed source may be easier, when it is done with words rather than numbers, because people can often better relate to words than numbers, and it is easier to fluently read out words rather than numbers. In addition, the code elements of the present disclosure will eliminate recitation errors and typos.

In some embodiments, at least part of the information elements consist of numbers, such as combinations of one or more digits. This may e.g. be the case for credit card numbers and social security numbers.

In some embodiments, at least part of the code elements consists of words and at least part of the corresponding information elements consist of numbers, such as numbers comprising combinations of two or more digits. When code elements in encoded target information correspond to information elements in the form of numbers with two or more digits, the encoded target information may be easier to remember and provide via a user utterance than the target information itself.

The code elements of the mapping manuals preferably may have one or more of the following qualities:

heterophone with respect to each other (as opposed to homophones which can be misinterpreted due to their similarity);

recognizable, such as recognizable in a user utterance, despite various means of expression such as dialects, frequent speech impediments, use by foreigners and other peculiarities of pronunciation. If necessary, the same word can be included in two or more variations, though with the same meaning.

Recognizable, such as recognizable in a user utterance, even with background noise and possible limits to audio frequency. Monosyllabic words may be problematic. In part, because they may disappear in noise. In part, due to the possibility of being mistaken for a short code element utterance. This may typically occur in an environment where the use of numerical values is a natural part of the background noise.

Code elements in the form of words preferably have a clearly defined way of spelling, preferably with special note to avoid mistaking the initial letters. E.g., Fillip and Phillip can result in errors, if one way of spelling the word is used in the mapping manual and the user applies another. This may be handled by including several ways of spelling the same code element in the mapping manuals.

The code elements may preferably be easy to read and to remember. This may be

accomplished by using proper nouns, nouns, frequently used verbs, adjectives and concepts within a culturally biased framework in the relevant language area. Easy to remember code elements may have long term applications, where a code element has to be remembered, and short term applications that may come from the need to enter the code elements from a written source.

In some embodiments, it may be possible to choose between several code elements for one information element. This choice of code element may be determined in the Mapping Manual. Alternatively, a user may be presented with the available options and select a code element based on these options.

In some embodiments, the encoded target information comprises 2, 3, 4, 5 or more code elements.

In some embodiments, the method comprises identifying the user by analysing the utterance with respect to user specific pronunciation of code elements. The system may then verify that the user is who he claims to be and this embodiment has the advantage that an additional safety measure is provided. I.e. not only the content of the target information is coded, the user identity is also determined.

Another approach to identify the user is to include a user specific element in the encoded target information, i.e. one element in the sequence of code elements is user specific, such as a username or an account name. The user specific element is not necessarily coded. In some embodiments, the hardware processor is configured for performing several operations, such as identifying the user by analysing the utterance with respect to user specific

pronunciation of code elements and/or identifying the user from a user specific code element.

In some embodiments, the mapping manual is used to identify the code elements in the encoded target information, i.e. the operation of identifying the sequence of code elements comprises using the mapping manual to identify the code elements in the encoded target information. The code elements of the mapping manual may then be used to analyse the received encoded target information such that the encoded target information is divided into code elements of the mapping manual. This provides a more certain division of the received encoded target information into code elements that actually are known from the mapping manual.

Accordingly, an apparatus for decoding a received encoded target information may comprise a computer program product comprising instructions configured to obtain the encoded target information and to use the mapping manual for dividing the encoded target information into a sequence of code elements and subsequently convert the identified code elements into the corresponding information elements.

In some embodiments, the mapping manual is used for determining information elements of a target information. This provides the advantage that the target information is divided into information elements that actually are in the mapping manual such that the entire data string of the target information may be converted into a sequence of code elements.

Accordingly, an apparatus for encoding target information may comprise a computer program product comprising instructions configured to obtain the target information and to use the mapping manual for dividing the target information into a sequence of information elements and subsequently convert the identified information elements into the corresponding code elements.

The disclosed encoder and decoder apparatuses may be combined in a joint system configured for handling the operations of both the encoding and the decoding.

In some embodiments, the encoder and decoder are separate physical units, such as physical units located in different locations. The system may then comprise communicating devices arranged to transmit data between the decoder and encoder and optional a central unit of the system e.g. for distributing updates to the mapping manual.

In some embodiments, the system comprises both an encoder configured to encode target information providing encoded target information, and a decoder configured to receive and decode the encoded target information, where the encoding and decoding is based on the mapping manual. The decoder may forward the decoded target information to a target system. The decoder may confirm a data integrity attribute of the target information. The confirmation may e.g. comprise performing a checksum calculation.

Preferably, the mapping manual used by the decoder is compatible and/or identical with the mapping manual used by the encoder.

A person skilled in the art will recognize that an encoder and a decoder may be implemented on a same processor or as part of the same computer program product. In some embodiments, a same processor may have access to both the computer-implemented encoder and the computer implemented decoder

Output from the decoder may be transmitted/communicated to the target system. Here, further processing of the target information may take place. In order to manage the user’s input, the target system may return information about errors or successful input. Since the input manipulation system represents a link between user and target system, the input manipulation system may handle this communication. When a transaction includes an authentication, the authentication may take place in the target system or in another system with which it is connected. The authentication may be a static and/or transitory code that has been delivered to the target system. An affirmation of the authentication and other potentially included information may be sent to the user and the user’s counterpart via another connection.

However, communication between all parties can also be established through the operating system for the input manipulation. If this is the case, the user and counterpart may be informed of this via the operating system. An authentication may also be based on voice recognition with personal identification. This may be handled by the target system. In such a setup, the voice sample of the user may be transmitted through the operating system for the target system for affirmation. If the user has pre-recorded code elements, they may be part of the user’s voice sample. Alternatively, the target system may request fresh voice samples, which may be transmitted through the operating system or may be redirected to bypass the operating system. Other forms of authentication may be included, e.g. if the user is at a location where other biometrics such as finger prints, retina scans, facial recognition, local voice recognition and similar systems may be used. The exact communication may depend on whether or not the identification data is present at the user’s location, or if it is necessary to transmit the identification data to an authentication central, or whether identification data is to be sent to the user’s position. If the authentication takes place where the user is, the affirmation is preferably transmitted to the target system or the underlying authentication affirmation. If the authentication takes place in an authentication centre, the user and in particular the counterpart is preferably informed. These communications are not necessarily the concern of the input manipulation operating system. Nevertheless, the input manipulation system is preferably informed of the granting or denial of access. Among other things, such rejections may be the basis for alarms, if they are an expression of an attempted scam.

It may be advantageous that the operating system handles the connections between the user, the counterpart, the target system and the authentication centre, as this may pass through firmly established communications between the operating system and the locations where the user might be. In particular, it is preferably possible for an affirmed authentication in various situations to initiate an information exchange between the user, the counterpart and confidential data storage. Since there already is a connection in which the operating system is involved, it may be advantageous that the operation system coordinates these connections and that the operating system preferably includes these communications options.

In some embodiments, the communications solution is such that the user interface is the micro- phone of a counterpart, which is connected to the operating system of the input manipulation system. In this case, a Point of Sale may be imagined, where the initial communication usually will be an identification of the user and subsequently the account from which withdrawals are to be made to facilitate any payments. A natural continuation of the process may for example include payment details which may be transmitted via the same connection to the operating system and from there may be transmitted to the target system for further actions.

Disclosed is a method for decoding a user input representing encoded target information, wherein the method comprises:

obtaining a user input representing encoded target information;

obtaining a mapping manual comprising a plurality of pairs of correlated code elements and information elements;

dividing the user input into a sequence of code elements; and

using the mapping manual to convert the code elements of the user input into correlated information elements.

Disclosed is a method for encoding target information, wherein the method comprises:

obtaining target information comprising a sequence of information elements;

obtaining a mapping manual comprising a plurality of pairs of correlated code elements and information elements; and using the mapping manual to convert the information elements in the target information into correlated code elements such that encoded target information comprising the sequence of code elements is generated.

BRIEF DESCRIPTION OF THE DRAWINGS

Fig. 1 shows a flow diagram.

Fig. 2 shows an encoding sequence.

Fig. 3 shows a flow chart.

Fig. 4 shows a schematic of a hardware system

DEATILED DESCRIPTION

Fig. 1 shows a flow diagram 100 illustrating encoding of target information and subsequent decoding of the encoded target information based on the mapping manual.

In the illustrated example the target information is 396218269514 and the mapping manual contains information elements“396”,“218”,“269” and“514” corresponding to code elements “guitar”,“automobile”,“Thomas” and“house”, respectively.

In step 101 , the encoding starts by obtaining the target information which is intended to be encoded to a sequence of code elements. The target information may e.g. be a drivers licence number or a bank account number.

In step 102 the mapping manual is obtained. This may be realized by loading a data file storing the mapping manual into the working memory of a processor, such as a hardware processor, configured for executing the encoding of the target information, such as from the hard drive of a computer device to the Random Access Memory of the computer device. The mapping manual containing a plurality, e.g. more than 500 pairs of correlated information elements and code elements.

The target information is then divided into information elements in step 103. In the illustrated example each information element contains three digits of the target information but other the target information may also be divided into information elements of 2 or 4 or more digits or combinations thereof. The mapping manual may also have code elements corresponding to single digit information elements to ensure that all target information combinations can be expressed in terms of the information elements of the mapping manual, but it is preferred that several if not all information elements have multiple digits to reduce the number of information elements and hence the number of code elements in the encoded target information. An initial guess for the sequence of information elements may be defined by dividing the target information into 3-digts elements from either end of the target information and subsequently comparing the thereby defined information elements with the information elements of the mapping manual to confirm that all the identified information elements appear in the mapping manual. Or the mapping manual may be used actively such that the target information is compared with the information elements of mapping manual, such that the division

automatically defines information elements that appear in the mapping manual. In the illustrated example the information elements identified for the target information“396218269514” are “396”,“218”,“269” and“514” which all appear in the mapping manual.

In step 104 the identified information elements which together represents the target information are converted to the corresponding code elements using the mapping manual. In the illustrated example the code elements corresponding to“396”,“218”,“269” and“514” are the words “guitar”,“automobile”,“Thomas” and“house”.

The encoded target information expressed by the sequence of words“guitar”,“automobile”, “Thomas” and“house” is then delivered to the user 105 e.g. as a written electronic message, as audio message or on print. The user can then easily memorize the four code element words which are easy to remember compared to the twelve digit target information.

When the user 105 subsequently needs to provide the target information to a target system he/she does so via the decoding part of the diagram 100. In step 106 the decoder of the system receives a user input that represents the encoded target information, e.g. by a user utterance where the user speaks the code elements into a microphone which will transmit to a speech recognition system connected to the decoder or by the user entering the sequence of code elements via a keyboard. In both cases, the physical distance between the user and the input manipulation apparatus can be quite far, as long as an adequate communication link exists. The input manipulation apparatus may be in the vicinity of the task or in a remote location.

Synchronisation of the user input with the expectations of the target system may be managed by a communication handled by the input manipulation apparatus. When a user submits input for the input manipulation apparatus, the number of code elements may vary. In order to ensure quick and efficient handling, signals denoting when input is finished may be determined and/or include a timer which marks how soon after the last detection of an input it is considered to have ended.

With regards to typing in the code words, the device used may be equipped with an auxiliary function to ease the entering of input. These can be auto-correct systems, known from smartphones and similar devices. For example when an‘A’ in entered as the first letter of the word, the mapping manual offers between fifty and a hundred valid options from which the user can choose. When the next letter is T, the selection is perhaps between four options, and by the third letter‘e’, the code element will be uniquely identified. The code element can then be highlighted as the chosen code element, or be discarded by the user. The vocabulary of the auxiliary function is limited to the relevant mapping manual. The detection of the typed in “aleksander” triggers a signal to a different part of the programmed computer system. The signal can either be a transmission of the word in its standard version of the mapping manual; for example“aleksander” or“alexander”. Another practical solution is to transmit the machine code corresponding to the numerical value or sign the word represents in the mapping manual.

With regards to an utterance of a code element sequence, the decoding may involve confirming that the code elements are part of the vocabulary of the mapping manual. This vocabulary has been preselected according to specific criteria. The detection of a code element in the form of a word (e.g.“alexander”) can trigger a signal to a part of the decoder. The signal can either be the machine code corresponding to the numerical value or sign the word represents in the mapping manual. Alternatively, it can be a stored version of the pronounced word (here“aleksander” or “alexander”).

If the stored version of the entered code element is used in the system, the code element may immediately be converted to the numerical value or sign which it represents, according to the mapping manual. Alternatively, it may be stored as part of the uttered code element. The utterance may subsequently be transmitted to another device or part of a device for decoding.

The mapping manual is obtained in step 102 and used in step 107 to convert the code elements into the corresponding information elements, such the sequence of four information elements [396, 218, 269, 514] is obtained.

In step 108 the decoder assembles the four information elements according to their relative order in the sequence of code elements, such that the original target information 396218269514 is formed. Separate utterances of code elements that correspond to information elements that are part of the entire target information (in the example above a 20 digit number is used), will be put together in the proper order to form the long number (again, in the example a 20 digit number is used). This operation will take place in the part of the connected systems described above, where the decoding of code elements to numerical values takes place.

The decoding may take place on a local or remote decoder which subsequently delivers the target information to the target system 109. The output target information derived from the sequence of code elements can then be used as input in the target system the user operates. This (20 digit) numerical value is the output of the decoding system and will become the input of the target system connected to the decoder. The numerical value can represent an account number, an invoice number, customer ID, PIN number, credit card number, an expiration date, a CVC code, or one of many other possible meanings.

A form filler or protocol ensuring the output of the decoder is placed in the right order of the input for the target system. Alternatively, the decoded signal can appear on a display or be printed, if a person is the target.

Fig. 2 shows a sequence of code elements drawn from an excerpt from a Mapping Manual to form the encoded target information. The mapping manual provides a correlation between a plurality of code elements 220-226 and corresponding information elements 227 233 The code elements can be words provided to the system as a user utterance from which the individual code elements are identified by speech analysis. In the illustrated example the received code elements are“Alexander”,“Doris”,“Steven”, Watson”,“Cecil”,“Karen” and“Torben”. The input manipulation apparatus delivers an output in the form of a sequence of the corresponding information elements (here 12, 345, 678, 901 , 234, 567 and 890) such that these can be combined to form the target information“12345678901234567890” for the target system. In the illustrated example, the information elements 227-233 are all double-digit or three-digit numbers. For each of these information elements, a digital representation in the form of a machine code also exists which a computer unit can utilize in the analysis and delivery of the output.

There is at least one code element for each information element, which in this system represents the pertinent element. Some information elements may be represented by more than one code element. For example, one or more code elements can be connected to the information element“901” addition in addition to the code element“Watson”.

The words used as code elements in the mapping manual are preferably selected through careful studying and screening the lexicon of the language to be used. Experience shows that most languages only have a few thousand especially suitable words. This puts a limit on how many information elements can be expressed by code elements in a single mapping manual.

Fig. 3 shows a flow chart 340 illustrating how a sequence of code elements can be generated when encoding target information.

Encoding is the process that determines the sequence of code elements to represent a given target information. In one example target information 341 in the form of a twenty-digit number 12345678901234567890 is divided into a sequence of seven information elements 342 based on the mapping manual. If this mapping manual contains all three-digit numbers, all double-digit numbers, all single-digit numbers, and the letters of the alphabet, as well as all special characters required to form suitable expressions, the given target information to be encoded can be sequenced into independent information elements according to the mapping manual. Here it is done in reverse order, thus the target information from above is divided into the sequence information elements [12, 345, 678, 901 , 234, 567, 890] which are the individual numbers of the 20-digit target information split into the same information elements 227-233 that were illustrated in Fig. 2.

For each of these double- and three-digit information elements, one or more predefined code elements appear in the mapping manual. A given target information number can be divided into information elements in several ways by combining various methods of dividing the content. Taking simplicity and transaction speed into consideration, a prioritized method can be established. This ensures that the encoding is unambiguously determined. This prioritized method can be hard wired in the system or established by the applied mapping manual. The user may be given alternatively prioritized methods.

Using the twenty-digit target information shown above 341 and split into the sequence of independent information elements 342, a sequential encoding of the information elements results in a sequence of code elements 343 which in the example also illustrated in Fig. 2 takes the form of the code elements:“Alexander”,“Doris”,“Steven”,“Watson ,“Cecil”,“Karen” and “Torben”. A given target information 341 can be of any length and consist of numerical values and/or sign combinations.

The first analyses of the target information may determine whether the target information consists of only numerical values. If this is the case, the target information will in the illustrated example be divided into three-digit numbers by default. This can be done either in proper or reverse order. If needed, the string can end in a double- or single-digit numerical value.

If the target information consists of other sign combinations, the sign combinations are transferred with any numerical values arranged in three-, double- or single-digit numerical values, following the principle described above.

For some uses, the division of the target information into the sequence of information elements can be initialized by searching for longer information elements per the mapping manual (e.g. four-digit numerical values or longer). If these exist in the mapping manual, they are used where applicable in the sequence of information elements 342. For some uses, it is possible to divide the target information into information elements according to either or both of the principles shown above. Other ways of sequencing the target information into information elements can also be applied. The output of the different methods of sequencing presented above will co-ordinately and separately be applied as input in the further processing, provided they are not discarded, either automatically, or as a result of user interaction.

The code elements that correspond to the sequence of information elements of the input are determined by comparing the sequence of information elements with the list of information elements and corresponding code elements in the mapping manual. The code elements identified in this process are arranged according to their appearance in the input sequence of information elements.

The output sequence of code elements 343 is referred to as the encoded target information.

If an information element corresponds to more than one code element, a sequence of code element can be generated for each possible outcome. This enables the user to select the preferred sequence or sequences. All the presented options represent the original target information. Different applications can make certain options preferable.

The encoding described here can be processed by the recipient of the user input. One example can be a business mailing an invoice containing order, delivery, stock and account numbers. Once the encoded target information has been generated then this information is communicated to the relevant users.

In the same manner, banks can generate code elements for account numbers, credit card numbers, and the like. The user can also generate a code element himself, using an application or computer program product executed on a data processing device such as a smart phone. User generated code elements can include word for passwords and security codes. Using code elements which they have created themselves, users can much better retain and use long security codes.

If the target information 341 is a social security number, a customer ID, an invoice number, an order number, a payment order number, a payer ID number, or something similar a user needs to identify themselves. It may be expedient to print the code elements for the numerical values along with the numbers they represent.

Credit cards can be issued with the code elements printed next to the card number. PIN numbers and transitory codes are preferably sealed letters.

Examples One example of an application of the input manipulation apparatus is during loading and reloading of cargo. The problem of the user not having enough hands or having difficulty in recording the ID of the cargo can be eliminated by the present disclosure. A label with a sequence of code elements can ease this process, because it allows the handler to identify the unit hands free by speaking the code elements to a microphone.

Another example is a user putting in an order for a specific item via remote trade. The desired item can then be identified by its EAN code (thirteen digits). The EAN code can be expressed by a sequence of three or four code elements. Subsequently, the user must provide a card number for the payment method (sixteen digits). The card number can be expressed by a sequence of five or six code elements.

Fig. 4 shows a hardware system 440 with a central server, a payment terminal and a user device. The payment terminal 441 has a user input capture device with a microphone 442 configured to receive a user utterance containing the sequence of code element corresponding to e.g. the users credit card. Optionally the user input device can also have a keyboard 443 allowing the user to type the sequence of code elements. The payment terminal 441 further has a receiver/transmitter unit 444 configured for receiving data from or sending data to the central server 447.

The central server also has a receiver/transmitter unit 448 for the communication with the payment terminal. The central server 447 further has a computer unit configured for handling both the encoding of a target information and the subsequent decoding. The computer unit has a data processor 450 and a non-transitory computer readable storage medium 451 encoded with a computer program product configured for the encoding and decoding based on the mapping manual and a data file storing the mapping manual itself. The central server is further connected with a customer device 454 or user device 454 which has a receiver/transmitter unit 455 for communication with the central server 447 and a control unit 456 for controlling the operations of the customer device 454 e.g. in response to input provided via a microphone 457 or keyboard 458 of the customer device 454.

The control unit of the customer device 454 may be configured to allow the user to send a request for encoding a target information (e.g. his credit card number) to the central server 447 using the receiver/transmitter units 448, 455. The target information may be sent to the central server 447 from the customer device 454 or be received from another source (e.g. the bank issuing the credit card in the case of the target information being a credit card number). The data processor 450 of the central server 447 then encodes the target information using the mapping manual stored on the computer readable storage medium 451. The encoded target information with its sequence of code elements is then returned to the customer device 454 where it can be provided to the user e.g. on a display or by a loud speaker. When the user knows the sequence of code elements forming the encoded target information (e.g. four words representing a credit card number) he can provide this to the payment terminal 441 e.g. by uttering the sequence of code elements. The payment terminal 441 can be equipped with a decoder such that the decoding of the code elements is performed locally or the payment terminal may send the encoded target information to the central server 447 for a centralized decoding where the original target information (e.g. the credit card number or code) is transmitted back to the payment terminal 441.

If the decoding is performed at the payment terminal the system 440 is not as dependent on the communication link between the payment terminal 441 and the central server 447 to be permanently up and running. The mapping manual is then stored at the payment terminal (or at a storage medium which is part of a local network including the payment terminal, such as a main computer of a warehouse computer system supporting a plurality of payment terminals). Any updates and improvements to the mapping manual can then be transmitted from the central server to the payment terminal on a regular basis.

If the decoding takes place at the central server the mapping manual does not need to be stored at each payment terminal and the speech recognition can also be performed at a more powerful data processor at the central server. Once decoded (and transmitted to the payment terminal if decoded centrally) the target information can be supplied to the target system (in the example the payment terminal and the system supporting to terminal to provide that the requested payment is made).