CN103716631B - 用于图像处理的方法、装置、编码器和解码器 - Google Patents
用于图像处理的方法、装置、编码器和解码器 Download PDFInfo
- Publication number
- CN103716631B CN103716631B CN201210375082.9A CN201210375082A CN103716631B CN 103716631 B CN103716631 B CN 103716631B CN 201210375082 A CN201210375082 A CN 201210375082A CN 103716631 B CN103716631 B CN 103716631B
- Authority
- CN
- China
- Prior art keywords
- block
- movable information
- target image
- sub
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
Abstract
一种用于图像处理的方法、装置、编码器和解码器,该方法包括:根据基本层图像块的运动信息确定目标图像块的第一运动信息,其中,该的基本层图像块位于基本层图像中,该目标图像块位于增强层图像中,该的基本层图像与该增强层图像相对应,且该基本图像块在该基本层图像中的空间位置与该目标图像块在该增强层图像中的空间位置相对应;根据该增强层图像中与该目标图像块相邻的邻近图像块的运动信息确定该目标图像块的第二运动信息;根据该第一运动信息和该第二运动信息,生成运动信息列表;根据预定规则从该运动信息列表中确定该目标图像块的最优运动信息;根据该最优运动信息,对该目标图像块进行编码。能够提高处理效率。
Description
技术领域
本发明涉及视频处理领域,并且更具体地,涉及一种用于图像处理的方法、装置、编码器和解码器。
背景技术
随着互联网的迅猛发展以及人们物质精神文化的日益丰富,在互联网中针对视频的应用需求尤其是针对高清视频的应用需求越来越多,而高清视频的数据量非常大,要想高清视频能在带宽有限的互联网中传输,必须首先解决的问题就是高清视频压缩编码问题。
目前,已知有融合(MERGE)技术以及先进的运动矢量预测(AMVP,Advanced MotionVector Prediction)技术。这两项技术能够有效地利用邻近图像块的运动信息来确定当前处理的图像块的运动信息。所述MERGE技术指直接使用从邻近图像块获取的运动信息作为当前处理图像块运动信息的技术。所述AMVP技术指使用从邻近图像块获取的运动信息对当前处理图像块的运动信息进行预测的技术。这两项技术都会从邻近图像块中获取多个运动信息,并从所获取多个运动信息中选择一个使用。所述邻近图像块可以是时间邻近图像块,也可以是空间邻近图像块。所述空间邻近图像块是与当前处理图像块在同一图像内的图像块;所述时间图像块是在当前处理图像块的时域参考图像内的相邻图像块。这两项技术能够有效地利用邻近图像块的运动信息来确定当前处理的图像块的运动信息。
另外,在网络环境里(比如互联网),由于网络带宽是有限的,终端设备以及用户的需求都是不同的,所以为了某种特定的应用而一次压缩的码流并不是令人满意和有效的,对一些特定的用户或设备而言,甚至是没有意义的。解决这个问题的一个有效的方法就是利用可伸缩视频编码(SVC,scalable video coding)技术。在该SVC技术中,根据包括空间分辨率、时间分辨率或者信噪比强度等在内的质量参数,将一个图像分为多个图像层。SVC的目标就是让质量高的图像层尽量充分的利用质量低的图像层的信息,提高层间预测的效率,使得编码质量高的图像的时候能够效率更高。
因此,希望能够在MERGE或AMVP等技术中,也能够利用SVC技术,即,利用质量低的图像的运动信息来确定当前处理的质量高的图像的运动信息。
发明内容
本发明实施例提供一种用于图像处理的方法、装置、编码器和解码器,能够在利用邻近图像块的运动信息来确定当前处理的图像块的运动信息的同时,使利用基本层图像的运动信息来确定当前处理的图像块的运动信息成为可能,提高处理效率。
第一方面,提供了一种用于图像处理的方法,该方法包括:根据基本层图像块的运动信息确定目标图像块的第一运动信息,其中,该的基本层图像块位于基本层图像中,该目标图像块位于增强层图像中,该的基本层图像与该增强层图像相对应,且该基本图像块在该基本层图像中的空间位置与该目标图像块在该增强层图像中的空间位置相对应;根据该增强层图像中与该目标图像块相邻的邻近图像块的运动信息确定该目标图像块的第二运动信息;根据该第一运动信息和该第二运动信息,生成运动信息列表;根据预定规则从该运动信息列表中确定该目标图像块的最优运动信息;根据该最优运动信息,对该目标图像块进行编码,以生成目标码流,该目标码流包括用于指示该最优运动信息在该运动信息列表中的位置的第一索引信息。
在一种可能的实施方式中,该根据基本层图像块的运动信息确定目标图像块的第一运动信息包括:根据该基本层图像块包括的与该目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定该目标图像子块的运动信息,其中,该目标图像块子块具有预先设定的大小;根据该目标图像子块的运动信息,确定该第一运动信息。结合第一方面和第一种可能的实施方式,在第二种可能的实施方式中,该目标图像块包括至少两个目标图像子块,以及该根据该基本层图像块包括的与该目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定该目标图像子块的运动信息,包括:当与该至少两个目标图像子块中的第一目标图像子块相对应的第一基本层图像子块的运动信息为空时,根据该目标图像块的大小、该目标图像子块的大小和用于指示该第一目标图像子块在该目标图像块中的位置的第二索引信息,确定该至少两个目标图像子块中的第二目标图像子块;根据该第二目标图像子块的运动信息,确定该第一目标图像子块的运动信息;对应,该根据该目标图像子块的运动信息,确定该第一运动信息,包括:根据该第一目标图像子块的运动信息,确定该第一运动信息;或根据该第二目标图像子块的运动信息,确定该第一运动信息;或根据该第一目标图像子块的运动信息以及第二目标图像子块的运动信息,确定该第一运动信息。
结合第一方面、第一种可能的实施方式和第二种可能的实施方式,在第三种可能的实施方式中,该根据该目标图像块的大小、该目标图像子块的大小和用于指示该第一目标图像子块在该目标图像块中的位置的第二索引信息,确定该至少两个目标图像子块中的第二目标图像子块,包括:根据以下任一公式,确定该第二目标图像子块,
Idx2=Idx1/N×N+((Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
其中,Idx2表示用于指示该第二目标图像子块在该目标图像块中的位置的第三索引信息,Idx1表示该第二索引信息,N是根据该目标图像块的大小和该目标图像子块的大小确定的。
结合第一方面、第一种可能的实施方式、第二种可能的实施方式和第三种可能的实施方式,在第四种可能的实施方式中,该根据该基本层图像块包括的与该目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定该目标图像子块的运动信息,进一步包括:如果该第二目标图像子块的运动信息为空,则确定该第一目标图像子块的运动信息为零运动信息。
结合第一方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式和第四种可能的实施方式,在第五种可能的实施方式中,该根据该目标图像子块的运动信息,确定该第一运动信息,包括:根据第三目标图像子块的运动信息,确定该第一运动信息,其中,该第三目标图像子块为该目标图像块中位于预设位置的目标图像子块,或该第三目标图像子块的运动信息在该目标图像子块的运动信息中的出现频率最高。
结合第一方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式和第五种可能的实施方式,在第六种可能的实施方式中,该根据该目标图像子块的运动信息,确定该第一运动信息,包括:根据该第三目标图像子块的运动信息的参考图像、该目标图像和该目标图像块的参考图像的时域距离关系,对该第三目标图像子块的运动信息进行缩放处理;根据该缩放处理后的第三目标图像子块的运动信息,确定该第一运动信息。
结合第一方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式、第五种可能的实施方式和第六种可能的实施方式,在第七种可能的实施方式中,该目标图像块包括至少两个目标图像子块,以及当该最优信息为该第一运动信息时,该根据该最优运动信息,对该目标图像块进行编码,包括:对位于该目标图像子块之间的边界附近的像素进行去块效应滤波处理。
结合第一方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式、第五种可能的实施方式、第六种可能的实施方式和第七种可能的实施方式,在第八种可能的实施方式中,该第二运动信息包括时间运动信息和空间运动信息,以及该根据该第一运动信息和该第二运动信息,确定运动信息列表,包括:根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的首位;或根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的末位;或根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于该运动信息列表中的空间运动信息与该时间运动信息之间。
结合第一方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式、第五种可能的实施方式、第六种可能的实施方式、第七种可能的实施方式和第八种可能的实施方式,在第九种可能的实施方式中,该第一索引信息包括用于指示该最优运动信息是否为该第一运动信息的第一符号和用于指示该最优运动信息在该运动列表中的位置的第二符号,以及该根据该最优运动信息,对该目标图像块进行编码,包括:根据第一上下文模型,对该第一符号进行算术编码处理;根据第二上下文模型,对该第二符号进行算术编码处理,其中,该第一上下文模型与该第二上下文模型相异。
第二方面,提供了一种用于图像处理的方法,该方法包括:根据基本层图像块的运动信息确定目标图像块的第一运动信息,其中,该的基本层图像块位于基本层图像中,该目标图像块位于增强层图像中,该的基本层图像与该增强层图像相对应,且该基本图像块在该基本层图像中的空间位置与该目标图像块在该增强层图像中的空间位置相对应;根据该增强层图像中与该目标图像块相邻的邻近图像块的运动信息确定该目标图像块的第二运动信息;根据该第一运动信息和该第二运动信息,生成运动信息列表;根据目标码流,获取用于指示该最优运动信息在该运动信息列表中的位置的第一索引信息;根据该第一索引信息,从该运动信息列表中确定最优运动信息,根据该最优运动信息,对该目标码流进行解码,以获取该目标图像块。
在一种可能的实施方式中,该根据基本层图像块的运动信息确定目标图像块的第一运动信息包括:根据该基本层图像块包括的与该目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定该目标图像子块的运动信息,其中,该目标图像块子块具有预先设定的大小;根据该目标图像子块的运动信息,确定该第一运动信息。
结合第二方面和第一种可能的实施方式,在第二种可能的实施方式中,该目标图像块包括至少两个目标图像子块,以及该根据该基本层图像块包括的与该目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定该目标图像子块的运动信息,包括:当与该至少两个目标图像子块中的第一目标图像子块相对应的第一基本层图像子块的运动信息为空时,根据该目标图像块的大小、该目标图像子块的大小和用于指示该第一目标图像子块在该目标图像块中的位置的第二索引信息,确定该至少两个目标图像子块中的第二目标图像子块;根据该第二目标图像子块的运动信息,确定该第一目标图像子块的运动信息;对应,该根据该目标图像子块的运动信息,确定该第一运动信息,包括:根据该第一目标图像子块的运动信息,确定该第一运动信息;或根据该第二目标图像子块的运动信息,确定该第一运动信息;或根据该第一目标图像子块的运动信息以及第二目标图像子块的运动信息,确定该第一运动信息。
结合第二方面、第一种可能的实施方式和第二种可能的实施方式,在第三种可能的实施方式中,该根据该目标图像块的大小、该目标图像子块的大小和用于指示该第一目标图像子块在该目标图像块中的位置的第二索引信息,确定该至少两个目标图像子块中的第二目标图像子块,包括:根据以下任一公式,确定该第二目标图像子块,
Idx2=Idx1/N×N+((Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
其中,Idx2表示用于指示该第二目标图像子块在该目标图像块中的位置的第三索引信息,Idx1表示该第二索引信息,N是根据该目标图像块的大小和该目标图像子块的大小确定的。
结合第二方面、第一种可能的实施方式、第二种可能的实施方式和第三种可能的实施方式,在第四种可能的实施方式中,该根据该基本层图像块包括的与该目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定该目标图像子块的运动信息,进一步包括:如果该第二目标图像子块的运动信息为空,则确定该第一目标图像子块的运动信息为零运动信息。
结合第二方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式和第四种可能的实施方式,在第五种可能的实施方式中,该根据该子块的运动信息,确定该第一运动信息,包括:根据第三目标图像子块的运动信息,确定该第一运动信息,其中,该第三目标图像子块为该目标图像块中位于预设位置的子块,或该第三目标图像子块的运动信息在该子块的运动信息中的出现频率最高。
结合第二方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式和第五种可能的实施方式,在第六种可能的实施方式中,该根据第三目标图像子块的运动信息,确定该第一运动信息,包括:根据该第三目标图像子块的运动信息的参考图像、该目标图像和该目标图像块的参考图像的时域距离关系,对该第三目标图像子块的运动信息进行缩放处理;根据该缩放处理后的第三目标图像子块的运动信息,确定该第一运动信息
结合第二方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式、第五种可能的实施方式和第六种可能的实施方式,在第七种可能的实施方式中,该目标图像块包括至少两个目标图像子块,以及当该最优信息为该第一运动信息时,该根据该最优运动信息,对该目标码流进行解码,包括:对位于该目标图像子块之间的边界附近的像素进行去块效应滤波处理。
结合第二方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式、第五种可能的实施方式、第六种可能的实施方式和第七种可能的实施方式,在第八种可能的实施方式中,该第二运动信息包括时间运动信息和空间运动信息,以及该根据该第一运动信息和该第二运动信息,确定运动信息列表,包括:根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的首位;或根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的末位;或根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于该运动信息列表中的空间运动信息与该时间运动信息之间。
结合第二方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式、第五种可能的实施方式、第六种可能的实施方式、第七种可能的实施方式和第八种可能的实施方式,在第九种可能的实施方式中,该第一索引信息包括用于指示该最优运动信息是否为该第一运动信息的第一符号和用于指示该最优运动信息在该运动列表中的位置的第二符号,以及该根据该第一索引信息,从该运动信息列表中确定最优运动信息,包括:根据第一上下文模型,对该第一符号进行算术解码处理,并根据第二上下文模型,对该第二符号进行算术解码处理,以根据该算术解码处理后的第一索引信息,从该运动信息列表中确定最优运动信息,其中,该第一上下文模型与该第二上下文模型相异。
第三方面,提供了一种用于图像处理的装置,该装置包括:获取单元,用于根据基本层图像块的运动信息确定目标图像块的第一运动信息,其中,该的基本层图像块位于基本层图像中,该目标图像块位于增强层图像中,该的基本层图像与该增强层图像相对应,且该基本图像块在该基本层图像中的空间位置与该目标图像块在该增强层图像中的空间位置相对应;用于根据该增强层图像中与该目标图像块相邻的邻近图像块的运动信息确定该目标图像块的第二运动信息,并向生成单元传输该第一运动信息和该第二运动信息;生成单元,用于从该获取单元获取该第一运动信息和该第二运动信息,并根据该第一运动信息和该第二运动信息,生成运动信息列表,以及,向选择单元传输该运动信息列表;选择单元,用于从该生成单元获取该运动信息列表,并根据预定规则从该运动信息列表中确定该目标图像块的最优运动信息,并向编码单元传输该最优运动信息;编码单元,用于从选择单元获取该最优运动信息,并根据该最优运动信息,对该目标图像块进行编码,以生成目标码流,该目标码流包括用于指示该最优运动信息在该运动信息列表中的位置的第一索引信息。
在一种可能的实施方式中,该获取单元具体用于根据该基本层图像块包括的与该目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定该目标图像子块的运动信息,其中,该目标图像块子块具有预先设定的大小;用于根据该目标图像子块的运动信息,确定该第一运动信息。
结合第三方面和第一种可能的实施方式,在第二种可能的实施方式中,该目标图像块包括至少两个目标图像子块,以及该获取单元具体用于当与该至少两个目标图像子块中的第一目标图像子块相对应的第一基本层图像子块的运动信息为空时,根据该目标图像块的大小、该目标图像子块的大小和用于指示该第一目标图像子块在该目标图像块中的位置的第二索引信息,确定该至少两个目标图像子块中的第二目标图像子块;用于根据该第二目标图像子块的运动信息,确定该第一目标图像子块的运动信息;用于根据该第一目标图像子块的运动信息,确定该第一运动信息;或用于根据该第二目标图像子块的运动信息,确定该第一运动信息;或用于根据该第一目标图像子块的运动信息以及第二目标图像子块的运动信息,确定该第一运动信息。
结合第三方面、第一种可能的实施方式和第二种可能的实施方式,在第三种可能的实施方式中,该获取单元具体用于根据以下任一公式,确定该第二目标图像子块,
Idx2=Idx1/N×N+((Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
其中,Idx2表示用于指示该第二目标图像子块在该目标图像块中的位置的第三索引信息,Idx1表示该第二索引信息,N是根据该目标图像块的大小和该目标图像子块的大小确定的。
结合第三方面、第一种可能的实施方式、第二种可能的实施方式和第三种可能的实施方式,在第四种可能的实施方式中,该获取单元具体用于如果该第二目标图像子块的运动信息为空,则确定该子块的运动信息为零运动信息。
结合第三方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式和第四种可能的实施方式,在第五种可能的实施方式中,该获取单元具体用于根据第三目标图像子块的运动信息,确定该第一运动信息,其中,该第三目标图像子块为该目标图像块中位于预设位置的子块,或该第三目标图像子块的运动信息在该子块的运动信息中的出现频率最高。
结合第三方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式和第五种可能的实施方式,在第六种可能的实施方式中,该获取单元具体用于根据该第三目标图像子块的运动信息的参考图像、该目标图像和该目标图像块的参考图像的时域距离关系,对该第三目标图像子块的运动信息进行缩放处理;用于根据该缩放处理后的第三目标图像子块的运动信息,确定该第一运动信息。
结合第三方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式、第五种可能的实施方式和第六种可能的实施方式,在第七种可能的实施方式中,该目标图像块包括至少两个目标图像子块,以及当该最优信息为该第一运动信息时,该编码单元还用于对位于该目标图像子块之间的边界附近的像素进行去块效应滤波处理。
结合第三方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式、第五种可能的实施方式、第六种可能的实施方式和第七种可能的实施方式,在第八种可能的实施方式中,该第二运动信息包括时间运动信息和空间运动信息,以及该生成单元具体用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的首位;或用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的末位;或用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于该运动信息列表中的空间运动信息与该时间运动信息之间。
结合第三方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式、第五种可能的实施方式、第六种可能的实施方式、第七种可能的实施方式和第八种可能的实施方式,在第九种可能的实施方式中,该第一索引信息包括用于指示该最优运动信息是否为该第一运动信息的第一符号和用于指示该最优运动信息在该运动列表中的位置的第二符号,以及该编码单元具体用于根据第一上下文模型,对该第一符号进行算术编码处理;用于根据第二上下文模型,对该第二符号进行算术编码处理,其中,该第一上下文模型与该第二上下文模型相异。
第四方面,提供了一种用于图像处理的装置,该装置包括:获取单元,用于根据基本层图像块的运动信息确定目标图像块的第一运动信息,其中,该的基本层图像块位于基本层图像中,该目标图像块位于增强层图像中,该的基本层图像与该增强层图像相对应,且该基本图像块在该基本层图像中的空间位置与该目标图像块在该增强层图像中的空间位置相对应;用于根据该增强层图像中与该目标图像块相邻的邻近图像块的运动信息确定该目标图像块的第二运动信息,并向生成单元传输该第一运动信息和该第二运动信息;生成单元,用于从该获取单元获取该第一运动信息和该第二运动信息,并根据该第一运动信息和该第二运动信息,生成运动信息列表,以及,向选择单元传输该运动信息列表;确定单元,用于根据目标码流,确定用于指示该最优运动信息在该运动信息列表中的位置的第一索引信息;解码单元,用于从该生成单元获取该运动信息列表,并根据该确定单元确定的该第一索引信息,从该运动信息列表中确定最优运动信息,根据该最优运动信息,对该目标码流进行解码,以获取该目标图像块。
在一种可能的实施方式中,该获取单元具体用于根据该基本层图像块包括的与该目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定该目标图像子块的运动信息,其中,该目标图像块子块具有预先设定的大小;用于根据该目标图像子块的运动信息,确定该第一运动信息。
结合第四方面和第一种可能的实施方式,在第二种可能的实施方式中,该目标图像块包括至少两个目标图像子块,以及该获取单元具体用于当与该至少两个目标图像子块中的第一目标图像子块相对应的第一基本层图像子块的运动信息为空时,根据该目标图像块的大小、该目标图像子块的大小和用于指示该第一目标图像子块在该目标图像块中的位置的第二索引信息,确定该至少两个目标图像子块中的第二目标图像子块;用于根据该第二目标图像子块的运动信息,确定该第一目标图像子块的运动信息;用于根据该第一目标图像子块的运动信息,确定该第一运动信息;或用于根据该第二目标图像子块的运动信息,确定该第一运动信息;或用于根据该第一目标图像子块的运动信息以及第二目标图像子块的运动信息,确定该第一运动信息。
结合第四方面、第一种可能的实施方式和第二种可能的实施方式,在第三种可能的实施方式中,该获取单元具体用于根据以下任一公式,确定该第二目标图像子块,
Idx2=Idx1/N×N+((Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
其中,Idx2表示用于指示该第二目标图像子块在该目标图像块中的位置的第三索引信息,Idx1表示该第二索引信息,N是根据该目标图像块的大小和该目标图像子块的大小确定的。
结合第四方面、第一种可能的实施方式、第二种可能的实施方式和第三种可能的实施方式,在第四种可能的实施方式中,该获取单元具体用于如果该第二目标图像子块的运动信息为空,则确定该子块的运动信息为零运动信息。
结合第四方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式和第四种可能的实施方式,在第五种可能的实施方式中,该获取单元具体用于根据第三目标图像子块的运动信息,确定该第一运动信息,其中,该第三目标图像子块为该目标图像块中位于预设位置的子块,或该第三目标图像子块的运动信息在该子块的运动信息中的出现频率最高。
结合第四方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式和第五种可能的实施方式,在第六种可能的实施方式中,该获取单元具体用于根据该第三目标图像子块的运动信息的参考图像、该目标图像和该目标图像块的参考图像的时域距离关系,对该第三目标图像子块的运动信息进行缩放处理;用于根据该缩放处理后的第三目标图像子块的运动信息,确定该第一运动信息。
结合第四方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式、第五种可能的实施方式和第六种可能的实施方式,在第七种可能的实施方式中,该目标图像块包括至少两个目标图像子块,以及当该最优信息为该第一运动信息时,该解码码单元还用于对位于该目标图像子块之间的边界附近的像素进行去块效应滤波处理。
结合第四方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式、第五种可能的实施方式、第六种可能的实施方式和第七种可能的实施方式,在第八种可能的实施方式中,该第二运动信息包括时间运动信息和空间运动信息,以及该生成单元具体用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的首位;或用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的末位;或用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于该运动信息列表中的空间运动信息与该时间运动信息之间。
结合第四方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式、第五种可能的实施方式、第六种可能的实施方式、第七种可能的实施方式和第八种可能的实施方式,在第九种可能的实施方式中,该第一索引信息包括用于指示该最优运动信息是否为该第一运动信息的第一符号和用于指示该最优运动信息在该运动列表中的位置的第二符号,以及该解码单元具体用于根据第一上下文模型,对该第一符号进行算术解码处理,并根据第二上下文模型,对该第二符号进行算术解码处理,以根据该算术解码处理后的第一索引信息,从该运动信息列表中确定最优运动信息,其中,该第一上下文模型与该第二上下文模型相异。
第五方面,提供了一种用于图像处理的编码器,其特征在于,该编码器包括:总线;与该总线相连的处理器;与该总线相连的存储器;其中,该处理器通过该总线,调用该存储器中存储的程序,以用于根据基本层图像块的运动信息确定目标图像块的第一运动信息,其中,该的基本层图像块位于基本层图像中,该目标图像块位于增强层图像中,该的基本层图像与该增强层图像相对应,且该基本图像块在该基本层图像中的空间位置与该目标图像块在该增强层图像中的空间位置相对应;用于根据该增强层图像中与该目标图像块相邻的邻近图像块的运动信息确定该目标图像块的第二运动信息;用于根据该第一运动信息和该第二运动信息,生成运动信息列表;用于根据预定规则从该运动信息列表中确定该目标图像块的最优运动信息;用于根据该最优运动信息,对该目标图像块进行编码,以生成目标码流,该目标码流包括用于指示该最优运动信息在该运动信息列表中的位置的第一索引信息。
在一种可能的实施方式中,该处理器具体用于根据该基本层图像块包括的与该目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定该目标图像子块的运动信息,其中,该目标图像块子块具有预先设定的大小;用于根据该目标图像子块的运动信息,确定该第一运动信息。
结合第五方面和第一种可能的实施方式,在第二种可能的实施方式中,该目标图像块包括至少两个目标图像子块,以及该处理器具体用于当与该至少两个目标图像子块中的第一目标图像子块相对应的第一基本层图像子块的运动信息为空时,根据该目标图像块的大小、该目标图像子块的大小和用于指示该第一目标图像子块在该目标图像块中的位置的第二索引信息,确定该至少两个目标图像子块中的第二目标图像子块;用于根据该第二目标图像子块的运动信息,确定该第一目标图像子块的运动信息;用于根据该第一目标图像子块的运动信息,确定该第一运动信息;或用于根据该第二目标图像子块的运动信息,确定该第一运动信息;或用于根据该第一目标图像子块的运动信息以及第二目标图像子块的运动信息,确定该第一运动信息。
结合第五方面、第一种可能的实施方式和第二种可能的实施方式,在第三种可能的实施方式中,该处理器具体用于根据以下任一公式,确定该第二目标图像子块,
Idx2=Idx1/N×N+((Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
其中,Idx2表示用于指示该第二目标图像子块在该目标图像块中的位置的第三索引信息,Idx1表示该第二索引信息,N是根据该目标图像块的大小和该目标图像子块的大小确定的。
结合第五方面、第一种可能的实施方式、第二种可能的实施方式和第三种可能的实施方式,在第四种可能的实施方式中,该处理器具体用于如果该第二目标图像子块的运动信息为空,则确定该子块的运动信息为零运动信息。
结合第五方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式和第四种可能的实施方式,在第五种可能的实施方式中,该处理器具体用于根据第三目标图像子块的运动信息,确定该第一运动信息,其中,该第三目标图像子块为该目标图像块中位于预设位置的子块,或该第三目标图像子块的运动信息在该子块的运动信息中的出现频率最高。
结合第五方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式和第五种可能的实施方式,在第六种可能的实施方式中,该处理器具体用于根据该第三目标图像子块的运动信息的参考图像、该目标图像和该目标图像块的参考图像的时域距离关系,对该第三目标图像子块的运动信息进行缩放处理;用于根据该缩放处理后的第三目标图像子块的运动信息,确定该第一运动信息。
结合第五方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式、第五种可能的实施方式和第六种可能的实施方式,在第七种可能的实施方式中,该目标图像块包括至少两个目标图像子块,以及当该最优信息为该第一运动信息时,该处理器还用于对位于该目标图像子块之间的边界附近的像素进行去块效应滤波处理。
结合第五方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式、第五种可能的实施方式、第六种可能的实施方式和第七种可能的实施方式,在第八种可能的实施方式中,该第二运动信息包括时间运动信息和空间运动信息,以及该处理器具体用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的首位;或用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的末位;或用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于该运动信息列表中的空间运动信息与该时间运动信息之间。
结合第五方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式、第五种可能的实施方式、第六种可能的实施方式、第七种可能的实施方式和第八种可能的实施方式,在第九种可能的实施方式中,该第一索引信息包括用于指示该最优运动信息是否为该第一运动信息的第一符号和用于指示该最优运动信息在该运动列表中的位置的第二符号,以及该处理器具体用于根据第一上下文模型,对该第一符号进行算术编码处理;用于根据第二上下文模型,对该第二符号进行算术编码处理,其中,该第一上下文模型与该第二上下文模型相异。
第六方面,提供了一种用于图像处理的解码器,其特征在于,该解码器包括:总线;与该总线相连的处理器;与该总线相连的存储器;其中,该处理器通过该总线,调用该存储器中存储的程序,以用于根据基本层图像块的运动信息确定目标图像块的第一运动信息,其中,该的基本层图像块位于基本层图像中,该目标图像块位于增强层图像中,该的基本层图像与该增强层图像相对应,且该基本图像块在该基本层图像中的空间位置与该目标图像块在该增强层图像中的空间位置相对应;用于根据该增强层图像中与该目标图像块相邻的邻近图像块的运动信息确定该目标图像块的第二运动信息;用于根据该第一运动信息和该第二运动信息,生成运动信息列表;用于根据目标码流,获取用于指示该最优运动信息在该运动信息列表中的位置的第一索引信息;用于根据该第一索引信息,从该运动信息列表中确定最优运动信息,根据该最优运动信息,对该目标码流进行解码,以获取该目标图像块。
在一种可能的实施方式中,该处理器具体用于根据该基本层图像块包括的与该目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定该目标图像子块的运动信息,其中,该目标图像块子块具有预先设定的大小;用于根据该目标图像子块的运动信息,确定该第一运动信息。
结合第六方面和第一种可能的实施方式,在第二种可能的实施方式中,该目标图像块包括至少两个目标图像子块,以及该处理器具体用于当与该至少两个目标图像子块中的第一目标图像子块相对应的第一基本层图像子块的运动信息为空时,根据该目标图像块的大小、该目标图像子块的大小和用于指示该第一目标图像子块在该目标图像块中的位置的第二索引信息,确定该至少两个目标图像子块中的第二目标图像子块;用于根据该第二目标图像子块的运动信息,确定该第一目标图像子块的运动信息;用于根据该第一目标图像子块的运动信息,确定该第一运动信息;或用于根据该第二目标图像子块的运动信息,确定该第一运动信息;或用于根据该第一目标图像子块的运动信息以及第二目标图像子块的运动信息,确定该第一运动信息。
结合第六方面、第一种可能的实施方式和第二种可能的实施方式,在第三种可能的实施方式中,该处理器具体用于根据以下任一公式,确定该第二目标图像子块,
Idx2=Idx1/N×N+((Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
其中,Idx2表示用于指示该第二目标图像子块在该目标图像块中的位置的第三索引信息,Idx1表示该第二索引信息,N是根据该目标图像块的大小和该目标图像子块的大小确定的。
结合第六方面、第一种可能的实施方式、第二种可能的实施方式和第三种可能的实施方式,在第四种可能的实施方式中,该处理器具体用于如果该第二目标图像子块的运动信息为空,则确定该子块的运动信息为零运动信息。
结合第六方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式和第四种可能的实施方式,在第五种可能的实施方式中,该处理器具体用于根据第三目标图像子块的运动信息,确定该第一运动信息,其中,该第三目标图像子块为该目标图像块中位于预设位置的子块,或该第三目标图像子块的运动信息在该子块的运动信息中的出现频率最高。
结合第六方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式和第五种可能的实施方式,在第六种可能的实施方式中,该处理器具体用于根据该第三目标图像子块的运动信息的参考图像、该目标图像和该目标图像块的参考图像的时域距离关系,对该第三目标图像子块的运动信息进行缩放处理;用于根据该缩放处理后的第三目标图像子块的运动信息,确定该第一运动信息。
结合第六方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式、第五种可能的实施方式和第六种可能的实施方式,在第七种可能的实施方式中,该目标图像块包括至少两个目标图像子块,以及当该最优信息为该第一运动信息时,该处理器还用于对位于该目标图像子块之间的边界附近的像素进行去块效应滤波处理。
结合第六方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式、第五种可能的实施方式、第六种可能的实施方式和第七种可能的实施方式,在第八种可能的实施方式中,该第二运动信息包括时间运动信息和空间运动信息,以及该处理器具体用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的首位;或用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的末位;或用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于该运动信息列表中的空间运动信息与该时间运动信息之间。
结合第六方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式、第五种可能的实施方式、第六种可能的实施方式、第七种可能的实施方式和第八种可能的实施方式,在第九种可能的实施方式中,该第一索引信息包括用于指示该最优运动信息是否为该第一运动信息的第一符号和用于指示该最优运动信息在该运动列表中的位置的第二符号,以及该处理器具体用于根据第一上下文模型,对该第一符号进行算术解码处理,并根据第二上下文模型,对该第二符号进行算术解码处理,以根据该算术解码处理后的第一索引信息,从该运动信息列表中确定最优运动信息,其中,该第一上下文模型与该第二上下文模型相异。
根据本发明实施例的用于图像处理的方法、装置编码器和解码器,在MERGE或AMVP等利用邻近图像块的运动信息来确定当前处理的图像块的运动信息的技术中,通过在运动信息列表中增加根据基本层图像运动信息确定的第一运动信息,能够在利用邻近图像块的运动信息来确定当前处理的图像块的运动信息的同时,利用基本层图像的运动信息来确定当前处理的图像块的运动信息,提高处理效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明一实施例的用于图像处理的方法的示意性流程图。
图2是根据本发明一实施例的指示空间运动信息的源位置的示意图。
图3是根据本发明一实施例的指示时间运动信息的源位置的示意图。
图4是根据本发明一实施例的子块划分与子块索引的示意图。
图5是根据本发明一实施例的用于图像处理的方法的另一示意性流程图。
图6是根据本发明一实施例的用于图像处理的装置的示意性框图。
图7是根据本发明另一实施例的用于图像处理的装置的示意性框图。
图8是根据本发明一实施例的用于图像处理的编码器的示意性框图。
图9是根据本发明另一实施例的用于图像处理的解码器的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明实施例的用于图像处理的方法、装置和系统能够适用于包括MERGE或AMVP等利用邻近图像块的运动信息来确定当前处理的图像块的运动信息的技术。
图1示出了从编码端角度描述的根据本发明实施例的用于图像处理的方法100的示意性流程图。如图1所示,该方法100包括:
S110,根据基本层图像块的运动信息确定目标图像块的第一运动信息,其中,该的基本层图像块位于基本层图像中,该目标图像块位于增强层图像中,该的基本层图像与该增强层图像相对应,且该基本图像块在该基本层图像中的空间位置与该目标图像块在该增强层图像中的空间位置相对应;
S120,根据该增强层图像中与该目标图像块相邻的邻近图像块的运动信息确定该目标图像块的第二运动信息;
S130,根据该第一运动信息和该第二运动信息,生成运动信息列表;
S140,根据预定规则从该运动信息列表中确定该目标图像块的最优运动信息。
S150,根据该最优运动信息,对该目标图像块进行编码,以生成目标码流,该目标码流包括用于指示该最优运动信息在该运动信息列表中的位置的第一索引信息
具体地说,在对图像进行分层编码,例如,在空间可伸缩编码时,可以将图像进行将分辨率处理得到低分辨率图像,作为对比将原图像称作高分辨率图像,编码器分别对该低分辨率图像以及该高分辨率图像进行编码。为方便描述,本文中将质量高的待编码图像称作增强层图像,将对应的质量低的待编码图像(例如所述低分辨率图像)称作基本层图像。
在本发明实施例中,目标图像是使用分层编码技术进行处理的图像,基本层是指分层编码中的质量(包括帧速率、空间分辨率、时间分辨率、信噪比强度或质量等级等参数)较低的层,增强层是指分层编码中的质量(包括帧速率、空间分辨率、时间分辨率、信噪比强度或质量等级等参数)较高的层。需要说明的是,在本发明实施例中,在本发明实施例中,对于一个给定的增强层,与其相对应的基本层可以为质量低于该增强层的任一层,例如,如果当前存在五层,编码质量依次提高(即,第一层质量最低,第五层质量最高),如果增强层为第四层,则基本层可以是第一层,也可以是第二层、也可以是第三层、也可以是第四层。同理,对于一个给定的基本层,与其相对应的增强层可以为质量低于该基本层的任一层。
增强层图像为当前处理的增强层中的图像,基本层图像为基本层中与增强层图像在同一时刻的图像。
综上所述,在本发明实施例中,该基本层图像的质量低于该增强层图像的质量。
目标图像块为该增强层图像中正在处理的图像块。
基本层图像块为基本层图像中与该目标图像块在空间位置上存在对应关系的图像块。
在本发明实施例中,基本层图像块与目标图像块的对应关系可以根据基本层图像与增强层图像之间的分辨率比例关系计算得到。例如,在包括x方向和y方向的系统内,如果增强层图像在x方向与y方向的分辨率分别是基本层图像的2倍,则对于增强层中左上角的像素坐标为(2x,2y)且大小为(2m)×(2n)的图像块,其基本层图像中的对应块可以是左上角的像素坐标为(x,y)且大小为m×n的图像块。
在本发明实施例中,后述子块是指目标图像块的子块(增强层内的图像块),后述对应子块是指该子块的在基本层中的基本层图像块(属于上述对应块)。
在本发明实施例中,运动信息可以包括预测方向、参考图像索引或运动矢量中的一个或多个,其中,预测方向可分为单向和双向预测,单向预测又可以分为前向预测与后向预测,前向预测指使用前向参考图像列表,即列表(list)0中的参考图像产生预测信号,后向预测指使用后向参考图像列表,即list 1中的参考图像产生预测信号,双向预测指同时使用list 0和list 1中的参考图像产生预测信号;对于单向预测,需要一个参考图像索引指示在list0或list 1中所选择的参考图像,对于双向预测,需要两个参考图像索引,分别指示在list 0与list 1中所选择的参考图像;每一个运动矢量包括水平方向分量x和竖直方向分量y,可记作(x,y),对于单向预测,需要一个运动矢量指示预测信号在所选择的list0或list 1参考图像中的位移,对于双向预测,需要两个运动矢量,分别指示前向预测信号与后向预测信号在所选择的list 0参考图像与list 1参考图像中的位移。
在本发明实施例中,第二运动信息是指从该目标图像块的邻近图像块(增强层图像的图像块)中获取的运动信息。在本发明实施例中,该第二运动信息可以包括空间运动信息和时间运动信息,空间运动信息是从增强层图像中的空间邻近块获取的运动信息,时间运动信息是指从增强层图像的参考图像中的时间邻近块获取的运动信息。在本发明实施例中,在S120中获取该第二运动信息的方法可以列举,以下方法,即
方法1
编码端和解码端可以设定一个预设值(例如,2),该预设值表示第二运动信息的数量(例如,两个)。图2示出了空间运动信息的源位置(获取位置),图3示出了时间运动信息的源位置(获取位置)。如图2或图3所示,在确定第二运动信息时,首先从A、B、C三类位置分别获取一个运动信息,其中A类位置包括A0和A1两个位置,B类位置包括B0、B1、B2三个位置,C类位置包括RB(右下)和Cer(中心)两个位置。从图3中的C类位置获取运动信息指从目标图像块的参考图像中与C类位置对应的位置获取运动信息。然后,从已获取的运动信息中去除重复的运动信息。如果去除重复的候选运动信息之后仍然有三个运动信息,则选择前两个运动信息作为候选运动信息;如果去除重复的候选运动信息之后的运动信息数量不足两个,则增加零运动信息,例如,在预测编码图像帧(P帧)中,零运动信息的预测方向为单向预测,参考图像索引为0,运动矢量(0,0)。在双向预测编码图像帧(B帧)中,零运动信息的预测方向为双向预测,两个参考图像索引均为0,两个运动矢量均为(0,0),以保证最终候选运动信息的数量为两个。
方法2
编码端和解码端可以设定一个预设值(例如,5),该预设值表示第二运动信息的数量(例如,五个)。图2示出了空间运动信息的源位置(获取位置),图3示出了时间运动信息的源位置(获取位置)。从图3中的C类位置获取运动信息指从目标图像块的参考图像中与C类位置对应的位置获取运动信息。如图2或图3所示,在五个运动信息中,包含最多四个空间运动信息和一个时间运动信息。在确定MERGE候选运动信息的过程中,如果从所有源位置获取的不重复的运动信息数量不足五个,则会按一定方法构造得到的双向预测运动信息或零运动信息,以保证候选运动信息数量为五个。以下省略相同或相似情况的说明。
下面,主要对在S110中编码端设备获取目标图像块的第一运动信息进行描述。
在S110中,编码端设备可以获取该目标图像块的基本层图像块包括的运动信息,并根据该基本层图像块包括的运动信息,确定第一运动信息。
可选地,在本发明实施例中,该根据基本层图像块的运动信息确定目标图像块的第一运动信息包括:
根据该基本层图像块包括的与该目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定该目标图像子块的运动信息,其中,该目标图像块子块具有预先设定的大小;
根据该目标图像子块的运动信息,确定该第一运动信息。
具体地说,在本发明实施例中,目标图像块可以看作由至少两个子块(即,目标图像子块)构成的,其中,该子块的大小可以根据预设值确定,为了便于说明,以下,以子块大小为4×4为例进行说明。例如,如果目标图像块的大小为16×16,则可以确定该目标图像块包括16个子块(大小为4×4)。从而,在本发明实施例中,可以确定该目标图像块中的每一个子块在基本层中的对应子块(属于该基本层图像块),并确定该对应子块的运动信息。
可选地,该根据该基本层图像块包括的与该目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定该目标图像子块的运动信息,包括:
当与第一目标图像子块相对应的第一基本层图像子块的运动信息为非空时,将该第一基本层图像子块的运动信息,作为该第一目标图像子块的运动信息。
具体地说,可以根据所择的子块(第一目标图像子块)中的某一像素点的坐标(记作:“(Ex,Ey)”),确定该像素点在基本层图像中对应位置的坐标(记作:“(Bx,By)”),并将包含所属对应的位置坐标的基本层图像块作为对应子块(第一基本层图像子块)。在本发明实施例中,可以按照以下式1和式2计算得到(Bx,By):
其中,Round()表示截断小数部分的操作,Rx和Ry表示偏移量,可以按照以下式3计算得到Rx,按照以下式4计算得到Ry
Rx=2s-5 (3)
Ry=2s-5 (4)
其中,S是精度控制因子(例如,在本发明实施例,可以设置为16),可以按照以下式5计算得到Dx,按照以下式6计算得到Dy
其中,BaseWidth表示基本层图像的宽,BaseHeight表示基本层图像的高,ScaledBaseWidth表示增强层图像的宽,以及ScaledBaseHeight表示增强层图像的高。
从而,可以确定该对应子块,并且,在该对应子块包括运动信息的情况下,可以直接使用该运动信息中的预测方向和参考图像索引作为该子块(第一目标图像子块)的预测方向与参考图象索引。可以根据以下式7至式10,对该对应子块的运动矢量(BMVx,BMVy)进行缩放,并将缩放后的运动矢量作为该子块(第一目标图像子块)的运动矢量(EMVx,EMVy)。
EMVx=(BMVx×ScaledBaseWidth+RBW)/BaseWidth (7)
EMVy=(BMVy×ScaledBaseHeight+RBH)/BaseHeight (8)
RBW=sgn(BMVx)*BaseWidth/2 (9)
RBH=sgn(BMVy)*BaseHeight/2 (10)
其中,sgn(x)是符号函数,可以获取x的符号。
这里,需要说明的是,如果基本层图像与增强层图像的分辨率相同,则无需进行上述的缩放操作,而可以直接使用对应子块的运动信息作为子块的运动信息。
应理解,在本发明实施例中,也可以不确定子块,而直接采用以上方法获取目标图像块的运动信息。即,可以认为目标图像块仅包括一个子块(该子块大小与目标图像块相同)。此时,可以采用与上述同样的方法获取目标图像块的运动信息。并且,如果目标图像块(或者说,目标图像块包括的唯一的子块)不存在运动信息,则使用零运动信息作为该子块的运动信息。在本发明实施例中,可以按照以下方法构造零运动信息。例如,在预测编码图像帧(P帧)中,零运动信息的预测方向为单向预测,参考图像索引为0,运动矢量(0,0)。在双向预测编码图像帧(B帧)中,零运动信息的预测方向为双向预测,两个参考图像索引均为0,两个运动矢量均为(0,0)。
可选地,在本发明实施例中,该方法还包括:
根据所述基本层图像的编码模式,确定与第一目标图像子块相对应的第一基本层图像子块是否包括运动信息。
具体地说,在本发明实施例中,可以根据所述基本层图像(或者说,基本层图像块)的编码模式确定该对应子块是否包含有运动信息。例如,如果基本层图像使用帧内预测编码模式,则可以确定该对应子块不包含运动信息(即,第一基本层图像子块的运动信息为空)。
从而,在该对应子块包括运动信息时,可以按如上所述过程确定该对应子块并获取其运动信息,在该对应子块不包括运动信息时,可以跳过以上流程。
在对应子块不包括运动信息的情况下。可以基于该对应子块的相邻块的运动信息来确定所述子块的运动信息。即,可选地,该目标图像块包括至少两个目标图像子块,以及
该根据该基本层图像块包括的与该目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定该目标图像子块的运动信息,包括:
当与该至少两个目标图像子块中的第一目标图像子块相对应的第一基本层图像子块的运动信息为空时,根据该目标图像块的大小、该目标图像子块的大小和用于指示该第一目标图像子块在该目标图像块中的位置的第二索引信息,确定该至少两个目标图像子块中的第二目标图像子块;
根据该第二目标图像子块的运动信息,确定该第一目标图像子块的运动信息;
对应,该根据该目标图像子块的运动信息,确定该第一运动信息,包括:
根据该第一目标图像子块的运动信息,确定该第一运动信息;或
根据该第二目标图像子块的运动信息,确定该第一运动信息;或
根据该第一目标图像子块的运动信息以及第二目标图像子块的运动信息,确定该第一运动信息。
具体地说,不失一般性,例如,如果目标图像块的大小为16×16,子块的大小为4×4,在本发明实施例中,子块的索引分配方法可以与现有技术相同,这里,省略其说明,图4所示了子块的划分与索引。
在本发明实施例中,可以根据目标图像块的大小和子块的大小,确定处理层次,并按处理层次逐层递推处理。例如,在本发明实施例中,可以规定最底层的层次(记作,第一层)中的每个处理单元(记作,第一处理单元)包括四个子块,第一层的上一层次(记作第二层)的每个处理单元(记作,第二处理单元)包括四个第一处理单元,以此类推,为了避免赘述,省略递推说明。从而,作为示例而非限定,在图4所示的目标图像块中,可以包括两个层次,第一层中,子块0~子块3构成了第一处理单元0,子块4~子块7构成了第一处理单元1,子块8~子块11构成了第一处理单元2,子块12~子块15构成了第一处理单元3。第二层中,第一处理单元0~第一处理单元3构成了第二处理单元0。应理解,以上列举的层次划分方法仅为示例性说明,本发明并不限定于此。
在本发明实施例中,对于每一个第一处理单元,可以按照子块的索引号(例如,从小到大)依次判定各子块的运动信息是否为空,如果该子块的运动信息为空,则可以基于该第一处理单元内与其相邻的子块(第二目标图像子块的一例)的运动信息确定其运动信息。例如,如果索引为0的子块(即,子块0,属于第一处理单元0)的运动信息为空,可以获取属于同一个处理单元(第一处理单元0)内其他子块的运动信息,并将该运动信息作为该子块0的运动信息。获取顺序可以为,例如,首先获取索引为1的子块(子块1,即,第二目标图像子块的一例,在水平方向上与子块0相邻)的运动信息,如果子块1的运动信息为空,则可以再获取索引为2(子块2,即,第二目标图像子块的另一例,在竖直方向上与子块0相邻)的子块的运动信息,如果子块2的运动信息为空,则可以再获取索引为3(子块3,即,第二目标图像子块的再一例,在对角线方向上与子块0相邻)的子块的运动信息。同理,对于各运动信息为空的子块,均可以通过以上方法对其运动信息进行填充。应理解,以上列举的对运动信息为空的子块的运动信息填充方法仅为示例性说明,本发明并不限定于此,例如,对于上述获取顺序,也可以先获取竖直方向上的规定子块(这里,为相邻子块)的运动信息,再获取水平方向上的规定子块(这里,为相邻子块)的运动信息,再获取对角线方向上的规定子块(这里,为相邻子块)的运动信息。即,该获取顺序可以任意变更。
从而,经上述在第一层内进行的处理,对各第一处理单元内的各子块进行上述处理后,只要该第一处理单元内的四个子块中有至少一个子块的运动信息不为空,就可以为该第一处理单元内所有运动信息为空的子块填充(或者说,获得)运动信息。
需要说明的是,对于已根据上述方法从基本层图像获取了运动信息的子块或者根据上述方法填充了运动信息的子块,在后续处理中需要使用该子块的运动信息时,可以直接使用为该子块填充的运动信息。即,第二目标图像子块的运动信息可以是指该第二目标图像子块的基本层对应子块的运动信息,也可以是为其填充的其他增强层子块的运动信息。即,该根据该目标图像子块的运动信息,确定该第一运动信息,包括:
根据该第一目标图像子块的运动信息,确定该第一运动信息;或
根据该第二目标图像子块的运动信息,确定该第一运动信息;或
根据该第一目标图像子块的运动信息以及第二目标图像子块的运动信息,确定该第一运动信息。
因此,当确定某一个子块(例如,子块0)的对应子块不包括运动信息时,可以从第一层中与该子块0处于同一第一处理单元(例如,第一处理单元0)的其他子块(例如,子块1~子块3)获取运动信息。当与该子块(例如,子块0)处于同一第一处理单元(例如,第一处理单元0)的其他子块(第一层内的规定子块,例如,子块1~子块3)的运动信息为空,则可以获取第二处理单元内的规定第一处理单元(例如,第一处理单元1~第一处理单元3)中规定子块(第二目标图像子块的另一例)的运动信息,并将该运动信息作为该子块(例如,子块0)的运动信息。
即,如果一个第一处理单元(例如,第一处理单元0)内的所有子块的对应子块均为空,则可以获取第二处理单元内的其他第一处理单元(例如,第一处理单元1~第一处理单元3)内的规定子块(为了便于说明,在本发明以各第一处理单元左上角的子块为例进行说明)的运动信息,并将该运动信息作为该第一处理单元(第一处理单元0)内各子块的运动信息。获取顺序可以为,例如,首先获取索引为1的第一处理单元(第一处理单元1,其在水平方向上与第一处理单元0相邻)的左上角的子块(子块4,即,第二目标图像子块的一例)的运动信息,如果子块4的运动信息为空,则可以认为该第一处理单元1内其他子块的运动信息也为空,从而可以再获取索引为2的第一处理单元(第一处理单元2,其在竖直方向上与第一处理单元0相邻)的左上角的子块(子块8,即,第二目标图像子块的另一例)的运动信息,如果子块8的运动信息为空,则可以认为该第一处理单元2内其他子块的运动信息也为空,从而可以再获取索引为3的第一处理单元(第一处理单元3,其在对角线方向上与第一处理单元0相邻)的左上角的子块(子块12,即,第二目标图像子块的再一例)的运动信息。同理,对于各运动信息为空的第一处理单元,均可以通过以上方法对其运动信息进行填充。应理解,以上列举的对运动信息为空的子块的运动信息填充方法仅为示例性说明,本发明并不限定于此,例如,对于上述获取顺序,也可以先获取竖直方向上的规定第一处理单元(这里,为相邻第一处理单元)的规定子块的运动信息,再获取水平方向上的规定第一处理单元(这里,为相邻第一处理单元)的规定子块的运动信息,再获取对角线方向上的规定第一处理单元(这里,为相邻第一处理单元)的规定子块的运动信息。即,该获取顺序可以任意变更。并且,作为上述“规定子块”并不限定于第一处理单元左上角的子块,也可以是同一第一处理单元内任意位置的子块。
需要说明的是,由于上述列举的目标图像块的大小为16×16,子块的大小为4×4,因此该目标图像块仅包括两层,上述递归过程结束。但是目标图像块的大小为更大,例如,32×32,而子块的大小为4×4,则该目标图像块包括三层,可以按照与上述相同的方法继续进行递归操作,为当目标图像块的所有子块获取运动信息。
该根据该目标图像块的大小、该目标图像子块的大小和用于指示该第一目标图像子块在该目标图像块中的位置的第二索引信息,确定该至少两个目标图像子块中的第二目标图像子块,包括:
根据以下任一公式,确定该第二目标图像子块,
Idx2=Idx1/N×N+((Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
其中,Idx2表示用于指示该第二目标图像子块在该目标图像块中的位置的第三索引信息,Idx1表示该第二索引信息,%表示模运算或取余操作,N表示该目标图像块包括的子块的数量。
具体地说,根据上述各公式可以根据当前正在处理的子块的索引,确定当前处理的层次内的第二目标图像子块,其中N与当前正在处理的层次相对应,并且,N是根据目标图像块的大小和子块的大小确定的(其中,该子块的大小根据预设值确定的),例如,如果目标图像块的大小为16×16,子块的大小为4×4,则如上所述该目标图像块包括两层,在处理第一层时,N为该层中各处理单元(第一处理单元)包括的子块数量,这里为4。在处理第二层时,N为该层中各处理单元(第二处理单元)包括的子块数量,这里为16。
以上,列举了当上述“规定子块”为所述处理单元的左上角子块时,所使用的公式。但本发明并不限定与此,还可以根据“规定子块”所述处理单元中的位置,对上述公式进行变更。
可选地,该根据该基本层图像块包括的与该目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定该目标图像子块的运动信息,进一步包括:
如果该第二目标图像子块的运动信息为空,则确定该第一目标图像子块的运动信息为零运动信息。
具体地说,如果经上述处理后,不能为该子块填充运动信息,则使用零运动信息作为该子块的运动信息。在本发明实施例中,可以按照以下方法构造零运动信息。例如,在预测编码图像帧(P帧)中,零运动信息的预测方向为单向预测,参考图像索引为0,运动矢量(0,0)。在双向预测编码图像帧(B帧)中,零运动信息的预测方向为双向预测,两个参考图像索引均为0,两个运动矢量均为(0,0)。
需要说明的是,当目标图像块包括多个处理层次,上述使用零运动信息作为该子块的运动信息的方法,可以在对最后一个层次进行处理后进行,也可以在对其他任一层次进行处理后进行,本发明并未特别限定。应理解,以上列举的获取子块的运动信息的方法仅为本发明的示例性说明,本发明并不限定于此,例如,在本发明是示例中,还可以如上所述,根据所述基本层图像(基本层图像块)的编码模式确定该对应子块是否包含有运动信息。例如,如果基本层图像使用帧内预测编码模式,则可以确定该对应子块不包含运动信息(即,第一基本层图像子块的运动信息为空)。如果确定目标图像块的所有子块中只有一个子块(具体地说,是其对应子块)具有运动信息,则可以将该子块的运动信息作为其他子块的运动信息。
由此,完成了对目标图像块的第一运动信息的获取处理,从而,在S130,可以将该第一运动信息和第二运动信息加入运动信息列表。
这里,需要说明的是,在将本发明实施例应用于MERGE技术的情况下,除了将目前图像块中所有子块的运动信息作为一个整体(即,各运动信息由统一的索引(第一索引信息)指示)加入运动信息列表,还可以将各子块的运动信息中的部分或全部运动信息加入运动信息列表(即,各运动信息由不同的索引(第一索引信息)指示)。
在将各子块的运动信息中的部分或全部加入运动信息列表时,可选地,该根据该子块的运动信息,确定该第一运动信息,包括:
根据第三目标图像子块的运动信息,确定该第一运动信息,其中,该第三目标图像子块为该目标图像块中位于预设位置的子块,或
该第三目标图像子块的运动信息在该子块的运动信息中的出现频率最高。
具体地说,在本发明实施例中,该一个或多个运动信息可以从基本层中的基本层图像块的不同位置获取。本发明实施例可以提供三种获取该运动信息(第一运动信息)的方法。
应理解,在本发明实施例中,为了便于理解,将上述子块区分为第一目标图像子块、第二目标图像子块和第三目标图像子块,但是,第三目标图像子块也可以是与第一目标图像子块或第二目标图像子块相同的子块,本发明并未特别限定。以下,省略对相同或相似情况的说明。
方法a,选择目标图像块的最左上角的子块的运动信息(具体地说,是其对应子块的运动信息)。
方法b,选择目标图像块的正中间的子块的运动信息(具体地说,是其对应子块的运动信息)。
方法c,选择目标图像块的的子块的运动信息(具体地说,是其对应子块的运动信息)中出现频率最高的运动信息。
在将本发明实施例应用于AMVP技术的情况下,可以根据预设值(用于指示运动信息列表中包括的运动信息的个数),从各子块的运动信息中选择一个或多个运动信息。
可选地,该根据该子块的运动信息,确定该第一运动信息,包括:
根据第三目标图像子块的运动信息,确定该第一运动信息,其中,该第三目标图像子块为该目标图像块中位于预设位置的子块,或
该第三目标图像子块的运动信息在该子块的运动信息中的出现频率最高。
具体地说,在本发明实施例中,该一个或多个运动信息可以从基本层中的基本层图像块的不同位置获取。本发明实施例可以以上三种获取该运动信息(第一运动信息)的方法(方法a、方法b、方法c)。
可选地,该根据第三目标图像子块的运动信息,确定该第一运动信息,包括:
根据该第三目标图像子块的运动信息的参考图像、该目标图像和该目标图像块的参考图像的时域距离关系,对该第三目标图像子块的运动信息进行缩放处理;
根据该缩放处理后的第三目标图像子块的运动信息,确定该第一运动信息。
具体地说,在本发明实施例中,可以根据所选择的运动信息的参考图像、该增强层图像以及目标图像块的参考图像三者在时间上的距离关系,对选择的运动信息进行适当缩放处理,将该放缩处理后的运动信息作为第一运动信息加入运动信息列表。
在S130,可选地,在本发明实施例中,该第二运动信息包括时间运动信息和空间运动信息,以及
该根据该第一运动信息和该第二运动信息,确定运动信息列表,包括:
根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的首位;或
根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的末位;或
根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于该运动信息列表中的空间运动信息与该时间运动信息之间。
具体地说,在本发明实施例中,第一运动信息可以位于运动信息列表的首位末位,或者,在运动信息列表中第一运动信息可以位于所有空间运动信息之后,且位于时间运动信息之前。
在S140中,可以从该运动信息列表中确定该目标图像块的最优运动信息,该预预定规则,例如,可以为:计算运动信息列表中每一个运动信息的率失真代价,选择率失真代价最小的运动信息作为最优运动信息。
并且,在本发明实施例中,该方法还包括:
确定最优编码模式,以对该目标图像块进行运动补偿编码操作。
具体地说,可以计算每一种模式的率失真代价,选择率失真代价最小的编码模式作为最优编码模式。
如果所选择的最优编码模式包括该最优运动信息,则使用该最优运动信息对该目标图像块进行运动补偿编码操作。
可选地,在该目标图像块包括多于一个子块的情况下,当该最优信息为该第一运动信息时,该方法还包括:
对位于各子块之间的边界附近的像素进行滤波处理。
具体地说,在本发明实施例中,在上述最优编码模式为MERGE模式的情况下,还可以对在目标图像块与其邻近块之间的边界附近像素滤波。并且,在选择该第一运动信息作为最优运动信息的情况下,还可以对目标图像块的各子块间的边界附近像素进行滤波处理。
在S150中,对用于指示上述最优运动信息在上述运动信息列表中的位置的索引(第一索引信息)进行熵编码处理。
在本发明实施例中,该熵编码处理可以包含二值化编码处理,上下文模型选择处理,二进制算术编码处理,上下文更新处理。
在二值化处理中,可以采用,例如截断一元(TU,Truncated Unary)码二值化。在运动信息列表包括的运动信息的数目为5(预设值为5)的情况下,TU码二值化如以下表1所示,
表1
第一索引 | 二进制符号字串 |
0 | 0 |
1 | 10 |
2 | 110 |
3 | 1110 |
4 | 1111 |
可选地,该第一索引信息包括用于指示该最优运动信息是否为该第一运动信息的第一符号和用于指示该最优运动信息在该运动列表中的位置的第二符号,以及
该根据该最优运动信息,进行编码,包括:
根据第一上下文模型,对该第一符号进行算术编码处理;
根据第二上下文模型,对该第二符号进行算术编码处理,其中,该第一上下文模型与该第二上下文模型相异。
具体地说,本发明实施例的第一索引信息可以包括两种符号,即,用于指示该最优运动信息是否为该第一运动信息的第一符号和用于指示该最优运动信息在该运动列表中的位置的第二符号。并且,该第一索引信息可以只包括一个符号位也可以包括多个符号位。
例如,当第一运动信息位于运动信息列表的首位,且选择的最优运动信息为该第一运动信息时,可以仅包括一个符号位,此时,第一符号与第二符号相同,均位于该唯一的符号位。
当第一运动信息不位于运动信息列表的首位时,例如,第一符号可以用一个符号位来承载,例如,0表示该最优运动信息为该第一运动信息,1表示该最优运动信息不为该第一运动信息。并且,第二符号可以用其他符号位来承载。
在本发明实施例中,对上述两种符号使用不同的上下文模型(或者说,上下文)。
在上下文模型选择处理中,如果第一运动信息放置在运动信息列表的首位,且,该第一运动信息为最优运动信息,则可以将第一索引信息二值化之后得到的二进制符号字串中的第一个二进制符号作为第一符号。
并且,在本实施例中,第一符号使用的上下文模型如以下表2所示,可以包含0、1、2三种上下文模型。在本实施例中,例如,可以根据目标图像块左边和上方的图像块是否使用其各自的第一运动信息,确定使用哪一种上下文模型,例如,如果目标图像块左边和上方的图像块都不使用第一运动信息,那么选择索引为0的上下文模型,如果目标图像块左边和上方的图像块有一个使用第一运动信息,那么选择索引为1的上下文模型,如果目标图像块左边和上方的图像块都使用第一运动信息,那么选择索引为2的上下文。
在本实施例中,所述第二上下文模型可以是等概率模型。而使用等概率模型编码的编码方式也就是旁路(by-pass)编码方式,即直接将所述第二符号写入码流的编码方式。如果使用by-pass编码方式,则无需进行上下文更新处理。
表2
应理解,以上列举的选择上下文模型的方法仅为示例性说明,本发明并不限定于此,例如,第一符号和第二符号也可以使用相同的上下文模型,或者采用by-pass模式(即不使用上下文模型而将该二进制符号直接写入码流)编码该第一索引信息。
其后,可以根据如上所述选择的上下文模型对该第一索引信息进行二进制算术编码,并更新所使用的上下文模型。在本发明实施例中,该过程可以与现有技术相同,这里为了避免赘述,省略其说明。
在本发明实施例中,可以根据所选择的最优运动信息,对目标图像块进行运动补偿处理,并将该运动补偿处理后生成的目标图像块的信息以及上述熵编码处理后的第一索引信息加入码流(目标码流)。
这里,需要说明的是,在该目标码流中,可以包括编码处理后的目标图像(包括基本层图像和增强层图像),并且,该处理过程可以与现有技术相同,这里,为了避免赘述,省略其说明。
在解码端,可以从码流中获取目标图像信息,并确定目标图像(具体地说,是目标图像块),并使用与编码端相同的方法获取第一运动信息和第二运动信息,并生成运动信息列表。
对获取的第一索引信息(熵编码处理后的信息)进行熵解码处理,该处理过程可以包括:上下文模型选择处理,二进制算术解码处理,二值化解码处理,上下文更新处理。
其中,上下文模型选择处理与上下文更新处理与上述编码端的处理相同或相似,这里省略其说明。
在二进制算术解码处理中,可以根据选择的上下文模型从码流中解析得到表示第一索引信息的二进制符号字串(bin string)。其中,该二进制算术解码处理与编码端的二进制算术编码处理相对应。
在二值化解码处理中,可以根据解析到的二进制符号字串确定第一索引信息,其中,所使用的二进制符号字串与各第一索引信息(数值)的对应关系与编码端相同,如上述表1所示。
其后,可以根据解码后的第一索引信息从运动信息列表中,选择最优运动信息,作为目标图像块的运动信息,以使用该运动信息对目标图像块进行运动补偿处理。
这里,需要说明的是,在将本发明实施例应用于MERGE模式的情况下,需要对目标图像块的各个子块进行运动补偿操作。在通过运动补偿获取当前块的预测信号后,还可以叠加另外解码得到的残差信号,以获取重建信号。
并且,在编码模式为MERGE模式的情况下,还可以对在目标图像块与其邻近块之间的边界附近像素滤波。并且,在最优运动信息为第一运动信息作为的情况下,还可以对目标图像块的各子块间的边界附近像素进行滤波处理。
在将本发明实施例应用于AMVP模式的情况下,可以根据该最优运动信息,结合另外熵解码得到的预测方向、参考图像索引以及运动矢量差值,推导得到目标图像块的运动信息。使用该运动信息对当前块进行运动补偿操作。在通过运动补偿获取当前块的预测信号后,还可以叠加另外解码得到的残差信号,以获取重建信号。
根据本发明实施例的用于图像处理的方法,在MERGE或AMVP等利用邻近图像块的运动信息来确定当前处理的图像块的运动信息的技术中,通过在运动信息列表中增加根据基本层图像运动信息确定的第一运动信息,能够在利用邻近图像块的运动信息来确定当前处理的图像块的运动信息的同时,利用基本层图像的运动信息来确定当前处理的图像块的运动信息,提高处理效率。
图5示出了从解码端角度描述的根据本发明实施例的用于图像处理的方法200的示意性流程图。如图5所示,该方法200包括:
S210,根据基本层图像块的运动信息确定目标图像块的第一运动信息,其中,该的基本层图像块位于基本层图像中,该目标图像块位于增强层图像中,该的基本层图像与该增强层图像相对应,且该基本图像块在该基本层图像中的空间位置与该目标图像块在该增强层图像中的空间位置相对应;
S220,根据该增强层图像中与该目标图像块相邻的邻近图像块的运动信息确定该目标图像块的第二运动信息;
S230,根据该第一运动信息和该第二运动信息,生成运动信息列表;
S240,根据目标码流,获取用于指示该最优运动信息在该运动信息列表中的位置的第一索引信息;
S250,根据该第一索引信息,从该运动信息列表中确定最优运动信息,根据该最优运动信息,对该目标码流进行解码,以获取该目标图像块。
具体地说,在对图像进行分层编码,例如,在空间可伸缩编码时,可以将图像进行将分辨率处理得到低分辨率图像,作为对比将原图像称作高分辨率图像,编码器分别对该低分辨率图像以及该高分辨率图像进行编码。为方便描述,本文中将质量高的待编码图像称作增强层图像,将对应的质量低的待编码图像(例如所述低分辨率图像)称作基本层图像。
在本发明实施例中,目标图像是使用分层编码技术进行处理的图像,基本层是指分层编码中的质量(包括帧速率、空间分辨率、时间分辨率、信噪比强度或质量等级等参数)较低的层,增强层是指分层编码中的质量(包括帧速率、空间分辨率、时间分辨率、信噪比强度或质量等级等参数)较高的层。需要说明的是,在本发明实施例中,在本发明实施例中,对于一个给定的增强层,与其相对应的基本层可以为质量低于该增强层的任一层,例如,如果当前存在五层,编码质量依次提高(即,第一层质量最低,第五层质量最高),如果增强层为第四层,则基本层可以是第一层,也可以是第二层、也可以是第三层、也可以是第四层。同理,对于一个给定的基本层,与其相对应的增强层可以为质量低于该基本层的任一层。
增强层图像为当前处理的增强层中的图像,基本层图像为基本层中与增强层图像在同一时刻的图像。
综上所述,在本发明实施例中,该基本层图像的质量低于该增强层图像的质量。
目标图像块为该增强层图像中正在处理的图像块。
基本层图像块为基本层图像中与该目标图像块在空间位置上存在对应关系的图像块。
在本发明实施例中,基本层图像块与目标图像块的对应关系可以根据基本层图像与增强层图像之间的分辨率比例关系计算得到。例如,在包括x方向和y方向的系统内,如果增强层图像在x方向与y方向的分辨率分别是基本层图像的2倍,则对于增强层中左上角的像素坐标为(2x,2y)且大小为(2m)×(2n)的图像块,其基本层图像中的对应块可以是左上角的像素坐标为(x,y)且大小为m×n的图像块。
在本发明实施例中,后述子块是指目标图像块的子块(增强层内的图像块),后述对应子块是指该子块的在基本层中的基本层图像块(属于上述对应块)。
在本发明实施例中,运动信息可以包括预测方向、参考图像索引或运动矢量中的一个或多个,其中,预测方向可分为单向和双向预测,单向预测又可以分为前向预测与后向预测,前向预测指使用前向参考图像列表,即列表(list)0中的参考图像产生预测信号,后向预测指使用后向参考图像列表,即list 1中的参考图像产生预测信号,双向预测指同时使用list 0和list 1中的参考图像产生预测信号;对于单向预测,需要一个参考图像索引指示在list0或list 1中所选择的参考图像,对于双向预测,需要两个参考图像索引,分别指示在list 0与list 1中所选择的参考图像;每一个运动矢量包括水平方向分量x和竖直方向分量y,可记作(x,y),对于单向预测,需要一个运动矢量指示预测信号在所选择的list0或list 1参考图像中的位移,对于双向预测,需要两个运动矢量,分别指示前向预测信号与后向预测信号在所选择的list 0参考图像与list 1参考图像中的位移。
在本发明实施例中,第二运动信息是指从该目标图像块的邻近图像块(增强层图像的图像块)中获取的运动信息。在本发明实施例中,该第二运动信息可以包括空间运动信息和时间运动信息,空间运动信息是从增强层图像中的空间邻近块获取的运动信息,时间运动信息是指从增强层图像的参考图像中的时间邻近块获取的运动信息。
在本发明实施例中,在S210中,解码端设备可以获取该目标图像块的基本层图像块包括的运动信息,并根据该基本层图像块包括的运动信息,确定第一运动信息。
可选地,在本发明实施例中,该根据基本层图像块的运动信息确定目标图像块的第一运动信息包括:
根据该基本层图像块包括的与该目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定该目标图像子块的运动信息,其中,该目标图像块子块具有预先设定的大小;
根据该目标图像子块的运动信息,确定该第一运动信息。
具体地说,在本发明实施例中,目标图像块可以看作由一个或多个子块构成的,其中,该子块的大小可以根据预设值确定,为了便于说明,以下,以子块大小为4×4为例进行说明。例如,如果目标图像块的大小为16×16,则可以确定该目标图像块包括16个子块(大小为4×4)。从而,在本发明实施例中,可以确定该目标图像块中的每一个子块在基本层中的对应子块(属于该基本层图像块),并确定该对应子块的运动信息。
可选地,该根据该基本层图像块包括的与该子块相对应的对应子块的运动信息,确定该子块的运动信息,包括:
当与第一目标图像子块相对应的第一基本层图像子块的运动信息为非空时,将该第一基本层图像子块的运动信息,作为该第一目标图像子块的运动信息。
具体地说,可以根据所择的子块(第一目标图像子块)中的某一像素点的坐标(记作:“(Ex,Ey)”),确定该像素点在基本层图像中对应位置的坐标(记作:“(Bx,By)”),并将包含所属对应的位置坐标的基本层图像块作为所述对应子块。在本发明实施例中,可以按照以上式1至式10计算得到(Bx,By)。
这里,需要说明的是,如果基本层图像与增强层图像的分辨率相同,则无需进行上述的缩放操作,而可以直接使用对应子块的运动信息作为子块的运动信息。
应理解,在本发明实施例中,也可以不确定子块,而直接采用以上方法获取目标图像块的运动信息。即,可以认为目标图像块仅包括一个子块(该子块大小与目标图像块相同)。此时,可以采用与上述同样的方法获取目标图像块的运动信息。并且,如果目标图像块(或者说,目标图像块包括的唯一的子块)不存在运动信息,则使用零运动信息作为该子块的运动信息。在本发明实施例中,可以按照以下方法构造零运动信息。例如,在预测编码图像帧(P帧)中,零运动信息的预测方向为单向预测,参考图像索引为0,运动矢量(0,0)。在双向预测编码图像帧(B帧)中,零运动信息的预测方向为双向预测,两个参考图像索引均为0,两个运动矢量均为(0,0)。
可选地,在本发明实施例中,该方法还包括:
根据所述基本层图像的编码模式,确定与第一目标图像子块相对应的第一基本层图像子块是否包括运动信息。
具体地说,在本发明实施例中,可以根据所述基本层图像(基本层图像块)的编码模式确定该对应子块是否包含有运动信息。例如,如果基本层图像使用帧内预测编码模式,则可以确定该对应子块不包含运动信息(即,第一基本层图像子块的运动信息为空)。
从而,在该对应子块包括运动信息时,可以按如上所述过程确定该对应子块并获取其运动信息,在该对应子块不包括运动信息时,可以跳过以上流程。
在对应子块不包括运动信息的情况下。可以基于该对应子块的相邻块的运动信息来确定所述子块的运动信息。即,可选地,该目标图像块包括至少两个目标图像子块,以及
该根据该基本层图像块包括的与该目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定该目标图像子块的运动信息,包括:
当与该至少两个目标图像子块中的第一目标图像子块相对应的第一基本层图像子块的运动信息为空时,根据该目标图像块的大小、该目标图像子块的大小和用于指示该第一目标图像子块在该目标图像块中的位置的第二索引信息,确定该至少两个目标图像子块中的第二目标图像子块;
根据该第二目标图像子块的运动信息,确定该第一目标图像子块的运动信息;
对应,该根据该目标图像子块的运动信息,确定该第一运动信息,包括:
根据该第一目标图像子块的运动信息,确定该第一运动信息;或
根据该第二目标图像子块的运动信息,确定该第一运动信息;或
根据该第一目标图像子块的运动信息以及第二目标图像子块的运动信息,确定该第一运动信息。
具体地说,不失一般性,例如,如果目标图像块的大小为16×16,子块的大小为4×4,在本发明实施例中,子块的索引分配方法可以与现有技术相同,这里,省略其说明,图4所示了子块的划分与索引。
在本发明实施例中,可以根据目标图像块的大小和子块的大小,确定处理层次,并按处理层次逐层递推处理。例如,在本发明实施例中,可以规定最底层的层次(记作,第一层)中的每个处理单元(记作,第一处理单元)包括四个子块,第一层的上一层次(记作第二层)的每个处理单元(记作,第二处理单元)包括四个第一处理单元,以此类推,为了避免赘述,省略递推说明。从而,作为示例而非限定,在图4所示的目标图像块中,可以包括两个层次,第一层中,子块0~子块3构成了第一处理单元0,子块4~子块7构成了第一处理单元1,子块8~子块11构成了第一处理单元2,子块12~子块15构成了第一处理单元3。第二层中,第一处理单元0~第一处理单元3构成了第二处理单元0。应理解,以上列举的层次划分方法仅为示例性说明,本发明并不限定于此。
在本发明实施例中,对于每一个第一处理单元,可以按照子块的索引号(例如,从小到大)依次判定各子块的运动信息是否为空,如果该子块的运动信息为空,则可以基于该第一处理单元内与其相邻的子块(第二目标图像子块的一例)的运动信息确定其运动信息。例如,如果索引为0的子块(即,子块0,属于第一处理单元0)的运动信息为空,可以获取属于同一个处理单元(第一处理单元0)内其他子块的运动信息,并将该运动信息作为该子块0的运动信息。获取顺序可以为,例如,首先获取索引为1的子块(子块1,即,第二目标图像子块的一例,在水平方向上与子块0相邻)的运动信息,如果子块1的运动信息为空,则可以再获取索引为2(子块2,即,第二目标图像子块的另一例,在竖直方向上与子块0相邻)的子块的运动信息,如果子块2的运动信息为空,则可以再获取索引为3(子块3,即,第二目标图像子块的再一例,在对角线方向上与子块0相邻)的子块的运动信息。同理,对于各运动信息为空的子块,均可以通过以上方法对其运动信息进行填充。应理解,以上列举的对运动信息为空的子块的运动信息填充方法仅为示例性说明,本发明并不限定于此,例如,对于上述获取顺序,也可以先获取竖直方向上的规定子块(这里,为相邻子块)的运动信息,再获取水平方向上的规定子块(这里,为相邻子块)的运动信息,再获取对角线方向上的规定子块(这里,为相邻子块)的运动信息。即,该获取顺序可以任意变更。
从而,经上述在第一层内进行的处理,对各第一处理单元内的各子块进行上述处理后,只要该第一处理单元内的四个子块中有至少一个子块的运动信息不为空,就可以为该第一处理单元内所有运动信息为空的子块填充(或者说,获得)运动信息。
需要说明的是,对于已根据上述方法从基本层图像获取了运动信息的子块或者根据上述方法填充了运动信息的子块,在后续处理中需要使用该子块的运动信息时,可以直接使用为该子块填充的运动信息。即,第二目标图像子块的运动信息可以是指该第二目标图像子块的基本层对应子块的运动信息,也可以是为其填充的其他增强层子块的运动信息。即,该根据该目标图像子块的运动信息,确定该第一运动信息,包括:
根据该第一目标图像子块的运动信息,确定该第一运动信息;或
根据该第二目标图像子块的运动信息,确定该第一运动信息;或
根据该第一目标图像子块的运动信息以及第二目标图像子块的运动信息,确定该第一运动信息。
因此,当确定某一个子块(例如,子块0)的对应子块不包括运动信息时,可以从第一层中与该子块0处于同一第一处理单元(例如,第一处理单元0)的其他子块(例如,子块1~子块3)获取运动信息。当与该子块(例如,子块0)处于同一第一处理单元(例如,第一处理单元0)的其他子块(第一层内的规定子块,例如,子块1~子块3)的运动信息为空,则可以获取第二处理单元内的规定第一处理单元(例如,第一处理单元1~第一处理单元3)中规定子块(第二目标图像子块的另一例)的运动信息,并将该运动信息作为该子块(例如,子块0)的运动信息。
即,如果一个第一处理单元(例如,第一处理单元0)内的所有子块的对应子块均为空,则可以获取第二处理单元内的其他第一处理单元(例如,第一处理单元1~第一处理单元3)内的规定子块(为了便于说明,在本发明以各第一处理单元左上角的子块为例进行说明)的运动信息,并将该运动信息作为该第一处理单元(第一处理单元0)内各子块的运动信息。获取顺序可以为,例如,首先获取索引为1的第一处理单元(第一处理单元1,其在水平方向上与第一处理单元0相邻)的左上角的子块(子块4,即,第二目标图像子块的一例)的运动信息,如果子块4的运动信息为空,则可以认为该第一处理单元1内其他子块的运动信息也为空,从而可以再获取索引为2的第一处理单元(第一处理单元2,其在竖直方向上与第一处理单元0相邻)的左上角的子块(子块8,即,第二目标图像子块的另一例)的运动信息,如果子块8的运动信息为空,则可以认为该第一处理单元2内其他子块的运动信息也为空,从而可以再获取索引为3的第一处理单元(第一处理单元3,其在对角线方向上与第一处理单元0相邻)的左上角的子块(子块12,即,第二目标图像子块的再一例)的运动信息。同理,对于各运动信息为空的第一处理单元,均可以通过以上方法对其运动信息进行填充。应理解,以上列举的对运动信息为空的子块的运动信息填充方法仅为示例性说明,本发明并不限定于此,例如,对于上述获取顺序,也可以先获取竖直方向上的规定第一处理单元(这里,为相邻第一处理单元)的规定子块的运动信息,再获取水平方向上的规定第一处理单元(这里,为相邻第一处理单元)的规定子块的运动信息,再获取对角线方向上的规定第一处理单元(这里,为相邻第一处理单元)的规定子块的运动信息。即,该获取顺序可以任意变更。并且,作为上述“规定子块”并不限定于第一处理单元左上角的子块,也可以是同一第一处理单元内任意位置的子块。
需要说明的是,由于上述列举的目标图像块的大小为16×16,子块的大小为4×4,因此该目标图像块仅包括两层,上述递归过程结束。但是目标图像块的大小为更大,例如,32×32,而子块的大小为4×4,则该目标图像块包括三层,可以按照与上述相同的方法继续进行递归操作,为当目标图像块的所有子块获取运动信息。
该根据该目标图像块的大小、该目标图像子块的大小和用于指示该第一目标图像子块在该目标图像块中的位置的第二索引信息,确定该至少两个目标图像子块中的第二目标图像子块,包括:
根据以下任一公式,确定该第二目标图像子块,
Idx2=Idx1/N×N+((Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
其中,Idx2表示用于指示该第二目标图像子块在该目标图像块中的位置的第三索引信息,Idx1表示该第二索引信息,N是根据该目标图像块的大小和该目标图像子块的大小确定的。
具体地说,根据上述各公式可以根据当前正在处理的子块的索引,确定当前处理的层次内的第二目标图像子块,其中N与当前正在处理的层次相对应,并且,N是根据目标图像块的大小和预设值确定的,例如,如果目标图像块的大小为16×16,子块的大小为4×4,则如上所述该目标图像块包括两层,在处理第一层时,N为该层中各处理单元(第一处理单元)包括的子块数量,这里为4。在处理第二层时,N为该层中各处理单元(第二处理单元)包括的子块数量,这里为16。
以上,列举了当上述“规定子块”为所述处理单元的左上角子块时,所使用的公式。但本发明并不限定与此,还可以根据“规定子块”所述处理单元中的位置,对上述公式进行变更。
可选地,该根据该基本层图像块包括的与该目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定该目标图像子块的运动信息,进一步包括:
如果该第二目标图像子块的运动信息为空,则确定该第一目标图像子块的运动信息为零运动信息。
具体地说,如果经上述处理后,不能为该子块填充运动信息,则使用零运动信息作为该子块的运动信息。在本发明实施例中,可以按照以下方法构造零运动信息。例如,在预测编码图像帧(P帧)中,零运动信息的预测方向为单向预测,参考图像索引为0,运动矢量(0,0)。在双向预测编码图像帧(B帧)中,零运动信息的预测方向为双向预测,两个参考图像索引均为0,两个运动矢量均为(0,0)。
需要说明的是,当目标图像块包括多个处理层次,上述使用零运动信息作为该子块的运动信息的方法,可以在对最后一个层次进行处理后进行,也可以在对其他任一层次进行处理后进行,本发明并未特别限定。应理解,以上列举的获取子块的运动信息的方法仅为本发明的示例性说明,本发明并不限定于此,例如,在本发明是示例中,还可以如上所述,根据所述基本层图像(基本层图像块)的编码模式确定该对应子块是否包含有运动信息。例如,如果基本层图像使用帧内预测编码模式,则可以确定该对应子块不包含运动信息(即,第一基本层图像子块的运动信息为空)。如果确定目标图像块的所有子块中只有一个子块(具体地说,是其对应子块)具有运动信息,则可以将该子块的运动信息作为其他子块的运动信息。
由此,完成了对目标图像块的第一运动信息的获取处理,从而,在S120,可以将该第一运动信息和第二运动信息加入运动信息列表。
这里,需要说明的是,在将本发明实施例应用于MERGE技术的情况下,除了将目前图像块中所有子块的运动信息作为一个整体(即,各运动信息由统一的索引(第一索引信息)指示)加入运动信息列表,还可以将各子块的运动信息中的部分或全部运动信息加入运动信息列表(即,各运动信息由不同的索引(第一索引信息)指示)。
当将各子块的运动信息中的部分或全部加入运动信息列表时,可选地,该根据该子块的运动信息,确定该第一运动信息,包括:
根据第三目标图像子块的运动信息,确定该第一运动信息,其中,该第三目标图像子块为该目标图像块中位于预设位置的子块,或
该第三目标图像子块的运动信息在该子块的运动信息中的出现频率最高。
具体地说,在本发明实施例中,该一个或多个运动信息可以从基本层中的基本层图像块的不同位置获取。本发明实施例可以提供上述方法a、方法b和方法c三种获取该运动信息(第一运动信息)的方法。
在将本发明实施例应用于AMVP技术的情况下,可以根据预设值(用于指示运动信息列表中包括的运动信息的个数),将从各子块的运动信息中选择一个或多个运动信息。
可选地,该根据该子块的运动信息,确定该第一运动信息,包括:
根据第三目标图像子块的运动信息,确定该第一运动信息,其中,该第三目标图像子块为该目标图像块中位于预设位置的子块,或
该第三目标图像子块的运动信息在该子块的运动信息中的出现频率最高。
具体地说,在本发明实施例中,该一个或多个运动信息可以从基本层中的基本层图像块的不同位置获取。本发明实施例可以提供上述方法a、方法b和方法c三种获取该运动信息(第一运动信息)的方法。
可选地,该根据第三目标图像子块的运动信息,确定该第一运动信息,包括:
根据该第三目标图像子块的运动信息的参考图像、该目标图像和该目标图像块的参考图像的时域距离关系,对该第三目标图像子块的运动信息进行缩放处理;
根据该缩放处理后的第三目标图像子块的运动信息,确定该第一运动信息。
具体地说,在本发明实施例中,可以根据所选择的运动信息的参考图像、该增强层图像以及目标图像块的参考图像三者在时间上的距离关系,对选择的运动信息进行适当缩放处理,将该放缩处理后的运动信息作为第一运动信息加入运动信息列表。
具体地说,在S220,可以从码流中获取目标图像,获取当前处理的目标图像块的第一运动信息和第二运动信息,并生成运动信息列表。其中,获取该第二运动信息的方法可以列举,上述方法1和方法2。
在S230,可以确定该运动信息列表。
可选地,在本发明实施例中该第二运动信息包括时间运动信息和空间运动信息,以及
该根据该第一运动信息和该第二运动信息,确定运动信息列表,包括:
根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的首位;或
根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的末位;或
根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于该运动信息列表中的空间运动信息与该时间运动信息之间。
具体地说,在本发明实施例中,第一运动信息可以位于运动信息列表的首位末位,或者,在运动信息列表中第一运动信息可以位于所有空间运动信息之后,且位于时间运动信息之前。
在S240中,可以从码流中获取第一索引信息,并对获取的第一索引信息(熵编码处理后的信息)进行熵解码处理,该处理过程可以包括:上下文模型选择处理,二进制算术解码处理,二值化解码处理,上下文更新处理。
在二值化处理中,可以采用,例如截断一元(TU,Truncated Unary)码二值化。在运动信息列表包括的运动信息的数目为5(预设值为5)的情况下,TU码二值化如上述表1所示。
可选地,该第一索引信息包括用于指示该最优运动信息是否为该第一运动信息的第一符号和用于指示该最优运动信息在该运动列表中的位置的第二符号,以及
该编码单元具体用于根据第一上下文模型,对该第一符号进行算术编码处理;
用于根据第二上下文模型,对该第二符号进行算术编码处理,其中,该第一上下文模型与该第二上下文模型相异。
具体地说,本发明实施例的第一索引信息可以包括两种符号,即,用于指示该最优运动信息是否为该第一运动信息的第一符号和用于指示该最优运动信息在该运动列表中的位置的第二符号。并且,该第一索引信息可以只包括一个符号位也可以包括多个符号位。
例如,当第一运动信息位于运动信息列表的首位,且选择的最优运动信息为该第一运动信息时,可以仅包括一个符号位,此时,第一符号与第二符号相同,均位于该唯一的符号位。
当第一运动信息不位于运动信息列表的首位时,例如,第一符号可以用一个符号位来承载,例如,0表示该最优运动信息为该第一运动信息,1表示该最优运动信息不为该第一运动信息。并且,第二符号可以用其他符号位来承载。
在本发明实施例中,对上述两种符号使用不同的上下文模型(或者说,上下文)。
在上下文模型选择处理中,如果第一运动信息放置在运动信息列表的首位,且,该第一运动信息为最优运动信息,则可以将第一索引信息二值化之后得到的二进制符号字串中的第一个二进制符号作为第一符号。
并且,在本实施例中,第一符号使用的上下文模型如上述表2所示,可以包含0、1、2三种上下文模型。在本实施例中,例如,可以根据目标图像块左边和上方的图像块是否使用其各自的第一运动信息,确定使用哪一种上下文模型,例如,如果目标图像块左边和上方的图像块都不使用第一运动信息,那么选择索引为0的上下文模型,如果目标图像块左边和上方的图像块有一个使用第一运动信息,那么选择索引为1的上下文模型,如果目标图像块左边和上方的图像块都使用第一运动信息,那么选择索引为2的上下文。
在本实施例中,所述第二上下文模型可以是等概率模型。而使用等概率模型编码的编码方式也就是旁路(by-pass)编码方式,即直接将所述第二符号写入码流的编码方式。如果使用by-pass编码方式,则无需进行上下文更新处理。
应理解,以上列举的选择上下文模型的方法仅为示例性说明,本发明并不限定于此,例如,第一符号和第二符号也可以使用相同的上下文模型,或者采用by-pass模式(即不使用上下文模型而将该二进制符号直接写入码流)编码该第一索引信息。
其后,可以根据如上所述选择的上下文模型对该第一索引信息进行二进制算术解码,并更新所使用的上下文模型。在本发明实施例中,该过程可以与现有技术相同,这里为了避免赘述,省略其说明。
在S250中,在本发明实施例中,可以根据所选择的最优运动信息,对目标图像块进行运动补偿处理,并将该运动补偿处理后生成的目标图像块的信息以及上述熵编码处理后的第一索引信息加入码流。
这里,需要说明的是,在将本发明实施例应用于MERGE模式的情况下,需要对目标图像块的各个子块进行运动补偿操作。在通过运动补偿获取当前块的预测信号后,还可以叠加另外解码得到的残差信号,以获取重建信号。
并且,在编码模式为MERGE模式的情况下,还可以对在目标图像块与其邻近块之间的边界附近像素滤波。并且,在最优运动信息为第一运动信息作为的情况下,还可以对目标图像块的各子块间的边界附近像素进行滤波处理。
在将本发明实施例应用于AMVP模式的情况下,可以根据该最优运动信息,结合另外熵解码得到的预测方向、参考图像索引以及运动矢量差值,推导得到目标图像块的运动信息。使用该运动信息对当前块进行运动补偿操作。在通过运动补偿获取当前块的预测信号后,还可以叠加另外解码得到的残差信号,以获取重建信号。
根据本发明实施例的用于图像处理的方法,在MERGE或AMVP等利用邻近图像块的运动信息来确定当前处理的图像块的运动信息的技术中,通过在运动信息列表中增加根据基本层图像运动信息确定的第一运动信息,能够在利用邻近图像块的运动信息来确定当前处理的图像块的运动信息的同时,利用基本层图像的运动信息来确定当前处理的图像块的运动信息,提高处理效率。
上文中,结合图1至图5,详细描述了根据本发明实施例的用于图像处理的方法,下面,将结合图6至图7,详细描述根据本发明实施例的用于图像处理的装置。
图6示出了根据本发明实施例的用于图像处理的装置300的示意性框图。如图6所示,该装置300包括:
获取单元310,用于根据基本层图像块的运动信息确定目标图像块的第一运动信息,其中,该的基本层图像块位于基本层图像中,该目标图像块位于增强层图像中,该的基本层图像与该增强层图像相对应,且该基本图像块在该基本层图像中的空间位置与该目标图像块在该增强层图像中的空间位置相对应;
用于根据该增强层图像中与该目标图像块相邻的邻近图像块的运动信息确定该目标图像块的第二运动信息,并向生成单元320传输该第一运动信息和该第二运动信息;
生成单元320,用于从该获取单元获取该第一运动信息和该第二运动信息,并根据该第一运动信息和该第二运动信息,生成运动信息列表,以及,向选择单元传输该运动信息列表;
选择单元330,用于从该生成单元320获取该运动信息列表,并根据预定规则从该运动信息列表中确定该目标图像块的最优运动信息,并向编码单元340传输该最优运动信息;
编码单元340,用于从选择单元330获取该最优运动信息,并根据该最优运动信息,对该目标图像块进行编码,以生成目标码流,该目标码流包括用于指示该最优运动信息在该运动信息列表中的位置的第一索引信息。
可选地,该获取单元310具体用于根据该基本层图像块包括的与该目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定该目标图像子块的运动信息,其中,该目标图像块子块具有预先设定的大小;
用于根据该目标图像子块的运动信息,确定该第一运动信息。
在本发明实施例中,该基本层图像的质量低于该增强层图像的质量。
可选地,该获取单元310具体用于当与该至少两个目标图像子块中的第一目标图像子块相对应的第一基本层图像子块的运动信息为空时,根据该目标图像块的大小、该目标图像子块的大小和用于指示该第一目标图像子块在该目标图像块中的位置的第二索引信息,确定该至少两个目标图像子块中的第二目标图像子块;
用于根据该第二目标图像子块的运动信息,确定该第一目标图像子块的运动信息;
用于根据该第一目标图像子块的运动信息,确定该第一运动信息;或
用于根据该第二目标图像子块的运动信息,确定该第一运动信息;或
用于根据该第一目标图像子块的运动信息以及第二目标图像子块的运动信息,确定该第一运动信息。
可选地,该获取单元310具体用于根据以下任一公式,确定该第二目标图像子块,
Idx2=Idx1/N×N+((Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
其中,Idx2表示用于指示该第二目标图像子块在该目标图像块中的位置的第三索引信息,Idx1表示该第二索引信息,N是根据该目标图像块的大小和该目标图像子块的大小确定的。
可选地,该获取单元310具体用于如果该第二目标图像子块的运动信息为空,则确定该第一目标图像子块的运动信息为零运动信息。
可选地,该获取单元310具体用于根据第三目标图像子块的运动信息,确定该第一运动信息,其中,该第三目标图像子块为该目标图像块中位于预设位置的目标图像子块,或
该第三目标图像子块的运动信息在该目标图像子块的运动信息中的出现频率最高。
可选地,该获取单元310具体用于根据该第三目标图像子块的运动信息的参考图像、该目标图像和该目标图像块的参考图像的时域距离关系,对该第三目标图像子块的运动信息进行缩放处理;
用于根据该缩放处理后的第三目标图像子块的运动信息,确定该第一运动信息。
可选地,该目标图像块包括至少两个子块,以及当该最优信息为该第一运动信息时,该编码单元340还用于对位于该子块之间的边界附近的像素进行去块效应滤波处理。
可选地,该第二运动信息包括时间运动信息和空间运动信息,以及
该生成单元320具体用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的首位;或
用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的末位;或
用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于该运动信息列表中的空间运动信息与该时间运动信息之间。
可选地,该第一索引信息包括用于指示该最优运动信息是否为该第一运动信息的第一符号和用于指示该最优运动信息在该运动列表中的位置的第二符号,以及
该编码单元340具体用于根据第一上下文模型,对该第一符号进行算术编码处理;
用于根据第二上下文模型,对该第二符号进行算术编码处理,其中,该第一上下文模型与该第二上下文模型相异。
根据本发明实施例的用于图像处理的装置300可对应于本发明实施例的方法中的编码端,并且,该图像处理的装置300中的各单元即模块和上述其他操作和/或功能分别为了实现图1中的方法100的相应流程,为了简洁,在此不再赘述。
根据本发明实施例的用于图像处理的装置,在MERGE或AMVP等利用邻近图像块的运动信息来确定当前处理的图像块的运动信息的技术中,通过在运动信息列表中增加根据基本层图像运动信息确定的第一运动信息,能够在利用邻近图像块的运动信息来确定当前处理的图像块的运动信息的同时,利用基本层图像的运动信息来确定当前处理的图像块的运动信息,提高处理效率。
图7示出了根据本发明实施例的用于图像处理的装置400的示意性框图。如图7所示,该装置400包括:
获取单元410,用于根据基本层图像块的运动信息确定目标图像块的第一运动信息,其中,该的基本层图像块位于基本层图像中,该目标图像块位于增强层图像中,该的基本层图像与该增强层图像相对应,且该基本图像块在该基本层图像中的空间位置与该目标图像块在该增强层图像中的空间位置相对应;
用于根据该增强层图像中与该目标图像块相邻的邻近图像块的运动信息确定该目标图像块的第二运动信息,并向生成单元420传输该第一运动信息和该第二运动信息;
生成单元420,用于从该获取单元410获取该第一运动信息和该第二运动信息,并根据该第一运动信息和该第二运动信息,生成运动信息列表,以及,向确定单元430传输该运动信息列表;
确定单元430,用于根据目标码流,确定用于指示该最优运动信息在该运动信息列表中的位置的第一索引信息;
解码单元440,用于从该生成单元420获取该运动信息列表,并根据该确定单元430确定的该第一索引信息,从该运动信息列表中确定最优运动信息,根据该最优运动信息,对该目标码流进行解码,以获取该目标图像块对该目标码流进行解码,以获取该目标图像块。
在本发明实施例中,该基本层图像的质量低于该增强层图像的质量。
可选地,该获取单元410具体用于根据该基本层图像块包括的与该目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定该目标图像子块的运动信息,其中,该目标图像块子块具有预先设定的大小;
用于根据该目标图像子块的运动信息,确定该第一运动信息。
该目标图像块包括至少两个目标图像子块,以及
该获取单元410具体用于当与该至少两个目标图像子块中的第一目标图像子块相对应的第一基本层图像子块的运动信息为空时,根据该目标图像块的大小、该目标图像子块的大小和用于指示该第一目标图像子块在该目标图像块中的位置的第二索引信息,确定该至少两个目标图像子块中的第二目标图像子块;
用于根据该第二目标图像子块的运动信息,确定该第一目标图像子块的运动信息;
用于根据该第一目标图像子块的运动信息,确定该第一运动信息;或
用于根据该第二目标图像子块的运动信息,确定该第一运动信息;或
用于根据该第一目标图像子块的运动信息以及第二目标图像子块的运动信息,确定该第一运动信息。
可选地,该获取单元410具体用于根据以下任一公式,确定该第二目标图像子块,
Idx2=Idx1/N×N+((Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
其中,Idx2表示用于指示该第二目标图像子块在该目标图像块中的位置的第三索引信息,Idx1表示该第二索引信息,N是根据该目标图像块的大小和该预设值确定的。
可选地,该获取单元410具体用于如果该第二目标图像子块的运动信息为空,则确定该第一目标图像子块的运动信息为零运动信息。
可选地,该获取单元410具体用于根据第三目标图像子块的运动信息,确定该第一运动信息,其中,该第三目标图像子块为该目标图像块中位于预设位置的子块,或
该第三目标图像子块的运动信息在该子块的运动信息中的出现频率最高。
可选地,该获取单元410具体用于根据该第三目标图像子块的运动信息的参考图像、该目标图像和该目标图像块的参考图像的时域距离关系,对该第三目标图像子块的运动信息进行缩放处理;
用于根据该缩放处理后的第三目标图像子块的运动信息,确定该第一运动信息。
可选地,当该最优信息为该第一运动信息时,该目标图像块包括至少两个子块,以及该解码单元430还用于位于该子块之间的边界附近的像素进行去块效应滤波处理。
可选地,该第二运动信息包括时间运动信息和空间运动信息,以及
该生成单元420具体用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的首位;或
用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的末位;或
用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于该运动信息列表中的空间运动信息与该时间运动信息之间。
可选地,该第一索引信息包括用于指示该最优运动信息是否为该第一运动信息的第一符号和用于指示该最优运动信息在该运动列表中的位置的第二符号,以及
该解码单元430具体用于根据第一上下文模型,对该第一符号进行算术解码处理,并根据第二上下文模型,对该第二符号进行算术解码处理,以根据该算术解码处理后的第一索引信息,从该运动信息列表中确定最优运动信息,其中,该第一上下文模型与该第二上下文模型相异。
根据本发明实施例的用于图像处理的装置400可对应于本发明实施例的方法中解码端,并且,该用于图像处理的装置400中的各单元即模块和上述其他操作和/或功能分别为了实现图5中的方法200的相应流程,为了简洁,在此不再赘述。
根据本发明实施例的用于图像处理的装置,在MERGE或AMVP等利用邻近图像块的运动信息来确定当前处理的图像块的运动信息的技术中,通过在运动信息列表中增加根据基本层图像运动信息确定的第一运动信息,能够在利用邻近图像块的运动信息来确定当前处理的图像块的运动信息的同时,利用基本层图像的运动信息来确定当前处理的图像块的运动信息,提高处理效率。
上文中,结合图1至图7,详细描述了根据本发明实施例的用于图像处理的方法和装置,下面将结合图8和图9,详细描述根据本发明实施例的用于图像处理的编码器和解码器。
图8示出了根据本发明实施例的用于图像处理的编码器500的示意性框图。如图8所示,该编码器500可以包括:
总线510;
与该总线相连的处理器520;
与该总线相连的存储器530;
其中,该处理器520通过该总线510,调用该存储器530中存储的程序,以用于根据基本层图像块的运动信息确定目标图像块的第一运动信息,其中,该的基本层图像块位于基本层图像中,该目标图像块位于增强层图像中,该的基本层图像与该增强层图像相对应,且该基本图像块在该基本层图像中的空间位置与该目标图像块在该增强层图像中的空间位置相对应;
用于根据该增强层图像中与该目标图像块相邻的邻近图像块的运动信息确定该目标图像块的第二运动信息;
用于根据该第一运动信息和该第二运动信息,生成运动信息列表;
用于根据预定规则从该运动信息列表中确定该目标图像块的最优运动信息;
用于根据该最优运动信息,对该目标图像块进行编码,以生成目标码流,该目标码流包括用于指示该最优运动信息在该运动信息列表中的位置的第一索引信息。
在本发明实施例中,该基本层图像的质量低于该增强层图像的质量。
可选地,该处理器520具体用于根据该基本层图像块包括的与该目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定该目标图像子块的运动信息,其中,该目标图像块子块具有预先设定的大小;
根据该目标图像子块的运动信息,确定该第一运动信息。
可选地,该目标图像块包括至少两个目标图像子块,以及
该处理器520具体用于当与该至少两个目标图像子块中的第一目标图像子块相对应的第一基本层图像子块的运动信息为空时,根据该目标图像块的大小、该目标图像子块的大小和用于指示该第一目标图像子块在该目标图像块中的位置的第二索引信息,确定该至少两个目标图像子块中的第二目标图像子块;
用于根据该第二目标图像子块的运动信息,确定该第一目标图像子块的运动信息;
用于根据该第一目标图像子块的运动信息,确定该第一运动信息;或
用于根据该第二目标图像子块的运动信息,确定该第一运动信息;或
用于根据该第一目标图像子块的运动信息以及第二目标图像子块的运动信息,确定该第一运动信息。
可选地,该处理器520具体用于根据以下任一公式,确定该第二目标图像子块,
Idx2=Idx1/N×N+((Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
其中,Idx2表示用于指示该第二目标图像子块在该目标图像块中的位置的第三索引信息,Idx1表示该第二索引信息,N是根据该目标图像块的大小和该目标图像子块的大小确定的。
可选地,该处理器520具体用于如果该第二目标图像子块的运动信息为空,则确定该第一目标图像子块的运动信息为零运动信息。
可选地,该处理器520具体用于根据第三目标图像子块的运动信息,确定该第一运动信息,其中,该第三目标图像子块为该目标图像块中位于预设位置的目标图像子块,或
该第三目标图像子块的运动信息在该目标图像子块的运动信息中的出现频率最高。
可选地,该处理器520具体用于根据该第三目标图像子块的运动信息的参考图像、该目标图像和该目标图像块的参考图像的时域距离关系,对该第三目标图像子块的运动信息进行缩放处理;
用于根据该缩放处理后的第三目标图像子块的运动信息,确定该第一运动信息。
可选地,该目标图像块包括至少两个目标图像子块,以及
当该最优信息为该第一运动信息时,该处理器520还用于对位于该目标图像子块之间的边界附近的像素进行去块效应滤波处理。
可选地,该第二运动信息包括时间运动信息和空间运动信息,以及
该处理器520具体用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的首位;或
用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的末位;或
用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于该运动信息列表中的空间运动信息与该时间运动信息之间。
可选地,该第一索引信息包括用于指示该最优运动信息是否为该第一运动信息的第一符号和用于指示该最优运动信息在该运动列表中的位置的第二符号,以及
该处理器520具体用于根据第一上下文模型,对该第一符号进行算术编码处理;
用于根据第二上下文模型,对该第二符号进行算术编码处理,其中,该第一上下文模型与该第二上下文模型相异。
根据本发明实施例的用于图像处理的编码器500可对应于本发明实施例的方法中编码端,并且,该用于图像处理的编码器500中的各单元即模块和上述其他操作和/或功能分别为了实现图1中的方法100的相应流程,为了简洁,在此不再赘述。
根据本发明实施例的用于图像处理的编码器,在MERGE或AMVP等利用邻近图像块的运动信息来确定当前处理的图像块的运动信息的技术中,通过在运动信息列表中增加根据基本层图像运动信息确定的第一运动信息,能够在利用邻近图像块的运动信息来确定当前处理的图像块的运动信息的同时,利用基本层图像的运动信息来确定当前处理的图像块的运动信息,提高处理效率。
图9示出了根据本发明实施例的用于图像处理的解码器600的示意性框图。如图9所示,该解码器600可以包括:
总线610;
与该总线相连的处理器620;
与该总线相连的存储器630;
其中,该处理器620通过该总线610,调用该存储器630中存储的程序,以用于根据基本层图像块的运动信息确定目标图像块的第一运动信息,其中,该的基本层图像块位于基本层图像中,该目标图像块位于增强层图像中,该的基本层图像与该增强层图像相对应,且该基本图像块在该基本层图像中的空间位置与该目标图像块在该增强层图像中的空间位置相对应;
用于根据该增强层图像中与该目标图像块相邻的邻近图像块的运动信息确定该目标图像块的第二运动信息;
用于根据该第一运动信息和该第二运动信息,生成运动信息列表;
用于根据目标码流,获取用于指示该最优运动信息在该运动信息列表中的位置的第一索引信息;
用于根据该第一索引信息,从该运动信息列表中确定最优运动信息,根据该最优运动信息,对该目标码流进行解码,以获取该目标图像块。
在本发明实施例中,该基本层图像的质量低于该增强层图像的质量。
可选地,该处理器620具体用于根据该基本层图像块包括的与该目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定该目标图像子块的运动信息,其中,该目标图像块子块具有预先设定的大小;
根据该目标图像子块的运动信息,确定该第一运动信息。
可选地,该目标图像块包括至少两个目标图像子块,以及
该处理器620具体用于当与该至少两个目标图像子块中的第一目标图像子块相对应的第一基本层图像子块的运动信息为空时,根据该目标图像块的大小、该目标图像子块的大小和用于指示该第一目标图像子块在该目标图像块中的位置的第二索引信息,确定该至少两个目标图像子块中的第二目标图像子块;
用于根据该第二目标图像子块的运动信息,确定该第一目标图像子块的运动信息;
用于根据该第一目标图像子块的运动信息,确定该第一运动信息;或
用于根据该第二目标图像子块的运动信息,确定该第一运动信息;或
用于根据该第一目标图像子块的运动信息以及第二目标图像子块的运动信息,确定该第一运动信息。
可选地,该处理器620具体用于根据以下任一公式,确定该第二目标图像子块,
Idx2=Idx1/N×N+((Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
其中,Idx2表示用于指示该第二目标图像子块在该目标图像块中的位置的第三索引信息,Idx1表示该第二索引信息,N是根据该目标图像块的大小和该目标图像子块的大小确定的。
可选地,该处理器620具体用于如果该第二目标图像子块的运动信息为空,则确定该第一目标图像子块的运动信息为零运动信息。
可选地,该处理器620具体用于根据第三目标图像子块的运动信息,确定该第一运动信息,其中,该第三目标图像子块为该目标图像块中位于预设位置的目标图像子块,或
该第三目标图像子块的运动信息在该目标图像子块的运动信息中的出现频率最高。
可选地,该处理器620具体用于根据该第三目标图像子块的运动信息的参考图像、该目标图像和该目标图像块的参考图像的时域距离关系,对该第三目标图像子块的运动信息进行缩放处理;
用于根据该缩放处理后的第三目标图像子块的运动信息,确定该第一运动信息。
可选地,该目标图像块包括至少两个目标图像子块,以及
当该最优信息为该第一运动信息时,该处理器620还用于对位于该目标图像子块之间的边界附近的像素进行去块效应滤波处理。
可选地,该第二运动信息包括时间运动信息和空间运动信息,以及
该处理器620具体用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的首位;或
用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于运动信息列表的末位;或
用于根据该第一运动信息和该第二运动信息,确定运动信息列表,以使该第一运动信息位于该运动信息列表中的空间运动信息与该时间运动信息之间。
可选地,该第一索引信息包括用于指示该最优运动信息是否为该第一运动信息的第一符号和用于指示该最优运动信息在该运动列表中的位置的第二符号,以及
该处理器620具体用于根据第一上下文模型,对该第一符号进行算术解码处理,并根据第二上下文模型,对该第二符号进行算术解码处理,以根据该算术解码处理后的第一索引信息,从该运动信息列表中确定最优运动信息,其中,该第一上下文模型与该第二上下文模型相异。
根据本发明实施例的用于图像处理的解码器600可对应于本发明实施例的方法中解码端,并且,该用于图像处理的解码器600中的各单元即模块和上述其他操作和/或功能分别为了实现图5中的方法200的相应流程,为了简洁,在此不再赘述。
根据本发明实施例的用于图像处理的解码器,在MERGE或AMVP等利用邻近图像块的运动信息来确定当前处理的图像块的运动信息的技术中,通过在运动信息列表中增加根据基本层图像运动信息确定的第一运动信息,能够在利用邻近图像块的运动信息来确定当前处理的图像块的运动信息的同时,利用基本层图像的运动信息来确定当前处理的图像块的运动信息,提高处理效率。
应理解,在本发明实施例中,第一目标图像子块可以是一个也可以是多个,本发明并未特别限定。同样,第三目标图像子块可以是一个也可以是多个,本发明并未特别限定。
应理解,在本发明实施例中,编码端的处理与解码端的处理中获取第一运动信息和生成运动信息列表的过程相对应,以确保编码端与解码端最终确定的运动信息列表一致,从而,对以一个第一索引信息(编码端确定并通过码流传输给解码端)在编码端与解码端确定的运动信息列表中指示的运动信息相同。编码端与解码端的其他编码操作与解码操作可以相对应。换言之,可以根据所描述的编码端处理方法对应的确定解码端处理方法,或者根据所描述的解码端处理方法对应的确定编码端处理方法。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (60)
1.一种用于图像处理的方法,其特征在于,所述方法包括:
根据基本层图像块的运动信息确定目标图像块的第一运动信息,其中,所述的基本层图像块位于基本层图像中,所述目标图像块位于增强层图像中,所述的基本层图像与所述增强层图像相对应,且所述基本图像块在所述基本层图像中的空间位置与所述目标图像块在所述增强层图像中的空间位置相对应;
根据所述增强层图像中与所述目标图像块相邻的邻近图像块的运动信息确定所述目标图像块的第二运动信息;
根据所述第一运动信息和所述第二运动信息,生成运动信息列表;
根据预定规则从所述运动信息列表中确定所述目标图像块的最优运动信息;
根据所述最优运动信息,对所述目标图像块进行编码,以生成目标码流,所述目标码流包括用于指示所述最优运动信息在所述运动信息列表中的位置的第一索引信息。
2.根据权利要求1所述的方法,其特征在于,所述根据基本层图像块的运动信息确定目标图像块的第一运动信息包括:
根据所述基本层图像块包括的与所述目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定所述目标图像子块的运动信息,其中,所述目标图像块子块具有预先设定的大小;
根据所述目标图像子块的运动信息,确定所述第一运动信息。
3.根据权利要求2所述的方法,其特征在于,所述目标图像块包括至少两个目标图像子块,以及
所述根据所述基本层图像块包括的与所述目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定所述目标图像子块的运动信息,包括:
当与所述至少两个目标图像子块中的第一目标图像子块相对应的第一基本层图像子块的运动信息为空时,根据所述目标图像块的大小、所述目标图像子块的大小和用于指示所述第一目标图像子块在所述目标图像块中的位置的第二索引信息,确定所述至少两个目标图像子块中的第二目标图像子块;
根据所述第二目标图像子块的运动信息,确定所述第一目标图像子块的运动信息;
对应,所述根据所述目标图像子块的运动信息,确定所述第一运动信息,包括:
根据所述第一目标图像子块的运动信息,确定所述第一运动信息;或
根据所述第二目标图像子块的运动信息,确定所述第一运动信息;或
根据所述第一目标图像子块的运动信息以及第二目标图像子块的运动信息,确定所述第一运动信息。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标图像块的大小、所述目标图像子块的大小和用于指示所述第一目标图像子块在所述目标图像块中的位置的第二索引信息,确定所述至少两个目标图像子块中的第二目标图像子块,包括:
根据以下任一公式,确定所述第二目标图像子块,
Idx2=Idx1/N×N+((Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
其中,Idx2表示用于指示所述第二目标图像子块在所述目标图像块中的位置的第三索引信息,Idx1表示所述第二索引信息,N是根据所述目标图像块的大小和所述目标图像子块的大小确定的。
5.根据权利要求3或4所述的方法,其特征在于,所述根据所述基本层图像块包括的与所述目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定所述目标图像子块的运动信息,进一步包括:
如果所述第二目标图像子块的运动信息为空,则确定所述第一目标图像子块的运动信息为零运动信息。
6.根据权利要求2至4中任一项所述的方法,其特征在于,所述根据所述目标图像子块的运动信息,确定所述第一运动信息,包括:
根据第三目标图像子块的运动信息,确定所述第一运动信息,其中,所述第三目标图像子块为所述目标图像块中位于预设位置的目标图像子块,或所述第三目标图像子块的运动信息在所述目标图像子块的运动信息中的出现频率最高。
7.根据权利要求6所述的方法,其特征在于,所述根据所述目标图像子块的运动信息,确定所述第一运动信息,进一步包括:
根据所述第三目标图像子块的运动信息的参考图像、所述目标图像和所述目标图像块的参考图像的时域距离关系,对所述第三目标图像子块的运动信息进行缩放处理;
根据所述缩放处理后的第三目标图像子块的运动信息,确定所述第一运动信息。
8.根据权利要求2至4中任一项所述的方法,其特征在于,所述目标图像块包括至少两个目标图像子块,以及
当所述最优信息为所述第一运动信息时,所述根据所述最优运动信息,对所述目标图像块进行编码,包括:
对位于所述目标图像子块之间的边界附近的像素进行去块效应滤波处理。
9.根据权利要求1至4中任一项所述的方法,其特征在于,所述第二运动信息包括时间运动信息和空间运动信息,以及
所述根据所述第一运动信息和所述第二运动信息,确定运动信息列表,包括:
根据所述第一运动信息和所述第二运动信息,确定运动信息列表,以使所述第一运动信息位于运动信息列表的首位;或
根据所述第一运动信息和所述第二运动信息,确定运动信息列表,以使所述第一运动信息位于运动信息列表的末位;或
根据所述第一运动信息和所述第二运动信息,确定运动信息列表,以使所述第一运动信息位于所述运动信息列表中的空间运动信息与所述时间运动信息之间。
10.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一索引信息包括用于指示所述最优运动信息是否为所述第一运动信息的第一符号和用于指示所述最优运动信息在所述运动列表中的位置的第二符号,以及
所述根据所述最优运动信息,进行编码,包括:
根据第一上下文模型,对所述第一符号进行算术编码处理;
根据第二上下文模型,对所述第二符号进行算术编码处理,其中,所述第一上下文模型与所述第二上下文模型相异。
11.一种用于图像处理的方法,其特征在于,所述方法包括:
根据基本层图像块的运动信息确定目标图像块的第一运动信息,其中,所述的基本层图像块位于基本层图像中,所述目标图像块位于增强层图像中,所述的基本层图像与所述增强层图像相对应,且所述基本图像块在所述基本层图像中的空间位置与所述目标图像块在所述增强层图像中的空间位置相对应;
根据所述增强层图像中与所述目标图像块相邻的邻近图像块的运动信息确定所述目标图像块的第二运动信息;
根据所述第一运动信息和所述第二运动信息,生成运动信息列表;
根据目标码流,获取用于指示所述目标图像块的最优运动信息在所述运动信息列表中的位置的第一索引信息;
根据所述第一索引信息,从所述运动信息列表中确定最优运动信息,根据所述最优运动信息,对所述目标码流进行解码,以获取所述目标图像块。
12.根据权利要求11所述的方法,其特征在于,所述根据基本层图像块的运动信息确定目标图像块的第一运动信息包括:
根据所述基本层图像块包括的与所述目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定所述目标图像子块的运动信息,其中,所述目标图像块子块具有预先设定的大小;
根据所述目标图像子块的运动信息,确定所述第一运动信息。
13.根据权利要求12所述的方法,所述目标图像块包括至少两个目标图像子块,以及
所述根据所述基本层图像块包括的与所述目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定所述目标图像子块的运动信息,包括:
当与所述至少两个目标图像子块中的第一目标图像子块相对应的第一基本层图像子块的运动信息为空时,根据所述目标图像块的大小、所述目标图像子块的大小和用于指示所述第一目标图像子块在所述目标图像块中的位置的第二索引信息,确定所述至少两个目标图像子块中的第二目标图像子块;
根据所述第二目标图像子块的运动信息,确定所述第一目标图像子块的运动信息;
对应,所述根据所述目标图像子块的运动信息,确定所述第一运动信息,包括:
根据所述第一目标图像子块的运动信息,确定所述第一运动信息;或
根据所述第二目标图像子块的运动信息,确定所述第一运动信息;或
根据所述第一目标图像子块的运动信息以及第二目标图像子块的运动信息,确定所述第一运动信息。
14.根据权利要求13所述的方法,其特征在于,所述根据所述目标图像块的大小、所述目标图像子块的大小和用于指示所述第一目标图像子块在所述目标图像块中的位置的第二索引信息,确定所述至少两个目标图像子块中的第二目标图像子块,包括:
根据以下任一公式,确定所述第二目标图像子块,
Idx2=Idx1/N×N+((Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
其中,Idx2表示用于指示所述第二目标图像子块在所述目标图像块中的位置的第三索引信息,Idx1表示所述第二索引信息,N是根据所述目标图像块的大小和所述目标图像子块的大小确定的。
15.根据权利要求13或14所述的方法,其特征在于,所述根据所述基本层图像块包括的与所述目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定所述目标图像子块的运动信息,进一步包括:
如果所述第二目标图像子块的运动信息为空,则确定所述第一目标图像子块的运动信息为零运动信息。
16.根据权利要求12至14中任一项所述的方法,其特征在于,所述根据所述目标图像子块的运动信息,确定所述第一运动信息,包括:
根据第三目标图像子块的运动信息,确定所述第一运动信息,其中,所述第三目标图像子块为所述目标图像块中位于预设位置的目标图像子块,或
所述第三目标图像子块的运动信息在所述目标图像子块的运动信息中的出现频率最高。
17.根据权利要求16所述的方法,其特征在于,所述根据所述目标图像子块的运动信息,确定所述第一运动信息进一步包括:
根据所述第三目标图像子块的运动信息的参考图像、所述目标图像和所述目标图像块的参考图像的时域距离关系,对所述第三目标图像子块的运动信息进行缩放处理;
根据所述缩放处理后的第三目标图像子块的运动信息,确定所述第一运动信息。
18.根据权利要求12至14中任一项所述的方法,其特征在于,所述目标图像块包括至少两个目标图像子块,以及
当所述最优信息为所述第一运动信息时,所述根据所述最优运动信息,对所述目标码流进行解码,包括:
对位于所述目标图像子块之间的边界附近的像素进行去块效应滤波处理。
19.根据权利要求11至14中任一项所述的方法,其特征在于,所述第二运动信息包括时间运动信息和空间运动信息,以及
所述根据所述第一运动信息和所述第二运动信息,确定运动信息列表,包括:
根据所述第一运动信息和所述第二运动信息,确定运动信息列表,以使所述第一运动信息位于运动信息列表的首位;或
根据所述第一运动信息和所述第二运动信息,确定运动信息列表,以使所述第一运动信息位于运动信息列表的末位;或
根据所述第一运动信息和所述第二运动信息,确定运动信息列表,以使所述第一运动信息位于所述运动信息列表中的空间运动信息与所述时间运动信息之间。
20.根据权利要求11至14中任一项所述的方法,其特征在于,所述第一索引信息包括用于指示所述最优运动信息是否为所述第一运动信息的第一符号和用于指示所述最优运动信息在所述运动列表中的位置的第二符号,以及
所述根据所述第一索引信息,从所述运动信息列表中确定最优运动信息,包括:
根据第一上下文模型,对所述第一符号进行算术解码处理,并根据第二上下文模型,对所述第二符号进行算术解码处理,以根据所述算术解码处理后的第一索引信息,从所述运动信息列表中确定最优运动信息,其中,所述第一上下文模型与所述第二上下文模型相异。
21.一种用于图像处理的装置,其特征在于,所述装置包括:
获取单元,用于根据基本层图像块的运动信息确定目标图像块的第一运动信息,其中,所述的基本层图像块位于基本层图像中,所述目标图像块位于增强层图像中,所述的基本层图像与所述增强层图像相对应,且所述基本图像块在所述基本层图像中的空间位置与所述目标图像块在所述增强层图像中的空间位置相对应;
用于根据所述增强层图像中与所述目标图像块相邻的邻近图像块的运动信息确定所述目标图像块的第二运动信息,并向生成单元传输所述第一运动信息和所述第二运动信息;
生成单元,用于从所述获取单元获取所述第一运动信息和所述第二运动信息,并根据所述第一运动信息和所述第二运动信息,生成运动信息列表,以及,向选择单元传输所述运动信息列表;
选择单元,用于从所述生成单元获取所述运动信息列表,并根据预定规则从所述运动信息列表中确定所述目标图像块的最优运动信息,并向编码单元传输所述最优运动信息;
编码单元,用于从选择单元获取所述最优运动信息,并根据所述最优运动信息,对所述目标图像块进行编码,以生成目标码流,所述目标码流包括用于指示所述最优运动信息在所述运动信息列表中的位置的第一索引信息。
22.根据权利要求21所述的装置,其特征在于,所述获取单元具体用于根据所述基本层图像块包括的与所述目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定所述目标图像子块的运动信息,其中,所述目标图像块子块具有预先设定的大小;
用于根据所述目标图像子块的运动信息,确定所述第一运动信息。
23.根据权利要求22所述的装置,其特征在于,所述目标图像块包括至少两个目标图像子块,以及
所述获取单元具体用于当与所述至少两个目标图像子块中的第一目标图像子块相对应的第一基本层图像子块的运动信息为空时,根据所述目标图像块的大小、所述目标图像子块的大小和用于指示所述第一目标图像子块在所述目标图像块中的位置的第二索引信息,确定所述至少两个目标图像子块中的第二目标图像子块;
用于根据所述第二目标图像子块的运动信息,确定所述第一目标图像子块的运动信息;
用于根据所述第一目标图像子块的运动信息,确定所述第一运动信息;或
用于根据所述第二目标图像子块的运动信息,确定所述第一运动信息;或
用于根据所述第一目标图像子块的运动信息以及第二目标图像子块的运动信息,确定所述第一运动信息。
24.根据权利要求23所述的装置,其特征在于,所述获取单元具体用于根据以下任一公式,确定所述第二目标图像子块,
Idx2=Idx1/N×N+((Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
其中,Idx2表示用于指示所述第二目标图像子块在所述目标图像块中的位置的第三索引信息,Idx1表示所述第二索引信息,N是根据所述目标图像块的大小和所述目标图像子块的大小确定的。
25.根据权利要求23或24所述的装置,其特征在于,所述获取单元具体用于如果所述第二目标图像子块的运动信息为空,则确定所述第一目标图像子块的运动信息为零运动信息。
26.根据权利要求22至24中任一项所述的装置,其特征在于,所述获取单元具体用于根据第三目标图像子块的运动信息,确定所述第一运动信息,其中,所述第三目标图像子块为所述目标图像块中位于预设位置的目标图像子块,或
所述第三目标图像子块的运动信息在所述目标图像子块的运动信息中的出现频率最高。
27.根据权利要求26所述的装置,其特征在于,所述获取单元具体还用于根据所述第三目标图像子块的运动信息的参考图像、所述目标图像和所述目标图像块的参考图像的时域距离关系,对所述第三目标图像子块的运动信息进行缩放处理;
用于根据所述缩放处理后的第三目标图像子块的运动信息,确定所述第一运动信息。
28.根据权利要求22至24中任一项所述的装置,其特征在于,所述目标图像块包括至少两个目标图像子块,以及
当所述最优信息为所述第一运动信息时,所述编码单元还用于对位于所述目标图像子块之间的边界附近的像素进行去块效应滤波处理。
29.根据权利要求21至24中任一项所述的装置,其特征在于,所述第二运动信息包括时间运动信息和空间运动信息,以及
所述生成单元具体用于根据所述第一运动信息和所述第二运动信息,确定运动信息列表,以使所述第一运动信息位于运动信息列表的首位;或
用于根据所述第一运动信息和所述第二运动信息,确定运动信息列表,以使所述第一运动信息位于运动信息列表的末位;或
用于根据所述第一运动信息和所述第二运动信息,确定运动信息列表,以使所述第一运动信息位于所述运动信息列表中的空间运动信息与所述时间运动信息之间。
30.根据权利要求21至24中任一项所述的装置,其特征在于,所述第一索引信息包括用于指示所述最优运动信息是否为所述第一运动信息的第一符号和用于指示所述最优运动信息在所述运动列表中的位置的第二符号,以及
所述编码单元具体用于根据第一上下文模型,对所述第一符号进行算术编码处理;
用于根据第二上下文模型,对所述第二符号进行算术编码处理,其中,所述第一上下文模型与所述第二上下文模型相异。
31.一种用于图像处理的装置,其特征在于,所述装置包括:
获取单元,用于根据基本层图像块的运动信息确定目标图像块的第一运动信息,其中,所述的基本层图像块位于基本层图像中,所述目标图像块位于增强层图像中,所述的基本层图像与所述增强层图像相对应,且所述基本图像块在所述基本层图像中的空间位置与所述目标图像块在所述增强层图像中的空间位置相对应;
用于根据所述增强层图像中与所述目标图像块相邻的邻近图像块的运动信息确定所述目标图像块的第二运动信息,并向生成单元传输所述第一运动信息和所述第二运动信息;
生成单元,用于从所述获取单元获取所述第一运动信息和所述第二运动信息,并根据所述第一运动信息和所述第二运动信息,生成运动信息列表,以及,向确定单元传输所述运动信息列表;
确定单元,用于根据目标码流,确定用于指示所述目标图像块的最优运动信息在所述运动信息列表中的位置的第一索引信息,并向解码单元传输所述第一索引信息;
解码单元,用于从所述生成单元获取所述运动信息列表,并根据所述确定单元确定的所述第一索引信息,从所述运动信息列表中确定最优运动信息,根据所述最优运动信息,对所述目标码流进行解码,以获取所述目标图像块。
32.根据权利要求31所述的装置,其特征在于,所述获取单元具体用于根据所述基本层图像块包括的与所述目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定所述目标图像子块的运动信息,其中,所述目标图像块子块具有预先设定的大小;
用于根据所述目标图像子块的运动信息,确定所述第一运动信息。
33.根据权利要求32所述的装置,其特征在于,所述目标图像块包括至少两个目标图像子块,以及
所述获取单元具体用于当与所述至少两个目标图像子块中的第一目标图像子块相对应的第一基本层图像子块的运动信息为空时,根据所述目标图像块的大小、所述目标图像子块的大小和用于指示所述第一目标图像子块在所述目标图像块中的位置的第二索引信息,确定所述至少两个目标图像子块中的第二目标图像子块;
用于根据所述第二目标图像子块的运动信息,确定所述第一目标图像子块的运动信息;
用于根据所述第一目标图像子块的运动信息,确定所述第一运动信息;或
用于根据所述第二目标图像子块的运动信息,确定所述第一运动信息;或
用于根据所述第一目标图像子块的运动信息以及第二目标图像子块的运动信息,确定所述第一运动信息。
34.根据权利要求33所述的装置,其特征在于,所述获取单元具体用于根据以下任一公式,确定所述第二目标图像子块,
Idx2=Idx1/N×N+((Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
其中,Idx2表示用于指示所述第二目标图像子块在所述目标图像块中的位置的第三索引信息,Idx1表示所述第二索引信息,N是根据所述目标图像块的大小和所述目标图像子块的大小确定的。
35.根据权利要求33或34所述的装置,其特征在于,所述获取单元具体用于如果所述第二目标图像子块的运动信息为空,则确定所述第一目标图像子块的运动信息为零运动信息。
36.根据权利要求32至34中任一项所述的装置,其特征在于,所述获取单元具体用于根据第三目标图像子块的运动信息,确定所述第一运动信息,其中,所述第三目标图像子块为所述目标图像块中位于预设位置的目标图像子块,或
所述第三目标图像子块的运动信息在所述目标图像子块的运动信息中的出现频率最高。
37.根据权利要求36所述的装置,其特征在于,所述获取单元具体还用于根据所述第三目标图像子块的运动信息的参考图像、所述目标图像和所述目标图像块的参考图像的时域距离关系,对所述第三目标图像子块的运动信息进行缩放处理;
用于根据所述缩放处理后的第三目标图像子块的运动信息,确定所述第一运动信息。
38.根据权利要求32至34中任一项所述的装置,其特征在于,所述目标图像块包括至少两个目标图像子块,以及
当所述最优信息为所述第一运动信息时,所述解码单元还用于对位于所述目标图像子块之间的边界附近的像素进行去块效应滤波处理。
39.根据权利要求31至34中任一项所述的装置,其特征在于,所述第二运动信息包括时间运动信息和空间运动信息,以及
所述生成单元具体用于根据所述第一运动信息和所述第二运动信息,确定运动信息列表,以使所述第一运动信息位于运动信息列表的首位;或
用于根据所述第一运动信息和所述第二运动信息,确定运动信息列表,以使所述第一运动信息位于运动信息列表的末位;或
用于根据所述第一运动信息和所述第二运动信息,确定运动信息列表,以使所述第一运动信息位于所述运动信息列表中的空间运动信息与所述时间运动信息之间。
40.根据权利要求31至34中任一项所述的装置,其特征在于,所述第一索引信息包括用于指示所述最优运动信息是否为所述第一运动信息的第一符号和用于指示所述最优运动信息在所述运动列表中的位置的第二符号,以及
所述解码单元具体用于根据第一上下文模型,对所述第一符号进行算术解码处理,并根据第二上下文模型,对所述第二符号进行算术解码处理,以根据所述算术解码处理后的第一索引信息,从所述运动信息列表中确定最优运动信息,其中,所述第一上下文模型与所述第二上下文模型相异。
41.一种用于图像处理的编码器,其特征在于,所述编码器包括:
总线;
与所述总线相连的处理器;
与所述总线相连的存储器;
其中,所述处理器通过所述总线,调用所述存储器中存储的程序,以用于根据基本层图像块的运动信息确定目标图像块的第一运动信息,其中,所述的基本层图像块位于基本层图像中,所述目标图像块位于增强层图像中,所述的基本层图像与所述增强层图像相对应,且所述基本图像块在所述基本层图像中的空间位置与所述目标图像块在所述增强层图像中的空间位置相对应;
用于根据所述增强层图像中与所述目标图像块相邻的邻近图像块的运动信息确定所述目标图像块的第二运动信息;
用于根据所述第一运动信息和所述第二运动信息,生成运动信息列表;
用于根据预定规则从所述运动信息列表中确定所述目标图像块的最优运动信息;
用于根据所述最优运动信息,对所述目标图像块进行编码,以生成目标码流,所述目标码流包括用于指示所述最优运动信息在所述运动信息列表中的位置的第一索引信息。
42.根据权利要求41所述的编码器,其特征在于,所述处理器具体用于根据所述基本层图像块包括的与所述目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定所述目标图像子块的运动信息,其中,所述目标图像块子块具有预先设定的大小;
根据所述目标图像子块的运动信息,确定所述第一运动信息。
43.根据权利要求42所述的编码器,其特征在于,所述目标图像块包括至少两个目标图像子块,以及
所述处理器具体用于当与所述至少两个目标图像子块中的第一目标图像子块相对应的第一基本层图像子块的运动信息为空时,根据所述目标图像块的大小、所述目标图像子块的大小和用于指示所述第一目标图像子块在所述目标图像块中的位置的第二索引信息,确定所述至少两个目标图像子块中的第二目标图像子块;
用于根据所述第二目标图像子块的运动信息,确定所述第一目标图像子块的运动信息;
用于根据所述第一目标图像子块的运动信息,确定所述第一运动信息;或
用于根据所述第二目标图像子块的运动信息,确定所述第一运动信息;或
用于根据所述第一目标图像子块的运动信息以及第二目标图像子块的运动信息,确定所述第一运动信息。
44.根据权利要求43所述的编码器,其特征在于,所述处理器具体用于根据以下任一公式,确定所述第二目标图像子块,
Idx2=Idx1/N×N+((Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
其中,Idx2表示用于指示所述第二目标图像子块在所述目标图像块中的位置的第三索引信息,Idx1表示所述第二索引信息,N是根据所述目标图像块的大小和所述目标图像子块的大小确定的。
45.根据权利要求43或44所述的编码器,其特征在于,所述处理器具体用于如果所述第二目标图像子块的运动信息为空,则确定所述第一目标图像子块的运动信息为零运动信息。
46.根据权利要求42至44中任一项所述的编码器,其特征在于,所述处理器具体用于根据第三目标图像子块的运动信息,确定所述第一运动信息,其中,所述第三目标图像子块为所述目标图像块中位于预设位置的目标图像子块,或
所述第三目标图像子块的运动信息在所述目标图像子块的运动信息中的出现频率最高。
47.根据权利要求46所述的编码器,其特征在于,所述处理器具体还用于根据所述第三目标图像子块的运动信息的参考图像、所述目标图像和所述目标图像块的参考图像的时域距离关系,对所述第三目标图像子块的运动信息进行缩放处理;
用于根据所述缩放处理后的第三目标图像子块的运动信息,确定所述第一运动信息。
48.根据权利要求42至44中任一项所述的编码器,其特征在于,所述目标图像块包括至少两个目标图像子块,以及
当所述最优信息为所述第一运动信息时,所述处理器还用于对位于所述目标图像子块之间的边界附近的像素进行去块效应滤波处理。
49.根据权利要求41至44中任一项所述的编码器,其特征在于,所述第二运动信息包括时间运动信息和空间运动信息,以及
所述处理器具体用于根据所述第一运动信息和所述第二运动信息,确定运动信息列表,以使所述第一运动信息位于运动信息列表的首位;或
用于根据所述第一运动信息和所述第二运动信息,确定运动信息列表,以使所述第一运动信息位于运动信息列表的末位;或
用于根据所述第一运动信息和所述第二运动信息,确定运动信息列表,以使所述第一运动信息位于所述运动信息列表中的空间运动信息与所述时间运动信息之间。
50.根据权利要求41至44中任一项所述的编码器,其特征在于,所述第一索引信息包括用于指示所述最优运动信息是否为所述第一运动信息的第一符号和用于指示所述最优运动信息在所述运动列表中的位置的第二符号,以及
所述处理器具体用于根据第一上下文模型,对所述第一符号进行算术编码处理;
用于根据第二上下文模型,对所述第二符号进行算术编码处理,其中,所述第一上下文模型与所述第二上下文模型相异。
51.一种用于图像处理的解码器,其特征在于,所述解码器包括:
总线;
与所述总线相连的处理器;
与所述总线相连的存储器;
其中,所述处理器通过所述总线,调用所述存储器中存储的程序,以用于根据基本层图像块的运动信息确定目标图像块的第一运动信息,其中,所述的基本层图像块位于基本层图像中,所述目标图像块位于增强层图像中,所述的基本层图像与所述增强层图像相对应,且所述基本图像块在所述基本层图像中的空间位置与所述目标图像块在所述增强层图像中的空间位置相对应;
用于根据所述增强层图像中与所述目标图像块相邻的邻近图像块的运动信息确定所述目标图像块的第二运动信息;
用于根据所述第一运动信息和所述第二运动信息,生成运动信息列表;
用于根据目标码流,获取用于指示所述目标图像块的最优运动信息在所述运动信息列表中的位置的第一索引信息;
用于根据所述第一索引信息,从所述运动信息列表中确定最优运动信息,根据所述最优运动信息,对所述目标码流进行解码,以获取所述目标图像块。
52.根据权利要求51所述的解码器,其特征在于,所述处理器具体用于根据所述基本层图像块包括的与所述目标图像块中包含的目标图像子块对应的基本层图像子块的运动信息,确定所述目标图像子块的运动信息,其中,所述目标图像块子块具有预先设定的大小;
根据所述目标图像子块的运动信息,确定所述第一运动信息。
53.根据权利要求52所述的解码器,其特征在于,所述目标图像块包括至少两个目标图像子块,以及
所述处理器具体用于当与所述至少两个目标图像子块中的第一目标图像子块相对应的第一基本层图像子块的运动信息为空时,根据所述目标图像块的大小、所述目标图像子块的大小和用于指示所述第一目标图像子块在所述目标图像块中的位置的第二索引信息,确定所述至少两个目标图像子块中的第二目标图像子块;
用于根据所述第二目标图像子块的运动信息,确定所述第一目标图像子块的运动信息;
用于根据所述第一目标图像子块的运动信息,确定所述第一运动信息;或
用于根据所述第二目标图像子块的运动信息,确定所述第一运动信息;或
用于根据所述第一目标图像子块的运动信息以及第二目标图像子块的运动信息,确定所述第一运动信息。
54.根据权利要求53所述的解码器,其特征在于,所述处理器具体用于根据以下任一公式,确定所述第二目标图像子块,
Idx2=Idx1/N×N+((Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(Idx1%N/(N/4)%2))×N/4;
Idx2=Idx1/N×N+((1-Idx1%N/(N/2))×2+(1-Idx1%N/(N/4)%2))×N/4;
其中,Idx2表示用于指示所述第二目标图像子块在所述目标图像块中的位置的第三索引信息,Idx1表示所述第二索引信息,N是根据所述目标图像块的大小和所述目标图像子块的大小确定的。
55.根据权利要求53或54所述的解码器,其特征在于,所述处理器具体用于如果所述第二目标图像子块的运动信息为空,则确定所述第一目标图像子块的运动信息为零运动信息。
56.根据权利要求52至54中任一项所述的解码器,其特征在于,所述处理器具体用于根据第三目标图像子块的运动信息,确定所述第一运动信息,其中,所述第三目标图像子块为所述目标图像块中位于预设位置的目标图像子块,或
所述第三目标图像子块的运动信息在所述目标图像子块的运动信息中的出现频率最高。
57.根据权利要求56所述的解码器,其特征在于,所述处理器具体还用于根据所述第三目标图像子块的运动信息的参考图像、所述目标图像和所述目标图像块的参考图像的时域距离关系,对所述第三目标图像子块的运动信息进行缩放处理;
用于根据所述缩放处理后的第三目标图像子块的运动信息,确定所述第一运动信息。
58.根据权利要求52至54中任一项所述的解码器,其特征在于,所述目标图像块包括至少两个目标图像子块,以及
当所述最优信息为所述第一运动信息时,所述处理器还用于对位于所述目标图像子块之间的边界附近的像素进行去块效应滤波处理。
59.根据权利要求51至54中任一项所述的解码器,其特征在于,所述第二运动信息包括时间运动信息和空间运动信息,以及
所述处理器具体用于根据所述第一运动信息和所述第二运动信息,确定运动信息列表,以使所述第一运动信息位于运动信息列表的首位;或
用于根据所述第一运动信息和所述第二运动信息,确定运动信息列表,以使所述第一运动信息位于运动信息列表的末位;或
用于根据所述第一运动信息和所述第二运动信息,确定运动信息列表,以使所述第一运动信息位于所述运动信息列表中的空间运动信息与所述时间运动信息之间。
60.根据权利要求51至54中任一项所述的解码器,其特征在于,所述第一索引信息包括用于指示所述最优运动信息是否为所述第一运动信息的第一符号和用于指示所述最优运动信息在所述运动列表中的位置的第二符号,以及
所述处理器具体用于根据第一上下文模型,对所述第一符号进行算术解码处理,并根据第二上下文模型,对所述第二符号进行算术解码处理,以根据所述算术解码处理后的第一索引信息,从所述运动信息列表中确定最优运动信息,其中,所述第一上下文模型与所述第二上下文模型相异。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210375082.9A CN103716631B (zh) | 2012-09-29 | 2012-09-29 | 用于图像处理的方法、装置、编码器和解码器 |
PCT/CN2013/084538 WO2014048378A1 (zh) | 2012-09-29 | 2013-09-27 | 用于图像处理的方法、装置、编码器和解码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210375082.9A CN103716631B (zh) | 2012-09-29 | 2012-09-29 | 用于图像处理的方法、装置、编码器和解码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103716631A CN103716631A (zh) | 2014-04-09 |
CN103716631B true CN103716631B (zh) | 2017-04-05 |
Family
ID=50387020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210375082.9A Active CN103716631B (zh) | 2012-09-29 | 2012-09-29 | 用于图像处理的方法、装置、编码器和解码器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103716631B (zh) |
WO (1) | WO2014048378A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112055205B (zh) * | 2017-12-12 | 2021-08-03 | 华为技术有限公司 | 视频数据的帧间预测方法和装置、视频编解码器、存储介质 |
CN109996075B (zh) * | 2017-12-29 | 2022-07-12 | 华为技术有限公司 | 一种图像解码方法及解码器 |
SG11202012701XA (en) * | 2018-07-02 | 2021-01-28 | Huawei Tech Co Ltd | Motion vector prediction method and apparatus, encoder, and decoder |
CN114866777A (zh) * | 2018-09-20 | 2022-08-05 | 杭州海康威视数字技术股份有限公司 | 一种解码、编码方法及其设备 |
CN112118447B (zh) * | 2019-06-19 | 2023-06-20 | 华为技术有限公司 | 融合候选运动信息列表的构建方法、装置及编解码器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101095357A (zh) * | 2004-10-15 | 2007-12-26 | 弗劳恩霍夫应用研究促进协会 | 用中间层运动数据预测产生编码的视频序列的设备和方法 |
CN101198064A (zh) * | 2007-12-10 | 2008-06-11 | 武汉大学 | 一种分辨率分层技术中的运动矢量预测方法 |
CN101204094A (zh) * | 2005-04-15 | 2008-06-18 | Lg电子株式会社 | 可缩放地编码和解码视频信号的方法 |
CN101356820A (zh) * | 2006-01-05 | 2009-01-28 | 汤姆森许可贸易公司 | 层间运动预测方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100586882B1 (ko) * | 2004-04-13 | 2006-06-08 | 삼성전자주식회사 | 모션 스케일러빌리티를 지원하는 코딩 방법 및 장치 |
KR20060063608A (ko) * | 2004-12-06 | 2006-06-12 | 엘지전자 주식회사 | 영상신호의 엔코딩/디코딩시에 영상블록에 대한 레지듀얼예측을 수행하는 방법 및 장치 |
CN101147399B (zh) * | 2005-04-06 | 2011-11-30 | 汤姆森许可贸易公司 | 编码增强层视频数据的方法和设备 |
CN101557514B (zh) * | 2008-04-11 | 2011-02-09 | 华为技术有限公司 | 一种帧间预测编解码方法、装置及系统 |
-
2012
- 2012-09-29 CN CN201210375082.9A patent/CN103716631B/zh active Active
-
2013
- 2013-09-27 WO PCT/CN2013/084538 patent/WO2014048378A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101095357A (zh) * | 2004-10-15 | 2007-12-26 | 弗劳恩霍夫应用研究促进协会 | 用中间层运动数据预测产生编码的视频序列的设备和方法 |
CN101204094A (zh) * | 2005-04-15 | 2008-06-18 | Lg电子株式会社 | 可缩放地编码和解码视频信号的方法 |
CN101356820A (zh) * | 2006-01-05 | 2009-01-28 | 汤姆森许可贸易公司 | 层间运动预测方法 |
CN101198064A (zh) * | 2007-12-10 | 2008-06-11 | 武汉大学 | 一种分辨率分层技术中的运动矢量预测方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2014048378A1 (zh) | 2014-04-03 |
CN103716631A (zh) | 2014-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104967852B (zh) | 通过帧内预测来对图像进行编码和解码的方法和设备 | |
CN103716631B (zh) | 用于图像处理的方法、装置、编码器和解码器 | |
CN101385350B (zh) | 用于视频信号的层间预测方法 | |
CN103716629B (zh) | 用于图像处理的方法、装置、编码器和解码器 | |
CN106851292A (zh) | 用于帧内预测的解码图像的方法 | |
CN104247432A (zh) | 使用深度图估计和更新的高效多视点编码 | |
CN106162179A (zh) | 执行去块滤波的对视频进行解码的方法 | |
CN106101717A (zh) | 视频信号的处理方法和设备 | |
CN103430545A (zh) | 用于高效视频编码的内容适应性运动补偿滤波 | |
CN106464908A (zh) | 用于传输深度图像的预测模式以供层间视频编码和解码的方法和装置 | |
CN104704819A (zh) | 3d视频编码的视差矢量推导和视图间运动矢量预测的方法及装置 | |
CN103067704A (zh) | 一种基于编码单元层次提前跳过的视频编码方法和系统 | |
CN102143361B (zh) | 一种视频编码方法和装置 | |
CN1589028B (zh) | 基于像素流水的帧内预测装置及预测方法 | |
CN107005705A (zh) | 使用层间预测对多层图像进行编码或解码的方法和装置 | |
CN103974069B (zh) | 可重用的视频编码方法和编码器 | |
CN104104956B (zh) | 用于分层视频编码和解码的方法、编码装置和解码装置 | |
CN104104947B (zh) | 一种视频编码方法和装置 | |
CN110475116A (zh) | 一种运动矢量导出方法、装置及电子设备 | |
CN104079942B (zh) | 一种图像处理方法、装置及系统 | |
CN101682755B (zh) | 通过对图像进行分区来对图像编码/解码的方法和设备 | |
CN103051896A (zh) | 一种基于模式跳过的视频编码方法和系统 | |
CN110139099A (zh) | 基于预编码和编码satd值加权的帧间预测模式选择方法 | |
CN103716622B (zh) | 用于图像处理的方法和装置 | |
CN102075762B (zh) | 用于视频编码器的帧间预测电路及其实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |