KR0159564B1 - 엠팩2 스트림을 위한 디멀티플렉서 - Google Patents

엠팩2 스트림을 위한 디멀티플렉서 Download PDF

Info

Publication number
KR0159564B1
KR0159564B1 KR1019940028266A KR19940028266A KR0159564B1 KR 0159564 B1 KR0159564 B1 KR 0159564B1 KR 1019940028266 A KR1019940028266 A KR 1019940028266A KR 19940028266 A KR19940028266 A KR 19940028266A KR 0159564 B1 KR0159564 B1 KR 0159564B1
Authority
KR
South Korea
Prior art keywords
pid
pmt
stream
pat
demultiplexer
Prior art date
Application number
KR1019940028266A
Other languages
English (en)
Other versions
KR960016230A (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 KR1019940028266A priority Critical patent/KR0159564B1/ko
Publication of KR960016230A publication Critical patent/KR960016230A/ko
Application granted granted Critical
Publication of KR0159564B1 publication Critical patent/KR0159564B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4343Extraction or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

본 발명은 입력되는 전송 스트림(TS : Transport Stream)을 멀티플렉싱하는 하드웨어적 구조를 단순화시키기 위한 엠팩2(MPEG2) 스트림을 위한 디멀티플렉서에 관한 것이다.
이를 달성하기 위하여, 입력되는 전송 스트림(TS)에서 우선 패킷 ID(PID)값 0을 갖는 PAT(Program Association Table)를 알아내어 저장한 후, 사용자에 의해 지정된 프로그램 넘버(program number)에 의해 저장된 PAT로부터 PMT(Program Map Table)의 PID값을 검출하여 저장하고, 이 저장된 PID값에 따라 입력되는 전송스트림(TS)의 각 전송 패킷들의 기본 스트림의 형태를 알아내고 이에 대한 제어 신호와 기본 스트림을 (1-N) 디멀티플렉서로 구성된 디멀티로직부로 제공하면, 디멀티로직부는 제어 신호에 따른 해당 기본 스트림 디코더로 제공하여 디코딩을 수행하게 하므로써, 디멀티플렉싱을 위한 하드웨어 구조가 단순해지는 효과가 있다.

Description

엠팩2(MPEG2) 스트림을 위한 디멀티플렉서
제1도는 엠팩2(MPEG2)의 스트림 구조를 개략적으로 나타낸 도면이고,
제2도는 본 발명에 따른 엠팩2스트림을 위한 디멀티플렉서의 구성을 나타낸 블록도이고,
제3도는 제2도를 설명하기 위한 타이밍 다이어그램도이고,
제4도는 본 발명에 따른 디멀티플랙서를 나타낸 도면이고,
제5도는 제4도에 도시된 디멀트필렉서의 로직 구성을 나타낸 도면이다.
* 도면의 주요부분에 대한 부호의 설명
10 : PAT 디패키타이저 20 : PMT 디패키타이저
30 : PID 제어기 40 : PID 메모리
50 : 디멀티 로직부 60 : 기본 스트림 디코디
본 발명은 엠팩2(MPEG2) 스트림(stream)을 위한 디멀티플렉서(demultiplexer)에 관한 것으로, 특히 기본 스트림(elementary stream)이 멀티플렉싱 되어 전송되는 전송 스트림(Transport Stream : TS)을 디멀티플렉싱하는 하드웨어적 구조를 단순화시킨 엠팩2 스트림을 위한 디멀티플렉서에 관한 것이다.
잘 알려진 바와 같이, MPEG2(Moving Pictures Experts Group)에는 데이터의 압축과 그의 전송에 관한 국제 규격이 나타나 있다.
엠팩2에서는 인코딩(encoding)되어 입력되는 기본 스트림을 패키타이저(packetizer)를 이용하여 패킷(packet)을 만들고, 이 기본 스트림이 패킷화된 것을 PES(Packetized Elementary Stream)이라 하고, 이 패킷을 PES 패킷이라고 한다.
제1도는 엠팩2 스트림의 구조를 개략적으로 나타낸 도면으로서, 가장 상층(100)은 엠팩2 프로그램 스트림 즉, 기본 스트림을 나타내고, 이 기본 스트림을 패키타이저에 의하여 패킷 즉, PES 패킷을 만들고, 이 PES 패킷(200)은 전송 스트림(TS) 멀티플렉싱(multiplexing) 과정을 통하여 전송 스트림(TS)(300)을 만든다.
이때, 전송 스트림(TS)(300)은 일련의 전송 패킷(transport packet)으로 구성되는 데, 이 전송 패킷들은 각각의 길이가 188바이트(byte)로 일정하다. 그리고, 제1도에는 도시되어 있지 않지만 각 패킷들은 헤더(header)와 패이로드(payload)로 구성되며, 헤더 부분에는 13비트의 길이를 갖는 패킷 ID 정보(PID)가 있는 바, 디멀티플렉싱하는 과정에서 헤더 부분의 PID를 이용하여 패킷들을 구분할 수 있다.
그리고, 엠팩2 프로그램 스트림은 제1도에 도시된 바와 같이 여러개의 PES로 나누어지고, 이 PES는 여러개의 TS로 나누어지는 바, 하나의 PES를 이루는 전송 스트림(TS)은 서로 같은 PID를 갖는다.
상기한 바와 같은 PID는 PID 정보를 갖고 있는 PAT(Program Association Table)과 PMT(Program Map Table)(도면에 도시되지 않음)을 통하여 알 수 있고, 이 두 테이블은 일반적인 데이터 전송과 같이 전송 스트림(TS)(300)에 의해 전송된다.
이때, PAT(Program Association Table)에는 현재 전송되고 있는 전송 스트림(TS)이 어떤 프로그램들로 구성되어 있는 지를 나타내는 프로그램 넘버(program number)와 이에 해당하는 PID를 갖고 있으며, 여기서 프로그램 넘버와 함께 전송되는 PID는 program map table PID(PMT_PID)라고 한다.
그리고, PMP(Program Map Table)은 한 프로그램에 포함되어 있는 기본 스트림(elementary stream)들에 대한 내용 및 PID를 나타내는 데, 이 PMT정보는 PAT에서 지정한 PMT_PID의 PID를 갖는 전송 패킷으로 전송된다.
상기한 바와 같은 두 테이블을 포함하여 전송되는 전송 스트림(TS)의 디멀티플렉싱 과정은 다음과 같다.
엠팩2에서는 PID의 값이 0인 전송 패킷은 PAT 정보를 갖고 있는 것으로 처음부터 규정을 하고 있으므로, 시스템 디코더(system decorder)는 디멀티플렉싱할 때, 우선적으로 PID값이 0인 PAT를 찾는다. 즉, 사용자에 의해 프로그램 넘버가 지정되면, PAT로부터 그 프로그램 넘버에 해당하는 PMT의 PID값을 알아낸 후, 이 PID값을 이용하여 전송 스트림(TS)에 의해서 전송되는 PMT를 도시되지 않은 메모리에 저장시킨다. 그리고, 이후에 전송되는 전송 스트림(TS)의 PID값을 PMT를 저장한 메모리의 어드레스로 사용하여 전송 스트림(TS)의 기본 스트림의 형태를 알아낸 후, 알아낸 형태에 해당하는 기본 스트림 버퍼(elementary stream buffer)로 기록인에이블(write enalble) 신호를 보내어 디코딩 동작을 수행하게 하고, 다른 기본 스티림 디코더로의 패스(pass)는 디저블(disable) 시킨다.
이 때, 기본 스트림의 형태에 알맞게 각기 구성되는 기본 스트림 버퍼는 다수의 버퍼들로 구성되어, 하드웨어 구조가 복잡해지며 설계 비용이 상승되는 문제점이 있었다.
본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 입력되는 전송 스트림(TS)을 디멀티플렉싱할때 적용되는 하드웨어적 구조를 단순화하여 제작 비용을 감소하기 위한 엠팩2(MPEG2) 스트림을 위한 디멀티플렉서를 제공하는 데 있다.
상기한 목적을 달성하기 위한 본 발명은, 입력되는 전송 스트림(TS : Transport Stream)의 디멀티플렉싱(demultiplexing)을 수행하기 위한 엠팩2(MPEG2) 스트림을 위한 디멀티플렉서에 있어서, 상기 전송 스트림(TS)중 각 패킷의 ID(PID)값이 0인 PAT(Program Association Table)을 갖는 전송 패킷의 헤더 부분은 제거하고, 데이터에 해당하는 부분을 제공하는 PAT(Program Association Table) 디패키타이저(Depacketizer); 사용자에 의해 지정된 프로그램 넘버에 의해 상기 PAT로부터 PMT(Program Map Table)의 PID값을 알아내어, 상기 전송 스트림(TS)중 PMT 의 PID를 갖는 전송 패킷들의 헤더 부분은 제거하고 데이터에 해당하는 부분을 제공하는 PMT 디패키타이저; 상기 PAT 디패키타이저와 상기 PMT 디패키타이저를 제어하며, 상기 PMT디패키타이저에서 제공되는 PMT의 PID에 의하여 상기 전송스트림(TS)의 기본 스트림 형태에 대한 제어 신호와 기본 스트림을 제공하는 PID 제어기; 상기 PAT 디패키타이저와 상기 PMT 디패키타이저에서 제공되는 PAT 및 PMT 데이터를 저장하고, 상기 PAT 데이터를 억세스할 때는 상기 프로그램 넘버를 어드레스로 사용하고 상기 PMT 데이터를 억세스할 때는 상기 PMT의 PID값을 어드레스로 사용하는 PID 메모리; (1-N) 디멀티플렉서(Demultiplexer)로 구성되어, 상기 PID 제어기에서 제공되는 제어 신호에 따른 해당 디코더로 기본 스트림을 제공하는 디멀티로직부; 상기 디멀티로직부에서 제공되는 기본 스트림을 디코딩하는 기본 스트림 디코더를 포함한다.
이하, 예시된 도면을 참조하여 본 발명을 상세하게 설명한다.
제2도는 본 발명에 따른 엠팩2 스트림을 위한 디멀티플렉서의 구성을 나타낸 블록도이고, 제3도는 제2도를 설명하기 위한 타이밍 다이어그램이다.
제2도에 도시된 바와 같이, 본 발명에 따른 엠팩2 스트림을 위한 디멀티플렉서는 PAT(Program Association Table) 디패키타이저(Depacketizer)(10), PMT(Program Map Table) 디패키타이저(20), PID(Packet IDentification) 제어기(30), PID 메모리(40), 디멀티로직부(50), 기본 스트림 디코더(60)로 구성된다.
이와 같이 구성된 본 발명에 따른 엠팩2 스트림을 위한 디멀티플렉서의 구체적인 동작 설명은 다음과 같다.
앞서 설명한 바와 같이, 0의 PID값을 갖는 PAT는 프로그램 넘버와 PMT의 PID를 연결시키도록 되어 있기 때문, PAT를 알면 PMT를 알수 있다. 이 때, PAT는 전송되는 프로그램들의 프로그램 넘버와 이에 해당하는 PID를 갖고 있으며, PMT는 한 프로그램에 포함되어 있는 기본 스트림들에 대한 내용 및 PID를 갖고 있다.
따라서, PAT 디패키타이저(10)는 입력되는 전송 스트림(TS)의 PID값인 0인 PAT를 찾는다. 즉, PAT 디패키타이저(10)는 우선적으로 전송 스트림(TS)중 PID값이 0인 PAT를 갖는 전송 패킷(transport packet)들을 입력받아, 각 패킷의 헤더 부분은 없애고 패이로드(payload)부분의 데이터만 PID 메모리(40)로 제공하면, PID 메모리(40)는 PAT 디패키타이저(10)에서 제공되는 데이터를 저장한다(제3도의 F).
그리고, PMT 디패키타이저(20)는PMT를 나타내는 PID값을 가지고, 입력되는 전송 패킷들중에서 PMT의 PID를 갖는 전송 패킷을 받아 각 패킷의 헤더 부분은 없애고 데이터만 PID 메모리(40)로 제공한다.
이 때, PID 메모리(40)에 데이터 저장이 완료되면 제3도의 A 신호가 로우레벨에서 하이 레벨로 전환된다.
한편, PID 제어기(30)는 사용자에 의해 입력되는 프로그램 넘버에 의하여 PID 메모리(40)에 억세스하여(I) PMT의 PID값을 알아낸 후(J), PMT 디패키타이저(20)로 제공한다. 이것은 프로그램 넘버를 가지는 PAT에 의해 PMT의 PID를 알 수 있기 때문이다.
따라서, PMT 디패키타이저 (30)는 디패키타이저(30)는 PID 제어기(20)에서 제공되는 PMT의 PID 값을 이용하여, 입력되는 전송 패킷들중에서 PMT의 PID를 갖는 전송 패킷들을 검출하여 PID 메모리 (40)로 제공하면(K) PID 메모리(40)는 이를 저장한다. 따라서, 이후에 전송되는 전송 패킷의 PID는 PID 메모리(40)의 어드레스로 사용되어 PID 제어기(30)는 PID 메모리(40)에 저장된 PMT로부터 전송 스트림(TS)의 기본 스트림을 알 수 있게 된다. 이 때, 제3도에 도시된 E 신호가 로우레벨에서 하이레벨로 된다.
상기한 바와 같이, A 신호와 E 신호가 하이레벨로 되면, PID 제어기 (30)는 PID 메모리(40)에 저장된 PMT의 PID에 의해 알아낸 전송 스트림(TS)의 기본 스트림과 이에 대한 제어 신호를 디멀티로직부(50)로 제공한다.
이 때, 디멀티로직부(50)는 제4도에 도시된 바와 같이(1-N) 디멀티플렉서(41)로 구성되어, PID 제어기(30)에서 제공되는 제어 신호에 따라 기본 스트림을 N개의 디코더중 해당 기본 스트림 디코더(60)로 제공되어 디코딩될 수 있도록 하는 디멀티플렉서이다.
제5도는 제4도의 디멀티플렉서(41)의 로직 구성도로서, 간단한 예로서 1to2 티멀티플렉서의 로직 구성을 나타내었다. 이 때, 1to2 디멀티플렉서는 인버터(Inverter)(51)와, 제1 및 제2 앤드게이트(AND gate)(52)(53)로 구성된다.
즉, 제1앤드게이트(52)의 제1입력단에는 인버터(51)를 거친 PID 제어기(30)의 제어 신호가 입력되고 제2 입력단에는 기본 스트림이 입력된다. 따라서, 제1 앤드게이트(51)는 제1입력단 및 제2입력단의 신호를 앤드시켜 기본 스트림 디코더0으로 제공하고, 제2앤드게이트(53)의 제1입력단에는 인버터(51)를 거치지 않은 PID 제어기(30)의 제어 신호가 입력되고 제2입력단에는 기본 스트림이 입력됨에 따라, 제2앤드게이트(53)는 제1입력단 및 제2입력단의 신호를 앤드시켜 기본 스트림 디코더1로 제공한다.
이와 같이 본 발명에 따른 디멀티로직부(50)는 PID 제어기(30)의 제어 신호에 해당하는 기본 스트림 디코더(60)로 기본 스트림을 제공하여 디코딩을 수행하도록 한다.
즉, 본 발명에 따른 디멀티로직부(50)는 제5도에 도시된 바와 같은 로직 구성에 의한 디멀티플렉서를 구성하여 기본 스트림을 해당 기본 스트림 디코더로 제공한다.
또한, 본 발명은 상기의 실시예에 한정하지 않고 본원의 기술적 요지를 벗어나지 않는 범위내에서 변형 실시할 수 있다.
이상에서 설명한 바와 같이 본 발명은, 전송되는 전송 스트림(TS)을 디멀티플렉싱하는 하드웨어적 단순화시켜 생산 원가를 낮추는 장점이 있다.

Claims (1)

  1. 입력되는 전송 스트림(TS : Transport Stream)의 디멀티플렉싱(demultiplexing)을 수행하기 위한 엠팩2(MPEG2) 스트림을 위한 디멀티플렉서에 있어서, 상기 전송 스트림(TS)중 각 패킷의 ID(PID)값이 0인 PAT(Program Association Table)을 갖는 전송 패킷의 헤더 부분은 제거하고, 데이터에 해당하는 부분을 제공하는 PAT(Program Association Table) 디패키타이저(Depacketizer); 사용자에 의해 지정된 프로그램 넘버에 의해 상기 PAT로부터 PMT(Program Map Table)의 PID값을 알아내어, 상기 전송 스트림(TS)중 PMT의 PID를 갖는 전송 패킷들의 헤더 부분은 제거하고 데이터에 해당하는 부분을 제공하는 PMT 디패키타이저; 상기 PAT 디패키타이저와 상기 PMT 디패키타이저를 제어하며, 상기 PMT 디패키타이저에서 제공되는 PMT의 PID에 의하여 상기 전송 스트림(TS)의 기본 스트림 형태에 대한 제어 신호와 기본 스트림을 제공하는 PID 제어기; 상기 PAT 디패키타이저와 상기 PMT 디패키타이저에서 제공되는 PAT 및 PMT 데이터를 저장하고, 상기 PAT 데이터를 억세스할 때는 상기 프로그램 넘버를 어드레스로 사용하고 상기 PMT 데이터를 억세스할 때는 상기 PMT의 PID값을 어드레스로 사용하는 PID 메모리; (1-N) 디멀티플렉서(Demultiplexer)로 구성되어, 상기 PID 제어기에서 제공되는 제어 신호에 따른 해당 디코더로 기본 스트림을 제공하는 디멀티로직부; 상기 디멀티로직부에 제공되는 기본 스트림을 디코딩하는 기본 스트림 디코더를 포함하는 엠팩2(MPEG2) 스트림을 위한 디멀티플렉서.
KR1019940028266A 1994-10-31 1994-10-31 엠팩2 스트림을 위한 디멀티플렉서 KR0159564B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940028266A KR0159564B1 (ko) 1994-10-31 1994-10-31 엠팩2 스트림을 위한 디멀티플렉서

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940028266A KR0159564B1 (ko) 1994-10-31 1994-10-31 엠팩2 스트림을 위한 디멀티플렉서

Publications (2)

Publication Number Publication Date
KR960016230A KR960016230A (ko) 1996-05-22
KR0159564B1 true KR0159564B1 (ko) 1999-01-15

Family

ID=19396598

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940028266A KR0159564B1 (ko) 1994-10-31 1994-10-31 엠팩2 스트림을 위한 디멀티플렉서

Country Status (1)

Country Link
KR (1) KR0159564B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100331825B1 (ko) * 1999-07-27 2002-04-09 구자홍 디지털 인터페이스의 전송 스트림 전달장치 및 방법
KR20010026645A (ko) * 1999-09-08 2001-04-06 정선종 엠펙-2 전송열에서 동기 바이트의 효율적 검출방법
KR100382655B1 (ko) * 2001-07-25 2003-05-09 삼성전자주식회사 프로그램 저장 방법 및 이에 적합한 저장 장치

Also Published As

Publication number Publication date
KR960016230A (ko) 1996-05-22

Similar Documents

Publication Publication Date Title
JP3641336B2 (ja) データ分離装置
US5995727A (en) Video decompression
US6434170B1 (en) Memory-based circular queue with local descriptive information to implement a storage area for filtering mpeg-2 packets that are distributed and/or processed under the control of a host microprocessor by a direct memory access mechanism
US6434146B1 (en) Use of sequencing information in a local header that allows proper synchronization of packets to subsidiary interfaces within the post-processing environment of an mpeg-2 packet demultiplexing architecture
US6119213A (en) Method for addressing data having variable data width using a fixed number of bits for address and width defining fields
US6278838B1 (en) Peak-ahead FIFO for DVD system stream parsing
US20060203853A1 (en) Apparatus and methods for video synchronization by parsing time stamps from buffered packets
KR0159564B1 (ko) 엠팩2 스트림을 위한 디멀티플렉서
KR100390841B1 (ko) 피아이디 검출을 고속화하기 위한 피아이디 저장 및 비교장치 및 방법
US20080215343A1 (en) Audio decoding apparatus and audio decoding system
KR100640885B1 (ko) 듀얼 비디오 디코딩을 위한 비디오 버퍼 제어 장치
US20040264502A1 (en) Data alignment of the packetized elementary streams in the coded data buffer for dual decode
JPH1198099A (ja) データ多重化方法および装置
US6847687B2 (en) Audio and video processing apparatus
US6621817B1 (en) Transport packet parser
US9578139B2 (en) Method and system for architecture of a fast programmable transport demultiplexer using a double buffered approach
US8948263B2 (en) Read/write separation in video request manager
US6341198B1 (en) System for byte packing multiple data channels in an MPEG/DVD system
JPH11266447A (ja) 集積回路及び集積化方法
KR970004793B1 (ko) 엠.피.이.지.2 스트림을 위한 디멀티플렉서 장치
US8023564B2 (en) System and method for providing data starting from start codes aligned with byte boundaries in multiple byte words
JP2001103430A (ja) Dvdオーディオ復号システムのビットストリーム緩衝および多重分離装置
JP2001103116A (ja) ストリーム生成装置
US8929458B2 (en) Compressed structure for slice groups in start code table
JP2008205681A (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
FPAY Annual fee payment

Payment date: 20110801

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20120801

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee