1.一种AVS2并行编码处理系统,其特征在于:该系统包括:
编码单元,用于以条带作为基本编码单元对帧图像进行条带划分,然后对划分后得到的多个条带进行并行编码处理。
2.根据权利要求1所述一种AVS2并行编码处理系统,其特征在于:所述编码单元包括:
划分模块,用于以条带作为基本编码单元对帧图像进行条带划分,从而得到该帧图像的多个条带;
编码控制处理模块,用于将当前帧图像的所有条带依次放入任务队列中,然后利用线程池来对多个条带进行并行编码处理。
3.根据权利要求2所述一种AVS2并行编码处理系统,其特征在于:所述利用线程池来对多个条带进行并行编码处理,其具体包括:
当任务队列中每放入一个条带时,则唤醒线程池中一个空闲工作线程,令该被唤醒的工作线程对当前被放入任务队列的条带进行编码处理;
当任务队列中存有未进行编码的条带,且所有的工作线程均处于忙碌状态时,则创建新的工作线程来对该未进行编码的条带进行编码处理,或者,使任务队列中未进行编码的条带处于等待状态,直到结束任务之后重新返回线程池的工作线程来对该未进行编码的条带进行编码处理;
当工作线程完成一个条带的编码处理后,则重新返回线程池,并将当前已完成编码处理的条带的数量加1,然后判断任务队列中是否存有未进行编码的条带,若是,则令该工作线程对该未进行编码的条带进行编码处理,反之,则将该工作线程置为阻塞状态,等待下一个任务的到来;
当已完成编码处理的条带的数量与帧图像的总条带数量相同时,则唤醒主线程进行数据串行处理。
4.根据权利要求3所述一种AVS2并行编码处理系统,其特征在于:所述对条带进行编码处理,其具体为:
对条带的条带头信息进行存储,然后对条带内的LCU依次进行编码,直到条带内的所有LCU编码完成。
5.根据权利要求3所述一种AVS2并行编码处理系统,其特征在于:所述利用线程池来对多个条带进行并行编码处理,其具体还包括:
当工作线程需要进行全局变量访问时,则对其自身存有的全局变量的副本进行操作,从而实现全局变量的访问。
6.根据权利要求1-5任一项所述一种AVS2并行编码处理系统,其特征在于:还包括码流缓冲单元,所述码流缓冲单元包括一个总码流存储器和多个子码流存储器;
所述总码流存储器,用于存储帧图像的图像头信息;
所述子码流存储器,用于存储条带的条带头信息以及条带内所有LCU的编码信息。
7.一种AVS2并行编码处理方法,其特征在于:该方法包括:
以条带作为基本编码单元对帧图像进行条带划分,然后对划分后得到的多个条带进行并行编码处理。
8.根据权利要求7所述一种AVS2并行编码处理方法,其特征在于:所述以条带作为基本编码单元对帧图像进行条带划分,然后对划分后得到的多个条带进行并行编码处理这一步骤具体包括:
以条带作为基本编码单元对帧图像进行条带划分,从而得到该帧图像的多个条带;
将当前帧图像的所有条带依次放入任务队列中,然后利用线程池来对多个条带进行并行编码处理。
9.根据权利要求8所述一种AVS2并行编码处理方法,其特征在于:所述利用线程池来对多个条带进行并行编码处理这一步骤,其具体包括:
当任务队列中每放入一个条带时,则唤醒线程池中一个空闲工作线程,令该被唤醒的工作线程对当前被放入任务队列的条带进行编码处理;
当任务队列中存有未进行编码的条带,且所有的工作线程均处于忙碌状态时,则创建新的工作线程来对该未进行编码的条带进行编码处理,或者,使任务队列中未进行编码的条带处于等待状态,直到结束任务之后重新返回线程池的工作线程来对该未进行编码的条带进行编码处理;
当工作线程完成一个条带的编码处理后,则重新返回线程池,并将当前已完成编码处理的条带的数量加1,然后判断任务队列中是否存有未进行编码的条带,若是,则令该工作线程对该未进行编码的条带进行编码处理,反之,则将该工作线程置为阻塞状态,等待下一个任务的到来;
当已完成编码处理的条带的数量与帧图像的总条带数量相同时,则唤醒主线程进行数据串行处理。
10.根据权利要求9所述一种AVS2并行编码处理方法,其特征在于:所述利用线程池来对多个条带进行并行编码处理这一步骤,其具体还包括:
当工作线程需要进行全局变量访问时,则对其自身存有的全局变量的副本进行操作,从而实现全局变量的访问。