WO2016056709A1 - 이미지 재부호화 방법 및 그 장치 - Google Patents

이미지 재부호화 방법 및 그 장치 Download PDF

Info

Publication number
WO2016056709A1
WO2016056709A1 PCT/KR2014/012985 KR2014012985W WO2016056709A1 WO 2016056709 A1 WO2016056709 A1 WO 2016056709A1 KR 2014012985 W KR2014012985 W KR 2014012985W WO 2016056709 A1 WO2016056709 A1 WO 2016056709A1
Authority
WO
WIPO (PCT)
Prior art keywords
quantization table
entropy
image
quantization
value
Prior art date
Application number
PCT/KR2014/012985
Other languages
English (en)
French (fr)
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 CN201480083567.8A priority Critical patent/CN107005706B/zh
Priority to EP14903702.0A priority patent/EP3190793A4/en
Priority to US15/517,357 priority patent/US10536697B2/en
Publication of WO2016056709A1 publication Critical patent/WO2016056709A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present invention relates to a method of performing recoding so that the compression efficiency of an image can be made higher.
  • JPEG Joint Photographic Experts Group
  • the JPEG method does not have a higher compression rate than the widely compatible image compression method or other recent image compression methods.
  • the present invention can provide a method for recoding an image with high compression efficiency.
  • a recoding method may include obtaining the first quantization table from a bitstream including an image encoded using a first quantization table; Obtaining a second quantization table composed of elements corresponding to respective elements of the first quantization table, based on a pattern representing a size distribution of values of elements constituting the first quantization table; And re-encoding the reconstructed image obtained by decoding the encoded image using the first quantization table using the second quantization table.
  • FIG. 1 is a block diagram of a recoding apparatus for recoding an image by obtaining a quantization table according to an embodiment.
  • FIG. 2 is a flowchart illustrating a method of re-encoding a reconstructed image by obtaining an quantization table by an apparatus for re-encoding an image according to an exemplary embodiment.
  • FIG. 3 illustrates an example of a method of obtaining a quantization table used in a recoding process, according to an exemplary embodiment.
  • FIG. 4 is a block diagram of a recoding apparatus for re-encoding an image by obtaining an entropy table according to an embodiment.
  • FIG. 5 is a flowchart illustrating a method of re-encoding a reconstructed image by obtaining an entropy table by an apparatus for re-encoding an image according to an exemplary embodiment.
  • FIG. 6 is a block diagram of a recoding apparatus for re-encoding a reconstructed image by obtaining a quantization table and an entropy table by the recoding apparatus according to an embodiment.
  • FIG. 7 is an example illustrating an original image and a low resolution image of an original image used in a re-encoding process according to an exemplary embodiment.
  • FIG. 8 is an example of a histogram for indicating a frequency of occurrence of each symbol acquired by a symbol statistic calculator according to an exemplary embodiment.
  • FIG. 9 is a flowchart illustrating a method of re-encoding a reconstructed image according to whether or not a thumbnail image is present, according to an exemplary embodiment.
  • FIG. 10 is a diagram illustrating a physical structure of a disk in which a program is stored, according to various embodiments of the present disclosure.
  • FIG. 11 shows a disc drive for recording and reading a program using the disc.
  • a recoding method may include obtaining the first quantization table from a bitstream including an image encoded using a first quantization table; Obtaining a second quantization table composed of elements corresponding to respective elements of the first quantization table, based on a pattern representing a size distribution of values of elements constituting the first quantization table; And re-encoding the reconstructed image obtained by decoding the encoded image using the first quantization table using the second quantization table.
  • an element of the second quantization table corresponding to an element having a larger value among two elements included in the first quantization table may correspond to the second quantization table corresponding to an element having a smaller value among the two elements. It can have a value greater than or equal to the element of.
  • an element of the second quantization table may have a larger value than an element of the first quantization table corresponding to an element of the second quantization table.
  • the acquiring of the second quantization table may include obtaining an average luminance value of an area quantized by the first quantization table; And acquiring the second quantization table based on the average luminance value.
  • an element used for quantization of the DC transform coefficients in the second quantization table may have a larger value than an element used for quantization of the DC transform coefficients in the first quantization table.
  • the recoding method may further include obtaining a frequency of occurrence of symbols used for entropy decoding of the bitstream; And obtaining an entropy table used for entropy encoding by using the frequency of occurrence, wherein the re-encoding may re-encode the reconstructed image by using the entropy table.
  • the recoding method may further include obtaining a low resolution image of the image, and obtaining the occurrence frequency may include predicting the occurrence frequency using the low resolution image; And determining the frequency of occurrence using the predicted frequency of occurrence.
  • the low resolution image may include a thumbnail image.
  • obtaining the low resolution image may include determining whether the low resolution image can be received from the bitstream; And receiving the low resolution image from the bitstream when the low resolution image can be received.
  • the acquiring of the low resolution image may further include parsing the bitstream to generate the low resolution image when the low resolution image cannot be received.
  • the acquiring the entropy table may include selecting one entropy table based on the occurrence frequency among a plurality of preset entropy tables.
  • a recoding apparatus obtains the first quantization table from a bitstream including an image encoded by using a first quantization table, and indicates a size distribution of values of elements constituting the first quantization table.
  • a quantization table obtaining unit obtaining a second quantization table composed of elements corresponding to respective elements of the first quantization table based on the pattern;
  • a re-encoding unit configured to re-encode the reconstructed image obtained by decoding the encoded image by using the first quantization table by using the second quantization table.
  • an element of the second quantization table corresponding to an element having a larger value among two elements included in the first quantization table may correspond to the second quantization table corresponding to an element having a smaller value among the two elements. It can have a value greater than or equal to the element of.
  • an element of the second quantization table may have a larger value than an element of the first quantization table corresponding to an element of the second quantization table.
  • the quantization table obtainer may obtain an average luminance value of an area quantized by the first quantization table, and obtain the second quantization table based on the average luminance value.
  • an element used for quantization of the DC transform coefficients in the second quantization table may have a larger value than an element used for quantization of the DC transform coefficients in the first quantization table.
  • the recoding apparatus may further include an entropy table obtaining unit obtaining an occurrence frequency of symbols used for entropy decoding of the bitstream, and obtaining an entropy table used for entropy encoding using the occurrence frequency.
  • the encoder may recode the reconstructed image by using the entropy table.
  • the entropy table acquisition unit may acquire a low resolution image of the image, predict the occurrence frequency using the low resolution image, and determine the occurrence frequency using the predicted occurrence frequency.
  • the low resolution image may include a thumbnail image.
  • the entropy table obtainer may determine whether the low resolution image can be received from the bitstream, and if the low resolution image can be received, the entropy table obtainer may receive the low resolution image from the bitstream.
  • the entropy table obtainer may generate the low resolution image by parsing the bitstream when the low resolution image cannot be received.
  • the entropy table obtaining unit may select one entropy table based on the occurrence frequency among a plurality of preset entropy tables.
  • a computer-readable recording medium having recorded thereon a program for implementing a re-encoding method according to various embodiments of the present disclosure is proposed.
  • image may refer to a generic image including a still image as well as a video such as a video.
  • image may mean a still image.
  • an image to be decoded is an input image
  • an image that is decoded from an input bitstream, and a decoded image is a reconstructed image
  • an image re-encoded by a recoding apparatus is an output image. It can include all output images.
  • the input image or the output image may mean an image compressed in a JPEG manner.
  • sample means data to be processed as data allocated to a sampling position of an image.
  • the pixels in the spatial domain image may be samples.
  • residuals corresponding to pixels in the image of the spatial domain may be samples.
  • the type of block below may be square or rectangular, and may be any geometric shape. It is not limited to data units of a certain size.
  • the block may be 8x8 size.
  • signaling may mean transmission or reception of a signal.
  • signaling may mean transmitting an encoded signal.
  • signaling may mean receiving an encoded signal.
  • FIG. 1 is a block diagram of a recoding apparatus for recoding an image by obtaining a quantization table according to an embodiment.
  • the recoding apparatus 100 may include a quantization table obtaining unit 160 and a recoding unit 120.
  • the re-encoder 120 may include an entropy encoder 190, a quantizer 180, and a transformer 170.
  • the recoding apparatus 100 may be implemented by more components than the illustrated components, or the recoding apparatus 100 may be implemented by fewer components than the illustrated components.
  • the decoder 110 may include an entropy decoder 130, an inverse quantizer 140, and an inverse transform unit 150.
  • the decoder 110 may receive a bit stream generated by encoding an image.
  • the decoder 110 may receive an input bitstream generated by encoding an input image.
  • the entropy decoder 130 parses encoded image data, which is a decoding target, and encoding information necessary for decoding, from an input bitstream.
  • the encoded image data are quantized transform coefficients, and the inverse quantization unit 140 and the inverse transform unit 150 restore the image data from the quantized transform coefficients.
  • the decoder 110 may reconstruct the reconstructed image from the input bitstream.
  • the reconstructed image data may be output as a reconstructed image.
  • the re-encoding unit 120 may perform operations for re-encoding the reconstructed image reconstructed by the decoding unit 110.
  • the transform unit 170 may output the transform coefficients generated by converting the reconstructed image in units of blocks to the quantization unit 180.
  • the transform unit 170 may perform a discrete cosine transform on the reconstructed image in units of 8 ⁇ 8 pixels, and output the transform coefficient to the quantization unit 180.
  • the quantization unit 180 may quantize the transform coefficients output from the transform unit 170 using a quantization table and output the quantized transform coefficients to the entropy encoder 190.
  • the transform coefficients quantized by the transformer 170 and the quantizer 180 may be output as an output bitstream via the entropy encoder 190.
  • the quantization unit 180 may quantize the transform coefficients output from the transform unit 170 using the quantization table generated by the quantization table obtainer 160.
  • the quantization unit 180 may output the quantized transform coefficients to the entropy encoder 190.
  • the quantization table obtaining unit 160 may obtain a quantization table used when the quantization unit 180 quantizes the transform coefficients. For example, the quantization table obtainer 160 may generate a quantization table.
  • the quantization table may mean a table used in a quantization or inverse quantization process.
  • the quantization table used for quantization or inverse quantization may be transmitted in a bitstream, or a base table previously held by the decoder 110 or the recoder 120 may be used.
  • the first quantization table used when the input bitstream is encoded via the input bitstream may be transmitted.
  • the decoder 110 may use the first quantization table obtained from the input bitstream when performing inverse quantization.
  • the recoding apparatus 100 may perform quantization on the transform coefficients using the quantization table acquired by the quantization table obtainer 160.
  • the recoding apparatus 100 may perform quantization using the quantization table generated by the quantization table obtainer 160.
  • the quantization table acquisition unit 160 may obtain a first quantization table used in the encoding process of the input image by parsing a header of the bitstream generated by encoding the input image.
  • a quantization process may be performed while an input image is encoded into an input bitstream.
  • the first quantization table may be used in the encoding process of the input image.
  • the first quantization table may be obtained through entropy decoding of the input bitstream.
  • the information about the first quantization table may be included in the header of the input bitstream.
  • the first quantization table may be obtained by entropy decoding the header of the input bitstream.
  • the obtained first quantization table may be output from the entropy decoder 130 to the quantization table obtainer 160.
  • the quantization table obtainer 160 may generate a second quantization table using the first quantization table.
  • the quantization table obtainer 160 is configured to include elements corresponding to the elements of the first quantization table based on a pattern representing the size distribution of the values of the elements constituting the first quantization table.
  • a quantization table can be generated.
  • the sizes of the first quantization table and the second quantization table may be predetermined.
  • the sizes of the first quantization table and the second quantization table may be predetermined as 8 ⁇ 8.
  • the quantization table obtainer 160 may generate a second quantization table used when the quantization unit 180 performs quantization on the transform coefficients.
  • the compression rate when quantization is performed by the second quantization table may be higher than the compression rate when quantization is performed by the first quantization table.
  • the quantization table obtainer 160 may generate a second quantization table composed of elements having a pattern similar to a pattern representing a size distribution of elements constituting the first quantization table.
  • the quantization table acquisition unit 160 may generate a second quantization table in which a difference between an image quality degradation caused by the second quantization table and an image quality degradation caused by the first quantization table is within a predetermined range. have.
  • the quantization table obtainer 160 may generate a second quantization table based on a pattern representing a size distribution of values of elements constituting the first quantization table.
  • the quantization table obtainer 160 may add a value obtained by dividing a value of a second element by a value of a first element with respect to a randomly selected first element and a second element.
  • the value of the third element and the value of the fourth element may be set such that the difference between the values obtained by dividing the values of the four elements has a value within a predetermined range. For example, if elements 10 and 5 included in the first quantization table correspond to elements x and y included in the second quantization table, a condition of x / y is greater than or equal to 1 and less than or equal to 3
  • the x and y values can be set to satisfy.
  • the quantization table acquirer 160 may determine the value of the third element as the value of the first element. It can be set to a value multiplied by a value within a predetermined range. For example, if the predetermined range is 10 or more and 15 or less, when the value of the first element is 1, one of integers between 10 and 15 may be selected as the value of the third element. As another example, if the predetermined range is 3 or more and 4 or less, when the value of the first element is 2 and the value of the second element is 3, the value of the third element is 6 and the value of the fourth element may be 12. have. As another example, when the predetermined range is 4 or more and 6 or less, when the value of the first element is 3 and the value of the second element is 4, the value of the third element is 18 and the value of the fourth element may be 16. have.
  • the method of selecting a specific number within a predetermined range may be based on a predetermined rule, by a random selection, or may be determined by a specific value, or determined by the position of each element. It may be a method or a method of determining for each element.
  • the pattern may represent a size distribution of values of the elements.
  • the pattern may indicate how the values of elements change according to a zigzag scan.
  • the quantization table acquirer 160 may generate a second quantization table based on a luminance value of an area quantized by the first quantization table.
  • the quantization table obtainer 160 may obtain an average luminance value of an area quantized by the first quantization table, and generate a second quantization table based on the obtained average luminance value.
  • the recoder 120 quantizes a first block included in a reconstructed image using a second quantization table.
  • an element average value that is an average of values of elements included in the second quantization table may be determined based on an average luminance value that is an average of luminance values of samples included in the first block.
  • the quantization table acquisition unit 160 sets values of elements included in the second quantization table such that an element average value when the average luminance value is smaller than a specific value is smaller than an element average value when the average luminance value is larger than a specific value. Can be.
  • the image quality degradation when recoding an image having a low average luminance value is the image quality when recoding an image having a high average luminance value It may be lower than deterioration.
  • the method of setting the element value of the over quantization table to be proportional to the luminance value may be suitable when the image quality deterioration when the screen is dark is higher than the image quality degradation when the screen is bright.
  • the quantization table acquisition unit 160 may determine that the element average value when the average luminance value is smaller than the specific value is greater than the element average value when the average luminance value is greater than the specific value. Can be set.
  • the image quality degradation when recoding an image having a low average luminance value is the image quality when recoding an image having a high average luminance value It may be higher than deterioration.
  • the method of setting the element value of the over quantization table to be inversely proportional to the luminance value may be suitable when the image quality deterioration when the screen is dark is less than the image quality degradation when the screen is bright.
  • the quantization table obtainer 160 may determine the magnitude of the value of the fifth element based on the luminance of the sample quantized by the fifth element included in the second quantization table. For example, the quantization table obtainer 160 may set the value of the fifth element to be proportional to the luminance value of the sample quantized by the fifth element. As another example, the quantization table obtainer 160 may use the luminance value of the sample quantized by the fifth element as one value used when setting the value of the fifth element. An element of the second quantization table may have a larger value than an element of the first quantization table corresponding to an element of the second quantization table.
  • an element used for quantization of DC transform coefficients in the second quantization table may have a larger value than an element used for quantization of DC transform coefficients in the first quantization table.
  • the DC transform coefficient according to an embodiment may mean a transform coefficient of a DC component among transform coefficients that are quantized.
  • the value of the element corresponding to the DC component in the first quantization table when the value of the element corresponding to the DC component in the first quantization table is 17, the value of the element corresponding to the DC component in the second quantization table may be greater than 17.
  • the value of the element corresponding to position (1,3) in the first quantization table of size 8 ⁇ 8 when the value of the element corresponding to position (1,3) in the first quantization table of size 8 ⁇ 8 is 31, the value of the element corresponding to position (1,3) in the second quantization table is greater than 31. It can be a large value.
  • the quantization is performed by the second quantization table, rather than the degree of image quality degradation that occurs when quantization is performed by the first quantization table.
  • the degree of image quality deterioration that occurs when is performed may be greater.
  • the quantized transform coefficients may be the quotient of dividing each transform coefficient by an element of the second quantization table corresponding to the position of each transform coefficient, the larger the value of the elements included in the quantization table, the higher the compression ratio.
  • quantization table obtainer 160 generates a second quantization table using the first quantization table will be described later with reference to FIG. 3.
  • the quantization table obtainer 160 may generate a second quantization table including elements having a pattern similar to a pattern representing a size distribution of elements constituting the first quantization table.
  • an element of the second quantization table corresponding to the element having the larger value of the two elements included in the first quantization table is an element of the second quantization table corresponding to the element having the smaller value of the two elements.
  • the element of the second quantization table that corresponds to the larger of the two elements has the smaller value of the two elements. It may have a value greater than or equal to an element of the second quantization table corresponding to the element having the same.
  • the third element corresponding to the first element of the elements of the second quantization table is greater than the fourth element corresponding to the second element of the elements of the second quantization table or May be the same.
  • the size of the first quantization table and the size of the second quantization table may be the same.
  • the position in the first quantization table of the first element may be the same as the position in the second quantization table of the third element. For example, if the position in the first quantization table of the first element is (0,0), the position in the second quantization table of the third element may also be (0,0).
  • the fifth element and the sixth element which are any two elements having the same value included in the first quantization table, correspond to the seventh and eighth elements included in the second quantization table, respectively.
  • the element may be larger or smaller than the eighth element.
  • the seventh element may have the same value as the eighth element.
  • the tenth element when the ninth element, which is any element included in the first quantization table, corresponds to the tenth element included in the second quantization table, the tenth element may have a value obtained by adding a predetermined value to the value of the ninth element.
  • the second quantization table may be configured with elements having a value of 3 added to all elements included in the first quantization table.
  • the ninth element which is any element included in the first quantization table
  • the tenth element is multiplied by a predetermined value after the predetermined value of the ninth element. It can have the value of plus.
  • the second quantization table may be configured of elements having a value of 7 plus all elements included in the first quantization table.
  • the PSNR when the quantization unit 180 performs quantization using the first quantization table may be limited within a predetermined range.
  • quantization table obtainer 160 generates a second quantization table using the first quantization table will be described later with reference to FIG. 3.
  • the decoder 110 may decode the reconstructed image from the bitstream using the first quantization table.
  • the recoding unit 120 may recode the reconstructed image obtained by decoding the bitstream using the second quantization table.
  • the quantization unit 180 included in the recoding unit 120 may generate quantized transform coefficients by quantizing the transform coefficients using the second quantization table generated by the quantization table obtainer 160.
  • the quantization unit 180 may output the generated quantized transform coefficients to the entropy encoder 190.
  • the entropy encoder 190 may output an output bitstream by performing entropy encoding based on values calculated by the quantization unit 180 or encoding parameter values calculated in the encoding process. For example, the entropy encoder 190 may perform entropy encoding by receiving quantized transform coefficients from the quantizer 180.
  • the entropy encoder 190 may use a variable length coding (VLC) encoding method for entropy encoding.
  • VLC variable length coding
  • the entropy encoder 190 may perform entropy encoding by using an entropy table corresponding to an input bitstream. A detailed method will be described later with reference to FIGS. 4 through 8.
  • FIG. 2 is a flowchart for describing an operation performed by the recoding apparatus 100 shown in FIG. 1.
  • FIG. 2 is a flowchart illustrating a method of recoding an reconstructed image by generating an quantization table by an apparatus for recoding an image according to an exemplary embodiment.
  • the recoding apparatus parses a header of the input bitstream generated by encoding the input image to obtain a first quantization table used in the encoding process of the input image.
  • the first quantization table may be used in the process of encoding the input image into the input bitstream.
  • Information about the first quantization table may be transmitted through an input bitstream.
  • the recoding apparatus may obtain a first quantization table by parsing the header of the input bitstream.
  • the recoding apparatus may obtain the first quantization table through an entropy decoder.
  • the recoding apparatus In operation S220, the recoding apparatus generates a second quantization table including elements corresponding to elements of the first quantization table acquired in operation S210.
  • the recoding apparatus may generate a second quantization table based on a pattern representing a size distribution of values of elements constituting the first quantization table.
  • the recoding apparatus may generate a second quantization table based on an average luminance value of a region quantized by the first quantization table.
  • the recoding apparatus may generate a second quantization table using the first quantization table.
  • a detailed embodiment in which the recoding apparatus generates the second quantization table using the first quantization table will be described later with reference to FIG. 3.
  • the recoding apparatus re-encodes the reconstructed image obtained by decoding the bitstream using the second quantization table generated by the recoding apparatus.
  • the reconstructed image may be an image obtained by the decoder 110 decoding an image encoded in an input bitstream using a first quantization table.
  • the recoding apparatus may generate quantized transform coefficients using the second quantization table generated by the recoding apparatus.
  • the recoding apparatus may generate and output an output bitstream by performing entropy encoding on the quantized transform coefficients.
  • the recoding apparatus may perform entropy encoding using an entropy table corresponding to an input bitstream, and a detailed method will be described later with reference to FIGS. 4 to 8.
  • 3 is an example for describing a method of generating a quantization table used in a re-encoding process according to an embodiment.
  • 3A is an example of a first quantization table used in the process of encoding an input image into an input bitstream. As shown in FIG. 3A, values of elements included in the first quantization table according to an embodiment may tend to increase from the upper left side to the lower right side.
  • FIG. 3B shows a table normalized to the first quantization table shown in FIG. 3A.
  • Normalization may mean transforming data according to a predetermined rule. Normalization according to an embodiment may refer to a process of structuring data to minimize duplication between data. For example, when a plurality of values may be represented by multiples of a specific value within a predetermined error range, expressing each value by how many multiples of each value corresponds to an example may be an example of normalization. For example, since the elements of FIG. 3A may be expressed in multiples of 30 within a predetermined error range, FIG. 3B illustrates a table in a manner that indicates how many times the values of the elements of FIG. 3A correspond to 30. FIG.
  • the recoding apparatus corresponds to 1 times 30.
  • the value of the 2-1 th element 321 to the 2-4 th element 324 corresponding to the 1 st element 311 to the 1-4 th element 314 may be determined as 1.
  • the re-encoding apparatus may include the second to fifth elements 325 corresponding to the first to fifth elements 315.
  • the value can be determined as 2.
  • FIG. 3C illustrates a table generated by multiplying a normalization table shown in FIG. 3B by a predetermined value.
  • FIG. 3C illustrates a table including, as elements, values obtained by multiplying each element of the normalization table illustrated in FIG. 3B by 50.
  • the table shown in FIG. 3C is an embodiment of a second quantization table generated by the quantization table obtainer 160 using the first quantization table shown in FIG. 3A.
  • the predetermined value multiplied by the normalized value may be determined in consideration of the compression rate.
  • the quantization table obtainer 160 may determine a value to multiply the normalized table in consideration of the target compression ratio to be obtained through recoding.
  • the quantization table obtainer 160 multiplies the normalized table by 50 to generate a quantization table.
  • 50 which is a value multiplied by the normalization table
  • the reference value when normalizing may be greater than or equal to the value multiplied by the normalization table.
  • Elements of the second quantization table may have a larger value than elements of the first quantization table at the same location. For example, based on the upper left side, a value 50 of the 3-1 element 331, which is an element corresponding to the position of (1, 1) of the second quantization table, is equal to (1,1) of the first quantization table. It is larger than 32 which is the value of the 1-1 element 311 which is an element corresponding to the position of (). As another example, when the upper left side is used, the value 400 of the 3-6th element 336, which is an element corresponding to the position of (8,8) of the second quantization table, is 400 (1,1) of the first quantization table. It is greater than 242, which is the value of the first sixth element 316, which is an element corresponding to the position of.
  • the compression rate according to quantization may be higher when quantization is performed by the second quantization table shown in FIG. 3C than when quantization is performed by the first quantization table shown in FIG. 3A.
  • the quantized transform coefficients may be the quotient of dividing each transform coefficient by an element of the second quantization table corresponding to the position of each transform coefficient, the larger the value of the elements included in the quantization table, the higher the compression ratio.
  • the PSNR when quantization is performed by the first quantization table illustrated in FIG. 3A and the PSNR when quantization is performed by the second quantization table illustrated in FIG. 3C may be limited within a predetermined range. This is because the pattern representing the size distribution of the elements constituting the first quantization table and the pattern of the elements constituting the second quantization table are similar.
  • FIG. 3D illustrates a second quantization table generated by multiplying the normalization table shown in FIG. 3B by a predetermined value. Specifically, FIG. 3D illustrates a table including, as elements, values obtained by multiplying respective elements of the normalization table illustrated in FIG. 3B by a predetermined value.
  • the predetermined value When multiplying a predetermined value, the predetermined value may be determined based on a predetermined manner.
  • the preset method according to an embodiment may include a method in consideration of the human eye. For example, when the second quantization table is obtained by multiplying elements of the normalized table by a predetermined value, a value that is multiplied by an element corresponding to a high frequency is greater than a value multiplied by an element corresponding to a low frequency. have.
  • the recoding apparatus multiplies the values by multiplying each element so as to reduce the loss of information of the human visually sensitive portion. You can decide.
  • the recoding apparatus may set an offset to a value multiplied by the elements of the table of FIG. 3B.
  • the value of the 4-1 th element 341 may be determined as a value obtained by multiplying the 2-1 th element 321 by 48.
  • the value of the second element 2-342 may be determined by multiplying the second element 322 by 49.
  • the value of the third element 343 may be determined by multiplying the second element 323 by 50.
  • the value of the fourth-4 element 344 may be determined by multiplying the second-4 element 324 by 54.
  • the value of the fourth-5 element 345 may be determined as a value obtained by multiplying the second-5 element 325 by 55.
  • the value of the fourth sixth element 346 may be determined as a value obtained by multiplying the second sixth element 326 by 56.
  • the 2-1 element 321 is determined. ) May be determined to be smaller than the value to multiply by the 2-3 element 323.
  • HVS Human Visual System
  • FIG. 3E illustrates a second quantization table generated by partially adjusting values included in the table shown in FIG. 3C.
  • a recoding apparatus may obtain a second quantization table by adjusting values of elements of a table (FIG. 3C), which are configured by multiplying an element of a table (FIG. 3B) including a normalized value by a predetermined value. Can be.
  • the recoding apparatus may obtain the element values of the second quantization table in consideration of the degree to which the values of each element are sensitive to human vision.
  • the value of the 5-1 th element 351 may be determined as the value obtained by subtracting 10 from the value of the 3-1 th element 331.
  • the value of the fifth-2 element 352 may be determined by subtracting 10 from the value of the third-2 element 332.
  • the value of the third element 353 may be determined by subtracting five from the value of the third third element 333.
  • the value of the fifth-4 element 354 may be determined as the value of the third-4 element 334 plus five.
  • the value of the fifth to fifth elements 355 may be determined by adding 20 to the value of the third to fifth elements 335.
  • the value of the fifth to sixth elements 356 may be determined to be 30 plus the value of the third to sixth elements 336.
  • HVS Human Visual System
  • FIG. 4 is a block diagram of a recoding apparatus for generating an entropy table and re-encoding an image, according to an exemplary embodiment.
  • the recoding apparatus 100 may include an entropy table obtaining unit 410 and a recoding unit 120.
  • the re-encoder 120 may include an entropy encoder 190, a quantizer 180, and a transformer 170.
  • the recoding apparatus 100 may be implemented by more components than the illustrated components, or the recoding apparatus 100 may be implemented by fewer components than the illustrated components.
  • the decoder 110 may include an entropy decoder 130, an inverse quantizer 140, and an inverse transform unit 150.
  • the recoding apparatus 100 includes some of the components shown in FIG. 1. Therefore, even if omitted below, the contents described above with respect to the recoding apparatus 100 illustrated in FIGS. 1 to 3 may be applied to the recoding apparatus 100 of FIG. 4.
  • the decoder 110 may receive an input bitstream generated by encoding an input image.
  • the entropy decoder 130 parses encoded image data, which is a decoding target, and encoding information necessary for decoding, from an input bitstream.
  • the encoded image data are quantized transform coefficients, and the inverse quantization unit 140 and the inverse transform unit 150 restore the image data from the quantized transform coefficients.
  • the decoder 110 may reconstruct the reconstructed image from the input bitstream.
  • the reconstructed image data may be output as a reconstructed image.
  • the re-encoding unit 120 may perform operations for re-encoding the reconstructed image reconstructed by the decoding unit 110.
  • the transform unit 170 may output the transform coefficients generated by converting the reconstructed image in units of blocks to the quantization unit 180.
  • the transform unit 170 may output a transform coefficient to the quantization unit 180 by performing a discrete cosine transform on the reconstructed image in units of 8 ⁇ 8 pixels.
  • the quantization unit 180 may quantize the transform coefficients output from the transform unit 170 using a quantization table and output the quantized transform coefficients to the entropy encoder 190.
  • the transform coefficients quantized by the transformer 170 and the quantizer 180 may be output as an output bitstream via the entropy encoder 190.
  • the entropy encoder 190 may entropy-encode the quantized transform coefficients using the entropy table generated by the entropy table acquirer 410.
  • the entropy encoder 190 may entropy-encode the quantized transform coefficients and output the entropy encoder as an output bitstream.
  • the entropy encoder 190 may output an output bitstream by performing entropy encoding based on values calculated by the quantization unit 180 or encoding parameter values calculated in the encoding process. For example, the entropy encoder 190 may perform entropy encoding by receiving quantized transform coefficients from the quantizer 180.
  • the entropy encoder 190 may perform entropy encoding by using the generated entropy table.
  • the entropy encoder 190 may perform entropy encoding using an entropy table adaptively generated according to an input bitstream by the entropy table acquirer 410.
  • the entropy table acquisition unit 410 may generate an entropy table used when re-encoding a reconstructed image reconstructed from the input bitstream.
  • the entropy table acquisition unit 410 may acquire a frequency of occurrence of symbols used for entropy decoding of an input bitstream.
  • the entropy decoder 130 may parse symbols such as encoding information and transform coefficients by performing entropy decoding on the received input bitstream.
  • the entropy table acquirer 410 may obtain the frequency of occurrence of the entropy coded symbols in the entropy decoder 130.
  • the entropy table acquirer 410 may obtain the frequency of occurrence of entropy decoded symbols from the entropy decoder 130 while the input image is decoded from the input bitstream.
  • the entropy decoding unit 130 may acquire a frequency of occurrence of each symbol of the input bitstream in the process of parsing various symbols.
  • the entropy table obtainer 410 may obtain a frequency of occurrence of each symbol of the input bitstream from the entropy decoder 130.
  • the entropy table acquisition unit 410 may generate an entropy table by using a frequency of occurrence of entropy-decoded symbols in the process of decoding an input image.
  • the entropy table may be used to associate a bit string with each of the symbols entropy coded using the frequency of occurrence of the symbols that are entropy decoded.
  • the entropy table may correspond to a bit string with each of the symbols entropy encoded in a process of encoding or re-encoding an image.
  • the entropy table acquisition unit 410 may generate an entropy table by using a frequency of occurrence of symbols that are subject to entropy encoding.
  • the entropy table acquisition unit 410 may determine the length of a bit string corresponding to a symbol to be entropy encoded based on a frequency of occurrence of a symbol corresponding to the bit string.
  • the entropy table acquisition unit 410 may include bits corresponding to a second symbol having a length of a bit string corresponding to a first symbol among the symbols entropy encoded using a frequency of occurrence of the symbols having a lower frequency than the first symbol. You can create an entropy table that is less than or equal to the length of a column.
  • the entropy table obtainer 410 may generate an entropy table that is adaptive to the input image or the reconstructed image. Accordingly, the entropy table acquirer 410 may generate an entropy table corresponding to the input image or the reconstructed image.
  • the entropy table acquisition unit 410 may select one entropy table from among a plurality of preset entropy tables based on a frequency of occurrence of symbols entropy decoded while the input image is decoded.
  • the entropy table acquisition unit 410 may store a plurality of entropy tables according to expected characteristics of an image to be re-encoded.
  • the entropy table acquisition unit 410 may store an efficient entropy table when re-encoding an image in which the sample value does not change as a whole, such as an ocean landscape.
  • the entropy table acquisition unit 410 may store an efficient entropy table when re-encoding an image having a large change in sample value, such as an urban landscape.
  • the entropy table acquisition unit 410 determines an entropy table determined by determining one entropy table among a plurality of entropy tables previously stored based on a frequency of occurrence of symbols entropy decoded by the entropy decoder 130.
  • the entropy encoder 190 may output the entropy encoder.
  • the entropy table acquisition unit 410 obtains a histogram of the frequency of occurrence of symbols entropy decoded in the entropy decoder 130, and has the most similar histogram of the frequency of occurrence of symbols among a plurality of previously stored entropy tables.
  • the entropy table may be output to the entropy encoder 190.
  • the reencoding unit 120 may reencode the reconstructed image using the entropy table generated by the entropy table obtaining unit 410.
  • the entropy encoder 190 may perform entropy encoding on the quantized transform coefficients received from the quantizer 180 using the entropy table generated by the entropy table obtainer 410.
  • the quantization unit 180 included in the recoding unit 120 may generate quantized transform coefficients by quantizing the transform coefficients received from the transform unit 170.
  • the quantization unit 180 may output the generated quantized transform coefficients to the entropy encoder 190.
  • the entropy encoder 190 may output an output bitstream by performing entropy encoding based on values calculated by the quantization unit 180 or encoding parameter values calculated in the encoding process. For example, the entropy encoder 190 may perform entropy encoding by receiving quantized transform coefficients from the quantizer 180.
  • the entropy encoder 190 may use an encoding method such as variable length coding (VLC) for entropy encoding.
  • VLC variable length coding
  • the entropy encoder 190 may use an entropy table when performing entropy encoding.
  • An entropy table may mean a table used when performing entropy encoding or entropy decoding.
  • the entropy encoder 190 may map the quantized coefficient values to symbols using the first entropy table.
  • the symbol may be a kind of index.
  • the entropy encoder 190 may map a symbol to a code word using the second entropy table.
  • the entropy encoder 190 may generate a bitstream representing a codeword using the third entropy table.
  • the entropy encoder 190 may map a quantized coefficient value to a code word using an entropy table.
  • the entropy encoder 190 may map a quantized coefficient value to a code word and a code length by using an entropy table.
  • the entropy encoder 190 may map a symbol representing a quantized coefficient value to a code word using an entropy table.
  • the entropy encoder 190 may map a symbol representing a quantized coefficient value to a code word and a code length by using an entropy table.
  • the entropy encoder 190 may generate a bitstream indicating a quantized coefficient value using an entropy table.
  • An entropy table may mean a table used for entropy encoding.
  • the entropy table may refer to a table that maps a bit string to each of symbols that are entropy encoded in a process of encoding or re-encoding an image.
  • the entropy table may map a bit string to each of the symbols entropy-encoded in the process of re-encoding the reconstructed image.
  • the entropy table may include a Huffman table.
  • the entropy table may include a codeword table that maps codewords to respective symbols.
  • the entropy table may include a table used when matching each codeword and bitstream.
  • the entropy encoder 190 may correspond to a bit string by using an entropy table to symbols and various symbols generated as a result of quantization. For example, when the frequency of occurrence of the symbol “101000101” is highest, the entropy table may associate a bit string of “0” with “101000101”. If there is no entropy table, 9 bits are required to express “101000101”, but when using an entropy table, “101000101” can be represented with only 1 bit. As another example, when the frequency of occurrence of the symbol “10101” is lowest, the entropy table may correspond to the longest bit string among the bit strings used for the symbol “10101”. As a bit string that can be represented only with a small number of bits is assigned to a symbol having a high frequency of occurrence, a long bit string may correspond to a symbol having a low frequency of occurrence.
  • the entropy encoder 190 may correspond to a bit string by using an entropy table to quantized transform coefficients generated as a result of quantization. For example, when the frequency of occurrence of the quantized transform coefficient called “11100” is highest, the entropy table may map the bit string “0” to “11100”. If there is no entropy table, 5 bits are required to represent “11100”. However, when using an entropy table, “11100” can be represented with only 1 bit.
  • the entropy encoder 190 may generate a bitstream using bit strings corresponding to various symbols.
  • the entropy encoder 190 may generate a bitstream in which bit strings corresponding to various symbols are mapped using an entropy table.
  • the entropy encoder 190 uses a sequence of one or more entropy tables to concatenate the faces.
  • a bitstream of '0000001010011' representing four symbols may be generated.
  • the entropy encoder 190 may generate a bitstream including information about a code length as well as a code word using an entropy table.
  • the entropy table used in the process of performing the entropy encoding in the re-encoding unit 120 may be used in the process of decoding the output image in another device, it is subsequently decoded using the method encoded in the entropy encoding unit 190. Can be performed.
  • the entropy encoder 190 may perform entropy encoding using the entropy table received from the entropy generator 410 when performing entropy encoding on the symbols and various symbols generated as a result of quantization. Since the entropy table generated by the entropy table acquirer 410 is adaptively generated in the input bitstream, the entropy encoder 190 may perform entropy encoding adaptive to the reconstructed image.
  • FIG. 5 is a flowchart for describing an operation performed by the recoding apparatus 100 illustrated in FIG. 4.
  • FIG. 5 is a flowchart illustrating a method of re-encoding a reconstructed image by an apparatus for re-encoding an image according to an embodiment.
  • the recoding apparatus may acquire a frequency of occurrence of symbols entropy-decoded while the input image is decoded.
  • the recoding apparatus may obtain a frequency of occurrence of symbols entropy decoded while the input image is decoded from the entropy decoder 130.
  • the entropy decoder 130 may parse symbols such as encoding information and transform coefficients by performing entropy decoding on the received input bitstream.
  • the entropy decoding unit 130 may obtain a frequency of occurrence of symbols entropy decoded in the process of parsing the symbols.
  • the entropy decoder 130 may output the frequency of occurrence of the acquired symbols to the recoding apparatus.
  • the recoding apparatus may obtain a frequency of occurrence of symbols output from the entropy decoding unit 130.
  • the recoding apparatus may generate an entropy table using the occurrence frequency obtained in operation S510.
  • the entropy table may be used to associate a bit string with each of the symbols entropy-encoded while the reconstructed image reconstructed by the decoder 110 is re-encoded by the recoding apparatus.
  • the entropy table according to an embodiment may correspond to a bit string with each of the symbols entropy encoded in a process of encoding or re-encoding an image.
  • the re-encoding apparatus may generate an entropy table by using a frequency of occurrence of symbols that are subject to entropy encoding.
  • the recoding apparatus may determine a length of a bit string corresponding to a symbol that is an object of entropy encoding based on a frequency of occurrence of a symbol corresponding to the bit string. For example, in a process of re-encoding a reconstructed image, the re-encoding apparatus has a length of a bit string corresponding to a first symbol among symbols entropy-encoded than a length of a bit string corresponding to a second symbol having a lower frequency of occurrence than the first symbol. You can create entropy tables that are smaller or equal.
  • the recoding apparatus may generate an entropy table that is adaptive to the input image or the reconstructed image. Accordingly, the recoding apparatus according to an embodiment may generate an entropy table corresponding to the input image or the reconstructed image.
  • the recoding apparatus may reencode the reconstructed image using the entropy table generated in operation S520.
  • the recoding apparatus may perform entropy encoding on the quantized transform coefficients using the entropy table generated by the entropy table obtainer 410.
  • the recoding apparatus may generate quantized transform coefficients by quantizing the transform coefficients.
  • the recoding apparatus may output an output bitstream by performing entropy encoding based on quantized values or encoding parameter values calculated in the encoding process. For example, the recoding apparatus may perform entropy encoding using quantized transform coefficients.
  • the recoding apparatus may perform entropy encoding using the entropy table generated by the recoding apparatus. Since the entropy table generated by the recoding apparatus is generated adaptively to the input bitstream, the recoding apparatus may perform entropy encoding adaptive to the reconstructed image.
  • FIG. 6 is a flowchart illustrating a method of re-encoding a reconstructed image by generating an quantization table and an entropy table by an apparatus for re-encoding an image, according to an exemplary embodiment.
  • the decoder 110 may receive an input bitstream generated by encoding an input image.
  • the entropy decoder 130 parses encoded image data, which is a decoding target, and encoding information necessary for decoding, from an input bitstream.
  • the encoded image data are quantized transform coefficients, and the inverse quantization unit 140 and the inverse transform unit 150 restore the image data from the quantized transform coefficients.
  • the decoder 110 may reconstruct the reconstructed image from the input bitstream.
  • the reconstructed image data may be output as a reconstructed image.
  • the re-encoding unit 120 may perform operations for re-encoding the reconstructed image reconstructed by the decoding unit 110.
  • the transform unit 170 may output the transform coefficients generated by converting the reconstructed image in units of blocks to the quantization unit 180.
  • the transform unit 170 may output a transform coefficient to the quantization unit 180 by performing a discrete cosine transform on the reconstructed image in units of 8 ⁇ 8 pixels.
  • the quantization unit 180 may quantize the transform coefficients output from the transform unit 170 using a quantization table and output the quantized transform coefficients to the entropy encoder 190.
  • the transform coefficients quantized by the transformer 170 and the quantizer 180 may be output as an output bitstream via the entropy encoder 190.
  • the quantization table obtaining unit 160 may generate a quantization table used when quantizing transform coefficients in the quantization unit 180 included in the recoding apparatus 100. Detailed operations of the quantization table acquisition unit 160 have been described above with reference to FIGS. 1 to 3.
  • the entropy decoder 130 may be included in the recoding apparatus 100 as shown in FIG. 6.
  • the entropy decoder 130 may receive an input bitstream.
  • the entropy decoder 130 may parse the received input bitstream to obtain a low resolution image, a quantization table used when the input image is encoded, or symbols obtained during entropy decoding.
  • operations of the entropy decoding unit 130 have been described with reference to FIGS. 1 to 5.
  • the recoding apparatus 100 may include a recoding unit 120, a quantization table obtaining unit 160, an entropy table obtaining unit 410, and an entropy decoding unit 130.
  • the recoding apparatus 100 may be implemented by more components than the illustrated components, or the recoding apparatus 100 may be implemented by fewer components than the illustrated components.
  • the entropy table acquisition unit 410 may include a low resolution image acquisition unit 610, a symbol reordering unit 620, a symbol statistics calculator 630, and a table generator 640.
  • the entropy table acquirer 410 may be implemented by more components than the illustrated components, or the entropy table acquirer 410 may be implemented by fewer components than the illustrated components.
  • the low resolution image acquisition unit 610 may acquire a low resolution image of the input image.
  • the low resolution image may mean an image obtained by reducing the original image.
  • an image having a resolution of 512 ⁇ 288, which is a reduced size of an original image having a resolution of 4128 ⁇ 2333 may be a low resolution image.
  • the low resolution image may be a thumbnail image.
  • the thumbnail image according to an embodiment may mean an image in which the original image is reduced.
  • the low resolution image acquisition unit 610 may acquire a low resolution image of the input image from the input bitstream.
  • the entropy decoding unit 130 may receive the low resolution image of the input image through the input bitstream.
  • the low resolution image acquirer 610 may obtain a low resolution image from the entropy decoder 130.
  • the low resolution image acquisition unit 610 may resize the image reconstructed by the decoder 110 to obtain the low resolution image. For example, the low resolution image acquisition unit 610 may obtain a low resolution image of the input image by adjusting the resolution of the reconstructed image to a predetermined resolution.
  • the low resolution image acquisition unit 610 may acquire a low resolution image of the input image.
  • the low resolution image acquisition unit 610 acquires the low resolution image only when the header of the input bitstream includes information about the low resolution image of the input image, and outputs the low resolution image obtained by the symbol reordering unit 620. can do.
  • the output low resolution image may be used to generate an entropy table.
  • the symbol statistic calculator 630 may predict the occurrence frequency of the symbols by using the low resolution image.
  • the table generator may generate an entropy table using the occurrence frequency predicted by the symbol statistics calculator 630.
  • the symbol reordering unit 620 may reassign a symbol using a low resolution image.
  • the symbol used in the encoding or decoding process of the low resolution image may be different from the symbol used in the encoding or decoding process of the original image.
  • the symbol redistribution unit 620 may replace a symbol used in encoding or decoding a low resolution image with a symbol used when a reconstructed image is recoded. The reassignment of the symbol will be described later in the symbol reordering unit 620.
  • the low resolution image acquisition unit 610 may determine whether to receive a low resolution image from an input bitstream.
  • the low resolution image acquisition unit 610 may receive a low resolution image from an input bitstream when the low resolution image may be received.
  • the information about the low resolution image may be included in the header of the input bitstream.
  • the low resolution image acquisition unit 610 may acquire the low resolution image by using information about the low resolution image received through the input bitstream. In this case, a process of generating a low resolution image may be omitted.
  • the low resolution image acquisition unit 610 may generate the low resolution image by parsing the input bitstream.
  • the input bitstream may not contain information about the low resolution image.
  • the low resolution image acquisition unit 610 may generate a low resolution image by using information on the reconstructed image. For example, the low resolution image acquisition unit 610 may generate a low resolution image using information obtained by sampling pixel information of the reconstructed image at a predetermined ratio.
  • the re-encoding apparatus 100 when the low resolution image is a thumbnail image will be described later with reference to FIG. 9.
  • the symbol reordering unit 620 may rearrange the symbols used in the entropy table.
  • symbols entropy decoded in the entropy decoder 130 may be replaced with symbols entropy encoded in the entropy encoder 190.
  • symbols used when encoding or decoding a low resolution image may be replaced with symbols used when encoding or decoding an original image.
  • the symbols entropy decoded by the entropy decoder 130 may be determined based on the first quantization table used in the process of encoding the input image into the input bitstream. However, the symbols entropy-encoded by the entropy encoder 190 may be determined based on the second quantization table used in the process of re-encoding the reconstructed image.
  • the symbols entropy decoded by the entropy decoder 130 and the symbols entropy coded by the entropy encoder 190 may be different from each other. Accordingly, the symbol reordering unit 620 may reassign symbols entropy decoded by the entropy decoder 130 to symbols entropy coded by the corresponding entropy encoder 190. Accordingly, the entropy table obtainer 410 may generate an entropy table including symbols entropy encoded by the entropy encoder 190.
  • the symbol used by the entropy table obtaining unit 410 is “ It may be “10010” rather than “100100”.
  • the symbol reordering unit 620 may operate only when the quantization table obtainer 160 is present. For example, in an embodiment in which the quantization table obtainer 160 is omitted, the symbol reordering unit 620 may be omitted.
  • the symbol statistic calculator 630 may obtain a frequency of occurrence of the symbols.
  • the symbol statistics calculator 630 may calculate statistics on the symbols by using the frequency of occurrence of the acquired symbols.
  • the statistics may be calculated based on the symbols reassigned by the symbol redistribution unit 620.
  • the symbol “100100”, which is entropy decoded by the entropy decoding unit 130, may be changed to “10010” during the re-encoding process due to the difference in the quantization table.
  • a histogram may be drawn using a frequency of occurrence according to a symbol, and an embodiment of a specific histogram will be described later with reference to FIG. 8.
  • the symbol statistic calculator 630 may predict a frequency of occurrence of symbols encoded by the entropy encoder 190 using the low resolution image obtained by the low resolution image acquirer.
  • the symbol statistic calculator 630 may output the information on the predicted frequency of occurrence to the table generator 640.
  • the table generator 640 may generate an entropy table used by the entropy encoder 190 using the predicted occurrence frequency.
  • the table generator 640 may generate an entropy table used when the entropy encoder 190 performs entropy encoding. For example, an entropy table adaptive to the input image may be generated using the statistical result obtained through the symbol statistics calculator 630.
  • the table generator 640 may determine the length of a bit string corresponding to a symbol to be entropy encoded based on a frequency of occurrence of a symbol corresponding to the bit string. For example, in the process of re-encoding the reconstructed image, the table generator 640 may include a bit corresponding to a second symbol having a length of a bit string corresponding to the first symbol among the symbols that are entropy coded and having a lower frequency than the first symbol. You can create an entropy table that is less than or equal to the length of a column. The table generator 640 may obtain information about a frequency of occurrence of each symbol through the symbol statistics calculator 630.
  • the table generator 640 may generate an entropy table that is adaptive to an input image or a reconstructed image. . Therefore, the table generator 640 according to an embodiment may generate an entropy table corresponding to the input image or the reconstructed image.
  • the table generator 640 may select one entropy table from among a plurality of preset entropy tables based on the statistics obtained through the symbol statistics calculator 630.
  • the table generator 640 may store a plurality of entropy tables according to anticipated characteristics of an image to be re-encoded. For example, the table generator 640 may store an efficient entropy table when re-encoding an image in which the sample value does not change as a whole, such as an ocean landscape. As another example, the table generator 640 may store an efficient entropy table when re-encoding an image having a large change in a sample value such as an urban landscape.
  • the entropy determined by determining one entropy table from among a plurality of entropy tables stored in advance based on a frequency or probability of occurrence of symbols entropy decoded by the entropy decoder 130 according to an embodiment.
  • the table may be output to the entropy encoder 190.
  • the table generator 640 obtains a histogram of the occurrence frequency or probability of occurrence of the symbols entropy decoded by the entropy decoder 130, and generates or stores a frequency of occurrence of the symbols among a plurality of entropy tables previously stored.
  • the entropy table having the most similar histogram may be output to the entropy encoder 190.
  • the reencoding unit 120 may reencode the reconstructed image by using the entropy table generated by the table generator 640.
  • the entropy encoder 190 may perform entropy encoding on the quantized transform coefficients received from the quantizer 180 using the entropy table generated by the entropy table obtainer 410.
  • FIG. 7 is an example illustrating an original image and a low resolution image of an original image used in a re-encoding process according to an exemplary embodiment.
  • the image shown in FIG. 7A is an original image.
  • the image shown in FIG. 7B is a low resolution image with respect to the original image.
  • the low resolution image may mean an image made by reducing the original image.
  • the resolution of the original image shown in FIG. 7A may be 4128 ⁇ 2333
  • the resolution of the low resolution image shown in FIG. 7B may be 512 ⁇ 288.
  • FIG. 8 is an example of a histogram for indicating a frequency of occurrence of each symbol acquired by the symbol statistic calculator 630 according to an exemplary embodiment.
  • the vertical axis may mean a relative value of a frequency of occurrence of each symbol or a probability of occurrence of each symbol.
  • the horizontal axis may represent each symbol.
  • An occurrence probability of each symbol according to an embodiment may mean a number of occurrences of a specific symbol among the total number of occurrences of the symbols.
  • An occurrence frequency of each symbol according to an embodiment may mean a number of occurrences of each symbol.
  • the graph represented by (a) is a histogram for the original image
  • the graph represented by (b) is a histogram for the low resolution image.
  • the histogram of the symbol occurrence probability for the original image and the symbol occurrence probability for the low resolution image may be similar.
  • the recoding apparatus 100 may obtain a low resolution image, the recoding apparatus 100 may generate or determine an entropy table using the low resolution image.
  • FIG. 9 is a flowchart for describing an operation performed by the recoding apparatus 100 illustrated in FIG. 6.
  • FIG. 9 is a flowchart illustrating a method of re-encoding a reconstructed image according to the existence of a thumbnail image, according to an exemplary embodiment.
  • the recoding apparatus 100 may determine whether a thumbnail image exists. For example, the recoding apparatus may determine whether or not the thumbnail image exists by parsing the input bitstream to obtain information about the thumbnail image. As another example, the recoding apparatus may determine whether to obtain information about a thumbnail image from the input bitstream in the process of obtaining the parsed information by entropy decoding.
  • Information about a thumbnail image may be included in a header of an input bitstream.
  • the recoding apparatus may determine whether the information on the thumbnail image is present by parsing a header of the input bitstream.
  • the recoding apparatus may decode the thumbnail image.
  • the low resolution image acquisition unit may decode the thumbnail image by obtaining information about the thumbnail image.
  • the low resolution image acquisition unit may output the decoded thumbnail image to the symbol reordering unit or the symbol statistics calculating unit.
  • the recoding apparatus may acquire a frequency of occurrence of the symbols.
  • the recoding apparatus may acquire a frequency of occurrence of symbols for the obtained thumbnail image or the acquired resize image.
  • the recoding apparatus may obtain a histogram of occurrence probability or occurrence frequency for each symbol.
  • the recoding apparatus may analyze the obtained histogram.
  • the recoding apparatus may predict the occurrence frequency of the symbols by using the resize image.
  • the recoding apparatus may generate an entropy table using the predicted occurrence frequency.
  • the recoding apparatus may resize the image.
  • the recoding apparatus may receive a reconstructed image obtained by decoding and resize the reconstructed image to obtain a resized image.
  • the resolution of the resize image may be a preset resolution or may be a resolution reduced in a predetermined ratio from the original image.
  • the recoding apparatus may obtain information on the resize image by receiving only information on the input image from the entropy decoded data.
  • the re-encoding apparatus may obtain the resize image by decoding the obtained information about the resize image in step S970 described later.
  • the recoding apparatus may decode the resize image.
  • the recoding apparatus may obtain the decoded resize image by decoding information on the resize image obtained by entropy decoding.
  • the re-encoding apparatus may reassign symbols or calculate statistics of symbols for the obtained resized image.
  • the recoding apparatus may generate an entropy table.
  • the recoding apparatus may generate an entropy table used when entropy encoding symbols based on a result of analyzing a histogram through symbol statistics calculation.
  • the recoding apparatus may select an entropy table used for entropy encoding symbols based on a result of analyzing a histogram through statistical calculation of symbols from among a plurality of preset entropy tables.
  • the recoding apparatus may perform recoding using the entropy table generated or selected in operation S940.
  • the recoding apparatus may perform entropy encoding on the quantized transform coefficients using the entropy table generated or selected in operation S940.
  • bitstream output from the recoding apparatus 100 described above may be decoded.
  • a decoding process of the output bitstream output from the recoding apparatus 100 will be described.
  • the output bitstream output from the recoding apparatus 100 may be decoded by a recoding apparatus (not shown).
  • the re-decoding apparatus may obtain an output image by decoding the output bitstream received from the re-coding apparatus 100.
  • the output image may have a lower quality than the reconstructed image, but the degree of difference in the image quality may be limited within a predetermined range. For example, the difference between the PSNR of the reconstructed image and the PSNR of the output image may be limited within a predetermined range.
  • the recoding apparatus 100 may generate a quantization table and an entropy table, and the image quality of the output image may be determined according to the generated quantization table or entropy table.
  • the re-decoding apparatus may parse the output bitstream to obtain a quantization table or entropy table used when the reconstructed image is recoded.
  • the re-decoding apparatus may perform entropy decoding on the output bitstream using an entropy table obtained by parsing the output bitstream.
  • the recoding apparatus may perform entropy decoding on the output bitstream using an entropy table used when entropy encoding is performed by the entropy encoder 190.
  • the re-decoding apparatus may perform inverse quantization on quantized transform coefficients on which entropy decoding is performed.
  • the recoding apparatus according to an embodiment may use the second quantization table used by the quantization unit 180 when performing inverse quantization.
  • the re-decoding apparatus may perform inverse transform on the transform coefficient obtained through inverse quantization.
  • the re-decoding apparatus may perform an inverse transform using a discrete inverse cosine transform (IDCT).
  • IDCT discrete inverse cosine transform
  • the re-decoding apparatus may restore the output image by inversely transforming the transform coefficients.
  • the above-described embodiments of the present invention can be written as a program that can be executed in a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium.
  • the computer-readable recording medium may include a storage medium such as a magnetic storage medium (eg, a ROM, a floppy disk, a hard disk, etc.) and an optical reading medium (eg, a CD-ROM, a DVD, etc.).
  • a computer-readable storage medium storing a program according to an embodiment of the present disclosure will be described in detail below.
  • the disk 26000 described above as a storage medium may be a hard drive, a CD-ROM disk, a Blu-ray disk, or a DVD disk.
  • the disk 26000 is composed of a plurality of concentric tracks tr, and the tracks are divided into a predetermined number of sectors Se in the circumferential direction.
  • a program for implementing the above-described quantization parameter determination method, video encoding method, and video decoding method may be allocated and stored in a specific region of the disc 26000 which stores the program according to the above-described exemplary embodiment.
  • the computer system 26700 may store a program on the disk 26000 for implementing the recoding method of the present invention using the disk drive 26800.
  • the program may be read from the disk 26000 by the disk drive 26800, and the program may be transferred to the computer system 26700.
  • a program for implementing the recoding method of the present invention may be stored in a memory card, a ROM cassette, and a solid state drive (SSD).
  • SSD solid state drive
  • the user terminal may include the recoding apparatus 100 of the present invention described above.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

제 1 양자화 테이블을 이용하여 부호화된 이미지를 포함하는 비트스트림으로부터 상기 제 1 양자화 테이블을 획득하고, 상기 제 1 양자화 테이블을 구성하는 엘리먼트들의 값의 크기 분포를 나타내는 패턴에 기초하여, 상기 제 1 양자화 테이블의 각각의 엘리먼트들에 대응되는 엘리먼트들로 구성되는 제 2 양자화 테이블을 획득하고, 상기 제 1 양자화 테이블을 이용하여 상기 부호화된 이미지를 복호화하여 획득한 복원 이미지를 상기 제 2 양자화 테이블을 이용하여 재부호화하는 재부호화 방법이 개시된다.

Description

이미지 재부호화 방법 및 그 장치
본 발명은 이미지의 압축 효율이 더 높아질 수 있도록 재부호화를 수행하는 방법에 관한 것이다.
고해상도 또는 고화질 비디오 컨텐트를 재생, 저장할 수 있는 하드웨어의 개발 및 보급에 따라, 고해상도 또는 고화질 비디오 컨텐트를 효과적으로 부호화하거나 복호화하는 압축 방식의 필요성이 증대하고 있다.
특히 디지털 영상 신호의 경우 정보량이 매우 방대하기 때문에 정보의 저장과 검색, 전송 등을 보다 효율적으로 하기 위해서는 영상 데이터를 압축하는 것이 필수적이다.
따라서 영상 데이터에 대한 압축 기법들이 많이 개발되어 왔으며, 영상 압축 기법과 관련하여 정지 영상 압축 방식의 국제 표준 규격인 JPEG(Joint Photographic Experts Group)방식이 있다.
그러나 JPEG 방식은 널리 호환되는 이미지 압축 방식이나 다른 최근의 이미지 압축 방식에 비해 압축률이 높지 않다.
최근에는 기존의 JPEG 이미지를 다시 한번 재인코딩 하여 유사한 화질에서 더 높은 압축 성능을 구현하는 기술이 개시된 바 있다. 본 기술은 기존의 JPEG 이미지를 다시 한번 재인코딩 하여 요구되는 메모리와 전송에 요구되는 비용을 줄일 수 있다.
본 발명은 높은 압축 효율로 이미지를 재부호화하는 방법을 제공할 수 있다.
부호화된 이미지의 압축 효율이 더 높아질 수 있도록 재부호화를 수행하는 방법 및 장치를 제안한다.
다양한 실시 예에 따른 재부호화 방법은 제 1 양자화 테이블을 이용하여 부호화된 이미지를 포함하는 비트스트림으로부터 상기 제 1 양자화 테이블을 획득하는 단계; 상기 제 1 양자화 테이블을 구성하는 엘리먼트들의 값의 크기 분포를 나타내는 패턴에 기초하여, 상기 제 1 양자화 테이블의 각각의 엘리먼트들에 대응되는 엘리먼트들로 구성되는 제 2 양자화 테이블을 획득하는 단계; 및 상기 제 1 양자화 테이블을 이용하여 상기 부호화된 이미지를 복호화하여 획득한 복원 이미지를 상기 제 2 양자화 테이블을 이용하여 재부호화하는 단계를 포함할 수 있다.
도 1은 일 실시 예에 따라 양자화 테이블을 획득하여 이미지를 재부호화하는 재부호화 장치의 블록도를 도시한다.
도 2는 일 실시 예에 따른 이미지의 재부호화 장치가 양자화 테이블을 획득하여 복원 이미지를 재부호화 하는 방법을 나타내는 흐름도를 도시한다.
도 3은 일 실시 예에 따른 재부호화 과정에서 이용되는 양자화 테이블을 획득하는 방법을 설명하는 일 예이다.
도 4는 일 실시 예에 따라 엔트로피 테이블을 획득하여 이미지를 재부호화하는 재부호화 장치의 블록도를 도시한다.
도 5는 일 실시 예에 따른 이미지의 재부호화 장치가 엔트로피 테이블을 획득하여 복원 이미지를 재부호화 하는 방법을 나타내는 흐름도를 도시한다.
도 6은 일 실시 예에 따른 이미지의 재부호화 장치가 양자화 테이블 및 엔트로피 테이블을 획득하여 복원 이미지를 재부호화 하는 재부호화 장치의 블록도를 도시한다.
도 7은 일 실시 예에 따른 재부호화 과정에서 이용되는 원본 이미지 및 원본 이미지에 대한 저해상도 이미지를 설명하는 일 예이다.
도 8은 일 실시 예에 따른 심볼 통계 산출부에서 획득한 각 심볼에 대한 발생 빈도를 나타내기 위한 히스토그림의 일 예이다.
도 9는 일 실시 예에 따른 썸네일 이미지의 존부에 따라 복원 이미지를 재부호화하는 방법을 나타내는 흐름도를 도시한다.
도 10은 다양한 실시 예에 따른 프로그램이 저장된 디스크의 물리적 구조를 예시한다.
도 11은 디스크를 이용하여 프로그램을 기록하고 판독하기 위한 디스크드라이브를 도시한다.
부호화된 이미지의 압축 효율이 더 높아질 수 있도록 재부호화를 수행하는 방법 및 장치를 제안한다.
다양한 실시 예에 따른 재부호화 방법은 제 1 양자화 테이블을 이용하여 부호화된 이미지를 포함하는 비트스트림으로부터 상기 제 1 양자화 테이블을 획득하는 단계; 상기 제 1 양자화 테이블을 구성하는 엘리먼트들의 값의 크기 분포를 나타내는 패턴에 기초하여, 상기 제 1 양자화 테이블의 각각의 엘리먼트들에 대응되는 엘리먼트들로 구성되는 제 2 양자화 테이블을 획득하는 단계; 및 상기 제 1 양자화 테이블을 이용하여 상기 부호화된 이미지를 복호화하여 획득한 복원 이미지를 상기 제 2 양자화 테이블을 이용하여 재부호화하는 단계를 포함할 수 있다.
또한, 상기 제 1 양자화 테이블에 포함되는 두 엘리먼트들 중 더 큰 값을 갖는 엘리먼트에 대응되는 상기 제 2 양자화 테이블의 엘리먼트는 상기 두 엘리먼트들 중 더 작은 값을 갖는 엘리먼트에 대응되는 상기 제 2 양자화 테이블의 엘리먼트보다 크거나 같은 값을 가질 수 있다.
또한, 상기 제 2 양자화 테이블의 엘리먼트는 상기 제 2 양자화 테이블의 엘리먼트에 대응되는 상기 제 1 양자화 테이블의 엘리먼트보다 큰 값을 가질 수 있다.
또한, 상기 제 2 양자화 테이블을 획득하는 단계는 상기 제 1 양자화 테이블로 양자화되는 영역의 평균 휘도 값을 획득하는 단계; 및 상기 평균 휘도 값에 기초하여 상기 제 2 양자화 테이블을 획득하는 단계를 포함할 수 있다.
또한, 상기 제 2 양자화 테이블에서 직류 변환 계수의 양자화에 이용되는 엘리먼트는 상기 제 1 양자화 테이블에서 직류 변환 계수의 양자화에 이용되는 엘리먼트보다 큰 값을 가질 수 있다.
또한, 상기 재부호화 방법은 상기 비트스트림의 엔트로피 복호화에 이용되는 심볼들의 발생 빈도를 획득하는 단계; 및 상기 발생 빈도를 이용하여 엔트로피 부호화에 이용되는 엔트로피 테이블을 획득하는 단계를 더 포함하고, 상기 재부호화하는 단계는 상기 복원 이미지를 상기 엔트로피 테이블을 이용하여 재부호화할 수 있다.
또한, 상기 재부호화 방법은 상기 이미지의 저해상도 이미지를 획득하는 단계를 더 포함하고, 상기 발생 빈도를 획득하는 단계는 상기 저해상도 이미지를 이용하여 상기 발생 빈도를 예측하는 단계; 및 상기 예측한 발생 빈도를 이용하여 상기 발생 빈도를 결정하는 단계를 포함할 수 있다.
또한, 상기 저해상도 이미지는 썸네일 이미지를 포함할 수 있다.
또한, 상기 저해상도 이미지를 획득하는 단계는 상기 비트스트림으로부터 상기 저해상도 이미지를 수신할 수 있는지 여부를 결정하는 단계; 및 상기 저해상도 이미지를 수신할 수 있는 경우 상기 비트스트림으로부터 상기 저해상도 이미지를 수신하는 단계를 포함할 수 있다.
또한, 상기 저해상도 이미지를 획득하는 단계는 상기 저해상도 이미지를 수신할 수 없는 경우 상기 비트스트림을 파싱하여 상기 저해상도 이미지를 생성하는 단계를 더 포함할 수 있다.
또한, 상기 엔트로피 테이블을 획득하는 단계는 기 설정된 복수개의 엔트로피 테이블들 중에서 상기 발생 빈도에 기초하여 하나의 엔트로피 테이블을 선택하는 단계를 포함할 수 있다.
다양한 실시 예에 따른 재부호화 장치는 제 1 양자화 테이블을 이용하여 부호화된 이미지를 포함하는 비트스트림으로부터 상기 제 1 양자화 테이블을 획득하고, 상기 제 1 양자화 테이블을 구성하는 엘리먼트들의 값의 크기 분포를 나타내는 패턴에 기초하여, 상기 제 1 양자화 테이블의 각각의 엘리먼트들에 대응되는 엘리먼트들로 구성되는 제 2 양자화 테이블을 획득하는 양자화 테이블 획득부; 및 상기 제 1 양자화 테이블을 이용하여 상기 부호화된 이미지를 복호화하여 획득한 복원 이미지를 상기 제 2 양자화 테이블을 이용하여 재부호화하는 재부호화부를 포함할 수 있다.
또한, 상기 제 1 양자화 테이블에 포함되는 두 엘리먼트들 중 더 큰 값을 갖는 엘리먼트에 대응되는 상기 제 2 양자화 테이블의 엘리먼트는 상기 두 엘리먼트들 중 더 작은 값을 갖는 엘리먼트에 대응되는 상기 제 2 양자화 테이블의 엘리먼트보다 크거나 같은 값을 가질 수 있다.
또한, 상기 제 2 양자화 테이블의 엘리먼트는 상기 제 2 양자화 테이블의 엘리먼트에 대응되는 상기 제 1 양자화 테이블의 엘리먼트보다 큰 값을 가질 수 있다.
또한, 상기 양자화 테이블 획득부는 상기 제 1 양자화 테이블로 양자화되는 영역의 평균 휘도 값을 획득하고, 상기 평균 휘도 값에 기초하여 상기 제 2 양자화 테이블을 획득할 수 있다.
또한, 상기 제 2 양자화 테이블에서 직류 변환 계수의 양자화에 이용되는 엘리먼트는 상기 제 1 양자화 테이블에서 직류 변환 계수의 양자화에 이용되는 엘리먼트보다 큰 값을 가질 수 있다.
또한, 상기 재부호화 장치는 상기 비트스트림의 엔트로피 복호화에 이용되는 심볼들의 발생 빈도를 획득하고, 상기 발생 빈도를 이용하여 엔트로피 부호화에 이용되는 엔트로피 테이블을 획득하는 엔트로피 테이블 획득부를 더 포함하고, 상기 재부호화부는 상기 복원 이미지를 상기 엔트로피 테이블을 이용하여 재부호화할 수 있다.
또한, 상기 엔트로피 테이블 획득부는 상기 이미지의 저해상도 이미지를 획득하고, 상기 저해상도 이미지를 이용하여 상기 발생 빈도를 예측하고, 상기 예측한 발생 빈도를 이용하여 상기 발생 빈도를 결정할 수 있다.
또한, 상기 저해상도 이미지는 썸네일 이미지를 포함할 수 있다.
또한, 상기 엔트로피 테이블 획득부는 상기 비트스트림으로부터 상기 저해상도 이미지를 수신할 수 있는지 여부를 결정하고, 상기 저해상도 이미지를 수신할 수 있는 경우 상기 비트스트림으로부터 상기 저해상도 이미지를 수신할 수 있다.
또한, 상기 엔트로피 테이블 획득부는 상기 저해상도 이미지를 수신할 수 없는 경우 상기 비트스트림을 파싱하여 상기 저해상도 이미지를 생성할 수 있다.
또한, 상기 엔트로피 테이블 획득부는 기 설정된 복수개의 엔트로피 테이블들 중에서 상기 발생 빈도에 기초하여 하나의 엔트로피 테이블을 선택할 수 있다.
다양한 실시 예에 따른 재부호화 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록매체가 제안된다.
다양한 실시 예에 따른 재부호화 방법을 구현하기 위한 프로그램이 제안된다.
본 명세서에서 사용된 용어는 실시 예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소 또는 단계가 하나 이상의 다른 구성요소 또는 단계의 존재 또는 추가를 배제하지 않는다는 의미를 내포한다.
이하 본 명세서에 기재된 다양한 실시 예들에서, ‘영상’은 정지 영상 뿐만 아니라 비디오와 같은 동영상을 포함하여 포괄적으로 지칭할 수 있다.
이하 ‘이미지’는 정지 영상을 의미할 수 있다. 복호화의 대상이 되는 이미지를 입력 이미지, 입력된 비트스트림으로부터 복호화가 수행되어 복원된 이미지를 복원 이미지, 재부호화 장치에 의해 재부호화된 이미지를 출력 이미지라고 할 때, 이미지는 입력 이미지, 복원 이미지, 출력 이미지를 모두 포함할 수 있다. 예를 들면, 입력 이미지 또는 출력 이미지는 JPEG 방식으로 압축된 이미지를 의미할 수 있다.
이하 '샘플'은, 영상의 샘플링 위치에 할당된 데이터로서 프로세싱 대상이 되는 데이터를 의미한다. 예를 들어, 공간영역의 영상에서 픽셀들이 샘플들일 수 있다. 다른 예로, 공간영역의 영상에서 픽셀별로 대응되는 레지듀얼들이 샘플들일 수 있다.
이하 블록의 타입은 정사각형 또는 직사각형일 수 있으며, 임의의 기하학적 형태일 수도 있다. 일정한 크기의 데이터 단위로 제한되는 것은 아니다. 예를 들면 블록은 8×8 크기일 수 있다.
이하 시그널링이란 신호의 전송 또는 수신을 의미할 수 있다. 예를 들면, 영상 데이터의 부호화를 수행하는 경우에 시그널링이란 부호화된 신호를 전송하는 것을 의미할 수 있다. 다른 예로, 영상 데이터의 복호화를 수행하는 경우에 시그널링이란 부호화된 신호를 수신하는 것을 의미할 수 있다.
이하 도 1 내지 도 9를 참조하여 다양한 실시 예에 따라 이미지의 재부호화를 수행하는 방법 및 장치가 개시된다. 또한, 도 10 내지 도 11을 참조하여, 앞서 제안한 이미지의 재부호화를 수행하는 방법이 적용 가능한 다양한 실시 예들이 개시된다.
도 1은 일 실시 예에 따라 양자화 테이블을 획득하여 이미지를 재부호화하는 재부호화 장치의 블록도를 도시한다.
도 1에 도시된 바와 같이, 재부호화 장치(100)는 양자화 테이블 획득부(160) 및 재부호화부(120)를 포함할 수 있다. 또한, 재부호화부(120)는 엔트로피 부호화부(190), 양자화부(180) 및 변환부(170)를 포함할 수 있다. 그러나 도시된 구성요소보다 많은 구성요소에 의해 재부호화 장치(100)가 구현될 수도 있고, 도시된 구성요소보다 적은 구성요소에 의해 재부호화 장치(100)가 구현될 수도 있다.
또한, 복호화부(110)는 엔트로피 복호화부(130), 역양자화부(140), 역변환부(150)를 포함할 수 있다.
일 실시 예에 따른 복호화부(110)는 이미지가 부호화되어 생성된 비트 스트림을 수신할 수 있다. 예를 들면, 복호화부(110)는 입력 이미지가 부호화되어 생성된 입력 비트스트림을 수신할 수 있다.
엔트로피 복호화부(130)는 입력 비트스트림으로부터 복호화 대상인 부호화된 영상 데이터 및 복호화를 위해 필요한 부호화 정보를 파싱한다. 부호화된 영상 데이터는 양자화된 변환 계수로서, 역양자화부(140) 및 역변환부(150)는 양자화된 변환 계수로부터 영상 데이터를 복원한다. 복호화부(110)는 입력 비트스트림으로부터 복원 이미지를 복원할 수 있다. 복원된 영상 데이터는 복원 이미지로 출력될 수 있다.
일 실시 예에 따른 재부호화부(120)는 복호화부(110)에 의해 복원된 복원 이미지를 재부호화하는데 거치는 작업들을 수행할 수 있다.
일 실시 예에 따른 변환부(170)는 복원 이미지를 블록 단위로 변환하여 생성된 변환 계수를 양자화부(180)로 출력할 수 있다. 예를 들면, 변환부(170)는 복원 이미지를 8×8 픽셀 블록 단위로 이산여현변환(Discrete Cosine Transform)하여 변환 계수를 양자화부(180)로 출력할 수 있다.
일 실시 예에 따른 양자화부(180)는 변환부(170)에서 출력된 변환 계수를 양자화 테이블을 이용하여 양자화하고 양자화된 변환계수를 엔트로피 부호화부(190)로 출력할 수 있다.
변환부(170) 및 양자화부(180)에서 양자화된 변환 계수는 엔트로피 부호화부(190)를 거쳐 출력 비트스트림으로 출력될 수 있다.
상술한 과정에서 일 실시 예에 따른 양자화부(180)는 양자화 테이블 획득부(160)에서 생성한 양자화 테이블을 이용하여 변환부(170)에서 출력된 변환 계수를 양자화할 수 있다. 양자화부(180)는 양자화된 변환 계수를 엔트로피 부호화부(190)로 출력할 수 있다.
양자화 테이블 획득부(160)는 양자화부(180)에서 변환 계수를 양자화할 때 이용하는 양자화 테이블을 획득할 수 있다. 예를 들면, 양자화 테이블 획득부(160)는 양자화 테이블을 생성할 수 있다.
양자화 테이블은 양자화 또는 역양자화 과정에서 이용되는 테이블을 의미할 수 있다.
양자화 또는 역양자화에 사용되는 양자화 테이블은 비트스트림으로 전송될 수도 있고, 복호화부(110) 또는 재부호화부(120)가 미리 보유한 기본 테이블이 사용될 수도 있다. 예를 들면, 입력 비트스트림을 통해 입력 비트스트림이 부호화될 때 사용된 제 1 양자화 테이블이 전송될 수 있다. 그리고 복호화부(110)에서는 입력 비트스트림으로부터 획득한 제 1 양자화 테이블을 역양자화를 수행할 때 이용할 수 있다.
또한, 일 실시 예에 따른 재부호화 장치(100)는 양자화 테이블 획득부(160)에서 획득한 양자화 테이블을 이용하여 변환 계수에 대한 양자화를 수행할 수 있다. 예를 들면, 재부호화 장치(100)는 양자화 테이블 획득부(160)에서 생성된 양자화 테이블을 이용하여 양자화를 수행할 수 있다.
양자화 테이블 획득부(160)는 입력 이미지가 부호화되어 생성된 비트스트림의 헤더를 파싱하여 입력 이미지의 부호화 과정에서 이용된 제 1 양자화 테이블을 획득할 수 있다.
입력 이미지가 입력 비트스트림으로 부호화되는 과정에서 양자화 과정이 수행될 수 있다. 그리고 입력 이미지의 부호화 과정에서 제 1 양자화 테이블이 이용될 수 있다. 제 1 양자화 테이블은 입력 비트스트림의 엔트로피 복호화를 통해 획득될 수 있다. 예를 들면, 제 1 양자화 테이블에 대한 정보는 입력 비트스트림의 헤더에 포함되어 있을 수 있다. 그리고 입력 비트스트림의 헤더를 엔트로피 복호화함으로써 제 1 양자화 테이블이 획득될 수 있다. 획득된 제 1 양자화 테이블은 엔트로피 복호화부(130)로부터 양자화 테이블 획득부(160)로 출력될 수 있다.
일 실시 예에 따른 양자화 테이블 획득부(160)는 제 1 양자화 테이블을 이용하여 제 2 양자화 테이블을 생성할 수 있다. 예를 들면, 양자화 테이블 획득부(160)는 제 1 양자화 테이블을 구성하는 엘리먼트들의 값의 크기 분포를 나타내는 패턴에 기초하여, 제 1 양자화 테이블의 각 엘리먼트들에 대응되는 엘리먼트들로 구성되는 제 2 양자화 테이블을 생성할 수 있다.
제 1 양자화 테이블 및 제 2 양자화 테이블의 크기는 미리 정해져 있을 수 있다. 예를 들면, 제 1 양자화 테이블 및 제 2 양자화 테이블의 크기는 8×8로 미리 정해져 있을 수 있다.
일 실시 예에 따른, 양자화 테이블 획득부(160)는 양자화부(180)가 변환 계수에 대한 양자화를 수행할 때 사용되는 제 2 양자화 테이블을 생성할 수 있다. 제 2 양자화 테이블에 의해 양자화가 수행될 때의 압축률은 제 1 양자화 테이블에 의해 양자화가 수행될 때의 압축률 보다 높을 수 있다.
다른 예로, 양자화 테이블 획득부(160)는 제 1 양자화 테이블을 구성하는 엘리먼트들의 크기 분포를 나타내는 패턴과 유사한 패턴을 갖는 엘리먼트들로 구성되는 제 2 양자화 테이블을 생성할 수 있다. 다른 예로, 양자화 테이블 획득부(160)는 제 2 양자화 테이블에 의해 발생하는 화질 열화의 정도와 제 1 양자화 테이블에 의해 발생하는 화질 열화의 정도의 차이가 소정 범위 내인 제 2 양자화 테이블을 생성할 수 있다.
일 실시 예에 따른 양자화 테이블 획득부(160)는 제 1 양자화 테이블을 구성하는 엘리먼트들의 값의 크기 분포를 나타내는 패턴에 기초하여 제 2 양자화 테이블을 생성할 수 있다.
예를 들면, 제 1 양자화 테이블에 포함된 제 1 엘리먼트와 제 2 엘리먼트가 각각 제 2 양자화 테이블에 포함된 제 3 엘리먼트와 제 4 엘리먼트에 대응되는 경우에 대해 설명한다.
일 실시 예에 따른 양자화 테이블 획득부(160)는 무작위로 선택된 제 1 엘리먼트와 제 2 엘리먼트에 대해서, 제 1 엘리먼트의 값에 제 2 엘리먼트의 값을 나누어 획득된 값과 제 3 엘리먼트의 값에 제 4 엘리먼트의 값을 나누어 획득한 값의 차이 값이 소정의 범위 내의 값을 가지도록 제 3 엘리먼트의 값과 제 4 엘리먼트의 값을 설정할 수 있다. 예를 들면, 제 1 양자화 테이블에 포함된 엘리먼트인 10과 5가 제 2 양자화 테이블에 포함된 엘리먼트인 x와 y에 대응된다면, x/y의 값이 1보다 크거나 같고 3보다 작거나 같은 조건을 만족하도록 x와 y값이 설정될 수 있다.
제 1 양자화 테이블에 포함된 제 1 엘리먼트가 제 2 양자화 테이블에 포함된 제 3 엘리먼트에 대응될 때, 일 실시 예에 따른 양자화 테이블 획득부(160)는 제 3 엘리먼트의 값을 제 1 엘리먼트의 값에 소정의 범위 내의 값을 곱한 값으로 설정할 수 있다. 예를 들면, 소정의 범위가 10이상 15이하라면, 제 1 엘리먼트의 값이 1인 경우, 제 3 엘리먼트의 값은 10부터 15 사이의 정수 중 하나가 선택될 수 있다. 다른 예로, 소정의 범위가 3이상 4이하라면, 제 1 엘리먼트의 값이 2이고, 제 2 엘리먼트의 값이 3인 경우, 제 3 엘리먼트의 값은 6이고, 제 4 엘리먼트의 값은 12일 수 있다. 다른 예로, 소정의 범위가 4 이상 6 이하라면, 제 1 엘리먼트의 값이 3이고, 제 2 엘리먼트의 값이 4인 경우, 제 3 엘리먼트의 값은 18이고, 제 4 엘리먼트의 값은 16일 수 있다.
제 2 양자화 테이블에 포함된 엘리먼트의 값을 결정하기 위해서 제 1 양자화 테이블에 포함된 엘리먼트의 값에 곱해지는 수를 결정하는 방법은 여러 가지가 있을 수 있다. 예를 들면, 소정의 범위 내에서 특정 수를 선택하는 방법은 소정의 규칙에 의할 수도 있고, 무작위 선택에 의할 수도 있고, 특정 값으로 정하는 방식일 수도 있고, 각각의 엘리먼트의 위치별로 결정하는 방법일 수도 있고, 각각의 엘리먼트별로 결정하는 방법일 수도 있다.
제 1 양자화 테이블을 구성하는 엘리먼트들의 값의 패턴에 기초하여 제 2 양자화 테이블을 생성하는 일 예에 대해서 도 3에서 후술한다. 여기서 일 실시 예에 따른 패턴은 엘리먼트들이 갖는 값의 크기 분포를 나타낼 수 있다. 다른 예로, 패턴은 지그재그 스캔에 따라 엘리먼트들의 값이 변하는 방식을 나타낼 수 있다.
일 실시 예에 따른, 양자화 테이블 획득부(160)는 제 1 양자화 테이블로 양자화되는 영역의 휘도 값에 기초하여 제 2 양자화 테이블을 생성할 수 있다.
예를 들면, 양자화 테이블 획득부(160)는 제 1 양자화 테이블로 양자화되는 영역의 평균 휘도 값을 획득하고, 획득한 평균 휘도 값에 기초하여 제 2 양자화 테이블을 생성할 수 있다.
이하 일 실시 예에 따른 재부호화부(120)에서 복원 이미지에 포함된 제 1 블록을 제 2 양자화테이블을 이용하여 양자화하는 경우에 대해서 설명한다.
예를 들면, 제 2 양자화 테이블에 포함된 엘리먼트들의 값의 평균인 엘리먼트 평균 값은 제 1 블록에 포함된 샘플들의 휘도 값의 평균인 평균 휘도 값에 기초하여 결정될 수 있다. 양자화 테이블 획득부(160)는 평균 휘도 값이 특정 값보다 작은 경우의 엘리먼트 평균 값은 평균 휘도 값이 특정 값보다 큰 경우의 엘리먼트 평균 값보다 작도록 제 2 양자화 테이블에 포함된 엘리먼트들의 값을 설정할 수 있다.
평균 휘도 값에 비례하여 제 2 양자화 테이블에 포함된 엘리먼트들의 값의 평균을 결정할 경우, 평균 휘도 값이 낮은 이미지를 재부호화할 때의 화질 열화가 평균 휘도 값이 높은 이미지를 재부호화할 때의 화질 열화보다 낮을 수 있다.
휘도 값에 비례하도록 과 양자화 테이블의 엘리먼트 값을 설정하는 방식은 화면이 어두울 때의 화질 열화가 화면이 밝을 때의 화질 열화보다 높은 이미지를 재부호화할 때 적합할 수 있다.
다른 예로, 양자화 테이블 획득부(160)는 평균 휘도 값이 특정 값보다 작은 경우의 엘리먼트 평균 값은 평균 휘도 값이 특정 값보다 큰 경우의 엘리먼트 평균값보다 크도록 제 2 양자화 테이블에 포함된 엘리먼트들의 값을 설정할 수 있다.
평균 휘도 값에 반비례하여 제 2 양자화 테이블에 포함된 엘리먼트들의 값의 평균을 결정할 경우, 평균 휘도 값이 낮은 이미지를 재부호화할 때의 화질 열화가 평균 휘도 값이 높은 이미지를 재부호화할 때의 화질 열화보다 높을 수 있다.
휘도 값에 반비례하도록 과 양자화 테이블의 엘리먼트 값을 설정하는 방식은 화면이 어두울 때의 화질 열화가 화면이 밝을 때의 화질 열화보다 낮은 이미지를 재부호화할 때 적합할 수 있다.
일 실시 예에 따른 양자화 테이블 획득부(160)는 제 2 양자화 테이블에 포함된 제 5 엘리먼트에 의해 양자화되는 샘플의 휘도에 기초하여 제 5 엘리먼트의 값의 크기를 결정할 수 있다. 예를 들면, 양자화 테이블 획득부(160)는 제 5 엘리먼트에 의해 양자화되는 샘플의 휘도 값에 비례하도록 제 5 엘리먼트의 값을 설정할 수 있다. 다른 예로, 양자화 테이블 획득부(160)는 제 5 엘리먼트에 의해 양자화되는 샘플의 휘도 값을 제 5 엘리먼트의 값을 설정할 때 이용하는 하나의 값으로 이용할 수 있다. 제 2 양자화 테이블의 엘리먼트는 제 2 양자화 테이블의 엘리먼트에 대응되는 제 1 양자화 테이블의 엘리먼트보다 큰 값을 가질 수 있다.
예를 들면, 제 2 양자화 테이블에서 직류 변환 계수의 양자화에 이용되는 엘리먼트는 제 1 양자화 테이블에서 직류 변환 계수의 양자화에 이용되는 엘리먼트보다 큰 값을 가질 수 있다. 일 실시 예에 따른 직류 변환 계수는 양자화 대상이 되는 변환 계수들 중 직류 성분의 변환 계수를 의미할 수 있다.
다른 예로, 제 1 양자화 테이블에서 직류 성분에 해당하는 엘리먼트의 값이 17인 경우, 제 2 양자화 테이블에서 직류 성분에 해당하는 엘리먼트의 값은 17보다 큰 값일 수 있다. 다른 예로, 8×8 크기의 제 1 양자화 테이블에서 (1,3) 위치에 해당하는 엘리먼트의 값이 31인 경우, 제 2 양자화 테이블에서 (1,3) 위치에 해당하는 엘리먼트의 값은 31보다 큰 값일 수 있다.
제 1 양자화 테이블을 구성하는 엘리먼트들의 값보다 제 2 양자화 테이블을 구성하는 엘리먼트들의 값이 크므로 제 1 양자화 테이블에의해 양자화가 수행될 때 발생하는 화질 열화의 정도보다, 제 2 양자화 테이블에 의해 양자화가 수행될 때 발생하는 화질 열화의 정도가 더 클 수 있다.
제 1 양자화 테이블을 구성하는 엘리먼트들의 값보다 제 2 양자화 테이블을 구성하는 엘리먼트들의 값이 크므로 제 1 양자화 테이블에의해 양자화가 수행될 때의 압축률보다, 제 2 양자화 테이블에 의해 양자화가 수행될 때의 압축률이 더 클 수 있다. 예를 들면, 양자화된 변환 계수는 각 변환 계수를 각 변환 계수의 위치에 대응되는 제 2 양자화 테이블의 엘리먼트로 나눈 몫일 수 있기 때문에, 양자화 테이블에 포함된 엘리먼트들의 값이 클수록 압축률이 높아질 수 있다.
일 실시 예에 따른 양자화 테이블 획득부(160)가 제 1 양자화 테이블을 이용하여 제 2 양자화 테이블을 생성하는 구체적인 실시 예는 도 3에서 후술한다.
일 실시 예에 따른 양자화 테이블 획득부(160)는 제 1 양자화 테이블을 구성하는 엘리먼트들의 크기 분포를 나타내는 패턴과 유사한 패턴을 갖는 엘리먼트들로 구성되는 제 2 양자화 테이블을 생성할 수 있다.
예를 들면, 제 1 양자화 테이블에 포함되는 두 엘리먼트들 중 더 큰 값을 갖는 엘리먼트에 대응되는 제 2 양자화 테이블의 엘리먼트는 두 엘리먼트들 중 더 작은 값을 갖는 엘리먼트에 대응되는 제 2 양자화 테이블의 엘리먼트보다 크거나 같은 값을 가질 수 있다.
다른 예로, 제 1 양자화 테이블에 포함되고 서로 다른 값을 갖는 모든 두 엘리먼트들에 있어서, 두 엘리먼트들 중 더 큰 값을 갖는 엘리먼트에 대응되는 제 2 양자화 테이블의 엘리먼트는 두 엘리먼트들 중 더 작은 값을 갖는 엘리먼트에 대응되는 제 2 양자화 테이블의 엘리먼트보다 크거나 같은 값을 가질 수 있다.
다른 예로, 제 1 양자화 테이블에 포함되는 서로 다른 값을 갖는 임의의 두 엘리먼트인 제 1 엘리먼트와 제 2 엘리먼트가 있는 경우에 대해서 설명한다. 제 1 엘리먼트는 제 2 엘리먼트보다 큰 값을 가지는 경우, 제 2 양자화 테이블의 엘리먼트 중 제 1 엘리먼트에 대응되는 제 3 엘리먼트는 제 2 양자화 테이블의 엘리먼트 중 제 2 엘리먼트에 대응되는 제 4 엘리먼트보다 크거나 같을 수 있다. 또한, 제 1 양자화 테이블의 크기와 제 2 양자화 테이블의 크기는 동일할 수 있다. 또한, 제 1 엘리먼트의 제 1 양자화 테이블에서의 위치는 제 3 엘리먼트의 제 2 양자화 테이블에서의 위치와 동일할 수 있다. 예를 들면, 제 1 엘리먼트의 제 1 양자화 테이블에서의 위치가 (0,0)이라면, 제 3 엘리먼트의 제 2 양자화 테이블에서의 위치도 (0,0)일 수 있다.
다른 예로, 제 1 양자화 테이블에 포함되는 서로 같은 값을 갖는 임의의 두 엘리먼트인 제 5 엘리먼트와 제 6 엘리먼트가 제 2 양자화 테이블에 포함되는 제 7 엘리먼트와 제 8 엘리먼트에 각각 대응될 때, 제 7 엘리먼트는 제 8 엘리먼트보다 클 수도 있고, 작을 수도 있다. 또한, 제 7 엘리먼트는 제 8 엘리먼트와 동일한 값을 가질 수도 있다.
다른 예로, 제 1 양자화 테이블에 포함된 임의의 엘리먼트인 9 엘리먼트가 제 2 양자화 테이블에 포함된 제 10 엘리먼트에 대응될 때, 제 10 엘리먼트는 제 9 엘리먼트의 값에 소정의 값을 더한 값을 가질 수 있다. 예를 들면, 제 1 양자화 테이블에 포함된 모든 엘리먼트들에 각각 3을 더한 값을 갖는 엘리먼트들로 제 2 양자화 테이블이 구성될 수 있다.
다른 예로, 제 1 양자화 테이블에 포함된 임의의 엘리먼트인 제 9 엘리먼트가 제 2 양자화 테이블에 포함된 제 10 엘리먼트에 대응될 때, 제 10 엘리먼트는 제 9 엘리먼트의 값에 소정의 값을 곱한 후 소정의 값을 더한 값을 가질 수 있다. 예를 들면, 제 1 양자화 테이블에 포함된 모든 엘리먼트들에 각각 5를 곱한 후 7을 더한 값을 갖는 엘리먼트들로 제 2 양자화 테이블이 구성될 수 있다.
제 2 양자화 테이블을 구성하는 엘리먼트들은 제 1 양자화 테이블을 구성하는 엘리먼트들의 크기 분포를 나타내는 패턴과 유사한 패턴을 갖기 때문에, 양자화부(180)가 제 1 양자화 테이블을 이용해서 양자화를 수행할 때의 PSNR(Peak Signal to Noise Ratio)과 양자화부(180)가 제 2 양자화 테이블을 이용해서 양자화를 수행할 때의 PSNR의 차이는 소정 범위 내로 제한될 수 있다.
일 실시 예에 따른 양자화 테이블 획득부(160)가 제 1 양자화 테이블을 이용하여 제 2 양자화 테이블을 생성하는 구체적인 실시 예는 도 3에서 후술한다.
일 실시 예에 따른 복호화부(110)는 제 1 양자화 테이블을 이용하여 비트스트림으로부터 복원이미지를 복호화할 수 있다. 재부호화부(120)는 비트스트림을 복호화하여 획득된 복원 이미지를 제 2 양자화 테이블을 이용하여 재부호화할 수 있다.
구체적으로 재부호화부(120)에 포함된 양자화부(180)는 양자화 테이블 획득부(160)에서 생성한 제 2 양자화 테이블을 이용하여 변환 계수를 양자화하여 양자화된 변환 계수를 생성할 수 있다. 양자화부(180)는 생성한 양자화된 변환 계수를 엔트로피 부호화부(190)로 출력할 수 있다.
엔트로피 부호화부(190)는 양자화부(180)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로 엔트로피 부호화를 수행하여 출력 비트스트림을 출력할 수 있다. 예를 들면, 엔트로피 부호화부(190)는 양자화부(180)로부터 양자화된 변환 계수를 수신하여 엔트로피 부호화를 수행할 수 있다.
엔트로피 부호화가 수행되는 경우, 높은 발생 빈도를 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 빈도를 갖는 심볼에 많은 수의 비트가 할당될 수 있다. 따라서 이 경우 심볼들을 나타내는 비트열들을 포함하는 비트스트림의 길이는 심볼들에 임의로 비트열을 할당하는 경우보다 짧아질 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다. 일 실시 예에 따른 엔트로피 부호화부(190)는 엔트로피 부호화를 위해 VLC(variable Length Coding) 부호화 방법을 사용할 수 있다.
일 실시 예에 따른 엔트로피 부호화부(190)는 입력 비트스트림에 대응하는 엔트로피 테이블을 이용하여 엔트로피 부호화를 수행할 수 있으며, 구체적인 방법은 도 4 내지 도 8에서 후술한다.
도 2는 도 1 에 도시된 재부호화 장치(100)에서 수행되는 동작을 설명하기 위한 흐름도이다. 구체적으로 도 2는 일 실시 예에 따른 이미지의 재부호화 장치가 양자화 테이블을 생성하여 복원 이미지를 재부호화 하는 방법을 나타내는 흐름도를 도시한다.
단계 S210에서 재부호화 장치는 입력 이미지가 부호화되어 생성된 입력 비트스트림의 헤더를 파싱하여 입력 이미지의 부호화 과정에서 이용된 제 1 양자화 테이블을 획득한다.
입력 이미지가 입력 비트스트림으로 부호화되는 과정에서 제 1 양자화 테이블이 이용될 수 있다. 그리고 제 1 양자화 테이블에 대한 정보는 입력 비트스트림을 통해 전송될 수 있다. 예를 들면, 재부호화 장치는 입력 비트스트림의 헤더를 파싱하여 제 1 양자화 테이블을 획득할 수 있다.
일 실시 예에 따른 재부호화 장치는 제 1 양자화 테이블을 엔트로피 복호화부를 통해 획득할 수 있다.
단계 S220에서 재부호화 장치는 단계 S210에서 획득한 제 1 양자화 테이블의 각 엘리먼트(element)들에 대응되는 엘리먼트들로 구성되는 제 2 양자화 테이블을 생성한다.
일 실시 예에 따른 재부호화 장치는 제 1 양자화 테이블을 구성하는 엘리먼트들의 값의 크기 분포를 나타내는 패턴에 기초하여 제 2 양자화 테이블을 생성할 수 있다.
다른 실시 예에 따른, 재부호화 장치는 제 1 양자화 테이블로 양자화되는 영역의 평균 휘도 값에 기초하여 제 2 양자화 테이블을 생성할 수 있다.
재부호화 장치는 제 1 양자화 테이블을 이용하여 제 2 양자화 테이블을 생성할 수 있다. 재부호화 장치가 제 1 양자화 테이블을 이용하여 제 2 양자화 테이블을 생성하는 구체적인 실시 예는 도 3에서 후술한다.
단계 S230에서 재부호화 장치는 비트스트림이 복호화되어 획득된 복원 이미지를 재부호화 장치에서 생성된 제 2 양자화 테이블을 이용하여 재부호화한다. 여기서 복원 이미지는 복호화부(110)가 제 1 양자화 테이블을 이용하여 입력 비트스트림 형태로 부호화된 이미지를 복호화하여 획득한 이미지일 수 있다.
재부호화 장치는 재부호화 장치에서 생성한 제 2 양자화 테이블을 이용하여 양자화된 변환 계수를 생성할 수 있다. 재부호화 장치는 양자화된 변환 계수 등에 대해 엔트로피 부호화를 수행하여 출력 비트스트림을 생성하여 출력할 수 있다.
일 실시 예에 따른 재부호화 장치는 입력 비트스트림에 대응하는 엔트로피 테이블을 이용하여 엔트로피 부호화를 수행할 수 있으며, 구체적인 방법은 도 4 내지 도 8에서 후술한다.
도 3은 일 실시 예에 따른 재부호화 과정에서 이용되는 양자화 테이블을 생성하는 방법을 설명하는 일 예이다.
도 3a는 입력 이미지가 입력 비트스트림으로 부호화되는 과정에서 이용된 제 1 양자화 테이블의 일 예이다. 도 3a에 도시된 바와 같이 일 실시 예에 따른 제 1 양자화 테이블에 포함된 엘리먼트의 값들은 좌상측에서 우하측으로 갈수록 커지는 경향을 가질 수 있다.
도 3b는 도 3a에 도시된 제 1 양자화 테이블을 정규화한 테이블을 도시한다.
정규화란 데이터를 일정한 규칙에 따라 변형하는 것을 의미할 수 있다. 일 실시 예에 따른 정규화는 데이터간 중복을 최소화할 수 있도록 데이터를 구조화하는 프로세스를 의미할 수 있다. 예를 들면, 복수의 값들이 소정 에러 범위 내에서 특정 값의 배수로 표현될 수 있을 때, 각 값들이 특정 값의 몇 배수에 대응되는지로 각 값들을 표현하는 것이 정규화의 일 예일 수 있다. 예를 들면, 도 3a의 엘리먼트들은 소정 에러 범위 내에서 30의 배수로 표현될 수 있으므로, 도 3b에서는 도 3a의 엘리먼트들의 값들이 30의 몇배에 대응되는지 나타내는 방식으로 테이블을 도시하였다.
예를 들면, 도 3a의 제 1-1 엘리먼트(311) 내지 제 1-4 엘리먼트(314)의 값은 30이상 33이하의 값을 가지므로 30의 1배에 대응되므로 재부호화 장치는 제 1-1 엘리먼트(311) 내지 제 1-4 엘리먼트(314)에 대응되는 제 2-1엘리먼트(321) 내지 제 2-4 엘리먼트(324)의 값을 1로 결정할 수 있다.
다른 예로, 도 3a의 제 1-5 엘리먼트(315)의 값은 62이므로 30의 2배에 대응되므로 재부호화 장치는 제 1-5 엘리먼트(315) 에 대응되는 제 2-5엘리먼트(325)의 값을 2로 결정할 수 있다.
도 3c는 도 3b에 도시된 정규화 테이블에 소정의 값을 곱하여 생성한 테이블을 도시한다. 구체적으로 도 3c는 도 3b에 도시된 정규화 테이블의 각 엘리먼트들에 50을 곱한 값들을 엘리먼트로 포함하는 테이블을 도시한다. 도 3c에 도시된 테이블은 양자화 테이블 획득부(160)가 도 3a에 도시된 제 1 양자화 테이블을 이용하여 생성한 제 2 양자화 테이블의 일 실시 예이다.
정규화된 값에 곱하는 소정의 값은 압축률을 고려하여 결정될 수 있다. 양자화 테이블의 값이 클수록 압축률이 높아질 수 있다. 따라서 양자화 테이블 획득부(160)는 재부호화를 통해 획득하고자 하는 목적 압축률을 고려하여 정규화된 테이블에 곱하는 값을 결정할 수 있다. 도 3c에서 양자화 테이블 획득부(160)는 정규화된 테이블에 50을 곱하여 양자화 테이블을 생성하였다. 여기서 정규화할 때 기준이 되는 값인 30보다 정규화 테이블에 곱하는 값인 50이 더 크다는 것을 확인할 수 있다. 정규화할 때 기준이 되는 값보다 정규화 테이블에 곱하는 값이 더 커야 압축률이 높아질 수 있으므로, 일 실시 예에 따른 정규화할 때 기준이 되는 값은 정규화 테이블에 곱하는 값보다 크거나 같을 수 있다.
제 2 양자화 테이블의 엘리먼트들은 동일한 위치에서의 제 1 양자화 테이블의 엘리먼트보다 큰 값을 가질 수 있다. 예를 들면, 좌상측을 기준으로 할 때, 제 2 양자화 테이블의 (1,1)의 위치에 대응되는 엘리먼트인 제 3-1 엘리먼트(331)의 값인 50은 제 1 양자화 테이블의 (1,1)의 위치에 대응되는 엘리먼트인 제 1-1엘리먼트(311)의 값인 32 보다 크다. 다른 예로, 좌상측을 기준으로 할 때, 제 2 양자화 테이블의 (8,8)의 위치에 대응되는 엘리먼트인 제 3-6 엘리먼트(336)의 값인 400은 제 1 양자화 테이블의 (1,1)의 위치에 대응되는 엘리먼트인 제 1-6 엘리먼트(316)의 값인 242 보다 크다.
따라서 양자화 수행에 따른 압축률은 도 3a에 도시된 제 1 양자화 테이블에 의해 양자화가 수행될 때보다 도 3c에 도시된 제 2 양자화 테이블에 의해 양자화가 수행될 때 더 높을 수 있다. 예를 들면, 양자화된 변환 계수는 각 변환 계수를 각 변환 계수의 위치에 대응되는 제 2 양자화 테이블의 엘리먼트로 나눈 몫일 수 있기 때문에, 양자화 테이블에 포함된 엘리먼트들의 값이 클수록 압축률이 높아질 수 있다.
또한, 도 3a에 도시된 제 1 양자화 테이블에 의해 양자화가 수행된 경우의 PSNR과 도 3c에 도시된 제 2 양자화 테이블에 의해 양자화가 수행된 경우의 PSNR은 소정 범위 내로 제한될 수 있다. 제 1 양자화 테이블을 구성하는 엘리먼트들의 크기 분포를 나타내는 패턴과 제 2 양자화 테이블을 구성하는 엘리먼트들의 패턴이 유사하기 때문이다.
도 3d는 도 3b에 도시된 정규화 테이블에 소정의 값을 곱하여 생성한 제 2 양자화 테이블을 도시한다. 구체적으로 도 3d는 도 3b에 도시된 정규화 테이블의 각 엘리먼트들에 소정의 값을 곱한 값들을 엘리먼트로 포함하는 테이블을 도시한다.
소정의 값을 곱할 때, 소정의 값은 기설정된 방식에 기초하여 결정될 수 있다. 일 실시 예에 따른 기설정된 방식은 인간의 시각을 고려한 방식을 포함할 수 있다. 예를 들면, 정규화된 테이블의 엘리먼트들에 소정의 값을 곱하여 제 2 양자화 테이블을 획득할 때, 낮은 주파수에 대응되는 엘리먼트에 곱하는 값보다 높은 주파수에 대응되는 엘리먼트에 곱하는 값이 더 크도록 할 수 있다. 다른 예로, 정규화된 테이블의 엘리먼트들에 소정의 값을 곱하여 제 2 양자화 테이블을 획득할 때, 재부호화 장치는 인간의 시각에 민감한 부분의 정보에 대한 손실을 감소시킬 수 있도록 각 엘리먼트에 곱하는 값들을 결정할 수 있다. 일 실시 예에 따른 재부호화 장치는 도3b의 테이블의 엘리먼트들에 곱하는 값에 오프셋을 설정할 수 있다.
예를 들면 제 4-1 엘리먼트(341)의 값은 제 2-1 엘리먼트(321)에 48을 곱한 값으로 결정될 수 있다. 다른 예로, 제 4-2 엘리먼트(342)의 값은 제 2-2 엘리먼트(322)에 49을 곱한 값으로 결정될 수 있다. 다른 예로, 제 4-3 엘리먼트(343)의 값은 제 2-3 엘리먼트(323)에 50를 곱한 값으로 결정될 수 있다. 다른 예로, 제 4-4 엘리먼트(344)의 값은 제 2-4 엘리먼트(324)에 54를 곱한 값으로 결정될 수 있다. 다른 예로, 제 4-5 엘리먼트(345)의 값은 제 2-5 엘리먼트(325)에 55를 곱한 값으로 결정될 수 있다. 다른 예로, 제 4-6 엘리먼트(346)의 값은 제 2-6 엘리먼트(326)에 56을 곱한 값으로 결정될 수 있다.
일 실시 예에 따른 재부호화 장치는 제 4-1 엘리먼트(341)의 값이 제 4-3 엘리먼트(343)의 값보다 사람의 시각에 더 민감한 영향을 준다고 판단한 경우, 제 2-1 엘리먼트(321)에 곱하는 값보다 제 2-3 엘리먼트(323)에 곱하는 값을 더 작게 결정할 수 있다.
각 엘리먼트의 값이 사람의 시각에 영향을 끼치는 정도를 판단하는 방법은 여러 가지가 있을 수 있다. 예를 들면, 각 엘리먼트들이 사람의 시각에 영향을 끼치는 정도를 판단하는 방법에 HVS(Human Visual System)이 포함될 수 있다.
도 3e는 도 3c에 도시된 테이블에 포함된 값들을 일부 조정하여 생성한 제 2 양자화 테이블을 도시한다.
일 실시 예에 따른 재부호화 장치는 정규화된 값을 포함하는 테이블(도3b)의 엘리먼트에 소정의 값을 곱한 값으로 구성된 테이블(도3c)의 엘리먼트의 값들을 조정하여 제 2 양자화 테이블을 획득할 수 있다. 일 실시 예에 따른 재부호화 장치는 각 엘리먼트의 값들이 사람의 시각이 민감하게 반응하는 정도를 고려하여 제 2 양자화 테이블의 엘리먼트 값들을 획득할 수 있다.
예를 들면 제 5-1 엘리먼트(351)의 값은 제 3-1 엘리먼트(331)의 값에서 10을 뺀 값으로 결정될 수 있다. 다른 예로, 제 5-2 엘리먼트(352)의 값은 제 3-2 엘리먼트(332)의 값에서 10을 뺀 값으로 결정될 수 있다. 다른 예로, 제 5-3 엘리먼트(353)의 값은 제 3-3 엘리먼트(333)의 값에서 5를 뺀 값으로 결정될 수 있다. 다른 예로, 제 5-4 엘리먼트(354)의 값은 제 3-4 엘리먼트(334)의 값에서 5를 더한 값으로 결정될 수 있다. 다른 예로, 제 5-5 엘리먼트(355)의 값은 제 3-5 엘리먼트(335)의 값에 20을 더한 값으로 결정될 수 있다. 다른 예로, 제 5-6 엘리먼트(356)의 값은 제 3-6 엘리먼트(336)의 값에서 30을 더한 값으로 결정될 수 있다.
각 엘리먼트의 값이 사람의 시각에 영향을 끼치는 정도를 판단하는 방법은 여러 가지가 있을 수 있다. 예를 들면, 각 엘리먼트들이 사람의 시각에 영향을 끼치는 정도를 판단하는 방법에 HVS(Human Visual System)이 포함될 수 있다.
도 4는 일 실시 예에 따라 엔트로피 테이블을 생성하여 이미지를 재부호화하는 재부호화 장치의 블록도를 도시한다.
도 4에 도시된 바와 같이, 재부호화 장치(100)는 엔트로피 테이블 획득부(410) 및 재부호화부(120)를 포함할 수 있다. 또한, 재부호화부(120)는 엔트로피 부호화부(190), 양자화부(180) 및 변환부(170)를 포함할 수 있다. 그러나 도시된 구성요소보다 많은 구성요소에 의해 재부호화 장치(100)가 구현될 수도 있고, 도시된 구성요소보다 적은 구성요소에 의해 재부호화 장치(100)가 구현될 수도 있다.
또한, 복호화부(110)는 엔트로피 복호화부(130), 역양자화부(140), 역변환부(150)를 포함할 수 있다.
도 4를 참조하면, 일 실시 예에 따른 재부호화 장치(100)는 도 1에 도시된 구성요소를 일부 포함한다. 따라서, 이하에서 생략된 내용이라 하더라도 도 1 내지 도 3에 도시된 재부호화 장치(100)에 관하여 이상에서 기술된 내용은 도 4의 재부호화 장치(100)에도 적용될 수 있음을 알 수 있다.
일 실시 예에 따른 복호화부(110)는 입력 이미지가 부호화되어 생성된 입력 비트스트림을 수신할 수 있다.
엔트로피 복호화부(130)는 입력 비트스트림으로부터 복호화 대상인 부호화된 영상 데이터 및 복호화를 위해 필요한 부호화 정보를 파싱한다. 부호화된 영상 데이터는 양자화된 변환 계수로서, 역양자화부(140) 및 역변환부(150)는 양자화된 변환 계수로부터 영상 데이터를 복원한다. 복호화부(110)는 입력 비트스트림으로부터 복원 이미지를 복원할 수 있다. 복원된 영상 데이터는 복원 이미지로 출력될 수 있다.
일 실시 예에 따른 재부호화부(120)는 복호화부(110)에 의해 복원된 복원 이미지를 재부호화하는데 거치는 작업들을 수행할 수 있다.
일 실시 예에 따른 변환부(170)는 복원 이미지를 블록 단위로 변환하여 생성된 변환 계수를 양자화부(180)로 출력할 수 있다. 예를 들면, 변환부(170)는 복원 이미지를 8×8 픽셀 블록 단위로 이산여현변환(Descrete Cosine Transform)하여 변환 계수를 양자화부(180)로 출력할 수 있다.
일 실시 예에 따른 양자화부(180)는 변환부(170)에서 출력된 변환 계수를 양자화 테이블을 이용하여 양자화하고 양자화된 변환계수를 엔트로피 부호화부(190)로 출력할 수 있다.
변환부(170) 및 양자화부(180)에서 양자화된 변환 계수는 엔트로피 부호화부(190)를 거쳐 출력 비트스트림으로 출력될 수 있다.
상술한 과정에서 일 실시 예에 따른 엔트로피 부호화부(190)는 엔트로피 테이블 획득부(410)에서 생성한 엔트로피 테이블을 이용하여 양자화된 변환 계수를 엔트로피 부호화할 수 있다. 일 실시 예에 따른 엔트로피 부호화부(190)는 양자화된 변환 계수를 엔트로피 부호화하여 출력 비트스트림으로 출력할 수 있다.
엔트로피 부호화부(190)는 양자화부(180)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로 엔트로피 부호화를 수행하여 출력 비트스트림을 출력할 수 있다. 예를 들면, 엔트로피 부호화부(190)는 양자화부(180)로부터 양자화된 변환 계수를 수신하여 엔트로피 부호화를 수행할 수 있다.
일 실시 예에 따른 엔트로피 부호화부(190)는 생성된 엔트로피 테이블을 이용하여 엔트로피 부호화를 수행할 수 있다.
예를 들면, 엔트로피 부호화부(190)는 엔트로피 테이블 획득부(410)에서 입력 비트스트림에 따라 적응적으로 생성된 엔트로피 테이블을 이용하여 엔트로피 부호화를 수행할 수 있다.
엔트로피 테이블 획득부(410)는 입력 비트스트림으로부터 복원된 복원 이미지를 재부호화할 때 이용되는 엔트로피 테이블을 생성할 수 있다.
일 실시 예에 따른 엔트로피 테이블 획득부(410)는 입력 비트스트림의 엔트로피 복호화에 이용되는 심볼들의 발생 빈도를 획득할 수 있다.
일 실시 예에 따른 엔트로피 복호화부(130)는 수신된 입력 비트스트림에 대해 엔트로피 복호화를 수행하여 부호화 정보, 변환 계수 등의 심볼들을 파싱할 수 있다.
일 실시 예에 따른 엔트로피 테이블 획득부(410)는 엔트로피 복호화부(130)에서 엔트로피 부호화된 심볼들의 발생 빈도를 획득할 수 있다.
다른 실시 예에 따른 엔트로피 테이블 획득부(410)는 입력 이미지가 입력 비트스트림으로부터 복호화되는 과정에서 엔트로피 복호화된 심볼들의 발생 빈도를 엔트로피 복호화부(130)로부터 획득할 수 있다.
예를 들면, 엔트로피 복호화부(130)는 수신된 입력 비트스트림에 대해 엔트로피 복호화를 수행함에 따라 각종 심볼들을 파싱하는 과정에서 입력 비트스트림에 대한 각 심볼들의 발생 빈도를 획득할 수 있다. 엔트로피 테이블 획득부(410)는 엔트로피 복호화부(130)로부터 입력 비트스트림에 대한 각 심볼들의 발생 빈도를 획득할 수 있다.
일 실시 예에 따른 엔트로피 테이블 획득부(410)는 입력 이미지가 복호화되는 과정에서 엔트로피 복호화되는 심볼들의 발생 빈도를 이용하여 엔트로피 테이블을 생성할 수 있다. 이 때, 엔트로피 테이블은 엔트로피 복호화되는 심볼들의 발생 빈도를 이용하여 엔트로피 부호화되는 심볼들 각각에 비트열을 대응시키기 위해 이용될 수 있다.
일 실시 예에 따른 엔트로피 테이블은 이미지를 부호화 또는 재부호화하는 과정에서 엔트로피 부호화되는 심볼들 각각에 비트열을 대응시킬 수 있다. 이 때, 일 실시 예에 따른 엔트로피 테이블 획득부(410)는 엔트로피 부호화의 대상이 되는 심볼들의 발생 빈도를 이용하여 엔트로피 테이블을 생성할 수 있다.
일 실시 예에 따른 엔트로피 테이블 획득부(410)는 엔트로피 부호화의 대상이 되는 심볼에 대응되는 비트열의 길이를 비트열에 대응되는 심볼의 발생 빈도에 기초하여 결정할 수 있다. 예를 들면, 엔트로피 테이블 획득부(410)는 심볼들의 발생 빈도를 이용하여 엔트로피 부호화되는 심볼들 중 제 1 심볼에 대응되는 비트열의 길이가 제 1 심볼보다 발생 빈도가 낮은 제 2 심볼에 대응되는 비트열의 길이보다 작거나 같도록 엔트로피 테이블을 생성할 수 있다.
일 실시 예에 따른 엔트로피 테이블 획득부(410)는 입력 비트스트림에 대한 각 심볼들의 발생 빈도에 기초하여 엔트로피 테이블을 생성하기 때문에, 입력 이미지 또는 복원 이미지에 적응적인 엔트로피 테이블을 생성할 수 있다. 따라서 일 실시 예에 따른 엔트로피 테이블 획득부(410)는 입력 이미지 또는 복원 이미지에 대응되는 엔트로피 테이블을 생성할 수 있다.
다른 실시 예에 따른 엔트로피 테이블 획득부(410)는 입력 이미지가 복호화되는 과정에서 엔트로피 복호화되는 심볼들의 발생 빈도에 기초하여 기 설정된 복수개의 엔트로피 테이블들 중에서 하나의 엔트로피 테이블을 선택할 수 있다.
예를 들면, 엔트로피 테이블 획득부(410)는 재부호화를 수행하는 이미지의 예상되는 특성에 따라 복수개의 엔트로피 테이블을 저장하고 있을 수 있다. 예를 들면, 엔트로피 테이블 획득부(410)는 바다 풍경과 같이 전체적으로 샘플 값의 변화가 크지 않은 이미지의 재부호화를 수행할 때 효율적인 엔트로피 테이블을 저장하고 있을 수 있다. 다른 예로, 엔트로피 테이블 획득부(410)는 도시 풍경과 같이 상대적으로 샘플 값의 변화가 큰 이미지의 재부호화를 수행할 때 효율적인 엔트로피 테이블을 저장하고 있을 수 있다.
일 실시 예에 따른 엔트로피 테이블 획득부(410)는 엔트로피 복호화부(130)에서 엔트로피 복호화되는 심볼들의 발생 빈도에 기초하여 미리 저장하고 있던 복수개의 엔트로피 테이블 중에서 하나의 엔트로피 테이블을 결정하여 결정된 엔트로피 테이블을 엔트로피 부호화부(190)로 출력할 수 있다.
예를 들면, 엔트로피 테이블 획득부(410)는 엔트로피 복호화부(130)에서 엔트로피 복호화되는 심볼들의 발생 빈도의 히스토그램을 획득하고, 미리 저장하고 있던 복수개의 엔트로피 테이블 중 심볼들의 발생 빈도의 히스토그램이 가장 유사한 엔트로피 테이블을 엔트로피 부호화부(190)로 출력할 수 있다.
재부호화부(120)는 복원 이미지를 엔트로피 테이블 획득부(410)에서 생성된 엔트로피 테이블을 이용하여 재부호화할 수 있다. 예를 들면, 엔트로피 부호화부(190)는 엔트로피 테이블 획득부(410)에서 생성된 엔트로피 테이블을 이용하여 양자화부(180)로부터 수신한 양자화된 변환 계수에 대해 엔트로피 부호화를 수행할 수 있다.
재부호화부(120)에 포함된 양자화부(180)는 변환부(170)로부터 수신한 변환 계수를 양자화하여 양자화된 변환 계수를 생성할 수 있다. 양자화부(180)는 생성한 양자화된 변환 계수를 엔트로피 부호화부(190)로 출력할 수 있다.
엔트로피 부호화부(190)는 양자화부(180)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로 엔트로피 부호화를 수행하여 출력 비트스트림을 출력할 수 있다. 예를 들면, 엔트로피 부호화부(190)는 양자화부(180)로부터 양자화된 변환 계수를 수신하여 엔트로피 부호화를 수행할 수 있다.
엔트로피 부호화가 적용되는 경우, 높은 발생 빈도를 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 빈도를 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다. 예를 들면, 엔트로피 부호화부(190)는 엔트로피 부호화를 위해 VLC(variable Length Coding)와 같은 부호화 방법을 사용할 수 있다.
엔트로피 부호화부(190)는 엔트로피 부호화를 수행할 때 엔트로피 테이블을 이용할 수 있다.
엔트로피 테이블은 엔트로피 부호화 또는 엔트로피 복호화를 수행할 때 이용되는 테이블을 의미할 수 있다.
예를 들면, 엔트로피 부호화부(190)는 제 1 엔트로피 테이블을 이용하여 양자화된 계수값을 심볼로 매핑시킬 수 있다. 여기서 심볼은 인덱스의 일종일 수 있다. 그리고 엔트로피 부호화부(190)는 제 2 엔트로피 테이블을 이용하여 심볼을 코드 워드에 매핑시킬 수 있다. 그리고 엔트로피 부호화부(190)는 제 3 엔트로피 테이블을 이용하여 코드워드를 나타내는 비트스트림을 생성할 수 있다.
다른 예로, 엔트로피 부호화부(190)는 엔트로피 테이블을 이용하여 양자화된 계수 값을 코드 워드에 매핑시킬 수 있다.
다른 예로, 엔트로피 부호화부(190)는 엔트로피 테이블을 이용하여 양자화된 계수 값을 코드 워드 및 코드 길이에 매핑시킬 수 있다.
다른 예로, 엔트로피 부호화부(190)는 엔트로피 테이블을 이용하여 양자화된 계수 값을 나타내는 심볼을 코드 워드에 매핑시킬 수 있다.
다른 예로, 엔트로피 부호화부(190)는 엔트로피 테이블을 이용하여 양자화된 계수 값을 나타내는 심볼을 코드 워드 및 코드 길이에 매핑시킬 수 있다.
다른 예로, 엔트로피 부호화부(190)는 엔트로피 테이블을 이용하여 양자화된 계수 값 나타내는 비트스트림을 생성할 수 있다.
일 실시 예에 따른 엔트로피 테이블은 엔트로피 부호화에 이용되는 테이블을 의미할 수 있다. 예를 들면, 엔트로피 테이블은 이미지를 부호화 또는 재부호화하는 과정에서 엔트로피 부호화되는 심볼들 각각에 비트열을 대응시키는 테이블을 의미할 수 있다. 다른 예로, 엔트로피 테이블은 복원 이미지를 재부호화하는 과정에서 엔트로피 부호화되는 심볼들 각각에 비트열을 대응시킬 수 있다. 다른 예로, 엔트로피 테이블은 허프만 테이블(Huffman table)을 포함할 수 있다.
다른 예로, 엔트로피 테이블은 각각의 심볼들에 코드워드를 매핑시키는 코드워드 테이블을 포함할 수 있다. 다른 예로, 엔트로피 테이블은 각각의 코드워드와 비트스트림을 매칭시킬 때 이용되는 테이블을 포함할 수 있다.
일 실시 예에 따른 엔트로피 부호화부(190)는 양자화 결과 생성된 심볼들 및 각종 심볼들에 엔트로피 테이블을 이용하여 비트열을 대응시킬 수 있다. 예를 들면, “101000101”이라는 심볼의 발생 빈도가 가장 높은 경우 엔트로피 테이블은 “101000101”에 ‘0’이라는 비트열을 대응시킬 수 있다. 엔트로피 테이블이 없는 경우“101000101”를 표현하기 위해서는 9비트가 필요하지만, 엔트로피 테이블을 이용할 경우 1비트만으로 “101000101”를 표현할 수 있다. 다른 예로, “10101”이라는 심볼의 발생 빈도가 가장 낮은 경우 엔트로피 테이블은 “10101”이라는 심볼에 사용되는 비트열 중 가장 긴 비트열을 대응시킬 수 있다. 적은 비트 수 만으로 표현이 가능한 비트열은 발생 빈도가 높은 심볼에 할당한 결과, 발생 빈도가 낮은 심볼에는 길이가 긴 비트열이 대응될 수 있다.
다른 실시 예에 따른 엔트로피 부호화부(190)는 양자화 결과 생성된 양자화된 변환 계수들에 엔트로피 테이블을 이용하여 비트열을 대응시킬 수 있다. 예를 들면, “11100”이라는 양자화된 변환 계수의 발생 빈도가 가장 높은 경우 엔트로피 테이블은 “11100”에 ‘0’이라는 비트열을 대응시킬 수 있다. 엔트로피 테이블이 없는 경우“11100”를 표현하기 위해서는 5비트가 필요하지만, 엔트로피 테이블을 이용할 경우 1비트만으로 “11100”를 표현할 수 있다.
다른 실시 예에 따른 엔트로피 부호화부(190)는 각종 심볼들에 대응된 비트열을 이용하여 비트스트림을 생성할 수 있다. 예를 들면 엔트로피 부호화부(190)는 각종 심볼들에 대응된 비트열이 매핑되는 비트스트림을 엔트로피 테이블을 이용하여 생성할 수 있다.
예를 들면, 0000, 001, 010, 011이라는 네 개의 코드워드가 각각 f, a, c, e라는 심볼에 대응되는 경우, 엔트로피 부호화부(190)는 하나 이상의 엔트로피 테이블을 이용하여 face라는 연속된 4개의 심볼을 나타내는‘0000001010011’이라는 비트스트림을 생성할 수 있다.
다른 예로, 엔트로피 부호화부(190)는 비트스트림을 생성할 때 엔트로피 테이블을 이용하여 코드 워드 뿐 아니라 코드 길이에 대한 정보까지 포함된 비트스트림을 생성할 수 있다.
재부호화부(120)에서 엔트로피 부호화를 수행하는 과정에서 이용한 엔트로피 테이블은 출력 이미지를 다른 기기에서 복호화하는 과정에서 이용될 수 있기 때문에, 엔트로피 부호화부(190)에서 부호화한 방식을 이용하여 추후에 복호화가 수행될 수 있다.
엔트로피 부호화부(190)는 양자화 결과 생성된 심볼들 및 각종 심볼들에 엔트로피 부호화를 수행할 때, 엔트로피 생성부(410)로부터 수신한 엔트로피 테이블을 이용하여 엔트로피 부호화를 수행할 수 있다. 엔트로피 테이블 획득부(410)에서 생성한 엔트로피 테이블은 입력 비트스트림에 적응적으로 생성된 것이기 때문에, 엔트로피 부호화부(190)는 복원 이미지에 적응적인 엔트로피 부호화를 수행할 수 있다.
도 5는 도 4에 도시된 재부호화 장치(100)에서 수행되는 동작을 설명하기 위한 흐름도이다. 구체적으로 도 5는 일 실시 예에 따른 이미지의 재부호화 장치가 엔트로피 테이블을 생성하여 복원 이미지를 재부호화 하는 방법을 나타내는 흐름도를 도시한다.
단계 S510에서 재부호화 장치는 입력 이미지가 복호화되는 과정에서 엔트로피 복호화되는 심볼들의 발생 빈도를 획득할 수 있다.
예를 들면, 재부호화 장치는 엔트로피 복호화부(130)로부터 입력 이미지가 복호화되는 과정에서 엔트로피 복호화되는 심볼들의 발생 빈도를 획득할 수 있다. 일 실시 예에 따른 엔트로피 복호화부(130)는 수신된 입력 비트스트림에 대해 엔트로피 복호화를 수행하여 부호화 정보, 변환 계수 등의 심볼들을 파싱할 수 있다. 일 실시 예에 따른 엔트로피 복호화부(130)는 심볼들을 파싱하는 과정에서 엔트로피 복호화되는 심볼들의 발생 빈도를 획득할 수 있다. 일 실시 예에 따른 엔트로피 복호화부(130)는 획득한 심볼들의 발생 빈도를 재부호화 장치로 출력할 수 있다. 재부호화 장치는 엔트로피 복호화부(130)로부터 출력되는 심볼들의 발생 빈도를 획득할 수 있다.
심볼들의 발생 빈도를 획득하는 구체적인 방법은 도 4에서 상술하였다.
단계 S520에서 재부호화 장치는 단계 S510에서 획득한 발생 빈도를 이용하여 엔트로피 테이블을 생성할 수 있다. 여기서 엔트로피 테이블은 복호화부(110)에서 복원한 복원 이미지가 재부호화 장치에서 재부호화되는 과정에서 엔트로피 부호화되는 심볼들 각각에 비트열을 대응시키기 위해 이용될 수 있다.
일 실시 예에 따른 엔트로피 테이블은 이미지를 부호화 또는 재부호화하는 과정에서 엔트로피 부호화되는 심볼들 각각에 비트열을 대응시킬 수 있다. 이 때, 일 실시 예에 따른 재부호화 장치는 엔트로피 부호화의 대상이 되는 심볼들의 발생 빈도를 이용하여 엔트로피 테이블을 생성할 수 있다.
일 실시 예에 따른 재부호화 장치는 엔트로피 부호화의 대상이 되는 심볼에 대응되는 비트열의 길이를 비트열에 대응되는 심볼의 발생 빈도에 기초하여 결정할 수 있다. 예를 들면, 재부호화 장치는 복원 이미지를 재부호화하는 과정에서 엔트로피 부호화되는 심볼들 중 제 1 심볼에 대응되는 비트열의 길이가 제 1 심볼보다 발생 빈도가 낮은 제 2 심볼에 대응되는 비트열의 길이보다 작거나 같도록 엔트로피 테이블을 생성할 수 있다.
일 실시 예에 따른 재부호화 장치는 입력 비트스트림에 대한 각 심볼들의 발생 빈도에 기초하여 엔트로피 테이블을 생성하기 때문에, 입력 이미지 또는 복원 이미지에 적응적인 엔트로피 테이블을 생성할 수 있다. 따라서 일 실시 예에 따른 재부호화 장치는 입력 이미지 또는 복원 이미지에 대응되는 엔트로피 테이블을 생성할 수 있다.
단계 S510에서 획득한 발생 빈도를 이용하여 엔트로피 테이블을 생성하는 구체적인 방법은 도 4에서 상술하였다.
단계 S530에서 재부호화 장치는 복원 이미지를 단계 S520에서 생성된 엔트로피 테이블을 이용하여 재부호화할 수 있다. 예를 들면, 재부호화 장치는 엔트로피 테이블 획득부(410)에서 생성된 엔트로피 테이블을 이용하여 양자화된 변환 계수에 대해 엔트로피 부호화를 수행할 수 있다.
재부호화 장치는 변환 계수를 양자화하여 양자화된 변환 계수를 생성할 수 있다.
재부호화 장치는 양자화된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로 엔트로피 부호화를 수행하여 출력 비트스트림을 출력할 수 있다. 예를 들면, 재부호화 장치는 양자화된 변환 계수를 이용하여 엔트로피 부호화를 수행할 수 있다.
재부호화 장치는 양자화 결과 생성된 심볼들 및 각종 심볼들에 엔트로피 부호화를 수행할 때, 재부호화 장치에서 생성한 엔트로피 테이블을 이용하여 엔트로피 부호화를 수행할 수 있다. 재부호화 장치에서 생성한 엔트로피 테이블은 입력 비트스트림에 적응적으로 생성된 것이기 때문에, 재부호화 장치는 복원 이미지에 적응적인 엔트로피 부호화를 수행할 수 있다.
구체적인 엔트로피 부호화 수행 방법은 도 4에서 상술하였다.
도 6은 일 실시 예에 따른 이미지의 재부호화 장치가 양자화 테이블 및 엔트로피 테이블을 생성하여 복원 이미지를 재부호화 하는 방법을 나타내는 흐름도를 도시한다.
일 실시 예에 따른 복호화부(110)는 입력 이미지가 부호화되어 생성된 입력 비트스트림을 수신할 수 있다.
엔트로피 복호화부(130)는 입력 비트스트림으로부터 복호화 대상인 부호화된 영상 데이터 및 복호화를 위해 필요한 부호화 정보를 파싱한다. 부호화된 영상 데이터는 양자화된 변환 계수로서, 역양자화부(140) 및 역변환부(150)는 양자화된 변환 계수로부터 영상 데이터를 복원한다. 복호화부(110)는 입력 비트스트림으로부터 복원 이미지를 복원할 수 있다. 복원된 영상 데이터는 복원 이미지로 출력될 수 있다.
일 실시 예에 따른 재부호화부(120)는 복호화부(110)에 의해 복원된 복원 이미지를 재부호화하는데 거치는 작업들을 수행할 수 있다.
일 실시 예에 따른 변환부(170)는 복원 이미지를 블록 단위로 변환하여 생성된 변환 계수를 양자화부(180)로 출력할 수 있다. 예를 들면, 변환부(170)는 복원 이미지를 8×8 픽셀 블록 단위로 이산여현변환(Descrete Cosine Transform)하여 변환 계수를 양자화부(180)로 출력할 수 있다.
일 실시 예에 따른 양자화부(180)는 변환부(170)에서 출력된 변환 계수를 양자화 테이블을 이용하여 양자화하고 양자화된 변환계수를 엔트로피 부호화부(190)로 출력할 수 있다.
변환부(170) 및 양자화부(180)에서 양자화된 변환 계수는 엔트로피 부호화부(190)를 거쳐 출력 비트스트림으로 출력될 수 있다.
양자화 테이블 획득부(160)는 재부호화 장치(100)에 포함된 양자화부(180)에서 변환 계수를 양자화할 때 이용하는 양자화 테이블을 생성할 수 있다. 양자화 테이블 획득부(160)의 구체적인 동작에 대해서는 도 1 내지 도 3에서 상술하였다.
엔트로피 복호화부(130)는 도 6에 도시된 바와 같이 재부호화 장치(100)에 포함될 수 있다. 엔트로피 복호화부(130)는 입력 비트스트림을 수신할 수 있다. 일 실시 예에 따른 엔트로피 복호화부(130)는 수신한 입력 비트스트림을 파싱하여, 저해상도 이미지, 입력 이미지가 부호화될 때 이용된 양자화 테이블 또는 엔트로피 복호화되는 과정에서 획득되는 심볼들을 획득할 수 있다. 구체적인 엔트로피 복호화부(130)의 동작은 도 1 내지 도 5에서 상술하였다.
일 실시 예에 따른 재부호화 장치(100)는 재부호화부(120), 양자화 테이블 획득부(160), 엔트로피 테이블 획득부(410) 및 엔트로피 복호화부(130)를 포함할 수 있다. 그러나 도시된 구성요소보다 더 많은 구성요소에 의해 재부호화 장치(100) 가 구현될 수도 있고, 도시된 구성요소보다 적은 구성요소에 의해 재부호화 장치(100)가 구현될 수도 있다.
일 실시 예에 따른 엔트로피 테이블 획득부(410)는 저해상도 이미지 획득부(610), 심볼 재배정부(620), 심볼 통계 산출부(630) 및 테이블 생성부(640)를 포함할 수 있다. 그러나 도시된 구성요소보다 더 많은 구성요소에 의해 엔트로피 테이블 획득부(410)가 구현될 수도 있고, 도시된 구성요소보다 적은 구성요소에 의해 엔트로피 테이블 획득부(410)가 구현될 수도 있다.
저해상도 이미지 획득부(610)는 입력 이미지의 저해상도 이미지를 획득할 수 있다. 일 실시 예에 따른 저해상도 이미지는 원본 이미지를 작게 만든 이미지를 의미할 수 있다. 예를 들면, 4128×2333의 해상도를 가진 원본 이미지를 축소하여 만든 512×288의 해상도를 가진 이미지는 저해상도 이미지일 수 있다. 다른 예로, 저해상도 이미지는 썸네일 이미지일 수 있다. 일 실시 예에 따른 썸네일 이미지는 원본 이미지가 축소된 이미지를 의미할 수 있다.
저해상도 이미지 획득부(610)는 입력 비트스트림으로부터 입력 이미지의 저해상도 이미지를 획득할 수 있다.
예를 들면, 입력 비트스트림의 헤더에 입력 이미지의 저해상도 이미지에 대한 정보가 포함되어있는 경우, 엔트로피 복호화부(130)는 입력 비트스트림을 통해 입력 이미지의 저해상도 이미지를 수신할 수 있다. 그리고 저해상도 이미지 획득부(610)는 엔트로피 복호화부(130)로부터 저해상도 이미지를 획득할 수 있다.
다른 예로, 입력 비트스트림으로부터 저해상도 이미지를 수신하지 못할 경우, 저해상도 이미지 획득부(610)는 복호화부(110)가 복원한 이미지를 리사이즈하여 저해상도 이미지를 획득할 수 있다. 예를 들면, 저해상도 이미지 획득부(610)는 복원 이미지의 해상도를 소정의 해상도로 조절함으로써 입력 이미지에 대한 저해상도 이미지를 획득할 수 있다.
저해상도 이미지 획득부(610)가 입력 이미지에 대한 저해상도 이미지를 획득하는 것은 선택적인 동작일 수 있다. 예를 들면, 저해상도 이미지 획득부(610)는 입력 비트스트림의 헤더에 입력 이미지의 저해상도 이미지에 대한 정보가 포함되어있는 경우에만 저해상도 이미지를 획득하여 심볼 재배정부(620)로 획득한 저해상도 이미지를 출력할 수 있다.
출력되는 저해상도 이미지는 엔트로피 테이블을 생성하기 위해 이용될 수 있다.
예를 들면, 심볼 통계 산출부(630)는 저해상도 이미지를 이용하여 심볼들의 발생 빈도를 예측할 수 있다. 그리고 테이블 생성부는 심볼 통계 산출부(630)에서 예측한 발생 빈도를 이용하여 엔트로피 테이블을 생성할 수 있다.
다른 예로, 심볼 재배정부(620)는 저해상도 이미지를 이용하여 심볼을 재배정할 수 있다. 저해상도 이미지의 부호화 또는 복호화 과정에서 이용되는 심볼은 원본 이미지의 부호화 또는 복호화 과정에서 이용되는 심볼과 상이할 수 있다. 따라서 일 실시 예에 따른 심볼 재배정부(620)는 저해상도 이미지의 부호화 또는 복호화 과정에서 이용되는 심볼을 복원 이미지가 재부호화될 때 이용되는 심볼로 대체할 수 있다. 심볼의 재배정에 대해서는 심볼 재배정부(620)에서 후술한다.
일 실시 예에 따른 저해상도 이미지 획득부(610)는 입력 비트스트림으로부터 저해상도 이미지를 수신할 수 있는지 여부를 결정할 수 있다.
일 실시 예에 따른 저해상도 이미지 획득부(610)는 저해상도 이미지를 수신할 수 있는 경우 입력 비트스트림으로부터 저해상도 이미지를 수신할 수 있다. 예를 들면 저해상도 이미지에 대한 정보는 입력 비트스트림의 헤더에 포함되어 있을 수 있다. 그리고 저해상도 이미지 획득부(610)는 입력 비트스트림을 통해 수신된 저해상도 이미지에 대한 정보를 이용하여 저해상도 이미지를 획득할 수 있다. 이 경우 저해상도 이미지를 생성하는 과정이 생략될 수 있다.
다른 실시 예에 따른 저해상도 이미지 획득부(610)는 저해상도 이미지를 수신할 수 없는 경우 입력 비트스트림을 파싱하여 저해상도 이미지를 생성할 수 있다. 입력 비트스트림에 저해상도 이미지에 대한 정보가 포함되어있지 않을 수 있다. 이 경우 저해상도 이미지 획득부(610)는 복원 이미지에 대한 정보를 이용하여 저해상도 이미지를 생성할 수 있다. 예를 들면, 저해상도 이미지 획득부(610)는 복원 이미지의 픽셀 정보를 소정의 비율로 샘플링하여 획득된 정보를 이용하여 저해상도 이미지를 생성할 수 있다.
일 실시 예에 따라 저해상도 이미지가 썸네일 이미지인 경우의 재부호화 장치(100)에 대해서 도 9에서 후술한다.
심볼 재배정부(620)는 엔트로피 테이블에 이용되는 심볼을 재배정할 수 있다.
예를 들면, 엔트로피 복호화부(130)에서 엔트로피 복호화되는 심볼들을 엔트로피 부호화부(190)에서 엔트로피 부호화되는 심볼들로 대체할 수 있다.
다른 예로, 저해상도 이미지를 부호화 또는 복호화할 때 이용되는 심볼들을 원본 이미지를 부호화 또는 복호화할 때 이용되는 심볼들로 대체할 수 있다.
엔트로피 복호화부(130)에서 엔트로피 복호화되는 심볼들은 입력 이미지가 입력 비트스트림으로 부호화되는 과정에서 이용된 제 1 양자화 테이블에 기초하여 결정될 수 있다. 그러나 엔트로피 부호화부(190)에서 엔트로피 부호화되는 심볼들은 복원 이미지가 재부호화되는 과정에서 이용된 제 2 양자화 테이블에 기초하여 결정될 수 있다.
따라서, 엔트로피 복호화부(130)에서 엔트로피 복호화되는 심볼들과 엔트로피 부호화부(190)에서 엔트로피 부호화되는 심볼들은 서로 상이할 수 있다. 따라서 심볼 재배정부(620)는 엔트로피 복호화부(130)에서 엔트로피 복호화되는 심볼들을 대응되는 엔트로피 부호화부(190)에서 엔트로피 부호화되는 심볼들로 재배정할 수 있다. 따라서 엔트로피 테이블 획득부(410)는 엔트로피 부호화부(190)에서 엔트로피 부호화되는 심볼들을 포함하는 엔트로피 테이블을 생성할 수 있다.
예를 들면, 엔트로피 복호화부(130)에서 엔트로피 복호화되는 심볼인 “100100”이 양자화 테이블의 차이로 인해 재부호화 수행 과정에서 “10010”으로 변경되었다면, 엔트로피 테이블 획득부(410)에서 이용하는 심볼은 “100100”이 아닌 “10010”일 수 있다.
일 실시 예에 따른 심볼 재배정부(620)는 양자화 테이블 획득부(160)가 있는 경우에만 동작할 수 있다. 예를 들면, 양자화 테이블 획득부(160)가 생략된 형태의 실시 예에서는 심볼 재배정부(620)가 생략(omit)될 수 있다.
심볼 통계 산출부(630)는 심볼들의 발생 빈도를 획득할 수 있다. 심볼 통계 산출부(630)는 획득한 심볼들의 발생 빈도를 이용하여 심볼들에 대한 통계를 산출할 수 있다. 심볼 통계 산출부(630)에서 통계를 산출할 때에는 심볼 재배정부(620)에서 재배정된 심볼들을 기준으로 통계를 산출할 수 있다.
예를 들면, 엔트로피 복호화부(130)에서 엔트로피 복호화되는 심볼인 “100100”이 양자화 테이블의 차이로 인해 재부호화 수행 과정에서 “10010”으로 변경될 수 있다.
심볼에 따른 발생 빈도를 이용하여 히스토그램을 그릴 수 있으며, 구체적인 히스토그림에 대한 실시 예에 대해서는 도 8에서 후술한다.
일 실시 예에 따른 심볼 통계 산출부(630)는 저해상도 이미지 획득부에서 획득한 저해상도 이미지를 이용하여 엔트로피 부호화부(190)에서 부호화되는 심볼들의 발생 빈도를 예측할 수 있다. 심볼 통계 산출부(630)는 예측한 발생 빈도에 대한 정보를 테이블 생성부(640)로 출력할 수 있다. 그리고 테이블 생성부(640)는 예측한 발생 빈도를 이용하여 엔트로피 부호화부(190)에서 이용되는 엔트로피 테이블을 생성할 수 있다.
테이블 생성부(640)는 엔트로피 부호화부(190)에서 엔트로피 부호화를 수행할 때 이용하는 엔트로피 테이블을 생성할 수 있다. 예를 들면, 심볼 통계 산출부(630)를 통해 획득한 통계 결과를 이용하여 입력 이미지에 적응적인 엔트로피 테이블을 생성할 수 있다.
엔트로피 테이블의 의미에 대해서는 도 4에서 상술하였다.
일 실시 예에 따른 테이블 생성부(640)는 엔트로피 부호화의 대상이 되는 심볼에 대응되는 비트열의 길이를 비트열에 대응되는 심볼의 발생 빈도에 기초하여 결정할 수 있다. 예를 들면, 테이블 생성부(640)는 복원 이미지를 재부호화하는 과정에서 엔트로피 부호화되는 심볼들 중 제 1 심볼에 대응되는 비트열의 길이가 제 1 심볼보다 발생 빈도가 낮은 제 2 심볼에 대응되는 비트열의 길이보다 작거나 같도록 엔트로피 테이블을 생성할 수 있다. 테이블 생성부(640)는 각 심볼의 발생 빈도에 대한 정보를 심볼 통계 산출부(630)를 통해 획득할 수 있다.
일 실시 예에 따른 테이블 생성부(640)는 입력 비트스트림에 대한 각 심볼들의 발생 빈도 또는 발생 확률에 기초하여 엔트로피 테이블을 생성하기 때문에, 입력 이미지 또는 복원 이미지에 적응적인 엔트로피 테이블을 생성할 수 있다. 따라서 일 실시 예에 따른 테이블 생성부(640)는 입력 이미지 또는 복원 이미지에 대응되는 엔트로피 테이블을 생성할 수 있다.
다른 실시 예에 따른 테이블 생성부(640)는 심볼 통계 산출부(630)를 통해 획득한 통계에 기초하여 기 설정된 복수개의 엔트로피 테이블들 중에서 하나의 엔트로피 테이블을 선택할 수 있다.
일 실시 예에 따른 테이블 생성부(640)는 재부호화를 수행하는 이미지의 예상되는 특성에 따라 복수개의 엔트로피 테이블을 저장하고 있을 수 있다. 예를 들면, 테이블 생성부(640)는 바다 풍경과 같이 전체적으로 샘플 값의 변화가 크지 않은 이미지의 재부호화를 수행할 때 효율적인 엔트로피 테이블을 저장하고 있을 수 있다. 다른 예로, 테이블 생성부(640)는 도시 풍경과 같이 상대적으로 샘플 값의 변화가 큰 이미지의 재부호화를 수행할 때 효율적인 엔트로피 테이블을 저장하고 있을 수 있다.
일 실시 예에 따른 테이블 생성부(640)는 엔트로피 복호화부(130)에서 엔트로피 복호화되는 심볼들의 발생 빈도 또는 발생 확률에 기초하여 미리 저장하고 있던 복수개의 엔트로피 테이블 중에서 하나의 엔트로피 테이블을 결정하여 결정된 엔트로피 테이블을 엔트로피 부호화부(190)로 출력할 수 있다.
예를 들면, 테이블 생성부(640)는 엔트로피 복호화부(130)에서 엔트로피 복호화되는 심볼들의 발생 빈도 또는 발생 확률의 히스토그램을 획득하고, 미리 저장하고 있던 복수개의 엔트로피 테이블 중 심볼들의 발생 빈도 또는 발생 확률의 히스토그램이 가장 유사한 엔트로피 테이블을 엔트로피 부호화부(190)로 출력할 수 있다.
재부호화부(120)는 복원 이미지를 테이블 생성부(640)에서 생성된 엔트로피 테이블을 이용하여 재부호화할 수 있다. 예를 들면, 엔트로피 부호화부(190)는 엔트로피 테이블 획득부(410)에서 생성된 엔트로피 테이블을 이용하여 양자화부(180)로부터 수신한 양자화된 변환 계수에 대해 엔트로피 부호화를 수행할 수 있다.
도 7은 일 실시 예에 따른 재부호화 과정에서 이용되는 원본 이미지 및 원본 이미지에 대한 저해상도 이미지를 설명하는 일 예이다.
도 7a에 도시된 이미지는 원본 이미지이다. 또한, 도 7b에 도시된 이미지는 원본 이미지에 대한 저해상도 이미지이다.
도시된 바와 같이 일 실시 예에 따른 저해상도 이미지는 원본 이미지를 축소하여 만든 이미지를 의미할 수 있다. 예를 들면, 도 7a에 도시된 원본 이미지의 해상도는 4128×2333이고, 도 7b에 도시된 저해상도 이미지의 해상도는 512×288일 수 있다.
도 8은 일 실시 예에 따른 심볼 통계 산출부(630)에서 획득한 각 심볼에 대한 발생 빈도를 나타내기 위한 히스토그림의 일 예이다.
도 8에서 세로축은 각 심볼들의 발생 빈도의 상대적인 값 또는 각 심볼들의 발생 확률을 의미할 수 있다. 도 8에서 가로축은 각 심볼들을 나타낼 수 있다. 일 실시 예에 따른 각 심볼들의 발생 확률은 심볼들의 전체 발생 횟수 중에 특정 심볼이 발생한 횟수를 의미할 수 있다. 일 실시 예에 따른 각 심볼들의 발생 빈도는 각 심볼들의 발생 횟수를 의미할 수 있다.
(a)로 표시되는 그래프는 원본 이미지에 대한 히스토그램이고, (b)로 표시되는 그래프는 저해상도 이미지에 대한 히스토그램이다.
도 8에서 확인할 수 있는 바와 같이 원본 이미지에 대한 심볼 발생 확률의 히스토그램과 저해상도 이미지에 대한 심볼 발생 확률의 히스토그램은 유사할 수 있다. 그리고 재부호화 장치(100)는 저해상도 이미지를 획득할 수 있는 경우, 저해상도 이미지를 이용하여 엔트로피 테이블을 생성 또는 결정할 수 있다.
도 9는 도 6에 도시된 재부호화 장치(100)에서 수행되는 동작을 설명하기 위한 흐름도이다. 구체적으로 도 9는 일 실시 예에 따른 썸네일 이미지의 존부에 따라 복원 이미지를 재부호화하는 방법을 나타내는 흐름도를 도시한다.
단계 S910에서 재부호화 장치(100)는 썸네일 이미지가 존재하는지 여부를 결정할 수 있다. 예를 들면, 재부호화 장치는 입력 비트스트림을 파싱하여 썸네일 이미지에 대한 정보를 획득할 수 있는지 여부를 결정하여, 썸네일 이미지가 존재하는지 여부를 결정할 수 있다. 다른 예로, 재부호화 장치는 엔트로피 복호화하여 파싱된 정보를 획득하는 과정에서 입력 비트스트림으로부터 썸네일 이미지에 대한 정보를 획득할 수 있는지 여부를 결정할 수 있다.
일 실시 예에 따른 썸네일 이미지에 대한 정보는 입력 비트스트림의 헤더에 포함될 수 있다. 또한, 일 실시 예에 따른 재부호화 장치는 입력 비트스트림의 헤더를 파싱함으로써 썸네일 이미지에 대한 정보의 존부를 결정할 수 있다.
단계 S920에서 재부호화 장치는 썸네일 이미지를 복호화할 수 있다. 예를 들면, 저해상도 이미지 획득부는 썸네일 이미지에 대한 정보를 획득하여 썸네일 이미지를 복호화할 수 있다. 그리고 일 실시 예에 따른 저해상도 이미지 획득부는 복호화된 썸네일 이미지를 심볼 재배정부 또는 심볼 통계 산출부로 출력할 수 있다.
단계 S930에서 재부호화 장치는 심볼들의 발생 빈도를 획득할 수 있다.
예를 들면, 재부호화 장치는 획득한 썸네일 이미지 또는 획득한 리사이즈 이미지에 대한 심볼들의 발생 빈도를 획득할 수 있다. 재부호화 장치는 심볼별로 발생 확률 또는 발생 빈도에 대한 히스토그램을 획득할 수 있다. 재부호화 장치는 획득한 히스토그램을 분석할 수 있다.
일 실시 예에 따른 재부호화 장치는 리사이즈 이미지를 이용하여 심볼들의 발생 빈도를 예측할 수 있다. 그리고 단계 S940에서 재부호화 장치는 예측한 발생 빈도를 이용하여 엔트로피 테이블을 생성할 수 있다.
단계 S960에서 재부호화 장치는 이미지를 리사이즈 할 수 있다. 예를 들면, 재부호화 장치는 복호화하여 획득된 복원 이미지를 수신하고 복원 이미지를 리사이즈 하여 리사이즈 이미지를 획득할 수 있다. 일 실시 예에 따른 리사이즈 이미지의 해상도는 기 설정된 해상도일 수도 있고, 원본 이미지에서 소정 비율로 축소된 해상도일 수도 있다. 다른 예로, 재부호화 장치는 엔트로피 복호화된 데이터로부터 입력 이미지에 대한 정보만을 수신하여 리사이즈 이미지에 대한 정보를 획득할 수 있다. 그리고 재부호화 장치는 획득한 리사이즈 이미지에 대한 정보를 후술하는 단계 S970에서 복호화하여 리사이즈 이미지를 획득할 수 있다.
단계 S970에서 재부호화 장치는 리사이즈 이미지를 복호화할 수 있다. 예를 들면, 재부호화 장치는 엔트로피 복호화하여 획득한 리사이즈 이미지에 대한 정보를 복호화하여 복호화된 리사이즈 이미지를 획득할 수 있다. 그리고 재부호화 장치는 획득한 리사이즈 이미지에 대해서 심볼을 재배정하거나 심볼의 통계를 산출할 수 있다.
단계 S940에서 재부호화 장치는 엔트로피 테이블을 생성할 수 있다. 예를 들면, 재부호화 장치는 심볼 통계 산출을 통해 히스토그램을 분석한 결과에 기초하여 심볼들을 엔트로피 부호화할 때 이용하는 엔트로피 테이블을 생성할 수 있다. 다른 예로, 재부호화 장치는 심볼의 통계 산출을 통해 히스토그램을 분석한 결과에 기초하여 심볼들을 엔트로피 부호화할 때 이용하는 엔트로피 테이블을 기 설정된 복수개의 엔트로피 테이블 중 선택할 수 있다.
구체적인 엔트로피 테이블 생성 방법에 대해서는 도 4 및 도 6에서 상술하였다.
단계 S950에서 재부호화 장치는 단계 S940에서 생성되거나 선택된 엔트로피 테이블을 이용하여 재부호화를 수행할 수 있다. 예를 들면, 재부호화 장치는 단계 S940에서 생성되거나 선택된 엔트로피 테이블을 이용하여 양자화된 변환 계수에 대한 엔트로피 부호화를 수행할 수 있다.
구체적인 재부호화 방법에 대해서는 도 4 및 도 6에서 상술하였다.
한편, 상술한 재부호화 장치(100)에서 출력된 비트스트림은 복호화될 수 있다. 재부호화 장치(100)로부터 출력된 출력 비트스트림의 복호화 과정에 대해서 설명한다.
재부호화 장치(100)로부터 출력된 출력 비트스트림은 재복호화 장치(미도시)에 의해 복호화될 수 있다. 재복호화 장치는 재부호화 장치(100)로부터 수신한 출력 비트스트림을 복호화하여 출력 이미지를 획득할 수 있다. 출력 이미지는 복원 이미지보다 낮은 화질을 가질 수 있으나, 화질의 차이의 정도는 소정의 범위 내로 제한될 수 있다. 예를 들면 복원 이미지의 PSNR과 출력 이미지의 PSNR의 차이는 소정 범위 내로 제한될 수 있다. 재부호화 장치(100)는 양자화 테이블 및 엔트로피 테이블을 생성할 수 있고, 생성된 양자화 테이블 또는 엔트로피 테이블에 따라 출력 이미지의 화질이 결정될 수 있다.
일 실시 예에 따른 재복호화 장치는 출력 비트스트림을 파싱하여 복원 이미지가 재부호화될 때 이용된 양자화 테이블 또는 엔트로피 테이블을 획득할 수 있다.
일 실시 예에 따른 재복호화 장치는 출력 비트스트림을 파싱하여 획득한 엔트로피 테이블을 이용하여 출력 비트스트림에 대한 엔트로피 복호화를 수행할 수 있다. 예를 들면, 재부호화 장치는 엔트로피 부호화부(190)에서 엔트로피 부호화를 수행할 때 이용했던 엔트로피 테이블을 이용하여 출력 비트스트림에 대한 엔트로피 복호화를 수행할 수 있다.
일 실시 예에 따른 재복호화 장치는 엔트로피 복호화가 수행된 양자화된 변환 계수에 대해서 역양자화를 수행할 수 있다. 일 실시 예에 따른 재부호화 장치는 역양자화를 수행할 때, 양자화부(180)에서 이용했던 제 2 양자화 테이블을 이용할 수 있다.
일 실시 예에 따른 재복호화 장치는 역양자화를 통해 획득한 변환 계수에 대해서 역변환을 수행할 수 있다. 예를 들면 재복호화 장치는 이산 여현 역변환(IDCT: Inverse Discrete Cosine Transform)을 이용하여 역변환을 수행할 수 있다. 일 실시 예에 따른 재복호화 장치는 변환 계수를 역변환하여 출력 이미지를 복원할 수 있다.
한편, 상술한 본 발명의 실시 예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
일 실시 예에 따른 프로그램이 저장되는 컴퓨터로 판독 가능한 저장매체가 디스크(26000)인 실시 예를 이하 상술한다.
도 10은 다양한 실시 예에 따른 프로그램이 저장된 디스크(26000)의 물리적 구조를 예시한다. 저장매체로서 전술된 디스크(26000)는, 하드드라이브, 시디롬(CD-ROM) 디스크, 블루레이(Blu-ray) 디스크, DVD 디스크일 수 있다. 디스크(26000)는 다수의 동심원의 트랙(tr)들로 구성되고, 트랙들은 둘레 방향에 따라 소정 개수의 섹터(Se)들로 분할된다. 상기 전술된 일 실시 예에 따른 프로그램을 저장하는 디스크(26000) 중 특정 영역에, 전술된 양자화 파라미터 결정 방법, 비디오 부호화 방법 및 비디오 복호화 방법을 구현하기 위한 프로그램이 할당되어 저장될 수 있다.
전술된 비디오 부호화 방법 및 비디오 복호화 방법을 구현하기 위한 프로그램을 저장하는 저장매체를 이용하여 달성된 컴퓨터 시스템이 도 11을 참조하여 후술된다.
도 11은 디스크(26000)를 이용하여 프로그램을 기록하고 판독하기 위한 디스크드라이브(26800)를 도시한다. 컴퓨터 시스템(26700)은 디스크드라이브(26800)를 이용하여 본 발명의 재부호화 방법을 구현하기 위한 프로그램을 디스크(26000)에 저장할 수 있다. 디스크(26000)에 저장된 프로그램을 컴퓨터 시스템(26700)상에서 실행하기 위해, 디스크 드라이브(26800)에 의해 디스크(26000)로부터 프로그램이 판독되고, 프로그램이 컴퓨터 시스템(26700)에게로 전송될 수 있다.
도 10 및 11에서 예시된 디스크(26000) 뿐만 아니라, 메모리 카드, 롬 카세트, SSD(Solid State Drive)에도 본 발명의 재부호화 방법을 구현하기 위한 프로그램이 저장될 수 있다.
이 때 사용자 단말기는, 전술한 본 발명의 재부호화 장치(100)를 포함할 수 있다.
전술된 재부호화 방법 및 장치가 활용되는 다양한 실시 예들이 도 10 내지 도 11에서 전술되었다. 하지만, 전술된 재부호화 방법이 저장매체에 저장되거나 재부호화 장치(100) 가 디바이스에서 구현되는 다양한 실시 예들은, 도 10 내지 도 11의 실시 예들에 한정되지 않는다.
이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다.
이제까지 개시된 다양한 실시 예들이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 명세서에서 개시된 실시 예들의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 명세서의 개시 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 명세서의 개시범위에 포함된 것으로 해석되어야 할 것이다.

Claims (15)

  1. 제 1 양자화 테이블을 이용하여 부호화된 이미지를 포함하는 비트스트림으로부터 상기 제 1 양자화 테이블을 획득하는 단계;
    상기 제 1 양자화 테이블을 구성하는 엘리먼트들의 값의 크기 분포를 나타내는 패턴에 기초하여, 상기 제 1 양자화 테이블의 각각의 엘리먼트들에 대응되는 엘리먼트들로 구성되는 제 2 양자화 테이블을 획득하는 단계; 및
    상기 제 1 양자화 테이블을 이용하여 상기 부호화된 이미지를 복호화하여 획득한 복원 이미지를 상기 제 2 양자화 테이블을 이용하여 재부호화하는 단계를 포함하는 재부호화 방법.
  2. 제 1 항에 있어서,
    상기 제 1 양자화 테이블에 포함되는 두 엘리먼트들 중 더 큰 값을 갖는 엘리먼트에 대응되는 상기 제 2 양자화 테이블의 엘리먼트는 상기 두 엘리먼트들 중 더 작은 값을 갖는 엘리먼트에 대응되는 상기 제 2 양자화 테이블의 엘리먼트보다 크거나 같은 값을 갖는 재부호화 방법.
  3. 제 1 항에 있어서,
    상기 제 2 양자화 테이블의 엘리먼트는 상기 제 2 양자화 테이블의 엘리먼트에 대응되는 상기 제 1 양자화 테이블의 엘리먼트보다 큰 값을 갖는 재부호화 방법.
  4. 제 1 항에 있어서,
    상기 제 2 양자화 테이블을 획득하는 단계는
    상기 제 1 양자화 테이블로 양자화되는 영역의 평균 휘도 값을 획득하는 단계; 및
    상기 평균 휘도 값에 기초하여 상기 제 2 양자화 테이블을 획득하는 단계를 포함하는 재부호화 방법.
  5. 제 1 항에 있어서,
    상기 제 2 양자화 테이블에서 직류 변환 계수의 양자화에 이용되는 엘리먼트는 상기 제 1 양자화 테이블에서 직류 변환 계수의 양자화에 이용되는 엘리먼트보다 큰 값을 갖는 재부호화 방법.
  6. 제 1 항에 있어서,
    상기 재부호화 방법은
    상기 비트스트림의 엔트로피 복호화에 이용되는 심볼들의 발생 빈도를 획득하는 단계; 및
    상기 발생 빈도를 이용하여 엔트로피 부호화에 이용되는 엔트로피 테이블을 획득하는 단계를 더 포함하고,
    상기 재부호화하는 단계는 상기 복원 이미지를 상기 엔트로피 테이블을 이용하여 재부호화하는 재부호화 방법.
  7. 제 6 항에 있어서,
    상기 재부호화 방법은
    상기 이미지의 저해상도 이미지를 획득하는 단계를 더 포함하고,
    상기 발생 빈도를 획득하는 단계는
    상기 저해상도 이미지를 이용하여 상기 발생 빈도를 예측하는 단계; 및
    상기 예측한 발생 빈도를 이용하여 상기 발생 빈도를 결정하는 단계를 포함하는 재부호화 방법.
  8. 제 7 항에 있어서,
    상기 저해상도 이미지를 획득하는 단계는
    상기 비트스트림으로부터 상기 저해상도 이미지를 수신할 수 있는지 여부를 결정하는 단계; 및
    상기 저해상도 이미지를 수신할 수 있는 경우 상기 비트스트림으로부터 상기 저해상도 이미지를 수신하는 단계를 포함하는 재부호화 방법.
  9. 제 8 항에 있어서,
    상기 저해상도 이미지를 획득하는 단계는
    상기 저해상도 이미지를 수신할 수 없는 경우 상기 비트스트림을 파싱하여 상기 저해상도 이미지를 생성하는 단계를 더 포함하는 재부호화 방법.
  10. 제 1 양자화 테이블을 이용하여 부호화된 이미지를 포함하는 비트스트림으로부터 상기 제 1 양자화 테이블을 획득하고, 상기 제 1 양자화 테이블을 구성하는 엘리먼트들의 값의 크기 분포를 나타내는 패턴에 기초하여, 상기 제 1 양자화 테이블의 각각의 엘리먼트들에 대응되는 엘리먼트들로 구성되는 제 2 양자화 테이블을 획득하는 양자화 테이블 획득부; 및
    상기 제 1 양자화 테이블을 이용하여 상기 부호화된 이미지를 복호화하여 획득한 복원 이미지를 상기 제 2 양자화 테이블을 이용하여 재부호화하는 재부호화부를 포함하는 재부호화 장치.
  11. 제 10 항에 있어서,
    상기 제 1 양자화 테이블에 포함되는 두 엘리먼트들 중 더 큰 값을 갖는 엘리먼트에 대응되는 상기 제 2 양자화 테이블의 엘리먼트는 상기 두 엘리먼트들 중 더 작은 값을 갖는 엘리먼트에 대응되는 상기 제 2 양자화 테이블의 엘리먼트보다 크거나 같은 값을 갖는 재부호화 장치.
  12. 제 10 항에 있어서,
    상기 제 2 양자화 테이블의 엘리먼트는 상기 제 2 양자화 테이블의 엘리먼트에 대응되는 상기 제 1 양자화 테이블의 엘리먼트보다 큰 값을 갖는 재부호화 장치.
  13. 제 10 항에 있어서,
    상기 양자화 테이블 획득부는
    상기 제 1 양자화 테이블로 양자화되는 영역의 평균 휘도 값을 획득하고,
    상기 평균 휘도 값에 기초하여 상기 제 2 양자화 테이블을 획득하는 재부호화 장치.
  14. 제 10 항에 있어서,
    상기 제 2 양자화 테이블에서 직류 변환 계수의 양자화에 이용되는 엘리먼트는 상기 제 1 양자화 테이블에서 직류 변환 계수의 양자화에 이용되는 엘리먼트보다 큰 값을 갖는 재부호화 장치.
  15. 제 10 항에 있어서,
    상기 재부호화 장치는
    상기 비트스트림의 엔트로피 복호화에 이용되는 심볼들의 발생 빈도를 획득하고, 상기 발생 빈도를 이용하여 엔트로피 부호화에 이용되는 엔트로피 테이블을 획득하는 엔트로피 테이블 획득부를 더 포함하고,
    상기 재부호화부는 상기 복원 이미지를 상기 엔트로피 테이블을 이용하여 재부호화하는 재부호화 장치.
PCT/KR2014/012985 2014-10-06 2014-12-29 이미지 재부호화 방법 및 그 장치 WO2016056709A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201480083567.8A CN107005706B (zh) 2014-10-06 2014-12-29 用于再编码图像的方法及其装置
EP14903702.0A EP3190793A4 (en) 2014-10-06 2014-12-29 Method for re-encoding image and apparatus therefor
US15/517,357 US10536697B2 (en) 2014-10-06 2014-12-29 Method for re-encoding image and apparatus therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2014-0134478 2014-10-06
KR1020140134478A KR101703330B1 (ko) 2014-10-06 2014-10-06 이미지 재부호화 방법 및 그 장치

Publications (1)

Publication Number Publication Date
WO2016056709A1 true WO2016056709A1 (ko) 2016-04-14

Family

ID=55653303

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/012985 WO2016056709A1 (ko) 2014-10-06 2014-12-29 이미지 재부호화 방법 및 그 장치

Country Status (5)

Country Link
US (1) US10536697B2 (ko)
EP (1) EP3190793A4 (ko)
KR (1) KR101703330B1 (ko)
CN (1) CN107005706B (ko)
WO (1) WO2016056709A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016164459A1 (en) * 2015-04-10 2016-10-13 Red.Com, Inc. Video camera with rate control video compression
US11190810B2 (en) * 2018-01-26 2021-11-30 Samsung Electronics Co., Ltd. Device and method for compressing image data using quantization parameter and entropy tables
KR102139857B1 (ko) * 2018-06-25 2020-07-30 주식회사 에스원 영상 보안 관제 방법 및 그 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06338802A (ja) * 1993-05-27 1994-12-06 Canon Inc 再圧縮装置
JP2003153011A (ja) * 2001-11-19 2003-05-23 Fuji Xerox Co Ltd 画像データ圧縮処理の圧縮パラメータ決定装置並びに圧縮パラメータ決定方法、記憶媒体及びプログラム
US20040160625A1 (en) * 2002-09-26 2004-08-19 Brother Kogyo Kabushiki Kaisha Color facsimile device with data recompressing capability
US20050078748A1 (en) * 2001-06-13 2005-04-14 Microsoft Corporation Non-compensated transcoding of a video stream
KR20080044859A (ko) * 2005-10-05 2008-05-21 엘지전자 주식회사 신호 처리 방법 및 이의 장치, 그리고 인코딩 및 디코딩방법 및 이의 장치

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100355375B1 (ko) * 1995-11-01 2002-12-26 삼성전자 주식회사 영상부호화장치에있어서양자화간격결정방법및회로
US6256422B1 (en) * 1998-11-04 2001-07-03 International Business Machines Corporation Transform-domain correction of real-domain errors
EP1045590A3 (en) 1999-04-13 2005-03-09 Matsushita Electric Industrial Co., Ltd. Transcoder and transcoding method with bit rate regulation
US6606418B2 (en) 2001-01-16 2003-08-12 International Business Machines Corporation Enhanced compression of documents
US6580650B2 (en) 2001-03-16 2003-06-17 International Business Machines Corporation DRAM word line voltage control to insure full cell writeback level
US6850650B1 (en) * 2001-05-30 2005-02-01 Packeteer, Inc. System and method for recompressing a jpeg image using requantization
US7177356B2 (en) * 2002-01-11 2007-02-13 Webtv Networks, Inc. Spatially transcoding a video stream
JP2004040300A (ja) 2002-07-01 2004-02-05 Fuji Photo Film Co Ltd 画像処理装置
US20070230805A1 (en) 2004-07-27 2007-10-04 Yoshihisa Yamada Coded Data Recording Apparatus, Decoding Apparatus and Program
EP1675402A1 (en) 2004-12-22 2006-06-28 Thomson Licensing Optimisation of a quantisation matrix for image and video coding
US8213498B2 (en) * 2007-05-31 2012-07-03 Qualcomm Incorporated Bitrate reduction techniques for image transcoding
KR20100011288A (ko) 2008-07-24 2010-02-03 삼성디지털이미징 주식회사 영상 압축 방법, 이를 실행시키기 위한 프로그램을 기록한컴퓨터로 읽을 수 있는 매체 및 디지털 촬영 장치
WO2011042898A1 (en) * 2009-10-05 2011-04-14 I.C.V.T Ltd. Apparatus and methods for recompression of digital images
US8897586B2 (en) 2012-06-15 2014-11-25 Comcast Cable Communications, Llc Dynamic generation of a quantization matrix for compression of a digital object
EP3111645A1 (en) * 2014-02-26 2017-01-04 Dolby Laboratories Licensing Corporation Luminance based coding tools for video compression

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06338802A (ja) * 1993-05-27 1994-12-06 Canon Inc 再圧縮装置
US20050078748A1 (en) * 2001-06-13 2005-04-14 Microsoft Corporation Non-compensated transcoding of a video stream
JP2003153011A (ja) * 2001-11-19 2003-05-23 Fuji Xerox Co Ltd 画像データ圧縮処理の圧縮パラメータ決定装置並びに圧縮パラメータ決定方法、記憶媒体及びプログラム
US20040160625A1 (en) * 2002-09-26 2004-08-19 Brother Kogyo Kabushiki Kaisha Color facsimile device with data recompressing capability
KR20080044859A (ko) * 2005-10-05 2008-05-21 엘지전자 주식회사 신호 처리 방법 및 이의 장치, 그리고 인코딩 및 디코딩방법 및 이의 장치

Also Published As

Publication number Publication date
EP3190793A4 (en) 2017-11-29
CN107005706A (zh) 2017-08-01
US20170318291A1 (en) 2017-11-02
US10536697B2 (en) 2020-01-14
KR20160040930A (ko) 2016-04-15
KR101703330B1 (ko) 2017-02-06
CN107005706B (zh) 2020-03-17
EP3190793A1 (en) 2017-07-12

Similar Documents

Publication Publication Date Title
WO2017086765A2 (ko) 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
WO2017065525A2 (ko) 영상을 부호화 또는 복호화하는 방법 및 장치
WO2018128323A1 (ko) 이차 변환을 이용한 비디오 신호의 인코딩/디코딩 방법 및 장치
WO2018080122A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2018070742A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2020009556A1 (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
WO2013002555A2 (ko) 산술부호화를 수반한 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
WO2016064185A1 (ko) 최적화 함수를 이용하여 그래프 기반 예측을 수행하는 방법 및 장치
WO2013002619A2 (ko) 고정소수점 변환을 위한 비트뎁스 조절을 수반하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
WO2015053594A1 (ko) 인트라 블록 복사 예측을 이용한 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
WO2017014585A1 (ko) 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2013157825A1 (ko) 영상 부호화/복호화 방법 및 장치
WO2011016702A2 (ko) 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
WO2014163249A1 (ko) 동영상 처리 방법 및 장치
WO2019050385A2 (ko) 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
WO2017010850A1 (ko) 분리 가능한 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2020076064A1 (ko) Mpm 리스트를 사용하는 인트라 예측 기반 영상 코딩 방법 및 그 장치
WO2016104854A1 (ko) 부호화 방법 및 장치와 복호화 방법 및 장치
WO2019221472A1 (ko) 참조 샘플을 이용하는 비디오 신호 처리 방법 및 장치
WO2019143024A1 (ko) 라인 단위 연산을 이용한 초해상화 방법 및 장치
WO2020213976A1 (ko) Bdpcm을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2016072611A1 (ko) 인트라 예측을 이용하는 비디오 부호화/복호화 방법 및 장치
WO2016056709A1 (ko) 이미지 재부호화 방법 및 그 장치
WO2016204524A1 (ko) 영상의 부호화/복호화 방법 및 이를 위한 장치
WO2021066618A1 (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: 14903702

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2014903702

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014903702

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 15517357

Country of ref document: US