Кодирование коэффициентов уточнения, основанное на предыстории соответствующих значений коэффициентов преобразования
Иллюстрации
Показать всеИзобретение относится к цифровому видеокодированию и более конкретно к кодированию коэффициентов преобразования в улучшающих слоях схемы масштабируемого видеокодирования (SVC). Техническим результатом является повышение эффективности масштабируемого видеокодирования, основываясь на предыстории значений коэффициента преобразования. Указанный технический результат достигается тем, что используют оценку предыстории значений коэффициента преобразования, ассоциированных с одним или несколькими предыдущими слоями схемы SVC, и оценку одного или нескольких значений коэффициента уточнения, ассоциированных с текущим слоем схемы SVC, основываясь на предыстории. На стороне кодирования процесс кодирования может включать в себя исключение информации для одного или нескольких значений коэффициента уточнения из битового потока и сигнализирование декодеру, что такая информация исключена из битового потока. На стороне декодирования осуществляют синтаксический разбор битового потока для идентификации информации, которая сигнализирует декодеру, что информация исключена из битового потока, и генерирование такой информации, основываясь на предыстории, ассоциированной с одним или несколькими предыдущими слоями схемы SVC. 5 н. и 20 з.п ф-лы, 11 ил., 2 табл.
Реферат
Настоящая заявка испрашивает приоритет на основании следующих предварительных заявок США, все содержимое которых включено в данный документ путем ссылки:
предварительная заявка США № 60/829274, поданная 12 октября 2006 г.,
предварительная заявка США № 60/883741, поданная 5 января 2007 г., и
предварительная заявка США №60/829276, поданная 12 октября 2006 г.
Область техники, к которой относится изобретение
Настоящее описание относится к цифровому видеокодированию и более конкретно - к кодированию коэффициентов преобразования в улучшающих слоях схемы масштабируемого видеокодирования (SVC).
Уровень техники
Возможности цифровых видеоданных могут быть включены в широкий спектр устройств, включая цифровые телевизоры, цифровые системы непосредственного широковещания, устройства беспроводной связи, беспроводные широковещательные системы, карманные персональные компьютеры (PDA), портативные или настольные компьютеры, цифровые камеры, цифровые устройства записи, видеоигровые устройства, видеоигровые приставки, сотовые или спутниковые радиотелефоны и тому подобное. Цифровые видеоустройства реализуют методы сжатия видеоданных, такие как MPEG-2 (Экспертной группы по видеоизображению), MPEG-4 или H.264/MPEG-4, Part 10, Advanced Video Coding (AVC) (усовершенствованное видеокодирование), для более эффективной передачи и приема цифровых видеоданных. Методы сжатия видеоданных выполняют пространственное и временное прогнозирование для уменьшения или устранения избыточности, присущей видеопоследовательностям.
При видеокодировании сжатие видеоданных часто включает в себя пространственное прогнозирование, оценку движения и компенсацию движения. Внутреннее кодирование основывается на пространственном прогнозировании для уменьшения или устранения пространственной избыточности между видеоблоками в данном видеокадре. Внешнее кодирование основывается на временном прогнозировании для уменьшения или устранения временной избыточности между видеоблоками последовательных видеокадров видеопоследовательности. Для внешнего кодирования видеокодер выполняет оценку движения для отслеживания движения соответствующих видеоблоков между двумя или более соседними кадрами. Оценка движения генерирует векторы движения, которые указывают смещение видеоблоков относительно соответствующих видеоблоков прогнозирования в одном или нескольких опорных кадрах. Компенсация движения использует векторы движения для генерирования видеоблоков прогнозирования из опорного кадра. После компенсации движения остаточный видеоблок формируется путем вычитания видеоблока прогнозирования из исходного видеоблока, подлежащего кодированию.
Видеокодер обычно применяет процессы преобразования, квантования и кодирования коэффициентов преобразования, чтобы дополнительно уменьшить скорость передачи битов, ассоциированную с передачей остаточного блока. Кодирование коэффициентов преобразования остаточных блоков, например, может включать в себя кодирование с переменной длиной кодов (VLC) или другие процессы кодирования, чтобы дополнительно сжать остаточные коэффициенты, создаваемые операциями преобразования и квантования. Например, таблица VLC может использоваться для сопоставления различных наборов коэффициентов с кодовыми словами переменной длины таким способом, который способствует эффективному кодированию. Различные таблицы VLC могут использоваться для различного видеоконтента. В качестве альтернативы, остаточные коэффициенты могут кодироваться в качестве структур коэффициентов, например структур кодированных блоков. В любом случае видеодекодер выполняет обратные операции для восстановления коэффициентов и затем выполняет обратное преобразование коэффициентов для восстановления видеоинформации. Видеодекодер может декодировать видеоинформацию, основываясь на информации о движении и остаточной информации, ассоциированной с видеоблоками.
Некоторые типы видеокодирования используют масштабируемые методы. Например, масштабируемое видеокодирование (SVC) относится к видеокодированию, в котором используется базовый слой и один или несколько масштабируемых улучшающих слоев. Для SVC базовый слой обычно переносит видеоданные с базовым уровнем качества. Один или несколько улучшающих слоев переносят дополнительные видеоданные для поддержки более высоких пространственных, временных уровней и/или уровней SNR (отношение сигнал-шум). Базовый слой может передаваться таким способом, который является более надежным, чем передача улучшающих слоев. Улучшающие слои могут добавлять пространственное разрешение кадрам базового слоя или могут добавлять дополнительные кадры для повышения общей частоты кадров. В одном примере, наиболее надежные части модулированного сигнала могут использоваться для передачи базового слоя, тогда как менее надежные части модулированного сигнала могут использоваться для передачи улучшающих слоев. Улучшающие слои могут определять различные типы коэффициентов преобразования, упоминаемые как значимые коэффициенты и коэффициенты уточнения.
Раскрытие изобретения
Настоящее раскрытие в общем описывает методы кодирования коэффициентов уточнения улучшающего слоя в схеме масштабируемого видеокодирования (SVC). Коэффициенты уточнения относятся к коэффициентам улучшающего слоя, для которых соответствующие коэффициенты предыдущего слоя, то есть или базового слоя, или предыдущего улучшающего слоя, в схеме SVC имели ненулевые значения. В противоположность этому значимые коэффициенты относятся к коэффициентам улучшающего слоя, для которого соответствующие коэффициенты предыдущего слоя в схеме SVC имели значения нуля. Кодирование коэффициентов уточнения может выполняться отдельно от кодирования значимых коэффициентов, хотя методы настоящего описания также могут применяться, если коэффициенты уточнения кодируются со значимыми коэффициентами. Термин «коэффициент преобразования» в контексте настоящего документа означает как коэффициенты уточнения, так и значимые коэффициенты.
Согласно методам настоящего описания некоторые из значений коэффициента уточнения могут исключаться из битового потока, который передается с устройства кодирования на устройство декодирования с целью передачи видеоданных или мультимедийного контента. Значения таких коэффициентов уточнения могут выводиться в декодере, основываясь на предыстории, ассоциированной с этими коэффициентами уточнения. В частности, для данного типа видеоблока может быть определено, что значения некоторых из коэффициентов уточнения имеют высокую вероятность быть равными нулю, основываясь на предыстории, ассоциированной с этими коэффициентами уточнения, то есть предыстории соответствующих коэффициентов преобразования предыдущих слоев схемы SVC. В данном случае значения для этих коэффициентов уточнения могут исключаться из битового потока, так как значения могут быть выведены в декодере.
В одном примере настоящее описание обеспечивает способ кодирования коэффициентов уточнения улучшающего слоя в схеме SVC, причем способ содержит этап, на котором оценивают предысторию значений коэффициента преобразования, ассоциированных с одним или несколькими предыдущими слоями схемы SVC, и оценивают одно или несколько значений коэффициента уточнения, ассоциированных с текущим слоем схемы SVC, основываясь на предыстории.
В другом примере настоящее описание обеспечивает устройство, которое кодирует коэффициенты уточнения улучшающего слоя в схеме SVC, причем устройство содержит модуль предыстории, который оценивает предысторию значений коэффициента преобразования, ассоциированных с одним или несколькими предыдущими слоями схемы SVC, и модуль кодирования, который оценивает одно или несколько значений коэффициента уточнения, ассоциированных с текущим слоем схемы SVC, основываясь на предыстории.
В другом примере настоящее описание обеспечивает устройство, которое кодирует коэффициенты уточнения улучшающего слоя в схеме SVC, причем устройство содержит средство для оценки предыстории значений коэффициента преобразования, ассоциированных с одним или несколькими предыдущими слоями схемы SVC, и средство для кодирования, которое оценивает одно или несколько значений коэффициента уточнения, ассоциированных с текущим слоем схемы SVC, основываясь на предыстории.
Методы, описанные в настоящем описании, могут быть реализованы аппаратными средствами, программными средствами, программно-аппаратными средствами или любой их комбинацией. Если они реализованы программными средствами, программные средства могут исполняться в одном или нескольких процессорах, таких как микропроцессор, специализированная интегральная схема (ASIC), программируемая вентильная матрица (FPGA) или процессор цифровой обработки сигналов (DSP). Программные средства, которые исполняют методы, могут исходно храниться на машиночитаемом носителе и загружаться и исполняться в процессоре.
Следовательно, настоящее описание также предусматривает машиночитаемый носитель, содержащий инструкции, которые при исполнении в устройстве видеокодирования побуждают устройство выполнять кодирование коэффициентов уточнения улучшающего слоя в схеме SVC, причем инструкции побуждают устройство выполнять оценку предыстории значений коэффициента преобразования, ассоциированных с одним или несколькими предыдущими слоями схемы SVC, и оценку одного или нескольких значений коэффициента уточнения, ассоциированных с текущим слоем схемы SVC, основываясь на предыстории.
В некоторых случаях машиночитаемый носитель может составлять часть компьютерного программного продукта, который может продаваться изготовителям и/или использоваться в устройстве видеокодирования. Компьютерный программный продукт может включать в себя машиночитаемый носитель и в некоторых случаях также может включать в себя упаковочные материалы.
В другом примере настоящее описание может относиться к схеме, выполненной с возможностью кодирования коэффициентов уточнения улучшающего слоя в схеме SVC, причем схема выполнена с возможностью оценки предыстории значений коэффициента преобразования, ассоциированных с одним или несколькими предыдущими слоями схемы SVC, и оценки одного или нескольких значений коэффициента уточнения, ассоциированных с текущим слоем схемы SVC, основываясь на предыстории.
Подробности одного или нескольких аспектов описания приведены на сопровождающих чертежах и в нижеследующем описании. Другие признаки, задачи и преимущества методов, описанных в настоящем описании, очевидны из описания и чертежей и из формулы изобретения.
Краткое описание чертежей
Фиг.1А и 1В представляют собой схемы отображения, которые иллюстрируют возможные значения коэффициента уточнения, основанные на предыстории соответствующих коэффициентов преобразования в различных слоях схемы масштабируемого видеокодирования (SVC).
Фиг.2 представляет собой примерную блок-схему, иллюстрирующую систему видеокодирования и видеодекодирования.
Фиг.3 представляет собой концептуальную схему, иллюстрирующую видеокадры базового слоя и улучшающего слоя масштабируемого битового потока видеоданных.
Фиг.4 представляет собой блок-схему, иллюстрирующую пример видеокодера, соответствующего настоящему описанию.
Фиг.5 представляет собой блок-схему, иллюстрирующую пример видеодекодера, соответствующего настоящему описанию.
Фиг.6 представляет собой примерную блок-схему узла закодирования коэффициентов, соответствующего настоящему описанию.
Фиг.7 представляет собой примерную блок-схему узла декодирования коэффициентов, соответствующего настоящему описанию.
Фиг.8 представляет собой блок-схему последовательности операций, иллюстрирующую метод кодирования для кодирования коэффициентов уточнения, соответствующий настоящему описанию.
Фиг.9 представляет собой блок-схему последовательности операций, иллюстрирующую методы закодирования и передачи информации о коэффициентах уточнения, соответствующие настоящему описанию.
Фиг.10 представляет собой блок-схему последовательности операций, иллюстрирующую методы приема и декодирования информации о коэффициентах уточнения, соответствующие настоящему описанию.
Осуществление изобретения
Настоящее описание описывает методы кодирования коэффициентов уточнения улучшающих слоев в схеме масштабируемого видеокодирования (SVC). Коэффициенты уточнения относятся к коэффициентам преобразования улучшающего слоя, для которых соответствующие коэффициенты предыдущего слоя в схеме SVC имели ненулевые значения. В противоположность этому значимые коэффициенты относятся к коэффициентам преобразования улучшающего слоя, для которых соответствующие коэффициенты предыдущего слоя в схеме SVC имели значения нуля. Термин «коэффициент преобразования» в контексте настоящего документа означает как коэффициенты уточнения, так и значимые коэффициенты и в общем означает коэффициенты, генерируемые процессом преобразования, таким как дискретное косинусное преобразование (DCT). Кодирование коэффициентов уточнения может выполняться отдельно от кодирования значимых коэффициентов. Кодирование коэффициентов уточнения и значимых коэффициентов обычно включает в себя методологию кодирования с переменной длиной кодов (VLC), в которой различные наборы коэффициентов отображаются на коды с переменной длиной в таблице VLC.
Согласно методам настоящего описания информация, указывающая некоторые значения коэффициента уточнения, может исключаться из битового потока, который передается с устройства кодирования на устройство декодирования с целью передачи видео- или мультимедийного контента. Значения для таких исключенных коэффициентов уточнения могут выводиться в декодере, основываясь на предыстории, ассоциированной с соответствующими коэффициентами преобразования. В частности, для данного типа видеоблока может быть определено, что значения некоторых коэффициентов уточнения имеют высокую вероятность быть равными нулю, основываясь на предыстории, ассоциированной с соответствующими коэффициентами преобразования. В данном случае информация, указывающая значения для этих коэффициентов уточнения, может быть исключена из битового потока, так как значения могут быть выведены в декодере. Коэффициенты уточнения, для которых может быть определено, что они имеют высокую вероятность быть равными нулю, основываясь на предыстории, названы в настоящем документе коэффициентами типа 0, тогда как другие коэффициенты уточнения названы в настоящем документе коэффициентами типа 1.
Устройство кодирования может закодировать сигнал, чтобы инструктировать устройство декодирования для вывода некоторых коэффициентов уточнения, основываясь на предыстории. Такой сигнал может быть простым как однобитовый или многобитовый заголовок для кадра или видеоблока, который инструктирует устройство декодирования для вывода коэффициентов уточнения, например для макроблока конкретного типа, как, например, для блоков с внутренним кодированием. Кодер и декодер могут выполнять взаимно обратные способы процесса кодирования (закодирование и декодирование), в которых оценивается предыстория коэффициентов преобразования для определения, может ли быть исключена информация о коэффициентах уточнения из битового потока кодером и может ли она быть выведена в декодере. Устройство закодирования может посылать информацию на устройство декодирования, указывая, что для некоторого типа кадра или типа макроблока вследствие используемого квантования значительное большинство уровней уточнения, выполняющих некоторые критерии, будет равно 0 (коэффициенты уточнения типа 0). Кроме того, устройство закодирования может сигнализировать устройству декодирования, что равны нулю или не равны нулю все уровни коэффициентов типа 0 в некоторой области, например в блоке или макроблоке. В некоторых случаях может предполагаться, что все коэффициенты типа 0 равны 0. Кроме того, устройство закодирования может сигнализировать устройству декодирования критерии, которые могут использоваться для различения между коэффициентами типа 0 и типа 1, например значения предыстории h (описанной ниже), для которой коэффициенты могут быть определены как коэффициенты типа 0.
Фиг.1А и 1В представляют собой схемы отображения, которые иллюстрируют возможные значения для коэффициентов уточнения, основываясь на предыстории соответствующих коэффициентов преобразования на различных слоях схемы масштабируемого видеокодирования (SVC). Фиг.1А и 1В изображают возможные значения коэффициентов преобразования базового слоя и 1-го, 2-го и 3-го FGS улучшающих слоев (также называемых FGS-слоями). FGS представляет масштабируемость отношения сигнал-шум тонкой гранулярности и объясняется более подробно ниже.
Предыстория любого коэффициента уточнения может отслеживаться по предыдущим коэффициентам преобразования (которыми могут быть коэффициенты уточнения или значимые коэффициенты) предыдущих слоев. На фиг.1А заштрихованная серая область 1-го, 2-го и 3-го FGS улучшающих слоев определяет значимые коэффициенты, которые имеют значения нуля. Также каждая пара коэффициентов по обеим сторонам закрашенной серой области (фиг.1А) 1-го, 2-го и 3-го FGS улучшающих слоев представляет собой значимые коэффициенты, насколько все предыдущие слои определяли значения нуля для этого коэффициента. Все другие незакрашенные области на фиг.1А соответствуют коэффициентам уточнения, для которых соответствующий коэффициент по меньшей мере одного предыдущего слоя определял ненулевое значение для этого коэффициента.
Схемы отображения на фиг.1А и 1В могут соответствовать конкретному параметру {f) зоны нечувствительности. Так называемый параметр зоны нечувствительности обычно определяется как:
f=Q/x,
где Q представляет размер-шаг квантования, и х представляет постоянную для видеоблока данного типа. В стандарте Международного союза электросвязи - сектора телекоммуникаций ITU Н.264 f=Q/3 для блоков с внутренним кодированием и f=Q/6 для блоков с внешним кодированием. Основываясь на этом наблюдении, различные схемы отображения (подобно схемам на фиг.1А и 1В) могут быть созданы для блоков с внутренним кодированием и блоков с внешним кодированием.
Схемы отображения по фиг.1А и 1В соответствуют f=Q/3. Поэтому в данном примере, как применимо к Н.264, схемы отображения на фиг.1А и 1В могут соответствовать блокам с внутренним кодированием. В данном случае, если устройство кодера кодирует сигнал для указания, что одно или несколько значений коэффициента уточнения исключены из кодированного битового потока, устройство декодера может вывести такие значения, основываясь на предыстории, например, посредством применения схемы отображения, подобной той, которая показана на фиг.1А и 1В.
Параметр зоны нечувствительности (f=Q/3) показан на фиг.1А, но Q (размер шага квантования) обозначен как Δ на фиг.1А. На фиг.1А также обозначены расположения некоторых порогов принятия решения и расположения некоторых значений rn восстановления. Каждый коэффициент уточнения определяется относительно предыдущего слоя и может иметь значение -1, 0 или 1. Это также изображено на фиг.1А как возможные значения c2. Каждый сплошной треугольник между порогами принятия решения представляет возможное значение для данного коэффициента преобразования. Особенно, однако, в некоторых случаях, показанных на фиг.1А и 1В, единственно возможным (или вероятным) значением для коэффициента уточнения (при заданной предыдущей предыстории) является значение нуля. В этих случаях настоящее описание предлагает исключить кодирование коэффициента уточнения в кодере и сделать возможным вывод коэффициента уточнения в декодере.
Фиг.1В конкретно обозначает некоторые различные возможности для некоторых коэффициентов уточнения. В области 104 имеется три возможных значения коэффициента уточнения для 3-го FGS слоя относительно 2-го, FGS слоя, т.е. -1, 0 и 1. В данном случае соответствующим значением коэффициента преобразования в базовом слое был 0, соответствующим значением коэффициента преобразования в 1-ом FGS слое была 1 и соответствующим значением коэффициента преобразования во 2-ом FGS слое был 0. При данной предыстории кодер и декодер могут знать, что имеется три возможных значения коэффициента уточнения для 3-го FGS слоя относительно 2-го FGS слоя, т.е. -1, 0 и 1.
В области 105 также имеется три возможных значения коэффициента уточнения для 2-го FGS слоя относительно 1-го FGS слоя, т.е. -1, 0 и 1. В данном случае соответствующим значением коэффициента преобразования в базовом слое была 1, а соответствующим значением коэффициента преобразования в 1-ом FGS слое был 0. При данной предыстории кодер и декодер могут знать, что имеется три возможных значения коэффициента уточнения для 2-го FGS слоя относительно 1-го FGS слоя, т.е. -1, 0 и 1.
Области 101, 102 и 103 иллюстрируют сценарии, в которых кодер и декодер знают (основываясь на предыстории соответствующих коэффициентов преобразования), что коэффициент уточнения будет иметь высокую вероятность того, что он равен нулю. Это можно видеть в областях 101, 102 и 103, поскольку имеется только одно возможное значение коэффициента для n-го слоя относительно (n-1)-го слоя.
В области 101, например, имеется одно возможное значение коэффициента уточнения для 2-го FGS слоя относительно 1-го FGS слоя, т.е. 0. В данном случае соответствующим значением коэффициента преобразования в базовом слое была -1, а соответствующим значением коэффициента преобразования в 1-ом FGS слое была -1. При данной предыстории кодер и декодер могут знать, что имеется одно возможное значение коэффициента уточнения для 2-го FGS слоя относительно 1-го FGS слоя, т.е. 0. В данном случае вероятность того, что коэффициент уточнения фактически равен нулю, очень высокая и может быть предположена на декодере.
В области 102 также имеется одно возможное значение коэффициента уточнения для 3-го FGS слоя относительно 2-го FGS слоя, т.е. 0. В данном случае соответствующим значением коэффициента преобразования в базовом слое была -1, соответствующим значением коэффициента преобразования в 1-ом FGS слое был 0, и соответствующим значением коэффициента преобразования во 2-ом FGS слое была -1. При данной предыстории кодер и декодер могут знать, что имеется одно возможное значение коэффициента уточнения для 3-го FGS слоя относительно 2-го FGS слоя, т.е. 0. В данном случае вероятность того, что коэффициент уточнения фактически равен нулю, очень высокая и может быть предположена на декодере.
В области 103 также имеется одно возможное значение коэффициента уточнения для 3-го FGS слоя относительно 2-го FGS слоя, т.е. 0. В данном случае соответствующим значением коэффициента преобразования в базовом слое была -1, соответствующим значением коэффициента преобразования в 1-ом FGS слое был 0, и соответствующим значением коэффициента преобразования во 2-ом FGS слое была 1. При данной предыстории кодер и декодер могут знать, что имеется одно возможное значение коэффициента уточнения для 3-го FGS слоя относительно 2-го FGS слоя, т.е. 0. В данном случае вероятность того, что коэффициент уточнения фактически равен нулю, очень высокая и может быть предположена на декодере.
Вкратце, для данного уровня квантования и/или параметра зоны нечувствительности вероятное значение для коэффициента уточнения может ограничиваться 0 (или, возможно, другим значением) во многих случаях. Эти случаи могут быть определены на основе предыстории соответствующего коэффициента преобразования в предыдущих слоях. Кроме того, тип квантования и/или параметр нечувствительной зоны, используемый при закодировании, могут быть определены типом кодируемого видеоблока, например с внутренним кодированием (I) или с внешним кодированием (Р или В). Кодер может исключить такие значения коэффициента уточнения из закодированного битового потока и может, возможно, сигнализировать декодеру, что такая информация исключена для одного или нескольких типов видеоблоков. Декодер может генерировать исключенную информацию, основываясь на предыстории, ассоциированной с данным коэффициентом уточнения, например значениях соответствующих коэффициентов преобразования, ассоциированных с данным коэффициентом уточнения. Таким образом может повышаться эффективность кодирования. В некоторых случаях предыстория может не отражать фактические значения коэффициента уточнения, которые генерируются, например, из-за ошибок квантования, но такие случае редкие и не должны ухудшать качество видеоданных на какую-либо существенную величину.
Фиг.2 представляет собой блок-схему, иллюстрирующую систему 10 видеокодирования и видеодекодирования. Как показано на фиг.2, система 10 включает в себя устройство 2 источника, которое передает закодированные видеоданные на устройство 6 приема по каналу 15 связи. Устройство 2 источника может включать в себя источник 11 видеоданных, видеокодер 12 и модулятор/передатчик 14. Устройство 6 приема может включать в себя приемник/демодулятор 16, видеодекодер 18 и устройство 20 отображения. Система 10 может быть выполнена с возможностью применения методов кодирования коэффициентов преобразования, описанных в настоящем документе, при которых значения одного или нескольких коэффициентов уточнения исключаются из передаваемого битового потока и выводятся в устройстве 6 приема, основываясь на предыстории.
Масштабируемое видеокодирование (SVC) ссылается на видеокодирование, при котором используется базовый слой и один или несколько масштабируемых улучшающих слоев. Для SVC базовый слой обычно переносит видеоданные с базовым уровнем качества. Один или несколько улучшающих слоев переносят дополнительные видеоданные для поддержки более высоких пространственных, временных уровней и/или уровней сигнал-шум SNR. Улучшающие слои могут быть определены относительно предыдущего закодированного слоя. Улучшающие слои определяют по меньшей мере два различных типа коэффициентов, упоминаемых как значимые коэффициенты и коэффициенты уточнения. Коэффициенты уточнения могут определять значения относительно соответствующих значений предыдущего закодированного слоя. Кадры улучшающих слоев иногда включают в себя только часть от общего количества видеоблоков в базовом слое или предыдущем улучшающем слое, например только те блоки, для которых выполняется улучшение.
Значимые коэффициенты ссылаются на коэффициенты, для которых соответствующие коэффициенты в предыдущих слоях имели значения нуля. Коэффициенты уточнения ссылаются на коэффициенты, для которых соответствующие коэффициенты в предыдущем слое имели ненулевые значения. Кодирование коэффициентов преобразования обычно включает в себя методологию кодирования с переменной длиной кода (VLC), при которой различные наборы коэффициентов отображаются на коды с переменной длиной в таблице VLC. Кодирование с переменной длиной кодов улучшающих слоев обычно включает в себя двухпроходный подход. Первый проход выполняется для кодирования с переменной длиной кодов значимых коэффициентов, и другой проход выполняется для кодирования с переменной длиной кодов коэффициентов уточнения. Методы настоящего описания особенно полезны для кодирования с переменной длиной кодов коэффициентов уточнения.
В примере по фиг.2 канал 15 передачи данных может содержать любую беспроводную или проводную среду передачи данных, такую как радиочастотный (РЧ) спектр, или одну или несколько физических линий передачи, или любую комбинацию беспроводных и проводных сред. Канал 15 передачи данных может формировать часть пакетной сети, такой как локальная сеть, региональная сеть или глобальная сеть, такая как Интернет. Канал 15 передачи данных в основном представляет любую подходящую среду передачи данных или совокупность различных сред передачи данных для передачи видеоданных с устройства 2 источника на устройство 6 приема.
Устройство 2 источника генерирует кодированные видеоданные для передачи на устройство 6 приема. В некоторых случаях, однако, устройства 2 и 6 могут работать, по существу, симметричным образом. Например, каждое из устройств 2, 6 может включать в себя компоненты видеокодирования и видеодекодирования. Следовательно, система 10 может поддерживать одностороннюю или двустороннюю передачу видеоданных между видеоустройствами 2, 6, например, для потоковой передачи видеоданных, видеовещания или видеотелефонии.
Источник 11 видеоданных устройства 2 источника может включать в себя устройство захвата видеоданных, такое как видеокамера, видеоархив, содержащий ранее захваченные видеоданные, или внешний видеосигнал от провайдера видеоконтента. В качестве другой альтернативы источник 11 видеоданных может генерировать данные, основанные на компьютерной графике, в качестве видеоданных источника или комбинации видеоданных в реальном времени и сгенерированные компьютером видеоданные. В некоторых случаях если источник 11 видеоданных представляет собой видеокамеру, устройство 2 источника и устройство 6 приема могут образовывать так называемые камерофоны или видеотелефоны. В каждом случае захваченное, предварительно захваченные или сгенерированные компьютером видеоданные могут кодироваться видеокодером 12 для передачи с устройства 2 источника видеоданных на видеодекодер 18 устройства 6 приема видеоданных через модулятор/передатчик 14, канал 15 передачи данных и приемник/демодулятор 16. Процессы видеокодирования и видеодекодирования могут реализовывать методы настоящего описания для уменьшения количества данных, ассоциированных с передачей коэффициентов уточнения, основываясь на выводе коэффициентов типа 0 на устройстве 6 приема. Устройство 20 отображения отображает декодированные видеоданные пользователю и может содержать любое из многочисленных устройств отображения, таких как электронно-лучевая трубка, жидкокристаллический дисплей (LCD), плазменный дисплей, дисплей на органических светодиодах (OLED) или другой тип устройства отображения.
Видеокодер 12 и видеодекодер 18 могут быть выполнены с возможностью поддержки SVC для пространственной, временной масштабируемости и/или масштабируемости отношения сигнал-шум (SNR). В некоторых аспектах видеокодер 12 и видеодекодер 18 могут быть выполнены с возможностью поддержки кодирования масштабируемости SNR тонкой гранулярности (FGS) для SVC. Кодер 12 и декодер 18 могут поддерживать различные степени масштабируемости посредством поддержки закодирования, передачи и декодирования базового слоя и одного или нескольких масштабируемых улучшающих слоев. Снова для масштабируемого видеокодирования базовый слой переносит видеоданные с базовым уровнем качества. Один или несколько улучшающих слоев переносят дополнительные данные для поддержки более высоких пространственных, временных уровней и/или уровней SNR. Базовый слой может передаваться таким образом, который является более надежным, чем передача улучшающих слоев. Например, наиболее надежные части модулированного сигнала могут использоваться для передачи базового слоя, тогда как менее надежные части модулированного сигнала могут использоваться для передачи улучшающих слоев.
Для поддержки SVC видеокодер 12 может включать в себя кодер 22 базового слоя и один или несколько кодеров 24 улучшающего слоя для выполнения закодирования базового слоя и одного или нескольких улучшающих слоев соответственно. Методы настоящего описания, которые включают в себя закодирование коэффициентов улучшения, применимы к закодированию видеоблоков улучшающих слоев в SVC. Более конкретно, методы настоящего описания могут быть применимы к VLC коэффициентов уточнения видеоблоков улучшающих слоев, хотя настоящее описание необязательно ограничивается в данном отношении. Согласно настоящему описанию информация, указывающая выводимые коэффициенты типа 0, исключается из битового потока, и VLC применяется только в отношении коэффициентов типа 1. Значения коэффициентов типа 0 генерируются в декодере.
Видеодекодер 18 может включать в себя объединенный базовый/улучшающий декодер, который декодирует видеоблоки, ассоциированные как с базовым, так и улучшающим слоями, и объединяет декодируемые видеоданные для восстановления кадров видеопоследовательности. Устройство 20 отображения принимает декодируемую видеопоследовательность и представляет видеопоследовательность пользователю.
Видеокодер 12 и видеодекодер 18 могут работать по стандарту сжатия видеоданных, такому как MPEG-2, MPEG-4, ITU-T H.263 или ITU-T H.264/MPEG-4, Part 10, Advance Video Coding (AVC). Хотя и не показано на фиг.2, в некоторых аспектах видеокодер 12 и видеодекодер 18 каждый может интегрироваться со звуковым кодером и декодером соответственно и может включать в себя соответствующие узлы MUX-DEMUX (мультиплексора-демультиплексора) или другие аппаратные и программные средства для обработки закодирования как звука, так и видеоданных в общем потоке данных или отдельных потоках данных. Если применимо, узлы MUX-DEMUX могут соответствовать протоколу мультиплексора ITU-T Н.223 или другим протоколам, таким как протокол дейтаграмм пользователя (UDP).
Стандарт Н.264/MPEG-4 (AVC) был сформулирован Группой экспертов по видеокодированию (VCEG) ITU-T вместе с Экспертной группой по вопросам движущегося изображения (MPEG) ISO (Международная организация по стандартизации)/IEC (Международная электротехническая комиссия) в качестве продукта коллективного партнерства, известного как Объединенная команда по видеоданным (JVT). В некоторых аспектах методы, описанные в настоящем описании, могут применяться к устройствам, которые в основном соответствуют стандарту Н.264. Стандарт Н.264 описан в ITU-T Recommendation Н.264, Advanced Video Coding for generic audiovisual services, исследовательской группой ITU-T и датирован мартом 2005 г., который может упоминаться в настоящем документе как стандарт Н.264 или спецификация Н.264 или стандарт или спецификация Н.264/AVC.
Объединенная команда по видеоданным (JVT) продолжает работать над расширением SVC к H.264/MPEG-4 AVC. Спецификация развивающегося расширения SVC находится в виде Совместного проекта (JD). Объединенная модель масштабируемых видеоданных (JSVM), созданная JVT, реализует инструментальные средства для использования в масштабируемых видеоданных, которые могут использоваться в системе 10 для различных задач кодирования, описанных в настоящем описании. Подробную информацию, касающуюся кодирования масштабируемости SNR тонкой гранулярности (FGS), можно найти в документах Совместного проекта и, в частности, в Joint Draft 6 (SVC JD6), Thomas Wiegand, Gary Sullivan, Julien Reichel, Heiko Schwarz and Mathias Wien, «Joint Draft 6: Scalable Video Coding,» JVT-S 201, April 2006, Geneva и в Joint Draft 9 (SVC JD9), Thomas Wiegand, Gary Sullivan, Julien Reichel, Heiko Schwarz and Mathias Wien, «Joint Draft 9 of SVC Amendment», JVT-V 201, January 2007, Marrakech, Morocco.
В некоторых аспектах для видеовещания методы, описанные в настоящем описании, могут применяться к усовершенствованному Н.264 видеокодированию для доставки видеоуслуг в реальном времени в системах наземной мобильной мультимедийной многоадресной передачи (ТМЗ), используя спецификацию радиоинтерфейса только по прямой линии связи (FLO) «Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast», публикуемой как Технический стандарт TIA-1099 («Спецификация FLO»). Т.е. канал 15 передачи данных может содержать беспроводной информационный канал, используемый для широковещательной передачи беспроводной видеоинформации согласно спецификации FLO, или т.п. Спецификация FLO включает в себя примеры, определяющие синтаксис и семантику битового потока и процессы декодирования, пригодные для радиоинтерфейса FLO. В качестве альтернативы, видеоданные могут широковещательно передаваться по другим стандартам, таким как DVB-H (цифровое видеовещание для карманных устройств), ISDB-T (наземное цифровое широковещание с интеграцией услуг) или DMB (цифровое мультимедийное широковещание). Следовательно, устройством 2 источника может быть мобильный беспроводной терминал, сервер поточной передачи видеоданных или сервер видеовещания. Однако методы, описанные в настоящем описании, не ограничиваются каким-то конкретным типом системы широковещания, многоадресной передачи или «точка-точка». В случае широковещания устройство 2 источника может выполнять широковещание по нескольким каналам видеоданных на многочисленные устройства приема, каждый и