图像处理装置、帧速率控制处理判定装置及其方法_3

文档序号:9264754阅读:来源:国知局
以矩阵状分割为多个块。以下,在a方向上分割成n+1个块,在0方向上分割成m+1个块。
[0063]CPU23对全部块确定代表值(图6步骤S3)。作为代表値,不是直接使用一个块内的像素值的平均值、起始的像素值乃至该值,而是也可以将CRC等哈希值作为代表值。另夕卜,虽然平均値在32X32X8bit图像中能够用18比特长度来表现,但是也可以舍去上下的10比特,而仅使用中间的8比特。由此,将(n+1) X (m+1)个块代表值存储到RAM25。另外,优选采用可检测FRC处理的精度高的代表值。
[0064]CPU23确定(n+1) X (m+1)个块中的运动块(步骤S5)。使用图8对运动块确定处理进行说明。
[0065]CPU23对处理块编号1、j进行初始化(图8步骤S11、S13)。关于块(0,0)与前一帧的代表值进行比较(步骤S15)。在本实施方式中是对时刻t与时刻t-1的代表值进行比较。CPU23判断代表值的差分是否超过阈值thb (步骤S17),在代表值的差分超过阈值thb时判断为运动块(步骤S19)。另一方面,在代表值的差分不超过阈值thb时判断为非运动块(步骤S21)。
[0066]CPU23判断处理块编号j是否是最终(步骤S23)。此时,由于j = 0且不是最终,因此对处理块编号j进行递增(步骤S25),重复进行步骤S15之后的处理。如果在步骤S23中处理块编号j是最终,则前进到步骤S27,CPU23判断处理块编号i是否是最终。此时,由于不是最终,因此对处理块编号i进行递增(步骤S29),重复进行步骤S13之后的处理。如果在步骤S27中处理块编号i是最终,则结束处理。
[0067]由此,如图9所示,关于(n+1) X (m+1)个块,确定运动块。在此例子中,块(4,2)、(4,3)、(4,4)…被确定为运动块
[0068]CPU23进行运动图像区域确定处理(图6步骤S7)。使用图10、图12详细说明运动图像区域确定处理。
[0069]CPU23对处理块编号j进行初始化(图10步骤S31)。CPU23判断块(0,0)所属的列的块是否存在至少一个运动块(步骤S33)。此时,如图9所示,由于块(0,0)及其纵向的块(l,0)-(m,0)不存在运动块,因此,将该列判断为非运动列(图10步骤S37)。CPU23判断是否存在相加存储后的临时运动列(步骤S39)。此时,由于不存在,因此前进到步骤S46,判断处理块编号j是否是最终。此时,由于j = 0且不是最终,因此对处理块编号j进行递增(步骤S47),重复进行步骤S33之后的处理。
[0070]在处理块编号j = 2时,块(0,2)纵向的块存在运动块。因此,CPU23将该列作为临时运动列而进行相加存储(步骤S35)。
[0071]CPU23判断处理块编号j是否是最终(步骤S46)。此时,由于j = 2且不是最终,因此对处理块编号j进行递增(步骤S47),重复进行步骤S33之后的处理。
[0072]重复进行步骤S35的处理,直到处理块编号j = 8为止。在处理块编号j = 9时,块(0,9)的列不存在运动块。因此,CPU23将该列判断为非运动列(步骤S37)。CPU23判断是否存在相加存储后的临时运动列(步骤S39),在存在时,判断相邻的这些集合是否具有超过阈值thw的宽度(步骤S41)。在本实施方式中,阈值thw为2块以上。此时,由于存在块(0,2)-(0,8)的相加存储后的临时运动列,超过所述阈值thw,因此将临时运动列作为运动列(步骤S45)。
[0073]CPU23判断处理块编号j是否是最终(步骤S46)。
[0074]在处理块编号j = 10时,块(0,10)的列不存在运动块。因此,CPU23将该列判断为非运动列(步骤S37)。CPU23判断是否存在检测完的临时运动列(步骤S39),此时,由于不存在,因此CPU23判断处理块编号j是否是最终(步骤S46)。
[0075]以下,直到j = n-7为止均判断为非运动列。在处理块编号j = n-6时,存在运动块(m-3,n-6)。因此,CPU23作为临时运动列进行相加存储(步骤S35)。
[0076]在处理块编号j = n-5时,块(0,n_5)的列不存在运动块。因此,CPU23将该列判断为非运动列(步骤S37)。CPU23判断是否存在检测完的临时运动列(步骤S39),在存在时,判断相邻的这些集合是否具有超过阈值thw的宽度(步骤S41)。在本实施方式中,阈值thw为2块以上,因此临时运动列的宽度不超过所述阈值thw,因此将临时运动列作为非运动列(步骤S43)。由此,能够防止错误地将鼠标等的图像区域认定为运动图像区域。
[0077]以下同样地,关于行方向a,依次逐列判断是否存在运动块的列。
[0078]另外,还存在作为最终列的块(0,n)的列为临时运动列的情况。此时,在步骤S49中,判断是否存在相加存储后的临时运动列,在存在时,执行步骤S41之后的处理。
[0079]图11示出检测后的运动列。此时,确定区域121作为运动列。相对于此,由于运动块(6,n-3)、(m-3,n_6)所属的区域122、123在箭头a方向上不具有阈值thw以上的宽度,因此不确定作为运动列。
[0080]接着,CPU23对处理块编号i进行初始化(图12步骤S51)。CPU23判断块(0,0)的行是否存在至少一个运动块(步骤S53)。此时,如图9所示,块(0,0)及其横向的块(0,l)_(0,n)不存在运动块,因此将该行判断为非运动行(步骤S57)。CPU23判断是否存在相加存储后的运动行(步骤S59)。此时,由于不存在检测完的运动行,因此前进到步骤S66,判断处理块编号i是否是最终。此时,由于i = 0且不是最终,因此对处理块编号i进行递增(步骤S68),重复进行步骤S53之后的处理。
[0081]在处理块编号i = 4时,块(4,0)的行存在运动块。因此,CPU23将该行作为临时运动行进行相加存储(步骤S55)。
[0082]以下同样地,直到i = 8为止,作出是块(i,0)的行存在运动块的运动行的判断。在i = 9时,块(i,0)的行不存在运动块,因此将该行判断为非运动行(步骤S57)。CPU23判断是否存在相加存储后的运动行(步骤S59)。此时,由于存在相加存储后的运动行,因此判断这些集合是否具有超过阈值thw的宽度(步骤S61)。在本实施方式中,阈值thw设为2块以上。此时,由于存在块(4,0)-(8,0)的检测完的运动行,因此超过所述阈值thw,所以将临时运动行作为运动行(步骤S65)。
[0083]以下同样地,关于列方向0,依次逐行判断是否是存在运动块的列。步骤S69的意义与步骤S49相同,因此省略说明。
[0084]图13示出检测后的运动行。此时,确定区域131作为运动行。运动块(6,n_3)属于区域131。相对于此,由于运动块(m-3,n-6)所属的区域132在箭头0方向上不具有阈值thw以上的宽度,因此不确定作为运动行。
[0085]CPU23确定属于运动列和运动行双方的块作为运动图像区域(图12步骤S70)。此时,确定属于图14所示的区域121与区域131重复的区域140的块作为运动图像区域。当与图9的运动块进行比较时,排除运动块(6,n-3)、(m-3, n_6),另一方面,确定块(4,5)等作为运动图像区域。由此,能够通过与周边块之间的关系防止意外。
[0086]CPU23进行边界确定处理(图6步骤S9)。关于图14所示的区域140,得到由32X32像素构成的块中的运动图像区域的边界。通过步骤S9的处理,如图16所示,能够得到一个像素单位的运动图像区域的边界150。使用图15详细说明步骤S9。
[0087]CPU23提取上侧块(图15的步骤S80)。此时,提取图16所示的块(4,2)?(4,8)共7个块。CPU23对处理行编号P进行初始化(步骤S81),提取全部已提取的块的第P行的像素,并且运算其代表值(步骤S83)。此时,提取块(4,2)的第0行的32个像素、块(4,3)的第0行的32个像素…这样的7X32像素,运算其代表值。在本实施方式中,代表值为已提取的像素的平均值。
[0088]接着,CPU23提取全部已提取的块的处理行编号第P+1行的像素,并且运算其代表值(步骤S85)。此时,提取块(4,2)的第1行的32个像素、块(4,3)的第1行的32个像素…这样的7X32像素,运算其代表值。
[0089]CPU23判断在步骤S83中求出的代表值与在步骤S85中求出的代表值是否不同(步骤S87)。当在步骤S87中两者不同时,判断为像素(P,0)的行为边界(步骤S93)。当在步骤S87中两者没有不同时,对处理行编号P进行递增(步骤S89),重复进行步骤S83之后的处理直到成为提取块的最终像素(此时是32个像素)为止(步骤S91)。即使是最终像素,也在步骤S87中两者没有不同时,判断为已提取的块的端部为边界(步骤S95)。
[0090]在图15中,对提取上部的块中的一个像素单位的边
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1