СПОСОБ И УСТРОЙСТВО АДАПТИВНОГО ВЫБОРА КОНТЕКСТНОЙ МОДЕЛИ ДЛЯ КОДИРОВАНИЯ ПО ЭНТРОПИИ

1. Способ кодирования, выполняемый многослойным видеокодером, при этом способ кодирования содержит этапы, на которых:
получают кадр базового слоя из входного кадра;
получают данные для улучшенного слоя из входного кадра посредством ссылки на ссылочные данные, содержащие, по меньшей мере, одно из данных кадра базового слоя, данных второго улучшенного слоя в другой временной позиции и данных для другой области улучшенного слоя; и
кодируют данные для улучшенного слоя согласно результату определения, при помощи заранее заданного значения флага, того, должны ли данные для улучшенного слоя быть предсказаны из ссылочных данных.
2. Способ кодирования по п.1, в котором данные кадра базового слоя содержат остаточные данные кадра базового слоя, содержащие остаток между кадром базового слоя и вторым кадром, временно отличным от кадра базового слоя, и вектор движения кадра базового слоя.
3. Способ кодирования по п.2, при этом способ дополнительно содержит этап, на котором получают энергию остаточных данных, в котором:
если энергия меньше заранее определенного порога, кодирование данных улучшенного слоя содержит этап, на котором кодируют данные улучшенного слоя без информации предсказания относительно того, должны ли данные кадра базового слоя указываться ссылками в данных улучшенного слоя; и
если энергия не меньше заранее определенного порога, кодирование данных улучшенного слоя содержит этап, на котором кодируют данные улучшенного слоя с помощью информации предсказания.
4. Способ кодирования по п.3, в котором заранее определенный порог - это значение, соответствующее энергии остаточных данных равной 0.
5. Способ кодирования по п.1, при этом способ дополнительно содержит этап, на котором получают энергию остаточных данных, при этом, если энергия остаточных данных не меньше заранее определенного порога, кодирование данных улучшенного слоя содержит этапы, на которых:
вычисляют разность между вектором движения кадра базового слоя и вектором движения улучшенного слоя;
задают определяющую информацию, используемую для того, чтобы предсказывать, должны ли остаточные данные указываться ссылками в данных улучшенного слоя, согласно разности между вектором движения базового слоя и вектором движения улучшенного слоя; и
кодируют данные улучшенного слоя с помощью определяющей информации и разности между определяющей информацией и информацией о том, должны ли остаточные данные указываться ссылками в данных улучшенного слоя.
6. Способ кодирования по п.1, при этом способ дополнительно содержит этап, на котором получают разность между вектором движения кадра базового слоя и вектором движения пространственно соседней области, при этом:
если разность меньше заранее определенного порога, кодирование данных улучшенного слоя содержит этап, на котором кодируют данные улучшенного слоя без информации предсказания относительно того, должны ли данные кадра базового слоя указываться ссылками в данных улучшенного слоя; и
если разность не меньше заранее определенного порога, кодирование данных улучшенного слоя содержит этап, на котором кодируют данные улучшенного слоя с помощью информации предсказания.
7. Способ кодирования по п.6, в котором заранее определенный порог - это значение, соответствующее остатку между двумя векторами движения равному 0.
8. Способ кодирования по п.1, при этом способ дополнительно содержит этап, на котором получают разность между вектором движения кадра базового слоя и вектором движения пространственно соседней области, причем, если разность между вектором движения базового слоя и другим вектором движения пространственно соседней области не меньше заранее определенного порога, кодирование данных улучшенного слоя содержит этапы, на которых:
задают определяющую информацию, используемую для того, чтобы предсказывать, должен ли вектор движения кадра базового слоя указываться ссылками в данных улучшенного слоя, согласно разности между вектором движения базового слоя и вектором движения пространственно соседней области; и
кодируют данные улучшенного слоя с помощью определяющей информации и разности между определяющей информацией и информацией о том, должен ли вектор движения кадра базового слоя указываться ссылками в данных улучшенного слоя.
9. Способ кодирования по п.1, в котором данные улучшенного слоя содержат определяющую информацию, используемую для того, чтобы предсказывать, должны ли данные кадра базового слоя указываться ссылками в данных улучшенного слоя, и разность между определяющей информацией и информацией предсказания о том, должны ли данные кадра базового слоя указываться ссылками.
10. Способ кодирования по п.1, в котором кодирование данных улучшенного слоя выполняется посредством кодирования по энтропии.
11. Способ кодирования по п.1, в котором данные улучшенного слоя - это данные для одного из макроблока, серии последовательных макроблоков и кадра.
12. Способ декодирования, выполняемый многослойным видеодекодером, при этом способ декодирования содержит этапы, на которых:
декодируют входной кадр базового слоя;
определяют, требуются ли данные кадра базового слоя для того, чтобы предсказывать данные улучшенного слоя; и
декодируют данные улучшенного слоя согласно результату определения.
13. Способ декодирования по п.12, в котором данные кадра базового слоя содержат, по меньшей мере, одно из остаточных данных кадра базового слоя, содержащих остаток между кадром базового слоя и вторым кадром, временно отличным от кадра базового слоя, и вектора движения кадра базового слоя.
14. Способ декодирования по п.13, при этом способ дополнительно содержит этап, на котором получают энергию остаточных данных, в котором при определении того, требуются ли данные кадра базового слоя для того, чтобы предсказывать данные улучшенного слоя:
если энергия меньше заранее определенного порога, декодирование данных улучшенного слоя содержит этапы, на которых:
задают первую информацию предсказания как указывающую то, что данные кадра базового слоя не указывались ссылками в данных улучшенного слоя, когда данные улучшенного слоя кодировались; и
декодируют данные улучшенного слоя с помощью первой информации предсказания; и
если энергия не меньше заранее определенного порога, декодирование данных улучшенного слоя содержит этапы, на которых:
задают вторую информацию предсказания как указывающую то, что данные кадра базового слоя указывались ссылками в данных улучшенного слоя, когда данные улучшенного слоя кодировались; и
декодируют данные улучшенного слоя с помощью второй информации предсказания.
15. Способ декодирования по п.14, в котором заранее определенный порог - это значение, соответствующее энергии остаточных данных равной 0.
16. Способ декодирования по п.13, при этом способ дополнительно содержит этап, на котором получают энергию остаточных данных, при этом, если энергия остаточных данных не меньше заранее определенного порога, декодирование данных улучшенного слоя содержит этапы, на которых:
вычисляют разность между вектором движения кадра базового слоя и вектором движения улучшенного слоя;
задают определяющую информацию, используемую для того, чтобы предсказывать, должны ли остаточные данные указываться ссылками в данных улучшенного слоя, согласно разности между вектором движения базового слоя и вектором движения улучшенного слоя; и
декодируют определяющую информацию и разность между определяющей информацией и информацией предсказания о том, должны ли остаточные данные указываться ссылками в данных улучшенного слоя.
17. Способ декодирования по п.13, в котором декодирование данных улучшенного слоя содержит этапы, на которых:
вычисляют вектор движения, предсказываемый из данных кадра базового слоя;
вычисляют вектор движения, предсказываемый из пространственно соседней области; и
декодируют данные улучшенного слоя посредством задания информации предсказания, указывающей, что данные улучшенного слоя не предсказываются из данных кадра базового слоя, если остаток между векторами движения меньше заранее определенного порога.
18. Способ декодирования по п.13, при этом способ дополнительно содержит этап, на котором получают разность между вектором движения кадра базового слоя и вектором движения соседней области, в котором, при определении того, требуются ли данные кадра базового слоя для того, чтобы предсказывать данные улучшенного слоя:
если разность меньше заранее определенного порога, декодирование данных улучшенного слоя содержит этапы, на которых:
задают первую информацию предсказания как указывающую то, что данные кадра базового слоя не указывались ссылками в данных улучшенного слоя, когда данные улучшенного слоя кодировались; и
декодируют данные улучшенного слоя с помощью первой информации предсказания; и
если разность не меньше заранее определенного порога, декодирование данных улучшенного слоя содержит этапы, на которых:
задают вторую информацию предсказания как указывающую то, что данные кадра базового слоя указывались ссылками в данных улучшенного слоя, когда данные улучшенного слоя кодировались; и
декодируют данные улучшенного слоя с помощью второй информации предсказания.
19. Способ декодирования по п.12, в котором заранее определенный порог - это значение, соответствующее остатку между двумя векторами движения равному 0.
20. Способ декодирования по п.12, при этом способ дополнительно содержит этап, на котором получают разность между вектором движения базового слоя и вектором движения пространственно соседней области, причем, если разность между вектором движения базового слоя и вектором движения пространственно соседней области не меньше заранее определенного порога, декодирование данных улучшенного слоя содержит этапы, на которых:
задают определяющую информацию, используемую для того, чтобы предсказывать, должен ли вектор движения базового слоя указываться ссылками в данных улучшенного слоя, согласно разности между вектором движения базового слоя и вектором движения пространственно соседней области; и
декодируют данные улучшенного слоя с помощью определяющей информации и разности между определяющей информацией и информацией предсказания о том, должны ли данные улучшенного слоя предсказываться из вектора движения кадра базового слоя.
21. Способ декодирования по п.12, в котором данные улучшенного слоя содержат определяющую информацию, используемую для того, чтобы предсказывать, должны ли данные кадра базового слоя указываться ссылками в данных улучшенного слоя, и разность между определяющей информацией и информацией предсказания о том, должны ли данные кадра базового слоя указываться ссылками.
22. Способ декодирования по п.12, в котором декодирование данных улучшенного слоя выполняется посредством декодирования по энтропии.
23. Способ декодирования по п.12, в котором данные улучшенного слоя - это данные для одного из макроблока, серии последовательных макроблоков и кадра.
24. Kодер, содержащий:
кодер базового слоя, который получает кадр базового слоя из входного кадра; и
кодер улучшенного слоя, который генерирует данные улучшенного слоя, предсказанные из ссылочных данных, содержащих, по меньшей мере, одно из данных кадра базового слоя, данных второго улучшенного слоя в другой временной позиции и данных для другой области улучшенного слоя,
при этом кодер улучшенного слоя содержит преобразователь, который кодирует данные улучшенного слоя согласно результату определения того, предсказуемы ли данные улучшенного слоя из ссылочных данных.
25. Кодер по п.24, в котором данные кодера базового слоя содержат, по меньшей мере, одно из остаточных данных кадра базового слоя, содержащих остаток между кадром базового слоя и вторым кадром, временно отличным от кадра базового слоя, и вектора движения кадра базового слоя.
26. Кодер по п.25:
в котором кодер базового слоя получает энергию остаточных данных; и
в котором:
если энергия меньше заранее определенного порога, преобразователь кодирует данные улучшенного слоя без информации предсказания относительно того, должны ли данные кадра базового слоя указываться ссылками в данных улучшенного слоя; и
если энергия не меньше заранее определенного порога, преобразователь кодирует данные улучшенного слоя с информацией предсказания.
27. Кодер по п.26, в котором заранее определенный порог - это значение, соответствующее энергии остаточных данных равной 0.
28. Кодер по п.24, в котором кодер базового слоя получает энергию остаточных данных, и если энергия остаточных данных не меньше заранее определенного порога, преобразователь:
вычисляет разность между вектором движения кадра базового слоя и вектором движения улучшенного слоя;
задает определяющую информацию, используемую для того, чтобы предсказывать, должны ли остаточные данные указываться ссылками в данных улучшенного слоя, согласно разности между вектором движения базового слоя и вектором движения улучшенного слоя; и
кодирует данные улучшенного слоя с помощью определяющей информации и разности между определяющей информацией и информацией о том, должны ли остаточные данные указываться ссылками в данных улучшенного слоя.
29. Кодер по п.24:
в котором преобразователь вычисляет разность между вектором движения кадра базового слоя и вектором движения пространственно соседней области; и
в котором:
если разность меньше заранее определенного порога, преобразователь кодирует данные улучшенного слоя без информации предсказания относительно того, должны ли данные кадра базового слоя указываться ссылками в данных улучшенного слоя; и
если разность не меньше заранее определенного порога, преобразователь кодирует данные улучшенного слоя с информацией предсказания.
30. Кодер по п.29, в котором заранее определенный порог - это значение, соответствующее остатку между двумя векторами движения равному 0.
31. Кодер по п.25:
в котором преобразователь получает разность между вектором движения кадра базового слоя и вектором движения пространственно соседней области; и
в котором, если разность между вектором движения базового слоя и другим вектором движения пространственно соседней области не меньше заранее определенного порога, преобразователь:
задает определяющую информацию, используемую для того, чтобы предсказывать, должны ли данные кадра базового слоя указываться ссылками в данных улучшенного слоя, согласно разности между вектором движения базового слоя и вектором движения пространственно соседней области; и
кодирует данные улучшенного слоя с помощью определяющей информации и разности между определяющей информацией и информацией о том, должен ли вектор движения кадра базового слоя указываться ссылками в данных улучшенного слоя.
32. Кодер по п.24, в котором данные улучшенного слоя содержат определяющую информацию, используемую для того, чтобы предсказывать, должны ли данные кадра базового слоя указываться ссылками в данных улучшенного слоя, и разность между определяющей информацией и информацией предсказания о том, должны ли данные кадра базового слоя указываться ссылками.
33. Кодер по п.24, в котором преобразователь выполняет кодирование по энтропии.
34. Кодер по п.24, в котором данные улучшенного слоя - это данные для одного из макроблока, серии последовательных макроблоков и кадра.
35. Декодер содержащий:
декодер базового слоя, который декодирует входной кадр базового слоя; и
декодер улучшенного слоя, который декодирует данные улучшенного слоя посредством ссылки на кадр базового слоя,
при этом декодер улучшенного слоя содержит обратный преобразователь, который декодирует данные улучшенного слоя согласно результату определения того, требуются ли данные кадра базового слоя для того, чтобы предсказывать данные улучшенного слоя.
36. Декодер по п.35, в котором данные кадра базового слоя содержат, по меньшей мере, одно из остаточных данных кадра базового слоя, содержащих остаток между кадром базового слоя и вторым кадром, временно отличным от кадра базового слоя, и вектора движения кадра базового слоя.
37. Декодер по п.35, в котором декодер базового слоя получает энергию остаточных данных, при этом:
если энергия меньше заранее определенного порога, обратный преобразователь:
задает первую информацию предсказания как указывающую то, что данные кадра базового слоя не указывались ссылками в данных улучшенного слоя, когда данные улучшенного слоя кодировались; и
декодирует данные улучшенного слоя с помощью первой информации предсказания; и
если энергия не меньше заранее определенного порога, обратный преобразователь:
задает вторую информацию предсказания как указывающую то, что данные кадра базового слоя указывались ссылками в данных улучшенного слоя, когда данные улучшенного слоя кодировались; и
декодирует данные улучшенного слоя с помощью второй информации предсказания.
38. Декодер по п.37, в котором заранее определенный порог - это значение, соответствующее энергии остаточных данных равной 0.
39. Декодер по п.35, в котором, если декодер базового слоя получает энергию остаточных данных, и энергия остаточных данных не меньше заранее определенного порога, обратный преобразователь:
вычисляет разность между вектором движения кадра базового слоя и вектором движения улучшенного слоя;
задает определяющую информацию, используемую для того, чтобы предсказывать, должны ли остаточные данные указываться ссылками в данных улучшенного слоя, согласно разности между вектором движения базового слоя и вектором движения улучшенного слоя; и
декодирует определяющую информацию и разность между определяющей информацией и информацией предсказания о том, должны ли остаточные данные указываться ссылками в данных улучшенного слоя.
40. Декодер по п.35, в котором обратный преобразователь вычисляет разность между вектором движения кадра базового слоя и вектором движения пространственно соседней области, при этом:
если разность меньше заранее определенного порога, обратный преобразователь:
задает первую информацию предсказания как указывающую то, что данные кадра базового слоя не указывались ссылками в данных улучшенного слоя, когда данные улучшенного слоя кодировались; и
декодирует данные улучшенного слоя с помощью первой информации предсказания; и
если разность не меньше заранее определенного порога, обратный преобразователь:
задает вторую информацию предсказания как указывающую то, что данные кадра базового слоя указывались ссылками в данных улучшенного слоя, когда данные улучшенного слоя кодировались; и
декодирует данные улучшенного слоя с помощью второй информации предсказания.
41. Декодер по п.40, в котором заранее определенный порог - это значение, соответствующее остатку между двумя векторами движения равному 0.
42. Декодер по п.35:
в котором обратный преобразователь получает разность между вектором движения кадра базового слоя и вектором движения пространственно соседней области; и
в котором, если разность между вектором движения базового слоя и вектором движения пространственно соседней области не меньше заранее определенного порога, обратный преобразователь:
задает определяющую информацию, используемую для того, чтобы предсказывать, должен ли вектор движения базового слоя указываться ссылками в данных улучшенного слоя, согласно разности между вектором движения базового слоя и вектором движения пространственно соседней области; и
декодирует данные улучшенного слоя с помощью определяющей информации и разности между определяющей информацией и информацией предсказания о том, должны ли данные улучшенного слоя предсказываться из вектора движения кадра базового слоя.
43. Декодер по п.35, в котором данные улучшенного слоя содержат определяющую информацию, используемую для того, чтобы предсказывать, должны ли данные кадра базового слоя указываться ссылками в данных улучшенного слоя, и разность между определяющей информацией и информацией предсказания о том, должны ли данные кадра базового слоя указываться ссылками.
44. Декодер по п.35, в котором обратный преобразователь выполняет декодирование по энтропии.
45. Декодер по п.35, в котором данные улучшенного слоя - это данные для одного из макроблока, серии последовательных макроблоков и кадра.