RU2010147944A - Эффективные аппроксимации с фиксированной запятой прямого и обратного дискретных косинусных преобразований - Google Patents
Эффективные аппроксимации с фиксированной запятой прямого и обратного дискретных косинусных преобразований Download PDFInfo
- Publication number
- RU2010147944A RU2010147944A RU2010147944/08A RU2010147944A RU2010147944A RU 2010147944 A RU2010147944 A RU 2010147944A RU 2010147944/08 A RU2010147944/08 A RU 2010147944/08A RU 2010147944 A RU2010147944 A RU 2010147944A RU 2010147944 A RU2010147944 A RU 2010147944A
- Authority
- RU
- Russia
- Prior art keywords
- value
- matrix
- factor
- coefficient
- calculating
- Prior art date
Links
Landscapes
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
1. Способ сжатия и отображения изображения, причем способ выполняется на компьютере, и содержит этапы, на которых: ! масштабируют каждый коэффициент в матрице закодированных коэффициентов размером 8×8 одним из множителя A, множителя B, множителя C, множителя D, множителя E, множителя F, множителя G, множителя H, множителя I или множителя J для формирования матрицы масштабированных коэффициентов, ! причем A=1024, B=1138, C=1730, D=1609, E=1264, F=1922, G=1788, H=2923, I=2718 и J=2528, ! используют повторные применения масштабированного одномерного преобразования с фиксированной запятой для преобразования матрицы масштабированных коэффициентов в матрицу преобразованных коэффициентов, ! сдвигают вправо преобразованные коэффициенты в матрице преобразованных коэффициентов для формирования матрицы скорректированных коэффициентов, ! причем каждый скорректированный коэффициент в матрице скорректированных коэффициентов аппроксимирует соответствующее значение в матрице значений, которые можно сформировать с применением идеального двумерного обратного дискретного косинусного преобразования ("IDCT") к матрице закодированных коэффициентов, ! отображают блок пикселей размером 8×8, причем каждый пиксель в блоке пикселей размером 8×8 включает в себя значение компонента пикселя на основе скорректированного коэффициента в матрице скорректированных коэффициентов. ! при этом этап масштабирования коэффициентов в матрице коэффициентов содержит этапы, на которых: ! масштабируют коэффициент в позиции [0,0] матрицы закодированных коэффициентов множителем A, ! масштабируют коэффициент в позиции [0,1] матрицы закодированных коэффициентов множителем B, ! масштаб
Claims (27)
1. Способ сжатия и отображения изображения, причем способ выполняется на компьютере, и содержит этапы, на которых:
масштабируют каждый коэффициент в матрице закодированных коэффициентов размером 8×8 одним из множителя A, множителя B, множителя C, множителя D, множителя E, множителя F, множителя G, множителя H, множителя I или множителя J для формирования матрицы масштабированных коэффициентов,
причем A=1024, B=1138, C=1730, D=1609, E=1264, F=1922, G=1788, H=2923, I=2718 и J=2528,
используют повторные применения масштабированного одномерного преобразования с фиксированной запятой для преобразования матрицы масштабированных коэффициентов в матрицу преобразованных коэффициентов,
сдвигают вправо преобразованные коэффициенты в матрице преобразованных коэффициентов для формирования матрицы скорректированных коэффициентов,
причем каждый скорректированный коэффициент в матрице скорректированных коэффициентов аппроксимирует соответствующее значение в матрице значений, которые можно сформировать с применением идеального двумерного обратного дискретного косинусного преобразования ("IDCT") к матрице закодированных коэффициентов,
отображают блок пикселей размером 8×8, причем каждый пиксель в блоке пикселей размером 8×8 включает в себя значение компонента пикселя на основе скорректированного коэффициента в матрице скорректированных коэффициентов.
при этом этап масштабирования коэффициентов в матрице коэффициентов содержит этапы, на которых:
масштабируют коэффициент в позиции [0,0] матрицы закодированных коэффициентов множителем A,
масштабируют коэффициент в позиции [0,1] матрицы закодированных коэффициентов множителем B,
масштабируют коэффициент в позиции [0,2] матрицы закодированных коэффициентов множителем C,
масштабируют коэффициент в позиции [0,3] матрицы закодированных коэффициентов множителем D,
масштабируют коэффициент в позиции [0,4] матрицы закодированных коэффициентов множителем A,
масштабируют коэффициент в позиции [0,5] матрицы закодированных коэффициентов множителем D,
масштабируют коэффициент в позиции [0,6] матрицы закодированных коэффициентов множителем C,
масштабируют коэффициент в позиции [0,7] матрицы закодированных коэффициентов множителем B,
масштабируют коэффициент в позиции [1,0] матрицы закодированных коэффициентов множителем B,
масштабируют коэффициент в позиции [1,1] матрицы закодированных коэффициентов множителем E,
масштабируют коэффициент в позиции [1,2] матрицы закодированных коэффициентов множителем F,
масштабируют коэффициент в позиции [1,3] матрицы закодированных коэффициентов множителем G,
масштабируют коэффициент в позиции [1,4] матрицы закодированных коэффициентов множителем B,
масштабируют коэффициент в позиции [1,5] матрицы закодированных коэффициентов множителем G,
масштабируют коэффициент в позиции [1,6] матрицы закодированных коэффициентов множителем F,
масштабируют коэффициент в позиции [1,7] матрицы закодированных коэффициентов множителем E,
масштабируют коэффициент в позиции [2,0] матрицы закодированных коэффициентов множителем C,
масштабируют коэффициент в позиции [2,1] матрицы закодированных коэффициентов множителем F,
масштабируют коэффициент в позиции [2,2] матрицы закодированных коэффициентов множителем H,
масштабируют коэффициент в позиции [2,3] матрицы закодированных коэффициентов множителем I,
масштабируют коэффициент в позиции [2,4] матрицы закодированных коэффициентов множителем C,
масштабируют коэффициент в позиции [2,5] матрицы закодированных коэффициентов множителем I,
масштабируют коэффициент в позиции [2,6] матрицы закодированных коэффициентов множителем H,
масштабируют коэффициент в позиции [2,7] матрицы закодированных коэффициентов множителем F,
масштабируют коэффициент в позиции [3,0] матрицы закодированных коэффициентов множителем D,
масштабируют коэффициент в позиции [3,1] матрицы закодированных коэффициентов множителем G,
масштабируют коэффициент в позиции [3,2] матрицы закодированных коэффициентов множителем I,
масштабируют коэффициент в позиции [3,3] матрицы закодированных коэффициентов множителем J,
масштабируют коэффициент в позиции [3,4] матрицы закодированных коэффициентов множителем D,
масштабируют коэффициент в позиции [3,5] матрицы закодированных коэффициентов множителем J,
масштабируют коэффициент в позиции [3,6] матрицы закодированных коэффициентов множителем I,
масштабируют коэффициент в позиции [3,7] матрицы закодированных коэффициентов множителем G,
масштабируют коэффициент в позиции [4,0] матрицы закодированных коэффициентов множителем A,
масштабируют коэффициент в позиции [4,1] матрицы закодированных коэффициентов множителем B,
масштабируют коэффициент в позиции [4,2] матрицы закодированных коэффициентов множителем C,
масштабируют коэффициент в позиции [4,3] матрицы закодированных коэффициентов множителем D,
масштабируют коэффициент в позиции [4,4] матрицы закодированных коэффициентов множителем A,
масштабируют коэффициент в позиции [4,5] матрицы закодированных коэффициентов множителем D,
масштабируют коэффициент в позиции [4,6] матрицы закодированных коэффициентов множителем C,
масштабируют коэффициент в позиции [4,7] матрицы закодированных коэффициентов множителем B,
масштабируют коэффициент в позиции [5,0] матрицы закодированных коэффициентов множителем D,
масштабируют коэффициент в позиции [5,1] матрицы закодированных коэффициентов множителем G,
масштабируют коэффициент в позиции [5,2] матрицы закодированных коэффициентов множителем I,
масштабируют коэффициент в позиции [5,3] матрицы закодированных коэффициентов множителем J,
масштабируют коэффициент в позиции [5,4] матрицы закодированных коэффициентов множителем D,
масштабируют коэффициент в позиции [5,5] матрицы закодированных коэффициентов множителем J,
масштабируют коэффициент в позиции [5,6] матрицы закодированных коэффициентов множителем I,
масштабируют коэффициент в позиции [5,7] матрицы закодированных коэффициентов множителем G,
масштабируют коэффициент в позиции [6,0] матрицы закодированных коэффициентов множителем C,
масштабируют коэффициент в позиции [6,1] матрицы закодированных коэффициентов множителем F,
масштабируют коэффициент в позиции [6,2] матрицы закодированных коэффициентов множителем H,
масштабируют коэффициент в позиции [6,3] матрицы закодированных коэффициентов множителем I,
масштабируют коэффициент в позиции [6,4] матрицы закодированных коэффициентов множителем C,
масштабируют коэффициент в позиции [6,5] матрицы закодированных коэффициентов множителем I,
масштабируют коэффициент в позиции [6,6] матрицы закодированных коэффициентов множителем H,
масштабируют коэффициент в позиции [6,7] матрицы закодированных коэффициентов множителем F,
масштабируют коэффициент в позиции [7,0] матрицы закодированных коэффициентов множителем B,
масштабируют коэффициент в позиции [7,1] матрицы закодированных коэффициентов множителем E,
масштабируют коэффициент в позиции [7,2] матрицы закодированных коэффициентов множителем F,
масштабируют коэффициент в позиции [7,3] матрицы закодированных коэффициентов множителем G,
масштабируют коэффициент в позиции [7,4] матрицы закодированных коэффициентов множителем B,
масштабируют коэффициент в позиции [7,5] матрицы закодированных коэффициентов множителем G,
масштабируют коэффициент в позиции [7,6] матрицы закодированных коэффициентов множителем F,
масштабируют коэффициент в позиции [7,7] матрицы закодированных коэффициентов множителем E,
при этом этап применения преобразования или к вектор-строке или к вектор-столбцу содержит этапы, на которых:
вычисляют значение x0' суммированием x0 и x4,
вычисляют значение x4' суммированием x0 и -x4,
вычисляют значение (x2·α) умножением x2 на значение α,
вычисляют значение (x6·β) умножением x6 на значение β,
вычисляют значение (x2·β) умножением x2 на значение β,
вычисляют значение (x6·α) умножением x6 на значение α,
вычисляют значение x2' суммированием (x2·α) и -(x6·β),
вычисляют значение x6' суммированием (x6·α) и (x2·β),
вычисляют значение x0'' суммированием x0' и x6',
вычисляют значение x4'' суммированием x4'и x2',
вычисляют значение x2'' суммированием x4'и -x2',
вычисляют значение x6'' суммированием x0' и -x6',
вычисляют значение x7' суммированием x1 и -x7,
вычисляют значение x1' суммированием x1 и x7,
вычисляют значение x7'' суммированием x7'и x5',
вычисляют значение x3'' суммированием x1' и -x3',
вычисляют значение x5'' суммированием x7'и -x5',
вычисляют значение x1'' суммированием x3' и x1',
вычисляют значение (x7''·ε) умножением x7'' на значение ε,
вычисляют значение (x7''·ζ) умножением x7'' на значение ζ,
вычисляют значение (x3''·γ) умножением x3'' на значение γ,
вычисляют значение (x3''·δ) умножением x3'' на значение δ,
вычисляют значение (x5''·δ) умножением x5'' на значение δ,
вычисляют значение (x5''·γ) умножением x5'' на значение γ,
вычисляют значение (x1''·ζ) умножением x1'' на значение ζ,
вычисляют значение (x1''·ε) умножением x1'' на значение ε,
вычисляют значение x7''' суммированием (x7''·ε) и -(x1''·ζ),
вычисляют значение x3''' суммированием (x3''·γ) и -(x5''·δ),
вычисляют значение x5''' суммированием (x5''·γ) и (x3''·δ),
вычисляют значение x1''' суммированием (x1''·ε) и (x7''·ζ),
вычисляют значение X0 суммированием x7''' и x0'',
вычисляют значение X1 суммированием x4'' и x5''',
вычисляют значение X2 суммированием x2'' и x3''',
вычисляют значение X3 суммированием x6'' и x7''',
вычисляют значение X4 суммированием x6'' и -x1''',
вычисляют значение X5 суммированием x2'' и -x3''',
вычисляют значение X6 суммированием x4'' и -x5''', и
вычисляют значение X7 суммированием x0'' и -x1''',
причем x0, x1, x2, x3, x4, x5, x6, x7 являются коэффициентами в вектор-строке или вектор-столбце,
причем X1, X2, X3, X4, X5, X6 и X7 являются выходными значениями преобразования, и
причем α=41/128, β=99/128, γ=113/128, δ=719/4096, ε=1533/2048 и ζ=1/2.
2. Способ по п.1, в котором использование повторных применений масштабированного одномерного преобразования с фиксированной запятой заключается в том, что применяют упомянутое преобразование к коэффициентам в одном из векторов-строк или в одном из векторов-столбцов без использования операций умножения или деления.
3. Способ по п.2, в котором вычисление значения (x1·ε) посредством умножения x1 на значение ε и вычисление значения (x1·ζ) посредством умножения x1 на значение ζ заключается в том, что выполняют следующую последовательность арифметических операций:
- вычисляют значение y1, причем y1=(x1>>9)-x1,
- вычисляют значение (x1·ζ) сдвигом вправо x3 на одну позицию, и
- вычисляют значение (x1·ε) вычитанием y1 из (y1>>2); и
при этом вычисление значения (x7·ε) посредством умножения x7 на значение ε и вычисление значения (x7·ζ) посредством умножения x7 на значение ζ заключается в том, что выполняют следующую последовательность арифметических операций:
- вычисляют значение y1', причем y1'=(x7>>9)-x7,
- вычисляют значение (x7·ζ) сдвигом вправо x7 на одну позицию, и
- вычисляют значение (x7·ε) вычитанием y1' из (y1'>>2), и
при этом вычисление значения (x1''·ε) посредством умножения x1'' на значение ε и вычисление значения (x1''·ζ) посредством умножения x1'' на значение ζ заключается в том, что выполняют следующую последовательность арифметических операций:
- вычисляют значение y1'', причем y1''=(x1''>>9)-x1'',
- вычисляют значение (x1''·ζ) сдвигом вправо x1'' на одну позицию, и
- вычисляют значение (x1''·ε) вычитанием y1'' из (y1''>>2), и
при этом вычисление значения (x7''·ε) посредством умножения x7'' на значение ε и вычисление значения (x7''·ζ) посредством умножения x7'' на значение ζ заключается в том, что выполняют следующую последовательность арифметических операций:
- вычисляют значение y1''', причем y1'''=(x7''>>9)-x7'',
- вычисляют значение (x7''·ζ) сдвигом вправо x7'' на одну позицию, и
- вычисляют значение (x7''·ε) вычитанием y1''' из (y1'''>>2).
4. Способ по п.2, в котором вычисление значения (x3·γ) посредством умножения x3 на значение γ и вычисление значения (x3·δ) посредством умножения x3 на значение δ заключается в том, что выполняют следующую последовательность арифметических операций:
- вычисляют значение y2, причем y2=(x3>>3)-(x3>>7),
- вычисляют значение y3, причем y3=y2-(x3>>11),
- вычисляют значение (x3·δ)=y2+(y3>>1), и
- вычисляют значение (x3·γ) вычитанием y2 из x3, и
при этом вычисление значения (x5·δ) посредством умножения x5 на значение δ и вычисление значения (x5·γ) посредством умножения x5 на значение γ заключается в том, что выполняют следующую последовательность арифметических операций:
- вычисляют значение y2', причем y2'=(x5>>3)-(x5>>7),
- вычисляют значение y3', причем y3'=y2'-(x5>>11),
- вычисляют значение (x5·δ) суммированием y2' и (y3'>>1), и
- вычисляют значение (x5·γ) вычитанием y2' из x5, и
при этом вычисление значения (x3''·γ) посредством умножения x3'' на значение γ и вычисление значения (x3''·δ) посредством умножения x3'' на значение δ заключается в том, что выполняют следующую последовательность арифметических операций:
- вычисляют значение y2'', причем y2''=(x3''>>3)-(x3''>>7),
- вычисляют значение y3'', причем y3''=y2''-(x3''>>11),
- вычисляют значение (x3''·δ)=y2''+(y3''>>1), и
- вычисляют значение (x3''·γ) вычитанием y2'' из x3'', и
при этом вычисление значения (x5''·δ) посредством умножения x5'' на значение δ и вычисление значения (x5''·γ) посредством умножения x5'' на значение γ заключается в том, что выполняют следующую последовательность арифметических операций:
- вычисляют значение y2''', причем y2'''=(x5''>>3)-(x5''>>7),
- вычисляют значение y3''', причем y3'''=y2'''-(x5''>>11),
- вычисляют значение (x5''·δ) суммированием y2''' и (y3'''>>1), и
- вычисляют значение (x5''·γ) вычитанием y2''' из x5''.
5. Способ по п.2, в котором вычисление значения (x2·α) посредством умножения x2 на значение α и вычисление значения (x2·β) посредством умножения x2 на значение β заключается в том, что выполняют следующую последовательность арифметических операций:
- вычисляют значение y1, причем y1=x2+(x2>>5),
- вычисляют значение y2, причем y2=y1>>2,
- вычисляют значение (x2·α) суммированием y2 и (x2>>4), и
- вычисляют значение (x2·β) вычитанием y2 из y1, и
при этом вычисление значения (x6·α) посредством умножения x6 на значение α и вычисление значения (x6·β) посредством умножения x6 на значение β заключается в том, что выполняют следующую последовательность арифметических операций:
- вычисляют значение y1', причем y1'=x2+(x6>>5),
- вычисляют значение y2', причем y2'=y1'>>2,
- вычисляют значение (x6·α) суммированием y2' и (x6>>4), и
- вычисляют значение (x6·β) вычитанием y2' из y1', и
при этом вычисление значения (x2''·α) посредством умножения x2'' на значение α и вычисление значения (x2''·β) посредством умножения x2'' на значение β заключается в том, что выполняют следующую последовательность арифметических операций:
- вычисляют значение y1'', причем y1''=x2''+(x2''>>5),
- вычисляют значение y2'', причем y2''=y1''>>2,
- вычисляют значение (x2''·α) суммированием y2'' и (x2''>>4), и
- вычисляют значение (x2''·β) вычитанием y2'' из y1'', и
при этом вычисление значения (x6''·α) посредством умножения x6'' на значение α и вычисление значения (x6''·β) посредством умножения x6'' на значение β заключается в том, что выполняют следующую последовательность арифметических операций:
- вычисляют значение y1''', причем y1'''=x2+(x6''>>5),
- вычисляют значение y2''', причем y2'''=y1'''>>2,
- вычисляют значение (x6''·α) суммированием y2''' и (x6''>>4), и
- вычисляют значение (x6''·β) вычитанием y2''' из y1'''.
6. Способ по п.5, в котором значения x0, x1, x2, x3, x4, x5, x6, x7, x0', x1', x2', x3', x4', x5', x6', x7', x0'', x1'', x2'', x3'', x4'', x5'', x6'', x7'', xl''', x3''', x5''', x7''', (x2·α), (x6·β), (x2·β), (x6·α), (x7''·ε), (x7''·ζ), (x3''·γ), (x3''·δ), (x5''·δ), (x5''·γ), (x1''·ζ) и (x1''·ε) представлены с использованием чисел с фиксированной запятой, которые включают в себя P битов в частях мантиссы чисел с фиксированной запятой.
7. Устройство для сжатия и вывода изображения, содержащее:
процессор, запрограммированный для управления,
модуль масштабирования, который масштабирует каждый коэффициент в матрице закодированных коэффициентов размером 8×8 одним из множителя A, множителя B, множителя C, множителя D, множителя E, множителя F, множителя G, множителя H, множителя I или множителя J для формирования матрицы масштабированных коэффициентов,
причем A=1024, B=1138, C=1730, D=1609, E=1264, F=1922, G=1788, H=2923, I=2718 и J=2528,
модуль обратного преобразования, который использует повторные применения масштабированного одномерного преобразования с фиксированной запятой для преобразования матрицы масштабированных коэффициентов в матрицу преобразованных коэффициентов,
модуль сдвига вправо, который сдвигает вправо преобразованные коэффициенты в матрице преобразованных коэффициентов для формирования матрицы скорректированных коэффициентов,
причем каждый скорректированный коэффициент в матрице скорректированных коэффициентов аппроксимирует соответствующее значение в матрице значений, которые можно сформировать с применением идеального двумерного обратного дискретного косинусного преобразования ("IDCT") к матрице закодированных коэффициентов,
модуль вывода, который выводит блок пикселей размером 8×8, причем каждый пиксель в блоке пикселей размером 8×8 включает в себя значение компонента пикселя на основании скорректированного коэффициента в матрице скорректированных коэффициентов,
при этом модуль обратного преобразования применяет преобразование к вектор-строке или вектор-столбцу посредством:
вычисления значения x0' суммированием x0 и x4,
вычисления значения x4' суммированием x0 и -x4,
вычисления значения (x2·α) умножением x2 на значение α,
вычисления значения (x6·β) умножением x6 на значение β,
вычисления значения (x2·β) умножением x2 на значение β,
вычисления значения (x6·α) умножением x6 на значение α,
вычисления значения x2' суммированием (x2·α) и -(x6·β),
вычисления значения x6' суммированием (x6·α) и (x2·β),
вычисления значения x0'' суммированием x0' и x6',
вычисления значения x4'' суммированием x4'и x2',
вычисления значения x2'' суммированием x4'и -x2',
вычисления значения x6'' суммированием x0' и -x6',
вычисления значения x7' суммированием x1 и -x7,
вычисления значения x1' суммированием x1 и x7,
вычисления значения x7'' суммированием x7'и x5',
вычисления значения x3'' суммированием x1' и -x3',
вычисления значения x5'' суммированием x7'и -x5',
вычисления значения x1'' суммированием x3' и x1',
вычисления значения (x7''·ε) умножением x7'' на значение ε,
вычисления значения (x7''·ζ) умножением x7'' на значение ζ,
вычисления значения (x3''·γ) умножением x3'' на значение γ,
вычисления значения (x3''·δ) умножением x3'' на значение δ,
вычисления значения (x5''·δ) умножением x5'' на значение δ,
вычисления значения (x5''·γ) умножением x5'' на значение γ,
вычисления значения (x1''·ζ) умножением x1'' на значение ζ,
вычисления значения (x1''·ε) умножением x1'' на значение ε,
вычисления значения x7''' суммированием (x7''·ε) и -(x1''·ζ),
вычисления значения x3''' суммированием (x3''·γ) и -(x5''·δ),
вычисления значения x5''' суммированием (x5''·γ) и (x3''·δ),
вычисления значения x1''' суммированием (x1''·ε) и (x7''·ζ),
вычисления значения X0 суммированием x7''' и x0'',
вычисления значения X1 суммированием x4'' и x5''',
вычисления значения X2 суммированием x2'' и x3''',
вычисления значения X3 суммированием x6'' и x7''',
вычисления значения X4 суммированием x6'' и -x1''',
вычисления значения X5 суммированием x2'' и -x3''',
вычисления значения X6 суммированием x4'' и -x5''', и
вычисления значения X7 суммированием x0'' и -x1''',
причем x0, x1, x2, x3, x4, x5, x6, x7 являются коэффициентами в вектор-строке или вектор-столбце,
причем X1, X2, X3, X4, X5, X6 и X7 являются выходными значениями преобразования, и
причем α=41/128, β=99/128, γ=113/128, δ=719/4096, ε=1533/2048 и ζ=1/2.
8. Устройство по п.7, в котором модуль обратного преобразования применяет преобразование к матрице коэффициентов без использования операций умножения и деления.
9. Устройство по п.8, в котором модуль обратного преобразования вычисляет значение (x1·ε) умножением x1 на значение ε и значение (x1·ζ) умножением x1 на значение ζ посредством выполнения следующей последовательности арифметических операций:
вычисление значения y1, причем y1=(x1>>9)-x1,
вычисление значения (x1·ζ) сдвигом x3 вправо на одну позицию, и
вычисление значения (x1·ε) вычитанием y1 из (y1>>2), и
причем модуль обратного преобразования вычисляет значение (x7·ε) умножением x7 на значение ε и значение (x7·ζ) умножением x7 на значение ζ посредством выполнения следующей последовательности арифметических операций:
вычисление значения y1', причем y1'=(x7>>9)-x7,
вычисление значения (x7·ζ) сдвигом x7 вправо на одну позицию, и
вычисление значения (x7·ε) вычитанием y1' из (y1'>>2), и
причем модуль обратного преобразования вычисляет значение (x1''·ε) умножением x1'' на значение ε и значение (x1''·ζ) умножением x1'' на значение ζ посредством выполнения следующей последовательности арифметических операций:
вычисление значения y1'', причем y1''=(x1''>>9)-x1'',
вычисление значения (x1''·ζ) сдвигом x1'' вправо на одну позицию, и
вычисление значения (x1''·ε) вычитанием y1'' из (y1''>>2), и
причем модуль обратного преобразования вычисляет значение (x7''·ε) умножением x7'' на значение ε и значение (x7''·ζ) умножением x7'' на значение ζ посредством выполнения следующей последовательности арифметических операций:
вычисление значения y1''', причем y1'''=(x7''>>9)-x7'',
вычисление значения (x7''·ζ) сдвигом x7'' вправо на одну позицию, и
вычисление значения (x7''·ε) вычитанием y1''' из (y1'''>>2).
10. Устройство по п.8,в котором модуль обратного преобразования вычисляет значение (x3·γ) умножением x3 на значение γ и значение (x3·δ) умножением x3 на значение δ посредством выполнения следующей последовательности арифметических операций:
вычисление значения y2, причем y2=(x3>>3)-(x3>>7),
вычисление значения y3, причем y3=y2-(x3>>11),
вычисление значения (x3·δ)=y2+(y3>>1), и
вычисление значения (x3·γ) вычитанием y2 из x3, и
причем модуль обратного преобразования вычисляет значение (x5·δ) умножением x5 на значение δ и значение (x5·γ) умножением x5 на значение γ посредством выполнения следующей последовательности арифметических операций:
вычисление значения y2', причем y2'=(x5>>3)-(x5>>7),
вычисление значения y3', причем y3'=y2'-(x5>>11),
вычисление значения (x5·δ) суммированием y2' и (y3'>>1), и
вычисление значения (x5·γ) вычитанием y2' из x5, и
причем модуль обратного преобразования вычисляет значение (x3''·γ) умножением x3'' на значение γ и значение (x3''·δ) умножением x3'' на значение δ посредством выполнения следующей последовательности арифметических операций:
вычисление значения y2'', причем y2''=(x3''>>3)-(x3''>>7),
вычисление значения y3'', причем y3''=y2''-(x3''>>11),
вычисление значения (x3''·δ)=y2''+(y3''>>1), и
вычисление значения (x3''·γ) вычитанием y2'' из x3'', и
причем модуль обратного преобразования вычисляет значение (x5''·δ) умножением x5'' на значение δ и значение (x5''·γ) умножением x5'' на значение γ посредством выполнения следующей последовательности арифметических операций:
вычисление значения y2''', причем y2'''=(x5''>>3)-(x5''>>7),
вычисление значения y3''', причем y3'''=y2'-(x5''>>11),
вычисление значения (x5''·δ) суммированием y2''' и (y3'''>>1), и
вычисление значения (x5''·γ) вычитанием y2''' из x5''.
11. Устройство по п.8, в котором модуль обратного преобразования вычисляет значение (x2·α) умножением x2 на значение α и значение (x2·β) умножением x2 на значение β посредством выполнения следующей последовательности арифметических операций:
вычисление значения y1, причем y1=x2+(x2>>5),
вычисление значения y2, причем y2=y1>>2,
вычисление значения (x2·α) суммированием y2 и (x2>>4), и
вычисление значения (x2·β) вычитанием y2 из y1, и
причем модуль обратного преобразования вычисляет значение (x6·α) умножением x6 на значение α и значение (x6·β) умножением x6 на значение β посредством выполнения следующей последовательности арифметических операций:
вычисление значения y1', причем y1'=x6+(x6>>5),
вычисление значения y2', причем y2'=y1'>>2,
вычисление значения (x6·α) суммированием y2' и (x6>>4), и
вычисление значения (x6·β) вычитанием y2' из y1', и
причем модуль обратного преобразования вычисляет значение (x2''·α) умножением x2'' на значение α и значение (x2''·β) умножением x2'' на значение β посредством выполнения следующей последовательности арифметических операций:
вычисление значения y1'', причем y1''=x2''+(x2''>>5),
вычисление значения y2'', причем y2''=y1''>>2,
вычисление значения (x2''·α) суммированием y2'' и (x2''>>4), и
вычисление значения (x2''·β) вычитанием y2'' из y1'', и
причем модуль обратного преобразования вычисляет значение (x6''·α) умножением x6'' на значение α и значение (x6''·β) умножением x6'' на значение β посредством выполнения следующей последовательности арифметических операций:
вычисление значения y1''', причем y1'''=x2+(x6''>>5),
вычисление значения y2''', причем y2'''=y1'''>>2,
вычисление значения (x6''·α) суммированием y2''' и (x6''>>4), и
вычисление значения (x6''·β) вычитанием y2''' из y1'''.
12. Устройство по п.7, в котором значения x0, x1, x2, x3, x4, x5, x6, x7, x0', x1', x2', x3', x4', x5', x6', x7', x0'', x1'', x2'', x3'', x4'', x5'', x6'', x7'', xl''', x3''', x5''', x7''', (x2·α), (x6·β), (x2·β), (x6·α), (x7''·ε), (x7''·ζ), (x3''·γ), (x3''·δ), (x5''·δ), (x5''·γ), (x1''·ζ) и (x1''·ε) представлены с помощью чисел с фиксированной точкой, которые включают в себя P битов в частях мантиссы чисел с фиксированной точкой.
13. Устройство по п.12, в котором P равно 10.
14. Устройство для сжатия и вывода изображения, содержащее:
средство для масштабирования коэффициентов в матрице закодированных коэффициентов размером 8×8, одним из множителя A, множителя B, множителя C, множителя D, множителя E, множителя F, множителя G, множителя H, множителя I или множителя J для формирования матрицы масштабированных коэффициентов, причем A=1024, B=1138, C=1730, D=1609, E=1264, F=1922, G=1788, H=2923, I=2718 и J=2528.
средство для использования повторных применений масштабированного одномерного преобразования с фиксированной запятой для преобразования матрицы масштабированных коэффициентов в матрицу преобразованных коэффициентов,
средство для сдвига вправо преобразованных коэффициентов в матрице преобразованных коэффициентов для формирования матрицы скорректированных коэффициентов,
причем каждый скорректированный коэффициент в матрице скорректированных коэффициентов аппроксимирует соответствующее значение в матрице значений, которые можно сформировать с применением идеального двумерного обратного дискретного косинусного преобразования ("IDCT") к матрице закодированных коэффициентов, и
средство для вывода блока пикселей размером 8×8, причем каждый пиксель в блоке пикселей размером 8×8, включает в себя значение компонента пикселя на основании скорректированного коэффициента в матрице скорректированных коэффициентов,
при этом средство для масштабирования коэффициентов содержит:
средство для масштабирования коэффициента в позиции [0,0] матрицы закодированных коэффициентов множителем A,
средство для масштабирования коэффициента в позиции [0,1] матрицы закодированных коэффициентов множителем B,
средство для масштабирования коэффициента в позиции [0,2] матрицы закодированных коэффициентов множителем C,
средство для масштабирования коэффициента в позиции [0,3] матрицы закодированных коэффициентов множителем D,
средство для масштабирования коэффициента в позиции [0,4] матрицы закодированных коэффициентов множителем A,
средство для масштабирования коэффициента в позиции [0,5] матрицы закодированных коэффициентов множителем D,
средство для масштабирования коэффициента в позиции [0,6] матрицы закодированных коэффициентов множителем C,
средство для масштабирования коэффициента в позиции [0,7] матрицы закодированных коэффициентов множителем B,
средство для масштабирования коэффициента в позиции [1,0] матрицы закодированных коэффициентов множителем B,
средство для масштабирования коэффициента в позиции [1,1] матрицы закодированных коэффициентов множителем E,
средство для масштабирования коэффициента в позиции [1,2] матрицы закодированных коэффициентов множителем F,
средство для масштабирования коэффициента в позиции [1,3] матрицы закодированных коэффициентов множителем G,
средство для масштабирования коэффициента в позиции [1,4] матрицы закодированных коэффициентов множителем B,
средство для масштабирования коэффициента в позиции [1,5] матрицы закодированных коэффициентов множителем G,
средство для масштабирования коэффициента в позиции [1,6] матрицы закодированных коэффициентов множителем F,
средство для масштабирования коэффициента в позиции [1,7] матрицы закодированных коэффициентов множителем E,
средство для масштабирования коэффициента в позиции [2,0] матрицы закодированных коэффициентов множителем C,
средство для масштабирования коэффициента в позиции [2,1] матрицы закодированных коэффициентов множителем F,
средство для масштабирования коэффициента в позиции [2,2] матрицы закодированных коэффициентов множителем H,
средство для масштабирования коэффициента в позиции [2,3] матрицы закодированных коэффициентов множителем I,
средство для масштабирования коэффициента в позиции [2,4] матрицы закодированных коэффициентов множителем C,
средство для масштабирования коэффициента в позиции [2,5] матрицы закодированных коэффициентов множителем I,
средство для масштабирования коэффициента в позиции [2,6] матрицы закодированных коэффициентов множителем H,
средство для масштабирования коэффициента в позиции [2,7] матрицы закодированных коэффициентов множителем F,
средство для масштабирования коэффициента в позиции [3,0] матрицы закодированных коэффициентов множителем D,
средство для масштабирования коэффициента в позиции [3,1] матрицы закодированных коэффициентов множителем G,
средство для масштабирования коэффициента в позиции [3,2] матрицы закодированных коэффициентов множителем I,
средство для масштабирования коэффициента в позиции [3,3] матрицы закодированных коэффициентов множителем J,
средство для масштабирования коэффициента в позиции [3,4] матрицы закодированных коэффициентов множителем D,
средство для масштабирования коэффициента в позиции [3,5] матрицы закодированных коэффициентов множителем J,
средство для масштабирования коэффициента в позиции [3,6] матрицы закодированных коэффициентов множителем I,
средство для масштабирования коэффициента в позиции [3,7] матрицы закодированных коэффициентов множителем G,
средство для масштабирования коэффициента в позиции [4,0] матрицы закодированных коэффициентов множителем A,
средство для масштабирования коэффициента в позиции [4,1] матрицы закодированных коэффициентов множителем B,
средство для масштабирования коэффициента в позиции [4,2] матрицы закодированных коэффициентов множителем C,
средство для масштабирования коэффициента в позиции [4,3] матрицы закодированных коэффициентов множителем D,
средство для масштабирования коэффициента в позиции [4,4] матрицы закодированных коэффициентов множителем A,
средство для масштабирования коэффициента в позиции [4,5] матрицы закодированных коэффициентов множителем D,
средство для масштабирования коэффициента в позиции [4,6] матрицы закодированных коэффициентов множителем C,
средство для масштабирования коэффициента в позиции [4,7] матрицы закодированных коэффициентов множителем B,
средство для масштабирования коэффициента в позиции [5,0] матрицы закодированных коэффициентов множителем D,
средство для масштабирования коэффициента в позиции [5,1] матрицы закодированных коэффициентов множителем G,
средство для масштабирования коэффициента в позиции [5,2] матрицы закодированных коэффициентов множителем I,
средство для масштабирования коэффициента в позиции [5,3] матрицы закодированных коэффициентов множителем J,
средство для масштабирования коэффициента в позиции [5,4] матрицы закодированных коэффициентов множителем D,
средство для масштабирования коэффициента в позиции [5,5] матрицы закодированных коэффициентов множителем J,
средство для масштабирования коэффициента в позиции [5,6] матрицы закодированных коэффициентов множителем I,
средство для масштабирования коэффициента в позиции [5,7] матрицы закодированных коэффициентов множителем G,
средство для масштабирования коэффициента в позиции [6,0] матрицы закодированных коэффициентов множителем C,
средство для масштабирования коэффициента в позиции [6,1] матрицы закодированных коэффициентов множителем F,
средство для масштабирования коэффициента в позиции [6,2] матрицы закодированных коэффициентов множителем H,
средство для масштабирования коэффициента в позиции [6,3] матрицы закодированных коэффициентов множителем I,
средство для масштабирования коэффициента в позиции [6,4] матрицы закодированных коэффициентов множителем C,
средство для масштабирования коэффициента в позиции [6,5] матрицы закодированных коэффициентов множителем I,
средство для масштабирования коэффициента в позиции [6,6] матрицы закодированных коэффициентов множителем H,
средство для масштабирования коэффициента в позиции [6,7] матрицы закодированных коэффициентов множителем F,
средство для масштабирования коэффициента в позиции [7,0] матрицы закодированных коэффициентов множителем B,
средство для масштабирования коэффициента в позиции [7,1] матрицы закодированных коэффициентов множителем E,
средство для масштабирования коэффициента в позиции [7,2] матрицы закодированных коэффициентов множителем F,
средство для масштабирования коэффициента в позиции [7,3] матрицы закодированных коэффициентов множителем G,
средство для масштабирования коэффициента в позиции [7,4] матрицы закодированных коэффициентов множителем B,
средство для масштабирования коэффициента в позиции [7,5] матрицы закодированных коэффициентов множителем G,
средство для масштабирования коэффициента в позиции [7,6] матрицы закодированных коэффициентов множителем F, и
средство для масштабирования коэффициента в позиции [7,7] матрицы закодированных коэффициентов множителем E,
при этом средство для применения преобразования содержит:
средство для вычисления значения x0' суммированием x0 и x4,
средство для вычисления значения x4' суммированием x0 и -x4,
средство для вычисления значения (x2·α) умножением x2 на значение α,
средство для вычисления значения (x6·β) умножением x6 на значение β,
средство для вычисления значения (x2·β) умножением x2 на значение β,
средство для вычисления значения (x6·α) умножением x6 на значение α,
средство для вычисления значения x2' суммированием (x2·α) и -(x6·β),
средство для вычисления значения x6' суммированием (x6·α) и (x2·β),
средство для вычисления значения x0'' суммированием x0' и x6',
средство для вычисления значения x4'' суммированием x4' и x2',
средство для вычисления значения x2'' суммированием x4' и -x2',
средство для вычисления значения x6'' суммированием x0' и -x6',
средство для вычисления значения x7' суммированием x1 и -x7,
средство для вычисления значения x1' суммированием x1 и x7,
средство для вычисления значения x7'' суммированием x7' и x5',
средство для вычисления значения x3'' суммированием x1' и -x3',
средство для вычисления значения x5'' суммированием x7' и -x5',
средство для вычисления значения x1'' суммированием x3' и x1',
средство для вычисления значения (x7''·ε) умножением x7'' на значение ε,
средство для вычисления значения (x7''·ζ) умножением x7'' на значение ζ,
средство для вычисления значения (x3''·γ) умножением x3'' на значение γ,
средство для вычисления значения (x3''·δ) умножением x3'' на значение δ,
средство для вычисления значения (x5''·δ) умножением x5'' на значение δ,
средство для вычисления значения (x5''·γ) умножением x5'' на значение γ,
средство для вычисления значения (x1''·ζ) умножением x1'' на значение ζ,
средство для вычисления значения (x1''·ε) умножением x1'' на значение ε,
средство для вычисления значения x7''' суммированием (x7''·ε) и -(x1''·ζ),
средство для вычисления значения x3''' суммированием (x3''·γ) и -(x5''·δ),
средство для вычисления значения x5''' суммированием (x5''·γ) и (x3''·δ),
средство для вычисления значения x1''' суммированием (x1''·ε) и (x7''·ζ),
средство для вычисления значения X0 суммированием x7''' и x0'',
средство для вычисления значения X1 суммированием x4'' и x5''',
средство для вычисления значения X2 суммированием x2'' и x3''',
средство для вычисления значения X3 суммированием x6'' и x7''',
средство для вычисления значения X4 суммированием x6'' и -x1''',
средство для вычисления значения X5 суммированием x2'' и -x3''',
средство для вычисления значения X6 суммированием x4'' и -x5''', и
средство для вычисления значения X7 суммированием x0'' и -x1''',
причем x0, x1, x2, x3, x4, x5, x6, x7 являются коэффициентами в вектор-строке или вектор-столбце,
причем X1, X2, X3, X4, X5, X6 и X7 являются выходными значениями преобразования, и
причем α=41/128, β=99/128, γ=113/128, δ=719/4096, ε=1533/2048 и ζ=1/2.
15. Устройство по п.14, в котором средство для использования повторных применений преобразования применяет преобразование к матрице коэффициентов без использования операций умножения или деления.
16. Устройство по п.15, в котором средство для вычисления значения (x1·ε) умножением x1 на значение ε и средство для вычисления значения (x1·ζ) умножением x1 на значение ζ содержат:
средство для вычисления значения y1, причем y1=(x1>>9)-x1,
средство для вычисления значения (x1·ζ) сдвигом x3 вправо на одну позицию, и
средство для вычисления значения (x1·ε) вычитанием y1 из (y1>>2), и
причем средство для вычисления значения (x7·ε) умножением x7 на значение ε и средство для вычисления значения (x7·ζ) умножением x7 на значение ζ содержат:
средство для вычисления значения y1', причем y1'=(x7>>9)-x7,
средство для вычисления значения (x7·ζ) сдвигом x7 вправо на одну позицию, и
средство для вычисления значения (x7·ε) вычитанием y1' из (y1'>>2), и
причем средство для вычисления значения (x1''·ε) умножением x1'' на значение ε и средство для вычисления значения (x1''·ζ) умножением x1'' на значение ζ содержат:
средство для вычисления значения y1'', причем y1''=(x1''>>9)-x1'',
средство для вычисления значения (x1''·ζ) сдвигом x1'' вправо на одну позицию, и
средство для вычисления значения (x1''·ε) вычитанием y1'' из (y1''>>2), и
причем средство для вычисления значения (x7''·ε) умножением x7'' на значение ε и средство для вычисления значения (x7''·ζ) умножением x7'' на значение ζ содержат:
средство для вычисления значения y1''', причем y1'''=(x7''>>9)-x7'',
средство для вычисления значения (x7''·ζ) сдвигом x7'' вправо на одну позицию, и
средство для вычисления значения (x7''·ε) вычитанием y1''' из (y1'''>>2).
17. Устройство по п.15, в котором средство для вычисления значения (x3·γ) умножением x3 на значение γ и средство для вычисления значения (x3·δ) умножением x3 на значение δ содержат:
средство для вычисления значения y2, причем y2=(x3>>3)-(x3>>7),
средство для вычисления значения y3, причем y3=y2-(x3>>11),
средство для вычисления значения (x3·δ)=y2+(y3>>1), и
средство для вычисления значения (x3·γ) вычитанием y2 из x1, и
причем средство для вычисления значения (x5·δ) умножением x5 на значение δ и средство для вычисления значения (x5·γ) умножением x5 на значение γ содержат:
средство для вычисления значения y2', причем y2'=(x5>>3)-(x5>>7),
средство для вычисления значения y3', причем y3'=y2'-(x5>>11),
средство для вычисления значения (x5·δ) суммированием y2' и (y3'>>1), и
средство для вычисления значения (x5·γ) вычитанием y2' из x7, и
причем средство для вычисления значения (x3''·γ) умножением x3'' на значение γ и средство для вычисления значения (x3''·δ) умножением x3'' на значение δ содержат:
средство для вычисления значения y2'', причем y2''=(x1''>>3)-(x1''>>7),
средство для вычисления значения y3'', причем y3''=y2''-(x1''>>11),
средство для вычисления значения (x1''·δ)=y2''+(y3''>>1), и
средство для вычисления значения (x1''·γ) вычитанием y2'' из x1'', и
причем средство для вычисления значения (x5''·δ) умножением x5'' на значение δ и средство для вычисления значения (x5''·γ) умножением x5'' на значение γ содержат:
средство для вычисления значения y2''', причем y2'''=(x5''>>3)-(x5''>>7),
средство для вычисления значения y3''', причем y3'''=y2'''-(x5''>>11),
средство для вычисления значения (x5''·δ) суммированием y2''' и (y3'''>>1), и
средство для вычисления значения (x5''·γ) вычитанием y2''' из x5''.
18. Устройство по п.15, в котором средство для вычисления значения (x2·α) умножением x2 на значение α и средство для вычисления значения (x2·β) умножением x2 на значение β содержат:
средство для вычисления значения y1, причем y1'=x2+(x2>>5),
средство для вычисления значения y2, причем y2=y1>>2,
средство для вычисления значения (x2·α) суммированием y2 и (x2>>4), и
средство для вычисления значения (x2·β) вычитанием y2 из y1, и
причем средство для вычисления значения (x6·α) умножением x6 на значение α и средство для вычисления значения (x6·β) умножением x6 на значение β содержат:
средство для вычисления значения y1', причем y1'=x6+(x6>>5),
средство для вычисления значения y2', причем y2'=y1'>>2,
средство для вычисления значения (x2·α) суммированием y2' и (x6>>4), и
средство для вычисления значения (x2·β) вычитанием y2' из y1', и
причем средство для вычисления значения (x2''·α) умножением x2'' на значение α и средство для вычисления значения (x2''·β) умножением x2'' на значение β содержат:
средство для вычисления значения y1'', причем y1''=x2''+(x2''>>5),
средство для вычисления значения y2'', причем y2''=y1''>>2,
средство для вычисления значения (x2''·α) суммированием y2'' и (x2''>>4), и
средство для вычисления значения (x2''·β) вычитанием y2'' из y1'', и
причем средство для вычисления значения (x6''·α) умножением x6'' на значение α и средство для вычисления значения (x6''·β) умножением x6'' на значение β содержат:
средство для вычисления значения y1''', причем y1'''=x6''+(x6''>>5),
средство для вычисления значения y2''', причем y2'''=y1'''>>2,
средство для вычисления значения (x6''·α) суммированием y2''' и (x6''>>4), и
средство для вычисления значения (x6''·β) вычитанием y2''' из y1'''.
19. Устройство по п.14, в котором значения x0, x1, x2, x3, x4, x5, x6, x7, x0', x1', x2', x3', x4', x5', x6', x7', x0'', x1'', x2'', x3'', x4'', x5'', x6'', x7'', xl''', x3''', x5''', x7''', (x2·α), (x6·β), (x2·β), (x6·α), (x7''·ε), (x7''·ζ), (x3''·γ), (x3''·δ), (x5''·δ), (x5''·γ), (x1''·ζ) и (x1''·ε) представлены с помощью чисел с фиксированной точкой, которые включают в себя P битов в частях мантиссы чисел с фиксированной точкой.
20. Устройство по п.19, в котором P равно 10.
21. Машиночитаемый носитель информации, содержащий команды, которые при исполнении побуждают программируемый процессор:
масштабировать каждый коэффициент в матрице закодированных коэффициентов размером 8×8 одним из множителя A, множителя B, множителя C, множителя D, множителя E, множителя F, множителя G, множителя H, множителя I или множителя J для формирования матрицы масштабированных коэффициентов.
причем A=1024, B=1138, C=1730, D=1609, E=1264, F=1922, G=1788, H=2923, I=2718 и J=2528,
использовать повторные применения масштабированного одномерного преобразования с фиксированной точкой для преобразования матрицы масштабированных коэффициентов в матрицу преобразованных коэффициентов,
сдвигать вправо преобразованные коэффициенты в матрице преобразованных коэффициентов для формирования матрицы скорректированных коэффициентов,
причем каждый скорректированный коэффициент в матрице скорректированных коэффициентов аппроксимирует соответствующее значение в матрице значений, которые можно сформировать посредством применения идеального двумерного обратного дискретного косинусного преобразования ("IDCT") к матрице закодированных коэффициентов, и
выводить сигналы, которые побуждают устройство отображения отображать блок пикселей размером 8×8, причем каждый пиксель в блоке пикселей размером 8×8 включает в себя значение компонента пикселя с учетом скорректированного коэффициента в матрице скорректированных коэффициентов,
при этом команды, которые побуждают программируемый процессор масштабировать коэффициенты в матрице коэффициентов, также побуждают программируемый процессор:
масштабировать коэффициент в позиции [0,0] матрицы закодированных коэффициентов множителем A,
масштабировать коэффициент в позиции [0,1] матрицы закодированных коэффициентов множителем B,
масштабировать коэффициент в позиции [0,2] матрицы закодированных коэффициентов множителем C,
масштабировать коэффициент в позиции [0,3] матрицы закодированных коэффициентов множителем D,
масштабировать коэффициент в позиции [0,4] матрицы закодированных коэффициентов множителем A,
масштабировать коэффициент в позиции [0,5] матрицы закодированных коэффициентов множителем D,
масштабировать коэффициент в позиции [0,6] матрицы закодированных коэффициентов множителем C,
масштабировать коэффициент в позиции [0,7] матрицы закодированных коэффициентов множителем B,
масштабировать коэффициент в позиции [1,0] матрицы закодированных коэффициентов множителем B,
масштабировать коэффициент в позиции [1,1] матрицы закодированных коэффициентов множителем E,
масштабировать коэффициент в позиции [1,2] матрицы закодированных коэффициентов множителем F,
масштабировать коэффициент в позиции [1,3] матрицы закодированных коэффициентов множителем G,
масштабировать коэффициент в позиции [1,4] матрицы закодированных коэффициентов множителем B,
масштабировать коэффициент в позиции [1,5] матрицы закодированных коэффициентов множителем G,
масштабировать коэффициент в позиции [1,6] матрицы закодированных коэффициентов множителем F,
масштабировать коэффициент в позиции [1,7] матрицы закодированных коэффициентов множителем E,
масштабировать коэффициент в позиции [2,0] матрицы закодированных коэффициентов множителем C,
масштабировать коэффициент в позиции [2,1] матрицы закодированных коэффициентов множителем F,
масштабировать коэффициент в позиции [2,2] матрицы закодированных коэффициентов множителем H,
масштабировать коэффициент в позиции [2,3] матрицы закодированных коэффициентов множителем I,
масштабировать коэффициент в позиции [2,4] матрицы закодированных коэффициентов множителем C,
масштабировать коэффициент в позиции [2,5] матрицы закодированных коэффициентов множителем I,
масштабировать коэффициент в позиции [2,6] матрицы закодированных коэффициентов множителем H,
масштабировать коэффициент в позиции [2,7] матрицы закодированных коэффициентов множителем F,
масштабировать коэффициент в позиции [3,0] матрицы закодированных коэффициентов множителем D,
масштабировать коэффициент в позиции [3,1] матрицы закодированных коэффициентов множителем G,
масштабировать коэффициент в позиции [3,2] матрицы закодированных коэффициентов множителем I,
масштабировать коэффициент в позиции [3,3] матрицы закодированных коэффициентов множителем J,
масштабировать коэффициент в позиции [3,4] матрицы закодированных коэффициентов множителем D,
масштабировать коэффициент в позиции [3,5] матрицы закодированных коэффициентов множителем J,
масштабировать коэффициент в позиции [3,6] матрицы закодированных коэффициентов множителем I,
масштабировать коэффициент в позиции [3,7] матрицы закодированных коэффициентов множителем G,
масштабировать коэффициент в позиции [4,0] матрицы закодированных коэффициентов множителем A,
масштабировать коэффициент в позиции [4,1] матрицы закодированных коэффициентов множителем B,
масштабировать коэффициент в позиции [4,2] матрицы закодированных коэффициентов множителем C,
масштабировать коэффициент в позиции [4,3] матрицы закодированных коэффициентов множителем D,
масштабировать коэффициент в позиции [4,4] матрицы закодированных коэффициентов множителем A,
масштабировать коэффициент в позиции [4,5] матрицы закодированных коэффициентов множителем D,
масштабировать коэффициент в позиции [4,6] матрицы закодированных коэффициентов множителем C,
масштабировать коэффициент в позиции [4,7] матрицы закодированных коэффициентов множителем B,
масштабировать коэффициент в позиции [5,0] матрицы закодированных коэффициентов множителем D,
масштабировать коэффициент в позиции [5,1] матрицы закодированных коэффициентов множителем G,
масштабировать коэффициент в позиции [5,2] матрицы закодированных коэффициентов множителем I,
масштабировать коэффициент в позиции [5,3] матрицы закодированных коэффициентов множителем J,
масштабировать коэффициент в позиции [5,4] матрицы закодированных коэффициентов множителем D,
масштабировать коэффициент в позиции [5,5] матрицы закодированных коэффициентов множителем J,
масштабировать коэффициент в позиции [5,6] матрицы закодированных коэффициентов множителем I,
масштабировать коэффициент в позиции [5,7] матрицы закодированных коэффициентов множителем G,
масштабировать коэффициент в позиции [6,0] матрицы закодированных коэффициентов множителем C,
масштабировать коэффициент в позиции [6,1] матрицы закодированных коэффициентов множителем F,
масштабировать коэффициент в позиции [6,2] матрицы закодированных коэффициентов множителем H,
масштабировать коэффициент в позиции [6,3] матрицы закодированных коэффициентов множителем I,
масштабировать коэффициент в позиции [6,4] матрицы закодированных коэффициентов множителем C,
масштабировать коэффициент в позиции [6,5] матрицы закодированных коэффициентов множителем I,
масштабировать коэффициент в позиции [6,6] матрицы закодированных коэффициентов множителем H,
масштабировать коэффициент в позиции [6,7] матрицы закодированных коэффициентов множителем F,
масштабировать коэффициент в позиции [7,0] матрицы закодированных коэффициентов множителем B,
масштабировать коэффициент в позиции [7,1] матрицы закодированных коэффициентов множителем E,
масштабировать коэффициент в позиции [7,2] матрицы закодированных коэффициентов множителем F,
масштабировать коэффициент в позиции [7,3] матрицы закодированных коэффициентов множителем G,
масштабировать коэффициент в позиции [7,4] матрицы закодированных коэффициентов множителем B,
масштабировать коэффициент в позиции [7,5] матрицы закодированных коэффициентов множителем G,
масштабировать коэффициент в позиции [7,6] матрицы закодированных коэффициентов множителем F, и
масштабировать коэффициент в позиции [7,7] матрицы закодированных коэффициентов множителем E,
при этом команды, которые побуждают программируемый процессор применять преобразование или к вектор-строке, или к вектор-столбцу, также побуждают программируемый процессор:
вычислять значение x0' суммированием x0 и x4,
вычислять значение x4' суммированием x0 и -x4,
вычислять значение (x2·α) умножением x2 на значение α,
вычислять значение (x6·β) умножением x6 на значение β,
вычислять значение (x2·β) умножением x2 на значение β,
вычислять значение (x6·α) умножением x6 на значение α,
вычислять значение x2' суммированием (x2·α) и -(x6·β),
вычислять значение x6' суммированием (x6·α) и (x2·β),
вычислять значение x0'' суммированием x0' и x6',
вычислять значение x4'' суммированием x4'и x2',
вычислять значение x2'' суммированием x4'и -x2',
вычислять значение x6'' суммированием x0' и -x6',
вычислять значение x7' суммированием x1 и -x7,
вычислять значение x1' суммированием x1 и x7,
вычислять значение x7'' суммированием x7'и x5',
вычислять значение x3'' суммированием x1' и -x3',
вычислять значение x5'' суммированием x7'и -x5',
вычислять значение x1'' суммированием x3' и x1',
вычислять значение (x7''·ε) умножением x7'' на значение ε,
вычислять значение (x7''·ζ) умножением x7'' на значение ζ,
вычислять значение (x3''·γ) умножением x3'' на значение γ,
вычислять значение (x3''·δ) умножением x3'' на значение δ,
вычислять значение (x5''·δ) умножением x5'' на значение δ,
вычислять значение (x5''·γ) умножением x5'' на значение γ,
вычислять значение (x1''·ζ) умножением x1'' на значение ζ,
вычислять значение (x1''·ε) умножением x1'' на значение ε,
вычислять значение x7''' суммированием (x7''·ε) и -(x1''·ζ),
вычислять значение x3''' суммированием (x3''·γ) и -(x5''·δ),
вычислять значение x5''' суммированием (x5''·γ) и (x3''·δ),
вычислять значение x1''' суммированием (x1''·ε) и (x7''·ζ),
вычислять значение X0 суммированием x7''' и x0'',
вычислять значение X1 суммированием x4'' и x5''',
вычислять значение X2 суммированием x2'' и x3''',
вычислять значение X3 суммированием x6'' и x7''',
вычислять значение X4 суммированием x6'' и -x1''',
вычислять значение X5 суммированием x2'' и -x3''',
вычислять значение X6 суммированием x4'' и -x5''', и
вычислять значение X7 суммированием x0'' и -x1''',
причем x0, x1, x2, x3, x4, x5, x6, x7 являются коэффициентами в вектор-строке или вектор-столбце,
причем X1, X2, X3, X4, X5, X6 и X7 являются выходными значениями преобразования, и
причем α=41/128, β=99/128, γ=113/128, δ=719/4096, ε=1533/2048 и ζ=1/2.
22. Машиночитаемый носитель информации по п.21, в котором команды побуждают программируемый процессор применять преобразование посредством побуждения программируемого процессора применять преобразование к коэффициентам в одной из вектор-строк или в одном из вектор-столбцов без использования операций умножения или деления.
23. Машиночитаемый носитель информации по п.22,
в котором команды побуждают программируемый процессор вычислять значение (x1·ε) умножением x1 на значение ε и значение (x1·ζ) умножением x1 на значение ζ посредством побуждения программируемого процессора:
вычислять значение y1, причем y1=(x1>>9)-x1,
вычислять значение (x1*ζ) сдвигом x3 вправо на одну позицию, и
вычислять значение (x1*ε) вычитанием y1 из (y1>>2), и
в котором команды побуждают программируемый процессор вычислять значение (x7·ε) умножением x7 на значение ε и значение (x7·ζ) умножением x7 на значение ζ посредством побуждения программируемого процессора:
вычислять значение y1', причем y1'=(x7>>9)-x7,
вычислять значение (x7·ζ) сдвигом x7 вправо на одну позицию, и
вычислять значение (x7·ε) вычитанием y1' из (y1'>>2), и
причем команды побуждают программируемый процессор вычислять значение (x1''·ε) умножением x1'' на значение ε и значение (x1''·ζ) умножением x1'' на значение ζ посредством побуждения программируемого процессора:
вычислять значение y1'', причем y1''=(x1''>>9)-x1'',
вычислять значение (x1''·ζ) сдвигом x1'' вправо на одну позицию, и
вычислять значение (x1''·ε) вычитанием y1'' из (y1''>>2), и
причем команды побуждают программируемый процессор вычислять значение (x7''·ε) умножением x7'' на значение ε и значение (x7''·ζ) умножением x7'' на значение ζ посредством побуждения программируемого процессора:
вычислять значение y1''', причем y1'''=(x7''>>9)-x7'',
вычислять значение (x7''·ζ) сдвигом x7' вправо на одну позицию, и
вычислять значение (x7''·ε) вычитанием y1''' из (y1'''>>2).
24. Машиночитаемый носитель информации по п.22, в котором команды побуждают программируемый процессор вычислять значение (x3·γ) умножением x3 на значение γ и значение (x3·δ) умножением x3 на значение δ посредством побуждения программируемого процессора:
вычислять значение y2, причем y2=(x3>>3)-(x3>>7),
вычислять значение y3, причем y3=y2-(x3>>11),
вычислять значение (x3·δ)=y2+(y3>>1), и
вычислять значение (x3·γ) вычитанием y2 из x3, и
причем команды побуждают программируемый процессор вычислять значение (x5·δ) умножением x5 на значение δ и значение (x5·γ) умножением x5 на значение γ посредством побуждения программируемого процессора:
вычислять значение y2', причем y2'=(x5>>3)-(x5>>7),
вычислять значение y3', причем y3'=y2'-(x5>>11),
вычислять значение (x5·δ) суммированием y2' и (y3'>>1), и
вычислять значение (x5·γ) вычитанием y2' из x5, и
причем команды побуждают программируемый процессор вычислять значение (x3''·γ) умножением x3'' на значение γ и значение (x3''·δ) умножением x3'' на значение δ посредством побуждения программируемого процессора:
вычислять значение y2'', причем y2''=(x3''>>3)-(x3''>>7),
вычислять значение y3'', причем y3''=y2''-(x3''>>11),
вычислять значение (x3''·δ)=y2''+(y3''>>1), и
вычислять значение (x3''·γ) вычитанием y2'' из x3'', и
причем команды побуждают программируемый процессор вычислять значение (x5''·δ) умножением x5'' на значение δ и значение (x5''·γ) умножением x5'' на значение γ посредством побуждения программируемого процессора:
вычислять значение y2''', причем y2'''=(x5''>>3)-(x5''>>7),
вычислять значение y3''', причем y3'''=y2'''-(x5''>>11),
вычислять значение (x5''·δ) суммированием y2''' и (y3'''>>1), и
вычислять значение (x5''·γ) вычитанием y2''' из x5''.
25. Машиночитаемый носитель информации по п.22, в котором команды побуждают программируемый процессор вычислять значение (x2·α) умножением x2 на значение α и значение (x2·β) умножением x2 на значение β посредством побуждения программируемого процессора:
вычислять значение y1, причем y1=x2+(x2>>5),
вычислять значение y2, причем y2=y1>>2,
вычислять значение (x2·α) суммированием y2 и (x2>>4), и
вычислять значение (x2·β) вычитанием y2 из y1, и
причем команды побуждают программируемый процессор вычислять значение (x6·α) умножением x6 на значение α и значение (x6·β) умножением x6 на значение β посредством побуждения программируемого процессора:
вычислять значение y1', причем y1'=x6+(x6>>5),
вычислять значение y2', причем y2'=y1'>>2,
вычислять значение (x6·α) суммированием y2' и (x6>>4), и
вычислять значение (x6·β) вычитанием y2' из y1', и
причем команды побуждают программируемый процессор вычислять значение (x2''·α) умножением x2'' на значение α и значение (x2''·β) умножением x2'' на значение β посредством побуждения программируемого процессора:
вычислять значение y1'', причем y1''=x2''+(x2''>>5),
вычислять значение y2'', причем y2''=y1''>>2,
вычислять значение (x2''·α) суммированием y2'' и (x2''>>4), и
вычислять значение (x2''·β) вычитанием y2'' из y1'', и
причем команды побуждают программируемый процессор вычислять значение (x6''·α) умножением x6'' на значение α и значение (x6''·β) умножением x6'' на значение β посредством побуждения программируемого процессора:
вычислять значение y1''', причем y1'''=x6''+(x6''>>5),
вычислять значение y2''', причем y2'''=y1'''>>2,
вычислять значение (x6''·α) суммированием y2''' и (x6''>>4), и
вычислять значение (x6''·β) вычитанием y2''' из y1'''.
26. Машиночитаемый носитель информации по п. 21, в котором значения x0, x1, x2, x3, x4, x5, x6, x7, x0', x1', x2', x3', x4', x5', x6', x7', x0'', x1'', x2'', x3'', x4'', x5'', x6'', x7'', xl''', x3''', x5''', x7''', (x2·α), (x6·β), (x2·β), (x6·α), (x7''·ε), (x7''·ζ), (x3''·γ), (x3''·δ), (x5''·δ), (x5''·γ), (x1''·ζ) и (x1''·ε) представлены с помощью чисел с фиксированной точкой, которые включают в себя P битов в частях мантиссы чисел с фиксированной точкой.
27. Машиночитаемый носитель информации по п.26, в котором P равно 10.
Applications Claiming Priority (12)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US81669706P | 2006-06-26 | 2006-06-26 | |
US60/816,697 | 2006-06-26 | ||
US84136206P | 2006-08-30 | 2006-08-30 | |
US60/841,362 | 2006-08-30 | ||
US84719406P | 2006-09-25 | 2006-09-25 | |
US60/847,194 | 2006-09-25 | ||
US82966906P | 2006-10-16 | 2006-10-16 | |
US60/829,669 | 2006-10-16 | ||
US86953006P | 2006-12-11 | 2006-12-11 | |
US60/869,530 | 2006-12-11 | ||
US88393207P | 2007-01-08 | 2007-01-08 | |
US60/883,932 | 2007-01-08 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2009102254/08A Division RU2417423C2 (ru) | 2006-06-26 | 2007-06-26 | Эффективные аппроксимации с фиксированной запятой прямого и обратного дискретных косинусных преобразований |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2010147944A true RU2010147944A (ru) | 2012-05-27 |
RU2496139C2 RU2496139C2 (ru) | 2013-10-20 |
Family
ID=42698400
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2010147944/08A RU2496139C2 (ru) | 2006-06-26 | 2007-06-26 | Эффективные аппроксимации с фиксированной запятой прямого и обратного дискретных косинусных преобразований |
RU2009102254/08A RU2417423C2 (ru) | 2006-06-26 | 2007-06-26 | Эффективные аппроксимации с фиксированной запятой прямого и обратного дискретных косинусных преобразований |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2009102254/08A RU2417423C2 (ru) | 2006-06-26 | 2007-06-26 | Эффективные аппроксимации с фиксированной запятой прямого и обратного дискретных косинусных преобразований |
Country Status (1)
Country | Link |
---|---|
RU (2) | RU2496139C2 (ru) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2993084A1 (fr) * | 2012-07-09 | 2014-01-10 | France Telecom | Procede de codage video par prediction du partitionnement d'un bloc courant, procede de decodage, dispositifs de codage et de decodage et programmes d'ordinateur correspondants |
JP6315911B2 (ja) * | 2013-07-09 | 2018-04-25 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2122295C1 (ru) * | 1994-04-29 | 1998-11-20 | Виктор Павлович Дворкович | Способ покадрового сжатия изображений |
US6134270A (en) * | 1997-06-13 | 2000-10-17 | Sun Microsystems, Inc. | Scaled forward and inverse discrete cosine transform and video compression/decompression systems employing the same |
US6529634B1 (en) * | 1999-11-08 | 2003-03-04 | Qualcomm, Inc. | Contrast sensitive variance based adaptive block size DCT image compression |
US6859815B2 (en) * | 2000-12-19 | 2005-02-22 | Koninklijke Philips Electronics N.V. | Approximate inverse discrete cosine transform for scalable computation complexity video and still image decoding |
US6799192B1 (en) * | 2001-01-09 | 2004-09-28 | Apple Computer, Inc. | Method and apparatus for inverse discrete cosine transform |
US7082450B2 (en) * | 2001-08-30 | 2006-07-25 | Nokia Corporation | Implementation of a transform and of a subsequent quantization |
US7730116B2 (en) * | 2004-12-14 | 2010-06-01 | Stmicroelectronics, Inc. | Method and system for fast implementation of an approximation of a discrete cosine transform |
-
2007
- 2007-06-26 RU RU2010147944/08A patent/RU2496139C2/ru not_active IP Right Cessation
- 2007-06-26 RU RU2009102254/08A patent/RU2417423C2/ru not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
RU2417423C2 (ru) | 2011-04-27 |
RU2009102254A (ru) | 2010-08-10 |
RU2496139C2 (ru) | 2013-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230305808A1 (en) | Accelerated mathematical engine | |
WO2008002942A3 (en) | Efficient fixed-point approximations of forward and inverse discrete cosine transforms | |
US7957589B2 (en) | Arbitrary power function using logarithm lookup table | |
EP0884686A3 (en) | Method and apparatus for performing discrete cosine transform and its inverse | |
RU2009102250A (ru) | Уменьшение ошибок во время вычисления обратного дискретного косинусного преобразования | |
KR970012126A (ko) | Vsli 실행용 역이산 코사인 변환 프로세서 | |
JP2003204552A5 (ru) | ||
WO1995033241A1 (fr) | Processeur arithmetique a haute vitesse pour transformee en cosinus discrete et operations associees | |
RU2017128208A (ru) | Обработка изображения с изменением степени яркости при постоянстве цвета | |
KR20090071823A (ko) | 다기능 연산장치 및 방법 | |
RU2010147944A (ru) | Эффективные аппроксимации с фиксированной запятой прямого и обратного дискретных косинусных преобразований | |
RU2007103160A (ru) | Обработка изображений с помощью линейных параметров светоустановки и других усовершенствований обработки изображений | |
US20070080972A1 (en) | System and method for higher level filtering by combination of bilinear results | |
RU2009102255A (ru) | Эффективные аппроксимации с фиксированной запятой для прямых и обратных дискретных косинусных преобразований | |
JPH04233669A (ja) | アレイ・プロセッシング方法 | |
Hu | Conservative solutions to a one-dimensional nonlinear variational wave equation | |
Wang et al. | Block-based gradient domain high dynamic range compression design for real-time applications | |
Wang et al. | A higher-order compact ADI method with monotone iterative procedure for systems of reaction–diffusion equations | |
Munthe-Kaas et al. | Coordinate free numerics| closing the gap betweenpure'andapplied'mathematics | |
JP2011507313A (ja) | 符号対称の丸め誤差を有する2進分数による積の高速計算 | |
Wang et al. | Design and implementation of a real-time global tone mapping processor for high dynamic range video | |
Pan et al. | Wigner coefficients of U (4)⊃ SUS (2)⊗ SUT (2) | |
US6493737B1 (en) | Method and circuit for computing the discrete cosine transform (DCT) in microcontrollers | |
CN1064507C (zh) | 可巡回执行的离散余弦转换及其逆转换集成电路处理器 | |
Kasperovich | Multiplication free scaled 8 x 8 DCT algorithm with 530 additions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20190627 |