KR19980041702A - 하나의 명령 주기내에서 0으로 반올림된 두 정수의 평균을 계산하는 방법 및 장치 - Google Patents

하나의 명령 주기내에서 0으로 반올림된 두 정수의 평균을 계산하는 방법 및 장치 Download PDF

Info

Publication number
KR19980041702A
KR19980041702A KR1019970012511A KR19970012511A KR19980041702A KR 19980041702 A KR19980041702 A KR 19980041702A KR 1019970012511 A KR1019970012511 A KR 1019970012511A KR 19970012511 A KR19970012511 A KR 19970012511A KR 19980041702 A KR19980041702 A KR 19980041702A
Authority
KR
South Korea
Prior art keywords
sum
operations
shifted
average
output
Prior art date
Application number
KR1019970012511A
Other languages
English (en)
Other versions
KR100231901B1 (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 윤종용
Publication of KR19980041702A publication Critical patent/KR19980041702A/ko
Application granted granted Critical
Publication of KR100231901B1 publication Critical patent/KR100231901B1/ko

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49978Rounding towards zero

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)

Abstract

MPEG 표준에 규정된 바와 같이 0으로 반올림되는 부호를 갖거나 갖지 않는 두 정수들의 평균은 각각의 연산수를 1비트위치씩 우측 쉬프팅하고, 이 쉬프팅된 연산수들을 합산한 후, 그 결과를 적절히 증가시킴으로써 하나의 명령주기에서 계산한다. 쉬프트된 연산수들은 가산기에서 합산되는바, 상기 가산기는 쉬프트된 연산수들의 합과 쉬프트된 연산수들의 합+1을 제공한다. 제어회로에 의해 제어되는 멀티플렉서는 상기 합출력과 합+1출력중의 하나를 선택한다. 증가(합+1출력의 선택)는 연산수들의 쉬프티드아웃 비트들과 합의 최상위비트 및 연산수들이 부호를 갖는 값인지 아닌지를 나타내는 모드신호의 검사에 기초하여 이루어진다.

Description

