KR101067531B1 - 양방향 정수 변환 장치 및 방법 - Google Patents

양방향 정수 변환 장치 및 방법 Download PDF

Info

Publication number
KR101067531B1
KR101067531B1 KR1020090079822A KR20090079822A KR101067531B1 KR 101067531 B1 KR101067531 B1 KR 101067531B1 KR 1020090079822 A KR1020090079822 A KR 1020090079822A KR 20090079822 A KR20090079822 A KR 20090079822A KR 101067531 B1 KR101067531 B1 KR 101067531B1
Authority
KR
South Korea
Prior art keywords
integer
adder
output
subtractor
converter
Prior art date
Application number
KR1020090079822A
Other languages
English (en)
Other versions
KR20110022288A (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 KR1020090079822A priority Critical patent/KR101067531B1/ko
Publication of KR20110022288A publication Critical patent/KR20110022288A/ko
Application granted granted Critical
Publication of KR101067531B1 publication Critical patent/KR101067531B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • H03K19/1737Controllable logic circuits using multiplexers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Multimedia (AREA)
  • Algebra (AREA)
  • Discrete Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 양방향 정수 변환 장치는 입력 원소들을 2x2 행렬로 묶을 수 있도록 입력의 원소의 순서를 바꿔주는 제1데이터 순서 변환기와, 4x4 입력을 2x2 행렬로 묶어 감산 및 가산을 행하는 1차 정수 감산 및 가산기와, 4x4 입력을 각각의 원소끼리 감산 및 가산을 행하는 2차 정수 감산 및 가산기와, 정방향 정수 변환시에는 상기 2차 정수 감산 및 가산기의 출력값들을 그대로 출력하고, 역방향 정수 변환시에는 상기 2차 정수 감산 및 가산기의 출력값들에 대해 역방향 정수 변환을 위한 연산이 수행된 결과값들이 출력되도록 하는 정/역방향 쉬프트 보정기를 포함하는 수정된 2차 정수 감산 및 가산기와, 제1데이터 순서 변환기에서 바뀐 원소들을 위해 다시 데이터 순서를 바꿔 주는 제2데이터 순서 변환기를 포함한다.
정수 변환, H.264

Description

양방향 정수 변환 장치 및 방법{Bidirectional integer transform device and method}
본 발명은 정수변환(integer transform) 장치에 관한 것으로, 보다 구체적으로는 2차원(2-D) 양방향 정수 변환 장치 및 방법에 관한 것이다.
본 발명은 정수변환(integer transform) 장치에 관한 것으로, 보다 구체적으로는 H.264 영상 부호기에서 기본적으로 사용되는 정방향 4x4 2차원(2-D) 정수변환과 역방향 4x4 2차원(2-D) 정수변환 과정을 하나의 하드웨어에서 둘 모두 수행 할 수 있는 장치에 관한 것이다.
H.264 및 MPEG-4와 같은, 현재 국제 비디오 코딩 표준에서, 비디오 신호는 시퀀스, 프레임, 슬라이스, 매크로 블록 및 블록으로 계층적으로 분할 되며, 블록은 최소 처리 유닛이 된다. 인코딩 측면에서, 인트라-프레임 또는 인터-프레임 예측을 통하여, 블록의 예측 잔류 오류가 획득되며, 블록 변환은 에너지가 소수의 계수에 집중될 수 있도록 실행되며; 그리고 나서 양자화, 스캐닝, 런 렝스 코딩(Run Length Coding) 및 엔트로피 코딩을 통하여, 이미지 데이터는 압축되며, 코딩된 비트 스트림으로 기록된다. 디코딩 측면에서, 처리 절차는 반대가 된다. 우선, 엔트 로피 코딩의 블록 변환 계수가 비트 스트림으로부터 추출된다. 그리고 나서, 역양자화 및 역변환을 통하여, 블록의 예측 잔류 오류는 재구성되며, 예측 정보는 블록의 비디오 데이터를 재구성하기 위하여 사용된다. 인코딩-디코딩 처리절차에서, 변환 모듈은 비디오 압축의 기초이며, 변환 성능은 코덱의 일반적인 성능에 직접적으로 영향을 준다.
이산 코사인 변환(DCT)은 MPEG-1 및 H.261과 같은 초기 비디오 코딩 표준에서 채택되었다. 1974년 이산 코사인 변환의 제안 이후에, DCT는 이미지 및 비디오 코딩 분야에서 널리 사용되었다. 변환 도메인 내의 이미지 요소의 상관성을 제거하며, 고효율 이미지 압축을 위한 기반을 마련하기 때문에, 그것의 변환 성능은 모든 차선 변환(sub-optimal transform)중 우수하다. 그러나, DCT 변환 행렬은 부동 소수점 수로 표현되기 때문에, 대량의 부동 소수점 계산으로 인하여 많은 시스템 자원이 소모된다. 변환 효율을 개선하기 위하여, 고정 소수점 계산 또는 대형 정수 변환을 사용한 접근법은 부동 소수점 계산 DCT를 종료하기 위하여 개발되었다. 그러나, 양자화가 없을때 조차, 정밀한 오류의 등장으로 인하여, 역변환 후에 이미지 데이터는 완전히 재구성될 수 없다. 즉, 코딩의 역변환성은 충분치 않았다. 정수 변환은 계산 정확성 및 코딩 효율에 대한 문제점을 해결한다. 정수 변환의 특성은 이하를 포함한다: DCT의 부동 소수점 변환 행렬은 정수 변환 행렬로 대체되어, 정수 연산(interger operation)은 전체 변환 과정에서 실행되며, 정밀한 오류가 존재하지 않으며, 그러므로 코딩의 역변환성이 보장된다. 더욱이, 정수의 곱셈은 덧셈/뺄셈 및 시프팅(shifting) 연산으로 대체될 수 있다. 그러므로, 변환 과정은 덧셈/ 뺄셈 및 시프팅(shifting) 연산에 의해서 완전히 구현될 수 있으므로, 계산량은 매우 감소된다. 정수 변환은 최근 국제 비디오 코딩 표준 H.264/MPEG-4 파트 10에서 사용되며, 우수한 변환 결과가 획득되었다. 최근, 정수 변환에 행해진 연구는 이미지 및 비디오 처리 분야에서 상당하다.
영상 부호기에서 정방향 정수변환과 역방향 정수변환이 모두 수행된다. 따라서 영상 부호기는 정방향 정수 변환을 위한 장치와 역방향 정수변환을 위한 장치를 모두 구비한다. 이들 정방향 정수 변환 장치와 역방향 정수 변환 장치는 동일한 구성요소들을 포함한다.
그러므로 정방향 정수 변환 장치와 역방향 정수 변환 장치가 동일한 구성요소를 구비하기 때문에, 영상 부호기는 2개의 동일한 구성요소들을 포함하게 된다.
따라서, 본 발명은 정방향 정수변환장치와 역방향 정수변환 장치 사이의 동일한 구성요소들을 공용하는 양방향 정수변환 장치를 제공한다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따라 양방향 정수 변환 장치는 입력 원소들을 2x2 행렬로 묶을 수 있도록 입력의 원소의 순서를 바꿔주는 제1데이터 순서 변환기와, 4x4 입력을 2x2 행렬로 묶어 감산 및 가산을 행하는 1차 정수 감산 및 가산기와, 4x4 입력을 각각의 원소끼리 감산 및 가산을 행하는 2차 정수 감산 및 가산기와 정방향 정수 변환시에는 상기 2차 정수 감산 및 가산기의 출력값들을 그대로 출력하고, 역방향 정수 변환시에는 상기 2차 정수 감산 및 가산기의 출력값들에 대해 역방향 정수 변환을 위한 연산이 수행된 결과값들이 출력되도록 하는 정/역방향 쉬프트 보정기를 포함하는 수정된 2차 정수 감산 및 가산기와, 제1데이터 순서 변환기에서 바뀐 원소들을 위해 다시 데이터 순서를 바꿔 주는 제2데이터 순서 변환기를 포함한다.
여기에서 양방향 정수 변환 장치는, 상기 양방향 정수 변환장치의 입력 및 상기 1차 정수 감산 및 가산기의 출력을 입력으로서 수신하고 제어 신호에 따라 2개의 입력중 하나를 제1 데이터 순서 변환기로 출력하는 제1 멀티플레서와, 상기 제1 데이터 순서 변환기의 출력 및 상기 수정된 2차 정수 감산 및 가산기의 출력을 입력으로서 수신하고 상기 제어 신호에 따라 2개의 입력중 하나를 상기 1차 정수 감산 및 가산기로 출력하는 제2 멀티플렉서와, 상기 1차 정수 감산 및 가산기의 출력 및 상기 제2 데이터 순서 변환기의 출력을 입력으로서 수신하고 상기 제어 신호에 따라 2개의 입력 중 하나를 상기 수정된 2차 정수 감산 및 가산기로 출력하는 제3 멀티플렉서와, 상기 수정된 2차 정수 감산 및 가산기의 출력 및 상기 양방향 정수 변환장치의 입력을 입력으로서 수신하고, 상기 제어 신호에 따라 2개의 입력중 하나를 상기 제2 데이터 순서 변환기로 출력하는 제4 멀티플렉서와, 상기 제1 데이터 순서 변환기의 출력 및 상기 제2 데이터 순서 데이터의 출력을 입력으로서 수신하고, 상기 제어 신호에 따라 2개의 입력중 하나를 상기 양방향 정수 변환장치의 출력으로서 출력하는 제5 멀티플렉서를 더 포함한다.
여기에서, 상기 제어 신호는 현재의 모드가 정방향 정수 변환 모드인지 역방향 정수 변환 모드인지를 나타낼 수 있다.
여기에서, 상기 제어 신호가 현재의 모드가 정방향 정수 변환 모드임을 나타내면, 상기 제1 멀티플렉서는 상기 양방향 정수 변환장치의 입력을 선택하고, 상기 제2 멀티플렉서는 상기 제1 데이터 순서 변환기의 출력을 선택하고, 상기 제3 멀티플렉서는 상기 1차 정수 감산 및 가산기의 출력을 선택하고, 상기 제4 멀티플렉서는 상기 수정된 2차 정수 감산 및 가산기의 출력을 선택하고, 상기 제5 멀티플렉서는 상기 제2 데이터 순서 데이터의 출력을 선택한다.
여기에서, 상기 제어 신호가 현재의 모드가 역방향 정수 변환 모드임을 나타내면, 상기 제1 멀티플렉서는 상기 1차 정수 감산 및 가산기의 출력을 선택하고, 상기 제2 멀티플렉서는 상기 수정된 2차 정수 감산 및 가산기의 출력을 선택하고, 상기 제3 멀티플렉서는 상기 제2 데이터 순서 변환기의 출력을 선택하고, 상기 제4 멀티플렉서는 상기 양방향 정수 변환장치의 입력을 선택하고, 상기 제5 멀티플렉서는 상기 제1 데이터 순서 변환기의 출력을 선택한다.
상기와 같은 본 발명에 따라, 정방향 정수변환장치와 역방향 정수변환 장치 사이의 동일한 구성요소들을 공용하는 양방향 정수변환 장치를 구성하여 하나의 하드웨어에서 양방향 정수변환을 수행함으로써 공간적 이득을 얻을 수 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
먼저, H.264에서의 DCT 기반 정방향 정수 변환을 먼저 설명한다.
DCT 기반 정방향 정수 변환은 다음 수학식 1과 같이 나타낼 수 있다.
Yf=HXHT
여기에서, Yf=는 출력이고 X는 입력이며 H는 정수 변환을 위한 계수이며, HT는 H의 전치 행렬을 나타낸다.
이를 다시 표현하면 수학식 2와 같다.
Figure 112009052682411-pat00001
Figure 112009052682411-pat00002
이들 2개의 순열 행렬 Pc와 Pr을 이용하여
Figure 112009052682411-pat00003
를 구하면 아래 수학식 4와 같다.
Figure 112009052682411-pat00004
여기서 Pc(Pc) T =(Pc) T Pc=I 4 , Pr(Pr) T =(Pr) T Pr=I 4 , Pc=(Pc) T , Pr=(Pr) T 이다.
Figure 112009052682411-pat00005
를 이용하여
Figure 112009052682411-pat00006
를 구하면 아래 수학식 5와 같다.
Figure 112009052682411-pat00007
(단,
Figure 112009052682411-pat00008
이고,
Figure 112009052682411-pat00009
이다.)
여기서
Figure 112009052682411-pat00010
,
Figure 112009052682411-pat00011
=이라 하면,
Figure 112009052682411-pat00012
은 다음 수학식 6과 같이 구할 수 있다.
Figure 112009052682411-pat00013
Figure 112009052682411-pat00014
이러한 정방향 정수 변환을 수행하는 장치가 도 1에 도시되어 있다.
도 1을 참조하면, 정방향 정수 변환 장치는 데이터 순서 변환기1(101), 1차 정수 감산 및 가산기(102), 2차 정수 감산 및 가산기(103) 및 데이터 순서 변환기2(104)를 포함한다.
데이터 순서 변환기1(101)는
Figure 112009052682411-pat00015
를 수행하는 부분이다. 다시 말해, 데이터 순서 변환기 1(101)는 입력 원소들을 2x2 행렬로 묶을 수 있도록 입력 원소의 순서를 바꿔준다.
데이터 순서 변환기1(101)의 동작은 도 2에 도시되어 있다. 도 2에서 in00~in33은 각각 입력되는 행렬의 원소를 의미 하고, out00~out33은 각각 출력되는 행렬의 원소를 의미 한다. 1차 정수 감산 및 가산기(102)와 2차 정수 감산 및 가산기(103)는
Figure 112009052682411-pat00016
을 수행하는 부분이다.
이 중에서 1차 정수 감산 및 가산기(102)는
Figure 112009052682411-pat00017
계산 중 우선적으로
Figure 112009052682411-pat00018
을 수행하는 부분이다.
즉, 1차 정수 감산 및 가산기(102)는 4x4 입력을 2x2 행렬로 묶어 감산 및 가산을 행한다.
이에 대한 구성은 도 4에 명시되어 있다. 도 4에서 In_A=
Figure 112009052682411-pat00019
, In_B=
Figure 112009052682411-pat00020
, In_C=
Figure 112009052682411-pat00021
, In_D=
Figure 112009052682411-pat00022
이고,
Figure 112009052682411-pat00023
이다.
2차 정수 감산 및 가산기(103)는 1차 정수 감산 및 가산기에서 나온 결과를 이용하여,
Figure 112009052682411-pat00024
의 나머지 계산을 하는 부분으로 이는 도 5에 명시되어 있다.
즉, 2차 정수 감산 및 가산기(103)는 4x4 입력을 각각의 원소끼리 감산 및 가산을 행한다.
도 5에서 in00~in33은 각각 입력되는 행렬의 원소를 의미하고, out00~out33은 각각 출력되는 행렬의 원소를 의미한다.
도 1에서의 데이터 순서 변환기2(104)는
Figure 112009052682411-pat00025
을 수행하는 부분이다. 이에 대한 구성은 도 3에 명시되어 있다. 도 3에서 in00~in33은 각각 입력 행렬의 원소를 의미 하고, out00~out33은 출력 행렬의 원소를 의미 한다.
데이터 순서 변환기2(104)는 데이터 순서 변환기1(101)에서 순서가 바뀐 원소들을 위해 다시 데이터 순서를 바꿔준다. 즉, 데이터 순서 변환기2(104)는 원소들을 원래의 위치로 바꿔준다.
이어서, H.264에서 DCT 기반 역방향 정수 변환을 설명한다.
DCT 기반 역방향 정수 변환은 다음 수학식 7과 같이 나타낼 수 있다.
Figure 112009052682411-pat00026
여기에서, Yi=는 출력이고 X는 입력이며 C는 정수 역변환을 위한 계수이며, HT는 C의 전치 행렬을 나타낸다. 입력 X는 미리 크기가 결정된(pre-scaled) 4 X 4 블록이다.
이를 다시 표현하면 수학식 8과 같다.
Figure 112009052682411-pat00027
Figure 112009052682411-pat00028
이들 2개의 순열 행렬(permutation matrics) Pf와 Pi을 이용하여
Figure 112009052682411-pat00029
를 구하면 아래 수학식 10과 같다.
Figure 112009052682411-pat00030
여기에서
Figure 112009052682411-pat00031
이고
Figure 112009052682411-pat00032
이다. 또한, Pf(Pf) T =(Pf) T Pf=I 4 , Pi(Pi) T =(Pi) T Pi=I 4 , Pf=(Pf) T , Pi=(Pi) T 이다.
Figure 112009052682411-pat00033
를 이용하여
Figure 112009052682411-pat00034
를 구하면 아래 수학식 11과 같다.
Figure 112009052682411-pat00035
(단,
Figure 112009052682411-pat00036
이고,
Figure 112009052682411-pat00037
이다.)
여기서
Figure 112009052682411-pat00038
,
Figure 112009052682411-pat00039
=이라 하면,
Figure 112009052682411-pat00040
은 다음과 같이 구할 수 있다.
Figure 112009052682411-pat00041
Figure 112009052682411-pat00042
도 6에서 데이터 순서 변환기2(201)는
Figure 112009052682411-pat00043
를 수행하는 부분이다. 이에 대한 구성은 도 3에 명시되어 있다. 도 3에서 in00~in33은 각각 입력되는 행렬의 원소를 의미 하고, out00~out33은 각각 출력되는 행렬의 원소를 의미 한다. 1차 정수 감산 및 가산기(203)와 2차 정수 감산 및 가산기(202)는
Figure 112009052682411-pat00044
을 수행하는 부분이다. 이 중에서 2차 정수 감산 및 가산기(202)는
Figure 112009052682411-pat00045
계산 중 우선적으로
Figure 112009052682411-pat00046
,
Figure 112009052682411-pat00047
,
Figure 112009052682411-pat00048
,
Figure 112009052682411-pat00049
을 계산하는 부분이다. 이에 대한 구성 은 도 7에 명시되어 있다. 도 7에서 in00~in33은 아래와 같다.
Figure 112009052682411-pat00050
도 7에서 out00~out33은 아래와 같다.
Figure 112009052682411-pat00051
1차 정수 감산 및 가산기(203)는 2차 정수 감산 및 가산기에서 나온 결과를 이용하여,
Figure 112009052682411-pat00052
을 수행하는 부분으로 이는 도 4에 명시되어 있다.
도 4에서 In_A=
Figure 112009052682411-pat00053
, In_B=
Figure 112009052682411-pat00054
, In_C=
Figure 112009052682411-pat00055
, In_D=
Figure 112009052682411-pat00056
이고,
Figure 112009052682411-pat00057
이다.
도 6에서의 데이터 순서 변환기1(204)는
Figure 112009052682411-pat00058
을 수행하는 부분이다. 이에 대한 구성은 도 2에 명시되어 있다. 도 6에서 in00~in33은 각각 입력 행렬의 원소를 의미 하고, out00~out33은 출력 행렬의 원소를 의미 한다.
본 발명은 이러한 정방향 정수 변환 장치와 역방향 정수 변환 장치를 하나의 장치로 구성한다.
다시 말해, 본 발명은 정방향 정수변환장치의 구조 중 역방향 정수변환 장치와 중복되는 부분을 재사용 하여 양방향 정수변환 장치를 구성한다. 즉, 본 발명은 정방향 4x4 2차원(2-D) 정수변환과 역방향 4x4 2차원(2-D) 정수변환 과정을 하나의 하드웨어에서 모두 수행할 수 있는 장치를 제공한다.
구체적으로 설명하면, 전술한 정/역방향 정수변환 장치는 각각 4부분으로 구성 되어 있고, 그 구성은 데이터 순서 변환기1(101,204), 1차 정수 감산 및 가산기(102,203), 2차 정수 감산 및 가산기(103,202), 데이터 순서 변환기2(104,201)로 이루어져 있다. 여기서 데이터 순서 변환기1(101,204)은 정방향 정수변환 장치와 역방향 정수 변환 장치 둘 다 도 2와 같은 데이터 순서 변환기1를 사용한다. 또한 정/역방향 정수 변환 장치에서 1차 정수 감산 및 가산기(102,203)와 데이터 순서 변환기2(104,201)도 각각 도 4과 도 3와 같이 각각 같은 구성을 사용 하고 있다.
그에 비해 정/역방향 정수변환 장치 중 2차 정수 감산 및 가산기(103,202)는 도 5의 정방향 2차 정수 감산 및 가산기와 도 7의 역방향 2차 정수 감산 및 가산기로 각각 다른 구성으로 이루어져 있다.
도 8은 본 발명에 따른 양방향 정수 변환 장치의 개략적인 구성을 나타낸 도면이다.
전술한 바와 같이, 정방향 정수 변환 장치 및 역방향 정수 변환 장치의 데이터 순서 변환기1, 1차 정수 감산 및 가산기 및 데이터 순서 변환기2는 동일한 구성을 가지고 있다. 그리고, 정방향 정수 변환 장치 및 역방향 정수 변환 장치의 2차 정수 감산 및 가산기는 다른 구성을 가지고 있다.
본 발명에 따라 양방향 정수 변환 장치(300)는 하나의 데이터 순서 변환기1, 하나의 1차 정수 감산 및 가산기 및 하나의 데이터 순서 변환기2를 구비하고, 또한 정방향 정수 변환 및 역방향 정수 변환에 모두 사용될 수 있도록 변형된 하나의 2차 정수 감산 및 가산기를 포함한다.
그리고, 양방향 정수 변환 장치(300)는 정방향 정수 변환 및 역방향 정수 변환에 따라 데이터 순서 변환기1, 1차 정수 감산 및 가산기, 데이터 순서 변환기2 및 2차 정수 감산 및 가산기를 정렬하는 제어 신호를 발생시키는 제어신호 생성부(400)로부터 제어 신호를 수신한다.
도 9는 본 발명의 일 실시예에 따른 양방향 정수 변환 장치를 나타낸 도면이다.
도 9를 참조하면, 양방향 정수 변환 장치(300)는 데이터 순서 변환기1(410), 1차 정수 감산 및 가산기(420), 2차 정수 감산 및 가산기(430), 데이터 순서 변환기2(440)를 포함한다. 이들 구성요소들에 대한 설명은 전술한 설명을 참조한다.
양방향 정수 변환 장치(300)는 또한 제1 내지 제5 멀티플렉서(multiplexer: MUX)(401, 403, 405, 407, 409)를 포함한다.
제1 내지 제5 멀티플렉서(multiplexer: MUX)(401, 403, 405, 407, 409)는 각각 2개의 입력을 포함한다. 2개의 입력 중 하나는 제어 신호에 따라 정방향 정수 변환시에 선택되며, 나머지 하나는 역방향 정수 변환시에 선택된다. 전술한 바와 같이, 제어 신호(Sel)는 제어신호 생성부(400)에 의해 생성되며, 현재의 모드가 정방향 정수 변환 모드인지 역방향 정수 변환 모드인지를 나타낼 수 있다. 그에 따라 제1 내지 제5 멀티플렉서는 제어 신호에 따라 2개의 입력 중 하나를 선택한다.
또한, 도 9에서 데이터 순서 변환기1(410)은 도 2의 데이터 순서 변환기1과 같다. 즉, 데이터 순서 변환기1(410)는 입력 원소들을 2x2 행렬로 묶을 수 있도록 입력 원소의 순서를 바꿔준다.
도 9의 1차 정수 감산 및 가산기(420)는 도 4의 1차 정수 감산 및 가산기와 같다. 즉, 1차 정수 감산 및 가산기(420)는 4x4 입력을 2x2 행렬로 묶어 감산 및 가산을 행한다.
도 9의 수정된 2차 정수 감산 및 가산기(430)는 도 5의 2차 정수 감산 및 가산기(432) 및 정/역방향 쉬프트 보정기(434)를 포함한다.
2차 정수 감산 및 가산기(432)는 4x4 입력을 각각의 원소끼리 감산 및 가산을 행한다.
그리고, 정/역방향 쉬프트 보정기(434)는 본 발명에 따라 도 10에 도시된 바와 같은 구성을 갖는다. 도 10은 본 발명에 따른 정/역방향 쉬프트 보정기(434)의 구성을 도시한 도면이다.
도 10을 참조하면, 정/역방향 쉬프트 보정기(434)는 4개의 입력부(501~504) 및 4개의 출력부(531~534)를 포함한다. 또한, 정/역방향 쉬프트 보정기(434)는 3개의 멀티플렉서들(511~513)을 포함한다.
4개의 입력부(501~504)는 2차 정수 감산 및 가산기(432)로부터의 출력되는 제1 내지 제4 출력값을 각각 수신한다. 그리고, 제1 입력부(501)는 정방향 2차 정수 감산 및 가산기(432)로의 제1 출력값을 그대로 제1 출력부(531)로 출력한다. 제 2 입력부(502)는 정방향 2차 정수 감산 및 가산기(432)로부터의 제2 출력값 및 제2 출력값에 대해 역방향 정수 변환을 위한 연산을 수행하여 멀티플렉서(511)로 출력한다. 유사하게 제3 입력부(503)는 정방향 2차 정수 감산 및 가산기(432)로부터의 제3 출력과 상기 제3 출력에 대해 역방향 정수 변환을 위한 연산을 수행하여 멀티플렉서(512)로 출력한다. 제4 입력부(504)는 정방향 2차 정수 감산 및 가산기(432)로부터의 제4 출력과 제4 출력에 대해 역방향 정수 변환을 위한 연산을 수행하여 멀티플렉서(513)로 출력한다.
3개의 멀티플렉서들(511~523)은 정방향 정수 변환시에는 제어 신호(Sel)에 따라 sel=0을 선택하고, 역방향 정수 변환시에는 제어 신호(Sel)에 따라 sel=1을 선택한다. 그에 따라, sel=0을 선택시에는 2차 정수 감산 및 가산기(432)의 출력값들을 그대로 출력하고, sel=1을 선택시에는 2차 정수 감산 및 가산기(432)의 출력값들에 대해 역방향 정수 변환을 위한 연산이 수행된 결과값들이 출력된다.
여기에서, 도 10의 In_A, In_B, In_C, In_D는 각각 도 5의
Figure 112009052682411-pat00059
,
Figure 112009052682411-pat00060
,
Figure 112009052682411-pat00061
,
Figure 112009052682411-pat00062
이고, 도 10의
Figure 112009052682411-pat00063
이다.
정리하면, 수정된 2차 정수 감산 및 가산기(430)는 멀티플렉서들(511~513)에 대한 제어 신호에 따라 정방향 2차 정수 감산 및 가산기와 역방향 2차 정수 감산 및 가산기의 역할을 수행할 수 있다.
다시 도 9를 참조하면, 도 9의 데이터 순서 변환기2(440)는 도 3의 데이터 순서 변환기2와 같다. 데이터 순서 변환기2(440)는 데이터 순서 변환기1(410)에서 바뀐 원소들을 위해 다시 데이터 순서를 바꿔준다.
이러한 구성의 양방향 정수 변환 장치의 동작을 설명하면 다음과 같다.
양방향 정수 변환 장치(300)는 도 8에 도시된 바와 같이, 제어신호 생성부(400)로부터 제어 신호(Sel)를 수신하며, 제어 신호를 제1 내지 제5 멀티플렉서들(401, 403, 405, 407, 409) 및 2차 정수 감산 및 가산기(430)에 제공한다. 제어 신호(Sel)는 전술한 바와 같이, 현재의 모드가 정방향 정수 변환 모드인지 역방향 정수 변환 모드인지를 나타낼 수 있다. 제1 내지 제5 멀티플렉서(401, 403, 405, 407, 409)는 제어 신호에 따라 2개의 입력 중 하나를 선택한다.
제1 멀티플레서(401)는 양방향 정수 변환장치의 입력 및 1차 정수 감산 및 가산기의 출력을 입력으로서 수신하고 제어 신호에 따라 2개의 입력중 하나를 데이터 순서 변환기1(410)로 출력한다. 제2 멀티플렉서(403)는 데이터 순서 변환기1(410)의 출력 및 상기 수정된 2차 정수 감산 및 가산기(430)의 출력을 입력으로서 수신하고 상기 제어 신호에 따라 2개의 입력중 하나를 상기 1차 정수 감산 및 가산기(420)로 출력한다.
제3 멀티플렉서(405)는 상기 1차 정수 감산 및 가산기(420)의 출력 및 상기 데이터 순서 변환기2(440)의 출력을 입력으로서 수신하고 상기 제어 신호에 따라 2개의 입력 중 하나를 상기 수정된 2차 정수 감산 및 가산기(430)로 출력한다. 제4 멀티플렉서(407)는 수정된 2차 정수 감산 및 가산기(430)의 출력 및 상기 양방향 정수 변환장치의 입력을 입력으로서 수신하고, 상기 제어 신호에 따라 2개의 입력중 하나를 상기 데이터 순서 변환기2(440)로 출력한다. 그리고, 제5 멀티플렉서(409)는 데이터 순서 변환기1(410)의 출력 및 데이터 순서 변환기2(440)의 출력을 입력으로서 수신하고, 상기 제어 신호에 따라 2개의 입력중 하나를 상기 양방향 정수 변환장치의 출력으로서 출력한다.
Sel 신호가 0인 경우 입력, 데이터 순서 변환기1(410), 1차 정수 감산 및 가산기(420), 수정된 2차 정수 감산 및 가산기(430), 데이터 순서 변환기2(404) 출력의 순서로 데이터가 이동하여 정방향 정수변환 동작이 수행된다. 또한, Sel 신호가 1인 경우 입력, 데이터 순서 변환기2(440), 수정된 2차 정수 감산 및 가산기(430), 1차 정수 감산 및 가산기(420), 데이터 순서 변환기1(410), 출력 순으로 데이터가 이동하여 역방향 정수변환 동작을 수행 하게 된다.
구체적으로, 제어 신호 Sel이 0인 경우에, 제1 멀티플렉서(401)는 입력을 선택하여 데이터 순서 변환기1(410)로 출력하고, 제2 멀티플렉서(403)는 데이터 순서 변환기1(410)의 출력을 선택하여 출력한다. 또한, 제어 신호 Sel이 0인 경우에 제3 멀티플렉서(405)는 1차 정수 감산 및 가산기(420)의 출력을 선택하여 출력하고, 제4 멀티플렉서(407)는 수정된 2차 정수 감산 및 가산기(430)의 출력을 선택하여 출력한다. 또한, 제어 신호 Sel이 0인 경우에 제5 멀티플렉서(409)는 데이터 순서 변환기2(440)의 출력을 선택하여 출력한다.
반대로, Sel 신호가 1인 경우 입력, 데이터 순서 변환기2(440), 수정된 2차 정수 감산 및 가산기(430), 1차 정수 감산 및 가산기(420), 데이터 순서 변환기1(410) 순으로 데이터가 이동하여 역방향 정수변환 동작을 수행 하게 된다.
구체적으로, 제어 신호 Sel이 1인 경우에, 먼저 제3 멀티플렉서(405)가 데이터 순서 변환기2(440)의 출력을 선택하여 수정된 2차 정수 감산 및 가산기(30)로 출력한다. 그리고, 제어 신호 Sel이 1인 경우에, 제4 멀티플렉서(407)가 2차 정수 감산 및 가산기(30)로 출력을 선택하여 1차 정수 감산 및 가산기(420)로 출력한다. 제어 신호 Sel이 1인 경우에, 제3 멀티플렉서(405)가 1차 정수 감산 및 가산기(420)의 출력을 선택하여 데이터 순서 변환기1(410)로 출력하고, 제2 멀티플렉서(403)가 데이터 순서 변환기1(410)의 출력을 선택하여 제5 멀티플렉서(409)로 출력한다. 마지막으로 제어 신호 Sel이 1인 경우에, 제5 멀티플렉서(409)는 데이터 순서 변환기1(410)의 출력을 선택하여 출력으로서 출력한다.
이와 같이, 본 발명은 H.264 영상 부호기에서 기본적으로 사용되는 정방향 4x4 2차원(2-D) 정수변환과 역방향 4x4 2차원(2-D) 정수변환 과정을 하나의 하드웨어에서 모두 수행할 수 있도록 한다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
도 1은 종래의 정방향 정수변환 장치이다.
도 2는 정/역방향 정수변환 장치에서 사용되는 데이터 순서 변환기1이다.
도 3은 정/역방향 정수변환 장치에서 사용되는 데이터 순서 변환기2이다.
도 4는 정/역방향 정수변환 장치에서 사용되는 1차 정수 감산 및 가산기이다.
도 5는 정방향 정수변환 장치에서 사용되는 정방향 2차 정수 감산 및 가산기이다.
도 6는 종래의 역방향 정수변환 장치이다.
도 7은 역방향 정수변환 장치에서 사용되는 역방향 2차 정수 감산 및 가산기이다.
도 8은 본 발명에 따른 양방향 정수 변환 장치 및 제어신호 생성부를 도시한 도면이다.
도 9는 본 발명에 따른 양방향 정수 변환 장치를 나타낸 도면이다.
도 10은 본 발명에 따른 정/역방향 쉬프트 보정기를 나타낸 도면이다.

Claims (5)

  1. 양방향 정수 변환 장치에 있어서,
    일원 행렬(Unitary Matrix)인 두 개의 순열 행렬 중 어느 하나의 행렬을 이용하여 입력 원소들을 2x2 행렬로 묶을 수 있도록 입력 원소의 순서를 바꿔주는 제1데이터 순서 변환기와,
    4x4 입력을 2x2 행렬로 묶어 감산 및 가산을 행하는 1차 정수 감산 및 가산기와,
    4x4 입력을 각각의 원소끼리 감산 및 가산을 행하는 2차 정수 감산 및 가산기와 정방향 정수 변환시에는 상기 2차 정수 감산 및 가산기의 출력값들을 그대로 출력하고, 역방향 정수 변환시에는 상기 2차 정수 감산 및 가산기의 출력값들에 대해 역방향 정수 변환을 위한 연산이 수행된 결과값들이 출력되도록 하는 정/역방향 쉬프트 보정기를 포함하는 수정된 2차 정수 감산 및 가산기와,
    상기 두 개의 순열 행렬중 상기 제1데이터 순서 변환기에서 사용되지 않는 다른 하나의 행렬을 이용하여 입력원소들을 2x2 행렬로 묶을 수 있도록 입력 원소의 순서를 바꿔주는 제2데이터 순서 변환기를 포함하는 것을 특징으로 하는 양방향 정수 변환 장치.
  2. 제1항에 있어서, 상기 양방향 정수 변환장치의 입력 및 상기 1차 정수 감산 및 가산기의 출력을 입력으로서 수신하고 제어 신호에 따라 2개의 입력중 하나를 제1 데이터 순서 변환기로 출력하는 제1 멀티플레서와,
    상기 제1 데이터 순서 변환기의 출력 및 상기 수정된 2차 정수 감산 및 가산기의 출력을 입력으로서 수신하고 상기 제어 신호에 따라 2개의 입력중 하나를 상기 1차 정수 감산 및 가산기로 출력하는 제2 멀티플렉서와,
    상기 1차 정수 감산 및 가산기의 출력 및 상기 제2 데이터 순서 변환기의 출력을 입력으로서 수신하고 상기 제어 신호에 따라 2개의 입력 중 하나를 상기 수정된 2차 정수 감산 및 가산기로 출력하는 제3 멀티플렉서와,
    상기 수정된 2차 정수 감산 및 가산기의 출력 및 상기 양방향 정수 변환장치의 입력을 입력으로서 수신하고, 상기 제어 신호에 따라 2개의 입력중 하나를 상기 제2 데이터 순서 변환기로 출력하는 제4 멀티플렉서와,
    상기 제1 데이터 순서 변환기의 출력 및 상기 제2 데이터 순서 변환기의 출력을 입력으로서 수신하고, 상기 제어 신호에 따라 2개의 입력중 하나를 상기 양방향 정수 변환장치의 출력으로서 출력하는 제5 멀티플렉서를 더 포함하는 것을 특징으로 하는 양방향 정수 변환 장치.
  3. 제2항에 있어서, 상기 제어 신호는 현재의 모드가 정방향 정수 변환 모드인지 역방향 정수 변환 모드인지를 나타내는 것을 특징으로 하는 양방향 정수 변환 장치.
  4. 제3항에 있어서, 상기 제어 신호가 현재의 모드가 정방향 정수 변환 모드임을 나타내면, 상기 제1 멀티플렉서는 상기 양방향 정수 변환장치의 입력을 선택하고, 상기 제2 멀티플렉서는 상기 제1 데이터 순서 변환기의 출력을 선택하고, 상기 제3 멀티플렉서는 상기 1차 정수 감산 및 가산기의 출력을 선택하고, 상기 제4 멀티플렉서는 상기 수정된 2차 정수 감산 및 가산기의 출력을 선택하고, 상기 제5 멀티플렉서는 상기 제2 데이터 순서 변환기의 출력을 선택하는 것을 특징으로 하는 양방향 정수 변환 장치.
  5. 제3항에 있어서, 상기 제어 신호가 현재의 모드가 역방향 정수 변환 모드임을 나타내면, 상기 제1 멀티플렉서는 상기 1차 정수 감산 및 가산기의 출력을 선택하고, 상기 제2 멀티플렉서는 상기 수정된 2차 정수 감산 및 가산기의 출력을 선택하고, 상기 제3 멀티플렉서는 상기 제2 데이터 순서 변환기의 출력을 선택하고, 상기 제4 멀티플렉서는 상기 양방향 정수 변환장치의 입력을 선택하고, 상기 제5 멀티플렉서는 상기 제1 데이터 순서 변환기의 출력을 선택하는 것을 특징으로 하는 방향 정수 변환 장치.
KR1020090079822A 2009-08-27 2009-08-27 양방향 정수 변환 장치 및 방법 KR101067531B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090079822A KR101067531B1 (ko) 2009-08-27 2009-08-27 양방향 정수 변환 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090079822A KR101067531B1 (ko) 2009-08-27 2009-08-27 양방향 정수 변환 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20110022288A KR20110022288A (ko) 2011-03-07
KR101067531B1 true KR101067531B1 (ko) 2011-09-27

Family

ID=43930726

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090079822A KR101067531B1 (ko) 2009-08-27 2009-08-27 양방향 정수 변환 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101067531B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100776235B1 (ko) 2003-07-14 2007-11-16 프라운호퍼-게젤샤프트 츄어 푀르더룽 데어 안게반텐 포르슝에.파우. 변환 표시로의 변환 또는 변환 표시의 역변환을 위한 장치및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100776235B1 (ko) 2003-07-14 2007-11-16 프라운호퍼-게젤샤프트 츄어 푀르더룽 데어 안게반텐 포르슝에.파우. 변환 표시로의 변환 또는 변환 표시의 역변환을 위한 장치및 방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
논문 : IEEE
논문 : JCIE Vol.32
논문 : JOURNAL OF SEMICONDUCTOR TECHNOLOGY AND SCIENCE

Also Published As

Publication number Publication date
KR20110022288A (ko) 2011-03-07

Similar Documents

Publication Publication Date Title
KR100965704B1 (ko) 이미지 및 비디오 코딩을 위한 2d 변환
Cheung et al. Video coding on multicore graphics processors
KR101958842B1 (ko) 내부 예측을 위한 적응적 이산 코사인 변환 및 이산 사인 변환을 이용한 낮은 복잡도의 변환 코딩
KR101058448B1 (ko) 비디오 인코딩
KR101684209B1 (ko) 동화상 복호 장치, 동화상 부호화 장치, 동화상 복호 방법, 및 동화상 부호화 방법
WO2012161444A2 (ko) 화면 내 예측 방법 및 장치
JP6425609B2 (ja) 空間変化残差符号化を行う方法および装置
KR20120098500A (ko) 영상의 변환 및 역변환 방법, 및 이를 이용한 영상의 부호화 및 복호화 장치
CN103098472A (zh) 用于分层图像编码和解码的方法和设备
KR20080018469A (ko) 영상 변환 방법 및 장치, 역변환 방법 및 장치
TW201108745A (en) 16-point transform for media data coding
KR20130095260A (ko) 고해상도의 기준 프레임들을 이용한 비디오 코딩
TW201216716A (en) Motion compensation using vector quantized interpolation filters
JP4704333B2 (ja) 画像符号化装置および画像復号化装置、ならびにそれらで用いられる集積回路
CN105453566B (zh) 数据编码及数据解码
TWI825751B (zh) 視訊編碼方法和裝置
KR101067531B1 (ko) 양방향 정수 변환 장치 및 방법
KR101419689B1 (ko) H.264/avc 복호기에서 역양자화 및 역변환을 수행하는 복호화 장치 및 이를 이용한 복호화 방법
KR20100044333A (ko) 동영상 부호화 장치 및 이를 위한 영상 신호의 2차원 정렬 변환 장치 및 방법, 및 이를 위한 기록 매체
JP2011023817A (ja) 画像符号化装置
JP5358485B2 (ja) 画像符号化装置
KR20120139611A (ko) 영상의 변환 방법 및 장치, 역변환 방법 및 장치
CN102355580A (zh) 运用于图像编码和视频编码的六角变换方法和装置
JP6004852B2 (ja) ピクセルブロックを符号化及び再構成する方法と装置
JP2006074520A (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: 20140617

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150703

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee