Эта патентная заявка является частичным продолжением патентной заявки от данного заявителя и испрашивает приоритет заявки №11/315399, поданной 21 декабря 2005 года и озаглавленной "METHODS AND SYSTEMS FOR ADAPTIVE ENCODING OF REAL-TIME INFORMATION IN PACKET-SWTTCHED WIRELESS COMMUNICATION SYSTEMS" (номер дела в реестре поверенного 051126), и по которой испрашивается приоритет предварительной заявки US №60/729017, поданной 21 октября 2005 года, все содержимое которой включено в настоящий документ посредством ссылки.
Область техники, к которой относится изобретение
Настоящее описание имеет отношение к видеокодированию, а более конкретно - к нижнему уровню обратной линии связи, способствующему коррекции ошибок видео.
Уровень техники
Сотовый телефон может включать в себя устройство захвата аудио, такое как микрофон или синтезатор речи, и устройство кодирования аудио для формирования пакетов аудио (или кадров). Телефон может использовать уровни протокола коммуникации и модули, такие как модуль протокола работы радиолинии связи (RLP), уровень управления доступом к среде передачи (MAC) и физический (PHY) уровень. Телефон может поместить пакеты аудио в очередь RLP. Модуль уровня MAC может формировать пакеты уровня MAC из контента очереди RLP. Пакеты уровня MAC могут быть преобразованы в пакеты уровня PHY для передачи через канал связи еще одному устройству связи.
Раскрытие изобретения
Один аспект имеет отношение к способу, содержащему этапы, на которых кодируют видеоданные; формируют пакет интернет-протокола (IP) с закодированными видеоданными; передают пакет через беспроводный канал к сети доступа; принимают от сети доступа в уровне управления доступом к среде передачи (MAC) отрицательное уведомление (NAK); определяют, ассоциирована ли принятая NAK с пакетом, который содержит видеоданные; определяют, какой пакет IP содержит данные, которые были потеряны в течение передачи; и выполняют коррекцию ошибок, если принятая NAK ассоциирована с пакетом, который содержит видеоданные.
Еще один аспект имеет отношение к способу, содержащему этапы, на которых кодируют первый кадр видеоданных; формируют пакет с кодированным первым кадром видеоданных; передают пакет через беспроводный канал к сети доступа; определяют, принял ли от сети доступа уровень управления доступом к среде передачи (MAC) отрицательное уведомление (NAK), прежде чем кодировать второй кадр видеоданных; определяют, ассоциирована ли полученная NAK с пакетом, который содержит видеоданные; а затем выполняют коррекцию ошибок, если принятая NAK ассоциирована с пакетом, который содержит видеоданные.
Еще один аспект имеет отношение к устройству, содержащему машиночитаемую память, хранящую набор инструкций, сконфигурированных для того, чтобы кодировать видеоданные; формировать пакет интернет-протокола (IP) с кодированными видеоданными; передавать пакет через беспроводный канал сети доступа; принимать от сети доступа отрицательное уведомление (NAK) в уровне управления доступом к среде передачи (MAC); определять, ассоциирована ли принятая NAK с пакетом, который содержит видеоданные; определять, какой пакет IP содержит данные, которые были потеряны в передаче; выполнять коррекцию ошибок, если принятая NAK ассоциирована с пакетом, который содержит видеоданные.
Еще один аспект имеет отношение к устройству, содержащему машиночитаемую память, хранящую набор инструкций, сконфигурированных для того, чтобы кодировать первый кадр видеоданных; формировать пакет с кодированным первым кадром видеоданных; передавать пакет через беспроводный канал сети доступа; определять, принял ли от сети доступа уровень управления доступом к среде передачи (MAC) отрицательное уведомление (NAK), прежде чем кодировать второй кадр видеоданных; определять, ассоциирована ли принятая NAK с пакетом, который содержит видеоданные, а затем выполнять коррекцию ошибок, если принятая NAK ассоциирована с пакетом, который содержит видеоданные.
Еще один аспект имеет отношение к устройству, содержащему видеокодер, сконфигурированный для того, чтобы кодировать видеоданные; модуль, сконфигурированный для того, чтобы формировать пакет интернет-протокола (IP) с кодированными видеоданными; приемопередатчик, сконфигурированный для того, чтобы: (a) передавать сети доступа пакет через беспроводный канал, и (b) принимать от сети доступа в уровне управления доступом к среде передачи (MAC) отрицательное уведомление (NAK); при этом модуль сконфигурирован для того, чтобы определять, ассоциирована ли принятая NAK с пакетом, который содержит видеоданные, и определять, какой пакет IP содержит данные, которые были потеряны в передаче; и если принятая NAK ассоциирована с пакетом, который содержит видеоданные, видеокодер сконфигурирован для того, чтобы выполнять коррекцию ошибок.
Устройство, содержащее видеокодер, сконфигурированный для того, чтобы кодировать первый кадр видеоданных; первый модуль, сконфигурированный для того, чтобы формировать пакет с кодированным первым кадром видеоданных; приемопередатчик, сконфигурированный для того, чтобы: (a) передавать сети доступа пакет через беспроводный канал и (b) принимать от сети доступа в уровне управления доступом к среде передачи (MAC) отрицательное уведомление (NAK); второй модуль, сконфигурированный для того, чтобы прежде чем кодировать второй кадр видеоданных определять, принял ли уровень MAC от сети доступа NAK, и определять, ассоциирована ли принятая NAK с пакетом, который содержит видеоданные; и модуль коррекции ошибок, сконфигурированный для того, чтобы выполнять коррекцию ошибок, если принятая NAK ассоциирована с пакетом, который содержит видеоданные.
Детали одного или более вариантов осуществления настоящего изобретения изложены ниже в сопровождающих чертежах и описании.
Краткое описание чертежей
Фиг.1 - иллюстрация системы связи с устройством кодирования видео и аудио, посылающим данные через канал передачи устройству декодирования.
Фиг.2 - иллюстрация способа и структуры для первого метода обнаружения и коррекции ошибок, который может быть использован в системе, иллюстрированной на фиг.1.
Фиг.3 - иллюстрация способа и структуры для второго метода обнаружения и коррекции ошибок, который может быть использован в системе, иллюстрированной на фиг.1.
Фиг.4 - дальнейшая иллюстрация первого и второго методов, иллюстрированных на фиг.1 и фиг.2.
Фиг.5 - иллюстрация примера обнаружения потерянного пакета и ускорения интраобновления, которое минимизирует распространение ошибок, вызванных потерянным пакетом.
Осуществление изобретения
Кодирование и передача видео и аудио
Фиг.1 - иллюстрация системы 10 связи с устройством 12 кодирования видео и аудио, посылающим данные через канал 16 передачи (включая компонент 15 сети доступа) устройству 14 декодирования. Устройство 12 кодирования и устройство 14 декодирования могут быть распределены по всей системе 10. Устройство 12 кодирования и устройство 14 декодирования могут представлять собой различные типы устройств, такие как беспроводный телефон, сотовый телефон, ноутбук, беспроводное устройство мультимедиа, карту беспроводной связи персонального компьютера (PC), "карманный" компьютер (PDA), внешний или внутренний модем или любое устройство, которое обменивается информацией через беспроводный канал.
И устройство 12 кодирования, и устройство 14 декодирования могут иметь различные названия, такие как терминал доступа (AT), блок доступа, абонентский блок, мобильная станция, мобильное устройство, мобильный блок, мобильный телефон, мобильная удаленная станция, удаленный терминал, удаленный блок, пользовательское устройство, пользовательское оборудование, карманное устройство и т.д.
Каждое устройство 12, 14 может обмениваться информацией с компонентом 15 сети доступа (AN) по прямой линии связи (FL) и/или обратной линии связи (RL). FL (нисходящая линия связи) соответствует передаче от АN 15 к устройствам 12, 14. Обратная линия связи (или восходящая линия связи) соответствует передаче от устройства 12, 14 к AN 15. AN 15 может соответствовать сетевой части системы связи и может включать в себя (но не в качестве ограничения) или реализовывать функцию базовой станции (BS), приемопередающей системы базовой станции (BTS), точки доступа (AP), приемопередатчика модемного пула (MPT), Узла B (например, в системе типа WCDMA) и т.д.
Устройство 12 кодирования может находиться в первом устройстве видеосвязи и может включать в себя источник 17 аудио, источник 18 видео, видеокодер 20, аудиокодер 22, транспортный протокол в реальном времени (RTP)/протокол пользовательских датаграмм (UDP)/модуль 26 преобразования интернет-протокола (IP), очередь 28 протокола работы радиолинии связи (RLP), модуль 30 уровня MAC и модуль 32 физического уровня (PHY). Другие варианты осуществления устройства 12 кодирования могут включать в себя другие элементы взамен или в дополнение к элементам, которые показаны на фиг.1. Другие варианты осуществления устройства 12 кодирования могут включать в себя меньше элементов, чем показано на фиг.1.
Устройство 14 декодирования может находиться в другом устройстве видеосвязи и может включать в себя модуль 34 уровня PHY, модуль 36 уровня MAC, очередь 38 RLP, модуль 40 преобразования RTP/UDP/IP, видеодекодер 42, аудиодекодер 44, блок 46 вывода аудио и блок 48 вывода видео. Другие варианты осуществления устройства 14 декодирования могут включать в себя другие элементы взамен или в дополнение к элементам, которые показаны на фиг.1. Другие варианты осуществления устройства 14 декодирования могут включать в себя меньше элементов, чем показано на фиг.1.
Через канал 16 система 10 может обеспечивать двунаправленную передачу видео и аудио, такую как видеотелефония (VT). Аналогичные - кодирование, декодирование и модули преобразования могут быть предоставлены на противоположных концах канала 16. В некоторых вариантах осуществления настоящего изобретения устройство 12 кодирования и устройство 14 декодирования могут быть воплощены в пределах устройств видеосвязи, таких как беспроводные мобильные терминалы, оборудованные для потокового видео, VT или обоих. Мобильные терминалы могут поддерживать VT в соответствии со стандартами пакетной коммутации, такими как RTP, UDP или IP.
Источник 18 видео может быть устройством захвата видеоизображений, таким как видеокамера, одним или более видеоархивов или комбинацией видеокамеры и видеоархивов. Видеокодер 20 формирует кодированные пакеты видеоданных в соответствии со способом сжатия видеоизображения, таким как MPEG-4. Могут быть использованы другие способы сжатия видеоизображения, такие как H.263 Международного союза по телекоммуникациям (ITU), H.264 ITU, или способы MPEG-2. Видеокодер 20 может обеспечить схему управления скоростью источника видео, которая в большинстве случаев зависит от кодека. Например, видеокодер 20 может быть выполнен с возможностью кодирования видео в соответствии с MPEG4, H.263 ITU
или H.264 ITU. Видеокодер 20 может быть реализован посредством DSP или встроенного логического ядра.
Источник 17 аудио может быть устройством захвата аудио, таким как микрофон, или устройством синтезатора речи. Аудиокодер 22 может кодировать аудиоданные и формировать пакеты аудио для сопровождения видеоданных. Аудиоданные могут быть кодированы в соответствии со способом сжатия аудио, таким как адаптивная мультискоростная узкая полоса частот (AMR-NB) или другими методиками. Применительно к VT видео позволит увидеть участника VT конференции, а аудио позволит услышать голос этого говорящего участника.
Модуль 26 преобразования RTP/UDP/IP получает пакеты видео и аудиоданных от видеокодера 20 и аудиокодера 22. Модуль 26 преобразования RTP/UDP/IP может добавить соответствующую информацию заголовка RTP/UDP/IP к пакетам аудио и видеоданных, принятым от аудиокодера 22 и видеокодера 20, и поместить пакеты данных в очередь 28 RLP. RTP может функционировать вверху UDP. UDP может функционировать вверху IP. В определенной конфигурации IP может функционировать на верхнем уровне протокола передачи от точки к точке (PPP).
Модуль 30 уровня MAC может восстановить пакеты RLP из очереди 28 RLP и сформировать пакеты уровня MAC. Каждый пакет уровня MAC может переносить информацию заголовка RTP/UDP/IP и пакет аудио или видеоданных, которые находятся в пределах очереди 28 RLP.
Пакеты аудио могут быть вставлены в очередь 28 RLP независимо от пакетов видео. В некоторых случаях пакет уровня MAC, сформированный из контента очереди 28 RLP, будет переносить только информацию заголовка и пакет видеоданных. В других случаях пакет уровня MAC будет переносить только информацию заголовка и пакет аудиоданных. В других случаях пакет уровня MAC будет переносить информацию заголовка, пакет аудиоданных и пакет видеоданных, в зависимости от контента очереди 28 RLP. Пакеты уровня MAC могут быть сконфигурированы в соответствии с протоколом работы радиолинии связи (RLP) и могут упоминаться как пакеты MAC RLP.
Модуль 32 уровня PHY может преобразовать пакеты MAC RLP в пакеты уровня PHY для передачи по каналу 16. Канал 16 переносит пакеты уровня PHY на устройство 14 декодирования.
В устройстве 14 декодирования модуль 34 уровня PHY и модуль 36 уровня MAC могут работать аналогичным образом. Модуль 34 уровня PHY может отличить пакеты уровня MAC от пакетов уровня PHY и преобразовать/перекомпоновать пакеты уровня PHY, принятые из канала 16 в пакеты MAC RLP.
Модуль 36 уровня MAC может перекомпоновать контент пакетов MAC RLP, чтобы предоставить пакеты видео и аудио для вставки пакетов MAC RLP в очередь 38 RLP. Модуль 40 преобразования RTP/UDP/IP может убрать/снять сопроводительную информацию заголовка из данных в очереди 38 RLP и перекомпоновать видео и аудиоданные для доставки на видеодекодер 42 и аудиодекодер 44, соответственно.
Видеодекодер 42 декодирует кадры видеоданных для того, чтобы создать поток видеоданных для использования в работе устройства 48 отображения (устройство вывода видео). Аудиодекодер 44 декодирует аудиоданные, чтобы создать аудиоинформацию для представления пользователю, например, через динамик 46 (устройство вывода аудио).
Видеотелефония (VT) соответствует передаче в реальном времени пакетов аудио и видео, по меньшей мере, между двумя устройствами, такими как системы 12 и 14. Применительно к мобильной VT устройство VT (беспроводный терминал) принимает пакеты уровня PHY через беспроводную прямую линию связи (FL) (то есть "нисходящую линию связи") от базовой станции. Устройство VT передает пакеты уровня PHY через беспроводную обратную линию связи (RL) (то есть "восходящую линию связи") базовой станции.
Система 10 и канал 16 могут быть выполнены с возможностью поддерживать одну или более технологий беспроводной связи, таких как множественный доступ с кодовым разделением каналов (CDMA), множественный доступ с частотным разделением каналов (FDMA), множественный доступ с временным разделением каналов (TDMA), мультиплексирование с ортогональным разделением частот (OFDM) или другая подходящая беспроводная методика. Вышеупомянутые технологии беспроводной связи могут быть реализованы в соответствии с любой из множества методик радиодоступа. Например, CDMA может быть реализована в соответствии со стандартами CDMA2000 или широкополосным CDMA (WCDMA). TDMA может быть реализована в соответствии со стандартом глобальная система мобильной связи (GSM). Стандарт универсальная система мобильных телекоммуникаций (UMTS) допускает работу WCDMA или GSM. Для приложений VT система 10 может быть выполнена с возможностью поддерживать технологии стандарта высокой скорости передачи данных (HDR), такие как CDMA2000 1x EV-DO, Редакция 0, Версия A или последующие версии EV-DO.
Состояние канала может быть небольшой проблемой для беспроводных каналов, но может быть особенно проблематичным для приложений мобильной VT, в которой состояние канала может пострадать от затухания или сетевой перегрузки.
Коррекция ошибок видео
С помощью нижнего уровня способы коррекции ошибок видео могут адресовать ошибки, которые происходят с видеоданными в течение передачи, по обратной линии связи. Способы могут предоставить возможность видеокодеру 20 использовать информацию об ошибках канала от уровня 30 MAC и немедленно применять коррекцию ошибок, не ожидая обратной связи от принимающего устройства 14. Способы могут использовать механизмы, чтобы извлечь/принять информацию об ошибках, которая может быть понятна видеокодеру 20. В зависимости от желаемой сложности реализации информация об ошибках от уровня 30 MAC может быть преобразована в два отличающихся формата.
После приема от нижних уровней сообщений об ошибках видеокодер 20 может: (a) использовать для нового кадра отличающийся опорный кадр, (b) увеличить скорость обновления интрамакроблока (МВ) или (c) вставить интракадр (ключевой кадр или I-кадр), чтобы остановить распространение ошибок в приемнике. Вставка I-кадра по существу та же, что и ускорение интраобновления. В I-кадре каждый MB интракодирован, то есть не зависит от предыдущего кадра, что может остановить распространение ошибок. Для обновления интра-МB только некоторые МB интра-кодируются. Вариант (c) можно обойти, используя повторяющиеся I-кадры (или уменьшение скорости обновления интракадра) для улучшения эффективности кодирования и задержки видео, а также обеспечения лучшего качества видео, когда происходят ошибки. Качество видео может улучшиться, так как видеокодер 20 может устранить ошибки сразу вместо того, чтобы постепенно обновлять каждый MB в последовательности кадров.
Фиг.5 - иллюстрация примера обнаружения потерянного пакета и ускорения интраобновления, которое минимизирует распространение ошибок, вызванных потерянным пакетом.
Ниже используется обратная линия связи CDMA2000 1x EV-DO Версии A, как один пример приема/извлечения информации об ошибке от уровня 30 MAC. Способы также могут быть применены к другим системам связи, таким как система WCDMA с высокоскоростным пакетным доступом по восходящей линии связи (HSUPA), которые используют H-ARQ, NAK или другой подобный метод обнаружения ошибок передачи и/или потерянной информации.
Описанные ниже способы могут обеспечить выполняемую по всем уровням оптимизацию для характеристик ошибок в плане мультимедиа по беспроводным сетям, включая видеотелефонию и совместное использование видео, где ошибки передачи могут быть неизбежны.
В отношении ошибок передачи по прямой линии связи (нисходящая линия связи) некоторые способы могут использовать сквозную обратную связь для предоставления информации об ошибках. Однако если эти способы исключительно полагаются на сквозную обратную связь, они не могут достаточно быстро реагировать на ошибки передачи RL, чтобы уменьшить артефакты, вызванные потерянными пакетами. Описанные в этом документе способы RL могут дополнять метод сквозной обратной связи.
Коррекция ошибок видео с помощью MAC, используя информацию NAK
Этот раздел описывает два способа коррекции ошибок видео с помощью MAC, которые используют информацию отрицательного уведомления (NAK) от сети 15 доступа. В обоих способах видеокодер 20 или модуль 206 коррекции ошибок может запрашивать уровень 30 MAC на покадровой основе, то есть прежде чем кодировать новый кадр, видеокодер 20 может принять информацию об ошибках от одного или более нижних уровней и, если необходимо, выполнить коррекцию ошибок. Исходя из типа сообщения информации об ошибках, видеокодер 20 может реализовать отличающиеся схемы коррекции ошибок для подавления распространения ошибок.
Первый метод: коррекция ошибок, используя NAK пакета IP потока видео
Фиг.2 - иллюстрация способа и структуры для первого метода, где видеокодер 20 или модуль 206 коррекции ошибок информируются, какие макроблоки (МВ) в видеокадре были потеряны в течение передачи. Каждый кадр видео может содержать много макроблоков.
Когда происходят ошибки передачи, сеть 15 доступа посылает NAK в обратный канал трафика уровня 30 MAC (RTCMAC). Уровень 30 MAC информирует модуль 210 протокола объединения пакетов (PCP) о пакете MAC, ассоциированном с этой NAC.
Модуль 210 PCP определяет, содержит ли потерянный пакет MAC какие-нибудь данные потока видео. Аудио и видеоданные могут быть помещены в один и тот же пакет MAC, даже если качество сервиса (QoS) поддерживается в обратной линии связи EV-DO Версии A. Если в потерянном пакете MAC есть видеоданные, то модуль 210 PCP посредством NAK пакета RLP информирует модуль 208 RLP, какая очередь RLP (может быть несколько очередей RLP) содержит пакет, в котором возникли ошибки в течение передачи.
Модуль 208 RLP определяет, какой пакет IP содержит потерянные данные. Модуль 208 RLP обладает информацией о пакете IP. Для EV-DO Версии A поток видео конфигурирован так, чтобы блок данных потока линии связи являлся IP пакетом. Затем посредством NAK пакета IP потока видеомодуль 208 RLP информирует в уровне приложений уровень 202 RTP, какой пакет IP был потерян.
Уровень 202 RTP поддерживает карту или таблицу, которая преобразует потерянный пакет IP в потерянные в кадре МВ. Затем информация о потерянных МВ будет передана к модулю 206 коррекции ошибок и/или видеокодеру 20 для дальнейшей коррекции ошибок.
Этот первый метод может включать в себя модификации в трех отличающиеся уровнях:
- Видеокодер 20 передает уровню 202 RTP информацию МВ в каждом пакете.
- Уровень 202 RTP поддерживает карту или таблицу преобразования между пакетами IP (индексированными посредством порядковых номеров) и макроблоками. Если пакет IP потерян, уровень 202 RTP может преобразовать пакет IP в макроблоки и информировать видеокодер 20 о потерянных МВ. Ассоциированный с каждым пакетом IP порядковый номер также может быть передан модулю 208 RLP.
- Модуль 208 RLP отслеживает, как пакеты IP фрагментируются в пакеты RLP, и посредством проверки порядкового номера определяет, какой пакет IP потерян.
Для коррекции ошибок, так как видеокодер 20 знает, какие МВ потеряны, видеокодер 20 или модуль 206 коррекции ошибок может реализовать один или более нижеследующих способов коррекции ошибок:
- Ограничение диапазона поиска оценки движения так, чтобы поврежденная (потерянная) часть не использовалась как предсказание.
- Интракодирование совмещенных МВ и их соседних МВ.
- Использование отличающихся опорных кадров для совмещенных МВ.
Второй метод: коррекция ошибок, используя NAK потока видео
Описанный выше первый метод может предоставить хорошую возможность коррекции ошибок и производительность, но сложность реализации может быть относительно высокой. Первый метод может иметь необходимость в изменении RTP и уровней 202, 208 RLP. Второй метод может предоставить более простой, но эффективный метод коррекции ошибок.
Фиг.3 - иллюстрация способа и структуры для второго метода. По сравнению с иллюстрированным на Фиг.2, для Фиг.3 может не потребоваться модификации уровня 202 RTP. Фактически, второй метод может не нуждаться в выполнении каких-либо операций в уровне 202 RTP. Вместо этого видеокодер или модуль 206 коррекции ошибок может сделать запрос модуля 208 RLP до кодирования каждого нового кадра видеоданных, а информация об ошибке для коррекции ошибок может быть передана непосредственно на видеокодер 20 или модуль 206 коррекции ошибок. Это сообщение об ошибках может просто быть флагом (например, бит), установленным в модуле 208 RLP, который информирует видеокодер 20, если были потеряны какие-нибудь данные в потоке видео с тех пор, как был сделан последний запрос уровня 30 MAC. В одном варианте осуществления настоящего изобретения уровень 30 MAC может автоматически посылать NAK модулю 210 РСР, который посылает NAK модулю 208 RLP, который устанавливает флаг без каких-либо запросов уровней 210 PCP или 30 MAC.
Между кодированием двух кадров видео видеокодеру 20 может только потребоваться знать, были ли какие-нибудь данные потеряны в предыдущем кадре, таким образом, видеокодер 20 или модуль 206 коррекции ошибок может выполнять коррекцию ошибок на текущем кадре. Поскольку кодер 20 или модуль 206 коррекции ошибок запрашивает модуль 208 RLP на покадровой основе, то есть прежде чем кодировать новый кадр, знание, есть ли какая-нибудь ошибка передачи, может быть столь же полезным, как и знание, какой пакет IP был потерян.
Если уровнем MAC используется автоматический повторный запрос (MARQ) для потока видео, этот флаг должен быть установлен только, когда содержащий видеоданные пакет MARQ не подтвержден (ACK) положительно в физическом уровне.
Этот второй метод может очень упростить сложность реализации и предоставить полезную для видеокодера 20 информацию для того, чтобы выполнить надлежащую коррекцию ошибок. Однако, так как флаг может только указать, была ошибка или нет, видеокодер 20 может не знать, какая часть кадра потеряна. Поэтому коррекция ошибок должна предполагать, что ошибка может произойти в любой части любого кадра, начиная с последнего запроса.
Как только этот флаг установлен, видеокодер 20 может выполнить один или более нижеследующих способов коррекции ошибок, которые могут отличаться от первого метода:
- Кодирование текущего кадра в виде I-кадра.
- Увеличение процента интракодированных МВ.
- Использование для оценки движения кадра перед предыдущим кадром в качестве опорного.
Фиг.4 - дальнейшая иллюстрация первого и второго метода. Канал обратной линии связи EV-DO Версии A используется в качестве примера, но могут быть использованы другие типы каналов, стандартов и протоколов связи. Как иллюстрировано в нижней части фиг.4, уровень 30 MAC посылает пакет MAC, содержащий аудио и видеоданные, физическому уровню 32 в виде первого подпакета во временном слоте n. Например, в уровне 30 MAC может быть 50 пакетных передач в секунду, полагая 12-й слот завершением, и все эти пакеты MAC переносят видеоданные. Физический уровень EV-DO может предоставить возможность терминалу доступа почти мгновенно обнаружить потерянный пакет по обратной линии связи.
Уровень 30 MAC принимает от базовой станции NAK через канал гибридного ARQ (H-ARQ). Уровень 30 MAC пытается послать второй подпакет в течение временного слота n+3. Уровень 30 MAC принимает от базовой станции вторую NAK опять через канал H-ARQ. Уровень 30 MAC пытается послать третий подпакет в течение временного слота n+6. Уровень 30 MAC принимает от базовой станции третий NAK опять через канал H-ARQ. Уровень 30 MAC пытается послать четвертый подпакет в течение временного слота n+9. Уровень MAC 30 принимает от базовой станции NAK через канал последнего ARQ (L-ARQ), а также принимает от базовой станции NAK через канал пакетного ARQ (P-ARQ). Это инициирует уровень 30 MAC информировать модуль 210 РСР.
Второй подход может позволить видеокодеру 20 быстро восстанавливаться после ошибок и пользователь может не заметить ухудшения качества видео. Второй метод может вставлять I-кадр сразу после ошибок, чтобы немедленно остановить распространение ошибок. Когда ошибок нет, посредством I-кадров второй метод может обеспечить лучшее качество и меньшее количество пропусков кадра, чем другие способы.
Устройство 12 кодирования видео может включать в себя выделенную память для того, чтобы хранить инструкции и данные, а также выделенные аппаратные средства, программные средства, встроенное программное обеспечение или их комбинации. Если реализованы в программных средствах, эти методики могут быть реализованы как инструкции на машиночитаемом носителе, таком как оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), энергонезависимое оперативное запоминающее устройство (NVRAM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), флеш-память и т.п. Упомянутые инструкции предписывают одному или более процессорам выполнять конкретные аспекты функциональных возможностей, раскрытых в настоящем описании.
Описанные в настоящем изобретении методики могут быть реализованы в рамках универсального микропроцессора, цифрового процессора сигналов (DSP), специализированной интегральной схемы (ASIC), вентильной матрицы, программируемой пользователем (FPGA), или других эквивалентных логических устройствах. Например, устройство 12 кодирования видео, устройство 14 декодирования видео и ассоциированные компоненты и модули могут быть реализованы как составляющие процесса кодирования или процесса кодирования/декодирования (CODEC), запущенного на цифровом процессоре сигналов (DSP) или другом устройстве обработки. Соответственно, компоненты, описанные как модули, могут формировать программируемые возможности такого процесса или отдельного процесса.
Устройство 12 кодирования видео может включать в себя выделенную память для того, чтобы хранить инструкции и данные, а также выделенные аппаратные средства, программные средства, встроенное программное обеспечение или их комбинации. Если реализованы в программных средствах, эти методики могут быть реализованы как инструкции, выполняемые одним или более процессорами. Инструкции могут сохраняться на машиночитаемом носителе, таком как оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), энергонезависимое оперативное запоминающее устройство (NVRAM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), флеш-память, магнитное или оптическое устройство хранения данных и т.п. Упомянутые инструкции предписывают одному или более процессорам выполнять конкретные аспекты функциональных возможностей, раскрытых в настоящем описании.
Описаны различные варианты осуществления настоящего изобретения. Эти и другие варианты осуществления настоящего изобретения находятся в пределах нижеследующей формулы изобретения.
Изобретение относится к видеокодированию, и в частности, к нижнему уровню обратной линии связи, способствующему коррекции ошибок видеоданных. Техническим результатом является повышение эффективности коррекции ошибок видеоданных. Указанный результат достигается тем, что кодируют видеоданные, формируют пакет с кодированными видеоданными и передают пакет через беспроводной канал в сеть доступа. Уровень управления доступом к среде передачи (MAC) принимет от сети доступа отрицательное уведомление (NAK). Определяют, ассоциирована ли принятая NAK с пакетом, который содержит видеоданные. Если принятая NAK ассоциирована с пакетом, который содержит видеоданные, выполняют коррекцию ошибок. 6 н. и 30 з.п. ф-лы, 5 ил.
1. Способ коррекции ошибок видео, содержащий этапы, на которых кодируют видеоданные; формируют пакет интернет-протокола (IP) с кодированными видеоданными; передают упомянутый пакет в сеть доступа через беспроводной канал; принимают отрицательное уведомление (NAK) от сети доступа на уровне управления доступом к среде передачи (MAC); определяют, ассоциировано ли принятое NAK с пакетом, который содержит видеоданные; определяют, какой пакет IP содержит данные, которые были потеряны в течение передачи; выполняют коррекцию ошибок, если принятое NAK ассоциировано с пакетом, который содержит видеоданные.
2. Способ по п.1, в котором пакет содержит макроблоки (MB) видеоданных, при этом упомянутый способ дополнительно содержит этап, на котором передают информацию о макроблоках от видеокодера на уровень транспортного протокола связи в реальном времени (RTP).
3. Способ по п.1, дополнительно содержащий этапы, на которых запрашивают уровень MAC после кодирования кадра видеоданных, но до кодирования нового кадра видеоданных для того, чтобы определить, принял ли NAK уровень MAC; и выполняют коррекцию ошибок, если уровень MAC принял NAK.
4. Способ по п.1, дополнительно содержащий этап, на котором информируют модуль протокола объединения пакетов (РСР) о принятом NAK.
5. Способ по п.1, дополнительно содержащий этап, на котором информируют модуль протокола работы радиолинии связи (RLP) о принятом NAK, если принятое NAK ассоциировано с пакетом, который содержит видеоданные.
6. Способ по п.5, дополнительно содержащий этап, на котором определяют, какая очередь RLP содержит пакет, в котором возникли ошибки в течение передачи.
7. Способ по п.1, дополнительно содержащий этап, на котором информируют уровень приложений о пакете, ассоциированном с принятым NAK.
8. Способ по п.1, дополнительно содержащий этапы, на которых поддерживают карту соответствия между пакетами Интернет-протокола IP и макроблоками видеоданных; определяют, используя карту соответствия для преобразования пакета IP в макроблоки кадра видео, какие макроблоки были потеряны в течение передачи, после определения, какой пакет IP содержит данные, которые были потеряны в течение передачи; выполняют коррекцию ошибок для макроблоков, которые были потеряны в течение передачи.
9. Способ по п.8, в котором коррекция ошибок включает в себя, по меньшей мере, одно из: (а) ограничение диапазона поиска оценки движения так, чтобы поврежденная часть не использовалась как предсказание, (b) интракодирование совмещенных макроблоков и соседних макроблоков и (с) использование отличающихся опорных кадров для совмещенных макроблоков.
10. Способ по п.1, в котором беспроводной канал содержит канал, соответствующий Версии А стандарта CDMA2000 lx EV-DO (множественного доступа с кодовым разделением с развитием по оптимизации передачи данных).
11. Способ по п.1, в котором беспроводной канал содержит канал широкополосного множественного доступа с кодовым разделением (WCDMA) с высокоскоростным пакетным доступом по восходящей линии связи (HSUPA).
12. Способ коррекции ошибок видео, содержащий этапы, на которых кодируют первый кадр видеоданных; формируют пакет с кодированным первым кадром видеоданных; передают упомянутый пакет в сеть доступа через беспроводной канал; перед кодированием второго кадра видеоданных определяют, принял ли уровень управления доступом к среде передачи (MAC) отрицательное уведомление (NAK) от сети доступа; определяют, ассоциировано ли принятое NAK с пакетом, который содержит видеоданные; и выполняют коррекцию ошибок, если принятое NAK ассоциировано с пакетом, который содержит видеоданные.
13. Способ по п.12, в котором на этапе определения, принял ли уровень управления доступом к среде передачи (МАС) отрицательное уведомление (NAK) от сети доступа, проверяют, установлен ли флаг в модуле протокола работы радиолинии связи (RLP).
14. Способ по п.12, дополнительно содержащий этап, на котором информируют уровень приложений о принятом NAK.
15. Способ по п.12, дополнительно содержащий этап, на котором информируют видеокодер о принятом NAK.
16. Способ по п.12, дополнительно содержащий этап, на котором в модуле протокола работы радиолинии связи (RLP) устанавливают однобитный флаг, указывающий, что уровень MAC принял NAK.
17. Способ по п.12, в котором коррекция ошибок включает в себя, по меньшей мере, одно из: (а) кодирование второго кадра в виде I-кадра, (b) увеличение процентного отношения интракодированных макроблоков и (с) использование кадра перед первым кадром в качестве опорного для оценки движения.
18. Машиночитаемая память, хранящая набор инструкций, сконфигурированных для того, чтобы осуществлять коррекцию ошибок видео, причем упомянутые инструкции при исполнении заставляют компьютер
кодировать видеоданные; формировать пакет Интернет-протокола (IP) с кодированными видеоданными; передавать этот пакет через беспроводной канал в сеть доступа; принимать от сети доступа отрицательное уведомление (NAK) на уровне управления доступом к среде передачи (MAC); определять, ассоциировано ли принятое NAK с пакетом, который содержит видеоданные; определять, какой пакет IP содержит данные, которые потеряны в течение передачи; и выполнять коррекцию ошибок, если принятое NAK ассоциировано с пакетом, который содержит видеоданные.
19. Машиночитаемая память по п.18, причем упомянутый пакет содержит макроблоки (MB) видеоданных, дополнительно содержащая инструкции для передачи информации о макроблоках от видеокодера на уровень транспортного протокола связи в реальном времени (RTP).
20. Машиночитаемая память по п.18, в которой инструкции дополнительно сконфигурированы для того, чтобы запрашивать уровень MAC, после кодирования кадра видеоданных, но до кодирования нового кадра видеоданных, для определения, принял ли NAK уровень MAC; и выполнять коррекцию ошибок, если уровень MAC принял NAK.
21. Машиночитаемая память по п.18, в которой инструкции дополнительно сконфигурированы для того, чтобы информировать модуль протокола объединения пакетов (РСР) о принятом NAK.
22. Машиночитаемая память по п.18, в которой инструкции дополнительно сконфигурированы для того, чтобы информировать модуль протокола работы радиолинии связи (RLP) о принятом NAK, если принятое NAK ассоциировано с пакетом, который содержит видеоданные.
23. Машиночитаемая память по п.22, в которой инструкции дополнительно сконфигурированы для того, чтобы определять, какая очередь RLP содержит пакет, в котором возникли ошибки в течение передачи.
24. Машиночитаемая память по п.18, в которой инструкции дополнительно сконфигурированы для того, чтобы информировать уровень приложений о пакете, ассоциированном с принятым NAK.
25. Машиночитаемая память по п.18, в которой инструкции дополнительно сконфигурированы для того, чтобы поддерживать карту соответствия между пакетами Интернет-протокола (IP) и макроблоками видеоданных; после определения, какой пакет IP содержит данные, которые были потеряны в течение передачи, использовать карту соответствия для преобразования пакета IP в макроблоки кадра видео, чтобы определить, какие макроблоки были потеряны в течение передачи; и выполнять коррекцию ошибок для макроблоков, которые были потеряны в течение передачи.
26. Машиночитаемая память по п.25, в которой коррекция ошибок включает в себя, по меньшей мере, одно из: (а) ограничение диапазона поиска оценки движения так, чтобы поврежденная часть не использовалась как предсказание, (b) интракодирование совмещенных макроблоков и соседних макроблоков и (с) использование отличающихся опорных кадров для совмещенных макроблоков.
27. Машиночитаемая память по п.18, причем беспроводной канал содержит канал, соответствующий Версии А стандарта CDMA2000 lx EV-DO (множественного доступа с кодовым разделением с развитием по оптимизации передачи данных).
28. Машиночитаемая память по п.18, причем беспроводной канал содержит канал широкополосного множественного доступа с кодовым разделением каналов (WCDMA) с высокоскоростным пакетным доступом по восходящей линии связи (HSUPA).
29. Машиночитаемая память, хранящая набор инструкций, сконфигурированных для того, чтобы осуществлять коррекцию ошибок видео, причем упомянутые инструкции при исполнении заставляют компьютер кодировать первый кадр видеоданных; формировать пакет с кодированным первым кадром видеоданных; передавать этот пакет через беспроводной канал в сеть доступа; определять перед кодированием второго кадра видеоданных, принял ли уровень управления доступом к среде передачи (MAC) отрицательное уведомление (NAK) от сети доступа; определять, ассоциировано ли принятое NAK с пакетом, который содержит видеоданные; и выполнять коррекцию ошибок, если принятое NAK ассоциировано с пакетом, который содержит видеоданные.
30. Машиночитаемая память по п.29, в которой при определении, принял ли уровень управления доступом к среде передачи (MAC) отрицательное уведомление (NAK) от сети доступа, проверяют, установлен ли флаг в модуле протокола работы радиолинии связи (RLP).
31. Машиночитаемая память по п.29, в которой инструкции дополнительно сконфигурированы для того, чтобы информировать уровень приложений о принятом NAK.
32. Машиночитаемая память по п.29, в которой инструкции дополнительно сконфигурированы для того, чтобы информировать видеокодер о принятом NAK.
33. Машиночитаемая память по п.29, в которой инструкции дополнительно сконфигурированы для того, чтобы устанавливать в модуле протокола работы радиолинии связи (RLP) однобитный флаг для указания, что уровень MAC принял NAK.
34. Машиночитаемая память по п.29, в которой коррекция ошибок содержит, по меньшей мере, одно из: (а) кодирование второго кадра в виде I-кадра, (b) увеличение процентного отношения интракодированных макроблоков и (с) использование кадра перед первым кадром в качестве опорного для оценки движения.
35. Устройство для осуществления коррекции ошибок видео, содержащее видеокодер, сконфигурированный для того, чтобы кодировать видеоданные; модуль, сконфигурированный для того, чтобы формировать пакет Интернет-протокола с кодированными видеоданными; приемопередатчик, сконфигурированный для того, чтобы (а) передавать упомянутый пакет через беспроводной канал в сеть доступа и (b) принимать отрицательное уведомление NAK от сети доступа на уровне управления доступом к среде передачи (MAC); при этом упомянутый модуль сконфигурирован для того, чтобы определять, ассоциировано ли принятое NAK с пакетом, который содержит видеоданные, и определять, какой пакет IP содержит данные, которые были потеряны в течение передачи; и видекодер, сконфигурированный для того, чтобы выполнять коррекцию ошибок, если принятое NAK ассоциировано с пакетом, который содержит видеоданные.
36. Устройство для осуществления коррекции ошибок видео, содержащее видеокодер, сконфигурированный для того, чтобы кодировать первый кадр видеоданных; первый модуль, сконфигурированный для того, чтобы формировать пакет с кодированным первым кадром видеоданных; приемопередатчик, сконфигурированный для того, чтобы (а) передавать упомянутый пакет через беспроводной канал в сеть доступа и (b) принимать отрицательное уведомление (NAK) от сети доступа на уровне управления доступом к среде передачи (MAC); второй модуль, сконфигурированный для того, чтобы определять, принял ли уровень MAC от сети доступа NAK, прежде чем кодировать второй кадр, и определять, ассоциировано ли принятое NAK с пакетом, который содержит видеоданные; и модуль коррекции ошибок, сконфигурированный для того, чтобы выполнять коррекцию ошибок, если принятое NAK ассоциировано с пакетом, который содержит видеоданные.
US 2004252761 A1, 16.12.2004 | |||
EP 1261163 A2, 27.11.2002 | |||
Устройство для остановки маточных кровотечений | 1987 |
|
SU1482681A1 |
US 2003012212 A1, 16.01.2003 | |||
WO 03077462 A1, 18.09.2003 | |||
KR 20020081521 A, 28.10.2002 | |||
СПОСОБ И УСТРОЙСТВО ДЛЯ ПЕРЕДАЧИ И ПРИЕМА МУЛЬТИМЕДИЙНЫХ ДАННЫХ | 2000 |
|
RU2219671C2 |
Авторы
Даты
2010-05-27—Публикация
2006-10-20—Подача