кодирование с преобразованием и пространственным улучшением
Классы МПК: | H04N7/50 включающие преобразование и прогнозное кодирование |
Автор(ы): | ЛАЙНЕМА Яни (FI) |
Патентообладатель(и): | Нокиа Корпорейшн (FI) |
Приоритеты: |
подача заявки:
2008-04-09 публикация патента:
20.08.2011 |
Изобретение относится к кодированию и декодированию цифровых видеоданных и, в частности, к кодированию с предсказанием ошибки как в частотной, так и в пространственной области. Техническим результатом является эффективное пространственное представление тех компонентов сигнала ошибки предсказания этого же блока изображения, которые плохо коррелированы с базисными функциями примененного преобразования (такие как шум датчика, высокочастотные текстуры и краевая информация). Указанный технический результат достигается тем, что вычисляют сигнал ошибки предсказания путем определения значений разности между значениями выборок предсказанного блока данных и значениями выборок исходного входного блока, создают модифицированный сигнал ошибки предсказания путем замены значений разности, являющихся выбросами, значениями разности, не являющимися выбросами, причем значение разности, являющееся выбросом, зависит от ожидаемого значения амплитуды значения разности, далее осуществляют кодирование с преобразованием к сигналу ошибки предсказания для создания первого представления первого компонента сигнала ошибки предсказания и пространственное кодирование к сигналу ошибки предсказания для создания второго представления первого компонента сигнала ошибки предсказания, объединяют первое и второе представление и кодируют их. 7 н. и 26 з.п. ф-лы, 11 ил.
Формула изобретения
1. Способ кодирования сигнала ошибки предсказания для блока данных, содержащий: вычисление сигнала ошибки предсказания путем определения значений разности между значениями выборок предсказанного блока данных и значениями выборок исходного входного блока; создание модифицированного сигнала ошибки предсказания путем замены значений разности, являющихся выбросами, значениями разности, не являющимися выбросами, причем значение разности, являющееся выбросом, зависит от ожидаемого значения амплитуды значения разности; применение кодирования с преобразованием к сигналу ошибки предсказания для создания первого представления первого компонента сигнала ошибки предсказания; применение пространственного кодирования к сигналу ошибки предсказания для создания второго представления первого компонента сигнала ошибки предсказания; объединение первого и второго представления, и кодирование объединенных первого и второго представления.
2. Способ по п.1, в котором кодирование с преобразованием применяют к модифицированному сигналу ошибки предсказания, а пространственное кодирование применяют к остатку от него.
3. Способ по п.1, в котором пространственное кодирование применяют к модифицированному сигналу ошибки предсказания, а кодирование с преобразованием применяют к остатку от него.
4. Способ по п.1, в котором для кодирования с преобразованием по меньшей мере один коэффициент преобразования устанавливают равным нулю.
5. Способ по п.1, в котором для пространственного кодирования по меньшей мере одну пространственную выборку устанавливают равной нулю.
6. Способ по п.1, в котором значения, используемые для замены значений выбросов, являются средними значениями соседних значений ошибки предсказания.
7. Способ по п.1, также содержащий обеспечение индикации того, что в блоке данных отсутствуют коэффициенты преобразования, если таковое отсутствие имеет место.
8. Способ по п.1, также содержащий обеспечение индикации того, что в блоке данных отсутствуют пространственные выборки, если таковое отсутствие имеет место.
9. Способ по п.1, в котором для кодирования с преобразованием формируют коэффициент преобразования, который содержит взвешивающий коэффициент базисного вектора дискретного преобразования.
10. Способ по п.9, в котором дискретное преобразование содержит дискретное ортогональное преобразование.
11. Машиночитаемый носитель, содержащий компьютерный код для выполнения процессов по п.1.
12. Кодирующее устройство, содержащее: процессор; и блок памяти, соединенный с процессором с возможностью взаимодействия с ним и содержащий: компьютерный код для вычисления сигнала ошибки предсказания путем определения значений разности между значениями выборок предсказанного блока данных и значениями выборок исходного входного блока; компьютерный код для создания модифицированного сигнала ошибки предсказания путем замены значений разности, являющихся выбросами, значениями разности, не являющимися выбросами, причем значение разности, являющееся выбросом, зависит от ожидаемого значения амплитуды значения разности; компьютерный код для применения кодирования с преобразованием к сигналу ошибки предсказания для создания первого представления первого компонента сигнала ошибки предсказания; компьютерный код для применения пространственного кодирования к сигналу ошибки предсказания для создания второго представления первого компонента сигнала ошибки предсказания; компьютерный код для объединения первого и второго представления; и компьютерный код для кодирования объединенных первого и второго представления.
13. Устройство по п.12, в котором кодирование с преобразованием применяется к модифицированному сигналу ошибки предсказания, а пространственное кодирование применяется к остатку от него.
14. Устройство по п.12, в котором пространственное кодирование применяется к модифицированному сигналу ошибки предсказания, а кодирование с преобразованием применяется к остатку от него.
15. Устройство по п.12, в котором для кодирования с преобразованием по меньшей мере один коэффициент преобразования устанавливается равным нулю.
16. Устройство по п.12, в котором для пространственного кодирования по меньшей мере одна пространственная выборка устанавливается равной нулю.
17. Устройство по п.12, в котором значения, используемые для замены значений выбросов, являются средними значениями соседних значений ошибки предсказания.
18. Устройство по п.12, также содержащее обеспечение индикации того, что в блоке данных отсутствуют коэффициенты преобразования, если таковое отсутствие имеет место.
19. Устройство по п.12, также содержащее обеспечение индикации того, что в блоке данных отсутствуют пространственные выборки, если таковое отсутствие имеет место.
20. Способ декодирования сигнала ошибки предсказания для блока данных, содержащий: прием кодированного сигнала ошибки предсказания, включающего множество коэффициентов преобразования и множество пространственных выборок; декодирование множества коэффициентов преобразования с получением декодированной информации преобразования; декодирование множества пространственных выборок с получением декодированной пространственной информации; и суммирование декодированной информации преобразования, декодированной пространственной информации и реконструированного предсказания блока данных для формирования декодированного представления блока данных, при этом обеспечивается индикация того, что в блоке данных отсутствуют коэффициенты преобразования, если таковое отсутствие имеет место, или индикация того, что в блоке данных отсутствуют пространственные выборки, если таковое отсутствие имеет место.
21. Способ по п.20, в котором декодирование множества коэффициентов преобразования и пространственных выборок включает их деквантование, при этом деквантование коэффициентов преобразования и деквантование пространственных выборок связаны друг с другом.
22. Способ по п.20, в котором декодирование множества коэффициентов преобразования и пространственных выборок включает их деквантование, при этом деквантование коэффициентов преобразования и деквантование пространственных выборок отличаются друг от друга.
23. Способ по п.20, в котором декодирование пространственных выборок зависит от декодирования коэффициентов преобразования.
24. Способ по п.20, в котором декодирование коэффициентов преобразования зависит от декодирования пространственных выборок.
25. Способ по п.20, в котором по меньшей мере некоторые из множества пространственных выборок декодируют как единый блок.
26. Машиночитаемый носитель, содержащий компьютерный код для выполнения процессов по п.20.
27. Декодирующее устройство, содержащее: процессор; и блок памяти, соединенный с процессором с возможностью взаимодействия с ним и содержащий: компьютерный код для обработки принятого кодированного сигнала ошибки предсказания, содержащего множество коэффициентов преобразования и множество пространственных выборок; компьютерный код для декодирования множества коэффициентов преобразования с получением декодированной информации преобразования; компьютерный код для декодирования множества пространственных выборок с получением декодированной пространственной информации; и компьютерный код для суммирования декодированной информации преобразования, декодированной пространственной информации и реконструированного предсказания блока данных для формирования декодированного представления блока данных, при этом обеспечивается индикация того, что в блоке данных отсутствуют коэффициенты преобразования, если таковое отсутствие имеет место, или индикация того, что в блоке данных отсутствуют пространственные выборки, если таковое отсутствие имеет место.
28. Устройство по п.27, в котором декодирование множества коэффициентов преобразования и пространственных выборок включает их деквантование, при этом деквантование коэффициентов преобразования и деквантование пространственных выборок связаны друг с другом.
29. Устройство по п.27, в котором декодирование множества коэффициентов преобразования и пространственных выборок включает их деквантование, при этом деквантование коэффициентов преобразования и деквантование пространственных выборок отличаются друг от друга.
30. Устройство по п.27, в котором декодирование пространственных выборок зависит от декодирования коэффициентов преобразования.
31. Устройство по п.27, в котором декодирование коэффициентов преобразования зависит от декодирования пространственных выборок.
32. Устройство по п.27, в котором по меньшей мере некоторые из множества пространственных выборок декодируются как единый блок.
33. Способ кодирования сигнала ошибки предсказания для блока данных, содержащий: вычисление сигнала ошибки предсказания путем определения значений разности между значениями выборок предсказанного блока данных и значениями выборок исходного входного блока; создание модифицированного сигнала ошибки предсказания путем замены значений разности, являющихся выбросами, значениями разности, не являющимися выбросами, причем значение разности, являющееся выбросом, зависит от ожидаемого значения амплитуды значения разности; применение кодирования с преобразованием или пространственного кодирования к модифицированному сигналу ошибки предсказания для создания данных, кодированных с преобразованием, или пространственно кодированных данных, соответственно; выполнение операции, обратной упомянутому кодированию с преобразованием или пространственному кодированию, соответственно; применение другого кодирования из упомянутых кодирования с преобразованием и пространственного кодирования к остатку от обратного декодирования с преобразованием или пространственного декодирования для создания данных, кодированных с преобразованием, или пространственно кодированных данных, соответственно; объединение данных, кодированных с преобразованием, и пространственно кодированных данных; и кодирование объединенных данных.
Описание изобретения к патенту
ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее изобретение относится в основном к кодированию и декодированию цифровых видеоматериалов. Более конкретно, настоящее изобретение относится к кодированию с предсказанием ошибки как в частотной, так и в пространственной области.
ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯ
[0002] В данном разделе изложены предпосылки или контекст изобретения. Приведенное здесь описание может включать принципы, которые могли быть предложены, но не обязательно уже предлагались ранее. Поэтому все, что описано в данном разделе, если не будет сказано иначе, не является описанием известного уровня техники.
[0003] Видеокодек содержит кодер, который преобразует входной видеосигнал в сжатое представление, подходящее для хранения/передачи, и декодер, который может декомпрессировать сжатое представление видеосигнала обратно в форму, пригодную для просмотра. Обычно кодер отбрасывает некоторую информацию из исходного видеоряда для представления видеосигнала в более компактной форме (то есть с меньшей битовой скоростью).
[0004] Обычные гибридные видеокодеки, например ITU-T H.263 и Н.264, кодируют видеоинформацию в два этапа. Сначала предсказывают значения пикселей в некоторой области изображения (или в «блоке»). Эти значения пикселей могут предсказываться, например, механизмами компенсации движения, которые содержат поиск и индикацию области в одном из ранее кодированных видекадров, которая близко соответствует кодируемому блоку. Дополнительно значения пикселей могут предсказываться посредством пространственных механизмов, которые определенным образом используют значения пикселей вокруг кодируемого пикселя. Второй этап содержит кодирование ошибки предсказания, т.е. разницы между предсказанным блоком пикселей и исходным блоком пикселей. Средство компенсации движения используется для нахождения и указания той области в одном из предыдущих кодированных видеокадров, которая близко соответствует кодируемому блоку. Обычно это делают путем преобразования разности значений пикселей с использованием определенного преобразования (например, дискретного косинусного преобразования (DCT) или его вариаций), квантования коэффициентов и энтропийного кодированием квантованных коэффициентов. Кодер может контролировать баланс между точностью представления пикселей (качество изображения) и размером получаемого кодированного представления видеосигнала (размер файла или битовая скорость передачи) путем варьирования точности процесса квантования.
[0005] Декодер реконструирует выходной видеосигнал путем применения таких же механизмов предсказания, какие используются в кодере, для формирования предсказанного представления блоков пикселей (используя информацию движения или пространственную информацию, созданную кодером и сохраненную в сжатом представлении) и путем декодирования ошибки предсказания (обратная операция по отношению к кодированию ошибки предсказания, восстанавливающая квантованный сигнал ошибки предсказания в пространственной области пикселей). После применения предсказания и декодирования ошибки предсказания декодер суммирует предсказание и сигналы ошибки предсказания (т.е. значения пикселей) для формирования выходного видеокадра. Декодер (и кодер) могут также применять дополнительные процессы фильтрации для улучшения качества выходного видеосигнала перед его выводом на экран и/или сохранением этого видеосигнала как основы предсказания для последующих кадров в видеоряде.
[0006] В типичных видеокодеках информация движения указывается вектором движения, ассоциированным с каждым блоком изображения с компенсацией движения. Каждый из этих векторов движения представляет смещение блока изображения в кодируемом изображении (на стороне кодера) или декодируемом изображении (на стороне декодера) и блок источника предсказания в одном из предыдущих кодированных или декодированных изображений. Для эффективного представления векторов движения они обычно кодируются дифференциально по отношению к блоковым предсказывающим векторам движения. В типичном видеокодеке предсказывающие векторы движения создаются заранее заданным способом, например вычислением среднего между кодированными или декодированными векторами движения соседних блоков.
[0007] Типичные видеокодеры применяют функцию стоимости Лагранжа для поиска оптимальных режимов кодирования, например требуемого режима макроблока и соответствующих векторов движения. Этот тип функции стоимости использует взвешивающий множитель для связывания вместе точного или оцениваемого искажения изображения, вызванного методом кодирования с потерями, и точного или оцениваемого количества информации, которое требуется для представления значений пикселей в области изображения:
[0008] В уравнении (1) C - минимизируемая функция стоимости Лагранжа, D - искажение изображения (например, среднеквадратичная ошибка) с данным режимом и векторами движения, и R - число битов, необходимых для представления требуемых для реконструкции блока изображения данных в декодере (включая количество данных для представления кандидатур векторов движения).
[0009] Кодирование с преобразованием применительно к сигналу ошибки предсказания в системе сжатия видеосигнала или изображения обычно содержит линейное преобразование на базе DCT, квантование преобразованных коэффициентов DCT и энтропийное кодирование квантованных коэффициентов на основе контекста. Однако преобразование может эффективно упаковывать энергию сигнала ошибки предсказания только при определенной статистике, и характеристики преобразования ухудшаются, если преобразуемая ошибка предсказания становится менее коррелированной. Это приводит к субоптимальным характеристикам, особенно в современных системах кодирования видеосигнала и изображения, применяющих улучшенные процессы компенсации движения и пространственного предсказания для достижения предсказаний хорошего качества для кодируемых блоков изображения (что минимизирует и декоррелирует сигнал ошибки предсказания).
[0010] Для устранения некоторых из вышеуказанных проблем было разработано несколько гибридных схем видеокодирования. Эти гибридные системы обычно содержат объединение двух техник уменьшения избыточности - предсказания и преобразования. Предсказание может иметь вид межкадрового предсказания, которое используется для удаления временных избыточностей в сигнале. Межкадровое предсказание может также применяться в стандарте Н.264, улучшенном видеокодировании (AVC), где пространственные избыточности удаляются путем использования подобия между соседними областями в кадре изображения. Как следствие этих межкадровых и внутрикадровых техник предсказания, остаток/сигнал ошибки формируется путем удаления предсказанного кадра изображения из оригинала. Затем этот сигнал ошибки предсказания обычно кодируется блоковым преобразованием с использованием DCT размерностью 8 на 8 для уменьшения пространственных избыточностей в сигнале.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0011] Различные варианты осуществления настоящего изобретения предлагают систему и способ для представления сигнала ошибки предсказания как взвешенной суммы различных базисных функций выбранного преобразования и квантованных пространственных выборок. Базисные функции выбранного преобразования могут содержать ортогональный набор базисных векторов, либо могут не содержать ортогонального набора. В соответствии с различными вариантами осуществления изобретения сигнал ошибки предсказания для одного блока изображения создается с использованием как базисных функций преобразования, так и пространственных выборок (т.е. значений пикселей). Таким образом, происходит комбинирование желаемых характеристик подхода с преобразованием и подхода с пространственным кодированием, рассмотренных выше. Это позволяет использовать такие выбранные базисные функции преобразования, которые дают хорошее общее представление блока изображения, с минимальным количеством коэффициентов преобразования (представляющих компонент сигнала ошибки предсказания, который хорошо коррелирован с базисными функциями). Дополнительно, различные варианты осуществления настоящего изобретения позволяют обеспечить эффективное пространственное представление тех компонентов сигнала ошибки предсказания этого же блока изображения, которые плохо коррелированы с базисными функциями примененного преобразования (такие как различные виды шума датчика, высокочастотные текстуры и краевая информация).
[0012] В соответствии с различными вариантами осуществления настоящего изобретения, система и способ кодирования сигнала ошибки предсказания для блока данных содержит вычисление разностного сигнала, представляющего разности между значениями выборок предсказанного блока данных и значениями исходного входного блока. К разностному сигналу применяется и кодирование с преобразованием, и пространственное кодирование, таким образом создаются первое и второе представления первого и второго компонентов разностного сигнала. Первое и второе представления затем суммируются для получения сигнала ошибки предсказания.
[0013] Различные варианты осуществления настоящего изобретения также предлагают систему и способ декодирования сигнала ошибки предсказания для блока данных, содержащие прием кодированного сигнала ошибки предсказания, который содержит множество коэффициентов преобразования и множество пространственных выборок. Множество коэффициентов преобразования декодируют с получением декодированной информации преобразования, а множество пространственных выборок декодируют с получением декодированной пространственной информации. Затем декодированная информация преобразования, декодированная пространственная информация и реконструированное предсказание блока данных суммируют, формируя таким образом декодированное представление блока данных.
[0014] Реализации вариантов осуществления настоящего изобретения обеспечивают улучшение эффективности сжатия видео и изображения в современных кодеках. Хотя при кодировании может потребоваться некоторое увеличение вычислительной сложности, могут быть применены быстрые алгоритмы для уменьшения сложности кодирования, что приближает уровень сложности к обычному кодированию на базе преобразования. Любое влияние на сложность для декодера будет несущественным при реализации различных вариантов осуществления настоящего изобретения.
[0015] Эти и другие преимущества и возможности данного изобретения вместе с организацией и способом его функционирования станут ясными из следующего подробного описания с сопроводительными чертежами, где одинаковые элементы имеют одинаковую нумерацию на нескольких чертежах.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0016] Фиг.1 показывает пример базисных функций преобразования Адамара, которое может быть использовано для кодирования данных изображения.
[0017] Фиг.2a - пример четырех скалярных величин, которые кодируют или декодируют, представляющих сигнал ошибки предсказания между исходным изображением и предсказываемым изображением; фиг.2b показывает четыре взвешенные базисные функции из фиг.1, суммированные с сигналом ошибки предсказания; и фиг.2c показывает, как тот же сигнал ошибки предсказания может быть реконструирован суммированием только первой базисной функции и одной пространственной выборки, показанной стрелкой.
[0018] Фиг.3 - блок-схема видеокодера, созданного в соответствии с одним вариантом осуществления настоящего изобретения.
[0019] Фиг.4 - блок-схема, показывающая алгоритм работы кодера, который может быть использован в варианте осуществления настоящего изобретения.
[0020] Фиг.5 - блок-схема, показывающая один алгоритм работы декодера, который может быть использован в различных вариантах осуществления настоящего изобретения.
[0021] Фиг.6 - блок-схема видеодекодера, созданного в соответствии с вариантом осуществления настоящего изобретения.
[0022] Фиг.7 - схема системы, в которой могут быть реализованы различные варианты осуществления настоящего изобретения.
[0023] Фиг.8 - общий вид электронного устройства, которое может быть использовано совместно с реализацией различных вариантов осуществления настоящего изобретения.
[0024] Фиг.9 - схематическое представление схем, которые могут быть включены в электронное устройство, показанное на фиг.8.
ПОДРОБНОЕ ОПИСАНИЕ РАЗЛИЧНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0025] Различные варианты осуществления настоящего изобретения предлагают систему и способ для представления сигнала ошибки предсказания как взвешенной суммы различных базисных функций выбранного преобразования и квантованных пространственных выборок. В соответствии с различными вариантами осуществления, сигнал ошибки предсказания для одного блока изображения создается с использованием как базисных функций преобразования, так и пространственных выборок (т.е. значений пикселей). Таким образом, происходит комбинирование желаемых характеристик подхода с преобразованием и подхода с пространственным кодированием, рассмотренных выше. Это позволяет использовать такие выбранные базисные функции преобразования, которые дают хорошее общее представление блока изображения, с минимальным количеством коэффициентов преобразования (представляющих компоненты сигнала ошибки предсказания, которые хорошо коррелированы с базисными функциями). Дополнительно, различные варианты осуществления настоящего изобретения позволяют обеспечить эффективное пространственное представление тех компонентов сигнала ошибки предсказания этого же блока изображения, которые плохо коррелированы с базисными функциями примененного преобразования (такие как различные виды шума датчика, высокочастотные текстуры и краевая информация).
[0026] Фиг.1 и 2 показывают упрощенный пример того, как различные варианты осуществления настоящего изобретения действуют в одном измерении. Фиг.1 показывает пример базисных функций одномерного линейного преобразования, которое может быть использовано для кодирования данных изображения (а именно, преобразования Адамара). Взвешенная сумма этих четырех базисных функций может быть использована для представления любых четырех выборок. Фиг.2a - пример четырех скалярных величин, которые должны быть кодированы или декодированы и представляют собой сигнал ошибки предсказания между исходным изображением и предсказываемым изображением. На фиг.2b четыре взвешенные базисные функции, показанные на фиг.1, суммированы в сигнал ошибки предсказания (с коэффициентом 1.5 для первой функции, 0.5 для второй, 0.5 для третьей и 0.5 для четвертой). На фиг 2c показано, как тот же самый сигнал ошибки предсказания может быть реконструирован суммированием только первой базисной функции и одной пространственной выборки, показанной стрелкой. В этом примере можно ожидать улучшенной эффективности компрессии, поскольку сигнал представлен одним коэффициентом преобразования и одной пространственной выборкой, вместо четырех коэффициентов преобразования, взвешивающих четыре базисных функции Адамара (как показано на фиг.2(b)).
[0027] Фиг.3 - блок-схема видеокодера, созданного в соответствии с вариантом осуществления настоящего изобретения. А именно фиг.3 показывает, как кодируемое изображение 300 проходит предсказание 302 пикселей, кодирование 303 ошибки предсказания и декодирование 304 ошибки предсказания. Для предсказания 302 пикселей изображения 300 используется как интерпредсказание (межкадровое) 306, так и интрапредсказание (внутрикадровое) 308, что после выбора 310 режима дает представление предсказания блока 312 изображения. Предварительно реконструированное изображение 314 также используется для интрапредсказания 308. После обработки всех блоков изображения предварительно реконструированное изображение 314 проходит фильтрацию 316 для создания окончательного реконструированного изображения 340, которое посылается в память 318 опорных кадров, а также используется для интерпредсказания 306 последующих кадров.
[0028] Представление предсказания блока 312 изображения, а также кодируемое изображение 300 используются совместно для определения сигнала 320 ошибки предсказания, который используется для кодирования 303 ошибки предсказания. При кодировании 303 ошибки предсказания сигнал 320 ошибки предсказания проходит выбор 322 характеристик и пространственное квантование 324, а также преобразование 326 и квантование 328 (последние два процесса - после выбора 322 характеристик). Ошибка предсказания, описывающая данные, и предсказанное представление блока 312 изображения (например, векторы движения, информация режима и квантованные DCT+пространственные выборки) поступают на энтропийное кодирование 330. Декодирование 304 ошибки предсказания по существу является обратным действием по отношению к кодированию 303 ошибки предсказания, при этом декодирование ошибки предсказания включает обратный пространственный квантователь 322, обратное преобразование 334 и обратное квантование 336. Результатом декодирования 304 ошибки предсказания является реконструированный сигнал 338 ошибки предсказания, который используется в комбинации с предсказанным представлением блока 312 изображения для создания предварительно реконструированного изображения 314.
[0029] Фиг.4 - блок-схема, показывающая алгоритм работы кодера, который может быть использован в варианте осуществления настоящего изобретения. Однако, как сказано выше, в соответствии с принципами настоящего изобретения может быть использовано множество различных алгоритмов. На этапе 400 вычисляется разность между значениями выборок предсказанного блока и исходного входного блока. Нужно отметить, что термины «значения» и «значения выбросов», используемые здесь, относятся к таким значениям разности. На этапе 410 находят значения выбросов. В этом случае амплитуда зависит от ожидаемой точности кодированного представления; представления с меньшей амплитудой определяют как выбросы, если требуется высокая битовая скорость хорошего качества представления, и только представления с высокой амплитудой считают таковыми, если требуется меньшая битовая скорость, более низкое качество представления. На этапе 420 модифицированный сигнал ошибки кодируется с преобразованием (включая преобразование, квантование и энтропийное кодирование), со значениями выбросов, замененными на интерполированные представления этих величин, например, путем усреднения соседних значений ошибок предсказания. На этапе 430 модифицированные сигналы ошибки декодируют с преобразованием обратно в пространственную область. На этапе 440 применяется пространственное кодирование (включая квантование и энтропийное кодирование без преобразования) к разнице между исходными значениями выбросов и значениями выбросов, декодированными с преобразованием. На этапе 450 окончательное кодированное представление сигнала ошибки квантования формируется путем объединения данных, кодированных с преобразованием, и пространственно кодированных данных. В альтернативном варианте осуществления пространственное кодирование применяется перед кодированием с преобразованием.
[0030] В одномерном примере, показанном на фиг.2(a)-2(c), алгоритм, показанный на фиг.4, может обрабатывать соответствующие данные следующим образом. Как сказано ранее, фиг.2a представляет кодируемый разностный сигнал [1 1 3 1]. В этом случае [3] является выбросом. Таким образом, сигнал ошибки предсказания модифицируется путем замены [3] средним значением второй и четвертой выборки с формированием сигнала [1 1 1 1]. Разность между исходной выборкой выброса ([3]) и кодированным с преобразованием значением выброса ([1]) затем пространственно кодируется с получением пространственно кодированного сигнала [002 0]. Энтропийно-кодированные представления сигналов, кодированных с преобразованием, и сигналов с пространственным кодированием затем записываются в битовый поток. Затем декодер может восстановить кодированный сигнал путем суммирования данных [1 1 1 1], полученных путем обратного кодирования с преобразованием, и данных [0 0 2 0], полученных путем обратного пространственного кодирования (вместе с выборками предсказания блока изображения).
[0031] При рассмотрении вышеприведенного примера важно отметить, что выбор базисных векторов Адамара для преобразования приведен только для примера. Фактически различные способы и техники, описанные здесь, могут быть применены к любым базисным функциям, использующим преобразование, причем базисные функции не обязательно должны быть ортогональными.
[0032] Кодек видеосигнала или изображения в соответствии с различными вариантами осуществления настоящего изобретения может быть реализован различными путями. В случае кодера, кодер может использовать различные стратегии поиска желаемых коэффициентов преобразования и пространственных выборок. Например, кодер может сначала кодировать сигнал с преобразованием, а затем применять пространственное кодирование к остатку. Кодер может также сначала применить пространственное кодирование, а затем кодировать с преобразованием остаток. Дополнительно, некоторые или все коэффициенты преобразования могут быть установлены равными нулю для улучшения характеристик кодирования. Некоторые или все пространственные выборки могут быть также установлены равными нулю для улучшения характеристик кодирования. Кодер может также итеративно модифицировать коэффициенты преобразования и/или пространственные выборки до достижения нужного уровня улучшения характеристик кодирования или максимального заранее заданного количества итераций.
[0033] Квантование и деквантование коэффициентов преобразования и пространственных выборок может быть связано друг с другом (например, размер шага квантования как для коэффициентов преобразования, так и для пространственных выборок может быть получен из одного параметра). Альтернативно, к коэффициентам преобразования и пространственным выборкам могут быть применены различные параметры квантования и деквантования.
[0034] Кодирование и декодирование пространственных выборок такое может зависеть от коэффициентов преобразования, и наоборот.Альтернативно, кодирование и декодирование пространственных выборок, коэффициентов преобразования или того и другого может зависеть от сигнала предсказания, от других коэффициентов преобразования и пространственных выборок в том же изображении или в других изображениях.
[0035] В дополнение к вышеизложенному, может быть осуществлена индикация того, что для определенной области изображения или всего изображения нет коэффициентов преобразования или пространственных выборок. Также может быть осуществлена индикация того, что для определенной области изображения или всего изображения используется только пространственное кодирование или только кодирование с преобразованием. Определенное число пространственных выборок может быть кодировано и декодировано как один блок, например, представляющий некоторые паттерны или текстуры. Механизмы пред- и/или постобработки могут быть применены к сигналу предсказания, сигналу ошибки предсказания, реконструированному сигналу или к любой комбинации указанных сигналов. Способ может быть использован для кодирования и декодирования другой информации вместо или в дополнение к сигналам ошибки предсказания. Кодек может ограничивать использование либо коэффициентов преобразования (например, позволяя присутствовать в кодированном представлении сигнала только низкочастотным коэффициентам преобразования), либо пространственных выборок.
[0036] Фиг.5 показывает процесс декодирования в соответствии с различными вариантами осуществления настоящего изобретения. На этапе 500 видеодекодер принимает кодированный сигнал ошибки предсказания, который содержит как коэффициенты преобразования, так и пространственные выборки. На этапе 510 декодируются и коэффициенты преобразования, и пространственные выборки. На этапе 520 декодированная информация преобразования, декодированная пространственная информация и реконструированное предсказание блока изображения суммируются вместе для формирования декодированного представления блока изображения.
[0037] Фиг.6 - блок-схема видеодекодера, созданного в соответствии с вариантом осуществления настоящего изобретения. Как показано на фиг.6, за энтропийным декодированием 600 следует декодирование 602 ошибки предсказания и предсказание 604 пикселей. При декодировании 602 ошибки предсказания, в дополнение к обратному преобразованию 606 и обратному квантованию 608, используется обратный пространственный квантователь 610 (как рассматривалось выше), что дает в результате реконструированный сигнал 612 ошибки предсказания. При предсказании 604 пикселей имеет место либо интрапредсказание (внутрикадровое), либо интерпредсказание (межкадровое) (блок 614) для создания предсказанного представления блока 616 изображения. Предсказанное представление блока 616 изображения используется совместно с реконструированным сигналом 612 ошибки предсказания для создания предварительно реконструированного изображения 618, которое в свою очередь может быть использовано для предсказания 614. После обработки всех блоков изображения предварительно реконструированное изображение 618 проходит фильтрацию 620. Фильтрованное изображение может быть сохранено в памяти 624 опорных кадров, что также позволяет использовать это изображение для предсказания 614.
[0038] Фиг.7 показывает систему 10, в которой могут быть реализованы различные варианты осуществления настоящего изобретения, содержащую множество устройств связи, которые могут осуществлять связь посредством одной или более сетей. Система 10 может содержать любую комбинацию проводных или беспроводных сетей, включая (но не ограничиваясь этим) мобильную телефонную сеть, беспроводную локальную сеть (LAN), персональную сеть Bluetooth, локальную сеть Ethernet, локальную сеть с маркерным кольцом, глобальную сеть, сеть Интернет и т.д. Система 10 может содержать как проводные, так и беспроводные устройства связи.
[0039] В качестве примера система 10, показанная на фиг.7, содержит мобильную телефонную сеть 11 и сеть Интернет 28. Соединение с сетью Интернет 28 может содержать (но не ограничивается этим) дальние беспроводные соединения, ближние беспроводные соединения и различные проводные соединения, в том числе (но не ограничиваясь этим) телефонные линии, кабельные линии, электросетевые линии и т.п.
[0040] Типичные устройства связи системы 10 могут содержать (но не ограничиваются этим) электронное устройство 50, комбинацию 14 персонального цифрового ассистента (PDA) и мобильного телефона, PDA 16, интегрированное устройство 18 для обмена сообщениями (IMD), десктоп-компьютер 20, ноутбук 22 и т.д. Устройства связи могут быть стационарными или мобильными (носимыми пользователем, который перемещается). Устройства связи также могут быть расположены в транспортном средстве, в том числе (но не ограничиваясь этим) в автомобиле, грузовике, такси, автобусе, трамвае, судне, самолете, велосипеде, мотоцикле и т.д. Некоторые или все устройства связи могут посылать и принимать вызовы и сообщения, а также связываться с провайдерами услуг посредством беспроводного соединения 25 с базовой станцией 24. Базовая станция 24 может быть соединена с сетевым сервером 26, который позволяет осуществлять связь между телефонной сетью 11 и сетью Интернет. Система 10 может содержать дополнительные устройства связи и устройства связи различных типов.
[0041] Устройства связи могут осуществлять связь, используя различные технологии передачи, в том числе (но не ограничиваясь этим) доступ с кодовым разделением каналов (CDMA), глобальную систему мобильной связи (GSM), универсальную мобильную телекоммуникационную систему (UMTS), множественный доступ с временным разделением (TDMA), множественный доступ с частотным разделением (FDMA), протокол управления передачей / Интернет-протокол (TCP/IP), службу коротких сообщений (SMS), службу мультимедийных сообщений (MMS), электронную почту, службу мгновенных сообщений (IMS), доступ по стандарту Bluetooth, доступ по стандарту IEEE 802.11 и т.д. Устройство связи, использующееся в реализации различных вариантов осуществления настоящего изобретения, может осуществлять связь с применением различных сред, в том числе (но не ограничиваясь этим) радиопередачи, инфракрасных лучей, лазеров, кабельных соединений и т.п.
[0042] Фиг.8 и 9 показывают одно из электронных устройств 50, в котором может быть реализовано настоящее изобретение. Должно быть ясно, однако, что настоящее изобретение не ограничивается одним конкретным типом устройства. Электронное устройство 50 на фиг.8 и 9 содержит корпус 30, дисплей 32 в форме жидкокристаллического дисплея, клавиатурную панель 34, микрофон 36, динамик 38, батарею 40, инфракрасный порт 42, антенну 44, смарткарту 46 в форме UICC в соответствии с вариантом осуществления данного изобретения, картридер 48, схему радиоинтерфейса 52, схему кодека 54, контроллер 56 и память 58. Все индивидуальные схемы и элементы хорошо известны в данном классе электронных устройств, например в модельном ряде мобильных телефонов фирмы Nokia.
[0043] Различные варианты осуществления настоящего изобретения, изложенные здесь, описаны с точки зрения основного контекста этапов способа или процессов, которые могут быть реализованы в одном варианте осуществления с помощью компьютерного программного продукта, выполненного в виде машиночитаемого носителя, включающего компьютерные инструкции (например, программный код), исполняемые компьютерами в сетевом окружении. Обычно программные модули могут содержать процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют определенные задачи или реализуют определенные абстрактные типы данных. Исполняемые компьютером инструкции, ассоциированные структуры данных и программные модули представляют примеры программного кода для выполнения описанных здесь этапов способов. Определенная последовательность таких исполняемых инструкций или ассоциированных структур данных представляет примеры соответствующих действий для реализации функций, описанных в таких этапах или процессах.
[0044] Программное обеспечение и сетевые реализации различных вариантов осуществления настоящего изобретения могут быть обеспечены стандартными техниками программирования, с логикой на базе правил или другой логикой для выполнения различных этапов или процессов поиска в базе данных, этапов или процессов корреляции, этапов или процессов сравнения, и этапов или процессов решения. Нужно отметить, что слова «компонент» и «модуль», использующиеся здесь и в формуле изобретения, обозначают реализации с использованием одной или более строки программного кода и/или аппаратные реализации, и/или оборудование для приема данных, вводимых вручную.
[0045] Вышеприведенное описание вариантов осуществления настоящего изобретения приведено с иллюстративными и описательными целями. Вышеприведенное описание не предполагается исчерпывающим и не ограничивает варианты осуществления настоящего изобретения в точности описанными формами. Модификации и вариации возможны как в свете вышеприведенных положений, так и в ходе реализации различных вариантов осуществления настоящего изобретения. Варианты осуществления, рассмотренные здесь, были выбраны для объяснения принципов различных вариантов осуществления настоящего изобретения и их практического применения, что позволяет специалистам реализовать настоящее изобретение в различных вариантах осуществления и с различными модификациями, подходящими для конкретного использования.
Класс H04N7/50 включающие преобразование и прогнозное кодирование