KR930003174B1 - 데이타 신장회로 - Google Patents

데이타 신장회로 Download PDF

Info

Publication number
KR930003174B1
KR930003174B1 KR1019900023081A KR900023081A KR930003174B1 KR 930003174 B1 KR930003174 B1 KR 930003174B1 KR 1019900023081 A KR1019900023081 A KR 1019900023081A KR 900023081 A KR900023081 A KR 900023081A KR 930003174 B1 KR930003174 B1 KR 930003174B1
Authority
KR
South Korea
Prior art keywords
data
shift
output
group
msb
Prior art date
Application number
KR1019900023081A
Other languages
English (en)
Other versions
KR920013381A (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 KR1019900023081A priority Critical patent/KR930003174B1/ko
Publication of KR920013381A publication Critical patent/KR920013381A/ko
Application granted granted Critical
Publication of KR930003174B1 publication Critical patent/KR930003174B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

내용 없음.

Description

데이타 신장회로
제1도는 종래의 12비트 데이타를 16비트 신장시키는 회로도.
제2도는 본 발명의 12비트 데이타를 16비트로 신장시키는 회로도.
제3도는 종래 회로의 엔코딩/데코딩 패턴.
제4도는 본 발명의 데코딩 패턴.
제5도는 종래 회로도의 각부 파형도.
제6도는 본 발명의 각부 파형도.
제7도는 본 발명 그룹 데코딩 로직의 실시 회로도.
제8도는 16비트 데이타의 12비트 압축 테이블.
제9도는 본 발명 베이직 폼 형성부의 실시 회로도.
제10도는 본 발명 셀의 실시 회로도.
제11도는 데이타 입력 타이밍도.
제12도는 각 셀의 상태 변화도.
제13도는 16비트 신장 데이타의 타이밍도.
* 도면의 주요부분에 대한 부호의 설명
1 : SIPO 쉬프트 레지스터 3 : D-플립플롭
4 : 절대치 변환부 5 : 그룹 데코딩 로직
6 : 쉬프트 클럭 생성부 7,8,9 : 베이직 폼 형성부
10 : 타이밍 생성 및 시스템 콘트롤부 11 : PISO 쉬프트 레지스터
12 : D-플립플롭 15 : 에러 평균화 처리부
본 발명은 녹음 가능한 디지탈 오디오 기기에 있어서, 압축된 디지탈 오디오 데이타를 본래의 디지탈 오디오 데이타로 신장시키는 데이타 신장회로에 관한 것으로 특히 데이타 신장시 발생되는 오차 크기를 평균치화 하여 오차 크기를 줄이도록 한 것이다.
디지탈 오디오 데이타의 녹음 및 재생이 가능한 디지탈 오디오 테이프 레코드(DIGITAL AUDIO TAPE RECORDER : DAT)에서는 표준 모우드 이외에 4채널 및 롱 플레이(LONG PLAY : LP) 모우드가 있으며 이때 적용되는 표본화 주파수(SAMPLING FREQUENCY : FS)는 32KHZ로써 16BITS/SAMPLE인 직선 양자화(LINER QUANTIZATION) 데이타의 12BITS로의 비직선 압축(NONLINER COMPRESSION) 및 신장(EXPANSION) 변환이 수행된다.
여기서 비직선 양자화(NONLINEAR QUANTIZATION)란 양자화 하고자 하는 신호의 크기(LEVEL)에 따라 양자와 스텝(QUANTIZATION STEP)을 다르게 설정하는 것으로써 큰 레벨의 신호에 대해서는 그 스텝이 크고 작은 레벨의 신호에 대해서는 상대적으로 그 스텝을 작게 설정하여 확률 분포로 본 음성신호의 에너지가 집중 분포되어 있는 부분에 대해서는 16비트 직선 양자화시와 동일한 스텝을 12비트로의 압축에도 적응시키는 방식이다.
이같은 비직선 양자화 방식을 응용하면 양자화 스텝을 크게 줄일 수 있고, 그 결과 전송 데이타량의 대폭적인 감소를 기할 수 있으며 한편 재생시에도 압축 신호에 대한 적절한 신장을 수행하면 압축전의 직선 양자화 효율과 대등한 결과를 얻을 수 있다.
참고로 LP 모우드(FS=32KHZ, 양자화=12비트, 비직선)는 표준 모우드(FS=48KHZ, 양자화=16비트, 직선)의 기록시간을 2배로 확장시킬 수 있으며 그 정보량을 비교하면 48KHZ×16BITS/SAMPLE=768KBIT/SEC=2×32KHZ×12BITS/SAMPLE가 되며 더우기 4채널 모우드는 비직선 압축으로 인하여 줄어든 정보량을 채널수 확대(2채널에서 4채널로)에 이용한다.
한편 종래에는 데이타 신장을 수행하기 위해서 제1도에 도시한 바와 같이 12비트 압축 데이타를 FS32클럭으로 직렬 저장하고 병렬 데이타로 출력시키는 SIPO 쉬프트 레지스터(10)와, 상기 SIPO 쉬프트 레지스터(1)의 출력중 1샘플의 상위 4비트 해당 출력을 래치하는 D-플립플롭(3)과, 상기 D-플립플롭(3)의 출력(Q1)(Q2)(Q3)과 MSB 해당 출력(Q4)을 익스크루시브 오아게이트(XOR1)(XOR2)(XOR3)에 인가시켜 절대치 변환시키는 절대치 변환부(4)와, 상기 절대치 변환부(4)의 상위 3비트 출력을 받아 현재 처리되는 데이타가 어느 그룹에 속하는가를 구분 검출하는 그룹 데코딩 로직(5)과, 상기 그룹 데코딩 로직(5)의 출력과 타이밍 생성 및 시스템 콘트롤부(10)의 FS32 클럭을 이용하여 각 그룹의 쉬프트수에 대응되는 쉬프트 클럭을 생성시키는 쉬프트 클럭 생성부(6)와, 상기 쉬프트 클럭 생성부(6)의 쉬프트 클럭이 클럭단자(▷)에 인가되고 SIPO 쉬프트 레지스터(1)의 병렬 출력(Q4-Q15)이 단자(1H)에 인가되며 타이밍 생성 및 시스템 콘트롤부(10)의 LD 신호로 로드되는 셀(S1-S6)과, 상기 셀(S1)의 단자(IL)에 D-플립플롭(3)의 MSB해당 출력(Q4)을 반전시켜 공급하는 인버터(2)와, 상기 셀(S1-S16)에 1비트 쉬프트의 베이직 폼을 형성시키는 베이직 폼 형성부(7)(8)(9)와, 상기 셀(S1-S16)의 병렬 16비트 데이타(DAD(15 : 0))를 직렬 데이타로 변화시키는 PISO 쉬프트 레지스터(11)와, 상기 PISO 쉬프트 레지스터(11)의 변환된 데이타를 FS32클럭의 폴링 엣지에 동기시켜 16비트 신장 데이타로 출력시키는 D-플립플롭(12)으로 구성되어진다.
이같은 종래의 데이타 신장회로에 대한 각부 파형도는 제5도에 도시한 바와 같다.
즉 종래에는 데이타 신장을 수행하기 위하여 우선 1비트 쉬프트 베이직 폼을 형성시킨 후 최대값으로의 대응을 위하여 각 그룹 쉬프트를 진행하면서 LSB쪽은 모두 "1"(MBS=0) 또는 "0"(MSB=1)을 채워 넣었으나 상기와 같은 종래의 방식에 의할 경우 압축전의 본래 데이타와 변환된 16비트 신장 데이타와의 차이 즉 에러가 발생하게 된다.
예를들어 데이타 신장 결과 에러가 최대로 발생하는 그룹 1(MSB=0, 6비트 쉬프트)에 속해 있는 데이타에 대한 LSB쪽 6비트가 원래 데이타에 대한 에러로써 발생하게 된다.
즉 원래 데이타가 01wxyzabcd일 경우 신장 결과 데이타는 01wxyzabcd이 되어 밑줄친 부분에 해당된 만큼(26-1=63)의 오차가 발생하게 되어 있었다.
그리고 신장 데이타를 최소값으로 하기 위해 LSB를 0(MSB=0) 또는 1(MSB=1)로 하더라도 발생 오차는 상기와 같이 발생하게 된다.
본 발명은 상기와 같은 점을 감안하여 오차 크기를 평균치화 하므로써 오차 크기를 종래의 절반으로 줄이도록 한 것으로써 제1도에서의 인버터(2)를 삭제시키고 에러 평균화 처리부를 구성시켜 주어 오차 크기를 줄이는 것이다.
이하 본 발명에 대한 구체적인 구성 및 작용 효괴를 첨부된 도면에 의거 상세히 설명하면 다음과 같다.
제2도는 본 발명의 12비트 데이타를 16비트로 신장시키는 회로도로써 12비트 압축 데이타(COMPDATA)를 FS32 클럭으로 직렬 저장하고 병렬 데이타로 출력시키는 SIPO 쉬프트 레지스터(1)와, 상기 SIPO 쉬프트 레지스터(1)의 출력중 1샘플(SAMPLE)의 상위 4비트 해당 출력을 래치하는 D-플립플롭(3)과, 상기 D-플립플롭(3)의 출력(Q1)(Q2)(Q3)을 MSB 해당 출력(Q4)과 익스크루 시브 오아게이트(XOR1)(XOR2)(XOR3)에서 익스크르 시브 오아시켜 절대치로 변환시키는 절대치 변환부(4)와, 상기 절대치 변환부(4)의 상위 3비트 출력을 받아 현재 처리되는 샘플이 어느 그룹에 속하는가를 구분 검출하는 그룹 데코딩 로직(5)과, 상기 그룹 데코딩 로직(5)의 출력과 타이밍 생성 및 시스템 콘트롤부(10)의 FS32 클럭을 이용하여 각 그룹의 쉬프트 수에 대응되는 쉬프트 클럭을 생성시키는 쉬프트 클럭 생성부(6)와, 상기 쉬프트 클럭 생성부(6)의 쉬프트 클럭이 클럭단자(▷)에 인가되고 SIPO 쉬프트 레지스터(1)의 병렬출력(Q4-Q5)이 단자(1H)에 인가되며 타이밍 생성 및 시스템 콘트롤부(10)의 LD 신호로 로드되는 셀(S1-S16)과, 타이밍 생성 및 시스템 콘트롤부(10)의 쉬프트 정보신호(SFT11)와 MSB 검출 신호를 이용하여 원 데이타와의 차이를 평균값으로 변환시키는 에러 평균화 처리부(15)와, 상기 셀(S1-S16)에 1비트 쉬프트의 베이직 폼을 형성시키는 베이직 폼 형성부 (7)(8)(9)와, 상기 셀(S1-S16)의 병렬 16비트 데이타(ND(15:0))를 직렬 데이타로 변환시키는 PISO 쉬프트 레지스터(11)와, 상기 PISO 쉬프트 레지스터(11)의 변환된 데이타를 FS32 클럭의 폴링 엣지에 동기시켜 16비트 신장 데이타로 16비트 디지탈 아날로그 변환기에 공급하는 D-플립플롭(12)으로 구성되어진다.
이때 에러 평균화 처리부(15)는 앤드게이트(A2)(A3)와 오아게이트(O2) 및 인버터(I3)로 구성되어지며 베이직 폼 형성부(7)(8)(9)는 제9도에 도시한 바와 같이 앤드게이트(A20)(A21)(A22)와 오아게이트(O3)(O4)로 구성되어지며 이때 제9(a)도는 베이직 폼 형성부(7), 제9(b)도는 베이직 형성부(8), 제9(c)도는 베이직 형성부(9)를 나타내며 셀(S1-S16)은 제10도에 도시한 바와 같이 앤드게이트(A23)(A24)와 인버터(I10) 및 오아게이트(O5)와 D-플립플롭(FF1)으로 구성되어진다.
한편 그룹 데코딩 로직(5)은 제7도에 도시된 바와 같이 인버터(I4)(I5)(I6)와 앤드게이트(A4-A15) 및 노아게이트(NO1)(NO2)와 낸드게이트(NA1)로 구성되어진다.
이와 같은 구성의 본 발명에서 먼저 SIPO 쉬프트 레지스터(1)에 입력되는 압축 데이타(COMP DATA)는 기록시 12비트로 압축 변화되어 기록되어진 데이타이며 현재 입력되는 압축 데이타는 신장될 재생 데이타가 된다.
이 압축 데이타는 MSB 1st의 직렬 입력이며 제11도와 같은 타이밍으로 입력되어진다. 이때 제11도에서 FS는 표본화 주파수이고 FS32는 FS×32 비율의 데이타 클럭이며 COMP DATA는 12비트 압축 데이타이다.
이같은 FS와 FS32 클럭은 타이밍 생성 및 시스템 콘트롤부(10)에서 발생시키는 것으로 타아밍 생성 및 시스템 콘트롤부(10)는 마스터 클럭을 입력 받아 모든 타이밍을 생성시키는 한편 시스템 콘트롤을 행하게 된다.
즉 제 11도에 도시된 바와 같이 입력되는 압축 데이타는 FS32 클럭으로 SIPO 쉬프트 레지스터(1)에 저장되며 클럭 16개로 1샘플분의 데이타가 채워지게 된다.
이때 SIPO 쉬프트 레지스터(1)의 출력(Q15)은 해당 샘플의 MSB이고 SIPO 쉬프트 레지스터(1)의 병렬출력(Q4-Q15)은 셀(S1-S16)의 단자(1H)에 입력되어지며 특히 상위 4비트 출력(Q12-Q15)는 D-플립플롭(3)의 입력단자(D1-D4)에 인가되게 된다.
여기서 데이타의 압축 및 신장 알고리즘에 대한 설명을 간략히 한 후 본 발명에 대하여 설명하기로 한다.
제8도는 DAT에서 채택하고 있는 16비트 직선 데이타의 12비트로의 압축 신장시 적용되는 규칙으로 작은 신호에 대해서는 압축없이 그룹 7,7'와 같이 16비트 직선 데이타가 압축 12비트로 그대로 대응되지만 신호 크기가 커짐에 따라 최대 6비트 분의 데이타가 쉬프트 되도록 비트 압축률(BIT COMPRESSION RATE)을 높여 나가는 구성이다.
이 압축 테이블에서 16비트/샘플에 대한 표현은 16진법을 그라운드 레벨(무신호)은 "0000","FFFF"로 나타내며 이 레벨 위쪽으로의 플러스(PLUS) 최대치는 "7FFF", 마이너스(MINUS) 최대치는 "8000"이 되는데 코드의 부호 표시는 MSB로 나타내며 MSB가 "0"일때 +, MSB가 "1"일때 -를 표현한다.
그리고 그라운드 레벨에서 +,-쪽으로 멀어질수록 즉 크기가 커질수록 직선 양자화에 대응되는 12비트 비직선 양자화 스텝을 점점 커짐을 알 수 있는데 이것은 레벨이 큰 신호에 대한 비트 압축률의 증가를 의미한다.
또한 제8도에서의 각 그룹에 대하여 살펴본다. 먼저 MSB="0" 즉 플러스쪽의 그룹(1-7)에 대하여 살펴본다.
제1 그룹 (4000-7FFF)은 MSB 바로 다음 웨이트(WEIGHT)에서 MSB와 다른 상태 즉 MSB="0"이고 (MSB-1)번째="1"이 발생되는 코드의 모임이고 제2 그룹(2000-3FFF)은 (MSB-2)번째 웨이트에서 MSB와 다른 상태가 발생하는 모임이며 같은 방법으로 제3 그룹(1000-1FFF)은 (MSB-3)번째 웨이트에서 제6 그룹(0200-03FF)은 (MSB-6)번째 웨이트에서 MSB와 다른 상태가 발생하는 코드 모임이다.
그리고 그룹 7(0000-01FF)은 12비트로 압축하여도 16비트 직선 양자화값이 변하지 않고 그대로 맵핑(MAPPING)되는 코드 집합으로써 MSB와 다른 상태가 발생하는 웨이트가 (MSB-7)번째 이하의 경우이다.
또한 MSB="1" 즉 마이너스 측의 그룹(1'-7')의 관계는 상기된 플러스축 그룹(1-7)의 경우와 같은 방식에 의하여 이루어진다.
한편 제3(a)도는 데이타 압축 알고리즘의 구체적인 엔코딩 패턴으로서 다음과 같은 변환을 수행한다.
먼저 각 그룹(1-7,1'-7')에 대한 관계는 제8도에 의한 상기된 설명과 같고 그 쉬프트 갯수에 따라 변환 형태가 결정된다.
이때 압축되는 12비트 데이타중에서 새롭게 생성되는 것이 MSB 바로 다음의 상위 3비트이며 이때 MSB는 원래의 16비트 데이타의 MSB를 그대로 따르게 된다.
예를들어 5비트 쉬프트가 되어 있는 그룹 2의 경우 즉 변환된 코드 형태가 "001wxyzacdefghi"일 경우 12비트 데이타의 구성은 MSB는 원래의 MSB인 "0"가 되고 MSB 바로 다음의 상위 3비트는 "110"를 만들어 붙이고 나머지 8비트는 원래의 16비트 데이타에서 5비트를 쉬프트시킨 "wxyzabcd"로 구성되어진다.
그리고 제3(b)도는 종래의 압축 데이타에 대한 신장 알고리즘으로써 압축시 형성된 MSB를 제외한 상위 3비트를 근거로 16비트로의 데이타 신장을 수행한다.
즉 데이타 압축시 해당 샘플의 MSB와 상태 비교(크기 비교)를 통하여 새롭게 생성된 12비트의 상위 3비트를 이용하여 원래의 데이타의 근사한 신장된 16비트의 데이타를 생성하는 방법이다.
예를들어 6비트 쉬프트로 되어 있는 제 1그룹의 경우, 이미 압축시 MSB와의 상태 비교 결과 그 달라지는 웨이트가 (MSB-1)번째가 되어 12비트중 상위 3비트 내용으로서 "111"이 만들어졌으므로 데이타 신장시는 역으로 상기 3비트를 근거로 어느 웨이트에서 MSB와 상태를 최초로 틀리게 할 것인가를 결정한다.
상기 동작이 수행되고 그 결과 최초의 MSB와의 상태 반전이 이루어진 웨이트가 결정된 이후에는 12비트의 하위 8비트를 쉬프트 갯수로서 결정하여 붙여 준다.
여기서 쉬프트 수에 의하여 결정되는 16비트 신장 데이타의 LSB쪽은 최대값으로의 변환을 도모하기 위해 해당 샘플의 MSB가 "0"일때 "1", MSB가 "1"일때 "0"을 채운다.
한편 제4도는 본 발명의 데코딩 패턴으로써 하기되는 내용 이외에는 상기된 제3(b)도의 내용과 동일하다.
즉 제3(b)도의 데코딩이 최대값으로 변환을 도모하나 본 발명의 데코딩은 평균값으로의 변환을 수행하여 압축전의 원 데이타에 대한 오차를 제3(b)도 보다 반으로 줄이도록 하는 것이다.
이하 본 발명에 대한 상세 설명을 하기로 한다.
먼저 신장의 기준이 되는 12비트중 상위 3비트에 대한 검출 및 현재 처리되는 샘플이 어느 그룹에 속하는가를 파악하기 위하여 우선 SIPO 쉬프트 레지스터(1)의 상위쪽 4비트 출력(Q12-Q13)을 타이밍 생성 및 시스템 콘트롤부(10)의 LD신호(제6도 참조)의 폴링 엣지에서 D-플립플롭(3)으로 래치하고 상기 D-플립플롭(3)에 래치된 출력(Q1)(Q2)(Q3)은 MSB 출력(Q4)과 함께 절대치 변환부(4)의 익스크루 시브 오아게이트(XOR1) (XOR2) (XOR3)에 인가되어 절대치 변환을 하게 된다.
이때 절대치 변환시키는 이유는 그룹 1-7과 그룹 1'-7'를 동일하게(즉 -측을 +측과 동일하게) 처리하기 위함이며 이러한 절대치 변환부(4)의 상위 3비트 출력(T1)(T2)(T3)은 그룹 데코딩 로직(5)에 인가되어 그룹 구별 데코딩을 하게 된다.
즉 그룹 데코딩 로직(5)은 제7도에 도시된 바와 같이 절대치 변환부(4)의 출력(T1)(T2)(T3)이 각각 인버터(I4)(I5)(I6)를 통하여 앤드게이트(A4-A9)에서 논리곱 되어진 후 타이밍 생성 및 시스템 콘트롤부(10)에서 생성되는 쉬프트 정보신호(SFT11-SFT16)와 앤드게이트(A10-A15)에서 논리곱 되어지며 상기 앤드게이트(A10-A15)의 출력은 노아게이트(NA1)를 통하여 출력되게 된다.
따라서 그룹 데코딩 로직(5)에서는 제6도에 도시된 파형도에서 살펴 볼수 있듯이 현재 처리되는 샘플이 어느 그룹에 속해 있는가를 검출하고 그 결과로서 쉬프트 정보신호(SFT11-SFT16)중의 한개를 선택하여 최종 출력(T10)으로 출력시키게 된다.
이때 쉬프트 정보신호(SFT11)는 쉬프트가 1로 되어 있는 그룹 6의 처리용으로 쉬프트 펄스가 한개 통과 되도록 하는 신호이고 쉬프트 정보신호(SFT12)는 쉬프트가 2로 되어 있는 그룹 5의 처리용으로 쉬프트 펄스가 2개 통과되도록 하는 신호이며 마찬가지로 쉬프트 정보신호(SFT16)는 6개의 쉬프트 펄스를 발생시켜 그룹 1의 처리를 담당하게 된다.
결국 그룹 데코딩 로직(5)의 출력(T10)은 쉬프트 클럭 생성부(6)에 인가되어 쉬프트 펄스를 발생시키는 이용되어진다.
즉 그룹 데코딩 로직(5)의 출력(T10)은 타이밍 생성 및 시스템 콘트롤부(10)의 FS32 클럭을 인버터(I1)에서 반전시킨클럭 신호와 앤드게이트(A1)에서 논리곱되므로써 각 그룹별 쉬프트 클럭(SFTCLK)을 발생시키게 된다.
결국 앤드게이트(A1)에서는 쉬프트 정보신호(SFT11)에 대해서는클럭 1개를 통과시키고 쉬프트 정보신호(SFT12)에 대해서는클럭 2개를 통과시켜 같은 방법으로 그룹 1,1'의 쉬프트 정보신호(SFT16)에 대해서는클럭을 6개 통과시킴으로써 그룹별 쉬프트 수를 결정하게 된다.
그리고 상기 앤드게이트(A1)의 출력은 타이밍 발생 및 시스템 콘트롤부(10)의 쉬프트 정보신호(SFT1)와 오아게이트(O1)에서 논리합되어 최종 쉬프트 클럭(SFRCLK) 신호를 출력시켜 각 셀(S1-S16)의 클럭단자(▷)에 인가되게 된다.
여기서 SFT1 신호는 제6도의 파형도에서 살펴보듯이 셀(S1-S16)에 SIPO 쉬프트 레지스터(1)의 출력들이 로드될때 LD 신호의 하이 구간에서 한번의 엣지가 발생하는 신호로써 결국 SFT1 신호의 엣지에서 셀(S1-S16)에 로드된 데이타가 각 셀(S1-S16)의 출력(Q)으로 나타나게 된다.
이러한 SFT1 신호는 현재 처리되는 샘플이 넌 쉬프트(NON SHIFT) 그룹인 7,7'일 경우에 그룹 데코딩 로직(5)의 출력(T10)은 나타나지 않고 결국 쉬프트 클럭(SFTCLK)의 내용을 SFT1만으로 이루어져 데이타 쉬프트가 이루어지지 않게 되어 넌 쉬프트 처리를 수행하게 된다.
한편 본 발명의 셀(S1-S16)과 베이직 폼 형성부(7)(8)(9)로 이루어지는 데이타 변환 처리 과정에 대하여 살펴본다.
12비트 압축 데이타(COMP DATA)에 대한 SIPO 쉬프트 레지스터(1)의 병렬 출력(Q4-Q15)들은 셀(S1-S16)의 단자(1H)에 인가되며 특히 셀(S12-S16)의 단자(1H)에는 MSB 해당 출력(Q15)이 공통적으로 인가되는데 이는 그룹 7,7'의 넌 쉬프트 데이타 처리를 위한 것으로 넌 쉬프트 데이타의 신장된 16비트중 상위 4비트 값을 제공하되 이때 상위 4비트의 값은 모두 "0" 또는 "1"로 제공되어진다.
그리고 상기된 그룹 7,7' 이외의 그룹 1-6과 그룹 1'-6'의 데이타 쉬프트 처리는 상기 동작이 선행된 후에 이루어지며 그 변환 과정은 다음과 같다.
우선 SIPO 쉬프트 레지스터(1)의 출력(Q4-Q15)은 셀(S1-S16)의 단자(1H)에 인가되며 이때 인가된 값(로드된 값)은 LD 신호의 하이 구간에서 1번 발생되는 SFT1 신호로 각 셀(S1-S16)의 출력(Q)에 나타나게 된다.
그리고 넌 쉬프트 데이타일 경우 상기 설명된 바와 같이 각 셀(S1-S16)에 공통적으로 인가되고 있는 오아게이트(O1)의 출력인 쉬프트 클럭(SFTCLK) 내용이 SFT1으로만 이루어져 각 셀(S1-S16)에서는 쉬프트가 이루어지지 않고 최초에 로드된 SIPO 쉬프트 레지스터(1)의 출력값이 그대로 신장된 16비트 데이타(ND(15:0))로 결정되게 되며 이하 1비트 쉬프트--6비트 쉬프트 변환 과정에 대하여 살펴본다.
쉬프트가 있는 경우 SIPO 쉬프트 레지스터(1)의 출력 그대로를 로드하고 쉬프트 할 수는 없다.
그 이유는 압축 데이타의 상위 3비트의 내용은 압축시 압력 크기에 따라 생성시킨 임의의 데이타이며 이것을 근거로 신장 데이타를 생성시키게 되므로 약간의 데이타 조작이 요구되며 이를 수행하는 것이 베이직 폼 형성부(7)(8)(9)의 쉬프트 정보신호(SFT11)와 MSB 신호이다.
즉 데이타 쉬프트 과정을 쉬프트가 1번 수행되는 그룹 6,6'의 데이타를 근거로 하고 그때 나타나는 폼(FORM)을 기본으로 이용하여 한번 이상의 쉬프트 처리하게 된다.
예로써 12비트 압축 데이타로 2비트 쉬프트된 "0011wxyzabcd"(MSB="0")가 입력되었을 경우 각 셀(S1-S16)에서의 상태변화는 제12도에 도시된 바와 같이 변화하게 된다.
즉 모든 쉬프트 처리에 대하여 제12도에 도시된 바와 같은 베이직 폼(BASIC FORM)을 생성시킨 후에 2-6비트 쉬프트를 수행하여 이러한 베이직 폼을 만들어내는 것이 쉬프트 정보신호(SFT11)와 MSB 신호를 이용한 베이직 폼 형성부(7)(8)(9)이다.
이같이 1개의 쉬프트 클럭(SFTCLK) 신호에 의하여 쉬프트할 기본 데이타가 만들어지며 이 경우 베이직 폼 형성부(7)는 셀(S10)의 출력(Q)이 "1"이 되게 하고 베이직 폼 형성부(8)(9)는 셀(S11)(S12)의 출력(Q)을 "0"가 되도록 한다.
여기서 데이타 신장 수행을 위한 1비트 쉬프트의 베이직 폼을 형성시킨 후 기타 그룹별 쉬프트를 진행하면서의 LSB쪽 데이타 처리에 있어서 압축전의 원 데이타와 신장 데이타와의 차이(에러) 발생 정도를 평균화하기 위한 과정이 필요하며 이 평균화 작업은 에러 평균화 처리부(15)에서 수행되어지며 이에 관련된 신호가 쉬프트 정보신호(SFT11)와 MSB 신호이다.
종래에는 데이타 신장을 위해서 1비트 쉬프트 베이직 폼을 형성시킨 후 최대값으로의 대응을 위해 각 그룹별 쉬프트를 진행하면서 MSB="0"일 경우 LSB쪽은 모두 "1"로 채워넣고 MSB="1"일 경우 LSB쪽은 모두 "0"로 채워 넣었으나 이같이 하였을 경우 문제가 되는 것은 압축전의 원 데이타의 변환된 신장 데이타와 차이 즉 에러의 크기이다.
예를들어 신장 결과 에러가 최대로 발생하는 그룹 1(MAB=0, 6비트 쉬프트)에 속해 있는 데이타에 대한 LSB쪽 6비트가 원 데이타에 대한 에러로 발생하게 된다.
즉 원래의 데이타가 01wxyzabcd일 경우 신장결과 데이타는 01wxyzabcd이 되어 밑줄친 부분에 해당된 만큼(26-1=63)의 오차가 발생하게 되어 있었다.
이때 신장 데이타를 최소값으로 하기 위해 MSB="0"일때 LSB를 "0"로 하거나 MSB="1"일때 LSB를 "1"로 하여도 상기와 같은 오차가 발생되는 것이었다.
따라서 본 발명에서는 에러 평균화 발생부(15)에서 오차 크기를 평균화 하므로써 종래 발생되었던 오차를 절반으로 줄어 들게 하였다.
예를들어 그룹 1의 데이타인 경우 압축전 데이타가 01wxyzabcd일때 신장 데이타가 01wxyzabcd이 되나 본 발명에서는 밑줄친 하위쪽 6비트인 "000000"와 "111111"의 중간값인 "100000"로 대응하므로써 01wxyzabcd100000가 출력되게 하여 오차를 줄이게 하였다.
즉 그룹 1일 경우 신장 결과 하위쪽 6비트가 에러가 되는데(그룹 5일 경우 하위 5비트) 이 경우 에러 최대값은 63이고 최소값은 0가 되므로 에러 발생 정도를 32로 평균화 시키는 것이다.
이를 실현시키기 위하여 1비트 쉬프트를 담당하는 펄스를 생성하는 쉬프트 정보신호(SFT11)를 쉬프트 데이타의 내용으로 이용한다.
다시 말해서 1비트 쉬프트가 진행될 데이타 내용은 MSB=0일때 "1"이 되게 하고 (MSB=1일때 "0") 기타 2-6 쉬프트까지의 데이타 내용은 "0"이 되도록 하였으며 MSB=1일때는 상기와 반대의 과정을 수행하도록 하였다.
즉 에러 평균화 처리부(15)의 앤드게이트(A3)는 MSB=0일때 쉬프트 정보신호(SFT11)를 통과시켜 1비트 쉬프트 되는 데이타가 "1"이 되게 하고 이하 2-6비트 쉬프트 데이타 "0"으로 하며 앤드게이트(A2)는 MSB=1일때 쉬프트 정보신호(SFT11)의 반전신호(인버터(I3)의 출력신호)를 통과시켜 1비트 쉬프트 되는 내용은 0이 되게 하고 기타 2-6비트 쉬프트 데이타는 "1"로 한다.
이러한 앤드게이트(A2)(A3)의 출력은 오아게이트(O2)에서 논리합 되어진 후 셀(S1)의 단자(IL)에 인가되어 데이타 신장 과정의 쉬프트 처리를 완결하므로써 셀(S1-S16)의 출력(Q)에서는 확장된 16비트 데이타(ND(15:0))가 출력되어 PISO 쉬프트 레지스터(11)에 인가된다.
그리고 PISO 쉬프트 레지스터(11)의 최상위 출력(Q15)은 D-플립플롭(12)에 인가시켜 FS32 클럭의 폴링엣지에 동기되어 FS32 클럭 및 FS 클럭과 함께 도시되지 아니한 16비트 디지탈 아날로그 변환기에 16비트 신장 데이타로써 공급되어진다.
이때 FS32 및 FS클럭과 압축 데이타(COMP DATA) 및 신장된 16비트 데이타와의 타이밍도는 제13도에 도시된 바와 같다.
이상에서와 같이 본 발명은 12비트 압축 데이타를 16비트로 신장시킴에 있어서 에러가 발생되는 LSB쪽 비트에 대한 오차 크기를 평균화 시킴으로써 데이타 신장시 발생되는 오차 크기를 절반으로 줄일 수 있는 효과가 있는 것이다.

Claims (2)

  1. 압축 데이타를 FS32 클럭으로 저장하고 병렬 데이타를 출력시키는 SIPO 쉬프트 레지스터(1)와, 상기 SIPO 쉬프트 레지스터(1)의 출력중 상위 4비트 해당 출력을 래치하는 D-플립플롭(3)과, 상기 D-플립플롭(3)의 출력과 MSB 해당 출력을 익스크루시브 오아시켜 절대치로 변환시키는 절대치 변환부(4)와, 상기 절대치 변환부(4)의 상위 3비트 출력을 받아 현재 처리되는 데이타가 어느 그룹에 속하는가를 검출하는 그룹 데코딩 로직(5)과, 상기 그룹 데코딩 로직(5)의 출력과 FS32 클럭을 이용하여 각 그룹의 쉬프트 수에 대응되는 쉬프트 클럭을 생성시키는 쉬프트 클럭 생성부(6)와, 상기 쉬프트 클럭 생성부(6)의 쉬프트 클럭이 클럭 신호로 인가되고 SIPO 쉬프트 레지스터(5)의 출력이 입력 신호로 인가되며 LD 신호로 로드되는 셀(S1-S16)과, 상기 셀(S1-S16)의 1비트 쉬프트의 베이직 폼을 형성시키는 베이직 폼 형성부(7)(8)(9)와, 상기 셀(S1-S16)의 병렬 데이타 출력을 직렬 데이타로 변환시켜 출력시키는 PISO 쉬프트 레지스터(11)로 구성된 데이타 신장회로에 있어서, 타이밍 생성 및 시스템 콘트롤부(10)의 쉬프트 정보신호(SFT11)와 D-플립플롭(3)의 MSB 해당 출력을 조합하여 셀(S1)의 단자(IL)에 인가시켜 주어 에러 발생 정도를 평균화시키는 에러 평균화 처리부(15)를 구성시킨 것을 특징으로 하는 데이타 신장회로.
  2. 제 1 항에 있어서, 에러 평균화 처리부(15)는 타이밍 생성 및 시스템 콘트롤부(10)의 쉬프트 정보신호(SFT11)와 D-플립플롭(3)의 MSB 해당 출력(Q4)을 인버터(I3)로 반전시킨 신호를 논리곱 시키는 앤드게이트(A2)와, 상기 앤드게이트(A2)(A3)의 출력을 논리합시켜 셀(S1)의 단자(IL)에 인가시키는 오아게이트(O2)로 구성시킨 데이타 신장회로.
KR1019900023081A 1990-12-31 1990-12-31 데이타 신장회로 KR930003174B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019900023081A KR930003174B1 (ko) 1990-12-31 1990-12-31 데이타 신장회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019900023081A KR930003174B1 (ko) 1990-12-31 1990-12-31 데이타 신장회로

Publications (2)

Publication Number Publication Date
KR920013381A KR920013381A (ko) 1992-07-28
KR930003174B1 true KR930003174B1 (ko) 1993-04-23

Family

ID=19309405

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900023081A KR930003174B1 (ko) 1990-12-31 1990-12-31 데이타 신장회로

Country Status (1)

Country Link
KR (1) KR930003174B1 (ko)

Also Published As

Publication number Publication date
KR920013381A (ko) 1992-07-28

Similar Documents

Publication Publication Date Title
US3973081A (en) Feedback residue compression for digital speech systems
US4553130A (en) Variable-length encoding-decoding system
FI20060169A (fi) Menetelmä informaatiosanojen konvertoimiseksi ja tallennusvälineen tuottamiseksi, laite laiteinformaation tallentamiseksi, signaali tallennusväline ja dekoodauslaite
US5117234A (en) Signal modulation system
JPH05344003A (ja) データ圧縮回路
KR930003174B1 (ko) 데이타 신장회로
JPH07199996A (ja) 波形データ符号化装置、波形データ符号化方法、波形データ復号装置、及び波形データ符号化/復号装置
US4037226A (en) Pulse code modulation compressor
JPH06208766A (ja) ディジタル記録再生システムにおける直流値計算回路
JPS59181759A (ja) ディジタル符号変換方式
JPS5875341A (ja) 差分によるデ−タ圧縮装置
JPS61146021A (ja) デイジタル信号の処理装置
US4419657A (en) Speech digitization system
KR930004340B1 (ko) 디지탈 오디오테이프 레코더의 오디오데이타 신장회로 및 방식
JP2728818B2 (ja) 可変長復号化器
JP2612423B2 (ja) Pcmデータのフレーム生成方式
JPS58121844A (ja) 信号圧縮伸長器
JPS6240888B2 (ko)
JP3138342B2 (ja) 可変長符号の復号装置
JPS58156239A (ja) 折線圧縮伸張回路
JPH0260323A (ja) 情報変換方式
JP3008668B2 (ja) Adpcm復号器
JPH0715344A (ja) データ変換装置
JPH0348774Y2 (ko)
JPH0974358A (ja) デジタル信号の圧縮伸張方法及び装置

Legal Events

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

Payment date: 20040330

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee