KR100755434B1 - 디지털 방송수신기의 역다중화장치 및 방법 - Google Patents

디지털 방송수신기의 역다중화장치 및 방법 Download PDF

Info

Publication number
KR100755434B1
KR100755434B1 KR1020050122479A KR20050122479A KR100755434B1 KR 100755434 B1 KR100755434 B1 KR 100755434B1 KR 1020050122479 A KR1020050122479 A KR 1020050122479A KR 20050122479 A KR20050122479 A KR 20050122479A KR 100755434 B1 KR100755434 B1 KR 100755434B1
Authority
KR
South Korea
Prior art keywords
data
packet
additional information
buffer
header
Prior art date
Application number
KR1020050122479A
Other languages
English (en)
Other versions
KR20060067848A (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 US11/302,353 priority Critical patent/US8199781B2/en
Priority to CN200580042848XA priority patent/CN101080925B/zh
Priority to EP05819107A priority patent/EP1839439A4/en
Priority to PCT/KR2005/004297 priority patent/WO2006065071A1/en
Publication of KR20060067848A publication Critical patent/KR20060067848A/ko
Application granted granted Critical
Publication of KR100755434B1 publication Critical patent/KR100755434B1/ko

Links

Images

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
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/455Demodulation-circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

패킷헤더 및 페이로드로 구성되는 패킷데이타를 처리하는 디지털 방송수신기의 역다중화 장치가, 입력되는 패킷 데이터를 버퍼링하는 버퍼와, 버퍼에 병렬 연결되는 복수의 처리부들로 구성되며, 처리부들은, 버퍼링된 패킷데이타의 패킷헤더를 검사하여 부가정보 포함 여부를 확인하며, 부가정보 포함 여부에 따른 제어신호를 발생하는 패킷헤더처리부와, 패킷헤더처리부에 제어에 의해 버퍼링된 페이로드 데이타에서 부가정보를 처리하는 부가정보처리부와, 패킷헤더처리부에 제어에 의해 버퍼링된 페이로드 데이타에서 PES 헤더를 처리하는 PES헤더처리부와, PES헤더처리부에 제어에 의해 버퍼링된 페이로드 데이터의 오디오 또는 비디오 데이터를 오디오 또는 비디오 이에스로 생성하여 각각 대응되는 복호기에 출력하는 데이터처리부로 구성된다.
디지털방송수신기, 역다중화, 동기, 패킷

Description

디지털 방송수신기의 역다중화장치 및 방법{DEVICE AND METHOD FOR DEMULTIPLEXING RECEIVED TRANSPORT STREAM IN DIGITAL BROADCASTING RECEIVER}
도 1은 디지털 방송송신기에서 송신신호를 다중화하는 개념을 설명하기 위한 도면
도 2는 디지털 방송수신기에서 수신되는 신호를 역다중화하는 개념을 설명하기 위한 도면
도 3은 종래의 디지털 방송수신기에서 역다중화기의 구성을 도시하는 도면
도 4는 도 3과 같은 역다중화기에서 동기신호를 검출하는 절차를 설명하는 흐름도
도 5는 디지털 방송수신기의 구성을 도시하는 도면
도 6은 도 5에서 멀티미디어처리부의 구성을 도시하는 도면
도 7은 디지털 방송수신기의 멀티미디어처리부에서 본 발명의 실시예에 따른 역다중화기의 구성을 도시하는 도면
도 8a - 도 8c는 수신되는 패킷의 구성을 도시하는 도면
도 9a - 도 9c는 수신되는 패킷에 포함된 부가정보의 구성을 도시하는 도면
도 10a - 도 10d는 수신되는 패킷에 포함된 PES 정보의 구성을 도시하는 도면
도 11은 도 7에서 본 발명의 실시예에 따른 동기검색부의 구성을 도시하는 도면
도 12는 도 11의 동기검색부에서 동기신호를 검색하는 절차를 도시하는 흐름도
도 13a - 도 13c는 도 7에서 본 발명의 실시예에 따른 입력버퍼의 구성을 도시하는 도면
도 14a - 도 14b는 본 발명의 실시예에 따라 도 7의 패킷헤더처리부에서 패킷헤더를 처리하는 절차를 도시하는 흐름도
도 15는 본 발명의 실시예에 따라 도 7의 부가정보처리부에서 부가정보를 처리하는 절차를 도시하는 흐름도
도 16은 본 발명의 실시예에 따라 도 7의 PES헤더처리부에서 PES헤더정보를 처리하는 절차를 도시하는 흐름도
도 17은 본 발명의 실시예에 따라 아이피 기반의 방송데이타를 수신하는 방송수신기의 구성을 도시하는 도면
도 18은 본 발명의 실시예에 따라 아이피 기반의 방송 패킷 데이터 스트림을 처리하는 멀티미디어 처리부의 구성을 도시하는 도면
본 발명은 휴대단말기의 부가서비스 장치 및 방법에 관한 것으로, 특히 디지털 방송신호를 수신하여 처리할 수 있는 장치 및 방법에 관한 것이다.
현재 디지털 방송에 대한 표준이 전세계적으로 활발하게 진행되고 있다. 디지털 방송의 경우 미국의 DMB(digital multimedial broadcasting) 방식과 유럽의 DVB(digital video broadcasting) 방식이 있다. 상기와 같은 디지털 방송수신기를 구비하는 휴대단말기는 디지털 방송 수신을 위한 튜너(tuner), 복조기(demoulator) 및 멀티미디어처리부 등을 구비한다.
도 1은 상기 디지털 방송신기에서 TS신호를 다중화하는 동작을 설명하기 위한 도면이다.
상기 도 3을 참조하면, 송신기의 비디오부호기111은 비디오 데이터를 부호화하여 비디오 ES(elementary stream)를 생성한다. 여기서 상기 비디오 ES는 MPEG-2, MPEG4 또는 H.264비디오 데이터가 될 수 있다. 또한 오디오부호기121은 오디오 데이터를 부호화하여 오디오 ES를 생성한다. 상기 오디오 ES는 MPEG1(mp1, mp2, mp3), AAC 또는 BSAC 오디오 데이터들이 될 수 있다.
상기 비디오, 오디오 및 데이터를 다중화하기 위해서는 패킷화하는 과정이 필요하다. 따라서 비디오패킷조립부113은 상기 비디오 ES신호에 시간정보 및 부가정보, 그리고 패킷헤더를 추가하여 패킷화한 비디오 PES를 출력한다. 그리고 오디오패킷조립부313도 상기 오디오 ES에 상기와 같은 정보들을 추가하여 오디오 패킷으로 조립하여 오디오 PES신호를 출력한다. 또한 도시하지 않은 데이터패킷조립기도 이와 유사한 동작을 수행한다.
그러면 상기 다중화기130은 상기 비디오, 오디오 및 데이터 PES신호를 다중화하여 TS신호로 출력한다. 상기 다중화기130은 다수의 입력을 하나의 출력으로 다중화하는 기능을 수행하게 되며, 이때 입력은 상기한 바와 같이 비디오, 오디오 및 프로그램 및 서비스 관련 등에 대한 방송정보 데이터 패킷들이 될 수 있다.
상기 도 1의 구성에서 패킷조립부113,123 및 다중화기130은 TS다중화부가 될 수 있다.
상기와 같이 다중화된 TS신호를 수신하는 디지털 방송수신기의 역다중화부140은 도 2와 같은 구조를 가질 수 있다.
상기 도 2를 참조하면, 상기 TS신호를 수신하는 역다중화부140은 상기 TS신호의 헤더 정보를 분석하여 비디오, 오디오 및 데이터를 각각 분리하여 각각 대응되는 PES신호를 출력한다. 그러면 비디오패킷분해부151은 상기 역다중화부340에 분리되는 비디오 PES를 수신하게 되며, 수신되는 비디오 PES신호의 헤더를 분석하여 비디오 ES신호를 생성한 후 비디오부호기253에 출력한다. 또한 오디오패킷분해부161 및 오디오복호기163도 동일한 동작을 수행하게 된다. 이하의 설명에서는 상기 역다중화기는 상기 역다중화부140 및 패킷분해부151,161들을 포함하는 것으로 설명될 것이다.
따라서 상기 디지털 방송수신기의 역다중화부는 상기 디지털 방송송신기의 다중화부의 역동작을 수행함을 알 수 있다. 도 3은 상기 역다중화부의 구성을 도시하는 도면이다.
상기 도 3을 참조하면, 동기검색부211은 수신되는 TS신호의 패킷헤더의 동기 바이트를 검출하며, 상기 동기바이트 검출시 수신되는 TS신호를 입력버퍼221에 저장한다. 그러면 상기 입력버퍼421은 패킷크기의 데이터를 버퍼링하며, 패킷헤더처리부213은 상기 버퍼221에서 패킷헤더를 추출하여 처리하며, 상기 패킷헤더를 제외한 나머지 데이터를 버퍼223에 출력한다. 부가정보처리부215는 상기 버퍼223에서 부가정보를 추출하여 처리하며, 상기 부가정보를 제외한 나머지 데이터 를 버퍼225에 출력한다. PES헤더처리부217은 상기 버퍼225에서 PES헤더정보를 추출하여 처리하며, 상기 PES헤더를 제외한 나머지 정보를 버퍼227에 출력한다. 데이터처리부219는 상기 버퍼227에서 데이터들을 추출하여 비디오ES 또는 오디오 ES로 출력한다.
상기 도 3과 같은 구성을 가지는 종래의 역다중화부140은 직렬 데이터 처리구조를 가진다. 즉, 동기검색부211에서 바이트 동기신호를 검출하면, 버퍼421에 이후의 데이터를 패킷크기로 입력버퍼421에 버퍼링시키며, 상기 패킷헤더처리부213은 상기 버퍼421에 1패킷의 데이터가 버퍼링된 후 구동되어 패킷헤더를 분석하게 된다. 상기한 바와 같이 종래의 역다중화부는 각 처리부 전단에 버퍼221-223을 구비하고, 전단에서 처리된 패킷 데이터를 수신하여 패킷을 처리하는 방법을 사용하게 된다. 따라서 직렬 구조의 역다중화 동작을 수행하게 되므로써, 입력되는 TS신호를 다중화할 때 지연이 발생된다.
또한 상기와 같은 직렬구조의 역다중화 구조는 불필요한 데이터 처리 동작을 수행할 수 있다. 이때 상기 입력되는 TS 신호를 구성하는 패킷들은 부가정보 및(또는) PES정보를 를 포함하지 않을 수 있다. 즉, 수신되는 TS신호를 구성하는 대부분의 패킷들은 순수 데이터들로 구성되는 패킷이 될 수 있다. 이런 경우 순수 데이터 들만으로 구성된 패킷임에도 불구하고 부가정보처리부215 및(또는) PES헤더 처리부217을 경유하게 되며, 이런 경우 불필요한 처리 동작을 수행하게 되어 시스템 부하의 증가 및 처리 속도의 저하를 가져오게 할 수 있다. 즉, 입력되는 패킷 데이터들을 살펴보면, 실제 데이터 패킷(Audio / Video Data (ES))이 PES 헤더 패킷(PES Header Packet)에 훨씬 많으며, 따라서 PES헤더처리부에서의 대부분의 처리는 데이터 처리부로의 전달 및 ES추출만의 작업이 이뤄진다.
또한 상기 도 3과 같은 상기 역다중부210의 구조는 각 처리부들의 전단 및(또는) 후단에 버퍼223 - 227 들을 구비하는 구조를 가진다. 이때 상기 버퍼221-227은 패킷 크기 이상의 용량을 가지는 버퍼들이며, 따라서 버퍼 메모리가 커지게 된다.
도 4는 역다중화부에서 입력되는 TS신호(패킷스트림)의 동기를 검색하는 절차를 도시하는 흐름도이다.
상기 도 4를 참조하면, 상기 동기검색부211은 입력되는 TS신호의 각 바이트들을 검사하며, 상기 입력되는 바이트가 동기바이트(sync byte, "0X47")이면 261단계에서 이를 감지하고 267단계에서 이를 첫 바이트 재정렬하여 버퍼221에 전송하고 그렇지 않은 경우에는 263단계에서 각각 한바이트씩 상기 버퍼221의 정해진 바이트버퍼에 전송한다. 상기와 같이 입력되는 바이트 데이터를 전송한 후, 265단계에서는 상기 버퍼221의 다음 바이트 버퍼에 연결하여 그 다음 바이트가 입력되면 현재 버퍼의 다음 바이트 위치에 전달될 수 있도록 한다. 상기와 같은 동작은 종료시점까지 이를 반복 수행한다.
상기한 바와 같이 종래의 패킷 동기는 입력되는 바이트 데이터를 검색하여 동기바이트이면 상기 버퍼221의 버퍼 위치를 재정렬하는 동작을 반복하는 동작을 수행한다. 따라서 종래의 동기 검출 방법은 도 3과 같은 직렬구조의 역다중화부140에서 동기검색부211이 TS 신호의 매 패킷들에 대하여 동기신호를 검출하여야 한다. 즉, 동기검색부211은 TS신호의 매 패킷마다 동기신호를 검출하여야 한다. 즉, 동기검색부211은 패킷데이타의 동기신호를 검출하며, 상기 동기신호를 검출한 후 패킷데이타의 시작임을 감지하고 나머지 패킷데이타를 버퍼221에 인가한다. 그러나 일반적으로 TS신호는 패킷 스트림(packet stream)으로써, 일단 패킷데이타의 동기신호가 검출되면 연속되는 패킷데이타의 동기신호 위치를 알 수 있게 된다. 따라서 매 패킷마다 동기신호를 검출하지 않고도 패킷 데이터의 동기를 이룰 수 있음에도 불구하고 종래의 역다중화부140은 매 패킷마다 동기신호를 검출하는 동작을 반복 수행하게 된다.
따라서 본 발명의 목적은 디지털 방송 수신기에서 수신되는 데이터를 병렬 구조로 역다중화하여 각 디코더들에 분배할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 디지털 방송수신기에서 수신되는 데이터를 패킷크기로 버퍼링하며, 상기 버퍼링된 패킷데이타의 헤더를 분석한 후, 헤더정보에 따라 해당하는 처리부가 동작되어 상기 패킷데이타를 처리하여 역다중화할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 디지털 방송수신기에서 수신되는 데이터를 패킷 크기로 버퍼링하며, 상기 버퍼링된 패킷데이타의 헤더정보에서 부가정보 포함 여부를 분석한 후 부가정보가 없는 경우 PES헤더처리부만 구동하여 수신된 데이터를 역다중화할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 디지털 방송수신기에서 수신되는 데이터를 패킷크기로 버퍼링하며, 상기 버퍼링된 패킷데이타에서 부가정보 포함여부를 분석한 후 부가정보가 포함되어있으면 부가정보처리부 구동되어 부가정보를 처리할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 디지털 방송수신기에서 수신되는 직렬 데이터를 버퍼링하며, 패킷크기로 버퍼링되면 상기 버퍼링된 패킷데이타를 병렬 출력하여 처리부로 전달할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 디지털 방송수신기에서 수신되는 패킷데이타의 동기신호를 확인하며, 비동기 상태이면 동기 위치를 확인한 후 차감값을 추출하여 상기 입력되는 데이터를 지연시키므로써 패킷 데이터의 동기를 맞출 수 있는 장치 및 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 실시예에 따른 패킷헤더 및 페이로드로 구성되는 패킷데이타를 처리하는 디지털 방송수신기의 역다중화 장치가, 입력되는 패킷 데이터를 버퍼링하는 버퍼와, 상기 버퍼에 병렬 연결되는 복수의 처리부들로 구성되며, 상기 처리부들은, 상기 버퍼링된 패킷데이타의 패킷헤더를 검사하여 부가정보 포함 여부를 확인하며, 상기 부가정보 포함 여부에 따른 제어신호를 발생하는 패킷헤더처리부와, 상기 패킷헤더처리부에 제어에 의해 상기 버퍼링된 페이로드 데이타에서 부가정보를 처리하는 부가정보처리부와, 상기 패킷헤더처리부에 제어에 의해 상기 버퍼링된 페이로드 데이타에서 PES 헤더를 처리하는 PES헤더처리부와, 상기 PES헤더처리부에 제어에 의해 상기 버퍼링된 페이로드 데이터의 오디오 또는 비디오 데이터를 오디오 또는 비디오 이에스로 생성하여 각각 대응되는 복호기에 출력하는 데이터처리부로 구성된 것을 특징으로 한다.
그리고 상기 패킷헤더처리부는 상기 패킷헤더의 부가정보제어 파라미터를 분석하여 상기 페이로드 데이터가 부가정보를 포함하는지 판단하며, 상기 부가정보 포함시 상기 부가정보처리부가 상기 부가정보를 처리하도록 제어하며, 상기 부가정보가 포함되지 않았으면 상기 PES헤더처리부의 동작을 제어하는 것을 특징으로 한다.
그리고 상기 부가정보처리부는 상기 버퍼에서 버퍼링된 부가정보필드를 분석하여 부가정보의 길이를 분석하며, 상기 페이로드 데이터가 부가정보만으로 이루어진 경우 상기 부가정보를 처리하여 제어부에 전달하고, 상기 페이로드가 데이터가 다른 데이터를 포함하는 경우 상기 PES헤더처리부에 상기 버퍼에 버퍼링된 부가정보 외의 데이터 위치를 전달하며, 상기 부가정보를 처리하여 상기 제어부에 전달하는 것을 특징으로 한다.
그리고 상기 PES헤더처리부는 상기 버퍼에서 버퍼링된 페이로드에 PES헤더 포함 여부를 검사하며, PES헤더 포함시 PES헤더의 길이를 확인하여 처리한 후 제어 부에 전달하고, 상기 버퍼에 버퍼링된 PES 헤더 이외의 데이터 위치를 데이터처리부에 전달하는 것을 특징으로 한다.
그리고 상기 패킷헤더처리부는 패킷헤더의 PID를 분석하여 상기 버퍼링된 패킷의 식별하는 PID를 상기 데이터 처리부에 전달하며, 상기 데이터 처리부는 상기 버퍼에서 버퍼링된 오디오 또는 비디오 데이터를 오디오 또는 비디오 이에스 데이터로 생성하여 각각 대응되는 복호기에 전달하는 것을 특징으로 하는 한다.
또한 상기 버퍼는 패킷데이타 크기를 가지는 제1 및 제2버퍼와, 상기 입력되는 패킷데이타를 제1버퍼에 저장하는 동안 상기 제2버퍼에 저장된 패킷데이타를 출력하고, 상기 입력되는 패킷데이타를 제2버퍼에 저장하는 동안 상기 제1버퍼에 저장된 패킷데이타를 출력하도록 제어하는 어드레스발생부로 구성된 것을 특징으로 한다. 그리고 또한 상기 버퍼는 상기 패킷데이타 크기를 가지는 듀얼포트트 메모리와, 상기 입력되는 패킷 데이터를 상기 메모리에 저장하는 제1어드레스발생부와, 상기 메모리에 저장된 패킷데이타를 출력하는 제2어드레스발생부로 구성된 것을 특징으로 한다.
또한 상기 버퍼에 버퍼링된 패킷데이타에서 동기바이트의 버퍼링 위치를 검사하고, 상기 버퍼의 동기바이트 버퍼링 위치에서 벗어난 위치를 검사하여 차감값을 검출한 후, 상기 차감값에 따라 상기 패킷데이타의 바이트 데이터를 지연시켜 패킷 동기를 맞추는 동기검색부를 더 구비한다. 그리고 상기 동기검색부는 상기 버퍼에 저장되는 바이트 데이터가 동기바이트인가 검사하는 동기확인부와, 상기 동기확인부에서 동기바이트 검출시 상기 버퍼에 저장되는 동기바이트의 버퍼링 위치를 확인한 후, 상기 버퍼에서 설정된 동기바이트 버퍼링 위치에서 상기 저장된 동기바이트 바이트의 버퍼링 위치 까지의 차감값을 계산하는 차감값추출부와, 상기 계산된 차감값에 따라 상기 입력되는 패킷데이타를 지연하여 상기 버퍼에 버퍼링하는 지연부로 구성된 것을 특징으로 하며, 상기 버퍼에 설정된 동기바이트의 버퍼링 위치는 상기 버퍼의 첫 번째 바이트 버퍼링 위치임을 특징으로 한다.
또한 상기 목적을 달성하기 위한 본 발명의 실시예에 따른 디지털 방송수신기를 구비하는 휴대단말기의 방송데이타 수신장치가, 설정된 방송채널의 신호를 수신하여 복조하여 패킷데이타 스트림을 출력하는 방송수신기와, 상기 패킷데이타스트림을 분석하여 복호된 비디오 및 오디오데이타를 발생하는 멀티미디어처리부와, 상기 복호된 비디오 데이터를 표시하는 표시부와, 상기 복호된 오디오 데이터를 재생하는 스피커로 구성되며, 상기 멀티미디어처리부가, 상기 패킷데이타 스트림을 버퍼링하는 버퍼와, 상기 버퍼에 병렬연결되는 처리부들로 구성되고, 상기 처리부들이 상기 버퍼링된 패킷데이타를 상기 각 처리부들이 병렬 처리하여 역다중화하는 역다중화기와, 상기 역다중화된 비디오 이에스 데이터를 복호하는 비디오복호기와, 상기 역다중화된 오디오 이에스 데이터를 복호하는 오디오복호기로 구성된 것을 특징으로 한다.
또한 상기 방송수신기가 설정된 주파수의 방송채널의 신호를 수신하여 복조하고, 상기 복조된 패킷스트림의 피아이디를 검사하여 설정된 방송채널의 패킷데이타를 필터링하여 아이피 데이터그램을 발생하며, 상기 멀티미디어처리부가, 상기 아이피 데이터그램의 IP정보를 디캡슐레이팅하여 상기 역다중화기에 출력하는 아이 피디캡슐레이터를 더 구비하는 것을 특징으로 한다.
또한 상기 목적을 달성하기 위한 본 발명의 실시예에 따른 디지털 방송수신기에서 패킷헤더 및 페이로드로 구성된 패킷데이타를 역다중화하는 방법이, 입력되는 패킷 데이터를 버퍼링하는 과정과, 상기 버퍼링된 패킷 데이터의 패킷헤더를 검사하여 부가 정보 포함여부를 확인하며, 상기 부가정보 포함여부에 따라 상기 패킷헤더를 처리하는 과정과, 상기 부가정보가 포함되어 있으면 상기 버퍼링된 부가정보를 처리하는 과정과, 상기 부가정보가 포함되어 있지 않으면 상기 페이로드를 검사하여 페이로드에 PES헤더의 포함 여부를 검사하며, 상기 PES헤더가 포함되었으면 상기 페이로드에 포함된 PES헤더의 크기를 검사하여 오디오/비디오데이타의 포함 여부를 확인하고, 상기 오디오/비디오 데이타 포함시 상기 오디오/비디오 데이타의 버퍼링 위치를 결정한 후 상기 PES헤더를 처리하는 과정과, 상기 PES헤더 처리한 후 또는 상기 페이로드에 PES헤더가 포함되지 않은 패킷데이타이면 상기 페이로드의 비디오/오디오데이타를 처리하여 비디오/오디오 이에스데이타를 생성한 후 각각 대응되는 복호기에 전달하는 과정으로 이루어짐을 특징으로 한다.
그리고 상기 버퍼링된 패킷데이타에서 동기바이트의 버퍼링 위치를 검사하고, 상기 동기바이트 버퍼링 위치에서 벗어난 위치를 검사하여 차감값을 검출한 후, 상기 차감값에 따라 상기 패킷데이타의 바이트 데이터를 지연시켜 패킷 동기를 맞추는 동기검색과정을 더 구비하는 것을 특징으로 한다. 그리고 상기 동기검색 과정은 상기 버퍼에 저장되는 바이트 데이터가 동기바이트인가 검사하는 과정과, 상기 동기바이트 검출시 상기 버퍼에 저장되는 동기바이트의 버퍼링 위치를 확인한 후, 상기 버퍼에서 설정된 동기바이트 버퍼링 위치에서 상기 저장된 동기바이트 바이트의 버퍼링 위치 까지의 차감값을 계산하는 과정과, 상기 계산된 차감값에 따라 상기 입력되는 패킷데이타를 지연하여 버퍼링하는 과정으로 이루어짐을 특징으로 하며, 상기 버퍼에 설정된 동기바이트의 버퍼링 위치는 첫 번째 패키데이타를 버퍼링하는 버퍼의 첫 번째 바이트 위치임을 특징으로 한다.
또한 상기 패킷헤더를 처리하는 과정은 상기 패킷헤더의 PID를 분석하여 목표 PID인가 검사하며, 목표 PID인 경우에만 입력되는 패킷의 종류 식별 정보를 저장하는 과정과, 상기 패킷헤더의 부가정보제어 파라미터를 분석하여 상기 버퍼링된 패킷이 부가정보를 포함하면 상기 부가정보처리 과정의 동작을 명령하고 상기 부가정보처리과정에서 처리할 상기 부가정보의 버퍼링 위치 정보를 함께 전달하는 과정과, 상기 버퍼링된 패킷이 부가정보를 포함하지 않으면 상기 PES헤더처리 과정의 동작을 명령하고 상기 PES헤더처리 과정에서 처리할 PES헤더의 버퍼링 위치정보를 함께 전달하는 과정으로 이루어짐을 특징으로 한다.
또한 상기 부가정보처리 과정은 구동명령 수신시 상기 버퍼에서 버퍼링된 부가정보를 억세스하여 부가정보의 길이를 분석하는 과정과, 상기 분석과정에서 상기 패킷이 부가정보만으로 이루어진 경우 상기 부가정보를 처리하여 제어부에 전달하는 과정과, 상기 분석과정에서 상기 패킷이 PES헤더를 포함하는 경우 상기 PES헤더의 구동명령과 함께 상기 PES헤더의 버퍼링 위치정보를 함께 전달한 후 상기 부가정보를 처리하여 상기 제어부에 전달하는 과정으로 이루어짐을 특징으로 한다.
또한 상기 PES헤더를 처리하는 과정은 상기 구동명령 수신시 상기 버퍼에서 버퍼링된 PES헤더를 억세스하여 PES헤더의 길이를 분석하는 과정과, 상기 분석과정에서 상기 버퍼링된 패킷이 PES헤더로만 이루어진 경우 상기 PES 헤더를 처리하여 제어부에 전달하는 과정과, 상기 분석과정에서 상기 버퍼링된 패킷이 실제데이타를 포함하는 경우 상기 데이터처리부의 구동명령과 함께 상기 실제데이타의 버퍼링 위치정보를 함께 전달한 후 상기 데이터처리 과정의 동작을 명령하고 상기 버퍼링된 실제데이타의 위치정보를 전달한 후 상기 PES헤더를 처리하여 상기 제어부에 전달하는 과정으로 이루어짐을 특징으로 한다.
또한 상기 데이터 처리과정은 상기 구동명령 수신시 상기 저장된 PID에 따라 패킷의 종류를 식별하는 과정과, 상기 상기 버퍼링된 실제 데이터를 억세스하며, 상기 식별된 PID에 따라 상기 실제 데이터를 비디오 또는 오디오 ES를 생성한 후, 각각 대응되는 복호기에 역다중화하는 과정으로 이루어짐을 특징으로 한다.
또한 상기 목적을 달성하기 위한 본 발명의 실시예에 따른 디지털 방송수신기를 구비하는 휴대단말기의 방송데이타 처리 방법은 설정된 방송채널의 신호를 수신하여 복조하여 패킷데이타 스트림을 출력하는 방송데이타 수신과정과, 상기 패킷데이타스트림을 분석하여 복호된 비디오 및 오디오데이타를 발생하는 멀티미디어데이타 처리과정과, 상기 복호된 비디오 및 오디오 데이터를 재생하는 과정으로 이루어지며, 상기 멀티미디어 데이터를 처리하는 과정은 상기 패킷데이타 스트림을 버퍼링하며, 상기 버퍼링된 패킷데이타의 패킷헤더 및 페이로드를 검사하여 상기 패킷데이타를 병렬 처리하여 비디오 및 오디오 이에스데이타들로 역다중화하는 과정과, 상기 역다중화된 비디오 및 오디오 이에스 데이터를 각각 복호하는 과정으로 이루어짐을 특징으로 한다.
그리고 상기 방송데이타 수신과정은 설정된 주파수의 방송채널의 신호를 수신하여 복조하고, 상기 복조된 패킷스트림의 피아이디를 검사하여 설정된 방송채널의 패킷데이타를 필터링하여 아이피 데이터그램을 발생하며, 상기 멀티미디어 데이터 처리과정은 상기 아이피 데이터그램의 아이피정보를 디캡슐레이팅하는 과정을 더 구비하며, 상기 아이피 디캡슐레이팅된 패킷 데이터 스트림을 역다중화함을 특징으로 한다.
이하 본 발명의 바람직한 실시예들의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 동일한 구성들은 가능한 한 어느 곳에서든지 동일한 부호들을 나타내고 있음을 유의하여야 한다.
하기 설명에서 디지털 방송수신기의 MPEG2-TS 데이터 구조 등과 같은 특정 상세들이 본 발명의 보다 전반적인 이해를 제공하기 위해 나타나 있다. 이들 특정 상세들 없이 또한 이들의 변형에 의해서도 본 발명이 용이하게 실시될 수 있다는 것은 이 기술분야에서 통상의 지식을 가진 자에게 자명할 것이다.
본 발명의 실시예는 디지털 방송 수신기에서 복호 동작을 수행하기 전에 디지털 방송 수신기에서 수신되는 패킷데이타들을 분석하여 각각 대응되는 복호기들에 분배하는 역다중화 장치 및 방법에 관한 것이다. 이때 상기 디지털 방송수신기에서 상기 역다중화장치는 실시간으로 데이터를 분석 및 분배하여야 하므로, 신속한 처리를 수행할 수 있어야 한다. 또한 역다중화 처리를 수행하는 중간 단계에서 버퍼 메모리를 최소화하는 것이 바람직하다. 본 발명의 실시예에서는 상기 역다중화장치의 각 처리부들을 병렬적으로 배열하므로써 처리시간을 단축하고 하드웨어로 칩 내부에 구성할 경우에 버퍼 사이즈를 줄여 실장면적을 최소화할 수 있다. 본 발명의 실시예에서는 입력되는 데이터를 패킷크기로 버퍼링하고, 각 처리부들이 상기 버퍼에 병렬적으로 연결되어 상기 버퍼링된 정보를 패킷 단위로 분석하여 입력된 패킷 데이터를 신속하게 역다중화하는 구성 및 방법을 제안한다. 또한 상기 패킷데이타의 동기를 구현할 때, 동기바이트를 매 바이트마다 검사하지 않고, 동기가 맞았는지 판단하여 동기가 맞춰진 경우에는 입력되는 TS를 그대로 전달하고 동기가 맞춰지지 않은 경우에 대해서만 동기 위치를 확인하여 동기를 맞추기 위한 차감값을 추출하고, 이에 따라 입력되는 TS 데이터를 지연시켜 동기를 이룰 수 있는 장치 및 방법을 제안한다.
본 발명의 실시예에서는 상기 디지털 방송수신기에서 입력되는 TS신호가 MPEG2-TS신호라고 가정한다. 그러나 상기 TS 가 MPEG-4 의 시스템 표준을 따른 것이거나, 세부 데이터로 포함된 비디오 신호가 H.261 - H.264 혹은 MPEG-4 인 경우 및 오디오 신호가 MPEG-1 - MPEG-4 의 규약 중 하나인 경우와는 무관하게 동일한 방법으로 본 발명의 실시예에 따른 역다중화 구조를 적용할 수 있다.
이하 본 발명을 도면들을 참조하여 구체적으로 살펴본다.
도 5는 디지털 방송 수신기(Digital Broadcasting Receiver)구성을 도시하는 도면이다. 상기 도 1의 구성은 상기 디지털 방송 수신기의 RF튜너310, 복조기320 및 멀티미디어처리부 330을 구비하는 구성을 도시하고 있다.
상기 도 5를 참조하면, 디지털 방송의 신호는 VHF(very high frequency) 영역 및/또는 UHF(ultra high frequency) 영역의 신호 및/또는 L-Band가 될 수 있다. 이때 사용자가 방송채널을 선택하면, 상기 제어부300은 상기 RF튜너310에서 선택된 채널에 해당하는 제어데이타를 출력한다. 그리고 상기 RF튜너310은 상기 채널 데이터에 따른 RF주파수를 생성하여 혼합하므로써, 선택된 채널의 중간주파수신호를 발생한다. 상기와 같은 중간주파수신호는 복조기320에 인가된다. 그러면 상기 복조기320은 수신되는 신호를 디지털 데이터로 변환한 후, 설정된 방식의 복조 방식으로 복조하여 출력한다. 여기서 상기 복조기320에서 출력되는 신호는 MPEG-2 TS(transport stream)신호라고 가정하며, 이 신호는 멀티미디어처리부 330에 인가된다. 본 발명의 실시예에서는 상기 RF튜너310 및 복조기320을 방송수신기라 칭하기로 한다. 그러면 상기 멀티미디어처리부 330은 수신되는 MPEG-2 TS신호를 역다중화하여 각각 영상, 오디오 및 방송 정보로 분리한다. 그러면 상기 멀티미디어처리부330의 복호기들을 각각의 비디오, 오디오 및 방송정보를 복호한다. 그리고 상기 멀티미디어처리부 330에서 출력되는 영상신호는 상기 표시부350에 출력되어 표시되고 오디오신호는 스피커360에 인가되어 재생된다. 또한 상기 멀티미디어처리부330의 방송 정보는 제어부300에서 처리할 수도 있다. 이런 경우 상기 제어부300은 상기 방송정보를 수신하여 디코딩한 후, 메모리380에 저장하며, 이후 사용자가 채널정보 표시 요청시 상기 방송정보를 억세스하여 상기 표시부350에 표시한다. 여기서 상기 방송정보는 EPG(electronic program guide) 또는 ESG(electronic service guide)가 될 수 있다.
상기 디지털 방송 수신기에서 상기 멀티미디어처리부 330의 구성을 살펴본다. 여기서 상기 멀티미디어처리부330은 디지털 방송수신기의 종류에 따라 다르게 구성될 수 있다. 즉, DVB 방식의 디지털 방송의 경우, DVB_T 방식은 MPEG2 TS 구조의 데이터를 처리하며, DVB_H 방식은 IP 기반의 MPEG2 TS 구조의 데이터를 처리한다. 따라서 상기 DVB_H 방식의 디지털방송수신기인 경우에는 상기 방송수신기 및 멀티미디어처리부330이 IP 기반의 MPEG2 TS 데이터를 처리할 수 있는 구성을 가져야한다. 본 발명의 실시예에서는 먼저 상기 DVB_T 방식의 디지털 방송수신기의 구성을 살펴보고, 다음에 DVB_H 방식의 디지털 방송수신기의 구성을 살펴보기로 한다.
도 6은 상기 멀티미디어처리부 330의 구성을 도시하는 도면이다. 여기서 도 6은 DVB_T 방식의 디지털 방송수신기의 멀티미디어처리부330의 구성을 도시하는 도면이다.
상기 도 6을 참조하면, 역다중화기410은 상기 복조기320에서 출력되는 복조된 MPEG-2 TS 데이터를 수신하여 각각의 데이터를 오디오 및 비디오 데이터, 그리고 방송정보 데이터들로 분리하는 기능을 수행한다. 여기서 상기 방송정보 데이터는 디지탈 방송신호에 포함된 비디오 및 오디오 데이타를 제외한 데이터로써, 방송에서 서비스되는 채널들의 프로그램 데이터 등이 될 수 있다. 상기 방송정보 데이터는 상기 역다중화기410에서 분리된 후, 상기 제어부300에서 인가되어 처리된 후, 상기 메모리380에 저장될 수 있다. 그리고 사용자가 방송정보 표시 요구시, 상기 제어부300은 상기 메모리380에 저장된 방송정보 데이터를 억세스하여 상기 표시부 350에 표시할 수 있다. 이하의 설명에서는 상기 방송정보 데이터들에 대한 설명은 생략하기로 한다. 따라서 이하의 설명에서는 상기 방송신호를 영상 및 오디오신호로 한정하여 설명될 것이다. 이때 상기 제어부300은 상기 역다중화기410에서 선택할 방송의 정보, 즉 서비스(PID: product ID)를 선택하여 알려주며, 이에 따라 상기 역다중화기410은 상기 선택된 PID에 따라 상기 복조기320에서 출력되는 다양한 데이터들 중에서 목표가 되는 데이터를 선택하여 비디오 및 오디오로 분리하는 기능을 수행한다.
입력버퍼420은 일반적인 큐(queue, FIFO와 유사한 구조로 입력과 출력이 반대로 이루어지는 일종의 circular buffer가 될 수 있음)로써, 실시간으로 역다중화되는 데이터를 뒷단의 비디오복호기430 및 오디오복호기450에서 처리할 수 있는 데이터의 양 만큼 저장하는 기능을 수행한다. 여기서 상기 입력버퍼420은 비디오 및 오디오 데이터를 같이 저장하는 단일 구조로 구성될 수 있으며, 또한 비디오 및 오디오 데이터를 각각 구분하여 저장할 수 있는 구조로 구성될 수도 있다.
비디오복호기430 및 오디오복호기450은 각각 상기 역다중화기410에서 분배되는 상기 영상데이타 및 오디오데이타의 복호화를 담당한다.
여기서 본 발명의 실시예에 따른 상기 역다중화기410은 상기한 바와 같이 입력되는 패킷데이타의 동기를 검출한 후, 입력되는 패킷데이타를 버퍼링하며, 패킷데이타의 버퍼링완료시 상기 패킷데이타를 병렬 출력한다. 그러면 본 발명의 실시예에 따라 병렬 배열된 각 처리부들은 상기 병렬출력되는 패킷데이터 의 정보들을 분석하여 각각 해당하는 정보들을 처리한다.
도 7은 본 발명의 실시예에 따른 역다중화기410의 구성을 도시하는 도면이다.
상기 도 7을 참조하면, 동기검색부511은 입력되는 TS신호의 각 패킷 데이터들에 포함된 동기신호를 검색하며, 상기 입력되는 패킷데이타를 버퍼513에 전달한다. 본 발명의 실시예에 따른 상기 동기검색부511은 차감값 지연 방식을 사용하여 동기를 맞춘다. 버퍼513은 상기 동기검색부511에서 출력되는 직렬 데이터들을 패킷 단위로 버퍼링한다.
패킷헤더처리부515는 상기 버퍼513의 패킷 데이터에서 병렬 출력되는 패킷헤더를 검색하여 부가정보(adaptation information)의 포함여부를 검사한 후, 상기 부가정보가 포함되지 않은 경우에는 PES헤더처리부519만 구동하며, 상기 부가정보가 포함된 경우에는 부가정보처리부517을 구동한다. 상기 패킷헤더처리부515는 입력되는 패킷에서 패킷헤더를 분석하여 부가정보가 포함되어있으면 상기 패킷헤더를 제외한 패킷데이타를 상기 부가정보처리부517에 전달하며, 부가정보를 포함하지 않으면 상기 패킷헤더를 제외한 패킷데이타를 PES헤더처리부519에 전달한다.
부가정보처리부517은 상기 패킷헤더처리부515의 제어하에 구동되며, 상기 패킷헤더처리부515에서 패킷데이타가 전달되면 상기 패킷데이타에 포함된 부가정보를 분석하여 처리하며, 부가정보를 제외한 나머지 패킷 데이터를 PES헤더처리부519에 전달한다.
상기 PES헤더처리부517은 상기 패킷헤더처리부515 또는 상기 부가정보처리부517에서 전달되는 패킷데이타에 포함된 PES헤더를 추출하여 처리하며, 상기 PES 헤 더를 제외한 나머지 패킷 데이터를 데이타처리부521에 전달한다. 이때 상기 PES헤더처리부517은 상기 PES 헤더의 PID(여기서는 오디오 또는 비디오 데이터인지를 구분하기 위한 PID)를 검사하여 상기 패킷데이타가 오디오데이타인지 비디오데이타인지를 확인하여 상기 데이터처리부521에 알려준다. 상기 데이터처리부521은 상기 PES 헤더가 제거된 패킷데이타를 처리하며, 상기 구분된 비디오 또는 오디오데이타를 각각 해당하는 상기 비디오 복호기430 또는 오디오복호기450의 입력버퍼420에 전달한다.
상기한 바와 같이 상기 역다중화기410은 4개의 처리부515-521들을 구비하며, 각 처리부515-521들은 상기 버퍼513에 버퍼링된 패킷데이타들을 순차적으로 분석하여 상기 패킷데이타에 자신이 처리하여야 할 정보가 포함된 경우에만 상기 버퍼513에서 패킷데이타를 억세스하여 처리한다. 이때 상기 패킷데이타의 구조는 패킷헤더, 부가정보헤더 및(또는) PES헤더들을 포함할 수 있다. 따라서 상기 각 처리부515-521들은 상기 버퍼513에 버퍼링된 데이터를 분석하여 자신이 처리하여야 할 헤더가 포함된 경우에만 구동되어 처리하며, 이를 데이터 처리는 병렬적으로 수행될 수 있다.
상기 각 처리부515-521들의 동작을 설명하기 전에 상기 입력되는 MPEG2 TS신호의 구조에 대하여 살펴본다. 상기 MPEG2 TS신호는 상기한 바와 같은 패킷 스트림으로써, 상기 TS신호는 도 8a와 같이 비디오 패킷 및 오디오 패킷들로 구성되며, 이때 비디오 및 오디오 패킷들은 상기 디지털 방송 송신기에서 무작위로 다중화하여 전송된다. 이때 상기 도 8a의 비디오 및 오디오 패킷은 도 8b와 같이 패킷헤더 및 페이로드(payload)로 구성되며, 상기 패킷헤더 및 페이로드는 188바이트들로 구성된다. 즉, 1패킷 데이터는 188바이트로 구성된다. 이때 상기 패킷헤더는 도 8c와 같이 4바이트의 크기를 가지며, 상기 패킷 헤더의 각 파라미터들은 하기 <표 1>과 같은 기능을 가진다.
분류 설명 bits
sync byte 동기 바이트, 0X47 8
transport error indicator 현재 패킷에 에러가 발생했을 경우 : 1 1
payload start indicator 현재 패킷이 PES의 시작일 경우: 1 1
transport priority decoder에서 사용함 1
PID 패킷의 종류를 구분하는 identifier 13
scrambling control scrambling mode를 설정함 2
adaptation field control 01: 부가정보 없음/ 페이로드만 존재 10: 부가정보만 존재/ 페이로드 없음 11: 부가정보와 페이로드 모두 존재 00: 예비 2
continuity counter 4 byte counter, 동일 PID에 대해 1증가 4
즉, 패킷 데이터는 동기바이트로 시작하며, 이를 기준으로 하나의 패킷을 구분한다. 상기 동기검색부511은 상기 입력되는 패킷데이타를 검색하여 동기바이트가 검출될 때 까지 데이터의 입력을 지연하며, 상기 동기바이트가 검출되면 이후 입력되는 패킷 데이터를 상기 버퍼513에 버퍼링하도록 한다. 그러면 상기 버퍼513은 상기 입력되는 패킷데이타를 버퍼링한다. 이때 상기 버퍼513은 패킷 크기를 가지는 188바이트 버퍼 또는 상기 패킷 크기의 정수배를 가지는 크기(376바이트(2*188바이트), 564바이트*3*188바이트) ...)를 가지는 버퍼가 될 수 있다. 또한 상기 버퍼513의 첫 번째 - 4번째 바이트 위치에는 상기 <표 1>과 같은 4바이트의 패킷헤더들이 버퍼링된다.
그러면 상기 패킷헤더처리부515는 상기 도 8c 및 상기 <표 1>과 같은 패킷헤더를 처리한다. 상기 패킷헤더처리부515는 사용자에 의해 설정된 방송채널의 PID(이하 설정 PID라 칭함)와 상기 패킷헤더의 PID를 비교하여 수신된 패킷의 처리 여부를 결정하며, 상기 설정 PID와 다른 패킷인 경우에는 상기 버퍼513에 버퍼링된 패킷을 처리하지 않도록 제어한다. 그리고 상기 버퍼513에 버퍼링된 패킷이 설정된 PID와 같은 값을 가지면, 상기 패킷헤더처리부515는 상기 패킷헤더를 분석하여 부가정보(adaptation field control)의 포함여부를 확인한다. 이때 상기 패킷헤더의 상기 부가정보제어(adaptation field control) 파라미터를 분석한 후, 상기 부가정보가 포함되지 않은 패킷(즉, PES헤더 및(또는) A/V 데이터로 이루어진 패킷)이면 상기 부가정보처리부517의 동작을 생략하고 상기 버퍼513에 저장된 패킷 데이터를 PES헤더처리부517에 전달되도록 제어한다. 상기와 같이 부가정보가 포함되지 않은 패킷인 경우, 상기 도 8c와 같은 구조를 가지는 페이로드 영역에는 상기 PES헤더 및(또는) A/V 데이타가 저장된다. 그러나 상기 패킷 데이터에 상기 부가정보가 포함되어 있으면 도 8c와 같은 패킷 데이터 구조를 가지며, 이때 상기 페이로드 영역에는 부가정보(또는 부가정보, 상기 PES헤더 및(또는) A/V 데이터)가 포함될 수 있다. 그러면 상기 패킷헤더처리부515는 상기 부가정보처리부517에 상기 버퍼513에 버퍼링된 페이로드 데이터를 처리하도록 제어한다. 이때 상기 부가정보처리부517에 전달되는 정보는 부가정보가 버퍼링된 상기 버퍼513의 위치정보로써, 패킷헤더 4바이트를 제외한 다음 바이트 위치에서 상기 부가정보의 마지막 데이터가 버퍼링된 마지막 바이트의 위치정보가 될 수 있다.
상기 부가정보처리부517은 상기 패킷헤더처리부515의 제어하에 동작된다. 상기 부가정보처리부517은 상기 도 8c의 페이로드 영역에 존재하는 부가정보 데이터를 처리하며, 상기 부가정보 데이터는 도 9a - 도 9c와 같은 구성을 갖는다. 상기 도 9a는 부가정보 헤더의 구조를 도시하는 도면으로, 상기 부가정보는 부가정보의 길이(adaptation field length), ES 우선순위(ES priority indicator) 등의 정보를 가지며, 부가정보 추가필드1(optional field 1)의 포함 여부를 표시하는 플래그(5 flags) 파라미터들을 가진다. 이때 상기 부가정보 추가필드1을 포함하는 경우 상기 도 9a와 같은 5플래그 영역의 해당하는 플래그(또는 플래그들)를 세트하며, 상기 세트된 플래그에 대응되는 부가정보들이 상기 도 9a의 부가정보 추가필드1(optional field 1)에 포함된다. 상기 추가필드1(optional field 1)에 포함되는 부가정보들은 하기 <표 2>와 같으며 , 그 구조는 도 9b와 같이 구성될 수 있다.
5 flags optional field 1 bits
1XXXX PCR 42 bits
X1XXX OPCR 42 bits
XX1XX splice count down 8 bits
XXX1X transport private data length transport private data 8 bits 가변
XXXX1 adaptation field extension length 8 bits
상기 도 9b를 참조하면, 상기 부가정보 추가필드1에는 프로그램 시간 정보의 기준값 PCR(program clock reference)을 포함하여 기타 복호에 사용될 수 있는 부가정보들로 구성된다. 상기 <표 2>에는 상기 5플래그들 각각에 해당하는 부가정보 추가필드1의 데이터들을 나타내고 있으며, 여기서 상기 5플래그는 두 개 이상 또는 모두 세트될 수도 있다. 예를들면 상기 5플래그들이 "10100"로 세트되면, 상기 부가정보 추가필드1에는 PCR 및 splice count down 데이터들이 포함된다.
또한 상기 도 9b와 같은 부가정보 추가필드1에는 부가정보 추가필드2(optional field 2)의 데이터들의 포함 여부를 표시한는 플래그(3flags)들을 가진다. 이때 상기 부가정보 추가필드2를 포함하는 경우 상기 도 9b의 3플래그들에서 해당하는 플래그를 세트하고 부가정보를 부가정보 추가필드2(optional field 2)에 포함시킨다. 상기 추가필드2(optional field 2)의 구조는 도 9c와 같은 구조를 가지며, 상기 추가필드2(optional field 2)에 포함되는 부가정보들은 하기 <표 3과>와 같다. 하기 <표 3>은 도 9b의 상기 3플래그들 각각에 해당하는 부가정보 추가필드2의 데이터들을 나타내고 있으며, 여기서 상기 3플래그는 두 개 이상 세트될 수도 있다.
3 flags optional field 2 bits
1XX LTW_Valid flag LTW offset 1 bit 15 bits
X1X piecewise rate 22 bits
XX1 splice type 4 bits
상기 도 9a - 도 9c는 상기 수신된 패킷 데이터를 복호하기 위한 부가정보들이며, 필요시에만 포함되는 정보들이다.
두 번째로 상기 PES 헤더처리부519의 동작을 살펴본다.
상기 패킷헤더처리부515에 부가정보가 포함되지 않은 패킷으로 판정되거나 또는 상기 부가정보처리부517에서 부가정보를 처리한 후 남은 패킷들은 상기 패킷헤더처리부515 또는 부가정보처리부517의 제어에 의해 PES헤더처리부519 및(또는) 데이터처리부521에서 처리된다. 상기 PES헤더처리부519는 도 10a - 도 10d와 같은 PES 헤더 정보를 처리한다. 상기 도 10a는 PES 헤더 구조를 도시하는 도면으로, PES 스크램블링 제어(PES scrambling control), PES 우선순위(PES priority), 카피라이트(copy right), 오리지날/카피(original/copy), 7개의 플래그정보(7 flags), PES 길이(PES data length) 등으로 이루어지며, 필요시 PES 추가필드1(PES optional field 1)이 추가된다. 도 10b는 상기 추가필드1의 구조도로써, PTS(presentation time stamp: 표시시간정보)/DTS(decoding time stamp: 복호시간정보)가 포함된다. 상기 PTS는 상기 비디오복호기430 또는 오디오복호기450에서 복호된 데이터를 상기 표시부350에 표시하는 시간 정보로써, 상기 PTS의 시간에서 상기 복호기가 복호된 데이터를 표시부350에 출력하게 된다. 상기 DTS는 상기 비디오복호기430 또는 오디오복호기450이 복호를 시작하는 시간정보로써, 상기 복호기는 상기 입력되는 패킷 데이터를 상기 DTS 시간에 복호하기 시작한다. 하기 <표 4>는 도 10a와 같은 PES헤더의 7플래그들 및 이에 따른 PES 추가필드1의 데이터들을 나타내고 있다.
7 flags PES optional field 1 bits
0XXXXXX 1XXXXXX PTS DTS 33 bits 33 bits
X1XXXXX ESCR 42 bits
XX1XXXX ES rate 22 bits
XXX1XXX DSM trick mode 22 bits
XXXX1XX additional copy info 8 bits
XXXXX1X previous PES CRC 16 bits
XXXXXX1 PES extension 가변길이
상기 PES 추가필드1(PES optional field 1)은 필요시 도 10b에 도시된 바와 같이 PES 확장정보(PES extension)를 더 가질 수 있다. 도 10c는 상기 PES 확장정보(PES extension)의 구성으로써, 5개의 플래그들 및 필요시 추가필드2(PES optional field 2)를 더 가질 수 있다. 도 10d는 상기 추가필드2의 구조를 도시하고 있으며, 이는 상기 도 10c와 같은 PES 확장정보의 5플래그들에 의해 결정된다. 도 10c의 5플래그들은 이어지는 PES 추가필드2의 내용을 결정하며, 이는 하기 <표 5>와 같다.
5 flags PES optional field 2 bits
1XXXX PES private data 128 bits
X1XXX pack header field 8 bits
XX1XX program packet seq. cntr. 8 bits
XXX1X PES extension field length 16 bits
XXXX1 PES extension field data 7 bits
상기 PES헤더처리부517은 상기 도 10a - 도 10d와 같은 구성을 가지는 PES 헤더를 처리하며, 상기 PES 헤더를 제외한 A/V 데이터의 위치정보를 데이터처리부521에 전달한다. 이때 상기 데이터처리부521로 전달되는 A/V 데이터는 패킷데이타에 포함된 헤더정보들이 모두 제거된 순수 데이터(ES: elementary stream)들로써, 상기 데이터처리부521은 상기 전달되는 A/V 데이터들을 비디오 또는 오디오 ES신호로 분배하는 기능을 수행한다.
상기한 바와 같이 본 발명의 실시예에 따른 상기 역다중화기410는 버퍼513이 입력되는 TS 신호들을 패킷크기로 병렬 버퍼링하여 출력하고, 각 처리부515-521들을 도 7과 같이 상기 버퍼513에 병렬적으로 배열되어 패킷의 정보들을 병렬 억세스하여 분석하므로써 역다중화 동작을 신속하게 처리할 수 있다. 또한 본 발명의 역다중화부410의 동기검색부211은 수신되는 패킷데이타의 동기를 검색할 때 매바이트 마다 검색하는 것이 아니라 동기바이트가 확인되는 시점에서 동기바이트의 지연값을 확인한 후, 확인된 지연값 만큼 버퍼513에 입력되는 데이터를 지연시키므로서 입력되는 패킷의 매 바이트를 검색하지 않아 동기검색을 단순화시킬 수 있다.
상기 도 7과 같은 본 발명의 실시예에 따른 역다중화기410의 동작을 상기 도 8a - 도 10d의 패킷데이타들을 참조하여 상세히 설명한다.
도 11은 본 발명의 실시예에 따른 역다중화기410의 동기검색부511의 구성을 도시하는 도면이다. MPEG 표준안에서 제시된 동기검색 방법은 상기 도 4에서 설명된 바와 같이 입력되는 패킷 데이터의 매 바이트들이 동기바이트(sync byte: 0X47)인가 검사하여야 한다. 본 발명의 실시예에서는 입력되는 TS신호를 패킷 크기로 상기 버퍼513에 저장하며, 상기 버퍼513에 저장되는 바이트 데이터들을 검사하고, 상기 바이트 데이터가 동기바이트이면 상기 동기검출부511은 상기 버퍼513의 동기바이트 위치에서 벗어난 위치 값을 검출하여 패킷 동기를 맞춘다. 즉, 상기 동기바이트가 확인되면, 상기 동기검색부511은 상기 버퍼513에 특정 위치(여기서는 첫 번째 바이트 위치라고 가정함)에서 확인된 동기바이트가 저장된 버퍼513의 위치값을 검출하고, 이로부터 상기 설정된 동기바이트 버퍼링 위치까지의 차감 값을 계산한 후, 상기 계산된 차감 값 만큼 입력되는 TS신호의 바이트들을 지연하여 동기를 이루는 방법을 사용한다.
상기 도 11을 참조하면, 입력되는 패킷데이타는 버퍼513에 저장된다. 여기서 상기 버퍼513은 패킷 데이터를 저장하는 버퍼로써 188바이트 크기를 가질 수 있으며, 입력되는 패킷의 바이트 데이터들을 입력되는 순서대로 저장한다. 이때 차감값추출부615는 상기 버퍼513에서 버퍼링되는 바이트 데이터의 위치 정보를 확인한다. 그리고 동기확인부613은 상기 버퍼513에 저장되는 바이트 데이터가 동기 바이트인가를 확인하며, 동기바이트를 확인하면 상기 차감값추출부615에 이를 알린다. 그러면 상기 차감값추출부615는 상기 동기확인부613에서 동기바이트를 확인하는 신호가 입력되면 현재 상기 버퍼513의 현재 바이트(여기서는 동기바이트가 됨) 버퍼링 위치를 확인한다. 이후 상기 차감값추출부615는 상기 동기바이트로 확인된 바이트 데이터가 저장된 상기 버퍼513의 위치에서 상기 버퍼513에 설정된 동기바이트 버퍼링 위치까지의 차감값을 계산한 후, 상기 계산된 차감값을 상기 지연부611에 출력한다. 그러면 상기 지연부611은 상기 입력되는 TS신호를 상기 계산된 차감값에 따라 지연하며, 상기 차감값 만큼 입력되는 TS신호를 지연한 후, 이후의 TS신호를 상기 버퍼513에 전달한다. 이때 상기 버퍼513은 상기 차감값추출부615에서 출력되는 차감값만큼 TS신호의 저장을 중단하며, 상기 차감값이 종료되면 그때부터 상기 지연부611에서 전달되는 TS신호를 버퍼링한다. 따라서 상기 동기검색부511은 상기 입력되는 TS신호를 정상적으로 상기 버퍼513에 전달하며, 이때 상기 전달되는 TS신호는 상기 패킷의 동기바이트에서부터 시작되는 데이터가 된다.
상기와 같이 일단 패킷의 동기가 이루어지면, 이후 입력되는 TS신호의 각 패킷들은 동기가 맞춰진 상태가 되며, 특별한 장애가 발생되지 않는 한 상기 동기 상태는 계속 유지된다. 그리고 상기 장애 상태등에 의해 상기 패킷 동기가 어긋나면 상기와 같은 동작을 재수행하면서 패킷 동기를 이루게 된다. 상기한 바와 같이 본 발명의 실시예에 따른 상기 동기검색부511은 입력되는 TS신호에서 각 패킷의 동기바이트 위치를 확인한 후 상기 동기바이트의 위치에 따른 차감값을 계산하고, 상기 계산된 차감값 만큼 입력되는 패킷데이타를 지연시켜 동기를 구현하는 방법을 사용하고 있다.
도 12는 상기 동기검색부511의 동작 절차를 도시하는 흐름도이다.
상기 도 12를 참조하면, 상기 TS신호는 패킷 스트림으로써 1패킷은 188바이트로 구성된다. 따라서 상기 TS신호는 순차적으로 상기 버퍼513에 입력되며 바이트 단위로 바이트 버스를 통해 입력된다. 따라서 631단계에서 TS신호가 입력되면 상기 동기검색부511은 입력된 바이트 데이터가 동기바이트 데이터인가 확인하며, 동기바이트 데이터가 아니면 641단계에서 상기 버퍼513에 저장한다. 이때 상기 버퍼513은 입력되는 바이트 데이터들을 순차적으로 저장하게 된다. 그리고 상기 동기바이트가 입력되면, 상기 동기검색부511은 633단계에서 이를 감지하고, 635단계에서 상기 동기바이트가 저장된 상기 버퍼513의 위치를 확인하며, 637단계에서 상기 확인된 위치와 미리 설정된 동기바이트의 위치를 비교하여 그 차감 위치값을 결정한 후, 639단계에서 상기 버퍼513에 저장되는 데이터의 입력을 지연시켜 패킷의 동기를 맞춘다.
예를들면 최초 패킷 데이터 입력시 패킷 동기를 이루지 않은 상태에서 입력될 수 있다. 그러면 상기 동기검색부511은 상기 입력되는 패킷의 바이트 데이터들을 그대로 상기 버퍼513에 저장한다. 그리고 상기 버퍼513에 저장되는 바이트 데이터가 동기 데이타인지를 확인한다. 이때 상기 동기바이트가 확인되면, 상기 동기바이트가 저장된 상기 버퍼513의 위치를 확인한다. 이후 상기 동기검색부511은 상기 패킷 동기를 위한 동기바이트의 차감값을 결정한다. 이때 상기 동기바이트의 설정위치가 상기 버퍼513의 첫 번째 바이트 위치라고 가정하고, 현재 동기바이트가 확인된 위치가 180번째 바이트 위치라면, 상기 차감값은 -8이 된다. 그러면 상기 동기검색부511은 상기 입력되는 패킷데이타를 8바이트 지연시켜 상기 버퍼513에 입력시키므로써 패킷 동기를 이루게되는 것이다. 이런 경우 상기 8바트는 유실되며, 이후 패킷 동기를 이루게 된다. 따라서 상기 동기검색부511은 패킷 동기가 틀린 경우 다음 패킷 주기에서 동기를 이룰 수 있게 된다.
상기와 같이 일단 패킷 동기가 맞춰지게 되면, 상기 패킷동기를 무선 링크 상의 이상이 발생되지 않는 한 계속 유지된다. 따라서 상기 동기검색부511은 상기 패킷 동기가 이루어진 상태에서는 상기 차감값을 0으로 유지하게 되며, 따라서 상기 동기검색부511은 입력되는 패킷 데이터를 버퍼513에 패킷 단위로 버퍼링할 수 있도록 제어한다. 따라서 본 발명의 실시예에 따른 동기검색부511은 입력되는 패킷의 매 바이트들에 대하여 동기바이트를 검색하는 방법이 아니라 패킷 구간에서 동기바이트의 차감값에 의해 동기화된 패킷의 첫 바이트의 동기만을 확인하여 패킷 동기를 이루게 됨을 알 수 있다. 이때 상기 패킷헤더처리부515가 패킷헤더 처리시 첫 번째 바이트가 동기바이트인가 확인하며, 상기 동기바이트가 아닌 경우 상기 동기검색부511에 동기가 틀어졌음을 알릴 수 있다. 그러면 상기 동기검색부511은 상기와 같은 동작을 수행하면서 입력되는 패킷의 동기를 맞출 수 있다.
도 13a - 도 13c는 본 발명의 실시예에 따른 상기 버퍼513의 구성을 도시하는 도면들이다. 여기서 상기 도 13a는 입력되는 TS신호를 패킷크기로 버퍼링하며, 버퍼링된 패킷 데이터를 병렬로 출력하는 구조이다. 이런 경우 상기 처리부515-521들은 버퍼513에서 병렬 출력되는 188바이트의 바이트들을 동시에 억세스할 수 있으며, 이때 상기 처리부515-521들은 각각 설정된 버퍼513의 버퍼링된 데이터를 동시에 억세스할 수 있다. 도 13b는 두 개의 버퍼675 및 677을 사용하여 버퍼513을 구현하는 예를 도시하고 있다. 상기 도 13b와 같이 상기 버퍼513을 구현하면, 상기 버퍼675에 입력되는 TS 패킷을 버퍼링할 때 처리부515-521들은 버퍼677에 버퍼링된 데이터를 억세스하여 처리하며, 이후 상기 입력되는 TS 패킷을 버퍼 677에 버퍼링할 때 상기 처리부515-521들은 버퍼 675에 버퍼링된 패킷을 억세스하여 처리하게 된다. 도 13c는 상기 버퍼513의 메모리를 듀얼포트메모리683(dual port memory)으로 구현한 예를 도시하고 있다. 이런 경우, 상기 메모리683은 각각 입력되는 TS 패킷을 버퍼링하는 동작과 상기 버퍼링된 패킷들을 처리부515-521들이 억세스하는 동작을 독립적으로 구현할 수 있다.
먼저 상기 도 13a를 참조하면, 버퍼입력부651은 상기 입력되는 패킷데이타를 바이트단위로 버퍼661-66N에 분배하여 입력하는 동작을 수행한다. 상기 버퍼입력부651은 카운터 및 멀티플렉서로 구성할 수 있다. 이때 상기 버퍼입력부651의 카운터에서 출력되는 카운트 값은 상기 버퍼661-66N을 선택하는 데이터로 사용될 수 있으며, 멀티플렉서는 상기 카운트 값에 의해 상기 입력되는 패킷의 바이트 데이터들을 각각 대응되는 버퍼661-66N에 출력하는 기능을 수행할 수 있다. 이때 상기 버퍼661-66N은 188바이트의 1패킷 데이터를 버퍼링할 수 있는 수로 구비되어야 하며, 따라서 상기 N은 188이 될 수 있다. 따라서 상기 버퍼입력부651의 카운터는 188진 카운터가 될 수 있으며, 멀티플렉서는 상기 입력되는 패킷의 바이트 데이터들을 상기 188개의 상기 버퍼661-66N에 다중화할 수 있는 구성을 가질 수 있다. 또한 상기 버퍼입력부651의 카운트값은 상기 동기검색부511의 차감값추출부615에 동기바이트의 위치값으로 인가될 수 있으며, 상기 멀티플렉서에 입력되는 패킷데이타는 상기 동기확인부613의 입력으로 사용될 수 있다. 그리고 상기 입력지연기611에서 출력되는 신호는 상기 버퍼입력부651의 카운터의 카운트 리세트값으로 사용될 수 있다.
상기한 바와 같이 버퍼입력부651은 입력되는 패킷의 바이트 데이터들을 다중화하여 각각 대응되는 버퍼661-66N에 입력하며, 상기 버퍼661-66N은 입력되는 바이트 데이터들을 일시 버퍼링한다. 그리고 버퍼출력부653은 상기 버퍼661-66N에서 버퍼링되고 있는 데이터를 병렬 버퍼링한다. 이후 상기 버퍼링된 데이터가 1패킷의 188바이트 데이터가 되면, 상기 버퍼출력부653은 상기 병렬 버퍼링하고 있는 1패킷의 데이터를 패킷버퍼655에 출력한다. 이때 상기 버퍼출력부653의 출력제어신호는 상기 버퍼입력부651의 카운터의 카운트 종료신호를 사용할 수 있다. 그러면 상기 패킷버퍼655는 상기 버퍼출력부653에서 출력되는 1패킷의 병렬 데이터를 버퍼링하며, 이때 상기 버퍼입력부651에 의해 상기 버퍼661-66N에는 다음 패킷의 바이트 데이터들이 버퍼링되기 시작한다. 따라서 상기 버퍼661-66N에 버퍼링되는 패킷과 상기 패킷버퍼655에 버퍼링되는 패킷은 1패킷의 차이가 발생될 수 있다. 그러면 각 처리부515-521들은 상기 버퍼661-66N에서 입력되는 패킷을 버퍼링하는 사이에 상기 패킷버퍼655에 버퍼링하고 있는 패킷 데이터를 처리할 수 있게 된다. 상기 도 13a와 같은 버퍼513을 사용하는 상기 처리부515-521은 각각 병렬 출력되는 1패킷의 버퍼링 데이터를 병렬로 억세스하여 동시에 처리할 수 있다.
두 번째로 상기 도 13b를 참조하면, 버퍼메모리673은 두 개의 패킷들을 저장할 수 있으며, 이를 위하여 제1버퍼675 및 제2버퍼677로 구성할 수 있다. 이는 상기 입력되는 패킷을 제1버퍼675에 버퍼링하는 동안 상기 처리부515- 521은 상기 제2버퍼677에 버퍼링된 패킷을 억세스하여 처리하며, 이후 상기 입력되는 패킷을 상기 제2버퍼677에 버퍼링하는 동안 상기 처리부515-521은 상기 제1버퍼675에 버퍼링된 패킷을 억세스하여 처리한다. 이때 상기 제1버퍼675 및 제2버퍼677은 데이터 입력 및 데이터 출력을 각각 독립적으로 사용할 수 있도록 구성하며, 상기 데이터 입력라인은 상기 동기검색부511 측에 연결되고 상기 데이터 출력라인은 상기 처리부515-517 측에 연결되도록 구성한다.
상기 버퍼675 및 677에 데이터를 버퍼링 또는 출력하기 위한 어드레스 및 제어신호를 발생하는 어드레스발생부671은 카운터로 구현할 수 있으며, 리드/라이트단자는 상기 카운터의 MSB 출력을 사용할 수 있다. 그리고 상기 어드레스발생부671의 카운트 클럭은 상기 입력되는 TS신호의 바이트 클럭을 사용한다. 따라서 상기 어드레스발생부671은 상기 동기검색부511에서 출력되는 바이트 데이터를 상기 버퍼메모리673에 저장하는 어드레스 신호를 발생하는 기능을 수행한다. 이때 상기 어드레스발생부671은 9비트의 출력을 가지며, 하위 8비트 라인들은 188진 카운터의 출력을 발생시키고 상위 9비트(MSB) 라인은 상기 버퍼675 및 677의 리드/라이트 제어신호로 사용한다. 이런 경우 상기 어드레스발생부671은 첫 번째 188진 카운터로 동작하는 동안 상기 MSB 라인은 로우 상태를 유지하고 두 번째 188진 카운터로 동작하는 동안 상기 MSB 라인은 하이 상태로 유지되도록 설계한다. 그러면 상기 TS신호에서 홀수번째 패킷들이 상기 제1버퍼675에 버퍼링되는 동안 상기 제2버퍼677에 버퍼링된 짝수번째 패킷들이 상기 처리부515-521들에 억세스되며, 짝수번째 패킷들이 상기 제2버퍼677에 버퍼링되는 동안 상기 제1버퍼675에 버퍼링된 짝수번째 패킷들이 상기 처리부515-521들에 억세스된다.
또한 상기 어드레스발생부671에서 출력되는 하위 8비트 라인은 상기 동기검색부611의 차감값추출부615에 연결된다. 그리고 상기 차감값추출부616의 출력을 상기 어드레스발생부671의 리세트신호로 입력한다. 그러면 상기 차감값발생부615는 상기 어드레스발생부671의 어드레스값을 입력하며, 상기 동기확인부613에서 동기바이트 입력을 확인하면 이때의 어드레스값은 상기 동기바이트가 상기 버퍼메모리673에 저장된 위치 정보를 의미한다. 그러면 상기 차감값 추출부616는 상기 동기바이트가 저장된 현재의 버퍼링 위치에서 상기 동기바이트가 버퍼링되어야할 위치값을 계산한 후, 상기 계산된 차감값 만큼 상기 지연부611 및 상기 어드레스발생부671의 동작을 중단시킨다. 그러면 상기 어드레스발생부671은 상기 버퍼메모리673의 어드레싱을 중단한다.
상기 도 13b와 같은 방식은 두 개의 패킷 크기를 가지는 버퍼메모리를 구비하며, 하나의 버퍼메모리가 입력되는 패킷을 버퍼링하는 동안 다른 버퍼메모리에 버퍼링된 패킷을 출력하여 처리부515-521들이 처리하도록 제어한다. 이때 상기 버퍼메모리의 라이트 및 리드 어드레싱 동작은 동일한 속도로 이루어지게 된다.
세 번째로 도 13c를 살펴보면, 버퍼메모리683은 듀얼포트메모리(dual port memory)가 될 수 있다. 상기 듀얼포트메모리를 버퍼메모리683으로 사용하는 경우, 상기 제1어드레스발생부681 및 제2어드레스발생부685는 각각 다른 속도를 가지는 어드레스들을 발생할 수 있다. 즉, 상기 제1어드레스발생부681은 상기 입력되는 바이트 데이터를 저장할 수 있는 속도의 어드레싱을 수행하며, 상기 제2어드레스발생부685는 상기 처리부515-521들에서 처리할 수 있는 속도의 어드레싱을 수행할 수 있다. 이때 상기 제2어드레스발생부685의 어드레싱 시작 시점은 상기 제1어드레스발생부681의 어드레스 시작시점과 일치시켜야 한다. 이는 상기 버퍼메모리683에 1패킷의 버퍼링시간에 맞춰 상기 버퍼링된 패킷의 출력시점도 맞춰야 하기 때문이다. 따라서 상기 제1어드레스발생부681 및 제2어드레스발생부685의 어드레싱을 위한 카운트 클럭은 다른 속도를 가지는 클럭을 사용할 수 있으며, 상기 제2어드레스발생부685의 카운트 리세트 동작은 상기 제1어드레스발생부681에 의해 수행되도록 구성한다. 또한 상기 제1어드레스발생부681과 상기 동기검색부511의 동작은 상기도 13b의 어드레스발생부671과 동일하게 구현하면된다.
상기와 같이 상기 버퍼513이 패킷 데이터를 병렬 버퍼링하고 있는 상태에서 각 처리부515-521들은 상기 버퍼링된 패킷 데이터에서 해당하는 헤더정보들을 분석하여 패킷 데이터를 분석하여 처리한 후, 오디오 ES 또는 비디오 ES를 추출하여 오디오 복호기450 또는 비디오 복호기430에 역다중화한다. 이때 상기 각 처리부515-521에서 처리되는 헤더정보들은 제어부300에 전달되어 디지털 방송 처리를 위한 제어정보로 사용된다.
이를 위하여 본 발명의 실시예에서 패킷헤더처리부515는 상기 버퍼513에 버퍼링되는 패킷에서 패킷헤더를 분석하여 부가정보 포함 여부를 확인하며, 부가정보가 포함되지 않은 패킷이면 상기 PES헤더처리부519에 패킷처리 명령을 발생하며, 이때 PES헤더처리부519에서 처리하여야 할 버퍼513의 위치정보도 함께 전송한다. 즉, 상기 패킷헤더처리부515는 패킷헤더 4바이트를 제외한 상기 버퍼513의 5번째 - 188번째 바이트의 188바이트를 처리하라는 명령을 발생한다. 또한 상기 버퍼513에 버퍼링된 데이터가 부가정보만 포함된 패킷이면 상기 패킷헤더처리부515는 상기 부가정보처리부517에 패킷헤더 4바이트를 제외한 상기 버퍼513의 5번째 - 188번째 바이트의 188바이트를 처리하라는 명령을 발생한다. 또한 상기 버퍼513에 버퍼링된 데이터가 부가정보만 포함된 패킷이면 상기 패킷헤더처리부515는 상기 부가정보처리부517에 부가정보 및 PES 헤더를 포함하는 패킷임을 알리는 명령과 함께 부가정보처리부517에 부가정보를 처리하라는 명령을 발생한다. 이때 상기 패킷헤더처리부515는 상기 PES헤더처리부519에 PES헤더를 처리할 준비를 명령할 수도 있다. 그러면 상기 부가정보처리부517은 상기 패킷에 포함된 부가정보 및 PES헤더의 길이를 확인한 후, PES 헤더길이를 상기 패킷헤더처리부515 또는 PES헤더처리부519에 전달한다. 상기 PES헤더처리부519는 상기 패킷헤더처리부515 또는 부가정보처리부517에서 처리 명령을 수신하면, 전달되는 버퍼513의 위치에 버퍼링된 데이터를 PES헤더를 분석하며, 분석 결과에 따라 실제 데이터가 버퍼링된 위치 정보를 데이터처리부521에 전송하고, PES 헤더를 처리한다. 그리고 상기 데이터처리부521은 상기 제어부300에서 전송되는 PID 정보에 따라 상기 PES헤더처리부519에서 전달되는 위치의 버퍼링 데이터들을 오디오 또는 비디오 ES 데이터로 생성하여 각각 대응되는 비디오복호기430 또는 오디오복호기450에 역다중화하여 출력한다.
또한 상기 패킷헤더, 부가정보헤더, PES 헤더들을 상기 제어부300이 분석하여 처리할 수도 있다. 즉, 상기 패킷의 헤더정보(패킷헤더, 부가정보 헤더, PES 헤더)들을 상기 제어부300이 분석한 후, 상기 헤더정보의 분석 결과에 따라 상기 처리부515-521들을 병렬 제어하면서 상기 버퍼513에 저장된 패킷 데이터들을 병렬 처리할 수도 있다.
먼저 상기 패킷헤더처리부515의 동작을 살펴본다. 도 14a 및 도 14b는 상기 패킷헤더처리부515에서 버퍼링된 패킷헤더를 분석하여 처리하는 절차를 도시하는 흐름도이다. 여기서 도 14a는 하나의 패킷에 부가정보와 PES헤더가 모두 포함된 경우 부가정보처리부517이 상기 PES헤더처리부519에 처리 명령을 전달하는 절차를 도시하고 있으며, 도 14b는 패킷헤더처리부515가 상기 PES헤더처리부519에 처리 명령을 전달하는 절차를 도시하고 있다.
상기 도 14a를 참조하면, 상기 패킷헤더는 도 8c에 도시된 바와 같이 4바이트로 구성되며, 상기 버퍼513의 첫 번째 - 4바이트 영역에 버퍼링된다. 그리고 상기 패킷헤더는 PID(product identifier)를 포함한다. 여기서 상기 PID는 뒤에 이어지는 패킷이 네트워크 정보 테이블(network information talble: 이하 NIT라 칭함), 서비스 정보 테이블(service information table0, 방송채널의 오디오 또는 비디오 정보를 식별하기 위한 정보로 사용된다. 여기서 상기 NIT는 디지털 방송국의 주파수 채널 정보 테이블이며, SIT는 주파수 채널에서 서비스되는 방송채널 테이블이다. 따라서 사용자가 임의의 디지털 방송채널을 선택하면, 상기 제어부300은 먼저 상기 NIT를 수신하여 선택된 방송채널이 사용하는 주파수 채널을 확인한 후, 상기 RF튜너310을 제어하여 상기 선택된 방송채널의 주파수로 RF채널을 고정시킨다. 또한 상기 디지털 방송에서는 하나의 주파수 채널에 다수의 방송채널들을 서비스하며, 통상적으로 하나의 주파수 채널을 5개의 방송국들이 사용하게 된다. 따라서 상기 상기 하나의 RF채널을 사용하는 다수의 방송국들의 오디오 및 비디오 ES들을 구분하기 위한 정보들이 상기 SIT에 포함되어 있으며, 제어부300은 상기 SIT를 참조하여 사용자가 원하는 방송채널의 오디오 및 비디오 PID를 결정하게 된다. 그리고 상기 역다중화부410은 상기 수신되는 패킷들의 PID를 검색하여 상기 결정된 PID인 경우에만 입력되는 패킷들을 역다중화하게 된다.
따라서 상기 패킷이 상기 버퍼513에 버퍼링되면, 상기 패킷헤더처리부515는 701단계에서 상기 버퍼링된 패킷헤더의 PID를 분석하여 NIT임을 식별하기 위한 PID로 판정되면, 703단계에서 이를 감지하고 705단계에서 상기 버퍼513에 버퍼링된 5번째 - 188번째 바이트의 패킷데이타를 상기 제어부300에 전달한다. 그러면 상기 제어부300은 상기 NIT를 분석한 후, 상기 RF튜너310을 제어하여 상기 사용자가 선택된 방송국의 주파수 채널로 고정시킨다. 이후 상기 SIT 식별용 PID가 수신되면, 상기 패킷헤더처리부515는 707단계에서 이를 감지하고 708단계에서 역시 상기 버퍼513에 버퍼링된 패킷들을 상기 제어부300에 전달한다. 이후 상기 제어부300에서 전달되는 선택된 방송국의 오디오 및 비디오 식별용 PID들을 수신하여 이를 목표 PID들로 결정한다. 이후 상기 패킷헤더처리부515는 상기 설정된 목표PID들을 분석하여 수신되는 방송국의 패킷들을 역다중화할 수 있도록 한다.
상기한 바와 목표 PID가 결정되면, 상기 패킷헤더처리부515는 패킷이 입력되면 패킷헤더의 PID가 설정된 PID인가 검사한다. 이때 상기 버퍼링된 패킷의 PID가 설정된 PID가 아니면 상기 패킷헤더처리부515는 711단계에서 이를 감지하고 입력된 패킷의 역다중화 절차를 수행하지 않는다. 그러나 상기 입력된 패킷헤더에 포함된 PID가 설정된 PID이면 711단계에서 이를 감지하고 713단계에서 상기 패킷헤더를 분석한다. 상기 도 8c와 같은 패킷 헤더에는 패킷데이타를 식별하기 위한 PID 정보 및 부가정보 포함 여부를 나태내는 부가정보제어 파라미터들을 가지고 있으며, 또한 현재 패킷의 에러여부, PES의 시작여부, 우선순위, 스클램블링 모드 및 동일 PID에 대한 카운트 데이터들을 포함하고 있다. 그리고 상기 부가정보처리부517에서 처리할 부가정보의 여부를 표시하는 부가정보제어(adatation field control) 파라미터를 포함하고 있다. 상기 패킷헤더처리부515는 상기 패킷헤더에서 상기 부가정보제어 파라미터를 분석하여 상기 부가정보처리부517의 동작 여부를 결정한다. 상기 패킷헤더처리부515는 상기 도 8c 및 <표 1>과 같은 구조를 가지는 패킷헤더에서 부가정보제어 파라미터를 분석하여 부가정보가 포함된 패킷인가를 검사한다.
상기 부가정보 파라미터는 상기 <표 1>에 나타낸 바와 같이 2비트로 이루어지며, "01"이면 입력된 패킷이 부가정보 없이 순수 페이로드만으로 이루어졌음을 나타내며, "10"이면 입력된 패킷이 부가정보로만 이루어졌음을 나타내고, "11"이면 부가정보 및 페이로드가 함께 포함되었음을 나타낸다. 따라서 상기 패킷헤더처리부515는 상기 부가정보제어 파라미터를 분석한 후, 부가정보가 포함되지 않은 패킷이면(adaptation field control: "01") 상기 패킷헤더처리부515는 715단계에서를 이를 감지하고 717단계에서 상기 PES헤더처리부519에 상기 패킷헤더 4바이트를 제외한 나머지 패킷(184바이트)를 처리하도록 명령한다. 이후 상기 패킷헤더처리부515는 719단계에서 상기 패킷헤더를 처리한 후 방송에 관련된 정보들은 상기 제어부300에 전송한다. 이런 경우 상기 부가정보처리부517은 동작되지 않는다.
또한 상기 입력된 패킷이 부가정보로만 이루어진 패킷이면(adaptation field control: "10") 상기 패킷헤더처리부515는 721단계에서 이를 감지하고 723단계에서 상기 부가정보처리부517에 상기 패킷헤더 4바이트를 제외한 나머지 패킷(184바이트)을 처리하도록 명령한다. 이후 상기 패킷헤더처리부515는 719단계에서 상기 패킷헤더를 처리한 후 방송에 관련된 정보들은 상기 제어부300에 전송한다. 이런 경우 상기 PES헤더처리부519 및 데이터처리부521은 동작되지 않는다.
그러나 상기 입력된 패킷이 부가정보 및 페이로드를 모두 포함하는 패킷이면(adaptation field control: "11") 상기 패킷헤더처리부515는 상기 721단계에서 이를 감지하고, 725단계에서 상기 부가정보처리부517에 동작명령를 발생한다. 그리고 상기 719단계로 진행하여 상기 패킷헤더를 처리한 후 그 결과를 상기 제어부300에 전달한다. 이때 상기 패킷헤더처리부515는 상기 725단계에서 상기 PES헤더처리부519에도 동작명령을 발생할 수 있다. 이런 경우, 상기 부가정보처리부517에는 동작명령과 함께 상기 버퍼513에서 버퍼링된 데이터를 억세스할 수 있는 위치정보를 함께 전달하며, 상기 PES헤더처리부519에는 동작명령만 발생할 수 있다. 그러면 상기 PES헤더처리부519는 상기 패버퍼513에 버퍼링된 PES헤더를 처리할 준비를 하며, PES헤더의 처리는 상기 부가정보처리부517에서 PES헤더의 시작위치 정보를 전달받은 후 시작할 수 있다.
상기와 같이 패킷헤더처리부515는 수신되는 패킷의 패킷헤더를 PID를 분석하여 NIT 및 SIT 패킷은 상기 제어부300으로 전달하며, 제어부300으로부터 설정된 방송국의 비디오 및 오디오 PID를 수신하여 수신할 패킷 PID를 설정한다. 이후 상기 버퍼링되는 패킷이 설정된 목표 PID이면 패킷헤더를 분석하여 부가정보 패킷이면 상기 부가정보처리부517의 구동을 명령하고, PES헤더 패킷이면 상기 PES헤더처리부519의 구동을 명령하며, 이때 상기 각 처리부517 및 519에 데이터를 억세스하여 처리할 버퍼의 위치정보를 함께 전달한다. 그리고 상기 버퍼링된 패킷이 부가정보 및 PES헤더를 모두 포함하는 경우에는 상기 부가정보처리부517에 구동을 명령하고 버퍼513에 버퍼링된 부가정보의 시작위치 정보를 함께 전달한다. 그리고 상기 부가정보처리부517은 상기 부가정보를 분석하여 상기 PES헤더처리부519에 상기 버퍼513의 PES 헤더 버퍼링 위치를 알려준다.
그러나 상기 패킷이 부가정보 및 PES헤더를 모두 포함하는 경우, 상기 패킷헤더처리부515가 상기 PES헤더처리부519에 상기 PES헤더가 버퍼링된 위치정보를 전달할 수 있다. 도 14b는 상기 패킷헤더처리부515가 상기 PES헤더처리부519에 상기 버퍼513에 버퍼링된 PES헤더의 위치 정보를 전달하는 방법을 도시하는 흐름도이다.
상기 도 14b를 참조하면, 상기 710단계의 동작은 상기 도 14a의 701-709단계의 동작과 동일한다. 그리고 상기 711단계-723의 동작도 상기 도 14a에서의 동작과 동일하게 수행된다. 이때 상기 부가정보제어 파라미터의 분석 결과 상기 버퍼링된 패킷이 부가정보 및 PES 헤더를 포함하는 경우, 상기 패킷헤더처리부515는 721단계에서 이를 감지하고 725단계에서 부가정보처리부517의 구동을 명령하여 부가정보의 길이(N바이트: N은 부가정보 헤더의 adaptation field length에 의해 확인 가능함) 계산을 요구하고, 733단계에서 상기 부가정보처리부517에서 전달되는 상기 부가정보의 길이를 수신하며, 735단계에서 상기 버퍼513에 버퍼링된 PES헤더의 버퍼링 위치를 결정한 후, 부가정보처리부517에 N바이트의 데이터 처리를 명령하고 PES헤더처리부519에 184-N바이트의 데이터 처리를 명령한다.
상기한 바와 같이 패킷헤더처리부515는 패킷 데이터가 버퍼링되면, 패킷헤더를 분석하여 설정된 PID를 가지는 패킷이면, 상기 패킷헤더에 포함된 부가정보제어 파라미터를 분석하여 각각 대응되는 처리부들의 구동을 명령한다. 이때 먼저 상기 입력된 패킷이 순수 페이로드로만 구성된 경우 상기 패킷헤더처리부515는 PES헤더처리부519를 구동하여 상기 버퍼513에 버퍼링된 패킷을 처리하도록 명령한다. 이때 상기 부가정보처리부517은 구동되지 않으며, 이로인해 직렬구조를 가지는 역다중화부410에서 부가정보처리부517에 패킷을 버퍼링하는 시간 및 부가정보처리부517에서 처리하는 시간을 단축할 수 있다.
두 번째로 상기 입력된 패킷이 부가정보로만 구성된 경우 상기 패킷헤더처리부515는 상기 부가정보처리부517을 구동하여 상기 버퍼513에 버퍼링된 패킷을 처리하도록 명령한다. 이때 상기 PES헤더처리부519 및 데이터처리부521은 구동되지 않으며, 이로인해 직렬구조를 가지는 역다중화부410에서 PES헤더처리부 및 데이타처리부521에 패킷을 버퍼링하는 시간 및 각 처리부들에서 처리하는 시간을 단축할 수 있다.
세 번째로 상기 입력된 패킷이 부가정보 및 페이로드를 모두 포함하고 있는 경우, 상기 패킷헤더처리부515는 상기 부가정보처리부517로부터 상기 패킷에 포함된 부가정보의 길이를 확인하여 부가정보 및 페이로드 크기를 결정한 후, 상기 부가정보처리부517 및 PES헤더처리부519들이 상기 버퍼513에 버퍼링된 패킷들 중 해당하는 부가정보 및 페이로드들을 처리하도록 명령한다. 본 발명의 실시예에서는 상기 부가정보 및 페이로드가 하나의 패킷에 모두 포함된 경우, 상기 패킷헤더처리부515가 상기 부가정보처리부517에 패킷에 포함된 부가정보의 길이를 확인한 후, 이에 따라 상기 패킷헤더처리부515가 각각 부가정보처리부517 및 PES헤더처리부519가 각각 처리할 패킷 데이터의 크기를 결정하여 주는 것으로 설명되고 있다. 그러나 상기와 같이 패킷에 부가정보 및 페이로드가 모두 포함된 경우, 상기 부가정보처리부517이 상기 부가정보 헤더에서 부가정보의 길이를 확인한 후, 상기 PES헤더처리부519에 상기 부가정보를 제외한 나머지 패킷데이타들을 처리하도록 명령하는 방법으로 구현할 수도 있다.
상기와 같이 입력된 패킷이 부가정보 및 페이로드를 모두 포함하는 경우, 상기 부가정보처리부517 및 PES헤더처리부519가 각각 설정된 크기의 패킷 데이터들을 동시에 처리할 수 있으며, 이로인해 이로인해 직렬구조를 가지는 역다중화부410에서 패킷을 버퍼링하는 시간 및 각 처리부들에서 직렬적으로 패킷을 처리하는 시간을 단축할 수 있다.
상기 부가정보처리부517은 상기 패킷의 부가정보를 처리하며, 상기 패킷헤더처리부515의 명령에 의해 동작되며 상기 버퍼513의 패킷헤더 영역을 제외한 5번째 - 188번째 바이트 영역의 데이터 또는 이들 영역들 일부 영역의 데이터들을 입력하게 된다. 상기 부가정보처리부517은 상기 도 9a - 도 9c와 같은 부가정보 헤더의 세부 정보 유무를 판단하는 식별자(flag)를 확인하고, 이에따른 부가정보들을 분석하여 저장한다. 여기서 상기 저장되는 정보는 프로그램 시간 정보의 기준값 PCR(program clock reference) 등이 될 수 있다. 또한 상기 부가정보들은 제어부300 및(또는) 복호기430, 450 등에 연결되어 전달될 수도 있다. 도 15는 본 발명의 실시예에 따른 부가정보처리부517의 동작절차를 도시하는 흐름도이다.
상기 도 15를 참조하면, 상기 부가정보처리부517은 741단계에서 상기 패킷헤더처리부515에서 전달되는 구동 명령 및 부가정보의 버퍼링 위치 정보들을 수신한다. 이때 상기 패킷헤더처리부515에서 부가정보 처리 명령을 전달하는 방법은 상기한 바와 같이 패킷헤더의 부가정보제어 파라미터에 의해 결정된다. 이때 상기 버퍼링된 패킷이 모두 부가정보인 경우 상기 패킷헤더처리부515는 상기 버퍼513의 모든 영역을 처리하도록 명령한다. 그러면 상기 부가정보처리부517은 상기 버퍼513에 버퍼링된 패킷을 모두 부가정보로 판단하여 상기 도 15와 같은 절차를 수행하면서 처리한다.
두 번째로 상기 버퍼링된 패킷에 부가정보와 PES헤더 데이터가 모두 포함된 경우, 상기 패킷헤더처리부515는 상기 부가정보처리부517에 부가정보의 처리 명령과 함께 상기 부가정보가 저장된 상기 버퍼513의 첫 번째 위치 정보를 함께 전달한다. 그러면 상기 부가정보처리부517은 상기 버퍼링된 부가정보를 억세스하여 부가정보의 길이를 확인한 후, 상기 PES헤더정보가 저장된 버퍼513의 위치를 확인하여 이를 상기 PES헤더처리부519에 전달하는 동시에 구동명령을 발생한다. 또한 상기 부가정보처리부517은 상기 패킷헤더처리부515가 상기 부가정보 길이의 확인을 요구하면, 상기 부가정보처리부517로부터 도 9b와 같은 부가정보헤더의 부가정보길이(adaptation field length) 파라미터의 값을 상기 패킷헤더정보처리부515에 전달한다. 그러면 상기 패킷헤더처리부515는 상기 부가정보처리부517 및 PES헤더처리부519에 각각 부가정보 및 페이로드의 버퍼링 위치 정보를 각각 알려주고 동작을 명령한다. 이하의 설명에서는 상기 패킷에 부가정보 및 PES헤더 데이터가 모두 포함된 경우에는 상기 부가정보처리부517이 상기 PES헤더처리부519에 상기 PES헤더 데이터의 버퍼링 위치 및 동작명령를 전달하는 경우를 살펴본다.
따라서 상기 부가정보처리부517은 상기 패킷헤더처리부515로부터 부가정보 처리 명령을 수신하면, 전달되는 부가정보의 위치 정보에 따라 상기 버퍼링된 패킷이 부가정보만으로 구성된 패킷인지 아니면 상기 PES헤더 데이터를 포함하는 패킷인지 알 수 있다. 이때 상기 부가정보만으로 구성된 패킷이면 상기 부가정보처리부517은 743단계에서 이를 감지하고 751단계로 진행한다. 그러난 상기 패킷이 부가정보 및 PES헤더를 포함하는 패킷이면, 상기 부가정보처리부517은 745단계에서 상기 도 도 9a와 같은 부가정보 구조에서 버퍼513의 5번째 영역에 버퍼링된 부가정보길이(adaptation field length)를 분석하여 패킷에 포함되는 부가정보의 길이(여기서 상기 부가정보 길이를 N이라고 가정한다)를 확인한다. 그리고 상기 부가정보처리부517은 747단계에서 상기 버퍼513에 버퍼링된 PES헤더의 길이 및 위치 정보를 계산한다. 이때 상기 패킷은 188바이트로써, 패킷헤더를 제외하면 184 바이트가 된다. 따라서 버퍼513에 저장된 부가정보는 5번째 바이트 위치에서부터 N 바이트 까지이므로, 상기 PES헤더 데이타가 버퍼링된 버퍼513의 위치는 188-N바이트(M바이트) 위치에서 188번째 바이트 위치까지이다. 이후 상기 부가정보처리부517은 749단계에서 상기 PES헤더처리부519에 상기 구동 명령과 함께 상기 계산된 PES헤더 데이터의 버퍼링 위치 데이터를 전달한다.
이후 상기 부가정보처리부517은 751단계에서 상기 도 9a와 같은 부가정보의 기본필드 데이터들을 처리한다. 이후 상기 부가정보처리부517은 753단계에서 도 9a와 같은 부가헤더 데이터의 플래그(5 flags)를 검사하여 부가정보 추가필드1(optional field 1) 추가된 부가정보들이 있는가 검사한다. 즉, 상기 부가정보처리부517은 도 9a와 같은 부가정보 헤더의 5플래그("5 flags")를 검사하여 상기 부가정보 추가필드1(optional field 1)의 포함 여부를 판단한다. 상기 5플래그("5 flags")는 상기 <표 2>과 같은 구조를 가지며, 상기 5플래그의 플래그들이 세트된 경우에는 상기 도 9a와 같은 부가정보추가필드1(optional field 1) 영역에 도 9b와 같은 부가정보 추가필드1(optional field 1) 데이터들이 존재한다. 그러면 상기 부가정보처리부517은 755단계에서 상기 도 9b와 같은 부가정보 추가필드1(optional field 1) 데이터들을 처리하며, 757단계에서 상기 도 9b의 3플래그("3 flags") 영역을 검사하여 부가정보 추가필드2(optional field 2)의 포함여부를 검사한다. 이때에도 상기 <표 3>과 같은 3플래그("3 flags")에 플래그 값이 존재하면, 상기 도 9b와 같은 부가정보 추가필드2(optional field 2) 영역에 도 9c와 같은 부가정보 추가필드2(optional field 2) 데이터들이 존재한다. 그러면 상기 부가정보처리부517은 759단계에서 상기 도 9c와 같은 부가정보 추가필드2(optional field 2) 데이터들을 처리한다. 그러나 상기 753단계 또는 757단계에서 각각 5플래그("5 flags") 또는 3플래그("3 flags")에 플래그 값이 존재하지 않으면 상기 부가정보처리부517은 부가정보의 추가필드가 없음을 확인하고 리턴한다.
상기한 바와 같이, 부가정보처리부517은 도 9a와 같은 부가정보의 기본필드 데이터들을 처리하고, 추가필드1(optional field 1)에 추가된 부가정보가 존재하는지 확인하며, 이는 상기 도 9a의 "5플래그" 값을 읽어와서 판단하게 된다. 이때 상기 "5플래그"에 플래그 값이 존재하는 경우 상기 플래그 값들은 도 9a의 "부가정보 추가필드1"에 도 9b와 같이 존재하게되며, 상기 부가정보처리부517은 상기 도 9b와 같은 "부가정보 추가필드1"을 처리한다. 이후 상기 부가정보처리부517은 도 9b와 같은 부가정보에서 부가정보 추가필드2(optional field 2)가 존재하는지 확인하며, 이는 상기 도 9b의 "3플래그" 값을 읽어와서 판단하게 된다. 이때 상기 "3플래그"에 플래그 값이 존재하는 경우 상기 플래그 값들은 도 9b의 "부가정보추가필드2"에 도 9c와 같이 존재하게 되며, 상기 부가정보처리부517은 상기 도 9c와 같은 "부가정보추가필드2"를 처리한다.
또한 상기 패킷이 PES 헤더 데이터이거나 또는 상기 패킷이 부가정보 및 PES헤더 데이타를 포함하는 경우, 상기 PES헤더처리부519가 동작된다. 이때 동작은 상기 패킷헤더처리부515 또는 부가정보처리부517의 제어하에 이루어지며, 상기 패킷헤더처리부515 또는 부가정보처리부517은 상기 버퍼513에 저장된 PES 헤더 데이터의 버퍼링 위치 정보들도 함께 전달한다. 이때 상기 패킷에 부가정보 및 페이로드 데이터가 함께 존재하는 경우, 상기 PES헤더처리부519는 상기 부가정보처리부517에서 부가정보를 모두 억세스한 후 PES 헤더데이타들을 억세스하게 된다. 이때 상기 패킷헤더처리부515 및 부가정보처리부519는 상기 패킷이 PES헤더로만 구성되어 있는지 아니면 상기 PES헤더 및 실제 데이터 ES로 구성되었는지 알 수 없다. 따라서 상기 패킷헤더처리부515 및 부가정보처리부517은 상기 버퍼링된 패킷을 일단 PES헤더로 간주하며, 상기 PES헤더처리부519는 상기 버퍼링된 PES 헤더 데이터를 분석하여 상기 PES헤더 길이를 확인한 후, 상기 PES 헤더 이외의 실제 데이터들의 길이 및 위치를 결정하며, 이 결정된 실제데이타 ES의 버퍼링 위치 데이터를 상기 데이터 처리부521에 전달하게 된다. 상기 PES헤더의 추가필드 데이타들은 비디오 데이터의 경우 1프레임에 한번씩 전송되며, 오디오 데이터들의 경우에는 설정된 프레임들에 한번씩 전송된다. 따라서 대부분의 패킷들은 PES헤더의 기본필드 데이터들 만을 포함하게 된다.
도 16은 상기 PES헤더처리부519에서 PES헤더 데이터를 처리하는 절차를 도시하는 흐름도이다.
상기 도 16을 참조하면, 상기 PES헤더처리부519는 771단계에서 상기 패킷헤더처리부515 또는 상기 부가정보처리부517에서 구동 명령과 함께 상기 PES헤더 데이터의 버퍼링 위치 정보를 수신한다. 상기 PES헤더처리부517은 상기 버퍼513에 버퍼링된 패킷에서 상기 패킷헤더 영역을 제외한 5번째 - 188번째 바이트 버퍼 영역의 데이터 또는 상기 패킷헤더처리부515에서 설정된 188-N번째 -188번째 바이트 영역의 데이터들을 분석한다. 이때 상기 PES헤더처리부519는 도 10a와 같은 구조를 가지는 PES헤더의 시작을 의미하는 "10"을 확인하고, PES데이타 길이(PES header data length)를 분석하여 상기 PES헤더 데이터의 길이를 분석한다. 상기 PES데이타 길이(PES header data length)는 상기 PES헤더 데이터의 버퍼링 시작위치에서 3번째 바이트 위치에서 확인할 수 있다. 이후 상기 PES헤더처리부519는 상기 전달된 PES헤더의 위치 값이 상기 확인된 PES 헤더 데이터의 길이 보다 크면 775단계에서 실제 데이터 ES가 존재함을 감지하고, 777단계에서 상기 PES헤더 데이터의 길이를 제외한 나머지 버퍼링 데이터들을 실제 데이터 ES로 판단하여 상기 데이터처리부521에 구동 명령과 함께 실제 데이터 ES의 버퍼링 위치 정보를 전달한다. 즉, 상기 PES 헤더 데이터는 실제 헤더데이타들 만으로 구성될 수 있으며, 또한 실제 데이터 ES들을 포함할 수 있다. 그리고 대분의 패킷들은 상기 실제 데이터 ES들을 포함하게 된다. 따라서 상기 PES헤더처리부519는 상기 버퍼513에 버퍼링된 패킷에서 PES헤더 데이터들을 제외한 나머지 실제 데이터 ES의 버퍼링 위치 정보를 데이터처리부521에 전달하여 데이터처리부521에서 처리할 수 있도록 한다.
상기 775단계에서 상기 버퍼링된 패킷에 실제데이타 ES가 존재하지 않거나 또는 상기 777단계를 수행한 후, 상기 PES헤더처리부519은 상기 도 10a와 같은 PES 헤더의 기본필드 플래그들을 통해 PES정보를 분석 및 처리한다. 상기 PES헤더의 기본필드에는 방송정보들이 포함되어 있으며, 상기 처리된 방송정보들은 상기 제어부300에 전달된다. PES헤더의 기본필드 데이터들을 처리한 후, 상기 PES헤더처리부519는 781단계에서 상기 도 10a와 같은 기본필드의 플래그(7 flags)들을 검사하여 PES헤더의 추가필드1이 존재하는가 검사한다. 상기 7플래그들은 상기 <표 4>와 같은 기능을 가지며, 상기 7플래그들 중에 임의 플래그들이 세트되어 있으면, 상기 PES헤더처리부519는 781단계에서 상기 PES헤더의 추가필드1(PES optional field 1)이 존재함을 감지하고, 783단계에서 상기 도 10b와 같은 추가필드1(PES optional field 1)을 처리한 후, 그 결과를 상기 제어부300에 전달한다. 이후 상기 PES헤더처리부519는 785단계에서 상기 도 10c와 같은 PES 확장필드(PES extension)의 플래그(5 flags)들을 검사하여 PES 헤더의 추가필드2(PES optional field 2)가 존재하는가 검사한다. 이때 상기 <표 5>와 같은 5플래그들 중의 임의 플래그들이 세트되어 있으면, 상기 PES헤더처리부519는 785단계에서 상기 추가필드2(PES optional field 2)가 존재함을 감지하고 787단계에서 도 10d와 같은 PES헤더 추가필드2의 데이터를 처리한 후, 그 결과를 상기 제어부300에 전달한다. 그러나 상기 781단계 또는 785단계에서 PES헤더의 추가필드가 없는 것으로 판단되면, 상기 PES헤더처리부519는 상기 PES헤더 처리를 종료하고 리턴한다.
상기한 바와 같이 PES헤더처리부519는 상기 도 16에 도시된 바와 같이, 먼저 상기 도 10a의 PES헤더 길이를 검사하여 상기 패킷에 포함된 PES헤더 길이 M을 확인한 후, 상기 패킷헤더처리부515에서 전달된 버퍼513의 184-N에서 상기 M 길이의 데이터를 PES 헤더로 결정한다. 그리고 상기 데이터처리부521에 상기 버퍼513의 184-N-M 길이의 데이터를 처리하도록 명령한다. 이때 상기 N은 부가정보의 길이로써, 상기 패킷이 PES헤더 및 실제데이터 ES만으로 구성된 경우에는 상기 부가정보 길이는 0이 된다. 상기 PES헤더처리부519는 상기 부가정보처리부517에서 부가정보를 처리하는 절차와 동일한 방법으로, 상기 도 10a와 같은 PES헤더의 기본필드를 처리하고, 상기 기본필드의 "7플래그" 영역을 검사하여 세트된 플래그가 존재하면 도 10b와 같은 PES헤더 추가필드1을 처리한다. 상기 PES 추가필드1은 PES헤더 확장필드(PES extension)을 구비하며, 상기 PES헤더 확장필드는 도 10c와 같은 구성을 가진다. 따라서 상기 PES헤더 추가필드1을 처리하는 상기 PES헤더처리부519는 도 10c의 "5플래그" 영역을 검사하여 세트된 플래그가 있으면 도 10d와 같은 PES헤더 추가필드2를 처리한다.
상기와 같이 PES헤더처리부519가 상기 도 10a - 도 10d와 같은 PES헤더를 처리한다. 데이터처리부521은 상기 PES헤더처리부519에 의해 동작이 제어되며, 상기 제어부300으로부터 현재 입력되는 패킷이 비디오 또는 오디오 데이타인가를 확인한 후, 상기 버퍼513에 버퍼링된 데이터를 비디오 ES 또는 오디오 ES로 만들어 상기 비디오 복호기430 또는 오디오 복호기450에 전달한다. 즉, 상기 패킷이 버퍼513에 버퍼링되면, 패킷헤더처리부515는 상기 버퍼링된 패킷헤더의 PID를 분석하여 상기 제어부300에 입력된 패킷이 비디오인지 또는 오디오인지를 확인하여 상기 제어부300에 전달한다. 그러면 상기 제어부300은 상기 입력된 패킷을 식별할 수 있도록 상기 데이터처리부521에 비디오 또는 오디오 패킷임을 통보한다. 여기서는 상기 제어부300이 상기 데이터처리부521에 패킷 식별정보를 전달하는 것으로 설명하고 있지만, 상기 패킷헤더처리부515에서 상기 패킷헤더를 분석한 후, 데이터처리부521에 상기 패킷 식별정보를 전달할 수도 있다. 이때 상기 패킷헤더처리부515는 상기한 바와 같이 설정된 채널의 비디오 및 오디오 PID를 알고 있는 상태이며, 따라서 상기 패킷헤더에 포함된 PID를 분석하여 설정된 비디오 또는 오디오 PID를 포함하는 경우에는 이를 상기 데이터처리부521에 이를 알려줄 수 있다.
이때 상기 도 10a와 같은 PES헤더의 기본필드는 매 패킷들에 포함되며, 추가필드를 포함하지 않는 경우, 상기 PES헤더의 기본필드는 3바이트로 이루어진다. 따라서 상기 패킷에 포함되는 실제데이타 ES는 최대 181바이트(패킷헤더 4바이트 및 PES헤더 3바이트를 제외한 나머지 바이트 데이터)가 될 수 있으며, 따라서 상기 데이터처리부521은 최대 상기 버퍼513의 8번째 -188번째 바이트 영역의 데이터를 입력할 수 있으며, 상기 PES헤더처리부519로부터 남아있는 실제 데이터(ES: elementary stream)를 확인하여 이를 비디오 또는 오디오 ES로 출력한다. 즉, 상기 데이터처리부521은 상기 처리부515-517들에서 처리하고 남은 패킷데이타(1패킷 데이터(188바이트) - 패킷헤더(4바이트) - 부가정보(N 바이트) - PES 헤더(M바이트))를 처리하며, 상기 패킷헤더에 포함된 PID 값에 따라 이를 비디오 또는 오디오 ES로 분리하여 파싱한다. 이때의 N 및 M은 각각 도 9a의 부가정보길이(adaptation field length) 및 도 10a의 PES 헤더 길이(PES header data length)에 따라 결정되며, 이때 상기 부가정보길이 및(또는) PES 헤더길이는 0(N=M=0, N=0, M=0)이 될 수도 있다. 또한 상기 부가정보길이 및(또는) PES 헤더길이가 0이 아닌 경우(N=M=0, N=0, M=0), 상기 데이터처리부521은 상기 부가정보처리부517 및(또는) PES헤더처리부519와 동시에 실제 데이터를 처리하므로, 패킷 데이터의 역다중화를 신속하게 수행할 수 있다.
일반적으로 상기 입력되는 TS신호의 패킷들은 상기 부가정보 및 PES헤더의 추가필드들을 포함하지 않는다. 즉, 상기 패킷데이타는 상기 부가정보 및(또는) PES 헤더를 필요한 경우에만 포함하게 된다. 따라서 상기 수신되는 패킷은 실제 데이터(ES)들이 주를 이루게 되며, 이런 경우 상기 패킷헤더처리부515, PES헤더처리부517 및 데이터처리부521만 동작하게되며, 상기 부가정보처리부517 은 동작하지 않게 된다. 또한 상기 PES헤더처리부517도 상기 PES헤더의 기본필드 데이터들만 처리하게 된다. 따라서 역다중화부410에서 수신되는 패킷을 복호기430 및 450에 역다중화할 때 신호하게 실제데이타(ES)들을 역다중화할 수 있다.
하기 <표 6>은 패킷데이타에 포함되는 PES헤더와 데이터 패킷의 구성 비를 나타내는 예를 나타내고 있다. 하기 <표 6>에 나타낸 바와 같이 PES헤더 패킷이나 부가정보 패킷은 상기 데이터 패킷에 비해 매우 적은 수의 패킷 수를 가진다.
총 패킷 수 55,476 패킷
PID 오디오 PID 0X0259
비디오 PID 0X0258
PES 패킷 총 PES 패킷 104 패킷
오디오 PES 18 패킷
비디오 PES 86 패킷
따라서 상기 패킷이 입력되면, 상기 버퍼513에 바이트 크기로 순차적으로 버퍼링되며, 또한 버퍼링하고 있는 이전 패킷들이 순차적으로 상기 처리부515-521들에 출력된다. 이때 상기 패킷헤더처리부515는 상기 패킷헤더 영역에서 출력되는 패킷헤더들을 분석하여 PID를 분석하고, 또한 상기 부가정보제어 파라미터를 분석하여 부가정보처리부517의 동작여부를 결정한다. 이때 상기 부가정보가 포함된 패킷이면, 상기 패킷헤더처리부515는 상기 부가정보처리부517의 동작을 명령하며 상기 버퍼515에 저장된 부가정보의 버퍼링 위치 데이터를 함께 전달한다.
그러면 상기 부가정보처리부517은 상기 부가정보가 출력되는 시점에서 상기 버퍼513의 출력을 입력하여 부가정보의 길이를 확인한다. 이때 부가정보만으로 구성된 패킷이면, 상기 부가정보처리부517은 상기 버퍼513에서 출력되는 부가정보 패킷을 처리한다. 그러나 상기 패킷이 PES헤더정보를 포함하는 패킷인 경우에는 상기 PES헤더처리부519의 동작을 명령하고 상기 버퍼513에 저장된 PES헤더 데이터의 위치 정보를 함께 전달한다. 그리고 상기 부가정보처리부517은 상기 버퍼513에서 순차적으로 출력되는 부가정보를 처리한다.
또한 상기 PES헤더처리부519는 상기 패킷헤더처리부515 또는 상기 부가정보처리부517에서 동작명령과 함께 상기 PES헤더 데이터가 버퍼링된 버퍼513의 위치 데이터를 전달받으면, 상기 버퍼513에서 PES헤더 데이터가 출력되는 시점에서 상기 버퍼513에서 출력되는 PES헤더를 입력하여 PES헤더의 길을 검사한다. 이때 상기 PES헤더만으로 이루어진 패킷이면 상기 PES헤더처리부519는 상기 버퍼513에서 순차적으로 출력되는 PES헤더 데이터들을 처리한다. 이때의 PES헤더데이타는 상기 <표 6>에 설명된 바와 같은 오디오 또는 비디오 PES헤더 데이터들이 될 수 있다. 그러나 상기 PES헤더 데이터와 함께 실제 데이터 ES가 포함된 패킷이면, 상기 PES헤더처리부519는 상기 버퍼513에서 PES헤더 데이터가 출력되는 시점에서 상기 버퍼513의 출력을 입력하여 PES헤더 길이를 분석한다. 그리고 상기 실제 데이터 ES의 길이를 분석한 후, 상기 데이터처리부521에 동작명령과 함께 상기 버퍼513에 저장된 실제 데이터 ES의 위치 데이터를 함께 전달한다. 그리고 상기 버퍼513에서 출력되는 상기 PES헤더의 기본필드 데이터들을 처리한다.
상기 데이터처리부521은 상기 PES헤더처리부521에서 동작명령과 함께 상기 버퍼513에 저장된 실제데이타의 위치 데이터를 전달받으면, 상기 패킷헤더처리부515 또는 상기 제어부300에 전달받는 패킷 식별정보(오디오 PID 또는 비디오 PID)를 참조하여 상기 버퍼513에서 실제 데이터가 출력되는 시점에서 출력되는 데이터들을 상기 오디오 ES 또는 비디오 ES로 만들어 복호기 450 또는 430에 역다중화하여 출력한다. 이때 상기 데이터처리부521에서 출력되는 오디오 또는 비디오 ES는 상기 패킷데이타를 분해(depacket)한 실제 데이터가 된다.
상기한 바와 같이 본 발명의 실시예에 따른 역다중화 장치는 상기 입력되는 TS신호의 패킷들이 상기 부가정보 및(또는) PES헤더를 포함하는 경우, 상기 패킷 헤더정보에 따라 해당하는 처리부들이 동작된다. 즉, 예를들어 상기 입력된 패킷이 부가정보만으로 이루어진 경우, 상기 부가정보처리부517이 동작되어 입력된 패킷을 처리하며 PES헤더처리부519 및 데이터처리부521은 구동되지 않는다. 또한 상기 입력된 패킷이 PES 헤더 및 실제 데이터로 이루어진 경우, 상기 PES헤더처리부519가 PES헤더 포함여부를 검사하며, PES헤더만으로 구성된 패킷이면 상기 PES헤더처리부519만 동작하며, 상기 실제 데이타가 포함된 패킷이면 PES헤더처리부519 및 데이터처리부521이 함께 구동되어 각각 PES헤더 및 실제데이타(ES)를 처리한다. 또한 상기 입력된 패킷이 부가정보 및 PES헤더, 실제데이타로 이루어진 경우, 상기 부가정보처리부517 및(또는) PES헤더처리부519 및 데이터처리부521이 함께 구동되어 각각 부가정보 및(또는) PES헤더 및 실제데이타를 처리한다. 따라서 상기 패킷이 실제데이타(ES) 이외에 부가정보 및(또는) PES 헤더를 포함하는 경우, 각각 해당 데이터를 처리하는 처리부들이 병렬 구동되어 동시에 데이터를 처리하므로써, 역다중화를 신속하게 수행할 수 있다.
따라서 직렬 구조를 가지는 역다중화부의 경우에는 패킷헤더처리부515, 부가정보처리부517, 패킷헤더처리부519 및 데이터처리부521의 순서로 패킷 데이터를 처리하므로, 처리할 정보(부가정보, PES 헤더, 데이터)가 없는 경우에도 모든 처리부들이 순차적으로 동작되어 불필요한 처리 시간을 소모하게 되지만, 본 발명의 실시예에서는 수신되는 패킷을 분석하여 패킷에 처리할 정보를 포함하는 경우에만 해당하는 처리부가 구동되어 데이터를 처리하므로, 데이터 처리 시간을 감축하여 역다중화 속도를 빠르게 구현할 수 있다.
두 번째로 직렬 구조를 가지는 역다중화부는 각 처리부들의 전단에 입력버퍼(또는 후단에 출력버퍼)를 가지게 되며, 상기 처리부에서 출력되는 데이터를 바이트 단위로 전송하므로써, 패킷을 전송하기 위하여 매우 빠른 클럭을 사용하여야 하며, 또한 다단의 버퍼들을 사용하므로써 데이터 전달에 많은 시간을 필요로하는 구조를 가지고 있다. 그러나 본건출원은 버퍼에서 패킷 크기의 데이터를 병렬 버퍼링하며, 데이터 처리시 해당하는 처리부들이 각각 상기 버퍼에서 각각 병렬 억세스하여 동시에 처리하므로 데이터를 전달하는 시간을 대폭 감축할 수 있으며, 이로인해 역다중화 속도를 크게 향상시킬 수 있다.
세 번째로 상기 동기검색시 입력되는 패킷의 모든 바이트를 검색하지 않고, 입력되는 패킷을 버퍼에 저장하면서 저장되는 바이트를 분석한 후 검출되는 동기바이트가 버퍼의 동기바이트 위치에 벗어난 경우에만 벗어난 위치의 차감값을 구하며, 상기 구해진 차감값 만큼 상기 입력되는 바이트 데이터를 지연시켜 동기를 구현한다. 따라서 동기 검색 방법을 단순화할 수 있다.
두 번째로 상기 DVB_H 방식의 디지털 방송수신기와 같이 IP 기반의 방송데이타를 처리하는 구성을 살펴본다. 이때 상기 DVB_H 방식의 디지털 방송수신기의 구성은 도 5와 동일한 구성을 가진다. 이때 상기 DVB_H 방식의 디지털 방송수신기의 경우, 상기 방송수신기(RF튜너100 및 복조기120) 및 멀티미디어처리부330이 상기 DVB_T 방식의 디지털 방송송수신기와 다른 구성을 가진다. 이는 상기 DVB_H가 IP 기반의 방송신호를 처리하여야 하기 때문이다.
도 17은 상기 DVB_H의 방송수신기(튜너310 및 복조기320)의 구성을 도시하는 도면이다.
상기 도 17을 참조하면, 상기 튜너310의 PLL815는 RISC827의 제어하에 방송채널의 물리주파수를 설정하기 위한 주파수를 발생하며, 믹서(mixer)813은 수신되는 방송신호와 상기 PLL815의 출력 주파수를 혼합하여 설정된 물리채널 주파수의 방송신호를 출력하며, 여파기817은 설정된 물리채널 주파수 대역의 신호를 여파 출력한다. 상기 복조기320의 A/D변환기821은 상기 튜너310의 출력신호를 디지털 데이터로 변환하며, OFDM 복조기823은 변조된 방송신호를 복조한다. 그리고 PID필터825는 상기 복조된 신호에서 설정된 방송채널의 PID를 가지는 신호를 필터링하며, 상기 PID필터825에서 출력되는 신호는 RISC827을 통해 버퍼829에 버퍼링된다. 이때 상기 RISC827은 디지털 방송수신기의 소비전력을 줄이기 위해 타임슬라이싱(time slicing)의 동작을 제어하며, 수신시 발생하는 에러를 보정하여 수신율을 향상시키기 위한 MPE-FEC 기능을 수행한다. 상기 버퍼829에서 버퍼링되는 데이터는 IP 데이터그램이다.
상기 튜너310은 직접 변환(direct conversion) 방식의 튜너를 사용한다. 상기 튜너310은 설정된 방송채널의 주파수를 가지는 방송신호를 선택하여 I/Q신호로 변환하며, 복조기320은 상기 튜너310의 출력을 디지털 데이터로 변환한 후, OFDM 복조한다. 이때 상기 복조된 데이터는 MPEG2 TS 구조를 가지며, 여기서 설정된 방송채널의 PID를 가지는 데이터를 필터링한다. 이때 상기 PID 필터링된 데이터는 타임슬라이싱을 위한 시간 정보와 MPE-FEC 기능을 위한 패리티 바이트 테이블을 가진다. 상기 타임 슬라이싱은 디지털 방송수신기에서 하드웨어의 소비전력을 줄이기 위해 채택된 기법으로 원하는 방송에 해당하는 데이터가 수신될 때만 하드웨어가 동작되고, 원하는 데이터가 수신되지 않을 때에는 하드웨어를 오프시키는 기법으로, 따라서 상기 타임슬라이싱 기법을 사용하면 원하는 방송의 PID 데이터만을 출력하게 된다. 따라서 상기 PID 필터를 거쳐 원하는 PID에만 해당되는 데이터만을 수신하여 RISC827에서 MPEG2 TS 역다중화 과정을 수행하게 된다. 이때 상기 PID 필터링 과정에서 수행되는 MPEG2 TS 역다중화 과정은 같은 물리채널 주파수를 사용하는 여러 방송채널 중에서 사용자가 설정한 방송채널의 신호를 역다중화하는 동작을 수행하는 것으로, 상기 멀티미디어처리부330에서 수행되는 MPEG2 TS 역다중화와 다른 동작이다. 상기 MPEG2 TS 역다중화 과정을 수행하면, 상기 MPE 테이블과 패리티 정보로만 구성되어진 FEC 테이블을 구할 수 있다. 그리고 상기 MPE 테이블과 상기 FEC 테이블을 이용하여 MPE-FEC 기능을 수행하게 된다.
상기 방송수신기130은 341단계에서 튜너210의 물리채널주파수를 세팅한다. 즉, 상기 제어부110에서 방송채널의 주파수를 설정하기 위한 제어데이타를 수신하면, 상기 RISC327은 이를 감지하고, 상기 튜너310의 PLL315에 상기 물리채널 주파수를 세팅한다. 이후 상기 RISC327은 상기 OFDM 복조기223에 코딩 방식, 코딩율 및 가드 인터벌(guard interval) 등을 설정한다. 상기와 같이 물리주파수가 세팅되면, 상기 방송수신기130의 튜너310은 설정된 물리채널 주파수의 방송신호를 출력한다.
그러면 상기 방송수신기130은 343단계에서 상기 튜너310의 출력을 디지털 데이터로 변환하고, 345단계에서 디지털 변환된 데이터를 OFDM(또는 COFDM) 복조하며, 347단계에서 상기 복조된 데이터 중에서 설정된 PID를 가지는 데이터를 필터링한다. 상기 PID 필터링 동작을 살펴보면, 상기 복조부323에서 출력되는 TS 스트림의 PID가 설정된 PID(사용자가 선택한 방송채널의 PID)와 일치하는가 검사한다. 이때 상기 PID가 일치하면, 상기 방송수신기130은 상기 입력된 TS 스트림의 PID를 분석한 후, 타임 슬라이싱 정보에 따라 튜너210 및 복조기220의 동작을 제어한다. 그러나 상기 PID가 일치하지 않으면, 상기 PID 필터링 과정을 종료하고 일치된 PID의 TS 스트림이 입력되기 전까지 대기한다.
이후 상기 방송수신기130은 349단계에서 상기 PID 필터링된 데이터를 역다중화하며, 351단계에서 타임 슬라이싱 정보를 추출한 후, 상기 타임슬라이싱 정보를 상기 PID 필터325에 전달한다. 이후 상기 방송수신기130은 상기 수신된 데이터에서 MPE섹션/FEC섹션을 버퍼에 저장한 후, 357단계에서 버스트 데이터(burst data)를 모두 수신하였는가 검사한다. 이때 상기 방송수신기130은 상기 버스트 데이터를 수신하지 못한 경우 상기 343단계로 되돌아가 상기와 같은 동작을 반복 수행하며, 버스트 데이터를 모두 수신한 경우에는 359단계에서 상기 버퍼링된 데이타를 리드 솔로몬 복호(Reed-Solomon decoding)하며, 상기 멀티데이타처리부120에 인터럽트신호를 발생한다. 그리고 상기 방송수신기130은 상기 343단계로 되돌아가 설정된 PID의 다음 버스트 데이터의 수신을 대기한다.
따라서 상기 RISC827에서 MPEG2 TS 역다중화와 MPE-FEC 과정을 수행하여 얻어진 최종 데이터인 IP 데이터그램을 상기 멀티데이타처리부130에 전달하여 방송을 재생하도록 한다.
그러면 상기 멀티미디어처리부330은 상기 복조기320에서 출력하는 IP 데이터그램을 수신하여 IP 정보를 디캡슐레이팅한 후 역다중화시켜 오디오 및 비디오 데이터를 처리하게 된다. 도 18은 멀티미디어처리부330의 구성을 도시하는 도면이다.
상기 도 18을 참조하면, IP 디캡슐레이터(IP decasulator)400은 상기 복조기320에서 출력되는 IP 데이터그램에서 IP 정보를 처리하여 서비스 데이터 패킷 스트림(service data packet stream) 및 ESG 데이터 패킷 스트림(ESG data packet stream)을 생성한다. 그리고 상기 서비스 데이터 패킷 스트림의 페이로드는 상기 역다중화기410에 전달하며, 상기 ESG 데이터 패킷 스트림은 상기 제어부300에 인가한다. 여기서 상기 역다중화기410에 인가되는 서비스 데이터 패킷 스트림의 페이로드는 A/V 패킷데이타 스트림으로 상기 역다중화기210 이후의 처리 동작은 상기 DVB_T의 처리 절차와 동일하게 수행된다. 즉, 서비스 데이터 패킷 스트림의 경우, 상기 IP정보를 디캡슐레이팅한 후, 상기 DVB_T와 동일한 구성 및 방법으로 오디오 및 비디오 패킷들을 처리하게 된다.
상기와 구성을 가지는 디지털 방송수신기의 동작 절차를 살펴본다.
먼저 상기 디지털방송의 수신 및 처리절차를 살펴보면, 상기 제어부300은 사용자에 의해 설정된 방송채널신호를 수신하기 위한 채널데이타를 상기 방송수신기에 출력한다. 이때 상기 채널데이타는 원하는 방송의 물리채널 주파수 정보 및 방송채널의 PID(PID: program ID) 등이 될 수 있다. 상기 방송수신기은 튜너310 및 복조기320으로 구성되며, 상기 튜너110은 상기 제어부300에 의해 설정된 채널 데이터에 의해 물리 채널을 세팅시켜 해당 주파수 채널로 송신되는 방송신호를 수신한다. 그리고 상기 방송수신기의 복조기320은 상기 튜너310에서 출력되는 방송신호를 복조하며, 상기 복조된 신호의 PID를 필터링하여 원하는 방송채널의 신호를 상기 멀티미디어처리부330에 인가한다. 이때 상기 멀티미디어처리부330에 전달되는 IP 데이터그램(IP datagram)으로 IP 정보가 포함된 방송 신호이다. 이때 상기 IP데이타그램은 하기 <표 7>과 같은 구조를 가지며, 여기서 서비스 데이터 패킷 스트림(service(A/V) data packet stream)은 하기 <표 8>과 같은 구조를 가지며, ESG 데이터 패킷 스트림은 <표 9>와 같은 구조를 가진다.
service 1 service 2 service 3 data 1 data2 ------
IP header RTP header payload IP header RTP header payload ------
IP header FLUTE header payload IP header FLUTE header payload ------
상기 방송수신기에서 전송되는 상기 IP데이타그램은 상기 <표 8> 및 <표 9>와 같은 구조를 가질 수 있으며, 상기 IP 헤더는 하기 <표 10>과 같은 구조를 가질 수 있다.
version IHL type of service total length
identification flags fragment offset
time to live protocol header checksum
source address
destination address
options padding
상기 <표 10>에서 version(4비트)는 IP 포맷의 버전으로써, 현재는 IPv4(internet protocol version 4)가 사용되며 차세대 포맷으로 IPv6가 제안되어 그 사용이 확대되고 있는 추세이다. IHL(internet header length: 4비트)는 IP 헤더의 길이를 표시한다. 상기 IP 헤더의 길이는 상기 <표10>에 나타낸 바와 같이 20 바이트 크기(32비트 * 5열 = 160비트)로 구성되며, 마지막 열의 4바이트는 옵션 사항이다. type of service(8비트)는 전송되는 IP 데이터그램의 우선순위 등을 제어하기 위한 항목으로, QOS(quality of service) 기능을 수행한다. total length(16비트)는 전송되는 IP 데이터그램의 크기를 나타내는 항목으로 상기 IP헤더와 이어지는 실제 데이터(datagram)의 크기를 합친 크기를 표시한다. identification(16)비트는 전송하고자 하는 데이터그램에 단편화(fragmentation)이 발생된 경우, 단편화된 각 데이터그램들을 구분할 수 있는 일련번호이다. flags(3비트)는 데이터그램의 단편화에 대한 정보를 알려주기 위해서 사용된다. fragment offset(13비트)는 데이터그램에 대한 단편화가 발생된 경우 현재 데이터그램이 원래 데이터그램의 몇 번째 위치부터 단편화가 이루어졌는지 나타낸다. time to live(8비트)는 TTL이 불리며, 데이터그램이 살아있을 시간을 지정한다. header checksum(16비트)은 헤더의 오류를 체크하기 위한 정보이다. source address(32비트)는 데이터그램을 보내는 측(송신측)의 IP 주소이며, destination address(32비트)는 데이터그램을 받는 측(수신측)의 IP 주소이다. option(가변 크기)은 프로그램의 특성에 의해서 특정한 기능을 추가하기 위해 사용되며, 이 필드는 필수적인 것은 아니다. 데이터그램에 보안 기능을 추가하거나 QOS와 같은 기능, 또는 라우팅과 관련된 부가적인 여러 기능들을 추가하기 위해 사용될 수 있다. padding(가변크기)은 32비트 크기를 맞추기 위해 사용되며, 0으로 세팅된다.
상기한 바와 같이 상기 디지털방송신호가 DVB_H 방식의 신호이면, 상기 수신되는 방송신호는 IP 기반의 MPEG2 TS 구조를 가지는 데이터가 된다. 따라서 상기 DVB_H 방식의 방송신호를 수신하는 경우, 상기 멀티미디어처리부330은 상기 IP디캡슐레이터400을 통해 IP 정보를 제거하고, 역다중화기410을 통해 상기 수신되는 MPEG2 TS 구조에서 헤더정보를 분석하여 비디오 및 오디오 데이터를 역다중화 출력하여야 한다.
상기 방송수신기에서 출력되는 IP 데이터그램은 상기 <표 7>과 같은 형태로 입력되며, 상기 IP 데이터그램들의 각각은 상기 <표 8> 또는 <표 9>와 같은 구조를 가질 수 있다. 따라서 상기 <표 7>과 같은 구조의 IP 데이터그램이 입력되면, 상기 IP디캡슐레이터400은 상기 <표 10>과 같은 IP헤더를 분석하여 IP 버전 및 사용하는 프로토콜을 확인한다. 여기서 상기 IP 버전은 IP 버전 6과 IP 버전 4가 있을 수 있다. 이후 상기 IP디캡슐레이터210은 IP 버전 6이면 IP 버전6 헤더를 파싱(Parsing)하여 프로토콜을 검색하고, IP 버전 4이면 IP 버전 4 헤더를 파싱하여 프로토콜을 검색한다. 여기서 상기 프로토콜은 UDP 프로토콜 및 TCP/IP 프로토콜을 사용할 수 있다. 따라서 상기 IP디캡슐레이터400은 상기 프로토콜을 확인한 후, IP 헤더의 필드를 확인하여 페이로드 길이를 구한다. 이후 상기 IP디캡슐레이터400은 페이로드 데이터그램을 추출한 후, UDP 또는 TCP/IP 헤더를 제거하고, TS 스트림을 추출한다.
이때 상기 IP 데이터그램은 상기한 바와 같이 <표 8> 및 <표 9>와 같은 구조를 가질 수 있다. 여기서 상기 <표 8>과 같은 서비스 데이터 패킷 스트림은 비디오 및 오디오 데이터를 포함하는 패킷 스트림이 되며, <표 9>와 같은 ESG 데이터 패킷 스트림은 디지털 방송의 정보(EPG, 구매, 멀티미디어 데이터 등)를 포함하는 패킷 스트림이다. 본 발명의 실시예에서는 상기한 바와 같이 상기 ESG 데이터 패킷 스트림은 소프트웨어적으로 처리하는 것으로 가정한다. 따라서 상기 IP디캡슐레이터400은 상기 ESG 데이터 패킷 스트림의 경우에는 이를 제어부300에 전달한다. 또한 상기 <표 8>과 같은 서비스 데이터 패킷 스트림의 경우 RTP 헤더는 상기 제어부110에 전달하고, 상기 페이로드부분은 상기 역다중화기410에 전달한다. 이때 상기 역다중화기410에 전달되는 페이로드 정보는 MPEG2 TS 구조를 가지는 패킷 스트림이 될 수 있다.
이때 상기 역다중화기410의 구조는 상기 도 7과 같은 병렬 구조를 가진다. 따라서 상기 DVB_H와 같이 IP 정보를 기반으로 하는 방송신호를 처리하는 디지털 방송수신기에서 수신되는 방송신호를 효과적으로 역다중화할 수 있다.
따라서 상기 DVB_H 방식과 같이 IP 기반의 방송신호를 처리하는 디지털 방송수신기의 경우에도 상기 TS 데이터를 병렬 역다중화 구조를 사용하므로써, 디지탈방송수신기는 수신되는 패킷을 분석하여 패킷에 처리할 정보를 포함하는 경우에만 해당하는 처리부가 구동되어 데이터를 처리할 수 있으며, 이로인해 상기 방송 데이터 처리 시간을 감축하여 역다중화 속도를 빠르게 구현할 수 있다.
두 번째로 상기 DVB_H 방식의 디지털방송수신기에서 병렬 역다중화기를 사용하므로써, 버퍼에서 패킷 크기의 데이터를 병렬 버퍼링하며, 데이터 처리시 해당하는 처리부들이 각각 상기 버퍼에서 각각 병렬 억세스하여 동시에 처리하므로 데이터를 전달하는 시간을 대폭 감축할 수 있으며, 이로인해 역다중화 속도를 크게 향상시킬 수 있다.
세 번째로 상기 DVB_H 방식의 디지털방송수신기에서 상기 동기검색시 입력되는 패킷의 모든 바이트를 검색하지 않고, 입력되는 패킷을 버퍼에 저장하면서 저장되는 바이트를 분석한 후 검출되는 동기바이트가 버퍼의 동기바이트 위치에 벗어난 경우에만 벗어난 위치의 차감값을 구하며, 상기 구해진 차감값 만큼 상기 입력되는 바이트 데이터를 지연시켜 동기를 구현한다. 따라서 동기 검색 방법을 단순화할 수 있다.
상술한 바와 같이 디지털 방송수신기에서 역다중화부를 병렬 처리하고 버퍼링된 패킷을 분석하여 패킷에 포함되는 정보들을 각각 대응되는 처리부들이 병렬 처리하므로써 역다중화 속도를 향상시킬 수 있으며, 각 처리부들이 하나의 버퍼에 저장된 패킷들을 억세스하여 처리하므로 버퍼의 구성을 간략화할 수 있는 동시에 데이터 전달시간을 대폭 감축할 수 있는 이점이 있다. 또한 역다중화시 입력되는 패킷을 일단 버퍼링한 후 버퍼링되는 데이터들 중에서 동기바이트를 확인하고 버퍼링되는 동기바이트의 위치로부터 원래 설정된 동기바이트 위치까지의 차감값을 결정하여 입력되는 데이터들을 지연하여 동기를 구하므로써 매바이트 마다 동기검출을 하지 않아도 되는 이점이 있다.

Claims (32)

  1. 패킷헤더 및 페이로드로 구성되는 패킷데이타를 처리하는 디지털 방송수신기의 역다중화 장치에 있어서,
    입력되는 패킷 데이터를 버퍼링하는 버퍼와,
    상기 버퍼에 병렬 연결되는 복수의 처리부들로 구성되며,
    상기 처리부들은,
    상기 버퍼링된 패킷데이타의 패킷헤더를 검사하여 부가정보 포함 여부를 확인하며, 상기 부가정보 포함 여부에 따른 제어신호를 발생하는 패킷헤더처리부와,
    상기 패킷헤더처리부에 제어에 의해 상기 버퍼링된 페이로드 데이타에서 부가정보를 처리하는 부가정보처리부와,
    상기 패킷헤더처리부에 제어에 의해 상기 버퍼링된 페이로드 데이타에서 PES 헤더를 처리하는 PES헤더처리부와,
    상기 PES헤더처리부에 제어에 의해 상기 버퍼링된 페이로드 데이터의 오디오 또는 비디오 데이터를 오디오 또는 비디오 이에스로 생성하여 각각 대응되는 복호기에 출력하는 데이터처리부로 구성된 것을 특징으로 하는 상기 디지털방송수신기의 역다중화장치.
  2. 제1항에 있어서, 상기 패킷헤더처리부는 상기 패킷헤더의 부가정보제어 파라 미터를 분석하여 상기 페이로드 데이터가 부가정보를 포함하는지 판단하며, 상기 부가정보 포함시 상기 부가정보처리부가 상기 부가정보를 처리하도록 제어하며, 상기 부가정보가 포함되지 않았으면 상기 PES헤더처리부의 동작을 제어하는 것을 특징으로 하는 상기 디지털방송수신기의 역다중화장치.
  3. 제2항에 있어서, 상기 부가정보처리부는 상기 버퍼에서 버퍼링된 부가정보필드를 분석하여 부가정보의 길이를 분석하며, 상기 페이로드 데이터가 부가정보만으로 이루어진 경우 상기 부가정보를 처리하여 제어부에 전달하고, 상기 페이로드 데이터가 다른 데이터를 포함하는 경우 상기 PES헤더처리부에 상기 버퍼에 버퍼링된 부가정보 외의 데이터 위치를 전달하며, 상기 부가정보를 처리하여 상기 제어부에 전달하는 것을 특징으로 하는 상기 디지털방송수신기의 역다중화장치.
  4. 제3항에 있어서, 상기 PES헤더처리부는 상기 버퍼에서 버퍼링된 페이로드에 PES헤더 포함 여부를 검사하며, PES헤더 포함시 PES헤더의 길이를 확인하여 처리한 후 제어부에 전달하고, 상기 버퍼에 버퍼링된 PES 헤더 이외의 데이터 위치를 데이터처리부에 전달하는 것을 특징으로 하는 상기 디지털방송수신기의 역다중화장치.
  5. 제4항에 있어서, 상기 패킷헤더처리부는 패킷헤더의 PID를 분석하여 상기 버퍼링된 패킷의 식별하는 PID를 상기 데이터 처리부에 전달하며,
    상기 데이터 처리부는 상기 버퍼에서 버퍼링된 오디오 또는 비디오 데이터를 오디오 또는 비디오 이에스 데이터로 생성하여 각각 대응되는 복호기에 전달하는 것을 특징으로 하는 상기 디지털방송수신기의 역다중화장치.
  6. 제1항에 있어서, 상기 버퍼가,
    패킷데이타 크기를 가지는 제1 및 제2버퍼와,
    상기 입력되는 패킷데이타를 제1버퍼에 저장하는 동안 상기 제2버퍼에 저장된 패킷데이타를 출력하고, 상기 입력되는 패킷데이타를 제2버퍼에 저장하는 동안 상기 제1버퍼에 저장된 패킷데이타를 출력하도록 제어하는 어드레스발생부로 구성된 것을 특징으로 하는 상기 디지털방송수신기의 역다중화 장치.
  7. 제1항에 있어서, 상기 버퍼가,
    상기 패킷데이타 크기를 가지는 듀얼포트 메모리와,
    상기 입력되는 패킷데이타를 상기 메모리에 저장하는 제1어드레스발생부와,
    상기 메모리에 저장된 패킷데이타를 출력하는 제2어드레스발생부로 구성된 것을 특징으로 하는 상기 디지털방송수신기의 역다중화장치.
  8. 제1항에 있어서, 상기 버퍼에 버퍼링된 패킷데이타에서 동기바이트의 버퍼링 위치를 검사하고, 상기 버퍼의 동기바이트 버퍼링 위치에서 벗어난 위치를 검사하여 차감값을 검출한 후, 상기 차감값에 따라 상기 패킷데이타의 바이트 데이터를 지연시켜 패킷 동기를 맞추는 동기검색부를 더 구비하는 것을 특징으로 하는 상기 디지털방송수신기의 역다중화 장치.
  9. 제8항에 있어서, 상기 동기검색부가,
    상기 버퍼에 저장되는 바이트 데이터가 동기바이트인가 검사하는 동기확인부와,
    상기 동기확인부에서 동기바이트 검출시 상기 버퍼에 저장되는 동기바이트의 버퍼링 위치를 확인한 후, 상기 버퍼에서 설정된 동기바이트 버퍼링 위치에서 상기 저장된 동기바이트 바이트의 버퍼링 위치 까지의 차감값을 계산하는 차감값추출부와,
    상기 계산된 차감값에 따라 상기 입력되는 패킷데이타를 지연하여 상기 버퍼에 버퍼링하는 지연부로 구성된 것을 특징으로 하는 상기 디지털방송수신기의 역다중화 장치.
  10. 제9항에 있어서, 상기 버퍼에 설정된 동기바이트의 버퍼링 위치는 상기 버퍼의 첫 번째 바이트 버퍼링 위치임을 특징으로 하는 상기 디지털방송수신기의 역다중화 장치.
  11. 디지털 방송수신기를 구비하는 휴대단말기의 방송데이타 수신장치에 있어서,
    설정된 방송채널의 신호를 수신하여 복조하여 패킷데이타 스트림을 출력하는 방송수신기와,
    상기 패킷데이타스트림을 분석하여 복호된 비디오 및 오디오데이타를 발생하는 멀티미디어처리부와,
    상기 복호된 비디오 데이터를 표시하는 표시부와,
    상기 복호된 오디오 데이터를 재생하는 스피커로 구성되며,
    상기 멀티미디어처리부가,
    상기 패킷데이타 스트림을 버퍼링하는 버퍼와, 상기 버퍼에 병렬연결되는 처리부들로 구성되고, 상기 처리부들이 상기 버퍼링된 패킷데이타를 상기 각 처리부들이 병렬 처리하여 역다중화하는 역다중화기와,
    상기 역다중화된 비디오 이에스 데이터를 복호하는 비디오복호기와,
    상기 역다중화된 오디오 이에스 데이터를 복호하는 오디오복호기로 구성된 것을 특징으로 하는 휴대단말기의 방송데이타 수신장치.
  12. 제11항에 있어서,
    상기 방송수신기가 설정된 주파수의 방송채널의 신호를 수신하여 복조하고, 상기 복조된 패킷스트림의 피아이디를 검사하여 설정된 방송채널의 패킷데이타를 필터링하여 아이피 데이터그램을 발생하며,
    상기 멀티미디어처리부가,
    상기 아이피 데이터그램의 IP정보를 디캡슐레이팅하여 상기 역다중화기에 출력하는 아이피디캡슐레이터를 더 구비하는 것을 특징으로 하는 휴대단말기의 방송데이타 수신장치.
  13. 청구항 13은(는) 설정등록료 납부시 포기되었습니다.
    제12항에 있어서, 상기 역다중화기가,
    입력되는 패킷 데이터를 버퍼링하는 버퍼와,
    상기 버퍼링된 패킷데이타의 패킷헤더를 검사하여 부가정보 포함 여부를 확인하며, 상기 부가정보 포함 여부에 따른 제어신호를 발생하는 패킷헤더처리부와,
    상기 패킷헤더처리부에 제어에 의해 상기 버퍼링된 페이로드 데이타에서 부가정보를 처리하는 부가정보처리부와,
    상기 패킷헤더처리부에 제어에 의해 상기 버퍼링된 페이로드 데이타에서 PES 헤더를 처리하는 PES헤더처리부와,
    상기 PES헤더처리부에 제어에 의해 상기 버퍼링된 페이로드 데이터의 오디오 또는 비디오 데이터를 오디오 또는 비디오 이에스로 생성하여 각각 대응되는 복호기에 출력하는 데이터처리부로 구성된 것을 특징으로 하는 휴대단말기의 방송데이타 수신장치.
  14. 청구항 14은(는) 설정등록료 납부시 포기되었습니다.
    제13항에 있어서, 상기 버퍼에 버퍼링된 패킷데이타에서 동기바이트의 버퍼링 위치를 검사하고, 상기 버퍼의 동기바이트 버퍼링 위치에서 벗어난 위치를 검사하여 차감값을 검출한 후, 상기 차감값에 따라 상기 패킷데이타의 바이트 데이터를 지연시켜 패킷 동기를 맞추는 동기검색부를 더 구비하는 것을 특징으로 하는 휴대단말기의 방송데이타 수신장치.
  15. 청구항 15은(는) 설정등록료 납부시 포기되었습니다.
    제14항에 있어서, 상기 동기검색부가,
    상기 버퍼에 저장되는 바이트 데이터가 동기바이트인가 검사하는 동기확인부와,
    상기 동기확인부에서 동기바이트 검출시 상기 버퍼에 저장되는 동기바이트의 버퍼링 위치를 확인한 후, 상기 버퍼에서 설정된 동기바이트 버퍼링 위치에서 상기 저장된 동기바이트 바이트의 버퍼링 위치 까지의 차감값을 계산하는 차감값추출부와,
    상기 계산된 차감값에 따라 상기 입력되는 패킷데이타를 지연하여 상기 버퍼에 버퍼링하는 지연부로 구성된 것을 특징으로 하는 휴대단말기의 방송데이타 수신장치.
  16. 청구항 16은(는) 설정등록료 납부시 포기되었습니다.
    제15항에 있어서, 상기 버퍼에 설정된 동기바이트의 버퍼링 위치는 상기 버퍼의 첫 번째 바이트 버퍼링 위치임을 특징으로 하는 휴대단말기의 방송데이타 수신장치.
  17. 청구항 17은(는) 설정등록료 납부시 포기되었습니다.
    제14항에 있어서, 상기 패킷헤더처리부는 상기 패킷헤더의 부가정보제어 파라미터를 분석하여 상기 페이로드 데이터가 부가정보를 포함하는지 판단하며, 상기 부가정보 포함시 상기 부가정보처리부가 상기 부가정보를 처리하도록 제어하며, 상기 부가정보가 포함되지 않았으면 상기 PES헤더처리부의 동작을 제어하는 것을 특징으로 하는 휴대단말기의 방송데이타 수신장치.
  18. 청구항 18은(는) 설정등록료 납부시 포기되었습니다.
    제17항에 있어서, 상기 부가정보처리부는 상기 버퍼에서 버퍼링된 부가정보필드를 분석하여 부가정보의 길이를 분석하며, 상기 페이로드 데이터가 부가정보만으로 이루어진 경우 상기 부가정보를 처리하여 제어부에 전달하고, 상기 페이로드 데이터가 다른 데이터를 포함하는 경우 상기 PES헤더처리부에 상기 버퍼에 버퍼링된 부가정보 외의 데이터 위치를 전달하며, 상기 부가정보를 처리하여 상기 제어부에 전달하는 것을 특징으로 하는 휴대단말기의 방송데이타 수신장치.
  19. 청구항 19은(는) 설정등록료 납부시 포기되었습니다.
    제18항에 있어서, 상기 PES헤더처리부는 상기 버퍼에서 버퍼링된 페이로드에 PES헤더 포함 여부를 검사하며, PES헤더 포함시 PES헤더의 길이를 확인하여 처리한 후 제어부에 전달하고, 상기 버퍼에 버퍼링된 PES 헤더 이외의 데이터 위치를 데이터처리부에 전달하는 것을 특징으로 하는 휴대단말기의 방송데이타 수신장치.
  20. 청구항 20은(는) 설정등록료 납부시 포기되었습니다.
    제19항에 있어서, 상기 패킷헤더처리부는 패킷헤더의 PID를 분석하여 상기 버퍼링된 패킷의 식별하는 PID를 상기 데이터 처리부에 전달하며,
    상기 데이터 처리부는 상기 버퍼에서 버퍼링된 오디오 또는 비디오 데이터를 오디오 또는 비디오 이에스 데이터로 생성하여 각각 대응되는 복호기에 전달하는 것을 특징으로 하는 휴대단말기의 방송데이타 수신장치.
  21. 디지털 방송수신기에서 패킷헤더 및 페이로드로 구성된 패킷데이타를 역다중화하는 방법에 있어서,
    입력되는 패킷 데이터를 버퍼링하는 과정과,
    상기 버퍼링된 패킷 데이터의 패킷헤더를 검사하여 부가 정보 포함여부를 확인하며, 상기 부가정보 포함여부에 따라 상기 패킷헤더를 처리하는 과정과,
    상기 부가정보가 포함되어 있으면 상기 버퍼링된 부가정보를 처리하는 과정과,
    상기 부가정보가 포함되어 있지 않으면 상기 페이로드를 검사하여 페이로드에 PES헤더의 포함 여부를 검사하며, 상기 PES헤더가 포함되었으면 상기 페이로드에 포함된 PES헤더의 크기를 검사하여 오디오/비디오데이타의 포함 여부를 확인하고, 상기 오디오/비디오 데이타 포함시 상기 오디오/비디오 데이타의 버퍼링 위치를 결정한 후 상기 PES헤더를 처리하는 과정과,
    상기 PES헤더 처리한 후 또는 상기 페이로드에 PES헤더가 포함되지 않은 패킷데이타이면 상기 페이로드의 비디오/오디오데이타를 처리하여 비디오/오디오 이에스데이타를 생성한 후 각각 대응되는 복호기에 전달하는 과정으로 이루어짐을 특징으로 하는 상기 디지털 방송수신기의 패킷 데이터 역다중화 방법.
  22. 제21항에 있어서, 상기 버퍼링된 패킷데이타에서 동기바이트의 버퍼링 위치를 검사하고, 상기 동기바이트 버퍼링 위치에서 벗어난 위치를 검사하여 차감값을 검출한 후, 상기 차감값에 따라 상기 패킷데이타의 바이트 데이터를 지연시켜 패킷 동기를 맞추는 동기검색과정을 더 구비하는 것을 특징으로 하는 상기 디지털방송수신기의 패킷데이타 역다중화 방법.
  23. 제22항에 있어서, 상기 동기검색 과정이,
    상기 버퍼에 저장되는 바이트 데이터가 동기바이트인가 검사하는 과정과,
    상기 동기바이트 검출시 상기 버퍼에 저장되는 동기바이트의 버퍼링 위치를 확인한 후, 상기 버퍼에서 설정된 동기바이트 버퍼링 위치에서 상기 저장된 동기바이트 바이트의 버퍼링 위치 까지의 차감값을 계산하는 과정과,
    상기 계산된 차감값에 따라 상기 입력되는 패킷데이타를 지연하여 버퍼링하는 과정으로 이루어짐을 특징으로 하는 상기 디지털 방송수신기의 패킷 데이터 역다중화 방법.
  24. 제23항에 있어서, 상기 버퍼에 설정된 동기바이트의 버퍼링 위치는 첫 번째 패키데이타를 버퍼링하는 버퍼의 첫 번째 바이트 위치임을 특징으로 하는 상기 디지털 방송수신기의 패킷 데이터 역다중화 방법.
  25. 제22항에 있어서, 상기 패킷헤더를 처리하는 과정이,
    상기 패킷헤더의 PID를 분석하여 목표 PID인가 검사하며, 목표 PID인 경우에만 입력되는 패킷의 종류 식별 정보를 저장하는 과정과,
    상기 패킷헤더의 부가정보제어 파라미터를 분석하여 상기 버퍼링된 패킷이 부가정보를 포함하면 상기 부가정보처리 과정의 동작을 명령하고 상기 부가정보처리과정에서 처리할 상기 부가정보의 버퍼링 위치 정보를 함께 전달하는 과정과,
    상기 버퍼링된 패킷이 부가정보를 포함하지 않으면 상기 PES헤더처리 과정의 동작을 명령하고 상기 PES헤더처리 과정에서 처리할 PES헤더의 버퍼링 위치정보를 함께 전달하는 과정으로 이루어짐을 특징으로 하는 상기 디지털 방송수신기의 패킷 데이터 역다중화 방법.
  26. 제25항에 있어서, 부가정보를 처리하는 과정이,
    구동명령 수신시 상기 버퍼에서 버퍼링된 부가정보를 억세스하여 부가정보의 길이를 분석하는 과정과,
    상기 분석과정에서 상기 패킷이 부가정보만으로 이루어진 경우 상기 부가정보를 처리하여 제어부에 전달하는 과정과,
    상기 분석과정에서 상기 패킷이 PES헤더를 포함하는 경우 상기 PES헤더의 구동명령과 함께 상기 PES헤더의 버퍼링 위치정보를 함께 전달한 후 상기 부가정보를 처리하여 상기 제어부에 전달하는 과정으로 이루어짐을 특징으로 하는 상기 디지털 방송수신기의 패킷 데이터 역다중화 방법.
  27. 제26항에 있어서, 상기 PES헤더를 처리하는 과정이,
    상기 구동명령 수신시 상기 버퍼에서 버퍼링된 PES헤더를 억세스하여 PES헤더의 길이를 분석하는 과정과,
    상기 분석과정에서 상기 버퍼링된 패킷이 PES헤더로만 이루어진 경우 상기 PES 헤더를 처리하여 제어부에 전달하는 과정과,
    상기 분석과정에서 상기 버퍼링된 패킷이 실제데이타를 포함하는 경우 상기 데이터처리부의 구동명령과 함께 상기 실제데이타의 버퍼링 위치정보를 함께 전달한 후 상기 데이터처리 과정의 동작을 명령하고 상기 버퍼링된 실제데이타의 위치정보를 전달한 후 상기 PES헤더를 처리하여 상기 제어부에 전달하는 과정으로 이루어짐을 특징으로 하는 상기 디지털 방송수신기의 역다중화 방법.
  28. 제27항에 있어서, 상기 데이터 처리과정이,
    상기 구동명령 수신시 상기 저장된 PID에 따라 패킷의 종류를 식별하는 과정과,
    상기 상기 버퍼링된 실제 데이터를 억세스하며, 상기 식별된 PID에 따라 상기 실제 데이터를 비디오 또는 오디오 ES를 생성한 후, 각각 대응되는 복호기에 역다중화하는 과정으로 이루어짐을 특징으로 하는 상기 디지털 방송수신기의 역다중화 방법.
  29. 디지털 방송수신기를 구비하는 휴대단말기의 방송데이터 처리 방법에 있어서,
    설정된 방송채널의 신호를 수신하여 복조하여 패킷데이타 스트림을 출력하는 방송데이타 수신과정과,
    상기 패킷데이타스트림을 분석하여 복호된 비디오 및 오디오데이타를 발생하는 멀티미디어데이타 처리과정과,
    상기 복호된 비디오 및 오디오 데이터를 재생하는 과정으로 이루어지며,
    상기 멀티미디어 데이터를 처리하는 과정이,,
    상기 패킷데이타 스트림을 버퍼링하며, 상기 버퍼링된 패킷데이타의 패킷헤더 및 페이로드를 검사하여 상기 패킷데이타를 병렬 처리하여 비디오 및 오디오 이에스데이타들로 역다중화하는 과정과,
    상기 역다중화된 비디오 및 오디오 이에스 데이터를 각각 복호하는 과정으로 이루어짐을 특징으로 하는 휴대단말기의 방송데이터 처리 방법.
  30. 제29항에 있어서,
    상기 방송데이타 수신과정이,
    설정된 주파수의 방송채널의 신호를 수신하여 복조하고, 상기 복조된 패킷스트림의 피아이디를 검사하여 설정된 방송채널의 패킷데이타를 필터링하여 아이피 데이터그램을 발생하며,
    상기 멀티미디어 데이터 처리과정이,
    상기 아이피 데이터그램의 아이피정보를 디캡슐레이팅하는 과정을 더 구비하며, 상기 아이피 디캡슐레이팅된 패킷 데이터 스트림을 역다중화함을 특징으로 하는 휴대단말기의 방송데이터 처리 방법.
  31. 제29항에 있어서, 상기 역다중화과정이,
    입력되는 패킷 데이터를 버퍼링하는 과정과,
    상기 버퍼링된 패킷헤더를 검사하여 상기 페이로드가 부가정보인가 확인하는 과정과,
    상기 페이로드가 부가정보이면 상기 결정된 버퍼링된 부가정보를 처리하는 과정과,
    상기 페이로드가 부가정보가 아니면 상기 페이로드를 검사하여 페이로드에 PES헤더의 포함 여부를 검사하며, 상기 PES헤더가 포함되었으면 상기 페이로드에 포함된 PES헤더의 크기를 검사하여 오디오/비디오데이타의 포함 여부를 확인하고, 상기 오디오/비디오 데이타 포함시 상기 오디오/비디오 데이타의 버퍼링 위치를 결정한 후 상기 PES헤더를 처리하는 과정과,
    상기 PES헤더 처리한 후 또는 상기 페이로드에 PES헤더가 포함되지 않은 패킷데이타이면 상기 페이로드의 비디오/오디오데이타를 처리하여 비디오/오디오 이에스데이타를 생성한 후 각각 대응되는 복호기에 전달하는 과정으로 이루어짐을 특징으로 하는 휴대단말기의 방송데이터 처리 방법.
  32. 제30항에 있어서, 상기 버퍼링된 패킷데이타에서 동기바이트의 버퍼링 위치를 검사하고, 상기 동기바이트 버퍼링 위치에서 벗어난 위치를 검사하여 차감값을 검출한 후, 상기 차감값에 따라 상기 패킷데이타의 바이트 데이터를 지연시켜 패킷 동기를 맞추는 동기검색과정을 더 구비하는 것을 특징으로 하는휴대단말기의 방송 데이터 처리 방법.
KR1020050122479A 2004-12-14 2005-12-13 디지털 방송수신기의 역다중화장치 및 방법 KR100755434B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US11/302,353 US8199781B2 (en) 2004-12-14 2005-12-13 Device and method for demultiplexing received transport stream in digital broadcasting receiver
CN200580042848XA CN101080925B (zh) 2004-12-14 2005-12-14 在数字广播接收机中解复用的设备和方法
EP05819107A EP1839439A4 (en) 2004-12-14 2005-12-14 DEVICE AND METHOD FOR DEMULTIPLEXING IN A DIGITAL BROADCAST RECEIVER
PCT/KR2005/004297 WO2006065071A1 (en) 2004-12-14 2005-12-14 Apparatus and method for demultiplexing in a digital broadcasting receiver

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040105877 2004-12-14
KR20040105877 2004-12-14

Publications (2)

Publication Number Publication Date
KR20060067848A KR20060067848A (ko) 2006-06-20
KR100755434B1 true KR100755434B1 (ko) 2007-09-04

Family

ID=37162321

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050122479A KR100755434B1 (ko) 2004-12-14 2005-12-13 디지털 방송수신기의 역다중화장치 및 방법

Country Status (2)

Country Link
KR (1) KR100755434B1 (ko)
CN (1) CN101080925B (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101272409B1 (ko) * 2006-12-22 2013-06-07 삼성전자주식회사 디지털 비디오 방송에서 프레임을 생성하기 위한 방법 및장치
CN101207460B (zh) * 2007-12-14 2011-02-02 北京创毅视讯科技有限公司 一种广播系统中数据的接收方法及终端
CN101309425B (zh) * 2008-07-07 2010-06-09 中兴通讯股份有限公司 解复用方法、装置及系统
CN101646075B (zh) * 2008-08-06 2011-07-13 中兴通讯股份有限公司 一种多媒体码流的码率调整装置及方法
KR101800426B1 (ko) * 2015-01-09 2017-11-23 삼성전자주식회사 송신 장치, 수신 장치 및 그 신호 처리 방법
MX2021008715A (es) 2015-01-09 2022-12-07 Samsung Electronics Co Ltd Aparato de transmision y metodo de procesamiento por se?al del mismo.
US20210092069A1 (en) * 2020-12-10 2021-03-25 Intel Corporation Accelerating multi-node performance of machine learning workloads
CN114143585A (zh) * 2021-11-02 2022-03-04 深圳Tcl新技术有限公司 一种数据处理方法、装置及存储介质和终端设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000078193A (ja) * 1998-08-31 2000-03-14 Matsushita Electric Ind Co Ltd パケットフィルタリング装置
JP2001339721A (ja) * 2000-05-26 2001-12-07 Matsushita Electric Ind Co Ltd 動画像多重符号化信号処理回路及びその装置
JP2002271773A (ja) * 2001-03-12 2002-09-20 Matsushita Electric Ind Co Ltd 映像データ通信装置および映像データ通信システム
WO2003084161A1 (fr) * 2002-03-29 2003-10-09 Fujitsu Limited Procede d'attaque, circuit d'attaque, procede d'emission au moyen d'un circuit d'attaque et circuit de commande

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1110205C (zh) * 1998-12-15 2003-05-28 国家科学技术委员会高技术研究发展中心 并行解码的数字信源解码器
JP3808394B2 (ja) * 2002-04-02 2006-08-09 松下電器産業株式会社 ストリームデータ処理装置、ストリームデータ処理方法、プログラム、及び、媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000078193A (ja) * 1998-08-31 2000-03-14 Matsushita Electric Ind Co Ltd パケットフィルタリング装置
JP2001339721A (ja) * 2000-05-26 2001-12-07 Matsushita Electric Ind Co Ltd 動画像多重符号化信号処理回路及びその装置
JP2002271773A (ja) * 2001-03-12 2002-09-20 Matsushita Electric Ind Co Ltd 映像データ通信装置および映像データ通信システム
WO2003084161A1 (fr) * 2002-03-29 2003-10-09 Fujitsu Limited Procede d'attaque, circuit d'attaque, procede d'emission au moyen d'un circuit d'attaque et circuit de commande

Also Published As

Publication number Publication date
CN101080925A (zh) 2007-11-28
KR20060067848A (ko) 2006-06-20
CN101080925B (zh) 2010-08-18

Similar Documents

Publication Publication Date Title
US8199781B2 (en) Device and method for demultiplexing received transport stream in digital broadcasting receiver
KR100755434B1 (ko) 디지털 방송수신기의 역다중화장치 및 방법
KR101340762B1 (ko) 지상파 디지털 멀티미디어 방송 서비스의 인터넷 프로토콜패킷 재전송 방법
EP1871024A1 (en) Method for arranging zapping streams in mpe-fec frame and receiver
JP6298305B2 (ja) 放送信号ip伝送システムおよび放送信号ip伝送方法
EP1971053A1 (en) Broadcast content transmitter, broadcast content receiver, broadcast content transmitting method, and broadcast content receiving method and program
KR20150145687A (ko) Ip 기반 방송 망에서 전송 패킷 압축 기법
WO2015050175A1 (ja) 受信装置および受信方法
JP7397916B2 (ja) 受信方法および端末
US20090013369A1 (en) Device and Method for Initializing Decoder in Digital Broadcasting Receiver
KR100864715B1 (ko) 디지털 방송 수신 장치 및 그의 스크램블 채널 판단 방법
US20090251616A1 (en) Apparatus and method for processing data in digital broadcasting receiver
US20160134908A1 (en) Broadcasting transmission/reception apparatus and broadcasting transmission/reception method
US8643775B2 (en) Simplified data interface protocol for digital television receiver
KR20070078621A (ko) 휴대단말기의 멀티데이타 처리장치 및 방법
KR100822150B1 (ko) 디지털 멀티미디어 방송용 통합 역다중화 장치
KR20080058991A (ko) 휴대 단말기의 디지털 방송 재생 방법 및 장치
WO2021171687A1 (ja) 映像信号処理装置、映像信号処理方法、プログラムおよび信号処理回路
KR101304888B1 (ko) 다중 주파수 채널을 사용하는 디지털 방송수신기의서비스채널 변경 장치 및 방법
KR101262949B1 (ko) 디지털 방송수신기의 서비스채널 변경 장치 및 방법
KR20070003109A (ko) 디지털 멀티미디어 방송 시스템의 방송 데이터 처리 장치및 방법
EP2202976A1 (en) Digital broadcast receiving apparatus and signal processing method
KR20100118822A (ko) 아이피티브이 단말 시스템
JP2000278230A (ja) ディジタル信号多重装置およびディジタル信号受信装置
KR20050076960A (ko) 무선 영상기기의 미디어 스트림 수신 장치

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: 20120730

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130730

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160728

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170728

Year of fee payment: 11