KR100474886B1 - 동기검출장치 - Google Patents

동기검출장치 Download PDF

Info

Publication number
KR100474886B1
KR100474886B1 KR1019970036240A KR19970036240A KR100474886B1 KR 100474886 B1 KR100474886 B1 KR 100474886B1 KR 1019970036240 A KR1019970036240 A KR 1019970036240A KR 19970036240 A KR19970036240 A KR 19970036240A KR 100474886 B1 KR100474886 B1 KR 100474886B1
Authority
KR
South Korea
Prior art keywords
byte
counter
result
packet
sync
Prior art date
Application number
KR1019970036240A
Other languages
English (en)
Other versions
KR19990012736A (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 KR1019970036240A priority Critical patent/KR100474886B1/ko
Publication of KR19990012736A publication Critical patent/KR19990012736A/ko
Application granted granted Critical
Publication of KR100474886B1 publication Critical patent/KR100474886B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/04Synchronising

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

엠펙 2(MPEG 2) 트랜스포트 스트림(TS)의 모든 패킷의 처음에 존재하는 동기 바이트를 찾는 동기 검출 장치에 관한 것으로서, 특히 188 바이트에 대한 연산 결과를 모두 저장할 수 있는 188 비트 레지스터 또는 2개의 레지스터의 크기를 적당히 변화시켜 188 바이트를 모두 저장할 수 있도록 하면서 각 레지스터에 저장된 '0'의 개수를 카운트하는 카운트등을 이용하여 패킷 동기를 찾거나, 동기 바이트 값인 Ox47 값을 갖는 데이터 바이트가 입력될 때마다 교대로 동작하면서 데이터 바이트의 개수를 카운트하는 복수개의 카운터와 새로운 Ox47이 입력될 때마다 복수개의 카운터의 카운트 결과 또는 복수개의 카운터의 카운트 결과를 합한 값을 이용하여 패킷 동기를 찾음으로써, 패킷 동기를 찾는데 최소한의 패킷만을 사용하므로 그만큼 패킷 정보의 손실을 막을 수 있을 뿐만 아니라 동기 바이트를 빨리 찾을 수 있어 엠펙 2 트랜스포트 디멀티플렉서(MTD)를 동작시키기까지의 시간을 줄일 수 있게된다.

Description

동기 검출 장치{apparatus for detecting a synchronous signal}
본 발명은 엠펙 2(MPEG 2) 트랜스포트 스트림(Transport Stream ; TS)의 패킷 동기를 찾는 알고리즘에 관한 것으로서, 특히 MPEG 2 트랜스포트 스트림의 모든 패킷의 처음에 존재하는 동기 바이트를 찾는 동기 검출 장치에 관한 것이다.
통상, MPEG 2 트랜스포트 스트림은 188 바이트의 길이를 갖는 패킷들로 구성되어 있는데, 이 패킷들은 모두 4 바이트의 패킷 헤더를 갖고 있다. 이 패킷 헤더의 맨 처음 1 바이트는 동기 바이트로 모든 패킷에 대하여 동일한 값 Ox47을 갖는다. 그러므로, MPEG 2 트랜스포트 디멀티플렉서(MTD)는 188 바이트마다 규칙적으로 반복되는 동기 바이트를 찾아야 입력되는 모든 패킷의 시작을 알 수 있게되고, 정상적으로 디멀티플렉싱 과정을 수행할 수 있게된다.
이렇게 동기 바이트를 찾는 과정은 MPEG 2 트랜스포트 디멀티플렉서(MTD)가 초기화를 실행할 때 즉, 전원을 넣어 동작을 시작할 때 수행되고, 디멀티플렉싱 도중에 에러가 발생하여 패킷 동기를 잃어버렸을 때 수행된다. 그러므로, 채널의 상태가 고르지 못하여 에러가 자주 발생하는 상황에서는 빨리 패킷 동기를 찾는 것이 성능에 중요한 영향을 끼치게 된다.
도 1은 이러한 동기 바이트를 찾는 종래의 방법으로서, S는 Ox47값을 갖는 동기 바이트이고 X는 동기 바이트가 아니라고 가정할 때 동기 바이트 찾는 방법을 설명한다.
즉, 먼저 입력되는 데이터 바이트 중에서 동기 바이트 값인 Ox47을 찾고 188 바이트 뒤의 데이터 바이트가 동기 바이트 값인 Ox47인지를 확인한다.
이때, 도 1에서 확인한 값이 동기 바이트가 아니므로 다시 다음 데이터 바이트들 중에서 처음 나오는 Ox47을 찾고 188 바이트 뒤의 데이터 바이트가 동기 바이트 값인 Ox47인지를 확인하는 동작을 188 바이트 뒤의 데이터 바이트가 동기 바이트 값으로 확인될 때까지 반복한다.
이러한 방식으로 188 바이트 뒤의 데이터 바이트가 동기 바이트 값인 Ox47로 확인되면 188 바이트마다 연속되는 몇 개의 동기 바이트들을 찾는 동작을 반복한다. 이는 일반적인 데이터 바이트가 우연히 188 바이트 주기로 존재할 수 있으므로 이를 동기 데이터로 검출하는 오류를 막기 위해서이다.
따라서, 188 바이트마다 동기 바이트들이 연속적으로 일정 개수 존재하면 동기를 찾았다고 판단하고 다음 동작을 수행한다.
그러나, 상기된 종래의 방법은 동기 바이트를 결정하기 전까지의 패킷들의 정보는 이용할 수 없으므로 동기 바이트를 찾기위해 많은 패킷들의 정보를 잃어버리는 경우가 생길 수 있는 단점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 MPEG 2 트랜스포트 디코더(MTD)가 입력받는 트랜스포트 스트림에서 패킷 동기를 빠르게 찾아 패킷 정보의 손실을 최소화하는 동기 검출 장치를 제공함에 있다.
본 발명의 다른 목적은 패킷 동기를 찾아내는 시스템의 구조를 단순화하여 하드웨어를 줄이는 동기 검출 장치를 제공함에 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 제 1 실시예에 따른 동기 검출 장치의 특징은, 188 바이트 단위로 입력되는 데이터 바이트와 미리 설정된 동기 바이트 값을 배타적 논리합에 의해 비교하는 비교기와, 상기 비교기의 결과와 이전 값을 연산한 결과를 저장하는 188 비트 레지스터와, 상기 레지스터에 저장된 '0'의 개수를 카운트하는 카운터의 카운트 결과가 1이 될 때까지 패킷 단위로 새로 입력되는 데이터 바이트에 대해 비교 및 연산과 레지스터에의 저장 그리고, 카운트 동작을 반복 수행하여 상기 카운터의 카운트 결과가 1이 되면 다음 1 패킷 단위에 대하여 비교 및 연산이 수행되어 상기 레지스터에 저장되는 값이 '0'이 되는 위치를 동기 바이트로 판별하는 동기 바이트 검출부로 구성되는데 있다.
본 발명의 제 2 실시예에 따른 동기 검출 장치의 특징은, M 바이트 단위로 입력되는 데이터 바이트와 미리 설정된 동기 바이트 값을 배타적 논리합에 의해 비교하고 비교 결과를 순차적으로 저장하는 M 비트 레지스터와, 입력되는 M 바이트에 대한 비교 결과가 M 비트 레지스터에 순차적으로 모두 저장되면 상기 M 비트 레지스터에 저장된 값을 모두 리드하여 논리곱하는 로직부와, 상기 로직부의 결과와 이전 값을 논리합한 결과를 저장하는 N 비트 레지스터와, 상기 N 비트 레지스터에 저장된 '0'의 개수를 카운트하는 제 1 카운터와, 상기 제 1 카운터의 카운트 결과가 1이 될 때까지 패킷 단위로 새로 입력되는 데이터 바이트에 대해 비교 및 연산과 M, N 비트 레지스터에의 저장 그리고, 카운트 동작을 반복 수행하여 상기 제 1 카운터의 카운트 결과가 1이 되면 다음 M 바이트 데이터에 대한 비교 결과가 저장되는 상기 M 비트 레지스터에 포함된 '0'의 개수를 카운트하는 제 2 카운터와, 상기 제 2 카운터의 카운트 결과가 1이 되는 해당 M 바이트 중에서 '0'이 되는 위치를 동기 바이트로 판별하는 동기 바이트 검출부로 구성되는데 있다.
여기서, 상기 M 비트 × N 비트 레지스터는 1 패킷에 해당하는 데이터 바이트의 비교 및 연산 결과를 저장할 수 있는 크기임을 특징으로 한다.
본 발명의 제 3 실시예에 따른 동기 검출 장치의 특징은, 1 패킷 단위로 입력되는 데이터 바이트와 미리 설정된 동기 바이트 값을 배타적 논리합에 의해 비교하는 비교기와, 상기 비교기에서 입력되는 데이터 바이트가 동기 바이트 값과 같다고 판별될 때마다 선택적으로 로드되어 입력되는 데이터 바이트의 수를 카운트하는 복수개의 카운터와, 상기 복수개의 카운터에서 교대로 카운트되는 카운트 개수를 더하는 합산기와, 상기 비교기에서 입력되는 데이터 바이트가 동기 바이트 값과 같다고 판별될 때마다 복수개의 카운터의 각 카운트 개수 또는 합산기의 합산 개수가 188인지를 188 검출부와, 상기 검출부에서 188이 검출되면 다음 188 바이트에 대해 데이터 바이트가 입력될 때마다 카운트를 수행하는 카운터와, 상기 카운터가 끝나면 카운터의 출력과 비교기의 출력을 논리합하여 0이 되는 위치를 동기 바이트로 판별하는 동기 바이트 검출부로 구성되는데 있다.
이하, 본 발명의 바람직한 실시예를 첨부도면을 참조하여 상세히 설명한다.
제 1 실시예
도 2는 본 발명의 제 1 실시예에 따른 동기 검출 장치의 구성 블록도로서, 188 비트의 레지스터와 카운터를 이용하여 패킷 동기를 찾는다.
도 2를 보면, 188 바이트 단위로 입력되는 데이터 바이트와 동기 바이트 값인 Ox47을 배타적 논리합에 의해 비교하는 비교기(21), 상기 비교기(21)의 결과와 이전 레지스터 값을 논리합한 결과를 순차적으로 저장하는 188 비트 레지스터(23), 상기 비교기(21)의 결과와 상기 레지스터(23)에서 순차적으로 리드되는 각 위치의 값을 논리합하여 상기 레지스터(23)의 해당 위치에 저장하는 로직부(22), 상기 레지스터(23)에 저장된 '0'의 개수를 카운트하는 카운터(24), 상기 카운터(24)의 결과가 1이면 다음 188 바이트에 대하여 데이터 바이트와 Ox47을 비교한 비교기(21)의 출력과 레지스터(23)의 값을 논리합하여 '0'이 되는 부분을 동기 바이트로 판별하는 동기 바이트 검출부(25)를 포함하여 구성된다.
이와같이 구성된 제 1 실시예는 먼저 처음 들어오는 188 바이트에 대해서는 비교기(21)에서 들어오는 데이터 바이트와 동기 바이트 값인 Ox47을 배타적 논리합하여 그 결과를 오아 게이트로 구성된 로직부(22)를 통해 188 비트 레지스터(23)에 하나씩 순차적으로 저장한다. 이때, 188 비트 레지스터(23)에 초기값으로 '0'을 설정하면, 맨처음 들어오는 188 바이트에 대해서는 비교기(21)의 결과가 그대로 로직부(22)를 통해 레지스터(23)에 저장된다. 여기서, 입력되는 데이터 바이트가 동기 바이트 값인 Ox47과 동일하면 비교기(21)의 출력은 '0'이 되고, 비교기(21)의 출력과 레지스터(23)에서 리드된 이전 데이터가 모두 '0'이면 로직부(22)의 출력은 '0'이 되어 레지스터(23)의 리드된 위치에 저장된다.
한편, 상기와 같은 과정에 의해 처음 들어오는 188 바이트에 대한 결과가 188 비트 레지스터(23)에 저장되면 카운터(24)는 188 비트 레지스터(23)에 저장된 데이터들중에서 '0'의 개수를 카운트하여 동기 바이트 검출부(25)로 출력한다. 이때, 카운터(24)의 카운트 결과가 2 이상이면 즉, 188 비트 레지스터(23)에 저장된 '0'의 개수가 2개 이상이면 다음 188 바이트에 대하여 비교기(21)에서는 입력되는 데이터 바이트와 Ox47을 비교하고, 로직부(22)에서는 비교기(21)의 결과를 188 비트 레지스터(23)에서 리드된 이전 레지스터 값과 연산을 하여 다시 레지스터(23)의 해당 위치에 저장한다.
이와같은 과정을 188 비트 레지스터(23)에 저장된 '0'의 개수를 카운트하는 카운터(24) 값이 1이 될 때까지 반복한다. 이는 188 비트 레지스터(23)에 저장된 '0'의 개수가 1이 되면 그 위치가 동기 바이트일 확률이 매우 크기 때문이다. 즉, 일반 데이터 바이트 값이 Ox47인 경우는 있을 수 있으나 188 바이트 마다 연속적으로 일반 데이터 값이 Ox47인 경우는 거의 드물다.
따라서, 상기 카운터(24)의 출력 값이 1이 되면 좀더 확실한 동기 바이트 검출을 위해 동기 바이트 검출부(25)는 입력되는 다음 188 바이트에 대하여 비교기(21)에서 데이터 바이트와 Ox47를 비교한 결과를 상기 로직부(22)에서 이전 레지스터 값과 논리합한 결과가 '0'이 되는 위치를 동기 바이트로 판별한다.
이와같이 상기된 제 1 실시예는 패킷 동기를 찾는데 최소한의 패킷만 사용하므로 동기 바이트를 가장 빨리 찾는다. 따라서, 그만큼 패킷 정보의 손실을 막을 수 있게된다.
제 2 실시예
도 3은 본 발명의 제 2 실시예에 따른 동기 검출 장치의 구성 블록도로서, 상기된 제 1 실시예보다 레지스터의 크기를 줄이기 위하여 16 비트 레지스터와 12 비트 레지스터 그리고, 카운터를 이용하여 패킷 동기를 찾는데, 16 바이트씩의 데이터를 각각 Ox47과 비교하여 그 결과를 16 비트 레지스터에 저장하고 이들 16 비트를 연산하여 그 결과를 12 비트 레지스터에 저장한다.
즉, 도 3을 보면, 16 바이트 단위로 입력되는 데이터 바이트와 동기 바이트 값인 Ox47을 배타적 논리합에 의해 비교하는 비교기(31), 상기 비교기(31)의 결과를 순차적으로 저장하는 16 비트 레지스터(32), 16 비트 레지스터(32)에 저장된 값을 리드하여 논리곱하는 제 1 로직부(33), 상기 제 1 로직부(33)의 결과와 리드된 이전 12 비트 레지스터 값을 논리합하는 제 2 로직부(34), 제 2 로직부(34)에서 논리합한 결과를 순차적으로 저장하는 12 비트 레지스터(35), 상기 12 비트 레지스터(35)에 저장된 '0'의 개수를 카운트하는 제 1 카운터(36), 상기 제 1 카운터(36)의 결과가 1이면 다음 16 바이트에 대하여 입력되는 데이터 바이트와 Ox47을 비교한 비교기(31)의 결과가 저장되는 16비트 레지스터(32)에서 '0'의 개수를 카운트하는 제 2 카운터(38), 제 2 카운터(38)의 결과가 1이면 해당되는 위치의 16 바이트 중에서 동기 바이트가 있다고 판별하는 동기 바이트 검출부(37)를 포함하여 구성된다.
이때, 한 패킷의 길이가 188 바이트이므로 마지막은 12 바이트에 대해서만 비교기(31)에서 비교하여 16 비트 레지스터(32)에 저장하고, 제 1, 제 2 로직부(33,34)에서도 12 비트만 연산한 후 12 비트 레지스터(35)의 마지막 저장 위치에 저장한다.
그리고, 본 발명의 제 2 실시예는 18 비트 레지스터(32)와 12 비트 레지스터(35)의 크기를 적당히 바꾸어서 구현할 수 있다. 즉, 16 비트 레지스터와 12 비트 레지스터의 위치를 서로 바꾸거나, 아니면 8 비트 레지스터와 24 비트 레지스터등 188 바이트를 처리할 수 있도록 2개의 레지스터 크기를 적당히 변화시켜 조정하면 가능하다.
이와같이 구성된 본 발명의 제 2 실시예는 먼저 처음 들어오는 16 바이트에 대해서는 비교기(31)에서 들어오는 데이터 바이트와 동기 바이트 값인 Ox47을 배타적 논리합하여 그 결과를 16 비트 레지스터(32)에 순차적으로 저장한다. 이때, 입력되는 데이터 바이트가 동기 바이트 값과 동일하면 16 비트 레지스터(32)의 해당 위치에는 '0'이 저장된다. 입력되는 16 바이트 데이타에 대한 비교기(31)의 결과가 16 비트 레지스터(32)에 순차적으로 모두 저장되면 앤드 게이트로 구성된 제 1 로직부(33)는 16 비트 레지스터(32)의 값을 모두 리드하여 논리곱한 후 오아 게이트로 구성된 제 2 로직부(34)로 출력한다. 그러므로, 16 비트 레지스터(32)에 '0'이 하나라도 저장되어 있으면 즉, 입력되는 16 바이트중 하나라도 Ox47 값을 갖는 데이터 바이트가 있다면 제 1 로직부(33)의 출력은 0이 된다.
이때, 상기 제 2 로직부(34)는 상기 제 1 로직부(33)의 결과와 12 비트 레지스터(35)에서 리드된 이전 값을 논리합하여 12 비트 레지스터(35)의 해당 위치에 저장한다.
이러한 과정을 거쳐 12 비트 레지스터(35)에 제 2 로직부(34)의 결과가 순차적으로 모두 저장되면 188 바이트의 데이터가 모두 입력된 것이다. 이때, 한 패킷의 길이가 188 바이트인데 16 비트 레지스터(32)와 12 비트 레지스터(35)를 풀로 이용하면 모두 192 바이트에 대한 결과가 저장(16×12 비트 = 192 비트)되므로 마지막은 12 바이트에 대해서만 비교기(31)에서 동기 바이트와 순차적으로 배타적 논리합하여 16 비트 레지스터(32)에 저장하고, 그 결과를 제 1 로직부(33)와 제 2 로직부(34)를 통해 12 비트 레지스터(35)에 저장한다. 그리고, 12 비트 레지스터(35)에 초기값으로 '0'을 설정하면, 맨처음 들어오는 188 바이트에 대해서는 제 1 로직부(33)의 결과가 그대로 제 2 로직부(34)를 통해 12 비트 레지스터(35)에 저장된다.
한편, 제 1 카운터(36)는 12 비트 레지스터(35)에 저장된 데이터들중에서 '0'의 개수를 카운트하여 동기 바이트 검출부(37)로 출력한다. 이때, 제 1 카운터(36)의 카운트 결과가 2 이상이면 즉, '0'의 개수가 2개 이상이면 다음 188 바이트에 대하여 비교기(31)에서는 16 바이트 단위로 입력되는 데이터 바이트와 동기 바이트 값인 Ox47을 비교하여 16 비트 레지스터(32)에 저장하고, 제 1 로직부(3)는 16 비트 레지스터(32)의 값을 리드하여 논리곱하고, 제 2 로직부(34)는 이전 12 비트 레지스터 값과 제 1 로직부(33)의 결과를 논리합하여 다시 12 비트 레지스터(35)의 해당 위치에 저장한다. 그리고, 12 비트 레지스터(35)에 새로운 데이터가 모두 저장되면 제 1 카운터(36)는 12 비트 레지스터(35)에 저장된 '0'의 개수를 카운트하여 동기 바이트 검출부(37)로 출력한다.
이와같은 과정을 12 비트 레지스터(35)에 저장된 '0'의 개수를 카운트하는 제 1 카운터(36)의 카운트 결과가 1이 될 때까지 반복한다. 이는 12 비트 레지스터(35)에 저장된 '0'의 수가 1이 되면 그 위치가 동기 바이트일 확률이 매우 크기 때문이다. 즉, 일반 데이터 바이트 값이 Ox47인 경우는 있을 수 있으나 188 바이트 마다 연속적으로 일반 데이터 값이 Ox47인 경우는 거의 드물기 때문이다.
따라서, 상기 제 1 카운터(36)의 카운트 결과가 1이 되면 제 2 카운터(38)는 다음 16 바이트에 대하여 동기 바이트와 배타적 논리합한 결과가 저장된 16 비트 레지스터(32)에서 '0'의 개수를 카운트한다. 이때, 제 2 카운터(38)의 값이 1이 아니면 그다음 16 바이트에 대해 동기 바이트와 배타적 논리합한 결과가 16 비트 레지스터(32)에 저장되고 제 2 카운터(38)는 16 비트 레지스터(32)에 저장된 '0'의 개수를 카운트한다. 이러한 과정에 의해 제 2 카운터(38)의 카운트 결과가 1이 되면 해당되는 위치의 16 바이트 중에 동기 바이트가 존재한다는 사실을 알 수 있으므로 동기 바이트 검출부(37)는 그 블록내에서 동기 바이트를 검출할 수 있다.
이와같이 본 발명의 제 2 실시예는 동기 바이트를 찾는데 걸리는 시간이 제 1 실시예보다 늘어날 가능성은 있지만 레지스터의 크기는 제 1 실시예보다 줄일 수 있다. 즉, 제 1 실시예는 188 비트의 레지스터가 필요하나 제 2 실시예는 28 비트 레지스터만 있으면 충분하다. 또한, 제 1 실시예와 마찬가지로 패킷 동기를 찾는데 최소한의 패킷만 사용하므로 그만큼 패킷 정보의 손실을 막을 수 있게된다.
제 3 실시예
도 4는 본 발명의 제 3 실시예에 따른 동기 검출 장치의 구성 블록도로서, 여러개의 카운터를 이용하여 패킷 동기를 찾는다.
도 4를 보면, 188 바이트 단위로 입력되는 데이터 바이트와 동기 바이트 값인 Ox47을 배타적 논리합에 의해 비교하는 비교기(41), 상기 비교기(41)의 결과가 0인지를 판별하고 0이면 스위칭 제어 신호를 출력하는 제로 판별부(42), 상기 제로 판별부(42)에서 출력되는 스위칭 제어 신호에 따라 스위칭되는 스위칭부(43), 상기 스위칭부(43)의 스위칭에 따라 로드되어 카운트를 시작하는 제 1 및 제 2 카운터(44,45), 상기 제 1 카운터(44)에서 카운트되는 개수와 제 2 카운터(45)에서 카운트되는 개수를 더하는 합산기(46), 입력되는 데이터 바이트 값이 Ox47 임이 판별될때마다 상기 제 1 카운터(44)의 출력 또는 제 2 카운터(45)의 출력 또는 합산기(46)의 출력이 188인지를 판별하여 188이 검출되지 않으면 제 1 카운터(44) 또는 제 2 카운터(45)와 합산기(46)를 리셋시키는 188 검출부(47), 상기 검출부(47)에서 188이 검출되면 한 패킷의 길이만큼을 건너뛰기 위해서 데이터 바이트가 입력될 때마다 카운트를 수행하여 188까지 카운트가 수행되면 0을 출력하는 188 바이트 카운터(48), 상기 비교기(41)의 출력과 188 바이트 카운터(48)의 출력을 논리합하여 0이면 동기 바이트로 판별하는 로직부(49)를 포함하여 구성된다.
이때, 상기 카운터(48)는 업 카운터를 이용하여 데이터 바이트가 입력될 때마다 1씩 증가시켜 카운트 개수가 188이 되면 0을 출력하게 할 수도 있고, 다운 카운터를 이용하여 초기 값으로 188을 설정하고 데이터 바이트가 입력될 때마다 1씩 감소시켜 0이 되면 그 0을 출력하게 할 수도 있다.
이와같이 구성된 본 발명의 제 3 실시예는 먼저 처음 들어오는 188 바이트에 대해서 비교기(42)에서는 입력되는 데이터 바이트와 동기 바이트 값인 Ox47을 배타적 논리합하여 제로 판별부(42)로 출력한다. 제로 판별부(42)는 비교기(42)의 출력이 0이면 즉, 입력되는 데이터 바이트가 동기 바이트 값인 Ox47과 같으면 스위칭 제어 신호를 출력한다. 제로 판별부(42)에서 출력되는 스위칭 제어 신호에 따라 스위칭부(43)는 제 1 카운터(43)에 접속되어 입력되는 데이터 바이트의 개수를 카운트한다. 이는 제로 판별부(42)에서 0이 검출되어 다시 스위칭 제어 신호가 출력될 때까지 즉, 입력되는 데이터 바이트가 동기 바이트인 Ox47과 같아질 때까지 계속된다.
따라서, 새로 입력되는 데이터가 바이트가 Ox47이면 비교기(41)의 출력은 0이 되고, 제로 판별부(42)는 이를 검출하여 스위칭 제어 신호를 출력한다. 스위칭부(43)는 스위칭 제어 신호에 따라 스위칭되어 제 2 카운터(45)로 접속된다. 따라서, 제 1 카운터(44)는 카운트 동작을 중지하고, 제 2 카운터(45)가 입력되는 데이터 바이트의 개수를 카운트한다.
상기 제 2 카운터(45)도 마찬가지로 입력되는 데이터 바이트가 Ox47이면 제로 판별부(42)에서 출력되는 스위칭 제어 신호에 따라 스위칭부(43)와 접속이 끊어지면서 카운트 동작을 중지하고, 스위칭부(43)는 제 1 카운터(44)로 접속된다.
그리고, 제 1 카운터(44) 또는 제 2 카운터(45)의 동작이 중지될 때마다 즉, 새로운 Ox47이 입력될 때마다 188 검출부(47)는 제 1 카운터(44)에서 카운트된 개수 또는 제 2 카운터(45)에서 카운트된 개수 또는 제 1 카운터(44)에서 카운트된 개수와 제 2 카운터(45)에서 카운트된 개수를 합한 합산기(46)의 출력이 188인지를 판별한다. 이때, 셋중에서 어떤 것도 188이라는 값을 가지고 있지 않으면 다른 카운터를 동작시킨다. 즉, 제 1 카운터(44)의 동작이 중지됨과 동시에 188 검출부(47)에서 188이 검출되지 않으면 제 2 카운터(45)를 리셋시킨 후 동작시키고, 제 2 카운터(44)의 동작이 중지됨과 동시에 188 검출부(47)에서 188이 검출되지 않으면 제 1 카운터(44)를 리셋시킨 후 동작시킨다.
이러한 과정에 의해 제 1 카운터(44)에서 카운트된 개수 또는 제 2 카운터(45)에서 카운트된 개수 또는 제 1 카운터(44)에서 카운트된 개수와 제 2 카운터(45)에서 카운트된 개수를 합한 합산기(46)의 출력중 어느 하나가 188이라고 188 검출부(47)에서 판별되면 188 바이트 카운터(48)가 동작한다. 상기 188 바이트 카운터(48)는 제 1 카운터(44) 또는 제 2 카운터(45)의 동작이 멈춘 후부터 188 바이트를 건너뛰는데 사용한다. 즉, 188 바이트 카운터(48)는 데이터 바이트가 입력될 때마다 카운트를 수행하여 188 까지 카운트가 수행되면 오아 게이트로 구성된 로직부(49)로 0을 출력한다.
상기 로직부(49)는 상기 188 바이트 카운터(48)의 출력이 0이고, 비교기(41)의 출력이 0이면 그때 입력되는 데이터 바이트의 값을 패킷 동기로 판별한다. 만일 그렇지 않으면 즉, 비교기(41)의 출력이 0이 아니면 그때 입력되는 데이터 바이트는 Ox47이 아니므로 패킷 동기가 아니다. 따라서, 다시 제 1, 제 2 카운터(44,45)를 리셋시키고 Ox47 값을 갖는 데이터 바이트가 입력될 때까지 기다렸다가 처음과 같은 동작을 반복한다.
이와같이 본 발명의 제 3 실시예은 한 패킷 안에서 동기 바이트 위치를 제외한 187 바이트중에 동기 바이트 값인 Ox47을 갖는 데이터 바이트가 하나 이하로 존재할 때 쉽게 패킷 동기를 찾을 수 있다. 확률적으로 볼 때 동기 바이트 위치를 제외한 부분에서 Ox47 값을 갖는 데이터 바이트의 개수는 대략 3/4 정도이므로 제 3 실시예는 효과적인 방법이라고 볼 수 있다.
이상에서와 같이 본 발명에 따른 동기 검출 장치에 의하면, 188 바이트에 대한 연산 결과를 모두 저장할 수 있는 188 비트 레지스터 또는 2개의 레지스터의 크기를 적당히 변화시켜 188 바이트를 모두 저장할 수 있도록 하면서 각 레지스터에 저장된 '0'의 개수를 카운트하는 카운트등을 이용하여 패킷 동기를 찾거나, 동기 바이트 값인 Ox47 값을 갖는 데이터 바이트가 입력될 때마다 교대로 동작하면서 입력되는 데이터 바이트의 개수를 카운트하는 복수개의 카운터와 새로운 Ox47이 입력될 때마다 복수개의 카운터의 각 카운트 결과 또는 복수개의 카운터의 각 카운트 결과를 합한 값을 이용하여 패킷 동기를 찾음으로써, 패킷 동기를 찾는데 최소한의 패킷만을 사용하므로 그만큼 패킷 정보의 손실을 막을 수 있을 뿐만 아니라 동기 바이트를 빨리 찾을 수 있어 엠펙 2 트랜스포트 디멀티플렉서(MTD)를 동작시키기까지의 시간을 줄이는 효과가 있다. 특히, 패킷 동기를 찾는 동작이 자주 수행되어야 하는 시스템에서는 우수한 성능을 발휘할 수 있다.
도 1은 종래의 동기 검출 과정을 나타낸 도면
도 2는 본 발명의 제 1 실시예에 따른 동기 검출 장치를 나타낸 구성 블록도
도 3은 본 발명의 제 2 실시예에 따른 동기 검출 장치를 나타낸 구성 블록도
도 4는 본 발명의 제 3 실시예에 따른 동기 검출 장치를 나타낸 구성 블록도
도면의 주요 부분에 대한 부호의 설명
21,31,41 : 비교기 22,34,49 : 로직부(OR)
23 : 188 비트 레지스터 24,36,38 : 카운터
25,37 : 동기 바이트 검출부 32 : 16 비트 레지스터
33 : 로직부(AND) 35 : 12 비트 레지스터
42 : 제로 판별부 43 : 스위칭부
44 : 제 1 카운터 45 : 제 2 카운터
46 : 합산기 47 : 188 검출부
48 : 188 바이트 카운터

Claims (6)

  1. 패킷들로 구성된 엠펙 2 트랜스포트 스트림의 각 패킷마다 존재하는 동기 바이트를 찾는 동기 검출 장치에 있어서,
    데이터 바이트와 미리 설정된 동기 바이트 값을 배타적 논리합에 의해 비교하는 비교기와,
    초기값으로 0을 저장하고, 이후 상기 비교기의 결과와 이전 값을 연산한 결과를 저장하는 188비트 크기의 레지스터와,
    상기 비교기의 결과와 상기 레지스터에 저장된 같은 위치의 이전 값을 리드하여 논리합한 후 다시 상기 레지스터의 같은 위치에 저장하는 로직부와,
    1 패킷 단위로 상기 레지스터에 저장된 데이터들 중 '0'의 개수를 카운트하는 카운터와,
    상기 카운터의 카운트 결과가 1이 될 때까지 패킷 단위로 새로 입력되는 데이터 바이트에 대해 비교 및 연산과 레지스터에의 저장 그리고, 카운트 동작을 반복 수행하여 상기 카운터의 카운트 결과가 1이 되면 다음 1 패킷 단위에 대하여 비교 및 연산이 수행되어 상기 로직부의 출력이 '0'이 되는 위치를 동기 바이트로 판별하는 동기 바이트 검출부를 포함하여 구성됨을 특징으로 하는 동기 검출 장치.
  2. 패킷들로 구성된 엠펙 2 트랜스포트 스트림의 각 패킷마다 존재하는 동기 바이트를 찾는 동기 검출 장치에 있어서,
    M 바이트 단위로 입력되는 데이터 바이트와 미리 설정된 동기 바이트 값을 배타적 논리합에 의해 비교하는 비교기와,
    상기 비교기의 결과를 순차적으로 저장하는 M 비트 레지스터와,
    입력되는 M 바이트에 대한 비교 결과가 M 비트 레지스터에 순차적으로 모두 저장되면 상기 M 비트 레지스터에 저장된 값을 모두 리드하여 논리곱하는 제 1 로직부와,
    상기 제 1 로직부의 결과와 이전 값을 연산한 결과를 저장하는 N 비트 레지스터와,
    상기 제 1 로직부의 결과와 상기 N 비트 레지스터에서 순차적으로 리드되는 이전 값을 논리합하여 다시 상기 N 비트 레지스터에 순차적으로 저장하는 과정을 N번 반복하는 제 2 로직부와,
    상기 제 2 로직부의 동작이 수행되면 상기 N 비트 레지스터에 저장된 '0'의 개수를 카운트하는 제 1 카운터와,
    상기 제 1 카운터의 카운트 결과가 1이 될 때까지 패킷 단위로 새로 입력되는 데이터 바이트에 대해 비교 및 연산과 M, N 비트 레지스터에의 저장 그리고, 카운트 동작을 반복 수행하여 상기 제 1 카운터의 카운트 결과가 1이 되면 다음 M 바이트 데이터에 대한 비교 결과가 저장되는 상기 M 비트 레지스터에 포함된 '0'의 개수를 카운트하는 제 2 카운터와,
    상기 제 2 카운터의 카운트 결과가 1이 되는 해당 M 바이트 중에서 '0'이 되는 위치를 동기 바이트로 판별하는 동기 바이트 검출부를 포함하여 구성됨을 특징으로 하는 동기 검출 장치.
  3. 제 2 항에 있어서, 상기 M 비트 × N 비트 레지스터는 1 패킷에 해당하는 데이터 바이트의 비교 및 연산 결과를 저장할 수 있는 크기임을 특징으로 하는 동기 검출 장치.
  4. 패킷들로 구성된 엠펙 2 트랜스포트 스트림의 각 패킷마다 존재하는 동기 바이트를 찾는 동기 검출 장치에 있어서,
    1 패킷 단위로 입력되는 데이터 바이트와 미리 설정된 동기 바이트 값을 배타적 논리합에 의해 비교하는 비교기와,
    상기 비교기에서 입력되는 데이터 바이트가 동기 바이트 값과 같다고 판별되면 스위칭 제어 신호를 출력하는 제로 판별부와,
    상기 제로 판별부에서 출력되는 스위칭 제어 신호에 따라 선택적으로 로드되어 입력되는 데이터 바이트의 수를 카운트하는 복수개의 카운터와,
    상기 복수개의 카운터에서 교대로 카운트되는 카운트 개수를 더하는 합산부와,
    상기 비교기에서 입력되는 데이터 바이트가 동기 바이트 값과 같다고 판별될 때마다 복수개의 카운터의 각 카운트 개수 또는 합산기의 합산 개수가 1 패킷에 해당하는 데이터 바이트 개수인지를 검출하는 1 패킷 데이터 바이트 수 검출부와,
    상기 검출부에서 1 패킷에 해당하는 데이터 바이트 수가 검출되면 다음 1 패킷에 대해서 데이터 바이트가 입력될 때마다 카운트를 수행하는 카운터와,
    상기 카운터가 끝나면 카운터의 출력과 비교기의 출력을 논리합하여 0이 되는 위치를 동기 바이트로 판별하는 동기 바이트 검출부를 포함하여 구성됨을 특징으로 하는 동기 검출 장치.
  5. 제 4 항에 있어서, 상기 제로 판별부는
    상기 복수개의 카운터 중 하나의 카운터가 동작하면 다른 카운터는 동작을 중지하는 과정이 입력되는 데이터 바이트가 동기 바이트 값과 같아질 때마다 교대로 반복 수행하도록 제어함을 특징으로 하는 동기 검출 장치.
  6. 제 4 항에 있어서, 상기 1 패킷 데이터 바이트 수 검출부는
    복수개의 카운터의 각 카운트 개수 또는 합산기의 합산 개수가 1 패킷에 해당하는 데이터 바이트 개수가 아니라고 판별되면 상기 복수개의 카운터 중 현재 카운트를 수행하지 않은 카운터를 리셋시킴을 특징으로 하는 동기 검출 장치.
KR1019970036240A 1997-07-30 1997-07-30 동기검출장치 KR100474886B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970036240A KR100474886B1 (ko) 1997-07-30 1997-07-30 동기검출장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970036240A KR100474886B1 (ko) 1997-07-30 1997-07-30 동기검출장치

Publications (2)

Publication Number Publication Date
KR19990012736A KR19990012736A (ko) 1999-02-25
KR100474886B1 true KR100474886B1 (ko) 2005-06-16

Family

ID=37302999

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970036240A KR100474886B1 (ko) 1997-07-30 1997-07-30 동기검출장치

Country Status (1)

Country Link
KR (1) KR100474886B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8559528B2 (en) 2005-09-15 2013-10-15 Samsung Electronics Co., Ltd. Synchronization method and apparatus of moving picture experts group transport stream for reducing initial delay

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960020496A (ko) * 1994-11-17 1996-06-17 배순훈 엠팩2(mpeg2) 전송레이어 디팩타이즈
KR970004872A (ko) * 1995-06-30 1997-01-29 김주용 스트림 검출기 및 검출방법
KR970014402A (ko) * 1995-08-28 1997-03-29 김광호 전송 스트림의 동기 바이트 검출 회로
KR980006945A (ko) * 1996-06-28 1998-03-30 배순훈 엠펙(mpeg) 시스템의 피티에스(pts) 부호화장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960020496A (ko) * 1994-11-17 1996-06-17 배순훈 엠팩2(mpeg2) 전송레이어 디팩타이즈
KR970004872A (ko) * 1995-06-30 1997-01-29 김주용 스트림 검출기 및 검출방법
KR970014402A (ko) * 1995-08-28 1997-03-29 김광호 전송 스트림의 동기 바이트 검출 회로
KR980006945A (ko) * 1996-06-28 1998-03-30 배순훈 엠펙(mpeg) 시스템의 피티에스(pts) 부호화장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8559528B2 (en) 2005-09-15 2013-10-15 Samsung Electronics Co., Ltd. Synchronization method and apparatus of moving picture experts group transport stream for reducing initial delay

Also Published As

Publication number Publication date
KR19990012736A (ko) 1999-02-25

Similar Documents

Publication Publication Date Title
US5025458A (en) Apparatus for decoding frames from a data link
KR100364385B1 (ko) 윈도우비교기
US7747447B2 (en) Broadcast router having a serial digital audio data stream decoder
JP3274284B2 (ja) 符号化装置およびその方法
KR100324734B1 (ko) 비트패턴검출장치
KR100474886B1 (ko) 동기검출장치
KR100214593B1 (ko) 캐스케이드 구조를 이용한 런랭스 코드의 코드워드 검출 방법 및 장치
JPS62193323A (ja) ヴイタビ復号装置
US5870039A (en) Code converter, variable length code decoder, and associated methods
JPH11145945A (ja) 符号化フレーム同期方法及び符号化フレーム同期回路
JP2002077121A (ja) データ復調装置および方法
US10637499B1 (en) Accelerated compression method and accelerated compression apparatus
US6637003B1 (en) Viterbi decoder and synchronism controlling method
JP2001203677A (ja) 同期検出方法及び同期回路
EP1247166B1 (en) Device and method for performing a leading zero determination on an operand
KR970072768A (ko) 불일치 카운트와 비교하기 위한 가변 기준치를 사용하는 동기 검출 회로 및 그 방법
US20050114751A1 (en) Two input differential cyclic accumulator
US6963887B2 (en) Method and device for performing data pattern matching
JP3119027B2 (ja) 符号化方式および復号方式および符号化/復号方式
JPH06209312A (ja) フレーム同期回路
US10306027B2 (en) Frame delineation method for a generic framing procedure
JPH10135847A (ja) Atm通信装置の並列型ヘッダ誤り訂正回路およびヘッダ誤り訂正方法
JPH10222346A (ja) 情報処理装置
JP3385998B2 (ja) Atmセル同期回路
JP3189676B2 (ja) ヘッダ検出装置

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090105

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee