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

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

Info

Publication number
RU2009102255A
RU2009102255A RU2009102255/08A RU2009102255A RU2009102255A RU 2009102255 A RU2009102255 A RU 2009102255A RU 2009102255/08 A RU2009102255/08 A RU 2009102255/08A RU 2009102255 A RU2009102255 A RU 2009102255A RU 2009102255 A RU2009102255 A RU 2009102255A
Authority
RU
Russia
Prior art keywords
value
matrix
factor
coefficient
calculating
Prior art date
Application number
RU2009102255/08A
Other languages
English (en)
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 RU2009102255A publication Critical patent/RU2009102255A/ru

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

1. Способ, содержащий этапы, на которых ! принимают матрицу 8×8 кодированных коэффициентов; ! масштабируют каждый коэффициент в матрице 8×8 кодированных коэффициентов на один из: множителя A, множителя B, множителя C, множителя D, множителя E, множителя F, множителя G, множителя H, множителя I или множителя J, чтобы сформировать матрицу масштабированных коэффициентов, ! при этом A=2048, B=1703, C=2676, D=2408, E=1416, F=2225, G=2003, H=3496, I=3147 и J=2832; ! используют повторяющиеся применения масштабированного одномерного преобразования с фиксированной запятой, чтобы преобразовать матрицу масштабированных коэффициентов в матрицу преобразованных коэффициентов; ! сдвигают вправо преобразованные коэффициенты в матрице преобразованных коэффициентов, чтобы сформировать матрицу скорректированных коэффициентов. ! при этом каждый скорректированный коэффициент в матрице скорректированных коэффициентов аппроксимирует соответствующее значение в матрице значений, которая должна быть сформирована посредством применения идеального двумерного обратного дискретного косинусного преобразования (IDCT) к матрице кодированных коэффициентов; ! отображают блоки 8×8 пикселов, причем каждый пиксел в блоке 8×8 пикселов включает в себя значение пиксельного компонента на основе скорректированного коэффициента в матрице скорректированных коэффициентов. ! 2. Способ по п.1, в котором многократное применение масштабированного одномерного преобразования с фиксированной запятой содержит этапы, на которых ! применяют масштабированное одномерное преобразование с фиксированной запятой к каждому вектору-строке матрицы масштабированных коэффициентов, чтобы сформиро

Claims (66)

1. Способ, содержащий этапы, на которых
принимают матрицу 8×8 кодированных коэффициентов;
масштабируют каждый коэффициент в матрице 8×8 кодированных коэффициентов на один из: множителя A, множителя B, множителя C, множителя D, множителя E, множителя F, множителя G, множителя H, множителя I или множителя J, чтобы сформировать матрицу масштабированных коэффициентов,
при этом A=2048, B=1703, C=2676, D=2408, E=1416, F=2225, G=2003, H=3496, I=3147 и J=2832;
используют повторяющиеся применения масштабированного одномерного преобразования с фиксированной запятой, чтобы преобразовать матрицу масштабированных коэффициентов в матрицу преобразованных коэффициентов;
сдвигают вправо преобразованные коэффициенты в матрице преобразованных коэффициентов, чтобы сформировать матрицу скорректированных коэффициентов.
при этом каждый скорректированный коэффициент в матрице скорректированных коэффициентов аппроксимирует соответствующее значение в матрице значений, которая должна быть сформирована посредством применения идеального двумерного обратного дискретного косинусного преобразования (IDCT) к матрице кодированных коэффициентов;
отображают блоки 8×8 пикселов, причем каждый пиксел в блоке 8×8 пикселов включает в себя значение пиксельного компонента на основе скорректированного коэффициента в матрице скорректированных коэффициентов.
2. Способ по п.1, в котором многократное применение масштабированного одномерного преобразования с фиксированной запятой содержит этапы, на которых
применяют масштабированное одномерное преобразование с фиксированной запятой к каждому вектору-строке матрицы масштабированных коэффициентов, чтобы сформировать матрицу промежуточных коэффициентов;
применяют масштабированное одномерное преобразование с фиксированной запятой к каждому вектору-столбцу матрицы промежуточных коэффициентов, чтобы сформировать матрицу преобразованных коэффициентов.
3. Способ по п.1, в котором отображение блока 8×8 пикселов содержит этап, на котором отображают блок 8×8 пикселов как часть видеокадра в видеопоследовательности.
4. Способ по п.1, в котором отображение блока 8×8 пикселов содержит этап, на котором отображают блок 8×8 пикселов как часть неподвижного изображения.
5. Способ по п.1, в котором масштабирование коэффициентов в матрице коэффициентов содержит этап, на котором
масштабируют коэффициент в позиции [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.
6. Способ по п.5, в котором применение преобразования к вектору-строке или вектору-столбцу содержит этапы, на которых
вычисляют значение 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;
вычисляют значение x3' посредством умножения x3 и квадратного корня из двух;
вычисляют значение x5' посредством умножения x5 и квадратного корня из двух;
вычисляют значение 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 - это выходные значения преобразования; и
при этом α=53/128, β=1, γ=151/128, δ=15/32, ε=1 и ζ=171/256.
7. Способ по п.6, в котором использование многократных применений преобразования содержит этап, на котором применяют преобразование к коэффициентам в одном из векторов-строк или одном из векторов-столбцов без использования операций умножения или деления.
8. Способ по п.7,
в котором вычисление значения (x1*ζ) посредством x1 и значения ζ содержит этапы, на которых выполняют следующую последовательность арифметических операций
вычисляют значение y1, при этом y1=(x1>>3)-x1;
вычисляют значение y2, при этом y2=x1+(y1>>3); и
вычисляют значение (x1*ζ) посредством вычитания (y2>>2) из y2; и
в котором вычисление значения (x7*ζ) посредством x7 и значения ζ содержит этапы, на которых выполняют следующую последовательность арифметических операций
вычисляют значение y1', при этом y1'=(x7>>3)-x7;
вычисляют значение y2', при этом y2'=x7+(y1'>>3); и
вычисляют значение (x7*ζ) посредством вычитания (y2'>>2) из y2'; и
в котором вычисление значения (x1''*ζ) посредством x1'' и значения ζ содержит этапы, на которых выполняют следующую последовательность арифметических операций
вычисляют значение y1'', при этом y1''=(x1''>>3)-x1'';
вычисляют значение y2'', при этом y2''=x1''+(y1''>>3); и
вычисляют значение (x1''*ζ) посредством вычитания (y2''>>2) из y2''; и
в котором вычисление значения (x7''*ζ) посредством x7'' и значения ζ содержит этапы, на которых выполняют следующую последовательность арифметических операций:
вычисляют значение y1''', при этом y1'''=(x7''>>3)-x7'';
вычисляют значение y2''', при этом y2'''=x7''+(y1'''>>3); и
вычисляют значение (x7''*ζ) посредством вычитания (y2'''>>2) из y2'''.
9. Способ по п.7,
в котором вычисление значения (x3*γ) посредством умножения x3 и значения γ и в котором вычисление значения (x3*δ) посредством умножения x3 и значения δ содержит этапы, на которых выполняют следующую последовательность операций
вычисляют значение y1, при этом y1=x3-(x3>>4);
вычисляют значение y2, при этом y2=y1+(x3>>7);
вычисляют значение (x3*δ) посредством сдвига вправо y2 на 2; и
вычисляют значение (x3*γ) посредством сложения y1 и y2; и
в котором вычисление значения (x5*δ) посредством умножения x5 и значения δ и в котором вычисление значения (x5*γ) посредством умножения x5 и значения γ содержит этапы, на которых выполняют следующую последовательность операций
вычисляют значение y1', при этом y1'=x5-(x5>>4);
вычисляют значение y2', при этом y2'=y1'+(x5>>7);
вычисляют значение (x5*δ) посредством сдвига вправо y2' на 2; и
вычисляют значение (x5*γ) посредством сложения y1' и y2'; и
в котором вычисление значения (x3''*γ) посредством умножения x3'' и значения γ и в котором вычисление значения (x3''*δ) посредством умножения x3'' и значения δ содержит этапы, на которых выполняют следующую последовательность операций
вычисляют значение y1'', при этом y1''=x3''-(x3''>>4);
вычисляют значение y2'', при этом y2''=y1''+(x3''>>7);
вычисляют значение (x3''*δ) посредством сдвига вправо y2'' на 2; и
вычисляют значение (x3''*γ) посредством сложения y1'' и y2''; и
в котором вычисление значения (x5''*δ) посредством умножения x5'' и значения δ и в котором вычисление значения (x5''*γ) посредством умножения x5'' и значения γ содержит этапы, на которых выполняют следующую последовательность операций
вычисляют значение y1''', при этом y1'''=x5''-(x5''>>4);
вычисляют значение y2''', при этом y2'''=y1'''+(x5''>>7);
вычисляют значение (x5''*δ) посредством сдвига вправо y2''' на 2; и
вычисляют значение (x5''*γ) посредством сложения y1''' и y2'''.
10. Способ по п.7,
в котором вычисление значения (x2*α) посредством умножения x2 на значение α и в котором вычисление значения (x2*β) посредством умножения x2 на значение β содержит этапы, на которых выполняют следующую последовательность операций
вычисляют значение (x2*β) посредством задания (x2*β), равным x2;
вычисляют значение y1, при этом y1=x2>>2;
вычисляют значение y2, при этом y2=x2+y1;
вычисляют значение y3, при этом y3=y1-x2; и
вычисляют значение (x2*α) посредством вычитания (y3>>1) из (y2>>5); и
в котором вычисление значения (x6*α) посредством умножения x6 на значение α и в котором вычисление значения (x6*β) посредством умножения x6 на значение β содержит этапы, на которых выполняют следующую последовательность операций
вычисляют значение (x6*β) посредством задания (x6*β), равным x6;
вычисляют значение y1', при этом y1'=x6>>2;
вычисляют значение y2', при этом y2'=x6+y1';
вычисляют значение y3', при этом y3'=y1'-x6; и
вычисляют значение (x6*α) посредством вычитания (y3'>>1) из (y2'>>5); и
в котором вычисление значения (x2''*α) посредством умножения x2'' на значение α и в котором вычисление значения (x2''*β) посредством умножения x2'' на значение β содержит этапы, на которых выполняют следующую последовательность операций
вычисляют значение (x2''*β) посредством задания (x2''*β), равным x2'';
вычисляют значение y1'', при этом y1''=x2''>>2;
вычисляют значение y2'', при этом y2''=x2''+y1'';
вычисляют значение y3'', при этом y3''=y1''-x2''; и
вычисляют значение (x2''*α) посредством вычитания (y3''>>1) из (y2''>>5); и
в котором вычисление значения (x6''*α) посредством умножения x6'' на значение α и в котором вычисление значения (x6''*β) посредством умножения x6'' на значение β содержит этапы, на которых выполняют следующую последовательность операций
вычисляют значение (x6''*β) посредством задания (x6''*β), равным x6'';
вычисляют значение y1''', при этом y1'''=x6''>>2;
вычисляют значение y2''', при этом y2'''=x6''+y1''';
вычисляют значение y3''', при этом y3'''=y1'''-x6''; и
вычисляют значение (x6''*α) посредством вычитания (y3'''>>1) из (y2'''>>5).
11. Способ по п.6, в котором значения x0, x1, x2, x3, x4, x5, x6, x7, x0', x1', x2', x3', x4', x5', x6', x7', x0'', x1'', x2'', x3'', x4'', x5'', x6'', x7'', x1''', x3''', x5''', x7''', (x2*α), (x6*β), (x2*β), (x6*α), (x7''*ε), (x7''*ζ), (x3''*γ), (x3''*δ), (x5''*δ), (x5''*γ), (x1''*ζ) и (x1''*ε) представляются с помощью чисел с фиксированной запятой, которые включают в себя P битов в частях мантисс чисел с фиксированной запятой.
12. Способ по п.11, в котором P равно 11.
13. Способ по п.1, при этом способ дополнительно содержит этап, на котором принимают поток битов, который включает в себя матрицу коэффициентов.
14. Способ по п.1, при этом способ дополнительно содержит этап, на котором добавляют член срединного смещения к DC-коэффициенту матрицы, причем значение члена срединного смещения равно 2 в степени 13.
15. Способ по п.1, при этом способ дополнительно содержит этапы, на которых
сдвигают вправо каждый коэффициент в матрице преобразованных коэффициентов на тринадцать позиций, чтобы сформировать матрицу значений пиксельных компонентов; и
составляют блок пикселов посредством включения значений пиксельных компонентов в матрице значений пиксельных компонентов в пикселы блока пикселов.
16. Способ по п.1, в котором масштабирование коэффициентов в матрице коэффициентов содержит этап, на котором масштабируют коэффициенты в матрице коэффициентов без использования операций умножения или деления.
17. Устройство, содержащее
модуль ввода, который принимает матрицу 8×8 кодированных коэффициентов;
модуль масштабирования, который масштабирует каждый коэффициент в матрице 8×8 кодированных коэффициентов на один из множителя A, множителя B, множителя C, множителя D, множителя E, множителя F, множителя G, множителя H, множителя I или множителя J, чтобы сформировать матрицу масштабированных коэффициентов,
при этом A=2048, B=1703, C=2676, D=2408, E=1416, F=2225, G=2003, H=3496, I=3147 и J=2832;
причем масштабированные коэффициенты составляют матрицу масштабированных коэффициентов,
модуль обратного преобразования, который использует многократные применения масштабированного одномерного преобразования с фиксированной запятой для того, чтобы преобразовать матрицу масштабированных коэффициентов в матрицу преобразованных коэффициентов;
модуль сдвига вправо, который сдвигает вправо преобразованные коэффициенты в матрице преобразованных коэффициентов, чтобы сформировать матрицу скорректированных коэффициентов; и
при этом каждый скорректированный коэффициент в матрице скорректированных коэффициентов аппроксимирует соответствующее значение в матрице значений, которая должна быть сформирована посредством применения идеального двумерного обратного дискретного косинусного преобразования (IDCT) к матрице кодированных коэффициентов;
модуль вывода, который выводит блоки 8×8 пикселов, причем каждый пиксел в блоке пикселов включает в себя значение пиксельного компонента на основе скорректированного коэффициента в матрице скорректированных коэффициентов.
18. Устройство по п.17, в котором модуль векторного преобразования применяет масштабированное одномерное преобразование с фиксированной запятой к каждому вектору-строке матрицы промежуточных коэффициентов и применяет масштабированное одномерное преобразование с фиксированной запятой к каждому вектору-столбцу матрицы промежуточных коэффициентов, чтобы сформировать матрицу преобразованных коэффициентов.
19. Устройство по п.17, в котором модуль вывода отображает блоки 8×8 пикселов как часть видеокадра в видеопоследовательности.
20. Устройство по п.19, в котором модуль вывода отображает блоки 8×8 пикселов как часть неподвижного изображения.
21. Устройство по п.17, в котором модуль масштабирования
масштабирует коэффициент в позиции [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.
22. Устройство по п.17, в котором модуль обратного преобразования применяет преобразование к вектору-строке или вектору-столбцу посредством следующего
вычисление значения 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;
вычисление значения x3' посредством умножения x3 и квадратного корня из двух;
вычисление значения x5' посредством умножения x5 и квадратного корня из двух;
вычисление значения 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 - это выходные значения преобразования; и
при этом α=53/128, β=1, γ=151/128, δ=15/32, ε=1 и ζ=171/256.
23. Устройство по п.22, в котором модуль обратного преобразования применяет преобразование к матрице коэффициентов без использования операций умножения или деления.
24. Устройство по п.23,
в котором модуль обратного преобразования вычисляет значение (x1*ζ) посредством x1 и значения ζ посредством выполнения следующей последовательности арифметических операций
вычисление значения y1, при этом y1=(x1>>3)-x1;
вычисление значения y2, при этом y2=x1+(y1>>3); и
вычисление значения (x1*ζ) посредством вычитания (y2>>2) из y2; и
в котором модуль обратного преобразования вычисляет значение (x7*ζ) посредством x7 и значения ζ посредством выполнения следующей последовательности арифметических операций
вычисление значения y1', при этом y1'=(x7>>3)-x7;
вычисление значения y2', при этом y2'=x7+(y1'>>3); и
вычисление значения (x7*ζ) посредством вычитания (y2'>>2) из y2'; и
в котором модуль обратного преобразования вычисляет значение (x1''*ε) посредством умножения x1'' и значения ε и вычисляет значение (x1''*ζ) посредством x1'' и значения ζ посредством выполнения следующей последовательности арифметических операций
вычисление значения y1'', при этом y1''=(x1''>>3)-x1'';
вычисление значения y2'', при этом y2''=x1''+(y1''>>3); и
вычисление значения (x1''*ζ) посредством вычитания (y2''>>2) из y2''; и
в котором модуль обратного преобразования вычисляет значение (x7''*ε) посредством умножения x7'' и значения ε и в котором вычисляет значение (x7''*ζ) посредством x7'' и значения ζ посредством выполнения следующей последовательности арифметических операций
вычисление значения y1''', при этом y1'''=(x7''>>3)-x7'';
вычисление значения y2''', при этом y2'''=x7''+(y1'''>>3); и
вычисление значения (x7''*ζ) посредством вычитания (y2'''>>2) из y2'''.
25. Устройство по п.23,
в котором модуль обратного преобразования вычисляет значение (x3*γ) посредством умножения x3 и значения γ и вычисляет значение (x3*δ) посредством умножения x3 и значения δ посредством выполнения следующей последовательности операций
вычисление значения y1, при этом y1=x3-(x3>>4);
вычисление значения y2, при этом y2=y1+(x3>>7);
вычисление значения (x3*δ) посредством сдвига вправо y2 на 2; и
вычисление значения (x3*γ) посредством сложения y1 и y2; и
в котором модуль обратного преобразования вычисляет значение (x5*δ) посредством умножения x5 и значения δ и вычисляет значение (x5*γ) посредством умножения x5 и значения γ посредством выполнения следующей последовательности операций
вычисление значения y1', при этом y1'=x5-(x5>>4);
вычисление значения y2', при этом y2'=y1'+(x5>>7);
вычисление значения (x5*δ) посредством сдвига вправо y2' на 2; и
вычисление значения (x5*γ) посредством сложения y1' и y2'; и
в котором модуль обратного преобразования вычисляет значение (x3''*γ) посредством умножения x3'' и значения γ и вычисляет значение (x3''*δ) посредством x3'' и значения δ посредством выполнения следующей последовательности операций
вычисление значения y1'', при этом y1''=x3''-(x3''>>4);
вычисление значения y2'', при этом y2''=y1''+(x3''>>7);
вычисление значения (x3''*δ) посредством сдвига вправо y2'' на 2; и
вычисление значения (x3''*γ) посредством сложения y1'' и y2''; и
в котором модуль обратного преобразования вычисляет значение (x5''*δ) посредством умножения x5'' и значения δ и вычисляет значение (x5''*γ) посредством умножения x5'' и значения γ посредством выполнения следующей последовательности операций
вычисление значения y1''', при этом y1'''=x5''-(x5''>>4);
вычисление значения y2''', при этом y2'''=y1'''+(x5''>>7);
вычисление значения (x5''*δ) посредством сдвига вправо y2''' на 2; и
вычисление значения (x5''*γ) посредством сложения y1''' и y2'''.
26. Устройство по п.23,
в котором модуль обратного преобразования вычисляет значение (x2*α) посредством умножения x2 на значение α и вычисляет значение (x2*β) посредством умножения x2 на значение β посредством выполнения следующей последовательности операций:
вычисление значения (x2*β) посредством задания (x2*β), равным x2;
вычисление значения y1, при этом y1=x2>>2;
вычисление значения y2, при этом y2=x2+y1;
вычисление значения y3, при этом y3=y1-x2; и
вычисление значения (x2*α) посредством вычитания (y3>>1) из (y2>>5);
в котором модуль обратного преобразования вычисляет значение (x6*α) посредством умножения x6 на значение α и вычисляет значение (x6*β) посредством умножения x6 на значение β посредством выполнения следующей последовательности операций
вычисление значения (x6*β) посредством задания (x6*β), равным x6;
вычисление значения y1', при этом y1'=x6>>2;
вычисление значения y2', при этом y2'=x6+y1';
вычисление значения y3', при этом y3'=y1'-x6; и
вычисление значения (x6*α) посредством вычитания (y3'>>1) из (y2'>>5); и
в котором модуль обратного преобразования вычисляет значение (x2''*α) посредством умножения x2'' на значение α и вычисляет значение (x2''*β) посредством умножения x2'' на значение β посредством выполнения следующей последовательности операций
вычисление значения (x2''*β) посредством задания (x2''*β), равным x2'';
вычисление значения y1'', при этом y1''=x2''>>2;
вычисление значения y2'', при этом y2''=x2''+y1'';
вычисление значения y3'', при этом y3''=y1''-x2''; и
вычисление значения (x2''*α) посредством вычитания (y3''>>1) из (y2''>>5); и
в котором модуль обратного преобразования вычисляет значение (x6''*α) посредством умножения x6'' на значение α и вычисляет значение (x6''*β) посредством умножения x6'' на значение β посредством выполнения следующей последовательности операций
вычисление значения (x6''*β) посредством задания (x6''*β), равным x6'';
вычисление значения y1''', при этом y1'''=x6''>>2;
вычисление значения y2''', при этом y2'''=x6''+y1''';
вычисление значения y3''', при этом y3'''=y1'''-x6''; и
вычисление значения (x6''*α) посредством вычитания (y3'''>>1) из (y2'''>>5).
27. Устройство по п.22, в котором значения x0, x1, x2, x3, x4, x5, x6, x7, x0', x1', x2', x3', x4', x5', x6', x7', x0'', x1'', x2'', x3'', x4'', x5'', x6'', x7'', x1''', x3''', x5''', x7''', (x2*α), (x6*β), (x2*β), (x6*α), (x7''*ε), (x7''*ζ), (x3''*γ), (x3''*δ), (x5''*δ), (x5''*γ), (x1''*ζ) и (x1''*ε) представляются с помощью чисел с фиксированной запятой, которые включают в себя P битов в частях мантисс чисел с фиксированной запятой.
28. Устройство по п.27, в котором P равно 11.
29. Устройство по п.17, при этом устройство содержит сетевой интерфейс, который принимает данные, из которых матрица кодированных коэффициентов извлекается.
30. Устройство по п.17, при этом устройство содержит модуль смещения коэффициентов, который добавляет член смещения средней точки к DC-коэффициенту матрицы, причем значение члена смещения средней точки равно 2 в степени 13.
31. Устройство по п.30, при этом устройство дополнительно содержит
модуль сдвига вправо, который сдвигает вправо каждый коэффициент в матрице преобразованных коэффициентов на тринадцать позиций, чтобы сформировать матрицу значений пиксельных компонентов; и
модуль восстановления пикселов, который составляет блок пикселов посредством включения значений пиксельных компонентов в матрице значений пиксельных компонентов в пикселы блока пикселов.
32. Устройство по п.17, при этом устройство дополнительно содержит блок представления мультимедиа, чтобы отображать блоки пикселов.
33. Устройство по п.17, в котором модуль масштабирования масштабирует коэффициенты без использования операций умножения или деления.
34. Устройство, содержащее
средство приема матрицы 8×8 кодированных коэффициентов;
средство масштабирования каждого коэффициента в матрице 8×8 кодированных коэффициентов на один из множителя A, множителя B, множителя C, множителя D, множителя E, множителя F, множителя G, множителя H, множителя I или множителя J, чтобы сформировать матрицу масштабированных коэффициентов,
при этом A=2048, B=1703, C=2676, D=2408, E=1416, F=2225, G=2003, H=3496, I=3147 и J=2832;
причем масштабированные коэффициенты составляют матрицу масштабированных коэффициентов,
средство использования повторяющихся применений масштабированного одномерного преобразования с фиксированной запятой, чтобы преобразовать матрицу масштабированных коэффициентов в матрицу преобразованных коэффициентов;
средство сдвига вправо преобразованных коэффициентов в матрице преобразованных коэффициентов, чтобы сформировать матрицу скорректированных коэффициентов;
при этом каждый скорректированный коэффициент в матрице скорректированных коэффициентов аппроксимирует соответствующее значение в матрице значений, которая должна быть сформирована посредством применения идеального двумерного обратного дискретного косинусного преобразования (IDCT) к матрице кодированных коэффициентов; и
средство вывода блоков 8×8 пикселов, причем каждый пиксел в блоке 8×8 пикселов включает в себя значение пиксельного компонента на основе скорректированного коэффициента в матрице скорректированных коэффициентов.
35. Устройство по п.34, в котором средство многократного применения масштабированного одномерного преобразования с фиксированной запятой содержит
средство применения масштабированного одномерного преобразования с фиксированной запятой к каждому вектору-строке матрицы масштабированных коэффициентов, чтобы сформировать матрицу промежуточных коэффициентов; и
средство применения масштабированного одномерного преобразования с фиксированной запятой к каждому вектору-столбцу матрицы промежуточных коэффициентов, чтобы сформировать матрицу преобразованных коэффициентов.
36. Устройство по п.34, в котором средство вывода блока 8×8 пикселов отображает блок 8×8 пикселов как часть видеокадра в видеопоследовательности.
37. Устройство по п.34, в котором средство вывода блока 8×8 пикселов отображает блок 8×8 пикселов как часть неподвижного изображения.
38. Устройство по п.34, в котором средство масштабирования коэффициентов содержит
средство масштабирования коэффициента в позиции [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.
39. Устройство по п.38, в котором средство применения преобразования содержит
средство вычисления значения 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;
средство вычисления значения x3' посредством умножения x3 и квадратного корня из двух;
средство вычисления значения x5' посредством умножения x5 и квадратного корня из двух;
средство вычисления значения 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 - это выходные значения преобразования; и
при этом α=53/128, β=1, γ=151/128, δ=15/32, ε=1 и ζ=171/256.
40. Устройство по п.39, в котором средство применения преобразования применяет преобразование к матрице коэффициентов без использования операций умножения или деления.
41. Устройство по п.40,
в котором средство вычисления значения (x1*ζ) посредством x1 и значения ζ содержит выполнение следующей последовательности арифметических операций
средство вычисления значения y1, при этом y1=(x1>>3)-x1;
средство вычисления значения y2, при этом y2=x1+(y1>>3); и
средство вычисления значения (x1*ζ) посредством вычитания (y2>>2) из y2; и
в котором средство вычисления значения (x7*ζ) посредством x7 и значения ζ содержит выполнение следующей последовательности арифметических операций
средство вычисления значения y1', при этом y1'=(x7>>3)-x7;
средство вычисления значения y2', при этом y2'=x7+(y1'>>3); и
средство вычисления значения (x7*ζ) посредством вычитания (y2'>>2) из y2'; и
в котором средство вычисления значения (x1''*ε) посредством умножения x1'' и значения ε и в котором средство вычисления значения (x1''*ζ) посредством x1'' и значения ζ содержат
средство вычисления y1'', при этом y1''=(x1''>>3)-x1'';
средство вычисления значения y2'', при этом y2''=x1''+(y1''>>3); и
средство вычисления (x1''*ζ) посредством вычитания (y2''>>2) из y2''; и
в котором средство вычисления значения (x7''*ε) посредством умножения x7'' и значения ε и в котором средство вычисления значения (x7''*ζ) посредством x7'' и значения ζ содержат
средство вычисления y1''', при этом y1'''=(x7''>>3)-x7'';
средство вычисления значения y2''', при этом y2'''=x7''+(y1'''>>3); и
средство вычисления значения (x7''*ζ) посредством вычитания (y2'''>>2) из y2'''.
42. Устройство по п.40,
в котором средство вычисления значения (x3*γ) посредством умножения x3 и значения γ и в котором средство вычисления значения (x3*δ) посредством умножения x3 и значения δ содержат
средство вычисления значения y1, при этом y1=x3-(x3>>4);
средство вычисления значения y2, при этом y2=y1+(x3>>7);
средство вычисления значения (x3*δ) посредством сдвига вправо y2 на 2; и
средство вычисления значения (x3*γ) посредством сложения y1 и y2; и
в котором средство вычисления значения (x5*δ) посредством умножения x5 и значения δ и в котором средство вычисления значения (x5*γ) посредством умножения x5 и значения γ содержат
средство вычисления значения y1', при этом y1'=x5-(x5>>4);
средство вычисления значения y2', при этом y2'=y1'+(x5>>7);
средство вычисления значения (x5*δ) посредством сдвига вправо y2' на 2; и
средство вычисления значения (x5*γ) посредством сложения y1' и y2'; и
в котором средство вычисления значения (x3''*γ) посредством умножения x3'' и значения γ и в котором средство вычисления значения (x3''*δ) посредством умножения x3'' и значения δ содержат
средство вычисления значения y1'', при этом y1''=x3''-(x3''>>4);
средство вычисления значения y2'', при этом y2''=y1''+(x3''>>7);
средство вычисления значения (x3''*δ) посредством сдвига вправо y2 на 2; и
средство вычисления значения (x3''*γ) посредством сложения y1 и y2; и
в котором средство вычисления значения (x5''*δ) посредством умножения x5'' и значения δ и в котором средство вычисления значения (x5''*γ) посредством умножения x5'' и значения γ содержат
средство вычисления значения y1''', при этом y1'''=x5''-(x5''>>4);
средство вычисления значения y2''', при этом y2'''=y1'''+(x5''>>7);
средство вычисления значения (x5''*δ) посредством сдвига вправо y2''' на 2; и
средство вычисления значения (x5''*γ) посредством сложения y1' и y2'''.
43. Устройство по п.40,
в котором средство вычисления значения (x2*α) посредством умножения x2 на значение α и в котором средство вычисления значения (x2*β) посредством умножения x2 на значение β содержат
средство вычисления значения (x2*β) посредством задания (x2*β),равным x2;
средство вычисления значения y1, при этом y1=x2>>2;
средство вычисления значения y2, при этом y2=x2+y1;
средство вычисления значения y3, при этом y3=y1-x2; и
средство вычисления значения (x2*α) посредством вычитания (y3>>1) из (y2>>5); и
в котором средство вычисления значения (x6*α) посредством умножения x6 на значение α и в котором средство вычисления значения (x5*β) посредством умножения x6 на значение β содержат
средство вычисления значения (x6*β) посредством задания (x6*β), равным x6;
средство вычисления значения y1', при этом y1'=x6>>2;
средство вычисления значения y2', при этом y2'=x6+y1';
средство вычисления значения y3', при этом y3'=y1'-x6; и
средство вычисления значение (x6*α) посредством вычитания (y3'>>1) из (y2'>>5); и в котором средство вычисления значения (x2''*α) посредством умножения x2'' на значение α и в котором средство вычисления значения (x2''*β) посредством умножения x2'' на значение β содержат
средство вычисления значения (x2''*β) посредством задания (x2''*β), равным x2'';
средство вычисления значения y1'', при этом y1''=x2''>>2;
средство вычисления значения y2'', при этом y2''=x2''+y1'';
средство вычисления значения y3'', при этом y3''=y1''-x2''; и
средство вычисления значения (x2''*α) посредством вычитания (y3''>>1) из (y2''>>5); и
в котором средство вычисления значения (x6''*α) посредством умножения x6'' на значение α и в котором средство вычисления значения (x6''*β) посредством умножения x6'' на значение β содержит выполнение следующей последовательности операций
средство вычисления значения (x6''*β) посредством задания (x6''*β), равным x6'';
средство вычисления значения y1''', при этом y1'''=x6''>>2;
средство вычисления значения y2''', при этом y2'''=x6''+y1''';
средство вычисления значения y3''', при этом y3'''=y1'''-x6''; и
средство вычисления значения (x6''*α) посредством вычитания (y3'''>>1) из (y2'''>>5).
44. Устройство по п.39, в котором значения x0, x1, x2, x3, x4, x5, x6, x7, x0', x1', x2', x3', x4', x5', x6', x7', x0'', x1'', x2'', x3'', x4'', x5'', x6'', x7'', x1''', x3''', x5''', x7''', (x2*α), (x6*β), (x2*β), (x6*α), (x7''*ε), (x7''*ζ), (x3''*γ), (x3''*δ), (x5''*δ), (x5''*γ), (x1''*ζ) и (x1''*ε) представляются с помощью чисел с фиксированной запятой, которые включают в себя P битов в частях мантисс чисел с фиксированной запятой.
45. Устройство по п.44, в котором P равно 11.
46. Устройство по п.34, при этом устройство содержит средства приема мультимедийного файла, который включает в себя данные, из которых извлекается матрица кодированных коэффициентов.
47. Устройство по п.34, при этом устройство содержит средство прибавления члена срединного смещения к DC-коэффициенту матрицы, причем значение члена срединного смещения равно 2 в степени 13.
48. Устройство по п.34, при этом устройство дополнительно содержит
средство сдвига вправо каждого коэффициента в матрице преобразованных коэффициентов на тринадцать позиций, чтобы сформировать матрицу значений пиксельных компонентов; и
средство составления блока пикселов посредством включения значений пиксельных компонентов в матрице значений пиксельных компонентов в пикселы блока пикселов.
49. Устройство по п.34, при этом устройство дополнительно содержит средство отображения блока пикселов.
50. Устройство по п.34, в котором средство масштабирования коэффициентов масштабирует коэффициенты без использования операций умножения или деления.
51. Машиночитаемый носитель, содержащий инструкции, при исполнении которых инструкции побуждают программируемый процессор
принимать матрицу 8×8 кодированных коэффициентов;
масштабировать каждый коэффициент в матрице 8×8 кодированных коэффициентов на одно из множителя A, множителя B, множителя C, множителя D, множителя E, множителя F, множителя G, множителя H, множителя I или множителя J, чтобы сформировать матрицу масштабированных коэффициентов,
при этом A=2048, B=1703, C=2676, D=2408, E=1416, F=2225, G=2003, H=3496, I=3147 и J=2832;
использовать повторяющиеся применения масштабированного одномерного преобразования с фиксированной запятой, чтобы преобразовать матрицу масштабированных коэффициентов в матрицу преобразованных коэффициентов;
сдвигать вправо преобразованные коэффициенты в матрице преобразованных коэффициентов, чтобы сформировать матрицу скорректированных коэффициентов.
при этом каждый скорректированный коэффициент в матрице скорректированных коэффициентов аппроксимирует соответствующее значение в матрице значений, которая должна быть сформирована посредством применения идеального двумерного обратного дискретного косинусного преобразования (IDCT) к матрице кодированных коэффициентов; и
выводить сигналы, которые побуждают дисплейный модуль отображать блоки 8×8 пикселов, причем каждый пиксел в блоке пикселов включает в себя значение пиксельного компонента на основе скорректированного коэффициента в матрице скорректированных коэффициентов.
52. Машиночитаемый носитель по п.51, в котором инструкции, которые побуждают программируемый процессор использовать повторяющиеся применения масштабированного одномерного преобразования с фиксированной запятой, побуждают программируемый процессор
применять преобразование к каждому вектору-строке матрицы масштабированных коэффициентов, чтобы сформировать матрицу промежуточных коэффициентов;
применять преобразование к каждому вектору-столбцу матрицы промежуточных коэффициентов, чтобы сформировать матрицу преобразованных коэффициентов.
53. Машиночитаемый носитель по п.51, в котором инструкции, которые побуждают программируемый процессор выводить сигналы, которые побуждают дисплейный модуль отображать блоки 8×8 пикселов, побуждают программируемый процессор выводить сигналы, которые побуждают дисплейный модуль отображать блоки 8×8 пикселов как часть видеокадра в видеопоследовательности.
54. Машиночитаемый носитель по п.51, в котором инструкции, которые побуждают программируемый процессор выводить сигналы, которые побуждают дисплейный модуль отображать блоки 8×8 пикселов, побуждают программируемый процессор выводить сигналы, которые побуждают дисплейный модуль отображать блоки 8×8 пикселов как часть неподвижного изображения.
55. Машиночитаемый носитель по п.51, в котором инструкции, которые побуждают процессор масштабировать коэффициенты в матрице коэффициентов, инструктируют процессору
масштабировать коэффициент в позиции [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.
56. Машиночитаемый носитель по п.51, в котором инструкции, которые побуждают процессор применить преобразование к вектору-строке или вектору-столбцу, побуждают процессор
вычислять значение 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;
вычислять значение x3' посредством умножения x3 и квадратного корня из двух;
вычислять значение x5' посредством умножения x5 и квадратного корня из двух;
вычислять значение 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 - это выходные значения преобразования; и
при этом α=53/128, β=1, γ=151/128, δ=15/32, ε=1 и ζ=171/256.
57. Машиночитаемый носитель по п.56, в котором инструкции, которые побуждают процессор использовать повторяющиеся применения масштабирования, побуждают процессор применять преобразование к коэффициентам в одном из векторов-строк или одном из векторов-столбцов без использования операций умножения или деления.
58. Машиночитаемый носитель по п.57,
в котором инструкции побуждают программируемый процессор вычислять значение (x1*ζ) посредством x1 и значения ζ посредством побуждения программируемого процессора
вычислять значение y1, при этом y1=(x1>>3)-x1;
вычислять значение y2, при этом y2=x1+(y1>>3); и
вычислять значение (x1*ζ) посредством вычитания (y2>>2) из y2; и
в котором инструкции побуждают программируемый процессор вычислять значение (x7*ζ) посредством x7 и значения ζ посредством побуждения программируемого процессора:
вычислять значение y1', при этом y1'=(x7>>3)-x7;
вычислять значение y2', при этом y2'=x7+(y1'>>3); и
вычислять значение (x7*ζ) посредством вычитания (y2'>>2) из y2'; и
в котором инструкции побуждают программируемый процессор вычислять значение (x1''*ε) посредством умножения x1'' и значения ε и в котором инструкции побуждают программируемый процессор вычислять значение (x1''*ζ) посредством x1'' и значения ζ посредством побуждения программируемого процессора выполнять
вычисление значения y1'', при этом y1''=(x1''>>3)-x1'';
вычисление значения y2'', при этом y2''=x1''+(y1''>>3); и
вычисление значения (x1''*ζ) посредством вычитания (y2''>>2) из y2''; и
в котором инструкции побуждают программируемый процессор вычислять значение (x7''*ε) посредством умножения x7'' и значения ε и в котором инструкции побуждают программируемый процессор вычислять значение (x7''*ζ) посредством x7'' и значения ζ посредством побуждения программируемого процессора
вычислять значение y1''', при этом y1'''=(x7''>>3)-x7'';
вычислять значение y2''', при этом y2'''=x7''+(y1'''>>3); и
вычислять значение (x7''*ζ) посредством вычитания (y2'''>>2) из y2'''.
59. Машиночитаемый носитель по п.58,
в котором инструкции побуждают программируемый процессор вычислять значение (x3*γ) посредством умножения x3 и значения γ и в котором инструкции побуждают программируемый процессор вычислять значение (x3*δ) посредством умножения x3 и значения δ посредством побуждения программируемого процессора
вычислять значение y1, при этом y1=x3-(x3>>4);
вычислять значение y2, при этом y2=y2+(x3>>7);
вычислять значение (x3*δ) посредством сдвига вправо y2 на 2; и
вычислять значение (x3*γ) посредством сложения y1 и y2; и
в котором инструкции побуждают программируемый процессор вычислять значение (x5*δ) посредством умножения x5 и значения δ и в котором инструкции побуждают программируемый процессор вычислять значение (x5*γ) посредством умножения x5 и значения γ посредством побуждения программируемого процессора
вычислять значение y1', при этом y1'=x5-(x5>>4);
вычислять значение y2', при этом y2'=y1'+(x5>>7);
вычислять значение (x5*δ) посредством сдвига вправо y2' на 2; и
вычислять значение (x5*γ) посредством сложения y1' и y2'; и
в котором инструкции побуждают программируемый процессор вычислять значение (x3''*γ) посредством умножения x3'' и значения γ и в котором инструкции побуждают программируемый процессор вычислять значение (x3''*δ) посредством умножения x3'' и значения δ посредством побуждения программируемого процессора
вычислять значение y1'', при этом y1''=x3''-(x3''>>4);
вычислять значение y2'', при этом y2''=y1''+(x3''>>7);
вычислять значение (x3''*δ) посредством сдвига вправо y2'' на 2; и
вычислять значение (x3''*γ) посредством сложения y1 и y2; и
в котором инструкции побуждают программируемый процессор вычислять значение (x5''*δ) посредством умножения x5'' и значения δ и в котором инструкции побуждают программируемый процессор вычислять значение (x5''*γ) посредством умножения x5'' и значения γ посредством побуждения программируемого процессора
вычислять значение y1''', при этом y1'''=x5''-(x5''>>4);
вычислять значение y2''', при этом y2'''=y1'''+(x5''>>7);
вычислять значение (x5''*δ) посредством сдвига вправо y2''' на 2; и
вычислять значение (x5''*γ) посредством сложения y1''' и y2'''.
60. Машиночитаемый носитель по п.58,
в котором инструкции побуждают программируемый процессор вычислять значение (x2*α) посредством умножения x2 на значение α и в котором инструкции побуждают программируемый процессор вычислять значение (x2*β) посредством умножения x2 на значение β посредством побуждения программируемого процессора
вычислять значение (x2*β) посредством задания (x2*β) равным x6;
вычислять значение y1, при этом y1=x2>>2;
вычислять значение y2, при этом y2=x2+y1;
вычислять значение y3, при этом y3=y1-x2; и
вычислять значение (x2*α) посредством вычитания (y3>>1) из (y2>>5); и
в котором инструкции побуждают программируемый процессор вычислять значение (x6*α) посредством умножения x6 на значение α и в котором инструкции побуждают программируемый процессор вычислять значение (x6*β) посредством умножения x6 на значение β посредством побуждения программируемого процессора
вычислять значение (x6*β) посредством задания (x6*β) равным x6;
вычислять значение y1', при этом y1'=x6>>2;
вычислять значение y2', при этом y2'=x6+y1';
вычислять значение y3', при этом y3'=y1'-x6; и
вычислять значение (x6*α) посредством вычитания (y3'>>1) из (y2'>>5); и
в котором инструкции побуждают программируемый процессор вычислять значение (x2''*α) посредством умножения x2'' на значение α, и в котором инструкции побуждают программируемый процессор вычислять значение (x2''*β) посредством умножения x2'' на значение β посредством побуждения программируемого процессора
вычислять значение (x2''*β) посредством задания (x2''*β) равным x2'';
вычислять значение y1'', при этом y1''=x2''>>2;
вычислять значение y2'', при этом y2''=x2''+y1'';
вычислять значение y3'', при этом y3''=y1''-x2''; и
вычислять значение (x2''*α) посредством вычитания (y3''>>1) из (y2''>>5); и
в котором инструкции побуждают программируемый процессор вычислять значение (x6''*α) посредством умножения x6'' на значение α и в котором инструкции побуждают программируемый процессор вычислять значение (x6''*β) посредством умножения x6'' на значение β посредством побуждения программируемого процессора:
вычислять значение (x6''*β) посредством задания (x6''*β), равным x6'';
вычислять значение y1''', при этом y1'''=x6''>>2;
вычислять значение y2''', при этом y2'''=x6''+y1';
вычислять значение y3''', при этом y3'''=y1'''-x6''; и
вычислять значение (x6''*α) посредством вычитания (y3'''>>1) из (y2'''>>5).
61. Машиночитаемый носитель по п.56, в котором значения x0, x1, x2, x3, x4, x5, x6, x7, x0', x1', x2', x3', x4', x5', x6', x7', x0'', x1'', x2'', x3'', x4'', x5'', x6'', x7'', x1''', x3''', x5''', x7''', (x2*α), (x6*β), (x2*β), (x6*α), (x7''*ε), (x7''*ζ), (x3''*γ), (x3''*δ), (x5''*δ), (x5''*γ), (x1''*ζ) и (x1''*ε) представляются с помощью чисел с фиксированной запятой, которые включают в себя P битов в частях мантисс чисел с фиксированной запятой.
62. Машиночитаемый носитель по п.62, в котором P равно 11.
63. Машиночитаемый носитель по п.51, в котором инструкции дополнительно побуждают процессор принимать мультимедийный файл, который включает в себя матрицу кодированных коэффициентов.
64. Машиночитаемый носитель по п.51, в котором инструкции дополнительно побуждают процессор добавлять член смещения средней точки к DC-коэффициенту матрицы, причем значение члена смещения средней точки равно 2 в степени 13.
65. Машиночитаемый носитель по п.51, в котором инструкции дополнительно побуждают процессор
сдвигать вправо каждый коэффициент в матрице преобразованных коэффициентов на тринадцать позиций, чтобы сформировать матрицу значений пиксельных компонентов; и
составлять блок пикселов посредством включения значений пиксельных компонентов в матрице значений пиксельных компонентов в пикселы блока пикселов.
66. Машиночитаемый носитель по п.51, в котором инструкции побуждают процессор масштабировать кодированные коэффициенты посредством побуждения процессора масштабировать коэффициенты в матрице кодированных коэффициентов без использования операций умножения или деления.
RU2009102255/08A 2006-06-26 2007-06-26 Эффективные аппроксимации с фиксированной запятой для прямых и обратных дискретных косинусных преобразований RU2009102255A (ru)

Applications Claiming Priority (13)

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
US60/847,194 2006-09-25
US82966906P 2006-10-16 2006-10-16
US60/829,669 2006-10-16
US60/869,530 2006-12-11
US88393207P 2007-01-08 2007-01-08
US60/883,932 2007-01-08
US60/896,778 2007-03-23
US90933507P 2007-03-30 2007-03-30
US60/909,335 2007-03-30

Publications (1)

Publication Number Publication Date
RU2009102255A true RU2009102255A (ru) 2010-08-10

Family

ID=42698401

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2009102255/08A RU2009102255A (ru) 2006-06-26 2007-06-26 Эффективные аппроксимации с фиксированной запятой для прямых и обратных дискретных косинусных преобразований

Country Status (1)

Country Link
RU (1) RU2009102255A (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108780441A (zh) * 2016-03-18 2018-11-09 高通股份有限公司 用于定点矩阵乘法的内存减少方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108780441A (zh) * 2016-03-18 2018-11-09 高通股份有限公司 用于定点矩阵乘法的内存减少方法
CN108780441B (zh) * 2016-03-18 2022-09-06 高通股份有限公司 用于定点矩阵乘法的存储减少方法

Similar Documents

Publication Publication Date Title
US7957589B2 (en) Arbitrary power function using logarithm lookup table
US20050180503A1 (en) Block transform and quantization for image and video coding
TWI359364B (en) Apparatus, method, and computer program product fo
WO2008002942A3 (en) Efficient fixed-point approximations of forward and inverse discrete cosine transforms
RU2009102248A (ru) Снижение ошибок в ходе вычисления обратного дискретного косинусного преобразования
EP0884686A3 (en) Method and apparatus for performing discrete cosine transform and its inverse
CA2502004A1 (en) Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements fo division operations
WO2008002897A2 (en) Reduction of errors during computation of inverse discrete cosine transform
KR970012126A (ko) Vsli 실행용 역이산 코사인 변환 프로세서
RU2017128208A (ru) Обработка изображения с изменением степени яркости при постоянстве цвета
Dimitrov et al. A new DCT algorithm based on encoding algebraic integers
RU2009102255A (ru) Эффективные аппроксимации с фиксированной запятой для прямых и обратных дискретных косинусных преобразований
RU2010147944A (ru) Эффективные аппроксимации с фиксированной запятой прямого и обратного дискретных косинусных преобразований
JP2014241585A (ja) ビデオデータ処理時に空間領域と周波数領域との間の変換を実行するためのデータ処理装置および方法
JPH04233669A (ja) アレイ・プロセッシング方法
Wang et al. Block-based gradient domain high dynamic range compression design for real-time applications
Pan et al. Wigner coefficients of U (4)⊃ SUS (2)⊗ SUT (2)
WO2008005757A3 (en) Efficient fixed-point approximations of forward and inverse discrete cosine transforms
Wang et al. Design and implementation of a real-time global tone mapping processor for high dynamic range video
Mou et al. VIS-based native video processing on UltraSPARC
El-Mikkawy On solving linear systems of the Pascal type
US6493737B1 (en) Method and circuit for computing the discrete cosine transform (DCT) in microcontrollers
Nageswari et al. Design of a scalable approximate DCT architecture for efficient HEVC compliant video coding applications
JP3737723B2 (ja) 電子透かし埋め込み装置,方法,そのプログラムおよびそのプログラム記録媒体
JP3362716B2 (ja) 画像信号の圧縮方法及び装置並びに伸長方法及び装置

Legal Events

Date Code Title Description
FA92 Acknowledgement of application withdrawn (lack of supplementary materials submitted)

Effective date: 20110304