KR20000006599A - 수직귀선신호를 이용한 데이터 송수신시스템,데이터 송수신방법, 및 수직귀선기간을 이용한 데이터 송신장치, 송신방법, 그수신장치 및 수신방법 - Google Patents

수직귀선신호를 이용한 데이터 송수신시스템,데이터 송수신방법, 및 수직귀선기간을 이용한 데이터 송신장치, 송신방법, 그수신장치 및 수신방법 Download PDF

Info

Publication number
KR20000006599A
KR20000006599A KR1019980048083A KR19980048083A KR20000006599A KR 20000006599 A KR20000006599 A KR 20000006599A KR 1019980048083 A KR1019980048083 A KR 1019980048083A KR 19980048083 A KR19980048083 A KR 19980048083A KR 20000006599 A KR20000006599 A KR 20000006599A
Authority
KR
South Korea
Prior art keywords
data
packet
block
vertical retrace
encoder
Prior art date
Application number
KR1019980048083A
Other languages
English (en)
Other versions
KR100325362B1 (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 KR1019980048083A priority Critical patent/KR100325362B1/ko
Publication of KR20000006599A publication Critical patent/KR20000006599A/ko
Application granted granted Critical
Publication of KR100325362B1 publication Critical patent/KR100325362B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • H04N7/087Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

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

Abstract

본 발명은 수직귀선신호를 이용한 데이터 송수신시스템, 데이터 송수신방법, 및 수직귀선기간을 이용한 데이터 송신장치, 송신방법, 그 수신장치 및 수신방법에 관한 것으로 송수신시스템은, 정보의 성격에 따른 데이터를 각각 코드화하는 응용프로그램 엔코더와, 코드화된 데이터를 블록단위로 생성하는 트랜스포트 엔코더와, 상기 블록단위를 패킷으로 생성하는 패킷생성기와, 생성된 패킷을 비디오 신호의 수직귀선기간에 삽입하는 VBI 삽입기와, 패킷이 삽입된 비디오 신호를 전송하는 송신장치와, 송신장치로부터 송신된 신호를 수신하여 수직귀선 기간에 삽입되어 있는 패킷을 추출하는 VBI 디코더와, 추출된 패킷에서 데이터블록 패킷을 추출하는 데이터 링크 디코더와, 수신된 패킷을 조립하여 블록데이터로 생성하는 데이터 블록 생성자와, 디코딩된 블록 데이터를 디코딩하는 응용프로그램 디코더를 포함하는 수신장치로 구성된 수직귀선신호를 이용한 데이터 송수신시스템에 관한 것이다.

Description

수직귀선신호를 이용한 데이터 송수신시스템, 데이터 송수신방법, 및 수직귀선기간을 이용한 데이터 송신장치, 송신방법, 그 수신장치 및 수신방법.
본 발명은 수직귀선신호를 이용한 데이터 송수신시스템, 데이터 송수신방법, 및 수직귀선기간을 이용한 데이터 송신장치, 송신방법, 그 수신장치 및 수신방법에 관한 것이다.
일반적으로, 텔레비젼 영상신호에는 텔레비젼 수상기가 주사하는데 필요한 동시신호, 즉 수평동기신호 및 수직동기신호가 실려져 있는데, 텔레비젼 수상기는 이 수평 및 수직 동기신호에 동기하여 영상신호를 왼쪽에서 오른쪽으로, 그리고 위쪽에서 아래쪽으로 주사한다. 이렇게 하여 주사선이 화면의 오른쪽 끝으로 가면 왼쪽 처음으로 복귀하여 그 다음을 주사하고 주사선이 아래쪽 끝으로 내려가면 위쪽으로 올라와 다음 필드를 주사한다. 이렇게 주사선이 영상신호를 주사할 때와는 달리 반대로 주사될 때, 즉 오른쪽 끝에서 왼쪽 처음으로 복귀할 때와, 아래쪽 끝에서 위쪽 처음으로 복귀할 때를 귀선기간이라고 하는데, 이 귀선기간 중에서는 텔레비젼 수상기의 화면에 영상이 나타나지 않는다.
예를 들면, NTSC 방식에서는 텔레비젼신호는 초당 30프레임의 영상신호를 송출하도록 구성되는데, 하나의 프레임은 각각 262.5개의 수평주사선으로 구성된 2개의 필드로 이루어진다. 262.5개의 수평주사선 중 처음 21개(이를 맨 나중 21개라고 하더라도 연속된 신호이므로 마찬가지로 됨)는 영상이 나타나지 않는 신호로서 이때 걸리는 기간을 수직귀선기간이라 한다. 수직귀선기간 중의 수평 주사선 21개 중 9개는 화면에 수평동기를 맞추는데 사용되며 나머지 12개는 유보된다.
수직귀선기간 중 12개의 수평 주사선 기간을 이용하여 데이터 전송을 위한 방법이 1972년 영국에서 개발 실용화되었다. 즉 텔레텍스트라고 알려진 문자다중방송이 그것이다. 문자다중방송은 수직귀선기간을 이용하여 문자정보를 송출하고, 텔레비젼 수상기에 이를 디코딩하여 수상기 화면에 표시하는 것이다. 이러한 문자방송의 한 예로 NABTS(North American Basic Teletext Standard: 북미 문자방송 표준, 이하 'NABTS')가 알려져 있다.
종래 NABTS 시스템에서는 VBI를 데이터전송을 위해 사용하는데 필요한 대역폭(bandwidth)의 제한 때문에 여러 종류의 데이터를 동시에 전송할 수 없다는 문제점이 있다.
또, NABTS는 연속된 N 바이트로 구성되는 비트 스트림을 구성할 수 있지만, 하나의 비트 스트림의 전송이 완료되기 전에는 다른 비트 스트림을 전송할 수 없다는 결점을 가지고 있다. 즉, 여러 종류의 비트 스트림을 동시에 전송할 수 없다는 결점을 가지고 있다.
본 발명의 목적은 복수개의 비트 스트림을 동시에 전송할 수 있는 송수신 시스템을 제공하는데 있다.
본 발명의 또 다른 목적은 복수개의 비트 스트림을 동시에 전송할 수 있으며, 전송하고 있는 데이터의 의미에는 관계없이 어떠한 종류의 데이터인지를 명시하여 데이터를 받아서 처리할 상위계층을 구분할 수 있는 송수신 시스템을 제공하는데 있다.
본 발명의 또 다른 목적은 수직귀선신호를 이용한 데이터 송수신 방법을 제공하는데, 있다.
본 발명의 또 다른 목적은 수직귀선신호를 이용한 데이터 송수신시스템 및 송수신방법에 사용되는 데이터 송신장치 및 송신방법을 제공하는데 있다.
본 발명의 또 다른 목적은 본 발명의 또 다른 목적은 수직귀선신호를 이용한 데이터 송수신시스템 및 송수신방법에 사용되는 데이터 수신장치 및 수신방법을 제공하는데 있다.
도 1는 송신시스템을 나타내는 도면이다.
도 2는 도 1의 송신시스템의 구성을 각 계층별로 분리한 도면이다.
도 3은 데이터링크 계층인 다중화기를 상세히 기능블럭으로 구분한 도면이다.
도 4는 블록의 구성을 나타내는 도면이다.
도 5는 생성된 패킷의 구성을 나타내는 도면이다.
도 6은 프로토콜 엔코더 및 다중화기의 처리과정을 나타내는 흐름도이다.
도 7은 스케쥴러의 동작을 나타내는 흐르도이다.
도 8은 수신시스템을 나타내는 도면이다.
도 9은 프로토콜 디코더의 처리과정을 나타내는 흐름도이다.
이러한 본 발명의 목적들은 서비스 정보의 성격에 따른 데이터를 각각 코드화하는 응용프로그램 엔코더와, 코드화된 데이터를 블록단위로 생성하는 트랜스포트 엔코더와, 상기 블록단위를 패킷으로 생성하는 패킷생성기와, 생성된 패킷을 비디오 신호의 수직귀선기간에 삽입하는 VBI 삽입기와, 패킷이 삽입된 비디오 신호를 전송하는 송신장치와, 송신장치로부터 송신된 신호를 수신하여 수직귀선 기간에 삽입되어 있는 패킷을 추출하는 VBI 디코더와, 추출된 패킷에서 데이터블록 패킷을 추출하는 데이터 링크 디코더와, 수신된 패킷을 조립하여 블록데이터로 생성하는 데이터 블록 생성자와, 디코딩된 블록 데이터를 디코딩하는 응용프로그램 디코더를 포함하는 수신장치로 구성된 수직귀선신호를 이용한 데이터 송수신시스템에 의해 달성된다.
본 발명에서 응용프로그램 엔코더는 코드화된 데이터와 함께 제어정보인 데이터 블록형식에 관한 정보, 데이터 블록길이에 대한 정보 및 대역폭 점유율에 대한 정보를 상기 트랜스 포트 엔코더에 전송하는데, 트랜스포트 엔코더는 데이터 블록형식에 관한 정보와 데이터 블록길이에 대한 정보에 의해 코드화된 데이터를 블록단위로 생성한다.
본 발명에서 패킷생성기가 대역폭 점유율에 대한 정보에 따라 트랜스포트 엔코더로부터 일정한 단위를 가져오도록 하기 위해 스케쥴러를 포함한다. 스케쥴러는 동작이 개시되면 패킷 전송큐가 비어있는 것을 검출하고, 엔코더 데이터 생성자가 생성한 데이터 블록을 대역폭 점유율 만큼씩 데이터 블록 데이터를 읽어와 이를 패킷생성기에 전달하여 패킷을 생성하게 한다. 생성된 패킷은 전송큐에 삽입된다.
또, 이러한 본 발명의 목적들은 서비스 정보의 성격에 따른 데이터를 각각 코드화하고, 코드화된 데이터를 블록단위로 생성하고, 상기 블록단위를 패킷으로 생성하고, 생성된 패킷을 비디오 신호의 수직귀선기간에 삽입하고, 비디오 신호를 송신하고, 송신된 신호를 수신하여 수직귀선 기간에 삽입되어 있는 패킷을 추출하고 추출된 패킷에서 데이터블록 패킷을 추출하고, 수신된 패킷을 조립하여 블록데이터로 생성하고, 디코딩된 블록 데이터를 디코딩하는 단계를 포함하는 데이터 송수신방법에 의해 달성된다.
여기서 "동기화 데이터"라고 하는 것은 "서비스 제공자와 서비스 수신자가 프로그램 편성을 기준으로 상호 묵시적인 약속에 의해 제공되는 데이터"를 말한다. 이러한 "동기화 데이터"는 서비스 정보의 성격에 따라 몇 단계로 분류될 수 있다. 예를 들면, 같은 뉴우스라도 여러 언론매체에 의해 제공될 수 있고, 또, 정치, 경제, 사회 및 문화 등으로 분류할 수 있다. 따라서, 여러 언론매체는 대분류로 구분될 수 있으며, 하나의 언론매체의 각 분야를 소분류로 구분할 수 있다.
"상시 데이터"라고 하는 것은 "서비스 제공자와 서비스 수신자의 시간적 약속과는 무관한 데이터"를 말하는 것으로, 예를 들면, "수신자 프로그램을 제어하기 위한 시스템 메시지나, 광고"등이 이에 해당한다. "실시간 데이터"라고 하는 것은 "데이터의 생성 즉시 서비스 수신자에게 시간적으로 즉시성을 가지고 받아 보아야 하는 데이터"를 말하는 것으로, 예를 들면, "증권정보, 날씨정보, 긴급메시지" 등이 이에 해당한다. 또, "TV 데이터"라고 하는 것은 "텔레비젼 프로그램의 부가적인 정보로 서비스 될 수 있는 데이터"를 말한다. 그러나 이러한 데이터의 범주는 서비스 제공자의 성격이나, 서비스 목적에 따라 달라질 수 있는 것으로, 이는 본 발명의 설명을 위해 편의상 분류한 것이다는 것을 이해해야 할 것이며, 또 본 발명의 기술적 사상에 그 영향을 미치지 않음은 당연할 것이다.
본 발명에서는 한 개 이상의 비트스트림은 동시에 전송될 수 있다. 이를 위해 NABTS 각 패킷이 어떤 응용프로그램의 데이터(‘포트’번호로 식별)가 어떤 비트스트림(‘소켓’번호로 식별)을 형성하는데 사용될 패킷인지를 표시하는 값(포트, 소켓)을 포함한 후, 각 비트스트림에 할당된 대역폭(bandwidth)을 기준으로 시분할(Time sharing)하여 여러 개의 비트스트림을 동시에 전송할 수 있도록 설계된다. 만약 할당된 대역폭이 동일한 비트스트림을 다중화할 때는 라운드-로빈 (Round-Robin)방식을 이용한다.
예를 들어, 대역폭의 할당은 사용하는 VBI라인 전체의 대역폭을 1000이라 할 때, 하고, 서비스제공자의 판단에 따라 전체 대역폭을 전송할 비트스트림에 나누어 할당할 수 있다.
데이터링크 프로토콜 엔코더는 데이터링크(Data Link)의 역할을 하도록 설계되어, N개의 바이트로 구성되는 비트스트림을 전달하는 기능만을 수행할 뿐, 데이터의 의미는 전혀 알지 못하도록 구현되어 있다. 이때 데이터의 의미는 스트림 데이터를 받아 해석하는 상위계층에서 처리하도록 설계된다.
동시에 여러 개의 비트스트림을 전달한다는 의미는 여러 종류의 데이터를 동시에 전달한다는 것과 같은 의미로, 전달되는 데이터의 종류를 구별하기 위한 여러 방법이 사용될 수 있다.
본 발명에서 데이터링크 프로토콜은 다음과 같은 기능을 가지고 있다
(1) 한 개 이상(최대 16까지 가능)의 비트스트림을 동시에 전송할 수 있도록 한다.
(2) 전송하고 있는 데이터의 의미는 모르지만 이 데이터가 어떤 종류의 데이터인지를 명시하여 데이터를 받아서 처리할 상위계층을 구분할 수 있도록 한다.
(3) FEC(정방향에러수정)에 대한 처리와 아울러 반복 송신의 기능을 갖도록 하여, 상위계층에 보다 에러가 없는 데이터를 전송할 수 있도록 한다.
이를 위해 NABTS에서 정의한 데이터패킷의 일부 필드(Field)의미와 그 패킷들이 모여 형성하는 데이터의 의미는 변경된다.
본 발명에서 여러 종류의 응용프로그램 데이터 스트림, 즉 여러종류의 데이터가 동시에 전달된다. 따라서, 여러 종류의 데이터를 구분할 수 있도록 데이터링크 프로토콜은 포트라고 하는 식별자를 갖는데, 특정 종류의 응용프로그램 데이터스트림은 미리 정해진 포트번호에 의해 구분된다.
포트번호는 응용프로그램 데이터스트림의 식별자이므로, 각 응용프로그램 데이터스트림 별로 고유한 번호로 할당된다. 포트번호는 NABTS에서 정의한 데이터 패킷의 Prefix(5바이트)중 2바이트가 사용될 수 있다. NABTS에서 정의한 데이터 패킷의 Prefix는 해밍코드(Hamming Code)로 부호화되므로, 정보는 1 바이트 크기이며, 최대 256가지의 다른 종류의 응용프로그램 데이터 스트림을 구분해 낼 수 있다. 따라서 포트번호가 다르면 상위계층(트랜스포트 계층)에서 처리하는 트랜스포트 프로토콜 디코더 또한 달라진다.
본 발명에서 이러한 다수개의 응용프로그램 데이터 스트림을 동시에 전달하기 위해 시분할(time-sharing) 방식이 이용된다. 각각의 응용프로그램 데이터 스트림에는 할당된 대역폭(Bandwidth) 점유율이 있으며, 할당된 대역폭을 기준으로 한번의 time-slice 동안에 보내는 데이터의 양이 달라진다.
하나 이상의 응용프로그램 데이터스트림의 정보를 전달되는 패킷이 다중화되기 때문에 각 패킷은 어떤 데이터스트림에 속하는지를 식별하는 소켓(Socket)이라고 하는 식별자가 사용된다.
소켓은 NABTS에서 정의한 데이터 패킷의 Prefix(5 바이트)중 3 번째 바이트이며, Prefix는 해밍코드(Hamming code)로 부호화되어 있으므로, 실제로는 4 비트를 소켓번호를 표현할 목적으로 사용하게 된다. 그러므로 총 16가지의 응용프로그램 데이터스트림이 동시에 전달될 수 있다.
소켓번호가 같은 패킷들은 하나의 트랜스포트계층에서 사용할 블록스트림을 구성하게 되며, 소켓번호를 포트와 전혀 연관성이 없게 처리하여, 포트값이 같은 여러 개의 스트림이 동시에 전달될 수 있으며, 최대 16개의 다른 종류의 포트를 가지는 스트림이 동시에 전달될 수 있다.
또, 수신측에서 수신되지 않은 패킷을 알 수 있도록 패킷에는 순서가 부여되어 전송된다. 패킷의 순서를 부여하기 위해, NABTS에서 정의한 데이터 패킷의 Prefix의 일부분인 시퀀스 인덱스(Sequence Index: 'SI')가 사용된다. 즉, 비트스트림을 구성하는 패킷들 중의 일부분이 수신되지 못한 것을 검출하기 위해 연속된 패킷들은 시퀀스 인덱스를 1씩 증가시켜 보낸다.
본 발명의 데이터링크 프로토콜에서는 여러 개의 스트림이 동시에 전송될 수 있으므로, Sequence Index는 각각의 스트림을 구성하는 패킷들에 대해서 1씩 증가하도록 된다. 즉, 하나의 스트림을 구성하는 패킷들의 Sequence Index가 증가 되는 것은 다른 소켓번호를 가지는 스트림의 패킷 Sequence Index의 증가에는 아무런 영향을 미치지 않는다.
또, 전송중 패킷의 일부가 전송로 잡음(노이즈)에 의한 에러가 있을 수 있으며, 패킷 자체가 수신되지 않는 경우도 생길 수 있다. 에러에 대한 방안으로 정방향에러수정(FEC)알고리즘을 사용하고 있지만, 정방향에러수정(FEC) 알고리즘에 의해 복구될 수 있는 한계가 있으며, 한계 이상으로 에러가 발생한 경우에는 패킷을 수신하지 못한 상황과 같다.
이에 대한 처리는 VBI가 단방향성 매체이기 때문에, 반복 송신 이외에는 달리 다른 대처 방안이 없다.
비트스트림을 구성하는 패킷이 반복 송신되었는지의 여부는 패킷의 시퀀스 인덱스(Sequence Index)를 이용하여 판단한다. 즉, 같은 Sequence Index를 가지는 패킷이 한 개 이상 연속으로 수신되면, 같은 시퀀스 인덱스(Sequence Index)를 가진 패킷들은 송신측에서 중복 송신 한 패킷으로 판단을 한다.
하나의 비트스트림은 N개의 바이트로 구성될 때, 실제 구현상에서는 특정 비트스트림의 시작과 끝, 데이터 전송을 구별할 수 있어야 한다. 이러한 목적으로 NABTS에서 정의한 데이터 패킷의 Prefix중 PS(Packet Structure)부분을 사용하게 된다.
본 발명에서는 이를 기존의 프로토콜과 구분하기 위한 목적으로 패킷속성(Packet Attribute)이 사용되는데, 패킷속성은 현재 전송된 패킷이 비트스트림의 시작, 끝 또는 데이터를 전송하는지를 구분해준다. 패킷속성은 해밍코드(Hamming code)로 부호화 되어 있으므로 총 16가지의 다른 의미를 표현할 수 있다. 예를 들면 다음의 3가지로 정의하여 사용할 수 있지만, 필요에 따라서는 사용되지 않은 나머지 13가지는 지정하여 확장이 가능하다. 즉,
PA : 0 ( 스트림 시작을 의미, 스트림 시작 패킷이라 부름)
PA : 1 ( 스트림 끝을 의미, 스트림 끝 패킷이라 부름)
PA : 2 ( 스트림 데이터를 전달하는 패킷 임을 의미, 스트림 데이터 패킷이라 부름)
스트림 데이터 패킷(Stream Data Packet)에 비해 스트림의 끝과 시작을 표현하는 패킷은 더욱 중요한 의미를 가지고 있으므로 데이터 패킷보다 송신측에서 여러 번 전송하도록 구현되어 있다.
수신측에서는 스트림 시작 패킷을 수신하며, 새로운 스트림이 전송되기 시작할 것이라 판단하여, 스트림의 수신을 준비한다. 스트림 데이터 패킷이 수신되면, 실제 데이터가 수신된 것 이므로 이 데이터를 상위계층에게 전달한다. 스트림 끝 패킷이 온 경우는 스트림의 전송이 완료 된 것 이므로 이를 상위 계층에 알려준다.
PA에 따라 패킷 몸체 구조는 각각 다른 구조를 가지도록 되어 있다.
데이터 전송중 에러에 대한 대책으로 에러수정 알고리즘은 반드시 필요하며, 단방향 데이터 전송의 에러 수정를 위해 정방향에러수정(FEC)의 처리는 반드시 필요하다. 정방향 에러수정(FEC)처리는 모든 종류의 비트스트림에서 필요한 것이므로 공통된 곳에서 처리하도록 하기 위해 NABTS에서 정의한 데이터 패킷에서 처리한다. 즉, 데이터링크 프로토콜에서는 수신된 패킷에 대해서 정방향 에러수정(FEC)처리를 하여 패킷에 에러가 있을 경우 에러를 검출하거나 정정하여, 그 결과를 상위 계층에 올려준다.
이를 데이터링크 프로토콜에서 처리함으로써 상위에서는 정방향 에러수정(FEC) 처리에 대한 부담에서 벗어 날수 있다.
본 발명에서 프로토콜의 가장 큰 특징은 다음과 같다.
계층(Layer) 개념을 적용하였다.
한 개 이상의 스트림이 동시에 전송될 수 있다.
FEC에 대한 처리를 하고 있다.
상위에서는 포트번호(GA)를 이용하여 다양한 종류의 스트림을 받을 수 있다. 즉, 여러 종류의 다른 서비스를 하나의 NABTS 프로토콜 계층상에서 구현할 수 있다.
에러가 없는(Error-Free) 프로토콜을 구현하고 있지는 않다. (서비스의 종류에 따라서는 어느 정도의 에러를 허용할 수도 있고, 그렇지 않을 수도 있다. 만일 어떤 종류의 서비스가 에러를 허용하지 않는 다면, 그 서비스는 상위 계층에서 반복 송신 기능을 두어 에러가 없는 서비스를 구현할 수 있다. 이렇게 함으로써 서비스의 종류에 따라 대역폭(Bandwidth)를 적절히 사용할 수 있도록 서비스를 구현할 수 있다.)
이러한 정보를 수신측에서 정확히 전달하고 이를 해독할 수 있기 위해서는 어떤 규약이 필요한데, 이를 트랜스포트 프로토콜(Transport Protocol)이라 한다. 트랜스포트 프로토콜은 데이터링크 프로토콜의 상위 계층이며, 데이터링크 프로토콜로 부터 여러 개의 패킷을 받아 하나의 긴 데이터 단위로 생성해주는 프로토콜이다. 이 프로토콜은 하위의 데이터링크 프로토콜과 응용계층의 중간 연결 역할을 수행한다.
이러한 데이터링크 프로토콜은 패킷을 수신받아 이를 데이터로 해석해서 상위 계층에 전달해 주는 기능을 수행하지만 이를 응용 프로그램에서 사용하기에는 불편한 형태인 작은 단위로 올려주며, 또 실제 수신이 되지 않은 패킷의 검출 기능은 있지만, 이에 대한 특별한 처리는 하지 않는다. 그러므로 이러한 패킷을 모아 블록(Block) 형태로 데이터를 생성해 주며, 그 블록에 데이터의 에러가 존재하는지 여부와 블록의 반복 송신 기능 및 반복 송신된 블록에 대한 판단 처리 등을 하는 계층의 프로토콜이 필요하다.
또한 이 프로토콜은 거의 대부분의 응용 프로그램 계층에서 필요한 부분이므로, 응용 프로그램의 구현을 편하게 해주며, 응용 프로그램의 부담을 줄여준다. 이는 응용 프로그램 개발에 필요한 기간을 단축시킬 수 있으며, 프로그램의 안정성 또한 확보할 수 있다. 실제 응용 프로그램의 개발에 있어서 가장 어려운 부분인 패킷의 손실에 따른 처리를 해주므로, 응용 프로그램의 프로토콜 구현 부분을 정형화 할 수 있도록 해준다.
트랜스포트 프로토콜은 다음의 구성을 이용하여 별도의 프로토콜 형태를 가지고 구현되어 있다.
데이터의 ZDLE 처리
블록 단위로 데이터를 송수신하기 위해서는 특별한 형태의 문자를 제어 문자로 정의할 필요가 있다. 트랜스포트 프로토콜에서는 이 제어문자를 ASCII Code 0으로 정의하였으며, 이 제어문자열은 블록과 블록의 구분 용도로 사용된다. 그러나 실제 응용 계층의 데이터에 ASCII Code 0이 있을 수 있으므로 이를 제어문자와 구별할 수 있는 방법이 필요하다. 이를 위해 ZLDE 처리를 이용하고 있다. 이는 다음의 방법으로 구현되어 있다.
ASCII 0 -> ASCII 0x18 , ASCII 0x40
ASCII 0x18 -> ASCII 0x18, ASCII 0x58
위와 같은 방법으로 송신측에서는 0,0x18을 ZDLE처리하여 송신하며, 수신측에서는 ASCII 0x18이 수신되면 이 문자와 다음의 문자를 이용하여 원래의 데이터로 변환을 수행한다. 그러므로 사용자의 데이터는 ASCII 0이 있을 수 없으므로 ASCII 0을 제어 문자로 사용할 수 있다. 이 제어문자를 이용하여 블록 단위로 패킷을 조합할 수 있으며, 이 블록에 대해 프로토콜을 해석하여 블록의 올바른 수신 여부를 판단하도록 한다.
블록(Block)의 구성
블록은 스트림 위치(Stream Position), 반복회수(Repeat Count), 블록형태(Block Type), 블록길이(Block Length), 블록데이터(Block Data), 사이클릭 리던던시 코드(Cyclic Redundancy Code; 이하 'CRC'), 블록 끝마크(Block End Mark)의 필드들로 구성되며, 그 용도는 아래에 기술한 바와 같다.
블록 끝마크(Block End Mark)를 제외한 모든 필드의 데이터는 제어문자와의 구분을 위하여 ZDLE 처리되어 송신된다.
스트림 위치(Stream Position )
이 필드는 현 블록이 스트림의 전체 위치에서 N 번째 바이트로부터 시작되는 데이터를 포함하고 있음을 표시한다. 스트림 위치는 스트림의 첫번째 블록은 0값을 가진다.
블록의 스트림 위치 값이 x이며, 블록이 포함하고 있는 데이터의 길이가 y라면, 다음 번에 수신될 블록의 스트림 위치의 값은 (x+y)가 될 것이다. 이 식을 이용하면, 특정 블록을 수신했을 경우 마지막에 수신한 블록이 포함하고 있던 정보를 이용하여 몇 바이트 데이터가 수신되지 못하였는지를 계산할 수 있다.
만일 데이터링크 프로토콜에서 에러가 발생하여 스트림 위치필드 및 다른 필드의 값에 에러가 생겼을 경우도 위의 식을 이용하여 에러 발생의 여부를 판단할 수 있다. 위의 식과 CRC필드를 이용하여, 정확히 블록 단위의 전송에서 에러가 발생했는지를 판단할 수 있다.
이 스트림 위치의 값과 블록길이를 이용하면 특정 블록의 크기를 임의의 바이트 단위로 생성하여 송,수신할 수 있다.
반복회수(Repeat Count)
특정 블록의 반복송신 여부를 판단하기 위한 목적으로 사용된다. 특정 블록이 반복송신 될 경우 이 값은 각 블록에 대해 1씩 증가한 값을 가지도록 되어 있다. 처음 전송되는 블록은 이 값을 0으로 하여 전송된다. 이 필드의 값과 스트림 위치값을 계산하여 수신측에서는 수신된 블록이 반복 송신된 것인지의 여부를 판단할 수 있다.
블록형태(Block Type)
트랜스포트 프로토콜을 이용하는 상위 계층에서 블록에 특수한 표시를 하기 위한 목적으로 사용되는 필드이다. 트랜스포트 프로토콜은 이 값에 대한 처리는 하지 않고 그 값을 상위 계층에 올려준다. 블록형태 필드를 이용하여 송신측의 상위 계층에서는 특정 블록에 특별한 의미를 부여하고 수신측에서는 이 값을 검사하여 수신된 블록이 특정한 의미를 지닌 블록 인지를 판단할 수 있다.
블록길이(Block Length)
블록이 포함하고 있는 데이터의 길이를 나타낸다. 블록길이는 블록 프로토콜을 구현하기 위한 다른 필드들의 길이를 제외한 실제 상위 계층에서 전달한 데이터만의 길이를 나타낸다.
블록데이터(Block Data)
상위 계층에서 전송한 실제의 데이터를 포함한다. 이 데이터의 길이는 블록길이 필드의 길이 만큼이며, 제어 문자와의 구분을 위하여 ZDLE 처리되어 전송된다. ZDLE처리되어 전송되므로 제어문자와 확실히 구분이 이루어지므로, ASCII 0-255사이의 모든 문자를 포함할 수 있다.
사이클릭 리던던시 코드(Cyclic Redundancy Code)
블록의 올바른 수신이 이루어졌는지를 판단하기 위한 CRC이다. 32Bit CRC를 사용하며, CRC를 생성하기 위한 블록 내의 영역은 스트림 위치부터 블록데이터까지의 영역이다. 트랜스포트 프로토콜에서 각 필드의 의미가 매우 중요하므로 이 필드들에 대해서도 CRC를 적용한다. CRC를 이용한 수신의 올바른지의 여부 판단은 다음의 방식을 이용한다.
- 송신측이 계산한 CRC가 c 라 하면 송신측에서는 이 c에 대해 Bit NOT 연산을 한 결과인 c’을 블록의 CRC필드에 넣는다.
- 수신측에서는 수신한 블록에 대해 CRC를 계산하고 이를 cr이라 할 때, 이 cr에 수신한 블록의 CRC필드의 값인 c’을 적용하여 계산하면 그 결과는 블록의 데이터가 올바르게 수신된 경우는 항상 16진수 값 0xDEBB20E3이다.
블록 끝마크(Block End Mark)
한 블록의 끝임을 나타낸다. 제어 문자인 ASCII 0로 표시함으로써 블록내의 다른 문자와 구별을 할 수 있다. 수신 측에서는 이 필드를 살핌으로써 하나의 블록의 수신을 구별할 수 있다.
트랜스포트 프로토콜의 특징 및 기능은 다음과 같다.
여러 개의 패킷을 데이터링크 프로토콜로 부터 받아 이를 조합하여 블록 단위의 데이터열로 생성하여준다.
블록 단위로 데이터를 수신할 수 있도록 해주므로, 상위 계층에서는 빈번하게 수신된 데이터의 처리를 하지 않아도 된다.
블록 단위의 반복 송수신을 가능하도록 한다.
전체 데이터의 특정 부분에 대해서만 반복 송수신을 적용할 수 있다.
블록을 구성하는 패킷에서의 이상 유무에 대한 정확한 검증을 할 수 있다.
블록을 구성하는 패킷의 일부분이 수신되지 못하더라도, 수신측에서 전송한 블록의 크기로 데이터를 받을 수 있으므로 응용 계층에서의 서비스 구현을 용이하게 한다.
특정 블록이 실제로 수신되지 못하였더라도, 상위 계층에서는 어떤 블록이 수신되지 못하였는지 판단할 수 있다.
정방향에러수정(FEC)에서 허용치 이상의 에러가 발생한 경우 이에 대한 검출이 실패할 수도 있지만, 트랜스포트 프로토콜에서 에러가 발생했는지의 여부를 정확하게 판단할 수 있다.
상위 계층인 응용 프로그램의 프로토콜에서 원하는 크기의 블록 단위로 데이터를 마음대로 전송할 수 있으며, 이를 수신측에서 블록 단위로 수신할 수 있다.
따라서 본 발명의 송신장치는 성격에 따른 데이터를 각각 코드화하고 제어정보를 생성하는 응용프로그램 엔코더와, 상기 제어정보에 따라 상기 응용프로그램 엔코더에서 코드화된 각각의 데이터를 각각 블록단위로 생성하는 트랜스포트 엔코더와, 각각의 상기 블록단위를 각각의 패킷으로 생성하는 패킷생성기와, 각각 생성된 상기 패킷을 비디오 신호의 수직귀선기간에 삽입하는 VBI 삽입기와, 상기 패킷이 삽입된 비디오 신호를 전송하는 송신기를 포함한다.
또, 본 발명의 송신장치는 패킷생성기가 상기 대역폭 점유율에 대한 정보에 따라 트랜스포트 엔코더로부터 일정한 단위를 가져오도록 하는 스케쥴러를 포함하는데, 스케쥴러는 동작이 개시되면 패킷 전송큐가 비어있는가를 판단하고, 상기 패킷전송큐가 비어 있으면 상기 엔코더 데이터 생성자가 생성한 데이터블록을 대역폭 점유율 만큼 읽어들여 이를 패킷생성기에 전달하여 패킷을 만들게 한다.
본 발명의 송신방법은 정보의 성격에 따른 데이터를 각각 코드화하고 이 코드화하기 위한 제어정보를 송출하고, 상기 제어정보에 따라 코드화된 각각의 데이터를 각각 블록단위로 생성하고, 각각의 상기 블록단위를 각각의 패킷으로 생성하고, 각각 생성된 상기 패킷을 비디오 신호의 수직귀선기간에 삽입하고, 상기 패킷이 삽입된 비디오 신호를 전송하는 단계를 포함한다.
본 발명의 송신방법에서 블록단위의 데이터는 대역폭 점유율에 따라 일정한 단위로 패킷화된다. 이를 위해 스케쥴러는 동작이 개시되면 패킷 전송큐가 비어있는가를 판단하고, 상기 패킷전송큐가 비어 있으면 상기 엔코더 데이터 생성자가 생성한 데이터블록을 대역폭 점유율 만큼 읽어들여 패킷을 만든다.
또 본 발명의 송수신방법은 정보의 성격에 따른 데이터를 각각 코드화하고, 코드화된 데이터를 블록단위로 생성하고, 상기 블록단위를 패킷으로 생성하고, 생성된 패킷을 비디오 신호의 수직귀선기간에 삽입하고, 패킷이 삽입된 비디오 신호를 전송하고, 송신된 신호를 수신하여 수직귀선 기간에 삽입되어 있는 패킷을 추출하고, 추출된 패킷에서 데이터블록 패킷을 추출하고, 수신된 패킷을 조립하여 블록데이터로 생성하고, 디코딩된 블록 데이터를 디코딩하는 응용프로그램 디코더를 포함한다.
또 본 발명의 수신장치는 송신된 신호를 수신하여 수직귀선 기간에 삽입되어 있는 패킷을 추출하는 VBI 디코더와, 추출된 패킷에서 데이터블록 패킷을 추출하는 데이터 링크 디코더와, 수신된 패킷을 조립하여 블록데이터로 생성하는 데이터 블록 생성자와, 디코딩된 블록 데이터를 디코딩하는 응용프로그램 디코더를 포함하여, 송 신장치로부터 송신된 신호를 수신하여 수직귀선 기간에 삽입되어 있는 패킷을 추출하고, 추출된 패킷에서 데이터블록 패킷을 추출하고, 수신된 패킷을 조립하여 블록데이터로 생성하고, 디코딩된 블록 데이터를 디코딩한다.
다음은 도면을 참조하여 본 발명을 구현하는 예를 설명한다.
도 1을 참조하면, 송신시스템이 도시되어 있다. 송신시스템에서 동기화 데이터는 동기화데이터 엔코더(111)에서, TV 데이터는 TV 데이터 엔코더(112)에서, 상시 데이터는 상시 데이터 엔코더(113)에서 그리고 실시간 데이터는 실시간 데이터 엔코더(114)에서 코드화된 다음 트랜스포트 엔코더(13)을 걸쳐 다중화기(15)에 인가되어 다중화된다.
다중화된 각 데이터들은 Vertical Blank Inserter(이하 'VBI')의 한 단자에 인가된다. 한편 동기펄스 발생기(17)는 인가되는 기준 영상신호중에서 동기 및 버스트신호를 추출하여 VBI(19)의 또 다른 단자에 인가한다. VBI(19)는 한 단자에 인가된 다중화된 각 데이터를 기준 영상신호로부터 추출된 동기 및 버스트신호의 기간에 삽입한 다음 출력단자(21)로 송출한다. 출력단자(21) 다음에는 송신기가 부착될 수 있다. 필요하다면 또 다른 단계, 예를 들면 케이블 텔레비젼 중계기, 위성통신 중계기 등이 부착될 수 있다.
도 2는 도 1의 송신시스템의 구성을 각 계층별로 분리한 것으로, 각 계층들은 각각의 응용프로그램을 코드화하는 복수개의 응용프로그램 엔코더(11a - 11n)로 구성된 응용계층, 트랜스포트 엔코더(13)를 포함하는 트랜스포트 계층, 다중화기(15)를 포함하는 데이터링크 계층 그리고 VBI(19)를 포함하는 물리계층으로 구분할 수 있다.
각각의 데이터들은 서비스 정보의 성격에 각각 대응하는 응용프로그램 엔코더(111- 11N)에서 코드화되고, 트랜스포트 엔코더(13)에 전달된다. 코드화된 데이터는 트랜스포트 엔코더(13)에서 블록단위로 생성되고 다중화기(15)에 전달된다.
블록단위는 다중화기(15)에서 패킷으로 생성되고, VBI(19)에 전달되어 비디오 신호의 수직귀선기간에 삽입되다. 패킷이 삽입된 비디오 신호는 송신장치를 통해 전송된다.
도 3은 데이터링크 계층인 다중화기(15)를 좀더 상세히 기능블럭으로 구분한 것이다. 트랜스포트 계층의 복수개의 트랜스포트 엔코더(13)로부터 코드화된 신호는, 어느 데이터 블록에서 생성되었는지, 패킷생성기 및 혼합기(151)에서 식별번호가 붙여지고 패킷으로 된 다음 FEC 처리기(153)에 인가된다. FEC 처리기(153)에서는 패킷을 FEC 처리된 패킷으로 만들고, 반복패킷 생성기(155)에 인가되어 반복화된 패킷으로 만들어진다.
도 4는 블록의 구성을 나타내는 도면인데, 블록은 헤더와 데이터부로 나뉘어지는데, 헤더에는 스트림위치, 반복회수, 블록형태, 블록길이에 대한 정보가 실린다. 그리고 데이터 뒤에는 CRC 와 블록 끝마크가 따른다.,
도 5는 생성된 패킷의 구성을 나타내는 도면인데, 패킷은 헤더와 패킷몸체로 나위어지는데, 헤더에는 포트, 소켓, 시퀀스 인덱스 그리고 패킷속성에 대한 정보가 실린다. 패킷은 헤드의 패킷속성에 따라 FEC 데이터 만이 잇는 스트림시작 패킷과, FEC 데이터와 데이터길이정보 및 데이터가 있는 스트림 끝패킷 그리고 FEC 데이터와 데이터가 있는 스트림 데이터 패킷으로 나뉘어진다.
도 6은 프로토콜 엔코더(13) 및 다중화기(15)의 처리과정을 나타내는 흐름도이다. 각각의 응용프로그램 엔코더(11a, 11b, . . ., 11n)에서 코드화된 각각의 데이터들은 대응되는 트랜스포트 엔코더(13a, 13b, . . ., 13n)에 인가되어 블록단위로 만들어진다.
이때 응용프로그램 엔코더는 코드화된 데이터와 함께 제어정보로서 중복 데이터 블록의 길이, 포트번호, 데이터 블록의 형식, 대역폭 점유율 그리고 블록 반복회수를 트랜스포트 엔코더에 전송한다. 트랜스포트 엔코더(13a, 13b, . . ., 13n)는 응용프로그램 엔코더로부터의 코드화된 데이터와 제어정보를 가지고 단위블록을 생성하는데, 각각의 트랜스포트 엔코더가 단위블록을 생성하는 과정은 모두 동일하기 때문에 하나의 트랜스포트 엔코더에 대해서 설명한다.
먼저 트랜스포트 엔코더(13a)는 응용프로그램 엔코더(11a)로부터의 제어정보인 데이터 블럭의 길이정보(1311)와 데이터 블록형식 설정치(1313)에 따라 응용프로그램 엔코더로부터의 코드화된 데이터의 데이터 블록을 생성한다(1321). 생성된 데이터 블록에 데이터의 위치를 표시한다(1322). 그리고 수신측에서 수신된 데이터 블록에서의 에러를 검사하는데 사용되는 CRC 값을 계산하여 블록에 삽입한다(1323). 그리고 제어문자인 데이터 블록의 끝표시와 일반데이터와 구별을 위해 ZDLE 처리를 한다(1324). ZDLE 처리된 데이터 블록의 끝 표시를 추가한다(1325). 제어정보인 블록반복회수(1315) 만큼 생성된 데이터 블록을 복사한다(1326).
도 4는 이렇게 하여 생성된 블록의 단위구성을 나타내는 도면이다. 즉, 블록의 단위는 헤더부분과 데이터 부분으로 구분되고, 헤더부분에는 순서대로 스트림 위치(A), 반복회수(B), 블록형식(C), 블록길이(D), 블록데이터(E), CRC(F) 그리고 블록의 끝표시(G)순으로 된다.
이러한 블록의 단위는 다중화기에 인가된다. 다중화기는 스케쥴러(151)와 NABTS 패킷생성기로 구성되어 있다. 먼저 데이터 블록은 스케쥴러(151)에 인가되는데, 스케쥴러는 트랜스포트 엔코더로부터 생성된 데이터 블록을 응용프로그램 엔코더가 지정한 대역폭 점유율(1314) 만끔씩을 NABTS 패킷생성기가 패킷을 생성하여 전송하도록 한다. 이러한 스케쥴러의 동작에 대해서는 도7에 나타나 있는데, 다음에 상세히 설명된다. NABTS 패킷생성기는 스케쥴러로부터 전송되어온 블록을 짧게 잘라 여러개의 NABTS 패킷을 생성한다.
패킷생성기(152)는, 스케쥴러가 전송한 트랜스포트 엔코더(13)로부터 생성된 블록을 패킷으로 만든다. 어떤 트랜스포트 엔코더가 지정한 포트번호를 패킷에 설정한다(1521). 소켓할당테이블(153)로부터 소켓번호에 따라 할당된 소켓번호를 설정한다(1522). 그리고 수신측에서 패킷의 미수신여부를 조사할 수 있도록 패킷에 일련번호를 설정하고(1523), 수신측에서 수신한 패킷의 에러검출 및 에러가 있는 경우 이를 정정할 수 있도록 정방향 에러수정(Forward Error Correction; FEC) 처리를 한다(1524). 이렇게 형성된 패킷은 동일한 내용의 패킷을 반복하여 송신할 수 있도록 하기 위해 제어정보인 패킷반복회수(1316)에 따라 반복하여 복사한다(1525).
도 5는 이렇게 하여 생성된 패킷의 구성을 나타내는 도면이다. 즉, 패킷은 헤더부분과 패킷 몸체부분으로 구성되는데, 패킷의 헤더부분에는 포트번호, 소켓번호, 패킷일련번호 그리고 패킷의 속성이 실려지는데, 패킷은 그 속성에 따라 3가지로 구분된다. 스트림의 시작을 나타내는 패킷, 스트림의 끝을 나타내는 패킷 그리고 스트림 데이터 패킷이 그것들이다. 스트림의 시작을 나타내는 패킷은 헤더 다음에 따르는 몸체부분에는 FEC 데이터만이 있으며 그 나머지는 미사용으로 남게 된다. 스트림의 끝을 나타내는 패킷은 헤더 다음에 따르는 몸체부분에는 FEC 데이터와 데이터 길이에 대한 데이터와 그 길이에 해당하는 데이터가 있게 된다. 마지막으로 스트림 데이터 패킷은 헤더 다음에 따르는 몸체부분에는 FEC 데이터와 데이터가 있게 된다. 패킷은 VBI 삽입기에 전송된다.
다음은 스케쥴러의 동작에 대해서 설명한다. 스케쥴러의 동작은 도7에 나타나 있다. 먼저 동작이 시작되면, 패킷전송큐(1624)가 비어있는지를 살펴본다(1610). 패킷전송큐가 비어 있지 않으면, 패킷 전송큐가 빌 때까지 대기한다(1612). 패킷전송큐가 비게되면, 각각의 엔코더 데이터 생성자(1602)를 참조하여 어느 엔코더 데이터 생성자에 엔코더 데이터블록이 존재하는가를 차례로 살펴본다. 엔코더 데이터 생성자 1(16021)로부터 생성된 엔코더 데이터블록이 없으면, 엔코더 데이터 생성자 2(16022)로부터 생성된 데이터블록이 존재하는가를 살펴본다. 각각의 엔코더 데이터 생성자(16021, 16022, . . ., 1602n) 모두에 엔코더 데이터블록이 존재하지 않으면 동작개시단계로 돌아가 위 과정을 반복한다. 만약 어떤 엔코더 데이터 생성자로부터 생성된 데이터 블록이 존재하면, 데이터 블록을 패킷생성기에 전송하여 패킷을 생성한다. 설명을 위해 여기서 엔코더 데이터 생성자 1(16021)로부터 생성된 데이터 블록이 존재한다고 가정하자. 그러면 대역폭 점유율 데이터에 따라 엔코더 데이터 생성자 1(16021)이 생성한 데이터 블록을 대역폭 점유율 만큼 읽어온 다음, 패킷을 생성하도록 한다(16181). 생성된 패킷을 전송큐에 넣는다(16201). 그리고 다음 엔코더 데이터 블록생성자로부터 생성된 데이터 블록이 있는가를 본다. 이러한 위 과정을 되풀이 한다.
도 8을 참조하면, 수신시스템이 도시되어 있다. 수신시스템에서 전송된 패킷은 수신기(31)에 인가되어 비디오신호로 복조되고, 복조된 비디오신호는 VBI 디코더(33)에 인가되어 오디오신호, 비디오신호 그리고 데이터로 분리된다. 데이터는 프로토콜 디코더(39)에 인가한다. 프로토콜 디코더(39)는 데이터링크 디코더(391)와 트랜스포트 디코더(393)를 포함한다. 트랜스포트 디코더(39)에서 디코딩된 데이터는 데이터의 종류에 따라 대응되는 각각의 응용프로그램 디코더(41a, 41b, 41c, . . ., 41n)에 인가되어 디코딩된다.
도 9은 프로토콜 디코더의 처리과정을 나타내는 흐름도이다. 먼저 VBI 디코더(33)에 의해 비디오신호의 수직귀선기간에 포함된 패킷이 추출되고, 추출된 패킷은 데이터 링크 디코더(391)에 인가되어 각각의 데이터 블록으로 나뉘어진다. 먼저, 디코딩된 패킷이 인가되면 FEC를 이용하여 패킷에 포함된 에러를 정정하고(480), 소켓번호에 의해 데이터블록의 패킷을 추출하고(482), 해당 데이터블록으로 패킷은 분배한 다음(484), 트랜스포트 디코더(393)으로 데이터 블록을 전송한다.
트랜스포트 디코더(393)에서는 패킷일련번호를 이용하여 블록을 조립한다(490). 조립된 블록은 블록 끝표시를 이용하여 블록생성을 완성한다(492). ZDLE 처리를 한 다음(494), 블록에 대한 CRC처리를 하고(496), 포트번호를 이용하여 응응프로그램 디코더(41)로 데이터 블록과 블록정보를 전달한다.
응용프로그램 디코더(41)에서는 수신된 블록데이터를 응응프로그램으로 디코딩한다.
이러한 본 발명은 복수개의 비트 스트림을 동시에 전송할 수 있을 뿐만 아니라, 전송하고 있는 데이터의 의미에는 관계없이 어떠한 종류의 데이터인지를 명시하여 데이터를 받아서 처리할 상위계층을 구분할 수 있다.

Claims (13)

  1. 서비스 정보의 성격에 따른 데이터를 각각 코드화하는 응용프로그램 엔코더와;
    코드화된 데이터를 블록단위로 생성하는 트랜스포트 엔코더와;
    상기 블록단위를 패킷으로 생성하는 패킷생성기와;
    생성된 패킷을 비디오 신호의 수직귀선기간에 삽입하는 VBI 삽입기와;
    패킷이 삽입된 비디오 신호를 전송하는 송신장치와;
    송신장치로부터 송신된 신호를 수신하여 수직귀선 기간에 삽입되어 있는 패킷을 추출하는 VBI 디코더와;
    추출된 패킷에서 데이터블록 패킷을 추출하는 데이터 링크 디코더와;
    수신된 패킷을 조립하여 블록데이터로 생성하는 데이터 블록 생성자와;
    디코딩된 블록 데이터를 디코딩하는 응용프로그램 디코더를 포함하는 수신장치로 구성된 수직귀선신호를 이용한 데이터 송수신시스템.
  2. 제1항에 있어서, 상기 응용프로그램 엔코더는 코드화된 데이터와 함께 제어정보인 데이터 블록형식에 관한 정보, 데이터 블록길이에 대한 정보 및 대역폭 점유율에 대한 정보를 상기 트랜스 포트 엔코더에 전송하고, 상기 트랜스포트 엔코더는 상기 데이터 블록형식에 관한 정보와 데이터 블록길이에 대한 정보에 의해 블록단위를 생성하는 수직귀선기간을 이용한 데이터 송수신 시스템.
  3. 제2항에 있어서, 상기 패킷생성기가 상기 대역폭 점유율에 대한 정보에 따라 트랜스포트 엔코더로부터 일정한 단위를 가져오도록 하는 스케쥴러를 포함하는 데이터 송수신시스템.
  4. 제3항에 있어서, 상기 일정한 단위는 블록단위인 데이터 송수신시스템.
  5. 정보의 성격에 따른 데이터를 각각 코드화하고 제어정보를 생성하는 응용프로그램 엔코더와;
    상기 제어정보에 따라 상기 응용프로그램 엔코더에서 코드화된 각각의 데이터를 각각 블록단위로 생성하는 트랜스포트 엔코더와;
    각각의 상기 블록단위를 각각의 패킷으로 생성하는 패킷생성기와;
    각각 생성된 상기 패킷을 비디오 신호의 수직귀선기간에 삽입하는 VBI 삽입기와;
    상기 패킷이 삽입된 비디오 신호를 전송하는 송신기를 포함하는 수직귀선기간을 이용한 데이터 송신장치.
  6. 제5항에 있어서, 상기 패킷생성기가 상기 대역폭 점유율에 대한 정보에 따라 트랜스포트 엔코더로부터 일정한 단위를 가져오도록 하는 스케쥴러를 포함하는 수직귀선기간을 이용한 데이터 송신장치.
  7. 제6항에 있어서, 상기 스케쥴러는 동작이 개시되면 패킷 전송큐가 비어있는가를 판단하고, 상기 패킷전송큐가 비어 있으면 상기 엔코더 데이터 생성자가 생성한 데이터블록을 대역폭 점유율 만큼 읽어들여 이를 패킷생성기에 전달하여 패킷을 만들게 하는 수직귀선기간을 이용한 데이터 송신장치.
  8. 정보의 성격에 따른 데이터를 각각 코드화하고 이 코드화하기 위한 제어정보를 송출하고;
    상기 제어정보에 따라 코드화된 각각의 데이터를 각각 블록단위로 생성하고;
    각각의 상기 블록단위를 각각의 패킷으로 생성하고;
    각각 생성된 상기 패킷을 비디오 신호의 수직귀선기간에 삽입하고;
    상기 패킷이 삽입된 비디오 신호를 전송하는 단계를 포함하는 데이터 송신방법.
  9. 제8항에 있어서, 상기 블록단위의 데이터는 대역폭 점유율에 따라 일정한 단위로 패킷화되는 수직귀선기간을 이용한 데이터 송신방법.
  10. 제9항에 있어서, 상기 스케쥴러는 동작이 개시되면 패킷 전송큐가 비어있는가를 판단하고, 상기 패킷전송큐가 비어 있으면 상기 엔코더 데이터 생성자가 생성한 데이터블록을 대역폭 점유율 만큼 읽어들여 패킷을 만드는 수직귀선기간을 이용한 데이터 송신방법.
  11. 서비스 정보의 성격에 따른 데이터를 각각 코드화하고;
    코드화된 데이터를 블록단위로 생성하고;
    상기 블록단위를 패킷으로 생성하고;
    생성된 패킷을 비디오 신호의 수직귀선기간에 삽입하고;
    패킷이 삽입된 비디오 신호를 전송하고;
    송신된 신호를 수신하여 수직귀선 기간에 삽입되어 있는 패킷을 추출하고;
    추출된 패킷에서 데이터블록 패킷을 추출하고;
    수신된 패킷을 조립하여 블록데이터로 생성하고;
    디코딩된 블록 데이터를 디코딩하는 응용프로그램 디코더를 포함하는 수직귀선신호를 이용한 데이터 송수신방법.
  12. 송신장치로부터 송신된 신호를 수신하여 수직귀선 기간에 삽입되어 있는 패킷을 추출하는 VBI 디코더와;
    추출된 패킷에서 데이터블록 패킷을 추출하는 데이터 링크 디코더와;
    수신된 패킷을 조립하여 블록데이터로 생성하는 데이터 블록 생성자와;
    디코딩된 블록 데이터를 디코딩하는 응용프로그램 디코더를 포함하는 수신장치로 구성된 수직귀선신호를 이용한 데이터 수신장치.
  13. 송신장치로부터 송신된 신호를 수신하여 수직귀선 기간에 삽입되어 있는 패킷을 추출하고;
    추출된 패킷에서 데이터블록 패킷을 추출하고;
    수신된 패킷을 조립하여 블록데이터로 생성하고;
    디코딩된 블록 데이터를 디코딩하는 응용프로그램 디코더를 포함하는 수신방법.
KR1019980048083A 1998-11-10 1998-11-10 수직귀선신호를이용한데이터송수신시스템,데이터송수신방법,및수직귀선기간을이용한데이터송신장치,송신방법,그수신장치및수신방법 KR100325362B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980048083A KR100325362B1 (ko) 1998-11-10 1998-11-10 수직귀선신호를이용한데이터송수신시스템,데이터송수신방법,및수직귀선기간을이용한데이터송신장치,송신방법,그수신장치및수신방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980048083A KR100325362B1 (ko) 1998-11-10 1998-11-10 수직귀선신호를이용한데이터송수신시스템,데이터송수신방법,및수직귀선기간을이용한데이터송신장치,송신방법,그수신장치및수신방법

Publications (2)

Publication Number Publication Date
KR20000006599A true KR20000006599A (ko) 2000-02-07
KR100325362B1 KR100325362B1 (ko) 2002-06-26

Family

ID=19557780

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980048083A KR100325362B1 (ko) 1998-11-10 1998-11-10 수직귀선신호를이용한데이터송수신시스템,데이터송수신방법,및수직귀선기간을이용한데이터송신장치,송신방법,그수신장치및수신방법

Country Status (1)

Country Link
KR (1) KR100325362B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101539544B1 (ko) * 2014-12-18 2015-07-24 (주) 넥스트칩 프로토콜 교환 방법 및 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5917830A (en) * 1996-10-18 1999-06-29 General Instrument Corporation Splicing compressed packetized digital video streams

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101539544B1 (ko) * 2014-12-18 2015-07-24 (주) 넥스트칩 프로토콜 교환 방법 및 장치
WO2016098947A1 (ko) * 2014-12-18 2016-06-23 (주)넥스트칩 프로토콜 교환 방법 및 장치
US9986201B2 (en) 2014-12-18 2018-05-29 Nextchip Co., Ltd. Method and apparatus for exchanging protocol

Also Published As

Publication number Publication date
KR100325362B1 (ko) 2002-06-26

Similar Documents

Publication Publication Date Title
KR101615241B1 (ko) 디지털 방송 시스템 및 데이터 처리 방법
KR101669973B1 (ko) 디지털 방송 시스템 및 데이터 처리 방법
US8432936B2 (en) Transmission of multiplex protocol data units in physical layer packets
KR101556132B1 (ko) 디지털 방송 시스템 및 데이터 처리 방법
KR101500339B1 (ko) 디지털방송 시스템의 패킷 통신 장치 및 방법
CA2401394A1 (en) Vsb transmission system for processing supplemental transmission data
JP4302823B2 (ja) 多重信号受信方法、装置及びマルチメディア端末
KR101598095B1 (ko) 송/수신 시스템 및 데이터 처리 방법
KR20070055117A (ko) 디지털 방송 시스템 및 처리 방법
CA2410783A1 (en) Vsb communication system
CN101102506A (zh) 一种多媒体广播数据传输方法、装置及系统
EP1303918B1 (en) Signalling of signal significance information between an application layer and a channel encoder
KR100325362B1 (ko) 수직귀선신호를이용한데이터송수신시스템,데이터송수신방법,및수직귀선기간을이용한데이터송신장치,송신방법,그수신장치및수신방법
JPH10190634A (ja) データ伝送方法及びデータ伝送システム
CN100385887C (zh) 数字数据的编码、传输和解码的方法和装置
KR20050027408A (ko) 디지털 방송시스템에서의 부가방송 서비스 방법 및 장치
KR101617272B1 (ko) 디지털 방송 시스템 및 데이터 처리 방법
KR101684973B1 (ko) 디지털 방송 시스템 및 데이터 처리 방법
JP2008193484A (ja) Ts伝送システム、その送信側装置、及び受信側装置、並びにts伝送方法

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
G15R Request for early opening
N231 Notification of change of applicant
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: 20110201

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee