CN104717510A - 用于图像处理的方法和装置 - Google Patents

用于图像处理的方法和装置 Download PDF

Info

Publication number
CN104717510A
CN104717510A CN201310689002.1A CN201310689002A CN104717510A CN 104717510 A CN104717510 A CN 104717510A CN 201310689002 A CN201310689002 A CN 201310689002A CN 104717510 A CN104717510 A CN 104717510A
Authority
CN
China
Prior art keywords
image block
information
position range
reference image
motion 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.)
Granted
Application number
CN201310689002.1A
Other languages
English (en)
Other versions
CN104717510B (zh
Inventor
昝劲文
林四新
马思伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
Huawei Technologies Co Ltd
Original Assignee
Peking University
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Peking University, Huawei Technologies Co Ltd filed Critical Peking University
Priority to CN201310689002.1A priority Critical patent/CN104717510B/zh
Priority to PCT/CN2014/093650 priority patent/WO2015085945A1/zh
Priority to EP14868808.8A priority patent/EP3068137B1/en
Priority to KR1020167016912A priority patent/KR101779872B1/ko
Priority to JP2016538630A priority patent/JP2017505021A/ja
Publication of CN104717510A publication Critical patent/CN104717510A/zh
Priority to US15/178,004 priority patent/US10116934B2/en
Application granted granted Critical
Publication of CN104717510B publication Critical patent/CN104717510B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Processing Or Creating Images (AREA)

Abstract

提供一种用于图像处理的方法和装置,能够降低内存带宽要求。该方法包括:从与当前图像块相邻的N个邻近图像块中,获取N个运动信息,其中,N个邻近图像块与N个运动信息一一对应,N个运动信息用于指示当前图像块的参考图像中的N个参考图像块,N个运动信息与N个参考图像块一一对应;根据预设规则,从N个运动信息中,确定候选运动信息,从参考图像中,确定待存储的像素的位置范围,并存储位于位置范围内的全部像素,该位置范围覆盖候选参考图像块的全部像素,候选参考图像块是N个参考图像块中的至少一个图像块,候选运动信息是候选参考图像块所对应的运动信息;读取位置范围内的像素,根据位置范围内的像素,对当前图像块进行编码处理。

Description

用于图像处理的方法和装置
技术领域
本发明涉及视频处理领域,并且更具体地,涉及一种用于图像处理的方法和装置。
背景技术
随着互联网的迅猛发展以及人们物质精神文化的日益丰富,在互联网中针对视频的应用需求尤其是针对高清视频的应用需求越来越多,而高清视频的数据量非常大,要想高清视频能在带宽有限的互联网中传输,必须首先解决的问题就是高清视频压缩编解码问题。
目前,已知一种编解码技术,从邻近图像块中获取多个运动信息,并从所获取多个运动信息中选择一个最优运动信息,并利用该最优运动信息对当前编码块做运动补偿。需要说明的是,上述邻近图像块可以是时间邻近图像块,也可以是空间邻近图像块。所述空间邻近图像块是与当前处理图像块在同一图像(例如,同一视频帧)内已编码或解码的图像块,所述时间图像块是在当前处理图像块的时域参考图像(例如,前向参考帧或后向参考帧)内已编码或解码的对应图像块。从而,能够有效地利用邻近图像块的运动信息来确定当前处理的图像块的运动信息,无需将当前编码块的运动信息明确写入码流中。
但是,上述从所获取多个运动信息中选择一个最优运动信息的过程,需要基于各运动信息在参考图像中对应(或者说,指向)的像素块(也称为参考图像块)进行计算,因此,需要从参考图像中,读取各运动信息指向的参考图像块,并将其存储在内存中,以用于计算出上述最优运动信息。
特别是,当候选的运动矢量数目较多时,所需要存储的参考图像块的数量也较多,导致对内存带宽的要求提高,增加了系统成本。
因此,希望提供一种技术,能够降低对内存带宽的要求。
发明内容
本发明实施例提供一种用于图像处理的方法和装置,能够降低对内存带宽的要求。
第一方面,提供了一种用于图像处理的方法,该方法包括:从与当前图像块相邻的N个邻近图像块中,获取N个运动信息,其中,该N个邻近图像块与该N个运动信息一一对应,该N个运动信息用于指示该当前图像块的参考图像中的N个参考图像块,该N个运动信息与该N个参考图像块一一对应;根据预设规则,从该N个运动信息中,确定候选运动信息,该候选运动信息是该N个运动信息中的至少一个信息;根据该候选运动信息,从该参考图像中,确定待存储的像素的位置范围,并存储位于该位置范围内的全部像素,其中,该位置范围覆盖候选参考图像块的全部像素,该候选参考图像块是该N个参考图像块中的至少一个图像块,该候选参考图像块是该候选运动信息所对应的图像块;读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流。
在一种可能的实施方式中,该候选参考图像块是该N个参考图像块中的至少两个图像块,该候选运动信息是该N个运动信息中的至少两个运动信息,以及该读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,包括:根据该候选运动信息,读取该位置范围内的像素,以获取该候选参考图像块;根据该候选参考图像块,从该候选运动信息中,确定最优运动信息;根据该最优运动信息,对该当前图像块进行编码处理。
结合第一方面和第一种可能的实施方式,在第二种可能的实施方式中,该候选参考图像块是该N个参考图像块中的部分图像块。
结合第一方面、第一种可能的实施方式和第二种可能的实施方式,在第三种可能的实施方式中,该根据预设规则,从该N个运动信息中,确定候选运动信息,包括:根据可用内存带宽和/或该当前图像块所属图像的属性信息,从该运动信息中,确定该候选运动信息,其中,该属性信息用于指示以下至少一个参数:所属图像的清晰度、所属图像的内容、所属图像的来源或所属图像的制作风格。
结合第一方面、第一种可能的实施方式、第二种可能的实施方式和第三种可能的实施方式,在第四种可能的实施方式中,该读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,包括:读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,其中,该目标码流包括第一索引信息,该第一索引信息用于指示该候选运动信息。
结合第一方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式和第四种可能的实施方式,在第五种可能的实施方式中,该读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,包括:读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,其中,该目标码流包括第二索引信息,该第二索引信息用于指示该位置范围在该参考图像中的位置和覆盖范围。
结合第一方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式和第五种可能的实施方式,在第六种可能的实施方式中,该候选参考图像块是该N个参考图像块中的全部图像块。
第二方面,提供了用于图像处理的方法,其特征在于,该方法包括:从与当前图像块相邻的N个邻近图像块中,获取N个运动信息,其中,该N个邻近图像块与该N个运动信息一一对应,该N个运动信息用于指示该当前图像块的参考图像中的N个参考图像块,该N个运动信息与该N个参考图像块一一对应;从该参考图像中,确定待存储的像素的位置范围,并存储位于该位置范围内的全部像素,其中,该位置范围覆盖候选参考图像块的全部像素,该候选参考图像块是该N个参考图像块中的至少一个图像块;根据该运动信息中的候选运动信息,读取该位置范围内的像素,并根据该位置范围内的像素,对目标码流进行解码处理,以重建该当前图像块,其中,该候选运动信息是该候选参考图像块所对应的运动信息。
在一种可能的实施方式中,该候选参考图像块是该N个参考图像块中的至少两个图像块,该候选运动信息是该N个运动信息中的至少两个运动信息,以及该根据该运动信息中的候选运动信息,读取该位置范围内的像素,并根据该位置范围内的像素,对目标码流进行解码处理,包括:从该运动信息中,确定该候选运动信息;根据该候选运动信息,读取该位置范围内的像素,以获取该候选参考图像块;根据该候选参考图像块,从该候选运动信息中,确定最优运动信息;根据该最优运动信息,对目标码流进行解码处理。
结合第二方面和第一种可能的实施方式,在第二种可能的实施方式中,该候选参考图像块是该N个参考图像块中的全部图像块。
结合第二方面、第一种可能的实施方式和第二种可能的实施方式,在第三种可能的实施方式中,该候选参考图像块是该N个参考图像块中的部分图像块。
结合第二方面、第一种可能的实施方式、第二种可能的实施方式和第三种可能的实施方式,在第四种可能的实施方式中,该从该参考图像中,确定待存储的像素的位置范围,包括:从该运动信息中,确定该候选运动信息;根据该候选运动信息,从该参考图像中,确定该位置范围。
结合第二方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式和第四种可能的实施方式,在第五种可能的实施方式中,该从该运动信息中,确定该候选运动信息,包括:根据可用内存带宽和/或该当前图像块所属图像的属性信息,从该运动信息中,确定该候选运动信息,其中,该属性信息用于指示以下至少一个参数:所属图像的清晰度、所属图像的内容、所属图像的来源或所属图像的制作风格。
结合第二方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式和第五种可能的实施方式,在第六种可能的实施方式中,该从该运动信息中,确定该候选运动信息,包括:从该目标码流中获取第一索引信息,该第一索引信息用于指示该候选运动信息;根据该第一索引信息,从该运动信息中,确定该候选运动信息。
结合第二方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式、第五种可能的实施方式和第六种可能的实施方式,在第七种可能的实施方式中,该从该参考图像中,确定待存储的像素的位置范围,包括:从该目标码流中,获取第二索引信息,该第二索引信息用于指示该位置范围在该参考图像中的位置和覆盖范围;根据该第二索引信息,从该参考图像中,确定该位置范围
第三方面,提供了一种用于图像处理的装置,该装置包括:获取单元,用于从与当前图像块相邻的N个邻近图像块中,获取N个运动信息,其中,该N个邻近图像块与该N个运动信息一一对应,该N个运动信息用于指示该当前图像块的参考图像中的N个参考图像块,该N个运动信息与该N个参考图像块一一对应;确定单元,用于根据预设规则,从该N个运动信息中,确定候选运动信息,该候选运动信息是该N个运动信息中的至少一个信息,并根据该候选运动信息,从该参考图像中,确定待存储的像素的位置范围,其中,该位置范围覆盖候选参考图像块的全部像素,该候选参考图像块是该N个参考图像块中的至少一个图像块,该候选运动信息是该候选参考图像块所对应的运动信息;存储单元,用于存储位于该位置范围内的全部像素;处理单元,用于从该存储单元中读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流。
在一种可能的实施方式中,该候选参考图像块是该N个参考图像块中的至少两个图像块,该候选运动信息是该N个运动信息中的至少两个运动信息,以及该处理单元具体用于根据该候选运动信息,从该存储单元中读取该位置范围内的像素,以获取该候选参考图像块;根据该候选参考图像块,从该候选运动信息中,确定最优运动信息;根据该最优运动信息,对该当前图像块进行编码处理。
结合第三方面和第一种可能的实施方式,在第二种可能的实施方式中,该候选参考图像块是该N个参考图像块中的部分图像块。
结合第三方面、第一种可能的实施方式和第二种可能的实施方式,在第三种可能的实施方式中,该确定单元具体用于根据可用内存带宽和/或该当前图像块所属图像的属性信息,从该运动信息中,确定该候选运动信息,并根据该候选运动信息,从该参考图像中,确定该位置范围,其中,该属性信息用于指示以下至少一个参数:所属图像的清晰度、所属图像的内容、所属图像的来源或所属图像的制作风格。
结合第三方面、第一种可能的实施方式、第二种可能的实施方式和第三种可能的实施方式,在第四种可能的实施方式中,该处理单元具体用于从该存储单元中读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,其中,该目标码流包括第一索引信息,该第一索引信息用于指示该候选运动信息。
结合第三方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式和第四种可能的实施方式,在第五种可能的实施方式中,该处理单元具体用于从该存储单元中读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,其中,该目标码流包括第二索引信息,该第二索引信息用于指示该位置范围在该参考图像中的位置和覆盖范围。
结合第三方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式和第五种可能的实施方式,在第六种可能的实施方式中,该候选参考图像块是该N个参考图像块中的全部图像块。
第四方面,提供了一种用于图像处理的装置,该装置包括:获取单元,用于从与当前图像块相邻的N个邻近图像块中,获取N个运动信息,其中,该N个邻近图像块与该N个运动信息一一对应,该N个运动信息用于指示该当前图像块的参考图像中的N个参考图像块,该N个运动信息与该N个参考图像块一一对应;确定单元,用于从该参考图像中,确定待存储的像素的位置范围,其中,该位置范围覆盖候选参考图像块的全部像素,该候选参考图像块是该N个参考图像块中的至少一个图像块;存储单元,用于存储位于该位置范围内的全部像素;处理单元,用于根据该运动信息中的候选运动信息,从该存储单元中读取该位置范围内的像素,并根据该位置范围内的像素,对目标码流进行解码处理,以重建该当前图像块,其中,该候选运动信息是该候选参考图像块所对应的运动信息。
在一种可能的实施方式中,该候选参考图像块是该N个参考图像块中的至少两个图像块,该候选运动信息是该N个运动信息中的至少两个运动信息,以及该确定单元还用于从该运动信息中,确定该候选运动信息;该处理单元具体用于从该确定单元获取该候选运动信息,根据该候选运动信息,读取该位置范围内的像素,以获取该候选参考图像块,根据该候选参考图像块,从该候选运动信息中,确定最优运动信息,根据该最优运动信息,对目标码流进行解码处理。
结合第四方面和第一种可能的实施方式,在第二种可能的实施方式中,该候选参考图像块是该N个参考图像块中的全部图像块。
结合第四方面、第一种可能的实施方式和第二种可能的实施方式,在第三种可能的实施方式中,该候选参考图像块是该N个参考图像块中的部分图像块。
结合第四方面、第一种可能的实施方式、第二种可能的实施方式和第三种可能的实施方式,在第四种可能的实施方式中,该确定单元具体用于从该运动信息中,确定该候选运动信息,根据该候选运动信息,从该参考图像中,确定该位置范围。
结合第四方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式和第四种可能的实施方式,在第五种可能的实施方式中,该确定单元具体用于根据可用内存带宽和/或该当前图像块所属图像的属性信息,从该运动信息中,确定该候选运动信息,其中,该属性信息用于指示以下至少一个参数:所属图像的清晰度、所属图像的内容、所属图像的来源或所属图像的制作风格。
结合第四方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式和第五种可能的实施方式,在第六种可能的实施方式中,该确定单元具体用于从该目标码流中获取第一索引信息,根据该第一索引信息,从该运动信息中,确定该候选运动信息,其中,该第一索引信息用于指示该候选运动信息。
结合第四方面、第一种可能的实施方式、第二种可能的实施方式、第三种可能的实施方式、第四种可能的实施方式、第五种可能的实施方式和第六种可能的实施方式,在第七种可能的实施方式中,该确定单元具体用于从该目标码流中,获取第二索引信息,根据该第二索引信息,从该参考图像中,确定该位置范围,其中,该第二索引信息用于指示该位置范围在该参考图像中的位置和覆盖范围。
根据本发明实施例的用于图像处理的方法和装置,通过从参考图像中确定位置范围,使该位置范围覆盖有至少一个运动信息所对应的像素,能够在一次读入内存上述位置范围内的像素的情况下,从该至少一个运动信息中,确定最优运动信息,而不是对每一个运动信息分别读取对应像素,从而,能够降低对内存带宽的要求,减少系统要求和成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明一实施例的用于图像处理的方法的示意性流程图。
图2a是与当前图像块空间相邻的临近图像块的示意图,图2b是与当前图像块时间相邻的临近图像块的示意图。
图3a是根据本发明一实施例的用于图像处理的方法所确定的位置范围的一例的示意图,图3b是根据本发明一实施例的用于图像处理的方法所确定的位置范围的另一例的示意图。
图4是根据本发明另一实施例的用于图像处理的方法的示意性流程图。
图5是根据本发明一实施例的用于图像处理的装置的示意性框图。
图6是根据本发明另一实施例的用于图像处理的装置的示意性框图。
图7是根据本发明一实施例的用于图像处理的编码器的示意性结构图。
图8是根据本发明另一实施例的用于图像处理的解码器的示意性结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明实施例的用于图像处理的方法和装置能够适用于各种从多个运动信息中确定最优运动信息,并根据该最优运动信息对当前图像块进行运动补偿,以实现对当前图像块的编解码的技术,例如,解码端运动矢量推知(DMVD,Decoder-side motion vector derivation)技术、融合(MERGE)技术以及先进的运动矢量预测(AMVP,Advanced Motion Vector Prediction)技术等利用邻近图像块的运动信息来确定当前处理的图像块的运动信息的技术。以下,为了便于理解和说明,以本发明实施例的用于图像处理的方法和装置在DMVD技术中的应用为例,进行说明。
另外,在本发明实施例中,一个图像可以是视频中的一个视频帧,此情况下,一个图像块可以是视频帧中的帧块。
图1示出了从编码端角度描述的根据本发明实施例的用于图像处理的方法100的示意性流程图。如图1所示,该方法100包括:
S110,从与当前图像块相邻的N个邻近图像块中,获取N个运动信息,其中,该N个邻近图像块与该N个运动信息一一对应,该N个运动信息用于指示该当前图像块的参考图像中的N个参考图像块,该N个运动信息与该N个参考图像块一一对应;
S120,根据预设规则,从该N个运动信息中,确定候选运动信息,该候选运动信息是该N个运动信息中的至少一个信息;
S130,根据该候选运动信息,从该参考图像中,确定待存储的像素的位置范围,并存储位于该位置范围内的全部像素,其中,该位置范围覆盖候选参考图像块的全部像素,该候选参考图像块是该N个参考图像块中的至少一个图像块,该候选参考图像块是该候选运动信息所对应的图像块;
S140,读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流
具体地说,编码端可以获取N个运动信息,这里N为正整数。
在本发明实施例中,运动信息可以包括预测方向、参考图像索引或运动矢量中的一个或多个,其中,预测方向可分为单向和双向预测,单向预测又可以分为前向预测与后向预测。
前向预测指使用前向参考图像列表,即列表(list)0中的参考图像产生预测信号。
后向预测指使用后向参考图像列表,即list1中的参考图像产生预测信号,双向预测指同时使用list0和list1中的参考图像产生预测信号。
对于单向预测,需要一个参考图像索引指示在list0或list1中所选择的参考图像,对于双向预测,需要两个参考图像索引,分别指示在list0与list1中所选择的参考图像。
每一个运动矢量包括水平方向分量x和竖直方向分量y,可记作(x,y),对于单向预测,需要一个运动矢量指示预测信号在所选择的list0或list1参考图像中的位移,对于双向预测,需要两个运动矢量,分别指示前向预测信号与后向预测信号在所选择的list0参考图像与list1参考图像中的位移。
在本发明实施例中,运动信息是指从该当前图像块(即,对于编码端是待编码的图像块,对于解码端是待解码重建的图像块)的邻近图像块中获取的运动信息。在本发明实施例中,该运动信息可以包括空间运动信息和时间运动信息。
其中,空间运动信息是从当前图像块中的空间邻近块获取的运动信息,时间运动信息是指从时间邻近块获取的运动信息。
图2a示出了DMVD技术中空间运动信息的源位置(获取位置),图2b示出了DMVD技术中时间运动信息的源位置(获取位置)。
如图2a所示,在DMVD技术中,作为空间运动信息,可以包括:
位于当前图像块左侧的图像块A(邻近块的一例)的运动信息,以下,记作MV#A。
位于当前图像块上侧的图像块B(邻近块的再一例)的运动信息,以下,记作MV#B。
位于当前图像块右上侧的图像块C(邻近块的再一例)的运动信息,以下,记作MV#C。
位于当前图像块左上侧的图像块D(邻近块的再一例)的运动信息,以下,记作MV#D。
需要说明的是,在预测方向为单向时,一个运动信息可以指示一个参考图像中的一个参考块,在预测方向为双向时,一个运动信息可以指示前向参考图像中的参考块和后向参考图像中的参考块。
如图2b所示,在DMVD技术中,作为时间运动信息,可以包括:
例如,基于当前图像块,对MV#T’进行平移处理而获取的运动信息,以下,记作MV#T,其中,MV#T’在后向参考图像中,位于与该当前图像块相对应的位置上的图像块E(邻近块的再一例)的运动信息。
从而,编码端能够获得包括上述5个运动信息的运动信息集合(或者说,运动信息列表),即,N个运动信息的一例,记作:
{MV#A,MV#B,MV#C,MV#D,MV#T}
应理解,以上列举的获取N个运动信息的方法仅为示例性说明,本发明并不限定于此,可以根据本发明实施例的用于图像处理的方法所适用的技术,而采用不同的获取方法,本发明并未特别限定。
在如上所述,确定N个运动信息后,编码端可以从参考图像中,确定各运动信息对应(或者说,指向)的参考图像块,这里,需要说明的是,在预测方向为双向的情况下,编码端需要从两个参考图像(前向参考图像和后向参考图像)中分别确定各运动矢量对应的参考图像块。以下,为了便于理解和说明,不失一般性地,以对后向参考图像的处理为例,进行说明。
其后,编码端需要从N个运动信息中确定一个运动信息(以下为了便于理解和区分,称为目标运动信息),以根据该目标运动信息对当前图像块进行编码处理,具体地说,是运动补偿处理,随后,对该过程进行详细说明。
在本发明实施例中,可以根据预设规则,采用计算方式,计算出该目标运动信息(即,方式1),也可以根据当前图像块的属性和/或设备性能,确定该目标运动信息(即,方式2)。下面,分别对以上两种情况的处理进行详细说明。
方式1
可选地,该候选参考图像块是该N个参考图像块中的全部图像块。
在本发明实施例中,可以将N个运动信息的全部,作为候选运动信息,从而,可以采用计算方式从N个运动信息中确定最优运动信息,作为上述目标运动信息,在计算过程中,需要获取N个运动信息所对应的(具体地说,是运动矢量所指向的)参考图像中的参考图像块(候选参考图像块的一例),并基于该参考图像块(具体地说,是参考图像块中的像素的像素值)进行计算。
因此,在本发明实施例中,编码端可以确定需要存储并用于后续处理的像素(即,各参考图像块)在参考图像中的位置分布。
由于如上所述确定的各运动信息是从当前编码块的邻近(时间邻近和/或空间邻近)图像块中获取的,因此各运动信息(具体地说,是运动矢量)之间具有较强的相关性(或者,相似度),因此,如图3a和图3b所示,外在表现为各参考图像块之间存在重叠,或者说,多个参考图像块包含位于同一位置的像素。
在现有技术中,编码端需要从参考图像中,分别获取各运动信息所指向的参考图像块,并将各参考图像块(具体地说,是参考图像块中的像素值)独立地存储在内存空间中,以基于各参考图像块,从N个运动信息中,确定最优的运动信息。因此,要求设备的内存的带宽,能够满足N个参考图像块的读取,可能出现上述发生重叠部分的区域被多次存储的情况,即,在确定最优运动信息时,需要在规定时间内进行N次读取,以读取N个参考图像块,导致对内存带宽的要求较高。
与此相对,在本发明实施例中,基于如上所述确定的N各运动信息之间具有较强的相关性和相似度的特点,可以从参考图像中,确定一个区域(即,位置范围),使该区域的范围能够覆盖N个参考图像块包含的全部像素,作为示例而非限定,例如,可以将N个参考图像块的最小公共图像块,作为该位置范围,即,图3a中的虚线所示区域。
该最小公共图像块,可以通过以下方式确定,即:
设当前图像块在当前编码图像内坐标为(cur_x,cur_y),大小为(blk_x)×(blk_y)像素,不失一般性,在一个参考图像中,运动矢量的水平分量记作x,运动矢量的垂直分量分别记作y,则在该参考图像中,MV#A可以写作{MV#A_x,MV#A_y},MV#B可以写作{MV#B_x,MV#B_y},MV#C可以写作{MV#C_x,MV#C_y},MV#D可以写作{MV#D_x,MV#D_y},MV#T可以写作{MV#T_x,MV#T_y}。
从而,可以确定各参考图像块中,
在水平方向上相对于目标图像块的最小位移Δx_min=min(MV#A_x,MV#B_x,MV#C_x,MV#D_x,MV#T_x)
在水平方向上相对于目标图像块的最大位移Δx_max=max(MV#A_x,MV#B_x,MV#C_x,MV#D_x,MV#T_x)
在垂直方向上相对于目标图像块的最小位移Δy_min=min(MV#A_y,MV#B_y,MV#C_y,MV#D_y,MV#T_y)
在垂直方向上相对于目标图像块的最大位移Δy_max=max(MV#A_y,MV#B_y,MV#C_y,MV#D_y,MV#T_y)
在此定义下,在参考图像中一次性读出并缓存的位置范围,可以为一个矩形区域。其中:
位于该矩形区域左上角的像素的坐标为:(cur_x+Δx_min,cur_y+Δy_min)。
位于该矩形区域右下角的像素的坐标为:(cur_x+Δx_max+blk_x,cur_y+Δy_max+blk_y)。
从而,可以将该位置范围内的各像素的信息(例如,像素值)读取并存储在内存中,以用于后续确定最优运动信息的处理。
可选地,在根据该运动信息中的候选运动信息,从该参考图像中,确定待存储的像素的位置范围之前,该方法还包括:
确定所述N个参考图像块中的至少两个参考图像块之间彼此重叠。
具体地说,在如上所述,确定各参考图像块后,可以首先判定各参考图像彼此之间是否重叠,如果重叠,则可以执行上述确定位置范围,并存储位置范围内的像素的信息的过程。
从而,能够确保相对于现有技术,降低对内存带宽的要求。
可选地,在根据该运动信息中的候选运动信息,从该参考图像中,确定待存储的像素的位置范围之前,该方法还包括:
确定所述N个参考图像块中的至少两个参考图像块之间彼此重叠,并且,发生重叠的参考图像块的数量大于等于预设的数量阈值,或重叠范围大于等于预设的范围阈值。
具体地说,在如上所述,确定各参考图像块后,可以首先判定各参考图像彼此之间是否重叠,如果重叠,则可以进一步确定发生重叠的区域的特征(例如,发生重叠的参考图像块的数量,和/或重叠范围的大小),如果上述重叠区域的特征满足预设条件,例如,发生重叠的参考图像块的数量大于等于预设的数量阈值,和/或重叠范围的大于等于预设的范围阈值),则可以执行上述确定位置范围,并存储位置范围内的像素的信息的过程。需要说明的是,上述数量阈值可以根据参考图像块的数量(或者说,运动信息的数量)来设定,例如,如果参考图像块的数量为5,则可以将该数量阈值设定为5。同样,上述范围阈值可以根据参考图像块的大小来设定。
从而,能够进一步确保相对于现有技术,降低对内存带宽的要求。
其后,可以根据所存储的位置范围(具体地说,是位置范围内的像素)从N个运动信息中,确定最优运动信息。
即,可选地,该候选参考图像块是该N个参考图像块中的至少两个图像块,该候选运动信息是该N个运动信息中的至少两个运动信息,以及
该读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,包括:
根据该候选运动信息,读取该位置范围内的像素,以获取该候选图像块;
根据该候选图像块,从该候选运动信息中,确定最优运动信息;
根据该最优运动信息,对该当前图像块进行编码处理。
具体地说,由于如上所述确定的位置范围覆盖了全部的参考图像块,因此,能够从所存储的位置范围的像素的信息中,获取各运动信息所对应的参考图像块(具体地说,是各参考图像块的像素的信息),从而,可以根据各参考图像块,从各运动信息中,确定最优运动信息。例如,可以基于各运动信息所对应的像素的信息,应用预先定义的准则(例如,率失真准则)进行评估得到各运动信息对应的评价值,并选择评价值最小值的运动信息,作为最优运动信息,即,用于对当前图像块进行编码处理(例如,运动补偿处理)的运动信息。
应理解,上述预定义的准则可以根据所应用的编码技术而适当变更,本发明并未特别限定。例如,在DMVD技术中,在双向预测的情况下,对于每一个运动信息均包括前向运动信息和后向运动信息,前向运动信息用于指示前向参考图像中的参考图像块(称为,前向参考图像块),后向运动信息用于指示后向参考图像中的图像块(称为,前向参考图像块),如果使用前向参考图像块与后向参考图像块中相应位置的像素值的差值平方和值作为衡量准则,则可以将上述差值平方和最小的运动信息,作为最优运动信息。
其后,编码端可以使用该最优运动信息对该目标图像块进行运动补偿编码操作等处理,实现对当前图像块的编码,并生成目标码流,传输至解码端。这里,编码端根据最优运动信息对当前图像块进行编码处理的过程和方法可以与现有技术相似,这里,为了避免赘述,省略其说明。
可选地,该读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,包括:
读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,其中,该目标码流包括第二索引信息,该第二索引信息用于指示该位置范围在该参考图像中的位置。
具体地说,在本发明实施例中,编码端在如上所述确定位置范围后,还可以在所生成的码流中携带用于指示位置范围在该参考图像中的位置的信息,即,第二索引信息,解码端可以根据该第二索引信息直接从参考图像中确定位置范围,从而能够降低解码端的负担,并降低解码端的功耗,提高解码端的处理效率。
根据本发明实施例的用于图像处理的方法,通过使所确定的位置范围覆盖全部参考图像,能够确保最优运动信息的获取,提高图像处理的效果,改善用户体验。
方式2
可选地,该候选参考图像块是该N个参考图像块中的部分图像块。
具体地说,受编码端设备的硬件限制,例如,内存带宽的限制,可能存在当先可用的内存带宽无法满足上述方式1中所确定的最小公共图像块(位置范围的一例)的要求的情况。
鉴于以上问题,本发明实施例提供了以下技术方案,即,可以使所确定位置范围仅覆盖部分参考图像块(即,候选参考图像块的一例),设所覆盖的参考图像块的数量为M,则满足1≤M<N。
从而,能够确保位置范围覆盖至少一个完整的参考图像块,即,至少一个运动信息是可用的,能够在确保通过运动信息对当前图像块进行编码的前提下,降低对内存带宽的要求。
此情况下,可以从参考图像中,确定一个区域(即,位置范围),使该区域的范围能够覆盖M个参考图像块包含的全部像素,即,图3b中的虚线所示区域。
可选地,该根据预设规则,从该N个运动信息中,确定候选运动信息,包括:
根据可用内存带宽和/或该当前图像块所属图像的属性信息,从该运动信息中,确定该候选运动信息,其中,该属性信息用于指示以下至少一个参数:
所属图像的清晰度、所属图像的内容、所属图像的来源或所属图像的制作风格。
具体地说,在本发明实施例中,可以根据可用内存带宽和/或该当前图像块所属图像的属性信息,选择该M个候选参考图像块,或者说,选择该M个候选参考图像块所对应的运动信息。
下面,分别对上述各参数的使用方法进行说明。
A.所属图像的内容、所属图像的来源和所属图像的制作风格
对于图像,例如,按内容分类,可以分为新闻类图像、体育运动类图像和影视类图像等。同样,也可以按来源和制作风格对图像进行分类。同一类型的图像,其最优运动信息(或者说,最优运动信息所来自的邻近图像块)往往相同。因此,在本发明实施例中,可以按所属图像的内容、所属图像的来源和所属图像的制作风格等,统计出各类图像的高优先级运动信息,该高优先级运动信息成为该类图像的最优运动信息的概率最大。
从而,在确定位置范围时,可以优先确保使该位置范围覆盖上述高优先级运动信息所对应的参考图像块。
可选地,该读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,包括:
读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,其中,该目标码流包括第一索引信息,该第一索引信息用于指示该候选运动信息。
具体地说,在如上所述确定高优先级运动信息(即,候选运动信息的一例)后,编码端还可以在所生成的码流中携带用于指示该候选运动信息的信息,即,第一索引信息,解码端可以根据该第一索引信息直接从N个运动信息中确定候选运动信息,进而确定各候选运动信息所对应的参考图像块(即,候选参考图像块),从而可以从参考图像中,确定位置范围,是位置范围的能够覆盖该候选参考图像块,从而能够降低解码端的负担,并降低解码端的功耗,提高解码端的处理效率。
B.可用内存带宽
在本发明实施例中,可以根据当前可用的内存带宽的大小,确定可以读取并存储的位置范围的大小,从而,可以根据该位置范围的大小,确定能够覆盖的参考图像块的数量及位置,从而能够确定候选图像块,以及指向该候选图像块的候选运动信息。
需要说明的是,如果当前可用的内存带宽足够大,则可能出现位置范围所覆盖的参考图像块具有多种组合的情况,例如,对于相同大小的位置范围,其在参考图像中的位置不同,所能够覆盖的参考图像块的数量可能不同,或者,对于相同大小的位置范围,其在参考图像中的位置不同,所能够覆盖的参考图像块所对应的运动信息不同。
此情况下,可以将能够覆盖最多参考图像块的范围作为所使用的位置范围,从而,能够提供较多的参考图像块,能够使最终确定的用于编码处理的运动信息得到优化。
或者,可以将能够覆盖如上所述确定的高优先级运动信息所对应的参考图像块的范围作为所使用的位置范围,从而,能够确保根据高优先级运动信息进行编码处理。
C.所属图像的清晰度
对于不同的图像清晰度,对编码端的硬件要求也不同,例如,对于清晰度较高的图像,为了实现对其的编码,通常需要配置性能较高的硬件,例如,较高的内存带宽,因此,根据当前图像块所属图像的清晰度,确定可以存储的位置范围的大小,即,清晰度越高,位置范围越大,从而,可以根据该位置范围的大小,确定能够覆盖的参考图像块的数量及位置,从而能够确定候选图像块,以及指向该候选图像块的候选运动信息。
在根据可用内存带宽和所属图像的清晰度(或者说,编码端的硬件性能)确定位置范围的情况下,该位置范围可以,可以通过以下方式确定,即:
设当前图像块在当前编码图像内坐标为(cur_x,cur_y),大小为(blk_x)×(blk_y)像素,不失一般性,在一个参考图像中,运动矢量的水平分量记作x,运动矢量的垂直分量分别记作y,则在该参考图像中,MV#A可以写作{MV#A_x,MV#A_y},MV#B可以写作{MV#B_x,MV#B_y},MV#C可以写作{MV#C_x,MV#C_y},MV#D可以写作{MV#D_x,MV#D_y},MV#T可以写作{MV#T_x,MV#T_y}。
从而,可以确定各参考图像块中,
在水平方向上相对于目标图像块的最小位移Δx_min=min(MV#A_x,MV#B_x,MV#C_x,MV#D_x,MV#T_x)
在水平方向上相对于目标图像块的最大位移Δx_max=max(MV#A_x,MV#B_x,MV#C_x,MV#D_x,MV#T_x)
在垂直方向上相对于目标图像块的最小位移Δy_min=min(MV#A_y,MV#B_y,MV#C_y,MV#D_y,MV#T_y)
在垂直方向上相对于目标图像块的最大位移Δy_max=max(MV#A_y,MV#B_y,MV#C_y,MV#D_y,MV#T_y)
在此定义下,在参考图像中一次性读出并缓存的位置范围,可以为一个矩形区域。其中:
位于该矩形区域左上角的像素的坐标为:(cur_x+max(-Ωx_min,Δ_x_min),cur_y+max(-Ωy_min,Δ_y_min))。
位于该矩形区域右下角的像素的坐标为:(cur_x+blk_x+min(Ωx_max,Δx_max),cur_y+blk_y+min(Ωy_max,Δy_max)。
其中,Ωx_min,Ωx_max,Ωy_min和Ωy_max的取值,可以根据可用内存带宽或编码器的硬件性能来确定。
可选地,该读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,包括:
读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,其中,该目标码流包括第二索引信息,该第二索引信息用于指示该位置范围在该参考图像中的位置。
具体地说,在本发明实施例中,编码端在如上所述确定位置范围后,还可以在所生成的码流中携带用于指示位置范围在该参考图像中的位置的信息,即,第二索引信息,解码端可以根据该第二索引信息直接从参考图像中确定位置范围,从而能够降低解码端的负担,并降低解码端的功耗,提高解码端的处理效率。
作为示例而非限定,在本发明实施例中,该第二索引信息可以是上述Ωx_min,Ωx_max,Ωy_min和Ωy_max的取值。并且,该第二索引信息可以在码流中的不同位置使用适当的语法元素标识,例如,可以在图像参数集(PPS,Picture parameter set)或条带头(slice header)中标识。由于图像参数集或条带头在码流中出现的频率较低,在这些位置上标识上述Ωx_min,Ωx_max,Ωy_min和Ωy_max的取值带来的额外带宽影响几乎可以忽略不计。
在如上所述,确定了位置范围后,可以将该位置范围内的各像素的信息(例如,像素值)读取并存储在内存中。
并且,当位置范围仅能够覆盖一个完整的参考图像块(即,候选图像块)时,可以直接使用该候选参考图像块以及该候选参考图像块所对应的运动信息,对当前块进行编码处理。
当位置范围能够覆盖两个以上的完整的参考图像块(即,候选图像块),可以根据所存储的位置范围(具体地说,是位置范围内的像素)从该两个以上的候选图像块所对应的运动信息中,确定最优运动信息。
即,可选地,该候选参考图像块是该N个参考图像块中的至少两个图像块,该候选运动信息是该N个运动信息中的至少两个运动信息,以及
该读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,包括:
根据该候选运动信息,读取该位置范围内的像素,以获取该候选图像块;
根据该候选图像块,从该候选运动信息中,确定最优运动信息;
根据该最优运动信息,对该当前图像块进行编码处理。
具体地说,由于如上所述确定的位置范围覆盖了两个以上的参考图像块,因此,能够从所存储的位置范围的像素的信息中,获取各候选运动信息所对应的候选参考图像块(具体地说,是各参考图像块的像素的信息),从而,可以从候选运动信息中,确定最优运动信息。例如,可以基于候选运动信息所对应的像素的信息,应用预先定义的准则进行评估得到各候选运动信息对应的评价值,并选择评价值最小值的候选运动信息,作为最优运动信息,即,用于对当前图像块进行编码处理(例如,运动补偿处理)的运动信息。
其后,编码端可以使用该最优运动信息对该目标图像块进行运动补偿编码操作等处理,实现对当前图像块的编码,并生成目标码流,传输至解码端。这里,编码端根据最优运动信息对当前图像块进行编码处理的过程和方法可以与现有技术相似,这里,为了避免赘述,省略其说明。
根据本发明实施例的用于图像处理的方法,通过从参考图像中确定位置范围,使该位置范围覆盖有至少一个运动信息所对应的像素,能够在一次读入内存上述位置范围内的像素的情况下,从该至少一个运动信息中,确定最优运动信息,而不是对每一个运动信息分别读取对应像素,从而,能够降低对内存带宽的要求,减少系统要求和成本。
图4示出了从解码端角度描述的根据本发明实施例的用于图像处理的方法200的示意性流程图。如图4所示,该方法200包括:
S210,从与当前图像块相邻的N个邻近图像块中,获取N个运动信息,其中,该N个邻近图像块与该N个运动信息一一对应,该N个运动信息用于指示该当前图像块的参考图像中的N个参考图像块,该N个运动信息与该N个参考图像块一一对应;
S220,从该参考图像中,确定待存储的像素的位置范围,并存储位于该位置范围内的全部像素,其中,该位置范围覆盖候选参考图像块的全部像素,该候选参考图像块是该N个参考图像块中的至少一个图像块;
S230,根据该运动信息中的候选运动信息,读取该位置范围内的像素,并根据该位置范围内的像素,对目标码流进行解码处理,以重建该当前图像块,其中,该候选运动信息是该候选参考图像块所对应的运动信息。
具体地说,解码端可以获取N个运动信息,这里N为正整数。
在本发明实施例中,运动信息可以包括预测方向、参考图像索引或运动矢量中的一个或多个,其中,预测方向可分为单向和双向预测,单向预测又可以分为前向预测与后向预测。
前向预测指使用前向参考图像列表,即列表(list)0中的参考图像产生预测信号。
后向预测指使用后向参考图像列表,即list1中的参考图像产生预测信号,双向预测指同时使用list0和list1中的参考图像产生预测信号。
对于单向预测,需要一个参考图像索引指示在list0或list1中所选择的参考图像,对于双向预测,需要两个参考图像索引,分别指示在list0与list1中所选择的参考图像。
每一个运动矢量包括水平方向分量x和竖直方向分量y,可记作(x,y),对于单向预测,需要一个运动矢量指示预测信号在所选择的list0或list1参考图像中的位移,对于双向预测,需要两个运动矢量,分别指示前向预测信号与后向预测信号在所选择的list0参考图像与list1参考图像中的位移。
在本发明实施例中,运动信息是指从该当前图像块(即,对于编码端是待编码的图像块,对于解码端是待解码重建的图像块)的邻近图像块中获取的运动信息。在本发明实施例中,该运动信息可以包括空间运动信息和时间运动信息。
其中,空间运动信息是从当前图像块中的空间邻近块获取的运动信息,时间运动信息是指从时间邻近块获取的运动信息。
图2a示出了DMVD技术中空间运动信息的源位置(获取位置),图2b示出了DMVD技术中时间运动信息的源位置(获取位置)。
如图2a所示,在DMVD技术中,作为空间运动信息,可以包括:
位于当前图像块左侧的图像块A(邻近块的一例)的运动信息,以下,记作MV#A。
位于当前图像块上侧的图像块B(邻近块的再一例)的运动信息,以下,记作MV#B。
位于当前图像块右上侧的图像块C(邻近块的再一例)的运动信息,以下,记作MV#C。
位于当前图像块左上侧的图像块D(邻近块的再一例)的运动信息,以下,记作MV#D。
需要说明的是,在预测方向为单向时,一个运动信息可以指示一个参考图像中的一个参考块,在预测方向为双向时,一个运动信息可以指示前向参考图像中的参考块和后向参考图像中的参考块。
如图2b所示,在DMVD技术中,作为时间运动信息,可以包括:
例如,基于当前图像块,对MV#T’进行平移处理而获取的运动信息,以下,记作MV#T,其中,MV#T’在后向参考图像中,位于与该当前图像块相对应的位置上的图像块E(邻近块的再一例)的运动信息。
从而,解码端能够获得包括上述5个运动信息的运动信息集合(或者说,运动信息列表),即,N个运动信息的一例,记作:
{MV#A,MV#B,MV#C,MV#D,MV#T}
需要说明的是,如果如上所述获取的运动信息发生重复,则可以删除该重复的运动信息,以确保N个运动信息是彼此相异的。
应理解,以上列举的获取N个运动信息的方法仅为示例性说明,本发明并不限定于此,可以根据本发明实施例的用于图像处理的方法所适用的技术,而采用不同的获取方法,本发明并未特别限定。
在如上所述,确定N个运动信息后,解码端可以从参考图像中,确定各运动信息对应(或者说,指向)的参考图像块,这里,需要说明的是,在预测方向为双向的情况下,解码端需要从两个参考图像(前向参考图像和后向参考图像)中分别确定各运动矢量对应的参考图像块。以下,为了便于理解和说明,不失一般性地,以对后向参考图像的处理为例,进行说明。
其后,解码端需要从N个运动信息中确定一个运动信息(以下为了便于理解和区分,称为目标运动信息),以根据该目标运动信息进行解码处理,具体地说,是运动补偿处理,随后,对该过程进行详细说明。
在本发明实施例中,可以根据预设规则,采用计算方式,计算出该目标运动信息(即,方式3),也可以根据当前图像块的属性和/或设备性能,确定该目标运动信息(即,方式4)。下面,分别对以上两种情况的处理进行详细说明。
方式3
可选地,该候选参考图像块是该N个参考图像块中的全部图像块。
在本发明实施例中,可以采用计算方式从N个运动信息(候选运动信息的一例)中确定最优运动信息,作为上述目标运动信息,在计算过程中,需要获取N个运动信息所对应的(具体地说,是运动矢量所指向的)参考图像块(候选参考图像块的一例),并基于该参考图像块(具体地说,是参考图像块中的像素的像素值)进行计算。
因此,在本发明实施例中,解码端可以确定需要存储并用于后续处理的像素(即,各参考图像块)在参考图像中的位置分布。
由于如上所述确定的各运动信息是从当前需要解码的图像块的邻近(时间邻近和/或空间邻近)图像块中获取的,因此各运动信息(具体地说,是运动矢量)之间具有较强的相关性(或者,相似度),因此,如图3a和图3b所示,外在表现为各参考图像块之间存在重叠,或者说,多个参考图像块包含位于同一位置的像素。
在现有技术中,解码端需要从参考图像中,分别获取各运动信息所指向的参考图像块,并将各参考图像块(具体地说,是参考图像块中的像素值)独立地存储在内存空间中,以基于各参考图像块,从N个运动信息中,确定最优的运动信息。因此,要求设备的内存的带宽,能够满足N个参考图像块的读取和存储,可能出现上述发生重叠部分的区域被多次存储的情况,导致对内存带宽的要求较高。
与此相对,在本发明实施例中,基于如上所述确定的N各运动信息之间具有较强的相关性和相似度的特点,可以从参考图像中,确定一个区域(即,位置范围),使该区域的范围能够覆盖N个参考图像块包含的全部像素,作为示例而非限定,例如,可以将N个参考图像块的最小公共图像块,作为该位置范围,即,图3a中的虚线所示区域。
该最小公共图像块,可以通过以下方式确定,即:
设当前图像块在当前重构图像内坐标为(cur_x,cur_y),大小为(blk_x)×(blk_y)像素,不失一般性,在一个参考图像中,运动矢量的水平分量记作x,运动矢量的垂直分量分别记作y,则在该参考图像中,MV#A可以写作{MV#A_x,MV#A_y},MV#B可以写作{MV#B_x,MV#B_y},MV#C可以写作{MV#C_x,MV#C_y},MV#D可以写作{MV#D_x,MV#D_y},MV#T可以写作{MV#T_x,MV#T_y}。
从而,可以确定各参考图像块中:
在水平方向上相对于目标图像块的最小位移Δx_min=min(MV#A_x,MV#B_x,MV#C_x,MV#D_x,MV#T_x)
在水平方向上相对于目标图像块的最大位移Δx_max=max(MV#A_x,MV#B_x,MV#C_x,MV#D_x,MV#T_x)
在垂直方向上相对于目标图像块的最小位移Δy_min=min(MV#A_y,MV#B_y,MV#C_y,MV#D_y,MV#T_y)
在垂直方向上相对于目标图像块的最大位移Δy_max=max(MV#A_y,MV#B_y,MV#C_y,MV#D_y,MV#T_y)
在此定义下,在参考图像中一次性读出并缓存的位置范围,可以为一个矩形区域。其中:
位于该矩形区域左上角的像素的坐标为:(cur_x+Δx_min,cur_y+Δy_min)。
位于该矩形区域右下角的像素的坐标为:(cur_x+Δx_max+blk_x,cur_y+Δy_max+blk_y)。
从而,可以将该位置范围内的各像素的信息(例如,像素值)读取并存储在内存中,以用于后续确定最优运动信息的处理。
可选地,在根据该运动信息中的候选运动信息,从该参考图像中,确定待存储的像素的位置范围之前,该方法还包括:
确定所述N个参考图像块中的至少两个参考图像块之间彼此重叠。
具体地说,在如上所述,确定各参考图像块后,可以首先判定各参考图像彼此之间是否重叠,如果重叠,则可以执行上述确定位置范围,并存储位置范围内的像素的信息的过程。
从而,能够确保相对于现有技术,降低对内存带宽的要求。
可选地,在根据该运动信息中的候选运动信息,从该参考图像中,确定待存储的像素的位置范围之前,该方法还包括:
确定所述N个参考图像块中的至少两个参考图像块之间彼此重叠,并且,发生重叠的参考图像块的数量大于等于预设的数量阈值,或重叠范围大于等于预设的范围阈值。
具体地说,在如上所述,确定各参考图像块后,可以首先判定各参考图像彼此之间是否重叠,如果重叠,则可以进一步确定发生重叠的区域的特征(例如,发生重叠的参考图像块的数量,和/或重叠范围的大小),如果上述重叠区域的特征满足预设条件,例如,发生重叠的参考图像块的数量大于等于预设的数量阈值,和/或重叠范围的大于等于预设的范围阈值),则可以执行上述确定位置范围,并存储位置范围内的像素的信息的过程。需要说明的是,上述数量阈值可以根据参考图像块的数量(或者说,运动信息的数量)来设定,例如,如果参考图像块的数量为5,则可以将该数量阈值设定为5。同样,上述范围阈值可以根据参考图像块的大小来设定。
从而,能够进一步确保相对于现有技术,降低对内存带宽的要求。
其后,可以根据所存储的位置范围(具体地说,是位置范围内的像素)从N个运动信息中,确定最优运动信息。
即,可选地,该候选参考图像块是该N个参考图像块中的至少两个图像块,该候选运动信息是该N个运动信息中的至少两个运动信息,以及
该根据该运动信息中的候选运动信息,读取该位置范围内的像素,并根据该位置范围内的像素,对目标码流进行解码处理,包括:
从该运动信息中,确定该候选运动信息;
根据该候选运动信息,读取该位置范围内的像素,以获取该候选参考图像块;
根据该候选参考图像块,从该候选运动信息中,确定最优运动信息;
根据该最优运动信息,对目标码流进行解码处理。
具体地说,由于如上所述确定的位置范围覆盖了全部的参考图像块,因此,能够从所存储的位置范围的像素的信息中,获取各运动信息所对应的参考图像块(具体地说,是各参考图像块的像素的信息),从而,可以根据各参考图像块,从各运动信息中,确定最优运动信息。例如,可以基于各运动信息所对应的像素的信息,应用预先定义的准则(例如,率失真准则)进行评估得到各运动信息对应的评价值,并选择评价值最小值的运动信息,作为最优运动信息,即,用于对当前图像块进行解码重构处理(例如,运动补偿处理)的运动信息。
应理解,上述预定义的准则可以根据所应用的解码技术而适当变更,本发明并未特别限定。例如,在DMVD技术中,在双向预测的情况下,对于每一个运动信息均包括前向运动信息和后向运动信息,前向运动信息用于指示前向参考图像中的参考图像块(称为,前向参考图像块),后向运动信息用于指示后向参考图像中的图像块(称为,前向参考图像块),如果使用前向参考图像块与后向参考图像块中相应位置的像素值的差值平方和值作为衡量准则,则可以将上述差值平方和最小的运动信息,作为最优运动信息。
其后,解码端可以使用该最优运动信息对来自编码端的码流进行运动补偿解码操作等处理,实现对当前图像块的重建。这里,解码端根据最优运动信息对当前图像块进行解码处理的过程和方法可以与现有技术相似,这里,为了避免赘述,省略其说明。
可选地,该从该参考图像中,确定待存储的像素的位置范围,包括:
从该目标码流中,获取第二索引信息,该第二索引信息用于指示该位置范围在该参考图像中的位置和覆盖范围;
根据该第二索引信息,从该参考图像中,确定该位置范围。
具体地说,在本发明实施例中,编码端可以在码流中携带用于指示位置范围在该参考图像中的位置和范围的信息,即,第二索引信息,从而,解码端可以码流中获取该第二索引信息,并根据该第二索引信息直接从参考图像中确定位置范围(具体地说,是需要存储在内存中的像素),从而能够降低解码端的负担,并降低解码端的功耗,提高解码端的处理效率。
根据本发明实施例的用于图像处理的方法,通过使所确定的位置范围覆盖全部参考图像,能够确保最优运动信息的获取,提高图像处理的效果,改善用户体验。
方式4
可选地,该候选参考图像块是该N个参考图像块中的部分图像块。
具体地说,受解码端设备的硬件限制,例如,内存带宽的限制,可能存在当先可用的内存带宽无法满足上述方式3中所确定的最小公共图像块(位置范围的一例)的要求的情况。
鉴于以上问题,本发明实施例提供了以下技术方案,即,可以使所确定位置范围仅覆盖部分参考图像块(即,候选参考图像块的一例),设所覆盖的参考图像块的数量为M,则满足1≤M<N。
从而,能够确保位置范围覆盖至少一个完整的参考图像块,即,至少一个运动信息是可用的,能够在确保通过运动信息对当前图像块进行解码重构的前提下,降低对内存带宽的要求。
此情况下,可以从参考图像中,确定一个区域(即,位置范围),使该区域的范围能够覆盖M个参考图像块包含的全部像素,即,图3b中的虚线所示区域。
可选地,该根据该运动信息中的候选运动信息,从该参考图像中,确定待存储的像素的位置范围,包括:
根据可用内存带宽和/或该当前图像块所属图像的属性信息,从该运动信息中,确定该候选运动信息,并根据该候选运动信息,从该参考图像中,确定该位置范围,其中,该属性信息用于指示以下至少一个参数:
所属图像的清晰度、所属图像的内容、所属图像的来源或所属图像的制作风格。
具体地说,在本发明实施例中,可以根据可用内存带宽和/或该当前图像块所属图像的属性信息,选择该M个候选参考图像块,或者说,选择该M个候选参考图像块所对应的运动信息。
下面,分别对上述各参数的使用方法进行说明。
A.所属图像的内容、所属图像的来源和所属图像的制作风格
对于图像,例如,按内容分类,可以分为新闻类图像、体育运动类图像和影视类图像等。同样,也可以按来源和制作风格对图像进行分类。同一类型的图像,其最优运动信息(或者说,最优运动信息所来自的邻近图像块)往往相同。因此,在本发明实施例中,可以按所属图像的内容、所属图像的来源和所属图像的制作风格等,统计出各类图像的高优先级运动信息,该高优先级运动信息成为该类图像的最优运动信息的概率最大。
从而,在确定位置范围时,可以优先确保使该位置范围覆盖上述高优先级运动信息所对应的参考图像块。
可选地,该从该运动信息中,确定该候选运动信息,包括:
从该目标码流中获取第一索引信息,该第一索引信息用于指示该候选运动信息;
根据该第一索引信息,从该运动信息中,确定该候选运动信息。
具体地说,编码端可以在所生成的码流中携带用于指示该候选运动信息的信息,即,第一索引信息,解码端从码流中获取该第一索引信息,并根据该第一索引信息直接从N个运动信息中确定候选运动信息,进而确定各候选运动信息所对应的参考图像块(即,候选参考图像块),从而可以从参考图像中,确定位置范围,是位置范围的能够覆盖该候选参考图像块,从而能够降低解码端的负担,并降低解码端的功耗,提高解码端的处理效率。
B.可用内存带宽
在本发明实施例中,可以根据当前可用的内存带宽的大小,确定可以读取并存储的位置范围的大小,从而,可以根据该位置范围的大小,确定能够覆盖的参考图像块的数量及位置,从而能够确定候选图像块,以及指向该候选图像块的运动信息。
需要说明的是,如果当前可用的内存带宽足够大,则可能出现位置范围所覆盖的参考图像块具有多种组合的情况,例如,对于相同大小的位置范围,其在参考图像中的位置不同,所能够覆盖的参考图像块的数量可能不同,或者,对于相同大小的位置范围,其在参考图像中的位置不同,所能够覆盖的参考图像块所对应的运动信息不同。
此情况下,可以将能够覆盖最多参考图像块的范围作为所使用的位置范围,从而,能够提供较多的参考图像块,能够使最终确定的用于解码处理的运动信息得到优化。
或者,可以将能够覆盖如上所述确定的高优先级运动信息所对应的参考图像块的范围作为所使用的位置范围,从而,能够确保根据高优先级运动信息进行解码处理。
C.所属图像的清晰度
对于不同的图像清晰度,对解码端的硬件要求也不同,例如,对于清晰度较高的图像,为了实现对其的解码,通常需要配置性能较高的硬件,例如,较高的内存带宽,因此,根据当前图像块所属图像的清晰度,确定可以存储的位置范围的大小,即,清晰度越高,位置范围越大,从而,可以根据该位置范围的大小,确定能够覆盖的参考图像块的数量及位置,从而能够确定候选图像块,以及指向该候选图像块的运动信息。
在根据可用内存带宽和所属图像的清晰度(或者说,解码端的硬件性能)确定位置范围的情况下,该位置范围可以,可以通过以下方式确定,即:
设当前图像块在当前图像内坐标为(cur_x,cur_y),大小为(blk_x)×(blk_y)像素,不失一般性,在一个参考图像中,运动矢量的水平分量记作x,运动矢量的垂直分量分别记作y,则在该参考图像中,MV#A可以写作{MV#A_x,MV#A_y},MV#B可以写作{MV#B_x,MV#B_y},MV#C可以写作{MV#C_x,MV#C_y},MV#D可以写作{MV#D_x,MV#D_y},MV#T可以写作{MV#T_x,MV#T_y}。
从而,可以确定各参考图像块中,
在水平方向上相对于目标图像块的最小位移Δx_min=min(MV#A_x,MV#B_x,MV#C_x,MV#D_x,MV#T_x)
在水平方向上相对于目标图像块的最大位移Δx_max=max(MV#A_x,MV#B_x,MV#C_x,MV#D_x,MV#T_x)
在垂直方向上相对于目标图像块的最小位移Δy_min=min(MV#A_y,MV#B_y,MV#C_y,MV#D_y,MV#T_y)
在垂直方向上相对于目标图像块的最大位移Δy_max=max(MV#A_y,MV#B_y,MV#C_y,MV#D_y,MV#T_y)
在此定义下,在参考图像中一次性读出并缓存的位置范围,可以为一个矩形区域。其中:
位于该矩形区域左上角的像素的坐标为:(cur_x+max(-Ωx_min,Δ_x_min),cur_y+max(-Ωy_min,Δ_y_min))。
位于该矩形区域右下角的像素的坐标为:(cur_x+blk_x+min(Ωx_max,Δx_max),cur_y+blk_y+min(Ωy_max,Δy_max)。
其中,Ωx_min,Ωx_max,Ωy_min和Ωy_max的取值,可以根据可用内存带宽或解码器的硬件性能来确定。
可选地,该从该参考图像中,确定待存储的像素的位置范围,包括:
从该目标码流中,获取第二索引信息,该第二索引信息用于指示该位置范围在该参考图像中的位置和覆盖范围;
根据该第二索引信息,从该参考图像中,确定该位置范围。
具体地说,在本发明实施例中,编码端可以在所生成的码流中携带用于指示位置范围在该参考图像中的位置和范围(或者说,所覆盖的像素)的信息,即,第二索引信息,从而,解码端从码流中获取该第二索引信息,并根据该第二索引信息直接从参考图像中确定位置范围,从而能够降低解码端的负担,并降低解码端的功耗,提高解码端的处理效率。
作为示例而非限定,在本发明实施例中,该第二索引信息可以是上述Ωx_min,Ωx_max,Ωy_min和Ωy_max的取值。并且,该第二索引信息可以在码流中的不同位置使用适当的语法元素标识,例如,可以在图像参数集(PPS,Picture parameter set)或条带头(slice header)中标识。由于图像参数集或条带头在码流中出现的频率较低,在这些位置上标识上述Ωx_min,Ωx_max,Ωy_min和Ωy_max的取值带来的额外带宽影响几乎可以忽略不计。
在如上所述,确定了位置范围后,可以将该位置范围内的各像素的信息(例如,像素值)读取并存储在内存中。
并且,当位置范围仅能够覆盖一个完整的参考图像块(即,候选图像块)时,可以直接使用该候选参考图像块以及该候选参考图像块所对应的运动信息,对当前块进行解码处理。
当位置范围能够覆盖两个以上的完整的参考图像块(即,候选图像块),可以根据所存储的位置范围(具体地说,是位置范围内的像素)从该两个以上的候选图像块所对应的运动信息中,确定最优运动信息。
即,可选地,该候选参考图像块是该N个参考图像块中的至少两个图像块,该候选运动信息是该N个运动信息中的至少两个运动信息,以及
该根据该运动信息中的候选运动信息,读取该位置范围内的像素,并根据该位置范围内的像素,对目标码流进行解码处理,包括:
从该运动信息中,确定该候选运动信息;
根据该候选运动信息,读取该位置范围内的像素,以获取该候选参考图像块;
根据该候选参考图像块,从该候选运动信息中,确定最优运动信息;
根据该最优运动信息,对目标码流进行解码处理。
具体地说,由于如上所述确定的位置范围覆盖了两个以上的参考图像块,因此,能够从所存储的位置范围的像素的信息中,获取各候选运动信息所对应的候选参考图像块(具体地说,是各参考图像块的像素的信息),从而,可以从候选运动信息中,确定最优运动信息。例如,可以基于候选运动信息所对应的像素的信息,应用预先定义的准则进行评估得到各候选运动信息对应的评价值,并选择评价值最小值的候选运动信息,作为最优运动信息,即,用于对当前图像块进行解码处理(例如,运动补偿处理)的运动信息。
其后,解码端可以使用该最优运动信息对码流进行运动补偿解码操作等处理,实现对当前图像块的重构。这里,解码端根据最优运动信息对当前图像块进行解码和重构的过程和方法可以与现有技术相似,这里,为了避免赘述,省略其说明。
根据本发明实施例的用于图像处理的方法,通过从参考图像中确定位置范围,使该位置范围覆盖有至少一个运动信息所对应的像素,能够在一次读入内存上述位置范围内的像素的情况下,从该至少一个运动信息中,确定最优运动信息,而不是对每一个运动信息分别读取对应像素,从而,能够降低对内存带宽的要求,减少系统要求和成本。
上文中,结合图1至图4,详细描述了根据本发明实施例的用于图像处理的方法,下面,将结合图5至图6,详细描述根据本发明实施例的用于图像处理的装置。
图5示出了根据本发明实施例的用于图像处理的装置300的示意性框图。如图5所示,该装置300包括:
获取单元310,用于从与当前图像块相邻的N个邻近图像块中,获取N个运动信息,其中,该N个邻近图像块与该N个运动信息一一对应,该N个运动信息用于指示该当前图像块的参考图像中的N个参考图像块,该N个运动信息与该N个参考图像块一一对应;
确定单元320,用于根据预设规则,从该N个运动信息中,确定候选运动信息,该候选运动信息是该N个运动信息中的至少一个信息,并根据该候选运动信息,从该参考图像中,确定待存储的像素的位置范围,其中,该位置范围覆盖候选参考图像块的全部像素,该候选参考图像块是该N个参考图像块中的至少一个图像块,该候选运动信息是该候选参考图像块所对应的运动信息;
存储单元330,用于存储位于该位置范围内的全部像素;
处理单元340,用于从该存储单元330中读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流。
可选地,该候选参考图像块是该N个参考图像块中的至少两个图像块,该候选运动信息是该N个运动信息中的至少两个运动信息,以及
该处理单元340具体用于根据该候选运动信息,从该存储单元330中读取该位置范围内的像素,以获取该候选参考图像块;
根据该候选参考图像块,从该候选运动信息中,确定最优运动信息;
根据该最优运动信息,对该当前图像块进行编码处理。
可选地,该候选参考图像块是该N个参考图像块中的部分图像块。
可选地,该确定单元320具体用于根据可用内存带宽和/或该当前图像块所属图像的属性信息,从该运动信息中,确定该候选运动信息,并根据该候选运动信息,从该参考图像中,确定该位置范围,其中,该属性信息用于指示以下至少一个参数:
所属图像的清晰度、所属图像的内容、所属图像的来源或所属图像的制作风格。
可选地,该处理单元340具体用于从该存储单元330中读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,其中,该目标码流包括第一索引信息,该第一索引信息用于指示该候选运动信息。
可选地,该处理单元340具体用于从该存储单元330中读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,其中,该目标码流包括第二索引信息,该第二索引信息用于指示该位置范围在该参考图像中的位置和覆盖范围。
可选地,该候选参考图像块是该N个参考图像块中的全部图像块。
根据本发明实施例的用于图像处理的装置300可对应于本发明实施例的方法中的编码端,并且,该图像处理的装置300中的各单元即模块和上述其他操作和/或功能分别为了实现图1中的方法100的相应流程,为了简洁,在此不再赘述。
根据本发明实施例的用于图像处理的装置,通过从参考图像中确定位置范围,使该位置范围覆盖有至少一个运动信息所对应的像素,能够在一次读入内存上述位置范围内的像素的情况下,从该至少一个运动信息中,确定最优运动信息,而不是对每一个运动信息分别读取对应像素,从而,能够降低对内存带宽的要求,减少系统要求和成本。
图7示出了根据本发明实施例的用于图像处理的装置400的示意性框图。如图7所示,该装置400包括:
获取单元410,用于从与当前图像块相邻的N个邻近图像块中,获取N个运动信息,其中,该N个邻近图像块与该N个运动信息一一对应,该N个运动信息用于指示该当前图像块的参考图像中的N个参考图像块,该N个运动信息与该N个参考图像块一一对应;
确定单元420,用于从该参考图像中,确定待存储的像素的位置范围,其中,该位置范围覆盖候选参考图像块的全部像素,该候选参考图像块是该N个参考图像块中的至少一个图像块;
存储单元430,用于存储位于该位置范围内的全部像素;
处理单元440,用于根据该运动信息中的候选运动信息,从该存储单元430中读取该位置范围内的像素,并根据该位置范围内的像素,对目标码流进行解码处理,以重建该当前图像块,其中,该候选运动信息是该候选参考图像块所对应的运动信息。
可选地,该候选参考图像块是该N个参考图像块中的至少两个图像块,该候选运动信息是该N个运动信息中的至少两个运动信息,以及
该确定单元420还用于从该运动信息中,确定该候选运动信息;
该处理单元440具体用于从该确定单元420获取该候选运动信息,根据该候选运动信息,读取该位置范围内的像素,以获取该候选参考图像块,根据该候选参考图像块,从该候选运动信息中,确定最优运动信息,根据该最优运动信息,对目标码流进行解码处理。
可选地,该候选参考图像块是该N个参考图像块中的全部图像块。
可选地,该候选参考图像块是该N个参考图像块中的部分图像块。
可选地,该确定单元420具体用于从该运动信息中,确定该候选运动信息,根据该候选运动信息,从该参考图像中,确定该位置范围。
可选地,该确定单元420具体用于根据可用内存带宽和/或该当前图像块所属图像的属性信息,从该运动信息中,确定该候选运动信息,其中,该属性信息用于指示以下至少一个参数:
所属图像的清晰度、所属图像的内容、所属图像的来源或所属图像的制作风格。
可选地,该确定单元420具体用于从该目标码流中获取第一索引信息,根据该第一索引信息,从该运动信息中,确定该候选运动信息,其中,该第一索引信息用于指示该候选运动信息。
可选地,该确定单元420具体用于从该目标码流中,获取第二索引信息,根据该第二索引信息,从该参考图像中,确定该位置范围,其中,该第二索引信息用于指示该位置范围在该参考图像中的位置和覆盖范围。
根据本发明实施例的用于图像处理的装置400可对应于本发明实施例的方法中解码端,并且,该用于图像处理的装置400中的各单元即模块和上述其他操作和/或功能分别为了实现图4中的方法200的相应流程,为了简洁,在此不再赘述。
根据本发明实施例的用于图像处理的装置,通过从参考图像中确定位置范围,使该位置范围覆盖有至少一个运动信息所对应的像素,能够在一次读入内存上述位置范围内的像素的情况下,从该至少一个运动信息中,确定最优运动信息,而不是对每一个运动信息分别读取对应像素,从而,能够降低对内存带宽的要求,减少系统要求和成本。
上文中,结合图1至图4,详细描述了根据本发明实施例的用于图像处理的方法,下面,将结合图7至图8,详细描述根据本发明实施例的用于图像处理的编码器和解码器。
图7示出了根据本发明实施例的用于图像处理的编码器500的示意性框图。如图7所示,该编码器500可以包括:
总线510;
与该总线相连的处理器520;
与该总线相连的存储器530;
其中,该处理器520通过该总线510,调用该存储器530中存储的程序,以用于从与当前图像块相邻的N个邻近图像块中,获取N个运动信息,其中,该N个邻近图像块与该N个运动信息一一对应,该N个运动信息用于指示该当前图像块的参考图像中的N个参考图像块,该N个运动信息与该N个参考图像块一一对应;
用于根据预设规则,从该N个运动信息中,确定候选运动信息,该候选运动信息是该N个运动信息中的至少一个信息,根据该候选运动信息,从该参考图像中,确定待存储的像素的位置范围,并控制该存储器530存储位于该位置范围内的全部像素,其中,该位置范围覆盖候选参考图像块的全部像素,该候选参考图像块是该N个参考图像块中的至少一个图像块,该候选运动信息是该候选参考图像块所对应的运动信息;
用于从该存储器530读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流。
可选地,该候选参考图像块是该N个参考图像块中的至少两个图像块,该候选运动信息是该N个运动信息中的至少两个运动信息,以及
该处理器520具体用于根据该候选运动信息,从该存储器530读取该位置范围内的像素,以获取该候选参考图像块;
用于根据该候选参考图像块,从该候选运动信息中,确定最优运动信息;
用于根据该最优运动信息,对该当前图像块进行编码处理。
可选地,该候选参考图像块是该N个参考图像块中的部分图像块。
可选地,该处理器520具体用于根据该存储器530的可用内存带宽和/或该当前图像块所属图像的属性信息,从该运动信息中,确定该候选运动信息,并根据该候选运动信息,从该参考图像中,确定该位置范围,其中,该属性信息用于指示以下至少一个参数:
所属图像的清晰度、所属图像的内容、所属图像的来源或所属图像的制作风格。
可选地,该处理器520具体用于从该存储器530读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,其中,该目标码流包括第一索引信息,该第一索引信息用于指示该候选运动信息。
可选地,该处理器520具体用于从该存储器530读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,其中,该目标码流包括第二索引信息,该第二索引信息用于指示该位置范围在该参考图像中的位置和覆盖范围。
可选地,该候选参考图像块是该N个参考图像块中的全部图像块。
在本发明实施例中,设备500的各个组件通过总线510耦合在一起,其中,总线510除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚明起见,在图中将各种总线都标为总线510。
处理器520可以实现或者执行本发明方法实施例中的公开的各步骤及逻辑框图。处理器520可以是微处理器或者该处理器也可以是任何常规的处理器,解码器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用解码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器530,处理器读取存储器530中的信息,结合其硬件完成上述方法的步骤。
应理解,在本发明实施例中,该处理器520可以是中央处理单元(CentralProcessing Unit,简称为“CPU”),该处理器520还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器530可以包括只读存储器和随机存取存储器,并向处理器520提供指令和数据。存储器530的一部分还可以包括非易失性随机存取存储器。例如,存储器530还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器520中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
根据本发明实施例的用于图像处理的编码器500可对应于本发明实施例的方法中编码端,并且,该用于图像处理的编码器500中的各单元即模块和上述其他操作和/或功能分别为了实现图1中的方法100的相应流程,为了简洁,在此不再赘述。
根据本发明实施例的用于图像处理的编码器,通过从参考图像中确定位置范围,使该位置范围覆盖有至少一个运动信息所对应的像素,能够在一次读入内存上述位置范围内的像素的情况下,从该至少一个运动信息中,确定最优运动信息,而不是对每一个运动信息分别读取对应像素,从而,能够降低对内存带宽的要求,减少系统要求和成本。
图8示出了根据本发明实施例的用于图像处理的解码器600的示意性框图。如图9所示,该解码器600可以包括:
总线610;
与该总线相连的处理器620;
与该总线相连的存储器630;
其中,该处理器620通过该总线610,调用该存储器630中存储的程序,以用于从与当前图像块相邻的N个邻近图像块中,获取N个运动信息,其中,该N个邻近图像块与该N个运动信息一一对应,该N个运动信息用于指示该当前图像块的参考图像中的N个参考图像块,该N个运动信息与该N个参考图像块一一对应;
用于从该参考图像中,确定待存储的像素的位置范围,控制存储器630存储位于该位置范围内的全部像素,其中,该位置范围覆盖候选参考图像块的全部像素,该候选参考图像块是该N个参考图像块中的至少一个图像块;
用于根据该运动信息中的候选运动信息,从该存储器630读取该位置范围内的像素,并根据该位置范围内的像素,对目标码流进行解码处理,以重建该当前图像块,其中,该候选运动信息是该候选参考图像块所对应的运动信息。
可选地,该候选参考图像块是该N个参考图像块中的至少两个图像块,该候选运动信息是该N个运动信息中的至少两个运动信息,以及
该处理器620具体用于从该运动信息中,确定该候选运动信息;
用于根据该候选运动信息,从该存储器630读取该位置范围内的像素,以获取该候选参考图像块;
用于根据该候选参考图像块,从该候选运动信息中,确定最优运动信息;
用于根据该最优运动信息,对目标码流进行解码处理。
可选地,该候选参考图像块是该N个参考图像块中的全部图像块。
可选地,该候选参考图像块是该N个参考图像块中的部分图像块。
可选地,该处理器620具体用于从该运动信息中,确定该候选运动信息;
用于根据该候选运动信息,从该参考图像中,确定该位置范围。
可选地,该处理器620具体用于根据该存储器630的可用内存带宽和/或该当前图像块所属图像的属性信息,从该运动信息中,确定该候选运动信息,其中,该属性信息用于指示以下至少一个参数:
所属图像的清晰度、所属图像的内容、所属图像的来源或所属图像的制作风格。
可选地,该处理器620具体用于从该目标码流中获取第一索引信息,该第一索引信息用于指示该候选运动信息;
用于根据该第一索引信息,从该运动信息中,确定该候选运动信息。
可选地,该处理器620具体用于从该目标码流中,获取第二索引信息,该第二索引信息用于指示该位置范围在该参考图像中的位置和覆盖范围;
用于根据该第二索引信息,从该参考图像中,确定该位置范围。
在本发明实施例中,设备600的各个组件通过总线610耦合在一起,其中,总线610除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚明起见,在图中将各种总线都标为总线610。
处理器620可以实现或者执行本发明方法实施例中的公开的各步骤及逻辑框图。处理器620可以是微处理器或者该处理器也可以是任何常规的处理器,解码器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用解码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器630,处理器读取存储器630中的信息,结合其硬件完成上述方法的步骤。
应理解,在本发明实施例中,该处理器620可以是中央处理单元(CentralProcessing Unit,简称为“CPU”),该处理器620还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器630可以包括只读存储器和随机存取存储器,并向处理器620提供指令和数据。存储器630的一部分还可以包括非易失性随机存取存储器。例如,存储器630还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器620中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
根据本发明实施例的用于图像处理的编码器600可对应于本发明实施例的方法中编码端,并且,该用于图像处理的编码器600中的各单元即模块和上述其他操作和/或功能分别为了实现图4中的方法200的相应流程,为了简洁,在此不再赘述。
根据本发明实施例的用于图像处理的编码器,通过从参考图像中确定位置范围,使该位置范围覆盖有至少一个运动信息所对应的像素,能够在一次读入内存上述位置范围内的像素的情况下,从该至少一个运动信息中,确定最优运动信息,而不是对每一个运动信息分别读取对应像素,从而,能够降低对内存带宽的要求,减少系统要求和成本。
需要说明的是,在本发明实施例中,在编码段和解码端之前通过相同的规则确定位置范围以及用于编解码处理的运动矢量的情况下,需要确保编码端和解码端确定位置范围的方式(即,所确定的位置范围覆盖全部或部分参考图像块的情况)一致,特别是在所确定的位置范围覆盖部分参考图像块的情况下,需要确保,编码端所确定的位置范围所覆盖的图像块与解码端所确定的位置范围所覆盖的图像块一致。
另外,在上述说明中,列举了位置范围为参考图像中的矩形范围的实施例,但本发明并不限定于此,只要能够确保该位置范围能够覆盖候选参考图像块,可以任意设置该位置范围的形状,本发明并未特别限定。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
另外,内存带宽是评价存储器在单位时间内对内存空间访问次数的指标。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (30)

1.一种用于图像处理的方法,其特征在于,所述方法包括:
从与当前图像块相邻的N个邻近图像块中,获取N个运动信息,其中,所述N个邻近图像块与所述N个运动信息一一对应,所述N个运动信息用于指示所述当前图像块的参考图像中的N个参考图像块,所述N个运动信息与所述N个参考图像块一一对应;
根据预设规则,从所述N个运动信息中,确定候选运动信息,所述候选运动信息是所述N个运动信息中的至少一个信息;
根据所述候选运动信息,从所述参考图像中,确定待存储的像素的位置范围,并存储位于所述位置范围内的全部像素,其中,所述位置范围覆盖候选参考图像块的全部像素,所述候选参考图像块是所述N个参考图像块中的至少一个图像块,所述候选参考图像块是所述候选运动信息所对应的图像块;
读取所述位置范围内的像素,并根据所述位置范围内的像素,对所述当前图像块进行编码处理,以生成目标码流。
2.根据权利要求1所述的方法,其特征在于,所述候选参考图像块是所述N个参考图像块中的至少两个图像块,所述候选运动信息是所述N个运动信息中的至少两个运动信息,以及
所述读取所述位置范围内的像素,并根据所述位置范围内的像素,对所述当前图像块进行编码处理,包括:
根据所述候选运动信息,读取所述位置范围内的像素,以获取所述候选参考图像块;
根据所述候选参考图像块,从所述候选运动信息中,确定最优运动信息;
根据所述最优运动信息,对所述当前图像块进行编码处理。
3.根据权利要求1或2所述的方法,其特征在于,所述候选参考图像块是所述N个参考图像块中的部分图像块。
4.根据权利要求3所述的方法,其特征在于,所述根据预设规则,从所述N个运动信息中,确定候选运动信息,包括:
根据可用内存带宽和/或所述当前图像块所属图像的属性信息,从所述运动信息中,确定所述候选运动信息,其中,所述属性信息用于指示以下至少一个参数:
所属图像的清晰度、所属图像的内容、所属图像的来源或所属图像的制作风格。
5.根据权利要求3或4所述的方法,其特征在于,所述读取所述位置范围内的像素,并根据所述位置范围内的像素,对所述当前图像块进行编码处理,以生成目标码流,包括:
读取所述位置范围内的像素,并根据所述位置范围内的像素,对所述当前图像块进行编码处理,以生成目标码流,其中,所述目标码流包括第一索引信息,所述第一索引信息用于指示所述候选运动信息。
6.根据权利要求3至5中任一项所述的方法,其特征在于,所述读取所述位置范围内的像素,并根据所述位置范围内的像素,对所述当前图像块进行编码处理,以生成目标码流,包括:
读取所述位置范围内的像素,并根据所述位置范围内的像素,对所述当前图像块进行编码处理,以生成目标码流,其中,所述目标码流包括第二索引信息,所述第二索引信息用于指示所述位置范围在所述参考图像中的位置和覆盖范围。
7.根据权利要求1或2所述的方法,其特征在于,所述候选参考图像块是所述N个参考图像块中的全部图像块。
8.一种用于图像处理的方法,其特征在于,所述方法包括:
从与当前图像块相邻的N个邻近图像块中,获取N个运动信息,其中,所述N个邻近图像块与所述N个运动信息一一对应,所述N个运动信息用于指示所述当前图像块的参考图像中的N个参考图像块,所述N个运动信息与所述N个参考图像块一一对应;
从所述参考图像中,确定待存储的像素的位置范围,并存储位于所述位置范围内的全部像素,其中,所述位置范围覆盖候选参考图像块的全部像素,所述候选参考图像块是所述N个参考图像块中的至少一个图像块;
根据所述运动信息中的候选运动信息,读取所述位置范围内的像素,并根据所述位置范围内的像素,对目标码流进行解码处理,以重建所述当前图像块,其中,所述候选运动信息是所述候选参考图像块所对应的运动信息。
9.根据权利要求8所述的方法,其特征在于,所述候选参考图像块是所述N个参考图像块中的至少两个图像块,所述候选运动信息是所述N个运动信息中的至少两个运动信息,以及
所述根据所述运动信息中的候选运动信息,读取所述位置范围内的像素,并根据所述位置范围内的像素,对目标码流进行解码处理,包括:
从所述运动信息中,确定所述候选运动信息;
根据所述候选运动信息,读取所述位置范围内的像素,以获取所述候选参考图像块;
根据所述候选参考图像块,从所述候选运动信息中,确定最优运动信息;
根据所述最优运动信息,对目标码流进行解码处理。
10.根据权利要求8或9所述的方法,其特征在于,所述候选参考图像块是所述N个参考图像块中的全部图像块。
11.根据权利要求8或9所述的方法,其特征在于,所述候选参考图像块是所述N个参考图像块中的部分图像块。
12.根据权利要求11所述的方法,其特征在于,所述从所述参考图像中,确定待存储的像素的位置范围,包括:
从所述运动信息中,确定所述候选运动信息;
根据所述候选运动信息,从所述参考图像中,确定所述位置范围。
13.根据权利要求9或12所述的方法,其特征在于,所述从所述运动信息中,确定所述候选运动信息,包括:
根据可用内存带宽和/或所述当前图像块所属图像的属性信息,从所述运动信息中,确定所述候选运动信息,其中,所述属性信息用于指示以下至少一个参数:
所属图像的清晰度、所属图像的内容、所属图像的来源或所属图像的制作风格。
14.根据权利要求9或12所述的方法,其特征在于,所述从所述运动信息中,确定所述候选运动信息,包括:
从所述目标码流中获取第一索引信息,所述第一索引信息用于指示所述候选运动信息;
根据所述第一索引信息,从所述运动信息中,确定所述候选运动信息。
15.根据权利要求8至14中任一项所述的方法,其特征在于,所述从所述参考图像中,确定待存储的像素的位置范围,包括:
从所述目标码流中,获取第二索引信息,所述第二索引信息用于指示所述位置范围在所述参考图像中的位置和覆盖范围;
根据所述第二索引信息,从所述参考图像中,确定所述位置范围。
16.一种用于图像处理的装置,其特征在于,所述装置包括:
获取单元,用于从与当前图像块相邻的N个邻近图像块中,获取N个运动信息,其中,所述N个邻近图像块与所述N个运动信息一一对应,所述N个运动信息用于指示所述当前图像块的参考图像中的N个参考图像块,所述N个运动信息与所述N个参考图像块一一对应;
确定单元,用于根据预设规则,从所述N个运动信息中,确定候选运动信息,所述候选运动信息是所述N个运动信息中的至少一个信息,并根据所述候选运动信息,从所述参考图像中,确定待存储的像素的位置范围,其中,所述位置范围覆盖候选参考图像块的全部像素,所述候选参考图像块是所述N个参考图像块中的至少一个图像块,所述候选运动信息是所述候选参考图像块所对应的运动信息;
存储单元,用于存储位于所述位置范围内的全部像素;
处理单元,用于从所述存储单元中读取所述位置范围内的像素,并根据所述位置范围内的像素,对所述当前图像块进行编码处理,以生成目标码流。
17.根据权利要求16所述的装置,其特征在于,所述候选参考图像块是所述N个参考图像块中的至少两个图像块,所述候选运动信息是所述N个运动信息中的至少两个运动信息,以及
所述处理单元具体用于根据所述候选运动信息,从所述存储单元中读取所述位置范围内的像素,以获取所述候选参考图像块;
根据所述候选参考图像块,从所述候选运动信息中,确定最优运动信息;
根据所述最优运动信息,对所述当前图像块进行编码处理。
18.根据权利要求16或17所述的装置,其特征在于,所述候选参考图像块是所述N个参考图像块中的部分图像块。
19.根据权利要求18所述的装置,其特征在于,所述确定单元具体用于根据可用内存带宽和/或所述当前图像块所属图像的属性信息,从所述运动信息中,确定所述候选运动信息,并根据所述候选运动信息,从所述参考图像中,确定所述位置范围,其中,所述属性信息用于指示以下至少一个参数:
所属图像的清晰度、所属图像的内容、所属图像的来源或所属图像的制作风格。
20.根据权利要求18或19所述的装置,其特征在于,所述处理单元具体用于从所述存储单元中读取所述位置范围内的像素,并根据所述位置范围内的像素,对所述当前图像块进行编码处理,以生成目标码流,其中,所述目标码流包括第一索引信息,所述第一索引信息用于指示所述候选运动信息。
21.根据权利要求18至20中任一项所述的装置,其特征在于,所述处理单元具体用于从所述存储单元中读取所述位置范围内的像素,并根据所述位置范围内的像素,对所述当前图像块进行编码处理,以生成目标码流,其中,所述目标码流包括第二索引信息,所述第二索引信息用于指示所述位置范围在所述参考图像中的位置和覆盖范围。
22.根据权利要求16或17所述的装置,其特征在于,所述候选参考图像块是所述N个参考图像块中的全部图像块。
23.一种用于图像处理的装置,其特征在于,所述装置包括:
获取单元,用于从与当前图像块相邻的N个邻近图像块中,获取N个运动信息,其中,所述N个邻近图像块与所述N个运动信息一一对应,所述N个运动信息用于指示所述当前图像块的参考图像中的N个参考图像块,所述N个运动信息与所述N个参考图像块一一对应;
确定单元,用于从所述参考图像中,确定待存储的像素的位置范围,其中,所述位置范围覆盖候选参考图像块的全部像素,所述候选参考图像块是所述N个参考图像块中的至少一个图像块;
存储单元,用于存储位于所述位置范围内的全部像素;
处理单元,用于根据所述运动信息中的候选运动信息,从所述存储单元中读取所述位置范围内的像素,并根据所述位置范围内的像素,对目标码流进行解码处理,以重建所述当前图像块,其中,所述候选运动信息是所述候选参考图像块所对应的运动信息。
24.根据权利要求23所述的装置,其特征在于,所述候选参考图像块是所述N个参考图像块中的至少两个图像块,所述候选运动信息是所述N个运动信息中的至少两个运动信息,以及
所述确定单元还用于从所述运动信息中,确定所述候选运动信息;
所述处理单元具体用于从所述确定单元获取所述候选运动信息,根据所述候选运动信息,读取所述位置范围内的像素,以获取所述候选参考图像块,根据所述候选参考图像块,从所述候选运动信息中,确定最优运动信息,根据所述最优运动信息,对目标码流进行解码处理。
25.根据权利要求23或24所述的装置,其特征在于,所述候选参考图像块是所述N个参考图像块中的全部图像块。
26.根据权利要求23或24所述的装置,其特征在于,所述候选参考图像块是所述N个参考图像块中的部分图像块。
27.根据权利要求26所述的装置,其特征在于,所述确定单元具体用于从所述运动信息中,确定所述候选运动信息,根据所述候选运动信息,从所述参考图像中,确定所述位置范围。
28.根据权利要求24或27所述的装置,其特征在于,所述确定单元具体用于根据可用内存带宽和/或所述当前图像块所属图像的属性信息,从所述运动信息中,确定所述候选运动信息,其中,所述属性信息用于指示以下至少一个参数:
所属图像的清晰度、所属图像的内容、所属图像的来源或所属图像的制作风格。
29.根据权利要求24或27所述的装置,其特征在于,所述确定单元具体用于从所述目标码流中获取第一索引信息,根据所述第一索引信息,从所述运动信息中,确定所述候选运动信息,其中,所述第一索引信息用于指示所述候选运动信息。
30.根据权利要求23至29中任一项所述的装置,其特征在于,所述确定单元具体用于从所述目标码流中,获取第二索引信息,根据所述第二索引信息,从所述参考图像中,确定所述位置范围,其中,所述第二索引信息用于指示所述位置范围在所述参考图像中的位置和覆盖范围。
CN201310689002.1A 2013-12-13 2013-12-13 用于图像处理的方法和装置 Active CN104717510B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201310689002.1A CN104717510B (zh) 2013-12-13 2013-12-13 用于图像处理的方法和装置
PCT/CN2014/093650 WO2015085945A1 (zh) 2013-12-13 2014-12-12 用于图像处理的方法和装置
EP14868808.8A EP3068137B1 (en) 2013-12-13 2014-12-12 Method and device for image processing
KR1020167016912A KR101779872B1 (ko) 2013-12-13 2014-12-12 이미지 처리 방법 및 장치
JP2016538630A JP2017505021A (ja) 2013-12-13 2014-12-12 画像処理方法及び装置
US15/178,004 US10116934B2 (en) 2013-12-13 2016-06-09 Image processing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310689002.1A CN104717510B (zh) 2013-12-13 2013-12-13 用于图像处理的方法和装置

Publications (2)

Publication Number Publication Date
CN104717510A true CN104717510A (zh) 2015-06-17
CN104717510B CN104717510B (zh) 2018-08-17

Family

ID=53370638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310689002.1A Active CN104717510B (zh) 2013-12-13 2013-12-13 用于图像处理的方法和装置

Country Status (6)

Country Link
US (1) US10116934B2 (zh)
EP (1) EP3068137B1 (zh)
JP (1) JP2017505021A (zh)
KR (1) KR101779872B1 (zh)
CN (1) CN104717510B (zh)
WO (1) WO2015085945A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110024396A (zh) * 2016-10-10 2019-07-16 三星电子株式会社 通过块映射来对图像进行编码或解码的方法和装置
CN113678168A (zh) * 2019-01-28 2021-11-19 弗劳恩霍夫应用研究促进协会 空间中的元素定位

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104717510B (zh) * 2013-12-13 2018-08-17 华为技术有限公司 用于图像处理的方法和装置
WO2019087978A1 (ja) * 2017-10-30 2019-05-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2019203513A1 (ko) * 2018-04-16 2019-10-24 엘지전자 주식회사 영상 코딩 시스템에서 dmvd 를 이용한 인터 예측에 따른 영상 디코딩 방법 및 장치
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
BR112020024142A2 (pt) 2018-06-29 2021-03-02 Beijing Bytedance Network Technology Co., Ltd. método para processamento de vídeo, aparelho para codificação de dados de vídeo, meio de armazenamento e meio de gravação legíveis por computador não transitório
KR20240005239A (ko) 2018-06-29 2024-01-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut와 amvp 사이의 상호작용
KR102646649B1 (ko) 2018-06-29 2024-03-13 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut에서의 모션 후보들의 검사 순서
KR20240007299A (ko) 2018-06-29 2024-01-16 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 룩업 테이블의 업데이트: fifo, 제약된 fifo
KR102611261B1 (ko) 2018-06-29 2023-12-08 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 업데이트 대상 lut 또는 비업데이트 lut의 구별
CN110662057B (zh) 2018-06-29 2022-06-21 北京字节跳动网络技术有限公司 视频处理方法、装置、设备以及存储比特流的方法
WO2020008350A1 (en) 2018-07-02 2020-01-09 Beijing Bytedance Network Technology Co., Ltd. Luts with intra prediction modes and intra mode prediction from non-adjacent blocks
TW202025760A (zh) 2018-09-12 2020-07-01 大陸商北京字節跳動網絡技術有限公司 要檢查多少個hmvp候選
WO2020143741A1 (en) 2019-01-10 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Invoke of lut updating
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
CN113330739A (zh) 2019-01-16 2021-08-31 北京字节跳动网络技术有限公司 Lut中的运动候选的插入顺序
CN113615193A (zh) 2019-03-22 2021-11-05 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101156451A (zh) * 2005-04-12 2008-04-02 皇家飞利浦电子股份有限公司 使用基于区域的多次通过运动估计和时间运动矢量候选更新的视频处理
CN102257821A (zh) * 2008-12-18 2011-11-23 汤姆森特许公司 使用另一图像的参考块来编码图像块的方法以及装置、承载编码的图像块的数据载体、以及解码图像块的方法
CN103079067A (zh) * 2013-01-09 2013-05-01 华为技术有限公司 运动矢量预测值列表构建方法和视频编解码方法及装置
CN103108178A (zh) * 2011-11-11 2013-05-15 华为技术有限公司 视频图像编解码的方法及装置
WO2013155274A1 (en) * 2012-04-12 2013-10-17 Qualcomm Incorporated Bandwidth reduction in video coding through applying the same reference index
CN103404145A (zh) * 2011-03-09 2013-11-20 西门子公司 一种用于对数字化图像的序列进行编码的方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1316830C (zh) * 2001-11-30 2007-05-16 株式会社Ntt都科摩 移动图像编码设备及方法、移动图像解码设备及方法
US7940844B2 (en) 2002-06-18 2011-05-10 Qualcomm Incorporated Video encoding and decoding techniques
US20040008779A1 (en) * 2002-06-18 2004-01-15 Lai King Chung Techniques for video encoding and decoding
US7881376B2 (en) * 2004-05-14 2011-02-01 Panasonic Corporation Motion compensation apparatus
KR100681252B1 (ko) * 2004-10-02 2007-02-09 삼성전자주식회사 트랜스코딩을 위해 출력 매크로블록 모드와 출력움직임벡터를 추정하는 방법 및 이를 이용한 트랜스코더
WO2006109205A1 (en) * 2005-04-12 2006-10-19 Koninklijke Philips Electronics N.V. Region- based 3drs motion estimation using dynamic asoect ratio of region
EP1947863A4 (en) * 2005-11-11 2011-07-20 Fujitsu Ltd IMAGE DECODING APPARATUS AND METHOD AND IMAGE ENCODING APPARATUS
JP4350796B2 (ja) * 2009-03-06 2009-10-21 三菱電機株式会社 画像符号化装置およびビットストリーム生成装置
WO2010124736A1 (en) * 2009-04-30 2010-11-04 Telefonaktiebolaget Lm Ericsson (Publ) Efficient internal cache for hardware motion estimation
CN102113327B (zh) * 2009-06-01 2014-09-03 松下电器产业株式会社 图像编码装置、方法、集成电路
JP2012151576A (ja) * 2011-01-18 2012-08-09 Hitachi Ltd 画像符号化方法、画像符号化装置、画像復号方法及び画像復号装置
TW201246943A (en) * 2011-01-26 2012-11-16 Panasonic Corp Video image encoding method, video image encoding device, video image decoding method, video image decoding device, and video image encoding and decoding device
CN104717510B (zh) * 2013-12-13 2018-08-17 华为技术有限公司 用于图像处理的方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101156451A (zh) * 2005-04-12 2008-04-02 皇家飞利浦电子股份有限公司 使用基于区域的多次通过运动估计和时间运动矢量候选更新的视频处理
CN102257821A (zh) * 2008-12-18 2011-11-23 汤姆森特许公司 使用另一图像的参考块来编码图像块的方法以及装置、承载编码的图像块的数据载体、以及解码图像块的方法
CN103404145A (zh) * 2011-03-09 2013-11-20 西门子公司 一种用于对数字化图像的序列进行编码的方法
CN103108178A (zh) * 2011-11-11 2013-05-15 华为技术有限公司 视频图像编解码的方法及装置
WO2013155274A1 (en) * 2012-04-12 2013-10-17 Qualcomm Incorporated Bandwidth reduction in video coding through applying the same reference index
CN103079067A (zh) * 2013-01-09 2013-05-01 华为技术有限公司 运动矢量预测值列表构建方法和视频编解码方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110024396A (zh) * 2016-10-10 2019-07-16 三星电子株式会社 通过块映射来对图像进行编码或解码的方法和装置
CN113678168A (zh) * 2019-01-28 2021-11-19 弗劳恩霍夫应用研究促进协会 空间中的元素定位
CN113678168B (zh) * 2019-01-28 2023-12-15 弗劳恩霍夫应用研究促进协会 空间中的元素定位

Also Published As

Publication number Publication date
EP3068137B1 (en) 2021-04-07
JP2017505021A (ja) 2017-02-09
EP3068137A4 (en) 2016-11-16
US10116934B2 (en) 2018-10-30
US20160295213A1 (en) 2016-10-06
KR101779872B1 (ko) 2017-09-19
EP3068137A1 (en) 2016-09-14
WO2015085945A1 (zh) 2015-06-18
KR20160087901A (ko) 2016-07-22
CN104717510B (zh) 2018-08-17

Similar Documents

Publication Publication Date Title
CN104717510A (zh) 用于图像处理的方法和装置
TWI736906B (zh) 運動向量精度細化
JP6689499B2 (ja) 画像予測方法および関連装置
JP6490203B2 (ja) 画像予測方法および関連装置
CN110830802B (zh) 基于机器学习的视频压缩
US9473787B2 (en) Video coding apparatus and video coding method
TW201931854A (zh) 統一合併候選列表運用
CN113170192B (zh) 仿射的merge与mvd
US20190342571A1 (en) Image predictive encoding and decoding system
WO2015109598A1 (en) Methods for motion parameter hole filling
CN103024397B (zh) 确定时域运动矢量预测值的方法和装置
CN110944182B (zh) 仿射模式中的子块的运动矢量推导
US11825074B2 (en) Generation and usage of combined affine merge candidate
TWI704800B (zh) 子塊的邊界濾波
CN110958457B (zh) 模式依赖的仿射继承
CN112565789B (zh) 视频解码及编码方法、装置、计算机可读介质及电子设备
WO2015103747A1 (en) Motion parameter hole filling
CN104301734A (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