KR101742765B1 - 인터폴레이터 및 인터폴레이터 픽셀 생성 방법 - Google Patents

인터폴레이터 및 인터폴레이터 픽셀 생성 방법 Download PDF

Info

Publication number
KR101742765B1
KR101742765B1 KR1020150130869A KR20150130869A KR101742765B1 KR 101742765 B1 KR101742765 B1 KR 101742765B1 KR 1020150130869 A KR1020150130869 A KR 1020150130869A KR 20150130869 A KR20150130869 A KR 20150130869A KR 101742765 B1 KR101742765 B1 KR 101742765B1
Authority
KR
South Korea
Prior art keywords
pixel
interpolator
pixels
adder
full
Prior art date
Application number
KR1020150130869A
Other languages
English (en)
Other versions
KR20170033046A (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 KR1020150130869A priority Critical patent/KR101742765B1/ko
Publication of KR20170033046A publication Critical patent/KR20170033046A/ko
Application granted granted Critical
Publication of KR101742765B1 publication Critical patent/KR101742765B1/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • 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
    • 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
    • H04N19/426Methods 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 using memory downsizing methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

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

Abstract

인터폴레이터 및 인터폴레이터 픽셀 생성 방법이 개시된다. 인터폴레이터는, 현재 블록에서 열(column) 단위로 각 열의 풀 픽셀의 픽셀값을 입력받아 세로 방향 인터폴레이터 픽셀을 생성하는 제1 필터부; 및 상기 제1 필터부로 입력된 각 열의 풀 픽셀의 픽셀값을 각 사이클마다 순차적으로 입력받아 저장한 후 지정된 사이클마다 가로 방향 인터폴레이터 픽셀을 생성하는 제2 필터부를 포함하되, 상기 세로 방향에 대한 복수의 인터폴레이터 픽셀이 생성된 이후, 상기 제1 필터부를 공유하여 상기 가로 방향 인터폴레이터 픽셀의 픽셀값을 이용하여 대각선 방향 인터폴레이터 픽셀을 생성할 수 있다.

Description

인터폴레이터 및 인터폴레이터 픽셀 생성 방법{Interpolator and interpolator pixel generation method}
본 발명은 영상 압축에서 고성능 모션 예측을 위한 인터폴레이터 및 인터폴레이터 픽셀 생성 방법에 관한 것이다.
고화질의 영상을 필요로 하는 시대흐름에 따라 H.264에 비해 좀 더 고성능의 영상 압축 표준인 HEVC가 발표되었다. HEVC는 H.264에 비해 상당한 연산 복잡도를 가지고 있다. 이는 HEVC를 하드웨어로 설계할 경우, 하드웨어의 크기가 증가한다는 것을 의미한다. 따라서 하드웨어 설계 시 하드웨어 크기 증가를 최소화 할 필요가 있다.
종래의 H.264에 비해 HEVC의 모션 예측을 위한 성능 향상에 따라 HEVC의 인터폴레이터의 계산 복잡도도 증가되었다. 이로 인해, 종래의 HEVC의 모션 예측을 위한 인터폴레이터를 하드웨어 칩으로 구현하는 경우, 하드웨어 칩 크기가 증가되는 문제점이 있다.
본 발명은 하드웨어 크기를 줄이며, 성능 향상이 가능한 인터폴레이터 및 인터폴레이터 픽셀 생성 방법을 제공하기 위한 것이다.
또한, 본 발명은 공유 구조를 기반으로 각각 상이한 서브 픽셀(1/2, 1/4, 3/4)을 하나의 인터폴레이터 필터에서 처리하도록 하여 연산량을 현저하게 줄일 수 있는 인터폴레이터 및 인터폴레이터 픽셀 생성 방법을 제공하기 위한 것이다.
본 발명의 일 측면에 따르면, 하드웨어 크기를 줄이며, 성능 향상이 가능한 인터폴레이터가 제공된다.
제1 실시예에 따르면, 현재 블록에서 열(column) 단위로 각 열의 풀 픽셀의 픽셀값을 입력받아 세로 방향 인터폴레이터 픽셀을 생성하는 제1 필터부; 및 상기 제1 필터부로 입력된 각 열의 풀 픽셀의 픽셀값을 각 사이클마다 순차적으로 입력받아 저장한 후 지정된 사이클마다 가로 방향 인터폴레이터 픽셀을 생성하는 제2 필터부; 포함하되, 상기 세로 방향에 대한 복수의 인터폴레이터 픽셀이 생성된 이후, 상기 제1 필터부는 상기 가로 방향 인터폴레이터 픽셀의 픽셀값을 이용하여 대각선 방향 인터폴레이터 픽셀을 생성하는 것을 특징으로 하는 인터폴레이터가 제공될 수 있다.
상기 제1 필터부는 복수의 필터를 포함하되, 상기 필터 중 어느 하나는 세로 방향 인터폴레이터 픽셀을 생성하며, 상기 필터 중 다른 하나는 상기 제2 필터부를 통해 출력되는 상기 가로 방향 인터폴레이터 픽셀을 이용하여 대각선 방향 인터폴레이터 픽셀을 생성할 수 있다.
상기 세로 방향 인터폴레이터 픽셀, 상기 가로 방향 인터폴레이터 픽셀 및 상기 대각선 방향 인터폴레이터 픽셀은 각각 하프 픽셀과 쿼터 픽셀을 포함할 수 있다.
제1 필터부 및 상기 제2 필터부는 각각 적어도 하나의 필터를 포함하되, 상기 각각의 필터는 세로 방향으로 배치된다.
상기 제1 필터부 및 상기 제2 필터부는 각각 적어도 하나의 필터를 포함하되, 상기 각 필터는, 복수의 풀 픽셀의 픽셀값을 입력받아 가산 및 비트 시프트 연산 중 적어도 하나를 수행하여 각 풀 픽셀의 픽셀값에 대해 지정된 공동 계수가 승산된 공동 연산 결과값을 출력하는 공동 연산부; 상기 공동 연산 결과값을 입력받아 지정된 잔여 계수값을 가산 및 감산하여 복수의 쿼터 픽셀을 생성하는 복수의 쿼터 픽셀 연산부; 및 상기 공동 연산 결과값과 상기 복수의 풀 픽셀 중 지정된 두개의 풀 픽셀의 픽셀값을 입력받아 복수의 가산 연산을 통해 하프 픽셀을 생성하는 하프 픽셀 연산부를 포함할 수 있다.
상기 공동 연산부는, 상기 복수의 풀 픽셀 중 제n 풀 픽셀의 픽셀값과 제(8-n) 풀 픽셀의 픽셀값을 가산하는 제1 가산기, 제2 가산기, 제3 가산기 및 제4 가산기를 포함하는 1열 가산부; 및 상기 제1 가산기의 제1 중간 결과값의 부호를 반전시키고, 제2 가산기의 제2중간 결과값을 오른쪽으로 비트 시프트시킨 후 상기 제1 중간 결과값과 상기 비트 시프트시킨 제2 중간 결과값을 가산하여 출력하는 제5 가산기, 상기 제3 가산기의 지정된 두개의 풀 픽셀의 가산 결과를 각각 s 및 ss 비트 시프트 연산한 제3 중간 결과값과 제4 중간 결과값을 입력받아 가산하여 출력하는 제6 가산기, 상기 제4 가산기의 지정된 두개의 풀 픽셀의 가산 결과를 t 및 tt 비트 시프트시킨 제 5 중간 결과값과 제6 중간 결과값을 입력받아 가산하는 제7 가산기를 포함하는 2열 가산부를 포함할 수 있다.
상기 하프 픽셀 연산부는, k개의 가산기를 포함하되, k개의 가산기는 각각 직렬로 배치되고, 첫번째 가산기를 제외한 나머지 가산기는 앞단에 배치된 가산기의 가산 결과와 상기 공동 연산부로부터 입력되는 상기 공동 연산 결과값 중 일부를 순차적으로 가산하여 하프 픽셀을 생성할 수 있다.
상기 하프 픽셀 연산부는, 상기 복수의 풀 픽셀의 픽셀값 중 제3 풀 픽셀과 제5 풀 픽셀의 픽셀값을 가산하는 제8 가산기, 상기 제8 가산기의 가산 결과값과 상기 6 가산기의 가산 결과값을 가산하는 제9 가산기, 제8 가산기의 가산 결과값과 제5 가산기의 가산 결과값을 가산하는 제10 가산기, 제9 가산기의 사간 결과값과 제7 가산기의 가산 결과값을 가산하여 하프 픽셀을 생성할 수 있다.
제2 실시예에 따르면, 복수의 풀 픽셀의 픽셀값을 입력받아 가산 및 비트 시프트 연산 중 적어도 하나를 수행하여 각 풀 픽셀의 픽셀값에 대해 지정된 공동 계수가 승산된 공동 연산 결과값을 출력하는 공동 연산부; 상기 공동 연산 결과값을 입력받아 지정된 잔여 계수값을 가산 및 감산하여 복수의 쿼터 픽셀을 생성하는 복수의 쿼터 픽셀 연산부; 및 상기 공동 연산 결과값과 상기 복수의 풀 픽셀 중 지정된 두개의 풀 픽셀의 픽셀값을 입력받아 복수의 가산 연산을 통해 하프 픽셀을 생성하는 하프 픽셀 연산부를 포함하는 인터폴레이터 필터가 제공될 수 있다.
본 발명의 일 측면에 따르면, 성능 향상이 가능한 인터폴레이터 픽셀 생성 방법이 제공된다.
본 발명의 일 실시예에 따르면, 제1 필터부를 이용하여 현재 블록에서 열(column) 단위로 각 열의 풀 픽셀의 픽셀값을 입력받아 세로 방향 인터폴레이터 픽셀을 생성하는 단계; 상기 제1 필터부로 입력된 각 열의 풀 픽셀의 픽셀값을 각 사이클마다 시프트시켜 저장한 후 제2 필터부를 이용하여 지정된 사이클마다 가로 방향 인터폴레이터 픽셀을 생성하는 단계; 및 상기 제1 필터부의 상기 세로 방향에 대한 인터폴레이터 픽셀이 생성된 후 상기 제1 필터부를 공유하여 상기 가로 방향 인터폴레이터 픽셀을 이용하여 대각선 방향 인터폴레이터 픽셀을 생성하는 단계를 포함하는 인터폴레이터 픽셀 생성 방법이 제공될 수 있다.
본 발명의 일 실시예에 따른 인터폴레이터 및 인터폴레이터 픽셀 생성 방법을 제공함으로써, 하드웨어 크기를 줄이며, 성능 향상이 가능한 이점이 있다.
또한, 본 발명은 공유 구조를 기반으로 각각 상이한 서브 픽셀(1/2, 1/4, 3/4)을 하나의 인터폴레이터 필터에서 처리하도록 하여 연산량을 현저하게 줄일 수 있는 이점도 있다.
도 1은 동영상 표준에서의 인터폴레이터 픽셀을 설명하기 위해 도시한 도면.
도 2는 본 발명의 일 실시예에 따른 인터폴레이터의 구조를 도시한 도면.
도 3은 본 발명의 인터폴레이터의 인터폴레이션 순서를 설명하기 위해 도시한 도면.
도 4는 본 발명의 다른 실시예에 따른 인터폴레이터의 구조를 도시한 도면.
도 5는 본 발명의 일 실시예에 따른 인터폴레이터에 포함된 필터의 구조를 도시한 도면.
도 6은 본 발명의 일 실시예에 따른 각 인터폴레이터 픽셀에 대한 계수를 도시한 도면.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세히 설명한다.
도 1은 동영상 표준에서의 인터폴레이터 픽셀을 설명하기 위해 도시한 도면이다.
종래의 HEVC 인터폴레이터의 경우, 정수 픽셀(Full pel pixel)을 사용하여 서브 픽셀(1/2, 1/4, 3/4)을 생성한다. 이때, 서브 픽셀이 생성되는 위치에 따라 가로 픽셀(Horizontal pixel), 세로 픽셀(Vertical pixel), 대각선 픽셀(Diagonal pixel)로 분류된다.
인터폴레이션 픽셀은 정수 픽셀(또는 풀 픽셀), 하프 픽셀 및 쿼터 픽셀로 구분된다. 동영상 압축 기술에서 움직임 예측이나 움직임 보상 기술은 블록 크기를 픽셀 단위로 측정하는데, 픽셀 단위, 픽셀의 1/2 단위의 정밀도, 픽셀의 1/4 단위 정밀도로 블록을 이동시키게 된다.
따라서, 픽셀의 1/2 단위의 정밀도를 지칭하는 픽셀을 하프 픽셀이라 칭하며, 픽셀의 1/4 단위 정밀도를 지칭하는 픽셀을 쿼터 픽셀이라 칭한다. 쿼터 픽셀은 1/4 단위의 정밀도와 3/4 단위 정밀도를 각각 포함하게 된다.
상술한 설명에 의해 기본적인 인터폴레이션 픽셀에 대해서는 이해가 되었을 것인 바, 도 2를 참조하여 본 발명의 일 실시예에 따른 인터폴레이터에 대해 상세히 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 인터폴레이터의 구조를 도시한 도면이며, 도 3은 본 발명의 인터폴레이터의 인터폴레이션 순서를 설명하기 위해 도시한 도면이고, 도 4는 본 발명의 다른 실시예에 따른 인터폴레이터의 구조를 도시한 도면이다.
도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인터폴레이터(200)는 8 x 8 블록의 인터 예측(inter prediction)을 위한 부분 픽셀(fractional pixel)을 생성하는 것을 가정하기로 한다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 인터폴레이터(200)는 제1 필터부(210) 및 제2 필터부(215)를 포함한다.
제1 필터부(210)는 복수의 필터를 포함하며, 각 필터는 세로 방향으로 배치된다.
또한, 제1 필터부(210)에 포함된 각 필터는 현재 블록에서 열(column) 단위로 각 열의 풀 픽셀의 픽셀값을 입력받아 세로 방향 인터폴레이터 픽셀을 생성할 수 있다. 여기서, 세로 방향 인터폴레이터 픽셀은 하프 픽셀과 제1 쿼터 픽셀(1/4 픽셀), 제2 쿼터 픽셀(3/4 픽셀)을 포함한다.
예를 들어, 현재 블록이 8 x 8 크기라고 가정하면, 각 필터는 열 단위로 각 열에 포함된 8개의 풀 픽셀을 입력받아 세로 방향 인터폴레이터 픽셀을 생성할 수 있다.
즉, 도 3에 도시된 바와 같이, 현재 블록이 f4 내지 f11까지의 8 x 8 크기인 경우, 최초 f4 열의 8개의 풀 픽셀의 픽셀값이 필터로 입력되어 세로 방향 인터폴레이터 픽셀을 생성할 수 있다. 그 다음에는 f5 열의 8개의 풀 픽셀의 픽셀값이 필터로 입력되어 세로 방향 인터폴레이터 픽셀이 생성될 수 있다.
이와 같이, 제1 필터부(210)는 현재 블록에서 열 단위로 각 열의 풀 픽셀의 픽셀값이 순차적으로 입력되어 열 단위로 세로 방향 인터폴레이터 픽셀을 생성할 수 있다.
또한, 제1 필터부(210)는 적어도 두개의 필터를 포함한다.
제1 필터부(210)에 포함된 두개의 필터 중 어느 하나는 세로 방향 인터폴레이터 픽셀을 생성한 후, 대각선 왼쪽 방향 인터폴레이터 픽셀(DL pixel)을 생성한다.
이어, 제1 필터부(210)에 포함된 두개의 필터 중 다른 하나는 제2 필터부(215)에 의해 가로 방향 인터폴레이터 픽셀이 생성되면, 이를 이용하여 나머지 대각선 방향 인터폴레이터 픽셀(DC pixel, DR pixel)을 생성한다. 여기서, 각 대각선 방향 인터폴레이터 픽셀은 하프 픽셀과 제1 쿼터 픽셀 및 제2 쿼터 픽셀을 포함할 수 있다.
이와 같이, 제1 필터부(210)를 통해 세로 방향 인터폴레이터 픽셀과 대각선 방향 인터폴레이터 픽셀을 생성할 수 있다.
물론, 제1 필터부(210)에 포함된 두개의 필터 중 다른 하나의 필터가 대각선 방향 인터폴레이터 픽셀을 생성하기 위해서는 제2 필터부(215)에 의해 생성된 세로 방향 인터폴레이터 픽셀이 필요하므로, 제2 필터부(215)의 동작이 완료되면, 세로 방향 인터폴레이터 픽셀을 이용하여 대각선 방향 인터폴레이터 픽셀을 생성할 수 있다.
이와 같이, 제1 필터부(210)를 통해 세로 방향 인터폴레이터 픽셀과 대각선 방향 인터폴레이터 픽셀을 생성하도록 함으로써, 인터폴레이터 하드웨어 사이즈를 줄일 수 있는 이점이 있다.
제2 필터부(215)는 제1 필터부(210)로 입력되는 각 열의 풀 픽셀의 픽셀값을 매 사이클마다 이동시켜 저장하고, 지정된 사이클 단위로(예를 들어, 7 사이클) 저장된 풀 픽셀을 이용하여 가로 방향 인터폴레이터 픽셀을 생성하기 위한 수단이다. 여기서, 가로 방향 인터폴레이터 픽셀은 하프 픽셀, 제1 쿼터 픽셀 및 제2 쿼터 픽셀을 포함할 수 있다.
이때, 제2 필터부(215)는 복수의 필터를 포함할 수 있다. 제2 필터부(215)에 포함되는 각각의 필터는 제1 필터부(210)로 입력되는 각 열의 풀 픽셀을 입력받아 각 사이클마다 이동시켜 저장한 후 지정된 사이클 단위로 저장된 풀 픽셀을 이용하여 가로 방향 인터폴레이터 픽셀을 생성하므로, 제1 필터부(210)와 마찬가지로 세로 방향으로 각각 배치될 수 있다.
제1 필터부(210) 및 제2 필터부(215)에 포함되는 각각의 필터는 동일한 구성을 포함하며, 각 필터의 구성 및 동작에 대해서는 하기에서 도 4를 참조하여 보다 상세히 설명하기로 한다.
본 발명의 일 실시예에 따른 제1 필터부(210) 및 제2 필터부(215)에 포함된 각 픽셀은 풀 픽셀의 픽셀값에 대한 공동 연산을 우선 수행한 후 이 결과를 이용하여 하프 픽셀, 제1 쿼터 픽셀 및 제2 쿼터 픽셀을 동시에 생성할 수 있다. 이를 통해 본 발명의 일 실시예에 따른 인터폴레이터(200)는 전체적인 하드웨어 면적 증가 및 연산량 증가 없이 인터폴레이터(200)의 성능을 향상시킬 수 있는 이점이 있다.
도 4는 본 발명의 다른 실시예에 따른 인터폴레이터의 구조를 도시한 도면이다.
도 4에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 인터폴레이터(400)는 제1 필터부(410), 제2 필터부(415) 및 제3 필터부(420)를 포함한다.
이때, 제1 필터부(410), 제2 필터부(415) 및 제3 필터부(420)는 각각 복수의 필터를 포함할 수 있으며, 각각의 필터는 세로 방향으로 배치될 수 있다.
여기서, 제1 필터부(410)는 현재 블록에서 열 단위로 각 열의 풀 픽셀을 입력받아 세로 방향 인터폴레이터 픽셀을 생성하기 위한 수단이다.
제2 필터부(415)는 제1 필터부(410)로 입력된 풀 픽셀을 각 사이클마다 입력받아 지정된 사이클 단위(예를 들어, 7 사이클)로 가로 방향 인터폴레이터 픽셀을 생성하기 위한 수단이다.
또한, 제3 필터부(420)는 제2 필터부(415)에 의해 생성된 가로 방향 인터폴레이터 픽셀을 이용하여 대각선 방향 인터폴레이터 픽셀을 생성하기 위한 수단이다.
지금까지 도 2 및 도 4를 참조하여, 인터폴레이터(200, 400)의 구조에 대해서 개략적으로 설명하였다.
인터폴레이터(200, 400)에 포함되는 각각의 필터의 구조와 동작에 대해서는 도 5를 참조하여 보다 상세히 설명하기로 한다.
도 5는 본 발명의 일 실시예에 따른 인터폴레이터에 포함된 필터의 구조를 도시한 도면이고, 도 6은 본 발명의 일 실시예에 따른 각 인터폴레이터 픽셀에 대한 계수를 도시한 도면이다.
도 5를 참조하면, 인터폴레이터(200)의 각 필터부에 포함된 각 필터는 공동 연산부(510), 제1 쿼터 픽셀 연산부(515), 하프 픽셀 연산부(520) 및 제2 쿼터 픽셀 연산부(525)를 포함하여 구성된다.
본 발명의 일 실시예에 다른 인터폴레이터(200)는 도 6의 인터폴레이터 픽셀에 대한 계수를 기반으로 복수의 풀 픽셀의 픽셀값에 대한 공동 연산을 위한 공유 구조를 형성함으로써, 하나의 필터에서 세개(하프 픽셀, 제1 쿼터 픽셀, 제2 쿼터 픽셀) 인터폴레이터 픽셀이 모두 생성되도록 할 수 있는 이점이 있다.
이하, 도 6에 도시된 계수를 기반으로 하드웨어 면적을 줄인 필터에 대해 상세히 설명하기로 한다.
공동 연산부(510)는 복수의 풀 픽셀의 픽셀값을 입력받고, 복수의 풀 픽셀의 픽셀값을 가산 및 a비트 시프트 연산함으로써 각 풀 픽셀에 지정된 공동 계수를 승산한 결과와 같은 공동 연산 결과값을 계산하여 출력하기 위한 수단이다.
공동 연산부(510)는 도 5에 도시된 바와 같이, 복수의 가산부(511, 512)를 포함한다. 여기서, 제1 열 가산부(511)는 복수의 풀 픽셀의 픽셀값을 지정된 순서대로 두개씩 입력받아 가산하고, 가산된 결과를 비트 시프트 연산하여 2열 가산부(511, 512)로 출력할 수 있다.
보다 상세하게, 제1 열 가산부(511)는 복수의 풀 픽셀의 픽셀값 중 제n 풀 픽셀의 픽셀값과 제(m-n)열 풀 픽셀의 픽셀값을 각각 입력받아 가산하는 복수의 가산기를 포함한다. 여기서, n과 m은 자연수이며, m은 n보다 큰 자연수이다.
도 5를 참조하면, 제1 열 가산부(511)는 제1 가산기 내지 제4 가산기를 포함한다.
제1 가산기는 제1 풀 픽셀과 제8 풀 픽셀의 픽셀값을 각각 입력받아 가산한 후 그 결과값(이하, 제1 중간 결과값이라 칭하기로 함)을 제2 열 가산부(512)의 제5 가산기로 출력한다.
또한, 제2 가산기는 제2 풀 픽셀과 제7 풀 픽셀의 픽셀값을 각각 입력받아 가산한 후 지정된 비트 시프트 연산(예를 들어, 2비트 오른쪽으로의 시프트 연산)을 수행한 후 그 결과값(이하, 제2 중간 결과값이라 칭하기로 함)을 제2 열 가산부(512)의 제5 가산기로 출력한다.
또한, 제3 가산기는 제3 풀 픽셀과 제6 풀 픽셀의 픽셀값을 각각 입력받아 가산한 후 3비트 오른쪽 시프트 연산한 결과값(이하, 제3 중간 결과값이라 칭하기로 함)과 제1 비트 오른쪽 시프트 연산한 결과값(이하, 제4 중간 결과값이라 칭하기로 함)을 제2 열 가산부(512)의 제6 가산기로 출력할 수 있다.
또한, 제4 가산기는 제4 풀 픽셀과 제5 풀 픽셀의 픽셀값을 각각 입력받아 가산한 후 5비트 오른쪽 시프트 연산한 결과값(제5 중간 결과값이라 칭하기로 함)과 3 비트 오른쪽 시프트 연산한 결과값(이하, 제6 중간 결과값이라 칭하기로 함)을 제2 열 가산부(512)의 제6 가산기로 출력할 수 있다.
제2 열 가산부(512)는 제5 내지 제7 가산기를 각각 포함한다.
제2 열 가산부(512)에 포함된 각각의 가산기(즉, 제5 가산기 내지 제7 가산기)는 각각 제1 열 가산부(511)의 복수의 중간 결과값을 순차적으로 두개씩 입력받아 가산하여 제1 쿼터 픽셀 연산부(515), 하프 픽셀 연산부(520) 및 제2 쿼터 픽셀 연산부(525)로 각각 출력할 수 있다.
보다 상세히 설명하면, 제2 열 가산부(512)의 제5 가산기는 제1 열 가산부(511)로부터 출력된 제1 중간 결과값과 제2 중간 결과값을 가산한 결과값(이하, 제1 공동 연산 결과값이라 칭하기로 함)을 제1 쿼터 픽셀 연산부(515), 하프 픽셀 연산부(520) 및 제2 쿼터 픽셀 연산부(525)로 각각 출력할 수 있다.
또한, 제2 열 가산부(512)의 제6 가산기는 제1 열 가산부(511)로부터 출력된 제3 중간 결과값과 제 4 중간 결과값을 가산한 결과값(이하, 제2 공동 연산 결과값이라 칭하기로 함)을 제1 쿼터 픽셀 연산부(515), 하프 픽셀 연산부(520) 및 제2 쿼터 픽셀 연산부(525)로 각각 출력할 수 있다.
마지막으로, 제2 열 가산부(512)의 제7 가산기는 제1 열 가산부(511)로부터 출력된 제5 중간 결과값과 제6 중간 결과값을 입력받아 가산하고, 그 결과값(이하, 제3 공동 연산 결과값이라 칭하기로 함)을 제1 쿼터 픽셀 연산부(515), 하프 픽셀 연산부(520) 및 제2 쿼터 픽셀 연산부(525)로 각각 출력할 수 있다.
제1 쿼터 픽셀 연산부(515) 및 제2 쿼터 픽셀 연산부(525)는 공동 연산부(510)로부터 입력되는 제1 공동 연산 결과값, 제2 공동 연산 결과값 및 제3 공동 연산 결과값에 잔여 계수값을 가산 및 감산하여 제1 쿼터 픽셀 및 제2 쿼터 픽셀을 각각 계산하기 위한 수단이다.
제1 쿼터 픽셀 연산부(515) 및 제2 쿼터 픽셀 연산부(525)의 잔여 계수값은 각각 상이하며, 이는 도 5에 도시된 바와 같다.
하프 픽셀 연산부(520)는 복수의 가산기(제8 가산기 내지 제 11 가산기)를 포함한다.
이때, 하프 픽셀 연산부(520)에 포함된 각 가산기는 이전 가산기의 가산 결과를 이용하여 순차적으로 동작될 수 있다.
예를 들어, 제8 가산기는 제3 풀 픽셀과 제 5 풀 픽셀의 픽셀값을 입력받아 가산하여 가산된 결과값을 제9 가산기로 출력할 수 있다. 이어, 제9 가산기는 제8 가산기의 가산 결과값과 공동 연산부(510)로부터 입력되는 제2 공동 연산 결과값을 가산하여 제10 가산기로 출력할 수 있다.
또한, 제10 가산기는 제9 가산기의 가산 결과값과 공동 연산부(510)로부터 입력되는 제1 공동 연산 결과값을 가산하여 제11 가산기로 출력할 수 있다. 마지막으로 제11 가산기는 제10 가산기의 가산 결과값과 공동 연산부(510)로부터 입력되는 제3 공동 연산 결과값을 가산하여 최종 하프 픽셀을 계산할 수 있다.
이와 같이, 하프 픽셀 연산부(520)에 포함되는 복수의 가산기 중 첫번째 가산기를 제외한 나머지 가산기는 앞단에 위치한 가산기의 가산 결과값과 공동 연산부(510)로부터 입력되는 공동 연산 결과값을 순차적으로 가산하여 하프 픽셀을 계산할 수 있다.
도 5에 도시된 바와 같이, 필터는 풀 픽셀에 대한 공동 연산을 수행한 후 그 결과값을 기반으로 하프 픽셀, 제1 및 제2 쿼터 픽셀을 계산함으로써, 인터폴레이터(200)의 성능 향상에도 불구하고 하드웨어 면적을 줄일 수 있는 이점이 있다.
상술한 본 발명에 따른 모션 예측을 위한 인터폴레이터 픽셀 생성 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다.
이상에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 쉽게 이해할 수 있을 것이다.
210: 제1 필터부
215: 제2 필터부

Claims (12)

  1. 현재 블록에서 열(column) 단위로 각 열의 풀 픽셀의 픽셀값을 입력받아 세로 방향 인터폴레이터 픽셀을 생성하는 제1 필터부; 및
    상기 제1 필터부로 입력된 각 열의 풀 픽셀의 픽셀값을 각 사이클마다 순차적으로 입력받아 저장한 후 지정된 사이클마다 가로 방향 인터폴레이터 픽셀을 생성하는 제2 필터부를 포함하되,
    상기 제1 필터부는 상기 세로 방향에 대한 복수의 인터폴레이터 픽셀이 생성된 이후, 상기 제2 필터부에 의해 출력된 상기 가로 방향 인터폴레이터 픽셀의 픽셀값을 이용하여 대각선 방향 인터폴레이터 픽셀을 생성하며,
    상기 제1 필터부 및 상기 제2 필터부는 각각 복수의 필터를 포함하고,
    상기 각각의 필터는 새로 방향으로 배치되되,
    상기 각각 필터는,
    복수의 풀 픽셀의 픽셀값을 입력받아 가산 및 비트 시프트 연산 중 적어도 하나를 수행하여 각 풀 픽셀의 픽셀값에 대해 지정된 공동 계수가 승산된 공동 연산 결과값을 출력하는 공동 연산부;
    상기 공동 연산 결과값을 입력받아 지정된 잔여 계수값을 가산 및 감산하여 복수의 쿼터 픽셀을 생성하는 복수의 쿼터 픽셀 연산부; 및
    상기 공동 연산 결과값과 상기 복수의 풀 픽셀 중 지정된 두개의 풀 픽셀의 픽셀값을 입력받아 복수의 가산 연산을 통해 하프 픽셀을 생성하는 하프 픽셀 연산부를 포함하는 것을 특징으로 하는 인터폴레이터.
  2. 제1 항에 있어서,
    상기 제1 필터부는 복수의 필터를 포함하되,
    상기 필터 중 어느 하나는 세로 방향 인터폴레이터 픽셀을 생성하며,
    상기 필터 중 다른 하나는 상기 제2 필터부를 통해 출력되는 상기 가로 방향 인터폴레이터 픽셀을 이용하여 대각선 방향 인터폴레이터 픽셀을 생성하는 것을 특징으로 하는 인터폴레이터.
  3. 제1 항에 있어서,
    상기 세로 방향 인터폴레이터 픽셀, 상기 가로 방향 인터폴레이터 픽셀 및 상기 대각선 방향 인터폴레이터 픽셀은 각각 하프 픽셀과 쿼터 픽셀을 포함하는 것을 특징으로 하는 인터폴레이터.
  4. 삭제
  5. 삭제
  6. 제1 항에 있어서,
    상기 공동 연산부는,
    상기 복수의 풀 픽셀 중 제n 풀 픽셀의 픽셀값과 제(8-n) 풀 픽셀의 픽셀값을 가산하는 제1 가산기, 제2 가산기, 제3 가산기 및 제4 가산기를 포함하는 1열 가산부-상기 n은 자연수임; 및
    상기 제1 가산기의 제1 중간 결과값의 부호를 반전시키고, 제2 가산기의 제2중간 결과값을 오른쪽으로 비트 시프트시킨 후 상기 제1 중간 결과값과 상기 비트 시프트시킨 제2 중간 결과값을 가산하여 출력하는 제5 가산기, 상기 제3 가산기의 지정된 두개의 풀 픽셀의 가산 결과를 각각 s(s는 자연수) 및 ss(ss는 자연수) 비트 시프트 연산한 제3 중간 결과값과 제4 중간 결과값을 입력받아 가산하여 출력하는 제6 가산기, 상기 제4 가산기의 지정된 두개의 풀 픽셀의 가산 결과를 t(t는 자연수) 및 tt(tt는 자연수) 비트 시프트시킨 제 5 중간 결과값과 제6 중간 결과값을 입력받아 가산하는 제7 가산기를 포함하는 2열 가산부를 포함하는 것을 특징으로 하는 인터폴레이터.

  7. 제6 항에 있어서,
    상기 하프 픽셀 연산부는,
    k(k는 자연수)개의 가산기를 포함하되, k개의 가산기는 각각 직렬로 배치되고, 첫번째 가산기를 제외한 나머지 가산기는 앞단에 배치된 가산기의 가산 결과와 상기 공동 연산부로부터 입력되는 상기 공동 연산 결과값 중 일부를 순차적으로 가산하여 하프 픽셀을 생성하는 것을 특징으로 하는 인터폴레이터.
  8. 제1 항에 있어서,
    상기 하프 픽셀 연산부는,
    상기 복수의 풀 픽셀의 픽셀값 중 제3 풀 픽셀과 제5 풀 픽셀의 픽셀값을 가산하는 제8 가산기, 상기 제8 가산기의 가산 결과값과 상기 6 가산기의 가산 결과값을 가산하는 제9 가산기, 제8 가산기의 가산 결과값과 제5 가산기의 가산 결과값을 가산하는 제10 가산기, 제9 가산기의 사간 결과값과 제7 가산기의 가산 결과값을 가산하여 하프 픽셀을 생성하는 것을 특징으로 하는 인터폴레이터.
  9. 인터폴레이터 필터에 있어서,
    복수의 풀 픽셀의 픽셀값을 입력받아 가산 및 비트 시프트 연산 중 적어도 하나를 수행하여 각 풀 픽셀의 픽셀값에 대해 지정된 공동 계수가 승산된 공동 연산 결과값을 출력하는 공동 연산부;
    상기 공동 연산 결과값을 입력받아 지정된 잔여 계수값을 가산 및 감산하여 복수의 쿼터 픽셀을 생성하는 복수의 쿼터 픽셀 연산부; 및
    상기 공동 연산 결과값과 상기 복수의 풀 픽셀 중 지정된 두개의 풀 픽셀의 픽셀값을 입력받아 복수의 가산 연산을 통해 하프 픽셀을 생성하는 하프 픽셀 연산부를 포함하되,
    상기 공통 연산부는,
    상기 복수의 풀 픽셀의 픽셀값을 지정된 순서대로 두개씩 페어로 각각 입력받아 가산함에 있어, 상기 복수의 풀 픽셀의 픽셀값 중 제n 풀 픽셀의 픽셀값과 제(m-n)열 풀 픽셀의 픽셀값을 각각 페어로 입력받되, 상기 n은 자연수이며, 상기 m은 상기 n보다 큰 자연수인 것을 특징으로 하는 인터폴레이터 필터.
  10. 수직 필터인 제1 필터부를 수행하며, 상기 제1 필터부를 이용하여 현재 블록에서 열(column) 단위로 각 열의 풀 픽셀의 픽셀값을 입력받아 세로 방향 인터폴레이터 픽셀을 생성하는 단계;
    상기 제1 필터부로 입력된 각 열의 풀 픽셀의 픽셀값을 각 사이클마다 가로 방향으로 시프트시켜 저장한 후 수평 필터인 제2 필터부를 수행하고, 상기 제2 필터부를 이용하여 지정된 사이클마다 가로 방향 인터폴레이터 픽셀을 생성하는 단계; 및
    상기 제1 필터부의 상기 세로 방향에 대한 인터폴레이터 픽셀이 생성된 후 상기 제1 필터부를 공유하여 상기 가로 방향 인터폴레이터 픽셀을 이용하여 대각선 방향 인터폴레이터 픽셀을 생성하는 단계를 포함하되,
    상기 수직 필터 및 수평 필터는 각각 세로 방향으로 배치되며,
    상기 세로 방향 인터폴레이터 픽셀, 상기 가로 방향 인터폴레이터 픽셀 및 상기 대각선 방향 인터폴레이터 픽셀을 생성하는 단계는 각각,
    상기 복수의 풀 픽셀의 픽셀값 중 제n 풀 픽셀의 픽셀값과 제(m-n)열 풀 픽셀의 픽셀값을 각각 페어로 입력받아 가산 및 비트 시프트 연산 중 적어도 하나를 수행하여 각 풀 픽셀의 픽셀값에 대해 지정된 공동 계수가 승산된 공동 연산 결과값을 출력하는 단계;
    상기 공동 연산 결과값을 입력받아 지정된 잔여 계수값을 가산 및 감산하여 복수의 쿼터 픽셀을 생성하는 단계; 및
    상기 공동 연산 결과값과 상기 복수의 풀 픽셀 중 지정된 두개의 풀 픽셀의 픽셀값을 입력받아 복수의 가산 연산을 통해 하프 픽셀을 생성하는 단계를 포함하는 것을 특징으로 하는 인터폴레이터 픽셀 생성 방법.
  11. 제10 항에 있어서,
    상기 세로 방향 인터폴레이터 픽셀, 상기 가로 방향 인터폴레이터 픽셀 및 상기 가로 방향 인터폴레이터 픽셀은 각각 하프 픽셀, 제1 쿼터 픽셀 및 제2 쿼터 픽셀을 포함하는 것을 특징으로 하는 인터폴레이터 픽셀 생성 방법.
  12. 제10항 또는 제11항에 따른 방법을 수행하기 위한 프로그램 코드를 기록한 컴퓨터로 판독 가능한 기록매체 제품.
KR1020150130869A 2015-09-16 2015-09-16 인터폴레이터 및 인터폴레이터 픽셀 생성 방법 KR101742765B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150130869A KR101742765B1 (ko) 2015-09-16 2015-09-16 인터폴레이터 및 인터폴레이터 픽셀 생성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150130869A KR101742765B1 (ko) 2015-09-16 2015-09-16 인터폴레이터 및 인터폴레이터 픽셀 생성 방법

Publications (2)

Publication Number Publication Date
KR20170033046A KR20170033046A (ko) 2017-03-24
KR101742765B1 true KR101742765B1 (ko) 2017-06-02

Family

ID=58500614

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150130869A KR101742765B1 (ko) 2015-09-16 2015-09-16 인터폴레이터 및 인터폴레이터 픽셀 생성 방법

Country Status (1)

Country Link
KR (1) KR101742765B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006180509A (ja) * 2004-12-21 2006-07-06 Stmicroelectronics Inc サブピクセル補間の高速実現のための方法及びシステム
JP2008141249A (ja) * 2006-11-29 2008-06-19 Matsushita Electric Ind Co Ltd 動きベクトル検出装置およびその方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006180509A (ja) * 2004-12-21 2006-07-06 Stmicroelectronics Inc サブピクセル補間の高速実現のための方法及びシステム
JP2008141249A (ja) * 2006-11-29 2008-06-19 Matsushita Electric Ind Co Ltd 動きベクトル検出装置およびその方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Gang He, et al., ‘A 995Mpixels/s 0.2nJ/pixel fractional motion estimation architecture in HEVC for Ultra-HD’, 2013 IEEE Asian Solid-State Circuits Conference (A-SSCC)

Also Published As

Publication number Publication date
KR20170033046A (ko) 2017-03-24

Similar Documents

Publication Publication Date Title
US8212823B2 (en) Systems and methods for accelerating sub-pixel interpolation in video processing applications
US8369419B2 (en) Systems and methods of video compression deblocking
ES2254811T3 (es) Interpolacion subpixel en la estimacion y compesacion del movimiento.
US7941006B2 (en) Pixel interpolating method and device
JP2004007337A5 (ko)
JP2008048181A (ja) デブロッキングフィルタ、画像符号化装置および画像復号化装置
US8509567B2 (en) Half pixel interpolator for video motion estimation accelerator
US20100254457A1 (en) Method of implementing intra prediction computation applied to h.264 digital video coding and device
US9800874B2 (en) Image decoding apparatus executing successive tile decoding and filtering around tile boundary
US5793443A (en) Motion vector detection circuit
US7792192B2 (en) System and method for sub-pixel interpolation in motion vector estimation
EP1761062A1 (en) Generating and storing image data
US20140307794A1 (en) Apparatus and method for motion estimation for variable block sizes
US5448301A (en) Programmable video transformation rendering method and apparatus
JP5323252B2 (ja) 動画像符号化方法、復号化方法、符号化装置および復号化装置
US20050047502A1 (en) Method and apparatus for the efficient representation of interpolated video frames for motion-compensated coding
JP4963220B2 (ja) フィルタ演算器及び動き補償装置
KR101742765B1 (ko) 인터폴레이터 및 인터폴레이터 픽셀 생성 방법
JP4516051B2 (ja) フィルタ処理装置、乗算器及び動き補償処理装置
JP4847460B2 (ja) 画像内挿方法及び画素内挿装置
KR101395143B1 (ko) 영상처리의 정수변환 방법 및 정수변환 장치
US20100177827A1 (en) Sub-pixel generating apparatus, sub-pixel generating method and storage medium, as well as motion compensating apparatus
US20130329780A1 (en) Inverse transform method for ultra-high resolution video codec
US9667960B1 (en) Low complexity cost function for sub-pixel motion estimation
JP5612177B2 (ja) 動画像符号化方法、復号化方法、符号化装置および復号化装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant