WO2021227803A1 - 一种内窥镜内存管理方法及内窥镜 - Google Patents

一种内窥镜内存管理方法及内窥镜 Download PDF

Info

Publication number
WO2021227803A1
WO2021227803A1 PCT/CN2021/088777 CN2021088777W WO2021227803A1 WO 2021227803 A1 WO2021227803 A1 WO 2021227803A1 CN 2021088777 W CN2021088777 W CN 2021088777W WO 2021227803 A1 WO2021227803 A1 WO 2021227803A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
mode
function
endoscope
window
Prior art date
Application number
PCT/CN2021/088777
Other languages
English (en)
French (fr)
Inventor
***
Original Assignee
深圳市道通科技股份有限公司
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 深圳市道通科技股份有限公司 filed Critical 深圳市道通科技股份有限公司
Publication of WO2021227803A1 publication Critical patent/WO2021227803A1/zh

Links

Images

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/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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Definitions

  • This application relates to the technical field of diagnostic equipment, in particular to an endoscope memory management method and an endoscope.
  • Endoscope is a testing instrument that integrates traditional optics, ergonomics, precision machinery, modern electronics, mathematics, and software. It is mainly used to inspect automobile manufacturing and maintenance, precision machining and manufacturing, petrochemical, military manufacturing, and small equipment.
  • the inventor found that the prior art has the following problems: At present, the demand for image collection and processing of endoscopes is getting higher and higher. For example, the endoscope is equipped with multiple image collection devices. Furthermore, Need to configure high-definition image capture device. In addition, there are many functions for video and image processing, large memory requirements, and some functions require continuous memory, which further leads to a shortage of memory resources, which may easily cause the failure of the endoscope function to achieve and reduce the user experience. Therefore, how to effectively utilize the memory resources in the endoscope has become an urgent problem to be solved by those skilled in the art.
  • the embodiment of the present invention aims to provide an endoscope memory management method and an endoscope, which can improve the utilization rate of memory resources.
  • the embodiments of the present invention provide the following technical solutions:
  • an embodiment of the present invention provides an endoscope memory management method, including:
  • the current function mode is any one of a real-time video preview mode, a media management mode, and a setting mode.
  • the real-time video preview mode, the media management mode, and the setting The modes are decoupled from each other, so that at least part of the memory resources occupied by the functional modes are not shared;
  • the method further includes:
  • the function selection instruction search a preset menu tree to traverse the target window pointed to by the function selection instruction step by step.
  • the preset menu tree includes the branch menu corresponding to each current function mode, and each branch
  • the menu includes a parent window and several child windows under the parent window;
  • the target window is displayed.
  • the displaying the target window includes:
  • the corresponding relationship includes that the video playback function corresponds to a double buffer window, and other user interaction functions other than the video playback function correspond to a dialog window or a normal window.
  • the method further includes:
  • the method further includes:
  • the method further includes:
  • the character library of the endoscope is tailored.
  • the method further includes:
  • the method further includes:
  • the method further includes:
  • an embodiment of the present invention provides an endoscope, including:
  • At least one processor and,
  • a memory communicatively connected with the at least one processor; wherein,
  • the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor, so that the at least one processor can execute the endoscope memory as described in any one of the above Management methods.
  • an embodiment of the present invention also provides a non-volatile computer-readable storage medium, the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to enable the endoscope to Perform the endoscope memory management method as described in any one of the above.
  • the memory management method of the endoscope and the endoscope provided by the embodiments of the present invention decouple the functions supported by the endoscope into real-time video Preview mode, media management mode and setting mode, so that at least part of the memory resources occupied by each function mode are not shared.
  • the memory resources occupied by the current function mode are released. Therefore, the embodiment of the present invention improves the utilization of memory resources.
  • FIG. 1 is an architecture diagram of an endoscope memory management system provided by an embodiment of the present invention
  • FIG. 3 is a method flowchart of one of the endoscope memory management methods provided by the embodiment of the present invention.
  • FIG. 4 is a schematic diagram of the architecture of a preset menu tree provided by an embodiment of the present invention.
  • FIG. 5 is a method flowchart of one of the endoscope memory management methods provided by an embodiment of the present invention.
  • FIG. 6 is a method flowchart of one of the endoscope memory management methods provided by the embodiment of the present invention.
  • FIG. 7 is a method flowchart of one of the endoscope memory management methods provided by an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of one of the endoscope memory management devices provided by an embodiment of the present invention.
  • FIG. 9 is a schematic structural diagram of one of the endoscope memory management devices provided by an embodiment of the present invention.
  • Fig. 10 is a schematic structural diagram of an endoscope provided by an embodiment of the present invention.
  • the embodiment of the present invention provides an architecture diagram of an endoscope memory management system.
  • the endoscope memory management system includes an endoscope 10 and a device to be inspected 20.
  • the endoscope 10 can be used to inspect the manufacturing and maintenance process of the equipment 20 to be inspected.
  • the equipment to be inspected 20 includes automobiles, household appliances, various types of pipelines, medical equipment, aviation equipment, mechanical equipment, and the like.
  • the embodiment of the present invention is described by taking the endoscope 10 as an automobile endoscope as an example.
  • the car endoscope includes a number of high-definition cameras, lighting sources, display screens, buttons, speakers, microphones, batteries, indicator lights, chargers, etc. (not shown), all of which can be connected to the processor 101 shown in FIG. 10.
  • Several high-definition cameras communicate with the MCU of the car endoscope via USB, and transmit compressed MJpeg format (a compressed image format) pictures.
  • the MCU runs on the Linux system and receives several high-definition cameras through UVC (USB Video Class, USB video class).
  • UVC USB Video Class, USB video class
  • the detection data is decompressed into image data in YUV format (an image data storage format) for video preview, recording or image saving.
  • the car endoscope includes the following aspects in the car repair process: (1) Inner cavity inspection: check surface cracks, peeling, pull lines, scratches, pits, bumps, spots, corrosion and other defects; 2) Condition inspection: When certain products (such as turbines, engines, etc.) are working, perform endoscopic inspection according to the items specified in the technical requirements; (3) Assembly inspection: When a certain process or all processes of assembly are completed, check Whether the assembly position of each part meets the sample drawing or technical requirements, whether there are assembly defects, etc.; (4) Surplus inspection: check the residual internal debris, foreign objects and other redundant objects in the inner cavity of the product; (5) Weld surface defect inspection: inspection Welding problems such as cracks on the weld surface, incomplete penetration, and missing welds.
  • an automobile endoscope When an automobile endoscope is used for engine quality inspection, use the automobile endoscope to inspect the engine cavity and obtain a third image; by observing the third image, determine whether there are casting defects or burrs in the engine cavity; if there is an engine cavity If there are casting defects or burrs, the engine is sent to the repair area; if there are no casting defects or burrs in the engine cavity, the engine is determined to be qualified.
  • the endoscope memory management system further includes a terminal device 30.
  • the terminal device 30 is in communication connection with the automobile endoscope, and the terminal device 30 is used to store or process the detection data sent by the automobile endoscope.
  • the terminal device 30 may include portable mobile electronic devices such as smart phones, computers, palmtop computers, tablet computers, smart watches, etc., may also include large computing devices such as servers, and may also include other electronic devices with data interaction functions.
  • an embodiment of the present invention provides an endoscope memory management method.
  • the endoscope memory management method S200 can be applied to the endoscope shown in FIG. 1.
  • the endoscope memory management method S200 includes:
  • the current function mode is any one of a real-time video preview mode, a media management mode, and a setting mode.
  • the setting modes are decoupled from each other, so that at least part of the memory resources occupied by the functional modes are not shared.
  • the endoscope can divide the functions that can be implemented into real-time video preview function, media management function, and setting function according to the access or occupation requirements of memory resources, so that the requirements for memory resources between the functions are mutually exclusive.
  • the difference is that the requirements for memory resources within each function have common characteristics.
  • the specific requirements of each function for memory resources can be found in the following description.
  • Each function corresponds to a function mode, namely real-time video preview mode, media management mode, and setting mode.
  • the endoscope can be switched among the above three modes to realize the functions corresponding to the functional modes respectively.
  • the switching of the function mode can be triggered by a user's operation; or the endoscope can be triggered according to a specific trigger condition, and the embodiment of the present application does not limit the specific trigger condition.
  • each function can be realized by the program module stored in the memory of the endoscope, that is, the MCU of the endoscope is realized by running the executable program in the memory; of course, it can also be realized by the program module combined with corresponding hardware.
  • Each function can include several sub-functions to refine the realization of each function.
  • the behavior implemented by the endoscope to realize each function or the sub-functions included in each function is understood as a business under each function mode.
  • the mutual decoupling of the functional modes refers to the decoupling of the business under each functional mode.
  • business decoupling can be understood as the business correlation between the functions is low or unrelated, and the business has independent or at least partially independent access requirements for memory resources when implementing functions.
  • the independent access requirements for memory resources means that the business in a certain functional mode does not need to be associated with the business in other functional modes, and the business in this functional mode has no effect on the memory resources of other functional modes. Access demand.
  • the endoscope can allocate memory resources for the business in that functional mode.
  • the endoscope releases the memory resources in the previous functional mode and provides The business in another function mode reallocates memory resources. It can also be understood that at least part of the memory resources occupied by each functional mode is not shared.
  • the memory resources occupied by each function mode are the access or other operations to the memory resources in the realization of the functions of the above-mentioned services.
  • the endoscope can allocate corresponding memory resources for the realization of the function according to the characteristics of the memory resource requirements of the function corresponding to the function mode.
  • the allocated memory resources can be understood as the memory resources occupied by the function mode , And then realize the non-sharing of memory resources in each function mode.
  • most of the memory resources in each function mode are independent and are not shared with memory resources in other function modes; there is a special situation in which the requirements for memory resources between functions overlap, and the memory resources of each function mode share the overlapped part.
  • the occupied memory resources are used to realize the functions corresponding to each functional mode.
  • the endoscope determines the function mode and allocates the corresponding memory resources for the realization of the function, it is found that the realization of the function depends on the memory resources occupied by other function modes, and the memory resources occupied by other function modes need to be accessed to call the relevant Memory resources, so as to realize its function or the sub-functions contained in this function in this function mode.
  • real-time video preview functions include image transmission, image decoding, image scaling, format conversion, and image display.
  • the real-time video preview function also includes image or video compression, file storage, etc.
  • all operations related to image processing require continuous memory.
  • the continuous physical memory of the real-time video preview function is mainly a large block of continuous memory, and there are many continuous memory blocks, and the demand for continuous physical memory is constant.
  • the demand for non-contiguous physical memory for the real-time video preview function is less, but the demand is constant.
  • the media management function needs to open a window for UI (User Interface) interaction, and the UI includes picture display and video playback.
  • the picture display is mainly based on the form of thumbnails, and the thumbnail operation involves image decoding and image scaling.
  • Video playback operation requires video decoding and image output.
  • operations related to images and videos require continuous memory.
  • the continuous physical memory of the media management function is mainly a small continuous memory, but there are many continuous memory blocks, and the demand for continuous physical memory is constant.
  • the demand for non-contiguous physical memory for media management functions is relatively large, and the demand is related to the number of files.
  • the setting function is used to set system applications and configuration parameters. For example, it can be used to set the interface of real-time video preview function and media management function. Taking image zoom as an example, the setting function can be used to set the trigger operation of image zoom, zoom operation, zoom in or zoom out multiples , Display mode, hover mode, end operation, etc.
  • image zoom as an example, the setting function can be used to set the trigger operation of image zoom, zoom operation, zoom in or zoom out multiples , Display mode, hover mode, end operation, etc.
  • contiguous physical memory for setting functions a large block of contiguous physical memory is used to create windows, a small block of contiguous physical memory is used for UI pictures, and the contiguous physical memory is related to the number of windows.
  • the discontinuous physical memory of the setting function requires more, and its demand is related to the number of windows.
  • the endoscope is generally developed based on the embedded system. Since at least part of the memory resources occupied by the functional modes are not shared, when the embedded system allocates memory, it can be considered only according to the memory requirements of the current functional mode.
  • the memory resources occupied by the current function mode are released to make room for the target function mode, so as to avoid insufficient memory resources, memory resource application failures, and abnormal business functions Operation and other conditions.
  • the endoscope system occupies a large amount of continuous physical memory for video capture, real-time image processing and display.
  • the memory access requirements are mainly for UI and media file content display.
  • Real-time video does not need to be shown to the user.
  • the real-time video capture unit and image processing unit can be turned off to release a large amount of continuous physical memory .
  • the memory resources occupied by the media management mode are released, the memory resources are reallocated for the real-time video preview mode, and several high-definition cameras of the endoscope are turned on.
  • the method further includes an endoscope memory management method S300, which includes:
  • the function selection instruction search a preset menu tree to traverse the target window pointed to by the function selection instruction level by level.
  • the preset menu tree includes each branch menu corresponding to the current function mode.
  • the branch menu includes a parent window and several child windows under the parent window.
  • FIG. 4 it is a schematic structural diagram of a preset menu tree provided by an embodiment of the present invention.
  • the preset menu tree is designed according to the relationship between the business functions and the operation process.
  • the present invention takes a 3-layer preset menu tree as an example, including the menu node L11 on the first layer, the menu nodes L21, L22, and L23 on the second layer, and the menu nodes L31, L32, L33, L34, L35, and L36 on the third layer. .
  • each menu node corresponds to a window
  • the window corresponding to menu node L11 is the parent window
  • the menu nodes L21, L22, L23, L31, L32, L33, L34, L35, and L36 are all menu nodes.
  • the window corresponding to L11 is the parent window.
  • the window corresponding to the menu node L21 is the parent window of the window corresponding to the menu nodes L31 and L32.
  • the window corresponding to the menu node L22 is the parent window of the window corresponding to the menu node L33.
  • the window corresponding to the menu node L23 is the parent window of the window corresponding to the menu nodes L31, L32, and L33.
  • the menu nodes L21, L22, and L23 are windows corresponding to the real-time video preview mode, the media management mode, and the setting mode, respectively.
  • the branch menu corresponding to the real-time video preview mode includes a menu node L11, a menu node L21, a menu node L31, and a menu node L32.
  • the branch menu corresponding to the media management mode includes a menu node L11, a menu node L22, and a menu node L33.
  • the branch menu corresponding to the setting mode includes a menu node L11, a menu node L23, a menu node L34, a menu node L35, and a menu node L36.
  • displaying the target window includes: displaying the target window according to the corresponding relationship between the user interaction function and the window.
  • the corresponding relationship includes that the video playback function corresponds to a double buffer window, and other user interaction functions other than the video playback function correspond to a dialog window or a normal window.
  • windows include dialog windows, ordinary windows, and double-buffered windows. From dialog windows, ordinary windows to double-buffered windows, the functions and interaction effects supported by the windows are gradually enhanced, and the required memory resources are gradually increasing. Therefore, in the case of meeting business function requirements, dialog windows are preferred, and ordinary windows or double-buffered windows are avoided as much as possible to reduce the use of memory resources. Video playback and other functions require a double-buffer window to play. At this time, select the double-buffer window for display.
  • the method further includes: in addition to pictures used by the target window and pictures in the parent window used by child windows under the parent window at the same time, other pictures are destroyed as the window is destroyed.
  • the method further includes: loading only the character string corresponding to the language used by the user interaction function or the character string corresponding to the current function mode.
  • the string loading strategy includes: (1) Only load strings related to the current language; (2) Only load strings under the current function operation.
  • the menu nodes L21, L22, and L23 are the windows corresponding to the real-time video preview mode, media management mode, and setting mode, respectively.
  • the strings in the real-time video preview mode, media management mode, and setting mode are relatively independent. For its sub-functions, only the character string corresponding to the function mode corresponding to the menu node L21 is loaded. When the function of the menu node L21 is exited, the corresponding character string is released.
  • the method further includes: tailoring the character library of the endoscope according to the user interaction function.
  • the full-character vector font library is at least ten megabytes in size, and full loading puts a lot of pressure on the memory of the endoscope, and most characters will not be quoted. Since the endoscope does not have the user input characters, and the characters that need to be displayed have been determined at the time of design, so by cutting the font library, only the characters needed for this project (ie user interaction function) are retained, which can save more than ten times Memory space.
  • the embodiment of the present invention provides two memory compression methods as shown in FIG. 5 and FIG. 6.
  • the method further includes an endoscope memory management method S500, including:
  • S51 Scan several memory fragments of the endoscope.
  • the small partitions in the main memory that are generated during the memory allocation process and cannot be used by user jobs are called memory fragments.
  • memory fragmentation There are two ways of memory fragmentation: internal fragmentation and external fragmentation.
  • the generation process of internal fragmentation is: because all memory allocation must start from an address divisible by 4, 8 or 16 (depending on the processor architecture) or because of the limitation of the MMU paging mechanism, the memory allocation algorithm can only be determined Allocate a memory block of a predetermined size to the client. Suppose that when requesting a 43-byte memory block, because there is no suitable size of memory, you may get 44 bytes, 48 bytes, etc. slightly larger bytes, so the extra space generated by rounding the required size is Called internal fragmentation.
  • the generation process of external fragmentation is: frequent allocation and recycling of physical pages will cause a large number of continuous and small page blocks to be mixed in the allocated pages, and external fragmentation will occur.
  • a continuous free memory space with a total of 100 units, ranging from 0 to 99. If you apply for a block of memory, such as 10 units, the memory block that is applied for is in the range of 0-9. Continue to apply for a block of memory, such as 5 units, the second block of memory should be in the range of 10-14. If you release the first memory block, then apply for a memory block larger than 10 units, such as 20 units. Because the newly released memory block cannot satisfy the new request, only 20 units of memory block can be allocated starting from 15.
  • the current state of the entire memory space is 0-9 free, 10-14 occupied, 15-34 occupied, and 25-99 free. Among them, 0-9 is a memory fragment. If 10 to 14 are occupied all the time, and the space applied for later is greater than 10 units, then 0 to 9 will never be used and become external fragments.
  • the timing compression of several memory fragments includes: collecting the several memory fragments; and combining the several memory fragments to obtain usable memory.
  • the capacity of available memory is much larger than the capacity of memory fragments.
  • the endoscope system starts a timing task, assuming that the clock cycle is 1 second, when the cumulative count reaches the compression time (such as 5 minutes), the memory compression is performed once, and so on.
  • the method further includes an endoscope memory management method S600, including:
  • S61 Scan several memory fragments of the endoscope.
  • the method further includes an endoscope memory management method S700, which includes:
  • Memory allocation strategies include static memory allocation and dynamic memory allocation.
  • Static memory is automatically allocated by the system and released automatically by the system.
  • Static memory is allocated in the stack, which is a storage structure. If the main function calls another function, then the called function is pushed onto a stack. Executing this called function is to make all the memory space allocated by the system for this function pop out of the stack one by one. The end of the stack is the execution of the called function.
  • the memory space allocated by the system for static variables will be released after the program is executed.
  • Dynamic memory is manually allocated and released by the programmer, and the function termination will not be automatically released by the system. Dynamic memory is allocated on the heap.
  • the heap is not a storage structure.
  • the heap is a sorting method for allocating memory. The foregoing sorting methods include bubble sorting, insertion sorting, selection sorting, and quick sorting. Because dynamic memory is allocated in the heap, it will not be released after the function runs.
  • Static memory allocation is done at compile time and does not occupy CPU resources. Dynamic memory allocation is done during runtime, and allocation and release require CPU resources; (2) Static memory allocation Memory allocation is allocated on the stack, dynamic memory is allocated on the heap; (3) Dynamic memory allocation requires pointer or reference data type support, while static memory allocation does not need; (4) Static memory allocation is allocated according to plan, Determine the size of the memory block before compilation, and allocate it on demand during dynamic memory allocation; (5) Static allocation of memory transfers the control of the memory to the compiler, and dynamic memory transfers the control of the memory to the programmer; 6) The operating efficiency of statically allocated memory is higher than that of dynamically allocated memory, because dynamic memory allocation and release require additional overhead; (7) The level of dynamic memory management depends heavily on the level of the programmer, and improper handling can easily cause memory leaks .
  • Global variables and static variables occupy a certain amount of memory resources during the entire application life cycle and are not released.
  • Global variables are allocated memory when creating objects.
  • the process of creating objects allocate space; create parent objects recursively; initialize member variables; call structure methods to create an object.
  • Static variables are allocated space when the class is loaded. Static variables have nothing to do with objects.
  • the loading process is: load the parent class, if the parent class has been loaded, it will not be loaded; initialize the static properties; initialize the static code blocks in order,
  • the premise of initialization is to allocate space, and static variables are not initialized when creating objects in the future, so static variables are generally used to store shared information.
  • An embodiment of the present invention provides an endoscope memory management method that decouples the functions supported by the endoscope into a real-time video preview mode, a media management mode, and a setting mode, so that at least part of the memory resources occupied by each function mode is not Sharing, when the current function mode is switched, the memory resources occupied by the current function mode are released. Therefore, the embodiment of the present invention improves the utilization of memory resources.
  • an embodiment of the present invention provides an endoscope memory management device.
  • the endoscope memory management device 800 includes a first acquiring module 801, a switching module 802, and a first releasing module 803.
  • the first acquisition module 801 is configured to acquire a mode switching instruction in the current function mode, where the current function mode is any one of a real-time video preview mode, a media management mode, and a setting mode.
  • the media management mode and the setting mode are decoupled from each other, so that at least part of the memory resources occupied by the functional modes are not shared.
  • the switching module 802 is configured to switch the current function mode to the target function mode pointed to by the mode switching instruction.
  • the first release module 803 is configured to release the memory resources occupied by the current function mode.
  • the embodiments of the present invention provide another endoscope memory management device.
  • the endoscope memory management device 900 includes a second acquisition module 901, a search module 902, and a display module 903.
  • the second obtaining module 901 is configured to obtain a function selection instruction when the user interaction function is executed in the current function mode.
  • the search module 902 is configured to search a preset menu tree according to the function selection instruction to traverse the target window pointed to by the function selection instruction level by level, and the preset menu tree includes each corresponding current function mode.
  • branch menu each branch menu includes a parent window and several child windows under the parent window.
  • the display module 903 is configured to display the target window.
  • the display module 903 is specifically configured to: display the target window according to the corresponding relationship between the user interaction function and the window.
  • the corresponding relationship includes that the video playback function corresponds to a double buffer window, and other user interaction functions other than the video playback function correspond to a dialog window or a normal window.
  • the endoscope memory management device 900 further includes:
  • the destruction module 904 is used for destroying other pictures as the window is destroyed except for the pictures used by the target window and the pictures in the parent window used by the child windows under the parent window at the same time.
  • the endoscope memory management device 900 further includes:
  • the loading module 905 is configured to load only the character string corresponding to the language used by the user interaction function or the character string corresponding to the current function mode.
  • the endoscope memory management device 900 further includes:
  • the cropping module 906 is configured to crop the character library of the endoscope according to the user interaction function.
  • the endoscope memory management device 900 further includes:
  • the scanning module 907 is used to scan several memory fragments of the endoscope.
  • the first compression module 908 is configured to periodically compress the several memory fragments.
  • the endoscope memory management device 900 further includes:
  • the scanning module 907 is used to scan several memory fragments of the endoscope.
  • the second compression module 909 is configured to compress the several memory fragments when the function mode is switched.
  • the endoscope memory management device 900 further includes:
  • the determining module 910 is configured to determine a memory allocation strategy according to the function executed in the current function mode.
  • the second release module 911 is configured to release the variables or objects used by the function when the function is completed according to the memory allocation strategy.
  • FIG. 10 is a schematic structural diagram of an endoscope provided by an embodiment of the present invention. As shown in FIG. 10, it shows the hardware structure of the endoscope 10 capable of executing the memory management method of the endoscope in FIGS. 2 to 3 and 5 to 7.
  • the endoscope 10 includes at least one processor 101 and a memory 102 communicatively connected to the at least one processor 101, and one processor 101 is taken as an example in FIG. 10.
  • the memory 102 stores instructions that can be executed by the at least one processor 101, and the instructions are executed by the at least one processor 101, so that the at least one processor 101 can execute the method described in any method embodiment of the present invention.
  • the processor 101 and the memory 102 may be connected by a bus or in other ways.
  • the connection by a bus is taken as an example.
  • the memory 102 can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules, such as those corresponding to the endoscope memory management method in the embodiment of the present invention.
  • Program instructions/modules for example, the various modules shown in FIG. 8 and FIG. 9.
  • the processor 101 executes various functional applications and data processing of the endoscope 10 by running non-volatile software programs, instructions, and modules stored in the memory 102, that is, implements the endoscope described in any method embodiment of the present invention.
  • Mirror memory management method
  • the memory 102 may include a program storage area and a data storage area.
  • the program storage area may store an operating system and an application program required by at least one function; the data storage area may store data created according to the use of the endoscope memory management device, etc. .
  • the memory 102 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state storage devices.
  • the memory 102 may optionally include a memory remotely provided with respect to the processor 101, and these remote memories may be connected to a device for controlling memory management of the endoscope through a network. Examples of the aforementioned networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
  • the one or more modules are stored in the memory 102, and when executed by one or more processors 101, the endoscope memory management method in any of the above-mentioned method embodiments is executed, for example, the above-described FIG. 2 to FIG. 3.
  • the steps shown in Figures 5 to 7 realize the functions of the modules described in Figures 8 to 9.
  • the memory 102 includes a random access memory 1021, a Flash memory 1022, and an SD memory card 1023.
  • the random access memory 1021, the Flash memory 1022, and the SD memory card 1023 are the memory of the endoscope 10.
  • the random access memory 1021 is also called main memory, which is an internal memory that directly exchanges data with the processor 101, and is used to temporarily store programs, data, and intermediate results.
  • the flash memory 1022 is a non-volatile memory used to store data for a long time.
  • the SD memory card 1023 is detachably installed in the endoscope for high-speed storage of data.
  • the processor 101 can read data and instructions from the random access memory 1021, the Flash memory 1022, and the SD memory card 1023 through a bus or the like. Assuming that the programs that perform each function or several sub-functions included in the function include code data, read-only data, read-write data, and initialization data, when the program is running, the Flash memory 1022 is allocated for storing code data and read-only data Memory space, random access memory 1021 allocates memory space for storing read and write data and initialization data, that is, code data and read-only data occupy the memory resources of Flash memory 1022, read and write data and initialization data occupy the memory resources of random access memory 1021 .
  • the processor 101 includes a CPU and a controller (not shown).
  • the CPU receives an operation instruction, and the corresponding program instruction in the hard disk is directly loaded into the random access memory 1021 and the Flash memory. 1022, at least one memory storage of the SD memory card 1023, and then address the at least one memory storage of the random access memory 1021, the Flash memory 1022, and the SD memory card 1023, and then load it into the random access memory 1021, Flash
  • the instructions of at least one memory memory of the memory 1022, SD memory card 1023 are translated, and finally an operation signal is sent to the controller to implement program operation or data processing.
  • the embodiment of the present invention also provides a non-volatile computer-readable storage medium, the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to enable the endoscope to execute any of the present invention.
  • the endoscope memory management method described in the method embodiment for example, executes the steps shown in FIGS. 2 to 3 and FIGS. 5 to 7 described above to realize the functions of the modules described in FIGS. 8 to 9.
  • the embodiment of the present invention also provides a computer program product, which includes a calculation program stored on a non-volatile computer-readable storage medium.
  • the computer program includes program instructions.
  • the program instructions When the program instructions are executed by a computer, the computer Execute the endoscope memory management method in any of the above method embodiments, for example, execute the steps shown in Figures 2 to 3, and Figures 5 to 7 described above to implement the various modules described in Figures 8 to 9 Function.
  • the device embodiments described above are only illustrative, and the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physically separate. Units can be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • each implementation manner can be implemented by means of software plus a general hardware platform, and of course, it can also be implemented by hardware.
  • a person of ordinary skill in the art can understand that all or part of the processes in the methods of the foregoing embodiments can be implemented by instructing relevant hardware through a computer program.
  • the program can be stored in a computer readable storage medium. When executed, it may include the procedures of the above-mentioned method embodiments.
  • the storage medium may be a magnetic disk, an optical disc, a read-only memory (Read-Only Memory, ROM), or a random access memory (Random Access Memory, RAM), etc.
  • each embodiment can be implemented by means of software plus a general hardware platform, and of course, it can also be implemented by hardware.
  • a person of ordinary skill in the art can understand that all or part of the processes in the methods of the foregoing embodiments can be implemented by instructing relevant hardware through a computer program.
  • the program can be stored in a computer readable storage medium. When executed, it may include the procedures of the above-mentioned method embodiments.
  • the storage medium may be a magnetic disk, an optical disc, a read-only memory (Read-Only Memory, ROM), or a random access memory (Random Access Memory, RAM), etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Endoscopes (AREA)
  • Instruments For Viewing The Inside Of Hollow Bodies (AREA)

Abstract

本发明实施例涉及诊断设备技术领域,公开了一种内窥镜内存管理方法及内窥镜。其中,所述的内窥镜内存管理方法包括:在当前功能模式下,获取模式切换指令,所述当前功能模式为实时视频预览模式、媒体管理模式以及设置模式中的任一模式,所述实时视频预览模式、所述媒体管理模式以及所述设置模式是相互解耦的,以使所述各功能模式占用的至少部分内存资源非共享;切换所述当前功能模式为所述模式切换指令所指向的目标功能模式;释放所述当前功能模式占用的内存资源。通过上述方式,本发明实施例提升了内存资源的利用率。

Description

一种内窥镜内存管理方法及内窥镜
本申请要求于2020年05月15日提交中国专利局、申请号为202010412915.9、申请名称为“一种内窥镜内存管理方法及内窥镜”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及诊断设备技术领域,特别是涉及一种内窥镜内存管理方法及内窥镜。
背景技术
内窥镜是集中了传统光学、人体工程学、精密机械、现代电子、数学、软件等于一体的检测仪器,主要用于检查汽车制造与维修、精密机械加工制造、石油化工、军工制造、小型设备内的小孔径,小缝隙的内部情况、机械齿轮零件磨损,松动、油嘴油泵的质量。
发明人在实现本发明的过程中,发现现有技术存在以下问题:目前,内窥镜的图像的采集和处理需求越来越高,如内窥镜配置多个图像采集装置,更进一步地,需要配置高清图像采集装置。且对视频和图像处理的功能多,内存需求大,有些功能需求连续内存,进一步导致内存资源的紧张,容易引起内窥镜功能实现失败,降低用户体验。因此,如何有效利用内窥镜中的内存资源,成为本领域技术人员亟待解决的问题。
发明内容
本发明实施例旨在提供一种内窥镜内存管理方法及内窥镜,其能够提升内存资源的利用率。
为解决上述技术问题,本发明实施例提供以下技术方案:
第一方面,本发明实施例提供一种内窥镜内存管理方法,包括:
在当前功能模式下,获取模式切换指令,所述当前功能模式为实时视频预览模式、媒体管理模式以及设置模式中的任一模式,所述实时视频预览模式、所述媒体管理模式以及所述设置模式是相互解耦的,以使所述各功能模式占用的至少部分内存资源非共享;
切换所述当前功能模式为所述模式切换指令所指向的目标功能模式;
释放所述当前功能模式占用的内存资源。
在一些实施例中,所述方法还包括:
在所述当前功能模式下执行用户交互功能时,获取功能选择指令;
根据所述功能选择指令,搜索预设菜单树,以逐级遍历所述功能选择指令所指向的目标窗口,所述预设菜单树包括每个所述当前功能模式对应的分支菜单,每条分支菜单包括父窗口以及所述父窗口下的若干子窗口;
显示所述目标窗口。
在一些实施例中,每一所述父窗口下的所述子窗口不超过三个。
在一些实施例中,所述显示所述目标窗口,包括:
根据所述用户交互功能与窗口的对应关系,显示所述目标窗口;
其中,所述对应关系包括视频回放功能对应双缓冲窗口,除视频回放功能以外的其他用户交互功能对应对话框窗口或者普通窗口。
在一些实施例中,所述方法还包括:
除了所述目标窗口使用的图片和父窗口中被所述父窗口下的子窗口同时使用的图片,其他图片随着窗口的销毁而销毁。
在一些实施例中,所述方法还包括:
仅加载所述用户交互功能所使用的语言对应的字符串或所述当前功能模式对应的字符串。
在一些实施例中,所述方法还包括:
根据所述用户交互功能,裁剪所述内窥镜的字库。
在一些实施例中,所述方法还包括:
扫描所述内窥镜的若干个内存碎片;
定时压缩所述若干个内存碎片。
在一些实施例中,所述方法还包括:
扫描所述内窥镜的若干个内存碎片;
在切换所述功能模式时,压缩所述若干个内存碎片。
在一些实施例中,所述方法还包括:
根据在所述当前功能模式下执行的功能,确定内存分配策略;
根据所述内存分配策略,当所述功能执行完毕时,释放所述功能使用的变量或对象。
第二方面,本发明实施例提供一种内窥镜,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上任一项所述的内窥镜内存管理方法。
第三方面,本发明实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使内窥镜能够执行如上任一项所述的内窥镜内存管理方法。
本发明实施例的有益效果是:区别于现有技术的情况下,本发明实施例提供的一种内窥镜内存管理方法及内窥镜,通过将内窥镜支持的功能解耦为实时视频预览模式、媒体管理模式以及设置模式,以使各功能模式占用的至少部分内存资源非共享,当切换当前功能模式时,释放当前功能模式占用的内存资源。因此,本发明实施例提升了内存资源的利用率。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明实施例提供的一种内窥镜内存管理***的架构图;
图2是本发明实施例提供的其中一种内窥镜内存管理方法的方法流程图;
图3是本发明实施例提供的其中一种内窥镜内存管理方法的方法流程图;
图4是本发明实施例提供的一种预设菜单树的架构示意图;
图5是本发明实施例提供的其中一种内窥镜内存管理方法的方法流程图;
图6是本发明实施例提供的其中一种内窥镜内存管理方法的方法流程图;
图7是本发明实施例提供的其中一种内窥镜内存管理方法的方法流程图;
图8是本发明实施例提供的其中一种内窥镜内存管理装置的结构示意图;
图9是本发明实施例提供的其中一种内窥镜内存管理装置的结构示意图;
图10是本发明实施例提供的一种内窥镜的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。另外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明实施例提供一种内窥镜内存管理***的架构图,如图1所示,所述内窥镜内存管理***包括内窥镜10和待检查设备20。内窥镜10可用于检查待检查设备20的制造与维修过程。待检查设备20包括汽车、家用电器、各类型管道、医疗设备、航空设备、机械设备等。本发明实施例以内窥镜10为汽车内窥镜为例进行阐述。
汽车内窥镜包括若干高清摄像头、照明光源、显示屏、按键、喇叭、麦克风、电池、指示灯以及充电器等(图未示),均可连接至如图10所示的处理器101。若干高清摄像头与汽车内窥镜的MCU通过USB进行通信,传输压缩MJpeg格式(一种压缩图像格式)图片,MCU运行Linux***,通过UVC(USB Video Class,USB视频类)接收若干高清摄像头发过来的检测数据,并解压成YUV格式(一种图像数据存储格式)的图像数据,供视频预览、录制或者图像保存。
其中,汽车内窥镜在汽车的维修过程中包括以下几个方面:(1)内腔检查:检查表面裂纹、起皮、拉线、划痕、凹坑、凸起、斑点、腐蚀等缺陷;(2)状态检查:在某些产品(如涡轮、发动机等)工作时,按技术要求规定的项目进行内窥镜检测;(3)装配检查:当装配的某一工序或全部工序完成后,检查各零部件装配位置是否符合样图或技术要求,是否存在装配缺陷等;(4)多余物检查:检查产品内腔残余内屑、外来物等多余物;(5)焊缝表面缺陷检查:检查焊缝表面裂纹、未焊透、漏焊等焊接问题。
以汽车内窥镜的状态检查为例,当汽车内窥镜用于发动机清洗检查时,在清洗发动机前,用汽车内窥镜观察发动机内部的积碳情况等,并获取第一图像;在发动机清洗完毕后,再次用汽车内窥镜观察发动机内部的积碳情况等,并获取第二图像;将第一图像和第二图像进行比对,可直观地观察发动机清洗效果。当汽车内窥镜用于发动机质量检查时,采用汽车内窥镜检查发动机内腔,并获取第三图像;通过观察第三图像,判断发动机内腔是否存在铸造缺陷或毛刺;若发动机内腔存在铸造缺陷或毛刺,则将发动机送入维修区;若发动机内腔不存在铸造缺陷或毛刺,则确定发动机质量合格。
在一些应用场景中,所述内窥镜内存管理***还包括终端设备30。终端设备30与汽车内窥镜通信连接,终端设备30用于存储或处理汽车内窥镜发送的检测数据。终端设备30可以包括诸如智能手机、计算机、掌上电脑、平板电脑、智能手表等便携式移动电子设备,也可以包括服务器等大型计算设备,还可以包括其他具有数据交互功能的电子装置。
如图2所示,本发明实施例提供了一种内窥镜内存管理方法,内窥镜内存管理方法S200可应用于图1所示的内窥镜,内窥镜内存管理方法S200包括:
S21、在当前功能模式下,获取模式切换指令,所述当前功能模式为实时视频预览模式、媒体管理模式以及设置模式中的任一模式,所述实时视频预览模式、所述媒体管理模式以及所述设置模式是相互解耦的,以使所述各功能模式占用的至少部分内存资源非共享。
本申请实施例中,内窥镜可将所能实现的功能按照对内存资源的访问或占用需求分为实时视频预览功能、媒体管理功能以及设置功能,从而各功能之间对于内存资源的需求相互区别,各功能内对于内存资源的需求具有共同特征。各功能对于内存资源的具体需求可参见下文描述。
各功能分别对应一功能模式,分别为实时视频预览模式、媒体管理模式以及设置模式。内窥镜可在上述三种模式中切换,以分别实现功能模式对应的功能。其中,功能模式的切换可由用户操作触发;或由内窥镜根据具体的触发条件进行触发,本申请实施例对于具体的触发条件不予限定。
各功能的实现可由存储于内窥镜存储器中的程序模块实现,即内窥镜的MCU通过运行存储器中的可执行程序实现;当然,也可以由程序模块结合相应的硬件实现。
各功能可包括若干个子功能,以细化对各功能的实现。对于各功能包括的 具体子功能请参见下文描述。其中,内窥镜为实现各功能或各功能包括的子功能所实施的行为被理解为是各功能模式下的业务。各功能模式相互解耦是指各功能模式下的业务相互解耦。在此,业务相互解耦可以理解为各功能之间的业务关联性较低或无关联,业务在实现功能时对内存资源的访问需求独立或至少部分访问需求独立。业务在实现功能时对内存资源的访问需求独立是指某一功能模式下的业务对内存资源的访问无需关联其他功能模式下的业务,并且该功能模式下的业务对其他功能模式的内存资源无访问需求。当内窥镜运行某一功能模式时,内窥镜可为该功能模式下的业务分配内存资源,当切换至另一功能模式时,内窥镜释放上一功能模式下的内存资源,并为另一功能模式下的业务重新分配内存资源。也可理解为各功能模式占用的至少部分内存资源非共享。
各功能模式占用的内存资源即为上述业务在实现功能是对内存资源的访问或其他操作。内窥镜可在确定功能模式后,根据该功能模式对应的功能对内存资源的需求特征,为该功能的实现分配相应的内存资源,该分配的内存资源可以理解为功能模式所占用的内存资源,进而实现各功能模式下的内存资源的非共享。通常,各功能模式下的大部分内存资源独立,不与其他功能模式下的内存资源共享;存在特殊情形为各功能之间对于内存资源的需求存在重叠,各功能模式的内存资源部分共享重叠部分占用的内存资源,以分别实现各功能模式对应的功能。若在内窥镜确定功能模式后,为该功能的实现分配相应的内存资源时,发现该功能的实现依赖其他功能模式占用的内存资源,则需访问其他功能模式占用的内存资源,以调用相关内存资源,从而在该功能模式下实现其功能或该功能包含的子功能。
其中,实时视频预览功能包括图像传输、图像解码、图像缩放、格式转换以及图像显示等。当内窥镜用于拍照或录像时,实时视频预览功能还包括图像或视频压缩、文件存储等。对于实时视频预览功能,所有与图像处理相关的操作都需要连续的内存。实时视频预览功能的连续物理内存主要为大块的连续内存,且连续的内存块多,连续物理内存的需求恒定。实时视频预览功能的非连续物理内存的需求较少,但需求恒定。
媒体管理功能需要开辟窗口进行UI(User Interface,用户界面)交互,UI包括图片展示和视频回放。其中,图片展示主要基于缩略图的形式,缩略图操作涉及图像解码和图像缩放。视频回放操作需视频解码和图像输出。对于媒体管理功能,与图像和视频相关的操作需连续内存。媒体管理功能的连续物理内存主要为小块的连续内存,但连续的内存块多,连续物理内存的需求恒定。媒体管理功能的非连续物理内存的需求较多,其需求量与文件的数量相关。
设置功能用于设置***应用和配置参数,例如可用于设置实时视频预览功能和媒体管理功能的界面,以图像缩放为例,设置功能可用于设置图像缩放的触发操作、缩放操作、放大或缩小倍数、显示方式、悬停方式、结束操作等。对于设置功能的连续物理内存,大块连续物理内存用于建立窗口,小块连续物理内存用于UI图片,连续物理内存与窗口的数量相关。设置功能的非连续物 理内存的需求较多,其需求量与窗口的数量相关。
S22、切换所述当前功能模式为所述模式切换指令所指向的目标功能模式。
S23、释放所述当前功能模式占用的内存资源。
内窥镜一般基于嵌入式***进行开发,由于所述各功能模式占用的至少部分内存资源非共享,因此,在嵌入式***分配内存时,可仅根据当前功能模式的内存需求来考虑。在切换当前功能模式为模式切换指令所指向的目标功能模式时,释放当前功能模式占用的内存资源,为目标功能模式腾出内存空间,以避免内存资源不足、内存资源申请失败、业务功能不能正常运行等情况。
例如,在实时视频预览模式下,内窥镜***占据大量的连续物理内存用于的视频抓捕、实时图像处理和显示。当实时视频预览模式切换为媒体管理模式时,内存访问需求主要为UI和媒体文件内容显示,实时视频不需要再展现给用户,可关闭实时视频采集单元和图像处理单元,释放大量的连续物理内存。当再次从媒体管理模式切换为实时视频预览模式时,则释放媒体管理模式占用的内存资源,为实时视频预览模式重新分配内存资源,并打开内窥镜的若干个高清摄像头。
如图3所示,在一些实施例中,所述方法还包括内窥镜内存管理方法S300,包括:
S31、在所述当前功能模式下执行用户交互功能时,获取功能选择指令。
S32、根据所述功能选择指令,搜索预设菜单树,以逐级遍历所述功能选择指令所指向的目标窗口,所述预设菜单树包括每个所述当前功能模式对应的分支菜单,每条分支菜单包括父窗口以及所述父窗口下的若干子窗口。
其中,每一所述父窗口下的所述子窗口不超过三个。
如图4所示,是本发明实施例提供的一种预设菜单树的架构示意图。预设菜单树是根据业务功能之间的相互关系和操作流程设计的。本发明以3层预设菜单树为例,包括第一层的菜单节点L11、第二层的菜单节点L21、L22以及L23、第三层的菜单节点L31、L32、L33、L34、L35以及L36。
其中,每一菜单节点对应一个窗口,菜单节点L11对应的窗口为父窗口,菜单节点L21、L22、L23、L31、L32、L33、L34、L35以及L36均为菜单节点L11对应的窗口为父窗口下的子窗口。进一步的,菜单节点L21对应的窗口为菜单节点L31和L32对应的窗口的父窗口。菜单节点L22对应的窗口为菜单节点L33对应的窗口的父窗口。菜单节点L23对应的窗口为菜单节点L31、L32以及L33对应的窗口的父窗口。
在本实施例中,菜单节点L21、L22、L23分别为实时视频预览模式、媒体管理模式以及设置模式对应的窗口。实时视频预览模式对应的分支菜单包括菜单节点L11、菜单节点L21、菜单节点L31以及菜单节点L32。媒体管理模式对应的分支菜单包括菜单节点L11、菜单节点L22以及菜单节点L33。设置模式对应的分支菜单包括菜单节点L11、菜单节点L23、菜单节点L34、菜单节点L35以及菜单节点L36。
可以理解,预设菜单树的层级越深,窗口之间的嵌套层级越多,窗口之间的嵌套会占据相当多的内存资源,容易造成内存资源不足。请再次参阅图4,相邻功能层级之间,如菜单节点L21和菜单节点L31,数据共享的概率高,功能层级相差越多,如菜单节点L11和菜单节点L31,数据共享的概率较低。因此,通过控制预设菜单树层级,使得既满足内窥镜的应用需求,又能解决窗口之间的嵌套导致占据较多内存的问题。
S33、显示所述目标窗口。
其中,用户交互功能对内存资源需求较多的功能包括窗口、字符串、字库以及UI图片。在本实施中,显示所述目标窗口包括:根据所述用户交互功能与窗口的对应关系,显示所述目标窗口。其中,所述对应关系包括视频回放功能对应双缓冲窗口,除视频回放功能以外的其他用户交互功能对应对话框窗口或者普通窗口。
其中,窗口包括对话框窗口、普通窗口以及双缓冲窗口,从对话框窗口、普通窗口到双缓冲窗口,窗口支持的功能和交互效果逐渐增强,所需内存资源也逐渐增加。因此,在满足业务功能需求的情况下,优先选用对话框窗口,尽量避免使用普通窗口或双缓冲窗口,以减少内存资源的使用。视频回放等功能需双缓冲窗口才可以播放,此时,选择双缓冲窗口进行显示。
在一些实施例中,所述方法还包括:除了所述目标窗口使用的图片和父窗口中被所述父窗口下的子窗口同时使用的图片,其他图片随着窗口的销毁而销毁。
在UI图片加载方面,只允许下面两种情况进行图片缓存:(1)当前窗口(即目标窗口)使用的图片;(2)父窗口中被子窗口同时使用的图片。其他UI图片随窗口的销毁而销毁,无需进行缓存,当下次重新绘制窗口时,重新加载UI图片。
在一些实施例中,所述方法还包括:仅加载所述用户交互功能所使用的语言对应的字符串或所述当前功能模式对应的字符串。
字符串作为数据资源,需占据一定的内存,特别是当内窥镜支持多语言时,字符串占据的内存空间成线性增长。为节省内存资源,字符串根据字符串加载策略动态加载。其中,字符串加载策略包括:(1)只加载当前语言相关的字符串;(2)只加载当前功能操作下的字符串。例如,菜单节点L21、L22、L23分别为实时视频预览模式、媒体管理模式以及设置模式对应的窗口,则实时视频预览模式、媒体管理模式以及设置模式下的字符串相对独立,在操作菜单节点L21及其子功能时,只加载菜单节点L21对应的功能模式对应的字符串,当退出菜单节点L21功能时,释放对应的字符串。
在一些实施例中,所述方法还包括:根据所述用户交互功能,裁剪所述内窥镜的字库。
全字符的矢量字库至少有上十兆字节的大小,完全加载对内窥镜的内存压力较大,而且大多数字符不会被引用。由于内窥镜不存在用户输入字符的情况, 而且需要显示的字符在设计时已经确定,所以,通过剪裁字库,只保留本项目(即用户交互功能)需要的字符,从而可以节省十倍以上的内存空间。
随着内窥镜***运行时间增加,内存空间容易产生内存碎片,即使***空闲内存比较大,但对于一些需要连续物理内存的功能同样存在内存不足,容易导致内存分配失败的问题。针对上述问题,采用内存压缩进行内存回收,可以把大量内存碎片合并成大块的可利用内存块,本发明实施例提供了如图5和图6所示的两种内存压缩方式。
如图5所示,作为本发明的一个实施例方式,所述方法还包括内窥镜内存管理方法S500,包括:
S51、扫描所述内窥镜的若干个内存碎片。
S52、定时压缩所述若干个内存碎片。
在内存分配的过程产生的、不能供用户作业使用的主存里的小分区称为内存碎片。内存碎片存在的方式有内部碎片和外部碎片两种。内部碎片的产生过程为:因为所有的内存分配必须起始于可被4、8或16整除(视处理器体系结构而定)的地址或者因为MMU的分页机制的限制,决定内存分配算法仅能把预定大小的内存块分配给客户。假设当请求一个43字节的内存块时,因为没有适合大小的内存,所以可能会获得44字节、48字节等稍大一点的字节,因此由所需大小四舍五入而产生的多余空间就叫内部碎片。外部碎片的产生过程为:频繁的分配与回收物理页面会导致大量的、连续且小的页面块夹杂在已分配的页面中间,就会产生外部碎片。假设有一块一共有100个单位的连续空闲内存空间,范围是0~99。从中申请一块内存,如10个单位,那么申请出来的内存块就为0~9区间。继续申请一块内存,比如5个单位,第二块得到的内存块就应该为10~14区间。若把第一块内存块释放,然后再申请一块大于10个单位的内存块,比如20个单位。因为刚被释放的内存块不能满足新的请求,所以只能从15开始分配出20个单位的内存块。现在整个内存空间的状态是0~9空闲,10~14被占用,15~34被占用,25~99空闲。其中0~9就是一个内存碎片了。若10~14一直被占用,而以后申请的空间都大于10个单位,那么0~9就永远用不上了,变成外部碎片。
针对内存碎片数量较多、且不可被利用的特点,定时压缩若干个内存碎片包括:收集所述若干个内存碎片;将所述若干个内存碎片进行合并处理,得到可利用内存。其中,可利用内存的容量远大于内存碎片的容量。
其中,内窥镜***开启一个定时任务,假设时钟周期为1秒,当累计计数到压缩时间(如5分钟)时进行一次内存压缩,以此类推。如图6所示,作为本发明的一个实施例方式,所述方法还包括内窥镜内存管理方法S600,包括:
S61、扫描所述内窥镜的若干个内存碎片。
S62、在切换所述功能模式时,压缩所述若干个内存碎片。
在功能模式切换时,连续物理内存的需求一般会突然增加。通过内存压缩的方式,可提高连续物理块内存回收响应率,使得目标功能模式有足够的连续 物理内存可以分配,不影响目标功能模式下的业务功能的稳定运行。
如图7所示,在一些实施例中,所述方法还包括内窥镜内存管理方法S700,包括:
S71、根据在所述当前功能模式下执行的功能,确定内存分配策略。
S72、根据所述内存分配策略,当所述功能执行完毕时,释放所述功能使用的变量或对象。
内存分配策略包括静态内存分配和动态内存分配。静态内存是由***自动分配内存,由***自动释放。静态内存是在栈中分配的,栈是一种存储结构。假如main函数调用另一个函数,那么就把被调用函数压到一个栈里面。执行这个被调函数就是使***为这个函数分配的所有内存空间逐个出栈,出栈全部结束就是被调用函数执行完毕,***为静态变量分配的内存空间在程序中执行完毕后都会被释放。动态内存是由程序员手动分配,手动释放的,函数终止不会被***自动释放。动态内存是在堆分配的,堆不是一种存储结构,堆是分配内存的一种排序方式,前述排序方式包括冒泡排序、***排序、选择排序、快速排序等。因为动态内存是在堆中分配的,因此函数运行结束后不会被释放。
静态内存分配和动态内存分配的区别及特点如下:(1)静态内存分配是在编译时完成的,不占用CPU资源,动态分配内存运行时完成,分配与释放需要占用CPU资源;(2)静态内存分配是在栈上分配的,动态内存是堆上分配的;(3)动态内存分配需要指针或引用数据类型的支持,而静态内存分配不需要;(4)静态内存分配是按计划分配,在编译前确定内存块的大小,动态内存分配运行时按需分配;(5)静态分配内存是把内存的控制权交给了编译器,动态内存把内存的控制权交给了程序员;(6)静态分配内存的运行效率要比动态分配内存的效率要高,因为动态内存分配与释放需要额外的开销;(7)动态内存管理水平严重依赖于程序员的水平,处理不当容易造成内存泄漏。
以面向过程语言软件设计为例,全局变量和静态变量在整个应用运行生命周期中都占据一定的内存资源不释放。全局变量是在创建对象时创建时分配内存的,创建对象过程:分配空间;递归的创建父类对象;初始化成员变量;调用结构方法创建一个对象。静态变量是在类加载时分配空间的,静态变量和对象没有关系,其加载过程为:加载父类,如果父类已经加载过,则不在加载;初始化静态属性;按顺序的初始化静态代码块,初始化的前提是分配空间,而静态变量在以后的创建对象的时候不在初始化,所以一般用静态变量来保存共享信息。
需要说明的是,大部分变量只与某几个功能有关联,无需长期保留在内存,特别是大数据块。因此,对于大数据块使用动态内存分配,当关联的功能逻辑运行结束后立即释放。对于部分应用,变量定义较多,变量间的关联性较大,但每个变量占据的内存单元不多,若都采用动态内存分配,执行效率反而不高。因此,采用对象来组织这些变量,所述对象动态生成,在对象使用完成后,释放对象,这样既节省内存空间,也提高了内窥镜的运行效率。
本发明实施例提供的一种内窥镜内存管理方法,通过将内窥镜支持的功能解耦为实时视频预览模式、媒体管理模式以及设置模式,以使各功能模式占用的至少部分内存资源非共享,当切换当前功能模式时,释放当前功能模式占用的内存资源。因此,本发明实施例提升了内存资源的利用率。
相应的,本发明实施例提供了一种内窥镜内存管理装置。如图8所示,内窥镜内存管理装置800包括第一获取模块801、切换模块802以及第一释放模块803。
第一获取模块801,用于在当前功能模式下,获取模式切换指令,所述当前功能模式为实时视频预览模式、媒体管理模式以及设置模式中的任一模式,所述实时视频预览模式、所述媒体管理模式以及所述设置模式是相互解耦的,以使所述各功能模式占用的至少部分内存资源非共享。
切换模块802,用于切换所述当前功能模式为所述模式切换指令所指向的目标功能模式。
第一释放模块803,用于释放所述当前功能模式占用的内存资源。
在一些实施例中,本发明实施例提供了另一种内窥镜内存管理装置。如图9所示,作为本发明的一个实施例方式,内窥镜内存管理装置900包括第二获取模块901、搜索模块902以及显示模块903。
第二获取模块901,用于在所述当前功能模式下执行用户交互功能时,获取功能选择指令。
搜索模块902,用于根据所述功能选择指令,搜索预设菜单树,以逐级遍历所述功能选择指令所指向的目标窗口,所述预设菜单树包括每个所述当前功能模式对应的分支菜单,每条分支菜单包括父窗口以及所述父窗口下的若干子窗口。
其中,每一所述父窗口下的所述子窗口不超过三个。
显示模块903,用于显示所述目标窗口。
其中,显示模块903具体用于:根据所述用户交互功能与窗口的对应关系,显示所述目标窗口。其中,所述对应关系包括视频回放功能对应双缓冲窗口,除视频回放功能以外的其他用户交互功能对应对话框窗口或者普通窗口。
作为本发明的一个实施例方式,内窥镜内存管理装置900还包括:
销毁模块904,用于除了所述目标窗口使用的图片和父窗口中被所述父窗口下的子窗口同时使用的图片,其他图片随着窗口的销毁而销毁。
作为本发明的一个实施例方式,内窥镜内存管理装置900还包括:
加载模块905,用于仅加载所述用户交互功能所使用的语言对应的字符串或所述当前功能模式对应的字符串。
作为本发明的一个实施例方式,内窥镜内存管理装置900还包括:
裁剪模块906,用于根据所述用户交互功能,裁剪所述内窥镜的字库。
作为本发明的一个实施例方式,内窥镜内存管理装置900还包括:
扫描模块907,用于扫描所述内窥镜的若干个内存碎片。
第一压缩模块908,用于定时压缩所述若干个内存碎片。
作为本发明的一个实施例方式,内窥镜内存管理装置900还包括:
扫描模块907,用于扫描所述内窥镜的若干个内存碎片。
第二压缩模块909,用于在切换所述功能模式时,压缩所述若干个内存碎片。
作为本发明的一个实施例方式,内窥镜内存管理装置900还包括:
确定模块910,用于根据在所述当前功能模式下执行的功能,确定内存分配策略。
第二释放模块911,用于根据所述内存分配策略,当所述功能执行完毕时,释放所述功能使用的变量或对象。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
请参阅图10,是本发明实施例提供的一种内窥镜的结构示意图。如图10所示,其示出了能够执行图2至图3,图5至图7中的内窥镜内存管理方法的内窥镜10的硬件结构。
内窥镜10包括至少一个处理器101以及与所述至少一个处理器101通信连接的存储器102,图10中以一个处理器101为例。所述存储器102存储有可被所述至少一个处理器101执行的指令,所述指令被所述至少一个处理器101执行,以使所述至少一个处理器101能够执行本发明任意方法实施例所述的内窥镜内存管理方法。
处理器101和存储器102可以通过总线或者其他方式连接,图10中以通过总线连接为例。
存储器102作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中内窥镜内存管理方法对应的程序指令/模块,例如,附图8和附图9所示的各个模块。处理器101通过运行存储在存储器102中的非易失性软件程序、指令以及模块,从而执行内窥镜10的各种功能应用以及数据处理,即实现本发明任意方法实施例所述的内窥镜内存管理方法。
存储器102可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据内窥镜内存管理装置的使用所创建的数据等。此外,存储器102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器102可选包括相对于处理器101远程设置的存储器,这些远程存储器可以通过网络连接至控制内窥镜内存管理的装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在存储器102中,当被一个或者多个处理器 101执行时,执行上述任意方法实施例中的内窥镜内存管理方法,例如,执行以上描述的图2至图3,图5至图7所示的各个步骤,实现图8至图9所述的各个模块的功能。
在本申请实施例中,存储器102包括随机存取存储器1021、Flash存储器1022以及SD存储卡1023,随机存取存储器1021、Flash存储器1022以及SD存储卡1023为内窥镜10的内存。其中,随机存取存储器1021也称主存,是与处理器101直接进行数据交换的内部存储器,用于暂时存储程序、数据和中间结果。Flash存储器1022是一种非易失性内存,用于长久存储数据。SD存储卡1023可插拔地安装于内窥镜中,用于高速存储数据。
处理器101通过总线等方式,可从随机存取存储器1021、Flash存储器1022以及SD存储卡1023中读取数据和指令。假设执行各个功能或所述功能包括的若干个子功能对应的程序包括代码数据、只读数据、读写数据和初始化数据,当所述程序运行时,Flash存储器1022为存储代码数据和只读数据分配内存空间,随机存取存储器1021为存储读写数据和初始化数据分配内存空间,即代码数据和只读数据占用Flash存储器1022的内存资源,读写数据和初始化数据占用随机存取存储器1021的内存资源。
例如,处理器101包括CPU和控制器(图未示),当在当前功能模式下执行一个功能时,CPU接收操作指令,硬盘中对应的程序指令被直接加载到随机存取存储器1021、Flash存储器1022、SD存储卡1023的至少一个内存存储器中,接着对随机存取存储器1021、Flash存储器1022、SD存储卡1023的至少一个内存存储器进行寻址操作,然后将加载到随机存取存储器1021、Flash存储器1022、SD存储卡1023的至少一个内存存储器的指令翻译出来,最后发送操作信号给控制器,以实现程序的运行或数据的处理。
本发明实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使内窥镜能够执行本发明任意方法实施例所述的内窥镜内存管理方法,例如,执行以上描述的图2至图3,图5至图7所示的各个步骤,实现图8至图9所述的各个模块的功能。
本发明实施例还提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使计算机执行上述任意方法实施例中的内窥镜内存管理方法,例如,执行以上描述的图2至图3,图5至图7所示的各个步骤,实现图8至图9所述的各个模块的功能。
需要说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
通过以上的实施例的描述,本领域普通技术人员可以清楚地了解到各实施例可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (11)

  1. 一种内窥镜内存管理方法,其特征在于,包括:
    在当前功能模式下,获取模式切换指令,所述当前功能模式为实时视频预览模式、媒体管理模式以及设置模式中的任一模式,所述实时视频预览模式、所述媒体管理模式以及所述设置模式是相互解耦的,以使所述各功能模式占用的至少部分内存资源非共享;
    切换所述当前功能模式为所述模式切换指令所指向的目标功能模式;
    释放所述当前功能模式占用的内存资源。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    在所述当前功能模式下执行用户交互功能时,获取功能选择指令;
    根据所述功能选择指令,搜索预设菜单树,以逐级遍历所述功能选择指令所指向的目标窗口,所述预设菜单树包括每个所述当前功能模式对应的分支菜单,每条分支菜单包括父窗口以及所述父窗口下的若干子窗口;
    显示所述目标窗口。
  3. 根据权利要求2所述的方法,其特征在于,每一所述父窗口下的所述子窗口不超过三个。
  4. 根据权利要求2所述的方法,其特征在于,所述显示所述目标窗口,包括:
    根据所述用户交互功能与窗口的对应关系,显示所述目标窗口;
    其中,所述对应关系包括视频回放功能对应双缓冲窗口,除视频回放功能以外的其他用户交互功能对应对话框窗口或者普通窗口。
  5. 根据权利要求2-4任一项所述的方法,其特征在于,所述方法还包括:
    除了所述目标窗口使用的图片和父窗口中被所述父窗口下的子窗口同时使用的图片,其他图片随着窗口的销毁而销毁。
  6. 根据权利要求2-4任一项所述的方法,其特征在于,所述方法还包括:
    仅加载所述用户交互功能所使用的语言对应的字符串或所述当前功能模式对应的字符串。
  7. 根据权利要求2-4任一项所述的方法,其特征在于,所述方法还包括:
    根据所述用户交互功能,裁剪所述内窥镜的字库。
  8. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    扫描所述内窥镜的若干个内存碎片;
    定时压缩所述若干个内存碎片。
  9. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    扫描所述内窥镜的若干个内存碎片;
    在切换所述功能模式时,压缩所述若干个内存碎片。
  10. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    根据在所述当前功能模式下执行的功能,确定内存分配策略;
    根据所述内存分配策略,当所述功能执行完毕时,释放所述功能使用的变量或对象。
  11. 一种内窥镜,其特征在于,包括:
    至少一个处理器;以及,
    与所述至少一个处理器通信连接的存储器;其中,
    所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-10任一项所述的内窥镜内存管理方法。
PCT/CN2021/088777 2020-05-15 2021-04-21 一种内窥镜内存管理方法及内窥镜 WO2021227803A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010412915.9A CN111597046B (zh) 2020-05-15 2020-05-15 一种内窥镜内存管理方法及内窥镜
CN202010412915.9 2020-05-15

Publications (1)

Publication Number Publication Date
WO2021227803A1 true WO2021227803A1 (zh) 2021-11-18

Family

ID=72191070

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/088777 WO2021227803A1 (zh) 2020-05-15 2021-04-21 一种内窥镜内存管理方法及内窥镜

Country Status (2)

Country Link
CN (1) CN111597046B (zh)
WO (1) WO2021227803A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116028383A (zh) * 2022-08-22 2023-04-28 荣耀终端有限公司 缓存管理方法及电子设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111597046B (zh) * 2020-05-15 2023-12-22 深圳市道通科技股份有限公司 一种内窥镜内存管理方法及内窥镜
CN112338919B (zh) * 2020-10-30 2022-03-04 珠海一微半导体股份有限公司 一种机器人的运行控制方法、机器人及芯片

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101040774A (zh) * 2006-03-23 2007-09-26 奥林巴斯医疗株式会社 图像处理装置
CN102521053A (zh) * 2011-12-13 2012-06-27 深圳市创新科信息技术有限公司 一种存储***及在线切换fc端口工作模式的方法
CN103188453A (zh) * 2011-12-31 2013-07-03 联想(北京)有限公司 一种电视播放的控制方法、装置及电子设备
CN104735359A (zh) * 2015-04-09 2015-06-24 广东欧珀移动通信有限公司 一种移动终端的相机运行方法及装置
US20160073927A1 (en) * 2013-10-02 2016-03-17 Olympus Corporation Endoscope system
CN109564471A (zh) * 2016-08-12 2019-04-02 波士顿科学国际有限公司 具有主/次交互特征的分布式交互医学可视化***
CN111597046A (zh) * 2020-05-15 2020-08-28 深圳市道通科技股份有限公司 一种内窥镜内存管理方法及内窥镜

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103716535B (zh) * 2013-12-12 2018-04-27 乐视致新电子科技(天津)有限公司 一种切换拍摄模式方法和电子设备
CN108833960A (zh) * 2018-06-14 2018-11-16 青岛海信传媒网络技术有限公司 一种音视频应用切换的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101040774A (zh) * 2006-03-23 2007-09-26 奥林巴斯医疗株式会社 图像处理装置
CN102521053A (zh) * 2011-12-13 2012-06-27 深圳市创新科信息技术有限公司 一种存储***及在线切换fc端口工作模式的方法
CN103188453A (zh) * 2011-12-31 2013-07-03 联想(北京)有限公司 一种电视播放的控制方法、装置及电子设备
US20160073927A1 (en) * 2013-10-02 2016-03-17 Olympus Corporation Endoscope system
CN104735359A (zh) * 2015-04-09 2015-06-24 广东欧珀移动通信有限公司 一种移动终端的相机运行方法及装置
CN109564471A (zh) * 2016-08-12 2019-04-02 波士顿科学国际有限公司 具有主/次交互特征的分布式交互医学可视化***
CN111597046A (zh) * 2020-05-15 2020-08-28 深圳市道通科技股份有限公司 一种内窥镜内存管理方法及内窥镜

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116028383A (zh) * 2022-08-22 2023-04-28 荣耀终端有限公司 缓存管理方法及电子设备
CN116028383B (zh) * 2022-08-22 2023-10-20 荣耀终端有限公司 缓存管理方法及电子设备

Also Published As

Publication number Publication date
CN111597046B (zh) 2023-12-22
CN111597046A (zh) 2020-08-28

Similar Documents

Publication Publication Date Title
WO2021227803A1 (zh) 一种内窥镜内存管理方法及内窥镜
CN107391653B (zh) 一种分布式NewSQL数据库***及图片数据储存方法
US20210240636A1 (en) Memory Management Method and Apparatus
US11893653B2 (en) Unified memory systems and methods
US7605818B2 (en) Image processing device, method, and storage medium which stores a program
US6615364B1 (en) Computer system and methods for acquiring dump information and system recovery
US20220270202A1 (en) Modifying Processing of Commands in a Command Queue Based on Accessed Data Related to a Command
JP4753549B2 (ja) キャッシュメモリおよびシステム
US20190227918A1 (en) Method for allocating memory resources, chip and non-transitory readable medium
US7602393B2 (en) Image processing device, method, and storage medium which stores a program
CN112068896A (zh) Dts修改的方法、装置及计算机可读存储介质
CN109117086B (zh) 存储设备数据位置的处理方法、装置、设备及存储介质
CN114237916B (zh) 一种数据处理方法及相关设备
JP2009098822A (ja) データ処理装置及び共有メモリのアクセス方法
CN113127213A (zh) 支持多应用共享数据的方法、装置、设备及存储介质
US9778969B2 (en) Automatic memory leak detection
US20070271419A1 (en) Memory administrating method
CN115543225A (zh) 数据处理方法、***、装置、计算机存储介质及电子设备
CN110728773A (zh) 一种图像存储的方法、装置和电子设备
JP2006228138A (ja) 半導体記憶装置、記憶制御方法および情報機器
JP2006172100A (ja) オペレーティングシステムの高速切替え方式及びその方法
CN115495020A (zh) 文件处理方法、装置、电子设备和可读存储介质
RU2666334C2 (ru) Способ обработки данных
JP4964219B2 (ja) 画像処理装置、方法及びプログラム
US20220083464A1 (en) Memory pool management

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21803337

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21803337

Country of ref document: EP

Kind code of ref document: A1