Швидке перемикання каналу і захист потокової передачі високої якості по широкомовному каналу

Номер патенту: 95881

Опубліковано: 12.09.2011

Автори: Штокхаммер Томас, Шокроллахі Мохаммад Амін, Лубі Майкл Дж.

Є ще 13 сторінок.

Дивитися все сторінки або завантажити PDF файл.

Формула / Реферат

1. Система електронної доставки для доставки потоків даних по широкомовному каналу, при цьому широкомовний канал є каналом для передачі сигналів від одного або більше джерел у множині приймачів, при цьому кожен приймач намагається прийняти по суті той же самий сигнал, причому система електронної доставки містить:

систему відправника, яка відправляє дані для потоку даних в пакетах фізичного рівня блоків фізичного рівня, причому указування того, як дані, які відправляються, зв'язані з потоком даних, основані щонайменше частково на блоках фізичного рівня.

2. Система електронної доставки за п. 1, в якій указування того, як дані, які відправляються, зв'язані з потоком даних, основані щонайменше частково на інформації в заголовках блоків фізичного рівня, при цьому система відправника конфігурує заголовки блоків фізичного рівня так, що вони включають в себе згадані указування.

3. Система електронної доставки за п. 1, в якій указування того, як дані, які відправляються, зв'язані з потоком даних, основані щонайменше частково на інформації в заголовках пакетів фізичного рівня.

4. Система електронної доставки за п. 1, при цьому дані, які відправляються, організовані в символи в межах вихідних блоків даних, і при цьому указування містять указування того, як формується символ з вихідного блока і вказівок асоціації між символом і вихідним блоком.

5. Система електронної доставки за п. 4, в якій указування є ідентифікаторами символів кодування, при цьому ідентифікатори символів кодування щонайменше частково передаються в заголовках блоків фізичного рівня.

6. Система електронної доставки за п. 4, в якій указування є ідентифікаторами символів кодування, при цьому ідентифікатори символів кодування передаються в каналі керуючих даних.

7. Система електронної доставки за п. 4, при цьому асоціація між символами і вихідними блоками може в основному визначатися із заголовків блоків фізичного рівня.

8. Система електронної доставки за п. 4, при цьому символи даних, що відправляються, включають в себе дані відновлення попереджувального виправлення помилок (FEC), що формуються з вихідних блоків.

9. Система електронної доставки за п. 4, при цьому один або більше логічних потоків даних відправляються в єдиному потоці блоків фізичного рівня.

10. Система електронної доставки за п. 4, при цьому символи даних, що відправляються, відправляються по більше ніж одному потоку блоків фізичного рівня.

11. Система електронної доставки за п. 4, при цьому указування того, як символи даних, що відправляються, зв'язані з потоком або даними об'єкта, щонайменше частково передаються в пакетах фізичного рівня, які містять символи даних, що відправляються.

12. Система електронної доставки за п. 4, при цьому дані, які відправляються, для вихідного блока організовані в різні підблоки різних пріоритетів.

13. Система електронної доставки за п. 12, при цьому указування структури підблоків вихідного блока в основному визначаються із заголовків блоків фізичного рівня.

14. Система електронної доставки за п. 12, при цьому указування структури підблоків вихідного блока можуть в основному визначатися із заголовків пакетів фізичного рівня, що передаються в блоках фізичного рівня.

15. Система електронної доставки за п. 12, в якій символи даних, що відправляються, включають в себе дані відновлення FEC, що формуються з різних підблоків і сполучень підблоків.

16. Система електронної доставки за п. 12, в якій підблоки пріоритетів використовуються для визначення порядку відправки підблоків.

17. Система електронної доставки за п. 12, в якій підблоки пріоритетів використовуються для перетворення підблоків в блоки фізичного рівня.

18. Система електронної доставки за п. 17, в якій підблоки пріоритетів, перетворених в блоки фізичного рівня, розділені між різними блоками фізичного рівня.

19. Спосіб передачі даних від відправника в приймач в системі електронної доставки для доставки потоків даних по широкомовному каналу, при цьому широкомовний канал є каналом для передачі сигналів від одного або більше джерел у множині приймачів, при цьому кожен приймач намагається приймати по суті той же самий сигнал, при цьому спосіб містить етапи, на яких:

відправляють дані для потоку даних в пакетах фізичного рівня блоків фізичного рівня від відправника, при цьому указування того, як дані, які відправляються, зв'язані з потоком даних, основані щонайменше частково на фізичному рівні блоків.

20. Машинозчитуваний носій, що містить машиновиконуваний код для виконання способу за п. 19.

Текст

1. Система електронної доставки для доставки потоків даних по широкомовному каналу, при цьому широкомовний канал є каналом для передачі сигналів від одного або більше джерел у множині приймачів, при цьому кожен приймач намагається прийняти по суті той же самий сигнал, причому система електронної доставки містить: систему відправника, яка відправляє дані для потоку даних в пакетах фізичного рівня блоків фізичного рівня, причому указування того, як дані, які відправляються, зв'язані з потоком даних, основані щонайменше частково на блоках фізичного рівня. 2. Система електронної доставки за п. 1, в якій указування того, як дані, які відправляються, зв'язані з потоком даних, основані щонайменше частково на інформації в заголовках блоків фізичного рівня, при цьому система відправника конфігурує заголовки блоків фізичного рівня так, що вони включають в себе згадані указування. 3. Система електронної доставки за п. 1, в якій указування того, як дані, які відправляються, зв'язані з потоком даних, основані щонайменше частково на інформації в заголовках пакетів фізичного рівня. 4. Система електронної доставки за п. 1, при цьому дані, які відправляються, організовані в символи в межах вихідних блоків даних, і при цьому указування містять указування того, як формується символ з вихідного блока і вказівок асоціації між символом і вихідним блоком. 5. Система електронної доставки за п. 4, в якій указування є ідентифікаторами символів кодування, при цьому ідентифікатори символів кодування 2 (19) 1 3 95881 4 16. Система електронної доставки за п. 12, в якій підблоки пріоритетів використовуються для визначення порядку відправки підблоків. 17. Система електронної доставки за п. 12, в якій підблоки пріоритетів використовуються для перетворення підблоків в блоки фізичного рівня. 18. Система електронної доставки за п. 17, в якій підблоки пріоритетів, перетворених в блоки фізичного рівня, розділені між різними блоками фізичного рівня. 19. Спосіб передачі даних від відправника в приймач в системі електронної доставки для доставки потоків даних по широкомовному каналу, при цьо му широкомовний канал є каналом для передачі сигналів від одного або більше джерел у множині приймачів, при цьому кожен приймач намагається приймати по суті той же самий сигнал, при цьому спосіб містить етапи, на яких: відправляють дані для потоку даних в пакетах фізичного рівня блоків фізичного рівня від відправника, при цьому указування того, як дані, які відправляються, зв'язані з потоком даних, основані щонайменше частково на фізичному рівні блоків. 20. Машинозчитуваний носій, що містить машиновиконуваний код для виконання способу за п. 19. По даній заявці вимагається пріоритет на основі попередньої заявки США № 61/051325, озаглавленої "Fast Channel Zapping and High Quality Streaming Protection over a Broadcast Channel", поданої 7 травня 2008 p. Галузь техніки, до якої належить винахід Даний винахід належить загалом до потокової передачі і доставки об'єктів, і зокрема до потокової передачі і доставки об'єктів по менш надійних каналах, використовуючи попереджувальне виправлення помилок (FEC) для захисту якості потоку, що доставляється. Рівень техніки Стало усталеною практикою розглядати відправку потокових даних, типово аудіо- і/або відеоданих, але також інші типи даних, наприклад, телеметричних даних по каналу. Однією основною проблемою є гарантія, що якість потоку, який доставляється, є високою, наприклад, що всі або більшість з первинних даних потоку доставляються в приймач або набір приймачів, або, що якість відео вкінці в приймачі або наборі приймачів є високою. Наприклад, канал, по якому доставляються потокові дані, може бути не повністю надійним, наприклад, частини даних загублені або пошкоджені при передачі. Таким чином, часто це є випадком, що необхідно вжити інших заходів, щоб подолати погіршення доставки для того, щоб досягти доставки високої якості, при цьому подібні заходи можуть включати в себе застосування FEC для первинного потоку даних, наприклад, в фізичному рівні для захисту відносно пошкодження пакетів або в каналі зв'язку, транспортному або прикладному рівні для захисту відносно втрати пакетів. Інші заходи включають в себе використання стратегії повторної передачі для повторної передачі загублених або пошкоджених даних, наприклад, протокол повторної передачі канального рівня або протокол повторної передачі прикладного рівня. Іншою основною проблемою, коли проектують подібну систему, є, наприклад, величина часу, яка необхідна для запуску показу відеопотоку з моменту, коли кінцевий користувач спочатку запитує запуск перегляду відеопотоку, або величина часу, яка необхідна для зупинки показу поточного відеопотоку і запуску показу нового відеопотоку, ініційованого запитом користувача. Ця величина часу часто згадується як час перемикання каналу. Ти пово, чим менший час перемикання каналу, тим краще сприйняття кінцевого користувача і, таким чином, більш значне загальне обслуговування. Наприклад, часто існує вимога, що час перемикання каналу повинен бути як можна більш невеликим, наприклад, нижчим 1 секунди. Часто є можливим досягти подібних величин часу перемикання каналу і доставки потоку високої якості, коли потоки доставляються по високонадійних каналах без зворотного каналу, або, коли потоки доставляються по менш надійних каналах і, коли існує зворотний канал, який може використовуватися для запиту повторної передачі загублених даних, але це часто є проблемою, щоб досягти подібних величин часу перемикання каналу, коли потік доставляється по менш надійних каналах і зворотний канал не повинен використовуватися для поліпшення надійності і замість цього, використання FEC могло б бути прийнятним. Останнім часом стало усталеною практикою розглядати використання FEC-кодів для захисту потокових мультимедіа під час передачі. Коли відправляються по пакетній мережі, приклади яких включають в себе Інтернет і бездротові мережі, як ті, які стандартизовані групами, наприклад, 3GPP, 3GPP2 і DVB, вихідний потік вміщується в пакети, як він формується або зроблений доступним, і таким чином, пакети використовуються для передачі вихідного потоку в порядку, в якому він формується або зроблений доступним для приймачів. У типовому використанні FEC-кодів для цих типів сценаріїв, FEC-код використовується для додавання додаткових пакетів відновлення до первинних пакетів джерела, які містять вихідний потік, і ці пакети відновлення мають властивість, що, коли відбувається втрата пакету джерела, прийняті пакети відновлення можуть використовуватися для відновлення даних, що містяться в загублених пакетах джерела. У інших прикладах, можливо, що відбувається часткова втрата пакетів, тобто, приймачі можуть втратити частини пакету, тоді як приймають інші частини цього пакету, і таким чином в цих прикладах, повністю або частково прийняті пакети відновлення можуть використовуватися для відновлення повністю або частково загублених пакетів джерела. У ще одних прикладах інші типи пошкодження можуть відбуватися з даними, що відправляються, наприклад, значення 5 бітів можуть бути транспоновані, і таким чином, пакети відновлення можуть використовуватися для корекції подібного пошкодження і передбачати настільки точне, наскільки це можливе, відновлення пакетів джерела. У інших прикладах, потік джерела не обов'язково відправляється в дискретних пакетах, але замість цього, може відправлятися, наприклад, як безперервний потік бітів. Існує багато прикладів FEC-кодів, які можуть використовуватися для надання захисту вихідного потоку. Коди Ріда-Соломона (Reed-Solomon) є відомими кодами для корекції помилок і стирання в системах зв'язку. Для корекції зі стиранням помилок, наприклад, мереж пакетної передачі, відомою ефективною реалізацією кодів Ріда-Соломона є використання матриць Коші або Вандермонда як описано в L. Rizzo, "Effective Erasure Codes for Reliable Computer Communication Protocols", Computer Communication Review, 27(2):24-36 (April 1997) (далі - "Rizzo") і J. Bloemer, M. Kalfane, R. Karp, M. Karpinski, M. Luby, D. Zuckerman, "An XOR-Based Erasure-Resilient Coding Scheme", Technical Report TR-95-48, International Computer Science Institute, Berkeley, California, (1995) (далі "XOR-Reed-Solomon"). Інші приклади кодів FEC включають в себе коди LDPC, коди ланцюгової реакції і багатокаскадні коди ланцюгової реакції, наприклад, ті, які описані в патенті США № 6307487 (далі - "Luby І") і опублікованій патентній заявці США № 2003/0058958 (далі - "Shokrollahi І"), відповідно, які включені в даний документ для всіх цілей. Приклади обробки FEC-декодування для варіантів кодів Ріда-Соломона описані в "Rizzo" і "XOR-Reed-Solomon". У цих прикладах декодування використовується, якщо прийняті достатні пакети даних джерела і пакети даних виправлення. Процес декодування може бути з великим об'ємом обчислень і, в залежності від доступних ресурсів CPU, це може зайняти значний час для завершення, відносно тривалості часу, що охоплюється середовищем в блоці. У багатьох додатках, пакети додатково поділяються на символи, до яких застосовується FECобробка. Символ може мати будь-який розмір, але часто розмір символу є не більшим, ніж такий, що дорівнює розміру пакету. Надалі в цьому документі символи, що містять блок кодування, називають "вихідні символи" і символи, що формуються під час FEC-обробки, "символами кодування". Для деяких FEC-кодів, особливо, кодів Ріда-Соломона, час кодування і декодування непрактично збільшується, оскільки число символів кодування на кожен вихідний блок збільшується. Таким чином, на практиці, існує верхня межа, наприклад, 255, по загальному числу символів кодування, які можуть бути сформовані на кожен вихідний блок. Оскільки символи часто розміщуються в різних пакетних корисних навантаженнях, це іноді поміщує практичну верхню межу до максимальної довжини кодування вихідного блока, наприклад, якщо пакетне корисне навантаження дорівнює не більше ніж 1024 байта, потім кодований вихідний блок може дорівнювати не більше ніж 255 Кб (кілобайт), і це також природно, верхня межа розміру самого ви 95881 6 хідного блока, якщо кожен символ відправляється в окремому пакеті. Часто є бажаним застосовувати FECкодування і декодування по блоках даних в потоці, який відправляється розповсюджуваними протягом великого проміжку часу, оскільки застосування FEC-кодування по блоках даних, які відправляються протягом більшого інтервалу часу, загалом передбачає кращий захист для потоку для тих же самих службових сигналів діапазону частот, як і FEC-кодування по блоках даних, які відправляються по меншому інтервалу часу. Це через те, що багато які канали є об'єктом для характеристик корельованих у часі втрат і/або пошкоджень, наприклад, дані, які, можливо, можуть загубитися в пакетах, або, ймовірно, існують короткі проміжки часу, коли характеристики каналу є набагато гіршими, ніж вони існують протягом інших коротких інтервалів часу. Проблемою з використанням FEC-кодування, що застосовується для блоків даних, які відправляються розповсюджуваними протягом більшого інтервалу часу, є те, що це може несприятливо впливати на час перемикання каналу. Наприклад, в приймачі блок кодованих даних може лише бути повністю відновлений і відтворений після того, як було прийнято достатньо даних для повного блока. Таким чином, якщо блок FEC-кодованих даних відправляється протягом більшого інтервалу часу, тоді час перемикання каналу може бути недопустимо високим. Одним способом для досягнення мети короткого проміжку часу перемикання каналу, тоді як в той же самий час відправка блока FEC-кодованих даних протягом більшого інтервалу часу існує для розташування даних таким чином, щоб найважливіші дані відправлялися останніми і найменш важливі дані відправлялися першими серед FECкодованих даних. Наприклад, патентна заявка США № 11/423391, озаглавлена "Forward Error Correcting (FEC) Coding and Streaming" (далі "FEC Streaming"), яка включена в даний документ для всіх цілей, описує способи для відправки даних виправлення FEC до вихідних даних для вихідного блока, таким чином, дозволяючи приймачу приймати частину вихідних даних для вихідного блока і запустити її відправку, наприклад, в медіаплеєр для завершення, навіть, якщо приймач приєднується до потоку в середині вихідного блока, таким чином мінімізуючи час перемикання каналу. Іншою основною проблемою є мінімізація величини ресурсів каналу, що використовуються даними заголовка, які використовуються для ідентифікації фактичних даних, що необхідно відіслати. Загалом, дані заголовка є загалом службовими сигналами, які негативно впливають на величину пропускної здатності, яка доступна для доставки даних. Наприклад, якщо 4 байти даних заголовка використовуються для ідентифікації кожних 100 байтів фактичних даних, тоді службові сигнали заголовка означають 4%. Бажано мінімізувати службові сигнали заголовка настільки, наскільки це можливо, особливо як для потокової передачі, так і додатків з доставкою об'єктів, але в більш 7 загальному значенні для будь-якого додатку з доставкою даних. Те, що є необхідним, це способи, процеси і пристрій, які дозволяють потік високої якості, який необхідно доставити по менш надійних каналах, коли зворотні канали не використовуються для поліпшення надійності, коли потрібна коротка тривалість часу перемикання каналів. Мінімізація фізичних ресурсів для досягнення вказаного рівня надійності, наприклад, службові сигнали заголовка і службові сигнали FEC, є першорядним значенням. Розкриття винаходу Варіанти здійснення являють собою нові способи і процеси для відправки і прийому потокових даних по каналу, використовуючи FEC-коди для надання доставки високої якості і для дозволу коротких проміжків часу перемикання каналу. Описані нові способи сигналізації, які мінімізують службові сигнали заголовка, необхідні в подібній системіяк для потокової передачі, так і для доставки об'єктів. Також описані нові схеми відправки і захисти потоків. Подальший докладний опис разом з прикладеними кресленнями нададуть краще розуміння природи і переваг даного винаходу. Короткий опис креслень Фіг. 1 - це блок-схема системи зв'язку згідно з одним варіантом здійснення даного винаходу. Фіг. 2 - є кресленням, що ілюструє компоненти часу очікування приймача для відомої системи. Фіг. 3 - є кресленням, що ілюструє компоненти часу очікування приймача, коли символи виправлення FEC відправляються до відповідних вихідних символів, з яких вони формуються. Фіг. 4 - є блок-схемою, що ілюструє, як варіант здійснення може розташовувати відповідно до пріоритету дані в підблоки і перетворювати підблоки в порядку пріоритетної відправки. Фіг. 5 - є блок-схемою, що ілюструє, як варіант здійснення може перетворювати підблоки в блоки фізичного рівня на основі перетворення цілих підблоків в кожен блок фізичного рівня. Фіг. 6 - є блок-схемою, що ілюструє, як варіант здійснення може перетворювати підблоки в блоки фізичного рівня, де рівна величина даних підблоків перетворюється в кожен блок фізичного рівня і, в яких підблоки розбиті іноді по блоках фізичного рівня. Здійснення винаходу Варіанти здійснення, описані в даному документі, передбачають нові способи для сигналізації відправки вихідних блоків в множині блоків фізичного рівня, як для потокової передачі, так і для додатків з доставкою об'єктів. Ці способи сигналізації містять способи, які використовують мінімальні додаткові службові сигнали, і у деяких випадках ніяких службових сигналів, щоб сигналізувати вихідні блоки, що перемежовуються в блоці фізичного рівня, сигналізуючи, як зв'язані символи з вихідними блоками, з яких вони сформовані, і сигналізованою відправкою і вказівкою пріоритетних даних для вихідних блоків. Додаткові способи описані для організації і відправки потоків по одному або більше каналах, які поліпшують якість потоків, 95881 8 що доставляються, тоді як мінімізують або поліпшують необхідну величину ресурсів каналу і необхідні ресурси потужності приймача. Надалі мережа, що передає дані, допускається на основі пакетів для того, щоб спростити описи в даному документі, з визнанням, що фахівець в даній галузі техніки може легко побачити, як процеси і способи, описані в даному документі, можуть використовуватися для інших типів мереж передачі, наприклад, безперервні мережі потоків бітів. Надалі FEC-коди допускаються для надання захисту відносно втрачених пакетів або втрачених часткових даних в пакетах, для того, щоб спростити описи в даному документі, з визнанням, що фахівець в даній галузі техніки може легко побачити, як процеси і способи, описані в даному документі, можуть застосовуватися для інших типів пошкодження передачі даних, наприклад, побітових обробок. Фіг. 1 є блок-схемою системи 100 зв'язку, яка використовує кодування ланцюгової реакції. У системі 100 зв'язку вхідний файл 101 або вхідний потік 105 надається в генератор 110 вхідних символів. Генератор 110 вхідних символів формує послідовність одного або більше вхідних символів (IS(0), IS(1), IS(2), ...) з вхідного файлу або потоку, з кожним вхідним символом, який має значення і положення (позначене на Фіг. 1 як взяте в дужки ціле число). Можливі значення для вхідних симвоМ лів, тобто, його алфавіт, є типово алфавітом з 2 символів, так, що кожен вхідний символ кодується для Μ бітів з вхідного файлу. Значення Μ загалом визначається за допомогою використання системи 100 зв'язку, але система загального призначення може включати в себе введення розміру символів для генератора 110 вхідних символів, так, щоб Μ могла змінюватися від одного варіанту використання до іншого варіанту використання. Виведення 110 вхідних символів надається для кодера 115. Генератор 120 ключів формує ключ для кожного вихідного символу, який повинен формуватися кодером 115. Кожен ключ формується згідно з одним зі способів, описаних в Luby І або в Shokrollahi І, або будь-якому порівняному способу, який гарантує, що велика частина ключів, що формуються для того ж вхідного файлу або блока даних в потоці є унікальною, чи формуються вони цим або іншим генератором ключів. Наприклад, генератор 120 ключів може використати поєднання виведення лічильника125, унікальний ідентифікатор 130 потоку і/або виведення генератора135 випадкових чисел для створення кожного ключа. Виведення 120 ключів надається для кодера 115. У інших прикладах, наприклад, деякі потокові додатки, набір ключів може бути фіксованим і знову повторно використовуватися для кожного блока даних в потоку. Від кожного ключа І, наданого генератором 120 ключів, кодер 115 формує вихідні символи, зі значенням В(І) з вхідних символів, наданих генератором вхідних символів. Значення кожного вихідного символу формується на основі свого ключа і деякої функції одного або більше вхідних символів, що згадується в даному документі як "асоційовані вхідні символи" вихідного символу або просто 9 його "асоційовані з ним". Типово, але не завжди, Μ є тим же самим для вхідних символів і вихідних символів, тобто, вони обидва кодуються для того ж самого числа бітів. У деяких варіантах здійснення число K вхідних символів використовується кодером для вибору асоційованих з ним. Якщо K не є відомим заздалегідь, наприклад, де введення є потоком і K може змінюватися між коленим блоком в потоку, K може бути тільки оцінкою. Значення K може також використовуватися кодером 115 для призначення пам'яті для вхідних символів. Кодер 115 надає вихідні символи для передавального модуля 140. Передавальному модулю 140 також надається ключ кожного подібного вихідного символу від генератора 120 ключів. Передавальний модуль 140 передає вихідні символи і в залежності від використовуваного способу маніпуляції, передавальний модуль 140 може також передавати деякі дані про ключі переданих вихідних символів, по каналу 145 в приймальний модуль 150. Канал 145 передбачається як канал зі стиранням, але це не є вимогою для правильної роботи системи 100 зв'язку. Модулі 140, 145 і 150 можуть бути будь-якими відповідними компонентами апаратного забезпечення, компонентами програмного забезпечення, фізичним середовищем або будь-яким їх поєднанням, оскільки передавальний модуль 140 пристосовується для передачі вихідних символів і будь-яких необхідних даних про їх ключі в канал 145 і приймальний модуль 150 пристосовується для прийому символів і потенційно деяких даних про їх ключі з каналу 145. Значення K, якщо використовується для визначення асоційованих з ним, може відправлятися по каналу 145, або воно може бути встановлене заздалегідь за допомогою узгодження кодера 115 і декодера 155. Канал 145 може бути каналом в реальному часі, наприклад, шлях через Інтернет або широкомовний канал зв'язку з телевізійного передавача в телевізійний приймач, або телефонне з'єднання з однієї точки в іншу, або канал 145 може бути каналом із запам'ятовуванням, наприклад, CD-ROM (компакт-диск), дисководом, веб-сайтом або тому подібним. Канал 145 може бути навіть поєднанням каналу в реальному часі і каналом із запам'ятовуванням, наприклад, каналом, що створюється, коли одна людина передає вхідний файл з персонального комп'ютера постачальнику послуг Інтернету (ISP) по телефонній лінії, вхідний файл зберігається на веб-сервері і послідовно передається одержувачу по Інтернету. Там, де канал 145 містить пакетну мережу, система 100 зв'язку не може допускати, що відносний порядок будь-яких двох або більше пакеті зберігається при передачі за допомогою каналу 145. Отже, ключ вихідних символів визначається, використовуючи одну або більше схем маніпулювання, описаних вище, і не обов'язково визначається порядком, в якому вихідні символи виходять з приймального модуля 150. Приймальний модуль 150 передбачає вихідні символи в декодер 155, і будь-які дані, які приймальний модуль 150 приймає про ключі цих вихідних 95881 10 символів, надаються в регенератор 160 ключів. Регенератор 160 ключів повторно формує ключі для прийнятих вихідних символів і надає ці ключі в декодер 155. Декодер 155 використовує ключі, що надаються регенератором 160 ключів разом з відповідними вихідними символами, для відновлення вхідних символів (знову IS(0), IS(1), IS(2), ...). Декодер 155 надає відновлені вхідні символи в повторний транслятор 165 вхідного файлу, який формує копію 170 вхідного файлу 101 або копію 175 вхідного потоку 105. Коли використовуються в додатках потокових мультимедіа, вихідні пакети, що створюють вихідний потік мультимедіа, іноді збираються в групи, що називаються вихідними блоками. Наприклад, вихідний блок може бути групою вихідних пакетів, що охоплюють фіксовану тривалість часу, і, наприклад, код стирання Ріда-Соломона може використовуватися незалежно від цих вихідних блоків для формування пакетів відновлення, які відправляються разом з первинними пакетами джерела вихідного блока в приймачі. У відправнику вихідний потік може безперервно розбиватися на вихідні блоки як надходять пакети джерела, і потім пакети відновлення формуються для кожного вихідного блока і відправляються. Переважно, мінімізувати загальну наскрізну затримку, що додається використанням FEC-кодів, особливо, для живих або інтерактивних потокових додатків, і, таким чином, переважно, якщо загальна схема рішення FEC існує з умови, що пакети джерела затримуються настільки незначно, наскільки можливо у відправнику до відправки, і всі пакети джерела і пакети відновлення для вихідного блока відправляються з настільки незначною затримкою, наскільки можливо. Також переважно, якщо швидкість FEC-кодованого потоку, що є настільки згладженою, наскільки можливо, тобто, існує настільки незначна мінливість, наскільки можливо в швидкості FEC-кодованого потоку або щонайменше немає посилення будь-якої мінливості, яка вже існує в первинному вихідному потоці, оскільки це робить використання діапазону частот FEC-кодованого потоку більш прогнозованим і мінімізує вплив по мережі і на інші, можливо, конкуруючі потоки. Також переважно, якщо дані, які відправляються, в пакетах для вихідного блока, поширюються настільки рівномірно, наскільки можливо протягом проміжку часу, коли пакети відправляються для цього вихідного блока, оскільки це передбачає найкращий захист відносно втрат пакетів. У приймачі, якщо пакети втрачені або прийняті з помилками (які можуть бути виявлені і відкинуті, наприклад, використовуючи CRC-контроль), потім, допускаючи, що достатньо пакетів відновлення прийнято, пакети відновлення можуть використовуватися для відновлення одного або більше з втрачених вихідних пакетів. У деяких додатках, пакети додатково поділяються на символи, до яких застосовується FECобробка. Для деяких FEC-кодів, особливо, кодів Ріда-Соломона, час кодування і декодування непрактично збільшується, оскільки число символів кодування на кожен вихідний блок збільшується і 11 часто існує верхня межа по загальному числу символів кодування, чим може бути сформовано на кожен вихідний блок. Оскільки символи загалом вміщуються в різні корисні навантаження пакетів, коли використовуються в прикладному рівні, це поміщає практичну верхню межу на максимальній тривалості кодування вихідного блока і це також природно, верхня межа по розміру самого вихідного блока. Для багатьох додатків, коли повинен надаватися захист протягом тривалого проміжку часу або, коли швидкість мультимедійної потокової передачі є високою, може бути вигідно надавати захист по більшому розміру вихідного блока, чим може підтримуватися за допомогою передачі одного символу на кожен пакет. У цих випадках використання більш коротких вихідних блоків і потім перемежовування вихідних пакетів з різних вихідних блоків передбачає рішення, де вихідні пакети від окремого вихідного блока розповсюджуються протягом великих проміжків часу. Іншим пов'язаним способом є створення більшого вихідного блока з довших символів, які не підходять пакетам, і розділення символів на підсимволи, які можуть вміщуватися в послідовні пакети. Використовуючи цей спосіб, великі вихідні блоки можуть підтримуватися, за рахунок отримання потенційно іншої втрати підсимволів або шаблонів пошкоджень для символу. Проте, в багатьох випадках, де канал показує нерівномірне або сильне корельоване пошкодження, втрата або пошкодження підсимволів, що містять символ, є сильно корельованим, і таким чином, іноді існує невелике погіршення FEC-захисту, передбаченого, коли використовують цей спосіб. Термінологія Коди FEC У цьому описі, передбачаємо, що дані, які необхідно кодувати (вихідні дані) розбиті на "символи" рівної довжини, які можуть бути будь-якої довжини (аж до єдиного біта). Символи можуть передаватися по мережі передачі даних в пакетах, із загальним числом символів, що явно передаються або маються на увазі в кожному пакеті. У деяких випадках можливо, що вихідний пакет не є кратним довжині символів, у разі яких останній символ в пакеті може бути відкинутий. У цьому випадку для цілей FEC-кодування цей останній символ неявно передбачається як заповнений фіксованим шаблоном бітів, наприклад, біти з нульовими значеннями, так, щоб хоча ці біти не передаються в пакеті, приймач може все ще заповнювати цей останній відкинутий символ до повного символу. У інших варіантах здійснення фіксований шаблон бітів може розміщуватися в пакеті, таким чином, ефективно заповнюючи символи до довжини, що дорівнює довжині пакету. Розмір символу може часто вимірюватися в бітах, де символ має розмір з Μ бітів і символ вибирається з алфавіту з М 2 символів. Недвійкові розряди також розглядаються, але двійкові розряди є переважними, оскільки вони звичайно використовуються. FEC-коди, що розглядаються відносно потокової передачі в даному документі, звичайно є систематичними FEC-кодами, тобто, вихідні символи 95881 12 вихідного блока включені як частина кодування вихідного блока і, таким чином, передаються вихідні символи. Систематичний FEC-код потім формує з вихідного блока вихідного символу деяке число символів відновлення, і потім поєднання вихідних символів і символів відновлення є символами кодування, які відправляються для вихідного блока. Деякі з FEC-кодів мають можливість ефективно формувати стільки символів відновлення, скільки необхідно. Подібні коди згадуються як "інформаційні адитивні коди" і як "коди джерела", і приклади ' цих кодів включають в себе "коди ланцюгової реакції" і "баготокаскадні коди ланцюгової реакції". Інші FEC-коди, наприклад, коди РідаСоломона можуть практично лише формувати обмежене число символів відновлення з обмеженого числа вихідних символів. Для цих типів кодів вихідний блок може все ще бути відносно великим, в якому вихідний блок розбивається на символи досить великого розміру так, щоб число вихідних символів вихідного блока знаходилося майже на верхній межі по практичному числу вихідних символів, і з умови, щоб бажане число символів відновлення, що формуються з вихідного блока, знаходилося майже біля верхній межі по практичному числу символів відновлення. У деяких випадках, коли ці символи більше, ніж відповідний розмір для передачі пакетів фізичного рівня, символи можуть додатково розбиватися на підсимволи, які можуть окремо передаватися в подібних пакетах. Для спрощення подальших описів, символи типово описані як неподільні одиниці, тоді як в багатьох випадках символи можуть складатися з множини підсимволів, при цьому розуміння в тому, що символи можуть розділятися на підсимволи в описах і результуючі способи і процеси є абсолютно аналогічними описам, які використовують символи. Існує багато інших способів для передачі символів в пакетах, і хоча описи нижче використовують цей приклад для простоти, він не має на увазі бути обмежуючими або вичерпним. У контексті описів нижче, термін "пакет" не призначений бути обмеженим, щоб означати буквально, те, що відправляється, як єдина одиниця даних. Замість цього, він означає включення більш широкого поняття, яке визначає логічне угрупування символів і часткових символів, які можуть або не можуть відправлятися як єдина одиниця даних. Існують також види пошкодження даних, інші, ніж втрата символів, наприклад, символи, які при передачі змінюють своє значення або пошкоджуються іншими способами, до яким так само застосовуються описані нижче способи. Таким чином, хоча описи нижче часто описують втрату символів, способи однаково добре застосовуються для інших типів пошкодження і до інших типів FEC-кодів крім кодів стирання FEC, наприклад, FEC-коди корекції помилок і FEC-коди контрольної суми, і FEC-коди перевірки. Потокова передача Для цілей надання захисту FEC вихідного потоку, вихідний потік може бути поєднанням одного або більше логічних потоків, приклади яких є по 13 єднанням аудіо RTP-потоку і відео RTP-потоку, поєднання MIKEY потоку і RTP-потоку, поєднання двох або більше відеопотоків, і поєднання керуючого RTCP-трафіка і RTP-потоку. Оскільки вихідний потік досягає відправника, в форматі, який, наприклад, є вихідним потоком бітів, вихідним потоком символів або вихідним потоком пакетів, відправник може буферизувати потік в вихідні блоки і формувати потік відновлення від вихідних блоків. Відправник планує і відправляє вихідний потік і потік виправлень, наприклад, в пакетах, які повинні відправлятися по пакетній мережі. FECкодований потік с комбінованим вихідним потоком і потоком відновлення. Приймач приймає FECкодований потік, який може бути пошкоджений, наприклад, через втрати або побітові обробки. Приймач намагається відновити частини або все з первинних вихідних блоків вихідного потоку і робить доступним для, наприклад, медіаплеєра ці відновлені частини первинного вихідного потоку в приймачі. Для потокового додатку, існує декілька ключових параметрів, які є входами в проект, як використати FEC-коди для захисту вихідного потоку і декілька ключових показників, які типово важливо оптимізувати. Два ключових вхідних параметра в схемі є проміжком захисту і величиною захисту. Проміжок захисту відправника для вихідного блока є тривалістю часу, протягом якого символи, що формуються з цього вихідного блока, відправляються. Величина захисту для вихідного блока є числом символів відновлення FEC, що відправляються для вихідного блока, виражене як частина або процентне відношення числа вихідних символів в вихідному блоці. Наприклад, якщо проміжок захисту дорівнює 2 секундам і величина захисту дорівнює 20% і існує 10000 вихідних символів в вихідному блоці, тоді 10000 вихідних символів і 2000 символів відновлення для вихідного блока відправляються поширеними протягом інтервалу часу в 2 секунди. Як проміжок захисту, так і величина захисту на кожен вихідний блок можуть змінюватися від одного вихідного блока до наступного. Наприклад, коли вихідний блок, переважно, не розповсюджується між певними вихідними пакетами в вихідному потоку, наприклад, коли перший пакет є останнім пакетом групи зображень (GOP) у відеопотоці MPEG2 і другий послідовний пакет є першим пакетом наступної GOP, тоді вихідний блок може бути перерваний після першого пакету і до другого пакету, навіть, якщо це відбувається до закінчення проміжку захисту. Це дозволяє блоку захисту FEC з'єднуватися з блоком відеокодування, який може мати багато переваг, включаючи перевагу, що час очікування приймача через відеобуферизацію і FEC-буферизацію може бути мінімізований. У інших додатках може бути вигідним через множину причин завжди підтримувати той же самий проміжок захисту і/або розмір вихідного блока для кожного подальшого вихідного блока. У багатьох описах нижче для простоти і проміжок захисту, і величина захисту допускаються як ті ж самі для кожного подальшого вихідного блока. Для фахівців в даній галузі техніки повинно бути зро 95881 14 зуміло, що це не є обмежуючим, як фахівець може легко визначити при прочитанні цього винаходу, як процеси і способи, описані в даній заявці, також використовуються, коли або величина захисту, або проміжок захисту, або обидва змінюються від одного вихідного блока до наступного, і, коли розміри вихідних блоків змінюються від одного до наступного. Для того, щоб спростити деякі з подальших обговорень, часто допускається, що вихідні символи первинного потоку надходять у відправник, який повинен здійснювати FEC-кодування при постійній швидкості, і, що, якщо приймач спочатку робить вихідні символи доступним в приймачі, тоді подальші вихідні символи зроблені доступними за допомогою приймача при тій же самій постійній швидкості, допускаючи, що в першому вихідному блоці, від якого прийнятий вихідний символ, немає втрати вихідного символу і в кожному подальшому вихідному блоці втрата символу кодування є не більшою, ніж максимально можлива, щоб дозволити успішне FEC-декодування. Це допущення спрощення не обов'язково властиве при функціонуванні або проектуванні процесів і способів, описаних послідовно і не має на увазі бути обмежуючими ці процеси для цього допущення будь-яким чином, але представлено тільки як засіб для спрощення деяких з описів властивостей процесів і способів. Наприклад, для потоків зі змінною швидкістю відповідна умова в тому, що вихідні символи зроблені доступними приймачем при тій же самій або близькій до тієї ж самої швидкості, як вони досягають відправника. Деякі ключові показники важливі для мінімізації включення часу очікування відправника, яке є часом очікування, представленим відправником. Мінімізація часу очікування відправника є бажаною метою для деяких додатків, наприклад, потокова передача живого відео або інтерактивні додатки, наприклад, проведення відеоконференцій. Один аспект загальної схеми, який допомагає мінімізувати час очікування відправника, існує для відправника, щоб відправляти вихідні символи в тому ж самому порядку, як вони надходять у відправник. Інші аспекти схеми, які мінімізують час очікування відправника, описані пізніше. Іншим важливим показником є час перемикання каналу. Цей час між тим, коли приймач приєднується або запитує потік і спочатку починає прийом символів кодування від потоку, доти, доки час, коли приймач спочатку робить доступним вихідні символи з потоку. Загалом, бажано мінімізувати час перемикання каналу, оскільки це мінімізує вимоги до пам'яті в приймачі для зберігання символів до того, як вони декодовані і передані приймачем, і це також мінімізує величину часу між тим, коли до потоку приєдналися і, коли потік спочатку починає ставати доступним, наприклад, для відтворення відеопотоку. Для багатьох відомих систем, один важливий аспект мінімізації часу перемикання каналу існує для відправника для підтримки первинного порядку відправки вихідних символів. У подальшому розділі опишемо нові способи розташування і кодування вихідних символів в блоці, щоб застосо 15 вувати FEC-коди, і для відправки даних,що кодуються для кожного вихідного блока способами, які мінімізують проміжки часу перемикання каналу. Як тепер описуємо, для багатьох відомих систем час перемикання каналу типово містить множину компонентів. Приклад цих компонентів для потоку, який розбивається на послідовні вихідні блоки, показаний на Фіг. 2. Фіг. 2 показує схему, яка може використовуватися в класичному використанні IPTV, де існує єдиний вихідний блок на кожен проміжок захисту, де символи відновлення на кожен вихідний блок відправляються тільки після вихідних символів для цього вихідного блока, і приклад показує випадок, де приймач з'єднується з потоком на початку вихідного блока. Два компоненти часу перемикання каналу в цьому прикладі є проміжком захисту і часом очікування декодування. Проміжок захисту приймача є часом, протягом якого приймач буферизує прийняті символи кодування від вихідного блока. Потрібно помітити, що проміжок захисту відправника і проміжок захисту приймача є тими ж самими, якщо канал між відправником і приймачем не має будь-якої зміни в термінах величини часу, яка необхідна кожному біту, байту, символу або пакету для переміщення від відправника в приймач. Таким чином, на практиці проміжок захисту відправника може відрізнятися від проміжку захисту приймача для того ж самого вихідного блока через мережеві зміни синхронізації в доставці. Для спрощення опису надалі передбачаємо, що проміжок захисту відправника і проміжок захисту приймача є тими ж самими для кожного вихідного блока, і використовуємо термін "проміжок захисту" синонімічно для проміжку захисту відправника і проміжку захисту приймача, тобто, передбачаємо, що час мережевої доставки є тим же самим для всіх даних і зазначається, що фахівець в даній галузі техніки може здійснити необхідні зміни для способів і пристрою, описаних в даному документі, щоб брати до уваги відмінності в проміжках захисту відправника і приймача через флуктуації мережевої доставки. Компонент проміжку захисту часу очікування приймача є неминучим в цих відомих системах, оскільки, навіть, якщо в першому вихідному блоці немає втрати будь-яких вихідних символів, потрібно все ще затримати надання доступності вихідних символів для щонайменше проміжку захисту для того, щоб гарантувати згладжену доставку вихідних символів з всіх послідовних вихідних символів, коли існує втрата символів кодування в послідовних вихідних блоках. Протягом проміжку захисту деякі або більшість або все з FEC-декодування вихідного блока може відбуватися паралельно з прийомом символів кодування. У кінці проміжку захисту може існувати додаткове FECдекодування, яке відбувається до того, як перший вихідний символ вихідного блока доступний з приймача, і цей проміжок часу маркірується як час очікування декодування на Фіг. 2. Крім того, навіть після того, як перший вихідний символ доступний, може існувати додаткове FEC-декодування, яке відбувається до того, як другий і подальші вихідні символи вихідного блока доступні. Для простоти, це додаткове FEC-декодування не показане на 95881 16 Фіг. 2, і передбачається в цьому прикладі, що існують досить доступні CPU-ресурси для декодування всіх вихідних символів після першого при досить великій швидкості. У цих відомих системах, коли приймачу трапляється приєднатися до потоку в середині вихідного блока, тоді час перемикання каналу може бути настільки малим, як проміжок захисту, включаючи час очікування декодування, коли немає втрати вихідних символів з цього першого часткового вихідного блока, поки порядок первинної відправки пакетів джерела підтримується відправником. Таким чином, для цих відомих систем, для відправника бажано зберігати первинний порядок відправки вихідних символів. Іншою метою способу потокової передачі є мінімізація крізного часу очікування FEC, який є найгіршим випадком загального часу очікування, представленого використанням FEC тим часом, коли вихідний пакет готовий для потокової передачі у відправнику до того, як застосовується FECкодування і, коли він доступний для відтворення в приймачі після того, як використано FECдекодування. Іншою метою способу потокової передачі є мінімізація флуктуацій в швидкості відправки, коли використовується FEC. Одна причина для цієї мети існує в тому, що в пакетних мережах потоки з коливною швидкістю відправки є більш сприйнятливими до втрати пакетів через перевантаження або переповнення буфера, коли максимуми в швидкості відправки потоку співпадають з максимумами в іншому трафіку в точках в мережі з обмеженою пропускною здатністю. У мінімумі флуктуації в швидкості FEC-кодованого потоку повинні бути не гірші, ніж флуктуації в швидкості первинного вихідного потоку, і, переважно, чим більше FECзахисту застосовується до первинного вихідного потоку, флуктуації в швидкості FEC-кодованого потоку стають меншими. Як окремий випадок, якщо первинний потік відправляє при постійній швидкості, тоді FEC-кодований потік повинен також відправляти при швидкості, яка настільки близька, наскільки можливо, до постійної. Іншою метою способу потокової передачі є можливість використати настільки просту логіку, наскільки можливо в приймачі. Це важливо в багатьох контекстах, оскільки приймач може бути вбудований в пристрій з обмеженими обчислювальними можливостями, запам'ятовуючими можливостями і можливостями інших ресурсів. Крім того, в деяких випадках може бути значна втрата або пошкодження символів в передачі, і таким чином, приймач може зуміти відновити з катастрофічної втрати або сценаріїв пошкоджень, де коли умови поліпшуються, існує незначний контекст або немає контексту для розуміння, звідки в потоці продовжується прийом. Таким чином, чим простіша і більш надійна логіка приймача, тим швидше і надійніше приймач зможе запустити відновлення і надати знов вихідні символи вихідного потоку з прийому потоку. Коли FEC-кодовані дані, які необхідно відіслати для одного вихідного блока, відправляються поширюваними протягом більшого проміжку часу, 17 які перемежовуються з даними, що відправляються для інших вихідних блоків, відправка FECкодованих даних для вихідного блока повинна передаватися настільки рівномірно протягом часу, наскільки можливо, щоб гарантувати найкращий можливий захист відносно втрати або пошкодження в каналі. Відправка даних для вихідного блока повинна бути з умови, щоб приймач міг відновити вихідні дані вихідного блока в певному пріоритетному порядку доречним чином. Дані, які відправляються, для потоку, повинні відправлятися з настільки незначною інформацією заголовка, асоційованою з потоком, наскільки можливо, для того, щоб мінімізувати службові сигнали заголовка. Переважно, щоб ніяка інформація заголовка не відправлялася з потоком, і деяка або вся інформація заголовка добувалася з або вже була доступною з іншої інформації, вбудованої в систему, і/або деякі або вся інформація заголовка може логічно добуватися з іншої інформації, наприклад, синхронізація прибуття інформації в приймачі. У наступному розділі опишемо способи, процеси і пристрій, які задовольняють деякі або всі з цих цілей. Способи і процеси поліпшеної відправки і прийому У деяких випадках дані, які повинні бути доставлені як блок, можуть розташовуватися відповідно до пріоритету. У інших випадках дані, які повинні бути доставлені як блок, не обов'язково повинні бути розташовані відповідно до пріоритету. У будь-якому випадку первинний потік даних розбивається на вихідні блоки, дані відновлення FEC формуються для коленого подібного вихідного блока, і потім кодовані дані для кожного подібного вихідного блока, що містять дані первинного вихідного блока і дані відновлення FEC, що формуються з цього вихідного блока, розповсюджуються протягом більшого часу, ніж первинний час завершення вихідного блока (і, таким чином, кодовані дані для подальших вихідних блоків перемежовуються один з одним). У цих випадках використовувані FEC-коди можуть бути кодами стирання, які захищають дані в потоку відносно втрати даних до бажаної величини захисту, хоча інші типи FECкодів також розглядаються, наприклад, FEC-коди, які є кодами з корекцією помилок, або FEC-коди, які можуть використовуватися для перевірки цілісності даних. У цих випадках, чим більший проміжок часу, протягом якого кодовані дані для кожного вихідного блока потоку відправляються, називається проміжком захисту, і чим більш рівним чином кодовані дані розповсюджуються по проміжку захисту, тим кращий рівень захисту відносно втрати пакетів, наданої FEC-кодом прикладного рівня. У одному варіанті здійснення даного винаходу відправка кодованих даних відправляється в фізичному каналі частинами рівного розміру, наприклад, кожен в 120 байт, в даному документі названі пакети фізичного рівня. Пакети фізичного рівня можуть мати FEC-код фізичного рівня, що використовується для них для того, щоб захищати кожен пакет фізичного рівня від пошкоджень. У деяких 95881 18 випадках число пакетів фізичного рівня розбивається на інтервали рівних чисел пакетів фізичного рівня на кожен інтервал, наприклад, 512 пакетів фізичного рівня. Протоколи в фізичному рівні можуть іноді використовуватися для відмінності і однозначної ідентифікації пакетів фізичного рівня в кожному тимчасовому інтервалі. У цих випадках FEC-символи можуть перетворюватися безпосередньо в пакети фізичного рівня, і крім того, ідентифікація символів яких передається, в яких пакети фізичного рівня можуть здебільшого або повністю визначатися способом визначення ідентифікації пакетів фізичного рівня, пом'якшуючи необхідність або повністю усуваючи необхідність для передачі даних ідентифікації символів в кожному пакеті фізичного рівня разом з даними символів. У деяких випадках часткова величина даних ідентифікації символів або деяка інформація про те, з якої частини потоку або вихідного блока був сформований символ, переважно, передається в пакеті фізичного рівня разом з символом. Наприклад, для пакету фізичного рівня 121 байта, може бути 1 байт подібних даних ідентифікації символів і розмір символу може бути 120 байтами, що залишилися, тоді як для повного визначення, як був сформований символ з первинних вихідних потоків може бути з поєднання даних ідентифікації символів, що передаються в пакеті фізичного рівня разом з символом, і спосіб, яким однозначно ідентифікується пакет фізичного рівня, наприклад, за допомогою положення пакету фізичного рівня в кадрі, і/або за допомогою ідентифікатора кадру, що містить пакет фізичного рівня, і/або за допомогою синхронізації прийому пакету фізичного рівня і/або кадру, що містить пакет фізичного рівня. Наприклад, ідентифікатор в 1 байт може ідентифікувати частину вихідного блока, до якого належить символ, де, наприклад, різні частини вихідного блока маркуються для указування пріоритету, який має дані, частиною яких є частина вихідного блока, і/або маркуються для указування того, до якого потоку з множини потоків належить вихідний символ. Певні поліпшення можуть бути зроблені для вищезгаданого процесу, якщо пакети відновлення відправляються заздалегідь з вихідних пакетів, наприклад, як описано в "FEC Streaming". Цей підхід має ціну введення додаткової затримки у відправнику, оскільки вихідні пакети загалом зберігаються в буфері, які необхідно відіслати після пакетів відновлення. Як інший приклад дані відновлення можуть бути сформовані або з усього, або частин вихідного блока. Наприклад, частини даних відновлення можуть бути сформовані з цілого вихідного блока, інші частини можуть бути сформовані з одного або більше інших рівнів пріоритету вихідного блока. Якщо існують ідентифікуючі дані символів, що передаються з символом в пакеті фізичного рівня або пакеті прикладного рівня, який може розповсюджуватися на більше, ніж один пакет фізичного рівня, тоді частина цих ідентифікуючих даних символів для символу відновлення може ідентифікувати, з яких частин вихідного блока вони сформовані. Способи сигналізації 19 У деяких варіантах здійснення для кожного символу дані заголовка, асоційовані з символом, наприклад, один байт даних заголовка, можуть використовуватися для сигналізації інформації про цей символ, наприклад, ідентифікатор потоку, якщо існує більше, ніж один потік, ідентифікатор сегмента, якщо вихідний блок повинен відправлятися в більше, ніж один блок фізичного рівня, ідентифікатор підблоків, якщо вихідний блок містить множину підблоків, положення символу в вихідному блоці згідно з розташуванням символів з символів в вихідному блоці і т. д. В деяких варіантах здійснення деякі або всі дані заголовка можуть відправлятися з кожним символом в пакетах фізичного рівня. У інших варіантах здійснення дані заголовка для кожного символу в основному або загалом добуваються з іншої інформації і незначні або ніякі дані заголовка не відправляються з кожним символом в пакетах фізичного рівня. Символи у вихідному блоці Переважно, щоб розташування символів вихідного блока або явно, або неявно визначалося і було тим же самим розташуванням у відправнику як і в приймачі. Певні інші переважні властивості по розташуванню є іноді вигідними для потокової передачі або додатку доставки об'єктів. Переважна властивість, наприклад, може бути такою, що розташування символів для вихідного блока має всі вихідні символи першими в розташуванні, за яким йдуть всі символи відновлення. Іншим прикладом є те, що символи знаходяться в порядку, що визначається структурою підблоків вихідного блока, наприклад, всі символи, асоційовані з першим підблоком вихідного блока, є першими в розташуванні, всі символи, асоційовані з другим підблоком вихідного блока, є другими в розташуванні і т. д. Як описано раніше, символи можуть також містити множину підсимволів. ESI у вихідному блоці ESI (ідентифікатор кодованого символу) є будь-яким ідентифікатором, який визначає в деяких випадках в зв'язку з іншою інформацією, наприклад, число вихідних символів в вихідному блоці, як символ формується з вихідного блока. ESI може явно використовуватися у відправнику для формування символів або в приймачі для ідентифікації і/або відновлення символів, або ESI може неявно використовуватися. Переважно, щоб символи для кожного вихідного блока розташовувалися таким чином, щоб відправник і приймач могли визначати ESI для вказаного символу з положення цього символу в розташуванні символів. Наприклад, якщо символ є j-тим символом в розташуванні символів для вихідного блока, це може бути випадком, що ESI для цього символу дорівнює j, де j є позитивним цілим числом. Переважно, але не виключно, щоб перетворення між ESI символом і розташуванням символів могло легко обчислюватися як за допомогою відправника, так і приймача. Наприклад, послідовні ESI для розташованого набору з символів можуть бути 0, 1, 2, 3,..., j, j+1 і т. д., тобто, ESI є послідовними цілими значеннями, що починаються в нулі і, таким чином, положення символу є тим же самим, що і ESI в цьому випадку. Як інший прик 95881 20 лад, послідовні ESI для розташованого набору символів можуть бути 5, 10, 15, 20,..., 5*j, 5*(j+1) і т. д. Існує багато інших способів для визначення перетворення ESI в розташований набір з символів, які дозволяють і відправнику, і приймачу визначити ESI для вказаного символу, при умові положення символу в розташуванні символів. Переважно, щоб послідовність ESI, яку легко обчислити з допомогою як відправника, так і приймача, могла використовуватися для вираження розташування символів для символів, асоційованих з вихідним блоком. Пакети фізичного рівня в блоці фізичного рівня Коли пакети фізичного рівня відправляються в блоках фізичного рівня, розташування пакетів фізичного рівня в блоці фізичного рівня може часто визначатися за допомогою властивостей загальної архітектури. Більш того, диференціювання одного блока фізичного рівня від іншого блока фізичного рівня може визначатися за допомогою відправника і приймача, наприклад, на основі інформації синхронізації і сигналізації фізичного рівня. Розташовані символи можуть перетворюватися в пакети фізичного рівня, використовуючи безліч різних способів, включаючи лінійно достовірне перетворення, або використання перетворення, яке гарантує, що послідовні символи перетворюються в пакети фізичного рівня, які відправляються різним у часі чином у відправці блока фізичного рівня, наприклад, кожен послідовний символ перетворюється в пакет фізичного рівня, який відправляється в іншому квадранті часу відправки блока фізичного рівня, або послідовні символи перетворюються в пакети фізичного рівня, які відправляються за допомогою наборів частот, що сильно розходяться. Розташований набір символів, який повинен відправлятися в блоці фізичного рівня, може містити символи, асоційовані з ідентифікатором першого сегмента, за яким йдуть символи, асоційовані з ідентифікатором другого сегмента, за яким йдуть символи, асоційовані з ідентифікатором третього сегмента і т. д., де загальне число ідентифікаторів сегмента може бути одним або більше. Серед символів, асоційованих з ідентифікатором кожного сегмента, символи можуть розташовуватися за допомогою ESI, що послідовно збільшуються. Переважною властивістю є те, що перетворення між розташованими символами і пакетами фізичного рівня в блоці фізичного рівня є відомим (або явно, або неявно) і легко визначити за допомогою відправників і приймачів. Як описано раніше, символи можуть складатися з множини підсимволів, при цьому кожен пакет фізичного рівня може передавати один або більше підсимволів, але не може бути досить великим для передачі символу. У цих випадках, попередній опис способів і процесів для перетворення символів в пакети фізичного рівня може бути легко поправлений, щоб брати до уваги додатковий розгляд. Наприклад, ESI може бути поправлений для ідентифікації не тільки символів, але також конкретних підсимволів в символі, наприклад, ESI є ідентифікатором як символу, так і підсимволу. Як інший приклад перетворення може бути з умови, щоб підсимволи символу завжди відправлялися 21 послідовно, і перетворення з розташованих символів в пакет фізичного рівня ідентифікувало пакет фізичного рівня, який передає перший підсимвол з символу. У деяких випадках велика величина даних сигналізації може бути доступною в блоках фізичного рівня, наприклад, можливість добувати ESI з символів або положень символів в розташуванні символів з положень пакетів фізичного рівня в блоках фізичного рівня, ідентифікатор блока фізичного рівня і іншу інформацію, що передається в інформації заголовка блока фізичного рівня. У деяких варіантах здійснення даного винаходу один символ, або вихідний, або символ відновлення, передається в кожному пакеті фізичного рівня разом з мінімальною величиною даних ідентифікації заголовка. Розташований набір з символів для вихідного блока перетворюється послідовно в пакети фізичного рівня в блоці фізичного рівня, використовуючи процес, який відомий як для відправника, так і для приймача. Наприклад, розташований набір з 512 символів може перетворюватися в 512 пакетів фізичного рівня послідовно. Розташування символів може визначатися в приймачі і передаватися в приймач або явно з діапазону, або, переважно, неявно між відправником і приймачем за допомогою заздалегідь певних процесів, які визначають розташування символів для кожного блока. Коли символи від більше, ніж одного вихідного блока повинні перетворюватися в пакети фізичного рівня в тому ж самому блоці фізичного рівня, якщо вихідні блоки впорядковані, тоді упорядкування символів відносно кожного вихідного блока разом з упорядкуванням вихідних блоків може використовуватися для визначення упорядкування всіх символів, які треба перетворити в пакет фізичного рівня в блоці фізичного рівня. У інших варіантах здійснення множини символів передається в кожному пакеті фізичного рівня. До того ж, в інших варіантах здійснення символ може охоплювати більше, ніж один пакет фізичного рівня, наприклад, коли символи розділяються на підсимволи і кожен підсимвол передається в пакеті фізичного рівня. Як визнає фахівець в даній галузі техніки, процеси і способи, описані в даному документі, можуть також застосовуватися до цих інших варіантів здійснення. У деяких варіантах здійснення блок фізичного рівня може бути блоком в іншому рівні, наприклад, логічний блок або дані, або блок даних, заданий додатком, або транспортний блок, або блок мультимедійного рівня. Крім того, пакети фізичного рівня можуть бути транспортними пакетами або логічними пакетами, або прикладними пакетами, або пакетами мультимедійного рівня. Як визнає фахівець в даній галузі техніки, існує багато необхідних еквівалентних варіантів цих варіантів здійснення. Сегменти Вихідні символи і символи відновлення, асоційовані з вихідним блоком, можуть відправлятися в більше, ніж одному блоці фізичного рівня. Ідентифікатор сегмента вихідного символу або символу відновлення може використовуватися для указування, в який блок фізичного рівня передається 95881 22 символ, відносно першого блока фізичного рівня, який передає будь-які символи для цього вихідного блока, переважно, в зворотному порядку. Наприклад, всі символи, асоційовані з вихідним блоком, що передається в останньому блоці фізичного рівня, який передає будь-які символи для цього вихідного блока, можуть мати ідентифікатор 0 сегмента, тоді як ідентифікатор сегмента для всіх символів, асоційованих з вихідним блоком в кожному попередньому блоці фізичного рівня, може мати ідентифікатор одиниці сегмента, більший, ніж ідентифікатор сегмента в послідовному блоці фізичного рівня, який передає будь-які символи для цього вихідного блока. Потрібно помітити, що не всі послідовні блоки фізичного рівня, можуть передавати символи для конкретного вихідного блока серед блоків фізичного рівня, які передають символи для цього вихідного блока, наприклад, перший блок фізичного рівня може передавати символи для вихідного блока, наступний другий блок фізичного рівня може не передавати будь-які символи для цього вихідного блока, тоді як наступний третій блок фізичного рівня може передавати символи для цього вихідного блока. У інших випадках структура сегмента вихідного блока може сигналізуватися за допомогою указування, наприклад, положення пакету фізичного рівня в розташуванні пакетів фізичного рівня або блока фізичного рівня, який є індикатором межі сегмента, що означає кінець одного сегмента для одного вихідного блока і початок нового сегмента для іншого вихідного блока. Наприклад, для блока фізичного рівня з 2000 пакетів фізичного рівня, де перші 500 пакетів фізичного рівня відповідають сегменту з першого вихідного блока, наступні 600 пакетів фізичного рівня відповідають сегменту з другого вихідного блока, і 900 пакетів фізичного рівня, що залишилися, відповідають сегменту з третього вихідного блока, індикатори 500, 600 межі сегмента можуть використовуватися для указування, що сегмент першого вихідного блока відповідає першим 500 пакетам фізичного рівня, сегмент другого вихідного блока відповідає наступним 600 пакетам фізичного рівня, і сегмент третього вихідного блока відповідає 900 пакетам фізичного рівня, що залишилися. Альтернативно, ідентифікатори меж сегмента можуть виражатися в одиницях символів і можуть визначатися відносно розташування символів в блоці фізичного рівня. У деяких переважних варіантах здійснення в кожному блоці фізичного рівня існує не менше, ніж один вихідний блок, асоційований з кожним ідентифікатором сегмента, і таким чином, ідентифікатор сегмента може використовуватися для однозначної відмінності символів від різних вихідних блоків, і, таким чином, в цих випадках, ідентифікатор сегмента також використовується, як ідентифікатор вихідного блока для диференціації символів, що передаються в блоці фізичного рівня. У інших варіантах здійснення ідентифікатори вихідних блоків для символів передаються іншими засобами, наприклад, включаючи ідентифікатор вихідного блока в дані заголовка, асоційовані з кожним символом, або включаючи ідентифікатор вихідного блока в дані заголовка, асоційовані з кожним бло 23 ком фізичного рівня. Існують інші різновиди, в яких ідентифікатор вихідного блока не обов'язково передається в заголовках блоків фізичного рівня, але може передаватися в інших місцях замість, наприклад, потоку керівників даних, в окремому блоці фізичного рівня, який містить інформацію заголовка для множини блоків фізичного рівня або відправлятися через інші мережі. Фахівець в даній галузі техніки визнає ці багато інших аналогічних різновидів. Підблоки Кодований або некодований вихідний блок може містити більше, ніж один підблок, наприклад, підблоки відповідають іншим вихідним символам і символам відновлення, асоційованим з вихідним блоком, який відповідає логічно асоційованим частинам символів. Наприклад, перший набір вихідних символів і/символ відновлення, що містять перший підблок, може відповідати частині вихідного блока, який може використовуватися для представлення відео з низьким дозволом частини відео, асоційованого з вихідним блоком, тоді як другий набір вихідних символів і/або символів відновлення, що містять другий підблок, можуть представляти відео більш високого дозволу частини відео, асоційованого з вихідним блоком, коли використовуються в поєднанні з деяким або усіма з першого підблока. Як інший приклад ідентифікатор підблока може індентифікувати деякі або всі з символів відновлення, асоційованих з вихідним блоком, або ідентифікатор підблока може ідентифікувати деякі або всіх з вихідних символів, асоційованих з вихідним блоком. У деяких випадках, ідентифікатор підблока може сигналізувати за допомогою явного маркірування кожного підблока за допомогою числа. Наприклад, перший підблок вихідного блока може мати ідентифікатор 0 підблока, тоді як другий підблок вихідного блока може мати ідентифікатор 1 підблока. У інших випадках структура підблока може сигналізуватися за допомогою указування, наприклад, ESI або положення символу в розташуванні символів, яке є індикатором межі підблока, що означає закінчення одного підблока і початок нового підблока в ESI або розташуванні символу. Наприклад, для вихідного блока з 900 вихідними символами і 100 символами відновлення, де ESI символів є послідовними цілими числами, що починаються в нулі і, де першому підблок містить вихідні символи і другий підблок містить символи відновлення, індикатор 900 межі підблока може використовуватися для указування, що перший підблок відповідає символам з ESI від 0 до 899 і другий підблок починається з символу з ESI 900. Ідентифікатор підблока вихідного символу або символу відновлення означає, якого підблока символ є частиною. Спосіб з відправкою даних заголовка з кожним символом У одному варіанті здійснення дані заголовка, асоційовані з кожним символом, які повинні відправлятися разом з символом в пакеті фізичного рівня, містять ідентифікатор сегмента, ідентифікатор підблока і ESI. Наприклад, якщо число можливих ідентифікаторів сегмента дорівнює 8 і число можливих ідентифікаторів підблока дорівнює 8, і 95881 24 число ESI дорівнює 1024, тоді 16 бітів або еквівалентно 2 байти даних заголовка є достатніми для кожного символу. У кожному пакеті фізичного рівня в блоці фізичного рівня зміст пакету фізичного рівня містить символ разом з даними заголовка, асоційованими з цим символом, де дані заголовка містять ідентифікатор сегмента і ідентифікатор підблока. У цьому варіанті здійснення приймач може обробляти прийняті пакети фізичного рівня в блоці фізичного рівня таким чином. При прийомі пакетів фізичного рівня в блоці фізичного рівня, приймач визначає з даних заголовка, асоційованих з символом в кожному пакеті фізичного рівня, який може зчитувати. З даних заголовка приймач може визначати ідентифікатор сегмента, ідентифікатор підблока і ESI для символу, що міститься в пакеті фізичного рівня. З ідентифікатора сегмента приймач може визначати, з яким вихідним блоком асоціюється символ серед можливих вихідних блоків. З ідентифікаторів підблока приймач може визначати, з яким підблоком асоційований символ серед можливих підблоків вихідного блока. З ESI приймач може визначати зв'язок символу з вихідним блоком і з підблоком вихідного блока, де ESI може використовуватися для визначення положення символу з символів в вихідному блоці і/або використовуватися в FEC-декодування для відновлення відсутніх вихідних символів з прийнятих символів відновлення і інших вихідних символів. Приймач може потім на основі цієї інформації ухвалювати рішення про певні дії. Наприклад, приймач може використати дані підблока, асоційовані з символами для різних цілей. Наприклад, дані підблока можуть використовуватися частково для визначення, як FEC-декодувать для відновлення деяких або всіх з вихідного блока. Дані підблока можуть, наприклад, також використовуватися для визначення, які частини даних повинні передаватися в додаток верхнього рівня, наприклад, обробка мультимедійного плеєра в приймачі, для того, щоб підтримати функціональні можливості більш високого рівня в приймачі, наприклад, для визначення, які частини відновленого вихідного блока необхідно передати як ціле в мультимедійний плеєр для завершення мультимедіа. Наприклад, коли приймач приймає перший блок фізичного рівня, частина символів, асоційованих з ідентифікатором першого сегмента, може бути асоційована з першим підблоком, який може передаватися в мультимедійний плеєр для завершення частини відео з низькою якістю, асоційованої з вихідним блоком, асоційованим з ідентифікатором першого сегмента. Приймач може також ухвалювати рішення зберегти добуті і/або відновлені символи, асоційовані з вихідними блоками з ідентифікаторами сегментів, інших, ніж ідентифікатор першого сегмента, для того, щоб об'єднати їх з символами для тих же самих вихідних блоків, прийнятих в послідовних блоках фізичного рівня і об'єднувати ці символи для FEC-декодування і/або для передачі в медіаплеєр, можливо, в одиницях підблоків символів або наборах з підблоків символів. 25 Як визнає фахівець в даній галузі техніки, існують варіанти і поєднання вишевикладених варіантів здійснення. Наприклад, дані заголовка для символу, які відправляються з символом, можуть включати в себе ідентифікатори сегментів і ідентифікатори підблоків, але не ESI. Як інший приклад варіанту, тільки ESI відправляється в даних заголовка з символом, і інші дані, наприклад, ідентифікатор сегмента або ідентифікатор підблока, якщо використовується, визначається з інших даних. Як інший приклад варіанту, дані заголовка, асоційовані з кожним символом, можуть не включати в себе ідентифікатор підблока. У цьому випадку ідентифікатор підблока може, наприклад, визначатися неявно за допомогою ESI, що добуваються, або підблоки співпадають з сегментами вихідного блока, або розділення на підблоки не використовується. Як інший приклад варіанту, дані заголовка, асоційовані з кожним символом, можуть містити і можуть не включати в себе ідентифікатор сегмента. У цьому випадку ідентифікатор сегмента може, наприклад, визначатися неявно за допомогою призначення фіксованої величини пакетів фізичного рівня в кожному блоці фізичного рівня, або підблоки співпадають з сегментами, або сегментування на використовується. Як інший приклад варіанту, дані заголовка, асоційовані з кожним символом, можуть також включати в себе ідентифікатор потоку. У цьому випадку ідентифікатор потоку може визначати, з яким потоком серед малого числа потоків асоційований символ, наприклад, потік аудіоданих або потік відеоданих. Потрібно зазначити, що ідентифікатор потоку може задавати зону за допомогою інших ідентифікаторів, наприклад, якщо потоки логічно з'єднані, наприклад, потоки аудіоданих і потоки відеоданих для того ж самого програмного сегмента, тоді, наприклад, ідентифікатор підблока може задавати зону деяких або всіх з ідентифікаторів потоку. Потрібно зазначити, що ідентифікатор потоку може також задавати зону інших ідентифікаторів, наприклад, якщо потоки є логічно незалежними, наприклад, потоки аудіоданих/потоки відеоданих для різних програмних сегментів, тоді, наприклад, ідентифікатор потоку може також задавати зону деяких або всіх з ідентифікаторів підблоків. Спосіб без відправки даних заголовка з кожним символом У іншому варіанті здійснення немає даних заголовка, асоційованих з символом, який передасться в пакеті фізичного рівня. Замість цього, деякі мінімальні дані можуть передаватися в даних заголовка блока фізичного рівня. Мінімальні дані можуть включати в себе, наприклад, таблицю сегментів, де кожен рядок таблиці сегментів відповідає ідентифікатору сегмента, який містить число символів сегмента для вихідного блока, який передається в цьому блоці фізичного рівня і ESI першого символу в розташуванні символів для цього сегмента вихідного блока серед всіх символів сегмента для вихідного блока, який передається в цьому блоці фізичного рівня. Число символів 95881 26 в сегменті може не включатися в деякі варіанти здійснення, наприклад, оскільки число символів в кожному сегменті завжди є тим же самим по всіх блоках фізичного рівня. У деяких варіантах здійснення таблиця сегментів може замість цього бути таблицею вихідних блоків, у випадках яких той же самий ідентифікатор сегмента повинен використовуватися для двох або більше вихідних блоків в тому ж самому блоці фізичного рівня. Мінімальні дані можуть також включати в себе, наприклад, таблицю підблоків, яка вказує, які підблоки, символи для кожного вихідного блока передаються в блоці фізичного рівня. Існує багато видів для цієї таблиці підблоків, наприклад, інформація підблоків може додаватися до кожного рядка з відповідного рядка ідентифікатора сегмента в таблиці сегментів, або, як інший приклад, інформація підблока може зберігатися в окремій таблиці. У деяких варіантах здійснення таблиця підблоків може не включатися, наприклад, оскільки або розбиття на підблоки не використовується, або оскільки сигналізація розбиття на підблоки обробляється на більш високому прикладному рівні. У цьому варіанті здійснення приймач може обробляти прийняті пакети фізичного рівня в блоці фізичного рівня таким чином. Приймач зчитує і зберігає таблицю сегментів і/або таблицю підблоків з даних заголовка блока фізичного рівня. З таблиці сегментів приймач може визначати число символів і первинну ESI, асоційовану з кожним сегментом вихідного блока, для якого існують символи, що передаються з блоком фізичного рівня. З ідентифікації фізичного рівня з положення пакету фізичного рівня, який передає символ, з таблиці сегментів, що містять число і первинну ESI, асоційовану з кожним сегментом, і з перетворення комбінованого розташованого набору з символів з усіх сегментів вихідних блоків, що містяться в блоці фізичного рівня в пакети фізичного рівня, приймач може визначити ESI символу і, з яким асоційований символ вихідного блока. З таблиці підблоків аналогічним чином приймач може визначати, з яким підблоком вихідного блока асоційований символ. З ESI приймач може визначати зв'язок символу з вихідним блоком і з підблоком вихідного блока, де ESI може використовуватися для визначення положення символу з символів в вихідному блоці і/або використовуватися в FEC-декодування для відновлення вихідних символів, які не прийняті з прийнятих символів відновлення і інших вихідних символів. Приймач може потім на основі цієї інформації ухвалювати рішення про певні дії, включаючи ті, які описані вище для способу "з відправкою даних заголовка з кожним символом", описаного в даному документі. Як визнає фахівець в даній галузі техніки, існують багато варіантів з вищевикладеного. Як один приклад варіанту дані заголовка, асоційовані з кожним символом, можуть містити ідентифікатор підблока, наприклад, використовуючи частину одного байта кожного пакету фізичного рівня для цієї мети. Це може бути переважним в деяких випад 27 ках, оскільки структура підблоків охоплює повний вихідний блок, тоді як відправка даних для вихідного блока може бути по декількох блоках фізичного рівня, і таким чином, здійснення ідентифікації підблока в даних заголовка, що відправляються з кожним символом, може дозволити приймачу, який приєднується до каналу в середині передачі вихідного блока, щоб швидко зрозуміти структуру розбиття на підблоки вихідного блока. Як інший приклад може не використовуватися розбиття на підблоки. Як інший приклад дані заголовка, асоційовані з кожним пакетом фізичного рівня, можуть, наприклад, відправлятися як окремі дані в тому ж самому блоці фізичного рівня або передаватися за допомогою інших засобів в приймач, наприклад, відправлятися в керуючому каналі, який доступний для приймача, або як інший приклад, що відправляються в окремому блоці фізичного рівня, який містить інформацію заголовка для множини блоків фізичного рівня, або як приклад, що відправляються через іншу мережу. Як інший приклад, дані заголовка, асоційовані з кожним символом, можуть також включати в себе ідентифікатор потоку. У цьому випадку ідентифікатор потоку може визначати, з яким потоком серед малого числа потоків асоційований символ, наприклад, потік аудіоданих або потік відеоданих. Потрібно зазначити, що ідентифікатор потоку може задавати зону за допомогою інших ідентифікаторів, наприклад, якщо потоки логічно з'єднані, наприклад, потоки аудіоданих і потоки відеоданих для того ж самого програмного сегмента, тоді, наприклад, ідентифікатор підблока може задавати зону деяких або всіх з ідентифікаторів потоку. Потрібно зазначити, що ідентифікатор потоку може також задавати зону інших ідентифікаторів, наприклад, якщо потоки є логічно незалежними, наприклад, потоки аудіоданих/потоки відеоданих для різних програмних сегментів, тоді, наприклад, ідентифікатор потоку може також задавати зону деяких або всіх з ідентифікаторів підблоків. Ідентифікатор потоку може також включатися в дані заголовка для блока фізичного рівня в форматі, аналогічному тому, який описаний вище для ідентифікаторів сегментів і ідентифікатора підблока, у разі якого може бути не потрібним включати ідентифікатор потоку в дані заголовка, асоційовані з кожним символом, для того, щоб передати структуру потоку в приймач. Як приклад припустимо, що число сегментів на кожен вихідний блок дорівнює 4, число підблоків дорівнює 3, число пакетів фізичного рівня на кожен блок фізичного рівня дорівнює 512, і три символи розміром 100 байт кожен включені в кожен пакет фізичного рівня з 300 байт, і таким чином, кожен блок фізичного рівня містить 3*512=1536 символів. Потім перша таблиця сегментів для конкретного першого блока фізичного рівня і друга таблиця сегментів для другого блока фізичного рівня можуть бути як показано на Фіг. 3. де другий блок фізичного рівня послідовно відправляється після першого блока фізичного рівня. У цьому прикладі ідентифікатор сегмента може не явно передаватися в таблиці сегментів, але замість цього 95881 28 може не матися на увазі номером рядка в таблиці, тобто, рядок j відповідає ідентифікатору j сегмента. У першій таблиці сегментів число символів для сегмента з ідентифікатором 0 дорівнює 450, який може передаватися за допомогою 150 пакетів фізичного рівня, перші 450 символів перетворюються відповідно до розташованих символів в перетворенні пакету фізичного рівня. ESI для символів з ідентифікатором 0 сегмента є послідовними цілими числами, в діапазоні від 0 до 449 в цьому прикладі. Число символів для сегмента з ідентифікатором 1 дорівнює 300, які передаються за допомогою 100 пакетів фізичного рівня, після перших 150 пакетів фізичного рівня 300 символів перетворюються у відповідні розташовані символи в перетворенні пакетів фізичного рівня. ESI для символів з ідентифікатором 1 сегмента є послідовними цілими числами, в діапазоні від 420 до 719 в цьому прикладі. У другій таблиці сегментів число символів для сегмента з ідентифікатором 0 дорівнює 420, який може передаватися за допомогою 140 пакетів фізичного рівня, перші 420 символів перетворюються відповідно до розташованих символів в перетворенні пакету фізичного рівня. Потрібно зазначити, що вихідний блок з ідентифікатором j сегмента в першій таблиці сегментів може бути тим же самим, що і вихідний блок з ідентифікатором j+1 сегмента у другій таблиці сегментів, для j=0, 1, 2. Таким чином, первинний ESI для сегмента з ідентифікатором j в першій таблиці сегментів нижчий за це перетворення суми первинного ESI і числа символів сегмента з ідентифікатором j+1 у другій таблиці сегментів. Існують інші різновиди, в яких дані не обов'язково передаються в заголовках блоків фізичного рівня, але можуть передаватися в інших місцях замість, наприклад, потоку керуючих даних, в окремому блоці фізичного рівня, який містить інформацію заголовка для безлічі блоків фізичного рівня або відправлятися через іншу мережу. Фахівець в даній галузітехніки визнає ці багато інших аналогічних різновидів вищеописаного способу. Перетворення в і з ID корисного навантаження FEC Для багатьох FEC-кодів прикладного рівня, описаних в стандартах, наприклад, як описано в IETF RFC 5052 (робочі пропозиції 5052 (RFC) інженерної групи по розвитку Інтернету (IETF)) і IETF RFC 5053 (робочі пропозиції 5053 (RFC) інженерної групи по розвитку Інтернету (IETF)), типово асоційованих з символом або групою символів, або групою підсимволів, що відправляються в пакеті прикладного рівня, існує ID (Ідентифікатор) корисного навантаження FEC. Для самого простого випадку, коли ID корисного навантаження FEC асоційований з символом, ID корисного навантаження FEC містить номер вихідного блока, з якого був сформований символ, ESI символу, і у деяких випадках первинний ESI символу відновлення з найменшим асоційованим ESI (і цей первинний ESI може представлятися як ідентифікатор підблока, який ідентифікує вихідні символи, є части 29 ною першого підблока і символів відновлення як частина другого підблока). У деяких з способів і процесів, описаних вище, ID корисного навантаження FEC не відправляється з кожним символом, і замість цього інші засоби описані, які мінімізують величину даних заголовка, які відправляються з кожним символом для того, щоб максимізувати пропускну здатність каналу. У деяких випадках у відправнику корисно перетворювати формат відправки з одного, використовуючого ID корисного навантаження FEC, в інший, що використовує засіб, описаний вище для передачі цієї інформації в приймач. У деяких випадках в приймачі також корисно перетворювати формат відправки з одного, що використовує засіб, описаний вище для передачі цієї інформації в приймач, в інший, використовуючий ID корисного навантаження FEC. Наприклад, може бути вже розроблене програмне забезпечення, яке використовує ID корисного навантаження FEC для ідентифікації символів, і це може бути зручно приймати вихідний потік символів і асоційовані дані заголовка, що формуються, використовуючи це програмне забезпечення для створення вихідного потоку символів і асоційованих даних, сумісного з форматом відправки, використовуючи засіб, описаний вище. Способи перетворення в і з формату ID корисного навантаження FEC можуть легко добуватися з опису, наданого вище. Схеми відправки для оптимізації часу перемикання каналу Для розташованого в пріоритетному порядку потоку, який повинен відправлятися по каналу, де дані, які необхідно відіслати, розділяються на різні блоки фізичного рівня, наприклад, кадри або супер-кадри, дані символів, які повинні відправлятися для вихідного блока, можуть перемежовуватися по множині подібних блоків фізичного рівня способом розташування в пріоритетному порядку, в зворотному порядку їх пріоритету. Наприклад, як описано в "FEC Streaming", дані відновлення для вихідного блока можуть відправлятися в вихідні дані для вихідного блока для того, щоб зменшити, в контексті цих описів, час перемикання каналу. Дані, що містять дані у вказаному рівні пріоритету для вихідного блока, можуть бути згруповані разом в підблок. Наприклад, продовжуючи приклад, описаний вище, символи відновлення можуть розглядатися як підблок з низьким пріоритетом, і вихідні символи другого підблока більш високого пріоритету, і, таким чином, підблок більш низького пріоритету може відправлятися до підблока з більш високим пріоритетом. Фіг. 4 ілюструє приклад, як варіант здійснення може розташовувати відповідно до пріоритету дані в підблоки і перетворювати підблоки в порядку пріоритетної відправки. На Фіг. 4 потік 470 даних представлений різними блоками і підблоками даних. Наприклад, потік 470 даних показаний з аудіоблоком 450 і різними відеоблоками, наприклад, Ікадр (ZI) 410 і різні підблоки даних символів, наприклад, Р1-Рх 420-422, b1-bz 430-435, і В1-Ву 440442. На Фіг. 4 Р1 420 являє собою підблок з найвищим пріоритетом в потоці, за яким йде b1-bz 430435, В1-Ву 440-442, P2-Px 421-422, аудіоблок 450 і, 95881 30 відповідно І-кадр (ZI) 410. При умові цих рівнів пріоритету, блоки і підблоки потоку можуть розташовуватися як проілюстровано за допомогою схеми 480 відправки. Блок (ZI 410) з самим низьким пріоритетом може передаватися в приймач на початку передачі, тоді як дані (Р1 420) з найвищим пріоритетом можуть відправлятися останніми. Додатково, відношення між різними підблоками можуть бути також такі, що бралися до уваги, коли створюють порядок пріоритетної відправки. Наприклад, згідно з деякими варіантами здійснення, підблоки b1, В1 і b2 можуть залежати від P1. У цих варіантах здійснення може бути вигідним передавати ці залежні підблоки до того, як передано P1. Таким чином, як тільки прийняте P1, всі дані в P1 і всіх його залежних підблоках можуть бути швидко зроблені доступними в приймачі. Якщо схема відправки визначена, схема відправки може використовуватися для розділення даних на, відповідно, різні блоки фізичного рівня. Один спосіб для перетворення підблоків, розташованих в пріоритетному порядку, в блоки фізичного рівня, щоб перетворити підблоки в кожен блок фізичного рівня. Фіг. 5 показує приклад одного варіанту здійснення цього способу. Фіг. 5 показує набір даних 500, розбитих на різні блоки 501504 фізичного рівня. Блоки на Фіг. 5 представлені як такі, що передаються в напрямі, позначеному стрілкою 509. Наприклад, блок 501 фізичного рівня передається попереду блока 504 фізичного рівня (і, таким чином, передається до фізичного блока 504), і в блоці 501 фізичного рівня ділянка 580 передається попереду ділянки 520. Як проілюстровано на Фіг. 5, деякі з даних 500 розміщуються в кожному блоці 501-504 фізичного рівня. Для цілей ясності кожен сегмент даних в даних 500 показаний розташованим в одному з блоків 501-504 фізичного рівня, хоча кожен сегмент розташовується у відповідній ділянці кожного блока фізичного рівня. Дані 510 FEC розміщуються в блоки фізичного рівня на 520-523; дані 420 P1 розміщуються в блоки фізичного рівня на 540-543; дані 430-435 b1-bz розміщуються в блоки фізичного рівня на 530-533; дані 440-442 В1-Ву розміщуються в блоки фізичного рівня на 550-553; дані 421-422 Р2-Рх розміщуються в блоки фізичного рівня на 560-563; аудіодані 450 розміщуються в блоки фізичного рівня на 570-573; і І-кадр (ZI) 410 розміщується в блоки 580-583 фізичного рівня. Однією перевагою перетворення підблоків в блоки фізичного рівня способом, проілюстрованим на Фіг. 5, є те, що характеристика завершення в приймачі буде більш прогнозованою, оскільки сегменти кожної пріоритетної групи містяться в кожному блоці фізичного рівня. Проте, різні сегменти в кожному блоці фізичного рівня типово є різного розміру, оскільки різні рівні пріоритету типово містять різні об'єми даних. Це може призвести до потенційних проблем в продуктивності в приймачі через більш складну обробку в приймачі для розпаковування даних, і можуть бути проблеми зі статистичним ущільненням через різні розміри сегментів. Іншим способом є поширення даних символів настільки рівним чином, наскільки можливо по різних блоках фізичного рівня, оскільки це загалом 31 надає кращий захист відносно погіршень якості каналу. Фіг. 6 є прикладом одного варіанту здійснення цього способу. Фіг. 5 показує набір даних 600, розбитих на різні блоки 601-604 фізичного рівня. Блоки на Фіг. 6 представлені як такі, що передаються в напрямі, позначеному стрілкою 609. Наприклад, блок 601 фізичного рівня передається до блока 604 фізичного рівня (і, таким чином, передається до фізичного блока 604), і в блоці 601 фізичного рівня ділянка 640 передається до ділянки 610. Як проілюстровано на Фіг. 6, різні пріоритети даних в даних 600 символів згруповані разом в блоки 605-608. Ці блоки 650-608, в свою чергу, перетворені в блоки 601-604 фізичного рівня рівними величинами. Для цілей ясності кожен сегмент даних 600 показаний розташованим в одному з блоків 601-604 фізичного рівня, хоча кожен сегмент розташовується у відповідній ділянці кожного блока фізичного рівня. Наприклад, блок 605 перетворюється в 610-613; блок 606 перетворюється в 620-623; блок 607 перетворюється в 630-633; блок 608 перетворюється в 640-643. Внаслідок перетворення, проілюстрованого на Фіг. 6, деякі підблоки розділені між угрупуваннями. Наприклад, дані з сегмента 440-442 В1-Ву даних можуть бути включені в обидва блоки 606 і 607. Додатково, вказаний фізичний блок може не містити будь-які дані з конкретного пріоритету. Наприклад, блок 601 може не містити будь-які дані FEC 510 в 610, тоді як блок 604 може не містити будь-які дані з Р1 420 на 613. Однією перевагою способу, проілюстрованого на Фіг. 6, є те, що оскільки сегменти блоків фізичного рівня є того ж самого розміру, приймач вимагатиме менше обробки для розпаковування сегментів. Це може призвести до поліпшеної продуктивності приймача. Додатково, однаковий розмір сегментів робить статичне ущільнення легшим. Проте, оскільки не може бути гарантій, як для точних рівнів пріоритету, які містяться в будь-якому вказаному блоці фізичного рівня, характеристика завершення в приймачі є менш прогнозованою. Хоча перетворюють дані, одна проблема в тому, що досить з даних високого пріоритету для вихідного блока відправляється в першому блоці фізичного рівня, щоб дозволити приймачу запустити завершення, як тільки ці дані високого пріоритету прийняті. Одним способом для досягнення цього є розташування відповідно до пріоритету даних в кодованих або некодованих вихідних блоках таким чином, щоб величина високопріоритетних даних дорівнювала не менше, ніж дробу 1/N загальних величини даних, які необхідно відіслати для вихідного блока, при цьому N є числом блоків фізичного рівня, по яких дані повинні відправлятися для вихідного блока, у випадку, де дані високого пріоритету для деякого вихідного блока повинні бути доступні після того, як приймач приймає перший блок фізичного рівня. Загалом, якщо існує вимога, що перші J пріоритетів даних повинні бути доступними для деякого першого вихідного блока після того, як приймач приймає K блоків фізичного рівня, тоді це може досягатися, якщо частина даних в перших J пріоритетах дорівнює не менше, ніж K/N. 95881 32 Прикладом переважної стратегії розбиття є наступний, який може використовуватися, чи застосовується, чи ні вищезазначений спосіб. Припустимо, що дані, які відправляються, для вихідного блока повинні відправлятися в N блоках фізичного рівня, де дані, які відправляються, містять вихідні символи для вихідного блока і символи відновлення FEC, якщо це має місце, що формуються з вихідного блока, який повинен відправлятися. Припустимо, що дані, які відправляються, для вихідного блока розділяються на K пріоритетів, де частина даних, що відправляються з пріоритетом j рівна P_j для j=1,..., K. Як описано вище, дані, які відправляються, з пріоритетом j можуть бути згруповані в підблок, називаємо його підблок j. Потім частину даних, що відправляються, що відправляються в останньому блоці фізичного рівня, може бути максимумом з Р_1 і 1/N, тобто, всі дані в підблоці 1 найвищого пріоритету і можливо, деякі з даних, що залишилися відправляються в останньому блоці N фізичного рівня. Нехай М_1 буде цим максимумом, і нехай L_1=1-M_1 буде частиною даних, що залишилася, які необхідно відіслати в блоках N-1,..., 1 фізичних рівні після того, як частина М_1 даних відправляється в останньому блоці N фізичного рівня. Потім, частина даних, що відправляються, які відправляються в блоці N-1 фізичного рівня, може бути максимумом з Р_1+Р_2-М_1 і 1/N-1, тобто, всі з підблока найвищого пріоритету і підблока другого найвищого пріоритету відправляються в останніх двох блоках фізичного рівня і, також, можливо, деякі дані, що залишилися. Це передбачає, що дані перших двох пріоритетів повинні завершуватися в приймачі після того, як прийняті два блоки фізичного рівня. Цей спосіб може бути розширений для визначення, які дані, які відправляються, необхідно відіслати в кожному фізичному рівні. Цей спосіб може бути також розширений для випадку, коли вимоги приймача для завершення приймачем даних, що відправляються, вихідного блока різні, наприклад, пріоритет 2 даних, що відправляються повинен бути завершений після прийому трьох блоків фізичного рівня замість двох блоків фізичного рівня. Способи вище можуть також бути модифіковані за допомогою вимоги до мультиплексування багатьох різних потоків або пакетів потоків по тому ж самому фізичному каналу, де величина доступного простору в кожному блоці фізичного рівня використовується для визначення, скільки з кожного пріоритету даних, що відправляються для кожного потоку або згрупованих потоків, повинно відправлятися в кожному блоці. Потрібно зазначити, що пріоритетам, описаним вище, не треба описувати повне розташування, тобто, пріоритети можуть бути приватним порядком, у разі якого існують варіанти вибору, для яких порядок для розміщення даних, розташованих відповідно до пріоритету, і насправді дані, розташовані відповідно до пріоритету, які є незрівнянними в термінах пріоритету, можуть бути з'єднані разом в порядку відправки, в деяких варіантах здійснення. 33 Як описано вище, реалізація будь-якого з цих пропонованих схем відправки може бути здійснена, використовуючи будь-які з поліпшених способів відправки і прийому, і процеси, описані в даному документі, наприклад, ESI, включаючи дані заголовка, що відправляються з кожним символом, дані не заголовка, що відправляються з кожним символом і т. д. Часткове FEC-кодування вихідного блока Дані відновлення FEC можуть бути сформовані з повного вихідного блока, і надавати можливість відновлювати повні або значні частини вихідного блока, якщо прийнято достатньо вихідних символів з вихідного блока включаючи символи відновлення, що формуються з вихідного блока. Дані відновлення FEC можуть бути сформовані з єдиних частин вихідного блока, наприклад, один набір з даних відновлення FEC може бути сформований з першої частини вихідного блока, другий набір даних відновлення FEC може бути сформований з другої частини вихідного блока. Як приклад, друга частина вихідного блока може включати в себе першу частину вихідного блока, включаючи деякі додаткові частини вихідного блока. Припустимо, що вихідні символи для вихідного блока розділяються на вихідний підблок низького пріоритету і вихідний підблок високого пріоритету. Потім перший підблок з символів відновлення FEC може бути сформований з вихідного підблока високого пріоритету і другого підблок символів відновлення FEC може бути сформований із зв'язку вихідного підблока з низьким пріоритетом і вихідним підблока з високим пріоритетом. Порядок відправки підблоків потім може бути: другий підблок символів відновлення FEC, вихідний підблок низького пріоритету, перший підблок символів відновлення FEC, вихідний підблок високого пріоритету. У цьому випадку, якщо приймач приймає тільки все або частину вихідного підблока високого пріоритету, потім він може спробувати негайно завершити це, якщо існує дуже багато пошкоджень. Якщо приймач приймає все або частину першого підблока з символів відновлення FEC і вихідного підблока високого пріоритету, тоді приймач може спробувати відновити вихідний підблок високого пріоритету, використовуючи перший підблок з символів відновлення FEC, якщо немає дуже багато пошкоджень. Якщо приймач приймає все або частину вихідного підблока низького пріоритету, перший підблока з символів відновлення FEC і вихідного підблока високого пріоритету, тоді приймач може спробувати відновити пошкоджені частини вихідного підблока високого пріоритету, використовуючи перший підблок з символів відновлення FEC і потім відіслати в медіаплеєр прийняті частини з вихідного підблока низького пріоритету і відновлені частини вихідного підблока високого пріоритету. Якщо приймач приймає все або частини з всіх чотирьох підблоків, тоді приймач може використати всі з символів відновлення FEC для відновлення всіх з вихідних символів. Потрібно зазначити, що вищезгадані способи можуть бути переважними для надання FECзахисту по кожному підблоку окремо, наприклад, захищаючи другий підблок з символів відновлення 95881 34 FEC, може бути переважний повний вихідний блок замість лише вихідного підблока низького пріоритету. Наприклад, припустимо, що кожен з двох вихідних підблоків містить кожні 100 вихідних символів, і кожен їх двох підблоків відновлення FEC містить кожні 50 символів відновлення. Використання способів, описаних вище, може дозволити відновлення повного вихідного блока, навіть, коли 60 з вихідних символів від вихідного блока високого пріоритету загублені і 30 з вихідних символів з вихідного підблока низького пріоритету загублені, тоді як, якщо два вихідних підблока захищені незалежно за допомогою двох підблоків відновлення FEC, тоді відновлення підблока високого пріоритету не можливе (загублені 60 вихідних символів підблока, існують тільки 50 символів відновлення, які захищають підблок). Подібний FEC-захист може бути, наприклад, реалізована, використовуючи коди Ріда-Соломона, де експерименти показують, що коди Ріда-Соломона показують майже ідеальні властивості відновлення, коли використовуються способи, описані вище, для захисту накладення підблоків. Ці способи також корисні для захисту у випадку, якщо захист протягом дуже тривалого проміжку часу спричиняє випадкове знищення всіх проміжків часу прийнятих даних. Замість цього, надання захисту FEC протягом коротких блоків, і потім також надання FEC-захисту по більш довгих блоках, які включають в себе короткі блоки, може бути переважним. Таким чином, якщо відмова без дуже великої втрати в найближчих проміжках часу, тоді FEC-захист по коротких блоках може дозволити їх відновлення, тоді як додатковий FEC-захист по більш довгих блоках допускає більше втрат протягом більш тривалих проміжків часу. Прийом множини потоків блоків фізичного рівня Для потокових додатків, де логічно з'єднані потоки відправляються по єдиному потоку блоків фізичного рівня, цілий фізичний канал може бути сформований з множиною подібних потоків блоків фізичного рівня. Наприклад, кожен потік блоків фізичного рівня може бути 256 Кб/с, або 1 Мб/с, тоді як може бути 50 подібних потоків так, щоб цілий фізичний канал міг бути від 12,5 до 50 Мб/с в цьому прикладі. Типово приймач може приймати один з потоків блоків фізичного рівня в момент часу, через множину різних причин, включаючи проблеми потужності і проблеми пам'яті. Проте, можуть бути переваги для приймача для прийому більше, ніж одного потоку блоків фізичного рівня. Наприклад, якщо прийом приймає всі подібні потоки, годі перемикання каналу від одного потоку до іншого може відбуватися майже миттєво, і новий потік, який переміщається до приймача, може закінчитися спочатку на рівні найвищої якості, оскільки всі дані для нового потоку прибувають протягом проміжку часу до того, коли приймач змінює канали для цього потоку. Це має місце, навіть, якщо потоки захищені, використовуючи FEC-захист з тривалим проміжком захисту, або, якщо потоки є кодованими потоками відеоданих таким чином, що є сильно стисненими, наприклад, коли кадри оновлень в 35 потоку відеоданих, іноді називаються І-кадри, іноді називаються IDR-кадри (кадри оновлень незалежних даних), відправляються нерегулярно через їхній великий розмір. Це типово означає, що час, що охоплюється GOP (група зображень) може бути швидше великим в сильно стисненому потоці відеоданих. Наприклад, для тривалості GOP для потоку відеоданих може бути 10 секунд, і FECзахист може надаватися для захисту всієї GOP з 10 секунд. У цьому випадку без використання деяких з способів, описаних вище, де дані високого пріоритету з потоку відображаються настільки швидко, наскільки можливо, і потім дані все більш і більш низького пріоритету також відображаються для поліпшення остаточної якості, по мірі того, як закінчення потоку розвивається, якщо приймач приймав тільки один канал в момент часу, час перемикання каналу може бути до 10 секунд, тоді як якщо приймач приймає всі канали, тоді час перемикання каналу може бути майже миттєвим. Існує деяка можливість оптимізації, коли розглядають рішення, де приймач одночасно приймає більше, ніж один потік пакетів фізичного рівня. Наприклад, приймачу необхідно лише FECдекодувати, наприклад, здійснювати або декодування з корекцією помилок або декодування із захистом від стирання, тільки потоки, які в даний момент відправляються в, наприклад, медіаплеєр для закінчення. Дані для інших потоків можуть зберігатися, і тільки декодуватися по FEC, якщо приймач змінює канали, і потім FEC-декодування може відбуватися дуже швидко за даними, які вже прийняті для нового каналу для майже миттєвого запуску мультимедійного закінчення. Як інша можлива оптимізація, коли приймач приймає тільки один потік в момент часу, можуть бути надмірні дані, які включені в потік, який не потрібен, якщо приймач мав доступні частини потоку для закінчення, коли приймач спочатку приєднується до потоку. Прикладами подібних надмірних даних можуть бути IDR відеокадри низької якості, які включені дуже часто в потік відеоданих єдино так, щоб приймач міг приєднуватися до потоку і запустити майже миттєве закінчення відео, навіть, якщо він знаходиться в погіршеній якості. Якщо у приймача були попередні частини потоку, включаючи IDR-кадр високої якості і всі подальші кадри, що відправлялися раніше, тоді не буде необхідності, щоб включати в себе часті IDR-кадри низької якості. IDR-кадри низької якості можуть використати значну величину доступного діапазону частот, наприклад, якщо кожен IDR-кадр низької якості дорівнює 3 Кб і вони відправляються кожну секунду в потоку в 256 Кб/с, потім IDR-кадри низької якості використовують більше 9% доступних діапазони частот. Відправка IDR-кадрів низької якості не обов'язкова, якщо приймач приймає дані для потоку, який приймач змінює до зміни каналу для цього потоку. Одним недоліком прослуховування множини потоків блоків фізичного рівня в тому, що воно використовує більше потужності в приймачі, ніж прослуховування єдиного потоку. Додатково, більше пам'яті і інших ресурсів необхідно для збе 95881 36 реження даних, прийнятих від множини потоків, ніж від єдиного потоку. Існують деякі способи, які можуть використовуватися для мінімізації цих недоліків. Одним подібним способом є організація логіки і/або дані глобально по доступних потоках таким чином, що приймачу необхідно приймати тільки декілька потоків в момент часу, для того, щоб досягти вищевикладених вигід. Наприклад, якщо існує логіка, яка може прогнозувати, для яких потоків приймач, ймовірно, може змінювати канали, логіка може бути з умови, що приймач приймає ці подібні канали заздалегідь, про фактичну зміну для цього каналу. Як інший приклад, дані в потоках блоків фізичного рівня можуть бути організовані з умови, щоб існував один потік блоків фізичного рівня, який передає все з IDR-кадрів для всіх інших потоків відеоданих, назвемо його IDR-потік, і потім кожен інший потік блоків фізичного рівня передає всі дані для одного з потоків відеоданих для IDR-кадрів для цього потоку відеоданих. У цьому прикладі приймач може приймати поточний потік блоків фізичного рівня для потоку відеоданих, який в даний момент закінчується медіаплеєром, хоча в той же самий час (або завжди, або періодично, коли відповідає) приймати IDR-потік. Таким чином, приймач може мати доступні IDR-кадри для всіх або деяких з потоків відеоданих, які він може використати або для закінчення, коли відображають інформацію про всіх або деяких з потоків відеоданих, доступних в режимі програми-провідника по каналах з коротким описом, або використати для запуску відображення нового потоку відеоданих, коли зміна каналу здійснюється в приймачі. IDRпотік може прийматися у всіх часових проміжках, або може прийматися періодично, наприклад, тільки застосовувати блоки фізичного рівня від IDR-потоку, який містить IDR-кадри для поточного відтворення потоку відеоданих. У всіх випадках захист FEC може надаватися по кожному потоку блоків фізичного рівня, якщо потрібно. Однією перевагою цих способів в тому, що приймач приймає не менше, ніж два потоки блоків фізичного рівня в будь-якій точці у часі і ще домагається всіх або більшість з переваг прийому всіх каналів блоків фізичного рівня одночасно. Хоча винахід описаний відносно зразкових варіантів здійснення, фахівцеві в даній галузі техніки буде зрозуміло, що можлива множина модифікацій. Наприклад, процеси, описані в даному документі, можуть бути реалізовані, використовуючи компоненти апаратного забезпечення, компоненти програмного забезпечення і/або будь-яке їх поєднання. Наприклад, способи, описані в даному документі, можуть бути реалізовані на машинозчитуваному носії, наприклад, CD-ROM (компакт-диск), DVD (цифровий універсальний диск), і т. д., що містить машиновиконуваний код, який може керувати процесором комп'ютера для здійснення способів. Таким чином, хоча винахід описаний відносно зразкових варіантів здійснення, буде прийнято до уваги, що винахід призначений для охоплення всіх модифікацій і еквівалентів в об'ємі подальшої формули винаходу. 37 95881 38 39 95881 40 41 Комп’ютерна верстка О. Гапоненко 95881 Підписне 42 Тираж 23 прим. Державна служба інтелектуальної власності України, вул. Урицького, 45, м. Київ, МСП, 03680, Україна ДП “Український інститут промислової власності”, вул. Глазунова, 1, м. Київ – 42, 01601

Дивитися

Додаткова інформація

Назва патенту англійською

Fast channel zapping and high quality streaming protection over a broadcast channel

Автори англійською

Luby, Michael, G., Stockhammer, Thomas, Shokrollahi, Mohammad, Amin

Назва патенту російською

Быстрое переключение канала и защита поточной передачи высокого качества по скоростному каналу

Автори російською

Луби Майкл Дж., Штокхаммер Томас, Шокроллахи Мохаммад Амин

МПК / Мітки

МПК: H04N 7/64, H04N 7/015

Мітки: високої, захист, швидке, потокової, каналу, перемикання, широкомовному, якості, передачі

Код посилання

<a href="https://ua.patents.su/21-95881-shvidke-peremikannya-kanalu-i-zakhist-potokovo-peredachi-visoko-yakosti-po-shirokomovnomu-kanalu.html" target="_blank" rel="follow" title="База патентів України">Швидке перемикання каналу і захист потокової передачі високої якості по широкомовному каналу</a>

Подібні патенти