【帧内预测】8.4.4.2.3 Filtering process of neighbouring samples (参考样点的滤波过程)
来源:互联网 发布:杭州淘宝模特 编辑:程序博客网 时间:2024/06/10 09:26
8.4.4.2.3 Filtering process of neighbouring samples
Inputs to this process are: (输入参数,当然就是参考样点及变换块大小)
– the neighbouring samples p[ x ][ y ], with x = −1, y = −1..nTbS * 2 − 1 and x = 0..nTbS * 2 − 1, y = −1,
– a variable nTbS specifying the transform block size.
Outputs of this process are the filte red samples pF[ x ][ y ], with x = −1, y = −1..nTbS * 2 − 1 and x = 0..nTbS * 2 − 1, y = −1.(输出参数当然就是滤波过后的样点值)
– predModeIntra is equal to INTRA_DC.
– The variable minDistVerHor is set equal to Min( Abs( predModeIntra − 26 ), Abs( predModeIntra − 10 ) ).
– The variable intraHorVerDistThres[ nTbS ] is specified in Table 8-3.
– Otherwise, filterFlag is set equal to 0.
Table 8-3 – Specification of intraHorVerDistThres[ nTbS ] for various transform block sizes
– The variable biIntFlag is derived as follows:
– If all of the following conditions are true, biIntFlag is set equal to 1:
– strong_intra_smoothing_enabled_flag is equal to 1
– nTbS is equal to 32
– Abs( p[ −1 ][ −1 ] + p[ nTbS * 2 − 1 ][ −1 ] – 2 * p[ nTbS − 1 ][ −1 ] ) < ( 1 << ( BitDepthY − 5 ) )
– Abs( p[ −1 ][ −1 ] + p[ −1 ][ nTbS * 2 − 1 ] – 2 * p[ −1 ][ nTbS − 1 ] ) < ( 1 << ( BitDepthY − 5 ) )
– If biIntFlag is equal to 1, the filtered sample values pF[ x ][ y ] with x = −1, y = −1..63 and x = 0..63, y = −1 are derived as follows:
pF[ −1 ][ −1 ] = p[ −1 ][ −1 ] (8-30)
pF[ −1 ][ y ] = ( ( 63 − y ) * p[ −1 ][ −1 ] + ( y + 1 ) * p[ −1 ][ 63 ] + 32 ) >> 6 for y = 0..62 (8-31)
pF[ −1 ][ 63 ] = p[ −1 ][ 63 ] (8-32)
pF[ x ][ −1 ] = ( ( 63 − x ) * p[ −1 ][ −1 ] + ( x + 1 ) * p[ 63 ][ −1 ] + 32 ) >> 6 for x = 0..62 (8-33)
pF[ 63 ][ −1 ] = p[ 63 ][ −1 ] (8-34)
– Otherwise (biIntFlag is equal to 0), the f iltered sample values pF[ x ][ y ] with x = −1, y = −1..nTbS * 2 − 1 and x = 0..nTbS * 2 − 1, y = −1 are derived as follows:
pF[ −1 ][ −1 ] = ( p[ −1 ][ 0 ] + 2 * p[ −1 ][ −1 ] + p[ 0 ][ −1 ] + 2 ) >> 2 (8-35)
pF[ −1 ][ y ] = ( p[ −1 ][ y + 1 ] + 2 * p[ −1 ][ y ] + p[ −1 ][ y − 1 ] + 2 ) >> 2 for y = 0..nTbS * 2 − 2 (8-36)
pF[ −1 ][ nTbS * 2 − 1 ] = p[ −1 ][ nTbS * 2 − 1 ] (8-37)
pF[ x ][ −1 ] = ( p[ x − 1 ][ −1 ] + 2 * p[ x ][ −1 ] + p[ x + 1 ][ −1 ] + 2 ) >> 2 for x = 0..nTbS * 2 − 2 (8-38)
Inputs to this process are: (输入参数,当然就是参考样点及变换块大小)
– the neighbouring samples p[ x ][ y ], with x = −1, y = −1..nTbS * 2 − 1 and x = 0..nTbS * 2 − 1, y = −1,
– a variable nTbS specifying the transform block size.
Outputs of this process are the filte red samples pF[ x ][ y ], with x = −1, y = −1..nTbS * 2 − 1 and x = 0..nTbS * 2 − 1, y = −1.(输出参数当然就是滤波过后的样点值)
The variable filterFlag is derived as follows: (滤波标志filterFlag值的确定过程)
– If one or more of the following conditions are true, filterFlag is set equal to 0:– predModeIntra is equal to INTRA_DC.
– nTbS is equal 4.
– The variable minDistVerHor is set equal to Min( Abs( predModeIntra − 26 ), Abs( predModeIntra − 10 ) ).
– The variable intraHorVerDistThres[ nTbS ] is specified in Table 8-3.
– The variable filterFlag is derived as follows:
– If minDistVerHor is greater than intraHorVerDistT hres[ nTbS ], filterFlag is set equal to 1.– Otherwise, filterFlag is set equal to 0.
Table 8-3 – Specification of intraHorVerDistThres[ nTbS ] for various transform block sizes
– The variable biIntFlag is derived as follows:
– If all of the following conditions are true, biIntFlag is set equal to 1:
– strong_intra_smoothing_enabled_flag is equal to 1
– nTbS is equal to 32
– Abs( p[ −1 ][ −1 ] + p[ nTbS * 2 − 1 ][ −1 ] – 2 * p[ nTbS − 1 ][ −1 ] ) < ( 1 << ( BitDepthY − 5 ) )
– Abs( p[ −1 ][ −1 ] + p[ −1 ][ nTbS * 2 − 1 ] – 2 * p[ −1 ][ nTbS − 1 ] ) < ( 1 << ( BitDepthY − 5 ) )
– Otherwise, biIntFlag is set equal to 0.
– The filtering is performed as follows:– If biIntFlag is equal to 1, the filtered sample values pF[ x ][ y ] with x = −1, y = −1..63 and x = 0..63, y = −1 are derived as follows:
pF[ −1 ][ −1 ] = p[ −1 ][ −1 ] (8-30)
pF[ −1 ][ y ] = ( ( 63 − y ) * p[ −1 ][ −1 ] + ( y + 1 ) * p[ −1 ][ 63 ] + 32 ) >> 6 for y = 0..62 (8-31)
pF[ −1 ][ 63 ] = p[ −1 ][ 63 ] (8-32)
pF[ x ][ −1 ] = ( ( 63 − x ) * p[ −1 ][ −1 ] + ( x + 1 ) * p[ 63 ][ −1 ] + 32 ) >> 6 for x = 0..62 (8-33)
pF[ 63 ][ −1 ] = p[ 63 ][ −1 ] (8-34)
– Otherwise (biIntFlag is equal to 0), the f iltered sample values pF[ x ][ y ] with x = −1, y = −1..nTbS * 2 − 1 and x = 0..nTbS * 2 − 1, y = −1 are derived as follows:
pF[ −1 ][ −1 ] = ( p[ −1 ][ 0 ] + 2 * p[ −1 ][ −1 ] + p[ 0 ][ −1 ] + 2 ) >> 2 (8-35)
pF[ −1 ][ y ] = ( p[ −1 ][ y + 1 ] + 2 * p[ −1 ][ y ] + p[ −1 ][ y − 1 ] + 2 ) >> 2 for y = 0..nTbS * 2 − 2 (8-36)
pF[ −1 ][ nTbS * 2 − 1 ] = p[ −1 ][ nTbS * 2 − 1 ] (8-37)
pF[ x ][ −1 ] = ( p[ x − 1 ][ −1 ] + 2 * p[ x ][ −1 ] + p[ x + 1 ][ −1 ] + 2 ) >> 2 for x = 0..nTbS * 2 − 2 (8-38)
pF[ nTbS * 2 − 1 ][ −1 ] = p[ nTbS * 2 − 1 ][ −1 ] (8-39)
- 【帧内预测】8.4.4.2.3 Filtering process of neighbouring samples (参考样点的滤波过程)
- HM编码器代码阅读(36)——帧内预测(三)帧内预测之参考像素块的预处理和滤波
- 【HEVC学习与研究】35、帧内预测参考数据的获取和滤波处理
- 35、帧内预测参考数据的获取和滤波处理
- HEVC函数入门(5)——帧内预测参考数据滤波及总结
- 【HEVC学习与研究】36、对帧内预测参考数据进行滤波处理
- 【帧内预测】8.4.4.2.2 Reference sample substitution process for intra sample prediction
- 惯性测量模块数据的卡曼滤波(Kalman filtering of IMU data)
- Bilateral Filtering(双边滤波)--顾及邻域内灰度差异的改进的高斯滤波方法
- 双边滤波(bilateral filtering)
- 同态滤波(Homomorphic filtering)
- HEVC函数入门(4)——指针,帧内预测,滤波
- particle filtering---粒子滤波(讲的很通俗易懂)
- Overview of HEVC帧内预测
- HEVC的帧内预测(1)
- HEVC的帧内预测(2)
- 图像的均值滤波(mean filtering)
- HM编码器代码阅读(38)——帧内预测(五)帧内预测之正式的预测操作
- 数据库基本操作SQL(创建表 添加主键 添加列的常用语句)
- UEFI PCI Bus Driver分析
- ROS的学习(三)创建一个工作空间
- 如何远离“香港脚”
- 触发ASSERT(afxCurrentResourceHandle != NULL)错误的原因
- 【帧内预测】8.4.4.2.3 Filtering process of neighbouring samples (参考样点的滤波过程)
- Android中通过annotation实现java对象和json的转换
- The graphics pipeline
- 网页加载顺序
- 微软新一代输入法框架 TSF - Text Service Framework 小小的研究
- asp+Access手工注入案例
- 查看不同地方的Oracle字符集信息
- js 操作 cookie
- asynctask与handler的比较