336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

4. PES / Section에 대해

    4.1 PES: Packetized Elementary Stream의 약자로 오디오, 비디오 ES를 packetized한 것을 말한다. 오디오나 비디오는 싱크가 중요한 요소이다. 
따라서 PES header 대부분의 정보는 수신부에서 오디오, 비디오 재생시 싱크를 맞출 때 사용할 정보 (PCR, PTS, DTS등)들로 구성된다. 

PCR (Program Clock Reference): 인코더 시스템의 시간을 27Mhz의 system clock으로 sampling한 값으로 오디오, 비디오 재생시 기준 시각으로 사용된다.
42 (33 + 9) bit 정확도를 가지고 있으며 MPEG1과의 호환성을 위해 33 bit의 90Khz의 정확도를 가지는 PCR_base값과 27Mhz의 정확도를 가지는 9 bit의 
PCR_ext로 구성되어진다.

PTS (Presentation Time Stamp): 오디오나 비디오가 실제로 재생되어져야 하는 시각을 나타낸다.

DTS (Decoding Time Stamp): 수신된 오디오, 비디오 정보가 디코딩 되어져야 하는 시각을 나타낸다.


    4.2 Section: PES에 포함되는 오디오, 비디오 데이터를 제외한 나머지 정보들을 section이라고 하고 방송 수신 정보 PSI (Program Specific Information)과 
방송 부가 정보 SI (Service Information) 및 기타 일반적인 데이터들이 여기에 해당한다. 앞서 설명한 것처럼 실제로 section은 구체적인 데이터 (table)의 일부분이고
수신부에서는 packetized되서 전송되는 여러개의 section을 모아서 하나의 table을 완성해야 유효한 정보를 얻을 수 있다. 실제로 section header를 보면
section_no와 last section_no라는 값이 있는데 이 값을 보고 packet을 gathering하여 하나의 table을 완성하게 된다. 때때로 table의 사이즈가 TS packet 
사이즈보다 작은 경우가 있는데 이 경우는 section_no와 last section_no 값이 모두 0x00이 된다. Section header에는 table_id라는 값이 있다. 수신부에서는 이 값을
이용하여 packet에 어떤 table 정보가 저장되어 있는 지 알 수 있다. Table 1은 MPEG-2 systems의 table_id를 정리한 것이다.

Table 1. table_id index



    4.2.1 PSI: 오디오, 비디오 데이터를 정상적으로 재생시키기 위해 필요한 데이터로 PAT, PMT, CAS, NIT, TSDT등으로 구성되어 있다. 우리가 하나의 방송을 
수신해서 보려면 무작위로 전송되어 오는 수많은 packet 중 필요한 packet이 어떤 TP (transponder)에서 오는지, 어떤 PID를 통해서 오는지, 암호화가 되어 있으면 
어떻게 풀어야 하는지 등등의 정보가 있어야 한다. 이런 정보들을 PSI에서 제공하게 된다.
    
PAT (Program Association Table)은 packet중 가장 기본이 되는 packet으로 PID도 0x0000으로 할당되어 있다. PAT에는 채널에 대한 정보를 포함하고 있는 
PMT(Program Map Table)의 PID를 포함하고 있고 TP등 네트웍 정보를 담고 있는 NIT의 PID를 갖고 있다. 따라서 수신부에서는 최우선적으로 PID가 0x0000인
PAT packet을 찾아서 분석해야 그 다음 프로세서로 넘어갈 수 있다. NIT의 경우 채널 번호가 0인 PMT의 PID가 NIT를 포함하고 있는 packet의 PID가 된다.

접기


접기


PMT는 예를 들어 KBS, MBC, SBS 각각의 방송을 보기 위한 채널마다의 오디오, 비디오, 데이터 정보등이 어떤 PID를 갖고 전송되는지에 대한 정보를 포함하고 있다.

접기


접기


CAT (Conditional Access Table)는 각각의 미디어를 사용자마다 선별적으로 서비스 하기 위한 것으로 이런 미디어들은 scrambling되어 있어 특정 key값이 없이는
디코딩이 안되서 시청이 불가능하다. 이 때 사용하는 key값은 EMM과 ECM table을 수신해야 생성시킬 수 있다. CAT는 이중 EMM의 PID 정보를 제공하는 역할을 한다. 

접기


접기



    그림 1은 방송을 보기 위해 수신부에서 맨 처음 진행하는 TS packet 분석 과정을 간략하게 보여주는 것으로 맨 처음 PID = 0x0000인 PAT packet을 찾아서 payload의 
내용을 분석한다. PAT 안에는 네 개 (KBS, MBC, SBS, EBS)의 채널에 대한 정보와 NIT, TSDT등이 어떤 PID를 통해서 전송되는지를 나타내는 정보가 들어있다.
만약 우리가 MBC라는 채널을 시청하고 싶다면 수신부에서는 MBC 채널의 실제 데이터 (오디오, 비디오, 그리고 데이터)가 어떤 PID를 통해 전송되는지를 알 수 있는 
PMT의 PID를 PAT로부터 찾게 된다. 여기서는 PID가 0x0102인 packet을 찾게 된다. 이후 알아낸 PID packet을 parsing하여 또 다시 오디오, 비디오, 그리고 데이터가 
포함되어 있는 packet의 PID를 찾는다. 마지막으로 앞서 알아낸 PID를 이용하여 각각의 데이터가 포함되어 있는 packet을 찾아서 디코딩을 하여 방송을 재생시킨다.    


그림 1. TS packet 분석 process




용어 정리
우리가 일반적으로 사용하고 있는 채널이라는 단어는 실제로 디지털 방송에서는 서비스라는 단어로 사용되고 있다. 그리고 각 채널에서 방송되고 있는 프로(그램)은 
이벤트라는 단어로 사용되고 있다. 지금까지의 내용 정리에서는 일반적으로 사용되던 채널과 프로(그램)이라는 단어를 사용했으니 이 부분은 감안하여야 할 것이다

블로그 이미지

뚱땡이 우주인

,