СЖАТИЕ ВИДЕОИЗОБРАЖЕНИЙ С ПОМОЩЬЮ АДАПТИВНЫХ КОДОВ С ПЕРЕМЕННОЙ ДЛИНОЙ

1. Способ, содержащий этапы, на которых:
- выполняют кодирование кодом с переменной длиной (VLC) блочных коэффициентов цифрового видео с помощью VLC-параметров;
- собирают статистику кодирования в ходе VLC-кодирования блочных коэффициентов цифрового видео; и
- корректируют один или более VLC-параметров в ходе VLC-кодирования на основе собранной статистики кодирования.
2. Способ по п.1, дополнительно содержащий этап, на котором инициализируют VLC-параметры в начале серии последовательных макроблоков, содержащей блоки блочных коэффициентов цифрового видео.
3. Способ по п.1, в котором корректировка одного или более VLC-параметров содержит этап, на котором корректируют один или более VLC-параметров в выбранные интервалы в рамках серии последовательных макроблоков, содержащей блоки блочных коэффициентов цифрового видео.
4. Способ по п.1, в котором корректировка одного или более VLC-параметров содержит этап, на котором корректируют один или более VLC-параметров на границах блоков в рамках серии последовательных макроблоков, содержащей блоки блочных коэффициентов цифрового видео.
5. Способ по п.1, в котором выполнение VLC-кодирования содержит этап, на котором кодируют позиции ненулевых блочных коэффициентов в блоке как серии нулей, предшествующие ненулевым блочным коэффициентам, с помощью VLC-параметров.
6. Способ по п.5, в котором выполнение VLC-кодирования содержит этап, на котором выбирают различные VLC-параметры на основе различных условий кодирования в рамках блока.
7. Способ по п.1, в котором выполнение VLC-кодирования содержит этап, на котором кодируют символ специального конца блока (sEOB), чтобы указать наличие в блоке одного или более коэффициентов, имеющих абсолютные величины больше 1, и кодируют информацию абсолютной величины для одного или более коэффициентов, имеющих абсолютные величины больше 1, после того как символ sEOB кодирован.
8. Способ по п.7, в котором VLC-параметры содержат таблицу сдвига конца блока (EOB), указывающую индекс символа EOB в наборе символов, содержащем символы серий нулей, символ EOB и символ sEOB, на основе вероятности конца блока для каждого из условий кодирования, и таблицу выбора словаря VLC-кодирования, указывающую словарь VLC-кодирования, используемый для того, чтобы кодировать индексы символов в наборе символов для каждого из условий кодирования.
9. Способ по п.7, в котором VLC-параметры содержат таблицу сдвига sEOB, указывающую, для каждого из условий кодирования, индекс символа sEOB в наборе символов, содержащем символы серий нулей, символ конца блока (EOB) и символ sEOB, на основе вероятности конца блока, когда, по меньшей мере, один из ненулевых коэффициентов имеет абсолютную величину больше 1, и параметр, указывающий информацию абсолютной величины для коэффициентов в блоке с абсолютными величинами больше 1, кодированными с помощью фиксированной VLC-таблицы, при этом параметр, указывающий информацию абсолютной величины, основан на числе ненулевых коэффициентов в блоке, имеющих абсолютную величину больше 1, и максимальной абсолютной величине коэффициентов в блоке, имеющих абсолютную величину больше 1.
10. Способ по п.7, в котором сбор статистики кодирования содержит этап, на котором собирают накопленные счетчики серий нулей, символов конца блока (EOB) и символов sEOB для различных условий кодирования, а корректировка одного или более VLC-параметров содержит этап, на котором корректируют один или более VLC-параметров на основе накопленных счетчиков.
11. Способ по п.10, в котором сбор статистики кодирования содержит этап, на котором собирают накопленные счетчики серий нулей, символов EOB и символов sEOB не для всех условий кодирования, и в котором корректировка одного или более VLC-параметров содержит этап, на котором корректируют один или более VLC-параметров не для всех условий кодирования.
12. Способ по п.10, в котором сбор статистики кодирования содержит этап, на котором собирают накопленные счетчики серий нулей не для всех серий нулей.
13. Способ по п.10, в котором условия кодирования включают в себя циклы кодирования, а сбор статистики кодирования содержит этап, на котором собирают накопленные счетчики серий нулей, символов EOB и символов sEOB для циклов кодирования с числами меньше C, и не собирают накопленные счетчики серий нулей, символов EOB и символов sEOB для циклов кодирования с номерами, превышающими или равными C, где C меньше максимального числа циклов кодирования.
14. Способ по п.13, в котором сбор статистики кодирования содержит этап, на котором собирают накопленные счетчики серий нулей для каждой из серий нулей, имеющих длину меньше S, и собирают комбинированный счетчик серий нулей для серий нулей, имеющих длину больше или равную S, где S меньше максимальной длины серий нулей.
15. Способ по п.10, дополнительно содержащий этапы, на которых обновляют таблицу сдвига EOB, указывающую индекс символа EOB в наборе символов, содержащем символы серий нулей, символ EOB и символ sEOB, на основе вероятности конца блока для соответствующего условия кодирования, на основе накопленных счетчиков серий нулей, символов EOB и символов sEOB для соответствующих условий кодирования, обновляют таблицу сдвига sEOB, указывающую индекс символа sEOB в наборе символов, содержащем символы серий нулей, символ EOB и символ sEOB, на основе вероятности специального конца блока, когда, по меньшей мере, один ненулевой коэффициент в блоке имеет абсолютную величину больше 1, для соответствующего условия кодирования, на основе накопленных счетчиков серий нулей, символов EOB и символов sEOB для соответствующих условий кодирования, и обновляют таблицу выбора словаря VLC-кодирования, указывающую словарь VLC-кодирования, используемый для того, чтобы кодировать индексы символов в наборе символов для соответствующего условия кодирования, на основе накопленных счетчиков серий нулей, символов EOB и символов sEOB для соответствующих условий кодирования.
16. Способ по п.10, дополнительно содержащий этап, на котором нормализуют накопленные счетчики в выбранных интервалах в рамках серии последовательных макроблоков, содержащей блоки блочных коэффициентов цифрового видео.
17. Способ по п.5, дополнительно содержащий этап, на котором выполняют VLC-кодирование DC-блоков сигнала цветности и AC-блоков сигнала цветности отдельно друг от друга и отдельно от блоков сигнала яркости, используя отдельные таблицы сдвига конца блока (EOB), таблицы сдвига специального конца блока (sEOB) и таблицы выбора словаря VLC-кодирования, чтобы кодировать DC- и AC-блоки сигнала цветности, при этом каждая из таблиц сдвига EOB указывает индекс символа EOB в наборе символов, содержащем символы серий нулей, символ EOB и символ sEOB, на основе вероятности конца блока для соответствующего условия кодирования, каждая из таблиц выбора словаря VLC-кодирования указывает словарь VLC-кодирования, используемый для того, чтобы кодировать индексы символов в наборе символов для соответствующего условия кодирования, а каждая из таблиц сдвига sEOB указывает индекс символа sEOB в наборе символов, содержащем символы серий нулей, символ конца блока (EOB) и символ sEOB, на основе вероятности конца блока для соответствующего условия кодирования, когда, по меньшей мере, один из ненулевых коэффициентов имеет абсолютную величину больше 1.
18. Способ по п.17, дополнительно содержащий этап, на котором корректируют таблицы сдвига EOB, таблицы сдвига sEOB и таблицы выбора словаря VLC-кодирования для DC- и AC-блоков сигнала цветности на основе статистики кодирования, собранной для DC- и AC-блоков сигнала цветности.
19. Способ по п.17, дополнительно содержащий этап, на котором инициализируют таблицы сдвига EOB, таблицы сдвига sEOB и таблицы выбора словаря VLC-кодирования для DC- и AC-блоков сигнала цветности отлично от блоков сигнала яркости.
20. Способ по п.17, дополнительно содержащий этап, на котором используют фиксированные таблицы сдвига EOB, таблицы сдвига sEOB и таблицы выбора словаря VLC-кодирования для DC- и AC-блоков сигнала цветности.
21. Способ по п.1, дополнительно содержащий этап, на котором выполняют VLC-кодирование блочных коэффициентов цифрового видео в первом узле энтропийного кодирования в видеокодере и во втором узле энтропийного декодирования в видеодекодере, чтобы кодировать и декодировать блочные коэффициенты цифрового видео.
22. Способ по п.1, в котором блочные коэффициенты цифрового видео представляют блочные коэффициенты в улучшающем слое масштабирования с высокой степенью детализации (FGS) серии последовательных макроблоков масштабируемого видеокодирования (SVC), содержащей улучшающий слой и, по меньшей мере, один базовый или предыдущий слой, в котором кодирование позиций ненулевых блочных коэффициентов в блоке содержит этап, на котором кодируют позиции значимых коэффициентов, и в котором значимые коэффициенты в улучшающем слое являются коэффициентами, для которых соответствующие коэффициенты в базовом или предыдущем слое являются нулевыми.
23. Устройство видеокодирования, содержащее модуль кода с переменной длиной (VLC), выполненный с возможностью выполнять VLC-кодирование блочных коэффициентов цифрового видео с помощью VLC-параметров, собирать статистику кодирования в ходе VLC-кодирования блочных коэффициентов цифрового видео и корректировать один или более из VLC-параметров в ходе VLC-кодирования на основе собранной статистики кодирования.
24. Устройство по п.23, в котором VLC-модуль выполнен с возможностью инициализировать VLC-параметры в начале серии последовательных макроблоков, содержащей блоки блочных коэффициентов цифрового видео.
25. Устройство по п.23, в котором VLC-модуль выполнен с возможностью корректировать один или более VLC-параметров в выбранные интервалы в серии последовательных макроблоков, содержащей блоки блочных коэффициентов цифрового видео.
26. Устройство по п.23, в котором VLC-модуль выполнен с возможностью корректировать один или более VLC-параметров на границах блоков в серии последовательных макроблоков, содержащей блоки блочных коэффициентов цифрового видео.
27. Устройство по п.23, в котором VLC-модуль выполнен с возможностью кодировать позиции ненулевых блочных коэффициентов в блоке как серии нулей, предшествующие ненулевым блочным коэффициентам, с помощью VLC-параметров, и выбирать различные VLC-параметры на основе различных условий кодирования в рамках блока.
28. Устройство по п.27, в котором VLC-модуль выполнен с возможностью выбирать различные VLC-параметры на основе различных условий кодирования в рамках блока.
29. Устройство по п.23, в котором VLC-модуль выполнен с возможностью кодировать символ специального конца блока (sEOB), чтобы указать наличие в блоке одного или более коэффициентов, имеющих абсолютные величины больше 1, и кодировать информацию абсолютной величины для одного или более коэффициентов, имеющих абсолютные величины больше 1, после того как символ sEOB кодирован.
30. Устройство по п.29, в котором VLC-параметры содержат таблицу сдвига конца блока (EOB), указывающую индекс символа EOB в наборе символов, содержащем символы серий нулей, символ EOB и символ sEOB, на основе вероятности конца блока для каждого из отслеживаемых условий кодирования, и таблицу выбора словаря VLC-кодирования, указывающую словарь VLC-кодирования, используемый для того, чтобы кодировать индексы символов в наборе символов для каждого из отслеживаемых условий кодирования.
31. Устройство по п.29, в котором VLC-параметры содержат таблицу сдвига sEOB, указывающую, для каждого из отслеживаемых условий кодирования, индекс символа sEOB в наборе символов, содержащем символы серий нулей, символ конца блока (EOB) и символ sEOB, на основе вероятности конца блока, когда, по меньшей мере, один из ненулевых коэффициентов имеет абсолютную величину больше 1, и параметр, указывающий информацию абсолютной величины для коэффициентов в блоке с абсолютными величинами больше 1, кодированными с помощью фиксированной VLC-таблицы, при этом параметр, указывающий информацию абсолютной величины, основан на числе ненулевых коэффициентов в блоке, имеющих абсолютную величину больше 1, и максимальной абсолютной величине ненулевых коэффициентов в блоке, имеющих абсолютную величину больше 1.
32. Устройство по п.29, в котором VLC-модуль выполнен с возможностью собирать статистику кодирования, включающую в себя накопленные счетчики серий нулей, символов конца блока (EOB) и символов sEOB для различных условий кодирования, корректировать один или более VLC-параметров на основе накопленных счетчиков.
33. Устройство по п.32, в котором VLC-модуль собирает накопленные счетчики серий нулей, символов EOB и символов sEOB не для всех условий кодирования и корректирует один или более VLC-параметров не для всех условий кодирования.
34. Устройство по п.32, в котором VLC-модуль собирает накопленные счетчики серий нулей не для всех серий нулей.
35. Устройство по п.32, в котором условия кодирования включают в себя циклы кодирования, а VLC-модуль собирает накопленные счетчики серий нулей, символов EOB и символов sEOB для циклов кодирования с номерами меньше C, и не собирает накопленные счетчики серий нулей, символов EOB и символов sEOB для циклов кодирования с номерами, превышающими или равными C, где C меньше максимального числа циклов кодирования.
36. Устройство по п.35, в котором VLC-модуль собирает накопленные счетчики серий нулей для каждой из серий нулей, имеющих длину меньше S, и собирает комбинированный счетчик серий нулей для серий нулей, имеющих длину больше или равную S, где S меньше максимальной длины серий нулей.
37. Устройство по п.32, в котором VLC-модуль обновляет таблицу сдвига EOB, указывающую индекс символа EOB в наборе символов, содержащем символы серий нулей, символ EOB и символ sEOB, на основе вероятности конца блока для соответствующего условия кодирования, на основе накопленных счетчиков серий нулей, символов EOB и символов sEOB для соответствующих условий кодирования, обновляет таблицу сдвига sEOB, указывающую индекс символа sEOB в наборе символов, содержащем символы серий нулей, символ EOB и символ sEOB, на основе вероятности специального конца блока, когда, по меньшей мере, один ненулевой коэффициент в блоке имеет абсолютную величину больше 1, для соответствующего условия кодирования, на основе накопленных счетчиков серий нулей, символов EOB и символов sEOB для соответствующих условий кодирования, и обновляет таблицу выбора словаря VLC-кодирования, указывающую словарь VLC-кодирования, используемый для того, чтобы кодировать индексы символов в наборе символов для соответствующего условия кодирования, на основе накопленных счетчиков серий нулей, символов EOB и символов sEOB для соответствующих условий кодирования.
38. Устройство по п.32, в котором VLC-модуль выполнен с возможностью нормализовать накопленные счетчики в выбранных интервалах в рамках серии последовательных макроблоков, содержащей блоки блочных коэффициентов цифрового видео.
39. Устройство по п.27, в котором VLC-модуль выполнен с возможностью выполнять VLC-кодирование DC- и AC-блоков сигнала цветности отдельно друг от друга и отдельно от блоков сигнала яркости, используя отдельные таблицы сдвига конца блока (EOB), таблицы сдвига специального конца блока (sEOB) и таблицы выбора словаря VLC-кодирования, чтобы кодировать DC- и AC-блоки сигнала цветности, при этом каждая из таблиц сдвига EOB указывает индекс символа EOB в наборе символов, содержащем символы серий нулей, символ EOB и символ sEOB, на основе вероятности конца блока для соответствующего условия кодирования, каждая из таблиц выбора словаря VLC-кодирования указывает словарь VLC-кодирования, используемый для того, чтобы кодировать индексы символов в наборе символов для соответствующего условия кодирования, а каждая из таблиц сдвига sEOB указывает индекс символа sEOB в наборе символов, содержащем символы серий нулей, символ конца блока (EOB) и символ sEOB, на основе вероятности конца блока для соответствующего условия кодирования, когда, по меньшей мере, один из ненулевых коэффициентов имеет абсолютную величину больше 1.
40. Устройство по п.39, в котором VLC-модуль выполнен с возможностью корректировать таблицы сдвига EOB, таблицы сдвига sEOB и таблицы выбора словаря VLC-кодирования для DC- и AC-блоков сигнала цветности на основе статистики кодирования, собранной для DC- и AC-блоков сигнала цветности.
41. Устройство по п.39, в котором VLC-модуль выполнен с возможностью инициализировать таблицы сдвига EOB, таблицы сдвига sEOB и таблицы выбора словаря VLC-кодирования для DC- и AC-блоков сигнала цветности отлично от блоков сигнала яркости.
42. Устройство по п.39, в котором VLC-модуль выполнен с возможностью использовать фиксированные таблицы сдвига EOB, таблицы сдвига sEOB и таблицы выбора словаря VLC-кодирования для DC- и AC-блоков сигнала цветности.
43. Устройство по п.23, в котором VLC-модуль выполнен с возможностью выполнять VLC-кодирование, чтобы кодировать блочные коэффициенты цифрового видео или декодировать блочные коэффициенты цифрового видео.
44. Устройство по п.23, в котором блочные коэффициенты цифрового видео представляют блочные коэффициенты в улучшающем слое масштабирования с высокой степенью детализации (FGS) серии последовательных макроблоков масштабируемого видеокодирования (SVC), содержащей улучшающий слой и, по меньшей мере, один базовый или предыдущий слой, в котором кодирование позиций ненулевых блочных коэффициентов в блоке содержит кодирование позиций значимых коэффициентов, и в котором значимые коэффициенты в улучшающем слое являются коэффициентами, для которых соответствующие коэффициенты в базовом или предыдущем слое являются нулевыми.
45. Устройство видеокодирования, содержащее:
- средство для выполнения VLC-кодирования блочных коэффициентов цифрового видео с помощью VLC-параметров;
- средство для сбора статистики кодирования в ходе VLC-кодирования блочных коэффициентов цифрового видео; и
- средство для корректировки одного или более VLC-параметров в ходе VLC-кодирования на основе собранной статистики кодирования.
46. Машиночитаемый носитель, содержащий инструкции, побуждающие процессор:
- выполнять VLC-кодирование блочных коэффициентов цифрового видео с помощью VLC-параметров;
- собирать статистику кодирования в ходе VLC-кодирования блочных коэффициентов цифрового видео; и
- корректировать один или более VLC-параметров в ходе VLC-кодирования на основе собранной статистики кодирования.
47. Способ, содержащий этапы, на которых:
- формируют параметры кода с переменной длиной (VLC); и
- выполняют VLC-кодирование блочных коэффициентов цифрового видео с помощью VLC-параметров,
- при этом VLC-параметры содержат таблицу сдвига специального EOB (sEOB), указывающую, для каждого из множества различных условий кодирования, индекс символа sEOB в наборе символов, содержащем символы серий нулей, символ конца блока (EOB) и символ sEOB, на основе вероятности конца блока, когда блок включает в себя один или более ненулевых коэффициентов, имеющих абсолютную величину больше 1.
48. Способ по п.47, дополнительно содержащий этап, на котором формируют, в качестве одного из VLC-параметров, параметр, указывающий информацию абсолютной величины ненулевых коэффициентов в блоке, кодированном с помощью фиксированной VLC-таблицы, на основе числа коэффициентов в блоке, имеющих абсолютную величину больше 1, и максимальной абсолютной величины коэффициентов в блоке, имеющих абсолютную величину больше 1.
49. Способ по п.47, дополнительно содержащий этап, на котором включают таблицу сдвига sEOB в серию последовательных макроблоков видео с индексом, для каждого из условий кодирования, индекс символа sEOB в наборе символов, содержащем символы серий нулей, символ EOB и символ sEOB, на основе вероятности конца блока, когда блок включает в себя один или более ненулевых коэффициентов, имеющих абсолютную величину больше 1.
50. Устройство видеокодирования, содержащее модуль кода с переменной длиной (VLC), выполненный с возможностью выполнять VLC-кодирование блочных коэффициентов цифрового видео с помощью VLC-параметров, при этом VLC-параметры содержат таблицу сдвига специального EOB (sEOB), указывающую, для каждого из множества различных условий кодирования, индекс символа sEOB в наборе символов, содержащем символы серий нулей, символ конца блока (EOB) и символ sEOB, на основе вероятности конца блока, когда блок включает в себя один или более ненулевых коэффициентов, имеющих абсолютную величину, большую 1.
51. Устройство по п.50, в котором VLC-модуль формирует, в качестве одного из VLC-параметров, параметр, указывающий информацию абсолютной величины ненулевых коэффициентов в блоке, кодированном с помощью фиксированной VLC-таблицы, на основе числа коэффициентов в блоке, имеющих абсолютную величину больше 1, и максимальной абсолютной величины коэффициентов в блоке, имеющих абсолютную величину больше 1.
52. Устройство по п.50, в котором VLC-модуль включает таблицу сдвига sEOB в серию последовательных макроблоков видео, указывающую, для каждого из условий кодирования, индекс символа sEOB в наборе символов, содержащем символы серий нулей, символ EOB и символ sEOB, на основе вероятности конца блока, когда блок включает в себя один или более ненулевых коэффициентов, имеющих абсолютную величину больше 1.
53. Устройство, содержащее:
- средство для формирования параметров кода с переменной длиной (VLC); и
- средство для выполнения VLC-кодирования блочных коэффициентов цифрового видео с помощью VLC-параметров,
- при этом VLC-параметры содержат таблицу сдвига специального EOB (sEOB), указывающую, для каждого из множества различных условий кодирования, индекс символа sEOB в наборе символов, содержащем символы серий нулей, символ конца блока (EOB) и символ sEOB, на основе вероятности конца блока, когда блок включает в себя один или более ненулевых коэффициентов, имеющих абсолютную величину больше 1.
54. Машиночитаемый носитель, содержащий инструкции, побуждающие процессор:
- формировать параметры кода с переменной длиной (VLC); и
- выполнять VLC-кодирование блочных коэффициентов цифрового видео с помощью VLC-параметров,
- при этом VLC-параметры содержат таблицу сдвига специального EOB (sEOB), указывающую, для каждого из множества различных условий кодирования, индекс символа sEOB в наборе символов, содержащем символы серий нулей, символ конца блока (EOB) и символ sEOB, на основе вероятности конца блока, когда блок включает в себя один или более ненулевых коэффициентов, имеющих абсолютную величину больше 1.