Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

(по цифровому вещанию) Dvorkovich_V_Cifrovye_videoinformacionnye_sistemy

.pdf
Скачиваний:
258
Добавлен:
15.03.2016
Размер:
23.26 Mб
Скачать

Глава 10. Внутрикадровое кодирование изображений

 

 

 

Y (i−[j/2]−1,−1)+Y (i−[j/2],−1)+1

,

 

 

 

n = 0, 2, 4, 6;

ˆ

 

 

− − −

 

 

 

 

4

 

 

− −

 

 

 

, n = 1, 3, 5;

Y (i, j) =

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

,

 

 

 

n =

 

1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(i

[j/2],

1)+2

 

 

 

Y (i

[j/2] 2, 1)+2 Y (i [j/2]

1,

 

1)+Y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

− −

 

4

 

 

− −

,

 

 

n = 2, 3.

 

 

Y (

1,0)+2 Y (

1,

1)+Y (0,

1)+2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,j 3)+2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,j 1)+2 Y

(

 

1,j 2)+Y (

 

 

 

 

 

 

 

 

Y (

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(10.16)

Режим предсказания горизонтально-вниз отсчетов сигнала яркости — направление обозначено цифрой 6 (Intra_4 × 4_Horizontal_Down). Этот режим может использоваться, если доступны значения пикселов Y (i, −1) при i = 0, . . . , 3

и Y (−1, j) при j = −1, . . . , 3. Если обозначить n

= 2 j − i(i, j = 0, . . . , 3), то

предсказанные значения пикселов определяются следующим образом:

 

 

 

 

Y (−1,j−[i/2]−1)+Y (−1,j−[i/2])+1

,

 

 

 

 

 

n = 0, 2, 4, 6;

ˆ

 

 

− − −

 

 

 

 

 

4

 

 

 

 

 

 

 

 

, n = 1, 3, 5;

Y (i, j) =

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

,

 

 

 

 

 

n =

 

1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,j

 

[i/2])+2

 

 

Y (

 

1,j [i/2]

 

2)+2 Y (

 

 

 

 

1)+Y (

 

 

 

 

 

 

 

1,j−[i/2]−

 

 

 

 

 

 

 

 

 

Y (

− −

4

 

 

− −

 

 

,

 

 

 

n = 2, 3.

 

 

1,0)+2 Y (

1,

1)+Y

(0,

1)+2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1)+2

 

 

 

 

 

 

 

 

 

 

 

 

1, 1)+2 Y (i

 

2, 1)+Y (i 3,

 

 

 

 

 

 

 

 

Y (i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(10.17)

Режим предсказания вертикально-влево отсчетов сигнала яркости — направление обозначено цифрой 7 (Intra_4 × 4_Vertical_Left). Этот режим может использоваться, если имеются значения пикселов Y (i, −1) при i = 0, . . . , 7.

Предсказанные значения пикселов определяются при i = 0, . . . , 3 следующим образом:

ˆ

Y (i+[j/2],−1)+Y (i+[j/2]+1,−1)+1

,

 

j = 0, 2;

 

 

 

2

 

 

 

 

(10.18)

Y (i, j) =

Y (i+[

 

 

 

(i+[j/2]+1, 1)+Y (i+[j/2]+2, 1)+2

 

j/2],

 

1)+2 Y

 

 

 

 

 

 

 

 

 

 

 

 

4

 

, j = 1, 3.

Режим предсказания горизонтально-вверх отсчетов сигнала яркости — направление обозначено цифрой 8 (Intra_4 ×4_Horizontal_Up). Этот режим может использоваться, если доступны значения пикселов Y (−1, j) при j = −1, . . . , 3.

Если обозначить n = i + 2 j(i, j = 0, . . . , 3), то предсказанные значения пикселов определяются следующим образом:

 

 

 

Y (−1,j+[i/2])+Y (−1,j+[i/2])+1

,

 

 

n = 0, 2, 4;

 

 

 

Y (

 

 

 

2

 

1,j+[i/2]+1)+Y (

 

1,j+[i/2]+2)+2

 

 

 

 

 

1,j+[i/2])+2 Y (

 

 

 

Yˆ (i, j) =

 

 

 

 

 

 

4

 

 

, n = 1, 3;

 

 

 

 

 

 

 

 

 

 

 

 

 

Y (

 

1,2)+3 Y ( 1,3)+2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

,

 

 

 

n = 5;

 

 

 

 

 

 

 

 

 

 

 

 

n > 5.

 

 

[Y (

 

1, 3)] ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(10.19)

10.2. Направленное пространственное внутрикадровое предсказание

10.2.2.Режим предсказания пикселов яркости блоков 8 × 8

Процесс фильтрации опорных пикселов для предсказания блоков 8 × 8

Процесс предсказания пикселов блоков 8 × 8 (Intra_8 × 8) производится после фильтрации значений опорных пикселов Y (−1, j) при j = −1, . . . , 7 и Y (i, −1) при i = 0, . . . , 15, если эти значения возможно использовать для предсказания.

Если все Y (i, −1) при i = 0, . . . , 7 могут быть использованы для предсказания, то применяется нижеследующая фильтрация.

Фильтрованное значение Y (0,

 

 

 

 

1) можно

 

1) определяется так: если Y ( 1,

 

использовать для предсказания, то

 

 

 

 

 

Y (0,

1) + 2 Y (0,

1) + Y (1,

1) + 2) /4] ;

 

(10.20)

 

1) = [(Y ( 1,

 

 

 

 

иначе

 

Y (0, −1) = [(3 Y (0, −1) + Y (1, −1) + 2) /4] .

 

 

 

 

 

(10.21)

Фильтрованное значение Y (i, −1)

при i = 1, . . . , 7 определяется так:

 

 

Y (i, −1) = [(Y (i − 1, −1) + 2 Y (i, −1) + Y (i + 1, −1) + 2) /4] .

 

(10.22)

Если все Y (i, −1) при i = 7, . . . , 15 могут быть использованы для предсказания,

то применяется нижеследующая фильтрация:

 

Y (i, −1) =

[(Y (14,

 

1) + 3 Y (15, 1) + 2) /4] ,

i = 15.

 

[(Y (i − 1, −1) + 2 Y (i, −1) + Y (i + 1, −1) + 2) /4] ,

i = 8, . . . , 14;

 

 

 

(10.23) Если пикселы Y (−1, −1) могут быть использованы для предсказания блоков 8×8, то фильтрованные значения Y (−1, −1) определяются в зависимости от возможности использования для предсказания пикселов Y (0, −1) и Y (−1, 0): если пиксел Y (0, −1) может быть использован для предсказания, а Y (−1, 0) не может быть использован для предсказания, то

Y (−1, −1) = [(3 Y (−1, −1) + Y (0, −1) + 2) /4] ;

(10.24)

если пиксел Y (0, −1) не может быть использован для предсказания, а Y (−1, 0) может быть использован для предсказания, то

Y (−1, −1) = [(3 Y (−1, −1) + Y (−1, 0) + 2) /4] ;

(10.25)

если пикселы Y (0, −1)и Y (−1, 0) могут быть использованы для предсказания, то

Y (−1, −1) = [(Y (0, −1) + 2 Y (−1, −1) + Y (−1, 0) + 2) /4] .

(10.26)

Если все пикселы Y (−1, j) могут быть использованы для предсказания блоков 8 × 8, то фильтрованные значения Y (−1, 0) определяются в зависимости от возможности использования для предсказания пикселов Y (−1, −1): если Y (−1, −1) может быть использован для предсказания, то

Y (−1, 0) = [(Y (−1, −1) + 2 Y (−1, 0) + Y (−1, 1) + 2) /4] ,

(10.27)

если Y (−1, −1) не может быть использован для предсказания, то

 

Y (−1, 0) = [(3 Y (−1, 0) + Y (−1, 1) + 2) /4] .

(10.28)

Глава 10. Внутрикадровое кодирование изображений

Фильтрованные значения пикселов Y (−1, j) при i = 1, . . . , 7 определяются так:

[(Y (−1, j − 1) + 2 Y (−1, j) + Y (−1, j + 1) + 2) /4] , j = 1, . . . , 6;

Y (−1, j) =

 

[(Y (−1, 6) + 3 Y (−1, 7) + 2) /4] ,

j = 7.

(10.29)

Описание режимов предсказания блоков 8 × 8

Режим предсказания по вертикали отсчетов сигнала яркости — направление обозначается цифрой 0 (Intra_8 × 8_Vertical). Этот режим может использоваться, если значения пикселов Y (i, −1) при i = 0, . . . , 7 доступны (например, они не выходят за границы изображения), и реализуется в соответствии с соотношением:

Yˆ (i, j) = Y (i, −1) при i, j = 0, . . . , 7.

(10.30)

Режим предсказания по горизонтали отсчетов сигнала яркости — направление обозначено цифрой 1 (Intra_8 × 8_Horizontal). Этот режим может использоваться, если доступны значения пикселов Y (−1, j) при j = 0, . . . , 7, и ре-

ализуется в соответствии с соотношением:

 

Yˆ (i, j) = Y (−1, j) при i, j = 0, . . . , 7.

(10.31)

Режим предсказания средней составляющей DC обозначается цифрой 2 (Intra_8 ×8_DC). Используется несколько вариантов вычисления DC: если доступны значения пикселов Y (i, −1) при i = 0, . . . , 7 и Y (−1, j) при j = 0, . . . , 7, то предсказанные значения пикселов блока находят следующим образом:

Yˆ (i, j) = )n=0 Y (n, −1) + n=0 Y (−1, n) + 8 /16*

при i, j = 0, . . . , 7; (10.32)

7

7

 

 

 

 

если не все значения пикселов Y (−1, j) при j = 0, . . . , 7 доступны, а значения пикселов Y (i, −1) при i = 0, . . . , 7 доступны, то предсказанные значения пикселов

блока определяются так:

при i, j = 0, . . . , 7;

(10.33)

Yˆ (i, j) = )n=0 Y (n, −1) + 4 /8*

7

 

 

 

 

 

если не все значения пикселов Y (i, −1) при i = 0, . . . , 7 доступны, а значения пикселов Y (−1, j) при j = 0, . . . , 7 доступны, то предсказанные значения пикселов

блока определяются так:

при i, j = 0, . . . , 7;

(10.34)

Yˆ (i, j) = )n=0 Y (−1, n) + 4 /8*

