MPEG-TS

Փոխադրական հոսքը (TS, TP, MPEG-TS, կամ M2TS) ձայնա և տեսատվյալների հաղորդման արձանագրություն է։ Այս ստանդարտի մշակման նպատակը ձայնա և տեսատվյալների մուլտիփլեքսացումն է (, տվյալների մի քանի հոսքի նույն խողովակով փոխանցում) և նրանց ելքի սինխրոնիզացում։ Փոխադրական հոսքը բացում է փոխադրական միջոցների սխալների ուղղման հնարավորություն, ինչպիսին են DVB և ATSC-ը։

TS-ն մեդիակոնտեյների ֆորմատ է, որը բացում է տարրական հոսքերի և այլ տվյալների փաթեթները։

Հոսքի կառուցվածքը 
Փոխադրական հոսքում կարելի է առանձնացնել աբստրակցիայի մի քանի մակարդակներ, որոնք աստիճանակարգային կառուցվածքը հիշեցնում է OSI մոդելին։ Օրինակ տեսանյութ պարունակող հոսքը կարելի է ներկայացնել հետևյալ կերպ.
 Տարբեր ծրագրերի խառնուրդ
 Փաթեթավորված տարրական հոսք ()
 Տարրական հոսք (Elementary stream, ES)
 Պատկերների խումբ (Group of pictures, GOP), ներկայացնում է պատահական մուտք դեպի նկարը
 Առանձին պատկեր (կադր)
 Հատում (), սխալների տարածման կանխման համար կադրի նշված մաս
 Մակրոբլոկ` կազմված 6 -ից 12 DCT բլոկներից
 Կոդավորման տարրական բլոկ (DCT բլոկ), 8x8 կետ չափերով

Փոխադրական հոսքի կարևոր տարրերը

Փաթեթ 
Փաթեթը փոխադրական հոսքի հիմնային միավորն է։
 Վերնագիրն սկսվում է հայտնի Սինխրոնիզացիոն բայթից (8 բիթ) 0x47 (0100 0111)։
 Հաջորդ երեք բիթային դրոշներն օգտագործվում են օգտակար բեռնվածության մշակումը ցույց տալու համար։ 
 1. Առաջին դրոշակը նշում է փոխադրական սխալը։
 2. Երկրորդ դրոշակը նշում է օգտակար բեռնվածության սկիզբը ()։ Երբ Transport Stream փաթեթի օգտակար բեռնվածությունը պարունակում է PSI տվյալներ, «payload_unit_start_indicator»-ն ունենում է «1» արժեքը։ Եթե Transport Stream փաթեթը չի պարունակում PSI տվյալներ, ապա «payload_unit_start_indicator»-ը կլինի «0»: Տես` 2.4.4.1 և 2.4.4.2 կետերը։ սա նույնպես կիրառվում է stream_type 5 մասնավոր հոսքերի դեպքում։
 3. Երրորդ դրոշակը նշում է առաջնային փոխադրական բիթը։
 Դրոշակներն ուղեկցվում են Փաթեթի իդենտիֆիկատորով (13 բիթ) PID: Օգտագործվում, որպեսզի միանշանակ որոշվի հոսքը, որին պատկանում է մուլտիփլեքսորի արտադրած փաթեթը (օրինակ` ES-ին համապատասխանող PES փաթեթը)։ PID-ի որոշ արժեքներ կանխորոշված են և օգտագործվում են ղեկավարման տեղեկության տարբեր հոսքերը նշելու համար։ Ստացողին չպահանջվող անհայտ PID-ով փաթեթից պարզապես հրաժարվում են։ PID 0x1FFF յուրահատուկ արժեքը գրանցված է փաթեթ-զրոյական փաթեթը նշելու համար (և պետք է անտեսվի ստացողի կողմից)։
 Հաջորդ երկու ծառայողական բիթերն օգտագործվում են որոշ TS փաթեթների օգտակար բեռնվածության ծածկագրերի պայմանական մուտքի պրոցեդուրաների կողմից։
 1. 00 — չծածկագրված փաթեթ
 2. 01 — հետագա օգտագործման համար ԳՐԱՆՑՎԱԾ
 3. 10 — զույգ բանալիով ծածկագրված փաթեթ
 4. 11 — կենտ բանալիով ծածկագրված փաթեթ։
 Ադապտացիայի դաշտի ծառայողական երկու բիթ, որոնք կարող են ունենալ չորս արժեք.
 1. 01 — առանց ադապտացիայի դաշտի (adaptation_field), միայն օգտակար բեռնվածություն (payload_data)
 2. 10 — միայն ադապտացիայի դաշտեր (adaptation_field), առանց օգտակար բեռնվածության (payload_data)
 3. 11 — ադապտացիայի դաշտեր (adaptation_field), այնուհետև հաջորդում է օգտակար բեռնվածությունը (payload_data)
 4. 00 — ԳՐԱՆՑՎԱԾ ISO/IEC` հետագա օգտագործման համար։
 Վերջապես կա Անընդհատության հաշվիչ (4 բիթ)։

Փաթեթի մնացած մասը կազմված է օգտակար տեղեկությունից։ փաթեթները կազմվում են 188 բայթ երկարությամբ, բայց հանգուցային միջավայրը փաթեթի սխալների վերացման համար կարող է ավելացնել մի քանի բայթ։ Որպես փոխադրական փաթեթ DVB-ASI-ն օգտագործում է 204 բայթ և 208 բայթ` ATSC-ն։ (DVB t=8 և ATSC t=10, այսինքն կան լրացուցիչ բայթեր = 2*t). ATSC հաղորդումն Reed-Solomon սխալների առաջնային վերացմանն ավելացնում է 20 բայթ, 208 բայթ երկարությամբ փաթեթ ստեղծելու համար։ Փաթեթի 188 բայթանոց չափն ի սկզբանե ընտրված էր ATM համակարգերի հետ համատեղելության համար։

PID 
Փոխադրական հոսքում յուրաքանչյուր աղյուսակ կամ տարրական հոսք նույնականացվում է 13 բիթանոց PID-ով։ Դեմուլտիփլեքսորն ընդհանուր փոխադրական հոսքից դուրս է հանում տարրական հոսքերը` միացնելով դրանք նման PID ունեցող հոսքերով։ Շատ ներդիրներում նախատեսվում է կիրառել ժամանակավոր մուլտիփլեքացում, որպեսզի որոշվի, թե կոնկրետ PID-ը որքան հաճախ կհայտնվի փոխադրակկան հոսքում։

Programs 
Փոխարդական հոսքն ունի ծրագրի կոնցեպցիա (ըմբռնում)։ Program Map Table (PMT) միակ ծրագիրն է, որն ունի եզակի PID և այդ ծրագրի հետ կապված, իրենց PID-երն ունեցող տարրական հոսքեր, որոնք թվարկված են PMT-ում։ Օրինակ` թվային հեռուստատեսությունում կիրառվող փոխադրական հոսքը կարող է կազմվել երեք ծրագրերից և իր մեջ կրել երեք հեռուստատեսային ալիք։ Ենթադրենք, յուրաքանչյուր ալիք կազմված է մեկ տեսահոսքից և մեկ կամ երկու ձայնային հոսքից և ցանկացած անհրաժեշտ
մետատվյալից։ Ալիքները դեկոդավորել ցանկացող ընդունիչը դեկոդավորման համար կիրառում է միայն տվյալ ալիքի համար անհրաժեշտ PID-երը, որոնք կապված են իր ծրագրի հետ։ Այն կարող է հրաժարվել նրանում պարունակվող մնացած բոլոր PID-երից։

Program Specific Information (PSI) 
Հատուկ տեղեկություն ծրագրերի մասին.

 Program Association Table (PAT),
 Program Map Table (PMT),
 Conditional Access Table (CAT),
 Network Information Table (NIT)։

MPEG-2 ֆորմատի դասակարգման մեջ CAT-ը և NIT-ը կանոնակարգված չեն։

PAT 
(Program Association Table, PAT) ծրագրերի աղյուսակը պարունակում է բոլոր PMT-ի PID-եր։ Իր սեփական PID-ը միշտ 0x0:

PMT 
(Program Map Table, PMT) ծրագրի կառուցվածքի աղյուսակը պարունակում է PID-եր և կոնկրետ ծրագրի տարրական հոսքերի հիմնական բնութագրիչներ` տեսանյութ, ձայն, լրացուցիչ տվյալներ։ Յուրաքանչյուր ծրագրի համար կա իր սեփական PID-ով PMT-ն։ Բացի այդ, եթե ծրագրում առկա են ծածկագրված տարրական հոսքեր, PMT-ն պարունակում է պայմանական մուտքի ECM համակարգի հաղորդագրություն։

PCR 
Որպեսզի դեկոդերը կարողանա վերարտադրել ծրագրերը ճիշտ ժամանակին, ճիշտ արագությամբ և սինխրոնիզացիայով, ծրագրերը սովորաբար պարբերական հաղորդում են Program Clock Reference, կամ PCR` ծրագրի հոսքերից մեկում։ Դա այդպես էլ կոչվում է` հենակետային հաճախության (Master Clock) հիմնական աղբյուր։ MPEG2-ում ժամանակային միջակայքերը հաշվվում են այդ հաճախությամբ։ Օրինակ` ներկայացման ժամանակային նշումը (PTS) համապատասխանում է PCR-ին։ Առաջին 33 բիթը համապատասխանում են 90 կՀց հենակետային հաճախությանը։ Ներկայացման ընդլայնումը մինչև 9 բիթ, համապատասխանում է 27 մՀց հաճախությանը։

Null packets 
Հաղորդման որոշ արձանագրություններ, ինչպիսիք են ATSC և DVB ստանդարտները, խիստ սահմանափակ են փոխադրական հոսքի բիթ-րեյթի պահանջների հանդեպ։ Այսպիսով, որպեսզի տվյալների հոսքն ընդունի հաղորդման խիստ տրված արագությունը, Multiplexer-ը պետք է ունենա հոսքում լրացուցիչ փաթեթներ ավելացնելու հնարավորություն։ PID 0x1FFF փաթեթները ծառայում են հենց այդ նպատակին։ Այդ փաթեթների օգտակար բեռնվածությունը չի պպարունակում որևէ օգտակար տեղեկություն, այդ կերպ, ռեսիվերն ստանալով այդպիսի փաթեթ անտեսում է նրա պարունակությունը։

M2TS նիշքեր ընդունող ծրագրեր

Բազմահարթակային 
 FFmpeg
 MPlayer
 VideoLAN 
 մերդիանվագարկիչ VLC
 ProjectX
 PS3Muxer

Linux 
 Մերդիանվագարկիչ VLC
 xine
 MythTV
 SMPlayer

Windows 
 Combined Community Codec Pack
 K-Lite Codec Pack
 GOM Player
 Haenlein-Software DVR Studio
 The KMPlayer
 Squared 5 MPEG Streamclip
 VideoReDo
 VobEdit
 BSPlayer
 jetAudio
 Մերդիանվագարկիչ VLC
 Light alloy

Mac OS X 
 Squared 5 MPEG Streamclip
 Movist
 Մերդիանվագարկիչ VLC

Ծանոթագրություններ

Արտաքին հղումներ 
 MPEG-2 Systems FAQ 
 MPEG-4 Systems FAQ 
 MPEG-1 description 
 Powerpoint MPEG-2 Transport Stream introduction 
 
 Splicing FAQ 
 Freeware TS-Muxer
 MPEG-2 Transport Stream
 MPEG-2 Transmission 

MPEG