Embodiments of the present invention relate to an image data processing method, an image display method, a data transmission apparatus and a storage medium.
Data communication is a communication mode produced by a combination of communication technologies and computer technologies. For example, depending on different transmission mediums, the data communication may include wired data communication and wireless data communication. For example, they all connect data terminals with computers through transmission channels, so that data terminals at different positions may implement the share of software, hardware and information resources.
At least one embodiment of the present disclosure provides an image data processing method, which includes: storing an object data set to be transmitted into a first cache space, in which the object data set comprises N pieces of consecutive image data sequentially arranged in a first order, recombining the N pieces of consecutive image data into M data subsets, in which each data subset comprises N/M pieces of image data which are not adjacent to each other, sequentially selected from the N pieces of consecutive image data according to a first rule, and transmitting the M data subsets. M is an integer greater than 1, and N is an integer multiple of M and greater than M.
For example, in the image data processing method provided by at least one embodiment of the present disclosure, the N pieces of consecutive image data sequentially arranged in the first order comprises N pieces of consecutive image data sequentially arranged in an order from a 1st piece to an Nth piece.
For example, the image data processing method provided by at least one embodiment of the present disclosure further includes: receiving the transmitted M data subsets, and extracting image data included in each of the M data subsets to a second cache. space. The N pieces of consecutive image data sequentially arranged in the first order is recovered based on the first rule in the second cache space.
For example, in the image data processing method provided by at least one embodiment of the present disclosure, after the N pieces of consecutive image data sequentially arranged in the first order is recovered based on the first rule in the second cache space, each piece of data in the second cache space is checked, and if image data with transmission error or lost image data occurs, according to an interpolation method, the image data with transmission error is modified or the lost image data is filled.
For example, in the image data processing method provided by at least one embodiment of the present disclosure, the first rule comprises: cyclically selecting the data subset with a period of L, in which L is an integer greater than 1.
For example, in the image data processing method provided by at least one embodiment of the present disclosure, the first cache space is a matrix cache space, and the matrix cache space comprises L*M pieces of image data.
For example, in the image data processing method provided by at least one embodiment of the present disclosure, selecting cyclically the data subset with the period of L comprises: in a column reverse order, outputting sequentially image data in a Mth column, a (M−1)th column, . . . , a (M−i)th column, . . . , and a 1st column of the matrix cache space as the data subset, respectively. Each column comprises L pieces of image data which are not adjacent to each other, and i is an integer greater than 1 and less than M.
For example, in the image data processing method provided by at least one embodiment of the present disclosure, after Lth image data in the (M−i)th column is written into the matrix cache space, image data in the (M−i)th column is output in parallel.
For example, in the image data processing method provided by at least one embodiment of the present disclosure, when the image data in the (M−i)th column is output in parallel, a parallel-to-serial conversion operation is performed on image data in a [M−(i−1)]th column so as to convert the image data in the [M−(i−1)]th column into serial data.
At least one embodiment of the present disclosure further provides an image display method, which includes: acquiring pixel data of an image to be displayed, transmitting the pixel data of the image to be displayed row by row using the image data processing method provided by any one embodiment above of the present disclosure, and outputting the pixel data row by row to a display panel for display.
At least one embodiment of the present disclosure further provides a data transmission apparatus, which includes: a cache unit, configured to store an object data set to be transmitted into a first cache space, in which the object data set comprises N pieces of consecutive image data sequentially arranged in a first order, a data subset selecting unit, configured to recombine N pieces of consecutive image data into M data subsets, in which each data subset comprises N/M pieces of image data which are not adjacent to each other, sequentially selected from the N pieces of consecutive image data according to a first rule, and a transmitting unit, configured to transmit the M data subsets. M is an integer greater than 1, and N is an integer multiple of M and greater than M.
For example, the data transmission apparatus provided by at least one embodiment of the present disclosure further includes: a reading unit, configured to receive the transmitted M data subsets, and extract image data included in each of the M data subsets to a second cache space. And the N pieces of consecutive image data sequentially arranged in the first order is recovered based on the first rule in the second cache space.
For example, the data transmission apparatus provided by at least one embodiment of the present disclosure further includes: a checking unit, configured to check each piece of image data in the second cache space, after the N pieces of consecutive image data sequentially arranged in e first order is recovered based on the first rule in the second cache space, and to modify image data with transmission error or fill lost image data according to an interpolation method, if the image data with transmission error or the lost image data occurs.
At least one embodiment of the present disclosure further provides a data transmission apparatus, which includes: a processor, a memory, and one or more computer program modules stored in the memory and configured to be executed by the processor. And the one or more computer program modules includes instructions for implementing the image data processing method according to any one embodiment of the present disclosure.
At least one embodiment of the present disclosure further provides a storage medium, which stores non-transitorily computer readable instructions that, when executed by a computer, cause to perform the instructions of the image data processing method according to any one embodiment of the present disclosure.
In order to clearly illustrate the technical solutions of the embodiments of the disclosure, the drawings of the embodiments will be briefly described in the following; it is obvious that the described drawings are only related to some embodiments of the disclosure and thus are not limitative of the disclosure.
In order to make objects, technical solutions and advantages of the embodiments of the present disclosure, the technical solutions of the embodiments of the present disclosure will be described clearly and completely in connection with the drawings related to the embodiments of the present disclosure. Apparently, the described embodiments are just a part but not all of the embodiments of the present disclosure. Based on the described embodiments herein, those skilled in the art can obtain other embodiment(s), without any inventive work, which should be within the scope of the present disclosure.
Unless otherwise defined, all the technical and scientific terms used herein have the same meanings as commonly understood by one of ordinary skill in the art to which the present disclosure belongs. The terms “first,” “second,” etc., which are used in the present disclosure, are not intended to indicate any sequence, amount or importance, but distinguish various components. Also, the terms “comprise,” “comprising,” “include,” “including,” etc., are intended to specify that the elements or the objects stated before these terms encompass the elements or the objects and equivalents thereof listed after these terms, but do not preclude the other elements or objects. The terms “connect”, “connected”, etc., are not intended to define a physical connection or mechanical connection, but may include an electrical connection, directly or indirectly. “On,” “under,” “right,” “left” and the like are only used to indicate relative position relationship, and when the position of the object which is described is changed, the relative position relationship may be changed accordingly.
The present disclosure will be described below through several specific embodiments. In order to keep the following description of the embodiments of the present disclosure clear and concise, detailed description of known functions and known components may be omitted. When any component of the embodiments of the present disclosure appears in more than one drawing, the component is denoted by a same or similar reference number in each drawing.
Generally, data communication may suppress channel noise by adding scrambling code, however the introduction of the scrambling code reduces the transmission efficiency of valid data. For example, a VR (Virtual Reality) device is taken as an example for illustrating. Because the scrambling code is added in the process of data transmission, the amount of data in the display part is continuously increasing, so that the transmission amount of data is further expanded and the operation power consumption of the device is increased. Further, for the scrambling code added in the transmission process, an anti−interference part needs to be added in a peripheral interface (such as HDMI, DP) part, thereby further improving the operation loss of the peripheral interface. In addition, the computing ability of processing units in VR system is limited, and the introduction of the scrambling code increases the workload of the processing units, which is adverse to reducing the operation power consumption and manufacturing cost of the device, and is adverse to improving the response speed of the device.
However, when pixel data is transmitted through the image data processing method illustrated in
At least one embodiment of the present disclosure provides an image data processing method, which includes: storing an object data set to be transmitted into a first cache space, in which the object data set comprises N pieces of consecutive image data sequentially arranged in a first order, recombining the N pieces of consecutive image data into M data subsets, in which each data subset comprises N/M pieces of image data which are not adjacent to each other sequentially selected from the N pieces of consecutive image data according to a first rule, and transmitting the M data subsets. And M is an integer greater than 1, and N is an integer multiple of M and greater than M.
At least one embodiment of the present disclosure also provides a data transmission apparatus, an image display method and a storage medium corresponding to the image data processing method described above.
The image data processing method provided by the embodiments of the present disclosure, by changing the data transmission sequence in the data transmission process, may reduce the influences of the interference such as channel noise and the like on transmission data, so that there is no need to occupy additional transmission bandwidth, the quality of the data received at a signal receiving terminal is improved, and the implementation process is simpler, thereby simplifying the subsequent signal processing process, reducing the operation power consumption and manufacturing cost of the device, and improving the response speed of the device.
The embodiments of the present disclosure and examples thereof will be described in detail below with reference to the accompanying drawings.
Next, an image data processing method provided by at least one embodiment of the present disclosure will be described with reference to
Step S110: an object data set to be transmitted is stored into a first cache space.
Step S120: N pieces of consecutive image data are recombined into M data subsets.
Step S130: the M data subsets are transmitted.
For example, M is an integer greater than 1, and N is an integer multiple of M and greater than M.
For step S110, for example, the object data set comprises N pieces of consecutive image data sequentially arranged in a first order. For example, the N consecutive data is one row of image data. For example, in addition to the N consecutive data, the object data set may also include other data, e.g. data for expressing various information such as compression methods, sender identifications, etc. For example, the N consecutive data includes any one or more rows of pixel data of the image to be displayed illustrated in
For example, the N consecutive data above is sequentially stored in the first cache space illustrated in
For example, by step S110, a row of data is stored as a matrix, which may be helpful to select data that is not adjacent to each other in subsequent steps for output in sequence.
For example, a cache unit may be provided and the object data set to be transmitted may be stored in the first cache space through the cache unit. For example, the cache unit may also be implemented by a central processing unit (CPU), an image processor (CPU), a tensor processor (TPU), a field programmable gate array (FPGA) or other forms of processing units having data processing capability and/or instruction executing capability and corresponding computer instructions.
For step S120, for example, each data subset comprises N/M data sequentially selected from the N pieces of consecutive image data according to a first rule, which is not adjacent to each other.
For example, an appropriate first rule may be selected so that N/M data which is not adjacent to each other may be sequentially selected from the N consecutive data. For example, the first rule includes: cyclically selecting the data subset with a period of L, that is, selecting L data as a data subset each time until all data is selected into the data subsets. Specifically, for example, data in a Mth column, a (M−1)th column, . . . , a (M−i)th column (i is an integer greater than 1. and less than M), and a 1st column of the matrix cache space is output sequentially in a column reverse order, and each column is taken as a data subset, respectively. For example, each column of data includes L (L=N/M) data that is not adjacent to each other, that is, a data subset may include a column of data in the matrix cache space, so that each piece of data in the data subset is not adjacent to each other.
As illustrated in
It should be noted that other selection methods may also be used to select a data subset, as long as the period of cyclically selecting the data subset is L, and the embodiments of the present disclosure are not limited to this. For example, the data subset may also be selected in a stepped (oblique) manner, and 1 data arranged in a step is selected in each row. For example, in a case of L=4, the data subset may include the [(3n/4)+1]th data in the 1st row, the [(n/2)+2]th data in the 2nd row, the [(n/4)+3]th data in the 3rd row (not illustrated in the figures), the 4th data in the 4th row (not illustrated in the figures); alternatively, the data subset may include the nth data in the 1st row, the [(3n/4)−1]th data in the 2nd row, the [(n/2)−2]th data in the 3rd row (not illustrated in the figures), and the [(n/4)−3]th data in the 4th row (not illustrated in the figures).
The following takes a data subset including the data of the (M−i)th column in the matrix cache space as an example for illustrating. The data of the other columns is the same as this and will not be repeated.
For example, after the Lth data in the (M−i)th column is written into the matrix cache space, the data in the (M−i)th column is output in parallel. For example, when the data in the (M−i)th column is output in parallel, a parallel-to-serial conversion operation is performed on data in the [M−(i−1)]th column so as to convert the data in the [M−(i−1)]th column into serial data. For example, the Mth column and the (M−1)th column (i.e. the two columns in the dashed box in
For example, as illustrated in
As illustrated in
For example, when data loss or transmission error occurs to the serial data stream transmitted through the above steps because of the interference such as channel noise and the like, since the transmitted pixel data is not adjacent to each other, the pixel data with transmission error or the lost pixel data is spaced pixel data instead of consecutive pixel data, thus the pixel data with transmission error or the lost pixel data may be recovered according to pixel data located in the address unit which is not lost in the original image and is adjacent to it. For example, by performing a mathematical fitting calculation on the pixel data adjacent to it, such as interpolation or the like, the data with transmission error is modified or the lost data is filled, similar to RGB (YCbCr4:4:4) converted to YCbCr4:2:0. Because the discrimination ability of human eyes is limited, a small part of differences do not damage the sensory impression of a picture. Therefore, this method does not affect the display effect of an image substantially, thereby reducing the influences caused by the interference such as channel noise in the process of data transmission and improving the display quality of the display panel.
For example, M represents an actual number of interleaved data, and M−1 represents intervals of the interleaved data. For example, when M=10 and N=n=40, each row of the first cache space illustrated in
For example, a data subset selecting unit may be provided, and the N consecutive data is recombined into the M data subsets through the data subset selecting unit. For example, the data subset selecting unit may also be implemented by a central processing unit (CPU), an image processor (GPU), a tensor processor (TPU), a field programmable gate array (FPGA) or other forms of processing units having data processing capability and/or instruction executing capability and corresponding computer instructions.
For step 5130, for example, the M data subsets may be transmitted in serial or parallel.
For example, a transmitting unit may be provided, and the M data subsets may be transmitted through the transmitting unit. For example, the transmitting unit may be a wired unit or a wireless transmitting unit. The wired transmission may be an electrical signal transmission apparatus or an optical signal transmission apparatus, the electrical signal transmission apparatus transmits data through, for example, a coaxial cable, and the optical signal transmission apparatus transmits data through, for example, an optical fiber, and they are based on respective related data transmission standards, such as synchronous digital hierarchy (SDH), dense wavelength division multiplexing (DWDM), etc. The wireless transmitting unit may be wireless communication apparatus based on various standards, such as WIFI, Bluetooth, ZigBee, infrared, 2G/3G/4G/5G mobile communication, etc. For example, the transmitting unit includes a central processing unit (CPU), an image processor (CPU), a tensor processor (TPU), a field programmable gate array (FPGA) or other forms of processing units having data processing capability and/or instruction execution capability, and corresponding computer instructions.
The image data processing method provided by the above embodiments of the present disclosure, by changing the data transmission sequence in the data transmission process, may reduce the influences of the interference such as channel noise and the like on transmission data, so that there is no need to occupy additional transmission bandwidth, the quality of the data received at a signal receiving terminal is improved, and the implementation process is simpler, thereby simplifying the subsequent signal processing process, reducing the operation power consumption and manufacturing cost of the device, and improving the response speed of the device.
Step S140: the transmitted M data subsets are received and data included in each of the M data subsets is extracted to a second cache space.
For example, the N consecutive data sequentially arranged in the first order is recovered based on the first rule in the second cache space, for example, such that the arrangement orders of the stored data in the second cache space and the first cache space are the same. For example, the second cache space is a matrix cache space and is the same as the first cache space. For example, this step is similar to decoding the serial data stream formed in the above steps S120 and S130 so as to recover it to the N consecutive data sequentially arranged in the first order, for example, as the arrangement in the matrix cache space. illustrated in
For example, a reading unit may be provided and the transmitted M data subsets are received through the reading unit, and data included in each of the M data subsets is extracted to a second cache space. For example, the reading unit may also be implemented by a central processing unit (CPU), an image processor (CPU), a tensor processor (TPU), a field programmable gate array (FPGA) or other forms of processing units having data processing capability and/or instruction executing capability and corresponding computer instructions.
Step S150: each piece of data in the second cache space is checked.
In the transmission process, because of the existence of the interference such as channel noise, the situation of data transmission error (a certain byte changes from 1 to 0, or from 0 to 1) or data loss may occur, so it is necessary to check the transmitted data (i.e. the data in the second cache space). For example, the check may be performed based on various data check methods, such as parity check, Homming check, cyclic redundancy code (CRC) check, etc. For example, the check may also be performed by comparing the data in the second cache space with the original data (e.g., the data in the first cache space) and then determining whether they are the same.
For example, a checking unit may be provided, and each piece of data in the second cache space is checked by the checking unit. For example, the checking unit may also be implemented by a central processing unit (CPU), an image processor (CPU), a tensor processor (TPU), a field programmable gate array (FPGA) or other forms of processing units having data processing capability and/or instruction executing capability and corresponding computer instructions.
Step S160: it is determined that whether there is data with transmission error or lost data in the second cache space, and if so, step S170 is performed.
For example, according to the data check result in step S150, it may be determined whether the situation of data transmission error or data loss occurs. For example, if the data in the second cache space is different from the original transmission data, it indicates that transmission error occurs in the transmission process of data. If the data in the second cache space is less than the original data, it indicates that the corresponding data is lost in the data transmission process.
Step S170: the data with transmission error is modified or the lost data is filled according to an interpolation method.
Since the transmitted pixel data is not adjacent to each other, the data with transmission error or the lost pixel data is spaced pixel data instead of consecutive pixel data, thus the pixel data with transmission error or the lost pixel data may be recovered according to pixel data located in the address unit which is not lost in the original image and is adjacent thereto. For example, by performing a mathematical fitting calculation on the pixel data adjacent to it, such as interpolation or the like, the data with transmission error is modified or the lost data is filled, so that the influences caused by the interference such as channel noise in the process of data transmission is reduced and the display quality of the display panel is improved. For example, when error occurs to a certain item of data, the arithmetic average of a previous item of data and a following item of data which are adjacent to the item of data is assigned to the item of data, and the new data is used for subsequent display operations.
For example, after the N consecutive data sequentially arranged in the first order is recovered based on the first rule in the second cache space, or after the above step S170, in order to perform display operations, it may further include: filtering the N consecutive data.
For example, commonly used filtering methods such as Gaussian filtering and median filtering may be used to filter the received data, thereby weakening the noise generated in the transmission process, improving the quality of the display data, and thus improving the display quality of the display panel.
It should be noted that in the embodiments of the present disclosure, flows of the image data processing method may include more or less operations, which may be performed sequentially or in parallel. Although the flows of the image data processing method described above include a plurality of operations appearing in a particular order, it should be clearly understood that the order of the plurality of operations is not limited. The image data processing method described above may be performed once, also may be performed multiple times according to predetermined conditions.
Step S210: pixel data of an image to be displayed is acquired.
For example, the pixel data matrix of the image to be displayed includes m*n pixel data (e.g., includes pixel data A1,1, A1,2, . . . , Am,n as illustrated in
Step S220: the pixel data of the image to be displayed is transmitted row by row.
For example, the pixel data of the image to be displayed may be transmitted row by row through the above-mentioned steps S110 to S170, so that the influences caused by the interference such as channel noise and the like in the data transmission process may be reduced. After each row of data is received and cached by a data driving circuit of a display panel, it is applied to one row of pixel cells for display in a row-by-row scanning display operation of the display panel, thereby obtaining higher display quality. The specific image data processing method may refer to the detail description of the above steps S110 to S170, and will not be repeated here.
Step S230: the pixel data is output row by row to a display panel for display.
For example, in step S220, the pixel data is transmitted row by row to the data driving circuit of the display panel. After a row of data signals are received and cached by the data driving circuit, the pixel data is output row by row to the corresponding row of pixel cells so as to implement the respective display of the display panel.
The technical effect of the image display method provided by the above embodiments of the present disclosure may refer to the technical effect of the image data processing method provided by the embodiments of the present disclosure and will not be repeated here.
The cache unit 110 is configured to store an object data set to be transmitted into a first cache space. For example, the object data set comprises N consecutive data sequentially arranged in a first order. For example, the cache unit 110 may implement step S110, and its specific implementation method may refer to the relevant description of step S110, which will not be repeated here.
The data subset selecting unit 120 is configured to recombine N pieces of consecutive image data into M data subsets. For example, each data subset comprises N/M pieces of image data which are not adjacent to each other, sequentially selected from the N consecutive data according to a first rule. For example, the data subset selecting unit 120 may implement step S120, and its specific implementation method may refer to the relevant description of step S120 and will not be repeated here.
The transmitting unit 130 is configured to transmit the M data subsets. For example, the transmitting unit 130 may implement step S130, and its specific implementation method may refer to the relevant description of step S130, which will not be repeated here.
For example, in another example, the data transmission apparatus 100 further includes a reading unit and a checking unit (not illustrated in the figures).
For example, the reading unit is configured to receive the transmitted M data subsets, and extract data included in each of the M data subsets to a second cache space. For example, the N consecutive data sequentially arranged in the first order is recovered based on the first rule in the second cache space. For example, the reading unit may implement step S140, and its specific implementation method may refer to the relevant description of step S140, which will not be repeated here.
The checking unit is configured to check each piece of image data in the second cache space, after the N consecutive data sequentially arranged in the first order is recovered based on the first rile in the second cache space. For example, if data with transmission error or lost data occurs, the data with transmission error may be modified or the lost data may be filled according to an interpolation method. For example, the checking unit may implement steps S150 to S170, and the specific implementation method may refer to the relevant description of steps S150 to S170, which will not be repeated here.
It should be noted that in the data transmission apparatus provided by the embodiments of the present disclosure, more or fewer circuits or units may be included, and a connection relationship between each circuit or unit is not limited and may be determined according to actual requirements. The specific configuration of each circuit is not limited, and each circuit may be composed of analog devices, digital chips, or other applicable manners according to circuit principles.
For example, the processor 210 and the memory 220 are connected through a bus system 230. For example, one or more computer program modules 221 are stored in the memory 220. For example, one or more computer program modules 221 include instructions for executing the image data processing method provided by any embodiment of the present disclosure. For example, instructions in one or more computer program modules 221 may be executed by the processor 210. For example, the bus system 230 may be a common serial or parallel communication bus, and the embodiments of the present disclosure are not limited to this.
For example, the processor 210 may be a central processing unit (CPU), an image processor (GPU), or other forms of processing units having data processing capability and/or instruction executing capability, may be a general purpose processor or a special purpose processor, and may control other components in the data transmission apparatus 200 for performing desired functions.
The memory 220 may include one or more computer program products, which may include various forms of computer readable storage media, such as a volatile memory and/or non-volatile memory. The volatile memory may include, for example, memory (RAM) and/or cache, etc. The non-volatile memory may include, for example, read only memory (ROM), hard disk, flash memory, etc. One or more computer program instructions may be stored on a computer readable storage medium, and the processor 210 may execute the program instructions so as to implement functions in the embodiments of the present disclosure (implemented by the processor 210) and/or other desired functions, such as image data processing methods, etc. Various application programs and various data may also be stored in the computer readable storage medium, e.g., various data subsets and various data used and/or generated by the application programs.
It should be noted that, for clarity and conciseness, the embodiments of the present disclosure do not provide all components of the data transmission device 200. In order to realize the necessary functions of the data transmission apparatus 200, those skilled in the art may provide and set other components not illustrated, according to specific requirements, and the embodiments of the present disclosure are not limited to this.
The technical effect of the data transmission apparatus 100 and the data transmission apparatus 200 in different embodiments may refer to the technical effect of the image data processing method provided by the embodiments of the, present disclosure, which will not be repeated here.
Some embodiments of the present disclosure also provide a storage medium.
For example, the storage medium may be any combination of one or more computer readable storage media. For example, one computer readable storage medium contains computer readable program code which stores an object data set to be transmitted into a first cache space, and another computer readable storage medium contains computer readable program code which extracts M data subsets. For example, when the program code is read by a computer, the computer may execute the program code stored in the computer storage medium for performing, for example, the image data processing method provided by any embodiment of the present disclosure.
For example, the storage medium may include a memory card of a smart phone, a storage component of a tablet computer, a hard disk of a personal computer, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a portable compact disk read-only memory (CD-ROM), a flash memory, or any combination of the above storage media, or other applicable storage media.
For the present disclosure, the following statements should be noted:
(1) The accompanying drawings involve only the structure(s) in connection with the embodiment(s) of the present disclosure, and for other structure(s), reference can be made to common design(s).
(2) The embodiments of the present disclosure and features in the embodiments may be combined with each other to obtain new embodiments if they do not conflict with each other.
The above description is only an exemplary implementation of the present disclosure, but the scope of the present disclosure is not limited to this, and the scope of the present disclosure is defined by the accompanying claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2019/070459 | 1/4/2019 | WO | 00 |