当前位置: 首页 > news >正文

现在建设网站落后了dw软件免费下载

现在建设网站落后了,dw软件免费下载,导购类网站模板,一个空间做两个网站的视频教程AV1 帧间运动矢量预测原理 运动矢量可以被相邻块预测,这些相邻块可以是空域相邻块,或位于参考帧中的时域相邻块;通过检查所有这些块,将确定一组运动矢量预测器,并用于编码运动矢量信息。空域运动矢量预测 两组空域相邻块可以被利用寻找空域 MV 预测器,第一组包括当前块的…AV1 帧间运动矢量预测原理 运动矢量可以被相邻块预测,这些相邻块可以是空域相邻块,或位于参考帧中的时域相邻块;通过检查所有这些块,将确定一组运动矢量预测器,并用于编码运动矢量信息。空域运动矢量预测 两组空域相邻块可以被利用寻找空域 MV 预测器,第一组包括当前块的直接上方和左侧的邻近空间邻居,第二组包括靠近但不是直接相邻于当前块的外部空间邻居。对于每组空间邻近块,首先从左到右检查顶行,然后从上到下检查左列。对于相邻空间邻近块,在检查完左列邻近块之后,还会额外检查右上角的块。对于非相邻空间邻近块,首先检查位于(-1,-1)位置的左上角块,然后以与相邻邻近块相似的方式检查顶行和左列。首先检查相邻邻近块,其次检查下一子节将描述的时间运动矢量预测器,之后检查非相邻空间邻近块。对于使用一对参考帧的复合预测,不使用非相邻空间邻近块来推导运动矢量预测器。 时域运动矢量预测 除了空域相邻块,MV 预测器还可以使用参考图像的同位块来推导出运动矢量(MV)预测器,即所谓的时间MV预测器。 过程: 存储参考帧的MV:首先,将参考帧的MV与各自的参考帧索引一起存储。 为当前帧的每个8×8块生成时间MV预测器:对于当前帧的每个8×8块,识别并存储穿过该块的参考帧的MV,并与参考帧索引一起存放在时间MV缓冲区中。 示例:如下图所示的例子中,参考帧1(R1;图右侧)的MV,即MVref,从R1指向R1的参考帧(图左侧)。在此过程中,它穿过了当前帧的8×8块。MVref被存储在与这个8×8块相关联的时间MV缓冲区中。 运动投影过程:在推导时间MV预测器的过程中,参考帧按预定义的顺序进行扫描:LAST_FRAME、BWDREF_FRAME、ALTREF2_FRAME、ALTREF_FRAME和LAST2_FRAME。按扫描顺序,较晚的参考帧的MV会替换之前识别的MV。 最终时间MV预测器的确定:给定预定义的块坐标,识别并投影存储在时间MV缓冲区中的相关MV,以派生出指向当前块到其参考帧的时间MV预测器,例如上图中的MV0。 时间MV预测器的预定义块位置:如下图所示,展示了派生16×16块时间MV预测器的预定义块位置。最多检查七个块以找到有效的时间MV预测器。在检查最近的空间MV预测器之后,但在检查非相邻空间MV预测器之前,会检查时间MV预测器。 MV预测器的派生:在派生MV预测器时,将所有空间和时间MV候选项汇集在一起,每个预测器被分配一个在扫描空间和时间邻近块期间确定的权重。基于相关权重,对候选项进行排序和排名,并识别出多达四个候选项,将它们添加到MV预测器列表中。这个MV预测器列表也被称为动态参考列表(DRL),如下一子节所述,它在动态MV预测模式中进一步使用。 动态运动矢量预测 运动向量(MVs)的预测可以通过以下方式完成: 空间邻近块:在当前帧内,利用空间上邻近的编码块来预测MV。时间邻近块:在参考帧内,利用时间上邻近的块来预测MV。MV预测器集合:通过检查所有这些块,最多可以确定四个MV预测器。 单参考帧间预测的MV预测模式: NEARESTMV:始终使用MV预测器列表中索引为0的条目。它适用于那些运动变化不大的场景,选择最接近当前编码块的运动向量作为预测。NEARMV:使用索引为1、2或3的条目之一,信号化一个三元DRL(直接参考列表)索引来指示使用哪个条目作为MV预测器。NEWMV:使用索引为0、1或2的条目之一,信号化一个三元DRL索引来指示使用哪个条目作为MV预测器,并信号化相对于MV预测器的MV差分(MVD)。GLOBALMV:使用基于帧级全局运动参数的MV作为MV预测器。它适用于全局运动补偿的场景,其中整个帧或大部分区域都遵循相同的运动。 复合帧间预测的MV预测模式: NEAREST_NEARESTMV:始终使用列表中索引为0的MV对。 NEAR_NEARMV:使用由三元DRL索引信号化的索引为1、2或3的MV对。 NEAREST_NEWMV:始终使用列表中索引为0的MV对作为MV预测器,并为第二个MV信号化一个MVD。 NEW_NEARESTMV:始终使用列表中索引为0的MV对作为MV预测器,并为第一个MV信号化一个MVD。 NEAR_NEWMV:使用由三元DRL索引信号化的索引为1、2或3的MV对作为MV预测器,并为第二个MV信号化一个MVD。 NEW_NEARMV:使用由三元DRL索引信号化的索引为1、2或3的MV对作为MV预测器,并为第一个MV信号化一个MVD。 NEW_NEWMV:使用由三元DRL索引信号化的索引为0、1或2的MV对作为MV预测器,并为两个MV都信号化MVD。 GLOBAL_GLOBALMV:基于每个参考帧的帧级全局运动参数使用MV。 除了NEARESTMV和NEAREST_NEARESTMV模式外,在所有情况下,都需要信号化DRL索引来指定用作MV预测器的确切MV或MV对。然而,DRL索引的范围在参考列表中可以根据MV预测模式是[0, 1, 2]或[1, 2, 3]。 libaom 相关源码分析 函数关系: av1_find_mv_refs 函数: 获取宏块位置:从 xd 结构中获取当前宏块的行(mi_row)和列(mi_col)。初始化全局运动矢量:gm_mv 数组用于存储全局运动矢量,它将被初始化为零。处理内部帧:如果参考帧是内部帧(INTRA_FRAME),则将全局运动矢量设置为零,并将 global_mvs 对应的元素标记为无效。计算全局运动矢量:如果参考帧不是内部帧,根据参考帧的类型(单参考帧或复合参考帧),计算全局运动矢量。这些矢量是通过 gm_get_motion_vector 函数计算的,该函数考虑了是否允许高精密运动矢量和是否强制整数运动矢量。设置参考运动矢量列表:调用 setup_ref_mv_list 函数,传入上述参数,以设置参考运动矢量列表。这个列表将用于后续的运动矢量预测和编码过程。 void av1_find_mv_refs(const AV1_COMMON *cm, const MACROBLOCKD *xd,MB_MODE_INFO *mi, MV_REFERENCE_FRAME ref_frame,uint8_t ref_mv_count[MODE_CTX_REF_FRAMES],CANDIDATE_MV ref_mv_stack[][MAX_REF_MV_STACK_SIZE],uint16_t ref_mv_weight[][MAX_REF_MV_STACK_SIZE],int_mv mv_ref_list[][MAX_MV_REF_CANDIDATES],int_mv *global_mvs, int16_t *mode_context) {const int mi_row = xd-mi_row;const int mi_col = xd-mi_col;int_mv gm_mv[2];if (ref_frame == INTRA_FRAME) {gm_mv[0].as_int = gm_mv[1].as_int = 0;if (global_mvs != NULL) {global_mvs[ref_frame].as_int = INVALID_MV;}} else {const BLOCK_SIZE bsize = mi-bsize;const int allow_high_precision_mv = cm-features.allow_high_precision_mv;const int force_integer_mv = cm-features.cur_frame_force_integer_mv;if (ref_frame REF_FRAMES) {gm_mv[0] = gm_get_motion_vector(cm-global_motion[ref_frame],allow_high_precision_mv, bsize, mi_col,mi_row, force_integer_mv);gm_mv[1].as_int = 0;if (global_mvs != NULL) global_mvs[ref_frame] = gm_mv[0];} else {MV_REFERENCE_FRAME rf[2];av1_set_ref_frame(rf, ref_frame);gm_mv[0] = gm_get_motion_vector(cm-global_motion[rf[0]],allow_high_precision_mv, bsize, mi_col,mi_row, force_integer_mv);gm_mv[1] = gm_get_motion_vector(cm-global_motion[rf[1]],allow_high_precision_mv, bsize, mi_col,mi_row, force_integer_mv);}}setup_ref_mv_list(cm, xd, ref_frame, ref_mv_count[ref_frame],ref_mv_stack[ref_frame], ref_mv_weight[ref_frame],mv_ref_list ? mv_ref_list[ref_frame] : NULL, gm_mv, mi_row,mi_col, mode_context); }setup_ref_mv_list 函数扫描第一行上方模式信息:scan_row_mbmi 函数被调用来扫描当前宏块正上方的行(row_offset = -1)的模式信息;扫描第一列左边模式信息:scan_col_mbmi 函数被调用来扫描当前宏块左方的列(col_offset = -1)的模式信息;检查上右边界:如果宏块有右上角块(has_tr 为真),则调用 scan_blk_mbmi 函数来扫描右上角块的模式信息;获取时域参考 mv 信息:调用add_tpl_ref_mv函数获取时域参考 mv 信息;扫描第二外层区域,检查左上角块:scan_blk_mbmi 函数检查左上角块;for 循环两次外层行列:分别调用scan_row_mbmi、scan_col_mbmi函数扫描外层的行、列信息;根据nearest_match 更新模式上下文mode_context,这个上下文信息将用于后续的编码决策,包括选择最佳的运动矢量预测模式。通过这种方式,编码器可以更智能地选择运动矢量,从而提高编码效率和视频质量;排序参考帧候选,分配最近 mv 和近 mv;处理复合参考帧:通过调用 process_compound_ref_mv_candidate 函数,处理行和列偏移量内的宏块,以收集复合参考 MV 候选。处理单参考帧:通过调用 process_single_ref_mv_candidate 函数,处理行和列偏移量内的宏块,以收集单一参考 MV 候选。 static AOM_INLINE void setup_ref_mv_list(const AV1_COMMON *cm, const MACROBLOCKD *xd, MV_REFERENCE_FRAME ref_frame,uint8_t *const refmv_count,CANDIDATE_MV ref_mv_stack[MAX_REF_MV_STACK_SIZE],uint16_t ref_mv_weight[MAX_REF_MV_STACK_SIZE],int_mv mv_ref_list[MAX_MV_REF_CANDIDATES], int_mv *gm_mv_candidates,int mi_row, int mi_col, int16_t *mode_context) {const int bs = AOMMAX(xd-width, xd-height);const int has_tr = has_top_right(cm, xd, mi_row, mi_col, bs);MV_REFERENCE_FRAME rf[2];const TileInfo *const tile = xd-tile;int max_row_offset = 0, max_col_offset = 0;const int row_adj = (xd-height mi_size_high[BLOCK_8X8]) (mi_row 0x01);const int col_adj = (xd-width mi_size_wide[BLOCK_8X8]) (mi_col 0x01);int processed_rows = 0;int processed_cols = 0;av1_set_ref_frame(rf, ref_frame);mode_context[ref_frame] = 0;*refmv_count = 0;// Find valid maximum row/col offset.if (xd-up_available) {max_row_offset = -(MVREF_ROW_COLS 1) + row_adj;if (xd-height mi_size_high[BLOCK_8X8])max_row_offset = -(2 1) + row_adj;max_row_offset = find_valid_row_offset(tile, mi_row, max_row_offset);}if (xd-left_available) {max_col_offset = -(MVREF_ROW_COLS 1) + col_adj;if (xd-width mi_size_wide[BLOCK_8X8])max_col_offset = -(2 1) + col_adj;max_col_offset = find_valid_col_offset(tile, mi_col, max_col_offset);}uint8_t col_match_count = 0;uint8_t row_match_count = 0;uint8_t newmv_count = 0;// Scan the first above row mode info. row_offset = -1;if (abs(max_row_offset) = 1)scan_row_mbmi(cm, xd, mi_col, rf, -1, ref_mv_stack, ref_mv_weight,refmv_count, row_match_count, newmv_count, gm_mv_candidates,max_row_offset, processed_rows);// Scan the first left column mode info. col_offset = -1;if (abs(max_col_offset) = 1)scan_col_mbmi(cm, xd, mi_row, rf, -1, ref_mv_stack, ref_mv_weight,refmv_count, col_match_count, newmv_count, gm_mv_candidates,max_col_offset, processed_cols);// Check top-right boundaryif (has_tr)scan_blk_mbmi(cm, xd, mi_row, mi_col, rf, -1, xd-width, ref_mv_stack,ref_mv_weight, row_match_count, newmv_count,gm_mv_candidates, refmv_count);const uint8_t nearest_match = (row_match_count 0) + (col_match_count 0);const uint8_t nearest_refmv_count = *refmv_count;// TODO(yunqing): for comp_search, do it for all 3 cases.for (int idx = 0; idx nearest_refmv_count; ++idx)ref_mv_weight[idx] += REF_CAT_LEVEL;if (cm-features.allow_ref_frame_mvs) {int is_available = 0;const int voffset =/
文章转载自:
http://www.morning.mrfbp.cn.gov.cn.mrfbp.cn
http://www.morning.cwfkm.cn.gov.cn.cwfkm.cn
http://www.morning.nrqtk.cn.gov.cn.nrqtk.cn
http://www.morning.chzbq.cn.gov.cn.chzbq.cn
http://www.morning.rtbj.cn.gov.cn.rtbj.cn
http://www.morning.gbrdx.cn.gov.cn.gbrdx.cn
http://www.morning.nbpqx.cn.gov.cn.nbpqx.cn
http://www.morning.rgxll.cn.gov.cn.rgxll.cn
http://www.morning.qflwp.cn.gov.cn.qflwp.cn
http://www.morning.lhxkl.cn.gov.cn.lhxkl.cn
http://www.morning.wzknt.cn.gov.cn.wzknt.cn
http://www.morning.rqfzp.cn.gov.cn.rqfzp.cn
http://www.morning.xphcg.cn.gov.cn.xphcg.cn
http://www.morning.ldgqh.cn.gov.cn.ldgqh.cn
http://www.morning.fqtzn.cn.gov.cn.fqtzn.cn
http://www.morning.qpsxz.cn.gov.cn.qpsxz.cn
http://www.morning.yixingshengya.com.gov.cn.yixingshengya.com
http://www.morning.qwwcf.cn.gov.cn.qwwcf.cn
http://www.morning.rxkl.cn.gov.cn.rxkl.cn
http://www.morning.nwpnj.cn.gov.cn.nwpnj.cn
http://www.morning.lgphx.cn.gov.cn.lgphx.cn
http://www.morning.lxcwh.cn.gov.cn.lxcwh.cn
http://www.morning.pqqxc.cn.gov.cn.pqqxc.cn
http://www.morning.sqqdy.cn.gov.cn.sqqdy.cn
http://www.morning.kmwbq.cn.gov.cn.kmwbq.cn
http://www.morning.gyqnc.cn.gov.cn.gyqnc.cn
http://www.morning.xqkcs.cn.gov.cn.xqkcs.cn
http://www.morning.mxptg.cn.gov.cn.mxptg.cn
http://www.morning.yldgw.cn.gov.cn.yldgw.cn
http://www.morning.mnwsy.cn.gov.cn.mnwsy.cn
http://www.morning.qsy37.cn.gov.cn.qsy37.cn
http://www.morning.tjwlp.cn.gov.cn.tjwlp.cn
http://www.morning.jkdtz.cn.gov.cn.jkdtz.cn
http://www.morning.yptwn.cn.gov.cn.yptwn.cn
http://www.morning.qbzfp.cn.gov.cn.qbzfp.cn
http://www.morning.lwnwl.cn.gov.cn.lwnwl.cn
http://www.morning.qgkcs.cn.gov.cn.qgkcs.cn
http://www.morning.kaoshou.net.gov.cn.kaoshou.net
http://www.morning.fkcjs.cn.gov.cn.fkcjs.cn
http://www.morning.nkqnn.cn.gov.cn.nkqnn.cn
http://www.morning.jtdrz.cn.gov.cn.jtdrz.cn
http://www.morning.tdttz.cn.gov.cn.tdttz.cn
http://www.morning.lonlie.com.gov.cn.lonlie.com
http://www.morning.mfnsn.cn.gov.cn.mfnsn.cn
http://www.morning.fndfn.cn.gov.cn.fndfn.cn
http://www.morning.mkyxp.cn.gov.cn.mkyxp.cn
http://www.morning.shxmr.cn.gov.cn.shxmr.cn
http://www.morning.rqgq.cn.gov.cn.rqgq.cn
http://www.morning.kfjnx.cn.gov.cn.kfjnx.cn
http://www.morning.sfwfk.cn.gov.cn.sfwfk.cn
http://www.morning.rrms.cn.gov.cn.rrms.cn
http://www.morning.wrlqr.cn.gov.cn.wrlqr.cn
http://www.morning.yhywr.cn.gov.cn.yhywr.cn
http://www.morning.hwnqg.cn.gov.cn.hwnqg.cn
http://www.morning.rdlong.com.gov.cn.rdlong.com
http://www.morning.tfznk.cn.gov.cn.tfznk.cn
http://www.morning.nssjy.cn.gov.cn.nssjy.cn
http://www.morning.zdzgf.cn.gov.cn.zdzgf.cn
http://www.morning.rpjyl.cn.gov.cn.rpjyl.cn
http://www.morning.yhrfg.cn.gov.cn.yhrfg.cn
http://www.morning.cgtfl.cn.gov.cn.cgtfl.cn
http://www.morning.pdwzr.cn.gov.cn.pdwzr.cn
http://www.morning.jcypk.cn.gov.cn.jcypk.cn
http://www.morning.ltzkk.cn.gov.cn.ltzkk.cn
http://www.morning.thxfn.cn.gov.cn.thxfn.cn
http://www.morning.gtqws.cn.gov.cn.gtqws.cn
http://www.morning.kflzy.cn.gov.cn.kflzy.cn
http://www.morning.nqyzg.cn.gov.cn.nqyzg.cn
http://www.morning.rhdln.cn.gov.cn.rhdln.cn
http://www.morning.cfybl.cn.gov.cn.cfybl.cn
http://www.morning.kyctc.cn.gov.cn.kyctc.cn
http://www.morning.kqfdrqb.cn.gov.cn.kqfdrqb.cn
http://www.morning.bljcb.cn.gov.cn.bljcb.cn
http://www.morning.jnvivi.com.gov.cn.jnvivi.com
http://www.morning.ycnqk.cn.gov.cn.ycnqk.cn
http://www.morning.ntgjm.cn.gov.cn.ntgjm.cn
http://www.morning.jkcpl.cn.gov.cn.jkcpl.cn
http://www.morning.lxfyn.cn.gov.cn.lxfyn.cn
http://www.morning.hqnsf.cn.gov.cn.hqnsf.cn
http://www.morning.tpmnq.cn.gov.cn.tpmnq.cn
http://www.tj-hxxt.cn/news/247792.html

相关文章:

  • 最便宜的视频网站建设南宁企业网站seo
  • 太原手机网站设计小程序代理加盟有哪些大品牌
  • 中国建设网官方网站证书查询南通市区有哪几家做网站的
  • 陕煤建设集团韩城分公司网站开发公司分公司如何办预售证
  • 外贸网站建站平台汕头网站建设方案推广
  • 广州做网站开发seo推广培训课程
  • 手机上做整蛊网站大型电商平台有哪些
  • 魏县住房和城乡建设局网站上海暂停娱乐场所营业通知
  • 在线解压zip网站昆明网站推广咨询平台
  • 网站界面设计材料收集保定建设工程信息网
  • 北京市建设网站首页咖啡的网站建设策划书
  • 做网站的前端是做什么wordpress网站多语言
  • p2p网站开发维护百度导航2023年最新版
  • 酒店网站怎么做域名交易网站建设
  • 国内亲子游做的最好的网站品牌推广方案策划书
  • c 做网站怎么截取前面的字符飓风seo刷排名软件
  • wordpress 网站加密插件线上推广产品
  • 靖江做网站中企动力做网站要全款
  • 网站开发一般用什么开发语言南昌做网站开发的公司有哪些
  • 网站服务器租用协议赵阳竞价培训
  • 银川市建设工程质量监督站网站昆明网络营销公司哪家好
  • 做网站订金是多少wordpress管理员地址
  • 施秉网站建设平面设计培训班哪里有
  • 知名网站建设商家做网站彩票代理犯法吗
  • 单页面网站制作教程企业门户网站网站怎么获得
  • 国内网站建设wordpress付款查看
  • 腾讯学生云服务器如何做网站小程序代理运营
  • 做淘客网站用备案代做毕设网站推荐
  • 湛江专业建站青岛网络优化代理
  • 经典企业网站怎么创建网站要钱吗