CN117939161A - 图像解码方法、装置、电子设备及可读存储介质 - Google Patents

图像解码方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN117939161A
CN117939161A CN202410068877.8A CN202410068877A CN117939161A CN 117939161 A CN117939161 A CN 117939161A CN 202410068877 A CN202410068877 A CN 202410068877A CN 117939161 A CN117939161 A CN 117939161A
Authority
CN
China
Prior art keywords
decoding
data
electronic device
image
memory
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.)
Pending
Application number
CN202410068877.8A
Other languages
English (en)
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.)
Vivo Mobile Communication Co Ltd
Original Assignee
Vivo Mobile Communication 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 Vivo Mobile Communication Co Ltd filed Critical Vivo Mobile Communication Co Ltd
Priority to CN202410068877.8A priority Critical patent/CN117939161A/zh
Publication of CN117939161A publication Critical patent/CN117939161A/zh
Pending legal-status Critical Current

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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请公开了一种图像解码方法、装置、电子设备及可读存储介质,属于图像处理技术领域。本申请实施例提供一种图像解码方法,该方法包括:电子设备根据CPU核的数量和/或负载情况确定N的值,N为大于1的整数;电子设备根据N以及目标图像对应的编码比特流,得到N个编码比特序列;电子设备通过N个解码线程对N个编码比特序列进行解码;其中,一个解码线程对应一个编码比特序列。

Description

图像解码方法、装置、电子设备及可读存储介质
技术领域
本申请属于图像处理技术领域,具体涉及一种图像解码方法、装置、电子设备及可读存储介质。
背景技术
通常,在对图像(例如联合图像专家小组(JointPhotographic Experts Group,JPEG)图像)对应的编码文件进行图像解码的场景下,电子设备可以通过电子设备的中央处理器(Central Processing Unit,CPU)核对该编码文件进行图像解码,例如对该编码文件进行哈夫曼熵解码和DCT逆变换,以得到该JPEG图像的YUV图像数据,将得到的YUV数据转换为RGB数据,从而电子设备可以基于该RGB数据显示该JPEG图像。
但是,由于电子设备可能需要较长时间才可以通过CPU核对上述编码文件进行哈夫曼熵解码和DCT逆变换,以得到该JPEG图像的RGB数据,因此,导致电子设备的图像解码效率较低。
发明内容
本申请实施例的目的是提供一种图像解码方法、装置、电子设备及可读存储介质,能够解决电子设备的图像解码效率较低的问题。
第一方面,本申请实施例提供了一种图像解码方法,该方法包括:电子设备根据CPU核的数量和/或负载情况确定N的值,N为大于1的整数;电子设备根据N以及目标图像对应的编码比特流,得到N个编码比特序列;电子设备通过N个解码线程对N个编码比特序列进行解码;其中,一个解码线程对应一个编码比特序列。
第二方面,本申请实施例提供了一种图像解码装置,该图像解码装置包括:处理模块,用于根据CPU核的数量和/或负载情况确定N的值,N为大于1的整数;并根据N以及目标图像对应的编码比特流,得到N个编码比特序列;以及,通过N个解码线程对N个编码比特序列进行解码。其中,一个解码线程对应一个编码比特序列。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法的步骤。
第六方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所述的方法的步骤。
在本申请实施例中,电子设备可以根据CPU核的数量和CPU核的负载情况中的至少一个,确定N的值,N为大于1的整数,并根据N以及目标图像对应的编码比特流,得到N个编码比特序列,从而电子设备可以通过N个解码线程对N个编码比特序列进行解码。由于电子设备是根据CPU核的数量和CPU核的负载情况中的至少一个,确定N的值的,即N的值是与CPU核的数量和/或CPU核的负载情况相关的,这样,可以避免CPU过载导致的电子设备需要较长时间才能对图像进行解码。且由于通过N个解码线程对N个编码比特序列进行解码,因此可以缩短对图像进行解码的时间。综上,提升了电子设备的图像解码效率。
附图说明
图1是本申请实施例提供的图像解码方法的流程示意图之一;
图2是本申请实施例提供的图像解码方法的流程示意图之二;
图3是本申请实施例提供的图像解码方法的流程示意图之三;
图4是本申请实施例提供的图像解码方法的流程示意图之四;
图5a是电子设备在电子设备的内存的存储空间中存储解码数据的示意图之一;
图5b是电子设备在电子设备的内存的存储空间中存储解码数据的示意图之二;
图6是电子设备在电子设备的内存的存储空间中存储解码数据的示意图之三;
图7是本申请实施例提供的图像解码方法的流程示意图之五;
图8是本申请实施例提供的图像解码装置的结构示意图;
图9是本申请实施例提供的电子设备的硬件结构示意图之一;
图10是本申请实施例提供的电子设备的硬件结构示意图之二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
以下将对本申请实施例涉及的术语进行说明。
1、异构计算单元
通常,不同于CPU的计算单元,例如数字信号处理器(Digital Signal Processor,DSP)、神经网络处理器(Neural-NetworkProcessingUnit,NPU)、图形处理器(GraphicsProcessingUnit,GPU)、视频处理单元(Video Processing Unit,VPU)等计算单元都属于异构计算单元。
该异构计算单元的主频小于电子设备的CPU的主频,即该异构计算单元的运算能力小于电子设备的计算能力,且该异构计算单元进行运算的功耗小于电子设备通过CPU进行运算的功耗。
2、其他术语
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的图像解码方法、装置、电子设备及可读存储介质进行详细地说明。
本申请实施例提供的图像解码方法应用于图像解码的场景中。
本申请实施例提供的图像解码方法,执行主体可以为图像解码装置,或者电子设备,或者电子设备中的功能模块或实体。本申请实施例中以电子设备执行图像解码方法为例,说明本申请实施例提供的图像解码方法。
图1示出了本申请实施例提供的一种图像解码方法的流程示意图。如图1所示,本申请实施例提供的一种图像解码方法可以包括下述的步骤101至步骤103。
步骤101、电子设备根据CPU核的数量和/或负载情况确定N的值。
本申请实施例中,N为大于1的整数。
在本申请的一些实施例中,在电子设备获取到目标图像的情况下,电子设备可以根据用户对目标图像的缩略图的点击输入,根据CPU核的数量和/或负载情况确定N的值。
在本申请的一些实施例中,上述目标图像可以为以下任一项:JPEG图像、可移植的网络图像(Portable Network Graphic,PNG)图像、图像交互格式(Graphics InterchangeFormat,GIF)图像、WEBP图像、AVIF图像等。
在本申请的一些实施例中,上述目标图像可以为目标视频中的一帧图像,该目标视频可以为以下任一项:动态图像专家组(Moving Pictures Experts Group,Mpeg)4视频、H.264/265视频、VP8/9视频等。
在本申请的一些实施例中,电子设备可以从服务器下载得到目标图像,或电子设备可以通过电子设备的摄像头拍摄得到目标图像。
本申请实施例中,上述N可以是指示对目标图像进行解码所需的解码线程的数量。
在本申请的一些实施例中,电子设备可以根据CPU中的第一CPU核的数量,确定N的值;和/或,电子设备可以根据CPU中的各个第一CPU核的负载情况,确定N的值。其中,第一CPU核具体可以为:CPU包括的CPU核中的运行频率最高的CPU核,或CPU包括的CPU核中的运行频率次高的CPU核,或CPU包括的CPU核中的运行频率较低的CPU核。第一CPU核还可以是CPU包括的CPU核的各种组合。
示例性地,假设电子设备的CPU包括多个CPU核,该多个CPU核中包括超大CPU核、大CPU核、小CPU核,该超大CPU核的运行频率为多个CPU核中的运行频率最高的CPU核,该大CPU核为多个CPU核中的运行频率次高的CPU核,该小CPU核为多个CPU核中的运行频率最低的CPU核,从而电子设备可以根据第一CPU核(例如超大CPU核)的数量和/或负载情况确定N的值,或,电子设备可以根据第一CPU核(例如大CPU核)的数量和/或负载情况确定N的值,或,电子设备可以根据第一CPU核(例如超大CPU核和大CPU核)的数量和/或负载情况确定N的值等等。
可选地,在电子设备根据CPU核的数量确定N的值的情况下,电子设备可以直接将第一CPU核的数量确定为N的值。
示例性地,假设电子设备的CPU包括多个CPU核,该多个CPU核中包括1个超大CPU核、3个大CPU核、4个小CPU核,第一CPU核为大CPU核,则电子设备可以直接将大CPU核的数量3,确定为N的值,即N=3。
可选地,在电子设备根据CPU核的负载情况确定N的值的情况下,电子设备可以先获取每个第一CPU核的占用率,然后再确定占用率小于预设占用率的第一CPU核的数量,并将该数量确定为N的值。
示例性地,假设电子设备的CPU包括多个CPU核,该多个CPU核中包括1个超大CPU核、3个大CPU核、4个小CPU核,第一CPU核为大CPU核,预设占用率为70%,则电子设备可以先获取每个第一CPU核的占用率,例如,大CPU核1的占用率为40%,大CPU核2的占用率为50%,大CPU核3的占用率为80%,然后再确定占用率小于预设占用率(即70%)的第一CPU核的数量,即大CPU核1和大CPU核2的数量,也即2,并将该数量2确定为N的值,即N=2。
步骤102、电子设备根据N以及目标图像对应的编码比特流,得到N个编码比特序列。
在本申请的一些实施例中,电子设备可以根据N对目标图像对应的编码比特流进行分块处理,得到N个图像块对应的N个编码比特序列。
可以理解,每个编码比特序列分别为一个图像块对应的编码比特序列。
下面将举例说明电子设备根据N对目标图像对应的编码比特流进行分块处理的具体方案:
在本申请的一些实施例中,结合图1,如图2所示,上述步骤102具体可以通过下述的步骤102a实现。
步骤102a、电子设备对目标图像对应的编码比特流进行扫描,得到N-1个编码比特序列,结束扫描,根据编码比特流中未被扫描到的比特得到第N个编码比特序列。
在本申请的一些实施例中,电子设备可以先对编码比特流进行扫描,以确定第一个图像块对应的第一个编码比特序列,再对编码比特流进行扫描,以确定第二个图像块对应的第二个编码比特序列,以此类推,直至确定第N-1个图像块对应的第N-1个编码比特序列,以得到N-1个编码比特序列。
在本申请的一些实施例中,在得到N-1个编码比特序列之后,电子设备可以将编码比特流中除N-1个编码比特序列外的编码比特序列,确定为第N个编码比特序列,从而可以得到N个编码比特序列。
如此可知,由于电子设备仅需要扫描得到N-1编码比特序列(即部分编码比特序列),便可以结束扫描,并得到第N个编码比特序列(即剩余编码比特序列),而无需扫描得到N个编码比特序列(即全部编码比特序列)才结束扫描,因此,可以减少电子设备对编码比特流进行扫描的耗时,从而电子设备无需等待较长时间,便可以通过N个解码线程对N个编码比特序列进行解码,如此,可以提高电子设备的图像解码效率。
下面将举例说明电子设备对编码比特流进行扫描,以得到N-1个编码比特序列的具体方案:
在本申请的一些实施例中,结合图2,如图3所示,上述步骤102a具体可以通过下述的步骤102a1实现。
步骤102a1、电子设备根据哈夫曼编码特性,确定目标图像对应的编码比特流中宏块的直流DC系数对应的数据长度信息、宏块的交流AC系数对应的数据长度信息,得到N-1个编码比特序列,结束扫描,根据编码比特流中未被扫描到的比特得到第N个编码比特序列。
宏块可以是目标图像的像素块,其中,该宏块可以为4×4宏块(即由相邻的4行像素和4列像素组成的像素块),或8×8宏块(即由相邻的8行像素和8列像素组成的像素块)。可以理解,目标图像可以对应多个宏块。
其中,上述N个图像块中的每个图像块可以包括多个宏块。需要说明的是,上述“多个宏块”可以理解为至少两个宏块。
可选地,上述宏块具体可以为8×8宏块。
下面将举例说明电子设备根据哈夫曼编码特性,确定目标图像对应的编码比特流中宏块的直流DC系数对应的数据长度信息、宏块的交流AC系数对应的数据长度信息的具体方案:
在本申请的一些实施例中,上述步骤102a1具体可以通过下述的步骤102a1a至步骤102a1c实现。
步骤102a1a、电子设备对编码比特流进行扫描,得到至少一个第一数据长度信息。
本申请实施例中,上述至少一个第一数据长度信息中的每个第一数据长度信息用于指示目标图像的一个宏块对应的编码长度。
可以理解,至少一个第一数据长度信息的数量,等于目标图像中的宏块的数量。
在本申请的一些实施例中,每个第一数据长度信息可以包括:一个宏块的DC系数对应的数据长度信息和一个宏块的AC系数对应的数据长度信息。
在本申请的一些实施例中,针对至少一个第一数据长度信息中的每个第一数据长度信息,电子设备可以逐一读取编码比特流中的编码比特值,并根据电子设备已读取的全部编码比特值,确定一个第一数据长度信息,从而可以确定至少一个第一数据长度信息。
可以理解,在确定至少一个第一数据长度信息的过程中,电子设备可以按顺序读取编码比特流中的编码比特值,而不会对每个编码比特值进行完整解码。
以下将以电子设备确定任一个数据长度信息为例,举例说明确定至少一个第一数据长度信息的具体方案:
在本申请的一些实施例中,上述步骤102a1a具体可以通过下述的步骤102a1a1至步骤102a1a4实现。
步骤102a1a1、电子设备从编码比特流中每次获取R个编码比特值。
本申请实施例中,R为正整数。
在本申请的一些实施例中,R具体可以为1。
可以理解,电子设备可以从编码比特流中每次获取1个编码比特值。
步骤102a1a2、电子设备确定第一哈夫曼表中是否存在与电子设备已获取的全部编码比特值匹配的比特值。
本申请实施例中,上述第一哈夫曼表为目标图像对应的哈夫曼表。
在本申请的一些实施例中,上述第一哈夫曼表可以为目标图像的文件头Header中包括的哈夫曼表。
本申请实施例中,上述电子设备以获取的全部编码比特值可以理解为:电子设备本次从编码比特流中获取的编码比特值,和电子设备之前从编码比特流中获取的编码比特值。
示例性地,假设电子设备本次从编码比特流中获取的编码比特值为0,电子设备之前从编码比特流中获取的编码比特值为1,0,1,则电子设备已获取的全部编码比特值为1010。
在本申请的一些实施例中,在第一哈夫曼表中包括至少一个比特值,从而电子设备可以确定该至少一个比特值中是否存在与电子设备已获取的全部编码比特值完全相同的比特值,以确定第一哈夫曼表中是否存在与电子设备已获取的全部编码比特值匹配的比特值。
步骤102a1a3、在第一哈夫曼表中存在与电子设备已获取的全部编码比特值匹配的比特值的情况下,电子设备确定第一哈夫曼表中与比特值对应的一个第三数据长度信息。
在本申请的一些实施例中,在第一哈夫曼表中的上述至少一个比特值中的每个比特值分别对应一个长度信息,从而在第一哈夫曼表中存在与电子设备已获取的全部编码比特值匹配的比特值的情况下,电子设备可以将与电子设备已获取的全部编码比特值匹配的比特值对应的一个长度信息,确定为一个第三数据长度信息。
在本申请的一些实施例中,在第一哈夫曼表中不存在与电子设备已获取的全部编码比特值匹配的比特值的情况下,电子设备可以再次执行上述的步骤102a1a1和步骤102a1a2,直至第一哈夫曼表中存在与电子设备已获取的全部编码比特值匹配的比特值。
步骤102a1a4、电子设备根据R和一个第三数据长度信息,确定一个第一数据长度信息。
在本申请的一些实施例中,电子设备可以将R的数值和一个第三数据长度信息指示的编码长度之和,确定为目标图像的一个宏块对应的编码长度,从而将指示该编码长度的数据长度信息,确定为一个第一数据长度信息。
在本申请的一些实施例中,在确定一个第一数据长度信息之后,电子设备还可以根据该一个第一数据长度信息中的DC系数对应的数据长度信息执行解码动作,以得到该一个第一数据长度信息对应的DC系数,从而在后续步骤中,电子设备可以基于该一个第一数据长度信息对应的DC系数,确定该一个第一数据长度信息的下一个数据长度信息对应的DC系数。
并且,在确定一个第一数据长度信息之后,电子设备并不需要根据该一个第一数据长度信息中的AC系数对应的数据长度信息执行解码动作,从而可以快速地得到N个编码比特序列。
如此可知,由于电子设备可以每次从编码比特流中获取R个编码比特值,并确定第一哈夫曼表中是否存在与电子设备已获取的全部编码比特值匹配的比特值,这样在第一哈夫曼表中存在与电子设备已获取的全部编码比特值匹配的比特值的情况下,电子设备可以基于该第一哈夫曼表中与比特值对应的一个第三数据长度信息,准确地确定目标图像的一个宏块对应的编码长度,而无需对目标图像的一个宏块对应的每个编码数据进行完整解码,因此,可以减少确定目标图像的一个宏块对应的编码长度的耗时,从而电子设备无需等待较长时间,便可以通过N个解码线程对N个编码比特序列进行解码,如此,可以提高电子设备的图像解码效率。
步骤102a1b、电子设备根据N、目标图像的尺寸信息以及至少一个第一数据长度信息,确定N-1个第二数据长度信息。
本申请实施例中,上述N-1个第二数据长度信息中的每个第二数据长度信息用于指示一个编码比特序列的编码长度。
可以理解,每个第二数据长度信息用于指示目标图像的一个图像块对应的一个编码比特序列的编码长度。
在本申请的一些实施例中,电子设备可以先根据目标图像的尺寸信息,确定上述N个图像块中的每个图像块的尺寸信息,然后再根据每个图像块的尺寸信息和至少一个第一数据长度信息,确定每个图像块包括的第一数据长度信息的数量,从而电子设备可以根据每个图像块包括的第一数据长度信息的数量和每个第一数据长度信息,确定每个第二数据长度信息。
步骤102a1c、电子设备根据编码比特流和N-1个第二数据长度信息,确定N-1个编码比特序列。
在本申请的一些实施例中,电子设备可以先根据第一个第二数据长度信息指示的编码长度,从编码比特流中确定与该编码长度对应的编码比特,以确定第一个编码比特序列的位置信息,以确定第一个编码比特序列,然后再根据第二个第二数据长度信息指示的编码长度,从编码比特流中确定与该编码长度对应的编码比特,以确定第二个编码比特序列的位置信息,以确定第二个编码比特序列,以此类推,直至确定第N-1个编码比特序列。
如此可知,由于电子设备可以先对编码比特流进行扫描,得到指示目标图像的至少一个宏块对应的编码长度的至少一个第一数据长度信息,以确定至少一个宏块对应的编码长度,再根据N、目标图像的尺寸信息以及至少一个第一数据长度信息,确定指示目标图像的N-1个图像块对应的编码长度的N-1个第二数据长度信息,以确定N-1个图像块对应的编码长度,从而电子设备可以根据N-1个图像块对应的编码长度,从编码比特流中确定出每个图像块对应的每个编码比特序列,而无需电子设备对编码比特流中的每个编码比特值进行完整解码,因此,可以减少确定目标图像的N个图像块对应的N个编码比特序列的耗时,从而电子设备无需等待较长时间,便可以通过N个解码线程对N个编码比特序列进行解码,如此,可以提高电子设备的图像解码效率。
具体地,在针对N为2、目标图像为640x1440的图像进行解码的过程中,在相关技术中完整的哈夫曼解码耗时2000usec。而采用本申请实施例提供的图像解码方法,电子设备可以先确定1个第二数据长度信息,该1个数据长度信息用于指示1个图像块对应的1个编码比特序列的长度,耗时500usce,再通过2个CPU核开启两个解码线程,做2个编码比特序列的哈夫曼熵解码,耗时为1000usec,总共耗时1500usec,即采用本申请实施例提供的图像解码方法,在对目标图像进行哈夫曼解码的过程中,电子设备的解码速度相较于相关技术中的解码速度提升25%。
步骤103、电子设备通过N个解码线程对N个编码比特序列进行解码。
本申请实施例中,针对N个解码线程中的每个解码线程,一个解码线程对应一个编码比特序列。
在本申请的一些实施例中,电子设备可以先通过N-1个第一CPU核分别创建N-1个解码线程,并通过第二CPU核将第一线程作为1个解码线程,从而得到N个解码线程,然后再通过N个解码线程对N个编码比特序列进行解码。
其中,上述第一线程为执行上述步骤101和步骤102的线程,上述第二CPU核为电子设备的CPU中,运行第一线程的CPU核。
在本申请的一些实施例中,电子设备可以通过N个解码线程对N个编码比特序列进行并行解码,或串行解码。
在本申请的一些实施例中,电子设备可以通过每个解码线程分别对一个编码比特序列进行哈夫曼熵解码。
需要说明的是,针对哈夫曼熵解码的说明,可以参考相关技术中的具体描述,本申请实施例在此不予赘述。
本申请实施例提供一种图像解码方法,电子设备可以根据CPU核的数量和CPU核的负载情况中的至少一个,确定N的值,N为大于1的整数,并根据N以及目标图像对应的编码比特流,得到N个编码比特序列,从而电子设备可以通过N个解码线程对N个编码比特序列进行解码。由于电子设备是根据CPU核的数量和CPU核的负载情况中的至少一个,确定N的值的,即N的值是与CPU核的数量和/或CPU核的负载情况相关的,这样,可以避免CPU过载导致的电子设备需要较长时间才能对图像进行解码。且由于通过N个解码线程对N个编码比特序列进行解码,因此可以缩短对图像进行解码的时间。综上,提升了电子设备的图像解码效率。
在本申请的一些实施例中,在电子设备通过N个解码线程对N个编码比特序列进行解码之后,电子设备还可以调整解码得到的解码数据在内存中的位置,并将调整后的解码数据传输至异构计算单元(例如数字信号处理(Digital Signal Process,DSP)模块)的寄存器,其中,该寄存器的数量可以为多个(例如30个),该寄存器的数量可以与调整后的解码数据包括的宏块(例如下述实施例中的第二宏块)包括的解码数据的行数或列数相关,以使得该寄存器可以对该解码数据进行反DCT,从而得到目标图像的YUV数据,下面将举例说明。
在本申请的一些实施例中,结合图1,如图4所示,上述步骤103具体可以通过下述的步骤103a实现,且在上述步骤103a之后,本申请实施例提供的图像解码方法还可以包括下述的步骤201和步骤202。
步骤103a、电子设备通过N个解码线程对N个编码比特序列进行解码,得到第一解码数据。
本申请实施例中,上述第一解码数据包括M个第一宏块的解码数据,上述目标图像对应M个第一宏块,M为大于1的整数。
在本申请的一些实施例中,上述N个图像块中包括M个第一宏块,每个图像块中包括至少两个第一宏块。
在本申请的一些实施例中,在得到第一解码数据之后,电子设备可以将第一解码数据存储至内存中。其中,在将第一解码数据存储至内存中之后,每个第一宏块的解码数据在内存中连续,也即第一宏块的不同行解码数据在内存中连续。
举例说明,假设M=8,M个第一宏块中的每个第一宏块为8×8宏块,则在电子设备通过N个解码线程对N个编码比特序列进行解码之后,可以得到第一解码数据(即8组解码数据),每组解码数据中包括64个解码数据,如图5a所示,此时,电子设备可以将M个第一宏块中的第一个第一宏块(例如宏块A)中的64个解码数据(例如A0~A63)存储于电子设备的内存中的同一行存储空间中,例如电子设备可以将A0~A63存储于电子设备的内存中的第一行存储空间10中,如图5b所示,然后电子设备可以将M个第一宏块中的第二个第一宏块(例如宏块B)中的64个解码数据(例如B0~B63)存储于电子设备的内存中的同一行存储空间中,例如电子设备可以将B0~B63存储于电子设备的内存中的第二行存储空间11中,以此类推,直至将M个第一宏块中的最后一个第一宏块(例如宏块H)中的64个解码数据(例如H0~H63)存储于电子设备的内存中的同一行存储空间中,例如电子设备可以将H0~H63存储于电子设备的内存中的第H行存储空间12中。
需要说明的是,在图5a和图5b中,每个第一宏块的解码数据位于内存中的同一行存储空间中,用于示意每个第一宏块的解码数据在内存中是连续的,并不限定要将存储空间划分成行。
步骤201、电子设备调整M个第一宏块的解码数据在内存中的位置,得到第二解码数据。
本申请实施例中,上述第二解码数据包括M个第二宏块的解码数据;其中,调整位置后,第一宏块的不同行解码数据在内存中不连续,相邻第一宏块的同一行解码数据在内存中连续。
在本申请的一些实施例中,M个第二宏块中的每个第二宏块包括M个第一宏块的一行解码数据。
在本申请的一些实施例中,电子设备可以通过CPU核调整M个第一宏块的解码数据在内存中的位置,得到第二解码数据。
可以理解,由于CPU核的主频高于DSP的各个寄存器的主频,这样通过CPU核调整M个第一宏块的解码数据在内存中的位置的耗时,是短于通过各个寄存器调整M个第一宏块的解码数据在内存中的位置的耗时的,因此,电子设备可以通过CPU核,快速地调整M个第一宏块的解码数据在内存中的位置。
举例说明,结合上述示例,结合图5b,如图6所示,电子设备可以通过CPU核,先将8组解码数据包括的第一行解码数据,存储在电子设备的内存中的第一行存储空间13中,即将A0~A7、B0~B7、C0~C7、…、H0~H7等的64个解码数据,存储在电子设备的内存中的第一行存储空间13中,并将8组解码数据包括的第二行解码数据,存储在电子设备的内存中的第二行存储空间14中,即将A8~A15、B8~B15、C8~C15、…、H8~H15等的64个解码数据,存储在电子设备的内存中的第二行存储空间14中,以此类推,直至将8组解码数据包括的第八行解码数据,存储在电子设备的内存中的第八行存储空间15中,即将A56~A63、B56~B63、C56~C63、…、H56~H63等的64个解码数据,存储在电子设备的内存中的第八行存储空间15中,从而可以得到八组解码数据,即得到第二解码数据。
需要说明的是,在图6中,是以第一宏块的不同行解码数据位于内存中的不同行存储空间中,且相邻第一宏块的同一行解码数据位于内存中的同一行存储空间中,来示意第一宏块的不同行解码数据在内存中不连接,且相邻第一宏块的同一行解码数据在内存中连续的,在实际应用中,内存中可以不包括任一行存储空间,也即不需要把内存划分成多行存储空间。
本申请实施例中,由于寄存器进行反DCT需要使用宏块的数据进行计算,这样将解码数据输入至DSP的多个寄存器之后,一个宏块的数据在同一个寄存器中,DCT计算需要获取行的数据并跟其他行进行数学运算,宏块数据如果在同一个寄存器中,需要使用比较复杂的位移和异或操作来获取数据并计算,过程复杂度高且效率低。因此,在本申请实施例中,电子设备在得到M个第一宏块的解码数据(即第一解码数据)的情况下,可以先通过CPU,调整M个第一宏块的解码数据在内存中的位置,得到M个第二宏块的解码数据(即第二解码数据),其中,调整位置后,该第一宏块的不同行解码数据在内存中不连续,相邻第一宏块的同一行解码数据在内存中连续,从而电子设备可以将第二解码数据传输至DSP的多个寄存器中,以使得各个寄存器可以直接使用第二解码数据进行反DCT,以生成目标图像的YUV数据。
在本申请的一些实施例中,结合图4,如图7所示,上述步骤201具体可以通过下述的步骤201a实现。
步骤201a、电子设备每次调整L个第一宏块的解码数据在内存中的位置,通过P次调整,得到第二解码数据。
本申请实施例中,M等于L乘以P;L根据寄存器的位宽,一个解码数据的长度和宏块一行数据数量确定。
在本申请的一些实施例中,L是根据第一数值和宏块一行数据数量之商确定的,该第一数值为寄存器的位宽和一个解码长度之商。
示例性地,假设M个第一宏块的数量M为8,第一宏块为8×8宏块,寄存器的位宽为1024比特bit,一个解码数据的长度为16bit,宏块每行数据数量为8,则L=1024/16/8=8,P=8/8=1,即电子设备每次调整8个第一宏块的解码数据在内存中的位置,通过1次调整,便可以得到第二解码数据。
如此可知,由于电子设备可以基于寄存器的位宽,一个解码数据的长度和宏块一行数据数量,确定每次调整的第一宏块的数量,这样调整得到的第二解码数据是与寄存器的位宽是匹配的,因此,在后续步骤中,多个寄存器可以直接使用第二解码数据进行反DCT,以得到目标图像的解码数据,而无需再次调整,因此,可以减少得到该目标图像的解码数据的耗时,即可以提高电子设备的图像解码效率。
步骤202、电子设备将第二解码数据传输至DSP寄存器。
在本申请的一些实施例中,上述寄存器的数量可以与第二宏块包括的解码数据的行数匹配。例如,在第二宏块为8×8宏块的情况下,电子设备可以将第二解码数据传输至DSP的8个寄存器中。
在本申请的一些实施例中,在第二解码数据传输至DSP寄存器之后,寄存器可以对第二解码数据进行反DCT操作,以得到目标图像的图像数据,从而电子设备可以基于该图像数据显示目标图像。
可选地,在寄存器对第二解码数据进行反DCT操作之后,电子设备可以得到该目标图像的YUV数据,从而电子设备可以继续通过异构计算单元DSP对该YUV数据进行色彩空间转换操作,从而电子设备可以得到该目标图像的红绿蓝(Red Green Blue,RGB)数据,并根据该目标图像的RGB数据显示该目标图像。
本申请实施例中,由于寄存器在对解码数据进行反DCT操作时,是需要使用到不同宏块的同一行解码数据的,因此,在本申请实施例中,电子设备可以调整M个第一宏块的解码数据在内存中的位置,得到第二解码数据,其中,调整位置后,相邻第一宏块的同一行解码数据在内存中连续,从而在将第二解码数据传输至DSP寄存器之后,寄存器可以直接使用第二解码数据进行反DCT运算,而无需寄存器执行多次操作,以调整M个第一宏块的解码数据在寄存器的内存中的位置,如此,可以减少得到该目标图像的解码数据的耗时,即可以提高电子设备的图像解码效率。
如此可知,由于在得到第一解码数据之后,电子设备可以调整M个第一宏块的解码数据在内存中的位置,得到M个第二宏块的解码数据(即第二解码数据),这样电子设备可以将该M个第二宏块的解码数据传输至DSP寄存器中,以通过功耗较低的DSP对M个第二宏块的解码数据执行后续的解码动作,而无需通过功耗较高的CPU核对M个第二宏块的解码数据执行后续的解码动作,因此,可以降低电子设备的图像解码的功耗。此外,由于DPS寄存器位宽大,由DSP完成DCT逆变换和色彩空间转换,能进一步提升电子设备的图像解码效率。
本申请实施例提供的图像解码方法,执行主体可以为图像解码装置。本申请实施例中以图像解码装置执行图像解码方法为例,说明本申请实施例提供图像解码装置的。
图8示出了本申请实施例中涉及的图像解码装置的一种可能的结构示意图。如图8所示,该图像解码装置50可以包括:处理模块51,用于根据CPU核的数量和/或负载情况确定N的值,N为大于1的整数;并根据N以及目标图像对应的编码比特流,得到N个编码比特序列;以及,通过N个解码线程对N个编码比特序列进行解码;其中,一个解码线程对应一个编码比特序列。
本申请实施例提供一种图像解码装置,由于图像解码装置是根据CPU核的数量和CPU核的负载情况中的至少一个,确定N的值的,即N的值是与CPU核的数量和/或CPU核的负载情况相关的,这样,可以避免CPU过载导致的图像解码装置需要较长时间才能对图像进行解码。且由于通过N个解码线程对N个编码比特序列进行解码,因此可以缩短对图像进行解码的时间。综上,提升了图像解码装置的图像解码效率。
在一种可能的实现方式中,上述处理模块51,具体用于对目标图像对应的编码比特流进行扫描,得到N-1个编码比特序列,结束扫描,根据编码比特流中未被扫描到的比特得到第N个编码比特序列。
在一种可能的实现方式中,上述处理模块51,具体用于根据哈夫曼编码特性,确定目标图像对应的编码比特流中宏块的DC系数对应的数据长度信息、宏块的AC系数对应的数据长度信息。
在一种可能的实现方式中,上述处理模块51,具体用于通过N个解码线程对N个编码比特序列进行解码,得到第一解码数据,该第一解码数据包括M个第一宏块的解码数据,该目标图像对应M个第一宏块;并在通过N个解码线程对N个编码比特序列进行解码,得到第一解码数据之后,调整M个第一宏块的解码数据在内存中的位置,得到第二解码数据,该第二解码数据包括M个第二宏块的解码数据;其中,调整位置后,该第一宏块的不同行解码数据在内存中不连续,相邻第一宏块的同一行解码数据在内存中连续,M为大于1的整数;以及,将第二解码数据传输至DSP寄存器。
在一种可能的实现方式中,上述处理模块51,具体用于每次调整L个第一宏块的解码数据在内存中的位置,通过P次调整,得到第二解码数据;其中,M等于L乘以P;L根据寄存器的位宽,一个解码数据的长度和宏块一行数据数量确定,L、P均为正整数。
本申请实施例中的图像解码装置可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性地,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(mobile internetdevice,MID)、增强现实(augmentedreality,AR)/虚拟现实(virtualreality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(network attached storage,NAS)、个人计算机(personalcomputer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的图像解码装置可以为具有操作***的装置。该操作***可以为安卓(Android)操作***,可以为iOS操作***,还可以为其他可能的操作***,本申请实施例不作具体限定。
本申请实施例提供的图像解码装置能够实现图1至图7的方法实施例实现的各个过程,为避免重复,这里不再赘述。
在本申请的一些实施例中,如图9所示,本申请实施例还提供一种电子设备60,包括处理器61和存储器62,存储器62上存储有可在所述处理器61上运行的程序或指令,该程序或指令被处理器61执行时实现上述图像解码方法实施例的各个过程步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述的移动电子设备和非移动电子设备。
图10为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备100包括但不限于:射频单元101、网络模块102、音频输出单元103、输入单元104、传感器105、显示单元106、用户输入单元107、接口单元108、存储器109、以及处理器110等部件。
本领域技术人员可以理解,电子设备100还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理***与处理器110逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。图10中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,处理器110,用于根据CPU核的数量和/或负载情况确定N的值,N为大于1的整数;并根据N以及目标图像对应的编码比特流,得到N个编码比特序列;以及,通过N个解码线程对N个编码比特序列进行解码。
其中,一个解码线程对应一个编码比特序列。
本申请实施例提供一种电子设备,由于电子设备是根据CPU核的数量和CPU核的负载情况中的至少一个,确定N的值的,即N的值是与CPU核的数量和/或CPU核的负载情况相关的,这样,可以避免CPU过载导致的电子设备需要较长时间才能对图像进行解码。且由于通过N个解码线程对N个编码比特序列进行解码,因此可以缩短对图像进行解码的时间。综上,提升了电子设备的图像解码效率。
在本申请的一些实施例中,处理器110,具体用于对目标图像对应的编码比特流进行扫描,得到N-1个编码比特序列,结束扫描,根据编码比特流中未被扫描到的比特得到第N个编码比特序列。
在本申请的一些实施例中,处理器110,具体用于根据哈夫曼编码特性,确定目标图像对应的编码比特流中宏块的DC系数对应的数据长度信息、宏块的AC系数对应的数据长度信息。
在本申请的一些实施例中,处理器110,具体用于通过N个解码线程对N个编码比特序列进行解码,得到第一解码数据,该第一解码数据包括M个第一宏块的解码数据,该目标图像对应M个第一宏块。
处理器110,还用于调整M个第一宏块的解码数据在内存中的位置,得到第二解码数据,该第二解码数据包括M个第二宏块的解码数据;其中,调整位置后,该第一宏块的不同行解码数据在内存中不连续,相邻第一宏块的同一行解码数据在内存中连续,M为大于1的整数;并将第二解码数据传输至DSP寄存器。
在本申请的一些实施例中,处理器110,具体用于每次调整L个第一宏块的解码数据在内存中的位置,通过P次调整,得到第二解码数据。
其中,M等于L乘以P;L根据寄存器的位宽,一个解码数据的长度和宏块一行数据数量确定,L、P均为正整数。
应理解的是,本申请实施例中,输入单元104可以包括图形处理器(graphicsprocessing unit,GPU)1041和麦克风1042,图形处理器1041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元106可包括显示面板1061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板1061。用户输入单元107包括触控面板1071以及其他输入设备1072中的至少一种。触控面板1071,也称为触摸屏。触控面板1071可包括触摸检测装置和触摸控制器两个部分。其他输入设备1072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
存储器109可用于存储软件程序以及各种数据。存储器109可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作***、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器109可以包括易失性存储器或非易失性存储器,或者,存储器109可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(doubledata rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DRRAM)。本申请实施例中的存储器109包括但不限于这些和任意其它适合类型的存储器。
处理器110可包括一个或多个处理单元;可选地,处理器110集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作***、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器110中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述图像解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述图像解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为***级芯片、***芯片、芯片***或片上***芯片等。
本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述图像解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (12)

1.一种图像解码方法,其特征在于,所述方法包括:
电子设备根据中央处理器CPU核的数量和/或负载情况确定N的值,N为大于1的整数;
所述电子设备根据N以及目标图像对应的编码比特流,得到N个编码比特序列;
所述电子设备通过N个解码线程对N个所述编码比特序列进行解码;
其中,一个所述解码线程对应一个所述编码比特序列。
2.根据权利要求1所述的方法,其特征在于,所述电子设备根据N以及目标图像对应的编码比特流,得到N个编码比特序列,包括:
所述电子设备对所述目标图像对应的编码比特流进行扫描,得到N-1个编码比特序列,结束扫描,根据所述编码比特流中未被扫描到的比特得到第N个编码比特序列。
3.根据权利要求2所述的方法,其特征在于,所述电子设备对所述目标图像对应的编码比特流进行扫描,包括:
所述电子设备根据哈夫曼编码特性,确定所述目标图像对应的编码比特流中宏块的DC系数对应的数据长度信息、宏块的AC系数对应的数据长度信息。
4.根据权利要求1所述的方法,其特征在于,所述电子设备通过N个解码线程对N个所述编码比特序列进行解码,包括:
所述电子设备通过N个所述解码线程对N个所述编码比特序列进行解码,得到第一解码数据,所述第一解码数据包括M个第一宏块的解码数据,所述目标图像对应M个第一宏块;
在所述通过N个解码线程对N个所述编码比特序列进行解码,得到第一解码数据之后,所述方法还包括:
所述电子设备调整所述M个第一宏块的解码数据在内存中的位置,得到第二解码数据,所述第二解码数据包括M个第二宏块的解码数据;其中,调整位置后,所述第一宏块的不同行解码数据在内存中不连续,相邻所述第一宏块的同一行解码数据在内存中连续,M为大于1的整数;
所述电子设备将所述第二解码数据传输至数字信号处理DSP寄存器。
5.根据权利要求4所述的方法,其特征在于,所述电子设备调整所述M个第一宏块的解码数据在内存中的位置,等到第二解码数据,包括:
所述电子设备每次调整L个第一宏块的解码数据在内存中的位置,通过P次调整,得到第二解码数据;
其中,M等于L乘以P;L根据所述寄存器的位宽,一个解码数据的长度和宏块一行数据数量确定,L、P均为正整数。
6.一种图像解码装置,其特征在于,所述图像解码装置包括:
处理模块,用于根据CPU核的数量和/或负载情况确定N的值,N为大于1的整数;并根据N以及目标图像对应的编码比特流,得到N个编码比特序列;以及,通过N个解码线程对N个所述编码比特序列进行解码;
其中,一个所述解码线程对应一个所述编码比特序列。
7.根据权利要求6所述的图像解码装置,其特征在于,所述处理模块,具体用于对所述目标图像对应的编码比特流进行扫描,得到N-1个编码比特序列,结束扫描,根据所述编码比特流中未被扫描到的比特得到第N个编码比特序列。
8.根据权利要求7所述的图像解码装置,其特征在于,所述处理模块,具体用于根据哈夫曼编码特性,确定所述目标图像对应的编码比特流中宏块的DC系数对应的数据长度信息、宏块的AC系数对应的数据长度信息。
9.根据权利要求6所述的图像解码装置,其特征在于,所述处理模块,具体用于通过N个所述解码线程对N个所述编码比特序列进行解码,得到第一解码数据,所述第一解码数据包括M个第一宏块的解码数据,所述目标图像对应M个第一宏块;并在通过N个所述解码线程对N个所述编码比特序列进行解码,得到所述第一解码数据之后,调整所述M个第一宏块的解码数据在内存中的位置,得到第二解码数据,所述第二解码数据包括M个第二宏块的解码数据;其中,调整位置后,所述第一宏块的不同行解码数据在内存中不连续,相邻所述第一宏块的同一行解码数据在内存中连续,M为大于1的整数;以及,将所述第二解码数据传输至DSP寄存器。
10.根据权利要求9所述的图像解码装置,其特征在于,所述处理模块,具体用于每次调整L个第一宏块的解码数据在内存中的位置,通过P次调整,得到第二解码数据;
其中,M等于L乘以P;L根据所述寄存器的位宽,一个解码数据的长度和宏块一行数据数量确定,L、P均为正整数。
11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至5中任一项所述的图像解码方法的步骤。
12.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至5中任一项所述的图像解码方法的步骤。
CN202410068877.8A 2024-01-17 2024-01-17 图像解码方法、装置、电子设备及可读存储介质 Pending CN117939161A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410068877.8A CN117939161A (zh) 2024-01-17 2024-01-17 图像解码方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410068877.8A CN117939161A (zh) 2024-01-17 2024-01-17 图像解码方法、装置、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN117939161A true CN117939161A (zh) 2024-04-26

Family

ID=90753147

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410068877.8A Pending CN117939161A (zh) 2024-01-17 2024-01-17 图像解码方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN117939161A (zh)

Similar Documents

Publication Publication Date Title
US8027385B2 (en) Efficient video coding
CN111614956B (zh) Dc系数符号代码化方案
JP2010515397A (ja) ビデオハードウェアにおける画像圧縮のためのアーキテクチャ
US8660191B2 (en) Software video decoder display buffer underflow prediction and recovery
JP2006512838A (ja) ダイナミック・グラフィック・コンテンツ・ビューの符号化
US8879629B2 (en) Method and system for intra-mode selection without using reconstructed data
JP3202433B2 (ja) 量子化装置、逆量子化装置及び画像処理装置並びに量子化方法、逆量子化方法及び画像処理方法
US20080043851A1 (en) Post-Inverse-Quantization AC Prediction with a Unified Variable-Length-Decoding and Inverse-Quantization Stage
JP2011234363A (ja) 画像処理システム及び方法
CN117939161A (zh) 图像解码方法、装置、电子设备及可读存储介质
JPH07143488A (ja) 画像データ復号化方法および装置
Okada et al. A single chip motion JPEG codec LSI
CN116320395A (zh) 图像处理方法、装置、电子设备及可读存储介质
US20070242749A1 (en) Image frame compression of video stream with fast random accessing and decompressing
JP3695451B2 (ja) 画像サイズの変更方法及装置
CN113794887A (zh) 一种游戏引擎中视频编码的方法及相关设备
US20090074054A1 (en) Resolution-converting apparatus, resolution-converting method and previewing apparatus
US20050286803A1 (en) Image processing apparatus, display device, image processing method, and image processing program
US8238415B2 (en) Method and system for programmable breakpoints in an integrated embedded image and video accelerator
CN112449187B (zh) 视频解码方法、编码方法、装置、介质及电子设备
CN114666600B (zh) 基于不规则模板的数据编码方法、装置、电子设备及介质
US20070192393A1 (en) Method and system for hardware and software shareable DCT/IDCT control interface
US8532418B2 (en) Image processing apparatus and image processing method
JP2003087798A (ja) 動画像圧縮装置及び方法
JP2001045493A (ja) 動画像符号化装置、動画像出力装置、及び記憶媒体

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