КОДИРОВАНИЕ ВИДЕО ПРИ ПОМОЩИ СОГЛАСОВАННОГО ПО ВРЕМЕМИ ОТОБРАЖЕНИЯ ДИНАМИЧЕСКОГО ДИАПАЗОНА

1. Кодер видео для кодирования первой последовательности (12) кадров (14), значения (16) отсчетов которых представлены в первом формате, охватывающем первый динамический диапазон, содержащий:
преобразователь (18) значений отсчетов, выполненный с возможностью преобразования значений (16) отсчетов кадров (14) первой последовательности (16) из первого формата во второй формат со вторым динамическим диапазоном, который ниже первого динамического диапазона, используя функцию (36) отображения, которая отображает участок (38) первого динамического диапазона (40), который задается параметром (45) отображения, во второй динамический диапазон (42) так, чтобы получить вторую последовательность (30) кадров (32);
каскад (26) кодирования видео, выполненный с возможностью кодирования второй последовательности (30) кадров (32) посредством взвешенного временного предсказания первого кадра второй последовательности (30), используя второй кадр второй последовательности (30) реконструированной версии второго кадра второй последовательности (36), взвешенного параметром веса и смещенного параметром смещения, в качестве опорного кадра; и
блок (22) задания параметров для задания параметра веса и параметра (50) смещения, в зависимости от параметра (45) отображения второго кадра первой последовательности, соответствующего второму кадру второй последовательности, и задания параметра отображения первого кадра первой последовательности, соответствующего первому кадру второй последовательности, в зависимости от параметра отображения второго кадра первой последовательности, параметра веса и параметра смещения.
2. Кодер видео по п.1, в котором блок (22) задания параметров выполнен с возможностью определения занимаемого участка первого динамического диапазона (40), в котором распределены значения (16) отсчетов первого кадра первой последовательности (12), и задания параметра (50) веса и параметра (38) смещения и, в зависимости от параметра (50) веса и параметра (38) смещения, параметра отображения первого кадра первой последовательности таким образом, что участок, заданный параметром отображения первого кадра первой последовательности (12), аппроксимирует занимаемый участок.
<mover accent="true"><mi>o</mi><mo>⌢</mo></mover>
<mrow><mi>log</mi><mi>W</mi><mi>D</mi></mrow>
<mover accent="true"><mi>w</mi><mo>⌢</mo></mover>
<mrow><mi>log</mi><mi>W</mi><mi>D</mi></mrow>
<mover accent="true"><mi>w</mi><mo>⌢</mo></mover>
3. Кодер видео по п.1, в котором блок (22) задания параметров выполнен с возможностью задания параметра
смещения в зависимости от расхождения между верхними границами или расхождения между нижними границами участков (38/48), заданных параметрами отображения для первого и второго кадров первой последовательности соответственно и задания параметра (
,
) веса в зависимости от расхождения между длинами участков (38, 48) заданных параметрами (
,
) отображения первого и второго кадров первой последовательности соответственно.
<mi>Y</mi>
4. Кодер видео по п.1, в котором преобразователь (18) значений отсчетов выполнен с возможностью преобразования значения
отсчета кадров (14) первой последовательности (12) из первого формата во второй формат по формуле
<mrow><mi>b</mi><mo>⋅</mo><mo stretchy="false">(</mo><msub><mrow><mi>log</mi></mrow><mi>m</mi></msub><mo stretchy="false">(</mo><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mo stretchy="false">)</mo><mo>−</mo><mi>a</mi><mo stretchy="false">)</mo></mrow>
,
<mi>b</mi>
<mi>a</mi>
<mrow><msub><mi>Y</mi><mrow><mi>min</mi></mrow></msub></mrow>
<mrow><msub><mi>Y</mi><mrow><mi>max</mi></mrow></msub></mrow>
<mrow><msub><mi>Y</mi><mrow><mi>min</mi></mrow></msub></mrow>
<mrow><msub><mi>Y</mi><mrow><mi>max</mi></mrow></msub></mrow>
причем
и
содержатся в параметре отображения и соотносятся с нижней границей
и верхней границей
участка (38) первого динамического диапазона (40), от
до
, по формуле
<mrow><mi>b</mi><mo>=</mo><mfrac><mrow><msup><mn>2</mn><mi>n</mi></msup><mo>−</mo><mn>1</mn></mrow><mrow><msub><mrow><mi>log</mi></mrow><mi>m</mi></msub><mo stretchy="false">(</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>max</mi></mrow></msub><mo>/</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>min</mi></mrow></msub><mo stretchy="false">)</mo></mrow></mfrac></mrow>
<mrow><mi>a</mi><mo>=</mo><msub><mrow><mi>log</mi></mrow><mi>m</mi></msub><mo stretchy="false">(</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>min</mi></mrow></msub><mo stretchy="false">)</mo></mrow>
; ,
,
<mrow><msub><mrow><mi>log</mi></mrow><mi>m</mi></msub></mrow>
<mi>m</mi>
<mi>n</mi>
причем
является логарифмической функцией по основанию
, а
является целым числом, указывающим количество бит представления целого числа во втором формате.
5. Кодер видео по п.4, в котором блок (22) задания параметров выполнен с возможностью определения занимаемого участка первого динамического диапазона (40), в котором распределены (44) значения (16) отсчетов первого кадра первой последовательности (12), и задания параметра веса и параметра (50) смещения таким образом, что
<mrow><mfrac><mrow><msub><mrow><mi>log</mi></mrow><mi>m</mi></msub><mo stretchy="false">(</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>max</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>/</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>min</mi><mo>,</mo><mi>k</mi></mrow></msub><mo stretchy="false">)</mo></mrow><mrow><msub><mrow><mi>log</mi></mrow><mi>m</mi></msub><mo stretchy="false">(</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>max</mi><mo>,</mo><mi>l</mi></mrow></msub><mo>/</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>min</mi><mo>,</mo><mi>l</mi></mrow></msub><mo stretchy="false">)</mo></mrow></mfrac><mo>⋅</mo><msup><mn>2</mn><mrow><mi>log</mi><mi>W</mi><mi>D</mi></mrow></msup><mo>=</mo><mover accent="true"><mi>w</mi><mo>⌢</mo></mover></mrow>
;
<mrow><mfrac><mrow><msub><mrow><mi>log</mi></mrow><mi>m</mi></msub><mo stretchy="false">(</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>min</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>/</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>min</mi><mo>,</mo><mi>l</mi></mrow></msub><mo stretchy="false">)</mo><msup><mn>2</mn><mi>n</mi></msup><mo>−</mo><mn>1</mn></mrow><mrow><msub><mrow><mi>log</mi></mrow><mi>m</mi></msub><mo stretchy="false">(</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>max</mi><mo>,</mo><mi>l</mi></mrow></msub><mo>/</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>min</mi><mo>,</mo><mi>l</mi></mrow></msub><mo stretchy="false">)</mo><msup><mn>2</mn><mrow><mi>n</mi><mo>−</mo><msub><mi>n</mi><mn>0</mn></msub></mrow></msup></mrow></mfrac><mo>=</mo><mover accent="true"><mi>o</mi><mo>⌢</mo></mover></mrow>
,
при условии, что
<mrow><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>max</mi><mo>,</mo><mi>l</mi></mrow></msub><mo>≥</mo><msub><mi>Y</mi><mrow><mi>max</mi><mo>,</mo><mi>l</mi></mrow></msub></mrow>
<mrow><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>min</mi><mo>,</mo><mi>l</mi></mrow></msub><mo>≤</mo><msub><mi>Y</mi><mrow><mi>min</mi><mo>,</mo><mi>l</mi></mrow></msub></mrow>
и
,
<mrow><msub><mi>Y</mi><mrow><mi>min</mi></mrow></msub></mrow>
<mrow><msub><mi>Y</mi><mrow><mi>max</mi></mrow></msub></mrow>
<mrow><msub><mi>n</mi><mn>0</mn></msub></mrow>
<mover accent="true"><mi>o</mi><mo>⌢</mo></mover>
<mi>l</mi>
<mi>k</mi>
<mover accent="true"><mi>w</mi><mo>⌢</mo></mover>
<mrow><mi>log</mi><mi>W</mi><mi>D</mi></mrow>
<mover accent="true"><mi>o</mi><mo>⌢</mo></mover>
причем
является нижней границей, а
является верхней границей занимаемого участка,
является целым числом, которое относится к диапазону определения
, индекс
служит указателем первого кадра первой последовательности кадров, индекс
служит указателем второго кадра первой последовательности кадров,
и
содержатся в параметре веса, а
содержится в параметре смещения.
6. Кодер видео по п.1, в котором каскад (20) кодирования видео выполнен с возможностью использования параметра размера шага квантователя при кодировании второй последовательности (30) кадров, а блок (22) задания параметров выполнен с возможностью задания параметра размера шага квантователя для кадров (12) второй последовательности (39) в зависимости от длины участка, как задано для кадров первой последовательности, соответствующих соответствующим кадрам второй последовательности.
7. Кодер видео по п.6, в котором блок (22) задания параметров выполнен с возможностью кодирования параметра размера шага квантователя в потоке данных дифференциально по отношению к параметру размера шага квантователя начального кадра второй последовательности.
8. Кодер видео по п.1, в котором значениями отсчетов кадров первой последовательности являются значения яркости с плавающей точкой, а значениями отсчетов кадров второй последовательности являются целочисленные значения гамма-корректированной яркости.
9. Кодер видео по п.1, в котором блок (22) задания параметров выполнен с возможностью
определения занимаемого участка первого динамического диапазона (40), в котором распределены значения (16) отсчетов первого кадра первой последовательности (12), и
задания параметра веса и параметра (50) смещения и на основании параметра веса и параметра (50) смещения - параметра отображения первого кадра первой последовательности таким образом, что параметр веса и параметр смещения смещают и масштабируют участок первого динамического диапазона (40), как задано параметром отображения второго кадра первой последовательности, чтобы в результате получить интервал, который захватывает занимаемый участок, при этом интервал является участком первого динамического диапазона (40), заданным параметром отображения первого кадра первой последовательности.
10. Декодер видео для реконструкции первой последовательности (102) кадров, значения отсчетов которых представлены в первом формате, охватывающем первый динамический диапазон, из потока данных, содержащий
каскад (108) декодирования видео, выполненный с возможностью реконструкции из потока данных второй последовательности (30) кадров (32), значения отсчетов которых представлены во втором формате, охватывающем второй динамический диапазон (42), который ниже первого динамического диапазона, посредством взвешенного временного предсказания первого кадра второй последовательности (30'), используя второй кадр второй последовательности (30'), взвешенный параметром веса и смещенный параметром смещения, которые содержатся в потоке данных, в качестве опорного кадра;
блок (110) задания параметров, выполненный с возможностью задания параметра (132) отображения первого кадра второй последовательности (30'), в зависимости от параметра отображения второго кадра второй последовательности (30'), параметра веса и параметра смещения, и
обратный преобразователь (112) значений отсчетов, выполненный с возможностью преобразования значений (34') отсчетов кадров (32') второй последовательности из второго формата в первый формат, используя функцию отображения, которая отображает второй динамический диапазон (42) в участок первого динамического диапазона (40), который задан параметром отображения для соответствующего кадра второй последовательности.
11. Декодер видео по п.10, в котором параметр отображения определяет длину участка (38) первого динамического диапазона (40) и нижнюю и верхнюю границы участка (38) первого динамического диапазона и в котором блок задания параметров выполнен с возможностью задания параметра отображения первого кадра второй последовательности (30') посредством модификации длины участка (48) первого динамического диапазона (40), который определен параметром движения второго кадра второй последовательности (30'), в зависимости от параметра веса, чтобы получить длину участка (38), который определен параметром движения первого кадра второй последовательности, и посредством модификации нижней или верхней границы участка (48) первого динамического диапазона (40), которая определена параметром движения второго кадра второй последовательности в зависимости от параметра смещения, чтобы получить первый кадр второй последовательности.
<mrow><msub><mi>L</mi><mi>n</mi></msub></mrow>
12. Декодер видео по п.10, в котором обратный преобразователь (112) значений отсчетов выполнен с возможностью преобразования значения
(34') отсчета кадров (32') второй последовательности (30') из первого формата во второй формат по формуле
<mrow><msup><mi>m</mi><mrow><mo stretchy="false">(</mo><msub><mi>L</mi><mi>n</mi></msub><mo>+</mo><mi>ε</mi><mo stretchy="false">)</mo><msup><mi>b</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><mo>+</mo><mi>a</mi></mrow></msup></mrow>
,
<mi>b</mi>
<mi>a</mi>
<mrow><msub><mi>Y</mi><mrow><mi>min</mi></mrow></msub></mrow>
<mrow><msub><mi>Y</mi><mrow><mi>max</mi></mrow></msub></mrow>
<mrow><msub><mi>Y</mi><mrow><mi>min</mi></mrow></msub></mrow>
<mrow><msub><mi>Y</mi><mrow><mi>max</mi></mrow></msub></mrow>
причем
и
содержатся в параметре отображения и соотносятся с нижней границей
и верхней границей
участка (38) первого динамического диапазона, от
до
, по формуле
<mrow><mi>b</mi><mo>=</mo><mfrac><mrow><msup><mn>2</mn><mi>n</mi></msup><mo>−</mo><mn>1</mn></mrow><mrow><msub><mrow><mi>log</mi></mrow><mi>m</mi></msub><mo stretchy="false">(</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>max</mi></mrow></msub><mo>/</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>min</mi></mrow></msub><mo stretchy="false">)</mo></mrow></mfrac></mrow>
<mrow><mi>a</mi><mo>=</mo><msub><mrow><mi>log</mi></mrow><mi>m</mi></msub><mo stretchy="false">(</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>min</mi></mrow></msub><mo stretchy="false">)</mo></mrow>
,
,
<mrow><msub><mrow><mi>log</mi></mrow><mi>m</mi></msub></mrow>
<mi>m</mi>
<mi>n</mi>
причем
является логарифмической функцией по основанию
, а
является целым числом, указывающим количество бит представления целого числа во втором формате.
<mi>a</mi>
<mi>b</mi>
13. Декодер видео по п.12, в котором блок (110) задания параметров выполнен с возможностью вычисления
и
таким образом, что
<mrow><mfrac><mrow><msub><mrow><mi>log</mi></mrow><mi>m</mi></msub><mo stretchy="false">(</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>max</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>/</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>min</mi><mo>,</mo><mi>k</mi></mrow></msub><mo stretchy="false">)</mo></mrow><mrow><msub><mrow><mi>log</mi></mrow><mi>m</mi></msub><mo stretchy="false">(</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>max</mi><mo>,</mo><mi>l</mi></mrow></msub><mo>/</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>min</mi><mo>,</mo><mi>l</mi></mrow></msub><mo stretchy="false">)</mo></mrow></mfrac><mo>⋅</mo><msup><mn>2</mn><mrow><mi>log</mi><mi>W</mi><mi>D</mi></mrow></msup><mo>=</mo><mover accent="true"><mi>w</mi><mo>⌢</mo></mover></mrow>
;
<mrow><mfrac><mrow><msub><mrow><mi>log</mi></mrow><mi>m</mi></msub><mo stretchy="false">(</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>min</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>/</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>min</mi><mo>,</mo><mi>l</mi></mrow></msub><mo stretchy="false">)</mo></mrow><mrow><msub><mrow><mi>log</mi></mrow><mi>m</mi></msub><mo stretchy="false">(</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>max</mi><mo>,</mo><mi>l</mi></mrow></msub><mo>/</mo><msub><mover accent="true"><mi>Y</mi><mo>⌢</mo></mover><mrow><mi>min</mi><mo>,</mo><mi>l</mi></mrow></msub><mo stretchy="false">)</mo></mrow></mfrac><mfrac><mrow><msup><mn>2</mn><mi>n</mi></msup><mo>−</mo><mn>1</mn></mrow><mrow><msup><mn>2</mn><mrow><mi>n</mi><mo>−</mo><msub><mi>n</mi><mn>0</mn></msub></mrow></msup></mrow></mfrac><mo>=</mo><mover accent="true"><mi>o</mi><mo>⌢</mo></mover></mrow>
,
<mrow><msub><mi>n</mi><mn>0</mn></msub></mrow>
<mover accent="true"><mi>o</mi><mo>⌢</mo></mover>
<mi>l</mi>
<mi>k</mi>
<mover accent="true"><mi>w</mi><mo>⌢</mo></mover>
<mrow><mi>log</mi><mi>W</mi><mi>D</mi></mrow>
<mover accent="true"><mi>o</mi><mo>⌢</mo></mover>
причем
является целым числом, которое относится к диапазону определения
, индекс
служит указателем первого кадра второй последовательности кадров, индекс
служит указателем второго кадра второй последовательности,
и
содержатся в параметре веса, а
содержится в параметре смещения.
14. Декодер видео по п.10, в котором каскад (108) декодирования видео выполнен с возможностью использования параметра размера шага квантователя при реконструкции второй последовательности кадров и блок задания параметров выполнен с возможностью задания параметра размера шага квантователя кадров второй последовательности, в зависимости от длины участка первого динамического диапазона как заданного для соответствующих кадров второго диапазона.
15. Декодер видео по п.14, в котором блок (110) задания параметров выполнен с возможностью декодирования параметра размера шага квантователя из потока данных дифференциально по отношению к параметру размера шага квантователя начального кадра второй последовательности.
16. Декодер видео по п.10, в котором значениями отсчетов кадров первой последовательности являются значения яркости с плавающей точкой, а значениями отсчетов кадров второй последовательности являются целочисленные значения гамма-корректированной яркости.
17. Способ для кодирования первой последовательности (12) кадров (14), значения (16) отсчетов которых представлены в первом формате, охватывающем первый динамический диапазон, содержащий этапы, на которых:
преобразуют значения (16) отсчетов кадров (14) первой последовательности (16) из первого формата во второй формат, динамический диапазон которого ниже первого динамического диапазона, используя функцию (36) отображения, которая отображает участок (38) первого динамического диапазона (40), который задается параметром (45) отображения, во второй динамический диапазон (42) так, чтобы получить вторую последовательность (30) кадров (32);
кодируют вторую последовательность (30) кадров (32) посредством взвешенного временного предсказания первого кадра второй последовательности (30), используя второй кадр второй последовательности (30) реконструированной версии второго кадра второй последовательности (36), взвешенного параметром веса и смещенного параметром смещения, в качестве опорного кадра; и
задают параметр веса и параметр (50) смещения, в зависимости от параметра (45) отображения второго кадра первой последовательности, соответствующего второму кадру второй последовательности, и задают параметр отображения первого кадра первой последовательности, соответствующего первому кадру второй последовательности, в зависимости от параметра отображения второго кадра первой последовательности, параметра веса и параметра смещения.
18. Способ для реконструкции первой последовательности (102) кадров, значения отсчетов которых представлены в первом формате, охватывающем первый динамический диапазон, из потока данных, содержащий этапы, на которых
реконструируют из потока данных вторую последовательность (30) кадров (32), значения отсчетов которых представлены во втором формате, охватывающем второй динамический диапазон (42), который ниже первого динамического диапазона, посредством взвешенного временного предсказания первого кадра второй последовательности (30'), используя второй кадр второй последовательности (30'), взвешенный параметром веса и смещенный параметром смещения, которые содержатся в потоке данных, в качестве опорного кадра;
задают параметр (132) отображения первого кадра второй последовательности (30') в зависимости от параметра отображения второго кадра второй последовательности (30'), параметр веса и параметр смещения, и
преобразуют значения (34') отсчетов кадров (32') второй последовательности из второго формата в первый формат, используя функцию отображения, которая отображает второй динамический диапазон (42) в участок первого динамического диапазона (40), который задан параметром отображения для соответствующего кадра второй последовательности.
19. Поток данных, из которого может быть реконструирована первая последовательность (102) кадров, значения отсчетов которых представлены в первом формате, охватывающем первый динамический диапазон, причем первая последовательность закодирована в потоке данных опосредованно через вторую последовательность (30) кадров (32), значения отсчетов которых представлены во втором формате, охватывающем второй динамический диапазон (42), который ниже первого динамического диапазона, причем вторая последовательность закодирована в потоке данных посредством взвешенного временного предсказания первого кадра второй последовательности (30'), используя второй кадр второй последовательности (30'), взвешенный параметром веса и смещенный параметром смещения, в качестве опорного кадра, при этом параметр веса и параметр смещения содержатся в потоке данных таким образом, что параметр (132) отображения первого кадра второй последовательности (30') зависит от параметра отображения второго кадра второй последовательности (30'), параметра веса и параметра смещения, а значения (34') отсчетов кадров (32') второй последовательности, преобразуясь из второго формата в первый формат, используя функцию отображения, которая отображает второй динамический диапазон (42) в участок первого динамического диапазона (40), который задан параметром отображения для соответствующего кадра второй последовательности, реконструируют первую последовательность.
20. Машиночитаемый цифровой носитель данных с хранящейся на нем компьютерной программой с программным кодом для выполнения, при запуске на компьютере, способа по п.17 или 18.