KR20030005315A - 압축 방법 및 장치, 압축 해제 방법 및 장치, 압축/압축해제 시스템, 기록매체 - Google Patents

압축 방법 및 장치, 압축 해제 방법 및 장치, 압축/압축해제 시스템, 기록매체 Download PDF

Info

Publication number
KR20030005315A
KR20030005315A KR1020027014702A KR20027014702A KR20030005315A KR 20030005315 A KR20030005315 A KR 20030005315A KR 1020027014702 A KR1020027014702 A KR 1020027014702A KR 20027014702 A KR20027014702 A KR 20027014702A KR 20030005315 A KR20030005315 A KR 20030005315A
Authority
KR
South Korea
Prior art keywords
data
compressed
value
amplitude
timing
Prior art date
Application number
KR1020027014702A
Other languages
English (en)
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 KR1020027014702A priority Critical patent/KR20030005315A/ko
Publication of KR20030005315A publication Critical patent/KR20030005315A/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Landscapes

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

Abstract

압축측에 있어서, 입력될 아날로그 신호(101) 중에서 미분 절대값이 소정값 이하가 되는 점(102a∼102f)을 표본점으로하여, 해당 각 표본점에 있어서의 이산적인 진폭 데이터와 각 표본점간의 시간간격을 나타내는 타이밍 데이터의 조를 압축 데이터로서 얻을 수 있도록 함과 동시에, 압축 해제측에 있어서 상기 압축 데이터 중에 포함될 진폭 데이터와 타이밍 데이터를 사용하여, 연속하는 두 개의 표본점에 있어서의 두 개의 진폭 데이터와 그 사이의 타이밍 데이터를 기초로 하여, 상기 두 개의 진폭 데이터 간을 보간하는 보간 데이터를 구하는 것에 의해 압축 해제 데이터를 얻을 수 있도록 하는 것에 의해, 시간축상의 신호를 압축·압축 해제할 때에 주파수변환을 행하지 않고 시간축상 그대로 처리할 수 있도록 한다.

Description

압축 방법 및 장치, 압축 해제 방법 및 장치, 압축/압축 해제 시스템, 기록매체 {METHOD AND APPARATUS FOR COMPRESSION, METHOD AND APPARATUS FOR DECOMPRESSION, COMPRESSION/DECOMPRESSION SYSTEM, RECORED MEDIUM}
종래 화상신호나 음성신호 등 정보량이 많은 신호를 전송하거나 축적하거나 할 경우, 전송 정보량의 삭감이나 축적 미디어에의 보존 가능 시간의 장시간화 등을 목적으로 해서, 신호를 압축·압축 해제하는 것이 행하여지고 있다. 일반적으로 아날로그 신호를 압축할 경우, 먼저 소정의 샘플링 주파수에 따라서 아날로그 신호를 샘플링하고 디지털화하여서 얻어진 디지털 데이터에 대해 압축처리를 행한다.
예를들면, 화상신호나 음성신호의 압축에 있어서는 DCT(Discrete-Cosine-Transform) 등의 시간축-주파수축의 변환필터를 사용해서 원래의 데이터를 가공한 후에, 주파수 영역에서 압축을 행하는 수법이 쓰여지고 있다. 음성신호의 압축방법으로서 전화회선에서 잘 쓰여지고 있는 DPCM(Differential Pulse Code Modulation)도 이 점을 의도해서 사용하고 있다. 더욱이, 이 DPCM에 의한 압축방식은 파형을샘플링할 때에 서로 이웃하고 있는 샘플값의 차분(差分)을 부호화하는 방식이다.
또한, 시간/주파수 변환을 행하는 방식으로서는 서브밴드필터나 MDCT(Modified Discrete Cosine Transform)를 사용한 방식도 있어, 이러한 방식을 이용한 부호화 방식으로서 MPEG(Moving Picture Image Coding Experts Group) 오디오를 들 수 있다.
또한, 가장 넓게 사용되어지고 있는 화상압축 시스템도 이 MPEG 규격으로서 일반적으로 알려져 있다.
상술한 압축방식에 따라서 압축된 데이터의 압축 해제처리는 기본적으로는 같은 압축방식의 압축처리와 역조작에 의하여 행하여진다.
즉, 압축된 디지털 데이터는 주파수/시간 변환처리에 의해 주파수 영역의 신호에서 시간 영역의 신호로 변환된 후, 소정의 압축 해제처리가 실시되어짐에 의해 원래의 디지털 데이터가 재현되어 진다. 그리고, 이렇게 해서 구해진 원래의 데이터가 필요에 따라 디지털-아날로그 변환되어서 아날로그 신호로서 출력된다.
그러나, 상기 종래의 압축·압축 해제방식에서는 시간축상의 신호를 주파수축상의 신호로 변환해서 압축하도록 하고 있으므로, 압축시의 시간/주파수변환 및 압축 해제시의 주파수/시간변환 등의 처리가 필요하게 된다. 이 때문에 처리가 번잡해짐과 동시에 이것을 실현하기 위한 구성이 굉장히 복잡하게 된다는 문제가 있었다. 이것은 압축·압축 해제에 걸리는 시간이 길어지게 되는 것 뿐만이 아니라 장치의 소형화를 곤란하게 하는 요인이 되어 있었다.
또한, 일반적으로 데이터의 압축·압축 해제를 생각할 경우에는 압축률을 높여 가면서 재생 데이터의 품질 또한 어떻게 향상시킬 것인가가 중요한 과제로 되어있다. 그런데, 상기종래의 압축·압축 해제방식에서는 화상신호나 음성신호의 압축률을 높이고자 하면 압축 데이터를 압축 해제해서 재생되는 화면이나 음성의 품질이 열화되어 버리고, 역으로 재생화상이나 재생음성의 품질을 중시하면 화상신호나 음성신호의 압축률이 낮아진다는 문제가 있었다. 그 때문에 압축률의 향상과 재생 데이터의 품질 향상과의 양쪽을 실현하는 것은 극히 곤란하였다.
발명은 압축 방법 및 장치, 압축 해제 방법 및 장치, 압축/압축 해제 시스템, 기록 매체에 관한 것으로서, 특히 연속적인 아날로그 신호 혹은, 디지털 신호의 압축 및 압축 해제 방법에 관한 것이다.
도 1은 제1 실시예에 의한 압축방법을 설명하기 위한 도면이다.
도 2는 제1 실시예에 의한 압축 해제방법을 설명하기 위한 도면이다.
도 3은 도 2에 나타내는 시각 T1-T2의 구간을 취해서 본 실시예의 보간원리를 나타낸 도면이다.
도 4는 표본화함수의 예를 나타내는 도면이다.
도 5는 이산 데이터와 그것들 사이의 보간값과의 관계를 나타내는 도면이다.
도 6은 압축 해제측에 있어서의 데이터 보간처리의 구체적인 예인 보간연산식에 대해 설명하기 위한 도면이다.
도 7은 도 2에 나타내는 시각 T1-T2간에 대해서 오버샘플링과 컨벌루션 연산을 적용한 경우의 처리결과를 나타내는 도면이다.
도 8은 오버샘플링과 컨벌루션 연산을 적용한 경우의 처리결과를 나타내는 도면이다.
도 9는 제1 실시예에 의한 압축장치의 구성예를 나타내는 블럭도이다.
도 10은 도 9중의 평균값 보간 데이터 생성부의 구성예를 나타내는 블럭도이다.
도 11은 도 9중의 타이밍 합성기의 구성예를 나타내는 블럭도이다.
도 12는 제1 실시예에 의한 압축 해제장치의 구성예를 나타내는 블럭도이다.
도 13은 제2 실시예에 의한 압축장치의 구성예를 나타내는 블럭도이다.
도 14는 제2 실시예에 의한 압축 해제장치의 구성예를 나타내는 블럭도이다.
도 15는 제2 실시예에 쓰여지는 디지털 기본파형을 나타내는 도면이다.
도 16은 제2 실시예의 오버샘플링 및 컨벌루션 연산의 동작 예를 설명하기 위한 도면이다.
도 17은 도 15의 디지털 기본파형으로부터 생성될 함수를 나타내는 도면이다.
도18은 도13 중에 나타낸 오버샘플 회로의 구성예를 나타내는 도면이다.
도 19는 제2 실시예의 압축장치에 입력될 디지털 데이터의 예를 나타내는 도면이다.
도 20은 도 19에 나타낸 디지털 데이터를 도 13의 오버샘플 회로를 통한 결과, 출력될 데이터의 예를 나타내는 도면이다.
도 21은 도 13에 나타낸 미분기의 구성예를 나타내는 도면이다.
도 22는 도 20에 나타낸 오버샘플 데이터를 도 13의 미분기를 통한 결과, 출력될 데이터의 예를 나타내는 도면이다.
도 23은 같은 값의 미분 절대값이 연속해서 발생했을 경우의 처리 설명도이다.
도 24는 2중 미분을 행하는 것에 의해 표본점을 검출하기 위한 구성예를 나타내는 도면이다.
도 25는 도 20에 나타낸 오버샘플 데이터를 도 13의 압축데이터 생성부를 통한 결과 출력될 압축데이터의 예를 나타내는 도면이다.
도 26은 압축 해제측에 있어서의 데이터 보간처리의 다른 예에 대해서 설명하기 위한 도면이다.
도 27은 도 25에 나타내는 압축 데이터를 대상으로 해서 압축 해제처리를 행한 경우에 도 14의 압축 해제처리부로부터 출력될 압축 해제 데이터의 예를 나타내는 도면이다.
도 28은 제3 실시예에 의한 압축장치의 구성예를 나타내는 블럭도이다.
도 29는 도 28 중의 타이밍 발생기 및 진폭 발생기의 동작원리를 설명하기 위한 도면이다.
도 30은 도 28 중의 타이밍 발생기의 구성예를 나타내는 블럭도이다.
도 31은 타이밍 펄스를 생성하는 부분의 자세한 구성예를 나타내는 도면이다.
도 32는 제3 실시예의 압축장치에 의해 행하여질 압축처리의 실제 동작예를 설명하기 위한 도면이다.
도 33은 제3 실시예에 의한 직렬 압축 블럭 데이터의 구성예를 나타내는 도면이다.
도 34는 제3 실시예에 의한 압축 해제장치의 구성예를 나타내는 블럭도이다.
도 35는 도 34 중의 2승 보간데이터 생성부의 자세한 구성예를 나타내는 도면이다.
도 36은 제3 실시예의 압축 해제장치에 의해 행하여질 압축 해제처리의 실제 동작예를 설명하기위한 도면이다.
도 37은 압축전의 원래의 데이터와 압축 해제 데이터의 예를 나타내는 도면이다.
본 발명은 이러한 문제를 해결하기 위하여 이루어진 것으로, 신호의 압축·압축 해제처리를 간소화해서 처리시간을 짧게 할 수 있도록 하는 것과 함께 이것을 실현하기 위한 구성 또한 단순하게 할 수 있도록 하는 것을 목적으로 한다.
또한, 본 발명은 보다 높은 압축률과 보다 고품질의 재생 데이터를 얻을 수가 있는 새로운 압축·압축 해제방식을 제공하는 것을 목적으로 하고 있다.
또한, 본 발명은 테이블을 사용하지 않고 보다 간단하게 압축·압축 해제처리를 행할 수 있도록 하는 것을 목적으로 하고 있다.
상기 과제를 해결하기 위해서, 제1 발명의 압축측에 있어서는 압축대상의 신호를 미분 절대값이 소정값 이하로 되는 점의 시간간격으로 표본화하여, 각 표본점에 있어서의 이산적인 진폭 데이터와 각 표본점간의 시간간격을 나타내는 타이밍 데이터와의 조를 압축 데이터로서 얻을 수 있도록 하고 있다.
여기서, 압축대상의 신호를 오버샘플링하여 해당 오버샘플링 된 데이터를 그 미분 절대값이 소정값 이하로 되는 점의 시간간격으로 표본화하도록 해도 된다. 더욱이, 상기 오버샘플링 된 데이터에 대해서, 연속하는 샘플링 값의 평균값 데이터를 생성하는 처리를 거듭 행하도록 하여도 된다.
또한, 제1 발명의 압축 해제측에 있어서는 압축대상의 신호로부터 추출된 소정의 표본점에 있어서의 진폭 데이터와 각 표본점간의 시간간격을 나타내는 타이밍 데이터의 조(組)로부터 구성될 압축 데이터에 대해서, 연속하는 표본점의 진폭 데이터와 그 사이의 타이밍 데이터를 사용하여 상기 타이밍 데이터에 의해 나타내는 시간간격을 가지는 진폭 데이터의 사이를 보간하는 보간 데이터를 구하는 것에 의해 압축 해제 데이터를 얻도록 하고 있다.
여기서, 연속하는 두 개의 표본점에 있어서의 두 개의 진폭 데이터와 그 사이의 타이밍 데이터로부터 얻어질 표본화함수를 사용하여, 상기 두 개의 진폭 데이터 사이를 보간하는 보간 데이터를 구하도록 하여도 된다.
상기와 같이 구성된 제1 발명에 의하면, 시간축상의 신호를 압축할 때에 시간/주파수 변환을 하여 주파수 축상에서 처리 하지 않고 시간축상 그대로 처리를 행하는 것이 가능하게 된다. 또한, 이와같이 해서 압축된 데이터를 압축 해제할 때에도 시간축상 그 자체에서 처리를 행하는 것이 가능하게 된다. 이것에 의해, 압축 및 압축 해제의 처리를 간소화하여 처리시간을 짧게 할 수 있게 함과 동시에 그를위한 구성을 간소화할 수도 있다. 또한, 압축측에서 압축 데이터를 전송해서 압축 해제측에서 재생하는 경우에 있어서도 시간축상에서의 간단한 보간연산에 의해 압축 해제측에 입력될 압축 데이터를 순차적으로 처리해서 재생할 수 있으므로 실시간 동작을 실현할 수 있다.
또한, 본 실시예에 있어서는 각 샘플링 포인트 중에서 표본점의 데이터만을 압축 데이터로서 얻을 수 있으므로 높은 압축률을 달성할 수 있다. 이 표본점은 압축대상의 신호중에서 변곡(變曲)하는 부분에 상당하고, 압축 해제측에 있어서의 보간연산에 의해 원래의 데이터를 재현하기 위해서 최소한 필요한 점은 모두 포함하므로, 원래의 데이터로의 재현성이 좋고 고품질의 재생 데이터를 얻을 수 있다.
또한, 제2 발명의 압축측에 있어서는 입력될 n개의 이산 데이터값에 따른 기본파형의 디지털 데이터를 오버샘플링과 이동평균연산 또는 합성곱 연산(컨벌루션 연산)에 의하여 합성하는 것에 의해 상기 이산 데이터에 대한 디지털 보간값을 구한 후, 상기 구한 디지털 보간값을 그 미분 절대값이 극소가 되는 점의 시간간격으로 표본화하여, 각 표본점에 있어서의 이산적인 진폭 데이터와 각 표본점간의 시간간격을 나타내는 타이밍 데이터와의 조를 압축데이터로서 얻도록 하고 있다.
또한, 제2 발명의 압축 해제측에 있어서는 압축 데이터 중에 포함될 진폭 데이터와 타이밍 데이터를 사용하여, 연속하는 2개의 표본점에 있어서의 2개의 진폭 데이터와 그 사이의 타이밍 데이터를 기초로 해서 상기 2개의 진폭 데이터 사이를 보간하는 보간 데이터를 구하는 것에 의해 압축 해제 데이터를 얻을 수 있도록 하고 있다.
상기와 같이 구성된 제2 발명에 의하면, 시간축상의 데이터를 압축할 때에 시간/주파수변환을 행하여 주파수 축상에서 처리를 행하지 않고, 시간축상 그대로에서 처리를 행하는 것이 가능하게 된다. 또한, 이와같이 해서 압축된 데이터를 압축 해제할 때에도 시간축상 그대로에서 처리를 행하는 것이 가능하게 된다. 이것에의해 압축 및 압축 해제의 처리를 간소화해서 처리시간을 짧게 할 수가 있음과 동시에 그를 위한 구성을 간소화 할 수도 있다. 또한, 압축측에서 압축 데이터를 전송해서 압축 해제측에서 재생하는 경우에 있어서도 시간축상에서의 간단한 보간연산에 의해 압축 해제측에 입력될 압축 데이터를 순차적으로 처리하여 재생할 수 있으므로 실시간 동작을 실현할 수 있다.
또한, 각 샘플링포인트 가운데, 표본점의 데이터만을 압축 데이터로서 얻을 수 있으므로 높은 압축률을 달성할 수 있다. 이 표본점은 압축대상의 신호중에서 변곡하는 부분에 해당하고, 압축 해제측에 있어서의 보간연산에 의해 원래의 데이터를 재현하기 위해서 최저한 필요한 점은 모두 포함하므로, 원래의 데이터로의 재현성이 좋고 고품질의 재생 데이터를 얻을 수 있다.
더욱이, 제2 발명에 의하면 디지털 데이터에 대해 오버샘플링과 컨벌루션 연산을 행하여 보간값을 구할 때에 어떤 한 개의 보간값을 구하기 위하여 한정된 수의 이산 데이터의 값만을 고려하면 되고, 절단오차가 발생하지 않기 때문에 정확한 보간값을 얻을 수 있다. 따라서 이 보간값을 사용하여 압축처리를 했을 경우에 압축 해제측에서 재생될 데이터에 관해서 압축전 원래의 데이터로의 재현성을 향상시킬 수 있다.
또한, 제3 발명의 압축측에 있어서는 입력될 디지털 데이터를 미분해서 그 미분값의 극성이 변화하는 점을 표본점으로 해서 검출하여, 각 표본점에 있어서의 이산적인 압축진폭 데이터로서 소정의 값으로 사사오입된 디지털 데이터를 얻어, 해당 압축진폭 데이터끼리의 차분을 연산한 결과의 압축진폭 차분 데이터와 각 표본점간의 시간간격을 나타내는 타이밍 데이터와의 조를 압축 데이터로서 얻을 수 있도록 하고 있다.
또한, 제3 발명의 압축 해제측에 있어서는 짝수배로 오버샘플링된 상기 압축진폭차분 데이터를 다중적분함과 동시에 해당 적분값에 대해 이동평균연산을 행해, 이것에 의해 얻어진 이동평균연산값과 타이밍 데이터를 사용하여 상기 타이밍 데이터에 의해 나타내어질 시간간격을 가지는 각 표본점에 있어서의 진폭 데이터 사이를 보간하는 2승 보간 데이터를 구해서 이것을 압축 해제 데이터로서 얻을 수 있도록 하고 있다.
제3 발명 이외의 실시예에서는 압축측에 있어서 입력될 디지털 데이터를 제1 값으로 사사오입 연산을 행하여, 상기 제1 값으로 사사오입된 디지털 데이터를 미분해서 그 미분값의 극성이 변화하는 점을 표본점으로서 검출하여, 각 표본점에 있어서의 이산적인 압축진폭 데이터로서 상기 제1 값보다 큰 제2 값으로 올려진 디지털 데이터를 얻을 수 있도록 하고 있다.
제3 발명 이외의 실시예에서는 압축측에 있어서 상기 압축진폭차분 데이터 및 상기 타이밍 데이터를 가변 길이(可變長) 블럭 데이터로 변환하도록 하고 있다.
제3 발명 이외의 실시예에서는 압축 해제측에 있어서 상기 짝수배로 오버샘플링 된 압축진폭차분 데이터를 상기 타이밍 데이터에 의해 나타내어질 각 표본점의 구획마다 그의 중간위치에서 부호 반전하여, 이것에 의해 얻어진 데이터 열을 다중적분하도록 하고 있다.
제3 발명 이외의 실시예에서는 압축 해제측에 있어서 상기 짝수배로 오버샘플링된 압축진폭차분 데이터에 대한 다중적분 및 이동평균연산을 각 표본점의 구획마다 행하도록 하고 있다.
상기와 같이 구성된 제3 발명에 의하면 시간축상의 신호를 압축할 때에 시간/주파수 변환을 행하여서, 주파수 축상에서 처리를 행하지 않고 시간축상 그대로서 처리를 행하는 것이 가능하게 된다. 또한, 이와같이 해서 압축된 데이터를 압축 해제할 때에도 시간축상 그대로서 처리를 행하는 것이 가능하게 된다. 이것에 의해 압축 및 압축 해제의 처리를 간소화해서 처리시간을 짧게 할 수 있음과 동시에 그를 위한 구성을 간소화하는 것도 할 수 있다. 더우기, 압축 해제처리 때에는 시간축상에서의 간단한 2승 보간연산에 의해 테이블 정보를 쓸 것 없이 입력 될 압축 데이터를 순차적으로 처리해서 재생할 수 있어 실시간 동작을 표현할 수도 있다.
또한, 제3 발명에 의하면 디지털 데이터의 미분값의 극성에 변화하는 표본점에 있어서의 진폭 데이터 값과 각 표본점이 나타나는 시간간격을 나타내는 타이밍 데이터 값과의 적은 이산 데이터만으로 압축 데이터를 생성할 수 있다. 또한, 각 표본점에 있어서의 진폭 데이터를 소정의 값으로 사사오입 처리를 하고 있으므로 진폭 데이터의 데이터 길이를 1워드 당 수 비트 삭감할 수 있어, 여기에서 데이터 양을 큰 폭으로 삭감할 수 있다. 더욱이 제3의 발명에서는 올림처리된 진폭 데이터를 그대로 압축 데이터로 하는 것이 아니라, 더욱더 그 차분 데이터를 구해서 압축 데이터로 하고 있으므로, 압축 데이터에 필요한 비트 수를 더욱 더 적게 할 수 있어 데이터 양을 보다 삭감할 수 있다.
또한, 제3 발명 이외의 특징에 의하면 상술한 것과 같이 해서 얻어진 압축진폭차분 데이터와 타이밍 데이터를 가변 길이(可變長)의 블럭 데이터로 엔코드해서 최종적인 압축 데이터로 하고 있으므로, 압축률을 더욱 높이는 것이 가능하다.
또한, 제3 발명에 의하면 압축대상의 신호중에 존재하는 변곡점이 표본점으로서 검출되어, 압축 해제측에 있어서의 보간연산에 의해 원래의 데이터를 재현하기 위해 최소한 필요한 점이 압축 데이터 중에 모두 포함된다. 따라서, 원래의 데이터로의 재현성을 높혀서 고품질의 재생 데이터를 얻을 수 있다.
또한, 제3 발명의 다른 특징에 의하면 적당한 값으로 사사오입 처리한 디지털 데이터를 미분해서 표본점을 검출하고 있으므로, 노이즈 성분이나 불필요한 신호성분의 위치를 표본점으로서 검출하지 않도록 할 수 있어, 정확한 위치만을 표본점으로서 확실하게 검출할 수 있다. 이것에 의해 압축 해제측에서 재생될 압축 해제 데이터에 관해, 압축전 원래의 데이터로의 재현성을 향상시킬 수 있다.
또한, 제3 발명의 다른 특징에 의하면 짝수배로 오버샘플링된 압축진폭차분 데이터를 각 표본점의 구획마다 그의 중간위치에서 부호반전하고 있으므로, 이 부호반전된 데이터 열에 다중적분 및 이동평균연산을 행할 때에 압축측에 있어서의 사사오입 처리 오차를 상쇄(相殺) 할 수 있음과 동시에 보다 원활한 진폭값이 변화하는 디지털 파형을 재생하는 것이 가능하게 된다.
또한, 제3 발명의 다른 특징에 의하면 압축 해제측에 있어서 다중적분의 처리를 각 표본점의 구획마다 행하도록 하고 있으므로, 적분에 의한 누적오차를 배제할 수 있어 보다 정확한 디지털 파형을 재생할 수 있다.
이하, 본 발명의 한 실시예를 도면을 기초로 해서 설명한다.
(제1 실시예)
도 1은 제1 실시예에 의한 압축방법을 설명하기 위한 도면이며, 압축대상이 되는 입력 아날로그 신호의 한 예를 나타내고 있다. 또한, 도 2는 본 실시예에 의한 압축 해제방법을 설명하기 위한 도면이다.
먼저, 도 1을 이용해서 압축처리에 대해서 설명한다. 본 실시예에 있어서는 입력 아날로그 신호(101) 중에서 미분절대값(신호의 경사)이 "0"을 포함한 소정값 이하가 되는 점 (이하, 이것을 표본점으로 칭함) (102a∼102f)를 검출한다. 그리고, 이것들 각 표본점(102a∼102f)에 있어서의 진폭을 아날로그-디지털 변환한 디지털 데이터 값과, 각 표본점(102a∼102f)이 나타나는 시간간격을 나타내는 타이밍 데이터 값을 구해서, 이 진폭 데이터 값과 타이밍 데이터 값의 조를 압축 데이터로서 전송 또는 기록한다.
도 1의 예에서는 각 표본점(102a∼102f)에 있어서의 디지털의 진폭 데이터 값으로서 "7, 3, 9, 1, 6, 3"이 구해져, 각 표본점(102a∼102f)이 나타나는 시각 T1-T2간, T2-T3간, T3-T4간, T4-T5간, T5-T6간의 각각의 시간간격을 나타내는 타이밍 데이터로서 "5, 7, 3, 3, 3"이 구해져 있다. 또한, 여기서 타이밍 데이터로서 나타내어질 숫자는 어떠한 샘플링 주파수를 기초로 한 클럭 수를 나타내고 있다.
시각(T1)의 시점에서는 표본점(102a)의 진폭 데이터 값 "7"과 그것보다 앞에서 표본점(도시하지 않음)이 검출된 시각으로부터의 시간간격을 나타내는 타이밍 데이터 값(도시하지 않음)이 얻어져 있으므로, 그것들 데이터 값의 조를 시각(T1)의 압축데이터로서 전송 또는 기록한다.
다음으로, 표본점(102b)이 검출된 시각(T2)의 시점에서는 그것보다 앞에서 표본점(102a)가 검출된 시각(T1)으로부터의 시간간격을 나타내는 타이밍 데이터 값 "5"와 표본점(102b)의 진폭 데이터 값 "3"이 얻어져 있으므로, 이들 데이터 값의 조(5, 3)를 시각(T2)의 압축 데이터로서 전송 또는 기록한다.
더욱이, 다음의 표본점(102c)이 검출된 시각( T3)의 시점에서는 그것보다 앞에서 표본점(102b)이 검출된 시각(T2)로부터의 시간간격을 나타내는 타이밍 데이터 값 "7"과 표본점(102c)의 진폭 데이터 값 "9"가 얻어져 있으므로, 이것들 데이터 값의 조(7, 9)를 시각(T3)의 압축 데이터로서 전송 또는 기록한다.
이하 같은 방법으로 해서 시각 T3-T4 간, T4-T5 간, T5-T6 간의 시간간격을 나타내는 타이밍 데이터 값과 시각(T4, T5, T6)에서 검출된 각 표본점(102d, 102e, 102f)의 진폭 데이터 값과의 조(3, 1), (3, 6), (3, 3)을, 각각 시각(T4, T5, T6)에 있어서의 압축 데이터로서 전송 또는 기록한다.
다음으로 도 2를 이용해서 상기 도 1과 같이 하여 압축한 데이터의 압축 해제처리를 설명한다. 도 1의 방식에 의해 입력 아날로그 신호(101)를 압축한 경우, 얻어질 압축 데이터는 (※,7) (5, 3) (7, 9) (3, 1) (3, 6) (3, 3)의 수치열로 된다. 더욱, ※은 도 1 중에는 값이 도시되어 있지 않음을 나타내는 것이다. 압축 해제측에는 여기에서 나타낸 순서에 따라서 압축 데이터가 입력된다.
압축 해제측에 있어서는 먼저, 최초로 입력될 진폭 데이터 값 "7"과 타이밍 데이터 값 "5"와의 2개의 데이터 값으로, 보간연산에 의해 파형(a1)의 데이터를 생성한다. 다음으로 상술한 타이밍 데이터 값 "5"와, 이어서 입력될 진폭 데이터 값 "3"과의 2개의 데이터 값으로, 보간연산에 의해 파형( a2)의 데이터를 생성한다.
다음으로, 상술한 진폭 데이터 값 "3"과 이어서 입력될 타이밍 데이터 값 "7"과의 2개의 데이터 값으로, 보간연산에 의해 파형(b2)의 데이터를 생성한다. 더욱이, 상술한 타이밍 데이터 값 "7"과, 그 위에 이어서 입력될 진폭 데이터 값 "9"로 보간연산에 의해 파형(b1)의 데이터를 생성한다. 이하, 같은 방법으로 순서적으로 입력될 진폭 데이터 값과 타이밍 데이터 값의 조합함으로써 파형(c1, c2, d2, d1, e1,e2)의 데이터를 순차적으로 생성한다.
이상과 같은 처리에 의해 파형(a1, b1, c1, d1, e1)이 연속된 디지털 신호 (도 2의 상단)와 파형(a2, b2, c2, d2, e2)이 연속된 디지털 신호 (도 2의 하단)가 생성된다. 그리고, 이와같이 해서 생성된 2개의 디지털 신호를 서로 가산해서 디지털-아날로그 변환하는 것에 의해 도 1에 나타낸 원래의 아날로그 신호를 재생한다.
도 3은 도 2에서 나타낸 시각(T1-T2)의 구간을 취출해서 나타낸 것으로 도 3a는 가산전의 2개의 파형(a1, a2)을 나타내고, 도 3b는 가산에 의해 재생한 합성파형(a1+a2)을 나타내고 있다.
도 3a에 있어서, D1은 시각(T1)에 있어서의 진폭 데이터 값(도 2의 예에서는 "7"), D2는 시각(T2)에 있어서의 진폭 데이터 값(도 2의 예에서는 "3"), T는 시각 T1-T2간의 시간간격을 나타내는 타이밍 데이터 값(도 2의 예에서는 "5"), t는 시각T1-T2간의 임의의 타이밍을 나타내고 있다.
도 3a에 나타내는 것과 같이, 시각(T1)에 있어서의 진폭 데이터 값(D1)과 시각 T1-T2간의 시간간격을 나타내는 타이밍 데이터 값(T)를 사용하여 시각 T1-T2간의 임의의 타이밍(t)를 변수로 해서, 즉 어떠한 샘플링 주파수를 기초로한 클럭에 따라 타이밍(t)의 값을 1씩 증가시켜 가면서 파형a1의 데이터를 보간연산에 의해 생성한다.
또한, 시각(T2)에 있어서의 진폭 데이터 값(D2)와 시각 T1-T2간의 시간간격을 나타내는 타이밍 데이터 값(T)를 사용하여, 같은 방법으로 타이밍(t)을 변수로 해서 파형(a2)의 데이터를 보간연산에 의해 생성한다.
그리고, 이렇게 해서 생성한 파형(a1, a2)의 데이터를 상기 타이밍(t)을 변수로 해서 가산하는 것에 의해 도 3b와 같은 파형을 합성한다. 이렇게 해서 압축되기 전의 원래의 아날로그 신호를 재현할 수 있다.
이하, 상술한 것과 같은 보간을 사용한 압축 해제처리에 의해 원래의 아날로그 신호를 재생할 수 있는 원리에 대해서 설명한다.
일반적으로, 이산적인 디지털 데이터로부터 연속적인 아날로그 신호를 얻기 위해서 이산적으로 입력되는 디지털 데이터의 사이를 보간하여 의사적(擬似的)으로 샘플링 주파수를 상승시키는 것이 행하여지고 있다. 통상, 이와 같은 데이터 보간은 소정의 표본화함수를 사용하여 행하여진다.
도 4에 표본화 함수의 예를 나타낸다. 도 4의 예에서는 t=0의 샘플링 포인트에서만 값이 "1"이 되고, 등간격의 다른 모든 샘플링포인트 (t=±1, ±2, ±3,±4, … )에서는 값이 전부 "0"으로 되어 있다.
도 5는, 이와 같은 표본화함수를 쓴 일반적인 데이터 보간의 동작을 설명하기 위한 도면이다. 도 5에 있어서, 등간격의 샘플링 포인트(t1, t2, t3, t4)의 각각에 있어서의 이산 데이터 값을 Y(t1), Y(t2), Y(t3), Y(t4)로 하여, 예를들어 샘플링 포인트 t2와 t3 사이의 소정위치t0(t2에서 거리a)에 대응한 보간값(y)을 구하는 경우를 생각한다.
일반적으로, 보간값(y)을 표본화함수를 사용하여 구하기 위해서는, 주어진 각 이산 데이터의 각각에 대해서 보간위치(t0)에 있어서의 표본화함수 값을 구하여, 이것을 사용하여 합성곱(컨벌루션) 연산을 행하면 된다. 구체적으로는 t1∼t4의 각 샘플링 포인트마다 표본화함수의 중심위치에 있어서의 피크 높이를 일치시켜서, 이 때의 각각의 보간위치(t0)에 있어서의 표본화함수의 값(×표시로 나타냄)을 구해서 그것들을 전부 가산한다.
이러한 보간처리를 시간경과와 함께 (타이밍 클럭의 증가와 함께) 보간위치(t0)을 순차적으로 이동시켜 가면서 행하는 것에 의해, 연속적으로 변화하는 보간값{y(t0)}를 순차적으로 구해 나간다. 이것에 의해 각 이산 데이터간을 원활하게 연결하는 연속된 아날로그 신호를 얻을 수 있다.
본 실시예는, 이와같은 데이터 보간처리를 응용한 것이다. 즉, 도 3a에 나타내는 것과 같이 시각(T2)에 있어서 이미 입력되어 있는 진폭 데이터 값{D1(=7)}과 타이밍 데이터 값{T(=5)}으로부터 제1 표본점(시각T1)에 있어서 "0"이외의 값을 취하는 표본화함수의 일부를 형성하는 파형(a1)을 구함과 동시에, 진폭 데이터 값{D2(=3)}과 타이밍 데이터 값{T(=5)}으로부터 제2 표본점(시각T2)에 있어서 "0"이외의 값을 취하는 표본화함수의 일부를 형성하는 파형(a2)을 구한다.
그리고, 이것들 파형(a1, a2)의 값을 시간경과와 함께 순차이동하는 보간위치(t)마다 가산하는 것에 의해, 이산 데이터(D1, D2) 간을 원활하게 연결하는 연속된 아날로그 신호를 얻는다.
또한, 여기서는 파형(a1, a2)의 데이터를 각기 구한 후에 그것들을 가산하도록 설명했지만, 시각(T2)의 시점에서 파형(a1, a2)를 생성해서 합성하기 위한 데이터가 전부 얻어져 있으므로, 소정의 연산식 등에 의해 한 번에 합성파형을 얻을 수 있도록 하는 것도 가능하다.
그런데, 본 실시예에서는 도 1에 나타낸 것과 같이, 압축측에 있어서 원활하게 변화하는 입력 아날로그 신호(101)를 그 미분 절대값이 소정값 이하가 되는 점의 시간간격으로 표본화하는 것에 의해 압축 데이터로서의 이산적인 데이터를 얻고 있다. 그때문에 이산 데이터가 얻어진 각각의 표본점 간격은 등간격이 되리라고는 할 수 없고, 많은 경우에는 일정하지 않은 간격이 된다(도 1의 예에서도, 각 표본점의 간격은 "5, 7, 3, 3, 3"으로 일정하지 않게 되어 있다).
거기에, 도 2에 나타내는 압축 해제측에서는, 예를들면 시각 T1-T2 간의 보간값을 구할 때에는 도3과 같이 그 시각(T1, T2)의 표본점간의 시간간격으로 표본화함수(a1, a2)만을 사용하여 상술한 것과 같은 합성곱(컨벌루션) 연산을 행하여, 표본점간의 시간간격이 이것과는 다른 기타 표본화함수(b1, b2, c1, c2, d1, d2, e1, e2)에 대해서는 이 합성곱(컨벌루션) 연산 때에 고려하지 않도록 한다.
또한, 예를들어 시각 T2-T3간의 보간값을 구할 때에는 그 시각(T2, T3)의 표본점간의 시간간격(=7)으로 표본화 함수(b1, b2)만을 사용하여 합성곱(컨벌루션) 연산을 행하여, 표본점간의 시간간격이 이것과는 다른 기타 표본화 함수(a1, a2, c1, c2, d1, d2, e1, e2)에 대해서는 이 합성곱(컨벌루션) 연산 때에 고려하지 않도록 한다. 기타 표본점간의 보간값을 구할 때에도 같은 방법으로 한다.
즉, 본 실시예의 압축압축 해제 시스템에서는 압축측에 있어서 원활하게 변화하는 입력 아날로그 신호(101)를 미분 절대값이 소정값 이하가 되는 일정하지 않은 시간간격을 표본화하는 것에 의해, 이산적인 진폭 데이터 값과 그것들의 일정하지 않은 시간간격을 나타내는 타이밍 데이터 값과를 압축 데이터로서 얻는다. 그리고, 압축 해제측에 있어서는 압축 데이터 중에 포함될 진폭 데이터 값과 타이밍 데이터 값에 따라서 압축측과 같은 일정하지 않은 시간간격의 이산 데이터 간을 상기 표본화 함수를 쓴 보간처리에 의해 연결된 연속적인 아날로그 신호를 생성한다.
다음으로, 상기 데이터 보간의 구체적인 처리 예에 대해서 이하에서 설명한다. 상술한 것과 같이, 예를들면 시각 T1-T2간의 보간값을 구할 때에는 시각(T1, T2)에 있어서의 각 진폭 데이터 값과 시각 T1-T2간의 시간간격을 나타내는 타이밍 데이터 값으로 구하여질 표본화 함수(a1, a2)만을 쓴다. 즉, 시각 T1-T2간에 있어서의 각 보간위치(t)에 있어서의 보간값을 구하기 위해서 필요한 데이터는 모두 시각(T2)의 시점에서 얻어져 있어, 이 시점에서 도 3b에 나타내는 것과 같은 원래의 아날로그 신호를 재생하는 것이 가능하다.
거기에, 본 실시예에서는 T1∼T6의 각 이산시각마다 2개의 진폭 데이터 값D1, D2와 그 시간간격을 나타내는 타이밍 데이터 값(T)이 얻어질 때마다, 그것들의 데이터 값을 사용하여 이하에 설명하는 것과 같은 보간연산식에 따라서 보간값을 산출하는 것에 의해 원래의 아날로그 신호를 순차적으로 재생한다. 도 6은, 이 보간연산식에 대해서 설명하기 위한 도면이다.
도 6에서 나타내는 것과 같이, 진폭 데이터 값(D1, D2)를 가지는 2개의 표본점간의 보간값은 보간위치(t)에 관하는 2개의 2차함수 x1, x2가 정중앙 시점에서 연속화한 함수에 의해 나타낼 수 있다. 즉, 본 실시예에서는 2개의 표본점간을 전반부와 후반부로 나누어서, 각각 2차함수 x1, x2를 사용하여 보간값을 계산한다.
여기서, 표본점간의 시간간격인 타이밍 데이터 값T는 홀수일 경우도 있고 짝수일 경우도 있어, 홀수일 경우에는 정중앙 시점에 보간위치(t)가 오지 않는 상태가 생긴다. 그때문에 본 실시예에서는 압축시에 2배의 오버샘플링을 실행하는 것에 의해 얻어질 타이밍 데이터 값이 항상 짝수가 되도록 하고 있다. 즉, 도 1에서 나타낸 5개의 타이밍 데이터 값 "5, 7, 3, 3, 3"은 실제로는 2배의 오버샘플링에 의해 "10, 14, 6, 6, 6"이라는 값으로 전송 또는 축적된다. 도 6에서는, 표본점간의 시간간격을 오버샘플링 된 후의 2T에 의해 나타내고 있다.
도6에 있어서 2개의 2차함수 x1, x2는 각각,
x1=D1+at2…(1)
x2=D2-a(t-2T)2…(2)
로 나타낸다. 또한, 이것들의 함수 x1, x2 는 연속하는 표본점의 정중앙 시점( T)에 있어서 연속적이기 때문에,
x1=x2 (t=T) …(3)
이다.
여기서, 식(3)에 식(1) 및 식(2)를 대입하면,
D1+aT2=D2-aT2…(4)
로 되어 이것을 a에 대해서 풀면
a=-(D1-D2)/2T2…(5)
로 된다. 따라서 이 식(5)를 식(1) 및 식(2)에 대입하는 것에 의해
x1=D1-{(D1-D2)/2T2}t2…(6)
x2=D2+{(D1-D2)/2T2}(2T-t)2…(7)
를 얻는다.
즉, 원래의 2배의 샘플링 주파수의 클럭에 따라서 순차로 증가될 보간위치(t)를 변수로 해서 상기 식(6) 및 식(7)의 연산을 행하는 것에 의해 원래의 아날로그 신호를 재생할 수 있다. 본 실시예에서는 이와 같은 보간연산처리를 진폭 데이터 값과 타이밍 데이터 값으로 이루어지는 신호열이 각 이산시각(T1∼T6)마다 입력되어짐에 따라서 순차적으로 행한다.
즉, 도 2의 예에 있어서 시각(T1, T2)에 있어서의 표본점의 진폭 데이터 값과 그 사이의 타이밍 데이터 값과가 입력된 시점에서, 그의 표본점간의 보간연산을행하여 원래의 아날로그 신호를 바로 재생한다. 더불어, 시각(T3)에 있어서의 표본점의 진폭 데이터 값과 표본점(T2-T3)간의 타이밍 데이터 값과가 입력된 시점에서, 그 사이의 보간연산을 행하여 원래의 아날로그 신호를 바로 재생한다. 이하, 같은 방법으로 순차적으로 처리를 행하여 간다.
이와 같이, 본 실시예에 있어서는 압축대상이 되는 아날로그 신호를 시간/주파수변환 하지 않고, 시간축상에서 그대로 압축·압축 해제할 수 있으므로 처리가 복잡하게 되지 않고, 구성을 간소화 할 수도 있다. 또한, 압축측으로부터 압축 데이터를 전송해서 압축 해제측에서 재생할 경우에는 시간축상에서의 간단한 보간연산에 의해 입력될 압축 데이터를 순차적으로 처리해서 재생할 수 있으므로 실시간 동작을 실현할 수 있다.
더욱이, 상기 식(6) 및 식(7)에 나타내는 보간연산처리는 로직회로 등의 하드웨어 구성에 의해서도 실현 가능하고, DSP(Digital Signal Processor) 혹은, 소프트웨어(ROM이나 RAM 등에 격납된 프로그램)에 의해서도 실현 가능하다.
다음으로, 상기 데이터 보간의 다른 처리예에 대해서 이하에서 설명한다. 여기에서는 연속하는 표본점의 각 진폭 데이터 값(D1, D2)와 그 사이의 타이밍 데이터 값(T)를 사용하여, 2배의 오버샘플링과 컨벌루션 연산을 행하는 것에 의해 보간값을 구하는 방법에 대해서 설명한다. 도 7은 도 2에 나타내는 시각 T1-T2 사이에 대해서 이 오버샘플링과 컨벌루션 연산을 적용했을 경우 (D1=7, D2=3, T=5)의 처리 결과를 나타내는 도면이다.
도 7에 있어서 제일 왼쪽의 줄( r1)에 있어서의 "4"라는 숫자는, 두 개의 진폭 데이터값(D1, D2)의 차분값(=D1-D2)이다. 이 "4"의 숫자가 세로방향으로 10개 늘어서 있는 것은 타이밍 데이터 값(T=5)의 2배의 수 분만큼 종속 접속된 도시하지 않은 D형 플립플롭 등에, 상기 진폭 데이터값(D1, D2)의 차분값이 1클럭 씩 순차적으로 지연되어 가면서 유지된 상태를 나타내고 있다.
또한, 왼쪽에서 두 번째 줄(r2)에 있어서의 수치열은 제1열( r1)의 각 샘플 값을 1클럭 분 움직여져 있는 결과를 나타내고 있다. 더더욱, 제3∼제5열 (r3, r4, r5)에 있어서의 각 수치열들은 제2열( r2)의 각 샘플 값을 더불어 1클럭 분 씩 순차적으로 움직여져 있는 결과를 나타내고 있다.
또한, 제6열( r6)에 있어서의 수치열은 제1∼제5열( r1∼r5)에 있어서의 수치열들을 대응하는 행간으로 가산한 결과, 즉 제1∼제5열( r1∼r5)에 있어서의 수치열들에 대해 5단의 컨벌루션 연산을 행한 결과를 나타내고 있다. 또한, 제7∼제10열( r7, r8, r9, r10)에 있어서의 각 수치열들은 제6열( r6)로 컨벌루션 연산을 행한 결과의 각 샘플값을 더불어 1클럭씩 순서적으로 물러난 결과를 나타내고 있다.
또한, 제11열 (r11)에 있어서의 수치열은 제6∼제10열( r6∼r10)에 있어서의 수치열들을 대응하는 행간으로 가산한 결과, 즉 제6∼제10열( r6∼r10)에 있어서의 수치열들에 대해 5단의 컨벌루션 연산을 행한 결과를 나타내고 있다. 또한, 제12열( r12)에 있어서의 수치열은 제11열( r11)로 컨벌루션 연산을 행한 결과의 각 샘플 값을 거듭 1클럭씩 움직여진 결과를 나타내고 있다.
더욱이, 제13열( r13)에 있어서의 수치열은 제11열 (r11)과 제12열( r12)에있어서의 수치열들을 대응하는 행간으로 가산한 결과를 나타내고 있다. 이 제13열 (r13)에 있어서의 가산으로 인해 얻어진 수치열을 Mt로 나타내고자 하면, 두 개의 진폭 데이터 값(D1, D2)의 사이를 보간하는 보간값 (SOUT)는
SOUT=D1-Mt(D1-D2)/(8T×T)
=7-Mt/50
로 나타낼 수 있다. 이 보간값( SOUT)을 플롯하면 도 7에 그래프로 나타내는 것처럼 되어, 도 1의 시각 T1-T2 사이와 같은 형태의 신호를 재생할 수 있다.
또한, 두 개의 진폭 데이터 값(D1, D2)의 대소 관계가 반대인 경우, 예를들면 D1=3, D2=7 일 경우는 2배의 오버샘플링과 컨벌루션 연산의 결과는 도 8에 나타내는 것과 같이 된다.
이와 같은 데이터 보간처리를 모든 표본점간에서 순차적으로 행하는 것에 의해 도 1에 나타낸 원래의 아날로그 신호를 재생할 수 있다. 더욱, 상기 도 7 및 도 8에 나타낸 연산은 데이터값을 1클럭씩 지연해 가면서 유지해 가기 위한 복수의 D형 플립플롭, 가산기 및 승산기를 적당하게 조합한 하드웨어 구성에 의해 실현하는 것이 가능하다.
다음으로, 이상으로 설명한 압축처리 및 압축 해제처리를 실현하기 위한 구성을 설명한다. 도 9는 본 실시예에 의한 압축장치의 구성예를 나타내는 블럭도이다.
도 9에 있어서 입력 아날로그 신호(101)는 표본점의 검출을 행하기 쉽게 하기 위해서 LPF(103)에 의해 노이즈가 제거된 후, A/D 변환기(104)에 의해 디지털 데이터로 변환된다. 이 때에 A/D 변환기(104)는 소정 주파수(예를들어 음성신호의 경우 44.1KHz)의 입력 클럭 CK0로부터 PLL(Phase Locked Loop) 회로(105)에 의해 생성된 2배의 주파수 (88.2KHz)의 클럭 CK1에 따라서 A/D 변환처리를 실행한다.
평균치 보간 데이터 생성부(106)는 A/D 변환기(104)로부터 출력된 디지털 데이터를 2배의 주파수로 오버샘플링한다. 그리고, 이것에 의해 얻어진 복수의 샘플값들에 대해, 연속하는 샘플값 사이에서 그 평균값들을 각각 연산하여 보간 데이터를 생성한다. 즉, 입력된 디지털 데이터를 오버샘플링하면 같은 값이 두 개씩 연속된 수치열을 얻을 수 있다. 이와같은 수치열에 대해, 연속하는 같은 값을 사용하여 평균값을 계산하면 값은 그대로가 되며, 연속하는 다른 값을 사용하여 평균값을 계산하면 해당 다른 값끼리의 중간값이 얻어지게 된다.
도 10은 이 평균값 보간 데이터 생성부(106)의 구성예를 나타내는 블럭도이다. 도 10에 있어서 D형 플립플롭(201)은 도 9의 A/D 변환기(104)로부터 출력된 디지털 데이터를 기준이 되는 입력 클럭 CK0에 따라 유지된다. 또한, 그 후단에 연속된 D형 플립플롭(202)은 D형 플립플롭(201)으로부터 출력된 디지털 데이터를 상기 입력 클럭 CK0의 2배의 주파수의 클럭 CK1에 따라 유지된다.
그리고, 가산기(203)는 상기 두 개의 D형 플립플롭(201, 202)에 유지된 디지털 데이터를 가산하여, 그의 결과를 1/2승산기(204)에 출력한다. 1/2가산기(204)는 가산기(203)에서의 가산결과를 1/2배 하여, 그 결과를 D형 플립플롭(205)에 2배의 주파수의 클럭 CK1에 따라 유지한다. 그리고, 그 D형 플립플롭(205)에 유지한 디지털 데이터를 2배의 오버샘플링에 따른 보간 데이터로서 출력한다.
이와같은 평균값 보간 데이터 생성부(106)를 설치하는 것에 의해 미분 절대값이 소정값 이하로 되는 표본점간의 시간간격을 나타내는 타이밍 데이터 값이 항상 짝수가 되도록 할 수 있어, 이것이 짝수 또는 홀수의 경우에 따라 구분해서 처리를 하는 것과 같은 복잡한 처리를 하지 않아도 좋도록 된다. 또한, 단지 오버샘플링을 할 뿐만 아니라 연속하는 샘플값의 평균값을 계산해서 출력하도록 하고 있으므로, 계단형의 데이터 파형을 원래의 아날로그 파형에 보다 가까운 원활한 파형으로 할 수 있다. 따라서, 후술하는 압축 해제장치에 의해 압축 해제처리를 행했을 때의 원래의 아날로그 신호의 재현성을 향상시킬 수 있다.
이 평균값 보간데이터 생성부(106)에 의해 오버샘플링 된 디지털 데이터는 타이밍 합성기(107) 및 압축처리부(108)에 입력된다. 타이밍 합성기(107)는 평균값 보간데이터 생성부(106)에 의해 공급될 디지털 데이터를 미분하여 표본점을 검출한다. 그리고, 그 검출점의 타이밍을 나타내는 샘플링 클럭과 각 표본점간의 시간간격을 나타내는 타이밍 데이터 (2배의 주파수 클럭 CK1의 수)를 구해서 출력한다.
도 11은 이 타이밍 합성기(107)의 구성예를 나타내는 블럭도이다. 도 11에 있어서 미분기(301)는 평균값 보간데이터 생성부(106)에 의해 입력된 디지털 데이터를 미분한다. 또한, 표본점 검출부(302)는 상기 미분기(301)에 의해 미분 된 결과를 기초로 디지털 데이터의 미분 절대값이 소정값 이하가 되는 표본점을 검출한다.
타이밍 생성부(303)는 한 개의 표본점이 검출된 후, 다음의 표본점이 검출될때까지 공급될 2배의 주파수 클럭 CK1의 수를 카운트해서, 이것을 타이밍 데이터로서 출력함과 동시에 각 표본점의 검출점 타이밍을 나타내는 샘플링 클럭을 출력한다. 또한, 이 타이밍 생성부(303)는 후술하는 독출 클럭도 생성하여 출력한다.
또한, 상기 압축처리부(108)는 이 타이밍 합성기(107)로부터 출력될 샘플링 클럭에 따라서 해당하는 표본점위치의 디지털 데이터만을 취해서 진폭 데이터로서 출력한다. FIFO 메모리(109)는 압축처리부(108)로부터 출력될 각 표본점의 진폭 데이터와 타이밍 합성기(107)로부터 출력될 각 표본점간의 시간간격을 나타내는 타이밍 데이터의 조를 샘플링 클럭에 따라 거두어들여, 독출 클럭에 따라 순차적으로 읽어낸다. 여기에서 읽어내어진 진폭 데이터와 타이밍 데이터의 조가 압축 데이터로서 전송 또는 기록된다.
도 12는 본 실시예에 의한 압축 해제장치의 구성예를 나타내는 블럭도이다. 도 12에 있어서 클럭 발생기(401)는 기준이 되는 입력 클럭 CK0로 2배의 주파수 클럭 CK1을 생성한다. 또한, 타이밍발생기(402)는 압축 데이터 중에 포함될 타이밍 데이터를 받아서 압축측에서 검출된 표본점간과 같은 일정하지 않은 시간간격을 나타내는 독출클럭을 상기 2배 주파수 클럭 CK1으로부터 생성한다.
D형 플립플롭(403)은 압축 데이터 중에 포함될 진폭 데이터를 상기 타이밍 발생기(4020에 의해 생성된 독출클럭에 따른 타이밍으로 순차적으로 입력하여 유지하여, 압축 해제처리부(404)에 출력한다. 이 압축 해제처리부(404)에는 상기 D형 플립플롭(403)의 입출력단의 진폭 데이터 즉, 어떠한 독출클럭의 타이밍으로 D형 플립플롭(403)에 유지되어 있는 진폭 데이터와 다음의 독출클럭의 타이밍으로 D형플립플롭(403)에 유지되어야 할 진폭 데이터(연속하는 두 개의 표본점에 있어서의 두 개의 진폭 데이터)가 입력되어 있다.
압축 해제처리부(404)는 이와같이 입력될 두 개의 진폭 데이터와 타이밍 발생기(402)로부터 입력될 타이밍 데이터를 사용하여, 상술의 식(6) 및 식(7)에 기초한 보간연산 아니면, 도 7 및 도 8에 예를 나타낸 컨벌루션 연산에 의해 각 표본점간의 디지털 보간 데이터를 생성한다. 그리고, 이와같이 해서 생성한 디지털 보간 데이터를 D/A 변환기(405)에 의해 아날로그 신호로 변환한 후, LPF(406)를 통해서 재생 아날로그 신호로서 출력한다.
이상 자세하게 설명한 것과 같이 본 실시예에 있어서는 압축측에 있어서, 원활하게 변화하는 입력 아날로그 신호를 미분 절대값이 소정값 이하가 되는 일정하지 않은 시간간격으로 표본화하는 것에 의해 이산적인 진폭 데이터값과 그것들을 일정하지 않은 시간간격을 나타내는 타이밍 데이터 값을 압축 데이터로서 얻는다. 그리고, 압축 해제측에 있어서는 압축 데이터 중에 포함될 진폭 데이터 값과 타이밍 데이터 값과에 따라, 압축측과 같은 일정하지 않은 시간간격으로 이산 데이터를 읽어내어, 그 사이를 보간처리에 의해 연결된 연속적인 아날로그 신호를 출력하도록 하고 있다.
따라서, 시간축상의 아날로그 신호를 압축·압축 해제할 때에 주파수변환을 행하지 않고 시간축상의 그대로서 처리를 행할 수 있다. 그에따라 압축 및 압축 해제의 처리가 복잡하게 되지 않고, 그에 따른 구성을 간소화 할 수도 있다. 또한, 압축측에서 압축 데이터를 전송해서 압축 해제측에서 재생하는 경우에 있어서 시간축상에서의 간단한 보간연산에 의해 압축 해제측에 입력될 압축 데이터를 순차적으로 처리하여 재생할 수 있으므로 실시간 동작을 실현할 수 있다.
또한, 본 실시예에서는 디지털 데이터의 미분 절대값이 소정값 이하가 되는 점을 표본점으로서 검출하여, 검출한 각 표본점에 있어서의 진폭 데이터 값과 각 표본점이 나타날 시간간격을 나타내는 타이밍 데이터 값으로부터 압축 데이터를 생성해서 전송 또는 기록하고 있으므로, 표본점의 데이터만을 압축 데이터로서 얻을 수가 있어 높은 압축률을 달성할 수 있다.
또한, 본 실시예에 의하면 압축대상의 신호 중에 존재하는 변곡점이 표본점으로서 검출되어, 압축 해제측에 있어서의 보간연산에 의해 원래의 데이터를 재현하기 위해서 최소한으로 필요한 점이 압축 데이터 중에 전부 포함된다. 따라서, 원래의 데이터로의 재현성을 높여서 고품질적인 재생 데이터를 얻을 수 있다.
더욱이, 상기 제1 실시예에서는 압축대상의 입력신호가 아날로그 신호일 경우에 대해서 설명하고 있지만, 입력신호가 디지털 신호더라도 상관없다. 이 경우에는 도 9에 나타낸 LPF(103)와 A/D 변환기(104), 및 도 12에서 나타낸 D/A 변환기(405)와 LPF(406)는 필요하지 않다.
또한, 상기 제1 실시예에서는 평균값 보간데이터 생성부(106)에 있어서 2배의 오버샘플링을 행하고 있지만 짝수배이라도 2배로 한정되는 것은 아니다.
(제2 실시예)
다음으로, 본 발명의 제2 실시예를 도면을 기초로 설명한다. 제2 실시예는 디지털 데이터를 입력해서 압축하기 위한 것이다. 본 실시예의 압축장치에서는 먼저, 압축대상으로서 입력된 디지털 데이터에 대해 n배 오버샘플링과 이동평균연산, 또는 합성곱연산 (이하에서는 컨벌루션 연산이라 칭함)을 행하는 것에 의해 이산적인 데이터 사이를 보간에 의해 연결된 보다 원활한 데이터를 얻는다.
다음으로, 이와같이 해서 얻은 일련의 데이터 중에서 전후의 위치와 비교해서 미분 절대값이 작게되는 위치 즉, 미분 절대값이 극소가 되는 점을 표본점으로 하여 검출한다. 그리고, 검출한 각 표본점에 있어서의 진폭 데이터값과 각 표본점이 나타날 시간간격을 나타내는 타이밍 데이터 값을 구하여 이 진폭 데이터값과 타이밍 데이터 값의 조를 압축 데이터로서 전송 또는 기록한다.
도 13은 상기의 압축방식을 표현하는 본 실시예에 의한 압축장치의 전체구성 예를 나타내는 블럭도이다.
도 13에 나타내는 것과 같이, 본 실시예의 압축장치는 오버샘플 회로(1)와, PLL(Phase Locked Loop) 회로(2)와, 미분기(3)와, 압축 데이터 생성부(4)와, 틀림정정 부호화부(5)와, 데이터 메모리(6)로 구성된다.
상기 오버샘플 회로(1)는 압축대상으로서 입력될 디지털 데이터에 대해서 n배의 오버샘플링과 컨벌루션 연산을 행하는 것에 의해, 이산 데이터 사이를 채우는 디지털의 보간값을 구하는 것이다. 이 도 13에서 나타내는 예에서는, 압축대상의 데이터로서 44.1KHz의 주파수로 샘플링 된 음성 데이터를 입력하여, 이것을 8배의 주파수(352.8KHz)로 오버샘플링함과 동시에 컨벌루션 연산을 실행한다. 그리고, 이것에 의해 얻어진 일련의 오버샘플 데이터를 미분기(3) 및 압축 데이터 생성부(4)로 출력하고 있다.
PLL회로(2)는 기준 주파수(44.1KHz)의 입력 클럭 CLK로 8배 주파수(352.8KHz)의 클럭 8CLK를 생성하여, 그것을 상술의 오버샘플 회로(1) 이 외에, 압축 데이터 생성부(4), 오류정정 부호화부(5) 및 데이터 메모리(6)에 공급하는 것이다. 오버샘플 회로(1), 압축 데이터 생성부(4), 오류정정 부호화부(5) 및 데이터 메모리(6)는 이 8배 주파수의 클럭 8CLK에 동기(同期)해서 동작한다.
미분기(3)는 상기 오버샘플 회로(1)에서 생성된 일련의 오버샘플 데이터를 각 샘플링 포인트마다 미분해서 그 절대값을 얻어 압축 데이터 생성부(4)에 출력한다.
압축 데이터 생성부(4)는 상기 오버샘플 회로(1)로부터 공급될 일련의 오버샘플 데이터 중에서, 전후의 위치와 비교해서 미분 절대값이 작게되는 위치를 표본점으로서 검출한다. 그리고, 검출한 각 표본점에 있어서의 진폭 데이터값과 각 표본점이 나타날 시간간격을 나타내는 타이밍 데이터 값의 조를 오류정정 부호화부(5)에 출력한다. 이 압축 데이터 생성부(4)는 또한, 각 표본점의 검출점의 타이밍을 나타내는 타이밍 클럭을 구해서 데이터 메모리(6)에 출력한다.
오류정정 부호화부(5)는 전송로상 혹은, 메모리상의 디지털 데이터가 잡음 등으로 변화해서 잘못이 발생하더라도, 변화한 비트를 검출해서 바르게 정정할 수 있도록 하기 위해서 상기 압축 데이터 생성부(4)로부터 공급된 데이터에 오류정정 부호를 부가한다. 그리고, 이것에 의해 얻어진 데이터를 압축 데이터로서 전송로상 또는 데이터 메모리(6)에 출력한다.
데이터 메모리(6)는 압축 데이터를 축적하는 기록매체이며, 오류정정 부호화부(5)에 의해 생성된 압축 데이터를 압축데이터 생성부(4)로부터의 타이밍 클럭에 따라서 기록한다. 또한, 외부로부터 주어질 독출요구신호(REQ)에 따라서 축적되어 있는 압축 데이터를 읽어내어서 출력한다.
또한, 도 14는 상기의 압축방식에 대응한 압축 해제방식을 실현하는 본 실시예에 의한 압축 해제장치의 전체구성 예를 나타내는 블럭도이다.
도 14에 나타내는 것과 같이 본 실시예의 압축 해제장치는 오류정정 회로(11)와, 클럭 발생기(12)와, 타이밍 발생기(13)와, D형 플립플롭(14)과, 압축 해제 처리부(15)와, D/A변환기(16)와, 저역 통과 필터(LPF)(17)를 갖추어서 구성된다.
상기 오류정정 회로(11)는 도 13의 압축장치에서 생성된 압축 데이터를 입력하여, 이것에 부가되어 있는 오류정정 부호를 사용하여 전송로상이나 메모리상에서 변화한 비트를 검출해서 잘못을 정정하는 처리를 행한다.
클럭발생기(12)는 기준 주파수의 입력 클럭 CLK로 8배의 주파수의 클럭 8CLK를 생성하여, 그것을 타이밍 발생기(13), 압축 해제처리부(15) 및 D/A 변환기(16)에 공급한다. 또한, 타이밍 발생기(13)는 압축 데이터 중에 포함될 타이밍 데이터를 오류정정 회로(11)로부터 받아서 압축측에서 검출된 표본점간과 같은 일정하지 않은 시간간격을 나타내는 독출 클럭을 상기 8배 주파수의 클럭 8CLK로 생성하여, 그것을 오류정정 회로(11) 및 D형 플립플롭(14)에 공급한다.
D형 플립플롭(14)은 압축 데이터 중에 포함될 진폭 데이터를 상기 타이밍 발생기(13)에 의해 생성된 독출 클럭에 따른 타이밍으로 오류정정 회로(11)에서 순차적으로 수신하여 유지하여 압축 해제처리부(15)에 출력한다. 이 압축 해제처리부(15)는 상기 D형 플립플롭(14)의 입출력단의 진폭 데이터 즉, 어떠한 독출 클럭의 타이밍으로 D형 플립플롭(14)에 유지되어 있는 진폭 데이터와 다음의 독출 클럭의 타이밍으로 D형 플립플롭(14)에 유지되어야만 할 진폭 데이터(연속하는 두 개의 표본점에 있어서의 두 개의 진폭 데이터)가 입력 되어 있다.
압축 해제처리부(15)는 이와 같이 입력될 두 개의 진폭 데이터와 타이밍 발생기(13)에 의해 입력될 타이밍 데이터를 사용하여 후술하는 보간연산 등에 의해 각 표본점간의 디지털 보간 데이터를 생성한다. D/A 변환기(16)는 이와같이 해서 생성된 디지털 보간 데이터를 아날로그 신호로 변환한다. 또한, LPF(17)는 상기 D/A 변환기(16)로부터 출력된 아날로그 신호에 대해서 저역통과 필터의 처리를 행하는 것에 의해 노이즈를 제거하여 재생 아날로그 신호로서 출력한다.
다음으로, 상기 도 13에 나타낸 압축장치 내의 오버샘플 회로(1)의 구성 및 동작에 대해서 다음에서 자세하게 설명한다.
또한, 이산적인 디지털 데이터 간의 보간값을 구하는 본 실시예의 오버샘플링 수법을 설명하기 전에, 종래부터 행하여지고 있던 일반적인 보간방법에 대해서 처음으로 설명해 둔다.
이산적인 디지털 데이터의 사이를 보간해서 보다 연속적인 데이터를 얻기 위한 데이터 보간처리는, 예를들어 도 4에 나타내는 것과 같은 sinc함수라고 지칭되는 표본화 함수를 사용하여 도 5에서 설명한 것처럼 행하여진다. 이 sinc함수는 표본화 주파수를 f로 할 경우에 sin(πft)/(πft)로 정의 되는 것이며, t=0의 샘플링포인트에서만 값이 1이 되고 등간격의 다른 모든 샘플링 포인트(t=±1, ±2, ±3, ±4, … )에서는 값이 모두 0이 된다.
본 실시예의 오버샘플 회로(1)에서는 이와같은 sinc함수를 쓴 일반적인 데이터 보간수법과는 달리, 두 개의 이산 데이터 간의 보간값을 구할 때에 이 두 개의 이산 데이터를 포함하는 n개의 이산 데이터의 값에 따른 진폭을 가지는 기본파형의 디지털 데이터를 각각 오버샘플링 함과 동시에 얻어진 n개의 데이터 끼리를 컨벌루션 연산에 의해 합성하는 것에 의해, 상기 두 개의 이산 데이터간을 채우는 보간값을 디지털적으로 구한다.
도 15는, 본 실시예에서 쓰여지는 디지털 기본파형의 설명도이다. 도 15에 나타내는 디지털 기본파형은 오버샘플링에 의한 데이터 보간을 행할 때에 사용할 표본화 함수의 기본이 되는 것이다. 이 디지털 기본파형은 기준 주파수의 1클럭(CLK)마다 데이터 값을 -1, 1, 8, 8, 1, -1로 변화시켜서 형성한 것이다.
이하에, 도 16을 인용해서 도 15와 같이 정규화된 디지털 기본파형에 따른 이산적인 데이터 값(-1, 1, 8, 8, 1, -1)/8에서, n배의 오버샘플링과 컨벌루션 연산에 의해 보간값을 생성할 경우를 예로 해서, 본 실시예에 의한 데이터 보간의 원리를 설명한다. 또한, 도 16에서는 도면의 형편상 4배의 오버샘플링을 행할 예에 대해서 나타내고 있지만, 도 13의 오버샘플 회로(1)에서는 실제로 8배의 오버샘플링을 행하고 있다.
도 16에 있어서 제일 왼쪽 줄에서 나타내고 있는 일련의 수치열은 원래의 이산 데이터 값(-1, 1, 8, 8, 1, -1)/8에 대해 4배의 오버샘플링을 행한 값이다. 또한, 제일 왼쪽에서 오른쪽을 향해 4번째 줄까지의 수치열은 제일 왼쪽의 줄에서 나타내고 있는 수치열을 한 개씩 아랫방향으로 시프트해 나간 것이다. 도 16의 열방향은 시간축을 나타내고 있어, 수치열을 아랫방향으로 시프트한다고 하는 것은, 제일 왼쪽 줄에서 나타내는 수치열을 서서히 지연시켜 가는 것에 대응한다.
즉, 왼쪽에서 2번째 줄의 수치열은 제일 왼쪽 줄에서 나타내는 수치열을 4배 주파수의 클럭 4CLK의 1/4 위상분 만큼 움직여진 수치열이라는 것을 나타낸다. 또한, 왼쪽에서 3번째 줄의 수치열은, 왼쪽에서 2번째 줄에서 가르키는 수치열을 4배 주파수의 클럭 4CLK의 1/4 위상분 만큼 움직여진 수치열, 왼쪽에서 4번째의 줄의 수치열은 왼쪽에서 3번째 줄에서 나타내는 수치열을 4배 주파수의 클럭 4CLK의 1/4 위상분 만큼 거듭 움직여진 수치열이라는 것을 나타낸다.
또한, 왼쪽에서 5번째 줄의 수치열은 1∼4번째 줄의 각 수치열을 대응하는 행끼리 가산해서 4로 나눈 값이다. 이 왼쪽에서 5번째 줄까지의 처리에 의해 4상의 컨벌루션 연산을 동반하는 4배의 오버샘플링이 디지털적으로 실행된다.
상기 5번째 줄에서 오른쪽을 향해서 4열분의 수치열(왼쪽에서 5∼8열의 수치 열)은 5번째 줄에서 나타내고 있는 수치열을 한 개씩 아랫방향으로 시프트해 나간 것이다. 또한, 왼쪽에서 9번째의 수치열은 5∼8번째 줄의 각 수치 열을 대응하는 행끼리 가산해서 4로 나눈 값이다. 이 왼쪽에서 9번째 줄까지의 처리에 의해 4상의 컨벌루션 연산을 동반하는 4배의 오버샘플링이 디지털적으로 2회 실행된다.
또한, 왼쪽에서 10번째 줄의 수치열은 9번째 줄에서 나타내는 수치열을 한 개 아랫방향으로 시프트한 것이다. 또한, 왼쪽에서 11번째 줄(제일 오른쪽 줄)의수치열은 9번째 줄의 수치열과 10번째 줄의 수치열과를 대응하는 행끼리 가산해서 2로 나눈 값이다. 이 제일 오른쪽의 수치열이 목적의 보간값이 되는 것이다.
이 도 16의 제일 오른쪽 열에 나타나는 최종적으로 얻어진 수치열을 그래프화 한 것이 도 17이다. 도 17에 나타내는 것과 같은 파형을 가지는 함수는 모든 영역에 있어서 1회 미분 가능함으로써, 횡축에 따른 표본위치(t)가 1에서 33의 사이에 있을 때에 0 이외의 유한한 값을 가지고, 그 이외의 영역에서는 값이 전부 0이 되는 함수이다.
또한, 함수의 값이 국부적인 영역에서 0 이외의 유한의 값을 가지고, 그 이외의 영역에서 0이 되는 경우를 「유한대」라고 칭한다.
또한, 도 17의 함수는 t=17의 표본점에서만 극대값이 되고, t=1, 9, 25, 33의 4개의 표본점에 있어서 값이 0이 된다는 특징을 가지는 표본화 함수이며 원활한 파형의 데이터를 얻기 위해 필요한 샘플점은 전부 통과한다.
이와 같이, 도 17에 나타내는 함수는 표본화 함수로서 전 영역에 있어 1회 미분 가능하고 더욱이 표본위치 t=1, 33에 있어서 0에 수렴하는 유한대의 함수이다. 따라서, 도 17의 표본화 함수를 사용하여 각 이산 데이터에 기초한 중합(重合)을 행하는 것에 의해 이산 데이터간의 값을 1회 미분 가능한 함수를 사용하여 보간하는 것이 가능하다.
종래에 사용되어지고 있던 sinc 함수는 t=±∞의 표본점에서 0으로 수렴하는 함수이기 때문에, 보간값을 정확하게 구하려고 하면 t=±∞까지의 각 이산 데이터에 대응해서 보간위치에서의 sinc 함수의 값을 계산하여, 이것을 사용하여 합성곱(컨벌루션) 연산을 행할 필요가 있었다. 이것에 대해 본 실시예에서 사용되는 도 17의 표본화 함수는 t=1, 33의 표본점에서 0으로 수렴하기 때문에 t=1∼33의 범위내에서의 이산 데이터만을 고려하면 된다.
따라서, 어떠한 한 개의 보간값를 구할 경우에는 한정된 n개의 이산 데이터의 값만 고려하면 되어, 처리량을 큰 폭으로 삭감할 수 있다. 더우기, t=1∼33의 범위 외의 각 이산 데이터에 대해서는, 본래 고려했어야 하지만 처리량이나 정도 등을 고려해서 무시하는 것이 아니라, 이론적으로 고려할 필요가 없기 때문에 절단오차는 발생하지 않는다. 따라서, 본 실시예의 데이터 보간 수법을 이용하면 정확한 보간값을 얻을 수가 있어, 이 정확한 보간값을 이용해서 압축처리를 한 경우에 압축 해제측에서 재생될 데이터에 관해서 압축전의 원래의 데이터에의 재현성을 향상시킬 수 있다.
도 18은 상기 도 13에 나타낸 오버샘플 회로(1)의 구성예를 나타내는 블럭도이다. 도 18에 나타내는 것과 같이, 본 실시예의 오버샘플 회로(1)은 정규화 데이터 기억부(21)와, 위상 시프트부(22)와, 복수의 디지털 승산기(23a∼23d)와, 복수의 디지털 가산기(24a∼24c)를 갖추어서 구성된다. 또한, 도 18 중에 나타나는 PLL회로(2)는 도 13에서 나타낸 것과 같은 것이다.
상기 정규화 데이터 기억부(21)는, 도 16의 제일 오른쪽 줄에서 나타내는 것과 같이 정규화 된 데이터 열을 4상(相) 움직여서 기억하고 있다. 또한, 도 16에서는 도 15에 나타낸 디지털 기본파형에 대해서 4배의 오버샘플링을 행하는 예를 나타내고 있지만, 도 13의 오버샘플 회로(1)에서는 8배의 오버샘플링을 실시하고 있으므로, 이 정규화 데이터 기억부(21)에는 디지털 기본파형이 8배로 오버샘플링 되어서 컨벌루션 연산에 의해 정규화된 데이터 열이 기억된다. 이 정규화 기억부(21)에 기억된 4상(相)의 정규화 데이터는 PLL회로(2)로부터 공급될 클럭 CLK, 8CLK에 따라서 독출되어, 각각 4개의 디지털 승산기(23a∼23d)의 한 쪽의 입력단자에 공급된다.
또한, 위상 시프트부(22)는 압축대상으로서 입력될 이산 데이터의 위상을 4상(相) 움직여진 위상 시프트처리를 행한다. 이 위상 시프트부(22)에 의해 생성된 4상의 이산 데이터는 PLL회로(2)로부터 공급될 클럭 CLK, 8CLK에 따라서 출력되어, 각각 4개의 디지털 승산기(23a∼23d)의 다른 쪽의 입력단자에 공급된다.
상기 4개의 디지털 승산기(23a∼23d)는 상기 정규화 데이터 기억부(21)로부터 출력될 4상(相)의 정규화 데이터와 상기 위상 시프트부(22)에 의해 출력될 4상의 이산 데이터를 각각 승산한다. 이들의 후단에 접속된 3개의 디지털 가산기(24a∼24c)는 상기 4개의 디지털 승산기(23a∼23d)에서의 승산결과를 전부 가산해서 그 가산결과를 도 13의 미분기(3) 및 압축 데이터 생성부(4)에 출력한다.
상기 도 18에 나타낸 오버샘플 회로(1)의 구성에 있어서 정규화 데이터 기억부(21)에 의해 본 발명의 기억수단이 구성된다. 또한, 위상 시프트부922), 디지털 승산기(23a∼23d) 및 디지털 가산기(24a∼24c)에 의해 본 발명의 합성수단이 구성된다.
이 도 18에 나타내는 구성에서 밝혀진 것과 같이, 본 실시예에서는 도 16에 나타낸 것과 같은 컨벌루션 연산에 의해 얻어질 제일 오른쪽 줄의 정규화 데이터를미리 ROM 등의 정규화 데이터 기억부(21)에 기억해 놓는다. 그리고, 이 정규화 데이터를 압축대상으로서 입력될 이산 데이터 값에 따른 진폭으로 변조해, 이것에 의해 얻어진 데이터를 4상의 컨벌루션 연산에 의해 합성해서 출력하도록 하고 있다.
압축대상으로서 입력될 이산 데이터의 진폭값을 도 15에 나타낸 디지털 기본파형에 대해 승산해, 이것에 의해 얻어진 데이터 값에 대해 도 16에 나타낸 것과 같은 컨벌루션 연산을 압축시에 행하도록 하여도 좋지만, 오버샘플 회로(1)를 도 18과 같이 구성한 경우에는 실제 압축시에, 도 16의 컨벌루션 연산 그 자체를 행할 필요없이 압축처리를 고속화 할 수 있다는 장점을 가진다.
도 19는 상기 오버샘플 회로(1)에 입력될 디지털 데이터의 한 예를 나타내는 도면이며, 도 20은 이 디지털 데이터에 대해 오버샘플 회로(1)에서 데이터 보간처리를 행한 후의 출력 데이터를 나타내는 도면이다. 이것들로부터 밝혀지는 것과 같이, 본 실시예의 오버샘플 회로(1)를 쓰는 것에 의해 원래의 이산적인 디지털 데이터로부터 보다 원활하게 값이 변화하는 연속적인 오버샘플 데이터를 얻을 수 있다.
다음으로, 이와같이 오버샘플링 된 디지털 데이터에 대해, 도 13의 미분기(3) 및 압축 데이터 생성부(4)에 의해 압축 데이터를 생성하는 처리, 및 도 14의 타이밍 발생기(13), D형 플립플롭(14) 및 압축 해제처리부(15)에 의해 압축 데이터를 압축 해제하는 처리에 대해서 다음에서 자세하게 설명한다.
먼저, 압축처리부터 설명한다. 상술한 것처럼 도 13의 미분기(3)는 오버샘플 회로(1)에서 생성된 일련의 오버샘플 데이터를 각 샘플링 포인트마다 미분하여, 그 절대값을 얻어 압축 데이터 생성부(4)에 출력한다.
도 21은 미분기(3)의 한 구성예를 나타내는 도면이다. 도 21에서 나타내는 것과 같이 본 실시예의 미분기(3)는 연속하는 두 개의 샘플링 포인트 데이터간의 차분 절대값을 연산하는 차분 절대값 회로에 의해 구성된다.
도 21에 있어서 차분기(31, 32)는 노드(a, b)로부터 입력될 연속하는 두 개의 샘플링 포인트에 있어서의 데이터의 차분을 각각 연산한다. 즉, 차분기(31)는 차분 a-b, 차분기(32)는 차분 b-a를 각각 연산해서, 그 결과를 각각 OR회로(33, 34)에 출력한다. 이것들의 차분기(31, 32)는 연산된 차분값이 음수의 값이 될 때에는 차분값 이 외에 borrow로서 "1"의 값을 출력한다.
상기 OR회로(33)는 상기 차분기(31)에서 연산된 차분값과 borrow 출력과의 논리화(論理和)를 얻어, 그 결과를 AND회로(35)에 출력한다. 또하나의 OR회로(34)는 상기 차분기(32)에서 연산된 차분값과 borrow 출력과의 논리화(論理和)를 얻어, 그 결과를 AND회로(35)에 출력한다. AND회로(35)는 상기 두 개의 OR회로(33, 34)로부터의 출력 논리곱을 얻어, 그 결과를 노드(c)에 출력한다. 또한, 상기 차분기(31)의 borrow 출력을 노드(d)에 출력하여 상기 차분기(32)에서 연산된 차분값을 노드(e)에 출력한다.
이것에 의해 노드(c)에는 연속하는 두 개의 샘플링 포인트에 있어서의 데이터의 차분 절대값 |a-b|가 출력되어, 노드(d)에는 노드(b)의 데이터 값 쪽이 노드(a)의 데이터 값보다 클 때에는 "1"의 값이 출력되어, 노드(e)에는 노드(a, b)의 데이터간의 차분값 b-a가 출력된다.
또한, 도 21에는 설명의 형편상 노드(a, b, c, e)의 데이터 선을 1비트 분만을 나타내고 있지만 실제로는 데이터의 비트 수만큼 갖추어지고 있다.
또한, 도 13의 압축 데이터 생성부(4)는 오버샘플 회로(1)로부터 공급될 일련의 오버샘플 데이터 가운데서 전후의 위치와 비교해서 미분 절대값이 작게 되는 위치를 표본점으로서 검출한다. 그리고, 검출한 각 표본점에 있어서의 진폭 데이터값과, 각 표본점이 나타날 시간간격을 나타내는 타이밍 데이터 값의 조를 오류정정 부호화부(5)에 출력한다.
본 실시예에서는 상기 미분기(3)로 연산된 미분 절대값을 기초로해서 표본점을 검출할 때에 표본점인가 아닌가의 판정에 여유를 주기 위해서 미분기(3)로 연산된 차분 절대값의 하위 수 비트를 버리고 판정한다. 예를들면 하위 1비트를 버리면 실제로 산출된 차분 절대값이 0∼1의 범위는 모두 차분 절대값이 0이라고 보고 판정을 행할 수 있다. 또한, 하위 2비트를 버리면 실제로 산출된 차분 절대값이 0∼3의 범위는 모두 차분 절대값이 0이라고 보고 판정을 행할 수 있다. 이와 같이 하는 것에 의해 잡음 등의 미소변동에 의한 영향을 피해, 불필요한 점을 표본점으로서 검출하지 않도록 하는 것에 의해 압축률을 높일 수 있다.
도 22는 상기 도20에 나타낸 오버샘플 회로(1)의 출력 데이터에 대해 미분기(3)에서 미분 절대값을 연산한 결과를 나타내는 도면이다. 상술한 바와 같이 압축 데이터 생성부(4)에서는 이 도 22에 나타내는 미분 절대값의 출력 데이터를 기초로 해서 전후의 위치와 비교해서 미분 절대값이 작게 되는 위치, 즉 미분 절대값의 극소값이 나타나는 위치 (도 22에서 화살표로 가르키는 위치)를 표본점으로서 검출한다. 또한, 제일 처음과 마지막에 나타나는 극소값은 데이터 값이 정확하지않다는 점도 생각할 수 있으므로 이것들은 표본점으로서 채용하지 않는다.
그런데, 표본점의 검출에 여유를 주기 위해서 미분 절대값의 하위 수 비트를 버린 경우에는 같은 값의 극소값이 연속해서 두 개 발생할 수도 있다. 이 때에는 도 21에 나타내는 미분기(3)의 노드(d)에 출력될 차분기(31)의 borrow 값을 기초로 해서 미분값의 양수 음수의 극성을 판단해서, 미분값의 극성이 변화하는 쪽을 표본점으로서 검출한다.
또한, 미분값의 극성이 변화하지 않을 경우에는 도 23과 같이, 같은 값이 연속하는 두 개의 샘플링 포인트(B, C)의 전후에 위치하는 샘플링 포인트(A, D)의 미분 절대값의 대소관계를 보고, 그 값이 작은 쪽에 가까운 점을 표본점으로서 검출한다. 도 23의 예에서는 샘플링 포인트(D)의 미분 절대값이 샘플링 포인트(A)의 미분 절대값보다 작으므로, 이 샘플링 포인트(D)에 가까운 쪽의 샘플링 포인트(C)를 표본점으로서 검출하게 된다.
또한, 표본점을 검출하기 위한 처리로서는 오버샘플링 회로(1)로부터 공급될 데이터를 1회 미분한 후 얻어진 미분 절대값을 더욱 미분 하는 것에 의해 2중 미분을 실행하여, 그 2중 미분값의 극성이 마이너스 또는 제로에서 플러스로 변화하는 직전의 점을 표본점으로서 추출하도록 해도 된다. 또한, 이와 같이 2중 미분값의 극성을 기초로 해서 추출한 각 점 가운데, 1회 미분 절대값이 일정값보다 작게 되는 점만을 정규의 표본점으로서 검출하는 것과 같은 처리를 행하도록 하여도 된다.
즉, 1회 미분에 의해 얻어질 미분 절대값의 극소점에 있어서는 그 1회 미분 절대값을 거듭 미분한 2중 미분값의 극성은 반드시 마이너스에서 플러스로 변화한다. 따라서, 오버샘플링 데이터의 2중 미분값을 구해서 그 극성이 마이너스에서 플러스로 변화하는 점 (2중 미분값이 제로인 점을 포함)을 검출하면, 1회 미분 절대값의 극소점을 정확하게 검출할 수 있게 됨과 동시에, 같은 값의 극소점이 연속해서 두 개 발생하는 경우에도 그 한 쪽을 표본점으로서 확실하게 검출할 수 있다. 또한, 1회 미분 절대값이 일정값보다 작게 되는 점만을 정규의 표본점으로서 검출하도록 하면 불필요한 점을 표본점으로서 검출하지 않도록 할 수 있어 압축률을 높일 수 있다.
도 24는 상기와 같이 2중 미분을 하는 것에 의해 표본점을 검출하기 위한 구성예를 나타내는 블럭도이며, 도 13 중의 미분기(3) 및 압축 데이터 생성부(4)의 구성예를 나타내고 있다.
도 24에 나타내고 있는 것과 같이, 미분기(3)는 제1 미분부(41)와, 사사오입 연산부(42)와, 제2 미분부(43)를 갖추고 있다. 또한, 압축 데이터 생성부(4)는 극성변화점 검출부(44)와, 임계치 처리부(45)와, 데이터 생성부(46)를 갖춘다.
상기 제1 미분부(41)는 도 13의 오버샘플 회로(1)로부터 공급될 오버샘플 데이터를 각 샘플링 포인트마다 미분하여, 그 절대값을 구해서 출력한다. 사사오입 연산부(42)는 제1 미분부(41)에서 연산된 1회 미분 절대값의 하위 수 비트를 버리는 처리를 행한다. 예를들면 상기 1회 미분 절대값을 8로 나눗셈하는 것에 의해 하위 3 비트를 버리는 것에 의해 잡음 등의 미소변동에 의한 영향을 제거할 수 있도록 한다. 이 사사오입 연산부(42)로부터 출력된 데이터는 제2 미분부(43) 및 압축데이터 생성부(4)내의 임계값 처리부(45)에 공급된다.
제2 미분부(43)는 상기 사사오입 연산부(42)에 의해 사사오입이 행하여진 1회 미분 절대값을 거듭 각 샘플링 포인트마다 미분한다. 이 제2 미분부(43)에 의해 구하여진 2중 미분값 및 그 극성을 나타내는 borrow 값은 압축데이터 생성부(4)내의 극성변화점 검출부(44)에 공급된다.
상기 극성변화점 검출부(44)는 미분기(3)내의 제2 미분부(43)로부터 공급된 2중 미분값의 극성이 마이너스에서 플러스로 변화하기 직전의 점, 예를들면 극성이 마이너스의 2중 미분값이 연속해서 얻어지고 있을 경우에 있어서 제일 마지막에 마이너스가 되는 점, 혹은 2중 미분값을 제로가 되는 점을 표본점의 후보로서 추출한다. 극성이 마이너스의 2중 미분값이 연속해서 얻어지지 않을 경우에 있어서 해당 마이너스 점을 표본점의 후보로서 거듭 추출해도 된다.
임계치 처리부(45)는 상기 극성변화점 검출부(44)에서 추출된 표본점의 후보에 대해서 사사오입 연산부(42)로부터 공급될 1회 미분 절대값과 미리 정하여진 임계치를 비교하여, 1회 미분 절대값이 임계치보다 작게 되는 점만을 정규의 표본점으로서 검출하여 데이터 생성부(46)에 전달한다.
데이터 생성부(46)는 이상과 같이 해서 검출한 각 표본점에 있어서의 진폭 데이터 값을 오버샘플 회로(1)로부터 공급될 오버샘플 데이터로부터 얻는 것과 동시에 각 표본점이 나타나는 시간간격을 나타내는 타이밍 데이터 값을 PLL회로(2)로부터 공급될 8배 주파수의 클럭 8CLK를 사용하여 생성한다. 그리고, 그들 진폭 데이터 값과 타이밍 데이터 값의 조를 압축 데이터로서 출력한다.
또한, 상기 도 24의 예에서는 사사오입 연산부(42)에서 사사오입 연산이 실시된 1회 미분 절대값을 사용하여 임계치 처리를 행하고 있지만, 제1 미분부(41)에서 구하여진 사사오입 연산이 실시되기 전의 1회 미분 절대값을 사용하여 임계치 처리를 행하도록 하여도 된다. 또한, 상기 도 24에서는 2중 미분값의 극성이 마이너스에서 플러스로 변화하기 직전의 점을 표본점으로서 추출하고 있지만, 마이너스에서 플러스로 변화한 직후의 점을 표본점으로서 추출하도록 하여도 된다. 또한, 도 24에 나타내는 임계치 처리는 2중 미분을 행하는 것에 의해 표본점을 검출하는 경우에 한정되지 않고, 1회의 미분만으로 표본점을 검출할 경우에 적용하여도 된다.
도 25는 상기 도 22에 나타낸 예를 기초로 해서 출력될 압축 데이터(각 표본점에 있어서의 진폭 데이터 값과 타이밍 데이터 값의 조)를 나타내는 도면이다. 이와같이 해서 출력된 압축 데이터는, 예를들면 신호종류를 판정하기 위한 판정 데이터(2비트)가 부가되어짐과 동시에 오류정정 부호가 부가된다. 그 후, 가변 길이 부호화 등의 압축처리를 거듭 행하여도 된다.
제2 실시예에 의한 압축의 원리 및 압축 해제의 원리 또한, 도 1 및 도 2에 의해 나타내어진다. 단지, 본 실시예의 경우 도 1에 나타내어질 파형의 데이터는 상기 오버샘플 회로(1)에서의 데이터 보간처리에 의해 연속화된 오버샘플 데이터에 상당한다. 또한, 도 2에 나타내어질 파형의 데이터는 압축 해제처리에 의해 원래의 오버샘플 데이터를 재생하는 과정에서 얻어지는 데이터에 상당한다.
먼저, 도 1을 이용해서 압축처리에 대해서 설명한다. 본 실시예에서는 입력된 오버샘플 데이터(101) 가운데서 미분 절대값이 극소가 되는 표본점(102a∼102f)을 검출한다. 그리고, 이것들 각 표본점(102a∼102f)에 있어서의 진폭의 디지털 데이터 값과 각 표본점(102a∼102f)이 나타나는 시간간격을 나타내는 타이밍 데이터 값을 구해, 이 진폭 데이터 값과 타이밍 데이터 값의 조를 압축 데이터로서 도 13의 오류정정 부호화부(5)에 출력한다.
다음으로, 도 2를 이용해서, 상기 도 1과 같이 하여 압축한 데이터의 압축 해제처리를 설명한다. 도 1의 압축방식에 의해 입력 데이터(101)를 압축한 경우, 얻어질 압축 데이터는 (※,7) (5, 3) (7, 9) (3, 1) (3, 6) (3, 3)의 수치 열로 된다. 또한, ※은 도 1 중에는 값이 도시되어 있지 않음을 나타내는 것이다. 또한, 압축 해제측의 타이밍 발생기(13) 및 D형 플립플롭(14)에는 여기서 나타낸 순서에 따라서 데이터가 입력된다.
도 14의 압축 해제처리부(15)에 있어서는, 먼저 오류정정 회로(11)로부터 최초로 출력될 진폭 데이터 값 "7"과 타이밍 데이터 값 "5"의 2개의 데이터 값으로부터 보간연산에 의해 파형 (a1)의 데이터를 생성한다. 다음으로 상술한 타이밍 데이터 값 "5"와, 이어서 입력될 진폭 데이터 값 "3"의 2개의 데이터 값으로부터 보간연산에 의해 파형(a2)의 데이터를 생성한다.
다음으로, 상술한 진폭 데이터 값 "3"과 이어서 입력될 타이밍 데이터 값 "7"의 2개의 데이터 값으로부터 보간연산에 의해 파형(b2)의 데이터를 생성한다. 또한, 상술한 타이밍 데이터 값 "7"과, 그 위에 이어서 입력될 진폭 데이터 값 "9"로부터 보간연산에 의해 파형(b1)의 데이터를 생성한다. 이하, 같은 방법으로 순차적으로 입력될 진폭 데이터 값과 타이밍 데이터 값의 조합으로 파형(c1, c2,d2, d1, e1,e2)의 데이터를 순차적으로 생성한다.
이상과 같은 처리에 의해 파형(a1, b1, c1, d1, e1)이 연속화된 디지털 데이터 (도 2의 상단)와 파형(a2, b2, c2, d2, e2)가 연속화된 디지털 데이터 (도 2의 하단)가 생성된다. 그리고, 압축 해제처리부(15)는 이와같이 해서 생성된 2개의 디지털 데이터를 서로 가산하여 D/A변환기(16)에 출력하여 디지털-아날로그 변환하는 것에 의해 도 1에 나타낸 오버샘플데이터(101)에 대응한 원래의 아날로그 신호를 재생한다.
도 2의 상단에 나타내어지는 디지털 데이터와 하단에 나타내어지는 디지털 데이터를 합성해서 행하는 데이터 보간의 처리로서는 예를들면, 상기 도 6에서 설명한 처리를 적용하는 것이 가능하다.
또한, 제2 실시예에서는 압축시에 8배의 오버샘플링을 실행하고 있으므로, 표본점간의 시간간격인 타이밍 데이터 값은 홀수로 되는 일 없이 항상 짝수가 된다(도 6의 횡축이 2T라는 것에 대응하고 있다). 즉, 도 1에 나타낸 5개의 타이밍 데이터 값 "5, 7, 3, 3, 3"은, 실제로는 8배의 오버샘플링에 의해 "40, 56, 24, 24, 24" 이라는 값으로서 전송 또는 축적된다.
타이밍 데이터 값(T)이 홀수일 경우에는 표본점의 정중앙 시점에 보간위치(t)가 오지 않는 상태가 발생하므로, 타이밍 데이터 값이 짝수인가 홀수인가에 의해 처리를 구분해야할 경우가 필요하다. 그러나, 본 실시예의 경우 표본점간의 시간간격을 나타내는 타이밍 데이터 값이 항상 짝수가 됨으로, 이것이 짝수인가 홀수인가에 의해 처리를 구분해야 하는 것과 같은 복잡한 처리를 행하지 않아도된다.
다음으로, 상기 데이터 보간의 다른 처리예에 대해서 다음에서 설명한다. 여기에서는 연속하는 표본점의 각 진폭 데이터 값(D1, D2)과 그 사이의 타이밍 데이터 값(T)를 사용하여, 두 배의 오버샘플링과 컨벌루션 연산을 행하는 것에 의해 보간값을 구하는 방법에 대해서 설명한다. 도 26은 도 25에 나타낸 압축 데이터의 제일 처음의 두 개의 표본점간에 대해서 이 오버샘플링과 컨벌루션 연산을 적용한 경우 (D1=29.5, D2=24.4, T=6) 의 처리결과를 나타내는 도면이다.
도 26a에 있어서, 제일 왼쪽 줄에 있어서의 "29.5"라는 숫자는 첫번째 진폭 데이터(D1)의 값이다. 그 "29.5"의 숫자와 "0"의 숫자가 세로방향으로 전부 12개 줄지어 있는 것은 타이밍 데이터 값 T=6의 2배수만큼 종속접속된 도시하지않은 D형 플립플롭 등에, 상기 진폭 데이터 값(D1)이 1클럭씩 순차적으로 지연되어 가면서 유지된 상태를 나타내고 있다. 또한, 왼쪽에서 제2∼제6 열에 있어서의 각 수치열은 제1 열에 나타나는 수치열을 1클럭씩 순차적으로 움직여간 결과를 나타내고 있다.
또한, 제7열에 있어서의 수치열은 제1∼제6열에 있어서의 수치열을 대응하는 행끼리 가산해서 6으로 나눈 결과, 즉 제1∼제6열에 있어서의 수치열에 대해 6상의 컨벌루션 연산을 행한 결과를 나타내고 있다. 또한, 제8∼제12열에 있어서의 각 수치열은 제7열로 컨벌루션 연산을 행한 결과의 수치열을 더욱 1클럭씩 움직여간 결과를 나타내고 있다.
또한, 제13열에 있어서의 수치열은 제7∼제12열에 있어서의 수치열을 대응하는 행끼리 가산해서 6으로 나눈 결과, 즉 제7∼제12열에 있어서의 수치열에 대해 6상의 컨벌루션 연산을 행한 결과를 나타내고 있다. 이 제일 오른쪽의 제13열에 있어서의 수치열이 구하는 보간 곡선(도 2의 예로 말하자면, 표본화함수 a1)가 된다.
이 도 26a에서 나타내는 순서와 같은 방법으로 해서, 상기 표본화함수(a1)과 같은 구간의 표본화함수(a2)를 같은 타이밍 데이터 값 T(=6)와 또 한 개의 진폭 데이터 값 D2(=24.4)을 사용하여 산출한다. 그리고, 각각의 연산결과의 합을 구하는 것에 의해 도 26b에 나타내는 것과 같이, 그 구간에서 최종적으로 구해지는 보간 곡선을 얻는다. 이와 같은 데이터 보간처리를 모든 표본점간에 걸쳐서 순차적으로 행하는 것에 의해, 원래의 오버샘플링 데이터를 재현한다. 더욱이, 도 26a에 나타내는 연산은 데이터 값을 1클럭씩 지연하면서 유지하기위한 복수의 D형 플립플롭, 가산기 및 승산기를 적절하게 조합시킨 하드웨어 구성에 의해 실현하는 것이 가능하다.
또한, 데이터 보간연산의 다른 처리예로서 도 7에서 설명한 방법을 이용해도 된다.
도 27은, 도 25에 나타낸 압축 데이터로부터 재현한 오버샘플 데이터를 나타내는 도면이다.
이 도 27에서 나타내는 압축 해제에 의해 얻어진 오버샘플 데이터와 도 20에서 나타낸 압축전의 원래의 오버샘플 데이터를 비교해 보면 명백하듯이, 본 실시예의 압축 해제처리에 의해 원래의 오버샘플 데이터와 거의 동등한 데이터를 재현할 수 있다.
도 14에 나타내는 압축 해제장치에서는 이와같이 해서 재현한 오버샘플 데이터를 D/A 변환기(16)에 입력해서 디지털 아날로그 변환하지만, D/A 변환전의 디지털 데이터는 도 27에 나타내는 것처럼 이미 연속화된 원활한 신호이다. 따라서 종래의 D/A 변환기처럼 디지털 필터를 사용하여 의사적(疑似的)으로 샘플링 주파수를 상승시키는 처리를 행할 필요없이, 단순히 D/A변환만으로도 출력될 아날로그 신호의 품질을 단적으로 향상시킬 수 있다.
이상 자세하게 설명한 것과 같이, 제2 실시예에 있어서는 압축측에 있어서, 입력될 이산적인 디지털 데이터에 대해서 오버샘플링과 컨벌루션 연산을 행하여 원활하게 변화하는 연속적인 데이터를 생성하여, 얻어진 오버샘플 데이터를 그 미분 절대값이 극소가 되는 일정하지 않은 시간간격으로 표본화하는 것에 의해, 이산적인 진폭 데이터 값과 그것들의 일정하지 않은 시간간격을 나타내는 타이밍 데이터 값을 압축 데이터로서 얻는다. 그리고, 압축 해제측에 있어서는 압축 데이터 중에 포함될 진폭 데이터 값과 타이밍 데이터 값에 따라서 압축측과 같은 일정하지 않은 시간간격으로 이산 데이터를 읽어내서 그 사이를 보간처리에 의해 연결된 연속적인 데이터를 출력하도록 하고 있다.
따라서, 시간축상의 아날로그 신호를 압축·압축 해제할 때에 주파수 변환을 행하지 않고 시간축상의 그대로서 처리를 행할 수 있다. 그에 따라 압축 및 압축 해제의 처리가 복잡하게 되지 않고, 그에 따른 구성을 간소화할 수도 있다. 또한, 압축측으로부터 압축 데이터를 전송해서 압축 해제측에서 재생하는 경우에 있어서, 시간축상에서의 간단한 보간연산에 의해 압축 해제측에 입력될 압축 데이터를 순서적으로 처리하여 재생할 수 있으므로 실시간 동작을 실현할 수 있다.
또한, 본 실시예에서는 디지털 데이터의 미분 절대값이 극소가 되는 점을 표본점으로서 검출하여, 검출한 각 표본점에서의 진폭 데이터값과 각 표본점이 나타나는 시간간격을 나타내는 타이밍 데이터 값으로 압축 데이터를 생성해서 전송 또는 기록하고 있으므로, 표본점의 데이터만을 압축 데이터로서 얻을 수가 있어 높은 압축률을 달성할 수 있다.
또한, 본 실시예에 의하면 압축대상의 신호 중에 존재하는 변곡점이 표본점으로서 검출되어, 압축 해제측에 있어서의 보간연산에 의해 원래의 데이터를 재현하기 위해서 최소한 필요한 점이 압축 데이터 중에 전부 포함된다. 따라서, 원래의 데이터로의 재현성을 높여서 고품질적인 재생 데이터를 얻을 수 있다.
더욱이, 본 실시예에서는 디지털 데이터에 대해서 오버샘플링과 컨벌루션 연산을 실행할 때에 디지털 기본파형으로부터 생성될 함수는 유한의 표본위치에서 값이 0에 수렴하는 유한 표본화함수이며, 1회 미분가능한 함수이기 때문에 어떠한 한 개의 보간값을 구할 경우에는 한정된 수의 이산 데이터의 값만을 고려하면 되어, 처리량을 큰 폭으로 삭감할 수 있다. 더욱이, 절단오차가 발생하지 않기 때문에 정확한 보간값을 얻을 수 있어, 이 보간값을 사용하여 압축처리를 한 경우에 압축 해제측에서 재생될 데이터에 관해, 압축전 원래의 데이터로의 재현성을 향상시킬 수 있다.
또한, 상기 제2 실시예에 나타낸 컨벌루션 연산은 단지 예일 뿐이며, 본 발명은 이것에 한정되지 않는다.
또한, 상기 제2 실시예에서는 디지털 기본파형을 -1, 1, 8, 8, 1, -1로 하고 있지만 디지털 기본파형은 이 예에 한정되는 것은 아니다. 즉, 얻어질 보간함수가 전영역에 있어서 1회 미분 가능하며, 또한 유한개의 표본위치에 있어서 0에 수렴하는 유한 함수가 되면 어떠한 파형이라도 된다. 예를들면, 양쪽에 해당하는 부분의 가중치를 -1이 아니라 1 또는 0으로 하여도 된다. 또한, 중간에 해당하는 부분의 가중치를 8 이 외의 값으로 하여도 된다. 어떻게 하더라도 양호한 곡선보간을 실현하는 것이 가능하다.
또한, 도 14의 압축 해제처리부(15)에서 행하는 보간연산으로서 도 15에 나타낸 디지털 기본파형에 기초한 도 16과 같은 컨벌루션 연산을 행하도록 하여도 된다. 이 경우에는 컨벌루션 연산이라는 디지털 처리만으로도 연속적인 보간값이 얻어지기 때문에, 이것을 D/A 변환한 결과는 원활한 아날로그 신호로 된다. 이것에 의해 LPF(17)을 생략할 수가 있어 필터에 의한 위상특성의 열화를 억제할 수 있다는 이점을 가진다.
(제3 실시예)
이하, 본 발명의 제3 실시예를 도면을 기초로 하여 설명한다.
상기 제1 및 제2 실시예는 시간축상의 처리로, 동시에 테이블을 이용한 가변 클럭장의 보간방식을 채용한 것이다. 이것에 대해 이하에 서술하는 제3 실시예는 테이블을 이용하지 않고 보다 간단하게 압축·압축 해제처리를 행할 수 있도록 한 것이다.
제3 실시예에서는 먼저, 압축대상의 신호로서 아날로그 신호를 입력할 경우에는 그 입력된 아날로그 신호를 A/D 변환해서 디지털 데이터로 변환한다. 그리고, 제1 값 및 제2 값을 사용하여, A/D 변환된 디지털 데이터를 사사오입 처리를 행한다. 제1 값과 제2 값은 같은 값이라도 좋지만, 제1 값보다 제2 값 쪽을 크게 하는 것이 보다 바람직하다.
또한, 상기 제1 값으로 사사오입된 디지털 데이터를 각 샘플링 포인트마다 1회 미분해서 그 미분값의 극성이 변화하는 포인트를 표본점으로서 검출한다. 그리고, 검출한 각 표본점에 있어서의 압축진폭 데이터로서, 상기 제2 값으로 사사오입된 디지털 데이터를 구함과 동시에, 각 표본점이 나타날 시간간격을 나타내는 타이밍 데이터를 구한다. 더욱이, 얻어진 압축진폭 데이터끼리의 차분 데이터를 구해 이 압축진폭 차분 데이터와 타이밍 데이터의 조를 압축 데이터로서 전송 또는 기록한다.
한편, 상기와 같이 생성된 압축 데이터의 압축 해제측에서는 압축 데이터(압축진폭 차분 데이터와 타이밍 데이터의 조) 중의 압축진폭 차분 데이터를 짝수배 주파수의 클럭에 따라서 오버샘플링한다. 그리고, 이 오버샘플링 한 압축진폭 차분 데이터를 타이밍 데이터에 의해 나타내어질 각 표본점의 구획마다 그 중간위치에서 부호반전하여, 이것에 의해 얻어진 데이터 열에 대해서 각 표본점의 구획마다 다중적분을 행한 후, 이동평균연산 혹은 합성곱연산(컨벌루션 연산)을 행한다.
이것에 의해 각 표본점의 구간마다 독립한 원활한 파형의 압축진폭 데이터가 얻어진다. 다음에 이와 같이 해서 얻은 압축진폭 데이터와 상술의 타이밍 데이터를 사용하여 압축측에 있어, 제2 값으로 사사오입 연산된 비트수만큼 배수화하는 처리를 포함하는 보간연산을 행하는 것에 의해, 각 구간 마다의 진폭 데이터끼리 원활하게 연결되는 보간 데이터를 생성한다. 더욱이 생성된 보간 데이터를 필요에 따라서 D/A 변환해서 아날로그 신호로 변환하여 출력한다.
도 28은 상기의 압축방식을 실현하는 제3 실시예에 의한 압축장치의 전체 구성예를 나타내는 블럭도이다.
이 도 28에서는 예를들면 44.1KHz의 샘플링 주파수(이것을 기준 주파수로 한다)로 샘플링된 디지털 데이터를 압축대상의 데이터로서 입력하는 경우에 대해서 나타내고 있다. 여기에서 입력될 디지털 데이터는, 예를들면 16비트의 부호부착 디지털 데이터이다. 이하에서는 디지털 데이터의 한 예로서 음성신호를 압축할 경우에 대해서 설명한다.
또한, 여기에서는 압축대상의 데이터로서 디지털 데이터를 직접 입력하고 있지만, 아날로그 신호를 입력하도록 하여도 된다. 이 경우에는 압축장치의 입력단에, 예를들면 LPF나 A/D 변환기가 갖추어진다. 즉, 입력 아날로그 신호는 표본점의 검출을 행하기 쉽게 하기 위해서 LPF에 의해 노이즈가 제거된 후, A/D 변환기에 의해 디지털 데이터로 변환된다.
도 28에 나타내는 것과 같이, 본 실시예의 압축장치는 타이밍 발생기(111)와, 진폭 발생기(112)와, 사사오입 연산부(113)와, 차분연산부(114)와, 엔코우더(115)와, 데이터 메모리(116)(옵션)을 갖추어서 구성되어 있다.
타이밍 발생기(111)는 입력될 디지털 데이터를 각 샘플링 포인트 마다 1회 미분하여, 그 미분값의 극성의 변화에 따라서 표본점을 검출한다. 그리고, 그 검출점의 타이밍을 나타내는 타이밍펄스(TP)와 각 표본점간의 시간간격을 나타내는 타이밍 데이터(기준 주파수의 클럭 CK의 수)를 구해서 각각 출력한다. 또한, 이 타이밍 발생기(111)는 데이터 메모리(116)의 독출클럭을 포함하는 각종 클럭도 생성해서 출력한다.
또한, 진폭 발생기(112)는 기준주파수의 클럭 CK에 따라서 샘플링되어 입력되는 각 샘플링 포인트의 디지털 데이터의 가운데서, 상술한 타이밍 발생기(111)로부터 출력될 타이밍펄스(TP)에 의해 나타내어질 타이밍에 해당하는 표본점위치의 디지털 데이터만을 취출하여, 그것을 각 표본점의 진폭 데이터로서 출력한다.
도 29는 상기 타이밍 발생기(111) 및 진폭 발생기(112)의 동작원리를 설명하기 위한 도면이다. 더욱이, 타이밍 발생기(111) 및 진폭 발생기(112)에 입력될 데이터는 디지털 데이터이지만, 도 29에서는 설명을 위해 디지털 데이터의 파형을 아날로그적으로 나타내고 있다.
본 실시예에 있어서는 압축대상으로서 입력된 디지털 데이터(501) 가운데서 미분값의 극성이 변화하는 점 및 미분값이 제로인 점(502a∼502f)을 표본점으로서 검출한다. 그리고, 이들 각 표본점(502a∼502f)에 있어서의 진폭 데이터 값과, 각 표본점(502a∼502f)이 나타날 시간간격을 나타내는 타이밍 데이터 값을 구해서 다음 단에 출력한다.
도 29의 예에서는 각 표본점(502a∼502f)에 있어서의 디지털의 진폭 데이터 값으로서 "D0, D1, D2, D3, D4, D5"가 구해져, 각 표본점(502a∼502f)이 나타날 시각 t0-t1간, t1-t2간, t2-t3간, t3-t4간, t4-t5간의 각각의 시간간격을 나타내는타이밍 데이터로서 "T1, T2, T3, T4, T5"가 구해져 있다.
시각(t0)의 시점에서는 표본점(502a)의 진폭 데이터 값 "D0"와 그 것보다 전의 표본점 (도시하지 않음)이 검출된 시각으로부터의 시간간격을 나타내는 타이밍 데이터 값(도시하지 않음) 등이 얻어져 있으므로, 이것들 데이터 값의 조를 시각(t0)의 데이터로서 출력한다.
다음으로, 표본점(502b)이 검출된 시각(t1)의 시점에서는, 그것보다 전의 표본점(502a)가 검출된 시각(t0)으로부터의 시간간격을 나타내는 타이밍 데이터 값 "T1"과 표본점(502b)의 진폭 데이터 값 "D1"이 얻어져 있으므로, 이들 데이터 값의 조(T1, D1)를 시각(t1)의 데이터로서 출력한다.
더욱이, 다음의 표본점(502c)이 검출된 시각(t2)의 시점에서는 그것보다 전의 표본점(502b)이 검출된 시각(t1)으로부터의 시간간격을 나타내는 타이밍 데이터 값 "T2"와 표본점(502c)의 진폭 데이터 값 "D2"가 얻어져 있으므로, 이것들 데이터 값의 조(T2, D2)를 시각(t2)의 데이터로서 출력한다.
이하 같은 방법으로 해서 시각 t2-t3간, t3-t4간, t4-t5간의 시간간격을 나타내는 타이밍 데이터 값과 시각(t3, t4, t5)에서 검출된 각 표본점(502d, 502e, 502f)의 진폭 데이터 값의 조(T3, D3), (T4, D4), (T5, D5)를 각각 시각(t3, t4, t5)에 있어서의 데이터로서 출력한다.
도 30은 상기 타이밍 발생기(111)의 구성예를 나타내는 블럭도이다. 도 30에 있어서 사사오입 연산부(117)는 압축대상의 데이터로서 입력된 디지털 데이터에 대해서, 제1 값(N1)으로 사사오입 연산(제1 값 N1을 이용한 나눗셈)을 행한다. 예를들면, 사사오입 연산부(117)는 입력될 디지털 데이터를 8 혹은 16으로 사사오입 처리를 행한다.
미분기(118)는 사사오입 연산부(117)에 의해 사사오입된 디지털 데이터를 1회 미분한다. 이 때에 미분기(118)는 44.1KHz의 입력 클럭 CK가 주어질 때 마다, 즉 기준주파수를 기초로 하는 각 샘플링 포인트마다 디지털 데이터의 미분을 행한다. 미분값은 예를들면, 어떤 입력 클럭 CK의 타이밍으로 입력된 현재의 데이터를 시간적으로 하나 전의 클럭의 타이밍으로 입력된 데이터로부터 감산하는 것에 의해 구해진다.
또한, 표본점 검출부(119)는 미분기(118)에 의해 산출된 미분값을 기초로 해서 디지털 데이터의 미분값의 극성이 변화하는 점을 표본점으로서 검출한다. 예를들면, 표본점 검출부(119)는 미분값의 극성이 양수에서 음수, 또는 음수에서 양수로 변화하는 점 및 미분값이 0이 되는 점을 검출한다. 그리고, 미분값의 극성이 양수에서 음수, 또는 음수에서 양수로 변화하는 점에 관해서는 그 극성이 변화하기 직전의 점을 표본점으로서 검출한다. 한편, 미분값이 0이 되는 점에 관해서는 그 점 자체를 표본점으로서 검출한다. 또한, 미분값이 0이 되는 점이 두 개 이상 연속해서 나타날 경우에는, 예를들면 그 양단의 위치를 표본점으로서 검출한다.
타이밍 생성부(120)는 한 개의 표본점이 검출되어지고 나서, 다음의 표본점이 검출될 때 까지 공급될 클럭 CK의 수를 카운트하여, 이것을 타이밍 데이터(T)로서 출력함과 동시에 각 표본점의 검출점의 타이밍을 나타내는 타이밍펄스(TP)를 출력한다. 또한, 이 타이밍 생성부(120)는 독출 클럭을 포함하는 각 종의 클럭도 생성해서 출력한다.
이상과 같이, 본 실시예에서는 표본점을 검출하기 위해 디지털 데이터의 미분을 행하기 전에 해당 디지털 데이터에 대해 사사오입 연산을 행하고 있다. 이 사사오입 연산은 반드시 꼭 행하지 않아도 되지만 행하는 쪽이 보다 바람직하다. 즉, 사사오입 연산을 행하지 않고 원래의 데이터인 채로 미분하면 원래의 데이터 중에 포함될 작은 노이즈 성분이나 불필요한 신호성분의 부분까지도 표본점으로서 검출해버리는 경우가 있어 압축률이 저하한다. 따라서, 사사오입 연산을 하고나서 미분을 행하는 것이 바람직하다.
단지, 사사오입 연산을 행할 제1 값(N1)을 너무 크게 하면, 본래는 미분값의 극성이 변화하는 원래 데이터의 변곡점(극점)이 평활화(平滑化) 되어버려, 필요한 점이 표본점으로서 검출되지 않을 경우를 생각할 수 있다. 이러한 경우에는 압축 해제측에서 올바른 데이터를 재생할 수 없게 되어버리는 경우가 된다. 그렇기 때문에 제1 값(N1)은 너무 작지 않고, 또한 너무 크지 않은 적당한 값을 선택할 필요가 있다(제1 값 N1=8 또는 16이 바람직하다).
도 31은 상기 타이밍펄스(TP)를 생성하는 부분의 자세한 구성예를 나타내는 도면이다. 도 31에 있어서 제1 D형 플립플롭(121)은 압축대상으로서 입력될 디지털 데이터를 기준주파수의 클럭 CK에 따라 샘플링하여 유지한다. 승산기(혹은제산기)(122)는 제1 D형 플립플롭(121)에 유지된 디지털 데이터를 1/N1배 한다.
이 승산기(122)에 의해 1/N1배 된 디지털 데이터는 감산기(124)의 음수측에 공급되어짐과 동시에 제2 D형 플립플롭(123)에서 한 개의 클럭 CK 분만큼 지연된 후, 감산기(124)의 양수측에 공급된다. 이것에 의해 감산기(124)에서는 어떠한 입력 클럭 CK의 타이밍으로 입력된 현재의 데이터를 시간적으로 하나 전의 타이밍으로 입력된 데이터로부터 감산하는 것에 의해 미분값이 구해진다.
본 실시예에 있어서 표본점을 검출할 때에 미분값 그 자체는 필요하지 않고, 그의 극성을 알면 된다. 그래서, 감산기(124)에서는 미분 데이터의 부호 비트만이 출력된다. 감산기(124)로부터 출력된 미분 데이터의 부호 비트는 EXNOR 회로(126)의 한 쪽의 입력단에 공급되어짐과 동시에 제3 D형 플립플롭(125)에서 한 개의 클럭 CK만큼 지연된 후, EXNOR 회로(126)의 다른 쪽의 입력단에 공급된다. 이것에 의해 EXNOR 회로(126)에 의해 미분값의 극성이 변화하는 표본점이 검출되어, 그 검출점을 나타내는 데이터로서 타이밍펄스(TP)가 출력된다.
도 28로 돌아가서 설명을 계속한다. 사사오입 연산부(113)는 진폭 발생기(112)로부터 출력된 진폭 데이터에 대해 상기 제1 값(N1)보다 큰 제2 값(N2)으로 사사오입 연산을 행하여 압축진폭 데이터를 출력한다. 예를들면, 사사오입 연산부(113)는 진폭 발생기(112)로부터 출력될 각 표본점에 있어서의 진폭 데이터를 1024로 사사오입 처리를 행한다. 1024로 진폭 데이터를 사사오입하는 것에 의해 1워드 당 데이터 길이를 10비트 삭감할 수 있어 여기서 데이터 양을 큰 폭으로 삭감할 수 있다.
또한, 차분연산부(114)는 사사오입 연산부(113)에 의해 구해진 압축진폭 데이터끼리의 차분을 구한다. 예를들면, 어떠한 표본점에 있어서의 압축진폭 데이터에서, 그것보다 시간적으로 하나 전의 표본점에 있어서의 압축진폭 데이터를 감산하는 것에 의해 차분 데이터를 차례차례로 구한다. 도 29에 나타낸 예에 따라서 설명하면, 차분연산부(114)에서는 D1/1024-D0/1024, D2/1024-D1/1024, D3/1024-D2/1024, ……를 연산한다(1024로 제산하는 것은 사사오입 연산부(113)에 의한 사사오입 연산이다). 이와 같이 차분을 연산하는 것에 의해 차분을 구하기 전의 압축진폭 데이터와 비교해서 개개의 데이터 값을 더욱 작게 할 수 있어, 데이터 길이를 더욱 삭감 할 수 있다.
엔코더(115)는 타이밍 발생기(111)에 의해 구하여진 타이밍 데이터와 차분연산부(114)에 의해 구하여진 압축진폭 차분 데이터의 조를 블럭화하여, 이것을 직렬 압축 블럭 데이터로서 도시하지 않는 전송로 또는 데이터 메모리(116)에 출력한다.
즉, 엔코더(115)는 압축진폭 차분 데이터와 타이밍 데이터의 조를 병/직렬 변환해서 블럭화 하여, 그 데이터 블럭의 선두에 헤더나 플랙을 부가해서 출력한다. 헤더에는, 예를들어 헤더의 식별마크, 사사오입 연산부(117)에 의한 사사오입 값(N1)등의 정보가 포함된다. 이와같은 헤더 뒤에 압축진폭 데이터의 초기값 및 압축진폭 차분 데이터와 타이밍 데이터의 조로부터 이루어지는 데이터 블럭이 오름차순(昇順)으로 계속되게 된다. 더욱이, 사사오입 값(N1)을 헤더에 포함되게 하는 것은, 압축대상의 신호에 따라서 사사오입 값(N1)을 해당 신호에 적합한 값으로 바꾸는 것을 가능하게 하기 때문이다.
데이터 메모리(116)는 압축 데이터를 축적하는 기록매체이며, 엔코더(115)에 의해 생성된 직렬 압축 블럭 데이터를 타이밍 발생기(111)에서 엔코더(115)를 통해서 보내져 오는 클럭에 따라 입력되어 기록한다. 또한, 외부로부터 주어지는 독출클럭에 따라서 축적되어 있는 압축 데이터를 읽어내서 출력한다.
도 32는 상기 도 28에 나타낸 압축장치에 의해 행하여질 압축처리의 실제의 동작 예를 설명하기 위한 도면이다. 더욱이, 도 32에 있어서 세로방향은 위에서 밑으로의 시간경과를 나타내고 있다.
도 32에 나타내는 각종 데이터 열(A∼Ⅰ) 중에서, 제일 왼쪽의 데이터(A)는 압축처리가 행하여지기 전의 원래의 데이터이다. 이 원래의 데이터는 44.1KHz의 샘플링 주파수에 따라서 샘플링되어지고 있다.
왼쪽에서 2번째의 데이터 열(B)는 도 30에 나타낸 사사오입 연산부117(도 31에 나타낸 승산기(122))에 의해 원래의 데이터를 16으로 사사오입한 결과의 데이터이다. 3번째의 데이터 열(C)는 도 28에 나타낸 사사오입 연산부(113)에 의해 원래의 데이터를 1024로 사사오입한 결과의 데이터이다.
4번째 데이터 열(D)는 도 30에 나타낸 미분기(118)에 의해 2번째의 데이터 열(B) (원래의 데이터를 16으로 사사오입한 데이터)를 미분한 결과의 데이터이다. 예를들면, 위에서 2번째의 미분값 "24"는 데이터 열(B)의 데이터를 사용하여"696-672"로부터 구해지고, 다음의 미분값 "11"은 데이터 열(B)의 다음의 데이터를 사용하여 "707-696"으로부터 구해진다.
5번째의 데이터 열(E)는 미분값의 극성이 양수에서 음수 또는 음수에서 양수로 변하기 직전의 점을 나타내는 플랙이다. 즉, 미분값의 극성이 변하기 직전의 점에 "1"을 적용하고, 그 이외의 점에는 "0"을 적용하고 있다. 예를들면, 4번째의 데이터 열( D)에 나타내어질 각 미분값 가운데 미분값이 "11"에서 "-47"로 변하는 부분에 있어서, 미분값의 극성이 변하기 직전의 "11"의 점에 플랙 "1"을 적용한다. 또한, 미분값이 "-15"에서 "20"으로 변하는 부분에 있어서, 미분값의 극성이 변하기 직전의 "-15"의 점에 플랙 "1"을 적용한다. 이 플랙 "1"이 적용된 점이 표본점이 된다.
6번째의 데이터 열(F)는 도 28의 사사오입 연산부(113)에 의해 생성될 압축진폭 데이터이다. 여기에서는 뒤의 압축 해제처리와의 비교로 설명상 알기 쉽게 하기 위해서, 압축진폭 데이터를 2배 주파수로 오버샘플링한 경우의 각 포인트마다 나타내고 있지만, 실제로는 데이터 열(E)의 플랙 "1"이 적용된 표본점에 있어서만 압축진폭 데이터가 존재한다. 이것은, 이하의 데이터 열(G∼Ⅰ)에 대해서도 같다.
7번째의 데이터 열(G)은 도 28의 차분연산부(114)에 의해 생성될 압축진폭 차분 데이터이다. 예를들면, 첫번째의 데이터 값 "-1"은 데이터 열(F) 중의 연속하는 표본점에 있어서의 데이터 값을 사용하여 "10-11"로부터 구해지고, 다음의 데이터 값 "0"은 데이터 열(F) 중의 다음에 연속하는 표본점에 있어서의 데이터 값을 사용하여 "10-10"로부터 구해진다.
8번째의 데이터 열(H)은 도 28의 타이밍 발생기(111)에 의해 생성될 타이밍 데이터이다. 여기에서는, 한 개의 표본점이 검출되어지고 나서 다음의 표본점이 검출되기까지 공급될 클럭 CK의 수를 나타내고 있다. 여기에서도 타이밍 데이터를 2배 주파수의 각 샘플링 포인트마다 나타내고 있지만, 실제로는 플랙 "1"의 표본점에 있어서만 타이밍 데이터가 존재한다.
9번째의 데이터 열(Ⅰ)은 데이터의 절환(切換)을 나타내는 플랙이다. 즉, 연속하는 표본점에 있어서 압축진폭 데이터가 같은 값이 되는 경우, 그 표본점의 구획을 나타내기 위해서 "0" 및 "1"의 플랙 값이 설정된다. 예를들면, 데이터 열(F)에 나타내어질 2번째의 표본점과 3번째의 표본점에 있어서의 압축진폭 데이터의 값은 어떠한 것이라도 "10"이기 때문에, 같은 압축진폭 데이터 값이기는 하지만 다른 표본점에 있어서의 데이터 값이라는 것을 나타내기 위해서 그때까지와는 다른 값의 절환 플랙이 여기에 설정된다.
이상과 같은 각 종 데이터 열 가운데, 데이터 열(F)에 나타내어질 압축진폭 데이터의 초기값 "11" 및 데이터 열(G, H)에 나타내어질 각 표본점에 있어서의 압축진폭 차분과 타이밍 데이터의 조(-1, 2), (0, 1), (-3, 3) …… 가 엔코더(115)에 의해 블럭화되어, 직렬 압축 블럭 데이터로서 출력된다.
이것으로부터 알 수 있는 것과 같이, 본 실시예의 압축장치에 의하면, 데이터 열(A)에 나타내어질 압축대상의 원래의 데이터를 대략 데이터 열(G, H)에 나타내어질 각 표본점만의 데이터로 압축할 수가 있으며 더욱이, 각 표본점에 있어서의 데이터의 값을 원래의 데이터와 비교해서 극히 작은 값으로 압축할 수 있다.
도 33은 본 실시예에 의한 직렬 압축 블럭 데이터의 구성예를 나타내는 도면이다. 본 실시예에 있어서는 이하에서 설명하는 것과 같이 블럭 데이터를 가변 길이(可變長)의 데이터로 하고 있다.
도 33a는 압축진폭 차분 데이터의 블럭구조를 나타내고 있다. 이 도 33a에 있어서 첫 번째의 비트는 데이터 부호 비트(사인 비트)이며, 압축진폭 차분 데이터의 극성을 나타낸다. 예를들면, 데이터 부호 비트의 값이 "1"일 때에는 음수를 나타내고, "0"일 때에는 양수를 나타낸다.
또한, 2번째의 비트는 구획 플랙이며 압축진폭 차분 데이터의 비트 수를 나타낸다. 예를들면, 구획 플랙의 값이 "1"일 때에는 압축진폭 차분 데이터는 연속하는 2비트(3∼4번째의 비트)이며, "0"일 때에는 압축진폭 차분 데이터는 연속하는 5비트(3∼7번째의 비트)인 것을 나타낸다. 이 의미로 구획 플랙은 다음의 데이터 블럭과의 구획을 나타내고 있다.
도 32의 데이터 열(G)에 나타낸 것처럼 압축진폭 차분 데이터는 부호 비트를 제외하면 대부분이 2비트로 나타낼 수 있다. 그래서, 대부분의 압축진폭 차분 데이터에 대해 구획 플랙을 "1"로 해서 2비트 길이를 할당해서 2비트로는 표현될 수 없는 압축진폭 차분 데이터에 대해서는 구획 플랙을 "0"으로 해서 5비트 길이를 할당한다. 최대한으로 5비트를 할당하면 모든 압축진폭 차분 데이터는 표현되는 것이 가능하게 된다.
한편, 도 33b는 타이밍 데이터의 블럭 구조를 나타내고 있다. 이 타이밍 데이터의 블럭은 압축진폭 차분 데이터의 블럭 뒤에 연속되는 것이다. 도 33b에 있어서 첫 번째의 비트는 구획 플랙이며 타이밍 데이터의 비트 수를 나타낸다. 예를들면, 구획 플랙의 값이 "1"일 때에는 타이밍 데이터는 연속하는 3비트(2∼4번째의 비트)이며, "0"일 때에는 타이밍 데이터는 연속하는 8비트(2∼9번째의 비트)인 것을 나타낸다.
도 32의 데이터 열(H)에 나타낸 것처럼 타이밍 데이터는 모두가 정수이며 그 대부분이 3비트로 나타낼 수 있다. 그래서, 대부분의 타이밍 데이터에 대해 구획 플랙을 "1"로 해서 3비트 길이를 할당하고, 3비트로는 표현될 수 없는 타이밍 데이터에 대해서는 구획 플랙을 "0"으로 해서 8비트 길이를 할당한다. 최대한 8비트를 할당하면 모든 타이밍 데이터는 표현되는 것이 가능하게 된다.
이와같이 본 실시예의 압축장치에서는 생성된 압축 데이터를 더욱 가변 길이(可變長) 블럭 데이터로서 전송 혹은 기록하도록 하고 있다. 이것에 의해 압축률을 더욱 1.5배 정도 높일 수 있고, 더 한층 고압축률을 실현할 수 있다. 예를들면, CD의 음악 데이터 일부에서 12이상의 압축률을 달성할 수 있다.
다음으로, 이상에서 설명한 압축장치에 대응하는 압축 해제장치에 대해서 설명한다. 도 34는 본 실시예에 의한 압축 해제장치의 구성예를 나타내는 블럭도이다. 도 34에 나타내는 것과 같이 본 실시예의 압축 해제장치는 PLL (Phase Locked Loop) 회로(131)와, 데이터메모리(옵션)(132)와, 디코더(133)와, 타이밍 발생기(134)와, 2승 보간데이터 생성부(135)를 갖추어서 구성되어 있다.
PLL회로(131)는 기준주파수 (44.1KHz)의 입력 클럭 CK로부터 2배 주파수(88.2KHz)의 클럭 2CK를 생성하여, 그것을 타이밍 발생기(134) 및 2승 보간데이터 생성부(135)에 공급한다. 또한, 데이터 메모리(132)는 압축장치로부터 보내져올 직렬 압축 블럭데이터를 축적하는 기록매체이다.
디코더(133)는 데이터 메모리(132)로부터 읽어내어질 직렬 압축 블럭데이터를 2배 주파수의 클럭 2CK에 동기한 각 종의 클럭에 의해 디코드해서, 압축진폭 차분 데이터와 타이밍 데이터의 조를 추출한다. 그리고, 추출된 압축진폭 차분 데이터를 2승 보간데이터 생성부(135)에 출력함과 동시에 추출한 타이밍 데이터를 타이밍 발생기(134) 및 2승 보간데이터 생성부(135)에 출력한다. 압축진폭 차분 데이터는 2승 보간데이터 생성부(135)에 있어서 타이밍펄스(TP)에 따라서 샘플링되는 것에 의해 각 표본점간의 주기와 동기한 데이터가 된다.
타이밍 발생기(134)는 디코더(133)로부터 공급될 타이밍 데이터를 받아서 압축측에서 검출될 표본점간과 같은 일정하지 않은 시간간격을 나타내는 타이밍펄스(TP)를 입력 클럭 2CK로부터 생성한다. 또한, 이 타이밍 발생기(134)는 데이터 메모리(132)에 대한 독출 클럭을 포함하는 각종 클럭까지 생성해서 출력한다.
2승 보간데이터 생성부(135)는 디코더(133)로부터 입력될 압축진폭 차분 데이터와 타이밍 데이터를 사용하여 소정의 2승 보간연산을 행하는 것에 의해 각 표본점들의 사이를 채우는 디지털 보간데이터를 생성한다. 이 2승 보간연산의 자세한 설명에 대해서는 후술하지만, 여기서 생성될 보간 데이터는 압축되기 전의 원래의 데이터에 대해 2배의 오버샘플링이 실시된 일련의 진폭 데이터이다. 이와 같이 해서 생성된 디지털 보간 데이터가 압축 해제 데이터로서 출력된다.
또한, 도 34의 예에서는 디지털 데이터의 압축 해제에 대해서 나타내고 있지만, 얻어진 디지털 데이터를 필요에 따라서 아날로그 신호로 변환해서 출력하도록 하여도 된다. 이 경우에는 예를들면, 2승 보간데이터 생성부(135)의 출력단에 D/A변환기 및 LPF가 갖추어진다. 즉, 2승 보간데이터 생성부(135)로부터 출력된 디지털 보간데이터가 D/A변환기에 의해 아날로그 신호로 변환된 후, LPF를 통해서 재생 아날로그 신호로서 출력된다.
도 35는 상기 2승 보간데이터 생성부(135)의 자세한 구성예를 나타내는 도면이다. 도 35에 있어서 압축데이터의 일부로서 입력될 타이밍 데이터(T)는 차례차례로 주어지는 타이밍펄스(TP)에 따라서 3개의 D형 플립플롭(143, 146, 149)에 각각 유지된다. 또한, 2배 주파수의 클럭 2CK는 제1의 카운터(141)에 입력되어 여기에서 그 수가 순차적으로 카운트된다.
제1 비교기(142)는 제1 카운터(141)에서 카운트된 클럭 2CK의 수와 D형 플립플롭(143)에 유지된 타이밍 데이터를 비교한다. 그리고, 카운트된 클럭 2CK의 수가 타이밍 데이터의 값을 초과할 때마다 그 취지를 나타내는 신호(A>B)를 출력한다. 제2 OR회로(148)는 이 제1 비교기(142)로부터 출력될 신호와 외부 스타트 신호의 논리합을 구해서, 그 결과를 타이밍펄스(TP)로서 출력한다.
또한, 이 제2 OR회로(148)로 타이밍펄스(TP)를 생성하고 있는것은 압축 해제장치만으로 타이밍펄스(TP)를 재생할 필요가 있기 때문이기도 하다. 이 경우에는 제1 비교기(142)의 출력신호와 외부 스타트신호와의 논리합을 제2 OR회로(148)로 구하면 거기에서 타이밍펄스(TP)를 얻을 수 있다.
또한, 제2 카운터(144)는 기준주파수의 클럭 CK의 수를 순차적으로 카운트한다. 제2 비교기(145)는 제2 카운터(144)에서 카운트된 클럭 CK의 수와 D형 플립플롭(146)에 유지된 타이밍 데이터를 비교한다. 그리고, 카운트된 클럭 CK의 수가 타이밍 데이터의 값을 초과할 때마다 그 취지를 나타내는 신호를 출력한다. 제1 OR회로(147)는 이 제2 비교기(145)로부터 출력될 신호와 외부 스타트 신호와의 논리합을 구해서, 그 결과를 EXOR회로(151)에 출력한다.
이상과 같이 기준주파수를 기초로 한 클럭 CK의 수 및 2배 주파수를 기초로 한 클럭 2CK의 수를 각기 타이밍 데이터와 비교하여, 각각의 비교결과의 신호를 사용하여 논리합을 구하면, 타이밍 데이터로 나타내어질 두 개의 표본점간에 있어서의 시간간격의 정중앙 위치 (해당 시간간격을 나타내는 클럭 2CK 수의 반의 위치)에서 제1 OR회로(147)로부터 일치신호 (A>B)가 출력된다.
한편, 압축 데이터의 일부로서 입력될 압축진폭 차분 데이터는 차례차례로 주어질 수 있는 타이밍펄스(TP)에 따라서 D형 플립플롭(152)에 유지된다. 이 D형 플립플롭(152)에 유지된 압축진폭 차분 데이터는 2배 주파수의 클럭 2CK에 따라 D형 플립플롭(153)에 의해 오버샘플링된 후, 제1 가산기(154)에 공급된다.
제1 가산기(154)는 D형 플립플롭(153)으로부터 공급될 압축진폭 차분 데이터와 D형 플립플롭(155)에 유지되어 있는 이때까지의 누산(累算) 데이터를 가산하는 것에 의해 압축진폭 차분 데이터의 적분을 실행한다.
이 적분 때, 제1 가산기(154)는 상기 EXOR회로(151)로부터의 출력신호를 기초로 해서 D형 플립플롭(153)으로부터 입력될 압축진폭 차분 데이터의 부호를 적절하게 반전시킨다. 상기 EXOR회로(151)에는 상술한 제1 OR회로(147)로부터 출력될 일치신호 (A>B) 이 외에, 타이밍펄스(TP)에 따라서 D형 플립플롭(152)에 유지된 데이터 부호 비트(도 33의 사인 비트)가 입력되어 있다.
이것에 의해, 제1 가산기(154)는 압축진폭 차분 데이터의 블럭데이터 중에 포함될 데이터 부호 비트 혹은 제1 OR회로(147)로부터의 일치신호 (A>B)의 값을 반전했을 때에 즉, 각 표본점의 위치 및 두 개의 표본점간의 정중앙 위치에서 압축진폭 차분 데이터의 부호를 반전시키는 것이 된다.
이 제1 가산기(154)에 의해 구해진 압축진폭 차분 데이터의 1회 적분값은 제2 가산기(156)에 공급된다. 제2 가산기(156)는 제1 가산기(154)로부터 공급된 압축진폭 차분 데이터의 1회 적분값과 D형 플립플롭(157)에 유지되어 있는 그때까지의 누산 데이터를 가산하는 것에 의해 상기 1회 적분값에 대해 거듭 적분을 실행한다.
이 제2 가산기(156)에 의해 구해진 압축진폭 차분 데이터의 2회 적분값은 제3 가산기(159)의 한 쪽의 입력단에 직접 입력되어짐과 동시에 D형 플립플롭(158)에 일시 유지된 후, 제3 가산기(159)의 다른 쪽의 입력단에 입력된다. 제3 가산기(159)는 압축진폭 차분 데이터의 2회 적분값과 그것을 한 개의 클럭 2CK만큼 시프트한 값을 가산하는 것에 의해 이동평균연산(합성곱 연산)을 실행하여 그 결과를 승산기(160)에 출력한다.
상기 1단째의 적분기 및 2단째의 적분기를 구성하는 D형 플립플롭(155, 157)과 2회 적분값을 한 개의 클럭 2CK만큼 시프트될 D형 플립플롭(158)의 3개의 D형플립플롭은 타이밍펄스(TP)가 주어질 때마다 값이 제로로 리세트된다. 이것에 의해 압축진폭 차분 데이터의 2회 적분과 이동평균연산은 각 타이밍펄스(TP)의 주기마다 (각 표본점간의 구간마다) 별도로 실행된다.
승산기(160)는 제3 가산기(159)에 의해 구해진 이동평균 데이터값에 대해 512/T2(T는 타이밍 데이터)를 승산하여, 그 결과를 제4 가산기(161)에 출력한다. 제4 가산기(161)는 이 승산기(160)로부터의 데이터 값과, 별도의 승산기(162)로 압축진폭 데이터의 초기값(도 32의 예에서는 "11")을 1024배 한 데이터 값을 가산한다. 그리고, 이 제4 가산기(161)로부터 출력된 데이터는 2배 주파수의 클럭 2CK에 따라서 D형 플립플롭(162)에 일시 유지된 후, 압축 해제 데이터로서 출력된다.
이상의 구성에 의해, 압축진폭 차분 데이터를 2회 적분한 후, 1단의 이동평균연산을 행하여 그 연산결과의 데이터(M)에 대해 이하의 식(8)에 나타내는 연산이 실행된다.
(M/2T2+F)×1024
= (M/T2)×512+F×1024 …… (8)
단, F는 압축진폭 데이터의 현재값이다. 이것에 의해 테이블을 사용하지 않고 일정하지 않은 간격의 표본점(가변 클럭)에 대응하는 오버샘플링 2승 보간을 행할 회로가 실현될 수 있다.
도 36은 상기 도 34에 나타낸 압축 해제장치에 의해 행하여질 압축 해제처리의 실제동작 예를 설명하기 위한 도면이다. 또한, 도 36에 있어서 세로방향은 위에서 밑으로 시간의 경과를 나타내고 있다.
도 36에 나타내는 각 종의 데이터 열(A∼G) 가운데, 제일 왼쪽의 데이터 열(A)는 압축진폭 차분 데이터를 2배 주파수의 클럭 2CK로 오버샘플링하여, 타이밍펄스(TP) 주기의 1/2의 주기로 부호를 반전시킨 데이터이다. 예를들면, 위로부터 4개의 데이터 열 {-1, -1, 1, 1}은 도 32의 데이터 열(G)에서 위로부터 4개의 데이터 열 {-1, -1, -1, -1}에 대해 그 중간위치에서 부호를 반전시킨 것이다.
왼쪽에서 두 번째의 데이터 열(B)는 도 35에 나타낸 제1 가산기(154)에 의해 압축진폭 차분 데이터를 1회 적분한 결과의 데이터이다. 예를들면, 제일 윗단의 연산에서는 D형 플립플롭(155)의 초기값 "0"과 D형 플립플롭(153)으로부터의 데이터 값 "-1"이 가산되어 D형 플립플롭(155)의 누산값이 "-1"이 된다. 2단째의 연산에서는 D형 플립플롭(155)의 누산값 "-1"과 D형 플립플롭(153)으로부터의 데이터 값 "-1"이 가산되어 D형 플립플롭(155)의 누산값이 "-2"가 된다. 이하 같은 방법으로 3단째, 4단째의 연산을 행하는 것에 의해 D형 플립플롭(155)의 누산값이 순차적으로 "-1", "0"이 된다.
3번째의 데이터 열(C)은 도 35에 나타낸 제2 가산기(156)에 의해 압축진폭 차분 데이터를 2회 적분한 결과의 데이터이다. 예를들면, 제일 윗단의 연산에서는 D형 플립플롭(157)의 초기값 "0"과 제1 가산기(154)로부터의 데이터 값"-1"이 가산되어 D형 플립플롭(157)의 누산값이 "-1"이 된다. 또한, 2단째의 연산에서는 D형 플립플롭(157)의 누산값 "-1"과 제1 가산기(154)로부터의 데이터 값 "-2"가 가산되어 D형 플립플롭(157)의 누산값이 "-3"이 된다. 이하 같은 방법으로 3단째, 4단째의 연산을 행하는 것에 의해 D형 플립플롭(157)의 누산값이 순차적으로 "-4", "-4"가 된다.
4번째의 데인터 열(D)은 도 35에 나타낸 D형 플립플롭(158)에 의해 3번째의 데이터 열(C)을 한 개의 클럭 2CK만큼 시프트한 결과의 데이터이다. 또한, 5번째의 데이터 열(E)은 도 35에 나타낸 제3 가산기(159)에 의해 3번째의 데이터 열(C)과 4번째의 데이터 열(D)을 가산한 결과의 데이터이다.
상술한 것처럼, 이 5번째의 데이터 열(E)을 구할 때까지의 2회 적분과 이동평균연산은 각 타이밍펄스(TP)의 주기마다 (각 표본점의 구간마다) 별도로 실행된다. 즉, 도 36 중에 점선으로 구별된 개개의 구획마다 이상의 연산이 실행된다. 이것에 의해 각각의 표본점간의 구획마다 독립된 디지털 파형이 생성된다.
6번째의 데이터 열(F)은 도 35에 나타낸 승산기(160) 이후의 처리에 의해 생성될 압축 해제 데이터이다. 즉, 상술한 것과 같이 해서 개개의 표본점 구간 마다에서 구하여진 디지털 파형에 대해 식(8)의 보간연산을 행하는 것에 의해 개개의 구간의 디지털 파형을 원활하게 연결한 전체의 디지털 파형(오버샘플링된 보간 데이터)를 얻는다.
본 실시예에 있어서는 도 29에 나타내는 것처럼 디지털 파형의 각 변곡점(극점)을 표본점으로서 검출하여, 이 표본점에 있어서의 데이터를 처리해서 압축 데이터로 하고있다. 따라서, 압축 해제처리에 의해 원래의 데이터를 재현하기 위해서 최소한으로 필요한 데이터는 압축 데이터 중에 모두 포함되어 있다. 따라서, 이것을 사용하여 2승 보간처리를 행하는 것에 의해 변곡점 이 외의 데이터를 16비트 정도로 원활하게 보간할 수 있다.
또한, 본 실시예에서는 압축진폭 차분 데이터의 2중 적분을 행하는 데에 있어서 처음단의 적분기{제1 가산기(154)}에 입력될 압축진폭 차분 데이터의 부호를 각 표본점간 주기의 반의 주기로 절환(切換)하도록 하고 있다. 이것에 의해, 이것에 연속하는 2단째의 적분 및 이동평균연산에 의해 보다 원활하게 진폭값이 변화하는 디지털 파형을 얻을 수 있다.
또한, 본 실시예에서는 적분 등의 연산을 실행할 때에 각 단의 적분기 및 이동평균연산기의 D형 플립플롭의 값을 1 타이밍펄스(TP) 마다 리세트하고 있다. 이것에 의해 전체의 알고리즘을 바르게 실행시킴과 동시에 적분기의 누적오차를 배제할 수 있어, 보다 정확한 디지털 파형을 재생할 수 있다.
이상의 것들에 의해, 본 실시예의 압축 해제장치에 의하면 원래의 데이터를 거의 충실하게 재현할 수 있다.
도 36에 나타내는 7번째의 데이터 열(G)은 압축전의 원래의 데이터를 2배의 주파수로 보간한 데이터를 나타낸다. 이 데이터 열(G)에 나타내는 압축전 원래의 데이터와 데이터 열(F)에 나타내는 압축 해제 데이터를 비교하면 알 수 있듯이, 본 실시예의 압축 해제장치에 의해 생성될 압축 해제 데이터는 압축전 원래의 데이터와 거의 같은 정도의 값으로 되어있다.
도 37은 이 데이터 열(F, G)을 그래프화 한 것이다. 이것으로도 알 수 있는 것과 같이, 본 실시예의 압축 해제장치에 의하면 압축전의 원래의 데이터와 거의 동등의 데이터를 재생할 수 있다.
이상 자세하게 설명한 것처럼, 본 실시예에 의하면 압축대상이 되는 디지털 데이터를 시간/주파수 변환할 것없이 시간축상에서 그대로 압축·압축 해제할 수가 있으므로, 처리가 복잡하게 되지않고 구성을 간소화 할 수도 있다. 또한, 시간축상에서의 간단한 보간연산에 의해 테이블 정보를 쓸 필요 없이 입력될 압축데이터를 순차적으로 처리해서 재생할 수 있으므로 실시간 동작을 실현할 수 있다.
또한, 본 실시예에서는 디지털 데이터의 미분값의 극성이 변화하는 점을 표본점으로서 검출하여, 검출한 각 표본점에 있어서의 진폭 데이터 값과 각 표본점이 나타날 시간간격을 나타내는 타이밍 데이터 값으로 압축 데이터를 생성해서 전송 또는 기록하고 있으므로, 표본점의 데이터만을 압축 데이터로서 얻을 수가 있어 높은 압축률을 달성할 수 있다.
또한, 본 실시예에서는 각 표본점에 있어서의 진폭 데이터를 그대로 압축 데이터로 하는 것이 아니라, 이것을 1024의 값으로 사사오입하고 있으므로 1워드 당 데이터 길이를 수 비트 삭감할 수 있어, 여기에서 데이터 양을 큰 폭으로 삭감할 수 있다. 또한, 사사오입된 진폭 데이터를 그대로 압축 데이터로 하는 것이 아니라, 거듭 그의 차분 데이터를 구해서 압축 데이터로 하는 것에 의해, 압축 데이터에 필요한 비트수를 적게 할 수 있어 데이터 양을 보다 축소할 수 있다.
더욱이, 본 실시예에서는 얻어진 압축진폭 차분 데이터와 타이밍 데이터를 가변 길이(可變長)의 블럭데이터로 엔코드해서 최종적인 압축 데이터로서 하도록 하고 있다. 따라서, 여기서 압축률을 더욱 1.5배 정도로 높일 수가 있어, 그 결과로 굉장히 높은 압축률을 실현할 수 있다.
또한, 본 실시예에서는 표본점을 검출하기 위해서 미분값을 구하기 전에 디지털 데이터를 적당한 값으로 사사오입하고 있으므로, 노이즈 성분이나 필요없는 신호성분의 위치를 표본점으로서 검출하지 않도록 할 수가 있어, 정확한 위치만을 표본점으로서 확실하게 검출할 수 있다. 또한, 압축 해제처리 때에 2중 적분기의 첫 단에서는 타이밍펄스(TP) 주기의 전반과 후반으로 가산과 감산을 절환하고 있으므로, 압축측에 있어서의 사사오입 오차를 서로 상쇄할 수 있음과 동시에 보다 원활하게 진폭값이 변화하는 디지털 파형을 재현할 수 있다.
또한, 본 실시예에서는 오버샘플링을 동반하는 2중적분 등의 연산을 실행할 때에 각 단에 있어서의 적분기의 누산값을 각 타이밍펄스(TP)마다 리세트하고 있으므로, 적분기의 누적오차를 배제할 수가 있어, 보다 정확한 디지털 파형을 재생할 수 있다. 이것에 의해, 압축전의 원래의 데이터에 가까운 고품질의 압축 해제 데이터를 얻을 수 있다.
이상의 것으로, 본 실시예의 압축·압축 해제방식에 의하면 굉장히 높은 압축률과 재생 데이터의 품질향상의 양쪽을 실현하는 새로운 압축·압축 해제방식을 제공할 수 있다.
또한, 상기 제3 실시예에서는, 사사오입 연산부(113)에서는 데이터 값을 1024로 사사오입하는 예를 나타냈지만, 이 값에 한정되는 것은 아니다.
또한, 상기 제3 실시예에서는 2배의 오버샘플링을 실시하고 있지만 짝수배이더라도 두 배로 한정되는 것은 아니다.
또한, 상기 제3 실시예에서는 압축처리할 때에 압축대상으로서 입력된 디지털 데이터 가운데에서 표본점에 있어서의 진폭 데이터를 추출한 후에, 해당 추출한 진폭 데이터를 제2 값(N2)으로 사사오입하고 있었지만, 입력된 디지털 데이터를 먼저 사사오입하고 난 다음에 표본점에 있어서의 압축진폭 데이터를 추출하도록 하여도 된다.
또한,상기 제3 실시예에서는 압축 해제처리할 때에 적분을 2중으로 행함과 동시에 1단의 이동평균연산을 행하고 있지만, 적분은 2중에 한하지 않고 그것보다 많은 다중적분을 행하도록 하여도 된다. 또한, 이동평균연산도 1단에 한하지 않고 그것보다 많은 단의 이동평균연산 혹은 합성곱 연산(컨벌루션 연산)을 행하도록 하여도 된다.
또한, 이상으로 설명한 제1∼제3 실시예에 의한 압축·압축 해제의 수법을 적절하게 조합해서, 혹은 요소기술을 적절하게 바꾸어서 적용하도록 하여도 된다. 예를들면, 상기 제1∼제3 실시예에서는 표본점의 검출의 방법으로서 여러가지 방법을 나타내고 있었지만, 어떠한 실시예에서 어떠한 검출방법을 이용하여도 좋다.
또한, 이상에서 설명한 제1∼제3 실시예에 의한 압축·압축 해제의 수법은 상술한 것과 같이 하드웨어 구성, DSP, 소프트웨어의 어떤 것에 의해서도 실현하는 것이 가능하다. 예를들어 소프트웨어에 의해 실현할 경우, 본 실시예의 압축장치 및 압축 해제장치는 실제로는 컴퓨터의 CPU 혹은, MPU, RAM, ROM 등으로 구성되며, RAM이나 ROM에 기억된 프로그램이 동작하는 것에 의해 실현할 수 있다.
따라서, 컴퓨터가 상기 본 실시예의 기능을 하도록 동작시키는 프로그램을,예를들면 CD-ROM과 같은 기록매체에 기록하여, 이것을 컴퓨터에 읽어 들여지도록 함에 의해 실현할 수 있는 것이다. 상기 프로그램을 기록하는 기록매체로서는 CD-ROM 이외에 플로피디스크, 하드디스크, 자기 테이프, 광 디스크, 광자기 디스크, DVD, 불휘발성 메모리카드 등을 이용할 수 있다. 또한, 상기 프로그램을 인터네트 등의 네트워크를 통해서 컴퓨터에 다운로드하는 것에 의하여서도 실현할 수 있다.
또한, 컴퓨터가 공급된 프로그램을 실행하는 것에 의해 상술한 실시예의 기능이 실현되는 것 뿐만 아니라, 그 프로그램이 컴퓨터에서 가동하고 있는 OS(오퍼레이팅 시스템) 혹은, 기타 어플리케이션 소프트웨어 등과 공동으로 하여 상술한 실시예의 기능이 실현될 경우나 공급된 프로그램 처리의 모두 혹은 일부가 컴퓨터의 기능확장 보드나 기능확장 유니트에 의해 행해져 상술한 실시예의 기능이 실현되는 경우에도 관련되는 프로그램은 본 발명의 실시예에 포함된다.
또한, 상기에 설명한 각 실시예는 어떠한 것도 본 발명을 실시함에 있어서의 구체화의 일례를 나타낸 것에 불과하며, 이것에 의해 본 발명의 기술적인 범위가 한정적으로 해석 되어서는 않 된다. 즉, 본 발명은 그 정신 또는 그 주요한 특징으로부터 이탈함이 없이 여러가지 형태로 실시할 수 있다.
본 발명은 간단한 구성으로 압축·압축 해제의 처리시간이 짧고, 또한 상당히 높은 압축률과 재생 데이터의 품질향상의 양쪽을 실현하는 것이 가능한 새로운 압축·압축 해제방식을 제공하는 데에 유용하다.

Claims (52)

  1. 압축대상의 신호를 미분 절대값이 소정값 이하가 되는 점의 시간간격으로 표본화하여, 각 표본점에서의 이산적인 진폭 데이터와 각 표본점간의 시간간격을 나타내는 타이밍 데이터의 조(組)를 압축 데이터로서 얻는 압축방법.
  2. 압축대상의 신호를 오버샘플링하여, 상기 오버샘플링된 데이터를 그 미분 절대값이 소정값 이하가 되는 점의 시간간격으로 표본화하여, 각 표본점에 있어서의 이산적인 진폭 데이터와 각 표본점간의 시간간격을 나타내는 타이밍 데이터의 조를 압축 데이터로서 얻는 압축방법.
  3. 제2항에 있어서,
    상기 오버샘플링된 데이터에 대해, 연속하는 샘플값의 평균값 데이터를 생성하는 처리를 거듭하는 압축방법.
  4. 압축대상의 디지털 데이터를 미분하는 미분수단과,
    상기 미분수단에 의해 구하여진 미분 절대값이 소정값 이하가 되는 표본점을 검출하는 표본점 검출수단과,
    상기 표본점 검출수단에 의해 검출된 표본점에 있어서의 진폭 데이터 및 각 표본점간의 시간간격을 나타내는 타이밍 데이터의 조를 압축 데이터로서 출력하는압축수단
    을 포함하는 압축장치.
  5. 제4항에 있어서,
    입력될 아날로그 신호를 A/D변환해서 상기 압축대상의 디지털 데이터를 생성하는 A/D 변환수단을 포함하는 압축장치.
  6. 제4항에 있어서,
    상기 압축대상의 디지털 데이터에 대해서 짝수배 주파수의 클럭을 사용하여 오버샘플링하는 오버샘플링 수단을 포함하고,
    상기 미분수단은 상기 오버샘플링 수단에 의해 생성된 디지털 데이터에 대해 미분처리를 하고, 상기 압축수단은 상기 짝수배 주파수의 클럭에 기초하여 계측된 타이밍 데이터를 출력하는 압축장치.
  7. 제6항에 있어서,
    상기 오버샘플링 수단에 의해 생성된 디지털 데이터에 대하여 연속되는 샘플 값의 평균값 데이터를 생성하는 처리를 행하는 평균값 데이터 생성수단을 더 포함하고,
    상기 미분수단은 상기 평균값 데이터 생성수단에 의해 생성된 디지털 데이터에 대하여 미분처리를 하는 압축장치.
  8. 압축대상의 신호로부터 추출된 소정의 표본점에 있어서의 진폭 데이터와 각 표본점간의 시간간격을 나타내는 타이밍 데이터의 조로부터 구성될 압축 데이터에 대해서 연속하는 표본점의 진폭 데이터와 그 사이의 타이밍 데이터를 사용하여 상기 타이밍 데이터에 의해 나타내어질 시간간격을 갖는 진폭 데이터의 사이를 보간하는 보간 데이터를 구하는 것에 의해 압축 해제 데이터를 얻는 압축 해제방법.
  9. 제8항에 있어서,
    연속하는 두 개의 표본점에 있어서의 두 개의 진폭 데이터와 그 사이의 타이밍 데이터로부터 얻어지는 표본화 함수를 사용하여 상기 두 개의 진폭 데이터간을 보간하는 보간 데이터를 구하는 압축 해제방법.
  10. 압축 데이터 중에 포함될 압축대상의 신호로부터 추출된 각 표본점간의 시간간격을 나타내는 타이밍 데이터에 따라서 상기 압축 데이터 중에 포함될 각 표본점에 있어서의 진폭 데이터를 상기 각 표본점간의 시간간격마다 순차적으로 입력되도록 타이밍을 제어하는 타이밍 제어수단과,
    상기 타이밍 제어수단의 제어에 따라 입력된 연속하는 두 개의 표본점에 있어서의 두 개의 진폭 데이터 및 그 사이의 타이밍 데이터를 사용하여 상기 두 개의 진폭 데이터의 사이를 보간하는 보간 데이터를 구하는 것에 의해 압축 해제 데이터를 얻는 압축 해제수단
    을 포함하는 압축 해제장치.
  11. 제10항에 있어서,
    상기 압축 해제수단은 상기 연속하는 두 개의 표본점에 있어서의 두 개의 진폭 데이터와 그 사이의 타이밍 데이터로 얻어지는 표본화 함수를 사용하여 상기 두 개의 진폭 데이터간을 보간하는 보간 데이터를 구하는 압축 해제장치.
  12. 압축측에 있어서, 압축대상의 신호를 미분 절대값이 소정값 이하가 되는 점의 시간간격으로 표본화하여 각 표본점에 있어서의 이산적인 진폭 데이터와 각 표본점간의 시간간격을 나타내는 타이밍 데이터의 조를 압축 데이터로서 얻는 동시에,
    압축 해제측에 있어서, 상기 압축 데이터 중에 포함될 진폭 데이터와 타이밍 데이터를 사용하여 상기 타이밍 데이터에 의해 나타내어질 시간간격이 될 수 있도록 상기 진폭 데이터를 재생함과 동시에 연속하는 두 개의 표본점에 있어서의 두 개의 진폭 데이터와 그 사이의 타이밍 데이터를 기초로 해서 상기 두 개의 진폭 데이터간을 보간하는 보간 데이터를 구하는 것에 의해 압축 해제 데이터를 얻을 수 있도록 한 압축/압축 해제 시스템.
  13. 제1항의 압축방법의 처리 단계를 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터 독해가능한 기록매체.
  14. 제8항의 압축 해제방법의 처리 단계를 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터 독해가능한 기록매체.
  15. 입력될 n개의 이산 데이터 값에 따른 기본파형의 디지털 데이터를 오버샘플링과 이동평균연산 또는 합성곱(컨벌루션) 연산에 의해 합성하는 것에 의해 상기 이산 데이터에 대한 디지털의 보간값을 구한 후,
    상기 구하여진 디지털 보간값을 그의 미분 절대값이 극소가 되는 점의 시간간격으로 표본화하여 각 표본점에 있어서의 이산적인 진폭 데이터와 각 표본점간의 시간간격을 나타내는 타이밍 데이터의 조를 압축 데이터로서 얻는 압축방법.
  16. 입력될 n개의 이산 데이터 값에 응한 기본파형의 디지털 데이터를 오버샘플링과 이동평균연산 또는 합성곱(컨벌루션) 연산에 의해 합성하는 것에 의해 상기 이산 데이터에 대한 디지털의 보간값을 구하는 오버샘플링 수단과,
    상기 오버샘플링 수단에 의해 구하여진 디지털 보간값을 미분하는 미분수단과,
    상기 미분수단에 의해 구하여진 미분 절대값이 극소가 되는 표본점을 검출하여 검출한 표본점에 있어서의 진폭 데이터 및 각 표본점간의 시간간격을 나타내는 타이밍 데이터의 조를 압축 데이터로서 출력하는 압축 데이터 생성수단
    을 포함하는 압축장치.
  17. 제16항에 있어서,
    상기 미분수단에 의해 구하여진 미분 절대값의 하위 수 비트의 사사오입 연산을 행하는 사사오입 연산 수단을 포함하고,
    상기 압축 데이터 생성수단은 상기 사사오입 연산 수단에 의해 사사오입 연산이 실시된 미분 절대값이 극소가 되는 점을 표본점으로서 검출하는 압축장치.
  18. 제16항에 있어서,
    상기 압축 데이터 생성수단은 상기 미분수단에 의해 구하여진 미분 절대값 혹은 상기 사사오입 연산 수단에 의해 사사오입 연산된 미분 절대값이 극소가 되는 각 점 중에서 상기 미분 절대값이 일정값보다 작게 되는 점만을 표본점으로서 검출하는 압축장치.
  19. 입력될 n개의 이산 데이터 값에 따른 기본파형의 디지털 데이터를 오버샘플링과 이동평균연산 또는 합성곱(컨벌루션) 연산에 의해 합성하는 것에 의해 상기 이산 데이터에 대한 디지털의 보간값을 구하는 오버샘플링 수단과,
    상기 오버샘플링 수단에 의해 구하여진 디지털 보간값을 미분하여 미분 절대값을 얻는 제1 미분수단과,
    상기 제1 미분수단에 의해 구하여진 미분 절대값을 거듭 미분하여 2중 미분값을 얻는 제2 미분수단과,
    상기 제2 미분수단에 의해 구하여진 2중 미분값의 극성이 음수 또는 제로에서 양수로 변화하는 점을 상기 제1 미분수단에 의해 구하여진 미분 절대값이 극소가 되는 표본점으로서 검출하는 표본점 검출수단과,
    상기 표본점 검출수단에 의해 검출된 각 표본점에 있어서의 진폭 데이터 및 각 표본점간의 시간간격을 나타내는 타이밍 데이터의 조를 압축 데이터로서 출력하는 압축 데이터 생성수단
    을 포함하는 압축장치.
  20. 제19항에 있어서,
    상기 표본점 검출수단은 상기 제2 미분수단에 의해 구하여진 2중 미분값의 극성이 음수 또는 제로에서 양수로 변화하고 또한 상기 제1 미분수단에 의해 구하여진 미분 절대값이 일정값보다 작게 되는 점을 상기 표본점으로서 검출하는 압축장치.
  21. 제19항에 있어서,
    상기 제1 미분수단에 의해 구하여진 미분 절대값의 하위 수 비트의 사사오입 연산을 행하는 사사오입 연산 수단을 포함하고,
    상기 제2 미분수단은 상기 사사오입 연산 수단에 의해 사사오입 연산이 실시된 미분 절대값에 대해 거듭 미분하는 압축장치.
  22. 제21항에 있어서,
    상기 표본점 검출수단은 상기 제2 미분수단에 의해 구하여진 2중 미분값의 극성이 음수 또는 제로에서 양수로 변화하는 점 중에서 상기 사사오입 연산 수단에 의해 사사오입 연산이 실시된 미분 절대값이 일정값보다 작게 되는 점을 상기 표본점으로서 검출하는 압축장치.
  23. 제16항에 있어서,
    상기 오버샘플 수단은 상기 입력될 n개의 이산데이터 값에 따른 기본파형의 디지털 데이터에 대하여 정수배 주파수의 클럭을 사용하여 오버샘플링하고,
    상기 압축 데이터 생성수단은 상기 정수배 주파수의 클럭을 기초로 계측된 타이밍 데이터를 출력하는 압축장치.
  24. 제16항에 있어서,
    상기 오버샘플 수단은 상기 기본파형의 디지털 데이터를 오버샘플링하여 오버샘플링된 기본파형의 데이터에 대하여 이동평균연산 또는 합성곱(컨벌루션) 연산하는 것에 의해 얻어지는 데이터를 미리 기억한 기억수단과,
    상기 기억수단에 기억된 데이터를 상기 입력될 n개의 이산 데이터 값에 따른 진폭으로 각각 변조하여 얻어진 n개의 데이터끼리 이동평균연산 또는 합성곱(컨벌루션) 연산에 의해 합성하는 합성수단을 포함하는 압축장치.
  25. 압축측에 있어서, 입력될 n개의 이산 데이터 값에 따른 기본파형의 디지털 데이터를 오버샘플링과 이동평균연산 또는 합성곱(컨벌루션) 연산에 의해 합성하는 것에 의해 상기 이산 데이터에 대한 디지털의 보간값을 구한 후, 상기 구하여진 디지털 보간값을 그 미분 절대값이 극소가 되는 점의 시간간격으로 표본화하여 각 표본점에 있어서의 이산적인 진폭 데이터와 각 표본점간의 시간간격을 나타내는 타이밍 데이터의 조를 압축 데이터로서 얻는 동시에,
    압축 해제측에 있어서, 상기 압축 데이터 중에 포함될 진폭 데이터와 타이밍 데이터를 사용하여 연속하는 두 개의 표본점에 있어서의 두 개의 진폭 데이터와 그 사이의 타이밍 데이터를 기초로 하여 상기 두 개의 진폭 데이터간을 보간하는 보간 데이터를 구하는 것에 의해 압축 해제 데이터를 얻는 압축/압축 해제 시스템.
  26. 제25항에 있어서,
    상기 입력될 n개의 이산데이터 값에 따른 기본파형의 디지털 데이터에 대하여 정수배 주파수의 클럭을 사용하여 오버샘플링하여 상기 정수배 주파수의 클럭을 기초로 계측된 타이밍 데이터를 출력하는 압축/압축 해제 시스템.
  27. 제25항에 있어서,
    상기 연속하는 두 개의 표본점에서의 두 개의 진폭 데이터와 그 사이의 타이밍 데이터로부터 얻어지는 유한대의 표본화 함수를 사용하여 상기 두 개의 진폭 데이터간을 보간하는 보간 데이터를 구하는 압축/압축 해제 시스템.
  28. 제15항의 압축방법의 처리 단계를 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터 독해가능한 기록매체.
  29. 제16항의 각 수단으로서 컴퓨터를 동작시키기 위한 프로그램을 기록한 컴퓨터 독해가능한 기록매체.
  30. 제25항의 압축/압축 해제시스템의 기능을 컴퓨터에서 실현시키기 위한 프로그램을 기록한 컴퓨터 독해가능한 기록매체.
  31. 입력될 디지털 데이터를 미분하여 그 미분값의 극성이 변화하는 점을 표본점으로서 검출하여 각 표본점에 있어서의 이산적인 압축진폭 데이터로서 소정의 값으로 사사오입된 디지털 데이터를 얻어, 해당 압축진폭 데이터끼리의 차분을 연산한 결과의 압축진폭 차분 데이터와 각 표본점간의 시간간격을 나타내는 타이밍 데이터와 조를 압축 데이터로서 얻는 압축방법.
  32. 제31항에 있어서,
    입력될 디지털 데이터를 제1 값으로 사사오입하는 연산을 행하여, 상기 제1 값으로 사사오입된 디지털 데이터를 미분해서 그 미분값의 극성이 변화하는 점을 표본점으로서 검출하여, 각 표본점에 있어서의 이산적인 압축진폭 데이터로서 상기제1 값보다 큰 제2 값으로 사사오입된 디지털 데이터를 얻을 수 있도록 한 압축방법.
  33. 제31항에 있어서,
    상기 압축진폭 차분 데이터 및 상기 타이밍 데이터를 가변 길이 블럭데이터로 변환하는 압축방법.
  34. 제33항에 있어서,
    상기 압축진폭 차분 데이터의 하나의 가변 길이 블럭은 상기 압축진폭 차분 데이터의 극성을 나타내는 부호 비트와 상기 압축진폭 차분 데이터의 비트 길이를 나타내는 구획 플랙과, 상기 구획 플랙으로 나타내는 비트 길이를 가지는 압축진폭 차분 데이터를 포함하는 압축방법.
  35. 제33항에 있어서,
    상기 타이밍 데이터의 하나의 가변 길이 블럭은 상기 타이밍 데이터의 비트 길이를 나타내는 구획 플랙과 상기 구획 플랙으로 나타내는 비트 길이를 가지는 타이밍 데이터를 포함하는 압축방법.
  36. 입력될 디지털 데이터를 미분해서 그 미분값의 극성이 변화하는 점을 표본점으로서 검출하여 각 표본점간의 시간간격을 나타내는 타이밍 데이터를 구하는 타이밍 데이터 생성수단과,
    상기 타이밍 데이터 생성수단에 의해 검출된 각 표본점에 있어서의 이산적인 압축진폭 데이터로서 상기 입력될 디지털 데이터를 소정의 값으로 사사오입된 데이터를 생성하는 압축진폭 데이터 생성수단과,
    상기 압축진폭 데이터 생성수단에 의해 구하여진 압축진폭 데이터끼리의 차분을 연산하는 차분 연산수단
    을 포함하고,
    상기 차분 연산수단에 의해 구하여진 압축진폭 차분 데이터와 상기 타이밍 데이터 생성수단에 의해 구하여진 타이밍 데이터의 조를 압축 데이터로서 얻을 수 있도록 한 압축장치.
  37. 제36항에 있어서,
    상기 입력될 디지털 데이터를 제1 값으로 사사오입하는 제1 사사오입 연산 수단을 포함하고,
    상기 타이밍 데이터 생성수단은 상기 제1 사사오입 연산 수단에 의해 사사오입된 디지털 데이터를 미분해서 그 미분값의 극성이 변화하는 점을 표본점으로서 검출하고,
    상기 압축진폭 데이터 생성수단은 상기 제1 값보다 큰 제2 값으로 상기 디지털 데이터를 사사오입하는 것에 의해 상기 압축진폭 데이터를 생성하는 압축장치.
  38. 제36항에 있어서,
    상기 압축진폭 데이터 생성수단은 상기 타이밍 데이터 생성수단에 의해 검출된 각 표본점에 있어서의 디지털 데이터를 이산적인 진폭 데이터로서 추출하는 진폭 데이터 추출수단과,
    상기 진폭 데이터 추출수단에 의해 추출된 진폭 데이터를 제2 값으로 사사오입하는 제2 사사오입 연산 수단
    을 포함하는 압축장치.
  39. 제36항에 있어서,
    상기 압축진폭 차분 데이터 및 상기 타이밍 데이터를 가변 길이 블럭데이터로 변환하는 엔코드 수단을 포함하는 압축장치.
  40. 제39항에 있어서,
    상기 압축진폭 차분 데이터의 하나의 가변 길이 블럭은 상기 압축진폭 차분 데이터의 극성을 나타내는 부호 비트와, 상기 압축진폭 차분 데이터의 비트 길이를 나타내는 구획 플랙과, 상기 구획 플랙으로 나타내는 비트 길이를 가지는 상기 압축진폭 차분 데이터를 포함하는 압축장치.
  41. 제39항에 있어서,
    상기 타이밍 데이터의 하나의 가변 길이 블럭은 상기 타이밍 데이터의 비트길이를 나타내는 구획 플랙과, 상기 구획 플랙으로 나타내는 비트 길이를 가지는 타이밍 데이터를 포함하는 압축장치.
  42. 압축대상의 디지털 데이터로부터 추출된 소정의 표본점에 있어서의 압축진폭 차분 데이터와 각 표본점간의 시간간격을 나타내는 타이밍 데이터의 조로 구성될 압축 데이터에 관해서,
    짝수배로 오버샘플링된 상기 압축진폭 차분 데이터를 다중적분함과 동시에 상기 적분값에 대해서 이동평균연산을 행하여 얻어진 이동평균 연산값과 상기 타이밍 데이터를 사용하여 상기 타이밍 데이터에 의해 나타내어질 시간간격을 가지는 각 표본점에 있어서의 진폭 데이터의 사이를 보간하는 2승 보간 데이터를 구해, 이것을 압축 해제 데이터로서 얻는 압축 해제방법.
  43. 제42항에 있어서,
    상기 짝수배로 오버샘플링 된 상기 압축진폭 차분 데이터를 상기 타이밍 데이터에 의해 나타내어질 각 표본점간의 구획마다 그 중간위치에서 부호 반전하여 얻어진 데이터 열을 다중적분하는 압축 해제방법.
  44. 제42항에 있어서,
    상기 짝수배로 오버샘플링 된 상기 압축진폭 차분 데이터에 대한 다중적분 및 이동평균 연산을 상기 타이밍 데이터에 의해 나타내어질 각 표본점의 구획마다하는 압축 해제방법.
  45. 압축대상의 디지털 데이터로부터 추출된 소정의 표본점에 있어서의 압축진폭 차분 데이터와 각 표본점간의 시간간격을 나타내는 타이밍 데이터의 조로 구성되는 압축 데이터에 관해서, 짝수배로 오버샘플링 된 상기 압축진폭 차분 데이터를 다중적분 하는 적분수단과,
    상기 적분수단에 의해 구하여진 적분값에 대해 이동평균 연산을 행하는 이동평균 연산수단과,
    상기 이동평균연산 수단에 의해 구하여진 이동평균 연산값과 상기 타이밍 데이터를 사용하여 상기 타이밍 데이터에 의해 나타내어질 시간간격을 가지는 각 표본점에 있어서의 진폭 데이터의 사이를 보간하는 2승 보간 데이터를 구해, 이것을 압축 해제 데이터로 하는 보간 데이터 생성수단
    을 포함하는 압축 해제장치.
  46. 제45항에 있어서,
    상기 적분수단은 상기 다중적분의 첫 단에서 상기 짝수배로 오버샘플링된 상기 압축진폭 차분 데이터를 상기 타이밍 데이터에 의해 나타내어질 각 표본점간의 구획마다 그 중간위치에서 부호 반전하는 부호 반전 수단을 포함하는 압축 해제장치.
  47. 제45항에 있어서,
    상기 적분수단은 상기 짝수배로 오버샘플링된 상기 압축진폭 차분 데이터에 대한 적분값을 상기 타이밍 데이터에 의해 나타내어질 각 표본점의 구획마다 리세트하는 리세트 수단을 구비하는 압축 해제장치.
  48. 제45항에 있어서,
    상기 이동평균 연산 수단은 상기 적분연산 수단에 의해 구하여진 적분값에 대한 이동평균 연산값을 상기 타이밍 데이터에 의해 나타내어질 각 표본점의 구획마다 리세트하는 리세트 수단을 포함하는 압축 해제장치.
  49. 제31항의 압축방법의 처리 단계를 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터 독해가능한 기록매체.
  50. 제42항의 압축 해제방법의 처리 단계를 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터 독해가능한 기록매체.
  51. 제36항의 각 수단으로서 컴퓨터를 동작시키기 위한 프로그램을 기록한 컴퓨터 독해가능한 기록매체.
  52. 제45항의 각 수단으로서 컴퓨터를 동작시키기 위한 프로그램을 기록한 것을 특징으로 하는 컴퓨터 독해가능한 기록매체.
KR1020027014702A 2002-11-01 2001-03-01 압축 방법 및 장치, 압축 해제 방법 및 장치, 압축/압축해제 시스템, 기록매체 KR20030005315A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020027014702A KR20030005315A (ko) 2002-11-01 2001-03-01 압축 방법 및 장치, 압축 해제 방법 및 장치, 압축/압축해제 시스템, 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020027014702A KR20030005315A (ko) 2002-11-01 2001-03-01 압축 방법 및 장치, 압축 해제 방법 및 장치, 압축/압축해제 시스템, 기록매체

Publications (1)

Publication Number Publication Date
KR20030005315A true KR20030005315A (ko) 2003-01-17

Family

ID=49322838

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027014702A KR20030005315A (ko) 2002-11-01 2001-03-01 압축 방법 및 장치, 압축 해제 방법 및 장치, 압축/압축해제 시스템, 기록매체

Country Status (1)

Country Link
KR (1) KR20030005315A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100922517B1 (ko) * 2008-03-06 2009-10-20 주식회사 티엘아이 기준 클락의 주파수 변조를 병행하여 데이터 압축비를증가시키는 데이터 변형 시스템 및 이에 적용되는 데이터압축 방법
KR101010303B1 (ko) * 2008-10-15 2011-01-25 이의근 안테나 지지용 기구

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100922517B1 (ko) * 2008-03-06 2009-10-20 주식회사 티엘아이 기준 클락의 주파수 변조를 병행하여 데이터 압축비를증가시키는 데이터 변형 시스템 및 이에 적용되는 데이터압축 방법
KR101010303B1 (ko) * 2008-10-15 2011-01-25 이의근 안테나 지지용 기구

