MPEG-TS
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/ba/MPEG_Transport_Stream_HL.svg/220px-MPEG_Transport_Stream_HL.svg.png)
Փոխադրական հոսքը (TS, TP, MPEG-TS, կամ M2TS) ձայնա և տեսատվյալների հաղորդման արձանագրություն է։ Այս ստանդարտի մշակման նպատակը ձայնա և տեսատվյալների մուլտիփլեքսացումն է (անգլ.՝ multiplexing, տվյալների մի քանի հոսքի նույն խողովակով փոխանցում) և նրանց ելքի սինխրոնիզացում։ Փոխադրական հոսքը բացում է փոխադրական միջոցների սխալների ուղղման հնարավորություն, ինչպիսին են DVB և ATSC-ը։
TS-ն մեդիակոնտեյների ֆորմատ է, որը բացում է տարրական հոսքերի և այլ տվյալների փաթեթները։
Հոսքի կառուցվածքը
[խմբագրել | խմբագրել կոդը]Փոխադրական հոսքում կարելի է առանձնացնել աբստրակցիայի մի քանի մակարդակներ, որոնք աստիճանակարգային կառուցվածքը հիշեցնում է OSI մոդելին։ Օրինակ տեսանյութ պարունակող հոսքը կարելի է ներկայացնել հետևյալ կերպ.
- Տարբեր ծրագրերի խառնուրդ
- Փաթեթավորված տարրական հոսք (անգլ.՝ Packetized elementary stream, PES)
- Տարրական հոսք (Elementary stream, ES)
- Պատկերների խումբ (Group of pictures, GOP), ներկայացնում է պատահական մուտք դեպի նկարը
- Առանձին պատկեր (կադր)
- Հատում (անգլ.՝ Slice), սխալների տարածման կանխման համար կադրի նշված մաս
- Մակրոբլոկ` կազմված 6 -ից 12 DCT բլոկներից
- Կոդավորման տարրական բլոկ (DCT բլոկ), 8x8 կետ չափերով
- Մակրոբլոկ` կազմված 6 -ից 12 DCT բլոկներից
- Հատում (անգլ.՝ Slice), սխալների տարածման կանխման համար կադրի նշված մաս
- Առանձին պատկեր (կադր)
- Պատկերների խումբ (Group of pictures, GOP), ներկայացնում է պատահական մուտք դեպի նկարը
- Տարրական հոսք (Elementary stream, ES)
- Փաթեթավորված տարրական հոսք (անգլ.՝ Packetized elementary stream, PES)
Փոխադրական հոսքի կարևոր տարրերը
[խմբագրել | խմբագրել կոդը]Փաթեթ
[խմբագրել | խմբագրել կոդը]Փաթեթը փոխադրական հոսքի հիմնային միավորն է։
- Վերնագիրն սկսվում է հայտնի Սինխրոնիզացիոն բայթից (8 բիթ) 0x47 (0100 0111)։
- Հաջորդ երեք բիթային դրոշներն օգտագործվում են օգտակար բեռնվածության մշակումը ցույց տալու համար։
- 1. Առաջին դրոշակը նշում է փոխադրական սխալը։
- 2. Երկրորդ դրոշակը նշում է օգտակար բեռնվածության սկիզբը (անգլ.՝ payload_unit_start_indicator)։ Երբ 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 նիշքեր ընդունող ծրագրեր
[խմբագրել | խմբագրել կոդը]Բազմահարթակային
[խմբագրել | խմբագրել կոդը]- Combined Community Codec Pack[3]
- K-Lite Codec Pack
- GOM Player
- Haenlein-Software DVR Studio
- The KMPlayer[4]
- Squared 5 MPEG Streamclip[5]
- VideoReDo[6]
- VobEdit[7]
- BSPlayer[8]
- jetAudio[9]
- Մերդիանվագարկիչ VLC
- Light alloy
- Squared 5 MPEG Streamclip
- Movist
- Մերդիանվագարկիչ VLC
Ծանոթագրություններ
[խմբագրել | խմբագրել կոդը]- ↑ Entering MPlayer homepage
- ↑ VideoLAN — Официальная веб-страница медиаплеера VLC, видео фреймворка с открытым исходным кодом
- ↑ «CCCP — Combined Community Codec Pack». Արխիվացված է օրիգինալից 2017 թ․ հունիսի 9-ին. Վերցված է 2021 թ․ հունվարի 19-ին.
- ↑ The KMPlayer’s Forums
- ↑ Squared 5 — MPEG Streamclip video converter for Mac and Windows
- ↑ «VideoReDo MPEG Video Editing Software». Արխիվացված է օրիգինալից 2008 թ․ մայիսի 17-ին. Վերցված է 2016 թ․ հուլիսի 2-ին.
- ↑ Free-Codecs.com:: Download VobEdit 0.6 : VobEdit is a tool for joining, cutting, de-multiplexing DVD VOB files
- ↑ The media player, movie player, YouTube player, video player, AVCHD player, divx player, free * player — BS.Player.com
- ↑ JetAudio
Արտաքին հղումներ
[խմբագրել | խմբագրել կոդը]- MPEG-2 Systems FAQ Արխիվացված 2008-07-26 Wayback Machine
- MPEG-4 Systems FAQ Արխիվացված 2008-06-20 Wayback Machine
- MPEG-1 description Արխիվացված 2005-03-24 Wayback Machine
- Powerpoint MPEG-2 Transport Stream introduction Արխիվացված 2010-03-31 Wayback Machine
- [1]
- Splicing FAQ Արխիվացված 2016-07-26 Wayback Machine
- Freeware TS-Muxer
- MPEG-2 Transport Stream
- MPEG-2 Transmission Արխիվացված 2020-08-13 Wayback Machine