CN108347613A - 图像宏块并行编码方法和装置 - Google Patents

图像宏块并行编码方法和装置 Download PDF

Info

Publication number
CN108347613A
CN108347613A CN201710061006.3A CN201710061006A CN108347613A CN 108347613 A CN108347613 A CN 108347613A CN 201710061006 A CN201710061006 A CN 201710061006A CN 108347613 A CN108347613 A CN 108347613A
Authority
CN
China
Prior art keywords
macro block
coding
thread
macro
signals amount
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
CN201710061006.3A
Other languages
English (en)
Other versions
CN108347613B (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.)
Loongson Technology Corp Ltd
Original Assignee
Loongson Technology Corp 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 Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN201710061006.3A priority Critical patent/CN108347613B/zh
Publication of CN108347613A publication Critical patent/CN108347613A/zh
Application granted granted Critical
Publication of CN108347613B publication Critical patent/CN108347613B/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/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/436Methods 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 using parallelised computational arrangements

Landscapes

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

Abstract

本发明提供一种图像宏块并行编码方法和装置,该方法包括:获取可并行编码宏块信号量;在可并行编码宏块信号量不为0时,且存在第一编码线程时,为第一编码线程分配第一宏块,并将第一编码线程插入编码线程链表的表尾;在第一编码线程将第一宏块编码完成后,更新可并行编码宏块信号量并将第一编码线程从编码线程链表中删除;再次获取更新的可并行编码宏块信号量直到可并行编码宏块信号量为0。本发明提供的图像宏块并行编码方法和装置,实现在不同宏块耗时不同时,空闲的编码线程仍可编码可并行编码宏块信号量指示的其他可并行编码的宏块,实现了负载均衡,提高了并行化效率。

Description

图像宏块并行编码方法和装置
技术领域
本发明涉及图像编码领域,尤其涉及一种图像宏块并行编码方法和装置。
背景技术
图像编码技术广泛应用于图像、视频的压缩和传输过程,图像编码的速度提升是图像编码技术研究的重要方向。
现有的编码器在编码一帧图像时,首先将一帧图像划分为多个宏块,然后为保证图像编码的码流率,结合一个宏块编码时可能依赖到当前宏块左侧,左上侧、上侧、右上侧宏块编码结果的依赖关系,按照各宏块编码过程中可能的依赖关系构建所有宏块的编码层次。由于具有相同编码层次的宏块可并行编码,故现有编码器将同一编码层次中的所有宏块平均的指派给多个宏块编码线程并行进行编码,从而提高编码速度。
现有的宏块并行编码方式设计和实现较为简单,但由于在实际编码过程中一帧图像中各个宏块的编码耗时差异较大,且用于编码视频序列时不同图像中位于同一位置的宏块的编码耗时差异也较大,因此按照宏块数量均分的原则进行宏块并行编码时,各个宏块编码线程的负载情况可能差异很大,进而存在需要等待耗时最长的宏块处理完成后才能开始下一编码层次的编码的情况,因此,现有的编码方式无法实现负载均衡,并行化效率较低。
发明内容
本发明提供一种图像宏块并行编码方法和装置,用以解决现有的编码方式并行化效率较低的问题。
本发明一方面提供一种图像宏块并行编码方法,包括:
获取可并行编码宏块信号量,所述可并行编码宏块信号量用于指示可编码宏块的数量;
在所述可并行编码宏块信号量不为0,且存在第一编码线程时,为所述第一编码线程分配第一宏块,并将所述第一编码线程插入编码线程链表的表尾,所述第一编码线程为当前空闲的编码线程,所述第一宏块为所有可编码宏块中序号最小的宏块,所述编码线程链表包括所有正在编码的编码线程;
在所述第一编码线程将所述第一宏块编码完成后,更新所述可并行编码宏块信号量并将所述第一编码线程从所述编码线程链表中删除;
再次获取更新的可并行编码宏块信号量直到所述可并行编码宏块信号量为0。
如上所述的图像宏块并行编码方法,所述在所述第一编码线程将所述第一宏块编码完成后,更新所述可并行编码宏块信号量并将所述第一编码线程从所述编码线程链表中删除,包括:
根据所述第一编码线程在所述编码线程链表中的位置,确定可释放宏块信号量;
将所述第一编码线程从所述编码线程链表中删除;
根据所述可释放宏块信号量更新所述可并行编码宏块信号量。
如上所述的图像宏块并行编码方法,所述根据所述第一编码线程在所述编码线程链表中的位置,确定可释放宏块信号量,包括:
当所述第一编码线程位于所述编码线程链表表头时,且所述编码线程链表中存在其他的编码线程时,确定所述第一宏块与第二宏块之间的中间宏块,所述第二宏块为所述编码线程链表中位于所述第一编码线程之后相邻的编码线程正在编码的宏块;
根据所述第一宏块的后续可编码宏块数量与所述中间宏块的后续可编码宏块数量确定所述可释放宏块信号量。
如上所述的图像宏块并行编码方法,所述根据所述第一编码线程在所述编码线程链表中的位置,确定可释放宏块信号量,包括:
当所述第一编码线程位于所述编码线程链表表头时,且所述编码线程链表中不存在其他的编码线程时,确定所述第一宏块与第三宏块之间的中间宏块,所述第三宏块为已编码完成的宏块中序号最大的宏块;
根据所述第一宏块的后续可编码宏块数量、所述中间宏块的后续可编码宏块数量以及所述第三宏块的后续可编码宏块数量确定所述可释放宏块信号量。
如上所述的图像宏块并行编码方法,所述根据所述第一编码线程在所述编码线程链表中的位置,确定可释放宏块信号量,包括:
当所述第一编码线程不位于所述编码线程链表表头时,确定可释放宏块信号量为0。
如上所述的图像宏块并行编码方法,所述将所述第一编码线程从所述编码线程链表中删除之后,包括:
当所述第一宏块的序号大于之前已编码完成的所有宏块的序号时,将所述第一宏块标为第三宏块。
如上所述的图像宏块并行编码方法,所述获取可并行编码宏块信号量之前,还包括:
将待编码图像划分为至少一个宏块,获取各所述宏块的编码层级;
根据各所述宏块的编码层级,以及具有相同编码层级的宏块的预设编码方向将所有所述宏块进行排序,得到宏块序列;
根据所述宏块序列,获取各所述宏块的后续可编码宏块数量。
本发明另一方面还提供一种图像宏块并行编码装置,用于执行上述图像宏块并行编码方法,具有相同的技术特征和技术效果,本发明对此不再赘述。
本发明另一方面提供一种图像宏块并行编码装置,包括:
可并行编码宏块信号量获取模块,用于获取可并行编码宏块信号量,所述可并行编码宏块信号量用于指示可编码宏块的数量;
宏块分配模块,用于在所述可并行编码宏块信号量不为0时,且存在第一编码线程时,为所述第一编码线程分配第一宏块,并将所述第一编码线程插入编码线程链表的表尾,所述第一编码线程为当前空闲的编码线程,所述第一宏块为所有可编码宏块中序号最小的宏块,所述编码线程链表包括所有正在编码的编码线程;
可并行编码宏块信号量更新模块,用于在所述第一编码线程将所述第一宏块编码完成后,更新所述可并行编码宏块信号量并将所述第一编码线程从所述编码线程链表中删除;
所述可并行编码宏块信号量获取模块,还用于再次获取更新的可并行编码宏块信号量直到所述可并行编码宏块信号量为0。
如上所述的图像宏块并行编码装置,所述可并行编码宏块信号量更新模块,包括:
可释放宏块信号量获取单元,用于根据所述第一编码线程在所述编码线程链表中的位置,确定可释放宏块信号量;
删除单元,用于将所述第一编码线程从所述编码线程链表中删除;
可并行编码宏块信号量更新单元,用于根据所述可释放宏块信号量更新所述可并行编码宏块信号量。
如上所述的图像宏块并行编码装置,所述可释放宏块信号量获取单元,具体用于:
当所述第一编码线程位于所述编码线程链表表头时,且所述编码线程链表中存在其他的编码线程时,确定所述第一宏块与第二宏块之间的中间宏块,所述第二宏块为所述编码线程链表中位于所述第一编码线程之后相邻的编码线程正在编码的宏块;
根据所述第一宏块的后续可编码宏块数量与所述中间宏块的后续可编码宏块数量确定所述可释放宏块信号量。
如上所述的图像宏块并行编码装置,所述可释放宏块信号量获取单元,具体用于:
当所述第一编码线程位于所述编码线程链表表头时,且所述编码线程链表中不存在其他的编码线程时,确定所述第一宏块与第三宏块之间的中间宏块,所述第三宏块为已编码完成的宏块中序号最大的宏块;
根据所述第一宏块的后续可编码宏块数量、所述中间宏块的后续可编码宏块数量以及所述第三宏块的后续可编码宏块数量确定所述可释放宏块信号量。
如上所述的图像宏块并行编码装置,所述可释放宏块信号量获取单元,具体用于:
当所述第一编码线程不位于所述编码线程链表表头时,确定可释放宏块信号量为0。
如上所述的图像宏块并行编码装置,所述可并行编码宏块信号量更新模块,还包括:
第三宏块更新单元,用于当所述第一宏块的序号大于之前已编码完成的所有宏块的序号时,将所述第一宏块标为第三宏块。
如上所述的图像宏块并行编码装置,所述装置还包括:预处理模块;所述预处理模块用于:
将待编码图像划分为至少一个宏块,获取各所述宏块的编码层级;
根据各所述宏块的编码层级,以及具有相同编码层级的宏块的预设编码方向将所有所述宏块进行排序,得到宏块序列;
根据所述宏块序列,获取各所述宏块的后续可编码宏块数量。
本发明提供的图像宏块并行编码方法和装置,包括:获取可并行编码宏块信号量,在可并行编码宏块信号量不为0时,且存在第一编码线程时,为第一编码线程分配第一宏块,第一宏块为所有可编码宏块中序号最小的宏块,并将第一编码线程插入编码线程链表的表尾,在第一编码线程将第一宏块编码完成后,更新可并行编码宏块信号量并将第一编码线程从编码线程链表中删除,重复执行上述步骤直到可并行编码宏块信号量为0。通过在宏块编码完成时,获取最新的可并行编码宏块信号量,并在所有待编码宏块中,首先为序号最小的宏块的分配编码线程,各宏块的序号与宏块在图像中的位置以及宏块的编码层级相关,因此可实现在不同宏块耗时不同时,空闲的编码线程仍可编码可并行编码宏块信号量指示的其他可并行编码的宏块,实现了负载均衡,提高了并行化效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为图像中的宏块结构示意图;
图2为图像的编码层级的示意图;
图3为本发明提供的图像宏块并行编码方法实施例一的流程示意图;
图4为本发明提供的编码线程链表的结构示意图;
图5为本发明提供的图像宏块并行编码方法实施例二的流程示意图;
图6为本发明提供的图像宏块并行编码方法实施例三的流程示意图;
图7为本发明提供的图像宏块序列示意图;
图8为本发明提供的图像宏块序号示意图;
图9为本发明提供的后续可编码宏块数量的获取方法的流程示意图;
图10为本发明提供的宏块的后续可编码宏块数量的示意图;
图11为本发明提供的图像宏块并行编码方法实施例四的流程示意图;
图12为本发明提供的图像宏块并行编码方法实施例五的流程示意图;
图13为本发明提供的图像宏块并行编码方法实施例六的示意图;
图14为本发明提供的图像宏块并行编码装置实施例一的结构示意图;
图15为本发明提供的图像宏块并行编码装置实施例二的结构示意图;
图16为本发明提供的图像宏块并行编码装置实施例三的结构示意图;
图17为本发明提供的图像宏块并行编码装置实施例四的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在视频图像编码过程中,通常将图像划分为多个宏块,以宏块为单位执行编码算法,逐个宏块进行编码,组织成连续的视频码流。具体的,图1为图像中的宏块结构示意图。如图1所示,对于一帧图像,可均匀划分为多个大小相同的宏块。示例性的,一个宏块由一个亮度像素块和附加的两个色度像素块组成。亮度块可以为16x16大小的像素块,而两个色度图像像素块的大小依据其图像的采样格式而定,如:对于YUV420采样图像,色度块为8x8大小的像素块。
由于一帧图像中,相邻宏块内容可能较为相似,故可参考相邻的已编码宏块的编码重建结果进行编码,以提高编码压缩比,降低码率,因此,考虑到视频图像编码、传输等各类处理中,均为从图像左上角开始从左到右逐行对图像中的各宏块进行处理,则参考图1,对于任一宏块A,可建立其与相邻的左侧宏块B,左上侧宏块C,上侧宏块D,右上侧宏块E的依赖关系,即宏块A的编码依赖于宏块B、C、D、E的编码结果,宏块A需在宏块B、C、D、E编码结束后开始编码。根据各宏块的依赖关系则可获取整幅图像的编码分层,图2为图像的编码层级的示意图。图2示例性的示出了将一幅包含352*288个像素点的图像,划分为22*18个宏块后,各宏块的编码层级。各宏块中的数字即为该宏块的编码层级。
结合图2,编码层级为6的层级中包括4个宏块,即宏块(0,3)、宏块(2,2)、宏块(4,1)和宏块(6,0),根据现有的宏块并行编码方法,当存在两个编码线程时,分两次编码完成即可,但是,当4个宏块中存在一个宏块编码耗时较大时,需等待该宏块编码完成后,再开始后续的宏块并行编码,进而导致现有编码方式并行化效率较低。
为解决上述问题,本发明提供一种图像宏块并行编码方法,下面结合具体实施例对本发明提供的图像宏块并行编码方法进行详细说明。
图3为本发明提供的图像宏块并行编码方法实施例一的流程示意图,如图3所示,本发明实施例提供一种图像宏块并行编码方法,该方法的执行主体为图像宏块并行编码装置,该装置可以通过软件或硬件实现,本发明对此不做限定。该方法包括:
S301、获取可并行编码宏块信号量,可并行编码宏块信号量用于指示可编码宏块的数量。
在本实施例中,可并行编码宏块信号量用于指示可编码宏块的数量,示例性的,参考图1,当宏块A所述依赖的宏块B、C、D、E均已编码完成时,宏块A即为可编码宏块,当宏块B、C、D、E中存在还未编码完成的宏块时,宏块A为不可编码宏块。当可并行编码宏块信号量不为0时,说明存在可编码的宏块,当可并行编码宏块信号量为0时,说明不存在可编码的宏块。
S302、在可并行编码宏块信号量不为0,且存在第一编码线程时,为第一编码线程分配第一宏块,并将第一编码线程插入编码线程链表的表尾。
第一宏块为所有可编码宏块中序号最小的宏块,编码线程链表包括所有正在编码的编码线程。
其中,第一编码线程为当前空闲的编码线程。具体的,编码器启动时根据系统硬件资源情况(软件编码器根据运行所在硬件平台的处理器的核心的数量,硬件编码器根据相应的硬件编码逻辑单元数量)启动合适数量的宏块编码线程。例如对于软件编码器,宏块编码线程的数据一般为处理器核心数量的1~2倍,即对一个4核处理器来说,宏块编码线程的数量一般为4~8个。对应硬件编码器,宏块编码线程的量即为硬件宏块编码单元数量。
在本实施例中,在可并行编码宏块信号量不为0时,确定存在可编码宏块,此时进一步确定是否存在空闲的编码线程,若存在,则将该编码线程记为第一编码线程,并由该第一编码线程对该待编码的宏块进行编码。
示例性的,当待编码的宏块只有一个时,直接将该待编码宏块分配给第一编码线程,当存在多个待编码宏块时,将所有宏块中序号最小的宏块记为第一宏块,并分配给第一编码线程。各宏块的序号根据宏块在图像中的位置以及宏块的编码层级获取。在第一编码线程编码第一宏块之前,还需将第一编码线程插入编码线程链表的表尾。图4为本发明提供的编码线程链表的结构示意图,如图4所示,编码线程链表包括所有正在编码的编码线程,图中示意性的示出了正在编码的第i编码线程、第i+1编码线程、第i+2编码线程、第i+3编码线程,且第i编码线程编码第j1宏块,第j1宏块在图像中的坐标为(x1,y1),第i+1编码线程编码第j2宏块,第j2宏块在图像中的坐标为(x2,y2),第i+2编码线程编码第j3宏块,第j3宏块在图像中的坐标为(x3,y3),第i+3编码线程编码第j4宏块,第j4宏块在图像中的坐标为(x4,y4),其中i为大于0的正整数。当为新的编码线程分配了宏块时,将新的编码线程插入编码线程链表的表尾。
S303、在第一编码线程将第一宏块编码完成后,更新可并行编码宏块信号量并将第一编码线程从编码线程链表中删除。
在本实施例中,当第一宏块的编码完成后,可能存在一个宏块,第一宏块是其所有依赖宏块中最后一个编码完成的宏块,从而使得该宏块在第一宏块编码完成后,成为可编码宏块。因此,在第一编码线程将第一宏块编码完成后,需更新可并行编码宏块信号量,并将第一编码线程从编码线程链表中删除,以将第一编码线程释放出来。示例的,也可能在第一宏块编码完成后,并未释放新的可编码宏块。
值得说明的是,在为第一编码线程分配第一宏块之后,需将可编码宏块信号量减去1。在减去1的可编码宏块信号量的基础上,更新可并行编码宏块信号量。
S304、再次获取更新的可并行编码宏块信号量直到可并行编码宏块信号量为0。
在本实施例中,根据更新的可并行编码宏块信号量,重复执行S301至S303,直至可并行编码宏块信号量为0,即直至不再有可编码宏块,也即直至将整幅图像编码完毕。
本发明提供的图像宏块并行编码方法包括:获取可并行编码宏块信号量,在可并行编码宏块信号量不为0时,且存在第一编码线程时,为第一编码线程分配第一宏块,第一宏块为所有可编码宏块中序号最小的宏块,并将第一编码线程插入编码线程链表的表尾,在第一编码线程将第一宏块编码完成后,更新可并行编码宏块信号量并将第一编码线程从编码线程链表中删除,重复执行上述步骤直到可并行编码宏块信号量为0。通过在宏块编码完成时,获取最新的可并行编码宏块信号量,并在所有待编码宏块中,首先为序号最小的宏块的分配编码线程,各宏块的序号与宏块在图像中的位置以及宏块的编码层级相关,因此可实现在不同宏块耗时不同时,空闲的编码线程仍可编码可并行编码宏块信号量指示的其他可并行编码的宏块,实现了负载均衡,提高了并行化效率。
进一步地,在图3所示实施例的基础上,图5为本发明提供的图像宏块并行编码方法实施例二的流程示意图,如图5所示,S303中的在第一编码线程将第一宏块编码完成后,更新可并行编码宏块信号量并将第一编码线程从编码线程链表中删除,具体包括:
S501、根据第一编码线程在编码线程链表中的位置,确定可释放宏块信号量;
S502、将第一编码线程从编码线程链表中删除;
S503、根据可释放宏块信号量更新可并行编码宏块信号量。
具体的,在本实施例中,在第一编码线程将第一宏块编码完成后,根据第一编码线程当前在编码线程链表中的位置,确定可释放宏块信号量。可释放宏块信号量指示由于第一宏块编码完毕而由无法编码状态切换至可编码状态的宏块的数量,当编码第一宏块的第一编码线程在编码线程链表的表头时,则序号在第一宏块之前的宏块均已编码完毕,当第一宏块编码完毕时,则将会释放新的可并行编码宏块,当第一宏块的第一编码线程不在编码线程链表的表头时,则说明存在其他序号小于第一宏块的序号的宏块未编码完毕,此时,即使第一宏块编码完毕,对于后续宏块而言,还存在其他依赖的宏块未编码完毕,因此也无法释放新的可并行编码宏块。在确定可释放宏块信号量后,将第一编码线程从编码线程链表中删除,并根据可释放宏块信号量更新可并行编码宏块信号量。示例性的,可以将可释放宏块信号量与减去1的可并行编码宏块信号量相加,获取更新后的可并行编码宏块信号量。
进一步地,结合图5,S501中的根据第一编码线程在编码线程链表中的位置,确定可释放宏块信号量,具体包括以下几种可能的情形:
第一种情形:当第一编码线程位于编码线程链表表头时,且编码线程链表中存在其他的编码线程时,确定可释放宏块信号量的过程具体包括:
确定第一宏块与第二宏块之间的中间宏块,第二宏块为编码线程链表中位于第一编码线程之后相邻的编码线程正在编码的宏块;
根据第一宏块的后续可编码宏块数量与中间宏块的后续可编码宏块数量确定可释放宏块信号量。
值得说明的是,当第一编码线程位于编码线程链表的表头时,则序号在第一宏块之前的宏块均已编码完毕。
当编码线程链表中还包括其他编码线程时,根据第一宏块,以及序号在第一宏块的序号和第二宏块的序号之间的所有中间宏块的后续可编码宏块数量,获取可释放宏块信号量。示例性的,第二宏块为编码线程链表中第一编码线程之后相邻的编码线程正在编码的宏块,参考图4,当第一编码线程为图4中的第i编码线程正在编码的第j1宏块时,第二宏块则为第i+1编码线程正在编码的第j2宏块。第一宏块和第二宏块之间的所有宏块则为序号在j1与j2之间的所有宏块。可选的,各宏块的后续可编码宏块数量根据宏块在图像中的位置以及宏块的编码层级获取。
第二种情形:当第一编码线程位于编码线程链表表头时,且编码线程链表中不存在其他的编码线程时,确定可释放宏块信号量的过程具体包括:
确定第一宏块与第三宏块之间的中间宏块,第三宏块为已编码完成的宏块中序号最大的宏块;
根据第一宏块的后续可编码宏块数量、中间宏块的后续可编码宏块数量以及第三宏块的后续可编码宏块数量确定可释放宏块信号量。
具体的,当编码线程链表中不包括其他编码线程时,即第一编码线程即为表头亦为表尾,根据第一宏块,以及第一宏块与第三宏块之间的所有中间宏块的后续可编码宏块数量,确定可释放宏块信号量。示例性的,第三宏块为所有已编码完成的宏块中序号最大的宏块。
示例性的,当编码线程链表中不包括其他编码线程时,直接将编码线程链表删除,在下一次宏块编码时重新创建编码线程链表;当编码线程链表中包括其他编码线程时,断开第一编码线程与在第一编码线程之后相邻的编码线程的连接。
第三种情形:当第一编码线程不位于编码线程链表表头时,确定可释放宏块信号量的过程具体包括:
确定可释放宏块信号量为0。
当第一宏块的第一编码线程不在编码线程链表的表头时,则说明存在其他序号小于第一宏块的序号的宏块未编码完毕,此时,即使第一宏块编码完毕,对于后续宏块而言,还存在其他依赖的宏块未编码完毕,因此也无法释放新的可并行编码宏块,故确定可释放宏块信号量为0。
在上述任一实施例的基础上,S303中的将第一编码线程从编码线程链表中删除之后,还包括:
当第一宏块的序号大于之前已编码完成的所有宏块的序号时,将第一宏块标为第三宏块。
具体的,当第一宏块编码完成后,比较第一宏块和第三宏块的序号,并在第一宏块的序号大于第三宏块的序号时,将第一宏块作为新的第三宏块。
进一步地,在上述实施例的基础上,对各宏块的序号获取方法以及各宏块的后续可编码宏块数量的获取方法进行详细说明。图6为本发明提供的图像宏块并行编码方法实施例三的流程示意图,图7为本发明提供的图像宏块序列示意图,图8为本发明提供的图像宏块序号示意图。如图6、图7和图8所示,在S301的获取可并行编码宏块信号量之前,还包括:
S601、将待编码图像划分为至少一个宏块,获取各宏块的编码层级;
S602、根据各宏块的编码层级,以及具有相同编码层级的宏块的预设编码方向将所有宏块进行排序,得到宏块序列;
S603、根据宏块序列,获取各宏块的后续可编码宏块数量。
具体的,在S601中,将待编码图像划分为至少一个宏块,根据图1所示的,为提高编码压缩比,降低码率,宏块A的编码依赖于宏块B、C、D、E的编码结果,宏块A需在宏块B、C、D、E编码结束后开始编码,可获取各宏块的编码层级如图2所示。
具体的,在S602和S603中,根据各宏块的编码层级,以及具有相同编码层级的宏块的预设编码方向将所有宏块进行排序,得到宏块序列。示例性的,结合图7,以预设的编码方向为从左下角向右上角为例,对宏块序列进行示例性说明,首先确定各编码层级所包含的宏块,让后,将各层级中的所有宏块,根据横坐标最小则最先编码的原则,进行排序,进而得到如图7所示的宏块序列,根据图7中的宏块序列即可得到如图8所示的宏块序号示意图。
可选的,编码方向还可以从右上角至左下角。
进一步地,对如何确定各宏块的后续可编码宏块数量进行详细说明,图9为本发明提供的后续可编码宏块数量的获取方法的流程示意图,图10为本发明提供的宏块的后续可编码宏块数量的示意图,如图9和图10所示,包括:
S901、获取宏块的编码层级;
S902、判断宏块的编码层级是否小于预设层级;若是,则执行S903;若否,则执行S914;
S903、判断宏块的坐标是否为(0,0);若是,则执行S904;若否,则执行S905;
S904、确定宏块的后续可编码宏块数量为1;
S905、判断宏块的编码层级是否为奇数;若是,则执行S906;若否,则执行S909;
S906、判断宏块的横坐标是否为0,且纵坐标不为第一预设纵坐标;若是,则执行S907;若否,则执行S908;
S907、确定宏块的后续可编码宏块数量为2;
S908、确定宏块的后续可编码宏块数量为1;
S909、判断宏块的纵坐标是否为0;若是,则执行S910;若否,则执行S911;
S910、确定宏块的后续可编码宏块数量为0;
S911、判断宏块的横坐标是否为0,或纵坐标不为第二预设纵坐标;若是,则执行S912;若否,则执行S913;
S912、确定宏块的后续可编码宏块数量为2;
S913、确定宏块的后续可编码宏块数量为1;
S914、判断宏块的编码层级是否为奇数;若是,则执行S915;若否,则执行S918;
S915、判断宏块的横坐标是否为第一预设横坐标;若是,则执行S916;若否,则执行S917;
S916、确定宏块的后续可编码宏块数量为0;
S917、确定宏块的后续可编码宏块数量为1;
S918、判断宏块的横坐标是否为第一预设横坐标,且纵坐标不为第二预设纵坐标;若是,则执行S919;若否,则执行S920;
S919、确定宏块的后续可编码宏块数量为0;
S920、判断宏块的横坐标是否不为第一预设横坐标,且纵坐标为第二预设纵坐标;若是,则执行S921;若否,则执行S922;
S921、确定宏块的后续可编码宏块数量为2;
S922、确定宏块的后续可编码宏块数量为1。
具体的,S901中的获取宏块的编码层级的方式具体为,编码层级=宏块的横坐标+2*宏块的纵坐标。S902中的预设层级为可并行编码宏块数量减少的编码层级。示例性的,图2中标有相同数字的宏块具有同一编码层级,由图2可以看出不同的编码层级具有不同数量的宏块,例如,编码层级为0的宏块只有一个,而编码层级为30的宏块有11个。但随着编码层级的增大,每个编码层级对应的宏块数量有一个从小变大,保持不变(编码层级20-35均对应了11个宏块),再从大变小的过程。预设层级为图像中可并行编码宏块数量减少的编码层级在图2中即为36,因为编码层级35的宏块有11个,而编码层级36的宏块只有10个。
其中,为第一预设纵坐标为图像中宏块的纵坐标总数减去1,第二预设纵坐标为图像中宏块的纵坐标总数减去2;第一预设横坐标为图像中宏块的横坐标总数减去1。
进一步地,在上述任一实施例的基础上,当空闲编码线程包括多个时,为避免多个编码线程同时编码同一宏块,此时多个编码线程通过竞争方式,确定编码第一宏块的第一编码线程。示例性的,第一编码线程为竞争到共享数据访问互斥锁的线程,当将第一编码线程插入编码线程链表的表尾后,可将共享数据访问互斥锁释放,使得其他编码线程可继续竞争对其他可编码宏块进行编码。
同理,在第一编码线程将第一宏块编码完成后,可能同时存在其他编码线程完成其他宏块的编码,为避免同时更新可并行编码宏块信号量,在第一编码线程将第一宏块编码完成后,需获取共享数据访问互斥锁,并在更新可并行编码宏块信号量之后,释放共享数据访问互斥锁。
在上述所有实施例的基础上,图11为本发明提供的图像宏块并行编码方法实施例四的流程示意图,如图11所示,该方法包括:
S1101、将待编码图像划分为至少一个宏块,获取各宏块的编码层级;
S1102、根据各宏块的编码层级,以及具有相同编码层级的宏块的预设编码方向将所有宏块进行排序,得到宏块序列;
S1103、根据宏块序列,获取各宏块的后续可编码宏块数量;
S1104、获取可并行编码宏块信号量,可并行编码宏块信号量用于指示可编码宏块的数量;
S1105、在可并行编码宏块信号量不为0时,且存在第一编码线程时,为第一编码线程分配第一宏块,并将第一编码线程插入编码线程链表的表尾;
S1106、在第一编码线程将第一宏块编码完成后,判断第一编码线程是否位于编码线程链表的表头;若是,则执行S1107;如否,则执行S1110;
S1107、判断编码线程链表中是否还包括其他编码线程;若是,则执行S1108;若否,则执行S1109;
S1108、确定第一宏块与第二宏块之间的中间宏块,第二宏块为编码线程链表中位于第一编码线程之后相邻的编码线程正在编码的宏块;根据第一宏块的后续可编码宏块数量与中间宏块的后续可编码宏块数量确定可释放宏块信号量;执行S1111;
S1109、确定第一宏块与第三宏块之间的中间宏块,第三宏块为已编码完成的宏块中序号最大的宏块;根据第一宏块的后续可编码宏块数量、中间宏块的后续可编码宏块数量以及第三宏块的后续可编码宏块数量确定可释放宏块信号量;执行S1111;
S1110、确定可释放宏块信号量为0;执行S1111;
S1111、将第一编码线程从编码线程链表中删除,根据可释放宏块信号量更新可并行编码宏块信号量;
S1112、判断第一宏块的序号是否大于之前已编码完成的所有宏块的序号;若是,则执行S1113;若否,则执行S1114;
S1113、将第一宏块标为第三宏块;
S1114、释放可并行编码宏块信号量。
示例性的,结合图12对可释放宏块信号量的获取过程进行详细说明。图12为本发明提供的图像宏块并行编码方法实施例五的示意图。如图12所示,宏块编码线程a、b、c、d分别正在编码坐标为(5,3),(11,0),(0,6),(2,5)的4个宏块,此时宏块编码线程a完成宏块(5,3)的编码并开始退出宏块(5,3)的编码,经判断当前宏块编码线程a位于图4所示链表表头(每个宏块编码线程进入编码时均将自己放入图4所示链表的表尾),且当前处于编码状态的线程不止a一个,还有正在编码宏块(11,0)的线程b,因此可释放宏块信号量是第一宏块(5,3),以及第一宏块(5,3)与第二宏块(11,0)之间的中间宏块(7,2)、(9,1)的后续可编码宏块数量的和(如图12中虚线框所示),此时可释放宏块信号量的值为3,这意味着编码层级为12的宏块中又有3个宏块进入可并行编码状态(宏块(4,4)、(6,3)、(8,2))。
示例性的,结合图13对可并行编码宏块信号量的获取过程进行详细说明。图13为本发明提供的图像宏块并行编码方法实施例六的示意图。如图13所示,假设共有4个宏块编码线程e、f、g、h,由于宏块(1,5)编码时间较长,当宏块编码线程e正在编码图13所示坐标为(1,5)的宏块,而宏块编码线程f、g、h已经将后续的(3,4),(5,3),(7,2),(9,1),(11,0)编码完成,此时由于宏块(1,5)尚未编码完成,因此此时可释放宏块信号量为0,空闲的宏块编码线程f、g、h不能继续编码,按照图11所示实施例中的第三宏块的更新方法,此时第三宏块应该指向坐标为(11,0)的宏块。如果这时线程a完成宏块(1,5)的编码,那么图4所示链表结构中只有a线程一个链表元素,此时宏块编码线程a退出宏块编码过程中就需要根据当前宏块坐标(1,5)和第三宏块坐标(11,0)来计算可并行编码宏块信号量的值,其计算方法是将宏块(1,5),(3,4),(5,3),(7,2),(9,1),(11,0)编码完成后后续可编码宏块数量求和,即得到可释放宏块信号量,此时线程a退出时释放的宏块信号量个数为1+1+1+1+1+2=7,可释放宏块信号量代表的宏块即编码层级为12的宏块斜行中的所有宏块,如图13所示。
本发明另一方面提供一种图像宏块并行编码装置,用于执行上述实施例中的图像宏块并行编码方法,具有相同的技术特征和技术效果。
图14为本发明提供的图像宏块并行编码装置实施例一的结构示意图。如图14所示,图像宏块并行编码装置包括:
可并行编码宏块信号量获取模块1401,用于获取可并行编码宏块信号量,可并行编码宏块信号量用于指示可编码宏块的数量;
宏块分配模块1402,用于在可并行编码宏块信号量不为0时,且存在第一编码线程时,为第一编码线程分配第一宏块,并将第一编码线程插入编码线程链表的表尾,第一编码线程为当前空闲的编码线程,第一宏块为所有可编码宏块中序号最小的宏块,编码线程链表包括所有正在编码的编码线程;
可并行编码宏块信号量更新模块1403,用于在第一编码线程将第一宏块编码完成后,更新可并行编码宏块信号量并将第一编码线程从编码线程链表中删除;
可并行编码宏块信号量获取模块1401,还用于再次获取更新的可并行编码宏块信号量直到可并行编码宏块信号量为0。
可选的,在图14所示实施例的基础上,图15为本发明提供的图像宏块并行编码装置实施例二的结构示意图,如图15所示,可并行编码宏块信号量更新模块1403,包括:
可释放宏块信号量获取单元1501,用于根据第一编码线程在编码线程链表中的位置,确定可释放宏块信号量;
删除单元1502,用于将第一编码线程从编码线程链表中删除;
可并行编码宏块信号量更新单元1503,用于根据可释放宏块信号量更新可并行编码宏块信号量。
可选的,在图15所示实施例的基础上,可释放宏块信号量获取单元1501,具体用于:
当第一编码线程位于编码线程链表表头时,且编码线程链表中存在其他的编码线程时,确定第一宏块与第二宏块之间的中间宏块,第二宏块为编码线程链表中位于第一编码线程之后相邻的编码线程正在编码的宏块;
根据第一宏块的后续可编码宏块数量与中间宏块的后续可编码宏块数量确定可释放宏块信号量。
可选的,在图15所示实施例的基础上,可释放宏块信号量获取单元1501,具体用于:
当第一编码线程位于编码线程链表表头时,且编码线程链表中不存在其他的编码线程时,确定第一宏块与第三宏块之间的中间宏块,第三宏块为已编码完成的宏块中序号最大的宏块;
根据第一宏块的后续可编码宏块数量、中间宏块的后续可编码宏块数量以及第三宏块的后续可编码宏块数量确定可释放宏块信号量。
可选的,在图15所示实施例的基础上,可释放宏块信号量获取单元1501,具体用于:
当第一编码线程不位于编码线程链表表头时,确定可释放宏块信号量为0。
可选的,在图15所示实施例的基础上,图16为本发明提供的图像宏块并行编码装置实施例三的结构示意图,如图16所示,可并行编码宏块信号量更新模块1403,还包括:
第三宏块更新单元1504,用于当第一宏块的序号大于之前已编码完成的所有宏块的序号时,将第一宏块标为第三宏块。
可选的,在上述任一实施例的基础上,图17为本发明提供的图像宏块并行编码装置实施例四的结构示意图,如图17所示,图像宏块并行编码装置还包括:预处理模块1404;预处理模块1404用于:
将待编码图像划分为至少一个宏块,获取各宏块的编码层级;
根据各宏块的编码层级,以及具有相同编码层级的宏块的预设编码方向将所有宏块进行排序,得到宏块序列;
根据宏块序列,获取各宏块的后续可编码宏块数量。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (14)

1.一种图像宏块并行编码方法,其特征在于,包括:
获取可并行编码宏块信号量,所述可并行编码宏块信号量用于指示可编码宏块的数量;
在所述可并行编码宏块信号量不为0,且存在第一编码线程时,为所述第一编码线程分配第一宏块,并将所述第一编码线程插入编码线程链表的表尾,所述第一编码线程为当前空闲的编码线程,所述第一宏块为所有可编码宏块中序号最小的宏块,所述编码线程链表包括所有正在编码的编码线程;
在所述第一编码线程将所述第一宏块编码完成后,更新所述可并行编码宏块信号量并将所述第一编码线程从所述编码线程链表中删除;
再次获取更新的可并行编码宏块信号量直到所述可并行编码宏块信号量为0。
2.根据权利要求1所述的方法,其特征在于,所述在所述第一编码线程将所述第一宏块编码完成后,更新所述可并行编码宏块信号量并将所述第一编码线程从所述编码线程链表中删除,包括:
根据所述第一编码线程在所述编码线程链表中的位置,确定可释放宏块信号量;
将所述第一编码线程从所述编码线程链表中删除;
根据所述可释放宏块信号量更新所述可并行编码宏块信号量。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一编码线程在所述编码线程链表中的位置,确定可释放宏块信号量,包括:
当所述第一编码线程位于所述编码线程链表表头时,且所述编码线程链表中存在其他的编码线程时,确定所述第一宏块与第二宏块之间的中间宏块,所述第二宏块为所述编码线程链表中位于所述第一编码线程之后相邻的编码线程正在编码的宏块;
根据所述第一宏块的后续可编码宏块数量与所述中间宏块的后续可编码宏块数量确定所述可释放宏块信号量。
4.根据权利要求2所述的方法,其特征在于,所述根据所述第一编码线程在所述编码线程链表中的位置,确定可释放宏块信号量,包括:
当所述第一编码线程位于所述编码线程链表表头时,且所述编码线程链表中不存在其他的编码线程时,确定所述第一宏块与第三宏块之间的中间宏块,所述第三宏块为已编码完成的宏块中序号最大的宏块;
根据所述第一宏块的后续可编码宏块数量、所述中间宏块的后续可编码宏块数量以及所述第三宏块的后续可编码宏块数量确定所述可释放宏块信号量。
5.根据权利要求2所述的方法,其特征在于,所述根据所述第一编码线程在所述编码线程链表中的位置,确定可释放宏块信号量,包括:
当所述第一编码线程不位于所述编码线程链表表头时,确定可释放宏块信号量为0。
6.根据权利要求2-5任一项所述的方法,其特征在于,所述将所述第一编码线程从所述编码线程链表中删除之后,包括:
当所述第一宏块的序号大于之前已编码完成的所有宏块的序号时,将所述第一宏块标为第三宏块。
7.根据权利要求1-5所述的方法,其特征在于,所述获取可并行编码宏块信号量之前,还包括:
将待编码图像划分为至少一个宏块,获取各所述宏块的编码层级;
根据各所述宏块的编码层级,以及具有相同编码层级的宏块的预设编码方向将所有所述宏块进行排序,得到宏块序列;
根据所述宏块序列,获取各所述宏块的后续可编码宏块数量。
8.一种图像宏块并行编码装置,其特征在于,包括:
可并行编码宏块信号量获取模块,用于获取可并行编码宏块信号量,所述可并行编码宏块信号量用于指示可编码宏块的数量;
宏块分配模块,用于在所述可并行编码宏块信号量不为0时,且存在第一编码线程时,为所述第一编码线程分配第一宏块,并将所述第一编码线程插入编码线程链表的表尾,所述第一编码线程为当前空闲的编码线程,所述第一宏块为所有可编码宏块中序号最小的宏块,所述编码线程链表包括所有正在编码的编码线程;
可并行编码宏块信号量更新模块,用于在所述第一编码线程将所述第一宏块编码完成后,更新所述可并行编码宏块信号量并将所述第一编码线程从所述编码线程链表中删除;
所述可并行编码宏块信号量获取模块,还用于再次获取更新的可并行编码宏块信号量直到所述可并行编码宏块信号量为0。
9.根据权利要求8所述的装置,其特征在于,所述可并行编码宏块信号量更新模块,包括:
可释放宏块信号量获取单元,用于根据所述第一编码线程在所述编码线程链表中的位置,确定可释放宏块信号量;
删除单元,用于将所述第一编码线程从所述编码线程链表中删除;
可并行编码宏块信号量更新单元,用于根据所述可释放宏块信号量更新所述可并行编码宏块信号量。
10.根据权利要求9所述的装置,其特征在于,所述可释放宏块信号量获取单元,具体用于:
当所述第一编码线程位于所述编码线程链表表头时,且所述编码线程链表中存在其他的编码线程时,确定所述第一宏块与第二宏块之间的中间宏块,所述第二宏块为所述编码线程链表中位于所述第一编码线程之后相邻的编码线程正在编码的宏块;
根据所述第一宏块的后续可编码宏块数量与所述中间宏块的后续可编码宏块数量确定所述可释放宏块信号量。
11.根据权利要求9所述的装置,其特征在于,所述可释放宏块信号量获取单元,具体用于:
当所述第一编码线程位于所述编码线程链表表头时,且所述编码线程链表中不存在其他的编码线程时,确定所述第一宏块与第三宏块之间的中间宏块,所述第三宏块为已编码完成的宏块中序号最大的宏块;
根据所述第一宏块的后续可编码宏块数量、所述中间宏块的后续可编码宏块数量以及所述第三宏块的后续可编码宏块数量确定所述可释放宏块信号量。
12.根据权利要求9所述的装置,其特征在于,所述可释放宏块信号量获取单元,具体用于:
当所述第一编码线程不位于所述编码线程链表表头时,确定可释放宏块信号量为0。
13.根据权利要求9至12任一项所述的装置,其特征在于,所述可并行编码宏块信号量更新模块,还包括:
第三宏块更新单元,用于当所述第一宏块的序号大于之前已编码完成的所有宏块的序号时,将所述第一宏块标为第三宏块。
14.根据权利要求9至12任一项所述的装置,其特征在于,所述装置还包括:预处理模块;所述预处理模块用于:
将待编码图像划分为至少一个宏块,获取各所述宏块的编码层级;
根据各所述宏块的编码层级,以及具有相同编码层级的宏块的预设编码方向将所有所述宏块进行排序,得到宏块序列;
根据所述宏块序列,获取各所述宏块的后续可编码宏块数量。
CN201710061006.3A 2017-01-25 2017-01-25 图像宏块并行编码方法和装置 Active CN108347613B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710061006.3A CN108347613B (zh) 2017-01-25 2017-01-25 图像宏块并行编码方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710061006.3A CN108347613B (zh) 2017-01-25 2017-01-25 图像宏块并行编码方法和装置

