KR20190037946A - Hevc 부호기를 위한 효율적인 화면내 예측 모드 결정 시스템 및 방법 - Google Patents

Hevc 부호기를 위한 효율적인 화면내 예측 모드 결정 시스템 및 방법 Download PDF

Info

Publication number
KR20190037946A
KR20190037946A KR1020170127806A KR20170127806A KR20190037946A KR 20190037946 A KR20190037946 A KR 20190037946A KR 1020170127806 A KR1020170127806 A KR 1020170127806A KR 20170127806 A KR20170127806 A KR 20170127806A KR 20190037946 A KR20190037946 A KR 20190037946A
Authority
KR
South Korea
Prior art keywords
intra
prediction
pixel data
original image
image pixel
Prior art date
Application number
KR1020170127806A
Other languages
English (en)
Other versions
KR102050238B1 (ko
Inventor
류광기
최주용
Original Assignee
한밭대학교 산학협력단
한밭대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한밭대학교 산학협력단, 한밭대학교 산학협력단 filed Critical 한밭대학교 산학협력단
Priority to KR1020170127806A priority Critical patent/KR102050238B1/ko
Publication of KR20190037946A publication Critical patent/KR20190037946A/ko
Application granted granted Critical
Publication of KR102050238B1 publication Critical patent/KR102050238B1/ko

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 모드를 결정함으로써, 연산량과 연산 시간을 감소시킬 수 있다.

Description

HEVC 부호기를 위한 효율적인 화면내 예측 모드 결정 시스템 및 방법{SYSTEM AND METHOD FOR EFFECTIVELY DECIDING INTRA PREDICTION MODE FOR HEVC ENCODER}
본 발명은 HEVC 부호기를 위한 화면내 예측 모드 결정 시스템 및 방법에 관한 것으로, 더욱 상세하게는 기존의 HEVC의 화면내 예측 모드 결정의 높은 연산량와 연산 시간을 줄이기 위해 원본 영상 픽셀의 차이 값을 비교하여 화면내 예측 Angular 모드를 효율적으로 결정하는 HEVC 부호기를 위한 효율적인 화면내 예측 모드 결정 시스템 및 방법에 관한 것이다.
최근 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배 이상의 높은 부호화 효율(즉, 압축률)을 보여줌으로써 초고화질 영상의 효율적인 관리가 가능해졌다.
HEVC에서의 화면내 예측은 현재 블록의 주변에 이미 재구성된 샘플들을 참조하여 현재 블록을 예측하는 방법이다. 화면내 예측 순서는 도 1과 같이 참조 샘플 준비, 화면내 예측 영상 생성, 예측 모드 부호화 순으로 진행된다. 참조 샘플 준비 단계에는 참조 샘플 패딩과 참조 샘플 필터링이 포함되어 있다. 먼저 화면내 예측에서는 주변의 이미 재구성된 샘플들을 사용하여 예측을 수행하는데 이러한 샘플을 참조 샘플이라고 한다. 모드에 따라 참조 샘플을 패딩 및 필터링을 진행하고 화면내 예측을 수행하게 된다. 참조 샘플 패딩이란 참조 샘플들이 존재하지 않는 경우에 대해 패딩을 수행하여 참조 샘플을 준비하는 단계이고, 필터링에는 강한 필터링과 약한 필터링이 있다. 그 후 원본 영상과 예측 영상의 차분 신호에 대해 변환 및 양자화를 진행하고 블록 재구성 및 율-왜곡 비용을 측정해 최적의 모드를 선정하게 된다.
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의 화면내 예측 모드는 우측 상단 방향부터 좌측 하단 방향까지 다양한 방향을 지원한다.
이와 같이, HEVC는 H.264/AVC보다 더 많은 예측 모드를 지원하기 때문에 유연하면서도 보다 정밀한 화면내 예측이 가능하게 되었다. 하지만 HEVC는 최적의 화면내 예측 모드를 결정하기 위해서 4×4부터 64×64까지의 크기의 PU에서 각 35개의 모드를 전부 고려해 모든 예측 모드에 대한 율-왜곡 비용을 계산해야 하기 때문에, 높은 연산량과 연산 시간이 요구된다.
따라서, 본 발명에서는 기존의 HEVC에서의 화면내 예측 모드 결정 기법의 높은 연산량과 연산 시간을 줄이기 위해 원본 영상 픽셀의 차이 값을 비교하여 최적의 화면내 예측 Angular 모드를 효율적으로 결정하는 알고리즘을 적용한 시스템 및 방법을 제안한다.
대한민국 공개특허공보 제10-2014-0056599호(2014.05.12) 대한민국 등록특허공보 제10-1621358호(2016.05.17)
따라서, 본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 이루어진 것으로서, 본 발명의 목적은 원본 영상 픽셀 데이터의 차이와 위치를 이용해 방향성을 선정하여 33개의 Angular 모드 중 가로(horizontal) 방향과 세로(vertical) 방향에 대해 각각 1개의 모드를 효율적으로 선택하는 효율적인 화면내 예측 모드 선택 알고리즘을 적용함으로써 HEVC 부호기를 위한 효율적인 화면내 예측 Angular 모드 결정 시스템 및 방법을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 화면내 예측 Angular 모드 결정 시스템은, 비디오 부호화의 화면내 예측 시, 원본 영상 픽셀 데이터의 각각의 가로(horizontal) 방향과 세로(vertical) 방향에서의 각 라인의 픽셀 간 차이가 가장 큰 위치를 이용해 방향성을 예측하여 각각의 상기 가로 방향과 세로 방향에 대해 최적의 화면내 예측 Angular 모드를 결정한다.
바람직하게는, 본 발명의 화면내 예측 Angular 모드 결정 시스템은 상기 원본 영상 픽셀 데이터를 저장한 메모리; 및 상기 원본 영상 픽셀 데이터의 최적의 화면내 예측 Angular 모드를 결정하는 Angular 모드 선택 모듈을 포함하되, 상기 Angular 모드 선택 모듈은: 상기 메모리로부터 상기 원본 영상 픽셀 데이터를 입력받고 이를 저장하는 입력부, 상기 픽셀 레지스터에 저장된 이전 영상 픽셀 데이터와 상기 입력부에 새로 입력되는 원본 영상 픽셀 데이터에 대해 뺄셈 연산을 수행하고, 연산 결과 픽셀 간 차이 값과 그 위치를 저장하며, 계속해서 상기 입력부로 새로운 원본 영상 픽셀 데이터가 입력되면 저장된 상기 차이 값과 새로 구해진 차이 값을 비교하여 더 큰 값 및 그 위치를 업데이트하는 비교부, 및 각각의 인접한 라인들에서 가장 큰 픽셀 간 차이 값을 갖는 위치의 포인터 간 차이를 구하는 연산을 수행하여 연산 결과 포인터 간 차이 값을 각각의 값들에 대해 카운팅하고, 최대 카운팅 수와 소정의 임계 값을 비교하여 비교 결과에 따라 예측 단위에서의 특정 방향에 대한 최적의 화면내 예측 Angular 모드를 선택하는 모드 선택부를 포함한다.
더욱 바람직하게는, 상기 메모리가 상기 가로 방향과 세로 방향 각각에 대해 별도로 구성된다.
더욱 더 바람직하게는, 본 발명의 화면내 예측 Angular 모드 결정 시스템은 소정 크기의 각각의 예측 단위들에 대한 화면내 예측 Angular 모드 결정을 병렬적으로 수행한다.
한편, 본 발명의 화면내 예측 Angular 모드 결정 방법은, 비디오 부호화의 화면내 예측 시, 원본 영상 픽셀 데이터의 각각의 가로 방향과 세로 방향에서의 각 라인의 픽셀 간 차이가 가장 큰 위치를 이용해 방향성을 예측하여 각각의 상기 가로 방향과 세로 방향에 대해 최적의 화면내 예측 Angular 모드를 결정한다.
바람직하게는, 본 발명의 화면내 예측 Angular 모드 결정 방법은, 메모리로부터 원본 영상 픽셀 데이터를 판독하는 단계; 이전의 원본 영상 픽셀 데이터와 새로 판독되는 원본 영상 픽셀 데이터에 대해 뺄셈 연산을 수행하고, 연산 결과 픽셀 간 차이 값과 그 위치를 저장하는 단계; 후속하여 새로운 원본 영상 픽셀 데이터가 입력되면 저장된 상기 차이 값과 새로 구해진 차이 값을 비교하여 더 큰 값 및 그 위치를 업데이트하는 단계; 각각의 인접한 라인들에서 가장 큰 픽셀 간 차이 값을 갖는 위치의 포인터 간 차이를 구하는 연산을 수행하여 연산 결과 포인터 간 차이 값을 각각의 값들에 대해 카운팅하는 단계; 최대 카운팅 수와 소정의 임계 값을 비교하여 비교 결과에 따라 예측 단위에서의 특정 방향에 대한 최적의 화면내 예측 Angular 모드를 선택하는 단계를 포함한다.
상술한 바와 같이, 본 발명에 의한 효율적인 화면내 예측 Angular 모드 결정 시스템 및 방법은 가로 방향과 세로 방향에서 픽셀의 차이를 통해 가장 차이가 많이 나는 위치를 도출한 뒤 방향성을 예측하여 Angular 모드를 효율적으로 선택하여 연산량과 연산 시간을 감소시켰다.
도 1은 HEVC의 화면내 예측의 일반적인 과정을 개괄적으로 나타낸 흐름도이다.
도 2는 HEVC의 화면내 예측 모드 중 하나인 Angular 모드가 지원하는 다양한 방향을 나타낸 모식도이다.
도 3은 본 발명의 바람직한 실시예에 따른 화면내 예측 Angular 모드 결정 시스템의 전체 구성을 개략적으로 나타낸 블록도이다.
도 4는 본 발명의 바람직한 실시예에 따라 화면내 예측 Angular 모드를 결정하기 위한 원본 영상 픽셀 데이터의 연산 과정을 나타낸 모식도이다.
도 5는 본 발명의 일 실시예에 따라 5×5 블록 크기의 예측 단위에 대한 세로 방향의 화면내 예측 Angular 모드를 결정하기 위한 연산 과정을 예로서 나타낸 모식도이다.
도 6은 본 발명의 바람직한 실시예에 따라 화면내 예측 Angular 모드를 결정하기 위한 원본 영상 픽셀 데이터의 병렬 처리 과정을 나타낸 모식도이다.
도 7은 본 발명의 바람직한 실시예에 따른 화면내 예측 Angular 모드 결정 방법의 전체 과정을 개략적으로 나타낸 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.
이하 본 발명의 효율적인 화면내 예측 Angular 모드 결정 시스템에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 3은 본 발명의 바람직한 실시예에 따른 화면내 예측 Angular 모드 결정 시스템의 전체 구성을 개략적으로 나타낸 블록도이다.
도 3에 도시된 바와 같이, 본 발명의 바람직한 실시예에 따른 화면내 예측 Angular 모드 결정 시스템은 메모리(Memory_ctrl, 100) 및 Angular 모드 선택 모듈(Intra_top, 200)을 포함하여 이루어진다.
메모리(100)는 가로 방향과 세로 방향에 대한 원본 영상 픽셀 데이터를 저장한다. 이때, 메모리(100)는 가로 방향에 대한 메모리(W_mem_ctrl, 110)와 세로 방향에 대한 메모리(H_mem_ctrl, 120)를 별개로 구성하는 것이 바람직한데, 이는 양자에 대한 메모리를 하나의 메모리로 사용하게 되면 세로 방향에 대한 모드 결정을 진행할 때 원본 영상 픽셀 데이터를 유지하기 위해 면적이 커지는 단점이 있기 때문이다. 본 발명의 바람직한 실시예에 따른 각 메모리(110 및 120)에서의 원본 영상 픽셀 값들은 후술하는 Angular 모드 선택 모듈(200)의 입력으로 사용된다.
Angular 모드 선택 모듈(200)은 각각의 가로 방향과 세로 방향에 대한 최적의 화면내 예측 Angular 모드를 결정하기 위해 가로 방향에 대한 Angular 모드 선택 모듈(W_ctrl, 210)과 세로 방향에 대한 Angular 모드 선택 모듈(H_ctrl, 220)로 구성되는 것이 바람직하며, 각 Angular 모드 선택 모듈(210 및 220)은 먼저 각각 가로 방향과 세로 방향에 대한 원본 영상 픽셀 데이터가 저장된 각각의 가로 방향 메모리(110) 및 세로 방향 메모리(120)로부터 원본 영상 픽셀 데이터를 받아온 후, 받아온 원본 영상 픽셀 데이터에 대해 아래에서 도 4 및 도 5에 대하여 상세하게 설명될, 본 발명에 개시되는 화면내 예측 Angular 모드 결정 알고리즘을 적용하여 각각의 가로 방향과 세로 방향에 대한 최적의 화면내 예측 Angular 모드를 결정하게 된다.
도 4는 본 발명의 바람직한 실시예에 따라 화면내 예측 Angular 모드를 결정하기 위한 원본 영상 픽셀 데이터의 연산 과정을 나타낸 모식도이다.
도 4를 참조하여, 먼저 Angular 모드 선택 모듈(200)의 입력부(201)는 각 방향에 대한 메모리(100)로부터의 원본 영상 픽셀 데이터(Origin_pixel)를 입력받으며, 입력된 원본 영상 픽셀 데이터를 픽셀 레지스터(202)에 저장할 수 있다. 그 다음 비교부(203)가 픽셀 레지스터(202)에 저장된 이전 원본 영상 픽셀 데이터와 새로 입력되는 그에 인접한 원본 영상 픽셀 데이터에 대해 뺄셈 연산을 수행하고, 연산 결과 인접한 픽셀 간 차이 값과 그 위치를 값 레지스터(204)와 위치 레지스터(205)에 저장한다. 이때, 최소화된 레지스터의 사용을 위해 비교기를 이용하여 하나의 레지스터만 사용하는 것이 바람직하다. 그 후 입력부(201)로 새로운 원본 영상 픽셀 데이터가 입력되면, 비교부(203)는 값 레지스터(204)에 저장된 픽셀 간 차이 값과 새로 구해진 픽셀 간 차이 값을 비교하여 더 큰 값 및 그 위치를 각각 값 레지스터(204)와 위치 레지스터(205)에 저장하여 업데이트하게 되며, 이에 따라 하나의 예측 단위(Prediction Unit, PU)에서 특정 방향에서의 하나의 라인에 대한 모든 픽셀 데이터 값에 대한 연산이 끝나게 되면 값 레지스터(204)와 위치 레지스터(205)에는 해당 라인에서의 가장 큰 픽셀 간 차이 값과 그 위치가 저장되게 된다.
그 다음 Angular 모드 선택 모듈(200)의 모드 선택부(미도시)는 다시 하나의 라인에서 가장 큰 픽셀 간 차이 값을 갖는 것으로 결정된 위치의 포인터(즉, 하나의 라인에 대한 모든 픽셀 데이터 값에 대한 연산이 끝난 후 위치 레지스터(205)에 저장된 위치의 포인터)와 그에 인접한 라인에서 가장 큰 픽셀 간 차이 값을 갖는 것으로 결정된 위치의 포인터(즉, 그에 인접한 라인에 대한 모든 픽셀 데이터 값에 대한 연산이 끝난 후 위치 레지스터(205)에 저장된 위치의 포인터)에 대해 뺄셈 연산을 수행하고, 연산 결과 인접한 라인별 포인터 간 차이 값이 소정의 값들에 해당하는 경우들을 각각 카운팅한다.
마지막으로 Angular 모드 선택 모듈(200)의 모드 선택부는 카운팅된 수들 중 최대 카운팅 수를 실험에 의해 정해진 각 예측 모드에 대한 소정의 임계 값과 비교하여 그 결과에 따라 하나의 예측 단위에서 각각의 가로 방향과 세로 방향에 대한 화면내 예측 Angular 모드를 결정한다.
도 5는 본 발명의 일 실시예에 따라 5×5 블록 크기의 예측 단위에 대한 세로 방향의 화면내 예측 Angular 모드를 결정하기 위한 연산 과정을 예로서 나타낸 모식도이다. 이러한 연산 과정은 본 출원에서 세로 방향에 대해서만 설명하지만, 가로 방향에 대해서도 동일할 것이다.
도 5를 참조하여, 5×5 블록 크기의 PU에서 세로 방향으로의 라인을 나눈다고 가정하면, 본 발명의 Angular 모드 선택 모듈(200)은 먼저 도 5에서 (1) 내지 (5)로 나뉜 각 세로 라인들에 대해 인접한 픽셀 간 차이를 구하는 연산을 수행하여 가장 큰 픽셀 간 차이 값을 가지는 위치를 구한다. 도 5에서 예로서 각 세로 라인들에서 가장 큰 픽셀 간 차이 값을 갖는 위치를 화살표로 나타냈다.
그 다음 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이 될 것이다.
최종적으로 Angular 모드 선택 모듈(200)은 카운팅 수들 중 최대 카운팅 수(본 예에서는 '1'의 값에 대한 카운팅 수 3)를 실험에 의해 정해진 각 예측 모드에 대한 소정의 임계 값과 비교하여 그 결과에 따라 5×5 블록 크기의 해당 PU에서의 세로 방향에 대한 화면내 예측 Angular 모드를 결정한다.
이와 같이, 본 발명은 도 5에 도시된 바와 같은 과정을 통해 각각의 가로 방향과 세로 방향에 대한 화면내 예측 Angular 모드를 결정함으로써 종래 기술에 비해 연산량과 연산 시간을 상당히 감소할 수 있다.
도 6은 본 발명의 바람직한 실시예에 따라 화면내 예측 Angular 모드를 결정하기 위한 원본 영상 픽셀 데이터의 병렬 처리 과정을 나타낸 모식도이다.
본 발명의 화면내 예측 Angular 모드 결정 시스템은 4×4 크기의 블록부터 64×64 크기의 블록까지 모두 지원하며, 위에서 도 4 및 도 5에 대하여 설명한 원본 영상 픽셀 데이터의 연산 과정을 통해 분할된 블록들 각각에 대한 Angular 모드 결정을 병렬적으로 처리 가능하다.
도 6을 참조하여, 우선 빨간색으로 표시된 64×4 크기의 예측 블록까지 원본 영상 픽셀 데이터가 처리되면 한 라인의 4×4 블록의 Angular 모드가 출력된다. 그리고 64×8 크기의 예측 블록까지 영상 픽셀 데이터 처리가 진행이 되면 4×4, 8×8 블록의 Angular 모드가 병렬적으로 결정된다. 이러한 방식으로 마지막 원본영상 픽셀 데이터까지 입력이 되고 Angular 모드가 결정되면 4×4 크기의 예측 블록부터 64×64 크기의 예측 블록까지 Angular 모드가 병렬적으로 결정된다.
블록 크기 하나의 라인에서의 Angular 모드들의 수 총계
4×4 16 256
8×8 8 64
16×16 4 16
32×32 2 4
64×64 1 1
표 1은 블록 크기에 따른 Angular 모드들의 수를 나타내며 가로 방향과 세로 방향의 출력 모드들의 수는 동일하다. 4×4 블록을 예로 들면, 64×4 블록에서 하나의 라인에 대한 Angular 모드들의 출력 개수는 16개이다. 64×64 블록을 모두 처리하게 되면 4×4 블록 크기에 대한 총 모드들의 수는 256개가 된다. 나머지 블록 크기에 대한 모드들의 수는 위 표와 같다.
그러면, 여기서 상기와 같이 구성된 시스템을 이용한 본 발명의 효율적인 화면내 예측 Angular 모드 결정 방법에 대해 설명하기로 한다. 이를 상세히 설명하면 다음과 같다.
도 7은 본 발명의 바람직한 실시예에 따른 화면내 예측 Angular 모드 결정 방법의 전체 과정을 개략적으로 나타낸 흐름도이다.
도 7을 참조하여, 먼저 Angular 모드 선택 모듈(200)의 입력부(201)가 각 방향에 대한 메모리(110 및 120)로부터 원본 영상 픽셀 데이터(Origin_pixel)를 판독한다(S710). 이때, 입력부(201)는 판독된 원본 영상 픽셀 데이터를 픽셀 레지스터(202)에 저장할 수 있다.
그 다음 Angular 모드 선택 모듈(200)의 비교부(203)가 픽셀 레지스터(202)에 저장된 이전 원본 영상 픽셀 데이터와 새로 입력되는 그에 인접한 원본 영상 픽셀 데이터에 대해 뺄셈 연산을 수행하고, 연산 결과 인접한 픽셀 간 차이 값과 그 위치를 값 레지스터(204)와 위치 레지스터(205)에 저장한다(S720).
그 후 계속해서 입력부(201)로 새로운 원본 영상 픽셀 데이터가 입력되어 단계들 S710 및 S720이 수행되면, 비교부(203)는 값 레지스터(204)에 저장된 픽셀 간 차이 값과 새로 구해진 픽셀 간 차이 값을 비교하여 더 큰 값 및 그 위치를 각각 값 레지스터(204)와 위치 레지스터(205)에 저장하여 업데이트한다(S730). 이에 따라 하나의 PU에서 특정 방향에서의 하나의 라인에 대한 모든 픽셀 데이터 값에 대해 단계들 S710 내지 S730이 수행되면, 값 레지스터(204)와 위치 레지스터(205)에는 해당 라인에서의 가장 큰 픽셀 간 가장 큰 차이 값과 그 위치가 저장될 것이다.
그 다음 Angular 모드 선택 모듈(200)의 모드 선택부(미도시)는 하나의 라인에 대한 모든 픽셀 데이터 값에 대해 단계들 S710 내지 S730이 수행되어 결정된 위치의 포인터와 그에 인접한 라인에 대한 모든 픽셀 데이터 값에 대해 단계들 S710 내지 S730이 수행되어 결정된 위치의 포인터에 대해 뺄셈 연산을 수행하고, 연산 결과 인접한 라인별 포인터 간 차이 값이 소정의 값들에 해당하는 경우들을 각각 카운팅한다(S740).
그리고 Angular 모드 선택 모듈(200)의 모드 선택부는 카운팅된 수들 중 최대 카운팅 수를 실험에 의해 정해진 각 예측 모드에 대한 소정의 임계 값과 비교한 후(S750), 그 결과에 따라 하나의 예측 단위에서 각각의 가로 방향과 세로 방향에 대한 화면내 예측 Angular 모드를 결정한다(S760).
기존의 화면내 예측 모드 결정 알고리즘은 35개의 화면내 예측 모드를 모두 고려하여 모드를 결정하는 반면 본 출원에서 제안하는 화면내 예측 Angular 모드 결정 시스템은 상기한 바와 같이 간단한 연산을 통해 그 방향성을 예측하여 모드를 결정하기 때문에 좀 더 빠른 모드 결정이 가능하다. 또한, 효율적인 메모리 관리를 위하여 원본 영상의 가로 방향과 세로 방향에 대한 메모리를 따로 만들어 각 방향에 대한 원본 영상 픽셀을 저장함으로써 하드웨어 면적을 감소시켰다. 그리고, 4×4 블록 크기부터 64×64 크기의 예측 블록까지의 Angular 모드 결정이 병렬적으로 진행됨으로써 마지막 원본 영상 픽셀 데이터가 처리되었을 때 모든 블록 크기에 대한 예측 모드 결정이 진행된다.
실험예
표 2는 HM-16.9 표준 소프트웨어와 제안하는 하드웨어에 적용된 본 발명의 효율적인 화면내 예측 모드 선택 알고리즘의 성능 비교이다. 적용된 알고리즘과 HM-16.9와의 비교 결과 평균적으로 BDPSNR은 0.035 증가하였고, BDBitrate는 0.623 감소, 인코딩 타임은 최대 11.389% 감소로 좋은 결과를 보였다.
본 실험예에서는 표준 소프트웨어와 비교했을 때 좋은 결과를 보인 효율적인 화면내 예측 Angular 모드 결정 알고리즘을 하드웨어 설계에 적용하였다. 기존의 화면내 예측 알고리즘이 아닌 간단한 연산을 통해 방향성을 예측하여 Angular 모드를 결정하는 알고리즘을 하드웨어에 적용함으로써 최소화된 연산기를 사용하였다. 결과적으로 최소화된 연산기의 사용으로 하드웨어 면적을 최소화시켰다. 본 실험예에서 제안하는 하드웨어 구조는 Verilog HDL로 설계되었으며, 65nm 공정을 사용하였다. Synopsys 사의 Design Compiler로 합성하였으며 표 3은 본 실험예에서 제안하는 하드웨어 구조의 합성 결과 및 비교를 나타낸다. 합성 결과 게이트 수는 14.9K이고 최대 동작 주파수는 2GHz이다. 본 실험예의 하드웨어 구조는 표준 소프트웨어 중 게이트 수와 최대 동작 주파수 면에서 가장 좋은 결과를 갖는 기존 소프트웨어들과 비교하였다. 비교 결과 게이트 수는 75% 감소했고 최대 동작 주파수는 622MHz에서 2GHz로 증가하였다.
클래스(Class) 해상도 실험예
BDPSNR BDBitrate △Bitrate(%) △PSNR(%) △TS(%)
4k 3840x2160 0.016 -0.613 -0.663 0.007 7.181
Class A 2560x1600 0.031 -0.518 -0.366 0.023 6.714
Class B 1920x1080 0.027 -0.642 -0.543 0.013 6.112
Class C 832x480 0.039 -0.620 -0.469 0.023 6.043
Class D 416x240 0.042 -0.672 -0.678 0.012 11.389
Class E 1280x720 0.046 -0.848 -0.726 0.019 5.829
Class F 832x480 0.047 -0.449 -0.391 0.016 5.064
평균 - 0.035 -0.623 -0.548 0.016 6.905
실험예 비교예 1 비교예 2
기술(nm) 65 65 90
게이트 수
(Nand 게이트)
14.9K 59.5K 214.1K
지원 블록들 모든 블록 모든 블록 64x64 없음
사이클/64x64 4,100 2,539 15,908
최대 주파수(MHz) 2,000 622 357
스루풋 8K@60fps 8K@30fps 1K@44fps
이상에서 몇 가지 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다.
100 : 메모리
200 : Angular 모드 선택 모듈
201 : 입력부
202 : 픽셀 레지스터
203 : 비교부
204 : 값 레지스터
205 : 위치 레지스터

Claims (6)

  1. 비디오 부호화의 화면내 예측 시, 원본 영상 픽셀 데이터의 각각의 가로(horizontal) 방향과 세로(vertical) 방향에서의 각 라인의 픽셀 간 차이가 가장 큰 위치를 이용해 방향성을 예측하여 각각의 상기 가로 방향과 세로 방향에 대해 최적의 화면내 예측 Angular 모드를 결정하는, 화면내 예측 Angular 모드 결정 시스템.
  2. 청구항 1에서,
    상기 원본 영상 픽셀 데이터를 저장한 메모리; 및
    상기 원본 영상 픽셀 데이터의 최적의 화면내 예측 Angular 모드를 결정하는 Angular 모드 선택 모듈을 포함하되,
    상기 Angular 모드 선택 모듈은:
    상기 메모리로부터 상기 원본 영상 픽셀 데이터를 입력받고 이를 저장하는 입력부,
    상기 픽셀 레지스터에 저장된 이전의 원본 영상 픽셀 데이터와 상기 입력부에 새로 입력되는 원본 영상 픽셀 데이터에 대해 뺄셈 연산을 수행하고, 연산 결과 픽셀 간 차이 값과 그 위치를 저장하며, 계속해서 상기 입력부로 새로운 원본 영상 픽셀 데이터가 입력되면 저장된 상기 차이 값과 새로 구해진 차이 값을 비교하여 더 큰 값 및 그 위치를 업데이트하는 비교부, 및
    각각의 인접한 라인들에서 가장 큰 픽셀 간 차이 값을 갖는 위치의 포인터 간 차이를 구하는 연산을 수행하여 연산 결과 포인터 간 차이 값을 각각의 값들에 대해 카운팅하고, 최대 카운팅 수와 소정의 임계 값을 비교하여 비교 결과에 따라 예측 단위에서의 특정 방향에 대한 최적의 화면내 예측 Angular 모드를 선택하는 모드 선택부를 포함하는, 화면내 예측 Angular 모드 결정 시스템.
  3. 청구항 2에서,
    상기 메모리가 상기 가로 방향과 세로 방향 각각에 대해 별도로 구성되는, 화면내 예측 Angular 모드 결정 시스템.
  4. 청구항 1 내지 3 중 어느 한 항에서,
    소정 크기의 각각의 예측 단위들에 대한 화면내 예측 Angular 모드 결정을 병렬적으로 수행하는, 화면내 예측 Angular 모드 결정 시스템.
  5. 비디오 부호화의 화면내 예측 시, 원본 영상 픽셀 데이터의 각각의 가로 방향과 세로 방향에서의 각 라인의 픽셀 간 차이가 가장 큰 위치를 이용해 방향성을 예측하여 각각의 상기 가로 방향과 세로 방향에 대해 최적의 화면내 예측 Angular 모드를 결정하는, 화면내 예측 Angular 모드 결정 방법.
  6. 청구항 5에서,
    메모리로부터 원본 영상 픽셀 데이터를 판독하는 단계;
    이전의 원본 영상 픽셀 데이터와 새로 판독되는 원본 영상 픽셀 데이터에 대해 뺄셈 연산을 수행하고, 연산 결과 픽셀 간 차이 값과 그 위치를 저장하는 단계;
    후속하여 새로운 원본 영상 픽셀 데이터가 입력되면 저장된 상기 차이 값과 새로 구해진 차이 값을 비교하여 더 큰 값 및 그 위치를 업데이트하는 단계;
    각각의 인접한 라인들에서 가장 큰 픽셀 간 차이 값을 갖는 위치의 포인터 간 차이를 구하는 연산을 수행하여 연산 결과 포인터 간 차이 값을 각각의 값들에 대해 카운팅하는 단계;
    최대 카운팅 수와 소정의 임계 값을 비교하여 비교 결과에 따라 예측 단위에서의 특정 방향에 대한 최적의 화면내 예측 Angular 모드를 선택하는 단계를 포함하는, 화면내 예측 Angular 모드 결정 방법.
KR1020170127806A 2017-09-29 2017-09-29 Hevc 부호기를 위한 효율적인 화면내 예측 모드 결정 시스템 및 방법 KR102050238B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170127806A KR102050238B1 (ko) 2017-09-29 2017-09-29 Hevc 부호기를 위한 효율적인 화면내 예측 모드 결정 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170127806A KR102050238B1 (ko) 2017-09-29 2017-09-29 Hevc 부호기를 위한 효율적인 화면내 예측 모드 결정 시스템 및 방법

Publications (2)

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

Family

ID=66164649

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170127806A KR102050238B1 (ko) 2017-09-29 2017-09-29 Hevc 부호기를 위한 효율적인 화면내 예측 모드 결정 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102050238B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114205614A (zh) * 2021-12-16 2022-03-18 福州大学 一种基于hevc标准的帧内预测模式并行硬件方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101247043B1 (ko) * 2011-06-07 2013-03-25 한양대학교 산학협력단 고속 화면내 예측 방법
KR101373670B1 (ko) * 2011-11-04 2014-03-14 연세대학교 산학협력단 인트라 예측 방법 및 장치
KR101378434B1 (ko) * 2012-10-19 2014-03-27 한양대학교 산학협력단 고속 화면내 예측 모드 결정 방법
KR20140056599A (ko) 2012-10-30 2014-05-12 광주과학기술원 Hevc 예측 모드 결정 방법 및 장치
KR101621358B1 (ko) 2015-04-16 2016-05-17 아주대학교 산학협력단 Hevc 부호화 장치 및 그 인트라 예측 모드 결정 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101247043B1 (ko) * 2011-06-07 2013-03-25 한양대학교 산학협력단 고속 화면내 예측 방법
KR101373670B1 (ko) * 2011-11-04 2014-03-14 연세대학교 산학협력단 인트라 예측 방법 및 장치
KR101378434B1 (ko) * 2012-10-19 2014-03-27 한양대학교 산학협력단 고속 화면내 예측 모드 결정 방법
KR20140056599A (ko) 2012-10-30 2014-05-12 광주과학기술원 Hevc 예측 모드 결정 방법 및 장치
KR101621358B1 (ko) 2015-04-16 2016-05-17 아주대학교 산학협력단 Hevc 부호화 장치 및 그 인트라 예측 모드 결정 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114205614A (zh) * 2021-12-16 2022-03-18 福州大学 一种基于hevc标准的帧内预测模式并行硬件方法
CN114205614B (zh) * 2021-12-16 2023-08-04 福州大学 一种基于hevc标准的帧内预测模式并行硬件方法

Also Published As

Publication number Publication date
KR102050238B1 (ko) 2019-11-29

Similar Documents

Publication Publication Date Title
US10812821B2 (en) Video encoding and decoding
RU2722536C1 (ru) Вывод опорных значений режима и кодирование и декодирование информации, представляющей режимы предсказания
US8917757B2 (en) Video processing system and device with encoding and decoding modes and method for use therewith
US8265136B2 (en) Motion refinement engine for use in video encoding in accordance with a plurality of sub-pixel resolutions and methods for use therewith
EP1942675B1 (en) Motion refinement engine with a plurality of cost calculation methods for use in video encoding and methods for use therewith
EP2076046A2 (en) Configurable performance motion estimation for video encoding
GB2483294A (en) Motion estimation of video data coded according to a scalable coding structure
GB2505728A (en) Inter-layer Temporal Prediction in Scalable Video Coding
EP1942677A2 (en) Motion refinement engine with selectable partitionings for use in video encoding and methods for use therewith
EP1942676A2 (en) Motion refinement engine with shared memory for use in video encoding and methods for use therewith
KR20190037946A (ko) Hevc 부호기를 위한 효율적인 화면내 예측 모드 결정 시스템 및 방법
Yin Algorithm and VLSI Architecture Design for MPEG-Like High Definition Video Coding‐AVS Video Coding from Standard Specification to VLSI Implementation
GB2511288A (en) Method, device, and computer program for motion vector prediction in scalable video encoder and decoder
Ai et al. A novel inter coding framework for H. 264/AVC on DSP platform
Lin et al. Optimal Frame Level Bit Allocation Based on Game Theory for HEVC Rate Control

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