RU2010147944A - Эффективные аппроксимации с фиксированной запятой прямого и обратного дискретных косинусных преобразований - Google Patents

Эффективные аппроксимации с фиксированной запятой прямого и обратного дискретных косинусных преобразований Download PDF

Info

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
Application number
RU2010147944/08A
Other languages
English (en)
Other versions
RU2496139C2 (ru
Inventor
Юрий РЕЗНИК (US)
Юрий РЕЗНИК
Original Assignee
Квэлкомм Инкорпорейтед (US)
Квэлкомм Инкорпорейтед
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Квэлкомм Инкорпорейтед (US), Квэлкомм Инкорпорейтед filed Critical Квэлкомм Инкорпорейтед (US)
Publication of RU2010147944A publication Critical patent/RU2010147944A/ru
Application granted granted Critical
Publication of RU2496139C2 publication Critical patent/RU2496139C2/ru

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.
RU2010147944/08A 2006-06-26 2007-06-26 Эффективные аппроксимации с фиксированной запятой прямого и обратного дискретных косинусных преобразований RU2496139C2 (ru)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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