WO2022011614A1 - Dma控制器、电子设备、芯片、可移动平台、数据搬移方法 - Google Patents

Dma控制器、电子设备、芯片、可移动平台、数据搬移方法 Download PDF

Info

Publication number
WO2022011614A1
WO2022011614A1 PCT/CN2020/102188 CN2020102188W WO2022011614A1 WO 2022011614 A1 WO2022011614 A1 WO 2022011614A1 CN 2020102188 W CN2020102188 W CN 2020102188W WO 2022011614 A1 WO2022011614 A1 WO 2022011614A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
image data
module
memory
descriptor
Prior art date
Application number
PCT/CN2020/102188
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 深圳市大疆创新科技有限公司
Priority to PCT/CN2020/102188 priority Critical patent/WO2022011614A1/zh
Publication of WO2022011614A1 publication Critical patent/WO2022011614A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Definitions

  • the present application relates to the field of image processing, and in particular, to a direct memory read DMA controller, an electronic device, an image processing chip, a movable platform and a method for data transfer by a direct memory read DMA controller.
  • the direct memory access (Direct Memory Access, DMA) controller moves the image data to the image processing chip for image processing.
  • DMA Direct Memory Access
  • the filter size is a 2*2 matrix
  • the filter step size is 2
  • the entire image cannot be completely filtered, and there is always one row and one column of data that are not processed, so the image needs to be filled with certain data first.
  • the current filling method usually refreshes the data in the memory on the image processing chip to 0 before the DMA controller moves the image data to the image processing chip, and then the DMA controller moves the image data to the refreshed memory.
  • the area not covered by the image data at this time can be regarded as a filled area, so as to complete the filling of the image data.
  • the disadvantage of this method is that the data refresh efficiency in the memory is low and the power consumption is high.
  • an embodiment of the present application provides a direct memory read DMA controller, including a read module and a data filling module;
  • the reading module is configured to read image data from a first memory based on a first descriptor, where the first descriptor is used to indicate a storage address of the image data;
  • the data filling module is used to fill the read image data based on the second descriptor, and send the filled image data to the second memory; the second descriptor is used to indicate the location and The amount of data to fill.
  • an embodiment of the present application provides an electronic device, including a processor, a direct memory read DMA controller, a first memory, and a second memory;
  • the first memory and the second memory are used for storing image data
  • the DMA controller includes a reading module and a data filling module
  • the reading module is configured to read image data from the first memory based on a first descriptor, where the first descriptor is used to indicate a storage address of the image data;
  • the data filling module is used to fill the read image data based on the second descriptor, and send the filled image data to the second memory;
  • the second descriptor is used to indicate the data that needs to be filled. the location and the amount of data populated;
  • the processor is configured to obtain image data from the second memory for processing.
  • an embodiment of the present application provides an image processing chip, characterized in that it includes a processor, a direct memory read DMA controller, and a second memory;
  • the second memory is used to store image data
  • the DMA controller includes a reading module and a data filling module
  • the reading module is configured to read image data from a first memory based on a first descriptor, where the first descriptor is used to indicate a storage address of the image data;
  • the data filling module is used to fill the read image data based on the second descriptor, and send the filled image data to the second memory;
  • the second descriptor is used to indicate the location and The amount of data to fill;
  • the processor is configured to obtain image data from the second memory for processing.
  • an embodiment of the present application provides a movable platform on which an image processing chip is mounted, and the image processing chip includes a processor, a direct memory read DMA controller, and a second memory;
  • the second memory is used to store image data
  • the DMA controller includes a reading module and a data filling module
  • the reading module is configured to read image data from a first memory based on a first descriptor, where the first descriptor is used to indicate a storage address of the image data;
  • the data filling module is used to fill the read image data based on the second descriptor, and send the filled image data to the second memory;
  • the second descriptor is used to indicate the location of the data to be filled and the amount of data filled;
  • the processor is configured to obtain image data from the second memory for processing.
  • an embodiment of the present application provides a method for direct memory reading of a DMA controller for data movement, including:
  • the read image data is filled based on the second descriptor, and the filled image data is sent to the second memory; the second descriptor is used to indicate the position of the data to be filled and the amount of the data to be filled.
  • an embodiment of the present application provides a direct memory read DMA controller, including: a processor and a communication interface, wherein the processor is used for:
  • the communication interface is used for sending the filled image data to the second memory.
  • the present application uses one descriptor to distinguish the storage address of the image data stored in the memory, another descriptor indicates the location of the data to be filled and the amount of data to be filled, and the direct memory read DMA controller designed by the present application has the ability to read
  • the fetching module and the data filling module can realize the data filling of the image data while moving the image data according to the two descriptors, which improves the efficiency of the data filling.
  • Figure 1 is a schematic diagram of an image that needs to be filtered.
  • FIG. 2 is a schematic structural diagram of a DMA controller.
  • FIG. 3 is a schematic diagram describing the storage form of an image in a DDR memory.
  • FIG. 4 is a schematic diagram of image data obtained after data filling.
  • FIG. 5 is a schematic structural diagram of a DMA controller including a cache module.
  • FIG. 6 is a schematic structural diagram of the reading module 501 .
  • FIG. 7 is a schematic structural diagram of the data filling module 502 .
  • FIG. 8 is a schematic diagram of a specific structure of the DMA controller 50 .
  • FIG. 9 is a schematic diagram of an electronic device.
  • FIG. 10 is a schematic diagram of an image processing chip.
  • Figure 11 is a schematic diagram of a movable platform.
  • FIG. 12 is a flow chart of a method for direct memory read DMA controller to move data.
  • an image processing chip refers to a chip that integrates at least a processor for processing image data and an on-chip memory for temporarily buffering image data to be processed
  • an off-chip memory refers to any storage of images to be processed outside the image processing chip data storage.
  • the Direct Memory Access (DMA) controller can move the image data stored in other locations off-chip to the on-chip memory for storage, so that the processor can obtain the image data from the on-chip memory for processing.
  • DMA Direct Memory Access
  • the embodiment of the present application first provides a direct memory read DMA controller.
  • the image data can be directly filled in the process of moving the image data, and the filled image data can be moved to a memory at a specified location. , avoiding inefficient and power-hungry refresh of data in memory.
  • the DMA controller mentioned in the embodiments of this application may be integrated on an image processing chip, such as a digital signal processing (Digital Signal Process, DSP) chip for image signal processing, a Field Programmable Gate Array (Field Programmable Gate Array) , FPGA) chips, Advanced RISC Machine (ARM) chips, etc., which are not limited in this application.
  • the DMA controller in the embodiments of the present application may also be integrated on other hardware structures and connected to the image processing chip. Specifically, on which hardware structure the DMA controller is integrated, those skilled in the art can set according to requirements. .
  • FIG. 2 is a DMA controller shown in an exemplary embodiment of the present application. As shown in FIG. 2 , the DMA controller 20 includes a reading module 201 and a data filling module 202 .
  • the reading module 201 is configured to read image data from the first memory 001 based on a first descriptor, where the first descriptor is used to indicate a storage address of the image data;
  • the data filling module 202 is used to fill the read image data based on the second descriptor, and send the filled image data to the second memory 002; the second descriptor is used to indicate the location and The amount of data to fill.
  • the first and second memories may be any two memories that need to move image data between each other, or two storage units in a storage group, which is not limited in this application.
  • the first memory may be an off-chip memory that stores image data to be processed outside the image processing chip, such as a double data rate (Double Data Rate, DDR) memory.
  • the second memory may be an on-chip memory on the image processing chip configured to temporarily cache the image data to be processed, such as an on-chip random access memory (Random Access Memory, RAM).
  • RAM Random Access Memory
  • the first and second descriptors can be pre-defined by the user according to the storage address of the image data to be processed, the position to be filled in the image data and the amount of data to be filled, and stored in the image in the form of program firmware.
  • different second descriptors can be defined correspondingly according to different image data to be processed, thereby realizing different filling processing for different image data; of course, the second descriptor can also be defined uniformly, directly for all image data. Do unified data filling. It can be understood that, for the first descriptor, since the storage addresses of the image data are different, they need to be defined separately.
  • the DMA controller moving the image data from the off-chip memory of the image processing chip to the on-chip memory of the image processing chip.
  • the first memory is the off-chip memory
  • the second memory is the on-chip memory.
  • this scenario is only exemplary, and is not used to limit the first memory to be an off-chip memory and the second memory to be an on-chip memory.
  • the image is usually stored in the DDR memory in 2D form, that is, it is composed of multiple lines of image data.
  • Figure 3 describes the storage of an image in the DDR memory.
  • the schematic diagram of the form, all data stored in the DDR memory is marked as 30, then the first line of image data 301, the second line of image data 302, the third line of image data 303 and the fourth line of image data 304 are the data that constitute one image,
  • the defined first descriptor needs to include the following parameters:
  • the parameters describing the first address of the image data in the off-chip memory the parameters describing the width of the image data, the parameters describing the first address interval between two adjacent lines in the image data, and the parameters describing the total data amount of the image data.
  • a parameter describing the first address of the image data in the off-chip memory In order to locate the starting position of the data to be read in the off-chip memory, it is necessary to first determine the first address of the image data in the off-chip memory, that is, the first address of the first line of image data 301 .
  • a parameter describing the width of the image data can be understood as the length of each line of image data.
  • the first line of image data 301 can be read in combination with the first address of the first line of image data 301 .
  • the first address of each line of image data below the first line of image data 301 can be determined through this parameter, and combined with the parameter of the width of the image data, the second line of image data 302, the first line of image data 301 can be completed in sequence Three lines of image data 303 and the fourth line of image data 304 are read.
  • a parameter describing the total data amount of image data indicates the total amount of image data to be read.
  • the DMA controller reads the image data line by line from the off-chip memory according to the first descriptor, it can determine whether the read image data is completed according to this parameter.
  • the fourth line of image data 304 is fetched, it is determined that the reading of all the image data has been completed, and then the reading is stopped, and data filling is ready to start.
  • the parameter describing the first address of the image data in the off-chip memory may be denoted as ext_addr
  • the parameter describing the width of the image data may be denoted as trans_width
  • the parameter describing the first address interval of two adjacent lines in the image data may be denoted as ext_addr.
  • the parameter is denoted as trans_stride
  • the parameter describing the total amount of image data is denoted as trans_len.
  • the first descriptor is defined by defining 4 parameters of ext_addr, trans_len, trans_width and trans_stride.
  • the DMA controller After the DMA controller completes reading the image data according to the first descriptor, it fills the read image data according to the second descriptor.
  • the second descriptor mainly includes the parameter of the amount of data filled at the boundary position of the image data.
  • the parameter includes the following:
  • the parameter of the amount of data filled in the position before the head of the first line of the image data, the parameter of the amount of data filled in the position between two adjacent lines of image data, and the position filled after the end of the line of the last line of the image data Data volume parameter.
  • FIG. 4 is a schematic diagram of the image data obtained after data filling, and FIG. 4 includes the read module read through the DMA controller.
  • the data of an original image composed of the first line of image data 301, the second line of image data 302, the third line of image data 303 and the fourth line of image data 304, and FIG.
  • image data 4 also includes the first line of image data 301 before the data Filled image data 305, image data 306 filled between the first line of image data 301 and the second line of image data 302, image data 307 filled between the second line of image data 302 and the third line of image data 303, Image data 308 is padded between the third line of image data 303 and the fourth line of image data 304 , and image data 309 is padded after the fourth line of image data 304 .
  • the data volume of the filled image data 305 can be determined by defining the parameter of the amount of data filled at the position before the head of the first line of the image data; by defining the parameter of the amount of data filled at the position between two adjacent lines of image data , the data volume of the filled image data 306, 307, 308 can be determined; the data volume of the filled image data 309 can be determined by defining the parameter of the data volume filled at the position after the end of the last line of the image data.
  • the second descriptor may also include parameters of the value of the filled data, that is, the values of the filled image data 305, 306, etc., wherein different positions filled The values of the data may be the same or different.
  • the values of the filled image data may all be defined as 0.
  • the data filling module in the DMA controller can complete the filling of the original image data.
  • the second descriptor may also include a parameter describing the width of the image data sent to the on-chip memory, that is, the width of the image data after padding.
  • the parameter of the amount of data filled at the position before the beginning of the first line of image data may be recorded as leading_zero_len
  • the parameter of the amount of data filled at the position between two adjacent lines of image data may be recorded as middle_zero_len
  • the parameter of the amount of data to be padded at the position after the end of the line of the last line of the image data as post_zero_len
  • the parameter of the value of the padded data as padding_val
  • the parameter describing the width of the image data sent to the on-chip memory Denoted as output_width
  • the second descriptor is defined by defining five parameters of leading_zero_len, middle_zero_len, post_zero_len, padding_val and output_width.
  • the DMA controller may further include: The cache module, specifically, the cache module can be connected between the reading module and the data filling module, and is used to store the image data read by the reading module, and at the same time, the data filling module can obtain the image data and perform data filling.
  • FIG. 5 is a schematic structural diagram of a DMA controller including a cache module. As shown in FIG.
  • the DMA controller 50 includes a reading module 501 , a data filling module 502 , and a connection between the reading module 501 and the data filling module 502 .
  • the cache module 503 , the reading module 501 reads the image data from the off-chip memory 01 , and the data filling module 502 sends the filled image data to the on-chip memory 02 .
  • the cache module may be a FIFO (First In First Out, first in first out) memory.
  • FIG. 6 is a schematic structural diagram of the reading module 501.
  • the reading module 501 includes a signal generating sub-module 5011, a signal sending sub-module 5012, a first buffering sub-module 5013 and a first Align submodule 5014.
  • the signal generating sub-module 5011 is configured to generate a data request signal according to the first descriptor, where the first descriptor is defined by the four parameters ext_addr, trans_len, trans_width and trans_stride mentioned in the above embodiment.
  • the signal sending sub-module 5012 is used for sending a data request signal to the off-chip memory 01 to request to read the required image data from the off-chip memory 01 and store it in the first cache sub-module 5013 .
  • the first cache sub-module 5013 is used to cache the image data acquired from the off-chip memory 01, so that the first alignment sub-module 5014 performs alignment processing on the acquired image data.
  • the first cache sub-module 5013 also uses When the amount of buffered data reaches the preset threshold, it sends a signal to the signal generation sub-module 5011 to stop the data request, so as to stop reading data from the off-chip memory 01, so as to avoid loss of excessive data that cannot be stored.
  • the preset threshold can be set according to the capacity value of the first cache sub-module 5013 by default, and of course can also be set according to the actual situation.
  • the first alignment sub-module 5014 is used to organize the image data cached in the first cache sub-module 5013, perform alignment processing on the unaligned data, and write the aligned image data into the cache module 503, so that the data can be filled Module 502 acquires image data for filling. It is worth noting that, since the image data in the cache module 503 is aligned data, the efficiency of reading the image data from the cache module 503 by the data filling module 502 can be greatly improved.
  • the reading module 501 finishes reading and sorting the image data, it writes the image data into the buffer module 503 , so that the data filling module 502 reads the image from the buffer module 503 Filling with data, wherein the data filling module 502 fills data based on the operating state of the DMA controller 50, where the operating state includes a state indicating that the cache module 503 is not writing cache data or is writing cache data, a state indicating that the cache module 503 is writing The state in which the cached data is completed, and the state in which the readout of the cached data from the cache module 503 is completed is indicated.
  • the DMA controller 50 may be in a state of not starting to read data from the off-chip memory, or the read module 501 is reading from the off-chip memory
  • the state of the data, or the state in which the reading module 501 is writing data to the cache module 503, the data filling module 502 is in an idle state at this time; when the cache module 503 finishes writing the cached data, it means that the reading module 501 sends
  • the data filling module 502 starts to read the image data from the buffering module 503; when reading the buffered data from the buffering module 503 is completed, the data filling module 502 starts filling the read image data .
  • FIG. 7 is a schematic diagram of the structure of the data filling module 502.
  • the data filling module 502 includes a reading sub-module 5021, a filling data generating sub-module 5022, a second cache sub-module 5023, and a first sub-module 5023. Two aligned submodules 5024.
  • the reading sub-module 5021 is used to read the image data buffered in the buffering module 503 when the reading module 501 writes the buffered data to the buffering module 503;
  • the padding data of the image data is generated according to the second descriptor, wherein the second descriptor passes through five of the leading_zero_len, middle_zero_len, post_zero_len, padding_val and output_width mentioned in the above embodiment. parameters to define.
  • the second cache sub-module 5023 is used to cache the filled image data, so that the second alignment sub-module 5024 can sort the filled image data and align the unaligned data, wherein the second cache module 5023 can be a buffer (buffer memory), for example, may be a buffer with a depth of 4. Of course, the present application is not limited to this.
  • the second alignment sub-module 5024 is used for aligning the filled image data, and then sending the aligned image data to the on-chip memory 02 of the image processing chip, so that the processor on the image processing chip can obtain the data from the on-chip memory 02. image data for processing.
  • FIG. 8 is a schematic structural diagram of a DMA controller 50 shown in an exemplary embodiment of the present application.
  • the DMA controller 50 includes a reading module 501 , a data filling module 502 , and is connected to the reading module 501 and the data filling module 502 .
  • the buffer module 503 between the data filling modules 502 is filled.
  • the reading module 501 reads the image data from the off-chip memory 01 , fills it with the data filling module 502 and sends it to the on-chip memory 02 .
  • the reading module 501 includes a signal generating sub-module 5011, a signal sending sub-module 5012, a first buffering sub-module 5013 and a first aligning sub-module 5014;
  • the data filling module 502 includes a reading sub-module 5021, a filling data generating sub-module 5022 , the second cache sub-module 5023 and the second alignment sub-module 5024 .
  • the functions of each module reference may be made to the relevant descriptions of the above embodiments, and the description will not be repeated here.
  • the electronic device 90 includes a processor 901, a direct memory read DMA controller 902, a first memory 903 and a second memory 904;
  • the first memory 903 and the second memory 904 are used to store image data
  • the DMA controller 902 includes a reading module 9021 and a data filling module 9022;
  • the reading module 9021 is configured to read the image data from the first memory 903 based on the first descriptor, where the first descriptor is used to indicate the storage address of the image data;
  • the data filling module 9022 is used to fill the read image data based on the second descriptor, and send the filled image data to the second memory 904; the second descriptor is used to indicate the location and The amount of data to fill;
  • the processor 901 is configured to acquire image data from the second memory 904 for processing.
  • the electronic device may be any device terminal with image processing functions, such as portable mobile devices such as mobile phones, notebook computers, and tablets, or non-portable devices such as desktop computers, and may also be photographing equipment with image processing functions.
  • the second memory can be the on-chip memory of the image processing chip loaded in the electronic device, the first memory can be any off-chip memory outside the image processing chip, of course, the first and second memories can also be other needs on the electronic device
  • the application does not limit the memory for transferring data between each other, or two storage units in a storage group.
  • the image processing chip 100 includes a processor 1001, a direct memory read DMA controller 1002, and a second memory 1003;
  • the second memory 1003 is used for storing image data
  • the DMA controller 1002 includes a reading module 10021 and a data filling module 10022;
  • the reading module 10021 is configured to read image data from the first memory 001 based on a first descriptor, where the first descriptor is used to indicate a storage address of the image data;
  • the data filling module 10022 is used to fill the read image data based on the second descriptor, and send the filled image data to the second memory 1003; the second descriptor is used to indicate the location and The amount of data to fill;
  • the processor 1001 is used for acquiring image data from the second memory 1003 for processing.
  • An embodiment of the present application further provides a movable platform.
  • the movable platform 110 is equipped with the image processing chip shown in FIG. 10 .
  • the movable platform may be a drone, an unmanned vehicle, or the like.
  • the embodiment of the present application also provides a method for direct memory read DMA controller for data transfer, as shown in FIG. 12 , including the following steps:
  • S121 read image data from a first memory based on a first descriptor, where the first descriptor is used to indicate a storage address of the image data;
  • S122 Fill the read image data based on the second descriptor, and send the filled image data to the second memory; the second descriptor is used to indicate the position of the data to be filled and the amount of the data to be filled.
  • the first descriptor includes a parameter describing the first address of the image data in the first memory; a parameter describing the total data amount of the image data; a parameter describing the width of the image data ; A parameter describing the interval between the first addresses of two adjacent lines in the image data.
  • the second descriptor includes a parameter describing the amount of data to be padded at the boundary positions of the image data.
  • the parameter describing the amount of data to be filled at the boundary position of the image data includes: a parameter of the amount of data to be filled at a position before the beginning of the first line of the image data; The parameter of the amount of data filled in the position between; the parameter of the amount of data filled in the position after the end of the line of the last line of the image data.
  • the second descriptor further includes a parameter describing the width of the image data sent to the second memory.
  • the second descriptor also includes a parameter of the value of the populated data.
  • the value of the padded data is 0.
  • the method further includes generating a data request signal according to the first descriptor; sending the data request signal to the first memory.
  • the method further includes buffering the image data acquired from the first memory, and stopping generating the data request signal when the amount of buffered data reaches a preset threshold.
  • the method further includes generating and filling padding data of the buffered image data; performing alignment processing on the padding image data, and sending the padding data to the second memory.
  • an embodiment of the present application also provides a direct memory read DMA controller, including: a processor and a communication interface, wherein the processor is used for:
  • the communication interface is used for sending the filled image data to the second memory.
  • the disclosed apparatus and method may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware (for example, a processor or a processing circuit), or can be implemented in the form of a hardware plus software functional unit (for example, a processor plus functional unit instructions stored in a storage medium).
  • the above-mentioned integrated units implemented in the form of software functional units can be stored in a computer-readable storage medium.
  • the above-mentioned software function unit is stored in a storage medium, and includes several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor (processor) to execute the methods described in the various embodiments of the present application. some steps.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program codes .

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Input (AREA)
  • Storing Facsimile Image Data (AREA)
  • Image Processing (AREA)

Abstract

一种直接内存读取DMA控制器(20)、电子设备(90)、图像处理芯片(100)、可移动平台(110)以及一种直接内存读取DMA控制器(20)进行数据搬移的方法,该DMA控制器(20)包括读取模块(201)和数据填充模块(202);所述读取模块(201)用于基于第一描述符从第一存储器(001)上读取图像数据,所述第一描述符用于指示所述图像数据的存储地址;所述数据填充模块(202)用于基于第二描述符对所读取的图像数据进行填充,并将填充后的图像数据发送至第二存储器(002);所述第二描述符用于指示需要填充数据的位置和填充的数据量。提高了数据填充效率。

Description

DMA控制器、电子设备、芯片、可移动平台、数据搬移方法 技术领域
本申请涉及图像处理领域,尤其涉及一种直接内存读取DMA控制器、电子设备、图像处理芯片、可移动平台以及直接内存读取DMA控制器进行数据搬移的方法。
背景技术
通常由直接内存读取(Direct Memory Access,DMA)控制器把图像数据搬移到图像处理芯片以进行图像处理。而有时候在进行图像处理前,可能还需要对待处理图像先进行填充,例如在想要对如图1所示的一个5*5图像进行滤波处理时,假如滤波器大小为2*2矩阵,滤波步长为2,则无法完全对整个图像进行滤波,总有一行和一列数据未被处理,因此需要先对该图像填充一定数据。而目前的填充方式通常是在DMA控制器把图像数据搬移到图像处理芯片前,先把图像处理芯片上的存储器中的数据刷新为0,再由DMA控制器把图像数据搬移到刷新后的存储器上,此时未被图像数据覆盖的区域即可视为填充的区域,从而完成对图像数据的填充,此种方式的弊端在于刷新存储器中的数据效率低且功耗高。
发明内容
第一方面,本申请实施例提供一种直接内存读取DMA控制器,包括读取模块和数据填充模块;
所述读取模块用于基于第一描述符从第一存储器上读取图像数据,所述第一描述符用于指示所述图像数据的存储地址;
所述数据填充模块用于基于第二描述符对所读取的图像数据进行填充,并将填充后的图像数据发送至第二存储器;所述第二描述符用于指示 需要填充数据的位置和填充的数据量。
第二方面,本申请实施例提供一种电子设备,包括处理器、直接内存读取DMA控制器、第一存储器和第二存储器;
所述第一存储器、所述第二存储器用于存储图像数据;
所述DMA控制器包括读取模块和数据填充模块;
所述读取模块用于基于第一描述符从所述第一存储器上读取图像数据,所述第一描述符用于指示所述图像数据的存储地址;
所述数据填充模块用于基于第二描述符对所读取的图像数据进行填充,并将填充后的图像数据发送至所述第二存储器;所述第二描述符用于指示需要填充数据的位置和填充的数据量;
所述处理器用于从所述第二存储器获取图像数据进行处理。
第三方面,本申请实施例提供一种图像处理芯片,其特征在于,包括处理器、直接内存读取DMA控制器和第二存储器;
所述第二存储器用于存储图像数据;
所述DMA控制器包括读取模块和数据填充模块;
所述读取模块用于基于第一描述符从第一存储器上读取图像数据,所述第一描述符用于指示所述图像数据的存储地址;
所述数据填充模块用于基于第二描述符对所读取的图像数据进行填充,并将填充后的图像数据发送至第二存储器;所述第二描述符用于指示需要填充数据的位置和填充的数据量;
所述处理器用于从所述第二存储器获取图像数据进行处理。
第四方面,本申请实施例提供一种可移动平台,其上搭载有图像处理芯片,所述图像处理芯片包括处理器、直接内存读取DMA控制器和第二存储器;
所述第二存储器用于存储图像数据;
所述DMA控制器包括读取模块和数据填充模块;
所述读取模块用于基于第一描述符从第一存储器上读取图像数据,所述第一描述符用于指示所述图像数据的存储地址;
所述数据填充模块用于基于第二描述符对所读取的图像数据进行填充,并将填充后的图像数据发送至第二存储器;所述第二描述符用于指示需要填充的数据的位置和填充的数据量;
所述处理器用于从所述第二存储器获取图像数据进行处理。
第五方面,本申请实施例提供一种直接内存读取DMA控制器进行数据搬移的方法,包括:
基于第一描述符从第一存储器上读取图像数据,所述第一描述符用于指示所述图像数据的存储地址;
基于第二描述符对所读取的图像数据进行填充,并将填充后的图像数据发送至第二存储器;所述第二描述符用于指示需要填充的数据的位置和填充的数据量。
第六方面,本申请实施例提供一种直接内存读取DMA控制器,包括:处理器和通信接口,其中所述处理器用于:
基于第一描述符从第一存储器上读取图像数据,所述第一描述符用于指示所述图像数据的存储地址;
基于第二描述符对所读取的图像数据进行填充,所述第二描述符用于指示需要填充的数据的位置和填充的数据量;
所述通信接口用于将填充后的所述图像数据发送至第二存储器。
本申请利用一种描述符分辨存储器上存储的图像数据的存储地址,另一种描述符指示需要填充的数据的位置以及填充的数据量,并且本申请 设计的直接内存读取DMA控制器具有读取模块和数据填充模块,这两个模块可以根据两种描述符实现在搬移图像数据的同时,对图像数据进行数据填充,提高了数据填充的效率。
附图说明
图1是一个需要进行滤波处理的图像的示意图。
图2是一种DMA控制器的结构示意图。
图3是描述一个图像在DDR存储器中的存储形式的示意图。
图4是一个数据填充后所得的图像数据的示意图。
图5是一个包括缓存模块的DMA控制器的结构示意图。
图6是读取模块501的一种结构示意图。
图7是数据填充模块502的一种结构示意图。
图8是DMA控制器50具体的结构示意图。
图9是一种电子设备的示意图。
图10是一种图像处理芯片的示意图。
图11是一种可移动平台的示意图。
图12是一种直接内存读取DMA控制器进行数据搬移的方法流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请中,图像处理芯片是指至少集成了用于处理图像数据的处理器,以及用于暂时缓存待处理图像数据的片上存储器的芯片,片外存储器 是指图像处理芯片外任意存储有待处理图像数据的存储器。直接内存读取(Direct Memory Access,DMA)控制器可以将片外存储在其他位置的图像数据搬移到片上存储器进行存储,以便处理器从片上存储器中获取图像数据进行处理。
本申请实施例首先提供一种直接内存读取DMA控制器,作为改进,可以实现在搬移图像数据的过程中,直接对图像数据进行填充,并将填充后的图像数据搬移到指定位置的存储器上,避免了对存储器中数据的低效率和高功耗的刷新。本申请实施例所提到的DMA控制器可以是集成在图像处理芯片上,例如用于图像信号处理的数字信号处理(Digital Signal Process,DSP)芯片、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)芯片、进阶精简指令集机器(Advanced RISC Machine,ARM)芯片等,本申请对此并不限定。当然,本申请实施例中的DMA控制器还可以是集成在其他的硬件结构上,并与图像处理芯片连接,具体将DMA控制器集成于何种硬件结构上,本领域技术人员可根据需求设置。
图2是本申请一示例性实施例示出的一种DMA控制器,如图2所示,DMA控制器20包括读取模块201和数据填充模块202。
读取模块201用于基于第一描述符从第一存储器001上读取图像数据,所述第一描述符用于指示所述图像数据的存储地址;
数据填充模块202用于基于第二描述符对所读取的图像数据进行填充,并将填充后的图像数据发送至第二存储器002;所述第二描述符用于指示需要填充数据的位置和填充的数据量。
其中第一、第二存储器可以是任意两个需要相互之间搬移图像数据的存储器,或者是一个存储组中的两个存储单元,本申请并不限定。例如第一存储器可以是图像处理芯片外存储有待处理图像数据的片外存储器,例如双倍速率(Double Data Rate,DDR)存储器。第二存储器可以是图像 处理芯片上被配置为用于暂时缓存待处理图像数据的片上存储器,例如片上随机存取存储器(Random Access Memory,RAM)。
第一、第二描述符可以是由用户分别根据要处理的图像数据的存储地址,以及图像数据中需要进行填充的位置和所填充的数据量来预先定义,并以程序固件的形式存放在图像处理芯片外部的存储介质上,例如程序闪存(Program Flash,PFlash),在处理器获取到该程序时,将其写到DMA控制器中,以便DMA控制器根据描述符内容进行图像数据的搬移和填充。另外,可以根据要处理的不同图像数据分别对应定义不同的第二描述符,由此实现对不同图像数据做不同的填充处理;当然,也可以统一定义第二描述符,直接对所有的图像数据做统一的数据填充。可以理解,对于第一描述符,由于图像数据的存储地址不一样,因此需要分别进行定义。
为方便理解,后面将以DMA控制器将图像数据从图像处理芯片的片外存储器搬移到图像处理芯片的片上存储器为例展开介绍,此时第一存储器为片外存储器、第二存储器为片上存储器,可以理解,该场景仅仅是示例性的,并非用于限定第一存储器为片外存储器、第二存储器为片上存储器。
首先介绍定义第一描述符时所涉及到的一些参数。以片外存储器是DDR存储器为例,图像通常以2D的形式存放在DDR存储器中,也即是由多行的图像数据构成,请参见图3,图3为描述一个图像在DDR存储器中的存储形式的示意图,将DDR存储器存储的所有数据记为30,则第一行图像数据301、第二行图像数据302、第三行图像数据303以及第四行图像数据304为构成一个图像的数据,为使DMA控制器中的读取模块能够根据第一描述符从DDR存储器中读取到目标图像数据,所定义的第一描述符需要包括以下的参数:
描述图像数据在片外存储器中的首地址的参数、描述图像数据的宽度的参数、描述图像数据中相邻两行首地址间隔的参数,以及描述图像数 据的总数据量的参数。
下面依旧以图3为例说明以上各参数在读取目标图像数据中所起的作用。
第一,描述图像数据在片外存储器中的首地址的参数。为了能够在片外存储器中定位出待读取的数据的起始位置,需要先确定图像数据在片外存储器中的首地址,也即是第一行图像数据301的首地址。
第二,描述图像数据的宽度的参数。该参数可以理解为每行图像数据的长度,在确定图像数据的宽度后,可以结合第一行图像数据301的首地址,完成第一行图像数据301的读取。
第三,描述图像数据中相邻两行首地址间隔的参数。由于每行图像数据行首对齐,因此通过该参数可以确定第一行图像数据301下面各行图像数据的首地址,同时结合图像数据的宽度的参数,则可以依次完成第二行图像数据302、第三行图像数据303以及第四行图像数据304的读取。
第四,描述图像数据的总数据量的参数。该参数指示要读取的图像数据的总量,在DMA控制器根据第一描述符从片外存储器中逐行读取图像数据时,可以依据此参数确定读取图像数据是否完成,例如在读取完第四行图像数据304时,确定已完成所有图像数据的读取,继而停止读取,并准备开始进行数据填充。
在一个实施例中,可以将描述图像数据在片外存储器中的首地址的参数记为ext_addr,将描述图像数据的宽度的参数记为trans_width,将描述图像数据中相邻两行首地址间隔的参数记为trans_stride,以及将描述图像数据的总数据量的参数记为trans_len。通过定义ext_addr、trans_len、trans_width和trans_stride这4个参数来定义第一描述符。
在DMA控制器根据第一描述符完成图像数据读取后,再根据第二描述符对所读取的图像数据进行填充,下面介绍定义第二描述符时所涉及 到的一些参数。
对图像数据进行填充主要是对图像数据的边界位置进行填充,因此第二描述符主要包括在图像数据的边界位置填充的数据量的参数,具体的,该参数包括以下:
在图像数据首行的行首之前的位置填充的数据量的参数、在相邻两行图像数据之间的位置填充的数据量的参数,以及在图像数据末行的行尾之后的位置填充的数据量的参数。通过定义以上参数,可以确定在读取的图像数据的哪些位置分别填充多少数据。
为更好理解以上各参数,以图4为例进行说明,请参照图4,图4是一个数据填充后所得的图像数据的示意图,图4中包括通过DMA控制器的读取模块读取到的由第一行图像数据301、第二行图像数据302、第三行图像数据303以及第四行图像数据304构成的一个原始图像的数据,同时图4还包括在第一行图像数据301前填充的图像数据305、在第一行图像数据301和第二行图像数据302之间填充的图像数据306、在第二行图像数据302和第三行图像数据303之间填充的图像数据307、在第三行图像数据303和第四行图像数据304之间填充的图像数据308,以及在第四行图像数据304之后填充的图像数据309。
通过定义在图像数据首行的行首之前的位置填充的数据量的参数,可以确定填充的图像数据305的数据量;通过定义在相邻两行图像数据之间的位置填充的数据量的参数,可以确定填充的图像数据306、307、308的数据量;通过定义在图像数据末行的行尾之后的位置填充的数据量的参数,可以确定填充的图像数据309的数据量。另外,除了定义各位置所填充的数据量以外,第二描述符中还可以包括填充的数据的值的参数,也即是所填充的图像数据305、306等的值,其中,不同位置所填充的数据的值可以相同,也可以不同,作为一种实施方式,可以将所填充的图像数据的值都定义为0,当然,本申请并不限定于此。通过以上参数的定义,DMA 控制器中的数据填充模块可以完成对原始图像数据的填充,此时,还需要确定填充后的图像数据的宽度,以便整理出填充后的每行图像数据并发送至片上存储器,因此第二描述符还可以包括描述发送至片上存储器的图像数据的宽度的参数,也即是填充后的图像数据的宽度。
在一个实施例中,可以将在图像数据首行的行首之前的位置填充的数据量的参数记为leading_zero_len、将在相邻两行图像数据之间的位置填充的数据量的参数记为middle_zero_len、将在图像数据末行的行尾之后的位置填充的数据量的参数记为post_zero_len、将所填充的数据的值的参数记为padding_val,以及将描述发送至片上存储器的图像数据的宽度的参数记为output_width,通过定义leading_zero_len、middle_zero_len、post_zero_len、padding_val以及output_width这5个参数来定义第二描述符。
由于DMA控制器中读取模块读取的图像数据需要发送给数据填充模块进行填充,为防止读取模块在将图像数据发送给数据填充模块的过程中发生数据的丢失,DMA控制器还可以包括缓存模块,具体的,该缓存模块可以连接于读取模块和数据填充模块之间,用来存储读取模块读取的图像数据,同时使数据填充模块获取该图像数据并进行数据填充。图5为一个包括缓存模块的DMA控制器的结构示意图,如图5所示,DMA控制器50包括读取模块501、数据填充模块502,以及连接于读取模块501和数据填充模块502间的缓存模块503,读取模块501从片外存储器01中读取图像数据,数据填充模块502将填充后的图像数据发送给片上存储器02。其中,缓存模块可以是FIFO(First In First Out,先进先出)存储器。
下面将介绍图5中读取模块501的具体结构组成。请参照图6,图6是读取模块501的一种结构示意图,如图6所示,读取模块501包括信号生成子模块5011、信号发送子模块5012、第一缓存子模块5013以及第一对齐子模块5014。
信号生成子模块5011用于根据第一描述符生成数据请求信号,其中该第一描述符通过上面实施例中所提到的ext_addr、trans_len、trans_width和trans_stride这4个参数来进行定义。信号发送子模块5012用于将数据请求信号发送给片外存储器01,以请求从片外存储器01中读取所需的图像数据,并存储到第一缓存子模块5013。第一缓存子模块5013用于缓存从片外存储器01所获取的图像数据,以便第一对齐子模块5014对所获取的图像数据进行对齐处理,除此之外,第一缓存子模块5013还用于在缓存的数据量到达预设阈值时向信号生成子模块5011发出指示停止数据请求的信号,以停止从片外存储器01读取数据,避免过量的数据无法存放导致丢失。该预设阈值可以默认根据第一缓存子模块5013的容量值设置,当然也可以根据实际情况设置。第一对齐子模块5014用于对第一缓存子模块5013中缓存的图像数据进行整理,将非对齐的数据进行对齐处理,并将对齐后的图像数据写入到缓存模块503中,以便数据填充模块502获取图像数据进行填充。值得注意的是,由于缓存模块503中的图像数据为对齐后的数据,因此可以大大提高数据填充模块502从缓存模块503中读取图像数据的效率。
在图5所示的DMA控制器中,读取模块501在完成图像数据的读取以及整理后,将图像数据写入到缓存模块503中,以便数据填充模块502从缓存模块503中读取图像数据进行填充,其中,数据填充模块502基于DMA控制器50的运行状态进行数据填充,该运行状态包括指示缓存模块503未写入缓存数据或正写入缓存数据的状态、指示缓存模块503写入缓存数据完毕的状态,以及指示从缓存模块503读取缓存数据完毕的状态。
当缓存模块503未写入缓存数据或正写入缓存数据时,DMA控制器50可以是处于未开始从片外存储器的数据读取的状态,或者是读取模块501正从片外存储器读取数据的状态,或者是读取模块501正向缓存模块503写入数据的状态,此时数据填充模块502处于空闲的状态;当缓存模 块503写入缓存数据完毕时,意味着读取模块501向缓存模块503写入数据完毕,此时数据填充模块502开始从缓存模块503中读取图像数据;当从缓存模块503读取缓存数据完毕时,数据填充模块502开始对读取的图像数据进行填充。
下面结合数据填充模块502的具体结构组成来介绍数据填充模块502填充数据的具体过程。请参照图7,图7是数据填充模块502的一种结构示意图,如图7所示,数据填充模块502包括读取子模块5021、填充数据生成子模块5022、第二缓存子模块5023以及第二对齐子模块5024。
读取子模块5021用于在读取模块501向缓存模块503写入缓存数据完毕时,读取缓存模块503中缓存的图像数据;填充数据生成子模块5022用于在读取子模块5021从缓存模块502中读取缓存的图像数据完毕时,根据第二描述符生成图像数据的填充数据,其中该第二描述符通过上面实施例中所提到的leading_zero_len、middle_zero_len、post_zero_len、padding_val以及output_width这5个参数来进行定义。第二缓存子模块5023用于缓存填充后的图像数据,以便第二对齐子模块5024对填充后的图像数据进行整理,以及将非对齐的数据进行对齐,其中,第二缓存模块5023可以是buffer(缓冲存储器),例如可以是深度为4的buffer,当然,本申请不限于此。第二对齐子模块5024用于对填充后的图像数据进行对齐处理后,将对齐的图像数据发送给图像处理芯片的片上存储器02,以便图像处理芯片上的处理器能够从该片上存储器02获取到图像数据进行处理。
图8是本申请一示例性实施例示出的DMA控制器50具体的结构示意图,如图8所示,DMA控制器50包括读取模块501、数据填充模块502,以及连接于读取模块501和数据填充模块502间的缓存模块503。读取模块501从片外存储器01读取图像数据,并经过数据填充模块502填充后发送到片上存储器02。其中,读取模块501包括信号生成子模块5011、信号发送子模块5012、第一缓存子模块5013以及第一对齐子模块5014;数据 填充模块502包括读取子模块5021、填充数据生成子模块5022、第二缓存子模块5023以及第二对齐子模块5024。对于各模块的功能可参见上面实施例的相关描述,在此不再重复展开介绍。
本申请实施例还提供一种电子设备,如图9所示,电子设备90包括处理器901、直接内存读取DMA控制器902、第一存储器903和第二存储器904;
第一存储器903、第二存储器904用于存储图像数据;
DMA控制器902包括读取模块9021和数据填充模块9022;
读取模块9021用于基于第一描述符从第一存储器903上读取图像数据,所述第一描述符用于指示所述图像数据的存储地址;
数据填充模块9022用于基于第二描述符对所读取的图像数据进行填充,并将填充后的图像数据发送至第二存储器904;所述第二描述符用于指示需要填充数据的位置和填充的数据量;
处理器901用于从第二存储器904获取图像数据进行处理。
其中,电子设备可以是任何具备图像处理功能的设备终端,例如手机、笔记本电脑、平板等便携式移动设备,或者是台式电脑等非便捷式设备,还可以是具有图像处理功能的拍摄设备。
第二存储器可以是电子设备中装载的图像处理芯片的片上存储器,第一存储器可以是该图像处理芯片外的任何片外存储器,当然,第一、第二存储器也可以是电子设备上其他的需要相互之间搬移数据的存储器,或者一个存储组中的两个存储单元,本申请并不限定。
对于DMA控制器的具体的结构与实现功能可参考上面实施例的相关描述,在此不再赘述。
本申请实施例还提供一种图像处理芯片,如图10所示,图像处理芯 片100包括处理器1001、直接内存读取DMA控制器1002和第二存储器1003;
第二存储器1003用于存储图像数据;
DMA控制器1002包括读取模块10021和数据填充模块10022;
读取模块10021用于基于第一描述符从第一存储器001上读取图像数据,所述第一描述符用于指示所述图像数据的存储地址;
数据填充模块10022用于基于第二描述符对所读取的图像数据进行填充,并将填充后的图像数据发送至第二存储器1003;所述第二描述符用于指示需要填充数据的位置和填充的数据量;
1001处理器用于从第二存储器1003获取图像数据进行处理。
对于DMA控制器的具体的结构与实现功能可参考上面实施例的相关描述,在此不再赘述。
本申请实施例还提供一种可移动平台,如图11所示,可移动平台110上搭载有图10所示的图像处理芯片,对该图像处理芯片的相关介绍可参见图10,在此不再赘述。其中,可移动平台可以是无人机、无人车等。
本申请实施例还提供一种直接内存读取DMA控制器进行数据搬移的方法,如图12所示,包括以下步骤:
S121,基于第一描述符从第一存储器上读取图像数据,所述第一描述符用于指示所述图像数据的存储地址;
S122,基于第二描述符对所读取的图像数据进行填充,并将填充后的图像数据发送至第二存储器;所述第二描述符用于指示需要填充数据的位置和填充的数据量。
在一个实施例中,第一描述符包括描述所述图像数据在所述第一存储器中的首地址的参数;描述所述图像数据的总数据量的参数;描述所述 图像数据的宽度的参数;描述所述图像数据中相邻两行的首地址间隔的参数。
在一个实施例中,第二描述符包括描述在所述图像数据的边界位置填充的数据量的参数。
在一个实施例中,描述在所述图像数据的边界位置填充的数据量的参数包括:在所述图像数据首行的行首之前的位置填充的数据量的参数;在相邻两行图像数据之间的位置填充的数据量的参数;在所述图像数据末行的行尾之后的位置填充的数据量的参数。
在一个实施例中,第二描述符还包括描述发送至第二存储器的图像数据的宽度的参数。
在一个实施例中,第二描述符还包括所填充的数据的值的参数。
在一个实施例中,所述填充的数据的值为0。
在一个实施例中,所述方法还包括根据所述第一描述符生成数据请求信号;将所述数据请求信号发送给所述第一存储器。
在一个实施例中,所述方法还包括缓存从所述第一存储器获取的图像数据,并在缓存的数据量到达预设阈值时停止生成数据请求信号。
在一个实施例中,所述方法还包括生成所缓存的图像数据的填充数据并进行填充;对填充后的图像数据进行对齐处理,并发送给所述第二存储器。
另外,本申请实施例还提供一种直接内存读取DMA控制器,包括:处理器和通信接口,其中所述处理器用于:
基于第一描述符从第一存储器上读取图像数据,所述第一描述符用于指示所述图像数据的存储地址;
基于第二描述符对所读取的图像数据进行填充,所述第二描述符用 于指示需要填充的数据的位置和填充的数据量;
所述通信接口用于将填充后的所述图像数据发送至第二存储器。
本实施例提供的DMA控制器涉及的具体实现过程与上述图2中示出的DMA控制器实现过程类似,可以参考上文的描述,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单 元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现(例如处理器或处理电路),也可以采用硬件加软件功能单元的形式实现(例如处理器加存储介质中存储的功能单元指令)。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上对本申请实施例所提供的方法和装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法;同时,对于本领域的一般技术人员,依据本申请,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (80)

  1. 一种直接内存读取DNA控制器,其特征在于,包括读取模块和数据填充模块;
    所述读取模块用于基于第一描述符从第一存储器上读取图像数据,所述第一描述符用于指示所述图像数据的存储地址;
    所述数据填充模块用于基于第二描述符对所读取的图像数据进行填充,并将填充后的图像数据发送至第二存储器;所述第二描述符用于指示需要填充数据的位置和填充的数据量。
  2. 根据权利要求1所述的DMA控制器,其特征在于,所述第一存储器为双倍速率DDR存储器。
  3. 根据权利要求1所述的DMA控制器,其特征在于,所述第一描述符包括:
    描述所述图像数据在所述第一存储器中的首地址的参数;
    描述所述图像数据的总数据量的参数;
    描述所述图像数据的宽度的参数;
    描述所述图像数据中相邻两行的首地址间隔的参数。
  4. 根据权利要求1所述的DMA控制器,其特征在于,所述第二描述符包括:
    描述在所述图像数据的边界位置填充的数据量的参数。
  5. 根据权利要求4所述的DMA控制器,其特征在于,所述描述在所述图像数据的边界位置填充的数据量的参数包括:
    在所述图像数据首行的行首之前的位置填充的数据量的参数;
    在相邻两行图像数据之间的位置填充的数据量的参数;
    在所述图像数据末行的行尾之后的位置填充的数据量的参数。
  6. 根据权利要求4所述的DMA控制器,其特征在于,所述第二描述符还包括描述发送至第二存储器的图像数据的宽度的参数。
  7. 根据权利要求4所述的DMA控制器,其特征在于,所述第二描述 符还包括所填充的数据的值的参数。
  8. 根据权利要求7所述的DMA控制器,其特征在于,所述填充的数据的值为0。
  9. 根据权利要求1所述的DMA控制器,其特征在于,所述DMA控制器还包括缓存模块,用于存储所述读取模块读取的图像数据,以使所述数据填充模块获取所述图像数据进行填充。
  10. 根据权利要求9所述的DMA控制器,其特征在于,所述缓存模块为先进先出FIFO存储器。
  11. 根据权利要求9所述的DMA控制器,其特征在于,所述读取模块包括:
    信号生成子模块,用于根据所述第一描述符生成数据请求信号;
    信号发送子模块,用于将所述数据请求信号发送给所述第一存储器。
  12. 根据权利要求11所述的DMA控制器,其特征在于,所述读取模块还包括:
    第一缓存子模块,用于缓存从所述第一存储器获取的图像数据,并在缓存的数据量到达预设阈值时向所述信号生成子模块发出指示停止数据请求的信号。
  13. 根据权利要求12所述的DMA控制器,其特征在于,所述读取模块还包括:
    第一对齐子模块,用于对所述第一缓存子模块缓存的图像数据进行对齐处理,并发送给所述缓存模块。
  14. 根据权利要求9所述的DMA控制器,其特征在于,所述数据填充模块基于所述DMA控制器的运行状态进行数据填充;
    所述运行状态包括:
    指示所述缓存模块未写入缓存数据或正写入缓存数据的状态;
    指示所述缓存模块写入缓存数据完毕的状态;
    指示从所述缓存模块读取缓存数据完毕的状态。
  15. 根据权利要求14所述的DMA控制器,其特征在于,所述数据填充模块包括:
    读取子模块,用于在所述指示所述缓存模块写入缓存数据完毕的状态下读取所述缓存模块中缓存的图像数据;
    填充数据生成子模块,用于在所述指示从所述缓存模块读取缓存数据完毕的状态下根据所述第二描述符生成所述图像数据的填充数据。
  16. 根据权利要求15所述的DMA控制器,其特征在于,所述数据填充模块还包括:
    第二缓存子模块,用于缓存填充后的图像数据;
    第二对齐子模块,用于对所述第二缓存子模块缓存的图像数据进行对齐处理,并发送给所述第二存储器。
  17. 根据权利要求1所述的DMA控制器,其特征在于,所述DMA控制器与存储介质电连接,所述存储介质用于存储所述第一描述符和所述第二描述符。
  18. 一种电子设备,其特征在于,包括处理器、直接内存读取DMA控制器、第一存储器和第二存储器;
    所述第一存储器、所述第二存储器用于存储图像数据;
    所述DMA控制器包括读取模块和数据填充模块;
    所述读取模块用于基于第一描述符从所述第一存储器上读取图像数据,所述第一描述符用于指示所述图像数据的存储地址;
    所述数据填充模块用于基于第二描述符对所读取的图像数据进行填充,并将填充后的图像数据发送至所述第二存储器;所述第二描述符用于指示需要填充数据的位置和填充的数据量;
    所述处理器用于从所述第二存储器获取图像数据进行处理。
  19. 根据权利要求18所述的电子设备,其特征在于,所述第一存储器为双倍速率DDR存储器。
  20. 根据权利要求18所述的电子设备,其特征在于,所述第一描述符 包括:
    描述所述图像数据在所述第一存储器中的首地址的参数;
    描述所述图像数据的总数据量的参数;
    描述所述图像数据的宽度的参数;
    描述所述图像数据中相邻两行的首地址间隔的参数。
  21. 根据权利要求18所述的电子设备,其特征在于,所述第二描述符包括:
    描述在所述图像数据的边界位置填充的数据量的参数。
  22. 根据权利要求21所述的电子设备,其特征在于,所述描述在所述图像数据的边界位置填充的数据量的参数包括:
    在所述图像数据首行的行首之前的位置填充的数据量的参数;
    在相邻两行图像数据之间的位置填充的数据量的参数;
    在所述图像数据末行的行尾之后的位置填充的数据量的参数。
  23. 根据权利要求21所述的电子设备,其特征在于,所述第二描述符还包括描述发送至所述第二存储器的图像数据的宽度的参数。
  24. 根据权利要求21所述的电子设备,其特征在于,所述第二描述符还包括所填充的数据的值的参数。
  25. 根据权利要求24所述的电子设备,其特征在于,所述填充的数据的值为0。
  26. 根据权利要求18所述的电子设备,其特征在于,所述DMA控制器还包括缓存模块,用于存储所述读取模块读取的图像数据,以使所述数据填充模块获取所述图像数据进行填充。
  27. 根据权利要求26所述的电子设备,其特征在于,所述缓存模块为先进先出FIFO存储器。
  28. 根据权利要求26所述的电子设备,其特征在于,所述读取模块包括:
    信号生成子模块,用于根据所述第一描述符生成数据请求信号;
    信号发送子模块,用于将所述数据请求信号发送给所述第一存储器。
  29. 根据权利要求28所述的电子设备,其特征在于,所述读取模块还包括:
    第一缓存子模块,用于缓存从所述第一存储器获取的图像数据,并在缓存的数据量到达预设阈值时向所述信号生成子模块发出指示停止数据请求的信号。
  30. 根据权利要求29所述的电子设备,其特征在于,所述读取模块还包括:
    第一对齐子模块,用于对所述第一缓存子模块缓存的图像数据进行对齐处理,并发送给所述缓存模块。
  31. 根据权利要求26所述的电子设备,其特征在于,所述数据填充模块基于所述DMA控制器的运行状态进行数据填充;
    所述运行状态包括:
    指示所述缓存模块未写入缓存数据或正写入缓存数据的状态;
    指示所述缓存模块写入缓存数据完毕的状态;
    指示从所述缓存模块读取缓存数据完毕的状态。
  32. 根据权利要求31所述的电子设备,其特征在于,所述数据填充模块包括:
    读取子模块,用于在所述指示所述缓存模块写入缓存数据完毕的状态下读取所述缓存模块中缓存的图像数据;
    填充数据生成子模块,用于在所述指示从所述缓存模块读取缓存数据完毕的状态下根据所述第二描述符生成所述图像数据的填充数据。
  33. 根据权利要求32所述的电子设备,其特征在于,所述数据填充模块还包括:
    第二缓存子模块,用于缓存填充后的图像数据;
    第二对齐子模块,用于对所述第二缓存子模块缓存的图像数据进行对齐处理,并发送给所述第二存储器。
  34. 根据权利要求18所述的电子设备,其特征在于,所述DMA控制器与存储介质电连接,所述存储介质用于存储所述第一描述符和所述第二描述符。
  35. 一种图像处理芯片,其特征在于,包括处理器、直接内存读取DMA控制器和第二存储器;
    所述第二存储器用于存储图像数据;
    所述DMA控制器包括读取模块和数据填充模块;
    所述读取模块用于基于第一描述符从第一存储器上读取图像数据,所述第一描述符用于指示所述图像数据的存储地址;
    所述数据填充模块用于基于第二描述符对所读取的图像数据进行填充,并将填充后的图像数据发送至第二存储器;所述第二描述符用于指示需要填充的数据的位置和填充的数据量;
    所述处理器用于从所述第二存储器获取图像数据进行处理。
  36. 根据权利要求35所述的图像处理芯片,其特征在于,所述第一存储器为双倍速率DDR存储器。
  37. 根据权利要求35所述的图像处理芯片,其特征在于,所述第一描述符包括:
    描述所述图像数据在所述第一存储器中的首地址的参数;
    描述所述图像数据的总数据量的参数;
    描述所述图像数据的宽度的参数;
    描述所述图像数据中相邻两行的首地址间隔的参数。
  38. 根据权利要求35所述的图像处理芯片,其特征在于,所述第二描述符包括:
    描述在所述图像数据的边界位置填充的数据量的参数。
  39. 根据权利要求38所述的图像处理芯片,其特征在于,所述描述在所述图像数据的边界位置填充的数据量的参数包括:
    在所述图像数据首行的行首之前的位置填充的数据量的参数;
    在相邻两行图像数据之间的位置填充的数据量的参数;
    在所述图像数据末行的行尾之后的位置填充的数据量的参数。
  40. 根据权利要求38所述的图像处理芯片,其特征在于,所述第二描述符还包括描述发送至第二存储器的图像数据的宽度的参数。
  41. 根据权利要求38所述的图像处理芯片,其特征在于,所述第二描述符还包括所填充的数据的值的参数。
  42. 根据权利要求41所述的图像处理芯片,其特征在于,所述填充的数据的值为0。
  43. 根据权利要求35所述的图像处理芯片,其特征在于,所述DMA控制器还包括缓存模块,用于存储所述读取模块读取的图像数据,以使所述数据填充模块获取所述图像数据进行填充。
  44. 根据权利要求43所述的图像处理芯片,其特征在于,所述缓存模块为先进先出FIFO存储器。
  45. 根据权利要求43所述的图像处理芯片,其特征在于,所述读取模块包括:
    信号生成子模块,用于根据所述第一描述符生成数据请求信号;
    信号发送子模块,用于将所述数据请求信号发送给所述第一存储器。
  46. 根据权利要求45所述的图像处理芯片,其特征在于,所述读取模块还包括:
    第一缓存子模块,用于缓存从所述第一存储器获取的图像数据,并在缓存的数据量到达预设阈值时向所述信号生成子模块发出指示停止数据请求的信号。
  47. 根据权利要求46所述的图像处理芯片,其特征在于,所述读取模块还包括:
    第一对齐子模块,用于对所述第一缓存子模块缓存的图像数据进行对齐处理,并发送给所述缓存模块。
  48. 根据权利要求43所述的图像处理芯片,其特征在于,所述数据填 充模块基于所述DMA控制器的运行状态进行数据填充;
    所述运行状态包括:
    指示所述缓存模块未写入缓存数据或正写入缓存数据的状态;
    指示所述缓存模块写入缓存数据完毕的状态;
    指示从所述缓存模块读取缓存数据完毕的状态。
  49. 根据权利要求48所述的图像处理芯片,其特征在于,所述数据填充模块包括:
    读取子模块,用于在所述指示所述缓存模块写入缓存数据完毕的状态下读取所述缓存模块中缓存的图像数据;
    填充数据生成子模块,用于在所述指示从所述缓存模块读取缓存数据完毕的状态下根据所述第二描述符生成所述图像数据的填充数据。
  50. 根据权利要求49所述的图像处理芯片,其特征在于,所述数据填充模块还包括:
    第二缓存子模块,用于缓存填充后的图像数据;
    第二对齐子模块,用于对所述第二缓存子模块缓存的图像数据进行对齐处理,并发送给所述第二存储器。
  51. 根据权利要求35所述的图像处理芯片,其特征在于,所述DMA控制器与存储介质电连接,所述存储介质用于存储所述第一描述符和所述第二描述符。
  52. 一种可移动平台,其上搭载有图像处理芯片,其特征在于,所述图像处理芯片包括处理器、直接内存读取DMA控制器和第二存储器;
    所述第二存储器用于存储图像数据;
    所述DMA控制器包括读取模块和数据填充模块;
    所述读取模块用于基于第一描述符从第一存储器上读取图像数据,所述第一描述符用于指示所述图像数据的存储地址;
    所述数据填充模块用于基于第二描述符对所读取的图像数据进行填充,并将填充后的图像数据发送至第二存储器;所述第二描述符用于指示 需要填充的数据的位置和填充的数据量;
    所述处理器用于从所述第二存储器获取图像数据进行处理。
  53. 根据权利要求52所述的可移动平台,其特征在于,所述第一存储器为双倍速率DDR存储器。
  54. 根据权利要求52所述的可移动平台,其特征在于,所述第一描述符包括:
    描述所述图像数据在所述第一存储器中的首地址的参数;
    描述所述图像数据的总数据量的参数;
    描述所述图像数据的宽度的参数;
    描述所述图像数据中相邻两行的首地址间隔的参数。
  55. 根据权利要求52所述的可移动平台,其特征在于,所述第二描述符包括:
    描述在所述图像数据的边界位置填充的数据量的参数。
  56. 根据权利要求55所述的可移动平台,其特征在于,所述描述在所述图像数据的边界位置填充的数据量的参数包括:
    在所述图像数据首行的行首之前的位置填充的数据量的参数;
    在相邻两行图像数据之间的位置填充的数据量的参数;
    在所述图像数据末行的行尾之后的位置填充的数据量的参数。
  57. 根据权利要求55所述的可移动平台,其特征在于,所述第二描述符还包括描述发送至第二存储器的图像数据的宽度的参数。
  58. 根据权利要求55所述的可移动平台,其特征在于,所述第二描述符还包括所填充的数据的值的参数。
  59. 根据权利要求58所述的可移动平台,其特征在于,所述填充的数据的值为0。
  60. 根据权利要求52所述的可移动平台,其特征在于,所述DMA控制器还包括缓存模块,用于存储所述读取模块读取的图像数据,以使所述数据填充模块获取所述图像数据进行填充。
  61. 根据权利要求60所述的可移动平台,其特征在于,所述缓存模块为先进先出FIFO存储器。
  62. 根据权利要求60所述的可移动平台,其特征在于,所述读取模块包括:
    信号生成子模块,用于根据所述第一描述符生成数据请求信号;
    信号发送子模块,用于将所述数据请求信号发送给所述第一存储器。
  63. 根据权利要求62所述的可移动平台,其特征在于,所述读取模块还包括:
    第一缓存子模块,用于缓存从所述第一存储器获取的图像数据,并在缓存的数据量到达预设阈值时向所述信号生成子模块发出指示停止数据请求的信号。
  64. 根据权利要求63所述的可移动平台,其特征在于,所述读取模块还包括:
    第一对齐子模块,用于对所述第一缓存子模块缓存的图像数据进行对齐处理,并发送给所述缓存模块。
  65. 根据权利要求60所述的可移动平台,其特征在于,所述数据填充模块基于所述DMA控制器的运行状态进行数据填充;
    所述运行状态包括:
    指示所述缓存模块未写入缓存数据或正写入缓存数据的状态;
    指示所述缓存模块写入缓存数据完毕的状态;
    指示从所述缓存模块读取缓存数据完毕的状态。
  66. 根据权利要求65所述的可移动平台,其特征在于,所述数据填充模块包括:
    读取子模块,用于在所述指示所述缓存模块写入缓存数据完毕的状态下读取所述缓存模块中缓存的图像数据;
    填充数据生成子模块,用于在所述指示从所述缓存模块读取缓存数据完毕的状态下根据所述第二描述符生成所述图像数据的填充数据。
  67. 根据权利要求66所述的可移动平台,其特征在于,所述数据填充模块还包括:
    第二缓存子模块,用于缓存填充后的图像数据;
    第二对齐子模块,用于对所述第二缓存子模块缓存的图像数据进行对齐处理,并发送给所述第二存储器。
  68. 根据权利要求52所述的可移动平台,其特征在于,所述DMA控制器与存储介质电连接,所述存储介质用于存储所述第一描述符和所述第二描述符。
  69. 一种直接内存读取DMA控制器进行数据搬移的方法,其特征在于,包括:
    基于第一描述符从第一存储器上读取图像数据,所述第一描述符用于指示所述图像数据的存储地址;
    基于第二描述符对所读取的图像数据进行填充,并将填充后的图像数据发送至第二存储器;所述第二描述符用于指示需要填充的数据的位置和填充的数据量。
  70. 根据权利要求69所述的方法,其特征在于,所述第一描述符包括:
    描述所述图像数据在所述第一存储器中的首地址的参数;
    描述所述图像数据的总数据量的参数;
    描述所述图像数据的宽度的参数;
    描述所述图像数据中相邻两行的首地址间隔的参数。
  71. 根据权利要求69所述的方法,其特征在于,所述第二描述符包括:
    描述在所述图像数据的边界位置填充的数据量的参数。
  72. 根据权利要求71所述的方法,其特征在于,所述描述在所述图像数据的边界位置填充的数据量的参数包括:
    在所述图像数据首行的行首之前的位置填充的数据量的参数;
    在相邻两行图像数据之间的位置填充的数据量的参数;
    在所述图像数据末行的行尾之后的位置填充的数据量的参数。
  73. 根据权利要求71所述的方法,其特征在于,所述第二描述符还包括描述发送至第二存储器的图像数据的宽度的参数。
  74. 根据权利要求71所述的方法,其特征在于,所述第二描述符还包括所填充的数据的值的参数。
  75. 根据权利要求74所述的方法,其特征在于,所述填充的数据的值为0。
  76. 根据权利要求69所述的方法,其特征在于,所述方法还包括:
    根据所述第一描述符生成数据请求信号;
    将所述数据请求信号发送给所述第一存储器。
  77. 根据权利要求76所述的方法,其特征在于,所述方法还包括:
    缓存从所述第一存储器获取的图像数据,并在缓存的数据量到达预设阈值时停止生成数据请求信号。
  78. 根据权利要求77所述的方法,其特征在于,所述方法还包括:
    生成所缓存的图像数据的填充数据并进行填充;
    对填充后的图像数据进行对齐处理,并发送给所述第二存储器。
  79. 一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得所述计算机执行如权利要求69-78任一项所述的方法。
  80. 一种包含指令的计算机程序产品,其特征在于,当所述指令在计算机上运行时,使得所述计算机执行如权利要求69-78任一项所述的方法。
PCT/CN2020/102188 2020-07-15 2020-07-15 Dma控制器、电子设备、芯片、可移动平台、数据搬移方法 WO2022011614A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/102188 WO2022011614A1 (zh) 2020-07-15 2020-07-15 Dma控制器、电子设备、芯片、可移动平台、数据搬移方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/102188 WO2022011614A1 (zh) 2020-07-15 2020-07-15 Dma控制器、电子设备、芯片、可移动平台、数据搬移方法

Publications (1)

Publication Number Publication Date
WO2022011614A1 true WO2022011614A1 (zh) 2022-01-20

Family

ID=79555961

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/102188 WO2022011614A1 (zh) 2020-07-15 2020-07-15 Dma控制器、电子设备、芯片、可移动平台、数据搬移方法

Country Status (1)

Country Link
WO (1) WO2022011614A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499246A (zh) * 2008-02-01 2009-08-05 深圳安凯微电子技术有限公司 一种液晶显示控制芯片及液晶显示控制器
CN101552916A (zh) * 2009-05-05 2009-10-07 北京红旗胜利科技发展有限责任公司 视频yuv数据的dma传输方法、装置及dma控制器
CN102508800A (zh) * 2011-09-30 2012-06-20 北京君正集成电路股份有限公司 二维数据块的传输方法及系统
CN109040514A (zh) * 2017-06-09 2018-12-18 富士施乐株式会社 电子装置
CN110046116A (zh) * 2019-04-23 2019-07-23 上海燧原智能科技有限公司 一种张量填充方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499246A (zh) * 2008-02-01 2009-08-05 深圳安凯微电子技术有限公司 一种液晶显示控制芯片及液晶显示控制器
CN101552916A (zh) * 2009-05-05 2009-10-07 北京红旗胜利科技发展有限责任公司 视频yuv数据的dma传输方法、装置及dma控制器
CN102508800A (zh) * 2011-09-30 2012-06-20 北京君正集成电路股份有限公司 二维数据块的传输方法及系统
CN109040514A (zh) * 2017-06-09 2018-12-18 富士施乐株式会社 电子装置
CN110046116A (zh) * 2019-04-23 2019-07-23 上海燧原智能科技有限公司 一种张量填充方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US20190073132A1 (en) Method and system for active persistent storage via a memory bus
CN107077304B (zh) 数据转换设备、芯片、方法、装置及影像系统
US20190163364A1 (en) System and method for tcp offload for nvme over tcp-ip
US11403044B2 (en) Method and apparatus for performing multi-object transformations on a storage device
TWI596603B (zh) 用於快取壓縮資料之設備、系統及方法
TWI582785B (zh) 非揮發性記憶體裝置中之揮發性記憶體架構及相關控制器
TWI679538B (zh) 資料儲存系統之控制單元以及邏輯至物理映射表更新方法
CN107111452B (zh) 应用于计算机系统的数据迁移方法和装置、计算机系统
JP5090819B2 (ja) メモリーカード及び該データ格納方法
US8806071B2 (en) Continuous read burst support at high clock rates
US20190205059A1 (en) Data storage apparatus and operating method thereof
US11494318B2 (en) Controller and operation method thereof
KR20190019543A (ko) 데이터 저장 장치 및 그것의 동작 방법
US20190361627A1 (en) Memory device, control method thereof and recording medium
WO2022011614A1 (zh) Dma控制器、电子设备、芯片、可移动平台、数据搬移方法
JP2007164355A (ja) 不揮発性記憶装置、そのデータ読出方法及びそのデータ書込み方法
KR20190106005A (ko) 메모리 시스템, 그것의 동작 방법 및 전자 장치
CN112148626A (zh) 压缩数据的存储方法及其存储设备
US10198219B2 (en) Method and apparatus for en route translation in solid state graphics systems
TWI423682B (zh) 影像處理方法
US20220253238A1 (en) Method and apparatus for accessing solid state disk
KR101068829B1 (ko) 촬상 장치 및 이미지 회전 처리 방법
WO2019114044A1 (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
US20130013846A1 (en) Method for storing data and electronic apparatus using the same
TW201251458A (en) Method for storing image

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: 20945647

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: 20945647

Country of ref document: EP

Kind code of ref document: A1