KR101616461B1 - Adaptive CU Depth Range Estimation in HEVC Encoder - Google Patents

Adaptive CU Depth Range Estimation in HEVC Encoder Download PDF

Info

Publication number
KR101616461B1
KR101616461B1 KR1020140086735A KR20140086735A KR101616461B1 KR 101616461 B1 KR101616461 B1 KR 101616461B1 KR 1020140086735 A KR1020140086735 A KR 1020140086735A KR 20140086735 A KR20140086735 A KR 20140086735A KR 101616461 B1 KR101616461 B1 KR 101616461B1
Authority
KR
South Korea
Prior art keywords
depth
current
depth range
depths
range
Prior art date
Application number
KR1020140086735A
Other languages
Korean (ko)
Other versions
KR20160007929A (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 KR1020140086735A priority Critical patent/KR101616461B1/en
Publication of KR20160007929A publication Critical patent/KR20160007929A/en
Application granted granted Critical
Publication of KR101616461B1 publication Critical patent/KR101616461B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding

Landscapes

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

Abstract

HEVC 부호화기의 속도 향상을 위한 적응적인 CU depth 범위 예측 방법이 제공된다. 본 발명의 실시예에 따른 CU depth 범위 예측 방법은, 부호화할 현재 CU의 주변 CU들 중 일부 z-오더 인덱스에 대한 depth들을 획득하여, 현재 CU의 depth 범위를 예측한다. 이때, 획득하는 것은 한 라인 또는 한 z-오더 인덱스에 대한 depth들이다. 이에 의해, HEVC 영상 부호화기에서 연산량이 절감되어, 속도 향상을 기대할 수 있다.An adaptive CU depth range prediction method for speeding up the HEVC encoder is provided. The CU depth range predicting method according to an embodiment of the present invention predicts the depth range of the current CU by acquiring depths of some z-order indexes among the neighboring CUs of the current CU to be coded. At this time, the acquisitions are the depths for one line or one z-order index. As a result, the computation amount is reduced in the HEVC image coder, and the speed improvement can be expected.

Description

HEVC 부호화기에서의 적응적인 CU depth 범위 예측 방법 {Adaptive CU Depth Range Estimation in HEVC Encoder}[0002] Adaptive CU Depth Range Estimation in HEVC Encoders [

본 발명은 영상의 효율적인 부호화 방법에 관한 것으로, 더욱 상세하게는 현재 CU의 주변 CU 정보를 이용하여 HEVC 표준 영상의 효율적인 고속 부호화를 가능하게 하는 방법 및 시스템에 관한 것이다.
The present invention relates to a method of effectively encoding an image, and more particularly, to a method and system for enabling efficient fast coding of an HEVC standard image using current CU information of a current CU.

1) HEVC(High Efficiency Video Coding) 1) High Efficiency Video Coding (HEVC)

HEVC는 H.264/AVC 이후에 개발된 새로운 비디오 코딩 표준이고, H.264/AVC에 비해 대략 50% 정도의 압축률 향상을 제공한다. HEVC의 코딩 구조는 H.264/AVC와 거의 유사하지만 다른 점이 두 가지 존재한다.HEVC is a new video coding standard developed after H.264 / AVC and provides about 50% improvement in compression compared to H.264 / AVC. The coding structure of HEVC is almost similar to H.264 / AVC, but there are two differences.

첫째는, 매우 유연한 쿼드트리(quadtree) 파티션 구조를 이용하여 비디오 데이터가 압축된다는 점이다. 쿼드트리 파티션 구조에 의해 HEVC는 다양한 해상도의 영상을 최적의 파티션으로 압축할 수 있다.First, video data is compressed using a highly flexible quadtree partition scheme. With the quad tree partition scheme, HEVC can compress images of various resolutions into optimal partitions.

HEVC의 압축 구조는 CU (coding unit), PU(prediction unit), TU(transform unit)라는 세 가지로 구성된다.The compression structure of the HEVC consists of three units: a coding unit (CU), a prediction unit (PU), and a transform unit (TU).

CU는 H.264/AVC의 매크로블록(macroblock)과 유사한 것으로, 압축을 위한 기본 단위를 나타낸다. HEVC에서 CU의 크기는 H.264/AVC의 고정된 매크로블록 크기(16x16)와는 다르게 다양한 크기를 가질 수 있다. 현재 HEVC에서 CU 크기는 8x8에서 64x64까지 가질 수 있으며, 가장 큰 CU(largest CU : LCU)와, 가장 작은 CU (smallest CU : SCU)를 SPS(sequence parameter set)에 기술하게 되어있다. 또한, 하나의 CU 내에서 PU는 1~2개로 구성되는 반면, TU는 하나의 CU내에서 또 다른 쿼드트리 구조로 다양한 크기를 가질 수 있다. CU is similar to H.264 / AVC macroblock and represents the basic unit for compression. In HEVC, the size of CU can be variously different from the fixed macroblock size (16x16) of H.264 / AVC. Currently, CU sizes in HEVCs can range from 8x8 to 64x64 and describe the largest CU (LCU) and the smallest CU (SCU) in the SPS (sequence parameter set). In addition, a PU is composed of one or two PUs in one CU, while a TU can have various sizes in another CU in another quadtree structure.

H.264/AVC와 비교하여 두 번째로 다른 점은, 코딩 효율을 위해 HEVC의 표준에 새로운 코딩 툴들이 포함된다는 것이다. 새로운 인트라 예측 방향이 추가되었으며, large transform(16x16, 32x32), AMP(asymmetric motion partitions), SAO(sample adaptive offset) 등이 추가 되었다.The second difference compared to H.264 / AVC is that new coding tools are included in the HEVC standard for coding efficiency. New intra prediction directions have been added, and large transform (16x16, 32x32), asymmetric motion partitions (AMP), and sample adaptive offset (SAO) have been added.

도 1은 HEVC 부호화기의 블록도를 나타내며, 특히, CU의 경우 모든 시퀀스에 대해 고정된 범위에 대해 인코딩을 수행한다. CU의 depth 값이 작을수록 변화가 적고 동일한 영역이 많이 존재하는 영상에 적합하고, 반대로 클수록 변화가 많이 존재하는 영상이나 사물이 많은 영상에 적합하다. 그래서 고정된 범위를 갖는 CU의 depth 값에 대해 모든 부호화 과정을 진행하는 것은 부호화 시간을 증가시키며 비효율적이다. 따라서 영상의 특성에 따라 불필요한 CU의 분할 과정과 이에 발생하는 계산 과정을 줄여 부호화의 속도를 증가시킬 필요성이 있다. FIG. 1 shows a block diagram of an HEVC encoder. In particular, in the case of a CU, encoding is performed for a fixed range for all sequences. The smaller the depth value of the CU is, the more suitable for the image with less variation and the same area. On the other hand, the larger the depth value of the CU, the more suitable for the image with many changes or the more objects. Therefore, it is inefficient to increase the coding time and to perform all the coding processes on the depth value of the CU having the fixed range. Therefore, there is a need to increase the coding speed by reducing the unnecessary division process of the CU and the calculation process occurring according to the characteristics of the image.

결과적으로, HEVC는 H.264/AVC에 비해 부호화 과정이 복잡해 졌으며, 따라서 빠른 부호화를 위한 구현 방법이 필요하게 된 것이다.
As a result, the HEVC has a complicated encoding process as compared with H.264 / AVC, and therefore, an implementation method for fast encoding is required.

2) HEVC 기반 부호화 블록 결정 방법2) HEVC-based encoding block decision method

HEVC는 쿼드트리(quard-tree) 구조를 사용하여 계층에 따라 재귀적으로 CU를 더 작은 유닛으로 분할한다. 최적의 CU 크기를 결정하기 위하여 각 CU에서 각각의 PU 크기 및 TU 크기에 대해 가장 작은 비용을 갖는 블록 크기를 조사하게 되며, 이때 CU 크기 마다 PU는 다양한 모양의 예측블록으로 분할하여 비용조사를 하고, TU는 재귀적인 트리 구조로 분할을 하여 각각의 크기에 대해 비용조사를 한다.HEVC uses a quad-tree structure to recursively partition the CU into smaller units according to the hierarchy. In order to determine the optimum CU size, the block size with the smallest cost for each PU size and TU size in each CU is examined. At this time, the PU is divided into various types of prediction blocks by the CU size, , TU divides into a recursive tree structure, and performs cost investigation for each size.

도 2는 임의 크기의 CU로부터 최적의 PU 크기 및 TU 크기 결정 방법을 나타낸다. 최적의 비용을 갖는 CU를 찾기 위해 순차적으로 가장 큰 크기인 LCU(large coding unit)부터 가장 작은 크기인 SCU(small coding unit)까지 재귀적인 쿼드트리 구조에 따라 비용을 계산하게 된다. 각 CU 크기 별로 매번 PU의 여러 모드에 대한 예측비용을 전부 계산하며, 각 PU에 대한 비용조사를 할 때, TU의 비용조사 또한 수행한다. TU는 4개의 하위블록으로 재귀적으로 분할될 수 있다.FIG. 2 shows an optimal PU size and TU size determination method from a CU of arbitrary size. In order to find a CU with optimal cost, the cost is calculated according to a recursive quad tree structure from the largest LCU (small coding unit) to the smallest coding unit (SCU) sequentially. For each CU size, calculate the predicted cost for each of the PU's various modes at a time, and when doing a cost check for each PU, also perform a TU cost check. The TU can be recursively partitioned into four sub-blocks.

HEVC의 부호화 과정에서 CU에 따라 PU, TU의 조합 수가 매우 크며 최적의 CU, PU, TU를 결정하기 위해 많은 계산 과정이 필요하다는 것을 알 수 있다. 이를 해결하기 위해 도 2에 도시된 아래의 ①, ②, ③ 과 같은 고속화 방법들이 연구되었다.
In the HEVC encoding process, the number of combinations of PU and TU is very large according to CU, and it is found that many calculation processes are required to determine optimal CU, PU, and TU. In order to solve this problem, the following speeding methods shown in FIG. 2, such as 1, 2, and 3, have been studied.

① Early_SKIP① Early_SKIP

Inter 2Nx2N 모드를 조사한 다음 Coded Block Flag(CBF) 값이 0 이고 Motion vector difference(MVD)가 (0,0)값을 갖는 경우 다른 형태의 PU들을 조사하지 않고, 바로 CU를 분할하여 다음 depth의 CU 조사과정을 이어간다. 여기서, CBF는 0이 아닌 잔차 신호의 존재 유무를 알려주는 flag이며, MVD는 참조 영상과 현재 영상과의 움직임 정보에 대한 차이 값이다.
After examining the Inter 2Nx2N mode, if the Coded Block Flag (CBF) value is 0 and the Motion Vector Difference (MVD) has the value (0,0), the CU is divided immediately to the CU Continue the investigation process. Here, CBF is a flag indicating whether a residual signal is not 0, and MVD is a difference value between motion information of the reference image and the current image.

② CBF_Fast② CBF_Fast

CBF의 값에 따른 고속 PU 결정 방법(CBF Fast Mode Setting; CFM)으로, CBF의 값에 따라 현재 비용조사 중인 PU에서 다른 형태의 PU로 더 이상 비용조사를 하지 않고 조기종료 하는 방법이다. 즉 CBF가 0인 경우, 남은 PU들을 검색하지 않는다.
CBF Fast Mode Setting (CFM) according to the value of CBF. It is a method of early termination without examining the cost from the current cost-checking PU to another type of PU according to the value of CBF. That is, when CBF is 0, the remaining PUs are not searched.

③ Early_CU③ Early_CU

CU의 조사과정을 조기 종료하는 방법으로, CU의 PU에 대한 조사 과정 중에 최적 모드가 SKIP 모드로 결정되면 하위 블록으로의 재귀 CU 분할을 하지 않는다.
If the optimal mode is determined to be the SKIP mode during the investigation of the PU of the CU, the recursive CU division into the sub-blocks is not performed.

이러한 HEVC의 고속화 방법들이 연구되었지만 아직 실시간 환경에서 사용하기에는 부호화 시간이 많이 소비된다. 따라서, 기존 고속화 방법들과 더불어 실시간 환경을 위한 새로운 HEVC 구조 설계와 고속화 방법의 개발이 필수적이다.
Although the HEVC acceleration methods have been studied, the encoding time is still consumed for the real-time environment. Therefore, it is essential to develop a new HEVC structure design and accelerating method for real - time environment in addition to existing accelerating methods.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, H.264/AVC에 비해 부호화 과정이 복잡하게 된 HEVC 부호화기에서 Temporally co-located CU 정보를 이용하지 않으면서도 최적의 CU depth의 범위를 예측하는 방법을 제공함에 있다.
SUMMARY OF THE INVENTION It is an object of the present invention to provide an HEVC encoder having a complicated coding process as compared with H.264 / AVC, Thereby providing a method of predicting the range of the CU depth.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, CU depth 범위 예측 방법은, 부호화할 현재 CU(coding unit)의 주변 CU들 중 일부 z-오더 인덱스(z-order index : 4×4)에 대한 depth들을 획득하는 단계; 및 상기 획득단계에서 획득한 depth들을 이용하여, 상기 현재 CU의 depth 범위를 예측하는 단계;를 포함한다.According to an aspect of the present invention, there is provided a method of predicting a CU depth range, the method comprising: determining a z-order index (4x4) among peripheral CUs of a current coding unit (CU) Obtaining the depths for the pixel; And estimating a depth range of the current CU using the depths obtained in the obtaining step.

그리고, 상기 획득단계는, 주변 CU들 중, 일부에 대해서는 한 라인에 포함된 z-오더 인덱스에 대한 depth들 중 최대값을 획득하고, 나머지에 대해서는 한 z-오더 인덱스에 대한 depth를 획득할 수 있다.The acquiring step acquires a maximum value among the depths of the z-order index included in one line among the neighboring CUs and acquires a depth for one z-order index for the remaining have.

또한, 상기 일부에 해당하는 주변 CU들은, Left CU 및 Above CU를 포함하고, 상기 나머지에 해당하는 주변 CU들은, Above-Left CU 및 Above-Right CU를 포함할 수 있다.In addition, the neighboring CUs corresponding to the part include a Left CU and an Above CU, and the remaining neighbor CUs may include an Above-Left CU and an Above-Right CU.

그리고, 상기 예측단계는, 상기 획득단계에서 획득한 depth들을 합산하여 임계값을 산출하는 단계; 및 상기 임계값을 기초로, 상기 현재 CU의 depth 범위를 예측하는 단계;를 포함할 수 있다.The predicting step may include: calculating a threshold value by summing the depths acquired in the acquiring step; And estimating a depth range of the current CU based on the threshold value.

또한, 상기 현재 CU의 depth 범위는, 상기 임계값에 비례할 수 있다.Also, the depth range of the current CU may be proportional to the threshold value.

그리고, 상기 임계값이 특정 범위에 속하는 경우, 상기 현재 CU의 depth 범위는, Left 또는 Above CU의 depth가 0이고, Early CU 조건을 만족하면, 제1 depth 범위로 예측하고, 만족하지 않으면, 제2 depth 범위로 예측할 수 있다.If the threshold belongs to a specific range, the depth range of the current CU is predicted to be in the first depth range when the depth of the Left or Above CU is 0 and the Early CU condition is satisfied, 2 depth range.

또한, 본 발명의 일 실시예에 따른, CU depth 범위 예측 방법은, 프레임에서의 첫 번째 라인의 CTB들에 포함된 CU들의 depth 범위는 0~3으로 예측하는 단계;를 더 포함할 수 있다.The method of predicting the CU depth range according to an embodiment of the present invention may further include predicting a depth range of CUs included in the CTBs of the first line in the frame from 0 to 3.

한편, 본 발명의 다른 실시예에 따른, 컴퓨터로 읽을 수 있는 기록매체는, 부호화할 현재 CU(coding unit)의 주변 CU들 중 일부 z-오더 인덱스에 대한 depth들을 획득하는 단계; 및 상기 획득단계에서 획득한 depth들을 이용하여, 상기 현재 CU의 depth 범위를 예측하는 단계;를 포함하는 것을 특징으로 하는 CU depth 범위 예측 방법을 수행할 수 있는 프로그램이 기록된다.
According to another aspect of the present invention, there is provided a computer-readable recording medium including: acquiring depths of some z-order indexes of neighboring CUs of a current coding unit (CU) to be encoded; And a step of predicting a depth range of the current CU using the depths obtained in the acquiring step.

이상 설명한 바와 같이, 본 발명의 실시예들에 따르면, HEVC 부호화기에서 Temporally co-located CU 정보를 이용하지 않으면서도 최적의 CU depth의 범위를 예측할 수 있게 된다. 이에 따라, HEVC 영상 부호화기에서 연산량이 절감되어, 속도 향상을 기대할 수 있다.As described above, according to the embodiments of the present invention, the optimum CU depth range can be predicted without using the temporally co-located CU information in the HEVC encoder. Accordingly, the amount of computation can be reduced in the HEVC image encoder, and a speed increase can be expected.

또한, 본 발명의 실시예들에 따르면, HEVC 부호화기의 속도 향상을 위한 CU의 depth 범위 예측시 주변 CU 정보만을 이용하여 부호화 속도를 향상시킬 수 있다. 이에 의해, 메모리 사용량과 데이터를 불러오는 시간을 줄일 수 있다.
Also, according to embodiments of the present invention, it is possible to improve the coding rate by using only the neighboring CU information in predicting the depth range of the CU for improving the speed of the HEVC encoder. As a result, the amount of memory used and the time required to load data can be reduced.

도 1은 종래의 HEVC 부호화기를 도시한 블록도
도 2는 재귀적 CU, PU, TU 결정 과정의 설명에 제공되는 흐름도,
도 3은 부호화 될 CU의 depth 예측에 참고 되는 CU들을 도시한 도면,
도 4는 임계값(Threshold Value)에 따른 현재 CU의 depth 범위를 나타낸 표,
도 5는 임계값이 4~6인 경우 Left CU와 Above CU의 정보를 활용하는 방법을 나타낸 도면,
도 6은 본 발명의 실시예에 따른, HEVC 부호화기의 속도 향상을 위한 CU의 depth 범위 예측 방법의 설명에 제공되는 순서도, 그리고,
도 7은 프레임 단위에서의 CU depth 범위 예측 처리 방법을 도시한 도면이다.
1 is a block diagram showing a conventional HEVC encoder;
FIG. 2 is a flow chart provided for explaining recursive CU, PU, and TU decision processes;
3 is a diagram showing CUs referred to in depth prediction of a CU to be encoded,
4 is a table showing a depth range of the current CU according to a threshold value,
5 is a diagram illustrating a method of utilizing information of a Left CU and an Above CU when the threshold is 4 to 6,
6 is a flowchart illustrating a method of predicting a depth range of a CU for speedup of an HEVC encoder according to an exemplary embodiment of the present invention,
7 is a diagram illustrating a CU depth range prediction processing method on a frame unit basis.

이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.Hereinafter, the present invention will be described in detail with reference to the drawings.

본 발명의 실시예에 따른 HEVC 부호화기의 속도 향상을 위한 CU의 depth 범위 예측 방법은 본적으로 CU 레벨에서부터 시작한다.The method of predicting the depth range of the CU for improving the speed of the HEVC encoder according to the embodiment of the present invention starts from the CU level.

도 3에는 현재 부호화되려는 CU의 depth를 예측하기 위한 방법으로, 주변(spatially neighboring) CU들의 depth 정보를 이용하는 방법이 도시되어 있다.FIG. 3 shows a method for predicting the depth of a CU to be currently encoded, using depth information of spatially neighboring CUs.

먼저, 부호화될 CU의 depth 범위를 정확하게 예측하기 위해 현재 CU의 주변 CU들(Left CU, Above-Left CU, Above CU, Above-Right CU)의 depth 정보를 획득한다.First, depth information of the current CUs (Left CU, Above-Left CU, Above CU, and Above-Right CU) is obtained in order to accurately predict the depth range of the CU to be encoded.

구체적으로, 도 3에 도시된 바와 같이, Left CU와 Above CU의 경우, 현재 CU와 높은 상관도를 가지고 있기 때문에 가장 근접한 한 라인에 포함된 z-오더 인덱스(z-order index : 4×4)들에 대한 depth 정보를 획득한다. 하지만, Above-Left CU와 Above-Right CU는 상대적으로 낮은 상관도를 가지고 있기 때문에 가장 근접한 한 z-오더 인덱스에 대해서만 depth 정보만을 획득한다.3, since the Left CU and the Above CU have a high correlation with the current CU, the z-order index (z-order index: 4 × 4) included in one line closest to the current CU, To obtain the depth information. However, since the Above-Left CU and the Above-Right CU have a relatively low correlation, only the depth information is obtained only for the closest z-order index.

그리고, 획득된 정보들로부터 아래의 수학식 1에 따라 Depth들(Depth0, Depth1, Depth2 및 Depth3)을 산출한다.Depths (Depth 0 , Depth 1 , Depth 2 and Depth 3 ) are calculated from the obtained information according to Equation ( 1 ) below.

[수학식 1][Equation 1]

Depth0 = MAX(Left CU depth)Depth 0 = MAX (Left CU depth)

Depth1 = MAX(Above CU depth)Depth 1 = MAX (Above CU depth)

Depth2 = Above-Left CU depthDepth 2 = Above-Left CU depth

Depth3 = Above-Right CU depthDepth 3 = Above-Right CU depth

Depth0은 Left CU에서 현재 CU에 인접한 한 라인에 포함된 z-오더 인덱스들에 대한 depth들 중 최대값이고, Depth1은 Above CU에서 현재 CU에 인접한 한 라인에 포함된 z-오더 인덱스들에 대한 depth들 중 최대값이다.Depth 0 is the maximum of the depths of the z-order indices contained in one line adjacent to the current CU in the left CU, and Depth 1 is the maximum value of z-order indices contained in one line adjacent to the current CU in the Above CU. It is the maximum value among depths.

한편, Depth2는 Above-Left CU에서 현재 CU에 가장 인접한 한 z-오더 인덱스의 depth이고, Depth3은 Above-Right CU에서 현재 CU에 가장 인접한 한 z-오더 인덱스의 depth이다.Depth 2 is the depth of the z-order index closest to the current CU in the Above-Left CU, and Depth 3 is the depth of the z-order index closest to the current CU in the Above-Right CU.

이후, 수학식 1을 통해 산출한 Depth들(Depth0, Depth1, Depth2 및 Depth3)로부터 입계값(Threshold Value)을 산출하는데, 임계값은 아래의 수학식 2에 나타난 바와 같이 Depth들(Depth0, Depth1, Depth2 및 Depth3)의 합을 의미한다.Then, the threshold value is calculated from the Depths (Depth 0 , Depth 1 , Depth 2 and Depth 3 ) calculated through Equation ( 1 ), and the threshold value is calculated from the Depths Depth 0 , Depth 1 , Depth 2, and Depth 3 ).

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

Figure 112014064947919-pat00001
Figure 112014064947919-pat00001

영상의 특성에 맞게 CU의 depth가 결정된다. 따라서, 현재 CU를 중심으로 주변 CU들의 depth 값을 합한 임계값이 크다면 변화가 많은 영역임을 나타낸다. 반대로 이 임계값이 작다면 변화가 적은 영역임을 나타낸다.The depth of the CU is determined according to the characteristics of the image. Therefore, if the threshold value of the depth value of the neighboring CUs is large around the current CU, it indicates that there is a large change. Conversely, if this threshold value is small, it indicates that the area is small in change.

이에 따라, 임계값을 이용하여, 현재 CU의 depth 범위를 결정할 수 있다. 도 4는 임계값에 따른 현재 CU(부호화될 CU)의 depth 범위를 나타낸 표이다.Accordingly, the depth range of the current CU can be determined using the threshold value. 4 is a table showing a depth range of a current CU (CU to be coded) according to a threshold value.

도 4에 도시된 표를 참조하면, 주변 CU들의 depth 값이 작아 임계값이 작을수록 현재 CU의 최적 depth는 0, 1, 2가 선택될 확률이 높다. 반면, 주변 CU들의 depth 값이 커서 임계값이 클수록 현재 CU의 최적 depth는 1, 2, 3이 선택될 확률이 높음을 확인할 수 있다.Referring to the table of FIG. 4, as the depth value of the neighboring CUs is small and the threshold value is small, the optimal depth of the current CU is high at 0, 1, and 2. On the other hand, the larger the threshold value of the neighboring CUs is, the higher the probability that the optimal depth of the current CUs is 1, 2, and 3 is high.

한편, 도 4에 도시된 바와 같이, 임계값이 4~6 값인 경우, CU의 depth가 0~3까지 다양한 범위로 혼용됨을 확인할 수 있다. 구체적으로, CU의 depth 범위는 0~2 또는 1~3가 된다.Meanwhile, as shown in FIG. 4, when the threshold value is 4 to 6, it can be confirmed that the depth of the CU is mixed in various ranges from 0 to 3. Specifically, the depth range of the CU is 0 to 2 or 1 to 3.

어떠한 범위로 예측할지 결정하기 위해, CU의 위치에 따라 Left CU 혹은 Above CU의 정보를 이용한다. 구체적으로, 1) Left 또는 Above CU의 depth가 0이고, Early CU 조건을 만족한다면, 현재 CU의 depth 범위를 0~2로 예측하고, 2) 이를 만족하지 않는다면, 현재 CU의 depth 범위를 1~3으로 예측한다.To determine what range to predict, use the information of the Left CU or Above CU depending on the location of the CU. Specifically, if the depth of the Left or Above CU is 0 and the Early CU condition is satisfied, the depth range of the current CU is predicted from 0 to 2, and if the depth of the current CU is not satisfied, 3.

도 5에 임계값이 4~6인 경우 Left CU와 Above CU의 정보를 활용하는 방법을 나타내었다.FIG. 5 shows a method of utilizing the information of Left CU and Above CU when the threshold value is 4 to 6.

도 5에서, ①번 영역의 CTU들은 왼쪽 첫 번째 CTU 라인으로서 Left CU가 존재하지 않는 영역이다. 따라서, 해당 영역에 대해서 depth를 결정할 경우에는 Above CU의 정보를 활용한다. 한편, ②번 영역은 Left CU와 Above CU가 둘 다 존재하는 영역이지만, 부호화기의 속도 향상을 위해 Left CU의 정보만을 이용하여 depth를 결정한다.In FIG. 5, the CTUs in the region (1) are left CTU lines, and the left CU does not exist. Therefore, when the depth is determined for the corresponding area, the information of the Above CU is utilized. On the other hand, the area (2) is an area where both the left CU and the above CU exist, but the depth is determined using only the information of the left CU in order to improve the speed of the encoder.

도 6은 본 발명의 실시예에 따른, HEVC 부호화기의 속도 향상을 위한 CU의 depth 범위 예측 방법의 설명에 제공되는 순서도이다.FIG. 6 is a flowchart illustrating a method of predicting a depth range of a CU for speedup of an HEVC encoder according to an exemplary embodiment of the present invention. Referring to FIG.

본 발명의 실시예에 따른 CU depth 범위 예측 방법에서는, 고속 부호화 기법인 Early SKIP, CBF Fast, Early CU이 활용된다.In the method of predicting the CU depth range according to the embodiment of the present invention, the early SKIP, CBF Fast, and early CU, which are fast coding techniques, are utilized.

구체적으로, 도 3에 도시된 바와 같이 현재 CU(부호화될 CU)의 주변 CU들에 대한 depth 정보와 수학식 1을 이용하여 Depth들(Depth0, Depth1, Depth2 및 Depth3)을 산출하고, 산출된 Depth들과 수학식 2를 이용하여 임계값을 산출한다.Specifically, as shown in FIG. 3, Depths (Depth 0 , Depth 1 , Depth 2, and Depth 3 ) are calculated using the depth information of the current CUs (CUs to be coded) and the depth information of the neighboring CUs , And calculates a threshold value using the calculated Depths and Equation (2).

다음, 산출된 임계값에 대해 도 4에 도시된 표를 참조하여, 현재 CU(부호화될 CU)의 depth 범위를 예측한다.Next, the depth range of the current CU (CU to be coded) is predicted with reference to the table shown in Fig. 4 for the calculated threshold value.

도 4와 도 6을 통해 할 수 있는 바와 같이, 1) 임계값이 "0"인 경우, CU의 depth 범위는 "0,1"로 예측하고, 2) 임계값이 "1~3"인 경우, CU의 depth 범위는 "0~2"으로 예측하며, 3) 임계값이 "7~12"인 경우, CU의 depth 범위는 "1~3"으로 예측한다.4 and 6, when 1) the threshold value is "0", the depth range of the CU is predicted as "0,1", and 2) when the threshold value is "1 to 3" , The depth range of the CU is predicted as "0 to 2", and 3) when the threshold value is "7 to 12", the depth range of the CU is predicted as "1 to 3".

한편, 임계값이 "4~6"인 경우, 1) Left 또는 Above CU의 depth가 0이고, Early CU 조건을 만족한다면, 현재 CU의 depth 범위를 "0~2"로 예측하고, 2) 이를 만족하지 않는다면, 현재 CU의 depth 범위를 "1~3"으로 예측한다.On the other hand, when the threshold value is "4 to 6", 1) the depth of the left or above CU is 0 and the depth range of the current CU is predicted as "0 ~ 2" If it is not satisfied, the depth range of the current CU is predicted as "1 to 3".

이후, 예측된 depth 범위에서 최소 depth 값에 대해 Inter 2Nx2N 과정을 수행하고, Early SKIP, CBF Fast 조건을 비교한다. 만약, Early SKIP, CBF Fast 조건이 참이라면, Early CU 조건으로 수행하고, 거짓이라면 SKIP, Inter NxN, Inter Nx2N, Inter 2NxN을 수행한다.Then, the Inter 2Nx2N process is performed on the minimum depth value in the predicted depth range, and the Early SKIP and CBF Fast conditions are compared. If the Early SKIP and CBF Fast conditions are true, they are executed under the Early CU condition. If they are false, SKIP, Inter NxN, Inter Nx2N, and Inter 2NxN are executed.

한편, AMP는 고속 부호화 환경에서 속도를 저하시키기 때문에 생략한다. 이후, Intra 2Nx2N, Intra NxN을 수행하고 Early CU 조건을 비교한다. 만약, Early CU 조건이 참이라면 해당하는 CU depth를 최적의 depth로 결정하고, 거짓이라면 depth 값을 예측된 범위에서 1만큼 증가시켜 다시 Inter 2Nx2N 과정부터 진행하게 된다. 따라서 현재 부호화될 CU의 예측된 depth 범위에 대해서만 RDO(Rate Distortion Optimization)를 수행하여 최적의 CU depth를 찾는다.On the other hand, AMP is omitted because it slows down the speed in a high-speed encoding environment. Then, perform Intra 2Nx2N, Intra NxN, and compare Early CU conditions. If the Early CU condition is true, the corresponding CU depth is determined as the optimal depth. If it is false, the depth value is increased by 1 in the predicted range, and the process proceeds from Inter 2Nx2N again. Therefore, only the predicted depth range of the current CU to be encoded is subjected to Rate Distortion Optimization (RDO) to find the optimal CU depth.

도 7에는 프레임 단위에서의 CU depth 범위 예측 처리 방법을 도시하였다. 본 발명의 실시예에 따른 CU depth 범위 예측 처리 방법에서는, 주변 (spatially neighboring) CU의 정보만을 이용하여 현재 CU의 depth 범위를 예측하기 때문에 주변 CU들의 정확한 정보가 필요하다.FIG. 7 shows a method of predicting the CU depth range in units of frames. In the method of predicting the CU depth range according to the embodiment of the present invention, since the depth range of the current CU is predicted using only the information of the spatially neighboring CU, accurate information of the neighboring CUs is needed.

따라서, 주변 CU들의 정확한 정보를 획득하기 위해서는 도 7에 도시된 바와 같이 프레임에서의 첫 번째 라인의 CTB들은 본 발명의 실시예에서 제시한 방법을 적용하지 않는다. 즉, 첫 번째 라인의 CTB들에 포함되는 CU들의 depth는 0~3으로 예측한다.Therefore, in order to acquire accurate information of the neighboring CUs, the CTBs of the first line in the frame as shown in FIG. 7 do not apply the method presented in the embodiment of the present invention. That is, the depth of the CUs included in the CTBs of the first line is predicted as 0 to 3.

첫 번째 라인의 CTB들은 정확한 예측을 위해 사용되어질 주변 CU들(Above, Above-Left, Above-Right CU들)의 정보들이 부족하기 때문이다.The CTBs in the first line are due to lack of information on the surrounding CUs (Above, Above-Left, and Above-Right CUs) to be used for accurate prediction.

본 발명의 실시예에 따른 HEVC 부호화기의 속도 향상을 위한 CU의 depth 범위 예측 방법은 주변 CU 정보만을 이용하여 부호화 속도를 향상시킬 수 있다. 이에 의해, 메모리 사용량과 데이터를 불러오는 시간을 줄일 수 있다.The method of estimating the depth range of the CU for improving the speed of the HEVC encoder according to the embodiment of the present invention can improve the coding rate using only the surrounding CU information. As a result, the amount of memory used and the time required to load data can be reduced.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the present invention.

Depth0 : MAX(Left CU depth)
Depth1 : MAX(Above CU depth)
Depth2 : Above-Left CU depth
Depth3 : Above-Right CU depth
Depth 0 : MAX (Left CU depth)
Depth 1 : MAX (Above CU depth)
Depth 2 : Above-Left CU depth
Depth 3 : Above-Right CU depth

Claims (8)

부호화할 현재 CU(coding unit)의 주변 CU들 중 일부 z-오더 인덱스(z-order index)에 대한 depth들을 획득하는 단계; 및
상기 획득단계에서 획득한 depth들을 이용하여, 상기 현재 CU의 depth 범위를 예측하는 단계;를 포함하고,
상기 예측단계는,
상기 획득단계에서 획득한 depth들을 합산하여 임계값을 산출하는 단계; 및
상기 임계값을 기초로, 상기 현재 CU의 depth 범위를 예측하는 단계;를 포함하고,
상기 획득단계는,
주변 CU들 중, Left CU 및 Above CU에 대해서는 상기 현재 CU에 인접한 한 라인에 포함된 z-오더 인덱스에 대한 depth들 중 최대값을 획득하고, Above-Left CU 및 Above-Right CU에 대해서는 상기 현재 CU에 가장 인접한 한 포인트의 z-오더 인덱스에 대한 depth를 획득하며,
상기 예측단계는,
상기 임계값이 특정 범위에 속하는 경우, 상기 현재 CU의 depth 범위를,
Left CU 또는 Above CU가, depth가 0이고 Early CU 조건을 만족하면, 제1 depth 범위로 예측하고,
만족하지 않으면, 제2 depth 범위로 예측하는 것을 특징으로 하는 CU depth 범위 예측 방법.
Obtaining depths for some z-order indices of neighboring CUs of a current coding unit (CU) to be encoded; And
And predicting a depth range of the current CU using the depths obtained in the obtaining step,
Wherein,
Calculating a threshold value by summing the depths obtained in the acquiring step; And
And predicting a depth range of the current CU based on the threshold value,
The acquiring step includes:
For the Left CU and the Above CU, among the neighboring CUs, the maximum value among the depths of the z-order index included in one line adjacent to the current CU is obtained, and for the Above-Left CU and the Above-Right CU, Obtains the depth of the z-order index of a point closest to the CU,
Wherein,
If the threshold belongs to a specific range,
If the Left CU or the Above CU satisfies the Early CU condition with a depth of 0,
And if it is not satisfied, prediction is performed in a second depth range.
삭제delete 삭제delete 삭제delete 제 1항에 있어서,
상기 현재 CU의 depth 범위는,
상기 임계값에 비례하는 것을 특징으로 하는 CU depth 범위 예측 방법.
The method according to claim 1,
The depth range of the current CU is,
Wherein the CU depth range estimating method is proportional to the threshold value.
삭제delete 제 1항에 있어서,
프레임에서의 첫 번째 라인의 CTB들에 포함된 CU들의 depth 범위는 0~3으로 예측하는 단계;를 더 포함하는 것을 특징으로 하는 CU depth 범위 예측 방법.
The method according to claim 1,
And estimating a depth range of the CUs included in the CTBs of the first line in the frame from 0 to 3.
부호화할 현재 CU(coding unit)의 주변 CU들 중 일부 z-오더 인덱스(z-order index)에 대한 depth들을 획득하는 단계; 및
상기 획득단계에서 획득한 depth들을 이용하여, 상기 현재 CU의 depth 범위를 예측하는 단계;를 포함하고,
상기 예측단계는,
상기 획득단계에서 획득한 depth들을 합산하여 임계값을 산출하는 단계; 및
상기 임계값을 기초로, 상기 현재 CU의 depth 범위를 예측하는 단계;를 포함하고,
상기 획득단계는,
주변 CU들 중, Left CU 및 Above CU에 대해서는 상기 현재 CU에 인접한 한 라인에 포함된 z-오더 인덱스에 대한 depth들 중 최대값을 획득하고, Above-Left CU 및 Above-Right CU에 대해서는 상기 현재 CU에 가장 인접한 한 포인트의 z-오더 인덱스에 대한 depth를 획득하며,
상기 예측단계는,
상기 임계값이 특정 범위에 속하는 경우, 상기 현재 CU의 depth 범위를,
Left CU 또는 Above CU가, depth가 0이고 Early CU 조건을 만족하면, 제1 depth 범위로 예측하고,
만족하지 않으면, 제2 depth 범위로 예측하는 것을 특징으로 하는 CU depth 범위 예측 방법을 수행할 수 있는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
Obtaining depths for some z-order indices of neighboring CUs of a current coding unit (CU) to be encoded; And
And predicting a depth range of the current CU using the depths obtained in the obtaining step,
Wherein,
Calculating a threshold value by summing the depths obtained in the acquiring step; And
And predicting a depth range of the current CU based on the threshold value,
The acquiring step includes:
For the Left CU and the Above CU, among the neighboring CUs, the maximum value among the depths of the z-order index included in one line adjacent to the current CU is obtained, and for the Above-Left CU and the Above-Right CU, Obtains the depth of the z-order index of a point closest to the CU,
Wherein,
If the threshold belongs to a specific range,
If the Left CU or the Above CU satisfies the Early CU condition with a depth of 0,
And if it is not satisfied, prediction is performed in a second depth range. A computer-readable recording medium having recorded thereon a program capable of performing a CU depth range predicting method.
KR1020140086735A 2014-07-10 2014-07-10 Adaptive CU Depth Range Estimation in HEVC Encoder KR101616461B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140086735A KR101616461B1 (en) 2014-07-10 2014-07-10 Adaptive CU Depth Range Estimation in HEVC Encoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140086735A KR101616461B1 (en) 2014-07-10 2014-07-10 Adaptive CU Depth Range Estimation in HEVC Encoder

Publications (2)

Publication Number Publication Date
KR20160007929A KR20160007929A (en) 2016-01-21
KR101616461B1 true KR101616461B1 (en) 2016-04-29

Family

ID=55308459

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140086735A KR101616461B1 (en) 2014-07-10 2014-07-10 Adaptive CU Depth Range Estimation in HEVC Encoder

Country Status (1)

Country Link
KR (1) KR101616461B1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101719448B1 (en) * 2010-09-27 2017-03-23 엘지전자 주식회사 Method for partitioning block and decoding device
KR20120082606A (en) * 2011-01-14 2012-07-24 삼성전자주식회사 Apparatus and method for encoding and decoding of depth image
KR102039039B1 (en) * 2012-06-28 2019-10-31 연세대학교 산학협력단 Method and Apparatus for image encoding
KR102140271B1 (en) * 2012-12-12 2020-07-31 연세대학교 산학협력단 Fast intra coding method and apparatus using coding unit split based on threshold value

Also Published As

Publication number Publication date
KR20160007929A (en) 2016-01-21

Similar Documents

Publication Publication Date Title
KR102114036B1 (en) Method and apparratus of video decoding
US11889072B2 (en) Video encoding and decoding
TWI635743B (en) Method and apparatus for template-based intra prediction in image and video coding
CN110249628B (en) Video encoder and decoder for predictive partitioning
CN110858904B (en) Video encoding and decoding based on multiple motion models
KR102521802B1 (en) Method and apparatus for processing a video signal
KR101918437B1 (en) Video encoding and decoding with improved error resilience
CN108347616B (en) Depth prediction method and device based on optional time domain motion vector prediction
KR20140072231A (en) Fast Prediction Mode Determination Method in Video Encoder Based on Probability Distribution of Rate-Distortion
TW202021343A (en) Decoder, Encoder and Associated Method and Computer Program
US11394997B2 (en) Method and apparatus for encoding or decoding video data with sub-pixel motion vector refinement
KR20200043400A (en) Motion compensation at finer precision than motion vector difference
CN111492655A (en) Texture-based partition decision for video compression
KR20150086793A (en) Apparatus and method for dct size decision based on transform depth
CN109547798B (en) Rapid HEVC inter-frame mode selection method
Kim et al. Fast SKIP mode decision with rate-distortion optimization for high efficiency video coding
KR101616461B1 (en) Adaptive CU Depth Range Estimation in HEVC Encoder
KR102084802B1 (en) Adaptive PU mode decision method of HEVC encoder
KR101842551B1 (en) Method for deciding motion partition mode and encoder
CN113573067B (en) Video coding method and device
KR102163556B1 (en) Method and Apparatus for Detecting Scene Change of Nighttime Image in Compression Domain
KR20180003880A (en) Method and apparatus for fast image encoding
KR20160127231A (en) Fast mode decision method of HEVC encoder
KR20160094498A (en) Defferential encoding mrthod and apparatus for the fast parallel processing
EP3136725A1 (en) Video coding apparatus

Legal Events

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

Payment date: 20190313

Year of fee payment: 4