ГОСТ Р 53556.7—2013
Идея этой схемы кодирования заключается в разделении функции плотности вероятности на две
части, которые представляют равную вероятность. Один бит передается, чтобы определять располо
жение части, значение которой будет кодировано. Это разделение повторяется, пока ширина части не
единица, и затем ее позиция равна позиции кодируемого значения. Позиции границ извлекаются из
таблицы 32 квантованных значений с фиксированной точкой. Помимо этой таблицы (параметр «tab»)
также необходимо число различных кодовых комбинаций (параметр "к’).
Следующая функция С SDCDecode (к. tab) вместе с этими 9 таблицами sdcILATable [32] и
sdcILFTable [8] [32] описывает декодирование. Функция GetBit () возвращает следующий бит в потоке.
int sdcILATable [32] = {
0.13. 27. 41. 54. 68. 82. 96,110.124,138. 152, 166. 180.195. 210. 225. 240. 255, 271,288. 305, 323,
342. 361,383. 406. 431.460. 494, 538. 602
};
int sdcILFTable [8] [32] = {
{0. 53. 87.118.150,181, 212, 243. 275, 306. 337, 368. 399. 431.462. 493. 524. 555. 587, 618. 649,
680. 711. 743. 774. 805, 836. 867. 899. 930. 961. 992},
{ 0. 34. 53. 71, 89, 106, 123. 141, 159. 177, 195. 214. 234. 254. 274. 296. 317. 340. 363. 387, 412,
438. 465. 494, 524. 556. 591,629. 670, 718. 774. 847},
{0. 26. 41. 54. 66. 78. 91. ЮЗ. 116,128. 142.155. 169, 184. 199. 214. 231, 247. 265, 284. 303, 324,
346, 369. 394, 422, 452, 485. 524, 570, 627, 709},
{ 0. 23. 35. 45. 55. 65. 75, 85. 96. 106. 117. 128. 139. 151. 164. 177, 190, 204. 219, 235, 252. 270,
290, 311. 334. 360. 389. 422. 461. 508. 571.665}.
{0, 20. 30. 39. 48. 56. 64, 73. 81, 90. 99. 108. 118, 127,138,149. 160, 172, 185. 198. 213, 228. 245,
263. 284. 306. 332. 362. 398. 444. 507. 608},
{ 0. 18. 27. 35. 43. 50. 57. 65. 72. 79. 87. 95. 104. 112. 121, 131, 141, 151, 162. 174. 187. 201. 216,
233. 251. 272. 296. 324, 357. 401. 460. 558}.
{0.16, 24. 31.38. 45. 51.57. 64. 70. 77. 84. 91.99.107.115. 123. 132.142.152.163, 175.188. 203,
219. 237. 257. 282, 311, 349. 403, 493},
{ 0. 12. 19. 25. 30, 35. 41, 46. 51, 56. 62, 67. 73, 79. 85, 92, 99. 106. 114. 122. 132, 142, 153, 165,
179. 195. 213. 236. 264. 301. 355. 452}
};
int SDCDecode (int к. int *tab)
{
(int ’pp:
int g. dp. min. max;
min = 0;
max = k-1:
pp = tab*16;
dp = 16;
while (min! = max):
{
If (dp) g = (k * (* pp)) > > 10; else g = (max *min) » 1;
dp » = 1;
if (GetBit() = = 0) (pp • = dp. max =g:} else (pp* = dp:min = g + 1;}
}
return max:
}
4 Семантика потока битов
4.1 Конфигурация декодера (ParametricSpccificConfig)
Элементы потока битов:
isBaseLayerОдноразрядный идентификатор, представляющий, является ли соответствующий уро
вень базовым уровнем (1) или уровнем улучшения или расширения (0).
26