КОДЕР, ДЕКОДЕР И СПОСОБ

1. Кодер (100) для кодирования входных данных (D1) для формирования соответствующих кодированных данных (Е2), выполненный с возможностью обработки входных данных (D1) и кодирования исходных значений по меньшей мере их части с использованием по меньшей мере одного алгоритма дельта-кодирования с получением значений разностей, которые выражены с использованием диапазона значений, который не увеличен по сравнению с диапазоном значений исходных значений, а также с возможностью формирования одного или более предикторов для использования при кодировании одной или более последующих частей входных данных (D1), при этом кодер (100) также выполнен с возможностью кодирования данных, сформированных при помощи упомянутого по меньшей мере одного алгоритма дельта-кодирования (ODelta, DDelta, IDelta, PDelta), и упомянутого одного или более предикторов с применением по меньшей мере одного алгоритма энтропийного кодирования для формирования кодированных данных (Е2), при этом упомянутые один или более предикторов включают по меньшей мере одно из следующего:
(i) один или более временных предикторов;
(ii) один или более локальных пространственных предикторов, подвергаемых квантованию; и
(iii) один или более локальных пространственных предикторов, использующих заранее вычисленные значения.
2. Кодер (100) по п. 1, отличающийся тем, что упомянутый по меньшей мере один алгоритм дельта-кодирования реализован как:
(a) использование схемы обработки данных для применения к входным данным (DA1) одной из форм разностного и/или суммирующего кодирования для получения одной или более соответствующих кодированных последовательностей; и
(b) использование схемы обработки данных для выполнения, над одной или более соответствующими кодированными последовательностями, операции циклического обращения вокруг максимального значения и/или циклического обращения вокруг минимального значения, для формирования кодированных выходных данных (DA2 или DA3) (= ODelta).
3. Кодер (100) по п. 1 или 2, отличающийся тем, что упомянутый по меньшей мере один алгоритм дельта-кодирования реализован посредством по меньшей мере одного из следующего:
(i) выражение значений разностей без знака, когда значения разностей включают только отрицательные значения (= DDelta) или только положительные значения (= IDelta);
(ii) использование значения сдвига для выражения значений разностей в пределах диапазона значений исходных значений (= PDelta).
4. Кодер (100) по любому из п.п. 1-3, в котором в состав кодированных данных (Е2) включают информацию, указывающую выбор по меньшей мере одного алгоритма дельта-кодирования (ODelta, DDelta, IDelta, PDelta).
5. Кодер (100) по любому из пп. 1-4, выполненный с возможностью применения по меньшей мере одного алгоритма квантования при кодировании входных данных (D1) для формирования кодированных данных (Е2), при этом упомянутый по меньшей мере один алгоритм квантования обеспечивает в кодере кодирование входных данных (D1) с потерями.
6. Кодер (100) по любому из пп. 1-5, выполненный с возможностью применения отличающихся друг от друга алгоритмов для кодирования данных в отличающихся друг от друга структурах данных, присутствующих во входных данных (D1).
7. Кодер (100) по любому из пп. 1-6, выполненный возможностью применения оптимизации «скорость - искажения» при поблочном кодировании входных данных (D1).
8. Кодер (100) по п. 7, отличающийся тем, что оптимизацию «скорость - искажения» рассчитывают в кодере (100) для минимизации значения V в уравнении:
где искажения (D) представляют собой сумму квадратов расхождений (SE) между входными данными (D1) и представлением входных данных (D1), кодированных в виде кодированных данных (Е2) и декодированных в виде декодированных данных (D3), а скорость (R) представляет количество кодированных данных, измеренное в битах.
9. Кодер (100) по любому из пп. 1-8, отличающийся тем, что упомянутые по меньшей мере один алгоритм дельта-кодирования (ODelta, DDelta, IDelta, PDelta) и/или по меньшей мере один алгоритм энтропийного кодирования выполнены с возможностью применения по меньшей мере одного из следующего: способов DC-кодирования, способов скользящего кодирования, способов многоуровневого кодирования, способов DCT-преобразования, способов линейного кодирования, способов кодирования с масштабированием, способов кодирования с использованием баз данных, диапазонного кодирования, кодирования Хаффмана, RLE-кодирования и SRLE-кодирования.
10. Кодер (100) по любому из пп. 1-9, выполненный с возможностью кодирования входных данных (D1), включающих структуры данных, которые соответствуют по меньшей мере одному из следующего: каналы YUV, каналы BGR.
11. Кодер (100) по п. 10, выполненный с возможностью кодирования данных в упомянутых каналах в следующем порядке: Y, U, V или в следующем порядке: G, В, R.
12. Кодер (100) по любому из пп. 1-11, выполненный с возможностью включать, в кодированные данные (Е2), данные, которые указывают один или более алгоритмов кодирования, используемых кодером (100) для кодирования входных данных (D1) для формирования кодированных данных (Е2).
13. Способ применения кодера (100) для кодирования входных данных (D1) для формирования соответствующих кодированных данных (Е2), включающий:
(i) использование кодера (100) для обработки входных данных (D1) и для кодирования исходных значений по меньшей мере их части с использованием по меньшей мере одного алгоритма дельта-кодирования (ODelta, DDelta, IDelta, PDelta) с получением значений разностей, которые выражены с использованием диапазона значений, который не увеличен по сравнению с диапазоном значений исходных значений;
(ii) использование кодера (100) для формирования одного или более предикторов для использования при кодировании одной или более последующих частей входных данных (D1); и
(iii) использование кодера (100) для кодирования данных, сформированных при помощи упомянутого по меньшей мере одного алгоритма дельта-кодирования, и упомянутых одного или более предикторов путем применения по меньшей мере одного алгоритма энтропийного кодирования для формирования кодированных данных (Е2),
при этом упомянутые один или более предикторов включают по меньшей мере одно из следующего:
(i) один или более временных предикторов;
(ii) один или более локальных пространственных предикторов, подвергаемых квантованию;
(iii) один или более локальных пространственных предикторов, использующих заранее вычисленные значения.
14. Способ по п. 13, отличающийся тем, что упомянутый по меньшей мере один алгоритм дельта-кодирования реализован как:
(a) использование схемы обработки данных для применения к входным данным (DA1) одной из форм разностного и/или суммирующего кодирования для получения одной или более соответствующих кодированных последовательностей; и
(b) использование схемы обработки данных для выполнения, над одной или более соответствующими кодированными последовательностями, операции циклического обращения вокруг максимального значения и/или циклического обращения вокруг минимального значения для формирования кодированных выходных данных (DA2 или DA3) (= ODelta).
15. Способ по п. 13, отличающийся тем, что упомянутый по меньшей мере один алгоритм дельта-кодирования реализован посредством по меньшей мере одного из следующего:
(i) выражение значений разностей без знака, когда значения разностей включают только отрицательные значения (= DDelta) или только положительные значения (= IDelta);
(ii) использование значения сдвига для выражения значений разностей в пределах диапазона значений исходных значений (= PDelta).
16. Способ по любому из пп. 13-15, включающий выполнение кодера (100) с возможностью применения по меньшей мере одного алгоритма квантования при кодировании входных данных (D1) для формирования кодированных данных (Е2), при этом упомянутый по меньшей мере один алгоритм квантования обеспечивает, в кодере, кодирование входных данных (D1) с потерями.
17. Способ по любому из пп. 13-16, включающий выполнение кодера (100) с возможностью применения отличающихся друг от друга алгоритмов кодирования данных в отличающихся друг от друга структурах данных, присутствующих во входных данных (D1).
18. Способ по любому из пп. 13-17, включающий выполнение кодера (100) возможностью применения оптимизации «скорость - искажения» при поблочном кодировании входных данных (D1).
19. Способ по п. 18, отличающийся тем, что оптимизацию «скорость - искажения» рассчитывают в кодере (100) для минимизации значения V в уравнении:
где искажения (D) представляют собой сумму квадратов расхождений (SE) между входными данными (D1) и представлением входных данных (D1), кодированных в виде кодированных данных (Е2) и декодированных в виде декодированных данных (D3), а скорость (R) представляет количество кодированных данных, измеренное в битах.
20. Способ по любому из пп. 13-19, отличающийся тем, что упомянутые по меньшей мере один алгоритм кодирования (ODelta, DDelta, IDelta, PDelta) и/или по меньшей мере алгоритм энтропийного кодирования выполнены с возможностью применения по меньшей мере одного из следующего: способов DC-кодирования, способов скользящего кодирования, способов многоуровневого кодирования, способов DCT-преобразования, способов линейного кодирования, способов кодирования с масштабированием, способов кодирования с использованием баз данных, диапазонного кодирования, кодирования Хаффмана, RLE-кодирования и SRLE-кодирования.
21. Способ по любому из пп. 13-20, включающий выполнение кодера (100) с возможностью кодирования входных данных (D1), включающих структуры данных, которые соответствуют по меньшей мере одному из следующего: каналы YUV, каналы BGR.
22. Способ по п. 21, включающий выполнение кодера (100) с возможностью кодирования данных в упомянутых каналах в следующем порядке: Y, U, V или в следующем порядке: G, В, R.
23. Способ по любому из пп. 13-22, включающий выполнение кодера (100) с возможностью включения, в кодированные данные (Е2), данных, которые указывают один или более алгоритмов кодирования, используемых кодером (100) для кодирования входных данных (D1) для формирования кодированных данных (Е2).
24. Декодер (120) для декодирования кодированных данных (Е2) для формирования соответствующих декодированных данных (D3), выполненный с возможностью обработки кодированных данных (Е2) с применением к ним по меньшей мере одного алгоритма энтропийного декодирования для формирования обработанных данных, а также с возможностью использования одного или более предикторов в сочетании с по меньшей мере одним алгоритмом дельта-декодирования (обратный ODelta, обратный DDelta, обратный IDelta, обратный PDelta) для декодирования обработанных данных и формирования декодированных данных (D3),
при этом обработанные данные включают значения разностей, которые выражены с использованием диапазона значений, который не увеличен по сравнению с диапазоном значений исходных данных, из которых были сформированы кодированные данные (Е2),
при этом упомянутые один или более предикторов включают по меньшей мере одно из следующего:
(i) один или более временных предикторов;
(ii) один или более локальных пространственных предикторов, подвергаемых квантованию;
(iii) один или более локальных пространственных предикторов, использующих заранее вычисленные значения.
25. Декодер (120) по п. 24, отличающийся тем, что упомянутый по меньшей мере один алгоритм дельта-декодирования реализован как:
(a) использование схемы обработки данных для применения к входным данным (Е2) одной из форм разностного и/или суммирующего декодирования для получения одной или более соответствующих декодированных последовательностей; и
(b) использование схемы обработки данных для выполнения, над одной или более соответствующими декодированными последовательностями, операции циклического обращения вокруг максимального значения и/или циклического
обращения вокруг минимального значения для формирования декодированных выходных данных (D3) (= обратный ODelta).
26. Декодер (120) по п. 24 или 25, отличающийся тем, что упомянутый по меньшей мере один алгоритм дельта-декодирования реализован посредством по меньшей мере одного из следующего:
(i) декодирование значений разностей, когда значения разностей включают только отрицательные значения (= обратный DDelta) или только положительные значения (= обратный IDelta);
(ii) использование значения сдвига для декодирования значений разностей, выраженных в пределах диапазона значений исходных значений (= обратный PDelta).
27. Декодер (120) по любому из п.п. 24-26, выполненный с возможностью применения по меньшей мере одного алгоритма квантования при кодировании входных данных (D1) для формирования декодированных данных (D2), при этом упомянутый по меньшей мере один алгоритм квантования обеспечивает, в декодере (120), декодирование кодированных данных (Е2) с потерями.
28. Декодер (120) по любому из пп. 24-27, выполненный с возможностью применения отличающихся друг от друга алгоритмов декодирования данных в отличающихся друг от друга структурах данных, присутствующих в кодированных данных (Е2).
29. Декодер (120) по любому из пп. 24-28, отличающийся тем, что упомянутые по меньшей мере один алгоритм дельта-декодирования и/или по меньшей мере один алгоритм энтропийного декодирования (обратный ODelta, обратный DDelta, обратный IDelta, обратный PDelta) выполнены с возможностью применения по меньшей мере одного из следующего: способов DC-кодирования, способов скользящего кодирования, способов многоуровневого кодирования, способов DCT-преобразования, способов линейного кодирования, способов кодирования с масштабированием, способов кодирования с использованием баз данных, диапазонного кодирования, кодирования Хаффмана, RLE-кодирования и SRLE-кодирования.
30. Декодер (120) по любому из п.п. 24-29, выполненный с возможностью декодирования кодированных данных (Е2), включающих структуры данных, которые соответствуют по меньшей мере одному из следующего: каналы YUV, каналы BGR.
31. Декодер (120) по п. 30, выполненный с возможностью декодирования данных в упомянутых каналах в следующем порядке: Y, U, V или в следующем порядке: G, В, R.
32. Декодер (120) по любому из п.п. 24-31, выполненный с возможностью с декодирования данных, включенных в состав кодированных данных (Е2), которые указывают один или более алгоритмов дельта-декодирования, необходимых для применения в декодере (120) для декодирования кодированных данных (Е2) для формирования декодированных данных (D3).
33. Способ декодирования кодированных данных (Е2) в декодере (120) для формирования соответствующих данных (D3), включающий обработку кодированных данных (Е2) с применением к ним по меньшей мере одного алгоритма энтропийного декодирования для формирования обработанных данных, а также использование одного или более предикторов в сочетании с по меньшей мере одним алгоритмом дельта-декодирования (обратный ODelta, обратный DDelta, обратный IDelta, обратный PDelta) для декодирования обработанных данных и формирования декодированных данных (D3), при этом обработанные данные включают значения разностей, которые выражены с использованием диапазона значений, который не увеличен по сравнению с диапазоном значений исходных данных, из которых были сформированы кодированные данные (Е2),
при этом упомянутые один или более предикторов включают по меньшей мере одно из следующего:
(i) один или более временных предикторов;
(ii) один или более локальных пространственных предикторов, подвергаемых квантованию;
(iii) один или более локальных пространственных предикторов, использующих заранее вычисленные значения.
34. Компьютерный программный продукт, включающий машиночитаемый носитель, имеющий хранимые на нем машиночитаемые инструкции, исполняемые при помощи компьютеризованного устройства, включающего процессорную аппаратуру, для выполнения способа по любому из пп. 13-33.