7

 

 

 

 

 

наконец, если некоторые значения пикселов Y (i, −1) при i = 0, . . . , 7 и некоторые значения пикселов Y (−1, j) при j = 0, . . . , 7 недоступны, то предсказанные значения пикселов блока следует рассчитывать так:

Yˆ (i, j) = 2(BY −1) при i, j = 0, . . . , 7,

(10.35)

где BY — число битов на отсчет сигнала яркости.

Режим предсказания диагонально-вниз-влево отсчетов сигнала яркости — направление обозначено цифрой 3 (Intra_8 × 8_Diagonal_Down_Left).

10.2. Направленное пространственное внутрикадровое предсказание

Этот режим может использоваться, если имеются значения пикселов Y (i, −1) при i = 0, . . . , 15. Предсказанные значения пикселов определяются следующим образом:

 

 

Y

(14,−1)+3 Y (15,−1)+2

 

 

,

 

 

 

 

i = j = 7;

 

 

 

 

 

 

,

 

 

4

4

 

 

 

 

i, j = 0, . . . , 7, i = j = 7.

ˆ

 

 

 

 

 

1)+Y

 

 

 

 

 

Y (i, j) =

 

 

 

(i+j+1,

 

(i+j+2,

 

1)+2

 

 

 

Y

(i+j, 1)+2 Y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(10.36)

Режим предсказания диагонально-вниз-вправо отсчетов сигнала яркости — направление обозначено цифрой 4 (Intra_8 × 8_Diagonal_Down_Right). Этот режим может использоваться, если доступны значения пикселов Y (i, −1) при i = 0, . . . , 7 и Y (−1, j) при j = −1, . . . , 7. Предсказанные значения пикселов при i, j = 0, . . . , 7 определяются следующим образом:

 

 

 

Y (i−j−2,−1)+2 Y (i−j−1,−1)+Y (i−j,−1)+2

,

i > j;

 

 

 

Y

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

ˆ

 

(

 

1,j

i 2)+2 Y

(

 

1,j

 

i 1)+Y (

 

1,j

 

i)+2

 

 

Y (i, j) =

 

 

 

 

 

− −

 

 

 

4

− −

 

 

 

 

,

i < j;

(10.37)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

,

 

 

 

i = j.

 

 

 

 

 

(0,

1)+2 Y (

1)+Y (

1,0)+2

 

 

 

 

 

 

Y

 

 

1,

 

 

 

 

 

 

 

 

 

Режим

предсказания вертикально-вправо отсчетов сигнала яркости —

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

направление обозначено цифрой 5 (Intra_8 ×8_Vertical_Right). Этот режим может использоваться, если доступны значения пикселов Y (i, −1) при i = 0, . . . , 7 и Y (−1, j) при j = −1, . . . , 7. Если обозначить n = 2 i − j, m = i − [j/2], l =

j − 2i − 1

 

(i, j

= 0, . . . , 7), то предсказанные значения пикселов определяются

следующим образом:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y (m−1,−1)+Y (m,−1)+1

,

 

 

 

 

 

 

 

n = 0, 2, 4, 6, 8, 10, 12, 14;

 

 

 

 

Y

 

 

 

2

 

 

 

(m 1,

 

1)+Y (m,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(m 2, 1)+2

 

 

 

 

1)+2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ˆ

 

 

 

 

− −

 

 

 

 

 

 

4− −

 

 

 

 

 

 

 

 

 

 

, n = 1, 3, 5, 7, 9, 11, 13;

 

 

 

Y (i, j) =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(

1,0)+2 Y (

1,

1)+Y

 

(0,

1)+2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

n =

 

1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y

(

 

1,l)+2 Y (

 

 

1,l

 

1)+Y

(

 

 

1,l

 

2)+2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

,

n =

2,

3,

4,

5,

6,

7.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(10.38)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Режим предсказания горизонтально-вниз отсчетов сигнала яркости — направление обозначено цифрой 6 (Intra_8 × 8_Horizontal_Down). Этот режим может использоваться, если доступны значения пикселов Y (i, −1) при i = 0, . . . , 7 и Y (−1, j) при j = −1, . . . , 7. Если обозначить n = 2 j − i, m = j − [i/2], l = i − 2j − 1 (i, j = 0, . . . , 7), то предсказанные значения пикселов определяются следующим образом:

 

 

 

Y (−1,m−1)+Y (−1,m)+1

,

 

 

 

 

 

 

 

n = 0, 2, 4, 6, 8, 10, 12, 14;

 

 

 

 

Y

(

 

 

 

 

2

 

 

 

 

 

1,m

 

1)+Y (

 

1,m)+2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,m 2)+2 Y (

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ˆ

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

, n = 1, 3, 5, 7, 9, 11, 13;

 

 

 

Y (i, j) =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(

1,0)+2 Y (

1,

1)+Y

 

(0,

1)+2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

n =

 

1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y

(l,

 

 

1)+2 Y (l

 

 

1,

 

1)+Y

(l

 

 

2,

 

1)+2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

,

n =

2,

3,

4,

5,

6,

7.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(10.39)

Режим предсказания вертикально-влево отсчетов сигнала яркости — направление обозначено цифрой 7 (Intra_8 × 8_Vertical_Left). Этот режим может

Глава 10. Внутрикадровое кодирование изображений

использоваться, если доступны значения пикселов Y (i, −1) при i = 0, . . . , 15. Если обозначить m = i + [j/2], то предсказанные значения пикселов определяются при i = 0, . . . , 7 следующим образом:

 

 

Y (m,−1)+Y (m+1,−1)+1

,

 

 

 

j = 0, 2, 4, 6;

Yˆ (i, j) =

Y (m,

 

2

1)+Y (m+2,

 

 

 

(10.40)

 

1)+2Y (m+1,

 

1)+2

 

 

 

 

4

 

 

 

 

, j = 1, 3, 5, 7.

Режим предсказания горизонтально-вверх отсчетов сигнала яркости — направление обозначено цифрой 8 (Intra_8 ×8_Horizontal_Up). Этот режим может использоваться, если доступны значения пикселов Y (−1, j) при j = −1, . . . , 7.

Если обозначить n = i + 2 j, m = j + [i/2]

(i, j = 0, . . . , 7), то предсказанные

значения пикселов определяются следующим образом:

 

 

 

Y

(−1,m)+Y (−1,m+1)+1

 

,

 

 

n = 0, 2, 4, 6, 8, 10, 12;

 

 

 

 

 

Yˆ (i, j) =

 

 

 

 

4

 

 

 

 

, n = 1, 3, 5, 7, 9, 11;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y

 

 

 

 

 

Y

(

 

1,m)+2 Y

 

(

 

1,m+1)+

 

( 1,m+2)+2

 

 

 

 

 

 

 

1, 7)] ,

 

 

 

 

 

 

 

 

 

n > 13.

 

[Y (

 

 

 

 

 

 

 

 

 

 

 

 

Y

 

(

 

1,7)+2

 

 

 

 

 

 

 

 

(

 

1,6)+3 Y

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

,

 

 

 

 

n = 13;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(10.41)

10.2.3.Режим предсказания пикселов яркости блоков 16 × 16

При использовании режима Intra_16 × 16 предсказывается целиком яркостная компонента макроблока. Поддерживаются 4 режима предсказания. Режим 0 (вертикальное предсказание), режим 1 (горизонтальное предсказание) и режим 2 (DC-предсказание) определены аналогично соответствующим режимам предсказания Intra_4 × 4 за исключением того, что вместо 4 соседей на каждой стороне для предсказания блока 4 × 4 используются 16 соседних отсчетов на каждой стороне для предсказания блока 16 × 16. Четвертый режим предсказания — так называемое плоскостное (plane) предсказание.

Режим предсказания по вертикали отсчетов сигнала яркости — направление обозначено цифрой 0 (Intra_16 × 16_Vertical). Этот режим может использоваться, если доступны значения пикселов Y (i, −1) при j = 0, . . . , 15 (например, они не выходят за границы изображения), и реализуется в соответствии с соотношением:

ˆ

(10.42)

Y (i, j) = Y (i, −1) при i, j = 0, . . . , 15.

Режим предсказания по горизонтали отсчетов сигнала яркости — направление обозначено цифрой 1 (Intra_16 × 16_Horizontal). Этот режим может использоваться, если доступны значения пикселов Y (−1, j) при i = 0, . . . , 15, и ре-

ализуется в соответствии с соотношением:

 

ˆ

(10.43)

Y (i, j) = Y (−1, j) при i, j = 0, . . . , 15.

Режим предсказания средней составляющей DC обозначается цифрой 2 (Intra_16×16_DC). Используется несколько вариантов вычисления DC: если доступны значения пикселов Y (i, −1) при i = 0, . . . , 15 и Y (−1, j) при j = 0, . . . , 15, то предсказанные значения пикселов блока находят следующим

10.2. Направленное пространственное внутрикадровое предсказание

образом:

 

при i, j = 0, . . . , 15;

Yˆ (i, j) = )n=0 Y (n, −1) + n=0 Y (−1, n) + 16 /32*

15

15

 

 

 

 

(10.44) если недоступны значения пикселов Y (−1, j) при j = 0, . . . , 15, а значения пикселов Y (i, −1) при i = 0, . . . , 15 доступны, то предсказанные значения пикселов

блока определяются так:

при i, j = 0, . . . , 15;

(10.45)

Yˆ (i, j) = )n=0 Y (n, −1) + 8 /16*

15

 

 

 

 

 

если недоступны значения пикселов Y (i, −1) при i = 0, . . . , 15, а значения пикселов Y (−1, j) при j = 0, . . . , 15 доступны, то предсказанные значения пикселов

блока определяются так:

при i, j = 0, . . . , 15;

(10.46)

Yˆ (i, j) = )n=0 Y (−1, n) + 8 /16*

15

 

 

 

 

 

наконец, если недоступны некоторые значения пикселов Y (i, −1) при i = 0, . . . , 15 и некоторые значения пикселов Y (−1, j) при j = 0, . . . , 15, то предсказанные значения пикселов блока следует рассчитывать так:

Yˆ (i, j) = 2(BY −1) при i, j = 0, . . . , 15,

(10.47)

где BY — число битов на отсчет сигнала яркости.

Режим плоскостного предсказания обозначается цифрой 3 (Intra_16 ×

× 16_Plane). Этот режим может использоваться, если доступны значения пикселов Y (i, −1) при i = 0, . . . , 15 и Y (−1, j) при j = 0, . . . , 15. Предсказанные значения пикселов определяются следующим образом:

ˆ { · − · − }

Y (i, j) = ClipY Z(i, j) = [(a + b (i 7) + c (j 7) + 16) /32] , i, j = 0, . . . , 15,

(10.48) где a = 16 (Y (−1, 15) + Y (15, −1)), b = [(5 H + 32) /64], c = [(5 V + 32) /64],

7

H = (n + 1) · (Y (8 + n, −1) − Y (6 − n, −1)),

n=0

7

V = (n + 1) · (Y (−1, 4 + n) − Y (−1, 2 − n)),

n=0

=

0,

 

X < 0,

 

 

 

ClipY X

 

 

Y

1,

{ }

 

X,

 

0 X 2 B

 

 

2 BY

1, X > 2 BY

1.

 

 

 

 

 

 

 

 

 

10.2.4. Режим предсказания пикселов блоков цветности

Пикселы блоков цветности предсказываются с помощью методики, аналогичной предсказанию яркости в режиме Intra_16×16, так как цветность обычно является гладкой функцией на достаточно больших областях.

Число пикселов цветности вдоль и поперек растра в каждом блоке изображения (4 × 4, 8 × 8 или 16 × 16) зависит от используемого формата цветности, варианты которого приведены в табл. 10.1.

Глава 10. Внутрикадровое кодирование изображений

Рис. 10.8. Форматы блоков цветности 4 × 4 при различных индексах: а — IC = 1; б —

IC = 2; с — IC = 3

Таблица 10.1. Изменение количества пикселов цветности в блоках изображения

 

 

Коэффициент

Коэффициент

Индекс

 

уменьшения

 

уменьшения количества

формата

Формат изображения

количества пикселов

пикселов цветности

цветности IC

 

цветности поперек

 

вдоль растра CH

 

 

растра CV

 

 

 

0

Монохромное

1

4 : 2 : 0

2

2

 

 

 

 

2

4 : 2 : 2

2

1

 

 

 

 

3

4 : 4 : 4

1

1

 

 

 

 

При этом в каждом блоке изображения (блоке сигнала яркости) размером N × N размещается вдоль и поперек растра соответственно NCH = N/CH и NCV = = N/CV пикселов цветности Cr и Cb.

На рис. 10.8 приведены форматы блоков цветности 4 × 4 для различных форматов изображения. Формат блока цветности при IC = 3 совпадает с форматом блока яркости 4 × 4.

Режим предсказания средней составляющей DC блока цветности

обозначается цифрой 0 (Intra_Chroma_DC). Используется несколько вариантов

вычисления DC блока цветности. Для всех блоков цветности

размером 4

×

4 ин-

 

 

 

IC +1

 

 

декс каждого блока цветности определяется как BlC = 0, . . . ,

 

2

 

− 1 .

 

В зависимости от индекса формата цветности IC

местоположение верхнего

 

 

 

 

 

 

 

 

левого пиксела блока цветности 4 × 4 с индексом BlC определяется следующим образом: если IC = 1 или 2, то

i0 = 4 (BlC − 2 [BlC /2]) ; j0 = 4 [BlC /2] ;

если IC = 3, то

i0 = 8 [BlC /4 − 2 [BlC /8]] + 4 [BlC /4 − 2 [BlC /8] − 2 [(BlC /4 − 2 [BlC /8]) /2]] ; j0 = 8 [BlC /8] + 4 [(BlC /4 − 2 [BlC /8]) /2] .

При (i0, j0) = (0, 0) или i0, j0 > 0, значения предсказанияпикселов при (i0 + i, j0 + j), i, j = 0, . . . , 3 определяются следующим образом: если все пикселы C(i0 + i, −1) при i = 0, . . . , 3 и C(−1, j0 + j) при j = 0, . . . , 3 могут быть использованы для

10.2. Направленное пространственное внутрикадровое предсказание

предсказания цветности, то

 

 

 

 

 

 

Cˆ(i0 + i, j0 + j) =

3

C(i0

+ i , −1) + 3

C(−1, j0

+ j ) + 4 %

8

,

 

i

 

 

 

 

 

 

 

=0

 

j =0

 

 

 

 

 

 

 

 

 

i, j = 0, . . . , 3;

(10.49)

если какие-либо пикселы C(i0 + i, −1) при i = 0, . . . , 3 не могут быть использованы для предсказания, а пикселы C(−1, j0 + j) при j = 0, . . . , 3 могут быть использованы для предсказания, то

Cˆ(i0 + i, j0 + j) =

 

 

3

C(−1, j0

+ j ) + 2 %

4

, i, j = 0, . . . , 3; (10.50)

 

j

 

 

 

 

 

 

 

=0

 

 

 

 

если пикселы C(i0 + i, −1) при i = 0, . . . , 3 могут быть использованы для пред-

сказания, а какие-либо пикселы C(−1, j0 + j) при j

= 0, . . . , 3 не могут быть

использованы для предсказания, то

 

 

 

Cˆ(i0 + i, j0 + j) = ) 3 C(i0 + i , −1) + 2

%

4*,

i, j = 0, . . . , 3; (10.51)

i

 

 

 

=0

 

 

 

если некоторые пикселы C(i0 + i, −1) при i

= 0, . . . , 3 и некоторые пикселы

C(−1, j0 + j) при j = 0, . . . , 3 не могут быть использованы для предсказания цветности, то

Cˆ(i0 + i, j0 + j) = 2(BC −1), i, j = 0, . . . , 3,

(10.52)

где BC — количество битов на отсчет сигнала цветности.

Режим предсказания по горизонтали отсчетов сигнала цветности — направление обозначено цифрой 1 (Intra_Chroma_Horizontal). Этот режим может использоваться, если пикселы C(−1, j) при j = 0, . . . , MV C − 1 доступны для предсказания. Значения предсказанных пикселов находятся следующим образом:

ˆ

(10.53)

C(i, j) = C(−1, j), i = 0, . . . , MHC − 1, j = 0, . . . , MV C − 1,

где MHC и MV C — максимальное количество пикселов блока цветности вдоль и поперек растра.

Режим предсказания по вертикали отсчетов сигнала цветности — направление обозначено цифрой 2 (Intra_Chroma_Vertical). Этот режим может использоваться, если пикселы C(i, −1) при i = 0, . . . , MHC − 1 доступны для предсказания. Значения предсказанных пикселов находятся следующим образом:

ˆ

(10.54)

C(i, j) = C(i, −1), i = 0, . . . , MHC − 1, j = 0, . . . , MV C − 1.

Режим плоскостного предсказания отсчетов сигнала цветности обозначается цифрой 3 (Intra_Chroma_Plane). Этот режим может использоваться, если пикселы C(i, −1) при i = 0, . . . , MHC −1 и пикселы C(−1, j) при j = 0, . . . , MV C −1

доступны для предсказания.

jC =

4, IC = 1,

тогда

 

Пусть iC = 0, IC = 3,

 

4, IC = 3,

 

0, IC = 1,

 

 

ˆ

 

 

− jC ) + 16) /32] ,

(10.55)

