KR20080053137A - 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는방법 - Google Patents

가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는방법 Download PDF

Info

Publication number
KR20080053137A
KR20080053137A KR1020060125157A KR20060125157A KR20080053137A KR 20080053137 A KR20080053137 A KR 20080053137A KR 1020060125157 A KR1020060125157 A KR 1020060125157A KR 20060125157 A KR20060125157 A KR 20060125157A KR 20080053137 A KR20080053137 A KR 20080053137A
Authority
KR
South Korea
Prior art keywords
bit
coding
codes
grouped
group
Prior art date
Application number
KR1020060125157A
Other languages
English (en)
Other versions
KR100852220B1 (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 KR1020060125157A priority Critical patent/KR100852220B1/ko
Priority to US11/952,477 priority patent/US8150899B2/en
Publication of KR20080053137A publication Critical patent/KR20080053137A/ko
Application granted granted Critical
Publication of KR100852220B1 publication Critical patent/KR100852220B1/ko

Links

Images

Classifications

    • 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/52Multiplying; Dividing
    • 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5332Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by skipping over strings of zeroes or ones, e.g. using the Booth Algorithm

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은 부스 알고리즘에 기반한 가변길이 다중비트 코딩방식을 이용하여 최소 부호수를 구하는, 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법을 제공하는데 그 목적이 있음.
3. 발명의 해결방법의 요지
본 발명은 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법에 있어서, 부스 알고리즘이 적용된 임의의 다중비트를 스캐닝하여 그룹핑하면, 그룹핑된 각 그룹을 확인하는 제1 단계; 상기 그룹핑된 각 그룹을 종류에 따라 양수코딩 및 음수코딩중 어느 한 코딩방식에 따라 수행할지를 결정하는 제2 단계; 상기 코딩방식이 양수코딩이면, 그룹핑된 각 그룹의 값을 소정의 방식으로 환산하여 그 값에 따라 부호수를 구하는 제3 단계; 상기 코딩방식이 음수코딩이면, 그룹핑된 각 그룹의 값을 비트와이즈 인버팅을 수행하는 제4 단계; 및 상기 비트와이즈 인버팅이 수행된 다중비트를 소정의 방식으로 환산하여 환산된 값에 따라 부호수를 구하는 제5 단계를 포함함.
4. 발명의 중요한 용도
본 발명은 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법 등에 이용됨.
가변길이, 다중비트, 코딩, 부호수, 부스 알고리즘

Description

가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법{Method for finding minimal signed digit with variable multi-bit coding based on booth's algorithm}
도 1은 종래의 2의 보수표현 다중비트에 부스 알고리즘을 적용하는 예에 대한 일실시예 개념도,
도 2는 종래의 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방식에 대한 일실시예 예시도,
도 3은 본 발명에 따른 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법에 대한 일실시예 흐름도,
도 4a는 본 발명에 따른 양수코딩에 대한 일실시예 개념도,
도 4b는 본 발명에 따른 음수코딩에 대한 일실시예 개념도.
본 발명은 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법에 관한 것으로, 더욱 상세하게는 부스 알고리즘에 기반한 가변길이 다중비트 코딩방식을 이용하여 최소 부호수를 구하는, 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법에 관한 것이다.
종래의 가변길이 다중비트 코딩방식은 고정된 승수를 사용하는 곱셈연산 및 행렬연산에 적용될 수 있다. 여기서, 상기와 같은 연산들은 디지털 필터 혹은 각종 변환[예를 들어, 이산 코사인 변환(DCT), 역이산 코사인 변환(IDCT) 등]에 있어서 필수적인 연산들이다.
특히, 종래의 가변길이 다중비트 코딩방식은 곱셈연산에 있어서, 단순한 데이터 패스의 배선만으로 곱셈연산을 수행하기 위한 부분적(partial product)을 구할 수 있으므로 속도 및 면적 소모에도 큰 효율성을 발휘한다.
한편, 곱셈연산에 있어서 발생하는 부분적의 개수를 줄이기 위한 방식에는 CSD(Canonical Signed Digit)를 이용하여 최소 부호수(Minimal Signed Digit: MSD)를 구하여 부분적의 개수를 줄이는 방식이 널리 알려져 있다. 상기의 방식은 한 비트씩 스캔하면서 일일이 테이블에 대응된 값을 구해야 한다.
또한, 곱셈연산에 있어서 발생하는 부분적의 개수를 줄이기 위한 방식에는 부스 알고리즘(Booth's algorithm)을 기반으로 가변길이 다중비트를 이용하여 최소 부호수를 구하여 부분적의 개수를 줄이는 방식도 있다.
여기서, 부스 알고리즘은 곱셈연산시에 승수를 2 비트씩 중첩시켜 코딩하여 생성된 부분적이 단순히 시프트(shift)와 덧셈만으로 구현되는 아주 널리 알려진 알고리즘이다. 상기 부스 알고리즘은 맥설리(MacSorley)에 의해 3비트씩 코딩될 수 있도록 변형되었고, 샘(Sam)과 구프타(Gupta)에 의해 3비트에서 다중비트로 적용될 수 있도록 증명되었다. 상기의 부스 알고리즘들은 공통적으로 비트 형태로 표현된 수를 코딩할 경우에 하위 비트를 추가하여 이를 이전 비트와 중첩시키면서 코딩하는데, 정해진 길이 만큼만 시프트하면서 코딩한다.
도 1은 종래의 2의 보수표현 다중비트에 부스 알고리즘을 적용하는 예에 대한 일실시예 개념도이다.
도 1에 도시된 바와 같이, 종래의 n 비트 2의 보수표현의 숫자(101)는 곱셈연산에 있어서 임의의 n 비트 승수 Y로서, 이를 각 비트별로 나타낸다.
먼저, 상기 n 비트 2의 보수표현의 숫자(101)에 부스 알고리즘을 적용하기 위해, 일반적인 부스 알고리즘과 같이 최하위 비트(Least Significant Bit: LSB)인 "y-1"에 "0"을 붙인다. 또한, 인덱스인 m=0, k=2로 초기화한다.
이후, 상기 인덱스 값을 이용하여 k값이 3비트 이상일 때부터 시프트와 스캐닝(102)을 시작한다. 여기서, "m-1"은 코딩을 위해 그룹으로 선택한 최하위 비트의 위치를 의미한다. "k"는 코딩을 위해 그룹으로 선택한 비트 수를 의미한다. 이때, 상기 그룹(103)은 최하위 비트를 포함한 3보다 큰 k에 대해 그룹으로 지정하는데, 그룹내의 모든 값에서 한 비트가 1이고 나머지가 0인 경우 또는 한 비트가 0이고 나머지가 1인 경우에 지정된다. 또한, 상기 그룹은 하위 비트부터 1이 연속인 경우 및 상위 비트부터 1이 연속인 경우도 그룹으로 지정될 수 있다.
상기와 같이 그룹으로 지정된 결과는 하기 [수학식 1]에 의해 가능한 부호수(Signed Digit: SD)인
Figure 112006091294094-PAT00001
의 값으로 대응된다.
Figure 112006091294094-PAT00002
상기와 같이 부스 알고리즘(Booth's algorithm)을 기반으로 가변길이 다중비트를 이용하여 최소 부호수를 구하는 종래의 방식에서는 비트가 커짐에 따라 발생하는 부호수(SD)의 값을 계산하기 위한 부가적인 덧셈연산을 필요한 단점이 있다.
도 2는 종래의 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방식에 대한 일실시예 예시도이다.
도 2에서 보는 바와 같이, 종래의 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방식은 상기 [수학식 1]을 이용한다. 즉, 상기 [수학식 1]에 의해
Figure 112006091294094-PAT00003
를 계산하여 부호수(SD)인
Figure 112006091294094-PAT00004
를 구한다. 이때, 도 2와 같이 곱셈연산의 피승수 Y이 원래의 값과 동일한지를 확인할 수 있다. 상기 Y는 하기 [수학식 2]와 같이 계산된다.
Figure 112006091294094-PAT00005
상기 도 2의 (a)는 고정된 계수 "-2098"의 2의 보수표현이다.
여기서, 부호수(SD)의 개수 즉
Figure 112006091294094-PAT00006
이고 m1=5, m2=3, m3=6, m4=6이면, 상기 [수학식 1]을 이용하여 하기 [수학식 3]과 같이
Figure 112006091294094-PAT00007
을 구할 수 있다.
Figure 112006091294094-PAT00008
이후, 상기 [수학식 3]에서 구한
Figure 112006091294094-PAT00009
로부터
Figure 112006091294094-PAT00010
를 구해보면 하기 [수학식 4]와 같이 구할 수 있고, 그 결과인 "Y=-2098"임을 알 수 있다.
Figure 112006091294094-PAT00011
다른 예로, 상기 도 2의 (b)는 고정된 계수 "3784"의 2의 보수표현이다.
여기서, 부호수(SD)의 개수 즉
Figure 112006091294094-PAT00012
이고 m1=7, m2=3, m3=5, m4=3이면, 상기 [수학식 1]을 이용하여 하기 [수학식 5]와 같이
Figure 112006091294094-PAT00013
을 구할 수 있다.
Figure 112006091294094-PAT00014
이후, 상기 [수학식 5]에서 구한
Figure 112006091294094-PAT00015
로부터
Figure 112006091294094-PAT00016
를 구해보면 하기 [수학식 6]과 같이 구할 수 있고, 그 결과인 "Y=3784"임을 알 수 있다.
Figure 112006091294094-PAT00017
전술한 바와 같이, 종래의 방식은 비트가 커짐에 따라 발생하는 부호수(SD) 즉,
Figure 112006091294094-PAT00018
를 계산하기 위해 도 2에서 제시된 예와 같이 부가적인 덧셈연산을 필요한 단점이 있다.
따라서, 상기와 같은 단점을 해소하면서, 부스 알고리즘에 기반한 가변길이 다중비트 코딩방식을 이용하여 최소 부호수를 구하는 방식이 제안될 필요가 있다.
본 발명은 상기와 같은 문제점을 해결하고 상기와 같은 요구에 부응하기 위하여 제안된 것으로, 부스 알고리즘에 기반한 가변길이 다중비트 코딩방식을 이용하여 최소 부호수를 구하는, 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 더욱 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기의 목적을 달성하기 위한 본 발명은, 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법에 있어서, 부스 알고리즘이 적용된 임의의 다중비트를 스캐닝하여 그룹핑하면, 그룹핑된 각 그룹을 확인하는 제1 단계; 상기 그룹핑된 각 그룹을 종류에 따라 양수코딩 및 음수코딩중 어느 한 코딩방식에 따라 수행할지를 결정하는 제2 단계; 상기 코딩방식이 양수코딩이면, 그룹핑된 각 그룹의 값을 소정의 방식으로 환산하여 그 값에 따라 부호수를 구하는 제3 단계; 상기 코딩방식이 음수코딩이면, 그룹핑된 각 그룹의 값을 비트와이즈 인버팅을 수행하는 제4 단계; 및 상기 비트와이즈 인버팅이 수행된 다중비트를 소정의 방식으로 환산하여 환산된 값에 따라 부호수를 구하는 제5 단계를 포함한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.
도 3은 본 발명에 따른 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법에 대한 일실시예 흐름도이고, 도 4a는 본 발명에 따른 양수코딩에 대한 일실시예 개념도이고, 도 4b는 본 발명에 따른 음수코딩에 대한 일실시예 개념도이다. .
도 3, 도 4a 및 도 4b를 설명하기에 앞서, 설명의 편의상 본 발명에 따른 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법은 곱셈기에 의해 적용되는 경우를 가정하여 설명한다.
상기 곱셈기는 곱셈의 승수를 임의의 다중비트로서, 도 1과 같이 나타낸다. 즉, 상기 곱셈기는 2의 보수표현인 임의의 다중비트에 부스 알고리즘을 적용함으로써, 최하위 비트에 "0"을 삽입한다(S301).
이후, 상기 곱셈기는 상기와 같이 부스 알고리즘이 적용된 임의의 다중비트를 스캐닝하여 그룹핑을 수행한다(S302). 이때, 상기 곱셈기는 3 비트 이상부터 그룹으로 선택하여 통상의 방식에 따라 그룹핑을 수행한다. 여기서, 상기 그룹핑의 종류는 양수코딩[즉, 최상위 비트(MSB)가 "0"인 경우]에서 "최상위 비트(MSB) 0을 제외한 모든 비트가 1인 경우" 및 "최상위 비트(MSB) 0을 제외한 모든 비트가 0이고, 오직 한 비트만 1인 경우"이며, 음수코딩[즉, 최상위 비트(MSB)가 "1"인 경우]에서 "최상위 비트(MSB) 1을 제외한 모든 비트가 0인 경우" 및 "최상위 비트(MSB) 1을 제외한 모든 비트가 1이고, 오직 한 비트만 0인 경우"로 나타난다.
부가적으로, 상기 곱셈기는 상기와 같이 스캐닝을 하면서 상기와 같은 그룹 핑 종류에 해당되는 경우가 없는 경우에, 도 1에서 그룹핑된 최상위 비트와 그 전비트값이 같지 않으면 그룹핑을 종료한다(즉,
Figure 112006091294094-PAT00019
인 경우에 그룹핑을 종료함).
이후, 상기 곱셈기는 임의의 다중비트에서 그룹핑된 각각의 그룹을 확인하면(S303), 양수코딩 또는 음수코딩인지에 따라 하기와 같은 과정을 수행한다.
상기 곱셈기는 양수코딩을 수행하는 경우에, 그룹핑된 값을 소정의 값으로 환산하고, 환산된 값에 따른 부호수(SD)를 확인한다(S304). 즉, 상기 곱셈기는 2의 보수표현인 그룹핑된 값을 십진수로 환산하고, 상기 환산된 값에 따른 부호수를 확인한다.
구체적으로, 도 4a를 참조하여 양수코딩에서 그룹핑 종류에 따라 부호수를 구하는 과정을 설명한다.
도 4a에서 그룹핑된 왼쪽 다중비트 옆에 있는 숫자 즉, "2k-1"는 그룹핑된 값이 환산된 값을 나타낸다. 부언하면, 상기 "2k-1"는 2의 보수표현의 그룹핑된 값(이진수)을 환산한 값(십진수)이다. 예를 들어, 도 4a에서 그룹핑된 비트열 "011"(401)에서 부호수를 구하면, 2의 보수표현의 그룹핑된 값(이진수)을 환산한 값(십진수)은 "22-1"이 된다. 상기 "22-1"은 부호수로 바꾸면 "SD: 2 = 21"이 된다. 상기와 같은 이유로, 임의의 다중비트인 경우에 2의 보수표현의 그룹핑된 값을 환산한 값이 "2k-1"인 경우에 부호수가 "2k-1"이 된다.
이와 더불어, 도 4a에서 그룹핑된 오른쪽 다중비트 옆에 있는 숫자 즉, "2k-1"는 그룹핑된 값이 환산된 값을 나타낸다. 부언하면, 상기 "2k-1"는 2의 보수표현의 그룹핑된 값(이진수)을 환산한 값(십진수)이다.
예를 들어, 도 4a에서 그룹핑된 비트열 "0100"(402)에서 부호수를 구하면, 2의 보수표현의 그룹핑된 값(이진수)을 환산한 값(십진수)은 "22"가 된다. 상기 "22"은 부호수로 바꾸면 "SD: 2 = 21"이 된다. 상기와 같은 이유로, 임의의 다중비트인 경우에 2의 보수표현의 그룹핑된 값을 환산한 값이 "2k-1"인 경우에 부호수가 "2k-2"이 된다.
전술한 바를 하기 [표 1]과 같이 첨자 "m"으로 나타내면 하기와 같다.
그룹핑 종류 그룹핑된 값의 환산값 부호수(SD)
제1 경우 최상위 비트(MSB) 0을 제외한 모든 비트가 1인 경우 2m-1 2m-1
제2 경우 최상위 비트(MSB) 0을 제외한 모든 비트가 0이고, 오직 한 비트만 1인 경우 2m 2m-1
반면, 상기 곱셈기는 음수코딩을 수행하는 경우에, 먼저 그룹핑된 임의의 다중비트의 전체열을 비트와이즈 인버팅(bitwise inverting)을 수행한 후, 양수코딩의 경우와 동일하게 코딩을 진행한다(S305).
이때, 상기 곱셈기는 비트와이즈 인버팅이 수행된 다중비트를 소정의 값으로 환산하고, 상기 환산된 값에 따른 부호수를 확인한다(S306). 즉, 상기 곱셈기는 2의 보수표현인 비트와이즈 인버팅이 수행된 다중비트를 십진수로 환산하고, 상기 환산된 값에 따른 부호수를 확인한다. 이때, 상기 곱셈기는 확인된 부호수에 음의부호를 부여한다(S307).
구체적으로, 도 4b를 참조하여 음수코딩에서 그룹핑 종류에 따라 부호수를 구하는 과정을 설명한다.
예를 들어, 도 4b에서 그룹핑된 비트열 "100000000"(403)에서 부호수를 구하면, 먼저 상기 다중비트 전체를 비트와이즈 인버팅을 수행한다. 그러면, 상기 비트열 "100000000"(403)은 비트열 "011111111"이 된다.
이후, 상기 곱셈기는 비트열 "011111111"을 양수코딩의 경우와 동일하게 코딩을 수행한다. 즉, 상기 곱셈기는 비트열 "011111111"을 2의 보수표현으로 보고 십진수로 환산하면 이때, "28-1"이 되고 부호수가 "-27"이 된다.
전술한 바와 같이, 도 4b에서 왼쪽 다중비트와 같이 그룹핑된 경우에 전체 다중비트를 비트와이즈 인버팅한 후, 양수코딩의 경우와 같이 판단하여 코딩하고 부호수에 음의부호를 부여한다. 즉, 왼쪽 다중비트의 경우는 양수코딩의 오른쪽 다중비트와 동일하다.
전술한 바를 하기 [표 2]와 같이 첨자 "m"으로 나타내면 하기와 같다.
그룹핑 종류 그룹핑된 값의 환산값 부호수
제3 경우 최상위 비트(MSB) 1을 제외한 모든 비트가 0인 경우 [표 1]의 제1 경우의 비트와이즈 인버팅과 동일 -2m-1
제4 경우 최상위 비트(MSB) 1을 제외한 모든 비트가 1이고, 오직 한 비트만 0인 경우 [표 1]의 제2 경우의 비트와이즈 인버팅과 동일 -2m-1
이하, 본 발명에 따른 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법을 도 2의 (b)를 이용하여 구체적으로 설명한다.
먼저, 양수코딩을 도 2의 (b)에서 "
Figure 112006091294094-PAT00020
"를 이용하여 설명한다.
상기
Figure 112006091294094-PAT00021
은 비트열 "0010000"이다.
상기
Figure 112006091294094-PAT00022
에서 위 첨자 "7"은 7 비트 그룹핑을 나타내고, 아래 첨자 "1"은 첫번째 그룹을 나타낸다. 즉, 상기
Figure 112006091294094-PAT00023
는 첫번째 그룹이 7비트로 코딩되었다는 것을 나타낸다. 여기서, 상기
Figure 112006091294094-PAT00024
는 상기 [표 1]에 의해 구하면, 7 비트 그룹핑을 수행하는 경우에 "최상위 비트(MSB) 0을 제외한 모든 비트가 0이고, 오직 한 비트만 1인 경우"에 해당된다. 즉, 상기
Figure 112006091294094-PAT00025
는 그룹핑된 값의 환산값이 십진수에서 "24"이므로 부호수가 "23"이 된다.
한편, 음수코딩을 도 2의 (b)에서 "
Figure 112006091294094-PAT00026
"를 이용하여 설명한다.
상기
Figure 112006091294094-PAT00027
는 비트열 "11101"이다.
상기
Figure 112006091294094-PAT00028
에서 위 첨자 "5"는 5 비트 그룹핑을 나타내고, 아래 첨자 "3"은 세번째 그룹을 나타낸다. 즉, 상기
Figure 112006091294094-PAT00029
는 세번째 그룹이 5비트로 코딩되었다는 것을 나타낸다.
여기서, 상기
Figure 112006091294094-PAT00030
는 상기 [표 1]에 의해 구하면, 5 비트 그룹핑을 수행하는 경우에 "최상위 비트(MSB) 1을 제외한 모든 비트가 1이고, 오직 한 비트만 0인 경우"에 해당된다. 이에, 상기
Figure 112006091294094-PAT00031
의 비트열 "11101"은 비트와이즈 인버팅이 수행되면, "00010"이 된다. 즉, 상기
Figure 112006091294094-PAT00032
는 그룹핑된 값의 환산값이 십진수에서 "21"이므로 부호수가 "-20"이 된다.
따라서, 본 발명은 부스 알고리즘을 이용하여 가변길이 다중 비트 코딩을 통해 최소 부호수를 구함으로써, 비트가 커짐에 따라 발생하는 부호수의 값을 계산하기 위한 부가적인 덧셈연산을 진행하지 않아도 되는 장점이 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
상기와 같은 본 발명은 비트가 커짐에 따라 발생하는 부호수의 값을 계산하기 위한 부가적인 연산을 쉽게 구현할 수 있는 효과가 있다.
또한, 본 발명은 그룹핑된 수를 가지고 부호수를 구함으로써, 프로그램 구현 및 하드웨어 제작에 드는 면적 및 속도에 드는 비용을 최소화할 수 있는 효과가 있다.
또한, 본 발명은 상수 곱셈이 많이 사용되는 변환작업 또는 디지털 필터 등에 효율적으로 사용될 수 있는 효과가 있다.

Claims (10)

  1. 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법에 있어서,
    부스 알고리즘이 적용된 임의의 다중비트를 스캐닝하여 그룹핑하면, 그룹핑된 각 그룹을 확인하는 제1 단계;
    상기 그룹핑된 각 그룹을 종류에 따라 양수코딩 및 음수코딩중 어느 한 코딩방식에 따라 수행할지를 결정하는 제2 단계;
    상기 코딩방식이 양수코딩이면, 그룹핑된 각 그룹의 값을 소정의 방식으로 환산하여 그 값에 따라 부호수를 구하는 제3 단계;
    상기 코딩방식이 음수코딩이면, 그룹핑된 각 그룹의 값을 비트와이즈 인버팅을 수행하는 제4 단계; 및
    상기 비트와이즈 인버팅이 수행된 다중비트를 소정의 방식으로 환산하여 환산된 값에 따라 부호수를 구하는 제5 단계
    를 포함하는 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법.
  2. 제1 항에 있어서,
    상기 제2 단계에서,
    상기 그룹핑된 각각의 그룹종류에 해당되는 경우가 없는 경우에 그룹핑된 최 상위 비트와 그 전비트값이 같지 않는 경우에 그룹핑을 종료하는 단계
    를 더 포함하는 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법.
  3. 제1 항에 있어서,
    상기 제1 단계에서,
    상기 임의의 다중비트가 2의 보수표현으로 나타나고, 최하위 비트에 "0"이 삽입되는 것을 특징으로 하는 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법.
  4. 제1 항에 있어서,
    상기 제1 단계에서,
    상기 임의의 다중비트를 3 비트 이상부터 그룹으로 선택되어 그룹핑이 수행되는 것을 특징으로 하는 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법.
  5. 제1 항 또는 제2 항에 있어서,
    상기 제2 단계에서,
    상기 그룹핑된 각 그룹의 종류가 양수코딩인 경우에 "최상위 비트 0을 제외한 모든 비트가 1인 경우" 및 "최상위 비트 0을 제외한 모든 비트가 0이고, 오직 한 비트만 1인 경우"이며, 음수코딩인 경우에 "최상위 비트 1을 제외한 모든 비트가 0인 경우" 및 "최상위 비트 1을 제외한 모든 비트가 1이고, 오직 한 비트만 0인 경우"임을 특징으로 하는 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법.
  6. 제5 항에 있어서,
    상기 그룹핑된 각 그룹의 종류가 양수코딩인 경우에 "최상위 비트 0을 제외한 모든 비트가 1인 경우"이면, 그룹핑된 값의 환산값이 "2m-1"이고 그 부호수가 "2m"으로 구해지는 것을 특징으로 하는 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법.
  7. 제5 항에 있어서,
    상기 그룹핑된 각 그룹의 종류가 양수코딩인 경우에 "최상위 비트 0을 제외한 모든 비트가 0이고, 오직 한 비트만 1인 경우"이면, 그룹핑된 값의 환산값이 "2m"이고 그 부호수가 "2m-1"으로 구해지는 것을 특징으로 하는 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법.
  8. 제5 항에 있어서,
    상기 그룹핑된 각 그룹의 종류가 음수코딩인 경우에 "최상위 비트 1을 제외한 모든 비트가 0인 경우"이면, 그룹핑된 값을 비트와이즈 인버팅을 수행한 후 그 환산값이 "2m-1"이고 그 부호수가 "-2m-1"으로 구해지는 것을 특징으로 하는 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법.
  9. 제5 항에 있어서,
    상기 그룹핑된 각 그룹의 종류가 음수코딩인 경우에 "최상위 비트 1을 제외한 모든 비트가 1이고, 오직 한 비트만 0인 경우"이면, 그룹핑된 값을 비트와이즈 인버팅을 수행한 후 그 환산값이 "2m"이고 그 부호수가 "-2m-1"으로 구해지는 것을 특징으로 하는 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법.
  10. 제1 항 또는 제2 항에 있어서,
    상기 제3 단계 및 상기 제5 단계에서,
    상기 소정의 방식이 각 그룹의 값을 십진수로 환산하는 것임을 특징으로 하는 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는 방법.
KR1020060125157A 2006-12-08 2006-12-08 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는방법 KR100852220B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060125157A KR100852220B1 (ko) 2006-12-08 2006-12-08 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는방법
US11/952,477 US8150899B2 (en) 2006-12-08 2007-12-07 Method for finding minimal signed digit with variable multi-bit coding based on booth's algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060125157A KR100852220B1 (ko) 2006-12-08 2006-12-08 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는방법

Publications (2)

Publication Number Publication Date
KR20080053137A true KR20080053137A (ko) 2008-06-12
KR100852220B1 KR100852220B1 (ko) 2008-08-13

Family

ID=39499557

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060125157A KR100852220B1 (ko) 2006-12-08 2006-12-08 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는방법

Country Status (2)

Country Link
US (1) US8150899B2 (ko)
KR (1) KR100852220B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100852220B1 (ko) * 2006-12-08 2008-08-13 한국전자통신연구원 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는방법
US9176999B2 (en) * 2012-09-13 2015-11-03 International Business Machines Corporation Multiplication-based method for stitching results of predicate evaluation in column stores
CN111638867B (zh) * 2020-05-22 2022-11-22 中国人民解放军国防科技大学 一种支持任意位宽数据有效数据位编码的方法和装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4495593A (en) 1982-07-01 1985-01-22 Hewlett-Packard Company Multiple bit encoding technique for combinational multipliers
US4864528A (en) * 1986-07-18 1989-09-05 Matsushita Electric Industrial Co., Ltd. Arithmetic processor and multiplier using redundant signed digit arithmetic
US4967388A (en) * 1988-04-21 1990-10-30 Harris Semiconductor Patents Inc. Truncated product partial canonical signed digit multiplier
US5262976A (en) * 1989-11-13 1993-11-16 Harris Corporation Plural-bit recoding multiplier
US5262974A (en) * 1991-10-28 1993-11-16 Trw Inc. Programmable canonic signed digit filter chip
US5828590A (en) 1996-11-27 1998-10-27 United Microelectronics Corp. Multiplier based on a variable radix multiplier coding
JP2003273746A (ja) 2002-03-18 2003-09-26 Mitsubishi Electric Corp 可変長符号復号装置
US7272624B2 (en) 2003-09-30 2007-09-18 International Business Machines Corporation Fused booth encoder multiplexer
DE602004008904D1 (de) * 2004-07-13 2007-10-25 St Microelectronics Srl Vorrichtung zur digitalen Signalverarbeitung unter Verwendung der CSD Darstellung
KR100852220B1 (ko) * 2006-12-08 2008-08-13 한국전자통신연구원 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는방법

Also Published As

Publication number Publication date
US8150899B2 (en) 2012-04-03
US20080140742A1 (en) 2008-06-12
KR100852220B1 (ko) 2008-08-13

Similar Documents

Publication Publication Date Title
US5546080A (en) Order-preserving, fast-decoding arithmetic coding arithmetic coding and compression method and apparatus
EP0469841A1 (en) Data round-off device
JP4311759B2 (ja) データ変換装置及びその制御方法
JPH0793586B2 (ja) データ圧縮モデル選択方法及びシステム
EP1995974A1 (en) Method and apparatus for realizing arithmetic coding/ decoding
US6978426B2 (en) Low-error fixed-width modified booth multiplier
KR100498457B1 (ko) 메모리를 감소시키는 개선된 룩업 테이블 압축방법 및이를 이용하여 압축된 룩업 테이블을 가지는 비선형 함수발생장치 및 그 발생방법
JP2003330911A (ja) 映像データ処理用の単一命令マルチプルデータ(simd)に基づくアルゴリズム
KR100852220B1 (ko) 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는방법
TW201028013A (en) Method and system for encoded video compression
JPH09511375A (ja) (n−1)ビット情報語系列をnビット・チャネル語系列に符号化する符号化装置およびnビット・チャネル語系列を(n−1)ビット情報語系列に複号する複号装置
Saravanan et al. Lossless grey-scale image compression using source symbols reduction and Huffman coding
Wang A set of transformations for lossless image compression
Hameed et al. A new lossless method of Huffman coding for text data compression and decompression process with FPGA implementation
JP3951036B2 (ja) 動的小数点方式、動的小数点演算方法、並びに2次元逆離散コサイン変換方法及びその装置
JP2783221B2 (ja) 復号化方法
US9106864B2 (en) Multi-bit error diffusion
JP3937463B2 (ja) ハフマン符号化装置及び方法
WO2017026952A1 (en) A data compression and decompression method
US9614546B2 (en) Data compression and decompression method
KR100465156B1 (ko) 분산산술처리방식의 dct/idct 연산기에 있어서연산오차 및 연산시간 감소방법
Lam et al. A linear approximation based hybrid approach for binary logarithmic conversion
JPH0137047B2 (ko)
JP2594767B2 (ja) 圧縮データの伸長方法
JP2004178482A (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
LAPS Lapse due to unpaid annual fee