USRE38890E1 - Device for converting data using look-up tables - Google Patents

Device for converting data using look-up tables Download PDF

Info

Publication number
USRE38890E1
USRE38890E1 US09/457,848 US45784899A USRE38890E US RE38890 E1 USRE38890 E1 US RE38890E1 US 45784899 A US45784899 A US 45784899A US RE38890 E USRE38890 E US RE38890E
Authority
US
United States
Prior art keywords
data
converting
addresses
address
memory device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US09/457,848
Inventor
Lee-wha Jung
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority to US09/457,848 priority Critical patent/USRE38890E1/en
Application granted granted Critical
Publication of USRE38890E1 publication Critical patent/USRE38890E1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/6016Conversion to subtractive colour signals
    • H04N1/6019Conversion to subtractive colour signals using look-up tables
    • G06T5/92

Definitions

  • the present invention relates to a data converting device for converting input data such as image data or voice data according to a user's request, and more particularly, to a data converting device for converting data by employing a multitude of look-up-tables (LUTs) composed of converting data corresponding to input data.
  • LUTs look-up-tables
  • an LUT for compensating each image characteristic, defined by each compensation mode has to be stored in a discrete ROM.
  • three memory devices are needed for storing three kinds of LUTs.
  • FIG. 1 is a block diagram showing a data converting device using LUTs in a conventional color printer.
  • First, second and third ROMs 12 , 14 and 16 are memory devices for storing LUT data for each converting mode.
  • First, second and third latches 11 , 13 and 15 latch the data input to each latch so as to output the latched data in accordance with a clock signal.
  • First and second delays 17 and 18 generate a delayed clock signal for controlling latches 13 and 15 connected to the output of ROMs 12 and 14 respectively.
  • first latch 11 latches input data 101 and outputs the latched data to first ROM 12 in accordance with clock signal 110 .
  • Output data 102 from first latch 11 serves as a lower address of first ROM 12 .
  • First condition data 107 determines a converting level with respect to the LUT stored in first ROM 12 and serves as an upper address of first ROM 12 . That is, an address for accessing first ROM 12 consists of a lower address, i.e., output data 102 of first latch 11 , and an upper address, i.e., first condition data 107 .
  • Data 103 output from first ROM 12 is data which is converted by a first LUT according to input data 101 and first condition data 107 .
  • a first delay 17 delays clock signal 110 by a time period equal to the time delay between the input and output of first ROM 12 and generates the delayed clock signal 111 to be output to second latch 13 .
  • Second latch 13 connected to an output of first ROM 12 outputs to second ROM 14 the latched data 103 output from first ROM 12 according to the delayed clock signal 111 .
  • An address for accessing second ROM 14 consists of a lower address, i.e., output data 104 of second latch 13 , and an upper address, i.e., second condition data 108 .
  • Data 105 output from second ROM 14 is data which is secondly converted by a second LUT according to second condition data 108 and data 104 which is firstly converted by the first LUT.
  • Second delay 18 , third latch 15 and third ROM 16 operate as described above. Then, the data 113 thirdly converted by a third LUT of third ROM 16 according to the secondly converted data 106 and third condition data 109 is finally output.
  • the first LUT consists of 256 byte (256 ⁇ 8 bits) data by steps, and the first condition data consists of 2-bit data for representing the four steps.
  • FIG. 2A to FIG. 2C illustrate the data structure of the ROM employed for the conventional data converting device.
  • Each LUT can compensate data in accordance with four steps in each converting mode, and the memory capacity of each ROM is divided into four regions, and converting data in accordance with each step is stored in each divided region.
  • the conventional data converting device connects in series a number of ROMs equal to the number of the required LUTs and sequentially reads LUT data stored in each ROM, to thereby perform a data conversion.
  • a plurality of devices included in the peripheral control circuitry of ROMs can be miniaturized into a single chip such as an application specific integrated circuit (ASIC), but ROMs for storing LUTs are not included in an ASIC, in consideration of any necessary modification of ROM contents.
  • ASIC application specific integrated circuit
  • a data converting device for generating, with reference to two or more LUTs sequentially, a converted output data corresponding to input data and converting level selected by each LUT, the data converting device comprising:
  • FIG. 1 is a block diagram showing the constitution of the conventional data converting device
  • FIG. 2A to FIG. 2C are data structure diagrams of the ROMs shown in FIG. 1 ;
  • FIG. 3 is a data structure diagram of a ROM applied to the present invention.
  • FIG. 4 is a block diagram of a data converting device of the present invention.
  • FIG. 5 is a detailed block diagram of the data converting device shown in FIG. 4 ;
  • FIG. 6A to FIG. 6I are timing diagrams for illustrating the operation of the data converting device shown in FIG. 5 .
  • FIG. 3 is a data structure diagram of a ROM applied to the present invention.
  • the entire memory capacity of a memory device is divided into blocks corresponding to the number of LUTs required for the kinds of converting modes, and a memory capacity of each divided block is divided into sub-blocks corresponding to the number of conversion levels of the corresponding LUT. Converting data is stored in the divided blocks and sub-blocks according to the corresponding converting mode and conversion level.
  • An embodiment of the present invention governs the case where the input data is image data consisting of eight bits, and each LUT is defined by a converting mode (for example, brightness, contrast, etc.) for controlling image quality, and the image quality can be controlled by four conversion levels in each converting mode.
  • a converting mode for example, brightness, contrast, etc.
  • the memory capacity of the blocks and the sub-blocks of a memory device can be divided appropriately.
  • the memory blocks for each LUT can be divided into equal capacities or can be variably divided for an efficient use of memory capacity. For the latter case, a problem in data accessing caused by a variable constitution of memory capacity has to be considered.
  • LUT data stored in a memory device includes various converting data required for the apparatus to which the present invention is applied, for example, audio or temperature compensation data as well as image compensation data.
  • FIG. 4 is a block diagram of a data converting device of the present invention.
  • the data converting device comprises a ROM 49 for storing a plurality of LUTs in the format shown in FIG. 3 , a first address generator 45 for generating a first address 453 for sequentially selecting an LUT according to a converting mode, a second address generator 43 for generating a second address 433 for selecting a sub-block in the LUT selected by first address 453 according to a conversion level, a third address generator 41 for generating a third address 413 for selecting converting data in the sub-block selected by first and second addresses 453 and 433 , and a sync controller 47 for generating a sync signal 473 for synchronizing first, second and third addresses 453 , 433 and 413 input to ROM 49 .
  • a clock signal 451 is a pulse signal whose period equals the time interval between the input of single input data 411 and the output of the data finally converted by all LUTs stored in ROM 49 .
  • Clock signal 451 is synchronized with input data 411 and input to first address generator 45 and sync controller 47 to thereby synchronize addresses 453 , 433 and 413 for accessing ROM 49 .
  • First address generator 45 receives clock signal 451 and generates first address 453 for sequentially selecting the desired LUT stored in ROM 49 .
  • Second address generator 43 generates, according to condition data 431 for determining a conversion level defined for each LUT, second address 433 for selecting a sub-block within the LUT selected by first address 453 .
  • Third address generator 41 receives input data 411 and feedback output data 493 and generates third address 413 for selecting converting data within the selected sub-block. In other words, input data 411 is generated as third address 413 when data is converted by the first LUT, and the feedback output data 493 is generated as third address 413 for other cases. Accordingly, an address for accessing the data of ROM 49 has the order of first, second and third addresses 453 , 433 and 413 .
  • FIG. 5 is a detailed block diagram of the data converting device shown in FIG. 4 . This embodiment is for the case where three LUTs are stored in ROM 59 .
  • a first address generator 51 comprises a counter 551 for generating four pulses during one cycle of the input clock signal 561 .
  • the generated signal 550 is output to ROM 59 , a second MUX 531 and a decoder 515 .
  • a second address generator 53 comprises a second MUX 531 having a three-to-one multiplexer for selecting and outputting one among three types of condition data 541 , 542 and 543 according to pulse signal 550 input from counter 551 and a second latch 532 for latching data 545 output from second MUX 531 and outputting the latched data to ROM 59 according to sync signal 570 .
  • a third address generator 51 comprises a decoder 515 for generating the signal 525 for controlling first MUX 511 according to pulse signal 550 input from counter 551 , a first MUX 511 made up of a two-to-one multiplexer where input data 521 and the feedback output data 590 are input for selecting and outputting one of the input signals 521 and 590 according to control signal 525 generated from decoder 515 , and a first latch 513 for latching data 523 output from first MUX 511 and outputting the latched data to ROM 59 according to sync signal 570 .
  • a sync controller 57 comprises first, second and third delays 571 , 572 and 573 for outputting clock signal 561 which is delayed by a delay time determined by the data access time of ROM 59 , and an OR gate 575 for performing a logical OR operation on clock signal 561 and the delayed signals 582 , 583 and 584 and thereby generating sync signal 570 .
  • the generated sync signal 570 is input to second latch 532 of second address generator 53 and first latch 513 of third address generator 51 .
  • FIG. 6A to FIG. 6I illustrate the operational timing of the data converting device shown in FIG. 5 . Operation of the device will be explained according to a time sequence and with reference to the reference numerals of FIG. 5 .
  • FIG. 6A illustrates a waveform of clock signal 561
  • 6 B illustrates a waveform of input data signal 521
  • 6 C illustrates a waveform of sync signal 570
  • 6 D illustrates a waveform of first address signal 550 output from counter 551
  • 6 E illustrates a waveform of third address signal 510 output from first latch 513
  • 6 F illustrates a waveform of second address signal 530 output from second latch 532
  • 6 G illustrates a waveform of output signal 582 of first delay 571
  • 6 H illustrates a waveform of output signal 583 of second delay 572
  • 6 I illustrates a waveform of output signal 584 of third delay 573 .
  • Sync signal 570 is generated by performing a logical OR operation on clock signal 561 and the first, second and third delay signals 582 , 583 and 584 which are delayed by a predetermined time with respect to clock signal 561 .
  • Four pulses are generated during one cycle of input data signal 521 and are employed for synchronization with addresses input to ROM 59 .
  • Counter 551 outputs first address signal 550 for accessing the first LUT of ROM 59 according to the clock signal.
  • Second MUX 531 selects first condition data 541 with respect to a conversion level of the first LUT and outputs the selected data to second latch 532 .
  • the latched data is output as second address signal 530 for addressing ROM 59 .
  • Decoder 515 generates a control signal that makes first MUX 511 select input data 521 , and first MUX 511 selects input data 521 according to the control signal of decoder 515 and outputs the result to first latch 513 , and the latched data is output as third address signal 510 for accessing ROM 59 .
  • data of the first LUT of ROM 59 is accessed by the first, second and third address signals 550 , 530 and 510 , and the input data is converted by the first LUT and the first-converted data is fed back and is input to first MUX 511 .
  • Counter 551 outputs first address signal 550 for accessing the second LUT of ROM 59 according to the clock signal.
  • Second MUX 531 selects second condition data 541 with respect to a conversion level of the second LUT and outputs the selected data to second latch 532 .
  • the latched data is output as second address signal 530 for accessing ROM 59 .
  • Decoder 515 generates a control signal that makes first MUX 511 select the feedback first-converted data 590 , and first MUX 511 selects the feedback first-converted data 590 according to the control signal of decoder 515 and outputs the result to first latch 513 , and the latched data is output as third address signal 510 for accessing ROM 59 . Accordingly, data of the second LUT of ROM 59 is accessed by the first, second and third address signals 550 , 530 and 510 , and the feedback first-converted data is converted by the second LUT and the second-converted data is fed back and is input to first MUX 511 .
  • Operation during a third cycle of sync signal 570 is the same as that during the second cycle of the sync signal.
  • Data of a third LUT of ROM 59 is accessed by first, second and third address signals 550 , 530 and 510 , and the feedback second-converting data is converted by the third LUT and the third-converted data is fed back and is input to first MUX 511 .
  • first MUX 511 selects the feedback third-converted data 590 and outputs the selected data to first latch 513 .
  • the latched data is output as finally converted data 510 .
  • input data is sequentially converted by all LUTs during one clock cycle, to thereby generate final output data. Accordingly, when the number of LUTs for data conversion is increased, output data is fed back so as to convert data through all LUTs. Therefore, the clock cycle is increased in proportion to the delay time of the ROM. However, such a problem can be solved by reducing the access time of the ROM.
  • a plurality of LUTs are stored in a single memory device and a data converting device adopting the same is provided, so that the data converting device can be miniaturized by reducing the bulk of the memory device.

Abstract

A data converting device for converting data by employing a plurality of LUTs stored in a single memory device. The device generates, with reference to two or more LUTs sequentially, a converted output data corresponding to input data and converting level selected by each LUT. The data converting device has a single memory device for storing two or more LUTs corresponding to the number of data converting modes by block units, each block including a plurality of sub-LUTs corresponding to the number of converting levels defined in each corresponding converting mode. The device also has an address generator for generating an address for accessing the memory device by an input data, by the data selected among the output data read from the memory device and by the data for selecting a converting level in each converting mode, the address being generated repeatedly a number of times which corresponds to the number of LUTs stored in the memory device, to thereby minimize the bulk of the memory device, and thus enable the miniaturization of the data converting device.

Description

BACKGROUND OF THE INVENTION
The present invention relates to a data converting device for converting input data such as image data or voice data according to a user's request, and more particularly, to a data converting device for converting data by employing a multitude of look-up-tables (LUTs) composed of converting data corresponding to input data.
In the conventional image output apparatus such as a color printer or facsimile, when image quality is compensated for brightness, contrast or tint by employing LUTs, an LUT for compensating each image characteristic, defined by each compensation mode, has to be stored in a discrete ROM. For example, when image quality is compensated by three kinds of compensation modes, three memory devices are needed for storing three kinds of LUTs.
FIG. 1 is a block diagram showing a data converting device using LUTs in a conventional color printer. First, second and third ROMs 12, 14 and 16 are memory devices for storing LUT data for each converting mode. First, second and third latches 11, 13 and 15 latch the data input to each latch so as to output the latched data in accordance with a clock signal. First and second delays 17 and 18 generate a delayed clock signal for controlling latches 13 and 15 connected to the output of ROMs 12 and 14 respectively.
When input data 101 is input periodically, first latch 11 latches input data 101 and outputs the latched data to first ROM 12 in accordance with clock signal 110. Output data 102 from first latch 11 serves as a lower address of first ROM 12. First condition data 107 determines a converting level with respect to the LUT stored in first ROM 12 and serves as an upper address of first ROM 12. That is, an address for accessing first ROM 12 consists of a lower address, i.e., output data 102 of first latch 11, and an upper address, i.e., first condition data 107. Data 103 output from first ROM 12 is data which is converted by a first LUT according to input data 101 and first condition data 107.
A first delay 17 delays clock signal 110 by a time period equal to the time delay between the input and output of first ROM 12 and generates the delayed clock signal 111 to be output to second latch 13. Second latch 13 connected to an output of first ROM 12 outputs to second ROM 14 the latched data 103 output from first ROM 12 according to the delayed clock signal 111. An address for accessing second ROM 14 consists of a lower address, i.e., output data 104 of second latch 13, and an upper address, i.e., second condition data 108. Data 105 output from second ROM 14 is data which is secondly converted by a second LUT according to second condition data 108 and data 104 which is firstly converted by the first LUT.
Second delay 18, third latch 15 and third ROM 16 operate as described above. Then, the data 113 thirdly converted by a third LUT of third ROM 16 according to the secondly converted data 106 and third condition data 109 is finally output.
The relationship between first, second and third condition data 107, 108 and 109 and the LUTs stored in first, second and third ROMs 12, 14 and 16 can be explained as follows. First condition data 107 determines a conversion level with respect to the converting mode of the first LUT and is generally given by a user. For example, if input data is 8-bit image data, the first LUT stored in first ROM 12 is for controlling the brightness level of an image, and the brightness level can be controlled by four steps, the number of input data is 28=256, that is, from 0 to 255. The first LUT consists of 256 byte (256×8 bits) data by steps, and the first condition data consists of 2-bit data for representing the four steps.
FIG. 2A to FIG. 2C illustrate the data structure of the ROM employed for the conventional data converting device. Each LUT can compensate data in accordance with four steps in each converting mode, and the memory capacity of each ROM is divided into four regions, and converting data in accordance with each step is stored in each divided region.
As described above, the conventional data converting device connects in series a number of ROMs equal to the number of the required LUTs and sequentially reads LUT data stored in each ROM, to thereby perform a data conversion. In general, a plurality of devices included in the peripheral control circuitry of ROMs can be miniaturized into a single chip such as an application specific integrated circuit (ASIC), but ROMs for storing LUTs are not included in an ASIC, in consideration of any necessary modification of ROM contents.
Accordingly, device miniaturization is restricted and the volume of the required hardware and manufacturing cost are increased since memory devices are needed in accordance with the number of LUTs according to the kinds of converting modes.
SUMMARY OF THE INVENTION
Accordingly, it is an object of the present invention to provide a data converting device for storing a multitude of LUTs in a single memory device to convert data.
To accomplish the above object, there is provided a data converting device for generating, with reference to two or more LUTs sequentially, a converted output data corresponding to input data and converting level selected by each LUT, the data converting device comprising:
    • a single memory device for storing two or more LUTs corresponding to the number of data converting modes by block units, each block including a plurality of sub-LUTs corresponding to the number of converting levels defined in each corresponding converting mode; and
    • an address generator for generating an address for accessing the memory device by an input data, the data selected among the output data read from the memory device and the data for selecting converting level in each converting mode, the address being generated repeatedly a number of times corresponding to the number of LUTs stored in the memory device.
BRIEF DESCRIPTION OF THE DRAWINGS
The above objects and other advantages of the present invention will become more apparent by describing in detail a preferred embodiment thereof with reference to the attached drawings in which:
FIG. 1 is a block diagram showing the constitution of the conventional data converting device;
FIG. 2A to FIG. 2C are data structure diagrams of the ROMs shown in FIG. 1;
FIG. 3 is a data structure diagram of a ROM applied to the present invention;
FIG. 4 is a block diagram of a data converting device of the present invention;
FIG. 5 is a detailed block diagram of the data converting device shown in FIG. 4; and
FIG. 6A to FIG. 6I are timing diagrams for illustrating the operation of the data converting device shown in FIG. 5.
DETAILED DESCRIPTION OF THE INVENTION
FIG. 3 is a data structure diagram of a ROM applied to the present invention.
The entire memory capacity of a memory device is divided into blocks corresponding to the number of LUTs required for the kinds of converting modes, and a memory capacity of each divided block is divided into sub-blocks corresponding to the number of conversion levels of the corresponding LUT. Converting data is stored in the divided blocks and sub-blocks according to the corresponding converting mode and conversion level.
An embodiment of the present invention governs the case where the input data is image data consisting of eight bits, and each LUT is defined by a converting mode (for example, brightness, contrast, etc.) for controlling image quality, and the image quality can be controlled by four conversion levels in each converting mode.
In applying the present invention, if the number of bits of input data, the kinds of converting modes and the number of conversion levels are different from those of the embodiment of the present invention, the memory capacity of the blocks and the sub-blocks of a memory device can be divided appropriately. In addition, if the memory capacity occupied by each LUT is different, the memory blocks for each LUT can be divided into equal capacities or can be variably divided for an efficient use of memory capacity. For the latter case, a problem in data accessing caused by a variable constitution of memory capacity has to be considered.
In addition, LUT data stored in a memory device includes various converting data required for the apparatus to which the present invention is applied, for example, audio or temperature compensation data as well as image compensation data.
FIG. 4 is a block diagram of a data converting device of the present invention. The data converting device comprises a ROM 49 for storing a plurality of LUTs in the format shown in FIG. 3, a first address generator 45 for generating a first address 453 for sequentially selecting an LUT according to a converting mode, a second address generator 43 for generating a second address 433 for selecting a sub-block in the LUT selected by first address 453 according to a conversion level, a third address generator 41 for generating a third address 413 for selecting converting data in the sub-block selected by first and second addresses 453 and 433, and a sync controller 47 for generating a sync signal 473 for synchronizing first, second and third addresses 453, 433 and 413 input to ROM 49.
A clock signal 451 is a pulse signal whose period equals the time interval between the input of single input data 411 and the output of the data finally converted by all LUTs stored in ROM 49. Clock signal 451 is synchronized with input data 411 and input to first address generator 45 and sync controller 47 to thereby synchronize addresses 453, 433 and 413 for accessing ROM 49.
First address generator 45 receives clock signal 451 and generates first address 453 for sequentially selecting the desired LUT stored in ROM 49. Second address generator 43 generates, according to condition data 431 for determining a conversion level defined for each LUT, second address 433 for selecting a sub-block within the LUT selected by first address 453. Third address generator 41 receives input data 411 and feedback output data 493 and generates third address 413 for selecting converting data within the selected sub-block. In other words, input data 411 is generated as third address 413 when data is converted by the first LUT, and the feedback output data 493 is generated as third address 413 for other cases. Accordingly, an address for accessing the data of ROM 49 has the order of first, second and third addresses 453, 433 and 413.
FIG. 5 is a detailed block diagram of the data converting device shown in FIG. 4. This embodiment is for the case where three LUTs are stored in ROM 59.
A first address generator 51 comprises a counter 551 for generating four pulses during one cycle of the input clock signal 561. The generated signal 550 is output to ROM 59, a second MUX 531 and a decoder 515.
A second address generator 53 comprises a second MUX 531 having a three-to-one multiplexer for selecting and outputting one among three types of condition data 541, 542 and 543 according to pulse signal 550 input from counter 551 and a second latch 532 for latching data 545 output from second MUX 531 and outputting the latched data to ROM 59 according to sync signal 570.
A third address generator 51 comprises a decoder 515 for generating the signal 525 for controlling first MUX511 according to pulse signal 550 input from counter 551, a first MUX 511 made up of a two-to-one multiplexer where input data 521 and the feedback output data 590 are input for selecting and outputting one of the input signals 521 and 590 according to control signal 525 generated from decoder 515, and a first latch 513 for latching data 523 output from first MUX 511 and outputting the latched data to ROM 59 according to sync signal 570.
A sync controller 57 comprises first, second and third delays 571, 572 and 573 for outputting clock signal 561 which is delayed by a delay time determined by the data access time of ROM 59, and an OR gate 575 for performing a logical OR operation on clock signal 561 and the delayed signals 582, 583 and 584 and thereby generating sync signal 570. The generated sync signal 570 is input to second latch 532 of second address generator 53 and first latch 513 of third address generator 51.
FIG. 6A to FIG. 6I illustrate the operational timing of the data converting device shown in FIG. 5. Operation of the device will be explained according to a time sequence and with reference to the reference numerals of FIG. 5.
FIG. 6A illustrates a waveform of clock signal 561, 6B illustrates a waveform of input data signal 521, 6C illustrates a waveform of sync signal 570, 6D illustrates a waveform of first address signal 550 output from counter 551, 6E illustrates a waveform of third address signal 510 output from first latch 513, 6F illustrates a waveform of second address signal 530 output from second latch 532, 6G illustrates a waveform of output signal 582 of first delay 571, 6H illustrates a waveform of output signal 583 of second delay 572, and 6I illustrates a waveform of output signal 584 of third delay 573.
Sync signal 570 is generated by performing a logical OR operation on clock signal 561 and the first, second and third delay signals 582, 583 and 584 which are delayed by a predetermined time with respect to clock signal 561. Four pulses are generated during one cycle of input data signal 521 and are employed for synchronization with addresses input to ROM 59.
Operation during a first cycle of sync signal 570 can be explained as follows. Counter 551 outputs first address signal 550 for accessing the first LUT of ROM 59 according to the clock signal. Second MUX 531 selects first condition data 541 with respect to a conversion level of the first LUT and outputs the selected data to second latch 532. The latched data is output as second address signal 530 for addressing ROM 59. Decoder 515 generates a control signal that makes first MUX 511 select input data 521, and first MUX 511 selects input data 521 according to the control signal of decoder 515 and outputs the result to first latch 513, and the latched data is output as third address signal 510 for accessing ROM 59. Accordingly, data of the first LUT of ROM 59 is accessed by the first, second and third address signals 550, 530 and 510, and the input data is converted by the first LUT and the first-converted data is fed back and is input to first MUX 511.
Operation during a second cycle of sync signal 570 can be explained as follows. Counter 551 outputs first address signal 550 for accessing the second LUT of ROM 59 according to the clock signal. Second MUX 531 selects second condition data 541 with respect to a conversion level of the second LUT and outputs the selected data to second latch 532. The latched data is output as second address signal 530 for accessing ROM 59. Decoder 515 generates a control signal that makes first MUX 511 select the feedback first-converted data 590, and first MUX 511 selects the feedback first-converted data 590 according to the control signal of decoder 515 and outputs the result to first latch 513, and the latched data is output as third address signal 510 for accessing ROM 59. Accordingly, data of the second LUT of ROM 59 is accessed by the first, second and third address signals 550, 530 and 510, and the feedback first-converted data is converted by the second LUT and the second-converted data is fed back and is input to first MUX 511.
Operation during a third cycle of sync signal 570 is the same as that during the second cycle of the sync signal. Data of a third LUT of ROM 59 is accessed by first, second and third address signals 550, 530 and 510, and the feedback second-converting data is converted by the third LUT and the third-converted data is fed back and is input to first MUX 511.
During a fourth cycle of the sync signal, first MUX 511 selects the feedback third-converted data 590 and outputs the selected data to first latch 513. The latched data is output as finally converted data 510.
According to the present invention, input data is sequentially converted by all LUTs during one clock cycle, to thereby generate final output data. Accordingly, when the number of LUTs for data conversion is increased, output data is fed back so as to convert data through all LUTs. Therefore, the clock cycle is increased in proportion to the delay time of the ROM. However, such a problem can be solved by reducing the access time of the ROM.
As described above, a plurality of LUTs are stored in a single memory device and a data converting device adopting the same is provided, so that the data converting device can be miniaturized by reducing the bulk of the memory device.

Claims (4)

1. A data converting device for generating output data converted corresponding to input data and a conversion level selected by look-up-tables (LUTs) with sequential reference to three or more LUTs, said data converting device comprising:
a single memory device for storing at least three LUTs corresponding to a number of data converting modes by block units, each of said block units including a plurality of sub-LUTs corresponding to a number of conversion levels defined in each corresponding conversion mode; and
an address generator for generating a series of addresses for accessing said memory device, a first address of said series of addresses being determined according to first conversion level data and input data, each address of said series of addresses following said first address being determined using corresponding conversion level data and data read out from one of said LUTs using a next previous address of said series of addresses, the number of addresses in said series being equal to the number of LUTs stored in said memory device, wherein a final address of said series of addresses indicates a location in said memory device where final output data is stored.
2. A data converting device according to claim 1, wherein said address generator comprises:
a first address generator for generating a first portion of each of said series of addresses to sequentially select an LUT stored in said memory device;
a second address generator for generating a second portion of each of said series of addresses to select a sub-LUT corresponding to the conversion level selected in the converting mode for said selected LUT;
a third address generator for receiving the output data read from said memory device, and for generating a third portion of each of said series of addresses for selecting converting data corresponding to said input data when said input data is converted according to a first converting mode and for selecting converting data corresponding to the output data read from said memory device when said input data is converted according to a converting mode which is other than said first converting mode; and
a sync signal generator for synchronizing said generated first, second and third addresses so as to access data in said memory device.
3. A data converting device for generating output data converted corresponding to input data and a conversion level selected by look-up-tables (LUTs) with sequential reference to two or more LUTs, said data converting device comprising:
a single memory device for storing at least two LUTs corresponding to a number of data converting modes by block units, each of said block units including a plurality of sub-LUTs corresponding to a number of conversion levels defined in each corresponding conversion mode; and
an address generator for generating a series of addresses for accessing said memory device, a first address of said series of addresses being determined according to first conversion level data and input data, each address of said series of addresses following said first address being determined using corresponding conversion level data and data read out from one of said LUTs using a next previous address of said series of addresses, the number of addresses in said series being less than or equal to the number of LUTs stored in said memory device, wherein a final address of said series of addresses indicates a location in said memory device where final output data is stored.
4. A data converting device according to claim 3, wherein said address generator comprises:
a first address generator for generating a first portion of each of said series of addresses to sequentially select an LUT stored in said memory device;
a second address generator for generating a second portion of each of said series of addresses to select a sub-LUT corresponding to the conversion level selected in the converting mode for said selected LUT;
a third address generator for receiving the output data read from said memory device, and for generating a third portion of each of said series of addresses for selecting converting data corresponding to said input data when said input data is converted according to a first converting mode and for selecting converting data corresponding to the output data read from said memory device when said input data is converted according to a converting mode which is other than said first converting mode; and
a sync signal generator for synchronizing said generated first, second and third addresses so as to access data in said memory device.
US09/457,848 1994-02-02 1999-12-09 Device for converting data using look-up tables Expired - Lifetime USRE38890E1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/457,848 USRE38890E1 (en) 1994-02-02 1999-12-09 Device for converting data using look-up tables

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1019940001919A KR0135846B1 (en) 1994-02-02 1994-02-02 Look up table device
US08/382,208 US5696941A (en) 1994-02-02 1995-02-01 Device for converting data using look-up tables
US09/457,848 USRE38890E1 (en) 1994-02-02 1999-12-09 Device for converting data using look-up tables

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US08/382,208 Reissue US5696941A (en) 1994-02-02 1995-02-01 Device for converting data using look-up tables

Publications (1)

Publication Number Publication Date
USRE38890E1 true USRE38890E1 (en) 2005-11-22

Family

ID=19376673

Family Applications (2)

Application Number Title Priority Date Filing Date
US08/382,208 Ceased US5696941A (en) 1994-02-02 1995-02-01 Device for converting data using look-up tables
US09/457,848 Expired - Lifetime USRE38890E1 (en) 1994-02-02 1999-12-09 Device for converting data using look-up tables

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US08/382,208 Ceased US5696941A (en) 1994-02-02 1995-02-01 Device for converting data using look-up tables

Country Status (8)

Country Link
US (2) US5696941A (en)
EP (1) EP0666684B1 (en)
JP (1) JP3217223B2 (en)
KR (1) KR0135846B1 (en)
CN (1) CN1154907C (en)
CA (1) CA2139972C (en)
DE (1) DE69515539T2 (en)
RU (1) RU2172018C2 (en)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0135846B1 (en) * 1994-02-02 1998-06-15 김광호 Look up table device
EP1315069A3 (en) * 2001-11-21 2009-11-25 Automsoft R & D Limited Date and time processing in computers
US20030101280A1 (en) * 2001-11-27 2003-05-29 Chiu Kenneth Y. Fast jump address algorithm
US7269615B2 (en) 2001-12-18 2007-09-11 Analog Devices, Inc. Reconfigurable input Galois field linear transformer system
US7082452B2 (en) * 2001-11-30 2006-07-25 Analog Devices, Inc. Galois field multiply/multiply-add/multiply accumulate
US7895253B2 (en) 2001-11-30 2011-02-22 Analog Devices, Inc. Compound Galois field engine and Galois field divider and square root engine and method
US7283628B2 (en) * 2001-11-30 2007-10-16 Analog Devices, Inc. Programmable data encryption engine
US7508937B2 (en) * 2001-12-18 2009-03-24 Analog Devices, Inc. Programmable data encryption engine for advanced encryption standard algorithm
US7681013B1 (en) 2001-12-31 2010-03-16 Apple Inc. Method for variable length decoding using multiple configurable look-up tables
US7034849B1 (en) 2001-12-31 2006-04-25 Apple Computer, Inc. Method and apparatus for image blending
US6931511B1 (en) * 2001-12-31 2005-08-16 Apple Computer, Inc. Parallel vector table look-up with replicated index element vector
US7467287B1 (en) 2001-12-31 2008-12-16 Apple Inc. Method and apparatus for vector table look-up
US7055018B1 (en) 2001-12-31 2006-05-30 Apple Computer, Inc. Apparatus for parallel vector table look-up
US6829694B2 (en) 2002-02-07 2004-12-07 Analog Devices, Inc. Reconfigurable parallel look up table system
JP2004041371A (en) 2002-07-10 2004-02-12 Canon Inc Ophthalmological device
KR100970621B1 (en) * 2003-05-26 2010-07-15 엘지전자 주식회사 Image compensation apparatus
CN100520874C (en) * 2004-08-03 2009-07-29 株式会社半导体能源研究所 Display device and method for driving same
US7512647B2 (en) 2004-11-22 2009-03-31 Analog Devices, Inc. Condensed Galois field computing system
US8024551B2 (en) * 2005-10-26 2011-09-20 Analog Devices, Inc. Pipelined digital signal processor
US8285972B2 (en) * 2005-10-26 2012-10-09 Analog Devices, Inc. Lookup table addressing system and method
US7728744B2 (en) * 2005-10-26 2010-06-01 Analog Devices, Inc. Variable length decoder system and method
KR100801016B1 (en) 2007-01-11 2008-02-04 삼성전자주식회사 Semiconductor device having correction prm generator and method thereof
US8301990B2 (en) * 2007-09-27 2012-10-30 Analog Devices, Inc. Programmable compute unit with internal register and bit FIFO for executing Viterbi code
JP6004806B2 (en) * 2012-07-23 2016-10-12 キヤノン株式会社 Information processing system
CN107977343B (en) * 2017-11-22 2021-07-06 广东工业大学 Data conversion system

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4528693A (en) * 1982-09-30 1985-07-09 International Business Machines Corporation Apparatus and method for scaling facsimile image data
US4688095A (en) * 1986-02-07 1987-08-18 Image Technology Incorporated Programmable image-transformation system
US4719503A (en) * 1986-06-18 1988-01-12 Rca Corporation Display processor with color matrixing circuitry and two map memories storing chrominance-only data
US4751446A (en) * 1985-12-06 1988-06-14 Apollo Computer, Inc. Lookup table initialization
US4833531A (en) * 1986-04-21 1989-05-23 Konishiroku Photo Industry Co., Ltd. Technique for interpolating a color image for image enlargement or reduction based on look-up tables stored in memory
US4849745A (en) * 1984-06-15 1989-07-18 Kabushiki Kaisha Toshiba Multiple memory image display apparatus
US4910685A (en) * 1983-09-09 1990-03-20 Intergraph Corporation Video circuit including a digital-to-analog converter in the monitor which converts the digital data to analog currents before conversion to analog voltages
US5109348A (en) * 1987-09-14 1992-04-28 Visual Information Technologies, Inc. High speed image processing computer
US5235432A (en) * 1991-11-22 1993-08-10 Creedon Brendan G Video-to-facsimile signal converter
US5249267A (en) * 1988-06-30 1993-09-28 Kabushiki Kaisha Toshiba Image processing apparatus and method
US5343335A (en) * 1992-08-26 1994-08-30 Sony Corporation Signal processing system having intersymbol-interference cancelling means and method of same
US5387985A (en) * 1993-12-17 1995-02-07 Xerox Corporation Non-integer image resolution conversion using statistically generated look-up tables
US5402181A (en) * 1991-04-01 1995-03-28 Jenison; Timothy P. Method and apparatus utilizing look-up tables for color graphics in the digital composite video domain
US5696941A (en) * 1994-02-02 1997-12-09 Samsung Electronics Co., Ltd. Device for converting data using look-up tables

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02100772A (en) * 1988-10-07 1990-04-12 Jeol Ltd Picture data processor
JP3083207B2 (en) * 1992-07-13 2000-09-04 京セラミタ株式会社 Image forming device

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4528693A (en) * 1982-09-30 1985-07-09 International Business Machines Corporation Apparatus and method for scaling facsimile image data
US4910685A (en) * 1983-09-09 1990-03-20 Intergraph Corporation Video circuit including a digital-to-analog converter in the monitor which converts the digital data to analog currents before conversion to analog voltages
US4849745A (en) * 1984-06-15 1989-07-18 Kabushiki Kaisha Toshiba Multiple memory image display apparatus
US4751446A (en) * 1985-12-06 1988-06-14 Apollo Computer, Inc. Lookup table initialization
US4688095A (en) * 1986-02-07 1987-08-18 Image Technology Incorporated Programmable image-transformation system
US4833531A (en) * 1986-04-21 1989-05-23 Konishiroku Photo Industry Co., Ltd. Technique for interpolating a color image for image enlargement or reduction based on look-up tables stored in memory
US4719503A (en) * 1986-06-18 1988-01-12 Rca Corporation Display processor with color matrixing circuitry and two map memories storing chrominance-only data
US5109348A (en) * 1987-09-14 1992-04-28 Visual Information Technologies, Inc. High speed image processing computer
US5249267A (en) * 1988-06-30 1993-09-28 Kabushiki Kaisha Toshiba Image processing apparatus and method
US5402181A (en) * 1991-04-01 1995-03-28 Jenison; Timothy P. Method and apparatus utilizing look-up tables for color graphics in the digital composite video domain
US5426468A (en) * 1991-04-01 1995-06-20 Jenison; Timothy P. Method and apparatus utilizing look-up tables for color graphics in the digital composite video domain
US5235432A (en) * 1991-11-22 1993-08-10 Creedon Brendan G Video-to-facsimile signal converter
US5343335A (en) * 1992-08-26 1994-08-30 Sony Corporation Signal processing system having intersymbol-interference cancelling means and method of same
US5387985A (en) * 1993-12-17 1995-02-07 Xerox Corporation Non-integer image resolution conversion using statistically generated look-up tables
US5696941A (en) * 1994-02-02 1997-12-09 Samsung Electronics Co., Ltd. Device for converting data using look-up tables

Also Published As

Publication number Publication date
KR0135846B1 (en) 1998-06-15
CN1119759A (en) 1996-04-03
US5696941A (en) 1997-12-09
RU2172018C2 (en) 2001-08-10
CA2139972C (en) 2005-06-07
DE69515539T2 (en) 2000-07-27
EP0666684A3 (en) 1996-06-05
CA2139972A1 (en) 1995-08-03
EP0666684B1 (en) 2000-03-15
KR950025515A (en) 1995-09-18
RU95101380A (en) 1996-11-27
CN1154907C (en) 2004-06-23
JPH07262081A (en) 1995-10-13
EP0666684A2 (en) 1995-08-09
DE69515539D1 (en) 2000-04-20
JP3217223B2 (en) 2001-10-09

Similar Documents

Publication Publication Date Title
USRE38890E1 (en) Device for converting data using look-up tables
US6166781A (en) Non-linear characteristic correction apparatus and method therefor
US5402181A (en) Method and apparatus utilizing look-up tables for color graphics in the digital composite video domain
EP0354480A2 (en) Display signal generator
US5123059A (en) Gradation converting circuit employing lookup table
KR950003981B1 (en) Display controller for flat display apparatus
US5270715A (en) Multichannel D/A converter
US4727423A (en) Video data processing circuit employing plural parallel-to-serial converters and look-up tables
US5022090A (en) Digital image processing apparatus for correctly addressing image memory
US4814877A (en) Image reading apparatus provided with correction for shadings in image data
US4991120A (en) Apparatus for interfacing video frame store with color display device
US5323438A (en) Programmable pulse-width modulation signal generator
US5053863A (en) Circuit for processing digital video signals
JPH04342364A (en) Image processor
US20020030651A1 (en) Display device and liquid crystal projector
US5289279A (en) Video signal data recoding method for standard memory components and apparatus for perfomring the method
KR100319878B1 (en) Nonlinear Characteristic Correction Apparatus and Method
JPH07129139A (en) Display device
US5903316A (en) Information signal processing apparatus
JP2758399B2 (en) Image memory
JP2908870B2 (en) Image storage device
US4677485A (en) Video signal processing circuits in television receivers
KR100250147B1 (en) Screen divide signal generator
JP2957866B2 (en) Control device for analog circuit using microcomputer
JP2853723B2 (en) Pulse width modulation circuit

Legal Events

Date Code Title Description
REMI Maintenance fee reminder mailed
FPAY Fee payment

Year of fee payment: 12

SULP Surcharge for late payment

Year of fee payment: 11