RU2584763C2 - Способ декодирования изображения в форме битового потока - Google Patents
Способ декодирования изображения в форме битового потока Download PDFInfo
- Publication number
- RU2584763C2 RU2584763C2 RU2014117312/08A RU2014117312A RU2584763C2 RU 2584763 C2 RU2584763 C2 RU 2584763C2 RU 2014117312/08 A RU2014117312/08 A RU 2014117312/08A RU 2014117312 A RU2014117312 A RU 2014117312A RU 2584763 C2 RU2584763 C2 RU 2584763C2
- Authority
- RU
- Russia
- Prior art keywords
- coefficients
- coefficient
- zero
- mode
- value
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/467—Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/18—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/48—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
- H04N19/64—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Изобретение относится к технологиям кодирования/декодирования изображений. Техническим результатом является обеспечение декодирования битового потока посредством ранее определенного синтаксиса битового потока. Предложен способ декодирования изображения в форме битового потока, в котором изображение кодируется и представляется посредством коэффициентов, и в котором каждый коэффициент находится в квантованной форме. Способ сдержит этап, на котором определяют число последовательных коэффициентов на основе порядка сканирования. Далее, согласно способу, определяют, используется или нет набор режимов кодирования, согласно упомянутому числу последовательных коэффициентов, определенных на основе порядка сканирования. А также выводят один режим кодирования, использованный в процессе декодирования, из набора режимов кодирования, используя последний сканированный ненулевой коэффициент в последовательных коэффициентах, когда используется набор режимов кодирования. 3 н. и 13 з.п. ф-лы, 6 ил.
Description
ОБЛАСТЬ ТЕХНИКИ
[0001] Это изобретение относится, в целом, к кодированию изображений, а более конкретно, к декодированию изображений с помощью модифицируемых квантованных коэффициентов преобразования так, чтобы операция декодирования могла быть выведена на основе характеристик модифицированных коэффициентов.
УРОВЕНЬ ТЕХНИКИ
[0002] Когда картинки, видео, изображения или другие аналогичные данные сжимаются в битовый поток с помощью различных режимов, информация о режиме типично хранится в поле заголовка битового потока, так что декодер будет знать, какой режим использовать, прежде чем декодер применит режим во время декодирования последующих данных.
[0003] В типичной системе сжатия видео или изображения декодер принимает квантованные коэффициенты преобразования, синтаксически проанализированные посредством энтропийного декодера. Эти квантованные коэффициенты преобразования затем передаются для обратного преобразования. Данные обратного преобразования затем используются различными способами, чтобы восстанавливать исходный сигнал. Квантование, преобразование и последующие операции декодирования могут зависеть от различных указателей режима, которые были приняты в данных заголовка, также синтаксически проанализированных из энтропийного декодера, перед декодированием квантованных коэффициентов преобразования.
[0004] Когда желательны сигналы дополнительных режимов в системе кодирования, сигналы могут вызывать увеличение размера битового потока, используемого для того, чтобы представлять кодированные сигналы. Также, если система кодирования удовлетворяет ранее согласованным стандартам или спецификациям, нужно будет изменить спецификации для того, чтобы размещать дополнительные указатели.
[0005] Существует необходимость в способе неявной сигнализации информации о режиме способом, который уменьшает размер битового потока, в отличие от случая, когда режим сигнализируется явным образом.
[0006] Также существует необходимость в способе сигнализации информации о режиме так, что получающийся в результате битовый поток может быть декодирован с помощью ранее определенного синтаксиса битового потока. Для того чтобы этот способ был целесообразным, существует также необходимость в ограничении увеличения сложности, ассоциированного с использованием битового потока в кодере или декодере. В общем, в технике кодер и декодер известны как "кодек".
[0007] Кодер: блок или вектор данных вводится для преобразования. Выходом преобразования является блок или вектор коэффициентов преобразования. Эти коэффициенты преобразования затем проходят через квантователь, который квантует коэффициенты в конкретном порядке. Квантованные коэффициенты преобразования затем вводятся в энтропийный кодер, который преобразует их в двоичный битовый поток для передачи или хранения. Различные режимы могут быть использованы во время этого процесса для выбора типа преобразования, типа квантователя или других режимов.
[0008] Декодер: двоичный битовый поток декодируется, давая в результате различные данные о режиме и блок или вектор коэффициентов преобразования. Коэффициенты передаются для обратного преобразования, вывод которого используется различными способами, чтобы восстанавливать видео, изображение или другие данные. Декодированные данные о режиме используются, чтобы управлять различными аспектами процесса декодирования.
[0009] Внедрение водяных знаков и сокрытие данных
В некоторых видеоприложениях видимый или невидимый цифровой водяной знак добавляется в качестве цифровых данных к изображению или видео. Внедрение водяных знаков типично используется, чтобы аутентифицировать записанные носители. Такие водяные знаки обычно задумываются как трудные для декодирования или удаления из изображения или видео. Внедрение водяных знаков не повышает эффективность кодирования видеокодеков, как желательно для настоящего изобретения, и прямое применение технологий внедрения водяных знаков с целью повышения эффективности кодирования видео не является очевидным. В уровне техники известно решение, в котором вставляются данные о режиме кодирования. Типично, в уровне техники используется контроль четности (нечетный или четный) суммы абсолютных значений декодированных коэффициентов преобразования, чтобы принимать решение, какой из двух или более режимов использовать.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0010] Способ декодирует изображение в форме битового потока. Изображение кодируется и представляется посредством векторов коэффициентов. Каждый коэффициент находится в квантованной форме.
[0011] Конкретный коэффициент выбирается в каждом векторе на основе порядка сканирования вектора. Затем набор режимов выводится на основе характеристик конкретного коэффициента. Затем битовый поток декодируется согласно набору режимов.
[0012] В одном варианте осуществления набор режимов выводится из последнего сканированного ненулевого коэффициента.
Краткое описание чертежей
[0013] Фиг.1 - блок-схема декодера кодека, который использует варианты осуществления изобретения;
Фиг.2 - блок-схема модуля вывода режима согласно вариантам осуществления изобретения;
Фиг.3A - пример порядка сканирования.
Фиг.3B - пример порядка сканирования.
Фиг.3C - пример порядка сканирования.
Фиг.3D - пример порядка сканирования.
Подробное описание вариантов осуществления
[0014] Варианты осуществления настоящего изобретения декодируют изображение в форме битового потока 109. Изображение делится на блоки и кодируется. Каждый блок представляется посредством вектора коэффициентов. Коэффициенты в блоке находятся в квантованной форме.
[0015] В декодере 100 кодека энтропийный декодер 201 выполняет синтаксический анализ битового потока 109 и выводит вектор или блок из N (ранее квантованных) коэффициентов 101 преобразования. Битовый поток также включает в себя данные 105 взаимного/внутреннего прогнозирования. Конкретный коэффициент в каждом векторе выбирается на основе порядка сканирования вектора. Порядки сканирования описываются ниже.
[0016] Блок 210 выводит набор (из двух или более) режимов на основе конкретного коэффициента и использует выведенные режимы 102, чтобы определять скорректированные коэффициенты 214, как описывается ниже. Как правило, скорректированные коэффициенты корректируются по направлению к нулю, когда возможно. Скорректированные коэффициенты обратно квантуются 203 и затем подвергаются обратному преобразованию 204.
[0017] В зависимости от набора режимов, которые выводятся, выведенные режимы 102 могут быть использованы в различных модулях декодера 100. Например, выведенные режимы 102 могут быть использованы в обратном квантовании 203 и/или обратном преобразовании 204.
[0018] Вывод обратного преобразования складывается 205 с выводом модуля 207 взаимного/внутреннего прогнозирования и сохраняется в буфере 206, который, в конечном счете, выводит блок 208.
[0019] Вектором или блоком 101 является [x0, x1,... xN-1]. В типичной системе сжатия кодер квантует множество коэффициентов преобразования до нуля. Следовательно, фокусом изобретения является выбор конкретного коэффициента среди этих ненулевых коэффициентов и выведение режима или набора режимов в блоке 210 на основе характеристик конкретного коэффициента.
[0020] Коэффициенты просматриваются или сканируются и затем синтаксически анализируются в конкретном порядке, например, растровое сканирование, зигзагообразное, вертикальное, диагональное и т.д. Фиг.3A-3D показывают примеры различных сканирований.
[0021] Типично, порядок сканирования выбирается для осуществления доступа сначала к ненулевым коэффициентам, после которых остаток квантованных коэффициентов преобразования в векторе может быть нулевым. При синтаксическом анализе принятых коэффициентов преобразования от энтропийного декодера, например, принятый вектор может быть: [5 -3 -4 2 0 1 0 0 0 0 0 0]. В этом случае элемент x5 является последним ненулевым коэффициентом.
[0022] В дополнение к указанию местоположения последнего ненулевого коэффициента также может быть указано местоположение других ненулевых коэффициентов. Кроме того, может также быть получена карта, указывающая местоположение ненулевых коэффициентов. Для примерного вектора, данного выше, двоичной картой ненулевых коэффициентов может быть [1 1 1 1 0 1 0 0 0 0 0 0]. Также могут быть получены альтернативные карты третичного уровня, которые указывают информацию о знаке, например [1 -1 -1 1 0 1 0 0 0 0 0 0].
[0023] После того как вектор декодированных коэффициентов был синтаксически проанализирован, информация о режиме, которая была вставлена в вектор, может быть извлечена и выведена. Рассмотрим два режима "A" и "B". Например, декодер может использовать два различных вида квантователей, два различных вида преобразований или иметь некоторый другой режим, который имеет два состояния. После того как информация о режиме извлечена, декодер может затем, например, использовать обратный квантователь (203) A, если был выбран режим A, или использовать обратный квантователь B, если был выбран режим B. Теперь описываются несколько вариантов осуществления извлечения вставленной информации о режиме.
[0024] В векторе [x0, x1,... xN-1] N коэффициентов, x0 является первым коэффициентом, а xN-1 является последним коэффициентом. Желательно определять режим M, который вставлен в вектор. Двумя возможными режимами, например, являются режим A и режим B.
СРАВНЕНИЕ С ПРЕДШЕСТВУЮЩИМ УРОВНЕМ ТЕХНИКИ
[0025] В предшествующем уровне техники режим, как правило, основывается на четности суммы всех коэффициентов в каждом блоке. Это требует времени для вычисления и может быть непрактичным во многих современных прикладных задачах реального времени, таких как обмен видеоинформацией мобильного телефона.
[0026] Предпочтительный вариант осуществления заявленного декодера основывает режим на одном коэффициенте и, возможно, одном последующем. Это является явным преимуществом над предшествующим уровнем техники.
Модуль вывода
[0027] Фиг.2 показывает варианты осуществления модуля 210 вывода режима. Декодированные коэффициенты передаются модулю 211 определения местоположения ненулевого коэффициента, так что набор режимов, например A или B, может быть выведен посредством селектора 212 режима. Опционально, один из режимов в наборе затем используется модулем 213 корректировки коэффициентов, чтобы создавать скорректированные коэффициенты 214. Скорректированные коэффициенты передаются обратному квантователю 203, который может опционально зависеть от выбранного режима. Решение о режиме может также использоваться для управления другими частями декодера, такими как обратное преобразование 204 и взаимное/внутреннее прогнозирование 207.
Варианты осуществления модуля вывода
[0028] Вариант осуществления 1
В этом варианте осуществления коэффициенты сканируются до тех пор, пока не будет обнаружен последний ненулевой коэффициент 215. Если этот коэффициент нечетный, тогда выводится режим A. Если этот коэффициент четный, тогда выводится режим B. Коэффициенты просматриваются для того, чтобы определять последний ненулевой коэффициент xk, где k может быть между 0 и N-1.
Если xk является нечетным, тогда режим M←A.
Если xk является четным, тогда режим M←B.
[0029] Возможно менять местами четный и нечетный, упомянутые выше, и другие варианты осуществления.
[0030] Вариант осуществления 2
В этом варианте осуществления, если последний коэффициент является ненулевым и нечетным в выбранном порядке сканирования, то выводится режим A, а если он является четным, то выводится режим B. Если последний коэффициент равен нулю, то обнаруживается последний ненулевой коэффициент. Это значение считается флагом, который указывает тип режима. Если флаг равен 1, то режимом является A. Если флаг равен -1, то режимом является B. Флаг затем удаляется посредством установки этого коэффициента на ноль. Когда флаг используется таким образом, декодер может восстанавливать тот же набор коэффициентов, используемых кодером (т.е. обратимых), поскольку кодер вставляет флаг в это местоположение. Если флаг не используется, поскольку последний коэффициент был скорректирован в кодере, чтобы гарантировать, что было принято корректное решение о режиме, то это изменение является необратимым. Вариантом осуществления декодера является:
[0031] Если последний коэффициент xN-1 ненулевой, то:
{
Если xk является нечетным, то режим M←A
Если xk является четным, то режим M←B
}
иначе
{
Если последний коэффициент xN-1 равен нулю, то коэффициенты просматриваются для того, чтобы определять последний ненулевой коэффициент xk.
Если xk = 1, то режим M←A, и тогда xk←0
Если xk = -1, то режим M←B, и тогда xk←0
}
[0032] Вариант осуществления 3
Вариант осуществления 2 может быть модифицирован так, что последний коэффициент может также быть использован в качестве позиции для флага 1 или -1, описанного выше:
Если последний коэффициент xN-1 ненулевой и не равен 1 или - 1, то:
{
Если xk является нечетным, то режим M←A
Если xk является четным, то режим M←B
}
иначе
{
Если последний коэффициент xN-1 равен нулю или 1 или -1, то коэффициенты просматриваются для того, чтобы определять последний ненулевой коэффициент xk.
Если xk = 1, то режим M←A, и тогда xk←0
Если xk = -1, то режим M←B, и тогда xk←0
}
[0033] Вариант осуществления 4
Когда 1 или -1 появляется часто в кодере в качестве последних ненулевых коэффициентов, может быть желательным не трактовать коэффициенты в качестве флагов, как описано для других вариантов осуществления. Если режим A, однако, ожидает присутствие четного коэффициента, необходима модификация.
[0034] В этом случае коэффициенты просматриваются для того, чтобы определять последний ненулевой коэффициент xk.
Если xk равен 1, -1 или является четным, то режим M←A
Если xk является нечетным, то режим M←B
Варианты осуществления кодера
[0035] В кодере квантователь выводит блок или вектор коэффициентов. Если декодер, который использует один из вышеописанных вариантов осуществления, принимает корректное решение о режиме с помощью коэффициентов, никаких специальных действий не требуется. Если, однако, значения этих коэффициентов являются такими, что декодер принимает некорректное решение, кодер должен модифицировать коэффициенты перед передачей коэффициентов энтропийному кодеру.
[0036] Существует два способа, чтобы вставить данные о режиме: обратимый, т.е. модификация обнаруживается и устраняется в декодере, так что вектор коэффициентов в декодере совпадает с вектором кодера; и необратимый, при этом декодер не может точно восстановить точный вектор после извлечения решения о режиме. В зависимости от вариантов осуществления кодера и декодера, могут применяться один или оба способа, обратимый и необратимый. Вектором коэффициентов в кодере является [v0, v1,…, vN-1].
[0037] Вариант осуществления 1 кодера
Коэффициенты просматриваются для того, чтобы определять последний ненулевой коэффициент vk.
[0038] Если режим M=A, и vk является четным, то:
{
Если vk>0, то vk←vk-1. Это сделает vk нечетным.
Если vk<0, то vk←vk+1. Это сделает vk нечетным.
}
Если режим M=B, и vk является нечетным, то:
{
Если vk=1, то vk ← 2. Это сделает vk четным, но не нулевым.
Если vk=-1, то vk ← -2. Это сделает vk четным, но не нулевым.
Если vk не равен ни 1, ни -1, то:
{
Если vk>0, то vk←vk -1. Это сделает vk четным.
Если vk<0, то vk←vk+1. Это сделает vk четным.
}
}
[0039] Вариант осуществления 2 кодера
Если последний коэффициент vN-1 является ненулевым, то vk←vN-1, и тогда операции, описанные в варианте осуществления 1 кодера, выполняются по vk.
иначе
{
Если последний коэффициент vN-1 равен нулю, то коэффициенты просматриваются для того, чтобы определять последний ненулевой коэффициент vk, и
{
Если режим M=A, vk+1 ← 1
Если режим M=B, vk+1 ← -1
}
[0040] Вариант осуществления 3 кодера
Если последний коэффициент vN-1 является ненулевым, то vk←vN-1, и:
{
Если режим M=A, то
{
если vk=-1, то vk←1; иначе
если vk является четным, то vk делается нечетным посредством корректировки vk на единицу, по направлению к нулю, пока эта корректировка не сделает vk = -1. В этом случае vk корректируется далеко от 0, т.е. vk = 3.
}
Если режим M=B, то
{
если vk=1, то vk ← -1; иначе
если vk является нечетным, то vk делается четным посредством корректировки его на единицу, по направлению к нулю.
}
}
[0041] Вариант осуществления 4 кодера
Определяется последний ненулевой коэффициент vk.
[0042] Если режим M=B и vk является нечетным, vk корректируется на единицу, по направлению к нулю. Если эта корректировка сделает vk=0, то вместо корректировки vk на единицу, он корректируется в противоположную от нуля сторону.
[0043] Если режим M=A и vk является четным, vk корректируется на единицу, по направлению к нулю.
[0044] Дополнительные варианты осуществления
Вместо использования последнего ненулевого коэффициента используется коэффициент с наибольшей величиной (абсолютным значением). Если больше чем один коэффициент имеет эту наибольшую величину, тогда используется коэффициент с наивысшим индексом вектора (т.е. последний коэффициент с наибольшими величинами).
[0045] Вместо использования нечетности/четности для принятия решения используется разница между двумя (соседними) коэффициентами. Если разница положительная, выводится режим A. Если отрицательная, выводится режим B.
[0046] Знак (положительный или отрицательный) данного коэффициента также может быть использован, чтобы выводить режим. Кодер может изменять знак коэффициента, а декодер может использовать этот знак, чтобы определять режим. После вывода режима декодер может использовать другую информацию в коэффициентах, чтобы решать, изменять ли знак снова, так что скорректированные коэффициенты в декодере соответствуют исходным коэффициентам в кодере.
[0047] Для случаев, когда квантователь использует квантование с оптимизированной зависимостью искажений от скорости передачи (RDO-Q), вставка флага режима или информации о режиме может быть сделана частью RDO-Q-процесса. Во время принятия решения о том, какие коэффициенты устанавливать на ноль, RDO-Q-процесс может объединять стоимость флага режима в дополнение к стоимости коэффициентов.
[0048] Больше чем два режима могут сигнализироваться. Например, три режима A, B и C могут сигнализироваться. Дополнительно, множество наборов режимов может сигнализироваться. Например, набор 1 включает в себя режимы A, B и C, а набор 2 включает в себя режимы W, X, Y, Z. Один режим из набора 1 и один режим из набора 2 может сигнализироваться для каждого набора коэффициентов.
[0049] Вместо использования последнего ненулевого коэффициента, чтобы сигнализировать о режиме, может быть использовано другое свойство, такое как наибольший или наименьший коэффициент. Если более чем один коэффициент удовлетворяет конкретным критериям, то вспомогательный процесс принятия решения может выбирать, куда вставлять информацию. Например, если конкретным критерием является использование наибольшего коэффициента, и два коэффициента имеют одинаковое наибольшее значение, то может быть использован последний из этих двух коэффициентов.
[0050] Другой вариант осуществления может определять число последовательных, т.е. соседних, ненулевых группировок коэффициентов. Группа с большинством ненулевых коэффициентов может быть использована, чтобы вставлять информацию о способе с помощью любых из ранее описанных вариантов осуществления.
[0051] Также, как описано ранее, карты двоичного или третичного уровня могут быть получены из декодированных коэффициентов. Режим для блока может также быть выведен на основе функций этих карт или шаблонов в картах. Например, режим может быть выведен на основе числа ненулевых коэффициентов. Двоичные кодовые слова также могут быть вставлены в эти карты в кодере, чтобы сигнализировать различные режимы.
Claims (16)
1. Способ декодирования изображения в форме битового потока, в котором изображение кодируется и представляется посредством коэффициентов, и в котором каждый коэффициент находится в квантованной форме, причем способ содержит этапы, на которых:
определяют число последовательных коэффициентов на основе порядка сканирования;
определяют, используется или нет набор режимов кодирования, согласно упомянутому числу последовательных коэффициентов, определенных на основе порядка сканирования;
выводят один режим кодирования, использованный в процессе декодирования, из набора режимов кодирования, используя последний сканированный ненулевой коэффициент в последовательных коэффициентах, когда используется набор режимов кодирования; и
декодируют битовый поток согласно введенному одному режиму кодирования, при этом
набор режимов кодирования включает в себя первый режим кодирования и второй режим кодирования и
на этапе ввода вводят первый режим кодирования как один режим кодирования из набора режимов кодирования, если значением последнего сканированного ненулевого коэффициента является 1, -1 или является четным, и в противном случае вводят второй режим кодирования, при этом этапы выполняются в декодере.
определяют число последовательных коэффициентов на основе порядка сканирования;
определяют, используется или нет набор режимов кодирования, согласно упомянутому числу последовательных коэффициентов, определенных на основе порядка сканирования;
выводят один режим кодирования, использованный в процессе декодирования, из набора режимов кодирования, используя последний сканированный ненулевой коэффициент в последовательных коэффициентах, когда используется набор режимов кодирования; и
декодируют битовый поток согласно введенному одному режиму кодирования, при этом
набор режимов кодирования включает в себя первый режим кодирования и второй режим кодирования и
на этапе ввода вводят первый режим кодирования как один режим кодирования из набора режимов кодирования, если значением последнего сканированного ненулевого коэффициента является 1, -1 или является четным, и в противном случае вводят второй режим кодирования, при этом этапы выполняются в декодере.
2. Способ декодирования изображения в форме битового потока, в котором изображение кодируется и представляется посредством коэффициентов, и в котором каждый коэффициент находится в квантованной форме, причем способ содержит этапы, на которых:
определяют число последовательных коэффициентов на основе порядка сканирования;
определяют, используется или нет набор режимов кодирования, согласно упомянутому числу последовательных коэффициентов, определенных на основе порядка сканирования;
выводят один режим кодирования, использованный в процессе декодирования, из набора режимов кодирования, используя значение коэффициента, имеющего наибольшую величину в последовательных коэффициентах, когда используется набор режимов кодирования; и
декодируют битовый поток согласно введенному одному режиму кодирования, при этом этапы выполняются в декодере.
определяют число последовательных коэффициентов на основе порядка сканирования;
определяют, используется или нет набор режимов кодирования, согласно упомянутому числу последовательных коэффициентов, определенных на основе порядка сканирования;
выводят один режим кодирования, использованный в процессе декодирования, из набора режимов кодирования, используя значение коэффициента, имеющего наибольшую величину в последовательных коэффициентах, когда используется набор режимов кодирования; и
декодируют битовый поток согласно введенному одному режиму кодирования, при этом этапы выполняются в декодере.
3. Способ декодирования изображения в форме битового потока, в котором изображение кодируется и представляется посредством коэффициентов, и в котором каждый коэффициент находится в квантованной форме, причем способ содержит этапы, на которых:
определяют число последовательных коэффициентов на основе порядка сканирования;
определяют, используется или нет набор режимов кодирования, согласно упомянутому числу последовательных коэффициентов, определенных на основе порядка сканирования;
выводят один режим кодирования, использованный в процессе декодирования, из набора режимов кодирования, используя знак разности между двумя коэффициентами в последовательных коэффициентах, когда используется набор режимов кодирования; и
декодируют битовый поток согласно введенному одному режиму кодирования, при этом этапы выполняются в декодере.
определяют число последовательных коэффициентов на основе порядка сканирования;
определяют, используется или нет набор режимов кодирования, согласно упомянутому числу последовательных коэффициентов, определенных на основе порядка сканирования;
выводят один режим кодирования, использованный в процессе декодирования, из набора режимов кодирования, используя знак разности между двумя коэффициентами в последовательных коэффициентах, когда используется набор режимов кодирования; и
декодируют битовый поток согласно введенному одному режиму кодирования, при этом этапы выполняются в декодере.
4. Способ по п. 1, дополнительно содержащий этап, на котором:
устанавливают значение последнего сканированного ненулевого коэффициента на ноль после вывода, если значение последнего сканированного ненулевого коэффициента равно 1 или -1.
устанавливают значение последнего сканированного ненулевого коэффициента на ноль после вывода, если значение последнего сканированного ненулевого коэффициента равно 1 или -1.
5. Способ по п. 1, дополнительно содержащий этап, на котором:
корректируют значение последнего сканированного ненулевого коэффициента равно 1, -1 в направлении к нулю после вывода.
корректируют значение последнего сканированного ненулевого коэффициента равно 1, -1 в направлении к нулю после вывода.
6. Способ по п. 1, дополнительно содержащий этап, на котором:
корректируют значение последнего сканированного ненулевого коэффициента равно 1, -1 в противоположную от нуля сторону, если значением последнего сканированного ненулевого коэффициента является 1 или -1 перед выводом.
корректируют значение последнего сканированного ненулевого коэффициента равно 1, -1 в противоположную от нуля сторону, если значением последнего сканированного ненулевого коэффициента является 1 или -1 перед выводом.
7. Способ по п. 1, дополнительно содержащий этап, на котором корректируют значение последнего сканированного ненулевого коэффициента в противоположную от нуля сторону, если значение последнего сканированного коэффициента равно 2 или -2, и требуется корректировка в нечетное значение.
8. Способ по п. 2, в котором наибольшая величина возникает в более чем одном коэффициенте.
9. Способ по п. 3, в котором знак корректируется после вывода.
10. Способ по любому из пп. 1-3, в котором один режим кодирования выводится совместно с процессом квантования с оптимизированной зависимостью искажений от скорости передачи.
11. Способ по любому из пп. 1-3, в котором стоимость используется для определения вставки информации в коэффициенты.
12. Способ по любому из пп. 1-3, в котором один режим кодирования выводится с помощью функции, примененной к коэффициентам.
13. Способ по любому из пп. 1-3, в котором набор режимов кодирования определяется кодером.
14. Способ по п. 1, дополнительно содержащий этап, на котором:
указывают в карте местоположения ненулевых коэффициентов.
указывают в карте местоположения ненулевых коэффициентов.
15. Способ по п. 1, дополнительно содержащий этап, на котором:
указывают в карте знак каждого ненулевого коэффициента в последовательных коэффициентах.
указывают в карте знак каждого ненулевого коэффициента в последовательных коэффициентах.
16. Способ по п. 1, дополнительно содержащий этап, на котором:
корректируют значение последнего сканированного ненулевого коэффициента в противоположную от нуля сторону после вывода.
корректируют значение последнего сканированного ненулевого коэффициента в противоположную от нуля сторону после вывода.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/250,972 | 2011-09-30 | ||
US13/250,972 US20120230396A1 (en) | 2011-03-11 | 2011-09-30 | Method for Embedding Decoding Information in Quantized Transform Coefficients |
PCT/JP2012/064492 WO2013046808A1 (en) | 2011-09-30 | 2012-05-30 | Method for decoding picture in form of bit-stream |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2014117312A RU2014117312A (ru) | 2015-11-10 |
RU2584763C2 true RU2584763C2 (ru) | 2016-05-20 |
Family
ID=46319173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2014117312/08A RU2584763C2 (ru) | 2011-09-30 | 2012-05-30 | Способ декодирования изображения в форме битового потока |
Country Status (10)
Country | Link |
---|---|
US (1) | US20120230396A1 (ru) |
JP (1) | JP5855139B2 (ru) |
KR (2) | KR20140048322A (ru) |
CN (1) | CN103843346B (ru) |
BR (1) | BR112014005291B1 (ru) |
MX (1) | MX338400B (ru) |
RU (1) | RU2584763C2 (ru) |
SG (1) | SG2014010011A (ru) |
TW (1) | TWI533670B (ru) |
WO (1) | WO2013046808A1 (ru) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013117811A1 (en) * | 2012-02-06 | 2013-08-15 | Nokia Corporation | Method for coding and an apparatus |
US10225562B1 (en) * | 2017-08-21 | 2019-03-05 | Google Llc | Embedding information about EOB positions |
JP6981540B2 (ja) * | 2017-12-06 | 2021-12-15 | 富士通株式会社 | モード情報のコーディングとデコーディング方法、装置及び電子機器 |
CN109919821B (zh) * | 2017-12-12 | 2020-12-25 | 深圳大学 | 三维数字模型双重盲水印的嵌入、提取方法和存储介质 |
KR102662646B1 (ko) * | 2018-07-02 | 2024-05-03 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 종속 스칼라 양자화에 적합한 변환 계수의 엔트로피 코딩 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2354073C2 (ru) * | 2002-01-22 | 2009-04-27 | Нокиа Корпорейшн | Кодирование коэффициентов преобразования в кодерах и/или декодерах изображения и видеоданных |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPO521897A0 (en) * | 1997-02-20 | 1997-04-11 | Telstra R & D Management Pty Ltd | Invisible digital watermarks |
US6208735B1 (en) * | 1997-09-10 | 2001-03-27 | Nec Research Institute, Inc. | Secure spread spectrum watermarking for multimedia data |
SE512291C2 (sv) * | 1997-09-23 | 2000-02-28 | Ericsson Telefon Ab L M | Inbäddad DCT-baserad stillbildskodningsalgoritm |
EP1415266A2 (en) * | 2001-06-29 | 2004-05-06 | Oki Electric Industry Company, Limited | Method and system for watermarking an electrically depicted image |
JP2003169205A (ja) * | 2001-11-30 | 2003-06-13 | Toshiba Corp | 電子透かし埋め込み方法及び装置並びに電子透かし検出方法及び装置 |
JP3937841B2 (ja) * | 2002-01-10 | 2007-06-27 | キヤノン株式会社 | 情報処理装置及びその制御方法 |
US7567721B2 (en) * | 2002-01-22 | 2009-07-28 | Digimarc Corporation | Digital watermarking of low bit rate video |
KR100627597B1 (ko) * | 2002-04-26 | 2006-09-25 | 가부시키가이샤 엔티티 도코모 | 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법, 화상 부호화 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 화상 복호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 |
EP1487113B1 (de) * | 2002-05-02 | 2006-10-18 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Kodierung und Dekodierung von Transformationskoeffizienten in Bild- oder Videokodierern |
US7352903B2 (en) * | 2004-08-17 | 2008-04-01 | Pegasus Imaging Corporation | Methods and apparatus for implementing JPEG 2000 encoding operations |
US7620252B2 (en) * | 2005-04-22 | 2009-11-17 | Hewlett-Packard Development Company, L.P. | System and method for compressing an image |
JP4942548B2 (ja) * | 2007-05-17 | 2012-05-30 | 三菱電機株式会社 | 電子透かし埋め込み装置、電子透かし検出装置、電子透かし埋め込みプログラム及び電子透かし検出プログラム |
US8891615B2 (en) * | 2008-01-08 | 2014-11-18 | Qualcomm Incorporated | Quantization based on rate-distortion modeling for CABAC coders |
CN101534436B (zh) * | 2008-03-11 | 2011-02-02 | 深圳市融创天下科技发展有限公司 | 一种视频图像宏块级自适应码率分配方法 |
US8681874B2 (en) * | 2008-03-13 | 2014-03-25 | Cisco Technology, Inc. | Video insertion information insertion in a compressed bitstream |
-
2011
- 2011-09-30 US US13/250,972 patent/US20120230396A1/en not_active Abandoned
-
2012
- 2012-05-30 RU RU2014117312/08A patent/RU2584763C2/ru active
- 2012-05-30 BR BR112014005291-3A patent/BR112014005291B1/pt active IP Right Grant
- 2012-05-30 SG SG2014010011A patent/SG2014010011A/en unknown
- 2012-05-30 KR KR1020147006317A patent/KR20140048322A/ko not_active Application Discontinuation
- 2012-05-30 JP JP2013557685A patent/JP5855139B2/ja active Active
- 2012-05-30 WO PCT/JP2012/064492 patent/WO2013046808A1/en active Application Filing
- 2012-05-30 KR KR1020147019127A patent/KR20140096395A/ko not_active Application Discontinuation
- 2012-05-30 CN CN201280047745.2A patent/CN103843346B/zh active Active
- 2012-05-30 MX MX2014003721A patent/MX338400B/es active IP Right Grant
- 2012-08-06 TW TW101128194A patent/TWI533670B/zh active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2354073C2 (ru) * | 2002-01-22 | 2009-04-27 | Нокиа Корпорейшн | Кодирование коэффициентов преобразования в кодерах и/или декодерах изображения и видеоданных |
Also Published As
Publication number | Publication date |
---|---|
CN103843346A (zh) | 2014-06-04 |
US20120230396A1 (en) | 2012-09-13 |
JP2014520410A (ja) | 2014-08-21 |
KR20140096395A (ko) | 2014-08-05 |
BR112014005291B1 (pt) | 2022-06-14 |
JP5855139B2 (ja) | 2016-02-09 |
MX2014003721A (es) | 2014-07-09 |
MX338400B (es) | 2016-04-15 |
KR20140048322A (ko) | 2014-04-23 |
TWI533670B (zh) | 2016-05-11 |
CN103843346B (zh) | 2017-06-23 |
BR112014005291A2 (pt) | 2017-05-30 |
RU2014117312A (ru) | 2015-11-10 |
TW201320757A (zh) | 2013-05-16 |
WO2013046808A1 (en) | 2013-04-04 |
SG2014010011A (en) | 2014-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8588307B2 (en) | Method and apparatus for encoding and decoding mode information | |
US8315304B2 (en) | Method and apparatus for encoding and decoding transform coefficients | |
RU2584763C2 (ru) | Способ декодирования изображения в форме битового потока | |
US10911783B2 (en) | Method and apparatus for processing video signal using coefficient-induced reconstruction | |
KR101631280B1 (ko) | 스킵 모드에 기초한 영상을 복호화하는 방법 및 장치 | |
US20120183046A1 (en) | Video decoder with reduced dynamic range transform with inverse transform shifting memory | |
AU2012207827A1 (en) | Video decoder with reduced dynamic range transform with inverse transform shifting memory | |
WO2012124787A1 (en) | A method for decoding video | |
Seki et al. | Quantization-based image steganography without data hiding position memorization | |
US20150365673A1 (en) | Video Decoder with Reduced Dynamic Range Transform with Inverse Transform Clipping | |
KR101710622B1 (ko) | 스킵 모드에 따라 영상을 부호화, 복호화하는 방법 및 장치 | |
AU2021203402B2 (en) | Video decoder with reduced dynamic range transform with inverse transform shifting memory | |
KR101631278B1 (ko) | 모드 정보를 부호화, 복호화하는 방법 및 장치 | |
KR101631277B1 (ko) | 스킵 모드에 따라 영상을 부호화, 복호화하는 방법 및 장치 | |
US20120183044A1 (en) | Video decoder with reduced dynamic range transform with memory storing | |
WO2012099267A1 (en) | Video decoder with reduced dynamic range transform with multiple clipping |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
QA4A | Patent open for licensing |
Effective date: 20180301 |