WO2018101735A1 - 제한된 영역을 활용한 데이터 변환 장치, 방법 및 컴퓨터 프로그램 - Google Patents
제한된 영역을 활용한 데이터 변환 장치, 방법 및 컴퓨터 프로그램 Download PDFInfo
- Publication number
- WO2018101735A1 WO2018101735A1 PCT/KR2017/013800 KR2017013800W WO2018101735A1 WO 2018101735 A1 WO2018101735 A1 WO 2018101735A1 KR 2017013800 W KR2017013800 W KR 2017013800W WO 2018101735 A1 WO2018101735 A1 WO 2018101735A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- protocol
- input data
- search key
- validity
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
Definitions
- the present invention relates to a data conversion apparatus, a method and a computer program utilizing a limited area.
- Embodiments of the present invention relate to an apparatus, method and computer program for determining validity of an input word using a bit table.
- the portable terminal can install and delete various applications as desired by the user, and can be directly connected to the Internet network using the wireless Internet.
- the portable terminal may include sensors such as an acceleration sensor, a proximity sensor, a temperature sensor, and perform a function of sensing a user's surrounding environment, and may provide the user with information related to the detected environment.
- Patent Document 1 Korean Unexamined Patent Publication No. 2005-0056307
- a validity determination apparatus for determining the validity of input data by using each character included in a word, which is input data, and a previously stored number table.
- a data conversion method includes the steps of receiving input data by a data conversion apparatus; Reading the input data in a string unit to determine a first protocol corresponding to the input data, and reading the index table according to the first protocol to convert the input data; Generating candidate data corresponding to the input data in consideration of the converted result and structurally transformed; Calculating a search key for the candidate data according to a conversion algorithm according to the first protocol; And determining the validity of the candidate data by using the search key.
- the determining of the validity of the search key may include accessing a specific area of the determination area associated with the first protocol by using the search key, and determining the validity of the candidate data through the determination data stored in the specific area. have.
- the data conversion method may further include determining final data of the input data written under a different protocol from the second protocol according to the discrimination data when the search key is valid.
- the conversion algorithm according to the first protocol may be composed of a plurality of steps in consideration of the degree occupied by the determination area.
- the method may further include generating discrimination data based on standard data required to use the second protocol before receiving the input data.
- the final data is in a format deciphered by the second protocol, and may be data read into the same data as the input data.
- the input data created by the first protocol may be data implemented to be output visually or auditoryly.
- the final data decoded by the second protocol may be data implemented to be output in a tactile sense.
- the data conversion apparatus receives input data, reads the input data in a string unit, determines a first protocol corresponding to the input data, and indexes according to the first protocol.
- a determination unit that determines the validity of the candidate data using the search key.
- a computer program according to an embodiment of the present invention may be stored in a medium to execute any one of the data conversion methods according to an embodiment of the present invention using a computer.
- a computer readable recording medium for recording another method for implementing the present invention, another system, and a computer program for executing the method.
- a computer program according to an embodiment of the present invention may be stored in a medium to execute any one of the data conversion methods according to an embodiment of the present invention using a computer.
- a computer readable recording medium for recording another method for implementing the present invention, another system, and a computer program for executing the method.
- a method for determining validity may include: receiving a word by an electronic device; Calculating a search variable in association with a convention defining the word; Generating the location variable based on the word and the search variable; And accessing the bit table based on the position variable, and determining the validity of the word based on a value stored in the bit table.
- the calculating of the search variable may include: determining a protocol defining the word; converting the word based on a character set defined in the protocol;
- the method may further include calculating a search variable by using the converted word and the pre-stored number table.
- the position variable may be calculated using the number calculated based on the n-th character of the word and the value of the number table.
- the number table may include a plurality of decimal values.
- the character set defined in the above agreement may include a corresponding relationship between the original character and the abbreviated character.
- An apparatus for determining validity includes a word receiver for receiving a word; A search variable generation unit configured to calculate a search variable in association with a protocol defining the word; A position variable generator configured to generate the position variable based on the word and the search variable; And a determination unit which accesses a bit table based on the position variable, and determines the validity of the word based on a value stored in the bit table.
- the search variable generation unit may determine a protocol defining the word, convert the word based on the character set defined in the protocol, and calculate a search variable using the converted word and a pre-stored number table.
- the position variable generator may calculate the position variable using the number calculated based on the n-th character of the word and the value of the number table.
- the number table may include a plurality of decimal values.
- the character set defined in the above agreement may include a corresponding relationship between the original character and the abbreviated character.
- a computer program according to an embodiment of the present invention may be stored in a medium in order to execute any one method of the validity determination method according to an embodiment of the present invention using a computer.
- a computer readable recording medium for recording another method for implementing the present invention, another system, and a computer program for executing the method.
- the data conversion apparatus, the method, and the computer program according to the exemplary embodiments of the present invention may search for the optimal final data corresponding to the input data by utilizing the partition information included in the determination area and the address information of the partitions.
- Data conversion apparatus may include a device for determining the validity of the input data by using each character included in the word that is the input data and the pre-stored number table.
- FIG. 1 is a view for explaining the structure and operation of a data conversion apparatus according to a first embodiment of the present invention.
- FIG. 2 is a view for explaining the structure and operation of the data conversion apparatus according to the second embodiment of the present invention.
- 3 to 4 are flowcharts of data conversion methods according to embodiments of the present invention.
- FIG. 5 is a view for explaining a step of generating candidate data according to the present invention.
- FIG. 6 is a diagram for describing a process of determining final data among candidate data according to the present invention.
- FIG. 7 is a diagram schematically illustrating the appearance of a data conversion apparatus.
- FIG. 8 is a block diagram of an apparatus for determining validity according to embodiments of the present invention.
- FIG. 9 is a flowchart illustrating a method for determining validity according to embodiments of the present invention.
- 10 to 11 are block diagrams of an apparatus for determining validity according to other embodiments of the present invention.
- 13 is an example of code that implements a position variable generator.
- FIG. 14 is a diagram for explaining a relationship between a word and a bit table.
- circuit refers to, alone or in any combination, hardwired circuitry, programmable circuitry, state machine circuitry, and / or firmware that stores instructions executed by, for example, programmable circuitry. It may include.
- the application may be implemented as code or instructions that may be executed on programmable circuitry, such as a host processor or other programmable circuitry.
- a module may be implemented as a circuit.
- the circuit can be implemented as an integrated circuit, such as an integrated circuit chip.
- FIG. 1 is a view for explaining the structure and operation of the data conversion apparatus 100 according to the first embodiment of the present invention.
- the data conversion apparatus 100 may include a calculator 110, a determination region 120, a determiner 130, and a generator 140.
- the data conversion apparatus 100 may convert and output the received data.
- the data conversion apparatus 100 may output the input data in various methods or formats such as braille data, image data, auditory data, and the like.
- the data conversion apparatus 100 may further include an index table and / or a determination area for decrypting data created by a predetermined protocol.
- the data conversion apparatus 100 may determine the required capacity as the determination area in consideration of the indices, the number of indices, the size of each index, and the like defined in a predetermined protocol.
- the data conversion apparatus 100 can create data created in binary in the determination area in order to use the resource efficiently. In the determination area, one binary number may be stored in one bit.
- the data conversion apparatus 100 may search for the optimal final data corresponding to the input data by using the partitions included in the determination area and the address information of the partitions.
- the data conversion apparatus 100 may not only utilize data stored in the memory but also use an address value of the memory as one data.
- the address value of the conventional memory is only a medium for accessing the memory, the data conversion apparatus 100 according to the exemplary embodiments of the present invention may use the address value of the memory as an index in order to save a data area.
- the data conversion apparatus 100 may receive input data created by the first protocol.
- the input data may be received through various network communication networks, such as an internet network or a local area network.
- the input data is written in the first protocol and can be decrypted using the first protocol.
- the input data may be character data written in a language of each country.
- the calculator 110 may receive input data and calculate a first search key key1 based on a result of reading the input data.
- the calculation unit 110 may calculate the first search key key1 based on the input data input according to the algorithm according to the first protocol. More specifically, the calculator 110 may convert input data into a first value corresponding to the input data and input the first value to an algorithm according to the first protocol. According to the size of the determination area, the algorithm according to the first protocol may include a plurality of steps and functions. Finally, the calculator 110 may obtain a first search key key1 from the input data input.
- the calculation unit 110 generates a function or step in consideration of the set of data defined by the first protocol.
- the calculator 110 may generate a function or a step so that a value distinguished between data included in the set of data defined by the first protocol may be assigned.
- An algorithm according to the first protocol may be used to reduce the size or capacity of the data defined by the first protocol.
- the calculator 110 may utilize an algorithm according to the first protocol to store data defined by the first protocol in a limited size determination area.
- the algorithm according to the first protocol may include an encoding algorithm for encrypting data and a decoding algorithm for decoding.
- an algorithm according to the first protocol may be defined according to a proportional value with respect to the size of the determination area and the number of sets of data defined according to the first protocol. As the proportional value is smaller, the number of steps or functions to be performed for encoding the data may be increased because the data must be represented in a smaller capacity. Data consisting of a plurality of characters is converted into a shorter value or key than the original data through an algorithm.
- the algorithm may use a hash function, and examples may include MD2, MD4, MD5, SHA, and the like.
- the calculator 110 may read a value stored in an area corresponding to the calculated first search key key1. To this end, the calculator 110 approaches the determination region 120 using the calculated first search key key1.
- the first search key key1 may indicate a specific area and a specific section included in the determination area 120.
- the calculator 110 reads a first result value stored in a section corresponding to the first search key key1 from among sections partitioned by the predetermined rule in the determination area 120.
- the calculator 110 may utilize the first search key key1 as an address of the determination area.
- the calculator 110 may read a data value read from an area corresponding to the first search key key1 as a first result value.
- the calculation unit 110 may determine a part of the determination area 120 corresponding to the first search key key1 in various ways, and may determine a part of the determination area 120 and a first result value stored in a designated area. value) can be read.
- the determination region 120 may be a nonvolatile memory that does not erase input information even when power is not supplied, or may be a volatile memory that stores compressed data stored in a system region at boot time.
- the determination area 120 may store predetermined data on which the data conversion apparatus 100 is turned on.
- the determination region 120 may be mapped to an address defined for each unit data so that the determination region 120 may be accessed by an operating system (OS) or a processor of the data conversion apparatus 100.
- OS operating system
- the predetermined area included in the determination area 120 may correspond to a set of address values.
- the first search key key1 acquired by the calculator 110 may be transmitted to the determiner 130.
- the determination unit 130 may determine the validity of the input data by using the first search key key1.
- the determination unit 130 may determine the validity of the input data by determining whether the first search key key1 matches a predetermined valid value.
- the determination unit 130 determines that the first search key key1 It can be determined to be valid.
- the generation unit 140 may determine the input data as the final data when the input data or the search key is valid according to the determination result of the determination unit 130.
- the data conversion apparatus 100 generates an output signal capable of outputting the final data.
- the generated output signal may be transmitted to an external output device.
- the output signal may be transmitted to an output control unit that controls the plurality of protrusion units to move the plurality of protrusion units vertically or horizontally.
- the protruding units may be in contact with the user's skin or nerves and output an indication by the touch.
- the protruding units can provide a visual indication.
- FIG. 2 is a view for explaining the structure and operation of the data conversion apparatus 100 according to the second embodiment of the present invention.
- the data conversion apparatus 100 may include a conversion unit 111, a calculation unit 110, an index table 121, a determination area 120, a determination unit 130, and a generation unit 140. can do.
- the data conversion apparatus 100 may convert input data into one or more candidate data and determine one data among the candidate data as final data.
- the converter 111 may read the received input data in units of strings and generate one or more candidate data using the read result and the index table according to the first protocol.
- the converter 111 may extract an index belonging to the input data.
- the index is defined according to each convention and may be used to represent a string smaller than the length of the input data.
- the converter 111 may generate candidate data corresponding to the input data based on an index included in the input data by using an index table.
- the converter 111 may generate candidate data using the index table according to the first protocol.
- the conversion unit 111 determines a first protocol in which input data is written and loads an index table according to the first protocol.
- the converter 111 detects a first index included in the input data from among a plurality of indexes included in the index table through reading in a string unit, and input data corresponding to the first index. May be replaced with the first index.
- the transform unit 111 may output candidate data Pdata including the first index.
- the calculator 110 may calculate a second search key key2 corresponding to the input data input instead of the input data input and corresponding to the candidate data Pdata structurally converted.
- the calculator 110 may receive the candidate data Pdata and calculate a second search key key2 based on a result of reading the candidate data Pdata.
- the calculator 110 may calculate the second search key key2 by inputting the candidate data Pdata to the algorithm according to the first protocol.
- the calculator 110 may convert the candidate data Pdata into a second value key2 corresponding to the candidate data Pdata and input the second value key2 into a function according to the first protocol. .
- the calculator 110 may obtain a second search key key2 from the candidate data Pdata.
- the calculator 110 may read a value stored in an area corresponding to the calculated second search key key2. To this end, first, the calculator 110 approaches the determination area 120 using the calculated second search key key2. In this case, the second search key key2 may point to one section included in the determination area 120. In this case, the calculator 110 reads a second value stored in a section corresponding to the second search key key2 from among sections divided by the predetermined rule in the determination area 120. In another embodiment, the calculator 110 may read the second value by using the second search key key2 as an address of the determination area. The calculation unit 110 determines a part of the determination area 120 corresponding to the second search key key2 in various ways, and a part of the determination area 120 and the second result value stored in the designated area ( value2) can be read.
- the second search key key2 obtained by the calculator 110 may be transmitted to the determiner 130.
- the determination unit 130 may determine the validity of the input data by using a second search key key2.
- the determination unit 130 may determine the validity of the input data by determining whether the second search key key2 matches a predetermined value. If the second search key key2 outputs a valid value (for example, 1 or TRUE) according to a predetermined rule or by a predetermined function, the second search key key2 is determined. It can be determined to be valid.
- the generation unit 140 may determine the candidate data as final data when the candidate data or the second search key key2 are valid according to the determination result of the determination unit 130.
- the calculation unit 110 may access a specific area of the determination area associated with the first protocol by using the search key, and determine the validity of the search key or candidate data through the determination data stored in the specific area. .
- 3 to 4 are flowcharts of data conversion methods according to embodiments of the present invention.
- the data conversion method includes receiving input data (S100), generating candidate data (S110), determining validity of candidate data (S120), and determining final data (S140). ) May be included.
- the data conversion apparatus 100 may receive input data.
- the data conversion apparatus 100 may generate one or more candidate data using the received input data.
- the data conversion apparatus 100 may generate candidate data corresponding to the input data based on the index included in the input data.
- the data conversion apparatus 100 may generate candidate data using the index table according to the first protocol.
- the data conversion apparatus 100 may determine a first protocol in which the input data is written using the result of reading the input data.
- the data conversion apparatus 100 may detect and retrieve an index table according to the first protocol.
- the data conversion apparatus 100 may detect a first index included in the input data among the plurality of indexes included in the index table, and replace a portion corresponding to the first index with the first index.
- the data conversion apparatus 100 outputs candidate data including the first index.
- the index included in the input data may be plural, and the input data including the plural indices may be candidate data in various combinations according to the number of indexes. The generation of candidate data will be described in detail with reference to FIG. 5.
- the data conversion apparatus 100 may determine validity of the candidate data.
- the data conversion apparatus 100 must determine the best candidate data matching the input data among the candidate data. To this end, the data conversion apparatus 100 may determine the validity of each candidate data. Simply the validity of candidate data may be true or false, but may also be a predetermined score or grade.
- the data conversion apparatus 100 may determine whether the candidate data is valid, and if the candidate data is valid, may determine the candidate data as final data.
- the data conversion apparatus 100 may convert the input data created by the first protocol into final data corresponding to the second protocol (S140).
- the first protocol and the second protocol will be different and may have different data formats.
- the first protocol may be a protocol for transmitting data acoustically
- the second protocol may be a protocol for tactile communication.
- the first protocol may be a protocol for transmitting data visually
- the second protocol may be a protocol for tactile communication.
- the data conversion apparatus 100 may generate discrimination data based on standard data required to use the second protocol.
- the data conversion method includes receiving input data (S210), generating candidate data (S220), calculating a search key (S230), and determining validity of the search key (S240). ), And may determine the final data (S260).
- the data conversion device 100 may receive input data.
- the data conversion apparatus 100 may preprocess the input data after step S210.
- the data conversion apparatus 100 may correct the input data according to a preset correction algorithm. In this case, the data conversion apparatus 100 may delete or correct expressions that do not correspond to the phrase, grammar, or the like defined in the first protocol.
- the data conversion apparatus 100 may generate one or more candidate data using the received input data.
- the data conversion apparatus 100 may calculate a search key corresponding to the candidate data.
- the data conversion apparatus 100 may calculate a search key by using a function according to a first rule in which input data is written.
- the data conversion apparatus 100 may further include converting candidate data into a third value corresponding to the candidate data and calculating a search key by inputting the third value into a function according to the first protocol. It may include.
- the third value corresponding to the candidate data may be generated by reflecting a code and a rule defined according to the first protocol. Alternatively, the third value may be calculated by adding up symbols and codes included in the candidate data.
- the data conversion apparatus 100 may calculate a search key by inputting a third value corresponding to the candidate data.
- the data conversion apparatus 100 may determine the validity of the search key.
- the data conversion apparatus 100 may determine the validity of the search key using data values stored in an area corresponding to the search key.
- the data conversion apparatus 100 may access a storage area corresponding to the search key, read data values stored in the corresponding area, and determine whether the data value matches a predetermined value, thereby determining the validity of the search key. Can be.
- the data conversion apparatus 100 determines the candidate data as the final data. If the search key of the candidate data is not valid, the data conversion apparatus 100 may generate candidate data other than the candidate data. The input data may be replaced with a plurality of candidate data according to logic for generating candidate data.
- FIG. 5 is a view for explaining a step of generating candidate data according to the present invention.
- the input data may include partial data 51.
- the data conversion apparatus 100 may divide the input data into one or more partial data 51 according to a word and a search defined by the first protocol.
- the data conversion apparatus 100 may extract four indexes 52a, 52b, 52c, and 52d included in the partial data 51 using the index table according to the first protocol.
- Codes included in the partial data 51 may be sequentially read one by one to extract an index included in the partial data 51.
- Some of at least two of the four indices 52a, 52b, 52c, 52d may overlap.
- Candidate data can be generated using all possible combinations of the four indices 52a, 52b, 52c, 52d. For example, the candidate data set 53a including one index, the candidate data set 53b including two indexes, the candidate data set 53c including three indexes, and the candidate including four indexes.
- the data set 53d may be generated.
- the data conversion apparatus 100 may consider all combinations and generate 15 candidate data 54 in correspondence with the partial data 51.
- the data conversion apparatus 100 may generate candidate data 54 defined by the second protocol and having the same meaning as the partial data 51, corresponding to the partial data 51 defined by the first protocol.
- FIG. 6 is a diagram for describing a process of determining final data among candidate data according to the present invention.
- the data conversion apparatus 100 may generate eleven candidate data corresponding to the input data.
- the generated candidate data may all be interpreted as having the same meaning as the input data.
- the data according to the second protocol corresponding to the input data may be one, and the data conversion apparatus 100 may separately have a determination area for knowing the data according to the second protocol corresponding to the input data.
- Each candidate data may correspond to a predetermined area in the determination area.
- the data conversion apparatus 100 may generate address values by applying candidate data to an algorithm according to the first protocol, as shown in FIG. 6 (b).
- the address values correspond to specific areas of the determination area.
- the data conversion apparatus 100 may obtain values corresponding to validity of candidate data from a predetermined area of the determination area by using the address values.
- the data conversion apparatus 100 may finally obtain output values converted from candidate data.
- the data conversion apparatus 100 may access a specific bit of the determination area by using an address value corresponding to the candidate data, and calculate a value stored in the specific bit.
- the data conversion apparatus 100 may access a region corresponding to the corresponding address values in the determination region 603 and select optimal candidate data from the candidate data that is truly output among the output values.
- FIG. 7 is a diagram schematically illustrating the appearance of the data conversion apparatus 100.
- the data conversion apparatus 100 may include protrusions 10n provided to face the user on the expression surface. Therefore, the protruding signal by the selective entry and exit of the protrusions 10n appearing on the expression surface can be recognized as a direct and local hit to the user, and the user is directly at the position hit by the protrusions 10n. Can receive vibrations.
- the protruding signal formed by such a direct and local strike does not cause residual vibration to occur around the target unlike a general vibration signal of a portable electronic device, so that an accurate signal can be transmitted to the user. Therefore, the signal obtained through the tactile sense such as braille can be implemented by the protruding signal as described above, and in addition, various signals such as military signals, picture signals, sign signals, direction signals, and the like can be accurately implemented. That is, the expression surface of the data conversion apparatus 100 illustrated in FIG. 7 is positioned to be in contact with the skin of the user.
- an independent data conversion apparatus 100 including protrusions 10n is illustrated and is implemented in a smart watch format including a watch band.
- the output control unit is further provided inside the data conversion device 100 implemented as a smart watch.
- the data converter 100 may be a braille display device that displays output data by a linear motion of the protrusion 101.
- the data conversion apparatus 100 illustrated in FIG. 6A may recognize output data corresponding to object information by a user directly touching the protrusion 10n by hand.
- the data conversion device 100 may include a vibration motor.
- FIG. 7B the appearance of a combination of the user terminal T1 as a smart watch interlocked with the smart phone and the data conversion device 100 including the protrusions 10n is illustrated.
- an upper portion of the smart watch is implemented as one of an organic light emitting display unit, an inorganic light emitting display unit, or a liquid crystal display unit, and a lower portion of the smart watch may be implemented with the protrusion 10n of the data conversion device 100. It is shown.
- the data conversion device 100 may include a vibration motor.
- FIG. 7C there is shown an appearance in which a user terminal T1 as a smart watch linked with a smart phone and an information output device 100 including protrusions are combined.
- the projection 10n of the display unit and the information output device 100 may be implemented on the smart watch.
- the user may directly recognize the output data corresponding to the detected action by touching the protrusion 301 by hand.
- the data conversion device 100 may include a vibration motor.
- the appearance of a combination of the user terminal T1 as a smart phone and the data conversion apparatus 100 including the protrusions 10n is illustrated.
- the data conversion device 100 may include a vibration motor.
- FIG. 8 is a diagram illustrating a validity determination apparatus 200 according to an embodiment of the present invention.
- the apparatus 200 for determining validity may include a word receiver 211, a search variable generator 212, a position variable generator 213, and a determiner 214. Can be.
- the validity determination device 200 may further include a number table 221 and a bit table 222. The number table 221 and the bit table 222 may be electrically connected to the validity determination device 200.
- the word receiver 211 may receive a word from an external terminal device or an electrically connected input device.
- Words refer to data with linguistic meanings and can have a variety of ways or formats. Examples of words may include braille data, image data, auditory data, and the like.
- the search variable generator 212 may calculate a search variable in association with a rule defining a word.
- the search variable generation unit 212 calculates a search variable s_val by using a number table 221 stored in association with a rule defining a word.
- the search variable s_val is generated for the purpose of converting words defined in a predetermined protocol into variables that are distinguished from each other, and may be calculated by using a number table.
- the number table 221 may refer to a set of prime numbers, and the size of the number table 221 may be determined in consideration of the size of the bit table 222.
- the search variable generator 212 may determine a protocol defining a received word and convert the word based on the character set defined in the protocol.
- the character set may include a corresponding relationship between a first string (original character) in a protocol and a second string (abbreviated character) having the same meaning as the first string.
- the location variable generator 213 may calculate the location variable Location_val based on the received word and the calculated search variable s_val.
- the location variable generator 213 may calculate the location variable Location_val using the word converted by the search variable generator 212 and the search variable s_val.
- the location variable generator 213 may calculate the location variable Location_val based on a word and a value stored in the number table s_val. More specifically, the location variable generator 213 may calculate the location variable Location_val using the number calculated based on the n th character of the word and the n th value of the number table s_val.
- the position variable generator 213 may calculate the position variable of the n th character of the word based on the position variable of the n ⁇ 1 th character of the word and the n th character of the word.
- the position variable generator 213 may calculate the position variable of the n th character of the word using the position variable of the n ⁇ 1 th character of the word and the search variable for the n th character of the word.
- the determination unit 214 may access the bit table 222 based on the location variable (Location_val) and determine that the word is valid using a value stored in the corresponding area of the bit table.
- the determination unit 214 may determine that the word is valid when all of the values stored in the areas corresponding to the position variables of the one or more characters included in the word are true. That is, when the value stored in the corresponding region of the bit table is TRUE, the determination unit 214 determines that the word is valid. If the value stored in the corresponding region of the bit table is FALSE, the determination unit 214 may determine that the word is invalid.
- the number table 221 may be determined in consideration of the set of words that can be received and the bit table for determining the validity of the words.
- the decimal value stored in the number table 221 may be a relatively large decimal value among the smaller numbers than the size of the bit table.
- the bit table 222 is a table in which memory bits are set in correspondence with words defined by a protocol. Can be generated by setting the bit to '1'.
- the sizes of the bit table 222 and the number table 221 may be associated with each other.
- the size of the number table 221 is determined in consideration of the number of words defined by the protocol and the area size of the bit table 222. Precisely follow the equation of. Where k is the capacity of the number table 221, N is the capacity of the bit table 222, and m is the number of words defined by the convention.
- FIG. 9 is a flowchart illustrating a method for determining validity according to embodiments of the present invention.
- a method of receiving data (S900), calculating a search variable (S910), calculating a position variable (S920), and a bit table may be performed. It may include the step of access (S930), the step of determining the validity of the word (S940).
- the validity determination device 200 may receive a word from a terminal device connected through a network or an input device electrically connected to the network.
- the validity determination apparatus 200 may transfer the received word to the search variable generator 212 as it is, or may convert the received word into data having the same meaning.
- the search variable generator 212 of the validity determination apparatus 200 may generate a search variable using a number table generated based on a protocol in which the received word is defined and a size of a bit table according to the protocol. .
- the search variable is a set of prime numbers that does not exceed the size of the bit table.
- the position variable generator 213 may calculate a position variable that is an address value in the bit table using the word and the search variable.
- the position variable generator 213 may calculate position variables of each character included in a word.
- the position variable generator 213 may obtain a position variable of the n th character of the word in consideration of the position variable of the n th character of the word and the n-1 th character of the word.
- the determination unit 214 may access a specific region of the bit table using the position variable, and read a value stored in the specific region.
- the determination unit 214 may determine whether the read value is true, and when the value is true, may determine that the received word is valid.
- the determination unit 214 may determine that the word is valid when all the values stored in the specific region accessed based on the position variable of the one or more characters included in the word are true.
- FIG. 10 is a block diagram showing the structure of a validity determination apparatus 200a according to another embodiment of the present invention.
- the validity determination apparatus 200a may include a converter 211a, a bit table 222a, a determiner 214a, and a generator 230a.
- the validity determination apparatus 200a may convert and output the received data.
- the validity determination device 200a may output the input data in various manners or formats such as braille data, image data, and auditory data.
- the input data may be the same as the words of FIGS. 1 and 2.
- the validity determination device 200a may further include a bit table 222a for decoding the data created by a predetermined protocol.
- the validity determination apparatus 200a may determine a capacity required as a bit table in consideration of the indices defined in the predetermined protocol, the number of indices, the size of each index, and the like.
- the validity judgment device 200a can create data written in binary in the bit table 222a in order to efficiently use resources such as a memory and a storage medium.
- the validity determination apparatus 200a may search for the optimal final data corresponding to the input data or determine the validity of the input data using the partitions and the address information of the partitions included in the bit table 222a.
- the validity determination device 200a may utilize not only data stored in the memory but also an address value of the memory as one data.
- the address value of the conventional memory is only a medium, an index, a pointer, etc. for accessing the memory
- the validity determination apparatus 200a uses the address value of the memory as an index to save a data area. It can be utilized.
- the validity determination device 200a may receive input data created by the first protocol.
- the input data may be received through various network communication networks, such as an internet network or a local area network.
- the input data is written in the first protocol and can be decrypted using the first protocol.
- the input data may be character data written in a language of each country.
- the converter 211a may receive input data and calculate a first position variable key1 based on a result of reading the input data.
- the converter 211a may calculate the first position variable key1 from the input data input according to the algorithm according to the first protocol. More specifically, the converter 211a may convert input data into a first search variable corresponding to the input data and input the first search variable into an algorithm according to the first protocol. According to the size of the determination area, the algorithm according to the first protocol may include a plurality of steps and functions. Finally, the converter 211a may obtain the first position variable key1 from the input data input.
- the converter 211a generates a function or step in consideration of the set of data defined by the first protocol.
- the converter 211a may generate a function or a step so that a value distinguished between data included in the set of data defined by the first protocol may be assigned.
- An algorithm according to the first protocol may be used to reduce the size or capacity of the data defined by the first protocol.
- the converter 211a may utilize an algorithm according to the first protocol to store data defined by the first protocol in a limited size determination area.
- the algorithm according to the first protocol may include an encoding algorithm for encrypting data and a decoding algorithm for decoding.
- an algorithm according to the first protocol may be defined according to a proportional value with respect to the size of the bit table 222a and the number of sets of data defined according to the first protocol. As the proportional value is smaller, the number of steps or functions to be performed for encoding the data may be increased because the data must be represented in a smaller capacity. Data consisting of a plurality of characters is converted into a shorter value or key than the original data through an algorithm.
- the algorithm may use a hash function, and examples may include MD2, MD4, MD5, SHA, and the like.
- the converter 211a may read a value stored in an area corresponding to the calculated first position variable key1. To this end, first, the conversion unit 211a approaches the bit table 222a using the calculated first position variable key1. In this case, the first position variable key1 may indicate a specific region or a specific section included in the bit table 222a. In this case, the conversion unit 211a reads the first result value stored in the section corresponding to the first position variable key1 among the sections partitioned by the predetermined rule in the bit table 222a. In another embodiment, the conversion unit 211a may use the first position variable key1 as an address of the bit table 222a. The converter 211a may read the data value read from the area corresponding to the first position variable key1 as a first result value. The conversion unit 211a determines, in various ways, a part of the bit table 222a corresponding to the first position variable key1, and a part of the bit table 222a, the first result value stored in a designated area. value) can be read.
- the bit table 222a may be a nonvolatile memory in which input information is not erased even when power is not supplied, or a volatile memory storing compressed data stored in a system area at boot time.
- the bit table 222a may store predetermined data on which the validity determination apparatus 200 is powered on.
- the bit table 222a may be mapped to an address defined for each unit data so that the bit table 222a may be accessed by an operating system (OS) or a processor of the validity determination apparatus 200.
- OS operating system
- the predetermined area included in the bit table 222a may correspond to a set of address values.
- the first position variable key1 acquired by the transform unit 211a may be transmitted to the determination unit 214a.
- the determination unit 214a may determine the validity of the input data by using the first position variable key1.
- the determination unit 214a may determine the validity of the input data by determining whether the first position variable key1 matches a predetermined valid value.
- the determination unit 214a determines the first position variable key1 or It may be determined that the input data is valid.
- the generation unit 230a may determine the input data as final data when the input data or the search key is valid according to the determination result by the determination unit 214a.
- the validity determination device 200 generates an output signal capable of outputting the final data.
- the generated output signal may be transmitted to an external output device.
- the output signal may be transmitted to an output control unit that controls the plurality of protrusion units to move the plurality of protrusion units vertically or horizontally.
- the protruding units may be in contact with the user's skin or nerves and output an indication by the touch.
- the protruding units can provide a visual indication.
- 11 is a view for explaining the structure and operation of the validity determination apparatus 200b according to another embodiment of the present invention.
- the validity determination device 200 includes a converter 211b, a calculator 212b, an index table 220, a bit table 222b, a determiner 214b, and a generator 230b. can do.
- the validity determination apparatus 200b may convert input data into one or more candidate data and determine one data among the candidate data as final data.
- the input data may be the same as the words of FIGS. 1 and 2.
- the converter 211b may read the received input data in units of strings and generate one or more candidate data using the read result and the index table 220 according to the first protocol.
- the converter 211b may extract an index belonging to the input data.
- the index is defined according to each convention and may be used to represent a string smaller than the length of the input data.
- the converter 211b may generate candidate data corresponding to the input data based on an index included in the input data by using an index table.
- the converter 211b may generate candidate data using the index table according to the first protocol.
- the converter 211b determines a first protocol in which input data is written, and loads an index table according to the first protocol.
- the converter 211b detects a first index included in the input data from among a plurality of indices included in the index table through reading in a string unit, and input data corresponding to the first index. May be replaced with the first index.
- the converter 211b may output candidate data Pdata including the first index.
- the calculator 212b may calculate a second position variable key2 corresponding to the input data input instead of the input data input and corresponding to the candidate data Pdata that is structurally converted.
- the calculator 212b may receive the candidate data Pdata and calculate a second position variable key2 based on a result of reading the candidate data Pdata.
- the calculator 212b may calculate the second position variable key2 by inputting candidate data Pdata into an algorithm according to the first protocol.
- the calculator 212b converts the candidate data Pdata into a second position variable key2 corresponding to the candidate data Pdata and inputs the second position variable key2 to a function according to the first protocol. Can be.
- the calculator 212b may obtain the second position variable key2 from the candidate data Pdata.
- the calculator 212b may read a value stored in an area corresponding to the calculated second position variable key2. To this end, first, the calculator 212b approaches the bit table 222a using the calculated second position variable key2. In this case, the second position variable key2 may indicate one section included in the bit table 222a. In this case, the calculator 212b reads a second value stored in a section corresponding to the second position variable key2 among the sections divided by the predetermined rule in the bit table 222a. In another embodiment, the calculator 212b may read the second value by using the second position variable key2 as an address of the bit table 222a. The calculation unit 212b determines, in various ways, a part of the bit table 222a corresponding to the second position variable key2, and a part of the bit table 222a, the second result value stored in a designated area. value2) can be read.
- the second position variable key2 obtained by the calculator 212b may be transmitted to the determiner 214b.
- the determination unit 214b may determine the validity of the input data by using the second position variable key2.
- the determination unit 214b may determine the validity of the input data by determining whether the second position variable key2 matches a predetermined value.
- the second position variable key2 outputs a valid value (for example, 1 or TRUE) according to a predetermined rule or by a predetermined function
- the determination unit 214b determines that the second position variable key2 is It can be determined to be valid.
- the generation unit 230b may determine the candidate data as the final data when the candidate data or the second position variable key2 is valid according to the determination result by the determination unit 214b.
- the calculator 212b uses the position variable to access a specific region of the bit table 222a associated with the first protocol, and determines the validity of the position variable or candidate data through the discrimination data stored in the specific region. can do.
- the number table p [] may include 11 prime numbers in the largest order among the prime numbers of 400,000 or less which are the total size of the bit table.
- the number table p [] may include 11 of any decimal number of 400,000 or less, which is the total size of the bit table, but may include 11 decimal numbers in the largest order in order to calculate distinct positional variables.
- 13 is an example of a statement implementing the position variable generator.
- the position variable generator may generate a position variable for each character of a word. For example, if the word "/ o2 / f / e3" is used, the position variable generating unit uses the position variable of the first character of the word '/' based on the first character of the word '/' to define the area of A1. Can be accessed.
- the area of A2 corresponding to o, the second character of the word may be calculated based on the position variable of A1 corresponding to the first word of the word.
- An area of A3 corresponding to 2 which is the third character of the word may be calculated based on the position variable of A2 corresponding to the second of the word.
- the area of A4 corresponding to / which is the fourth character of the word may be calculated based on the position variable of A3 corresponding to the third of the word.
- the area of A5 corresponding to f which is the fifth character of the word, may be calculated based on the position variable of A4 corresponding to the fourth of the word.
- the area of A6 corresponding to / which is the sixth character of the word may be calculated based on the position variable of A5 corresponding to the fifth of the word.
- regions corresponding to the seventh to ninth characters of the word e3 / may be accessed.
- the values stored in the regions corresponding to all the characters of the word are all true ('1'), it may be determined that the word is valid.
- the data conversion device and the validity determination device may be included in one device or may be included in separate devices.
- the data conversion device and the validity determination device perform a function of completing output data in response to a user input.
- Embodiments according to the present invention described above may be implemented in the form of a computer program that can be executed through various components on a computer, such a computer program may be recorded on a computer readable medium.
- the media may be magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and ROMs.
- the computer program may be specially designed and configured for the present invention, or may be known and available to those skilled in the computer software field.
- Examples of computer programs may include not only machine code generated by a compiler, but also high-level language code executable by a computer using an interpreter or the like.
- connection or connection members of the lines between the components shown in the drawings by way of example shows a functional connection and / or physical or circuit connections, in the actual device replaceable or additional various functional connections, physical It may be represented as a connection, or circuit connections.
- such as "essential”, “important” may not be a necessary component for the application of the present invention.
- the present invention relates to a data conversion apparatus, a method and a computer program utilizing a limited area.
- Embodiments of the present invention relate to an apparatus, method and computer program for determining validity of an input word using a bit table.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 실시예에 따르면, 데이터 변환 장치가 입력 데이터를 수신하는 단계; 상기 입력 데이터를 스트링(string) 단위로 판독하여 상기 입력 데이터에 해당하는 제1 규약을 결정하고, 상기 제1 규약에 의한 인덱스 테이블을 읽어 들여 상기 입력 데이터를 변환하는 단계; 변환한 결과를 고려하여 상기 입력 데이터와 대응되되, 구조적으로 변환된 후보 데이터를 생성하는 단계; 상기 후보 데이터를 상기 제1 규약에 따른 변환 알고리즘에 따라 검색 키를 산출하는 단계; 상기 검색 키를 이용하여 상기 후보 데이터의 유효성을 판단하는 단계;를 포함하는, 데이터 변환 방법이 개시된다.
Description
본 발명은 제한된 영역을 활용한 데이터 변환 장치, 방법 및 컴퓨터 프로그램에 관한 것입니다.
본 발명의 실시예들은 비트 테이블을 활용하여 입력 단어의 타당성 판단 장치, 방법 및 컴퓨터 프로그램에 관한 것이다.
전자 통신 기술이 발전함에 따라, 사용자는 휴대 단말로 다양한 기능을 이용할 수 있게 되었다. 휴대 단말은 다양한 어플리케이션을 사용자가 원하는 대로 설치 및 삭제할 수 있고, 무선 인터넷을 이용하여 인터넷 망에 직접 접속할 수 있어서 활용도가 높다. 휴대 단말은 가속도 센서, 근접 센서, 온도 센서 등의 센서를 구비하고, 사용자의 주변 환경을 감지하는 기능을 수행할 수 있고, 감지된 환경과 관련된 정보를 사용자에게 제공할 수도 있다.
(특허문헌 1) 국내 공개특허공보 제2005-0056307호
본 발명의 실시예들에 따르면, 판별 영역에 포함된 구획 및 구획들의 주소 정보를 활용하여 입력 데이터와 대응되는 최적의 최종 데이터를 검색할 수 있는 데이터 변환 장치, 방법 및 컴퓨터 프로그램을 제공할 수 있다.
본 발명의 실시예들에 따르면, 입력 데이터인 단어에 포함된 각 캐릭터 및 기 저장된 넘버 테이블을 이용하여 입력 데이터의 타당성을 판단하는 타당성 판단 장치, 방법 및 컴퓨터 프로그램을 제공할 수 있다.
본 발명의 실시예들에 따른 데이터 변환 방법은 데이터 변환 장치가 입력 데이터를 수신하는 단계; 상기 입력 데이터를 스트링(string) 단위로 판독하여 상기 입력 데이터에 해당하는 제1 규약을 결정하고, 상기 제1 규약에 의한 인덱스 테이블을 읽어 들여 상기 입력 데이터를 변환하는 단계; 변환한 결과를 고려하여 상기 입력 데이터와 대응되되, 구조적으로 변환된 후보 데이터를 생성하는 단계; 상기 후보 데이터를 상기 제1 규약에 따른 변환 알고리즘에 따라 검색 키를 산출하는 단계; 상기 검색 키를 이용하여 상기 후보 데이터의 유효성을 판단하는 단계;를 포함할 수 있다.
상기 검색 키의 유효성을 판단하는 단계는 상기 검색 키를 이용하여 상기 제1 규약과 연계된 판별 영역의 특정 영역에 접근하고, 상기 특정 영역에 저장된 판별 데이터를 통해 상기 후보 데이터의 유효성을 판단할 수 있다.
본 실시예에 따르면, 데이터 변환 방법은 상기 검색 키가 유효한 경우, 상기 판별 데이터에 따라 상기 제2 규약과 다른 규약으로 작성된 상기 입력 데이터의 최종 데이터를 결정하는 단계;를 더 포함할 수 있다.
상기 제1 규약에 따른 변환 알고리즘은 상기 판별 영역이 차지하는 정도를 고려하여 복수의 스텝으로 구성될 수 있다.
상기 입력 데이터를 수신하는 단계 이전에, 상기 제2 규약을 이용하는데 필요한 표준 데이터를 기준으로 판별 데이터를 생성하는 단계;를 더 포함할 수 있다.
상기 최종 데이터는 상기 제2 규약에 의해 해독되는 형식으로 구성되며, 상기 입력 데이터와 동일한 데이터로 판독되는 데이터일 수 있다.
상기 제1 규약에 의해 작성된 입력 데이터는 시각 또는 청각으로 출력되도록 구현된 데이터일 수 있다.
상기 제2 규약으로 해독되는 최종 데이터는 촉각으로 출력되도록 구현된 데이터일 수 있다.
본 발명의 실시예들에 따른 데이터 변환 장치는 입력 데이터를 수신하고, 상기 입력 데이터를 스트링(string) 단위로 판독하여 상기 입력 데이터에 해당하는 제1 규약을 결정하고, 상기 제1 규약에 의한 인덱스 테이블을 읽어 들여 상기 입력 데이터를 변환하는 변환부; 변환한 결과를 고려하여 상기 입력 데이터와 대응되되, 구조적으로 변환된 후보 데이터를 생성하고, 상기 후보 데이터를 상기 제1 규약에 따른 변환 알고리즘에 따라 검색 키를 산출하는 산출부; 상기 검색 키를 이용하여 상기 후보 데이터의 유효성을 판단하는 판단부;를 포함할 수 있다.
본 발명의 실시예에 따른 컴퓨터 프로그램은 컴퓨터를 이용하여 본 발명의 실시예에 따른 데이터 변환 방법 중 어느 하나의 방법을 실행시키기 위하여 매체에 저장될 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해 질 것이다.
본 발명의 실시예에 따른 컴퓨터 프로그램은 컴퓨터를 이용하여 본 발명의 실시예에 따른 데이터 변환 방법 중 어느 하나의 방법을 실행시키기 위하여 매체에 저장될 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해 질 것이다.
본 발명의 실시예들에 따른 타당성 판단 방법은 전자 장치가 단어를 수신하는 단계; 상기 단어를 정의하는 규약과 연계하여 검색 변수를 산출하는 단계; 상기 단어 및 상기 검색 변수를 기초로 상기 위치 변수를 생성하는 단계; 상기 위치 변수를 기초로 비트 테이블에 접근하고, 상기 비트 테이블에 저장된 값을 기초로 상기 단어의 타당성을 판단하는 단계;를 포함할 수 있다.
상기 검색 변수를 산출하는 단계는 상기 단어를 정의한 규약을 결정하는 단계;상기 규약에서 정의한 캐릭터 셋을 기준으로 상기 단어를 변환하는 단계;
변환된 상기 단어 및 기 저장된 넘버 테이블을 이용하여, 검색 변수를 산출하는 단계;를 더 포함할 수 있다.
상기 위치 변수를 생성하는 단계는 상기 단어의 n번째 캐릭터 및 넘버 테이블의 값을 기초로 산출된 수를 이용하여 위치 변수를 산출할 수 있다.
상기 넘버 테이블은 복수의 소수값들을 포함할 수 있다.
상기 규약에서 정의한 캐릭터 셋은 원 캐릭터 및 축약 캐릭터 사이의 대응 관계를 포함할 수 있다.
본 발명의 실시예들에 따른 타당성 판단 장치는 단어를 수신하는 단어 수신부; 상기 단어를 정의하는 규약과 연계하여 검색 변수를 산출하는 검색 변수 생성부; 상기 단어 및 상기 검색 변수를 기초로 상기 위치 변수를 생성하는 위치 변수 생성부; 상기 위치 변수를 기초로 비트 테이블에 접속하고, 상기 비트 테이블에 저장된 값을 기초로 상기 단어의 타당성을 판단하는 판단부;를 포함할 수 있다.
상기 검색 변수 생성부는 상기 단어를 정의한 규약을 결정하고, 상기 규약에서 정의한 캐릭터 셋을 기준으로 상기 단어를 변환하고, 변환된 상기 단어 및 기 저장된 넘버 테이블을 이용하여, 검색 변수를 산출할 수 있다.
상기 위치 변수 생성부는 상기 단어의 n번째 캐릭터 및 넘버 테이블의 값을 기초로 산출된 수를 이용하여 위치 변수를 산출할 수 있다.
상기 넘버 테이블은 복수의 소수값들을 포함할 수 있다.
상기 규약에서 정의한 캐릭터 셋은 원 캐릭터 및 축약 캐릭터 사이의 대응 관계를 포함할 수 있다.
본 발명의 실시예에 따른 컴퓨터 프로그램은 컴퓨터를 이용하여 본 발명의 실시예에 따른 타당성 판단 방법 중 어느 하나의 방법을 실행시키기 위하여 매체에 저장될 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해 질 것이다.
본 발명의 실시예들에 따른 데이터 변환 장치, 방법 및 컴퓨터 프로그램은 판별 영역에 포함된 구획 및 구획들의 주소 정보를 활용하여 입력 데이터와 대응되는 최적의 최종 데이터를 검색할 수 있다.
본 발명의 실시예들에 따른 데이터 변환 장치는 입력 데이터인 단어에 포함된 각 캐릭터 및 기 저장된 넘버 테이블을 이용하여 입력 데이터의 타당성을 판단하는 장치를 포함할 수 있다.
도 1은 본 발명의 제1 실시예에 따른 데이터 변환 장치의 구조 및 동작을 설명하기 위한 도면이다.
도 2는 본 발명의 제2 실시예에 따른 데이터 변환 장치의 구조 및 동작을 설명하기 위한 도면이다.
도 3 내지 도 4는 본 발명의 실시예들에 따른 데이터 변환 방법들의 흐름도들이다.
도 5는 본 발명에 따른 후보 데이터를 생성하는 단계를 설명하기 위한 도면이다.
도 6은 본 발명에 따른 후보 데이터들 중에서 최종 데이터를 결정하는 과정을 설명하기 위한 도면이다.
도 7은 데이터 변환 장치의 외관을 개략적으로 설명하기 위하여 도시한 도면이다.
도 8은 본 발명의 실시예들에 따른 타당성 판단 장치의 블록도이다.
도 9는 본 발명의 실시예들에 따른 타당성 판단 방법의 흐름도이다.
도 10 내지 도 11은 본 발명의 다른 실시예들에 따른 타당성 판단 장치의 블록도들이다.
도 12는 타당성 판단 장치에 의해 생성된 넘버 테이블의 일 예이다.
도 13은 위치 변수 생성부를 구현한 코드의 예시이다.
도 14는 단어 및 비트 테이블의 관계를 설명하기 위한 도면이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다.
이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는한, 복수의 표현을 포함한다.
이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서 상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징을 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다.
어떤 실시예가 달리 구현 가능한 경우에 특정한 공정 순서는 설명되는 순서와 다르게 수행될 수도 있다. 예를 들어, 연속하여 설명되는 두 공정이 실질적으로 동시에 수행될 수도 있고, 설명되는 순서와 반대의 순서로 진행될 수 있다.
이하의 실시예에서, "회로"는, 예를 들어, 프로그램가능한 회로에 의해 실행되는 인스트럭션을 저장하는 하드와이어드 회로, 프로그램가능한 회로, 상태 머신 회로, 및/또는 펌웨어를 단독으로 또는 임의의 조합으로 포함할 수 있다. 애플리케이션은 호스트 프로세서 또는 다른 프로그램가능한 회로와 같은 프로그램가능한 회로 상에서 실행될 수 있는 코드 또는 인스트럭션으로서 구현될 수 있다. 본원의 임의의 실시예에서 사용되는 바와 같은, 모듈은,회로로서 구현될 수 있다. 회로는 집적 회로 칩과 같은 집적 회로로서 구현될 수 있다.
이하의 실시예에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 제1 실시예에 따른 데이터 변환 장치(100)의 구조 및 동작을 설명하기 위한 도면이다.
도 1를 참조하면, 데이터 변환 장치(100)는 산출부(110), 판별 영역(120), 판단부(130), 생성부(140)를 포함할 수 있다.
데이터 변환 장치(100)는 수신된 데이터를 변환하여 출력할 수 있다. 이때 데이터 변환 장치(100)는 입력 데이터를 점자 데이터, 화상 데이터, 청각 데이터 등과 같은 다양한 방식 또는 형식으로 출력할 수 있다. 특히, 데이터 변환 장치(100)는 소정의 규약으로 작성된 데이터를 해독하기 위한 인덱스 테이블 및/또는 판별 영역을 더 포함할 수 있다. 데이터 변환 장치(100)는 소정의 규약에 정의된 인덱스들, 인덱스들의 수, 각 인덱스의 크기 등을 고려하여, 판별 영역으로 필요한 용량을 결정할 수 있다. 데이터 변환 장치(100)는 리소스를 효율적으로 사용하기 위해서, 판별 영역에 이진수로 작성된 데이터를 작성할 수 있다. 판별 영역에서는 하나의 비트에 하나의 이진수가 저장될 수 있다. 데이터 변환 장치(100)는 판별 영역에 포함된 구획 및 구획들의 주소 정보를 활용하여 입력 데이터와 대응되는 최적의 최종 데이터를 검색할 수 있다. 데이터 변환 장치(100)는 메모리에 저장된 데이터를 활용할 뿐 아니라 메모리의 주소값을 하나의 데이터로 활용할 수 있다. 종래의 메모리의 주소값은 메모리에 접근하기 위한 매개체에 불과하였으나, 본 발명의 실시예들에 따른 데이터 변환 장치(100)는 데이터 영역을 절약하기 위해서, 메모리의 주소값을 인덱스로 활용할 수 있다.
데이터 변환 장치(100)는 제1 규약으로 작성된 입력 데이터(input)를 수신할 수 있다. 입력 데이터(input)는 인터넷 망 또는 근거리 망 등의 다양한 네트워크 통신망을 통해 수신될 수 있다. 입력 데이터(input)는 제1 규약으로 작성된 것으로, 제1 규약을 이용하여 해독할 수 있다. 예를 들어, 입력 데이터(input)는 각 국가의 언어로 작성된 문자 데이터 일 수 있다.
산출부(110)는 입력 데이터(input)를 수신하고, 상기 입력 데이터(input)를 판독한 결과를 기초로 제1 검색 키(key1)를 산출할 수 있다. 산출부(110)는 입력 데이터(input)를 상기 제1 규약에 따른 알고리즘에 따라 제1 검색 키(key1)를 산출할 수 있다. 좀더 구체적으로 산출부(110)는 입력 데이터(input)을 상기 입력 데이터(input)와 대응되는 제1 값으로 변환하고 상기 제1 값을 상기 제1 규약에 따른 알고리즘에 입력할 수 있다. 판별 영역의 크기에 따라 제1 규약에 따른 알고리즘은 복수의 스텝, 함수(function)들을 포함할 수 있다. 최종적으로 산출부(110)는 입력 데이터(input)로부터 제1 검색 키(key1)를 획득할 수 있다.
다음으로, 제1 규약에 따른 알고리즘에 대해서 상세히 설명하겠다. 산출부(110)는 제1 규약에 의해 정의되는 데이터의 셋트를 고려하여 함수 또는 스텝을 생성하게 된다. 산출부(110)는 제1 규약에 의해 정의되는 데이터의 셋트에 포함되는 데이터들 사이에 구별되는 값이 부여될 수 있도록 함수 또는 스텝을 생성할 수 있다. 제1 규약에 따른 알고리즘은 제1 규약에 의해 정의되는 데이터의 크기 또는 용량을 줄이기 위해서 이용될 수 있다. 산출부(110)는 제한된 크기의 판별 영역에 제1 규약에 의해 정의되는 데이터를 저장하도록 제1 규약에 따른 알고리즘을 활용할 수 있다. 또한, 제1 규약에 따른 알고리즘은 데이터를 암호화하는 인코딩 알고리즘 및 디코딩하는 디코딩 알고리즘을 포함할 수 있다. 이때, 판별 영역의 크기 및 제1 규약에 따라 정의되는 데이터의 셋트의 수에 대한 비례값에 따라 제1 규약에 따른 알고리즘은 정의될 수 있다. 상기 비례값이 작을수록 더 적은 용량으로 데이터를 표현해야 하기 때문에 데이터의 인코딩을 위해서 수행되어야 하는 스텝 또는 함수의 수는 증가될 수 있다. 복수의 캐릭터로 구성된 데이터는 알고리즘을 통해 원래 데이터 보다 더 짧은 길이의 값이나 키로 변환하게 된다. 알고리즘은 해시 함수를 이용할 수 있으며, 예시로는 MD2, MD4, MD5, SHA 등이 있을 수 있다.
산출부(110)는 산출된 제1 검색 키(key1)와 대응되는 영역에 저장된 값을 읽을 수 있다. 이를 위해서 먼저, 산출부(110)는 산출된 제1 검색 키(key1)를 이용하여 판별 영역(120)에 접근하게 된다. 이때, 제1 검색 키(key1)는 판별 영역(120)에 포함된 특정 영역, 특정 섹션을 가리킬 수 있다. 이런 경우, 산출부(110)는 판별 영역(120)에 소정의 규칙으로 구획된 섹션들 중에서, 상기 제1 검색 키(key1)와 대응되는 섹션에 저장된 제1 결과 값(value)을 읽어 들인다. 다른 실시예에서, 산출부(110)는 상기 제1 검색 키(key1)를 상기 판별 영역의 주소로 활용할 수 있다. 산출부(110)는 상기 제1 검색 키(key1)와 대응되는 영역으로부터 판독된 데이터 값을 제1 결과 값(value)로서 읽을 수 있다. 산출부(110)는 다양한 방식으로, 상기 제1 검색 키(key1)와 대응되는 판별 영역(120)의 일부를 결정하고, 상기 판별 영역(120)의 일부, 지정 영역에 저장된 제1 결과 값(value)을 읽을 수 있다.
여기서, 판별 영역(120)은 전원이 공급되지 않아도 입력된 정보가 지워지지 않는 비휘발성 메모리이거나 시스템 영역에 저장된 압축 데이터를 부팅 시에 저장하는 휘발성 메모리 일 수 있다. 판별 영역(120)이 휘발성 메모리인 경우에는 판별 영역(120)은 데이터 변환 장치(100)이 전원이 켜진 소정의 데이터가 저장될 수도 있다. 판별 영역(120)은 데이터 변환 장치(100)의 운영 체제(OS) 또는 프로세서(processor)에 의해 접근될 수 있도록, 단위 데이터마다 정의된 주소와 매핑될 수 있다. 판별 영역(120)에 포함된 소정의 영역은 주소 값들의 집합과 대응될 수 있다.
산출부(110)에 의해 획득된 제1 검색 키(key1)는 판단부(130)로 전송될 수 있다. 판단부(130)는 제1 검색 키(key1)를 이용하여, 상기 입력 데이터의 유효성을 판단할 수 있다. 판단부(130)는 제1 검색 키(key1)가 기 설정된 소정의 유효값과 일치하는지 여부를 판단함으로써, 입력 데이터의 유효성을 판단할 수 있다. 판단부(130)는 제1 검색 키(key1)가 소정의 규칙에 따르거나, 소정의 함수에 의해 참(예를 들어, 1 또는 TRUE)을 출력하는 경우, 상기 제1 검색 키(key1)가 유효하다고 판단할 수 있다.
생성부(140)는 판단부(130)에 의한 판단 결과에 따라 상기 입력 데이터 또는 검색 키가 유효한 경우, 상기 입력 데이터를 최종 데이터로 결정할 수 있다. 데이터 변환 장치(100)는 상기 최종 데이터를 출력할 수 있는 출력 신호를 생성하게 된다. 생성된 출력 신호는 외부의 출력 장치로 전송될 수 있다. 출력 신호는 복수의 돌기 유닛들을 제어하는 출력 제어부로 전달되어 복수의 돌기 유닛들을 상하 또는 좌우로 이동시킬 수 있다. 돌기 유닛들은 사용자의 피부 또는 신경에 접촉되어 촉감에 의한 표시를 출력할 수 있다. 돌기 유닛들은 시각적 표시를 제공할 수 있다.
도 2는 본 발명의 제2 실시예에 따른 데이터 변환 장치(100)의 구조 및 동작을 설명하기 위한 도면이다.
도 2를 참조하면, 데이터 변환 장치(100)는 변환부(111), 산출부(110), 인덱스 테이블(121), 판별 영역(120), 판단부(130), 생성부(140)를 포함할 수 있다.
제2 실시예에 따르면 데이터 변환 장치(100)는 입력 데이터(input)를 하나 이상의 후보 데이터로 변환하고 후보 데이터 중에서 하나의 데이터를 최종 데이터로 결정할 수 있다.
변환부(111)는 수신된 입력 데이터(input)를 스트링(string) 단위로 판독하고 상기 판독 결과 및 제1 규약에 따른 인덱스 테이블을 이용하여 하나 이상의 후보 데이터를 생성할 수 있다. 변환부(111)는 입력 데이터(input)를 스트링(string) 단위로 판독하게 되면, 입력 데이터에 속한 인덱스를 추출할 수 있게 된다. 여기서, 인덱스는 각 규약에 따라서 정의되는 것으로, 입력 데이터의 길이 보다 더 적은 스트링으로 표현하기 위해서 활용될 수 있다. 약어 또는 축약어로도 볼 수 있으나, 약어 또는 축약어의 경우에는 원 입력 데이터의 의미를 알 수 있도록 정의되는 것이 일반적이지만, 인덱스는 원 입력 데이터와 무관하게 정의되게 된다. 또한, 입력 데이터를 이루는 음절, 코드, 글자, 텍스트 등을 간단히 결합한 형태가 될 수도 있다.
또한, 변환부(111)는 인덱스 테이블을 활용한 방법으로 입력 데이터(input)에 포함된 인덱스를 기준으로 상기 입력 데이터(input)와 대응되는 후보 데이터를 생성할 수 있다. 변환부(111)는 제1 규약에 따른 인덱스 테이블을 이용하여 후보 데이터를 생성할 수 있다. 먼저, 변환부(111)는 입력 데이터(input)가 작성된 제1 규약을 결정하고 상기 제1 규약에 따른 인덱스 테이블을 불러온다. 변환부(111)는 스트링 단위의 판독을 통해 인덱스 테이블에 포함된 복수 개의 인덱스들 중에서, 상기 입력 데이터(input)에 포함된 제1 인덱스를 검출하고, 상기 제1 인덱스와 대응되는 입력 데이터(input)의 일부를 상기 제1 인덱스로 대체할 수 있다. 결과적으로 변환부(111)는 제1 인덱스를 포함하는 후보 데이터(Pdata)를 출력할 수 있다.
산출부(110)는 입력 데이터(input)에 대신에 상기 입력 데이터(input)와 대응되되, 구조적으로 변환된 후보 데이터(Pdata)와 대응되는 제2 검색 키(key2)를 산출할 수 있다. 산출부(110)는 후보 데이터(Pdata)를 수신하고, 상기 후보 데이터(Pdata)를 판독한 결과를 기초로 제2 검색 키(key2)를 산출할 수 있다. 산출부(110)는 후보 데이터(Pdata)를 상기 제1 규약에 따른 알고리즘에 입력하여 제2 검색 키(key2)를 산출할 수 있다. 산출부(110)는 후보 데이터(Pdata)을 상기 후보 데이터(Pdata)와 대응되는 제2 값(key2)으로 변환하고 상기 제2 값(key2)을 상기 제1 규약에 따른 함수에 입력할 수 있다. 최종적으로 산출부(110)는 후보 데이터(Pdata)로부터 제2 검색 키(key2)를 획득할 수 있다.
산출부(110)는 산출된 제2 검색 키(key2)와 대응되는 영역에 저장된 값을 읽을 수 있다. 이를 위해서 먼저, 산출부(110)는 산출된 제2 검색 키(key2)를 이용하여 판별 영역(120)에 접근하게 된다. 이때, 제2 검색 키(key2)는 판별 영역(120)에 포함된 하나의 섹션을 가리킬 수 있다. 이런 경우, 산출부(110)는 판별 영역(120)에 소정의 규칙으로 구획된 섹션들 중에서, 상기 제2 검색 키(key2)와 대응되는 섹션에 저장된 제2 값(value)을 읽어 들인다. 다른 실시예에서, 산출부(110)는 상기 제2 검색 키(key2)를 상기 판별 영역의 주소로 활용하여, 제2 값(value)를 읽을 수 있다. 산출부(110)는 다양한 방식으로, 상기 제2 검색 키(key2)와 대응되는 판별 영역(120)의 일부를 결정하고, 상기 판별 영역(120)의 일부, 지정 영역에 저장된 제2 결과 값(value2)을 읽을 수 있다.
산출부(110)에 의해 획득된 제2 검색 키(key2)는 판단부(130)로 전송될 수 있다. 판단부(130)는 제2 검색 키(key2)를 이용하여 상기 입력 데이터의 유효성을 판단할 수 있다. 판단부(130)는 제2 검색 키(key2)가 기 설정된 소정의 값과 일치하는지 여부를 판단함으로써, 입력 데이터의 유효성을 판단할 수 있다. 판단부(130)는 제2 검색 키(key2)가 소정의 규칙에 따르거나 소정의 함수에 의해 유효 값(예를 들어, 1 또는 TRUE)을 출력하는 경우, 상기 제2 검색 키(key2)가 유효하다고 판단할 수 있다.
생성부(140)는 판단부(130)에 의한 판단 결과에 따라 상기 후보 데이터 또는 제2 검색 키(key2)가 유효한 경우, 상기 후보 데이터를 최종 데이터로 결정할 수 있다. 산출부(110)는 상기 검색 키를 이용하여 상기 제1 규약과 연계된 판별 영역의 특정 영역에 접근하고, 상기 특정 영역에 저장된 판별 데이터를 통해 상기 검색 키 또는 후보 데이터의 유효성을 판단할 수 있다.
도 3 내지 도 4는 본 발명의 실시예들에 따른 데이터 변환 방법들의 흐름도들이다.
도 3을 참조하면, 데이터 변환 방법은 입력 데이터를 수신하는 단계(S100), 후보 데이터를 생성하는 단계(S110), 후보 데이터의 유효성을 판단하는 단계(S120), 최종 데이터를 결정하는 단계(S140)를 포함할 수 있다.
S100에서는 데이터 변환 장치(100)는 입력 데이터를 수신할 수 있다. S110에서는 데이터 변환 장치(100)는 수신된 입력 데이터를 이용하여 하나 이상의 후보 데이터를 생성할 수 있다. 데이터 변환 장치(100)는 입력 데이터에 포함된 인덱스를 기준으로 입력 데이터와 대응되는 후보 데이터를 생성할 수도 있다. 데이터 변환 장치(100)는 제1 규약에 따른 인덱스 테이블을 이용하여 후보 데이터를 생성할 수 있다. 이를 위해서, 데이터 변환 장치(100)는 입력 데이터를 판독한 결과를 이용하여 상기 입력 데이터가 작성된 제1 규약을 결정할 수 있다. 데이터 변환 장치(100)는 제1 규약에 따른 인덱스 테이블을 검출하여 불러올 수 있다. 데이터 변환 장치(100)는 인덱스 테이블에 포함된 복수 개의 인덱스들 중에서, 상기 입력 데이터에 포함된 제1 인덱스를 검출하며, 상기 제1 인덱스와 대응되는 부분을 제1 인덱스로 대체할 수 있다. 결과적으로 데이터 변환 장치(100)는 제1 인덱스를 포함하는 후보 데이터를 출력하게 된다. 입력 데이터가 포함하는 인덱스는 복수일 수 있는데, 복수의 인덱스를 포함하는 입력 데이터는 인덱스의 수에 따라 다양한 조합의 후보 데이터가 가능할 수 있다. 후보 데이터의 생성과 관련하여서는 도 5에서 상세히 설명하겠다.
S120에서는 데이터 변환 장치(100)는 후보 데이터의 유효성을 판단할 수 있다. 데이터 변환 장치(100)는 후보 데이터 중에서 입력 데이터와 매칭되는 최적의 후보 데이터를 결정해야 한다. 이를 위해서, 데이터 변환 장치(100)는 각 후보 데이터의 유효성을 판단할 수 있다. 단순히 후보 데이터의 유효성은 참 또는 거짓일 수 있으나, 소정의 점수, 등급일 수도 있다.
S130에서는 데이터 변환 장치(100)는 판단 결과, 후보 데이터가 유효한지 여부를 판단하고, 후보 데이터가 유효하다면 상기 후보 데이터를 최종 데이터로 결정할 수 있다. 데이터 변환 장치(100)는 제1 규약으로 작성된 입력 데이터를 대응되는, 제2 규약으로 작성된 최종 데이터로 변환할 수 있다(S140). 제1 규약 및 제2 규약은 상이하게 되며, 상이한 데이터 형식을 가질 수도 있다. 예를 들어, 제1 규약은 청각적으로 데이터를 전달하기 위한 규약이며, 제2 규약은 촉각적으로 데이터를 전달하기 위한 규약일 수 있다. 또한 제1 규약은 시각적으로 데이터를 전달하기 위한 규약이며, 제2 규약은 촉각적으로 데이터를 전달하기 위한 규약일 수 있다. 데이터 변환 장치(100)는 제2 규약을 이용하는데 필요한 표준 데이터를 기준으로 판별 데이터를 생성할 수도 있다.
도 4를 참조하면, 데이터 변환 방법은 입력 데이터를 수신하는 단계(S210), 후보 데이터를 생성하는 단계(S220), 검색 키를 산출하는 단계(S230), 검색 키의 유효성을 판단하는 단계(S240), 최종 데이터를 결정하는 단계(S260)를 포함할 수 있다.
S210에서는 데이터 변환 장치(100)는 입력 데이터를 수신할 수 있다. 데이터 변환 장치(100)는 S210 단계 이후에 입력 데이터를 전처리 할 수 있다. 데이터 변환 장치(100)는 기 설정된 정정 알고리즘에 따라서 입력 데이터를 정정할 수 있다. 이때, 데이터 변환 장치(100)는 입력 데이터에 포함된, 제1 규약에서 정의한 어법, 문법 등에 대응되지 않는 표현들을 삭제 또는 정정할 수 있다.
S220에서는 데이터 변환 장치(100)는 수신된 입력 데이터를 이용하여 하나 이상의 후보 데이터를 생성할 수 있다. S230에서는 데이터 변환 장치(100)는 상기 후보 데이터와 대응되는 검색 키를 산출할 수 있다. 데이터 변환 장치(100)는 입력 데이터가 작성된 제1 규약에 따른 함수를 이용하여 검색 키를 산출할 수 있다.
S230의 단계는 데이터 변환 장치(100)는 후보 데이터를 후보 데이터와 대응되는 제3 값으로 변환하는 단계 및 상기 제3 값을 상기 제1 규약에 따른 함수에 입력하여 검색 키를 산출하는 단계를 더 포함할 수 있다. 여기서, 후보 데이터와 대응되는 제3 값은 제1 규약에 따라 정의된 코드, 규칙을 반영하여 생성될 수 있다. 또는 제3 값은 후보 데이터에 포함된 기호, 코드들의 합산으로 산정될 수 있다. 데이터 변환 장치(100)는 후보 데이터와 대응되는 제3 값을 입력으로 검색 키를 산출할 수 있다.
S240에서는 데이터 변환 장치(100)는 검색 키의 유효성을 판단할 수 있다. 데이터 변환 장치(100)는 검색 키와 대응되는 영역에 저장된 데이터 값을 이용하여 검색 키의 유효성을 판단할 수 있다. 데이터 변환 장치(100)는 검색 키와 대응되는 저장 영역으로 접근하여, 해당 영역에 저장된 데이터 값을 읽어 들이고, 해당 데이터 값이 소정의 값과 일치하는지 여부를 판단함으로써, 검색 키의 유효성을 판단할 수 있다.
S250 및 S260에서 데이터 변환 장치(100)는 후보 데이터의 검색 키가 유효한 경우에는 상기 후보 데이터를 최종 데이터로 결정한다. 만약, 후보 데이터의 검색 키가 유효하지 않은 경우에는 데이터 변환 장치(100)는 상기 후보 데이터 외의 다른 후보 데이터를 생성할 수 있다. 후보 데이터를 생성하는 로직에 따라 입력 데이터는 복수의 후보 데이터로 치환될 수 있다.
도 5는 본 발명에 따른 후보 데이터를 생성하는 단계를 설명하기 위한 도면이다.
도 5를 참조하면, 입력 데이터는 부분 데이터(51)를 포함할 수 있다. 데이터 변환 장치(100)는 제1 규약으로 정의된 단어, 조사에 따라 입력 데이터를 하나 이상의 부분 데이터(51)로 나눌 수 있다. 데이터 변환 장치(100)는 제1 규약에 따른 인덱스 테이블을 이용하여 부분 데이터(51)에 포함된 4개의 인덱스들(52a, 52b, 52c, 52d)을 추출할 수 있다. 부분 데이터(51)에 포함된 코드들을 하나씩 순차적으로 읽어들여 부분 데이터(51)에 포함된 인덱스를 추출할 수 있다. 4개의 인덱스들(52a, 52b, 52c, 52d) 중 적어도 2개의 인덱스들의 일부는 겹칠 수 있다. 4개의 인덱스들(52a, 52b, 52c, 52d)의 가능한 모든 조합들을 이용하여, 후보 데이터를 생성할 수 있다. 예를 들어, 1개의 인덱스를 포함하는 후보 데이터 셋(53a), 2개의 인덱스를 포함하는 후보 데이터 셋(53b), 3개의 인덱스를 포함하는 후보 데이터 셋(53c), 4개의 인덱스를 포함하는 후보 데이터 셋(53d)를 생성할 수 있다.
데이터 변환 장치(100)는 전체 조합 들을 고려하며, 부분 데이터(51)와 대응하여, 15개의 후보 데이터들(54)을 생성할 수 있다.
데이터 변환 장치(100)는 제1 규약으로 정의된 부분 데이터(51)과 대응하여, 제2 규약으로 정의되며 부분 데이터(51)과 동일한 의미를 가지는 후보 데이터(54)를 생성할 수 있다.
도 6은 본 발명에 따른 후보 데이터들 중에서 최종 데이터를 결정하는 과정을 설명하기 위한 도면이다.
도 6(a)에 도시된 바와 같이 데이터 변환 장치(100)는 입력 데이터와 대응되는 11개의 후보 데이터들을 생성할 수 있다. 생성된 후보 데이터들은 모두 입력 데이터와 동일한 의미로 해석될 수 있다. 입력 데이터와 대응되는, 제2 규약에 따른 데이터는 하나일 수 있는데, 데이터 변환 장치(100)는 입력 데이터와 대응되는 제2 규약에 따른 데이터를 알 수 있는 판별 영역을 별도로 가지게 된다. 각 후보 데이터는 판별 영역에서 일정 영역과 대응될 수 있다. 데이터 변환 장치(100)는 도 6(b)에 도시된 바와 같이 후보 데이터들을 제1 규약에 따른 알고리즘에 적용하여 주소값들을 생성할 수 있다. 도 6(c)에 도시된 바와 같이 주소값들은 판별 영역의 특정 영역들과 대응되게 된다. 데이터 변환 장치(100)는 주소값들을 이용하여 후보 데이터들의 정당성과 대응되는 값들을 판별 영역의 소정의 영역으로부터 획득할 수 있다. 도 6(d)에 도시된 바와 같이, 데이터 변환 장치(100)는 후보 데이터로부터 변환된 출력 값들을 최종적으로 획득할 수 있다.
데이터 변환 장치(100)는 후보 데이터와 대응되는 주소 값을 이용하여 판별 영역의 특정 비트에 접근하게 되고, 특정 비트에 저장된 값을 산출할 수 있다. 데이터 변환 장치(100)는 판별 영역(603)에서 해당 주소 값들과 대응되는 영역에 접근하여 출력 값들 중에서 참으로 출력된 후보 데이터를 최적의 후보 데이터를 선택할 수 있다.
도 7은 데이터 변환 장치(100)의 외관을 개략적으로 설명하기 위하여 도시한 도면이다.
데이터 변환 장치(100)는 표현 면에 사용자에 대향되게 위치하도록 구비되는 돌기들(10n)를 포함할 수 있다. 따라서, 표현 면에 현출되는 상기 돌기들(10n)의 선택적 출입에 의한 돌출 신호는 사용자에게 직접적이고 국부적인 타격으로 인식될 수 있고, 사용자는 돌기들(10n)에 의해 타격을 받은 위치에서의 직접적인 진동을 받을 수 있다. 이러한 직접적이고 국부적인 타격에 의해 형성된 돌출 신호는 휴대용 전자 기기의 일반적인 진동 신호와는 달리 타겟 주위에 잔진동이 발생되도록 하지 않기 때문에 사용자에게 정확한 신호를 전달할 수 있다. 따라서, 상기와 같은 돌출 신호에 의해 점자와 같이 촉각을 통해 취득되는 신호를 구현할 수 있고, 그 외에도 군사 신호, 그림 신호, 부호 신호, 방향 신호 등 다양한 신호를 정확하게 구현할 수 있다. 즉, 도 7에 도시된 데이터 변환 장치(100)의 표현 면은 사용자의 피부와 접촉할 수 있도록 위치한다.
도 7a를 참조하면, 돌기들(10n)를 포함하는 독립적인 데이터 변환 장치(100)의 외관을 도시하고 있으며, 시계줄을 포함하는 스마트 시계 형식으로 구현되어 있다. 스마트 시계로 구현된 데이터 변환 장치(100) 내부에는 출력 제어부가 더 구비되어 있다. 이러한 데이터 변환 장치(100)는 돌기(101)의 직선운동에 의해 출력 데이터를 표시하는 브레일 디스플레이 기기 일 수 있다. 도 6a에 도시된 데이터 변환 장치(100)는 사용자가 손으로 직접 돌기(10n)를 접촉하여 객체 정보와 대응되는 출력 데이터를 인식할 수 있다. 추가적으로, 데이터 변환 장치(100)는 진동모터를 포함할 수 있다.
도 7b를 참조하면, 스마트 폰과 연동되는 스마트 시계로써의 사용자 단말기(T1)와 돌기들(10n)을 포함하는 데이터 변환 장치(100)가 결합된 외관을 도시하고 있다. 도 7b의 경우 스마트 시계의 상부는 유기 발광 디스플레이 유닛, 무기 발광 디스플레이 유닛 또는 액정 디스플레이 유닛 중 하나로 구현되어 있고, 스마트 시계의 하부는 데이터 변환 장치(100)의 돌기(10n)가 구현될 수 있음을 도시하고 있다. 도 7b에 도시된 데이터 변환 장치(100)와 결합된 스마트 시계로써의 사용자 단말기(T1)의 경우 사용자가 스마트 시계를 착용한 신체의 일부분이 돌기(10n)의 직선운동을 감지하여 검출된 액션과 대응되는 출력 데이터를 인식할 수 있다. 추가적으로, 데이터 변환 장치(100)는 진동모터를 포함할 수 있다.
도 7c를 참조하면, 스마트 폰과 연동되는 스마트 시계로써의 사용자 단말기(T1)와 돌기들을 포함하는 정보 출력 장치(100)가 결합된 외관을 도시하고 있다. 도 7c의 경우 스마트 시계의 상부에 디스플레이 유닛과 정보 출력 장치(100)의 돌기(10n)가 구현될 수 있음을 도시하고 있다. 도 7c에 도시된 정보 출력 장치(100)와 결합된 스마트 시계로써의 사용자 단말기(T1)의 경우 사용자가 손으로 직접 돌기(301)를 접촉하여 검출된 액션과 대응되는 출력 데이터를 인식할 수 있다. 추가적으로, 데이터 변환 장치(100)는 진동모터를 포함할 수 있다.
도 7d를 참조하면, 스마트 폰으로써의 사용자 단말기(T1)와 돌기들(10n)을 포함하는 데이터 변환 장치(100)가 결합된 외관을 도시하고 있다. 추가적으로, 데이터 변환 장치(100)는 진동모터를 포함할 수 있다.
도 8은 본 발명의 실시예에 따른 타당성 판단 장치(200)을 나타내는 도면이다.
도 8을 참조하면, 본 발명의 실시예에 따른 타당성 판단 장치(200)은 단어 수신부(211), 검색 변수 생성부(212), 위치 변수 생성부(213), 판단부(214)를 포함할 수 있다. 타당성 판단 장치(200)는 넘버 테이블(221) 및 비트 테이블(222)를 더 포함할 수 있다. 넘버 테이블(221) 및 비트 테이블(222)는 타당성 판단 장치(200)과 전기적으로 연결될 수도 있다.
단어 수신부(211)는 외부의 단말 장치 또는 전기적으로 연결된 입력 장치로부터 단어(word)를 수신할 수 있다. 단어는 언어적인 의미를 가진 데이터를 말하며, 다양한 방식 또는 형식을 가질 수 있다. 단어의 예시로는 점자 데이터, 화상 데이터, 청각 데이터 등이 일 수 있다.
검색 변수 생성부(212)는 단어를 정의한 규약과 연계하여 검색 변수를 산출할 수 있다. 검색 변수 생성부(212)는 단어를 정의한 규약과 연계하고 기 저장된 넘버 테이블(221)을 이용하여 검색 변수(s_val)를 산출한다. 검색 변수(s_val)는 소정의 규약 내에서 정의된 단어들을 서로 구분되는 변수로 변환하기 위한 목적으로 생성되는 것으로, 넘버 테이블을 활용하여 산출될 수 있다. 넘버 테이블(221)은 소수들의 집합을 말할 수 있으며, 넘버 테이블(221)의 크기는 비트 테이블(222)의 크기를 고려하여 결정될 수 있다. 검색 변수(s_val)를 산출하는 과정 이외에 검색 변수 생성부(212)는 수신된 단어를 정의한 규약을 결정하고, 상기 규약에서 정의한 캐릭터 셋을 기준으로 상기 단어를 변환할 수 있다. 상기 캐릭터 셋은 규약 내의 제1 스트링(원 캐릭터) 및 상기 제1 스트링과 동일한 의미를 가지는 제2 스트링(축약 캐릭터) 사이의 대응 관계를 포함할 수 있다.
위치 변수 생성부(213)는 수신된 단어(word) 및 산출된 검색 변수(s_val)를 기초로 위치 변수(Location_val)를 산출할 수 있다. 위치 변수 생성부(213)는 검색 변수 생성부(212)에 의해 변환된 단어(word) 및 검색 변수(s_val)를 이용하여 위치 변수(Location_val)를 산출할 수 있다. 위치 변수 생성부(213)는 단어(word) 및 넘버 테이블(s_val)에 저장된 값을 기초로 위치 변수(Location_val)를 산출할 수 있다. 좀더 구체적으로 위치 변수 생성부(213)는 단어(word)의 n 번째 캐릭터 및 넘버 테이블(s_val)의 n 번째 값을 기초로 산출된 수를 이용하여 위치 변수(Location_val)를 산출할 수 있다. 위치 변수 생성부(213)는 단어의 n 번째 캐릭터의 위치 변수를 단어의 n-1 번째 캐릭터의 위치 변수 및 단어의 n번째 캐릭터를 기초로 산출할 수 있다. 위치 변수 생성부(213)는 단어의 n-1 번째 캐릭터의 위치 변수 및 단어의 n번째 캐릭터에 대한 검색 변수를 이용하여 단어의 n 번째 캐릭터의 위치 변수를 산출할 수 있다.
판단부(214)는 상기 위치 변수(Location_val)를 기초로 비트 테이블(222)에 접근하고 상기 비트 테이블의 해당 영역에 저장된 값을 이용하여 상기 단어가 타당하다고 판단할 수 있다. 판단부(214)는 단어에 포함된 하나 이상의 캐릭터들의 위치 변수들과 대응되는 영역들에 저장된 값들이 모두 참인 경우, 상기 단어가 타당하다고 판단할 수 있다. 즉, 비트 테이블의 해당 영역에 저장된 값이 TRUE인 경우, 판단부(214)는 상기 단어가 타당하다고 판단한다. 비트 테이블의 해당 영역에 저장된 값이 FALSE인 경우 판단부(214)는 상기 단어가 타당하지 않다고 판단할 수 있다.
넘버 테이블(221)는 수신될 수 있는 단어의 집합 및 단어의 타당성을 판단할 수 있는 비트 테이블을 고려하여 결정될 수 있다. 또한, 넘버 테이블(221)에 저장되는 소수 값은 비트 테이블의 크기보다 작은 소수들 중에서, 상대적으로 가장 큰 소수 값일 수 있다.
비트 테이블(222)는 규약에 의해 정의된 단어들과 대응되어 메모리 비트를 설정한 테이블로서, 규약에 의해 정의된 단어들 및 소스값을 기초로 생성된 규약에 의해 정의된 단어와 대응되는 영역의 비트를 '1'로 설정하여 생성될 수 있다. 이때, 비트 테이블(222) 및 넘버 테이블(221)의 크기는 서로 연관될 수 있다. 예를 들어, 규약에 의해 정의된 단어들의 수 및 비트 테이블(222)의 영역 크기를 고려하여 넘버 테이블(221)의 크기가 결정된다. 정확하게는 의 수학식에 따른다. 여기서, k는 넘버 테이블(221)의 용량, N는 비트 테이블(222)의 용량, m은 규약에 의해 정의된 단어들의 수이다.
즉, 만약, 25,000개의 단어를 400,000 비트의 비트 테이블(222)로 변환하는 경우, 넘버 테이블(221)의 크기는 11(=400,000/25,000 log 2)이 되게 된다.
도 9는 본 발명의 실시예들에 따른 타당성 판단 방법의 흐름도이다.
도 9를 참조하면, 본 발명의 실시예들에 따른 타당성 판단 방법은 데이터를 수신하는 단계(S900), 검색 변수를 산출하는 단계(S910), 위치 변수를 산출하는 단계(S920), 비트 테이블을 접근하는 단계(S930), 단어의 타당성을 판단하는 단계(S940)를 포함할 수 있다.
S900에서는 타당성 판단 장치(200)는 네트워크로 연결된 단말 장치 또는 전기적으로 연결된 입력 장치로부터 단어를 수신할 수 있다. 타당성 판단 장치(200)는 수신된 단어를 그대로 검색 변수 생성부(212)로 전달할 수도 있고, 수신된 단어를 동일한 의미를 가지는 데이터로 변환할 수 있다.
S910에서는 타당성 판단 장치(200)의 검색 변수 생성부(212)는 수신된 단어가 정의된 규약 및 상기 규약에 따른 비트 테이블의 크기를 기초로 생성된 넘버 테이블을 이용하여 검색 변수를 생성할 수 있다. 이때, 검색 변수는 비트 테이블의 크기를 벗어나지 않는 소수 들의 집합이다.
S920에서는 위치 변수 생성부(213)는 단어 및 상기 검색 변수를 이용하여 비트 테이블 내의 주소 값인 위치 변수를 산출할 수 있다. 위치 변수 생성부(213)는 단어에 포함된 각 캐릭터들의 위치 변수들을 산출할 수 있다. 위치 변수 생성부(213)는 단어의 n 번째 캐릭터 및 단어의 n-1 번째 캐릭터의 위치 변수를 고려하여, 단어의 n 번째 캐릭터의 위치 변수를 구할 수 있다.
S930에서는 판단부(214)는 상기 위치 변수를 이용하여 비트 테이블의 특정 영역에 접근하고, 상기 특정 영역에 저장된 값을 읽어 들일 수 있다. S940에서는 판단부(214)는 읽어들인 값이 참인지를 판단하고, 상기 값이 참인 경우, 수신된 단어가 타당하다고 판단할 수 있다. 판단부(214)는 단어에 포함된 하나 이상의 캐릭터의 위치 변수를 기초로 접근된 특정 영역에 저장된 값들이 모두 참인 경우, 상기 단어가 타당하다고 판단할 수 있다.
도 10은 본 발명의 다른 실시예에 따른 타당성 판단 장치(200a)의 구조를 나타내는 블록도이다.
도 10을 참조하면, 타당성 판단 장치(200a)는 변환부(211a), 비트 테이블(222a), 판단부(214a), 생성부(230a)를 포함할 수 있다.
타당성 판단 장치(200a)는 수신된 데이터를 변환하여 출력할 수 있다. 이때 타당성 판단 장치(200a)는 입력 데이터를 점자 데이터, 화상 데이터, 청각 데이터 등과 같은 다양한 방식 또는 형식으로 출력할 수 있다. 여기서, 입력 데이터는 도 1 및 2의 단어와 동일한 것일 수 있다. 특히, 타당성 판단 장치(200a)는 소정의 규약으로 작성된 데이터를 해독하기 위한 비트 테이블(222a)을 더 포함할 수 있다. 타당성 판단 장치(200a)는 소정의 규약에 정의된 인덱스들, 인덱스들의 수, 각 인덱스의 크기 등을 고려하여, 비트 테이블로 필요한 용량을 결정할 수 있다. 타당성 판단 장치(200a)는 메모리, 저장 매체 등의 리소스를 효율적으로 사용하기 위해서, 비트 테이블(222a)에 이진수로 작성된 데이터를 작성할 수 있다. 비트 테이블(222a)에서는 하나의 비트에 하나의 이진수가 저장될 수 있다. 타당성 판단 장치(200a)는 비트 테이블(222a)에 포함된 구획 및 구획들의 주소 정보를 활용하여 입력 데이터와 대응되는 최적의 최종 데이터를 검색하거나, 입력 데이터의 타당성을 판단할 수 있다. 타당성 판단 장치(200a)는 메모리에 저장된 데이터를 활용할 뿐 아니라 메모리의 주소값을 하나의 데이터로 활용할 수 있다. 종래의 메모리의 주소값은 메모리에 접근하기 위한 매개체, 인덱스, 포인터 등에 불과하였으나, 본 발명의 실시예들에 따른 타당성 판단 장치(200a)는 데이터 영역을 절약하기 위해서, 메모리의 주소값을 인덱스로 활용할 수 있다.
타당성 판단 장치(200a)는 제1 규약으로 작성된 입력 데이터(input)를 수신할 수 있다. 입력 데이터(input)는 인터넷 망 또는 근거리 망 등의 다양한 네트워크 통신망을 통해 수신될 수 있다. 입력 데이터(input)는 제1 규약으로 작성된 것으로, 제1 규약을 이용하여 해독할 수 있다. 예를 들어, 입력 데이터(input)는 각 국가의 언어로 작성된 문자 데이터 일 수 있다.
변환부(211a)는 입력 데이터(input)를 수신하고, 상기 입력 데이터(input)를 판독한 결과를 기초로 제1 위치 변수(key1)를 산출할 수 있다. 변환부(211a)는 입력 데이터(input)를 상기 제1 규약에 따른 알고리즘에 따라 제1 위치 변수(key1)를 산출할 수 있다. 좀더 구체적으로 변환부(211a)는 입력 데이터(input)를 상기 입력 데이터(input)와 대응되는 제1 검색 변수로 변환하고 상기 제1 검색 변수를 상기 제1 규약에 따른 알고리즘에 입력할 수 있다. 판별 영역의 크기에 따라 제1 규약에 따른 알고리즘은 복수의 스텝, 함수(function)들을 포함할 수 있다. 최종적으로 변환부(211a)는 입력 데이터(input)로부터 제1 위치 변수(key1)를 획득할 수 있다.
다음으로, 제1 규약에 따른 알고리즘에 대해서 상세히 설명하겠다. 변환부(211a)는 제1 규약에 의해 정의되는 데이터의 셋트를 고려하여 함수 또는 스텝을 생성하게 된다. 변환부(211a)는 제1 규약에 의해 정의되는 데이터의 셋트에 포함되는 데이터들 사이에 구별되는 값이 부여될 수 있도록 함수 또는 스텝을 생성할 수 있다. 제1 규약에 따른 알고리즘은 제1 규약에 의해 정의되는 데이터의 크기 또는 용량을 줄이기 위해서 이용될 수 있다. 변환부(211a)는 제한된 크기의 판별 영역에 제1 규약에 의해 정의되는 데이터를 저장하도록 제1 규약에 따른 알고리즘을 활용할 수 있다. 또한, 제1 규약에 따른 알고리즘은 데이터를 암호화하는 인코딩 알고리즘 및 디코딩하는 디코딩 알고리즘을 포함할 수 있다. 이때, 비트 테이블(222a)의 크기 및 제1 규약에 따라 정의되는 데이터의 셋트의 수에 대한 비례값에 따라 제1 규약에 따른 알고리즘은 정의될 수 있다. 상기 비례값이 작을수록 더 적은 용량으로 데이터를 표현해야 하기 때문에 데이터의 인코딩을 위해서 수행되어야 하는 스텝 또는 함수의 수는 증가될 수 있다. 복수의 캐릭터로 구성된 데이터는 알고리즘을 통해 원래 데이터 보다 더 짧은 길이의 값이나 키로 변환하게 된다. 알고리즘은 해시 함수를 이용할 수 있으며, 예시로는 MD2, MD4, MD5, SHA 등이 있을 수 있다.
변환부(211a)는 산출된 제1 위치 변수(key1)와 대응되는 영역에 저장된 값을 읽을 수 있다. 이를 위해서 먼저, 변환부(211a)는 산출된 제1 위치 변수(key1)를 이용하여 비트 테이블(222a)에 접근하게 된다. 이때, 제1 위치 변수(key1)는 비트 테이블(222a)에 포함된 특정 영역, 특정 섹션을 가리킬 수 있다. 이런 경우, 변환부(211a)는 비트 테이블(222a)에 소정의 규칙으로 구획된 섹션들 중에서, 상기 제1 위치 변수(key1)와 대응되는 섹션에 저장된 제1 결과 값(value)을 읽어 들인다. 다른 실시예에서, 변환부(211a)는 상기 제1 위치 변수(key1)를 상기 비트 테이블(222a)의 주소로 활용할 수 있다. 변환부(211a)는 상기 제1 위치 변수(key1)와 대응되는 영역으로부터 판독된 데이터 값을 제1 결과 값(value)로서 읽을 수 있다. 변환부(211a)는 다양한 방식으로, 상기 제1 위치 변수(key1)와 대응되는 비트 테이블(222a) 의 일부를 결정하고, 상기 비트 테이블(222a)의 일부, 지정 영역에 저장된 제1 결과 값(value)을 읽을 수 있다.
여기서, 비트 테이블(222a)은 전원이 공급되지 않아도 입력된 정보가 지워지지 않는 비휘발성 메모리이거나 시스템 영역에 저장된 압축 데이터를 부팅 시에 저장하는 휘발성 메모리 일 수 있다. 비트 테이블(222a)이 휘발성 메모리인 경우에는 비트 테이블(222a)은 타당성 판단 장치(200)이 전원이 켜진 소정의 데이터가 저장될 수도 있다. 비트 테이블(222a)은 타당성 판단 장치(200)의 운영 체제(OS) 또는 프로세서(processor)에 의해 접근될 수 있도록, 단위 데이터마다 정의된 주소와 매핑될 수 있다. 비트 테이블(222a)에 포함된 소정의 영역은 주소 값들의 집합과 대응될 수 있다.
변환부(211a)에 의해 획득된 제1 위치 변수(key1)는 판단부(214a)로 전송될 수 있다. 판단부(214a)는 제1 위치 변수(key1)를 이용하여, 상기 입력 데이터의 유효성을 판단할 수 있다. 판단부(214a)는 제1 위치 변수(key1)가 기 설정된 소정의 유효값과 일치하는지 여부를 판단함으로써, 입력 데이터의 유효성을 판단할 수 있다. 판단부(214a)는 제1 위치 변수(key1)가 소정의 규칙에 따르거나, 소정의 함수에 의해 참(예를 들어, 1 또는 TRUE)을 출력하는 경우, 상기 제1 위치 변수(key1) 또는 상기 입력 데이터가 유효하다고 판단할 수 있다.
생성부(230a)는 판단부(214a)에 의한 판단 결과에 따라 상기 입력 데이터 또는 검색 키가 유효한 경우, 상기 입력 데이터를 최종 데이터로 결정할 수 있다. 타당성 판단 장치(200)는 상기 최종 데이터를 출력할 수 있는 출력 신호를 생성하게 된다. 생성된 출력 신호는 외부의 출력 장치로 전송될 수 있다. 출력 신호는 복수의 돌기 유닛들을 제어하는 출력 제어부로 전달되어 복수의 돌기 유닛들을 상하 또는 좌우로 이동시킬 수 있다. 돌기 유닛들은 사용자의 피부 또는 신경에 접촉되어 촉감에 의한 표시를 출력할 수 있다. 돌기 유닛들은 시각적 표시를 제공할 수 있다.
도 11는 본 발명의 다른 실시예에 따른 타당성 판단 장치(200b)의 구조 및 동작을 설명하기 위한 도면이다.
도 11를 참조하면, 타당성 판단 장치(200)는 변환부(211b), 산출부(212b), 인덱스 테이블(220), 비트 테이블(222b), 판단부(214b), 생성부(230b)를 포함할 수 있다.
제2 실시예에 따르면 타당성 판단 장치(200b)는 입력 데이터(input)를 하나 이상의 후보 데이터로 변환하고 후보 데이터 중에서 하나의 데이터를 최종 데이터로 결정할 수 있다. 여기서, 입력 데이터는 도 1 및 2의 단어와 동일한 것일 수 있다.
변환부(211b)는 수신된 입력 데이터(input)를 스트링(string) 단위로 판독하고 상기 판독 결과 및 제1 규약에 따른 인덱스 테이블(220)을 이용하여 하나 이상의 후보 데이터를 생성할 수 있다. 변환부(211b)는 입력 데이터(input)를 스트링(string) 단위로 판독하게 되면, 입력 데이터에 속한 인덱스를 추출할 수 있게 된다. 여기서, 인덱스는 각 규약에 따라서 정의되는 것으로, 입력 데이터의 길이 보다 더 적은 스트링으로 표현하기 위해서 활용될 수 있다. 약어 또는 축약어로도 볼 수 있으나, 약어 또는 축약어의 경우에는 원 입력 데이터의 의미를 알 수 있도록 정의되는 것이 일반적이지만, 인덱스는 원 입력 데이터와 무관하게 정의되게 된다. 또한, 입력 데이터를 이루는 음절, 코드, 글자, 텍스트 등을 간단히 결합한 형태가 될 수도 있다.
또한, 변환부(211b)는 인덱스 테이블을 활용한 방법으로 입력 데이터(input)에 포함된 인덱스를 기준으로 상기 입력 데이터(input)와 대응되는 후보 데이터를 생성할 수 있다. 변환부(211b)는 제1 규약에 따른 인덱스 테이블을 이용하여 후보 데이터를 생성할 수 있다. 먼저, 변환부(211b)는 입력 데이터(input)가 작성된 제1 규약을 결정하고 상기 제1 규약에 따른 인덱스 테이블을 불러온다. 변환부(211b)는 스트링 단위의 판독을 통해 인덱스 테이블에 포함된 복수 개의 인덱스들 중에서, 상기 입력 데이터(input)에 포함된 제1 인덱스를 검출하고, 상기 제1 인덱스와 대응되는 입력 데이터(input)의 일부를 상기 제1 인덱스로 대체할 수 있다. 결과적으로 변환부(211b)는 제1 인덱스를 포함하는 후보 데이터(Pdata)를 출력할 수 있다.
산출부(212b)는 입력 데이터(input)에 대신에 상기 입력 데이터(input)와 대응되되, 구조적으로 변환된 후보 데이터(Pdata)와 대응되는 제2 위치 변수(key2)를 산출할 수 있다. 산출부(212b)는 후보 데이터(Pdata)를 수신하고, 상기 후보 데이터(Pdata)를 판독한 결과를 기초로 제2 위치 변수(key2)를 산출할 수 있다. 산출부(212b)는 후보 데이터(Pdata)를 상기 제1 규약에 따른 알고리즘에 입력하여 제2 위치 변수(key2)를 산출할 수 있다. 산출부(212b)는 후보 데이터(Pdata)을 상기 후보 데이터(Pdata)와 대응되는 제2 위치 변수(key2)로 변환하고 상기 제2 위치 변수(key2)를 상기 제1 규약에 따른 함수에 입력할 수 있다. 최종적으로 산출부(212b)는 후보 데이터(Pdata)로부터 제2 위치 변수(key2)를 획득할 수 있다.
산출부(212b)는 산출된 제2 위치 변수 (key2)와 대응되는 영역에 저장된 값을 읽을 수 있다. 이를 위해서 먼저, 산출부(212b)는 산출된 제2 위치 변수 (key2)를 이용하여 비트 테이블(222a) 접근하게 된다. 이때, 제2 위치 변수 (key2)는 비트 테이블(222a)에 포함된 하나의 섹션을 가리킬 수 있다. 이런 경우, 산출부(212b)는 비트 테이블(222a)에 소정의 규칙으로 구획된 섹션들 중에서, 상기 제2 위치 변수 (key2)와 대응되는 섹션에 저장된 제2 값(value)을 읽어 들인다. 다른 실시예에서, 산출부(212b)는 상기 제2 위치 변수 (key2)를 상기 비트 테이블(222a)의 주소로 활용하여, 제2 값(value)를 읽을 수 있다. 산출부(212b)는 다양한 방식으로, 상기 제2 위치 변수 (key2)와 대응되는 비트 테이블(222a)의 일부를 결정하고, 상기 비트 테이블(222a)의 일부, 지정 영역에 저장된 제2 결과 값(value2)을 읽을 수 있다.
산출부(212b)에 의해 획득된 제2 위치 변수 (key2)는 판단부(214b)로 전송될 수 있다. 판단부(214b)는 제2 위치 변수 (key2)를 이용하여 상기 입력 데이터의 유효성을 판단할 수 있다. 판단부(214b)는 제2 위치 변수 (key2)가 기 설정된 소정의 값과 일치하는지 여부를 판단함으로써, 입력 데이터의 유효성을 판단할 수 있다. 판단부(214b)는 제2 위치 변수 (key2)가 소정의 규칙에 따르거나 소정의 함수에 의해 유효 값(예를 들어, 1 또는 TRUE)을 출력하는 경우, 상기 제2 위치 변수 (key2)가 유효하다고 판단할 수 있다.
생성부(230b)는 판단부(214b)에 의한 판단 결과에 따라 상기 후보 데이터 또는 제2 위치 변수(key2)가 유효한 경우, 상기 후보 데이터를 최종 데이터로 결정할 수 있다. 산출부(212b)는 상기 위치 변수를 이용하여 상기 제1 규약과 연계된 비트 테이블(222a)의 특정 영역에 접근하고, 상기 특정 영역에 저장된 판별 데이터를 통해 상기 위치 변수 또는 후보 데이터의 유효성을 판단할 수 있다.
도 12는 타당성 판단 장치(200)에서 활용하는 넘버 테이블의 일 예이다.
도 12에 도시된 바와 같이, 넘버 테이블 p[]은 비트 테이블의 전체 크기인 400,000 이하의 소수 중에서 가장 큰 순서대로 소수 11개를 포함할 수 있다. 넘버 테이블 p[]은 비트 테이블의 전체 크기인 400,000 이하의 소수 중 아무거나 11개를 포함할 수도 있으나, 구별되는 위치 변수를 산출하기 위해서 가장 큰 순서대로 소수 11개를 포함할 수 있다.
도 13은 위치 변수 생성부를 구현한 명령문의 예시이다.
도 14에 도시된 바와 같이 위치 변수 생성부는 단어의 각 캐릭터 별로 위치 변수를 생성할 수 있다. 예를 들어, 단어 "/o2/f/e3"이라고 한다면, 위치 변수 생성부는 단어의 1번째 캐릭터인 '/'를 기초로 단어의 1번째 캐릭터인'/'의 위치 변수를 이용하여 A1의 영역에 접근할 수 있다.
단어의 2번째 캐릭터인 o와 대응되는 A2의 영역은 단어의 1번째와 대응되는 A1의 위치 변수를 기초로 산출될 수 있다.
단어의 3번째 캐릭터인 2와 대응되는 A3의 영역은 단어의 2번째와 대응되는 A2의 위치 변수를 기초로 산출될 수 있다.
단어의 4번째 캐릭터인 /과 대응되는 A4의 영역은 단어의 3번째와 대응되는 A3의 위치 변수를 기초로 산출될 수 있다.
단어의 5번째 캐릭터인 f와 대응되는 A5의 영역은 단어의 4번째와 대응되는 A4의 위치 변수를 기초로 산출될 수 있다.
단어의 6번째 캐릭터인 /와 대응되는 A6의 영역은 단어의 5번째와 대응되는 A5의 위치 변수를 기초로 산출될 수 있다.
상기와 같은 방식으로 단어의 7 내지 9번째 캐릭터인 e3/와 대응되는 영역들을 접근할 수 있다. 이렇게 단어의 모든 캐릭터들과 대응되는 영역들에 저장된 값이 모두 참('1')인 경우, 단어가 타당하다고 판단될 수 있다.
본 명세서에서 데이터 변환 장치 및 타당성 판단 장치는 하나의 장치 내에 포함될 수도 있고, 별개의 장치에 포함될 수 있다. 데이터 변환 장치 및 타당성 판단 장치는 사용자 입력의 응답하여 출력 데이터를 완성하는 기능을 수행하게 된다.
이상 설명된 본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
본 발명의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
본 발명은 제한된 영역을 활용한 데이터 변환 장치, 방법 및 컴퓨터 프로그램에 관한 것입니다.
본 발명의 실시예들은 비트 테이블을 활용하여 입력 단어의 타당성 판단 장치, 방법 및 컴퓨터 프로그램에 관한 것이다.
Claims (13)
- 데이터 변환 장치가 입력 데이터를 수신하는 단계;상기 입력 데이터를 스트링(string) 단위로 판독하여 상기 입력 데이터에 해당하는 제1 규약을 결정하고, 상기 제1 규약에 의한 인덱스 테이블을 읽어 들여 상기 입력 데이터를 변환하는 단계;변환한 결과를 고려하여 상기 입력 데이터와 대응되되, 구조적으로 변환된 후보 데이터를 생성하는 단계;상기 후보 데이터를 상기 제1 규약에 따른 변환 알고리즘에 따라 검색 키를 산출하는 단계;상기 검색 키를 이용하여 상기 후보 데이터의 유효성을 판단하는 단계;를 포함하는, 데이터 변환 방법.
- 제1항에 있어서,상기 검색 키의 유효성을 판단하는 단계는상기 검색 키를 이용하여 상기 제1 규약과 연계된 판별 영역의 특정 영역에 접근하고, 상기 특정 영역에 저장된 판별 데이터를 통해 상기 후보 데이터의 유효성을 판단하는, 데이터 변환 방법.
- 제2항에 있어서,상기 검색 키가 유효한 경우, 상기 판별 데이터에 따라 상기 제2 규약과 다른 규약으로 작성된 상기 입력 데이터의 최종 데이터를 결정하는 단계;를 더 포함하는, 데이터 변환 방법.
- 제4항에 있어서,상기 제1 규약에 따른 변환 알고리즘은상기 판별 영역이 차지하는 정도를 고려하여 복수의 스텝으로 구성될 수 있는, 데이터 변환 방법.
- 제3항에 있어서,상기 입력 데이터를 수신하는 단계 이전에,상기 제2 규약을 이용하는데 필요한 표준 데이터를 기준으로 판별 데이터를 생성하는 단계;를 더 포함하는, 데이터 변환 방법.
- 제2항에 있어서,상기 최종 데이터는상기 제2 규약에 의해 해독되는 형식으로 구성되며, 상기 입력 데이터와 동일한 데이터로 판독되는 데이터인, 데이터 변환 방법.
- 제2항에 있어서,상기 제1 규약에 의해 작성된 입력 데이터는시각 또는 청각으로 출력되도록 구현된 데이터일 수 있는, 데이터 변환 방법.
- 제2항에 있어서,상기 제2 규약으로 해독되는 최종 데이터는촉각으로 출력되도록 구현된 데이터일 수 있는, 데이터 변환 방법.
- 입력 데이터를 수신하고, 상기 입력 데이터를 스트링(string) 단위로 판독하여 상기 입력 데이터에 해당하는 제1 규약을 결정하고, 상기 제1 규약에 의한 인덱스 테이블을 읽어 들여 상기 입력 데이터를 변환하는 변환부;변환한 결과를 고려하여 상기 입력 데이터와 대응되되, 구조적으로 변환된 후보 데이터를 생성하고, 상기 후보 데이터를 상기 제1 규약에 따른 변환 알고리즘에 따라 검색 키를 산출하는 산출부;상기 검색 키를 이용하여 상기 후보 데이터의 유효성을 판단하는 판단부;를 포함하는, 데이터 변환 장치.
- 제9항에 있어서,상기 산출부는상기 검색 키를 이용하여 상기 제1 규약과 연계된 판별 영역의 특정 영역에 접근하고, 상기 특정 영역에 저장된 판별 데이터를 통해 상기 후보 데이터의 유효성을 판단하는, 데이터 변환 장치.
- 제10항에 있어서,상기 검색 키가 유효한 경우, 상기 판별 데이터에 따라 상기 제2 규약과 다른 규약으로 작성된 상기 입력 데이터의 최종 데이터를 결정하는 생성부;를 더 포함하는, 데이터 변환 장치.
- 제11항에 있어서,상기 제1 규약에 따른 변환 알고리즘은상기 판별 영역이 차지하는 정도를 고려하여 복수의 스텝으로 구성될 수 있는, 데이터 변환 장치.
- 컴퓨터를 이용하여 제1항 및 제8항 중 어느 한 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 매체에 저장된 컴퓨터 프로그램.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160160000A KR102016601B1 (ko) | 2016-11-29 | 2016-11-29 | 제한된 영역을 활용한 데이터 변환 장치, 방법 및 컴퓨터 프로그램 |
KR10-2016-0160000 | 2016-11-29 | ||
KR10-2017-0026473 | 2017-02-28 | ||
KR1020170026473A KR101954865B1 (ko) | 2017-02-28 | 2017-02-28 | 비트 테이블을 활용하여 입력 단어의 타당성 판단 장치, 방법 및 컴퓨터 프로그램 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018101735A1 true WO2018101735A1 (ko) | 2018-06-07 |
Family
ID=62242694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2017/013800 WO2018101735A1 (ko) | 2016-11-29 | 2017-11-29 | 제한된 영역을 활용한 데이터 변환 장치, 방법 및 컴퓨터 프로그램 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2018101735A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0589174A (ja) * | 1991-09-30 | 1993-04-09 | N T T Data Tsushin Kk | 辞書検索方法 |
JPH11110488A (ja) * | 1997-10-02 | 1999-04-23 | Ricoh Co Ltd | 文字認識方法および記録媒体 |
KR20020053988A (ko) * | 2000-12-26 | 2002-07-06 | 민지홍 | 휴대용 점자 출력장치 및 방법 |
KR20130076876A (ko) * | 2010-10-27 | 2013-07-08 | 애플 인크. | 언어 로캘에 기초한 인덱싱 및 검색 방법 |
KR20150033735A (ko) * | 2012-12-06 | 2015-04-01 | 라쿠텐 인코포레이티드 | 단어 분할 장치, 단어 분할 방법 및 단어 분할 프로그램 |
-
2017
- 2017-11-29 WO PCT/KR2017/013800 patent/WO2018101735A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0589174A (ja) * | 1991-09-30 | 1993-04-09 | N T T Data Tsushin Kk | 辞書検索方法 |
JPH11110488A (ja) * | 1997-10-02 | 1999-04-23 | Ricoh Co Ltd | 文字認識方法および記録媒体 |
KR20020053988A (ko) * | 2000-12-26 | 2002-07-06 | 민지홍 | 휴대용 점자 출력장치 및 방법 |
KR20130076876A (ko) * | 2010-10-27 | 2013-07-08 | 애플 인크. | 언어 로캘에 기초한 인덱싱 및 검색 방법 |
KR20150033735A (ko) * | 2012-12-06 | 2015-04-01 | 라쿠텐 인코포레이티드 | 단어 분할 장치, 단어 분할 방법 및 단어 분할 프로그램 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018074681A1 (ko) | 전자 장치 및 그 제어 방법 | |
WO2019143022A1 (ko) | 음성 명령을 이용한 사용자 인증 방법 및 전자 장치 | |
WO2018034552A1 (en) | Language translation device and language translation method | |
WO2019112342A1 (en) | Voice recognition apparatus and operation method thereof cross-reference to related application | |
EP3039531A1 (en) | Interactive system, display apparatus, and controlling method thereof | |
WO2020159140A1 (ko) | 전자 장치 및 이의 제어 방법 | |
WO2019209040A1 (en) | Multi-models that understand natural language phrases | |
WO2019135631A1 (ko) | 데이터를 난독화 및 복호화 하는 전자 장치 및 그의 제어 방법 | |
WO2019139420A1 (ko) | 전자 장치, 서버 및 그 제어 방법 | |
WO2023128342A1 (ko) | 동형 암호화된 음성을 이용한 개인 식별 방법 및 시스템 | |
WO2023128345A1 (ko) | 동형 암호화된 이미지를 이용한 개인 식별 방법 및 시스템 | |
WO2022255529A1 (ko) | 머신 러닝 기반의 립싱크 영상 생성을 위한 학습 방법 및 이를 수행하기 위한 립싱크 영상 생성 장치 | |
WO2016200058A1 (ko) | 바이너리 병합 장치, 방법 및 컴퓨터 프로그램 | |
WO2018101735A1 (ko) | 제한된 영역을 활용한 데이터 변환 장치, 방법 및 컴퓨터 프로그램 | |
WO2021221256A1 (ko) | 전자 장치 및 그의 제어 방법 | |
WO2021071271A1 (en) | Electronic apparatus and controlling method thereof | |
WO2020166855A1 (en) | Electronic device and control method thereof | |
WO2020149555A1 (ko) | 암호화될 데이터의 정보량에 기반하여 암호화에 사용될 키를 선택하는 전자 장치 및 전자 장치의 동작 방법 | |
WO2019151667A1 (ko) | 자동 응답 시스템으로 개인 정보를 전송하기 위한 장치 및 방법 | |
WO2019143161A1 (en) | Electronic device and search keyword processing method thereof | |
WO2017131251A1 (ko) | 디스플레이 디바이스 및 그의 터치 입력 프로세싱 방법 | |
WO2019074240A1 (ko) | 서버, 서버의 제어 방법 및 단말 장치 | |
WO2017043715A1 (en) | Server, user terminal, and method for controlling server and user terminal | |
WO2019164196A1 (ko) | 문자를 인식하기 위한 전자 장치 및 방법 | |
WO2018169323A1 (ko) | 전자 장치 및 그의 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17875869 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17875869 Country of ref document: EP Kind code of ref document: A1 |