Publications (2)

Publication Number Publication Date
CN108347613A true CN108347613A (zh) 2018-07-31
CN108347613B CN108347613B (zh) 2020-05-26

Family

ID=62963369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710061006.3A Active CN108347613B (zh) 2017-01-25 2017-01-25 图像宏块并行编码方法和装置

Country Status (1)

Country Link
CN (1) CN108347613B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101710986A (zh) * 2009-11-18 2010-05-19 中兴通讯股份有限公司 基于同构多核处理器的h.264并行解码方法和系统
CN102483708A (zh) * 2010-07-07 2012-05-30 松下电器产业株式会社 处理器
CN107483950A (zh) * 2016-06-07 2017-12-15 北京大学 图片并行编码方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101710986A (zh) * 2009-11-18 2010-05-19 中兴通讯股份有限公司 基于同构多核处理器的h.264并行解码方法和系统
CN102483708A (zh) * 2010-07-07 2012-05-30 松下电器产业株式会社 处理器
US20120167114A1 (en) * 2010-07-07 2012-06-28 Panasonic Corporation Processor
CN107483950A (zh) * 2016-06-07 2017-12-15 北京大学 图片并行编码方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
冯飞龙: "基于H.264 实时编码的多核并行算法", 《多媒体技术及应用》 *

Also Published As

Publication number Publication date
CN108347613B (zh) 2020-05-26

Similar Documents

Publication Publication Date Title
JP7422858B2 (ja) ビデオ処理方法、装置、記憶媒体及び記憶方法
JP2022528051A (ja) ビデオ処理における非線形適応ループフィルタリング
CN108702501A (zh) 用于视频编码的色度预测的区域化亮度预测模式继承的方法及装置
WO2019133158A1 (en) Constraints on locations of reference blocks for intra block copy prediction
CN110248196A (zh) 用于调色板编解码的方法和设备
JP7288083B2 (ja) 符号化ツリー構造タイプに基づく符号化モード
CN108141619A (zh) 在使用帧内块复制的视频编解码系统中用于已解码图像缓存器管理的方法及装置
CN107925772A (zh) 利用可选插值滤波器进行视频运动补偿的装置和方法
CN106716999A (zh) 用于视频编码的调色板预测器信令的方法
CN113812155A (zh) 多种帧间编解码方法之间的交互
CN110115034A (zh) 一种用于扩展预定定向帧内预测模式集合的帧内预测装置
CN105100814B (zh) 图像编码、解码方法及装置
CN104718753B (zh) 利用切片速率控制的有界率压缩
JP2023109795A (ja) ビデオ・データを処理する方法、装置、及び記憶媒体
CN106797471A (zh) 使用一般化复制之前模式的颜色索引编码方法
TW201528785A (zh) 根據內部預測模式轉置轉換係數的區塊
CN106464912A (zh) 调色板表预测和发信的方法和装置
WO2020044255A1 (en) Context coding in partitioning with extended quadtree
CN109379594A (zh) 视频编码压缩方法、装置、设备和介质
CN113853791B (zh) 数字视频中的变换旁路编解码残差块
WO2020084601A1 (en) Redundancy reduction in block partition
CN105847842A (zh) 图像编码方法及装置、图像解码方法及装置
CN113287318A (zh) 视频编码器和/或视频解码器中的非对称去块
JP7359343B2 (ja) Dct2が有効である高レベルフラグを使用するエンコーダ、デコーダ及び対応する方法
US20230063062A1 (en) Hardware codec accelerators for high-performance video encoding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Patentee after: Loongson Zhongke Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Patentee before: LOONGSON TECHNOLOGY Corp.,Ltd.

CP01 Change in the name or title of a patent holder