Similar Documents

Publication Publication Date Title
US6657567B2 (en) Compressing method and device, decompression method and device, compression/decompression system, and recorded medium
US6791482B2 (en) Method and apparatus for compression, method and apparatus for decompression, compression/decompression system, record medium
US20050143981A1 (en) Compressing method and apparatus, expanding method and apparatus, compression and expansion system, recorded medium, program
RU2369036C2 (ru) Устройство воспроизведения данных с ивс, система записи/воспроизведения и фильтр интерполяции
TW567680B (en) Compression device and method, decompression device and method, compression/decompression system, program, recording medium
JP4124798B2 (ja) タイミング抽出装置、並びにこれを用いた情報再生装置及びdvd装置
JP2001136073A (ja) 圧縮方法及び装置、圧縮伸長システム、記録媒体
KR20030005315A (ko) 압축 방법 및 장치, 압축 해제 방법 및 장치, 압축/압축해제 시스템, 기록매체
JP2002217740A (ja) 圧縮方法及び装置、伸長方法及び装置、圧縮伸長システム、記録媒体
JP3312538B2 (ja) 音響信号処理装置
JPH05235698A (ja) サンプリング周波数変換器
JP2001069010A (ja) 圧縮方法及び装置、伸長方法及び装置、圧縮伸長システム、記録媒体
JP3336823B2 (ja) 音響信号処理装置
JP3991348B2 (ja) 符号化装置および方法、復号装置および方法、並びに記録媒体
JP3221041B2 (ja) サンプリング周波数変換器
JP3186324B2 (ja) 量子化レベル算出方法及び装置
JP3312539B2 (ja) 音響信号処理装置
KR100191754B1 (ko) 자기 기록 매체를 이용한 영상기기의 신호 기록 장치
JPS6329346B2 (ko)
TW484259B (en) Compression method and device, compression and expansion system, and recording medium
JP2001223595A (ja) 圧縮方法及び装置、伸長方法及び装置、記録媒体
JP2794719B2 (ja) 符号変換装置
JP4651311B2 (ja) サンプリング変換手段を備えたシステムおよびデジタルフィルタ
JPS63299511A (ja) ディジタルフィルタ装置
JPH066216A (ja) ビット長拡張装置

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination