KR101756582B1 - 병렬 프로세싱을 위한 적응적 타일 분할 방법 및 이를 이용한 비디오 부호화/복호화 방법 - Google Patents

병렬 프로세싱을 위한 적응적 타일 분할 방법 및 이를 이용한 비디오 부호화/복호화 방법 Download PDF

Info

Publication number
KR101756582B1
KR101756582B1 KR1020160013403A KR20160013403A KR101756582B1 KR 101756582 B1 KR101756582 B1 KR 101756582B1 KR 1020160013403 A KR1020160013403 A KR 1020160013403A KR 20160013403 A KR20160013403 A KR 20160013403A KR 101756582 B1 KR101756582 B1 KR 101756582B1
Authority
KR
South Korea
Prior art keywords
complexity
current frame
tile
tiles
coding tree
Prior art date
Application number
KR1020160013403A
Other languages
English (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 포항공과대학교 산학협력단
Application granted granted Critical
Publication of KR101756582B1 publication Critical patent/KR101756582B1/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/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/436Methods 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 using parallelised computational arrangements
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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

Landscapes

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

Abstract

멀티 코어 시스템에서 운용되는 HEVC 복호화기(Decoder)의 병렬화(Parallelization) 성능을 향상시키기 위해 각 타일에 대한 복잡도(Complexity)를 예측하여 적응적으로 타일을 분할하는 방법 및 이를 이용한 비디오 부호화/복호화 방법에 관한 기술이 개시된다. 타일 분할 방법은, 이전 프레임(previous frame)에 포함된 코딩 트리 유닛(coding tree unit)들의 복잡도를 이용하여 현재 프레임(current frame)에 포함된 코딩 트리 유닛들의 복잡도를 추정하는 단계와; 현재 프레임에 포함된 코딩 트리 유닛들의 복잡도에 기반하여 현재 프레임의 복잡도를 획득하는 단계와; 현재 프레임의 복잡도를 고려한 부하 균형(load balance) 및 부호화 효율(coding efficiency)에 기반하여 현재 프레임에 대한 타일 개수 및 타일 구조를 결정하는 단계를 포함한다.

Description

병렬 프로세싱을 위한 적응적 타일 분할 방법 및 이를 이용한 비디오 부호화/복호화 방법{METHOD OF ADAPTIVE TILE PARTITION FOR PARALLEL PROCESSING AND VIDIO ENCODING/DOCODING METHOD USNG THE ADAPTIVE TILE PARTITION}
본 발명은 비디오 부호화/복호화에 관한 것으로, 더욱 상세하게는 멀티 코어 시스템에서 운용되는 HEVC 복호화기(Decoder)의 병렬화(Parallelization) 성능을 향상시키기 위해 각 타일에 대한 복잡도(Complexity)를 예측하여 적응적으로 타일을 분할하는 방법 및 이를 이용한 비디오 부호화/복호화 방법에 관한 것이다.
Joint Collaborative Team on Video Coding(JCT-VC)에서는 High Efficiency Video Coding(HEVC) 표준을 개발하였다. HEVC는 3840×2160 해상도와 120 초당 프레임 수(Frame per second)를 갖는 Ultra HD급 고해상도 영상을 지원할 수 있다.
또한, HEVC는 압축 효율을 H.264/AVC에 비해 50% 증가시키는 것을 목적으로 하고 있다. 그러나, 이를 이루기 위해서는 상당한 양의 계산 작업이 요구된다.
한편, HEVC는 60 초당 프레임 수 보다 높은 Ultra HD 급의 해상도를 큰 부호화 손실 없이 실시간으로 지원하기 위해서 병렬화를 기반으로 한 타일(Tile) 및 Wavefront Parallel Processing(WPP) 기법 등을 제안하였다. WPP 기법은 Coding Tree Block(CTB) 행 당 하나의 화면 분할(Picture partition)을 정의한다.
반면에, 타일 기법은 하나의 화면을 수직·수평 경계를 이용하여 여러 개의 직사각형 CTB 집합으로 분할한다. 현재의 타일 분할 기법에서는 균일(Uniform) 분할 방법으로 타일을 분할할 수 있다. 즉, 균일 분할 방법은 부호화기에 의해 각 타일 내의 Coding Tree Unit(CTU) 개수가 동일하게 분배할 수 있다.
그러나, 균일 분할 방법을 이용하여 같은 크기의 타일들을 각 코어 별로 할당할 경우 각 타일은 서로 다른 내용과 서로 다른 복잡도를 갖고 있기 때문에 타일을 복호함에 있어 코어들 사이의 부하 불균형 문제가 발생할 수 있다. 따라서, 이러한 문제는 멀티 코어 시스템의 이용률(Utilization) 감소를 야기할 수 있는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 복호화기 병렬화 성능 저하의 문제를 극복할 수 있는 적응적 타일 분할 방법을 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 복호화기 병렬화 성능 저하의 문제를 극복할 수 있는 적응적 타일 분할 방법을 이용한 비디오 부호화 방법을 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 또 다른 목적은, 복호화기 병렬화 성능 저하의 문제를 극복할 수 있는 적응적 타일 분할 방법을 이용한 비디오 복호화 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 실시예에 따른 타일 분할 방법은, 이전 프레임(previous frame)에 포함된 코딩 트리 유닛(coding tree unit)들의 복잡도를 이용하여 현재 프레임(current frame)에 포함된 코딩 트리 유닛들의 복잡도를 추정하는 단계와; 현재 프레임에 포함된 코딩 트리 유닛들의 복잡도에 기반하여 현재 프레임의 복잡도를 획득하는 단계와; 현재 프레임의 복잡도를 고려한 부하 균형(load balance) 및 부호화 효율(coding efficiency)에 기반하여 현재 프레임에 대한 타일 개수 및 타일 구조를 결정하는 단계를 포함한다.
여기에서, 상기 현재 프레임에 포함된 코딩 트리 유닛들의 복잡도를 추정하는 단계는, 이전 프레임에 포함된 코딩 트리 유닛들에 대한 비트량을 이용하여 현재 프레임에 포함된 코딩 트리 유닛들의 복잡도를 추정할 수 있다.
여기에서, 상기 현재 프레임의 복잡도를 획득하는 단계는, 현재 프레임에 포함된 코딩 트리 유닛들의 복잡도를 좌표에 따라 행렬로 표현할 수 있다.
여기에서, 상기 현재 프레임에 대한 타일 개수 및 타일 구조를 결정하는 단계는, 타일 개수가 증가함에 따라 부하 균형이 개선되고, 부호화 효율이 저하되는 상관 관계에 기초하여 현재 프레임에 대한 타일 개수 및 타일 구조를 결정할 수 있다.
여기에서, 상기 현재 프레임에 대한 타일 개수 및 타일 구조를 결정하는 단계는, 현재 프레임에 대한 복잡도의 최대값과 최소값의 차이를 기준으로 부하 균형(load balance)을 평가할 수 있다.
상기 다른 목적을 달성하기 위한 본 발명의 실시예에 따른 비디오 부호화 방법은, 이전 프레임(previous frame)에 포함된 코딩 트리 유닛(coding tree unit)들의 복잡도를 이용하여 추정된 현재 프레임(current frame)에 포함된 코딩 트리 유닛들의 복잡도에 기반하여 상기 현재 프레임의 복잡도를 획득하는 단계와; 현재 프레임의 복잡도를 고려한 부하 균형(load balance) 및 부호화 효율(coding efficiency)에 기반하여 현재 프레임에 대한 타일 개수 및 타일 구조를 결정하는 단계와; 현재 프레임에 대한 타일 개수 및 타일 구조에 따른 부호화를 수행하여 비트스트림을 생성하는 단계를 포함한다.
상기 또 다른 목적을 달성하기 위한 본 발명의 실시예에 따른 비디오 복호화 방법은, 부호화된 비트스트림을 수신하는 단계와; 부호화된 비트스트림으로부터 현재 프레임(current frame)의 복잡도를 반영한 타일 정보를 획득하는 단계와; 타일 정보에 따라 현재 프레임에 대한 타일 개수 및 타일 구조를 산출하는 단계와; 현재 프레임에 대한 타일 개수 및 타일 구조에 따라 멀티 코어에 타일에 대한 복호화를 할당하는 단계를 포함한다.
여기에서, 상기 현재 프레임(current frame)의 복잡도는, 이전 프레임(previous frame)에 포함된 코딩 트리 유닛(coding tree unit)들의 복잡도를 이용하여 추정된 현재 프레임에 포함된 코딩 트리 유닛들의 복잡도를 좌표에 따라 행렬로 표현함으로써 산출될 수 있다.
여기에서, 상기 현재 프레임에 포함된 코딩 트리 유닛들의 복잡도는, 이전 프레임에 포함된 코딩 트리 유닛들에 대한 비트량을 이용하여 추정될 수 있다.
여기에서, 상기 현재 프레임에 대한 타일 개수 및 타일 구조는, 현재 프레임의 복잡도를 고려한 부하 균형(load balance) 및 부호화 효율(coding efficiency)에 기반하여 결정될 수 있다.
여기에서, 상기 현재 프레임에 대한 타일 개수 및 타일 구조는, 타일 개수가 증가함에 따라 부하 균형(load balance)이 개선되고, 부호화 효율(coding efficiency)이 저하되는 상관 관계에 기초하여 결정될 수 있다.
여기에서, 상기 현재 프레임에 대한 타일 개수 및 타일 구조는, 현재 프레임에 대한 복잡도의 최대값과 최소값의 차이를 기준으로 부하 균형(load balance)을 평가함으로써 산출될 수 있다.
상기와 같은 본 발명의 실시예에 따른 병렬 프로세싱을 위한 적응적 타일 분할 방법 및 이를 이용한 비디오 부호화/복호화 방법은 균등한 코어 작업량 할당을 통해 복호화 시간을 단축시킴과 동시에 부호화 효율을 향상시킬 수 있다.
또한, 종래 HEVC 복호화기의 균일 타일 분할 방법에 따른 병렬화 성능 저하의 문제를 해결할 수 있다.
도 1은 균일하게 분할된 타일 구조를 가지는 프레임을 설명하기 위한 예시도이다.
도 2는 균일하게 분할된 타일 구조를 가지는 프레임에 대한 타일 별 복호화 시간을 나타내는 그래프이다.
도 3은 본 발명의 실시예에 따라 복잡도에 기반하여 비균일하게 분할된 타일 구조를 가지는 프레임을 설명하기 위한 예시도이다.
도 4는 균일하게 분할된 타일 구조를 가지는 프레임과 복잡도에 기반하여 비균일하게 분할된 타일 구조를 가진 프레임에 대한 복호화 시간을 비교하여 나타내는 그래프이다.
도 5는 부호화된 비트량에 따른 코딩 트리 유닛에 대한 복호화 시간을 나타내는 그래프이다.
도 6은 프레임을 구성하는 타일의 개수에 따른 최대 신호 대 잡음비(Peak Signal-to-Noise Ratio, PSNR)을 나타내는 그래프이다.
도 7은 본 발명의 실시예에 따라 멀티 코어에 할당할 프레임의 타일 개수 및 타일 구조를 결정하는 알고리즘을 설명하기 위한 예시도이다.
도 8은 본 발명의 실시예에 따른 병렬 프로세싱을 위한 적응적 타일 분할을 이용한 비디오 부호화 방법을 설명하기 위한 흐름도이다.
도 9는 본 발명의 실시예에 따른 병렬 프로세싱을 위한 적응적 타일 분할을 이용한 비디오 복호화 방법을 설명하기 위한 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서 후술할 영상 부호화 장치(Video Encoding Apparatus), 영상 복호화 장치(Video Decoding Apparatus)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 통신 단말기(Wireless Communication Terminal), 스마트폰(Smart Phone), TV 응용 서버와 서비스 서버 등 서버 단말기일 수 있으며, 각종 기기 또 등과 같은 사용자 단말기이거나 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호화하거나 부호화 또는 복호화를 위해 화면간 또는 화면내 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미할 수 있다.
또한, 영상 부호화 장치에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등과 같은 다양한 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.
통상적으로 동영상은 일련의 픽쳐(Picture) 또는 프레임(frame)로 구성될 수 있으며, 각 픽쳐들은 유닛(unit), 블록(Block)과 같은 소정의 영역으로 분할될 수 있다. 영상의 영역이 블록으로 분할되는 경우에는 분할된 블록은 부호화 방법에 따라 크게 인트라 블록(Intra Block), 인터 블록(Inter Block)으로 분류될 수 있다. 인트라 블록은 화면 내 예측 부호화(Intra Prediction Coding) 방식을 사용하여 부호화되는 블록을 뜻하는데, 화면 내 예측 부호화란 현재 부호화를 수행하는 현재 픽쳐 내에서 이전에 부호화되고 복호화되어 복원된 블록들의 화소를 이용하여 현재 블록의 화소를 예측함으로써 예측 블록을 생성하고 현재 블록의 화소와의 차분값을 부호화하는 방식이다. 인터 블록은 화면 간 예측 부호화(Inter Prediction Coding)를 사용하여 부호화되는 블록을 뜻하는데, 화면 간 예측 부호화란 하나 이상의 과거 픽쳐 또는 미래 픽쳐를 참조하여 현재 픽쳐 내의 현재 블록을 예측함으로써 예측 블록을 생성하고 현재 블록과의 차분값을 부호화하는 방식이다. 여기서, 현재 픽쳐를 부호화하거나 복호화하는데 참조되는 프레임을 참조 프레임(Reference Frame)이라고 한다. 또한, 이하에 기재된 "픽쳐(picture)"이라는 용어는 영상(image), 프레임(frame) 등과 같은 동등한 의미를 갖는 다른 용어로 대치되어 사용될 수 있음을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 또한, 본 발명에 있어서 참조가 되는 픽쳐는 복원된 픽쳐를 의미하는 것은 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
더 나아가, 블록(block)이라는 용어는 HEVC 표준의 코딩 트리 유닛(Coding Tree Unit, CTU), 코딩 유닛(Coding Unit, CU), 예측 유닛(Prediction Unit, PU) 및 변환 유닛(Transform Unit, TU)을 포함하는 개념일 수 있다. 예를 들어, CTU가 64×64일 때, 이를 네 개의 32×32 블록으로 분할하여 부호화할 수 있는데, 이 때 각각의 32×32 블록이 CU에 해당할 수 있다.
또한, HEVC의 타일(tile)은 병렬 인코딩 및 디코딩을 지원하기 위해 도입된 개념이다. 타일은 프레임을 분할하는 개념으로 CTU 단위를 경계로 분할될 수 있다. 즉, 타일은 동시에 인코딩하거나 디코딩할 수 있는 영역을 의미하는 것으로, 타일이 사용된 경우 각 분할 영역에서 발생한 비트들이 서브 비트스트림으로 표현되고, 각 서브 비트스트림의 시작 위치가 슬라이스 헤더를 통하여 전송되기 때문에, 타일을 사용한 경우 엔트로피 복호화 부분에 대해서도 병렬 처리가 가능하다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 균일하게 분할된 타일 구조를 가지는 프레임을 설명하기 위한 예시도이고, 도 2는 균일하게 분할된 타일 구조를 가지는 프레임에 대한 타일 별 복호화 시간을 나타내는 그래프이다.
도 1을 참조하면, 프레임은 균일한 사이즈의 타일로 분할될 수 있다. 예를 들어, 하나의 프레임은 네 개의 타일로 분할될 수 있고, 각각의 타일의 사이즈는 동일할 수 있다.
여기서, 네 개의 타일 각각을 Tile 0, Tile 1, Tile 2 및 Tile 3으로 명명할 수 있다. Tile 0, Tile 1, Tile 2 및 Tile 3 중에서 Tile 3이 가장 복잡도가 낮은 화소 구성을 가지는 것을 알 수 있다.
프레임을 분할한 타일은 멀티 코어에 각각 할당되어 처리될 수 있다. 예를 들어, Tile 0, Tile 1, Tile 2 및 Tile 3은 각각 서로 다른 코어에 할당되어 복호화될 수 있다.
도 2를 참조하면, 각 타일에 대한 복호화 시간(Decoding time)을 알 수 있다.
상세하게는, 도 2에서 구획된 영역(20)을 살펴보면, Tile 3의 복호화 시간이 다른 타일들에 비해 매우 짧은 것을 알 수 있으며, 이는 Tile 3이 다른 타일들과 해 비교적 간단한 이미지를 가지고 있어 복호화 복잡도가 비교적 낮기 때문이다.
이러한 경우, Tile 3을 복호화한 코어는 나머지 코어들이 다른 타일들에 대한 복호화를 완료할 때까지 기다려야 하며, 이는 HEVC 병렬 복호화 성능을 저하시키는 원인이 된다.
따라서, 본 발명에서는 종래의 균일 타일 분할 방법이 가지는 병렬화 성능 저하 문제를 해결하고자 비균일(Non-uniform) 타일 분할 방법을 이용하여 분할된 타일들을 멀티 코어에 할당함으로써, 각 코어에 보다 균등한 작업량(Workload)를 할당하고자 한다.
비균일 타일 분할 방법을 이용하여 각 코어에 균등한 작업량을 할당하는 본 발명은 이하에서 구체적으로 설명하도록 한다.
도 3은 본 발명의 실시예에 따라 복잡도에 기반하여 비균일하게 분할된 타일 구조를 가지는 프레임을 설명하기 위한 예시도이고, 도 4는 균일하게 분할된 타일 구조를 가지는 프레임과 복잡도에 기반하여 비균일하게 분할된 타일 구조를 가진 프레임에 대한 복호화 시간을 비교하여 나타내는 그래프이다.
도 3을 참조하면, 본 발명의 실시예에 따르면, 프레임은 화소의 복잡도에 기반하여 비균일한 크기의 타일로 분할될 수 있다.
상세하게는, 프레임은 영역 별로 상이한 복잡도를 가지는 화소 분포를 가질 수 있다. Tile 0, Tile 1, Tile 2 및 Tile 3 중에서 Tile 0과 Tile 2의 복잡도가 상대적으로 높은 것을 알 수 있다.
따라서, 본 발명의 실시예에 따른 비균일 타일 분할 방법은 Tile 0과 Tile 2의 크기를 Tile 1과 Tile 3 보다 상대적으로 작게 설정하여 분할할 수 있다.
도 4는 도 1과 같이 균일 분할한 타일 구조에 따른 복호화 시간(41)과 도 3과 같이 비균일 분할한 타일 구조에 따른 복호화 시간(42)을 나타낸다.
도 4를 참조하면, 도 1과 같이 균일 분할한 타일 구조에 따른 복호화 시간(41)은 약 11800??sec이고, 도 3과 같이 비균일 분할한 타일 구조에 따른 복호화 시간(42)은 약 8300??sec인 것을 알 수 있다. 즉, 비균일 분할한 타일 구조에 따라 타일을 분할하여 ?F티 코어에 할당한 경우에, 약 29%의 시간을 감축시킬 수 있다.
따라서, 도 3과 같이 비균일 분할한 타일 구조에 따라 멀티 코어에 타일을 할당한 경우에, 각 코어에 보다 균등한 작업량(Workload)를 할당함으로써, 복호화 시간을 줄일 수 있다.
본 발명의 실시예에 따르면, 각 타일에 대한 복잡도를 예측하고, 이를 기반으로 부하 균형(load balance)과 부호화 효율(coding efficiency)을 고려하여 각 코어에 할당할 타일 개수 및 타일의 구조를 제어할 수 있다.
도 5는 부호화된 비트량에 따른 코딩 트리 유닛에 대한 복호화 시간을 나타내는 그래프이다.
본 발명의 실시예에 따르면, 멀티코어 시스템의 성능을 향상시키기 위해 부하 균형을 고려한 비균일 타일 분할 알고리즘을 이용할 수 있다. 특히, 보다 빠른 알고리즘을 설계하기 위해 각 타일에 대한 작업량(Workload)를 예측할 수 있다.
도 5는 하나의 CTU의 부호화된 비트(encoded bits) 량과 복호화 시간 사이의 관계를 나타내고, 이러한 관계(모델)는 다음의 수학식 1과 같이 표현될 수 있다.
Figure 112016011664515-pat00001
상기 수학식 1에서,
Figure 112016011664515-pat00002
는 하나의 CTU의 부호화된 비트량을 나타내고, ?扇? ?少? 모델 매개 변수(Model parameter)를 나타낼 수 있다.
여기서, 모델 매개변수 α와 β는 매 프레임 마다 업데이트될 수 있고, 현재 프레임을 기준으로 이전의 Nwnd개 프레임들의 CTU 데이터를 수집한 뒤 오차 함수(Error function)를 최소화하도록 업데이트될 수 있다.
여기서, 오차함수는 다음 수학식 2와 같이 정의할 수 있다.
Figure 112016011664515-pat00003
상기 수학식 2에서,
Figure 112016011664515-pat00004
은 n번째 프레임에 대한 가중치 계수이며,
Figure 112016011664515-pat00005
은 n번째 프레임에서 i번째 열과 j번째 행에 해당하는 CTU의 복호화 시간을 의미할 수 있다.
예를 들어, 복호화기(Decoder)가 부호화기(Encoder)에게 프레임 단위의 모델 매개 변수를 알려줌으로써, 부호화기는 상술한 수학식 1을 이용하여 CTU의 복잡도를 예측할 수 있다.
또한, 복호화기가 부호화기에게 아무런 모델 매개 변수를 알려주지 않을 경우도, 부호화기는 시스템 실행 이전에 모델 매개 변수에 대한 프로파일링(Profiling) 정보를 통해 CTU의 복잡도를 예측할 수 있다.
특히, 현재 프레임의 CTU들의 복잡도는 이전 프레임의 CTU들 복잡도와 유사할 수 있다.
따라서, n번째 프레임의 i번째 열과 j번째 행에 해당하는 CTU의 복잡도는 이전 n-1번째 프레임의 비트량(
Figure 112016011664515-pat00006
)을 이용하여 계산할 수 있고, 이는 다음의 수학식 3과 같이 표현될 수 있다.
Figure 112016011664515-pat00007
따라서, n번째 프레임의 복잡도 행렬(Complexity matrix)은 다음의 수학식 4과 같이 정의될 수 있다.
Figure 112016011664515-pat00008
도 6은 프레임을 구성하는 타일의 개수에 따른 최대 신호 대 잡음비(Peak Signal-to-Noise Ratio, PSNR)을 나타내는 그래프이다.
부하 균형(load balance)과 부호화 효율(Coding efficiency) 사이에는 상관 관계(Tradeoff)가 존재한다.
상세하게는, 멀티 코어 시스템에서 타일 크기를 좀 더 작게 나누면, 보다 공평하게 부하 균형을 맞출 수 있다.
반면에, 도 6을 참조하면, 타일의 크기가 커지면, 부호화 효율(Coding efficiency)은 높아진다. 즉, 타일의 크기가 작아질수록 PSNR이 커지는 것을 알 수 있다.
따라서, 본 발명의 실시예에 따르면, 부하 균형과 부호화 효율의 상관관계를 고려하여 타일의 개수와 타일의 구조를 결정할 수 있다.
본 발명의 실시예에 따른 비균일 타일 분할 방법은, 프레임에 대한 복잡도 행렬(
Figure 112016011664515-pat00009
)을 기반으로 다음의 수학식 5를 최소화는 동시에 다음의 수학식 6을 만족시킴으로써, 프레임 내 타일의 열 개수(
Figure 112016011664515-pat00010
)과 행 개수(
Figure 112016011664515-pat00011
) 및 타일을 나누는 열 좌표(
Figure 112016011664515-pat00012
)와 행 좌표(
Figure 112016011664515-pat00013
)를 결정할 수 있다. .
Figure 112016011664515-pat00014
Figure 112016011664515-pat00015
위 식에서
Figure 112016011664515-pat00016
은 타일의 개수를 의미하며, TH는 목표 임계값(Target threshold)을 의미할 수 있다.
그리고,
Figure 112016011664515-pat00017
Figure 112016011664515-pat00018
는 각각 다음의 수학식 7 및 수학식 8로 계산할 수 있다.
Figure 112016011664515-pat00019
상기 수학식 7에 따르면, n번째 타일의 복잡도는 n번째 타일에 포함된 CTU들의 복잡도의 합으로 나타낼 수 있다.
Figure 112016011664515-pat00020
상기 수학식 8에 따르면, 프레임의 복잡도는 해당 프레임에 포함된 CTU들의 복잡도의 합으로 나타낼 수 있다.
도 7은 본 발명의 실시예에 따라 멀티 코어에 할당할 프레임의 타일 개수 및 타일 구조를 결정하는 알고리즘을 설명하기 위한 예시도이다.
도 7을 참조하여 본 발명의 실시예에 따른 비균일 타일 분할 방법을 실행하는 알고리즘(비균일 타일 분할 알고리즘)을 설명한다.
비균일 타일 분할 알고리즘은 타일 분할의 부하 균형을 계산하기 위해 도 loadImbalance 변수를 정의할 수 있고, 이 변수는
Figure 112016011664515-pat00021
이 주어질 때 한 프레임 내에서 가능한 모든 타일들의 최대 복잡도(
Figure 112016011664515-pat00022
)와 최소 복잡도(
Figure 112016011664515-pat00023
)의 차이값을 의미할 수 있다.
비균일 타일 분할 알고리즘은 제일 먼저 타일의 개수를 초기값으로 설정할 수 있다. 예를 들어,
Figure 112016011664515-pat00024
로 초기값을 설정할 수 있다.
그리고, 주어진
Figure 112016011664515-pat00025
에 대해 도 7의 3~4번 줄과 같이
Figure 112016011664515-pat00026
Figure 112016011664515-pat00027
를 계산할 수 있다.
그리고 나서,
Figure 112016011664515-pat00028
Figure 112016011664515-pat00029
의 모든 후보군 대해 전역 탐색 알고리즘을 이용하여 loadImbalance 변수를 최소화시키는 후보를 찾아낼 수 있다.
만약, loadImbalance 변수가 목표 임계값보다 작다면, 알고리즘을 종료하고 선택된 값을 이용하여 현재 프레임을 분할할 수 있다. 또한, loadImbalance가 목표 임계값보다 큰 경우에는, 보다 큰 타일 개수를 적용하여 도 7의 3~10번 줄을 반복하여 수행할 수 있다.
더 나아가, 본 발명의 실시예에 따른 비균일 타일 분할 알고리즘은 전체 부호화 시간의 1%에도 못 미치는 적은 계산량을 가질 수 있다.
도 8은 본 발명의 실시예에 따른 병렬 프로세싱을 위한 적응적 타일 분할을 이용한 비디오 부호화 방법을 설명하기 위한 흐름도이다.
도 8을 참조하면, 본 발명의 실시예에 따른 비디오 부호화 방법은 프레임의 복잡도에 기반하여 적응적으로 분할될 타일을 이용하여 부호화된 비트스트림을 생성할 수 있다. 여기서, 비디오 부호화 방법은 부호화기에 의해 수행될 수 있다.
이전 프레임(previous frame)에 포함된 코딩 트리 블록(coding tree unit)들의 복잡도를 이용하여 현재 프레임(current frame)에 포함된 코딩 트리 블록들의 복잡도를 추정할 수 있다(S810).
상술한 수학식 3을 참조하면, 현재 프레임(current frame)에 포함된 코딩 트리 블록들의 복잡도는 이전 프레임(previous frame)에 포함된 코딩 트리 블록(coding tree block)들의 복잡도에 기반하여 추정될 수 있다.
특히, 하나의 CTU의 부호화된 비트(encoded bits) 량과 복호화 시간 사이의 관계는 도 5 및 수학식 1에 의해 나타날 수 있으며, 이로 인하여 이전 프레임에 포함된 코딩 트리 블록들에 대한 비트량을 이용하여 현재 프레임에 포함된 코딩 트리 블록들의 복잡도를 추정할 수 있다.
현재 프레임에 포함된 코딩 트리 블록들의 복잡도에 기반하여 현재 프레임의 복잡도를 획득할 수 있다(S820). 즉, 현재 프레임에 포함된 코딩 트리 블록들의 복잡도를 좌표에 따라 행렬로 표현할 수 있다. 예를 들어, 현재 프레임의 복잡도는 상술한 수학식 4에 따른 복잡도 행렬(Complexity matrix)로 표현될 수 있다.
현재 프레임의 복잡도를 고려한 부하 균형(load balance) 및 부호화 효율(coding efficiency)에 기반하여 현재 프레임에 대한 타일 개수 및 타일 구조를 결정할 수 있다(S830).
상세하게는, 도 6과 같이 타일 개수가 증가함에 따라 부하 균형이 개선되고, 부호화 효율이 저하되는 상관 관계에 기초하여 현재 프레임에 대한 타일 개수 및 타일 구조가 결정될 수 있다. 따라서, 수학식 5 내지 8에 따라 프레임을 분할 가능한 타일 개수, 프레임을 구성하는 CTU들의 복잡도, 프레임의 복잡도 등을 고려하여 타일 개수 및 타일 구조를 최종적으로 결정할 수 있다. 여기서, 부하 균형(load balance)은 현재 프레임에 대한 복잡도의 최대값과 최소값의 차이를 기준으로 평가될 수 있다.
현재 프레임에 대한 타일 개수 및 타일 구조에 따른 부호화를 수행하여 비트스트림을 생성할 수 있다(S840). 따라서, 현재 프레임에 대한 타일 개수 및 타일 구조에 따른 병렬 처리가 가능하도록 부호화를 수행한 비트스트림을 생성할 수 있다.
도 9는 본 발명의 실시예에 따른 병렬 프로세싱을 위한 적응적 타일 분할을 이용한 비디오 복호화 방법을 설명하기 위한 흐름도이다.
도 9에 따른 비디오 복호화 방법은 상술한 도 8에 의해 부호화된 비트스트림을 복호화하는 과정이다. 따라서, 도 8에 대한 설명을 참조하여 보다 명확히 이해될 수 있다. 여기서, 비디오 복호화 방법은 복호화기에 의해 수행될 수 있다.
부호화된 비트스트림을 수신할 수 있다(S910). 즉, 복호화기는 상술한 도 8의 과정을 통해 생성된 비트스트림을 수신할 수 있다.
부호화된 비트스트림으로부터 현재 프레임(current frame)의 복잡도를 반영한 타일 정보를 획득할 수 있다(S920).
상세하게는, 현재 프레임(current frame)의 복잡도는 이전 프레임(previous frame)에 포함된 코딩 트리 블록(coding tree unit)들의 복잡도를 이용하여 추정된 현재 프레임에 포함된 코딩 트리 블록들의 복잡도를 좌표에 따라 행렬로 표현함으로써 산출될 수 있다. 여기서, 현재 프레임에 포함된 코딩 트리 블록들의 복잡도는 이전 프레임에 포함된 코딩 트리 블록들에 대한 비트량을 이용하여 추정될 수 있다.
타일 정보에 따라 현재 프레임에 대한 타일 개수 및 타일 구조를 산출할 수 있다(S930). 여기서, 현재 프레임에 대한 타일 개수 및 타일 구조는 현재 프레임의 복잡도를 고려한 부하 균형(load balance) 및 부호화 효율(coding efficiency)에 기반하여 결정될 수 있다. 즉, 현재 프레임에 대한 타일 개수 및 타일 구조는 타일 개수가 증가함에 따라 부하 균형(load balance)이 개선되고, 부호화 효율(coding efficiency)이 저하되는 상관 관계에 기초하여 결정될 수 있다. 예를 들어, 현재 프레임에 대한 타일 개수 및 타일 구조는 현재 프레임에 대한 복잡도의 최대값과 최소값의 차이를 기준으로 부하 균형(load balance)을 평가함으로써 산출될 수 있다.
현재 프레임에 대한 타일 개수 및 타일 구조에 따라 멀티 코어에 타일에 대한 복호화를 할당할 수 있다(S940).
따라서, 본 발명의 실시예에 따른 비디오 복호화 방법은 복잡도에 따라 적응적으로 분할된 타일을 보다 효과적으로 멀티 코어에 할당하여 복호화할 수 있고, 이를 통하여 복호화 시간을 단축시킬 수 있다.
본 발명의 실시예에 따른 비디오 부호화/복호화 방법의 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다.
상술한 본 발명의 실시예에 따른 병렬 프로세싱을 위한 적응적 타일 분할 방법 및 이를 이용한 비디오 부호화/복호화 방법은 균등한 코어 작업량 할당을 통해 복호화 시간을 단축시킴과 동시에 부호화 효율을 향상시킬 수 있다.
또한, 종래 HEVC 복호화기의 균일 타일 분할 방법에 따른 병렬화 성능 저하의 문제를 해결할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (12)

  1. 이전 프레임(previous frame)에 포함된 코딩 트리 유닛(coding tree unit)들의 복잡도를 이용하여 현재 프레임(current frame)에 포함된 코딩 트리 유닛들의 복잡도를 추정하는 단계;
    상기 현재 프레임에 포함된 코딩 트리 유닛들의 복잡도에 기반하여 상기 현재 프레임의 복잡도를 획득하는 단계; 및
    상기 현재 프레임의 복잡도를 고려한 부하 균형(load balance) 및 부호화 효율(coding efficiency)에 기반하여 상기 현재 프레임에 대한 타일 개수 및 타일 구조를 결정하는 단계를 포함하고,
    상기 현재 프레임에 대한 타일 개수 및 타일 구조를 결정하는 단계는,
    상기 현재 프레임에 포함된 코딩 트리 유닛들의 복잡도에 기초하여 도출되는 각 타일의 복잡도 중 최대값과 최소값의 차이가 최소화되도록 타일 개수 및 타일 구조를 결정하는, 타일 분할 방법.
  2. 청구항 1에 있어서,
    상기 현재 프레임에 포함된 코딩 트리 유닛들의 복잡도를 추정하는 단계는,
    상기 이전 프레임에 포함된 코딩 트리 유닛들에 대한 비트량을 이용하여 상기 현재 프레임에 포함된 코딩 트리 유닛들의 복잡도를 추정하는 것을 특징으로 하는,
    타일 분할 방법.
  3. 청구항 1에 있어서,
    상기 현재 프레임의 복잡도를 획득하는 단계는,
    상기 현재 프레임에 포함된 코딩 트리 유닛들의 복잡도를 좌표에 따라 행렬로 표현하는 것을 특징으로 하는,
    타일 분할 방법.
  4. 청구항 1에 있어서,
    상기 현재 프레임에 대한 타일 개수 및 타일 구조를 결정하는 단계는,
    상기 타일 개수가 증가함에 따라 부하 균형이 개선되고, 부호화 효율이 저하되는 상관 관계에 기초하여 상기 현재 프레임에 대한 타일 개수 및 타일 구조를 결정하는 것을 특징으로 하는,
    타일 분할 방법.
  5. 삭제
  6. 이전 프레임(previous frame)에 포함된 코딩 트리 유닛(coding tree unit)들의 복잡도를 이용하여 추정된 현재 프레임(current frame)에 포함된 코딩 트리 유닛들의 복잡도에 기반하여 상기 현재 프레임의 복잡도를 획득하는 단계;
    상기 현재 프레임의 복잡도를 고려한 부하 균형(load balance) 및 부호화 효율(coding efficiency)에 기반하여 상기 현재 프레임에 대한 타일 개수 및 타일 구조를 결정하는 단계; 및
    상기 현재 프레임에 대한 타일 개수 및 타일 구조에 따른 부호화를 수행하여 비트스트림을 생성하는 단계를 포함하고,
    상기 현재 프레임에 대한 타일 개수 및 타일 구조를 결정하는 단계는,
    상기 현재 프레임에 포함된 코딩 트리 유닛들의 복잡도에 기초하여 도출되는 각 타일의 복잡도 중 최대값과 최소값의 차이가 최소화되도록 타일 개수 및 타일 구조를 결정하는, 비디오 부호화 방법.
  7. 부호화된 비트스트림을 수신하는 단계;
    상기 부호화된 비트스트림으로부터 현재 프레임(current frame)의 복잡도를 반영한 타일 정보를 획득하는 단계;
    상기 타일 정보에 따라 현재 프레임에 대한 타일 개수 및 타일 구조를 산출하는 단계; 및
    상기 현재 프레임에 대한 타일 개수 및 타일 구조에 따라 멀티 코어에 타일에 대한 복호화를 할당하는 단계를 포함하고,
    상기 현재 프레임에 대한 타일 개수 및 타일 구조는,
    상기 현재 프레임에 포함된 코딩 트리 유닛들의 복잡도에 기초하여 도출되는 각 타일의 복잡도 중 최대값과 최소값의 차이가 최소화되도록 산출되는, 비디오 복호화 방법.
  8. 청구항 7에 있어서,
    상기 현재 프레임(current frame)의 복잡도는,
    이전 프레임(previous frame)에 포함된 코딩 트리 유닛(coding tree unit)들의 복잡도를 이용하여 추정된 상기 현재 프레임에 포함된 코딩 트리 유닛들의 복잡도를 좌표에 따라 행렬로 표현함으로써 산출되는 것을 특징으로 하는,
    비디오 복호화 방법.
  9. 청구항 8에 있어서,
    상기 현재 프레임에 포함된 코딩 트리 유닛들의 복잡도는,
    상기 이전 프레임에 포함된 코딩 트리 유닛들에 대한 비트량을 이용하여 추정되는 것을 특징으로 하는,
    비디오 복호화 방법.
  10. 청구항 7에 있어서,
    상기 현재 프레임에 대한 타일 개수 및 타일 구조는,
    상기 현재 프레임의 복잡도를 고려한 부하 균형(load balance) 및 부호화 효율(coding efficiency)에 기반하여 결정되는 것을 특징으로 하는,
    비디오 복호화 방법.
  11. 청구항 7에 있어서,
    상기 현재 프레임에 대한 타일 개수 및 타일 구조는,
    상기 타일 개수가 증가함에 따라 부하 균형(load balance)이 개선되고, 부호화 효율(coding efficiency)이 저하되는 상관 관계에 기초하여 결정되는 것을 특징으로 하는,
    비디오 복호화 방법.
  12. 삭제
KR1020160013403A 2016-01-12 2016-02-03 병렬 프로세싱을 위한 적응적 타일 분할 방법 및 이를 이용한 비디오 부호화/복호화 방법 KR101756582B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160003765 2016-01-12
KR1020160003765 2016-01-12

Publications (1)

Publication Number Publication Date
KR101756582B1 true KR101756582B1 (ko) 2017-07-11

Family

ID=59354536

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160013403A KR101756582B1 (ko) 2016-01-12 2016-02-03 병렬 프로세싱을 위한 적응적 타일 분할 방법 및 이를 이용한 비디오 부호화/복호화 방법

Country Status (1)

Country Link
KR (1) KR101756582B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014527316A (ja) 2011-08-25 2014-10-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化方法、符号化装置、復号方法、および復号装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014527316A (ja) 2011-08-25 2014-10-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化方法、符号化装置、復号方法、および復号装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Yong-Jo Ahn, et al., ‘COMPLEXITY MODEL BASED LOAD-BALANCING ALGORITHM FOR PARALLEL TOOLS OF HEVC’,Visual Communications and Image Processing (VCIP), 2013, IEEE, (2014.01.09)*

Similar Documents

Publication Publication Date Title
CN110024392B (zh) 用于视频译码的低复杂度符号预测
US11388405B2 (en) Content aware scheduling in a HEVC decoder operating on a multi-core processor platform
US10291925B2 (en) Techniques for hardware video encoding
US10666940B2 (en) Video encoding method and apparatus, and video decoding method and apparatus
RU2518635C2 (ru) Способ и устройство для кодирования и декодирования блока кодирования границы картинки
US8218640B2 (en) Picture decoding using same-picture reference for pixel reconstruction
US8218641B2 (en) Picture encoding using same-picture reference for pixel reconstruction
EP2805499B1 (en) Video decoder, video encoder, video decoding method, and video encoding method
CN111757106B (zh) 使用多级复合预测对视频流中的当前块编译的方法和设备
US10116942B2 (en) Method and apparatus for decoding a video using an intra prediction
CN107071419B (zh) 图像编码设备和方法以及图像解码设备和方法
US20100020877A1 (en) Multiple reference frame motion estimation in video coding
US20150063452A1 (en) High efficiency video coding (hevc) intra prediction encoding apparatus and method
TW201507439A (zh) 視訊編碼方法與裝置以及非暫時性電腦可讀記錄媒體
CN107231557B (zh) 用于在视频编码中的高级帧内预测的递归块分区中的智能重排的编、解码方法及装置
US10855983B2 (en) Encoding video using two-stage intra search
US20210360246A1 (en) Shape adaptive discrete cosine transform for geometric partitioning with an adaptive number of regions
KR101756582B1 (ko) 병렬 프로세싱을 위한 적응적 타일 분할 방법 및 이를 이용한 비디오 부호화/복호화 방법
US20170302930A1 (en) Method of transcoding video data with fusion of coding units, computer program, transcoding module and telecommunications equipment associated therewith
US10743009B2 (en) Image processing apparatus and image processing method
EP3149943B1 (en) Content aware scheduling in a hevc decoder operating on a multi-core processor platform
Kuang et al. Fast HEVC to SCC transcoding based on decision trees
Baaklini et al. H. 264 parallel optimization on graphics processors
US20200162756A1 (en) Image processing device and method, and program
KR20170114427A (ko) 동영상 병렬 부호화를 위한 로드 밸런싱 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant