KR101659377B1 - Method and system for data encoding - Google Patents

Method and system for data encoding Download PDF

Info

Publication number
KR101659377B1
KR101659377B1 KR1020140021776A KR20140021776A KR101659377B1 KR 101659377 B1 KR101659377 B1 KR 101659377B1 KR 1020140021776 A KR1020140021776 A KR 1020140021776A KR 20140021776 A KR20140021776 A KR 20140021776A KR 101659377 B1 KR101659377 B1 KR 101659377B1
Authority
KR
South Korea
Prior art keywords
data
correction
quantization
encoding
encoding system
Prior art date
Application number
KR1020140021776A
Other languages
Korean (ko)
Other versions
KR20150100232A (en
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 KR1020140021776A priority Critical patent/KR101659377B1/en
Priority to US14/631,769 priority patent/US9560364B2/en
Publication of KR20150100232A publication Critical patent/KR20150100232A/en
Application granted granted Critical
Publication of KR101659377B1 publication Critical patent/KR101659377B1/en

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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

인코딩 방법 및 그 시스템이 제공된다. 상기의 인코딩 방법은 인코딩 시스템이 양자화 대상 데이터를 양자화하여 양자화 결과 데이터를 획득하는 단계, 상기 인코딩 시스템이 상기 양자화 결과 데이터의 복원 데이터를 획득하는 단계, 및 획득된 상기 복원 데이터가 정상범위에 속하지 않는 경우, 상기 인코딩 시스템이 상기 양자화 결과 데이터를 보정한 보정데이터를 인코딩 대상 데이터로 저장장치에 저장하는 단계를 포함한다.An encoding method and a system therefor are provided. The encoding method is characterized in that the encoding system quantizes the quantization object data to obtain quantization result data, the encoding system obtains the reconstruction data of the quantization result data, and the reconstruction data obtained when the reconstruction data does not belong to the normal range And storing the correction data in which the quantization result data is corrected by the encoding system as the encoding object data in the storage device.

Description

인코딩 방법 및 그 시스템{Method and system for data encoding}[0001] The present invention relates to a method and system for data encoding,

본 발명은 데이터의 인코딩 방법 및 그 시스템에 관한 것으로, 보다 상세하게는 코딩의 대상이 되는 코딩 대상 데이터의 사인비트(sign bit)를 저장하지 않음으로써 압축률을 높일 수 있는 인코딩 방법 및 시스템에 관한 것이다.
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data encoding method and system, and more particularly, to an encoding method and system capable of increasing a compression rate by not storing sign bits of data to be coded .

도 1은 종래의 데이터의 인코딩 방법의 일 예를 나타내는 도면이다.1 is a diagram showing an example of a conventional data encoding method.

도 1을 참조하면, 종래의 데이터의 소정의 대상 데이터들(예컨대, a1 내지 an)을 인코딩할 수 있다. 상기 대상 데이터들은 예컨대 이미지 또는 동영상의 프레임에 포함되는 픽셀들에 상응하는 데이터일 수 있다.Referring to FIG. 1, it is possible to encode predetermined object data (for example, a 1 to a n ) of conventional data. The object data may be, for example, data corresponding to pixels included in a frame of an image or a moving image.

그러면 인코딩 시스템은 소정의 대상 데이터들(예컨대, a1 내지 an) 각각을 인코딩 하는 것이 아니라, 특정 대상 데이터(예컨대, a2)를 인코딩하기 위해 상기 특정 대상 데이터(예컨대, a2)의 예측 데이터(예컨대, a1)와 상기 특정 대상 데이터(예컨대, a1)의 차이 데이터(예컨대, a2-a1)을 인코딩할 수 있다. 상기 예측 데이터(예컨대, a1)는 이미지의 경우에는 상기 대상 데이터에 인접한 어느 하나의 픽셀(예컨대, 좌측 픽셀)에 상응하는 값일 수 있음은 널리 알려져 있으며, 예측 데이터로 어떠한 것을 사용할 지에 대한 다양한 실시 예가 가능할 수 있음도 공지된 바 있다.The encoding system is predictive of the predetermined target data (e.g., a 2) in order to not to encode each of the predetermined target data (e.g., a 1 to a n), encoding a particular target data (e.g., a 2) (E.g., a 2 -a 1 ) between the data (e.g., a 1 ) and the specific object data (e.g., a 1 ). It is well known that the prediction data (e.g., a1) may be a value corresponding to any one of the pixels adjacent to the target data (e.g., the left pixel) in the case of an image, and various embodiments of what to use as prediction data It is also known that such a method can be performed.

이처럼 각각의 대상 데이터들(예컨대, a1 내지 an)을 직접 인코딩하는 것이 아니라, 대상 데이터들(예컨대, a1 내지 an)에 상응하는 차이 데이터들(예컨대, a1, a2-a1, … , an - an-1)를 인코딩하는 경우에는 동일한 값을 갖는 데이터들이 보다 많이 출현할 수 있어서 보다 높은 압축률을 가질 수 있음이 널리 알려져 있다. 또한, 디코딩을 통해 대상 데이터(예컨대, a2)가 복원이 될 때에는 인코딩된 차이 데이터들(예컨대, 인코딩된 a2-a1)이 디코딩되고, 디코딩된 데이터(예컨대, a2-a1)와 예측 데이터(예컨대, a1)을 통해(예컨대, 두 값을 더해줌으로써) 상기 대상 데이터(예컨대, a2)를 복원할 수 있게 된다.Thus, in each of the target data (e.g., a 1 to a n) rather than directly encoding the difference data corresponding to the target data (e.g., a 1 to a n) (e. G., A 1, a 2 -a 1 , ..., a n - a n-1 ), it is well known that data having the same value can appear more frequently and thus have a higher compression ratio. Further, when the target data (e.g., a 2 ) is restored through decoding, the encoded difference data (e.g., encoded a 2 -a 1 ) is decoded and decoded data (e.g., a 2 -a 1 ) and prediction data (e.g., a 1) (by giving, for example, adding the two values) through it is possible to restore the target data (e. g., a 2).

한편, 상기 차이 데이터들(예컨대, a1, a2-a1, … , an - an-1)이 인코딩되는 경우에는, 상기 대상 데이터들(예컨대, a1 내지 an)이 압축된 값들이 아닌 이상 무손실 압축(Loss less)일 수 있다. On the other hand, when the difference data (e.g., a 1 , a 2 -a 1 , ..., a n -an-1 ) is encoded, the target data (e.g., a 1 through a n ) Values may be less than lossless.

이러한 무손실 압축에서는 인코딩된 데이터가 디코딩 되더라도, 디코딩 결과 데이터는 원래의 대상 데이터이므로 미리 결정된 범위 내의 값을 갖게 된다. 즉, 상기 대상 데이터가 n 비트(n은 자연수, 예컨대, 8비트)로 표현되는 경우, 상기 대상 데이터들(예컨대, a1 내지 an) 각각은 0 이상 2n-1 이하의 정상범위의 값을 갖게 된다. In this lossless compression, even if the encoded data is decoded, the decoded result data is the original target data, so that it has a value within a predetermined range. That is, the target data is n-bit, represented by (n is a natural number, e.g., 8 bits), the destination data (e.g., a 1 to a n), each value of the normal range between 0 2 n -1 .

즉, 설령 인코딩 되는 데이터 즉, 차이 데이터들(예컨대, a1, a2-a1, … , an - an-1)이 음수의 값을 갖더라도, 상기 차이 데이터들(예컨대, a1, a2-a1, … , an - an-1)을 이용하여 디코딩을 수행하면(즉, 대상 데이터들(예컨대, a1 내지 an)을 획득하면) 디코딩된 데이터는 상기 대상 데이터들(예컨대, a1 내지 an) 자체이므로 항상 상기 정상범위의 값을 가지게 된다. 이러한 경우에는 상기 차이 데이터들(예컨대, a1, a2-a1, … , an - an-1) 중 적어도 하나가 음수라고 하더라도, 상기 차이 데이터들(예컨대, a1, a2-a1, … , an - an-1)을 이용하여 대상 데이터들(예컨대, a1 내지 an)을 획득한 결과는 항상 상기 정상범위의 값을 갖게 된다. That is, even if the data to be encoded that is, difference data (for example, a1, a 2 -a 1, ..., a n - a n-1) , even if this has a negative value of the difference between the data (for example, a1, a (For example, a 1 to a n ) is performed using the target data (e.g., 2-a 1 , ..., a n - a n-1 ) For example, a 1 to a n itself, so that it always has the value of the normal range. In such a case, said difference data (for example, a1, a 2 -a 1, ..., a n - a n-1) of the at least one even if he is negative, said difference data (for example, a1, a 2 -a 1 , A, ..., a n - a n-1 ), the result of acquiring the object data (for example, a 1 through a n ) always has the value of the normal range.

그리고 이러한 경우에는 상기 차이 데이터들(예컨대, a1, a2-a1, … , an - an-1)의 사인 비트(sign bit)를 저장하지 않아도 정상적으로 상기 대상 데이터들(예컨대, a1 내지 an)을 복원할 수 있음이 알려져 있다. 따라서 종래의 인코딩 솔루션(예컨대, JPEG-LS(LossLess), PNG(Portable Network Graphics) 등)의 무손실 압축에서는, 각 솔루션별로 사인비트를 저장하는 경우도 있고, 사인비트를 저장하지 않으면서 픽셀 데이터의 일부 비트를 변경 또는 무시하는 등 선택적으로 다양한 방법을 사용하기도 한다. If this is the case, and the said difference data (for example, a1, a 2 -a 1, ..., a n - a n-1) the sign bit of said destination data normally do not need to store the (sign bit) (e.g., a 1 To < RTI ID = 0.0 > a < / RTI > Therefore, in lossless compression of conventional encoding solutions (e.g., JPEG-LS (Lossless), PNG (Portable Network Graphics), etc.), the sign bit may be stored for each solution, Various methods are optionally used, such as changing or ignoring some bits.

하지만 손실압축(Lossy compression)의 경우에는 코딩 대상 데이터들 즉, 상기 차이 데이터들(예컨대, a1, a2-a1, … , an - an-1)이 양자화된 데이터들 즉, 양자화 결과 데이터(예컨대, Q(a1), Q(a2-a1), …, Q(an-an-1), 여기서 Q는 양자화 함수를 의미함)를 이용하여 디코딩을 수행하게 되는 경우, 디코딩된 결과가 상기 대상 데이터들(예컨대, a1 내지 an) 자체가 아니라 일정한 오차를 가질 수 있다. 그리고 이러한 오차로 인해 디코딩된 데이터가 상기 정상범위 내임이 보장되지 않게 된다. 그러므로 이러한 경우에는 상기 코딩 대상 데이터들((예컨대, Q(a1), Q(a2-a1), …, Q(an-an-1))의 사인비트를 저장하여야 디코딩이 수행될 수 있게 된다. 그리고 종래의 인코딩 솔루션도 손실압축에서는 코딩 대상 데이터의 사인비트까지 저장을 하고 있다.However, in the case of lossy compression (Lossy compression), the coding object data, that is, the difference between the data-in (for example, a1, a 2 -a 1, ..., a n a n-1) is the quantized data, that is, the quantization result When decoding is performed using data (e.g., Q (a 1 ), Q (a 2 -a 1 ), ..., Q (a n -an -1 ), where Q is a quantization function) , The decoded result may have a certain error, not the target data (for example, a 1 to a n ) itself. And the decoded data is not guaranteed to be within the normal range due to the error. Thus, these include the coding object data, if ((e.g., Q (a 1), Q (a 2 -a 1), ..., Q (a n -a n-1)) decoding is performed to be stored in the sign bit And the conventional encoding solution also stores up to the sign bit of the data to be coded in lossy compression.

이처럼 사인비트를 저장하는 경우에는 사인비트를 저장하지 않는 경우에 비해, 사인비트 자체를 위해 적어도 하나 이상의 비트를 더 저장하여야 하게 되며 이로 인해 압축률에 손실을 가져오게 된다.
In the case of storing the sign bits, at least one or more bits are required to be stored for the sign bits themselves as compared with the case where the sign bits are not stored, thereby causing a loss in the compression rate.

따라서 본 발명이 이루고자 하는 기술적인 과제는 손실압축에 있어서도 코딩 대상 데이터들의 사인비트를 저장하지 않고 인코딩을 수행할 수 있는 방법 및 그 시스템을 제공하는 것이다.
SUMMARY OF THE INVENTION It is therefore a primary object of the present invention to provide a method and system for performing encoding without storing sign bits of data to be coded even in lossy compression.

상기의 기술적 과제를 해결하기 위한 데이터를 인코딩하는 방법은 인코딩 시스템이 양자화 대상 데이터를 양자화하여 양자화 결과 데이터를 획득하는 단계, 상기 인코딩 시스템이 상기 양자화 결과 데이터의 복원 데이터를 획득하는 단계, 및 획득된 상기 복원 데이터가 정상범위에 속하지 않는 경우, 상기 인코딩 시스템이 상기 양자화 결과 데이터를 보정한 보정데이터를 인코딩 대상 데이터로 저장장치에 저장하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of encoding data, the encoding system comprising: quantizing quantization target data to obtain quantization result data; obtaining the restoration data of the quantization result data by the encoding system; And storing the correction data in which the quantization result data is corrected by the encoding system as encoding object data in the storage device when the restoration data does not belong to the normal range.

상기 인코딩 방법은 상기 디코딩 예측데이터가 정상범위에 속하는 경우 상기 인코딩 시스템이 상기 양자화 결과 데이터를 상기 인코딩 대상 데이터로 저장하는 단계를 더 포함할 수 있다.The encoding method may further include the step of the encoding system storing the quantization result data as the encoding object data when the decoding prediction data belongs to the normal range.

상기 인코딩 시스템이 양자화 대상 데이터를 양자화하여 양자화 결과 데이터를 획득하는 단계는 상기 인코딩 시스템이 대상 데이터의 예측 데이터와 상기 대상 데이터의 차이 데이터를 획득하는 단계, 상기 인코딩 시스템이 상기 차이 데이터를 양자화 대상 데이터로 특정하는 단계를 포함할 수 있다.Wherein the encoding system quantizing the quantization target data to obtain quantization result data comprises the steps of the encoding system acquiring difference data between the predicted data of the target data and the target data, and the encoding system converts the difference data into quantization target data As shown in FIG.

상기 인코딩 시스템이 상기 양자화 결과 데이터를 보정한 보정데이터를 인코딩 대상 데이터로 저장장치에 저장하는 단계는 상기 보정데이터를 이용하여 상기 복원 데이터를 획득할 경우, 상기 복원 데이터가 상기 정상범위에 속하도록 상기 양자화 데이터를 상기 보정데이터로 보정하는 단계를 포함할 수 있다.Wherein the step of storing the correction data in which the quantization result data is corrected by the encoding system in the storage device as the encoding object data includes a step of, when the restoration data is obtained using the correction data, And correcting the quantized data with the correction data.

상기 정상범위는 대상 데이터가 n (n은 정수) 비트로 표현되는 경우, 0 보다 크거나 같고 2n-1보다 같거나 작은 값인 것을 특징으로 할 수 있다.The normal range may be a value equal to or greater than 0 and equal to or less than 2 n -1 when the object data is represented by n (n is an integer) bits.

상기 복원 데이터가 상기 정상범위에 속하도록 상기 양자화 데이터를 상기 보정데이터로 보정하는 단계는 상기 인코딩 시스템이 상기 양자화 결과 데이터에서 소정의 보정 값을 더하거나 빼서 상기 보정데이터를 생성하는 단계를 포함할 수 있다.The step of correcting the quantized data to the correction data so that the restored data belongs to the normal range may include the step of the encoding system adding or subtracting a predetermined correction value from the quantization result data to generate the correction data .

상기 인코딩 시스템이 상기 양자화 결과 데이터의 복원 데이터를 획득하는 단계는 상기 인코딩 시스템이 상기 양자화 결과 데이터를 역양자화 하는 단계 및 상기 역양자화된 데이터와 상기 양자화 결과 데이터에 상응하는 예측 데이터에 기초하여 상기 복원 데이터를 획득하는 단계를 포함할 수 있다.Wherein the step of the encoding system obtaining the reconstruction data of the quantization result data includes a step of the encoding system dequantizing the quantization result data and a step of reconstructing the reconstruction data based on the inversely quantized data and the prediction data corresponding to the quantization result data. And acquiring the data.

상기 인코딩 시스템이 상기 양자화 결과 데이터를 보정한 보정데이터를 인코딩 대상 데이터로 저장장치에 저장하는 단계는 상기 인코딩 대상 데이터가 음수인 경우에도 사인비트를 제외한 나머지 비트만 저장하는 것을 특징으로 할 수 있다. Wherein the step of storing the correction data corrected by the encoding system as the encoding target data in the storage device stores only bits other than the sign bit even when the encoding target data is negative.

상기 인코딩 방법은 프로그램을 기록한 컴퓨터 판독 가능한 기록매체에 저장될 수 있다. The encoding method may be stored in a computer-readable recording medium on which the program is recorded.

상기 기술적 과제를 해결하기 위한 인코딩 시스템은 양자화 대상 데이터를 양자화하여 양자화 결과 데이터를 획득하기 위한 양자화 모듈, 상기 양자화 결과 데이터의 복원 데이터를 획득하기 위한 디코딩 모듈, 및 획득된 상기 복원 데이터가 정상범위에 속하지 않는 경우, 상기 양자화 결과 데이터를 보정한 보정데이터를 인코딩 대상 데이터로 저장장치에 저장하기 위한 보정모듈을 포함할 수 있다.According to an aspect of the present invention, there is provided an encoding system including a quantization module for quantizing quantization target data to obtain quantization result data, a decoding module for obtaining reconstruction data of the quantization result data, And a correction module for storing the correction data, which is obtained by correcting the quantization result data, as the encoding object data in the storage device when the data does not belong.

상기 인코딩 시스템은 대상 데이터의 예측 데이터와 상기 대상 데이터의 차이 데이터를 획득하고, 상기 차이 데이터를 양자화 대상 데이터로 특정하기 위한 전처리모듈을 더 포함할 수 있다.The encoding system may further include a preprocessing module for obtaining difference data between the predicted data of the target data and the target data, and specifying the difference data as quantization target data.

상기 보정모듈은 상기 보정데이터를 이용하여 상기 복원 데이터를 획득할 경우, 상기 복원 데이터가 상기 정상범위에 속하도록 상기 양자화 데이터를 상기 보정데이터로 보정할 수 있다.The correction module may correct the quantized data to the correction data so that the restored data belongs to the normal range when the restored data is obtained using the correction data.

상기 디코딩 모듈은 상기 인코딩 시스템이 상기 양자화 결과 데이터를 역양자화 하는 역양자화고, 상기 역양자화된 데이터와 상기 양자화 결과 데이터에 상응하는 예측 데이터에 기초하여 상기 복원 데이터를 획득할 수 있다.The decoding module may obtain the restored data based on an inverse quantization degree in which the encoding system dequantizes the quantized result data, and the predicted data corresponding to the inversely quantized data and the quantized result data.

상기 보정모듈은 상기 인코딩 대상 데이터가 음수인 경우에도 사인비트를 제외한 나머지 비트만 저장하는 것을 특징으로 할 수 있다.
The correction module may store only bits other than the sign bit even if the encoding target data is negative.

본 발명의 기술적 사상에 따르면 손실압축을 수행하면서 코딩 대상 데이터를 저장할 때, 상기 코딩 대상 데이터로 디코딩을 통한 대상 데이터의 복원을 수행하면 복원된 데이터가 항상 정상범위에 속할 수 있도록 보정을 수행함으로써, 상기 코딩 대상 데이터가 음수의 값을 갖는 경우라도 사인비트를 저장하지 않을 수 있는 효과가 있다. According to the technical idea of the present invention, when the coding target data is stored while the lossy compression is performed, if the target data is decoded by decoding the coding target data, the correction is performed so that the restored data always belongs to the normal range, Even when the coding target data has a negative value, the sign bit is not stored.

또한 사인비트를 저장하지 않음으로 인해 압축율에 현저한 상승효과를 가져올 수 있다.
In addition, since the sign bit is not stored, the compression ratio can be remarkably increased.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 종래의 데이터의 인코딩 방법의 일 예를 나타내는 도면이다..
도 2는 본 발명의 일 실시 예에 따른 인코딩 방법을 설명하기 위한 플로우 챠트를 나타낸다.
도 3은 본 발명의 일 실시 예에 따른 인코딩이 수행되는 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 인코딩 시스템의 개략적인 구성을 나타내는 도면이다.
BRIEF DESCRIPTION OF THE DRAWINGS A brief description of each drawing is provided to more fully understand the drawings recited in the description of the invention.
1 is a diagram showing an example of a conventional data encoding method.
FIG. 2 shows a flowchart for explaining an encoding method according to an embodiment of the present invention.
FIG. 3 is a diagram illustrating a process of encoding according to an embodiment of the present invention. Referring to FIG.
4 is a diagram showing a schematic configuration of an encoding system according to an embodiment of the present invention.

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.In order to fully understand the present invention, operational advantages of the present invention, and objects achieved by the practice of the present invention, reference should be made to the accompanying drawings and the accompanying drawings which illustrate preferred embodiments of the present invention.

또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다.Also, in this specification, when any one element 'transmits' data to another element, the element may transmit the data directly to the other element, or may be transmitted through at least one other element And may transmit the data to the other component.

반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.Conversely, when one element 'directly transmits' data to another element, it means that the data is transmitted to the other element without passing through another element in the element.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, the present invention will be described in detail with reference to the preferred embodiments of the present invention with reference to the accompanying drawings. Like reference symbols in the drawings denote like elements.

도 2는 본 발명의 일 실시 예에 따른 인코딩 방법을 설명하기 위한 플로우 챠트를 나타낸다. 또한, 도 3은 본 발명의 일 실시 예에 따른 인코딩이 수행되는 과정을 설명하기 위한 도면이다.FIG. 2 shows a flowchart for explaining an encoding method according to an embodiment of the present invention. 3 is a diagram for explaining a process of encoding according to an embodiment of the present invention.

도 2 및 도 3을 참조하면, 본 발명의 기술적 사상에 따른 인코딩 시스템(도 4의 100)은 소정의 대상 데이터(예컨대, a1 내지 an)로부터 차이 데이터(예컨대, a1, d1, … , dn-1)를 획득할 수 있다(S100).2 and 3, the encoding system in accordance with the technical features of the present invention (100 in Fig. 4) is predetermined for the target data (e.g., a 1 to a n), the difference data (for example, a1, d 1, from ... , d n-1 ) (S100).

상기 대상 데이터(예컨대, a1 내지 an)는 상기 인코딩 시스템(100)이 저장하거고 이용할 유의미한 데이터를 의미할 수 있다. 일 예에 의하면, 상기 대상 데이터(예컨대, a1 내지 an)는 이미지 또는 동영상 프레임의 픽셀 각각에 상응하는 데이터일 수 있다. 하지만 이에 한정되지는 않고, 상기 인코딩 시스템(100)을 통해 압축을 수행할 어떠한 유의미한 데이터라도 상기 대상 데이터(예컨대, a1 내지 an)가 될 수 있다. The object data (e.g., a 1 through a n ) may mean meaningful data that the encoding system 100 stores and uses. According to one example, the object data (e.g., a 1 through a n ) may be data corresponding to each pixel of an image or moving picture frame. However, the present invention is not limited to this, and any meaningful data to be compressed through the encoding system 100 may be the object data (e.g., a 1 to a n ).

또한, 상기 인코딩 시스템(100)은 상기 대상 데이터(예컨대, a1 내지 an)의 인코딩을 위해 상기 차이 데이터(예컨대, a1, d1, … , dn-1)를 인코딩할 수 있다. 물론, 상기 차이 데이터(예컨대, a1, d1, … , dn-1) 중 어느 하나(예컨대, a1)는 대상 데이터 자체일 수 있다. 여기서 dn = an+1 - an 을 의미할 수 있다.Furthermore, the encoding system 100 may encode the target data of the difference data for encoding (e.g., a 1 to a n) (for example, a1, d 1, ..., d n-1). Of course, any one (e. G., A 1) of the difference data (for example, a1, d 1, ..., d n-1) may be a target data itself. Where d n = a n + 1 - a n .

상기 차이 데이터(예컨대, a1, d1, … , dn-1)를 이용함으로써, 실제 인코딩이 수행될 데이터 세트(set)들 간에는 반복적으로 출현되는 값들이 많아질 수 있다.By using the difference data (for example, a1, d 1, ..., d n-1), is between the data sets (set) of the actual encoding to be performed are the values that are repeated appearance it can be increased.

그러면, 상기 인코딩 시스템(100)은 손실 압축을 수행하기 위해 상기 차이 데이터(예컨대, a1, d1, … , dn-1)에 대한 양자화를 수행할 수 있다(S110). 이러한 경우, 상기 차이 데이터(예컨대, a1, d1, … , dn-1)가 양자화가 될 양자화 대상 데이터가 될 수 있다. Then, the encoding system 100 may perform a quantization on the difference data (for example, a1, d 1, ..., d n-1) to carry out the lossy compression (S110). In this case, the difference data (for example, a1, d 1, ..., d n-1) there can be a quantization target data to be quantized.

양자화는 소정의 양자화 함수(예컨대, Q())를 통해 수행될 수 있다. 다양한 양자화 방식이 본 발명의 기술적 사상에 적용될 수 있다. The quantization may be performed through a predetermined quantization function (e.g., Q ()). Various quantization schemes can be applied to the technical idea of the present invention.

일 예로 상기 인코딩 시스템(100)은 양자화될 데이터 즉, 양자화 대상 데이터를 소정의 양자화 레벨 값(예컨대, q)로 나눈 값을 반올림 한 값일 수 있다. 이러한 경우, 상기 양자화 함수는 다음과 같이 정의될 수 있다. For example, the encoding system 100 may be a value obtained by rounding a value obtained by dividing data to be quantized, that is, data to be quantized, by a predetermined quantization level value (e.g., q). In this case, the quantization function can be defined as follows.

[수학식 1][Equation 1]

Q = [(d+q/2)/q]Q = [(d + q / 2) / q]

여기서, d는 양자화할 데이터이고, [ ]는 정수 값을 취하는 함수일 수 있다.Here, d is data to be quantized, and [] is a function taking an integer value.

그러면 상기 인코딩 시스템(100)은 상기 양자화 대상 데이터(예컨대, a1, d1, … , dn-1)를 소정의 양자화 함수를 통해 양자화를 수행하여 양자화 결과 데이터(예컨대, Q(a1), Q(d1), …, Q(dn-1))를 획득할 수 있다(S110).Then, the encoding system 100 comprises the quantized target data (for example, a1, d 1, ..., d n-1) to the perform quantization through a predetermined quantization function quantized result data (e. G., Q (a 1), Q (d 1 ), ..., Q (d n-1 )) (S110).

상기 양자화 대상 데이터(예컨대, a1, d1, … , dn-1)가 음수의 값을 가질 수 있다. 즉, 소정의 대상 데이터(예컨대, a2) 보다 상기 대상 데이터의 예측 데이터(예컨대, a1)가 더 큰 값을 갖는 경우, 상기 양자화 대상 데이터(예컨대, d1)의 값은 음수의 값을 갖는다. 그러면 상기 양자화 대상 데이터(예컨대, d1)의 양자화 결과 데이터(예컨대, Q(d1)) 역시 음수의 값을 가질 수 있다.The quantized target data (for example, a1, d 1, ..., d n-1) that can have a value of negative. That is, when the prediction data (for example, a 1 ) of the target data has a larger value than the predetermined target data (for example, a 2 ), the value of the quantization target data (for example, d 1 ) . This can have a result of the quantization data (for example, Q (d 1)) is also the negative of the quantization target data (e.g., d 1).

이때 종래의 손실압축의 경우에는 상기 양자화 결과 데이터(예컨대, Q(d1))의 사인비트까지 저장해야 했다. 왜냐하면 상기 양자화 결과 데이터(예컨대, Q(d1))를 이용하여 상기 대상 데이터(예컨대, a2)에 상응하는 복원 데이터를 획득할 경우, 상기 복원 데이터는 양자화에 의한 오차로 인해 정상범위를 가지지 않을 수 있기 때문이다. At this time, in the case of conventional lossy compression, the sign bit of the quantization result data (for example, Q (d 1 )) has to be stored. That is, when restoration data corresponding to the object data (for example, a 2 ) is obtained using the quantization result data (e.g., Q (d 1 )), the restored data has a normal range due to an error due to quantization I can not.

예컨대, 상기 양자화 결과 데이터(예컨대, Q(d1))를 이용하여 복원한 복원 데이터는 다음과 같은 수학식으로 표현될 수 있다.For example, restoration data restored using the quantization result data (e.g., Q (d 1 )) may be expressed by the following equation.

[수학식 2]&Quot; (2) "

Q-1(Q(d1)) + pred(d1)Q -1 (Q (d 1 )) + pred (d 1 )

여기서 Q-1는 역양자화 함수, pred(d1)은 d1의 예측 데이터(예컨대, a1)를 의미할 수 있다. 상기 역양자화 함수 Q-1(x)는 x×q 일 수 있다. Here, Q -1 may be an inverse quantization function, and pred (d 1 ) may mean predicted data of d 1 (for example, a 1 ). The inverse quantization function Q -1 (x) may be x x q.

이처럼 손실 압축의 경우에는 양자화 대상 데이터(예컨대, d1)를 양자화하여 획득된 양자화 결과 데이터(예컨대, Q(d1))를 역양자화 하면 획득되는 데이터( Q-1(Q(d1)))가 양자화 대상 데이터(예컨대, d1)와 오차가 있기 때문에, 대상 데이터(예컨대, a2)에 상응하는 복원 데이터(예컨대, Q-1(Q(d1)) + pred(d1)) 역시 상기 대상 데이터(예컨대, a2)와는 오차가 있게 된다. 이러한 오차로 인해 상기 복원 데이터(예컨대, Q-1(Q(d1)) + pred(d1))는 정상범위의 값을 가지지 않을 수 있으며, 이로 인해 종래에는 상기 양자화 결과 데이터(예컨대, Q(d1))의 사인비트까지 저장하여야 했다.Thus, data (Q -1 (Q (d 1 ))) that is obtained when the compression is lost if the inverse quantization quantization target data (e.g., d 1) the quantization result of the quantization data obtained (e. G., Q (d1)) (E.g., Q -1 (Q (d 1 )) + pred (d 1 ) corresponding to the target data (for example, a2) There is an error with the data (for example, a2). Due to such an error, the reconstructed data (for example, Q -1 (Q (d 1 )) + pred (d 1 ) may not have a normal range value, (d1)).

이러한 문제점을 해결하기 위해 본 발명의 기술적 사상에 따른 인코딩 시스템(100)은 종래에 양자화 결과 데이터(예컨대, Q(a1), Q(d1), …, Q(dn-1))를 직접 코딩하는 것과 달리, 양자화 결과 데이터(예컨대, Q(a1), Q(d1), …, Q(dn-1)) 각각을 선택적으로 보정하고, 보정된 보정데이터를 코딩(예컨대, 허프만 코딩 등)할 수 있다.To solve these problems, the encoding system 100 according to the technical idea of the present invention has conventionally used quantization result data (for example, Q (a 1 ), Q (d 1 ), ..., Q (d n-1 ) (Q 1 ), Q (d 1 ), ..., Q (d n-1 )) different from the quantization result data (for example, Huffman coding, etc.).

이를 위해 상기 인코딩 시스템(100)은 양자화 대상 데이터(예컨대, a1, d1, … , dn-1)들 각각을 양자화하고, 양자화된 양자화 결과 데이터(예컨대, Q(a1), Q(d1), …, Q(dn-1)) 각각에 대해 복원 데이터를 획득할 수 있다(S120).For this purpose, the encoding system 100 includes a quantization target data (for example, a1, d 1, ..., d n-1) of the quantizing, respectively, and the quantization result of the quantization data (for example, Q (a 1), Q (d 1 ), ..., Q (d n-1 ), respectively, at step S120.

예컨대, 상기 인코딩 시스템(100)은 양자화 결과 데이터(예컨대, Q(d1)) 각각에 대해 상응하는 복원 데이터(예컨대, Q-1(Q(d1)) + pred(d1))를 획득할 수 있다. For example, the encoding system 100 obtains the result of the quantization data (for example, Q (d 1)) to restore the data (e.g., Q -1 (Q (d 1)) + pred (d 1)) corresponding to each can do.

그리고 상기 복원 데이터(예컨대, Q-1(Q(d1)) + pred(d1))이 정상범위인 경우에는, 상기 양자화 결과 데이터(예컨대, Q(d1))를 그대로 코딩을 할 코딩 대상 데이터로 특정할 수 있다. When the restored data (for example, Q -1 (Q (d 1 )) + pred (d 1 )) is in the normal range, the quantization result data (for example, Q (d 1 )) is coded It can be specified by target data.

만약 상기 복원 데이터(예컨대, Q-1(Q(d1)) + pred(d1))가 정상범위가 아닌 경우에는 상기 복원 데이터(예컨대, Q-1(Q(d1)) + pred(d1))는 0보다 작거나 2n-1보다 큰 값을 갖게 된다. 이러한 경우에는 상기 인코딩 시스템(100)은 정상범위가 아닌 복원 데이터(예컨대, Q-1(Q(d1)) + pred(d1))가 정상범위의 값을 가질 수 있도록 상기 양자화 결과 데이터(예컨대, Q(d1))를 보정할 수 있다. If the recovered data (e.g., Q -1 (Q (d 1 )) + pred (d 1)) that is not a normal range, the recovered data (e.g., Q -1 (Q (d 1 )) + pred ( d 1 )) is less than 0 or greater than 2 n -1. In this case, the encoding system 100 may generate the quantization result data (for example, Q 1 (Q (d 1 )) + pred (d 1 ) For example, Q (d 1 ) can be corrected.

예컨대, 상기 복원 데이터(예컨대, Q-1(Q(d1)) + pred(d1))가 정상범위보다 작은 값을 갖는 경우에는 소정의 보정 값(c)를 상기 양자화 결과 데이터(예컨대, Q(d1))에 더 해줄 수 있다. 또한 상기 복원 데이터(예컨대, Q-1(Q(d1)) + pred(d1))가 정상범위보가 큰 값을 갖는 경우에는 소정의 보정 값(c)를 상기 양자화 결과 데이터(예컨대, Q(d1))에서 빼줄 수 있다. For example, when the restored data (for example, Q -1 (Q (d 1 )) + pred (d 1 ) has a value smaller than the normal range, a predetermined correction value c is stored in the quantization result data Q (d 1 )). When the restored data (for example, Q -1 (Q (d 1 )) + pred (d 1 )) has a large value in the normal range, a predetermined correction value c is stored in the quantization result data (d 1 )).

상기 보정 값(c)는 상기 보정 값(c)를 이용한 보정데이터(예컨대, Q(d1) - c 또는 Q(d1) + c)를 이용하여 복원 데이터(예컨대, Q-1(Q(d1) - c) + pred(d1) 또는 Q-1(Q(d1) + c) + pred(d1))를 획득했을 때, 획득된 복원 데이터(예컨대, Q-1(Q(d1) - c) + pred(d1) 또는 Q-1(Q(d1) + c) + pred(d1))의 값이 정상범위의 값을 가지도록 하는 어떠한 값도 가능할 수 있다. The correction value (c) is the correction value (c) the calibration data (e. G., Q (d 1) - c, or Q (d 1) + c) with restoration data (e.g., using a Q -1 (Q ( d 1) - c) + pred (d 1) or Q -1 (Q (d 1) + c) + pred (d 1)), the obtained restored data (e.g., Q -1 when obtaining (Q ( any value may be possible such that the value of d 1 ) -c) + pred (d 1 ) or Q -1 (Q (d 1 ) + c) + pred (d 1 ) has a value in the normal range.

일 예에 의하면, 가급적 보정 값(c)이 작을수록, 보정데이터(예컨대, Q(d1) - c 또는 Q(d1) + c)를 이용한 복원데이터가 원래의 양자화 결과 데이터(예컨대, Q(d1))를 이용한 복원데이터의 값과 근사할 수 있다.According to an example, as the correction value c is smaller, the restored data using the correction data (for example, Q (d 1 ) -c or Q (d 1 ) + c) is smaller than the original quantization result data (d 1 )) of the restored data.

따라서 [수학식 1]과 같은 양자화 함수를 이용하는 경우에는, 오차범위가 q/2일 수 있으므로 보정 값(c)는 1로 선택되어도, 보정데이터를 이용한 복원데이터의 값은 정상범위에 속하도록 보정될 수 있다. 물론, 상기 보정 값(c)은 양자화 함수에 의존적으로 선택될 수 있다.Therefore, in the case of using the quantization function as in Equation (1), since the error range may be q / 2, even if the correction value (c) is selected as 1, . Of course, the correction value c may be selected depending on the quantization function.

이러한 과정을 도 3에 도시된 바와 같이 수식으로 표현하면 다음과 같을 수 있다. This process can be expressed as the following equation as shown in FIG.

인코딩 시스템(100)은 양자화 대상 데이터(예컨대, a1, d1, …, dn-1)를 양자화하여 양자화 결과 데이터(예컨대, Q(a1), Q(d1), …, Q(dn-1))를 획득할 수 있다(S110). The encoding system 100 quantizes the quantization object data (e.g., a 1 , d 1 , ..., d n-1 ) to obtain quantization result data (e.g., Q (a 1 ), Q (d 1 ) d n-1 )) (S110).

그러면 상기 인코딩 시스템(100)은 획득된 양자화 결과 데이터(예컨대, Q(a1), Q(d1), …, Q(dn-1)) 각각에 대해 상응하는 복원 데이터를 획득할 수 있다(S120). The encoding system 100 may then obtain the corresponding reconstructed data for each of the obtained quantization result data (e.g., Q (a 1 ), Q (d 1 ), ..., Q (d n-1 ) (S120).

그러면 상기 인코딩 시스템(100)은 각각의 복원 데이터가 정상범위의 값을 갖는지 여부에 따라 선택적으로 상기 양자화 결과 데이터(예컨대, Q(a1), Q(d1), …, Q(dn-1))를 보정할 수 있다(S130, S140, S150). Then, the encoding system 100 may optionally result of the quantization data (for example, Q (a 1), Q (d 1) , depending on whether each of the recovered data has the value of the normal range, ..., Q (d n- 1 )) can be corrected (S130, S140, S150).

양자화 결과 데이터(예컨대, Q(a1), Q(d1), …, Q(dn-1))의 선택적인 보정은 예컨대, 다음과 같은 수학식으로 표현될 수 있다.The selective correction of the quantization result data (e.g., Q (a 1 ), Q (d 1 ), ..., Q (d n-1 )) can be expressed, for example,

[수학식 3]&Quot; (3) "

C{Q(x)} = Q(x) (if 0≤ Q-1(Q(x)) + pred(x) ≤ 2m -1)C {Q (x)} = Q (x) (if 0≤ Q -1 (Q (x)) + pred (x) ≤ 2 m -1)

= Q(x) - c (if Q-1(Q(x)) + pred(x) > 2m -1)= Q (x) - c ( if Q -1 (Q (x)) + pred (x)> 2 m -1)

= Q(x) + c (if Q-1(Q(x)) + pred(x) < 0 )= Q (x) + c (if Q- 1 (Q (x)) + pred (x)

여기서 m은 각각의 대상 데이터를 표현하는 비트(예컨대, 8비트)를 의미할 수 있다. 그리고 상기 보정 값(c)는 전술한 바와 같이 1일 수 있지만 이에 한정되지는 않는다.Here, m may mean a bit (e.g., 8 bits) representing each object data. The correction value c may be 1 as described above, but is not limited thereto.

결국 상기 인코딩 시스템(100)은 양자화 결과 데이터(예컨대, Q(a1), Q(d1), …, Q(dn-1)) 각각의 복원 데이터가 정상범위가 아니면, 상기 양자화 결과 데이터(예컨대, Q(a1), Q(d1), …, Q(dn-1)) 각각을 보정하고 보정데이터를 코딩의 대상이 될 코딩 대상 데이터(예컨대, C{Q(a1)}, C{Q(d1)}, …, C{Q(dn-1)})로 특정할 수 있다. As a result, if the reconstructed data of the quantization result data (for example, Q (a 1 ), Q (d 1 ), ..., Q (d n-1 )) is not within the normal range, (e. g., Q (a 1), Q (d 1), ..., Q (d n-1)) encoding the target data (e.g., C {Q (a 1) is a correction for each of the target of encoding the correction data }, C {Q (d 1 )}, ..., C {Q (d n-1 )}).

특정된 각각의 코딩 대상 데이터(예컨대, C{Q(a1)}, C{Q(d1)}, …, C{Q(dn-1)})는 상기 인코딩 시스템(100)에 포함된 소정의 저장장치에 저장될 수 있다(S140, S150).Of the specified each coded object data (e.g., {Q (a 1)} C, C {Q (d 1)}, ..., C {Q (d n-1)}) it is included in the encoding system 100 (S140, S150).

이처럼 보정된 코딩 대상 데이터(예컨대, C{Q(a1)}, C{Q(d1)}, …, C{Q(dn-1)}) 각각을 이용하여 상응하는 복원 데이터를 생성하면, 생성된 복원 데이터는 항상 정상범위의 값을 가지게 되므로, 상기 인코딩 시스템(100)은 상기 코딩 대상 데이터(예컨대, C{Q(a1)}, C{Q(d1)}, …, C{Q(dn-1)})의 사인비트를 저장하지 않을 수 있다.Thus, the corrected coding object data (e.g., {Q (a 1)} C, C {Q (d 1)}, ..., C {Q (d n-1)}) generates the restored data corresponding with the respective C (Q 1 )}, C {Q (d 1 )}, ..., and so on, since the generated restoration data always has a value in the normal range, C {Q (d n-1 )}).

또한 본 발명의 인코딩 시스템(100)이 소정의 이미지 또는 동영상의 프레임을 인코딩하는 경우, 상기 대상 데이터(예컨대, a1 내지 an)들은 각각의 픽셀에 상응하는 데이터일 수 있는데, 전술한 바와 같이 양자화 결과 데이터(예컨대, Q(a1), Q(d1), …, Q(dn-1))들 중 선택적으로 적어도 하나의 값(예컨대, Q(d1))을 보정데이터로 치환한다고 하더라도 화질의 열화는 크지 않을 수 있다. 이에 비해 사인비트를 저장하지 않음으로써 획득될 수 있는 압축율의 상승은 현저할 수 있다. Also, when the encoding system 100 of the present invention encodes a frame of a predetermined image or moving image, the object data (for example, a 1 to a n ) may be data corresponding to each pixel, quantized result data (e. g., Q (a 1), Q (d 1), ..., Q (d n-1)) substituted with optionally at least one value (e.g., Q (d 1)) of the correction data The deterioration of image quality may not be large. On the other hand, the increase in the compression ratio that can be obtained by not storing the sign bit can be remarkable.

상기 인코딩 시스템(100)은 저장된 코딩 대상 데이터(예컨대, C{Q(a1)}, C{Q(d1)}, …, C{Q(dn-1)})를 소정의 방식으로 코딩할 수 있다. 예컨대, 허프만 인코딩과 같은 VLC(Variable Length Coding)이 수행될 수 있지만, 이에 한정되지는 않는다.The encoding system 100 includes a stored coding object data (e.g., C {Q (a 1) }, C {Q (d 1)}, ..., C {Q (d n-1)}) in a predetermined manner Can be coded. For example, Variable Length Coding (VLC) such as Huffman encoding may be performed, but is not limited thereto.

본 발명의 기술적 사상을 구현하기 위한 인코딩 시스템(100)의 일 실시 예는 도 4에 도시된다. One embodiment of an encoding system 100 for implementing the technical idea of the present invention is shown in FIG.

도 4는 본 발명의 일 실시예에 따른 인코딩 시스템의 개략적인 구성을 나타내는 도면이다. 4 is a diagram showing a schematic configuration of an encoding system according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 실시 예에 따른 인코딩 시스템(100)은 양자화 모듈(120), 디코딩 모듈(130), 및 보정모듈(140)을 포함한다. 상기 인코딩 시스템(100)은 전처리 모듈(110) 및/또는 인코딩 모듈(150)을 더 포함할 수 있다. Referring to FIG. 4, an encoding system 100 according to an embodiment of the present invention includes a quantization module 120, a decoding module 130, and a correction module 140. The encoding system 100 may further include a preprocessing module 110 and / or an encoding module 150.

상기 인코딩 시스템(100)은 소정의 데이터 프로세싱 장치(예컨대, 컴퓨터, 모바일 단말기 등)로 구현될 수 있으며, 상기 데이터 프로세싱 장치에 구비된 하드웨어 및 본 발명의 기술적 사상을 구현하도록 정의되는 소정의 소프트웨어 코드와 유기적으로 결합되어 구현될 수 있다. The encoding system 100 may be embodied in a data processing device (e.g., a computer, a mobile terminal, etc.) and may include hardware in the data processing device and predetermined software code As shown in FIG.

본 명세서에서 '모듈'이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 '모듈'은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스(resource)의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.In this specification, the term 'module' may mean a functional and structural combination of hardware for carrying out the technical idea of the present invention and software for driving the hardware. For example, the 'module' may refer to a logical unit of a predetermined code and a hardware resource for executing the predetermined code, and may be a code physically connected to the module, or a kind of hardware Or may be easily deduced to the average expert in the field of the present invention.

구현 예에 따라, 상기 인코딩 시스템(100)은 어느 하나의 물리적 장치가 아니라, 복수의 물리적 장치에 분산되어 설치될 수도 있다. 필요에 따라, 상기 인코딩 시스템(100)에 포함된 각각의 구성들이 독립적인 물리적 장치들로 구현되면, 이러한 물리적 장치들이 유무선 네트워크를 통해 유기적으로 결합되어 구현되어 본 발명의 기술적 사상에 따른 상기 인코딩 시스템(100)을 구현할 수도 있다.According to an embodiment, the encoding system 100 may not be any physical device, but may be distributed over a plurality of physical devices. If necessary, if each of the configurations included in the encoding system 100 is implemented as independent physical devices, these physical devices may be organically combined through a wired / wireless network so that the encoding system 100 according to the technical idea of the present invention 0.0 &gt; 100 &lt; / RTI &gt;

상기 양자화 모듈(120)은 양자화 대상 데이터를 양자화하여 양자화 결과 데이터를 획득할 수 있다. 상기 양자화 대상 데이터는 인코딩 솔루션(예컨대, JPEG, H.264 등)에 따라 다양한 구현 예가 존재할 수 있으며, 인코딩을 수행할 소스 데이터(또는 원본 데이터)가 무엇인지에 따라 또한 인코딩 솔루션에 따라 다양할 수 있다. 예컨대, 상기 소스 데이터가 이미지(또는 동영상의 프레임)인 경우, 인코딩 방법에 따라 소정의 트랜스폼(transform, 예컨대, DCT 등)이 수행되거나 수행되지 않을 수도 있으며, 이에 따라 상기 대상 데이터는 각각의 픽셀 또는 매크로 블록 각각에 상응하는 데이터일 수도 있다. 이외에도 인코딩을 수행할 소스 데이터가 무엇인지에 따라 또는 어떠한 인코딩 솔루션을 이용할지에 따라 상기 양자화 대상 데이터는 다양한 실시 예가 존재할 수 있다.The quantization module 120 may quantize the quantization target data to obtain quantization result data. The quantization target data may have various implementations according to an encoding solution (for example, JPEG, H.264, etc.), and may vary depending on the source data (or source data) to be encoded and also depending on the encoding solution have. For example, if the source data is an image (or a frame of a moving picture), a predetermined transform (e.g., DCT, etc.) may or may not be performed according to an encoding method, Or may be data corresponding to each of the macroblocks. In addition, there may be various embodiments of the quantization target data depending on what source data is to be encoded or what encoding solution is to be used.

그러면 상기 디코딩 모듈(130)은 상기 양자화 결과 데이터의 복원 데이터를 획득할 수 있다. 상기 디코딩 모듈(130)은 이를 위해 소정의 역양자화모듈(미도시)를 포함할 수 있다. 상기 디코딩 모듈(130)은 상기 양자화 결과 데이터를 역양자화하고, 역양자화된 데이터와 역양자화된 데이터에 상응하는 예측 데이터에 기초하여 상기 복원 데이터 즉, 소정의 대상 데이터가 인코딩된 후 다시 디코딩된 데이터를 획득할 수 있다. Then, the decoding module 130 can obtain restoration data of the quantization result data. The decoding module 130 may include a predetermined dequantization module (not shown). The decoding module 130 dequantizes the quantization result data, and based on the prediction data corresponding to the dequantized data and the dequantized data, the decoding data, i.e., the decoded data after the predetermined target data is encoded Can be obtained.

상기 보정모듈(140)은 획득된 복원 데이터에 기초하여 코딩 대상 데이터를 특정할 수 있다. 상기 보정모듈(140)은 전술한 바와 같이 양자화 결과 데이터를 선택적으로 보정할 수 있다. The correction module 140 can specify the coding object data based on the obtained restoration data. The correction module 140 may selectively correct the quantization result data as described above.

일 예에 의하면 상기 보정모듈(140)은 획득된 상기 복원 데이터가 정상범위에 속하지 않는 경우, 상기 양자화 결과 데이터를 보정한 보정데이터를 코딩 대상 데이터로 저장장치(미도시)할 수 있다. 물론, 상기 보정모듈(140)은 상기 복원 데이터가 정상범위에 속하는 경우에는 상기 양자화 결과 데이터를 그대로 상기 코딩 대상 데이터로 특정할 수 있다. According to an example, the correction module 140 may store the correction data, which is obtained by correcting the quantization result data, as the coding object data (not shown) when the obtained restoration data does not belong to the normal range. Of course, when the restored data belongs to the normal range, the correction module 140 can directly specify the quantization result data as the coding target data.

이렇게 코딩 대상 데이터가 특정되면, 상기 인코딩 모듈(150)은 소정의 코딩 알고리즘(예컨대, 허프만 코딩 등의 VLC)을 통해 코딩을 수행할 수 있다. When the coding target data is specified, the encoding module 150 can perform coding through a predetermined coding algorithm (e.g., VLC such as Huffman coding).

또한, 상기 인코딩 시스템(100)은 인코딩이 수행되는 소스 데이터(예컨대, 이미지 등) 또는 상기 소스 데이터로부터 획득된 소정의 대상 데이터를 획득하고, 상기 대상 데이터의 예측 데이터와 상기 대상 데이터의 차이 데이터를 획득하고, 상기 차이 데이터를 양자화 대상 데이터로 특정하기 위한 전처리모듈(110)을 더 포함할 수 있다. In addition, the encoding system 100 may acquire source data (for example, an image or the like) to be encoded or predetermined target data obtained from the source data, and generate prediction data of the target data and difference data of the target data And a preprocessing module 110 for specifying the difference data as data to be quantized.

즉, 상기 대상 데이터는 상기 인코딩 시스템(100)이 인코딩을 수행할 유의미한 데이터를 의미할 수 있으며, 일 예에 의하면 상기 대상 데이터는 소정의 이미지의 각각의 픽셀 값 등을 의미할 수 있지만 이에 한정되지는 않는다. 어떠한 일련의 데이터들도 본 발명의 기술적 사상에 따라 인코딩이 수행될 수 있으며, 상기 일련의 데이터가 상기 대상 데이터로 설정될 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.In other words, the target data may mean meaningful data for the encoding system 100 to perform encoding. According to an example, the target data may mean a pixel value of a predetermined image or the like, but is not limited thereto. . It will be readily apparent to one of ordinary skill in the art that any series of data may be encoded in accordance with the teachings of the present invention and that the set of data may be set to the target data .

또한, 전술한 바와 같이 상기 보정모듈(140)은 상기 보정데이터를 이용하여 복원 데이터를 획득할 경우, 상기 복원 데이터가 상기 정상범위에 속하도록 상기 양자화 데이터를 상기 보정데이터로 보정할 수 있다. 이를 위해 상기 보정모듈(140)은 양자화 결과 데이터에서 소정의 보정 값을 더하거나 뺌으로써 상기 보정데이터를 생성할 수 있다. 상기 보정 값은 양자화 모듈(120)이 수행하는 양자화의 실시 예에 의존할 수 있음은 물론이며, 전술한 예에서 상기 보정 값은 1일 수 있음도 설명한 바와 같다.In addition, as described above, when the correction module 140 acquires the reconstruction data using the correction data, the correction module 140 may correct the quantization data to the correction data such that the reconstruction data belongs to the normal range. For this, the correction module 140 may generate the correction data by adding or subtracting a predetermined correction value from the quantization result data. It should be noted that the correction value may depend on the embodiment of the quantization performed by the quantization module 120, and the correction value may be 1 in the example described above.

이처럼 상기 보정모듈(140)에 의해 양자화 결과 데이터가 선택적으로 보정된 경우에는 상기 보정모듈(140)은 상기 코딩 대상 데이터가 음수인 경우에도 사인비트를 제외한 나머지 비트만 소정의 저장장치에 저장할 수 있으며, 사인비트를 저장하지 않음으로 인해 압축률의 향상은 현저히 높아질 수 있다. When the quantization result data is selectively corrected by the correction module 140, the correction module 140 can store only the remaining bits except for the sign bits in a predetermined storage device even when the coding target data is negative , And the improvement of the compression rate can be remarkably increased due to not storing the sign bit.

본 발명의 실시 예에 따른 이미지 인코딩 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드 디스크, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.The image encoding method according to the embodiment of the present invention can be implemented as a computer readable code on a computer readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a hard disk, a floppy disk, an optical data storage device, and the like in the form of a carrier wave (for example, . In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. And functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers skilled in the art to which the present invention pertains. BRIEF DESCRIPTION OF THE DRAWINGS The present invention will now be described more fully hereinafter with reference to the accompanying drawings, It will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the scope of the present invention. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

Claims (14)

데이터를 인코딩하는 방법에 있어서,
인코딩 시스템이 양자화 대상 데이터를 양자화하여 양자화 결과 데이터를 획득하는 단계;
상기 인코딩 시스템이 상기 양자화 결과 데이터의 복원 데이터를 획득하는 단계; 및
획득된 상기 복원 데이터가 정상범위에 속하지 않는 경우, 상기 인코딩 시스템이 상기 양자화 결과 데이터를 보정한 보정데이터-상기 보정데이터는 상기 보정 데이터를 이용하여 상기 복원 데이터를 획득할 경우, 상기 복원 데이터가 상기 정상범위에 속하도록 하는 데이터임-를 코딩 대상 데이터로 저장장치에 저장하는 단계를 포함하며,
상기 인코딩 시스템이 상기 양자화 결과 데이터를 보정한 보정데이터를 코딩 대상 데이터로 저장장치에 저장하는 단계는,
상기 보정데이터를 이용하여 상기 복원 데이터를 획득할 경우, 상기 복원 데이터가 상기 정상범위에 속하도록 하는 미리 결정된 상수인 보정 값을 더하거나 빼서 상기 양자화 결과 데이터를 상기 보정데이터로 보정하는 단계를 포함하는 인코딩 방법.
A method for encoding data,
The encoding system quantizing the quantization object data to obtain quantization result data;
The encoding system obtaining reconstruction data of the quantization result data; And
Correction data obtained by correcting the quantization result data by the encoding system when the obtained restoration data does not belong to the normal range; and when the restoration data is obtained using the correction data, And data to be included in the normal range, as the coding object data,
Wherein the step of storing, as coding target data, correction data in which the encoding system has corrected the quantization result data,
And a step of correcting the quantization result data with the correction data by adding or subtracting a correction value that is a predetermined constant that allows the restored data to belong to the normal range when the restored data is obtained using the correction data, Way.
제1항에 있어서, 상기 인코딩 방법은,
상기 복원 데이터가 정상범위에 속하는 경우 상기 인코딩 시스템이 상기 양자화 결과 데이터를 상기 코딩 대상 데이터로 저장하는 단계를 더 포함하는 인코딩 방법.
The method according to claim 1,
And if the restored data belongs to the normal range, the encoding system stores the quantized result data as the coding target data.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 제1항에 있어서, 상기 인코딩 시스템이 상기 양자화 결과 데이터를 보정한 보정데이터를 코딩 대상 데이터로 저장장치에 저장하는 단계는,
상기 코딩 대상 데이터가 음수인 경우에도 사인비트를 제외한 나머지 비트만 저장하는 것을 특징으로 하는 인코딩 방법.
2. The method of claim 1, wherein the step of storing, as coding target data, correction data in which the quantization result data is corrected by the encoding system,
Wherein only the remaining bits excluding the sign bits are stored even if the coding target data is negative.
제1항, 제2항, 또는 제8항 중 어느 한 항에 기재된 방법을 수행하기 위한 프로그램을 기록한 컴퓨터 판독가능한 기록매체.
A computer-readable recording medium recording a program for performing the method according to any one of claims 1, 2, and 8.
양자화 대상 데이터를 양자화하여 양자화 결과 데이터를 획득하기 위한 양자화 모듈;
상기 양자화 결과 데이터의 복원 데이터를 획득하기 위한 디코딩 모듈; 및
획득된 상기 복원 데이터가 정상범위에 속하지 않는 경우, 상기 양자화 결과 데이터를 보정한 보정데이터-상기 보정데이터는 상기 보정데이터를 이용하여 상기 복원 데이터를 획득할 경우, 상기 복원 데이터가 상기 정상범위에 속하도록 하는 데이터 임-를 코딩 대상 데이터로 저장장치에 저장하기 위한 보정모듈을 포함하며,
상기 보정모듈은,
상기 보정데이터를 이용하여 상기 복원 데이터를 획득할 경우, 상기 복원 데이터가 상기 정상범위에 속하도록 하는 미리 결정된 상수인 보정 값을 더하거나 빼서 상기 양자화 결과 데이터를 상기 보정데이터로 보정하는 인코딩 시스템.
A quantization module for quantizing quantization target data and obtaining quantization result data;
A decoding module for obtaining reconstruction data of the quantization result data; And
The correction data obtained by correcting the quantization result data when the obtained restoration data does not belong to the normal range, and the correction data, when the restoration data is obtained using the correction data, And a correction module for storing, as data to be coded, in the storage device,
Wherein the correction module comprises:
Wherein the correction data is corrected by adding or subtracting a correction value that is a predetermined constant that allows the restored data to belong to the normal range when the restored data is obtained by using the correction data.
삭제delete 삭제delete 삭제delete 제10항에 있어서, 상기 보정모듈은,,
상기 코딩 대상 데이터가 음수인 경우에도 사인비트를 제외한 나머지 비트만 저장하는 것을 특징으로 하는 인코딩 시스템.

11. The apparatus of claim 10, wherein the correction module comprises:
Wherein only the remaining bits excluding the sign bits are stored even when the coding target data is negative.

KR1020140021776A 2014-02-25 2014-02-25 Method and system for data encoding KR101659377B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140021776A KR101659377B1 (en) 2014-02-25 2014-02-25 Method and system for data encoding
US14/631,769 US9560364B2 (en) 2014-02-25 2015-02-25 Encoding image data with quantizing and inverse-quantizing pixel values

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140021776A KR101659377B1 (en) 2014-02-25 2014-02-25 Method and system for data encoding

Publications (2)

Publication Number Publication Date
KR20150100232A KR20150100232A (en) 2015-09-02
KR101659377B1 true KR101659377B1 (en) 2016-09-26

Family

ID=54241978

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140021776A KR101659377B1 (en) 2014-02-25 2014-02-25 Method and system for data encoding

Country Status (1)

Country Link
KR (1) KR101659377B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230031703A (en) * 2021-08-27 2023-03-07 엘지디스플레이 주식회사 Display device, sensing-less compensating system and method for compressing data thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100813001B1 (en) 2006-07-13 2008-03-13 한국전자통신연구원 Video Encoding and Decoding Apparatus and Methods using Separation of Amplitude and Sign of a differential image signal

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0715347A (en) * 1993-06-28 1995-01-17 Victor Co Of Japan Ltd Coder and decoder
KR101518237B1 (en) * 2008-09-01 2015-05-15 삼성전자주식회사 Method and apparatus for inverse quantization, and method and apparatus for decoding of image

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100813001B1 (en) 2006-07-13 2008-03-13 한국전자통신연구원 Video Encoding and Decoding Apparatus and Methods using Separation of Amplitude and Sign of a differential image signal

Also Published As

Publication number Publication date
KR20150100232A (en) 2015-09-02

Similar Documents

Publication Publication Date Title
KR102134705B1 (en) Signal processing and inheritance in a tiered signal quality hierarchy
US8780972B2 (en) Methods and devices for data compression using offset-based adaptive reconstruction levels
JP5334070B2 (en) Adaptive quantization with balanced pixel region distortion distribution in image processing
WO2018103568A1 (en) Methods of encoding and decoding cloud desktop content, device, and system
US9219912B2 (en) Coding of residual data in predictive compression
KR102375037B1 (en) Method and device for lossy compress-encoding data and corresponding method and device for reconstructing data
KR20210050186A (en) Apparatus and method for performing artificial intelligence encoding and artificial intelligence decoding of image
US11765390B2 (en) Non-transform coding
JP6681383B2 (en) Encoder, decoder and method
JP2012517752A (en) In-loop deblocking of intra-coded images or frames
US8582898B2 (en) Method and apparatus for encoding and decoding image based on code table selection adapted to residual value distribution
US20160212427A1 (en) Video encoding apparatus and video encoding method
KR20120084168A (en) Method for video encoding mode selection and video encoding apparatus performing the same
CN110944179B (en) Video data decoding method and device
US10212436B2 (en) Image encoding apparatus, image decoding apparatus and image transmission method
WO2012160626A1 (en) Image compression device, image restoration device, and program
US11451833B2 (en) Encoding device, encoding method, decoding device, and decoding method
KR101659377B1 (en) Method and system for data encoding
JP2008271039A (en) Image encoder and image decoder
US20230336752A1 (en) Image compression with inter-channel encoding of codewords
US20120008680A1 (en) Methods and devices for data compression using adaptive reconstruction levels
CN116982313A (en) Method and apparatus for encoding video for machine vision
US20130279818A1 (en) Image encoding apparatus and method, image decoding apparatus and method, and non-transitory computer readable medium
US20130188885A1 (en) Apparatus and method for coding image, and non-transitory computer readable medium thereof
JP2007028531A (en) Image coding apparatus and image coding method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190722

Year of fee payment: 4