KR102050238B1 - System and method for effectively deciding intra prediction mode for hevc encoder - Google Patents

System and method for effectively deciding intra prediction mode for hevc encoder Download PDF

Info

Publication number
KR102050238B1
KR102050238B1 KR1020170127806A KR20170127806A KR102050238B1 KR 102050238 B1 KR102050238 B1 KR 102050238B1 KR 1020170127806 A KR1020170127806 A KR 1020170127806A KR 20170127806 A KR20170127806 A KR 20170127806A KR 102050238 B1 KR102050238 B1 KR 102050238B1
Authority
KR
South Korea
Prior art keywords
original image
pixel data
image pixel
angular mode
prediction
Prior art date
Application number
KR1020170127806A
Other languages
Korean (ko)
Other versions
KR20190037946A (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 KR1020170127806A priority Critical patent/KR102050238B1/en
Publication of KR20190037946A publication Critical patent/KR20190037946A/en
Application granted granted Critical
Publication of KR102050238B1 publication Critical patent/KR102050238B1/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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/182Methods 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 a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Abstract

본 발명은 효율적인 화면내 예측 Angular 모드 결정 시스템 및 방법에 관한 것으로서, 비디오 부호화의 화면내 예측 시, 원본 영상 픽셀 데이터의 각각의 가로(horizontal) 방향과 세로(vertical) 방향에서의 각 라인의 픽셀 간 차이가 가장 큰 위치를 이용해 방향성을 예측하여 각각의 상기 가로 방향과 세로 방향에 대해 최적의 화면내 예측 Angular 모드를 결정함으로써, 연산량과 연산 시간을 감소시킬 수 있다.The present invention relates to an efficient intra prediction prediction Angular mode determination system and method, wherein, in the intra prediction of video encoding, the pixels of each line in the horizontal and vertical directions of the original image pixel data are different. The amount of computation and the computation time can be reduced by predicting the directionality using the position where the difference is greatest and determining the optimal intra prediction Angular mode for each of the horizontal and vertical directions.

Description

HEVC 부호기를 위한 효율적인 화면내 예측 모드 결정 시스템 및 방법{SYSTEM AND METHOD FOR EFFECTIVELY DECIDING INTRA PREDICTION MODE FOR HEVC ENCODER}Efficient Intra Prediction Mode Determination System and Method for HEVC Coder

본 발명은 HEVC 부호기를 위한 화면내 예측 모드 결정 시스템 및 방법에 관한 것으로, 더욱 상세하게는 기존의 HEVC의 화면내 예측 모드 결정의 높은 연산량과 연산 시간을 줄이기 위해 원본 영상 픽셀의 차이 값을 비교하여 화면내 예측 Angular 모드를 효율적으로 결정하는 HEVC 부호기를 위한 효율적인 화면내 예측 모드 결정 시스템 및 방법에 관한 것이다.The present invention relates to an intra prediction mode determination system and method for an HEVC encoder. More particularly, the present invention compares the difference value of an original image pixel to reduce the computation time and the high computation amount of the existing intra prediction mode determination of HEVC. An efficient intra prediction mode determination system and method for an HEVC encoder for efficiently determining intra prediction angular modes.

최근 UHD(초고선명, Ultra High Definition)급의 초고해상도 영상을 지원하는 다양한 영상 기기의 발전으로 인해 사용자의 고해상도 영상에 대한 관심과 수요가 증가하였다. 이러한 이유로 UHD급 영상과 같은 고해상도 영상을 지원하기 위해 새로운 비디오 압축 기술 표준의 개발이 필요하게 되었다. 이러한 흐름에 맞춰 HEVC(고효율 비디오 코딩, High Efficiency Video Coding)는 ISO/IEC의 MPEC(Moving Picture Experts Group)과 ITU-T의 VCEG(Video Coding Experts Group)가 2010년 1월에 공동으로 JCT-VC(Joint Collaborative Team on Video Coding)를 결성하여 개발한 새로운 차세대 비디오 압축 표준이다. HEVC는 기존의 비디오 압축 표준인 H.264/AVC와 비교해 동일 화질 대비 2배 이상의 높은 부호화 효율(즉, 압축률)을 보여줌으로써 초고화질 영상의 효율적인 관리가 가능해졌다.Recently, due to the development of various video devices that support ultra high definition (UHD) -class ultra high definition images, users' interest and demand for high resolution images have increased. For this reason, it is necessary to develop a new video compression technology standard to support high resolution video such as UHD video. In line with this trend, HEVC (High Efficiency Video Coding) was jointly developed by the Moving Picture Experts Group (MPEC) from ISO / IEC and the Video Coding Experts Group (VCEG) from ITU-T in January 2010. (Joint Collaborative Team on Video Coding) is a new generation of video compression standard. HEVC is able to efficiently manage ultra-high-definition video by showing coding efficiency (i.e., compression rate) more than twice that of the same picture quality compared to H.264 / AVC, which is the existing video compression standard.

HEVC에서의 화면내 예측은 현재 블록의 주변에 이미 재구성된 샘플들을 참조하여 현재 블록을 예측하는 방법이다. 화면내 예측 순서는 도 1과 같이 참조 샘플 준비, 화면내 예측 영상 생성, 예측 모드 부호화 순으로 진행된다. 참조 샘플 준비 단계에는 참조 샘플 패딩과 참조 샘플 필터링이 포함되어 있다. 먼저 화면내 예측에서는 주변의 이미 재구성된 샘플들을 사용하여 예측을 수행하는데 이러한 샘플을 참조 샘플이라고 한다. 모드에 따라 참조 샘플을 패딩 및 필터링을 진행하고 화면내 예측을 수행하게 된다. 참조 샘플 패딩이란 참조 샘플들이 존재하지 않는 경우에 대해 패딩을 수행하여 참조 샘플을 준비하는 단계이고, 필터링에는 강한 필터링과 약한 필터링이 있다. 그 후 원본 영상과 예측 영상의 차분 신호에 대해 변환 및 양자화를 진행하고 블록 재구성 및 율-왜곡 비용을 측정해 최적의 모드를 선정하게 된다.In-picture prediction in HEVC is a method of predicting the current block with reference to samples already reconstructed around the current block. The intra prediction sequence is performed in the order of reference sample preparation, intra prediction image generation, and prediction mode encoding as shown in FIG. 1. The reference sample preparation step includes reference sample padding and reference sample filtering. First, in intra prediction, prediction is performed using surrounding reconstructed samples. Such a sample is called a reference sample. Depending on the mode, padding and filtering of reference samples are performed, and intra prediction is performed. Reference sample padding is a step of preparing a reference sample by performing padding on a case where no reference samples exist, and there are strong filtering and weak filtering. After that, transform and quantization are performed on the difference signal between the original image and the predicted image, and the optimal mode is selected by measuring the block reconstruction and the rate-distortion cost.

HEVC에서의 화면내 예측 모드 결정 기법은 영상을 효과적으로 압축시키는 좋은 방법이지만 전체 부호화 시간에서 적지 않은 비중을 차지하기 때문에 시간 복잡도가 매우 높은 편이다. 또한 조건에 따라 기존의 H.264/AVC보다 최대 3배까지 복잡도가 증가하기도 한다. HEVC에서의 화면내 예측 모드 결정 기법과 기존의 H.264/AVC에서의 화면내 예측 모드 결정 기법을 비교했을 때, 가장 큰 차이점을 예측 단위(Prediction Unit; PU)의 크기와 예측 방향의 수이다. 기존의 H.264/AVC는 4×4부터 16×16의 크기의 화면내 부호화 예측 블록에서 총 9개의 예측 모드를 지원하는 반면, HEVC에서는 4×4부터 64×64의 크기의 화면내 부호화 예측 블록에서 총 35개의 예측 모드를 지원함에 따라, PU의 크기가 이전보다 커지게 되었고 PU의 단위가 다양해졌으며 또한 좀 더 다양한 방향을 계산할 수 있게 되었다. 특히, HEVC에서의 화면내 예측 모드는 1개의 DC 모드, 1개의 Planar 모드, 및 33개의 Angular 모드로 구성되어 있으며 총 35개의 모드 중에서 최적의 모드를 결정한 후 예측을 수행하여 현재 프레임과 가장 유사한 예측 프레임을 생성함에 따라 부호화 성능을 향상시킨다. 여기에서 모드 0은 참조 픽셀의 값과 위치를 이용하는 Intra_Planar 모드, 모드 1은 참조 픽셀의 평균값을 이용하는 Intra_DC 모드, 모드 2부터 34까지는 참조 픽셀의 방향성을 이용하는 Intra_Angular 모드를 나타내고 도 2와 같다. 도 2에서 알 수 있는 바와 같이, HEVC의 화면내 예측 모드는 우측 상단 방향부터 좌측 하단 방향까지 다양한 방향을 지원한다.The intra prediction mode decision technique in HEVC is a good way to compress the video effectively, but it takes a very high time complexity because it takes up a small portion of the total coding time. In addition, depending on the conditions, the complexity can be increased up to 3 times compared to the existing H.264 / AVC. When comparing the intra prediction mode decision technique in HEVC with the conventional intra prediction mode determination technique in H.264 / AVC, the biggest difference is the size of the prediction unit (PU) and the number of prediction directions. . Conventional H.264 / AVC supports a total of nine prediction modes in 4 × 4 to 16 × 16 intra picture coded prediction blocks, while in HEVC, 4 × 4 to 64 × 64 picture intra coded predictions By supporting a total of 35 prediction modes in the block, the size of the PU is larger than before, the units of the PU are diverse, and more various directions can be calculated. In particular, the intra prediction mode in HEVC is composed of 1 DC mode, 1 planar mode, and 33 Angular modes, and the prediction is most similar to the current frame by determining the optimal mode among 35 modes. Encoding performance is improved by generating frames. Herein, mode 0 represents an Intra_Planar mode using a reference pixel value and position, mode 1 represents an Intra_DC mode using an average value of the reference pixel, and modes 2 through 34 represent an Intra_Angular mode using directionality of the reference pixel. As can be seen in FIG. 2, the intra prediction mode of HEVC supports various directions from the upper right direction to the lower left direction.

이와 같이, HEVC는 H.264/AVC보다 더 많은 예측 모드를 지원하기 때문에 유연하면서도 보다 정밀한 화면내 예측이 가능하게 되었다. 하지만 HEVC는 최적의 화면내 예측 모드를 결정하기 위해서 4×4부터 64×64까지의 크기의 PU에서 각 35개의 모드를 전부 고려해 모든 예측 모드에 대한 율-왜곡 비용을 계산해야 하기 때문에, 높은 연산량과 연산 시간이 요구된다.As such, since HEVC supports more prediction modes than H.264 / AVC, flexible and more accurate intra prediction is possible. However, because HEVC has to calculate the rate-distortion cost for all prediction modes in consideration of all 35 modes in PUs ranging from 4x4 to 64x64 in order to determine the optimal intra-picture prediction mode, And computation time are required.

따라서, 본 발명에서는 기존의 HEVC에서의 화면내 예측 모드 결정 기법의 높은 연산량과 연산 시간을 줄이기 위해 원본 영상 픽셀의 차이 값을 비교하여 최적의 화면내 예측 Angular 모드를 효율적으로 결정하는 알고리즘을 적용한 시스템 및 방법을 제안한다.Therefore, in the present invention, a system using an algorithm for efficiently determining an optimal intra prediction Angular mode by comparing the difference value of the original image pixels in order to reduce the computation time and the high computation amount of the conventional intra prediction mode determination method in HEVC And a method.

대한민국 공개특허공보 제10-2014-0056599호(2014.05.12)Republic of Korea Patent Publication No. 10-2014-0056599 (2014.05.12) 대한민국 등록특허공보 제10-1621358호(2016.05.17)Republic of Korea Patent Publication No. 10-1621358 (2016.05.17)

따라서, 본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 이루어진 것으로서, 본 발명의 목적은 원본 영상 픽셀 데이터의 차이와 위치를 이용해 방향성을 선정하여 33개의 Angular 모드 중 가로(horizontal) 방향과 세로(vertical) 방향에 대해 각각 1개의 모드를 효율적으로 선택하는 효율적인 화면내 예측 모드 선택 알고리즘을 적용함으로써 HEVC 부호기를 위한 효율적인 화면내 예측 Angular 모드 결정 시스템 및 방법을 제공하는 데 있다.Accordingly, the present invention has been made to solve the above-mentioned problems of the prior art, and an object of the present invention is to select a directionality using the difference and position of the original image pixel data, thereby selecting a horizontal direction and a vertical direction among 33 Angular modes. The present invention provides an efficient intra-picture prediction Angular mode determination system and method for an HEVC encoder by applying an efficient intra-picture prediction mode selection algorithm that efficiently selects one mode for each vertical direction.

상기와 같은 목적을 달성하기 위한 본 발명의 화면내 예측 Angular 모드 결정 시스템은, 비디오 부호화의 화면내 예측 시, 원본 영상 픽셀 데이터의 각각의 가로(horizontal) 방향과 세로(vertical) 방향에서의 각 라인의 픽셀 간 차이가 가장 큰 위치를 이용해 방향성을 예측하여 각각의 상기 가로 방향과 세로 방향에 대해 최적의 화면내 예측 Angular 모드를 결정한다.In the intra prediction Angular mode determination system of the present invention for achieving the above object, in the intra prediction of the video encoding, each line in the horizontal and vertical direction of the original image pixel data The optimal intra-picture prediction Angular mode is determined for each of the horizontal and vertical directions by predicting the directionality using the position where the difference between the pixels is the largest.

바람직하게는, 본 발명의 화면내 예측 Angular 모드 결정 시스템은 상기 원본 영상 픽셀 데이터를 저장한 메모리; 및 상기 원본 영상 픽셀 데이터의 최적의 화면내 예측 Angular 모드를 결정하는 Angular 모드 선택 모듈을 포함하되, 상기 Angular 모드 선택 모듈은: 상기 메모리로부터 상기 원본 영상 픽셀 데이터를 입력받고 이를 저장하는 입력부, 상기 픽셀 레지스터에 저장된 이전 영상 픽셀 데이터와 상기 입력부에 새로 입력되는 원본 영상 픽셀 데이터에 대해 뺄셈 연산을 수행하고, 연산 결과 픽셀 간 차이 값과 그 위치를 저장하며, 계속해서 상기 입력부로 새로운 원본 영상 픽셀 데이터가 입력되면 저장된 상기 차이 값과 새로 구해진 차이 값을 비교하여 더 큰 값 및 그 위치를 업데이트하는 비교부, 및 각각의 인접한 라인들에서 가장 큰 픽셀 간 차이 값을 갖는 위치의 포인터 간 차이를 구하는 연산을 수행하여 연산 결과 포인터 간 차이 값을 각각의 값들에 대해 카운팅하고, 최대 카운팅 수와 소정의 임계 값을 비교하여 비교 결과에 따라 예측 단위에서의 특정 방향에 대한 최적의 화면내 예측 Angular 모드를 선택하는 모드 선택부를 포함한다.Preferably, the intra prediction Angular mode determination system of the present invention comprises a memory for storing the original image pixel data; And an Angular mode selection module for determining an optimal intra-picture prediction Angular mode of the original image pixel data, wherein the Angular mode selection module comprises: an input unit for receiving the original image pixel data from the memory and storing the Angular mode; A subtraction operation is performed on the previous image pixel data stored in the register and the original image pixel data newly input to the input unit, and the difference value and the position between the result pixels of the operation are stored, and the new original image pixel data is continuously transferred to the input unit. A comparison unit for comparing the stored difference value with the newly obtained difference value and updating the larger value and its position, and calculating a difference between the pointers of the positions having the largest difference value between pixels in the adjacent lines. To calculate the difference between the pointers for each value. And a mode selection unit for comparing the maximum counting number with a predetermined threshold value and selecting an optimal intra-picture prediction Angular mode for a specific direction in the prediction unit according to the comparison result.

더욱 바람직하게는, 상기 메모리가 상기 가로 방향과 세로 방향 각각에 대해 별도로 구성된다.More preferably, the memory is configured separately for each of the transverse and longitudinal directions.

더욱 더 바람직하게는, 본 발명의 화면내 예측 Angular 모드 결정 시스템은 소정 크기의 각각의 예측 단위들에 대한 화면내 예측 Angular 모드 결정을 병렬적으로 수행한다.Even more preferably, the intra prediction prediction Angular mode determination system of the present invention performs the intra prediction prediction Angular mode determination for each prediction unit of a predetermined size in parallel.

한편, 본 발명의 화면내 예측 Angular 모드 결정 방법은, 비디오 부호화의 화면내 예측 시, 원본 영상 픽셀 데이터의 각각의 가로 방향과 세로 방향에서의 각 라인의 픽셀 간 차이가 가장 큰 위치를 이용해 방향성을 예측하여 각각의 상기 가로 방향과 세로 방향에 대해 최적의 화면내 예측 Angular 모드를 결정한다.On the other hand, the intra prediction Angular mode determination method of the present invention, in the intra prediction of the video encoding, by using the position where the difference between the pixels of each line in the horizontal and vertical direction of the original image pixel data is the largest, Prediction determines the best intra prediction Angular mode for each of the horizontal and vertical directions.

바람직하게는, 본 발명의 화면내 예측 Angular 모드 결정 방법은, 메모리로부터 원본 영상 픽셀 데이터를 판독하는 단계; 이전의 원본 영상 픽셀 데이터와 새로 판독되는 원본 영상 픽셀 데이터에 대해 뺄셈 연산을 수행하고, 연산 결과 픽셀 간 차이 값과 그 위치를 저장하는 단계; 후속하여 새로운 원본 영상 픽셀 데이터가 입력되면 저장된 상기 차이 값과 새로 구해진 차이 값을 비교하여 더 큰 값 및 그 위치를 업데이트하는 단계; 각각의 인접한 라인들에서 가장 큰 픽셀 간 차이 값을 갖는 위치의 포인터 간 차이를 구하는 연산을 수행하여 연산 결과 포인터 간 차이 값을 각각의 값들에 대해 카운팅하는 단계; 최대 카운팅 수와 소정의 임계 값을 비교하여 비교 결과에 따라 예측 단위에서의 특정 방향에 대한 최적의 화면내 예측 Angular 모드를 선택하는 단계를 포함한다.Preferably, the intra prediction prediction Angular mode determination method of the present invention comprises: reading original image pixel data from a memory; Performing a subtraction operation on the previous original image pixel data and the newly read original image pixel data, and storing the difference value and the position between the result pixel of the operation; Subsequently, when new original image pixel data is input, comparing the stored difference value with the newly obtained difference value and updating a larger value and its position; Performing an operation for calculating a difference between pointers of positions having the largest difference value between pixels in respective adjacent lines, and counting the difference value between the pointers for each value as a result of the operation; And comparing the maximum counting number with a predetermined threshold value and selecting an optimal in-picture prediction Angular mode for a specific direction in the prediction unit according to the comparison result.

상술한 바와 같이, 본 발명에 의한 효율적인 화면내 예측 Angular 모드 결정 시스템 및 방법은 가로 방향과 세로 방향에서 픽셀의 차이를 통해 가장 차이가 많이 나는 위치를 도출한 뒤 방향성을 예측하여 Angular 모드를 효율적으로 선택하여 연산량과 연산 시간을 감소시켰다.As described above, the efficient intra prediction prediction Angular mode determination system and method according to the present invention derives the position with the most difference through the pixel difference in the horizontal direction and the vertical direction, and then predicts the directionality to efficiently predict the Angular mode. By reducing the amount of computation and computation time.

도 1은 HEVC의 화면내 예측의 일반적인 과정을 개괄적으로 나타낸 흐름도이다.
도 2는 HEVC의 화면내 예측 모드 중 하나인 Angular 모드가 지원하는 다양한 방향을 나타낸 모식도이다.
도 3은 본 발명의 바람직한 실시예에 따른 화면내 예측 Angular 모드 결정 시스템의 전체 구성을 개략적으로 나타낸 블록도이다.
도 4는 본 발명의 바람직한 실시예에 따라 화면내 예측 Angular 모드를 결정하기 위한 원본 영상 픽셀 데이터의 연산 과정을 나타낸 모식도이다.
도 5는 본 발명의 일 실시예에 따라 5×5 블록 크기의 예측 단위에 대한 세로 방향의 화면내 예측 Angular 모드를 결정하기 위한 연산 과정을 예로서 나타낸 모식도이다.
도 6은 본 발명의 바람직한 실시예에 따라 화면내 예측 Angular 모드를 결정하기 위한 원본 영상 픽셀 데이터의 병렬 처리 과정을 나타낸 모식도이다.
도 7은 본 발명의 바람직한 실시예에 따른 화면내 예측 Angular 모드 결정 방법의 전체 과정을 개략적으로 나타낸 흐름도이다.
1 is a flowchart schematically illustrating a general process of intra picture prediction of HEVC.
2 is a schematic diagram illustrating various directions supported by the Angular mode, which is one of the intra prediction modes of HEVC.
3 is a block diagram schematically showing the overall configuration of an intra prediction Angular mode determination system according to a preferred embodiment of the present invention.
4 is a schematic diagram illustrating a process of calculating original image pixel data for determining an intra prediction angular mode according to a preferred embodiment of the present invention.
FIG. 5 is a schematic diagram illustrating an example of a calculation process for determining an intra-picture prediction angular mode in a vertical direction for a prediction unit having a 5 × 5 block size according to an embodiment of the present invention.
6 is a schematic diagram showing parallel processing of original image pixel data for determining an intra prediction angular mode according to a preferred embodiment of the present invention.
7 is a flowchart schematically illustrating an entire process of an intra prediction angular mode determination method according to an exemplary embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be embodied in various different forms, and only the embodiments are provided to make the disclosure of the present invention complete, and those of ordinary skill in the art to which the present invention belongs. It is provided to fully convey the scope of the invention to those skilled in the art, and the present invention is defined only by the scope of the claims. Like reference numerals refer to like elements throughout.

이하 본 발명의 효율적인 화면내 예측 Angular 모드 결정 시스템에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, an efficient intra prediction prediction Angular mode determination system of the present invention will be described in detail with reference to the accompanying drawings.

도 3은 본 발명의 바람직한 실시예에 따른 화면내 예측 Angular 모드 결정 시스템의 전체 구성을 개략적으로 나타낸 블록도이다.3 is a block diagram schematically showing the overall configuration of an intra prediction Angular mode determination system according to a preferred embodiment of the present invention.

도 3에 도시된 바와 같이, 본 발명의 바람직한 실시예에 따른 화면내 예측 Angular 모드 결정 시스템은 메모리(Memory_ctrl, 100) 및 Angular 모드 선택 모듈(Intra_top, 200)을 포함하여 이루어진다.As shown in FIG. 3, an intra prediction prediction Angular mode determination system according to a preferred embodiment of the present invention includes a memory Memory_ctrl 100 and an Angular mode selection module Intra_top 200.

메모리(100)는 가로 방향과 세로 방향에 대한 원본 영상 픽셀 데이터를 저장한다. 이때, 메모리(100)는 가로 방향에 대한 메모리(W_mem_ctrl, 110)와 세로 방향에 대한 메모리(H_mem_ctrl, 120)를 별개로 구성하는 것이 바람직한데, 이는 양자에 대한 메모리를 하나의 메모리로 사용하게 되면 세로 방향에 대한 모드 결정을 진행할 때 원본 영상 픽셀 데이터를 유지하기 위해 면적이 커지는 단점이 있기 때문이다. 본 발명의 바람직한 실시예에 따른 각 메모리(110 및 120)에서의 원본 영상 픽셀 값들은 후술하는 Angular 모드 선택 모듈(200)의 입력으로 사용된다.The memory 100 stores original image pixel data in a horizontal direction and a vertical direction. At this time, the memory 100 is preferably configured separately from the memory (W_mem_ctrl, 110) for the horizontal direction and the memory (H_mem_ctrl, 120) for the vertical direction, which is to use the memory for both as one memory This is because the area is increased to maintain the original image pixel data when the mode decision on the vertical direction is performed. The original image pixel values in each memory 110 and 120 according to the preferred embodiment of the present invention are used as an input of the Angular mode selection module 200 described later.

Angular 모드 선택 모듈(200)은 각각의 가로 방향과 세로 방향에 대한 최적의 화면내 예측 Angular 모드를 결정하기 위해 가로 방향에 대한 Angular 모드 선택 모듈(W_ctrl, 210)과 세로 방향에 대한 Angular 모드 선택 모듈(H_ctrl, 220)로 구성되는 것이 바람직하며, 각 Angular 모드 선택 모듈(210 및 220)은 먼저 각각 가로 방향과 세로 방향에 대한 원본 영상 픽셀 데이터가 저장된 각각의 가로 방향 메모리(110) 및 세로 방향 메모리(120)로부터 원본 영상 픽셀 데이터를 받아온 후, 받아온 원본 영상 픽셀 데이터에 대해 아래에서 도 4 및 도 5에 대하여 상세하게 설명될, 본 발명에 개시되는 화면내 예측 Angular 모드 결정 알고리즘을 적용하여 각각의 가로 방향과 세로 방향에 대한 최적의 화면내 예측 Angular 모드를 결정하게 된다.Angular mode selection module 200 is an Angular mode selection module (W_ctrl, 210) for the horizontal direction and Angular mode selection module for the vertical direction to determine the best in-picture prediction Angular mode for each landscape and portrait direction. (H_ctrl, 220), each Angular mode selection module (210 and 220) is first to each of the horizontal memory 110 and vertical memory in which the original image pixel data for the horizontal and vertical directions are stored, respectively. After receiving the original image pixel data from 120, the received original image pixel data is applied to each of the received original image pixel data by applying the intra prediction Angular mode determination algorithm disclosed in the present invention, which will be described in detail with reference to FIGS. 4 and 5 below. It determines the best in-picture prediction Angular mode for the horizontal and vertical directions.

도 4는 본 발명의 바람직한 실시예에 따라 화면내 예측 Angular 모드를 결정하기 위한 원본 영상 픽셀 데이터의 연산 과정을 나타낸 모식도이다.4 is a schematic diagram illustrating a process of calculating original image pixel data for determining an intra prediction angular mode according to a preferred embodiment of the present invention.

도 4를 참조하여, 먼저 Angular 모드 선택 모듈(200)의 입력부(201)는 각 방향에 대한 메모리(100)로부터의 원본 영상 픽셀 데이터(Origin_pixel)를 입력받으며, 입력된 원본 영상 픽셀 데이터를 픽셀 레지스터(202)에 저장할 수 있다. 그 다음 비교부(203)가 픽셀 레지스터(202)에 저장된 이전 원본 영상 픽셀 데이터와 새로 입력되는 그에 인접한 원본 영상 픽셀 데이터에 대해 뺄셈 연산을 수행하고, 연산 결과 인접한 픽셀 간 차이 값과 그 위치를 값 레지스터(204)와 위치 레지스터(205)에 저장한다. 이때, 최소화된 레지스터의 사용을 위해 비교기를 이용하여 하나의 레지스터만 사용하는 것이 바람직하다. 그 후 입력부(201)로 새로운 원본 영상 픽셀 데이터가 입력되면, 비교부(203)는 값 레지스터(204)에 저장된 픽셀 간 차이 값과 새로 구해진 픽셀 간 차이 값을 비교하여 더 큰 값 및 그 위치를 각각 값 레지스터(204)와 위치 레지스터(205)에 저장하여 업데이트하게 되며, 이에 따라 하나의 예측 단위(Prediction Unit, PU)에서 특정 방향에서의 하나의 라인에 대한 모든 픽셀 데이터 값에 대한 연산이 끝나게 되면 값 레지스터(204)와 위치 레지스터(205)에는 해당 라인에서의 가장 큰 픽셀 간 차이 값과 그 위치가 저장되게 된다.Referring to FIG. 4, first, the input unit 201 of the Angular mode selection module 200 receives original image pixel data Origin_pixel from the memory 100 for each direction, and converts the input original image pixel data into a pixel register. 202 can be stored. Subsequently, the comparison unit 203 performs a subtraction operation on the previous original image pixel data stored in the pixel register 202 and the newly input original adjacent image pixel data, and calculates the difference value and the position between adjacent pixels. The register 204 and the position register 205 are stored. In this case, it is preferable to use only one register using a comparator to use the minimized register. Thereafter, when the new original image pixel data is input to the input unit 201, the comparison unit 203 compares the difference value between the pixels stored in the value register 204 with the newly obtained pixel difference value and determines a larger value and its position. The values are stored in the value register 204 and the position register 205, respectively, and are updated. Accordingly, the operation of all pixel data values for one line in a specific direction in one prediction unit (PU) is completed. The value register 204 and the position register 205 store the difference value between the largest pixel in the line and its position.

그 다음 Angular 모드 선택 모듈(200)의 모드 선택부(미도시)는 다시 하나의 라인에서 가장 큰 픽셀 간 차이 값을 갖는 것으로 결정된 위치의 포인터(즉, 하나의 라인에 대한 모든 픽셀 데이터 값에 대한 연산이 끝난 후 위치 레지스터(205)에 저장된 위치의 포인터)와 그에 인접한 라인에서 가장 큰 픽셀 간 차이 값을 갖는 것으로 결정된 위치의 포인터(즉, 그에 인접한 라인에 대한 모든 픽셀 데이터 값에 대한 연산이 끝난 후 위치 레지스터(205)에 저장된 위치의 포인터)에 대해 뺄셈 연산을 수행하고, 연산 결과 인접한 라인별 포인터 간 차이 값이 소정의 값들에 해당하는 경우들을 각각 카운팅한다.Then the mode selector (not shown) of the Angular mode selection module 200 again points to a pointer at the location determined to have the largest pixel-to-pixel difference value (ie, all pixel data values for one line). After the operation is finished, the pointer of the position determined to have the difference value between the largest pixel in the line adjacent to the position stored in the position register 205 (that is, the operation is finished for all pixel data values for the line adjacent to it). Subsequently, a subtraction operation is performed on the pointer stored in the position register 205, and counting cases in which the difference value between the pointers of adjacent lines correspond to predetermined values are counted.

마지막으로 Angular 모드 선택 모듈(200)의 모드 선택부는 카운팅된 수들 중 최대 카운팅 수를 실험에 의해 정해진 각 예측 모드에 대한 소정의 임계 값과 비교하여 그 결과에 따라 하나의 예측 단위에서 각각의 가로 방향과 세로 방향에 대한 화면내 예측 Angular 모드를 결정한다.Finally, the mode selector of the Angular mode selection module 200 compares the maximum counting number among the counted numbers with a predetermined threshold value for each prediction mode determined by the experiment, and according to the result, each horizontal direction in one prediction unit And determine the intra prediction Angular mode for the vertical direction.

도 5는 본 발명의 일 실시예에 따라 5×5 블록 크기의 예측 단위에 대한 세로 방향의 화면내 예측 Angular 모드를 결정하기 위한 연산 과정을 예로서 나타낸 모식도이다. 이러한 연산 과정은 본 출원에서 세로 방향에 대해서만 설명하지만, 가로 방향에 대해서도 동일할 것이다.FIG. 5 is a schematic diagram illustrating an example of a calculation process for determining an intra-picture prediction angular mode in a vertical direction for a prediction unit having a 5 × 5 block size according to an embodiment of the present invention. This calculation process is described only in the vertical direction in the present application, but the same will be the same in the horizontal direction.

도 5를 참조하여, 5×5 블록 크기의 PU에서 세로 방향으로의 라인을 나눈다고 가정하면, 본 발명의 Angular 모드 선택 모듈(200)은 먼저 도 5에서 (1) 내지 (5)로 나뉜 각 세로 라인들에 대해 인접한 픽셀 간 차이를 구하는 연산을 수행하여 가장 큰 픽셀 간 차이 값을 가지는 위치를 구한다. 도 5에서 예로서 각 세로 라인들에서 가장 큰 픽셀 간 차이 값을 갖는 위치를 화살표로 나타냈다.Referring to FIG. 5, assuming that lines in a vertical direction are divided in a PU having a 5 × 5 block size, the Angular mode selection module 200 of the present invention first divides the angles divided by (1) to (5) in FIG. 5. An operation for calculating the difference between adjacent pixels with respect to the vertical lines is performed to find a position having the largest difference value between pixels. As an example in FIG. 5, the position having the largest difference value between pixels in each vertical line is indicated by an arrow.

그 다음 Angular 모드 선택 모듈(200)은 다시 각각의 인접한 세로 라인들에서 가장 큰 픽셀 간 차이 값을 갖는 위치의 포인터 간 차이를 구하는 연산을 수행하여 포인터 간 차이 값이 예로서, '-2', '-1', '0,' '1', '2'에 해당하는 경우들을 각각의 값들에 대해 카운팅한다. 예를 들어, 도 5에서 세로 라인 (1)에서 가장 큰 픽셀 간 차이 값을 갖는 위치의 포인터가 4이고, 그에 인접한 세로 라인(2)에서 가장 큰 픽셀 간 차이 값을 갖는 위치의 포인터가 3이라고 하면, 포인터 간 차이는 1이므로 '1'의 값에 대해 카운팅하여 그 카운팅 수가 1이 된다. 그리고 세로 라인 (2)에서 가장 큰 픽셀 간 차이 값을 갖는 위치의 포인터가 3이고, 그에 인접한 세로 라인(3)에서 가장 큰 픽셀 간 차이 값을 갖는 위치의 포인터가 3이라고 하면, 포인터 간 차이는 0이므로 '0'의 값에 대해 카운팅하여 그 카운팅 수가 1이 되는 등이다. 도 5의 예에서 각각의 세로 라인들에 대해 포인터 간 차이를 구하는 연산을 완료하면, '0'에 대한 카운팅 수는 1이고 '1'의 값에 대한 카운팅 수는 3이 될 것이다.Then, the Angular mode selection module 200 again calculates a difference between pointers of positions having the largest pixel difference value in each adjacent vertical lines, so that the difference value between the pointers is '-2', The cases corresponding to '-1', '0,' '1', and '2' are counted for each value. For example, in FIG. 5, the pointer of the position having the largest pixel-to-pixel difference value in the vertical line 1 is 4, and the pointer of the position having the largest pixel-to-pixel difference value in the vertical line 2 adjacent thereto is 3. In this case, since the difference between the pointers is 1, the counting value is '1' and the counting number becomes 1. If the pointer of the position having the largest pixel-to-pixel difference value in the vertical line 2 is 3 and the pointer of the position having the largest pixel-to-pixel difference value in the vertical line 3 adjacent thereto is 3, the difference between the pointers is Since it counts as '0', the counting number is 1, and so on. In the example of FIG. 5, when the operation for calculating the difference between pointers for each vertical line is completed, the counting number for '0' is 1 and the counting number for the value of '1' will be 3.

최종적으로 Angular 모드 선택 모듈(200)은 카운팅 수들 중 최대 카운팅 수(본 예에서는 '1'의 값에 대한 카운팅 수 3)를 실험에 의해 정해진 각 예측 모드에 대한 소정의 임계 값과 비교하여 그 결과에 따라 5×5 블록 크기의 해당 PU에서의 세로 방향에 대한 화면내 예측 Angular 모드를 결정한다.Finally, the Angular mode selection module 200 compares the maximum counting number (counting number 3 for the value of '1' in this example) with the predetermined threshold value for each prediction mode determined by the experiment. In this case, the intra prediction Angular mode for the vertical direction in the corresponding PU having a 5 × 5 block size is determined.

이와 같이, 본 발명은 도 5에 도시된 바와 같은 과정을 통해 각각의 가로 방향과 세로 방향에 대한 화면내 예측 Angular 모드를 결정함으로써 종래 기술에 비해 연산량과 연산 시간을 상당히 감소할 수 있다.As described above, the present invention can significantly reduce the amount of computation and the computation time compared to the prior art by determining the intra prediction angular mode for each of the horizontal and vertical directions through a process as shown in FIG. 5.

도 6은 본 발명의 바람직한 실시예에 따라 화면내 예측 Angular 모드를 결정하기 위한 원본 영상 픽셀 데이터의 병렬 처리 과정을 나타낸 모식도이다.6 is a schematic diagram showing parallel processing of original image pixel data for determining an intra prediction angular mode according to a preferred embodiment of the present invention.

본 발명의 화면내 예측 Angular 모드 결정 시스템은 4×4 크기의 블록부터 64×64 크기의 블록까지 모두 지원하며, 위에서 도 4 및 도 5에 대하여 설명한 원본 영상 픽셀 데이터의 연산 과정을 통해 분할된 블록들 각각에 대한 Angular 모드 결정을 병렬적으로 처리 가능하다.The intra prediction Angular mode determination system of the present invention supports all blocks ranging from 4 × 4 size blocks to 64 × 64 size blocks and is divided by the operation of the original image pixel data described with reference to FIGS. 4 and 5. Angular mode decisions for each of them can be processed in parallel.

도 6을 참조하여, 우선 빨간색으로 표시된 64×4 크기의 예측 블록까지 원본 영상 픽셀 데이터가 처리되면 한 라인의 4×4 블록의 Angular 모드가 출력된다. 그리고 64×8 크기의 예측 블록까지 영상 픽셀 데이터 처리가 진행이 되면 4×4, 8×8 블록의 Angular 모드가 병렬적으로 결정된다. 이러한 방식으로 마지막 원본영상 픽셀 데이터까지 입력이 되고 Angular 모드가 결정되면 4×4 크기의 예측 블록부터 64×64 크기의 예측 블록까지 Angular 모드가 병렬적으로 결정된다.Referring to FIG. 6, when the original image pixel data is processed up to a 64 × 4 sized prediction block indicated in red, an angular mode of a 4 × 4 block of one line is output. When image pixel data processing is performed up to a 64 × 8 prediction block, the angular modes of 4 × 4 and 8 × 8 blocks are determined in parallel. In this way, when the last original image pixel data is input and the angular mode is determined, the angular mode is determined in parallel from the 4 × 4 prediction block to the 64 × 64 prediction block.

블록 크기Block size 하나의 라인에서의 Angular 모드들의 수Number of Angular Modes in a Line 총계sum 4×44 × 4 1616 256256 8×88 × 8 88 6464 16×1616 × 16 44 1616 32×3232 × 32 22 44 64×6464 × 64 1One 1One

표 1은 블록 크기에 따른 Angular 모드들의 수를 나타내며 가로 방향과 세로 방향의 출력 모드들의 수는 동일하다. 4×4 블록을 예로 들면, 64×4 블록에서 하나의 라인에 대한 Angular 모드들의 출력 개수는 16개이다. 64×64 블록을 모두 처리하게 되면 4×4 블록 크기에 대한 총 모드들의 수는 256개가 된다. 나머지 블록 크기에 대한 모드들의 수는 위 표와 같다.Table 1 shows the number of Angular modes according to the block size, and the number of output modes in the horizontal and vertical directions are the same. Taking a 4x4 block as an example, the number of outputs of Angular modes for one line in a 64x4 block is 16. Processing all 64x64 blocks results in 256 total modes for a 4x4 block size. The number of modes for the remaining block sizes is shown in the table above.

그러면, 여기서 상기와 같이 구성된 시스템을 이용한 본 발명의 효율적인 화면내 예측 Angular 모드 결정 방법에 대해 설명하기로 한다. 이를 상세히 설명하면 다음과 같다.Next, an efficient in-picture prediction Angular mode determination method of the present invention using the system configured as described above will be described. This will be described in detail as follows.

도 7은 본 발명의 바람직한 실시예에 따른 화면내 예측 Angular 모드 결정 방법의 전체 과정을 개략적으로 나타낸 흐름도이다.7 is a flowchart schematically illustrating an entire process of an intra prediction angular mode determination method according to an exemplary embodiment of the present invention.

도 7을 참조하여, 먼저 Angular 모드 선택 모듈(200)의 입력부(201)가 각 방향에 대한 메모리(110 및 120)로부터 원본 영상 픽셀 데이터(Origin_pixel)를 판독한다(S710). 이때, 입력부(201)는 판독된 원본 영상 픽셀 데이터를 픽셀 레지스터(202)에 저장할 수 있다.Referring to FIG. 7, first, the input unit 201 of the Angular mode selection module 200 reads original image pixel data Origin_pixel from memory 110 and 120 for each direction (S710). In this case, the input unit 201 may store the read original image pixel data in the pixel register 202.

그 다음 Angular 모드 선택 모듈(200)의 비교부(203)가 픽셀 레지스터(202)에 저장된 이전 원본 영상 픽셀 데이터와 새로 입력되는 그에 인접한 원본 영상 픽셀 데이터에 대해 뺄셈 연산을 수행하고, 연산 결과 인접한 픽셀 간 차이 값과 그 위치를 값 레지스터(204)와 위치 레지스터(205)에 저장한다(S720).Then, the comparing unit 203 of the Angular mode selection module 200 performs a subtraction operation on the previous original image pixel data stored in the pixel register 202 and the original input image pixel data newly input thereto, and the resultant operation results in a neighboring pixel. The difference value and its position are stored in the value register 204 and the position register 205 (S720).

그 후 계속해서 입력부(201)로 새로운 원본 영상 픽셀 데이터가 입력되어 단계들 S710 및 S720이 수행되면, 비교부(203)는 값 레지스터(204)에 저장된 픽셀 간 차이 값과 새로 구해진 픽셀 간 차이 값을 비교하여 더 큰 값 및 그 위치를 각각 값 레지스터(204)와 위치 레지스터(205)에 저장하여 업데이트한다(S730). 이에 따라 하나의 PU에서 특정 방향에서의 하나의 라인에 대한 모든 픽셀 데이터 값에 대해 단계들 S710 내지 S730이 수행되면, 값 레지스터(204)와 위치 레지스터(205)에는 해당 라인에서의 가장 큰 픽셀 간 가장 큰 차이 값과 그 위치가 저장될 것이다.After that, when new original image pixel data is continuously input to the input unit 201 and steps S710 and S720 are performed, the comparison unit 203 compares the difference value between the pixels stored in the value register 204 and the newly obtained pixel difference value. Compare and store the larger value and its position in the value register 204 and the position register 205 and update them (S730). Accordingly, if steps S710 to S730 are performed for all pixel data values for one line in a specific direction in one PU, the value register 204 and the position register 205 are between the largest pixel in the corresponding line. The largest difference value and its location will be stored.

그 다음 Angular 모드 선택 모듈(200)의 모드 선택부(미도시)는 하나의 라인에 대한 모든 픽셀 데이터 값에 대해 단계들 S710 내지 S730이 수행되어 결정된 위치의 포인터와 그에 인접한 라인에 대한 모든 픽셀 데이터 값에 대해 단계들 S710 내지 S730이 수행되어 결정된 위치의 포인터에 대해 뺄셈 연산을 수행하고, 연산 결과 인접한 라인별 포인터 간 차이 값이 소정의 값들에 해당하는 경우들을 각각 카운팅한다(S740).Then, the mode selection unit (not shown) of the Angular mode selection module 200 performs steps S710 to S730 on all pixel data values for one line, so that the pointer at the determined position and all the pixel data for the line adjacent thereto are determined. Steps S710 to S730 are performed on the value to perform a subtraction operation on the pointer at the determined position, and counting cases in which the difference value between the pointers adjacent to each other line corresponds to predetermined values as a result of the operation (S740).

그리고 Angular 모드 선택 모듈(200)의 모드 선택부는 카운팅된 수들 중 최대 카운팅 수를 실험에 의해 정해진 각 예측 모드에 대한 소정의 임계 값과 비교한 후(S750), 그 결과에 따라 하나의 예측 단위에서 각각의 가로 방향과 세로 방향에 대한 화면내 예측 Angular 모드를 결정한다(S760).In addition, the mode selection unit of the Angular mode selection module 200 compares the maximum counting number among the counted numbers with a predetermined threshold value for each prediction mode determined by the experiment (S750), and then in one prediction unit according to the result. Intra-prediction Angular mode for each of the horizontal and vertical directions is determined (S760).

기존의 화면내 예측 모드 결정 알고리즘은 35개의 화면내 예측 모드를 모두 고려하여 모드를 결정하는 반면 본 출원에서 제안하는 화면내 예측 Angular 모드 결정 시스템은 상기한 바와 같이 간단한 연산을 통해 그 방향성을 예측하여 모드를 결정하기 때문에 좀 더 빠른 모드 결정이 가능하다. 또한, 효율적인 메모리 관리를 위하여 원본 영상의 가로 방향과 세로 방향에 대한 메모리를 따로 만들어 각 방향에 대한 원본 영상 픽셀을 저장함으로써 하드웨어 면적을 감소시켰다. 그리고, 4×4 블록 크기부터 64×64 크기의 예측 블록까지의 Angular 모드 결정이 병렬적으로 진행됨으로써 마지막 원본 영상 픽셀 데이터가 처리되었을 때 모든 블록 크기에 대한 예측 모드 결정이 진행된다.The existing intra prediction mode determination algorithm determines the mode by considering all 35 intra prediction modes, whereas the intra prediction Angular mode determination system proposed in the present application predicts the direction through simple calculation as described above. Deciding the mode allows faster mode decision. In addition, the memory area is reduced by storing the original image pixels in each direction by making the memory for the horizontal and vertical directions of the original image separately for efficient memory management. In addition, since the Angular mode determination is performed in parallel from the 4 × 4 block size to the 64 × 64 prediction block, prediction mode determination for all block sizes is performed when the last original image pixel data is processed.

실험예Experimental Example

표 2는 HM-16.9 표준 소프트웨어와 제안하는 하드웨어에 적용된 본 발명의 효율적인 화면내 예측 모드 선택 알고리즘의 성능 비교이다. 적용된 알고리즘과 HM-16.9와의 비교 결과 평균적으로 BDPSNR은 0.035 증가하였고, BDBitrate는 0.623 감소, 인코딩 타임은 최대 11.389% 감소로 좋은 결과를 보였다.Table 2 shows the performance comparison of the efficient intra prediction mode selection algorithm of the present invention applied to the HM-16.9 standard software and the proposed hardware. On average, BDPSNR increased by 0.035, BDBitrate decreased by 0.623, and encoding time by 11.389%.

본 실험예에서는 표준 소프트웨어와 비교했을 때 좋은 결과를 보인 효율적인 화면내 예측 Angular 모드 결정 알고리즘을 하드웨어 설계에 적용하였다. 기존의 화면내 예측 알고리즘이 아닌 간단한 연산을 통해 방향성을 예측하여 Angular 모드를 결정하는 알고리즘을 하드웨어에 적용함으로써 최소화된 연산기를 사용하였다. 결과적으로 최소화된 연산기의 사용으로 하드웨어 면적을 최소화시켰다. 본 실험예에서 제안하는 하드웨어 구조는 Verilog HDL로 설계되었으며, 65nm 공정을 사용하였다. Synopsys 사의 Design Compiler로 합성하였으며 표 3은 본 실험예에서 제안하는 하드웨어 구조의 합성 결과 및 비교를 나타낸다. 합성 결과 게이트 수는 14.9K이고 최대 동작 주파수는 2GHz이다. 본 실험예의 하드웨어 구조는 표준 소프트웨어 중 게이트 수와 최대 동작 주파수 면에서 가장 좋은 결과를 갖는 기존 소프트웨어들과 비교하였다. 비교 결과 게이트 수는 75% 감소했고 최대 동작 주파수는 622MHz에서 2GHz로 증가하였다.In this experimental example, an efficient in-picture prediction Angular mode decision algorithm with good results compared to standard software was applied to the hardware design. The algorithm that minimizes the angular mode by predicting the directionality through simple calculation rather than the existing intra prediction algorithm is applied to the hardware. As a result, the hardware area is minimized through the use of a minimized calculator. The hardware structure proposed in this experiment was designed with Verilog HDL and used 65nm process. Synopsys synthesized by Design Compiler, Table 3 shows the synthesis results and comparison of the hardware structure proposed in the experimental example. The synthesis results in a gate count of 14.9K and a maximum operating frequency of 2GHz. The hardware structure of this experiment is compared with the existing software which has the best results in terms of the number of gates and the maximum operating frequency among the standard software. In comparison, the gate count is reduced by 75% and the maximum operating frequency is increased from 622MHz to 2GHz.

클래스(Class)Class 해상도resolution 실험예Experimental Example BDPSNRBDPSNR BDBitrateBDBitrate △Bitrate(%)△ Bitrate (%) △PSNR(%)△ PSNR (%) △TS(%)△ TS (%) 4k4k 3840x21603840x2160 0.0160.016 -0.613-0.613 -0.663-0.663 0.0070.007 7.1817.181 Class AClass A 2560x16002560x1600 0.0310.031 -0.518-0.518 -0.366-0.366 0.0230.023 6.7146.714 Class BClass B 1920x10801920x1080 0.0270.027 -0.642-0.642 -0.543-0.543 0.0130.013 6.1126.112 Class CClass C 832x480832 x 480 0.0390.039 -0.620-0.620 -0.469-0.469 0.0230.023 6.0436.043 Class DClass D 416x240416 x 240 0.0420.042 -0.672-0.672 -0.678-0.678 0.0120.012 11.38911.389 Class EClass E 1280x7201280 x 720 0.0460.046 -0.848-0.848 -0.726-0.726 0.0190.019 5.8295.829 Class FClass F 832x480832 x 480 0.0470.047 -0.449-0.449 -0.391-0.391 0.0160.016 5.0645.064 평균Average -- 0.0350.035 -0.623-0.623 -0.548-0.548 0.0160.016 6.9056.905

실험예Experimental Example 비교예 1Comparative Example 1 비교예 2Comparative Example 2 기술(nm)Technology (nm) 6565 6565 9090 게이트 수
(Nand 게이트)
Number of gates
(Nand gate)
14.9K14.9K 59.5K59.5K 214.1K214.1K
지원 블록들Support blocks 모든 블록All blocks 모든 블록All blocks 64x64 없음64x64 no 사이클/64x64Cycles / 64x64 4,1004,100 2,5392,539 15,90815,908 최대 주파수(MHz)Max Frequency (MHz) 2,0002,000 622622 357357 스루풋Throughput 8K@60fps8K @ 60fps 8K@30fps8K @ 30fps 1K@44fps1K @ 44fps

이상에서 몇 가지 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다.Although the present invention has been described in more detail with reference to some embodiments, the present invention is not necessarily limited to these embodiments, and various modifications can be made without departing from the spirit of the present invention.

100 : 메모리
200 : Angular 모드 선택 모듈
201 : 입력부
202 : 픽셀 레지스터
203 : 비교부
204 : 값 레지스터
205 : 위치 레지스터
100: memory
200: Angular mode selection module
201: input unit
202: pixel register
203: comparison unit
204: value register
205: location register

Claims (6)

비디오 부호화의 화면내 예측 시, 원본 영상 픽셀 데이터의 각각의 가로(horizontal) 방향과 세로(vertical) 방향에서의 각 라인의 픽셀 간 차이가 가장 큰 위치를 이용해 방향성을 예측하여 각각의 상기 가로 방향과 세로 방향에 대해 최적의 화면내 예측 Angular 모드를 결정하는, 화면내 예측 Angular 모드 결정 시스템.In the intra prediction of the video encoding, the directionality is predicted by using the position where the difference between the pixels of each line in the horizontal direction and the vertical direction of the original image pixel data is the largest, and the respective horizontal and An in-screen prediction Angular mode determination system that determines an optimal in-picture prediction Angular mode for portrait orientation. 청구항 1에서,
상기 원본 영상 픽셀 데이터를 저장한 메모리; 및
상기 원본 영상 픽셀 데이터의 최적의 화면내 예측 Angular 모드를 결정하는 Angular 모드 선택 모듈을 포함하되,
상기 Angular 모드 선택 모듈은:
상기 메모리로부터 상기 원본 영상 픽셀 데이터를 입력받고 이를 저장하는 입력부,
픽셀 레지스터에 저장된 이전의 원본 영상 픽셀 데이터와 상기 입력부에 새로 입력되는 원본 영상 픽셀 데이터에 대해 뺄셈 연산을 수행하고, 연산 결과 픽셀 간 차이 값과 그 위치를 저장하며, 계속해서 상기 입력부로 새로운 원본 영상 픽셀 데이터가 입력되면 저장된 상기 차이 값과 새로 구해진 차이 값을 비교하여 더 큰 값 및 그 위치를 업데이트하는 비교부, 및
각각의 인접한 라인들에서 가장 큰 픽셀 간 차이 값을 갖는 위치의 포인터 간 데이터 차이를 구하는 연산을 수행하여 연산 결과 포인터 간 데이터 차이 값을 각각의 값들에 대해 카운팅하고, 최대 카운팅 수와 소정의 임계 값을 비교하여 비교 결과에 따라 예측 단위에서의 가로방향 또는 세로방향에 대하여 최적의 화면내 예측 Angular 모드를 결정하는 모드 선택부를 포함하는, 화면내 예측 Angular 모드 결정 시스템.
In claim 1,
A memory storing the original image pixel data; And
And an Angular mode selection module for determining an optimal intra-picture prediction Angular mode of the original image pixel data.
The Angular mode selection module is:
An input unit which receives the original image pixel data from the memory and stores the original image pixel data;
A subtraction operation is performed on the previous original image pixel data stored in the pixel register and the original image pixel data newly input to the input unit, the difference value and the position between the resultant pixels are stored, and the new original image is subsequently added to the input unit. A comparison unit for comparing the stored difference value with the newly obtained difference value and updating a larger value and its position when pixel data is input, and
The data difference between the pointers of the positions having the largest difference value between pixels in each adjacent line is calculated to count the data difference value between the pointers for each value, and the maximum counting number and the predetermined threshold value are calculated. And a mode selector to determine an optimal intra-picture prediction angular mode with respect to the horizontal or vertical direction in the prediction unit according to the comparison result.
청구항 2에서,
상기 메모리가 상기 가로 방향과 세로 방향 각각에 대해 별도로 구성되는, 화면내 예측 Angular 모드 결정 시스템.
In claim 2,
And the memory is configured separately for each of the landscape and portrait orientations.
청구항 1 내지 3 중 어느 한 항에서,
소정 크기의 각각의 예측 단위들에 대한 화면내 예측 Angular 모드 결정을 병렬적으로 수행하는, 화면내 예측 Angular 모드 결정 시스템.
The method according to any one of claims 1 to 3,
An in-picture prediction Angular mode determination system for performing in-picture prediction Angular mode determination in parallel for respective prediction units of a predetermined size.
비디오 부호화의 화면내 예측 시, 원본 영상 픽셀 데이터의 각각의 가로 방향과 세로 방향에서의 각 라인의 픽셀 간 차이가 가장 큰 위치를 이용해 방향성을 예측하여 각각의 상기 가로 방향과 세로 방향에 대해 최적의 화면내 예측 Angular 모드를 결정하는, 화면내 예측 Angular 모드 결정 방법.In the intra prediction of the video encoding, the directionality is estimated using the position where the difference between the pixels of each line in the horizontal direction and the vertical direction of the original image pixel data is the largest, and is optimal for the respective horizontal and vertical directions. How to determine intra prediction Angular mode. 청구항 5에서,
메모리로부터 원본 영상 픽셀 데이터를 판독하는 단계;
이전의 원본 영상 픽셀 데이터와 새로 판독되는 원본 영상 픽셀 데이터에 대해 뺄셈 연산을 수행하고, 연산 결과 픽셀 간 차이 값과 그 위치를 저장하는 단계;
후속하여 새로운 원본 영상 픽셀 데이터가 입력되면 저장된 상기 차이 값과 새로 구해진 차이 값을 비교하여 더 큰 값 및 그 위치를 업데이트하는 단계;
각각의 인접한 라인들에서 가장 큰 픽셀 간 차이 값을 갖는 위치의 포인터 간 데이터 차이를 구하는 연산을 수행하여 연산 결과 포인터 간 데이터 차이 값을 각각의 값들에 대해 카운팅하는 단계;
최대 카운팅 수와 소정의 임계 값을 비교하여 비교 결과에 따라 예측 단위에서의 가로방향 또는 세로방향에 대하여 최적의 화면내 예측 Angular 모드를 결정하는 단계를 포함하는, 화면내 예측 Angular 모드 결정 방법.
In claim 5,
Reading original image pixel data from memory;
Performing a subtraction operation on the previous original image pixel data and the newly read original image pixel data, and storing the difference value and the position between the result pixel of the operation;
Subsequently, when new original image pixel data is input, comparing the stored difference value with the newly obtained difference value and updating a larger value and its position;
Performing an operation for calculating a data difference between pointers at positions having the largest pixel difference value in each adjacent line, and counting the data difference value between the pointers for each value as a result of the operation;
And comparing the maximum counting number with a predetermined threshold value and determining an optimal in-picture prediction Angular mode for the horizontal direction or the vertical direction in the prediction unit according to the comparison result.
KR1020170127806A 2017-09-29 2017-09-29 System and method for effectively deciding intra prediction mode for hevc encoder KR102050238B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170127806A KR102050238B1 (en) 2017-09-29 2017-09-29 System and method for effectively deciding intra prediction mode for hevc encoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170127806A KR102050238B1 (en) 2017-09-29 2017-09-29 System and method for effectively deciding intra prediction mode for hevc encoder

Publications (2)

Publication Number Publication Date
KR20190037946A KR20190037946A (en) 2019-04-08
KR102050238B1 true KR102050238B1 (en) 2019-11-29

Family

ID=66164649

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170127806A KR102050238B1 (en) 2017-09-29 2017-09-29 System and method for effectively deciding intra prediction mode for hevc encoder

Country Status (1)

Country Link
KR (1) KR102050238B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114205614B (en) * 2021-12-16 2023-08-04 福州大学 HEVC standard-based intra-frame prediction mode parallel hardware method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101247043B1 (en) 2011-06-07 2013-03-25 한양대학교 산학협력단 Method for performing fast intra-prediction
KR101373670B1 (en) 2011-11-04 2014-03-14 연세대학교 산학협력단 Method and apparatus for intra prediction
KR101378434B1 (en) 2012-10-19 2014-03-27 한양대학교 산학협력단 Method for fast intra prediction mode decision

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140056599A (en) 2012-10-30 2014-05-12 광주과학기술원 Method and apparatus for determining depth image prediction mode
KR101621358B1 (en) 2015-04-16 2016-05-17 아주대학교 산학협력단 Hevc encoding device and method for deciding intra prediction mode for the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101247043B1 (en) 2011-06-07 2013-03-25 한양대학교 산학협력단 Method for performing fast intra-prediction
KR101373670B1 (en) 2011-11-04 2014-03-14 연세대학교 산학협력단 Method and apparatus for intra prediction
KR101378434B1 (en) 2012-10-19 2014-03-27 한양대학교 산학협력단 Method for fast intra prediction mode decision

Also Published As

Publication number Publication date
KR20190037946A (en) 2019-04-08

Similar Documents

Publication Publication Date Title
RU2722536C1 (en) Output of reference mode values and encoding and decoding of information representing prediction modes
US10764597B2 (en) Video encoding and decoding
US8681873B2 (en) Data compression for video
CN107318026B (en) Video encoder and video encoding method
US8331449B2 (en) Fast encoding method and system using adaptive intra prediction
JP5289440B2 (en) Image encoding device, image decoding device, image encoding method, and image decoding method
US9078009B2 (en) Data compression for video utilizing non-translational motion information
EP3759912A1 (en) Method and apparatus for video coding
US9307241B2 (en) Video encoding method and a video encoding apparatus using the same
WO2010036772A2 (en) Complexity allocation for video and image coding applications
US20190020881A1 (en) Method and apparatus for scan order selection
US11323700B2 (en) Encoding video using two-stage intra search
KR20220024773A (en) Method and device for storing motion field in video coding
US20230328280A1 (en) Method and device for intra-prediction
US20180352232A1 (en) Method and apparatus for scan order selection
KR102050238B1 (en) System and method for effectively deciding intra prediction mode for hevc encoder
Xiong et al. Priority belief propagation-based inpainting prediction with tensor voting projected structure in video compression
US20210329254A1 (en) Bitrate control method for video coding
US20230135378A1 (en) Index reordering of bi-prediction with cu-level weight (bcw) by using template-matching
US20240073406A1 (en) Temporal Motion Vector Predictor Candidates Search
KR20160106348A (en) Video Coding Method and Apparatus thereof
WO2023049043A1 (en) Methods and apparatus for adaptive reordering for reference frames
WO2024064421A1 (en) Method and apparatus for motion vector prediction based on subblock motion vector
KR101802304B1 (en) Methods of encoding using hadamard transform and apparatuses using the same
CN115941957A (en) Hardware accelerated video coding

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