하나의 명령주기내에서 0으로 반올림된 두 정수의 평균을 계산하는 방법 및 장치
본 발명은 두 정수의 평균을 계산하는 방법 및 장치에 관한 것으로, 특히 중간 결과값의 오버플로우(overflow)로 인한 오차없이 정확하게 반올림된 결과값을 갖는 부호를 갖는(signed) 두 정수들 또는 부호를 갖지 않는(unsigned) 두 정수들의 평균을 하나의 명령주기내에서 계산하는 방법 및 장치에 관한 것이다.
동화상 전문가 그룹(Moving Picture Experts Group;MPEG) 표준은 압축 디지탈 비디오에 대한 강력한 규격으로서 출현된 것이다. MPEG-1 규격은 대략 초당 1.5메가비트의 압축 비디오 비트스트림비와 초당 약 250킬로비트의 압축 스테레오 오디오 비트스트림비를 규정한다. 제 2 규격인 MPEG-2는 형식화되는 과정중에 있으며, 고대역분포 미디어에 대한 압축비를 규정하게 될 것이다. MPEG표준에 맞도록 하기 위해서는 비디오와 오디오의 압축 및 신장의 결과물이 MPEG표준을 실행하는데 필요한 여러 알고리즘을 빠르게 처리해야 한다.
MPEG표준은 양방향 일시적 차동 펄스 코드 변조(differential pulse code modulation;DPCM) 및 1/2픽셀 움직임의 판단(half pixel motion estimation)를 필요로 한다. 도 1 은 픽셀(X) 블럭을 나타낸 것이다. 실제로 픽셀블럭은 도 1에 나타낸 것보다 더 많은 픽셀을 포함하나, 설명의 편의를 위해 생략하였다. 예를 들면, 비디오신호 처리에 있어서, 기준 비디오정보 처리유니트는 매크로블럭으로서, 4개의 8X8 휘도블럭과 2개의 8X8 색도블럭을 포함하는 16X16 픽셀매트릭스를 갖는다. 각각의 매크로블럭은 경우에 따라 훨씬 더 큰 휘도 또는 색도프레임의 일부분일 수도 있다. 도 1 에서 픽셀(X)은 휘도 또는 색도를 나타내며, 부호를 갖지 않는 정수에 해당하는 출력을 갖는다.
MPEG 움직임 처리는 1/2픽셀 움직임 판단뿐 아니라 전픽셀 움직임 판단 (full pixel motion estimation)과 관련된다. 도 1 에서, H지점들은 수평 인터폴레이션(interpolation)을 나타내고, V 지점들은 수직인터폴레이션을 나타내며, Y지점들은 수평 및 수직인터폴레이션을 나타낸다. 수평인터폴레이션(H) 및 수직인텨폴레이션(V)은 다음 식으로 계산된다.
(X1+X2)/2 (1)
여기서, X1과 X2는 수평인터폴레이션(H)에 대해 수평적으로 인접한 픽셀들과 수직인터폴레이션(V)에 대해 수직적으로 인접한 픽셀들이다. 수평 및 수직인터폴레이션(Y)은 다음 식으로 계산된다.
(X1+X2+X3+X4)/4 (2)
여기서, X1과 X3, X2와 X4는 대각선으로 인접한 픽셀들이다. 식 (1)과 (2)에서 기호 /은 MPEG표준에서 규정된 바와 같이 0로 반올림되는 정수의 나눗셈을 나타낸다. 0로의 반올림에 있어서, 모든 비정수들(non-integers)은 그 다음의 가장 작은 정수로 반올림된다. 즉, 정수의 요소는 그대로 남고, 분수 요소는 버려진다. 예를 들면, 7/4와 -7/-4는 1이 되고, -7/1과 7/-4는 -1이 된다.
정수의 연산수(operand)인 X1와 X2의 평균은 연산수들을 모두 합하여 중간결과값을 구한 후, 이 중간결과값을 2로 나누기 위해 1비트만큼 우측으로 쉬프트시켜 구한다. 이 방법은 단순하기는 하나, MPEG규격에 따른 적절히 반올림된 결과치를 도출해내지 못한다. 또한, 우측 쉬프트가 행해지기 전에 중간결과값이 오버플로우되면 이 값은 MPEG표준에 따라 적절하게 반올림되지 않게 된다. 그리고 상기한 평균을 구하는 방법은 다수의 명령주기를 수행하기 위해 다목적 컴퓨터를 필요로 한다.
MPEG 움직임 처리와 같은 계산이 집중적으로 필요한 경우에 있어서는 신속하고 효율적인 방식으로 0으로 반올림된 두개의 정수의 평균을 계산하는 것이 바람직하다.
본 발명은 두개의 부호를 가진 정수들 또는 부호를 갖지 않은 정수들의 평균을 하나의 명령주기내에서 계산하는 방법 및 장치를 제공한다. 상기 두 정수의 평균은 MPEG표준에서 규정된 바와 같이 0로 반올림된다. 또한, 그 중간결과값은 오버플로우되지 않음으로써 계산의 정확성을 보존한다.
본 발명의 일실시예에 의하면, 부호를 갖는 정수 및 부호를 갖지 않는 정수를 포함하는 두개의 연산수들의 평균을 구하기 위한 회로의 동작방법이 제공되는바, 상기 연산수들의 평균은 0로 반올림되는 정수이다. 상기 실시예에 있어서, 각각의 연산수는 1비트위치만큼 우측으로 쉬프트되며, 상기 연산수들의 최하위 비트(LSB)위치의 비트들은 쉬프티드아웃(shifted-out) 비트가 된다. 상기 우측으로 쉬프트된 연산수들은 합해지며, 그 결과치가 부호를 갖지 않으며 상기 쉬프티드아웃 비트들이 모두 1인 경우, 상기 결과치가 양(+)의 부호를 가지며 상기 쉬프티드아웃 비트들이 모두 1인 경우, 그리고 상기 결과치가 부(-)의 부호를 가지며 상기 쉬프티드아웃 비트들중의 어느 하나가 1인 경우 상기 결과치는 증가한다. 그렇지 않을 경우에는 상기 결과치는 증가하지 않는다.
본 발명의 다른 실시예는 합가산기(sum adder), 합+1 가산기, 제어회로 및 멀티플렉서가 조합되어 이루어진 장치를 제공한다. 상기 합가산기는 각각 우측으로 쉬프트된 정수(A,B)에 연결된 연산수입력부(A,B)를 가지는바, 상기 정수들(A,B)의 최하위비트위치의 비트들은 쉬프티드아웃 비트들이다. 상기 합+1 가산기도 또한 각각 우측으로 쉬프트된 정수(A,B)에 연결된 연산수입력부(A,B)를 갖는다. 상기 제어회로는 상기 쉬프티드아웃 비트와 상기 합가산기의 출력부의 최상위비트위치에 연결된 입력부와, 제어출력부를 가진다. 상기 멀티플렉서는 상기 합가산기의 출력부에 연결된 하나의 입력부와 상기 합+1 가산기의 출력부에 연결된 다른 하나의 입력부 및 상기 제어회로의 제어출력부에 연결된 선택입력부를 갖는다. 멀티플렉서는 0로 반올림되는 정수(A,B)의 평균을 출력한다.
도 1 은 MPEG표준에 의해 규정된 1/2픽셀 인터폴레이션(interpolation)를 나타내는 픽셀블럭을 도시한 도면.
도 2 는 본 발명에 의한 알고리즘을 나타낸 흐름도.
도 3 은 본 발명에 의한 논리회로의 구성도.
도 4 는 도 3 의 회로에 사용하기 적합한 가산기의 구성도.
도 5 는 도 3 의 회로에 사용하기 적합한 제어회로의 구성도.
도 6 은 도 3 의 회로에 사용하기 적합한 멀티플렉서의 회로도.
이하, 첨부한 도면을 참조로 하여 본 발명의 바람직한 실시예를 상술하며, 도면 전체를 통하여 동일한 부분에는 동일한 도면부호를 사용하기로 한다.
MPEG표준에서 규정된 바와 같이 하나의 명령주기내에서 0로 반올림되는 부호를 갖는 2개의 정수들 또는 부호를 갖지 않는 2개의 정수들의 평균은 각각의 정수를 1씩 우측으로 쉬프트시키고, 이 쉬프트된 정수들을 합산하고, 그 결과를 적절하게 반올림함으로써 구한다. 부호를 갖지 않는 연산수에 있어서, 반올림은 쉬프티드아웃 비트들의 검사에 기초하여 이루어진다. 상기 쉬프티드아웃 비트들 모두 1인 경우, 상기 반올림된 결과치를 증가시키며, 그렇지 않을 경우에는 증가시키지 않는다. 부호를 갖는 연산수에 있어서 반올림은 쉬프티드아웃 비트들의 검사와 상기 결과치의 최상위비트(MSB)에 기초하여 이루어진다. 양(positive)의 결과치(MSB=0)일 경우, 쉬프티드아웃 비트들 모두 1이면 상기 결과치를 증가시키며, 그렇지 않으면 증가시키지 않는다. 부(negative)의 결과치(MSB=1)의 경우, 쉬프티드아웃 비트들중 어느 하나가 1이면 결과치를 증가시키고, 그렇지 않으면 증가시키지 않는다.
부호를 갖는 정수들은 양수에 0이 포함되는 2의 보수형태로 표시된다. 양수 및 음수는 부호를 가진 정수를 나타낸다. 논리적인 우측 쉬프트는 0를 쉬프트된 연산수의 최상위비트위치에 삽입하는 것이며, 산술적인 우측 쉬프트는 프리쉬프트된(pre-shifted) 연산수의 최상위비트(또는 부호비트)를 쉬프트된 연산수의 최상위비트위치로 복사함으로써 부호 확장(sign extension)이 이루어지도록 하는 것이다. 상기 결과치의 증가는 1만큼의 증가를 의미한다.
도 2 는 본 발명에 의한 알고리즘(200)의 흐름도를 나타낸 것이다. 단계(202)에서 이진연산수들(A,B)을 구하고, 결정단계(204)에서 연산수들(A,B)이 부호를 갖는 수인지 아닌지를 결정한다. 연산수들(A,B)이 부호를 갖지 않으면, 단계(206)에서 연산수들(A,B)들은 논리적으로 1비트위치 우측 쉬프트됨으로써 각각의 연산수의 최하위비트가 쉬프티드아웃되며, 단계(208)에서 상기 우측쉬프트된 연산수들(A,B)이 합산되어 합산결과치가 얻어진다. 그런 다음, 결정단계(210)에서 쉬프티드아웃 비트들 모두 1인지를 테스트하고, 모두 1일 경우 단계(212)에서 상기 결과치를 증가시키고 단계(214)에서 알고리즘을 종료한다. 단계(210)에서의 테스트 결과, 쉬프티드아웃 비트들 모두가 1이 아니면 알고리즘은 곧바로 종료단계(214)로 진행된다.
결정단계(204)로 되돌아가서 연산수들(A,B)이 부호를 갖는 경우에는 단계(216)에서 연산자들(A,B)은 산술적으로 1비트위치 우측 쉬프트됨으로써 각각의 연산수의 최하위비트가 쉬프티드아웃된다. 단계(218)에서 상기 우측 쉬프트된 연산수들(A,B)은 합산되어 합산결과치를 얻어진다. 결정단계(220)에서 상기 결과치가 양수이면 알고리즘은 결정단계(210)로 넘어가 상술한 바와 같이 진행되고, 상기 결과치가 음수인 경우에는 알고리즘은 결정단계(222)로 진행한다. 결정단계(222)에서 쉬프티드아웃 비트들중 어느 하나가 1인지를 테스트하여, 어느 하나가 1일 경우에는 상기 결과치를 단계(212)에서 증가시키고, 알고리즘을 단계(214)에서 종료하고, 그렇지 않을 경우에는 알고리즘이 곧바로 단계(214)로 진행된다.
상기 알고리즘(200)의 변경이 가능함은 물론이다. 예를 들면, 쉬프티드아웃 비트들이 모두 1이면, 결과치가 양수이든지 음수이든지 결과치증가 단계로 진행할 수 있다. 마찬가지로, 쉬프티드아웃 비트들이 모두 0이면, 결과치가 양수이든지 음수이든지 증가단계를 건너뛸 수 있다. 또한, 합 및 합+1의 결과는 우측 쉬프트된 연산수들과 선택된 적절한 결과로부터 계산될 수 있다.
다음에 부호를 갖지 않는 수의 경우를 보다 상세히 설명한다. 부호를 갖지 않는 수의 경우, 0로 반올림하는 것은 항상 이진수점(binary point)의 우측의 비트를 모두 버리는 것을 의미한다. 두 개의 쉬프티드아웃 비트들을 살펴본다면, 그 가능성은 00, 01, 10, 11이다. 이 네 개의 가능성에 대하여 0+0=0, 0+1=1, 1+0=1, 1+1=10이 된다. 각각의 쉬프티드아웃 비트는 가중치 0.12또는 0.510를 가짐으로써 중간값(half way value)은 버려진다. 즉, 0.12은 0로 반올림되고, 0.12+0.12은 1.02로 반올림된다. 즉, 부호를 갖지 않는 연산수는 쉬프티드아웃 비트들 모두가 1이면 결과치를 증가시키고, 그렇지 않으면 결과치를 증가시키지 않는다. 상기 알고리즘(200)에 적용되는 부호를 갖지 않는 연산수의 여러 예를 다음의 표 1에 나타내었다.
0로 반올림되는 2개의 부호를 갖지 않는 수의 평균
연산수(소수) 연산수(이진수) 우측쉬프트 연산수를 가산 쉬프티드아웃 비트 부호 비트 증가시킬 것인가? 결과치
75(평균 6) 111101 0011+0010-------0101 11 N.A. 그렇다 0101+0001(쉬프티드아웃비트로부터의 캐리)------0110(소수6)
74(평균5.5) 111100 0011+0010-------0101 10 N.A. 아니다 0101+0000(분수부분을 버림)------0101(소수 5)
1515(평균 15) 11111111 0111+0111-------1110 11 N.A. 그렇다 1110+0001(쉬프티드아웃비트로부터의 캐리)------1111(소수 15)
1312(평균12.5) 11011100 0110+0110-------1100 10 N.A. 아니다 1100+0000(분수부분을 버림)------1100(소수 12)
64(평균 5) 110100 0011+0010-------0101 00 N.A. 그렇다 0101+0000(반올림 안함)------0101(소수 5)
다음에 부호를 갖는 수의 경우를 상세히 설명한다. 부호를 갖는 수의 경우, 쉬프트된 2개의 수의 합이 양수이면 부호를 갖지 않는 수를 반올림하는 규칙에 따른다. 이것은 두개의 양수를 평균할때 뿐 아니라 그 평균값이 양수가 되도록 양수와 음수를 평균할때 적용될 수 있다. 우측쉬프트된 두 수의 합이 양수가 되는 알고리즘(200)에 적용되는 부호를 갖는 연산수의 여러 예를 표 2에 나타내었다.
0로 반올림되는 부호를 갖는 두개의 수의 평균 - 결과가 양수
연산수(소수) 연산수(이진수) 우측쉬프트 연산수를 가산 쉬프티드아웃 비트 부호 비트 증가시킬 것인가? 결과치
+6+4(평균 5) 110100 0011 +0010------0101 00 0 아니다 0101+0000(반올림 안함)------0101(소수5)
+5+7(평균 6) 101111 0010+0011-------0101 11 0 그렇다 0101+0001(쉬프티드아웃비트로부터의 캐리)------0110(소수 6)
-3+4(평균 0.5) 1101100 1110+0010-------0000(오버플로우를 무시함) 10 0 아니다 0000+0000(분수부분을 버림)------0000(소수 0)
+7+7(평균 7) 1110111 0011+0011-------0110 11 0 그렇다 0110+0001(쉬프티드아웃비트로부터의 캐리)------0111(소수 7)
+7+3(평균 5) 11111 0011+0001------0100 11 0 그렇다 0100+0001(쉬프티드아웃비트로부터의 캐리)------0101(소수 5)
+7-4(평균 1.5) 1111100 0011+1110------0001(오버플로우를 무시함) 10 0 아니다 0001+0000(분수부분을 버림)------0001(소수 1)
+6-1(평균 2.5) 1101111 0011+1111------0010(오버플로우를 무시함) 01 0 아니다 0010+0000 (분수부분을 버림)------0010 (소수 2)
+5-3(평균 1) 1011101 0010+1110------0000(오버플로우를 무시함) 11 0 그렇다 0000+0001(쉬프티드아웃비트로부터의 캐리)------0001(소수 1)
부호를 갖는 수에 있어서, 쉬프트된 두 수의 합이 음수이면, 다른 반올림 규칙이 적용된다. n비트의 부호를 갖는 (2의 보수) 수(A)가 다음의 식에 의해 주어질 경우
(3)
비트들은 정수 n의 어떠한 값에 대해서도 0에서 n-1까지 나열된다. 예를 들어, n=4인 경우
0111=(-24-1X0)+(24-2X1)+(24-3X1)+(24-4X1)=0+4+2+1=7 (4)
1111=(-24-1X1)+(24-2X1)+(24-3X1)+(24-4X1)=-8+4+2+1=-1 (5)
1000=(-24-1X1)+(24-2X0)+(24-3X0)+(24-4X0)=-8+0+0+0=-8 (6)
그러므로 부호를 갖는 2의 보수의 MSB인 부호비트는 가중치 -2n-1를 가지며, 다른 비트들은 양수 또는 가중치를 갖는다. 이를 위한 유효한 작업은 1씩 증가시키는 것으로, 최종 결과가 양수이든지 음수이든지 최종 결과의 LSB에 양수를 더하는 것이다.
결과치의 증가를 결정하기에 앞서, 양의 결과값은 정확한 값이거나 1이 작은 값(즉, 5이어야 하는 4)인 반면, 음의 결과값은 정확한 값이거나 1이 큰 값(즉, -4이어야 하는 -5)이다. 결과가 양수이고 쉬프티드아웃 비트가 00인 경우는 결과가 이미 정확한 것으로 증가는 일어나지 않는다. 결과가 양수이고 쉬프티드아웃 비트가 01 또는 10인 경우는 쉬프티드아웃 비트들이 결과를 변화시키지 않으며 증가가 일어나지 않는다. 결과가 양수이고 쉬프티드아웃 비트가 11이면, 1씩 증가되어 쉬프티드아웃 비트로부터 캐리가 제공된다. 결과가 음수이고 쉬프티드아웃 비트가 00이면, 결과는 이미 정확한 것으로 증가는 일어나지 않는다. 결과가 음수이고 쉬프티드아웃 비트가 01, 10 또는 11일때는 1의 증가가 이미 존재하고 있는 0로부터의 반올림값을 없앰으로써 정확한 결과를 제공한다. 우측 쉬프트된 두 수의 합이 음수가 되는 알고리즘(200)에 적용되는 부호를 갖는 연산수의 여러 예를 표 3에 나타내었다.
0로 반올림된 부호를 갖는 두 수의 평균 - 결과가 음수
연산수(소수) 연산수(이진수) 우측쉬프트연산수를 가산 쉬프티드아웃비트 부호 비트 증가시킬 것인가? 결과치
-5+1(평균 -2) 10110001 1101+0000-------1101 11 1 그렇다 1101+0001(부적절한 반올림)------1110(소수 -2)
-6+3(평균-1.5) 10100011 1101+0001-------+1110 01 1 그렇다 1110+0001(부적절한 반올림)------1111(소수 -1)
-6+2(평균 -2) 10100010 1101+0001-------1110 00 1 아니다 1110+0000(반올림 안함)------1110(소수 -2)
-5-3(평균 -4) 10111101 1101+1110-------1011(오버플로우를무시함) 11 1 그렇다 1011+0001(부적절한 반올림)------1100(소수 14)
-4-1(평균-2.5) 11001111 1110+1111------1101(오버플로우를 무시함) 01 1 그렇다 1101+0001(부적절한 반올림)------1110(소수 -2)
-4-2(평균 -3) 11001110 1110+1111-------1101(오버플로우를 무시함) 00 1 아니다 1101+0000(반올림 안함)------1101(소수 -3)
+4-6(평균 -1) 01001010 0010+1101-------1111 00 1 아니다 1111+0000 (반올림 안함)------1111 (소수 -1)
-8-8(평균 -8) 10001000 1100+1100------1000(오버플로우를 무시함) 00 1 아니다 1000+0000 (반올림 안함)------1000 (소수 -8)
연산수가 n비트 수이면, 우측 쉬프트된 연산수는 n-1비트 연산수로 볼 수 있다. 우측 쉬프트된 n-1비트 연산수의 합산에 의해 오버플로우가 일어나지 않는 n비트의 결과치가 얻어진다. 그러므로 우측 쉬프트된 연산수를 n비트 수로 보면, 우측 쉬프트된 연산자수의 합산으로 인해 일어나는 n비트 결과치에 있어서의 오버플로우를 무시할 수 있다.
부호를 갖지 않는 결과값과 양의 결과값은 증가가 일어나기 전에 적어도 1개의 0을 포함한다. 그러므로 부호를 갖지 않는 결과값 또는 양의 결과값의 증가는 오버플로우를 초래하지 않는다. 음의 결과값의 경우, 그 값의 증가에 의해 그 크기가 감소되며 그에 따라 오버플로우를 유발하지 않는다.
도 3 은 상술한 방법에 의해 부호를 갖거나 갖지 않는 두개의 4비트 연산수들(A,B)의 평균을 구하기 위한 논리회로(300)의 블럭도이다. 이진수(A,B)는 가산기(302)의 제 0 단에 비트위치(A1,B1), 제 1 단에 비트위치(A2,B2), 제 2 단에 비트위치(A3,B3)가 각각 적용되도록 함으로써 우측 쉬프트된다. 가산기(302)의 제 3 단에는 이진수(A,B)가 부호를 갖는 경우에는 그 부호를 나타내는 부가 비트들(appended bits)이 인가되고, 상기 이진수가 부호를 갖지 않는 경우 0의 부가비트들이 인가된다. 상기 부가비트들은 AND게이트(304,306)에 의해 결정된다. AND게이트(304,306)가 부호비트(A3,B3)를 가산기(302)의 제 3 단으로 부가비트(AAP,BAP)로서 각각 통과시키는(또는 부호 확장시키는) 경우, 모드신호(MODE)는 부호를 갖는 수에 대하여 논리1이 된다. AND게이트(304,306)가 부호비트(A3,B3)를 통과시키지 않고 가산기(302)의 제 3 단의 입력을 0로 하는 경우, MODE신호는 부호를 갖지 않는 수에 대하여 논리0이 된다.
상기 우측 쉬프팅을 위한 당 분야의 다른 공지의 방법에는 연산수(A,B)에 대한 쉬프트레지스터를 이용하는 방법이 있는바, 가산기의 합과 합+1을 결정하기 전에 가산기의 연산수 입력부와 쉬프트레지스터내의 우측 쉬프트되는 연산수(A,B)에 쉬프트레지스터의 출력을 인가한다. 또한, 부가 비트는 포함하고 최하위비트는 포함하지 않는 연산수 출력을 가산기에 제공하기 전에 상기 연산수(A,B)를 MSB+1 비트위치에 1비트를 부가하는 레지스터에 저장할 수 있는데, 상기 부가되는 비트는 부호를 갖지 않는 수에 대하여 0이고 부호를 갖는 수에 대하여 MSB값이 된다.
제어회로(308)는 우측 쉬프트된 LSB(A0,B0)와 MODE신호를 받아 선택신호(SEL)를 생성하여 2:1멀티플렉서(310)가 회로(300)의 출력으로서 가산기(302)의 합 또는 합+1을 선택하도록 한다. 상기 제어회로(308)는 다음식을 충족시킨다.
(7)
따라서 부호를 갖는 수에 대하여 또는 S3(A0+B0)가 1이거나 부호를 갖지 않는 수에 대하여 A0B0가 1이면 선택신호(SEL)는 1이 되어 가산기(302)의 합+1출력을 선택하고, 그렇지 않을 경우에는 선택신호(SEL)는 0이 되어 가산기(302)의 합출력을 선택한다.
도 4 는 가산기(302)를 나타낸 구성도이다. 여기서, 합 및 합+1 출력은 캐리룩어헤드(carry lookahead)가산기에 의해 제공된다. 캐리룩어헤드 가산기는 1명령주기의 기본스텝시간내에서 빠른 가산을 수행한다. 전파-발생부(propagate -generate (PG) sections)(402,404,406)는 연산수(A3와 B3, A2와 B2, A1와 B1)에 대해 각각 PG신호(P2와 G2, P1과 G1, P0와 G0)를 제공하여 이진수(A,B)의 비트위치 23,2221를 각각 나타낸다. 상기 PG신호들은 캐리회로(carry chain)(408,410)의 각단에 인가된다. 캐리회로(408)는 최하위 캐리인 비트(carry-in bit)(CIN0)로서 0를 입력받아 A3와 B3의 합, A2와 B2의 합, 및 A1과 B1과 0의 합에 각각 해당하는 캐리아웃 비트들(carry-out bits)(COUT2,COUT1, COUT0)를 생성한다. 캐리회로(410)는 최하위 캐리인비트(C+1IN0)로서 1을 입력받아 A3와 B3의 합, A2와 B2의 합, 그리고 A1과 B1과 0의 합에 각각 해당하는 캐리아웃 비트들(C+1OUT2,C+1OUT1, C+1OUT0)를 생성한다. 캐리아웃 비트들(COUT2,COUT1, COUT0)은 캐리인 비트를 합발생기(sum generator)(412)의 제 3 단, 제 2 단 및 제 1 단에 각각 제공하고, 0는 합발생기(412)의 제 0 단에 캐리인 비트를 제공한다. 반면, 캐리아웃 비트들(C+1OUT2,C+1OUT1, C+1OUT0)은 캐리인 비트들을 합발생기(414)의 제 3 단, 제 2 단 및 제 1 단에 각각 제공하고, 1은 합발생기(414)의 제 0 단에 캐리인 비트를 제공한다.
합발생기(412)는 제 3 단에서 AAP, BAP및 COUT2를 합산하여 S3를 제공하고, 제 2 단에서 A3, B3, COUT1를 합산하여 S2를 제공하고, 제 1 단에서 A2, B2, COUT0를 합산하여 S1을 제공하고, 제 0 단에서 A1, B1, 0를 합산하여 S0을 제공한다. 합발생기(414)는 제 3 단에서 AAP, BAP, C+1OUT2를 합산하여 S+13를 제공하고, 제 2 단에서 A3, B3, C+1OUT1를 합산하여 S+12를 제공하고, 제 1 단에서 A2, B2, COUT0를 합산하여 S+11을 제공하고, 제 0 단에서 A1, B1, 1를 합산하여 S+10을 제공한다. 따라서, 합발생기(412)는 합출력을 제공하고, 합발생기(414)는 합+1출력을 제공한다. 이들 합발생기의 각단은 예컨대 제 1 및 제 2의 2-입력 XOR(exclusive-OR)게이트(도시하지 않음)를 포함할 수 있다. 제 1 XOR게이트와 제 2 XOR게이트의 입력부에는 합산될 수들이 인가되고, 제 2 XOR게이트의 제 1 입력부에 연결된 제 1 XOR게이트의 출력부와, 제 2 XOR게이트의 출력부는 결과값을 출력한다. 적절한 PG부, 캐리회로 및 합발생기는 당 분야에서 공지의 것이다. 또한, 2개의 이진수의 합 및 합+1을 수행하는 캐리선택 가산기와 같은 회로라면 어떠한 회로도 가산기(302)로 이용할 수 있다.
도 5 는 상기 식 (7)에 따른 제어회로(308)의 구성을 도시한 것이고, 도 6 은 멀티플렉서(310)의 구성을 도시한 것이다. 다수의 2:1멀티플렉서 구성과 이와 관련된 데이타선택회로는 당 분야에서 공지의 것이다.
이상에서 설명한 본 발명은 특허청구범위에 한정되는 것이 아니다. 예를 들면, 가산기(302), 제어회로(308) 및 멀티플렉서(310)는 어떠한 회로에서도 동작될 수 있다. 연산수들은 적어도 2개의 비트길이일 수 있다. 다목적 컴퓨터 또는 프로세서에 의해 하나의 명령주기 또는 다수의 명령주기내에서 본 발명이 수행될 수 있다. 본 발명은 MPEG 움직임 처리외에도 많은 응용분야에 적용될 수 있다. 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다.

Claims (15)

  1. 부호를 갖지 않는 두 연산수들의 평균을 구하되, 그 평균이 0로 반올림되는 정수가 되도록 하기 위한 회로의 구동방법에 있어서,
    상기 각각의 연산수를 1비트위치 만큼 논리적으로 우측쉬프트시키는 바, 상기 연산수들의 최하위비트위치의 비트들이 쉬프티드아웃 비트들이 되도록 하는 단계와,
    상기 우측쉬프트된 연산수들을 합산하는 단계, 및
    상기 쉬프티드아웃 비트들 모두 1일때 상기 합산 결과를 증가시키는 단계를 포함하는 것을 특징으로 하는 부호를 갖지 않는 두 연산수들의 평균을 구하기 위한 회로의 구동방법.
  2. 부호를 갖는 두 연산수들의 평균을 구하되, 그 평균이 0로 반올림되는 정수가 되도록 하기 위한 회로의 구동방법에 있어서,
    상기 각각의 연산수를 1비트위치 만큼 산술적으로 우측쉬프트시키는 바, 상기 연산수들의 최하위비트위치의 비트들이 쉬프티드아웃 비트들이 되도록 하는 단계와,
    상기 우측쉬프트된 연산수들을 합산하는 단계, 및
    상기 합산 결과가 양의 값을 가지며 상기 쉬프티드아웃 비트들 모두 1인 경우와, 상기 합산 결과가 음의 값을 가지며 상기 쉬프티드아웃 비트들중 어느 하나가 1인 경우에 상기 합산 결과를 증가시키는 단계를 포함하는 것을 특징으로 하는 부호를 갖는 두 연산수들의 평균을 구하기 위한 회로의 구동방법.
  3. 부호를 갖는 정수와 부호를 갖지 않는 정수를 포함하는 두 연산수들의 평균을 구하되, 그 평균이 0로 반올림되는 정수가 되도록 하기 위한 회로의 구동방법에 있어서,
    상기 각각의 연산수를 1비트위치 만큼 우측쉬프트시키는 바, 상기 연산수들이 부호를 갖지 않는 수일 경우에는 논리적으로 우측쉬프트시키고, 상기 연산수들이 부호를 갖는 수일 경우에는 산술적으로 우측쉬프트시키며, 상기 연산수들의 최하위비트위치의 비트들이 쉬프티드아웃 비트들이 되도록 하는 단계와,
    상기 우측쉬프트된 연산수들을 합산하는 단계, 및
    상기 합산 결과가 부호를 갖지 않으며 상기 쉬프티드아웃 비트들 모두 1인 경우와, 상기 합산 결과가 양의 값을 가지며 상기 쉬프티드아웃 비트들 모두 1인 경우, 및 상기 합산 결과가 음의 값을 가지며 상기 쉬프티드아웃 비트들중 어느 하나가 1인 경우에 상기 합산 결과를 증가시키는 단계를 포함하는 것을 특징으로 하는 부호를 갖는 정수와 부호를 갖지 않는 정수를 포함하는 두 연산수들의 평균을 구하기 위한 회로의 구동방법.
  4. 제 3 항에 있어서,상기 회로의 구동이 하나의 명령주기에서 행해지는 것을 특징으로 하는 부호를 갖는 정수와 부호를 갖지 않는 정수를 포함하는 두 연산수들의 평균을 구하기 위한 회로의 구동방법.
  5. 제 4 항의 회로구동방법을 실행하기 위한 프로세서.
  6. 부호를 갖는 두 연산수들의 평균을 구하되, 그 평균이 0로 반올림되는 정수가 되도록 하기 위한 회로의 구동방법에 있어서,
    제 1 및 제 2의 부호를 갖는 n비트의 연산수들을 구하는 단계와,
    상기 연산수들을 부호 확장하여 n+1비트의 부호확장된 연산수들을 구하되, 상기 부호확장된 연산수들이 각각 하나의 최하위비트에 연결된 n개의 비트들을 포함하도록 하는 단계,
    상기 부호확장된 연산수들의 최하위비트들없이 부호확장된 연산수들의 n개의 비트들을 합산하여 n비트의 결과를 구하는 단계,
    상기 결과를 증가시켜 상기 결과가 양의 값을 가지며 부호확장된 연산수의 최하위비트가 1이고, 상기 결과가 음의 값을 가지며 부호확장된 연산수들의 최하위비트가 1일때 상기 연산수들의 부호화된 n비트의 평균을 제공하는 단계,
    상기 결과가 양의 값을 가지며 부호확장된 연산수들의 최하위비트가 0이고, 상기 결과가 음의 값을 가지며 부호확장된 연산수의 최하위비트가 0일때 상기 결과를 연산수들의 부호를 갖는 n비트의 평균으로서 제공하는 단계를 포함하는 것을 특징으로 하는 부호를 갖는 두 연산수들의 평균을 구하기 위한 회로의 구동방법.
  7. 제 6 항에 있어서, 상기 합산단계가 n비트 가산기에 의해 수행되는 것을 특징으로 하는 부호를 갖는 두 연산수들의 평균을 구하기 위한 회로의 구동방법.
  8. 제 7 항에 있어서, 상기 n비트 가산기가 n비트 합가산기와 n비트 합+1 가산기를 포함하고, 상기 결과를 증가시켜 평균을 제공하는 단계가 상기 합+1 가산기의 출력을 선택하는 단계를 포함하며, 상기 결과를 평균으로서 제공하는 단계가 상기 합가산기의 출력을 선택하는 단계를 포함하는 것을 특징으로 하는 부호를 갖는 두 연산수들의 평균을 구하기 위한 회로의 구동방법.
  9. 제 8 항에 있어서, 상기 회로의 구동이 하나의 명령주기에서 수행되는 것을 특징으로 하는 부호를 갖는 두 연산수들의 평균을 구하기 위한 회로의 구동방법.
  10. 두 연산수들의 평균을 구하되, 그 평균이 0으로 반올림되는 정수로 하기 위한 장치에 있어서,
    최상위비트위치를 갖는 합출력부와, 우측쉬프트된 정수들(A,B)에 각각 연결된 연산수 입력부들(A,B)를 가지되, 상기 정수들의 최하위비트위치의 비트들이 쉬프티드아웃 비트들이 되는 합가산기와,
    합+1 출력과, 상기 우측쉬프트된 정수들에 각각 연결된 연산수 입력부들을 갖는 합+1 가산기,
    상기 합가산기의 쉬프티드아웃 비트들에 연결된 입력부들과, 제어출력부를 갖춘 제어회로, 및
    상기 합출력에 연결된 제 1 입력부와, 상기 합+1 출력에 연결된 제 2 입력부, 및 상기 제어회로의 제어출력부에 연결된 선택입력부을 갖춘 멀티플렉서를 포함하는 것을 특징으로 하는 두 연산수들의 평균을 구하기 위한 장치.
  11. 부호를 갖는 정수 및 부호를 갖지 않는 정수를 포함하는 두 연산수들의 평균을 구하되, 그 평균을 0으로 반올림되는 정수로 하기 위한 장치에 있어서,
    최상위비트위치를 갖는 합출력부와, 우측쉬프트된 정수들(A,B)에 각각 연결된 연산수 입력부들(A,B)를 가지되, 상기 정수들의 최하위비트위치의 비트들이 쉬프티드아웃 비트들이 되는 합가산기와,
    합+1 출력부와, 상기 우측쉬프트된 정수들에 각각 연결된 연산수 입력부들을 갖는 합+1 가산기,
    상기 쉬프티드아웃 비트들과, 상기 합출력부의 최상위비트위치, 및 상기 연산수들과 합출력이 부호를 갖는 값인지 아닌지를 나타내는 모드신호에 연결된 입력부들과, 제어출력을 갖춘 제어회로, 및
    상기 합출력에 연결된 제 1 입력부와, 상기 합+1출력에 연결된 제 2 입력부, 및 상기 제어회로의 제어출력부에 연결된 선택입력부을 갖춘 멀티플렉서를 포함하며,
    상기 모드신호가 부호를 갖지 않는 값을 나타낼때 상기 우측쉬프트된 연산수들이 논리적으로 우측쉬프트되고, 상기 모드신호가 부호를 갖는 값을 나타낼때 상기 우측쉬프트된 연산수들이 산술적으로 우측쉬프트되고,
    상기 모드신호가 부호를 갖지 않는 값을 나타내고 상기 쉬프티드아웃 비트들이 1인 경우와, 상기 모드신호가 부호를 갖는 값을 나타내고 상기 최상위비트위치가 양의 값을 나타내고 상기 쉬프티드아웃 비트들이 1인 경우, 및 상기 모드신호가 부호를 갖는 값을 나타내고 상기 최상위비트위치가 음의 값을 나타내고 상기 모든 쉬프티드아웃 비트들중 어느 하나가 1인 경우에 상기 제어회로의 제어출력이 상기 멀티플렉서가 제 2 입력부를 선택하도록 하고, 그렇지 않은 경우에는 제어출력이 멀티플렉서가 제 1 입력부를 선택하도록 구성된 것을 특징으로 하는 두 연산수들의 평균을 구하기 위한 장치.
  12. 제 11 항에 있어서, 상기 합가산기가 합출력을 제공하는 제 1 합발생기에 연결된 제 1 캐리회로에 연결된 제 1 전파-발생부를 포함하고, 상기 합+1가산기가 합+1 출력을 제공하는 제 2 합발생기에 연결된 제 2 캐리회로에 연결된 제 2 전파-발생부를 포함하는 것을 특징으로 하는 두 연산수들의 평균을 구하기 위한 장치.
  13. 제 12 항에 있어서, 상기 합가산기와 합+1가산기가 제 2 전파-발생부를 공유하고, 상기 제 1 캐리회로와 제 1 합발생기가 논리0의 최하위 캐리인비트를 가지며, 상기 제 2 캐리회로와 제 2 합발생기가 논리1의 최하위 캐리인비트를 갖는 것을 특징으로 하는 두 연산수들의 평균을 구하기 위한 장치.
  14. 부호를 갖는 정수 및 부호를 갖지 않는 정수를 포함하는 두 연산수들의 평균을 구하되, 그 평균을 0으로 반올림되는 정수로 하기 위한 장치에 있어서,
    최상위비트위치(SMSB)를 갖는 합출력부(S)와, 우측쉬프트된 정수들(A,B)에 각각 연결된 연산수 입력부들(A,B)를 가지되, 상기 정수들의 최하위비트위치의 비트들이 쉬프티드아웃 비트들(A0,B0)이 되는 합가산기와,
    합+1출력부(S+1)와, 상기 우측쉬프트된 정수들에 각각 연결된 연산수 입력부들(A,B)을 갖는 합+1가산기,
    상기 쉬프티드아웃 비트들(A0,B0)과, 상기 최상위비트위치(SMSB), 및 상기 연산수들(A,B)과 합출력(S)이 부호를 갖는 값인지 아닌지를 나타내는 모드신호에 연결된 입력부들을 갖춘 제어회로, 및
    상기 합가산기의 합출력(S)에 연결된 제1입력부와, 상기 합+1가산기의 합+1출력(S+1)에 연결된 제2입력부, 및 상기 제어회로의 제어출력부에 연결된 선택입력부(SEL)을 갖춘 멀리플렉서를 포함하며,
    상기 제어회로의 출력이
    에 의해 결정되는 것을 특징으로 하는 두 연산수들의 평균을 구하기 위한 장치.
  15. 부호를 갖는 정수 및 부호를 갖지 않는 정수를 포함하는 두 연산수들의 평균을 구하되, 그 평균을 0으로 반올림되는 정수로 하기 위한 장치에 있어서,
    상기 연산수들이 부호를 갖는 값인지 아닌지를 인식하는 수단과,
    상기 각각의 연산수를 1비트위치씩 우측쉬프팅시키되, 상기 연산수가 부호를 갖지 않는 값을 가지면 상기 우측쉬프팅이 논리적 우측쉬프팅이 되고, 상기 연산수가 부호를 갖는 값을 가지면 상기 우측쉬프팅이 산술적 우측쉬프팅이 되며, 상기 연산수들의 최하위비트위치가 쉬프티드아웃 비트들이 되도록 하는 수단과,
    상기 우측쉬프트된 연산수들을 합산하는 수단, 및
    상기 합산 결과가 부호를 갖지 않는 값이고 상기 쉬프티드아웃 비트들이 1인 경우와, 상기 합산 결과가 양의 값이고 쉬프티드아웃 비트들이 1인 경우, 및 상기 합산결과가 음의 값이고 모든 쉬프티드아웃 비트들중 어느 하나가 1인 경우에는 상기 합산결과를 증가시키고, 그렇지 않은 경우에는 합산결과를 증가시키지 않는 수단을 포함하는 것을 특징으로 하는 두 연산수들의 평균을 구하기 위한 장치.
KR1019970012511A 1996-11-14 1997-04-04 하나의 명령 주기내에서 0으로 반올림된 두 정수의 평균을 계산하는 방법 및 장치 KR100231901B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/748,851 US6007232A (en) 1996-11-14 1996-11-14 Calculating the average of two integer numbers rounded towards zero in a single instruction cycle
US8/748,851 1996-11-14

Publications (2)

Publication Number Publication Date
KR19980041702A true KR19980041702A (ko) 1998-08-17
KR100231901B1 KR100231901B1 (ko) 1999-12-01

Family

ID=25011198

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970012511A KR100231901B1 (ko) 1996-11-14 1997-04-04 하나의 명령 주기내에서 0으로 반올림된 두 정수의 평균을 계산하는 방법 및 장치

Country Status (2)

Country Link
US (1) US6007232A (ko)
KR (1) KR100231901B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6512523B1 (en) * 2000-03-27 2003-01-28 Intel Corporation Accurate averaging of elements using integer averaging
US6889242B1 (en) * 2001-06-29 2005-05-03 Koninklijke Philips Electronics N.V. Rounding operations in computer processor
US7254599B2 (en) * 2002-05-30 2007-08-07 Sun Microsystems, Inc. Average code generation circuit
US20050004958A1 (en) * 2003-07-05 2005-01-06 General Instrument Corporation Single instruction multiple data implementation of finite impulse response filters including adjustment of result
DE102004008252A1 (de) * 2004-02-19 2005-09-15 Siemens Ag Anpassung des Rundungsmodus bei diversitären Gleitpunktoperationen
US7412473B2 (en) * 2004-09-01 2008-08-12 Ceva D.S.P. Ltd. Arithmetic circuitry for averaging and methods thereof

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1363073A (en) * 1970-07-17 1974-08-14 Solartron Electronic Group Generation of trigonometrical and other functions by interpolation between point values
GB1536845A (en) * 1975-02-26 1978-12-20 Bell & Howell Ltd Generation of mathematical functions
US4040052A (en) * 1976-06-29 1977-08-02 Aradar Corporation Digital video signal processing circuit
US4218751A (en) * 1979-03-07 1980-08-19 International Business Machines Corporation Absolute difference generator for use in display systems
JPS5633703A (en) * 1979-08-25 1981-04-04 Fanuc Ltd Signal converting circuit
US4334237A (en) * 1980-02-07 1982-06-08 Rca Corporation Adaptive amplitude averaging for weighting quantizing noise
JPH0776911B2 (ja) * 1988-03-23 1995-08-16 松下電器産業株式会社 浮動小数点演算装置
DE69033596T2 (de) * 1989-10-23 2001-04-19 Nippon Telegraph & Telephone Referenzsignalgenerator und diesen enthaltenden digitaler Demodulator
TW224553B (en) * 1993-03-01 1994-06-01 Sony Co Ltd Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture
US5428567A (en) * 1994-05-09 1995-06-27 International Business Machines Corporation Memory structure to minimize rounding/trunction errors for n-dimensional image transformation
US5710732A (en) * 1996-04-22 1998-01-20 Samsung Electronics Co., Ltd. Calculating the average of four integer numbers rounded away from zero in a single instruction cycle

Also Published As

Publication number Publication date
US6007232A (en) 1999-12-28
KR100231901B1 (ko) 1999-12-01

Similar Documents

Publication Publication Date Title
US6314442B1 (en) Floating-point arithmetic unit which specifies a least significant bit to be incremented
KR100284799B1 (ko) 시프트 수단을 이용한 지수 회로 및 사용 방법
US6473529B1 (en) Sum-of-absolute-difference calculator for motion estimation using inversion and carry compensation with full and half-adders
KR20040063143A (ko) 오퍼랜드 가산 방법 및 회로 장치 및 컴퓨터 구현형 장치
KR100260494B1 (ko) 정수 결과를 구하기 위해 정수 오퍼런드를 우-쉬프트하고 분수 중간 결과를 라운드하기 위한 방법 및 장치
US5610850A (en) Absolute difference accumulator circuit
KR100264958B1 (ko) 2정수의 절대차 산출장치
KR100231901B1 (ko) 하나의 명령 주기내에서 0으로 반올림된 두 정수의 평균을 계산하는 방법 및 장치
JP3857308B2 (ja) 逆離散余弦変換を実行する装置および方法
US5917739A (en) Calculating the average of four integer numbers rounded towards zero in a single instruction cycle
US5710732A (en) Calculating the average of four integer numbers rounded away from zero in a single instruction cycle
KR100264957B1 (ko) 하나의 명령주기내에서 0으로부터 반올림된 두정수의 평균을 계산하는 방법 및 장치
US6269385B1 (en) Apparatus and method for performing rounding and addition in parallel in floating point multiplier
JPH07168696A (ja) 2進数加算器のオーバフロー,アンダフロー処理回路
US5835394A (en) Calculating selected sign 3 expression in a single instruction cycle
US20080071852A1 (en) Method to perform a subtraction of two operands in a binary arithmetic unit plus arithmetic unit to perform such a method
JP4243277B2 (ja) データ処理装置
KR100241073B1 (ko) 단일명령사이클에서 2A+sin(A)의 계산
KR100241066B1 (ko) 단일명령사이클에서의 A+sin(A)식의 연산
JP3610564B2 (ja) 情報処理装置
KR100241074B1 (ko) 단일명령사이클에서의 A-sin(A)식의 연산
KR100241075B1 (ko) 단일명령사이클에서 2A-sin(A)의 계산
KR100431354B1 (ko) 곱셈기 회로
JP3612950B2 (ja) 演算装置およびその方法
JP2821289B2 (ja) シフト量算出回路および方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120831

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20130902

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee