KR20160094498A - 고속 병렬처리를 위한 차등 부호화 방법 및 장치 - Google Patents

고속 병렬처리를 위한 차등 부호화 방법 및 장치 Download PDF

Info

Publication number
KR20160094498A
KR20160094498A KR1020150015006A KR20150015006A KR20160094498A KR 20160094498 A KR20160094498 A KR 20160094498A KR 1020150015006 A KR1020150015006 A KR 1020150015006A KR 20150015006 A KR20150015006 A KR 20150015006A KR 20160094498 A KR20160094498 A KR 20160094498A
Authority
KR
South Korea
Prior art keywords
unit
parallel
coding
complexity
encoding unit
Prior art date
Application number
KR1020150015006A
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 한국전자통신연구원
Priority to KR1020150015006A priority Critical patent/KR20160094498A/ko
Publication of KR20160094498A publication Critical patent/KR20160094498A/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/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/439Methods 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 cascaded computational arrangements for performing a single operation, e.g. filtering
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/66Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance

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

본 발명은 타일, 슬라이스, 프레임 또는 블록 등의 단위로 영상을 분할하여 병렬로 부호화할 시, 타일, 슬라이스, 프레임 또는 블록들 간의 부호화 속도 차이로 인해 병렬 처리의 효율이 떨어지는 문제를 해결 하기 위해 영상 특성에 기반하여 타일, 슬라이스, 프레임 또는 블록들 간의 차등적으로 부호화를 수행하는 방법과 차등적으로 자원을 할당하는 방법들을 제안한다.

Description

고속 병렬처리를 위한 차등 부호화 방법 및 장치{DEFFERENTIAL ENCODING MRTHOD AND APPARATUS FOR THE FAST PARALLEL PROCESSING}
본 발명은 영상을 병렬로 부호화 하는 방법 및 장치에 관한 것이다.
영상을 타일, 슬라이스, 프레임 또는 블록 등의 단위로 나누어 병렬로 부호화 할 시, 병렬처리 속도는 분할된 타일, 슬라이스, 프레임 또는 블록들중 가장 늦게 부호화가 끝나는 타일, 슬라이스, 프레임 또는 블록의 속도에 맞추어 진다. 이 경우 타일, 슬라이스, 프레임 또는 블록 간의 부호화 속도 차이로 인해 병렬 처리의 효율이 떨어질 수 있다.
본 발명은 상기와 같은 문제를 해결하기 위해 안출된 것으로, 영상을 타일, 슬라이스, 프레임 또는 블록 등의 단위로 나누어 병렬로 부호화할 시, 타일, 슬라이스, 프레임 또는 블록들 간의 부호화 속도 차이로 인한 속도 저하 문제를 해결 하기 위해 영상 특성에 기반하여 타일, 슬라이스, 프레임 또는 블록들 간의 차등적으로 부호화를 수행하는 방법과 차등적으로 자원을 할당하는 방법의 제공을 위한 것이다.
상기와 같은 목적을 달성하기 위한 본 발명의 입력영상을 분할 병렬 부호화 하는 방법은, 병렬 부호화 단위 유닛들의 복잡도를 예측하는 단계, 상기 예측된 복잡도에 따라 차등부호화 방식 및 차등 자원할당 방식을 결정하는 단계 및 결정된 상기 차등부호화 방식 및 차등 자원할당 방식을 상기 입력영상에 적용하는 단계를 포함한다.
본 발명의 다양한 실시 예에 따르면, 타일, 슬라이스, 프레임 또는 블록들 간의 부호화 속도 차이로 인해 병렬 처리의 효율이 떨어지는 문제를 해결함으로 병렬 부호화 속도 향상을 가져올 수 있다.
도 1은 본 발명의 일 실시 예에 따른, 분할 병렬 부호화 방법을 나타낸 순서도이다.
도 2는 병렬 부호화 단위 유닛을 설명하기 위한 도면이다.
도 3은 본 발명에 따른 분할 병렬 부호화 장치의 구조를 간략하게 나타낸 구조도이다.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
본 명세서에서 사용되는 용어에 대해서 설명한다.
유닛(unit)은 영상 부호화 및 복호화의 단위를 의미하며, 영상 부호화 및 복호화시 부호화 혹은 복호화 단위라 함은, 하나의 영상을 세분화 된 유닛으로 분할하여 부호화 혹은 복호화 할 때 그 분할된 단위를 말하므로, 블록, 매크로 블록, 부호화 유닛 (CU: Coding Unit) 또는 예측 유닛 (PU: Prediction Unit) 또는 변환 유닛 (TU: Transform Unit) 등으로 부를 수 있다. 하나의 유닛은 크기가 더 작은 하위 유닛으로 더 분할될 수 있다.
타일(tile)은 하나의 픽처를 직사각형 모양의 여러 개의 영역으로 나눈 것일 수 있다. 타일은 CU 단위로 분할되지 않으며, 타일의 CTU(Coding Tree Unit) 단위를 경계로 분할 될 수 있다. 타일 사이에 의존 또는 연관 관계가 없기 때문에 타일 단위로 병렬 부복호화가 가능하다.
슬라이스(slice) 타일과 유사하게 하나의 픽처를 여러 개의 단위로 분할한 것일 수 있다. 슬라이스 또한 슬라이스 간의 의존성을 가지지 않기 때문에 병렬 부복호화가 가능하다. 슬라이스는 각 슬라이스마다 슬라이스 헤더가 추가 되고 슬라이스 경계 영역에서는 예측을 수행하지 않을 수 있다.
병렬부호화 단위 유닛은 타일 또는 슬라이스 등과 같이 기본적으로 주변 타일 또는 슬라이스와의 의존 또는 연관 관계가 없거나 CU나 PU 같이 원래는 의존 또는 연관 관계가 있다 하더라도 특정 목적에 의해 의존 또는 연관 관계를 끊어서 독립적으로 부복호화를 수행할 수 있는 타일, 슬라이스 또는 유닛 단위를 말한다.
이전 부호화 단일 유닛은 이전 부호화된 프레임 상의 병렬 부호화 단위 유닛 중 현재 병렬 부호화 단위 유닛과 동일한 위치에 있는 병렬 부호화 단위 유닛을 말한다.
병렬처리 자원은 상기 병렬 부호화 단위 유닛에 할당되는 자원으로 PC 또는 장비의 CPU Core 또는 쓰레드(Thread) 자원 중 어느 하나가 될 수 있다.
PU 크기 값은 본 명세서에서 병렬 부호화 단위 유닛의 복잡도를 예측하기 위한 척도로 사용하는 PU의 가로와 세로 크기의 합을 나타낸다. 예를 들어 8x4 PU인 경우에 PU 크기 값은 8+4 = 12가 된다.
CU 깊이는 CU의 분할 정도를 나타내는 척도로 최대 CU 크기가 64x64인 경우, CU 깊이는 다음과 같이 표현할 수 있다. CU 깊이 값이 클 수록 CU가 작은 크기로 분할되는 것을 나타낸다. 예를 들어 CU 깊이가 0일 경우에는 64x64 CU, CU 깊이가 1일 경우에는 32x32 CU, CU 깊이가 2일 경우에는 16x16 CU, CU 깊이가 3일 경우에는 8x8 CU으로 표현할 수 있다.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시 예에 따른, 분할 병렬 부호화 방법을 나타낸 순서도이다.
도 1에 따르면, 본 발명에 따른 부호화 장치는 병렬 부호화 단위 유닛들의 복잡도를 예측할 수 있다(101). 또한 병렬 부호화 단위 유닛들의 복잡도를 예측함에 있어서, 이전 병렬 부호화 유닛의 부호화 시간, 이전 병렬 부호화 유닛을 부호화 하는 경우 발생하는 비트량 또는 이전 병렬 부호화 유닛의 부호화 정보 중 적어도 어느 하나를 이용할 수 있다. 여기서 부호화 정보는 분할정보, 예측정보 또는 움직임 벡터 크기 등을 포함할 수 있다.
보다 구체적으로 이전 병렬 부호화 유닛의 부호화 시간, 이전 병렬 부호화 유닛을 부호화 하는 경우 발생하는 비트량 또는 이전 병렬 부호화 유닛의 부호화 정보를 통한 복잡도 계산은 도 2와 같이 바로 이전 프레임 상에 있는 하나의 이전 병렬 부호화 유닛만을 가지고 계산할 수도 있고, 이전에 부호화된 여러 프레임 상의 이전 병렬 부호화 유닛들을 가지고 계산할 수도 있다.
이전 병렬 부호화 유닛의 부호화 시간을 통해 복잡도를 예측하는 방법을 보다 상세하게 설명한다. 이전 병렬 부호화 유닛의 부호화 시간이 오래 걸릴 수록 부호화 복잡도가 큰 것이고 현재 병렬 부호화 단위 유닛 역시 부호화 복잡도가 커질 수 있다.
이전 병렬 부호화 유닛의 부호화 시간을 통해 현재 병렬 부호화 유닛의 부호화 복잡도를 예측하는 기준은 다음과 같다.
현재 병렬 부호화 단위 유닛에 대응되는 이전 병렬 부호화 단위 유닛의 부호화 시간이 이전 프레임 상의 병렬 부호화 단위 유닛들의 평균 부호화 시간 보다 큰 경우 현재 병렬 부호화 유닛의 부호화 복잡도가 크다고 할 수 있다.
또는 현재 병렬 부호화 단위 유닛에 대응되는 이전 병렬 부호화 단위 유닛의 이전 프레임 상의 주변 병렬 부호화 단위 유닛(이전 병렬 부호화 유닛과 인접한 병렬 부호화 유닛)들의 평균 부호화 시간 보다 큰 경우에도 현재 병렬 부호화 유닛의 복잡도가 크다고 할 수 있다.
이전 병렬 부호화 유닛을 부호화 하는 경우 발생하는 비트량을 통해 복잡도를 예측하는 방법에 대해서 상세히 설명한다.
일반적으로 이전 병렬 부호화 유닛의 부호화시 발생 비트량이 클수록 부호화 복잡도가 큰 것이다. 이전 병렬 부호화 유닛을 부호화 하는 경우 발생하는 비트량을 통해 복잡도를 예측하는 현재 병렬 부호화 유닛의 부호화 복잡도를 예측하는 기준은 다음과 같다.
현재 병렬 부호화 단위 유닛에 대응되는 이전 병렬 부호화 단위 유닛의 부호화 시 발생 비트량이 이전 프레임 상의 병렬 부호화 단위 유닛들의 평균 발생 비트량 보다 클 경우, 현재 병렬 부호화 단위 유닛의 복잡도가 크다고 판단할 수 있다.
또는 현재 병렬 부호화 단위 유닛에 대응되는 이전 병렬 부호화 단위 유닛의 이전 프레임 상의 주변 병렬 부호화 단위 유닛(이전 병렬 부호화 유닛과 인접한 병렬 부호화 유닛)들의 발생 비트량 평균보다 클 경우, 현재 병렬 부호화 단위 유닛의 복잡도가 크다고 판단할 수 있다.
이전 병렬 부호화 유닛의 부호화 정보를 통한 복잡도를 예측하는 방법을 상세하게 설명한다.
부호화 정보에는 분할 정보, 예측 모드 정보 또는 움직임 벡터 크기 정보 중 적어도 어느 하나를 포함할 수 있다.
이전 병렬 부호화 유닛의 부호화 정보 중 예측 정보를 이용하여 복잡도를 예측하는 방법을 설명한다. 일반적으로 이전 병렬 부호화 단위 유닛에 속한 CU가 작은 크기로 분할되어 CU 깊이가 커지거나 PU들이 작은 크기의 PU로 분할이 될 경우, 복잡한 텍스쳐를 많이 포함하고 있기 때문에 부호화 복잡도가 크다고 판단할 수 있다.
이전 병렬 부호화 유닛의 부호화 정보 중 분할 정보를 이용하여 현재 병렬 부호화 유닛의 부호화 복잡도를 예측하는 기준은 다음과 같다.
현재 병렬 부호화 단위 유닛에 대응되는 이전 병렬 부호화 단위 유닛에 포함되는 CU들의 CU 깊이 평균 값 또는 PU들의 PU 크기 평균 값이 이전 프레임 상의 모든 CU들의 CU 깊이 평균 값 또는 모든 PU들의 PU 크기 평균 값 보다 클 경우, 현재 병렬 부호화 단위 유닛의 복잡도가 크다고 판단할 수 있다.
또는 현재 병렬 부호화 단위 유닛에 대응되는 이전 병렬 부호화 단위 유닛에 포함되는 CU들의 CU 깊이 평균 값 또는 PU들의 PU 크기 평균 값이 이전 프레임 상의 주변 병렬 부호화 단위 유닛 상의 CU들의 CU 깊이 평균 값 또는 PU들의 PU 크기 평균 값 보다 클 경우, 현재 병렬 부호화 단위 유닛의 복잡도가 크다고 판단할 수 있다.
이전 병렬 부호화 단위 유닛의 부호화 정보 중 예측 모드 정보를 이용하여 복잡도를 예측하는 방법을 설명한다. 일반적으로 이전 병렬 부호화 단위 유닛에 속한 PU들의 예측 모드가 대부분 SKIP/Merge 모드로 선택된 경우, Homogeneous한 텍스쳐를 많이 포함하고 있기 때문에 부호화 복잡도가 낮다고 판단할 수 있고 반대로 AMP(Asymmetric Mode Partitioning) 모드로 많이 선택된 경우, 텍스쳐가 복잡해 PU가 많이 분할되는 것으로 해당 병렬 부호화 단위 유닛에 대한 부호화 복잡도가 높다고 판단 할 수 있다.
이전 병렬 부호화 유닛의 예측 모드 정보를 이용하여 현재 병렬 부호화 유닛의 부호화 복잡도를 판단하는 기준은 다음과 같다.
현재 병렬 부호화 단위 유닛에 대응되는 이전 병렬 부호화 단위 유닛에 속한 PU들의 예측 모드 중 Skip/Merge 모드의 발생 빈도가 이전 프레임 상의 속한 모든 PU들의 Skip/Merge 모드 발생 빈도보다 작을 경우, 현재 병렬 부호화 단위 유닛의 복잡도가 크다고 판단할 수 있다.
현재 병렬 부호화 단위 유닛에 대응되는 이전 병렬 부호화 단위 유닛에 속한 PU들의 예측 모드들 중 Skip/Merge 모드의 발생 빈도가 이전 프레임 상의 주변 부호화 단위 유닛에 속한 PU들의 Skip/Merge 모드 발생 빈도보다 작을 경우, 현재 병렬 부호화 단위 유닛의 복잡도가 크다고 판단할 수 있다.
현재 병렬 부호화 단위 유닛에 대응되는 이전 병렬 부호화 단위 유닛에 속한 PU들의 예측 모드 중 AMP 모드의 발생 빈도가 이전 프레임 상의 속한 모든 PU들의 AMP 모드 발생 빈도보다 클 경우, 현재 병렬 부호화 단위 유닛의 복잡도가 크다고 판단할 수 있다.
현재 병렬 부호화 단위 유닛에 대응되는 이전 병렬 부호화 단위 유닛에 속한 PU들의 예측 모드들 중 AMP 모드의 발생 빈도가 이전 프레임 상의 주변 부호화 단위 유닛에 속한 PU들의 AMP 모드 발생 빈도보다 클 경우, 현재 병렬 부호화 단위 유닛의 복잡도가 크다고 판단할 수 있다.
이전 병렬 부호화 단위 유닛의 부호화 정보 중 움직임 벡터 크기 정보를 이용하여 복잡도를 예측하는 방법을 설명한다.
일반적으로 해당 PU에 대한 움직임 벡터가 큰 경우, 움직임이 많고 움직임 예측이 잘 되지 않는 경우가 많다. 따라서 이와 같은 경우 해당 병렬 부호화 단위 유닛에 대한 부호화 복잡도가 높다고 판단 할 수 있다.
이전 병렬 부호화 유닛의 움직임 벡터 크기 정보를 이용하여 현재 병렬 부호화 유닛의 부호화 복잡도를 판단하는 기준은 다음과 같다.
현재 병렬 부호화 단위 유닛에 대응되는 이전 병렬 부호화 단위 유닛에 속한 PU들의 움직임 벡터의 평균 크기가 이전 프레임 상의 속한 모든 PU들의 움직임 벡터의 평균 크기 보다 클 경우, 현재 병렬 부호화 단위 유닛의 복잡도가 크다고 판단할 수 있다.
현재 병렬 부호화 단위 유닛에 대응되는 이전 병렬 부호화 단위 유닛에 속한 PU들의 움직임 벡터의 평균 크기가 이전 프레임 상의 주변 부호화 단위 유닛에 속한 모든 PU들의 움직임 벡터의 평균 크기 보다 클 경우, 현재 병렬 부호화 단위 유닛의 복잡도가 크다고 판단할 수 있다.
상술한 기준 들에 따라서 즉, 이전 병렬 부호화 유닛의 부호화 시간, 이전 병렬 부호화 유닛을 부호화 하는 경우 발생하는 비트량 또는 이전 병렬 부호화 유닛의 부호화 정보를 통한 복잡도를 예측한 뒤, 본 발명에 따른 부호화 장치는 예측된 복잡도에 따라 차등부호화 방식 및 차등 자원할당을 결정할 수 있다(103).
즉, 101 단계에 의해 예측된 복잡도가 높은 경우 후술하는 차등 부호화 및 차등 자원 할당을 통해 병렬 부호화의 효율을 높일 수 있다. 보다 구체적으로 블록 분할 깊이 차등 부호화, 변환 깊이 차등 부호화, 움직임 예측 탐색 범위 차등 부호화, 양자화 값 차등 부호화, 예측 모드 수 차등 부호화, 차등 비트 할당 부호화 및 병렬 부호화 유닛 결합 자원 할당 방식 중 어느 한 방식으로 차등부호화 및 차등 자원할당을 할 것으로 결정할 수 있다.
블록 분할 깊이 차등 부호화 방식에 대해서 설명한다.
복잡도가 높다고 판단된 병렬 부호화 단위 유닛에 대한 부호화 수행 시에 다음과 같은 방법으로 현재 병렬 부호화 단위 유닛에 속하는 CU들의 CU 깊이를 제한함으로 병렬 부호화 단위 유닛에 대한 부호화 복잡도를 줄일 수 있다.
구체적으로, 현재 병렬 부호화 단위 유닛에 포함된 CU에 대한 CU 깊이를 특정 크기로 제한 하고(예를 들어 최대 CU 깊이의 절반, 최대 CU 깊이를 2로 제한), 현재 병렬 부호화 단위 유닛에 포함된 CU에 대한 CU 깊이를 이전 프레임상의 모든 CU들의 평균 CU 깊이 이하로 제한 하고, 현재 병렬 부호화 단위 유닛에 포함된 CU에 대한 CU 깊이를 이전 프레임상의 주변 병렬 부호화 단위 유닛에 포함된 CU 들의 평균 CU 깊이 이하로 제한할 수 있다.
변환 깊이 차등 부호화 방식에 대해서 설명한다.
복잡도가 높다고 판단된 병렬 부호화 단위 유닛에 대한 부호화 수행 시에 아래와 같은 방법으로 현재 병렬 부호화 단위 유닛에 속하는 PU들의 변환 깊이를 제한함으로 병렬 부호화 단위 유닛에 대한 부호화 복잡도를 줄일 수 있다.
구체적으로 현재 병렬 부호화 단위 유닛에 포함된 PU에 대한 변환 깊이를 특정 깊이로 제한(예를 들어 최대 변환 깊이의 절반, 최대 변환 깊이를 2로 제한)하고, PU 크기와 동일한 변환 깊이에 해당하는 변환만 수행하고, 현재 병렬 부호화 단위 유닛에 포함된 PU에 대한 변환 깊이를 이전 프레임상의 모든 PU들의 평균 변환 깊이 이하로 제한하고, 현재 병렬 부호화 단위 유닛에 포함된 PU에 대한 변환깊이를 이전 프레임상의 주변 병렬 부호화 단위 유닛에 포함된 PU 들의 평균 변환 깊이 이하로 제한할 수 있다.
움직임 예측 탐색 범위 차등 부호화 방식에 대해서 설명한다.
복잡도가 높다고 판단된 병렬 부호화 단위 유닛에 포함되는 PU들에 대한 움직임 예측(Motion Estimation) 시의 움직임 예측 탐색 범위(Search Range)를 제한함으로 병렬 부호화 단위 유닛에 대한 부호화 복잡도를 줄일 수 있다.
현재 병렬 부호화 단위 유닛에 포함된 PU에 대한 움직임 예측 범위를 특정 깊이로 제한 하고(예를 들어 최대 움직임 예측 범위의 절반으로 제한), 현재 병렬 부호화 단위 유닛에 포함된 PU에 대한 움직임 예측 범위를 이전 프레임상의 모든 PU들의 평균 움직임 벡터 크기의 이하로 제한하고, 현재 병렬 부호화 단위 유닛에 포함된 PU에 대한 움직임 예측 범위를 이전 프레임상의 주변 병렬 부호화 단위 유닛들에 포함된 PU들의 평균 움직임 벡터 크기의 이하로 제한할 수 있다.
양자화 값 차등 부호화 방식에 대해서 설명한다.
복잡도가 높다고 판단된 병렬 부호화 단위 유닛에 포함되는 PU들에 대한 부호화 시에 양자화 값의 크기를 조절 함으로써 병렬 부호화 단위 유닛에 대한 부호화 복잡도를 줄일 수 있다.
예측 모드 수 차등 부호화 방식에 대해서 설명한다.
예측 모드 수 차등 부호화는 해당 PU에 대한 예측 모드의 수 또는 종류를 제한하는 것으로 Inter Mode의 경우, 2Nx2N, Nx2N/2NxN, NxN, AMP Mode 중 특정 파티션 모드에 대한 예측을 생략하는 것이고, Intra Mode의 경우, DC, Planar, Angular와 같은 다양한 예측 모드 중 특정 모드에 대한 예측을 생략하는 것이다.
복잡도가 높다고 판단된 병렬 부호화 단위 유닛에 포함되는 PU들에 대한 예측 모드의 수(종류)를 아래와 같은 방법으로 제한함으로 병렬 부호화 단위 유닛에 대한 부호화 복잡도를 줄일 수 있다.
현재 병렬 부호화 단위 유닛에 포함된 PU에 대한 움직임 예측 시, AMP에 대한 예측 생략하고, 현재 병렬 부호화 단위 유닛에 포함된 PU에 대한 움직임 예측 시, 2Nx2N 파티션에 대한 예측만 수행하고, 현재 병렬 부호화 단위 유닛에 포함된 PU에 대한 화면 내 예측, Angular 모드의 예측 모드 수를 제한(예를 들어 Angular 예측 모드 수의 절반, MPM에 해당되는 모드에 대해서만 예측 수행)할 수 있다.
차등 비트 할당 부호화 방식에 대해서 설명한다.
복잡도가 높다고 판단된 병렬 부호화 단위 유닛 또는 이에 포함되는 CU/PU들에 대한 부호화 시에 아래와 같은 방법으로 병렬 부호화 단위 유닛/CU/PU들에 할당되는 비트량을 제한함으로 병렬 부호화 단위 유닛에 대한 부호화 복잡도를 줄일 수 있다.
현재 병렬 부호화 단위 유닛 또는 현재 병렬 부호화 단위 유닛에 속한 CU/PU들에 대한 할당 비트량을 평균 비트 할당량 이하로 제한할 수 있다. 구체적으로 비트량 할당 단위가 병렬 부호화 단위 유닛인 경우 이전 프레임에 속한 이전 병렬 부호화 단위 유닛들의 평균 비트 할당량이하로 제한하고, 비트량 할당 단위가 CU/PU인 경우 이전 프레임에 속한 CU/PU들의 평균 비트 할당량으로 제한할 수 있다.
현재 병렬 부호화 단위 유닛 또는 현재 병렬 부호화 단위 유닛에 속한 CU/PU들에 대한 할당 비트량을 주변 병렬 부호화 단위 유닛들 또는 그 유닛들에 속하는 CU/PU들의 평균 비트 할당량 이하로 제한할 수 있다.
병렬 부호화 단위 유닛 결합 자원 할당 방식에 대해서 설명한다.
일반적으로 병렬 부호화 또는 복호화를 수행할 시, 병렬 부호화 단위 유닛들 사이에 복잡도가 유사하고 Core 또는 쓰레드의 개수가 충분하다면 하나의 병렬 부호화 단위 유닛에 하나의 Core 또는 쓰레드를 할당하는 것이 효율이나 운용면에서 유리하다. 하지만 병렬 부호화 단위 유닛들 사이에 복잡도가 서로 다르고 운용할 수 있는 Core 또는 쓰레드를 개수에 한계가 있는 경우 병렬 부호화 단위 유닛에 하나의 Core 또는 쓰레드를 할당하는 것은 효율이나 운용면에서 좋지 않을 수 있다.
상기의 경우와 같이 병렬 부호화 단위 유닛들 사이에 복잡도가 서로 다르고 운용할 수 있는 Core 또는 쓰레드를 개수에 한계가 있는 경우 병렬 부호화 단위 유닛에 하나의 Core 또는 쓰레드(자원)를 할당하는 것이 아니라 병렬 부호화 단위 유닛들 사이에 복잡도를 고려하여 Core 또는 쓰레드를 할당할 수 있다.
복잡도가 높은 병렬 부호화 단위 유닛에 우선적으로 Core 또는 쓰레드을 할당하고 복잡도가 낮은 병렬 부호화 단위 유닛들을 묶어서 하나의 Core 또는 쓰레드를 할당함으로 자원 운용의 효율성을 높이고 병렬 부호화 단위 유닛 간의 부호화 시간 차이로 인한 병렬 처리 효율 저하를 막을 수 있다.
도 3은 본 발명에 따른 분할 병렬 부호화 장치의 구조를 간략하게 나타낸 구조도이다.
도 3에 따르면, 본 발명에 따른 분할 병렬 부호화 장치는 입력부(310), 제어부(320) 및 출력부(330)를 포함할 수 있다.
입력부(310)는 제어부(320)에 분할 병렬 부호화를 하기 위한 영상을 입력할 수 있다. 입력부(310)의 형태에는 제한이 없으며, 다양한 실시 예에서 입력부(310)는 유무선 통신을 통해 분할 병렬 부호화를 위한 영상을 입력할 수도 있다.
제어부(320)는 본 발명의 분할 병렬 부호화 방법을 수행하고 분할 병렬 부호화 장치의 전반적인 동작을 제어한다. 다양한 실시 예에서 제어부(320)는 고유한 동작을 수행하는 복수의 모듈로 구성될 수 있으나 이는 필수적인 것이 아니므로 본 명세서에서는 설명의 편의상 제어부(320)가 모든 기능을 수행하는 것으로 설명한다.
제어부(320)는 병렬 부호화 단위 유닛들의 복잡도를 예측하고, 상기 예측된 복잡도에 따라 차등부호화 방식 및 차등 자원할당 방식을 결정하고, 결정된 상기 차등부호화 방식 및 차등 자원할당 방식을 상기 입력영상에 적용할 수 있다.
또한 제어부(320)는 병렬 부호화 단위 유닛들의 복잡도를 예측함에 있어서, 이전 병렬 부호화 유닛의 부호화 시간, 이전 병렬 부호화 유닛을 부호화 하는 경우 발생하는 비트량 또는 이전 병렬 부호화 유닛의 부호화 정보 중 적어도 어느 하나를 이용할 수 있다. 여기서 부호화 정보는 분할정보, 예측정보 또는 움직임 벡터 크기 등을 포함할 수 있다.
또한 제어부(320)는 상기 예측된 복잡도에 따라 차등부호화 방식 및 차등 자원할당 방식을 결정함에 있어서, 블록 분할 깊이 차등 부호화, 변환 깊이 차등 부호화, 움직임 예측 탐색 범위 차등 부호화, 양자화 값 차등 부호화, 예측 모드 수 차등 부호화, 차등 비트 할당 부호화 및 병렬 부호화 유닛 결합 자원 할당 방식 중 어느 한 방식으로 차등부호화 및 차등 자원할당을 할 것으로 결정할 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
상술한 실시 예들에서, 모든 단계는 선택적으로 수행의 대상이 되거나 생략의 대상이 될 수 있다. 또한 각 실시 예에서 단계들은 반드시 순서대로 일어날 필요는 없으며, 뒤바뀔 수 있다. 한편, 본 명세서와 도면에 개시된 본 명세서의 실시 예들은 본 명세서의 기술 내용을 쉽게 설명하고 본 명세서의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 명세서의 범위를 한정하고자 하는 것은 아니다. 즉 본 명세서의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 명세서가 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
한편, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
310: 입력부
320: 제어부
330: 출력부

Claims (1)

  1. 입력영상을 분할 병렬 부호화 하는 방법에 있어서,
    병렬 부호화 단위 유닛들의 복잡도를 예측하는 단계;
    상기 예측된 복잡도에 따라 차등부호화 방식 및 차등 자원할당 방식을 결정하는 단계; 및
    결정된 상기 차등부호화 방식 및 차등 자원할당 방식을 상기 입력영상에 적용하는 단계;를 포함하는 분할 병렬 부호화방법.
KR1020150015006A 2015-01-30 2015-01-30 고속 병렬처리를 위한 차등 부호화 방법 및 장치 KR20160094498A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150015006A KR20160094498A (ko) 2015-01-30 2015-01-30 고속 병렬처리를 위한 차등 부호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150015006A KR20160094498A (ko) 2015-01-30 2015-01-30 고속 병렬처리를 위한 차등 부호화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20160094498A true KR20160094498A (ko) 2016-08-10

Family

ID=56713144

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150015006A KR20160094498A (ko) 2015-01-30 2015-01-30 고속 병렬처리를 위한 차등 부호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20160094498A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102192631B1 (ko) * 2019-11-28 2020-12-17 주식회사우경정보기술 병렬 포렌식 마킹 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102192631B1 (ko) * 2019-11-28 2020-12-17 주식회사우경정보기술 병렬 포렌식 마킹 장치 및 방법
WO2021107651A1 (ko) * 2019-11-28 2021-06-03 주식회사 우경정보기술 병렬 포렌식 마킹 장치 및 방법

Similar Documents

Publication Publication Date Title
JP6900521B2 (ja) クアッドツリー構造に基づく適応的量子化パラメータ符号化及び復号化方法及び装置
US11381814B2 (en) Video decoding method and device, and video encoding method and device
KR101606131B1 (ko) 변환 유닛 분할의 잔여 트리 구조
KR102558270B1 (ko) 적응적인 디블록킹 필터링에 관한 부호화/복호화 방법 및 장치
US20160044329A1 (en) Image Predictive Coding Method and Image Encoder
WO2015180428A1 (zh) 帧内预测编码的视频编码方法及视频编码装置
KR102327942B1 (ko) 코딩 유닛 분할 결정 방법 및 디바이스, 컴퓨팅 디바이스 및 판독 가능한 저장 매체
KR20140072231A (ko) 율-왜곡 비용의 확률분포를 이용한 비디오 부호화기의 고속 예측모드 결정 방법
JP6327153B2 (ja) 画像処理装置、画像処理方法、およびプログラム
KR20140016385A (ko) 인코딩 및 디코딩 방법 및 장치
CN111492655A (zh) 用于视频压缩的基于纹理的分区决定
CN105812797A (zh) 一种编码单元选择方法及装置
JP2016136700A (ja) 画像符号化装置、画像符号化方法及びプログラム
CN104954787A (zh) Hevc帧间预测模式选择方法及装置
KR20110032331A (ko) 랜덤 액세스 가능한 영상 인코딩 시스템 및 방법
KR20160094498A (ko) 고속 병렬처리를 위한 차등 부호화 방법 및 장치
JP2013207402A (ja) 画像符号化装置及びプログラム
US10743009B2 (en) Image processing apparatus and image processing method
KR20140073472A (ko) 쿼드트리 구조 기반의 적응적 양자화 파라미터 부호화 및 복호화 방법 및 장치
CN110933410B (zh) Hevc视频帧间预测方法和装置
KR20130122566A (ko) 깊이 정보를 이용한 움직임 벡터 예측을 위한 3차원 영상의 부호화 방법 및 장치, 및 복호화 방법 및 장치
KR101219220B1 (ko) 병렬 부호화를 위한 데이터 파티션 방법 및 이를 수행하는 프로그램을 기록한 기록매체
JP2016187140A (ja) ブロックサイズ決定方法、ブロックサイズ決定装置及びブロックサイズ決定プログラム
WO2022047117A1 (en) Methods and systems of adaptive geometric partitioning
Storch et al. Memory-aware Workload Balancing Technique based on Decision Trees for Parallel HEVC Video Coding

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination