KR20130097687A - Encoding apparatus and encoding method - Google Patents

Encoding apparatus and encoding method Download PDF

Info

Publication number
KR20130097687A
KR20130097687A KR1020130020032A KR20130020032A KR20130097687A KR 20130097687 A KR20130097687 A KR 20130097687A KR 1020130020032 A KR1020130020032 A KR 1020130020032A KR 20130020032 A KR20130020032 A KR 20130020032A KR 20130097687 A KR20130097687 A KR 20130097687A
Authority
KR
South Korea
Prior art keywords
encoding
unit
code amount
data
variable length
Prior art date
Application number
KR1020130020032A
Other languages
Korean (ko)
Other versions
KR102071459B1 (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 삼성테크윈 주식회사
Publication of KR20130097687A publication Critical patent/KR20130097687A/en
Application granted granted Critical
Publication of KR102071459B1 publication Critical patent/KR102071459B1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/69Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving reversible variable length codes [RVLC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

PURPOSE: An encoding device and an encoding method thereof are provided to suppress a degree of image quality degradation and data quantity after encoding while suppressing the expansion of a circuit size. CONSTITUTION: Encoding units (130,140) sequentially encode a plurality of areas composing encoding target data. An accumulated encoding amount calculating unit (150) calculates an accumulated encoding amount. The accumulated encoding amount is an accumulated value of sizes of encoding data of one or more areas encoded by the encoding unit. When reversible/variable length encoding is performed, the encoding unit performs irreversible/same length encoding to the next area of the encoded areas if the accumulated encoding amount is bigger than a threshold value. [Reference numerals] (110) Difference calculation unit; (120) First selection unit; (131) Quantization unit; (132) Identical length encoding unit; (141) Variable length encoding unit; (150) Accumulated encoding amount calculating unit; (160) Determination unit; (170) Second selection unit; (180) Memory unit

Description

부호화 장치 및 부호화 방법{Encoding apparatus and encoding method}Encoding apparatus and encoding method

본 발명은, 부호화 장치 및 부호화 방법에 관한 것으로서, 보다 상세하게는, 영상 데이터 등의 압축을 위한 부호화 장치 및 부호화 방법에 관한 것이다.The present invention relates to an encoding device and an encoding method, and more particularly, to an encoding device and an encoding method for compressing video data and the like.

종래 영상의 부호화 기술로서는 여러 가지 기술이 개시되어 있다. 예를 들어, 영상의 부호화 기술로서 가역 부호화가 존재하는데, 가역 부호화에서는 가변길이 부호화를 이용하는 것이 일반적이다. 그러나, 가변길이 부호화를 이용한 경우에는, 부호화 후의 데이터 양이 부호화 전의 데이터 양보다 증가될 가능성이 있다. 그래서, 가변길이 부호화에 따른 데이터 양의 증가에 대처하기 위해 여러 가지 기술이 개시되어 있다.As a conventional technique for encoding video, various techniques have been disclosed. For example, reversible coding exists as a coding technique for video. In reversible coding, variable length coding is generally used. However, when variable length coding is used, there is a possibility that the amount of data after encoding is increased than the amount of data before encoding. Thus, various techniques have been disclosed to cope with an increase in the amount of data due to variable length coding.

예를 들어, 특허문헌 1에는, 가역 부호화에 의한 압축률이 목표 압축률을 만족시키도록 하기 위해, 가역 부호화("무손실(lossless) 부호화"라고도 함)와 비가역 부호화("손실(lossy) 부호화"라고도 함)의 사이에서 부호화 방식을 전환하는 기술이 개시되어 있다.For example, Patent Document 1 describes reversible coding (also referred to as "lossless coding") and irreversible coding ("lossy coding") so that the compression rate by reversible coding satisfies a target compression rate. Disclosed is a technique for switching a coding scheme among a).

또한, 예를 들어, 특허문헌 2에는, 가변길이 부호화에 의한 부호화 후의 데이터 양이 부호화 전의 데이터 양을 넘지 않는 경우에는 부호화 후의 데이터를 출력하지만, 가변길이 부호화에 의한 부호화 후의 데이터 양이 부호화 전의 데이터 양을 넘는 경우에는 부호화 전의 데이터를 출력하는 기술이 개시되어 있다.For example, in Patent Literature 2, if the amount of data after encoding by variable length encoding does not exceed the amount of data before encoding, the data after encoding is output. However, the amount of data after encoding by variable length encoding is the data before encoding. In the case where the amount is exceeded, a technique for outputting data before encoding is disclosed.

하지만, 특허문헌 1에 개시된 기술에서는, 데이터를 실제로 부호화하여 부호화 후의 데이터 양에 따라 그 데이터에 대하여 적용하는 부호화 방식을 판단할 필요가 있기 때문에, 부호화 후의 데이터를 유지하는 버퍼가 필요하게 되어 회로 규모가 커져 버린다. 또한, 특허문헌 1에 개시된 기술에서는, 블록 단위로 처리가 이루어지기 때문에 부호화 및 복호화를 위하여 많은 라인 메모리들이 필요하게 된다. 또한, 특허문헌 1에 개시된 기술에서는, 복잡한 연산이 필요하기 때문에 회로 규모가 커져 버린다.However, in the technique disclosed in Patent Literature 1, it is necessary to determine the encoding method to be applied to the data in accordance with the amount of data after the actual encoding of the data, so that a buffer for holding the data after encoding is needed, and thus the circuit scale. Will grow. In addition, in the technique disclosed in Patent Document 1, since processing is performed in units of blocks, many line memories are required for encoding and decoding. In addition, in the technique disclosed in Patent Literature 1, a complicated calculation is required, so that the circuit scale becomes large.

또한, 특허문헌 2에 개시된 기술에서는, 데이터를 실제로 부호화하여 부호화 후의 데이터 양에 따라 그 데이터에 대하여 부호화 후의 데이터를 출력하는지를 판단할 필요가 있기 때문에, 부호화 후의 데이터를 유지하는 버퍼가 필요하게 되어 회로 규모가 커져 버린다. 또한, 특허문헌 2에 개시된 기술에서는, 부호화 전의 데이터를 출력한 경우에는 데이터 양을 줄일 수는 없다.In addition, in the technique disclosed in Patent Literature 2, it is necessary to determine whether data is actually encoded and to output the encoded data with respect to the data according to the amount of data after encoding, so that a buffer for holding the data after encoding is required. The scale grows. In addition, in the technique disclosed in Patent Literature 2, when the data before encoding is output, the amount of data cannot be reduced.

일본 특허공개 제2006-303690호 공보Japanese Patent Publication No. 2006-303690 일본 특허공개 제2008-124969호 공보Japanese Patent Publication No. 2008-124969

본 발명의 실시예는, 회로 규모의 확대를 억제하면서 부호화 후의 데이터 양 및 화질 열화의 정도를 억제할 수 있는 부호화 장치 및 부호화 방법을 제공하고자 한다.An embodiment of the present invention is to provide an encoding apparatus and an encoding method that can suppress the amount of data and the degree of deterioration in quality after encoding while suppressing the expansion of a circuit scale.

본 발명의 일 측면에 의하면, 부호화부, 누적 부호량 산출부, 및 판정부를 포함한 부호화 장치가 제공될 수 있다.According to an aspect of the present invention, an encoding apparatus including an encoder, an accumulated code amount calculator, and a determiner may be provided.

상기 부호화부는 부호화 대상 데이터를 구성하는 복수의 영역들을 순차적으로 부호화한다.The encoder sequentially encodes a plurality of regions constituting encoding target data.

상기 누적 부호량 산출부는, 상기 부호화부에 의한 부호화가 이루어진 하나 또는 복수의 영역들의 부호화 데이터의 크기의 누적값인 누적 부호량을 산출한다.The cumulative code amount calculating unit calculates a cumulative code amount which is a cumulative value of the size of encoded data of one or a plurality of regions in which encoding by the encoder is performed.

상기 판정부는 상기 누적 부호량과 문턱 값의 관계를 판정한다.The determination unit determines the relationship between the cumulative code amount and a threshold value.

여기에서 상기 부호화부는, Here, the encoder is,

가역ㆍ가변길이 부호화에 의해 부호화가 수행되고 있을 때에 상기 판정부에 의해 상기 누적 부호량이 상기 문턱 값보다 크다고 판정된 경우, 상기 부호화부에 의해 부호화가 이루어진 하나 또는 복수의 영역들의 다음 영역에 대하여 비가역ㆍ동일길이 부호화에 의한 부호화를 수행한다.When the encoding unit determines that the cumulative code amount is larger than the threshold value when encoding is being performed by reversible variable length coding, irreversible to the next region of one or a plurality of regions encoded by the encoding unit. Perform encoding by the same length encoding.

이러한 구성에 의하면, 누적 부호량이 문턱 값을 초과한 경우, 부호화를 수행한 영역의 다음 영역에 대한 부호화를 가역ㆍ가변길이 부호화에서 비가역ㆍ동일길이 부호화로 변경된다. 따라서, 부호화를 행한 영역의 다음 영역에 대한 부호화 방식만 변경되므로, 부호화 후의 데이터를 유지하는 버퍼가 필요 없고, 상대적으로 작은 회로 규모에 의하여 적절한 부호화가 수행될 수 있다. According to such a structure, when the cumulative code amount exceeds the threshold, the coding for the next area of the region where the encoding is performed is changed from reversible / variable length coding to irreversible / same length coding. Therefore, since only the encoding scheme for the next region of the region to be encoded is changed, a buffer for holding the data after encoding is not necessary, and appropriate encoding can be performed by a relatively small circuit scale.

바람직하게는, 상기 부호화부는, Preferably, the encoder,

가역ㆍ가변길이 부호화에 의해 부호화가 수행되고 있을 때에 상기 판정부에 의해 상기 누적 부호량이 상기 문턱 값보다 크지 않다고 판정된 경우, When it is determined by the determining unit that the cumulative code amount is not larger than the threshold value when encoding is being performed by reversible variable length coding,

상기 부호화부에 의해 부호화가 이루어진 하나 또는 복수의 영역들의 다음 영역에 대하여 가역ㆍ가변길이 부호화에 의한 부호화를 계속 수행한다.Encoding by reversible / variable length encoding is continuously performed on the next region of one or a plurality of regions encoded by the encoder.

따라서, 부호화 후의 데이터 양이 상기 문턱 값보다 크지 않은 동안에 화질이 열화되지 않고 적절히 유지될 수 있다.Therefore, the image quality can be properly maintained without deterioration while the amount of data after encoding is not larger than the threshold value.

바람직하게는, 상기 부호화부는, Preferably, the encoder,

비가역ㆍ동일길이 부호화에 의해 부호화가 수행되고 있을 때에 상기 판정부에 의해 상기 누적 부호량이 상기 문턱 값보다 적다고 판정된 경우, When it is determined that the cumulative code amount is smaller than the threshold value when the encoding is being performed by irreversible and equal length encoding,

상기 부호화부에 의해 부호화가 이루어진 하나 또는 복수의 영역들의 다음 영역에 대하여 가역ㆍ가변길이 부호화에 의한 부호화를 수행한다.The encoding unit performs encoding by reversible variable length coding on the next region of one or a plurality of regions encoded by the encoding unit.

따라서, 부호화 후의 데이터 양이 상기 문턱 값을 넘지 않는 동안에 화질이 열화되지 않고 적절히 유지될 수 있다.Therefore, the image quality can be properly maintained without deterioration while the amount of data after encoding does not exceed the threshold value.

바람직하게는, 상기 부호화부는, Preferably, the encoder,

비가역ㆍ동일길이 부호화에 의해 부호화가 수행되고 있을 때에 상기 판정부에 의해 상기 누적 부호량이 상기 문턱 값보다 적지 않다고 판정된 경우, When it is determined that the cumulative code amount is not less than the threshold value when the encoding is being performed by irreversible and equal length encoding,

상기 부호화부에 의해 부호화가 이루어진 하나 또는 복수의 영역들의 다음 영역에 대하여 비가역ㆍ동일길이 부호화에 의한 부호화를 계속 수행한다. Encoding by irreversible and equal length encoding is continuously performed on the next region of one or a plurality of regions encoded by the encoder.

따라서, 부호화 후의 데이터 양이 상기 문턱 값보다 적지 않은 동안에 부호화 후의 데이터 양의 증가가 억제될 수 있다.Therefore, an increase in the amount of data after encoding can be suppressed while the amount of data after encoding is not less than the threshold value.

바람직하게는, 상기 부호화부는, 상기 부호화 대상 데이터를 구성하는 복수의 영역들에 대한 부호화를 시작함에 있어서, 상기 부호화 대상 데이터의 선두 영역에 대하여 가역ㆍ가변길이 부호화를 수행한다. 이러한 구성에 의하면, 부호화를 시작하고 나서 부호화 후의 데이터 양이 문턱 값보다 커질 때까지, 화질이 열화되지 않고 적절히 유지될 수 있다.Preferably, the encoding unit performs reversible variable-length encoding on the head region of the encoding target data when starting encoding of a plurality of regions constituting the encoding target data. According to this configuration, the image quality can be properly maintained without deterioration until the amount of data after encoding is greater than the threshold value after starting the encoding.

바람직하게는, 상기 판정부는, 각 영역에 대한 부호화가 종료될 때마다 상기 누적 부호량과 상기 문턱 값의 관계를 판정한다. 이러한 구성에 의하면, 부호화 대상 데이터를 구성하는 영역 단위로 다음 영역에 대한 부호화의 방식을 판단할 수 있기 때문에, 부호화 후의 데이터 양 및 화질 열화의 정도를 억제하기 위한 동작을 정밀하게 행할 수 있다.Preferably, the determination unit determines the relationship between the cumulative code amount and the threshold value whenever encoding for each region is finished. According to such a structure, since the method of encoding with respect to the next area | region can be judged by the area unit which comprises encoding object data, operation | movement for suppressing the amount of data after encoding, and the grade of image quality deterioration can be performed precisely.

한편, 본 발명의 또 다른 측면에 의하면, On the other hand, according to another aspect of the present invention,

부호화 대상 데이터를 구성하는 복수의 영역들을 순차적으로 부호화하는 단계, Sequentially encoding a plurality of regions constituting encoding target data;

부호화가 이루어진 하나 또는 복수의 영역들의 부호화 데이터의 크기의 누적값인 누적 부호량을 산출하는 단계, Calculating a cumulative code amount which is a cumulative value of the size of encoded data of one or a plurality of regions in which encoding is performed;

상기 누적 부호량과 문턱 값의 관계를 판정하는 단계를 포함하고, Determining a relationship between the cumulative code amount and a threshold value;

가역ㆍ가변길이 부호화에 의해 부호화가 행해지고 있을 때에 상기 누적 부호량이 상기 문턱 값보다 크다고 판정된 경우, When it is determined that the cumulative code amount is larger than the threshold value when encoding is performed by reversible variable length coding,

부호화가 이루어진 하나 또는 복수의 영역들의 다음 영역에 대하여 비가역ㆍ동일길이 부호화에 의한 부호화를 수행한다.Encoding by irreversible and equal length encoding is performed on the next region of one or a plurality of regions in which encoding has been performed.

이러한 방법에 의하면, 누적 부호량이 문턱 값을 초과한 경우, 부호화를 수행한 영역의 다음 영역에 대한 부호화를 가역ㆍ가변길이 부호화에서 비가역ㆍ동일길이 부호화로 변경된다. 따라서, 부호화를 행한 영역의 다음 영역에 대한 부호화 방식만 변경되므로, 부호화 후의 데이터를 유지하는 버퍼가 필요 없고, 상대적으로 작은 회로 규모에 의하여 적절한 부호화가 수행될 수 있다. According to this method, when the cumulative code amount exceeds the threshold value, the coding for the next area of the region where the encoding is performed is changed from reversible / variable length coding to irreversible / same length coding. Therefore, since only the encoding scheme for the next region of the region to be encoded is changed, a buffer for holding the data after encoding is not necessary, and appropriate encoding can be performed by a relatively small circuit scale.

본 발명의 실시예에 의하면, 회로 규모의 확대를 억제하면서 부호화 후의 데이터 양 및 화질 열화의 정도를 억제하는 것이 가능하다.According to the embodiment of the present invention, it is possible to suppress the amount of data after encoding and the degree of deterioration in image quality while suppressing the expansion of the circuit scale.

도 1은 본 발명의 바람직한 실시예의 부호화 장치를 보여주는 블록도이다.
도 2 내지 5는 도 1의 부호화 장치의 동작을 설명하기 위한 도면들이다.
도 6은 도 1의 부호화 장치의 동작의 흐름을 보여주는 흐름도이다.
1 is a block diagram showing an encoding apparatus of a preferred embodiment of the present invention.
2 to 5 are diagrams for describing an operation of the encoding apparatus of FIG. 1.
6 is a flowchart illustrating an operation of the encoding apparatus of FIG. 1.

하기의 설명 및 첨부된 도면은 본 발명에 따른 동작을 이해하기 위한 것이며, 본 기술 분야의 통상의 기술자가 용이하게 구현할 수 있는 부분은 생략될 수 있다. The following description and the annexed drawings are for understanding the operation according to the present invention, and a part that can be easily implemented by those skilled in the art may be omitted.

또한 본 명세서 및 도면은 본 발명을 제한하기 위한 목적으로 제공된 것은 아니고, 본 발명의 범위는 청구의 범위에 의하여 정해져야 한다. 본 명세서에서 사용된 용어들은 본 발명을 가장 적절하게 표현할 수 있도록 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다.In addition, the specification and drawings are not provided to limit the invention, the scope of the invention should be defined by the claims. Terms used in the present specification should be interpreted as meanings and concepts corresponding to the technical spirit of the present invention so as to best express the present invention.

이하 첨부된 도면을 참조하면서 본 발명의 적합한 실시예에 대하여 상세하게 설명한다. 또한, 본 명세서 및 도면에 있어서, 실질적으로 동일한 기능 구성을 갖는 구성 요소에 대하여 동일한 부호를 부여함으로써 중복 설명을 생략한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In addition, in this specification and drawing, duplication description is abbreviate | omitted by attaching | subjecting the same code | symbol about the component which has substantially the same functional structure.

도 1은 본 발명의 바람직한 실시예의 부호화 장치(10)를 보여준다. 1 shows an encoding device 10 of a preferred embodiment of the present invention.

도 1을 참조하면, 본 실시예의 부호화 장치(10)는 차분 산출부(110), 제1 선택부(120), 비가역ㆍ동일길이 부호화부(130), 가역ㆍ가변길이 부호화부(140), 누적 부호량 산출부(150), 판정부(160), 제2 선택부(170) 및 기억부(180)를 포함하고 있다. 부호화 장치(10)에는 영상을 구성하는 복수의 화소 데이터가 순차적으로 입력된다.Referring to FIG. 1, the encoding device 10 of the present embodiment includes a difference calculating unit 110, a first selecting unit 120, an irreversible and equal length encoding unit 130, a reversible and variable length encoding unit 140, The cumulative code amount calculation unit 150, the determination unit 160, the second selection unit 170, and the storage unit 180 are included. The encoding apparatus 10 sequentially inputs a plurality of pixel data constituting an image.

차분 산출부(110)는, 입력된 화소 데이터와 해당 화소의 인접 화소 데이터의 차분 값을 산출한다. 화소 데이터는 화소가 갖는 데이터(예를 들어, 화소값)이다. 이하에서는, 인접 화소 데이터가 입력된 화소 데이터의 하나 전의 화소 데이터라고 하여 설명을 계속하지만, 인접 화소 데이터는 입력된 화소 데이터에 대하여 어떤 방향으로 인접하는 화소 데이터일 수도 있다. 차분 산출부(110)에 의해 산출된 차분 값은 순차적으로 제1 선택부(120)에 출력된다.The difference calculating unit 110 calculates a difference value between the input pixel data and the adjacent pixel data of the pixel. Pixel data is data (for example, pixel values) that a pixel has. Hereinafter, description will be continued as the pixel data before the adjacent pixel data is one of the input pixel data, but the adjacent pixel data may be pixel data adjacent to the input pixel data in any direction. The difference values calculated by the difference calculator 110 are sequentially output to the first selector 120.

제1 선택부(120)는, 판정부(160)로부터 출력되는 판정 결과에 기초하여 차분 산출부(110)에 의해 산출된 차분 값을 비가역ㆍ동일길이 부호화부(130) 또는 가역ㆍ가변길이 부호화부(140)에 대하여 선택적으로 출력한다. 또한, 여기에서는 비가역ㆍ동일길이 부호화부(130) 및 가역ㆍ가변길이 부호화부(140)를 배타적으로 동작시키기 위해 제1 선택부(120)가 설치되어 있지만, 비가역ㆍ동일길이 부호화부(130) 및 가역ㆍ가변길이를 병렬적으로 동작시키는 경우에는 제1 선택부(120)가 설치되지 않을 수도 있다.The first selector 120 performs irreversible / same-length encoder 130 or reversible / variable-length encoding on the difference value calculated by the difference calculator 110 based on the determination result output from the determiner 160. Output to the section 140 selectively. In addition, although the first selection unit 120 is provided here to operate the irreversible and equal length encoder 130 and the reversible and variable length encoder 140 exclusively, the irreversible and equal length encoder 130 is provided. And the first selector 120 may not be provided when the reversible and variable lengths are operated in parallel.

비가역ㆍ동일길이 부호화부(130)는, 양자화부(131) 및 동일길이 부호화부(132)를 구비하고 있고, 입력되는 각 차분 값에 대하여 비가역이면서 동일길이의 부호화를 행한다. The irreversible and equal length encoding unit 130 includes a quantization unit 131 and an equal length encoding unit 132, and performs non-inverse and equal length encoding on each difference value input.

양자화부(131)는 차분 값을 그 차분 값의 비트 수보다 적은 비트 수의 데이터로 양자화한다. The quantization unit 131 quantizes the difference value into data having a smaller number of bits than the number of bits of the difference value.

동일길이 부호화부(132)는, 양자화부(131)에 의해 양자화된 데이터에 대하여 동일길이 부호를 할당함으로써, 양자화된 데이터를 부호화한다. 동일길이 부호화부(132)는 부호화한 데이터를 제2 선택부(170)에 출력한다.The equal length encoding unit 132 encodes the quantized data by assigning equal length codes to the data quantized by the quantization unit 131. The equal length encoder 132 outputs the encoded data to the second selector 170.

가역ㆍ가변길이 부호화부(140)는, 가변길이 부호화부(141)를 구비하고, 입력되는 각 차분 값에 대하여 가역이면서 가변길이의 부호화를 행한다. 가변길이 부호화부(141)는 차분 값에 대하여 가변길이 부호(예를 들어, 허프만 부호 등)를 할당함으로써 차분 값을 부호화한다. 가변길이 부호화부(141)는, 부호화한 데이터를 제2 선택부(170)에 출력한다. The reversible variable length coding unit 140 includes a variable length coding unit 141 and performs reversible and variable length coding on each difference value input. The variable length encoder 141 encodes the difference value by assigning a variable length code (for example, a Huffman code) to the difference value. The variable length encoder 141 outputs the encoded data to the second selector 170.

비가역ㆍ동일길이 부호화부(130) 및 가역ㆍ가변길이 부호화부(140) 각각은 부호화부에 포함된다. 여기에서는, 비가역ㆍ동일길이 부호화부(130) 및 가역ㆍ가변길이 부호화부(140) 각각에 의한 부호화는 상기 차분 값에 대하여 수행되지만, 부호화 대상은 인접 데이터와의 차분 값과 다른 대상일 수도 있다. 물론, 데이터 분포에 치우침이 있는 데이터를 부여하는 것이 본 실시예에서 바람직하다.Each of the irreversible and equal length encoder 130 and the reversible and variable length encoder 140 is included in the encoder. Here, the encoding by each of the irreversible and equal length encoding unit 130 and the reversible and variable length encoding unit 140 is performed on the difference value, but the encoding target may be an object different from the difference value with the adjacent data. . Of course, it is preferable in this embodiment to impart biased data to the data distribution.

또한, 비가역ㆍ동일길이 부호화부(130) 및 가역ㆍ가변길이 부호화부(140) 각각에 의한 부호화는 영상을 구성하는 복수의 영역들 단위로 수행된다. 이하에서는 영상을 구성하는 라인(예를 들어, 영상을 구성하는 수평 방향의 라인)을 영역의 예로서 사용하여 설명을 하는데, 영역은 다양한 방식으로써 구획될 수 되고, 영역의 크기나 영역의 위치는 특별히 한정되지 않는다.In addition, encoding by each of the irreversible and equal length encoder 130 and the reversible and variable length encoder 140 is performed in units of a plurality of regions constituting an image. In the following description, a line constituting the image (for example, a horizontal line constituting the image) is used as an example of the region, and the region can be partitioned in various ways, and the size of the region or the position of the region is It is not specifically limited.

제2 선택부(170)는, 판정부(160)로부터 출력되는 판정 결과에 기초하여, 비비가역ㆍ동일길이 부호화부(130) 또는 가역ㆍ가변길이 부호화부(140)로부터 입력된 부호화 데이터를 선택적으로 출력한다. 즉, 제2 선택부(170)는, 비가역ㆍ동일길이 부호화부(130) 또는 가역ㆍ가변길이 부호화부(140)의 선택을 제1 선택부(120)에 의한 선택에 따라 수행한다. 제2 선택부(170)에 의해 출력된 부호화 데이터는 누적 부호량 산출부(150) 및 기억부(180)에 출력된다.The second selector 170 selectively selects the coded data input from the non-invertible / same length encoding unit 130 or the reversible / variable length encoding unit 140 based on the determination result output from the determination unit 160. Will output That is, the second selector 170 selects the irreversible and equal length encoder 130 or the reversible and variable length encoder 140 according to the selection by the first selector 120. The coded data output by the second selection unit 170 is output to the cumulative code amount calculation unit 150 and the storage unit 180.

누적 부호량 산출부(150)는, 비가역ㆍ동일길이 부호화부(130) 또는 가역ㆍ가변길이 부호화부(140)에 의한 부호화가 이루어진 하나 또는 복수의 라인들의 부호화 데이터의 크기의 누적값인 누적 부호량을 산출한다. 예를 들어, 누적 부호량 산출부(150)는, 제2 선택부(170)로부터 제j+1 라인의 부호화 데이터가 입력된 경우, 이 제j+1 라인의 부호화 데이터의 크기를 제1 라인부터 제j 라인까지의 부호화 데이터의 크기의 누적값에 가산하면 된다. 또한, 이하에서는, 부호화된 데이터(부호화 데이터)의 크기가 부호량으로 명명될 것이다.The cumulative code amount calculating unit 150 is a cumulative code that is a cumulative value of the magnitude of encoded data of one or a plurality of lines in which the encoding is performed by the irreversible and equal length encoding unit 130 or the reversible and variable length encoding unit 140. Calculate the quantity. For example, when the encoded data of the j + 1th line is input from the second selector 170, the cumulative code amount calculating unit 150 determines the size of the encoded data of the j + 1th line in the first line. It is sufficient to add to the cumulative value of the magnitude | size of the coded data from -j to line j. In addition, hereinafter, the size of the encoded data (encoded data) will be named as the code amount.

판정부(160)는 누적 부호량과 문턱 값의 관계를 판정한다. 여기에서, 예를 들어 제1 라인의 부호량에 대한 판정에 사용되는 문턱 값을 T1이라고 하면, 제j 라인의 부호량에 대한 판정에 사용되는 문턱 값은 T1에 j를 곱한 값으로 할 수 있다. 이 경우에 이용되는 문턱 값은 상한 누적 부호량에 상당한다. 그러나, 예를 들어, 판정부(160)는 누적 부호량 대신에 하나 또는 복수의 라인의 부호량의 평균값인 평균 부호량을 이용해도 된다. 이 경우에 이용되는 문턱 값은 상한 평균 부호량에 상당한다.The determination unit 160 determines the relationship between the cumulative code amount and the threshold value. Here, for example, if the threshold value used for the determination of the code amount of the first line is T1, the threshold value used for the determination of the code amount of the jth line can be made by multiplying T1 by j. . The threshold value used in this case corresponds to the upper limit cumulative code amount. However, for example, the determining unit 160 may use an average code amount that is an average value of the code amounts of one or a plurality of lines instead of the cumulative code amount. The threshold value used in this case corresponds to the upper limit average code amount.

판정부(160)에 의한 판정이 이루어지는 주기는 특별히 한정되지 않는다. 예를 들어, 1 라인에 대한 부호화가 행해질 때마다 판정이 이루어질 수 있고, 0.5 라인 또는 2 라인들에 대한 부호화가 행해질 때마다 판정이 이루어질 수도 있다. 판정부(160)에 의해 출력된 판정 결과는 제1 선택부(120), 제2 선택부(170) 및 기억부(180)에 출력된다. 또한, 이하에서는 문턱 값의 예로서 상한 누적 부호량이 이용되어 설명된다.The period in which the determination by the determination unit 160 is made is not particularly limited. For example, a determination may be made every time encoding for one line is performed, and a determination may be made every time encoding for 0.5 line or two lines is performed. The determination result output by the determination unit 160 is output to the first selection unit 120, the second selection unit 170, and the storage unit 180. In the following description, the upper limit cumulative code amount is used as an example of a threshold value.

기억부(180)는, 판정부(160)로부터 입력된 판정 결과 및 제2 선택부(170)로부터 입력된 부호화 데이터를 관련지어 라인마다 기억할 수 있다. 기억부(180)의 종류는 특별히 한정되지 않지만, 예를 들어 디램(DRAM : Dynamic Random Access Memory)일 수 있고, 다른 기억 매체일 수도 있다. 기억부(180)에 의해 기억된 부호화 데이터는, 예를 들어 도시되지 않은 복호화(decoding) 장치에 의해 복호화될 수 있다. 복호화하는 경우, 판정 결과에 따른 복호 방식으로 부호화 데이터를 라인마다 복호화하면 된다.The storage unit 180 can store the determination result input from the determination unit 160 and the encoded data input from the second selection unit 170 in association with each line. The type of the storage unit 180 is not particularly limited, but may be, for example, a dynamic random access memory (DRAM) or another storage medium. The encoded data stored by the storage unit 180 can be decoded by, for example, a decoding device (not shown). In the case of decoding, the encoded data may be decoded for each line by a decoding method according to the determination result.

이하에서는 부호화 장치(10)의 동작에 대하여 상세하게 설명한다. 도 2 내지 5는 본 실시예에 관한 부호화 장치(10)의 기능을 설명하기 위한 도면이다. 특히, 도 2에는 제1 라인에 대하여 이루어지는 부호화의 예에 대하여 나타나 있다. 도 2에 도시된 바와 같이, 제1 라인에 대하여 가역ㆍ가변길이 부호화부(140)에 의하여 가역ㆍ가변길이 부호화가 수행된다. 상한 누적 부호량은 부호화 전의 데이터 양과 같이 설정되어도 되지만, 부호화 전의 데이터 양과 다른 데이터 양으로 설정되어도 된다. 예를 들어, 12 비트들(bits)의 화소 데이터가 적용되고 2,048 개의 화소들에 의해 1 라인이 구성되어 있는 경우, 12 × 2,048 = 24,576 비트들(bits)이 1 라인에 대한 상한 누적 부호량으로서 설정되어도 된다.Hereinafter, the operation of the encoding device 10 will be described in detail. 2 to 5 are diagrams for explaining the function of the encoding apparatus 10 according to the present embodiment. In particular, FIG. 2 shows an example of encoding performed on the first line. As shown in FIG. 2, the reversible variable length coding unit 140 performs reversible variable length coding on the first line. The upper limit cumulative code amount may be set as the data amount before encoding, or may be set to a data amount different from the data amount before encoding. For example, if 12 bits of pixel data are applied and one line is composed of 2,048 pixels, 12 × 2,048 = 24,576 bits are the upper limit cumulative code amount for one line. It may be set.

여기에서, 가역ㆍ가변길이 부호화에 의하여 부호화가 행해졌을 때, 판정부(160)에 의해 누적 부호량이 상한 누적 부호량보다 크지 않다고 판정된 경우에는, 부호화부에 의해 부호화가 이루어진 하나 또는 복수의 영역들의 다음 영역에 대하여 가역ㆍ가변길이 부호화부(140)에 의한 부호화가 계속된다. 도 2에 도시된 예에서는, 제1 라인에 대한 부호화가 이루어진 후의 누적 부호량이 상한 누적 부호량보다 크지 않기 때문에, 제2 라인에 대하여 계속해서 가역ㆍ가변길이 부호화부(140)에 의한 부호화가 수행된다.Here, when the encoding is performed by the reversible variable length coding, when it is determined by the determining unit 160 that the cumulative code amount is not greater than the upper limit cumulative code amount, one or a plurality of areas that are encoded by the coding unit The encoding by the reversible / variable length encoding unit 140 is continued for the next area of the field. In the example shown in FIG. 2, since the cumulative code amount after encoding on the first line is not larger than the upper limit cumulative code amount, encoding by the reversible variable length coding unit 140 is performed continuously on the second line. do.

이후, j-1(j는 정수) 라인까지 부호화가 끝난 시점에서 누적 부호량이 상한 누적 부호량보다 크지 않은 경우, 제j 라인에 대하여 가역ㆍ가변길이 부호화부(140)에 의한 부호화가 수행된다. Subsequently, if the cumulative code amount is not greater than the upper limit cumulative code amount at the end of the encoding up to the j-1 (j is an integer) line, the reversible / variable length coding unit 140 performs encoding on the jth line.

도 3은 제j 라인에 대하여 이루어지는 부호화의 예를 보여준다.3 shows an example of encoding performed on the j-th line.

여기에서, 가역ㆍ가변길이 부호화에 의해 부호화가 행해졌을 때에 판정부(160)에 의해 누적 부호량이 상한 누적 부호량보다 크다고 판정된 경우, 부호화부에 의해 부호화가 이루어진 하나 또는 복수의 영역들의 다음 영역에 대하여 비가역ㆍ동일길이 부호화부(130)에 의한 부호화가 수행된다. 도 3에 도시된 예에서는, 제j 라인에 대한 부호화가 이루어진 후의 누적 부호량이 상한 누적 부호량을 초과하고 있기 때문에, 제j+1 라인에 대하여 비가역ㆍ동일길이 부호화부(130)에 의한 부호화가 이루어진다.Here, when it is determined by the determining unit 160 that the cumulative code amount is larger than the upper limit cumulative code amount when the encoding is performed by reversible variable length coding, the next area of one or a plurality of areas that are encoded by the encoding unit. Encoding is performed by the irreversible and equal length encoding unit 130 with respect to. In the example shown in FIG. 3, since the cumulative code amount after the encoding on the j-th line has been exceeded the upper limit cumulative code amount, the encoding by the irreversible / same length encoding unit 130 with respect to the j + 1th line is performed. Is done.

비가역ㆍ동일길이 부호화부(130)에 의한 부호화에서는, 부호화 전의 데이터가 압축되기 때문에(예를 들어, 12 비트들(bits)의 데이터가 10 비트들(bits)의 데이터로 압축되기 때문에), 어떤 누적 부호량이 상한 누적 부호량을 초과하지 않게 된다. In the encoding by the irreversible and equal length encoding unit 130, since the data before encoding is compressed (for example, since 12 bits of data are compressed into 10 bits of data), The accumulated code amount does not exceed the upper limit accumulated code amount.

도 4는 제j+1 라인에 대하여 이루어지는 부호화의 예를 보여준다.4 shows an example of encoding performed on a j + 1th line.

여기에서, 비가역ㆍ동일길이 부호화에 의해 부호화가 행해졌을 때, 판정부(160)에 의해 누적 부호량이 상한 누적 부호량보다 적지 않다고 판정된 경우, 부호화부에 의해 부호화가 이루어진 하나 또는 복수의 영역들의 다음 영역에 대하여 비가역ㆍ동일길이 부호화부(130)에 의한 부호화가 계속된다. 도 4에 도시된 예에서는, 제j+1 라인에 대한 부호화가 이루어진 후의 누적 부호량이 상한 누적 부호량보다 적지 않기 때문에, 제j+2 라인에 대하여 비가역ㆍ동일길이 부호화부(130)에 의하여 부호화가 수행된다.Here, when encoding is performed by irreversible and equal length encoding, when it is determined by the determining unit 160 that the cumulative code amount is not less than the upper limit cumulative code amount, one or a plurality of regions of which encoding is performed by the encoding unit The encoding by the irreversible and equal length encoding unit 130 is continued for the next area. In the example shown in FIG. 4, since the cumulative code amount after the encoding on the j + 1 line is made is not less than the upper limit cumulative code amount, the non-reciprocal and equal length encoding unit 130 encodes the j + 2 line. Is performed.

이후, k-1(k는 정수) 라인까지 부호화가 끝난 시점에서 누적 부호량이 상한 누적 부호량보다 적지 않은 경우, 제j+1 라인부터 제k 라인까지에 대하여 비가역ㆍ동일길이 부호화부(130)에 의한 부호화가 이루어진다. Then, if the cumulative code amount is not less than the upper limit cumulative code amount at the end of the encoding to k-1 (k is an integer) line, the irreversible and equal length coding unit 130 for the j + 1th line to the kth line is performed. Encoding is performed.

도 5는 제k 라인에 대하여 이루어지는 부호화의 예를 보여준다.5 shows an example of encoding performed on the k-th line.

여기에서, 비가역ㆍ동일길이 부호화에 의하여 부호화가 수행되었을 때에 판정부(160)에 의해 누적 부호량이 상한 누적 부호량보다 적다고 판정된 경우, 부호화부에 의해 부호화가 이루어진 하나 또는 복수의 영역들의 다음 영역에 대하여 가역ㆍ가변길이 부호화부(140)에 의한 부호화가 행해진다. 도 5에 도시된 예에서는, 제k 라인에 대한 부호화가 이루어진 후의 누적 부호량이 상한 누적 부호량을 초과하지 않기 때문에, 제k+1 라인에 대하여 가역·가변길이 부호화부(140)에 의한 부호화가 이루어진다.Here, when it is determined by the determining unit 160 that the cumulative code amount is less than the upper limit cumulative code amount when the encoding is performed by irreversible and equal length encoding, the next one of the one or more regions where the encoding is performed by the encoding unit The region is encoded by the reversible / variable length encoding unit 140. In the example shown in FIG. 5, since the cumulative code amount after the encoding for the kth line has been performed does not exceed the upper limit cumulative code amount, the encoding by the reversible / variable length coding unit 140 is performed for the k + 1th line. Is done.

가역·가변길이 부호화부(140)에 의한 부호화에서는, 부호화 전의 데이터가 증가될 가능성이 있기 때문에, 어떤 누적 부호량이 상한 누적 부호량을 초과할 가능성이 있다. 그 경우에는, 도 3을 이용하여 설명한 바와 같이, 부호화가 이루어진 하나 또는 복수의 영역들의 다음 영역에 대하여 비가역ㆍ동일길이 부호화부(130)에 의한 부호화가 행해지면 된다.In the encoding by the reversible variable length coding unit 140, since the data before encoding may increase, there is a possibility that a certain cumulative code amount exceeds the upper limit cumulative code amount. In that case, as described with reference to FIG. 3, the non-reciprocal and equal length encoding unit 130 may perform encoding on the next region of one or a plurality of regions in which encoding has been performed.

이상 설명된 바와 같이, 본 실시예의 부호화 장치(10)는, 누적 부호량이 상한 누적 부호량을 넘는 것을 일시적으로 허용한다. 그러나, 본 실시예의 부호화 장치(10)는, 누적 부호량이 상한 누적 부호량을 넘는 시점에서 비가역ㆍ동일길이 부호화를 다음 라인에 적용함으로써, 누적 부호량을 상한 누적 부호량 이하로 낮추는 것이 가능하다.As described above, the encoding device 10 of the present embodiment temporarily allows the cumulative code amount to exceed the upper limit cumulative code amount. However, in the encoding device 10 of the present embodiment, it is possible to lower the cumulative code amount to be less than or equal to the upper limit cumulative code amount by applying irreversible and equal length encoding to the next line when the cumulative code amount exceeds the upper limit cumulative code amount.

도 6은 부호화 장치(10)의 동작의 흐름을 도시한 흐름도이다. 부호화 장치(10)의 동작은, 누적 부호량이 초기화되고 상한 누적 부호량으로 값이 설정된 상태에서 시작된다. 우선, 제1 선택부(120)는 선두 라인의 화소 데이터를 가역·가변길이 부호화부(140)에 출력한다. 가역ㆍ가변길이 부호화부(140)는 입력된 라인의 화소 데이터에 대하여 가역ㆍ가변길이 부호화를 행하고(단계 S1), 누적 부호량 산출부(150)는 가역·가변길이 부호화가 이루어진 데이터의 부호량을 누적 부호량에 가산한다(단계 S2).6 is a flowchart showing the flow of operation of the encoding apparatus 10. The operation of the encoding device 10 starts with the accumulated code amount initialized and the value set to the upper limit accumulated code amount. First, the first selector 120 outputs pixel data of the first line to the reversible variable length encoder 140. The reversible variable length coding unit 140 performs reversible variable length coding on the pixel data of the input line (step S1), and the cumulative code amount calculating unit 150 performs a code amount of data subjected to reversible variable length coding. Is added to the cumulative code amount (step S2).

가역·가변길이 부호화부(140)는, 해당 라인에 대한 가역ㆍ가변길이 부호화가 종료되지 않은 경우(단계 S3에서 "아니오"의 경우), 단계 S1로 되돌아가 해당 라인에 대한 가역ㆍ가변길이 부호화를 계속 수행한다(단계 S1). 한편, 가역ㆍ가변길이 부호화부(140)는, 해당 라인에 대한 가역ㆍ가변길이 부호화가 종료된 경우(단계 S3에서 "예"의 경우), 동작을 단계 S4로 이행시킨다.If the reversible / variable length coding for the line is not finished (NO in step S3), the reversible / variable length coding unit 140 returns to step S1 and reversible / variable length coding for the line. Is continued (step S1). On the other hand, the reversible / variable length coding unit 140 transfers the operation to step S4 when the reversible / variable length coding for the line is finished (YES in step S3).

이어서, 판정부(160)는 누적 부호량과 상한 누적 부호량의 관계를 판정한다(단계 S4). 여기에서, 누적 부호량이 상한 누적 부호량보다 크지 않다고 판정부(160)에 의해 판정된 경우(단계 S4에서 "아니오"의 경우), 다음 라인에 대해서도 가역ㆍ가변길이 부호화가 계속되지만(단계 S1), 누적 부호량이 상한 누적 부호량보다 크다고 판정부(160)에 의해 판정된 경우에(단계 S4에서 "예"의 경우), 다음 라인에 대하여 비가역ㆍ동일길이 부호화부(130)에 의한 부호화가 행해진다(단계 S5). 누적 부호량 산출부(150)는, 비가역ㆍ동일길이 부호화가 이루어진 데이터의 부호량을 누적 부호량에 가산한다(단계 S6).Next, the determination unit 160 determines the relationship between the cumulative code amount and the upper limit cumulative code amount (step S4). Here, when it is determined by the determining unit 160 that the cumulative code amount is not greater than the upper limit cumulative code amount (NO in step S4), reversible / variable length coding is continued for the next line (step S1). In the case where it is determined by the determination unit 160 that the cumulative code amount is greater than the upper limit cumulative code amount (YES in step S4), the encoding by the irreversible / same length encoding unit 130 is performed on the next line. (Step S5). The cumulative code amount calculation unit 150 adds the code amount of data subjected to irreversible and equal length encoding to the cumulative code amount (step S6).

비가역·동일길이 부호화부(130)는, 해당 라인에 대한 비가역ㆍ동일길이 부호화가 종료되지 않은 경우(단계 S7에서 "아니오"의 경우), 단계 S5로 되돌아가 해당 라인에 대한 비가역ㆍ동일길이 부호화를 계속한다(단계 S5). 한편, 비가역ㆍ동일길이 부호화부(130)는, 해당 라인에 대한 비가역ㆍ동일길이 부호화가 종료된 경우(단계 S7에서 "예"의 경우), 동작을 단계 S8로 이행시킨다.If the irreversible / same-length encoding for the line is not finished (NO in step S7), the irreversible / same-length encoding unit 130 returns to step S5 and irreversible / same-length encoding for the line. Continue (step S5). On the other hand, the irreversible / same length encoding unit 130 transfers the operation to step S8 when the irreversible / same length encoding for the line is completed (YES in step S7).

이어서, 판정부(160)는 누적 부호량과 상한 누적 부호량의 관계를 판정한다(단계 S8). 여기에서, 누적 부호량이 상한 누적 부호량보다 적지 않다고 판정부(160)에 의해 판정된 경우(단계 S8에서 "아니오"의 경우), 다음 라인에 대해서도 비가역ㆍ동일길이 부호화가 계속되지만(단계 S5), 누적 부호량이 상한 누적 부호량보다 적다고 판정부(160)에 의해 판정된 경우(단계 S8에서 "예"의 경우), 다음 라인에 대하여 가역ㆍ가변길이 부호화부(140)에 의한 부호화가 수행된다(단계 S1).Next, the determination unit 160 determines the relationship between the cumulative code amount and the upper limit cumulative code amount (step S8). Here, when it is determined by the determining unit 160 that the cumulative code amount is not less than the upper limit cumulative code amount (NO in step S8), irreversible / same length coding is continued for the next line (step S5). In the case where it is determined by the determination unit 160 that the cumulative code amount is less than the upper limit cumulative code amount (YES in step S8), the encoding is performed by the reversible variable length coding unit 140 for the next line. (Step S1).

이상으로 설명한 바와 같이, 본 실시예에 관한 부호화 장치(10)는, 부호화 대상 데이터를 구성하는 복수의 영역들을 순차적으로 부호화하는 부호화부와, 부호화부에 의한 부호화가 이루어진 하나 또는 복수의 영역들의 부호화 데이터의 크기의 누적값인 누적 부호량을 산출하는 누적 부호량 산출부와, 누적 부호량과 문턱 값의 관계를 판정하는 판정부를 구비한다.As described above, the encoding apparatus 10 according to the present embodiment includes an encoding unit for sequentially encoding a plurality of regions constituting encoding target data, and encoding one or a plurality of regions in which encoding by the encoding unit is performed. A cumulative code amount calculating unit for calculating a cumulative code amount, which is a cumulative value of the size of data, and a judging unit for determining the relationship between the cumulative code amount and a threshold value.

또한, 부호화부는, 가역ㆍ가변길이 부호화에 의해 부호화가 수행되고 있을 때에 판정부에 의해 누적 부호량이 문턱 값보다 크다고 판정된 경우, 부호화부에 의해 부호화가 이루어진 하나 또는 복수의 영역들의 다음 영역에 대하여 비가역ㆍ동일길이 부호화에 의한 부호화를 행한다. 이러한 구성에 의하면, 부호화 후의 데이터를 유지하는 버퍼가 필요 없기 때문에, 회로 규모의 확대를 억제하면서 부호화 후의 데이터 양 및 화질 열화의 정도를 억제하는 것이 가능하다.In addition, when the encoding unit determines that the cumulative code amount is larger than the threshold value when the encoding unit is performing encoding by reversible / variable length encoding, the encoding unit may be applied to the next region of one or a plurality of regions encoded by the encoding unit. Coding is performed by irreversible and equal length coding. According to such a structure, since the buffer which hold | maintains the data after encoding is not needed, it is possible to suppress the magnitude | size of the data amount and quality deterioration after encoding, suppressing expansion of a circuit scale.

본 실시예에 관한 기술은 이미 개시되어 있는 선행 기술 문헌에 기재된 기술과는 다르다. 일본 특허 공개 제2006-303690호 공보(특허 문헌 1)에 개시된 기술은, 목표 압축률을 만족시키도록 가역 부호화와 비가역 부호화의 사이에서 부호화 방식을 전환한다는 점에서 본 실시예에 관한 기술과 관련성이 있다. 그러나, 특허문헌 1에 개시된 기술에 따르면, 데이터를 실제로 부호화하여 부호화 후의 데이터 양에 따라 그 데이터에 대하여 적용하는 부호화 방식을 판단할 필요가 있기 때문에, 부호화 후의 데이터를 유지하는 버퍼가 필요하게 되어 회로 규모가 커져버린다.The technique related to this embodiment is different from the technique described in the prior art document already disclosed. The technique disclosed in Japanese Patent Laid-Open No. 2006-303690 (Patent Document 1) is related to the technique of this embodiment in that the coding scheme is switched between reversible coding and irreversible coding to satisfy a target compression ratio. . However, according to the technique disclosed in Patent Literature 1, it is necessary to determine the encoding scheme to be applied to the data according to the amount of data after the actual encoding of the data, so that a buffer for holding the data after the encoding is required. The scale grows.

또한, 특허 문헌 1에 개시된 기술에 따르면, 블록 단위로 디시티(DCT : Discrete Cosine Transform) 연산을 행하기 때문에 많은 라인 메모리들(7 ~ 15 개)이 부호화 및 복호화를 위하여 필요하게 된다. 또한, 특허 문헌 1에 개시된 기술에 따르면, 디시티(DCT) 연산의 복잡함에 의하여 회로 규모도 커져버린다. In addition, according to the technique disclosed in Patent Document 1, many line memories (7 to 15) are required for encoding and decoding because a discrete cosine transform (DCT) operation is performed on a block basis. In addition, according to the technique disclosed in Patent Document 1, the circuit scale also increases due to the complexity of the DCT operation.

일본 특허 공개 제2008-124969호 공보(특허 문헌 2)에 개시된 기술에서는, 데이터를 실제로 부호화하여 부호화 후의 데이터 양에 따라 그 데이터에 대하여 부호화 후의 데이터를 출력하는지를 판단할 필요가 있기 때문에, 부호화 후의 데이터를 유지하는 버퍼가 필요하게 되어 회로 규모가 커져 버린다. 개시 내용에 따르면, 64 X 64 화소들에 상응하는 버퍼들이 2 개 필요하게 되고, 이 2 개의 버퍼는 4,096 화소들의 라인 메모리 2 개에 상당하다. 또한, 특허 문헌 2에 개시된 기술에서는, 부호화 전의 데이터를 출력한 경우에는 데이터 양을 줄일 수 없다.In the technique disclosed in Japanese Unexamined Patent Application Publication No. 2008-124969 (Patent Document 2), it is necessary to judge whether data is actually encoded and whether or not the encoded data is output for the data according to the amount of data after encoding. A buffer is needed to keep the circuit scale large. According to the disclosure, two buffers corresponding to 64 X 64 pixels are required, which correspond to two line memories of 4,096 pixels. In addition, in the technique disclosed in Patent Document 2, when the data before encoding is output, the amount of data cannot be reduced.

본 실시예에 관한 기술에 따르면, 부호화 후의 데이터 양이 미리 설정된 문턱 값(예를 들어, 부호화 전의 데이터 양 이하로 설정된 값)을 넘지 않도록 가역 부호화와 비가역 부호화의 사이에서 부호화 방식을 전환하는 수법을 작은 회로 규모로 실현 가능하다. 따라서, 본 실시예에 관한 기술에 따르면, 회로 규모의 확대를 억제하면서 부호화 후의 데이터 양 및 화질 열화의 정도를 억제하는 것이 가능하다.According to the technique of this embodiment, a method of switching the coding scheme between reversible coding and irreversible coding so that the amount of data after encoding does not exceed a preset threshold value (for example, a value set to be equal to or less than the amount of data before encoding). It can be realized on a small circuit scale. Therefore, according to the technique according to the present embodiment, it is possible to suppress the degree of data amount and quality deterioration after encoding while suppressing the expansion of the circuit scale.

본 실시예에 관한 기술이 얻는 효과는, 예를 들어 이하에 나타낸 바와 같다. 우선, 제1 효과로서는, 주관 화질에 대한 영향을 최소한으로 억제하면서 상한 누적 부호량 이하로 누적 부호량을 억제하는 것이 가능하다는 점을 들 수 있다.The effect obtained by the technique concerning this Example is as showing below, for example. First, as the first effect, it is possible to suppress the cumulative code amount below the upper limit cumulative code amount while minimizing the influence on subjective picture quality.

본 실시예에 관한 기술에서는, 누적 부호량이 상한 누적 부호량을 넘지 않는 한 채용되는 부호화 방식은 가역ㆍ가변길이 부호화 방식 그대로이다. 여기에서, 누적 부호량이 상한 누적 부호량을 넘는 경우란, 예를 들어 인접 화소간의 차분 값의 빈도 분포를 취하였을 때에 차분 값이 영(0) 근방에 집중되지 않는 영상(확산을 가진 영상)으로서, 가변길이 부호 중에서 부호 길이가 긴 부호가 많이 선택되는 영상이 부호화되는 경우이다.In the technique according to the present embodiment, the coding method employed is the reversible / variable length coding method as long as the cumulative code amount does not exceed the upper limit cumulative code amount. Here, the case where the cumulative code amount exceeds the upper limit cumulative code amount is, for example, an image (image with diffusion) in which the difference value is not concentrated near zero when the frequency distribution of the difference value between adjacent pixels is taken. In this case, an image in which a code having a long code length is selected among the variable length codes is encoded.

이러한 영상은 무늬가 크게 변화하는 영역이 넓은 영상이나 잡음을 많이 포함한 영상 등이다. 따라서, 이러한 영상에 대하여 완만한 비가역ㆍ동일길이 부호화를 수행해도 주 화질에 대한 영향이 거의 없으므로, 부호량 억제를 위해 비가역ㆍ동일길이 부호화로 전환하는 것은 합리적이다.Such an image is an image having a large area where a pattern is greatly changed or an image containing a lot of noise. Therefore, even if a moderate irreversible and equal length coding is performed on such a video, there is almost no influence on the main picture quality. Therefore, it is reasonable to switch to irreversible and equal length coding to suppress a code amount.

그래서, 본 실시예에 관한 기술에서는, 열화가 눈에 띄기 쉬운 영상에 대하여 부호화를 행하는 경우에는 가역ㆍ가변길이 부호화를 가능한 유지한다. 한편, 본 실시예에 관한 기술에서는, 열화가 가시화되지 않을 영상에 대하여 부호화를 행하는 경우, 가역ㆍ가변길이 부호화 방식에서 비가역ㆍ동일길이 부호화 방식으로 부호화 방식을 전환하여 누적 부호량을 구하고, 목표가 되는 상한 누적 부호량 이하로 누적 부호량을 억제한다. 이에 의해, 주관 화질의 유지와 부호량 제어를 동시에 실현할 수 있다.Therefore, in the technique according to the present embodiment, reversible / variable length coding is maintained as much as possible when encoding is performed on a video that is prone to deterioration. On the other hand, in the technique according to the present embodiment, when encoding is performed on an image in which deterioration will not be visualized, the cumulative code amount is obtained by switching the encoding method from the reversible / variable length coding method to the irreversible and equal length coding method. The cumulative code amount is suppressed below the upper limit accumulated code amount. As a result, maintenance of subjective picture quality and code amount control can be simultaneously realized.

또한, 제2 효과로서는, 상한 누적 부호량(또는 상한 평균 부호량)을 자유롭게 설정할 수 있다는 점을 들 수 있다. 예를 들어, "부호화 후의 부호량이 부호화 전의 데이터 양을 넘지 않다"는 조건을 설정하고자 하는 경우, 누적 대상 화소들의 개수에 단위 화소의 데이터 비트 수를 곱하면, 그 곱셈 결과가 상한 누적 부호량으로 설정될 수 있다. 또한, 예를 들어 단위 화소의 데이터 비트 수가 12 비트들(bit)인 경우, "부호화 후의 부호량을 평균 11 비트들(bit) 이하로 압축한다"는 조건을 설정할 수도 있다. 이 경우에는 상한 평균 부호량을 비트들(bits)로써 설정하면 된다.The second effect is that the upper limit cumulative code amount (or the upper limit average code amount) can be freely set. For example, to set the condition that "the amount of code after encoding does not exceed the amount of data before encoding", the multiplication result is multiplied by the number of data bits of a unit pixel, and the multiplication result is the upper limit of the amount of code. Can be set. Further, for example, in the case where the number of data bits of the unit pixel is 12 bits, the condition "compresses the code amount after encoding to 11 bits or less on average" may be set. In this case, the upper limit average code amount may be set as bits.

상한 평균 부호량이 11 비트들(bits)로써 설정된 경우에는, 상한 평균 부호량이 12 비트들(bits)로써 설정된 경우에 비하여 가역ㆍ가변길이 부호화 후의 부호량이 상한 평균 부호량을 초과할 확률이 높아지므로, 부호화 방식으로서 비가역ㆍ동일길이 부호화 방식이 선택될 확률이 높아진다. 따라서, 사용자는 화질과 부호량의 균형을 고려한 후에 상한 평균 부호량을 설정하면 된다. When the upper limit average code amount is set to 11 bits, the probability that the code amount after reversible variable length coding exceeds the upper limit average code amount is higher than that when the upper limit average code amount is set to 12 bits. The probability that an irreversible and equal length coding method is selected as a coding method becomes high. Therefore, the user may set the upper limit average code amount after considering the balance between the image quality and the code amount.

물론, 상한 평균 부호량의 설정에 있어서, 정수 뿐만 아니라 소수(decimal)를 포함한 값 예를 들어, "10.5 비트들(bits)"이 설정될 수도 있다. 보다 상세하게 예를 들면, 1 라인이 2,048 화소들(pixel)인 경우, 1 라인의 상한 누적 부호량을 10.5 X 2,048 즉, 21,504 비트들(bits)로 설정하면, 1 화소 당 상한 평균 부호량이 10.5 비트들(bits)로 설정될 수 있다.Of course, in setting the upper average code amount, not only an integer but also a value including decimal, for example, "10.5 bits" may be set. More specifically, for example, when one line is 2,048 pixels, if the upper limit cumulative code amount of one line is set to 10.5 X 2,048, that is, 21,504 bits, the upper average code amount per pixel is 10.5. It can be set in bits.

또한, 제3 효과로서는, 라인 메모리나 버퍼가 필요 없어 작은 회로 규모로 실현하는 것이 가능하다는 점을 들 수 있다. 예를 들어, 특허 문헌 1에 개시된 기술에서는 블록 단위로의 처리가 전제이기 때문에, 수 내지 수십 개의 라인 메모리들이 부호화 및 복호화 각각에 필요하게 되지만, 본 실시예에 관한 기술에서는 예를 들어 1 라인마다 처리가 이루어지기 때문에 라인 메모리가 불필요하다.Moreover, as a 3rd effect, it is possible to implement | achieve on a small circuit scale, without requiring a line memory and a buffer. For example, in the technique disclosed in Patent Document 1, since the processing is performed on a block basis, several to tens of line memories are required for each of encoding and decoding, but in the technique according to the present embodiment, for example, every one line No line memory is needed because the processing takes place.

또한, 예를 들어, 특허 문헌 1에 개시된 기술 및 특허 문헌 2에 개시된 기술에서는, 부호화 대상의 데이터를 일단 부호화하여 부호화 후의 부호량이 목표값을 넘었는지를 판정하고, 판정 결과에 따라 부호화 완료된 데이터의 출력을 전환하고 있다. 이 때문에, 부호화 후의 데이터를 축적하기 위한 국부적(local) 버퍼가 필요하게 된다.For example, in the technique disclosed in Patent Literature 1 and the technique disclosed in Patent Literature 2, the data to be encoded is once encoded, and it is determined whether the code amount after encoding has exceeded the target value, and according to the determination result, The output is switching. For this reason, a local buffer for storing the encoded data is required.

한편, 본 실시예에 관한 기술은, 해당 라인을 부호화한 결과를 다음 라인의 부호화 방식에 반영시키는 방식을 채용하기 때문에, 부호화 완료된 데이터를 축적하기 위한 국부적(local) 버퍼도 필요 없게 된다. 예를 들어, 본 실시예에 관한 기술에서는 부호화 후의 부호량을 계측하기 위한 부호량 카운터를 준비하면 되고, 예를 들어 프레임 당 3 메가-화소들(Mpixel)의 영상 데이터를 부호화하는 경우, 1 라인 당 15-비트(15-bit)의 부호량 카운터가 필요하므로, 프레임 화면 전체에 대하여 26-비트(26-bit)의 부호량 카운터이면 충분하다. 즉, 상대적으로 매우 적은 규모의 회로가 사용된다.On the other hand, the technique according to the present embodiment adopts a method in which the result of encoding the corresponding line is reflected in the coding method of the next line, so that a local buffer for storing the encoded data is also unnecessary. For example, in the technique according to the present embodiment, a code amount counter for measuring the code amount after encoding may be prepared. For example, in the case of encoding image data of 3 mega-pixels (Mpixel) per frame, one line may be used. Since a 15-bit code amount counter is required, a 26-bit code amount counter is sufficient for the entire frame screen. That is, a relatively small scale circuit is used.

본 실시예에 관한 기술은, 어떠한 영상에 대해서도 가역ㆍ가변길이 부호화를 행하는 것에 비하여 약간의 화질 열화를 허용하는 것이지만, 그 대신에 부호화 후의 부호량을 제어할 수 있다는 장점을 제공할 수 있다. 또한, 본 실시예에 관한 기술은 작은 회로 규모로 실장 가능하다는 장점을 제공할 수 있다.The technique according to the present embodiment allows a slight deterioration in image quality compared to reversible / variable length coding for any video, but can provide an advantage of controlling the amount of code after coding instead. In addition, the technique related to this embodiment can provide the advantage that it can be mounted on a small circuit scale.

본원의 발명자에 의한 예비 실험에 따르면, 1 라인에 대한 가역ㆍ가변길이 부호화에서도 12-비트(12-bit) 신호를 약 8-비트(12-bit) 신호로 압축할 수 있고, 질감(texture)을 포함하는 영상에 대한 가역ㆍ가변길이 부호화에서도 12-비트(12-bit) 신호를 평균하여 10-비트(10-bit) 정도의 신호로 압축할 수 있다. 따라서, 질감(texture)을 포함하지 않은 자연 영상을 부호화하는 경우, 예를 들어 상한 평균 부호량이 12 비트들(bits)로써 설정되면 충분하다. According to a preliminary experiment by the inventors of the present invention, even in reversible variable length coding for one line, a 12-bit signal can be compressed into an approximately 8-bit signal, and texture can be obtained. In the reversible / variable length coding for an image including a P-bit, 12-bit signals can be averaged and compressed into a 10-bit signal. Therefore, when encoding a natural video that does not include texture, it is sufficient that, for example, the upper limit average code amount is set to 12 bits.

본 실시예에 관한 기술을 실제로 적용한 경우, 가역ㆍ가변길이 부호화와 비가역ㆍ동일길이 부호화가 자주 전환되는 경우에 비하여, 기본적으로 가역ㆍ가변길이 부호화가 행해지고, 부호량이 많이 발생하면 비가역ㆍ동일길이 부호화가 행해질 것이다.In the case where the technique according to the present embodiment is actually applied, reversible / variable length coding is basically performed as compared with the case where reversible / variable length coding and irreversible / same length coding are frequently switched. Will be done.

즉, 본 실시예에 관한 기술은, 가역ㆍ가변길이 부호화를 수행함에 있어서 예를 들어 부호화 후의 부호량이 원래의 데이터 양을 넘지 않도록 할 수 있다. 또한, 본 실시예에 관한 기술은, 예를 들어 부호화 후의 부호량의 상한값을 결정하는 것을 가능하게 한다. 이로 인하여, 설계시의 메모리 크기의 견적이 용이해진다는 이익을 얻을 수 있고, 이와 같이 상한 값을 넘지 않는 부호량의 제어는 어떤 의미에서는 안전망(safety net)과 같은 역할을 한다.In other words, in the technique of the present embodiment, in reversible / variable length encoding, for example, the amount of code after encoding does not exceed the original amount of data. In addition, the technique concerning this embodiment makes it possible to determine the upper limit of the code amount after encoding, for example. As a result, it is possible to obtain an advantage of facilitating the estimation of the memory size at design time. In this sense, the control of the code amount not exceeding the upper limit serves as a safety net in a sense.

본 실시예에 관한 기술을 보다 효과적으로 실시하기 위해서는, 부호화 후의 부호량의 상한 값보다 적은 비트 수의 데이터 양으로 압축하는 비가역ㆍ동일길이 부호화가 바람직하다. 예를 들어, 부호화 전의 각 화소의 데이터 양이 12 비트들(bits)이고, 부호화 후의 부호량의 상한 평균 부호량이 10 비트들(bits)로 설정하는 경우를 고려해보기로 한다. In order to implement the technique according to the present embodiment more effectively, irreversible and equal length encoding that compresses the data amount of the number of bits smaller than the upper limit value of the code amount after encoding is preferable. For example, consider a case where the data amount of each pixel before encoding is 12 bits, and the upper limit average code amount of the encoded amount after encoding is set to 10 bits.

비가역ㆍ동일길이 부호화에 의한 압축의 정도가 데이터 양을 12 비트들(bits)에서 10 비트들(bits)로 압축할 경우, 가역ㆍ가변길이 부호화에 의해 10 비트들(bits) 이상으로 확대된 평균 부호량이 10 비트들(bits) 아래로 내려갈 확률이 적다. 즉, 부호화 후의 누적 부호량이 상한 누적 부호량보다 적어지기 어렵게 된다. 따라서, 예를 들어, 비가역ㆍ동일길이 부호화에 의한 압축의 정도에 있어서, 데이터 양을 12 비트들(bits)에서 9 비트들(bits) 이하로 하는 것이 바람직하다. When the degree of compression by irreversible and equal length coding compresses the amount of data from 12 bits to 10 bits, the average enlarged to 10 bits or more by reversible variable length coding. It is less likely that the amount of code will fall below 10 bits. In other words, the cumulative code amount after encoding is less likely to be smaller than the upper limit cumulative code amount. Therefore, for example, in the degree of compression by irreversible and equal length coding, it is preferable to make the data amount from 12 bits to 9 bits or less.

이와 반대로, 욕심 부려서 상한 값을 매우 낮게 설정하고 압축률이 높은 비가역ㆍ동일길이 부호화를 이용하면, 가역ㆍ가변길이 부호화 부분과의 화질 차이가 가시화되거나, 비가역ㆍ동일길이 부호화가 선택될 확률이 높아지거나 하여, 전체적 화질이 열화될 수 있다. 본 실시예의 목적의 하나는, 가역ㆍ가변길이 부호화를 기본으로 하는 점에서도 알 수 있는 바와 같이 "전체적 화질을 유지하는" 점에 있고, 이러한 장점을 잃어버리지 않도록 본 실시예에 관한 기술을 사용하는 것이 필요하다.On the contrary, if the upper limit value is set very low due to greedyness and high compression ratio irreversible / equal length coding is used, the difference in image quality with the reversible / variable length coding part is visualized, or the probability that irreversible / same length coding is selected is increased. Thus, the overall picture quality may deteriorate. One of the purposes of this embodiment is to "keep the overall picture quality" as can be seen from the point of reversible variable length coding, and to use the technique of this embodiment so as not to lose this advantage. It is necessary.

상기한 예에서는 1 화소 당 12 비트들(bits)의 신호를 입력으로 하였지만, 1 화소 당 신호의 크기를 8 비트들(bits), 10 비트들(bits), 14 비트들(bits)로 적용할 수 있음은 당연하다. 또한, 상기한 예에서는 부호량과 상한 값의 관계를 1 라인마다 판정하는 것으로 하였지만, 판정의 주기는 0.5 라인 또는 2 라인들이어도 문제가 없다. 또한, 상기에서는 가장 회로 규모가 작은 패턴으로서 라인 메모리 없음의 시스템을 예로 들었지만, 예를 들어 3 라인들의 신호를 사용한 예측 값과의 차분을 취하여 부호화하는 부호화 방식을 본 실시예의 기술에 적용하는 것도 가능하다.In the above example, a signal of 12 bits per pixel is input, but the size of the signal per pixel is applied to 8 bits, 10 bits, and 14 bits. Of course it can. In the above example, the relationship between the code amount and the upper limit value is determined for each line. However, even if the determination period is 0.5 lines or 2 lines, there is no problem. In addition, although the system with no line memory is mentioned as the pattern with the smallest circuit scale in the above, the coding method which takes the difference with the prediction value using the signal of 3 lines, and encodes it can also be applied to the technique of this embodiment, for example. Do.

이상 설명된 바와 같이, 본 발명의 실시예에 의하면, 회로 규모의 확대를 억제하면서 부호화 후의 데이터 양 및 화질 열화의 정도를 억제하는 것이 가능하다.As described above, according to the embodiment of the present invention, it is possible to suppress the degree of data amount and quality deterioration after encoding while suppressing the expansion of the circuit scale.

이제까지 본 발명에 대하여 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명을 구현할 수 있음을 이해할 것이다. The present invention has been described above with reference to preferred embodiments. It will be understood by those skilled in the art that the present invention may be embodied in various other forms without departing from the spirit or essential characteristics thereof.

그러므로 상기 개시된 실시예는 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 특허청구범위에 의해 청구된 발명 및 청구된 발명과 균등한 발명들은 본 발명에 포함된 것으로 해석되어야 한다.Therefore, the above-described embodiments should be considered in a descriptive sense rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and the inventions claimed by the claims and the inventions equivalent to the claimed invention are to be construed as being included in the present invention.

실시간 제어 분야에서 이용될 가능성이 있다.It is likely to be used in the real-time control field.

10 : 부호화 장치, 110 : 차분 산출부,
120 : 제1 선택부, 130 : 동일길이 부호화부,
131 : 양자화부, 132 : 동일길이 부호화부,
140 : 가역·가변길이 부호화부, 141 : 가변길이 부호화부,
150 : 누적 부호량 산출부, 160 : 판정부,
170 : 제2 선택부, 180 : 기억부.
10: encoding apparatus, 110: difference calculating unit,
120: first selection unit, 130: equal length encoding unit,
131: quantization unit, 132: equal length encoder,
140: reversible variable length coding unit, 141: variable length coding unit,
150: cumulative code amount calculation unit, 160: determination unit,
170: second selection unit, 180: storage unit.

Claims (7)

부호화 대상 데이터를 구성하는 복수의 영역들을 순차적으로 부호화하는 부호화부;
상기 부호화부에 의한 부호화가 이루어진 하나 또는 복수의 영역들의 부호화 데이터의 크기의 누적값인 누적 부호량을 산출하는 누적 부호량 산출부; 및
상기 누적 부호량과 문턱 값의 관계를 판정하는 판정부;를 구비하고,
상기 부호화부는,
가역ㆍ가변길이 부호화에 의해 부호화가 수행되고 있을 때에 상기 판정부에 의해 상기 누적 부호량이 상기 문턱 값보다 크다고 판정된 경우, 상기 부호화부에 의해 부호화가 이루어진 하나 또는 복수의 영역들의 다음 영역에 대하여 비가역ㆍ동일길이 부호화에 의한 부호화를 수행하는, 부호화 장치.
An encoder which sequentially encodes a plurality of regions constituting encoding target data;
A cumulative code amount calculating unit that calculates a cumulative code amount which is a cumulative value of the size of encoded data of one or a plurality of regions in which the encoding unit is encoded; And
And a determining unit that determines a relationship between the cumulative code amount and a threshold value.
Wherein the encoding unit comprises:
When the encoding unit determines that the cumulative code amount is larger than the threshold value when encoding is being performed by reversible variable length coding, irreversible to the next region of one or a plurality of regions encoded by the encoding unit. The encoding device which performs encoding by the same length encoding.
제1항에 있어서, 상기 부호화부는,
가역ㆍ가변길이 부호화에 의해 부호화가 수행되고 있을 때에 상기 판정부에 의해 상기 누적 부호량이 상기 문턱 값보다 크지 않다고 판정된 경우, 상기 부호화부에 의해 부호화가 이루어진 하나 또는 복수의 영역들의 다음 영역에 대하여 가역ㆍ가변길이 부호화에 의한 부호화를 계속 수행하는, 부호화 장치.
The method of claim 1, wherein the encoding unit,
If the cumulative code amount is not greater than the threshold value when the encoding unit is performing encoding by reversible variable length coding, the next region of one or a plurality of regions encoded by the encoding unit is determined. An encoding device that performs encoding by reversible variable length coding.
제1항에 있어서, 상기 부호화부는,
비가역·동일길이 부호화에 의해 부호화가 수행되고 있을 때에 상기 판정부에 의해 상기 누적 부호량이 상기 문턱 값보다 적다고 판정된 경우, 상기 부호화부에 의해 부호화가 이루어진 하나 또는 복수의 영역들의 다음 영역에 대하여 가역·가변길이 부호화에 의한 부호화를 수행하는, 부호화 장치.
The method of claim 1, wherein the encoding unit,
When the encoding unit determines that the cumulative code amount is less than the threshold value when encoding is performed by irreversible and equal length encoding, the next region of one or a plurality of regions encoded by the encoding unit is determined. An encoding device for performing encoding by reversible variable length coding.
제3항에 있어서, 상기 부호화부는,
비가역·동일길이 부호화에 의해 부호화가 수행되고 있을 때에 상기 판정부에 의해 상기 누적 부호량이 상기 문턱 값보다 적지 않다고 판정된 경우, 상기 부호화부에 의해 부호화가 이루어진 하나 또는 복수의 영역들의 다음 영역에 대하여 비가역·동일길이 부호화에 의한 부호화를 계속 수행하는, 부호화 장치.
The method of claim 3, wherein the encoding unit,
If the cumulative code amount is not less than the threshold value when the encoding unit is performing encoding by irreversible and equal length encoding, the next region of one or a plurality of regions encoded by the encoding unit is determined. An encoding device that continues encoding by irreversible and equal length encoding.
제1항에 있어서, 상기 부호화부는,
상기 부호화 대상 데이터를 구성하는 복수의 영역들에 대한 부호화를 시작함에 있어서, 상기 부호화 대상 데이터의 선두 영역에 대하여 가역·가변길이 부호화를 수행하는, 부호화 장치.
The method of claim 1, wherein the encoding unit,
An encoding device that performs reversible variable-length coding on a head region of the encoding target data in starting encoding of a plurality of regions constituting the encoding target data.
제1항에 있어서, 상기 판정부는,
각 영역에 대한 부호화가 종료될 때마다 상기 누적 부호량과 상기 문턱 값의 관계를 판정하는, 부호화 장치.
The method of claim 1, wherein the determination unit,
The encoding apparatus determines the relationship between the cumulative code amount and the threshold value whenever encoding for each region is finished.
부호화 대상 데이터를 구성하는 복수의 영역들을 순차적으로 부호화하는 단계;
부호화가 이루어진 하나 또는 복수의 영역들의 부호화 데이터의 크기의 누적값인 누적 부호량을 산출하는 단계; 및
상기 누적 부호량과 문턱 값의 관계를 판정하는 단계;를 포함하고,
가역·가변길이 부호화에 의해 부호화가 수행되고 있을 때에 상기 누적 부호량이 상기 문턱 값보다 크다고 판정된 경우, 부호화가 이루어진 하나 또는 복수의 영역들의 다음 영역에 대하여 비가역·동일길이 부호화에 의한 부호화를 수행하는 것을 특징으로 하는 부호화 방법.
Sequentially encoding a plurality of regions constituting encoding target data;
Calculating a cumulative code amount which is a cumulative value of the size of encoded data of one or a plurality of regions in which encoding is performed; And
Determining a relationship between the cumulative code amount and a threshold value;
When it is determined that the cumulative code amount is larger than the threshold value when encoding is being performed by reversible variable length coding, encoding is performed by irreversible and equal length coding on the next region of one or a plurality of regions where encoding is performed. The encoding method characterized by the above-mentioned.
KR1020130020032A 2012-02-24 2013-02-25 Encoding apparatus and encoding method KR102071459B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012038149A JP5956180B2 (en) 2012-02-24 2012-02-24 Encoding apparatus and encoding method
JPJP-P-2012-038149 2012-02-24

Publications (2)

Publication Number Publication Date
KR20130097687A true KR20130097687A (en) 2013-09-03
KR102071459B1 KR102071459B1 (en) 2020-03-02

Family

ID=49268409

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130020032A KR102071459B1 (en) 2012-02-24 2013-02-25 Encoding apparatus and encoding method

Country Status (2)

Country Link
JP (1) JP5956180B2 (en)
KR (1) KR102071459B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9589496B2 (en) 2013-08-27 2017-03-07 Samsung Display Co., Ltd. Temporal dithering technique used in accumulative data compression

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6196117B2 (en) 2013-10-08 2017-09-13 株式会社東芝 Image encoding apparatus and image decoding apparatus
JP6289971B2 (en) * 2014-03-31 2018-03-07 株式会社メガチップス Data storage control device and data storage control method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006303690A (en) 2005-04-18 2006-11-02 Sony Corp Image signal processing apparatus, camera system, and image signal processing method
JP2008042681A (en) * 2006-08-08 2008-02-21 Canon Inc Image processing method and processor, computer program and computer readable storage medium
JP2008124969A (en) 2006-11-15 2008-05-29 Ikegami Tsushinki Co Ltd Lossless image coding method and lossless image coding apparatus
JP2011109618A (en) * 2009-11-20 2011-06-02 Canon Inc Image processing apparatus and method for controlling the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09168092A (en) * 1995-12-14 1997-06-24 Ricoh Co Ltd Image processing unit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006303690A (en) 2005-04-18 2006-11-02 Sony Corp Image signal processing apparatus, camera system, and image signal processing method
JP2008042681A (en) * 2006-08-08 2008-02-21 Canon Inc Image processing method and processor, computer program and computer readable storage medium
JP2008124969A (en) 2006-11-15 2008-05-29 Ikegami Tsushinki Co Ltd Lossless image coding method and lossless image coding apparatus
JP2011109618A (en) * 2009-11-20 2011-06-02 Canon Inc Image processing apparatus and method for controlling the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9589496B2 (en) 2013-08-27 2017-03-07 Samsung Display Co., Ltd. Temporal dithering technique used in accumulative data compression

Also Published As

Publication number Publication date
KR102071459B1 (en) 2020-03-02
JP5956180B2 (en) 2016-07-27
JP2013175848A (en) 2013-09-05

Similar Documents

Publication Publication Date Title
US8340445B2 (en) Image encoding device, image encoding method, image encoding/decoding system
CN103118252A (en) Dynamic image encoding device and dynamic image decoding device
US20100086063A1 (en) Quality metrics for coded video using just noticeable difference models
US8218645B2 (en) Method and apparatus for encoding and decoding by wavelet transform
JP5133290B2 (en) Video encoding apparatus and decoding apparatus
KR20070110517A (en) Encoding device and dynamic image recording system having the encoding device
US20130142252A1 (en) Video image encoding device
JPWO2009157581A1 (en) Image processing apparatus and image processing method
KR20010110629A (en) Method and system for compressing motion image information
JP5231243B2 (en) Encoding apparatus and encoding method
KR102071459B1 (en) Encoding apparatus and encoding method
JP4485996B2 (en) Image encoding apparatus and image encoding program
CN103248891B (en) A kind of reference frame compression method based on two-dimensional prediction in n-bit truncation quantification and block
JP2009021775A (en) Coder and coding method
WO2012081193A1 (en) Dynamic image encoding device, dynamic image encoding method, dynamic image encoding program, dynamic image decoding device, dynamic image decoding method, and dynamic image decoding program
KR20100012738A (en) Method and apparatus for compressing reference frame in video encoding/decoding
KR20180026360A (en) A method of controlling bit rate and an apparatus therefor
KR101519653B1 (en) Image compressing apparatus of lossless and lossy type
KR20020026189A (en) Efficient video data access using fixed ratio compression
JP3491001B1 (en) Signal encoding method, signal decoding method, signal encoding device, signal decoding device, signal encoding program, and signal decoding program
JP5582020B2 (en) Moving picture decoding apparatus, moving picture decoding method, and moving picture decoding program
JP4942208B2 (en) Encoder
JP5582019B2 (en) Moving picture coding apparatus, moving picture coding method, and moving picture coding program
US9485509B2 (en) Image compression device, image compression method, image decompression device, and image decompression method
CN116527903B (en) Image shallow compression method and decoding method

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant