motioncompensate.m

来自「用matlab写的仿真H.263标准的程序」· M 代码 · 共 21 行

M
21
字号
function [ResidualMBY,ResidualBU,ResidualBV] = MotionCompensate(WindowsY,CurMBlockY,...
                                               WindowsU,CurBlockU,WindowsV,CurBlockV,...
                                               VectorH,VectorW)
%运动补偿计算
%输入 WindowsY,CurMBlockY 搜索窗口,当前亮度宏块,uint8
%输入 WindowsU,CurBlockU 窗口,当前色度块,uint8
%输入 WindowsV,CurBlockV 窗口,当前色度块,uint8
%输入 VectorH,VectorW,运动矢量
%输出 ResidualMBY,ResidualBU,ResidualBV 差值图像,double

mst_r = VectorH + 17;
mst_c = VectorW + 17;
ResidualMBY = double(double(CurMBlockY) - double(WindowsY(mst_r:mst_r + 15,mst_c:mst_c + 15)));

bst_r = floor((VectorH/2)) + 9;
bst_c = floor((VectorW/2)) + 9;
ResidualBU = double(double(CurBlockU) - double(WindowsU(bst_r:bst_r + 7,bst_c:bst_c + 7)));
ResidualBV = double(double(CurBlockV) - double(WindowsV(bst_r:bst_r + 7,bst_c:bst_c + 7)));


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?