KR101383515B1 - 영상의 역변환 장치 - Google Patents
영상의 역변환 장치 Download PDFInfo
- Publication number
- KR101383515B1 KR101383515B1 KR1020130016320A KR20130016320A KR101383515B1 KR 101383515 B1 KR101383515 B1 KR 101383515B1 KR 1020130016320 A KR1020130016320 A KR 1020130016320A KR 20130016320 A KR20130016320 A KR 20130016320A KR 101383515 B1 KR101383515 B1 KR 101383515B1
- Authority
- KR
- South Korea
- Prior art keywords
- inverse transform
- adder
- inverse
- output
- output value
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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 an image region, e.g. an object
- H04N19/176—Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
영상의 역변환 장치가 개시된다. 개시된 영상의 역변환 장치는 소정 크기의 블록 단위로 영상의 역변환을 수행하기 위한 다수의 역변환 유닛을 구비한 역변환부;를 포함하되, 상기 다수의 역변환 유닛 각각은, N(2 이상의 정수임)회의 역변환 연산을 순차적으로 수행하여 상기 영상의 역변환을 수행하고, 제1 서브 역변환 유닛, 제2 서브 역변환 유닛, 및 상기 제1 서브 역변환 유닛의 출력값과 상기 제2 서브 역변환 유닛의 출력값에 대해 가감 연산을 수행하는 제3 가감산기를 포함하되, 상기 제1 서브 역변환 유닛은 3:1 멀티플렉서, 4개의 제1 쉬프터 및 3개의 제1 가감산기를 포함하고, 상기 제2 서브 역변환 유닛은 5:1 멀티플렉서, 4개의 제2 쉬프터 및 3개의 제2 가감산기를 포함하며, 상기 제3 가감산기의 출력단은 상기 3:1 멀티플렉서의 입력단과 연결된다.
Description
본 발명의 실시예들은 초고해상도 영상 등과 같은 영상의 역변환을 위한 최적화된 구성을 가지는 영상의 역변환 장치에 관한 것이다.
최근 디지털 비디오 압축 기술의 발전으로 인해 많은 영상들이 디지털화되어 사용자에게 제공되고 있으며, 사용자들은 Full-HD 3D 영상, UHD(Ultra HD) 영상 등과 같이 기존의 영상에 비해 높은 화질 및 해상도를 갖는 고화질의 영상을 요구하고 있다.
상기와 같은 사용자의 요구를 만족시키기 위해, MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)는 JCT-VC(Joint Collaborative Team on Video Coding)이라는 단체를 구성하여 H.264/AVC 표준보다 2배 이상의 높은 압축률을 구현하는 것을 목표로 한 HEVC(High Efficiency Video Coding) 표준에 대한 연구를 진행하고 있다.
한편, 고화질의 영상을 변환/역변환하기 위한 종래의 비디오 코덱에서는 4×4, 8×8, 16×16 크기의 블록 단위로 영상의 변환/역변환을 수행한다.
이와 관련하여, 한국공개특허 제2011-7010112호에서는 4×4 및 8×8 보다 큰 크기의 블록 단위의 변환을 이용한 비디오 코딩에 관한 기술을 개시하고 있다. 그러나, 상기한 한국공개특허에 따른 장치를 실제로 하드웨어로 구현하는 경우 면적이 커지는 단점이 존재한다.
이에 따라, 고화질의 영상 역변환을 위한 보다 새로운 기술의 필요성이 증가하고 있다.
상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명에서는 초고해상도 영상 등을 대상으로 하는 영상의 역변환을 위한 최적화된 구성을 가지는 영상의 역변환 장치를 제안하고자 한다.
본 발명의 다른 목적들은 하기의 실시예를 통해 당업자에 의해 도출될 수 있을 것이다.
상기한 목적을 달성하기 위해 본 발명의 바람직한 일 실시예에 따르면, 소정 크기의 블록 단위로 영상의 역변환을 수행하기 위한 다수의 역변환 유닛을 구비한 역변환부;를 포함하되, 상기 다수의 역변환 유닛 각각은, N(2 이상의 정수임)회의 역변환 연산을 순차적으로 수행하여 상기 영상의 역변환을 수행하고, 제1 서브 역변환 유닛, 제2 서브 역변환 유닛, 및 상기 제1 서브 역변환 유닛의 출력값과 상기 제2 서브 역변환 유닛의 출력값에 대해 가감 연산을 수행하는 제3 가감산기를 포함하되, 상기 제1 서브 역변환 유닛은 3:1 멀티플렉서, 4개의 제1 쉬프터 및 3개의 제1 가감산기를 포함하고, 상기 제2 서브 역변환 유닛은 5:1 멀티플렉서, 4개의 제2 쉬프터 및 3개의 제2 가감산기를 포함하며, 상기 제3 가감산기의 출력단은 상기 3:1 멀티플렉서의 입력단과 연결되는 것을 특징으로 하는 영상의 역변환 장치가 제공된다.
상기 3:1 멀티플렉서는 상기 제3 가감산기의 출력값이 포함된 1 이상 3 이하의 제1 픽셀값을 입력받고 상기 1 이상 3 이하의 제1 픽셀값 중 어느 하나의 제1 픽셀값을 출력하고, 상기 4개의 제1 쉬프터는 상기 어느 하나의 제1 픽셀값에 대해 각각 쉬프트 연산을 수행하고, 상기 3개의 제1 가감산기 중에서, 제1-1 가감산기는 상기 4개의 제1 쉬프터의 출력값 중 제1-1 쉬프터의 출력값 및 제1-2 쉬프터의 출력값에 대한 가감 연산을 수행하고, 제1-2 가감산기는 상기 4개의 제1 쉬프터의 출력값 중 제1-3 쉬프터의 출력값 및 제1-4 쉬프터의 출력값에 대한 가감 연산을 수행하고, 제1-3 가감산기는 상기 제1-1 가감산기의 출력값 및 상기 제1-2 가감산기의 출력값에 대한 가감 연산을 수행하며, 상기 제1-3 가감산기의 출력값은 상기 제1 서브 역변환 유닛의 출력값과 대응될 수 있다.
상기 5:1 멀티플렉서는 1 이상 5 이하의 제2 픽셀값을 입력받고 상기 1 이상 5 이하의 제2 픽셀값 중 어느 하나의 제2 픽셀값을 출력하고, 상기 4개의 제2 쉬프터는 상기 어느 하나의 제2 픽셀값에 대해 각각 쉬프트 연산을 수행하고, 상기 3개의 제2 가감산기 중에서, 제2-1 가감산기는 상기 4개의 제2 쉬프터의 출력값 중 제2-1 쉬프터의 출력값 및 제2-2 쉬프터의 출력값에 대한 가감 연산을 수행하고, 제2-2 가감산기는 상기 4개의 제2 쉬프터의 출력값 중 제2-3 쉬프터의 출력값 및 제2-4 쉬프터의 출력값에 대한 가감 연산을 수행하고, 제2-3 가감산기는 상기 제2-1 가감산기의 출력값 및 상기 제2-2 가감산기의 출력값에 대한 가감 연산을 수행하며, 상기 제2-3 가감산기의 출력값은 상기 제2 서브 역변환 유닛의 출력값과 대응될 수 있다.
상기 블록의 크기는 4×4, 8×8 및 16×16 중 어느 하나이고, 상기 다수의 역변환 유닛의 개수는 16개이며, 상기 역변환 연산의 순차적인 수행횟수(N)는 5회일 수 있다.
상기 블록의 크기가 4×4인 경우, 상기 16개의 역변환 유닛은 4개의 역변환 유닛을 각각 구비하는 4개의 역변환 유닛 그룹으로 그룹핑되고, 상기 4개의 역변환 유닛 그룹 각각은 4×4 블록 단위의 영상 역변환을 수행하고, 상기 블록의 크기가 8×8인 경우, 상기 16개의 역변환 유닛은 8개의 역변환 유닛을 각각 구비하는 2개의 역변환 유닛 그룹으로 그룹핑되고, 상기 2개의 역변환 유닛 그룹 각각은 8×8 블록 단위의 영상 역변환을 수행할 수 있다.
본 발명에 따른 영상의 역변환 장치는 초고해상도 영상 등을 대상으로 하는 영상의 역변환을 위한 최적화된 구성을 가지는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 영상의 역변환 장치의 개략적인 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따라서, 16×16 블록 단위로 수행되는 영상 역변환의 전체적인 흐름을 도시한 도면이다.
도 3은 HEVC 표준에서 정의하는 16×16 블록 단위의 영상의 역변환을 통한 역변환된 픽셀값의 출력을 위한 입력 픽셀값과 출력 픽셀값에 대한 관계를 정의하는 표를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 역변환 유닛의 상세한 구성을 도시한 도면이다.
도 5는 도 2에 도시된 레지스터들의 입출력 연결 관계를 표로 정리한 도면이다.
도 6은 본 발명의 일 실시예에 따라며, 25개의 레지스터 및 16개의 역변환 유닛의 연결관계의 일례를 도시한 도면이다.
도 7은 HEVC 표준에서 정의하는 4×4 블록 단위의 영상의 역변환을 통한 역변환된 픽셀값의 출력을 위한 입력 픽셀값과 출력 픽셀값에 대한 관계를 정의하는 표를 도시한 도면이다.
도 8은 HEVC 표준에서 정의하는 8×8 블록 단위의 영상의 역변환을 통한 역변환된 픽셀값의 출력을 위한 입력 픽셀값과 출력 픽셀값에 대한 관계를 정의하는 표를 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 영상의 역변환 장치를 이용한 4×4 및 8×8 블록 단위의 영상의 역변환의 개념을 도시하고 있다.
도 2는 본 발명의 일 실시예에 따라서, 16×16 블록 단위로 수행되는 영상 역변환의 전체적인 흐름을 도시한 도면이다.
도 3은 HEVC 표준에서 정의하는 16×16 블록 단위의 영상의 역변환을 통한 역변환된 픽셀값의 출력을 위한 입력 픽셀값과 출력 픽셀값에 대한 관계를 정의하는 표를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 역변환 유닛의 상세한 구성을 도시한 도면이다.
도 5는 도 2에 도시된 레지스터들의 입출력 연결 관계를 표로 정리한 도면이다.
도 6은 본 발명의 일 실시예에 따라며, 25개의 레지스터 및 16개의 역변환 유닛의 연결관계의 일례를 도시한 도면이다.
도 7은 HEVC 표준에서 정의하는 4×4 블록 단위의 영상의 역변환을 통한 역변환된 픽셀값의 출력을 위한 입력 픽셀값과 출력 픽셀값에 대한 관계를 정의하는 표를 도시한 도면이다.
도 8은 HEVC 표준에서 정의하는 8×8 블록 단위의 영상의 역변환을 통한 역변환된 픽셀값의 출력을 위한 입력 픽셀값과 출력 픽셀값에 대한 관계를 정의하는 표를 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 영상의 역변환 장치를 이용한 4×4 및 8×8 블록 단위의 영상의 역변환의 개념을 도시하고 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 영상의 역변환 장치의 개략적인 구성을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 영상의 역변환 장치(100)는 레지스터부(110) 및 역변환부(120)를 포함한다.
레지스터부(110)는 역변환의 대상이 되는 입력 픽셀값들, 역변환 과정에서 생성되는 중간 픽셀값들 및 역변환 수행의 완료에 따라 생성되는 출력 픽셀값들 등과 같은 픽셀값들을 저장한다. 이를 위해, 레지스터부(110)는 픽셀값들을 저장하기 위한 다수의 레지스터(111)로 구성될 수 있다. 여기서, 다수의 레지스터(111) 각각은 물리적으로 구분된 것일 수도 있고 논리적으로 구분된 것일 수도 있다.
역변환부(120)는 소정 크기의 블록 단위로 영상의 역변환을 수행한다. 즉, 역변환부(120)는 입력 픽셀값들에 대한 역변환을 수행하여 출력 픽셀값을 생성한다. 역변환부(120)는 입력 픽셀값들을 대상으로 하여 소정 크기의 블록 단위로 영상의 역변환을 수행하여 역변환된 픽셀값들을 출력하며, 이를 위해 다수의 역변환 유닛(121)을 구비한다.
본 발명의 일 실시예에 따르면, 역변환부(120)에 의해 역변환되는 영상은 HEVC 표준에 따라 변환된 영상일 수 있으며, 역변환의 단위인 블록의 크기는 4×4, 8×8 및 16×16 중 어느 하나일 수 있다.
이하, 도 2를 참조하여 본 발명의 일 실시예에 따른 영상 역변환 장치(100)를 통해 수행하고자 하는 영상 역변환의 전체적인 흐름을 상세하게 설명한다.
도 2는 16×16 블록 단위로 수행되는 영상 역변환의 전체적인 흐름을 도시한 도면이다.
도 2에서, 작은 크기를 가지는 다수의 사각형상 각각은 레지스터이고, X1 내지 X15는 역변환기(120)로 입력되는 픽셀값(즉, 변환된 픽셀값)을 의미하며, Y1 내지 Y15는 역변환기(120)에서 출력되는 픽셀값(즉, 역변환된 픽셀값)을 의미한다. 여기서, 다수의 사각형상 모두는 실제적으로 존재하는 레지스터는 아니며, 영상의 역변환의 흐름을 용이하게 설명하기 위한 가상적으로 배열된 레지스터이다. 레지스터부(110)를 구성하는 실제적인 다수의 레지스터는 아래에서 상세하게 설명하기로 한다.
그리고, 레지스터들을 연결하는 선은 소정의 계수를 곱한 후에 수행되는 덧셈(빨간색 선) 연산 또는 뺄셈(파란색 선) 연산을 의미한다. 예를 들어, X0로 표시된 레지스터의 우측에 위치한 레지스터에 저장되는 값은 X0 값에 계수 a1을 곱한 값과 X1 값에 계수 a2를 곱한 값을 합산한 값, 즉 (a1×X0)+(a2×X1)과 대응된다. 이와 같은 연산은 영상의 역변환을 위해 수행되는 버터플라이 연산으로서, 본 발명에서는 상기한 연산을 "역변환 연산"이라 칭하기로 한다.
정리하면, 도 2에서, 최좌측 열에 위치한 흰색의 사각형상은 입력 픽셀값들이 저장되는 레지스터이고, 최우측 열에 위치한 흰색의 사각형상은 출력 픽셀값들이 저장되는 레지스터이며, 최좌측 열 및 최우측 열을 제외한 열에 위치한 흰색 사각형상은 역변환 연산을 통해 생성되는 중간 픽셀값들이 저장되는 레지스터이다. 그리고, 노란색으로 표시된 사각형상은 다음 단계의 역변환 연산을 수행하기 위해 요구되는 바이패스(bypass) 레지스터이다.
이와 관련하여, HEVC 표준에서는 상기와 같은 16×16 블록 단위의 영상의 역변환을 통한 역변환된 픽셀값의 출력을 위해, 입력 픽셀값(Xi, i=0~15)과 출력 픽셀값(Yi)에 대한 관계를 정의하고 있으며, 이는 도 3에 도시된 표와 같다. 여기서, 도 3의 가로축은 X의 값을, 세로축은 Y의 값을 의미한다. 일례로서, 도 3에 따르면, Y0의 값은 아래의 수학식 1과 같이 표현된다.
한편, 도 2를 참조하면, 역변환된 픽셀값을 출력하기 위해서는 하나의 픽셀에 대해 총 5회(5단계)의 역변환 연산이 수행되어야 하며, 각 단계의 역변환 수행을 위해서는 2개의 픽셀값이 입력되어야 함을 확인할 수 있다. 즉, 역변환 연산은 2개의 픽셀값을 대상으로 수행되며, 그 결과로 하나의 픽셀값이 출력된다. 출력된 픽셀값은 최종적으로 역변환된 픽셀값일 수도 있고(최우측 열의 흰색 레지스터의 픽셀값), 다음 단계의 역변환 연산을 위해 요구되는 픽셀값일 수도 있다(중간 열들의 레지스터에서 출력되는 픽셀값).
그런데, 상기한 역변환 연산을 수행하기 위해 개별적으로 역변환 연산을 위한 유닛(역변환 유닛)을 구성하는 경우, 역변환 유닛의 숫자가 지나치게 많아지게 되어 역변환 장치(100)의 하드웨어 크기가 크게 증가하는 문제가 발생한다.
따라서, 본 발명에서는 상기한 문제점을 해결하기 위해 최소한의 역변환 유닛만을 이용하여 전체 역변환 연산을 수행할 수 있도록 영상의 역변환 장치(100)를 구성한다.
세부적으로, 본 발명의 바람직한 실시예에 따르면, 레지스터부(110)를 구성하는 레지스터(111)의 개수는 25개이고, 역변환부(120)를 구성하는 역변환 유닛(121)의 개수는 16개일 수 있다. 이는 4×4, 8×8 및 16×16 크기의 블록단위로 영상의 변환/역변환을 수행하는 HEVC 표준에 적합한 구조이다.
여기서, 16개의 역변환 유닛(121) 각각은 N(2 이상의 정수임)회의 역변환 연산을 순차적으로 수행하여 상기 영상의 역변환을 수행한다. 본 발명의 바람직한 실시예에 따르면, 순차적인 역변환 연산의 횟수는 앞서 도 2를 통해 설명한 바와 같이 5회일 수 있다. 즉, 하나의 역변환 유닛(121)이 N(=5)회의 역변환 연산(각각 2개의 픽셀값을 대상으로 수행됨)을 순차적으로 수행하여 하나의 역변환된 픽셀값을 생성할 수 있다.
이에 따라, 최소한의 개수의 역변환 유닛(121)만을 사용하여도 영상의 역변환을 수행할 수 있게 되므로, 역변환부(120) 즉, 영상의 역변환 장치(100)의 크기를 줄이면서도 영상의 역변환을 효율적으로 수행할 수 있다. 다시 말해, 도 2를 참조하면, 하나의 역변환된 픽셀값을 생성하기 위해서는 5회의 역변환 연산이 수행되어야 하고, 일반적으로 5회의 역변환 연산을 수행하기 위해서는 5개의 역변환 유닛이 사용된다. 그러나, 본 발명에서는 하나의 역변환 유닛(121)만을 이용하여 5회의 역변환 연산을 순차적으로 수행함으로써 역변환된 픽셀값을 생성하므로 영상의 역변환 장치(100) 내지 역변환부(120)의 크기를 감소시킬 수 있게 된다.
도 4에서는 상기한 순차적인 역변환 연산을 수행하기 위한 역변환 유닛(121)의 상세한 구성을 도시하고 있다.
도 4를 참조하면, 다수의 역변환 유닛(121) 각각은 제1 서브 역변환 유닛(410), 제2 서브 역변환 유닛(420) 및 제3 가감산기(430)를 포함할 수 있다. 그리고, 제1 서브 역변환 유닛(410)은 3:1 멀티플렉서(multiplexer)(411), 4개의 제1 쉬프터(shifter)(412) 및 3개의 제1 가감산기(adder-subtracter)(413)를 포함하고, 제2 서브 역변환 유닛(420)은 5:1 멀티플렉서(421), 4개의 제2 쉬프터(422) 및 3개의 제2 가감산기(423)를 포함한다.
세부적으로, 제1 서브 역변환 유닛(410)의 구조를 살펴보면, 3:1 멀티플렉서(411)는 1 이상 3 이하의 제1 픽셀값을 입력받고, 이들 중에서 어느 하나의 제1 픽셀값을 출력한다. 도 4에서는 도시하지 아니하였지만, 3:1 멀티플렉서(411)는 제어부(미도시)로부터 소정의 제어신호를 입력받으며, 입력된 제어신호에 기초하여 출력할 하나의 제1 픽셀값을 선택한다. 여기서, 출력되는 어느 하나의 제1 픽셀값은 앞서 설명한 역변환 연산의 수행의 대상이 되는 2개의 픽셀값 중 하나와 대응된다.
그리고, 4개의 제1 쉬프터(412)는 상기 어느 하나의 제1 픽셀값에 대해 각각 쉬프트 연산을 수행한다. 여기서, 쉬프트 연산은 곱셈 연산과 대응된다(좌측으로의 n비트의 쉬프트는 "×2n"과 대응됨). 쉬프트 연산의 정도(즉 쉬프팅의 정도)는 역변환 연산 시 곱하여지는 계수(앞서 설명한 a1/a2와 대응)에 따라 조절 가능하며, 이는 제어부(미도시)에서 출력된 소정의 제어신호에 의해 결정될 수 있다.
또한, 3개의 제1 가감산기(413) 중에서, 제1-1 가감산기(413a)는 제1-1 쉬프터(412a)의 출력값 및 제1-2 쉬프터(412b)의 출력값에 대한 가감 연산을 수행하고, 제1-2 가감산기(413b)는 제1-3 쉬프터(412c)의 출력값 및 제1-4 쉬프터(412d)의 출력값에 대한 가감 연산을 수행하며, 제1-3 가감산기(413c)는 제1-1 가감산기(413a)의 출력값 및 제1-2 가감산기(413b)의 출력값에 대한 가감 연산을 수행한다. 제1-3 가감산기(413c)의 출력값은 제1 서브 역변환 유닛(410)의 출력값과 대응된다. 3개의 제1 가감산기(413)이 덧셈 연산을 수행할지 뺄셈 연산을 수행할지 여부는 제어부(미도시)에서 출력되는 소정의 제어신호에 의해 결정될 수 있다.
한편, 제2 서브 역변환 유닛(420) 역시 앞서 설명한 제1 서브 역변환 유닛(410)과 유사한 구조를 가진다. 세부적으로, 5:1 멀티플렉서(421)는 1 이상 5 이하의 제2 픽셀값을 입력받고, 이들 중에서 어느 하나의 제2 픽셀값을 출력한다. 이러한 5:1 멀티플렉서(421)의 동작 역시 제어부(미도시)에 의해 제어될 수 있다. 또한, 출력되는 어느 하나의 제2 픽셀값은 앞서 설명한 역변환 연산의 수행의 대상이 되는 2개의 픽셀값 중 나머지 하나와 대응된다.
그리고, 4개의 제2 쉬프터(422)는 상기 어느 하나의 제2 픽셀값에 대해 각각 쉬프트 연산(즉, 곱셈 연산)을 수행한다. 또한, 3개의 제2 가감산기(423) 중에서, 제2-1 가감산기(423a)는 제2-1 쉬프터(422a)의 출력값 및 제2-2 쉬프터(422b)의 출력값에 대한 가감 연산을 수행하고, 제2-2 가감산기(423b)는 제2-3 쉬프터(422c)의 출력값 및 제2-4 쉬프터(422d)의 출력값에 대한 가감 연산을 수행하며, 제2-3 가감산기(423c)는 제2-1 가감산기(423a)의 출력값 및 제2-2 가감산기(423b)의 출력값에 대한 가감 연산을 수행한다. 제2-3 가감산기(423c)의 출력값은 제2 서브 역변환 유닛(420)의 출력값과 대응된다. 그리고, 제2 쉬프터(422)의 쉬프팅 정도 및 제2 가감산기(423)의 가감 연산의 제어 역시 제어부(미도시)에 의해 제어 가능하다.
제3 가감산기(430)는 제1 서브 역변환 유닛(410)의 출력값 및 제2 서브 역변환 유닛(420)의 출력값에 대해 가감 연산을 수행(제어부(미도시)에 의해 제어 가능)하며, 제3 가감산기(430)의 출력단은 3:1 멀티플렉서(411)의 입력단과 연결된다. 즉, 3:1 멀티플렉서(411)는 제3 가감산기(430)의 출력값이 포함된 1 이상 3 이하의 제1 픽셀값을 입력받는다.
이하, 도 5 및 도 6을 참조하여 25개의 레지스터(111) 및 상기한 구조를 가지는 16개의 역변환 유닛(121)을 이용해 5단계의 역변환 연산을 수행하는 개념을 상세하게 설명한다.
도 5는 도 2에 도시된 레지스터들의 입출력 연결 관계를 표로 정리한 도면이다. 도 5의 표에 있어서, 숫자들은 도 2에 도시된 것과 같이 배열되는 레지스터의 행 번호와 대응된다.
예를 들어, Y0의 역변환된 픽셀값을 생성하기 위한 레지스터의 연결관계를 살펴보면 다음과 같다.
먼저, 0행 1열의 레지스터는 0행 0열의 레지스터 및 1행 0열의 레지스터와 연결된다(즉, 0행 0열의 레지스터에 저장된 픽셀값에 계수를 곱한 값과 1행 0열의 레지스터에 저장된 픽셀값에 계수를 곱한 값이 합산되어 0행 1열의 레지스터에 저장된다). 따라서, 도 5의 표에서, Y0의 역변환된 픽셀값을 위한 제1 단계의 셀에는 이전 레지스터들의 행 번호인 "0" 및 "1"의 값이 표시된다.
다음으로, 0행 2열의 레지스터는 0행 1열의 레지스터 및 2행 1열의 레지스터와 연결되므로, 도 5의 표에서, Y0의 역변환된 픽셀값을 위한 제2 단계의 셀에는 이전 레지스터의 행 번호인 "0" 및 "2"의 값이 표시된다.
계속하여, 0행 3열의 레지스터는 바이패스를 위한 레지스터로서 0행 2열의 레지스터의 픽셀값이 그대로 전달된다. 그리고, 0행 4열의 레지스터는 0행 3열의 레지스터 및 4행 3열의 레지스터와 연결되므로, 도 5의 표에서, Y0의 출력 픽셀값을 위한 제4 단계의 셀에는 이전 레지스터의 행 번호인 "0" 및 "4"의 값이 표시된다. 또한, 0행 5열의 레지스터는 0행 4열의 레지스터 및 21행 4열의 레지스터가 연결되므로, 도 5의 표에서, Y0의 출력 픽셀값을 위한 제5 단계의 셀에는 이전 레지스터들의 행 번호인 "0" 및 "21"의 값이 표시된다.
그런데, 도 5의 표를 참조하면, 역변환 연산을 위해 입력되는 픽셀값들의 개수는 일정한 특징이 있다. 예를 들어, Y0의 경우, 도 5의 표의 셀 내에서 좌측에 위치하는 값(레지스터의 위치)의 개수는 1개(즉, 0)이고, 도 5의 표의 셀 내에서 우측에 위치하는 값(레지스터의 위치)의 개수는 4개(즉, 1, 2, 4, 21)이다.
이와 같이 모든 역변환된 픽셀값(Yi)에 대해 레지스터의 연결관계를 정리하면 아래의 표 1과 같다.
여기서, 셀 내의 좌측에 표시된 레지스터의 픽셀값을 역변환 연산을 위한 2개의 픽셀값 중 하나(제1 픽셀값)과 대응시키고, 셀 내의 우측에 표시된 레지스터의 픽셀값을 역변환 연산을 위한 2개의 픽셀값 중 다른 하나(제2 픽셀값)과 대응시킬 수 있다.
상기와 같이 제1 픽셀값 및 제2 픽셀값을 대응시키는 경우, 16개의 역변환 유닛(121) 각각이 5단계의 역변환 연산을 수행하여 16개의 역변환된 픽셀값을 생성하기 위한 25개의 레지스터(111) 및 16개의 역변환 유닛(121)의 연결관계는 도 6에 도시된 바와 같을 수 있다.
도 6에서는 설명의 편의를 위해 Y0의 픽셀값을 출력하기 위한 제1 역변환 유닛(121a) 및 Y15의 픽셀값을 출력하기 위한 제16 역변환 유닛(121b)만을 도시하고 있으나, 이들 이외의 나머지 14개의 역변환 유닛(121) 역시 동일한 방법으로 25개의 레지스터(111)와 연결될 수 있다.
도 5 및 도 6을 참조하면, 제1 역변환 유닛(121a)의 제1 픽셀값은 모든 단계에서 레지스터 0의 픽셀값과만 대응되므로, 제1 역변환 유닛(121a)의 3:1 멀티플렉서(411)는 레지스터 0 과만 연결된다.
그러나, 제1 역변환 유닛(121a)의 제2 픽셀값은 레지스터 1의 픽셀값(제1 단계), 레지스터 2의 픽셀값(제2 단계), 레지스터 4의 픽셀값(제4 단계) 및 레지스터 21의 픽셀값(제5 단계)과 대응되므로, 제1 역변환 유닛(121a)의 5:1 멀티플렉서(421)는 레지스터 1, 레지스터 2, 레지스터 4 및 레지스터 21과 연결된다. 그리고, 5:1 멀티플렉서(421)은 제1 단계의 역변환 연산 시에는 레지스터 1의 픽셀값을, 제2 단계의 역변환 연산 시에는 레지스터 2의 픽셀값을, 제4 단계의 역변환 연산 시에는 레지스터 4의 픽셀값을, 제5 단계의 역변환 연산 시에는 레지스터 21의 픽셀값을 각각 출력한다.
이러한 연결관계 및 동작은 제16 역변환 유닛(121b)에도 동일하게 적용된다. 따라서, 제16 역변환 유닛(121b)의 3:1 멀티플렉서(411)는 레지스터 15, 레지스터 21 및 레지스터 23과 연결되고, 제16 역변환 유닛(121b)의 5:1 멀티플렉서(421)는 레지스터 0, 레지스터 19, 레지스터 20 및 레지스터 25와 연결된다.
그리고, 제1 단계의 역변환 연산 시 제16 역변환 유닛(121b)의 3:1 멀티플렉서(411)는 레지스터 21의 픽셀값을, 제16 역변환 유닛(121b)의 5:1 멀티플렉서(421)는 레지스터 20의 픽셀값을 출력한다. 또한, 제2 단계, 제3 단계, 제4 단계 및 제5 단계의 역변환 연산 시에도 이와 대응되는 동작이 수행된다.
이와 같이, 본 발명의 일 실시예에 따른 영상의 역변환 장치(100)는 16개의 역변환 유닛(121)을 중복적으로 사용하여 5 단계를 통해 순차적으로 수행되는 역변환 연산을 수행하여 영상의 역변환을 수행한다. 이에 따라, 영상의 역변환 장치(100) 내에는 최소한의 개수의 역변환 유닛(121) 만이 포함되므로, 장치의 크기를 줄일 수 있는 장점이 있다.
이와 함께, 본 발명에 따른 역변환 유닛(121)은 크기가 큰 곱셈기를 대신하여 쉬프터(412, 422)를 통해 곱셈 연산을 수행하므로, 장치의 크기를 추가적으로 줄일 수 있는 장점이 있다.
이와 더불어, 본 발명에 따른 역변환 유닛(121)은 앞서 표 1을 통해 설명한 특징을 활용하여 3:1 멀티플렉서(411) 및 5:1 멀티플렉서(421)를 사용하므로, 상기한 특징을 활용하지 않고 2개의 16:1 멀티플렉서를 사용하는 경우에 비해 장치의 크기를 더욱 줄일 수 있는 장점이 있다.
한편, HEVC 표준에서는 4×4 블록 단위의 영상의 역변환을 통한 역변환된 픽셀값의 출력 및 8×8 블록 단위의 영상의 역변환을 통한 역변환된 픽셀값의 출력을 위해 도 7 및 도 8에 도시된 것과 같은 입력 픽셀값(Xi)과 출력 픽셀값(Yi)에 대한 관계를 정의하고 있다.
도 7 및 도 8을 참조하면, 도 2에 표시된 바와 같이 16×16 블록 단위의 영상의 역변환 내에는 4×4 블록 단위의 영상의 역변환 및 8×8 블록 단위의 영상의 역변환이 포함되어 있음을 확인할 수 있다. 따라서, 4×4 블록 단위의 영상의 역변환 및 8×8 블록 단위의 영상의 역변환 역시 본 발명에 따른 영상의 역변환 장치(100)를 통해 수행될 수 있다.
그런데, 영상의 역변환 장치(100)를 이용하여 4×4 블록 단위의 영상의 역변환 및 8×8 블록 단위의 영상의 역변환을 수행하는 경우, 블록 크기의 차이로 인해 일부의 역변환 유닛(121)만이 사용되고 나머지 역변환 유닛(121)은 사용되지 않는 문제점이 발생할 수 있다.
이러한 문제점을 해결하기 위해, 본 발명에서는 다음과 같이 16개의 역변환 유닛(121)을 활용한다.
일례로서, 블록의 크기가 4×4인 경우, 16개의 역변환 유닛(121)은 4개의 역변환 유닛(121)을 각각 구비하는 4개의 역변환 유닛 그룹으로 그룹핑되고, 4개의 역변환 유닛 그룹 각각은 4×4 블록 단위의 영상 역변환을 수행할 수 있다. 이 경우, 1회의 사이클 동안 4개의 4×4 블록 단위의 영상 역변환이 동시에 수행될 수 있다.
다른 일례로서, 블록의 크기가 8×8인 경우, 16개의 역변환 유닛(121)은 8개의 역변환 유닛(121)을 각각 구비하는 2개의 역변환 유닛 그룹으로 그룹핑되고, 2개의 역변환 유닛 그룹 각각은 8×8 블록 단위의 영상 역변환을 수행할 수 있다. 이 경우, 1회의 사이클 동안 2개의 8×8 블록 단위의 영상 역변환이 동시에 수행될 수 있다.
도 9에서는 이와 같은 4×4 및 8×8 블록 단위의 영상의 역변환의 개념을 도시하고 있다. 도 9에서, "t"는 total, "e"는 even(짝수열), "o"는 odd(홀수열)을 각각 의미한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
Claims (5)
- 소정 크기의 블록 단위로 영상의 역변환을 수행하기 위한 복수의 역변환 유닛을 구비한 역변환부;를 포함하되,
상기 복수의 역변환 유닛 각각은, N(2 이상의 정수임)회의 역변환 연산을 순차적으로 수행하여 상기 영상의 역변환을 수행하고, 제1 서브 역변환 유닛, 제2 서브 역변환 유닛, 및 상기 제1 서브 역변환 유닛의 출력값과 상기 제2 서브 역변환 유닛의 출력값에 대해 가감 연산을 수행하는 제3 가감산기를 포함하되,
상기 제1 서브 역변환 유닛은 3:1 멀티플렉서, 4개의 제1 쉬프터 및 3개의 제1 가감산기를 포함하고, 상기 제2 서브 역변환 유닛은 5:1 멀티플렉서, 4개의 제2 쉬프터 및 3개의 제2 가감산기를 포함하며, 상기 제3 가감산기의 출력단은 상기 3:1 멀티플렉서의 입력단과 연결되는 것을 특징으로 하는 영상의 역변환 장치. - 제1항에 있어서,
상기 3:1 멀티플렉서는 상기 제3 가감산기의 출력값이 포함된 1개 이상 3개 이하의 제1 픽셀값을 입력받고 상기 1개 이상 3개 이하의 제1 픽셀값 중 어느 하나의 제1 픽셀값을 출력하고,
상기 4개의 제1 쉬프터는 상기 어느 하나의 제1 픽셀값에 대해 각각 쉬프트 연산을 수행하고,
상기 3개의 제1 가감산기 중에서, 제1-1 가감산기는 상기 4개의 제1 쉬프터의 출력값 중 제1-1 쉬프터의 출력값 및 제1-2 쉬프터의 출력값에 대한 가감 연산을 수행하고, 제1-2 가감산기는 상기 4개의 제1 쉬프터의 출력값 중 제1-3 쉬프터의 출력값 및 제1-4 쉬프터의 출력값에 대한 가감 연산을 수행하고, 제1-3 가감산기는 상기 제1-1 가감산기의 출력값 및 상기 제1-2 가감산기의 출력값에 대한 가감 연산을 수행하며, 상기 제1-3 가감산기의 출력값은 상기 제1 서브 역변환 유닛의 출력값과 대응되는 것을 특징으로 하는 영상의 역변환 장치. - 제2항에 있어서,
상기 5:1 멀티플렉서는 1개 이상 5개 이하의 제2 픽셀값을 입력받고 상기 1개 이상 5개 이하의 제2 픽셀값 중 어느 하나의 제2 픽셀값을 출력하고,
상기 4개의 제2 쉬프터는 상기 어느 하나의 제2 픽셀값에 대해 각각 쉬프트 연산을 수행하고,
상기 3개의 제2 가감산기 중에서, 제2-1 가감산기는 상기 4개의 제2 쉬프터의 출력값 중 제2-1 쉬프터의 출력값 및 제2-2 쉬프터의 출력값에 대한 가감 연산을 수행하고, 제2-2 가감산기는 상기 4개의 제2 쉬프터의 출력값 중 제2-3 쉬프터의 출력값 및 제2-4 쉬프터의 출력값에 대한 가감 연산을 수행하고, 제2-3 가감산기는 상기 제2-1 가감산기의 출력값 및 상기 제2-2 가감산기의 출력값에 대한 가감 연산을 수행하며, 상기 제2-3 가감산기의 출력값은 상기 제2 서브 역변환 유닛의 출력값과 대응되는 것을 특징으로 하는 영상의 역변환 장치. - 제3항에 있어서,
상기 블록의 크기는 4×4, 8×8 및 16×16 중 어느 하나이고, 상기 복수의 역변환 유닛의 개수는 16개이며, 상기 역변환 연산의 순차적인 수행횟수(N)는 5회인 것을 특징으로 하는 영상의 역변환 장치. - 제4항에 있어서,
상기 블록의 크기가 4×4인 경우, 상기 16개의 역변환 유닛은 4개의 역변환 유닛을 각각 구비하는 4개의 역변환 유닛 그룹으로 그룹핑되고, 상기 4개의 역변환 유닛 그룹 각각은 4×4 블록 단위의 영상 역변환을 수행하고,
상기 블록의 크기가 8×8인 경우, 상기 16개의 역변환 유닛은 8개의 역변환 유닛을 각각 구비하는 2개의 역변환 유닛 그룹으로 그룹핑되고, 상기 2개의 역변환 유닛 그룹 각각은 8×8 블록 단위의 영상 역변환을 수행하는 것을 특징으로 하는 영상 역변환 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130016320A KR101383515B1 (ko) | 2013-02-15 | 2013-02-15 | 영상의 역변환 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130016320A KR101383515B1 (ko) | 2013-02-15 | 2013-02-15 | 영상의 역변환 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101383515B1 true KR101383515B1 (ko) | 2014-04-08 |
Family
ID=50657189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130016320A KR101383515B1 (ko) | 2013-02-15 | 2013-02-15 | 영상의 역변환 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101383515B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101738568B1 (ko) | 2015-08-18 | 2017-05-22 | 숭실대학교산학협력단 | 통합형의 영상의 역변환 장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990073711A (ko) * | 1998-03-02 | 1999-10-05 | 윤종용 | 허프만 디코더 및 그 디코딩 방법 |
KR100243007B1 (ko) * | 1997-04-03 | 2000-03-02 | 김영환 | 엠펙(mpeg) 디코더의 화상 처리 회로 |
KR20010001458A (ko) * | 1999-06-04 | 2001-01-05 | 윤종용 | 동화상 복호화 장치 및 그 방법 |
KR20060093806A (ko) * | 2005-02-22 | 2006-08-28 | 엘지전자 주식회사 | 비디오 디코더의 인트라 예측 장치 |
-
2013
- 2013-02-15 KR KR1020130016320A patent/KR101383515B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100243007B1 (ko) * | 1997-04-03 | 2000-03-02 | 김영환 | 엠펙(mpeg) 디코더의 화상 처리 회로 |
KR19990073711A (ko) * | 1998-03-02 | 1999-10-05 | 윤종용 | 허프만 디코더 및 그 디코딩 방법 |
KR20010001458A (ko) * | 1999-06-04 | 2001-01-05 | 윤종용 | 동화상 복호화 장치 및 그 방법 |
KR20060093806A (ko) * | 2005-02-22 | 2006-08-28 | 엘지전자 주식회사 | 비디오 디코더의 인트라 예측 장치 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101738568B1 (ko) | 2015-08-18 | 2017-05-22 | 숭실대학교산학협력단 | 통합형의 영상의 역변환 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhao et al. | High-performance multiplierless transform architecture for HEVC | |
US9438927B2 (en) | Apparatus and method for motion estimation for variable block sizes | |
JP6357345B2 (ja) | ビデオデータ処理時に空間領域と周波数領域との間の変換を実行するためのデータ処理装置および方法 | |
Atitallah et al. | Fpga design for h. 264/avc encoder | |
KR101383515B1 (ko) | 영상의 역변환 장치 | |
JP2009159287A (ja) | 半導体装置および信号処理方法 | |
JP4963220B2 (ja) | フィルタ演算器及び動き補償装置 | |
KR101395143B1 (ko) | 영상처리의 정수변환 방법 및 정수변환 장치 | |
CN108184127B (zh) | 一种可配置的多尺寸dct变换硬件复用架构 | |
JP5086675B2 (ja) | フィルタ演算器及び動き補償装置 | |
JP4516051B2 (ja) | フィルタ処理装置、乗算器及び動き補償処理装置 | |
JP4519807B2 (ja) | 乗算器及びフィルタ処理装置 | |
KR101601864B1 (ko) | 동영상 코덱의 역변환 방법 및 그 장치 | |
KR20130137951A (ko) | 초고해상도 영상 코덱을 위한 역변환 방법 | |
US7620240B2 (en) | Method of encoding and decoding image data by applying image capturing device | |
KR101423083B1 (ko) | Hevc 복호기용 역변환기 설계 방법 | |
Vayalil et al. | An efficient ASIC design of variable-length discrete cosine transform for HEVC | |
JP2008532335A (ja) | 画像内挿方法及び画素内挿装置 | |
JP4217408B2 (ja) | フィルタ処理装置 | |
JP4339848B2 (ja) | 直交変換方法,直交変換装置,直交変換プログラムおよびその記録媒体 | |
Hsia et al. | A configurable IP for mode decision of H. 264/AVC encoder | |
WO2009095959A1 (ja) | 直交変換装置および集積回路 | |
KR101738568B1 (ko) | 통합형의 영상의 역변환 장치 | |
JP4963194B2 (ja) | フィルタ処理装置、乗算器及び動き補償処理装置 | |
JP3652380B2 (ja) | 離散コサイン変換装置及び逆離散コサイン変換装置 |
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 | ||
FPAY | Annual fee payment |
Payment date: 20180403 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190401 Year of fee payment: 6 |