KR20110052527A - Method and apparatus for video encoding/decoding using adaptive codeword assignment to syntax element - Google Patents

Method and apparatus for video encoding/decoding using adaptive codeword assignment to syntax element Download PDF

Info

Publication number
KR20110052527A
KR20110052527A KR1020100112873A KR20100112873A KR20110052527A KR 20110052527 A KR20110052527 A KR 20110052527A KR 1020100112873 A KR1020100112873 A KR 1020100112873A KR 20100112873 A KR20100112873 A KR 20100112873A KR 20110052527 A KR20110052527 A KR 20110052527A
Authority
KR
South Korea
Prior art keywords
codeword
encoding
image
input image
syntax element
Prior art date
Application number
KR1020100112873A
Other languages
Korean (ko)
Inventor
이하현
임성창
정세윤
최해철
김휘용
조숙희
이진호
김종호
최진수
홍진우
심동규
오승준
박시내
황능주
Original Assignee
한국전자통신연구원
광운대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원, 광운대학교 산학협력단 filed Critical 한국전자통신연구원
Publication of KR20110052527A publication Critical patent/KR20110052527A/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

PURPOSE: A method and apparatus for video encoding/decoding using an adaptive codeword assignment to syntax elements are provided to enhance encoding performance under an image encoding environment having various encoding bit rates and various image sizes. CONSTITUTION: A feature analysis unit(111) analyzes the features of encoding data obtained from an input image, and a codeword assignment unit(112) allocates a codeword to a symbol value of a syntax element when using the input image. An encoding unit(113) encodes the syntax elements in the codeword to generate a bit stream.

Description

구문 요소에 대하여 적응적으로 코드워드를 할당하는 영상 부호화/복호화 방법 및 그 장치{METHOD AND APPARATUS FOR VIDEO ENCODING/DECODING USING ADAPTIVE CODEWORD ASSIGNMENT TO SYNTAX ELEMENT}Image coding / decoding method and apparatus for adaptively allocating codewords to syntax elements {METHOD AND APPARATUS FOR VIDEO ENCODING / DECODING USING ADAPTIVE CODEWORD ASSIGNMENT TO SYNTAX ELEMENT}

본 발명은 영상 부호화 및 복호화 장치에 관한 것으로써, 보다 상세하게는 다양한 해상도 및 화질을 가지는 영상 부호화 환경에서 구문 요소 (Syntax Element)에 대하여 적응적으로 코드워드 (Codeword)를 할당함으로써 영상 부호화 성능을 향상 시킬 수 있는 방법 및 장치에 관한 것이다.The present invention relates to an image encoding and decoding apparatus. More particularly, the present invention relates to an image encoding performance by adaptively assigning a codeword to a syntax element in an image encoding environment having various resolutions and quality. It relates to a method and apparatus that can be improved.

본 발명은 방송통신위원회, 한국전자통신연구원 및 광운대학교의 IT 원천기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다 [과제관리번호: 2008-F-011-01, 과제명: 초고선명TV 및 고효율 비디오 코덱 기술 개발].The present invention is derived from the research conducted as part of the IT original technology development project of the Korea Communications Commission, the Korea Institute of Electronics and Telecommunications, and Kwangwoon University. [Task Management No .: 2008-F-011-01, Development of High Efficiency Video Codec Technology.

최근 들어 멀티미디어 기능을 가지는 다양한 기기가 보급이 되고, 보급된 다양한 기기들을 통해 IPTV, DMB, 화상 전화와 같이 다양한 멀티미디어 서비스가 소비되고 있다. Recently, various devices having multimedia functions have been spread, and various multimedia services such as IPTV, DMB, and video telephony have been consumed through the various devices.

이때, 상기 서비스들을 위한 영상들은 다양한 화질과 해상도를 가지며 각각의 전송 환경이 다르기 때문에, 부호화된 영상이 가지는 특성 또한 다르다. In this case, since the images for the services have various image quality and resolution and each transmission environment is different, the characteristics of the encoded image are also different.

종래의 영상 부호화 표준 방법은 구문 요소들에 대하여 미리 정해진 코드워드를 할당하는 방법으로 부호화 및 복호화가 진행된다.In the conventional video encoding standard method, encoding and decoding are performed by assigning predetermined codewords to syntax elements.

하지만, 개별 구문 요소에 정의된 코드워드들의 확률적인 통계가 모든 영상의 모든 부호화 비트 율에서 적합하지는 않을 수도 있고 부호화하는 영상의 전역적 혹은 국부적 특성을 반영하지 못 해서, 미리 정해진 구문 요소의 코드워드가 여러 부호화 환경에서 최적의 성능을 나타낼 수 없다.However, the probabilistic statistics of the codewords defined in the individual syntax elements may not be appropriate at all coded bit rates of all images, and do not reflect the global or local characteristics of the image being coded, so that the codewords of predetermined syntax elements Cannot show optimal performance in multiple encoding environments.

따라서, 다양한 환경에서 이루어지는 영상 서비스에서 구문 요소들에 대해 적응적으로 코드워드를 할당할 수 있는 효율적인 구조의 영상 부호화/복호화 장치 및 방법이 필요하다.Accordingly, there is a need for an efficient video encoding / decoding apparatus and method capable of adaptively assigning codewords to syntax elements in video services in various environments.

본 발명의 일실시예는 다양한 해상도 및 화질을 가지는 영상 부호화 환경에서 구문 요소에 대하여 적응적으로 코드워드를 할당함으로써 영상 부호화 성능을 향상 시킬 수 있는 방법 및 장치를 제공한다.An embodiment of the present invention provides a method and apparatus for improving image encoding performance by adaptively assigning codewords to syntax elements in an image encoding environment having various resolutions and quality.

본 발명의 일실시예에 따른 구문 요소에 따라 적응적으로 코드워드를 할당하는 영상 부호화 장치는, 입력 영상의 특징과 상기 입력 영상을 부호화한 부호화 데이터의 특징을 분석하는 특징 분석부; 상기 부호화 데이터의 특징에 따라 상기 입력 영상을 부호화할 때 사용하는 구문 요소의 심볼 값에 코드워드를 할당하는 코드워드 할당부; 및 상기 코드워드로 상기 입력 영상의 구문 요소를 부호화하여 비트스트림을 생성하는 부호화부를 포함한다. An image encoding apparatus for adaptively allocating codewords according to a syntax element according to an embodiment of the present invention may include a feature analyzer configured to analyze a feature of an input image and a feature of encoded data encoding the input image; A codeword allocator configured to allocate a codeword to a symbol value of a syntax element used to encode the input image according to a feature of the encoded data; And an encoder configured to encode a syntax element of the input image using the codeword to generate a bitstream.

본 발명의 일실시예에 따르면, 구문 요소에 대하여 적응적으로 코드워드를 할당함으로써 다양한 영상 크기와 다양한 부호화 비트 율을 가지는 영상 부호화 환경에서 부호화 성능을 향상시키는 효과가 있다.According to an embodiment of the present invention, by adaptively assigning codewords to syntax elements, encoding performance is improved in an image encoding environment having various image sizes and various encoding bit rates.

도 1은 본 발명에 따른 구문 요소에 따라 적응적으로 코드워드를 할당하는 영상 부호화 장치 및 복호화 장치의 구성을 도시한 도면이다.
도 2는 본 발명에 따라 적응적으로 코드워드를 할당하는 영상 부호화 방법의 일례를 도시한 순서도이다.
도 3은 본 발명에 따라 적응적으로 코드워드를 할당하는 영상 부호화 방법의 다른 예를 도시한 순서도이다.
도 4는 본 발명에 따라 적응적으로 코드워드를 할당하는 영상 부호화 방법의 또 다른 예를 도시한 순서도이다.
도 5는 본 발명에 따라 코드워드를 재할당하고, 재할당된 코드워드의 적합 여부를 확인하는 방법을 도시한 순서도이다.
도 6은 본 발명에 따라 적응적으로 코드워드를 할당하는 영상 복호화 방법을 도시한 순서도이다.
1 is a diagram illustrating a configuration of an image encoding apparatus and a decoding apparatus for adaptively allocating codewords according to syntax elements according to the present invention.
2 is a flowchart illustrating an example of an image encoding method for adaptively allocating codewords according to the present invention.
3 is a flowchart illustrating another example of an image encoding method for adaptively allocating codewords according to the present invention.
4 is a flowchart illustrating still another example of an image encoding method for adaptively allocating codewords according to the present invention.
5 is a flowchart illustrating a method of reallocating codewords and confirming whether the reallocated codewords are suitable according to the present invention.
6 is a flowchart illustrating an image decoding method of adaptively allocating codewords according to the present invention.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 구문 요소에 따라 적응적으로 코드워드를 할당하는 영상 부호화 장치 및 복호화 장치의 구성을 도시한 도면이다. 1 is a diagram illustrating a configuration of an image encoding apparatus and a decoding apparatus for adaptively allocating codewords according to syntax elements according to the present invention.

본 발명은 영상의 특징 및 부호화 환경에 따른 부호화 데이터의 특징을 반영하여 시퀀스 (Sequence) 및 픽쳐 (Picture) 및 슬라이스 (Slice) 및 매크로블록 (Macroblock) 및 블록 (Block) 단위로 구문 요소에 대한 코드워드를 적응적으로 할당하여 입력 영상을 부호화 또는 복호화한다. 이때, 구문 요소는 시퀀스 및 픽쳐 및 슬라이스 및 매크로블록 및 블록의 정보가 비트스트림에 작성되는 형태를 의미할 수 있다.The present invention is a code for syntax elements in units of sequence, picture, slice, macroblock, and block, reflecting the characteristics of the encoded data according to the characteristics of the image and the encoding environment. The word is adaptively allocated to encode or decode the input image. In this case, the syntax element may mean a form in which information of a sequence, a picture, a slice, a macroblock, and a block is written in a bitstream.

상기 기술된 매크로블록은 영상 부호화 및 복호화의 단위를 의미하며, 영상 부호화 및 복호화 시 부호화 혹은 복호화 단위라 함은, 하나의 영상을 세분화 된 블록으로 분할하여 부호화 혹은 복호화 할 때 그 분할된 단위를 말하므로, 매크로블록 또는 부호화 유닛 (Coding Unit) 또는 유닛 (Unit)이라 부를 수 있다.The above-described macroblock refers to a unit of image encoding and decoding, and an encoding or decoding unit in image encoding and decoding refers to the divided unit when dividing an image into subdivided blocks to encode or decode the image. Therefore, it may be called a macroblock or a coding unit or a unit.

본 명세서에서 사용되는 용어들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Terms used in the present specification are terms used to properly express preferred embodiments of the present invention, which may vary depending on the intention of a user, an operator, or customs in the field to which the present invention belongs. Therefore, the definitions of the terms should be made based on the contents throughout the specification.

본 발명에 따른 영상 부호화 장치(110)는 영상의 특징 및 부호화 조건에 따라 결정된 구문 요소에 대한 코드워드 할당 정보를 비트스트림에 추가, 저장할 수 있다. 또한, 본 발명에 따른 영상 복호화 장치(120)는 비트스트림에 표기된 구문 요소에 대한 코드워드 할당 정보를 이용하여 구문 요소를 복호화할 수 있다.The image encoding apparatus 110 according to the present invention may add and store codeword allocation information about syntax elements determined according to the characteristics of an image and encoding conditions to a bitstream. In addition, the image decoding apparatus 120 according to the present invention may decode the syntax element by using codeword assignment information on the syntax element indicated in the bitstream.

도 1을 참고하면, 구문 요소에 따라 적응적으로 코드워드를 할당하는 영상 부호화 장치(110)는 슬라이스 단위 하위 계층에서 매크로블록 단위로 적응적인 구문 요소에 대한 코드워드를 할당하는 부호화 장치이며, 특징 분석부(111), 코드워드 할당부(112), 및 부호화부(113)로 구성된다.Referring to FIG. 1, the image encoding apparatus 110 adaptively allocating codewords according to syntax elements is an encoding apparatus allocating codewords for adaptive syntax elements in macroblock units in a slice unit lower layer. It consists of an analysis unit 111, a codeword assignment unit 112, and an encoding unit 113.

영상 부호화 장치(110)는 입력 영상을 부호화할 경우에 시퀀스 및 픽쳐 및 슬라이스 및 매크로블록 및 블록 단위로 입력 영상의 특징과 부호화 환경에 따른 부호화 데이터의 특징을 분석할 수 있다. When encoding the input image, the image encoding apparatus 110 may analyze the characteristics of the input image and the encoded data according to the encoding environment in units of sequences, pictures, slices, macroblocks, and blocks.

상기 기술된 부호화 데이터의 특징은 구문 요소 별로 심볼 값의 발생 빈도, 발생 확률 등을 의미할 수 있다.The characteristic of the encoded data described above may mean a frequency of occurrence of a symbol value, a probability of occurrence, etc. for each syntax element.

상기 기술된 부호화 데이터는 입력 영상이 부호화된 형태를 의미하며, 코드워드들의 집합된 형태인 비트스트림 (Bitstream)을 의미할 수 있다.The above-described encoded data may mean a form in which an input image is encoded, and may mean a bitstream that is an aggregated form of codewords.

또한, 영상 부호화 장치(110)는 입력 영상의 특징과 부호화 데이터의 특징을 기초로 구문 요소의 심볼 값 대한 최적의 코드워드를 결정하여 할당하며, 할당된 코드워드 정보를 비트스트림에 추가할 수 있다.Also, the image encoding apparatus 110 may determine and allocate an optimal codeword for a symbol value of a syntax element based on a feature of an input image and a feature of encoded data, and add the allocated codeword information to a bitstream. .

특징 분석부(111)는 입력 영상의 특징과 입력 영상을 부호화한 부호화 데이터의 특징을 분석한다. 구체적으로 특징 분석부(111)는 입력 영상을 슬라이스 단위로 부호화하고, 슬라이스 단위 별로 부호화 데이터의 특징을 분석할 수 있다.The feature analyzer 111 analyzes a feature of the input image and a feature of the encoded data encoding the input image. In detail, the feature analyzer 111 may encode the input image in a slice unit and analyze a feature of the encoded data for each slice unit.

이때, 특징 분석부(111)는 입력 영상이 어떠한 특징을 가지고 부호화 데이터가 어떤 특징을 가지게 될 것인지를 예측 및 분석할 수 있다.In this case, the feature analyzer 111 may predict and analyze what features the input image has and what features the encoded data will have.

일례로, 특징 분석부(111)는, 입력 영상을 부호화하는데 사용되는 구문 요소들과 부호화 데이터에 할당된 코드워드의 통계를 계산하여 부호화 데이터의 특징을 분석할 수 있다.For example, the feature analyzer 111 may analyze the features of the encoded data by calculating statistics of syntax elements used to encode the input image and codewords allocated to the encoded data.

다른 일례로, 특징 분석부(111)는, 입력 영상의 특징을 추출하고, 입력 영상의 특징을 기초로 부호화 데이터 내 각각 구문 요소 별로 심볼 값의 발생 확률을 예측할 수도 있다.As another example, the feature analyzer 111 may extract a feature of the input image and predict a probability of generating a symbol value for each syntax element in the encoded data based on the feature of the input image.

또한, 특징 분석부(111)는 이미 부호화된 구문 요소의 심볼 값의 통계를 계산하여 구문 요소에 대한 특징을 분석할 수도 있다. 이때, 이미 부호화된 구문 요소는 부호화부(113)가 코드워드 할당부(112)에서 할당한 코드워드로 부호화된 구문 요소일 수 있다.In addition, the feature analyzer 111 may analyze the feature of the syntax element by calculating a statistic of a symbol value of an already encoded syntax element. In this case, the syntax element that is already encoded may be a syntax element encoded by a codeword assigned by the encoder 113 to the codeword allocator 112.

코드워드 할당부(112)는 특징 분석부(111)에서 분석한 특징에 따라 입력 영상을 부호화할 때 사용하는 구문 요소에 적합한 코드워드를 할당한다.The codeword assignment unit 112 allocates a codeword suitable for a syntax element used when encoding the input image according to the feature analyzed by the feature analyzer 111.

구체적으로, 코드워드 할당부(112)는 기본 코드워드가 입력 영상에 따른 부호화 데이터에 할당된 코드워드와 적합한지 여부를 확인할 수 있고, 적합하지 않는 경우에 입력 영상을 부호화할 때 사용되는 구문 요소에 적합한 코드워드를 할당할 수 있다.In detail, the codeword allocator 112 may determine whether the basic codeword is suitable for the codeword allocated to the encoded data according to the input image, and if not, the syntax element used to encode the input image. Can be assigned a codeword suitable for.

이때, 코드워드의 적합한지 여부는 해당 코드워드로 부호화했을 때 발생하는 비트량, 부호화 대상 영상의 원본 영상 대비 왜곡 정도를 이용할 수 있으며, 비트량과 부호화 대상 영상의 원본 영상 대비 왜곡을 함께 이용한 율-왜곡 비용을 이용할 수 있다. 이때, 어느 임계치 이하의 비트량 발생, 임계치 이하의 왜곡 발생, 임계치 이하의 율-왜곡 비용이 발생한 경우 코드워드가 적합하다고 판별할 수 있다.In this case, whether or not the codeword is suitable can be used by using the bit amount generated when the codeword is encoded and the distortion degree compared to the original image of the encoding target image, and using the bit amount and the distortion with respect to the original image of the encoding target image. Distortion costs are available. In this case, it may be determined that the codeword is appropriate when the amount of bits below a certain threshold, the distortion below the threshold, and the rate-distortion cost below the threshold occur.

이때, 기본 코드워드는 기존 방법에 따라 입력 영상의 특징 및 부호화 환경에 관계없이 디폴트로 할당되는 코드워드일 수 있다. In this case, the basic codeword may be a codeword assigned by default regardless of the feature of the input image and the encoding environment according to the existing method.

그리고, 코드워드 할당부(112)는 특징 분석부(111)에서 계산된 구문 요소 별 심볼 값의 통계를 사용하여 입력 영상에 따른 부호화 데이터에 할당된 코드워드의 적합 여부를 확인할 수 있다.The codeword allocator 112 may check whether the codewords allocated to the encoded data according to the input image are suitable by using the statistics of symbol values for each syntax element calculated by the feature analyzer 111.

이때, 코드워드의 적합한지 여부는 해당 코드워드로 부호화했을 때 발생하는 비트량, 부호화 대상 영상의 원본 영상 대비 왜곡을 이용할 수 있으며, 비트량과 부호화 대상 영상의 원본 영상 대비 왜곡을 함께 이용한 율-왜곡 비용을 이용할 수 있다. 이때, 어느 임계치 이하의 비트량 발생, 임계치 이하의 왜곡 발생, 임계치 이하의 율-왜곡 비용이 발생한 경우 코드워드가 적합하다고 판별할 수 있다.In this case, whether or not the codeword is suitable may use the bit amount generated when the codeword is encoded, and the distortion of the original video of the encoding target video. Distortion costs can be used. In this case, it may be determined that the codeword is appropriate when the amount of bits below a certain threshold, the distortion below the threshold, and the rate-distortion cost below the threshold occur.

또한, 코드워드 할당부(112)는 기본 코드워드와 입력 영상에 따른 부호화 데이터에 할당된 코드워드를 이용하여 각각의 코드워드를 이용하여 부호화했을 때 발생한 비트량, 부호화 대상 영상의 원본 영상 대비 왜곡을 이용할 수 있으며, 비트량과 부호화 대상 영상의 원본 영상 대비 왜곡을 함께 이용한 율-왜곡 비용을 통해서 어떤 코드워드가 더 적합한지 판별할 수 있다. 이때, 더 작게 발생한 비트량, 더 작은 영상 왜곡, 더 작은 율-왜곡 비용을 나타내는 코드워드가 보다 더 적합하다고 판별할 수 있다.In addition, the codeword allocating unit 112 uses the codewords allocated to the coded data according to the basic codeword and the input image, and the amount of bits generated when the codewords are encoded using the respective codewords. It is possible to determine which codeword is more suitable through the rate-distortion cost using the bit amount and distortion compared to the original image of the encoding target image. At this time, it can be determined that a codeword representing a smaller amount of bits generated, a smaller image distortion, and a smaller rate-distortion cost is more suitable.

또한, 코드워드 할당부(112)는 특징 분석부(111)에서 예측된 구문 요소의 심볼 값의 발생 확률을 사용하여 기본 코드워드가 입력 영상에 적합한지 여부를 확인하고, 적합하지 않는 경우에 상기 확률에 기초하여 입력 영상에 따른 구문 요소의 심볼 값에 적합한 코드워드를 할당할 수 있다.In addition, the codeword assignment unit 112 checks whether the basic codeword is suitable for the input image using the occurrence probability of the symbol value of the syntax element predicted by the feature analysis unit 111, and if it is not suitable, A codeword suitable for a symbol value of a syntax element according to the input image may be allocated based on the probability.

그리고, 코드워드 할당부(112)는 이미 부호화된 구문 요소의 심볼 값의 통계를 사용하여 할당된 코드워드가 입력 영상을 부호화하는데 적합한지 여부를 확인하고, 적합하지 않는 경우에 이미 부호화된 구문 요소의 심볼 값 통계에 기초하여 입력 영상을 부호화할 때 사용되는 구문 요소에 적합한 코드워드를 재할당할 수 있다.The codeword assignment unit 112 checks whether the allocated codeword is suitable for encoding the input image by using the statistics of symbol values of the already encoded syntax element, and if it is not suitable, the encoded syntax element. A codeword suitable for a syntax element used when encoding an input image may be reassigned based on the symbol value statistics of.

또한, 코드워드 할당부(112)는 코드워드 할당부(112)가 각 구문 요소의 심볼 값에 할당한 코드워드 정보를 입력 영상의 슬라이스 헤더에 저장할 수 있다.The codeword allocator 112 may store codeword information allocated by the codeword allocator 112 to symbol values of the syntax elements in a slice header of the input image.

일례로, 코드워드 할당부(112)는 표 1과 같이 각 구문 요소의 심볼 값에 할당한 코드워드를 알려주는 코드워드 할당 정보를 슬라이스 헤더에 저장하고, 슬라이스 헤더에 저장된 코드워드 할당 방식을 하나의 슬라이스에서 공통적으로 사용할 수 있다.For example, the codeword assignment unit 112 stores codeword assignment information indicating a codeword assigned to a symbol value of each syntax element in a slice header as shown in Table 1, and uses a codeword assignment scheme stored in a slice header. Commonly used in slices of.

Figure pat00001
Figure pat00001

이때, 슬라이스 헤더에 추가되는 정보로는 syntax_reordering_control_flag, changing_of_syntax_idc, syntax_element_idc, diff_syntax_element_minus1 이 포함될 수 있다.In this case, information added to the slice header may include syntax_reordering_control_flag, changing_of_syntax_idc, syntax_element_idc, and diff_syntax_element_minus1.

이때 syntax_reordering_control_flag는 해당 슬라이스에서 구문 요소에 코드워드를 재할당했는지에 대한 여부를 결정하여 표시하는 플래그로 재할당하는 경우에 1로 저장될 수 있다.In this case, syntax_reordering_control_flag may be stored as 1 when reassigning a flag indicating whether or not to reassign a codeword to a syntax element in a corresponding slice.

또한, changing_of_syntax_idc는 해당 슬라이스에서 코드워드를 변경하고자 하는 구문 요소의 종류를 저장할 수 있다.In addition, changing_of_syntax_idc may store a type of syntax element for changing a codeword in a corresponding slice.

일례로, changing_of_syntax_idc는 표 2와 같이 8종류의 구문 요소에 대하여 고정된 3비트를 이용하여 각 종류를 저장할 수 있다. For example, changing_of_syntax_idc may store each type using fixed 3 bits for 8 types of syntax elements as shown in Table 2.

Figure pat00002
Figure pat00002

다만, 실시 예에 따라 변경할 수 있는 구문 요소의 종류는 늘어나거나 줄어들 수 있으므로, changing_of_syntax_idc가 구문 요소의 종류를 저장하는 방법 또한 가변 길이로 비트를 할당하는 방법을 사용할 수도 있다. However, since the types of syntax elements that can be changed may increase or decrease according to embodiments, the method of changing_of_syntax_idc stores the types of syntax elements may also use a method of allocating bits with a variable length.

그리고, syntax_element_idc는 changing_of_syntax_idc에서 결정된 코드워드를 변경하고자 하는 구문 요소 중에서 어떤 심볼 값의 변경에 관한 것인지에 대해 저장할 수 있다.In addition, syntax_element_idc may store information about a symbol value change among syntax elements to change the codeword determined by changing_of_syntax_idc.

또한, diff_syntax_element_minus1은 코드워드가 재할당되는 경우에 특정 심볼 값이 코드워드 테이블에서 어떤 코드워드로 매핑 (Mapping) 되는지에 대해 저장할 수 있다.In addition, diff_syntax_element_minus1 may store to which codeword a specific symbol value is mapped in a codeword table when the codeword is reassigned.

일례로, 코드워드 할당부(112)는 표 3과 같은 형태로 H.264/AVC의 P_slice_sub_MB 타입을 저장할 수 있다.For example, the codeword allocator 112 may store the P_slice_sub_MB type of H.264 / AVC in the form shown in Table 3.

Figure pat00003
Figure pat00003

코드워드 할당부(112)가 MB Sub-MB type for P slices 중에서 P_MB_type의 P_L0_4x4의 코드워드를 변경하기로 결정한 경우에 changing_of_syntax_idc는 MB Sub-MB type for P slices이 되고, syntax_element_idc는 P_L0_4x4를 나타내는 '3'이될 수 있다.When the codeword assignment unit 112 decides to change the codeword of P_L0_4x4 of P_MB_type among MB Sub-MB type for P slices, changing_of_syntax_idc becomes MB Sub-MB type for P slices, and syntax_element_idc indicates '3' representing P_L0_4x4. Can be.

또한, 상기 심볼 값의 발생 빈도가 가장 높아서 P_slice_sub_MB의 가장 짧은 코드워드를 할당하는 경우에 상기 구성 요소는 우선순위가 가장 높게 되어 P_L0_8x8의 위치가 되므로 diff_syntax_element_ minus1은 '3-1'이 되어 '2'가 될 수 있다.In addition, when the shortest codeword of P_slice_sub_MB is assigned because the frequency of occurrence of the symbol value is the highest, the component has the highest priority and becomes the position of P_L0_8x8, so diff_syntax_element_ minus1 becomes '3-1' and becomes '2'. Can be

다른 일례로, 코드워드 할당부(112)는 표 4와 같이 각 구문 요소의 심볼 값에 할당한 코드워드를 슬라이스 헤더에 저장할 수도 있다.As another example, the codeword assignment unit 112 may store a codeword assigned to a symbol value of each syntax element in a slice header, as shown in Table 4.

Figure pat00004
Figure pat00004

표 4는 슬라이스 헤더에 표기된 구문 요소의 심볼 값에 대한 코드워드가 슬라이스 내 매크로블록 단위로 업데이트가 가능한 경우에 사용되는 방법으로서, 상기 표 3에 update_of_syntax_MB_flag가 더 포함된 일례이다.Table 4 is a method used when a codeword for a symbol value of a syntax element indicated in a slice header is updateable in units of macroblocks in a slice, and Table 3 further includes update_of_syntax_MB_flag.

상기 방법은 슬라이스 헤더에 표기된 구문 요소가 매크로블록 단위로 업데이트되어 반영되는 형태로 이루질 수 있다.The method may be configured in such a manner that syntax elements marked in the slice header are updated and reflected in macroblock units.

이때, 상기 방법에서 매크로블록 단위 업데이트는 슬라이스 내 이전 매크로블록의 정보를 통계적으로 이용할 수 있으며, 업데이트 사용 여부는 매크로블록 헤더에 update_of_syntax_MB_flag로 저장하여 부호화 될 수 있다. In this method, the macroblock unit update may statistically use information of the previous macroblock in the slice, and whether to use the update may be encoded by storing update_of_syntax_MB_flag in the macroblock header.

이때, 코드워드 업데이트가 발생하는 단위와 업데이트 사용 여부에 대한 저장은 매크로블록뿐만 아니라, 블록, 슬라이스, 픽쳐 단위가 될 수 있다.In this case, the storage of whether the codeword update occurs and whether the update is used may be a block, slice, or picture unit as well as a macroblock.

부호화부(113)는 기본 코드워드 또는 코드워드 할당부(112)가 할당한 코드워드로 입력 영상을 부호화하여 비트스트림을 생성한다.The encoder 113 generates a bitstream by encoding an input image with a basic codeword or a codeword assigned by the codeword allocator 112.

상기 부호화 장치(110)을 이용해서 특정 구문 요소에 대해 영상의 국부적 혹은 전역적 특성을 반영한 통계를 분석하여 자주 발생하는 심볼 값에 짧은 길이의 코드워드를 할당함으로써 부호화 효율을 향상시킬 수 있다.The encoding apparatus 110 may improve encoding efficiency by analyzing a statistic reflecting local or global characteristics of an image with respect to a specific syntax element and assigning a codeword having a short length to frequently occurring symbol values.

구문 요소에 따라 적응적으로 코드워드를 할당하는 영상 복호화 장치(120)는 도 1에 도시된 바와 같이 비트스트림 해석부(121), 코드워드 판별부(122), 및 복호화부(123)로 구성된다.The video decoding apparatus 120 adaptively assigning codewords according to syntax elements includes a bitstream analyzer 121, a codeword discriminator 122, and a decoder 123 as illustrated in FIG. 1. do.

비트스트림 해석부(121)는 영상 부호화 장치(110)로부터 수신한 비트스트림의 슬라이스 헤더에서 코드워드 할당 정보를 추출한다.The bitstream analyzer 121 extracts codeword assignment information from the slice header of the bitstream received from the video encoding apparatus 110.

구체적으로 비트스트림 해석부(121)는 수신한 비트스트림 정보를 인자 해석 단계에서 해석하여 구문 요소들에 대한 정보를 확인하고, 슬라이스 헤더에 저장된 코드워드 할당 정보를 추출할 수 있다. 이때, 코드워드 할당 정보는 코드워드 할당부(112)가 비트스트림의 구문 요소들에 대하여 할당한 코드워드의 정보일 수 있다.In detail, the bitstream analyzer 121 may interpret the received bitstream information in the factor analysis step to check information on syntax elements and extract codeword allocation information stored in the slice header. In this case, the codeword assignment information may be information of a codeword allocated by the codeword assignment unit 112 for syntax elements of the bitstream.

코드워드 판별부(122)는 코드워드 할당 정보를 기초로 비트스트림이 기본 코드워드로 부호화되었는지 여부를 확인한다.The codeword determination unit 122 checks whether the bitstream is encoded as a basic codeword based on the codeword assignment information.

복호화부(123)는 비트스트림이 기본 코드워드로 부호화되지 않은 경우에 비트스트림 해석부(121)에서 추출한 코드워드 할당 정보로 상기 비트스트림을 복호화한다.The decoder 123 decodes the bitstream using codeword allocation information extracted by the bitstream analyzer 121 when the bitstream is not encoded as a basic codeword.

이때, 복호화부(123)는 비트스트림이 기본 코드워드로 부호화된 경우에 비트스트림을 기본 코드워드로 복호화할 수 있다.In this case, the decoder 123 may decode the bitstream into the basic codeword when the bitstream is encoded into the basic codeword.

도 2는 본 발명에 따라 적응적으로 코드워드를 할당하는 영상 부호화 방법의 일례를 도시한 순서도이다.2 is a flowchart illustrating an example of an image encoding method for adaptively allocating codewords according to the present invention.

도 2는 구문 요소에 대한 통계를 위하여 부호화를 두 번에 걸쳐서 실시 하는 방법의 일례이다.2 is an example of a method of performing encoding twice for statistics on syntax elements.

단계(S210)에서 부호화 장치(110)는 부호화할 영상을 입력 받는다.In operation S210, the encoding apparatus 110 receives an image to be encoded.

단계(S220)에서 부호화부(113)는 단계(S210)에서 입력 받은 입력 영상을 슬라이스 단위로 부호화하여 부호화 데이터를 생성한다. 이때, 부호화부(113)는 기존의 부호화 방법을 사용하여 입력 영상을 부호화할 수 있다. 즉, 기본 코드워드를 사용하여 입력 영상을 부호화할 수 있다.In operation S220, the encoder 113 generates encoded data by encoding the input image received in operation S210 in units of slices. In this case, the encoder 113 may encode an input image by using an existing encoding method. That is, the input image may be encoded by using the basic codeword.

단계(S230)에서 특징 분석부(111)는 단계(S220)에서 입력 받은 입력 영상에 포함된 구문 요소들의 심볼 값 통계 혹은 단계(S220)에서 부호화된 부호화 데이터에 할당된 코드워드의 통계를 계산한다.In operation S230, the feature analyzer 111 calculates symbol value statistics of syntax elements included in the input image received in operation S220 or statistics of codewords allocated to encoded data encoded in operation S220. .

단계(S240)에서 코드워드 할당부(112)는 입력 영상의 구문 요소 부호화를 위하여 할당된 코드워드로 기본 코드워드가 적합한지 여부를 확인한다.In step S240, the codeword assignment unit 112 checks whether the basic codeword is suitable as the codeword allocated for the syntax element encoding of the input image.

코드워드의 적합한지 여부는 해당 코드워드로 부호화했을 때 발생하는 비트량, 부호화 대상 영상의 원본 영상 대비 왜곡을 이용할 수 있으며, 비트량과 부호화 대상 영상의 원본 영상 대비 왜곡을 함께 이용한 율-왜곡 비용을 이용할 수 있다. 이때, 어느 임계치 이하의 비트량 발생, 임계치 이하의 왜곡 발생, 임계치 이하의 율-왜곡 비용이 발생한 경우 코드워드가 적합하다고 판별할 수 있다.Whether or not the codeword is appropriate can be used by using the amount of bits generated when the codeword is encoded and the distortion compared to the original image of the encoding target image. Can be used. In this case, it may be determined that the codeword is appropriate when the amount of bits below a certain threshold, the distortion below the threshold, and the rate-distortion cost below the threshold occur.

일반적인 엔트로피 부호화에서 효율적인 부호화를 위해서는 통계적으로 발생 빈도가 높은 구문 요소의 심볼 값에 대해서는 짧은 길이의 코드워드를 할당하고, 빈도가 낮은 구문 요소의 심볼 값에 대해서는 상대적으로 긴 길이의 코드워드를 할당한다.For efficient encoding in general entropy encoding, short codewords are assigned to symbol values of statistically frequent syntax elements and relatively long codewords are assigned to symbol values of less frequently used syntax elements. .

또한, 구문 요소의 심볼 값들의 확률이 모두 유사할 경우에는 고정 길이 코드워드를 할당할 수 있다.In addition, when the probability of the symbol values of the syntax element is similar, the fixed length codeword may be allocated.

코드워드 할당부(112)는 상기 규칙을 사용하여 각 구문 요소들의 발생 빈도에 대한 통계가 할당된 코드워드에 적합한지 여부를 판단할 수 있다.The codeword assignment unit 112 may determine whether statistics about the occurrence frequency of each syntax element are suitable for the assigned codeword using the rule.

단계(S250)에서 코드워드 할당부(112)는 단계(S240)에서 기본 코드워드가 적합하지 않은 것으로 판단된 경우에 상기 규칙을 사용하여 적합한 코드워드를 재할당한다. 즉, 입력 영상의 특성과 부호화 데이터의 통계를 이용하여 재할당할 수 있다.In step S250, the codeword assignment unit 112 reassigns the appropriate codeword using the rule when it is determined in step S240 that the basic codeword is not suitable. That is, it can be reallocated using the characteristics of the input image and the statistics of the encoded data.

이때, 코드워드 할당부(112)는 구문 요소의 심볼 값 발생 빈도에 따라 코드워드 테이블 내에서 발생 빈도가 높은 심볼에 짧은 코드워드를 할당하고, 발생 빈도가 낮은 심볼에 대해서는 긴 코드워드를 할당하고, 하나의 구문 요소에 대해 발생하는 심볼 값 별 확률이 유사할 경우 심볼 값에 대해 고정길이 코드워드를 할당할 수 있다.In this case, the codeword assignment unit 112 allocates a short codeword to a symbol having a high occurrence frequency in the codeword table according to the occurrence of a symbol value of a syntax element, and allocates a long codeword to a symbol having a low occurrence frequency. For example, when the probability of each symbol value generated for one syntax element is similar, a fixed length codeword may be allocated to the symbol value.

단계(S260)에서 코드워드 할당부(112)는 단계(S250)에서 재할당한 코드워드에 대한 코드워드 할당 정보를 슬라이스 헤더에 저장한다.In step S260, the codeword assignment unit 112 stores the codeword assignment information for the codeword reassigned in step S250 in the slice header.

단계(S270)에서 부호화부(113)는 단계(S250)에서 재할당한 코드워드를 사용하여 입력 영상의 구문 요소를 부호화한다.In operation S270, the encoder 113 encodes syntax elements of the input image by using the reallocated codeword in operation S250.

단계(S320)에서 부호화부(113)는 기본 코드워드를 사용하여 입력 영상의 구문 요소를 부호화한다.In operation S320, the encoder 113 encodes syntax elements of the input image using the basic codeword.

단계(S290)에서 부호화부(113)는 단계(S240)에서 재할당된 코드워드보다 기본 코드워드가 적합한 것으로 판단된 경우에 기본 코드워드를 사용하여 입력 영상의 구문 요소를 부호화할 수 있으며, 단계(250)에서 재할당된 코드워드가 적합한 것으로 판단된 경우에는 재할당된 코드워드를 사용하여 입력 영상의 구문 요소를 부호화할 수 있다.In operation S290, the encoder 113 may encode syntax elements of the input image using the basic codeword when it is determined that the basic codeword is more suitable than the codeword reassigned in operation S240. If it is determined at 250 that the reassigned codeword is appropriate, the syntax element of the input image may be encoded using the reassigned codeword.

도 3은 본 발명에 따라 적응적으로 코드워드를 할당하는 영상 부호화 방법의 다른 예를 도시한 순서도이다.3 is a flowchart illustrating another example of an image encoding method for adaptively allocating codewords according to the present invention.

도 3은 부호화를 2번 하지 않고 구문 요소에 대한 통계를 계산하여 부호화 하는 방법이다.3 is a method of calculating and encoding statistics on syntax elements without performing encoding twice.

단계(S310)에서 부호화 장치(110)는 부호화할 영상을 입력 받는다.In operation S310, the encoding apparatus 110 receives an image to be encoded.

단계(S320)에서 부호화부(113)는 단계(S320)에서 입력 받은 입력 영상에 영상 특징 추출을 위한 전처리 과정을 실행하여 슬라이스 영상에 대한 특징을 추출한다.In operation S320, the encoder 113 extracts a feature of a slice image by executing a preprocessing process for extracting an image feature on the input image received in operation S320.

단계(S330)에서 특징 분석부(111)는 단계(S320)에서 추출한 특징을 기초로 각 구문 요소의 심볼 값의 발생 확률을 예측한다.In operation S330, the feature analyzer 111 predicts a probability of occurrence of a symbol value of each syntax element based on the feature extracted in operation S320.

단계(S340)에서 코드워드 할당부(112)는 입력 영상의 구문 요소 부호화를 위하여 기본 코드워드가 적합한지 여부를 확인한다.In step S340, the codeword assignment unit 112 checks whether the basic codeword is suitable for encoding the syntax elements of the input image.

코드워드의 적합한지 여부는 해당 코드워드로 부호화했을 때 발생하는 비트량, 부호화 대상 영상의 원본 영상 대비 왜곡을 이용할 수 있으며, 비트량과 부호화 대상 영상의 원본 영상 대비 왜곡을 함께 이용한 율-왜곡 비용을 이용할 수 있다. 이때, 어느 임계치 이하의 비트량 발생, 임계치 이하의 왜곡 발생, 임계치 이하의 율-왜곡 비용이 발생한 경우 코드워드가 적합하다고 판별할 수 있다.Whether or not the codeword is appropriate can be used by using the amount of bits generated when the codeword is encoded and the distortion compared to the original image of the encoding target image. Can be used. In this case, it may be determined that the codeword is appropriate when the amount of bits below a certain threshold, the distortion below the threshold, and the rate-distortion cost below the threshold occur.

일반적인 엔트로피 부호화에서 효율적인 부호화를 위해서는 통계적으로 발생 빈도가 높은 구문 요소의 심볼 값에 대해서는 짧은 길이의 코드워드를 할당하고, 빈도가 낮은 구문 요소의 심볼 값에 대해서는 상대적으로 긴 길이의 코드워드를 할당한다.For efficient encoding in general entropy encoding, short codewords are assigned to symbol values of statistically frequent syntax elements and relatively long codewords are assigned to symbol values of less frequently used syntax elements. .

또한, 구문 요소의 심볼 값들의 확률이 모두 유사할 경우에는 고정 길이 코드워드를 할당할 수 있다.In addition, when the probability of the symbol values of the syntax element is similar, the fixed length codeword may be allocated.

코드워드 할당부(112)는 상기 규칙을 사용하여 각 구문 요소들의 발생 빈도에 대한 통계가 할당된 코드워드에 적합한지 여부를 판단할 수 있다.The codeword assignment unit 112 may determine whether statistics about the occurrence frequency of each syntax element are suitable for the assigned codeword using the rule.

구체적으로 코드워드 할당부(112)는 입력 영상의 부호화를 위하여 기본 코드워드가 단계(S330)에서 발생 확률이 높은 것으로 예측된 구문 요소의 심볼 값의 코드워드에 대응하는지 여부를 확인할 수 있다.In detail, the codeword allocator 112 may determine whether the basic codeword corresponds to a codeword of a symbol value of a syntax element predicted to have a high probability of occurrence in step S330 for encoding the input image.

단계(S350)에서 코드워드 할당부(112)는 단계(S340)에서 기본 코드워드가 적합하지 않은 것으로 판단된 경우에 단계(S330)에서 예측한 심볼 값의 확률을 사용하여 구문 요소의 심볼 값에 적합한 코드워드를 재할당한다.In step S350, if it is determined in step S340 that the basic codeword is not suitable, the codeword assignment unit 112 uses the probability of the symbol value predicted in step S330 to apply the symbol value of the syntax element. Reallocate the appropriate codeword.

이때, 심볼 값의 확률이 높은 심볼에는 짧은 길이의 코드워드를 할당하고, 심볼 값의 확률이 낮은 심볼에는 긴 길이의 코드워드를 할당하여, 심볼 값에 적합한 코드워드를 재할당할 수 있다.In this case, a codeword of a short length may be allocated to a symbol having a high probability of a symbol value, and a codeword of a long length may be allocated to a symbol having a low probability of a symbol value and reallocated a codeword suitable for the symbol value.

또한, 특정 구문 요소의 심볼 값들의 확률이 모두 유사할 경우에는 고정 길이 코드워드를 할당할 수 있다.In addition, when the probability of the symbol values of a specific syntax element are all similar, a fixed length codeword may be allocated.

단계(S360)에서 코드워드 할당부(112)는 단계(S350)에서 재할당한 코드워드에 대한 코드워드 할당 정보를 슬라이스 헤더에 저장한다.In step S360, the codeword assignment unit 112 stores codeword assignment information for the codeword reassigned in step S350 in the slice header.

단계(S370)에서 부호화부(113)는 단계(S350)에서 재할당한 코드워드를 사용하여 입력 영상의 구문 요소를 부호화한다.In operation S370, the encoder 113 encodes syntax elements of the input image by using the reallocated codeword in operation S350.

단계(S380)에서 부호화부(113)는 기본 코드워드를 사용하여 입력 영상의 구문 요소를 부호화한다.In operation S380, the encoder 113 encodes a syntax element of the input image using the basic codeword.

단계(S390)에서 부호화부(113)는 단계(S340)에서 재할당된 코드워드보다 기본 코드워드가 적합한 것으로 판단된 경우에 기본 코드워드를 사용하여 입력 영상의 구문 요소를 부호화할 수 있으며, 단계(350)에서 재할당된 코드워드가 적합한 것으로 판단된 경우에는 재할당된 코드워드를 사용하여 입력 영상의 구문 요소를 부호화할 수 있다.In operation S390, the encoder 113 may encode syntax elements of the input image using the basic codeword when it is determined that the basic codeword is more suitable than the codeword reassigned in operation S340. If it is determined in step 350 that the reassigned codeword is appropriate, the syntax element of the input image may be encoded using the reassigned codeword.

도 4는 본 발명에 따라 적응적으로 코드워드를 할당하는 영상 부호화 방법의 또 다른 예를 도시한 순서도이다.4 is a flowchart illustrating still another example of an image encoding method for adaptively allocating codewords according to the present invention.

도 4는 코드워드 재할당에 의하여 슬라이스 부호화를 통해 구해진 구문 요소의 심볼 값에 대한 통계가 변경되는 경우를 감안한 부호화 방법의 일례이다.4 is an example of an encoding method in consideration of a case in which statistics on symbol values of syntax elements obtained through slice encoding are changed by codeword reallocation.

단계(S410)에서 부호화 장치(110)는 부호화할 영상을 입력 받는다.In operation S410, the encoding apparatus 110 receives an image to be encoded.

단계(S420)에서 부호화부(113)는 단계(S410)에서 입력 받은 입력 영상을 슬라이스 단위로 부호화하여 부호화 데이터를 생성한다. 이때, 부호화부(113)는 기존의 부호화 방법을 사용하여 입력 영상을 부호화할 수 있다. 즉, 기본 코드워드를 사용하여 입력 영상을 부호화할 수 있다.In operation S420, the encoder 113 generates encoded data by encoding the input image received in operation S410 in units of slices. In this case, the encoder 113 may encode an input image by using an existing encoding method. That is, the input image may be encoded by using the basic codeword.

단계(S430)에서 특징 분석부(111)는 단계(S420)에서 입력 받은 입력 영상에 포함된 구문 요소들의 심볼 값 통계 혹은 단계(S430)에서 부호화된 부호화 데이터에 할당된 코드워드의 통계를 계산한다.In operation S430, the feature analyzer 111 calculates symbol value statistics of syntax elements included in the input image input in operation S420 or statistics of codewords allocated to encoded data encoded in operation S430. .

단계(S440)에서 코드워드 할당부(112)는 입력 영상의 부호화를 위하여 할당된 코드워드로 기본 코드워드가 적합한지 여부를 확인한다.In step S440, the codeword assignment unit 112 checks whether the basic codeword is suitable as the codeword allocated for encoding the input image.

코드워드의 적합한지 여부는 해당 코드워드로 부호화했을 때 발생하는 비트량, 부호화 대상 영상의 원본 영상 대비 왜곡을 이용할 수 있으며, 비트량과 부호화 대상 영상의 원본 영상 대비 왜곡을 함께 이용한 율-왜곡 비용을 이용할 수 있다. 이때, 어느 임계치 이하의 비트량 발생, 임계치 이하의 왜곡 발생, 임계치 이하의 율-왜곡 비용이 발생한 경우 코드워드가 적합하다고 판별할 수 있다.Whether or not the codeword is appropriate can be used by using the amount of bits generated when the codeword is encoded and the distortion compared to the original image of the encoding target image. Can be used. In this case, it may be determined that the codeword is appropriate when the amount of bits below a certain threshold, the distortion below the threshold, and the rate-distortion cost below the threshold occur.

일반적인 엔트로피 부호화에서 효율적인 부호화를 위해서는 통계적으로 발생 빈도가 높은 구문 요소의 심볼 값에 대해서는 짧은 길이의 코드워드를 할당하고, 빈도가 낮은 구문 요소의 심볼 값에 대해서는 상대적으로 긴 길이의 코드워드를 할당한다.For efficient encoding in general entropy encoding, short codewords are assigned to symbol values of statistically frequent syntax elements and relatively long codewords are assigned to symbol values of less frequently used syntax elements. .

또한, 구문 요소의 심볼 값들의 확률이 모두 유사할 경우에는 고정 길이 코드워드를 할당할 수 있다.In addition, when the probability of the symbol values of the syntax element is similar, the fixed length codeword may be allocated.

코드워드 할당부(112)는 상기 규칙을 사용하여 각 구문 요소들의 발생 빈도에 대한 통계가 할당된 코드워드에 적합한지 여부를 판단할 수 있다.The codeword assignment unit 112 may determine whether statistics about the occurrence frequency of each syntax element are suitable for the assigned codeword using the rule.

단계(S450)에서 코드워드 할당부(112)는 단계(S440)에서 기본 코드워드가 적합하지 않은 것으로 판단된 경우에 상기 규칙을 사용하여 입력 영상의 부호화에 적합한 코드워드를 재할당한다. 즉, 입력 영상의 특성과 부호화 데이터의 통계를 이용하여 재할당할 수 있다.In step S450, if it is determined in step S440 that the basic codeword is not suitable, the codeword assignment unit 112 reallocates the codeword suitable for encoding the input image using the above rule. That is, it can be reallocated using the characteristics of the input image and the statistics of the encoded data.

코드워드의 재할당 및 적합 여부 확인은 이하 도 5를 사용하여 상세히 설명한다.The reassignment and conformance check of the codeword will be described in detail with reference to FIG. 5.

단계(S460)에서 코드워드 할당부(112)는 단계(S450)에서 재할당한 코드워드에 대한 코드워드 할당 정보를 슬라이스 헤더에 저장한다.In step S460, the codeword assignment unit 112 stores the codeword assignment information for the codeword reassigned in step S450 in the slice header.

단계(S470)에서 부호화부(113)는 단계(S450)에서 재할당한 코드워드를 사용하여 입력 영상의 구문 요소를 부호화한다.In step S470, the encoder 113 encodes syntax elements of the input image using the reassigned codeword in step S450.

단계(S480)에서 부호화부(113)는 기본 코드워드를 사용하여 입력 영상의 구문 요소를 부호화한다.In operation S480, the encoder 113 encodes a syntax element of the input image using the basic codeword.

단계(S490)에서 부호화부(113)는 단계(S440)에서 재할당된 코드워드보다 기본 코드워드가 적합한 것으로 판단된 경우에 기본 코드워드를 사용하여 입력 영상의 구문 요소를 부호화할 수 있으며, 단계(450)에서 재할당된 코드워드가 적합한 것으로 판단된 경우에는 재할당된 코드워드를 사용하여 입력 영상의 구문 요소를 부호화할 수 있다.In operation S490, the encoder 113 may encode syntax elements of the input image using the basic codeword when it is determined that the basic codeword is more suitable than the codeword reassigned in operation S440. If it is determined at 450 that the reallocated codeword is appropriate, the syntax element of the input image may be encoded using the reallocated codeword.

도 5는 본 발명에 따라 코드워드를 재할당하고, 재할당된 코드워드의 적합 여부를 확인하는 방법을 도시한 순서도이다. 여기서, 단계(S510) 내지 단계(S540)는 도 4를 통해 설명한 단계(S450)에 포함될 수 있다.5 is a flowchart illustrating a method of reallocating codewords and confirming whether the reallocated codewords are suitable according to the present invention. Here, steps S510 to S540 may be included in step S450 described with reference to FIG. 4.

단계(S510)에서 코드워드 할당부(112)는 발생 빈도가 높은 구문 요소의 심볼 값에 대해서는 짧은 길이의 코드워드를 할당하고, 빈도가 낮은 구문 요소의 심볼 값에 대해서는 상대적으로 긴 길이의 코드워드를 할당하는 규칙을 사용하여 입력 영상의 부호화에 적합한 코드워드를 구문 요소에 재할당한다.In step S510, the codeword allocator 112 allocates a short length codeword to a symbol value of a frequently generated syntax element and a codeword of a relatively long length to a symbol value of a syntax element having a low frequency. The codeword suitable for encoding the input image is reassigned to the syntax element by using a rule for assigning a.

단계(S520)에서 부호화부(113)는 단계(S510)에서 재할당된 코드워드를 사용하여 입력 영상의 구문 요소를 부호화 한다.In operation S520, the encoder 113 encodes a syntax element of the input image using the codeword reassigned in operation S510.

단계(S530)에서 특징 분석부(111)는 단계(S520)에서 부호화된 부호화 데이터에서 구문 요소의 심볼 값에 대한 통계를 계산한다.In operation S530, the feature analyzer 111 calculates statistics on symbol values of syntax elements in the encoded data encoded in operation S520.

단계(S540)에서 코드워드 할당부(112)는 입력 영상의 구문 요소의 심볼 값 부호화를 위하여 할당된 코드워드로 단계(S510)에서 재할당된 코드워드가 적합한지 여부를 확인한다.In step S540, the codeword assignment unit 112 checks whether the codeword reassigned in step S510 is suitable as the codeword allocated for symbol value encoding of syntax elements of the input image.

구체적으로 코드워드 할당부(112)는 단계(S510)에서 재할당된 코드워드가 단계(S530)에서 계산된 통계와 적합한지 여부를 확인하고, 적합하지 않는 경우에 단계(S510)를 다시 실행하여 적합한 코드워드가 재할당될 때까지 반복할 수 있다.Specifically, the codeword assignment unit 112 checks whether the codeword reassigned in step S510 is suitable for the statistics calculated in step S530, and if not, executes step S510 again. You can repeat until the appropriate codeword is reallocated.

코드워드의 적합한지 여부는 해당 코드워드로 부호화했을 때 발생하는 비트량, 부호화 대상 영상의 원본 영상 대비 왜곡을 이용할 수 있으며, 비트량과 부호화 대상 영상의 원본 영상 대비 왜곡을 함께 이용한 율-왜곡 비용을 이용할 수 있다. 이때, 어느 임계치 이하의 비트량 발생, 임계치 이하의 왜곡 발생, 임계치 이하의 율-왜곡 비용이 발생한 경우 코드워드가 적합하다고 판별할 수 있다.Whether or not the codeword is appropriate can be used by using the amount of bits generated when the codeword is encoded and the distortion compared to the original image of the encoding target image. Can be used. In this case, it may be determined that the codeword is appropriate when the amount of bits below a certain threshold, the distortion below the threshold, and the rate-distortion cost below the threshold occur.

일반적인 엔트로피 부호화에서 효율적인 부호화를 위해서는 통계적으로 발생 빈도가 높은 구문 요소의 심볼 값에 대해서는 짧은 길이의 코드워드를 할당하고, 빈도가 낮은 구문 요소의 심볼 값에 대해서는 상대적으로 긴 길이의 코드워드를 할당한다.For efficient encoding in general entropy encoding, short codewords are assigned to symbol values of statistically frequent syntax elements and relatively long codewords are assigned to symbol values of less frequently used syntax elements. .

또한, 구문 요소의 심볼 값들의 확률이 모두 유사할 경우에는 고정 길이 코드워드를 할당할 수 있다.In addition, when the probability of the symbol values of the syntax element is similar, the fixed length codeword may be allocated.

코드워드 할당부(112)는 상기 규칙을 사용하여 각 구문 요소들의 발생 빈도에 대한 통계가 할당된 코드워드에 적합한지 여부를 판단할 수 있다.The codeword assignment unit 112 may determine whether statistics about the occurrence frequency of each syntax element are suitable for the assigned codeword using the rule.

도 6은 본 발명에 따라 적응적으로 코드워드를 할당하는 영상 복호화 방법을 도시한 순서도이다.6 is a flowchart illustrating an image decoding method of adaptively allocating codewords according to the present invention.

단계(S610)에서 비트스트림 해석부(121)는 영상 부호화 장치(110)로부터 비트스트림을 수신한다.In operation S610, the bitstream analyzer 121 receives a bitstream from the image encoding apparatus 110.

단계(S620)에서 비트스트림 해석부(121)는 단계(S610)에서 수신한 비트스트림의 슬라이스 헤더에서 슬라이스 특징 및 코드워드 할당 정보를 추출한다.In step S620, the bitstream analyzer 121 extracts slice feature and codeword assignment information from the slice header of the bitstream received in step S610.

구체적으로 비트스트림 해석부(121)는 수신한 비트스트림 정보를 인자 해석 (Parsing) 단계에서 해석하여 구문 요소들에 대한 정보를 확인하고, 슬라이스 헤더에 저장된 코드워드 할당 정보를 추출할 수 있다. 이때, 코드워드 할당 정보는 코드워드 할당부(112)가 비트스트림의 구문 요소들에 대하여 할당한 코드워드의 정보이다.In detail, the bitstream analyzer 121 may interpret the received bitstream information in the parsing step to check information on syntax elements and extract codeword allocation information stored in the slice header. In this case, the codeword assignment information is information of codewords allocated by the codeword assignment unit 112 for syntax elements of the bitstream.

단계(S630)에서 코드워드 판별부(122)는 단계(S620)에서 추출한 코드워드 할당 정보를 기초로 비트스트림이 기본 코드워드로 부호화되었는지 여부를 확인한다.In step S630, the codeword determination unit 122 checks whether the bitstream is encoded as a basic codeword based on the codeword assignment information extracted in step S620.

단계(S640)에서 복호화부(123)는 비트스트림이 기본 코드워드로 부호화되지 않고 재할당된 코드워드로 부호화된 경우에 비트스트림 해석부(121)에서 추출한 코드워드 할당 정보에 기반하여 상기 비트스트림을 복호화한다.In step S640, the decoder 123 performs the bitstream based on the codeword allocation information extracted by the bitstream analyzer 121 when the bitstream is encoded with the reallocated codeword instead of the basic codeword. Decrypt

단계(S650)에서 복호화부(123)는 비트스트림이 기본 코드워드로 부호화된 경우에 비트스트림을 기본 코드워드로 복호한다.In step S650, the decoder 123 decodes the bitstream into the basic codeword when the bitstream is encoded into the basic codeword.

단계(S660)에서 복호화부(123)는 단계(S640), 또는 단계(S650)에서 복호화된 영상을 출력한다.In operation S660, the decoder 123 outputs the image decoded in operation S640 or S650.

본 발명은 구문 요소의 심볼 값에 대하여 적응적으로 코드워드를 할당함으로써 다양한 영상 크기와 다양한 부호화 비트율을 가지는 영상 부호화 환경에서 부호화 성능을 향상시킬 수 있다.The present invention can improve coding performance in an image encoding environment having various image sizes and various encoding bit rates by adaptively assigning codewords to symbol values of syntax elements.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the claims below but also by the equivalents of the claims.

110: 부호화 장치
111: 특징 분석부
112: 코드워드 할당부
120: 복호화 장치
110: encoding device
111: feature analysis unit
112: codeword assignment unit
120: decryption device

Claims (1)

입력 영상의 특징과 상기 입력 영상을 부호화한 부호화 데이터의 특징을 분석하는 특징 분석부;
상기 부호화 데이터의 특징에 따라 상기 입력 영상을 부호화할 때 사용하는 구문 요소의 심볼 값에 코드워드를 할당하는 코드워드 할당부; 및
상기 코드워드로 상기 입력 영상의 구문 요소를 부호화하여 비트스트림을 생성하는 부호화부
를 포함하는 영상 부호화 장치.
A feature analyzer configured to analyze a feature of an input image and a feature of encoded data encoding the input image;
A codeword allocator for allocating a codeword to a symbol value of a syntax element used to encode the input image according to a feature of the encoded data; And
An encoder which generates a bitstream by encoding a syntax element of the input image using the codeword
Image encoding apparatus comprising a.
KR1020100112873A 2009-11-12 2010-11-12 Method and apparatus for video encoding/decoding using adaptive codeword assignment to syntax element KR20110052527A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20090109026 2009-11-12
KR1020090109026 2009-11-12
KR1020100045496 2010-05-14
KR1020100045496A KR20110052427A (en) 2009-11-12 2010-05-14 Method and apparatus for video encoding/decoding using adaptive codeword assignment to syntax element

Publications (1)

Publication Number Publication Date
KR20110052527A true KR20110052527A (en) 2011-05-18

Family

ID=44362535

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020100045496A KR20110052427A (en) 2009-11-12 2010-05-14 Method and apparatus for video encoding/decoding using adaptive codeword assignment to syntax element
KR1020100112873A KR20110052527A (en) 2009-11-12 2010-11-12 Method and apparatus for video encoding/decoding using adaptive codeword assignment to syntax element

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020100045496A KR20110052427A (en) 2009-11-12 2010-05-14 Method and apparatus for video encoding/decoding using adaptive codeword assignment to syntax element

Country Status (1)

Country Link
KR (2) KR20110052427A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101717377B1 (en) * 2015-11-30 2017-03-17 재단법인대구경북과학기술원 Device and method for head pose estimation
CN108989810A (en) * 2017-06-03 2018-12-11 上海天荷电子信息有限公司 The data compression method and device of byte stream or bit stream is respectively adopted in different components

Also Published As

Publication number Publication date
KR20110052427A (en) 2011-05-18

Similar Documents

Publication Publication Date Title
US10277903B2 (en) Video encoding method and video encoding for signaling SAO parameters
US8294603B2 (en) System and method for providing high throughput entropy coding using syntax element partitioning
GB2619184A (en) Low complexity enhancement video coding
JP5752268B2 (en) High layer syntax for temporal scalability
JP2014535227A (en) Method and apparatus for decoding and encoding slice layer parameter set
TW201725905A (en) Entropy coding techniques for display stream compression (DSC) of non-4:4:4 chroma sub-sampling
US20060159352A1 (en) Method and apparatus for encoding a video sequence
WO2013000304A1 (en) Loop filtering encoding and decoding methods and devices
TW201924339A (en) Binary arithmetic coding with progressive modification of adaptation parameters
KR102281518B1 (en) Method and apparatus for image encoding/decoding
KR20110052527A (en) Method and apparatus for video encoding/decoding using adaptive codeword assignment to syntax element
US20150334391A1 (en) Region-based processing of predicted pixels
JP7217784B2 (en) Determining device, encoding device, decoding device and program
CN113615183A (en) Flexible allocation of conventional binary bits in residual coding for video coding

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination