CN112835651B - Multipath image parallel decoding processing method - Google Patents

Multipath image parallel decoding processing method Download PDF

Info

Publication number
CN112835651B
CN112835651B CN202110359720.7A CN202110359720A CN112835651B CN 112835651 B CN112835651 B CN 112835651B CN 202110359720 A CN202110359720 A CN 202110359720A CN 112835651 B CN112835651 B CN 112835651B
Authority
CN
China
Prior art keywords
decoding
function
dynamic link
images
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110359720.7A
Other languages
Chinese (zh)
Other versions
CN112835651A (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.)
China Airborne Missile Academy
Original Assignee
China Airborne Missile Academy
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 China Airborne Missile Academy filed Critical China Airborne Missile Academy
Priority to CN202110359720.7A priority Critical patent/CN112835651B/en
Publication of CN112835651A publication Critical patent/CN112835651A/en
Application granted granted Critical
Publication of CN112835651B publication Critical patent/CN112835651B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

The application discloses a multi-path image parallel decoding processing method which is suitable for a scene of decoding multi-path images of a missile by using a C++ compiled program. The specific method comprises the following steps: a. copying n copies of the dynamic link library containing the decoding function through a main program to obtain n copied dynamic link libraries containing the decoding function, which are named as decoder 1.Dll, decoder 2.Dll, and decoder. Dll respectively, wherein n is equal to the number of paths of images to be decoded; b. when the main program needs to decode n paths of images, each path of images is delivered to a copied dynamic link library containing decoding functions for image decoding. The method reduces the software development cost and the software verification time, ensures the reliability of the software, is beneficial to multi-thread calling, improves the decoding efficiency, and can flexibly and rapidly expand the image decoding capability according to the requirement.

Description

Multipath image parallel decoding processing method
Technical Field
The application belongs to the technical field of missile image data processing, and particularly relates to a multipath image parallel decoding processing method.
Background
With the development of missile technologies such as image guidance, monitoring and evaluation, the transmission and telemetry of video image signals are more and more in missile development, test and application, video images are very necessary for analyzing abnormal states of a seeker of an image guided missile in the flying process, fault analysis and positioning of some missiles are easier than that of the conventional missile by means of existing telemetry data analysis, and video image information is relatively more visual.
However, the missile image data volume is huge, the telemetry wireless channel capacity is limited, the image is transmitted after being compressed, the image compression often comprises a plurality of algorithms with complex columns such as data transformation, coefficient coding, anti-interference coding and the like, and a windows platform at a receiving end needs to perform a corresponding series of inverse operations after receiving the compressed image to restore the image data.
In the initial stage, missile image data only has one path of data, researchers construct a whole image data receiving and decoding processing system by using C++ language, and along with the development of the requirements and technology of missile image data transmission, researchers start to transmit and receive multiple paths of missile image data, and when the transmission, the reception and the processing of the multiple paths of missile image data are carried out, the technical problem that the prior one path of data cannot be met is solved.
When the prior path of data is received and processed, the process of the main program of the whole system calls a dynamic link library containing a decoding module to decode the received image data, the decoding module contains a decoding function, the problems of a method and function multiplexing are solved, the code execution efficiency of the whole system is as high as possible, and the required storage space is as small as possible.
If the dynamic link library is directly modified, the decoding module needs to be rewritten, the difficulty is high, the verification period is long, the condition that the image road number is continuously changed is difficult to adapt, and it is not practical to rewrite the decoding module as long as the image road number is changed, and the workload, the working difficulty and the verification period are too large.
Disclosure of Invention
In order to solve the problems in the background technology, the application provides a multi-path image parallel decoding processing method.
A multi-path image parallel decoding processing method is suitable for a scene of decoding multi-path images of a missile by using a C++ compiled program,
a. copying n copies of the dynamic link library containing the decoding function through a main program to obtain n copied dynamic link libraries containing the decoding function, which are named as decoder 1.Dll, decoder 2.Dll, and decoder. Dll respectively, wherein n is equal to the number of paths of images to be decoded;
b. when the main program needs to decode n paths of images, each path of images is delivered to a copied dynamic link library containing decoding functions for image decoding.
Further, in step b, it is necessary to dynamically load a decoding 1.Dll, a decoding 2.Dll, and a decoding 2.Dll in the main program, and to define a function pointer type corresponding to the decoding function in the main program, and declare the type of the function pointer variable to be the function pointer type corresponding to the decoding function, and then to point the n function pointer variables to addresses of the decoding function in the n copied dynamic link libraries containing the decoding function, respectively, so as to implement image decoding by submitting each image to a copied dynamic link library containing the decoding function when n image decoding is performed.
Further, when dynamically loading n copied dynamic link libraries containing decoding functions, the LoadLibrary () function is used to finally realize the dynamic loading of n copied dynamic link libraries containing decoding functions. The n dynamic link libraries are mapped in different addresses without interference by dynamically loading the n copied dynamic link libraries containing decoding functions.
Further, defining the function pointer type corresponding to the decoding function in the main program means that the return value type, the required parameter type, and the number of required parameters of the function pointer type agree with the return value type, the required parameter type, and the number of required parameters of the decoding function.
Further, when n function pointer variables are respectively pointed to addresses of decoding functions in a dynamic link library containing decoding functions, which are n copies in total, the addresses of decoding functions in the dynamic link library are acquired using a GetProcAddress () function.
Compared with the prior art, the technical scheme disclosed by the application has the following beneficial effects:
1. the original dynamic link library which can only decode one path of image is not required to be modified, and the original dynamic link library is directly copied into a plurality of copies and is dynamically loaded in the main program, so that the main program maps the dynamic link libraries to different address spaces, the software development cost and the software verification time are reduced, and meanwhile, the reliability of the software is ensured.
2. And each path of image can be decoded in parallel only by adding a small amount of codes into the C++ compiled main program, the decoding operations of any path of image have no influence on the decoding of other paths of images, the multi-thread calling is facilitated, and the decoding efficiency is improved.
3. The image decoding capability can be flexibly and rapidly expanded according to the requirement.
Detailed Description
The following description of the embodiments of the present application is provided for the purpose of illustrating the application, but not for the purpose of limiting the same, and all technical solutions that can be simply replaced, combined and developed on the basis of the present application shall fall within the scope of protection of the present application.
Example 1
Taking two paths of images as an example, a multi-path image parallel decoding processing method is suitable for a scene of decoding multi-path images of a missile by using a C++ compiled program,
a. 2 copies of the dynamic link library containing the decoding function are copied by the main program to obtain 2 copied dynamic link libraries containing the decoding function, which are named as decoder 1.Dll and decoder 2.Dll respectively;
b. first, in the main program, a dynamic link library containing decoding functions is dynamically loaded with 2 copies of decoding 1.Dll and decoding 2.Dll by using LoadLibrary () functions:
HINSTANCE hIns1=::LoadLibrary(“decode1”);
HINSTANCE hIns2=::LoadLibrary(“decode2”);
next, a function pointer type corresponding to the decoding function, that is, a return value type of the function pointer type, a required parameter type, the number of required parameters, and the return value type of the decoding function, the required parameter type, the number of required parameters, are required to be defined in the main program:
assume that the decoding function type is:
intGetImage(unsigned char*pCh,intnSize);
then the corresponding function pointer type is:
typedef int (signed challenge) pCh, intnSize; i.e. a type of function pointer is defined and is defined as a pointer to a function whose parameters are unsigned char p ch, intnSize and return type int, which in this embodiment is matched to the decoding function, i.e. the pointer is pointing to the decoding function.
The type of function pointer variable is then declared to be the function pointer type corresponding to the decoding function:
pgetimagepfn 1, pFn2; essentially pFn, pFn are thus two function pointer variables, the type of which is the function pointer type corresponding to the decoding function.
The 2 function pointer variables are then respectively pointed to addresses of decoding functions in a total of 2 replicated dynamically linked libraries containing decoding functions, wherein the addresses of decoding functions in the dynamically linked libraries are obtained using the GetProcAddress () function:
pFn1=(PGetImage)GetProcAddress(hIns1,"GetImage");
pFn2=(PGetImage)GetProcAddress(hIns2,"GetImage");
when the main program needs to decode 2-way images, pFn1 and pFn2 are used to decode 2-way images in parallel.
When n paths of images need to be decoded, by analogy of the method of the embodiment, only enough dynamic link libraries are copied, the dynamic link libraries are dynamically loaded, and enough function pointer variables are given at the same time, so that the decoding of n paths of images can be finished simultaneously through multithreading.
The application is not described in detail in the prior art.

Claims (3)

1. The parallel decoding processing method of the multipath image is suitable for a scene of decoding the multipath image of the missile by using a C++ compiled program, and is characterized in that:
a. copying n copies of the dynamic link library containing the decoding function through a main program to obtain n copied dynamic link libraries containing the decoding function, which are named as decoder 1.Dll, decoder 2.Dll, and decoder. Dll respectively, wherein n is equal to the number of paths of images to be decoded;
b. when the main program needs to decode n paths of images, each path of images is delivered to a copied dynamic link library containing decoding functions for image decoding;
in step b, a dynamic link library containing decoding functions, which is composed of n copies, of decoding 1.Dll, decoding 2.Dll, and n copies is required to be dynamically loaded in a main program, a function pointer type corresponding to the decoding function is required to be defined in the main program, the type of a function pointer variable is stated to be the function pointer type corresponding to the decoding function, and then n function pointer variables are respectively pointed to addresses of the decoding functions in the n copies of the dynamic link library containing the decoding function, so that when n copies of images are decoded, each image is delivered to one copy of the dynamic link library containing the decoding function to be decoded;
when n function pointer variables are respectively pointed to addresses of decoding functions in a dynamic link library containing the decoding functions, which are copied in total, the addresses of the decoding functions in the dynamic link library are acquired by using a GetProcAddress () function.
2. The multi-path image parallel decoding processing method as claimed in claim 1, wherein: when dynamically loading n copied dynamic link libraries containing decoding functions, the LoadLibrary () function is used to finally realize the dynamic loading of n copied dynamic link libraries containing decoding functions.
3. The multi-path image parallel decoding processing method as claimed in claim 1, wherein: defining a function pointer type corresponding to a decoding function in a main program means that a return value type, a required parameter type, and the number of required parameters of the function pointer type agree with the return value type, the required parameter type, and the number of required parameters of the decoding function.
CN202110359720.7A 2021-04-01 2021-04-01 Multipath image parallel decoding processing method Active CN112835651B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110359720.7A CN112835651B (en) 2021-04-01 2021-04-01 Multipath image parallel decoding processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110359720.7A CN112835651B (en) 2021-04-01 2021-04-01 Multipath image parallel decoding processing method

Publications (2)

Publication Number Publication Date
CN112835651A CN112835651A (en) 2021-05-25
CN112835651B true CN112835651B (en) 2023-10-20

Family

ID=75930765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110359720.7A Active CN112835651B (en) 2021-04-01 2021-04-01 Multipath image parallel decoding processing method

Country Status (1)

Country Link
CN (1) CN112835651B (en)

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1630370A (en) * 2003-12-15 2005-06-22 联想(北京)有限公司 A method of coding and decoding for data compression
CN1972447A (en) * 2006-12-08 2007-05-30 清华大学 Multi-image player based on stream media technology and its playing method
CN101179715A (en) * 2006-11-30 2008-05-14 腾讯科技(深圳)有限公司 Method and system of implementing compressed encoding simultaneously to multipath video source
CN101783946A (en) * 2010-01-30 2010-07-21 青岛海信网络科技股份有限公司 Video decoding method, video decoder and video monitoring system
CN101834854A (en) * 2010-04-06 2010-09-15 北京交通大学 Video transmission system of mobile phone
CN101924666A (en) * 2010-07-22 2010-12-22 中兴通讯股份有限公司 Decoding realization method and system of signaling tracking
CN102098503A (en) * 2009-12-14 2011-06-15 中兴通讯股份有限公司 Method and device for decoding image in parallel by multi-core processor
CN102270158A (en) * 2011-08-10 2011-12-07 深圳市万兴软件有限公司 Application program multiprocess running method and device
CN104704828A (en) * 2012-10-03 2015-06-10 美国博通公司 Bounded rate near-lossless and lossless image compression
CN104980752A (en) * 2015-06-11 2015-10-14 武汉大千信息技术有限公司 Method for realizing multipath self-adaptive parallel transcoding through CPU and GPU and system thereof
CN105187117A (en) * 2015-08-12 2015-12-23 莱诺斯科技(北京)有限公司 Satellite telemetering decoding system
CN106878736A (en) * 2017-03-17 2017-06-20 郑州云海信息技术有限公司 A kind of method and apparatus of coding and decoding video
CN107592118A (en) * 2016-07-08 2018-01-16 华为技术有限公司 The coding/decoding method and device of Variable Length Code file
CN108322708A (en) * 2018-02-12 2018-07-24 福州大学 Real-time video transmission system and method based on multi-channel parallel transmission technology
CN108491261A (en) * 2018-01-19 2018-09-04 西安电子科技大学 Multichannel frame sequence sort method based on many-core parallel processor
CN110381322A (en) * 2019-07-15 2019-10-25 腾讯科技(深圳)有限公司 Method for decoding video stream, device, terminal device and storage medium

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1630370A (en) * 2003-12-15 2005-06-22 联想(北京)有限公司 A method of coding and decoding for data compression
CN101179715A (en) * 2006-11-30 2008-05-14 腾讯科技(深圳)有限公司 Method and system of implementing compressed encoding simultaneously to multipath video source
CN1972447A (en) * 2006-12-08 2007-05-30 清华大学 Multi-image player based on stream media technology and its playing method
CN102098503A (en) * 2009-12-14 2011-06-15 中兴通讯股份有限公司 Method and device for decoding image in parallel by multi-core processor
CN101783946A (en) * 2010-01-30 2010-07-21 青岛海信网络科技股份有限公司 Video decoding method, video decoder and video monitoring system
CN101834854A (en) * 2010-04-06 2010-09-15 北京交通大学 Video transmission system of mobile phone
CN101924666A (en) * 2010-07-22 2010-12-22 中兴通讯股份有限公司 Decoding realization method and system of signaling tracking
CN102270158A (en) * 2011-08-10 2011-12-07 深圳市万兴软件有限公司 Application program multiprocess running method and device
CN104704828A (en) * 2012-10-03 2015-06-10 美国博通公司 Bounded rate near-lossless and lossless image compression
CN104980752A (en) * 2015-06-11 2015-10-14 武汉大千信息技术有限公司 Method for realizing multipath self-adaptive parallel transcoding through CPU and GPU and system thereof
CN105187117A (en) * 2015-08-12 2015-12-23 莱诺斯科技(北京)有限公司 Satellite telemetering decoding system
CN107592118A (en) * 2016-07-08 2018-01-16 华为技术有限公司 The coding/decoding method and device of Variable Length Code file
CN106878736A (en) * 2017-03-17 2017-06-20 郑州云海信息技术有限公司 A kind of method and apparatus of coding and decoding video
CN108491261A (en) * 2018-01-19 2018-09-04 西安电子科技大学 Multichannel frame sequence sort method based on many-core parallel processor
CN108322708A (en) * 2018-02-12 2018-07-24 福州大学 Real-time video transmission system and method based on multi-channel parallel transmission technology
CN110381322A (en) * 2019-07-15 2019-10-25 腾讯科技(深圳)有限公司 Method for decoding video stream, device, terminal device and storage medium

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Efficient key picture and single loop decoding scheme for SHVC";Krishnakanth Rapaka等;《2013 Visual Communications and Image Processing (VCIP)》;全文 *
"一种多功能红外图像播放软件的设计实现";贾丕军等;《电子设计工程》;第185-187页 *
"遥测文件截取器软件设计与实现";贾丕军;《现代电子技术》;第36-38页 *

Also Published As

Publication number Publication date
CN112835651A (en) 2021-05-25

Similar Documents

Publication Publication Date Title
CN110442560B (en) Log replay method, device, server and storage medium
McCharen et al. Problems and experiments for and with automated theorem-proving programs
JP2575595B2 (en) Image frame compression method and data processing system
CN1985278B (en) Legacy processing for pixel shader hardware
CN104679572B (en) Plug-in unit based on preload mechanisms supports method
US20120011404A1 (en) Method and system of a processor-agnostic encoded debug-architecture in a pipelined environment
US4368532A (en) Memory checking method
CN112835651B (en) Multipath image parallel decoding processing method
KR19980081853A (en) How to compress and restore graphic images
CN111858157B (en) Missing data recovery method, system, terminal and storage medium based on erasure codes
CN117196000A (en) Edge side model reasoning acceleration method for containerized deployment
US11489541B2 (en) Compression techniques for data structures suitable for artificial neural networks
CN111797985A (en) Convolution operation memory access optimization method based on GPU
CN115983337A (en) Convolution calculation unit, AI operation array and related equipment
CN109144793B (en) Fault correction device and method based on data flow driving calculation
CN112506651B (en) Method and equipment for data operation in large-data-volume environment
CN114281297A (en) Transmission management method, device, equipment and storage medium for multi-audio stream
CN107835158B (en) Method and device for transmitting interactive data under SNA network system
CN114119334A (en) Image steganography method for automatically learning embedded cost based on attention mechanism
US6370636B1 (en) Accessing byte lines from dual memory blocks and aligning for variable length instruction execution
CN111475234A (en) Character string transmission method and device, computer and readable storage medium
CN113076283B (en) File consistency verification method and device and electronic equipment
CN111045831B (en) Python-based radar real-time signal processing method
CN114286106B (en) MPSoC-based multipath SDI video extremely-low-delay coding system
WO2024140568A1 (en) Image processing method and apparatus, electronic device, and readable storage medium

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