C(i, j) = ClipC [(a + b · (i − 3 − iC ) + c · (j − 3

Глава 10. Внутрикадровое кодирование изображений

i = 0, . . . , MHC − 1, j = 0, . . . , MV C − 1,

a= 16 (C(−1, MV C − 1) + C(MHC − 1, −1)) ; b = [(34 − 29 · (IC = 3) · H + 32) /64] ;

c = [(34 − 29 · (IC = 1) · V + 32) /64] ;

3+iC

H = (i + 1) · (C(4 + iC + i , −1) − C(2 + iC − i , −1));

i =0

3+j

C

V = (j + 1) · (C(−1, 4 + jC + j ) − C(−1, 2 + jC − j ));

j =0

=

0,

 

X < 0,

 

 

 

ClipC X

 

 

C

1,

{ }

 

X,

 

0 X 2 B

 

 

2 BC

1, X > 2 BC

1.

 

 

 

 

 

 

 

 

 

-

При кодировании изображений с помощью JPEG-подобных алгоритмов обычно появляются искажения в виде характерного разбиения всего изображения на квадратные блоки пикселов с заметными границами. Эти искажения, называемые блокинг-эффектом, возникают вследствие деления изображения на блоки с последующим их независимым кодированием, в котором используется ДКП и квантование коэффициентов. Характерной особенностью ДКП с учетом квантования коэффициентов является возникновение ненулевых ошибок на границах блоков, которые идентифицируются глазом как скачки яркости от одного блока к другому. Подобно формированию блокинг-эффекта возникает так называемый мозаичный эффект, который обусловливается не резкими переходами между различными блоками, а заметным глазу различием яркости в соседних блоках. Можно также определить мозаичный эффект как остаточный блокинг-эффект после низкочастотной фильтрации изображения. Несмотря на то, что переходы между блоками становятся плавными, глаз воспринимает изображение как разбитое на блоки. Мозаичный эффект также возникает при слишком грубом квантовании коэффициентов ДКП, при котором изображения внутри соседних блоков сильно отличаются друг от друга.

Специально разработанные алгоритмы обработки изображений используются для сглаживания блочных артефактов. Фильтры, реализующие такие алгоритмы, сглаживая края блоков, улучшают визуальное восприятие изображения.

В зависимости от структуры блокинг-эффекта и его интенсивности алгоритм обработки блоков изображения может включать ряд операций. Возможно, например, выполнение следующих операций:

фильтрация четырех вертикальных границ блока 16 × 16 сигнала яркости, состоящего из 16 блоков 4 × 4 пиксела яркости (a, b, c, d — рис. 10.9а);

фильтрация четырех горизонтальных границ блока 16 ×16 сигнала яркости (e, f, g, h — рис. 10.9а);

10.3. Уменьшение влияния блокинг-эффекта

фильтрация двух вертикальных границ блока 8 × 8 сигнала цветности, состоящего из четырех блоков 4 × 4 пиксела цветности (i, j — рис. 10.9б);

– фильтрация двух горизонтальных границ блока 8 ×8 сигнала цветности (k, l — рис. 10.9б).

Каждая фильтрующая операция затрагивает до трех пикселов с обеих сторон границы. На рис. 10.9в, г приведено по четыре пиксела с каждой стороны от вертикальной и горизонтальной границы примыкающих друг к другу блоков P и Q (p3, p2, p1, p0 и q0, q1, q2, q3).

Выбор параметров используемого фильтра зависит от параметров границ блоков и градиентов значений пикселов вдоль границ. Параметры границ блоков bS выбираются по правилам [4.16, 4.18], приведенным в табл. 10.2. Чем больше величина bS, тем интенсивней должна быть фильтрация возникающего блокингэффекта. Значение bS = 0 означает отсутствие фильтрации.

Группа пикселов из множества (p2, p1, p0 и q0, q1, q2) подвергается фильтрации, если bS > 0 и |p0 − q0| < α, |p1 − p0| < β, |q1 − q0| < β, где α и β — пороги, задаваемые стандартом [4.16–4.19].

Невыполнение условий фильтрации приводит к отключению фильтра, например когда изменение уровней пикселов вдоль границы блока имеет значительный градиент. Эти пороги зависят от усредненного коэффициента квантования блоков P и Q:

Qср = (QP + QQ + 1)/2 ,

(10.56)

и от некоторых смещений этого коэффициента QA и QB для α и β соответственно. Когда параметр Qср мал, то малый градиент изменений уровней приграничных пикселов, скорее всего, вызван особенностями изображения, а не эффектом блочности. Следовательно, нет необходимости реализовать фильтрацию перехода, т. е. пороги α и β должны быть малыми. Если же параметр Qср велик, эффект блочного искажения оказывается более вероятным, что отражается в увеличении значений порогов α и β, и большее число граничных пикселов подвергается филь-

трации.

Величины α и β возрастают с ростом усредненного коэффициента квантования и зависят от числа битов на отсчет сигнала яркости BY и сигнала цветности

BC : при обработке сигнала яркости αα · 2(BY −8), ββ · 2(BY −8); при обработке сигнала цветности αα · 2(BC−8), ββ · 2(BC−8).

В стандарте [4.17] задано изменение смещений −6 QA, QB 6, реализующих уменьшение или увеличение эффективности фильтрации, а значения величин α , β сведены в табл. 10.3 в зависимости от некоторых аргументов DA

иDB , вычисляемых по формулам:

DA = min { max(0, Qср + QA), 51}; DB = min { max(0, Qср + QB ), 51}. (10.57)

Процесс фильтрации краев при bS < 4

При этом производится фильтрации значений примыкающих друг к другу пикселов pi и qi (i = 0 . . . 2). Результирующие значения пикселов p 0 и q 0 определяются следующим образом: