KR101009740B1 - Apparatus and method for efficient implementation of the rate-distortion optimized mode decision algorithm - Google Patents

Apparatus and method for efficient implementation of the rate-distortion optimized mode decision algorithm Download PDF

Info

Publication number
KR101009740B1
KR101009740B1 KR1020090022492A KR20090022492A KR101009740B1 KR 101009740 B1 KR101009740 B1 KR 101009740B1 KR 1020090022492 A KR1020090022492 A KR 1020090022492A KR 20090022492 A KR20090022492 A KR 20090022492A KR 101009740 B1 KR101009740 B1 KR 101009740B1
Authority
KR
South Korea
Prior art keywords
bit rate
bit
context
mps
probability state
Prior art date
Application number
KR1020090022492A
Other languages
Korean (ko)
Other versions
KR20100104220A (en
Inventor
경종민
함종민
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020090022492A priority Critical patent/KR101009740B1/en
Publication of KR20100104220A publication Critical patent/KR20100104220A/en
Application granted granted Critical
Publication of KR101009740B1 publication Critical patent/KR101009740B1/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

비트율 추정 방법은 이진화 단계, 문맥 그룹화 단계 및 비트율 결정 단계를 포함한다. 이진화 단계는 입력 신호를 수신하여 이진화를 수행하여 0 또는 1의 값을 갖는 비트들의 연속인 비트열을 출력한다. 문맥 그룹화 단계는 상기 비트열을 수신하여 동일한 문맥을 사용하는 데이터끼리 그룹화하여 문맥 그룹을 생성한다. 비트율 결정 단계는 제 1 및 제 2 비트율 추정 테이블들을 이용하여 상기 문맥 그룹별로 추정 비트율을 결정하고 상기 문맥 그룹별 추정 비트율을 합산하여 비트율 출력을 제공한다.The bit rate estimation method includes a binarization step, a context grouping step, and a bit rate determination step. The binarization step receives an input signal and performs binarization to output a bit string that is a sequence of bits having a value of 0 or 1. The context grouping step generates the context group by receiving the bit string and grouping data using the same context. The bit rate determining step determines the estimated bit rate for each context group using first and second bit rate estimation tables and adds the estimated bit rates for each context group to provide a bit rate output.

Description

율-왜곡 최적화된 모드 결정 알고리즘의 효율적인 구현을 위한 비트율 추정 장치 및 방법 {APPARATUS AND METHOD FOR EFFICIENT IMPLEMENTATION OF THE RATE-DISTORTION OPTIMIZED MODE DECISION ALGORITHM}Apparatus and Method for Bit Rate Estimation for Efficient Implementation of Rate-Distortion Optimized Mode Decision Algorithm {APPARATUS AND METHOD FOR EFFICIENT IMPLEMENTATION OF THE RATE-DISTORTION OPTIMIZED MODE DECISION ALGORITHM}

본 발명은 비트율(bit-rate) 추정 장치 및 방법에 관한 것으로, 보다 상세하게는 율-왜곡 최적화된 모드 결정 알고리즘(rate-distortion optimized mode decision algorithm)의 효율적인 구현을 위한 비트율 추정 방치 및 방법에 관한 것이다.The present invention relates to a bit rate estimation apparatus and method, and more particularly, to a bit rate estimation method and method for efficient implementation of a rate-distortion optimized mode decision algorithm. will be.

영상 압축 기술의 발전에 따라 복잡한 알고리즘들이 부호화기에 많이 추가되게 되었고, 그로인해 부호화 단위(예를 들면, 매크로 블록)당 선택할 수 있는 부호화 모드의 개수가 증가하였다. 이와 같이 많은 부호화 모드 중에서 하나의 모드를 선택하기 위해서는 특정 기준이 산정되어야 한다. 그 중 좋은 성능을 보이는 것이 아래 [수학식 1]의 율-왜곡 비용 함수(rate-distortion cost function)이다.With the development of image compression technology, many complex algorithms have been added to the encoder, thereby increasing the number of encoding modes that can be selected per coding unit (eg, macroblock). In order to select one mode among many encoding modes, a specific criterion must be calculated. The best performance among them is the rate-distortion cost function of Equation 1 below.

[수학식 1][Equation 1]

J = D + λRJ = D + λ R

여기서, λ는 라그랑제 곱수(Lagrange multiplier)를 나타내고, D는 원본 영상에 비해 부호화된 영상이 얼마나 손실되었는지를 나타내는 지표이고, R은 후보 부호화 단위에 대한 보든 부호화 과정이 완료된 후 실제로 전송되는 비트의 수(bit-rate)를 나타낸다. 상기의 율-왜곡 비용 함수를 최소화 하도록 부호화 단위의 모드를 결정하는 방법을 율-왜곡 최적화된 모드 결정 알고리즘(rate-distortion optimized mode decision algorithm)이라고 한다. 상기 알고리즘을 사용할 경우 H.264/AVC에서 보통 사용되는 저복잡도 모드 결정 알고리즘을 사용하는 경우에 비해 동일 화질을 얻기 위한 데이터의 크기는 감소하나 부호화기의 복잡도는 증가하게 된다.Here, λ denotes a Lagrange multiplier, D denotes how much the encoded image is lost compared to the original image, and R denotes a bit that is actually transmitted after the encoding process is completed for the candidate coding unit. Represents a bit-rate. A method of determining a mode of a coding unit to minimize the rate-distortion cost function is called a rate-distortion optimized mode decision algorithm. When the algorithm is used, the size of data to obtain the same image quality is reduced, but the complexity of the encoder is increased, compared to the case of using the low complexity mode decision algorithm commonly used in H.264 / AVC.

즉, 율-왜곡 최적화된 모드 결정 알고리즘에서 비트율(bit-rate, R)을 구하기 위해서는 후보 부호화 단위에 대해 실제로 부호화를 실행하여 최종 비트수를 구해야 하므로, 한 개의 부호화 단위의 모드를 결정하기 위한 후보가 10개가 있다면 10개의 부호화 단위를 부호화해 본 후에야 한 부호화 단위에 대한 모드를 결정할 수 있게 되어 부호화기의 복잡도가 증가하게 되고 모드 결정 속도도 느려지게 되는 것이다.That is, in order to obtain a bit-rate (R) in the rate-distortion optimized mode determination algorithm, since the actual number of bits must be obtained by performing encoding on the candidate coding unit, the candidate for determining the mode of one coding unit. If there are 10, the mode for one coding unit can be determined only after coding 10 coding units, thereby increasing the complexity of the encoder and slowing down the mode decision speed.

따라서 부호화기의 복잡도를 감소시키면서도 후보 부호화 단위에 대해 비트율을 빠르게 추정하는 방법 및 장치가 요구된다.Accordingly, there is a need for a method and apparatus for rapidly estimating a bit rate for a candidate coding unit while reducing the complexity of the encoder.

H.264/AVC 표준으로 채택된 엔트로피 부호화 알고리즘은 CAVLC(Context-Adaptive Variable Length Coding)와 CABAC(Context-Adaptive Binary Arithmetic Coding)의 두 가지가 있는데, 이 중에서 CABAC은 CAVLC보다 복잡하지만 더 좋은 압축 효율을 얻을 수 있다. 지금까지는 대부분 CAVLC를 기반으로 하는 부호화기 시스템이 사용되고 있고 비트율을 빠르게 계산하는 방법에 관한 연구도 CAVLC를 기반으 로 하는 부호화기 시스템에 대해 진행되고 있으나, 앞으로는 고성능 부호화기에 대한 수요가 많아짐에 따라 CABAC을 기반으로 하는 부호화기에 있어서도 부호화기의 복잡도를 감소시키면서도 부호화기의 속도 향상을 위해 비트율을 빠르게 계산하는 방법 및 장치가 필요하다.There are two entropy coding algorithms adopted as the H.264 / AVC standard: Context-Adaptive Variable Length Coding (CAVLC) and Context-Adaptive Binary Arithmetic Coding (CABAC). Of these, CABAC is more complex than CAVLC but has better compression efficiency. Can be obtained. Up to now, CAVLC-based encoder system has been used and research on how to calculate bit rate quickly has been conducted on encoder system based on CAVLC. However, as the demand for high-performance encoder increases, CABAC-based There is also a need for a method and apparatus for quickly calculating a bit rate in order to improve the speed of an encoder while reducing the complexity of the encoder.

이에 따라, 본 발명의 일 목적은 CABAC을 엔트로피 부호화기로 사용하는 시스템에서 비트율을 효과적으로 추정할 수 있는 장치를 제공하는데 있다.Accordingly, an object of the present invention is to provide an apparatus capable of effectively estimating a bit rate in a system using CABAC as an entropy encoder.

본 발명의 일 목적은 CABAC을 엔트로피 부호화기로 사용하는 시스템에서 비트율을 효과적으로 추정할 수 있는 방법을 제공하는 데 있다.One object of the present invention is to provide a method for effectively estimating a bit rate in a system using CABAC as an entropy encoder.

상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 제 1 실시예에 따른 비트율 추정 장치는 이진화부, 문맥 로더 및 테이블 판독부를 포함한다. 상기 이진화부는 입력 신호를 수신하여 이진화(binarization)를 수행하고 비트열(bit stream)을 제공한다. 상기 문맥 로더는 상기 비트열을 수신하여 상기 비트열이 사용하는 문맥(context)을 파악하고 해당 문맥과 관련된 문맥 데이터를 제공한다. 상기 테이블 판독부는 상기 비트열 및 상기 문맥 데이터를 수신하여 비트율(bit-rate) 추정 테이블을 이용하여 비트율 출력을 제공한다.In order to achieve the above object of the present invention, the bit rate estimation apparatus according to the first embodiment of the present invention includes a binarization unit, a context loader, and a table reading unit. The binarizer receives an input signal, performs binarization, and provides a bit stream. The context loader receives the bit string to determine the context used by the bit string and provides context data associated with the context. The table reader receives the bit string and the context data and provides a bit rate output using a bit rate estimation table.

실시예에 있어서, 상기 비트율 추정 장치는 상기 문맥 데이터 및 상기 비트율 추정 테이블을 저장하는 메모리부를 더 포함할 수 있다.The bit rate estimating apparatus may further include a memory unit configured to store the context data and the bit rate estimation table.

실시예에 있어서, 상기 문맥 데이터는 0 과 1 중에서 발생 확률이 더 높은 심볼을 나타내는 최대확률심볼(Most Probable Symbol, MPS) 및 상기 MPS가 발생할 확률을 나타내는 확률상태 지시자를 포함할 수 있다.In example embodiments, the context data may include a maximum probability symbol (MPS) indicating a symbol having a higher probability of occurrence, and a probability state indicator indicating a probability of occurrence of the MPS.

실시예에 있어서, 상기 확률상태 지시자는 0이상 62이하의 정수값을 갖고, 상기 MPS가 발생할 확률은 상기 확률상태 지시자의 값이 증가할수록 증가할 수 있다.In an embodiment, the probability state indicator has an integer value between 0 and 62, and the probability of occurrence of the MPS may increase as the value of the probability state indicator increases.

실시예에 있어서, 비트율 추정 테이블은 상기 확률상태 지시자의 각각의 값에 대하여, 상기 비트열에 포함되는 비트가 상기 MPS와 일치하는 경우와 상기 비트열에 포함되는 비트가 상기 MPS와 일치하지 않는 경우 각각에 대한 추정 비트율을 저장할 수 있다.In an embodiment, the bit rate estimation table is provided for each value of the probability state indicator, respectively, when a bit included in the bit string matches the MPS and a bit included in the bit string does not match the MPS. The estimated bit rate can be stored.

실시예에 있어서, 상기 추정 비트율은 CABAC(Context-Adaptive Binary Arithmetic Coding) 알고리즘의 내부변수인 range를 256이상 510이하의 정수값을 갖는 확률변수로 모델링함으로써 상기 확률상태 지시자 각각의 값에 대하여 확률적으로 결정될 수 있다.In an embodiment, the estimated bit rate is probabilistic for each value of the probability state indicator by modeling a range, which is an internal variable of a CABAC algorithm, as a random variable having an integer value of 256 or more and 510 or less. Can be determined.

실시예에 있어서, 상기 추정 비트율은 아래의 [수학식 1]을 이용하여 생성될 수 있다(여기서, σ는 상기 확률상태 지시자를 나타내고, α는 상기 비트열에 포함되는 각각의 비트를 나타내고, B(σ,α)는 주어진 σ 및 α에 대해 확률적으로 생성되는 상기 추정 비트율을 나타내고,

Figure 112009015984932-pat00001
는 상기 range가 A인 경우 구간세분화(interval subdivision)한 이후의 변경된 range를 나타내고,
Figure 112009015984932-pat00002
(k)|σ,α는 주어진 σ 및 α에 대해 상기
Figure 112009015984932-pat00003
가 특정 값 k가 될 확률을 나타내고, b(k)는 상기
Figure 112009015984932-pat00004
가 특정 값 k일 경우 재정규화(renormalization) 과정을 통해 생성되는 비트의 수를 나타낸다).In an embodiment, the estimated bit rate may be generated using Equation 1 below, where σ represents the probability state indicator, α represents each bit included in the bit string, and B ( σ, α) represents the estimated bit rate produced probabilistic for a given σ and α,
Figure 112009015984932-pat00001
Represents a changed range after interval subdivision when the range is A,
Figure 112009015984932-pat00002
(k) | σ, α is for the given σ and α
Figure 112009015984932-pat00003
Denotes the probability of being a specific value k, and b (k) is
Figure 112009015984932-pat00004
Is a specific value k, it represents the number of bits generated through the renormalization process).

[수학식 1][Equation 1]

Figure 112009015984932-pat00005
Figure 112009015984932-pat00005

실시예에 있어서, 상기

Figure 112009015984932-pat00006
(k)|σ,α는 아래의 [수학식 2]에 의해 생성될 수 있다(여기서, pA는 상기 range의 확률분포를 나타내고, δ는 두 인자가 서로 같을 경우에는 1을 갖고 두 인자가 서로 다를 경우에는 0을 갖는 함수를 나타내고,
Figure 112009015984932-pat00007
|σ,α는 상기 range가 a인 경우에 주어진 σ 및 α에 대해 구간세분화한 결과를 나타낸다). In an embodiment, the
Figure 112009015984932-pat00006
(k) | σ, α can be generated by Equation 2 below, where p A represents the probability distribution of the range, δ is 1 when the two factors are equal to each other, and Represents a function with zero,
Figure 112009015984932-pat00007
| σ, α represents the result of interval segmentation for σ and α given when the range is a).

[수학식 2][Equation 2]

Figure 112009015984932-pat00008
Figure 112009015984932-pat00008

실시예에 있어서, 상기 비트율 출력은 아래의 [수학식 3]에 의해 생성될 수 있다(여기서, x는 특정 부호화 단위 데이터를 나타내고, Rx는 상기 특정 부호화 단위 데이터의 추정 비트율을 나타내고, αk는 상기 비트열에 포함되는 k번째 비트를 나타내고, σk는 상기 비트열에 포함되는 k번째 비트 처리시에 로딩한 상기 확률상태 지시자의 값을 나타내고, B(σkk)는 주어진 σk 및 αk에 대해 상기 비트율 추정 테이블로부터 판독한 추정 비트율을 나타낸다).In an embodiment, the bit rate output may be generated by Equation 3 below (where x represents specific coding unit data, R x represents an estimated bit rate of the specific coding unit data, and α k Denotes the k-th bit included in the bit string, σ k denotes the value of the probability state indicator loaded in the k-th bit processing included in the bit string, and B (σ k , α k ) denotes the given σ k and the estimated bit rate read from the bit rate estimation table for α k ).

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

Figure 112009015984932-pat00009
Figure 112009015984932-pat00009

상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 제 1 실시예에 따른 비트율 추정 방법은 이진화 단계, 문맥 로딩 단계 및 테이블 판독 단계를 포함한다. 상기 이진화 단계는 입력 신호를 수신하여 이진화(binarization)를 수행하고 비트열(bit stream)을 제공한다. 상기 문맥 로딩 단계는 상기 비트열을 수신하여 상기 비트열이 사용하는 문맥(context)을 파악하고 해당 문맥과 관련된 문맥 데이터를 제공한다. 상기 테이블 판독 단계는 상기 비트열 및 상기 문맥 데이터를 수신하여 비트율(bit-rate) 추정 테이블을 이용하여 비트율 출력을 제공한다.In order to achieve the above object of the present invention, the bit rate estimation method according to the first embodiment of the present invention includes a binarization step, a context loading step and a table reading step. The binarization step receives an input signal, performs binarization, and provides a bit stream. The context loading step receives the bit string to determine the context used by the bit string and provides context data associated with the context. The table reading step receives the bit string and the context data and provides a bit rate output using a bit-rate estimation table.

실시예에 있어서, 상기 문맥 데이터는 0 과 1 중에서 발생 확률이 더 높은 심볼을 나타내는 최대확률심볼(Most Probable Symbol, MPS) 및 상기 MPS가 발생할 확률을 나타내는 확률상태 지시자를 포함할 수 있다.In example embodiments, the context data may include a maximum probability symbol (MPS) indicating a symbol having a higher probability of occurrence, and a probability state indicator indicating a probability of occurrence of the MPS.

실시예에 있어서, 상기 비트율 추정 테이블은 상기 확률상태 지시자의 각각의 값에 대하여, 상기 비트열에 포함되는 비트가 상기 MPS와 일치하는 경우와 상기 비트열에 포함되는 비트가 상기 MPS와 일치하지 않는 경우 각각에 대한 추정 비트율을 저장할 수 있다.In an embodiment, the bit rate estimation table may be configured for each value of the probability state indicator when the bits included in the bit string match the MPS and when the bits included in the bit string do not match the MPS. It can store the estimated bit rate for.

실시예에 있어서, 상기 테이블 판독 단계는 상기 비트열에 포함되는 비트가 상기 MPS와 일치하는지 여부를 판단하는 단계, 상기 비트열에 포함되는 비트가 상기 MPS와 일치하는 경우에는 상기 비트율 추정 테이블로부터 상기 확률상태 지시자의 현재의 값에 대하여 상기 비트열에 포함되는 비트가 상기 MPS와 일치하는 경우에 대한 추정 비트율을 판독하고, 상기 비트열에 포함되는 비트가 상기 MPS와 일치하지 않는 경우에는 상기 비트율 추정 테이블로부터 상기 확률상태 지시자의 현재 의 값에 대하여 상기 비트열에 포함되는 비트가 상기 MPS와 일치하지 않는 경우에 대한 추정 비트율을 판독하는 단계 및 상기 비트열에 포함되는 각각의 비트에 대하여 상기 판독한 추정 비트율들을 합산하여 비트율 출력을 제공하는 단계를 포함할 수 있다.The reading of the table may include determining whether a bit included in the bit string matches the MPS, and if the bit included in the bit string matches the MPS, the probability state from the bit rate estimation table. The estimated bit rate for the case where the bit included in the bit string matches the MPS is read with respect to the current value of the indicator, and the probability is obtained from the bit rate estimation table if the bit included in the bit string does not match the MPS. Reading an estimated bit rate for a case where a bit included in the bit string does not match the MPS with respect to a current value of a status indicator, and summing the read estimated bit rates for each bit included in the bit string; Providing an output.

상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 제 2 실시예에 따른 비트율 추정 방법은 이진화 단계, 문맥 그룹화 단계 및 비트율 결정 단계를 포함한다. 상기 이진화 단계는 입력 신호를 수신하여 이진화(binarization)를 수행하고 비트열(bit stream)을 제공한다. 상기 문맥 그룹화 단계는 상기 비트열을 수신하여 동일한 문맥(context)을 사용하는 데이터끼리 그룹화하여 문맥 그룹을 생성한다. 상기 비트율 결정 단계는 제 1 및 제 2 비트율(bit-rate) 추정 테이블들을 이용하여 상기 문맥 그룹별로 추정 비트율을 결정하고 상기 문맥 그룹별 추정 비트율을 합산하여 비트율 출력을 제공한다.In order to achieve the above object of the present invention, the bit rate estimation method according to the second embodiment of the present invention includes a binarization step, a context grouping step, and a bit rate determination step. The binarization step receives an input signal, performs binarization, and provides a bit stream. The context grouping step generates the context group by receiving the bit string and grouping data using the same context. The bit rate determining step determines the estimated bit rate for each context group by using first and second bit-rate estimation tables and adds the estimated bit rates for each context group to provide a bit rate output.

실시예에 있어서, 상기 비트율 결정 단계는 상기 문맥 그룹 각각에 대해 0 과 1 중에서 발생 확률이 더 높은 심볼을 나타내는 최대확률심볼(Most Probable Symbol, MPS) 및 상기 MPS가 발생할 확률을 나타내는 확률상태 지시자를 로딩(loading)하는 문맥 로딩 단계, 상기 문맥 그룹 각각에 대해 상기 문맥 그룹에 포함된 상기 MPS와 최저확률심볼(Least Probable Symbol, LPS)을 분리하여, 상기 MPS의 개수인 제 1 개수 및 최저확률심볼(Least Probable Symbol, LPS)의 개수인 제 2 개수를 결정하는 심볼 분리 단계, 상기 문맥 그룹 각각에 대해 상기 제 1 비트율 추정 테이블을 이용하여 상기 MPS에 대한 제 1 추정 비트율을 결정하고, 상기 제 2 비트율 추정 테이블을 이용하여 상기 LPS에 대한 제 2 추정 비트율을 결정하는 테이블 판독 단계, 상기 문맥 그룹 각각에 대해 상기 제 1 추정 비트율 및 상기 제 2 추정 비트율을 합산하여 상기 문맥 그룹별 추정 비트율을 결정하는 그룹별 비트율 결정 단계 및 상기 문맥 그룹별 추정 비트율을 합산하여 비트율 출력을 제공하는 비트율 합산 단계를 포함할 수 있다.The bit rate determining step may include: a maximum probability symbol (MPS) indicating a symbol having a higher probability of occurrence among 0 and 1 and a probability state indicator indicating a probability of occurrence of the MPS for each of the context groups. A context loading step of loading, for each of the context groups, the MPS and the least probable symbol (LPS) included in the context group are separated, and the first number and the lowest probability symbols, which are the number of the MPSs, are separated. Symbol separation step of determining a second number which is the number of (Least Probable Symbol, LPS), for each of the context group using the first bit rate estimation table to determine a first estimated bit rate for the MPS, the second A table reading step of determining a second estimated bit rate for the LPS using a bit rate estimation table, the first estimated bit rate for each of the context groups The second may comprise a group-specific bit-rate determining step estimated by summing a bit rate for determining the group context-dependent estimated bit rate and the bit rate sum providing a bit rate output by adding the context, the group-specific bit-rate estimation.

실시예에 있어서, 상기 확률상태 지시자는 0이상 62이하의 정수값을 갖고, 상기 MPS가 발생할 확률은 상기 확률상태 지시자의 값이 증가할수록 증가할 수 있다.In an embodiment, the probability state indicator has an integer value between 0 and 62, and the probability of occurrence of the MPS may increase as the value of the probability state indicator increases.

실시예에 있어서, 상기 제 1 비트율 추정 테이블은 상기 확률상태 지시자의 각각의 값에 대하여, 상기 비트열에 포함되는 비트가 상기 MPS와 일치하는 경우와 상기 비트열에 포함되는 비트가 상기 MPS와 일치하지 않는 경우 각각에 대한 추정 비트율을 저장할 수 있다.In example embodiments, the first bit rate estimation table may, for each value of the probability state indicator, indicate that the bits included in the bit string match the MPS and that the bits included in the bit string do not match the MPS. In this case, an estimated bit rate for each can be stored.

실시예에 있어서, 상기 제 1 비트율 추정 테이블에 저장된 추정 비트율은 CABAC(Context-Adaptive Binary Arithmetic Coding) 알고리즘의 내부변수인 range를 256이상 510이하의 정수값을 갖는 확률변수로 모델링함으로써 상기 확률상태 지시자 각각의 값에 대하여 확률적으로 결정될 수 있다.In an embodiment, the estimated bit rate stored in the first bit rate estimation table may be determined by modeling a range, which is an internal variable of a Context-Adaptive Binary Arithmetic Coding (CABAC) algorithm, as a random variable having an integer value of 256 or more and 510 or less. Probability can be determined for each value.

실시예에 있어서, 상기 제 1 비트율 추정 테이블에 저장된 추정 비트율은 아래의 [수학식 4]를 이용하여 생성될 수 있다(여기서, σ는 상기 확률상태 지시자를 나타내고, α는 상기 비트열에 포함되는 각각의 비트를 나타내고, B(σ,α)는 주어진 σ 및 α에 대해 확률적으로 생성되는 상기 추정 비트율을 나타내고,

Figure 112009015984932-pat00010
는 상기 range가 A인 경우 구간세분화(interval subdivision)한 이후의 변경된 range를 나타내고,
Figure 112009015984932-pat00011
(k)|σ,α는 주어진 σ 및 α에 대해 상기
Figure 112009015984932-pat00012
가 특정 값 k가 될 확률을 나타내고, b(k)는 상기
Figure 112009015984932-pat00013
가 특정 값 k일 경우 재정규화(renormalization) 과정을 통해 생성되는 비트의 수를 나타낸다).In an embodiment, the estimated bit rate stored in the first bit rate estimation table may be generated using Equation 4 below (where σ represents the probability state indicator and α is each included in the bit string). Denotes the bit of, and B (σ, α) denotes the estimated bit rate generated probabilistic for a given σ and α,
Figure 112009015984932-pat00010
Represents a changed range after interval subdivision when the range is A,
Figure 112009015984932-pat00011
(k) | σ, α is for the given σ and α
Figure 112009015984932-pat00012
Denotes the probability of being a specific value k, and b (k) is
Figure 112009015984932-pat00013
Is a specific value k, it represents the number of bits generated through the renormalization process).

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

Figure 112009015984932-pat00014
Figure 112009015984932-pat00014

실시예에 있어서, 상기

Figure 112009015984932-pat00015
(k)|σ,α는 아래의 [수학식 5]에 의해 생성될 수 있다(여기서, pA는 상기 range의 확률분포를 나타내고, δ는 두 인자가 서로 같을 경우에는 1을 갖고 두 인자가 서로 다를 경우에는 0을 갖는 함수를 나타내고,
Figure 112009015984932-pat00016
|σ,α는 상기 range가 a인 경우에 주어진 σ 및 α에 대해 구간세분화한 결과를 나타낸다). In an embodiment, the
Figure 112009015984932-pat00015
(k) | σ, α can be generated by Equation 5 below, where p A represents the probability distribution of the range, δ is 1 when the two factors are equal to each other, and Represents a function with zero,
Figure 112009015984932-pat00016
| σ, α represents the result of interval segmentation for σ and α given when the range is a).

[수학식 5][Equation 5]

Figure 112009015984932-pat00017
Figure 112009015984932-pat00017

실시예에 있어서, 상기 문맥 그룹 각각의 상기 제 1 추정 비트율은 아래의 [수학식 6] 및 [수학식 7]에 의해 결정될 수 있다(여기서, B(SMPS)는 상기 제 1 추정 비트율을 나타내고, B(σM, MPS)는 상기 확률상태 지시자가 σM이고 MPS가 입력되었을 경우에 대해 상기 제 1 비트율 추정 테이블로부터 판독한 추정 비트율을 나 타내고, nMPS는 상기 제 1 개수를 나타내고, σold는 상기 제 1 추정 비트율 계산 이전의 확률상태 지시자의 값을 나타내고, []는 가우스 기호를 나타낸다).In an embodiment, the first estimated bit rate of each of the context groups may be determined by Equation 6 and Equation 7 below, where B (S MPS ) represents the first estimated bit rate. , B (σ M , MPS) represents an estimated bit rate read from the first bit rate estimation table for the case where the probability state indicator is σ M and MPS is input, and n MPS represents the first number, [sigma] old represents a value of a probability state indicator before the first estimated bit rate calculation, and [] represents a Gaussian symbol).

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

Figure 112009015984932-pat00018
Figure 112009015984932-pat00018

[수학식 7][Equation 7]

Figure 112009015984932-pat00019
Figure 112009015984932-pat00019

실시예에 있어서, 상기 제 2 비트율 추정 테이블은 0이상 62이하의 상기 확률상태 지시자의 각각의 값들을 0 내지 13의 그룹번호를 갖는 14개의 확률상태 지시자 그룹으로 분류하여, 각각의 확률상태 지시자 그룹별로 상기 비트열에 포함되는 비트가 LPS와 일치하는 경우에 대한 추정 비트율을 저장할 수 있다.In an embodiment, the second bit rate estimation table classifies values of the probability state indicators of 0 to 62 into 14 probability state indicator groups having group numbers of 0 to 13. For example, an estimated bit rate for a case where a bit included in the bit string matches the LPS may be stored.

실시예에 있어서, 상기 확률상태 지시자 그룹들은 CABAC(Context-Adaptive Binary Arithmetic Coding) 알고리즘에서 상기 확률상태 지시자의 각각의 값에 대해, 상기 확률상태 지시자를 0으로 만들기 위해 필요한 연속된 LPS의 개수가 동일한 확률상태 지시자들을 그룹화 한 것을 나타내고 상기 확률상태 지시자 그룹 번호는 상기 확률상태 지시자를 0으로 만들기 위해 필요한 상기 연속된 LPS의 개수를 나타낼 수 있다.In example embodiments, the probability state indicator groups may have the same number of consecutive LPSs required to make the probability state indicator zero for each value of the probability state indicator in a context-adaptive binary arithmetic coding (CABAC) algorithm. The probability state indicators are grouped and the probability state indicator group number may indicate the number of consecutive LPSs required to make the probability state indicators zero.

실시예에 있어서, 상기 제 2 비트율 추정 테이블에 저장된 추정 비트율은 아래의 [수학식 8]을 이용하여 생성될 수 있다(여기서, BG(

Figure 112009015984932-pat00020
)는 그룹
Figure 112009015984932-pat00021
의 추정 비트율을 나타내고, B(s,LPS)는 상기 확률상태 지시자가 s이고 LPS가 입력되었을 경우 에 대해 상기 제 1 비트율 추정 테이블로부터 판독한 추정 비트율을 나타내고, pσ(s)는 CABAC 부호화 과정 중에 상기 확률상태 지시자가 특정 값 s를 가질 확률을 나타낸다).In an embodiment, the estimated bit rate stored in the second bit rate estimation table may be generated using Equation 8 below (where, B G (
Figure 112009015984932-pat00020
) Group
Figure 112009015984932-pat00021
B (s, LPS) denotes an estimated bit rate of, and B (s, LPS) denotes an estimated bit rate read from the first bit rate estimation table for the case where the probability state indicator is s and LPS is input, and p σ (s) is a CABAC encoding process. The probability state indicator has a specific value s).

[수학식 8][Equation 8]

Figure 112009015984932-pat00022
Figure 112009015984932-pat00022

실시예에 있어서, 상기 pσ(s)는 아래의 [수학식 9]에 의해 생성될 수 있다(여기서, q는 0초과 1미만의 실수).In an embodiment, p σ (s) may be generated by Equation 9 below, where q is a real number greater than 0 and less than 1.

[수학식 9][Equation 9]

Figure 112009015984932-pat00023
Figure 112009015984932-pat00023

실시예에 있어서, 상기 문맥 그룹 각각의 상기 제 2 추정 비트율은 아래의 [수학식 10], [수학식 11] 및 [수학식 12]에 의해 결정될 수 있다(여기서, σMPS는 상기 제 1 추정 비트율 계산 이후의 상기 확률상태 지시자의 값을 나타내고, σold는 상기 제 1 추정 비트율 계산 이전의 상기 확률상태 지시자의 값을 나타내고, nMPS는 상기 제 1 개수를 나타내고, nLPS는 상기 제 2 개수를 나타내고, Gnum(σ)은 확률상태 지시자 σ가 속한 상기 확률상태 지시자 그룹번호를 나타내고, B(SLPS)는 상기 제 2 추정 비트율을 나타내고, BG(GM)은 상기 확률상태 지시자 그룹의 그룹번호 가 GM인 경우에 대해 상기 제 2 비트율 추정 테이블로부터 판독한 추정 비트율을 나타낸다).In an embodiment, the second estimated bit rate of each of the context groups may be determined by Equations 10, 11, and 12 below, where σ MPS is the first estimate. Represents the value of the probability state indicator after bit rate calculation, σ old represents the value of the probability state indicator before the first estimated bit rate calculation, n MPS represents the first number, and n LPS represents the second number G num (σ) represents the probability state indicator group number to which the probability state indicator σ belongs, B (S LPS ) represents the second estimated bit rate, and B G (G M ) represents the probability state indicator group. And an estimated bit rate read from the second bit rate estimation table for the case where the group number of is G M ).

[수학식 10][Equation 10]

Figure 112009015984932-pat00024
Figure 112009015984932-pat00024

[수학식 11][Equation 11]

Figure 112009015984932-pat00025
Figure 112009015984932-pat00025

[수학식 12][Equation 12]

Figure 112009015984932-pat00026
, if GnumMPS) ≥ nLPS
Figure 112009015984932-pat00026
, if G numMPS ) ≥ n LPS

Figure 112009015984932-pat00027
, if GnumMPS) < nLPS
Figure 112009015984932-pat00027
, if G numMPS ) <n LPS

실시예에 있어서, 상기 문맥 그룹별 추정 비트율은 아래의 [수학식 13]에 의해 생성되고, 상기 비트율 출력은 아래의 [수학식 14]에 의해 생성될 수 있다(여기서, x는 특정 부호화 단위 데이터를 나타내고, Rx,j는 부호화 단위 데이터 x에서 j번째 문맥 그룹에 대한 상기 문맥 그룹별 추정 비트율을 나타내고, Bx ,j(SMPS)는 부호화 단위 데이터 x에서 상기 j번째 문맥 그룹에 대한 상기 제 1 추정 비트율을 나타내고, Bx ,j(SLPS)는 부호화 단위 데이터 x에서 상기 j번째 문맥 그룹에 대한 상기 제 2 추정 비트율을 나타내고, Rx는 부호화 단위 데이터 x에 대한 상기 비트율 출력을 나타내고, mx은 부호화 단위 데이터 x가 사용하는 문맥의 개수를 나타낸다).In example embodiments, the estimated bit rate for each context group may be generated by Equation 13 below, and the bit rate output may be generated by Equation 14 below, where x is specific coding unit data. Where R x, j represents the estimated bit rate for each context group for the j-th context group in coding unit data x, and B x , j (S MPS ) represents the for the j-th context group in coding unit data x. Represents a first estimated bit rate, B x , j (S LPS ) represents the second estimated bit rate for the j-th context group in coding unit data x, and R x represents the bit rate output for coding unit data x , m x represents the number of contexts used by the coding unit data x).

[수학식 13][Equation 13]

Figure 112009015984932-pat00028
Figure 112009015984932-pat00028

[수학식 14][Equation 14]

Figure 112009015984932-pat00029
Figure 112009015984932-pat00029

상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 제 2 실시예에 따른 비트율 추정 장치는 이진화부, 문맥 그룹화부, 비트수 계산부, 스위치, 문맥 로딩부, 복수의 그룹별 비트율 추정부 및 누적부를 포함한다. 상기 이진화부는 입력 신호를 수신하여 이진화(binarization)를 수행하고 비트열(bit stream)을 제공한다. 상기 문맥 그룹화부는 상기 비트열을 수신하여 동일한 문맥(context)을 사용하는 데이터끼리 그룹화하여 문맥 그룹을 생성한다. 상기 비트수 계산부는 상기 비트열을 수신하여 상기 비트열에 속한 비트의 개수를 제공한다. 상기 스위치는 바이패스(bypass) 신호의 논리레벨에 따라 상기 이진화부의 출력을 상기 문맥 그룹화부 또는 상기 비트수 계산부에 선택적으로 연결시킨다. 상기 문맥 로딩부는 상기 문맥 그룹을 수신하여 상기 문맥 그룹이 사용하는 문맥을 파악하고 해당 문맥에 대해 0 과 1 중에서 발생 확률이 더 높은 심볼을 나타내는 최대확률심볼(Most Probable Symbol, MPS) 및 상기 MPS가 발생할 확률을 나타내는 확률상태 지시자를 제공한다. 상기 복수의 그룹별 비트율 추정부는 상기 문맥 그룹 및 상기 문맥 그룹에 대한 상기 MPS 및 상기 확률상태 지시자를 각각 수신하여 상기 문맥 그룹에 대한 그룹별 추정 비트율을 결정한다. 상기 누적부는 상기 복수의 그룹별 비트율 추정부의 출력 및 상기 비트수 계산부의 출력을 누적 합산하여 비트율 출력을 제공한다.In order to achieve the above object of the present invention, a bit rate estimation apparatus according to a second embodiment of the present invention includes a binarization unit, a context grouping unit, a bit number calculating unit, a switch, a context loading unit, and a plurality of group rate estimation units. And an accumulator. The binarizer receives an input signal, performs binarization, and provides a bit stream. The context grouper generates the context group by receiving the bit string and grouping data using the same context. The bit number calculator receives the bit string and provides the number of bits belonging to the bit string. The switch selectively connects the output of the binarizer to the context grouper or the bit number calculator according to a logic level of a bypass signal. The context loading unit receives the context group to identify a context used by the context group, and indicates that a maximum probability symbol (MPS) and a MPS indicating a symbol having a higher probability of occurrence among 0 and 1 for the context are determined. Provides a probability state indicator indicating the probability of occurrence. The bit rate estimator for each group determines the estimated bit rate for each context group by receiving the MPS and the probability state indicator for the context group and the context group, respectively. The accumulation unit accumulates and sums outputs of the plurality of group bit rate estimation units and outputs of the bit number calculator to provide a bit rate output.

이하, 첨부된 도면들을 참조하여 본 발명의 실시예들에 따른 율-왜곡 최적화된 모드 결정 알고리즘(rate-distortion optimized mode decision algorithm)의 효율적인 구현을 위한 비트율(bit-rate) 추정 장치 및 방법에 대하여 상세하게 설명하지만, 본 발명이 하기의 실시예들에 제한되는 것은 아니며, 해당 분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 본 발명을 다양한 다른 형태로 구현할 수 있을 것이다.Hereinafter, a bit rate estimation apparatus and method for an efficient implementation of a rate-distortion optimized mode decision algorithm according to embodiments of the present invention with reference to the accompanying drawings. Although described in detail, the present invention is not limited to the following embodiments, and those skilled in the art may implement the present invention in various other forms without departing from the technical spirit of the present invention. will be.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형 식적인 의미로 해석되지 않는다. The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "having" are intended to indicate that there is a feature, number, step, action, component, part, or combination thereof that is described, and that one or more other features or numbers are present. It should be understood that it does not exclude in advance the possibility of the presence or addition of steps, actions, components, parts or combinations thereof. Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and, unless expressly defined in this application, are construed in ideal or excessively formal meanings. It doesn't work.

한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다. 각 도면에 제시된 동일한 참조부호는 동일한 구성요소를 나타낸다.On the other hand, when an embodiment is otherwise implemented, a function or operation specified in a specific block may occur out of the order specified in the flowchart. For example, two consecutive blocks may actually be performed substantially simultaneously, and the blocks may be performed upside down depending on the function or operation involved. Like reference numerals in the drawings denote like elements.

제 1 실시예First embodiment

도 1은 본 발명의 제 1 실시예에 따른 비트율 추정 장치를 나타내는 블록도이다. 1 is a block diagram illustrating a bit rate estimation apparatus according to a first embodiment of the present invention.

도 1을 참조하면, 비트율 추정 장치(100)는 이진화부(binarizer)(110), 문맥 로더(context loader)(120) 및 테이블 판독부(table reader)(130)를 포함한다.Referring to FIG. 1, the bit rate estimating apparatus 100 includes a binarizer 110, a context loader 120, and a table reader 130.

이진화부(110)는 입력 신호(input signal)를 수신하여 이진화(binarization)를 수행하여 0 또는 1의 값을 갖는 비트들의 연속인 비트열(bit stream)을 출력한다. 문맥 로더(120)는 상기 비트열을 수신하여 상기 비트열이 사용하는 문맥(context)을 파악하고 해당 문맥과 관련된 문맥 데이터를 제공한다. 테이블 판독부(130)는 상기 비트열 및 상기 문맥 데이터를 수신하여 비트율(bit-rate) 추정 테이블을 이용하여 비트율 출력(bit-rate output)을 제공한다.The binarization unit 110 receives an input signal and performs binarization to output a bit stream that is a sequence of bits having a value of 0 or 1. The context loader 120 receives the bit string to determine the context used by the bit string and provides context data related to the context. The table reader 130 receives the bit string and the context data and provides a bit-rate output using a bit-rate estimation table.

비트율 추정 장치(100)는 상기 문맥 데이터 및 상기 비트율 추정 테이블을 저장하는 메모리부(memory unit)(140)를 더 포함할 수 있다.The bit rate estimation apparatus 100 may further include a memory unit 140 that stores the context data and the bit rate estimation table.

상기 문맥 데이터는 해당 문맥을 사용하는 데이터에서 0과 1 중에서 발생 확률이 더 높은 심볼을 나타내는 최대확률심볼(Most Probable Symbol, MPS) 및 상기 MPS가 발생할 확률을 나타내는 확률상태 지시자(σ)를 포함한다. 구체적으로, MPS가 1이면 해당 문맥을 사용하는 데이터에서 1이 발생할 확률이 더 크다는 것을 의미하고, 확률상태 지시자(σ)는 CABAC(Context-Adaptive Binary Arithmetic Coding) 표준 알고리즘에서 정의된 바에 따라 0이상 62이하의 정수값을 갖고 확률상태 지시자(σ)가 0에 가까울 수록 MPS가 발생할 확률은 0.5에 가깝고 확률상태 지시자(σ)가 62에 가까울 수록 MPS가 발생할 확률은 1.0에 가깝다는 것을 의미한다. 또한, 상기 MPS 및 확률상태 지시자(σ)는 각각의 비트에 대해 상기 비트율 추정 테이블로부터 해당 추정 비트율을 판독한 뒤에 CABAC 표준 알고리즘에서 정의된 바에 따라 업데이트된다.The context data includes a maximum probability symbol (MPS) representing a symbol having a higher probability of occurrence of 0 and 1 in data using the context and a probability state indicator (σ) indicating a probability of occurrence of the MPS. . Specifically, if the MPS is 1, it means that 1 is more likely to occur in the data using the context, and the probability state indicator (σ) is equal to or greater than 0 as defined in the CABAC standard context-adaptive algorithm. As the probability state indicator (σ) is close to 0 with an integer value of 62 or less, the probability of occurrence of MPS is close to 0.5, and the probability of MPS occurrence is close to 1.0 as the probability state indicator (σ) is closer to 62. In addition, the MPS and probability state indicator [sigma] is updated as defined in the CABAC standard algorithm after reading the estimated bit rate from the bit rate estimation table for each bit.

상기 비트율 추정 테이블은 확률상태 지시자(σ)의 각각의 값에 대하여, MPS가 입력되었을 경우에 발생할 확률적인 비트의 수 및 최저확률심볼(Least Probable Symbol, LPS)이 입력되었을 경우에 발생할 확률적인 비트의 수를 저장한다. 구체적으로, 상기 비트율 추정 테이블은 0이상 62이하의 확률상태 지시자(σ)의 각각의 값에 대하여, 상기 비트열에 포함되는 비트가 MPS인 경우와 LPS인 경우에 대한 추정 비트율을 저장한다. The bit rate estimation table includes, for each value of the probability state indicator σ, the number of probable bits that will occur when the MPS is input and the probability bits that will occur when the least probability symbol (LPS) is input. Store the number of. Specifically, the bit rate estimation table stores estimated bit rates for the case where the bits included in the bit string are MPS and the LPS for each value of the probability state indicator (σ) of 0 or more and 62 or less.

도 2는 상기 비트율 추정 테이블의 예시를 나타낸다. 도 2에서 σ는 상기 확률상태 지시자를 나타내고, α는 상기 비트열에 포함되는 각각의 비트를 나타내고, B(σ,α)는 주어진 σ 및 α에 대해 확률적으로 생성되는 상기 추정 비트율을 나타 내고, W(σ,α)는 1.00을 8에 대응시키고 0.50을 4에 대응시키는 것과 같이 B(σ,α)를 양자화하여 정수값의 가중치로 표현한 것을 나타낸다. W(σ,α)는 하드웨어 구현을 용이하게 하기 위해 추정 비트율을 정수화한 것이고, 비트율 출력 단계에서 비트율 출력을 오른쪽으로 3비트 쉬프트(shift) 하여 최종 비트율 출력을 생성할 수 있다. 도 2에서는 1.00이 8에 대응되도록 양자화 하였으나, 다른 방식의 양자화를 적용할 수 도 있다. 예를 들면, 1.00이 16에 대응되도록 양자화 할 수도 있으며, 이 경우에는 비트율 출력을 오른쪽으로 4비트 쉬프트(shift) 하여 최종 비트율 출력을 생성할 수 있다.2 shows an example of the bit rate estimation table. In FIG. 2, σ represents the probability state indicator, α represents each bit included in the bit string, B (σ, α) represents the estimated bit rate, which is generated probabilistic for a given σ and α, W (σ, α) indicates that B (σ, α) is quantized and expressed as a weight of an integer value, such that 1.00 corresponds to 8 and 0.50 corresponds to 4. W (σ, α) is an integer of the estimated bit rate to facilitate hardware implementation, and the final bit rate output may be generated by shifting the bit rate output to the right three bits in the bit rate output step. In FIG. 2, 1.00 is quantized to correspond to 8, but another method of quantization may be applied. For example, 1.00 may be quantized to correspond to 16. In this case, the final bitrate output may be generated by shifting the bitrate output 4 bits to the right.

이하, 상기 비트율 추정 테이블에 저장된 각각의 추정 비트율을 결정하는 예시적인 방법에 대해 상세히 설명한다. 본 실시예에서는, CABAC 알고리즘의 내부변수인 현재 구간의 길이를 나타내는 range(이하, A라 칭함)를 256이상 510이하의 정수값을 갖는 확률변수로 모델링함으로써 상기 확률상태 지시자(σ) 각각의 값에 대한 추정 비트율을 확률적으로 결정한다. Hereinafter, an exemplary method for determining each estimated bit rate stored in the bit rate estimation table will be described in detail. In this embodiment, each value of the probability state indicator σ is modeled by modeling a range (hereinafter referred to as A), which is an internal variable of the CABAC algorithm, as a random variable having an integer value of 256 or more and 510 or less. Probably determine an estimated bit rate for.

보다 상세하게 설명하면, CABAC은 하나의 비트를 부호화하기 위해 구간세분화(interval subdivision)와 재정규화(renormalization)의 두 과정을 거친다. 구간 세분화 과정에서는 입력 비트에 따라 내부 변수 A에 특정 연산을 하여 새로운 값

Figure 112009015984932-pat00030
를 구하고, 재정규화 과정에서는
Figure 112009015984932-pat00031
이 28=256보다 작으면
Figure 112009015984932-pat00032
≥256이 만족될 때까지
Figure 112009015984932-pat00033
를 두 배로 만든다. 이 과정을 거쳐 나온 값은 다음 입력 비트를 처리할 때에 새로운 A값으로 사용된다. 여기서
Figure 112009015984932-pat00034
이 두 배 될 때마다 한 비트가 출력된다. 예를 들어,
Figure 112009015984932-pat00035
가 128≤
Figure 112009015984932-pat00036
<256을 만족할 경우 한 비트가 출력되고,
Figure 112009015984932-pat00037
가 62≤
Figure 112009015984932-pat00038
<128을 만족할 경우 두 비트가 출력된다. 즉,
Figure 112009015984932-pat00039
를 알면 몇 비트가 생성될지 알 수 있다. 여기서,
Figure 112009015984932-pat00040
값을 생성되는 비트의 수로 대응시켜주는 함수 b(
Figure 112009015984932-pat00041
)를 정의한다. In more detail, CABAC goes through two processes: interval subdivision and renormalization to encode one bit. In the segmentation process, a new operation is performed by performing a specific operation on the internal variable A according to the input bit.
Figure 112009015984932-pat00030
In the process of fiscal regulation
Figure 112009015984932-pat00031
Is less than 2 8 = 256
Figure 112009015984932-pat00032
Until ≥256 is satisfied
Figure 112009015984932-pat00033
Double The resulting value is used as the new A value when processing the next input bit. here
Figure 112009015984932-pat00034
Each time it doubles, one bit is output. E.g,
Figure 112009015984932-pat00035
Is 128≤
Figure 112009015984932-pat00036
If <256 is satisfied, one bit is outputted.
Figure 112009015984932-pat00037
Is 62≤
Figure 112009015984932-pat00038
If <128 is satisfied, two bits are output. In other words,
Figure 112009015984932-pat00039
Knowing how many bits will be generated. here,
Figure 112009015984932-pat00040
Function b that maps values to the number of bits generated
Figure 112009015984932-pat00041
).

CABAC 내부 변수 A는 256이상 510이하의 값을 가지므로 A를 256이상 510이하의 정수값을 갖는 확률변수로 모델링한다. A의 확률분포가 정의되면 입력 비트 α 및 확률상태 지시자 σ가 정해졌을 때

Figure 112009015984932-pat00042
의 분포를 구할 수 있고, 각각의
Figure 112009015984932-pat00043
값이 발생할 확률에 b(
Figure 112009015984932-pat00044
)를 곱한 것을 전부 더하면 입력 비트 α 및 확률상태 지시자 σ가 정해졌을 때 확률적으로 생성되는 비트율을 구할 수 있다. 상기 과정을 수학식으로 나타내면 아래의 [수학식 1]과 같다.Since CABAC internal variable A has a value of 256 or more and 510 or less, model A as a random variable having an integer value of 256 or more and 510 or less. If the probability distribution of A is defined, the input bit α and the probability state indicator σ are determined.
Figure 112009015984932-pat00042
We can find the distribution of, and each
Figure 112009015984932-pat00043
The probability of a value being b (
Figure 112009015984932-pat00044
By multiplying by), we can find the bit rate that is generated stoch- gerously when the input bit α and the probability state indicator σ are determined. When the process is represented by an equation, it is the same as Equation 1 below.

[수학식 1][Equation 1]

Figure 112009015984932-pat00045
Figure 112009015984932-pat00045

여기서, σ는 상기 확률상태 지시자를 나타내고, α는 상기 비트열에 포함되는 비트를 나타내고, B(σ,α)는 주어진 σ 및 α에 대해 확률적으로 생성되는 상기 추정 비트율을 나타내고,

Figure 112009015984932-pat00046
(k)|σ,α는 주어진 σ 및 α에 대해 상기
Figure 112009015984932-pat00047
가 특정 값 k가 될 확률을 나타낸다.
Figure 112009015984932-pat00048
(k)|σ,α는 A의 확률분포 pA로부터 연역적으로 도출될 수 있으며 그 과정은 아래의 [수학식 2]와 같다.Σ denotes the probability state indicator, α denotes a bit included in the bit string, B (σ, α) denotes the estimated bit rate randomly generated for a given σ and α,
Figure 112009015984932-pat00046
(k) | σ, α is for the given σ and α
Figure 112009015984932-pat00047
Represents the probability of becoming a specific value k.
Figure 112009015984932-pat00048
(k) | σ, α can be deduced from the probability distribution p A of A and the process is shown in Equation 2 below.

[수학식 2][Equation 2]

Figure 112009015984932-pat00049
Figure 112009015984932-pat00049

여기서, δ는 두 인자가 서로 같을 경우에는 1을 갖고 두 인자가 서로 다를 경우에는 0을 갖는 함수를 나타내고,

Figure 112009015984932-pat00050
|σ,α는 상기 A가 a인 경우에 주어진 σ 및 α에 대해 구간세분화한 결과를 나타낸다.Where δ represents a function having 1 when the two factors are equal to each other and 0 when the two factors are different from each other,
Figure 112009015984932-pat00050
| σ, α represents the result of section segmentation for σ and α given when A is a.

A의 확률분포 pA는 다양한 방법으로 정의될 수 있다. 예시적인 A의 확률분포 pA는 아래의 [수학식 3] 내지 [수학식 5]에 의해 정의될 수 있다.The probability distribution p A of A can be defined in various ways. The probability distribution of an exemplary A p A may be defined by [Equation 3] to [formula 5] below.

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

Figure 112009015984932-pat00051
Figure 112009015984932-pat00051

[수학식 4]&Quot; (4) &quot;

Figure 112009015984932-pat00052
Figure 112009015984932-pat00052

[수학식 5][Equation 5]

Figure 112009015984932-pat00053
Figure 112009015984932-pat00053

여기서, pA (n)(k)는 상기 비트열에 포함되는 n번째 비트 처리시에 A가 특정값 k가 될 확률을 나타내고, pσ(s)는 확률상태 지시자가 특정값 s가 될 확률을 나타내고, pLPS(s)는 확률상태 지시자가 특정값 s인 경우에 LPS가 입력될 확률을 나타내고,

Figure 112009015984932-pat00054
|s, LPS는 A=a이고 확률상태 지시자가 특정값 s인 경우에 LPS가 입력된 이후의 구간세분화 결과를 나타내고,
Figure 112009015984932-pat00055
|s, MPS는 A=a이고 확률상태 지시자가 특정값 s인 경우에 MPS가 입력된 이후의 구간세분화 결과를 나타내고, N(
Figure 112009015984932-pat00056
)는
Figure 112009015984932-pat00057
가 재정규화를 거친 후의 결과를 나타내고, q는 0초과 1미만의 실수를 나타낸다. 여기서, pσ(s)는 기하분포(geometric distribution)를 따른다고 가정하였다. 상기 q값을 조절함에 따라 A의 확률분포 pA를 조절할 수 있다. 도 2의 테이블은 q=0.07의 값을 이용하여 작성된 것이다.Here, the p A (n) (k) is the probability the A to n when the second bit processing including the bit column indicates the probability that a particular value k, p σ (s) is the probability state indicator to be a specific value s P LPS (s) represents the probability that the LPS is input when the probability state indicator is a specific value s,
Figure 112009015984932-pat00054
| s, LPS represents the result of interval segmentation after LPS is input when A = a and the probability state indicator is a specific value s,
Figure 112009015984932-pat00055
| s and MPS represent the result of interval segmentation after MPS is input when A = a and the probability state indicator is a specific value s.
Figure 112009015984932-pat00056
)
Figure 112009015984932-pat00057
Represents the result after renormalization, and q represents a real number greater than 0 and less than 1. Here, it is assumed that p σ (s) follows the geometric distribution. The probability distribution p A of A may be adjusted by adjusting the q value. The table in FIG. 2 is created using a value of q = 0.07.

상기 설명한 과정을 통해 비트율 추정 테이블을 얻을 수 있다. 한편, 비트율 추정의 정확도를 높이기 위해 비트율 추정 테이블을 실시간으로 업데이트시킬 수 도 있다. 예를 들면, 부호화 단위의 양자화 파라미터(quantization parameter, QP) 값에 따라 비트율 추정 테이블을 변화 시킬 수 있다.Through the above-described process, a bit rate estimation table can be obtained. Meanwhile, in order to increase the accuracy of the bit rate estimation, the bit rate estimation table may be updated in real time. For example, the bit rate estimation table may be changed according to the quantization parameter (QP) value of the coding unit.

비트율 추정 테이블이 구비되면, 비트율을 결정하기 위해 상기 비트열을 CABAC 알고리즘에 의해 직접 부호화 하는 과정 없이, 비트율 추정 테이블을 판독함으로써 비트율을 추정할 수 있다. 구체적으로, 상기 비트율 추정 장치(100)의 비트 율 출력은 아래의 [수학식 6]에 의해 생성될 수 있다.If a bit rate estimation table is provided, the bit rate can be estimated by reading the bit rate estimation table without directly encoding the bit string by a CABAC algorithm to determine the bit rate. Specifically, the bit rate output of the bit rate estimating apparatus 100 may be generated by Equation 6 below.

[수학식 6]&Quot; (6) &quot;

Figure 112009015984932-pat00058
Figure 112009015984932-pat00058

여기서, x는 특정 부호화 단위 데이터를 나타내고, Rx는 상기 특정 부호화 단위 데이터의 추정 비트율을 나타내고, αk는 상기 비트열에 포함되는 k번째 비트를 나타내고, σk는 상기 비트열에 포함되는 k번째 비트 처리시에 로딩한 상기 확률상태 지시자의 값을 나타내고, B(σkk)는 주어진 σk 및 αk에 대해 상기 비트율 추정 테이블로부터 판독한 추정 비트율을 나타낸다.Here, x represents specific coding unit data, R x represents an estimated bit rate of the specific coding unit data, α k represents a k-th bit included in the bit string, and σ k represents a k-th bit included in the bit string. Represents the value of the probability state indicator loaded at the time of processing, and B (σ k , α k ) represents the estimated bit rate read from the bit rate estimation table for a given σ k and α k .

도 3은 본 발명의 제 1 실시예에 따른 비트율 추정 방법을 나타내는 순서도이다. 3 is a flowchart illustrating a bit rate estimation method according to a first embodiment of the present invention.

도 3을 참조하면, 비트율 추정 방법은 이진화 단계(S310), 문맥 로딩 단계(S320) 및 테이블 판독 단계(S330)를 포함한다.Referring to FIG. 3, the bit rate estimation method includes a binarization step S310, a context loading step S320, and a table reading step S330.

이진화 단계(S310)는 입력 신호를 수신하여 이진화를 수행하여 0 또는 1의 값을 갖는 비트들의 연속인 비트열을 출력한다. 문맥 로딩(loading) 단계(S320)는 상기 비트열을 수신하여 상기 비트열이 사용하는 문맥을 파악하고 해당 문맥과 관련된 문맥 데이터를 제공한다. 테이블 판독 단계(S330)는 상기 비트열 및 상기 문맥 데이터를 수신하여 비트율 추정 테이블을 이용하여 비트율 출력을 제공한다.The binarization step S310 receives an input signal and performs binarization to output a bit string that is a sequence of bits having a value of 0 or 1. The context loading step (S320) receives the bit string to determine the context used by the bit string and provides context data related to the context. The table reading step S330 receives the bit string and the context data and provides a bit rate output using a bit rate estimation table.

상기 문맥 데이터는 MPS 및 확률상태 지시자를 포함하며, MPS 및 확률상태 지시자에 대해서는 앞에서 도 1 및 2와 관련하여 설명하였으므로 상세한 설명은 생략한다. 또한 상기 비트열 추정 테이블은 도 1 및 2와 관련하여 설명한 비트열 추정 테이블과 동일하고, 비트열 추정 테이블을 얻는 방법에 대해서는 앞에서 도 1 및 2와 관련하여 설명하였으므로 상세한 설명은 생략한다.The context data includes an MPS and a probability state indicator. Since the MPS and the probability state indicator have been described above with reference to FIGS. 1 and 2, a detailed description thereof will be omitted. The bit string estimation table is the same as the bit string estimation table described with reference to FIGS. 1 and 2, and a method of obtaining the bit string estimation table has been described above with reference to FIGS. 1 and 2, and thus a detailed description thereof will be omitted.

도 4는 테이블 판독 단계(S330)를 상세히 나타내는 순서도이다.4 is a flowchart showing the table reading step S330 in detail.

테이블 판독 단계(S330)는 상기 비트열에 포함되는 비트가 상기 MPS와 일치하는지 여부를 판단하는 단계(S331), 상기 비트열에 포함되는 비트가 상기 MPS와 일치하는 경우에는 상기 비트율 추정 테이블로부터 상기 확률상태 지시자의 현재의 값에 대하여 상기 비트열에 포함되는 비트가 상기 MPS와 일치하는 경우에 대한 추정 비트율을 판독하고, 상기 비트열에 포함되는 비트가 상기 MPS와 일치하지 않는 경우에는 상기 비트율 추정 테이블로부터 상기 확률상태 지시자의 현재의 값에 대하여 상기 비트열에 포함되는 비트가 상기 MPS와 일치하지 않는 경우에 대한 추정 비트율을 판독하는 단계(S333) 및 상기 비트열에 포함되는 각각의 비트에 대하여 상기 판독한 추정 비트율들을 합산하여 비트율 출력을 제공하는 단계(S335)를 포함한다. 테이블 판독 단계(S330)는 앞에서 설명한 [수학식 6]에 의해 수행될 수 있으며 [수학식 6]에 대해서는 앞에서 도 1 및 2와 관련하여 설명하였으므로 상세한 설명은 생략한다.The table reading step S330 may include determining whether a bit included in the bit string coincides with the MPS (S331), and when the bit included in the bit string coincides with the MPS, the probability state from the bit rate estimation table. The estimated bit rate for the case where the bit included in the bit string matches the MPS is read with respect to the current value of the indicator, and the probability is obtained from the bit rate estimation table if the bit included in the bit string does not match the MPS. Reading an estimated bit rate for a case where a bit included in the bit string does not match the MPS with respect to a current value of a status indicator (S333) and the read estimated bit rates for each bit included in the bit string; Summing to provide the bit rate output (S335). The table reading step S330 may be performed by Equation 6 described above, and since Equation 6 has been described above with reference to FIGS. 1 and 2, a detailed description thereof will be omitted.

상기 설명한 바와 같이, 제 1 실시예에 의하면, 부호화 단위에 대해 실제로 부호화를 실행하지 않고도, 미리 구비된 비트율 추정 테이블로부터 부호화 단위의 각각의 비트에 대한 추정 비트율을 판독한 값들을 합산함으로써 최종 비트율을 추 정할 수 있으므로, 부호화기의 복잡도를 줄일 수 있다.As described above, according to the first embodiment, the final bit rate is obtained by summing values obtained by reading the estimated bit rates for each bit of the coding unit from a previously provided bit rate estimation table without actually performing encoding on the coding units. Since it can be estimated, the complexity of the encoder can be reduced.

제 2 실시예Second embodiment

도 5는 본 발명의 제 2 실시예에 따른 비트율 추정 방법을 나타내는 순서도이다.5 is a flowchart illustrating a bit rate estimation method according to a second embodiment of the present invention.

도 5를 참조하면, 비트율 추정 방법은 이진화 단계(S510), 문맥 그룹화 단계(S520) 및 비트율 결정 단계(S530)를 포함한다.Referring to FIG. 5, the bit rate estimation method includes a binarization step S510, a context grouping step S520, and a bit rate determining step S530.

이진화 단계(S510)는 입력 신호를 수신하여 이진화를 수행하여 0 또는 1의 값을 갖는 비트들의 연속인 비트열을 출력한다. 문맥 그룹화 단계(S520)는 상기 비트열을 수신하여 동일한 문맥을 사용하는 데이터끼리 그룹화하여 문맥 그룹을 생성한다. 비트율 결정 단계(S530)는 제 1 및 제 2 비트율 추정 테이블들을 이용하여 상기 문맥 그룹별로 추정 비트율을 결정하고 상기 문맥 그룹별 추정 비트율을 합산하여 비트율 출력을 제공한다.The binarization step S510 receives an input signal and performs binarization to output a bit string that is a sequence of bits having a value of 0 or 1. In the context grouping step (S520), the bit string is received to group the data using the same context to generate a context group. The bit rate determining step S530 determines an estimated bit rate for each context group using first and second bit rate estimation tables, and adds an estimated bit rate for each context group to provide a bit rate output.

CABAC 표준 알고리즘은 부호화될 데이터를 여러 조건에 의해 몇몇 부분으로 나눈 후, 상관관계(correlation)가 높은 데이터들을 같은 문맥을 사용하여 부호화 한다. 상기 설명한 바와 같이, 본 실시예에서는, 동일한 문맥을 사용하는 데이터끼리 그룹화하여 문맥 그룹을 생성하고 동일한 문맥을 사용하는 문맥 그룹별로 추정 비트율을 결정하여 각각의 그룹에 대한 추정 비트율을 합산하여 비트율 출력을 제공한다. The CABAC standard algorithm divides the data to be encoded into several parts by various conditions, and then encodes highly correlated data using the same context. As described above, in this embodiment, the context group is generated by grouping data using the same context, the estimated bit rate is determined for each context group using the same context, and the estimated bit rate for each group is summed to obtain a bit rate output. to provide.

상기 비트열에 포함되는 각각의 비트의 부호화에 사용되는 확률상태 지시자의 값은 각각의 비트가 들어올 때마다 업데이트 되기 때문에 입력 비트열을 순차적 으로 처리해야 함에도 불구하고, 상기 설명한 바와 같이, 동일한 문맥을 사용하는 문맥 그룹별로 추정 비트율을 결정할 수 있는 이유는 아래에서 상세히 설명되는 바와 같이, 본 실시예는 제 1 실시예에서와 마찬가지로 CABAC 알고리즘의 내부변수인 range를 확률변수로 모델링 했기 때문이다. Although the value of the probability state indicator used for encoding each bit included in the bit string is updated each time a bit is input, the same context is used as described above, although the input bit string must be sequentially processed. As described in detail below, the reason for determining the estimated bit rate for each context group is that the present embodiment models the range, which is an internal variable of the CABAC algorithm, as a random variable, as in the first embodiment.

도 6은 비트율 결정 단계(S530)를 상세히 나타내는 순서도이다.6 is a flowchart showing the bit rate determination step S530 in detail.

비트율 결정 단계(S530)는 상기 문맥 그룹 각각에 대해 0 과 1 중에서 발생 확률이 더 높은 심볼을 나타내는 MPS 및 MPS가 발생할 확률을 나타내는 확률상태 지시자(σ)를 로딩(loading)하는 문맥 로딩 단계(S531), 상기 문맥 그룹 각각에 대해 상기 문맥 그룹에 포함된 MPS의 개수인 제 1 개수 및 LPS의 개수인 제 2 개수를 결정하는 심볼 분리 단계(S533), 상기 문맥 그룹 각각에 대해 상기 제 1 비트율 추정 테이블을 이용하여 MPS에 대한 제 1 추정 비트율을 결정하고 상기 제 2 비트율 추정 테이블을 이용하여 LPS에 대한 제 2 추정 비트율을 결정하는 테이블 판독 단계(S535), 상기 문맥 그룹 각각에 대해 상기 제 1 추정 비트율 및 상기 제 2 추정 비트율을 합산하여 상기 문맥 그룹별 추정 비트율을 결정하는 그룹별 비트율 결정 단계(S537) 및 상기 문맥 그룹별 추정 비트율을 합산하여 비트율 출력을 제공하는 비트율 합산 단계(S539)를 포함한다.Bit rate determination step (S530) is a context loading step (S531) for loading a probability state indicator (σ) indicating the probability of occurrence of MPS and MPS representing a symbol having a higher probability of occurrence between 0 and 1 for each of the context groups Symbol separation step (S533) for determining a first number, which is the number of MPSs and a second number, of LPSs, for each of the context groups, and the first bit rate estimation for each of the context groups. A table reading step (S535) of determining a first estimated bit rate for MPS using a table and a second estimated bit rate for LPS using the second bit rate estimation table, the first estimation for each of the context groups A bit rate determination step (S537) for determining the estimated bit rate for each context group by adding a bit rate and the second estimated bit rate, and the estimated bit rate for each context group The acid includes a bit rate summing step (S539) for providing the output bit rate.

상기 확률상태 지시자는 CABAC 알고리즘에서 정의된 바에 따라 0이상 62이하의 정수값을 갖고 확률상태 지시자가 0에 가까울 수록 MPS가 발생할 확률은 0.5에 가깝고 확률상태 지시자가 62에 가까울 수록 MPS가 발생할 확률은 1.0에 가깝다는 것을 의미한다.The probability state indicator has an integer value of 0 or more and 62 or less as defined by the CABAC algorithm. As the probability state indicator is close to 0, the probability of occurrence of MPS is close to 0.5, and the probability of MPS occurrence is closer to 62. Means close to 1.0.

이하, 문맥 그룹 각각에 대해 MPS에 대한 추정 비트율에 해당하는 상기 제 1 추정 비트율을 결정하는 방법에 대해 상세히 설명한다.Hereinafter, a method of determining the first estimated bit rate corresponding to the estimated bit rate for the MPS for each context group will be described in detail.

MPS만으로 구성된 비트열이 들어오면 CABAC 알고리즘에 의해 입력되는 비트는 항상 MPS로 처리되고, 확률상태 지시자의 값은 각각의 비트가 처리될 때마다 1씩 증가한다(단, 확률상태 지시자가 62가 되면 더 이상 증가하지 않고 62에 머문다). 상기와 같은 특징을 이용하면, MPS만으로 구성된 비트열에 대해 하나의 대표 확률상태 지시자의 값 σM을 결정하고 σM에 대한 추정 비트율을 상기 제 1 비트율 추정 테이블로부터 판독하여 이 값에 MPS의 개수를 곱함으로써 MPS만으로 구성된 비트열의 총 비트율을 추정할 수 있다. 여기서, 상기 제 1 비트율 추정 테이블은 제 1 실시예에서 설명한 비트율 추정 테이블과 동일하다. 앞에서 제 1 실시예와 관련하여 비트율 추정 테이블의 구성 및 비트율 추정 테이블을 얻는 방법에 대해서는 설명하였으므로, 여기서는 제 1 비트율 추정 테이블의 구성 및 제 1 비트율 추정 테이블을 얻는 방법에 대한 상세한 설명은 생략한다. 상기의 과정을 수학식으로 표현하면 아래의 [수학식 7] 및 [수학식 8]과 같다.When a bit string consisting only of MPS comes in, the bits input by the CABAC algorithm are always processed as MPS, and the value of the probability status indicator is increased by 1 for each bit processed. No longer increasing, staying at 62). Using the above feature, the value σ M of one representative probability state indicator is determined for a bit string consisting only of MPS, the estimated bit rate for σ M is read from the first bit rate estimation table, and the number of MPSs is added to this value. By multiplying, it is possible to estimate the total bit rate of a bit string consisting only of MPS. Here, the first bit rate estimation table is the same as the bit rate estimation table described in the first embodiment. Since the configuration of the bit rate estimation table and the method of obtaining the bit rate estimation table have been described above in connection with the first embodiment, detailed descriptions of the configuration of the first bit rate estimation table and the method of obtaining the first bit rate estimation table will be omitted. When the above process is expressed as an equation, Equation 7 and Equation 8 below.

[수학식 7][Equation 7]

Figure 112009015984932-pat00059
Figure 112009015984932-pat00059

[수학식 8][Equation 8]

Figure 112009015984932-pat00060
Figure 112009015984932-pat00060

여기서, B(SMPS)는 상기 제 1 추정 비트율을 나타내고, B(σM, MPS)는 상기 확률상태 지시자가 σM이고 MPS가 입력되었을 경우에 대해 상기 제 1 비트율 추정 테이블로부터 판독한 추정 비트율을 나타내고, nMPS는 상기 제 1 개수를 나타내고, σold는 상기 제 1 추정 비트율 계산 이전의 확률상태 지시자의 값을 나타내고, []는 가우스 기호를 나타낸다.Here, B (S MPS ) represents the first estimated bit rate, and B (σ M , MPS) represents an estimated bit rate read from the first bit rate estimation table for the case where the probability state indicator is σ M and MPS is input. N MPS denotes the first number, σ old denotes the value of the probability state indicator before the first estimated bit rate calculation, and [] denotes a Gaussian symbol.

상기의 과정을 통해, MPS에 대한 제 1 추정 비트율을 결정하기 위해 MPS만으로 구성된 비트열을 CABAC 알고리즘에 의해 직접 부호화 하는 과정 없이, 제 1 비트율 추정 테이블을 판독함으로써 제 1 추정 비트율을 결정할 수 있다.Through the above process, it is possible to determine the first estimated bit rate by reading the first bit rate estimation table without directly encoding a bit string composed only of the MPS by the CABAC algorithm to determine the first estimated bit rate for the MPS.

이하, 문맥 그룹 각각에 대해 LPS에 대한 추정 비트율에 해당하는 상기 제 2 추정 비트율을 결정하는 방법에 대해 상세히 설명한다.Hereinafter, a method of determining the second estimated bit rate corresponding to the estimated bit rate for the LPS for each context group will be described in detail.

앞에서 설명한 바와 같이, MPS만으로 구성된 비트열이 입력되는 경우에는, 입력 비트는 항상 MPS로 처리되고 확률상태 지시자는 단순히 1씩 증가시키면 되지만, LPS만으로 구성된 비트열이 입력되는 경우에는, 확률상태 지시자는 단순히 1씩 감소하는 것이 아니라 매 비트 처리시마다 CABAC 내부에 구비되어 있는 테이블을 참조하여 다음 확률상태 지시자가 무엇인지 알아내야 하고 확률상태 지시자가 0이 된 이후에도 LPS가 입력되는 경우 그 이후로는 입력 비트는 MPS로 처리되기 때문에 제 2 비트율을 결정하는 방법은 제 1 비트율을 결정하는 방법과는 상이하다.As described above, in the case where the MPS-only bit string is input, the input bit is always treated as the MPS and the probability state indicator simply needs to be incremented by 1. However, when the LPS-only bit string is input, the probability state indicator is It is not simply decremented by 1, but every bit processing, it is necessary to find out what the next probability status indicator is by referring to the table provided inside CABAC, and when LPS is input even after the probability status indicator becomes 0, the input bit thereafter. Since the is processed in MPS, the method of determining the second bit rate is different from the method of determining the first bit rate.

도 7은 CABAC 표준 알고리즘에 따른 LPS 입력시 확률상태 지시자 값의 변화를 도시한 것이다. 도 7을 참조하면, 확률상태 지시자의 0이상 62이하의 값을 그룹번호(group number)(Gnum(σ)) 및 그룹오프셋(Goff(σ))라는 두 개의 값으로 나타내었 다. 도 7에서 상부에 있는 0 내지 13의 숫자가 그룹번호(group number)를 나타내고, 각각의 확률상태 지시자(σ) 값의 아래첨자로 있는 숫자가 그룹오프셋을 나타낸다. 그룹번호는 특정 확률상태 지시자 값을 0으로 만들기 위해 필요한 연속된 LPS의 수를 의미한다. 상기와 같이 그룹번호 및 그룹오프셋을 정의하면 nLPS(상기 제 2 개수를 의미함) 개의 LPS가 연속적으로 입력되었을 때의 확률상태 지시자 값의 변화는 아래의 [수학식 9]에 의해 추정할 수 있다.Figure 7 shows the change in the probability state indicator value when LPS input according to the CABAC standard algorithm. Referring to FIG. 7, values between 0 and 62 of a probability state indicator are represented by two values, group number (G num (σ)) and group offset (G off (σ)). In Fig. 7, numbers 0 to 13 at the top represent group numbers, and numbers in subscripts of respective probability state indicators (σ) indicate group offsets. The group number refers to the number of consecutive LPS needed to zero a particular probability state indicator. When the group number and the group offset are defined as described above, the change in the probability state indicator value when n LPS (meaning the second number) LPSs are continuously input can be estimated by Equation 9 below. have.

[수학식 9][Equation 9]

Figure 112009015984932-pat00061
Figure 112009015984932-pat00061

여기서, σLPS는 nLPS 개의 LPS가 연속적으로 입력되었을 때의 변경된 확률상태 지시자를 나타내고, G-1은 그룹번호와 그룹오프셋을 확률상태 지시자로 대응시켜주는 함수를 나타낸다. 도 8은 상기의 [수학식 9]에 따른 LPS 입력시 확률상태 지시자 값의 변화를 도시한 것이다. 한편, 확률상태 지시자가 0이 된 상태에서 또다시 LPS가 입력되면 MPS값이 바뀌기 때문에 아직 처리되지 않은 비트들은 모두 MPS로 처리되므로, 이러한 경우, 즉 Gnum(σ) < nLPS 가 성립하는 경우에는 모든 비트들의 처리가 종료된 후에 변경된 확률상태 지시자는 아래의 [수학식 10]과 같다.Here, sigma LPS represents a changed probability state indicator when n LPS LPSs are continuously input, and G- 1 represents a function that maps a group number and a group offset to a probability state indicator. 8 illustrates a change in the probability state indicator value when LPS is input according to Equation 9 above. On the other hand, if the LPS is input again when the probability state indicator is 0, the MPS value is changed, so all unprocessed bits are treated as MPS. In this case, that is, when G num (σ) <n LPS is established. The probability state indicator changed after the processing of all the bits is terminated by Equation 10 below.

[수학식 10][Equation 10]

Figure 112009015984932-pat00062
Figure 112009015984932-pat00062

동일한 그룹번호를 갖는 확률상태 지시자의 경우에는 LPS가 입력되었을 때에 동일한 추정 비트율을 갖는다고 가정하면, 확률상태 지시자 그룹별 추정 비트율은 아래의 [수학식 11]에 의해 결정될 수 있다.In the case of the probability state indicator having the same group number, assuming that the LPS is the same estimated bit rate, the estimated bit rate for each probability state indicator group may be determined by Equation 11 below.

[수학식 11][Equation 11]

Figure 112009015984932-pat00063
Figure 112009015984932-pat00063

여기서, BG(

Figure 112009015984932-pat00064
)는 확률상태 지시자 그룹
Figure 112009015984932-pat00065
의 추정 비트율을 나타내고, B(s,LPS)는 확률상태 지시자가 s이고 LPS가 입력되었을 경우에 대해 상기 제 1 비트율 추정 테이블로부터 판독한 추정 비트율을 나타내고, pσ(s)는 CABAC 부호화 과정 중에 확률상태 지시자가 특정 값 s를 가질 확률을 나타낸다. pσ(s)는 아래의 [수학식 12]로 정의될 수 있다.Where B G (
Figure 112009015984932-pat00064
) Is the probability status indicator group
Figure 112009015984932-pat00065
A represents the estimated bit-rate, B (s, LPS) are the show the estimated bit rate a probability state indicator is s and the LPS is read out from the estimated table of the first bit rate for the case is entered, p σ (s) is CABAC encoding process The probability state indicator indicates the probability of having a specific value s. p σ (s) may be defined by Equation 12 below.

[수학식 12][Equation 12]

Figure 112009015984932-pat00066
Figure 112009015984932-pat00066

여기서, q는 0초과 1미만의 실수를 나타내고, pσ(s)는 기하분포(geometric distribution)를 따른다고 가정하였다. 상기 q값을 조절함에 따라 상기 확률상태 지시자 그룹별 추정 비트율을 조절할 수 있다. Where q represents a real number greater than 0 and less than 1, and p σ (s) is assumed to follow a geometric distribution. By adjusting the q value, the estimated bit rate for each probability state indicator group may be adjusted.

상기 제 2 비트율 추정 테이블은 상기 확률상태 지시자 그룹별 추정 비트율을 저장한다. 보다 상세히 설명하면, 상기 제 2 비트율 추정 테이블은 0이상 62이 하의 확률상태 지시자의 각각의 값들을 0 내지 13의 그룹번호를 갖는 14개의 확률상태 지시자 그룹으로 분류하여, 각각의 확률상태 지시자 그룹별로 상기 비트열에 포함되는 비트가 LPS와 일치하는 경우에 대한 추정 비트율을 저장한다. 또한, 앞에서 설명한 바와 같이, 확률상태 지시자 그룹들은 CABAC 알고리즘에서 확률상태 지시자의 각각의 값에 대해 확률상태 지시자를 0으로 만들기 위해 필요한 연속된 LPS의 개수가 동일한 확률상태 지시자들을 그룹화 한 것을 나타내고, 확률상태 지시자 그룹 번호는 확률상태 지시자를 0으로 만들기 위해 필요한 상기 연속된 LPS의 개수를 나타낸다. The second bit rate estimation table stores the estimated bit rate for each probability state indicator group. In more detail, the second bit rate estimation table classifies values of probability state indicators of 0 to 62 into 14 probability state indicator groups having group numbers of 0 to 13, for each probability state indicator group. The estimated bit rate for the case where the bits included in the bit string coincides with the LPS is stored. In addition, as described above, the probability state indicator groups indicate that the CABAC algorithm groups probability state indicators having the same number of successive LPSs required to make the probability state indicator zero for each value of the probability state indicator. The status indicator group number indicates the number of the contiguous LPS needed to zero the probability status indicator.

도 9는 제 2 비트율 추정 테이블의 예시를 나타낸 것으로써, q=0.08의 값을 이용하여 작성된 것이다. 도 9에서

Figure 112009015984932-pat00067
는 확률상태 지시자 그룹번호를 나타내고, BG(
Figure 112009015984932-pat00068
)는 확률상태 지시자 그룹
Figure 112009015984932-pat00069
의 추정 비트율을 나타내고, WG(
Figure 112009015984932-pat00070
)는 1.00을 8에 대응시키고 0.50을 4에 대응시키는 것과 같이 BG(
Figure 112009015984932-pat00071
)를 양자화하여 정수값의 가중치로 표현한 것을 나타낸다. WG(
Figure 112009015984932-pat00072
)는 하드웨어 구현을 용이하게 하기 위해 추정 비트율을 정수화한 것이고, 추후에 상기 정수화된 추정 비트율을 오른쪽으로 3비트 쉬프트(shift) 하여 추정 비트율을 생성할 수 있다. 도 9에서는 1.00이 8에 대응되도록 양자화 하였으나, 다른 방식의 양자화를 적용할 수 도 있다. 예를 들면, 1.00이 16에 대응되도록 양자화 할 수도 있으며, 이 경우에는 정수화된 추정 비트율을 오른쪽으로 4비트 쉬프트(shift) 하여 추정 비트율을 생성할 수 있다.9 shows an example of the second bit rate estimation table, which is created using a value of q = 0.08. In Figure 9
Figure 112009015984932-pat00067
Indicates the probability status indicator group number, and B G (
Figure 112009015984932-pat00068
) Is the probability status indicator group
Figure 112009015984932-pat00069
Denotes the estimated bit rate of W G (
Figure 112009015984932-pat00070
) Is equivalent to B G (for mapping 1.00 to 8 and 0.50 to 4).
Figure 112009015984932-pat00071
) Is expressed by the weight of an integer value. W G (
Figure 112009015984932-pat00072
) Is an integer of the estimated bit rate to facilitate hardware implementation, and the estimated bit rate may be later generated by shifting the integerized estimated bit rate to the right by three bits. In FIG. 9, 1.00 is quantized to correspond to 8. However, another quantization method may be applied. For example, 1.00 may be quantized to correspond to 16. In this case, the estimated bit rate may be shifted to the right by 4 bits to generate the estimated bit rate.

상기 설명한 과정을 통해 제 2 비트율 추정 테이블을 얻을 수 있다. 제 2 비트율 추정 테이블이 구비되면, LPS에 대한 제 2 추정 비트율을 결정하기 위해 lPS만으로 구성된 비트열을 CABAC 표준 알고리즘에 의해 직접 부호화 하는 과정 없이, 제 2 비트율 추정 테이블을 판독함으로써 제 2 추정 비트율을 결정할 수 있다. 구체적으로, LPS만으로 구성된 비트열에 대해 하나의 대표 그룹번호 GM을 결정하고 GM에 대한 추정 비트율을 상기 제 2 비트율 추정 테이블로부터 판독하여 이 값에 LPS의 개수를 곱함으로써 LPS만으로 구성된 비트열의 총 비트율을 추정할 수 있다. 상기의 과정을 수학식으로 표현하면 아래의 [수학식 13] 내지 [수학식 15]와 같다.Through the above-described process, a second bit rate estimation table can be obtained. When the second bit rate estimation table is provided, the second estimated bit rate is obtained by reading the second bit rate estimation table without directly encoding a bit string consisting of only lPS by the CABAC standard algorithm to determine the second estimated bit rate for the LPS. You can decide. Specifically, by determining one representative group number G M for a bit string composed only of LPS, and reading the estimated bit rate for G M from the second bit rate estimation table and multiplying this value by the number of LPS, the total number of bit strings composed only of LPS The bit rate can be estimated. When the above process is expressed as an equation, Equation 13 to Equation 15 below are given.

[수학식 13][Equation 13]

Figure 112009015984932-pat00073
Figure 112009015984932-pat00073

[수학식 14][Equation 14]

Figure 112009015984932-pat00074
Figure 112009015984932-pat00074

[수학식 15][Equation 15]

Figure 112009015984932-pat00075
, if GnumMPS) ≥ nLPS
Figure 112009015984932-pat00075
, if G numMPS ) ≥ n LPS

Figure 112009015984932-pat00076
, if GnumMPS) < nLPS
Figure 112009015984932-pat00076
, if G numMPS ) <n LPS

여기서, σMPS는 상기 제 1 추정 비트율 계산 이후의 확률상태 지시자의 값을 나타내고, σold는 상기 제 1 추정 비트율 계산 이전의 확률상태 지시자의 값을 나타내고, nMPS는 상기 제 1 개수를 나타내고, nLPS는 상기 제 2 개수를 나타내고, B(SLPS)는 상기 제 2 추정 비트율을 나타내고, BG(GM)은 상기 확률상태 지시자 그룹의 그룹번호가 GM인 경우에 대해 상기 제 2 비트율 추정 테이블로부터 판독한 추정 비트율을 나타낸다. 상기 [수학식 15]에서 볼 수 있듯이, GnumMPS) < nLPS 가 성립하여 MPS를 처리해야 하는 경우가 생길 경우에는 각각의 MPS에 해당하는 비트율은 모두 1로 가정하였다. 즉, MPS로 처리해야 하는 비트의 수는 추가로 출력되는 비트의 수와 동일한 것으로 가정하였다.Σ MPS denotes the value of the probability state indicator after the first estimated bit rate calculation, σ old denotes the value of the probability state indicator before the first estimated bit rate calculation, n MPS denotes the first number, n LPS represents the second number, B (S LPS ) represents the second estimated bit rate, and B G (G M ) represents the second bit rate for a case where the group number of the probability state indicator group is G M The estimated bit rate read from the estimation table is shown. As shown in Equation 15, when G numMPS ) < n LPS is established to process the MPS, the bit rate corresponding to each MPS is assumed to be 1. That is, it is assumed that the number of bits to be processed by the MPS is equal to the number of additionally output bits.

상기 설명한 과정을 통해 MPS에 대한 제 1 추정 비트율 및 LPS에 대한 제 2 추정 비트율이 결정되면, 상기 제 1 추정 비트율 및 제 2 추정 비트율을 합산하여 문맥 그룹별 추정 비트율을 결정할 수 있다. 문맥 그룹별 추정 비트율을 결정하기 위해 사용되는 수학식은 아래의 [수학식 16]과 같다.When the first estimated bit rate for the MPS and the second estimated bit rate for the LPS are determined through the above-described process, the estimated bit rate for each context group may be determined by summing the first estimated bit rate and the second estimated bit rate. Equation 16 used to determine the estimated bit rate for each context group is expressed by Equation 16 below.

[수학식 16][Equation 16]

Figure 112009015984932-pat00077
Figure 112009015984932-pat00077

여기서, x는 특정 부호화 단위 데이터를 나타내고, Rx,j는 부호화 단위 데이터 x에서 j번째 문맥 그룹에 대한 상기 문맥 그룹별 추정 비트율을 나타내고, Bx,j(SMPS)는 부호화 단위 데이터 x에서 상기 j번째 문맥 그룹에 대한 상기 제 1 추정 비트율을 나타내고, Bx,j(SLPS)는 부호화 단위 데이터 x에서 상기 j번째 문맥 그룹에 대한 상기 제 2 추정 비트율을 나타낸다.Here, x denotes specific coding unit data, R x, j denotes an estimated bit rate of the context group for the j-th context group in coding unit data x, and B x, j (S MPS ) denotes in coding unit data x The first estimated bit rate for the j-th context group is represented, and B x, j (S LPS ) represents the second estimated bit rate for the j-th context group in coding unit data x.

각각의 문맥 그룹별 추정 비트율이 결정되고 난 후에, 모든 문맥 그룹에 대 한 문맥 그룹별 추정 비트율을 합산하여 비트율 출력을 생성할 수 있다. 비트율 출력을 결정하기 위해 사용되는 수학식은 아래의 [수학식 17]과 같다.After the estimated bit rate for each context group is determined, the bit rate output can be generated by summing the estimated bit rates for each context group for all context groups. The equation used to determine the bit rate output is as shown in Equation 17 below.

[수학식 17][Equation 17]

Figure 112009015984932-pat00078
Figure 112009015984932-pat00078

여기서, Rx는 부호화 단위 데이터 x에 대한 상기 비트율 출력을 나타내고, mx은 부호화 단위 데이터 x가 사용하는 문맥의 개수를 나타내고, Rx,j는 부호화 단위 데이터 x에서 j번째 문맥 그룹에 대한 상기 문맥 그룹별 추정 비트율을 나타낸다.Where R x denotes the bit rate output for coding unit data x, m x denotes the number of contexts used by coding unit data x, and R x, j denotes the jth context group for coding unit data x. Indicates an estimated bit rate for each context group.

도 10은 본 발명의 제 2 실시예에 따른 비트율 추정 장치를 나타내는 블록도이다.10 is a block diagram showing a bit rate estimation apparatus according to a second embodiment of the present invention.

도 10을 참조하면, 비트율 추정 장치(700)는 이진화부(binarizer)(710), 문맥 그룹화부(context grouping unit)(720), 비트수 계산부(rate calculator)(730), 스위치(740), 문맥 로딩부(context loader)(750), 복수의 그룹별 비트율 추정부(rate estimator)(760) 및 누적부(accumulator)(770)를 포함한다.Referring to FIG. 10, a bit rate estimating apparatus 700 includes a binarizer 710, a context grouping unit 720, a bit calculator 730, and a switch 740. It includes a context loader 750, a plurality of group rate estimator 760, and an accumulator 770.

이진화부(710)는 입력 신호(input signal)를 수신하여 이진화(binarization)를 수행하여 0 또는 1의 값을 갖는 비트들의 연속인 비트열(bit stream)을 출력한다. The binarization unit 710 receives an input signal and performs binarization to output a bit stream that is a sequence of bits having a value of 0 or 1.

CABAC 표준 알고리즘에서는 바이패스 신호의 논리레벨에 따라 입력 데이터는 바이패스 모드로 부호화되기도 하고 레귤러(regular) 모드로 부호화되기도 한다. 따라서 본 실시예에서는 바이패스 신호의 논리레벨에 따라 상기 이진화부(710)의 출력을 상기 문맥 그룹화부(720) 또는 상기 비트수 계산부(730)에 선택적으로 연결시키는 스위치(740)를 구비한다.In the CABAC standard algorithm, input data may be encoded in bypass mode or regular mode according to the logic level of the bypass signal. Therefore, the present embodiment includes a switch 740 for selectively connecting the output of the binarizer 710 to the context grouper 720 or the bit number calculator 730 according to the logic level of the bypass signal. .

문맥 그룹화부(720)는 상기 비트열을 수신하여 동일한 문맥을 사용하는 데이터끼리 그룹화하여 문맥 그룹(context group)을 생성한다. 비트수 계산부(730)는 상기 비트열을 수신하여 상기 비트열에 속한 비트의 개수를 제공한다. The context grouping unit 720 receives the bit string and groups data using the same context to generate a context group. The bit number calculator 730 receives the bit string and provides the number of bits belonging to the bit string.

문맥 로딩부(750)는 상기 문맥 그룹을 수신하여 상기 문맥 그룹이 사용하는 문맥을 파악하고 해당 문맥에 대해 0 과 1 중에서 발생 확률이 더 높은 심볼을 나타내는 MPS 및 MPS가 발생할 확률을 나타내는 확률상태 지시자(σ)를 제공한다. 복수의 그룹별 비트율 추정부(760)는 상기 문맥 그룹 및 상기 문맥 그룹에 대한 상기 MPS 및 상기 확률상태 지시자를 각각 수신하여 상기 문맥 그룹에 대한 그룹별 추정 비트율을 결정한다. 누적부(770)는 상기 복수의 그룹별 비트율 추정부의 출력 및 상기 비트수 계산부의 출력을 누적 합산하여 비트율 출력을 제공한다.The context loading unit 750 receives the context group, grasps the context used by the context group, and indicates a probability state indicator indicating an occurrence of MPS and MPS representing a symbol having a higher probability of occurrence among 0 and 1 for the context. gives (σ). A plurality of group bit rate estimator 760 receives the MPS and the probability state indicator for the context group and the context group, respectively, and determines the estimated bit rate for each context group. The accumulator 770 accumulates and sums outputs of the plurality of group bit rate estimation units and outputs of the bit number calculator to provide a bit rate output.

비트율 추정기(700)는 상기와 같은 구조를 가짐으로써, 복수의 그룹별 비트율 추정부(760)를 이용하여 복수의 문맥 그룹에 대한 그룹별 비트율 추정을 병렬적으로 수행할 수 있으므로 비트율 추정 속도를 증가시킬 수 있다.Since the bit rate estimator 700 has the above structure, the bit rate estimator 700 can perform the bit rate estimation for each context group in parallel using the plurality of group bit rate estimator 760, thereby increasing the bit rate estimation speed. You can.

도 10에는 2개의 그룹별 비트율 추정부(760)를 사용한 경우가 도시되어 있으나, 본 발명의 기술 분야에서 통상의 지식을 가진 자는 3개 이상의 그룹별 비트율 추정부(760)를 사용하여 비트율 추정 장치(700)를 구현하는 것도 가능하다.FIG. 10 illustrates a case in which two bit rate estimators 760 are used for each group. However, those skilled in the art may use bit rate estimator 760 for three or more groups. It is also possible to implement 700.

상기 설명한 바와 같이, 제 2 실시예에 의하면, 부호화 단위에 대해 실제로 부호화를 실행하지 않고도, 미리 구비된 제 1 및 제 2 비트율 추정 테이블로부터 추정 비트율을 판독한 값들을 합산함으로써 비트율을 추정할 수 있으므로, 부호화기의 복잡도를 줄일 수 있을 뿐만 아니라, 비트열을 순차적으로 처리하지 않고, 동일한 문맥을 사용하는 데이터끼리 문맥 그룹화하여 문맥 그룹별로 병렬적으로 비트율 추정을 수행할 수 있으므로 부호화기의 속도 또한 증가시킬 수 있다.As described above, according to the second embodiment, the bit rate can be estimated by summing values obtained by reading the estimated bit rates from the first and second bit rate estimation tables provided in advance without actually performing encoding on the coding units. In addition, the encoder can not only reduce the complexity of the encoder but also increase the speed of the encoder because it can perform bit rate estimation in parallel for each context group by context grouping the data using the same context without sequentially processing the bit strings. have.

본 발명의 실시예에 따른 비트율 추정 방법 및 장치는 부호화기의 복잡도를 줄일 수 있고, 비트율 추정도 빠르게 수행할 수 있으므로 CABAC을 기반으로 하는 고성능 부호화기에 효율적으로 사용될 수 있다.The bit rate estimation method and apparatus according to the embodiment of the present invention can reduce the complexity of the encoder and perform the bit rate estimation quickly, and thus can be efficiently used for the high performance encoder based on CABAC.

상술한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.As described above, the present invention has been described with reference to a preferred embodiment of the present invention, but those skilled in the art may vary the present invention without departing from the spirit and scope of the present invention as set forth in the claims below. It will be understood that modifications and changes can be made.

도 1은 본 발명의 제 1 실시예에 따른 비트율 추정 장치를 나타내는 블록도이다. 1 is a block diagram illustrating a bit rate estimation apparatus according to a first embodiment of the present invention.

도 2는 비트율 추정 테이블의 예시를 나타낸다.2 shows an example of a bit rate estimation table.

도 3은 본 발명의 제 1 실시예에 따른 비트율 추정 방법을 나타내는 순서도이다. 3 is a flowchart illustrating a bit rate estimation method according to a first embodiment of the present invention.

도 4는 도 3의 테이블 판독 단계를 상세히 나타내는 순서도이다.FIG. 4 is a flowchart showing the table reading step of FIG. 3 in detail.

도 5는 본 발명의 제 2 실시예에 따른 비트율 추정 방법을 나타내는 순서도이다.5 is a flowchart illustrating a bit rate estimation method according to a second embodiment of the present invention.

도 6은 도 5의 비트율 결정 단계를 상세히 나타내는 순서도이다.6 is a flowchart illustrating the bit rate determination step of FIG. 5 in detail.

도 7은 CABAC 표준 알고리즘에 따른 LPS 입력시 확률상태 지시자 값의 변화를 도시한 것이다.Figure 7 shows the change in the probability state indicator value when LPS input according to the CABAC standard algorithm.

도 8은 제 2 실시예에 따른 LPS 입력시 확률상태 지시자 값의 변화를 도시한 것이다.8 illustrates a change in the probability state indicator value during LPS input according to the second embodiment.

도 9는 제 2 비트율 추정 테이블의 예시를 나타낸다.9 shows an example of a second bit rate estimation table.

도 10은 본 발명의 제 2 실시예에 따른 비트율 추정 장치를 나타내는 블록도이다.10 is a block diagram showing a bit rate estimation apparatus according to a second embodiment of the present invention.

Claims (28)

입력 신호를 수신하여 이진화(binarization)를 수행하고 비트열(bit stream)을 제공하는 이진화부(binarizer);A binarizer configured to receive an input signal, perform binarization, and provide a bit stream; 상기 비트열을 수신하여 상기 비트열이 사용하는 문맥(context)을 파악하고 해당 문맥을 사용하는 데이터에서 0 과 1 중에서 발생 확률이 더 높은 심볼을 나타내는 최대확률심볼(Most Probable Symbol, MPS) 및 상기 MPS가 발생할 확률을 나타내는 확률상태 지시자를 포함하는 문맥 데이터를 제공하는 문맥 로더(context loader); 및Receive the bit strings to determine the context used by the bit strings; Most Probable Symbol (MPS) indicating a symbol having a higher probability of occurrence between 0 and 1 in the data using the context; A context loader for providing context data including a probability state indicator indicating a probability of MPS occurrence; And 상기 비트열 및 상기 문맥 데이터를 수신하여 상기 확률상태 지시자의 각각의 값에 대하여 상기 MPS가 입력되었을 경우에 발생할 확률적인 비트의 수 및 최저확률심볼(Least Probable Symbol, LPS)이 입력되었을 경우에 발생할 확률적인 비트의 수를 나타내는 추정 비트율을 저장하는 비트율(bit-rate) 추정 테이블로부터 상기 비트열에 포함되는 각각의 비트에 대한 상기 추정 비트율을 판독하고 상기 판독된 추정 비트율을 합산함으로써 비트율 출력을 제공하는 테이블 판독부를 포함하는 비트율 추정 장치. Occurs when the number of probable bits and the lowest probability symbol (LPS) are input when the MPS is input for each value of the probability state indicator by receiving the bit string and the context data. Providing a bit rate output by reading the estimated bit rate for each bit included in the bit string from a bit-rate estimation table that stores an estimated bit rate representing the number of probabilistic bits and summing the read estimated bit rates. A bit rate estimating apparatus comprising a table reading section. 제 1 항에 있어서, The method of claim 1, 상기 문맥 데이터 및 상기 비트율 추정 테이블을 저장하는 메모리부를 더 포함하는 것을 특징으로 하는 비트율 추정 장치.And a memory unit which stores the context data and the bit rate estimation table. 삭제delete 제 1 항에 있어서, 상기 확률상태 지시자는 0이상 62이하의 정수값을 갖고, 상기 MPS가 발생할 확률은 상기 확률상태 지시자의 값이 증가할수록 증가하는 것을 특징으로 하는 비트율 추정 장치.The apparatus of claim 1, wherein the probability state indicator has an integer value of 0 to 62, and the probability of occurrence of the MPS increases as the value of the probability state indicator increases. 제 4 항에 있어서, 상기 비트율 추정 테이블은,The method of claim 4, wherein the bit rate estimation table, 상기 확률상태 지시자의 각각의 값에 대하여, 상기 비트열에 포함되는 비트가 상기 MPS와 일치하는 경우와 상기 비트열에 포함되는 비트가 상기 MPS와 일치하지 않는 경우 각각에 대한 추정 비트율을 저장하는 것을 특징으로 하는 비트율 추정 장치.For each value of the probability state indicator, an estimated bit rate for each of the cases where the bits included in the bit string coincide with the MPS and the bits included in the bit string do not coincide with the MPS. Bit rate estimation device. 제 5 항에 있어서, 상기 추정 비트율은,The method of claim 5, wherein the estimated bit rate, CABAC(Context-Adaptive Binary Arithmetic Coding) 알고리즘의 내부변수인 range를 256이상 510이하의 정수값을 갖는 확률변수로 모델링함으로써 상기 확률상태 지시자 각각의 값에 대하여 확률적으로 결정되는 것을 특징으로 하는 비트율 추정 장치.Bit rate estimation, characterized in that it is determined probabilistically for each value of the probability state indicator by modeling a range that is an internal variable of CABAC (Context-Adaptive Binary Arithmetic Coding) algorithm as a random variable having an integer value of 256 or more and 510 or less Device. 제 6 항에 있어서, 상기 추정 비트율은,The method of claim 6, wherein the estimated bit rate, 아래의 [수학식 1]을 이용하여 생성되는 것을 특징으로 하는 비트율 추정 장치(여기서, σ는 상기 확률상태 지시자를 나타내고, α는 상기 비트열에 포함되는 각각의 비트를 나타내고, B(σ,α)는 주어진 σ 및 α에 대해 확률적으로 생성되는 상기 추정 비트율을 나타내고,
Figure 112009015984932-pat00079
는 상기 range가 A인 경우 구간세분화(interval subdivision)한 이후의 변경된 range를 나타내고,
Figure 112009015984932-pat00080
(k)|σ,α는 주어진 σ 및 α에 대해 상기
Figure 112009015984932-pat00081
가 특정 값 k가 될 확률을 나타내고, b(k)는 상기
Figure 112009015984932-pat00082
가 특정 값 k일 경우 재정규화(renormalization) 과정을 통해 생성되는 비트의 수를 나타낸다).
A bit rate estimating apparatus, which is generated using Equation 1 below (where σ represents the probability state indicator, α represents each bit included in the bit string, and B (σ, α) Denotes the estimated bit rate produced probabilistic for a given σ and α,
Figure 112009015984932-pat00079
Represents a changed range after interval subdivision when the range is A,
Figure 112009015984932-pat00080
(k) | σ, α is for the given σ and α
Figure 112009015984932-pat00081
Denotes the probability of being a specific value k, and b (k) is
Figure 112009015984932-pat00082
Is a specific value k, it represents the number of bits generated through the renormalization process).
[수학식 1][Equation 1]
Figure 112009015984932-pat00083
Figure 112009015984932-pat00083
제 7 항에 있어서, 상기
Figure 112009015984932-pat00084
(k)|σ,α는 아래의 [수학식 2]에 의해 생성되는 것을 특징으로 하는 비트율 추정 장치(여기서, pA는 상기 range의 확률분포를 나타내고, δ는 두 인자가 서로 같을 경우에는 1을 갖고 두 인자가 서로 다를 경우에는 0을 갖는 함수를 나타내고,
Figure 112009015984932-pat00085
|σ,α는 상기 range가 a인 경우에 주어진 σ 및 α에 대해 구간세분화한 결과를 나타낸다).
8. The method of claim 7, wherein
Figure 112009015984932-pat00084
(k) | σ, α is generated by Equation 2 below, where p A represents the probability distribution of the range, δ is 1 when the two factors are equal to each other, and two factors If is different, it represents a function with 0,
Figure 112009015984932-pat00085
| σ, α represents the result of interval segmentation for σ and α given when the range is a).
[수학식 2][Equation 2]
Figure 112009015984932-pat00086
Figure 112009015984932-pat00086
제 8 항에 있어서, 상기 비트율 출력은 아래의 [수학식 3]에 의해 생성되는 것을 특징으로 하는 비트율 추정 장치(여기서, x는 특정 부호화 단위 데이터를 나타내고, Rx는 상기 특정 부호화 단위 데이터의 추정 비트율을 나타내고, αk는 상기 비트열에 포함되는 k번째 비트를 나타내고, σk는 상기 비트열에 포함되는 k번째 비트 처리시에 로딩한 상기 확률상태 지시자의 값을 나타내고, B(σkk)는 주어진 σk 및 αk에 대해 상기 비트율 추정 테이블로부터 판독한 추정 비트율을 나타낸다).9. The apparatus of claim 8, wherein the bit rate output is generated by Equation 3 below (where x represents specific coding unit data and R x is estimation of the specific coding unit data). Represents a bit rate, α k represents a k-th bit included in the bit string, σ k represents a value of the probability state indicator loaded during k-th bit processing included in the bit string, and B (σ k , α k ) Represents the estimated bit rate read from the bit rate estimation table for a given σ k and α k ). [수학식 3]&Quot; (3) &quot;
Figure 112009015984932-pat00087
Figure 112009015984932-pat00087
입력 신호를 수신하여 이진화(binarization)를 수행하고 비트열(bit stream)을 제공하는 이진화 단계;A binarization step of receiving an input signal to perform binarization and providing a bit stream; 상기 비트열을 수신하여 상기 비트열이 사용하는 문맥(context)을 파악하고 해당 문맥을 사용하는 데이터에서 0 과 1 중에서 발생 확률이 더 높은 심볼을 나타내는 최대확률심볼(Most Probable Symbol, MPS) 및 상기 MPS가 발생할 확률을 나타내는 확률상태 지시자를 포함하는 문맥 데이터를 제공하는 문맥 로딩(loading) 단계; 및Receive the bit strings to determine the context used by the bit strings; Most Probable Symbol (MPS) indicating a symbol having a higher probability of occurrence between 0 and 1 in the data using the context; A context loading step of providing context data comprising a probability state indicator indicative of the probability that an MPS will occur; And 상기 비트열 및 상기 문맥 데이터를 수신하여 상기 확률상태 지시자의 각각의 값에 대하여 상기 MPS가 입력되었을 경우에 발생할 확률적인 비트의 수 및 최저확률심볼(Least Probable Symbol, LPS)이 입력되었을 경우에 발생할 확률적인 비트의 수를 나타내는 추정 비트율을 저장하는 비트율(bit-rate) 추정 테이블로부터 상기 비트열에 포함되는 각각의 비트에 대한 상기 추정 비트율을 판독하고 상기 판독된 추정 비트율을 합산함으로써 비트율 출력을 제공하는 테이블 판독 단계를 포함하는 비트율 추정 방법.Occurs when the number of probable bits and the lowest probability symbol (LPS) are input when the MPS is input for each value of the probability state indicator by receiving the bit string and the context data. Providing a bit rate output by reading the estimated bit rate for each bit included in the bit string from a bit-rate estimation table that stores an estimated bit rate representing the number of probabilistic bits and summing the read estimated bit rates. A bit rate estimation method comprising a table reading step. 삭제delete 제 10 항에 있어서, 상기 비트율 추정 테이블은,The method of claim 10, wherein the bit rate estimation table, 상기 확률상태 지시자의 각각의 값에 대하여, 상기 비트열에 포함되는 비트가 상기 MPS와 일치하는 경우와 상기 비트열에 포함되는 비트가 상기 MPS와 일치하지 않는 경우 각각에 대한 추정 비트율을 저장하는 것을 특징으로 하는 비트율 추정 방법.For each value of the probability state indicator, an estimated bit rate for each of the cases where the bits included in the bit string coincide with the MPS and the bits included in the bit string do not coincide with the MPS. Bit rate estimation method. 제 12 항에 있어서, 상기 테이블 판독 단계는,The method of claim 12, wherein the table reading step, 상기 비트열에 포함되는 비트가 상기 MPS와 일치하는지 여부를 판단하는 단계;Determining whether a bit included in the bit string matches the MPS; 상기 비트열에 포함되는 비트가 상기 MPS와 일치하는 경우에는 상기 비트율 추정 테이블로부터 상기 확률상태 지시자의 현재의 값에 대하여 상기 비트열에 포함되는 비트가 상기 MPS와 일치하는 경우에 대한 추정 비트율을 판독하고, 상기 비트열에 포함되는 비트가 상기 MPS와 일치하지 않는 경우에는 상기 비트율 추정 테이블로부터 상기 확률상태 지시자의 현재의 값에 대하여 상기 비트열에 포함되는 비트가 상기 MPS와 일치하지 않는 경우에 대한 추정 비트율을 판독하는 단계; 및If the bit included in the bit string matches the MPS, the estimated bit rate for the case where the bit included in the bit string matches the MPS with respect to the current value of the probability state indicator is read from the bit rate estimation table. If the bit included in the bit string does not match the MPS, the estimated bit rate for the case where the bit included in the bit string does not match the MPS is read with respect to a current value of the probability state indicator from the bit rate estimation table. Making; And 상기 비트열에 포함되는 각각의 비트에 대하여 상기 판독한 추정 비트율들을 합산하여 비트율 출력을 제공하는 단계를 포함하는 것을 특징으로 하는 비트율 추정 방법.And summing the read estimated bit rates for each bit included in the bit string to provide a bit rate output. 입력 신호를 수신하여 이진화(binarization)를 수행하고 비트열(bit stream)을 제공하는 이진화 단계;A binarization step of receiving an input signal to perform binarization and providing a bit stream; 상기 비트열을 수신하여 동일한 문맥(context)을 사용하는 데이터끼리 그룹화하여 문맥 그룹을 생성하는 문맥 그룹화 단계;A context grouping step of generating the context group by receiving the bit string and grouping data using the same context; 상기 문맥 그룹 각각에 대해 0 과 1 중에서 발생 확률이 더 높은 심볼을 나타내는 최대확률심볼(Most Probable Symbol, MPS) 및 상기 MPS가 발생할 확률을 나타내는 확률상태 지시자를 로딩(loading)하는 문맥 로딩 단계;Loading a maximum probability symbol (MPS) representing a symbol having a higher probability of occurrence among 0 and 1 and a probability state indicator indicating a probability of occurrence of the MPS for each of the context groups; 상기 문맥 그룹 각각에 대해 상기 문맥 그룹에 포함된 상기 MPS와 최저확률심볼(Least Probable Symbol, LPS)을 분리하여, 상기 MPS의 개수인 제 1 개수 및 상기 LPS의 개수인 제 2 개수를 결정하는 심볼 분리 단계;For each of the context groups, the MPS and the least probability symbol (LPS) included in the context group are separated to determine a first number, the number of MPSs, and a second number, the number of LPSs. Separation step; 상기 문맥 그룹 각각에 대해, 상기 확률상태 지시자의 각각의 값에 대하여 상기 MPS가 입력되었을 경우에 발생할 확률적인 비트의 수 및 상기 LPS가 입력되었을 경우에 발생할 확률적인 비트의 수를 나타내는 추정 비트율을 저장하는 제 1 비트율(bit-rate) 추정 테이블로부터 판독된 추정 비트율 및 상기 제 1 개수에 기초하여 상기 MPS에 대한 제 1 추정 비트율을 결정하고, 상기 확률상태 지시자의 각각의 값을 그룹화하고 상기 확률상태 지시자 그룹별로 상기 비트열에 포함되는 각각의 비트가 LPS와 일치하는 경우에 대한 추정 비트율을 저장하는 제 2 비트율 추정 테이블로부터 판독된 추정 비트율 및 상기 제 2 개수에 기초하여 상기 LPS에 대한 제 2 추정 비트율을 결정하는 테이블 판독 단계;For each of the context groups, for each value of the probability state indicator, store an estimated bit rate indicating the number of probable bits that will occur when the MPS is input and the number of probable bits that will occur when the LPS is input. Determine a first estimated bit rate for the MPS based on the estimated bit rate and the first number read from the first bit-rate estimation table, group each of the values of the probability state indicator, and determine the probability state. A second estimated bit rate for the LPS based on the second number and an estimated bit rate read from a second bit rate estimation table that stores an estimated bit rate for each bit included in the bit string corresponding to the LPS for each indicator group; A table reading step of determining; 상기 문맥 그룹 각각에 대해 상기 제 1 추정 비트율 및 상기 제 2 추정 비트율을 합산하여 상기 문맥 그룹별 추정 비트율을 결정하는 그룹별 비트율 결정 단계; 및A bit rate determining step for each group determining the estimated bit rate for each context group by summing up the first estimated bit rate and the second estimated bit rate for each of the context groups; And 상기 문맥 그룹별 추정 비트율을 합산하여 비트율 출력을 제공하는 비트율 합산 단계를 포함하는 비트율 추정 방법.And summing the estimated bit rates for each context group to provide a bit rate output. 삭제delete 제 14항에 있어서, 상기 확률상태 지시자는 0이상 62이하의 정수값을 갖고, 상기 MPS가 발생할 확률은 상기 확률상태 지시자의 값이 증가할수록 증가하는 것을 특징으로 하는 비트율 추정 방법. 15. The method of claim 14, wherein the probability state indicator has an integer value between 0 and 62, and the probability of occurrence of the MPS increases as the value of the probability state indicator increases. 제 16항에 있어서, 상기 제 1 비트율 추정 테이블은,The method of claim 16, wherein the first bit rate estimation table, 상기 확률상태 지시자의 각각의 값에 대하여, 상기 비트열에 포함되는 비트가 상기 MPS와 일치하는 경우와 상기 비트열에 포함되는 비트가 상기 MPS와 일치하지 않는 경우 각각에 대한 추정 비트율을 저장하는 것을 특징으로 하는 비트율 추정 방법.For each value of the probability state indicator, an estimated bit rate for each of the cases where the bits included in the bit string coincide with the MPS and the bits included in the bit string do not coincide with the MPS. Bit rate estimation method. 제 17항에 있어서, 상기 제 1 비트율 추정 테이블에 저장된 추정 비트율은,The method of claim 17, wherein the estimated bit rate stored in the first bit rate estimation table, CABAC(Context-Adaptive Binary Arithmetic Coding) 알고리즘의 내부변수인 range를 256이상 510이하의 정수값을 갖는 확률변수로 모델링함으로써 상기 확률상태 지시자 각각의 값에 대하여 확률적으로 결정되는 것을 특징으로 하는 비트율 추 정 방법.Bit rate estimation, which is determined probabilistically for each value of the probability state indicator by modeling an internal variable range of the CABAC algorithm as a random variable having an integer value of 256 or more and 510 or less. Chung way. 제 18항에 있어서, 상기 제 1 비트율 추정 테이블에 저장된 추정 비트율은,The method according to claim 18, wherein the estimated bit rate stored in the first bit rate estimation table, 아래의 [수학식 4]를 이용하여 생성되는 것을 특징으로 하는 비트율 추정 방법(여기서, σ는 상기 확률상태 지시자를 나타내고, α는 상기 비트열에 포함되는 각각의 비트를 나타내고, B(σ,α)는 주어진 σ 및 α에 대해 확률적으로 생성되는 상기 추정 비트율을 나타내고,
Figure 112009015984932-pat00088
는 상기 range가 A인 경우 구간세분화(interval subdivision)한 이후의 변경된 range를 나타내고,
Figure 112009015984932-pat00089
(k)|σ,α는 주어진 σ 및 α에 대해 상기
Figure 112009015984932-pat00090
가 특정 값 k가 될 확률을 나타내고, b(k)는 상기
Figure 112009015984932-pat00091
가 특정 값 k일 경우 재정규화(renormalization) 과정을 통해 생성되는 비트의 수를 나타낸다).
A bit rate estimation method characterized by using Equation 4 below (where σ represents the probability state indicator, α represents each bit included in the bit string, and B (σ, α) Denotes the estimated bit rate produced probabilistic for a given σ and α,
Figure 112009015984932-pat00088
Represents a changed range after interval subdivision when the range is A,
Figure 112009015984932-pat00089
(k) | σ, α is for the given σ and α
Figure 112009015984932-pat00090
Denotes the probability of being a specific value k, and b (k) is
Figure 112009015984932-pat00091
Is a specific value k, it represents the number of bits generated through the renormalization process).
[수학식 4]&Quot; (4) &quot;
Figure 112009015984932-pat00092
Figure 112009015984932-pat00092
제 19항에 있어서, 상기
Figure 112009015984932-pat00093
(k)|σ,α는 아래의 [수학식 5]에 의해 생성되는 것을 특징으로 하는 비트율 추정 방법(여기서, pA는 상기 range의 확률분포를 나타내고, δ는 두 인자가 서로 같을 경우에는 1을 갖고 두 인자가 서로 다를 경우에는 0을 갖는 함수를 나타내고,
Figure 112009015984932-pat00094
|σ,α는 상기 range가 a인 경우에 주어진 σ 및 α에 대해 구간세분화한 결과를 나타낸다).
20. The method of claim 19, wherein
Figure 112009015984932-pat00093
(k) | σ, α is a bit rate estimation method characterized by the following Equation 5 (where p A represents the probability distribution of the range, δ is 1 when the two factors are equal to each other and two factors If is different, it represents a function with 0,
Figure 112009015984932-pat00094
| σ, α represents the result of interval segmentation for σ and α given when the range is a).
[수학식 5][Equation 5]
Figure 112009015984932-pat00095
Figure 112009015984932-pat00095
제 20항에 있어서, 상기 문맥 그룹 각각의 상기 제 1 추정 비트율은 아래의 [수학식 6] 및 [수학식 7]에 의해 결정되는 것을 특징으로 하는 비트율 추정 방법(여기서, B(SMPS)는 상기 제 1 추정 비트율을 나타내고, B(σM, MPS)는 상기 확률상태 지시자가 σM이고 MPS가 입력되었을 경우에 대해 상기 제 1 비트율 추정 테이블로부터 판독한 추정 비트율을 나타내고, nMPS는 상기 제 1 개수를 나타내고, σold는 상기 제 1 추정 비트율 계산 이전의 확률상태 지시자의 값을 나타내고, []는 가우스 기호를 나타낸다).21. The method of claim 20, wherein the first estimated bit rate of each context group is determined by Equation 6 and Equation 7 below, wherein B (S MPS ) is B (σ M , MPS) denotes the first estimated bit rate, and B (σ M , MPS) denotes an estimated bit rate read from the first bit rate estimation table for the case where the probability state indicator is σ M and MPS is input, and n MPS denotes the first 1 represents a number, σ old represents a value of a probability state indicator before the first estimated bit rate calculation, and [] represents a Gaussian symbol). [수학식 6]&Quot; (6) &quot;
Figure 112009015984932-pat00096
Figure 112009015984932-pat00096
[수학식 7][Equation 7]
Figure 112009015984932-pat00097
Figure 112009015984932-pat00097
제 21항에 있어서, 상기 제 2 비트율 추정 테이블은,The method of claim 21, wherein the second bit rate estimation table, 0이상 62이하의 상기 확률상태 지시자의 각각의 값들을 0 내지 13의 그룹번호를 갖는 14개의 확률상태 지시자 그룹으로 분류하여, 각각의 확률상태 지시자 그 룹별로 상기 비트열에 포함되는 비트가 LPS와 일치하는 경우에 대한 추정 비트율을 저장하는 것을 특징으로 하는 비트율 추정 방법.Each value of the probability state indicator of 0 or more and 62 or less is classified into 14 groups of probability state indicators having group numbers of 0 to 13, and the bits included in the bit string for each probability state indicator group match the LPS. And a bit rate estimation method for storing the estimated bit rate. 제 22항에 있어서, 상기 확률상태 지시자 그룹들은,The method of claim 22, wherein the probability state indicator groups, CABAC(Context-Adaptive Binary Arithmetic Coding) 알고리즘에서 상기 확률상태 지시자의 각각의 값에 대해, 상기 확률상태 지시자를 0으로 만들기 위해 필요한 연속된 LPS의 개수가 동일한 확률상태 지시자들을 그룹화 한 것을 나타내고,For each value of the probability state indicator in a context-adaptive binary arithmetic coding (CABAC) algorithm, the number of consecutive LPS needed to make the probability state indicator 0 is grouped with the same probability state indicators, 상기 확률상태 지시자 그룹 번호는,The probability state indicator group number is, 상기 확률상태 지시자를 0으로 만들기 위해 필요한 상기 연속된 LPS의 개수를 나타내는 것을 특징으로 하는 비트율 추정 방법. And indicating the number of the contiguous LPS needed to zero the probability state indicator. 제 23항에 있어서, 상기 제 2 비트율 추정 테이블에 저장된 추정 비트율은,The method of claim 23, wherein the estimated bit rate stored in the second bit rate estimation table, 아래의 [수학식 8]을 이용하여 생성되는 것을 특징으로 하는 비트율 추정 방법(여기서, BG(
Figure 112009015984932-pat00098
)는 그룹
Figure 112009015984932-pat00099
의 추정 비트율을 나타내고, B(s,LPS)는 상기 확률상태 지시자가 s이고 LPS가 입력되었을 경우에 대해 상기 제 1 비트율 추정 테이블로부터 판독한 추정 비트율을 나타내고, pσ(s)는 CABAC 부호화 과정 중에 상기 확률상태 지시자가 특정 값 s를 가질 확률을 나타낸다).
Bit rate estimation method, characterized in that generated using [Equation 8] below, where B G (
Figure 112009015984932-pat00098
) Group
Figure 112009015984932-pat00099
B (s, LPS) represents an estimated bit rate of the estimated bit rate read from the first bit rate estimation table for the case where the probability state indicator is s and LPS is input, and p σ (s) represents the CABAC encoding process. The probability state indicator has a specific value s).
[수학식 8][Equation 8]
Figure 112009015984932-pat00100
Figure 112009015984932-pat00100
제 24항에 있어서, 상기 pσ(s)는 아래의 [수학식 9]에 의해 생성되는 것을 특징으로 하는 비트율 추정 방법(여기서, q는 0초과 1미만의 실수).25. The method of claim 24, wherein p σ (s) is generated by Equation (9) below, wherein q is a real number greater than zero and less than one. [수학식 9][Equation 9]
Figure 112009015984932-pat00101
Figure 112009015984932-pat00101
제 25항에 있어서, 상기 문맥 그룹 각각의 상기 제 2 추정 비트율은 아래의 [수학식 10], [수학식 11] 및 [수학식 12]에 의해 결정되는 것을 특징으로 하는 비트율 추정 방법(여기서, σMPS는 상기 제 1 추정 비트율 계산 이후의 상기 확률상태 지시자의 값을 나타내고, σold는 상기 제 1 추정 비트율 계산 이전의 상기 확률상태 지시자의 값을 나타내고, nMPS는 상기 제 1 개수를 나타내고, nLPS는 상기 제 2 개수를 나타내고, Gnum(σ)은 확률상태 지시자 σ가 속한 상기 확률상태 지시자 그룹번호를 나타내고, B(SLPS)는 상기 제 2 추정 비트율을 나타내고, BG(GM)은 상기 확률상태 지시자 그룹의 그룹번호가 GM인 경우에 대해 상기 제 2 비트율 추정 테이블로 부터 판독한 추정 비트율을 나타낸다).26. The method of claim 25, wherein the second estimated bit rate of each of the context groups is determined by Equation 10, Equation 11, and Equation 12 below. σ MPS denotes the value of the probability state indicator after the first estimated bit rate calculation, σ old denotes the value of the probability state indicator before the first estimated bit rate calculation, n MPS denotes the first number, n LPS represents the second number, G num (σ) represents the probability state indicator group number to which the probability state indicator σ belongs, B (S LPS ) represents the second estimated bit rate, and B G (G M ) Represents an estimated bit rate read from the second bit rate estimation table for the case where the group number of the probability state indicator group is G M ). [수학식 10][Equation 10]
Figure 112009015984932-pat00102
Figure 112009015984932-pat00102
[수학식 11][Equation 11]
Figure 112009015984932-pat00103
Figure 112009015984932-pat00103
[수학식 12][Equation 12]
Figure 112009015984932-pat00104
, if GnumMPS) ≥ nLPS
Figure 112009015984932-pat00104
, if G numMPS ) ≥ n LPS
Figure 112009015984932-pat00105
, if GnumMPS) < nLPS
Figure 112009015984932-pat00105
, if G numMPS ) <n LPS
제 26항에 있어서, 상기 문맥 그룹별 추정 비트율은 아래의 [수학식 13]에 의해 생성되고, 상기 비트율 출력은 아래의 [수학식 14]에 의해 생성되는 것을 특징으로 하는 비트율 추정 방법(여기서, x는 특정 부호화 단위 데이터를 나타내고, Rx,j는 부호화 단위 데이터 x에서 j번째 문맥 그룹에 대한 상기 문맥 그룹별 추정 비트율을 나타내고, Bx,j(SMPS)는 부호화 단위 데이터 x에서 상기 j번째 문맥 그룹에 대한 상기 제 1 추정 비트율을 나타내고, Bx,j(SLPS)는 부호화 단위 데이터 x에서 상기 j번째 문맥 그룹에 대한 상기 제 2 추정 비트율을 나타내고, Rx는 부호화 단위 데이터 x에 대한 상기 비트율 출력을 나타내고, mx은 부호화 단위 데이터 x가 사용하는 문맥의 개수를 나타낸다).27. The method of claim 26, wherein the estimated bit rate for each context group is generated by Equation 13 below, and the bit rate output is generated by Equation 14 below. x represents specific coding unit data, R x, j represents the estimated bit rate for each context group for the j-th context group in coding unit data x, and B x, j (S MPS ) represents the j in coding unit data x The first estimated bit rate for the first context group, B x, j (S LPS ) represents the second estimated bit rate for the jth context group in coding unit data x, and R x is used for coding unit data x For the bit rate output, m x denotes the number of contexts used by the coding unit data x). [수학식 13][Equation 13]
Figure 112009015984932-pat00106
Figure 112009015984932-pat00106
[수학식 14][Equation 14]
Figure 112009015984932-pat00107
Figure 112009015984932-pat00107
입력 신호를 수신하여 이진화(binarization)를 수행하고 비트열(bit stream)을 제공하는 이진화부(binarizer);A binarizer configured to receive an input signal, perform binarization, and provide a bit stream; 상기 비트열을 수신하여 동일한 문맥(context)을 사용하는 데이터끼리 그룹화하여 문맥 그룹을 생성하는 문맥 그룹화부;A context grouper for generating a context group by receiving the bit string and grouping data using the same context; 상기 비트열을 수신하여 상기 비트열에 속한 비트의 개수를 제공하는 비트수 계산부;A bit number calculator configured to receive the bit string and provide the number of bits belonging to the bit string; 바이패스(bypass) 신호의 논리레벨에 따라 상기 이진화부의 출력을 상기 문맥 그룹화부 또는 상기 비트수 계산부에 선택적으로 연결시키는 스위치;A switch for selectively coupling the output of the binarizer to the context grouper or the bit number calculator according to a logic level of a bypass signal; 상기 문맥 그룹을 수신하여 상기 문맥 그룹이 사용하는 문맥을 파악하고 해당 문맥에 대해 0 과 1 중에서 발생 확률이 더 높은 심볼을 나타내는 최대확률심볼(Most Probable Symbol, MPS) 및 상기 MPS가 발생할 확률을 나타내는 확률상태 지시자를 제공하는 문맥 로딩부;Receives the context group to identify the context used by the context group, and indicates a maximum probability symbol (MPS) representing a symbol having a higher probability of occurrence among 0 and 1 and a probability of generating the MPS for the context. A context loading unit providing a probability state indicator; 상기 문맥 그룹 및 상기 문맥 그룹에 대한 상기 MPS 및 상기 확률상태 지시자를 각각 수신하여 상기 문맥 그룹에 대한 그룹별 추정 비트율을 결정하는 복수의 그룹별 비트율 추정부; 및 A plurality of group bit rate estimators for determining the estimated bit rate for each group for the context group by receiving the MPS and the probability state indicator for the context group and the context group, respectively; And 상기 복수의 그룹별 비트율 추정부의 출력 및 상기 비트수 계산부의 출력을 누적 합산하여 비트율 출력을 제공하는 누적부를 포함하는 비트율 추정 장치.And a cumulative unit for accumulating and summing outputs of the plurality of group-specific bit rate estimation units and outputs of the bit number calculator to provide a bit rate output.
KR1020090022492A 2009-03-17 2009-03-17 Apparatus and method for efficient implementation of the rate-distortion optimized mode decision algorithm KR101009740B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090022492A KR101009740B1 (en) 2009-03-17 2009-03-17 Apparatus and method for efficient implementation of the rate-distortion optimized mode decision algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090022492A KR101009740B1 (en) 2009-03-17 2009-03-17 Apparatus and method for efficient implementation of the rate-distortion optimized mode decision algorithm

Publications (2)

Publication Number Publication Date
KR20100104220A KR20100104220A (en) 2010-09-29
KR101009740B1 true KR101009740B1 (en) 2011-01-19

Family

ID=43008494

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090022492A KR101009740B1 (en) 2009-03-17 2009-03-17 Apparatus and method for efficient implementation of the rate-distortion optimized mode decision algorithm

Country Status (1)

Country Link
KR (1) KR101009740B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110112168A (en) * 2010-04-05 2011-10-12 삼성전자주식회사 Method and apparatus for video encoding based on internal bitdepth increment, method and apparatus for video decoding based on internal bitdepth increment
US10021409B2 (en) 2012-05-09 2018-07-10 Integrated Device Technology, Inc. Apparatuses and methods for estimating bitstream bit counts

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100718134B1 (en) 2005-07-21 2007-05-14 삼성전자주식회사 Method and apparatus of encoding/decoding video data using bitrate adaptive binary arithmetic coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100718134B1 (en) 2005-07-21 2007-05-14 삼성전자주식회사 Method and apparatus of encoding/decoding video data using bitrate adaptive binary arithmetic coding

Also Published As

Publication number Publication date
KR20100104220A (en) 2010-09-29

Similar Documents

Publication Publication Date Title
US7978103B2 (en) Code amount estimating device, image coding apparatus including the code amount estimating device, and code amount estimating method
CN1130921C (en) Method and apparatus for predictice encoding of video information subject to fading
CN103797803A (en) Method and apparatus for entropy encoding/decoding
JP5045950B2 (en) Video encoding method, video encoding apparatus, and video encoding program
CN102474599B (en) Method and apparatus for encoding images, and method and apparatus for decoding encoded images
CN104394418B (en) A kind of video data encoding, decoded method and device
US20060182174A1 (en) Method for coding mode selection of intra prediction in video compression
JP2008035134A (en) Image coding device
KR20120079137A (en) Method for decoding a bitstream
CN101502123A (en) Coder
CN104365099A (en) Parameter update method for entropy coding and decoding of conversion coefficient level, and entropy coding device and entropy decoding device of conversion coefficient level using same
WO2022120594A1 (en) Point cloud encoding method, point cloud decoding method, encoder, decoder, and computer storage medium
JP2006279333A (en) Arithmetic coding apparatus and arithmetic coding method
CN1719900B (en) Method and device for choosing a mode of coding
US7277585B2 (en) Image encoding method, image encoding apparatus and storage medium
JPH0556282A (en) Image coder
US6594375B1 (en) Image processing apparatus, image processing method, and storage medium
JP5423469B2 (en) Quantization apparatus, program and method, and moving picture encoding apparatus
KR101009740B1 (en) Apparatus and method for efficient implementation of the rate-distortion optimized mode decision algorithm
CN118075472A (en) Spectrum compression method based on LOCO-I algorithm and Huffman coding
WO2024067036A1 (en) Decision method and apparatus for intra-frame prediction mode, and video encoding device
CN111212292B (en) H.266-based adaptive CU partitioning and skip mode method
CN110139098B (en) Decision tree-based intra-frame fast algorithm selection method for high-efficiency video encoder
US20140269896A1 (en) Multi-Frame Compression
CN114339250B (en) Image compression method and device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20131231

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee