WO2011090359A2 - 데이터 압축/해제장치 및 방법 - Google Patents

데이터 압축/해제장치 및 방법 Download PDF

Info

Publication number
WO2011090359A2
WO2011090359A2 PCT/KR2011/000518 KR2011000518W WO2011090359A2 WO 2011090359 A2 WO2011090359 A2 WO 2011090359A2 KR 2011000518 W KR2011000518 W KR 2011000518W WO 2011090359 A2 WO2011090359 A2 WO 2011090359A2
Authority
WO
WIPO (PCT)
Prior art keywords
value
information
information bit
bit
hidden
Prior art date
Application number
PCT/KR2011/000518
Other languages
English (en)
French (fr)
Other versions
WO2011090359A3 (ko
Inventor
김형중
Original Assignee
고려대학교 산학협력단
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 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Priority to KR1020127015998A priority Critical patent/KR101367811B1/ko
Publication of WO2011090359A2 publication Critical patent/WO2011090359A2/ko
Publication of WO2011090359A3 publication Critical patent/WO2011090359A3/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC

Definitions

  • the present invention relates to an apparatus and method for data processing, and more particularly, to an apparatus and method for compressing data or restoring compressed data.
  • the methods of compressing data to the highest level require not only very complex data processing devices, but also often slow processing.
  • low-level data compression methods are not only fast but also relatively complex in hardware.
  • the present invention provides an apparatus and method for lossless compression of binary data using reversible information concealment.
  • the present invention also provides an apparatus and method for decompressing a lossless compressed data using reversible information concealment.
  • the present invention also provides a compression apparatus and method for concealing a predetermined bit of binary characters at the most probable value in a binary string for compression, and a corresponding decompression apparatus and method.
  • an apparatus for compressing data may further include selecting m additionally selected from the binary information bit stream when the value of the hidden information bit selected from the binary information bit stream for compression is a determination value. ) An information hiding unit for replacing the selected hidden information bit and the additionally selected m hidden information bits with a preset 2 m binary value corresponding to the 2 hidden information bits, and 2 m +1 outputted from the information hiding unit. And an encoder for encoding and outputting the binary information symbol string.
  • a method for compressing data may further include selecting m further from the binary information bit string when the value of the hidden information bit selected from the binary information bit string for compression is a determined value. Substituting the selected hidden information bit and the additionally selected m hidden information bits with a preset 2 m binary value corresponding to the? Hidden information bits.
  • an apparatus for compressing data includes inputting a hidden information bit string having a length of n and a hidden information bit string having a length of k and inputting a determined value of each bit of the hidden information bit string.
  • An information hiding unit for replacing a value of a corresponding bit with a 2 m binary value corresponding to m ( ⁇ 1) bits sequentially extracted from the hidden information bit stream, and a 2 m +1 binary output from the information hiding unit
  • an encoder for encoding and outputting the information symbol string.
  • a method for compressing data includes inputting a hidden information bit string having a length of n and a hidden information bit string having a length of k and inputting a determined value of each bit of the hidden information bit string. It includes the step of replacing the value of a corresponding bit to 2 m binary value corresponding to the secret information bit sequence sequentially by extracting m ( ⁇ 1) of bits from.
  • a method for compressing data includes selecting one bit hidden information bit from a binary information bit string for compression, and the value of the selected hidden information bit is the binary information bit. Determining whether it is a decision value having the highest ratio among the bit values in the column; if the value of the selected hidden information bit is not the determination value, replacing the selected hidden information bit value with 2 m; If the value of the selected hidden information bit is the determined value, by a 2 m binary value corresponding to m consecutive bits including the next bit of the selected hidden information bit value in the binary information bit stream; Substituting the value of the hidden information bit.
  • an apparatus for restoring compressed data includes a decoding unit for decoding an encoded information symbol string, and a value of a 2m + 1 binary restoration information symbol sequentially selected from the decoded information symbol string.
  • the value of the selected restoration information symbol is restored to the binary information bit value corresponding to the determination value, and when the value of the selected restoration information symbol is not the determination value, the value of the restoration information symbol corresponds to the value of the selected restoration information symbol.
  • the value of the selected restoration information symbol is determined as the determination value. Restoring a binary information bit value corresponding to the binary information bit value; and, when the value of the selected restoration information symbol is not the determined value, a binary information bit value having a length m + 1 corresponding to the value of the selected restoration information symbol. Including the process of restoring.
  • the present invention allows lossless compression with excellent compression performance while reducing hardware complexity and processing time.
  • various other effects will be disclosed directly or implicitly in the detailed description of the embodiments of the present invention to be described later.
  • FIG. 1 is a view showing the configuration of a compression device according to a first embodiment of the present invention
  • FIG. 2 is a diagram illustrating a control flow for data compression in a compression device according to a first embodiment of the present invention
  • FIG. 3 illustrates an example of performing lossless compression according to a compression technique proposed in the first embodiment of the present invention
  • FIG. 4 is a view showing the configuration of a compression device according to a second embodiment of the present invention.
  • FIG. 5 is a diagram illustrating a control flow for data compression in a compression device according to a second embodiment of the present invention.
  • FIG. 6 illustrates an example of performing lossless compression according to the compression technique proposed in the second embodiment of the present invention
  • FIG. 7 is a view showing the configuration of a restoring apparatus according to a first embodiment of the present invention.
  • FIG. 8 is a view showing a control flow for recovering compressed data in a decompression device according to a first embodiment of the present invention
  • FIG. 9 illustrates an example of performing restoration for a lossless compressed information symbol according to a restoration technique proposed in the first embodiment of the present invention
  • FIG. 10 is a view showing the configuration of a restoration apparatus according to a second embodiment of the present invention.
  • FIG. 11 is a view showing a control flow for recovering compressed data in a decompression device according to a second embodiment of the present invention.
  • FIG. 12 is a diagram illustrating an example of performing restoration of a lossless compressed information symbol according to a restoration technique proposed in the second embodiment of the present invention.
  • FIG. 12 is a diagram illustrating an example of performing restoration of a lossless compressed information symbol according to a restoration technique proposed in the second embodiment of the present invention.
  • one binary data that is, a binary information bit string
  • an operation for separating the hidden information string and the at least one hidden information string from one binary data may be omitted.
  • a target bit to hide information that is, a hidden information bit
  • a value to be substituted is determined based on the value of the selected hidden information bit, and the value of the hidden information bit is replaced by the determined value.
  • the determination of the value of the hidden information bit must be preceded to determine the value to be replaced. That is, it is determined whether the value of the hidden information bit is a target value to perform information concealment, and based on the result of the determination, only the target value to perform information concealment is replaced with a predetermined value corresponding to the hidden information bits. To perform.
  • the hidden information bits are extracted from the binary information bit string.
  • bits sequentially read by a predetermined bit unit from the binary information bit string are selected as the hidden information bits.
  • the number of bits of the hidden information bits is two or more, and as the number of bits increases, the compression rate can be increased, but the complexity of the calculation can be increased.
  • the compression technique according to the second embodiment of the present invention assumes a case of using a hidden information bit stream and a hidden information bit stream obtained from one binary data, that is, a binary information bit stream.
  • a separation operation is required to obtain the hidden information bit stream and the hidden information bit stream from one binary information bit stream.
  • the hidden information bit is sequentially selected from the obtained hidden information bit string.
  • the value of the selected hidden information bit is a target bit value to conceal information
  • the value of the hidden information bit is set by a value corresponding to a predetermined number of hidden information bits sequentially selected from the obtained hidden information bit string.
  • a value having the highest probability among the bit values constituting the hidden information string (Most Probable Symbol, hereinafter referred to as “MPS”) or One of the lowest probability values (Least Probable Symbol, hereinafter referred to as “LPS”) may be used.
  • MPS most probable value
  • LLS lowest probable value
  • FIG. 1 shows a configuration of a compression device according to a first embodiment of the present invention.
  • the information concealment unit 110 receives an information bit string X as an input and outputs a compressed symbol string Z ′ by performing lossless compression on the information bit string X using reversible information concealment.
  • the information concealment unit 110 selects one bit corresponding to the hidden information bit from the information bit string X, and determines whether the selected hidden information bit value is MPS.
  • the selected hidden information bit value is MPS
  • m bits corresponding to the hidden information bits are further selected from the information bit string X. And replace the selected hidden information bit value with a value corresponding to the further selected hidden information bits.
  • the hidden information bits may be m bits consecutive to the selected hidden information bit in the information bit string X.
  • a value corresponding to the additionally selected hidden information bits is preferably determined in consideration of the m. For example, when m is 2, a value corresponding to the additionally selected hidden information bits may be 0, 1, 2, or 3.
  • the selected hidden information bit value is replaced with a preset value.
  • the preset value should not overlap with a value corresponding to the additionally selected hidden information bits.
  • the preset value may be 2 m .
  • M is the number of bits of the hidden information bits that are additionally selected when the selected hidden information bit value is MPS.
  • the compressed symbol string Z ′ output by the information concealment unit 110 is input to the encoder 120.
  • the encoder 120 compresses and outputs the compressed symbol string Z ′ input from the information concealment unit 110 by a predetermined coding scheme.
  • an entropy coding technique may be applied to the encoder 120.
  • the entropy coding technique is a coding technique in which a short code is assigned to a symbol having a high frequency and a long code is assigned to a symbol having a low frequency.
  • the entropy coding technique is also called a variable-length coding technique.
  • the entropy coding scheme only considers the frequency of symbols.
  • any one of a Huffman coder and an arithmetic code coder may be used.
  • the entropy coding technique requires optimal knowledge of the appearance frequency of each symbol in advance to enable optimal compression. In this case, when Huffman coding is used, only one codeword of integer length is allowed because one codeword is assigned to each symbol.
  • FIG. 2 shows a control flow for data compression in the compression apparatus according to the first embodiment of the present invention.
  • the compression apparatus receives a binary information bit string from an external source.
  • the compression device selects the hidden information bits from the input binary information bit stream in step 212.
  • the compression apparatus determines whether the selected hidden information bit value is an MPS.
  • the MPS means a value having the highest probability among the bit values constituting the binary information bit string.
  • the compression apparatus determines that the selected hidden information bit value is an LPS rather than an MPS, the compression apparatus replaces the selected hidden information bit value with a predetermined value in step 216.
  • the predetermined value should not overlap with the value to be replaced for the hidden information bit having the MPS.
  • the predetermined value may be 2 m .
  • the compression apparatus selects at least one hidden information bit to conceal the selected hidden information bit in step 218.
  • the at least one hidden information bit may be at least one bit subsequent to the selected hidden information bit in the binary information bit string.
  • the compression apparatus replaces the selected hidden information bit value with a predetermined value corresponding to the selected at least one hidden information bit in step 220.
  • the predetermined value should be determined in consideration of the number of bits selected as the hidden information bits.
  • the lossless compression of the input binary information bit string is completed using reversible information concealment in step 222.
  • the compression apparatus returns to step 212 and repeatedly performs a lossless compression operation on the newly selected hidden information bit.
  • the compression apparatus performs encoding on the information symbol string substituted with another value by the above-described operation.
  • encoding may be performed by an entropy compression technique.
  • the entropy compression technique may use any of Huffman code or arithmetic code coder, as described above.
  • the compression apparatus In operation 226, the compression apparatus generates an information packet through packing of the information symbol string compressed through encoding.
  • FIG 3 shows an example of performing lossless compression according to the compression technique proposed in the first embodiment of the present invention.
  • the hidden information is determined by the number of hidden information bits having the predicted MPS.
  • the number of bits m to select as bits can be predicted.
  • Equation 1 Generalizing the prediction method for the number of bits m to select as the hidden information bits can be summarized as in Equation 1 below.
  • Equation 1 If there is a remainder in the result calculated by Equation 1, the value obtained by adding 1 to the obtained quotient is determined as m. In FIG. 3, it is assumed that m is determined as 2 based on the above description.
  • a value to replace MPS which is the value of the selected hidden information bit, by m hidden information bits should be determined in advance.
  • Table 1 defines an example of a value to be substituted in advance corresponding to m hidden information bits.
  • the predetermined value according to Table 1 includes '1', which is a value corresponding to LPS. Therefore, when the value '1' corresponding to the LPS is selected as the hidden information bit, it is necessary to replace the value of the selected hidden information bit with another value which is not defined as a predetermined value in Table 1. To this end, in FIG. 3, it is assumed that when the value '1' corresponding to the LPS is selected as the hidden information bit, the value of the selected hidden information bit is replaced with '4'.
  • the compression apparatus selects one bit of hidden information bits from an information bit string X of length n and a binary character string. It is then determined whether the value of the selected hidden information bit is MPS.
  • the compression apparatus Since the value of the first selected hidden information bit in FIG. 3 is '0' corresponding to the MPS, the compression apparatus is '10' which is two bits consecutive to the selected hidden information bit in the information bit string X. Is selected as the hidden information bits.
  • the value '0' of the selected hidden information bit is replaced with '2', which is a predetermined value defined in Table 1, corresponding to '10', which is the selected hidden information bits.
  • '2' which is a predetermined value defined in Table 1, corresponding to '10', which is the selected hidden information bits.
  • the compression device selects the next bit of the bits selected as the hidden information bits in the information bit string as the second hidden information bit.
  • the compression apparatus since the selected second hidden information bit has a value of '1' corresponding to the LPS, the compression apparatus replaces '1', which is the value of the selected hidden information bit, with '4', which is a predetermined value.
  • the compression device selects the next bit of the bit selected as the second hidden information bit in the information bit string X as the third hidden information bit.
  • the compression apparatus hides '00', which is two bits consecutive to the third hidden information bit in the information bit string X.
  • the value '0' of the third hidden information bit is replaced with '0', which is a predetermined value defined in Table 1, corresponding to '00', which is the selected hidden information bits.
  • '0' which is a predetermined value defined in Table 1
  • corresponding to '00' which is the selected hidden information bits.
  • the compression device selects the next bit of the hidden information bits selected due to the third hidden information bit in the information bit string X as the fourth hidden information bit.
  • the compression apparatus hides '11', which is two bits consecutive to the fourth hidden information bit in the information bit string X.
  • the value '0' of the fourth hidden information bit is replaced with '3', which is a predetermined value defined in Table 1, corresponding to '11' which is the selected hidden information bits.
  • '3' which is a predetermined value defined in Table 1, corresponding to '11' which is the selected hidden information bits.
  • the compression device selects as the fifth hidden information bit the next bit of the selected hidden information bits due to the fourth hidden information bit in the information bit string.
  • the compression apparatus since the selected fifth hidden information bit has a value of '1' corresponding to the LPS, the compression apparatus replaces '1', which is the value of the fifth hidden information bit, with '4', which is a predetermined value.
  • an operation of selecting hidden information bits is defined as a selection operation (indicated by a dotted line in FIG. 3).
  • the operation of determining the value to be replaced by the hidden information bits selected by the selection operation is defined as a decision operation (indicated by the solid line in FIG. 3).
  • the operation of substituting the predetermined value also corresponds to the determination operation.
  • lossless compression of the information bit string X using the reversible information concealment can be performed by the above-described selection and determining operations, and by the lossless compression, a compressed (2 m +1) encoded information symbol string Z 'can be obtained.
  • the compressed information symbol string Z ' is compressed by an entropy compressor.
  • Table 2 shows an example of implementing the lossless compression technique illustrated in FIG. 3 by applying a MATLAP notation. .
  • FIG. 4 shows a configuration of a compression device according to a second embodiment of the present invention.
  • the bit separator 410 receives an information bit string X, and separates the hidden information string Y n and the hidden information string V k from the information bit string X.
  • the to-be-concealed information column Y n means the data bit stream to hide the secret information k and V columns
  • column V k the secret information means a bit string of the secret information to hide the blood column Y n secret information.
  • a subscript in Y n indicating the hidden information column and V k indicating the hidden information column indicates the length of the corresponding information column.
  • K is determined by n x p x m.
  • n means the length of the column Y n blood secret information and, p stands for the probability that the bit with the MPS on the probability, i.e., column Y n the blood secret information of the MPS in the column Y n blood secret information is selected, and m means the number of hidden information bits to be hidden in one hidden information bit.
  • Equation 2 if there is a remainder, a value obtained by adding 1 to the obtained quotient is determined as m.
  • the hidden information column Y n and the hidden information column V k separated by the bit separation unit 410 are provided to the information hiding unit 420.
  • the bit separator 410 does not need to be separately provided. That is, when the hidden information string Y n and the hidden information string V k are input separately, the bit separator 410 may not be an essential component for lossless compression.
  • the information concealment unit 420 hides the hidden information string V k in the hidden information string Y n by using reversible information concealment, thereby outputting the compressed symbol string Z 'by lossless compression.
  • the information hiding unit 420 selects one bit corresponding to the hidden information bit from the hidden information string Y n , and determines whether the selected hidden information bit value is MPS.
  • the selected hidden information bit value is MPS
  • the m bits corresponding to the hidden information bits are selected from the hidden information string V k .
  • the selected hidden information bit value is replaced with a value corresponding to the selected hidden information bit.
  • the value corresponding to the selected hidden information bits is determined in consideration of m obtained by the ⁇ number 2>.
  • the predetermined value corresponding to the hidden information bits may be 0, 1, 2, and 3 as shown in Table 3 below.
  • the selected hidden information bit value is an LPS rather than an MPS
  • the selected hidden information bit value is replaced with a preset value.
  • the preset value should not overlap with a value corresponding to the additionally selected hidden information bits.
  • the preset value may be 2 m . Where m is the number of bits of the hidden information bits selected when the value of the hidden information bits is MPS as defined above.
  • the compressed symbol string Z ′ n output by the information concealment unit 420 is input to the encoder 430.
  • the encoder 430 compresses the compressed symbol string Z ′ n input from the information concealment unit 420 by a predetermined coding scheme and outputs Z n .
  • an entropy coding technique may be applied to the encoder 430.
  • the entropy coding technique is a coding technique in which a short code is assigned to a symbol having a high frequency and a long code is assigned to a symbol having a low frequency.
  • the entropy coding technique is also called a variable-length coding technique.
  • the entropy coding scheme only considers the frequency of symbols.
  • any one of a Huffman coder and an arithmetic code coder may be used.
  • the entropy coding technique requires optimal knowledge of the appearance frequency of each symbol in advance to enable optimal compression. In this case, when Huffman coding is used, only one codeword of integer length is allowed because one codeword is assigned to each symbol.
  • FIG. 5 shows a control flow for data compression in the compression apparatus according to the second embodiment of the present invention.
  • the compression apparatus receives a binary information bit string from an external source.
  • the compression apparatus then separates the hidden information bit stream and the hidden information bit stream from the binary information bit stream in step 512.
  • the compression apparatus is based on the length n of the hidden information bit stream, the selection probability p of the MPS, the length k of the hidden information bit stream, or the number m of hidden information bits to be selected for information concealment. The heat can be separated.
  • step 512 when each of the hidden information bit stream and the hidden information bit stream is input as divided into binary information bit streams, the operation in step 512 may be omitted.
  • the compression apparatus proceeds to step 514 to select the hidden information bit from the hidden information bit string.
  • the compression apparatus determines whether the selected hidden information bit value is an MPS.
  • the MPS means a value having the highest probability among the bit values constituting the hidden information bit string.
  • the compression apparatus determines that the selected hidden information bit value is an LPS rather than an MPS, the compression apparatus replaces the selected hidden information bit value with a predetermined value in step 518.
  • the predetermined value should not overlap with the value to be replaced for the hidden information bit having the MPS.
  • the predetermined value may be 2 m .
  • the compression apparatus selects at least one hidden information bit to conceal the selected hidden information bit in step 520.
  • the at least one hidden information bit is sequentially selected m from the hidden information bit string.
  • the compression device When the at least one hidden information bit is selected, the compression device replaces the selected hidden information bit value with a predetermined value corresponding to the selected at least one hidden information bit (522). At this time, the predetermined value should be determined in consideration of the number of bits selected as the hidden information bits. An example of this is shown in Table 3.
  • the compression apparatus determines whether lossless compression using reversible information concealment is completed in step 524.
  • the compression apparatus returns to step 514 to repeatedly perform a lossless compression operation on the newly selected hidden information bit.
  • the compression apparatus performs encoding on the information symbol string generated by the above-described operation.
  • encoding may be performed by an entropy compression technique.
  • the entropy compression technique may use any of Huffman code or arithmetic code coder, as described above.
  • the compression apparatus In operation 528, the compression apparatus generates an information packet through packing of the information symbol string compressed through encoding.
  • FIG 6 shows an example of performing lossless compression according to the compression technique proposed in the second embodiment of the present invention.
  • the hidden information bit stream and the hidden information bit stream are separated from the information bit string X, which is a binary character string input for compression.
  • the length of the hidden information bit string separated from the information bit string X is n
  • the length of the hidden information bit string is k.
  • MPS is '0' and LPS is '1'
  • a probability that a bit having a value of '0', which is MPS, is selected as the hidden information bit is p in the hidden information bit string.
  • the hidden information is determined by the number of hidden information bits having the predicted MPS.
  • the number of bits m to select as bits can be predicted.
  • the prediction of the number of bits m to select as the hidden information bits can be generalized by ⁇ number 2> defined above.
  • the predetermined value according to Table 1 includes '1', which is a value corresponding to LPS. Therefore, when the value '1' corresponding to the LPS is selected as the hidden information bit, it is necessary to replace the value of the selected hidden information bit with another value which is not defined as a predetermined value in Table 1. To this end, in FIG. 6, when a value '1' corresponding to the LPS is selected as the hidden information bit, it is assumed that the value of the selected hidden information bit is replaced with '4'.
  • the compression apparatus separates a hidden information bit string Y 7 having a length of 7 and a hidden information bit string V 10 having a length of 10 from an information bit string X that is a binary character string.
  • the information bit string X is '01000010100101100', '0100001' corresponding to 7 bits in front of the information bit string X is separated into the hidden information bit string Y 7 , and '0100101100' corresponding to 10 bits thereafter.
  • 'Is separated by a hidden information bit string V 10 is
  • a selection operation (indicated by a dotted line in FIG. 6) of selecting the hidden information bit in units of 1 bit from the separated hidden information bit string Y 7 , and a value to replace the value of the selected hidden information bit.
  • a decision operation (indicated by a solid line in FIG. 6) is performed to determine.
  • the first bit of the separated hidden information bit string Y 7 is selected as the hidden information bit.
  • the compression apparatus selects two hidden information bits from the separated hidden information bit string V 10 .
  • the selection of the two hidden information bits is preferably selected sequentially from the first bit. Accordingly, '01' is selected as the two hidden information bits.
  • the value '0' of the selected hidden information bit is replaced with '1', which is a predetermined value defined in Table 3, corresponding to '01' of the selected hidden information bits.
  • '1' is a predetermined value defined in Table 3, corresponding to '01' of the selected hidden information bits.
  • the compression device selects the second bit of the separated hidden information bit string Y 7 as the hidden information bit.
  • the compression apparatus since the value of the selected second hidden information bit is '1' corresponding to the LPS, the compression apparatus replaces '1', which is the value of the selected hidden information bit, with '4', which is a predetermined value.
  • the compression device selects the third bit of the separated hidden information bit string Y 7 as the hidden information bit.
  • the compression apparatus selects two hidden information bits from the separated hidden information bit string V 10 .
  • the selection of the two hidden information bits selects two bits subsequent to the bit selected as the hidden information bits. Accordingly, '00' is selected as the two hidden information bits.
  • the value '0' of the selected hidden information bit is replaced with '0', which is a predetermined value defined in Table 3, corresponding to '00' of the selected hidden information bits.
  • '0' is a predetermined value defined in Table 3, corresponding to '00' of the selected hidden information bits.
  • the compression device selects the fourth bit of the separated hidden information bit string Y 7 as the hidden information bit.
  • the compression apparatus selects two hidden information bits from the separated hidden information bit string V 10 .
  • the selection of the two hidden information bits selects two bits subsequent to the bit selected as the hidden information bits. Accordingly, '10' is selected as the two hidden information bits.
  • the value '0' of the selected hidden information bit is replaced with '2', which is a predetermined value defined in Table 3, corresponding to '10' which is the selected hidden information bits.
  • '2' which is a predetermined value defined in Table 3, corresponding to '10' which is the selected hidden information bits.
  • the compression device selects the fifth bit of the separated hidden information bit string Y 7 as the hidden information bit.
  • the compression apparatus selects two hidden information bits from the separated hidden information bit string V 10 .
  • the selection of the two hidden information bits selects two bits subsequent to the bit selected as the hidden information bits. Accordingly, '11' is selected as the two hidden information bits.
  • the value '0' of the selected hidden information bit is replaced with '3', which is a predetermined value defined in Table 3, corresponding to '11' which is the selected hidden information bits.
  • '3' which is a predetermined value defined in Table 3, corresponding to '11' which is the selected hidden information bits.
  • the compression device selects the sixth bit of the separated hidden information bit string Y 7 as the hidden information bit.
  • the compression apparatus selects two hidden information bits from the separated hidden information bit string V 10 .
  • the selection of the two hidden information bits selects two bits subsequent to the bit selected as the hidden information bits. Accordingly, '00' is selected as the two hidden information bits.
  • the value '0' of the selected hidden information bit is replaced with '0', which is a predetermined value defined in Table 3, corresponding to '00' of the selected hidden information bits.
  • '0' is a predetermined value defined in Table 3, corresponding to '00' of the selected hidden information bits.
  • the compression device selects the seventh bit of the separated hidden information bit string Y 7 as the hidden information bit.
  • the compression apparatus since the value of the selected seventh hidden information bit is '1' corresponding to the LPS, the compression apparatus replaces '1', which is the value of the selected hidden information bit, with '4', which is a predetermined value.
  • the binary information symbol string Z ' n finally outputted by lossless compression (2 m + 1) becomes'1402304'.
  • the (2 m +1) binary information symbol string Z ' n compressed by the reversible information concealment is then compressed by an entropy compressor.
  • the lossless compression technique illustrated in FIG. 6 may be implemented in various forms, and Table 4 shows an example of implementing the lossless compression technique illustrated in FIG. 6 by applying a MATLAP notation. .
  • the information about the MPS may be a probability p such that a bit having the MPS is selected as the hidden information bit in the input information bit stream or the hidden information bit stream for compression.
  • a restoration technique corresponding to a compression technique provides a method of restoring a binary information bit sequence from an information symbol sequence in which information is concealed.
  • one information bit or a plurality of information bits are directly recovered from each of the compressed information symbols. That is, when the value of the compressed information symbol is substituted for the MPS, the value of the compressed information symbol is restored to the MPS. However, when the value of the compressed information symbol is not substituted for the MPS, the value of the compressed information symbol is restored to a plurality of bits having a predetermined value.
  • the hidden information bit stream and the hidden information bit stream are restored from the information symbol string in which the information is concealed, and the restored hidden information bit stream and the hidden information are restored. Combines a bit string and outputs a binary information bit string.
  • each of the compressed information symbols has a value substituted for the MPS or a value substituted for the LPS.
  • the MPS is restored to the hidden information bit, and the value substituted for the value of the compressed information symbol is restored to the hidden information bits.
  • the LPS is restored only to the hidden information bits.
  • the hidden information bit string constructed by the hidden hidden information bits restored as described above is combined with the hidden information bit string constructed by the restored hidden information bits to obtain a restored binary information bit string.
  • FIG. 7 shows a configuration of a restoration apparatus according to the first embodiment of the present invention.
  • the decoder 710 receives an information packet Z to be restored, and outputs the m information symbol string Z 'by the decoding method.
  • an entropy decoding technique corresponding to an entropy coding technique may be applied to the decoder 710.
  • the entropy decoding technique only considers the frequency of symbols, and either the decoder corresponding to the Huffman coder or the decoder corresponding to the arithmetic code coder may be used as the entropy decoding technique.
  • the information reconstructing unit 720 inputs the m-decoded information symbol string Z 'in which information concealment is performed, and restores the hidden information bit and the hidden information bit from the inputted m-decoded information symbol string Z'.
  • the information reconstruction unit 720 selects one reconstruction information symbol from the m-ary information symbol string Z '.
  • the first information symbol of the m information symbol string Z ' is selected as a restoration information symbol, and when the restoration of information is in progress, the remaining information except for the information symbol restored until now The first information symbol among the symbols is selected as the restoration information symbol.
  • the information reconstruction unit 720 determines whether the selected reconstruction information symbol is a value substituted for the LPS. In this case, an example of a value substituted in response to the LPS may be 2 m . When the information restoration unit 720 determines that the selected restoration information symbol is a value substituted for the LPS, the information restoration unit 720 restores the restoration information symbol to the LPS. However, if the information restoration unit 720 determines that the selected restoration information symbol is not a value substituted for the LPS, the information restoration unit 720 restores the restoration information symbol into hidden information bits and m hidden information bits. In this case, the value of the hidden information bit is restored to MPS, and the m hidden information bits are restored to predetermined bits corresponding to the value of the recovery information symbol.
  • Table 5 defines an example of the hidden information to be restored and the m hidden information bits corresponding to the selected recovery information symbol.
  • the information restoration unit 720 restores '010' with binary information bits. However, if '4' is selected as the recovery information symbol, '1' is restored to the binary information bit.
  • the information restoring unit 720 outputs the binary information bit string X generated by the restoration of all the information symbols when the restoration of all the information symbols constituting the m information symbol string Z 'is completed. .
  • FIG. 8 shows a control flow for decompressing compressed data in the decompression device according to the first embodiment of the present invention.
  • the reconstruction apparatus performs decoding on the m-information symbol string Z input in step 810.
  • an entropy decoding technique corresponding to an entropy coding technique may be applied to the decoding.
  • the entropy decoding technique only considers the frequency of symbols, and either the decoder corresponding to the Huffman coder or the decoder corresponding to the arithmetic code coder may be used as the entropy decoding technique.
  • the decompression device sequentially selects a reconstruction information symbol from the decoded m information symbol string Z 'in step 812. In other words, a reconstruction information symbol is selected one symbol from the m-decoded information symbol string Z '.
  • the restoration apparatus determines whether a value of the selected restoration information symbol is a predetermined value (for example, 2 m ) corresponding to the LPS. If it is determined that the value of the selected restoration information symbol is a predetermined value corresponding to the LPS, the restoration apparatus proceeds to step 816 to restore the value of the binary information bit to the LPS. That is, the value of the selected restoration information symbol is restored to the LPS.
  • a predetermined value for example, 2 m
  • the restoration apparatus proceeds to step 818 to restore the binary information bits of m + 1 bits. That is, the value of the selected restoration information symbol is restored to a value of 1 bit MPS and a predetermined m bit.
  • An example of restoring the predetermined value of the m bits is shown in Table 5.
  • the selected restoration information symbol when the value of the selected restoration information symbol is a predetermined value corresponding to the LPS, the selected restoration information symbol is restored to 1 bit, and when the value of the selected restoration information symbol is not a predetermined value corresponding to the LPS, the selected restoration information symbol is selected.
  • the recovery information symbol is restored to m + 1 bits.
  • step 820 the decompression device determines whether decompression is performed on all information symbols constituting the decoded m information symbol string Z '. That is, it is determined whether reconstruction of the decoded m-information symbol string Z 'is completed.
  • step 812 selects a next restoration information symbol to repeatedly perform the restoration operation by the above-described operation.
  • the restoration apparatus generates a binary information bit string by the bits in which the restoration is performed by the restoration operation performed in step 822.
  • FIG. 9 shows an example of performing restoration for a lossless compressed information symbol according to a restoration technique proposed in the first embodiment of the present invention.
  • the MPS is '0' and the LPS is '1', and the above-described ⁇ Table 5> is used for restoration.
  • the reconstruction device sequentially selects reconstruction information symbols from '24034' which is the m information symbol string Z '. That is, the restoration apparatus selects restoration information symbols in the order of 2, 4, 0, 3, 4.
  • the restoration apparatus selects '2' as the first restoration information symbol, since the selected restoration information symbol '2' is not '4' which is a predetermined value corresponding to the LPS, the value of the binary information bit is set to 'MPS'. 0 'and' 10 'which are predetermined bits corresponding to the selected restoration information symbol' 2 '. Thus, the selected restoration information symbol '2' is restored to binary information bits of '010'.
  • the restoration apparatus selects '4' as the second restoration information symbol
  • the selected restoration information symbol '4' is a predetermined value corresponding to the LPS
  • the value of the binary information bit is set to '1' which is the LPS. Restore Further, since there are no predetermined binary information bits corresponding to the selected restoration information symbol '4', no further restoration is performed. Therefore, the selected restoration information symbol '4' is restored to '1'.
  • the restoration apparatus selects '0' as the third restoration information symbol
  • the selected restoration information symbol '0' is not '4' which is a predetermined value corresponding to the LPS
  • the value of the binary information bit is MPS. Is restored to '00' which is predetermined bits corresponding to '0' and the selected restoration information symbol '0'. Therefore, the selected restoration information symbol '0' is restored to binary information bits of '000'.
  • the restoration apparatus selects '3' as the fourth restoration information symbol
  • the selected restoration information symbol '3' is not '4' which is a predetermined value corresponding to the LPS
  • the value of the binary information bit is MPS. Is restored to '11' which is predetermined bits corresponding to '0' and the selected restoration information symbol '3'.
  • the selected restoration information symbol '3' is restored to the binary information bit of '011'.
  • the restoration apparatus selects '4' as the fifth restoration information symbol, since the selected restoration information symbol '4' is a predetermined value corresponding to the LPS, the value of the binary information bit is set to '1' which is the LPS. Restore Further, since there are no predetermined binary information bits corresponding to the selected restoration information symbol '4', no further restoration is performed. Thus, the selected restoration information symbol '4' is restored to binary information bits of '1'.
  • the binary information bit string X '010100001110' is restored from the '24034' which is the m binary information symbol string Z '.
  • FIG. 10 shows a configuration of a restoration apparatus according to a second embodiment of the present invention.
  • the decoding unit 1010 is an information packet Z n can restore them to their input, and outputs the binary information packet to be restored m Z n by a predetermined decoding scheme information symbol sequence Z 'n.
  • an entropy decoding technique corresponding to an entropy coding technique may be applied to the decoder 1010.
  • the entropy decoding technique only considers the frequency of symbols, and either the decoder corresponding to the Huffman coder or the decoder corresponding to the arithmetic code coder may be used as the entropy decoding technique.
  • the information restoring unit 1012 inputs the m-decoded information symbol string Z ' n on which information concealment has been input, and restores the hidden information bit and the hidden information bit from the inputted m-decoded information symbol string Z' n . do.
  • the information reconstruction unit 1012 selects one reconstruction information symbol from the m-ary information symbol string Z ' n .
  • the first information symbol of the m information symbol string Z ' n is selected as a restoration information symbol.
  • the first information symbol among the information symbols is selected as the reconstruction information symbol.
  • the information reconstruction unit 1012 determines whether the selected reconstruction information symbol is substituted for the LPS. In this case, an example of a value substituted in response to the LPS may be 2 m . When the information restoration unit 1012 determines that the selected restoration information symbol is a value substituted for the LPS, the information restoration unit 1012 restores the hidden information bit value corresponding to the restoration information symbol to the LPS. However, if the information restoration unit 1012 determines that the selected restoration information symbol is not a value substituted for the LPS, the information restoration unit 1012 restores the value of the hidden information bit to the MPS in response to the restoration information symbol and m hidden information bits. Restore them to predetermined bit values.
  • Table 6 defines an example of the hidden information to be restored and the m hidden information bits corresponding to the selected recovery information symbol.
  • the information restoration unit 1012 restores '0' as the hidden information bits and restores '10' as the hidden information bits. However, if '4' is selected as the restoration information symbol, only the hidden information bit is restored to '1'.
  • the information restoring unit 1012 completes restoration of all the information symbols constituting the m information symbol string Z ' n , the information restoring unit 1012 generates the hidden information bit string Y n generated by the restoration of all the information symbols. Output the hidden information bit string V k .
  • the hidden information bit string Y n and the hidden information bit string V k outputted from the information recovery unit 1012 are input to the bit combiner 1014.
  • the bit combiner 1014 combines the hidden information bit string Y n and the hidden information bit string V k input from the information recovery unit 1012 to output a binary information bit string X.
  • FIG. 11 shows a control flow for recovering compressed data in a decompression device according to a second embodiment of the present invention.
  • the reconstruction apparatus decodes the m-information symbol string Z n input in step 1110.
  • an entropy decoding technique corresponding to an entropy coding technique may be applied to the decoding.
  • the entropy decoding technique only considers the frequency of symbols, and either the decoder corresponding to the Huffman coder or the decoder corresponding to the arithmetic code coder may be used as the entropy decoding technique.
  • the decompression device sequentially selects a reconstruction information symbol from the decoded m information symbol string Z ′ n in step 812. That is, the reconstruction information symbol is selected one symbol from the m-decoded information symbol string Z ' n which has been decoded.
  • the restoration apparatus determines whether the value of the selected restoration information symbol is a predetermined value (for example, 2 m ) corresponding to the LPS. If it is determined that the value of the selected restoration information symbol is a predetermined value corresponding to the LPS, the restoration apparatus proceeds to step 1116 and restores the value of the hidden information bit to the LPS. That is, the value of the selected restoration information symbol is restored to the LPS.
  • a predetermined value for example, 2 m
  • the restoration apparatus proceeds to step 1118 to restore the value of the hidden information bit of 1 bit to the MPS.
  • the predetermined m-bit value corresponding to the selected reconstruction information symbol is reconstructed into hidden information bits.
  • Table 6 An example of recovering the value of the m bits of hidden information bits is shown in Table 6.
  • the selected reconstruction information symbol is a predetermined value corresponding to the LPS
  • the selected reconstruction information symbol is reconstructed into 1 bit hidden information bit, and the value of the selected reconstruction information symbol is predetermined according to the LPS. If not, the selected reconstruction information symbol is recovered into one bit hidden information bit and m bits of hidden information bits.
  • step 1122 the decompression device determines whether decompression is performed on all information symbols constituting the decoded m-information symbol string Z ' n . That is, it is determined whether the restoration of the m-decoded information symbol string Z ' n on which the decoding is performed is completed.
  • step 1112 selects a next restoration information symbol to repeat the restoration operation by the above-described operation.
  • the restoration apparatus generates a binary information bit string by combining the hidden information bit string and the hidden information bit string, which are restored by the restoration operation performed in step 1124.
  • FIG. 12 shows an example of performing restoration for a lossless compressed information symbol according to a restoration technique proposed in the second embodiment of the present invention.
  • the MPS is '0' and the LPS is '1', and the above-described ⁇ Table 6> is used for restoration.
  • the reconstruction apparatus sequentially selects reconstruction information symbols from '1402304' which is the m-information symbol string Z ' n . That is, the restoration apparatus selects restoration information symbols in the order of 1, 4, 0, 2, 3, 0, 4.
  • the restoration apparatus selects '1' as the first restoration information symbol, since the selected restoration information symbol '1' is not '4' which is a predetermined value corresponding to the LPS, the value of the hidden information bit is set to 'MPS'. Restore to 0 '. The predetermined bits '01' corresponding to the selected restoration information symbol '1' are restored to the hidden information bits.
  • the restoration apparatus selects '4' as the second restoration information symbol, since the selected restoration information symbol '4' is a predetermined value corresponding to the LPS, the value of the hidden information bit is set to '1' which is the LPS. Restore Since no predetermined hidden information bits exist in correspondence with the selected restoration information symbol '4', no further restoration is performed.
  • the restoration apparatus selects '0' as the third restoration information symbol, since the selected restoration information symbol '0' is not '4' which is a predetermined value corresponding to LPS, the value of the hidden information bit is MPS. Is restored to '0'. The predetermined bits '00' corresponding to the selected restoration information symbol '0' are restored to the hidden information bits.
  • the restoration apparatus selects '2' as the fourth restoration information symbol
  • the selected restoration information symbol '2' is not '4', which is a predetermined value corresponding to the LPS
  • the value of the hidden information bit is MPS. Is restored to '0'.
  • the predetermined bits '10' corresponding to the selected restoration information symbol '2' are restored to the hidden information bits.
  • the restoration apparatus selects '3' as the fifth restoration information symbol
  • the selected restoration information symbol '3' is not '4' which is a predetermined value corresponding to the LPS
  • the value of the hidden information bit is MPS. Is restored to '0'.
  • the predetermined bits '11' corresponding to the selected restoration information symbol '3' are restored to the hidden information bits.
  • the restoration apparatus selects '0' as the sixth restoration information symbol
  • the selected restoration information symbol '0' is not '4', which is a predetermined value corresponding to the LPS
  • the value of the hidden information bit is MPS. Is restored to '0'.
  • the predetermined bits '00' corresponding to the selected restoration information symbol '0' are restored to the hidden information bits.
  • the restoration apparatus selects '4' as the seventh restoration information symbol, the selected restoration information symbol '4' is a predetermined value corresponding to the LPS, and thus the value of the hidden information bit is set to '1' which is the LPS. Restore Since no predetermined hidden information bits exist in correspondence with the selected restoration information symbol '4', no further restoration is performed.
  • the binary hidden information bit string '0100001' and the binary hidden information bit string '0100101100' are restored from '1402304', which is the m binary information symbol string Z ' n .
  • a binary information bit string X '01000010100101100' is generated by combining the binary hidden information bit string '0100001' and the binary hidden information bit string '0100101100'.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 데이터를 압축하거나 압축된 데이터를 복원하는 데이터 처리장치 및 방법에 관한 것이다. 이를 위해 압축을 위한 2진 정보 비트 열로부터 선택한 피 은닉 정보 비트의 값이 결정 값인 경우 상기 2진 정보 비트 열로부터 m(≥1) 개의 은닉 정보 비트를 추가로 선택한다. 그리고 상기 추가로 선택한 m(≥1)개의 은닉 정보 비트에 대응하여 미리 설정된 2m 진 값으로 상기 선택한 피 은닉 정보 비트와 상기 추가로 선택한 m 개의 은닉 정보 비트를 치환한다.

Description

데이터 압축/해제장치 및 방법
본 발명은 데이터 처리장치 및 방법에 관한 것으로, 특히 데이터를 압축하거나 압축된 데이터를 복원하는 장치 및 방법에 관한 것이다.
일반적으로 데이터를 처리하는 전자 장비에서는 데이터의 량을 줄이기 위해 다양한 압축 기술 및 압축 해제 (이하 “복원”이라 칭함) 기술이 적용되거나 제안되고 있다. 이와 같이 데이터의 량을 줄이기 위한 시도는 데이터를 기록하기 위한 기록 매체의 용량을 효율적으로 사용하기 위한 측면과, 전달의 용이성을 제공하기 위한 측면 등을 기반으로 한다.
통상적으로 최고 수준으로 데이터를 압축하는 방법들은 아주 복잡한 데이터 처리 장치가 필요할 뿐만 아니라 흔히 처리 속도가 느리다. 이에 반하여 낮은 수준으로 데이터를 압축하는 방법들은 처리 속도가 빠를 뿐만 아니라 상대적으로 하드웨어가 복잡하지 않다.
따라서 종래에는 하드웨어의 복잡성이나 처리 시간을 고려하여 원하는 수준의 품질을 얻기 위한 데이터 압축 기법을 선택하여 사용하였다. 하지만 향후에는 하드웨어의 복잡도와 처리 시간을 줄이면서도 높은 수준의 품질을 얻을 수 있는 압축 기법 및 이에 상응하는 복원 기법의 마련이 시급하다 할 것이다.
본 발명은 가역 정보 은닉을 이용하여 바이너리 데이터를 무손실 압축하는 장치 및 방법을 제공한다.
또한 본 발명은 가역 정보 은닉을 이용하여 무손실 압축된 데이터에 대한 압축을 해제하는 장치 및 방법을 제공한다.
또한 본 발명은 압축을 위한 이진 문자열에서 확률이 가장 높은 값에 소정 비트의 이진 문자를 은닉하는 압축 장치 및 방법과 이에 상응하는 압축 해제장치 및 방법을 제공한다.
본 발명의 일 실시 예에 따라 데이터를 압축하기 위한 장치는, 압축을 위한 2진 정보 비트 열로부터 선택한 피 은닉 정보 비트의 값이 결정 값인 경우 상기 2진 정보 비트 열로부터 추가로 선택한 m(≥1) 개의 은닉 정보 비트에 대응하여 미리 설정된 2m 진 값으로 상기 선택한 피 은닉 정보 비트와 상기 추가로 선택한 m 개의 은닉 정보 비트를 치환하는 정보 은닉부와, 상기 정보 은닉부로부터 출력되는 2m+1 진 정보 심볼 열을 부호화하여 출력하는 부호화부를 포함한다.
본 발명의 일 실시 예에 따라 데이터를 압축하기 위한 방법은, 압축을 위한 2진 정보 비트 열로부터 선택한 피 은닉 정보 비트의 값이 결정 값인 경우 상기 2진 정보 비트 열로부터 추가로 선택한 m(≥1) 개의 은닉 정보 비트에 대응하여 미리 설정된 2m 진 값으로 상기 선택한 피 은닉 정보 비트와 상기 추가로 선택한 m 개의 은닉 정보 비트를 치환하는 과정을 포함한다.
본 발명의 다른 실시 예에 따라 데이터를 압축하기 위한 장치는, 길이가 n인 피 은닉 정보 비트 열과 길이가 k인 은닉 정보 비트 열을 입력으로 하고, 상기 피 은닉 정보 비트 열의 각 비트 중 결정 값에 해당하는 비트의 값을 상기 은닉 정보 비트 열로부터 순차적으로 추출한 m(≥1) 개의 비트들에 상응하는 2m진 값으로 치환하는 정보 은닉부와, 상기 정보 은닉부로부터 출력되는 2m+1 진 정보 심볼 열을 부호화하여 출력하는 부호화부를 포함한다.
본 발명의 다른 실시 예에 따라 데이터를 압축하기 위한 방법은, 길이가 n인 피 은닉 정보 비트 열과 길이가 k인 은닉 정보 비트 열을 입력으로 하고, 상기 피 은닉 정보 비트 열의 각 비트 중 결정 값에 해당하는 비트의 값을 상기 은닉 정보 비트 열로부터 순차적으로 추출한 m(≥1)개의 비트들에 상응하는 2m 진 값으로 치환하는 과정을 포함한다.
본 발명의 다른 실시 예에 따라 데이터를 압축하기 위한 방법은, 압축을 위한 2진 정보 비트 열로부터 1비트의 피 은닉 정보 비트를 선택하고, 상기 선택한 피 은닉 정보 비트의 값이 상기 2진 정보 비트 열 내의 비트 값들 중 가장 높은 비율을 갖는 결정 값인지를 판단하는 과정과, 상기 선택한 피 은닉 정보 비트의 값이 상기 결정 값이 아닌 경우, 상기 선택한 피 은닉 정보 비트 값을 2m으로 치환하는 과정과, 상기 선택한 피 은닉 정보 비트의 값이 상기 결정 값인 경우, 상기 2진 정보 비트 열에서 상기 선택한 피 은닉 정보 비트 값의 다음 비트를 포함하여 연속하는 m개의 비트들에 상응하는 2m진 값에 의해 상기 피 은닉 정보 비트의 값을 치환하는 과정을 포함한다.
본 발명의 실시 예에 따라 압축 데이터를 복원하기 위한 장치는, 부호화된 정보 심볼 열을 복호하는 복화화부와, 상기 복호화된 정보 심볼 열로부터 순차적으로 선택되는 2m+1 진의 복원 정보 심볼의 값이 결정 값인 경우 상기 선택한 복원 정보 심볼의 값을 상기 결정 값에 상응하는 2진 정보 비트 값으로 복원하고, 상기 선택한 복원 정보 심볼의 값이 상기 결정 값이 아닌 경우 상기 선택한 복원 정보 심볼의 값에 상응하는 길이가 m+1인 2진 정보 비트 값으로 복원하는 정보 복원부를 포함한다.
본 발명의 실시 예에 따라 압축 데이터를 복원하기 위한 방법은, 정보 심볼 열로부터 순차적으로 선택되는 2m+1 진의 복원 정보 심볼의 값이 결정 값인 경우, 상기 선택한 복원 정보 심볼의 값을 상기 결정 값에 상응하는 2진 정보 비트 값으로 복원하는 과정과, 상기 선택한 복원 정보 심볼의 값이 상기 결정 값이 아닌 경우, 상기 선택한 복원 정보 심볼의 값에 상응하는 길이가 m+1인 2진 정보 비트 값으로 복원하는 과정을 포함한다.
본 발명은 하드웨어의 복잡도와 처리 시간을 줄이면서도 압축 성능이 우수한 무 손실 압축이 가능하도록 하였다. 한편 그 외의 다양한 효과는 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 것이다.
도 1은 본 발명의 제1실시 예에 따른 압축장치의 구성을 보이고 있는 도면;
도 2는 본 발명의 제1실시 예에 따른 압축 장치에서 데이터 압축을 위한 제어 흐름을 보이고 있는 도면;
도 3은 본 발명의 제1실시 예에서 제안하는 압축 기술에 따라 무손실 압축을 수행하는 예를 보이고 있는 도면;
도 4는 본 발명의 제2실시 예에 따른 압축장치의 구성을 보이고 있는 도면;
도 5는 본 발명의 제2실시 예에 따른 압축 장치에서 데이터 압축을 위한 제어 흐름을 보이고 있는 도면;
도 6은 본 발명의 제2실시 예에서 제안하는 압축 기술에 따라 무손실 압축을 수행하는 예를 보이고 있는 도면;
도 7은 본 발명의 제1실시 예에 따른 복원장치의 구성을 보이고 있는 도면;
도 8은 본 발명의 제1실시 예에 따른 복원장치에서 압축 데이터를 복원하기 위한 제어 흐름을 보이고 있는 도면;
도 9는 본 발명의 제1실시 예에서 제안하는 복원 기술에 따라 무손실 압축된 정보 심볼에 대한 복원을 수행하는 예를 보이고 있는 도면;
도 10은 본 발명의 제2실시 예에 따른 복원장치의 구성을 보이고 있는 도면;
도 11은 본 발명의 제2실시 예에 따른 복원장치에서 압축 데이터를 복원하기 위한 제어 흐름을 보이고 있는 도면;
도 12는 본 발명의 제2실시 예에서 제안하는 복원 기술에 따라 무손실 압축된 정보 심볼에 대한 복원을 수행하는 예를 보이고 있는 도면.
하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술 되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
후술될 본 발명의 실시 예에서는 2진 정보 비트 열을 압축하여 정보 패킷을 생성하는 압축 기술과 압축된 정보 패킷을 복원하여 2진 정보 비트 열을 생성하는 복원 기술에 대해 구체적으로 설명할 것이다.
본 발명의 실시 예에서 제안하는 압축 기술을 위해 후술될 상세한 설명에서는 정보를 은닉한 후 부호화를 통해 데이터를 압축하는 구성에 대해 구체적으로 살펴볼 것이다.
또한 본 발명의 실시 예에서 제안하는 복원 기술을 위해 후술될 상세한 설명에서는 압축된 패킷으로부터 데이터를 디코딩한 후 상기 디코딩된 데이터에 은닉된 정보를 추출함으로써 이진화 데이터를 복원하는 구성에 대해 구체적으로 살펴볼 것이다.
A. 압축 기술
먼저 본 발명의 제1실시 예에 따른 압축 기술에서는 하나의 바이너리 데이터, 즉 2진 정보 비트 열이 제공되는 경우를 가정하고 있다. 이 경우에는 하나의 바이너리 데이터로부터 피 은닉 정보 열과 적어도 하나의 은닉 정보 열을 분리하기 위한 동작이 생략될 수 있다.
본 발명의 제1실시 예에 따른 압축 기술에서는 2진 정보 비트 열로부터 정보를 은닉할 대상 비트, 즉 피 은닉 정보 비트를 선택한다. 그리고 상기 선택된 피 은닉 정보 비트의 값을 기반으로 하여 치환할 값을 결정하고, 상기 결정된 값에 의해 상기 피 은닉 정보 비트의 값을 치환한다. 이때 상기 치환할 값을 결정하기 위해 상기 피 은닉 정보 비트의 값에 대한 확인이 선행되어야 한다. 즉 상기 피 은닉 정보 비트의 값이 정보 은닉을 수행할 대상 값인지를 판단하고, 상기 판단 결과에 의해 정보 은닉을 수행할 대상 값에 대해서만 은닉 정보 비트들에 대응하여 미리 결정된 값으로 치환하는 동작을 수행한다.
상기 은닉 정보 비트들은 상기 2진 정보 비트 열로부터 추출한다. 상기 은닉 정보 비트들을 추출하는 예로써, 상기 2진 정보 비트 열로부터 미리 결정된 비트 단위에 의해 순차적으로 읽어 들인 비트들을 상기 은닉 정보 비트들로 선택한다. 이때 상기 은닉 정보 비트들의 비트 수는 둘 이상인 것이 바람직하며, 상기 비트 수가 클수록 압축 율을 증가시킬 수 있으나 계산의 복잡도가 증가할 수 있다.
따라서 본 발명의 제1실시 예에 따른 압축 기술에서는 피 은닉 정보 비트의 값에 의해 정보 은닉을 수행할지 여부를 결정하기 위한 구성 및 상기 결정에 의해 은닉 정보 비트들을 추출하기 위한 구성에 대해 구체적으로 설명할 것이다. 그리고 피 은닉 정보 비트의 값을 다른 값으로 치환하기 위한 구성에 대해서도 구체적으로 설명할 것이다.
다음으로 본 발명의 제2실시 예에 따른 압축 기술에서는 하나의 바이너리 데이터, 즉 2진 정보 비트 열로부터 획득한 피 은닉 정보 비트 열과 은닉 정보 비트 열을 이용하는 경우를 가정하고 있다. 이 경우에는 하나의 2진 정보 비트 열로부터 피 은닉 정보 비트 열과 은닉 정보 비트 열을 획득하기 위한 분리 동작이 요구된다.
그리고 상기 획득한 피 은닉 정보 비트 열로부터 피 은닉 정보 비트를 순차적으로 선택한다. 상기 선택한 피 은닉 정보 비트의 값이 정보를 은닉할 대상 비트 값인 경우, 상기 획득한 은닉 정보 비트 열로부터 순차적으로 선택된 소정 개수의 은닉 정보 비트들에 대응한 값에 의해 상기 피 은닉 정보 비트의 값을 치환한다.
한편 본 발명의 실시 예에서 사용되는 정보를 은닉할 대상 비트 값으로 제1실시 예에서는 피 은닉 정보 열을 구성하는 비트 값들에서 확률이 가장 높은 값 (Most Probable Symbol, 이하 “MPS”라 칭함) 또는 확률이 가장 낮은 값 (Least Probable Symbol, 이하 “LPS”라 칭함) 중 하나가 사용될 수 있다. 그리고 제2실시 예에서는 2진 정보 비트 열을 구성하는 비트 값들에서 확률이 가장 높은 값 (Most Probable Symbol, 이하 “MPS”라 칭함) 또는 확률이 가장 낮은 값 (Least Probable Symbol, 이하 “LPS”라 칭함) 중 하나가 사용될 수 있다.
하지만 압축율을 고려할 때에 상기 정보를 은닉할 대상 비트 값으로 MPS를 사용하는 것는 바람직할 것이다.
A-1. 제1실시 예 (압축 기술)
도 1은 본 발명의 제1실시 예에 따른 압축장치의 구성을 보이고 있다.
도 1을 참조하면, 정보 은닉부(110)는 정보 비트 열 X를 입력으로 수신하고, 가역 정보 은닉을 이용하여 상기 정보 비트 열 X에 대한 무손실 압축을 수행함으로써 압축 심볼 열 Z’을 출력한다.
예컨대 상기 정보 은닉부(110)는 상기 정보 비트 열 X로부터 피 은닉 정보 비트에 상응한 1 비트를 선택하고, 상기 선택한 피 은닉 정보 비트 값이 MPS인지를 판단한다.
만약 상기 선택한 피 은닉 정보 비트 값이 MPS라고 판단되면, 상기 정보 비트 열 X로부터 은닉 정보 비트들에 상응한 m 비트를 추가로 선택한다. 그리고 상기 선택한 피 은닉 정보 비트 값을 상기 추가로 선택한 은닉 정보 비트들에 대응하는 값으로 치환한다. 이때 상기 은닉 정보 비트들은 상기 정보 비트 열 X에서 상기 선택한 피 은닉 정보 비트에 연속하는 m 개의 비트들이 될 수 있다.
또한 상기 추가로 선택한 은닉 정보 비트들에 대응하는 값은 상기 m을 고려하여 결정하는 것이 바람직하다. 예컨대 상기 m이 2인 경우, 상기 추가로 선택한 은닉 정보 비트들에 대응하는 값은 0, 1, 2, 3이 사용될 수 있다.
그렇지 않고 상기 선택한 피 은닉 정보 비트 값이 MPS가 아닌 LPS라고 판단되면, 상기 선택한 피 은닉 정보 비트 값을 미리 설정된 값으로 치환한다. 이때 상기 미리 설정된 값은 상기 추가로 선택한 은닉 정보 비트들에 대응하는 값과 중복되어서는 안된다. 일 예로써 상기 미리 설정된 값은 2m이 될 수 있다. 여기서 m은 상기 선택한 피 은닉 정보 비트 값이 MPS인 경우에 추가로 선택되는 은닉 정보 비트들의 비트 수이다.
상술한 바와 같이 상기 정보 은닉부(110)에서 수행되는 무손실 압축의 구체적인 예에 의한 설명은 후술될 것이다.
상기 정보 은닉부(110)에 의해 출력되는 압축 심볼 열 Z’은 부호화부(120)로 입력된다. 상기 부호화부(120)는 상기 정보 은닉부(110)로부터 입력되는 압축 심볼 열 Z’을 소정의 코딩 기법에 의해 압축하여 출력한다.
상기 부호화부(120)에는 일 예로 엔트로피 코딩 (Entropy coding) 기법이 적용될 수 있다. 상기 엔트로피 코딩 기법은 출현 빈도가 높은 심볼에 짧은 코드를 배정하고 빈도가 낮은 심볼에 긴 코드를 배정하는 코딩 기법이다. 상기 엔트로피 코딩 기법은 일명 가변 길이 코딩(Variable-length coding) 기법이라고도 한다.
한편, 엔트로피 코딩 기법에서는 심볼의 빈도만을 고려하는데, 상기 엔트로피 코딩 기법으로는 허프만 코더 (Huffman coder)와 산술 부호 코더 중 어느 것이나 사용할 수 있다. 상기 엔트로피 코딩 기법은 미리 각 심볼의 출현 빈도를 알아야 최적의 압축이 가능하다. 이때 허프만 코딩을 사용하는 경우에는 각각의 심볼에 하나씩 코드워드를 배정하므로 정수 길이의 코드워드만 허용한다.
도 2는 본 발명의 제1실시 예에 따른 압축 장치에서 데이터 압축을 위한 제어 흐름을 보이고 있다.
도 2를 참조하면, 압축 장치는 210단계에서 2진 정보 비트 열을 외부로부터 입력 받는다. 그 후 상기 압축 장치는 212단계에서 상기 입력된 2진 정보 비트 열로부터 피 은닉 정보 비트를 선택한다. 상기 압축 장치는 214단계에서 상기 선택한 피 은닉 정보 비트 값이 MPS인지를 판단한다. 앞에서도 정의된 바와 같이 상기 MPS는 상기 2진 정보 비트 열을 구성하는 비트 값들 중 확률이 가장 높은 값을 의미한다.
상기 압축 장치는 상기 선택한 피 은닉 정보 비트 값이 MPS가 아닌 LPS라고 판단하면, 216단계에서 상기 선택한 피 은닉 정보 비트 값을 미리 결정된 값으로 치환한다. 이때 상기 미리 결정된 값은 MPS를 가지는 피 은닉 정보 비트에 대해 치환할 값과 중복되어서는 안된다. 일 예로 상기 미리 결정된 값은 2m이 될 수 있다.
하지만 상기 선택한 피 은닉 정보 비트 값이 MPS라고 판단하면, 상기 압축 장치는 218단계에서 상기 선택한 피 은닉 정보 비트에 은닉할 적어도 하나의 은닉 정보 비트를 선택한다. 상기 적어도 하나의 은닉 정보 비트는 상기 2진 정보 비트 열에서 상기 선택한 피 은닉 정보 비트에 연속하는 적어도 하나의 비트가 될 수 있다.
상기 적어도 하나의 은닉 정보 비트를 선택하면, 상기 압축 장치는 220단계에서 상기 선택한 피 은닉 정보 비트 값을 상기 선택한 적어도 하나의 은닉 정보 비트에 대응하여 미리 결정된 값으로 치환한다. 이때 미리 결정된 값은 은닉 정보 비트로 선택한 비트 수를 고려하여 결정하여야 한다.
상기 압축 장치는 상기 216단계 또는 상기 220단계에서 피 은닉 정보 비트를 다른 값으로 치환하는 동작이 완료되면, 222단계에서 가역 정보 은닉을 이용하여 상기 입력된 2진 정보 비트 열에 대한 무손실 압축이 완료되었는지를 판단한다.
상기 압축 장치는 무손실 압축이 완료되지 않았다고 판단되면, 상기 212단계로 리턴하여 새로 선택한 피 은닉 정보 비트에 대한 무손실 압축 동작을 반복하여 수행한다.
하지만 상기 입력된 2진 정보 비트 열에 대한 무손실 압축이 완료되었다고 판단되면, 상기 압축 장치는 상술한 동작에 의해 다른 값으로 치환이 이루어진 정보 심볼 열에 대한 부호화를 수행한다. 이때 부호화는 엔트로피 압축 기법에 의해 이루어질 수 있다. 상기 엔트로피 압축 기법은 앞에서도 밝힌 바와 같이 허프만 코드 또는 산술 부호 코더 중 어떠한 것을 사용하여도 좋다.
상기 압축 장치는 226단계에서 부호화를 통해 압축된 정보 심볼 열에 대한 패킹을 통해 정보 패킷을 생성한다.
도 3은 본 발명의 제1실시 예에서 제안하는 압축 기술에 따라 무손실 압축을 수행하는 예를 보이고 있다.
도 3에서는 압축을 위해 입력되는 이진 문자 열인 정보 비트 열 X의 길이가 n이고, MPS가 ‘0’, LPS가 ‘1’이라 가정한다. 또한 상기 정보 비트 열 X에서 MPS인 ‘0’의 값을 가지는 비트가 피 은닉 정보 비트로 선택될 확률이 p라고 가정한다.
따라서 상기 정보 비트 열 X에서 선택될 피 은닉 정보 비트 중 그 비트 값이 ‘0’인 비트의 수는 n ×p라고 예측할 수 있으며, 상기 예측한 MPS를 가지는 피 은닉 정보 비트의 수에 의해 은닉 정보 비트로 선택할 비트 수 m을 예측할 수 있다. 상기 은닉 정보 비트로 선택할 비트 수 m에 대한 예측 방안을 일반화시키면 하기 <수학식 1>과 같이 정리할 수 있다.
수학식 1
Figure PCTKR2011000518-appb-M000001
상기 <수학식 1>에 의해 계산된 결과에서 나머지가 존재할 경우에는 획득한 몫에 1을 더한 값을 m으로 결정한다. 도 3에서는 앞에서 살펴본 바에 의해 m이 2로 결정되었음을 가정하고 있다.
또한 선택한 피 은닉 정보 비트의 값이 MPS인 경우, m 개의 은닉 정보 비트들에 의해 상기 선택한 피 은닉 정보 비트의 값인 MPS를 치환할 값은 미리 결정되어야 한다. 하기 <표 1>에서는 m 개의 은닉 정보 비트들에 대응하여 미리 결정된 치환할 값의 일 예를 정의하고 있다.
표 1
Figure PCTKR2011000518-appb-T000001
한편 상기 <표 1>에 의한 미리 결정된 값에는 LPS에 상응하는 값인 ‘1’이 포함되어 있다. 따라서 LPS에 상응하는 값인 ‘1’이 피 은닉 정보 비트로 선택될 경우에는 상기 선택된 피 은닉 정보 비트의 값을 상기 <표 1>에서 미리 결정된 값으로 정의하고 있지 않은 다른 값으로 치환할 필요가 있다. 이를 위해 도 3에서는 상기 LPS에 상응하는 값인 ‘1’이 피 은닉 정보 비트로 선택될 경우, 상기 선택된 피 은닉 정보 비트의 값을 ‘4’로 치환하는 것을 가정한다.
도 3을 참조하면, 압축장치는 길이가 n이고 이진 문자 열인 정보 비트 열 X로부터 1 비트의 피 은닉 정보 비트를 선택한다. 그리고 상기 선택한 피 은닉 정보 비트의 값이 MPS인지를 판단한다.
도 3에서 첫 번째로 선택된 피 은닉 정보 비트의 값이 MPS에 해당하는 ‘0’이므로, 상기 압축장치는 상기 정보 비트 열 X 내에서 상기 선택한 피 은닉 정보 비트에 연속하는 2 개의 비트들인 ‘10’을 은닉 정보 비트들로 선택한다. 그리고 상기 선택된 피 은닉 정보 비트의 값 ‘0’을 상기 선택된 은닉 정보 비트들인 ‘10’에 대응하여 상기 <표 1>에서 정의하고 있는 미리 결정된 값인 ‘2’로 치환한다. 이로 인해 결과적으로 ‘010’으로 구성된 3 비트가 하나의 값인 ‘2’로 압축되었음을 확인할 수 있다. 즉 ‘10’으로 구성된 2 비트의 은닉 정보 비트들이 MPS를 가지는 1 비트의 피 은닉 정보 비트에 은닉됨을 알 수 있다.
그 후 상기 압축 장치는 상기 정보 비트 열에서 상기 은닉 정보 비트들로 선택된 비트들의 다음 비트를 두 번째 피 은닉 정보 비트로 선택한다. 이때 선택된 두 번째 피 은닉 정보 비트는 LPS에 해당하는 ‘1’의 값을 가지므로, 상기 압축 장치는 상기 선택한 피 은닉 정보 비트의 값인 ‘1’을 미리 결정된 값인 ‘4’로 치환한다.
다음으로 상기 압축 장치는 상기 정보 비트 열 X에서 두 번째 피 은닉 정보 비트로 선택된 비트의 다음 비트를 세 번째 피 은닉 정보 비트로 선택한다. 이때 선택된 세 번째 피 은닉 정보 비트는 MPS에 해당하는 ‘0’이므로, 상기 압축장치는 상기 정보 비트 열 X 내에서 상기 세 번째 피 은닉 정보 비트에 연속하는 2 개의 비트들인 ‘00’을 은닉 정보 비트들로 선택한다. 그리고 상기 세 번째 피 은닉 정보 비트의 값 ‘0’을 상기 선택된 은닉 정보 비트들인 ‘00’에 대응하여 상기 <표 1>에서 정의하고 있는 미리 결정된 값인 ‘0’으로 치환한다. 이로 인해 결과적으로 ‘000’으로 구성된 3 비트가 하나의 값인 ‘0’으로 압축되었음을 확인할 수 있다. 즉 ‘00’으로 구성된 2 비트의 은닉 정보 비트들이 MPS를 가지는 1 비트의 피 은닉 정보 비트에 은닉됨을 알 수 있다.
다음으로 상기 압축 장치는 상기 정보 비트 열 X에서 세 번째 피 은닉 정보 비트로 인해 선택된 은닉 정보 비트들의 다음 비트를 네 번째 피 은닉 정보 비트로 선택한다. 이때 선택된 네 번째 피 은닉 정보 비트는 MPS에 해당하는 ‘0’이므로, 상기 압축장치는 상기 정보 비트 열 X 내에서 상기 네 번째 피 은닉 정보 비트에 연속하는 2 개의 비트들인 ‘11’을 은닉 정보 비트들로 선택한다. 그리고 상기 네 번째 피 은닉 정보 비트의 값 ‘0’을 상기 선택된 은닉 정보 비트들인 ‘11’에 대응하여 상기 <표 1>에서 정의하고 있는 미리 결정된 값인 ‘3’으로 치환한다. 이로 인해 결과적으로 ‘011’로 구성된 3 비트가 하나의 값인 ‘3’으로 압축되었음을 확인할 수 있다. 즉 ‘11’로 구성된 2 비트의 은닉 정보 비트들이 MPS를 가지는 1 비트의 피 은닉 정보 비트에 은닉됨을 알 수 있다.
그 후 상기 압축 장치는 상기 정보 비트 열에서 네 번째 피 은닉 정보 비트로 인해 선택된 은닉 정보 비트들의 다음 비트를 다섯 번째 피 은닉 정보 비트로 선택한다. 이때 선택된 다섯 번째 피 은닉 정보 비트는 LPS에 해당하는 ‘1’의 값을 가지므로, 상기 압축 장치는 상기 다섯 번째 피 은닉 정보 비트의 값인 ‘1’을 미리 결정된 값인 ‘4’로 치환한다.
한편 도 3에서는 선택한 피 은닉 정보 비트의 값이 MPS인 경우에 추가로 은닉 정보 비트들을 선택하는 동작을 선택 (selection) 동작 (도 3에서 점선으로 표시)이라 정의하였으며, 피 은닉 정보 비트의 값을 치환할 값을 상기 선택 동작에 의해 선택된 은닉 정보 비트들에 의해 결정하는 동작을 결정 (decision) 동작 (도 3에서 실선으로 표시)이라 정의하였다. 한편 선택한 피 은닉 정보 비트의 값이 LPS인 경우에 미리 결정된 값으로 치환하는 동작 또한 결정 동작에 해당한다.
따라서 상술한 선택 동작 및 결정 동작에 의해 가역 정보 은닉을 이용한 정보 비트 열 X의 무손실 압축이 이루어질 수 있으며, 상기 무손실 압축에 의해서는 압축된 (2m+1)진 정보 심볼 열 Z’을 얻을 수 있다. 상기 압축된 정보 심볼 열 Z’은 엔트로피 압축기에 의해 압축이 이루어진다.
한편 도 3에서 예시하고 있는 무손실 압축 기법은 다양한 형태로의 구현이 가능할 것이며, 하기 <표 2>은 매틉랩 (MATLAP) 표기법을 적용하여 도 3에서 예시한 무손실 압축 기법을 구현한 예를 보이고 있다.
표 2
Figure PCTKR2011000518-appb-T000002
A-2. 제2실시 예 (압축 기술)
도 4는 본 발명의 제2실시 예에 따른 압축장치의 구성을 보이고 있다.
도 4를 참조하면, 비트 분리부(410)는 정보 비트 열 X를 입력으로 하고, 상기 정보 비트 열 X로부터 피 은닉 정보 열 Yn과 은닉 정보 열 Vk을 분리한다.
여기서 상기 피 은닉 정보 열 Yn은 은닉 정보 열 Vk을 숨기기 위한 정보 비트 열을 의미하며, 상기 은닉 정보 열 Vk은 피 은닉 정보 열 Yn에 숨길 은닉 정보들의 비트 열을 의미한다. 상기 피 은닉 정보 열을 지칭하는 Yn와 상기 은닉 정보 열을 지칭하는 Vk에서 아래 첨자는 해당 정보 열의 길이를 의미한다. 이때 상기 k는 n ×p ×m 의해 결정된다. 여기서 상기 n은 피 은닉 정보 열 Yn의 길이를 의미하고, p는 피 은닉 정보 열 Yn에서 MPS의 확률, 즉 상기 피 은닉 정보 열 Yn에서 MPS를 가지는 비트가 선택될 확률을 의미하며, m은 하나의 피 은닉 정보 비트에 은닉할 은닉 정보 비트의 수를 의미한다. 상기 은닉 정보 비트로 선택할 비트 수 m에 대한 예측 방안을 일반화시키면 하기 <수 2>과 같이 정리할 수 있다.
수학식 2
Figure PCTKR2011000518-appb-M000002
상기 <수학식 2>에 의해 계산된 결과에서 나머지가 존재할 경우에는 획득한 몫에 1을 더한 값을 m으로 결정한다.
상기 비트 분리부(410)에 의해 분리된 피 은닉 정보 열 Yn과 은닉 정보 열 Vk은 정보 은닉부(420)로 제공한다. 하지만 무손실 압축을 위해 피 은닉 정보 열 Yn과 은닉 정보 열 Vk이 구분되어 입력되는 경우에는 상기 비트 분리부(410)가 별도로 구비될 필요가 없다. 즉 피 은닉 정보 열 Yn과 은닉 정보 열 Vk이 구분되어 입력되는 경우에 상기 비트 분리부(410)는 무손실 압축을 위한 필수 구성이라 할 수 없다.
상기 정보 은닉부(420)는 가역 정보 은닉을 이용하여 피 은닉 정보 열 Yn에 은닉 정보 열 Vk을 은닉함으로써, 무손실 압축에 의한 압축 심볼 열 Z’을 출력한다.
예컨대 상기 정보 은닉부(420)는 피 은닉 정보 열 Yn으로부터 피 은닉 정보 비트에 상응한 1 비트를 선택하고, 상기 선택한 피 은닉 정보 비트 값이 MPS인지를 판단한다.
만약 상기 선택한 피 은닉 정보 비트 값이 MPS라고 판단되면, 은닉 정보 열 Vk로부터 은닉 정보 비트들에 상응한 m 비트를 선택한다. 그리고 상기 선택한 피 은닉 정보 비트 값을 상기 선택한 은닉 정보 비트들에 대응하는 값으로 치환한다.
또한 상기 선택한 은닉 정보 비트들에 대응하는 값은 상기 <수 2>에 의해 획득한 m을 고려하여 결정하는 것이 바람직하다. 예컨대 상기 m이 2인 경우, 은닉 정보 비트들에 대응하여 미리 결정된 값은 하기 <표 3>에서 보이고 있는 바와 같이 0, 1, 2, 3이 될 수 있다.
표 3
Figure PCTKR2011000518-appb-T000003
그렇지 않고 상기 선택한 피 은닉 정보 비트 값이 MPS가 아닌 LPS라고 판단되면, 상기 선택한 피 은닉 정보 비트 값을 미리 설정된 값으로 치환한다. 이때 상기 미리 설정된 값은 상기 추가로 선택한 은닉 정보 비트들에 대응하는 값과 중복되어서는 안된다. 일 예로써 상기 미리 설정된 값은 2m이 될 수 있다. 여기서 m은 앞에서 정의된 바와 같이 피 은닉 정보 비트의 값이 MPS인 경우에 선택되는 은닉 정보 비트들의 비트 수이다.
상술한 바와 같이 상기 정보 은닉부(420)에서 수행되는 무손실 압축의 구체적인 예에 의한 설명은 후술될 것이다.
상기 정보 은닉부(420)에 의해 출력되는 압축 심볼 열 Z'n 은 부호화부(430)로 입력된다. 상기 부호화부(430)는 상기 정보 은닉부(420)로부터 입력되는 압축 심볼 열 Z'n 을 소정의 코딩 기법에 의해 압축하여 Zn을 출력한다.
상기 부호화부(430)에는 일 예로 엔트로피 코딩 (Entropy coding) 기법이 적용될 수 있다. 상기 엔트로피 코딩 기법은 출현 빈도가 높은 심볼에 짧은 코드를 배정하고 빈도가 낮은 심볼에 긴 코드를 배정하는 코딩 기법이다. 상기 엔트로피 코딩 기법은 일명 가변 길이 코딩(Variable-length coding) 기법이라고도 한다.
한편, 엔트로피 코딩 기법에서는 심볼의 빈도만을 고려하는데, 상기 엔트로피 코딩 기법으로는 허프만 코더 (Huffman coder)와 산술 부호 코더 중 어느 것이나 사용할 수 있다. 상기 엔트로피 코딩 기법은 미리 각 심볼의 출현 빈도를 알아야 최적의 압축이 가능하다. 이때 허프만 코딩을 사용하는 경우에는 각각의 심볼에 하나씩 코드워드를 배정하므로 정수 길이의 코드워드만 허용한다.
도 5는 본 발명의 제2실시 예에 따른 압축 장치에서 데이터 압축을 위한 제어 흐름을 보이고 있다.
도 5를 참조하면, 압축 장치는 510단계에서 2진 정보 비트 열을 외부로부터 입력 받는다. 그 후 상기 압축 장치는 512단계에서 상기 2진 정보 비트 열로부터 피 은닉 정보 비트 열과 은닉 정보 비트 열을 분리한다. 이때 상기 압축 장치는 상기 피 은닉 정보 비트 열의 길이 n과 MPS의 선택 확률 p 및 은닉 정보 비트 열의 길이 k 또는 정보 은닉을 위해 선택할 은닉 정보 비트의 수 m을 기반으로 상기 피 은닉 정보 비트 열과 은닉 정보 비트 열을 분리할 수 있다.
하지만 상기 피 은닉 정보 비트 열과 상기 은닉 정보 비트 열 각각이 2진 정보 비트 열로써 구분되어 입력되는 경우에는 상기 512단계에서의 동작은 생략될 수 있다.
상기 압축 장치는 상기 피 은닉 정보 비트 열과 상기 은닉 정보 비트 열의 분리가 완료되면, 514단계로 진행하여 상기 피 은닉 정보 비트 열로부터 피 은닉 정보 비트를 선택한다. 상기 압축 장치는 516단계에서 상기 선택한 피 은닉 정보 비트 값이 MPS인지를 판단한다. 앞에서도 정의된 바와 같이 상기 MPS는 상기 피 은닉 정보 비트 열을 구성하는 비트 값들 중 확률이 가장 높은 값을 의미한다.
상기 압축 장치는 상기 선택한 피 은닉 정보 비트 값이 MPS가 아닌 LPS라고 판단하면, 518단계에서 상기 선택한 피 은닉 정보 비트 값을 미리 결정된 값으로 치환한다. 이때 상기 미리 결정된 값은 MPS를 가지는 피 은닉 정보 비트에 대해 치환할 값과 중복되어서는 안된다. 일 예로 상기 미리 결정된 값은 2m이 될 수 있다.
하지만 상기 선택한 피 은닉 정보 비트 값이 MPS라고 판단하면, 상기 압축 장치는 520단계에서 상기 선택한 피 은닉 정보 비트에 은닉할 적어도 하나의 은닉 정보 비트를 선택한다. 상기 적어도 하나의 은닉 정보 비트는 상기 은닉 정보 비트 열로부터 m 개씩 순차적으로 선택된다.
상기 적어도 하나의 은닉 정보 비트를 선택하면, 상기 압축 장치는 522단계에서 상기 선택한 피 은닉 정보 비트 값을 상기 선택한 적어도 하나의 은닉 정보 비트에 대응하여 미리 결정된 값으로 치환한다. 이때 미리 결정된 값은 은닉 정보 비트로 선택한 비트 수를 고려하여 결정하여야 한다. 이에 대한 일 예는 상기 <표 3>에서 보이고 있다.
상기 압축 장치는 상기 518단계 또는 상기 522단계에서 피 은닉 정보 비트를 다른 값으로 치환하는 동작이 완료되면, 524단계에서 가역 정보 은닉을 이용한 무손실 압축이 완료되었는지를 판단한다.
상기 압축 장치는 무손실 압축이 완료되지 않았다고 판단되면, 상기 514단계로 리턴하여 새로 선택한 피 은닉 정보 비트에 대한 무손실 압축 동작을 반복하여 수행한다.
하지만 무손실 압축이 완료되었다고 판단되면, 상기 압축 장치는 상술한 동작에 의해 생성된 정보 심볼 열에 대한 부호화를 수행한다. 이때 부호화는 엔트로피 압축 기법에 의해 이루어질 수 있다. 상기 엔트로피 압축 기법은 앞에서도 밝힌 바와 같이 허프만 코드 또는 산술 부호 코더 중 어떠한 것을 사용하여도 좋다.
상기 압축 장치는 528단계에서 부호화를 통해 압축된 정보 심볼 열에 대한 패킹을 통해 정보 패킷을 생성한다.
도 6은 본 발명의 제2실시 예에서 제안하는 압축 기술에 따라 무손실 압축을 수행하는 예를 보이고 있다.
도 6에서는 압축을 위해 입력되는 이진 문자 열인 정보 비트 열 X로부터 피 은닉 정보 비트 열과 은닉 정보 비트 열을 분리한다. 이때 상기 정보 비트 열 X로부터 분리되는 피 은닉 정보 비트 열의 길이가 n이고, 은닉 정보 비트 열의 길이가 k라고 가정한다. 그리고 MPS가 ‘0’이고, LPS가 ‘1’이라 가정하며, 상기 피 은닉 정보 비트 열에서 MPS인 ‘0’의 값을 가지는 비트가 피 은닉 정보 비트로 선택될 확률이 p라고 가정한다.
따라서 상기 정보 비트 열 X에서 선택될 피 은닉 정보 비트 중 그 비트 값이 ‘0’인 비트의 수는 n ×p라고 예측할 수 있으며, 상기 예측한 MPS를 가지는 피 은닉 정보 비트의 수에 의해 은닉 정보 비트로 선택할 비트 수 m을 예측할 수 있다. 상기 은닉 정보 비트로 선택할 비트 수 m에 대한 예측은 앞에서 정의된 <수 2>에 의해 일반화시킬 수 있다.
또한 선택한 피 은닉 정보 비트의 값이 MPS인 경우, m 개의 은닉 정보 비트들에 의해 상기 선택한 피 은닉 정보 비트의 값인 MPS를 치환할 값의 일 예는 앞에서 <표 3>에 의해 정의된 바와 같다.
한편 상기 <표 1>에 의한 미리 결정된 값에는 LPS에 상응하는 값인 ‘1’이 포함되어 있다. 따라서 LPS에 상응하는 값인 ‘1’이 피 은닉 정보 비트로 선택될 경우에는 상기 선택된 피 은닉 정보 비트의 값을 상기 <표 1>에서 미리 결정된 값으로 정의하고 있지 않은 다른 값으로 치환할 필요가 있다. 이를 위해 도 6에서는 상기 LPS에 상응하는 값인 ‘1’이 피 은닉 정보 비트로 선택될 경우, 상기 선택된 피 은닉 정보 비트의 값을 ‘4’로 치환하는 것을 가정한다.
도 6을 참조하면, 압축장치는 이진 문자 열인 정보 비트 열 X로부터 길이가 7인 피 은닉 정보 비트 열 Y7과 길이가 10인 은닉 정보 비트 열 V10을 분리한다. 도 6에서는 정보 비트 열 X가 ‘01000010100101100’이고, 상기 정보 비트 열 X의 앞에서 7 비트에 해당하는 ‘0100001’을 피 은닉 정보 비트 열 Y7로 분리하고, 그 이후의 10 비트에 해당하는 ‘0100101100’을 은닉 정보 비트 열 V10로 분리한다.
그리고 상기 분리된 피 은닉 정보 비트 열 Y7로부터 1 비트 단위의 피 은닉 정보 비트를 선택하는 선택 (selection) 동작 (도 6에서 점선으로 표시)과, 상기 선택된 피 은닉 정보 비트의 값을 치환할 값을 결정하는 결정 (decision) 동작 (도 6에서 실선으로 표시)을 수행한다.
보다 구체적으로 설명하면, 상기 분리된 피 은닉 정보 비트 열 Y7의 첫 번째 비트를 피 은닉 정보 비트로 선택한다. 이때 상기 선택한 첫 번째 피 은닉 정보 비트의 값이 MPS에 해당하는 ‘0’이므로, 상기 압축장치는 상기 분리된 은닉 정보 비트 열 V10로부터 2 개의 은닉 정보 비트들을 선택한다. 이때 상기 2 개의 은닉 정보 비트들의 선택은 처음 비트부터 순차적으로 선택하는 것이 바람직하다. 따라서 상기 2 개의 은닉 정보 비트들로는 ‘01’이 선택된다.
그리고 상기 선택된 피 은닉 정보 비트의 값 ‘0’을 상기 선택된 은닉 정보 비트들인 ‘01’에 대응하여 상기 <표 3>에서 정의하고 있는 미리 결정된 값인 ‘1’로 치환한다. 이로 인해 결과적으로 ‘001’로 구성된 3 비트가 하나의 값인 ‘1’로 압축되었음을 확인할 수 있다. 즉 ‘01’로 구성된 2 비트의 은닉 정보 비트들이 MPS를 가지는 1 비트의 피 은닉 정보 비트에 은닉됨을 알 수 있다.
그 후 상기 압축 장치는 상기 분리된 피 은닉 정보 비트 열 Y7의 두 번째 비트를 피 은닉 정보 비트로 선택한다. 이때 상기 선택한 두 번째 피 은닉 정보 비트의 값이 LPS에 해당하는 ‘1’이므로, 상기 압축 장치는 상기 선택한 피 은닉 정보 비트의 값인 ‘1’을 미리 결정된 값인 ‘4’로 치환한다.
다음으로 상기 압축 장치는 상기 분리된 피 은닉 정보 비트 열 Y7의 세 번째 비트를 피 은닉 정보 비트로 선택한다. 이때 상기 선택한 세 번째 피 은닉 정보 비트의 값이 MPS에 해당하는 ‘0’이므로, 상기 압축장치는 상기 분리된 은닉 정보 비트 열 V10로부터 2 개의 은닉 정보 비트들을 선택한다. 이때 상기 2 개의 은닉 정보 비트들의 선택은 앞에서 은닉 정보 비트들로 선택된 비트에 연속하는 2 개의 비트를 선택하는 것이 바람직하다. 따라서 상기 2 개의 은닉 정보 비트들로는 ‘00’이 선택된다.
그리고 상기 선택된 피 은닉 정보 비트의 값 ‘0’을 상기 선택된 은닉 정보 비트들인 ‘00’에 대응하여 상기 <표 3>에서 정의하고 있는 미리 결정된 값인 ‘0’으로 치환한다. 이로 인해 결과적으로 ‘000’으로 구성된 3 비트가 하나의 값인 ‘0’으로 압축되었음을 확인할 수 있다. 즉 ‘00’로 구성된 2 비트의 은닉 정보 비트들이 MPS를 가지는 1 비트의 피 은닉 정보 비트에 은닉됨을 알 수 있다.
다음으로 상기 압축 장치는 상기 분리된 피 은닉 정보 비트 열 Y7의 네 번째 비트를 피 은닉 정보 비트로 선택한다. 이때 상기 선택한 네 번째 피 은닉 정보 비트의 값이 MPS에 해당하는 ‘0’이므로, 상기 압축장치는 상기 분리된 은닉 정보 비트 열 V10로부터 2 개의 은닉 정보 비트들을 선택한다. 이때 상기 2 개의 은닉 정보 비트들의 선택은 앞에서 은닉 정보 비트들로 선택된 비트에 연속하는 2 개의 비트를 선택하는 것이 바람직하다. 따라서 상기 2 개의 은닉 정보 비트들로는 ‘10’이 선택된다.
그리고 상기 선택된 피 은닉 정보 비트의 값 ‘0’을 상기 선택된 은닉 정보 비트들인 ‘10’에 대응하여 상기 <표 3>에서 정의하고 있는 미리 결정된 값인 ‘2’로 치환한다. 이로 인해 결과적으로 ‘010’으로 구성된 3 비트가 하나의 값인 ‘2’로 압축되었음을 확인할 수 있다. 즉 ‘10’로 구성된 2 비트의 은닉 정보 비트들이 MPS를 가지는 1 비트의 피 은닉 정보 비트에 은닉됨을 알 수 있다.
다음으로 상기 압축 장치는 상기 분리된 피 은닉 정보 비트 열 Y7의 다섯 번째 비트를 피 은닉 정보 비트로 선택한다. 이때 상기 선택한 다섯 번째 피 은닉 정보 비트의 값이 MPS에 해당하는 ‘0’이므로, 상기 압축장치는 상기 분리된 은닉 정보 비트 열 V10로부터 2 개의 은닉 정보 비트들을 선택한다. 이때 상기 2 개의 은닉 정보 비트들의 선택은 앞에서 은닉 정보 비트들로 선택된 비트에 연속하는 2 개의 비트를 선택하는 것이 바람직하다. 따라서 상기 2 개의 은닉 정보 비트들로는 ‘11’이 선택된다.
그리고 상기 선택된 피 은닉 정보 비트의 값 ‘0’을 상기 선택된 은닉 정보 비트들인 ‘11’에 대응하여 상기 <표 3>에서 정의하고 있는 미리 결정된 값인 ‘3’으로 치환한다. 이로 인해 결과적으로 ‘011’로 구성된 3 비트가 하나의 값인 ‘3’으로 압축되었음을 확인할 수 있다. 즉 ‘11’로 구성된 2 비트의 은닉 정보 비트들이 MPS를 가지는 1 비트의 피 은닉 정보 비트에 은닉됨을 알 수 있다.
다음으로 상기 압축 장치는 상기 분리된 피 은닉 정보 비트 열 Y7의 여섯 번째 비트를 피 은닉 정보 비트로 선택한다. 이때 상기 선택한 여섯 번째 피 은닉 정보 비트의 값이 MPS에 해당하는 ‘0’이므로, 상기 압축장치는 상기 분리된 은닉 정보 비트 열 V10로부터 2 개의 은닉 정보 비트들을 선택한다. 이때 상기 2 개의 은닉 정보 비트들의 선택은 앞에서 은닉 정보 비트들로 선택된 비트에 연속하는 2 개의 비트를 선택하는 것이 바람직하다. 따라서 상기 2 개의 은닉 정보 비트들로는 ‘00’이 선택된다.
그리고 상기 선택된 피 은닉 정보 비트의 값 ‘0’을 상기 선택된 은닉 정보 비트들인 ‘00’에 대응하여 상기 <표 3>에서 정의하고 있는 미리 결정된 값인 ‘0’으로 치환한다. 이로 인해 결과적으로 ‘000’로 구성된 3 비트가 하나의 값인 ‘0’으로 압축되었음을 확인할 수 있다. 즉 ‘00’로 구성된 2 비트의 은닉 정보 비트들이 MPS를 가지는 1 비트의 피 은닉 정보 비트에 은닉됨을 알 수 있다.
마지막으로 상기 압축 장치는 상기 분리된 피 은닉 정보 비트 열 Y7의 일곱 번째 비트를 피 은닉 정보 비트로 선택한다. 이때 상기 선택한 일곱 번째 피 은닉 정보 비트의 값이 LPS에 해당하는 ‘1’이므로, 상기 압축 장치는 상기 선택한 피 은닉 정보 비트의 값인 ‘1’을 미리 결정된 값인 ‘4’로 치환한다.
상술한 동작에 의해 최종적으로 무손실 압축에 의해 출력되는(2m+1) 진 정보 심볼 열 Z'n은 ‘1402304’가 된다. 그 후 상기 가역 정보 은닉에 의해 압축된 (2m+1) 진 정보 심볼 열 Z'n은 엔트로피 압축기에 의해 압축이 이루어진다.
한편 도 6에서 예시하고 있는 무손실 압축 기법은 다양한 형태로의 구현이 가능할 것이며, 하기 <표 4>은 매틉랩 (MATLAP) 표기법을 적용하여 도 6에서 예시한 무손실 압축 기법을 구현한 예를 보이고 있다.
표 4
Figure PCTKR2011000518-appb-T000004
한편 앞에서 살펴본 본 발명의 제1 및 제2실시 예에 따른 압축 기술에서는 MPS를 기반으로 하여 압축을 수행하도록 하고 있다. 이로 인해 본 발명의 제1 및 제2실시 예에 의해 압축된 정보 심볼을 복원하기 위해서는 MPS에 관한 정보가 추가로 요구될 수 있다. 따라서 본 발명의 제1 및 제2실시 예에 의해 압축된 정보 심볼의 복원을 위해 MPS에 관한 정보가 추가로 기록될 수 있도록 하여야 한다. 이때 상기 MPS에 관한 정보는 압축을 위한 입력 정보 비트 열 또는 피 은닉 정보 비트 열에서 MPS를 가지는 비트가 피 은닉 정보 비트로 선택될 수 있는 확률 p 등이 될 수 있다.
B. 복원 기술
먼저 본 발명의 제1실시 예에 따른 압축 기술에 대응한 복원 기술에서는 정보 은닉이 이루어진 정보 심볼 열로부터 2진 정보 비트 열을 복원하는 방안을 마련한다.
이를 위해서는 압축된 정보 심볼 각각으로부터 하나의 정보 비트 또는 복수의 정보 비트들을 직접 복원한다. 즉 상기 압축된 정보 심볼의 값이 MPS에 대응하여 치환된 값인 경우에는 상기 압축된 정보 심볼의 값을 MPS로 복원한다. 하지만 상기 압축된 정보 심볼의 값이 MPS에 대응하여 치환된 값이 아닌 경우에는 상기 압축된 정보 심볼의 값을 미리 결정된 값을 가지는 복수의 비트들로 복원한다.
다음으로 본 발명의 제2실시 예에 따른 압축 기술에 대응한 복원 기술에서는 정보 은닉이 이루어진 정보 심볼 열로부터 피 은닉 정보 비트 열과 은닉 정보 비트 열을 복원하고, 상기 복원된 피 은닉 정보 비트 열과 은닉 정보 비트 열을 결합하여 2진 정보 비트 열을 출력한다.
이를 위해서는 압축된 정보 심볼 각각의 값이 MPS에 대응하여 치환된 값인지 아니면 LPS에 대응하여 치환된 값인지를 판단한다. 그리고 상기 압축된 정보 심볼의 값이 MPS에 대응하여 치환된 값인 경우에는 상기 MPS를 피 은닉 정보 비트로 복원하고, 상기 압축된 정보 심볼의 값에 대응하여 치환된 값을 은닉 정보 비트들로 복원한다. 하지만 상기 압축된 정보 심볼의 값이 LPS에 대응하여 치환된 값인 경우에는 상기 LPS를 피 은닉 정보 비트로만 복원한다.
그 후 상술한 바에 의해 복원된 피 은닉 정보 비트들에 의해 구성된 피 은닉 정보 비트 열과 상기 복원된 은닉 정보 비트들에 의해 구성된 은닉 정보 비트 열을 결합하여 복원이 완료된 2진 정보 비트 열을 획득한다.
B-1. 제1실시 예 (복원 기술)
도 7은 본 발명의 제1실시 예에 따른 복원장치의 구성을 보이고 있다.
도 7을 참조하면, 복호화부(710)는 복원할 정보 패킷 Z를 입력으로 하고, 상기 복원할 정보 패킷 Z를 소정의 디코딩 기법에 의해 m진 정보 심볼 열 Z’을 출력한다.
상기 복호화부(710)에는 일 예로 엔트로피 코딩 (Entropy coding) 기법에 상응하는 엔트로피 디코딩 기법이 적용될 수 있다. 상기 엔트로피 디코딩 기법에서는 심볼의 빈도만을 고려하는데, 상기 엔트로피 디코딩 기법으로는 허프만 코더 (Huffman coder)에 대응한 디코더와 산술 부호 코더에 대응한 디코더 중 어느 것이나 사용할 수 있다.
정보 복원부(720)는 정보 은닉이 이루어진 m진 정보 심볼 열 Z’을 입력으로 하고, 상기 입력되는 정보 은닉이 이루어진 m진 정보 심볼 열 Z’로부터 피 은닉 정보 비트와 은닉 정보 비트를 복원한다.
예컨대 상기 정보 복원부(720)는 상기 m진 정보 심볼 열 Z’로부터 하나의 복원 정보 심볼을 선택한다. 이때 정보 복원을 최초로 시작하는 경우에는 상기 m진 정보 심볼 열 Z’의 첫 번째 정보 심볼을 복원 정보 심볼로 선택하고, 정보 복원이 진행되고 있는 중인 경우에는 현재까지 복원이 이루어진 정보 심볼을 제외한 나머지 정보 심볼들 중 첫 번째 정보 심볼을 복원 정보 심볼로 선택한다.
그리고 상기 정보 복원부(720)는 상기 선택한 복원 정보 심볼이 LPS에 대응하여 치환된 값인지를 판단한다. 이때 상기 LPS에 대응하여 치환된 값의 일 예는 2m이 될 수 있다. 상기 정보 복원부(720)는 상기 선택한 복원 정보 심볼이 LPS에 대응하여 치환된 값이라고 판단하면, 상기 복원 정보 심볼을 LPS로 복원한다. 하지만 상기 정보 복원부(720)는 상기 선택한 복원 정보 심볼이 LPS에 대응하여 치환된 값이 아니라고 판단하면, 상기 복원 정보 심볼을 피 은닉 정보 비트와 m 개의 은닉 정보 비트들로 복원한다. 이때 상기 피 은닉 정보 비트의 값은 MPS로 복원되며, 상기 m 개의 은닉 정보 비트들은 상기 복원 정보 심볼의 값에 대응하여 미리 결정된 비트들로 복원된다.
하기 <표 5>에서는 선택한 복원 정보 심볼에 대응하여 복원할 피 은닉 정보와 m 개의 은닉 정보 비트들에 대한 일 예를 정의하고 있다.
표 5
Figure PCTKR2011000518-appb-T000005
상기 <표 5>에서는 m이 2인 경우를 가정하고 있다. 그리고 상기 <표 5>에서 MPS는 0, LPS는 1임을 가정하고 있다.
따라서 상기 정보 복원부(720)는 복원 정보 심볼로 ‘2’가 선택되었다면, 2진 정보 비트들로 ‘010’을 복원한다. 하지만 복원 정보 심볼로 ‘4’가 선택되었다면, 2진 정보 비트로 ‘1’을 복원한다.
한편 상기 정보 복원부(720)는 상기 m진 정보 심볼 열 Z’를 구성하는 모든 정보 심볼들에 대한 복원을 완료하면, 상기 모든 정보 심볼들의 복원에 의해 생성한 2진 정보 비트 열 X를 출력한다.
도 8은 본 발명의 제1실시 예에 따른 복원장치에서 압축 데이터를 복원하기 위한 제어 흐름을 보이고 있다.
도 8을 참조하면, 복원장치는 810단계에서 입력되는 m진 정보 심볼 열 Z에 대한 복호화를 수행한다. 상기 복호화를 위해 일 예로 엔트로피 코딩 (Entropy coding) 기법에 상응하는 엔트로피 디코딩 기법이 적용될 수 있다. 상기 엔트로피 디코딩 기법에서는 심볼의 빈도만을 고려하는데, 상기 엔트로피 디코딩 기법으로는 허프만 코더 (Huffman coder)에 대응한 디코더와 산술 부호 코더에 대응한 디코더 중 어느 것이나 사용할 수 있다.
상기 복원장치는 상기 m진 정보 심볼 열 Z에 대한 복호화가 완료되면, 812단계에서 상기 복호화가 이루어진 m진 정보 심볼 열 Z’로부터 복원 정보 심볼을 순차적으로 선택한다. 즉 상기 복호화가 이루어진 m진 정보 심볼 열 Z’로부터 복원 정보 심볼을 한 심볼씩 선택한다.
그리고 상기 복원장치는 814단계에서 상기 선택한 복원 정보 심볼의 값이 LPS에 대응하여 미리 결정된 값 (일 예로 2m)인지를 판단한다. 상기 복원장치는 상기 선택한 복원 정보 심볼의 값이 LPS에 대응하여 미리 결정된 값이라고 판단하면, 816단계로 진행하여 2진 정보 비트의 값을 LPS로 복원한다. 즉 상기 선택한 복원 정보 심볼의 값을 LPS로 복원한다.
하지만 상기 복원장치는 상기 선택한 복원 정보 심볼의 값이 LPS에 대응하여 미리 결정된 값이 아니라고 판단하면, 818단계로 진행하여 m+1 비트의 2진 정보 비트들의 값을 복원한다. 즉 상기 선택한 복원 정보 심볼의 값을 1비트의 MPS와 미리 결정된 m 비트의 값으로 복원한다. 상기 m 비트의 미리 결정된 값을 복원하는 예에 대해서는 상기 <표 5>에서 보이고 있다.
따라서 상기 선택한 복원 정보 심볼의 값이 LPS에 대응하여 미리 결정된 값인 경우에는 상기 선택한 복원 정보 심볼이 1비트로 복원되고, 상기 선택한 복원 정보 심볼의 값이 LPS에 대응하여 미리 결정된 값이 아닌 경우에는 상기 선택한 복원 정보 심볼이 m+1 비트로 복원된다.
상기 복원장치는 820단계에서 상기 복호화가 이루어진 m진 정보 심볼 열 Z’을 구성하는 모든 정보 심볼들에 대한 복원이 이루어졌는지를 판단한다. 즉 상기 복호화가 이루어진 m진 정보 심볼 열 Z’에 대한 복원이 완료되었는지를 판단한다.
만약 복원이 완료되지 않았다고 판단되면, 상기 복원장치는 상기 812단계로 진행하여 다음 복원 정보 심볼을 선택하여 상술한 동작에 의한 복원 동작을 반복하여 수행한다.
하지만 복원이 완료되었다고 판단되면, 상기 복원장치는 822단계에서 앞에서 수행된 복원 동작에 의해 복원이 이루어진 비트들에 의해 2진 정보 비트 열을 생성한다.
도 9는 본 발명의 제1실시 예에서 제안하는 복원 기술에 따라 무손실 압축된 정보 심볼에 대한 복원을 수행하는 예를 보이고 있다. 도 9에서는 MPS가 ‘0’이고, LPS가 ‘1’이라 가정하며, 복원을 위해 앞에서 개시한 <표 5>를 이용하도록 한다.
도 9를 참조하면, 복원장치는 m진 정보 심볼 열 Z’인 ‘24034’로부터 순차적으로 복원 정보 심볼을 선택한다. 즉 상기 복원장치는 2, 4, 0, 3, 4의 순서로 복원 정보 심볼을 선택한다.
상기 복원장치는 첫 번째 복원 정보 심볼로 ‘2’를 선택하면, 상기 선택한 복원 정보 심볼 ‘2’가 LPS에 대응하여 미리 결정된 값인 ‘4’가 아니므로, 2진 정보 비트의 값을 MPS인 ‘0’과, 상기 선택한 복원 정보 심볼 ‘2’에 대응하여 미리 결정된 비트들인 ‘10’으로 복원한다. 따라서 상기 선택한 복원 정보 심볼 ‘2’는 ‘010’의 2진 정보 비트로 복원된다.
다음으로 상기 복원장치는 두 번째 복원 정보 심볼로 ‘4’를 선택하면, 상기 선택한 복원 정보 심볼 ‘4’가 LPS에 대응하여 미리 결정된 값이므로, 2진 정보 비트의 값을 LPS인 ‘1’로 복원한다. 그리고 상기 선택한 복원 정보 심볼 ‘4’에 대응하여 미리 결정된 2진 정보 비트들이 존재하지 않으므로 더 이상의 복원이 이루어지지 않는다. 따라서 상기 선택한 복원 정보 심볼 ‘4’는 ‘1’로 복원된다.
다음으로 상기 복원장치는 세 번째 복원 정보 심볼로 ‘0’을 선택하면, 상기 선택한 복원 정보 심볼 ‘0’이 LPS에 대응하여 미리 결정된 값인 ‘4’가 아니므로, 2진 정보 비트의 값을 MPS인 ‘0’과, 상기 선택한 복원 정보 심볼 ‘0’에 대응하여 미리 결정된 비트들인 ‘00’으로 복원한다. 따라서 상기 선택한 복원 정보 심볼 ‘0’는 ‘000’의 2진 정보 비트로 복원된다.
다음으로 상기 복원장치는 네 번째 복원 정보 심볼로 ‘3’을 선택하면, 상기 선택한 복원 정보 심볼 ‘3’이 LPS에 대응하여 미리 결정된 값인 ‘4’가 아니므로, 2진 정보 비트의 값을 MPS인 ‘0’과, 상기 선택한 복원 정보 심볼 ‘3’에 대응하여 미리 결정된 비트들인 ‘11’로 복원한다. 따라서 상기 선택한 복원 정보 심볼 ‘3’은 ‘011’의 2진 정보 비트로 복원된다.
마지막으로 상기 복원장치는 다섯 번째 복원 정보 심볼로 ‘4’를 선택하면, 상기 선택한 복원 정보 심볼 ‘4’가 LPS에 대응하여 미리 결정된 값이므로, 2진 정보 비트의 값을 LPS인 ‘1’로 복원한다. 그리고 상기 선택한 복원 정보 심볼 ‘4’에 대응하여 미리 결정된 2진 정보 비트들이 존재하지 않으므로 더 이상의 복원이 이루어지지 않는다. 따라서 상기 선택한 복원 정보 심볼 ‘4’는 ‘1’의 2진 정보 비트로 복원된다.
따라서 상술한 복원 동작에 의해 m진 정보 심볼 열 Z’인 ‘24034’로부터 2진 정보 비트 열 X인 ‘010100001110’이 복원된다.
B-2. 제2실시 예 (복원 기술)
도 10은 본 발명의 제2실시 예에 따른 복원장치의 구성을 보이고 있다.
도 10을 참조하면, 복호화부(1010)는 복원할 정보 패킷 Zn을 입력으로 하고, 상기 복원할 정보 패킷 Zn를 소정의 디코딩 기법에 의해 m진 정보 심볼 열 Z'n을 출력한다.
상기 복호화부(1010)에는 일 예로 엔트로피 코딩 (Entropy coding) 기법에 상응하는 엔트로피 디코딩 기법이 적용될 수 있다. 상기 엔트로피 디코딩 기법에서는 심볼의 빈도만을 고려하는데, 상기 엔트로피 디코딩 기법으로는 허프만 코더 (Huffman coder)에 대응한 디코더와 산술 부호 코더에 대응한 디코더 중 어느 것이나 사용할 수 있다.
정보 복원부(1012)는 정보 은닉이 이루어진 m진 정보 심볼 열 Z'n을 입력으로 하고, 상기 입력되는 정보 은닉이 이루어진 m진 정보 심볼 열 Z'n로부터 피 은닉 정보 비트와 은닉 정보 비트를 복원한다.
예컨대 상기 정보 복원부(1012)는 상기 m진 정보 심볼 열 Z'n로부터 하나의 복원 정보 심볼을 선택한다. 이때 정보 복원을 최초로 시작하는 경우에는 상기 m진 정보 심볼 열 Z'n의 첫 번째 정보 심볼을 복원 정보 심볼로 선택하고, 정보 복원이 진행되고 있는 중인 경우에는 현재까지 복원이 이루어진 정보 심볼을 제외한 나머지 정보 심볼들 중 첫 번째 정보 심볼을 복원 정보 심볼로 선택한다.
그리고 상기 정보 복원부(1012)는 상기 선택한 복원 정보 심볼이 LPS에 대응하여 치환된 값인지를 판단한다. 이때 상기 LPS에 대응하여 치환된 값의 일 예는 2m이 될 수 있다. 상기 정보 복원부(1012)는 상기 선택한 복원 정보 심볼이 LPS에 대응하여 치환된 값이라고 판단하면, 상기 복원 정보 심볼에 대응한 피 은닉 정보 비트 값을 LPS로 복원한다. 하지만 상기 정보 복원부(1012)는 상기 선택한 복원 정보 심볼이 LPS에 대응하여 치환된 값이 아니라고 판단하면, 상기 복원 정보 심볼에 대응하여 피 은닉 정보 비트의 값을 MPS로 복원하고 m 개의 은닉 정보 비트들을 미리 결정된 비트 값들로 복원한다.
하기 <표 6>에서는 선택한 복원 정보 심볼에 대응하여 복원할 피 은닉 정보와 m 개의 은닉 정보 비트들에 대한 일 예를 정의하고 있다.
표 6
Figure PCTKR2011000518-appb-T000006
상기 <표 6>에서는 m이 2인 경우를 가정하고 있다. 그리고 상기 <표 6>에서 MPS는 0, LPS는 1이 될 수 있다.
따라서 상기 정보 복원부(1012)는 복원 정보 심볼로 ‘2’가 선택되었다면, 피 은닉 정보 비트로 ‘0’을 복원하고, 은닉 정보 비트들로 ‘10’을 복원한다. 하지만 복원 정보 심볼로 ‘4’가 선택되었다면, 피 은닉 정보 비트만을 ‘1’로 복원한다.
한편 상기 정보 복원부(1012)는 상기 m진 정보 심볼 열 Z'n를 구성하는 모든 정보 심볼들에 대한 복원을 완료하면, 상기 모든 정보 심볼들의 복원에 의해 생성한 피 은닉 정보 비트 열 Yn과 은닉 정보 비트 열 Vk을 출력한다.
상기 정보 복원부(1012)로부터 출력되는 피 은닉 정보 비트 열 Yn과 은닉 정보 비트 열 Vk는 비트 결합부(1014)로 입력된다. 상기 비트 결합부(1014)는 상기 정보 복원부(1012)로부터 입력되는 피 은닉 정보 비트 열 Yn과 은닉 정보 비트 열 Vk을 결합하여 2진 정보 비트 열 X를 출력한다.
도 11은 본 발명의 제2실시 예에 따른 복원장치에서 압축 데이터를 복원하기 위한 제어 흐름을 보이고 있다.
도 11을 참조하면, 복원장치는 1110단계에서 입력되는 m진 정보 심볼 열 Zn에 대한 복호화를 수행한다. 상기 복호화를 위해 일 예로 엔트로피 코딩 (Entropy coding) 기법에 상응하는 엔트로피 디코딩 기법이 적용될 수 있다. 상기 엔트로피 디코딩 기법에서는 심볼의 빈도만을 고려하는데, 상기 엔트로피 디코딩 기법으로는 허프만 코더 (Huffman coder)에 대응한 디코더와 산술 부호 코더에 대응한 디코더 중 어느 것이나 사용할 수 있다.
상기 복원장치는 상기 m진 정보 심볼 열 Zn에 대한 복호화가 완료되면, 812단계에서 상기 복호화가 이루어진 m진 정보 심볼 열 Z'n로부터 복원 정보 심볼을 순차적으로 선택한다. 즉 상기 복호화가 이루어진 m진 정보 심볼 열 Z'n로부터 복원 정보 심볼을 한 심볼씩 선택한다.
그리고 상기 복원장치는 1114단계에서 상기 선택한 복원 정보 심볼의 값이 LPS에 대응하여 미리 결정된 값 (일 예로 2m)인지를 판단한다. 상기 복원장치는 상기 선택한 복원 정보 심볼의 값이 LPS에 대응하여 미리 결정된 값이라고 판단하면, 1116단계로 진행하여 피 은닉 정보 비트의 값을 LPS로 복원한다. 즉 상기 선택한 복원 정보 심볼의 값을 LPS로 복원한다.
하지만 상기 복원장치는 상기 선택한 복원 정보 심볼의 값이 LPS에 대응하여 미리 결정된 값이 아니라고 판단하면, 1118단계로 진행하여 1비트의 피 은닉 정보 비트의 값을 MPS로 복원한다. 그리고 1120단계로 진행하여 상기 선택한 복원 정보 심볼에 대응하여 미리 결정되어 있는 m 비트의 값을 은닉 정보 비트들로 복원한다. 상기 m 비트의 은닉 정보 비트들의 값을 복원하는 예에 대해서는 상기 <표 6>에서 보이고 있다.
따라서 상기 선택한 복원 정보 심볼의 값이 LPS에 대응하여 미리 결정된 값인 경우에는 상기 선택한 복원 정보 심볼이 1비트의 피 은닉 정보 비트로 복원되고, 상기 선택한 복원 정보 심볼의 값이 LPS에 대응하여 미리 결정된 값이 아닌 경우에는 상기 선택한 복원 정보 심볼이 1비트의 피 은닉 정보 비트와 m 비트의 은닉 정보 비트들로 복원된다.
상기 복원장치는 1122단계에서 상기 복호화가 이루어진 m진 정보 심볼 열 Z'n을 구성하는 모든 정보 심볼들에 대한 복원이 이루어졌는지를 판단한다. 즉 상기 복호화가 이루어진 m진 정보 심볼 열 Z'n에 대한 복원이 완료되었는지를 판단한다.
만약 복원이 완료되지 않았다고 판단되면, 상기 복원장치는 상기 1112단계로 진행하여 다음 복원 정보 심볼을 선택하여 상술한 동작에 의한 복원 동작을 반복하여 수행한다.
하지만 복원이 완료되었다고 판단되면, 상기 복원장치는 1124단계에서 앞에서 수행된 복원 동작에 의해 복원이 이루어진 피 은닉 정보 비트 열과 은닉 정보 비트 열을 결합하여 2진 정보 비트 열을 생성한다.
도 12는 본 발명의 제2실시 예에서 제안하는 복원 기술에 따라 무손실 압축된 정보 심볼에 대한 복원을 수행하는 예를 보이고 있다. 도 12에서는 MPS가 ‘0’이고, LPS가 ‘1’이라 가정하며, 복원을 위해 앞에서 개시한 <표 6>을 이용하도록 한다.
도 12를 참조하면, 복원장치는 m진 정보 심볼 열 Z'n인 ‘1402304’로부터 순차적으로 복원 정보 심볼을 선택한다. 즉 상기 복원장치는 1, 4, 0, 2, 3, 0, 4의 순서로 복원 정보 심볼을 선택한다.
상기 복원장치는 첫 번째 복원 정보 심볼로 ‘1’을 선택하면, 상기 선택한 복원 정보 심볼 ‘1’이 LPS에 대응하여 미리 결정된 값인 ‘4’가 아니므로, 피 은닉 정보 비트의 값을 MPS인 ‘0’으로 복원한다. 그리고 상기 선택한 복원 정보 심볼 ‘1’에 대응하여 미리 결정된 비트들인 ‘01’을 은닉 정보 비트들로 복원한다.
다음으로 상기 복원장치는 두 번째 복원 정보 심볼로 ‘4’를 선택하면, 상기 선택한 복원 정보 심볼 ‘4’가 LPS에 대응하여 미리 결정된 값이므로, 피 은닉 정보 비트의 값을 LPS인 ‘1’로 복원한다. 그리고 상기 선택한 복원 정보 심볼 ‘4’에 대응하여 미리 결정된 은닉 정보 비트들이 존재하지 않으므로 더 이상의 복원이 이루어지지 않는다.
다음으로 상기 복원장치는 세 번째 복원 정보 심볼로 ‘0’을 선택하면, 상기 선택한 복원 정보 심볼 ‘0’이 LPS에 대응하여 미리 결정된 값인 ‘4’가 아니므로, 피 은닉 정보 비트의 값을 MPS인 ‘0’으로 복원한다. 그리고 상기 선택한 복원 정보 심볼 ‘0’에 대응하여 미리 결정된 비트들인 ‘00’을 은닉 정보 비트들로 복원한다.
다음으로 상기 복원장치는 네 번째 복원 정보 심볼로 ‘2’를 선택하면, 상기 선택한 복원 정보 심볼 ‘2’가 LPS에 대응하여 미리 결정된 값인 ‘4’가 아니므로, 피 은닉 정보 비트의 값을 MPS인 ‘0’으로 복원한다. 그리고 상기 선택한 복원 정보 심볼 ‘2’에 대응하여 미리 결정된 비트들인 ‘10’을 은닉 정보 비트들로 복원한다.
다음으로 상기 복원장치는 다섯 번째 복원 정보 심볼로 ‘3’을 선택하면, 상기 선택한 복원 정보 심볼 ‘3’이 LPS에 대응하여 미리 결정된 값인 ‘4’가 아니므로, 피 은닉 정보 비트의 값을 MPS인 ‘0’으로 복원한다. 그리고 상기 선택한 복원 정보 심볼 ‘3’에 대응하여 미리 결정된 비트들인 ‘11’을 은닉 정보 비트들로 복원한다.
다음으로 상기 복원장치는 여섯 번째 복원 정보 심볼로 ‘0’을 선택하면, 상기 선택한 복원 정보 심볼 ‘0’이 LPS에 대응하여 미리 결정된 값인 ‘4’가 아니므로, 피 은닉 정보 비트의 값을 MPS인 ‘0’으로 복원한다. 그리고 상기 선택한 복원 정보 심볼 ‘0’에 대응하여 미리 결정된 비트들인 ‘00’을 은닉 정보 비트들로 복원한다.
마지막으로 상기 복원장치는 일곱 번째 복원 정보 심볼로 ‘4’를 선택하면, 상기 선택한 복원 정보 심볼 ‘4’가 LPS에 대응하여 미리 결정된 값이므로, 피 은닉 정보 비트의 값을 LPS인 ‘1’로 복원한다. 그리고 상기 선택한 복원 정보 심볼 ‘4’에 대응하여 미리 결정된 은닉 정보 비트들이 존재하지 않으므로 더 이상의 복원이 이루어지지 않는다.
따라서 상술한 복원 동작에 의해 m진 정보 심볼 열 Z'n인 ‘1402304’로부터 2진 피 은닉 정보 비트 열인 ‘0100001’과 2진 은닉 정보 비트 열인 ‘0100101100’을 복원한다. 그리고 상기 2진 피 은닉 정보 비트 열인 ‘0100001’과 상기 2진 은닉 정보 비트 열인 ‘0100101100’을 결합한 2진 정보 비트 열 X인 ‘01000010100101100’을 생성한다.
한편 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어 져서는 안 될 것이다.

Claims (25)

  1. 정보 은닉에 의한 데이터 압축 방법에 있어서,
    압축을 위한 2진 정보 비트 열로부터 선택한 피 은닉 정보 비트의 값이 결정 값인 경우 상기 2진 정보 비트 열로부터 추가로 선택한 m(≥1)개의 은닉 정보 비트에 대응하여 미리 설정된 2m 진 값으로 상기 선택한 피 은닉 정보 비트와 상기 추가로 선택한 m 개의 은닉 정보 비트를 치환하는 데이터 압축 방법.
  2. 제1항에 있어서,
    상기 선택한 피 은닉 정보 비트의 값이 설정 값이 아닌 경우 상기 선택한 피 은닉 정보 비트를 상기 미리 설정된 2m 진 값과 중복되지 않는 값으로 치환하는 데이터 압축 방법.
  3. 제1항 또는 제2항에 있어서,상기 결정 값은 상기 2진 정보 비트 열 내의 비트 값들 중 가장 높은 비율을 갖는 값임을 특징으로 하는 데이터 압축 방법.
  4. 제2항에 있어서,
    상기 미리 설정된 2m 진 값과 중복되지 않는 값은 2m임을 특징으로 하는 데이터 압축 방법.
  5. 정보 은닉에 의한 데이터 압축 방법에 있어서,
    길이가 n인 피 은닉 정보 비트 열과 길이가 k인 은닉 정보 비트 열을 입력으로 하고, 상기 피 은닉 정보 비트 열의 각 비트 중 결정 값에 해당하는 비트의 값을 상기 은닉 정보 비트 열로부터 순차적으로 추출한 m(≥1)개의 비트들에 상응하는 2m진 값으로 치환하는 데이터 압축 방법.
  6. 제5항에 있어서,압축을 위한 2진 정보 비트 열로부터 상기 길이가 n인 피 은닉 정보 비트 열과 상기 길이가 k인 은닉 정보 비트 열을 분리하는 과정을 더 포함하는 데이터 압축 방법.
  7. 제5항 또는 제6항에 있어서,
    상기 피 은닉 정보 비트 열의 각 비트 중 상기 결정 값이 아닌 비트의 값을 상기 2m 진 값과 중복되지 않는 값으로 치환하는 데이터 압축 방법.
  8. 제5항에 있어서,
    상기 결정 값은 상기 2진 정보 비트 열 내의 비트 값들 중 가장 높은 비율을 갖는 값임을 특징으로 하는 데이터 압축 방법.
  9. 제7항에 있어서,
    상기 2m진 값과 중복되지 않는 값은 2m임을 특징으로 하는 데이터 압축 방법.
  10. 정보 은닉에 의한 데이터 압축 장치에 있어서,
    압축을 위한 2진 정보 비트 열로부터 선택한 피 은닉 정보 비트의 값이 결정 값인 경우 상기 2진 정보 비트 열로부터 추가로 선택한 m(≥1)개의 은닉 정보 비트에 대응하여 미리 설정된 2m 진 값으로 상기 선택한 피 은닉 정보 비트와 상기 추가로 선택한 m 개의 은닉 정보 비트를 치환하는 정보 은닉부와,
    상기 정보 은닉부로부터 출력되는 2m+1 진 정보 심볼 열을 부호화하여 출력하는 부호화부를 포함하는 데이터 압축 장치.
  11. 제10항에 있어서, 상기 정보 은닉부는,
    상기 선택한 피 은닉 정보 비트의 값이 설정 값이 아닌 경우 상기 선택한 피 은닉 정보 비트를 상기 미리 설정된 2m 진 값과 중복되지 않는 값으로 치환하는 데이터 압축 장치.
  12. 제10항 또는 제11항에 있어서,
    상기 결정 값은 상기 2진 정보 비트 열 내의 비트 값들 중 가장 높은 비율을 갖는 값임을 특징으로 하는 데이터 압축 장치.
  13. 제11항에 있어서,
    상기 미리 설정된 2m 진 값과 중복되지 않는 값은 2m임을 특징으로 하는 데이터 압축 장치.
  14. 정보 은닉에 의한 데이터 압축 장치에 있어서,
    길이가 n인 피 은닉 정보 비트 열과 길이가 k인 은닉 정보 비트 열을 입력으로 하고, 상기 피 은닉 정보 비트 열의 각 비트 중 결정 값에 해당하는 비트의 값을 상기 은닉 정보 비트 열로부터 순차적으로 추출한 m(≥1)개의 비트들에 상응하는 2m진 값으로 치환하는 정보 은닉부와,
    상기 정보 은닉부로부터 출력되는 2m+1진 정보 심볼 열을 부호화하여 출력하는 부호화부를 포함하는 데이터 압축 장치.
  15. 제14항에 있어서,
    압축을 위한 2진 정보 비트 열로부터 상기 길이가 n인 피 은닉 정보 비트 열과 상기 길이가 k인 은닉 정보 비트 열을 분리하는 비트 분리부를 더 포함하는 데이터 압축 장치.
  16. 제14항 또는 제15항에 있어서,
    상기 피 은닉 정보 비트 열의 각 비트 중 상기 결정 값이 아닌 비트의 값을 상기 2m 진 값과 중복되지 않는 값으로 치환하는 데이터 압축 장치.
  17. 제14항에 있어서,
    상기 결정 값은 상기 2진 정보 비트 열 내의 비트 값들 중 가장 높은 비율을 갖는 값임을 특징으로 하는 데이터 압축 장치.
  18. 제16항에 있어서,
    상기 2m 진 값과 중복되지 않는 값은 2m임을 특징으로 하는 데이터 압축 장치.
  19. 데이터 압축 방법에 있어서,
    압축을 위한 2진 정보 비트 열로부터 1비트의 피 은닉 정보 비트를 선택하고, 상기 선택한 피 은닉 정보 비트의 값이 상기 2진 정보 비트 열 내의 비트 값들 중 가장 높은 비율을 갖는 결정 값인지를 판단하는 과정과,
    상기 선택한 피 은닉 정보 비트의 값이 상기 결정 값이 아닌 경우, 상기 선택한 피 은닉 정보 비트 값을 2m으로 치환하는 과정과,
    상기 선택한 피 은닉 정보 비트의 값이 상기 결정 값인 경우, 상기 2진 정보 비트 열에서 상기 선택한 피 은닉 정보 비트 값의 다음 비트를 포함하여 연속하는 m개의 비트들에 상응하는 2m 진 값에 의해 상기 피 은닉 정보 비트의 값을 치환하는 과정을 포함하는 데이터 압축 방법.
  20. 데이터 복원 방법에 있어서,
    정보 심볼 열로부터 순차적으로 선택되는 2m+1 진의 복원 정보 심볼의 값이 결정 값인 경우, 상기 선택한 복원 정보 심볼의 값을 상기 결정 값에 상응하는 2진 정보 비트 값으로 복원하는 과정과,
    상기 선택한 복원 정보 심볼의 값이 상기 결정 값이 아닌 경우, 상기 선택한 복원 정보 심볼의 값에 상응하는 길이가 m+1인 2진 정보 비트 값으로 복원하는 과정을 포함하는 데이터 복원 방법.
  21. 제20항에 있어서,
    상기 결정 값은 2m임을 특징으로 하는 데이터 복원 방법.
  22. 제20항 또는 제21항에 있어서,
    상기 순차적으로 선택되는 2m+1진의 복원 정보 심볼에 의해 복원한 2진 정보 비트 값들을 연결하여 압축이 해제된 2진 정보 비트 열을 획득하는 데이터 복원 방법.
  23. 데이터 복원 방법에 있어서,
    부호화된 정보 심볼 열을 복호하는 복화화부와,
    상기 복호화된 정보 심볼 열로부터 순차적으로 선택되는 2m+1진의 복원 정보 심볼의 값이 결정 값인 경우 상기 선택한 복원 정보 심볼의 값을 상기 결정 값에 상응하는 2진 정보 비트 값으로 복원하고, 상기 선택한 복원 정보 심볼의 값이 상기 결정 값이 아닌 경우 상기 선택한 복원 정보 심볼의 값에 상응하는 길이가 m+1인 2진 정보 비트 값으로 복원하는 정보 복원부를 포함하는 데이터 복원 장치.
  24. 제23항에 있어서,
    상기 결정 값은 2m임을 특징으로 하는 데이터 복원 장치.
  25. 제23항 또는 제24항에 있어서, 상기 정보 복원부는,
    상기 순차적으로 선택되는 2m+1진의 복원 정보 심볼에 의해 복원한 2진 정보 비트 값들을 연결하여 압축이 해제된 2진 정보 비트 열을 획득하는 데이터 복원 장치.
PCT/KR2011/000518 2010-01-25 2011-01-25 데이터 압축/해제장치 및 방법 WO2011090359A2 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020127015998A KR101367811B1 (ko) 2010-01-25 2011-01-25 데이터 압축/해제장치 및 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2010-0006688 2010-01-25
KR20100006688 2010-01-25

Publications (2)

Publication Number Publication Date
WO2011090359A2 true WO2011090359A2 (ko) 2011-07-28
WO2011090359A3 WO2011090359A3 (ko) 2012-01-05

Family

ID=44307429

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2011/000518 WO2011090359A2 (ko) 2010-01-25 2011-01-25 데이터 압축/해제장치 및 방법

Country Status (2)

Country Link
KR (1) KR101367811B1 (ko)
WO (1) WO2011090359A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114390153A (zh) * 2021-12-02 2022-04-22 中南大学 一种秘密信息的无损传输、隐藏、读取方法及计算机系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101468307B1 (ko) * 2013-05-27 2014-12-02 김정훈 이진데이터 압축 및 압축해제 장치와 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895101B2 (en) * 2002-06-28 2005-05-17 University Of Rochester System and method for embedding information in digital signals
KR20060112682A (ko) * 2003-12-05 2006-11-01 뉴저지 인스티튜트 오브 테크놀로지 공간 도메인에서의 강건한 가역 데이터 숨김 및 데이터복구를 수행하는 시스템 및 방법
WO2010003152A1 (en) * 2008-07-03 2010-01-07 Verimatrix, Inc. Efficient watermarking approaches of compressed media

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100389702B1 (ko) * 2000-09-18 2003-06-27 주식회사 보람씨앤씨 비트치환에 의한 무손실 데이터압축 및 복원방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895101B2 (en) * 2002-06-28 2005-05-17 University Of Rochester System and method for embedding information in digital signals
KR20060112682A (ko) * 2003-12-05 2006-11-01 뉴저지 인스티튜트 오브 테크놀로지 공간 도메인에서의 강건한 가역 데이터 숨김 및 데이터복구를 수행하는 시스템 및 방법
WO2010003152A1 (en) * 2008-07-03 2010-01-07 Verimatrix, Inc. Efficient watermarking approaches of compressed media

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
C. CHANG ET AL.: 'Finding optimal least significant bit substitution in image hiding by dynamic programming strategy' PATTERN RECOGNITION vol. 36, 2003, pages 1583 - 1595 *
W. BENDER ET AL.: 'Techniques for data hiding' IBM SYSTEMS JOURNAL vol. 35, no. 3&4, 1996, *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114390153A (zh) * 2021-12-02 2022-04-22 中南大学 一种秘密信息的无损传输、隐藏、读取方法及计算机系统

Also Published As

Publication number Publication date
WO2011090359A3 (ko) 2012-01-05
KR20120103654A (ko) 2012-09-19
KR101367811B1 (ko) 2014-02-27

Similar Documents

Publication Publication Date Title
WO2019125010A1 (en) Method and apparatus for handling duplicate points in point cloud compression
WO2017222140A1 (ko) Cnn 기반 인루프 필터를 포함하는 부호화 방법과 장치 및 복호화 방법과 장치
EP2465268A2 (en) Method and apparatus for encoding and decoding mode information
WO2011152635A2 (en) Enhanced intra prediction mode signaling
WO2014163249A1 (ko) 동영상 처리 방법 및 장치
WO2013055046A2 (ko) 통신/방송 시스템에서 데이터 송수신 장치 및 방법
WO2017043769A1 (ko) 부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법
WO2016104854A1 (ko) 부호화 방법 및 장치와 복호화 방법 및 장치
WO2016076677A1 (ko) 대용량 병렬 처리를 위해 비디오 신호를 엔트로피 인코딩 또는 엔트로피 디코딩하는 방법 및 장치
WO2014189236A1 (ko) 무손실 이미지 압축 및 복원 방법과 이를 수행하는 장치
WO2011090359A2 (ko) 데이터 압축/해제장치 및 방법
WO2009116815A2 (en) Apparatus and method for encoding and decoding using bandwidth extension in portable terminal
WO2015194913A1 (ko) 영상의 부호화/복호화 방법 및 이를 이용하는 장치
WO2013015614A2 (ko) 코덱 기반 및 클러스터 검색을 통한 동영상 복구 방법
WO2010098556A2 (ko) 영상 부호화/복호화 장치 및 방법
WO2020141922A1 (en) Encoding/decoding method and apparatus for motion vector information
WO2010093225A2 (ko) 데이터 압축/해제장치 및 방법
WO2016171472A1 (ko) 데이터 부호화 및 복호화 방법과 장치
WO2019027074A1 (ko) 멀티 심볼 엔트로피 코딩을 위한 멀티 심볼 매핑을 수행하는 방법 및 장치
WO2021029646A1 (ko) 하이 레벨 영상 분할과 영상 부호화/복호화 방법 및 장치
WO2020231020A1 (ko) 연판정 기반으로 선형 부호를 고속 복호화하는 방법 및 장치
EP2826150A1 (en) Turbo encoder apparatus
WO2023017956A1 (ko) 데이터 압축 방법 및 장치
WO2024080623A1 (ko) Ai에 기반한 영상 부호화 장치 및 영상 복호화 장치, 및 이들에 의한 영상의 부호화 및 복호화 방법
KR100481204B1 (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: 11734908

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20127015998

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11734908

Country of ref document: EP

Kind code of ref document: A2