WO2023226845A1 - 图像数据传输方法、装置和电子设备 - Google Patents
图像数据传输方法、装置和电子设备 Download PDFInfo
- Publication number
- WO2023226845A1 WO2023226845A1 PCT/CN2023/094723 CN2023094723W WO2023226845A1 WO 2023226845 A1 WO2023226845 A1 WO 2023226845A1 CN 2023094723 W CN2023094723 W CN 2023094723W WO 2023226845 A1 WO2023226845 A1 WO 2023226845A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image data
- address
- transmission
- row
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0007—Image acquisition
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
Definitions
- the present application belongs to the field of communication technology, and specifically relates to an image data transmission method, device and electronic equipment.
- the image processing module processes image data in units of pixel blocks as needed, while the image data collected by the camera is transmitted and stored in rows.
- the high-performance scalable interface Advanced eXtensible Interface, AXI
- the first address of each burst transmission needs to be set according to the way the data in the memory is stored in rows, but at the same time it needs to be set according to the required Make necessary adjustments to the format of the data block.
- a burst of data is transmitted for 8 clocks, which is equivalent to reading 64 pixels of data in a row each time. These data are stored in a continuous interval starting from the specified address, but this method requires the preparation of additional data. Storage space, back up the read data of 64 pixels per row, and then convert it into 8 ⁇ 8 data blocks for processing; in another way, assuming that a burst transmission only processes the data of 1 clock, which is equivalent to Read the data of 8 pixels in one row each time, then send the storage address of the next row of data through the address channel, and continue to read the data of 8 pixels in the next row, but this method requires sending the address information multiple times to read each row.
- the data of 8 pixels is composed of an 8 ⁇ 8 data block, causing the overall transmission efficiency to be too low.
- the purpose of the embodiments of the present application is to provide an image data transmission method, device and electronic equipment that can solve the problem of low transmission efficiency in the related art when image data blocks are transmitted without increasing cache storage space.
- embodiments of the present application provide an image data transmission method, which method includes:
- the image data is transmitted according to the first address information and the address offset of each transmission, wherein, after each row of image data is transmitted, the first address of the row is added to the address offset to skip. Go to the first address of the next line and transmit the next line of image data.
- an image data transmission device including:
- the first acquisition module is used to acquire image data format information
- the first determination module is used to determine the address offset according to the image data format information
- the second acquisition module is used to obtain the first address information of each transmission of image data
- a transmission module configured to transmit image data according to the first address information of each transmission and the address offset, wherein, after each row of image data is transmitted, the first address of the row plus the address offset is used. Shift to jump to the first address of the next line and transmit the next line of image data.
- inventions of the present application provide an electronic device.
- the electronic device includes a processor and a memory.
- the memory stores programs or instructions that can be run on the processor.
- the programs or instructions are processed by the processor.
- the processor is executed, the steps of the image data transmission method described in the first aspect are implemented.
- embodiments of the present application provide a readable storage medium.
- Programs or instructions are stored on the readable storage medium.
- the image data transmission as described in the first aspect is implemented. Method steps.
- inventions of the present application provide a chip.
- the chip includes a processor and a communication interface.
- the communication interface is coupled to the processor.
- the processor is used to run programs or instructions to implement the first aspect.
- the image data transmission method is used to run programs or instructions to implement the first aspect.
- embodiments of the present application provide a computer program product.
- the program product is stored In the storage medium, the program product is executed by at least one processor to implement the image data transmission method as described in the first aspect.
- the image data format information is obtained; the address offset is determined according to the image data format information; the first address information of each transmission of the image data is obtained; and the first address information of each transmission is obtained and the The address offset is used to transmit image data.
- the first address of the line is added to the address offset to jump to the first address of the next line and the next line of image is transmitted. data.
- the address offset it can automatically jump to the transmission address of the next line of image data based on the first address information and address offset during transmission, thereby achieving continuous transmission of multiple lines of image data without increasing cache storage. While saving space, it improves the transmission efficiency of image data blocks.
- Figure 1a is one of the schematic diagrams of the AXI bus transmitting image data with different burst transmission lengths provided by the embodiment of the present application;
- Figure 1b is the second schematic diagram of the AXI bus transmitting image data with different burst transmission lengths provided by the embodiment of the present application;
- Figure 2 is an example diagram of image processing from the upper left to the lower right in units of 8 ⁇ 8 pixel blocks provided by the embodiment of the present application;
- Figure 3 is an example diagram of the image data of the camera provided by the embodiment of the present application being transmitted and stored in units of one line;
- Figure 4 is an example diagram in which the JPEG image compression provided by the embodiment of the present application is processed in units of 8 ⁇ 8 pixel blocks;
- Figure 5 is an example diagram in which the AXI bus provided by the embodiment of the present application jumps in each row to transmit image data to meet the format requirements of the pixel block;
- Figure 6 is a flow chart of an image data transmission method provided by an embodiment of the present application.
- Figure 7 is a schematic diagram of the AXI address space mapping module in the data flow provided by the embodiment of this application.
- Figure 8 is a schematic diagram of the AXI address space mapping module provided by the embodiment of this application.
- Figure 9 The embodiment of this application provides address mapping based on AXI address information and continuously reads 8 lines. Example plot of image data;
- Figure 10 is a schematic structural diagram of an image data transmission device provided by an embodiment of the present application.
- FIG. 11 is a schematic diagram of the module structure of the electronic device provided by the embodiment of the present application.
- Figure 12 is a schematic diagram of the hardware structure of an electronic device provided by an embodiment of the present application.
- first, second, etc. in the description and claims of this application are used to distinguish similar objects and are not used to describe a specific order or sequence. It is to be understood that the figures so used are interchangeable under appropriate circumstances so that the embodiments of the present application can be practiced in orders other than those illustrated or described herein, and that "first,” “second,” etc. are distinguished Objects are usually of one type, and the number of objects is not limited. For example, the first object can be one or multiple.
- “and/or” in the description and claims indicates at least one of the connected objects, and the character “/" generally indicates that the related objects are in an "or” relationship.
- Figure 2 is an example of processing from the upper left to the lower right of the image in units of 8 ⁇ 8 data blocks.
- the image data collected by the camera is transmitted in units of each line of data according to the Camera Serial Interface 2 (CSI-2) specification.
- CSI-2 Camera Serial Interface 2
- the image data transmitted from the camera is saved to the memory, it is generally saved line by line in the manner recommended by the specification. After all the data in one line is stored, the next line is saved. For example, in Figure 3, the entire row of data in the first row is processed first, then the data in the next row is processed, and then the data in the third row is processed, row by row from the upper left to the lower right.
- the image data will be transmitted and processed between different modules, as well as between modules and memories as needed.
- the AXI bus is a widely used bus protocol for data transmission between the chip's internal processing module and memory.
- the AXI bus is often used for data transmission. For example, image data is read from the memory and sent to the image processing module for processing, or image data output by the image processing module is written into the memory.
- the AXI bus has an address channel and a data channel.
- the address channel specifies the first address of the memory to be accessed.
- the data channel continuously writes or reads data in sequence from the first address set by the address channel. In burst transmission mode, data of multiple clock cycles can be transmitted on the data channel to improve the efficiency of data transmission.
- JPEG Joint Photographic Experts Group
- the Joint Photographic Experts Group (JPEG) image processing module is an example of processing image data according to data blocks.
- JPEG is a widely used still image compression standard.
- the compressed image is processed in units of 8 ⁇ 8 pixel blocks, from the upper left to the lower right of the image.
- the method mentioned in this application is not only applicable to JPEG, but also to all modules that need to process data according to image data blocks.
- the first address of each burst transmission needs to be set according to the way the data in the memory is stored in rows, but at the same time, necessary adjustments need to be made according to the format of the required data block.
- the following description takes an 8 ⁇ 8 data block as an example. Other data blocks can also be processed in a similar manner.
- the AXI bus when processing the 8 ⁇ 8 data block in the upper left corner in Figure 5, the AXI bus must first read the 8 pixel data in row 1 starting from column 1, and then jump to transmit the 8 pixels in row 2 starting from column 1. pixels of data, and so on until the 8 pixels of data starting from the 8th row and 1st column are transmitted. When the 8 pixel data of rows 1 to 8 are all transmitted, the data transmission of the 8 ⁇ 8 pixel block is completed.
- the pixel depth of image data has various specifications such as 8, 10, 12, 14, and 16.
- AXI data channel The data bit width is currently 64 or 128 bits, and burst transmission can perform data transmission of multiple clocks such as 4, 8, 16, etc.
- Figure 1a and Figure 1b are simple example diagrams of AXI reading image data. Taking the pixel depth of image data as an 8-bit depth as an example, the data of 8 pixels in a row is 64 bits. Assuming that the data bit width of AXI is 64 bits, then to transmit image data with 8 bit depth and 8 pixels per line, only one clock transmission is required for each burst transmission. In Figure 1a, AXI transmits 8 clocks of data in a burst, which is equivalent to reading 64 pixels of data in a row each time.
- the embodiments of this application provide a solution for efficiently transmitting image data blocks based on the order in which the image data blocks are processed and stored in the memory, as well as the transmission characteristics of the AXI address and data channel, thereby achieving the goal of eliminating the need for additional cache storage. While using space, the purpose is to improve the efficiency of image data block transmission.
- Figure 6 is a flow chart of an image data transmission method provided by an embodiment of the present application. As shown in Figure 6, the method includes the following steps:
- Step 601 Obtain image data format information.
- the embodiment of the present application can be applied to the scenario of transmitting image data blocks on the AXI bus.
- the address mapping space is converted. After reading the pixel data required for each row of data, the address jumps to the address of the next row of data and continues to read the pixel data required for the next row, thereby achieving continuous reading of image data processing. The data for the required data block.
- an AXI address space mapping module can be added between the AXI bus data transmission processing module and the register.
- the address space mapping is performed, thereby continuously reading Get the data of the data block required by the image processing module.
- the internal structure diagram and data flow information of the AXI address space mapping module can be shown in Figure 8.
- the image data format information can first be obtained to determine the address offset based on the image data format information. Specifically, relevant image data format information, such as the size of the transmitted image data block, pixel depth, and the number of pixels in each row, can be obtained during the initial configuration.
- the AXI address space mapping module when initializing and configuring related modules including the image processing module at the application layer, the AXI address space mapping module also obtains image data format information, including image data block size, data type, pixel depth, and pixels for each row. Number, address space to store each pixel component of each row, etc.
- Step 602 Determine the address offset according to the image data format information.
- the AXI address mapping module can calculate the number of clocks required to complete the transmission of pixel data required for each row, and the address offset of each row of image data in the memory, that is, the pixels required for each row After the data is transferred, the address required to jump to the next line is used.
- the Y/Cb/Cr components can be similarly processed by component.
- the image data format information includes pixel depth and the number of pixels in each line;
- the step 602 includes:
- the address offset is determined based on the product of the pixel depth and the number of pixels in each row.
- the image data format information includes the pixel depth and the number of pixels in each row, then the address offset can be determined based on the product of the pixel depth and the number of pixels in each row.
- each row of the image has 128 pixels
- the data of each pixel component is stored in a designated address space, and the pixels of each row are stored continuously
- the amount of data in one line of each pixel component is 8 bits Shift 1024 bits, that is, add 1024 bits to the first address, and then transmit the next line of image data.
- the address offset can be quickly determined based on the product of the pixel depth and the number of pixels in each row, thereby achieving continuous transmission of multiple rows of image data.
- the image data format information includes address space information occupied by pixels in each row;
- Determining the address offset according to the image data format information includes:
- the address space size of each row is determined as the address offset.
- the image data format information may include address space information occupied by each row of pixels, that is, when the pixels of different rows of each component are not stored in continuous address intervals without interruption, but each row is designated.
- address space is one row, the address offset can be directly determined based on the address space size of each row.
- each row is specified to have a 2048-bit address space, then each row will only occupy the specified 2048-bit address.
- the first 1024 bits of the space so when jumping to the next line of transmission, an offset of 2048 bits needs to be added, and the address offset can be determined to be 2048 bits.
- the address offset can be determined based on the specified address space size occupied by the pixels in each row, thereby achieving continuous transmission of multiple rows of image data.
- Step 603 Obtain the first address information of each transmission of image data.
- the AXI address space mapping module can obtain the first address of each burst transmission from the AXI bus address channel.
- the transmission includes reading memory data or writing data to the memory.
- data of one or more clock cycles can be transmitted at a time.
- One image data block includes multiple lines of data.
- the transmission of one line of data requires one or more clock cycles.
- the number of times required to complete the transmission of an image data block is also different.
- the number of clock cycles in one transmission can transmit one image data block, only one burst transmission is required to transmit one image data block.
- Transmitting a block of image data requires multiple burst transfers.
- the method further includes:
- the step 603 includes:
- the number of transmissions required to transmit an image data block can be determined based on the number of clock cycles of each burst transmission, the size of the image data block and the transmission data bit width, and then the number of transmissions required for each transmission can be obtained based on the number of transmissions.
- First address information the number of transmissions required to transmit an image data block can be determined based on the number of clock cycles of each burst transmission, the size of the image data block and the transmission data bit width, and then the number of transmissions required for each transmission can be obtained based on the number of transmissions.
- the number of clock cycles for each burst transmission processing of AXI can be determined. This information can usually be preset by the system, and then the number of clock cycles for one transmission processing, image data block size information and transmission data bit width can be determined. The number of data lines that can be transmitted by burst transmission, and then the number of transmissions required to transmit an image data block is calculated.
- each clock cycle processes 64 bits of data, which is equivalent to 8 pixels of data. quantity, that is to say, one row of data can be processed in one clock cycle. If AXI handles 4 clock cycles per burst transfer, then 4 lines of data can be transferred at one time, and it takes 2 transfers to transfer an 8 ⁇ 8 image data block. In this way, starting from the first address specified by the first burst transmission, the first clock cycle transmits the data of 8 pixels of the specified row, then adds the 1024-bit offset to the first address, and reads the 8 pixels of the next row.
- AXI sends the first address of the fifth row again through the address channel, starts the second transmission, continues to read the subsequent 4 rows of data, and completes the reading of the 8 ⁇ 8 data block.
- AXI processes 8 clock cycles for each burst transfer, then AXI only needs to send address information once to read 8 lines of data, that is, one image data block only needs to be transferred once.
- the number of transmissions required to transmit an image data block can be determined, and the first address information of each transmission can be obtained to ensure the smooth progress of image data transmission.
- determining the number of transmissions required to transmit an image data block based on the number of clock cycles and the image data block size and transmission data bit width in the image data format information includes:
- the number of transmissions required to transmit one image data block is determined based on the number of pixels processed per clock cycle and the number of clock cycles.
- the image data format information may include pixel depth, image data block size and transmission data bit width, so that the processing of each clock cycle can be determined based on the pixel depth, image data block size and transmission data bit width.
- the number of pixels processed per clock cycle and the number of clock cycles processed in one transmission can be combined to determine the number of transmissions required to transmit an image data block.
- each clock cycle can process 64 bits of data, which is equivalent to the amount of data of 8 pixels. , that is to say, one row of data can be processed in one clock cycle. If AXI handles 4 clock cycles per burst transfer, then 4 lines of data can be transferred at one time, and it takes 2 transfers to transfer an 8 ⁇ 8 image data block.
- the 64-bit data processed by each clock is only equivalent to the amount of data of 4 pixels. At this time, each row of 8 pixels of data requires 2 clock cycles to be processed. If AXI handles 4 clock cycles per burst transfer, then only 2 lines of data can be transferred at a time, and 4 times are required to transfer an 8 ⁇ 8 image data block.
- the number of transmissions required to transmit one image data block can be determined more accurately.
- Step 604 According to the first address information of each transmission and the address offset, perform a graph Image data transmission, wherein after each line of image data is transmitted, the first address of the line plus the address offset is used to jump to the first address of the next line to transmit the next line of image data.
- the image data transmission module in the AXI address space mapping module transmits image data according to the memory address specified by the address space mapping.
- the address space mapping is performed according to the characteristics of the image data block being processed, and the data required by the current row is processed starting from the first address, instead of following the default continuous increment method of the AXI bus.
- similar line-by-line processing is performed until the data of one image data block is transmitted.
- step 604 includes:
- the image data of the j-th row where the first address information is located is transmitted, i is an integer greater than or equal to 1, and j is a positive integer;
- the row where the first address information is located can be transmitted based on the first address information of the i-th transmission. After completing the image data transmission of this row, you can add the address offset to the first address of the i-th transmission and jump to transmit the image data of the next row, and so on, each time a row of image data is transmitted , add the address offset to the address of the row, and transmit the image data of the next row until the i-th transmission is completed.
- the first address information of the i+1th transmission can be obtained, and the i+1th transmission is completed in a similar manner to the i-th transmission until one image data block is completed. transmission.
- each image data block can be transmitted in sequence according to the transmission method of one image data block introduced in the embodiment of this application.
- the image data block size is 8 ⁇ 8
- the data bit width of AXI and memory is 64 bits
- the image is 8 bits deep
- each line of the image has 128 pixels
- the data of each pixel component is stored in the specified address space.
- the pixels of each row are stored continuously.
- each clock cycle processes 64 bits of data, which is equivalent to the amount of data of 8 pixels.
- AXI processes 4 clock cycles for each burst transfer, then starting from the specified first address, the first clock cycle transmits the data of 8 pixels of the specified row, then the first address is added to the 1024-bit offset, and the next read One line of 8 pixels of data, and so on, read 4 lines of data of 8 pixels each. After that, AXI sends the first address of the fifth row again through the address channel, continues to read the subsequent 4 rows of data, and completes the reading of the 8 ⁇ 8 data block.
- AXI handles 8 clock cycles per burst transfer, then AXI only needs to send address information once to read 8 rows of data.
- the depth of the image is 16 bits under the above conditions, and other conditions remain unchanged, then the 64-bit data processed by each clock is only equivalent to the amount of data of 4 pixels. At this time, 8 pixels of data per row require 2 clocks. Processing completed.
- each row will occupy only The first 1024 bits of the specified 2048-bit address space, so when jumping to the next line, an offset of 2048 bits needs to be added.
- an example diagram of 8 ⁇ 8 data block processing is used to illustrate the difference between the implementation of the embodiment of the present application and the existing technology. It is assumed here that the data bit width of AXI and memory is 64 bits, and the image is 8 bits deep. , burst transfer reads data for 8 clock cycles each time. In the example in Figure 9, starting from the address of the first row, AXI will increase the address by default and continuously read the data of 64 pixels in the first row. In the example in Figure 9, through address mapping processing, after reading the data of 8 pixels in the first row, the next clock cycle will jump to the address of the second row to read the 8 pixels in the second row. By analogy, 8 pixels of each of the 8 rows of data are read to form an 8 ⁇ 8 data block. In this way, only one burst transmission is needed to complete the processing of an 8 ⁇ 8 data block, and the transmission efficiency is greatly improved.
- the embodiment of the present application adds an AXI address space mapping module between the AXI bus data transmission processing module and the memory, and performs address space mapping when the AXI bus processing module accesses the memory, thereby achieving continuous reading of the data of the data blocks required for image processing. , to achieve the purpose of improving the efficiency of image data block transmission based on AXI bus transmission without increasing the storage space for cache.
- the image data transmission method in the embodiment of the present application obtains image data format information; determines the address offset according to the image data format information; obtains the first address information of each transmission of image data; and obtains the first address information of each transmission according to the first address of each transmission.
- the address information and the address offset are used to transmit image data. After each row of image data is transmitted, the first address of the row is added to the address offset to jump to the first address of the next row. Transfer the next line of image data.
- determining the address offset it can automatically jump to the transmission address of the next line of image data based on the first address information and address offset during transmission, thereby achieving continuous transmission of multiple lines of image data without increasing cache storage. While saving space, it improves the transmission efficiency of image data blocks.
- the execution subject may be an image data transmission device.
- an image data transmission device performing an image data transmission method is used as an example to illustrate the image data transmission device provided by the embodiment of the present application.
- the image data transmission device 1000 includes:
- the first acquisition module 1001 is used to acquire image data format information
- the first determination module 1002 is used to determine the address offset according to the image data format information
- the second acquisition module 1003 is used to acquire the first address information of each transmission of image data
- the transmission module 1004 is used to transmit image data according to the first address information of each transmission and the address offset. Wherein, after each row of image data is transmitted, the first address of the row is added to the address. Offset to jump to the first address of the next line and transmit the next line of image data.
- the image data format information includes pixel depth and the number of pixels in each line;
- the first determining module 1002 is configured to determine the address according to the product of the pixel depth and the number of pixels in each row.
- the image data format information includes address space information occupied by pixels in each row;
- the first determination module 1002 includes:
- a first determination unit configured to determine the address space size of each row based on the address space information occupied by the pixels of each row;
- a second determination unit is configured to determine the address space size of each row as the address offset.
- the image data transmission device 1000 also includes:
- the second determination module is used to determine the number of clock cycles for each transmission and processing of image data
- the second acquisition module 1003 includes:
- a third determination unit configured to determine the number of transmissions required to transmit an image data block based on the number of clock cycles and the image data block size and transmission data bit width in the image data format information
- the obtaining unit is used to obtain the first address information of each transmission in the number of transmissions.
- the third determining unit includes:
- a first determination subunit configured to determine the number of pixels processed in each clock cycle based on the pixel depth in the image data format information, the image data block size and the transmission data bit width;
- the second determination subunit is configured to determine the number of transmissions required to transmit an image data block based on the number of pixels processed per clock cycle and the number of clock cycles.
- the transmission module 1004 includes:
- the first transmission unit is used to transmit the image data of the j-th row where the first address information is located according to the first address information transmitted in the i-th time, where i is an integer greater than or equal to 1, and j is a positive integer;
- the second transmission unit is used to add the first address information of the i-th transmission to the address offset to obtain the first address information of the j+1th row;
- the image data transmission device in the embodiment of the present application obtains image data format information; determines the address offset according to the image data format information; obtains the first address information of each transmission of image data; and obtains the first address information of each transmission according to the first address of each transmission.
- the address information and the address offset are used to transmit image data. After each row of image data is transmitted, the first address of the row is added to the address offset to jump to the first address of the next row. Transfer the next line of image data.
- determining the address offset it can automatically jump to the transmission address of the next line of image data based on the first address information and address offset during transmission, thereby achieving continuous transmission of multiple lines of image data without increasing cache storage. While saving space, it improves the transmission efficiency of image data blocks.
- the image data transmission device in the embodiment of the present application may be an electronic device or a component in the electronic device, such as an integrated circuit or chip.
- the electronic device may be a terminal or other devices other than the terminal.
- the electronic device can be a mobile phone, a tablet computer, a notebook computer, a handheld computer, a vehicle-mounted electronic device, a mobile Internet device (MID), or an augmented reality (Augmented Reality, AR)/virtual reality (Virtual Reality, VR) ) equipment, robots, wearable devices, ultra-mobile personal computers (Ultra-Mobile Personal Computer, UMPC), netbooks or personal digital assistants (Personal Digital Assistant, PDA), etc., and can also be servers, network attached storage (Network Attached Storage, NAS), personal computer (Personal Computer, PC), television (Television, TV), teller machine or self-service machine, etc., the embodiments of this application are not specifically limited.
- Network Attached Storage Network Attached Storage
- PC Personal Computer
- TV Television
- the image data transmission device in the embodiment of the present application may be a device with an operating system.
- the operating system can be an Android operating system, an ios operating system, or other possible operating systems, which are not specifically limited in the embodiments of this application.
- the image data transmission device provided by the embodiment of the present application can implement the method embodiment in Figure 6 To avoid repetition, the various processes will not be described here.
- this embodiment of the present application also provides an electronic device 1100, including a processor 1101 and a memory 1102.
- the memory 1102 stores programs or instructions that can be run on the processor 1101.
- the program or instruction is executed by the processor 1101, each step of the above image data transmission method embodiment is implemented, and the same technical effect can be achieved. To avoid repetition, the details will not be described here.
- the electronic devices in the embodiments of the present application include the above-mentioned mobile electronic devices and non-mobile electronic devices.
- Figure 12 is a schematic diagram of the hardware structure of an electronic device that implements an embodiment of the present application.
- the electronic device 1200 includes but is not limited to: radio frequency unit 1201, network module 1202, audio output unit 1203, input unit 1204, sensor 1205, display unit 1206, user input unit 1207, interface unit 1208, memory 1209, processor 1210, etc. part.
- the electronic device 1200 may also include a power supply (such as a battery) that supplies power to various components.
- the power supply may be logically connected to the processor 1210 through a power management system, thereby managing charging, discharging, and function through the power management system. Consumption management and other functions.
- the structure of the electronic device shown in Figure 12 does not constitute a limitation of the electronic device.
- the electronic device may include more or less components than shown in the figure, or combine certain components, or arrange different components, which will not be described again here. .
- processor 1210 is used for:
- the image data is transmitted according to the first address information and the address offset of each transmission, wherein, after each row of image data is transmitted, the first address of the row is added to the address offset to skip. Go to the first address of the next line and transmit the next line of image data.
- the image data format information includes pixel depth and the number of pixels in each line;
- the processor 1210 is further configured to determine the address offset based on the product of the pixel depth and the number of pixels in each row.
- the image data format information includes address space information occupied by pixels in each row;
- Processor 1210 also used for:
- the address space size of each row is determined as the address offset.
- processor 1210 is also used to:
- processor 1210 is also used to:
- the number of transmissions required to transmit one image data block is determined based on the number of pixels processed per clock cycle and the number of clock cycles.
- processor 1210 is also used to:
- the image data of the j-th row where the first address information is located is transmitted, i is an integer greater than or equal to 1, and j is a positive integer;
- the electronic device in the embodiment of the present application obtains image data format information; determines the address offset according to the image data format information; obtains the first address information of each transmission of image data; and obtains the first address information of each transmission according to the first address information of each transmission. and the address offset, to transmit image data. After each row of image data is transmitted, the first address of the row is added to the address offset to jump to the first address of the next row, and the next row is transmitted. A row of image data. In this way, by determining the address offset, the During transmission, it automatically jumps to the transmission address of the next line of image data based on the first address information and address offset, thereby achieving continuous transmission of multiple lines of image data, which can improve the transmission efficiency of image data blocks without increasing the storage space for cache. .
- the input unit 1204 may include a graphics processor (Graphics Processing Unit, GPU) 12041 and a microphone 12042.
- the graphics processor 12041 is responsible for the image capture device (GPU) in the video capture mode or the image capture mode. Process the image data of still pictures or videos obtained by cameras (such as cameras).
- the display unit 1206 may include a display panel 12061, which may be configured in the form of a liquid crystal display, an organic light emitting diode, or the like.
- the user input unit 1207 includes at least one of a touch panel 12071 and other input devices 12072 .
- Touch panel 12071 also known as touch screen.
- the touch panel 12071 may include two parts: a touch detection device and a touch controller.
- Other input devices 12072 may include but are not limited to physical keyboards, function keys (such as volume control keys, switch keys, etc.), trackballs, mice, and joysticks, which will not be described again here.
- Memory 1209 may be used to store software programs as well as various data.
- the memory 1209 may mainly include a first storage area for storing programs or instructions and a second storage area for storing data, wherein the first storage area may store an operating system, an application program or instructions required for at least one function (such as a sound playback function, Image playback function, etc.) etc.
- memory 1209 may include volatile memory or nonvolatile memory, or memory 1209 may include both volatile and nonvolatile memory.
- the non-volatile memory can be read-only memory (Read-Only Memory, ROM), programmable read-only memory (Programmable ROM, PROM), erasable programmable read-only memory (Erasable PROM, EPROM), electrically removable memory.
- Volatile memory can be random access memory (Random Access Memory, RAM), static random access memory (Static RAM, SRAM), dynamic random access memory (Dynamic RAM, DRAM), synchronous dynamic random access memory (Synchronous DRAM, SDRAM), double data rate synchronous dynamic random access memory (Double Data Rate SDRAM, DDRSDRAM), enhanced synchronous dynamic random access memory (Enhanced SDRAM, ESDRAM), synchronous link dynamic random access memory (Synch link DRAM, SLDRAM) and Direct Rambus RAM (DRRAM).
- RAM Random Access Memory
- SRAM static random access memory
- DRAM dynamic random access memory
- synchronous dynamic random access memory Synchronous DRAM, SDRAM
- Double data rate synchronous dynamic random access memory Double Data Rate SDRAM, DDRSDRAM
- Enhanced SDRAM, ESDRAM synchronous dynamic random access memory
- Synch link DRAM, SLDRAM Direct Rambus RAM
- Memory 1209 in embodiments of the present application includes, but is not limited to, these and any other suitable types of memory.
- the processor 1210 may include one or more processing units; optionally, the processor 1210 integrates an application processor and a modem processor, where the application processor mainly handles operations related to the operating system, user interface, application programs, etc., Modem processors mainly process wireless communication signals, such as baseband processors. It can be understood that the above modem processor may not be integrated into the processor 1210.
- Embodiments of the present application also provide a readable storage medium.
- Programs or instructions are stored on the readable storage medium.
- the program or instructions are executed by a processor, each process of the above image data transmission method embodiment is implemented, and can achieve The same technical effects are not repeated here to avoid repetition.
- the processor is the processor in the electronic device described in the above embodiment.
- the readable storage medium includes computer readable storage media, such as computer read-only memory ROM, random access memory RAM, magnetic disk or optical disk, etc.
- An embodiment of the present application further provides a chip.
- the chip includes a processor and a communication interface.
- the communication interface is coupled to the processor.
- the processor is used to run programs or instructions to implement the above embodiments of the image data transmission method. Each process can achieve the same technical effect. To avoid repetition, we will not go into details here.
- chips mentioned in the embodiments of this application may also be called system-on-chip, system-on-a-chip, system-on-a-chip or system-on-chip, etc.
- Embodiments of the present application provide a computer program product.
- the program product is stored in a storage medium.
- the program product is executed by at least one processor to implement each process of the above image data transmission method embodiment, and can achieve the same technology. The effect will not be described here to avoid repetition.
- the methods of the above embodiments can be implemented by means of software plus the necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is better. implementation.
- the technical solution of the present application can be embodied in the form of a computer software product that is essentially or contributes to the existing technology.
- the computer software product is stored in a storage medium (such as ROM/RAM, disk , optical disk), including several instructions to cause a terminal (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in various embodiments of this application.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Image Input (AREA)
Abstract
Description
Claims (17)
- 一种图像数据传输方法,包括:获取图像数据格式信息;根据所述图像数据格式信息,确定地址偏移量;获取图像数据每次传输的首地址信息;根据所述每次传输的首地址信息和所述地址偏移量,进行图像数据的传输,其中,每传输完一行图像数据,使用该行的首地址加上所述地址偏移量,以跳转至下一行的首地址,传输下一行图像数据。
- 根据权利要求1所述的方法,其中,所述图像数据格式信息包括像素深度和每行的像素个数;所述根据所述图像数据格式信息,确定地址偏移量,包括:根据所述像素深度和每行的像素个数的乘积,确定地址偏移量。
- 根据权利要求1所述的方法,其中,所述图像数据格式信息包括每行像素占用的地址空间信息;所述根据所述图像数据格式信息,确定地址偏移量,包括:根据所述每行像素占用的地址空间信息,确定每行的地址空间大小;将所述每行的地址空间大小确定为所述地址偏移量。
- 根据权利要求1所述的方法,其中,所述获取图像数据每次传输的首地址信息之前,所述方法还包括:确定图像数据每次传输处理的时钟周期数;所述获取图像数据每次传输的首地址信息,包括:根据所述时钟周期数和所述图像数据格式信息中的图像数据块大小及传输数据位宽,确定传输一个图像数据块所需的传输次数;获取所述传输次数中每次传输的首地址信息。
- 根据权利要求4所述的方法,其中,所述根据所述时钟周期数和所述 图像数据格式信息中的图像数据块大小及传输数据位宽,确定传输一个图像数据块所需的传输次数,包括:根据所述图像数据格式信息中的像素深度、所述图像数据块大小和所述传输数据位宽,确定每个时钟周期处理的像素数;根据所述每个时钟周期处理的像素数和所述时钟周期数,确定传输一个图像数据块所需的传输次数。
- 根据权利要求1至5中任一项所述的方法,其中,所述根据所述每次传输的首地址信息和所述地址偏移量,进行图像数据的传输,包括:根据第i次传输的首地址信息,传输所述第i次传输的首地址信息所在的第j行的图像数据,i为大于或等于1的整数,j为正整数;将所述第i次传输的首地址信息加上所述地址偏移量,得到第j+1行的首地址信息;根据所述第j+1行的首地址信息,传输所述第j+1行的图像数据;其中,每传输完一行图像数据,将该行的首地址加上所述地址偏移量,开始下一行的图像数据传输,直至完成第i次传输。
- 一种图像数据传输装置,包括:第一获取模块,用于获取图像数据格式信息;第一确定模块,用于根据所述图像数据格式信息,确定地址偏移量;第二获取模块,用于获取图像数据每次传输的首地址信息;传输模块,用于根据所述每次传输的首地址信息和所述地址偏移量,进行图像数据的传输,其中,每传输完一行图像数据,使用该行的首地址加上所述地址偏移量,以跳转至下一行的首地址,传输下一行图像数据。
- 根据权利要求7所述的图像数据传输装置,其中,所述图像数据格式信息包括像素深度和每行的像素个数;所述第一确定模块用于根据所述像素深度和每行的像素个数的乘积,确定所述地址。
- 根据权利要求7所述的图像数据传输装置,其中,所述图像数据格式 信息包括每行像素占用的地址空间信息;所述第一确定模块,包括:第一确定单元,用于根据所述每行像素占用的地址空间信息,确定每行的地址空间大小;第二确定单元,用于将所述每行的地址空间大小确定为所述地址偏移量。
- 根据权利要求7所述的图像数据传输装置,其中,所述图像数据传输装置还包括:第二确定模块,用于确定图像数据每次传输处理的时钟周期数;所述第二获取模块包括:第三确定单元,用于根据所述时钟周期数和所述图像数据格式信息中的图像数据块大小及传输数据位宽,确定传输一个图像数据块所需的传输次数;获取单元,用于获取所述传输次数中每次传输的首地址信息。
- 根据权利要求10所述的图像数据传输装置,其中,所述第三确定单元,包括:第一确定子单元,用于根据所述图像数据格式信息中的像素深度、所述图像数据块大小和所述传输数据位宽,确定每个时钟周期处理的像素数;第二确定子单元,用于根据所述每个时钟周期处理的像素数和所述时钟周期数,确定传输一个图像数据块所需的传输次数。
- 根据权利要求7至11中任一项所述的图像数据传输装置,其中,所述传输模块包括:第一传输单元,用于根据第i次传输的首地址信息,传输所述首地址信息所在的第j行的图像数据,i为大于或等于1的整数,j为正整数;第二传输单元,用于将所述第i次传输的首地址信息加上所述地址偏移量,得到第j+1行的首地址信息;根据所述第j+1行的首地址信息,传输所述第j+1行的图像数据;其中,每传输完一行图像数据,将该行的首地址加上所述地址偏移量,开始下一行的图像数据传输,直至完成第i次传输。
- 一种电子设备,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至6中任一项所述的图像数据传输方法的步骤。
- 一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至6中任一项所述的图像数据传输方法的步骤。
- 一种芯片,包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如权利要求1至6中任一项所述的图像数据传输方法的步骤。
- 一种计算机程序产品,所述程序产品被存储在非易失的存储介质中,所述程序产品被至少一个处理器执行以实现如权利要求1至6中任一项所述的图像数据传输方法的步骤。
- 一种通信设备,其中,被配置为执行如权利要求1至6中任一项所述的图像数据传输方法的步骤。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210573879.3A CN115205099A (zh) | 2022-05-24 | 2022-05-24 | 图像数据传输方法、装置和电子设备 |
| CN202210573879.3 | 2022-05-24 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023226845A1 true WO2023226845A1 (zh) | 2023-11-30 |
Family
ID=83576633
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/094723 Ceased WO2023226845A1 (zh) | 2022-05-24 | 2023-05-17 | 图像数据传输方法、装置和电子设备 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN115205099A (zh) |
| WO (1) | WO2023226845A1 (zh) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118433392A (zh) * | 2024-07-03 | 2024-08-02 | Tcl华星光电技术有限公司 | 数据编码方法及芯片、数据解码方法及芯片、显示装置 |
| CN118433393A (zh) * | 2024-07-05 | 2024-08-02 | Tcl华星光电技术有限公司 | 数据编码方法及芯片、数据解码方法及芯片以及显示装置 |
| CN119512462A (zh) * | 2024-11-15 | 2025-02-25 | 安谋科技(中国)有限公司 | 直通模式下的数据存储方法、装置、电子设备 |
| CN121785549A (zh) * | 2026-03-04 | 2026-04-03 | 深圳为迅科技有限公司 | 图像数据存储方法和装置、电子设备及存储介质 |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115205099A (zh) * | 2022-05-24 | 2022-10-18 | 维沃移动通信有限公司 | 图像数据传输方法、装置和电子设备 |
| CN119625563B (zh) * | 2024-12-11 | 2025-11-07 | 成都祥龙华创科技有限公司 | 一种基于gis技术的林业资源采集方法 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102044062A (zh) * | 2010-12-23 | 2011-05-04 | 福州瑞芯微电子有限公司 | 基于图像块处理实现图像xy轴镜像和180度旋转系统 |
| CN102129663A (zh) * | 2010-12-20 | 2011-07-20 | 福州瑞芯微电子有限公司 | 一种读取地址和宽度不对齐图像处理方法及电路结构 |
| JP2011188050A (ja) * | 2010-03-05 | 2011-09-22 | Konica Minolta Business Technologies Inc | 画像処理方法、画像処理装置および画像形成装置 |
| CN111193837A (zh) * | 2019-12-31 | 2020-05-22 | 西安翔腾微电子科技有限公司 | 多维图像数据的传输方法、装置、电子设备及存储介质 |
| CN115205099A (zh) * | 2022-05-24 | 2022-10-18 | 维沃移动通信有限公司 | 图像数据传输方法、装置和电子设备 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62207086A (ja) * | 1986-03-07 | 1987-09-11 | Mitsubishi Electric Corp | 画像伝送装置 |
| CN101236740B (zh) * | 2008-02-25 | 2010-06-02 | 华为技术有限公司 | 一种显示数据的传输方法及装置 |
| WO2020107319A1 (zh) * | 2018-11-29 | 2020-06-04 | 深圳市大疆创新科技有限公司 | 图像处理方法和设备,以及视频处理器 |
| CN114219700B (zh) * | 2022-02-23 | 2022-06-03 | 广州匠芯创科技有限公司 | 一种图像处理方法、系统、设备及介质 |
-
2022
- 2022-05-24 CN CN202210573879.3A patent/CN115205099A/zh active Pending
-
2023
- 2023-05-17 WO PCT/CN2023/094723 patent/WO2023226845A1/zh not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011188050A (ja) * | 2010-03-05 | 2011-09-22 | Konica Minolta Business Technologies Inc | 画像処理方法、画像処理装置および画像形成装置 |
| CN102129663A (zh) * | 2010-12-20 | 2011-07-20 | 福州瑞芯微电子有限公司 | 一种读取地址和宽度不对齐图像处理方法及电路结构 |
| CN102044062A (zh) * | 2010-12-23 | 2011-05-04 | 福州瑞芯微电子有限公司 | 基于图像块处理实现图像xy轴镜像和180度旋转系统 |
| CN111193837A (zh) * | 2019-12-31 | 2020-05-22 | 西安翔腾微电子科技有限公司 | 多维图像数据的传输方法、装置、电子设备及存储介质 |
| CN115205099A (zh) * | 2022-05-24 | 2022-10-18 | 维沃移动通信有限公司 | 图像数据传输方法、装置和电子设备 |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118433392A (zh) * | 2024-07-03 | 2024-08-02 | Tcl华星光电技术有限公司 | 数据编码方法及芯片、数据解码方法及芯片、显示装置 |
| CN118433393A (zh) * | 2024-07-05 | 2024-08-02 | Tcl华星光电技术有限公司 | 数据编码方法及芯片、数据解码方法及芯片以及显示装置 |
| CN119512462A (zh) * | 2024-11-15 | 2025-02-25 | 安谋科技(中国)有限公司 | 直通模式下的数据存储方法、装置、电子设备 |
| CN121785549A (zh) * | 2026-03-04 | 2026-04-03 | 深圳为迅科技有限公司 | 图像数据存储方法和装置、电子设备及存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN115205099A (zh) | 2022-10-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2023226845A1 (zh) | 图像数据传输方法、装置和电子设备 | |
| US8615626B2 (en) | Storage device and storage system | |
| US20160203075A1 (en) | Storage device including buffer and main memories, and user device including the same | |
| US20240346616A1 (en) | Image processing method and apparatus, and electronic device | |
| US8631189B2 (en) | Storage apparatus and storage system | |
| WO2022218253A1 (zh) | 图像块的处理方法、装置、电子设备、可读存储介质 | |
| CN112887608A (zh) | 图像处理方法、装置、图像处理芯片和电子设备 | |
| EP4459975A1 (en) | Image processing circuit and data transmission method | |
| WO2023125677A1 (zh) | 独显插帧电路、方法、装置、芯片、电子设备及介质 | |
| US10445851B2 (en) | Image processing apparatus and method | |
| US7843460B2 (en) | Method and apparatus for bandwidth corruption recovery | |
| TW201535412A (zh) | 具有繞回性至連續性讀取之記憶體子系統 | |
| CN116419049A (zh) | 图像处理方法、图像处理系统、装置和电子设备 | |
| CN116721623A (zh) | 显示处理系统和电子设备 | |
| US20170206856A1 (en) | Display controller and application processor including the same | |
| US12217399B2 (en) | Tone mapping circuit, image sensing device and operation method thereof | |
| WO2026001972A1 (zh) | 寄存器配置装置、方法、数据处理电路及电子设备 | |
| CN115514860A (zh) | 动态帧率补偿方法、图像处理电路和电子设备 | |
| CN115514859A (zh) | 图像处理电路、图像处理方法及电子设备 | |
| TWI423682B (zh) | 影像處理方法 | |
| US20060109198A1 (en) | Method and apparatus for using picture-in-picture data as an independent display | |
| US20090138673A1 (en) | Internal memory mapped external memory interface | |
| KR100782592B1 (ko) | 공유 메모리를 구비한 장치 및 공유 메모리 제어 방법 | |
| KR100663380B1 (ko) | 촬상 장치 및 영상 신호 생성 방법 | |
| WO2023217137A1 (zh) | 睡眠数据校准方法和电子设备 |
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: 23810918 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: 23810918 Country of ref document: EP Kind code of ref document: A1 |
|
| 32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 07.05.2025) |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 23810918 Country of ref document: EP Kind code of ref document: A1 |