Method for debugging a camera control unit (CCU)

By loading the running program of the expansion unit in the temporary memory of the CCU, the problem of coordination complexity between the CCU and the expansion unit is solved, and flexible expansion function adaptation and simplified approval process are realized, maintaining the independence and certification of the CCU.

CN113647091BActive Publication Date: 2025-07-29SCHOLLY FIBEROPTIC GMBH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202080024389.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-03-27
Filing Date
2020-03-25
Publication Date
2025-07-29
Estimated Expiration
2040-03-25

AI Technical Summary

Technical Problem

When connected to the expansion unit, existing camera control units (CCUs) need to frequently update the running programs to adapt to different expansion functions, resulting in complex approval and certification and the inability to flexibly handle diversified expansion requirements.

Method used

By loading the running program of the expansion unit in the temporary memory of the CCU, checking whether the expansion unit is connected, and loading or replacing the running program of the CCU if necessary, using the TFTP server to keep the running program ready, and configuring the FPGA to adapt to the functionality of the expansion unit.

Benefits of technology

It realizes flexible coordination between the CCU and the expansion unit, avoids frequent updates of the CCU running programs, simplifies the approval process, supports instant loading of the extension functions, and maintains the independence and authentication stability of the CCU.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113647091B_ABST
    Figure CN113647091B_ABST
Patent Text Reader

Abstract

The present invention relates to a method for debugging a camera control unit (1), the camera control unit defining a first processing path for video data, wherein an operating program for the camera control unit (1) is loaded from a non-volatile program memory into a temporary memory (3) of the camera control unit (1), and it is checked whether an expansion unit (5) is connected to the camera control unit (1), and if so, at least a part of the operating program is loaded from a non-volatile program memory (6) of the expansion unit (5) into the temporary memory (3) of the camera control unit (1), wherein the expansion unit (5) includes a TFTP server, and a boot loader of the camera control unit checks whether the TFTP server holds a bootable operating program ready.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method for debugging a camera control unit (CCU), wherein an operating program for the CCU is loaded from a non-volatile program memory into a temporary memory of the CCU. Background Art

[0002] Such camera control units are known, for example, from the field of endoscopes, where a video data stream is generated by a video endoscope or the camera head of an endoscope, and the video data stream is processed in the camera control unit for visualization or other purposes.

[0003] It has been proposed that such camera control units are provided with an expansion module in order to define a second video data processing path, which, for example, implements a changed or extended function. Summary of the Invention

[0004] The present invention here relates to the task of enabling the camera control unit and the expansion unit to be coordinated with each other.

[0005] According to the present invention, this task is solved by a method having the features of the present invention. Thus, a method for debugging a camera control unit is proposed, the camera control unit defining a first processing path for video data, wherein an operating program for the camera control unit is loaded from a non-volatile program memory into a temporary memory of the camera control unit, characterized in that it is checked whether an expansion unit is connected to the camera control unit, and if the expansion unit is connected to the camera control unit, at least a part of the operating program is loaded from a non-volatile program memory of the expansion unit into the temporary memory of the camera control unit, wherein the expansion unit includes a TFTP server, and a boot loader of the camera control unit checks whether the TFTP server holds a bootable operating program ready.

[0006] Accordingly, the method described at the beginning is characterized in particular by checking whether the expansion unit is connected to the CCU, and if the expansion unit is connected to the CCU, at least a part of the operating program is loaded from a non-volatile program memory of the expansion unit into the temporary memory of the CCU.

[0007] Now, the advantage of the method according to the present invention is that the expansion unit itself correspondingly has the operating program required for its operation, and the operating program is loaded from this expansion unit into the operating program of the camera control unit (CCU).

[0008] Thus, in particular, it is not necessary to change the operating program of the CCU in the non-volatile program memory of the CCU.

[0009] This has the particular advantage that the camera control unit (CCU) remains an independent unit. Once the expansion unit is removed, the originally existing operating program is then loaded again, so that the usual functions are then provided again without problems.

[0010] Accordingly, the CCU does not have to be designed from scratch for each possible expansion. Nor does the operating program of the CCU have to be updated regularly to be compatible with new expansion units that may never be used.

[0011] This has the additional advantage that in particular the approval issue can be handled more easily, because when approving the camera control unit, it is not necessary to take into account too much variant diversity. Since the CCU is not constantly changed, the CCU retains its approval and / or certification.

[0012] In one embodiment of the invention, the operating program or some parts or modules of the operating program are changed, supplemented or replaced in the temporary memory of the CCU by an operating program loaded from the expansion unit. Here, therefore, the operating program of the CCU can first be loaded from its non-volatile program memory. Thereafter, it is checked within the operating program whether the expansion unit is connected, and thereafter an operating program is loaded from the expansion unit, which replaces, changes or supplements a part of the operating program in the temporary memory.

[0013] In a preferred embodiment, the CCU has a configurable image processing unit, in particular a field programmable gate array (FPGA). Such an FPGA is usually configured during the initialization phase of the operating program in such a way that configuration data is written into the FPGA. In one embodiment of the invention, the configuration data for the configurable image processing unit is loaded from the non-volatile program memory of the expansion unit. This means that, for example, the operating program of the CCU remains unchanged and only the FPGA is configured according to the expansion unit.

[0014] In such an embodiment, it can be advantageous to check for the presence of the expansion unit during this initialization phase, in particular before loading the configuration data into the FPGA.

[0015] This is particularly appropriate when the video data is processed mainly or only in the FPGA.

[0016] In one embodiment of the present invention, the inspection is carried out after connecting or disconnecting the expansion unit. Here, the operating program of the CCU can be loaded during operation and correspondingly replaced or supplemented in the temporary memory. In particular, reconfiguration of the FPGA is simply feasible. Here, there is the advantage that the expansion unit can be connected during operation. This can be appropriate if the need for the expansion unit only arises during operation, for example during an operation with complexity. Thus, for example, a switch from 2D display to 3D display can be made during operation.

[0017] In a suitable embodiment of the present invention, the inspection is carried out before loading the operating program of the CCU.

[0018] Here, it is particularly advantageous that the operating program of the CCU is loaded entirely from the non-volatile program memory of the expansion unit. This means that no operating program is loaded from the non-volatile program memory of the CCU. In this way, the operating program is always loaded which is overall precisely coordinated with the expansion unit and with the functions associated with the expansion unit. Here, there is no need to set the operating program of the CCU in any way in the operating program of the CCU, because in this case the operating program is loaded entirely from the expansion unit.

[0019] In this embodiment, it can be advantageous that the inspection and the loading of the operating program are carried out during the startup process of the CCU, where the PXE protocol is used and the expansion unit keeps the operating program ready on the TFTP server. The inspection can be carried out, for example, by the startup loader of the microcontroller of the CCU.

[0020] Checking whether the expansion unit is connected can be carried out, for example, by the startup loader checking whether there is a TFTP server and whether this TFTP server keeps a bootable operating program ready.

[0021] With the present invention, a second or alternative processing path for video data can be defined in the expansion unit. This can be used, for example, for 3D display or image overlay or for further image processing, which is not feasible with the CCU basic unit.

[0022] The present invention also includes a camera control unit having an interface for connection to an expansion unit, characterized in that the camera control unit has a temporary memory and the camera control unit is configured to load an operating program from the non-volatile program memory of the connected expansion unit into the temporary memory.

[0023] In particular, the camera control unit is configured such that the loading is carried out according to the method according to the present invention.

[0024] Advantageously, the operating program is transmitted via a data connection device, in particular a wireless or wired interface.

[0025] The invention also includes an expansion unit for connecting to a camera control unit, characterized in that the expansion unit has a non-volatile program memory for the operating program of the camera control unit and an interface for the data connection device, via which the operating program can be transmitted to the camera control unit.

[0026] The invention also includes an image processing system having at least one camera control unit, in particular a camera control unit according to the invention, and at least one expansion unit, in particular an expansion unit according to the invention, wherein the at least one camera control unit and the at least one expansion unit are connected to each other via a data connection device and a video signal line, and wherein the expansion unit has a non-volatile program memory in which an operating program is pre-stored. This operating program can be loaded, in particular according to the method of the invention, into the temporary memory of the camera control unit via the data connection device. Description of the Drawings

[0027] The invention will now be explained in more detail on the basis of preferred embodiments with reference to the accompanying drawings. In the drawings:

[0028] Figure 1 A flowchart of a method according to the invention is shown,

[0029] Figure 2 A flowchart of another method according to the invention is shown,

[0030] Figure 3 A flowchart of another method according to the invention is shown,

[0031] Figure 4 A block diagram of a system for performing a method according to the invention with one camera control unit and one expansion unit is shown,

[0032] Figure 5 Shows Figure 4 Another block diagram of the system

[0033] Figure 6 Shows Figure 4 Another block diagram of the system

[0034] Figure 7 A block diagram of a system for performing a method according to the invention with one camera control unit and two expansion units is shown,

[0035] Figure 8shows Figure 7 another block diagram of the system

[0036] Figure 9 shows a block diagram of a system having two camera control units, one expansion unit, and two monitors for performing the method according to the present invention

[0037] Figure 10 shows a block diagram of a system having two camera control units, one expansion unit, and one monitor for performing the method according to the present invention Detailed Description

[0038] Figure 1 shows a flowchart of a method for debugging the camera control unit 1 according to the present invention. The camera control unit is described in more detail, for example, in Figure 5

[0039] According to the Figure 1 method, after starting the camera control unit (base unit) 1, the operating program is first loaded from the non-volatile program memory 2 of the base unit 1 at S2. This program memory 2 can be, for example, a read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), flash memory, hard disk, or removable storage medium (such as a compact disc read-only memory). The operating program is loaded into the temporary memory 3 of the base unit 1. The base unit 1 typically has a microcontroller 4 or microprocessor that implements the operating program

[0040] After the operating program is loaded, the operating program is implemented. Within the operating program, for example, in the initialization phase, it is checked at S3 whether the expansion unit 5 is connected to the base unit 1. Such a check can be performed, for example, by analyzing a switch (which is activated when the expansion unit 5 is connected) or via a control instruction at the interface. In addition, there are known various other possibilities in the prior art. If it is determined that no expansion unit 5 is linked, the operating program is further implemented at S4

[0041] ​However, if the expansion unit 5 is connected to the base unit 1, the running program load S5 is loaded from the non-volatile program memory 6 of the expansion unit 5 into the temporary memory 3 of the base unit 1. Now, such a running program of the expansion unit 5 is adapted to the use of the expansion unit 5. In order to adapt the base unit 1 to the expansion unit 5, at least a part of the running program S6 of the base unit 1 is replaced, supplemented or changed. This can be done, for example, in the temporary memory 3 of the base unit 1 or, for example, in the working memory of the microcontroller. Here, for example, a module for activating the expansion unit 5 can be loaded or supplemented, or an algorithm for image processing can be replaced. Here, it is decisive that the expansion unit 5 itself contains the running program necessary for the expansion unit, and this running program is temporarily loaded into the base unit 1. Here, the loading process is carried out again each time the base unit is turned on. If the expansion unit 5 is removed again thereafter, the usual functions of the base unit 1 are provided, because then the unchanged, original running program of the base unit 1 is loaded and implemented.

[0042] Here, it is advantageous that at the time of manufacturing the base unit 1, the subsequent expansion unit 5 does not need to be considered.

[0043] Reference Figure 6 to illustrate Figure 2 the method. Here, the camera control unit 1 (i.e., the base unit) has an FPGA 7 as a video processing unit. After startup S1, as in Figure 1 First, the running program is loaded from the non-volatile program memory 2 of the base unit 1 into the temporary program memory 3 of the base unit 1.

[0044] Next, it is checked S3 whether the expansion unit 5 is connected to the base unit 1. If the expansion unit 5 is not connected, the configuration data S7 for the FPGA 7 is loaded from the non-volatile program memory 2 of the base unit 1. Finally, the configuration data is written S9, for example by the microcontroller 4, into the FPGA 7. The base unit 1 defines a first processing path for video data with the FPGA 7. Then, the running program is implemented in step S4.

[0045] However, if the expansion unit 5 is connected, instead the configuration data S8 for the FPGA 7 is loaded from the non-volatile program memory 6 of the expansion unit 5. Then this alternative configuration data is written S9 into the FPGA 7 and this alternative configuration data is implemented S4. In this embodiment, the configuration data for the FPGA 7 is part of the running program in the sense of the present invention.

[0046] In this embodiment, it can be advantageous that the video processing is carried out entirely by the FPGA 7. For this reason, it can be sufficient that only the configuration data of the FPGA is adapted to the changed function of the expansion unit 5.

[0047] Finally, Figure 3 Figure 3 shows a method that implements a startup procedure S10 after starting the S1 base unit 1. This startup process S10 occurs before the loading of the running program. During this startup process, it is checked whether the S3 expansion unit 5 is connected. This checking process is also implemented before the loading of the running program. This startup program S10 can be implemented, for example, in the bootloader of the microcontroller 4.

[0048] If the expansion unit 5 is not connected, the running program of the base unit 1 is loaded S2 from the non-volatile program memory 2 of the base unit 1 into the temporary memory 3 of the base unit 1. Then the S4 running program is implemented.

[0049] However, if the expansion unit 5 is connected, the running program is loaded S5 from the non-volatile program memory 6 of the expansion unit 5 into the temporary memory 3 of the base unit 1. Then the running program is implemented. In this embodiment, the running program is then completely loaded from the expansion unit. This is particularly advantageous because the running program can thus be very well adapted to the expansion unit, and the running program of the base unit does not need to have provisions for possible expansion units.

[0050] The expansion unit 5 can provide the running program, for example, by means of a TFPT server. In such a case, the base unit 1 can directly access the TFPT server from the startup program via the PXE startup protocol, for example, in order to load the running program from the expansion unit 5.

[0051] Figure 4 Figure 4 shows a system 8 that has a camera control unit as the base unit 1 and an expansion unit 5 connected to this base unit 1. The connection can be made, for example, via a data connection device 9. Such a data connection device 9 can be a standard interface (such as USB or Ethernet), or it can be a wireless interface (such as WiFi or Bluetooth). However, a simple data interface (such as an I2C bus or the like) can also be constructed at the microcontroller level.

[0052] In this system 8, the base unit 1 has a video input terminal 10 to which a camera 11 (such as a video endoscope or an endoscope with a camera head) is connected. The base unit 1 also has a video output terminal 12 to which a screen 13 is connected. Thus, the base unit 1 defines a first processing path for video data. The expansion unit 5 defines a second or alternative processing path for video data.

[0053] Here, it is feasible that the expansion unit 5 receives the unprocessed, partially processed, or processed video data of the camera 11 from the base unit 1. The expansion unit 5 can then subject the video data to further processing steps.

[0054] Figure 5 shown Figure 4 Another schematic diagram of the system 8. The base unit 1 has a non-volatile program memory 2 in which the operating program of the base unit 1 is stored. The base unit 1 also has a temporary memory 3 into which the operating program is temporarily loaded. Such a temporary memory 3 can be a flash memory, a static random access memory (SRAM), or the working memory of the microcontroller 4 (see Figure 6 ). The expansion unit 5 likewise has a non-volatile program memory 6 in which the operating program of the expansion unit 5 is stored. When starting the base unit 1, according to Figure 3 's method, the operating program is loaded from the base unit 1 or from the expansion unit 5 into the temporary memory 3 of the base unit 1 by the boot loader 14.

[0055] Figure 6 Shown is a further schematic diagram of the system 8. The base unit 1 also has a microcontroller 4 and an FPGA 7, and the FPGA is connected to the microcontroller 4. According to the method according to Figure 2 , the FPGA 7 is configured by the microcontroller 4, wherein the configuration data is loaded from the non-volatile program memory 2 of the base unit or from the non-volatile program memory 6 of the expansion unit 5 according to the presence of the expansion unit 5.

[0056] The expansion unit 5 likewise has a microcontroller 4 which has a separate operating program. The operating program is stored in a separate non-volatile program memory 6 and is loaded into the temporary memory 3 of the expansion unit 5 at startup. The expansion unit 5 likewise has an FPGA 7 for video processing.

[0057] The two FPGAs 7 are connected to each other via a separate video signal connection means 15. Depending on the application, the FPGA 7 of the base unit 1 is configured by the operating program of the expansion unit 5 such that the FPGA passes the video signal to the FPGA 7 of the expansion unit unprocessed or preprocessed with a specific limit value. Thus, for example, for 3D image display, the FPGA 7 of the base unit 1 can be configured such that the FPGA processes, for example, the left image path, while the FPGA 7 of the expansion unit processes the right image path. However, here, a variety of other applications are feasible, and thus the present invention should not be limited to a specific type of video processing.

[0058] To transmit video signals to an expansion unit, for example, there can be a separate video signal interface (such as an SDI interface). However, existing interfaces (such as the DVI interface or HDMI interface of the base unit) can also be reprogrammed through an expansion runtime program to enable video signal transmission using a non-specific interface. In this way, the base unit does not need to have a separate interface. In other cases, the video output 12 that is usually set up to connect to a screen can be used to exchange video signals between two FPGAs.

[0059] Figure 7 There is shown an alternative system 8 having a base unit and two expansion units 5. Among them, the expansion units 5 are arranged in series, so that only one expansion unit 5 is directly connected to the base unit 1. The second expansion unit 5-2 is thus connected to the first expansion unit 5-1. According to Figure 8 this, the system 8 corresponds in other respects to Figure 6 the system of

[0060] Here, for example, it is feasible that the first expansion unit 5-1 loads the runtime program from the second expansion unit 5-2 according to the method of the present invention. The first expansion unit 5-1 also has a temporary memory 3 for this purpose. And the base unit loads the runtime program from the first expansion unit 5-1 according to the method of the present invention.

[0061] Figure 9 There is shown an alternative system 8 having two base units 1 and one expansion unit 5, and the expansion unit is connected between the two base units 1. In this system 8, the two base units 1 load the runtime program from the expansion unit 1 according to the present invention.

[0062] In this example, each base unit 1 has a video input 10 and a video output 12, and a camera 11 or a screen 13 is connected to the video input and video output respectively. For example, such a system is suitable for a picture-in-picture display or for image superposition in different spectral ranges, such as fluorescence images and normal images.

[0063] Figure 10 There is shown a system 8 similar to Figure 9 However, here, the expansion unit 5 has a video output 12, and a single screen 13 is connected to this video output. Therefore, for example, 3D display is possible.

[0064] List of reference numerals

[0065] 1 Base unit

[0066] 2 Non-volatile program memory of the base unit

[0067] 3 Temporary memory

[0068] 4 Microcontroller

[0069] 5 Expansion Unit

[0070] 6 Non-volatile Program Memory of Expansion Unit

[0071] 7 Field Programmable Gate Array

[0072] 8 System

[0073] 9 Cable Connection Device

[0074] 10 Video Input Terminal

[0075] 11 Camera

[0076] 12 Video Output Terminal

[0077] 13 Screen

[0078] 14 Boot Loader

[0079] 15 Video Signal Connection Device

[0080] S1 Start

[0081] S2 Load and Run Program from Basic Unit

[0082] S3 Check if Expansion Unit is Connected

[0083] S4 Execute Running Program

[0084] S5 Load and Run Program from Expansion Unit

[0085] S6 Change / Supplement / Replace Running Program

[0086] S7 Load FPGA Configuration Data from Basic Unit

[0087] S8 Load FPGA Configuration Data from Expansion Unit

[0088] S9 Write FPGA Configuration Data to FPGA

[0089] S10 Execute Boot Program

Claims

1. A method for debugging a camera control unit (1), the camera control unit defining a first processing path for video data, wherein, The operating program for the camera control unit (1) is loaded from the non-volatile program memory of the camera control unit (1) into the temporary memory (3) of the camera control unit (1), characterized in that it is checked whether the expansion unit (5) is connected to the camera control unit (1), and if the expansion unit (5) is connected to the camera control unit (1), the operating program required for the operation of the expansion unit is loaded from the non-volatile program memory (6) of the expansion unit (5) into the temporary memory (3) of the camera control unit (1), wherein the operating program for the camera control unit (1) or some parts or modules of the operating program are changed, supplemented or replaced by the operating program loaded from the expansion unit (5), and after the removal of the expansion unit, the unchanged, original operating program for the camera control unit (1) is again loaded from the non-volatile program memory of the camera control unit (1) into the temporary memory (3) of the camera control unit (1) and the operating program is executed. The expansion unit (5) defines a second or alternative processing path for the video data, which is used for 3D display or image overlay or for further image processing and which is not feasible using the first processing path of the camera control unit (1).

2. The method according to claim 1, wherein The operating program or some parts or modules of the operating program are changed, supplemented or replaced in the temporary memory (3) of the camera control unit (1) by the operating program loaded from the expansion unit (5).

3. The method according to claim 1 or 2, characterized in that, The camera control unit (1) has a configurable image processing unit, and the operating program loaded from the non-volatile program memory (6) of the expansion unit (5) contains at least configuration data for the configurable image processing unit (7).

4. The method according to claim 3, wherein The image processing unit is an FPGA.

5. The method according to claim 1 or 2, characterized in that, The check is carried out before the loading of the operating program and / or after connecting or disconnecting the expansion unit (5).

6. The method according to claim 1 or 2, characterized in that, The operating program of the camera control unit (1) is completely loaded from the non-volatile program memory (6) of the expansion unit (5).

7. The method according to claim 6, wherein The loading of the operating program is carried out during the startup process of the camera control unit (1), wherein the PXE protocol is used and the expansion unit (5) keeps the operating program ready on a TFTP server.

8. A camera control unit (1), the camera control unit having an interface for connection to an expansion unit (5), characterized in that, The camera control unit (1) has a temporary memory (3), and the camera control unit is configured to load the operating program from the non-volatile program memory (6) of the connected expansion unit (5) into the temporary memory (3) according to the method according to any one of claims 1 to 7.

9. The camera control unit (1) according to claim 8, characterized in that, The operating program is transmitted via a data connection device (9).

10. The camera control unit (1) according to claim 9, characterized in that, The data connection device (9) is a wireless or wired interface.

11. An expansion unit (5) for connection to a camera control unit (1) according to any one of claims 8 to 10, characterized in that, The expansion unit (5) has a non-volatile program memory (6) for the operating program of the camera control unit (1) and has an interface for the data connection device (9), via which the operating program can be transmitted to the camera control unit (1).

12. An image processing system (8), the image processing system having at least one camera control unit (1) and having at least one expansion unit (5), the at least one camera control unit and the at least one expansion unit being connected to each other via a data connection means (9) and a video signal line (15), wherein, The expansion unit (5) has a non-volatile program memory (6) in which a running program is pre-stored, and the running program can be loaded into the temporary memory (3) of the camera control unit (1) via the data connection means (9) according to the method described in any one of claims 1 to 7.

13. The image processing system (8) according to claim 12, characterized in that, The camera control unit (1) is the camera control unit described in any one of claims 8 to 10.

14. The image processing system (8) according to claim 12, wherein, The expansion unit (5) is the expansion unit described in claim 11.

Citation Information

Patent Citations

  • Programmable and reconfigurable camera control unit for video systems

    US20040201743A1

  • Electronic still camera with replaceable digital processing program

    US5734425A