KR100505566B1 - 서브코드 q데이타의 병렬 순환 여유 검사 방법 - Google Patents
서브코드 q데이타의 병렬 순환 여유 검사 방법 Download PDFInfo
- Publication number
- KR100505566B1 KR100505566B1 KR1019970035762A KR19970035762A KR100505566B1 KR 100505566 B1 KR100505566 B1 KR 100505566B1 KR 1019970035762 A KR1019970035762 A KR 1019970035762A KR 19970035762 A KR19970035762 A KR 19970035762A KR 100505566 B1 KR100505566 B1 KR 100505566B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- subcode
- parallel
- bit
- cyclic
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B2020/1264—Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
- G11B2020/1265—Control data, system data or management information, i.e. data used to access or process user data
- G11B2020/1267—Address data
- G11B2020/1271—Address data the address data being stored in a subcode, e.g. in the Q channel of a CD
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
- G11B2020/1843—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a cyclic redundancy check [CRC]
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
서브코드 Q데이타의 병렬 순환 여유 검사 방법이 개시된다. 본 발명에 따른 서브코드 Q데이타의 병렬 순환 여유 검사 방법은, N비트 쉬프트 레지스터의 각 비트 값과, 입력되는 소정 비트의 서브코드 Q데이타를 논리 조합하여 순환 여유 검사 데이타를 생성하고, 생성된 순환 여유 검사 데이타로부터 에러의 유무를 검사하는 서브코드 Q데이타의 순환 여유 검사 방법에 있어서, 서브코드 Q데이타 중에서 N(1)비트씩 병렬 Q데이타를 인가하는 제 1 단계, 인가된 N비트 병렬 Q데이타와 쉬프트 레지스터 값을 논리조합하여 순환 여유 검사 데이타를 생성하는 제 2 단계, 생성된 순환 여유 검사 데이타가 모두 0인가를 판단하는 단계, 순환 여유 검사 데이타가 모두 0이면, 에러가 없는 것으로 판별하는 단계, 및 상기 순환 여유 검사 데이타에 0이 아닌 값이 존재하면, 에러가 있는 것으로 판별하는 단계를 구비하는 것을 특징으로 한다.
Description
본 발명은 콤팩트 디스크 시스템의 에러 정정에 관한 것으로서, 서브코드 Q데이타에 존재하는 에러 정정을 위한 순환 여유 검사 코드를 처리하는데 있어서 워드 단위의 병렬 처리가 가능한 서브코드 Q데이타의 병렬 순환 여유 검사 방법에 관한 것이다.
일반적으로 콤팩트 디스크에 기록되는 단일 프레임의 신호에는 사용자를 위해 디스크를 사용하기 쉽게 하기 위한 코드로서 서브코드가 포함된다. 서브코드는 각각 한 비트를 차지하는 P ~ W의 8개의 채널로 구성되며, 이들 채널 중에서 P채널 및 Q채널은 곡의 서두나 새로 설정된 순서에 따라 재생하는 프로그램을 가지는데 관련된다. 즉, 콤팩트 디스크 시스템에서는 서브코드(subcode)라는 데이타 영역에 정보를 실어 보내는데 이에 대해서는 특별한 에러 정정 코드가 없고, 서브코드 Q데이타에만 순환 여유 검사 코드(Cyclic Redundancy Check code : CRC)가 있어서 이를 점검하여 서브코드 Q데이타에 에러가 존재하는지를 검사한다.
도 1은 종래의 CRC 회로를 설명하기 위한 회로도로서, 16개의 플립플롭들(11 ~ 16)로 이루어진 쉬프트 레지스터(110)와 제 1 배타적 오아 게이트(120), 제 2 배타적 오아 게이트(140) 및 제 3 배타적 오아 게이트(160) 및 DOSEM 게이트(180)로 이루어진다.
제 3 배타적 오아 게이트(160)는 데이타 입력 단자 DIN으로부터 순차적으로 입력되는 데이타들과 제 16 플립플롭(26)의 출력을 배타적 논리합이고, 배타적 논리합된 결과를 제 1 플립플롭(11), 제 1 배타적 오아 게이트(120) 및 제 2 배타적 오아 게이트(140)로 인가한다. 쉬프트 레지스터(110)의 플립플롭들(11 ~ 26)은 클럭 신호(CK)에 응답하여 입력된 데이타를 출력한다. 앤드 게이트(180)는 16개의 플립플롭들(11 ~ 26)의 각각의 출력들을 입력하여 논리곱하고, 논리곱된 결과를 출력 신호로서 출력 단자 OUT를 통하여 출력한다. 즉, 쉬프트 레지스터(110)의 최종적인 출력이 모두 0이면, 출력 단자 OUT를 통하여 출력되는 데이타는 0이 되고, 에러가 없는 것으로 판별되며, 만약 0이 아닌 값이 하나라도 있으면, 0이 출력되지 않으므로 에러가 있는 것으로 판별할 수 있다.
일반적인 서브코드 Q데이타에 적용된 CRC 다항식 g(x)는 다음과 같다.
[수학식 1]
g(x) = x16 + x12 + x5 + 1
도 1에 도시된 CRC 회로에서 수행되는 CRC 처리 방법 즉, CRC 데이타 생성 과정을 수학식으로 표현하면 다음과 같다.
[수학식 2]
여기에서, b는 쉬프트 레지스터(110)를 나타내고, a는 입력 데이타를 나타내고, [ ]는 위치를 나타낸다. 따라서, bn은 n번째 쉬프트 레지스터 값을 나타내고, 는 배타적 논리합을 나타낸다.
수학식 1에 나타난 바와 같이, 종래에는 데이타를 한 비트씩 입력하며 96비트의 서브코드 Q를 처리하기 위해서는 상술한 수학식을 96번 반복해야 한다. 따라서, 종래의 CRC 처리는 서브코드 Q데이타의 비트 단위로 이루어지기 때문에 처리속도가 늦어진다는 문제점이 있다.
본 발명이 이루고자 하는 기술적 과제는, 서브코드 Q데이타에 존재하는 에러 검출을 위한 CRC 코드를 병렬로 처리하는 서브코드 Q데이타의 병렬 순환 여유 검사 방법을 제공하는데 있다.
상기 과제를 이루기 위해, 본 발명에 따른 서브코드 Q데이타의 병렬 순환 여유 검사 방법은, N비트 쉬프트 레지스터의 각 비트 값과, 입력되는 소정 비트의 서브코드 Q데이타를 논리 조합하여 순환 여유 검사 데이타를 생성하고, 생성된 순환 여유 검사 데이타로부터 에러의 유무를 검사하는 서브코드 Q데이타의 순환 여유 검사 방법에 있어서, 서브코드 Q데이타 중에서 N(1)비트씩 병렬 Q데이타를 인가하는 제 1 단계, 인가된 N비트 병렬 Q데이타와 쉬프트 레지스터 값을 논리조합하여 순환 여유 검사 데이타를 생성하는 제 2 단계, 생성된 순환 여유 검사 데이타가 모두 0인가를 판단하는 단계, 순환 여유 검사 데이타가 모두 0이면, 에러가 없는 것으로 판별하는 단계, 및 순환 여유 검사 데이타에 0이 아닌 값이 존재하면, 에러가 있는 것으로 판별하는 단계로 구성되는 것이 바람직하다.
이하, 본 발명에 따른 서브코드 Q데이타의 병렬 순환 여유 검사 방법에 관하여 첨부된 도면을 참조하여 다음과 같이 설명한다.
도 2는 본 발명에 따른 서브코드 Q데이타의 병렬 순환 여유 검사 방법을 설명하기 위한 플로우차트로서, N비트의 병렬 Q데이타를 인가하는 단계(제 200 단계), 병렬 Q데이타와 쉬프트 레지스터 값을 논리조합하여 CRC 데이타를 생성하는 단계(제 220 단계) 및 CRC 데이타가 모두 0인가를 판단하고, 모두 0이면, 에러가 없는 것으로 판별하고, 0이 아닌 값이 존재하면 에러가 있는 것으로 판별하는 단계(제 240 ~ 280 단계)로 구성된다.
도 1에 도시된 종래의 서브코드 Q데이타의 CRC 회로를 이용하여 16비트의 데이타를 차례로 계산하면, 16비트의 병렬 데이타를 처리할 수 있는 계산식으로 얻을 수 있다.
우선, 도 1에 도시된 종래의 CRC 회로와 수학식 1에 따라서 16비트의 입력 데이타 a0 ~ a15를 순차적으로 인가했을 때의 출력값을 계산하여 16비트의 병렬 데이타를 처리하는 계산식을 얻는 과정을 상세히 설명한다.
데이타 입력 단자를 통해 a0가 입력되면, 제 3 배타적 오아 게이트(160)에는 a0가 출력되고, 제 1 배타적 오아 게이트(120)와 제 2 배타적 오아 게이트(140)에는 a0가 입력된다. 따라서, 쉬프트 레지스터(110)의 각 플립플롭(11 ~ 26)(b[0] ~ b[15])에는 각각 다음과 같은 값들이 생성된다.
bn[15] = bn -1[14]
여기서, bn은 n번째 쉬프트 레지스터 값을 나타내고, a는 입력 데이타를 나타낸다. 또한, 데이타 a1이 입력되면, 각각의 쉬프트 레지스터 값은 다음과 같이 표시된다.
bn[15] = bn -1[13]
bn[14] = bn -1[12]
따라서, 상기의 수학식을 이용하면, 서브코드 Q데이타를 한 비트씩 입력하는 것이 아니라 16비트씩 병렬로 입력하여 처리하는 것이 가능하게 된다.
상술한 전개 과정과 도 2에 도시된 플로우차트를 이용하여 본 발명에 따른 서브코드 Q데이타의 병렬 순환 여유 검사 방법을 설명하면, 우선 96비트의 서브코드 Q데이타 중 N비트씩 병렬 데이타를 인가한다(제 200 단계). 바람직하게는 16비트씩 병렬 데이타를 인가하여 처리하도록 되어 있으나, 처리 방법을 구현하기에 따라서 4비트 또는 8비트 즉, 바이트 단위로 병렬 데이타를 인가하여 처리하는 것이 가능하다. 인가된 병렬 데이타들은 상기의 수학식에서 나타난 바와 같이 해당하는 비트의 쉬프트 레지스터 값들과 배타적 오아 게이트에서 배타적 논리합되고, 배타적 논리합된 결과는 CRC를 검사하기 위한 데이타로서 생성된다(제 220 단계). 즉, 클럭신호(CK)에 응답하여 16비트씩 6번의 병렬 데이타가 입력되어 96비트의 Q데이타가 모두 입력되고, 상기의 과정을 통하여 쉬프트 레지스터(110)의 각 플립플롭(b[0] ~ b[15])에 생성된 값들을 검사하면 에러 발생 여유를 검출할 수 있다. 즉, 96비트의 서브코드 Q데이타를 수학식 1에 나타난 다항식으로 나누어 그 나머지를 CRC 검사 데이타로 이용한다. 결과적으로 상기의 과정으로부터 도출된 다음의 수학식을 이용한다.
[수학식 3]
상기의 수학식 3으로부터 생성된 CRC 데이타를 검사하면, 서브코드 Q데이타에 에러가 존재하는지의 유무를 판별할 수 있다. 즉, 96비트의 Q데이타를 처리하여 최종적으로 생성된 16비트의 CRC 데이타가 모두 0인지를 판단하고(제 240 단계), 모두 0이면, 에러가 없는 것으로 판별한다(제 260 단계). 만약, 0이 아닌 값이 존재하면, 서브코드 Q데이타 중에서 에러가 있는 것으로 판별한다(제 280 단계).
따라서, 수학식 3을 이용하여 워드 단위로 병렬로 처리하면, 종래의 방법보다 16배 빠르게 에러 검출이 가능하게 된다. 즉, 96비트 서브코드 1블럭을 처리하는데 종래의 방식으로 96n시간이 소요되었다면, 본 발명에 따른 CRC 방법에서는 6n의 시간만으로 처리할 수 있다.
본 발명에 따르면, CRC 처리에 있어서 비트 단위가 아닌 바이트 단위 또는 워드 단위로 병렬 처리가 가능하도록 구현함으로써 종래의 CRC 처리 속도에 비해 16배로 개선될 수 있다는 효과가 있다.
도 1은 종래의 서브코드 Q데이타의 병렬 순환 여유 검사 회로를 설명하기 위한 회로도이다.
도 2는 본 발명에 따른 서브코드 Q데이타의 병렬 순환 여유 검사 방법을 설명하기 위한 플로우차트이다.
Claims (2)
- N비트 쉬프트 레지스터의 각 비트 값과, 입력되는 소정 비트의 서브코드 Q데이타를 논리 조합하여 순환 여유 검사 데이타를 생성하고, 상기 생성된 순환 여유 검사 데이타로부터 에러의 유무를 검사하는 서브코드 Q데이타의 순환 여유 검사 방법에 있어서,상기 서브코드 Q데이타 중에서 N(1)비트씩 병렬 Q데이타를 인가하는 제 1 단계;상기 인가된 N비트 병렬 Q데이타와 상기 쉬프트 레지스터 값을 논리조합하여 순환 여유 검사 데이타를 생성하는 제 2 단계;생성된 상기 순환 여유 검사 데이타가 모두 0인가를 판단하는 단계;상기 순환 여유 검사 데이타가 모두 0이면, 에러가 없는 것으로 판별하는 단계; 및상기 순환 여유 검사 데이타에 0이 아닌 값이 존재하면, 에러가 있는 것으로 판별하는 단계를 구비하는 것을 특징으로 하는 서브코드 Q데이타의 병렬 순환 여유 검사 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970035762A KR100505566B1 (ko) | 1997-07-29 | 1997-07-29 | 서브코드 q데이타의 병렬 순환 여유 검사 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970035762A KR100505566B1 (ko) | 1997-07-29 | 1997-07-29 | 서브코드 q데이타의 병렬 순환 여유 검사 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990012389A KR19990012389A (ko) | 1999-02-25 |
KR100505566B1 true KR100505566B1 (ko) | 2005-11-08 |
Family
ID=37305839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970035762A KR100505566B1 (ko) | 1997-07-29 | 1997-07-29 | 서브코드 q데이타의 병렬 순환 여유 검사 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100505566B1 (ko) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6083261A (ja) * | 1983-10-14 | 1985-05-11 | Nippon Gakki Seizo Kk | サブコ−ド信号の読み取り回路 |
JPH04125749A (ja) * | 1990-09-17 | 1992-04-27 | Fujitsu Ltd | Romのid番号の検出回路 |
JPH0918354A (ja) * | 1995-07-04 | 1997-01-17 | Oki Electric Ind Co Ltd | 周期冗長検査方式の誤り検出符号生成装置及び誤り検出装置 |
KR970002631A (ko) * | 1995-06-29 | 1997-01-28 | 김주용 | 디코더를 이용한 순환 리던던시 체크 오류 검출 및 정정 장치 |
KR970050868A (ko) * | 1995-12-28 | 1997-07-29 | 김광호 | 병렬 crc 디코더 |
KR19980050154A (ko) * | 1996-12-20 | 1998-09-15 | 양승택 | 선택적 병력 crc-32 처리 인코더와 디코더 및 그 병렬처리 방법 |
-
1997
- 1997-07-29 KR KR1019970035762A patent/KR100505566B1/ko not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6083261A (ja) * | 1983-10-14 | 1985-05-11 | Nippon Gakki Seizo Kk | サブコ−ド信号の読み取り回路 |
JPH04125749A (ja) * | 1990-09-17 | 1992-04-27 | Fujitsu Ltd | Romのid番号の検出回路 |
KR970002631A (ko) * | 1995-06-29 | 1997-01-28 | 김주용 | 디코더를 이용한 순환 리던던시 체크 오류 검출 및 정정 장치 |
JPH0918354A (ja) * | 1995-07-04 | 1997-01-17 | Oki Electric Ind Co Ltd | 周期冗長検査方式の誤り検出符号生成装置及び誤り検出装置 |
KR970050868A (ko) * | 1995-12-28 | 1997-07-29 | 김광호 | 병렬 crc 디코더 |
KR19980050154A (ko) * | 1996-12-20 | 1998-09-15 | 양승택 | 선택적 병력 crc-32 처리 인코더와 디코더 및 그 병렬처리 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR19990012389A (ko) | 1999-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR950012983B1 (ko) | 리드솔로몬부호의 복호방법 | |
EP0032055B1 (en) | Document processing system | |
JP2721099B2 (ja) | エラーバースト修正のための試行錯誤方法及びマルチバイトエラーの修正方法 | |
US4994993A (en) | System for detecting and correcting errors generated by arithmetic logic units | |
JPH0728227B2 (ja) | Bch符号の復号装置 | |
KR100188147B1 (ko) | 주기적 여유 코드를 이용한 오류검출회로 | |
JP3257298B2 (ja) | Crc符号生成方法 | |
KR100505566B1 (ko) | 서브코드 q데이타의 병렬 순환 여유 검사 방법 | |
JP2627581B2 (ja) | デジタル信号中でエラー検出コードを発生するための電子回路 | |
KR100253043B1 (ko) | 에러 정정 방법 및 정정 회로 | |
US5588010A (en) | Parallel architecture error correction and conversion system | |
KR19980087328A (ko) | 신드롬 계산 장치 | |
JP2685186B2 (ja) | 誤り訂正装置 | |
RU2037271C1 (ru) | Устройство для коррекции ошибок | |
JPH0629953A (ja) | エラー検出回路 | |
US6581083B1 (en) | Syndrome generator and method for generating syndromes in a video/audio processing system | |
JP2858538B2 (ja) | 再シンドロームチェック方式 | |
JPH05335969A (ja) | 誤り訂正装置 | |
KR930001921B1 (ko) | 사이클릭 리던던시 코드 체크회로 | |
KR0186166B1 (ko) | 씨디-롬 드라이버의 에러 검출장치 | |
KR20000013501A (ko) | 고속 직렬 버스 인터페이스에서의 병렬 순환 여유 검사방법 | |
KR100230419B1 (ko) | 섹터 싱크 보호 회로 | |
KR0166153B1 (ko) | 에러정정 시스템의 에러위치 검색회로 | |
JP2002207593A (ja) | ガロア体乗算器およびガロア体除算器 | |
JPS61152131A (ja) | エラ−解析演算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |